Short distance data transmission method by using QR code

Бесплатный доступ

QR code (quick response code) has become a widely common technology along with the increase in the usage of smartphone. In many areas, QR codes have over taken the place of linear barcodes due to the obvious advantages of large data capacity and ease of data retrieval. In this paper, we propose a novel data transfer scheme that employs the camera in smartphone devices as an alternative data channel. The sender device encodes data as a series of QR code images like the video data type. The video will be exhibited on the screen of smartphones, tablets, or PCs. The receiver device records the video by camera, splits video into frames, and decodes the data from images. This method is implemented by using multiple versions of QR code started from 1 to 40. By conducting several experiments, the version 19 is the best choice for transferring data between smartphone devices because of it’s the ability to transfer 135 Kbit/s without error. To transmit data from tablets and PCs to smartphone devices, the best version of QR code is 29, which allows 277 Kbit/s to be transferred without error. Further, the proposed method shows the advantages of permitting satellite TV channels to transfer files to viewers instead of giving file links. This results in solving the problem of transferring files from IOS and Mac devices to windows and android devices and vice versa.

Еще

Qr code, two-dimensional barcode, quick response code, qr code version

Короткий адрес: https://sciup.org/146282571

IDR: 146282571

Текст научной статьи Short distance data transmission method by using QR code

Цитирование: Деяб О. А. Метод передачи данных на короткие расстояния с использованием QR-кода / О. А. Деяб, Д. Ю. Черников, А. С. Селиванов // Журн. Сиб. федер. ун-та. Техника и технологии, 2023, 16(1). С. 94–103. EDN: TRGVUS

Fig. 1. The framework overview of QR Code plain text, URL or other data types and produces a QR code as an image while the decoder retrieves data by decrypting the coded image. Fig. 1 illustrates the framework overview of the QR code.

Many methods have been presented for developing QR code. The work [3] proposed the use of color QR code instead of black and white QR code to increase the data capacity. The color QR code can store 4 bit in each module whilst the black and white QR code store only 1 bit in each module. In [4], different types of compression algorithm were employed to be to expand the data capacity of QR code. The study [5] generated a color QR code by multiplexing several QR codes, which provided data capacity of up to 24 times when compared to the same size as a standard QR code. The QR Code based on Augmented Reality (AR) System was developed in [6] to increase the data storage in QR Code. In [7], the Vcode – pervasive data transfer based video barcode method was introduced by using the camera of a smart phone as an alternative data channel. This paper proposes transfer data by using video of QR code, which enables to transfer a larger amount of data compared to using Barcode.

II.    Information capacity and versions of the QR code

The QR code has a wide range of versions started from 1 to 40. Each version of the QR code includes a different module configuration. The module refers to black and white dots, which constitute the QR code. Module Configuration denotes the number of modules inside the QR code from version 1 (21 x 21 units) to version 40 (177 x 177) units [8–10]. Fig. 2 illustrates the module configuration of basic QR codes, as follows.

Each version of QR Code is with a different data capacity, which depends on the data type and error correction level. When the amount of data is enlarged, the number of modules needs to be increased to form the QR code. However, this leads to the large size of the QR code image.

III.    QR code error correction

A reliable error correction needs to be used for extracting the contents of the QR code without error despite of being dirty or damaged. This is achieved by adding a sequence of error correction samples to the sequence of data code words. In particular, the QR code uses the Reed-Solomon method to correct errors robustly. Reed-Solomon is a popular and highly efficient mathematical method for correcting errors in data transmission [11]. There are four levels of error correction, and the highest level is the most reliable one for information retrieval. Table 1 shows the error-correcting levels and their approximated error-correcting capacity.

Version 1 (21x21)

Version 2                                        Version 40

(25x25)                                      (144x144)

Fig. 2. Version module configuration of the QR Codes

Table 1. Error correction levels and% of correction

No.

Error correcting level

Approximate amount of correction

1

L

7 %

2

M

15 %

3

Q

25 %

4

H

30 %

The error level is determined by considering the size of the QR code and the environmental conditions. For example, in factories, the Q level (25 % error correction) or the H level (30 %) is applied for the QR code due to the existence of dirt or damage conditions. In clean environments, the L level (7 %) is employed for the QR code. In general, the M (15 %) is commonly used level [4].

IV.    Structure of a QR code

The QR code is built from square modules structured in a regular square matrix and consists of an area encoder and functional patterns. The QR code is surrounded on all four sides by the boundaries of a quiet zone [12, 13]. e. Function patterns are the shapes placed in specific areas of a QR code, which are used to ensure that QR code scanners can correctly identify the code and route it for decoding. There are four kinds of function patterns: alignment patterns, timing patterns, finder pattern, and spacer. The encoding area contains data representing format information, data, version information, and error correction code words. Fig. 3 shows the representation of QR Code structure in detail.

V.    Algorithm

In transmitting stage, the transmitter device can be a smartphone, tablet or PC. Firstly, the input data splits into packets and the size of the data packet must not exceed the data capacity to the selected version of QR code. Then, the data is converted into the type of hexadecimal from 00 to FF. This – 97 –

Fig. 3. Structure representation of a QR Code symbol

Fig. 4. Send and receive algorithm hexadecimal data is encoded as a set of QR code images, which converted to a video. The number of frames per second for the video determines the size of data transmission in the second. The video will display on the screen of sender device.

In receiving stage, receiver can be a smartphone or tablet. The receiving device records the video of QR code from the screen of the sender device. After that, recorded video will separate into a set of images. The number of images depends on the number of frames per second for recorded video. The – 98 – receiver device will extract the data from QR code images and collect the data, which reconstructs the original file.

VI.    Simulation and result

We simulate this project by using a QR code generator and reader application, video editor program, smartphone HUAWEI P30 Lite, tablet HUAWEI MediaPad T3 10 16Gb, and MATLAB carried out on a PC with processor specification Intel(R) Core(TM) i7–8550U CPU @1.80GHz and 64-bit Windows 10 editions operating system. The QR code application is used to create QR code images and read it whilst video editor software, is required for designing a video from images of QR code with appropriate frames per second (FPS). The smartphone and tablet are used to transmit and receive data by displaying and recording the video, respectively. MATLAB runs to split the video into images when reading the data from QR code, reconstructing the original data. We have simulated the proposed method twice times for the purpose of a reliable evaluation. For each simulation, two experiments have been carried out.

The first simulation is conducted for transferring data between smartphone devices by two testing producers. Firstly, we tested the QR code versions from 1 to 40 to choose the best one from them to encode data. The most appropriate version of the QR code was version 19 due to its convenience to display data on the phone screen and extract data without errors.The data capacity for one image of the QR code version 19 is 4.5 Kbit to represent the data type of a hexadecimal. At transmitting smartphone, we made a video that consists of 30 images of QR codes per second. The video size of QR code was adjusted to 209x209 pixels to make it suitable to show on the smartphone's screen. To extract data from the video, it is necessary to use a camera which can record continuously at 30 FPS or higher resolution. Fig. 5. Illustrates the samples images of encoded data.

Fig. 5. The illustration of encoded data

At receiver side, recipient smartphone, records the video from the transmitter via a camera with resolution 1920x1080 FHD and 60fps to extract data. The recorded video is separated into 60 images per second. Each image of the QR code is repeated twice because the video consists of 30 fps and the camera records 60 fps, which is useful for increasing the reliability of the transmission. The recipient smartphone extracts the data from QR code pictures without errors and reconstructs the original file. The size of data transfer in this method was 135 Kbit/s without error. Fig. 6 demonstrates the samples of splitting images from the video.

In the second test, we used the camera of receiving tablet with resolution 720*1280 and 30 fps to extract data from the recording video. After separating the recorded video into images, the quality is decreased compared to that one recorded by smartphone device. The data was extracted from QR codes with data transfer of 135 Kbit/s without errors and reconstructed the original file. Fig. 7 shows the sample of splitting images from the recoded video by the tablet.

In the second simulation, we test transferring data from laptop to smartphone and tablet devices. Since the screen of laptop has a bigger size than the screen of smartphone, the best version of QR code to be used is 29. The data capacity for an image of the used version is 9.25 Kbit for data type hexadecimal. To transfer data from a laptop to a smartphone or tablet, we made a video that includes 30 images of QR codes. The video size was adjusted to 293x293 pixels to make it appropriate to display on the laptop screen. Fig. 8 Illustrates the samples images of encoded data. The second simulation also includes two testing experiments.

In the first test, we recorded a video with the smartphone camera with resolution 1920x1080 FHD and 60fps. The recipient smartphone extracts the data from QR code pictures without errors and creates the original file. The speed of data transfer in this experiment is 277 Kbit/s. Fig. 9 shows the sample of dividing images from the video in this testing experiment.

Fig. 6. An example for splitting the video into images

Fig. 7. An example illustrating splitting the recorded video by the tablet into images

Fig. 8. The samples images of encoded data in the second simulation

Fig. 9. The samples of dividing QR codes from video

In the second test, the video was recorded by using the tablet camera with resolution 720*1280 and 30 fps, which has a lower quality than the resolution of the smartphone. Even though the resultant images are with low quality, the reader program of QR code can extract the data from QR code images without errors. The data transfer in this testing experiment also is 277 Kbit/s. Fig. 10 demonstrates the sample of splitting images from the video.

Fig. 10. The sample of split images from video

VII.    Conclusion

This paper presents a new framework for transferring data from a computer, tablet, and smartphone to tablet and smartphone devices. To transfer data with high reliability, the screen of the sending device needs to be well lighting and not dimly lit. Further, the high-resolution camera of the receiving devices increases the robustness of receiving data without errors. The level (L) is very suitable for error correction when the working environment is with less weather interferences (lighting and dust). The proposed framework results in an advantage of dispensing the use of Bluetooth for transferring data. This advantage can make the Bluetooth available to be utilized for other tasks. It does not need to disconnect the Bluetooth from the other accessories like head phones to transfer data. Also, this framework has the ability to transmit data between devices with different operating system such as (Android, OS).

Список литературы Short distance data transmission method by using QR code

  • Dong-Hee Shin, Jaemin Jung and Byeng-Hee Chang, «The psychology behind QR Codes: User experience perspective», Science Direct Computers in Human Behavior, 2012. vol. 28. 1417-1426.
  • Phaisarn Sutheebanjard, Wichian Premchaiswadi, "QR Code Generator", IEEE 2010 8th International Conference on ICT and Knowledge Engineering, 2010. 24-25 Nov. 89-92.
  • Nutchanad T. and Sartid V. «Development of Color QR Code for increasing capacity», 11th international conference on Signal-Image Technology & Internet-Based Systems, 2015. 645-648.
  • Arora M., C. Kumar C. and Verma A. K. «Increase capacity of QR code using compression technique», Proc. 3rd Int. Conf. Workshops Recent Adv. Innov. Eng. (ICRAIE), 2018. Nov. 1-5.
  • Hiren J. Galiyawala and Kinjal H. Pandya, «To increase data capacity of QR code using multiplexing with color coding: An example of embedding speech signal in QR code», India Conference (INDICON) 2014 Annual IEEE, 2014.
  • Darunee Bunma and Sartid Vongpradhip, «Using Augment Reality to Increase Capacity in QR Code», ISBN, 2014.
  • Liu X., Doermann D. and Li H. «VCode-pervasive data transfer using video barcode», IEEE Trans. Multimedia, 2008.Apr. vol. 10, no. 3, 361-371.
  • Wakahara, Toshihiko; Yamamoto, Noriyasu; "Image Processing of 2-Dimensional Barcode", Conference on Network-Based Information Systems (NBiS), 14th International. 2011.
  • Japanese Industrial Standards, "Two Dimensional Symbol-QR-Code-Basic Specification" JIS X 0510, October 2004.
  • Soo T. J. "QR Code", Synthesis Journal, 2008. 59-78.
  • Goldberg E., Shangguan C. and Tamo I. «List-decoding and list-recovery of reed-solomon codes beyond the Johnson radius for any rate», arXiv preprint, 2021.
  • Nutchanad T. and Sartid V. "Development of Color QR Code for increasing capacity," in 11th International Conference on Signal Image Technology & Internet-Based Systems, 2015, 645-648.
  • ISO/IEC 18004:2000. "Information technology-Automatic identification and data capture techniques-Bar Code symbology- QR Code ", 2000.
Еще
Статья научная