Extended Channel Interpretation

Last updated

Extended Channel Interpretation (ECI) is an extension to the communication protocol that is used to transmit data from a bar code reader to a host when a bar code symbol is scanned. It enables the application software to receive additional information about the intended interpretation of the message contained within the barcode symbol and even details about the scan itself. ECI was developed as a symbology-independent extension of the Global Label Identifier (GLI) system used in the PDF417 bar code.

Contents

Description

In the default mode, where Extended Channel Interpretation is not in effect, the interface between the reader and the host is said to be in "Basic Channel Mode". In this mode, each octet of transmitted data is defined (by the corresponding bar code symbology standard) to correspond directly to a single data character code point in some default character set, normally ISO/IEC 8859-1 (Latin-1).

However, when ECI is in effect, the data interface is said to be in "Extended Channel Mode". In this mode the interpretation of the transmitted data is defined by the current ECI modes that are enabled, which are activated and deactivated by "ECI indicators" included in the transmitted data.

Within the data transmission protocol the use of ECI is indicated explicitly by a modification to the symbology indicator that the decoder will recognize and interpret accordingly in order to disambiguate between ECI and non-ECI encoded messages. If the reader is not ECI enabled or the application does not support the ECI indicators that are in effect then the scan should be aborted.

The ECI information is not part of the ultimate bar code message and its use is normally transparent to the user in basic image scanning scenarios. The application presents the user with the intended message, but it does not normally render the various ECI indicators that were used to derive this message or to provide annotation or additional metadata. For advanced applications (including system debugging and data validation) the ECI information may be rendered inline with the bar code message or extracted and presented separately.

Types of ECI indicator

ECI indicators may be included at various points in the transmitted message, and may be either of "encodable" type or of "non-encodable" or "signal" type.

Encodable ECIs
These indicators are part of the message and define the format for all or part of the data, such as the intended character set or the data compression scheme that is in effect such as Gzip.
Signal ECIs
These indicators are not part of the message and they may either be embedded in the bar code symbol separately from the message or may not be present in the symbol at all but added by the reader at scan time. Signal ECIs are used to convey information about the processing of the data, such as whether it is a fragment of a multi-symbol scan process, whether an error condition occurred during reading, or even to provide environment information such as what ambient light level was measured or provide a low-battery indication.

Common use case: Enable support for international character sets

The most common use for Extended Channel Interpretation is to allow usually unsupported national character sets such as Arabic, Greek, or Japanese to be used reliably in bar code symbols. [1] An ECI-enabled bar code symbol may use several character sets by embedding several character set ECI indicators to delimit segments of the message that are encoded using different code pages.

For most barcode symbologies, the default code page (if not specified by ECI) is ISO/IEC 8859-1 (also known as Latin-1) as shown in bold below. Well-known ECI values, which are commonly used to indicate that a message segment is encoded using a specific code page or character encoding: [2] [3]

Interpretative character set ECI indicator to code pages (or encodings)
ECI indicatorCode page or encodingNotes
\000000, \000002 Code page 437
\000001, \000003 ISO/IEC 8859-1 Latin-1
\000004 ISO/IEC 8859-2 Latin-2
\000005 ISO/IEC 8859-3 Latin-3
\000006 ISO/IEC 8859-4 Latin-4
\000007 ISO/IEC 8859-5 Latin/Cyrillic
\000008 ISO/IEC 8859-6 Latin/Arabic
\000009 ISO/IEC 8859-7 Latin/Greek
\000010 ISO/IEC 8859-8 Latin/Hebrew
\000011 ISO/IEC 8859-9 Latin-5
\000012 ISO/IEC 8859-10 Latin-6
\000013 ISO/IEC 8859-11 Latin/Thai
\000014Reversed
\000015 ISO/IEC 8859-13 Latin-7
\000016 ISO/IEC 8859-14 Latin-8 (Celtic)
\000017 ISO/IEC 8859-15 Latin-9
\000018 ISO/IEC 8859-16 Latin-10
\000019Reversed
\000020 Shift JIS
\000021 Windows-1250 Superset of Latin-2
\000022 Windows-1251 Latin/Cyrillic
\000023 Windows-1252 Superset of Latin-1
\000024 Windows-1256 Arabic
\000025 UTF-16 Big endian
\000026 UTF-8
\000027 ISO/IEC 646:1991 IRV US-ASCII
\000028 Big5
\000029 GB/T 2312
\000030 KS X 1001
\000031 GBK
\000032 GB 18030
\000033 UTF-16 Little endian
\000034 UTF-32 Big endian
\000035 UTF-32 Little endian
\000170 ISO/IEC 646 INV
\0008998-bit binary data

Related Research Articles

ISO/IEC 8859 is a joint ISO and IEC series of standards for 8-bit character encodings. The series of standards consists of numbered parts, such as ISO/IEC 8859-1, ISO/IEC 8859-2, etc. There are 15 parts, excluding the abandoned ISO/IEC 8859-12. The ISO working group maintaining this series of standards has been disbanded.

ISO/IEC 8859-15:1999, Information technology — 8-bit single-byte coded graphic character sets — Part 15: Latin alphabet No. 9, is part of the ISO/IEC 8859 series of ASCII-based standard character encodings, first edition published in 1999. It is informally referred to as Latin-9. It is similar to ISO 8859-1, and thus also intended for “Western European” languages, but replaces some less common symbols with the euro sign and some letters that were deemed necessary: This encoding is by far most used, close to half the use, by German, though this is the least used encoding for German.

<span class="mw-page-title-main">Barcode</span> Optical machine-readable representation of data

A barcode or bar code is a method of representing data in a visual, machine-readable form. Initially, barcodes represented data by varying the widths, spacings and sizes of parallel lines. These barcodes, now commonly referred to as linear or one-dimensional (1D), can be scanned by special optical scanners, called barcode readers, of which there are several types. Later, two-dimensional (2D) variants were developed, using rectangles, dots, hexagons and other patterns, called matrix codes or 2D barcodes, although they do not use bars as such. 2D barcodes can be read using purpose-built 2D optical scanners, which exist in a few different forms. 2D barcodes can also be read by a digital camera connected to a microcomputer running software that takes a photographic image of the barcode and analyzes the image to deconstruct and decode the 2D barcode. A mobile device with a built-in camera, such as smartphone, can function as the latter type of 2D barcode reader using specialized application software.

<span class="mw-page-title-main">Code 39</span> Variable length, discrete barcode symbology

Code 39 is a variable length, discrete barcode symbology defined in ISO/IEC 16388:2007.

<span class="mw-page-title-main">Barcode reader</span> Electronic device

A barcode reader or barcode scanner is an optical scanner that can read printed barcodes, decode the data contained in the barcode to a computer. Like a flatbed scanner, it consists of a light source, a lens and a light sensor for translating optical impulses into electrical signals. Additionally, nearly all barcode readers contain decoder circuitry that can analyse the barcode's image data provided by the sensor and send the barcode's content to the scanner's output port.

<span class="mw-page-title-main">PDF417</span> Type of barcode

PDF417 is a stacked linear barcode format used in a variety of applications such as transport, identification cards, and inventory management. "PDF" stands for Portable Data File. The "417" signifies that each pattern in the code consists of 4 bars and spaces in a pattern that is 17 units (modules) long. The PDF417 symbology was invented by Dr. Ynjiun P. Wang at Symbol Technologies in 1991. It is defined in ISO 15438.

<span class="mw-page-title-main">Aztec Code</span> Type of matrix barcode

The Aztec Code is a matrix code invented by Andrew Longacre, Jr. and Robert Hussey in 1995. The code was published by AIM, Inc. in 1997. Although the Aztec Code was patented, that patent was officially made public domain. The Aztec Code is also published as ISO/IEC 24778:2008 standard. Named after the resemblance of the central finder pattern to an Aztec pyramid, Aztec Code has the potential to use less space than other matrix barcodes because it does not require a surrounding blank "quiet zone".

<span class="mw-page-title-main">MaxiCode</span> Machine-readable symbol system

MaxiCode is a public domain, machine-readable symbol system originally created by the United Parcel Service (UPS) in 1992. Suitable for tracking and managing the shipment of packages, it resembles an Aztec Code or QR code, but uses dots arranged in a hexagonal grid instead of square grid. MaxiCode has been standardised under ISO/IEC 16023.

<span class="mw-page-title-main">Code 128</span> Barcode format

Code 128 is a high-density linear barcode symbology defined in ISO/IEC 15417:2007. It is used for alphanumeric or numeric-only barcodes. It can encode all 128 characters of ASCII and, by use of an extension symbol (FNC4), the Latin-1 characters defined in ISO/IEC 8859-1.. It generally results in more compact barcodes compared to other methods like Code 39, especially when the texts contain mostly digits. Code 128 was developed by the Computer Identics Corporation in 1981.

<span class="mw-page-title-main">QR code</span> Type of matrix barcode

A QR code is a type of two-dimensional matrix barcode, invented in 1994, by Japanese company Denso Wave for labelling automobile parts. A barcode is a machine-readable optical image that contains information specific to the labelled item. In practice, QR codes contain data for a locator, an identifier, and web tracking. To efficiently store data, QR codes use four standardized modes of encoding (i) numeric, (ii) alphanumeric, (iii) byte or binary, and (iv) kanji.

<span class="mw-page-title-main">Data Matrix</span> Two-dimensional matrix barcode

A Data Matrix is a two-dimensional code consisting of black and white "cells" or dots arranged in either a square or rectangular pattern, also known as a matrix. The information to be encoded can be text or numeric data. Usual data size is from a few bytes up to 1556 bytes. The length of the encoded data depends on the number of cells in the matrix. Error correction codes are often used to increase reliability: even if one or more cells are damaged so it is unreadable, the message can still be read. A Data Matrix symbol can store up to 2,335 alphanumeric characters.

The C0 and C1 control code or control character sets define control codes for use in text by computer systems that use ASCII and derivatives of ASCII. The codes represent additional information about the text, such as the position of a cursor, an instruction to start a new line, or a message that the text has been received.

A card reader is a data input device that reads data from a card-shaped storage medium. The first were punched card readers, which read the paper or cardboard punched cards that were used during the first several decades of the computer industry to store information and programs for computer systems. Modern card readers are electronic devices that can read plastic cards embedded with either a barcode, magnetic strip, computer chip or another storage medium.

<span class="mw-page-title-main">High Capacity Color Barcode</span>

High Capacity Color Barcode (HCCB) is a technology developed by Microsoft for encoding data in a 2D "barcode" using clusters of colored triangles instead of the square pixels conventionally associated with 2D barcodes or QR codes. Data density is increased by using a palette of 4 or 8 colors for the triangles, although HCCB also permits the use of black and white when necessary. It has been licensed by the ISAN International Agency for use in its International Standard Audiovisual Number standard, and serves as the basis for the Microsoft Tag mobile tagging application.

<span class="mw-page-title-main">David Allais</span> American expert and inventor (born 1933)

David Allais is an American expert and inventor in the fields of bar coding and automatic identification and data capture. As vice president and later president and chief executive officer of Everett, Washington-based Intermec Inc. (NYSE:IN), he built the company from a small startup into the leading manufacturer of bar code and printing equipment. Prior to Allais' role at Intermec, he served as a manager for IBM. Most recently, Allais founded PathGuide Technologies, a Bothell, Washington-based developer of warehouse management systems for distributors.

<span class="mw-page-title-main">GS1 DataBar Coupon</span>

The GS1 Databar Coupon code has been in use in retail industry since the mid-1980s. At first, it was a UPC with system ID 5. Since UPCs cannot hold more than 12 digits, it required another bar code to hold additional information like offer code, expiration date and household ID numbers. Therefore, the code was often extended with an additional UCC/EAN 128 bar code. EAN 13 was sometimes used instead of UPC, and because it starts with 99, it was called the EAN 99 coupon barcode, and subsequently GS1 DataBar. After more than 20 years in use, there is now a need to encode more data for complex coupons, and to accommodate longer company IDs, so the traditional coupon code has become less efficient and sometimes not usable at all.

Barcode library or Barcode SDK is a software library that can be used to add barcode features to desktop, web, mobile or embedded applications. Barcode library presents sets of subroutines or objects which allow to create barcode images and put them on surfaces or recognize machine-encoded text / data from scanned or captured by camera images with embedded barcodes. The library can support two modes: generation and recognition mode, some libraries support barcode reading and writing in the same way, but some libraries support only one mode.

Industrial 2 of 5. is a variable length, discrete, two width symbology. Industrial 2 of 5 is a subset of two-out-of-five codes.

<span class="mw-page-title-main">Codablock</span>

Codablock is a family of stacked 1D barcodes which was invented in Identcode Systeme GmbH in Germany in 1989 by Heinrich Oehlmann. Codablock barcodes are based on stacked Code 39 and Code 128 symbologies and have some advantages of 2D barcodes.

<span class="mw-page-title-main">Matrix 2 of 5</span>

Matrix 2 of 5 is a variable length, discrete, two width symbology. Matrix 2 of 5 is a subset of two-out-of-five codes. Unlike Industrial 2 of 5 code, Matrix 2 of 5 can encode data not only with black bars but with white spaces.

References