0% found this document useful (0 votes)
4 views

Enhancement of QR Data Storage Capacity Using Color Multiplexing

Uploaded by

u21ec083
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Enhancement of QR Data Storage Capacity Using Color Multiplexing

Uploaded by

u21ec083
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 54

Project Preliminary Report

Entitled

Enhancement of QR Data Storage Capacity using


Color Multiplexing
Submitted to the Department of Electronics Engineering in Partial Fulfilment for the
Requirements for the Degree of

Bachelor of Technology
(Electronics and Communication)

: Presented & Submitted By :

Nikhil Gupta, Siddhesh Sathe, Astel Thottankara


Roll No. (U19EC136, U19EC147, U19EC161)
B. TECH. IV(EC), 7th Semester

: Guided By :

Mehul C. Patel
Assistant Professor, DECE

(Year: 2022-23)

DEPARTMENT OF ELECTRONICS ENGINEERING


SARDAR VALLABHBHAI NATIONAL INSTITUTE OF TECHNOLOGY
Surat-395007, Gujarat, INDIA.
Sardar Vallabhbhai National Institute Of Technology
Surat - 395 007, Gujarat, India

DEPARTMENT OF ELECTRONICS ENGINEERING

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:

Name of Examiners Signature with Date


1.
2.
3.
4.
5.

Dr. P. N. Patel Seal of The Department


Head, DECE, SVNIT (Dec.-2022)
Acknowledgements
I would like to express my profound gratitude and deep regards to my guide Dr. ABC
for his guidance. I am heartily thankful for suggestion and the clarity of the concepts of
the topic that helped me a lot for this work. I would also like to thank Prof. P.N. Patel,
Head of the Electronics Engineering Department, SVNIT and all the faculties of ECED
for their co-operation and suggestions. I am very much grateful to all my classmates
for their support.

Nikhil Gupta (U19EC136)


Siddhesh Sathe (U19EC147)
Astel Thottankara (U19EC161)
Sardar Vallabhbhai National Institute of Technology
Surat

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.

Nikhil Gupta (U19EC136)

Siddhesh Sathe (U19EC147)

Astel Thottankara (U19EC161)

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

4.2.1 Analysis of improvement . . . . . . . . . . . . . . . . . . . . . 30


4.3 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.3.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

x
List of Figures

3.1 Structure of QR code [1] . . . . . . . . . . . . . . . . . . . . . . . . . 14


3.2 Version module configuration of the QR codes [2] . . . . . . . . . . . . 16
3.3 Colour multiplexing in QR . . . . . . . . . . . . . . . . . . . . . . . . 18
3.4 Simple QRCode for the given text . . . . . . . . . . . . . . . . . . . . 19
3.5 Colour multiplexed QRCode for the given Text . . . . . . . . . . . . . 19
3.6 Blue QRCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.7 Possible colour combinations . . . . . . . . . . . . . . . . . . . . . . . 21
3.8 RGB split by image processing techniques and data extraction. . . . . . 23

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] . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.2 QR encoding for Black and White . . . . . . . . . . . . . . . . . . . . 27
4.3 Black and White QRCode . . . . . . . . . . . . . . . . . . . . . . . . 27
4.4 QR encoding for multicolor method . . . . . . . . . . . . . . . . . . . 27
4.5 Red coloured QR code . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.6 Decoding code for Red QR . . . . . . . . . . . . . . . . . . . . . . . . 29
4.7 Storing the generated individual QR codes . . . . . . . . . . . . . . . . 29
4.8 Traditional QR code for the text . . . . . . . . . . . . . . . . . . . . . 30
4.9 Colour multiplexed QRcode for the text . . . . . . . . . . . . . . . . . 30
4.10 Colored QRCodes of version 1, 5, 10, 20, 40 storing three times as
much size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.11 version vs resolution of a normal qrcode . . . . . . . . . . . . . . . . . 32
4.12 version vs resolution graph for colour multiplexed QRcode . . . . . . . 32

xi
List of Tables

3.1 General structure of a QR encoding . . . . . . . . . . . . . . . . . . . 15


3.2 Data capacity of QR code version 40 [2] . . . . . . . . . . . . . . . . . 16
3.3 Colour combinations in QRCode . . . . . . . . . . . . . . . . . . . . . 21

4.1 Version and Dimension information [4] . . . . . . . . . . . . . . . . . 31


4.2 Specification Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

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.1 History of QR Code


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.
In the early 2000s, QR codes began to gain widespread adoption in Japan and other
parts of Asia, where they were used for a variety of purposes, including mobile pay-
ments, event ticketing, and marketing. QR codes were also used in other industries,
such as healthcare, transportation, and logistics, to track and manage information.
In the mid-2000s, QR codes began to gain popularity in other parts of the world,
particularly in Europe and North America. They were used for a variety of applications,
including marketing and advertising, event ticketing, and product tracking.
Today, QR codes are used in a wide range of applications, including marketing, tick-
eting, and supply chain management. They are widely used in many countries around
the world, and have become an important tool for businesses and organizations looking
to quickly and easily transmit information.

1.2 Types of QR Code


There are several types of QR codes, each with its own unique features and applications.
Some of the most common types of QR codes include:

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.

5. Secure QR Codes: These QR codes are encrypted and require a password or


other form of authentication to access the information stored within them. They
are often used for applications such as secure payments and authentication.

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.3 Limitations of Traditional QR Codes


While QR codes are a powerful tool for storing and sharing information, there are sev-
eral limitations to traditional QR codes that can impact their effectiveness in certain
applications. Some of the key limitations of traditional QR codes include:

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.

2. Limited readability: QR codes can be difficult to read in certain lighting condi-


tions or if they are damaged or distorted. This can lead to errors in scanning and
difficulty in accessing the information stored within them.

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.

4. Limited customization: Traditional QR codes have a standardized design, making


them difficult to customize for branding and marketing purposes.

5. Language limitations: Traditional QR codes can only store information in a lim-


ited number of languages, which can be a problem for applications that require
multilingual support.

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

advancements in QR code technology, such as the development of high-capacity and


secure QR codes, have addressed some of these limitations and expanded their applica-
tions.

1.4 Color Multiplexing


Color multiplexing is a technique used in QR codes (and other types of barcodes) to
increase the amount of information that can be encoded in a single symbol. By using
different colors to represent different data elements, it is possible to encode more in-
formation in a given area than would be possible with a black and white code. Despite
the potential benefits of color multiplexing in QR codes, there is still a lack of research
on this topic. In this paper, we aim to address this gap by examining the effectiveness
of different color multiplexing schemes in QR codes. Specifically, we will investigate
how different color combinations and patterns affect the readability and error-correction
capabilities of QR codes.

1.4.1 How it can be helpful?


• Increased capacity: By using different colors to encode different types of infor-
mation, the total amount of information that can be stored in a single QR code is
increased. This can be particularly useful for QR codes that need to store a large
amount of information, such as those used for ticketing or product tracking.

• Improved readability: Using different colors can make the QR code more visually
appealing and easier to read, particularly for those with visual impairments.

• Enhanced security: By encoding different types of information in different col-


ors, it becomes more difficult for someone to tamper with the QR code without
being detected. This can be useful for applications where security is of particular
concern, such as in financial transactions or ticketing.

• Enhanced usability: By using different colors to encode different types of infor-


mation, it becomes easier for users to understand and interact with the QR code.
For example, a QR code could use one color to encode a link to a website, and
another color to encode a phone number.

1.5 Areas of Application


QR (Quick Response) codes are two-dimensional barcodes that can be read by a smart-
phone or other device with a QR code reader. They are often used to store and transmit

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

• Marketing and advertising: QR codes can be used in marketing and advertising


to provide information about products or services. For example, a QR code on a
billboard or bus stop ad could take the user to a website with more information
about the product.

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

• Contactless information sharing: QR codes can be used to share contact informa-


tion or other data without the need for physical contact. For example, a QR code
on a business card could be scanned to add the person’s contact information to
the user’s phone.

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:

1. To examine the feasibility and effectiveness of using color multiplexing in QR


codes as a means of increasing data storage capacity. This could involve analyz-
ing the impact of different color schemes and encoding methods on the overall
capacity of the QR code.

2. To compare the data storage capacity of color multiplexed QR codes to other


methods of data storage, such as traditional QR codes or other types of barcodes.

3. To investigate the potential applications of color multiplexed QR codes in various


industries and settings, and to assess their potential benefits and drawbacks in
these contexts.

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.

5. To explore the potential challenges and limitations of using color multiplexing in


QR codes, and to identify strategies for overcoming these challenges.

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.

1.8 Report Outline


The report is structured in the following way to provide a comprehensive analysis of
the use of QR Codes in data storage and transfer:
Chapter 1 provides an introduction to the history of QR Code and its invention,
tracing the development of the technology in response to the shortcomings of traditional
data storage methods. This chapter establishes the context for the research, highlighting
the need for a more effective and efficient method of data storage and transfer.
Chapter 2 presents a literature survey on the topic, analyzing previous research and
studies related to the use of QR Codes. This chapter provides a broad overview of the
existing knowledge base, identifying gaps in current research and highlighting oppor-
tunities for further investigation.
Chapter 3 delves into the structure and architecture of the QR Code, providing a
detailed explanation of the various components that make up the code. This chapter

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

2.1 Literature Reviews


Noriyasu Yamamoto briefs In recent years, QR codes and various 2-Dimensional codes
are widely used to specify the user ID or URL of the Internet. However, this QR code
is not good because it is a monotonous appearance is a collection of black and white
dots. Recently, various 2-Dimensional codes have been developed and which can be
superimposed on the image or use colorful dots to improve the design of the QR code.
This paper presents the evaluation of the colored QR code and the experimental
reading characteristics of the code. Recently, various new types of QR code have been
developed, such as QR-JAM [4] and designQR. These examples are shown in Figures
2 and 3. Although QR-JAM can multiplex more than 40% information, it is limited
to the 5-L type. A new non-systematic way of encoding the errorcorrecting RS code
has been developed and the images are multiplexed on the QR code . Experiments
results show that an ordinary black and white QR code can be colored by changing
the value of the saturation, brightness and hue of each dot of the QR code without
quality degrading characteristics.As a result, the characteristics of three types of color
attributes for judging black and white correctly of QR code become apparent. The
following features have become clear

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

João F. C. B. Ramalho describes The access and exchange of information increased


dramatically in the last years and Quick Response (QR) codes are a facilitating tech-
nology. Assembled with black and white modules and able to store different types of
information (numeric, alphanumeric, kanji, kana) with high density and robustness to
reading errors, QR codes have spark interest and visibility among users being applied
in several fields of society. Challenges encompass the increase of storage capacity to
keep promoting their use in a broader range of applications. We propose the use of
multiplexing methods based on colour to generate high density QR codes with 3 times
storage capacity increased when compared to traditional QR codes. A methodology to
decode the multiplex coloured QR code, based on colour separation threshold aided by
maximum likehood criteria to minimize the error associated with decoding and maxi-
mizing the foreseen storage capacity, is also presented.
A fundamental concept in colour is that a broad spectrum can be created through
the mixing of primary colours in different proportions. Models based on this princi-
ple are named additive or subtractive colour models, and an example is the RGB one
used in this work. The RGB model is described by three independent channels, one
for each primary R, G and B colours. An image is seen as 3-dimensional and can be
split into three bidimensional images, each one assigned to one channel. The reverse
methodology can be also applied to multiplex three bidimensional images into one sin-
gle 3-dimensional image, inserting in each channel a 2-dimensional image to create a
final image with colour resulting from the RGB mix. A 2- dimensional image without a
colourmap associated is a monochromatic image, the same as the traditional QR codes.
So, generating 3 monochromatic QR codes (one for each channel) with similar fea-
tures (physical size and same version) and concatenated into one of the channels yield
an 8 colour QR code, A new combined methodology based on the colour multiplex-
ing scheme, using the RGB model and a model to reduce the errors associated with
colour identification is proposed, enhances the QR code storage capacity. An three-fold
increase in the storage capacity of conventional monochromatic QR codes is attained,
providing the opportunity to use coloured QR codes in different IoT applications [6].

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.

3.1 Structure of QR Code


QR codes are two-dimensional barcode symbols that are used to encode and transmit
data. They are composed of a grid of black and white squares arranged in a specific
pattern. The data is encoded in the QR code by adding additional black and white
squares to the pattern in a specific way. The basic structure of a QR code consists of:

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

Fig. 3.1 illustrates a structure of 2D barcodes:

Figure 3.1: Structure of QR code [1]

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

Table 3.1: General structure of a QR encoding

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)

3.2 Specifications of QR Code


QR codes were originally developed in Japan for use in the automotive industry, but
have since become widely used for a variety of purposes, such as advertising and event
ticketing.
A QR code consists of a grid of black and white squares arranged in a specific
pattern. The code can contain a variety of data, including text, numbers, URLs, and
other types of data. QR codes are read by scanning the code with a smartphone or QR
code reader, which decodes the data contained in the code and displays it on the device.
QR codes have a number of specifications that define their size, format, and data
capacity. The size of a QR code can range from 21x21 squares to 177x177 squares.
Fig. 3.2 shows the module configuration of the basic QR codes. The amount of data
that a QR code can hold depends on its size and the type of data being encoded. For
example, a QR code with a capacity of 4,296 alphanumeric characters can hold more
information than a QR code with a capacity of 2,953 numeric characters. Table. 3.3
depicts the capacity for version 40 QR Code.
QR codes can also be customized with colors and logos, as well as with error correc-
tion levels that allow the code to be read even if it is partially damaged or obscured. QR
codes are widely used in a variety of applications, including product tracking, payment
systems, and event ticketing.

3.3 Encoding QR Code


QR codes use four standardized encoding modes (numeric, alphanumeric, byte/binary,
and kanji) to store data efficiently.

15
Chapter 3. Architecture of Multiplexed QR Code

Figure 3.2: Version module configuration of the QR codes [2]

Table 3.2: Data capacity of QR code version 40 [2]

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

1. Input the data that you want to store in the QR code.

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.

2. Divide the data into 8-bit data blocks.


Next, the data is divided into a series of 8-bit data blocks, with each block rep-
resenting a character in the data. For example, if the data consists of the word
”hello,” it would be divided into the following data blocks: ”h,” ”e,” ”l,” ”l,” and
”o.”

3. Apply an error correction algorithm to the data blocks to add redundancy.

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.

5. Add function modules to the QR code to encode additional information.

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.

3.4 Multiplexing in QR Code


A normal QR code is typically made up of a grid of small squares, with each square
representing a bit of information. The amount of information that can be stored in a QR
code is directly related to the number of squares in the grid. For example, a QR code
with a grid that is 25 squares wide and 25 squares tall can store 625 bits of information.
The density of the information that is encoded in a QR code is also a factor in the
amount of information that can be stored. If the information is encoded using a higher
density, more information can be stored in a given QR code. However, using a higher
density also makes the QR code more difficult to read, as the scanner needs to process
more information in order to extract the information it contains.
Overall, the amount of information that can be stored in a normal QR code is limited
by the size of the code and the density of the information that is encoded in it. However,
by using techniques such as multiplexing and error correction, it is possible to store

17
Chapter 3. Architecture of Multiplexed QR Code

Figure 3.3: Colour multiplexing in QR

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.

3.4.1 What is Multiplexing

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 -

”What are you waiting for... scorpion wins flawless victory”

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

Figure 3.4: Simple QRCode for the given text

Figure 3.5: Colour multiplexed QRCode for the given Text

3.4.2 How Multiplexing Can Be Helpful?


One way that multiplexing can be helpful in QR codes is by allowing the code to store
more information in the same amount of space. QR codes are made up of a grid of small
squares, with each square representing a bit of information. By using multiplexing
techniques, it is possible to store multiple bits of information in each square, which can
significantly increase the amount of information that can be stored in a given QR code.
Another way that multiplexing can be helpful in QR codes is by enabling the code
to be read more quickly and efficiently. When a QR code is scanned, the scanner needs
to process the information contained in the code in order to extract the information
it contains. By using multiplexing techniques, it is possible to reduce the amount of
processing that is required, which can make the process of reading a QR code faster
and more efficient.
One more way that multiplexing can be useful is by creating three different QR
Codes having logic high colors as Red, Green and Blue. These three codes can then be
superimposed on top of each other which will be then used for data storing. Doing this
will can improve the data storing capacity of a simple QR Code by 3 times.

19
Chapter 3. Architecture of Multiplexed QR Code

Overall, multiplexing can be a useful tool in the design and implementation of QR


codes, as it can allow the codes to store more information and be read more quickly and
efficiently.

3.4.3 Color treatment in current available QRcodes


If the current algorithm is used for decoding the colour multiplexed QRCode it will
treat the brighter colours as white == 0 and the darker colours as black == 1 and the rest
of the decoding will proceed and hence any bichromic QRCodes can be decoded with
the same standard decoder without any fail.

Figure 3.6: Blue QRCode

This particular QR code can be decoded to


”As I walk through”
As from the above example it can be seen that any bichromic coloured QRCodes
can be decoeded with the same standard decoder.

3.5 Multiplexing using RGB


To allow well seperated colours in the rgb sectrum we use colours like Red, Green ,
Blue which have values like (255,0,0),(0,255,0),(0,0,255).
RGB layering of three different QR codes to create a color multiplexed image. This
technique involves generating three QR codes, each with a different color channel (red,
green, and blue). The QR codes are then superimposed on top of each other, with each
QR code representing one of the color channels.
To decode the color multiplexed image, a QR code reader or scanner is used to
capture and decode each of the individual QR codes. The decoded data from the QR
codes is then used to reconstruct the original color image by combining the data from
the three QR codes.

20
3.6. Decoding QR Code

Table 3.3: Colour combinations in QRCode

Red Green Blue HEX Colour


0 0 0 0x000000 black
0 0 1 0x0000FF Blue
0 1 0 0x00FF00 Green
0 1 1 0x00FFFF Cyan
1 0 0 0xFF0000 Red
1 0 1 0xFF00FF Magenta
1 1 0 0xFFFF00 Yellow
1 1 1 0xFFFFFF White

Figure 3.7: Possible colour combinations

One potential application of this technique is in creating augmented reality (AR)


experiences, where the QR codes can be used to encode and transmit additional in-
formation about the AR content. It could also be used in other applications where it
is necessary to transmit a large amount of data in a compact and easily recognizable
format, such as in marketing or advertising materials.

3.6 Decoding QR Code


The steps for decoding a QR code can vary depending on the specific implementation
and tools being used. However, here are the general steps involved in decoding a 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

occurred during the scanning process.

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.

4. Format information decoding: The QR code contains format information in the


form of a series of bits that are encoded in the code. This information is used
to determine the version of the QR code, the error correction level, and other
metadata about 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.

3.7 Demultiplexing of Colored QR Code


There are a few different approaches to demultiplexing colored QR codes, and the spe-
cific approach used will depend on the specific requirements of the application and the
data being encoded in the QR code. Some common approaches include using color fil-
ters to separate the different color channels, using multiple cameras to capture different
color channels simultaneously or by using algorithms on the software end to differenti-
ate the colors.
According to the above mentioned method of multiplexing, demultiplexing in done
in the reverse mannner. Here the multicoloured qr is separated in three bichromic qr-
codes with colours like Red,Green and Blue respectively. Then these three formed QR-
codes are decoded by a standard bichromic decoder to get the text information stored in
them. Then this information stored is concatenated together in the order of Red,Green
and blue and returned to the user.

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.

4.1 Encoding QR Code


The encoding of the QR is done using the zxing library. The process begins with using
the java IOImage object to create a buffered Image specified along with the required
dimension of the final qrcode. In this particular demonstration of colour multiplexing
we are multiplexing the three different colour QRcodes to form a final multiplexed 8
coloured QRcode.

4.1.1 The general process of encoding


The basic process of encoding includes creating a bitmatrix object which acts as a
container for the qrcode image which is to be generated during the encoding process.
The Bitmatrix is a matrix of dimension equal to specified dimensions by the user with
boolean values which signifies a black module by as 1 and a white as one. Then this
QRcodeReader class is used to generate the qrcode code binary matrix which is stored

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

4.1.2 Creating coloured qrcodes


The basic concept behind creating the coloured QRCode is using the same encoding as
simple qrcode but at the time of image creation siginifying the logic 1 as the desired
colour. For the final multiplexing, we divide the required data into three groups and

26
4.1. Encoding QR Code

Figure 4.2: QR encoding for Black and White

Figure 4.3: Black and White QRCode

feed the data to three different colours namely red, blue, green and finally multiplexed
into a QRcode with multiplexed colour values.

Figure 4.4: QR encoding for multicolor method

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

Figure 4.5: Red coloured QR code

4.2 Decoding QR Code


It is known that a colored QR code is created by embedding data into a digital image that
is composed of different colors, as opposed to the traditional black and white version.
The color distribution in the image contains encoded information, and the decoding pro-
cess involves breaking down the colors into their individual components. This process
is essential because the traditional QR code reader can only decode black and white QR
codes.

28
4.2. Decoding QR Code

Figure 4.6: Decoding code for Red QR

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.

Figure 4.7: Storing the generated individual QR codes

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.

4.2.1 Analysis of improvement


In accordance with various tests carried to test this QRCodes liability, the results sig-
nifies the reduction is storage space as follow. From the text information of ”En-

Figure 4.8: Traditional QR code for the text

Figure 4.9: Colour multiplexed QRcode for the text

hancement of QR code using colour multiplexing group 38”, the traditional QRcode

30
4.3. Results

encoder makes use of a version 4 qrcode exhibiting dimensions of 41 x 41 including the


quite zone.
While for the same data the coloured qrcode encoder makes use of a version 2
qrcode of dimensions 33x33.

Table 4.1: Version and Dimension information [4]

Type Version Dimensions


Traditional BnW 4 41x41
Colour multiplexed 2 33x33

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

Table 4.2: Specification Table

Specification Value
IOS version 16.4.1
Processor A13 bionic
RAM 4 GB
Camera 12MP
Flash Yes

Figure 4.11: version vs resolution of a normal qrcode

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.

Figure 4.12: version vs resolution graph for colour multiplexed QRcode

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.

[2] S. Tiwari, “An introduction to qr code technology,” in 2016 International Confer-


ence on Information Technology (ICIT), 2016, pp. 39–44.

[3] J. F. Ramalho, R. Ferreira, R. Amante, M. Amaral, J. Cardoso, I. Ferreira,


J. Almeida, and P. S. André, “Promoting iot education for pre-university students
with coloured qr codes : Colour multiplexed qr codes,” in 2018 3rd International
Conference of the Portuguese Society for Engineering Education (CISPEE), 2018,
pp. 1–5.

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

[5] T. Wakahara, S. Damri, and N. Yamamoto, “A study on the reading character-


istics of colored 2-dimensional code,” in 2012 15th International Conference on
Network-Based Information Systems, 2012, pp. 572–576.

[6] J. F. C. B. Ramalho, L. Carlos, R. A. S. Ferreira, and P. S. André, “Coloured


qr codes for the internet of things,” in 2019 SBMO/IEEE MTT-S International
Microwave and Optoelectronics Conference (IMOC), 2019, pp. 1–3.

[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

You might also like