Abstract:
A device comprises a memory and a processor. The memory stores an image. The image includes a plurality of areas. The image is captured using at least one of an auto-exposure technology and an auto-focus technology. The processor is coupled to the memory and selects at least one of the plurality of areas as a function of predetermined data. The data is related to the at least one of the auto-exposure technology and the auto-focus technology. The processor locates a symbol in the at least one selected areas.

Description:
FIELD OF THE INVENTION  
       [0001]    The present invention relates generally to a device and method for locating a barcode using image analysis. Specifically, an auto-focus algorithm and an auto-exposure algorithm are used on an area that includes a barcode so that a location of the barcode is ascertained. 
       BACKGROUND  
       [0002]    A packaging box may include at least one barcode. A data acquisition device may take an image of an area such as a side of the packaging box that includes one of the barcodes. Imaging technologies provide a means of locating a barcode in an image taken. In a first example, a center of the image is used as a starting point and an increasing coil pattern is used to locate any barcodes contained within the image. In a second example, the image may be segmented into several parts such as into quadrants. Each part is then analyzed to find any barcode located therein. The above described methods may be efficient if and only if the barcode is coincidentally located at a starting point for analysis. Because the methods are often performed using automated devices, the image may be random and sections of the packing box without a barcode may be analyzed. That is, the above described methods currently in use may be lengthy and inefficient, whether barcodes are located for a single packaging box or for multiple packaging boxes. 
       SUMMARY OF THE INVENTION  
       [0003]    The present invention relates to a device comprising a memory and a processor. The memory stores an image. The image includes a plurality of areas. The image is captured using at least one of an auto-exposure technology and an auto-focus technology. The processor is coupled to the memory and selects at least one of the plurality of areas as a function of predetermined data. The data is related to the at least one of the auto-exposure technology and the auto-focus technology. The processor locates a symbol in the at least one selected areas. 
     
    
     
       DESCRIPTION OF THE DRAWINGS  
         [0004]      FIG. 1  shows a mobile unit according to an exemplary embodiment of the present invention. 
           [0005]      FIG. 2  shows a captured image to be analyzed according to an exemplary embodiment of the present invention. 
           [0006]      FIG. 3  shows a method for locating a barcode using image analysis according to an exemplary embodiment of the present invention. 
       
    
    
     DETAILED DESCRIPTION  
       [0007]    The exemplary embodiments of the present invention may be further understood with reference to the following description and the appended drawings, wherein like elements are referred to with the same reference numerals. The exemplary embodiments of the present invention describe a system and method for locating a barcode using image analysis. In one exemplary embodiment, a mobile unit (MU) equipped with a data acquisition device where the data acquisition device may be used to locate a barcode using image analysis. In another exemplary embodiment, an image may be received for the image analysis to be performed. Specifically, an auto-focus algorithm and an auto-exposure algorithm are used to identify potential locations in which a barcode may be disposed. The MU, the data acquisition device, and the algorithms will be discussed in further detail below. 
         [0008]    It should be noted that the following description of the exemplary embodiments illustrates a camera for the data acquisition device. The camera may represent any type of data acquisition device that may be equipped for image analysis. In addition, it should be noted that the following description of the exemplary embodiments illustrates an MU. However, the exemplary embodiments of the present invention may be applied to any computing device, whether mobile or not. Furthermore, it should be noted that the MU including the data acquisition device is only exemplary. The MU may not be equipped with the data acquisition device and, thus, the data acquisition device may be coupled with the MU. For example, the data acquisition device may be a module that is coupled externally to the MU. Finally, it should be noted that the use of barcodes is only exemplary. The barcode may represent any encoded data. Thus, the exemplary embodiments of the present invention may relate to scanning any form of image such as a one-dimensional barcode, a two-dimensional barcode, a color barcode, an optical character recognition (OCR) string, etc. 
         [0009]      FIG. 1  shows a mobile unit (MU)  100  according to an exemplary embodiment of the present invention. The MU  100  may be any electronic device (e.g., portable or stationary) that utilizes a portable power supply (e.g., battery, capacitor, super capacitor, etc.). For example, the MU  100  may be a mobile computer, a personal digital assistant (PDA), a laptop, a pager, a cell phone, a radio frequency identification reader, a scanner, an image capturing device, etc. The MU  100  may include a processor  105 , a memory  110 , a battery  115 , and a camera  120 . 
         [0010]    The processor  105  may be responsible for executing various functionalities of the MU  100 . Specifically, according to the exemplary embodiments of the present invention, the processor  105  may be responsible for executing the auto-focus algorithm and the auto-exposure algorithm. As will be described in further detail below, the auto-focus algorithm and the auto-exposure algorithm may utilize data used to capture an image that may be in a buffer. The memory  110  may be a storage unit for the MU  100 . Specifically, the memory  110  may store a captured image and/or the auto-focus algorithm and the auto-exposure algorithm. As will be explained in further detail below, the memory  110  may be used to store further data with each iteration of running the algorithms. The memory  100  may also store data and/or settings pertaining to various other functionalities of the MU  100 . Furthermore, the memory  100  may store data related to a capturing of an image such as auto-exposure and/or auto-focus data. As discussed above, the MU  100  may include a portable power supply. As illustrated, the MU  100  may include the battery  115  to supply the necessary energy to operate the MU  100 . 
         [0011]    The camera  120  may be an image capturing device. Specifically, the camera  120  may be a conventional digital color camera. Thus, the camera  120  may include a lens, a shutter, an image sensor, etc. Light passing through the lens may be received and subsequently converted to corresponding digital signals that are used to recreate the image. Those skilled in the art will understand that the camera  120  is capable of capturing color images to duplicate an object, a scene, etc. in a condition at a moment of the capture. The camera  120  may also enable a continuous set of images to be captured in a finite time period. That is, the camera  120  may be configured to capture streaming images or a video. Any image captured by the camera  120  (e.g., single image, set of images, etc.) may be stored on the memory  110 . 
         [0012]    The camera  120  may also be equipped with auto-focus and auto-exposure technologies. According to the exemplary embodiments of the present invention, the auto-focus technology may enable high contrast edges to be located. The high contrast edges may be, for example, a change from a black area of a one- or two-dimensional barcode to a white area between adjacent black areas of the barcode. In another example, the high contrast edges may be a change from a first color of a color barcode to a second, adjacent color of a color barcode. The auto-exposure technology may enable continuous adjustments to be made on the exposure of an image until an optimal color balance is made for the image. The auto-focus technology may be used for the auto-focus algorithm while the auto-exposure technology may be used for the auto-exposure algorithm. The camera  120  may be equipped with an individual processor and memory to determine if an appropriate image is captured. That is, the camera  120  may continuously process images until the appropriate image is captured. Specifically, the appropriate image may be when a predefined clarity is obtained. The auto-focus technology and the auto-exposure technology may process the images to determine data in order to capture an image with the predefined clarity. The auto-focus and auto-exposure data for the image may be buffered in the memory  110  or the memory of the camera  120 . 
         [0013]      FIG. 2  shows an image  200  to be analyzed according to an exemplary embodiment of the present invention. The image  200  may be captured using the camera  120  of the MU  100 . Specifically, the image  200  may be an image stored for analysis using the data stored in the buffer from using the auto-focus technology and the auto-exposure technology to result in the image  200 . Because the camera  120  may be a digital color camera, the image  200  may be taken with colors or may be taken monochromatically as illustrated in  FIG. 2 . The image  200  may be of a panel of a packaging box in which various information may be displayed. However, it should be noted that the image  200  may be of any item in which a barcode is to be located. 
         [0014]    The image  200  may include different types of information. For example, a logo, package content data, a barcode(s), etc. Areas not including the information may be a common color or shade such as a conventional brown found on cardboard boxes. Upon capturing the image  200 , the image  200  may be analyzed by the processor  105 . Specifically, the processor  105  utilizes the data from the auto-focus technology and the auto-exposure technology used to capture the image  200  by the camera  120 . The data from the auto-focus technology and the auto-exposure technology may include, for example, histograms indicating variations in colors and/or shades. For example, the histograms may consider shades. The image  200  may be divided so that each piece of, for example, a grid is analyzed. Most of the pieces may exhibit a corresponding shade of the conventional brown shade of the cardboard box (when the image  200  is converted from a color image into a black and white image). However, areas that include potential data may exhibit other colors, in particular a black shade corresponding to, for example, the barcode. When histograms of each piece are analyzed, most of the histograms may only have a bar indicating the shade corresponding to the conventional brown shade. A histogram that has a bar indicating another shade may alert the processor that the corresponding piece includes potential data to be processed. 
         [0015]    The image  200  may be segmented into a plurality of areas. Analyzing data generated from the auto-focus algorithm, high contrast edges may be found at locations  205 ,  210 , and  215 . In the location  205 , package content data may be included. In the location  210 , a logo may be included. In the location  215 , a barcode may be included. However, because high contrast edges may be found in those locations, the auto-focus algorithm may indicate that a potential barcode may be disposed at any of the locations  205 - 215 . A decoder algorithm may be run on the locations  205 - 215  to determine the actual existence of a barcode, thereby decreasing a total area the decoder algorithm would otherwise have to process. Thus, as illustrated, locations  205 - 210  may be discarded as not including barcodes while location  215  is indicated to include a barcode. 
         [0016]    According to the exemplary embodiments of the present invention, by utilizing data from the auto-focus algorithm and the auto-exposure algorithm, a more efficient means of locating a barcode through image analysis may be had. Specifically, in contrast to being required to check an entire image for barcodes, specific locations may be ascertained so that analysis of those locations may indicate whether a barcode is located therein. Thus, empty spaces such as the areas of the image  200  that are not allocated to the locations  205 - 215  may be ignored. Therefore, an overall performance improvement of the barcode locating device such as the MU  100  may be had. 
         [0017]      FIG. 3  shows a method  300  for locating a barcode using image analysis according to an exemplary embodiment of the present invention. As discussed above, the image analysis according to the exemplary embodiments of the present invention include the auto-focus algorithm and the auto-exposure algorithm. The method  300  will be described with reference to the MU  100  of  FIG. 1  and the image  200  of  FIG. 2 . 
         [0018]    In step  305 , the image  200  is captured. The camera  120  may perform the processing to acquire the appropriate image. Specifically, as illustrated in steps  310  and  315 , the auto-exposure technology and the auto-focus technology are executed, respectively. 
         [0019]    As discussed above, the auto-exposure technology may be run by the processor  105  to determine the appropriate image to be captured. Specifically, the auto-exposure technology may be run on the noted locations  205 - 215  on the image  200 . The auto-exposure technology may continuously adjust the exposure of the locations  205 - 215  until those sections of the image  200  have adequate contrast for further analysis. With reference to monochromatic images, the auto-exposure technology may adjust for optimal shade balance. It should be noted that the auto-exposure technology may only look at brightness in the image  200 . However, in other embodiments, colors of the image  200  may also be considered. 
         [0020]    As discussed above, the auto-focus technology may also be run by the processor  105  to determine the appropriate image to be captured. The auto-focus technology may detect high-contrast edges. Thus, with one- or two-dimensional barcodes, the high-contrast between the white and black colors may be detected. With color barcodes, the high contrast between adjacent colors may be detected. These areas may be noted using the auto-focus technology. For example, the locations  205 - 215  are noted in the image  200 . 
         [0021]    In step  320 , a determination is made whether the image  200  is appropriate. Specifically, the camera  120  continuously processes the image  200  until the auto-exposure technology and the auto-focus technology indicate that the image  200  has optimal shade balance, predefined clarity, etc. If step  320  determines that the image is not appropriate, the method  300  returns to step  305  where the image is captured again and further processed using the auto-exposure technology and the auto-focus technology until an appropriate image is found. If step  320  determines that the image is appropriate, the method  300  continues to step  330  where the image is stored for further analysis. 
         [0022]    It should be noted that the storing of the image  200  may be done in a variety of ways. As discussed above, in a first exemplary embodiment, the image  200  may be captured using the camera  120 . In a second exemplary embodiment, the image  200  may be acquired from a data acquisition device. The data acquisition device may transmit (e.g., through a network) to a device that processes the image  200 . As discussed above, data relating to the image  200  may also include data generated while capturing the image  200  such as data from running the auto-exposure technology and/or the auto-focus technology. This data may also be stored. It should also be noted that the image  200  may be a color image or a monochromatic image. The image  200  may be captured as a monochromatic image when locating a barcode that is one-dimensional or two-dimensional. That is, the one-dimensional or two-dimensional barcode is often depicted using only black and white. The image  200  may be captured as a color image when locating a barcode that is a color barcode. The color barcode may include a variety of different colors in a predetermined pattern. 
         [0023]    In step  335 , a determination is made whether any of the locations include a barcode. As discussed above, the data produced by the auto-focus algorithm and the auto-exposure algorithm may be used to narrow a search field in which to determine the locations of the barcode. That is, upon ascertaining the locations  205 - 215 , the determination may be made. When a location includes a barcode, the method  300  continues to step  340  where the barcode is decoded. 
         [0024]    In step  345 , a determination is made if other images are to be analyzed. That is, a packaging box may include barcodes on other sides than the side in which the image  200  is captured. If other images are to be analyzed, the method  300  returns to step  305  where the image is re-captured. When all images are analyzed, the method  300  ends. 
         [0025]    The method  300  may include further steps so that a more efficient locating of barcodes may be performed. For example, a ranking arrangement may be used. The ranking arrangement may use the data from the auto-focus algorithm. Specifically, locations including higher contrast edges may take precedence over locations including lower contrast edges. In another example, the method  300  may include steps when no barcode is located in the captured image. When the method  300  determines that no barcode exists, an error message may be displayed, a “no barcode exists” message may be displayed, a sound may be played, etc. 
         [0026]    Those skilled in the art will understand that the above described exemplary embodiments may be implemented in any number of manners, including, as a separate software module, as a combination of hardware and software, etc. For example, the auto-focus and auto-exposure algorithms may be a program containing lines of code that, when compiled, may be executed on a processor. 
         [0027]    It will be apparent to those skilled in the art that various modifications may be made in the present invention, without departing from the spirit or scope of the invention. Thus, it is intended that the present invention cover the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents.