Data storage and retrieval have always been an active topic in almost every field. More and more research has been coming up continuously with groundbreaking innovations that proved creativity and the growth of the technological world. As human innovations increase, so does the data; thus, it demands efficiency in space, time, and much more performance metrics. In this fast-moving world, hundreds of users' data in institutions and organizations need to be processed, simplified under the users' unique ID (Identity). A student's ID in an academic institution is needed for attendance, mark allotments, assignments, fees updation, etc. An employee's ID in an organization is used for entry, automatic doors, job allotment, salary credit, etc.
Barcodes initially comprised bars and gaps of various lengths representing bits of information, usually about the object carrying the barcode. It started by printing barcodes on products at groceries as Universal Product Code for faster billing. And now every field has the use of barcodes for speedier access to data and avoid errors caused by manual intervention. Some of its applications are automatic rail car/car identification (Fastag), healthcare and hospital settings, steganography, and barcode tickets. The formulation or methodology that maps the barcode and the message stored in it is called the symbology. The idea of barcodes started with storing data as
The next level of barcodes came into existence as an improvement from the previous works as two-dimensional barcodes, which allowed data storage along both directions such as Data Matrix, Maxi code, Dot code, PDF417, Quick Response (QR) code, Aztec code. As a next-level, these binary barcodes were given color allowing third-dimensional data storage. And the next level of advancement that has started research is embedding pictures into barcodes, thereby allowing barcodes to come out of the machine-readable structure and bridging the gap between humans and machines. Though barcodes allow automatic data retrieval and storage, human intervention has caused chaos. And barcodes in the form of the picture will enable a barcode to carry extra information on the picture of the detail it takes. For example, a barcode in the form of a person's face with the person's institutional ID.
Embedding pictures into barcodes has been done either pixel alteration or luminance and mostly portraits and standard color images like bitmap images. Iuliia Tkachenko et. al.
Gonzalo J. Garateguy et. al
Pengjia Pang et. al
Ye Li et. al
Various researches have been done in improving the barcode's efficiency in terms of space, time, and appearance. The modulation is the process of combining the message and the image according to picture-based barcodes and demodulation is the process of extracting the message from the barcode image separating both. The modulation takes place by altering the pixels or luminance. Research works are being carried out in making the barcodes more efficient as the growing needs in the application demand better performance. The overall procedure of the proposed barcode modulation/ demodulation method is provided in section II. Section III provides the proposed method's experimental results and finally concludes the work in section IV.
Aesthetic barcodes are an emerging field with active improvements in generating picture-embedded barcodes as efficient as possible. A novel encoding/ decoding method has been proposed to decrease visual distortion. The image is divided into blocks, and the message undergoes channel encoding to make it ready for modulation. According to the proposed method, the modulation occurs, and then the finder pattern is applied, generating the complete barcode. Finder pattern is a structure of image that usually is in black and white combinations allowing reading of barcodes- separating them from the rest of the area and letting the reader details about the barcode. The decoding takes place by removing the finder pattern, proposed demodulation, and then retrieving the message using channel decoding.
Algorithm 1- Encoding |
Encode the message M and the Encoded Message matrix is E |
Select the B channel of the input image, I |
Select the pixels to be modified in I |
For a= E[i], i=1 to n(E) |
Check, I[i] ϵ Intensity bin IBk |
Generate Barcode image, B[i]= IBk[a] |
Apply finder pattern to the generated barcode image, B |
The proposed modulation technique introduces 32 Intensity bins, each holding eight intensity values from 0 to 255, as shown in
Algorithm 2. Decoding |
Input: Barcode |
Output: Message M |
Remove the finder pattern and extract the encoded barcode image B |
Select the blue channel of the image B |
Select the modified pixels |
For i=1 to n(B) |
Check, B[i] ϵ Intensity bin IBk |
Check, If IBk[a]==B[i], a=0 to 7 |
Generate Encoded message matrix, E[i]= a |
Decode the Encoded Message matrix E |
and obtain message M |
The input images taken for barcode generation are of two sets- (a) previous works (Picode) (b) Utrecht face database and maintained at a uniform size of 512*512. The previous works have considered specific images for comparison like the WWF logo, Lincoln portrait, Monalisa portrait, Hkust logo, great wall. The Utrecht database is a collection of face images of individuals from which 62 images were taken for this work. Each pixel of the image is assumed to be the module. Still, only alternative modules undergo the modulation where the encoded message is embedded, and the rest remain unaltered. This is done to avoid every pixel in the original image changing, and the human eye is sensitive to abrupt changes. The message (taken to be a person's ID number in this application) is encoded using an RS encoder for error correction. For this application, the ID is a 6-digit number which after channel encoding becomes 42 numbers thereby embedding 42-bit data into the barcode.
The encoded message consists of digits from 0-7. This being the primary motivation in dividing the intensity values into 32 bins, each comprising eight intensity values to represent the possibilities of digits in the encoded message. The encoded message is encoded into the image modules using the proposed modulation technique with Intensity bins. Thereby generating the proposed barcode image, which is then applied with the barcode finder pattern regions. The Data matrix's finder pattern is used here because this is followed in some of the previous works to avoid interrupting the barcode image data region and allowing better detection. The barcode at the receiver side first undergoes finder pattern removal, and then the alternate pixel values are taken into account. The pixel value is then checked for which bin it falls into, and the position of the intensity value in that particular bin is assumed to be the encoded message. The final original message is then obtained by passing the encoded message into the RS decoder. [
We proposed intensity bins-based modulation/ demodulation method which has been implemented with two data sets to emphasize the quality of the barcodes produced by this method with previous works and drew light upon the effect of the evolutionary work in barcodes for IDs. The proposed barcode method has generated barcodes with excellent visual quality with SSIM and MSSIM ranging from 0.98 to 0.99 for both datasets. It produced an average PSNR of 78.30 for dataset 1 and 67.53 for dataset 2. This barcode allows 16kb data storage, a very high quantity of data storage allowed by picture embedded barcodes so far, thus pushing the picture-embedded barcodes to a new level of improvement. The work has been done with 512*512 images and can be done with other image sizes but the embedded capacity will vary. Capturing a real-time barcode image may contain various noises, so the issue can be overcome in the future.