International Journal of Engineering Trends and Technology (IJETT) – Volume 9 Number 4 - Mar 2014 VLSI Implementation of Black and White QR Code with Interference Cancellation Rate M.Ramya#, M.Jayasheela* PG Scholar, HOD of ECE, Kalaingnar karunanidhi institute of technology, Coimbatore Kalaingnar karunanidhi institute of technology, Coimbatore Abstract A new high-speed, high-accuracy Field programmable gate array (FPGA) based method for generating QR Code for various text sizes had been proposed. This is carried out by exploiting the spectral density of cyan, magenta and yellow colors. Here forward error correction method is used for correcting the errors while converting the data into bits and blocks. The two main coders used for forward error correction is Reed Solomon (RS) and convolution code. At the same time, an efficient QR code which is capable to deal with more complex distortion, than other codes. The QR code is generated from mask pattern generation. The major advantage of the proposed system is data can be retained for long time and can be used mostly in stenography. Keywords-Reed Solomon (RS), Field programmable gate array (FPGA) 1. INTRODUCTION Bar code is one of the existing system which is very fast in scanning and more accurate when compared to other coding systems.. Barcode enables tracking in an efficient manner. The speed of scanning the barcode system is very high when compared to manual data entry method. 2D barcode is developed from 1D barcode and the information that is encoded will be stored in vertical direction as well as in horizontal direction. The advantages of 2D barcodes includes: less area, high embedding capacity, higher density, higher error detection level. The advanced level of barcode is the stacked barcode which are stacked one upon another. These barcodes are printed in a rectangular shape which can able to achieve area. A special type of stack two-dimensional barcode is PDF417. The advanced level of barcode is the QR code which is a advanced matrix two-dimensional barcode. These QR codes can able to detect the errors more effectively than other codes such 1D and 2D barcodes. The embedding capacity of the QR code is very less when compared to the other barcodes. A. Features of QR Code QR Code (Quick Response Code) There four levels of error correction, and the maximum symbol size can encoding 7089 numeric data or 4296 alphanumeric data [1]. The highest error correction level is up to 30% of code words of the symbol. The advanced features of QR code are: ISSN: 2231-5381 1) High embedding Capacity. 2) High speed scanning 3) Represented by two bits of data. 4) It can be readable from any direction from 360 degree. 2. PER-COLORANT DATA ENCODING Each QR Code symbol consists of an encoding region, alignment patterns and function patterns, as shown in Fig. 1. Function patterns includes finder, separator. These are not used for encoding the data. These are detected with several versions from version 1 to version 40. The encode steps of QR Code are shown below. Firstly input data is encoded formed bit stream in an efficient mode. The bit streams which are obtained by encoding the data are divided into code words. These code words are again divided into sets of blocks and error correction level is added to all the set of blocks. These code words are masked with mask pattern. Finally function patterns and separators are added into the QR symbol. A QR Code symbol is formed as shown in the figure 1. Fig .1 Structure of QR code Compared with 1D bar code, the 2D barcodes has a much larger capacity which can hold more data than 1D barcode. A QR code capacity is up to 4296 letters, and 2953 binary code word data and 7089 digits. 3. BIT TO BLOCK CONVERSION Initially the data is given as input. The information encoded by a QR code may be made up of four standardized types "modes" of data such as numeric, alphanumeric, byte / http://www.ijettjournal.org Page 162 International Journal of Engineering Trends and Technology (IJETT) – Volume 9 Number 4 - Mar 2014 binary or through supported extensions, virtually any type of data. The table describes the data capacity of the QR code 4. PROPOSED SYSTEM The proposed system is composed of two main coder for converting the obtained data into stream of datas. The two main coders are Table 1: Data Capacity QR CODE DATA CAPACITY Numeric only Max. 7,089 characters Alphanumeric Max. 4,296 characters Binary Max. 2,953 bytes Kanji, full-width Kana Max. 1,817 characters All these datas are collected and converted into ASCII values. Then the data is divided into groups of two elements. Each ASCII value is added with next data’s ASCII values. All the data’s values are added accordingly and grouped into 11 bits. These bits are converted into Block. The diagrammatical representation of Bit to Block Conversion is shown in Figure 1.The Table 1 shows the data capacity of the QR code. If the input is numeric then it can store maximum characters up to 7089 bits. If the input is alphanumeric then it can store maximum characters up to 4296 bits. If the input is binary then it can store maximum characters up to 2953 bits. If the input is kanji then it can store maximum characters up to 1817 bits. Reed Solomon Coder Convolution coder Reed Solomon coder detects burst error. The input data are arranged in block format and parity blocks are added with each set. In order to achieve variable code rate scaling is performed on the output of the convolution encoder. By concatenating the output of both reed Solomon coder and convolution coder, the input provided is converted into stream of data. Convolution codes are used to detect in a bit-by-bit basis. They are particularly suitable for implementation in hardware. The outputs of all these data are concatenated and the resulting bits are converted into streams of data. That is an extremely important point and that is what gives the convolution code its error correcting power. Fig.2: Concatenation of Bits Fig.1: Bit to Block Conversion In additional to the bit to block conversion all the data should be encoded such that the errors can be easily detected and corrected. For these purpose two different encoders such as RS encoder and Convolutional encoder have been used which is explained in further chapters. The output sequence is processed in mask pattern generation in which the pattern size is selected .only the required data is extracted for color QR code formation. The main application of mask Pattern generation in QR code is that it can also be used in Stenography. The next step deals with masking the data. Masking is mainly used for data capacity, storage and security purposes. Masking is done to the data which are converted into streams, once we simulate the input, the decoded/encoded values will be obtained in binary values. All these binary values are used for square block conversion. These binary values are allocated for each pixel related to black and white QR code. The future work deals with decoding the black and white pixel. The output of the decoded values will be in binary format. All these values are divided into 8 bit and pixel values are allocated for all these bits. The next step deals with assigning each color for entire decoded data. It can be extended by combining the color such as red, green, blue. By combining all these colors the different colors can be obtained. Fig.2 : QR code in Black and White Pixel ISSN: 2231-5381 http://www.ijettjournal.org Page 163 International Journal of Engineering Trends and Technology (IJETT) – Volume 9 Number 4 - Mar 2014 Fig 4: Proposed Block Diagram All the decoded values are assigned with the basic colors such as cyan, yellow and magenta. By combining all these colors we obtain a color QR code. The system is implemented using FPGA. Firstly verilog HDL codes were written and then simulated the circuit design on MODELSIM simulation software tool. Subsequently, EDA tools were used to analyze the performance of the implemented system. Fig.5c. Concatenation of Input Data 5. SIMULATION RESULTS The Figures listed below shows the simulation results for obtaining the black and white QR code. Fig.4d Black And White QR Code 5.1 Area Summary The Figure 5 shows the area summary of the obtained black and white QR code Fig.5a Alpha numeric Input Fig.6 Area Summary Fig .5a : Grouping of Data ISSN: 2231-5381 http://www.ijettjournal.org Page 164 International Journal of Engineering Trends and Technology (IJETT) – Volume 9 Number 4 - Mar 2014 [5] 5.2 Power Summary The Figure 6 shows the power summary for generated QR code [6] [7] [8] [9] Fig.7: Power Summary [10] 6. CONCLUSION As the mobile phone with camera device is getting more popular, recognition barcode based on embedded system is getting more important and practical. A new high-speed, high-accuracy automatic FPGA based method for generating QR Code for various text sizes had been proposed. And there is no need the preprocessing for QR code in the proposed method. From the experiment, the proposed method produced better results than other method. As QR codes are still an emerging technology its brands struggle to determine their place in marketing campaigns. From the above proposed method it is evident that only less area and power is utilized. When compared to all the other existing codes, the proposed method is useful by implementing the QR code for real time application which is less complex and more accurate. [11] [12] [13] [14] REFERENCES [15] [1] [2] [3] [4] Bulan O, H. Blasinski, and G. Sharma Color Qr Codes (2011),’ Increased Capacity Via Per-Channel Data Encodingand Interference Cancellation ‘ Proc. IS&T/SID 19th Color Imag. Conf., Color Sci. Eng. Syst., Technol.,Appl., Nov., pp. 156–159” Bulan O, H. Blasinski, and G. Sharma (2010), ‘Increased capacity via per-channel data encoding and interference cancellation’ IEEE Transaction on image processing Vol. 8. Bulan O and G. Sharma (2012),’Improved Color Barcodes Via Expectation Maximization Style Interference Cancellation’ : Proc. IEEE Intl. Conf.Acoust. Speech Signal Process., pp. 1509–1512 Henryk Blasinski,Student Member, IEEE (2013),IEEE transactions on image processing, Vol. 22, No. 4. ISSN: 2231-5381 Orhan Bulan, and Gaurav Sharma, Fellow, IEEE. Precolorant-channel color barcodes for mobile applications: an interference cancellation framewor. Chi, K.W. Wong (2001), ‘A two-stage binarization approach for document images’ Proceedings of 2001 International Symposium on Intelligent Multimedia, Video and Speech Processing, May 2-4, pp. 275-278. GB/T 18284-2000. National standard of the People’s Republic of China: Quick Response Code (in Chinese), Issued by China State Bureau of Quality and Technical Supervision. Gisung Kim, Soobin Lee,Joonyoung Park, Sungkwan Jung, Sangsik Kim, Yong-chul Shin IEEE (2009) ‘Thumbnail Selection: Delivering Digital Signage Contents to Mobile Phone ‘ IEEE Transaction on Mobile Computing, Vol. 8, No. 6, Hara M, M. Watabe, T. Nojiri, T.Nagaya, and Y. Uchiyama (1995),’ Optically Readable TwoDimensional Code And Method And Apparatus Using The Same’ U.S. Patent 5 726 435. Kim I.J (2004), ‘Multi-Window binarization of camera image for document recognition’ Proceedings of the 9th Int’l Workshop on Frontiers in Handwriting Recognition,Oct. 26-29, pp.323-327. ISO/IEC 18004:2000 (2000) Information technologyAutomatic identification and data capture techniquesBar code Symbology-QR Code. Mayer, J. ; LPDS Labs. Florianopolis, Brazil ; Bermudez, J.C.M. ; Legg, A.P. ; Uchoa-Filho, B.F.(2009) ’Design Of High Capacity 3d Print Codes Aiming For Obustness To The Ps Channel And External Distortions’Image Processing (ICIP), 16th IEEE International Conference. Trier O.D,(1995) ‘Goal-directed evaluation of binarization methods,’IEEE pami, Vol. 17. No. 12, pp.1191- 1201 Parikh, D. Carnegie Mellon Univ., Pittsburgh, PA, Jancke, G.(2008) ’Localization And Segmentation Of A 2d High Capacity Color Barcode’ Proc. IEEE Workshop Appl. Compute pp. 1–6. Sahoo P.K, S. Soltani, and A.K.C. Wong ,(1988) ‘A survey of thresholding techniques,’ Computer Vision, Graphics, and Image Processing, Vol. 41, pp.233-260. http://www.ijettjournal.org Page 165