QR-codes are two-dimensional barcodes which gained popularity in recent years. These codes enable people to scan them using conventional cell-phone camera, and then get directed to appropriate web-site, or retrieve other information. Another place you often encounter these QR-codes is in boarding-tickets and similar applications, where a conventional scanner can retrieve the information from the code. (Figure 1)
These codes serve the function of connecting the user from a static medium (paper, Ad, picture) to a dynamic information source (web-site, email, reservation management system). HOWEVER, their big drawback is that these are not human readable forms. From looking at your boarding ticket barcode, you cannot tell to which flight, which airline, or any other info.
In this project we will investigate a novel method for incorporating visually-significant data in the barcode, without deteriorating their machine readability.
As an example, see (Figure 2) below: Both were done using automated algorithm, and all can easily be scanned using your standard QR-app (you probably have one on your cell or tablet).
In this project we will investigate both practical and theoretical aspects, and depending on the team spirit, will look even into market viability of such an idea.
Figure 1: Common usage of QR-codes.
Figure 2: Possible usage for boarding. Scan those: They all work!!!
Figure 3: Error Diffusion method. Scan those: They all work!!!
Some of the items we will consider:
- Algorithm design and analysis:
- a. Information-theory and random-processes- Bit-Error-Rate for the resulting QR as a function of Image model, scanning model, and channel deterioration.
- b. HalfToning - Optimal location, using Error-diffusion, Matrix based, and other method. (Figure 3)
- c. Color blending.
- a. Image modifications and integration.
- b. Quality measure.
- a. Where and how to integrate it.
- b. Market for this application.
- c. Web service for that? Business model?
None of the below are must-haves, and definitely no single person needs to possess all. However, various aspects of the project will involve the following: Image processing, e.g. Matlab; basic communication theory; random processes; basic coding and information theory.
Barcodes, Image processing, Random processes, Coding, Information.