Wednesday 24 October 2012

QR Codes - Technical Details

 A QR Code is a matrix code developed and released primarily to be a symbol that is easily interpreted by scanner equipment. It contains information in both vertical and horizontal directions, whereas a classical barcode has only one direction of data (usually the vertical one). Compared to a 1D (1 Dimensional) barcode, a QR Code can hold a considerably greater volume of information: 7,089 characters for numeric only, 4,296 characters for alphanumeric data, 2,953 bytes of binary (8 bits) and 1,817 characters of Japanese Kanji/Kana symbols.





Finder Pattern (1): The Finder pattern consists of three identical structures that are located in all corners of the QR Code except the bottom right one. Each pattern is based on a 3x3 matrix of black modules (red in diagram for illustration purposes) surrounded by white modules that are again surrounded by black modules. The Finder Patterns enable the decoder software to recognize the QR Code and determine the correct orientation.

Separators (2): The white separators have a width of one pixel and improve the recognisability of the Finder Patterns as they separate them from the actual data.

Timing Pattern (3): Alternating black and white modules in the Timing Pattern enable the decoder software to determine the width of a single module.

Alignment Patterns (4): Alignment Patterns support the decoder software in compensating for moderate image distortions. Version 1 QR Codes do not have Alignment Patterns. With growing size of the code, more Alignment Patterns are added.

Format Information (5): The Formation Information section consists of 15 bits next to the separators and stores information about the error correction level of the QR Code and the chosen masking pattern.

Data (6): Data is converted into a bit stream and then stored in 8 bit parts (called codewords) in the data section.

 Error Correction (7): Similar to the data section, error correction codes are stored in 8 bit long codewords. (discussed later)

Remainder Bits (8): This section consists of empty bits if data and error correction bits can not be divided into 8 bit codewords without remainder.

The entire QR Code has to be surrounded by the so-called Quiet Zone (also called the buffer zone), an area in the same colour shade as white modules, to improve code recognition by the decoder software.

2 comments:

  1. Great article, would you like to share it on my blog, www.qrcartist.com as a guest blogger

    ReplyDelete
  2. Yes, please feel free to share : )

    ReplyDelete