INTERNATIONAL ISO/IEC STANDARD 16022 Second edition 2006-09-15 Information technology — Automatic identification and data capture tsTeeycchmnhobnlogoiiqelsou dgee syl'in f—sorpm eaDticoani ft—iac TaMectahiontiqrnuie xs db'idaern ticficoatdione --`,,```,,,,````-`-`,,`,,`,`,,`--- automatique et de capture des données — Spécification de symbologie de code à barres Data Matrix Reference number ISO/IEC 16022:2006(E) Copyright International Org anization for Standardization © ISO/IEC 2006 Provided by IHS under lice nse with ISO No reproduction or networking permitted without license from IHS Not for Resale ISO/IEC 16022:2006(E) PDF disclaimer This PDF file may contain embedded typefaces. In accordance with Adobe's licensing policy, this file may be printed or viewed but shall not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In downloading this file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat accepts no liability in this area. Adobe is a trademark of Adobe Systems Incorporated. Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation parameters were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies. In the unlikely event that a problem relating to it is found, please inform the Central Secretariat at the address given below. © ISO/IEC 2006 All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means, electronic or mechanical, including photocopying and microfilm, without permission in writing from either ISO at the address below or ISO's member body in the country of the requester. ISO copyright office Case postale 56 • CH-1211 Geneva 20 Tel. + 41 22 749 01 11 Fax + 41 22 749 09 47 E-mail [email protected] Web www.iso.org Published in Switzerland ii --`,,```,,,,````-`-`,,`,,`,`,,`--- © ISO/IEC 2006 – All rights reserved Copyright International Organization for Standardization Provided by IHS under license with ISO No reproduction or networking permitted without license from IHS Not for Resale ISO/IEC 16022:2006(E) Contents Page Foreword...........................................................................................................................................................vii Introduction.....................................................................................................................................................viii 1 Scope.....................................................................................................................................................1 2 Normative references...........................................................................................................................1 3 Terms, definitions, symbols and abbreviated terms, and mathematical/logical notations..........2 3.1 Terms and definitions...........................................................................................................................2 3.2 Symbols and abbreviations.................................................................................................................2 3.3 Mathematical/logical notations...........................................................................................................3 4 Symbol description...............................................................................................................................3 4.1 Basic characteristics............................................................................................................................3 4.2 Summary of additional features..........................................................................................................4 4.3 Symbol structure..................................................................................................................................4 4.3.1 Finder pattern........................................................................................................................................5 4.3.2 Symbol sizes and capacities...............................................................................................................5 5 ECC 200 requirements..........................................................................................................................5 5.1 Encode procedure overview................................................................................................................5 5.2 Data encodation....................................................................................................................................6 5.2.1 Overview................................................................................................................................................6 5.2.2 Default character interpretation..........................................................................................................6 5.2.3 ASCII encodation..................................................................................................................................7 5.2.4 Symbology control characters............................................................................................................7 5.2.5 C40 encodation.....................................................................................................................................9 5.2.6 Text encodation..................................................................................................................................11 5.2.7 ANSI X12 encodation..........................................................................................................................11 5.2.8 EDIFACT encodation..........................................................................................................................12 5.2.9 Base 256 encodation..........................................................................................................................12 5.3 User considerations...........................................................................................................................13 5.3.1 User selection of Extended Channel Interpretation........................................................................13 5.3.2 User selection of symbol size and shape........................................................................................13 5.4 Extended Channel Interpretation......................................................................................................13 5.4.1 Encoding ECIs.....................................................................................................................................14 5.4.2 ECIs and Structured Append.............................................................................................................15 5.4.3 Post-decode protocol.........................................................................................................................15 5.5 ECC 200 symbol attributes................................................................................................................15 5.5.1 Symbol sizes and capacity................................................................................................................15 5.5.2 Insertion of Alignment Patterns into larger symbols......................................................................17 5.6 Structured Append.............................................................................................................................17 5.6.1 Basic principles..................................................................................................................................17 5.6.2 Symbol sequence indicator...............................................................................................................17 5.6.3 File identification................................................................................................................................18 5.6.4 FNC1 and Structured Append...........................................................................................................18 5.6.5 Buffered and unbuffered operation..................................................................................................18 5.7 Error detection and correction..........................................................................................................18 5.7.1 Reed-Solomon error correction........................................................................................................18 5.7.2 Generating the error correction codewords....................................................................................18 5.7.3 Error correction capacity...................................................................................................................19 5.8 Symbol construction..........................................................................................................................20 55..88..12 SAylimgnbmole cnht aPraatcteterrn pmlaocdeumlee nptla..c..e..m...e..n...t.............................................................................................................................................................................................22--`,,```,,,,````-`-`,,`,,`,`,,`---00 © ISO/IEC 2006 – All rights reserved iii Copyright International Organization for Standardization Provided by IHS under license with ISO No reproduction or networking permitted without license from IHS Not for Resale ISO/IEC 16022:2006(E) 5.8.3 Finder Pattern module placement.....................................................................................................20 6 ECC 000 - 140 requirements...............................................................................................................21 6.1 Use recommendations........................................................................................................................21 6.2 Encode procedure overview..............................................................................................................21 6.3 Data encodation..................................................................................................................................21 6.3.1 Base 11 - Numeric encodation...........................................................................................................23 6.3.2 Base 27 - Upper-case Alphabetic encodation..................................................................................23 6.3.3 Base 37 - Upper-case Alphanumeric encodation............................................................................23 6.3.4 Base 41 - Upper-case Alphanumeric plus Punctuation encodation..............................................24 6.3.5 ASCII encodation................................................................................................................................24 6.3.6 8-bit byte encodation..........................................................................................................................24 6.4 User selection of error correction level............................................................................................24 6.4.1 Selection of error correction level.....................................................................................................24 6.4.2 Other error correction levels based on convolutional code algorithms.......................................25 6.5 Constructing the Unprotected Bit Stream........................................................................................25 6.5.1 Format ID Bit Field..............................................................................................................................25 6.5.2 CRC Bit Field.......................................................................................................................................25 6.5.3 Data Length Bit Field..........................................................................................................................25 6.5.4 Data prefix construction.....................................................................................................................25 6.5.5 Completing the Unprotected Bit Stream...........................................................................................26 6.6 Constructing the Unrandomised Bit Stream....................................................................................26 6.6.1 Header construction...........................................................................................................................26 6.6.2 Applying convolutional coding to create the Protected Bit Stream..............................................26 6.6.3 Trailer construction............................................................................................................................27 6.6.4 Completing the Unrandomised Bit Stream.......................................................................................27 6.7 Pattern randomising...........................................................................................................................27 6.8 Module placement in matrix...............................................................................................................27 7 Symbol dimensions............................................................................................................................27 7.1 Dimensions..........................................................................................................................................27 7.2 Quiet zone............................................................................................................................................27 8 Symbol quality.....................................................................................................................................27 8.1 Symbol quality parameters................................................................................................................28 8.1.1 Fixed pattern damage.........................................................................................................................28 8.1.2 Scan grade and overall symbol grade..............................................................................................28 8.1.3 Grid non-uniformity............................................................................................................................28 8.2 Process control measurements.........................................................................................................28 9 Reference decode algorithm for Data Matrix...................................................................................28 10 User guidelines...................................................................................................................................38 10.1 Human readable interpretation..........................................................................................................38 10.2 Autodiscrimination capability............................................................................................................38 10.3 System considerations.......................................................................................................................38 111111111111..... 14325 --`,,```,,,,````-`-`,,`,,`,`,,`--- TPPPPSrrrrryaoooomnttttoooobsccccomooooloillllt gtffffeooooydrrrr i FMFEddNeNCaantCCIcastr11i .of( . iE(.i e.ncE.Cr.h C..tC..ha..C.. re..2 a.. 2..0sc..0..0et..0..e c..o ..roo..sn...n.n l..iy..dln..y).. ..)pt......h.o........es........ i....ft....i....ir....os........nt........ ....p(....E....o........Cs........iC....t....i.... o....2....n....0........ 0....(....E ....o....C....n........Cl....y.... ....)2...........0..........0........... .....o...........n..........l.....y..........)...............................................................................................................................................................................................................................................................................................333333898988 11.6 Transmitted data example..................................................................................................................39 Annex A (normative) ECC 200 interleaving process......................................................................................40 A.1 Schematic illustration.........................................................................................................................40 A.2 Starting sequence for interleaving in different sized symbols......................................................40 Annex B (normative) ECC 200 pattern randomising......................................................................................43 B.1 253-state algorithm.............................................................................................................................43 B.1.1 253-state randomising algorithm.......................................................................................................43 B.1.2 253-state un-randomising algorithm.................................................................................................43 B.2 255-state algorithm.............................................................................................................................44 iv © ISO/IEC 2006 – All rights reserved Copyright International Organization for Standardization Provided by IHS under license with ISO No reproduction or networking permitted without license from IHS Not for Resale ISO/IEC 16022:2006(E) B.2.1 255-state randomising algorithm......................................................................................................44 B.2.2 255-state un-randomising algorithm.................................................................................................44 Annex C (normative) ECC 200 encodation character sets............................................................................45 C.1 C40 encodation character set............................................................................................................45 C.2 Text encodation character set...........................................................................................................46 C.3 EDIFACT encodation character set...................................................................................................47 Annex D (normative) ECC 200 alignment patterns........................................................................................48 Annex E (normative) ECC 200 Reed-Solomon error detection and correction..........................................50 E.1 Error correction codeword generator polynomials.........................................................................50 E.2 Error correction calculation...............................................................................................................52 E.3 Calculation of error correction codewords......................................................................................53 Annex F (normative) ECC 200 symbol character placement........................................................................55 F.1 Symbol character placement.............................................................................................................55 F.2 Symbol character placement rules...................................................................................................57 F.2.1 Non-standard symbol character shapes..........................................................................................57 F.2.2 Symbol character arrangement.........................................................................................................60 F.3 Symbol character placement examples for ECC 200......................................................................63 Annex G (normative) ECC 000 - 140 symbol attributes.................................................................................68 G.1 ECC 000...............................................................................................................................................68 G.2 ECC 050...............................................................................................................................................69 G.3 ECC 080...............................................................................................................................................70 G.4 ECC 100...............................................................................................................................................71 G.5 ECC 140...............................................................................................................................................72 Annex H (normative) ECC 000 - 140 data module placement grids.............................................................73 Annex I (normative) ECC 000 - 140 character encodation schemes............................................................90 I.1 Base 11 encodation scheme..............................................................................................................94 I.1.1 First stage procedure.........................................................................................................................94 I.1.2 Second stage procedure....................................................................................................................94 I.1.3 Example...............................................................................................................................................94 I.2 Base 27 encodation scheme..............................................................................................................95 I.2.1 First stage procedure.........................................................................................................................95 I.2.2 Second stage procedure....................................................................................................................95 I.2.3 Example...............................................................................................................................................95 I.3 Base 37 encodation scheme..............................................................................................................96 I.3.1 First stage procedure.........................................................................................................................96 I.3.2 Second stage procedure....................................................................................................................96 I.3.3 Example...............................................................................................................................................96 I.4 Base 41 encodation scheme..............................................................................................................97 I.4.1 First stage procedure.........................................................................................................................97 I.4.2 Second stage procedure....................................................................................................................97 I.4.3 Example...............................................................................................................................................97 AJJJA...nn132nn eexx JKCCC (RR(RnnCCCoor rms2pmt-oaabaltttyyiievvtne eemo) ) hm EaEecCiCaahCdlCi.ne . 0.0er.0..0...0...0... ... -...- ... 1...1...4...4...0...0... ... C...e......Rr...r...C...o......r ...a ...c...l...gh......o...e.....r.c...i...kt...h...i...nm......g...... ....a........n........d........ ....c........o............r....r....e........c........t........i....n........g........ ....a........l....g........o............r....i....t....h........m................s..........................................................................................................................................................................................................1....9990988808 --`,,```,,,,````-`-`,,`,,`,`,,`--- K.1 ECC 000.............................................................................................................................................100 K.2 ECC 050.............................................................................................................................................100 K.3 ECC 080.............................................................................................................................................100 K.4 ECC 100.............................................................................................................................................100 K.5 ECC 140.............................................................................................................................................100 K.6 Processing the convolutional code................................................................................................100 K.7 Convolutional codes reference decode algorithm........................................................................101 Annex L (normative) ECC 000 - 140 Master Random Bit Stream (in hexadecimal)..................................104 © ISO/IEC 2006 – All rights reserved v Copyright International Organization for Standardization Provided by IHS under license with ISO No reproduction or networking permitted without license from IHS Not for Resale ISO/IEC 16022:2006(E) Annex M (normative) Data Matrix print quality – symbology-specific aspects........................................105 M.1 Data Matrix Fixed Pattern Damage..................................................................................................105 M.1.1 Features to be assessed..................................................................................................................105 M.1.2 Grading of the outside L of the fixed pattern.................................................................................105 M.1.3 Grading of the clock track and adjacent solid area segments.....................................................107 M.1.4 Calculation and grading of average grade.....................................................................................111 M.2 Scan grade.........................................................................................................................................112 Annex N (normative) Symbology identifier...................................................................................................113 Annex O (informative) ECC 200 encode example.........................................................................................114 Annex P (informative) Encoding data using the minimum symbol data characters for ECC 200...........116 Annex Q (informative) ECC 000 - 140 encode example using ECC 050.....................................................120 Q.1 Encode example................................................................................................................................120 Q.2 CRC calculation for example...........................................................................................................125 Annex R (informative) Useful process control techniques.........................................................................128 R.1 Symbol contrast................................................................................................................................128 R.2 Special reference symbol.................................................................................................................128 R.3 Assessing Axial Nonuniformity.......................................................................................................129 R.4 Visual inspection for symbol distortion and defects....................................................................129 Annex S (informative) Autodiscrimination capability..................................................................................130 Annex T (informative) System considerations.............................................................................................131 Bibliography...................................................................................................................................................132 --`,,```,,,,````-`-`,,`,,`,`,,`--- vi © ISO/IEC 2006 – All rights reserved Copyright International Organization for Standardization Provided by IHS under license with ISO No reproduction or networking permitted without license from IHS Not for Resale ISO/IEC 16022:2006(E) Foreword ISO (the International Organization for Standardization) and IEC (the International Electrotechnical Commission) form the specialized system for worldwide standardization. National bodies that are members of ISO or IEC participate in the development of International Standards through technical committees established by the respective organization to deal with particular fields of technical activity. ISO and IEC technical committees collaborate in fields of mutual interest. Other international organizations, governmental and non-governmental, in liaison with ISO and IEC, also take part in the work. In the field of information technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1. International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2. The main task of the joint technical committee is to prepare International Standards. Draft International Standards adopted by the joint technical committee are circulated to national bodies for voting. Publication as an International Standard requires approval by at least 75 % of the national bodies casting a vote. Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights. ISO/IEC 16022 was prepared by Joint Technical Committee ISO/IEC JTC 1, Information technology, Subcommittee SC 31, Automatic identification and data capture techniques. This second edition cancels and replaces the first edition (ISO/IEC 16022:2000), which has been technically revised. It also incorporates the Technical Corrigendum ISO/IEC 16022:2000/Cor.1:2004. --`,,```,,,,````-`-`,,`,,`,`,,`--- © ISO/IEC 2006 – All rights reserved vii Copyright International Organization for Standardization Provided by IHS under license with ISO No reproduction or networking permitted without license from IHS Not for Resale ISO/IEC 16022:2006(E) Introduction Data Matrix is a two-dimensional matrix symbology which is made up of nominally square modules arranged within a perimeter finder pattern. Though primarily shown and described in this International Standard as a dark symbol on light background, Data Matrix symbols can also be printed to appear as light on dark. Manufacturers of bar code equipment and users of the technology require publicly available standard symbology specifications to which they can refer when developing equipment and application standards. The publication of standardised symbology specifications is designed to achieve this. --`,,```,,,,````-`-`,,`,,`,`,,`--- viii © ISO/IEC 2006 – All rights reserved Copyright International Organization for Standardization Provided by IHS under license with ISO No reproduction or networking permitted without license from IHS Not for Resale INTERNATIONAL STANDARD ISO/IEC 16022:2006(E) Information technology — Automatic identification and data capture techniques — Data Matrix bar code symbology specification 1 Scope This International Standard defines the requirements for the symbology known as Data Matrix. It specifies the Data Matrix symbology characteristics, data character encodation, symbol formats, dimensions and print quality requirements, error correction rules, decoding algorithm, and user-selectable application parameters. It applies to all Data Matrix symbols produced by any printing or marking technology. 2 Normative references The following referenced documents are indispensable for the application of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies. ISO/IEC 15424, Information technology — Automatic identification and data capture techniques — Data Carrier Identifiers (including Symbology Identifiers) ISO/IEC 19762-1, Information technology — Automatic identification and data capture (AIDC) techniques — Harmonized vocabulary — Part 1: General terms relating to AIDC ISO/IEC 19762-2, Information technology — Automatic identification and data capture (AIDC) techniques — Harmonized vocabulary — Part 2: Optically readable media (ORM) ISO/IEC 15415, Information technology — Automatic identification and data capture techniques — Bar code print quality test specification — Two-dimensional symbols ISO/IEC 15416, Information technology — Automatic identification and data capture techniques — Bar code print quality test specification — Linear symbols ISO/IEC 646:1991, Information technology — ISO 7-bit coded character set for information interchange ISO/IEC 8859-1, Information technology — 8-bit single-byte coded graphic character sets — Part 1: Latin alphabet No. 1 ISO/IEC 8859-5:1999, Information technology — 8-bit single-byte coded graphic character sets — Part 5: Latin/Cyrillic alphabet AIM Inc. ITS/04-001 International Technical Standard: Extended Channel Interpretations — Part 1: Identification Schemes and Protocol --`,,```,,,,````-`-`,,`,,`,`,,`--- © ISO/IEC 2006 – All rights reserved 1 Copyright International Organization for Standardization Provided by IHS under license with ISO No reproduction or networking permitted without license from IHS Not for Resale ISO/IEC 16022:2006(E) 3 Terms, definitions, symbols and mathematical/logical notations 3.1 Terms and definitions For the purposes of this document, the terms and definitions given in ISO/IEC 19762-1, ISO/IEC 19762-2 and the following apply. 3.1.1 codeword symbol character value, an intermediate level of coding between source data and the graphical encodation in the symbol 3.1.2 module single cell in a matrix symbology used to encode one bit of data, nominally a square shape in Data Matrix 3.1.3 convolutional coding error checking and correcting (ECC) algorithm that processes a set of input bits into a set of output bits that can recover from damage by breaking the input bits into blocks, then convolving each input block with the contents of a multi-stage shift register to produce protected output blocks NOTE These encoders can be constructed in hardware using input and output switches, shift registers, and exclusive-or (XOR) gates. 3.1.4 pattern randomising procedure to convert an original bit pattern to another bit pattern, intended to reduce the probability of repeating patterns occurring in the symbol, by inverting selected bits 3.2 Symbols For the purposes of this document, the following mathematical symbols apply unless defined locally. d number of error correction codewords e number of erasures k (for ECC 000 - 140) the number of bits in a complete segment input to the state machine to generate the convolutional code (for ECC 200) total number of error correction codewords m the memory order of the convolutional code n (for ECC 000 - 140) the number of bits in a complete segment generated by the state machine producing the convolutional code (for ECC 200) total number of data codewords N the numerical base in an encodation scheme p number of codewords reserved for error detection S symbol character t number of errors u the input bit segment to the state machine, taken k bits at a time v the output bit segment from the state machine, generated n bits at a time --`,,```,,,,````-`-`,,`,,`,`,,`--- 2 © ISO/IEC 2006 – All rights reserved Copyright International Organization for Standardization Provided by IHS under license with ISO No reproduction or networking permitted without license from IHS Not for Resale