U.S. patent application number 10/891851 was filed with the patent office on 2006-01-19 for optical code reading system and method using a variable resolution imaging sensor.
Invention is credited to Brad Carlson, Eugene Joseph.
Application Number | 20060011724 10/891851 |
Document ID | / |
Family ID | 35219459 |
Filed Date | 2006-01-19 |
United States Patent
Application |
20060011724 |
Kind Code |
A1 |
Joseph; Eugene ; et
al. |
January 19, 2006 |
Optical code reading system and method using a variable resolution
imaging sensor
Abstract
An optical code reading system having an auto-exposure system
for use with a variable resolution imaging sensor in which very low
resolution images are used to determine exposure parameters is
presented. The very low resolution images can be transferred much
faster than high resolution images which results in a very fast
auto-exposure system. The optical code reading system further
includes an optical zoom system for zooming in and out of a target
without the use of any moveable components. The optical zoom system
makes use of a binning and/or subsampling feature of the imaging
sensor for zooming in and out of the target. High-speed decoding
methodologies are also presented for the optical code reading
system. One decoding methodology utilizes low resolution images for
performing high-speed decoding. Other methodologies utilize low
resolution images and higher resolution images, if the optical code
imaged by the low resolution images is not decoded
successfully.
Inventors: |
Joseph; Eugene; (Coram,
NY) ; Carlson; Brad; (Huntington, NY) |
Correspondence
Address: |
Carter, DeLuca, Farrell & Schmidt, LLP;Suite 225
445 Broad Hollow Road
Melville
NY
11784
US
|
Family ID: |
35219459 |
Appl. No.: |
10/891851 |
Filed: |
July 15, 2004 |
Current U.S.
Class: |
235/454 ;
235/462.24; 348/E3.02; 348/E5.035 |
Current CPC
Class: |
H04N 5/3454 20130101;
H04N 5/2351 20130101; H04N 5/343 20130101; G06K 7/10722
20130101 |
Class at
Publication: |
235/454 ;
235/462.24 |
International
Class: |
G06K 7/10 20060101
G06K007/10; G03B 7/08 20060101 G03B007/08 |
Claims
1. An auto-exposure control system for an optical system, said
auto-exposure system comprising: a processor for receiving from a
variable resolution imaging sensor a low resolution image having at
least one characteristic, determining at least one value for the at
least one characteristic, associating said at least one value with
at least one corresponding exposure-related parameter value, and
transmitting at least one auto-exposure control signal for
communicating the at least one corresponding exposure-related
parameter value, wherein the variable resolution imaging sensor can
output images having at least two different resolutions; and
control circuitry for receiving said at least one auto-exposure
control signal and controlling at least one exposure-related
feature of said optical system in accordance with said at least one
corresponding exposure-related parameter value.
2. The auto-exposure control system according to claim 1, wherein
the at least one characteristic is selected from the group
consisting of light intensity for one pixel of the low resolution
image, and a statistical function of a group of pixels of the low
resolution image.
3. The auto-exposure control system according to claim 1, wherein
the processor accesses at least one data structure for associating
the at least one value with the at least one corresponding
exposure-related parameter value.
4. The auto-exposure control system according to claim 1, further
comprising sensor control circuitry for controlling the imaging
sensor for generating the low resolution image.
5. An optical zoom system for an optical system, said optical zoom
system comprising: an imaging sensor having a pixel array and
circuitry for combining two or more pixels to form an enlarged
pixel; and a processor for determining a zoom setting from at least
two zoom settings and controlling said imaging sensor for
outputting an image corresponding to the determined zoom setting,
wherein the outputted image is one of an image corresponding to the
pixel array of the imaging sensor and an image corresponding to a
portion of the pixel array of the imaging sensor, wherein said
image corresponding to the portion of the pixel array is comprised
of individual pixels or two or more pixels combined to form an
enlarged pixel.
6. The optical zoom system according to claim 5, further comprising
a range finder system for determining distance information from
said imaging sensor to a target.
7. The optical zoom system according to claim 6, further comprising
means for communicating the distance information to the processor
for use in determining the zoom setting from the at least two zoom
settings.
8. The optical zoom system according to claim 7, further comprising
a data structure capable of being accessed by said processor for
correlating the distance information with one of the at least two
zoom settings.
9. An optical code reading system comprising: an auto-exposure
control system comprising: a processor for receiving from an
imaging sensor a low resolution image having at least one
characteristic, determining at least one value for the at least one
characteristic, associating said at least one value with at least
one corresponding exposure-related parameter value, and
transmitting at least one auto-exposure control signal for
communicating the at least one corresponding exposure-related
parameter value; and control circuitry for receiving said at least
one auto-exposure control signal and controlling at least one
exposure-related feature of said optical system in accordance with
said at least one corresponding exposure-related parameter value;
and an optical zoom system, wherein the imaging sensor has a pixel
array and circuitry for combining two or more pixels to form an
enlarged pixel, and wherein said processor determines a zoom
setting from at least two zoom settings and controls said imaging
sensor for outputting an image corresponding to the determined zoom
setting, wherein the outputted image is one of an image
corresponding to the pixel array of the imaging sensor and an image
corresponding to a portion of the pixel array of the imaging
sensor, wherein said image corresponding to the portion of the
pixel array is comprised of individual pixels or two or more pixels
combined to form an enlarged pixel.
10. The optical code reading system according to claim 9, wherein
the at least one characteristic is selected from the group
consisting of light intensity for one pixel of the low resolution
image, and a statistical function of a group of pixels of the low
resolution image.
11. The optical code reading system according to claim 9, wherein
the processor accesses at least one data structure for associating
the at least one value with the at least one corresponding
exposure-related parameter value.
12. The optical code reading system according to claim 9, further
comprising sensor control circuitry for controlling the imaging
sensor for generating the low resolution image.
13. The optical code reading system according to claim 9, further
comprising a range finder system for determining distance
information from said imaging sensor to a target.
14. The optical code reading system according to claim 13, further
comprising means for communicating the distance information to the
processor for use in determining the zoom setting from the at least
two zoom settings.
15. The optical code reading system according to claim 14, further
comprising a data structure capable of being accessed by said
processor for correlating the distance information with one of the
at least two zoom settings.
16. The optical code reading system according to claim 9, wherein
the imaging sensor is a variable resolution imaging sensor capable
of outputting images having at least two different resolutions.
17. An optical code reading system comprising: an imaging sensor
capable of generating and outputting images having at least two
different resolutions; means for controlling the imaging sensor for
generating and outputting an image having a particular resolution
for an optical code; and means for analyzing the image having the
particular resolution.
18. The optical code reading system according to claim 17, wherein
the particular resolution is a low resolution.
19. The optical code reading system according to claim 17, further
comprising: means for determining whether an image having a higher
resolution than the image having the particular resolution should
be generated and outputted by said imaging sensor; and means for
controlling the imaging sensor for generating and outputting the
image having the higher resolution in accordance with the
determination.
20. A method for decoding an optical code comprising the steps of:
providing an imaging sensor capable of generating and outputting
images having at least two different resolutions; controlling the
imaging sensor for generating and outputting an image having a
particular resolution for the optical code; and processing the
image for decoding the optical code.
21. The method according to claim 20, wherein the particular
resolution is a low resolution.
22. The method according to claim 20, further comprising the steps
of: if the optical code was not decoded, controlling the imaging
sensor for generating and outputting an image having a higher
resolution than the image having the particular resolution; and
repeating the method starting from the processing step.
23. An optical code reading system comprising: an imaging sensor
capable of generating and outputting images having at least two
different resolutions; means for controlling the imaging sensor for
generating and outputting an image having a low resolution and an
image having a high resolution for the optical code; means for
attempting to decode said optical code imaged by the low resolution
image; means for determining whether the optical code imaged by the
low resolution image was decoded and attempting to decode said
optical code imaged by the high resolution image, if the optical
code imaged by the low resolution image was not decoded; and means
for determining whether the optical code imaged by the high
resolution image was decoded.
24. A method for decoding an optical code comprising the steps of:
providing an imaging sensor capable of generating and outputting
images having at least two different resolutions; controlling the
imaging sensor for generating and outputting an image having a low
resolution and an image having a high resolution for the optical
code; attempting to decode said optical code imaged by the low
resolution image; determining whether the optical code imaged by
the low resolution image was decoded; attempting to decode said
optical code imaged by the high resolution image, if according to
the determining step, the optical code imaged by the low resolution
image was not decoded; and determining whether the optical code
imaged by the high resolution image was decoded.
25. The method according to claim 24, further comprising the step
of repeating the method starting from the controlling step, if
according to the last determining step, the optical code imaged by
the high resolution image was not decoded.
26. The method according to claim 24, wherein the step of
controlling comprises the steps of: setting a focus position of an
optical code reading system to a NEAR position for generating and
outputting the image having the low resolution; and setting the
focus position of the optical code reading system to a FAR position
for generating and outputting the image having the high
resolution.
27. An optical code reading system comprising: a variable
resolution imaging sensor capable of generating images having at
least two different resolutions; and a trigger for actuating an
image and decode feature for imaging an optical code with the
variable resolution imaging sensor and for decoding said optical
code using a decoder.
28. The optical code reading system according to claim 27, further
comprising: means for determining an imaging resolution for said
variable resolution imaging sensor; and means for controlling said
variable resolution imaging sensor for imaging said optical code
according to the determined imaging resolution.
29. The optical code reading system according to claim 27, further
comprising: a processor for receiving from said variable resolution
imaging sensor a low resolution image having at least one
characteristic, determining at least one value for the at least one
characteristic, associating said at least one value with at least
one corresponding exposure-related parameter value, and
transmitting at least one auto-exposure control signal for
communicating the at least one corresponding exposure-related
parameter value; and control circuitry for receiving said at least
one auto-exposure control signal and controlling at least one
exposure-related feature of said optical system in accordance with
said at least one corresponding exposure-related parameter
value.
30. The optical code reading system according to claim 29, wherein
the at least one characteristic is selected from the group
consisting of light intensity for one pixel of the low resolution
image, and a statistical function of a group of pixels of the low
resolution image.
31. The optical code reading system according to claim 29, wherein
the processor accesses at least one data structure for associating
the at least one value with the at least one corresponding
exposure-related parameter value.
32. The optical code reading system according to claim 29, further
comprising sensor control circuitry for controlling the variable
resolution imaging sensor for generating the low resolution
image.
33. The optical code reading system according to claim 27, further
comprising an optical zoom system comprising: means for combining
two or more pixels of a pixel array of said variable resolution
imaging sensor to form an enlarged pixel; and a processor for
determining a zoom setting from at least two zoom settings and
controlling said variable resolution imaging sensor for outputting
an image corresponding to the determined zoom setting, wherein the
outputted image is one of an image corresponding to the pixel array
of said variable resolution imaging sensor and an image
corresponding to a portion of the pixel array of the variable
resolution imaging sensor, wherein said image corresponding to the
portion of the pixel array is comprised of individual pixels or two
or more pixels combined to form an enlarged pixel.
34. The optical code reading system according to claim 27, further
comprising an optical zoom system comprising: means for subsampling
at least one pixel from a set of pixels; and a processor for
determining a zoom setting from at least two zoom settings and
controlling said imaging sensor for outputting an image
corresponding to the determined zoom setting, wherein the outputted
image is one of an image corresponding to the pixel array of the
imaging sensor and an image corresponding to a portion of the pixel
array of the imaging sensor, wherein said image corresponding to
the portion of the pixel array is comprised of at least one pixel
from the set of pixels.
35. The optical code reading system according to claim 33, further
comprising a range finder system for determining distance
information from said variable resolution imaging sensor to a
target.
36. The optical code reading system according to claim 35, further
comprising means for communicating the distance information to the
processor for use in determining the zoom setting from the at least
two zoom settings.
37. The optical code reading system according to claim 35, further
comprising a data structure capable of being accessed by said
processor for correlating the distance information with one of the
at least two zoom settings.
38. An optical zoom system for an optical system, said optical zoom
system comprising: an imaging sensor having a pixel array and
circuitry for subsampling at least one pixel from a set of pixels;
and a processor for determining a zoom setting from at least two
zoom settings and controlling said imaging sensor for outputting an
image corresponding to the determined zoom setting, wherein the
outputted image is one of an image corresponding to the pixel array
of the imaging sensor and an image corresponding to a portion of
the pixel array of the imaging sensor, wherein said image
corresponding to the portion of the pixel array is comprised of at
least one pixel from the set of pixels.
39. An optical code reading system comprising: an auto-exposure
control system comprising: a processor for receiving from an
imaging sensor a low resolution image having at least one
characteristic, determining at least one value for the at least one
characteristic, associating said at least one value with at least
one corresponding exposure-related parameter value, and
transmitting at least one auto-exposure control signal for
communicating the at least one corresponding exposure-related
parameter value; and control circuitry for receiving said at least
one auto-exposure control signal and controlling at least one
exposure-related feature of said optical system in accordance with
said at least one corresponding exposure-related parameter value;
and an optical zoom system, wherein the imaging sensor has a pixel
array and circuitry for subsampling at least one pixel from a set
of pixels, and wherein said processor determines a zoom setting
from at least two zoom settings and controls said imaging sensor
for outputting an image corresponding to the determined zoom
setting, wherein the outputted image is one of an image
corresponding to the pixel array of the imaging sensor and an image
corresponding to a portion of the pixel array of the imaging
sensor, wherein said image corresponding to the portion of the
pixel array is comprised of at least one pixel from the set of
pixels.
40. The optical code reading system according to claim 39, wherein
the at least one characteristic is selected from the group
consisting of light intensity for one pixel of the low resolution
image, and a statistical function of a group of pixels of the low
resolution image.
41. The optical code reading system according to claim 39, wherein
the processor accesses at least one data structure for associating
the at least one value with the at least one corresponding
exposure-related parameter value.
42. The optical code reading system according to claim 39, further
comprising sensor control circuitry for controlling the imaging
sensor for generating the low resolution image.
43. The optical code reading system according to claim 39, further
comprising a range finder system for determining distance
information from said imaging sensor to a target.
44. The optical code reading system according to claim 43, further
comprising means for communicating the distance information to the
processor for use in determining the zoom setting from the at least
two zoom settings.
45. The optical code reading system according to claim 44, further
comprising a data structure capable of being accessed by said
processor for correlating the distance information with one of the
at least two zoom settings.
46. The optical code reading system according to claim 39, wherein
the imaging sensor is a variable resolution imaging sensor capable
of outputting images having at least two different resolutions.
Description
BACKGROUND OF THE INVENTION
[0001] 1. Field of the Invention
[0002] The present disclosure relates to the field of imaging, and
specifically to an optical code reading system and method using a
variable resolution imaging sensor. In particular, the present
disclosure relates to using variable resolution imaging sensors for
providing high-speed auto-exposure, high-speed decoding and
2.times. optical zoom in an optical code reading system.
[0003] 2. Description of the Related Art
[0004] CCD or CMOS imaging sensors are typically used in imaging
devices, such as optical code reading devices for reading and
decoding optical codes, such as bar codes. These sensors generally
have an imaging pixel array having a plurality of photosensitive
elements or pixels for capturing an image. Each pixel of the pixel
array has a fixed aspect ratio (i.e., width-to-height). The aspect
ratio of the pixels in an optical code reading device is generally
determined by the type and/or density of the images, e.g., bar
codes, to be read by the imaging device.
[0005] Due to the limited dynamic range of CCD, CMOS and other area
sensors, auto-exposure systems are generally used to generate
images with sufficient information content for automatic
identification purposes. A typical auto-exposure system uses the
output image to determine the exposure parameters. This ties the
time for auto-exposure to the time it takes to transfer frames from
the imaging sensor to the auto-exposure system. For CCD and most
CMOS imaging sensors, the worst case time required for
auto-exposure is 2-3 times the typical frame transfer time of 33
ms. This amount of time can substantially slow down the first-read
times for an imager or imaging engine in an optical code reading
system and significantly affect any imager's performance. (The
first-read time is one of the major parameters used in evaluating
imager performance.) Accordingly, a need exists for an
auto-exposure system for use with a variable resolution imaging
sensor in which very low resolution images are used to determine
exposure parameters. The short time required to transfer the low
resolution image, as opposed to a high resolution image, results in
a very fast auto-exposure system (few milli-seconds).
[0006] Optical zoom systems are generally used in optical code
reading devices for precisely moving at least one lens and other
components of the imaging devices. Hence, these optical zoom
systems require movable optical and other components which need to
be precisely moved at very short distances. Accordingly, a need
exists for an optical zoom system for use with a variable
resolution imaging sensor for zooming in and out of a target, such
as a bar code, without moving any optical and non-optical
components.
[0007] In the case of an optical code reading system, informational
encoded content transferred by the images generated is thereafter
decoded using decoding algorithms stored as a set of programmable
instructions within at least one processor or decoder of the
system. The images generated by CCD and CMOS imaging sensors are
generally high resolution images, thereby requiring a long period
of decode time (trigger to beep) to decode their informational
encoded content (in the order of 50 to over 250 ms). These decode
times are too slow for high performance bar code reading
applications. Accordingly, a need exists to reduce the decode time
by programming a variable resolution imaging sensor to generate a
low resolution image which takes less time to transfer to the at
least one processor or decoder from the sensor. A need also exists
for programming the variable resolution imaging sensor to
continuously generate an image having a higher resolution than the
previously generated image and transferring the new image (or a
portion thereof) to the at least one processor or decoder, until
the informational encoded content transferred by the most-recently
transferred image is decoded or a predetermined period of time has
lapsed.
SUMMARY OF THE INVENTION
[0008] An aspect of the present disclosure is to provide an optical
code reading system having an auto-exposure system for use with a
variable resolution imaging sensor in which very low resolution
images are used to determine exposure parameters.
[0009] Another aspect of the present disclosure is to provide an
optical code reading system having an optical zoom system for use
with a variable resolution imaging sensor for zooming in and out of
a target, such as a bar code, without moving any optical and
non-optical components.
[0010] Another aspect of the present disclosure is to provide an
optical code reading system having a variable resolution imaging
sensor programmed to generate a low resolution image, thereby
requiring less time to transfer the image to at least one processor
or decoder for decoding.
[0011] Another aspect of the present disclosure is to provide an
optical code reading system having a variable resolution imaging
sensor programmed to continuously generate an image having a higher
resolution than the previously generated image and transferring the
new image (or a portion thereof) to at least one processor or
decoder, until the informational encoded content transferred by the
most-recently transferred image is decoded or a predetermined
period of time has lapsed.
[0012] Another aspect of the present disclosure is to provide an
optical code reading system with at least one variable resolution
imaging sensor and incorporating all of the features and
methodologies recited in the aspects identified above, thereby
having improved performance, a high-speed auto-exposure system, a
high-speed decode time for reading and decoding low- and
high-density bar codes, an optical zoom system having no moveable
parts, and other benefits and advantages.
[0013] In accordance with the above aspects, the present disclosure
provides an optical code reading system having an auto-exposure
system for use with a variable resolution imaging sensor in which
very low resolution images are used to determine exposure
parameters. The very low resolution images can be transferred much
faster than high resolution images which results in a very fast
auto-exposure system (few milli-seconds). The present disclosure
further provides an optical code reading system having an optical
zoom system for use with a variable resolution imaging sensor for
zooming in and out of a target, such as a bar code, without using
any moveable optical and non-optical components.
[0014] The present disclosure further provides an optical code
reading system having a variable resolution imaging sensor
programmed to generate a low resolution image, thereby requiring
less time to transfer the image to at least one processor or
decoder for decoding. The present disclosure further provides an
optical code reading system having a variable resolution imaging
sensor programmed to continuously generate an image having a higher
resolution than the previously generated image and transferring the
new image to at least one processor or decoder, until the
informational encoded content transferred by the most-recently
transferred image is decoded or a predetermined period of time has
lapsed.
[0015] Additionally, the present disclosure provides an optical
code reading system with at least one variable resolution imaging
sensor and incorporating all of the features and methodologies
recited above, thereby having improved performance, a high-speed
auto-exposure system, a high-speed decode time for reading and
decoding low- and high-density bar codes, an optical zoom system
having no moveable parts, and other benefits and advantages.
BRIEF DESCRIPTION OF THE DRAWINGS
[0016] Various embodiments of the present disclosure will be
described herein below with reference to the figures wherein:
[0017] FIG. 1 is a schematic illustration of an auto-exposure
system for use with a variable resolution imaging sensor of an
optical code reading system in accordance with the present
disclosure;
[0018] FIG. 2A is a schematic illustration of an optical zoom
system using a variable resolution imaging sensor without binning
for reading out the center field of view in accordance with the
present disclosure;
[0019] FIG. 2B is a schematic illustration of an optical zoom
system using a variable resolution imaging sensor with binning for
reading out the full field of view in accordance with the present
disclosure;
[0020] FIG. 3A is a flow chart illustrating a method of decoding an
optical code using an optical code reading system in accordance
with the present disclosure;
[0021] FIG. 3B is a flow chart illustrating another method of
decoding an optical code using an optical code reading system in
accordance with the present disclosure; and
[0022] FIG. 4 is a schematic illustration of an optical code
reading system having an imaging device in accordance with the
present disclosure.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0023] With reference to FIG. 1, there is shown a schematic
illustration of an auto-exposure system for use with a variable
resolution imaging sensor of an optical code reading system in
accordance with the present disclosure. Even though the present
disclosure is described herein with reference to an optical code
reading system for imaging and decoding optical codes, such as bar
codes, the aspects and features described herein can be
incorporated in other systems, such as a video camera system, a
digital camera system, etc.
[0024] The auto-exposure system 10 of the optical code reading
system 200 (FIG. 4) makes use of a variable resolution imaging
sensor 12 which is capable of generating and outputting images
having at least two different resolutions, i.e., a low and a high
resolution. The variable resolution imaging sensor 12 can also be
capable of generating and outputting images having a plurality of
resolutions ranging from low to high. The sensor 12 can be a CCD,
CMOS, or other type of imaging sensor as known in the art.
[0025] The variable resolution imaging sensor 12 is programmed for
outputting very low resolution images 13 when operating the
auto-exposure system 10. Or, as shown by FIG. 1, the sensor 12 can
be accompanied by sensor control circuitry 14 (e.g., a processor,
ASIC, etc.) for controlling the sensor 12 via sensor control
signals 11 for causing the variable resolution imaging sensor 12 to
output low resolution images 13 when operating the auto-exposure
system 10.
[0026] In a limiting case according to the present disclosure, the
sensor 12 is programmed or the accompanying sensor control
circuitry 14 controls the sensor to output an image consisting of a
single pixel. This is equivalent to having a single photodiode
facing the target field of view.
[0027] The low resolution images are then used by the auto-exposure
system 10 to determine exposure parameters, such as shutter speed,
sensor gain, lens aperture and brightness of illumination.
Accordingly, the low resolution images are transferred to
processing circuitry 16 which can include at least one processor,
such as processor 62 (FIGS. 2A and 2B) and/or an ASIC for
determining exposure parameters. The processing circuitry 16 can be
resident within the sensor 12, within sensor control circuitry 14,
or, as shown by FIG. 1, as a separate unit. The low resolution
images are transferred much faster than high resolution images used
in prior art auto-exposure systems which results in a very fast
auto-exposure system (few milli-seconds).
[0028] To determine exposure-related parameter values, the
processing circuitry 16 first determines at least one
characteristic of the low resolution image or single pixel, such
as, for example, the incident light intensity of the low resolution
image or single pixel. The processing circuitry 16 then correlates
the determined incident light intensity or other characteristic of
the low resolution image with one or more auto-exposure parameters
by accessing one or more data structures 18, such as look-up
tables, stored within the processing circuitry 16, as shown by FIG.
1.
[0029] For example, in accordance with the present disclosure, the
processing circuitry 16 of the optical code reading system 200
determines the incident light intensity of the low resolution image
or single pixel to be x and then correlates x with a look-up table
corresponding to an auto-exposure parameter to determine the
exposure-related parameter value associated with a light intensity
of x. In the case of the low resolution image, the auto-exposure
system 10 preferably takes the average intensity, or other
statistical function, of the pixels at the center of the image for
correlating with the auto-exposure parameter using the look-up
table.
[0030] The determined light intensity x, or other characteristic of
the low resolution image, can also be correlated with one or more
other look-up tables corresponding to other auto-exposure
parameters, either simultaneously with the first look-up table or
non-simultaneously. The determined exposure-related parameter
values are then used by the auto-exposure system 10 for
appropriately controlling one or more aspects or features of the
optical code reading system 200, such as shutter speed, sensor
gain, lens aperture and brightness of illumination. As such, one or
more auto-exposure control signals 20 are transmitted by the
processing circuitry 16 to control circuitry 22. Upon receiving the
auto-exposure control signals 20, the control circuitry 22 controls
the one or more aspects or features of the optical code reading
system 200 in accordance with the exposure-related parameter
values.
[0031] A 2.times. optical zoom system of the present disclosure
will now be described with reference to FIGS. 2A and 2B. The
2.times. optical zoom system of the optical code reading system 200
is designated generally by reference numeral 50 and makes use of a
variable resolution imaging sensor 12 for zooming in and out of a
target, such as a bar code, without using any moveable optical and
non-optical components. The optical zoom system 50 of the optical
code reading system 200 makes use of a variable resolution imaging
sensor having associated circuitry, such as sensor control
circuitry 14, for combining one or more rectangular sets of pixels
into a single, enlarged pixel; a method referred to as binning.
[0032] One imaging sensor designed for digital cameras and having
the capability of binning a rectangular set of pixels into a
single, enlarged super pixel to change the size or number of pixels
forming the image is the Foveon X3.TM. image sensor available from
Foveon, Inc., Santa Clara, Calif. Without binning, the size or
number of pixels of an output image generated by the Foveon X3.TM.
image sensor is 1420.times.1060. With binning, the Foveon X3.TM.
image sensor can form 2.times.2 super pixels to yield an output
image having a size or number of pixels of 710.times.530; it can
form 3.times.2 super pixels to yield an output image having a size
of 473.times.530; and it can form 3.times.3 super pixels to yield
an output image having a size of 473.times.353. Further, the Foveon
X3.TM. image sensor has the capability to output a window of the
image directly from its pixel array.
[0033] As shown by FIG. 2A, without binning, the center field of
view 52 can be read out from a pixel array 54 of the imaging sensor
12 to output an image 56 having a size or number of pixels of
710.times.530. Preferably, the center 1/4 field of view is read out
from the pixel array 54.
[0034] Further, as shown by FIG. 2B, with 2.times.2 binning, the
full field of view 58 of the pixel array 54 can be read out to
output an image 60 which also has a size or number of pixels of
710.times.530. Accordingly, the optical zoom system 50 of the
present disclosure operates exactly like a 2.times. optical zoom
system with a sensor pixel array having a number of pixels of
710.times.530 and without precisely moving any optical and
non-optical components.
[0035] It is also possible according to the present disclosure to
vary the image resolution of the variable resolution imaging sensor
12 by subsampling pixels, e.g., reading every other pixel in the
horizontal and vertical direction, without binning. That is, the
outputted image is comprised of individual pixels which are not
combined with other pixels.
[0036] Typically, conventional mega-pixel sensors have at least one
low resolution mode and are implemented with subsampling
capabilities for supporting a "viewfinder" mode on digital cameras.
The present disclosure utilizes features of conventional mega-pixel
sensors for auto-exposure, optical zoom and aggressive decoding of
optical codes, such as bar code symbols.
[0037] The optical zoom system 50 of the optical code reading
system 200 of the present disclosure further includes the processor
62. The optical zoom system 50 can also be designed to use the
processing circuitry 16. The processor 62 is programmed for
controlling the zoom setting of the optical zoom system 50.
[0038] The processor 62 can be provided with distance information
from a range finder system 64 regarding the distance to a target,
such as an optical code, from the imaging sensor 12 and accordingly
correlate using a data structure 65, such as a look-up table, the
distance to the target as provided by the range finder system 64
with a zoom setting. The look-up table can be stored within the
processor 62, as shown by FIGS. 2A and 2B, or be resident outside
the processor 62, such as in a database of the optical code reading
system 200.
[0039] It is contemplated that the processor 62 accesses a
different look-up table for correlating distance information with a
zoom setting in accordance with the type of application for which
the 2.times. optical zoom system 50 is being used. For example, one
look-up table can provide zoom settings for imaging a
one-dimensional optical code, another look-up table can provide
zoom settings for imaging a two-dimensional optical code, such as a
PDF417 code, another look-up table can provide zoom settings for
imaging a scene, another look-up table can provide zoom settings
for imaging a DPM code, etc.
[0040] Upon determining the appropriate zoom setting from at least
two zoom settings using the data structure 65, the zoom setting of
the optical code reading system 200 can then be changed by
generating and transmitting a zoom setting signal 66 from the
processor 62 to the imaging sensor 12. The zoom setting signal 66
controls the circuitry associated with the imaging sensor 12 for
outputting an image having a particular resolution which provides
the determined zoom setting. With this set-up, the optical zoom
system 50 of the present disclosure can change the zoom setting of
the optical code reading system 200 "on the fly" or
instantaneously.
[0041] In the alternative, instead of using the range finder system
64 to determine distance to the target, the processor 62 of the
optical zoom system 50 is programmed to alter the zoom setting in
alternate image scans, until the target, such as an optical code,
is adequately zoomed and successfully decoded.
[0042] The optical zoom system 50 of the present disclosure differs
from digital optical zoom system commonly used in digital
photography cameras. Digital optical zoom systems use all of the
pixels of the imaging sensor to perform zoom functions using the
process known as image interpolation to increase the number of
pixels in the image.
[0043] The optical zoom system 50 does not perform zoom functions
by image interpolation. The optical zoom system 50 does not use all
of the pixels of the imaging sensor 12, but uses a portion of the
pixels (by either binning or subsampling). If during the
performance of a zoom function, it is determined by the processor
62 and/or sensor control circuitry 14 that additional pixels are
needed, the number of pixels used by the optical zoom system 50 is
increased (by decreasing bin or subsample size). By increasing the
number of pixels, the resolution of the image is increased.
Accordingly, the image resolution is increased, without using the
process of image interpolation.
[0044] The optical code reading system 200 of the present
disclosure can be programmed for decoding an optical code according
to several methodologies for reducing decode time, i.e., the time
from when the optical code is imaged by the variable resolution
imaging sensor 12 to the time it is decoded, in order to enable
high-speed decoding.
[0045] One methodology according to the present disclosure entails
programming circuitry associated with the imaging sensor 12, such
as sensor control circuitry 14, or a processor, such as, for
example, the processor 62 and/or the processing circuitry 16, for
controlling the imaging sensor 12 for generating a low resolution
image. The required or appropriate resolution for the outputted low
resolution image can be determined based on one or more of the
following parameters: the type of application the optical code
reading system 200 is being used for, the ambient lighting, the
distance to target, the speed of target (in case the target is
moving), the angle between sensor 12 and target, etc.
[0046] The low resolution image generated by the imaging sensor 12
requires less time to be transferred to at least one processor,
which may include the processor 62 and/or the processing circuitry
16, and/or a decoder 518, from the imaging sensor 12 for locating
the target feature, such as a start and stop pattern of an optical
code, since the bit size of the low resolution image generated by
the imaging sensor 12 is significantly smaller than the bit size of
a high resolution image capable of being generated by the variable
resolution imaging sensor 12.
[0047] Once transferred to the at least one processor or decoder,
the at least one processor or decoder attempts to extract the
desired information from the optical code by decoding the optical
code. If the resolution of the image is sufficient, the desired
information can be successfully extracted by decoding the optical
code. Accordingly, this methodology uses a low resolution image to
accomplish the task of imaging and decoding the optical code. This
methodology also saves time, because by transferring a low
resolution image to the at least one processor or decoder, the
decode time is significantly reduced. The decode time is reduced in
the order of four as compared to prior art optical code reading
systems.
[0048] However, sometimes the required image resolution is not
known ahead of time. For such applications, according to the
present disclosure, the processor associated with the optical code
reading system 200, which can include the processing circuitry 16
and/or the processor 62, can be programmed for executing the
algorithm illustrated by the flow chart shown by FIG. 3A for
decoding an optical code and reducing the decode time. The
algorithm is configured as a set of programmable instructions
stored in a memory and capable of being executed by the processor
and/or the sensor control circuitry 14.
[0049] At step 300, the imaging sensor 12 is controlled by a
processor, which can include the processing circuitry 16 and/or
processor 62, or the sensor control circuitry 14 for generating an
image having a particular resolution, and preferably, the lowest,
useful resolution that can be generated by the sensor 12. (The
lowest, useful resolution can be defined by the application; e.g.,
the density of the bar codes being read.) The lowest resolution
image is then outputted for use in locating a target feature, such
as a bar code, by the processor at step 302. It is contemplated
that the image generated is not the lowest resolution image that
can be generated but an image which has a low resolution for
providing a starting point in attempting to locate the target
feature by the processor.
[0050] At step 304, the process attempts a simple decode of the
located target feature. At step 306, a determination is made as to
whether the bar code was successfully decoded in step 304. If yes,
the result is reported to a user of the optical code reading system
in step 308. If no, the process continues to step 310 where the low
resolution image's pixels per module (PPM) is estimated. If the
estimated PPM is sufficient to decode the target feature as
determined at step 312, an attempt is made at step 314 to decode
the target feature. If the estimated PPM is not sufficient to
decode the target feature, the process continues to step 316.
[0051] If the attempted decode at step 314 is successful as
determined at step 318, the result is reported to the user at step
308. If the attempted decode is not successful, the process
continues to step 316. At step 316, a determination is made as to
whether to continue with the decoding process, i.e., whether to
generate and output a higher resolution image. If no, as
determined, for example, by a system clock or based according to
how many times the process has reached step 316, the process
terminates at step 320. If at step 316, the decision is to continue
with the decoding process, the process continues to step 322 where
the higher resolution image is generated and outputted by the
variable resolution imaging sensor 12. The process then repeats
starting with step 302 for locating the target feature. It is
preferred that the newly generated, higher resolution image is
cropped such that the image is centered with respect to the
location of the target feature.
[0052] It is necessary to determine at step 316 whether to continue
with the process in order for the process to be able to move on to
decode another optical code. This may be required in the case where
the system 200 is used to image optical codes passing on a conveyor
belt to prevent the optical code reading system 200 from "falling
behind" in imaging and decoding the optical codes passing by.
[0053] The methodology described above attempts to determine at
what resolution is the target feature adequately visible for
decoding. Since low resolution images are generated and transmitted
to the processor much faster than high resolution images, the
amount of time expensed for determining an appropriate or desired
low resolution for decoding the target feature is significantly
less than the time capable of being expensed if a high resolution
image is generated and transferred to the processor for decoding,
even though with the methodology described herein multiple low
resolution images may need to be generated and transferred to the
processor before the target feature is decoded.
[0054] The methodology described above with reference to FIG. 3A
can be modified into a two-stage resolution algorithm for
performing a methodology as illustrated by the flow chart shown by
FIG. 3B for the optical code reading system 200. The optical code
reading system 200 includes a two-position focus system 202 with
positions NEAR 204 and FAR 206 and the imaging sensor 12 being
modified for delivering at least two image resolutions,
HI_RESOLUTION (high resolution) and LOW_RESOLUTION (low
resolution). The NEAR position 204 captures a larger image of the
target and the FAR position 206 captures a smaller, cropped image
of the target. In effect, this implements a 2.times. optical zoom
system. The system 200 is also modified for capturing two images,
HI_RES_IMAGE (high resolution image) and LOW_RES_IMAGE (low
resolution image).
[0055] The two-stage resolution algorithm is performed by the
processor of the optical code reading system 200, which can include
the processing circuitry 16 and/or the processor 62, by executing a
series of programmable instructions. The methodology decreases the
decode time while improving the overall performance of the optical
code reading system 200.
[0056] The methodology according to the present disclosure entails
starting at step 400 in FIG. 3B and setting the focus position to
NEAR and sensor resolution to LOW_RESOLUTION. At step 402, a full
field of view (FOV) image is captured of the LOW_RES_IMAGE. At step
404, the LOW_RES_IMAGE is transferred to a memory of the optical
code reading system, the focus position is set to FAR and sensor
resolution is set to HI_RESOLUTION. These three action items are
preferably performed simultaneously.
[0057] At step 406, the HI_RES_IMAGE is captured and a cropped
image thereof centered with respect to the optical axis of the
optical code reading system is transferred to the memory. At step
408, which is performed simultaneously with step 406 as mega step
409, the process retrieves the LOW_RES_IMAGE stored in the memory,
and analyzes or processes the LOW_RES_IMAGE in an attempt to locate
the target feature in the LOW_RES_IMAGE. At step 410, a
determination is made as to whether the target feature in the
LOW_RES_IMAGE was found. If the target feature was not found, the
process continues to step 418.
[0058] If the target feature in the LOW_RES_IMAGE was found in step
410, the process in step 414 attempts to extract information or
decode the target corresponding to the target feature found in the
LOW_RES_IMAGE. If in step 414, the target is decoded or the
information is extracted, the result is reported to a user of the
optical code reading system in step 416 and the process terminates
at step 412.
[0059] However, if in step 414 the information is not extracted or
the target feature is not decoded due to the low resolution of the
LOW_RES_IMAGE (or if the target feature in the low resolution image
is not found at step 410), the process in step 418 locates the
target feature in the HI_RES_IMAGE. The process in step 420 then
attempts to extract information or decode the target corresponding
to the target feature found in the HI_RES_IMAGE. Simultaneously
with step 420, the focus position is set to NEAR and the sensor
resolution is set to LOW_RESOLUTION in step 422. Steps 420 and 422
are performed simultaneously as mega step 423.
[0060] If information is extracted in step 420 or the target is
decoded, the result is reported to the user of the optical code
reading system in step 416 and the process terminates at step 412.
However, if in step 420 the information is not extracted or the
target is not decoded, the process proceeds to step 402 and is
repeated until the information is extracted or the target is
decoded, until a maximum number of iterations is reached, or until
a predetermined amount of time as determined by the processor has
lapsed.
[0061] As stated above, all of the methods described herein in
accordance with the present disclosure for decoding an optical code
are performed by the processor, which may include processing
circuitry 16 and/or the processor 62, of the optical code reading
system 200. The processor executes a series of programmable
instructions for performing the described methods. The series of
programmable instructions can be stored within a memory of the
processor, a memory of the optical code reading system 200, or on a
computer-readable medium, such as a CD-ROM, floppy disc, hard
drive, etc.
[0062] An exemplary optical code reading system 200 having features
described herein is schematically illustrated by FIG. 4 and
includes an imaging device, such as a bar code reader, designated
generally by reference numeral 500. The imaging device 500 houses
the variable resolution imaging sensor 12 described above and
packaged in the form of an imaging engine 502, an illumination
source 504 having at least one LED or other light generating
device, an aiming source 506 having a light source for aiming at an
optical code (e.g., a bar code) or target to be imaged, sensor
control circuitry 14, processing circuitry 16, control circuitry
22, processor 62, range finder system 64, and communication
circuitry 508 interfaced with cable 510 for non-wirelessly
transmitting signals to a terminal 512, such as a point-of-sale
terminal. Alternatively, the optical code reading system 200 may be
designed for wireless operation.
[0063] The imaging engine 502 is configured and dimensioned for
fitting within a predetermined form factor 514 of the imaging
device 500, such as the SE1200 form factor developed by Symbol
Technologies, Inc., and includes the two-position focus system 202
with positions NEAR 204 and FAR 206. The processing circuitry 16,
control circuitry 22 and/or the processor 62 control the operation
of the imaging device 500, such as the auto-exposure system 10, the
optical zoom system 50, the means for actuating an image and decode
process upon a user pressing a trigger button 516, controlling the
illumination source 504, the aiming source 506 and the
communication circuitry 508, for operating the imaging device 500
in a particular imaging mode, such as a continuous imaging mode,
and for executing a set of programmable instructions for decoding
the imaged optical code or target or controlling operation of the
decoder 518 for decoding the imaged optical code or target. The
decoder 518 can be external to the processing circuitry 16 or the
processor 62, as shown by FIG. 4, or resident within the processing
circuitry 16 or the processor 62.
[0064] The processing circuitry 16, the control circuitry 22 and/or
the processor 62 further include a memory for storing pixel output
data and other data, such as the sets of programmable instructions
for performing the high-speed decoding methods described herein.
The processing circuitry 16, the control circuitry 22 and/or the
processor 62 further determine an imaging resolution for imaging
the optical code and control the variable resolution imaging sensor
12 either directly or via the sensor control circuitry 14 for
imaging the optical code according to the determined imaging
resolution.
[0065] The communication circuitry 508 outputs data indicative of
the decoded and/or processed optical code or target to an external
computing device, such as terminal 512, and receives data, such as
data for changing at least one operational parameter of the imaging
device 500 as known in the art. The operational parameters can also
be changed by imaging an optical code or target corresponding to at
least one operational parameter and decoding and/or processing the
imaged optical code or target, and subsequently changing the at
least one operational parameter indicative of the decoded and/or
processed optical code or target.
[0066] The described embodiments of the present disclosure are
intended to be illustrative rather than restrictive, and are not
intended to represent every embodiment of the present disclosure.
Various modifications and variations can be made without departing
from the spirit or scope of the disclosure as set forth in the
following claims both literally and in equivalents recognized in
law.
* * * * *