Image reader with global electronic shutter control.

Through the method of collaborative control of the full electronic shutter control network and light source, the distortion and blurring of the CMOS image sensor when reading the image is solved, simultaneous exposure and efficient lighting of the image are achieved, and the clarity and quality of the image are improved.

JP7658941B2Inactive Publication Date: 2025-04-08HAND HELD PRODS INC
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2022140002
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2005-03-11
Filing Date
2022-09-02
Publication Date
2025-04-08
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

Existing CMOS image sensors have problems of image distortion and blurring when reading images, mainly due to inconsistent exposure time of pixels in different rows caused by rotating shutter articulation and insufficient light sources caused by long exposure time.

Method used

The fully electronic shutter control network is adopted to expose all pixels in the image sensor array at the same time, and optimize the exposure and lighting time through the coordinated control of the light source and the time module to reduce the exposure time of the image sensor and improve the utilization of the light source.

Benefits of technology

The simultaneous exposure and efficient illumination of images are achieved, reducing image distortion and blurring, and improving image clarity and quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007658941000001
    Figure 0007658941000001
  • Figure 0007658941000002
    Figure 0007658941000002
  • Figure 0007658941000003
    Figure 0007658941000003
Patent Text Reader

Abstract

An image reader and corresponding method for acquiring a clear, distortion-free image of an object such as a one-dimensional or two-dimensional bar code is provided. The image reader comprises a two-dimensional CMOS-based image sensor array, a timing module, an illumination module, and a control module. The time during which a target is illuminated is referred to as the illumination period. Image capture by the image sensor array is driven by a timing module that, in one embodiment, allows substantially all pixels to be exposed simultaneously. The time during which the pixels are collectively activated to convert incident light into an electric charge defines the exposure time for the sensor array. In one embodiment, at least a portion of the exposure period occurs during the illumination period.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] This PCT application claims priority to U.S. application Ser. No. 11 / 077,975, entitled "Bar Code Reading Device With Global Electronic Shutter Control," filed Mar. 11, 2005, and U.S. application Ser. No. 11 / 077,976, entitled "System And Method To Automatically Focus An Image Reader," filed Mar. 11, 2005. Priority to each of the above applications is claimed, and each of the above applications is incorporated herein by reference in its entirety.

[0002] The present invention relates generally to image data collection, and more particularly to an image data collector with coordinated illumination and global shutter control. [Background technology]

[0003] Many traditional imager readers, including handheld and fixed mounted barcode and machine code readers, use CCD (charge-transfer device) based image sensors. CCD-based image sensors convert incident light energy into packets of electrical charge. The CCD image sensor includes an array of electrically coupled light sensitive photodiodes that convert the charge packets into digital data. In operation, the charge packets are shifted out of the CCD image sensor for subsequent processing.

[0004] Some image readers use CMOS-based image sensors as an alternative imaging technology. In a CCD, a CMOS-based image sensor converts incident light energy into an electric charge. It contains an array of light-sensitive photodiodes. However, unlike a CCD, it is CMOS-based. The image sensor allows each pixel in a two-dimensional array to be directly addressed. One advantage of this is that sub-regions of the full frame can be accessed independently. Another advantage of CMOS-based image sensors is that they generally have a lower cost per pixel. This is primarily because CMOS image sensors are made with standard CMOS processes in high volume wafer fabrication facilities that also manufacture common integrated circuits such as microprocessors. In addition to the lower cost, the common fabrication process also allows the CMOS pixel array to be integrated with other standard electronics such as clock drivers, digital logic, A / D converters, etc. This means that it can be integrated onto a single circuit with the other devices, which in turn has the further advantage of reducing space requirements and lowering power usage.

[0005] CMOS-based image readers have traditionally used a rotating shutter to expose the pixels in the sensor array. In a rotating shutter architecture, rows of pixels are activated and read out in sequence. The exposure or integration time for a pixel is the time between when the pixel is reset and when its value is read out. This concept is represented in Figure 2A. In Figure 2A, the exposure for each row, rows "a" through "n," is represented by a bar 4a...4n (generally, 4). The horizontal extent of each bar, 8, represents the exposure for that particular row. 2A, the exposure periods of successive rows overlap. The horizontal position of each bar 4 indicates the shifted time period during which each row of pixels is exposed. As can be seen in FIG. 2A, the exposure periods of successive rows overlap. This is shown in more detail with respect to the timing diagram for the rolling shutter architecture shown in FIG. 2B. The second 12 lines and the third 16 lines of the timing diagram represent the reset and readout timing signals for row "a", respectively. The fourth 20 lines and the fifth 24 lines of the timing diagram represent the reset and readout timing signals for row "b", respectively. As shown in both FIGS. 2A and 2B, the exposure for row "b" begins before the values ​​are read out for row "a". The exposure times for adjacent row pixels typically extend beyond several hundred rows of pixels that are exposed and read out during the capture of one frame of data. As shown by the illumination timing on the first line 28, a rolling shutter architecture with its overlapping exposure periods requires that the illumination source remain on for substantially the entire time needed to acquire a frame of data, so that illumination is provided to all rows.

[0006] In operation, the rolling shutter architecture suffers from at least two disadvantages; image distortion and image blur. Image distortion is the result of the different times that each row of pixels is exposed to. The effect of image distortion is most noticeable when fast moving objects are recorded for viewing. The effect is evidenced in the image shown in FIG. 3, which represents an image taken with a rolling shutter as bus image pixels 50 pass from right to left across the field of view. The top row of bus image pixels 54 were taken earlier than the bottom row of pixels 58, and because the bus is moving to the left, the bottom row of bus image pixels 58 are displaced to the left relative to the top row of bus image pixels 54.

[0007] Image blur is a result of the long exposure times typically required in rolling shutter architectures in image readers. As noted above, in rolling shutter architectures, the illumination source must remain on for substantially the entire time required to acquire one frame of data. Due to limitations in the battery and / or illumination source, a short exposure time usually does not provide enough light during the acquisition of one full frame of data. Without a short exposure time, blurring effects become evident. Common examples of blurring effects include image sensor displacement due to camera shake in handheld image readers, for example.

[0008] What is needed is an image reader that overcomes the shortcomings of current CMOS image readers, including image distortion and image blur. [Patent Document 1] U.S. Patent No. 6,230,975 [Patent Document 2] US Patent Application Publication No. 2002 / 179713 [Patent Document 3] U.S. Patent No. 6,073,851 Summary of the Invention [Means for solving the problem]

[0009] In one aspect, the invention features a complementary metal oxide semiconductor (CMOS) based image reader for collecting image data from a target. The CMOS based image reader comprises a CMOS based image sensor array; a timing module in electrical communication with the CMOS based image sensor array. The timing module can simultaneously expose an entire frame of pixels of the CMOS based image sensor array during an exposure period. The CMOS based image reader also comprises an illumination module capable of illuminating the target during an illumination period. The illumination module is in electrical communication with the timing module. The CMOS based image reader further comprises a control module in electrical communication with the timing module and the illumination module. The control module can cause at least a portion of the exposure period to occur during the illumination period. In one embodiment of the CMOS based image reader, illuminating the target comprises overdriving a light source in the illumination module. In another embodiment of the CMOS based image reader, the light source comprises a light emitting diode. In a further embodiment of the CMOS-based image reader, the exposure period begins after the start of the illumination period and the exposure period ends before the end of the illumination period. In yet another embodiment of the CMOS-based image reader, the illumination period begins after the start of the exposure period and the illumination period ends before the end of the exposure period. In yet another embodiment of the CMOS-based image reader, the illumination period begins before the start of the exposure period and the illumination period ends before the end of the exposure period. In yet a further embodiment of the CMOS-based image reader, the exposure period begins after the start of the illumination period and the illumination period ends before the end of the exposure period. The period has a duration of 3.7 milliseconds or less. In this case, the target can be a one-dimensional barcode, such as a Code 39 or UPC code, or a two-dimensional barcode, such as a PDF417 barcode, Aztec symbol, or Data Matrix symbol. Includes symbologies such as bar codes.

[0010] In another aspect, the invention features a complementary metal oxide semiconductor (CMOS) based image reader for collecting image data from a target. The CMOS based image reader comprises an integrated circuit including at least a CMOS based image sensor array and an overall electronic shutter control circuitry. The overall electronic shutter control circuitry is capable of generating exposure control timing pulses capable of causing simultaneous exposure of substantially all of the pixels of an entire frame of the CMOS based image sensor array. The CMOS based image reader also has a light source in electrical communication with the integrated circuit. The light source includes symbology and is capable of illuminating the target in response to illumination control timing pulses. At least a portion of the illumination control timing pulses occur during the exposure control timing pulses. In one embodiment of the CMOS based image reader, illuminating the target comprises overdriving the light source. In another embodiment of the CMOS based image reader, the light source comprises a light emitting diode. In a further embodiment of the CMOS based image reader, the exposure period begins after the start of the illumination period and the exposure period ends before the end of the illumination period. In yet another embodiment of the CMOS-based image reader, the illumination period begins before the start of the exposure period and the illumination period ends before the end of the exposure period. In yet an additional embodiment of the CMOS-based image reader, the illumination period begins before the start of the exposure period and the illumination period ends before the end of the exposure period. In yet a further embodiment of the CMOS-based image reader, the exposure period lasts for 3.7 milliseconds or less. In various embodiments of the CMOS-based image reader, the target is a one-dimensional bar code, such as a Code 39 or UPC code, or a PDF417 bar code, an AZTEC bar code, or a 1D bar code. This includes symbologies such as 2D barcodes, black bars, or Data Matrix symbols.

[0011] In a further aspect, the invention features an image reader for collecting image data from a target. The image reader comprises an integrated circuit including at least an image sensor array and exposure timing control circuitry. The exposure timing control circuitry is capable of generating exposure control timing pulses capable of simultaneously exposing substantially all pixels in the image sensor array. The image reader also comprises a light source electrically responsive to the integrated circuit and capable of illuminating the target. At least a portion of the illumination control timing pulses occur during the exposure control timing pulses. In one embodiment of the image reader, the illumination control timing pulses are generated by an illumination module. In another embodiment of the image reader, an overlap between the illumination control timing pulses and the exposure control timing pulses is adjusted by a control module in electrical communication with the integrated circuit and the illumination module. In a further embodiment of the image reader, the control module comprises a microprocessor. In one embodiment of the image reader, illuminating the target comprises overdriving a light source. In another embodiment of the image reader, the light source comprises a light emitting diode. In a further embodiment of the image reader, the exposure period begins after the start of the illumination period and the exposure period ends before the end of the illumination period. In yet another embodiment of the image reader, the illumination period begins after the start of the exposure period and the illumination period ends before the end of the exposure period. In yet an additional embodiment of the image reader, the illumination period begins before the start of the exposure period and the illumination period ends before the end of the exposure period. In yet a further embodiment of the image reader, the exposure period has a duration of 3.7 milliseconds or less. In various embodiments of the CMOS-based image reader, the target may be a one-dimensional bar code, such as a Code 39 or UPC code, or a PDF417 bar code, an Aztec Synthetic Bar Code, or a 3D bar code. This includes symbologies such as 2D barcodes, such as BOL or Data Matrix symbols.

[0012] In another aspect, the invention features a method for collecting image data from a target. The method activates a light source to illuminate the target in response to an illumination control timing pulse. The activation of the light source occurs during a period of the illumination control timing pulse. The method also includes simultaneously activating a plurality of pixels to photoconvert incident radiation. The activation of the plurality of pixels occurs in response to an exposure control timing pulse. The method further includes storing image data collected by each of the plurality of pixels in a shaded portion of each of the plurality of pixels. The storing of the image data occurs in response to the exposure control timing pulse. The method further includes reading out the image data from the plurality of pixels, where at least a portion of the exposure control timing pulse occurs during the illumination control timing pulse. In one embodiment, the method further includes adjusting an overlap between the illumination control timing pulse and the exposure control timing pulse. The adjustment is directed by a control module. In one such embodiment of the method, the control module comprises a microprocessor. In another embodiment of the method, illuminating the target comprises overdriving a light source within the illumination module. In an additional embodiment of the method, the light source comprises a light emitting diode. In a further embodiment of the method, storing the image data occurs in response to a stop portion of the exposure control timing pulse. In an additional embodiment of the method, the exposure period begins after a start of the illumination period and the exposure period ends before an end of the illumination period. In yet another embodiment of the method, the illumination period begins after a start of the exposure period and the illumination period ends before an end of the exposure period. In yet another embodiment of the method, the illumination period begins before a start of the exposure period and the illumination period ends before an end of the exposure period. In yet a further embodiment of the method, the exposure period is less than 3.7 milliseconds. In various embodiments of the CMOS-based image reader, the target is a one-dimensional bar code, such as a Code 39 or UPC code, or a PDF417 bar code, This includes symbologies such as 2D barcodes, Z-Tec symbols, or Data Matrix symbols.

[0013] In another aspect, the invention features a barcode image reader for collecting and processing barcode data from a barcode symbol. The image reader comprises a two-dimensional array of pixels for receiving optical radiation reflected from a barcode symbol, the two-dimensional array of pixels comprising a first plurality of pixels and a second plurality of pixels, the two-dimensional array capable of reading out the first plurality of pixels independently of reading out the second plurality of pixels, each of the pixels having a light sensitive area and an opaque shielded data store area. The image reader also comprises an optical assembly for directing optical radiation reflected from the barcode symbol onto the two-dimensional pixel array. The image reader further comprises a global electronic shutter associated with the two-dimensional pixel array, the global electronic shutter capable of simultaneously exposing substantially all pixels in the two-dimensional array. The image reader further comprises a processor module, the processor module in electrical communication with the two-dimensional pixel array, the processor module capable of processing image data from the two-dimensional pixel array to generate decoded barcode data. In one embodiment of the barcode image reader, the two-dimensional image sensor array is a complementary metal oxide (CMOS) image sensor. In another embodiment of the barcode image reader, processing the image data to generate output data comprises automatically discriminating between a plurality of barcode types.

[0014] In another aspect, the invention provides a complementary metal oxide (CMO) sensor for collecting image data from a target. The present invention features a semiconductor (CMOS) based image reader. The CMOS based image reader comprises a CMOS based image sensor array, the CMOS based image sensor array comprising a first plurality of pixels and a second plurality of pixels, the CMOS based image sensor array being capable of reading out the first plurality of pixels independently of reading out the second plurality of pixels, each pixel of the CMOS based image sensor array having a light sensitive area and an opaque shielded data store area. The CMOS based image sensor array also comprises a timing module in electrical communication with the CMOS based image sensor array, the timing module being configured to simultaneously expose the pixels of an entire frame of the CMOS based image sensor array during an exposure period. The CMOS based image sensor array also comprises an illumination module configured to illuminate a target during an illumination period, the illumination module being in electrical communication with the timing module. The CMOS based image sensor array further comprises a control module in electrical communication with the timing module and the illumination module, the control module being configured to cause at least a portion of the exposure period to occur during the illumination period.

[0015] In a further aspect, the invention features a complementary metal oxide semiconductor (CMOS) based image reader for collecting image data from a target. The CMOS based image reader comprises at least one CMOS based image sensor array, the CMOS based image sensor array comprising a first plurality of pixels and a second plurality of pixels, the CMOS based image sensor array capable of reading out the first plurality of pixels independently of reading out the second plurality of pixels, each pixel of the CMOS based image sensor array having a light sensitive area and an opaque shielded data store area. The CMOS based image sensor array also comprises a global electronic shutter control circuitry, the global electronic shutter control circuitry configured to generate exposure control timing pulses capable of causing simultaneous exposure of substantially all of the pixels of a full frame of the CMOS based image sensor array. The CMOS based image sensor array further comprises a light source configured to illuminate the target in response to the illumination control timing pulses, the light source being in electrical communication with the integrated circuit. In operation of the CMOS-based image reader, at least a portion of the illumination control timing pulse overlaps with at least a portion of the exposure control timing pulse. In one embodiment of the CMOS-based image reader, illuminating the target is by overdriving a light source within the illumination module. In another embodiment of the CMOS-based reader, the light source comprises a light emitting diode. In a further embodiment of the CMOS-based image reader, the exposure control timing pulse has a shorter duration than the illumination control timing pulse. In yet another embodiment of the CMOS-based image reader, the illumination control timing pulse has a shorter duration than the exposure control timing pulse. In yet another embodiment of the CMOS-based image reader, the illumination control timing pulse begins before the start of the exposure control timing pulse and the illumination control timing pulse ends before the end of the exposure control timing pulse. In yet a further embodiment of the CMOS-based image reader, the exposure control timing pulse lasts for 3.7 milliseconds or less. In yet additional embodiments of the CMOS based imager reader, the target includes a symbology. In one such embodiment, the symbology is a one-dimensional barcode. In another such embodiment, the symbology is a two-dimensional barcode. In one such embodiment, the two-dimensional barcode is a PDF417 barcode.

[0016] In a further aspect, the invention features a barcode image reader for collecting image data from a barcode, the image reader comprising an integrated circuit including at least one two-dimensional image sensor array having a plurality of active pixels, each active pixel having at least one shaded data store area, the two-dimensional image sensor array employing a transfer function for converting incident light intensity to an output voltage. The two-dimensional image sensor array may include a transition function having a first region with a first slope and a second region with a second slope, the two-dimensional image sensor array may use the second region of the transition function when the incident light intensity is above a particular level and may use the first region of the transition function when the incident light intensity is below a particular level. The barcode image reader also includes an exposure timing control circuit, the exposure control timing pulse capable of simultaneously exposing all or substantially all pixels in the image sensor to photoconvert incident radiation. In one embodiment, the exposure control timing pulse has a duration of 3.7 milliseconds or less. In another embodiment, the dynamic range of the sensor is adjusted to 100%. The range is greater than 65 decibels.

[0017] In yet another aspect, the invention features a method for automatically focusing an image reader. The method includes directing light energy reflected from a target onto an image sensor with an optical system. The method also includes sequentially exposing a plurality of rows of pixels in the image sensor for a frame exposure period, the frame exposure period being defined as the period from the start of exposure of a first of the plurality of rows to the end of exposure of a last of the plurality of rows. The method further includes incrementally stepping the optical system from a first setting where a clear image of a target at a first distance from the image reader is on the image sensor to a second setting where a clear image of a target at a second distance from the image reader is on the image sensor. The method further includes reading out a plurality of rows of image data from the plurality of rows of pixels in the image sensor, where the incremental stepping of the optical system occurs during at least a portion of the frame exposure period. In one embodiment, the method further includes analyzing the plurality of rows of image data to determine an appropriate setting for the optical system that corresponds to a clear image of the target being formed on the image sensor. In an additional embodiment, the method also comprises simultaneously exposing multiple rows in the image sensor to generate an image of the target. In one embodiment of the method, exposure periods for pixels of adjacent lines in the image reader overlap. In another embodiment of the method, the target includes a symbology. In one such embodiment, the symbology is a one-dimensional bar code. In another such embodiment, the symbology is a two-dimensional bar code.

[0018] In another aspect, the invention features an image reader with autofocus capabilities. The image reader comprises an integrated circuit including at least an image sensor array. The image reader also comprises an optical system capable of directing light from a target onto the image sensor array, the optical system having a plurality of focus settings, a first focus setting corresponding to a clear image of a target on the image sensor at a first distance from the image reader, and a second focus setting corresponding to a clear image of a target on the image sensor at a second distance from the image reader. The image reader further comprises a rotating shutter control module configured to sequentially expose a plurality of rows of pixels in the image sensor array and collect in-focus image data. The image reader further comprises an autofocus module configured to analyze the in-focus image data to determine a first setting at which a target corresponding to a clear image of the target is formed on the image sensor, where the optical system comprises an autofocus module capable of incrementally changing from a first focus setting to a second focus setting during at least a portion of the time period during which the rotating shutter control module sequentially exposes the plurality of rows of pixels. In one embodiment, the image reader further includes a global electronic shutter control module configured to simultaneously expose multiple lines of pixels in the image sensor array to collect a frame of image data once the focus setting for the target has been determined. In another embodiment of the image reader, the rolling shutter control module and the global electronic shutter control module are configured to simultaneously expose multiple lines of pixels in the image sensor array to collect a frame of image data once the focus setting for the target has been determined. In a further embodiment of the image reader, the rolling shutter control module and the global electronic shutter control module are combined into a single image array control module. In an additional embodiment of the image reader, the rolling shutter control module allows exposure periods for adjacent rows of pixels to overlap.

[0019] In another aspect, the invention features an image reader for minimizing degradation of an ambient light image. The image reader comprises an integrated circuit including at least one image sensor array, the image sensor array providing a signal suitable for light intensity determination. The image reader also comprises a rotary shutter control module configured to sequentially expose a plurality of lines of pixels in the image sensor array. The image reader further comprises a global electronic shutter control module configured to simultaneously expose a plurality of lines of pixels in the image sensor array, where one of the rotary shutter control module and the global electronic shutter control module can be selected to control the image sensor array in response to a signal suitable for light intensity measurement. In one embodiment of the image reader, the signal suitable for light intensity determination includes information related to the intensity of a light source of the image reader. In another embodiment of the image reader, the signal suitable for light intensity determination is useful for determining whether a minimum integration time has been met. In a further embodiment of the image reader, the signal suitable for light intensity determination is useful for determining whether an exposure time (also known as an integration time) for current environmental conditions is less than a calculated minimum integration time. In yet another embodiment of the image reader, the rolling shutter control module and the global electronic shutter control module are integrated on the same integrated circuit.

[0020] In another aspect, the invention features a method for minimizing degradation of image data collected by an image reader. The method comprises determining at least one parameter related to an ambient light intensity and analyzing the at least one parameter. The method also comprises switching control of an image sensor array in the image reader from a global electronic shutter control module to a rolling shutter control module in response to analyzing the at least one parameter. In one embodiment of the method, the at least one parameter includes an exposure time for current ambient conditions. In another such embodiment, analyzing the at least one parameter includes calculating a ratio of an exposure time for current ambient conditions to a predetermined exposure time. In one such embodiment, the predetermined exposure time is based on illumination provided to a light source of the image reader. In another embodiment of the method, analyzing the at least one parameter includes determining whether a ratio of ambient light intensity to an intensity of a light source of the image reader exceeds a specified threshold.

[0021] The above and other objects, aspects, features, and advantages of the present invention will become more apparent from the following description and from the claims. The objects and features of the invention will be better understood with reference to the drawings and claims described below. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention. In the drawings, like numerals are used to denote like parts throughout the various views. [Brief description of the drawings]

[0022] [Figure 1A] FIG. 1A is a block diagram of one embodiment of an image reader constructed in accordance with the principles of the present invention. [Figure 1B] FIG. 1B is a schematic block diagram of an auto-identification module that may be utilized in the present invention. [Figure 1C]FIG. 1C is a process diagram embodying the principles of the present invention including automatically distinguishing between different data form types. [Figure 2A] FIG. 2A is a diagram illustrating the operation of an image sensor using a prior art rolling shutter architecture. [Figure 2B] FIG. 2B is a timing diagram used in the prior art rolling shutter architecture presented in FIG. 2A. [Diagram 3] FIG. 3 is a representation of an image captured by a prior art image sensor. [Figure 4A] FIG. 4A is a block electrical schematic diagram corresponding to a particular embodiment of the present invention. [Figure 4B] FIG. 4B is a block electrical diagram corresponding to another specific embodiment of the present invention. [Figure 5A] FIG. 5A is a block diagram of one embodiment of an illumination module in an image reader constructed in accordance with the principles of the present invention. [Figure 5B] FIG. 5B is a block diagram of one embodiment of an image capture module of an image reader constructed in accordance with the principles of the present invention. [Figure 6] FIG. 6 is a perspective view of one embodiment of a handheld image reader constructed in accordance with the principles of the present invention. [Figure 7] FIG. 7 is a schematic block diagram of one embodiment of an image reader constructed in accordance with the principles of the present invention. [Figure 8A] FIG. 8A is a schematic diagram of a portion of one embodiment of an image sensor array from the prior art that may be used in one embodiment of the image reader of FIG. [Figure 8B] FIG. 8B is a cross-sectional detailed view of a pixel architecture from the prior art that can be used in one embodiment of the image reader of FIG. [Figure 8C] FIG. 8C is a cross-sectional detailed view of a pixel architecture from the prior art that can be used in one embodiment of the image reader of FIG. [Figure 9] FIG. 9 is a flow chart diagram illustrating one embodiment of a process for gathering image data in accordance with the principles of the present invention. [Figure 10A] FIG. 10A is a timing diagram for one of various embodiments of the process of FIG. [Figure 10B] FIG. 10B is a timing diagram for one of various embodiments of the process of FIG. [Figure 10C] FIG. 10C is a timing diagram for one of various embodiments of the process of FIG. [Figure 10D] FIG. 10D is a timing diagram for one of various embodiments of the process of FIG. [Figure 10E] FIG. 10E is a diagram illustrating a lighting control timing pulse that includes a number of individual pulses. [Figure 11] FIG. 11 is a schematic diagram of a portion of an image sensor according to the prior art. [Figure 12] FIG. 12 is a timing diagram for the prior art image sensor of FIG. [Figure 13] FIG. 13 is a flow chart diagram illustrating one embodiment of an autofocus process in accordance with the principles of the present invention. [Figure 14] FIG. 14 is a flow chart diagram illustrating one embodiment of a process for changing operational modes in accordance with the principles of the present invention. [Figure 15A] FIG. 15A is a diagram of one embodiment of a portable data terminal image reader constructed in accordance with the principles of the present invention. [Figure 15B] FIG. 15B is a diagram of one embodiment of a portable data terminal image reader constructed in accordance with the principles of the present invention. [Figure 15C] FIG. 15C is a diagram of one embodiment of a portable data terminal image reader constructed in accordance with the principles of the present invention. [Figure 16] FIG. 16 is an electrical block diagram of one embodiment of the portable data terminal image reader of FIGS. 15A, 15B, and 15C. [Figure 17A] FIG. 17A illustrates one embodiment of multiple curve-rent detection maps that may be utilized in the present invention. [Figure 17B] FIG. 17B illustrates another embodiment of multiple curve-rent detection maps that may be utilized in the present invention. [Figure 18] FIG. 18 is a graphical representation of a histogram analysis that may be performed in one embodiment of the invention. [Figure 19A] FIG. 19A is a diagram of a pictorial representation of an image data division process according to an embodiment of the present invention. [Figure 19B] FIG. 19B is a diagram of a pictorial representation of an image data division process according to an embodiment of the present invention. [Figure 19C] FIG. 19C is a diagram of a pictorial representation of an image data division process according to an embodiment of the present invention. [Figure 19D] FIG. 19D is a pictorial representation of an image data division process according to an embodiment of the present invention. [Figure 20] FIG. 20 is a schematic block diagram of one embodiment of a lens driver constructed in accordance with the principles of the present invention. [Figure 21] FIG. 21 is a diagram illustrating a focus level detection process according to an embodiment of the present invention. [Figure 22A] FIG. 22A is a diagram illustrating a focus level detection process according to an embodiment of the present invention. [Figure 22B] FIG. 22B is a diagram illustrating a focus level detection process according to an embodiment of the present invention. [Diagram 23] FIG. 23 is a flow diagram illustrating a focusing process that may be implemented in accordance with the present invention. [Figure 24] FIG. 24 is a flow diagram illustrating a focusing process that may be implemented in accordance with the present invention. [Diagram 25] FIG. 25 is a flow diagram illustrating a focusing process that may be implemented in accordance with the present invention. [Figure 26] FIG. 26 is a flow diagram illustrating a focusing process that may be implemented in accordance with the present invention. [Figure 27] FIG. 27 is a flow diagram illustrating a focusing process that may be implemented in accordance with the present invention. [Figure 28A] FIG. 28A is a representation of an image sensor pixel array where the shaded areas indicate groups of positionally contiguous pixels that are selectively addressed and read out when the image sensor array is operated in a windowed frame operating mode. [Figure 28B] FIG. 28B is a representation of an image sensor pixel array where the shaded areas indicate groups of positionally contiguous pixels that are selectively addressed and read out when the image sensor array is operated in a windowed frame operating mode. [Figure 28C] FIG. 28C is a representation of an image sensor pixel array where the shaded areas indicate groups of positionally contiguous pixels that are selectively addressed and read out when the image sensor array is operated in a windowed frame operating mode. [Figure 29] FIG. 29 is a diagram illustrating a focus level detection process that may be utilized in an embodiment of the present invention. [Figure 30A] FIG. 30A is a diagram illustrating a focus level detection process that may be utilized in an embodiment of the present invention. [Figure 30B] FIG. 30B is a diagram illustrating a focus level detection process that may be utilized in embodiments of the present invention. [Diagram 31] FIG. 31 is a flow diagram illustrating additional processes that may be implemented in accordance with the present invention. [Diagram 32] FIG. 32 is a flow diagram illustrating additional processes that may be implemented in accordance with the present invention. [Diagram 33] FIG. 33 is an exploded assembly view of an imaging module according to the present invention. [Diagram 34] FIG. 34 is a front view of the imaging module shown in FIG. [Diagram 35]FIG. 35 is a side view of the assembled imaging module shown in FIG. [Diagram 36] FIG. 36 is a diagram of a substrate carrying a bar code symbol and onto which illumination and aiming patterns are projected, depicting the full frame field of view of an image reader according to the present invention upon which illumination and aiming patterns are projected. [Figure 37] FIG. 37 is a chart describing various embodiments of the present invention having LEDs that emit light in different wavelength bands. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0023] The present invention features an image reader and corresponding method for acquiring a sharp, undistorted image of a target. In one embodiment, the image reader comprises a two-dimensional CMOS-based image sensor array, a timing module, an illumination module, and a control module, all in electrical communication with each other. The illumination module shines light onto a target, such as a one-dimensional or two-dimensional symbology such as a barcode, so that reflected light is collected and processed by the image sensor array. The time during which the target is illuminated is referred to as an illumination period. The capture of an image by the image sensor array is driven by a timing module, which in one embodiment can simultaneously expose all or substantially all pixels in the array. The simultaneous exposure of the pixels in the sensor array allows the image reader to acquire an image without distortion. The time during which the pixels are collectively activated to photoconvert incident light into charge defines the exposure period for the sensor array. At the end of the exposure period, the collected charge is transferred to a shielded storage area until the data is read out. In one embodiment, the exposure period and illumination period are under the control of a control module. In one such embodiment, the control module causes at least a portion of the exposure period to occur within an illumination period. By making the illumination period, or the exposure period in a low ambient illumination environment, or the exposure period in a high ambient illumination environment, sufficiently short, the image reader of the present invention is capable of acquiring an image that is substantially free of haze.

[0024] Referring to FIG. 1A, a block diagram of a generic image reader 100 constructed in accordance with the present invention is shown. The generic image reader includes one or more of the following: an illumination module 104, an image acquisition module 108, a control module 112, a memory module 116, an I / O module 120, an actuation module 124, a user feedback module 128, a display module 132, a user interface module 134, a radio frequency identification (RFID) module 136, a smart card module 140, a magnetic stripe card module 144, a decoder module 150, an auto-identification module 152, and / or one or more power modules 168, and a lens driver module 165. In various embodiments, each of the modules communicates with one or more of the other modules. In one embodiment, the image reader 100 comprises a barcode image reader with a full frame electronic global shutter based image sensor capable of exposing substantially all pixels in the image sensor. In one such embodiment, the image sensor is a CMOS based image sensor. In another such embodiment, the image sensor is a CCD-based image sensor.

[0025] Upon receiving the image data transmitted by control module 112, dataform decode module 150 (which may be a barcode symbol dataform decode module) searches the image data for markers, such as quiet zones, that indicate the presence of a dataform, such as a one-dimensional or two-dimensional barcode. If a potential dataform decode module is found, the dataform decode module 150 applies one or more dataform decoding algorithms to the image data. If the decoding attempt is successful, the image reader outputs the decoded dataform data through I / O module 120, indicating a successful read. is signaled through the user interface module 134 with an alert, such as a beep.

[0026] Image reader 100 may also include an auto-discrimination module 152. With reference to Figure 1B, auto-discrimination module 152 may incorporate a dataform decode module 150 and an image processing and analysis module 1208 in communication with each other.

[0027] As shown in this embodiment, the image processing and analysis module 1208 includes a feature extraction module 1212, a generalized classification module 1216, a signature data processing module 1218, an OCR decoding module 1222, and a graphics processing module 1230, all of which communicate with each other. 1B, the feature extraction module 1212 includes a binarization module 1226, a line thinning module 1228, and a convolution module in communication with each other.

[0028] FIGURE 1C illustrates a process 1300 for using one embodiment of the present invention utilizing the auto-identification module shown in FIGURE 1B. Process 1300 involves image reader recording an actuation event, such as a trigger pull as felt by actuation module 124 (step 1302), and responsively collecting image data from a target by image reader 100 (step 1304). The image data collection step may be performed, for example, according to process 300, process 400 (this process is performed twice, see FIGURES 13 and 23 and 24), process 600, or process 800. After collection, the image data is transferred to dataform decode module 150 (step 1308). Dataform decode module searches the image data for markers, such as quiet zones, such as one-dimensional or two-dimensional barcodes, that indicate the presence of a dataform (step 1310). If a possible dataform is found, dataform decode module 150 applies one or more dataform decoding algorithms to the subsequent image data (step 1314). If the decoding attempt is successful, image reader 100 outputs the decoded dataform data (step 1318) and signals a successful read with an audible warning, such as a beep (step 1322).

[0029] In one embodiment, if the decode attempt is unsuccessful, the image data is forwarded to the image processing and analysis module 1208 (step 1326). In another embodiment, the image data is processed in parallel with the attempt to decode the dataform data. In one such embodiment, the process that completes first (i.e., the dataform decode attempt, or image processing) outputs its data (e.g., the decoded barcode or captured signature) and other parallel processes are terminated. In a further embodiment, the image data is processed in response to the decoding of the dataform. In one such embodiment, the bar code encodes item information, such as a shipping label number, and information indicating that a signature has been captured.

[0030] Within the image processing and analysis module 1208, the image data is processed by a feature extraction module 1212. Generally, the feature extraction module generates a numerical output indicative of the texture of the image data. As noted above, the texture of the image data relates to characteristics of the type of data contained in the image data. Common types of texture include one-dimensional or two-dimensional barcode texture, signature texture, graphics texture, typed text texture, handwritten text texture, drawing or image texture, photographic texture, etc. Within any category of texture, subcategories of texture can sometimes be identified.

[0031] As part of the processing of the image data by the feature extraction module 1212, the image data is processed by the binarization module 1226 (step 1328), which binarizes the gray level image into a binary image by local thresholding and target image size normalization. Once the image data has been binarized, the image data is processed by the line thinning module 1228 (step 1332), which reduces multi-pixel thick line segments to single pixel thick lines. With the binarized line thinned data, the image data is processed by the convolution module 1230 (step 1336).

[0032] In general, the convolution module 1230 convolves the processed image data with one or more detector maps designed according to the present invention to identify various texture features within the image data. In one embodiment, the convolution module 1230 generates a pair of numbers, a mean and a variance (or standard deviation) for each convolved detector map. FIG. 17A shows a set of twelve 2×3 binary Curvelet Detector maps used to detect curved elements present within the image data. Each of the Curvelet Detector maps is convolved within the image data so that the mean and variance generated provide an indication of the presence or density of elements within the binarized line-decimated image data that have a shape similar to the Curvelet Detector. Since each pixel generates a pair of numbers, the twelve Curvelet Detector maps 1250 generate a total of 24 numbers. According to one embodiment, these 24 numbers are representative of the curved or signature texture of the processed image data.

[0033] Further processing of the image data includes providing the output from the feature extraction module 1212 (step 1340) to a generalized classification module 1216, which uses the numbers generated by the feature extraction module as input to a neural network, mean squared error classifier, etc. These tools are used to classify the image data into general categories. In embodiments using the neural network, different neural network configurations are contemplated in accordance with the present invention to achieve different performance optimizations and characteristics. In one embodiment using the network, the generalized classification module 1212 uses a 24+12+6+1=43-node, feedforward, backpropagation multi-layer neural network. The input layer 24 is a convolutional layer using 12 curvelet detector maps 1250. The neural network has 24 nodes for the 12 pairs of average and variation outputs generated by the convolution module 1230. In the neural network of this embodiment, there are two hidden layers of 12 and 6 nodes, respectively. Also, a signal processor is used to report the positive or negative presence of the signature. There is one output node for reporting the

[0034] In another embodiment using a neural network, the 20 The 20 curvelet detector maps 1260 are used by the convolution module 1230. As shown, the 20 curvelet detector maps 1260 include the original 12 curvelet detector maps 1250 of FIG. 17A. The additional 8 maps are related to the signature. The curvelet detector maps 1260 are used to provide directional information for the signature. In one embodiment using 20 curvelet detector maps 1260, the generalized classifier module 216 is a feed-forward, back-propagation multi-layer neural network with 40+40+20+9=109 nodes. The input layer has 40 nodes for the 20 pair average and variation outputs generated by the convolution module 1230 using the 20 curvelet detector maps 1260. In this embodiment of the neural network, there are two hidden layers of 40 and 20 nodes each, one output node to report the positive or negative presence of the signature, and eight output nodes to report the degree of the signature's orientation. The eight output nodes give 28=256 possible orientation states. Hence, the orientation angles are given in degrees between 0 and 360 in increments of 1.4 degrees.

[0035] In some embodiments, the generalized categorization module 1216 can classify data into an expanded set of categories. For example, in some embodiments, the generalized categorization module 1216 can classify the image data into an expanded set of categories, such as: signatures; data forms; handwritten text; typed text; machine-readable text; OCR data; graphics; The general classification module 1216 may specify whether the image data includes data types such as: fixes; pictures; images; forms such as bills, shipping manifests, shipping, ID cards, etc.; fingerprints, biometrics such as fingerprints, facial images, retinal scans, and / or other types of identification indicia. In further additional embodiments, the general classification module 1216 may specify whether the image data includes various combinations of these data types. In some embodiments, the general classification module 1216 may specify whether the image data includes a particular data type. In one such embodiment, the image processing and analysis module 1208 is included in an identification module that outputs a positive or negative answer depending on the presence or absence of identified data, such as a signature, or biometric, in the image data.

[0036] In one embodiment, once the presence of a signature has been asserted and its general orientation determined, the image data is forwarded to the signature data processing module 1218 (step 1344). In one embodiment, the signature data processing module 1218 is used to find the boundaries of the signature in the image data. In one embodiment, the boundaries of the signature are detected using histogram analysis. As shown in FIG. 18, the histogram analysis consists of a series of one-dimensional slices along horizontal and vertical directions defined relative to the signature orientation. In one embodiment, the value for each one-dimensional slice corresponds to the number of black (i.e., zero-valued) pixels along the pixel slice. In some embodiments, if the barcode is not decoded, then some specified region of the full frame of image data, such as the central region, is acquired for signature analysis. Once completed, the histogram analysis provides a two-dimensional plot of the density of data element pixels within the image data. The boundaries of the signature are determined in terms of the minimum density that must be achieved for a certain number of sequential slices. In one embodiment, the histogram analysis searches inward along the horizontal and vertical directions until the pixel density is above a predetermined cutoff threshold. It is common to use a low cutoff threshold so that the signature data is not inadvertently clipped.

[0037] In one embodiment, once the signature boundaries are determined, the signature data processing module 1218 crops the image data to extract the signature image data. In one such embodiment, the cropping is done by an image correction module that generates corrected image data in which portions of the image data that do not contain the signature are removed. In embodiments, various compression techniques are used to reduce the memory requirements for the signature image data. One such technique involves encoding the image data by run-length encoding. According to this technique, the length of each run of similar binarized values ​​(i.e., the length of each run of 1s or 0s) for each scan line is recorded as a means to reconstruct the bitmap. Another encoding technique treats the signature image data as a data structure whose elements consist of vectors. According to the encoding technique, the signature is decomposed into a collection of vectors. The position of each vector combined with the length and direction of each vector is used to reconstruct the original signature. In one such embodiment, the encoding process generates a new vector whenever the curve for a continuous pixel run exceeds a certain value. A further compression technique involves the use of B-spline curve fills. This technique has the capacity to stably accommodate curve and size problems.

[0038] In various embodiments, the signature image data, or a compressed or encoded version of the signature image data, is stored locally on a dedicated storage device. In one such embodiment, the local storage device may be a removable storage device, such as a CompactFlash memory card, or the like, described in more detail below. In another embodiment, the signature image data is stored in a volatile or non-volatile portion of general purpose memory and downloaded at a future time. In a further embodiment, the signature image data may be transferred by wired or wireless means at the time of capture, such as when a data collection session is completed, or at an even later time.

[0039] In another embodiment, the signature data processing module 218 does not perform a histogram analysis, but simply stores in memory the entire image or a compressed version once the presence of a signature has been determined. In a further embodiment that saves processing time, an initial image analysis is performed on a lower resolution image. In this embodiment, once the presence of a signature has been determined, the image is captured at a higher resolution. In one embodiment, a signature extraction histogram analysis is performed on this image. The image is then stored in memory in either compressed or original format. In some embodiments, the image data is combined with other data to form a record for a particular item, such as a package or shipping envelope. As mentioned above, some of the additional data that can be collected by the image reader 100 and stored with or apart from the signature data include, but are not limited to, data form data, handwritten text data, typed text data, graphics data, image or photograph data, etc.

[0040] As part of its operation, the image processing and analysis module 1208 can be designed to perform specialized tasks for different data types. For example, if the generalized classification module 1216 determines that the image data contains typed or machine-readable text, the image data is aggregated, possibly histogrammed and stored, or the image data is sent to an OCR decoding module. The image data may be forwarded to a graphics analysis module 1222 for processing. Similarly, if the generalized classification module 1216 determines that the image data contains graphical elements, the image data may be forwarded to a graphics analysis module 1224 for processing. In one embodiment, the graphics analysis module 1224 is configured to recognize and decode predefined graphics. In one such embodiment, the graphics analysis may include determining which boxes, if any, were selected in the billing and shipping instructions on the shipping label. In a further embodiment, the graphics analysis may include determining which typed box is included within the zip code box on the shipping label. In one alternative embodiment, image reader 100 detects and interprets the activation of feature extraction module 1212. Before encoding, in addition to data form decoding, it is necessary to carry out some other operations such as OCR decoding or graphics decoding. Such decryption operations can be configured to occur automatically.

[0041] In another embodiment, the image processing and analysis module 1208 divides the image data into regions and performs feature extraction and general classification analysis on each region. In one embodiment shown in FIG. 19A, a standard rectangular image data window is divided into four equal sized sub-rectangles. In another embodiment shown in FIG. 19B, the division consists of overlapping regions such that the total area of ​​the segmented region is greater than the area of ​​the complete field of image data. In FIG. 8B, there are seven overlapping regions, each with a specific number shown in the middle of the region. In the other embodiment shown in FIG. 19C and 19D, In yet another embodiment, the segmentation consists of a (cross-hatched) sample area within the complete field of image data. In another embodiment, the sample area can be based on a pre-loaded user template that identifies, for example, problem areas, such as signature and / or barcode areas on a shipping label.

[0042] In one embodiment, the segmentation process includes the segmentation of barcode data forms, text, graphics, etc. The segmented image data may be used to identify the location of the signature in the image data, including additional elements such as a dataform including graphics, images, etc. In one such embodiment, the generalized classification module 1216 classifies the content of each region of the segmented image data. The regions containing the signature are then extracted by the signature data processing module 1218. In one embodiment, if multiple regions are indicated as containing signature data, the signature data processing module 1218 analyzes an array of these regions to identify the region most likely to contain image data. In a further embodiment, if multiple regions are indicated as containing signature data, the image processing and analysis module establishes a feedback loop in which additional segmented regions are generated and analyzed until one segmented region containing signature data is found.

[0043] Additional image processing operations that may be performed by image reader 100 are described in U.S. patent application Ser. No. 10 / 958,779, filed Oct. 5, 2004, and entitled "System And Method To Automatically Discriminate Between A Signature And A Barcode." , the entirety of which is incorporated herein by reference.

[0044] 1A and 5A, the illumination module 104 can include a light source 160, an illumination control module 164, an illumination power module 168a, and an interface module 172. In various embodiments, the light source 160 can be a white LED, such as a 660 nanometer illumination LED, an infrared LED, an ultraviolet LED, or the like. or color LED, laser, halogen light, arc lamp, or fluorescent light. Therefore, any suitable light source may include any that can generate sufficient light intensity given the power limitations of the image reader and the exposure / sensitivity requirements of the image sensor. In many embodiments, LEDs are used as light sources because their efficient operation allows for relatively low power consumption. The illumination control module 164 controls the operation of the illumination module 104 and may include timing and light source activation and deactivation circuitry. The illumination power module 168a provides the energy necessary to drive the light sources 160 and may include batteries, capacitors, inductors, transformers, semiconductors, integrated circuits, etc. In an alternative embodiment, some or all of the elements of the illumination power module 168a are located outside the illumination module. An image reader 100 with a single common power source may include: In one such embodiment, the interface module 172 is used to communicate with other modules of the image reader, such as those that need to synchronize their operation. This can include, for example, coordination with illumination and exposure periods, as discussed above.

[0045] With reference to the physical format views of Figures 33-36, various elements of illumination module 104 and image acquisition module 108 according to one embodiment of the present invention are shown and described. As shown in the embodiment of Figures 15A-15C, image reader 100 of the present invention may include an imaging module, such as imaging module 1802. Imaging module 1802 as shown in Figures 33-35 includes certain features of the IT4000 imaging module referenced herein as well as additional features. The imaging module 1802 includes a first circuit board 1804 carrying light sources 160a, 160b, while a second circuit board 1806 carries light sources 160c, 160d, 160e, 160f, 160g, 160h, 160i, 160j, 160k, 160l, 160m, 160n, 160o, 160p, 160q, 160r, 160s, and 160t (hereinafter referred to as 160c through 160t). The first circuit board 1804 also carries an image sensor array 182. The imaging module 1802 also includes a support assembly 1810 that includes a lens holder 1814, which in turn carries an imaging lens 212. Light sources 160a and 160b are aiming illumination sources, and light sources 160c-160t are illumination sources. Referring to FIG. 36, illumination sources 160c-160t project a two-dimensional illumination pattern 1830 carrying a decodable indicia, such as a barcode symbol 1835, onto the plate s, while aiming illumination source 160 33-36, the light from the aiming illumination sources 160a, 160b is shaped by the slit aperture 1840, which is then combined with a lens 1842 that images the slit 1840 onto the substrate s to form the aiming pattern 1838, which in the embodiment of FIG. 33-36 is a line pattern 1838. The illumination pattern 1830 substantially corresponds to a full frame view of the image reader, designated by a box 1850. The aiming pattern 1838 is in the form of a line that extends horizontally across the center of the field of view of the image reader 100. The illumination pattern 1830 can be projected when all of the illumination sources 160c-160t are operated simultaneously. The illumination pattern 1830 can also be projected when a subset of the sources 160c-160t are energized simultaneously. The illumination pattern 1830 can also be projected when only one of the light sources 160c-160t is energized, such as LED 160s or LED 160t. 0t has a wider projection angle than LED160c~160t.

[0046] 5B, image acquisition module 108 in one embodiment includes an optics module 178, a sensor array module 182, and a sensor array control module 186, all in electrical communication with each other. Optical module 178 includes an imaging lens or other optical elements that direct and focus the reflected radiation. In some embodiments, optical module 178 includes associated circuitry and processing capacity, for example, as part of automatically determining an appropriate focus for a target to be imaged.

[0047] The sensor array control module 186 includes a global electronic shutter control module 190, a row and column address and decode module 198, and a readout module 194, each of which is in electrical communication with one or more other modules in the sensor array control module 186. In one embodiment, the sensor array module 182 includes elements of an IC chip 1082 as shown in FIG. 4A for a two-dimensional CMOS-based image sensor array 182. In various embodiments, associated circuitry such as analog-to-digital converters, etc., are separate from the image sensor array or are integrated on the same chip as the image sensor array. In an alternative embodiment, the sensor array module 182 supports simultaneous exposure and full frame In one embodiment, the image sensor may include a CCD sensor array capable of storing image data of As shown above in , the global electronic shutter control module 190 can globally and simultaneously expose all or substantially all pixels in the image sensor array. In one embodiment, the global electronic shutter control module 190 includes a timing module. Row and column address and decode modules are used to select specific pixels for various operations such as acquisition activation, electronic shutter data accumulation, and data readout. The readout module 198 organizes and processes the readout of data from the sensor array. In some embodiments, the sensor array control module 186 further includes a rolling shutter control module 202 that can sequentially expose and read out lines of pixels in the image sensor array.

[0048] A particular embodiment of the image reader 100 will be described with reference to FIG. 4A. In the embodiment of FIG. 4A, an image sensor array 182, 182a having a two-dimensional array of pixels 250 is integrated on a CMOS integrated circuit (IC) chip 1082, 1082a. As will be described later with reference to FIG. 8A, the image sensor array 182a is a CMOS image sensor array adapted to operate in a global shutter mode of operation. Each pixel 250 of the image sensor array 182a has an on-chip pixel amplifier 254 (shown in FIG. 8A) and an on-chip optically shielded storage area 286 (shown in FIGS. 8B and 8C). The image sensor array 182a also has a two-dimensional grid of electrical interconnects 262, shown in FIG. 8A, in electrical communication with the pixels 250. The image sensor array 182a may also have on-chip row circuitry 296 and column circuitry 270. The row circuitry 296 and column circuitry 270 enable one or more of various processing and operational tasks, such as pixel addressing, signal decoding, signal amplification, analog-to-digital conversion, applying timing, signal readout and resetting, etc. Referring to further aspects of the CMOS image sensor IC chip 182a, the CMOS image sensor IC chip 182a includes, on the same chip as the pixels 250, row circuitry 296, column circuitry 270, processing and control circuitry 254 including pixel amplifiers 255, optically shielded storage regions 258, interconnects 262, gain circuitry 1084, analog-to-digital conversion circuitry 1086, and line drive circuitry 1090, which generate a multi-bit (e.g., 8-bit to 10-bit) signal indicative of the light incident on each pixel of the array, the output of which appears on a set of output pins of the chip 1082a. Referring to additional on-chip elements of the image sensor IC chip 1082a, the CMOS image sensor IC chip 1082a includes timing / control circuitry 1092, which may include circuits such as bias circuits, clock / timing generation circuits, and oscillators.

[0049] Referring to further aspects of image reader 100 of FIG. 4A, image reader 100 includes a main processor IC chip 548, memory module 116, illumination module 104, and actuation module 124. Main processor IC chip 548 is a multi-function IC chip having integrated frame grabber circuitry 549, and central processing unit (CPU) 552. The processor IC chip 548 with integrated frame grabber may be, for example, an XSCALE PXA27X processor IC chip with "Quick Capture Camera Interface" available from Intel. The image reader 100 further includes an actuation module 124 that generates a trigger signal to initiate a coding process on the barcode. The actuation module 124 may include a manually actuated trigger 216. The image reader 100 further includes an imaging lens 212 and a memory module 116 that includes storage devices such as RAM, EPROM, and flash memory. The memory module 116 communicates with the processor IC chip 548 via a system bus 584. The processor IC chip 548 ... integrated frame grabber The dataform decode module 150 and the auto-identification module 152 may be programmed or otherwise configured to perform the various functions required. In the embodiment of Figure 4A, the functions of the dataform decode module 150 and the auto-identification module 152 may be performed by a processor IC chip 548 operating according to specific software stored in the memory module 116. The combination of the processor IC chip 548 and the memory module 116 are therefore labeled 150, 152 in the embodiment of Figure 4A.

[0050] Referring to FIG. 4B, an image reader having CCD image sensor chips 1082 and 1082b is An embodiment of the CCD image sensor IC chip 1082b is shown. The image sensor array 1082b includes an area array 250 of pixels, a register 1094, and an output amplifier 1096. The output register 1094 and associated circuitry sequentially convert the charge associated with each pixel to a voltage and transmits a pixel image signal to elements external to the chip 1082b. When activated to read out image data, the charge on the pixels 250 of a row is sequentially transferred to the output register 1094. The output register 1094 sequentially provides the charge to an amplifier 1096 which converts the pixel charge to a voltage and provides a signal to the image processing circuitry 1070. When charge is transferred from a first row of pixels to the output register 1094, the charge from the next row moves down one row such that when the charge of the first row is converted to a voltage, the output register 1094 receives the charge from the pixels of the second row. The process continues until the image data corresponding to pixels from all rows of the image sensor array 182b has been read out. Image reader 100 further includes image signal processing circuitry 1070 which is off chip 1082b. Image signal processing circuitry 1107 is 4A. The image reader 100 includes elements such as a gain circuit 1072, an analog to digital converter 1074, and a line driver 1076. The timing and control circuit 1078 of the circuit 1070 may include elements such as a bias generator, an oscillator, a clock and timing generator. The gain circuit 1072 may also include additional functionality such as correlated double sampling to reduce the effects of pixel offset and noise. Additional elements of the image reader 100 are shown in FIG. 4A. Image Signal Processing The circuit 1070 is an integrated circuit chip (IC chip) outside the image sensor IC chip 1082b. can be included in the

[0051] In one embodiment, the image acquisition module 108 and elements of the illumination module 104 are provided by any one of the IMAGETEAM™ area (2D) imaging engines, such as the 4000 OEM 2D Image Engine available from Handheld Products, Inc., 700 Visions Drive, PO Box 208, Skaneateles Falls, NY, configured in accordance with the present invention.

[0052] 6, a handheld reader 100a according to one embodiment of the present invention is shown. Handheld image reader 100a includes a housing 208, a plurality of light sources 160, a lens 212, a trigger 216, and an interface cable 200. In various embodiments, the functionality of image reader 100a is implemented in any one of the area (2D) IMAGETEAM™ image readers, such as models 4410, 4600, or 4800, available from Handheld Products, Inc. and configured in accordance with the present invention. All of the modules 104, 108, 112, 116, 120, 124, 128, 132, 134, 136, 140, 144, 150, 152, 165, and 168 described in connection with FIG. 1A can be supported by the handheld housing 208, or the alternative housing 506 shown in FIG. 15A, such that the housing 208, or the housing 506, houses and supports the various modules. Similarly, all of the elements shown in FIGS. 4A, 4B, and 16 can be incorporated into and supported by the housing 208, or the housing 506, such that the housing 208, or the housing 506, houses and supports the various modules. The lens 212 is a galvanic Lens 212 may be a single lens or may be comprised of multiple lens elements, i.e., lens 212 may be a doublet lens or a lens triplet.

[0053] 7, a schematic cross-sectional view combined with a schematic diagram for an image reader 100 is shown. The image reader 100 includes a light source 160, an illumination control module 164, a power module 168b, and an interface module 172, all in electrical communication with one another. The light source 160 directs light energy 162 toward a target 166 that includes symbology 170. Reflected radiation 174 from the target 166 is focused by a lens 212 onto an image sensor array 182, which is in electrical communication with a sensor array control module 186, and a power module 168b. In one embodiment, the image sensor array 182 is a CMOS-based image sensor array. In another embodiment, the image sensor array 182 is a CCD-based image sensor array. The sensor array The control module 186 is in electrical communication with the memory module 116 and the control module 112, which in turn is in electrical communication with the power module 168b and the interface module 172. Often an optical window (not shown) is placed on the front of the scanner to reduce the possibility of damage to the unit.

[0054] Referring to FIG. 8A, a diagram of a portion of the CMOS-based image sensor array 182a is shown in more detail. The image sensor array 182a includes a two-dimensional array of pixels 250. Each pixel includes a photosensitive region 252, a processing and control circuitry 254 including an amplifier 255, and a shielded storage area 258 (for clarity of illustration, reference numerals 252, 254, 255, and 258 are only given for a single pixel). The presence of the amplifier 255 means that the CMOS image array 182a is considered to be an active pixel array; that is, each pixel of the CMOS image array 182a can amplify the signal generated from the photoconversion of incident light energy. The charge-to-voltage conversion circuitry allows the CMOS image array 182a to convert the collected charge into an output signal. The shielded storage area 258 stores the collected pixel values ​​until readout such that additional incident radiation impinging on the CMOS image array 182a does not corrupt the values ​​read out during the defined exposure period. In addition to the pixel amplifiers 255, the processing and control circuitry 254 for each pixel 250 includes reset and select transistors, among other elements.

[0055] In one embodiment, the dynamic range of the CMOS-based image sensor array 182a can be expanded by providing additional intelligence in the processing and control circuitry 254. In particular, the processing circuitry can be configured to include the ability to dynamically change the conversion factor between the incident radiation input intensity and the output voltage. That is, the processing circuitry uses a multi-slope transfer curve. The specific form of the multi-slope transfer curve can take a variety of forms including a series of linear relationships joined at a knee, a linear section at lower intensities connected to a logarithmic conversion curve at higher intensities, or a completely continuous curve of any shape with steeper slopes for low intensities and higher slopes at higher intensities.

[0056] In a multiple-slope embodiment, the dynamic range of the CMOS-based image sensor 182a can be substantially expanded since each individual pixel can be independently controlled with a different portion of the transfer curve depending on the intensity of the radiation incident upon it. In operation, areas of the CMOS-based image sensor 182a receiving less incident radiation use a steeper slope corresponding to greater sensitivity, whereas areas receiving more incident radiation use a gentler slope corresponding to less sensitivity. With a multiple-slope transfer function, the CMOS-based image sensor 182a can achieve a dynamic range of 65-120 decibels. A dynamic range of 1000 s is achievable. Image sensors with even more slopes are shown in the FillFactory NV, Schalienhoevedreef 20B, B-2800 Mechelen, Belgium. This document is available from FillFactory (www.fillfactory.com) at, for example, http: / / www.fillfactory.com / htm / technology / htm / dual-slope.htm, which is incorporated herein in its entirety. Furthermore, the operation of image sensors having a transfer curve with a logarithmic slope is described in more detail in a technical document entitled "Dual Slope Dynamic Range Expansion" from Photonfocus AG, Bahnhofplatz 10, CH-8853 Lachen, Germany. Further details are provided in the technical document entitled “LinLog Technology” from Switzerland. This document is available from Photonfocus (www.photonfocus.com) at, for example, http: / / www.photonfocus.com / html / eng / cmos / linlog.php and is hereby incorporated by reference in its entirety. Can be incorporated.

[0057] In FIG. 8A, disposed above pixel 250 is a two-dimensional grid electrical interconnect 262 in electrical communication with pixel 250, row circuitry 296 (see also FIG. 4A), and column circuitry 270. Row circuitry 296 and column circuitry 270 enable one or more processing and operational tasks, such as addressing the pixels, decoding signals, amplifying signals, analog-to-digital conversion, and applying timing, readout, and reset signals. With row circuitry 296 and column circuitry 270 on-chip, CMOS-based image sensor array 182a is operable to selectively address and read out data from individual pixels in an XY coordinate system. CMOS-based image sensor array 182a is also operable to selectively address and read out a portion of the pixels of a full frame by way of appropriate programming of image reader 100. For example, in these embodiments, the portion of pixels read out can exclude undesired pixels outside of the desired pixel area. The portion of pixels read out may represent a sampling in an area such that individual pixels, rows of pixels, or columns of pixels in the area of ​​interest are not read out. Further details of image reader 100 operating in a windowed frame mode of operation in which reader 100 selectively addresses and reads image data from fewer than all pixels of image sensor array 182 are described in conjunction with Figures 28A, 28B, and 28C. In general, image reader 100 may be programmed or configured to selectively address and read image data from CMOS-based image sensor array 182a from a first plurality of pixels in the array independently of addressing and reading a second plurality of pixels in the array.

[0058] In one embodiment, the pixel architecture may be as described in U.S. Patent No. 5,986,297, entitled "Color Active Pixel Sensor with Electronic Shuttering, Anti-blooming and Low Cross-talk," assigned to Eastman Kodak Company. In particular, at column 3, lines 35-55 and column 5, lines 25-55, the patent describes a cross-section of the relevant region of the pixel architecture shown in Figures 1A and 2A of the patent (reproduced here as Figures 8B and 8C). The disclosure states that the pixel of Figure 8B has a vertical overflow drain 274, a transfer gate 276, a floating diffusion 280, a reset gate 282, a reset drain 284, and a light shield 286. A light shield aperture 288, a color filter 290, and a microlens 292 are placed over the photodetector such that light passes through the color filter 290 and then through the microlens 292 and is focused into the light shield aperture 288. Thus, light impinging on the photodetector 270 has wavelengths within a predefined bandwidth determined by the color filter 290. The patent describes Figure 8C as showing a second pixel architecture that is similar in many respects to the embodiment shown in Figure 8B, except that there are two transfer gates 294, 296, and a storage region 298. In both cases, the light shield shields all areas except the photodetector (in this case, the photodiode 270), preventing incoming light from falling only on the photodiode region. The light shield is configured to effectively cover the photoelectron beam with an opaque or overlapping layer so that the photoelectron beam falls on the photodetector region. Providing an aperture in the light shield that limits the generation of photoelectrons to only the photodetector region suppresses crosstalk between pixels. In FIG. 8C, the floating diffusion is labeled 281, the reset gate is labeled 283, and the reset drain is labeled 285. In some embodiments using the pixel architecture described in U.S. Pat. No. 5,986,297, the color filter 290 can be omitted, and in other embodiments, the microlens 292 can be omitted.

[0059] A process 300 for collecting image data from a target with image reader 100 is presented with respect to FIGS. 9, 10A, 10B, 10C, and 10D. In various embodiments, the target may include a symbology such as a one-dimensional or two-dimensional barcode. At step 302, actuation module 124 initiates process 300 in response to trigger 216 being pressed or in response to detecting the presence of a target within the field of view of image reader 100. In one embodiment, according to process 300, control module 112 may provide a series of control signals to various modules, such as illumination module 104 and image acquisition module 108, in response to trigger 216 being pressed or a target being detected. The process 300 includes activating an illumination source (step 304) to illuminate the target with illumination light 162. In one embodiment, activation of the illumination source occurs in response to an illumination control timing pulse 350. Illumination of the target by the activated illumination source occurs for a period of the illumination control timing pulse 350. In one embodiment, the illumination source is a light source 160, and the illumination control timing pulse 350 is generated by an illumination control module 164 in the illumination module 104. The process 300 also includes actuating a global electronic shutter to simultaneously expose (at 312) multiple pixels of multiple rows in the image sensor array and convert the incident radiation to electrical energy. The simultaneous activation of the multiple pixels occurs in response to the exposure control timing pulse 354. In one embodiment, the simultaneous activation of the multiple pixels occurs in response to a start position 360 of the exposure control timing pulse 354. In a further embodiment, the exposure control timing pulse 354 is generated by a global electronic shutter control module 190 (FIG. 5B) of the sensor array control module 186.

[0060] In one embodiment of collecting an image of a target that minimizes transformation image distortion, the target is illuminated by overdriving a light source, such as an LED, to produce illumination many times brighter than standard operation. With reference to an embodiment of the invention in which image reader 100 includes imaging module 1802, as shown in FIGS. 33-35, LEDs 160c-160t (i.e. , 160c, 160d, 160e, 160f, 160g, 160h, 160i, 160 LEDs 160c to 160d (160j, 160k, 160l, 160m, 160n, 160o, 160p, 160q, 160r, 160s, and 160t) each have a recommended maximum DC operating current draw rate of 40 mA (100% LED current), but can be overdriven to draw, for example, more than 60 mA (150% current) or 80 mA (200% current) during the duration of an illumination timing pulse 350 or any one of the pulses 350', 350'', 350'''' described herein. 60t may be, for example, a timing pulse 350 or a pulse 350', 350', as described herein. For example, currents of greater than 120 mA (300% current), 160 mA (400% current), 200 mA (500% current), or 500 mA (1,250% current) can be drawn throughout the duration of any of the 50", 350"'. The illumination timing pulses 350, 350', 350", 350"' are shown as DC drive current pulses. However, in accordance with the present invention as shown in FIG. 10E, the pulses 350, 350', 350", 350"' can also be a series of pulses for driving the LEDs 160. Alternatively, the pulses may be pulse modulated or "strobed" so that they consist of individual pulses of short duration. Instead of a DC drive current, a pulsed drive signal may be used. Reducing the duty period of the LED and therefore the power dissipated in the LED. Since in many cases the LED operating lifetime is determined by the maximum junction temperature of the LED die, reduced power dissipation reduces the junction temperature. The net effect is to reduce the maximum operating junction temperature limit of the LED die. Generally, the LED160 duty cycle is 100ms and the LED160 can withstand higher peak currents without exceeding 100ms. Reducing the cycle increases the amount of current that can be safely driven through an LED. The strobing rate of the strobed, or pulsed, illumination control pulses, as described herein, may be, for example, 1,000 Hz to 10,000 Hz. According to this embodiment, an overdriven illumination source combined with an electronic global shutter allows for a short exposure period; that is, bright illumination allows for a short integration time for each pixel, and the global electronic shutter allows all pixels in the image sensor to be sensitive simultaneously. The short exposure period for a brightly illuminated target allows the image reader of the present invention to collect sharp, distortion-free images even when the target is moving relative to the image reader. In one embodiment, the exposure period is 3.7 milliseconds or less. In one embodiment in which the light source is overdriven, Light sources having different colors may be used. For example, in one such embodiment, the image reader may include white and red LEDs, red and green LEDs, white, red and green LEDs, or image The different color LEDs may be selected in response to the color of the symbols most commonly imaged by the reader, or some other combination. In this embodiment, the different color LEDs are scaled according to an overall power budget. In another such embodiment, two colored LEDs are pulsed each time, but each at a lower power level. The LEDs are pulsed, again maintaining the overall power budget.In a further embodiment, the red, green and blue LEDs are interleaved to emit white light.

[0061] Various embodiments of the imaging module 1802 of the image reader 100 will be described with reference to FIG. 37. The LEDs 160 of the imaging module 1802 are as shown in the chart of FIG. The image reader 100 is divided into banks, as shown in Figure 1. Each bank of LEDs has a radiating In the embodiment depicted in the chart of FIG. 37, image reader 100 has aiming LEDs 160a, 160b emitting green light. All lighting LEDs 160c-160t can be configured to emit red light. An additional embodiment is described in the chart of Figure 37. Image reader 100 controls the timing of illumination timing control pulses 350, 350', 350'', for the light sources for the various banks. 350'' at the same time (for example, bank 1, bank 2, bank 3, and bank 4 are ) or sequentially (e.g., bank 1, then bank 2, then bank 3, then bank 4).

[0062] Referring again to Figures 9, 10A, 10B, 10C, and 10D, the process 300 also includes processing the charges generated in the photoelectric conversion (at step 316) to generate image data. As discussed above, the process may include amplifying the data generated from the incoming radiation. The process further includes storing the generated image data values ​​within the shielded portions of each of the plurality of pixels. The process 300 further includes reading and processing (step 320) the stored image data from the plurality of pixels. As discussed above, the process may include amplifying the data generated from the incoming radiation and converting the generated data to digital signals. The process (step 320) may also include a set of digital signal values ​​corresponding to light incident on the plurality of pixels of the image sensor array module 182 as a frame of image data as the frame of image data. The image reader 100 may store the frame of image data in the memory module 116 at step 320, the frame of image data including a plurality of N-bit (grayscale) pixel values, each pixel value representing light incident on one of the plurality of pixels. In one embodiment, the readout of the multiple pixels is generated by a readout module 198 of the sensor array control module 186. The illumination 350 and exposure 354 control timing signals are controlled by a readout timing control pulse 368 generated by the illumination control module 164. In one embodiment, the readout timing control pulse 368 includes a plurality of pulses sent to each of a plurality of pixels. In one embodiment, at least a portion of the illumination control timing pulse 350 occurs during the exposure control timing pulse 354. In one such embodiment, the operation of the image acquisition module 104, including the sensor array control module 186 with the global electronic shutter control module 190, is coordinated with the operation of the illumination module 104, including the illumination control module 164, by the control module 164 to achieve overlap in the illumination 350 and exposure 354 control timing signals.

[0063] In one embodiment shown in FIG. 10A, the exposure control timing pulse 354 begins after and ends before the illumination control timing pulse 350. The control timing pulse 368 begins at the end of the illumination control timing pulse 350. In another embodiment shown in FIG. 10B, the illumination control timing pulse 350' begins after and ends before the exposure control timing pulse 354'. In this embodiment, the read control timing pulse 368' begins at the end of the exposure control timing pulse 354'. In a further embodiment, the exposure control timing pulse and the illumination control timing pulse occur consecutively but overlap each other. In one such embodiment shown in FIG. 10C, this consecutive operation can include the illumination control timing pulse 350'' beginning, the exposure control timing pulse 354'' beginning, the illumination control timing pulse 350'' ending, and then the exposure control timing pulse 354'' ending. In this embodiment, the read control timing pulse 368'' begins at the end of the exposure control timing pulse 354''. In a further such embodiment shown in FIG. 10D, the sequential operation may include an exposure control timing pulse 354''' beginning, an illumination control timing pulse 350''' beginning, an exposure control timing pulse 354''' ending, and then an illumination control timing pulse 350''' ending. In this embodiment, a read control timing pulse 368'''' As discussed in connection with FIG. 10E, Additionally, each lighting control timing pulse 350, 350', 350'', 350''' described herein may be comprised of multiple short duration individual pulses.

[0064] Referring again to the imaging module 1802, the image reader 100 with the imaging module 1802 can have a mode of operation where the aiming LEDs 160a, 160b are off or de-energized during the exposure control timing pulses 354, 354', 354'', 354'''' so that light from the LEDs 160a, 160b does not affect the image collected and transferred to the decode module 150 or the self-identification module 152. In another embodiment, the aiming illumination LEDs 160a, 160b, in addition to the illumination LEDs 160c-160t, are controlled to be energized during the exposure control timing pulses 354, 354', 354'', 354''''. The aiming illumination LEDs 160c-160t can be controlled to be energized during the exposure control timing pulses 354, 354', 354'', 354''''. The timing pulses 354, 354', 354'', 354''' are controlled to be energized during timing pulses 354, 354', 354'', 354''' corresponding to the area of ​​the substrate s onto which the aiming pattern 1838 is projected. The signal strength of the image signal to be received is increased.

[0065] Referring to process 300 (FIG. 9), image reader 100 detects whether illumination control pulses 350, 350', 350'', 350''' are applied to aiming LED 160a or 160b in step 304. At least one of the LEDs 160c to 160t and at least one of the LEDs 160b to 160t are simultaneously The illumination LEDs 160a, 160b and the illumination LEDs 160c-160t may be configured to simultaneously energize the illumination LEDs 160a, 160b and 160t, respectively, to increase the intensity of illumination on the substrate s, particularly on the areas on the substrate s where the illumination pattern 1830 and the aiming pattern 1838 are simultaneously projected. The decoding process in which the image is collected according to the emission period produces image data corresponding to the pattern 1838 (i.e., the pixel array onto which the pattern 1838 is imaged). The image sensor 182 may include a process in which image data corresponding to the row 2802 of the image sensor 182 (i.e., image data corresponding to row 2802 shown in FIG. 28a) is selectively subjected to a decoding process such as a finder pattern location process, a linear bar code symbol decode attempt, or a quiet zone detection process. For example, the decode module 150 processing the full image collected with the aiming pattern 1838 extending horizontally across the field of view may selectively analyze image data corresponding to a central row of the image sensor 182 (i.e., image data corresponding to row 2802 shown in FIG. 28a) for the purpose of locating the finder pattern, decoding a linear bar code symbol, or locating a quiet zone where an image is collected according to a frame exposure period during which at least one aiming LED 160a, 160b, and at least one illumination LED 160c-160t are simultaneously energized. Illumination control pulses 350, 350', 350'', 350''' activate at least one aiming illumination LED, e.g., 160a, A process 300 for simultaneously energizing at least one lighting LED, e.g. 160t. In step 320, image reader 100 may collect a full frame, or "windowed frame," of image data, as described in more detail in connection with FIGURES 28A-28C. Image reader 100 may be configured to collect a windowed frame of image data in step 320, and if image reader 100 simultaneously illuminates at least one aiming LED and at least one illumination LED in step 304, the windowed frame may be configured to correspond to the size and shape of illumination pattern 1838. For example, if image reader 100 projects aiming pattern 1838 of a horizontal line, then reading out the windowed frame of image data in step 320 may include reading out a windowed frame of image data corresponding to row 2802 shown in FIG. 28A. The image data onto which pattern 1838 is imaged may then be processed as described below (i.e., by finding a quiet zone or by finding a finder pattern, attempting to decode a linear bar code symbol). In embodiments of the invention in which aiming illumination LEDs {circumflex over (A)}, and illumination LEDs {circumflex over (B)} are driven simultaneously by illumination control pulses 350, 350', 350'', 350'''', aiming LEDs 160a, 160b and illumination LEDs 160c-160t may be overdriven for the entire duration of pulses 350, 350', 350'', 350'''', as described below.

[0066] In one embodiment, the CMOS image array 182a may be implemented with a KAC-0311 640x480 VGA CMOS image sensor available from Eastman Kodak Company. The KAC-0311 is more fully described in the Technical Description entitled "KAC-0311 640x480 VGA CMOS IMAGE SENSOR Fully Integrated Timing, Analog Signl Processing & 10 bit ADC", available at http: / / www.kodak.com / global / plugins / acrobai / erj / digital / ccd / products / cmos / KAC-0311LongSpec.pdf, Revision 1 dated August 5, 2002, which is hereby incorporated by reference in its entirety. The following is an edited summary of the operation of the KAC-0311 taken from the above-mentioned "Full Specification". As summarized in this Technical Description: The KAC-0311 is a solid-state active CMOS image sensor that integrates analog image acquisition, digitization, and digital signal processing on a single chip. The image sensor consists of a VGA format pixel array with 640 x 480 active elements. The size is user definable to define a window of interest. In particular, by programming row and column start and stop operations, the user can define a window of interest down to a resolution of 1x1 pixels. In one embodiment of the KAC-0311 image sensor, the window can be used to enable digital zoom operation of the field of view port as the camera is rotated around. In another embodiment of the KAC-0311 image sensor, a constant field of view can be maintained while subsampling is used to reduce the resolution of the collected image.

[0067] The pixels of the KAC-0311 image sensor are on a 7.8μm pitch. Pixel Architecture The KAC-0311 image sensor is Kodak's pinned photodiode architecture. The KAC-0311 image sensor is available in a monochrome version without a microlens, or with a Bayer (CMY) patterned color filter array without a microlens. In one embodiment of the KAC-0311 image sensor, integrated timing and programming controls are used to enable a progressive scan mode in video or still image capture operations. In a further embodiment of the KAC-0311 image sensor, the user can program the frame rate while maintaining a constant master clock rate.

[0068] In the KAC-0311 image sensor, the analog video output of the pixel array is processed by an on-chip analog signal pipeline. In one embodiment of the KAC-0311 image sensor, correlated double sampling is used to eliminate pixel reset temporal and fixed pattern noise. In a further embodiment of the KAC-0311 image sensor, frame rate locking is used to enable simultaneous optical black level calibration and offset correction. In yet another embodiment, the programmable analog gain of the KAC-0311 image sensor includes a global exposure gain for mapping the signal swing to the analog-to-digital converter input range. The programmable analog gain further includes a white balance gain for performing color balancing in the analog domain. In an additional embodiment, the analog signal processing chain of the KAC-0311 image sensor consists of column op amp processing, column digital offset voltage adjustment, white balancing, programmable gain amplification, global programmable gain amplification, and global digital offset voltage adjustment. In one embodiment, a digitally programmable amplifier is used to provide color gain correction for exposure gain adjustment as well as for simultaneous automatic white balance adjustment. Offset calibration in various embodiments is done on a column-by-column basis and globally. Additionally, per-column offset correction can be applied using values ​​stored in on-chip registers, and a 10-bit redundant signed digit analog-to-digital converter converts the analog data into a 10-bit digital word stream. In various embodiments of the KAC-0311 image sensor, a differential analog signal processing pipeline is used to improve noise immunity, signal-to-noise ratio, and system dynamic range. In one embodiment, the serial interface of the KAC-0311 is an industry standard 2-wire I2C compatible serial interface. In another embodiment, power for the KAC-0311 image sensor is provided by a single 3.3V power supply.In various embodiments, the KAC-0311 image sensor has a single master clock and operates at speeds up to 20 MHz.

[0069] The operational and physical details of an image sensor that may be used in the present invention are described in U.S. Pat. No. 6,714,239, entitled "Active Pixel Image Sensor," assigned to Eastman Kodak Company. No. 6,552,323 entitled “Image Sensor with Shared Output Signal Line,” each of which is incorporated herein by reference in its entirety. The disclosure is incorporated herein by reference in its entirety. The following provides a brief summary of the contents from U.S. Pat. No. 6,522,323. In particular, U.S. Pat. No. 6,552,323 discloses an image sensor consisting of a plurality of pixels arranged in a plurality of rows and columns. The image sensor is further disclosed to include a global electronic shutter. Pixels in the same row of the disclosed image sensor share a pixel output node and an output signal line. The disclosure further discloses that separation of image signals within a row is achieved by having two separate row select signals per row, one for every other pixel in the row, and a 1:2 column output signal line demultiplexing scheme for each pair of columns. A schematic diagram as reproduced in FIG. 11 now shows two adjacent pixels 5. Identifiers used in the schematic diagram include: a reset gate (RG) with a reset gate (RG), ... A row select gate is a row transistor with a transfer gate (TG), a signal transistor (SIG), and a row select gate. A select transistor (RSEL), a photodetector (PD), and a floating diffusion (FD). The operation of the global shutter is described in U.S. Pat. No. 6,552,323, column 3, lines 25-45, with respect to the embodiment shown in FIG. 11 and the timing diagram reproduced here as FIG. 12. The disclosure shows that readout begins with the simultaneous transfer of collected signal charge from the photodetectors 30a, 30b to the floating diffusions 10a, 10b for each pixel of the sensor. Row Select 1 (15) is then turned on and the signal level on the floating diffusion 1 (10a) is sampled by the column circuit 20a by pulsing SS1. Row select 1 (15) is then turned off, row select 2 (25) is turned on, and the signal level of floating diffusion 2 (10b) is increased by pulsing SS2 to column circuit 2. 0b. The floating diffusions 10a, 10b in the row being read out are then reset by pulsing RG. The next row select 2 (25) is turned off, row select 1 (15) is turned on and the reset level of floating diffusion 1 (10a) is sampled and held by column circuit 20a by pulsing SRl. Row Select 1 (15) is then turned off, Row Select 2 (25) is turned on, and the reset level of floating diffusion 2 (10b) is sampled and held by pulsing SR2. A readout of the sampled and held signals by the column circuits 20a, 20b is then performed prior to the sample pixel readout commencing in the next row of the image sensor.

[0070] In another embodiment, the CMOS image array 182a may be implemented with a KAC-9630, 128(H)x98(V) CMOS image sensor. The KAC-9630 is more fully described in the technical specification entitled "Device Performance Specification-Kodak KAC-9630 CMOS Image Sensor", September 2004, Revision 1.1, which is incorporated herein by reference in its entirety. This document is available, for example, from Eastman Kodak Company (www.kodak.com) at http: / / www.kodak.com / global / plugins / acrobat / en / digital / ccd / products / cmos / KAC-9630LongSpec.pdf. This technical specification is for the KAC-9630 image sensor. A low-power CMOS active sensor capable of capturing monochrome images at 580 frames per second. In addition, the KAC-9630 image sensor includes an on-chip 8-bit analog-to-digital converter, fixed pattern noise elimination circuitry, and a The KAC-9630 is described as including an integrated gain amplifier. The KAC-9630 is further described as having integrated programmable timing and control circuitry that allows adjustment of integration time and frame rate. The readout circuitry in the KAC-9630 image sensor is described as being capable of supporting a full frame readout on a single 8-bit digital data bus in less than 2 milliseconds. As indicated above, the KAC-9630 image sensor is described as including an integrated electronic shutter.

[0071] In another embodiment, the CMOS image array 182a may be implemented with a Micron image sensor, such as a Wide VGA MT9V022 image sensor from Micron Technology, Inc., 8000 South Federal Way, Post Office Box 6, Boise, ID 83707-0006. The MT9V022 image sensor is described in more detail in the product flyer MT9V099, available from Micron Technology, Inc. (www.micron.com) at, for example, http: / / download.micron.com / pdf7flyers / mt9v022_(mi-0350)_flyer.pdf. The document is incorporated herein by reference in its entirety.

[0072] In some embodiments, image reader 100 can operate in a rolling shutter mode or a global electronic shutter mode. In one such embodiment, the rolling shutter mode is used as part of an autofocus operation, and the global electronic shutter mode is used to collect image data once proper focus has been determined. The process of determining proper focus and collecting the next image is described by process 400 shown in FIG. 13. Actuation module 124 may generate a trigger signal, for example, in response to an operator depressing trigger 216 or in response to a target moving into the field of view of image reader 100. In operation when a new image is collected by image reader 100, image reader 100 illuminates (at step 404) a target including an object such as a bar code and enters (at step 408) a rolling shutter mode of operation in which multiple rows in the image reader's image sensor are sequentially exposed. As part of this operation, a frame exposure period may be defined as the time from the beginning of exposure of the first row of the multiple rows to the end of exposure of the last row of the multiple rows. In one embodiment, imaging lens 212 of image reader 100 is controlled (step 414) to be in one of a continuous motion or one of a stepped motion during at least a portion of the frame exposure period. As shown in the embodiment of FIG. 20, image reader 100 may have a lens drive module 165 controlled by control module 112, or another module, to move imaging lens 212 to change the focus setting of image reader 100. In one such embodiment, the optical system can have multiple distinct settings. In each distinct setting, the lens 212 forms a distinct image on the image sensor for an object at a predetermined distance from the image reader 100. In one embodiment, one limit of the optical system's focal range corresponds to focusing incident radiation from an object at infinity. An object is considered to be at "infinity" if its incident light rays are essentially parallel. In one embodiment, another limit of the optical system's focal range is the near point. The near point of the optical system is the closest distance that the object can be brought to with respect to the optical system, where the optical system can still make a distinct image of the object. In another embodiment, the variation in focus of the optical system does not cover the entire range of the optical system. For example, in one such embodiment, the focus setting of the image reader 100 is changed between focus settings that are a few millimeters apart.In another embodiment, the focus setting of image reader 100 is changed between focus settings that are several centimeters apart. Configuring reader 100 to include lens driver module 165 allows the scanner to operate over an extended depth of field.

[0073] With further reference to the lens driver module 165, various lens driving techniques and methods may be implemented. No. 4,793,689, also incorporated herein by reference in its entirety, discloses a lens barrel having a hollow rotating ring disposed within a hollow fixed cylinder and rotatable about an optical axis with a bearing interposed therebetween, a movable cylinder movable in response to the rotation of the rotating ring, and a vibration wave motor disposed diametrically between the fixed cylinder and the rotating ring. No. 5,541,774, also incorporated herein by reference in its entirety, discloses an electromagnetic lens driver having a fixed member including an inner yoke and an outer yoke, an operably disposed magnet, a movable member for holding the body to be driven, a coil wound axially between the outer yoke and the inner yoke, and a position detector for detecting the magnetic field of the operably disposed magnet and generating a position indicating signal.

[0074] Process 400 also includes reading out (at step 420) image data from the multiple exposed rows. This image data is analyzed (at step 424) by an autofocus algorithm, such as a contrast detection method or a phase detection method. Using the row focus image information, image reader 100 can determine an appropriate focus setting for lens 212, for example, by determining an appropriate focus setting based on the collected data and then moving lens 212 to that setting, or by evaluating the image of the current row to determine the current focus setting. The focus of the image reader 100 can then be established (at step 428) by determining whether the image reader is acceptably focused at the desired focal length. In various embodiments, analysis of the image data can be performed by the image acquisition module 108, the optics module, the control module 112, or a dedicated autofocus module (e.g., an ASIC or FPGA dedicated to performing focus calculations). With the lens 212 position properly set, the image reader 100 then begins (at step 432) global electronic shutter operation. At some point according to process 400, image reader 100 may terminate the rolling shutter operation and begin operating in a global electronic shutter mode of operation before reading out image data from each pixel of image sensor array module 182. In the global electronic shutter mode of operation, image reader 100 collects (at step 436) a full frame of image data that is stored in memory module 116 and transferred sequentially to decode module 150 or auto-identification module 152. According to this embodiment, where a row of image information is read and analyzed during a time period during which reader imaging lens 112 is controlled to be in motion, automatically focusing the image reader to image its target is accomplished within one frame of data. In various embodiments, the auto-focus operation can be handled by a dedicated auto-focus module or the auto-focus module is incorporated into other modules, such as image acquisition module 108 and / or control module 112.

[0075] With further reference to the steps of process 400, step 424 of analyzing the row image data to determine focus characteristics is further described with reference to the flow diagram of FIG. 21 and the histogram plots of FIGS. 22A and 22B. In step 2102, image reader 100 constructs a histogram plot of pixel values ​​for the current row of image data read in step 420. FIG. 22A is a histogram plot of pixel values ​​for a row of data corresponding to an acceptably focused black-and-white image (such as in a barcode symbol on a monochromatic substrate). Histogram plot 2108 represents a high contrast image and contains many pixel values ​​at the high end of the grayscale, many pixel values ​​at the low end of the grayscale, and fewer pixel values ​​in the central grayscale range. FIG. 22B is a histogram plot of pixel values ​​for a row of data corresponding to a poorly focused black-and-white image. The image data summarized by histogram 2110 is image data that has a "flatter" contrast, meaning that it has few pixel values ​​at the extremes of the grayscale and a greater number of pixel values ​​in the middle of the grayscale. It can therefore be seen that the focus level of an image can be easily determined using image contrast information.

[0076] In step 2104, image reader 100 evaluates the collected histogram data. In step 2104, image reader 100 can determine an appropriate in-focus setting for lens 212 or determine whether the histogram data extracted from the image data of the current row indicates that the image reader is acceptably focused at the current lens setting or position. If the image reader in step 2104 determines an appropriate setting for lens 212 based on the collected histogram data, the histogram data may be from the current row or may be based on a combination of the data of the current row and the data of the previous row. In a further aspect, the position or setting of lens 212 is recorded such that the histogram information of each row of image data that is read out is associated with lens position data indicative of the position of lens 212 when the row information was collected. In step 2104, a transition function for determining an in-focus lens setting utilizes the lens position data indicative of the position of lens 212 associated with each set of row data as well as the row contrast information summarized in the histogram plot. It is possible.

[0077] Referring to further steps of process 400, image reader 100 can control lens 212 in step 414 to have either continuous motion or stepped continuous motion. When controlled to have continuous motion, lens 212 moves continuously through the time that sequential rows of pixels of image sensor array module 182 are exposed and read out. When controlled to have stepped continuous motion, lens 212 moves and stops repeatedly through the time that rows of pixels of image sensor array module 182 are exposed and read out. In one embodiment of an image reader that controls lens 212 to have stepped motion, image reader 100 moves the lens continuously between two extremes, a first far field position and a second closer field position. In another embodiment of an image reader that controls the lens 212 to have a stepped motion, the image reader 100 moves the lens 212 continuously between two extreme positions and stops the lens 212 intermediately at one or more positions between the two extreme positions. A lens 212 controlled to have a stepped continuous motion can be thought of as having periods of motion, i.e., periods during which the lens moves, and periods of rest, i.e., periods during which the lens is temporarily idle. In one embodiment of the invention, the movement of the lens 212 and the readout of image data from the pixels of a row are coordinated. For example, the movement and control of the lens of the image sensor array module 182 can be coordinated such that exposure periods of one or more rows of the image sensor array module 182 occur during periods of rest of the lens 212, and the lens 212 is idle during the entire row exposure period. Additionally, although processing of image data corresponding to pixels exposed during phases of lens 212 movement may be useful in some embodiments, image reader 100 may be configured such that image data corresponding to pixels exposed during periods of lens 212 movement is discarded, for example, during row analysis step 424.

[0078] A specific embodiment of process 400 generally described with reference to FIG. 13 is described with reference to the flow diagrams of FIGS. 23 and 24. In the embodiment of FIG. 23, image reader 100 attempts to determine an in-focus lens setting based on the collected row image data collected to that point, at step 424. If image reader 100 determines that sufficient information has been collected to determine an in-focus position of lens 212, at step 428a, image reader 100 determines an in-focus setting for lens 212 and proceeds to step 428b to move lens 212 to the determined in-focus position. If sufficient information has not been collected, image reader 100 returns to step 420 to collect additional row information. Image reader 100 can continue to read and process row image data, at step 428b, while moving lens 212, for example, to verify that the determined in-focus position is correct. When lens 212 has moved to the determined in-focus position, image reader 100 proceeds to step 432 and enters a global electronic shutter mode of operation. When image reader 100 enters the global shutter mode of operation (at step 432), image reader 100 may freeze the movement of lens 212. The image reader then proceeds to step 436 to collect a full frame of image data, and then proceeds to step 438 to transfer the image data to one of dataform decode module 150 or auto-discrimination module 152.

[0079] In the embodiment of process 400 described with reference to FIGURE 24, image reader 100 establishes an in-focus setting for lens 212 by evaluating the current row data (the most recently collected row data) in step 424 to determine whether the current row data indicates that image reader 100 is currently in focus. If, in step 428d, image reader 100 determines that image reader 100 is not currently in focus, If image reader 100 determines that it is currently in-focus at step 420, image reader 100 proceeds to step 432 and enters the global electronic shutter mode of operation. At the time image reader 100 enters the global shutter mode of operation (at step 432), image reader 100 stops the movement of lens 212. Image reader 100 then proceeds to step 436 and collects a full frame of image data, and then proceeds to step 438 and transfers the image data to one of dataform decode 150 or auto-discrimination module 152.

[0080] With reference to process 400 or process 800, it will be understood that image reader 100, in establishing an "in-focus" position, designates an expected or current position of lens 212 as being "in-focus" based on an expected or current position that brings the index into better focus than other available lens focus positions. Thus, if a lens focus position is not highly focused in the general sense, reader 100 will nevertheless designate the position as being "in-focus" if it brings the index more in-focus than other available lens positions. In one particular embodiment, lens 100 is controlled to be "toggled" between a limited number of discrete positions (e.g., two positions) when it is controlled to make a stepped continuous movement. In one such embodiment, reader 100 designates one of the limited number of possible discrete positions as being "in-focus" if the lens position brings the index more in-focus than the remaining possible positions. In particular, in configurations in which lens 212 is "toggled" between a limited number of discrete positions, the focus determination process can be omitted and image data can be transferred directly to decode module 150 or auto-identification module 152. In particular, when there are a limited number of alternative focus positions, the in-focus position can be easily identified depending on which position results in a successful decode. Identifying the in-focus position through decode attempts can reduce the average decode time.

[0081] In an alternative embodiment of the invention, image reader 100 reads a predetermined number of rows of image data in step 420 and analyzes the predetermined number of rows in step 424. The predetermined number of rows may be, for example, 2 rows, 3 rows, 10 rows, or all rows (100+) of image sensor array 182. Alternatively, image reader 100 may select the row that was most in focus (e.g., highest contrast) from the plurality of rows in step 424 and determine that the recorded focus setting associated with the most in focus row is the “in focus” setting for image reader 100. Alternatively, image reader 100 may use data images collected over several rows to calculate the “in focus” setting data. In any of the above variations, once the focus setting has been determined, image reader 100 may first enter the global electronic shutter mode of operation in step 432 and then move lens 212 to the determined focus position setting, or image reader 100 may instead move lens 212 to the determined lens setting before entering the global electronic shutter mode of operation in step 432, or these two actions may occur simultaneously.

[0082] In another autofocus embodiment, as described below in connection with FIGS. 25-30B, a global electronic shutter mode of operation can be used during both the focusing period and the data collection period. According to the process 800 described herein, during the autofocus period, a limited "windowed" frame of image data can be collected for each variation in focus setting or position. For example, only a central region of the image sensor, or a central group of scan lines, such as the central 10 scan lines, are focused. The frame data is read out and analyzed by a point determination algorithm. According to this embodiment, the limited frame data provides sufficient information for the focus determination algorithm while substantially reducing the time required to focus the image reader.

[0083] In alternative embodiments, the particular order of steps in process 400 or process 800 may be varied without departing from the inventive concepts contained therein. In various other embodiments, the circuitry including the rolling shutter operation and the circuitry implementing the global electronic shutter operation may be implemented on the same CMOS chip, or one or both circuitry elements may be implemented on separate dedicated chips. In additional embodiments, the rolling shutter functionality and the global electronic shutter operation may be combined in a single module including hardware, software, and / or firmware.

[0084] In another embodiment of the image reader 100 operating in a rolling shutter mode or a global electronic shutter mode, the image reader 100 can dynamically shift between the global electronic shutter and rolling shutter modes of operation. In one such embodiment, the image reader 100 shifts from the default global electronic shutter mode of operation to the rolling shutter mode of operation when the integration time is less than a given threshold. Many commercially available imagers are implemented with a light shield that allows some amount of light to leak into the storage element, or with a switch that does not completely isolate the storage element from the light sensitive element. As a result of this, the contents of the storage element can be adversely affected by ambient illumination incident on the imager after charge has been transferred to the storage element. The following provides a numerical example of such operation.

[0085] In general, the shutter efficiency of a CMOS image sensor with global electronic shutter capability specifies the degree to which the storage area on the image sensor can shield the stored image data. For example, if the shutter has an efficiency of 99.9%, then the amount of light emitted from the shielded portion of the image sensor is the same as that from the unshielded portion. It takes 1000 times longer integration time (also known as exposure time) to generate the charge amount at . Therefore, during an image capture cycle, the following equation gives the indication of light emission from ambient light onto the imager that can be tolerated during the time period after the image has shifted into the accumulation region, compared to the light emission onto the imager from the ambient illumination and the object illuminated by the light source 160 during the time period before the image has shifted into the accumulation region, without exceeding the desired degradation percentage. The equation can also address the case where the light incident on the imager is the same during the entire imaging cycle. In both cases, it is necessary to know the minimum integral that can be used without introducing maximum degradation. (Amb. Irrad)*Tframe*(100%-%eff)=(Amb. Irrad+Light SourceIrrad)*Texposure*(%deg)

[0086] In many cases, the light onto the imager does not change during the exposure period and for the remainder of the frame. In this situation, the light irradiance onto the imager is constant, and one can solve for the minimum integration time that can be used without light leakage unduly disturbing the desired image. Solving the equation in this case allows the calculation of the minimum integration time for a particular degradation. The following numerical example of constant irradiance is for a shutter efficiency of 99.9%, a frame rate of 20 ms, and a maximum allowable degradation of 5%: 20 ms * (100% - 99.9%) = (Texposure * 5%) Alternatively, it may be possible to determine the minimum exposure time that can be used without degradation of more than 5%. Thus, if the integration time between image captures is less than 0.4 ms, If short, degradation leakage (both optical and electrical) should be 5% or greater. This would introduce significant errors.

[0087] In an embodiment that addresses image degradation introduced by excessive ambient light, image reader 100 transitions to rolling shutter operation when the integration time becomes shorter than a level determined with respect to the image reader's frame rate, maximum allowable degradation, and shutter efficiency. A process 600 for shifting operational modes in response to a short integration time is shown in FIG. 14. Actuation module 124 can generate a trigger signal to begin process 600, for example, in response to an operator pressing trigger 216 or in response to a target entering the field of view of image reader 100. Process 600 includes storing (at step 604) a calculated minimum integration time. In one embodiment, this threshold is determined according to the equations presented above. Several inputs to these equations, such as shutter efficiency, maximum allowable image degradation leakage, and frame rate, can be configured in image reader 100 as part of its initialization or at a later time. Process 600 also includes collecting image data (at step 608). As part of the collection of image data, an exposure time for the current environmental conditions is established (at step 612) by sensor array control module 186. In various embodiments, this exposure time is established by global electronic shutter control module 190, optics module 178, or another suitable module in image reader 100. The established exposure time is compared (at step 616) to a minimum integration time threshold to determine whether the operating mode of image reader 100 should shift from the global shutter mode to the rolling shutter. If the established integration time is less than the calculated minimum integration time threshold, then the operating mode of image reader 100 shifts (at step 620) from the global electronic shutter to the rolling shutter. If the established integration time is greater than or equal to the calculated minimum integration time threshold, then the global electronic shutter operating mode is maintained (at step 628).

[0088] Further embodiments of the present invention will now be described with reference to Figure 15A and the flow diagrams of Figures 31 and 32. As shown in Figure 15A, image reader 100 is configured to have user selectable configuration settings. For example, as shown in Figure 15A, image reader 100 presents on display 504 a graphical user interface (GUI) menu option display screen 3170 that presents to an operator user selectable configuration options for a rolling shutter mode of operation and a global shutter mode of operation. The GUI display screen is installed on the image reader 100. Associated with certain available operating systems, such as Windows CE When the reader 100 is configured to include a browser or is otherwise configured with appropriate parsers and interpreters, the GUI 3170 can be created using a variety of open standard languages ​​(e.g., HTML / JAVA, XML / JAVA). In FIG. 3170, GUI icon 3152 is a rolling shutter selection button and GUI icon 3154 is a global electronic shutter menu option. When icon 3152 is selected, image reader 100 can be configured to collect image data utilizing the rolling shutter mode of operation rather than utilizing the global electronic mode of operation when image reader 100 receives the next trigger signal to begin a decode attempt as described herein. When icon 3154 is selected, image reader 100 can be configured to collect image data utilizing the global electronic mode of operation rather than utilizing the rolling shutter mode of operation when image reader 100 receives the next trigger signal to begin a decode attempt as described herein. GUI 3170 allows additional user selectable configuration options. In the embodiment of FIG. 15A, selection of button 3156 (which may be in the form of text or an icon) causes process 300 to notify the user that a trigger signal has been received. Selection of button 3158 configures image reader 100 to execute process 400 the next time a trigger signal is received. Selection of button 3160 configures image reader 100 to execute process 600 the next time a trigger signal is received. Selection of button 3162 configures image reader 100 to execute process 800 the next time a trigger signal is received. Selection of button 3164 configures image reader 100 to be in an "image capture" mode of operation such that the next time a trigger signal is received, the image reader will collect image data, such as 2D full frame image data, and output the collected image data (e.g., to display 504, or a spaced device) without transferring it to module 150 or module 152. In export applications, it may be beneficial to capture images corresponding to moving targets (e.g., a moving delivery vehicle, packages on an assembly line) in the "image capture" mode. It will therefore be seen that performing the image capture mode utilizing the global shutter mode of operation provides a significant advantage in that image distortion is reduced utilizing the global shutter mode of operation. Selection between the rotating shutter configuration and the global electronic shutter configuration, or buttons 3156, 3158, 3160, 3162, and 3164, can also be made through the use of Software Development Kit (SDK) commands. The system includes an image reader. Commands created by the SDK (e.g., "rolling shutter" and "global shutter" commands) can be created to be selected at a host terminal located remotely from image reader 100 and forwarded to image reader 100 to reconfigure reader 100 to one of a rolling shutter configuration and a global electronic shutter configuration.

[0089] Referring to the flow diagram of FIG. 31, an operator selects between a rolling shutter configuration and a global electronic shutter configuration in step 3102. If the operator selects the rolling shutter configuration, image reader 100 proceeds to step 3104. In step 3104, image reader 100 is driven from an idle state to an active read state (e.g., by manual activation of trigger 216 or by other methods) and then automatically executes steps 3106 and 3108. In step 3106, reader 100 collects image data utilizing the rolling shutter mode of operation, and in step 3108, the collected image data is forwarded to dataform decode module 150 or auto-discrimination module 152 for decoding or processing the image data. If in step 3102 the global electronic shutter mode is selected, image reader 100 proceeds to step 3118. In step 3118, image reader 100 is driven from the idle state to the active read state by generation of a trigger signal (e.g., by manual activation of trigger 216 or by other methods), and then automatically executes steps 3118 and 3120. In step 3118, reader 100 collects image data utilizing the global electronic shutter mode of operation, and in step 3118, the collected image data is forwarded to dataform decode module 150 or auto-identification module 152 for decoding or otherwise processing the image data.

[0090] Another embodiment of the present invention will be described with reference to the flow diagram of Figure 32. In the embodiment described with reference to the flow diagram of Figure 32, image reader 100 is configured to collect image data utilizing a rolling shutter mode and a global shutter mode and to attempt to decode the image data. A trigger signal is generated in step 3202 (e.g., by manual activation of trigger 216 or otherwise) to drive image reader 100 from an idle state to an active read state, and in step 3204 , 3206 are then performed automatically. At step 3204, image reader 100 enters a rolling shutter mode of operation. At step 3206, image reader 100 collects image data, such as a full frame of image data or a windowed frame of image data, utilizing the rolling shutter mode of operation. At step 3208, image reader 100 transfers the image data collected at step 3206 to dataform decode module 150 and / or auto-identification module 152. Dataform decode module 150 or auto-identification module 152 decodes or otherwise processes the collected image data and outputs the results (e.g., outputting a decoded barcode message to display 504 or a remotely located device). At step 3118, image reader 100 enters a global electronic shutter mode of operation. At step 3212, image reader 100 transfers the image data collected at step 3206 to dataform decode module 150 and / or auto-identification module 152. Collect image data using the global electronic shutter operating mode. Step 32 The image data collected in step 3212 may be a full frame or a windowed frame of image data. 3. In step 3216, image reader 100 transfers the image data collected at 2 to dataform decode module 150 or auto-identification module 152, which decodes or otherwise processes the collected image data and outputs the results (e.g., outputting the decoded barcode message to display 504 or a remotely located device). As indicated by control loop arrow 3216, image reader 100 automatically repeats steps 3204, 3206, 3208, 3210, 3212, and 3214 until a stop condition is met. The stop condition could be, for example, the generation of a trigger signal (e.g., as generated by the release of trigger 216) or the successful decoding of a predetermined number of barcode symbols.

[0091] Another process according to the present invention will now be described with reference to the flow diagram of FIG. 25. Process 800 is similar to process 400 in that it processes a limited amount of image data collected during the time that lens 212 is controlled to be in motion. In process 400, and in process 800, the in-focus position of lens 212 is quickly established. Although process 400 involves utilizing image sensor array module 182 operating in a first rolling shutter mode of operation and a second subsequently performed global electronic shutter mode of operation at different times during the course of the process, process 800 is performed through the use of one of the previously described selectively addressable image sensor array modules operating in either the rolling shutter mode of operation or the global electronic shutter mode of operation throughout the process.

[0092] With further reference to process 800, actuation module 124 begins process 800 at step 802 by generating a trigger signal in response to depressing trigger 216, detecting that a target is within the image reader's field of view, or receiving a command from a spaced device. At step 814, image reader 100 places lens 212 in motion. At step 814, image reader 100 can control lens 212 to be in continuous motion or in stepped continuous motion.

[0093] At step 820, image reader 100 reads "windowed frame" image data from image sensor array module 182. CMOS image sensors can be operated in a windowed frame mode of operation. In the windowed frame mode of operation, image data corresponding to only all pixels of a selectively addressed subset of the image sensor array is read out. An example of an image reader 100 operating in a windowed frame mode of operation is shown in FIG. 28A. B, and 28C, in which the image sensor array is a 10×10 pixel 28A, each rectangle of the grid represents a block of pixels, where the shaded areas 2802, 2804 represent pixels that are selectively addressed and selectively read out. In the embodiment of FIG. 28A, a windowed frame mode of operation is illustrated in which windowed image data is read out from image sensor array 182 by selectively addressing and reading out a centerline pattern of pixels comprising a set of rows of pixels in the center of image sensor array module 182. Alternatively, in the windowed frame mode of operation, image reader 100 can selectively address and selectively read out image data from a single row of pixels of image sensor array module 182. Additionally, in the windowed frame mode of operation, image reader 100 can selectively address and selectively read out image data from rows 2802a and 2802b. In the embodiment of FIG. 28B, a windowed frame mode of operation is illustrated in which windowed image data is read from the image sensor array module 182 by selectively addressing and reading out only a collection of positionally contiguous pixels (e.g., adjacent to one another) in the center of the image sensor array module 182. In the embodiment of FIG. 28C, a windowed frame mode of operation is illustrated in which windowed image data is read out from the image sensor array module 182 by selectively reading out spaced clusters of 10×10 blocks of positionally contiguous pixels. In all of the windowed frame modes of operation described with reference to FIG. 28A, 28B, or 28C, image data corresponding to less than half of the pixels of the image sensor are selectively addressed and read out. When operating in a windowed frame mode of operation, the image reader 100 can collect image data corresponding to incident light corresponding to one or more pixels in the patterns illustrated in FIG. 28A, 28B, or 28C.Such a collection of image data may include a collection of greyscale values ​​and may be referred to as a windowed frame of image data.

[0094] The windowed frame mode of operation described herein contrasts with an alternative mode of operation in which a full frame of image data is stored in memory module 116 and then a portion of that full frame of image data is designated as the region of interest (i.e., the "sample" region) that undergoes further processing; in the windowed frame mode of operation, one frame of image data can be collected in a fraction of the time required to collect the image data of the previous frame.

[0095] With further reference to process 800, image reader 100 analyzes the windowed frame of image data at step 824 to determine focusing characteristics of image reader 100. The steps of analyzing the windowed frame of image data to determine focusing characteristics are further described with reference to the flow diagram of FIG. 29 and the histogram plots of FIGS. 30A and 30B. At step 4102, image reader 100 constructs a histogram plot of pixel values ​​of the current windowed frame of image data read at step 820. FIG. 30A is a histogram plot of pixel values ​​of a row of data corresponding to a bi-tone image (such as in a bar code symbol on a monochrome substrate) that is acceptably focused. Histogram plot 4108 represents a high contrast image, containing many pixel values ​​at the high end of the grayscale, numerous pixel values ​​at the low end of the grayscale, and few pixel values ​​in the middle of the grayscale range. FIG. 30B is a histogram plot of pixel values ​​of the windowed frame of image data corresponding to a bi-tone image that is poorly focused. The image data summarized by the histogram 4110 is a "flatter", less contrasty image, which has fewer pixel values ​​at the extreme ends of the grayscale and more pixel values ​​in the center of the grayscale. It can therefore be seen that the focus level of an image can be easily determined using the image contrast information.

[0096] In block 4104, image reader 100 evaluates the collected histogram data. In block 4104, image reader 100 determines an appropriate in-focus setting for lens 212 or determines whether the histogram extracted from the current row of image data indicates that image reader 100 is acceptably focused for the current lens position. When image reader 100 determines an appropriate setting for lens 212 in step 4104, the histogram data may be from the current windowed frame of image data or may be based on a combination of the current windowed frame of image data and one or more previously collected frames of windowed image data. In a further aspect, the position or setting of lens 212 is read and recorded such that the histogram information for each row of image data analyzed is associated with lens position data indicative of the position of lens 212 at the time the windowed frame of image data information was collected. In step 4104, a transition function for determining the in-focus lens setting can utilize lens position data indicating the position of the lens 212 associated with each collected windowed frame of image data as well as the windowed frame contrast information summarized in the histogram plot.

[0097] Referring to further steps of process 800, image reader 100 can control lens 212 in step 814 whether it is in continuous motion or in stepped continuous motion. When controlled in continuous motion, lens 212 moves continuously through the time that pixels corresponding to a windowed frame of image data are exposed and read out. When controlled in stepped continuous motion, lens 212 moves and stops through the time that pixels corresponding to a windowed frame of image data are exposed and read out. In one embodiment of image reader 100 that controls lens 212 in stepped continuous motion, image reader 100 moves the lens continuously between two extreme points, a first far-field position and a second near-field position. In another embodiment of image reader 100 that controls lens 212 in a stepped continuous motion, image reader 100 moves lens 212 between two extreme points and stops lens 212 intermittently at one or more points between the two extreme points. Lens 212 that is controlled in a stepped continuous motion can be thought of as having periods of motion, i.e., times during which the lens moves, and periods of stop corresponding to times when the lens is temporarily idle. In one embodiment of the invention, the movement of lens 212 and the readout of image data from the pixels of a row are coordinated. Additionally, while processing of image data corresponding to pixels exposed during periods of lens 212 movement is useful in certain embodiments, image reader 100 can be configured such that image data corresponding to pixels exposed during periods of lens 212 movement is discarded, for example, during analysis step 824.

[0098] A particular embodiment of the process generally described with reference to FIG. 25 will now be described with reference to the flow diagrams of FIGS. 26 and 27. In the embodiment of FIG. 26, image reader 100 attempts to determine an in-focus setting based on the windowed frame of image data collected to that point, at step 824. If image reader 100 determines, at block 828a, that sufficient information has been collected to determine an in-focus position of image reader 100, image reader 100 proceeds to step 828b and moves the lens to the determined in-focus position. If sufficient information has not been collected, image reader 100 returns to step 820 and attempts to collect additional windowed frame information. Image reader 100 may continue to read and process the windowed frames of image data, e.g., while moving lens 212, in step 828b, to verify that the determined in-focus position is correct. When lens 212 has been moved to the determined in-focus position, image reader 100 proceeds to step 836 and collects a full frame of image data (e.g., according to process 300), and then proceeds to step 838 and transfers the collected image data to one of dataform decode module 150 or auto-identification module 152.

[0099] In the embodiment of process 800 described with reference to FIGURE 27, image reader 100 can establish an in-focus setting for lens 212 in step 824 by evaluating the current windowed frame of image data (the most recently collected windowed frame of image data) to determine whether the current windowed frame of image data indicates that image reader 100 is currently in-focus. If image reader 100 determines in step 828c that image reader 100 is not currently in-focus, image reader 100 returns to step 820 to collect additional windowed frame information. If image reader 100 determines in step 828 that image reader 100 is currently in-focus, image reader 100 proceeds to step 836 to collect a full frame of image data (e.g., in accordance with process 300) and then proceeds to step 838 to transfer the collected image data to dataform decode module 150 or auto-identification module 152.

[0100] In an alternative embodiment of the invention, image reader 100 reads a predetermined number of windowed frames of image data in step 820 and analyzes the predetermined number of windowed frames of image data in step 824. The windowed frames of image data may have the same pattern (e.g., always the pattern of FIG. 28A) or may have alternating patterns (e.g., first the pattern of FIG. 28A, then the pattern of FIG. 28B, etc. 28C). In another variation, image reader 100 transfers each collected windowed frame of image data to dataform decode module 150 and / or auto-identification module 152 following collection. In step 824, image reader 100 analyzes a predetermined number of frames of image data to determine an in-focus setting for image reader 100. In determining the in-focus setting, image reader 100 can select an in-focus setting associated with the best-focused (high contrast) windowed frame of image data from the multiple windowed frames of image data, or image reader 100 can otherwise calculate a focus setting using image data from the multiple collected windowed frames. In any of the variations of process 800, image reader 100 can collect a full frame of image data after determining an in-focus setting for image reader 100 in step 836, before or after moving lens 212 to the determined setting position to establish the in-focus setting.

[0101] With reference to processes 400 and 800, it will be appreciated that image reader 100, in establishing an "in-focus" position, designates an expected or current position of lens 212 as being "in-focus" based on an expected or current lens position that brings the target into better focus than other available lens focus positions. Thus, if a lens focus position is not highly focused in the general sense, reader 100 will nevertheless designate the position as being "in-focus" if it brings the target into better focus than other available lens positions. In one particular embodiment, lens 212 is "toggled" between a limited number of discrete positions (e.g., two positions) when it is controlled to make stepped continuous movements. In one such embodiment, image reader 100 designates one of a limited number of possible discrete positions as being "in focus" if the lens position causes the index to be more in-focus than the remaining possible positions. In particular, in a configuration in which lens 212 is "toggled" between a limited number of discrete positions, the focus determination process may be omitted and the image data may be transferred directly to decode module 150 or auto-identification module 152. In particular, when there are a limited number of alternative focus positions, the in-focus position can be easily identified depending on which position results in a successful decode. Identifying the in-focus position through a decode attempt can reduce the average decode time.

[0102] It will be appreciated that some available image sensor arrays have configurations or modes of operation in which a limited number of edge columns and / or rows are not read out due to packaging issues (i.e., the edge pixels are covered by the packaging material of the chip) or geometry to a particular aspect ratio. When image data from an image sensor is read out from all of the pixels of the image sensor, or from substantially all pixels except for a limited number of row and / or column edge pixels, such image data collection is considered herein to be collection of a full frame of image data.

[0103] It has been stated with reference to process 400 and process 800 that lens 212 may be controlled to be in one of a continuous motion and a stepped continuous motion. It will be seen that when lens 212 is controlled to be in a continuous motion, the focus setting of image reader 100 is controlled to vary over time. When lens 212 is controlled to be in a stepped continuous motion, the focus setting of lens 212, and therefore image reader 100, is controlled to vary in steps over time. Furthermore, when lens 212 according to process 400 or process 800 is in a period of motion in which it is controlled to be in a stepped continuous motion, the focus setting of lens 212 is in a state of change. During the rest period of lens 212 in which lens 212 is controlled to be in a stepped continuous motion, the focus setting of image reader 100 is temporarily in an idle state.

[0104] Referring again to FIG. 1A, the following description relates to the image reader 100 presented above. In various embodiments, the control module 112 may include a central processing unit with on-chip fast access memory, application specific integrated circuits (ASICs), as well as software, firmware, and digitally integrated circuits. The memory module 116 may include any one or more of read only (ROM), random access (RAM), and non-volatile programmable memory for data storage. ROM-based memory is secure. It can be used to house security data, the Image Reader OS operating instructions, and code for other modules. It can be used to facilitate temporary data storage during operation. Non-volatile memory can take a variety of forms, typically erasable programmable read-only memory (EPROM). ), and Electrically Erasable Programmable Read-Only Memory (EEPROM). In this embodiment, non-volatile memory is used to ensure that data is maintained when image reader 100 is in its inactive or power saving "sleep" state.

[0105] I / O module 120 provides two-way communication between image reader 100 and other electronic devices. It is used to establish two-way communication. Examples include wireless or wired Ethernet interfaces, dial-in Up or cable modem interface, USB interface, PCMCIA interface interface, RS232 interface, IBM tailgate interface RS485 interface, PS / 2 Keyboard / mouse ports, professional audio and / or video interfaces, The CompactFlash interface includes the CompactFlash interface, the PC Card Standard interface, the Secure Digital Standard for Memory, the Secure Digital Input Output for I / O devices, and / or any other standard or proprietary device interface. The CompactFlash interface conforms to the CompactFlash Specification Version maintained at the website http: / / www.compactflash.org. Designed according to the CompactFlash standard as described in Version 2.0 It is an interface that conforms to the CompactFlash Specification Version 2.0. The PC Card Standard interface is an interface designed in accordance with the PC Card Standard, as described, for example, in PC Card Standard Release 8.0 - April 2001, maintained by the Personal Computer Memory Card International Association (PCMCIA) and available through its website at http: / / www.pcmcia.org. - April 2001 Specification Version 2.0 document, which is incorporated herein by reference in its entirety.

[0106] Activation module 124 is used to initiate operation of various aspects of image reader 100, such as data collection and processing in accordance with processes 300, 400, 600, and 800 described above. All of the steps of processes 300, 400, 600, and 800 are performed automatically in response to initiation of the respective processes by activation module 124. Image reader 100 may be configured to automatically continue a step of process 300, 400, 600, or 800 when initiated until a stop condition is met. The stop condition may be, for example, the generation of a trigger signal (e.g., as generated by the release of trigger 216) or the successful decoding of a predetermined number of bar code symbols. In handheld image reader 100a discussed above, the activation module, when pressed, Trigger module 216 generates a trigger signal that is received by control module 112, which in turn sends control signals to the appropriate other modules of image reader 100. In one fixedly mounted embodiment of image reader 100, actuation module 124 comprises a target sensing module that generates a trigger signal that initiates operation of image reader 100 when the presence of a target to be imaged is detected. When the trigger signal is generated, image reader 100 is driven from an idle state to an active reading state. Actuation module 124 can also generate trigger signals in response to commands from locally or remotely located devices.

[0107] User feedback module 128 is used to provide sensory feedback to the operator. In various embodiments, the feedback may be an audio signal, such as a beep, a visual display, such as an LED flash indicator, or the like, in image reader 100. The sensory feedback may include mechanical sensations such as rays, vibrations, or any other sensory feedback capable of indicating to an operator the status of operation of image reader 100, such as successful image acquisition.

[0108] Display module 132 is used to provide visual information to an operator, such as the operational status of image reader 100, including, for example, remaining battery and / or memory capacity, operating mode, and / or other operational or functional details. In various embodiments, display module 132 includes an LED flasher with an optional touchpad screen overlay to receive tactile input from the operator in tandem with the display. The display may be provided by a flat panel display.

[0109] User interface module 134 is used to provide an interface mechanism for communication between an operator and image reader 100. In various embodiments, user interface module 134 comprises a keypad, function-specific or programmable buttons, a joystick, toggle switches, or the like. If display module 132 includes a touchpad screen overlay as described above, the display module can incorporate some of the input functionality that is alternatively provided by elements in user interface module 134.

[0110] In some embodiments, the RFID module 136 is in accordance with ISO / TEC 14443. The RFID interrogator can interrogate RFID contactless devices, and the reader can recover the response emitted by the RFID tag. The International Electrotechnical Commission (IEC) is an organization that defines a specialized system for worldwide standardization. In other embodiments, the RFID module 136 operates in accordance with ISO / IEC 10536, or ISO / IEC 15963. The standard covers various types such as those implemented in ISO / IEC 10536 (proximity coupled cards), ISO / IEC 14443 (neighborhood cards), and ISO / IEC 15693 (adjacent cards). These are intended to operate when very close, nearby, and at a long distance, respectively, from an associated coupled device. In some embodiments, RFID module 136 is configured to read tags that comprise information recorded according to the Electronic Product Code (EPC), a code format proposed by MIT's Auto-ID Center. In some embodiments, RFID module 136 operates according to a proprietary protocol. In some embodiments, RFID module 136 sends at least a portion of the information received from the interrogated RFID tag to a computer processor, which uses the information to access or retrieve data stored on a server accessible via the Internet. In some embodiments, the information is the serial number of the RFID tag or an object coupled to the RFID tag.

[0111] In some embodiments, the smart card module 140 is ISO / IEC 7816 compliant. A smart card reader conforming to the principles of the present invention has electrical contacts for establishing communication with a suitably designed chip-based smart card. Smart card module 140 is capable of reading data from, and in some cases writing data to, an attached smart card.

[0112] In some embodiments, it is a magnetic stripe reader capable of reading targets such as cards that carry information encoded in magnetic form on one or more tracks, such as the tracks used on credit cards. In other embodiments, magnetic stripe card module 144 is a magnetic character reading device for reading characters printed with magnetic ink on bank checks that appear to indicate American Bankers Association routing numbers, account numbers, check sequence numbers, and draft amounts. In some embodiments, both types of magnetic reading devices are provided.

[0113] In some embodiments of image reader 100, the functionality of RFID module 136, smart card module 140, and magnetic stripe card module 144 are combined into a single tri-brid reader module, such as the Panasonic Integrated Smart Card Reader Model No. ZU-9A36CF4 available from Matsushita Electric Industrial Co., Ltd. The ZU-9A36CF4 is described in detail in Panasonic Specification No. MIS-DG60C194 (Revision 1.00), entitled "Manual Insertion Type Integrated Smart Reader," dated March 2004, which is incorporated herein by reference in its entirety.

[0114] The decoder module 150 supports UPC / EAN, Code 11, Code 39, Code 128, Codabar, Interleaved 2of5, MSI, PDF417, MicroPDF417, Code 16K, Code 49, MaxiCode, and Az TECH, Aztec Mesa, Data Matrix, Qcode, QR Code (registered trademark), UCC Compound, Snowflake, Vericode, Dataglyphs, RSS, BC412, Code 93, Codablock, Postnet (US), BPO4 State, Canada 4 State, Japan Post, KIX (Netherlands Post), Planet Target data such as one-dimensional and two-dimensional barcodes, such as codes, OCRA, OCR B, etc. In some embodiments, the decoder module also includes automatic discrimination functionality that allows it to automatically discriminate between the bar codes listed above. The functionality of the decoder 150, such as the measurement of characteristics of decodable indicia, is described in related U.S. application Ser. No. 10 / 982,393, filed Nov. 5, 2004, which is incorporated herein by reference in its entirety.

[0115] Another example of an image reader 100 constructed in accordance with the principles of the present invention is a portable data terminal 100b shown in different perspective views in Figures 15A, 15B, and 15C. Figure 15A shows a top perspective view, Figure 15B shows a front perspective view, and Figure 15C shows a rear perspective view. As shown, the portable data terminal 100b in one embodiment includes interface elements including a display 504, a keyboard 508, interface buttons 512, e.g., for positioning a cursor, and a stylus 520 with a stylus holder 524 (not shown). The portable data terminal 100b further includes a lens 212b, and a light source 160b. In further embodiments, the portable data terminal could expand its functionality by the addition of a number of removable computer peripherals. In various embodiments, the computer peripherals could include one or more of a magnetic stripe reader, a biometric reader such as a fingerprint scanner, a printer such as a receipt printer, an RFID tag or RF payment reader, a smart card reader, and the like. In various embodiments, the portable data terminal 100b is a Dolphin 7200, 7300, 7400, 7900, or 9500 series mobile computer available from Handheld Products, Inc., 700 Visions Drive, PO Box 208, Skaneateles Falls, NY, and may be configured in accordance with the present invention. Various details of the handheld computing device, and in particular the housing of the device, are set forth in related U.S. application Ser. No. 10 / 2004, entitled "Hand Held Computer Device," filed on Sep. 10, 2004. This is described in detail in US Pat. No. 5,399,313, filed on Nov. 13, 2007, which is incorporated herein by reference in its entirety.

[0116] The portable data terminal 100b may further include a dial-up or cable modem interface, a USB interface, a PCMCIA interface, an Ethernet interface, etc. The electrical-mechanical interface 532 may include an electrical-mechanical interface such as an RS232 interface, an IBM Tailgate Interface RS485 interface, a CompactFlash interface, a PC Card Standard interface, a Secure Digital Standard interface for memory, a Secure Digital Input-Out interface for I / O devices, and / or any other standard or proprietary device interface. In various embodiments, the electrical-mechanical interface 532 may be used as part of an attached computer peripheral.

[0117] An electrical block diagram of one embodiment of a portable data terminal 100b is shown in Figure 16. In the embodiment of Figure 16, image acquisition module 108b includes a two-dimensional image sensor 536 provided on an image sensor chip 546 and associated imaging optics 544. The associated imaging optics 544 includes a lens 212b (not shown). Image sensor chip 546 is available from Handheld Products, Inc. of Skaneateles Falls, NY, and is of a type constructed in accordance with the present invention. The image sensor array 548 may be implemented within the IT4000 or IT4200 image engine and may be any suitable commercially available chip, such as the KAC-0311 or Micron MT9V022 image sensor array described above. The portable data terminal 100b also includes a lighting module 104b that includes a light source 160b and a lighting control module 164b. These lighting modules are also an integral part of the IT4000 and IT4200 discussed above. The portable data terminal 100b may further include a processor IC chip 548, such as provided by an Intel StrongArm RISC processor, or an Intel PXA255 processor. The processor IC chip 548 includes a central processing unit (CPU) 552. The image sensor array 548 may be implemented within the IT4000 or IT4200 image engine and may be any suitable commercially available chip, such as the KAC-0311 or Micron MT9V022 image sensor array described above. The portable data terminal 100b may further include a processor IC chip 548, such as provided by an Intel StrongArm RISC processor, or an Intel PXA255 processor. The processor IC chip 548 includes a central processing unit (CPU) 552. The image sensor array 548 may include a processor IC chip 548 ... To capture the image, the processor IC chip 548 sends appropriate control and timing signals to the image sensor chip 546, as described above. The processor IC chip 548 also manages the transfer of image data generated by the chip 546 to the RAM 576. The processor IC chip 548 may be configured to partially or entirely perform the functions of one or more modules, such as modules 104, 108, 112, 116, 120, 124, 128, 132, 134, 136, 140, 144, 150, 152, 165, 168, as described in connection with FIG.

[0118] As indicated above, the portable data terminal 100b may include a display 504, such as a liquid crystal display, a keyboard 508, a number of communication or radio transceivers, such as an 802.11 wireless communication link 556, a Global System for Mobile Communications / General Packet Radio Service (GSM / GPRS) wireless communication link 560, and / or a Bluetooth wireless communication link 564. In additional embodiments, the portable data terminal 100b may also transmit information, such as voice or data communications, over a variety of wireless communication interfaces, including Code Division Multiple Access (CDMA), Cellular Digital Packet Data (CDPD), Mobitex cellular phone and / or other wireless communication interfaces. In another embodiment, the portable data terminal 100b may be capable of transmitting over a data network and network elements. The information can be transmitted using a network or a wireless dial-up connection.

[0119] The portable data terminal 100b may further include an infrared (IR) communications link 568. The keyboard 508 may communicate with the IC chip 548 via a microcontroller chip 572. The portable data terminal 110b may further include RFID circuitry 578 for reading or writing data to an RFID tag, as described above, and smart card circuitry 586 including electrical contacts 590 for establishing electrical communication with a smart card, such as a network-enabled credit card. The portable data terminal 100b further includes memory 574, which includes volatile and non-volatile memory. The volatile memory in one embodiment is provided, in part, by RAM 576. The non-volatile memory may be provided, in part, by ROM 580. The processor IC chip 548 communicates with the RAM 576 and ROM 580 via a system bus 584. The processor IC chip 548 and the microcontroller chip 572 also contain areas of volatile and non-volatile memory. In those cases where at least some of the modules discussed above, such as elements in the control module 112, are implemented at least in part in software, the software elements may be stored in non-volatile memory such as ROM 580. In one embodiment, the processor IC chip 548 itself includes a CPU 552 and control circuitry that uses memory 574. A non-volatile area of ​​memory 574 can be used to store program operating instructions.

[0120] In various embodiments, the processor IC chip 548 includes several serial interfaces (e.g., general-purpose, Ethernet, Bluetooth), and parallel interfaces (e.g., PCMCIA, Compact Flash), (all can include many I / O interfaces (not shown in FIG. 16).

[0121] In one embodiment, the processor IC chip 548 decodes the frame's image data, for example a one-dimensional or two-dimensional bar code or a set of OCR characters. The image data of the frame can be processed to provide a variety of barcode and / or OCR decoding algorithms. The decoder board is commercially available, such as by incorporating an IT4250 image engine with a decoder board available from Intel Corporation. In one embodiment, the decoder board is Decodes symbologies such as Code 11, Code 39, Code 128, Codabar, Interleaved 2of5, MSI, PDF417, MicroPDF417, Code 16K, Code 49, MaxiCode, Aztec, Aztec Mesa, Data Matrix, Qcode, QR Code, UCC Composite, Snowflake, Vericode, Dataglyphs, RSS, BC412, Code 93, Codablock, Postnet (US), BPO4 State, Canada 4 State, Japan Post, KIX (Dutch Post), Planet Code, OCR A, OCR B, and more.

[0122] Among other operations, infrared transceiver 568 facilitates infrared copying of data from portable data terminal 100b in a broadcast mode to portable data terminal 100b in a receive mode. Use of infrared transceiver 568 during a data copy session allows data broadcast from a single broadcast device to be simultaneously received by several receiving devices, even if none of the receiving devices are physically connected to the broadcast device.

[0123] In additional further embodiments, image reader 100 can be housed within a transaction terminal such as a transaction terminal Image Kiosk 8870 available from Handheld Products Inc., 700 Visions Drive, PO Box 208, Skaneateles Falls, NY, and constructed in accordance with the present invention. In further embodiments, image reader 100 can be housed within a fixed mounting system such as an IMAGETEAM 3800E Linear Image Engine, or an IMAGETEAM 4710 2D Reader, from Handheld Products Inc., 700 Visions Drive, PO Box 208, Skaneateles Falls, NY.

[0124] In various embodiments, the illumination module 104, the image acquisition module 108, the control module 112, the memory module 116, the I / O module 120, the actuation module 124, The modules described above, including user feedback module 128, display module 132, user interface module 134, RFID module 136, smart card module 140, magnetic stripe card module 144, decoder module 150, lighting control module 164, power module 168, interface module 172, optics module 178, sensor array module 182, sensor array control module 186, global electronic shutter control module 190, row and column address and decode module 194, and readout module 198, rolling shutter control module 202, and autofocus module, may be implemented in different combinations of software, firmware, and / or hardware.

[0125] Machine-readable storage media that can be used in the present invention include magnetic floppy disks and hard disks, DVD drives, CD drives, and in some embodiments, For the above, DVD disks and CD-ROM disks (i.e., read-only optical storage disks) Electronic, mechanical, and other storage media such as CD-R disks (i.e., write-once, read-many-time optical storage disks), and CD-RW disks (i.e., rewritable optical storage disks). including mechanical, magnetic and / or optical storage media; and RAM, ROM, EPROM, Compact Flash and electronic storage media such as a USB flash drive, a USB 3.0 card, a USB 3.0 USB 2.0 card, a USB 3.0 USB 3.0 USB 2.0 USB 3 ... , or CompactFlash / PCMCIA / SD adapters). As is well known to those skilled in the art of machine-readable storage media, new media and formats for data storage are constantly being devised, and any convenient, commercially available storage medium, and corresponding read / write devices that may become available in the future, will be suitable for use, especially if it offers greater storage capacity, higher access speed, smaller size, and lower cost per bit of stored information. Older well-known machine-readable media, such as punched paper tape or cards, magnetic recordings on tape or wire, printed characters (e.g., OCR), Optically or mechanically readable symbols, such as magnetically encoded symbols (and magnetically encoded symbols), and machine-readable symbols, such as one- or two-dimensional bar codes, may also be available for use under certain conditions.

[0126] Those skilled in the art will recognize that many functions of electrical and electronic devices can be implemented in hardware (e.g., hardwired logic), software (e.g., logic encoded in a program that runs on a general-purpose processor), and firmware (e.g., logic encoded in non-volatile memory included for operation on a required processor). The present invention contemplates changing and substituting one implementation of hardware, firmware, and software for one that uses a different one of hardware, firmware, and software. Any implementation of a transition function, including any combination of hardware, firmware, and software implementations of portions or segments of the transition function, is contemplated herein, so long as the implementation is mathematically represented by a transition function, i.e., a particular response is produced at the output terminals for a particular excitation applied to the input terminals of the "black box" that represents the transition function.

[0127] Although the present invention has been described with reference to the structures disclosed herein, it is not intended to be limited to the details given, and the present invention is intended to cover any modifications and variations that come within the scope and spirit of the claims.

Claims

1. a CMOS global shutter image sensor including a plurality of parallel rows of pixels arranged in a two-dimensional array configured to capture an image of at least a portion of a two-dimensional barcode; A processor; at least one illumination source configured to illuminate at least the portion of the two-dimensional barcode for an illumination period, wherein at least one of the illumination period and the exposure period is based on an ambient light intensity, and in the case of high ambient illumination, at least the exposure period is shortened; a non-transitory memory containing computer program instructions; An apparatus comprising: The non-transitory memory and the computer program instructions, when executed by the processor, are configured to cause the device to at least attempt to decode at least the portion of the two-dimensional barcode in the image.

2. The apparatus of claim 1 , further comprising a trigger configured to cause the CMOS global shutter image sensor to capture the image.

3. The apparatus of claim 1 , further comprising a gain circuit configured to perform correlated double sampling.

4. The apparatus of claim 1 , wherein each pixel of the plurality of parallel rows of pixels is selectively addressable.

5. The apparatus of claim 1 , wherein the CMOS global shutter image sensor is configurable to select between a full frame of the image or a windowed frame of the image.

6. 2. The apparatus of claim 1, wherein the non-transitory memory containing the computer program instructions, when executed by the processor, is further configured to cause the apparatus to select one or more decoding algorithms from a plurality of decoding algorithms, each configured to decode a two-dimensional barcode.

7. The non-transitory memory containing the computer program instructions, when executed by the processor, causes the device to: operating the at least one illumination source during at least a portion of the exposure period; The apparatus of claim 1 , further configured to: deactivate the at least one illumination source during another portion of the exposure period.

8. 2. The apparatus of claim 1, wherein the at least one illumination source is configured to project a two-dimensional white illumination pattern or a two-dimensional colored illumination pattern, and wherein the at least one illumination source is substantially bright and the exposure period is substantially short such that the image is substantially free of distortion.

9. 2. The apparatus of claim 1, wherein the non-transitory memory containing the computer program instructions, when executed by the processor, is further configured to cause the apparatus to perform feature extraction to enable identification of quiet zones in the image.

10. 2. The apparatus of claim 1, wherein the non-transitory memory containing the computer program instructions, when executed by the processor, is further configured to cause the apparatus to perform feature extraction to enable identification of a finder pattern in the image.

11. 2. The apparatus of claim 1, wherein the at least one illumination source is configured to be substantially bright and the exposure period is configured to be substantially short such that the image can be substantially sharp.

12. The apparatus of claim 1 , wherein the exposure period has a duration of less than 3.7 milliseconds.

13. 10. The apparatus of claim 1, wherein the at least one illumination source comprises one or more LEDs configured to be pulsed to operate substantially at, at, or above a peak current during the illumination period.

Citation Information

Patent Citations

  • Image sensor

    JP2002209144A

  • Bar code reader and reading method

    JP2003132301A

  • Video player with code sensor

    JP2003516072A

  • Optical information reading device

    JP2004213331A

  • Cooking system

    JP2004347163A