Rectangular Micro QR Code

Last updated
Rectangular Micro QR Code (rMQR Code) version R17x43 Rectangular Micro QR Code Example R17x43.svg
Rectangular Micro QR Code (rMQR Code) version R17x43

Rectangular Micro QR Code (also known as rMQR Code) is two-dimensional (2D) matrix barcode invented and standardized in 2022 [1] by Denso Wave as ISO/IEC 23941. [2] rMQR Code is designed as a rectangular variation of QR code and has the same parameters and applications as original QR code. But rMQR Code is more suitable for the rectangular areas and has difference between width and height up to 19 in R7x139 version. In this way it can be used in places where 1D barcodes are used. rMQR Code can replace Code 128 and Code 39 barcodes with more effective data encoding.

Contents

rMQR Code consists of black squares and white square spaces arranged in a square grid on a white background. It has one finder pattern in left-top corner the same as in QR Code and small finder sub-pattern in right-bottom corner. Also, it has alignment and timing patterns to help with recognition. rMQR Code has Reed–Solomon error correction with ability to restore data from corrupted barcodes. As other 2D matrix barcodes it can be read with camera-based readers.

As original QR code, rMQR Code can encode Unicode characters with Extended Channel Interpretation feature, bytes array and can natively encode Japanese characters in kanji encoding. In maximal R17x139 version rMQR Code can encode up to 361 numeric, 219 alphanumeric, 150 bytes and 92 kanji characters. [3]

History and application

rMQR Code was invented by Denso Wave company in 2022 and standardized as ISO/IEC 23941. It is an extension of QR Code for rectangular areas and designed to be a replacement of 1D barcodes. [4]

rMQR Code is a novel barcode and at this time it not widely used, but it can unite QR Code features like error correction and Unicode encoding and 1D barcodes features like effective usage of rectangular areas. At this time rMQR Code yet is not widely supported by hardware printers and scanners but it is already supported by barcode libraries. [5] [6] In this way rMQR Code can be used in:

Main advantages of rMQR Code are:

Barcode design

Rectangular Micro QR Code is designed for the better utilization of rectangular areas with all features of QR code. The symbology consists of black squares and white square spaces arranged in a square grid on a white background. Additionally, the barcode has inverse version with black background with inverse (luminance) color of elements. [2] :6.2

rMQR Code has minimal height of 7X and minimal width of 27X, where maximal height is 17X and maximal width 139X. [2] :7.1 rMQR Code has 32 versions with different combinations of height and width. Reed–Solomon error correction has two levels and allows to restore from 15% to 30% of corrupted data.

Rectangular Micro QR Code (rMQR Code) structure Rectangular Micro QR Code Structure.png
Rectangular Micro QR Code (rMQR Code) structure

rMQR Code symbol is constructed from the following elements: [10] [2] :6.3.1

Here are some samples of Rectangular Micro QR Code (rMQR Code):

Versions

Rectangular Micro QR Code can be encoded in 32 versions with height from 7X to 17X and width from 27X to 139X. All versions have two Error correction levels: M and H, which have influence on possible encoded data size and error correction. All of Rectangular Micro QR Code versions and their features can be watched in the following table: [2] :7.4.10

Rectangular Micro QR Code (rMQR Code) Versions
VersionVersion
indicator
Error
correction
level
Data
codewords
Error
correction
codewords
Data capacity
NumericAlphaByteKanji
R7x430M6712753
H3105321
R7x591M1292616116
H71414863
R7x772M201245271911
H1022211395
R7x993M281664392716
H14303018138
R7x1394M4424102624226
H244454332214
R9x435M1292616116
H71414863
R9x596M211247292012
H11222314106
R9x777M311871433018
H17323723169
R9x998M422497594025
H224449302012
R9x1399M6336147896138
H336675463119
R11x2710M7814863
H5109642
R11x4311M191242261811
H11202314106
R11x5912M311671433018
H15323320148
R11x7713M43243320148
H234452312113
R11x9914M5732133815534
H296066402717
R11x13915M84481981208251
H429097594025
R13x2716M1292616116
H71414863
R13x4317M271462372616
H13282817127
R13x5918M382288533622
H204045271811
R13x7719M5332124755131
H295666402717
R13x9920M73401711047144
H357880493320
R13x13921M1066025115210464
H54112126765232
R15x4322M331876463119
H15363320138
R15x5923M4826112684628
H264859362415
R15x7724M6736157956540
H317271432918
R15x9925M88482071268653
H4888111684628
R15x13926M1277230118212577
H69130162986741
R17x4327M392290553723
H214047281912
R17x5928M5632131795433
H286063382616
R17x7729M78441831117647
H388487533622
R17x9930M100602361439860
H56104131795433
R17x13931M1528036121915092
H761561781087446

Finder patterns

Finder patter, Finder sub pattern and Corner finder patterns of Rectangular Micro QR Code Rectangular Micro QR Code Finder Corner Patterns.png
Finder patter, Finder sub pattern and Corner finder patterns of Rectangular Micro QR Code

Rectangular Micro QR Code has three types of finder pattern:

Main finder pattern is used to detect the barcode on image and its corruption can make barcode unrecognizable.

Finder pattern has vertical and horizontal size 1-1-3-1-1. Finder sub pattern helps to detect bottom-right corner of the barcode. Finder sub pattern does not have guard zone and has vertical and horizontal size 1-1-1-1-1.

Corner finder patterns allows to detect top-right and bottom-left corners and in some version of the rMQR Code can be cut or absent. Corner finder pattern looks like corner with white dot in the center with size 3-3.

Alignment and timing patterns

Alignment and Timing patterns of Rectangular Micro QR Code Rectangular Micro QR Code Alignment Timing Pattrens.png
Alignment and Timing patterns of Rectangular Micro QR Code

Rectangular Micro QR Code has alignment [2] :6.3.6 and timing patterns [2] :6.3.5 which help to detect misaligned cells damage. Alignment pattern is represented as black rectangle 3X size rounding 1X white dot. Alignment pattern in some versions can be absent and number of alignment patterns depends from version, up to 8 alignment patterns.

Alignment patterns count
WidthAlignment patterns count
270
432
594
774
996
1398

Timing patterns boarding the barcode where area is clean from finder and alignment patterns and additionally split the barcode vertically in the area of alignment patterns.

Format Information

Format information of Rectangular Micro QR Code Rectangular Micro QR Code Format Information.png
Format information of Rectangular Micro QR Code

Rectangular Micro QR Code places format information [2] :7.9 in the area of finder pattern and finder sub pattern. Format information is built as 18-bit sequence containing 6 data bits, 12 error correction bits calculated using the (18, 6) Extended BCH code. Format information is masked with 011111101010110010 sequence which is placed around finder pattern and 100000101001111011 for finder sub pattern.

Rectangular Micro QR Code (rMQR Code) Format information bits
Error
correction
level
Version indicatorError correction bits

The first data bit defines error correction level and the second 5 data bits defines version indicator.

Error correction level indicator
Error correction levelBinary indicator
M0
H1

Error correction

Rectangular Micro QR Code uses Reed–Solomon error correction [2] :7.5 and has two error correction levels M and H which can restore around 15 and 30% of damaged barcode area. All data in the barcode is split into error correction blocks (can be from 1 to 4 blocks) and error correction codewords are added to every block. After this, the blocks are united into single stream.

Error correction levels
Error correction levelRecovery capacity %
M15%
H30%

rMQR Code use Reed–Solomon error correction over the finite field or GF(28), the elements of which are encoded as bytes of 8 bits; the byte with a standard numerical value encodes the field element where is taken to be a primitive element satisfying . The primitive polynomial is , corresponding to the polynomial number 285, with initial root = 0.

Data masking and placement

Data placement of Rectangular Micro QR Code Rectangular Micro QR Code Data Placement.png
Data placement of Rectangular Micro QR Code

Rectangular Micro QR Code places data in the same way as QR code in two-module wide columns [2] :7.7.3 commencing at the lower right corner of the symbol and running alternately upwards and downwards from the right to the left.

Before the placement the data is masked [2] :7.8.2 with single type of mask (instead of 8 types in QR Code):
, where
i is a row position;
j is a column position.

Codeword sequence as a single bit stream is placed (starting with the most significant bit) in the two-module wide columns alternately upwards and downwards from the right to left of the symbol. In each column the bits are placed alternately in the right and left modules, moving upwards or downwards according to the direction of placement and skipping areas occupied by function patterns, changing direction at the top or bottom of the column. Each bit shall always be placed in the first available module position.

When the data capacity of the symbol is such that it does not divide exactly into a number of 8-bit symbol characters, the appropriate number of remainder bits (1 to 7) shall be used to fill the symbol capacity. These remainder bits shall always have the value 0 before data masking.

Encoding

Rectangular Micro QR Code can encode 361 numeric, 219 alphanumeric, 150 bytes and 92 kanji characters [11] in the maximal version R17x139. Additionally, it allows to encode Unicode data with Extended Channel Interpretation feature and encode GS1 data. [9]

rMQR Code can encode data in 8 modes [2] :7.4.1 where 4 modes are data encoding modes and 3 modes are indicator modes, like ECI. Also, every encoding sequence must be completed with special Terminator mode.

Mode and Mode indicators for rMQR
ModeMode indicators (3 bits)
Numeric001
Alphanumeric010
Byte011
Kanji100
FNC1101 (First position)
110 (Second position)
ECI111
Terminator
(End of message)
000

rMQR Code usually encodes data in mixed mode [2] :7.4.7 which is a combination of existing modes for better compactification or special selectors like ECI designator.

rMQR Mixed mode encoding
Segment 1ECI header 1Segment 2Segment 3Terminator
Mode 1Data countDataECI Mode 1ECI designatorMode 2Data countDataMode 3Data countData

Every compaction mode depends on version [2] :7.4.1 to select number of bits which are used as encoded characters (numbers, letters, bytes) counter. The number of bits required for every version can be watched in the following table.

Number of bits of character count indicator
VersionNumeric
mode
Alpha
mode
Byte
mode
Kanji
mode
VersionNumeric
mode
Alpha
mode
Byte
mode
Kanji
mode
R7x434332R13x275543
R7x595543R13x436655
R7x776554R13x597665
R7x997655R13x777766
R7x1397665R13x998776
R9x435543R13x1398877
R9x596554R15x437665
R9x777655R15x597765
R9x997665R15x778776
R9x1398766R15x998776
R11x274432R15x1399877
R11x436554R17x437665
R11x597655R17x598766
R11x777665R17x778776
R11x998766R17x998876
R11x1398776R17x1399887

Numeric mode

Rectangular Micro QR Code encodes digits 0–9 in numeric mode. [2] :7.4.3 The number sequence is split into 3 digits which converted to 10 bits (000 - 999). Last 2 and 1 numbers are encoded in 7 and 4 bits. rMQR Code in numeric mode encodes 001 as mode indicator, then numbers counter and then numbers sequence converted into bits.

Numeric mode encoding
Numbers countBits countValueBits
3107341011011110
3100010000000001
27721001000
14500101

Alphanumeric mode

Rectangular Micro QR Code encodes 2 alphanumeric characters [2] :7.4.4 from the table into 11 bits stream with the following formula:

Encoding/decoding table for alphanumeric mode
ValueCharacterValueCharacterValueCharacterValueCharacterValueCharacter
009918I27R36Space
1110A19J28S37$
2211B20K29T38 %
3312C21L30U39*
4413D22M31V40+
5514E23N32W41-
6615F24O33X42.
7716G25P34Y43/
8817H26Q35Z44 :

Final character is encoded into 6 bits. rMQR Code in alphanumeric mode encodes 010 as mode indicator, then alphanumeric counter and then bits stream which represents encoded characters.

Byte mode

Rectangular Micro QR Code adds mode indicator 011 and bytes counter (version dependent) before the byte stream, [2] :7.4.5 converted into 8-bit sequence.

Kanji mode

Rectangular Micro QR Code encodes characters from 2 bytes JIS X 0208 2-byte character set [2] :7.4.6 into 13 bits with the following rules:

  1. subtract 0x8140 from Shift JIS value;
  2. multiply most significant byte of result by 0xC0;
  3. add least significant byte to product from step 2;
  4. convert result to a 13-bit binary string.
  1. subtract 0xC140 from Shift JIS value;
  2. multiply most significant byte of result by 0xC0;
  3. add least significant byte to product from step 2;
  4. convert result to a 13-bit binary string.

rMQR Code adds mode indicator 100 and characters counter before the encoded kanji sequence.

Unicode encoding with ECI

Rectangular Micro QR Code encodes Unicode characters with Extended Channel Interpretation. [2] :7.4.2.2 Previously it encodes ECI designator which defines encoding charset. After this, it encodes byte array of Unicode characters encoded into byte stream with mix of numeric-text-byte modes. The default ECI designator is \000003(ISO/IEC 8859-1).

ECI designator is encoded with mode indicator 111 and ECI assignment number which can be encoded in 8, 16 or 24 bits by rules from the following table.

Encoding ECI assignment number
ECI assignment valueCodewords countCodeword values
000000 to 00012710bbbbbbb
000000 to 016383210bbbbbb bbbbbbbb
000000 to 9999993110bbbbb bbbbbbbb bbbbbbbb
where b ... b is the binary value of the ECI Assignment number

GS1 encoding

Rectangular Micro QR Code can encode GS1 Data with FNC1 in first position. [2] :7.4.8.2 Encoding mode indicator 101 switch the barcode symbol in GS1 Application Identifiers [9] mode. FNC1 cannot be used as split FNC1 character like in Code 128 symbol. Instead of this, % character should be used in alphanumeric mode or GS (0x1D) in byte mode. To encode % character in alphanumeric mode the character should be doubled %% and after decoding it should be transmitted as single % character.

FNC1 in second position

FNC1 in second position [2] :7.4.8.3 at this time has historical value and is not used. It was used to encode (obsolete at this time) mode identifier as first data codeword in Code 128 when FNC1 character is encoded in the second codeword (second position). More detail description you can read in ISO/IEC 15417 [12] Annex B.

Rectangular Micro QR Code encodes FNC1 in second position as mode indicator 111, 8-bit application identifier (AIM, but I am not sure) and any other mode/modes after this.

See also

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.

<span class="mw-page-title-main">Universal Product Code</span> Barcode symbology used for tracking trade items in stores

The Universal Product Code is a barcode symbology that is used worldwide for tracking trade items in stores.

<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.

High-Level Data Link Control (HDLC) is a communication protocol used for transmitting data between devices in telecommunication and networking. Developed by the International Organization for Standardization (ISO), it is defined in the standard ISO/IEC 13239:2002.

ISO/IEC 2022Information technology—Character code structure and extension techniques, is an ISO/IEC standard in the field of character encoding. It is equivalent to the ECMA standard ECMA-35, the ANSI standard ANSI X3.41 and the Japanese Industrial Standard JIS X 0202. Originating in 1971, it was most recently revised in 1994.

<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 QR code consists of black squares arranged in a square grid on a white background, including some fiducial markers, which can be read by an imaging device, such as a camera, and processed using Reed–Solomon error correction until the image can be appropriately interpreted. The required data are then extracted from patterns that are present in both the horizontal and the vertical components of the QR image.

<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.

<span class="mw-page-title-main">GS1</span> Organization for barcode standards

GS1 is a not-for-profit, international organization developing and maintaining its own standards for barcodes and the corresponding issue company prefixes. The best known of these standards is the barcode, a symbol printed on products that can be scanned electronically.

A binary-to-text encoding is encoding of data in plain text. More precisely, it is an encoding of binary data in a sequence of printable characters. These encodings are necessary for transmission of data when the communication channel does not allow binary data or is not 8-bit clean. PGP documentation uses the term "ASCII armor" for binary-to-text encoding when referring to Base64.

An Answer To Reset (ATR) is a message output by a contact Smart Card conforming to ISO/IEC 7816 standards, following electrical reset of the card's chip by a card reader. The ATR conveys information about the communication parameters proposed by the card, and the card's nature and state.

<span class="mw-page-title-main">CD-ROM</span> Pre-pressed compact disc containing computer data

A CD-ROM is a type of read-only memory consisting of a pre-pressed optical compact disc that contains data. Computers can read—but not write or erase—CD-ROMs. Some CDs, called enhanced CDs, hold both computer data and audio with the latter capable of being played on a CD player, while data is only usable on a computer.

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.

<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">MicroPDF417</span>

MicroPDF417 is two-dimensional (2D) stacked barcode symbology invented in 1996, by Frederick Schuessler, Kevin Hunter, Sundeep Kumar and Cary Chu from Symbol Technologies company. MicroPDF417 consists from specially encoded Row Address Patterns (RAP) columns and aligned to them Data columns encoded in "417" sequence which was invented in 1990. In 2006, the standard was registered as ISO/IEC 24728:2006.

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

Han Xin code is two-dimensional (2D) matrix barcode symbology invented in 2007 by Chinese company The Article Numbering Center of China to break monopoly of QR code. As QR code, Han Xin code consists of black squares and white square spaces arranged in a square grid on a white background. It has four finder patterns and other markers which allow to recognize it with camera-based readers. Han Xin code contains Reed–Solomon error correction with ability to read corrupted images. At this time, it is issued as ISO/IEC 20830:2021.

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

DotCode is two-dimensional (2D) matrix barcode invented in 2008 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”. 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 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.

References

  1. "New Mobile Computer BHT-M70 and rMQR Code Launched on the Market". www.rfid-wiot-search.com. 2022.
  2. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ISO/IEC (2022). "ISO/IEC 23941:2022 "Information technology Automatic identification and data capture techniques Rectangular Micro QR Code (rMQR) bar code symbology specification"". iso.org. International Organization for Standardization(ISO). ISO/IEC 23941.
  3. "QR codes evolve into their newest form: a bar QR code". japantoday.com. 2022.
  4. "DENSO WAVE Develops "rMQR Code", a new rectangular QR Code that can even be printed in long, narrow spaces". www.denso-wave.com.
  5. "Rectangular Micro QR Code (rMQR Code) Generator". github.com.
  6. "Generate QR Code, Micro QR Code and Rectangular Micro QR Code in C#". aspose.com.
  7. "細長いQRコード「rMQRコード」登場。狭いスペースに印字可能(Introducing the elongated QR code "rMQR code". Can print in narrow spaces)". ascii.jp (in Japanese).
  8. "ANSI HIBC 1.3 Provider Applications Standard" (PDF). www.hibcc.org. The Health Industry Business Communications Council. 2010. p. 30.
  9. 1 2 3 "GS1 Application Identifiers". www.gs1.org.
  10. "QR Code: rMQR Code". www.qrcode.com.
  11. "barcodeguide.seagullscientific.com: rMQR Code". barcodeguide.seagullscientific.com.
  12. ISO/IEC (2007). "ISO/IEC 15417:2007 "Information technology Automatic identification and data capture techniques Code 128 bar code symbology specification"". iso.org. International Organization for Standardization(ISO). ISO/IEC 15417.