The apparatus described herein relates generally to reading optical codes using an image scanning device with a electronic freeze frame shutter.
An image scanning device reads an optical code by capturing and processing one or more electronic photographs of the optical code. At least one of the captured photographs must contain an image of the optical code and the image must have sufficient clarity for the image scanning device to detect and read the optical code. Optical codes are generally presented to the image scanning device as a static or slow moving object. The image scanning device captures electronic photographs of the optical codes using an image capture device. Low cost image capture devices are implemented using a complementary metal oxide semiconductor (CMOS) sensor. The CMOS sensor (also referred to as an imaging sensor because it captures a photograph or image) contains a two dimensional array of light sensitive areas (each area representing a pixel) used to capture an image. Integrated into the CMOS sensor is an electronic shutter that controls the exposure of the light sensitive areas. Current image scanning devices use an electronic shutter based on a rolling shutter exposure method that exposes and reads a single row of pixels at a time to create the photograph. Because each row of the array is exposed at a different time, a fast moving object will move before an entire photograph can be captured. This causes the object to appear skewed and blurred in the photograph. Thus, an image scanning device that uses a rolling-shutter exposure method will function as long as the optical code is static or relatively slow moving. As the pass-by speed of the optical code increases, the captured image of the optical code in the photograph begins to skew and blur until the optical code cannot be read.
In the following description, numerous details are set forth to provide an understanding of the invention. However, it will be understood by those skilled in the art that the invention may be practiced without these details and that numerous variations or modifications from the described embodiments are possible.
Turning to
In some embodiments, optical codes are associated with items or services for sale. As optical codes are read during a transaction, the POS computer 110 maintains a total cost for all the items and services associated with the optical codes. In other embodiments, the image scanning device 115 captures an image of an optical code where the optical code includes a photograph. For example, this occurs when the optical code is part of a driver's license or other form of identification that also includes a photograph. When the optical code includes a photograph, the image scanning device 115 sends the captured image of the optical code (including the photograph) to the POS computer 110. The POS computer 110 forwards the captured image to store server 105 for storage. In some embodiments, the optical code with the photograph is transferred to a supervisory terminal for age verification and visual identification.
Continuing with
The image scanning device 115 also contains an image capture device 120 for capturing, under processor 125 control, electronic images. The image capture device 120 is implemented using a CMOS sensor. The sensor has a plurality of light sensitive areas. Each light sensitive area provides information for a single pixel of an electronic image. The light sensitive areas are arranged as a two dimensional array of rows and columns. Each light sensitive area converts incoming light photons to an electric charge that is amplified by circuitry built into the sensor and read one row at a time. The magnitude of the electric charge is proportional to the number of photon received during a period of time. The period of time is referred to as the exposure time or period. Resetting the circuitry controlling a light sensitive area (one pixel) causes the electric charge for that area to be reset and that restarts the exposure time. All the circuitry corresponding to light sensitive areas for a given row can be reset at the same time or all circuitry for the entire sensor can be reset at the same. The resolution of a sensor is determined by the total number of pixels supported by the sensor. A sensor with a pixel array having 1280 columns and 1024 rows has a resolution of 1.3 megapixels.
The image scanning device 115 has image focusing optics 135 that focus an image onto the image capture device 120. The image focusing optics 135 include one or more lenses to focus an optical image onto the image capture device 120. In some embodiments, the image focusing optics 135 use concave/convex mirrors to focus the optical image. In some embodiments, the image focusing optics 135 focus and direct, in a sequential process, a plurality of images to the image capture device 120. This allows the image capture device 120 to view an object from more than one direction and increases the probability of capturing and reading an optical code with one pass.
The time required to read a frame (the entire pixel array) of a sensor is quite long. For example, in a 3 megapixel sensor, it takes about 83 milliseconds (msec) to read the entire frame. If the same 3 megapixel sensor is organized to have 1024 rows, it will take 81 microseconds (μsec) to read each of the rows. If all rows are reset (which also starts the exposure time) at the same time and then each row is read, the first row read will have an exposure time of 81 μsec while the last row read will have an exposure time of 83 milliseconds. The large difference in exposure times between the first and last row read causes the resulting image to have unacceptably poor quality. One attempt to solve the problem is to reset each row just prior to reading the row. This exposure method is called an electronic rolling shutter method. It resets a row, which starts the exposure period, and then reads the row after the exposure period has elapsed. This method rolls through the array performing this operation on each row until the entire array has been read. This results in all rows of an array having the same exposure period, which improves the exposure quality of the image. However, because of the relatively long time required to read the entire array, the exposure period for the first row starts almost 83 milliseconds prior to the start of the exposure period for the last row, thus causing fast moving objects to appear skewed and blurred. This method has improved image quality as long as objects are stationary or slow moving but as the speed of an object increases, the captured image of the object becomes skewed and blurred to a point where the object cannot be detected.
In the above example, the CMOS sensor, using the rolling shutter exposure method, has the ability to reset the circuitry that controls each pixel, which restarts the exposure period for that pixel. However, the sensor does not have the ability to stop the exposure period and freeze or hold the value of the electric charge until it is read. The electric charge for a pixel can be read at any time but the exposure period for the pixel continues (the value of the electric charge could change) until the circuitry controlling the pixel is reset. Resetting the circuitry resets the electric charge to zero and re-starts the exposure period for the pixel.
A CMOS sensor, implementing a freeze frame or stop action electronic shutter, has the above described circuitry to reset and start the exposure period for each pixel or light sensitive area of the sensor but the sensor also has additional circuitry that stops the exposure period for each pixel and freezes the value of the electric charge for each pixel. The frozen value of the electric charge is stored and can be read at a later time. (The processor 125 reads the frozen value for the electric charge for each pixel to create or capture an image.) Additionally, the freeze frame shutter starts and stops the exposure period for all pixels (all rows) at the time. This causes all pixels of the sensor to not only have the same length of exposure but to also have the same start and stop times for the exposure period. This eliminates the skewing and blurring caused by the rolling shutter exposure method and allows for the successful reading of optical codes with high pass-by speeds.
The processor 125 controls the functions of the CMOS sensor, including the start and stop times for the exposure period. This allows the processor to make real-time adjustments to the exposure period and to determine when to capture an image and how many images to capture per second. In some embodiment, where the focusing optics 135 direct, at different times, more than one image at the image capture device 120, the processor 125 times the capture of an image to when a new image is being directed at the image capture device 120. In other embodiments, the image scanning device 115 provides and controls a source of light to illuminate the optical code 140. The processor 125 determines both the exposure period and start time so as to capture an image of the optical code 140 during a time of maximum illumination.
Optical codes with high pass-by speeds become unreadable if the exposure time is set too long. The number of pixels in the sensor and the maximum pass-by speed of the optical code determine the maximum exposure period allowed to produce a readable image of the optical code. The pass-by speed of an optical code is the speed at which the optical code moves past an optical code scanner. A high pass-by image scanner is designed to read optical codes moving at speeds of 50 inches per second. If the optical code being read is a 5 thousandth of an inch (mil) bar code and the image capture device uses a sensor and optics that result in two pixels per bar in the bar code, the equation below determines the maximum exposure time to prevent unacceptable blurring of the bar code image and allow the code to be read. The equation also assumes the bar code will move one half the optical width of a pixel during the exposure period. The result for these settings is an exposure time of 25 μsec or less to capture an image of the bar code with sufficient clarity to be read. Other settings and assumptions are possible and will result in different exposure times. As shown above, the image
scanner implemented with an electronic rolling shutter requires 83 milliseconds to capture an image which means an image of this example bar code is not readable due to the skewing and blurring that results from the movement of the bar code during the 83 msec exposure/capture time.
While this embodiment uses an imaging sensor based on CMOS technology, other embodiments can use imaging sensors implemented with different technologies provided that it has an electronic shutter that implements the freeze frame exposure method. A charged coupled device or CCD is an example of another technology that can be used to implement an imaging sensor based on this method.
Although the disclosed invention has been described with particular reference to certain preferred embodiments thereof, variations and modifications of the disclosed invention can be effected within the spirit and scope of the following claims.