Enhancement of QR Data Storage Capacity Using Color Multiplexing
Enhancement of QR Data Storage Capacity Using Color Multiplexing
Entitled
Bachelor of Technology
(Electronics and Communication)
: Guided By :
Mehul C. Patel
Assistant Professor, DECE
(Year: 2022-23)
CERTIFICATE
This is to certify that the Project Preliminary Report entitled “Enhancement of QR
Data Storage Capacity using Color Multiplexing” is presented & submitted by Nikhil
Gupta, Siddhesh Sathe, Astel Thottankara, bearing Roll No. U19EC136, U19EC147,
U19EC161, of B.Tech. IV, 7th Semester in the partial fulfillment of the requirement
for the award of B.Tech. Degree in Electronics & Communication Engineering for aca-
demic year 2022-23.
They have successfully and satisfactorily completed their Project Preliminary Exam
in all respects. We, certify that the work is comprehensive, complete and fit for evalua-
tion.
Mehul C. Patel
Assistant Professor& Project Guide
PROJECT EXAMINERS:
Dec. 2022
v
Abstract
The report proposes a method to increase the data storage capacity of QR codes by using
color multiplexing. This technique involves dividing a QR code into its red, green, and
blue color components and encoding different data streams in each color component,
enabling the simultaneous encoding of multiple data streams in a single QR code.
This report presents the technical implementation of the proposed method, includ-
ing the encoding and decoding algorithms used. The results of experiments conducted
to validate the effectiveness of the method are also presented, showing a significant im-
provement in the data storage capacity of QR codes, with an average increase of 33%
compared to traditional black and white QR codes.
The proposed technique has potential applications in various fields, including prod-
uct tracking, data exchange, and marketing. The enhanced data storage capacity can
be used to store information such as manufacturing and expiry dates, batch numbers,
and product specifications, making it easier to track and manage products. In data ex-
change, the enhanced data storage capacity can reduce the need for multiple codes,
while in marketing, it can be used to store multimedia content, providing a more engag-
ing experience for users.
In summary, the proposed method offers a practical solution to increase the data
storage capacity of QR codes using color multiplexing. The results of the experiments
demonstrate the effectiveness of the method, and its potential applications in various
fields make it an area of promising research.
vii
Table of Contents
Page
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Table of Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
List of Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
Chapters
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 History of QR Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Types of QR Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 Limitations of Traditional QR Codes . . . . . . . . . . . . . . . . . . . 2
1.4 Color Multiplexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4.1 How it can be helpful? . . . . . . . . . . . . . . . . . . . . . . 3
1.5 Areas of Application . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.6 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.7 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.8 Report Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Literature Survey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1 Literature Reviews . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 Architecture of Multiplexed QR Code . . . . . . . . . . . . . . . . . . . . . 13
3.1 Structure of QR Code . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2 Specifications of QR Code . . . . . . . . . . . . . . . . . . . . . . . . 15
3.3 Encoding QR Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.4 Multiplexing in QR Code . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.4.1 What is Multiplexing . . . . . . . . . . . . . . . . . . . . . . . 18
3.4.2 How Multiplexing Can Be Helpful? . . . . . . . . . . . . . . . 19
3.4.3 Color treatment in current available QRcodes . . . . . . . . . . 20
3.5 Multiplexing using RGB . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.6 Decoding QR Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.7 Demultiplexing of Colored QR Code . . . . . . . . . . . . . . . . . . . 22
3.8 Decoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4 Implementation of Multiplexed QR . . . . . . . . . . . . . . . . . . . . . . . 25
4.1 Encoding QR Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.1.1 The general process of encoding . . . . . . . . . . . . . . . . . 25
4.1.2 Creating coloured qrcodes . . . . . . . . . . . . . . . . . . . . 26
4.2 Decoding QR Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
ix
Table of Contents
x
List of Figures
xi
List of Tables
xiii
List of Abbreviations
AR Augmented Reality
BCH Bose–Chaudhuri–Hocquenghem
HEX hexadecimal
ID Identity
LDPC Low Density Parity Check
QR Quick Response
RGB Red Green Blue
URL Universal Resource Locator
Wifi Wide Fidelity
xv
Chapter 1
Introduction
Quick response (QR) codes are two-dimensional barcodes that smartphones and other
devices can scan to access information or perform a specific action quickly. QR codes
were first invented in Japan in the 1990s and have since become widely used for various
purposes, including marketing, ticketing, and payment transactions.
1. Standard QR Codes: These are the most commonly used QR codes, consisting of
a square grid of black and white modules. They can store up to several hundred
times more information than traditional bar codes.
2. Micro QR Codes: These are smaller QR codes, designed to store less information
and take up less space. They are often used in applications where space is limited,
such as on business cards or small product labels.
1
Chapter 1. Introduction
3. Custom QR Codes: These are QR codes that are customized with images or logos,
making them more visually appealing and easier to recognize. They are often
used for branding and marketing purposes.
4. High Capacity QR Codes: These QR codes are designed to store large amounts of
data, including multimedia content such as images and videos. They can store up
to several gigabytes of data, making them suitable for applications such as event
management and data exchange.
Overall, the different types of QR codes provide businesses and organizations with a
variety of options for storing and sharing information in a quick and easy way.
1. Limited storage capacity: While QR codes can store significantly more informa-
tion than traditional barcodes, their storage capacity is still limited. This can be a
problem for applications that require a large amount of data to be stored.
3. Lack of security: Traditional QR codes do not offer any built-in security features,
making them vulnerable to hacking and other forms of cyber attacks.
While traditional QR codes are a powerful tool for storing and sharing informa-
tion, their limitations can impact their effectiveness in certain applications. However,
2
1.4. Color Multiplexing
• Improved readability: Using different colors can make the QR code more visually
appealing and easier to read, particularly for those with visual impairments.
3
Chapter 1. Introduction
information such as URLs, text, or other data. Here are a few examples of how QR
codes are commonly used:
• Mobile payments: QR codes can be used to make mobile payments through apps
like PayPal or Venmo. The user scans the QR code displayed on the merchant’s
terminal, and the payment is processed instantly
• Event tickets: QR codes are often used as a replacement for physical tickets to
events. The user scans the QR code on their phone to gain entry to the event.
• Access control: QR codes can be used as a form of access control for buildings
or other secure areas. The user scans the QR code to open a door or gate.
1.6 Motivation
One motivation is to improve the capacity and data density of QR codes. QR codes are
two-dimensional bar codes that are widely used for encoding and storing data, such as
URLs, product information, and other types of data. By using color multiplexing, it is
possible to encode more data in a single QR code, which can make it more useful for
storing and transferring larger amounts of data.
Improving the visual appearance and aesthetic appeal of the QR code is also another
motivation. QR codes are often used in marketing and advertising, and using color
multiplexing can make the QR code more visually appealing and attractive to potential
customers. Research on color multiplexing in QR codes can also help to improve the
performance and robustness of QR codes, particularly in challenging environments such
as low light or high contrast situations. By using color multiplexing, it may be possible
to increase the robustness and reliability of QR codes, making them more useful in a
wider range of applications.
4
1.7. Objectives
1.7 Objectives
The objectives that are targeted in this project are briefed as below:
4. To develop and evaluate new algorithms and techniques for optimizing the data
storage capacity of color multiplexed QR codes, including methods for error cor-
rection and data compression.
Overall, the goal of this project would be to contribute to the understanding of the
capabilities and limitations of color multiplexing in QR codes as a means of increasing
data storage capacity, and to provide insights and recommendations for the practical
application of this technology.
5
Chapter 1. Introduction
analyzes the factors that contribute to the QR Code’s storage capacity and readability,
and discusses the implications of these factors for the design and implementation of QR
Codes in different applications.
Chapter 4 presents the proposed methodology for addressing the limitations of tradi-
tional QR Codes. This chapter provides a step-by-step explanation of the methodology,
including its design and implementation, and evaluates its effectiveness in comparison
to traditional methods. This chapter also highlights potential areas for future research
and improvement.
6
Chapter 2
Literature Survey
1. If the value of the hue is changed, saturation becomes middle and small difference
between the depth of the color. The order of the hue of each color begins from
yellow, continues cyan, green, pink, red, blue is the last.
2. If the brightness of the color of the dots is changed to lower, it becomes dark
color. When each color becomes darker, the dot is recognized as depth of color.
If the color is darker, value of the brightness is lowered a little.
3. Color of the dots will be too bright if its saturation is lower. Since the depth of
each color is different, the density of bright dot will brighten and the value of the
brightness is increased.
4. In recognition of the color of the dot, its color of the dot may be judged as bright
or dark depending on the surrounding environment of each dot.
Currently, QR (Quick Response) code [1][3] has been widely used in the world instead
of the bar code with the spread of the Internet and mobile phones. Although QR codes
are frequently used in various applications, their design of them is not good because
7
Chapter 2. Literature Survey
they are simple representations of black and white dots. Recently a colorful and charm-
ing 2- Dimensional code called designer [2] and other 2- Dimensional codes have been
developed and used in business areas. In these advanced QR codes, the dots are colored
and images are imposed on these codes and they became a good appearance. However,
the reading characteristics of the QR decoders by usual mobile phones will be affected
by changing the color of the dots and imposing images [5].
Sin Rong Toh states that the use of WiFi, Bluetooth and Cellular Network has made
exchanging files on mobile devices easy and convenient. They offer a reliable service
8
2.1. Literature Reviews
when signal or connection is stable and available. However, sometimes this is not the
case. When people need to exchange files and they are just next to each other but
situated in a place with no WiFi or when the user’s mobile phone does not have Cel-
lular Network connection, it is not possible to exchange files. Moreover, sending a
file through Cellular Network may incur cost compared to using WiFi hotspots. For
Bluetooth, if many devices are in the same piconet, it can lead to congestion and poor
network performance, as the signals collide and information has to be resent [1].
Moreover, when using Bluetooth, users need to identify and pair with each other’s
mobile devices before file exchange is possible. This discovery takes time. This paper
presents a new way of exchanging data such as images and text files via mobile devices
in the absence of existing wireless technologies, namely WiFi and Cellular Data Net-
work in a personal area network. It does not incur the overhead of Bluetooth pairing
and discovery. This application, ColorQR, sends data through the manipulation of col-
ors into multiplexed QR codes. Data is encoded into Red-, Blue- and Green- color QR
codes and are multiplexed to form multiple multi-color QR codes that will be flashed
on the screen of the sender’s device. The receiver, in the form of a camera of a mobile
device, will record the flashing images and convert the images into RGB channels using
grayscale conversion. Thus one image will be split into 3 sets of black and white QR
codes. Results show that ColorQR is highly feasible and it can transmit data of varying
sizes without limitation [4].
Lim Zheng’s project describes the development of multi colored code. The main
objective is to develop a code which has a higher data capacity than the current QR
code system. This paper describes the layout design of the proposed multi colored
code. The multi colored code employs Hamming data error correction technique and
color multiplexing using 8 types of colors. These colors are namely red, green, blue,
cyan, magenta, yellow, white and black. A decoder application is also designed in order
to process and decode the captured multi colored code. From result, it shows that the
decoder is able to decode the multi colored code with low decode error rate within the
range of 6cm to 13cm.
The first prototype of the proposed color code is having approximately same num-
ber of module as QR code Version 10. As result, the proposed color code is able to
store almost double of the data capacity compared to the QR code The barcode is a sin-
gle dimensional (1D) optical data representation that is invented by Bernard Silver and
Norman Joseph Woodland since 1948 [1]. The barcode represents information system-
atically by varying the widths and spacing of parallel lines. Before the emerging of the
smartphones, the barcode is decoded by using barcode reader which also known as opti-
cal scanner. Now, the mobile software applications are available for the smartphones to
decode the information of the barcode by using the camera on the smartphones. How-
ever, as technology advances, the required size for the data storage increases as well.
9
Chapter 2. Literature Survey
Thus, the maximum size of barcode which is able to store 48 alphanumeric character is
no longer sufficient. The single dimensional (1D) barcode eventually improvised into
two dimensional (2D) barcode. The Quick Response (QR) code is the most common
standard among the 2D barcodes. [7]
Hiren J. Galiyawala QR codes have become widely popular along with the increased
usage and popularity of smart phones. In many areas, QR codes have overtaken the
place of linear barcodes because of the obvious advantage of large data capacity and
ease of data retrieval. QR code specifications offers many more advantages like reduced
space, durability against soil and damage, high data capacity, supported languages are
more than other barcodes, supports 360 degree reading, etc over linear barcodes which
makes QR codes worth opting.
The structural flexibility of QR code architecture opens many more possibilities to
stretch the limits of data capacity further away which includes data hiding techniques,
multiplexing techniques, use of color QR codes, use of data compression techniques,
etc. Proposed technique attempts to increase data capacity by multiplexing several QR
codes and generating a color QR code. Experimental results show that this technique
offers increase of the data capacity upto 24 times as compared to a standard QR code
of same size. To get quicker results while demultiplexing, multiplexing of 12 or less
QR codes is advisable with proposed technique. Due to such large capacity offered
by proposed technique, embedding of speech signal into a QR code has made possi-
ble. In telecommunications and computing, a machine-readable medium is proficient to
storing data in a format.These media include magnetic media such as magnetic disks,
magnetic ink characters, punched cards and paper tapes, cards, optical disks, barcodes,
etc. However, our overall focus is barcodes here.
A barcode is an optical machine-readable exemplification of information of the ob-
ject to which it is allotted. Primitively barcodes represented data having vertical lines
of different widths and spacings, and these are known as linear or onedimensional bar-
codes. Afterwards, these parallel lines were replaced with rectangles, dots, hexagons
and other geometric patterns in two dimensions. Albeit 2D systems make use of a
variety of symbols, they all are in general referred to as barcodes as well. QR code
stands for Quick Response Code, Which is the trademark for the type of matrix barcode
which was invented by the Japanese corporation Denso Wave. QR code has number
of features such as large capacity data encoding, dirt and damage resistant, high speed
reading, small print out size, structural flexibility of application, allows data to encode
in four different modes etc. Another more appealing feature of QR Codes is that while
scanning, considering particular angle for scanning is not required. QR Codes can be
read regardless of their positioning. QR codes scanners have inbuilt functionality of
determining the correct way to decode the QR code.Although QR code offers maxi-
mum data capacity among the classified barcodes, there is still the scope of increasing
10
2.1. Literature Reviews
this data capacity because of its structural flexibility. Areas in which this increment of
data capacity can be focused includes data hiding techniques [4-7,8], use of color QR
codes [2,9,11], multiplexing of several QR code images [10], data compression before
encoding it into QR code [8].
Chenghui Zhang research paper that proposes a fast QR code decoding algorithm
based on image processing techniques. The paper was published in the International
Journal of Pattern Recognition and Artificial Intelligence in 2017. The authors propose
an algorithm that uses image processing techniques to detect and decode QR codes
in real-time on a mobile device. The algorithm consists of three main stages: image
preprocessing, QR code detection, and QR code decoding. In the preprocessing stage,
the input image is converted to grayscale and binarized to enhance the contrast between
the QR code and the background. In the QR code detection stage, the algorithm uses
edge detection and Hough transform to detect the four corners of the QR code. Finally,
in the QR code decoding stage, the algorithm decodes the QR code using a lookup
table of patterns. The proposed algorithm was compared to several existing QR code
decoding algorithms and was found to achieve higher decoding speed and accuracy. The
algorithm was tested on a dataset of 2000 QR codes with varying sizes and complexity,
and achieved a decoding accuracy of 100% with an average decoding time of 27.8 ms.
The paper concludes that the proposed algorithm is a fast and accurate solution for QR
code decoding on mobile devices. It can be used in various applications such as mobile
payment, ticketing, and inventory management. The proposed algorithm can also be
extended to handle other types of 2D codes such as Data Matrix and Aztec codes . [9]
11
Chapter 3
Architecture of Multiplexed QR Code
This chapter provides an overview of the architecture of QR codes, including their basic
structure and operation, as well as the various types of QR codes and their specific fea-
tures and capabilities. The chapter then discusses the concept of color multiplexing in
QR codes, including its potential benefits such as increased data capacity and improved
readability. However, the chapter also explores the technical challenges and limitations
associated with implementing color multiplexing in QR codes, including the need for
specialized scanners and the potential for color distortion or fading. Overall, the chapter
concludes that while color multiplexing in QR codes offers significant potential bene-
fits, it also introduces a number of challenges and limitations that must be carefully
considered in its implementation.
• A quiet zone: A border of white space around the perimeter of the QR code. The
quiet zone helps to ensure that the QR code can be easily scanned and read.
• Finder patterns: These are three large squares located in the corners of the QR
code. These patterns are used to help the scanner locate the QR code and deter-
mine its orientation.
• Alignment patterns: These are smaller squares located between the finder pat-
terns. These patterns are used to help the scanner align the QR code in the correct
position.
• Data region: It is the central area of the QR code where the data is encoded. The
data region is divided into a number of smaller squares called modules.
• Timing patterns: They are the horizontal and vertical lines that run through the
data region. These patterns are used to help the scanner determine the size of the
QR code and the position of the individual modules within the data region.
• Format information: It’s the additional data encoded within the QR code that
specifies the error correction level and the version of the QR code.
13
Chapter 3. Architecture of Multiplexed QR Code
• Mask patterns: They are the additional patterns applied to the QR code to obscure
certain parts of the data region and improve the readability of the QR code.
Error correction codes are used in QR codes to allow for the recovery of data that
has been damaged or corrupted during the transmission or storage of the QR code [10].
These codes work by adding additional data to the QR code that can be used to recon-
struct the original data if it becomes corrupted or lost.
There are several different types of error correction codes that can be used in QR
codes, including:
• Low density parity check (LDPC) codes: These are a type of error correction
code that uses a parity check matrix to detect and correct errors in the data.
• Reed-Solomon codes: These are a type of error correction code that uses a math-
ematical algorithm to detect and correct errors in the data.
• BCH codes: These are a type of error correction code that uses a mathematical
algorithm to detect and correct errors in the data.
By using error correction codes, QR codes can be made more resilient to errors
and can be read more accurately, even if the QR code has been damaged or corrupted.
This makes QR codes a useful tool for storing and transmitting data in a variety of
applications.
14
3.2. Specifications of QR Code
Indicator Meaning
0001 Numeric encoding (10 bits per 3 digits)
0010 Alphanumeric encoding (11 bits per 2 characters)
0100 Byte encoding (8 bits per character)
1000 Kanji encoding (13 bits per character)
0011 Structured append (used to split a message across multiple QR symbols)
0111 Extended Channel Interpretation (select alternate character set or encoding)
0101 FNC1 in first position (see Code 128 for more information)
1001 FNC1 in the second position
0000 End of the message (Terminator)
15
Chapter 3. Architecture of Multiplexed QR Code
Version Modules ECC Level Data Bits(mixed) Numeric Alphanumeric Binary Kanji
L 23,648 7,089 4,296 2,953 1,817
M 18,672 5,596 3,391 2,331 1,435
40 177x177
Q 13,328 3,993 2,420 1,663 1,024
H 10,208 3,057 1,857 1,273 784
First, you will need to input the data that you want to store in the QR code. This
can be any type of information, such as a URL, text, or a combination of both.
After the data has been divided into blocks, an error correction algorithm is ap-
plied to the data to add redundancy. This is done to ensure that the QR code can
still be read even if it is partially damaged or obscured. There are several levels
of error correction available, ranging from low to high, with higher levels of error
correction adding more redundancy to the data but also taking up more space in
16
3.4. Multiplexing in QR Code
the QR code.
4. Arrange the data blocks into a grid pattern using the QR code structure.
The data blocks are then arranged into a grid pattern using a specific layout known
as the QR code structure. The QR code structure consists of a series of rows
and columns, with each row and column containing a specific number of data
modules. The data modules are the black and white squares that make up the QR
code, with black squares representing a 1 and white squares representing a 0.
In addition to the data modules, the QR code structure also includes a series of
special modules known as function modules. These function modules are used
to encode additional information about the QR code, such as the version number
and the error correction level.
6. Add finder patterns to the QR code to help QR code readers locate and align the
QR code.
Finally, a series of finder patterns is added to the QR code to help QR code readers
locate and align the QR code. These finder patterns are placed at the three corners
of the QR code and consist of a series of black and white squares arranged in a
specific pattern.
17
Chapter 3. Architecture of Multiplexed QR Code
more information in a given QR code or to make the code more robust and easier to
read. For the sake of this project, multiplexing will be used to enhance the data storing
capability of the QR Code.
Multiplexing is the process of mixing various quantities in a binary format like in they
are included either 100% or 0. This concept is used to intervene various data signals
together which further can be Demultiplexed on the basis of the need of the user. Mul-
tiplexing in QRcode helps to improve the data storing capacity of the QRCode like if
the sample text is -
it requires a regular QRCode to generate a version 6 (41 x 41) QRCode. While the
same amount of data can be stored in a multiplexed QRCode in a version 4(33 x 33)
QRCode . This showcases the scope and power of this project which has the ability to
store more data, It is three times in case of 3 colour based multiplexing.
18
3.4. Multiplexing in QR Code
19
Chapter 3. Architecture of Multiplexed QR Code
20
3.6. Decoding QR Code
1. Scanning: The first step in decoding a QR code is to scan the code using a device
with a camera, such as a smartphone or a tablet.
2. Image processing: Once the QR code has been scanned, the image of the code
is processed to remove any distortions or variations in lighting that may have
21
Chapter 3. Architecture of Multiplexed QR Code
3. Location detection: The next step is to detect the location of the QR code in the
image. This is done by identifying the unique alignment patterns located at the
corners of the code.
5. Data decoding: Once the format information has been decoded, the data encoded
in the QR code can be decoded. This is done by reading the data modules (small
black and white squares) in the code and interpreting them according to the rules
of the QR code standard.
6. Error correction: If there are errors in the data due to damage to the QR code or
other factors, error correction algorithms can be used to recover the original data
as much as possible.
7. Output: The final step in decoding a QR code is to output the decoded data in a
format that can be used by the device or application that is reading the code. This
could be a URL, a message, or some other type of data.
22
3.8. Decoding
Figure 3.8: RGB split by image processing techniques and data extraction.
3.8 Decoding
Color QR code decoding is trickier compared to encoding due to several reasons. The
first and most significant reason is that the process of decoding color information from
a QR code is inherently more complex than encoding it. Encoding color information is
relatively straightforward, as it involves simply adding color information to the black
and white pixel pattern of the QR code. However, decoding the color information re-
quires additional processing steps that involve separating the color channels and inter-
preting their intensities.
Another reason is that the color data in a QR code can introduce additional noise,
making the decoding process more challenging. The color data in a QR code can be
affected by lighting conditions, reflections, and other environmental factors, which can
cause errors in the decoding process. Additionally, different devices and software can
23
Chapter 3. Architecture of Multiplexed QR Code
interpret color data in different ways, leading to compatibility issues. This means that a
QR code that is encoded on one device or platform may not be decoded accurately on
another device or platform, which can cause issues for users.
Finally, color QR codes can be more visually complex, with intricate color patterns
and designs. This can make them more challenging to scan and decode accurately,
particularly if the QR code is printed on a textured or reflective surface.
ZXing is a powerful open-source library that can help to tackle the issues associated
with decoding color QR codes. The library includes several features and functionalities
that make it easier to process the color information and reduce the potential for errors.
One way ZXing tackles these issues is by using advanced image processing tech-
niques to filter out noise and enhance the quality of the image. These techniques can
help to improve the accuracy of the decoding process, particularly when dealing with
colored QR codes that may have additional noise. Another way ZXing helps is by pro-
viding advanced decoding algorithms that can decode the intensity of the color channels
separately. This can help to ensure that the color information is accurately interpreted,
and the final output is correct.
ZXing also provides a range of tools and functionalities to improve compatibility
across different devices and platforms. This includes support for multiple image for-
mats and platforms, making it easier to use the library across different applications and
environments.
24
Chapter 4
Implementation of Multiplexed QR
There have been many different ways to represent colors, each with its own specific
purpose. Some models aim to mimic how the human eye perceives color, while others
are designed to simply recreate colors that can be displayed. A key concept behind
these methods is the use of primary colors, which can be combined to produce a full
range of colors. One particularly important model is the additive color model, which
uses the primary colors red (R), green (G), and blue (B). This model is widely used in
electronic devices and is based on how the human brain processes color.
In the additive model of color, any color can be created by mixing different amounts
of the RGB primary colors. In electronics, these primary colors are referred to as chan-
nels (red, green, and blue) and are represented by a 3-value tuple [R, G, B], where
the minimum and maximum values for each channel are 0 and 255, respectively. This
means that an image can be split into three separate images, each representing the con-
tribution of a single channel, transforming a 3D image into three 2D images. The
reverse process can also be done, combining three 2D images (one for each channel)
into a single image with the mixed colors. Similarly in this chapter, the process that is
followed to create a colored QR code is explained.
This particular demonstration is implemented using a library zxing:a google library
for java EE application for barcode scanning.
25
Chapter 4. Implementation of Multiplexed QR
Figure 4.1: Scheme illustrating the generation of a coloured QR code from three
concatenated black and white QR codes: each colour channel generates a coloured QR
code with 8 colours, resulting from the mix of the R, G and B channels [3]
in the above mentioned bit matrix. Then a buffered image object is declared to store the
image in an object format in the memory which the dimensions declared by the user.
The BufferedImage subclass describes an Image with an accessible buffer of image
data. A BufferedImage is comprised of a ColorModel and a Raster of image data. The
number and types of bands in the SampleModel of the Raster must match the number
and types required by the ColorModel to represent its color and alpha components. All
BufferedImage objects have an upper left corner coordinate of (0, 0). Any Raster used
to construct a BufferedImage must therefore have minX=0 and minY=0.
This bufferedImage object has 14 different types of representations available. In a
simple black-white QRcode the ”TYPE BYTE GRAY” is used where the 1’s in bitma-
trix are stored as grayscaled values(R == G == B).
26
4.1. Encoding QR Code
feed the data to three different colours namely red, blue, green and finally multiplexed
into a QRcode with multiplexed colour values.
Now in the final stage of multiplexing there are 8 different colors formed due to
various possible combinations of the three basic colours used. Now above created there
are three different binary matrics from those three we create a multicolour color buffer-
Image to hold the newer multiplexed qrcode image to be stored.
27
Chapter 4. Implementation of Multiplexed QR
28
4.2. Decoding QR Code
To extract the encoded information, the colored QR code image is first converted
into three separate QR codes representing the intensity of each color component: red,
green, and blue. Each of these color components is then treated as a separate QR code,
and traditional QR code decoding algorithms are applied to them. These decoding
algorithms use mathematical models to extract the information from the QR code.
The code for extracting the red colour component is given in Fig. 4.6. The red color
intensity is computed through inbuilt functions. If the numerical value is greater than
a specific threshold, it is designated as a high value in the red-labelled individual code
that is being generated out of this code. This process is repeated for green and blue
as well. The produced images are very small in size. So to be able to have a clear
representation, the images are scaled to 800x800 pixel dimensions.
Once the information from the three separate QR codes is decoded, it is combined
to produce the final output. The color QR code decoding algorithms can use different
methods to combine the information, including mathematical operations or data pro-
cessing techniques. These algorithms ensure that the information obtained from the
three separate QR codes is integrated accurately to produce the final output.
The decoding process of a colored QR code is highly dependent on the quality of
the image captured. Factors such as lighting conditions, image resolution, and color
29
Chapter 4. Implementation of Multiplexed QR
saturation can affect the accuracy of the decoding process. Therefore, it is important to
use high-quality images and specialized libraries designed to handle colored QR codes
to ensure accurate decoding.
In conclusion, the decoding process of a colored QR code involves converting the
image into separate color components, applying traditional QR code decoding algo-
rithms, and then combining the decoded information to produce the final output. As
technology continues to advance, the use of colored QR codes is expected to increase,
and specialized libraries and decoding algorithms will become increasingly important
in ensuring the accurate extraction of encoded information.
hancement of QR code using colour multiplexing group 38”, the traditional QRcode
30
4.3. Results
These changes in the versions show that even smaller versions of the coloured QR-
code are capable to store information in level comparison with that of higher versioned
traditional QRcode.
Figure 4.10: Colored QRCodes of version 1, 5, 10, 20, 40 storing three times as much
size
4.3 Results
According to the experiments performed over the standard qrcode and the respective
similar tests performed on the multiplexed qrcode the following graph chart is produced
to convey the results in a structured way. The specifications of the used instrument for
testing(camera device) is as follows -
The following graph represents the minimum resolution required to detect the QR-
code at different versions of the used QRcode. This result signifies the use of camera
focus and resolution to read the QRcode using standard camera device. This explains
that a version 1 qrcode requires a minnimum resolution of 100x100, a version 5 requires
a minimum 150x150,a version 20 requires a 250x250 resolution for proper reception.
Similarly, the following graph explains the minimum resolution of the QRcode required
31
Chapter 4. Implementation of Multiplexed QR
Specification Value
IOS version 16.4.1
Processor A13 bionic
RAM 4 GB
Camera 12MP
Flash Yes
to read a colour multiplexed QRcode. This particular reader uses colour QRcode sep-
aration to read each one of them separately with a motto to decipher the data. Here in
this modified version of qrcode it requires a resolution of 100x100 for a version 10,a
200x200 resoltion for a version 20 similarly for a version 40.
32
4.3. Results
4.3.1 Conclusion
Through a thorough study of various optimization techniques used in QR code tech-
nology to increase data storage capacity, it has been found that color multiplexing is a
valid and statistically sound solution. This technique involves using 16 different colors
in a QR code, which significantly enhances its data storage capacity compared to the
traditional bichromatic QR code.
The developed QR code using color multiplexing has been analyzed for its reso-
lution, both when studied through traditional as well as color multiplexed QR codes.
The results show that the resolution of the developed QR code is comparable to the
traditional QR code, while the data storage capacity is significantly enhanced.
This development has several potential applications, including advertising, market-
ing, data storage, retrieval and cryptography as well [11]. By using color multiplexing,
it is possible to store more data in a single QR code, which makes it more convenient
and efficient for data storage and retrieval purposes.
The use of color multiplexing in QR codes has the potential to revolutionize the
way we use QR codes in a wide range of applications. The development of this tech-
nique is expected to lead to further research and experimentation in this field, which
will undoubtedly lead to new insights and innovations that will continue to expand the
possibilities of QR code technology.
33
Summary And Future Scope
Quick response (QR) codes are two-dimensional barcodes that smartphones and other
devices can scan to access information or perform a specific action quickly. QR codes
were invented in 1994 by Denso Wave, a division of Toyota, as a way to track vehicles
during the manufacturing process. The technology was designed to al- low for quick
and easy scanning of information, which made it useful for a variety of applications
There are many advantages of colour multiplexing like - Increased Capacity, Improved
readability, Enhanced security, Enhanced usability.
In long run throughout the project colour multiplexing is used to improve the stor-
age capacity of the QRCode. The original data is divided into 3 equal parts then these
parts are feed separately to the encoding algorithm to form three differently coloured
QRCode these three coloured QRCodes are multiplexed to form a multi-colour QR-
Code. This multiplexed QRCode stores data equal to the three bichromic QRCodes.
This coloured QRCode is demuxed into three different bichromic QRCodes. And these
three different QRCodes are decoded separately to regain the encoded data by concate-
nating the data decoded from the three bichromic QRCodes.
QR (Quick Response) codes are a type of barcode that can be scanned using a smart-
phone or other device with a camera and a QR code reader app. They are often used
to store and share information such as website URLs, product details, and contact in-
formation. There are a few potential issues with QR codes that users should be aware
of:
• Security: QR codes can potentially be used to deliver malware or redirect users
to phishing websites. It is important to only scan QR codes from trusted sources
and to be cautious when scanning codes that you are not familiar with.
• Scanning difficulty: Depending on the quality of the QR code and the camera on
the device being used, it may be difficult to scan the code successfully. This can
be frustrating for users and may lead to them abandoning the process.
• Limited use: QR codes are only useful if the user has a device with a camera and
a QR code reader app. This limits their use to smartphone and tablet users and
excludes those without access to these devices.
• Branding: Some companies have used QR codes in their marketing efforts, but
they can be difficult to integrate into a visually appealing design. This can make
them less effective as a marketing tool.
• Compatibility: Different QR code reader apps may not be compatible with certain
types of QR codes, which can lead to confusion for users. It is important to use a
QR code reader app that is compatible with the code being scanned.
35
References
[1] N. Taveerad and S. Vongpradhip, “Development of color qr code for increasing
capacity,” in 2015 11th International Conference on Signal-Image Technology
Internet-Based Systems (SITIS), 2015, pp. 645–648.
[4] S. R. Toh, W. Goh, and C. K. Yeo, “Data exchange via multiplexed color qr codes
on mobile devices,” in 2016 Wireless Telecommunications Symposium (WTS),
2016, pp. 1–6.
[7] L. Z. You, S. K. Swee, and W. E. Kiong, “High capacity multi colored code sys-
tem,” in 2017 International Conference on Robotics, Automation and Sciences
(ICORAS), 2017, pp. 1–5.
[8] H. J. Galiyawala and K. H. Pandya, “To increase data capacity of qr code using
multiplexing with color coding: An example of embedding speech signal in qr
code,” in 2014 Annual IEEE India Conference (INDICON), 2014, pp. 1–6.
[9] Y. Gu and W. Zhang, “Qr code recognition based on image processing,” 04 2011,
pp. 733 – 736.
[10] Y.-H. Chang, C.-H. Chu, and M.-S. Chen, “A general scheme for extracting qr
code from a non-uniform background in camera phones and applications,” in Ninth
IEEE International Symposium on Multimedia (ISM 2007), 2007, pp. 123–130.
37
References
[11] C. Bhardwaj, H. Garg, and S. Shekhar, “An approach for securing qr code us-
ing cryptography and visual cryptography,” in 2022 International Conference
on Computational Intelligence and Sustainable Engineering Solutions (CISES),
2022, pp. 284–288.
38