A High Capacity Color Barcode framework is proposed by exploiting the spectral diversity afforded by the Cyan; Magenta and yellow print colorant channels and the complimentary Red, Green and Blue channels, respectively, used for capturing color images. Here a three-fold increase in the data rate is achieved by encoding independent data in the C, M, and Y print colorant channels and decoding the data from the complimentary R, G, and B channels captured via a mobile phone camera. To mitigate the effect of cross-channel interference among the print colorant and capture color channel, Expectation Maximization Type Algorithm is used that estimates the parameters from regions encoding the data itself.
INTRODUCTION |
A barcode is an optical machine-readable representation of data relating to the object to which it is attached. It is used for
tagging objects with identification and tracking data for automating sales and inventory tracking tasks [8]. Originally
barcodes represented data by varying the widths and spacing of parallel lines, referred to as linear or one-dimensional (1D).
Later they evolved into rectangles, dots, hexagons and other geometric patterns in two-dimensions (2D). Common
examples of 2-D barcodes include QR (Quick Response) code [7], Aztec code, Data matrix, HCCB (High Capacity Color
Barcodes) etc. These are used for the purpose of facilitating access to online information about products and services
advertised in print media. The URLs (Universal Resource Locator) for the online information can also be embedded within
the print and upon decoding, allow the users to access the information. |
Color 2-D barcodes are referred to as 3-D codes where color represents the third data embedding dimensions [11]. Color
is a common image property that can be used to increase information density and is sometimes used to improve the visual
appeal of barcodes [13]. Most of the color barcodes provide increased data rates by encoding data in the color of small
shapes like triangles, rectangles etc. Here a new framework for High Capacity Color Barcode construction is proposed that
enables extension of existing monochrome barcodes to color. Data is independently encoded in three monochrome barcodes
which are then combined as the Cyan, Magenta and Yellow colorant channels within a single print leading to a three-fold
increase in data rate compared with the corresponding monochrome barcode. The data in the Cyan, Magenta and Yellow
colorant channels are decoded from the corresponding complimentary Red, Green and Blue camera sensor channels. An
Expectation Maximization (EM) type approach is used to minimize the intercolorant channel interference which iteratively
estimates the modal parameters and print colorant channels |
RELATED WORK |
Barcodes are intended for consumer use like, a consumer can take an image with his/her cell phone camera of a barcode
on a product, and retrieve relevant information about the product [12]. The barcodes are usually read using computer vision
techniques. Barcodes can be used to link interested parties to any information of interest, by re-directing their internetenabled
device to the appropriate webpage. With proper access privileges, the camera user can also obtain information related to product security, from track and trace to product provenance, authentication and forensics. The proper design of
color based barcodes often results in doubling of payload density over default conditions, [15] and hence provides a more
effective security solution. |
A 2D color barcode can hold much more information when compared to a binary barcode. Two dimensional barcode is
gaining popularity as a pervasive technology for mobile applications. When used along with camera phones, the 2Dbarcode
can provide a link between the digital and the real world [14]. 2D barcodes have increasing significance as the
ubiquity of high-resolution cameras, combined with the availability of variable data printing, drives increasing amounts of
“click and connect” applications. Barcodes hence, serve as an increasingly significant connection between physical and
electronic portions, or versions, of documents itself. |
Microsoft’s High Capacity Color Barcode technology uses 4 or 8 colors per patch [1]. But, the observed color of a
surface depends on the illuminant spectrum and on the surface reflectivity, which complicates the task of decoding the
content of the barcode. One of the popular solutions is to append a “palette” to the barcode with the reference colors. The
algorithm helps in decoding groups of color bars at once, exploiting the fact that joint color changes can be represented by a
low-dimensional space. |
The HCCB uses Cyan, Magenta and Yellow colorant separations available in color printers and enable high capacity, by
independently encoding data in each of these separations [4]. In each colorant channel, payload data is conveyed using a
periodic array of elliptically shaped dots whose individual orientations are modulated to encode the data. The overall color
barcode is obtained when these color separations are printed in overlay as in color printing. The barcode data is extracted
from a conventional color scan of the barcode, using Red, Green, and Blue channels complementary, respectively, to the
print Cyan, Magenta, and Yellow channels. For each channel, the periodic arrangement of dots is exploited to enable
synchronization by compensating for both global rotations/scaling in scanning and local distortion in printing [3]. To
overcome the color interference, an interference minimizing data encoding approach is proposed along with a channel
model that captures the characteristics of the interference, enabling more accurate data recovery. An error correction
methodology is also included that can effectively utilize the channel model. |
A PER CHANNEL BASED FRAMEWORK |
A. Data Encoding |
As illustrated in Fig.1, Cyan, Magenta and Yellow colorant layers carry independent data m1, m2 and m3 respectively
which are then overlapped together to obtain the color barcode. It is a framework for extending monochrome barcodes to
color [16]. The technique must be robust to variations in gray level, for encoding data into individual colors. |
B. Data Recovery |
The overview of the data recovery process is shown in Fig.2. Here the captured barcode is first localized and then
separated into Red, Green and Blue color channels, as these correspond to the inverted versions of the complimentary Cyan,
Magenta and Yellow colorant layers. Finally the encoded data can be extracted from the Red, Green and Yellow capture
channels along with a color interference cancellation algorithm. The steps shown in Fig.3 can be briefly described as
follows. |
1) Localization and Geometry Correction: The captured barcode is first converted from color to grayscale, and then the
localization and geometry correction algorithm for monochrome barcode on the grayscale images is used [17]. Further the
printed barcode is localized and segmented in to its Red, Green and Blue capture channels. |
2) Color Interference Cancellation: To overcome the effects of inter-colorant interference, an interference cancellation
procedure is used. This consists of two approaches, viz, the Pilot Block approach that uses suitable selections of colors for
the synchronization blocks and an Expectation Maximization approach that estimates the parameters from regions encoding
the data itself. |
a) Pilot Block Approach: Here six pilot blocks are included in the design of the barcode which correspond to six
combinations of the colorant layers, i.e., C, M, Y, CM, CY, and MY, where the latter three represent the printer blue, green,
and red, respectively. For encoding pilot blocks, the positioning marks are used but they do not carry any data. Further the
optical densities are computed for each pixel contained inside the positioning marks as; |
|
where Isk
(W) is the captured image value corresponding to the substrate in the k channel and d
= d(λ). An estimate is
then calculated from these observed values. |
b) EM Type Approach: This is a general approach that uses an iterative algorithm without requiring pilot blocks. Here
convergence threshold is selected depending on the interference level seen in each channel. The thresholds for the estimated
Cyan, Magenta and Yellow channels are set as: |
|
The algorithm is repeated until the measured interference falls below the threshold value. |
Algorithm EM-Type Algorithm: |
Input: RGB scan of the barcode |
Output: D |
begin |
Initialize: Set D to be a 3×3 identity matrix |
repeat |
Setting D to its current estimate, minimise the cost |
function over I; |
|
Setting I to its current estimate, minimize the cost
function over D; |
|
until improvement in cost function ‖DI − d‖ is less than predefined convergence thresholdτ;
end |
where D is the matrix whose ith column is [dRi,
, dGi,
, dBi
and I = [Ic, IM, IY]T at a given location (x, y) are obtained from the
recorded density d = [dR, dG, dB at that location by |
|
3) Data Recovery from Color Channels: Three grayscale images corresponding to Cyan, Magenta, and Yellow printing
layers are obtained after performing the color interference cancellation. Data can then be recovered from each of these
grayscale images by using a data recovery algorithm which consists of binarizing [9] the grayscale images and first bit
values corresponding to each of the barcode blocks are obtained. |
PERFORMANCE EVALUATION |
To evaluate the performance of the High Capacity Color Barcode framework, first a monochrome 2-D barcode is selected
and then its functionality is extended to color as shown in Fig.3. |
Next, per-colorant-channel color versions of monochrome barcode is extended to generate encodings of independent data
like URLs, in each of the Cyan, Magenta, and Yellow colorant channels as illustrated in Fig. 4, 5 and 6. |
These Cyan, Magenta and Yellow colorant channels are then printed in overlay to generate the final color versions of the
barcode which is given in Fig.7 as, |
Now, the captured barcode is first localized and separated into Red, Green and Blue channels that are converted from
color to grayscale as in Fig.8. |
All these three grayscale images corresponding to Cyan, Magenta and Yellow printing layers respectively are obtained by
performing color interference cancellation. Data is then recovered from these by binarization and thresholding operation which are utilized by the error correction decoder. The screenshots of the data that are encoded and decoded in and from the
High Capacity Color Barcode is shown in Fig.9 and 10. |
CONCLUSIONS AND FUTURE ENHANCEMENTS |
This framework provides an effective method for extending monochrome barcodes to color which offers three times the
data rates of their monochrome counterparts. The spectral diversity provided by color printing and capture systems are
exploited along with a model-based interference cancellation that mitigates inter-channel color interference. The error rates
are in ranges which are handled by the error correction coding available for monochrome barcodes though, bit error rates
and therefore information capacities vary across the three resulting channels. |
Per-colorant-channel High Capacity Color Barcodes can be implemented in Visual Cryptography that can be decoded
directly by the human visual system without any special calculation for decryption. Here a new type of cryptographic
scheme is considered which can decode concealed images without any cryptographic computations. It is a secret sharing
scheme which allows the encryption of a secret image into ‘n’ shares that are distributed to ‘n’ participants. Here the visual
variant of the ‘k’ out of ‘n’ secret sharing problem is extended in which a dealer provides transparency to each one of the
‘n’ users. Any ‘k’ of them can see the image by stacking their transparencies but any ‘k-1’ of them gains no information about it. In the proposed work, High Capacity Color Barcode can be attached to various numbers of shares to assure
security. |
Figures at a glance |
|
|
|
|
|
Figure 1 |
Figure 2 |
Figure 3 |
Figure 4 |
Figure 5 |
|
|
|
|
|
Figure 6 |
Figure 7 |
Figure 8 |
Figure 9 |
Figure 10 |
|
References |
- Bagherinia.H and Manduchi.R, (2011) ?A theory of color barcodes,? in Proceedings of IEEE Computer Vision Workshops, pp. 806?813.
- Bishop.C.M, (2006) ?Pattern Recognition and Machine Learning?. New York: Springer-Verlag.
- Blasinski. H, Bulan. O and Sharma. G, (2013) ?Per-Colorant-Channel Color Barcodes for Mobile Applications: An Interference Cancellation Framework? on Image Processing, vol. 22, no. 4.
- Bulan.O and Sharma.G, (2011) ?High capacity color barcodes: Per channel data encoding via orientation modulation in elliptical dot arrays,? IEEE Transactions on Image Processing., vol. 20, no. 5, pp. 1337?1350.
- Bulan.O and Sharma.G, (2012) ?Improved color barcodes via expectation maximization style interference cancellation,? in Proceedings of the IEEE International Conference Acoustic Speech Signal Processing., pp. 1509?1512.
- Grillo.A, Lentini.A, Querini.M, and Italiano.G.F,(2010) ?High capacity colored two dimensional codes,? in Proceedings of the International Multiconference on Computer Science and Information Technology pp. 709?716.
- Hara.M, Watabe.M, Nojiri.T, Nagaya.T, and Uchiyama.Y, (1995) ?Optically readable two-dimensional code and method and apparatus using the same,? U.S. Patent 5 726 435,.
- Kato.H and Tan.K.T, (2007) ?Pervasive 2D barcodes for camera phone applications,? IEEE Pervasive Computer, vol. 6, no. 4, pp. 76?85.
- Longacre.A and Hussey.R,(1997) ?Two dimensional data encoding structure and symbology for use with optical readers,? U.S. Patent 5 591 956,.
- Lyons.S and Kschischang.F.R,(2010) ?Two-dimensional barcodes for mobile phones,? in Proceedings of 25th Biennial Symposium on. Communications, pp. 344?347.
- Mayer.J, Bermudez.J, Legg.A, Uchoa-Filho.B, Mukherjee.D, Said.A, Samadani.R, and Simske.S,(2009) ?Design of high capacity 3D print codes aiming for robustness to the PS channel and external distortions,? in Proceedings of IEEE International Conference on Image Process., pp. 105?108.
- Parikh.D and Jancke.G, (2008) ?Localization and segmentation of a 2D high capacity color barcode,? in Proceedings of the IEEE Workshop Applications of Computer Vision., pp. 1?6.
- Schubert.E and Schroeder.A,(1996) ?Vision-based reading system for color coded bar codes,? Proceedings of SPIE, Machine Vision Applications of Industrial Inspection., vol. 2665, pp. 59?68.
- Simske.S, Sturgill.M.S, and Aronoff.J, (2009) ?Effect of copying and restoration on color barcode payload density,? in Proceedings of 9th ACM Symposium Document Engineering, pp. 127?130.
- Simske.S.J, Aronoff.J.S, and Sturgill.M,(2010) ?Revenge of the physical - mobile color barcode solutions to security challenges,? in Proceedings of Optical Document Security, pp. 184?197.
- Sharma.G and Trussell.H.J,(1997) ?Digital color imaging,? IEEE Transactions on Image Processing., vol. 6, no. 7, pp. 901?932.
- ?The 2D data matrix barcode,? Comput. Control Eng. J., vol. 16, no. 6,p. 39, Jan. 2005.
|