Variable depth of field scanning and lighting devices and methods

Various embodiments herein each include at least one of systems, methods, devices, barcode scanners, and software for variable depth of field scanning and lighting devices and methods. One such embodiment includes adjusting variable lenses on each of a plurality of barcode scanner scan-field lighting elements to a first depth of field and capturing a number of first images with a camera of a barcode scanner at the first depth of field. The method of this embodiment then outputs at least one of the number of the first images to a barcode reading process. This example method may then continue by adjusting the variable lenses of each of the plurality of barcode scanner scan-field lighting elements to a second depth of field, capturing a number of second images with the camera of the barcode scanner at the second depth of field, and then outputting at least one of the number of the second images to the barcode reading process. The adjusting, capturing, and outputting may then be repeated again in some embodiments for a third depth of field, a fourth depth of field, and onward, depending on the number of depths of field in a particular embodiment.

BACKGROUND INFORMATION

Barcode scanners are commonly at point of sale (POS) terminals to scan barcodes of products to be purchased. Barcode scanners are also deployed for other purposes, such as at kiosks to scan products for price checking, transportation check-in and boarding kiosks and terminals, and the like. Quickness and accuracy of scanning are often important barcode scanner characteristics. Factors that affect the speed and accuracy of barcode scanners include illumination of a scan field, clarity of an image, and distance of an item presented for scanning from the scanner. Current barcode scanners have fixed camera lenses for only a single depth of field and lighting, which may sometimes be altered in brightness, cannot be altered in distance it is focused.

SUMMARY

Various embodiments herein each include at least one of systems, methods, devices, barcode scanners, and software for variable depth of field scanning and lighting devices and methods. One such embodiment includes adjusting variable lenses on each of a plurality of barcode scanner scan-field lighting elements to a first depth of field and capturing a number of first images with a camera of a barcode scanner at the first depth of field. The method of this embodiment then outputs at least one of the number of the first images to a barcode reading process. This example method may then continue by adjusting the variable lenses of each of the plurality of barcode scanner scan-field lighting elements to a second depth of field, capturing a number of second images with the camera of the barcode scanner at the second depth of field, and then outputting at least one of the number of the second images to the barcode reading process. The adjusting, capturing, and outputting may then be repeated again in some embodiments for a third depth of field, a fourth depth of field, and onward, depending on the number of depths of field in a particular embodiment. Further, the adjusting may include not only the lighting arrays to illuminate at a particular depth of field, but also a lens on the camera to that same depth of field in a synchronous manner.

Another method embodiment includes determining a distance from a known point to an item presented for scanning by a barcode scanner and adjusting variable lenses on each of a plurality of barcode scanner scan-field lighting elements based on the determined distance. A lens on a camera may also be adjusted in some embodiments to enable the camera to capture images at the same depth of field.

A further embodiment is in the form of a barcode scanner. The barcode scanner includes at least one camera and at least one scan field light array. Each scan field light array is arranged to illuminate a scan field of one of the cameras of the at least one camera, the lighting elements of each scan field light array including variable lenses that focus light of the lighting elements at variable depths of field. The barcode scanner further includes a processor, a memory device, and a barcode reading process stored in the memory that is executable by the processor. Additional instructions are stored on the memory device and are executable by the processor to independently perform data processing activities with regard to each of the scan field lighting arrays. The data processing activities in some embodiments include adjusting the variable lenses on each lighting element of at least one scan field lighting array to a first depth of field, capturing a number of first images with at least one camera at the first depth of field, and outputting at least one of the first images to the barcode reading process. The adjusting, capturing, and outputting may then be repeated a number of time equal to a number of depth of field to be considered in scanning according to the specifics of a particular embodiment. The data processing activities may then be restarted.

DETAILED DESCRIPTION

Various embodiments herein each include at least one of systems, methods, devices, barcode scanners, and software for variable depth of field scanning and lighting devices and methods. These embodiments generally increase the overall performance of barcode imaging scanners by synchronizing camera lens depth of field and illumination intensity. This can be achieved in some embodiments by using variable lens technology, such as a liquid lens available from Varioptic of Lyon, France. Some embodiments use one or more distance sensors while other embodiments may use preset distances the focus of the camera depth of field (DOF) and focused intensity of the illumination that change simultaneously to achieve illumination synchronized with camera DOF.

One such preset distance embodiment is in the form of a method. In this method the DOF and Illumination change at preset distances from scanning elements of a scanner, such as a 7879 bioptic scanner available from NCR Corporation of Duluth, Ga. Three preset distances may be utilized and referred to as Near. Mid, and Far. The DOF will change as the frames on the camera changes. The change in DOF together with the Illumination is synchronized in such embodiments with the frames rate of the camera. For example, each second, 30 frames can be captured by some cameras. In such embodiments having a 30 frames per second capture rate, 10/30 frames may be dedicated to the near DOF and illumination, 10/30 frames may be dedicated to Mid DOF and illumination, 10/30 frames may be dedicated for Far. The sequence of change in DOF and illumination is generally constant. 1000 millisecond=1 second, 1000 milliseconds/30 (frame per second), the frame will change at 33.33 seconds. On the first and second frames in such embodiments, the DOF may be set for the near DOF and illumination, on the third and fourth frame the DOF may be set for the Mid DOF and illumination, on the fifth and sixth frame the DOF may be set for the Far DOF and illumination. The cycle will continue until one-second is reached which has 30 frames. The change in DOF and illumination are controlled, in some embodiments, by a change in voltage to the lens which enables the lens to change in shape or arrangement thus resulting in different DOF and illumination.

Another method embodiment utilizes a distance sensor or determination process based on image processing of images captured from different angles with regard to an item presented for scanning. In some such embodiments, the change in DOF and illumination relies on a distance sensor (acoustic/sonar, camera, or any other sensor) to determine the position of the object presented for scanning. The use of distance sensor may dictate the change in DOF and illumination. In this method the frame rate is not compromised since it will be fixed at 30 fps. The DOF and illumination in such embodiments automatically adjust as the items are place anywhere on the scan zone.

These and other embodiments are described herein with reference to the figures.

The functions or algorithms described herein are implemented in hardware, software or a combination of software and hardware in one embodiment. The software comprises computer executable instructions stored on computer readable media such as memory or other type of storage devices. Further, described functions may correspond to modules, which may be software, hardware, firmware, or any combination thereof. Multiple functions are performed in one or more modules as desired, and the embodiments described are merely examples. The software is executed on a digital signal processor. ASIC, microprocessor, or other type of processor operating on a system, such as a personal computer, server, a router, or other device capable of processing data including network interconnection devices.

FIG. 1is a diagram illustrating components of a checkout station100having a scanner108, according to an example embodiment. It is to be noted that the checkout station100is shown schematically in greatly simplified form, with example components relevant to understanding various embodiments herein. The same situation may be true for the other various components of the checkout station100. Note that the checkout station100may include more or fewer components in some embodiments.

Furthermore, the various components included in theFIG. 1as illustrated and arranged are provided for illustration purposes only. It is to be noted that other arrangements with more or fewer components are possible without departing from the contributions herein, in particular with regard to automatic and remote scanner configuration.

Moreover, the methods and scanner presented herein and below may include all or some combination of the components shown in the context of the checkout station100. Further, although a checkout station100is illustrated as including a scanner108, the scanner108may be a standalone element or an element of other systems, devices, and terminals in other embodiments. Examples of other terminal-types that may include a scanner108are self-service terminals (SSTs), clerk operated and self-service library checkout stations, time-keeping terminals, and the like.

The methods of some embodiments are programmed as executable instructions in memory and/or non-transitory computer-readable storage media and executed on one or more processors associated with the components and devices herein. Some such components may be firmware.

The checkout station100includes one or more POS displays102that present information of a POS system104coupled to the one or more POS displays. Information presented by the one or more POS displays includes information relevant in a retail context and with regard to operation of the checkout station. The checkout station100also includes the scanner108.

The scanner108may be referred to as a barcode scanner as that is the task most commonly associated with such devices. During operation of the checkout station100, items are placed within a scan field of the scanner108. One or more scanning modules118of the scanner108, such as a camera, which may include a variable lens in some embodiments, a laser scanner, or both, then scan a barcode of an item presented for scanning and information read therefrom is communicated to the POS system104. The POS system104then uses that data to identify the item presented within the scan field and performs an additional function. The additional function may include a price lookup and addition of the item to a list of items to be purchased, which may be presented on the one or more POS displays102.

The scanner108may include one or more scan fields, such as two scan fields of bi-optic scanners that are commonly seen in grocery and discount retail outlets. In addition to the scanning module118, the scanner108may include various other components. The various other components may include an integrated scale110such as may be used in a grocery outlet to weigh produce and one or both of a speaker112and display lighting116to output audio and visual signals such as signals of (un)successful scans. The scanner108may also include one or more scan field lighting modules120that may be turned on and off and adjusted based on a detected presence of an item to be scanned, a distance from a scanning surface of an item presented for scanning. In some embodiments, lighting elements of the scan field lighting modules120may include variable lenses to focus light at certain depths of field based on a programmatic cycle through specific depths, measured or approximated distances from a camera to an item presented for scanning within a scan field, and the like.

In some embodiments, the scanner108includes a distance determining module119and a lighting controller121. As illustrated, the distance determining module119and the lighting controller121are illustrated as hardware devices, such as firmware, ASICs. and the like. However, in other embodiments, one or both of the distance determining module119and the lighting controller121may be present in software130stored in the memory and be executed by the processor122.

The distance determining module119determines a distance between a scanning surface and an item presented for scanning. In some embodiments, the distance determining module includes an ultrasonic distance measuring device as are commonly available as integrated circuits. In some embodiments where the scanner108is a bi-optic scanner, there may be two distance determining modules119, present on or in proximity to each of the two scanning surface. The distance determining module119determines the distance in such embodiments and provides the distance to the lighting controller121.

In other embodiments, the distance determining module119may determine a distance between a scanning surface and an item presented for scanning based on where a surface of an item presented for scanning appears in an image received from the scanning module118with regard to one or more known distances within a field of view of a camera of the scanning module118. For example, when the scanner108is a bi-optic scanner, the scanner108typically includes two scanning surfaces that are approximately perpendicular to one another—one scanning surface oriented vertically and the other horizontally. An image captured by a scanning module118of the horizontal scanning surface is processed in such embodiments to determine a distance of a surface of an item presented for scanning that is sufficiently parallel to the vertical scanning surface to be scanned by the scanning module118of the vertical scanning surface. An edge of the surface of the item presented for scanning by the vertical scanning surface may be detected by the image processing and a location of the edge is determined with regard to one or more known distance locations within the field of view of the scanning module118camera of the horizontal scanning surface. A similar process is also performed by the distance determining module119with regard to determining a distance between the item presented for scanning and a horizontal scanning surface except for the image processing is performed with regard to an image captured by a scanning module118camera of the vertical scanning surface.

In some embodiments, a bi-optic scanner may include two distance determining modules119—one for each scanning surface. In other embodiments, a single distance determining module119may be shared between the two scanning surfaces.

FIG. 2is a scanner200diagram, according to an example embodiment. The illustrated scanner200is a an example of a hi-optic scanner on which image processing based distance determination is performed by a distance determining module, such as the distance determining module119discussed above with regard toFIG. 1. The scanner200is illustrated with regard to performing image processing based distance determination to determine a distance between a vertical scanning surface and a surface of an item presented for scanning based on an image captured by a camera202from the direction of the horizontal scanning surface. However, the same processing can be performed to determine a distance between the horizontal scanning surface and a surface of the item presented for scanning, although the image would be capture from a direction of the vertical scanning surface.

An image captured by the horizontal camera204of a field of view206. The camera204field of view206includes a known reference point208. The distance may be measured distance that may be used identify a lighting setting for one or more of the lights210,212. However, in some embodiments, the distance between the scanning surface and the item presented for scanning is determined as whether it is less or greater than the known reference point208. As illustrated inFIG. 2, the item is greater than the known reference point208. This information may then be used to identify a lighting setting, or be transmitted to another module to make the determination. Some embodiments may include more than one known reference point208. In some further embodiments, a known reference point is a distance threshold range which may indicate each of two or more lights or lighting arrays are to be illuminated.

FIG. 3is a scanner300diagram, according to an example embodiment. The scanner300is provided for purposes of illustrating an embodiment including an ultrasonic distance measuring device302. Although the scanner300is illustrated as being a bi-optic scanner, the scanner300may instead have only a single scanning surface. The illustrated bi-optic scanner300includes only one ultrasonic distance measuring device302. However, some embodiments may include an ultrasonic distance measuring device302on each of the scanning surfaces.

The ultrasonic distance measuring device302measures a distance between a scanning surface and the item306presented for scanning. The measured distance may then be provided to a lighting controller to set and adjust scan field lighting.

FIG. 4illustrates three depths of field from a camera, according to an example embodiment. The three illustrations include presentment of objects at positions1,2, and3. Each object is illustrated at a different distance from a camera. The cone coming from each illustrated camera indicates the field of view and the dark oval represents a location distance where each respective object should be placed for scanning at a proper depth of field for a given setting or measurement.

FIG. 5is a block diagram of a computing device, according to an example embodiment. In one embodiment, multiple such computer systems are utilized in a distributed network to implement multiple components in a transaction based environment. An object-oriented, service-oriented, or other architecture may be used to implement such functions and communicate between the multiple systems and components. One example computing device in the form of a computer510, may include a processing unit502, memory504, removable storage512, and non-removable storage514. Memory504may include volatile memory506and non-volatile memory508. Computer510may include—or have access to a computing environment that includes—a variety of computer-readable media, such as volatile memory506and non-volatile memory508, removable storage512and non-removable storage514. Computer storage includes random access memory (RAM), read only memory (ROM), erasable programmable read-only memory (EPROM) & electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD ROM), Digital Versatile Disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium capable of storing computer-readable instructions. Computer510may include or have access to a computing environment that includes input516, output518, and a communication connection520. The computer may operate in a networked environment using a communication connection to connect to one or more remote computers, such as database servers. The remote computer may include a personal computer (PC), server, router, network PC, a peer device or other common network node, or the like. The communication connection may include a Local Area Network (LAN), a Wide Area Network (WAN) or other networks.

Computer-readable instructions stored on a computer-readable medium are executable by the processing unit502of the computer510. A hard drive, CD-ROM, and RAM are some examples of articles including a non-transitory computer-readable medium. For example, a computer program525capable of providing a generic technique to perform access control check for data access and/or for doing an operation on one of the servers in a component object model (COM) based system according to the teachings of the present invention may be included on a CD-ROM and loaded from the CD-ROM to a hard drive. The computer-readable instructions allow computer510to provide generic access controls in a COM based computer network system having multiple users and servers.

FIG. 6is a block flow diagram of a method600, according to an example embodiment. The method600is an example of a method that may be performed on a scanner108ofFIG. 1.

The method600includes determining602a distance from a known point to an item presented for scanning by a barcode scanner adjusting604variable lenses on each of a plurality of barcode scanner scan-field lighting elements based on the determined distance. In some embodiments, determining602the distance from a known point to an item presented for scanning by the barcode scanner includes measuring a distance from a distance sensor to the item presented for scanning. The distance may be measured in some embodiments by an acoustic/sonar device.

In some further embodiments, the barcode scanner is a bioptic imaging scanner including a first camera under a horizontal surface of the barcode scanner and a second camera behind a vertical surface. In some such embodiments, the barcode scanner includes a horizontal scan field lighting array that illuminates a scan field of the first camera and a vertical scan field lighting array that illuminates a scan field of the second camera. The determining602of the distance from a known point to an item presented for scanning by the barcode scanner in some of these embodiments includes approximating a distance from the vertical surface to the item presented for scanning by processing an image captured by the camera under the horizontal surface in view of image locations, each image location calibrated to a known distance. Further, determining602the distance from a known point to an item presented for scanning by the barcode scanner may further include approximating a distance from the horizontal surface to the item presented for scanning by processing an image captured by the camera behind the vertical surface in view of image locations, each image location calibrated to a known distance.

The method600also typically includes capturing an image with the camera and outputting the image to a barcode reading process of the barcode scanner.

FIG. 7is a block flow diagram of a method700, according to an example embodiment. The method700includes adjusting702variable lenses on each of a plurality of barcode scanner scan-field lighting elements to a first depth of field, capturing704a number of first images with a camera of a barcode scanner at the first depth of field, and outputting706at least one of the number of the first images to a barcode reading process. The method700further includes repeating the adjusting708,714, capturing710,716, and outputting712,718for each additional depth of field of the particular embodiment. Although the method700is illustrated and described with regard to three depths of field, other embodiments may include only two depths of field and others may include four or more. The method700may then restarts720to iterate the process and may continue to do so essentially indefinitely while a device upon which the method700is executing is powered on. However, in other embodiments, the method700may be started and stopped intermittently when no items are presented for scanning or a terminal or kiosk with which the scanner is deployed is in a sleep mode.

In some embodiments of the method700, adjusting702,708,714the variable lenses to each of the first, second, and third depths of field further includes adjusting a variable lens of the camera to the same respective depth of field. The depths of field of the variable lenses may be adjusted702,708,714in some embodiments by changing voltages of electrical current respectively applied thereto. The voltages applied to the variable lenses to adjust702,708,714the variable lenses to the first, second, and third depths of field are identified in some embodiments based on data stored in a memory of the barcode scanner. For example, a lookup table may be stored in memory that provides a voltage associated with a certain distance measurement or a fixed-depth of field setting.

In some embodiments, the numbers of first, second, and third images captured are equal. The numbers of first, second, and third images may be set as a configuration setting based on a frame rate of the camera divided by the number of depths of field at which images are captured.

In some embodiments of the method700, the variable lenses are variable focus lenses. The variable focus lenses in some embodiments are liquid lenses.