By Monday 26th November 2012, the code of the receiving part is finished. The system can now capture QR codes in series from a video clip modeling the sender, decode the information, and put them into the right order. The following figure shows how this application looks when running.
Figure User Interface
The user interface can be created by using the build-in UI tool in Android SDK. The information needed to create a user interface can be pre-stored in a file called main.xml, or it can be dynamically created by java codes when the programme is running. The following figure shows the GUI that the application uses.
Figure User Interface Design
The GUI is built up by the following parts:
Status Bar shows the status of the current transmission. The status may include the total number of frames of the current sessions, the quality of the incoming frame, or the process of the whole session.
Reset Button can reset the current transmission, it will clear the data buffer and restart receiving information. This can be used anytime during debugging or an error occures.
Textbox shows the information in the QR codes being transmitted if the QR codes are holding text information, or it will shows the file name of the file being transmitted if the QR codes are in byte mode.
Preview Window shows the image taken by camera from which an user can know whether the camera is facing to a QR code in a proper direction and angle.
What Can QR Motion do?
This project is aimed on developing an application which can generate and read QR codes in continuous mode transferring data on different Android smart phones. The software will have the following features:
-Automatically captures QR code.
-Automatically recognise and categorise the content of the data (characters or binaries).
-Automatically generate series of QR code and play them on the screen.
-Compatible to static QR codes.
-Error detection and error correction.
-Communicating control functions which guarantees the efficiency and accuracy of information flow.
-Data encryption function.
Why QR Motion?
The current QR code can expand its capacity by simply increasing its size and putting more pixels into one QR code .Currently, there are 40 different versions of QR codes which support capacity ranging from 7 Bytes (Version 1) to 2953 Bytes (Version 40) [*]. However, there are always physical limitations for both the medium which showsa QR code and the device which runs a scanner. In order to make sure that the information stored in a QR code can be decoded by other devices, each module (the minimum unit in a QR code) should contain at least 4 dots in both of its dimensions [*]. Thus, there would not be enough space to show a big QR code pattern on a screen since commonly these devices would not have a large screen. Also, the resolution of the camera of the mobile devices will not be capable to capture all the necessary information if there are too may pixels.
FIGURE QR CODE OF DIFFERENT VERSIONS, FROM SMALLEST TO LARGEST [*]
Therefore, the idea of simply putting more information into a single QR code is not practical on mobile devices. Accordingly, we should take other methods to extend its capacity.
Instead of expanding it into space, we can extend its capacity by storing information into a series of QR code patterns, making each picture relatively smaller, but showing a series of QR code. Thus, the data can be transmitted in a more effective manner. Therefore, the physical limitation of the capacity of QR Code can be exceeded in this way.