The present invention relates to the field of information retrieval utilizing barcode and digital camera lens as assisting tools for mobile devices and computers. The present invention works by using mobile devices or computers with digital camera built in or attached to for imaging the barcode, then using the same devices or computers with decoder installed to decode the content of the barcode.
For devices unable to support decoder installation but with internet accessibility, an alternative method and system through http protocol to upload the obtained image to a server for decoding and processing are provided.
Traditionally, barcodes are used for inventory control purpose or point of sales automation. The utilization usually requires scanners manufactured for certain code types to perform the scanning mechanism to decode and match with connected database servers for pricing or other pre-determined tasks like warehouse stocking and inventory.
With the evolution of mobile devices and computers from a simple voice communication tool to multi-functioned personal assistant with imaging capability, nowadays mobile devices and computers can be camera, scanner, internet surfing tool, even play the role of direction guide for those equipped with GPS function. The improved mobile device capability significantly reduces difficulties used to prevent these devices from playing the role of decoder once they obtained the barcode image. Without being able to decode, mobile device users were not able to determine what the barcode is about right away and can only use the mobile device on hand as sender and receiver. Users need to wait for the decoded results being sent back using SMS or MMS message.
The difficult problems presented for previous versions of mobile devices in decoding barcode image are now easily overcome. Barcode decoding algorithms can now be implemented in most of the mobile devices. Earlier problems like lighting, barcode size, skew, lens focus, and resolution prohibited mobile devices from consistently capable of decoding barcode images are now easily handled by most of the low cost mobile devices. Hence the decoding process can be carried out using mobile devices or computers equipped with digital camera or web cam to grant users the instant feedback of the decoded results, to offer more options and more convenient barcode enabled benefits. On device decoding further offers mobile device users the benefit of a new way of retrieving and inputting data into the device. Mobile devices are usually small and not equipped with keyboards, making data input a challenging task using the tiny number only keypad. With barcode as input media and digital camera as inputting tool, mobile devices can easily scan in information encoded in barcodes within seconds. Language difference is not a problem to encoded information since the decoder can decode in any language information is encoded with, making the decoding capability universally usable.
The present invention provides a system and method designed to quickly decode barcodes obtained via digital camera and processing according to decoded information. The invention empowers a user to use a cell phone or PDA equipped with a digital camera to scan barcodes (one dimensional and two dimensional) or any other supported codes. The image obtained with the digital camera of the mobile device/computer is decoded using the decoder residing on the mobile device/computer.
The decoder extracts the barcode information and process the instruction contained in the information. Mobile network or any internet connection (fixed line or wireless, depending on availability or device capability) are used to retrieve further information or execute instructions according to decoded information.
The system according to the present invention, the user launches the decoder on the mobile device/computer. The decoder utilizes the built in/attached digital camera to scan the barcode the user chooses by having the barcode image filling up about the center half of the decoder view screen. Once a clear barcode image view is obtained, the decoder signals by sound or message pop up then shows the decoded information for user to view and waits for the user to confirm to proceed for next step if any contained in the decoded information. For instance, the decoded information may contain website address for further information as the user's choice, or instruction for next step to carry out for the user in response to the decoded information.
The system according to the present invention, for devices unable to support decoder installation but with internet accessibility, the user can launch device internet browser to connect to the upload link for transmitting the captured barcode image to the server for decoding and carrying out instructions contained in the barcode, then having the information pushed back from the server through the browser using internet connection.
The purpose of the present invention is to provide a system and method to accurately and reliably decode barcodes using the built-in/attached digital camera, to show the information contained in the barcode on the screen of the mobile device/computer without having to connect to the network unless the user wishes to. The decoder is designed to function under the normal environment the user encounters daily without requiring special lighting or equipment enhancement besides the digital camera built in/attached to the commonly available mobile device/computer, without requiring specific handling techniques.
The intention of the present invention is to provide users with a system and method to decode barcodes quickly and accurately without having to wait for results or feedback, to be able to make decision based on the decoded information right away.
Another object of the present invention is to offer a method and system which is robust regardless of lighting, angling, focusing, or user handling conditions.
Another intention of the present invention is to provide a method and system for barcode decoding without having to incur any cost to the user unless the user wants to obtain additional information or proceed to next step beyond whatever decoded information contained in the barcode.
With reference to
To learn what information is contained in the barcode seen by a user,
For those devices can not support the installation of the decoder, an alternative flow is utilized. Referring to
The detailed process the decoder goes through to complete the task of decoding is shown as
The decoder decodes one dimensional and two dimensional barcodes with imaging resolution minimum requirement of 100 times 100. This requirement is below almost all commonly available mobile device equipped digital camera specifications. The decoder is launched upon user's initiation to decode a desired barcode, as in 401 . Once the barcode image is secured by the decoder by having the image filled the center half of the view screen, the decoder starts the sharpening algorithm to enhance the image for next step (step 402). Sharpening process clarifies the relative positions of pixels and modules in the image to each other, as well as contrast stretching to compensate for the sub-optimal lighting effect.
With sharpened image, step 403 works to adjust the image size to preset parameters, and calculate the relative size of the barcode for comparison to standards. Skew and yaw are adjusted at this stage.
The binarization process (step 404) converts colorful image or gray scale image into black and white or any other extreme contrast scales to prepare the image for further division.
The binarized barcode image is then divided into modules for identification purpose. The relative locations and distances of modules to each other in the barcode present the distinct features of various barcode formats, which are used as positioning marks to determine which algorithm to take for error correction and checksum calculation, shown as step 406.
With confirmation of position marks of the barcode, the vertices of the barcode are then locked as calculation basis according to the process algorithm available to the barcode format, as in step 407. Since the barcode image is omni-directional, without having to rotate the direction of the image for decoding, the vertices are used as reference to adjustment of deciphering information.
Decoding step (408) starts when all above mentioned processes are successfully completed to extract the information encoded in the barcode with accuracy. Various error correction and checksum algorithms are available for standard formats of barcodes; standard as well as proprietary algorithms are employed to ensure accuracy in the confirmation process. Any of the above steps not being able to complete with preset confidence level will cause the decoder to restart the flow until a successful completion reached.
Decoded information is displayed on the screen of user's mobile device/computer for user to view, and user can proceed to execute instructions contained in the information if user chooses to.