US8016196B2 - Decoder board for an optical reader utilizing a plurality of imaging formats - Google Patents

Decoder board for an optical reader utilizing a plurality of imaging formats Download PDF

Info

Publication number
US8016196B2
US8016196B2 US12/754,368 US75436810A US8016196B2 US 8016196 B2 US8016196 B2 US 8016196B2 US 75436810 A US75436810 A US 75436810A US 8016196 B2 US8016196 B2 US 8016196B2
Authority
US
United States
Prior art keywords
module
image data
frame
imaging
imaging module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
US12/754,368
Other versions
US20100187310A1 (en
Inventor
Timothy P. Meier
Robert C. Gardiner
Jeffrey Dean Harper
John Izzo
Thomas J. Koziol
Andrew Longacre, Jr.
John A. Pettinelli, Jr.
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hand Held Products Inc
Original Assignee
Hand Held Products Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hand Held Products Inc filed Critical Hand Held Products Inc
Priority to US12/754,368 priority Critical patent/US8016196B2/en
Publication of US20100187310A1 publication Critical patent/US20100187310A1/en
Priority to US13/230,516 priority patent/US8622303B2/en
Application granted granted Critical
Publication of US8016196B2 publication Critical patent/US8016196B2/en
Priority to US14/147,992 priority patent/US9152835B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10554Moving beam scanning
    • G06K7/10564Light sources
    • G06K7/10574Multiple sources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10821Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
    • G06K7/10881Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices constructional details of hand-held scanners
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10821Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
    • G06K7/1098Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices the scanning arrangement having a modular construction

Definitions

  • the invention relates to optical readers in general and particularly to a decoder board for an optical reader that employs one of a plurality of image sensor devices that provide a plurality of data formats.
  • Decodable indicia such as bar codes and OCR decodable characters are finding increased use in an ever expanding variety of applications.
  • bar codes are being applied to paper substrate surfaces, plastic bags, glass, and directly on finished articles.
  • Decodable indicia that can be applied deliberately to objects include a variety of formats, comprising geometrical features (e.g., one-dimensional (1D) symbols, two-dimensional (2D) symbols), and features of tonality and/or color (e.g., symbols comprising gray scales and symbols comprising colors). Decodable indicia can also occur naturally, for example in the form of biometric indicia such as fingerprints, retinal patterns, facial features and the like. Some of these natural indicia may also be applied, deliberately or inadvertently, to other surfaces, for example as fingerprints.
  • imaging module is intended in one embodiment to describe the image sensor device itself.
  • the sensor when disposed within a housing, and including, as required, imaging optics, lenses, filters and the like, and electronic circuitry used to operate the image sensor device or used in conjunction with the image sensor device, is referred to as an optical reader.
  • one type of decoder module has been used with imaging modules providing data having a first format (for example, 1D data), and another type of decoder module has been used with imaging modules providing data having a second format (for example, 2D data).
  • the computational power required to decode more densely encoded decodable indicia causes decoder modules suitable for such decoding to be relatively expensive as compared to decoder modules with only sufficient computational power to decode less complex decodable indicia. This relationship is generally referred to as a “price-performance trade-off.”
  • a number of problems in imaging different decodable indicia arise because of the circumstances of use of the decodable indicia. For example, where decodable symbols or characters have been applied to particularly reflective “shiny” surfaces (such as glass, plastic, or metallic surfaces), “specular reflection” decode failures have been observed. “Specular reflection” occurs where a light ray incident on a highly reflective (mirror) surface is reflected at an angle substantially equal to an angle of incidence measured with respect to a direction that is substantially normal to the surface. In optical readers, light sources are positioned to emit light along a path closely adjacent a centrally located imaging axis.
  • An optical reader light is directed at a reflective target and, therefore, the illumination light tends to be reflected secularly in the direction of the reader's photodetector elements. Specular reflection can result in the captured image data failing to exhibit adequate contrast between dark and light markings of a decodable indicia.
  • light sources for illuminating a target are being positioned in closer proximity with a photodetector element of the reader, thereby rendering the modem reader more susceptible to specular reflection read failures.
  • FIGS. 1 a - 1 i illustrate exemplary embodiments of optical readers comprising a microprocessor-based decoder module according to the invention
  • FIGS. 2 a - 2 f illustrate exemplary embodiments of microprocessor-based decoder modules according to the invention
  • FIG. 2 g is a timing diagram illustrating an exemplary relation for control signals, exposure periods and frame acquisition, according to the invention
  • FIGS. 2 h - 2 j illustrate additional exemplary embodiments of microprocessor-based decoder modules according to the invention
  • FIGS. 3 a - 3 d are drawings that illustrate the features of imaging modules that are useful for practicing the invention.
  • FIGS. 4 a - 4 c are flow diagrams depicting exemplary methods of practicing the invention.
  • FIGS. 4 d - 4 e illustrate examples of images captured using a plurality of imaging sensors
  • FIGS. 4 f - 4 g are flow diagrams illustrating examples of the image data acquisition and decoding process according to the invention.
  • FIG. 4 h is an exemplary flow diagram illustrating an example of identification of an imaging module according to the invention.
  • FIG. 4 i is an exemplary flow diagram illustrating an example of locating a selected imaging module according to the invention.
  • FIGS. 5 a - 5 e illustrate exemplary optical readers that embody features of the invention
  • FIGS. 6 a - 6 b are schematic diagrams illustrating exemplary means and methods of connecting a plurality of imaging modules to a microprocessor-based decoder module of the invention
  • FIG. 6 c is a schematic diagram of an illustrative hardware connection of a microprocessor-based decoder module of the invention with a plurality of imaging modules, and the relations of code modules present when the microprocessor is operating, according to principles of the invention;
  • FIG. 6 d is a schematic diagram of an illustrative memory map showing the relationships between and among computer code modules present in a microprocessor-based decoder module during operation, according to principles of the invention
  • FIGS. 7 a - 7 b schematically illustrate features of exemplary imaging modules useful for practicing the invention
  • FIGS. 8 a - 8 b schematically illustrate features of an illustrative decoding algorithm and an equivalent decoder circuit embodiment that operate according to principles of the invention
  • FIGS. 9 a - 9 d illustrate embodiments of microprocessor-based decoder modules and products comprising the same, according to principles of the invention
  • FIG. 10 a illustrates an embodiment of a microprocessor-based decoder module that includes an audio output module that allows the microprocessor-based decoder module to communicate with a user in natural language, according to principles of the invention
  • FIG. 10 b illustrates an embodiment of a microprocessor-based decoder module that includes an audio input module that permits a user using natural language to communicate commands to the microprocessor-based decoder module, according to principles of the invention
  • FIG. 10 c illustrates interconnections that exist among components of an illustrative system providing bar code to text to speech functionality, according to principles of the invention.
  • FIGS. 10 d - 10 f illustrate flow diagrams that show methods of speech enunciation that embody the invention.
  • the invention relates to a circuit component for an optical reader.
  • the optical reader utilizes a selected one of a one-dimensional (1D) imaging module and a two-dimensional (2D) imaging module.
  • the circuit component comprises a microprocessor-based decoder module that, when operative, decodes a frame of image data provided by a selected one of the one-dimensional (1D) imaging module and the two-dimensional (2D) imaging module.
  • the decoding is responsive to information selected from one of information relating to the selected imaging module and information relating to the frame of image data.
  • the information relating to the selected imaging module comprises at least one of a bus address of the module, an ID code of the module, a model identifier of the module, and an electrical characteristic of the module.
  • the microprocessor-based decoder module when operative, determines which of the 1D imaging module and the 2D imaging module provides a particular frame of image data.
  • the microprocessor-based decoder module when operative, decodes the frame of image data according to the determination of which imaging module provided the frame.
  • the information relating to the frame of image data comprises information representing a frame size, information identifying a frame format, information identifying a word size, and information identifying a source of the frame.
  • the microprocessor-based decoder module decodes the frame of image data in a time period less than or equal one second. In a more preferred embodiment, the time period is less than or equal to 1/30th of a second. In a still more preferred embodiment, the time period is less than or equal to 1/270th of a second.
  • the microprocessor-based decoder module comprises a microprocessor, a random access memory (RAM), and a read only memory (ROM).
  • the microprocessor-based decoder module comprises at least one of a field programmable gate array (FPGA), a programmable logic device (PLD), a complex programmable logic device (CPLD), and an application-specific integrated circuit (ASIC).
  • the microprocessor-based decoder module comprises an integrated circuit device having integrated therein a microprocessor, an analog-to-digital converter, a digital-to-analog converter, a direct memory access (DMA) channel, a bi-directional communication line for communication with an imaging module, and a channel for data receipt from an imaging module.
  • the integrated circuit device comprises a selected one of a semiconductor, an optical material, and a photonic bandgap material.
  • the invention includes an optical reader comprising the circuit component.
  • the invention features, a method of decoding a frame of image data.
  • the frame of image data has one of a 1D format and a 2D format.
  • the method comprises the steps of providing at least one imaging module selected from a one-dimensional (1D) imaging module and a two-dimensional (2D) imaging module; acquiring a frame of image data in the selected imaging module; communicating the frame of image data to a microprocessor-based decoder module; determining the format of the frame of image data; as necessary, activating at least one command to prepare the microprocessor-based decoder module to decode the communicated frame of image data; and decoding the communicated frame of imaging data accordingly.
  • the format of the frame of image data is determined in response to one of information about the selected imaging module that acquired the communicated frame of imaging data, and information about the frame of image data.
  • the decoding step comprises converting 2D image data to at least one 1D representation of image data.
  • the decoding step further comprises converting the at least one 1D representation of image data to transition location information.
  • the steps of converting 2D image data to at least one 1D representation of image data, and converting the at least one 1D representation of image data to transition location information are performed iteratively.
  • the step of determining which of the 1D and the 2D imaging modules acquired the communicated frame further comprises evaluating a parameter characteristic of one of the 1D and the 2D imaging modules.
  • the decoding step further comprises executing a selected one of at least one computer instruction which when operating on a computer decodes a frame of image data acquired by the 1D imaging module and at least one computer instruction which when operating on a computer decodes a frame of image data acquired by the 2D imaging module.
  • the at least one computer instruction which when operating on a computer decodes a frame of image data acquired by the 1D imaging module comprises a plurality of computer instructions executed in sequence.
  • the at least one computer instruction which when operating on a computer decodes a frame of image data acquired by the 2D imaging module comprises a plurality of computer instructions executed in sequence.
  • a time period of less than or equal to one second elapses in performing the steps of determining which of the selected imaging modules acquired the communicated frame of imaging data; as necessary, activating at least one command to prepare the microprocessor-based decoder module to decode the communicated frame of image data; and decoding the communicated frame of imaging data accordingly.
  • the time period is less than or equal to 1/30th of a second. In a more preferred embodiment, the time period is less than or equal to 1/270th of a second.
  • the invention in another aspect, relates to a computer program, recorded on a machine-readable medium.
  • the computer program when operative on a programmable computer, performs the steps of receiving a frame of image data acquired by a selected one of a 1D imaging module and a two-dimensional (2D) imaging module; determining which of the selected imaging modules acquired the received frame of imaging data; and decoding the frame of imaging data accordingly.
  • the decoding step comprises converting 2D image data to at least one 1D representation of image data. In one embodiment, the decoding step further comprises converting the at least one 1D representation of image data to transition location information. In one embodiment, the steps of converting 2D image data to at least one 1D representation of image data, and converting the at least one 1D representation of image data to transition location information are performed iteratively. In one embodiment, the invention includes an optical reader comprising the computer program.
  • the invention features a computer program, recorded on a machine-readable medium.
  • the computer program comprises a module that receives a frame of image data acquired by a selected one of a 1D imaging module and a two-dimensional (2D) imaging module; a module that determines which of the selected imaging modules acquired the received frame of imaging data; and a module that decodes the frame of imaging data accordingly.
  • the invention includes a dynamically linked library module for communicating information from the computer program to the selected imaging module.
  • the invention includes a dynamically linked library module for communicating image data from the selected imaging module to the module of the computer program that receives a frame of image data.
  • the invention includes an optical reader comprising the computer program.
  • the invention relates to a circuit board component for an optical reader.
  • the optical reader utilizes at least one of a one-dimensional (1D) imaging module and a two-dimensional (2D) imaging module.
  • the circuit board comprises a circuit board substrate having at least one plane of electrical connecting structures thereon; and an integrated circuit comprising a microprocessor-based decoder mounted on and electrically connected to the circuit board substrate to form a circuit board component, that, when operative, decodes a frame of image data provided by a selected one of the one-dimensional (1D) imaging module and the two-dimensional (2D) imaging module.
  • the circuit board component further comprises a connector in electrical communication with the integrated circuit.
  • the connector provides the ability to demountably electrically connect the integrated circuit and at least one of the 1D imaging module and the 2D imaging module.
  • the circuit board component further comprises at least one of the 1D imaging module and the 2D imaging module.
  • the invention includes an optical reader comprising the circuit board component.
  • the invention features an electrical component for an optical reader.
  • the optical reader utilizes at least one of a one-dimensional (1D) imaging module and a two-dimensional (2D) imaging module.
  • the electrical component comprises means for, when operative, decoding a frame of image data provided by a selected one of the one-dimensional (1D) imaging module and the two-dimensional (2D) imaging module.
  • the electrical component further comprises connector means, in electrical communication with the electrical component that provides the ability to demountably electrically connect the electrical component and at least one of the 1D imaging module and the 2D imaging module.
  • the electrical component further comprises at least one of the 1D imaging module and the 2D imaging module.
  • the invention includes an optical reader comprising the electrical component.
  • Imaging modules that provide different formats of image data are useful in obtaining images of decodable indicia having different attributes, such as the geometrical, tonal, and color attributes described above.
  • the present invention provides a microprocessor-based decoder module for decoding data in a selected format of a plurality of formats as provided by a selected one of a plurality of different types of imaging modules.
  • the microprocessor-based decoder module is useful for decoding data in a selected format of a plurality of formats as provided by a selected one of a plurality of different types of imaging modules in hand held optical readers.
  • Other uses will be apparent to those of ordinary skill from the description of the microprocessor-based decoder module presented herein.
  • microprocessor-based decoder modules that accept and decode a frame of image data in any of a plurality of formats are described below.
  • the image data is provided by a selected one of a plurality of sensors or imaging modules at least two of which provide a frame of image data in a format different from the format of the image data provided by the other, recognizing that only one such sensor need be available for use at any particular time.
  • a plurality of sensors can be available simultaneously, while in other embodiments, a single selected sensor is available.
  • a microprocessor-based decoder module according to the invention can determine how to decode a specific image frame that is received from an active sensor.
  • the sensors can include, but are not limited to, 1D imaging modules, 2D imaging modules, gray scale imaging modules, color imaging modules, and biometric imaging modules. Optical readers comprising such microprocessor-based decoder modules are also described herein.
  • Some of the benefits relate to improvements in business methods, including such advantages as: having fewer models of parts that need to be manufactured, inventoried, and made available for product assembly and maintenance; having fewer models of parts for which personnel need to be trained, thereby improving manufacturing efficiency, maintenance efficiency, and improved knowledge and familiarity of the personnel of the features and required practices associated with a lesser number of models of parts that are handled more frequently; and opportunities to obtain advantageous commercial terms (e.g., volume discounts, better service, and the like) as a consequence of ordering larger quantities of components or parts used in making a specific quantity of a single model of a product as compared to lesser quantities of particular components required if the total same number of units were to be produced in a plurality of discrete models each using different components or parts.
  • advantageous commercial terms e.g., volume discounts, better service, and the like
  • Additional business method benefits can accrue from the use of a single microprocessor-based decoder module that can be “personalized” or “reprogrammed” to accept and decode frames of image data having different formats from a plurality of different sensors.
  • some of the advantages that can accrue include: the ability to add additional sensor models and types as such sensors are developed, including sensors having formats that may be new and/or different from existing formats, through the ability to provide a dynamically linked library module (e.g., a .dll or .ocx module) that provides either or both of communicating information from a computer program operating on the microprocessor-based decoder module to the imaging module, and communicating image data from the imaging module to a module of the computer program operating on the microprocessor-based decoder module that receives a frame of image data; quickly and conveniently switching operation from a first sensor providing a frame of image data of a first format to a second sensor providing a frame of image data of a second format by the simple expedient of redirecting the microprocessor
  • FIGS. 1 a - 1 i Embodiments of optical readers having more than one imaging module are shown in FIGS. 1 a - 1 i .
  • a gun style optical reader 5 - 1 is shown including first and second imaging modules 10 a and 10 b incorporated in housing 7 .
  • Imaging modules 10 can be of the type shown in FIGS. 3 a - 3 d .
  • 3 a and 3 c includes a support assembly 80 having a containment section 81 and a retainer section 82 , a first circuit board 14 a carrying an image sensor 32 , a second circuit board 14 b , illumination LEDs 16 aiming LEDs 18 , an optical plate 26 carrying aiming and illumination optics 25 , 27 , and support posts 84 holding the various components of the module together.
  • an imaging module can comprise as little as the image sensor 32 alone.
  • Further details of imaging module 10 - 1 are described in application Ser. No. 10/092,789 filed Mar. 7, 2002 entitled “Optical Reader Imaging Module,” (now U.S. Patent Publication No. 2003/0029917) which is hereby incorporated herein by reference in its entirety. As indicated by FIGS.
  • imaging modules 10 can be built as a modularly installable self-contained unit. That is, module 10 can be assembled into the packaged form shown in FIGS. 3 a and 3 b at an assembly location prior to being installed in a cavity defined by reader housing 7 .
  • Imaging module 10 can be screw mounted on any rigid member within housing 7 in the manner described in application Ser. No. 10/092,789 filed Mar. 7, 2002, entitled: “Optical Reader Imaging Module,” (now U.S. Patent Publication No. 2003/0029917) incorporated herein by reference above.
  • Module 10 can include screw holes 810 for facilitating mounting of module 10 on a rigid member.
  • support assembly 80 of FIG. 3 d support assembly 80 can include wings 80 w having screw holes 810 .
  • Reader 5 can include a main circuit board 15 or “mother board” which includes control circuit circuitry as described in detail in connection with FIGS. 2 a - 2 j .
  • a plurality of imaging modules 10 can be mounted to a rigid member provided by a common main circuit board 15 . Imaging modules 10 can be interfaced with mother board 15 with use flex strip connectors 17 known in the art.
  • Module 10 a and module 10 b are disposed in a common cavity 6 .
  • a wall 8 formed in housing 7 dividing cavity 6 into two spaces would not create two separate cavities since cavity 6 of reader 5 - 1 would still be delimited by the common outer peripheral wall of housing 7 .
  • Incorporating more than one imaging module 10 in an optical reader housing 7 yields a number of advantages.
  • One benefit is that the presence of a plurality of imaging modules 10 of different types permits a single optical reader to capture images from different kinds of decodable indicia.
  • a second decoding attempt can be made by capturing and subjecting to decoding image captured via actuation of second imaging module 10 b .
  • reader 5 can be actuated to capture and subject to decoding a frame of image data captured by actuation of an image sensor 32 of a first module 10 a and illumination LEDs 16 of a second imaging module 10 b .
  • the spacing between illumination LEDs 16 of a second module 10 b and an image sensor 32 of a first imaging module 10 a renders the frame of image data capture by the described method substantially impervious to specular reflection image degradation.
  • image data of several frames captured by actuation of several different imaging modules can be combined, by one of several possible image frame combination methods, to yield a larger frame of image data.
  • the larger image representation is yielded by combining multiple frames of image data and can be subjected to decoding, thereby facilitating decoding of larger decodable indicia or multiple decodable indicia printed over a large area of a target substrate. Specular reflection avoidance and frame image combination methods will be described in greater detail herein.
  • reader 5 - 2 comprises three imaging modules including a first imaging module 10 a , second imaging module 10 b and third imaging module 10 c each having a respective imaging axis 11 a , 11 b , and 11 c .
  • the imaging axes of reader 5 - 2 of FIGS. 1 c and 1 d are in converging relation. In other embodiments, the axes can be in parallel relation or in diverging relation.
  • Reader 5 - 2 Configuring reader 5 - 2 so that modules 10 are in converging relation assures that each of a reader's imaging modules ( 10 a , 10 b , and 10 c in reader 5 - 2 ) are positioned to capture images corresponding to substantially the same area of a target substrate. Accordingly, as will be explained in further detail herein readers 5 - 1 and 5 - 2 as shown in FIGS. 1 a - 1 d are particularly well suited for reducing specular reflection misreads.
  • dumbbell style multiple imaging module optical reader 5 - 5 is described.
  • Dumbbell reader 5 - 5 is a reader including three housing portions 7 and each defining a cavity 6 .
  • Reader 5 - 5 of FIGS. 1 e and 1 f includes a central handle 19 which supports a pair of laterally disposed head sections 20 .
  • Handle 19 may include a thumb-actuated trigger 13 t .
  • Installed in each head section 20 is an imaging module 10 which may be of the type described in connection with FIGS. 3 a - 3 d .
  • Imaging module 10 of reader 5 - 5 as in the case of readers 5 - 1 , 5 - 2 , 5 - 3 , and 5 - 4 may be screw mounted on any rigid member within head sections 20 .
  • Ball and socket connectors 21 may be provided, for example, by a ball and socket connector of a type available from R-A-M Mounting Systems, Inc. of Chandler Ariz. Ball and socket connectors 21 may include mechanical detent mechanisms providing feel feedback as to the position of head section 20 so that a user may click head sections 20 into one or more normally defined positions.
  • Flexible cable 18 as shown in FIGS. 1 e and 1 f can be disposed to provide electrical communication between modules 10 and a main circuit board 15 within a cavity defined by a handle portion of housing 7 .
  • Main circuit board 15 of reader 5 - 5 may carry components of a multiple module electrical circuit, e.g. circuit 105 described with reference to FIG. 2 f.
  • handle 19 of dumbbell style reader 5 - 7 includes a central aperture 19 a which is fittable about post 45 .
  • Handle 19 includes knob actuated bolt 46 for securing dumbbell style reader 5 - 6 against post 45 .
  • Post 45 in the embodiment of FIG. 1 g is part of a presentation style reader 5 - 7 which, in addition to including detachable dumbbell style reader 5 - 6 further includes stand 47 including knob actuated bolt 48 for enabling a vertical position of post 45 to be adjusted, and top head section 20 a disposed at a top of post 45 .
  • Head section 20 a may be mounted to post 45 with use of ball and socket connector 21 .
  • Dumbbell style optical reader 5 - 6 may be removed from post 45 so that dumbbell style reader 5 - 6 can be used in a hand held mode.
  • knob actuated bolt 48 is loosened and post 45 is removed from stand 47 .
  • Knob actuated bolt 46 is then loosened and dumbbell style reader 5 - 6 is removed from post 45 to allow hand held use.
  • dumbbell style reader 5 - 5 is particularly well suited for use in applications wherein specular reflection read failures can be expected.
  • dumbbell style reader 5 - 5 is shown in a mode wherein head sections 20 are canted in a position such that imaging axes 11 a and 11 b of module 10 a and module 10 b are in converging relation and positioned so the imaging modules 10 a and 10 b generate image data corresponding to substantially the same scene at a target substrate, S, when reader 5 - 5 is at certain reader-to-target distance.
  • module 10 a is positioned with respect to a reflective target T such that specular reflection from target T results in a decode failure, a frame of image data captured by actuation of illumination light sources 16 and an image sensor 32 of second module 10 b can be subjected to a second decoding attempt.
  • an expectedly specular reflection-free frame of image data can be captured by actuation of image sensor 32 of first imaging module 10 a in combination with actuation of illumination of second imaging module 10 b in place of illumination from first imaging module.
  • target herein refers to subject matter (e.g. decodable indicia) presently in a field or view of at least one module of reader 5 .
  • target substrate refers to a member (e.g. a piece of paper, an equipment part) bearing subject matter to which reader may be directed.
  • the multiple imaging module optical readers as shown in FIGS. 1 a - 1 c include 2D imaging modules, which may be for example Model IT 4200, Model IT 4250, or Model IT 4000 imaging modules of the type available from Hand Held Products, Inc. of Skaneateles Falls, N.Y. It will be understood that a 1D imaging module having a 1D image sensor can replace a 2D imaging module of any of the readers shown.
  • An example of a 1D imaging module which can be incorporated in any one of readers 5 - 1 , 5 - 2 , 5 - 3 , 5 - 4 , 5 - 5 , 5 - 6 , and 5 - 7 is shown in FIG. 3 e .
  • Imaging module 10 - 2 includes a 1D image sensor 32 , a support assembly or frame 80 , imaging optics 40 , illumination light sources 18 , and illumination optics including lens 25 carried by plate 26 and aiming apertures 43 . Further details of an exemplary 1D imaging module are described in U.S. Pat. No. 6,119,939, entitled “Optical Assembly For Bar Code Scanner,” which is hereby incorporated herein by reference in its entirety.
  • illumination and aiming light sources are normally provided by the same light sources which project a single illumination pattern which also serves as an aiming pattern.
  • a 1D imaging module can also include light sources which project different illumination and aiming patterns.
  • An imaging module of the invention can also comprise a laser diode based 1D imaging engine including a single photodetector, a laser diode and means for sweeping the laser beam projected by the laser diode across a target area.
  • a laser diode based 1D imaging engine including a single photodetector, a laser diode and means for sweeping the laser beam projected by the laser diode across a target area.
  • other sensors or imaging modules for example gray scale imaging modules, color imaging modules, and biometric imaging modules known in the imaging arts can be substituted for one or both of a 1D imaging module and a 2D imaging module, or provided in addition to one or both of a 1D imaging module and a 2D imaging module, as will be described below in greater detail.
  • Reader 5 - 9 of FIG. 1 i is an exemplary illustration of an optical reader having a plurality of imaging modules, one of which provides a frame of image data that has a format different from the format of a frame of image data provided by another imaging module.
  • center module 10 c of reader 5 - 9 is a 1D imaging module while laterally disposed modules 10 a and 10 b are 2D modules.
  • Configuring reader 5 - 9 so that reader 5 - 9 includes a center 1D imaging module 10 c , 10 - 2 and laterally disposed 2D imaging modules 10 - 1 provides certain advantages, as recited above.
  • Reader 5 - 9 can provide frames of image data having two different formats captured from decodable indicia of different types.
  • Reader 5 - 9 can be programmed in accordance with a decode operation control program wherein a reader (1) first captures and subjects to decoding an image captured via actuation of first imaging module 10 c , and if the decoding attempt fails, (2) automatically captures and subjects to decoding a second image captured via actuation of an image sensor and illumination of one of laterally disposed 2D modules 10 a and 10 b .
  • any of 1D module 10 c, 2D module 10 a , and 2D module 10 b can be selected and activated as the module of choice to provide a frame of image data.
  • One-dimensional bar code symbols are more common than 2D bar code symbols. Further, 1D bar code symbols are generally decoded more quickly and more accurately by capturing and processing 1D slice image data captured via actuation of a 1D image sensor than capturing and processing 2D image data captured via actuation of a 2D image sensor. Still further, an imaging axis 11 c of center imaging module 10 c disposed in a gun-style housing 7 can more readily be aligned with an indicia of a target, T, than lateral imaging modules 10 a and 10 b .
  • reader 5 - 9 programmed in accordance with the above-described decode program is a reader which is both mechanically configured and programmed for optimization of the decoding of 1D symbols, while still having the capacity to decode matrix 2D symbols where matrix 2D symbols are present within a target, T.
  • the decodable indicia may have attributes of geometry (e.g., one or two dimensional decodable indicia such as barcodes, two-dimensional codes, alphanumeric symbols, and the like), attributes of tone, such as black-and-white (two tone, or 1-bit tonality), or gray scale (e.g., from three to as many as 2 N tones, where the exponent N is an integer greater than 1, or N-bit tonality), attributes of color (e.g., having a an optical appearance characterized as being within a narrow spectral region of the electromagnetic spectrum, such as red, green, or blue, or combinations thereof).
  • the decodable indicia can have attributes relating to biometric features, such as fingerprints, retinal patterns, facial features, and the like.
  • FIGS. 2 a, 2 b, 2 c, 2 d , 2 e , and 2 f Various electrical circuits 100 , 101 , 102 , 103 , 104 , and 105 which can be utilized to control optical readers are shown and described with reference to FIGS. 2 a, 2 b, 2 c, 2 d , 2 e , and 2 f . While the present invention relates in one aspect to optical readers having more than one imaging module, FIGS. 2 a and 2 b show electrical circuits for operating optical readers having a single imaging module. Numerous principles of circuit operation discussed in relation to circuits 100 , 101 are incorporated into multiple imaging module electrical circuits 102 , 103 , 104 , 105 discussed in relation to FIGS. 2 c - 2 f.
  • FIG. 2 a a block diagram of an optical reader electrical circuit is shown having a multi-functional processor IC chip 180 including an integrated frame grabber block 148 .
  • Electrical circuit 100 shown in FIG. 2 a can be utilized for control of a single 2D imaging module optical reader as is shown for example in U.S. application Ser. No. 09/954,081 filed Sep. 17, 2001, entitled “Optical Reader Having Image Parsing Mode,” (now U.S. Pat. No. 6,561,428) which is hereby incorporated herein by reference in its entirety.
  • electrical circuit 100 includes a control circuit 140 comprising CPU 141 , system RAM 142 and system ROM 143 and frame grabber block 148 .
  • Electrical circuit 100 further includes an image sensor 32 typically provided by a photosensitive array and an illumination block 160 having illumination LEDs 16 and aiming LEDs 18 as shown in the physical form view of FIGS. 3 a - 3 c .
  • Image sensor 32 of FIG. 2 a is shown as being provided by a 2D photo diode array. If a 1D image sensor replaces image sensor 32 , then aiming LEDs 18 and illumination LEDs 16 may be constituted by one set of LEDs.
  • image sensor 32 incorporated in an image sensor IC chip 182 which typically further includes an image sensor electrical circuit block 134 .
  • Image sensor electrical block 134 includes control circuit 135 for controlling image sensor 32 , an A/D conversion circuit 136 , for converting analog signals received from image sensor 32 into digital form and integrated clock 137 sometimes referred to as an oscillator.
  • multi-functional IC chip 180 which in addition to including CPU 141 includes numerous other integrated hardware components.
  • multifunctional IC chip 180 may include a display control block 106 , several general purpose I/O ports 116 , several interface blocks such as a USB circuit block 107 and a UART block 108 for facilitating RS 232 communications, a UART block 109 for facilitating infra-red communications (including communication according to standards promulgated by the INFRARED DATA ASSOCIATION 7 (IrDA 7 ), a trade association for defining infrared standards), and a pulse width modulation (PWM) output block 110 .
  • INFRARED DATA ASSOCIATION 7 IrDA 7
  • PWM pulse width modulation
  • Multi-functional processor IC chip 180 can also have other interfaces such as a PCMCIA interface 111 , a compact flash interface 112 , and a multimedia interface 113 .
  • reader 5 includes a display 13 d
  • display 13 d may be in communication with chip 180 via display interface 106 .
  • Trigger 13 t and keypad 13 k may be in communication with chip 180 via general purpose I/O interface 116 .
  • Physical form views of readers having displays and keyboards are shown for example in U.S. application Ser. No. 10/137,484, filed May 2, 2002, entitled “Optical Reader Comprising Keyboard,” (now U.S. Patent Publication No. 2003/0206150) which is hereby incorporated herein by reference in its entirety.
  • Multi-functional processor IC chip 180 may be one of an available type of multifunctional IC processor chips which are presently available such as a Dragonball MX1 IC processor chip or a Dragonball MXL IC processor chip available from Motorola, a DSC IC chip of the type available from Texas Instruments, an O-Map IC chip of the type available from Texas Instruments, or a multifunctional IC processor chip of a variety known as Clarity SOCs (e.g., system on a chip) available from Sound Vision, Inc.
  • a Dragonball MX1 IC processor chip or a Dragonball MXL IC processor chip available from Motorola a DSC IC chip of the type available from Texas Instruments, an O-Map IC chip of the type available from Texas Instruments, or a multifunctional IC processor chip of a variety known as Clarity SOCs (e.g., system on a chip) available from Sound Vision, Inc.
  • Clarity SOCs e.g., system on a chip
  • multi-functional processor IC chip 180 comprises components that provide at least the functions provided by a CPU 140 , system RAM 142 and system ROM 143 .
  • microprocessor-based decoder module 180 comprises an integrated circuit device having integrated therein a microprocessor, an analog-to-digital converter, a digital-to-analog converter, a direct memory access (DMA) channel, a bi-directional communication line for communication with a sensor such as either or both of line 151 and 152 , and a channel for data receipt from a sensor, such as data line 159 that brings data to frame grabber 148 .
  • the microprocessor-based IC chip 180 can comprise semiconductor materials, optical materials, and photonic bandgap materials.
  • the multi-functional processor IC Chip 180 further comprise I/O 116 suitable to accept user input (for example from a keyboard 13 k ), interface capability for “flash” memory devices such as “Multimedia” (MMC), “Smart Media,” “Compact Flash,” and “Memory Stick.”
  • I/O 116 suitable to accept user input (for example from a keyboard 13 k ), interface capability for “flash” memory devices such as “Multimedia” (MMC), “Smart Media,” “Compact Flash,” and “Memory Stick.”
  • PWMs pulse width modulators
  • serial communication channels e.g., UARTs, SPIs, and USBs
  • display drivers and controllers such as for an LCD
  • wireless communication capability such as Bluetooth and 802.11 (a), (b), and (g)-compatible transmitter/receivers
  • sequence control modules such as timer banks, sensor controllers, audio generators, audio coder/decoders (“codecs”), speech synthesizers, and speech recognition hardware and/or software.
  • the microcomputer-based decoder module can determine which imaging module provides a frame of image data or the format of a provided frame of image data.
  • the microcomputer-based decoder module uses the Inter-IC (I 2 C) bus protocol and circuitry operating according to the protocol.
  • I 2 C Inter-IC
  • the I 2 C communication link from the microcomputer-based decoder module is used to communicate directly to an imaging module.
  • Each 2D imaging module or sensor has a unique address for I 2 C communication.
  • the microcomputer-based decoder module can interrogate an address or can attempt to communicate with an address in order to communicate with a specific imaging module. If the wrong address is used for I 2 C communication, the I 2 C communication fails.
  • each 2D imaging module or sensor has an “ID” register which holds a unique value that provides an identification number.
  • a query to the ID register of the imaging module via the I 2 C communication link can cause the return of the ID value stored in the register.
  • the microcomputer-based decoder module receives the correct ID value, which also implies that the I 2 C bus address used is correct, there is a very high probability that the correct imaging module is being addressed.
  • resistor packs connected to port pins are used to identify a specific module.
  • different auto-detection routines are used for each imaging module.
  • the auto-detection algorithm to identify a specific imaging module cycles through each of the defined parameters (such as an I 2 C address and/or ID parameter) for imaging modules until a match is found.
  • the identity of the module is determined by comparing the matching defined parameters with information in a collection of stored data, such as a lookup table in a memory.
  • the imaging module is identified from the data in the stored data.
  • stored data can be interrogated to locate the I 2 C address and/or the ID of the imaging module, which information can be used to communicate with the selected imaging module.
  • the stored data can include information that specifies the format of a frame of image data provided by a selected imaging module.
  • the information about the format can be used to determine whether the then current state of the microprocessor-based decoding module is suitable for decoding the format of imaging information provided by the selected module or whether the state of microprocessor based decoding module should be adjusted, for example by loading or activating a software module, in order to correctly decode the frame of image data that is provided.
  • an FPGA can be used to perform logical or manipulative operations on a frame of imaging data.
  • the FPGA program can handle any of the different transfer types by writing to a register, or by setting or clearing one or more specified bits. Configuration of the register or of the bit(s) in response to the detection of a given image module starts the appropriate decoding algorithm for the imaging module that is detected.
  • the FPGA is configured with the appropriate program to decode the format of image data provided by the imaging module.
  • the FPGA communicates in the imaging module auto-detection process, the FPGA is programmed with the appropriate configuration, and then performs the detection process. The FPGA then performs the data decoding.
  • the FPGA is reprogrammed to prepare the FPGA to do the decoding.
  • adaptable circuits such as reconfigurable FPGAs or logic circuits are used.
  • Frame grabber block 148 of IC chip 180 replaces the function of a frame grabbing field programmable gate array (FPGA) as discussed in commonly assigned application Ser. No. 09/954,081, filed Sep. 17, 2001, entitled “Imaging Device Having Indicia-Controlled Image Parsing Mode,” (now U.S. Pat. No. 6,561,428) and application Ser. No. 09/904,697, filed Jul. 13, 2001, entitled “An Optical Reader Having a Color Imager,” (now U.S. Pat. No. 6,772,569) both of which are hereby incorporated herein by reference in their entirety.
  • FPGA field programmable gate array
  • frame grabber block 148 is specifically adapted collection of hardware elements programmed to carry out, at video rates or higher, the process of receiving digitized image data from image sensor chip 182 and writing digitized image data to system RAM 142 which in the embodiment shown is provided on a discreet IC chip.
  • Frame grabber block 148 includes hardware elements preconfigured to facilitate image frame capture.
  • Frame grabber block 148 can be programmed by a user to capture images according to a user's system design requirements.
  • Programming options for programming frame grabber block 148 include options enabling block 148 to be customized to facilitate frame capture that varies in accordance with image sensor characteristics such as image sensor resolution, clock out rating, and fabrication technology (e.g.
  • CCD compact disc
  • CMOS complementary metal-oxide-semiconductor
  • CID dimension (1D or 2D), tonality (from 1 to N-bits), color (monochrome or color), biometric features, such as fingerprints, retinal patterns, facial features, and one- and two-dimensional patterns that can provide information, such as chromatography patterns and electrophoretic patterns of mixtures of substances, including substances such as biological samples comprising DNA.
  • Circuit 100 can perform a cycle of receiving a frame of image data, performing internal programming functions, and decoding the frame of image data in a time period of less than or equal to a second. In a more preferred embodiment, the circuit 100 performs the cycle in a time period of less than or equal to 1/30 of a second. It is expected that in a still more preferred embodiment, the time period can be less than or equal to 1/270 of a second.
  • CPU 141 under the operation of a program stored in system ROM 143 , writes an image capture enable signal to image sensor chip 182 via communication line 151 .
  • Line 151 like the remainder of communication lines described herein represents one or more physical communication lines.
  • I 2 C interface 115 of chip 180 is utilized to facilitate communication with chip 182 (if another image sensor chip is selected another type of interface e.g. interface 116 may be utilized).
  • Other types of signals may be sent over line 151 during the course of image capture.
  • Line 151 may carry, for example, timing initialization, gain setting and exposure setting signals.
  • control block 135 of image sensor chip 182 When control block 135 of image sensor chip 182 receives an image capture enable instruction, control block 135 sends various signals to frame grabber block 148 .
  • Image sensor control block 135 typically sends various types of synchronization signals to frame grabber block 148 during the course of capturing frames of image data.
  • control block 135 may send to frame grabber block 148 “start of frame signals” which inform frame grabber block 148 that chip 182 is ready to transmit a new frame of image data, “data valid window” signals which indicate periods in which a row of image data is valid, and “data acquisition clock” signals as established by clock 137 controlling the timing of image data capture operations.
  • line 152 represents three physical communication lines, each carrying one of the above types of signals.
  • vertical and horizontal synchronization signals are processed by frame grabber 148 to internally generate a data valid window signal.
  • Frame grabber block 148 appropriately responds to the respective synchronization signals, by establishing buffer memory locations within integrated RAM 149 of block 148 for temporary storage of the image data received from image sensor chip 182 over data line 159 .
  • buffer RAM 149 of frame grabber block 148 may store a partial (e.g. about 0.1 to 0.8) or a full line of image data.
  • circuit 100 includes a system bus 150 .
  • Bus 150 may be in communication with CPU 141 via a memory interface such as EIM interface 117 of IC chip 180 .
  • System RAM 142 and system ROM 143 are also connected to bus 150 and in communication with CPU 141 via bus 150 .
  • RAM 142 and ROM 143 are provided by discreet IC chips. System RAM 142 and system ROM 143 could also be incorporated into processor chip 180 .
  • electrical circuit 100 may include one or more long term storage devices.
  • Electrical circuit 100 can include for example a “flash” memory device 120 .
  • flash memory devices include Several standardized formats are available for such flash memory devices including: “Multimedia” (MMC), “Smart Media,” “Compact Flash,” and “Memory Stick.” Flash memory devices are conveniently available in card structures which can be interfaced to CPU 141 via an appropriate “slot” electromechanical interface in communication with IC chip 180 . Flash memory devices are particularly useful when reader 5 must archive numerous frames of image data.
  • Electrical circuit 100 can also include other types of long term storage such as a hard drive which may be interfaced to bus 150 or to an appropriate I/O interface of processor IC chip 180 .
  • control circuit 140 is configured to control the turning off and turning on of LEDs 16 , 18 of illumination block 160 .
  • Control circuit 140 preferably controls illumination block 160 in a manner that is coordinated with the capturing of the frames of image data.
  • Illumination LEDs 16 are typically on during at least a portion of frame capture periods. Configuring circuit 140 so that LEDs 16 , 18 have off periods significantly reduces the power consumption of circuit 100 .
  • electrical circuit 100 can be configured so that PWM output interface 114 of IC chip 180 controls illumination LEDs of an imaging module such as illumination LEDs 16 of module 10 - 1 or aiming/illumination LEDs 18 of module 10 - 2 .
  • illumination block 160 is in communication with PWM output interface 114 and configured in such manner that LEDs 16 are turned on at a leading edge of PWM pulses output at PWM interface 114 , and are turned off at falling edges of PWM pulses output at PWM interface 114 .
  • PWM interface 114 should be configured so that several pulses are generated and sent over communication line 153 i during the time that a single row of pixels of image data are exposed to light prior to clocking out of pixel values corresponding to that row.
  • illumination LEDs 16 would be turned on and off several times during the exposure period for exposing a row of pixels to light.
  • the number of pulses output by PWM output 114 during the time that a single row of pixels are exposed should not vary substantially from row to row.
  • the pixel clock signal received at frame grabber block 148 of IC chip 180 can be utilized to generate the PWM output. It can be seen, therefore, that multifunctional IC chip 180 including frame grabber block 148 and PWM output 114 greatly simplifies the task of developing PWM signals for use in controlling illumination LEDs 16 of module 10 .
  • PWM output 114 and illumination block 160 are configured so that PWM output 114 controls the intensity of illumination, not the on time/off time of illumination.
  • Illumination LED block 160 in such an embodiment can include a power supply circuit which is interfaced to PWM output 114 such that the PWM signal output at PWM output 114 varies the voltage or current supplied to LEDs 16 .
  • aiming LEDs 18 of circuit 100 can be controlled by a signal transmitted by a general purpose I/O port 116 of IC chip 180 over communication line 153 a .
  • Multifunctional processor IC chip 180 can be programmed so that an aiming LED control signal 168 , as is shown in the timing diagram of FIG. 2 g , is caused to change to an “on” state when frame grabber block 148 completes the process of capturing a complete frame of image data.
  • frame exposure periods P 1 , P 2 , and P 3 are plotted against an aiming LED control signal 168 .
  • Frame grabber block 148 may be configured to generate an “end of acquisition” or “end of frame” signal when frame grabber block 148 completes the process of capturing a complete frame of image data into RAM 142 .
  • CPU 141 controls I/O port 116 to change the state of LED control signal 168 .
  • Control circuit 140 may also change the state of LED control signal 168 when generating a start of frame signal. As indicated by the time line of FIG. 2 g , control circuit 140 may execute a delay prior to changing the state of signal 168 .
  • Control circuit 140 is programmed so that LED control signal 168 remains in an “ON” state known to be sufficiently short duration so as not to cause actuation of an aiming LED 18 during a succeeding frame exposure period. Configured in the manner described, aiming LEDs 18 are selectively pulsed on for a short duration during intermediate successive frame exposure periods, e.g. frame exposure periods P 1 and P 2 .
  • Electrical circuit 101 controls operation of a single imaging module optical reader comprising a low cost 1D CCD image sensor 32 incorporated on IC chip 183 .
  • Image sensor 32 of FIG. 2 b may be provided for example by a Toshiba Model TCD 1304 AP linear image sensor. Further aspects of an exemplary 1D imaging module are described, for example, in application Ser. No. 09/658,811, filed Sep. 11, 2000, entitled “Optical Assembly for Barcode Scanner,” (now U.S. Pat. No. 6,607,128) which is hereby incorporated herein by reference in its entirety.
  • electrical circuit 101 includes a control circuit 140 which, like control circuit 140 of circuit 100 is partially incorporated in a multifunctional processor IC chip 180 including CPU 141 and a frame grabber block 148 .
  • Control circuit 140 of circuit 101 further includes system RAM 142 system ROM 143 and supplementary central processor unit (CPU) 147 , integrated on processor IC chip 179 .
  • System RAM 142 and system RAM 143 are in communication with EIM interface 117 of IC chip 180 via bus 150 .
  • Processor IC chip 179 provides control and timing operations similar to that provided by electrical block 134 of image sensor chip 182 described in FIG. 1 a .
  • Processor IC chip 179 in general, sends synchronization signals and digital clocking signals to IC chip 180 , and sends digital clocking signals to A/D conversion circuit 136 and image sensor 32 .
  • Processor IC chip 179 of circuit 101 may be a relatively low power processor IC chip such as an 8-bit Cypress Programmable System-on-ChipTM (PSoCTM) CY8C26Z33-24PZI Microcontroller processor IC chip available from Cypress MicroSystems of Bothell, Wash.
  • PSoCTM Cypress Programmable System-on-ChipTM
  • CY8C26Z33-24PZI Microcontroller processor IC chip available from Cypress MicroSystems of Bothell, Wash.
  • processor IC chip 179 When trigger 13 t is pulled, CPU 141 transmits enable image capture instructions over communication line 151 .
  • processor IC chip 179 In response to receipt of an image capture enable instructions received from chip 180 , processor IC chip 179 performs a variety of operations.
  • Processor IC chip 179 may send synchronization signals, such as “start of scan,” “data valid window,” and “data acquisition clock” signals to frame grabber block 148 via communication line 152 .
  • Processor IC chip 179 may also send timing signals and digital clocking signals (e.g. master clock, integration clear gate, and shift gate pulse) to image sensor 32 .
  • timing signals and digital clocking signals e.g. master clock, integration clear gate, and shift gate pulse
  • Processor IC chip 179 typically also transmits a master clock signal to A/D conversion circuit 136 .
  • CPU 141 of chip 180 may also send e.g. gain setting, exposure setting, and timing initialization signals via line 151 to IC chip 179 .
  • Communication between IC chip 180 and IC chip 179 may be made via an SPI interface or I/O interface 116 of chip 180 and chip 179 .
  • processor IC chip 179 may be replaced by a programmable logic circuit, e.g. a PLD, CPLD, or an FPGA. IC chip 179 could also be replaced by an ASIC.
  • Electrical circuit 101 of FIG. 2 b includes what may be termed a “digital digitizer” in that analog voltage levels transmitted by CCD image sensor 32 on line 155 are converted into gray scale pixel values by A/D converter 136 and transmitted via line 159 to frame grabber block 148 .
  • Circuit 101 could also include an analog digitizer which processes an analog signal generated by image sensor 32 to generate a two-state output signal that changes state in accordance with light-to-dark and dark-do-light transitions of the image sensor analog output signal.
  • Processor IC chip 179 also controls LED bank 160 .
  • LED bank 160 of a 1D image sensor reader typically includes a single bank of LEDs which simultaneously illuminates a target area and provides an aiming pattern facilitating aligning of the reader with a target indicia.
  • LEDs 18 of 1D imaging module 10 - 2 like LEDs 16 of module 10 - 1 can be pulsed so as to reduce energy consumption by LEDs 18 .
  • Electrical circuit 100 and electrical circuit 101 form a family of 1D and 2D optical readers electrical circuits, which may be manufactured by a single manufacturing entity wherein both of the 1D and 2D readers include the same main processor chip, namely, multifunctional processor IC chip 180 .
  • Multifunctional processor IC chip 180 of circuit 100 and circuit 101 can both be provided by e.g. a Dragonball MX1 IC chip or a Dragonball MXL IC chip of the type available from Motorola, Inc.
  • Multifunctional processor IC chip 180 of electrical circuit 101 includes far more processing power than is necessary to provide the functionality of a 1D optical reader.
  • FIGS. 2 c - 2 f Various electrical circuit architectures for operating a reader having more than one imaging module 10 are shown in FIGS. 2 c - 2 f.
  • electrical circuit 102 includes a pair of imaging modules 10 and a control circuit 140 .
  • Control circuit 140 includes a field programmable gate array (FPGA) 161 , a multifunctional processor IC Chip 180 including a CPU 141 and frame grabber block 148 , a system RAM 142 and a system ROM 143 .
  • Processor IC chip 180 may be, for example, a Dragonball MX1 IC chip or a Dragonball MXL IC chip of the type available from Motorola, Inc.
  • Imaging modules 10 a and 10 b shown in block form in FIG. 2 c correspond to the physical 2D imaging module 10 - 1 shown in FIGS. 3 a - 3 c .
  • System RAM 142 and system ROM 143 are in communication with processor IC Chip 180 via system bus 150 .
  • FPGA 161 of circuit 102 is programmed to execute a multiplexer function indicated by block 155 .
  • multiplexer 155 receives image data over one of data lines 159 a , 159 b from a selected one of module 10 a and module 10 b and sends the data to frame grabber block 148 of processor IC chip 180 .
  • Multiplexer 155 can be deleted if imaging modules 10 are selected to include image sensor IC chips which generate high impedance (tri-statable) synchronization signals when not actuated.
  • FPGAs described herein can be replaced by another programmable circuit.
  • a programmable logic device PLD
  • CPLD complex programmable logic device
  • ASIC ASIC
  • processor chip e.g. such as chip 179 or chip 180
  • imaging modules can be exchanged (e.g., by physical substitution or by moving a cable connection from one socket to another socket) for other types of imaging modules.
  • imaging modules can be switched into or out of communication with the microprocessor-based decoder module, either manually or under computer control, thereby substituting one imaging module for another, or changing the number of imaging modules that are available at a specified time.
  • processor IC chip 180 sends an image capture enable signal to FPGA 161 via line 170 when trigger 13 t is actuated and to an appropriate one of modules 10 a and 10 b via one of lines 151 a , 151 b .
  • the selected module, 10 a or 10 b then sends synchronization signals, and the digital clocking signals as described previously to FPGA 161 and IC chip 180 , over the appropriate one of lines 152 a , 152 b.
  • FPGA 161 transmits image data to multifunctional processor IC Chip 180 over data line 171 which in turn transmits image data to RAM 142 over system bus 150 .
  • Lines 151 a , 151 b may carry PWM interface illumination control signals as described previously in connection with electrical circuit 100 .
  • electrical circuit 103 includes a plurality of N imaging modules 10 , which may be incorporated in a single housing 7 , where N is an integer greater than one.
  • Electrical circuit 103 includes a control circuit 140 having an FPGA 162 , a processor IC Chip 179 , a system RAM 142 and a system ROM 143 .
  • FPGA 162 is in communication with processor IC Chip 179 via system bus 150 .
  • Processor IC chip 179 and FPGA 162 are also in communication via bus arbitration communication line 167 which carries bus hand shaking (e.g. bus request, bus grant) signals.
  • FPGA 162 c is programmed to include multiplexer block 162 m , control register 162 c , and a solitary frame grabber block 162 f .
  • Image capture enable signals for actuating image capture via one of a plurality of modules e.g. 10 a are received at control register 162 in response to an actuation of trigger 13 t .
  • Control register 162 c on receipt of an image capture enable signal sends the image capture enable signal to the selected module 10 and utilizes the signal to associate frame grabber block 162 f to the selected module e.g. 10 a .
  • control register 162 c can be adapted to send during one type of frame capture method, e.g. illumination actuation signals to a second imaging module, 10 c while actuating an image sensor 32 of a first module, e.g. 10 a without sending illumination actuation signals to first module 10 a.
  • FPGA 162 of FIG. 2 i includes N frame grabber blocks 162 f .
  • electrical circuit 103 can be operated to capture several frames of image data contemporaneously by contemporaneous actuation of each of several imaging modules e.g. 10 a and 10 c .
  • a selected frame of image data can be decoded to recover information encoded in the decodable indicia represented by the frame.
  • processor IC chip 179 can be provided by general purpose processor IC chip such as a Power PC IC chip of the type available from Motorola.
  • general purpose processor IC chip such as a Power PC IC chip of the type available from Motorola.
  • Other suitable IC chips for providing the function of IC chip 179 of circuit 103 include, for example, an Intel SA1110 chip and an Xscale family of processor IC chips, also available from Intel.
  • electrical circuit 104 controls a pair of imaging modules wherein a first imaging module 10 - 1 is a 2D imaging module and a second imaging module 10 - 2 is a 1D imaging module.
  • Control circuit 140 includes CPU 141 , 2D frame grabber block 148 , FPGA 164 , system RAM 142 and system ROM 143 .
  • Frame grabber block 148 and CPU 141 are both incorporated on multifunctional processor IC chip 180 (e.g. a Motorola Dragonball MX1 IC chip or Dragonball MXL IC chip), as described previously in connection with FIG. 2 a .
  • a main program executed by CPU 141 of multifunctional processor IC chip 180 controls operation of both first imaging module 10 - 1 and second imaging module 10 - 2 .
  • processor IC chip 180 For capture of a 2D image, processor IC chip 180 in response to actuation of trigger 13 t sends an image capture enable signal to module 10 - 1 via a communication line 151 .
  • 2D imaging module 10 - 1 sends synchronization and digital clocking signals to frame grabber block 148 via communication line 152 which as explained previously and like all lines represented herein may represent a plurality of physical lines.
  • 2D imaging module 10 - 1 sends digitized image data to frame grabber block 148 via data line 159 a .
  • Processor IC chip 180 stores image data in RAM 142 by writing image data stored in buffer memory locations of frame grabber block 148 to RAM 142 via system bus 150 .
  • An illumination control signal communication line is also typically interposed between IC chip 180 and module 10 - 1 .
  • Line 151 represents an illumination signal communication line.
  • processor IC chip 180 For capture of a 1D “slice” image representation, processor IC chip 180 sends a 1D image capture enable signal to FPGA 164 via system bus 150 .
  • Processor IC chip 180 and FPGA 164 are further in communication via communication line 167 which carries bus handshaking (e.g. bus request and bus grant) signals.
  • bus handshaking e.g. bus request and bus grant
  • FPGA 164 sends digital clocking signals to A/D converter 136 via line 156 , to image sensor 32 via line 154 , and illumination control signals to illumination LEDs 18 as shown in the physical form view of FIG. 3 e via line 153 .
  • Image sensor 32 sends analog image signals to A/D converter 136 via output line 155 and A/D converter 136 in turn converts the signals into N (typically 8) bit gray scale pixel values.
  • A/D converter 136 sends the digitized image data to FPGA 164 which stores the image data to RAM 142 .
  • FPGA 164 of electrical circuit 104 includes frame grabber block 164 f for fast transfer of image data into system RAM 142 , image sensor illumination and control block 164 c for controlling LEDs 18 and for developing synchronization signals, and clock 164 k for generating digital clocking pulses.
  • a computer program (software) recorded on a machine-readable medium is provided for use on a multi-functional processor IC Chip 180 .
  • individual modules of the computer program When operating, individual modules of the computer program perform the steps of receiving a frame of image data acquired by a selected one of a 1D imaging module and a two-dimensional (2D) imaging module; determining the format of the frame of image data, for example by determining which of said selected imaging modules acquired said received frame of imaging data.
  • one or more modules of the computer program use information about the frame of image data to determine the format of the frame of image data.
  • the computer program comprises one or more modules that decode said frame of imaging data accordingly.
  • the information about the imaging module that acquired the frame of imaging data can include, but is not limited to, at least one of a bus address of the imaging module, an ID code of the imaging module, the model of the imaging module, and an electrical parameter of the imaging module, such as the value of a resistance.
  • the software includes instructions that are performed only as necessary, comprising at least one command to prepare said microprocessor-based decoder module to decode said communicated frame of image data if the microprocessor-based decoder module is not already properly configured to perform the decoding process.
  • the process for receiving and decoding a frame of image data from a selected imaging module involves several operative steps.
  • the microprocessor-based decoder module recognizes the format of the frame of image data by determining one or more of source of the frame of image data and a parameter associated with the frame of image data.
  • a module such as a dynamically linked library (for example, a .dll or an .ocx) module is invoked to translate the format of the incoming frame of image data provided by the selected imaging module into a format suitable for further processing.
  • the corresponding .dll file is located in memory (or if needed, is read from a machine-readable repository), and is activated.
  • the frame of imaging data is then decoded according to a procedure that depends on the format of the frame of data.
  • a 2D frame of image data is decoded by converting the 2D data into a succession of 1D data segments having 8-bit resolution, converting each 1D data segment into transition location information having one bit resolution, and decoding the transition location information.
  • the process can be programmed as an iterative process, as is explained in greater detail below.
  • Transition location information is information that correlates a transition in reflected light to a position or location in the decodable indicia, such as a change from white to black or black to white at various positions within a conventional 1D bar code. The width or shape of a feature can be deduced from observing successive transition locations.
  • FIG. 2 f depicts another electrical circuit for controlling a plurality of imaging modules.
  • Electrical circuit 105 includes a pair of frame grabbing FPGAs 165 , 166 .
  • First FPGA 165 is dedicated for frame capture of image data generated by first imaging module 10 a while second frame grabbing FPGA 166 is dedicated for capture of image data generated by second imaging module 10 b .
  • the architecture of FIG. 2 f is especially well suited for contemporaneous capture of multiple frames of image data via contemporaneous actuation of image sensors of two separate imaging modules 10 a and 10 b .
  • the image data can be decoded from its location in memory.
  • Control circuit 140 of electrical circuit 105 includes CPU 141 which may be incorporated on a general purpose 32-bit processor IC chip 179 , frame grabbing FPGAs 165 and 166 , system RAM 142 and system ROM 143 .
  • Processor IC chip 179 may transmit image capture enable instruction via communication lines 151 a and 151 b .
  • Processor IC chip 179 may also send illumination control signals via lines 151 a and 151 b .
  • processor IC chip may send an image capture enable signal to module 10 a over line 151 a (and an illumination disabling signal over line 151 a ), and an illumination control signal to module 10 b over line 151 b with use of a specific image capture method wherein images are captured in such a manner so as to be substantially impervious to specular reflection decode failures.
  • imaging modules 10 a and 10 b send synchronization and digital clocking signals to FPGAs 165 and 166 respectively, via lines 152 a and 152 b , and image data to FPGAs 165 and 166 respectively over, data lines 159 a and 159 b .
  • Processor IC chip 179 is in communication with frame grabbing FPGAs 165 and 166 via system bus 150 and via bus arbitration communication lines 167 a and 167 b over which bus handshaking signals (e.g. bus request, bus grant) are sent. While the invention in a major aspect relates to optical readers having multiple imaging modules, another commercial optical product according to another aspect of the invention is described with reference to FIGS. 5 a - 5 e.
  • FIG. 5 a an optical reader is shown having an electrical circuit 100 as described in FIG. 2 a wherein an imaging module 10 is incorporated on a compact flash card 510 .
  • Compact flash card 510 carrying circuit 100 as will be explained herein may be interfaced with a host processor assembly such as a personal data assistant (PDA) 540 or a personal computer (PC) 550 .
  • PDA personal data assistant
  • PC personal computer
  • Other embodiments of optical readers can be produced as compact flash cards.
  • PDA 540 can include a compact flash slot 544 for receiving a compact flash card 510 , which incorporates an imaging module 10 .
  • compact flash card 510 incorporating module 10 are described with reference to FIG. 5 a .
  • electrical circuit 100 including multifunctional frame grabbing IC chip 180 , system RAM 142 , and system ROM 143 are incorporated on compact flash card 510 which further carries imaging module 10 .
  • Imaging module 10 may be a 2D imaging module as described with reference to FIG. 3 a - 3 c , or a 1D module, e.g. as described with reference FIG. 3 e .
  • Card 510 typically further comprises a protective cover (not shown).
  • Compact flash card 510 including electrical circuit 100 as indicated by block diagram FIG. 5 b is interfaced to a host processor system 68 .
  • host processor system 68 can be included in e.g. a personal data assistant (PDA) 540 as shown in FIG. 5 b or a personal computer (PC) 550 as shown in FIG. 5 e.
  • PDA personal data assistant
  • PC personal computer
  • circuit 515 includes FPGA 520 which facilitates communication between electrical circuit 100 and host system 68 .
  • FPGA 520 may be programmed to perform a variety of functions.
  • FPGA 520 may be programmed to (1) communicate with host 68 to inform host 68 that compact flash card 510 is connected to host 68 when it is first connected, (2) to perform all compact flash bus timing, and (3) to provide all buffer interfaces required to receive from circuit 100 data in a form supported by electrical circuit 100 and to allow that data to be received in a compact flash format as is required by host 68 .
  • FPGA 520 can be connected via a communication line 504 to UART interface 108 of multifunctional processor IC chip 180 .
  • UART interface 108 may transmit data in e.g. an RS 232 format while FPGA 520 , appropriately programmed, converts that data into a compact flash format.
  • FPGA 520 is connected to FPGA 520 via line 526 , which is formed on an edge of compact flash card 510 , and comprises a plurality of sockets 530 s as indicated in the exploded section view of FIG. 5 a.
  • Compact flash card 510 including an electrical circuit 100 having imaging module 10 can operate in a first integrated mode or a second “free-standing” which in one specific embodiment can be considered a “tethered” mode.
  • An integrated mode of operation of card 510 is described with reference to FIGS. 5 c and 5 d .
  • card 510 is integrated into a device such as a PDA 540 .
  • device female end 530 is connected to male end compact flash connector 531 , comprising a plurality of pins, within a housing of the host device.
  • a free-standing mode of operation is illustrated with reference to FIG. 5 e .
  • compact flash card 510 including module 10 is positioned in a position spaced apart from a host device e.g. device 550 .
  • Compact flash card 510 may rest on a table top or else may be mounted to a fixed member spaced apart from the host device e.g. PC 550 .
  • card 510 may be connected to a host device via a flexible cable connector 560 .
  • card 510 When card 510 is connected to a host assembly via a flexible connector, card 510 may be considered to be operating in a “tethered” mode.
  • Card 510 may also be wirelessly connected to a host via an RF link, an IR link, or a link using a similar wireless connection like Bluetooth or 802.11 compatible hardware.
  • cable connector 560 is interfaced to host device 550 on one end and to compact flash card 510 on another end.
  • Cable connector 560 includes male compact flash connector 531 for facilitating communication between connector 560 and card 510 .
  • Card 510 can further include feet 565 of height substantially the same as connector 531 disposed on an under surface thereof so that card 510 can rest substantially horizontally on a table surface when operating in a free-standing mode.
  • Host device 550 in the free-standing mode diagram illustrated by FIG. 5 e is shown as a PC. It will be understood that a host device in a free-standing mode could also be provided by PDA 540 or another mobile or non-mobile computer device.
  • the multiple imaging module electrical circuits 102 , 103 , 104 , and 105 described herein can be implemented for operation of imaging modules spread out over several housings or for operation of imaging modules incorporated in a housing 7 of multiple imaging module reader 5 - 1 , 5 - 2 , 5 - 3 , 5 - 4 , 5 - 5 , 5 - 6 , and 5 - 7 , 5 - 8 and 5 - 9 as shown in physical form views 1 a - 1 i.
  • FIGS. 4 a - 4 c and FIGS. 4 f - 4 i illustrate operation of a multiple imaging module optical reader having at least two imaging modules 10 a , 10 b .
  • the modules described in the illustrative example given herein are 1D and 2D imaging modules.
  • any number of modules that provide image data in any of a plurality of formats can be present in any combination, limited only by the ability to design and to build multiplexed input and output connections to the microprocessor-based decoder module, such as an N port by M line multiplexer that handles N imaging modules, each imaging module having a total of no more than M data and control lines, where N and M represent positive integers.
  • a programmed computer can select one of the plurality of imaging modules present by suitably driving the multiplexer.
  • a user can select one of the plurality of available imaging modules, for example by activating a switch manually or connecting a cable to a cable connector.
  • actuation of an image sensor generally refers to at least one step in the process of sending appropriate signals to an image sensor 32 to cause exposure of image sensor pixels to light and to cause clocking out of electrical signals corresponding to light received at pixels of the array.
  • steps are described in greater detail in for example, U.S. application Ser. No. 09/766,922, filed Jan. 22, 2001, entitled “Optical Reader Having Reduced Parameter Determination Delay,” (now U.S. Patent Publication No. 2002/0125317) which application is incorporated herein by reference in its entirety.
  • Actuation of illumination herein generally refers to the step of sending electrical current to a light source e.g. 16 , 18 to turn on the light source.
  • control circuit 140 actuates image sensor 32 of first imaging module 10 a and illumination light sources 16 of first imaging module 10 a during a frame capture period in which a first frame of image data is captured.
  • control circuit 140 subjects the first captured frame of image data to a decode attempt. If the decode attempt is not successful (block 408 ), control circuit 140 executes block 410 to capture a second frame of image data.
  • Control circuit 140 actuates image sensor 32 and illumination light sources 16 of second imaging module 10 b when capturing a second frame of image data.
  • control circuit 140 can capture a second frame as described in connection with block 410 prior to the decode attempt of block 406 .
  • Control circuit 140 can capture a first frame as described in connection with block 404 and a second frame as described in connection with block 410 in any order and can capture the frames contemporaneously.
  • control circuit 140 subjects the indicia representation of the second frame to a decode attempt, and at block 410 outputs a decoded out data message if decoding is successful (block 414 ).
  • the attempt to decode a decodable indicia may be in accordance with a method for decoding decodable indicia such as are described in U.S. application Ser. No. 09/904,697, filed Jul. 13, 2001, entitled “Applying a Color Imager To A Hand Held Reader For Indicia Reading Image Capture,” (now U.S. Pat. No. 6,772,569) which is incorporated herein by reference in its entirety.
  • the reader control method described with reference to the flow diagram of FIG. 4 a is highly useful wherein specular reflection decode failures can be expected. Referring to the example of two module reader 5 - 1 shown in FIGS.
  • 1 a and 1 b note that if there may be a specular reflection decode failure when a first frame corresponding to a mirrored planar surface is captured via actuation of first module 10 a then there likely will not be a specular reflection decode failure when a second frame captured via actuation of second module 10 b is subjected to decoding.
  • a “wait for trigger pull” control loop as described in connection with block 402 , FIG. 4 a , block 420 , FIG. 4 b , block 444 , FIG. 4 c will now be described in greater detail.
  • control circuit 140 When a trigger 13 t of reader 5 is actuated, control circuit 140 generates a trigger signal to cause branching of program control as described in FIGS. 4 a , 4 b , and 4 c .
  • a trigger signal can also be generated automatically in response to a decodable indicia being presented in a field of view of a module of reader 5 .
  • a method of automatically generating what can be considered a trigger signal based on detected edge transitions without a physical trigger pull is described in copending application Ser. No.
  • first and second imaging modules 10 a , 10 b , and possibly all N modules of an N imaging module optical reader are configured so that each module has a different best focus distance.
  • module 10 c of reader 5 - 2 can be configured to a best focus distance of about 3 inches
  • module 10 a can be configured to have a best focus distance of about 6 inches
  • module 10 b can be configured to have a best focus distance of about 9 inches. It will be seen that configuring a reader of the invention so that each of the modules has a different best focus distance increases the overall depth of field of the reader.
  • a multiple module reader of the invention wherein each module has a different best focus distance can be operated in accordance with the flow diagram of FIG. 4 a to the end that the reader automatically reads target indicia disposed at a wide range of reader-to-target distance. If an object being read is disposed at a distance closer to the best focus distance of a second module but a substantial distance from a best focus distance of a first module, the reader operating in accordance with the flow diagram of FIG. 4 a may successfully decode the indicia at block 412 (second frame decode attempt) after failing to decode the indicia at block 406 (first frame decode attempt).
  • block 404 of the flow diagram of FIG. 4 a and other operating blocks herein refers to capturing a “first” frame of image data
  • a “first” captured frame as referred to herein is not necessarily the initial frame captured by a reader subsequent to actuation of trigger 13 t .
  • optical readers commonly process one or more “test” frames of image data to establish exposure levels and other operating parameters.
  • control circuit 140 After trigger 13 t is pulled at block 420 control circuit 140 captures a first frame of image data at block 422 .
  • Control circuit 140 captures a first frame image data via actuation of an image sensor 32 of first module 10 a and illumination light source 16 of first imaging module 10 a . That is, image sensor 32 of first module 10 a is actuated to generate image signals while a target is illuminated by illumination light sources 16 of first imaging module 10 a .
  • control circuit 140 subjects the first frame of capture image data to a decoding attempt. If decoding is not successful (block 426 ), then control circuit 140 automatically proceeds to block 428 to capture a second frame of image data.
  • Control circuit 140 can also capture a second frame of image data as described in connection with block 428 prior to subjecting a first frame of image data to a decode attempt (block 424 ). Control circuit 140 can capture a first frame as described in connection with block 422 , a second frame as described in block 428 , and a third frame (block 434 ) in any order. Control circuit 140 can capture first, second, and third frames of image data (blocks 422 , 428 and 434 ) contemporaneously. When control circuit 140 captures a second frame of image data at block 428 control circuit 140 once again actuates image sensor 32 of first imaging module 10 a as in the step of block 422 .
  • control circuit 140 actuates illumination light sources 16 of second imaging module 10 b without actuating illumination sources 16 of first imaging module 10 a .
  • image sensor 32 of first module 10 a and illumination sources 16 of second module 10 b are substantially spaced apart, the frame of image data captured at block 428 is substantially impervious to specular reflection read failures.
  • the operating method described with reference to FIG. 4 b can be utilized with any use of readers 5 - 1 , 5 - 2 , 5 - 3 , 5 - 4 , 5 - 5 , 5 - 6 , 5 - 7 , 5 - 8 , and 5 - 9 .
  • a reader having three imaging modules 10 a , 10 b , and 10 c e.g. of reader 5 - 2 can be further configured so that the control circuit 140 captures a third frame of image by actuation of image sensor 32 of first module e.g., 10 a together with actuation of illumination light sources of third module 10 c.
  • control circuit 140 at block 446 captures first and second frames of image data.
  • the first frame of image data captured at block 446 may be captured via actuation of image sensor and illumination light sources of first imaging module e.g., module 10 a of reader 5 , FIG. 1 a .
  • the second frame of image data captured at block 446 may be captured via actuation of image sensor 32 and illumination light sources 16 of second imaging module 10 c .
  • control circuit 140 may capture first and second frames at block 446 sequentially (the first frame is captured in its entirety and then the second frame is captured) or contemporaneously (the capture of the second frame begins before capture of the first frame is complete).
  • control circuit 140 subjects the first captured frame to a decode attempt. If decoding fails, control circuit 140 proceeds to block 456 to combine the first captured frame captured by actuation of an image sensor of a first module 10 a with a second captured frame of image data captured via actuation of a second imaging module 10 c to generate a third image representation.
  • control circuit 140 subjects the third image representation derived from the first and second frames to a decoding attempt. If decoding is successful, control circuit 140 outputs the decoded out message at block 462 .
  • multiple imaging module reader 5 executes the steps of attempting to decode decodable indicia and branching control of an operating program if the decoding attempt is not successful.
  • the step of attempting to decode in any one of the operating programs described with reference to FIGS. 4 a , 4 b , and 4 c can be substituted for or supplemented with the step of preliminarily evaluating image data to determine whether decoding will likely be successful.
  • a step of preliminarily evaluating image data can eliminate the need to actually launch decoding processing to determine whether indicia representation(s) within a frame of image data can be decoded.
  • a preliminary image data evaluating step can include the step of examining gray scale values of a frame of image data to determine if the image data has become saturated. If a saturation condition (sometimes referred to as a “white out” condition) is present there is a substantial likelihood of specular reflection misread or other type of misread attributable to excessive illumination.
  • a saturated condition can be considered to be present for example if a sum total of all gray scale values exceeds a predetermined value, or if an average gray scale value exceeds a predetermined threshold white level. All pixel values may be evaluated during the preliminary evaluation step. More typically, however, a sample of pixel values comprising less than all pixel values of a frame are evaluated to speed processing. The sampling of pixels may be predetermined and/or adaptive.
  • the step of preliminarily evaluating image data to determine whether decoding will be successful can also include the step of estimating a module-to-target distance. If an estimated module-to-target distance exceeds a best focus distance by a threshold amount (which may be a predetermined threshold), control circuit 140 may preliminarily determine that decoding will likely not be successful without actually subjecting image data of a frame to a decode attempt.
  • a threshold amount which may be a predetermined threshold
  • control circuit 140 may preliminarily determine that decoding will likely not be successful without actually subjecting image data of a frame to a decode attempt.
  • a method for generating a signal that varies with module to target distance is described in commonly assigned U.S. Pat. No. 5,773,810, entitled “Method of Generating Real Time Degree of Focus Signal For Hand Held Imaging Device,” which is hereby incorporated herein by reference in its entirety.
  • cross correlation image combination methods can be utilized.
  • statistical analyses are executed to compare two or more frames of image data and frames of image data are shifted relative to one another until correlation is optimized.
  • areas of overlap between two frames of image data e.g. 610 , 614 are determined and then the image data contribution from one of the frames corresponding to the overlapping area is deleted or modified in a manner depending on the overlapping region image data of the other frame to generate a third image representation 630 .
  • overlapping regions 619 and 621 are defined between the first and third frames 610 and 614 and between the third and second frames 614 and 612 .
  • Overlapping regions of image data 619 , 621 are regions e.g. of image data from two separate frames of image data that correspond to a common region of a target substrate.
  • the area of overlap between frames of image data captured via actuation of the image sensors of neighboring imaging modules can be determined based on known characteristics of the neighboring imaging modules 10 of reader 5 , such as the spacing between imaging modules of reader 5 (e.g. modules 10 a and 10 c of reader 5 - 3 ), power of imaging optics 40 of the particular imaging module 10 , and the respective module-to-target distances of the neighboring modules.
  • a distance of a module to a target can be estimated via analysis of captured image data, for example by a method for developing a degree of focus signal as is described in commonly assigned U.S. Pat. No.
  • the image frame diagram of FIG. 4 d may correspond to a parallel-axis reader 5 having a plurality of imaging modules comprising parallel imaging axes while the image frame diagram of FIG. 4 e (wherein frames 652 and 654 are distorted) may correspond to a diverging axis three module reader 5 .
  • overlapping regions 659 and 661 are defined between first frame 652 and third frame 656 and between third frame 656 and second frame 654 .
  • skew errors sometimes referred to as distortion errors
  • skew errors can readily be corrected for by, in part, utilizing a skew correction factor determined from the known relative angles between two imaging axes of a multiple module reader such axes 11 a and 11 b of reader 5 - 1 , and the spacing between modules of a multiple module reader such as reader 5 - 1 .
  • Further skew correction of a frame of image data can be carried out in a manner described in copending application Ser. No. 09/954,081, filed Sep. 17, 2001, entitled “Imaging Device Having Indicia-Controlled Image Parsing Mode,” (now U.S. Pat. No. 6,561,428) which is hereby incorporated herein by reference in its entirety.
  • a method is described wherein graphical analysis and interpolation processing are employed to determine a distortion factor affecting a frame of image data, and further wherein the determined distortion factor is utilized to back out distortion from an image.
  • graphical feature analysis can be utilized in combining frames of image data. If a common graphical feature (e.g. a straight line, a bullseye, a circle, a character) is found in two frames of image data, the common graphical feature can be utilized to establish a common orientation, spacing, and skew basis between the frames of image data to be combined.
  • a common graphical feature e.g. a straight line, a bullseye, a circle, a character
  • FIG. 4 f is a flow diagram 400 that illustrates one embodiment of a data acquisition and decoding process of the invention.
  • the process begins at the “start” oval 402 .
  • the process involves obtaining a frame of image data, as indicated by box 404 .
  • the correct decode algorithm for decoding the frame of image data is identified in response to the format of the frame of image data, as indicated at box 406 .
  • the format information used to determine the correct decode algorithm can be any information representing a frame size, information identifying a frame format, information identifying a word size, and information identifying a source of said frame.
  • the process which in one embodiment comprises computer instructions operating on the microprocessor-based decoder module, determines whether the correct decode algorithm is active, as indicated by decision diamond 408 .
  • the decode algorithm is embodied in a module (e.g., a dynamically linked library module, or .dll module). If the necessary .dll module is not loaded into memory, the .dll can be invoked, loaded, and linked thereby providing the necessary decoding module. Once the correct decode module is operational, the decoding step of box 412 is performed. The process ends at oval 414 , labeled “end.”
  • the same process steps are performed in an alternative sequence.
  • the process starts at the oval 402 labeled “start.”
  • the correct decode algorithm for decoding the frame of image data is identified in response to the format of the frame of image data, as indicated at box 406 .
  • the format information used to determine the correct decode algorithm can be any information representing a frame size, information identifying a frame format, information identifying a word size, and information identifying a source of said frame.
  • the process which in the alternative embodiment comprises computer instructions operating on the microprocessor-based decoder module, determines whether the correct decode algorithm is active, as indicated by decision diamond 408 .
  • the process follows the “no” arrow from decision diamond 408 to box 410 , which represents making the correct decode algorithm active.
  • the decode algorithm is embodied in a module (e.g., a .dll module). If the necessary .dll module is not loaded into memory, the .dll can be invoked, loaded, and linked, thereby providing the necessary decoding module.
  • the frame of image data to be decoded is obtained as indicated at box 404 , and the decoding process is performed as indicated by box 412 . The process is completed as indicated at the oval 414 labeled “end.”
  • FIG. 4 h is an exemplary flow diagram 430 illustrating an example of identification of an imaging module according to the invention.
  • the identification process starts at the oval 432 labeled “start.”
  • a parameter is selected for use in identification of an imaging module, as indicated at box 434 .
  • the parameter is information that comprises at least one of a bus address of the module, an ID code of the module, a model identifier of the module, and an electrical characteristic of the module, such as a characteristic resistance.
  • the process of identifying the imaging module, or sensor involves polling the sensor to recover a responsive signal, as indicated at box 436 . As indicated at decision diamond 438 , the response is compared with the selected parameter, to determine if the correct parameter has been received.
  • the process continues with the selection of a new parameter, as indicated at box 440 .
  • the sensor polled again, at box 436 , and the response is tested at diamond 438 .
  • the steps of selecting a parameter, polling the sensor, and checking whether the correct response is obtained can be iterated until the sensor is identified.
  • FIG. 4 i is an exemplary flow diagram 450 illustrating an example of locating a selected imaging module according to the invention.
  • the imaging module location process is designed to identify a particular imaging module out of a plurality of imaging modules. The process starts at oval 452 labeled “start.”
  • a parameter is selected for use in identification of an imaging module, as indicated at box 454 .
  • the parameter is information that comprises at least one of a bus address of the module, an ID code of the module, a model identifier of the module, and an electrical characteristic of the module, such as a characteristic resistance.
  • a first sensor or imaging module is polled, as indicated at box 456 . The response from the sensor is evaluated at decision diamond 458 .
  • a negative response to the polling can be a response that is not the desired or expected response, or the absence of a response after a suitable time period has elapsed.
  • the cycle of polling another sensor and evaluating the response can be repeated, or iterated, as many times as desired, and in any event as many times as there are sensors to be polled. If the response from some sensor is the expected, or appropriate, response, the sensor is deemed to have been located, as indicated at box 462 .
  • the identification system can optionally retest the presumed known sensor, if high assurance of the correct identification is desired, as indicated at diamond 464 . If the identification is deemed acceptable, the process proceeds to oval 474 , marked “end.”
  • the process can select another parameter that is expected to be valid for the identified sensor, as indicated at box 466 .
  • the presumed known sensor is polled, as indicated at box 468 .
  • the response is tested, as indicated at diamond 470 . If the response is appropriate, as indicated by the arrow marked “yes,” the identity of the sensor is confirmed (e.g., the desired sensor is found with high confidence), and the process ends at the oval 474 . However, if the second polling response is not correct, the system halts and indicates an error condition, as indicated at box 472 .
  • FIG. 6 a is a schematic diagram 600 illustrating an exemplary means and method of connecting a plurality of imaging modules to a microprocessor-based decoder module of the invention using a multiplexer (“mux”) 610 .
  • the mux 610 can be operated under the control of a programmed microprocessor, such as the microprocessor 180 present on the microprocessor-based decoder module of the invention.
  • the decoder 180 has a single data line 625 connected to the mux 610 .
  • the data line 625 can include as many bit lines as are needed for serial or parallel transmission of data from the mux 610 to the decoder 180 , and can further include as many signal lines as are required for communication of control signals between the decoder 180 and the mux 610 .
  • three sensors or imaging modules 630 , 640 , 650 are depicted.
  • Each imaging module 630 , 640 , 650 has a respective connection line 632 , 642 , 652 connected to a respective input port of the mux 610 .
  • Each connection line 632 , 642 , 652 includes all the data and control lines necessary to operate a sensor and to obtain a frame of image data therefrom.
  • the decoder 180 can command the mux 610 via the connection 625 as to which of the sensors is to be selected, for example by reducing a resistance of a switch connecting the mux 610 to each line of the data and control lines connecting the mux 610 with the selected sensor. In this manner, the decoder 180 can select any imaging module of the available imaging modules 630 , 640 , 650 by issuing a suitable command to the mux 610 , which command may include instructions that are communicated to the selected sensor.
  • Sensors 630 , 640 and 650 can include at least two types of imaging modules that provide image data having formats that are different from one another.
  • FIG. 6 b is a schematic diagram 602 illustrating an exemplary means and methods of connecting a plurality of imaging modules to a microprocessor-based decoder module of the invention using manual connection by a user.
  • a decoder 180 is provided.
  • the decoder 180 has at least two connection lines 622 , 624 .
  • Each connection line 622 , 624 includes all the data and control lines necessary to operate a sensor and to obtain a frame of image data therefrom.
  • FIG. 6 a there are shown three sensors 630 , 640 , 650 , having respective connection lines 632 , 642 , 652 , which are initially unconnected to the decoder 180 .
  • Each connection line 632 , 642 , 652 includes all the data and control lines necessary to operate a sensor and to obtain a frame of image data therefrom.
  • the user can connect a selected sensor of sensors 630 , 640 , 650 to a first connection line of the decoder 180 , and can connect additional sensors selected from sensors 630 , 640 and 650 to the remaining connection line of decoder 180 .
  • the decoder 180 can be provided with more than two connection lines, and there can be more than three sensors 630 , 640 , and 650 .
  • Sensors 630 , 640 and 650 can include at least two types of imaging modules that provide image data having formats that are different from one another.
  • FIG. 6 c is a schematic diagram 604 of an illustrative hardware connection of a microprocessor-based decoder module 180 of the invention with a plurality of imaging modules 630 , 640 , 650 , 660 , and the relations of code modules 672 , 674 , 676 operating on the microprocessor 180 , according to principles of the invention.
  • FIG. 6 c there are four sensors, including sensors 630 , 640 , 650 and 660 .
  • the sensors are connected to the microprocessor-based decoder module via the mux 610 as described above.
  • sensors 630 , 640 , 650 and 660 are all designed to provide frames of image data in formats that are mutually incompatible.
  • the microprocessor-based decoder module 180 has resident in a memory thereof three dynamically linked library files (as .dll, .ocx or equivalent kinds of files), namely DLL 1 672 , DLL 2 674 and DLL 3 676 .
  • DLL 1 672 is a file that converts the input format of a frame of image data from one of the image modules, for example image module S 2 640 , into a format that microprocessor-based decoder module 180 can decode.
  • DLL 2 674 is available to convert the input format of a frame of image data from one of the image modules, for example image module S 3 650 , into a format that microprocessor-based decoder module 180 can decode.
  • DLL 3 676 coverts the input format of a frame of image data from a third module, for example S 1 630 , into a format that microprocessor-based decoder module 180 can decode.
  • any of DLL 1 672 , DLL 2 674 and DLL 3 676 can communicate with the corresponding sensor to transmit instructions thereto.
  • DLL 1 672 , DLL 2 674 and DLL 3 676 are configured only to receive and convert information representing a frame of image data in a particular format or formats from a respective sensor, but not to communicate instructions to the sensor.
  • imaging modules 630 , 640 or 650 are used to obtain image data, there is no problem to manipulate that data into a suitable format for decoding by activating the appropriate one of DLL 3 676 , DLL 1 672 and DLL 2 674 , respectively when the corresponding imaging module is operational.
  • the DLL that is required can be activated by setting a pointer in memory, by setting up the appropriate call, or by the use of an equivalent redirectable software command that can direct program flow to the necessary software module as needed.
  • an additional DLL file which has been prepared to convert frames of image data from the format provided by imaging module S 4 660 to a format that microprocessor-based decoder module 180 can decode, is read into an available section of memory, and the core program running on the microprocessor is redirected to use the newly installed DLL. More information on the installation of DLLs (e.g., .dll or .ocx files) and redirection of program flow is discussed in conjunction with FIG. 6 d.
  • FIG. 6 d is a schematic diagram 606 of an illustrative memory map 680 showing the relationships between and among computer code modules present and operating in a microprocessor-based decoder module according to principles of the invention.
  • all memory locations are expressed in hexadecimal notation, as is common in the programming arts; however, as is well known, other representations of memory location can be used.
  • the core program or “kernel” 682 is depicted as being present from memory location X0000 to memory location xA0B9. Pointers 684 are located from the memory location immediately following the kernel 682 , e.g., xA0BA, to memory location xABFF.
  • DLL 1 672 resides in memory locations xAC00-xACD7.
  • DLL 2 674 resides in memory locations xACD8-xADAD.
  • DLL 3 676 resides in memory locations xADAE-xBDF2.
  • Memory from xBDF3 and higher is available for computation memory (e.g., scratch memory 685 ) and other uses.
  • a new DLL e.g., DLL 4 686 , needs to be made available.
  • DLL 4 686 can be loaded into memory in the memory area extending from xCEB2 to xCEF4 688 that is large enough to accommodate DLL 4 686 .
  • a pointer in the pointer section 684 of memory 680 can be loaded with the location xCEB2 as the entry location for DLL 4 686 when the core program needs to invoke DLL 4 .
  • the remaining section 690 of memory 680 from xCEF5 to xFFFF, is available as for the use of the core program as needed.
  • FIG. 7 a is a drawing 700 that schematically illustrates some of the features of an exemplary imaging module 710 useful for practicing the invention.
  • imaging module 710 include two memory locations ID 720 and I 2 C Address 730 .
  • the memory location ID 720 is a nonvolatile memory that can be programmed to contain a unique identification symbol, such as a number or an alphanumeric string.
  • the ID 720 location of imaging module 710 is connected to a bus 740 .
  • the microprocessor-based decoder module 180 of the invention can interrogate ID 720 by way of the bus 740 .
  • An exemplary command that can be issued includes a request to transmit the contents of the ID 720 memory location over the bus for the use of the microprocessor-based decoder module 180 .
  • I 2 C Address 730 is a memory location that contains an address for the imaging module 710 on the bus 740 . Imaging module 710 responds when the address corresponding to the contents of I 2 C Address 730 is applied to the bus 740 , and does not respond when a different address is applied to the bus, according to the I 2 C protocol.
  • the microprocessor-based decoder module 180 can issue any of several commands to obtain information about imaging module 710 , including requests to have imaging module 710 perform actions, to have imaging module 710 report the start and/or the completion of the requested action, and reporting the address in I 2 C Address 730 memory.
  • FIG. 7 b depicts an alternative embodiment of an imaging sensor 710 that has a resistance 750 present therein.
  • the resistance 750 is in communication with the bus 740 via a switching mechanism (not shown) to avoid having multiple imaging modules applying resistance to the bus.
  • the microprocessor-based decoding module 180 can interrogate the resistance 750 by activating the switching mechanism.
  • Resistance 750 is depicted as a group of resistances R 1 752 , R 2 754 , and R 3 756 that are connected in parallel.
  • R 1 752 , R 2 754 , and R 3 756 are precision resistors having fixed resistance relationships, such as R 1 is twice the resistance of R 2 and four times the resistance of R 3 .
  • R 1 , R 2 and R 3 For example, one can obtain values of 1 ⁇ R 3 , 2 ⁇ R 3 (by leaving only R 2 in the circuit) and 4 ⁇ R 3 (by leaving only R 1 in the circuit) as well as 4/3 R 3 (R 1 and R 2 in parallel), 2/3 R 3 (R 2 and R 3 in parallel), 4/5 R 3 (R 1 and R 3 in parallel), and 4/7 R 3 (all three resistors in parallel).
  • the value of infinite resistance (all resistors disconnected) can also be used, but leaves as a possibility that no module 710 is connected at all.
  • FIG. 8 a which shows an illustrative flow diagram of an embodiment of an iterative decoding process 800
  • a frame of image data 810 is provided to the microprocessor-based decoding module 820 upon which a suitable computer program 830 is running.
  • the microprocessor-based decoding module 820 is programmed to handle the data of the format provided, as explained above.
  • the frame of image data is a frame of image data from a 2D imaging module 10 , such as those of FIGS. 1 a - 1 i .
  • the microprocessor-based decoding module 820 converts the 2D data 810 into a series of P 1D data segments 812 , where P is an integer greater than 1.
  • Each of the P 1D data segments 812 is further converted into a transition location information sequence 814 .
  • a prescriptive rule or algorithm.
  • one rule could be that data greater than 50% of full scale (e.g., greater than or equal to 128) is by definition translated to a “1” or “on,” and data less than 50% of full scale (e.g., less than or equal to 127) is by definition translated to “0” or “off.”
  • Other rules can equally well be implemented.
  • the decoding is iterative in that at least the decoding at the lowest level (N-bit to 1-bit) is performed repeatedly for each segment of 1D data 812 .
  • decoding is recursive in that data of higher than 1D format requires a plurality of passes through the decoding algorithm, wherein at each pass each decoding level above the N-bit to 1-bit level invokes a decoding step one level below itself, which ultimately ends at the lowest N-bit to 1-bit decoding.
  • decoded information 816 is provided as output by the decoding module 830 .
  • the same decoding process can be performed using hard wired logic in integrated circuit chips IC 1 850 and IC 2 860 .
  • the integrated circuit chips can be FPGAs programmed to perform the required logic, or the integrated circuit chips can be ASICs.
  • a frame of image data 810 is provided by a 2D imaging module 10 , such as those of FIGS. 1 a - 1 i .
  • IC 1 850 performs the same conversion functions that are performed by the microprocessor-based decoding module 820 of FIG.
  • IC 1 850 converts the 2D data 810 into a series of P 1D data segments 812 , where P is an integer greater than 1.
  • P is an integer greater than 1.
  • Each of the P 1D data segments 812 is further converted into a transition location information sequence 814 .
  • the rule can be the same rule as given above with regard to the microprocessor-based decoder module.
  • IC 2 860 decodes the converted data 814 to obtain decoded information 816 as output.
  • FIG. 9 a illustrates an embodiment of a microprocessor-based decoder module 920 in the form of a PC card.
  • the microprocessor-based decoder module 920 is provided in the form of a PCMCIA module.
  • Microprocessor-based decoder module 920 contains therein the microprocessor 910 which is illustrated in phantom as a region in the interior of module 920 .
  • Module 920 has a plurality of electrical contacts 912 for demountable connection of the module 920 to a product that employs the module, such as a digital camera 960 as is shown in FIG. 9 c and that is described in greater detail below.
  • the module 920 may receive power from the device in which it is demountably mounted, by way of two or more of the contacts 912 .
  • Module 920 may be “keyed” or otherwise mechanically indexed to allow insertion into the device in which it is demountably mounted in only the correct orientation.
  • the contacts 912 may be disposed in a pattern that permits seating of the module 920 within the device, such as digital camera 960 , only in the proper orientation, e.g., the contacts may be asymmetrically disposed with regard to a mirror plane or rotation axis of the module 920 .
  • FIG. 9 b illustrates an embodiment of a microprocessor-based decoder module 940 in the form of a circuit board.
  • a microprocessor-based decoder 910 mounted to a surface of the substrate.
  • the electrical traces common to printed circuit boards are not depicted.
  • electrical traces on one or more surface are provided to connect the microprocessor-based decoder 910 to a connector 918 .
  • the connector 918 is conveniently disposed on a peripheral edge of module 940 , for convenient demountable connection of module 940 to an imaging module 930 .
  • the connector 918 can take any convenient form, such as a card edge connector comprising a plurality of plated metallic “fingers,” a “D” connector having a plurality of metal pins, or a plug connector.
  • the module 940 is connected to an imaging module 930 by a connector 932 that is the mate for connector 918 .
  • a multiple conductor cable 935 is used to connect module 940 with imaging module 930 .
  • the cable 935 has at a first end thereof a first connector 933 that mates to connector 918 and at a second end thereof a connector 937 that is the mate to connector 932 of the imaging module 930 .
  • the connectors 918 and 932 are not mating connectors, and a cable such as cable 935 is required to accomplish the connection, the cable having two dissimilar connectors 933 , 937 that respectively mate to connectors 918 and 932 .
  • Module 940 may include additional connections (not shown) for provision of power and to provide decoded information for the benefit of a user.
  • Circuit board module 940 is adapted to be housed semi-permanently within a device such as hand held optical reader 980 , as shown and described in more detail below with regard to FIG. 9 d.
  • FIG. 9 c illustrates an embodiment of a digital camera 960 comprising the microprocessor-based decoder module 920 .
  • the camera 960 comprise a body 961 that houses and supports a optical imaging device 966 which can be activated by a user-activated switch, such as button 964 .
  • An entryway 962 is defined within the body 961 for insertion of the microprocessor-based decoder module 920 of FIG. 9 a into the camera 960 , as indicated by the phantom 968 .
  • the camera 960 further comprises a power supply, such as a battery (not shown) and mating connectors (not shown) to power and electrically connect to module 920 when it is present within camera 960 .
  • a power supply such as a battery (not shown) and mating connectors (not shown) to power and electrically connect to module 920 when it is present within camera 960 .
  • FIG. 9 d illustrates an embodiment of a hand-held optical reader 980 comprising the microprocessor-based decoder module 940 , which is shown in phantom.
  • the module 940 may be connected to the reader 980 , as has been described in conjunction with FIGS. 1 a - 1 g above.
  • the optical reader 960 further comprises an imaging module 984 that is electrically connected to the module 940 by way of cable 986 . Cable 986 is similar to cable 935 described above.
  • a switch 982 is provided for use by a user in activating optical reader 980 including its various components.
  • Optical reader 980 may be powered by a battery (not shown) or may be powered by a remote power supply via a power cable (not shown), as may be convenient for the intended method of use of optical reader 980 .
  • Optical reader 980 further comprises an output, which may be a display, an enunciator, or a means of recording results for later examination by a user.
  • the output may be local to optical reader 980 , or may be remote from optical reader 980 .
  • the output data may be transmitted via cable, via wireless or RF connection, via infrared or optical technology, by being recorded on a disk or other medium for later physical transfer, or by any other convenient means.
  • Another embodiment of the invention involves providing speech capability to the microprocessor-based decoder module.
  • the module is capable of recognizing commands provided in spoken form, and is capable of providing a response to a user in conventional spoken language.
  • the language is English. It will be understood that any language can be implemented that is capable of being spoken by a user or understood by a user.
  • a bar code on a package of food could be read, and the symbol could be used to enunciate the contents, the weight or volume, the price and other relevant information in a language selected by the user.
  • a symbol could be encoded with information such as text, so as to compress the space required to convey a quantity of information compared to the space required to print the information in a format readable directly by the user.
  • the conversion of the textual content into an encoded symbol also renders the textual information more secure or less readily available to individuals who are not authorized to access the information.
  • One embodiment involves the decoding of a symbol such as a barcode into text, and the conversion of the text into audible speech.
  • systems that can perform such data manipulation include a reader/decoder for the bar code, in conjunction with text to speech capability.
  • applications for such technology include a spoken response to a user of a reader for encoded indicia such as the indication that the symbol was correctly read; vocalization of identification information, such as material read from a document such as a license, a ticket, an identification badge or tag, or other printed material, for such purposes as indicating permission for entry to a theater, sporting event or the like, enunciation of permission to engage in an activity having an age requirement (e.g., drinking alcoholic beverages or buying tobacco), law enforcement purposes, enunciation of a security access authorization, or enunciation of information (e.g., instructions or the like) printed in the form of a decodable indicium.
  • the technology can be applied in various settings, such as in a retail setting, in a warehouse,
  • the microprocessor-based decoder module 180 includes an audio output module 1010 .
  • An output terminal or port of the microprocessor-based decoder module 180 is connected to an input terminal or port of the audio output module 1010 .
  • the audio output module 1010 can be powered by way of the output terminal of the microprocessor-based decoder module 180 , or it can be powered by an auxiliary conventional source of power (not shown) such as a power supply using a battery or a mains-connected power supply.
  • the audio output module 1010 comprises an audio codec (e.g., audio coder/decoder) 1012 connected to an output channel of the microprocessor-based decoder module 180 , a D/A converter 1014 having an input terminal connected to an output terminal of the audio codec 1012 , an audio amplifier 1016 having an input terminal connected to an output terminal of the D/A converter 1014 , and a speaker 1018 connected to an output terminal of the audio amplifier 1016 .
  • the operation of the audio codec 1012 , the D/A converter 1014 , the audio amplifier 1016 and the speaker 1018 are all conventional and will not be described herein in detail.
  • the microprocessor-based decoder module 180 can use as input to the audio output module 1010 a message recorded in a memory as digital information, such as a code corresponding to a prerecorded message stored in a memory in the audio output module 1010 , or as the digital message that the audio output module 1010 can decode. In other embodiments, the message is recorded as a wav. file, or in another audio file format. The message can be a digitized version of a pre-recorded message spoken by a person.
  • the microprocessor-based decoder module 180 provides a signal in response to a condition that it determines. The signal activates the audio output module 1010 to provide an aural response to a user.
  • audible spoken responses can be provided to a user in response to actions or conditions that the microprocessor-based decoder module 180 encounters.
  • the microprocessor-based decoder module 180 can cause the audio output module 1010 to enunciate such messages as: “Good read” (or alternatively “Read good”) in response to an acceptable reading of a decodable indicium; “No symbol found” in response to the apparent lack of a readable symbol within the region examined by a reader; “Image too dark” or “Image too light” in response to aberrant illumination conditions, faulty symbols or a combination of both; “Symbology is code 3 of 9 ,” “Symbology is Aztec,” or any other recognized symbology format in response to a determination of a symbology format; and “Download complete” in response to the completion of a download, as well as other similar audible responses.
  • the microprocessor-based decoder module 180 includes an audio input module 1020 .
  • An input terminal or port of the microprocessor-based decoder module 180 is connected to an output terminal or port of the audio input module 1020 .
  • the audio input module 1020 can be powered by way of the input terminal of the microprocessor-based decoder module 180 , or it can be powered by an auxiliary conventional source of power (not shown) such as a power supply using a battery or a mains-connected power supply.
  • the audio input module 1020 comprises an audio codec (e.g., audio coder/decoder) 1022 having an output terminal connected to an input channel of the microprocessor-based decoder module 180 , an A/D converter 1024 having an output terminal connected to an input terminal of the audio codec 1020 , an audio amplifier 1026 having an output terminal connected to an input terminal of the A/D converter 1024 , and a microphone 1028 having an output terminal connected to an input terminal of the audio amplifier 1026 .
  • the operation of the audio codec 1022 , the A/D converter 1024 , the audio amplifier 1026 and the microphone 1028 are all conventional and will not be described herein in detail.
  • the microprocessor-based decoder module 180 can use input from the audio input module 1020 to recognize a command by comparing the input signal to a message recorded in a memory as digital information, such as a digitized version of a pre-recorded message spoken by a person.
  • the microprocessor-based decoder module 180 uses conventional voice recognition software and or hardware, such as is used by other voice recognition systems.
  • the microprocessor-based decoder module 180 causes the performance of a function in response to a command that it recognizes.
  • a user activates the microprocessor-based decoder module 180 by speaking a command. When the command is recognized by the microprocessor-based decoder module 180 , it controls an imaging module or an entire reader in response to the command.
  • the signal activates the audio input module 1020 to provide an aural response to a user.
  • audible spoken command from a user can initiate actions or conditions that the microprocessor-based decoder module 180 carries out.
  • exemplary audible command that a user can give and that the microprocessor-based decoder module 180 can respond to are such commands as: “Scan”, which causes a response comprising the initiation of the scanning of a decodable indicium; “Trigger,” which causes the same behavior as the mechanical depression of a trigger switch; “Capture” or “Capture image,” which causes the initiation of image capture; “snap shot”, which causes the initiation of a snapshot image capture; “Menu,” which activates a menu routine, and which can then be followed by further commands that cause the navigation of a logical sequence of menu commands; “Sleep,” which initiates a sleep cycle; “Send image,” which initiates the transfer of an image in memory to another piece of hardware; “Decode,” which initiates the decode cycle of an image analysis routine; as well as other similar commands.
  • Scan causes a response comprising the initiation of the scanning of a decodable indicium
  • Trigger which causes the same behavior as the mechanical depression of
  • a sequence of audible interactions between a user and a microprocessor-based decoder module 180 having both an audio input module 1020 and an audio output module 1010 can occur.
  • the user can issue the commands “Scan” and “Trigger.”
  • the microprocessor-based decoder module 180 might respond “Good read.”
  • the user could then issue the command “Capture image.”
  • the microprocessor-based decoder module 180 might then respond “Symbology is . . . (UPC) . . . .
  • the user could command “Decode.” Upon successful decoding of the image and enunciation of the result, if no further images need to be decoded, the user could issue the command “Sleep.” In such a manner, the user operates the microprocessor-based decoder module 180 and the imaging hardware connected to it without the need to touch or manipulate anything, simply by issuing voice commands and by receiving audible responses that inform the user of the status and outcome of actions the user has commanded, as well as notification of error conditions that arise or the like.
  • FIG. 10 c there are illustrated interconnections that exist among components of an illustrative system providing bar code to speech or bar code to text to speech functionality.
  • a detector 1032 acquires an image of the encoded indicium, and provides the encoded information therein to a decoder 1034 .
  • the decoder 1034 analyses the encoded information. Based at least in part on the analysis, the decoder 1034 can obtain text or other information from a local memory or from a remote memory, using such data interface and communication media 1036 as RF, infrared, computer or telephone networks, and/or hardwire connections.
  • the decoder 1034 communicates the information to be enunciated by way of serial or parallel communication channels, such as a bus, to a text to speech converter 1038 , which drives a speaker 1039 , thereby enunciating the information as audible speech.
  • FIGS. 10 d - 10 f illustrate flow diagrams that show methods of speech enunciation that embody the invention.
  • the detector 1032 acquires a bar code or other decodable indicium, as indicated in box 1042 .
  • the decoder 1034 decodes the information, as indicated by box 1044 .
  • a decision is made as to whether a spoken message is to be provided, as indicated at diamond 1046 . If a spoken message is required, the message is expressed is indicated by box 1048 . However, if no spoken message is required, the action taken at box 1048 is suppressed, as indicated by the arrow that bypasses box 1048 .
  • the determination whether the information will be enunciated as speech can be based in part of the content of the information as compared to a test criterion.
  • the test criterion can be the presence or absence of a particular string or symbol in the decoded information, the presence or absence of a decodable symbol of a particular symbology type (e.g., UPC) or the presence or absence of a particular type of information (e.g., a menu, an instruction, or the like), the source of the information (e.g., speak so as to convey the bar code, or so as to convey information provided as an alternative input, such as the current price, whether and how many of an item are in stock, colors, sizes, or other features of the item, and the like), and criteria such as speak everything (e.g., “chatterbox”), or speak nothing (e.g., silence).
  • speak everything e.g., “chatterbox”
  • speak nothing e.g., silence
  • the system can perform other tasks, such as determining whether data should be presented in another format (e.g., printed, recorded, and so forth) at decision diamond 1047 , and the system then acts on the decision at box 1047 .
  • a system loops until data is obtained (e.g., idle 1050 , followed by data input test diamond 1052 and return arrow if the test returns negative).
  • data is obtained (e.g., idle 1050 , followed by data input test diamond 1052 and return arrow if the test returns negative).
  • a test for a spoken response occurs (e.g., diamond 1046 ). If a spoken message is required, the message is expressed is indicated by box 1048 . However, if no spoken message is required, the action taken at box 1048 is suppressed, as indicated by the arrow that bypasses box 1048 .
  • the criteria for making the decision are described above with regard to FIG. 10 d .
  • Another function can be tested, as indicated at diamond 1058 , and can be performed at indicated at box 1059 , or can be bypassed as indicated by the arrow that bypasses box 1059 , depending on the outcome of the test.
  • the order of the spoken response and the other function can be interchanged as needed, which would be represented by a flow diagram similar to FIG. 10 e , in which the sequence of diamond 1058 , box 1059 and the corresponding bypassing arrow are positioned after the input loop and before diamond 1046 and box 1048 .
  • FIG. 10 f depicts a flow diagram that illustrates yet another method of the invention, in which the detector 1032 observes a decodable indicium, as indicated in the box 1060 labeled “acquire bar code.”
  • the decoder 1034 decodes the bar code, as indicated schematically in the box 1062 labeled “decode.” Based on the content of the decoded information, or on a type of bar code, or in response to another feature of the decoded information, the decoder requests information by communicating by way of data interface and communication media 1036 , as indicated in box 1064 labeled “request information.”
  • the decoder 1034 receives a response as indicated by box 1066 labeled “receive feedback.”
  • the system determines at diamond 1046 labeled “speech?” whether a spoken communication is required.
  • any implementation of the transfer function including any combination of hardware, firmware and software implementations of portions or segments of the transfer function, is contemplated herein.

Abstract

The invention relates to a microprocessor-based decoder board for an optical reader having in one embodiment a plurality of imaging modules that provide frames of image data having a plurality of formats. In one method for operating the decoder board of the invention, and a multiple imaging module reader comprising the decoder board, a frame of image data captured by a selected imaging module is decoded. The decoder board determines the format of the frame of image data from information about which of the plurality of imaging modules provided the frame of image data or from information about the frame of image data, activates as necessary a command to prepare the decoder board to decode the frame of image data according to the format provided by the imaging module, and performs the decoding.

Description

CROSS REFERENCE TO RELATED APPLICATIONS
This application is a continuation of U.S. patent application Ser. No. 11/442,666, filed May 26, 2006 entitled “Decoder Board For An Optical Reader Utilizing A Plurality Of Imaging Formats” which is a divisional of U.S. patent application Ser. No. 10/339,439 filed Jan. 9, 2003, entitled “Decoder Board For An Optical Reader Utilizing A Plurality Of Imaging Formats” (now U.S. Pat. No. 7,086,596), which is incorporated herein by reference. This application is related to the applications enumerated below, all of which are being filed with the United States Patent and Trademark Office on Jan. 9, 2003, and all of which are subject to assignment to the same assignee of this application, the disclosure of each of which is incorporated herein by reference in its entirety: U.S. patent application Ser. No. 10/339,275, entitled “Housing for an Optical Reader” (now U.S. Pat. No. 7,147,162); U.S. patent application Ser. No. 10/339,424 (now abandoned), entitled “Optical Reader System Comprising Digital Conversion” (U.S. Patent Publication No. 2004/0004128); U.S. patent application Ser. No. 10/339,004 (now abandoned), entitled “Analog-to-Digital Converter with Automatic Range and Sensitivity Adjustment” (U.S. Patent Publication No. 2004/0134988); U.S. patent application Ser. No. 10/339,061 (now abandoned), entitled “Manufacturing Methods for a Decoder Board for an Optical Reader Utilizing a Plurality of Imaging Formats” (U.S. Patent Publication No. 2003/0222144); and U.S. patent application Ser. No. 10/339,281 (now abandoned), entitled “Optical Reader Having Position Responsive Decode Launch Circuit” (U.S. Patent Publication No. 2003/0168512).
FIELD OF THE INVENTION
The invention relates to optical readers in general and particularly to a decoder board for an optical reader that employs one of a plurality of image sensor devices that provide a plurality of data formats.
BACKGROUND OF THE INVENTION
Decodable indicia such as bar codes and OCR decodable characters are finding increased use in an ever expanding variety of applications. For example, bar codes are being applied to paper substrate surfaces, plastic bags, glass, and directly on finished articles. Decodable indicia that can be applied deliberately to objects include a variety of formats, comprising geometrical features (e.g., one-dimensional (1D) symbols, two-dimensional (2D) symbols), and features of tonality and/or color (e.g., symbols comprising gray scales and symbols comprising colors). Decodable indicia can also occur naturally, for example in the form of biometric indicia such as fingerprints, retinal patterns, facial features and the like. Some of these natural indicia may also be applied, deliberately or inadvertently, to other surfaces, for example as fingerprints.
Often, different types of decodable indicia require imaging modules that provide different data formats. The term “imaging module” is intended in one embodiment to describe the image sensor device itself. The sensor when disposed within a housing, and including, as required, imaging optics, lenses, filters and the like, and electronic circuitry used to operate the image sensor device or used in conjunction with the image sensor device, is referred to as an optical reader. Historically, one type of decoder module has been used with imaging modules providing data having a first format (for example, 1D data), and another type of decoder module has been used with imaging modules providing data having a second format (for example, 2D data). In general, the computational power required to decode more densely encoded decodable indicia causes decoder modules suitable for such decoding to be relatively expensive as compared to decoder modules with only sufficient computational power to decode less complex decodable indicia. This relationship is generally referred to as a “price-performance trade-off.”
A number of problems in imaging different decodable indicia arise because of the circumstances of use of the decodable indicia. For example, where decodable symbols or characters have been applied to particularly reflective “shiny” surfaces (such as glass, plastic, or metallic surfaces), “specular reflection” decode failures have been observed. “Specular reflection” occurs where a light ray incident on a highly reflective (mirror) surface is reflected at an angle substantially equal to an angle of incidence measured with respect to a direction that is substantially normal to the surface. In optical readers, light sources are positioned to emit light along a path closely adjacent a centrally located imaging axis. An optical reader light is directed at a reflective target and, therefore, the illumination light tends to be reflected secularly in the direction of the reader's photodetector elements. Specular reflection can result in the captured image data failing to exhibit adequate contrast between dark and light markings of a decodable indicia. With the increased miniaturization of optical readers, light sources for illuminating a target are being positioned in closer proximity with a photodetector element of the reader, thereby rendering the modem reader more susceptible to specular reflection read failures.
The proliferation of the use of decodable markings has brought to light additional problems with presently available optical readers. It has become more common to encode more information into single decodable indicia, e.g. with use of “high density” bar codes, to affix more than one decodable indicia in need of decoding, possibly having different formats, onto an article or package, and to make bar codes wider so that they can encode more information. “High density” bar codes are best decoded with the use of a high resolution optical reader which is configured to have a short “best focus” position. Extra wide bar codes and scenes having more than one bar code are best decoded with use of readers having a longer best focus position. Commercially available optical readers cannot easily read high density extra wide decodable symbols or multiple symbols from a scene which are encoded in high density.
There is a need for an optical reader which can decode a variety of different formats of image data, so as render it impervious to decode failures resulting from specular reflection, and which is adapted to read large or multiple high density decodable symbols, possibly having a plurality of formats, formed on a target.
BRIEF DESCRIPTION OF THE DRAWINGS
The objects and features of the invention can be better understood with reference to the drawings described below, and the claims. The drawings are not necessarily to scale, emphasis instead generally being placed upon illustrating the principles of the invention. In the drawings, like numerals are used to indicate like parts throughout the various views.
FIGS. 1 a-1 i illustrate exemplary embodiments of optical readers comprising a microprocessor-based decoder module according to the invention;
FIGS. 2 a-2 f illustrate exemplary embodiments of microprocessor-based decoder modules according to the invention;
FIG. 2 g is a timing diagram illustrating an exemplary relation for control signals, exposure periods and frame acquisition, according to the invention;
FIGS. 2 h-2 j illustrate additional exemplary embodiments of microprocessor-based decoder modules according to the invention;
FIGS. 3 a-3 d are drawings that illustrate the features of imaging modules that are useful for practicing the invention;
FIGS. 4 a-4 c are flow diagrams depicting exemplary methods of practicing the invention;
FIGS. 4 d-4 e illustrate examples of images captured using a plurality of imaging sensors;
FIGS. 4 f-4 g are flow diagrams illustrating examples of the image data acquisition and decoding process according to the invention;
FIG. 4 h is an exemplary flow diagram illustrating an example of identification of an imaging module according to the invention;
FIG. 4 i is an exemplary flow diagram illustrating an example of locating a selected imaging module according to the invention;
FIGS. 5 a-5 e illustrate exemplary optical readers that embody features of the invention;
FIGS. 6 a-6 b are schematic diagrams illustrating exemplary means and methods of connecting a plurality of imaging modules to a microprocessor-based decoder module of the invention;
FIG. 6 c is a schematic diagram of an illustrative hardware connection of a microprocessor-based decoder module of the invention with a plurality of imaging modules, and the relations of code modules present when the microprocessor is operating, according to principles of the invention;
FIG. 6 d is a schematic diagram of an illustrative memory map showing the relationships between and among computer code modules present in a microprocessor-based decoder module during operation, according to principles of the invention;
FIGS. 7 a-7 b schematically illustrate features of exemplary imaging modules useful for practicing the invention;
FIGS. 8 a-8 b schematically illustrate features of an illustrative decoding algorithm and an equivalent decoder circuit embodiment that operate according to principles of the invention;
FIGS. 9 a-9 d illustrate embodiments of microprocessor-based decoder modules and products comprising the same, according to principles of the invention;
FIG. 10 a illustrates an embodiment of a microprocessor-based decoder module that includes an audio output module that allows the microprocessor-based decoder module to communicate with a user in natural language, according to principles of the invention; and
FIG. 10 b illustrates an embodiment of a microprocessor-based decoder module that includes an audio input module that permits a user using natural language to communicate commands to the microprocessor-based decoder module, according to principles of the invention;
FIG. 10 c illustrates interconnections that exist among components of an illustrative system providing bar code to text to speech functionality, according to principles of the invention; and
FIGS. 10 d-10 f illustrate flow diagrams that show methods of speech enunciation that embody the invention.
DETAILED DESCRIPTION OF THE INVENTION
In one aspect, the invention relates to a circuit component for an optical reader. The optical reader utilizes a selected one of a one-dimensional (1D) imaging module and a two-dimensional (2D) imaging module. The circuit component comprises a microprocessor-based decoder module that, when operative, decodes a frame of image data provided by a selected one of the one-dimensional (1D) imaging module and the two-dimensional (2D) imaging module. The decoding is responsive to information selected from one of information relating to the selected imaging module and information relating to the frame of image data.
In one embodiment, the information relating to the selected imaging module comprises at least one of a bus address of the module, an ID code of the module, a model identifier of the module, and an electrical characteristic of the module. The microprocessor-based decoder module, when operative, determines which of the 1D imaging module and the 2D imaging module provides a particular frame of image data. Alternatively, the microprocessor-based decoder module, when operative, decodes the frame of image data according to the determination of which imaging module provided the frame. The information relating to the frame of image data comprises information representing a frame size, information identifying a frame format, information identifying a word size, and information identifying a source of the frame.
In one embodiment, the microprocessor-based decoder module decodes the frame of image data in a time period less than or equal one second. In a more preferred embodiment, the time period is less than or equal to 1/30th of a second. In a still more preferred embodiment, the time period is less than or equal to 1/270th of a second.
In one embodiment, the microprocessor-based decoder module comprises a microprocessor, a random access memory (RAM), and a read only memory (ROM). In one embodiment, the microprocessor-based decoder module comprises at least one of a field programmable gate array (FPGA), a programmable logic device (PLD), a complex programmable logic device (CPLD), and an application-specific integrated circuit (ASIC). In one embodiment, the microprocessor-based decoder module comprises an integrated circuit device having integrated therein a microprocessor, an analog-to-digital converter, a digital-to-analog converter, a direct memory access (DMA) channel, a bi-directional communication line for communication with an imaging module, and a channel for data receipt from an imaging module. In one embodiment, the integrated circuit device comprises a selected one of a semiconductor, an optical material, and a photonic bandgap material.
In one embodiment, the invention includes an optical reader comprising the circuit component.
In another aspect, the invention features, a method of decoding a frame of image data. The frame of image data has one of a 1D format and a 2D format. The method comprises the steps of providing at least one imaging module selected from a one-dimensional (1D) imaging module and a two-dimensional (2D) imaging module; acquiring a frame of image data in the selected imaging module; communicating the frame of image data to a microprocessor-based decoder module; determining the format of the frame of image data; as necessary, activating at least one command to prepare the microprocessor-based decoder module to decode the communicated frame of image data; and decoding the communicated frame of imaging data accordingly.
In one embodiment, the format of the frame of image data is determined in response to one of information about the selected imaging module that acquired the communicated frame of imaging data, and information about the frame of image data.
In one embodiment, the decoding step comprises converting 2D image data to at least one 1D representation of image data.
In one embodiment, the decoding step further comprises converting the at least one 1D representation of image data to transition location information. In one embodiment, the steps of converting 2D image data to at least one 1D representation of image data, and converting the at least one 1D representation of image data to transition location information are performed iteratively.
In one embodiment, the step of determining which of the 1D and the 2D imaging modules acquired the communicated frame further comprises evaluating a parameter characteristic of one of the 1D and the 2D imaging modules. In one embodiment, the decoding step further comprises executing a selected one of at least one computer instruction which when operating on a computer decodes a frame of image data acquired by the 1D imaging module and at least one computer instruction which when operating on a computer decodes a frame of image data acquired by the 2D imaging module. In one embodiment, the at least one computer instruction which when operating on a computer decodes a frame of image data acquired by the 1D imaging module comprises a plurality of computer instructions executed in sequence. In one embodiment, the at least one computer instruction which when operating on a computer decodes a frame of image data acquired by the 2D imaging module comprises a plurality of computer instructions executed in sequence.
In one embodiment, a time period of less than or equal to one second elapses in performing the steps of determining which of the selected imaging modules acquired the communicated frame of imaging data; as necessary, activating at least one command to prepare the microprocessor-based decoder module to decode the communicated frame of image data; and decoding the communicated frame of imaging data accordingly. In a preferred embodiment, the time period is less than or equal to 1/30th of a second. In a more preferred embodiment, the time period is less than or equal to 1/270th of a second.
In another aspect, the invention relates to a computer program, recorded on a machine-readable medium. The computer program, when operative on a programmable computer, performs the steps of receiving a frame of image data acquired by a selected one of a 1D imaging module and a two-dimensional (2D) imaging module; determining which of the selected imaging modules acquired the received frame of imaging data; and decoding the frame of imaging data accordingly.
In one embodiment, the decoding step comprises converting 2D image data to at least one 1D representation of image data. In one embodiment, the decoding step further comprises converting the at least one 1D representation of image data to transition location information. In one embodiment, the steps of converting 2D image data to at least one 1D representation of image data, and converting the at least one 1D representation of image data to transition location information are performed iteratively. In one embodiment, the invention includes an optical reader comprising the computer program.
In yet another aspect, the invention features a computer program, recorded on a machine-readable medium. The computer program comprises a module that receives a frame of image data acquired by a selected one of a 1D imaging module and a two-dimensional (2D) imaging module; a module that determines which of the selected imaging modules acquired the received frame of imaging data; and a module that decodes the frame of imaging data accordingly.
In one embodiment, the invention includes a dynamically linked library module for communicating information from the computer program to the selected imaging module. In another embodiment, the invention includes a dynamically linked library module for communicating image data from the selected imaging module to the module of the computer program that receives a frame of image data. In a further embodiment, the invention includes an optical reader comprising the computer program.
In a further aspect, the invention relates to a circuit board component for an optical reader. The optical reader utilizes at least one of a one-dimensional (1D) imaging module and a two-dimensional (2D) imaging module. The circuit board comprises a circuit board substrate having at least one plane of electrical connecting structures thereon; and an integrated circuit comprising a microprocessor-based decoder mounted on and electrically connected to the circuit board substrate to form a circuit board component, that, when operative, decodes a frame of image data provided by a selected one of the one-dimensional (1D) imaging module and the two-dimensional (2D) imaging module.
In one embodiment, the circuit board component further comprises a connector in electrical communication with the integrated circuit. The connector provides the ability to demountably electrically connect the integrated circuit and at least one of the 1D imaging module and the 2D imaging module.
In one embodiment, the circuit board component further comprises at least one of the 1D imaging module and the 2D imaging module.
In one embodiment, the invention includes an optical reader comprising the circuit board component.
In yet another aspect, the invention features an electrical component for an optical reader. The optical reader utilizes at least one of a one-dimensional (1D) imaging module and a two-dimensional (2D) imaging module. The electrical component comprises means for, when operative, decoding a frame of image data provided by a selected one of the one-dimensional (1D) imaging module and the two-dimensional (2D) imaging module.
In one embodiment, the electrical component further comprises connector means, in electrical communication with the electrical component that provides the ability to demountably electrically connect the electrical component and at least one of the 1D imaging module and the 2D imaging module.
In one embodiment, the electrical component further comprises at least one of the 1D imaging module and the 2D imaging module. In another embodiment, the invention includes an optical reader comprising the electrical component.
The foregoing and other objects, aspects, features, and advantages of the invention will become more apparent from the following description and from the claims.
Imaging modules that provide different formats of image data are useful in obtaining images of decodable indicia having different attributes, such as the geometrical, tonal, and color attributes described above. The present invention provides a microprocessor-based decoder module for decoding data in a selected format of a plurality of formats as provided by a selected one of a plurality of different types of imaging modules. In one embodiment, the microprocessor-based decoder module is useful for decoding data in a selected format of a plurality of formats as provided by a selected one of a plurality of different types of imaging modules in hand held optical readers. Other uses will be apparent to those of ordinary skill from the description of the microprocessor-based decoder module presented herein.
Exemplary embodiments of microprocessor-based decoder modules that accept and decode a frame of image data in any of a plurality of formats are described below. The image data is provided by a selected one of a plurality of sensors or imaging modules at least two of which provide a frame of image data in a format different from the format of the image data provided by the other, recognizing that only one such sensor need be available for use at any particular time. As will be apparent from the description herein, in some embodiments, a plurality of sensors can be available simultaneously, while in other embodiments, a single selected sensor is available. In either circumstance, a microprocessor-based decoder module according to the invention can determine how to decode a specific image frame that is received from an active sensor. The sensors can include, but are not limited to, 1D imaging modules, 2D imaging modules, gray scale imaging modules, color imaging modules, and biometric imaging modules. Optical readers comprising such microprocessor-based decoder modules are also described herein.
There are many benefits that flow from the use of a microprocessor-based decoder module of the kind described and claimed herein. Some of the benefits relate to improvements in business methods, including such advantages as: having fewer models of parts that need to be manufactured, inventoried, and made available for product assembly and maintenance; having fewer models of parts for which personnel need to be trained, thereby improving manufacturing efficiency, maintenance efficiency, and improved knowledge and familiarity of the personnel of the features and required practices associated with a lesser number of models of parts that are handled more frequently; and opportunities to obtain advantageous commercial terms (e.g., volume discounts, better service, and the like) as a consequence of ordering larger quantities of components or parts used in making a specific quantity of a single model of a product as compared to lesser quantities of particular components required if the total same number of units were to be produced in a plurality of discrete models each using different components or parts.
Additional business method benefits can accrue from the use of a single microprocessor-based decoder module that can be “personalized” or “reprogrammed” to accept and decode frames of image data having different formats from a plurality of different sensors. By way of example, some of the advantages that can accrue include: the ability to add additional sensor models and types as such sensors are developed, including sensors having formats that may be new and/or different from existing formats, through the ability to provide a dynamically linked library module (e.g., a .dll or .ocx module) that provides either or both of communicating information from a computer program operating on the microprocessor-based decoder module to the imaging module, and communicating image data from the imaging module to a module of the computer program operating on the microprocessor-based decoder module that receives a frame of image data; quickly and conveniently switching operation from a first sensor providing a frame of image data of a first format to a second sensor providing a frame of image data of a second format by the simple expedient of redirecting the microprocessor-based decoder module to use a different computer program and/or a different dynamically linked library module; and improved ease of testing and troubleshooting products during manufacture through the use of a test facility comprising one or more of the microprocessor-based decoder modules, that duplicates the operation of a particular microprocessor-based decoder module with any of the sensors intended for use therewith, thereby permitting the pre-assembly testing of components, and eliminating “rework” of products that are faulty.
Embodiments of optical readers having more than one imaging module are shown in FIGS. 1 a-1 i. In FIGS. 1 a-1 b a gun style optical reader 5-1 is shown including first and second imaging modules 10 a and 10 b incorporated in housing 7. Imaging modules 10 can be of the type shown in FIGS. 3 a-3 d. Imaging module 10, 10-1 as shown in FIGS. 3 a and 3 c includes a support assembly 80 having a containment section 81 and a retainer section 82, a first circuit board 14 a carrying an image sensor 32, a second circuit board 14 b, illumination LEDs 16 aiming LEDs 18, an optical plate 26 carrying aiming and illumination optics 25, 27, and support posts 84 holding the various components of the module together. In another embodiment, an imaging module can comprise as little as the image sensor 32 alone. Image sensor 32 can comprise a substantially linear array of picture elements (pixels), which can be for example a 1×N array (e.g., 1×3500), or an M×N pixel array that has an aspect ratio that is close to 1×N, for example 2×2000 (e.g., M/N=0.001), 5×2500 (e.g., M/N=0.002), or even 20×2000 (e.g., M/N=0.01). Further details of imaging module 10-1 are described in application Ser. No. 10/092,789 filed Mar. 7, 2002 entitled “Optical Reader Imaging Module,” (now U.S. Patent Publication No. 2003/0029917) which is hereby incorporated herein by reference in its entirety. As indicated by FIGS. 3 a and 3 b imaging modules 10 can be built as a modularly installable self-contained unit. That is, module 10 can be assembled into the packaged form shown in FIGS. 3 a and 3 b at an assembly location prior to being installed in a cavity defined by reader housing 7.
Imaging module 10 can be screw mounted on any rigid member within housing 7 in the manner described in application Ser. No. 10/092,789 filed Mar. 7, 2002, entitled: “Optical Reader Imaging Module,” (now U.S. Patent Publication No. 2003/0029917) incorporated herein by reference above. Module 10 can include screw holes 810 for facilitating mounting of module 10 on a rigid member. As indicated by support assembly 80 of FIG. 3 d, support assembly 80 can include wings 80 w having screw holes 810. Reader 5 can include a main circuit board 15 or “mother board” which includes control circuit circuitry as described in detail in connection with FIGS. 2 a-2 j. In one embodiment, as indicated by reader 5-2 of FIG. 1 d, a plurality of imaging modules 10 can be mounted to a rigid member provided by a common main circuit board 15. Imaging modules 10 can be interfaced with mother board 15 with use flex strip connectors 17 known in the art.
Module 10 a and module 10 b are disposed in a common cavity 6. A wall 8 formed in housing 7 dividing cavity 6 into two spaces would not create two separate cavities since cavity 6 of reader 5-1 would still be delimited by the common outer peripheral wall of housing 7.
Incorporating more than one imaging module 10 in an optical reader housing 7 yields a number of advantages. One benefit is that the presence of a plurality of imaging modules 10 of different types permits a single optical reader to capture images from different kinds of decodable indicia.
As another example, if an attempt to decode a decodable indicia by capturing and subjecting to decoding an image captured via actuation of first module 10 a fails, a second decoding attempt can be made by capturing and subjecting to decoding image captured via actuation of second imaging module 10 b. Further, reader 5 can be actuated to capture and subject to decoding a frame of image data captured by actuation of an image sensor 32 of a first module 10 a and illumination LEDs 16 of a second imaging module 10 b. The spacing between illumination LEDs 16 of a second module 10 b and an image sensor 32 of a first imaging module 10 a renders the frame of image data capture by the described method substantially impervious to specular reflection image degradation.
In addition, image data of several frames captured by actuation of several different imaging modules can be combined, by one of several possible image frame combination methods, to yield a larger frame of image data. The larger image representation is yielded by combining multiple frames of image data and can be subjected to decoding, thereby facilitating decoding of larger decodable indicia or multiple decodable indicia printed over a large area of a target substrate. Specular reflection avoidance and frame image combination methods will be described in greater detail herein.
In the embodiment of FIGS. 1 c and 1 d, reader 5-2 comprises three imaging modules including a first imaging module 10 a, second imaging module 10 b and third imaging module 10 c each having a respective imaging axis 11 a, 11 b, and 11 c. Like reader 5-1 (FIGS. 1 a and 1 b) the imaging axes of reader 5-2 of FIGS. 1 c and 1 d are in converging relation. In other embodiments, the axes can be in parallel relation or in diverging relation. Configuring reader 5-2 so that modules 10 are in converging relation assures that each of a reader's imaging modules (10 a, 10 b, and 10 c in reader 5-2) are positioned to capture images corresponding to substantially the same area of a target substrate. Accordingly, as will be explained in further detail herein readers 5-1 and 5-2 as shown in FIGS. 1 a-1 d are particularly well suited for reducing specular reflection misreads.
Referring now to FIGS. 1 e and 1 f, dumbbell style multiple imaging module optical reader 5-5 is described.
Dumbbell reader 5-5 is a reader including three housing portions 7 and each defining a cavity 6. Reader 5-5 of FIGS. 1 e and 1 f includes a central handle 19 which supports a pair of laterally disposed head sections 20. Handle 19 may include a thumb-actuated trigger 13 t. Installed in each head section 20 is an imaging module 10 which may be of the type described in connection with FIGS. 3 a-3 d. Imaging module 10 of reader 5-5 as in the case of readers 5-1, 5-2, 5-3, and 5-4 may be screw mounted on any rigid member within head sections 20. Head sections 20 of housing 7 are mounted to the major body of housing 7 by ball and socket type connectors 21. Ball and socket connectors 21 may be provided, for example, by a ball and socket connector of a type available from R-A-M Mounting Systems, Inc. of Chandler Ariz. Ball and socket connectors 21 may include mechanical detent mechanisms providing feel feedback as to the position of head section 20 so that a user may click head sections 20 into one or more normally defined positions. Flexible cable 18 as shown in FIGS. 1 e and 1 f can be disposed to provide electrical communication between modules 10 and a main circuit board 15 within a cavity defined by a handle portion of housing 7. Main circuit board 15 of reader 5-5 may carry components of a multiple module electrical circuit, e.g. circuit 105 described with reference to FIG. 2 f.
In the embodiment of FIG. 1 g, handle 19 of dumbbell style reader 5-7 includes a central aperture 19 a which is fittable about post 45. Handle 19 includes knob actuated bolt 46 for securing dumbbell style reader 5-6 against post 45. Post 45 in the embodiment of FIG. 1 g is part of a presentation style reader 5-7 which, in addition to including detachable dumbbell style reader 5-6 further includes stand 47 including knob actuated bolt 48 for enabling a vertical position of post 45 to be adjusted, and top head section 20 a disposed at a top of post 45. Head section 20 a may be mounted to post 45 with use of ball and socket connector 21. Dumbbell style optical reader 5-6 may be removed from post 45 so that dumbbell style reader 5-6 can be used in a hand held mode. For realization of a hand held mode, knob actuated bolt 48 is loosened and post 45 is removed from stand 47. Knob actuated bolt 46 is then loosened and dumbbell style reader 5-6 is removed from post 45 to allow hand held use.
A dumbbell style reader e.g. 5-5 and 5-6 is particularly well suited for use in applications wherein specular reflection read failures can be expected. In the example of FIG. 1 f, dumbbell style reader 5-5 is shown in a mode wherein head sections 20 are canted in a position such that imaging axes 11 a and 11 b of module 10 a and module 10 b are in converging relation and positioned so the imaging modules 10 a and 10 b generate image data corresponding to substantially the same scene at a target substrate, S, when reader 5-5 is at certain reader-to-target distance. If module 10 a is positioned with respect to a reflective target T such that specular reflection from target T results in a decode failure, a frame of image data captured by actuation of illumination light sources 16 and an image sensor 32 of second module 10 b can be subjected to a second decoding attempt. In addition, an expectedly specular reflection-free frame of image data can be captured by actuation of image sensor 32 of first imaging module 10 a in combination with actuation of illumination of second imaging module 10 b in place of illumination from first imaging module. The term “target” herein refers to subject matter (e.g. decodable indicia) presently in a field or view of at least one module of reader 5. The term “target substrate” refers to a member (e.g. a piece of paper, an equipment part) bearing subject matter to which reader may be directed.
The multiple imaging module optical readers as shown in FIGS. 1 a-1 c include 2D imaging modules, which may be for example Model IT 4200, Model IT 4250, or Model IT 4000 imaging modules of the type available from Hand Held Products, Inc. of Skaneateles Falls, N.Y. It will be understood that a 1D imaging module having a 1D image sensor can replace a 2D imaging module of any of the readers shown. An example of a 1D imaging module which can be incorporated in any one of readers 5-1, 5-2, 5-3, 5-4, 5-5, 5-6, and 5-7 is shown in FIG. 3 e. Imaging module 10-2 includes a 1D image sensor 32, a support assembly or frame 80, imaging optics 40, illumination light sources 18, and illumination optics including lens 25 carried by plate 26 and aiming apertures 43. Further details of an exemplary 1D imaging module are described in U.S. Pat. No. 6,119,939, entitled “Optical Assembly For Bar Code Scanner,” which is hereby incorporated herein by reference in its entirety. In an image sensor array based 1D imaging module e.g. module 10-2 illumination and aiming light sources are normally provided by the same light sources which project a single illumination pattern which also serves as an aiming pattern. However, a 1D imaging module can also include light sources which project different illumination and aiming patterns. An imaging module of the invention can also comprise a laser diode based 1D imaging engine including a single photodetector, a laser diode and means for sweeping the laser beam projected by the laser diode across a target area. It will be understood that other sensors or imaging modules (not shown), for example gray scale imaging modules, color imaging modules, and biometric imaging modules known in the imaging arts can be substituted for one or both of a 1D imaging module and a 2D imaging module, or provided in addition to one or both of a 1D imaging module and a 2D imaging module, as will be described below in greater detail.
Reader 5-9 of FIG. 1 i is an exemplary illustration of an optical reader having a plurality of imaging modules, one of which provides a frame of image data that has a format different from the format of a frame of image data provided by another imaging module. In the embodiment shown in FIG. 1 i, center module 10 c of reader 5-9 is a 1D imaging module while laterally disposed modules 10 a and 10 b are 2D modules. Configuring reader 5-9 so that reader 5-9 includes a center 1D imaging module 10 c, 10-2 and laterally disposed 2D imaging modules 10-1 provides certain advantages, as recited above. Reader 5-9 can provide frames of image data having two different formats captured from decodable indicia of different types. Reader 5-9 can be programmed in accordance with a decode operation control program wherein a reader (1) first captures and subjects to decoding an image captured via actuation of first imaging module 10 c, and if the decoding attempt fails, (2) automatically captures and subjects to decoding a second image captured via actuation of an image sensor and illumination of one of laterally disposed 2D modules 10 a and 10 b. In an alternative embodiment, any of 1D module 10 c, 2D module 10 a, and 2D module 10 b can be selected and activated as the module of choice to provide a frame of image data.
One-dimensional bar code symbols are more common than 2D bar code symbols. Further, 1D bar code symbols are generally decoded more quickly and more accurately by capturing and processing 1D slice image data captured via actuation of a 1D image sensor than capturing and processing 2D image data captured via actuation of a 2D image sensor. Still further, an imaging axis 11 c of center imaging module 10 c disposed in a gun-style housing 7 can more readily be aligned with an indicia of a target, T, than lateral imaging modules 10 a and 10 b. Accordingly, it can be seen that reader 5-9 programmed in accordance with the above-described decode program is a reader which is both mechanically configured and programmed for optimization of the decoding of 1D symbols, while still having the capacity to decode matrix 2D symbols where matrix 2D symbols are present within a target, T.
In other embodiments, the decodable indicia may have attributes of geometry (e.g., one or two dimensional decodable indicia such as barcodes, two-dimensional codes, alphanumeric symbols, and the like), attributes of tone, such as black-and-white (two tone, or 1-bit tonality), or gray scale (e.g., from three to as many as 2N tones, where the exponent N is an integer greater than 1, or N-bit tonality), attributes of color (e.g., having a an optical appearance characterized as being within a narrow spectral region of the electromagnetic spectrum, such as red, green, or blue, or combinations thereof). In still other embodiments, the decodable indicia can have attributes relating to biometric features, such as fingerprints, retinal patterns, facial features, and the like.
Various electrical circuits 100, 101, 102, 103, 104, and 105 which can be utilized to control optical readers are shown and described with reference to FIGS. 2 a, 2 b, 2 c, 2 d, 2 e, and 2 f. While the present invention relates in one aspect to optical readers having more than one imaging module, FIGS. 2 a and 2 b show electrical circuits for operating optical readers having a single imaging module. Numerous principles of circuit operation discussed in relation to circuits 100, 101 are incorporated into multiple imaging module electrical circuits 102, 103, 104, 105 discussed in relation to FIGS. 2 c-2 f.
In FIG. 2 a a block diagram of an optical reader electrical circuit is shown having a multi-functional processor IC chip 180 including an integrated frame grabber block 148. Electrical circuit 100 shown in FIG. 2 a can be utilized for control of a single 2D imaging module optical reader as is shown for example in U.S. application Ser. No. 09/954,081 filed Sep. 17, 2001, entitled “Optical Reader Having Image Parsing Mode,” (now U.S. Pat. No. 6,561,428) which is hereby incorporated herein by reference in its entirety. In the specific embodiment of FIG. 2 a, electrical circuit 100 includes a control circuit 140 comprising CPU 141, system RAM 142 and system ROM 143 and frame grabber block 148. Electrical circuit 100 further includes an image sensor 32 typically provided by a photosensitive array and an illumination block 160 having illumination LEDs 16 and aiming LEDs 18 as shown in the physical form view of FIGS. 3 a-3 c. Image sensor 32 of FIG. 2 a is shown as being provided by a 2D photo diode array. If a 1D image sensor replaces image sensor 32, then aiming LEDs 18 and illumination LEDs 16 may be constituted by one set of LEDs. In the embodiment shown, image sensor 32 incorporated in an image sensor IC chip 182 which typically further includes an image sensor electrical circuit block 134. Image sensor electrical block 134 includes control circuit 135 for controlling image sensor 32, an A/D conversion circuit 136, for converting analog signals received from image sensor 32 into digital form and integrated clock 137 sometimes referred to as an oscillator.
In the embodiment shown in FIG. 2 a, CPU 141 and frame grabber block 148 are incorporated in a multi-functional IC chip 180 which in addition to including CPU 141 includes numerous other integrated hardware components. Namely, multifunctional IC chip 180 may include a display control block 106, several general purpose I/O ports 116, several interface blocks such as a USB circuit block 107 and a UART block 108 for facilitating RS 232 communications, a UART block 109 for facilitating infra-red communications (including communication according to standards promulgated by the INFRARED DATA ASSOCIATION7 (IrDA7), a trade association for defining infrared standards), and a pulse width modulation (PWM) output block 110. Multi-functional processor IC chip 180 can also have other interfaces such as a PCMCIA interface 111, a compact flash interface 112, and a multimedia interface 113. If reader 5 includes a display 13 d, display 13 d may be in communication with chip 180 via display interface 106. Trigger 13 t and keypad 13 k may be in communication with chip 180 via general purpose I/O interface 116. Physical form views of readers having displays and keyboards are shown for example in U.S. application Ser. No. 10/137,484, filed May 2, 2002, entitled “Optical Reader Comprising Keyboard,” (now U.S. Patent Publication No. 2003/0206150) which is hereby incorporated herein by reference in its entirety. Multi-functional processor IC chip 180 may be one of an available type of multifunctional IC processor chips which are presently available such as a Dragonball MX1 IC processor chip or a Dragonball MXL IC processor chip available from Motorola, a DSC IC chip of the type available from Texas Instruments, an O-Map IC chip of the type available from Texas Instruments, or a multifunctional IC processor chip of a variety known as Clarity SOCs (e.g., system on a chip) available from Sound Vision, Inc.
In one embodiment, multi-functional processor IC chip 180 comprises components that provide at least the functions provided by a CPU 140, system RAM 142 and system ROM 143. In some embodiments, it is advantageous that microprocessor-based decoder module 180 comprises an integrated circuit device having integrated therein a microprocessor, an analog-to-digital converter, a digital-to-analog converter, a direct memory access (DMA) channel, a bi-directional communication line for communication with a sensor such as either or both of line 151 and 152, and a channel for data receipt from a sensor, such as data line 159 that brings data to frame grabber 148. The microprocessor-based IC chip 180 can comprise semiconductor materials, optical materials, and photonic bandgap materials. In some embodiments, it is advantageous that the multi-functional processor IC Chip 180 further comprise I/O 116 suitable to accept user input (for example from a keyboard 13 k), interface capability for “flash” memory devices such as “Multimedia” (MMC), “Smart Media,” “Compact Flash,” and “Memory Stick.” Other features that may be used to advantage include pulse width modulators (PWMs), serial communication channels (e.g., UARTs, SPIs, and USBs), display drivers and controllers such as for an LCD, wireless communication capability such as Bluetooth and 802.11 (a), (b), and (g)-compatible transmitter/receivers, sequence control modules such as timer banks, sensor controllers, audio generators, audio coder/decoders (“codecs”), speech synthesizers, and speech recognition hardware and/or software.
There are many ways in which the microcomputer-based decoder module can determine which imaging module provides a frame of image data or the format of a provided frame of image data. In one embodiment, the microcomputer-based decoder module uses the Inter-IC (I2C) bus protocol and circuitry operating according to the protocol. As an illustrative example, for 2D imaging modules, the I2C communication link from the microcomputer-based decoder module is used to communicate directly to an imaging module. Each 2D imaging module or sensor has a unique address for I2C communication. The microcomputer-based decoder module can interrogate an address or can attempt to communicate with an address in order to communicate with a specific imaging module. If the wrong address is used for I2C communication, the I2C communication fails. In an alternative embodiment, each 2D imaging module or sensor has an “ID” register which holds a unique value that provides an identification number. A query to the ID register of the imaging module via the I2C communication link can cause the return of the ID value stored in the register. In the event that the microcomputer-based decoder module receives the correct ID value, which also implies that the I2C bus address used is correct, there is a very high probability that the correct imaging module is being addressed. In another embodiment, resistor packs connected to port pins are used to identify a specific module. In some embodiments, different auto-detection routines are used for each imaging module.
In one embodiment, the auto-detection algorithm to identify a specific imaging module cycles through each of the defined parameters (such as an I2C address and/or ID parameter) for imaging modules until a match is found. The identity of the module is determined by comparing the matching defined parameters with information in a collection of stored data, such as a lookup table in a memory. The imaging module is identified from the data in the stored data. In order to locate a specific imaging module, stored data can be interrogated to locate the I2C address and/or the ID of the imaging module, which information can be used to communicate with the selected imaging module. The stored data can include information that specifies the format of a frame of image data provided by a selected imaging module. The information about the format can be used to determine whether the then current state of the microprocessor-based decoding module is suitable for decoding the format of imaging information provided by the selected module or whether the state of microprocessor based decoding module should be adjusted, for example by loading or activating a software module, in order to correctly decode the frame of image data that is provided.
In another alternative embodiment, an FPGA can be used to perform logical or manipulative operations on a frame of imaging data. In some embodiments, the FPGA program can handle any of the different transfer types by writing to a register, or by setting or clearing one or more specified bits. Configuration of the register or of the bit(s) in response to the detection of a given image module starts the appropriate decoding algorithm for the imaging module that is detected. Alternatively, once a given imaging module is detected, the FPGA is configured with the appropriate program to decode the format of image data provided by the imaging module. In embodiments wherein the FPGA communicates in the imaging module auto-detection process, the FPGA is programmed with the appropriate configuration, and then performs the detection process. The FPGA then performs the data decoding. In some embodiments the FPGA is reprogrammed to prepare the FPGA to do the decoding. In other embodiments, adaptable circuits such as reconfigurable FPGAs or logic circuits are used.
Frame grabber block 148 of IC chip 180 replaces the function of a frame grabbing field programmable gate array (FPGA) as discussed in commonly assigned application Ser. No. 09/954,081, filed Sep. 17, 2001, entitled “Imaging Device Having Indicia-Controlled Image Parsing Mode,” (now U.S. Pat. No. 6,561,428) and application Ser. No. 09/904,697, filed Jul. 13, 2001, entitled “An Optical Reader Having a Color Imager,” (now U.S. Pat. No. 6,772,569) both of which are hereby incorporated herein by reference in their entirety. More particularly, frame grabber block 148 is specifically adapted collection of hardware elements programmed to carry out, at video rates or higher, the process of receiving digitized image data from image sensor chip 182 and writing digitized image data to system RAM 142 which in the embodiment shown is provided on a discreet IC chip. Frame grabber block 148 includes hardware elements preconfigured to facilitate image frame capture. Frame grabber block 148 can be programmed by a user to capture images according to a user's system design requirements. Programming options for programming frame grabber block 148 include options enabling block 148 to be customized to facilitate frame capture that varies in accordance with image sensor characteristics such as image sensor resolution, clock out rating, and fabrication technology (e.g. CCD, CMOS, CID), dimension (1D or 2D), tonality (from 1 to N-bits), color (monochrome or color), biometric features, such as fingerprints, retinal patterns, facial features, and one- and two-dimensional patterns that can provide information, such as chromatography patterns and electrophoretic patterns of mixtures of substances, including substances such as biological samples comprising DNA.
Aspects of the operation of circuit 100 when circuit 100 captures image data into RAM 140 are now described. Circuit 100 can perform a cycle of receiving a frame of image data, performing internal programming functions, and decoding the frame of image data in a time period of less than or equal to a second. In a more preferred embodiment, the circuit 100 performs the cycle in a time period of less than or equal to 1/30 of a second. It is expected that in a still more preferred embodiment, the time period can be less than or equal to 1/270 of a second. When trigger 13 t is pulled, CPU 141, under the operation of a program stored in system ROM 143, writes an image capture enable signal to image sensor chip 182 via communication line 151. Line 151, like the remainder of communication lines described herein represents one or more physical communication lines. In the embodiment shown, wherein image sensor chip 182 is of a type available from IC Media Corp., I2C interface 115 of chip 180 is utilized to facilitate communication with chip 182 (if another image sensor chip is selected another type of interface e.g. interface 116 may be utilized). Other types of signals may be sent over line 151 during the course of image capture. Line 151 may carry, for example, timing initialization, gain setting and exposure setting signals.
When control block 135 of image sensor chip 182 receives an image capture enable instruction, control block 135 sends various signals to frame grabber block 148. Image sensor control block 135 typically sends various types of synchronization signals to frame grabber block 148 during the course of capturing frames of image data. In particular, control block 135 may send to frame grabber block 148 “start of frame signals” which inform frame grabber block 148 that chip 182 is ready to transmit a new frame of image data, “data valid window” signals which indicate periods in which a row of image data is valid, and “data acquisition clock” signals as established by clock 137 controlling the timing of image data capture operations. In the embodiment described, line 152 represents three physical communication lines, each carrying one of the above types of signals. In an alternative embodiment, vertical and horizontal synchronization signals are processed by frame grabber 148 to internally generate a data valid window signal. Frame grabber block 148 appropriately responds to the respective synchronization signals, by establishing buffer memory locations within integrated RAM 149 of block 148 for temporary storage of the image data received from image sensor chip 182 over data line 159. At any time during the capture of a frame of image data into system RAM 142, buffer RAM 149 of frame grabber block 148 may store a partial (e.g. about 0.1 to 0.8) or a full line of image data.
Referring to further aspects of electrical circuit 100, circuit 100 includes a system bus 150. Bus 150 may be in communication with CPU 141 via a memory interface such as EIM interface 117 of IC chip 180. System RAM 142 and system ROM 143 are also connected to bus 150 and in communication with CPU 141 via bus 150. In the embodiment shown, RAM 142 and ROM 143 are provided by discreet IC chips. System RAM 142 and system ROM 143 could also be incorporated into processor chip 180.
In addition to having system RAM 142, sometimes referred to as “working” RAM, electrical circuit 100 may include one or more long term storage devices. Electrical circuit 100 can include for example a “flash” memory device 120. Several standardized formats are available for such flash memory devices including: “Multimedia” (MMC), “Smart Media,” “Compact Flash,” and “Memory Stick.” Flash memory devices are conveniently available in card structures which can be interfaced to CPU 141 via an appropriate “slot” electromechanical interface in communication with IC chip 180. Flash memory devices are particularly useful when reader 5 must archive numerous frames of image data. Electrical circuit 100 can also include other types of long term storage such as a hard drive which may be interfaced to bus 150 or to an appropriate I/O interface of processor IC chip 180.
In a further aspect of electrical circuit 100, control circuit 140 is configured to control the turning off and turning on of LEDs 16, 18 of illumination block 160. Control circuit 140 preferably controls illumination block 160 in a manner that is coordinated with the capturing of the frames of image data. Illumination LEDs 16 are typically on during at least a portion of frame capture periods. Configuring circuit 140 so that LEDs 16, 18 have off periods significantly reduces the power consumption of circuit 100.
In a further aspect of the electrical circuit 100, electrical circuit 100 can be configured so that PWM output interface 114 of IC chip 180 controls illumination LEDs of an imaging module such as illumination LEDs 16 of module 10-1 or aiming/illumination LEDs 18 of module 10-2.
In one embodiment, illumination block 160 is in communication with PWM output interface 114 and configured in such manner that LEDs 16 are turned on at a leading edge of PWM pulses output at PWM interface 114, and are turned off at falling edges of PWM pulses output at PWM interface 114. PWM interface 114 should be configured so that several pulses are generated and sent over communication line 153 i during the time that a single row of pixels of image data are exposed to light prior to clocking out of pixel values corresponding to that row. Thus, illumination LEDs 16 would be turned on and off several times during the exposure period for exposing a row of pixels to light. Further, the number of pulses output by PWM output 114 during the time that a single row of pixels are exposed should not vary substantially from row to row. The pixel clock signal received at frame grabber block 148 of IC chip 180 can be utilized to generate the PWM output. It can be seen, therefore, that multifunctional IC chip 180 including frame grabber block 148 and PWM output 114 greatly simplifies the task of developing PWM signals for use in controlling illumination LEDs 16 of module 10.
In another embodiment, PWM output 114 and illumination block 160 are configured so that PWM output 114 controls the intensity of illumination, not the on time/off time of illumination. Illumination LED block 160 in such an embodiment can include a power supply circuit which is interfaced to PWM output 114 such that the PWM signal output at PWM output 114 varies the voltage or current supplied to LEDs 16.
In a further aspect of electrical circuit 100, aiming LEDs 18 of circuit 100 can be controlled by a signal transmitted by a general purpose I/O port 116 of IC chip 180 over communication line 153 a. Multifunctional processor IC chip 180 can be programmed so that an aiming LED control signal 168, as is shown in the timing diagram of FIG. 2 g, is caused to change to an “on” state when frame grabber block 148 completes the process of capturing a complete frame of image data. In the time line of FIG. 2 g, frame exposure periods P1, P2, and P3 are plotted against an aiming LED control signal 168. Frame grabber block 148 may be configured to generate an “end of acquisition” or “end of frame” signal when frame grabber block 148 completes the process of capturing a complete frame of image data into RAM 142. When CPU 141 receives an “end of acquisition” signal, CPU 141 controls I/O port 116 to change the state of LED control signal 168. Control circuit 140 may also change the state of LED control signal 168 when generating a start of frame signal. As indicated by the time line of FIG. 2 g, control circuit 140 may execute a delay prior to changing the state of signal 168. Control circuit 140 is programmed so that LED control signal 168 remains in an “ON” state known to be sufficiently short duration so as not to cause actuation of an aiming LED 18 during a succeeding frame exposure period. Configured in the manner described, aiming LEDs 18 are selectively pulsed on for a short duration during intermediate successive frame exposure periods, e.g. frame exposure periods P1 and P2.
Referring now to FIG. 2 b, electrical circuit 101 is described. Electrical circuit 101 controls operation of a single imaging module optical reader comprising a low cost 1D CCD image sensor 32 incorporated on IC chip 183. Image sensor 32 of FIG. 2 b may be provided for example by a Toshiba Model TCD 1304 AP linear image sensor. Further aspects of an exemplary 1D imaging module are described, for example, in application Ser. No. 09/658,811, filed Sep. 11, 2000, entitled “Optical Assembly for Barcode Scanner,” (now U.S. Pat. No. 6,607,128) which is hereby incorporated herein by reference in its entirety.
Referring to aspects of electrical circuit 101 in detail, electrical circuit 101 includes a control circuit 140 which, like control circuit 140 of circuit 100 is partially incorporated in a multifunctional processor IC chip 180 including CPU 141 and a frame grabber block 148. Control circuit 140 of circuit 101 further includes system RAM 142 system ROM 143 and supplementary central processor unit (CPU) 147, integrated on processor IC chip 179. System RAM 142 and system RAM 143 are in communication with EIM interface 117 of IC chip 180 via bus 150.
Processor IC chip 179 provides control and timing operations similar to that provided by electrical block 134 of image sensor chip 182 described in FIG. 1 a. Processor IC chip 179, in general, sends synchronization signals and digital clocking signals to IC chip 180, and sends digital clocking signals to A/D conversion circuit 136 and image sensor 32. Processor IC chip 179 of circuit 101 may be a relatively low power processor IC chip such as an 8-bit Cypress Programmable System-on-Chip™ (PSoC™) CY8C26Z33-24PZI Microcontroller processor IC chip available from Cypress MicroSystems of Bothell, Wash.
Aspects of the operation of IC chip 179 in during the course of capturing slice image data will now be described in detail. When trigger 13 t is pulled, CPU 141 transmits enable image capture instructions over communication line 151. In response to receipt of an image capture enable instructions received from chip 180, processor IC chip 179 performs a variety of operations. Processor IC chip 179 may send synchronization signals, such as “start of scan,” “data valid window,” and “data acquisition clock” signals to frame grabber block 148 via communication line 152. Processor IC chip 179 may also send timing signals and digital clocking signals (e.g. master clock, integration clear gate, and shift gate pulse) to image sensor 32. Processor IC chip 179 typically also transmits a master clock signal to A/D conversion circuit 136. Referring to further aspects of IC chip 180 of circuit 101, CPU 141 of chip 180, may also send e.g. gain setting, exposure setting, and timing initialization signals via line 151 to IC chip 179. Communication between IC chip 180 and IC chip 179 may be made via an SPI interface or I/O interface 116 of chip 180 and chip 179.
As will be explained with reference to circuit 104, shown in FIG. 2 e, processor IC chip 179 may be replaced by a programmable logic circuit, e.g. a PLD, CPLD, or an FPGA. IC chip 179 could also be replaced by an ASIC. Electrical circuit 101 of FIG. 2 b includes what may be termed a “digital digitizer” in that analog voltage levels transmitted by CCD image sensor 32 on line 155 are converted into gray scale pixel values by A/D converter 136 and transmitted via line 159 to frame grabber block 148. Circuit 101 could also include an analog digitizer which processes an analog signal generated by image sensor 32 to generate a two-state output signal that changes state in accordance with light-to-dark and dark-do-light transitions of the image sensor analog output signal.
Processor IC chip 179 also controls LED bank 160. LED bank 160 of a 1D image sensor reader typically includes a single bank of LEDs which simultaneously illuminates a target area and provides an aiming pattern facilitating aligning of the reader with a target indicia. LEDs 18 of 1D imaging module 10-2 like LEDs 16 of module 10-1 can be pulsed so as to reduce energy consumption by LEDs 18.
Electrical circuit 100 and electrical circuit 101 form a family of 1D and 2D optical readers electrical circuits, which may be manufactured by a single manufacturing entity wherein both of the 1D and 2D readers include the same main processor chip, namely, multifunctional processor IC chip 180. Multifunctional processor IC chip 180 of circuit 100 and circuit 101 can both be provided by e.g. a Dragonball MX1 IC chip or a Dragonball MXL IC chip of the type available from Motorola, Inc. Multifunctional processor IC chip 180 of electrical circuit 101 includes far more processing power than is necessary to provide the functionality of a 1D optical reader. Nevertheless, the inventors have discovered that the overall cost of electrical circuit 101 is reduced by incorporating frame grabbing multifunctional IC chip 180 in circuit 101, for reasons including that such incorporation reduces overall engineering cost relative to the development costs of two different 1D and 2D electrical circuits comprising two different main processor types.
Various electrical circuit architectures for operating a reader having more than one imaging module 10 are shown in FIGS. 2 c-2 f.
In the architecture of FIG. 2 c, electrical circuit 102 includes a pair of imaging modules 10 and a control circuit 140. Control circuit 140 includes a field programmable gate array (FPGA) 161, a multifunctional processor IC Chip 180 including a CPU 141 and frame grabber block 148, a system RAM 142 and a system ROM 143. Processor IC chip 180 may be, for example, a Dragonball MX1 IC chip or a Dragonball MXL IC chip of the type available from Motorola, Inc. Imaging modules 10 a and 10 b shown in block form in FIG. 2 c correspond to the physical 2D imaging module 10-1 shown in FIGS. 3 a-3 c. System RAM 142 and system ROM 143 are in communication with processor IC Chip 180 via system bus 150. In general, FPGA 161 of circuit 102 is programmed to execute a multiplexer function indicated by block 155. In response to module select signals received from multifunctional processor IC chip 180, multiplexer 155 receives image data over one of data lines 159 a, 159 b from a selected one of module 10 a and module 10 b and sends the data to frame grabber block 148 of processor IC chip 180. Multiplexer 155 can be deleted if imaging modules 10 are selected to include image sensor IC chips which generate high impedance (tri-statable) synchronization signals when not actuated. In some embodiments, FPGAs described herein can be replaced by another programmable circuit. For example, a programmable logic device (PLD), a complex programmable logic device (CPLD) or another device such as an ASIC or processor chip (e.g. such as chip 179 or chip 180) can replace FPGA 161. In alternative embodiments, imaging modules can be exchanged (e.g., by physical substitution or by moving a cable connection from one socket to another socket) for other types of imaging modules. In yet other embodiments, imaging modules can be switched into or out of communication with the microprocessor-based decoder module, either manually or under computer control, thereby substituting one imaging module for another, or changing the number of imaging modules that are available at a specified time.
Referring to the operation of electrical circuit 102 in further detail, processor IC chip 180 sends an image capture enable signal to FPGA 161 via line 170 when trigger 13 t is actuated and to an appropriate one of modules 10 a and 10 b via one of lines 151 a, 151 b. The selected module, 10 a or 10 b, then sends synchronization signals, and the digital clocking signals as described previously to FPGA 161 and IC chip 180, over the appropriate one of lines 152 a, 152 b.
FPGA 161 transmits image data to multifunctional processor IC Chip 180 over data line 171 which in turn transmits image data to RAM 142 over system bus 150. Lines 151 a, 151 b may carry PWM interface illumination control signals as described previously in connection with electrical circuit 100.
In the architecture of FIG. 2 d, electrical circuit 103 includes a plurality of N imaging modules 10, which may be incorporated in a single housing 7, where N is an integer greater than one. Electrical circuit 103 includes a control circuit 140 having an FPGA 162, a processor IC Chip 179, a system RAM 142 and a system ROM 143. FPGA 162 is in communication with processor IC Chip 179 via system bus 150. Processor IC chip 179 and FPGA 162 are also in communication via bus arbitration communication line 167 which carries bus hand shaking (e.g. bus request, bus grant) signals.
Various embodiments of FPGA 162 are described with reference to FIGS. 2 h and 2 i. In the embodiment of FIG. 2 h, FPGA 162 c is programmed to include multiplexer block 162 m, control register 162 c, and a solitary frame grabber block 162 f. Image capture enable signals for actuating image capture via one of a plurality of modules e.g. 10 a are received at control register 162 in response to an actuation of trigger 13 t. Control register 162 c on receipt of an image capture enable signal sends the image capture enable signal to the selected module 10 and utilizes the signal to associate frame grabber block 162 f to the selected module e.g. 10 a. It will be understood that control register 162 c can be adapted to send during one type of frame capture method, e.g. illumination actuation signals to a second imaging module, 10 c while actuating an image sensor 32 of a first module, e.g. 10 a without sending illumination actuation signals to first module 10 a.
In the embodiment of FPGA 162 illustrated in FIG. 2 i, multiplexer block 162 m is deleted. FPGA 162 of FIG. 2 i includes N frame grabber blocks 162 f. With use of FPGA 162 configured as shown in FIG. 2 i, electrical circuit 103 can be operated to capture several frames of image data contemporaneously by contemporaneous actuation of each of several imaging modules e.g. 10 a and 10 c. A selected frame of image data can be decoded to recover information encoded in the decodable indicia represented by the frame.
Referring to further aspects of electrical circuit 103, of FIG. 2 d processor IC chip 179 can be provided by general purpose processor IC chip such as a Power PC IC chip of the type available from Motorola. Other suitable IC chips for providing the function of IC chip 179 of circuit 103 include, for example, an Intel SA1110 chip and an Xscale family of processor IC chips, also available from Intel.
Referring now to FIG. 2 e, electrical circuit 104 controls a pair of imaging modules wherein a first imaging module 10-1 is a 2D imaging module and a second imaging module 10-2 is a 1D imaging module. Control circuit 140 includes CPU 141, 2D frame grabber block 148, FPGA 164, system RAM 142 and system ROM 143. Frame grabber block 148 and CPU 141 are both incorporated on multifunctional processor IC chip 180 (e.g. a Motorola Dragonball MX1 IC chip or Dragonball MXL IC chip), as described previously in connection with FIG. 2 a. A main program executed by CPU 141 of multifunctional processor IC chip 180 controls operation of both first imaging module 10-1 and second imaging module 10-2.
For capture of a 2D image, processor IC chip 180 in response to actuation of trigger 13 t sends an image capture enable signal to module 10-1 via a communication line 151. During image capture, 2D imaging module 10-1 sends synchronization and digital clocking signals to frame grabber block 148 via communication line 152 which as explained previously and like all lines represented herein may represent a plurality of physical lines. Further, 2D imaging module 10-1 sends digitized image data to frame grabber block 148 via data line 159 a. Processor IC chip 180 stores image data in RAM 142 by writing image data stored in buffer memory locations of frame grabber block 148 to RAM 142 via system bus 150. An illumination control signal communication line is also typically interposed between IC chip 180 and module 10-1. Line 151 represents an illumination signal communication line.
For capture of a 1D “slice” image representation, processor IC chip 180 sends a 1D image capture enable signal to FPGA 164 via system bus 150. Processor IC chip 180 and FPGA 164 are further in communication via communication line 167 which carries bus handshaking (e.g. bus request and bus grant) signals. On receipt of an image capture enable signal from processor IC chip 180, FPGA 164 sends digital clocking signals to A/D converter 136 via line 156, to image sensor 32 via line 154, and illumination control signals to illumination LEDs 18 as shown in the physical form view of FIG. 3 e via line 153. Image sensor 32 sends analog image signals to A/D converter 136 via output line 155 and A/D converter 136 in turn converts the signals into N (typically 8) bit gray scale pixel values. A/D converter 136 sends the digitized image data to FPGA 164 which stores the image data to RAM 142.
As indicated by the block diagram of FIG. 2 j, FPGA 164 of electrical circuit 104 includes frame grabber block 164 f for fast transfer of image data into system RAM 142, image sensor illumination and control block 164 c for controlling LEDs 18 and for developing synchronization signals, and clock 164 k for generating digital clocking pulses.
A computer program (software) recorded on a machine-readable medium is provided for use on a multi-functional processor IC Chip 180. When operating, individual modules of the computer program perform the steps of receiving a frame of image data acquired by a selected one of a 1D imaging module and a two-dimensional (2D) imaging module; determining the format of the frame of image data, for example by determining which of said selected imaging modules acquired said received frame of imaging data. Alternatively, one or more modules of the computer program use information about the frame of image data to determine the format of the frame of image data. The computer program comprises one or more modules that decode said frame of imaging data accordingly. The information about the imaging module that acquired the frame of imaging data can include, but is not limited to, at least one of a bus address of the imaging module, an ID code of the imaging module, the model of the imaging module, and an electrical parameter of the imaging module, such as the value of a resistance.
The software includes instructions that are performed only as necessary, comprising at least one command to prepare said microprocessor-based decoder module to decode said communicated frame of image data if the microprocessor-based decoder module is not already properly configured to perform the decoding process. As is described in greater detail in conjunction with FIGS. 4 f-4 i, FIGS. 6 a-6 d, FIGS. 7 a-7 b, and FIGS. 8 a-8 b, the process for receiving and decoding a frame of image data from a selected imaging module involves several operative steps. In one portion of the process, the microprocessor-based decoder module recognizes the format of the frame of image data by determining one or more of source of the frame of image data and a parameter associated with the frame of image data. As necessary, a module such as a dynamically linked library (for example, a .dll or an .ocx) module is invoked to translate the format of the incoming frame of image data provided by the selected imaging module into a format suitable for further processing. When a different imaging module is selected, the corresponding .dll file is located in memory (or if needed, is read from a machine-readable repository), and is activated. The frame of imaging data is then decoded according to a procedure that depends on the format of the frame of data. For example, a 2D frame of image data is decoded by converting the 2D data into a succession of 1D data segments having 8-bit resolution, converting each 1D data segment into transition location information having one bit resolution, and decoding the transition location information. The process can be programmed as an iterative process, as is explained in greater detail below. Transition location information is information that correlates a transition in reflected light to a position or location in the decodable indicia, such as a change from white to black or black to white at various positions within a conventional 1D bar code. The width or shape of a feature can be deduced from observing successive transition locations.
FIG. 2 f depicts another electrical circuit for controlling a plurality of imaging modules. Electrical circuit 105 includes a pair of frame grabbing FPGAs 165, 166. First FPGA 165 is dedicated for frame capture of image data generated by first imaging module 10 a while second frame grabbing FPGA 166 is dedicated for capture of image data generated by second imaging module 10 b. The architecture of FIG. 2 f is especially well suited for contemporaneous capture of multiple frames of image data via contemporaneous actuation of image sensors of two separate imaging modules 10 a and 10 b. The image data can be decoded from its location in memory.
Control circuit 140 of electrical circuit 105 includes CPU 141 which may be incorporated on a general purpose 32-bit processor IC chip 179, frame grabbing FPGAs 165 and 166, system RAM 142 and system ROM 143. Processor IC chip 179 may transmit image capture enable instruction via communication lines 151 a and 151 b. Processor IC chip 179 may also send illumination control signals via lines 151 a and 151 b. For example, in a mode of operation that will be described herein processor IC chip may send an image capture enable signal to module 10 a over line 151 a (and an illumination disabling signal over line 151 a), and an illumination control signal to module 10 b over line 151 b with use of a specific image capture method wherein images are captured in such a manner so as to be substantially impervious to specular reflection decode failures.
In a further aspect of electrical circuit 105, imaging modules 10 a and 10 b send synchronization and digital clocking signals to FPGAs 165 and 166 respectively, via lines 152 a and 152 b, and image data to FPGAs 165 and 166 respectively over, data lines 159 a and 159 b. Processor IC chip 179 is in communication with frame grabbing FPGAs 165 and 166 via system bus 150 and via bus arbitration communication lines 167 a and 167 b over which bus handshaking signals (e.g. bus request, bus grant) are sent. While the invention in a major aspect relates to optical readers having multiple imaging modules, another commercial optical product according to another aspect of the invention is described with reference to FIGS. 5 a-5 e.
In FIG. 5 a an optical reader is shown having an electrical circuit 100 as described in FIG. 2 a wherein an imaging module 10 is incorporated on a compact flash card 510. Compact flash card 510 carrying circuit 100 as will be explained herein may be interfaced with a host processor assembly such as a personal data assistant (PDA) 540 or a personal computer (PC) 550. Other embodiments of optical readers can be produced as compact flash cards.
As best seen in FIG. 5 c or 5 d, PDA 540 can include a compact flash slot 544 for receiving a compact flash card 510, which incorporates an imaging module 10.
Various features of compact flash card 510 incorporating module 10 are described with reference to FIG. 5 a. As seen in FIG. 5 a, electrical circuit 100 including multifunctional frame grabbing IC chip 180, system RAM 142, and system ROM 143 are incorporated on compact flash card 510 which further carries imaging module 10. Imaging module 10 may be a 2D imaging module as described with reference to FIG. 3 a-3 c, or a 1D module, e.g. as described with reference FIG. 3 e. Card 510 typically further comprises a protective cover (not shown).
Compact flash card 510 including electrical circuit 100 as indicated by block diagram FIG. 5 b, is interfaced to a host processor system 68. As will be explained further herein, host processor system 68 can be included in e.g. a personal data assistant (PDA) 540 as shown in FIG. 5 b or a personal computer (PC) 550 as shown in FIG. 5 e.
Referring to further aspects of the block diagram of FIG. 5 b, circuit 515 includes FPGA 520 which facilitates communication between electrical circuit 100 and host system 68. A physical form view of FPGA 520 is shown in physical form diagram of FIG. 5 a. FPGA 520 may be programmed to perform a variety of functions. FPGA 520 may be programmed to (1) communicate with host 68 to inform host 68 that compact flash card 510 is connected to host 68 when it is first connected, (2) to perform all compact flash bus timing, and (3) to provide all buffer interfaces required to receive from circuit 100 data in a form supported by electrical circuit 100 and to allow that data to be received in a compact flash format as is required by host 68.
FPGA 520 can be connected via a communication line 504 to UART interface 108 of multifunctional processor IC chip 180. UART interface 108 may transmit data in e.g. an RS 232 format while FPGA 520, appropriately programmed, converts that data into a compact flash format. Further connected to FPGA 520 via line 526 is a compact flash female connector 530, which is formed on an edge of compact flash card 510, and comprises a plurality of sockets 530 s as indicated in the exploded section view of FIG. 5 a.
Compact flash card 510 including an electrical circuit 100 having imaging module 10 can operate in a first integrated mode or a second “free-standing” which in one specific embodiment can be considered a “tethered” mode. An integrated mode of operation of card 510 is described with reference to FIGS. 5 c and 5 d. In an integrated mode, card 510 is integrated into a device such as a PDA 540. To electrically and mechanically connect card 510 to a host, device female end 530 is connected to male end compact flash connector 531, comprising a plurality of pins, within a housing of the host device.
A free-standing mode of operation is illustrated with reference to FIG. 5 e. In a free-standing mode of operation, compact flash card 510 including module 10 is positioned in a position spaced apart from a host device e.g. device 550. Compact flash card 510 may rest on a table top or else may be mounted to a fixed member spaced apart from the host device e.g. PC 550. In a free-standing mode, card 510 may be connected to a host device via a flexible cable connector 560. When card 510 is connected to a host assembly via a flexible connector, card 510 may be considered to be operating in a “tethered” mode. Card 510 may also be wirelessly connected to a host via an RF link, an IR link, or a link using a similar wireless connection like Bluetooth or 802.11 compatible hardware. In the embodiment of FIG. 5 e cable connector 560 is interfaced to host device 550 on one end and to compact flash card 510 on another end. Cable connector 560 includes male compact flash connector 531 for facilitating communication between connector 560 and card 510. Card 510 can further include feet 565 of height substantially the same as connector 531 disposed on an under surface thereof so that card 510 can rest substantially horizontally on a table surface when operating in a free-standing mode. Host device 550 in the free-standing mode diagram illustrated by FIG. 5 e is shown as a PC. It will be understood that a host device in a free-standing mode could also be provided by PDA 540 or another mobile or non-mobile computer device.
The multiple imaging module electrical circuits 102, 103, 104, and 105 described herein can be implemented for operation of imaging modules spread out over several housings or for operation of imaging modules incorporated in a housing 7 of multiple imaging module reader 5-1, 5-2, 5-3, 5-4, 5-5, 5-6, and 5-7, 5-8 and 5-9 as shown in physical form views 1 a-1 i.
Methods for operating a multiple imaging module optical reader according to the invention will now be described in greater detail. Flow diagrams of FIGS. 4 a-4 c and FIGS. 4 f-4 i illustrate operation of a multiple imaging module optical reader having at least two imaging modules 10 a, 10 b. The modules described in the illustrative example given herein are 1D and 2D imaging modules.
As will be recognized by practitioners of ordinary skill, any number of modules that provide image data in any of a plurality of formats, such as 1D imaging modules, 2D imaging modules, gray scale imaging modules, color imaging modules, and biometric imaging modules can be present in any combination, limited only by the ability to design and to build multiplexed input and output connections to the microprocessor-based decoder module, such as an N port by M line multiplexer that handles N imaging modules, each imaging module having a total of no more than M data and control lines, where N and M represent positive integers. As will be recognized, in a properly designed system, a programmed computer can select one of the plurality of imaging modules present by suitably driving the multiplexer. Alternatively, a user can select one of the plurality of available imaging modules, for example by activating a switch manually or connecting a cable to a cable connector.
In the reader methods described herein “actuation of an image sensor” generally refers to at least one step in the process of sending appropriate signals to an image sensor 32 to cause exposure of image sensor pixels to light and to cause clocking out of electrical signals corresponding to light received at pixels of the array. These steps are described in greater detail in for example, U.S. application Ser. No. 09/766,922, filed Jan. 22, 2001, entitled “Optical Reader Having Reduced Parameter Determination Delay,” (now U.S. Patent Publication No. 2002/0125317) which application is incorporated herein by reference in its entirety. “Actuation of illumination” herein generally refers to the step of sending electrical current to a light source e.g. 16, 18 to turn on the light source.
Referring to the reader operating method of FIG. 4 a, at block 404 after a trigger 13 t is pulled (block 402) control circuit 140 actuates image sensor 32 of first imaging module 10 a and illumination light sources 16 of first imaging module 10 a during a frame capture period in which a first frame of image data is captured. At block 406 control circuit 140 subjects the first captured frame of image data to a decode attempt. If the decode attempt is not successful (block 408), control circuit 140 executes block 410 to capture a second frame of image data. Control circuit 140 actuates image sensor 32 and illumination light sources 16 of second imaging module 10 b when capturing a second frame of image data. Instead of capturing a second frame of image subsequent to subjecting a first frame to a decode attempt (406) control circuit 140 can capture a second frame as described in connection with block 410 prior to the decode attempt of block 406. Control circuit 140 can capture a first frame as described in connection with block 404 and a second frame as described in connection with block 410 in any order and can capture the frames contemporaneously. At block 412 control circuit 140 subjects the indicia representation of the second frame to a decode attempt, and at block 410 outputs a decoded out data message if decoding is successful (block 414). The attempt to decode a decodable indicia may be in accordance with a method for decoding decodable indicia such as are described in U.S. application Ser. No. 09/904,697, filed Jul. 13, 2001, entitled “Applying a Color Imager To A Hand Held Reader For Indicia Reading Image Capture,” (now U.S. Pat. No. 6,772,569) which is incorporated herein by reference in its entirety. The reader control method described with reference to the flow diagram of FIG. 4 a is highly useful wherein specular reflection decode failures can be expected. Referring to the example of two module reader 5-1 shown in FIGS. 1 a and 1 b note that if there may be a specular reflection decode failure when a first frame corresponding to a mirrored planar surface is captured via actuation of first module 10 a then there likely will not be a specular reflection decode failure when a second frame captured via actuation of second module 10 b is subjected to decoding.
A “wait for trigger pull” control loop, as described in connection with block 402, FIG. 4 a, block 420, FIG. 4 b, block 444, FIG. 4 c will now be described in greater detail. When a trigger 13 t of reader 5 is actuated, control circuit 140 generates a trigger signal to cause branching of program control as described in FIGS. 4 a, 4 b, and 4 c. According to the invention, a trigger signal can also be generated automatically in response to a decodable indicia being presented in a field of view of a module of reader 5. A method of automatically generating what can be considered a trigger signal based on detected edge transitions without a physical trigger pull is described in copending application Ser. No. 09/432,282 filed Nov. 2, 1999, entitled “Indicia Sensor System for Optical Reader,” (now U.S. Pat. No. 6,585,159) which is incorporated herein by reference in its entirety. It will be understood that any of the control loops indicated by blocks 402, 420, and 440 can be substituted for by a control loop wherein control circuit 140 waits for trigger signal automatically generated when a decodable indicia 15 moved into a field of view of a module of reader 5.
In one possible variation of the invention, first and second imaging modules 10 a, 10 b, and possibly all N modules of an N imaging module optical reader are configured so that each module has a different best focus distance. For example, module 10 c of reader 5-2 can be configured to a best focus distance of about 3 inches, module 10 a can be configured to have a best focus distance of about 6 inches, while module 10 b can be configured to have a best focus distance of about 9 inches. It will be seen that configuring a reader of the invention so that each of the modules has a different best focus distance increases the overall depth of field of the reader.
A multiple module reader of the invention wherein each module has a different best focus distance can be operated in accordance with the flow diagram of FIG. 4 a to the end that the reader automatically reads target indicia disposed at a wide range of reader-to-target distance. If an object being read is disposed at a distance closer to the best focus distance of a second module but a substantial distance from a best focus distance of a first module, the reader operating in accordance with the flow diagram of FIG. 4 a may successfully decode the indicia at block 412 (second frame decode attempt) after failing to decode the indicia at block 406 (first frame decode attempt).
While block 404 of the flow diagram of FIG. 4 a and other operating blocks herein refers to capturing a “first” frame of image data, it will be understood that a “first” captured frame as referred to herein is not necessarily the initial frame captured by a reader subsequent to actuation of trigger 13 t. For example, as explained in application Ser. No. 09/766,922, filed Jan. 22, 2001, entitled “Optical Reader Having Reduced Parameter Determination Delay,” (now U.S. Patent Publication No. 2002/0125317) which application is incorporated herein by reference in its entirety, optical readers commonly process one or more “test” frames of image data to establish exposure levels and other operating parameters.
Another method for operating a multiple imaging module optical reader is described with reference to the flow diagram of FIG. 4 b. After trigger 13 t is pulled at block 420 control circuit 140 captures a first frame of image data at block 422. Control circuit 140 captures a first frame image data via actuation of an image sensor 32 of first module 10 a and illumination light source 16 of first imaging module 10 a. That is, image sensor 32 of first module 10 a is actuated to generate image signals while a target is illuminated by illumination light sources 16 of first imaging module 10 a. At block 424 control circuit 140 subjects the first frame of capture image data to a decoding attempt. If decoding is not successful (block 426), then control circuit 140 automatically proceeds to block 428 to capture a second frame of image data. Control circuit 140 can also capture a second frame of image data as described in connection with block 428 prior to subjecting a first frame of image data to a decode attempt (block 424). Control circuit 140 can capture a first frame as described in connection with block 422, a second frame as described in block 428, and a third frame (block 434) in any order. Control circuit 140 can capture first, second, and third frames of image data ( blocks 422, 428 and 434) contemporaneously. When control circuit 140 captures a second frame of image data at block 428 control circuit 140 once again actuates image sensor 32 of first imaging module 10 a as in the step of block 422. However, when capturing a second frame of image data via actuation of first image sensor, control circuit 140 actuates illumination light sources 16 of second imaging module 10 b without actuating illumination sources 16 of first imaging module 10 a. Because image sensor 32 of first module 10 a and illumination sources 16 of second module 10 b are substantially spaced apart, the frame of image data captured at block 428 is substantially impervious to specular reflection read failures. The operating method described with reference to FIG. 4 b can be utilized with any use of readers 5-1, 5-2, 5-3, 5-4, 5-5, 5-6, 5-7, 5-8, and 5-9. As indicated by block 434 a reader having three imaging modules 10 a, 10 b, and 10 c e.g. of reader 5-2 can be further configured so that the control circuit 140 captures a third frame of image by actuation of image sensor 32 of first module e.g., 10 a together with actuation of illumination light sources of third module 10 c.
A still further method for operating an optical reader having a plurality of imaging modules is described with reference to the flow diagram of FIG. 4 c. Referring to the flow diagram of FIG. 4 c control circuit 140 at block 446 captures first and second frames of image data. The first frame of image data captured at block 446 may be captured via actuation of image sensor and illumination light sources of first imaging module e.g., module 10 a of reader 5, FIG. 1 a. The second frame of image data captured at block 446 may be captured via actuation of image sensor 32 and illumination light sources 16 of second imaging module 10 c. Referring to further aspects of image capture block 446, control circuit 140 may capture first and second frames at block 446 sequentially (the first frame is captured in its entirety and then the second frame is captured) or contemporaneously (the capture of the second frame begins before capture of the first frame is complete). At block 448 control circuit 140 subjects the first captured frame to a decode attempt. If decoding fails, control circuit 140 proceeds to block 456 to combine the first captured frame captured by actuation of an image sensor of a first module 10 a with a second captured frame of image data captured via actuation of a second imaging module 10 c to generate a third image representation. At block 458 control circuit 140 subjects the third image representation derived from the first and second frames to a decoding attempt. If decoding is successful, control circuit 140 outputs the decoded out message at block 462.
At several stages of the operating methods described herein, multiple imaging module reader 5 executes the steps of attempting to decode decodable indicia and branching control of an operating program if the decoding attempt is not successful. In a further aspect of the invention, the step of attempting to decode in any one of the operating programs described with reference to FIGS. 4 a, 4 b, and 4 c can be substituted for or supplemented with the step of preliminarily evaluating image data to determine whether decoding will likely be successful. A step of preliminarily evaluating image data can eliminate the need to actually launch decoding processing to determine whether indicia representation(s) within a frame of image data can be decoded.
The step of preliminarily evaluating image data to determine whether decoding will be successful can take on a variety of forms. In one example of the preliminary image data evaluating step, a preliminary image data evaluating step can include the step of examining gray scale values of a frame of image data to determine if the image data has become saturated. If a saturation condition (sometimes referred to as a “white out” condition) is present there is a substantial likelihood of specular reflection misread or other type of misread attributable to excessive illumination. A saturated condition can be considered to be present for example if a sum total of all gray scale values exceeds a predetermined value, or if an average gray scale value exceeds a predetermined threshold white level. All pixel values may be evaluated during the preliminary evaluation step. More typically, however, a sample of pixel values comprising less than all pixel values of a frame are evaluated to speed processing. The sampling of pixels may be predetermined and/or adaptive.
The step of preliminarily evaluating image data to determine whether decoding will be successful can also include the step of estimating a module-to-target distance. If an estimated module-to-target distance exceeds a best focus distance by a threshold amount (which may be a predetermined threshold), control circuit 140 may preliminarily determine that decoding will likely not be successful without actually subjecting image data of a frame to a decode attempt. A method for generating a signal that varies with module to target distance is described in commonly assigned U.S. Pat. No. 5,773,810, entitled “Method of Generating Real Time Degree of Focus Signal For Hand Held Imaging Device,” which is hereby incorporated herein by reference in its entirety.
The preliminary evaluation of a frame of image data to determine the format of the data, or to determine which imaging module acquired the frame of image data takes place as described above with regard to FIGS. 4 f-4 g.
Referring to the operating method described with reference to FIG. 4 c in further detail, a number of different methods may be utilized to execute block 456 (combining the first and second frame of image data).
In one method for combining a first frame and a second frame of image data, cross correlation image combination methods can be utilized. In a cross correlation image combination method statistical analyses are executed to compare two or more frames of image data and frames of image data are shifted relative to one another until correlation is optimized.
In another method for combining first and second frames of image data, areas of overlap between two frames of image data e.g. 610, 614 are determined and then the image data contribution from one of the frames corresponding to the overlapping area is deleted or modified in a manner depending on the overlapping region image data of the other frame to generate a third image representation 630. In the example of FIG. 4 d, showing first, second, and third frames of image data 610, 612, and 614, overlapping regions 619 and 621 are defined between the first and third frames 610 and 614 and between the third and second frames 614 and 612. Overlapping regions of image data 619, 621 are regions e.g. of image data from two separate frames of image data that correspond to a common region of a target substrate.
The area of overlap between frames of image data captured via actuation of the image sensors of neighboring imaging modules can be determined based on known characteristics of the neighboring imaging modules 10 of reader 5, such as the spacing between imaging modules of reader 5 ( e.g. modules 10 a and 10 c of reader 5-3), power of imaging optics 40 of the particular imaging module 10, and the respective module-to-target distances of the neighboring modules. A distance of a module to a target can be estimated via analysis of captured image data, for example by a method for developing a degree of focus signal as is described in commonly assigned U.S. Pat. No. 5,773,810, entitled “Method For Generating Real Time Degree of Focus Signal For Hand Held Imaging Device,” which is hereby incorporated herein by reference in its entirety. It can be seen that the image frame diagram of FIG. 4 d may correspond to a parallel-axis reader 5 having a plurality of imaging modules comprising parallel imaging axes while the image frame diagram of FIG. 4 e (wherein frames 652 and 654 are distorted) may correspond to a diverging axis three module reader 5.
Referring to the frame diagram of FIG. 4 e in further detail, overlapping regions 659 and 661 are defined between first frame 652 and third frame 656 and between third frame 656 and second frame 654. When combining two frames of image data in the example of FIG. 4 e, it is particularly important to correct for skew errors (sometimes referred to as distortion errors) when combining frames of image data and when calculating regions of overlap between two frames of image data. In the example of FIG. 4 e, skew errors can readily be corrected for by, in part, utilizing a skew correction factor determined from the known relative angles between two imaging axes of a multiple module reader such axes 11 a and 11 b of reader 5-1, and the spacing between modules of a multiple module reader such as reader 5-1. Further skew correction of a frame of image data can be carried out in a manner described in copending application Ser. No. 09/954,081, filed Sep. 17, 2001, entitled “Imaging Device Having Indicia-Controlled Image Parsing Mode,” (now U.S. Pat. No. 6,561,428) which is hereby incorporated herein by reference in its entirety. In that application, a method is described wherein graphical analysis and interpolation processing are employed to determine a distortion factor affecting a frame of image data, and further wherein the determined distortion factor is utilized to back out distortion from an image.
Still further, graphical feature analysis can be utilized in combining frames of image data. If a common graphical feature (e.g. a straight line, a bullseye, a circle, a character) is found in two frames of image data, the common graphical feature can be utilized to establish a common orientation, spacing, and skew basis between the frames of image data to be combined.
FIG. 4 f is a flow diagram 400 that illustrates one embodiment of a data acquisition and decoding process of the invention. The process begins at the “start” oval 402. The process involves obtaining a frame of image data, as indicated by box 404. The correct decode algorithm for decoding the frame of image data is identified in response to the format of the frame of image data, as indicated at box 406. The format information used to determine the correct decode algorithm can be any information representing a frame size, information identifying a frame format, information identifying a word size, and information identifying a source of said frame. The process, which in one embodiment comprises computer instructions operating on the microprocessor-based decoder module, determines whether the correct decode algorithm is active, as indicated by decision diamond 408. If the correct decode algorithm is active, decoding proceeds as indicated at box 412. However, if the correct decode algorithm is not active, the process follows the “no” arrow from decision diamond 408 to box 410, which represents making the correct decode algorithm active. In one embodiment, the decode algorithm is embodied in a module (e.g., a dynamically linked library module, or .dll module). If the necessary .dll module is not loaded into memory, the .dll can be invoked, loaded, and linked thereby providing the necessary decoding module. Once the correct decode module is operational, the decoding step of box 412 is performed. The process ends at oval 414, labeled “end.”
In an alternative decoding process, depicted in FIG. 4 g, the same process steps are performed in an alternative sequence. As indicated in the flow diagram 420 of FIG. 4 g, the process starts at the oval 402 labeled “start.” The correct decode algorithm for decoding the frame of image data is identified in response to the format of the frame of image data, as indicated at box 406. The format information used to determine the correct decode algorithm can be any information representing a frame size, information identifying a frame format, information identifying a word size, and information identifying a source of said frame. The process, which in the alternative embodiment comprises computer instructions operating on the microprocessor-based decoder module, determines whether the correct decode algorithm is active, as indicated by decision diamond 408. If the correct decode algorithm is not active, the process follows the “no” arrow from decision diamond 408 to box 410, which represents making the correct decode algorithm active. In one embodiment, the decode algorithm is embodied in a module (e.g., a .dll module). If the necessary .dll module is not loaded into memory, the .dll can be invoked, loaded, and linked, thereby providing the necessary decoding module. Once the correct decode algorithm is active, the frame of image data to be decoded is obtained as indicated at box 404, and the decoding process is performed as indicated by box 412. The process is completed as indicated at the oval 414 labeled “end.”
FIG. 4 h is an exemplary flow diagram 430 illustrating an example of identification of an imaging module according to the invention. The identification process starts at the oval 432 labeled “start.” A parameter is selected for use in identification of an imaging module, as indicated at box 434. The parameter is information that comprises at least one of a bus address of the module, an ID code of the module, a model identifier of the module, and an electrical characteristic of the module, such as a characteristic resistance. The process of identifying the imaging module, or sensor, involves polling the sensor to recover a responsive signal, as indicated at box 436. As indicated at decision diamond 438, the response is compared with the selected parameter, to determine if the correct parameter has been received. If the correct response is observed, as indicated by the arrow marked “yes,” the sensor is identified as indicated at box 442. However, if an incorrect response is observed, as indicated by the arrow labeled “no,” the process continues with the selection of a new parameter, as indicated at box 440. The sensor polled again, at box 436, and the response is tested at diamond 438. The steps of selecting a parameter, polling the sensor, and checking whether the correct response is obtained can be iterated until the sensor is identified.
FIG. 4 i is an exemplary flow diagram 450 illustrating an example of locating a selected imaging module according to the invention. The imaging module location process is designed to identify a particular imaging module out of a plurality of imaging modules. The process starts at oval 452 labeled “start.” A parameter is selected for use in identification of an imaging module, as indicated at box 454. The parameter is information that comprises at least one of a bus address of the module, an ID code of the module, a model identifier of the module, and an electrical characteristic of the module, such as a characteristic resistance. A first sensor or imaging module is polled, as indicated at box 456. The response from the sensor is evaluated at decision diamond 458. If the response indicates that the sensor that was polled is not the desired sensor, as indicated by the “no” arrow exiting the diamond 458, another sensor is polled with the same parameter, as indicated by box 460. A negative response to the polling can be a response that is not the desired or expected response, or the absence of a response after a suitable time period has elapsed.
In the circumstance where a negative response is observed, the cycle of polling another sensor and evaluating the response can be repeated, or iterated, as many times as desired, and in any event as many times as there are sensors to be polled. If the response from some sensor is the expected, or appropriate, response, the sensor is deemed to have been located, as indicated at box 462. The identification system can optionally retest the presumed known sensor, if high assurance of the correct identification is desired, as indicated at diamond 464. If the identification is deemed acceptable, the process proceeds to oval 474, marked “end.”
If a higher level of confidence is desired, the process can select another parameter that is expected to be valid for the identified sensor, as indicated at box 466. The presumed known sensor is polled, as indicated at box 468. The response is tested, as indicated at diamond 470. If the response is appropriate, as indicated by the arrow marked “yes,” the identity of the sensor is confirmed (e.g., the desired sensor is found with high confidence), and the process ends at the oval 474. However, if the second polling response is not correct, the system halts and indicates an error condition, as indicated at box 472.
FIG. 6 a is a schematic diagram 600 illustrating an exemplary means and method of connecting a plurality of imaging modules to a microprocessor-based decoder module of the invention using a multiplexer (“mux”) 610. In some embodiments, the mux 610 can be operated under the control of a programmed microprocessor, such as the microprocessor 180 present on the microprocessor-based decoder module of the invention. In FIG. 6 a the decoder 180 has a single data line 625 connected to the mux 610. The data line 625 can include as many bit lines as are needed for serial or parallel transmission of data from the mux 610 to the decoder 180, and can further include as many signal lines as are required for communication of control signals between the decoder 180 and the mux 610. In the illustrative embodiment, three sensors or imaging modules 630, 640, 650 are depicted. Each imaging module 630, 640, 650 has a respective connection line 632, 642, 652 connected to a respective input port of the mux 610. Each connection line 632, 642, 652 includes all the data and control lines necessary to operate a sensor and to obtain a frame of image data therefrom. The decoder 180 can command the mux 610 via the connection 625 as to which of the sensors is to be selected, for example by reducing a resistance of a switch connecting the mux 610 to each line of the data and control lines connecting the mux 610 with the selected sensor. In this manner, the decoder 180 can select any imaging module of the available imaging modules 630, 640, 650 by issuing a suitable command to the mux 610, which command may include instructions that are communicated to the selected sensor. Sensors 630, 640 and 650 can include at least two types of imaging modules that provide image data having formats that are different from one another.
FIG. 6 b is a schematic diagram 602 illustrating an exemplary means and methods of connecting a plurality of imaging modules to a microprocessor-based decoder module of the invention using manual connection by a user. Again, a decoder 180 is provided. The decoder 180 has at least two connection lines 622, 624. Each connection line 622, 624 includes all the data and control lines necessary to operate a sensor and to obtain a frame of image data therefrom. As in FIG. 6 a, there are shown three sensors 630, 640, 650, having respective connection lines 632, 642, 652, which are initially unconnected to the decoder 180. Each connection line 632, 642, 652 includes all the data and control lines necessary to operate a sensor and to obtain a frame of image data therefrom. The user can connect a selected sensor of sensors 630, 640, 650 to a first connection line of the decoder 180, and can connect additional sensors selected from sensors 630, 640 and 650 to the remaining connection line of decoder 180. As those of ordinary skill will recognize, the decoder 180 can be provided with more than two connection lines, and there can be more than three sensors 630, 640, and 650. Sensors 630, 640 and 650 can include at least two types of imaging modules that provide image data having formats that are different from one another.
FIG. 6 c is a schematic diagram 604 of an illustrative hardware connection of a microprocessor-based decoder module 180 of the invention with a plurality of imaging modules 630, 640, 650, 660, and the relations of code modules 672, 674, 676 operating on the microprocessor 180, according to principles of the invention. In FIG. 6 c there are four sensors, including sensors 630, 640, 650 and 660. The sensors are connected to the microprocessor-based decoder module via the mux 610 as described above. In an illustrative example of operation of the decoder 180, sensors 630, 640, 650 and 660 are all designed to provide frames of image data in formats that are mutually incompatible. The microprocessor-based decoder module 180 has resident in a memory thereof three dynamically linked library files (as .dll, .ocx or equivalent kinds of files), namely DLL1 672, DLL2 674 and DLL3 676. By way of illustration, DLL1 672 is a file that converts the input format of a frame of image data from one of the image modules, for example image module S2 640, into a format that microprocessor-based decoder module 180 can decode. Similarly, DLL2 674 is available to convert the input format of a frame of image data from one of the image modules, for example image module S3 650, into a format that microprocessor-based decoder module 180 can decode. Similarly as well, DLL3 676 coverts the input format of a frame of image data from a third module, for example S1 630, into a format that microprocessor-based decoder module 180 can decode. In addition, in some embodiments, any of DLL1 672, DLL2 674 and DLL3 676 can communicate with the corresponding sensor to transmit instructions thereto. In yet another embodiment, other .dlls are provided for communication of instructions from the microprocessor-based decoder module to selected sensors, and DLL1 672, DLL2 674 and DLL3 676 are configured only to receive and convert information representing a frame of image data in a particular format or formats from a respective sensor, but not to communicate instructions to the sensor. In operation, if any of imaging modules 630, 640 or 650 are used to obtain image data, there is no problem to manipulate that data into a suitable format for decoding by activating the appropriate one of DLL3 676, DLL1 672 and DLL2 674, respectively when the corresponding imaging module is operational. The DLL that is required can be activated by setting a pointer in memory, by setting up the appropriate call, or by the use of an equivalent redirectable software command that can direct program flow to the necessary software module as needed. In the circumstance where imaging module S4 660 is activated, an additional DLL file, which has been prepared to convert frames of image data from the format provided by imaging module S4 660 to a format that microprocessor-based decoder module 180 can decode, is read into an available section of memory, and the core program running on the microprocessor is redirected to use the newly installed DLL. More information on the installation of DLLs (e.g., .dll or .ocx files) and redirection of program flow is discussed in conjunction with FIG. 6 d.
FIG. 6 d is a schematic diagram 606 of an illustrative memory map 680 showing the relationships between and among computer code modules present and operating in a microprocessor-based decoder module according to principles of the invention. In FIG. 6 d, all memory locations are expressed in hexadecimal notation, as is common in the programming arts; however, as is well known, other representations of memory location can be used. In FIG. 6 d, the core program or “kernel” 682 is depicted as being present from memory location X0000 to memory location xA0B9. Pointers 684 are located from the memory location immediately following the kernel 682, e.g., xA0BA, to memory location xABFF. DLL1 672 resides in memory locations xAC00-xACD7. DLL2 674 resides in memory locations xACD8-xADAD. DLL3 676 resides in memory locations xADAE-xBDF2. Memory from xBDF3 and higher is available for computation memory (e.g., scratch memory 685) and other uses. By way of illustration, when a frame of image data from sensor 660 is to be manipulated, a new DLL, e.g., DLL4 686, needs to be made available. In this exemplary description, if the memory region from xBDF3 to xCEB1 is used for holding data or computational results, DLL4 686 can be loaded into memory in the memory area extending from xCEB2 to xCEF4 688 that is large enough to accommodate DLL4 686. A pointer in the pointer section 684 of memory 680 can be loaded with the location xCEB2 as the entry location for DLL4 686 when the core program needs to invoke DLL4. The remaining section 690 of memory 680, from xCEF5 to xFFFF, is available as for the use of the core program as needed. While the example described herein has been described for simplicity of exposition as an example for a memory of only 216 bits, or 64K, those of ordinary skill will recognize that the use of memory of any convenient size is contemplated. Furthermore, while the present example describes the loading of a DLL into memory, those of ordinary skill will recognize that any convenient means of invoking the DLL, including the use of media such as non-volatile memory (e.g., hard or floppy disks, CR-ROM, ROMs, PROMs, EPROMs, EEPROMs, or other storage media) and even connections over networks such as LANs, WANs, and the Internet to allow the use of remotely stored DLL files, are all contemplated herein.
FIG. 7 a is a drawing 700 that schematically illustrates some of the features of an exemplary imaging module 710 useful for practicing the invention. In the illustrative example, imaging module 710 include two memory locations ID 720 and I2C Address 730. In the example shown, the memory location ID 720 is a nonvolatile memory that can be programmed to contain a unique identification symbol, such as a number or an alphanumeric string. The ID 720 location of imaging module 710 is connected to a bus 740. The microprocessor-based decoder module 180 of the invention can interrogate ID 720 by way of the bus 740. An exemplary command that can be issued includes a request to transmit the contents of the ID 720 memory location over the bus for the use of the microprocessor-based decoder module 180. I2C Address 730 is a memory location that contains an address for the imaging module 710 on the bus 740. Imaging module 710 responds when the address corresponding to the contents of I2C Address 730 is applied to the bus 740, and does not respond when a different address is applied to the bus, according to the I2C protocol. The microprocessor-based decoder module 180 can issue any of several commands to obtain information about imaging module 710, including requests to have imaging module 710 perform actions, to have imaging module 710 report the start and/or the completion of the requested action, and reporting the address in I2C Address 730 memory.
FIG. 7 b depicts an alternative embodiment of an imaging sensor 710 that has a resistance 750 present therein. The resistance 750 is in communication with the bus 740 via a switching mechanism (not shown) to avoid having multiple imaging modules applying resistance to the bus. The microprocessor-based decoding module 180 can interrogate the resistance 750 by activating the switching mechanism. Resistance 750 is depicted as a group of resistances R1 752, R2 754, and R3 756 that are connected in parallel. In one embodiment, R1 752, R2 754, and R3 756 are precision resistors having fixed resistance relationships, such as R1 is twice the resistance of R2 and four times the resistance of R3. One can program the resistance seen between terminals 760 and 770 of imaging module 710 by cutting conductors so as to disconnect one or more of R1, R2 and R3. For example, one can obtain values of 1×R3, 2×R3 (by leaving only R2 in the circuit) and 4×R3 (by leaving only R1 in the circuit) as well as 4/3 R3 (R1 and R2 in parallel), 2/3 R3 (R2 and R3 in parallel), 4/5 R3 (R1 and R3 in parallel), and 4/7 R3 (all three resistors in parallel). The value of infinite resistance (all resistors disconnected) can also be used, but leaves as a possibility that no module 710 is connected at all. One can measure the resistance and determine which resistors were left in the circuit, thereby identifying a particular imaging module 710.
Referring to FIG. 8 a, which shows an illustrative flow diagram of an embodiment of an iterative decoding process 800, a frame of image data 810 is provided to the microprocessor-based decoding module 820 upon which a suitable computer program 830 is running. The microprocessor-based decoding module 820 is programmed to handle the data of the format provided, as explained above. In the illustrative flow diagram 800, the frame of image data is a frame of image data from a 2D imaging module 10, such as those of FIGS. 1 a-1 i. The microprocessor-based decoding module 820 converts the 2D data 810 into a series of P 1D data segments 812, where P is an integer greater than 1. Each of the P 1D data segments 812 is further converted into a transition location information sequence 814. In an illustrative embodiment, the conversion of data from an N-bit format (for example, N=8) to a 1-bit format occurs according to a prescriptive rule, or algorithm. For example, one rule could be that data greater than 50% of full scale (e.g., greater than or equal to 128) is by definition translated to a “1” or “on,” and data less than 50% of full scale (e.g., less than or equal to 127) is by definition translated to “0” or “off.” Other rules can equally well be implemented. The decoding is iterative in that at least the decoding at the lowest level (N-bit to 1-bit) is performed repeatedly for each segment of 1D data 812. The decoding is recursive in that data of higher than 1D format requires a plurality of passes through the decoding algorithm, wherein at each pass each decoding level above the N-bit to 1-bit level invokes a decoding step one level below itself, which ultimately ends at the lowest N-bit to 1-bit decoding. Finally, decoded information 816 is provided as output by the decoding module 830.
In an alternative embodiment shown in schematic diagram 805 of FIG. 8 b, the same decoding process can be performed using hard wired logic in integrated circuit chips IC1 850 and IC2 860. The integrated circuit chips can be FPGAs programmed to perform the required logic, or the integrated circuit chips can be ASICs. As in the embodiment of FIG. 8 a, a frame of image data 810 is provided by a 2D imaging module 10, such as those of FIGS. 1 a-1 i. IC1 850 performs the same conversion functions that are performed by the microprocessor-based decoding module 820 of FIG. 8 a, that is, IC1 850 converts the 2D data 810 into a series of P 1D data segments 812, where P is an integer greater than 1. Each of the P 1D data segments 812 is further converted into a transition location information sequence 814. In an illustrative embodiment, the conversion of data from an N-bit format (for example, N=8) to a 1-bit format occurs according to a prescriptive rule, or algorithm. The rule can be the same rule as given above with regard to the microprocessor-based decoder module. Finally, IC2 860 decodes the converted data 814 to obtain decoded information 816 as output. As will be apparent to those of skill in the programming arts, it is also possible to perform the decoding process using some functions that are described as being provided in a microprocessor-based system in conjunction with other functions provided in hard wired logic to accomplish the necessary end.
As more powerful processors (e.g., faster processors or ones using more bits of data per operation) become available, it is possible that one or more of the decoding steps can be omitted. For example, with sufficient processing power, the necessity to convert 1D data segments having 8-bits of resolution to transition location information having only 1-bit of resolution may cease. The conversion of 8-bit data to one bit data in fact implies the loss of the majority of the information content of the 8-bit data. Therefore, with sufficient processing power (e.g., wider data width and/or shorter cycle time) it is possible, and in fact is advantageous, not to convert the 8-bit data to 1-bit data, but rather to provide improved performance (e.g., higher resolution, better color rendition, and/or higher confidence in a match). As yet more processing power becomes available, the conversion of 2D data to a sequence of 1D data segments may become unnecessary without causing an undue increase in the time to decode information encoded in decodable indicia.
FIG. 9 a illustrates an embodiment of a microprocessor-based decoder module 920 in the form of a PC card. In another embodiment, the microprocessor-based decoder module 920 is provided in the form of a PCMCIA module. Other specific embodiments will be apparent to those of skill in the circuitry arts. Microprocessor-based decoder module 920 contains therein the microprocessor 910 which is illustrated in phantom as a region in the interior of module 920. Module 920 has a plurality of electrical contacts 912 for demountable connection of the module 920 to a product that employs the module, such as a digital camera 960 as is shown in FIG. 9 c and that is described in greater detail below. The module 920 may receive power from the device in which it is demountably mounted, by way of two or more of the contacts 912. Module 920 may be “keyed” or otherwise mechanically indexed to allow insertion into the device in which it is demountably mounted in only the correct orientation. As one form of keying or indexing, the contacts 912 may be disposed in a pattern that permits seating of the module 920 within the device, such as digital camera 960, only in the proper orientation, e.g., the contacts may be asymmetrically disposed with regard to a mirror plane or rotation axis of the module 920.
FIG. 9 b illustrates an embodiment of a microprocessor-based decoder module 940 in the form of a circuit board. For simplicity of exposition, only the substrate 915 of the circuit board 940 is depicted, with a microprocessor-based decoder 910 mounted to a surface of the substrate. The electrical traces common to printed circuit boards are not depicted. However, as is well known in the circuitry arts, electrical traces on one or more surface are provided to connect the microprocessor-based decoder 910 to a connector 918. The connector 918 is conveniently disposed on a peripheral edge of module 940, for convenient demountable connection of module 940 to an imaging module 930. The connector 918 can take any convenient form, such as a card edge connector comprising a plurality of plated metallic “fingers,” a “D” connector having a plurality of metal pins, or a plug connector. In one embodiment, the module 940 is connected to an imaging module 930 by a connector 932 that is the mate for connector 918. In other embodiments, a multiple conductor cable 935 is used to connect module 940 with imaging module 930. The cable 935 has at a first end thereof a first connector 933 that mates to connector 918 and at a second end thereof a connector 937 that is the mate to connector 932 of the imaging module 930. In some embodiments, the connectors 918 and 932 are not mating connectors, and a cable such as cable 935 is required to accomplish the connection, the cable having two dissimilar connectors 933, 937 that respectively mate to connectors 918 and 932. Module 940 may include additional connections (not shown) for provision of power and to provide decoded information for the benefit of a user. Circuit board module 940 is adapted to be housed semi-permanently within a device such as hand held optical reader 980, as shown and described in more detail below with regard to FIG. 9 d.
FIG. 9 c illustrates an embodiment of a digital camera 960 comprising the microprocessor-based decoder module 920. The camera 960 comprise a body 961 that houses and supports a optical imaging device 966 which can be activated by a user-activated switch, such as button 964. An entryway 962 is defined within the body 961 for insertion of the microprocessor-based decoder module 920 of FIG. 9 a into the camera 960, as indicated by the phantom 968. The camera 960 further comprises a power supply, such as a battery (not shown) and mating connectors (not shown) to power and electrically connect to module 920 when it is present within camera 960.
FIG. 9 d illustrates an embodiment of a hand-held optical reader 980 comprising the microprocessor-based decoder module 940, which is shown in phantom. The module 940 may be connected to the reader 980, as has been described in conjunction with FIGS. 1 a-1 g above. The optical reader 960 further comprises an imaging module 984 that is electrically connected to the module 940 by way of cable 986. Cable 986 is similar to cable 935 described above. A switch 982 is provided for use by a user in activating optical reader 980 including its various components. Optical reader 980 may be powered by a battery (not shown) or may be powered by a remote power supply via a power cable (not shown), as may be convenient for the intended method of use of optical reader 980. Optical reader 980 further comprises an output, which may be a display, an enunciator, or a means of recording results for later examination by a user. The output may be local to optical reader 980, or may be remote from optical reader 980. In embodiments where the output is remote, the output data may be transmitted via cable, via wireless or RF connection, via infrared or optical technology, by being recorded on a disk or other medium for later physical transfer, or by any other convenient means.
Another embodiment of the invention involves providing speech capability to the microprocessor-based decoder module. In one embodiment, the module is capable of recognizing commands provided in spoken form, and is capable of providing a response to a user in conventional spoken language. In the examples that are presented herein, the language is English. It will be understood that any language can be implemented that is capable of being spoken by a user or understood by a user.
Technology that can convert material presented in the form of a decodable indicium, such as a bar code, to vocalized information provides many advantageous opportunities, ranging from convenience, to permitting the “hands-free” operation of a process, to providing information to individuals who are poorly literate, illiterate, sight-impaired or otherwise have problems reading. In the case of a decodable indicium, which is expressed in a format that decodes into alphanumeric values, there is the possibility of enunciating the result in whatever language would benefit the user. In principle, the same symbol, such as a barcode, can be vocally expressed in any language of choice. For example, a bar code on a package of food could be read, and the symbol could be used to enunciate the contents, the weight or volume, the price and other relevant information in a language selected by the user. Alternatively, a symbol could be encoded with information such as text, so as to compress the space required to convey a quantity of information compared to the space required to print the information in a format readable directly by the user. In some embodiments, the conversion of the textual content into an encoded symbol also renders the textual information more secure or less readily available to individuals who are not authorized to access the information.
One embodiment involves the decoding of a symbol such as a barcode into text, and the conversion of the text into audible speech. Examples of systems that can perform such data manipulation include a reader/decoder for the bar code, in conjunction with text to speech capability. Examples of applications for such technology include a spoken response to a user of a reader for encoded indicia such as the indication that the symbol was correctly read; vocalization of identification information, such as material read from a document such as a license, a ticket, an identification badge or tag, or other printed material, for such purposes as indicating permission for entry to a theater, sporting event or the like, enunciation of permission to engage in an activity having an age requirement (e.g., drinking alcoholic beverages or buying tobacco), law enforcement purposes, enunciation of a security access authorization, or enunciation of information (e.g., instructions or the like) printed in the form of a decodable indicium. The technology can be applied in various settings, such as in a retail setting, in a warehouse, factory, or assembly and/or repair facility, and in settings involving visually handicapped individuals or individuals with poor literacy skills.
Turning to FIG. 10 a, in a first embodiment, the microprocessor-based decoder module 180 includes an audio output module 1010. An output terminal or port of the microprocessor-based decoder module 180 is connected to an input terminal or port of the audio output module 1010. The audio output module 1010 can be powered by way of the output terminal of the microprocessor-based decoder module 180, or it can be powered by an auxiliary conventional source of power (not shown) such as a power supply using a battery or a mains-connected power supply. In an exemplary embodiment, the audio output module 1010 comprises an audio codec (e.g., audio coder/decoder) 1012 connected to an output channel of the microprocessor-based decoder module 180, a D/A converter 1014 having an input terminal connected to an output terminal of the audio codec 1012, an audio amplifier 1016 having an input terminal connected to an output terminal of the D/A converter 1014, and a speaker 1018 connected to an output terminal of the audio amplifier 1016. The operation of the audio codec 1012, the D/A converter 1014, the audio amplifier 1016 and the speaker 1018 are all conventional and will not be described herein in detail. The microprocessor-based decoder module 180 can use as input to the audio output module 1010 a message recorded in a memory as digital information, such as a code corresponding to a prerecorded message stored in a memory in the audio output module 1010, or as the digital message that the audio output module 1010 can decode. In other embodiments, the message is recorded as a wav. file, or in another audio file format. The message can be a digitized version of a pre-recorded message spoken by a person. The microprocessor-based decoder module 180 provides a signal in response to a condition that it determines. The signal activates the audio output module 1010 to provide an aural response to a user. When the microprocessor-based decoder module 180 is configured to operate with audio output, audible spoken responses can be provided to a user in response to actions or conditions that the microprocessor-based decoder module 180 encounters. As a non-exhaustive set of exemplary audible responses, the microprocessor-based decoder module 180 can cause the audio output module 1010 to enunciate such messages as: “Good read” (or alternatively “Read good”) in response to an acceptable reading of a decodable indicium; “No symbol found” in response to the apparent lack of a readable symbol within the region examined by a reader; “Image too dark” or “Image too light” in response to aberrant illumination conditions, faulty symbols or a combination of both; “Symbology is code 3 of 9,” “Symbology is Aztec,” or any other recognized symbology format in response to a determination of a symbology format; and “Download complete” in response to the completion of a download, as well as other similar audible responses.
In a second embodiment, shown in FIG. 10 b, the microprocessor-based decoder module 180 includes an audio input module 1020. An input terminal or port of the microprocessor-based decoder module 180 is connected to an output terminal or port of the audio input module 1020. The audio input module 1020 can be powered by way of the input terminal of the microprocessor-based decoder module 180, or it can be powered by an auxiliary conventional source of power (not shown) such as a power supply using a battery or a mains-connected power supply. In an exemplary embodiment, the audio input module 1020 comprises an audio codec (e.g., audio coder/decoder) 1022 having an output terminal connected to an input channel of the microprocessor-based decoder module 180, an A/D converter 1024 having an output terminal connected to an input terminal of the audio codec 1020, an audio amplifier 1026 having an output terminal connected to an input terminal of the A/D converter 1024, and a microphone 1028 having an output terminal connected to an input terminal of the audio amplifier 1026. The operation of the audio codec 1022, the A/D converter 1024, the audio amplifier 1026 and the microphone 1028 are all conventional and will not be described herein in detail. The microprocessor-based decoder module 180 can use input from the audio input module 1020 to recognize a command by comparing the input signal to a message recorded in a memory as digital information, such as a digitized version of a pre-recorded message spoken by a person. In other embodiments, the microprocessor-based decoder module 180 uses conventional voice recognition software and or hardware, such as is used by other voice recognition systems. The microprocessor-based decoder module 180 causes the performance of a function in response to a command that it recognizes. A user activates the microprocessor-based decoder module 180 by speaking a command. When the command is recognized by the microprocessor-based decoder module 180, it controls an imaging module or an entire reader in response to the command. The signal activates the audio input module 1020 to provide an aural response to a user. When the microprocessor-based decoder module 180 is configured to operate with audio input, audible spoken command from a user can initiate actions or conditions that the microprocessor-based decoder module 180 carries out. As a non-exhaustive set of exemplary audible command that a user can give, and that the microprocessor-based decoder module 180 can respond to are such commands as: “Scan”, which causes a response comprising the initiation of the scanning of a decodable indicium; “Trigger,” which causes the same behavior as the mechanical depression of a trigger switch; “Capture” or “Capture image,” which causes the initiation of image capture; “snap shot”, which causes the initiation of a snapshot image capture; “Menu,” which activates a menu routine, and which can then be followed by further commands that cause the navigation of a logical sequence of menu commands; “Sleep,” which initiates a sleep cycle; “Send image,” which initiates the transfer of an image in memory to another piece of hardware; “Decode,” which initiates the decode cycle of an image analysis routine; as well as other similar commands.
As will be apparent to those of ordinary skill in the decoder arts, a sequence of audible interactions between a user and a microprocessor-based decoder module 180 having both an audio input module 1020 and an audio output module 1010 can occur. As an exemplary interaction, the user can issue the commands “Scan” and “Trigger.” The microprocessor-based decoder module 180 might respond “Good read.” The user could then issue the command “Capture image.” The microprocessor-based decoder module 180 might then respond “Symbology is . . . (UPC) . . . . ” The user could command “Decode.” Upon successful decoding of the image and enunciation of the result, if no further images need to be decoded, the user could issue the command “Sleep.” In such a manner, the user operates the microprocessor-based decoder module 180 and the imaging hardware connected to it without the need to touch or manipulate anything, simply by issuing voice commands and by receiving audible responses that inform the user of the status and outcome of actions the user has commanded, as well as notification of error conditions that arise or the like.
Turning to FIG. 10 c, there are illustrated interconnections that exist among components of an illustrative system providing bar code to speech or bar code to text to speech functionality. In general a detector 1032 acquires an image of the encoded indicium, and provides the encoded information therein to a decoder 1034. The decoder 1034 analyses the encoded information. Based at least in part on the analysis, the decoder 1034 can obtain text or other information from a local memory or from a remote memory, using such data interface and communication media 1036 as RF, infrared, computer or telephone networks, and/or hardwire connections. The decoder 1034 communicates the information to be enunciated by way of serial or parallel communication channels, such as a bus, to a text to speech converter 1038, which drives a speaker 1039, thereby enunciating the information as audible speech.
FIGS. 10 d-10 f illustrate flow diagrams that show methods of speech enunciation that embody the invention. In FIG. 10 d, the detector 1032 acquires a bar code or other decodable indicium, as indicated in box 1042. The decoder 1034 decodes the information, as indicated by box 1044. In one embodiment, based at least in part on the content of the decoded information, a decision is made as to whether a spoken message is to be provided, as indicated at diamond 1046. If a spoken message is required, the message is expressed is indicated by box 1048. However, if no spoken message is required, the action taken at box 1048 is suppressed, as indicated by the arrow that bypasses box 1048. The determination whether the information will be enunciated as speech can be based in part of the content of the information as compared to a test criterion. The test criterion can be the presence or absence of a particular string or symbol in the decoded information, the presence or absence of a decodable symbol of a particular symbology type (e.g., UPC) or the presence or absence of a particular type of information (e.g., a menu, an instruction, or the like), the source of the information (e.g., speak so as to convey the bar code, or so as to convey information provided as an alternative input, such as the current price, whether and how many of an item are in stock, colors, sizes, or other features of the item, and the like), and criteria such as speak everything (e.g., “chatterbox”), or speak nothing (e.g., silence). After the decision whether or not to provide spoken information is decided and acted upon, the system can perform other tasks, such as determining whether data should be presented in another format (e.g., printed, recorded, and so forth) at decision diamond 1047, and the system then acts on the decision at box 1047.
In FIG. 10 e a system loops until data is obtained (e.g., idle 1050, followed by data input test diamond 1052 and return arrow if the test returns negative). Once data is available, a test for a spoken response occurs (e.g., diamond 1046). If a spoken message is required, the message is expressed is indicated by box 1048. However, if no spoken message is required, the action taken at box 1048 is suppressed, as indicated by the arrow that bypasses box 1048. The criteria for making the decision are described above with regard to FIG. 10 d. Thereafter, another function can be tested, as indicated at diamond 1058, and can be performed at indicated at box 1059, or can be bypassed as indicated by the arrow that bypasses box 1059, depending on the outcome of the test. The order of the spoken response and the other function can be interchanged as needed, which would be represented by a flow diagram similar to FIG. 10 e, in which the sequence of diamond 1058, box 1059 and the corresponding bypassing arrow are positioned after the input loop and before diamond 1046 and box 1048.
FIG. 10 f depicts a flow diagram that illustrates yet another method of the invention, in which the detector 1032 observes a decodable indicium, as indicated in the box 1060 labeled “acquire bar code.” The decoder 1034 decodes the bar code, as indicated schematically in the box 1062 labeled “decode.” Based on the content of the decoded information, or on a type of bar code, or in response to another feature of the decoded information, the decoder requests information by communicating by way of data interface and communication media 1036, as indicated in box 1064 labeled “request information.” The decoder 1034 receives a response as indicated by box 1066 labeled “receive feedback.” The system determines at diamond 1046 labeled “speech?” whether a spoken communication is required. If a spoken message is required, the message is expressed is indicated by box 1048. However, if no spoken message is required, the action taken at box 1048 is suppressed, as indicated by the arrow that bypasses box 1048. The criteria for making the decision are described above with regard to FIG. 10 d.
Those of ordinary skill will recognize that many functions of electrical and electronic apparatus can be implemented in hardware (for example, hard-wired logic), in software (for example, logic encoded in a program operating on a general purpose processor), and in firmware (for example, logic encoded in a non-volatile memory that is invoked for operation on a processor as required). The present invention contemplates the substitution of one implementation of hardware, firmware and software for another implementation of the equivalent functionality using a different one of hardware, firmware and software. To the extent that an implementation can be represented mathematically by a transfer function, that is, a specified response is generated at an output terminal for a specific excitation applied to an input terminal of a “black box” exhibiting the transfer function, any implementation of the transfer function, including any combination of hardware, firmware and software implementations of portions or segments of the transfer function, is contemplated herein.
While the present invention has been explained with reference to the structure disclosed herein, it is not confined to the details set forth and this invention is intended to cover any modifications and changes as may come within the scope of the following claims.

Claims (10)

1. A method of manufacturing an optical reader utilizing a selected one of a one-dimensional (1D) imaging module and a two-dimensional (2D) imaging module, comprising:
providing a microprocessor based decoder module that, when operative, decodes a frame of image data provided by a selected one of said one-dimensional (1D) imaging module and said two-dimensional (2D) imaging module as a component of said optical reader, wherein said decoding is responsive to information selected from one of information relating to said selected imaging module and information relating to said frame of image data;
providing an imaging module for communication with said microprocessor based decoder module, said imaging module being either of a one-dimensional (1D) imaging module or a two-dimensional (2D) imaging module; and
assembling a reader product comprising the microprocessor based decoder module and the imaging module.
2. The method of claim 1, wherein said microprocessor based decoder module is configured to be reprogrammed to accept and decode frames of image data having different formats from a plurality of different sensors.
3. The method of claim 1, wherein said microprocessor based decoder module is configured to be reprogrammed by installation and activation of a dynamically linked library module that provides at least one of communicating information from a computer program operating on the microprocessor based decoder module to the imaging module, and communicating image data from the imaging module to a module of the computer program operating on the microprocessor based decoder module that receives a frame of image data.
4. The method of claim 1, wherein said microprocessor based decoder module is configured to allow switching operation from a first sensor providing a frame of image data of a first format to a second sensor providing a frame of image data of a second format by redirecting the microprocessor based decoder module to use a different computer program for said first sensor than is used for said second sensor.
5. The method of claim 1, wherein said microprocessor based decoder module is configured to allow switching operation from a first sensor providing a frame of image data of a first format to a second sensor providing a frame of image data of a second format by redirecting the microprocessor based decoder module to use a different dynamically linked library module for said first sensor than is used for said second sensor.
6. The method of claim 1, wherein the decoding is responsive to information relating to said selected imaging module.
7. The method of claim 1, wherein the decoding is responsive to information relating to said frame of image data.
8. The method of claim 1, wherein the providing a microprocessor based decoder module includes providing a main processor IC chip having an integrated frame grabber unit.
9. The method of claim 1, wherein the providing a microprocessor based decoder module includes providing a main processor IC chip having an integrated frame grabber unit of sufficient capacity to capture 2D frames of image data.
10. An optical reader comprising:
a one dimensional image sensor;
a light source for use in illuminating a target area;
an analog to digital converter for converting analog voltage levels output by the one dimensional image sensor into gray scale pixel values;
a multifunctional IC chip, the multifunctional IC chip having an integrated frame grabber unit having sufficient capacity to capture 2D frames of image data, the optical reader being configured so that the gray scale pixel values are transmitted to the frame grabber unit, wherein the optical reader is operative to attempt to decode a decodable indicia represented in captured image data; and
a hand held housing in which the one dimensional image sensor is disposed.
US12/754,368 2003-01-09 2010-04-05 Decoder board for an optical reader utilizing a plurality of imaging formats Expired - Fee Related US8016196B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US12/754,368 US8016196B2 (en) 2003-01-09 2010-04-05 Decoder board for an optical reader utilizing a plurality of imaging formats
US13/230,516 US8622303B2 (en) 2003-01-09 2011-09-12 Decoding utilizing image data
US14/147,992 US9152835B2 (en) 2003-01-09 2014-01-06 Decoding utilizing image data

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/339,439 US7086596B2 (en) 2003-01-09 2003-01-09 Decoder board for an optical reader utilizing a plurality of imaging formats
US11/442,666 US7690572B2 (en) 2003-01-09 2006-05-26 Decoder board for an optical reader utilizing a plurality of imaging formats
US12/754,368 US8016196B2 (en) 2003-01-09 2010-04-05 Decoder board for an optical reader utilizing a plurality of imaging formats

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US11/442,666 Continuation US7690572B2 (en) 2003-01-09 2006-05-26 Decoder board for an optical reader utilizing a plurality of imaging formats

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/230,516 Division US8622303B2 (en) 2003-01-09 2011-09-12 Decoding utilizing image data

Publications (2)

Publication Number Publication Date
US20100187310A1 US20100187310A1 (en) 2010-07-29
US8016196B2 true US8016196B2 (en) 2011-09-13

Family

ID=32711104

Family Applications (5)

Application Number Title Priority Date Filing Date
US10/339,439 Expired - Lifetime US7086596B2 (en) 2002-06-04 2003-01-09 Decoder board for an optical reader utilizing a plurality of imaging formats
US11/442,666 Active 2025-08-16 US7690572B2 (en) 2003-01-09 2006-05-26 Decoder board for an optical reader utilizing a plurality of imaging formats
US12/754,368 Expired - Fee Related US8016196B2 (en) 2003-01-09 2010-04-05 Decoder board for an optical reader utilizing a plurality of imaging formats
US13/230,516 Expired - Lifetime US8622303B2 (en) 2003-01-09 2011-09-12 Decoding utilizing image data
US14/147,992 Expired - Fee Related US9152835B2 (en) 2003-01-09 2014-01-06 Decoding utilizing image data

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US10/339,439 Expired - Lifetime US7086596B2 (en) 2002-06-04 2003-01-09 Decoder board for an optical reader utilizing a plurality of imaging formats
US11/442,666 Active 2025-08-16 US7690572B2 (en) 2003-01-09 2006-05-26 Decoder board for an optical reader utilizing a plurality of imaging formats

Family Applications After (2)

Application Number Title Priority Date Filing Date
US13/230,516 Expired - Lifetime US8622303B2 (en) 2003-01-09 2011-09-12 Decoding utilizing image data
US14/147,992 Expired - Fee Related US9152835B2 (en) 2003-01-09 2014-01-06 Decoding utilizing image data

Country Status (1)

Country Link
US (5) US7086596B2 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110290878A1 (en) * 2010-06-01 2011-12-01 Fujian Newland Computer Co., Ltd. Matrix-type two-dimensional barcode decoding chip and decoding method thereof
US8146820B2 (en) 2005-03-11 2012-04-03 Hand Held Products, Inc. Image reader having image sensor array
US8629926B2 (en) 2011-11-04 2014-01-14 Honeywell International, Inc. Imaging apparatus comprising image sensor array having shared global shutter circuitry
US8686864B2 (en) 2011-01-18 2014-04-01 Marwan Hannon Apparatus, system, and method for detecting the presence of an intoxicated driver and controlling the operation of a vehicle
US8718536B2 (en) 2011-01-18 2014-05-06 Marwan Hannon Apparatus, system, and method for detecting the presence and controlling the operation of mobile devices within a vehicle
US8720785B2 (en) 2005-06-03 2014-05-13 Hand Held Products, Inc. Apparatus having hybrid monochrome and color image sensor array
US8720784B2 (en) 2005-06-03 2014-05-13 Hand Held Products, Inc. Digital picture taking optical reader having hybrid monochrome and color image sensor array
US8733660B2 (en) 2005-03-11 2014-05-27 Hand Held Products, Inc. Image reader comprising CMOS based image sensor array
US9152835B2 (en) 2003-01-09 2015-10-06 Hand Held Products, Inc. Decoding utilizing image data
US10205819B2 (en) 2015-07-14 2019-02-12 Driving Management Systems, Inc. Detecting the location of a phone using RF wireless and ultrasonic signals

Families Citing this family (408)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6631842B1 (en) 2000-06-07 2003-10-14 Metrologic Instruments, Inc. Method of and system for producing images of objects using planar laser illumination beams and image detection arrays
US20070267501A1 (en) * 2006-05-18 2007-11-22 Hand Held Products, Inc. Multipurpose optical reader
US7584893B2 (en) 1998-03-24 2009-09-08 Metrologic Instruments, Inc. Tunnel-type digital imaging system for use within retail shopping environments such as supermarkets
US7708205B2 (en) 2003-11-13 2010-05-04 Metrologic Instruments, Inc. Digital image capture and processing system employing multi-layer software-based system architecture permitting modification and/or extension of system features and functions by way of third party code plug-ins
US7490774B2 (en) 2003-11-13 2009-02-17 Metrologic Instruments, Inc. Hand-supportable imaging based bar code symbol reader employing automatic light exposure measurement and illumination control subsystem integrated therein
US7540424B2 (en) 2000-11-24 2009-06-02 Metrologic Instruments, Inc. Compact bar code symbol reading system employing a complex of coplanar illumination and imaging stations for omni-directional imaging of objects within a 3D imaging volume
US7464877B2 (en) 2003-11-13 2008-12-16 Metrologic Instruments, Inc. Digital imaging-based bar code symbol reading system employing image cropping pattern generator and automatic cropped image processor
US7954719B2 (en) 2000-11-24 2011-06-07 Metrologic Instruments, Inc. Tunnel-type digital imaging-based self-checkout system for use in retail point-of-sale environments
US8042740B2 (en) 2000-11-24 2011-10-25 Metrologic Instruments, Inc. Method of reading bar code symbols on objects at a point-of-sale station by passing said objects through a complex of stationary coplanar illumination and imaging planes projected into a 3D imaging volume
US7331523B2 (en) 2001-07-13 2008-02-19 Hand Held Products, Inc. Adaptive optical image reader
US7748620B2 (en) 2002-01-11 2010-07-06 Hand Held Products, Inc. Transaction terminal including imaging module
US20030222147A1 (en) 2002-06-04 2003-12-04 Hand Held Products, Inc. Optical reader having a plurality of imaging modules
US8596542B2 (en) 2002-06-04 2013-12-03 Hand Held Products, Inc. Apparatus operative for capture of image data
US20040134988A1 (en) * 2003-01-09 2004-07-15 Hand Held Products, Inc. Analog-to-digital converter with automatic range and sensitivity adjustment
US7637430B2 (en) 2003-05-12 2009-12-29 Hand Held Products, Inc. Picture taking optical reader
TW587824U (en) * 2003-06-06 2004-05-11 Yu-Nung Shen Compact disk and portable compact disk drive for reading data stored in the compact disk
US7619683B2 (en) * 2003-08-29 2009-11-17 Aptina Imaging Corporation Apparatus including a dual camera module and method of using the same
US7841533B2 (en) 2003-11-13 2010-11-30 Metrologic Instruments, Inc. Method of capturing and processing digital images of an object within the field of view (FOV) of a hand-supportable digitial image capture and processing system
JP4691883B2 (en) * 2004-01-30 2011-06-01 富士ゼロックス株式会社 Method for producing particles for display device
US7204420B2 (en) * 2004-08-31 2007-04-17 Symbol Technologies, Inc. Scanner and method for eliminating specular reflection
US7219841B2 (en) * 2004-11-05 2007-05-22 Hand Held Products, Inc. Device and system for verifying quality of bar codes
JP4120890B2 (en) * 2005-06-30 2008-07-16 ブラザー工業株式会社 Image reading device
US8989661B2 (en) * 2005-08-30 2015-03-24 Broadcom Corporation Method and system for optimized architecture for bluetooth streaming audio applications
US8005972B2 (en) * 2006-06-26 2011-08-23 International Business Machines Corporation Detection of inconsistent data in communications networks
US7775431B2 (en) * 2007-01-17 2010-08-17 Metrologic Instruments, Inc. Method of and apparatus for shipping, tracking and delivering a shipment of packages employing the capture of shipping document images and recognition-processing thereof initiated from the point of shipment pickup and completed while the shipment is being transported to its first scanning point to facilitate early customs clearance processing and shorten the delivery time of packages to point of destination
US7852519B2 (en) 2007-02-05 2010-12-14 Hand Held Products, Inc. Dual-tasking decoder for improved symbol reading
US7959084B2 (en) * 2008-07-01 2011-06-14 Symbol Technologies, Inc. Multi-functional mobile computing device utilizing a removable processor module
US8189446B2 (en) * 2008-09-16 2012-05-29 Lite-On It Corporation Optical record carrier as well as an apparatus and method for reading/writing image data from/at a visually detectable pattern at an optical record carrier
US8601421B2 (en) * 2008-10-16 2013-12-03 Lockheed Martin Corporation Small, adaptable, real-time, scalable image processing chip
US8628015B2 (en) 2008-10-31 2014-01-14 Hand Held Products, Inc. Indicia reading terminal including frame quality evaluation processing
US8783573B2 (en) * 2008-12-02 2014-07-22 Hand Held Products, Inc. Indicia reading terminal having plurality of optical assemblies
US8908995B2 (en) 2009-01-12 2014-12-09 Intermec Ip Corp. Semi-automatic dimensioning with imager on a portable device
US8587595B2 (en) 2009-10-01 2013-11-19 Hand Held Products, Inc. Low power multi-core decoder system and method
US8600167B2 (en) 2010-05-21 2013-12-03 Hand Held Products, Inc. System for capturing a document in an image signal
US9047531B2 (en) 2010-05-21 2015-06-02 Hand Held Products, Inc. Interactive user interface for capturing a document in an image signal
US8561903B2 (en) * 2011-01-31 2013-10-22 Hand Held Products, Inc. System operative to adaptively select an image sensor for decodable indicia reading
US8678286B2 (en) 2011-01-31 2014-03-25 Honeywell Scanning & Mobility Method and apparatus for reading optical indicia using a plurality of data sources
US8520080B2 (en) 2011-01-31 2013-08-27 Hand Held Products, Inc. Apparatus, system, and method of use of imaging assembly on mobile terminal
US8914290B2 (en) 2011-05-20 2014-12-16 Vocollect, Inc. Systems and methods for dynamically improving user intelligibility of synthesized speech in a work environment
KR101273013B1 (en) * 2011-08-31 2013-06-10 엘지이노텍 주식회사 Network camera using dual lens
US8608071B2 (en) 2011-10-17 2013-12-17 Honeywell Scanning And Mobility Optical indicia reading terminal with two image sensors
USD682277S1 (en) * 2011-12-30 2013-05-14 Datalogic Ip Tech S.R.L. Coded information reader
US8646690B2 (en) 2012-02-06 2014-02-11 Cognex Corporation System and method for expansion of field of view in a vision system
US9027838B2 (en) 2012-02-06 2015-05-12 Cognex Corporation System and method for expansion of field of view in a vision system
US9892298B2 (en) 2012-02-06 2018-02-13 Cognex Corporation System and method for expansion of field of view in a vision system
US9779546B2 (en) 2012-05-04 2017-10-03 Intermec Ip Corp. Volume dimensioning systems and methods
US9007368B2 (en) 2012-05-07 2015-04-14 Intermec Ip Corp. Dimensioning system calibration systems and methods
US10007858B2 (en) 2012-05-15 2018-06-26 Honeywell International Inc. Terminals and methods for dimensioning objects
CN102724392B (en) * 2012-05-16 2014-10-22 浙江大华技术股份有限公司 Method and device for implementing analog high-definition camera shooting
WO2013188990A1 (en) 2012-06-20 2013-12-27 Metrologic Instruments, Inc. Laser scanning code symbol reading system providing control over length of laser scan line projected onto a scanned object using dynamic range-dependent scan angle control
US9208550B2 (en) * 2012-08-15 2015-12-08 Fuji Xerox Co., Ltd. Smart document capture based on estimated scanned-image quality
US10321127B2 (en) 2012-08-20 2019-06-11 Intermec Ip Corp. Volume dimensioning system calibration systems and methods
USD692004S1 (en) * 2012-08-31 2013-10-22 Megaviz Limited Barcode scanner and radio frequency identification reader combo
US9939259B2 (en) 2012-10-04 2018-04-10 Hand Held Products, Inc. Measuring object dimensions using mobile computer
US10154177B2 (en) 2012-10-04 2018-12-11 Cognex Corporation Symbology reader with multi-core processor
US8794521B2 (en) 2012-10-04 2014-08-05 Cognex Corporation Systems and methods for operating symbology reader with multi-core processor
US9841311B2 (en) 2012-10-16 2017-12-12 Hand Held Products, Inc. Dimensioning system
CN103780847A (en) 2012-10-24 2014-05-07 霍尼韦尔国际公司 Chip on board-based highly-integrated imager
US9465967B2 (en) 2012-11-14 2016-10-11 Hand Held Products, Inc. Apparatus comprising light sensing assemblies with range assisted gain control
WO2014110495A2 (en) 2013-01-11 2014-07-17 Hand Held Products, Inc. System, method, and computer-readable medium for managing edge devices
US9741515B1 (en) * 2013-02-19 2017-08-22 Amazon Technologies, Inc. Structures for representation of an operational state
US9080856B2 (en) 2013-03-13 2015-07-14 Intermec Ip Corp. Systems and methods for enhancing dimensioning, for example volume dimensioning
US9070032B2 (en) 2013-04-10 2015-06-30 Hand Held Products, Inc. Method of programming a symbol reading system
US9930142B2 (en) 2013-05-24 2018-03-27 Hand Held Products, Inc. System for providing a continuous communication link with a symbol reading device
US8918250B2 (en) 2013-05-24 2014-12-23 Hand Held Products, Inc. System and method for display of information using a vehicle-mount computer
US9037344B2 (en) 2013-05-24 2015-05-19 Hand Held Products, Inc. System and method for display of information using a vehicle-mount computer
US10228452B2 (en) 2013-06-07 2019-03-12 Hand Held Products, Inc. Method of error correction for 3D imaging device
US9141839B2 (en) 2013-06-07 2015-09-22 Hand Held Products, Inc. System and method for reading code symbols at long range using source power control
US9104929B2 (en) 2013-06-26 2015-08-11 Hand Held Products, Inc. Code symbol reading system having adaptive autofocus
US8985461B2 (en) 2013-06-28 2015-03-24 Hand Held Products, Inc. Mobile device having an improved user interface for reading code symbols
US9239950B2 (en) 2013-07-01 2016-01-19 Hand Held Products, Inc. Dimensioning system
US9250652B2 (en) 2013-07-02 2016-02-02 Hand Held Products, Inc. Electronic device case
US9773142B2 (en) 2013-07-22 2017-09-26 Hand Held Products, Inc. System and method for selectively reading code symbols
US9297900B2 (en) 2013-07-25 2016-03-29 Hand Held Products, Inc. Code symbol reading system having adjustable object detection
US9672398B2 (en) 2013-08-26 2017-06-06 Intermec Ip Corporation Aiming imagers
US9464885B2 (en) 2013-08-30 2016-10-11 Hand Held Products, Inc. System and method for package dimensioning
US9082023B2 (en) 2013-09-05 2015-07-14 Hand Held Products, Inc. Method for operating a laser scanner
US9572901B2 (en) 2013-09-06 2017-02-21 Hand Held Products, Inc. Device having light source to reduce surface pathogens
US8870074B1 (en) 2013-09-11 2014-10-28 Hand Held Products, Inc Handheld indicia reader having locking endcap
US9251411B2 (en) 2013-09-24 2016-02-02 Hand Held Products, Inc. Augmented-reality signature capture
US9165174B2 (en) 2013-10-14 2015-10-20 Hand Held Products, Inc. Indicia reader
USD726186S1 (en) * 2013-10-25 2015-04-07 Symbol Technologies, Inc. Scanner
US10275624B2 (en) 2013-10-29 2019-04-30 Hand Held Products, Inc. Hybrid system and method for reading indicia
US9800293B2 (en) 2013-11-08 2017-10-24 Hand Held Products, Inc. System for configuring indicia readers using NFC technology
US9530038B2 (en) 2013-11-25 2016-12-27 Hand Held Products, Inc. Indicia-reading system
CN204009928U (en) 2013-12-12 2014-12-10 手持产品公司 Laser scanner
US9373018B2 (en) 2014-01-08 2016-06-21 Hand Held Products, Inc. Indicia-reader having unitary-construction
USD719574S1 (en) 2014-01-09 2014-12-16 Datalogic Ip Tech S.R.L. Portable terminal
US10139495B2 (en) 2014-01-24 2018-11-27 Hand Held Products, Inc. Shelving and package locating systems for delivery vehicles
US9524447B2 (en) 2014-03-05 2016-12-20 Sizhe Tan Searching 2D image based on transformed 1D data matching
US9665757B2 (en) 2014-03-07 2017-05-30 Hand Held Products, Inc. Indicia reader for size-limited applications
US9224027B2 (en) 2014-04-01 2015-12-29 Hand Held Products, Inc. Hand-mounted indicia-reading device with finger motion triggering
US9412242B2 (en) 2014-04-04 2016-08-09 Hand Held Products, Inc. Multifunction point of sale system
US9258033B2 (en) 2014-04-21 2016-02-09 Hand Held Products, Inc. Docking system and method using near field communication
US9224022B2 (en) 2014-04-29 2015-12-29 Hand Held Products, Inc. Autofocus lens system for indicia readers
US9280693B2 (en) 2014-05-13 2016-03-08 Hand Held Products, Inc. Indicia-reader housing with an integrated optical structure
US9277668B2 (en) 2014-05-13 2016-03-01 Hand Held Products, Inc. Indicia-reading module with an integrated flexible circuit
US9301427B2 (en) 2014-05-13 2016-03-29 Hand Held Products, Inc. Heat-dissipation structure for an indicia reading module
US9478113B2 (en) 2014-06-27 2016-10-25 Hand Held Products, Inc. Cordless indicia reader with a multifunction coil for wireless charging and EAS deactivation
US9794392B2 (en) 2014-07-10 2017-10-17 Hand Held Products, Inc. Mobile-phone adapter for electronic transactions
US9443123B2 (en) 2014-07-18 2016-09-13 Hand Held Products, Inc. System and method for indicia verification
US9310609B2 (en) 2014-07-25 2016-04-12 Hand Held Products, Inc. Axially reinforced flexible scan element
US9823059B2 (en) 2014-08-06 2017-11-21 Hand Held Products, Inc. Dimensioning system with guided alignment
US11546428B2 (en) 2014-08-19 2023-01-03 Hand Held Products, Inc. Mobile computing device with data cognition software
US20160062473A1 (en) 2014-08-29 2016-03-03 Hand Held Products, Inc. Gesture-controlled computer system
EP3001368A1 (en) 2014-09-26 2016-03-30 Honeywell International Inc. System and method for workflow management
US10810530B2 (en) 2014-09-26 2020-10-20 Hand Held Products, Inc. System and method for workflow management
US10775165B2 (en) 2014-10-10 2020-09-15 Hand Held Products, Inc. Methods for improving the accuracy of dimensioning-system measurements
US9779276B2 (en) 2014-10-10 2017-10-03 Hand Held Products, Inc. Depth sensor based auto-focus system for an indicia scanner
US10810715B2 (en) 2014-10-10 2020-10-20 Hand Held Products, Inc System and method for picking validation
US9443222B2 (en) 2014-10-14 2016-09-13 Hand Held Products, Inc. Identifying inventory items in a storage facility
EP3009968A1 (en) 2014-10-15 2016-04-20 Vocollect, Inc. Systems and methods for worker resource management
US10909490B2 (en) 2014-10-15 2021-02-02 Vocollect, Inc. Systems and methods for worker resource management
US9897434B2 (en) 2014-10-21 2018-02-20 Hand Held Products, Inc. Handheld dimensioning system with measurement-conformance feedback
US9752864B2 (en) 2014-10-21 2017-09-05 Hand Held Products, Inc. Handheld dimensioning system with feedback
US9762793B2 (en) 2014-10-21 2017-09-12 Hand Held Products, Inc. System and method for dimensioning
US10060729B2 (en) 2014-10-21 2018-08-28 Hand Held Products, Inc. Handheld dimensioner with data-quality indication
US9557166B2 (en) 2014-10-21 2017-01-31 Hand Held Products, Inc. Dimensioning system with multipath interference mitigation
US10269342B2 (en) 2014-10-29 2019-04-23 Hand Held Products, Inc. Method and system for recognizing speech using wildcards in an expected response
EP3016023B1 (en) 2014-10-31 2020-12-16 Honeywell International Inc. Scanner with illumination system
US9924006B2 (en) 2014-10-31 2018-03-20 Hand Held Products, Inc. Adaptable interface for a mobile computing device
CN204256748U (en) 2014-10-31 2015-04-08 霍尼韦尔国际公司 There is the scanner of illuminator
US10810529B2 (en) 2014-11-03 2020-10-20 Hand Held Products, Inc. Directing an inspector through an inspection
US20160125217A1 (en) 2014-11-05 2016-05-05 Hand Held Products, Inc. Barcode scanning system using wearable device with embedded camera
US9984685B2 (en) 2014-11-07 2018-05-29 Hand Held Products, Inc. Concatenated expected responses for speech recognition using expected response boundaries to determine corresponding hypothesis boundaries
US9767581B2 (en) 2014-12-12 2017-09-19 Hand Held Products, Inc. Auto-contrast viewfinder for an indicia reader
US10176521B2 (en) 2014-12-15 2019-01-08 Hand Held Products, Inc. Augmented reality virtual product for display
US10509619B2 (en) 2014-12-15 2019-12-17 Hand Held Products, Inc. Augmented reality quick-start and user guide
US10438409B2 (en) 2014-12-15 2019-10-08 Hand Held Products, Inc. Augmented reality asset locator
US10275088B2 (en) 2014-12-18 2019-04-30 Hand Held Products, Inc. Systems and methods for identifying faulty touch panel having intermittent field failures
US10317474B2 (en) 2014-12-18 2019-06-11 Hand Held Products, Inc. Systems and methods for identifying faulty battery in an electronic device
US9743731B2 (en) 2014-12-18 2017-08-29 Hand Held Products, Inc. Wearable sled system for a mobile computer device
US9678536B2 (en) 2014-12-18 2017-06-13 Hand Held Products, Inc. Flip-open wearable computer
US9761096B2 (en) 2014-12-18 2017-09-12 Hand Held Products, Inc. Active emergency exit systems for buildings
US20160180713A1 (en) 2014-12-18 2016-06-23 Hand Held Products, Inc. Collision-avoidance system and method
US9564035B2 (en) 2014-12-22 2017-02-07 Hand Held Products, Inc. Safety system and method
US9727769B2 (en) 2014-12-22 2017-08-08 Hand Held Products, Inc. Conformable hand mount for a mobile scanner
US10296259B2 (en) 2014-12-22 2019-05-21 Hand Held Products, Inc. Delayed trim of managed NAND flash memory in computing devices
US20160180594A1 (en) 2014-12-22 2016-06-23 Hand Held Products, Inc. Augmented display and user input device
US10635876B2 (en) 2014-12-23 2020-04-28 Hand Held Products, Inc. Method of barcode templating for enhanced decoding performance
US10191514B2 (en) 2014-12-23 2019-01-29 Hand Held Products, Inc. Tablet computer with interface channels
US10049246B2 (en) 2014-12-23 2018-08-14 Hand Held Products, Inc. Mini-barcode reading module with flash memory management
US9679178B2 (en) 2014-12-26 2017-06-13 Hand Held Products, Inc. Scanning improvements for saturated signals using automatic and fixed gain control methods
US10552786B2 (en) 2014-12-26 2020-02-04 Hand Held Products, Inc. Product and location management via voice recognition
US9652653B2 (en) 2014-12-27 2017-05-16 Hand Held Products, Inc. Acceleration-based motion tolerance and predictive coding
US9774940B2 (en) 2014-12-27 2017-09-26 Hand Held Products, Inc. Power configurable headband system and method
US20160189447A1 (en) 2014-12-28 2016-06-30 Hand Held Products, Inc. Remote monitoring of vehicle diagnostic information
US10621538B2 (en) 2014-12-28 2020-04-14 Hand Held Products, Inc Dynamic check digit utilization via electronic tag
US11244264B2 (en) 2014-12-29 2022-02-08 Hand Held Products, Inc. Interleaving surprise activities in workflow
US11443363B2 (en) 2014-12-29 2022-09-13 Hand Held Products, Inc. Confirming product location using a subset of a product identifier
US9843660B2 (en) 2014-12-29 2017-12-12 Hand Held Products, Inc. Tag mounted distributed headset with electronics module
US11328335B2 (en) 2014-12-29 2022-05-10 Hand Held Products, Inc. Visual graphic aided location identification
US9230140B1 (en) 2014-12-30 2016-01-05 Hand Held Products, Inc. System and method for detecting barcode printing errors
US9898635B2 (en) 2014-12-30 2018-02-20 Hand Held Products, Inc. Point-of-sale (POS) code sensing apparatus
US11257143B2 (en) 2014-12-30 2022-02-22 Hand Held Products, Inc. Method and device for simulating a virtual out-of-box experience of a packaged product
US10152622B2 (en) 2014-12-30 2018-12-11 Hand Held Products, Inc. Visual feedback for code readers
US9830488B2 (en) 2014-12-30 2017-11-28 Hand Held Products, Inc. Real-time adjustable window feature for barcode scanning and process of scanning barcode with adjustable window feature
US9685049B2 (en) 2014-12-30 2017-06-20 Hand Held Products, Inc. Method and system for improving barcode scanner performance
US10108832B2 (en) 2014-12-30 2018-10-23 Hand Held Products, Inc. Augmented reality vision barcode scanning system and method
CN204706037U (en) 2014-12-31 2015-10-14 手持产品公司 The reconfigurable slide plate of mobile device and mark reading system
EP3043235B1 (en) 2014-12-31 2018-06-20 Hand Held Products, Inc. Reconfigurable sled for a mobile device
US9811650B2 (en) 2014-12-31 2017-11-07 Hand Held Products, Inc. User authentication system and method
US10049290B2 (en) 2014-12-31 2018-08-14 Hand Held Products, Inc. Industrial vehicle positioning system and method
US9879823B2 (en) 2014-12-31 2018-01-30 Hand Held Products, Inc. Reclosable strap assembly
US9734639B2 (en) 2014-12-31 2017-08-15 Hand Held Products, Inc. System and method for monitoring an industrial vehicle
US10061565B2 (en) 2015-01-08 2018-08-28 Hand Held Products, Inc. Application development using mutliple primary user interfaces
US10262660B2 (en) 2015-01-08 2019-04-16 Hand Held Products, Inc. Voice mode asset retrieval
US9997935B2 (en) 2015-01-08 2018-06-12 Hand Held Products, Inc. System and method for charging a barcode scanner
US10120657B2 (en) 2015-01-08 2018-11-06 Hand Held Products, Inc. Facilitating workflow application development
US10402038B2 (en) 2015-01-08 2019-09-03 Hand Held Products, Inc. Stack handling using multiple primary user interfaces
US11081087B2 (en) 2015-01-08 2021-08-03 Hand Held Products, Inc. Multiple primary user interfaces
US20160204623A1 (en) 2015-01-08 2016-07-14 Hand Held Products, Inc. Charge limit selection for variable power supply configuration
US20160203429A1 (en) 2015-01-09 2016-07-14 Honeywell International Inc. Restocking workflow prioritization
US9721133B2 (en) * 2015-01-21 2017-08-01 Symbol Technologies, Llc Imaging barcode scanner for enhanced document capture
US9861182B2 (en) 2015-02-05 2018-01-09 Hand Held Products, Inc. Device for supporting an electronic tool on a user's hand
US10121466B2 (en) 2015-02-11 2018-11-06 Hand Held Products, Inc. Methods for training a speech recognition system
US9390596B1 (en) 2015-02-23 2016-07-12 Hand Held Products, Inc. Device, system, and method for determining the status of checkout lanes
CN204795622U (en) 2015-03-06 2015-11-18 手持产品公司 Scanning system
US9250712B1 (en) 2015-03-20 2016-02-02 Hand Held Products, Inc. Method and application for scanning a barcode with a smart device while continuously running and displaying an application on the smart device display
US20160292477A1 (en) 2015-03-31 2016-10-06 Hand Held Products, Inc. Aimer for barcode scanning
US9930050B2 (en) 2015-04-01 2018-03-27 Hand Held Products, Inc. Device management proxy for secure devices
US9852102B2 (en) 2015-04-15 2017-12-26 Hand Held Products, Inc. System for exchanging information between wireless peripherals and back-end systems via a peripheral hub
US9521331B2 (en) 2015-04-21 2016-12-13 Hand Held Products, Inc. Capturing a graphic information presentation
US9693038B2 (en) 2015-04-21 2017-06-27 Hand Held Products, Inc. Systems and methods for imaging
US20160314294A1 (en) 2015-04-24 2016-10-27 Hand Held Products, Inc. Secure unattended network authentication
US10038716B2 (en) 2015-05-01 2018-07-31 Hand Held Products, Inc. System and method for regulating barcode data injection into a running application on a smart device
US10401436B2 (en) 2015-05-04 2019-09-03 Hand Held Products, Inc. Tracking battery conditions
US9891612B2 (en) 2015-05-05 2018-02-13 Hand Held Products, Inc. Intermediate linear positioning
US10007112B2 (en) 2015-05-06 2018-06-26 Hand Held Products, Inc. Hands-free human machine interface responsive to a driver of a vehicle
US9954871B2 (en) 2015-05-06 2018-04-24 Hand Held Products, Inc. Method and system to protect software-based network-connected devices from advanced persistent threat
US9978088B2 (en) 2015-05-08 2018-05-22 Hand Held Products, Inc. Application independent DEX/UCS interface
US9786101B2 (en) 2015-05-19 2017-10-10 Hand Held Products, Inc. Evaluating image values
US10360728B2 (en) 2015-05-19 2019-07-23 Hand Held Products, Inc. Augmented reality device, system, and method for safety
USD771631S1 (en) 2015-06-02 2016-11-15 Hand Held Products, Inc. Mobile computer housing
US9507974B1 (en) 2015-06-10 2016-11-29 Hand Held Products, Inc. Indicia-reading systems having an interface with a user's nervous system
US10354449B2 (en) 2015-06-12 2019-07-16 Hand Held Products, Inc. Augmented reality lighting effects
US10066982B2 (en) 2015-06-16 2018-09-04 Hand Held Products, Inc. Calibrating a volume dimensioner
US9892876B2 (en) 2015-06-16 2018-02-13 Hand Held Products, Inc. Tactile switch for a mobile electronic device
US9949005B2 (en) 2015-06-18 2018-04-17 Hand Held Products, Inc. Customizable headset
US20160377414A1 (en) 2015-06-23 2016-12-29 Hand Held Products, Inc. Optical pattern projector
US9857167B2 (en) 2015-06-23 2018-01-02 Hand Held Products, Inc. Dual-projector three-dimensional scanner
CN106332252A (en) 2015-07-07 2017-01-11 手持产品公司 WIFI starting usage based on cell signals
US9835486B2 (en) 2015-07-07 2017-12-05 Hand Held Products, Inc. Mobile dimensioner apparatus for use in commerce
US10345383B2 (en) 2015-07-07 2019-07-09 Hand Held Products, Inc. Useful battery capacity / state of health gauge
EP3118576B1 (en) 2015-07-15 2018-09-12 Hand Held Products, Inc. Mobile dimensioning device with dynamic accuracy compatible with nist standard
US20170017301A1 (en) 2015-07-16 2017-01-19 Hand Held Products, Inc. Adjusting dimensioning results using augmented reality
US10094650B2 (en) 2015-07-16 2018-10-09 Hand Held Products, Inc. Dimensioning and imaging items
US9488986B1 (en) 2015-07-31 2016-11-08 Hand Held Products, Inc. System and method for tracking an item on a pallet in a warehouse
US10467513B2 (en) 2015-08-12 2019-11-05 Datamax-O'neil Corporation Verification of a printed image on media
US9853575B2 (en) 2015-08-12 2017-12-26 Hand Held Products, Inc. Angular motor shaft with rotational attenuation
US9911023B2 (en) 2015-08-17 2018-03-06 Hand Held Products, Inc. Indicia reader having a filtered multifunction image sensor
US10410629B2 (en) 2015-08-19 2019-09-10 Hand Held Products, Inc. Auto-complete methods for spoken complete value entries
US9781681B2 (en) 2015-08-26 2017-10-03 Hand Held Products, Inc. Fleet power management through information storage sharing
US9798413B2 (en) 2015-08-27 2017-10-24 Hand Held Products, Inc. Interactive display
CN206006056U (en) 2015-08-27 2017-03-15 手持产品公司 There are the gloves of measurement, scanning and display capabilities
US11282515B2 (en) 2015-08-31 2022-03-22 Hand Held Products, Inc. Multiple inspector voice inspection
US9490540B1 (en) 2015-09-02 2016-11-08 Hand Held Products, Inc. Patch antenna
US9781502B2 (en) 2015-09-09 2017-10-03 Hand Held Products, Inc. Process and system for sending headset control information from a mobile device to a wireless headset
US9659198B2 (en) 2015-09-10 2017-05-23 Hand Held Products, Inc. System and method of determining if a surface is printed or a mobile device screen
US9652648B2 (en) 2015-09-11 2017-05-16 Hand Held Products, Inc. Positioning an object with respect to a target location
CN205091752U (en) 2015-09-18 2016-03-16 手持产品公司 Eliminate environment light flicker noise's bar code scanning apparatus and noise elimination circuit
US9646191B2 (en) 2015-09-23 2017-05-09 Intermec Technologies Corporation Evaluating images
US10373143B2 (en) 2015-09-24 2019-08-06 Hand Held Products, Inc. Product identification using electroencephalography
US10134112B2 (en) 2015-09-25 2018-11-20 Hand Held Products, Inc. System and process for displaying information from a mobile computer in a vehicle
US9767337B2 (en) 2015-09-30 2017-09-19 Hand Held Products, Inc. Indicia reader safety
US20170094238A1 (en) 2015-09-30 2017-03-30 Hand Held Products, Inc. Self-calibrating projection apparatus and process
US10312483B2 (en) 2015-09-30 2019-06-04 Hand Held Products, Inc. Double locking mechanism on a battery latch
US9844956B2 (en) 2015-10-07 2017-12-19 Intermec Technologies Corporation Print position correction
US9656487B2 (en) 2015-10-13 2017-05-23 Intermec Technologies Corporation Magnetic media holder for printer
US10146194B2 (en) 2015-10-14 2018-12-04 Hand Held Products, Inc. Building lighting and temperature control with an augmented reality system
US9727083B2 (en) 2015-10-19 2017-08-08 Hand Held Products, Inc. Quick release dock system and method
US9876923B2 (en) 2015-10-27 2018-01-23 Intermec Technologies Corporation Media width sensing
US10395116B2 (en) 2015-10-29 2019-08-27 Hand Held Products, Inc. Dynamically created and updated indoor positioning map
US9684809B2 (en) 2015-10-29 2017-06-20 Hand Held Products, Inc. Scanner assembly with removable shock mount
US10249030B2 (en) 2015-10-30 2019-04-02 Hand Held Products, Inc. Image transformation for indicia reading
US10397388B2 (en) 2015-11-02 2019-08-27 Hand Held Products, Inc. Extended features for network communication
US10129414B2 (en) 2015-11-04 2018-11-13 Intermec Technologies Corporation Systems and methods for detecting transparent media in printers
US10026377B2 (en) 2015-11-12 2018-07-17 Hand Held Products, Inc. IRDA converter tag
US9680282B2 (en) 2015-11-17 2017-06-13 Hand Held Products, Inc. Laser aiming for mobile devices
US10192194B2 (en) 2015-11-18 2019-01-29 Hand Held Products, Inc. In-vehicle package location identification at load and delivery times
US10225544B2 (en) 2015-11-19 2019-03-05 Hand Held Products, Inc. High resolution dot pattern
US9864891B2 (en) 2015-11-24 2018-01-09 Intermec Technologies Corporation Automatic print speed control for indicia printer
US9697401B2 (en) 2015-11-24 2017-07-04 Hand Held Products, Inc. Add-on device with configurable optics for an image scanner for scanning barcodes
US10064005B2 (en) 2015-12-09 2018-08-28 Hand Held Products, Inc. Mobile device with configurable communication technology modes and geofences
US10282526B2 (en) 2015-12-09 2019-05-07 Hand Held Products, Inc. Generation of randomized passwords for one-time usage
US9935946B2 (en) 2015-12-16 2018-04-03 Hand Held Products, Inc. Method and system for tracking an electronic device at an electronic device docking station
CN106899713B (en) 2015-12-18 2020-10-16 霍尼韦尔国际公司 Battery cover locking mechanism of mobile terminal and manufacturing method thereof
US9729744B2 (en) 2015-12-21 2017-08-08 Hand Held Products, Inc. System and method of border detection on a document and for producing an image of the document
US10325436B2 (en) 2015-12-31 2019-06-18 Hand Held Products, Inc. Devices, systems, and methods for optical validation
US9727840B2 (en) 2016-01-04 2017-08-08 Hand Held Products, Inc. Package physical characteristic identification system and method in supply chain management
US9805343B2 (en) 2016-01-05 2017-10-31 Intermec Technologies Corporation System and method for guided printer servicing
US11423348B2 (en) 2016-01-11 2022-08-23 Hand Held Products, Inc. System and method for assessing worker performance
US10859667B2 (en) 2016-01-12 2020-12-08 Hand Held Products, Inc. Programmable reference beacons
US10026187B2 (en) 2016-01-12 2018-07-17 Hand Held Products, Inc. Using image data to calculate an object's weight
US9945777B2 (en) 2016-01-14 2018-04-17 Hand Held Products, Inc. Multi-spectral imaging using longitudinal chromatic aberrations
US10235547B2 (en) 2016-01-26 2019-03-19 Hand Held Products, Inc. Enhanced matrix symbol error correction method
US10025314B2 (en) 2016-01-27 2018-07-17 Hand Held Products, Inc. Vehicle positioning and object avoidance
CN205880874U (en) 2016-02-04 2017-01-11 手持产品公司 Long and thin laser beam optical components and laser scanning system
US9990784B2 (en) 2016-02-05 2018-06-05 Hand Held Products, Inc. Dynamic identification badge
US9674430B1 (en) 2016-03-09 2017-06-06 Hand Held Products, Inc. Imaging device for producing high resolution images using subpixel shifts and method of using same
US11125885B2 (en) 2016-03-15 2021-09-21 Hand Held Products, Inc. Monitoring user biometric parameters with nanotechnology in personal locator beacon
US10929623B2 (en) 2016-04-05 2021-02-23 Symbol Technologies, Llc Imaging module and reader for, and method of, reading targets by image capture over a range of working distances with multi-functional aiming light pattern
US10394316B2 (en) 2016-04-07 2019-08-27 Hand Held Products, Inc. Multiple display modes on a mobile device
US20170299851A1 (en) 2016-04-14 2017-10-19 Hand Held Products, Inc. Customizable aimer system for indicia reading terminal
US10055625B2 (en) 2016-04-15 2018-08-21 Hand Held Products, Inc. Imaging barcode reader with color-separated aimer and illuminator
EP3232367B1 (en) 2016-04-15 2021-11-03 Hand Held Products, Inc. Imaging barcode reader with color separated aimer and illuminator
US10185906B2 (en) 2016-04-26 2019-01-22 Hand Held Products, Inc. Indicia reading device and methods for decoding decodable indicia employing stereoscopic imaging
US10142531B2 (en) * 2016-04-28 2018-11-27 Symbol Technologies, Llc Imaging module and reader for, and method of, reading a target by image capture with a visually enhanced aiming light pattern
US9727841B1 (en) 2016-05-20 2017-08-08 Vocollect, Inc. Systems and methods for reducing picking operation errors
US10183500B2 (en) 2016-06-01 2019-01-22 Datamax-O'neil Corporation Thermal printhead temperature control
US10339352B2 (en) 2016-06-03 2019-07-02 Hand Held Products, Inc. Wearable metrological apparatus
US9940721B2 (en) 2016-06-10 2018-04-10 Hand Held Products, Inc. Scene change detection in a dimensioner
US10097681B2 (en) 2016-06-14 2018-10-09 Hand Held Products, Inc. Managing energy usage in mobile devices
US10163216B2 (en) 2016-06-15 2018-12-25 Hand Held Products, Inc. Automatic mode switching in a volume dimensioner
US9990524B2 (en) 2016-06-16 2018-06-05 Hand Held Products, Inc. Eye gaze detection controlled indicia scanning system and method
US9876957B2 (en) 2016-06-21 2018-01-23 Hand Held Products, Inc. Dual mode image sensor and method of using same
US9955099B2 (en) 2016-06-21 2018-04-24 Hand Held Products, Inc. Minimum height CMOS image sensor
US9864887B1 (en) 2016-07-07 2018-01-09 Hand Held Products, Inc. Energizing scanners
US10085101B2 (en) 2016-07-13 2018-09-25 Hand Held Products, Inc. Systems and methods for determining microphone position
US9662900B1 (en) 2016-07-14 2017-05-30 Datamax-O'neil Corporation Wireless thermal printhead system and method
CN107622217B (en) 2016-07-15 2022-06-07 手持产品公司 Imaging scanner with positioning and display
CN107622218A (en) 2016-07-15 2018-01-23 手持产品公司 With the barcode reader for checking framework
US10896403B2 (en) 2016-07-18 2021-01-19 Vocollect, Inc. Systems and methods for managing dated products
US10714121B2 (en) 2016-07-27 2020-07-14 Vocollect, Inc. Distinguishing user speech from background speech in speech-dense environments
US9902175B1 (en) 2016-08-02 2018-02-27 Datamax-O'neil Corporation Thermal printer having real-time force feedback on printhead pressure and method of using same
US9919547B2 (en) 2016-08-04 2018-03-20 Datamax-O'neil Corporation System and method for active printing consistency control and damage protection
US10640325B2 (en) 2016-08-05 2020-05-05 Datamax-O'neil Corporation Rigid yet flexible spindle for rolled material
US11157869B2 (en) 2016-08-05 2021-10-26 Vocollect, Inc. Monitoring worker movement in a warehouse setting
US20200089924A1 (en) * 2016-08-09 2020-03-19 Asterisk, Inc. Reader, program, and unit
US9940497B2 (en) 2016-08-16 2018-04-10 Hand Held Products, Inc. Minimizing laser persistence on two-dimensional image sensors
US10372954B2 (en) 2016-08-16 2019-08-06 Hand Held Products, Inc. Method for reading indicia off a display of a mobile device
US10384462B2 (en) 2016-08-17 2019-08-20 Datamax-O'neil Corporation Easy replacement of thermal print head and simple adjustment on print pressure
US10685665B2 (en) 2016-08-17 2020-06-16 Vocollect, Inc. Method and apparatus to improve speech recognition in a high audio noise environment
US10158834B2 (en) 2016-08-30 2018-12-18 Hand Held Products, Inc. Corrected projection perspective distortion
US10286694B2 (en) 2016-09-02 2019-05-14 Datamax-O'neil Corporation Ultra compact printer
US10042593B2 (en) 2016-09-02 2018-08-07 Datamax-O'neil Corporation Printer smart folders using USB mass storage profile
US9805257B1 (en) 2016-09-07 2017-10-31 Datamax-O'neil Corporation Printer method and apparatus
US10484847B2 (en) 2016-09-13 2019-11-19 Hand Held Products, Inc. Methods for provisioning a wireless beacon
US9946962B2 (en) 2016-09-13 2018-04-17 Datamax-O'neil Corporation Print precision improvement over long print jobs
US9881194B1 (en) 2016-09-19 2018-01-30 Hand Held Products, Inc. Dot peen mark image acquisition
US9701140B1 (en) 2016-09-20 2017-07-11 Datamax-O'neil Corporation Method and system to calculate line feed error in labels on a printer
US10375473B2 (en) 2016-09-20 2019-08-06 Vocollect, Inc. Distributed environmental microphones to minimize noise during speech recognition
US9785814B1 (en) 2016-09-23 2017-10-10 Hand Held Products, Inc. Three dimensional aimer for barcode scanning
US9931867B1 (en) 2016-09-23 2018-04-03 Datamax-O'neil Corporation Method and system of determining a width of a printer ribbon
US10181321B2 (en) 2016-09-27 2019-01-15 Vocollect, Inc. Utilization of location and environment to improve recognition
EP3220369A1 (en) 2016-09-29 2017-09-20 Hand Held Products, Inc. Monitoring user biometric parameters with nanotechnology in personal locator beacon
US9936278B1 (en) 2016-10-03 2018-04-03 Vocollect, Inc. Communication headsets and systems for mobile application control and power savings
US9892356B1 (en) 2016-10-27 2018-02-13 Hand Held Products, Inc. Backlit display detection and radio signature recognition
US10114997B2 (en) 2016-11-16 2018-10-30 Hand Held Products, Inc. Reader for optical indicia presented under two or more imaging conditions within a single frame time
US10022993B2 (en) 2016-12-02 2018-07-17 Datamax-O'neil Corporation Media guides for use in printers and methods for using the same
CN108616148A (en) 2016-12-09 2018-10-02 手持产品公司 Intelligent battery balance system and method
US10395081B2 (en) 2016-12-09 2019-08-27 Hand Held Products, Inc. Encoding document capture bounds with barcodes
US10909708B2 (en) 2016-12-09 2021-02-02 Hand Held Products, Inc. Calibrating a dimensioner using ratios of measurable parameters of optic ally-perceptible geometric elements
US10740855B2 (en) 2016-12-14 2020-08-11 Hand Held Products, Inc. Supply chain tracking of farm produce and crops
US10163044B2 (en) 2016-12-15 2018-12-25 Datamax-O'neil Corporation Auto-adjusted print location on center-tracked printers
US10044880B2 (en) 2016-12-16 2018-08-07 Datamax-O'neil Corporation Comparing printer models
US10304174B2 (en) 2016-12-19 2019-05-28 Datamax-O'neil Corporation Printer-verifiers and systems and methods for verifying printed indicia
US10237421B2 (en) 2016-12-22 2019-03-19 Datamax-O'neil Corporation Printers and methods for identifying a source of a problem therein
CN108256367B (en) 2016-12-28 2023-11-24 手持产品公司 Illuminator for DPM scanner
CN108259702B (en) 2016-12-28 2022-03-11 手持产品公司 Method and system for synchronizing illumination timing in a multi-sensor imager
US9827796B1 (en) 2017-01-03 2017-11-28 Datamax-O'neil Corporation Automatic thermal printhead cleaning system
US10652403B2 (en) 2017-01-10 2020-05-12 Datamax-O'neil Corporation Printer script autocorrect
US11042834B2 (en) 2017-01-12 2021-06-22 Vocollect, Inc. Voice-enabled substitutions with customer notification
CN108304741B (en) 2017-01-12 2023-06-09 手持产品公司 Wakeup system in bar code scanner
US10468015B2 (en) 2017-01-12 2019-11-05 Vocollect, Inc. Automated TTS self correction system
US10263443B2 (en) 2017-01-13 2019-04-16 Hand Held Products, Inc. Power capacity indicator
US9802427B1 (en) 2017-01-18 2017-10-31 Datamax-O'neil Corporation Printers and methods for detecting print media thickness therein
US10350905B2 (en) 2017-01-26 2019-07-16 Datamax-O'neil Corporation Detecting printing ribbon orientation
CN108363932B (en) 2017-01-26 2023-04-18 手持产品公司 Method for reading bar code and deactivating electronic anti-theft label of commodity
US9849691B1 (en) 2017-01-26 2017-12-26 Datamax-O'neil Corporation Detecting printing ribbon orientation
US10158612B2 (en) 2017-02-07 2018-12-18 Hand Held Products, Inc. Imaging-based automatic data extraction with security scheme
US10984374B2 (en) 2017-02-10 2021-04-20 Vocollect, Inc. Method and system for inputting products into an inventory system
US10252874B2 (en) 2017-02-20 2019-04-09 Datamax-O'neil Corporation Clutch bearing to keep media tension for better sensing accuracy
US9908351B1 (en) 2017-02-27 2018-03-06 Datamax-O'neil Corporation Segmented enclosure
US10737911B2 (en) 2017-03-02 2020-08-11 Hand Held Products, Inc. Electromagnetic pallet and method for adjusting pallet position
US10195880B2 (en) 2017-03-02 2019-02-05 Datamax-O'neil Corporation Automatic width detection
US10105963B2 (en) 2017-03-03 2018-10-23 Datamax-O'neil Corporation Region-of-interest based print quality optimization
CN108537077B (en) 2017-03-06 2023-07-14 手持产品公司 System and method for bar code verification
US11047672B2 (en) 2017-03-28 2021-06-29 Hand Held Products, Inc. System for optically dimensioning
US10780721B2 (en) 2017-03-30 2020-09-22 Datamax-O'neil Corporation Detecting label stops
US10798316B2 (en) 2017-04-04 2020-10-06 Hand Held Products, Inc. Multi-spectral imaging using longitudinal chromatic aberrations
US10223626B2 (en) 2017-04-19 2019-03-05 Hand Held Products, Inc. High ambient light electronic screen communication method
US9937735B1 (en) 2017-04-20 2018-04-10 Datamax—O'Neil Corporation Self-strip media module
US10463140B2 (en) 2017-04-28 2019-11-05 Hand Held Products, Inc. Attachment apparatus for electronic device
US10810541B2 (en) 2017-05-03 2020-10-20 Hand Held Products, Inc. Methods for pick and put location verification
US10549561B2 (en) 2017-05-04 2020-02-04 Datamax-O'neil Corporation Apparatus for sealing an enclosure
CN108859447B (en) 2017-05-12 2021-11-23 大数据奥尼尔公司 Method for medium exchange process of thermal printer, medium adapter and printer
US10438098B2 (en) 2017-05-19 2019-10-08 Hand Held Products, Inc. High-speed OCR decode using depleted centerlines
US10523038B2 (en) 2017-05-23 2019-12-31 Hand Held Products, Inc. System and method for wireless charging of a beacon and/or sensor device
US10732226B2 (en) 2017-05-26 2020-08-04 Hand Held Products, Inc. Methods for estimating a number of workflow cycles able to be completed from a remaining battery capacity
US10592536B2 (en) 2017-05-30 2020-03-17 Hand Held Products, Inc. Systems and methods for determining a location of a user when using an imaging device in an indoor facility
US9984366B1 (en) 2017-06-09 2018-05-29 Hand Held Products, Inc. Secure paper-free bills in workflow applications
US10248896B2 (en) 2017-06-14 2019-04-02 Datalogic Usa, Inc. Distributed camera modules serially coupled to common preprocessing resources facilitating configurable optical code reader platform for application-specific scalability
US10035367B1 (en) 2017-06-21 2018-07-31 Datamax-O'neil Corporation Single motor dynamic ribbon feedback system for a printer
US10710386B2 (en) 2017-06-21 2020-07-14 Datamax-O'neil Corporation Removable printhead
US10778690B2 (en) 2017-06-30 2020-09-15 Datamax-O'neil Corporation Managing a fleet of workflow devices and standby devices in a device network
US10644944B2 (en) 2017-06-30 2020-05-05 Datamax-O'neil Corporation Managing a fleet of devices
US10977594B2 (en) 2017-06-30 2021-04-13 Datamax-O'neil Corporation Managing a fleet of devices
US10127423B1 (en) 2017-07-06 2018-11-13 Hand Held Products, Inc. Methods for changing a configuration of a device for reading machine-readable code
US10216969B2 (en) 2017-07-10 2019-02-26 Hand Held Products, Inc. Illuminator for directly providing dark field and bright field illumination
US10264165B2 (en) 2017-07-11 2019-04-16 Hand Held Products, Inc. Optical bar assemblies for optical systems and isolation damping systems including the same
US10867141B2 (en) 2017-07-12 2020-12-15 Hand Held Products, Inc. System and method for augmented reality configuration of indicia readers
US10956033B2 (en) 2017-07-13 2021-03-23 Hand Held Products, Inc. System and method for generating a virtual keyboard with a highlighted area of interest
US10733748B2 (en) 2017-07-24 2020-08-04 Hand Held Products, Inc. Dual-pattern optical 3D dimensioning
US10650631B2 (en) 2017-07-28 2020-05-12 Hand Held Products, Inc. Systems and methods for processing a distorted image
US10255469B2 (en) 2017-07-28 2019-04-09 Hand Held Products, Inc. Illumination apparatus for a barcode reader
CN109308430B (en) 2017-07-28 2023-08-15 手持产品公司 Decoding color bar codes
US10099485B1 (en) 2017-07-31 2018-10-16 Datamax-O'neil Corporation Thermal print heads and printers including the same
US10373032B2 (en) 2017-08-01 2019-08-06 Datamax-O'neil Corporation Cryptographic printhead
US10635871B2 (en) 2017-08-04 2020-04-28 Hand Held Products, Inc. Indicia reader acoustic for multiple mounting positions
CN109390994B (en) 2017-08-11 2023-08-11 手持产品公司 Soft power start solution based on POGO connector
CN109424871B (en) 2017-08-18 2023-05-05 手持产品公司 Illuminator for bar code scanner
US10399359B2 (en) 2017-09-06 2019-09-03 Vocollect, Inc. Autocorrection for uneven print pressure on print media
US10372389B2 (en) 2017-09-22 2019-08-06 Datamax-O'neil Corporation Systems and methods for printer maintenance operations
US10756900B2 (en) 2017-09-28 2020-08-25 Hand Held Products, Inc. Non-repudiation protocol using time-based one-time password (TOTP)
US10621470B2 (en) 2017-09-29 2020-04-14 Datamax-O'neil Corporation Methods for optical character recognition (OCR)
US10245861B1 (en) 2017-10-04 2019-04-02 Datamax-O'neil Corporation Printers, printer spindle assemblies, and methods for determining media width for controlling media tension
US10728445B2 (en) 2017-10-05 2020-07-28 Hand Held Products Inc. Methods for constructing a color composite image
US10884059B2 (en) 2017-10-18 2021-01-05 Hand Held Products, Inc. Determining the integrity of a computing device
US10654287B2 (en) 2017-10-19 2020-05-19 Datamax-O'neil Corporation Print quality setup using banks in parallel
US10084556B1 (en) 2017-10-20 2018-09-25 Hand Held Products, Inc. Identifying and transmitting invisible fence signals with a mobile data terminal
US10293624B2 (en) 2017-10-23 2019-05-21 Datamax-O'neil Corporation Smart media hanger with media width detection
US10399369B2 (en) 2017-10-23 2019-09-03 Datamax-O'neil Corporation Smart media hanger with media width detection
US10679101B2 (en) 2017-10-25 2020-06-09 Hand Held Products, Inc. Optical character recognition systems and methods
US10210364B1 (en) 2017-10-31 2019-02-19 Hand Held Products, Inc. Direct part marking scanners including dome diffusers with edge illumination assemblies
US10181896B1 (en) 2017-11-01 2019-01-15 Hand Held Products, Inc. Systems and methods for reducing power consumption in a satellite communication device
US10427424B2 (en) 2017-11-01 2019-10-01 Datamax-O'neil Corporation Estimating a remaining amount of a consumable resource based on a center of mass calculation
US10369823B2 (en) 2017-11-06 2019-08-06 Datamax-O'neil Corporation Print head pressure detection and adjustment
US10369804B2 (en) 2017-11-10 2019-08-06 Datamax-O'neil Corporation Secure thermal print head
US10399361B2 (en) 2017-11-21 2019-09-03 Datamax-O'neil Corporation Printer, system and method for programming RFID tags on media labels
US10654697B2 (en) 2017-12-01 2020-05-19 Hand Held Products, Inc. Gyroscopically stabilized vehicle system
US10232628B1 (en) 2017-12-08 2019-03-19 Datamax-O'neil Corporation Removably retaining a print head assembly on a printer
US10703112B2 (en) 2017-12-13 2020-07-07 Datamax-O'neil Corporation Image to script converter
US10756563B2 (en) 2017-12-15 2020-08-25 Datamax-O'neil Corporation Powering devices using low-current power sources
US10323929B1 (en) 2017-12-19 2019-06-18 Datamax-O'neil Corporation Width detecting media hanger
US10773537B2 (en) 2017-12-27 2020-09-15 Datamax-O'neil Corporation Method and apparatus for printing
US10803264B2 (en) 2018-01-05 2020-10-13 Datamax-O'neil Corporation Method, apparatus, and system for characterizing an optical system
US10834283B2 (en) 2018-01-05 2020-11-10 Datamax-O'neil Corporation Methods, apparatuses, and systems for detecting printing defects and contaminated components of a printer
US10795618B2 (en) 2018-01-05 2020-10-06 Datamax-O'neil Corporation Methods, apparatuses, and systems for verifying printed image and improving print quality
US10546160B2 (en) 2018-01-05 2020-01-28 Datamax-O'neil Corporation Methods, apparatuses, and systems for providing print quality feedback and controlling print quality of machine-readable indicia
US10731963B2 (en) 2018-01-09 2020-08-04 Datamax-O'neil Corporation Apparatus and method of measuring media thickness
US10897150B2 (en) 2018-01-12 2021-01-19 Hand Held Products, Inc. Indicating charge status
US10809949B2 (en) 2018-01-26 2020-10-20 Datamax-O'neil Corporation Removably couplable printer and verifier assembly
US10769394B2 (en) 2018-03-22 2020-09-08 Symbol Technologies, Llc Devices systems and methods for alignment of lens assemblies within a chassis
US10584962B2 (en) 2018-05-01 2020-03-10 Hand Held Products, Inc System and method for validating physical-item security
US10434800B1 (en) 2018-05-17 2019-10-08 Datamax-O'neil Corporation Printer roll feed mechanism
US11639846B2 (en) 2019-09-27 2023-05-02 Honeywell International Inc. Dual-pattern optical 3D dimensioning
US11245845B2 (en) * 2020-06-04 2022-02-08 Hand Held Products, Inc. Systems and methods for operating an imaging device

Citations (151)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4097847A (en) 1972-07-10 1978-06-27 Scan-Optics, Inc. Multi-font optical character recognition apparatus
GB2128549A (en) 1982-10-13 1984-05-02 Standard Telephones Cables Ltd Debit/credit card
US4538060A (en) 1982-05-31 1985-08-27 Nippondenso Co., Ltd. Optical reading apparatus having a reading sensor of electronic scanning type
US4542528A (en) 1981-04-09 1985-09-17 Recognition Equipment Incorporated OCR and bar code reader with optimized sensor
US4721849A (en) 1985-10-02 1988-01-26 Videx, Inc. Portable programmable optical code reader
US4758717A (en) 1982-01-25 1988-07-19 Symbol Technologies, Inc. Narrow-bodied, single-and twin-windowed portable laser scanning head for reading bar code symbols
US4760248A (en) 1985-02-28 1988-07-26 Symbol Technologies, Inc. Portable laser diode scanning head
US4818847A (en) 1982-07-29 1989-04-04 Nippondenso Co., Ltd. Apparatus for optically reading printed information
US4825058A (en) 1986-10-14 1989-04-25 Hewlett-Packard Company Bar code reader configuration and control using a bar code menu to directly access memory
US4841132A (en) 1986-07-21 1989-06-20 Matsushita Electric Industrial Co., Ltd. Program recording scheduling apparatus using an optical reader
US4877949A (en) 1986-08-08 1989-10-31 Norand Corporation Hand-held instant bar code reader system with automated focus based on distance measurements
US4930848A (en) 1989-01-26 1990-06-05 Metrologic Instruments, Inc. Portable laser scanner with integral scanner engine
US4945216A (en) 1985-11-06 1990-07-31 Sharp Kabushiki Kaisha Wireless bar code reader
US4964167A (en) 1987-07-15 1990-10-16 Matsushita Electric Works, Ltd. Apparatus for generating synthesized voice from text
US4983818A (en) 1989-01-30 1991-01-08 Metrologic Instruments, Inc. Data acquisition system with laser scanner module
US5019699A (en) 1988-08-31 1991-05-28 Norand Corporation Hand-held optical character reader with means for instantaneously reading information from a predetermined area at an optical sensing area
US5099110A (en) 1989-10-30 1992-03-24 Symbol Technologies, Inc. Power saving scanning arrangement
US5168149A (en) 1989-10-30 1992-12-01 Symbol Technologies, Inc. Scan pattern generators for bar code symbol readers
US5216233A (en) 1989-03-09 1993-06-01 Norand Corporation Versatile RF terminal-scanner system
US5223701A (en) 1990-10-30 1993-06-29 Ommiplanar Inc. System method and apparatus using multiple resolution machine readable symbols
US5235167A (en) 1988-10-21 1993-08-10 Symbol Technologies, Inc. Laser scanning system and scanning method for reading bar codes
US5272323A (en) 1989-11-22 1993-12-21 Symbol Technologies, Inc. Digitizer for barcode scanner
US5280165A (en) 1989-10-30 1994-01-18 Symbol Technolgoies, Inc. Scan pattern generators for bar code symbol readers
US5304787A (en) 1993-06-01 1994-04-19 Metamedia Corporation Locating 2-D bar codes
US5311001A (en) 1991-09-13 1994-05-10 Symbol Technologies, Inc. Analog waveform decoder utilizing histogram of edge sizes
US5313053A (en) 1990-01-18 1994-05-17 Norand Corporation Laser scanner module having integral interfacing with hand-held data capture terminal
US5317136A (en) 1990-12-20 1994-05-31 Nippodenso Co., Ltd. Information reading device which controls communication interrupt signal from a host system
US5331176A (en) 1992-04-10 1994-07-19 Veritec Inc. Hand held two dimensional symbol reader with a symbol illumination window
US5354977A (en) * 1992-02-27 1994-10-11 Alex Roustaei Optical scanning head
US5367151A (en) 1989-10-30 1994-11-22 Symbol Technologies, Inc. Slim scan module with interchangeable scan element
US5373148A (en) 1989-10-30 1994-12-13 Symbol Technologies, Inc. Optical scanners with scan motion damping and orientation of astigmantic laser generator to optimize reading of two-dimensionally coded indicia
US5378883A (en) 1991-07-19 1995-01-03 Omniplanar Inc. Omnidirectional wide range hand held bar code reader
US5404002A (en) 1993-05-17 1995-04-04 At&T Global Information Solutions Company Backup method for multiple source optical scanner
US5408081A (en) 1989-06-16 1995-04-18 Symbol Technologies, Inc. Digital circuit for a laser scanner using a first derivative signal and a comparison signal
US5410141A (en) 1989-06-07 1995-04-25 Norand Hand-held data capture system with interchangable modules
US5412198A (en) 1989-10-30 1995-05-02 Symbol Technologies, Inc. High-speed scanning arrangement with high-frequency, low-stress scan element
US5418357A (en) 1992-06-22 1995-05-23 Matsushita Electric Industrial Co., Ltd. Bar-code reader permitting selective use of a whole or a part of an image sensor
US5420411A (en) 1991-06-14 1995-05-30 Symbol Technologies, Inc. Combined range laser scanner
US5478997A (en) 1988-10-21 1995-12-26 Symbol Technologies, Inc. Symbol scanning system and method having adaptive pattern generation
US5479000A (en) 1989-10-30 1995-12-26 Symbol Technologies, Inc. Compact scanning module for reading bar codes
US5486944A (en) 1989-10-30 1996-01-23 Symbol Technologies, Inc. Scanner module for symbol scanning system
US5504316A (en) 1990-05-08 1996-04-02 Symbol Technologies, Inc. Laser scanning system and scanning method for reading 1-D and 2-D barcode symbols
US5504367A (en) 1994-03-21 1996-04-02 Intermec Corporation Symbology reader illumination system
US5543610A (en) 1989-10-30 1996-08-06 Symbol Technologies, Inc. Compact bar code scanning arrangement
US5552592A (en) 1989-10-30 1996-09-03 Symbol Technologies, Inc. Slim scan module with dual detectors
US5557095A (en) 1993-05-10 1996-09-17 Psc Inc. System for enabling decoding of bar code and other symbols with a digital microcomputer connected via the input/output port thereof to the scanner
US5561283A (en) 1988-10-21 1996-10-01 Symbol Technologies, Inc. Laser scanning system and scanning method for reading bar codes
US5576529A (en) 1986-08-08 1996-11-19 Norand Technology Corporation Hand-held optically readable information set reader focus with operation over a range of distances
US5579487A (en) 1992-10-02 1996-11-26 Teletransaction, Inc. Portable work slate computer with multiple docking positions for interchangeably receiving removable modules
US5581067A (en) 1990-05-08 1996-12-03 Symbol Technologies, Inc. Compact bar code scanning module with shock protection
US5585616A (en) 1995-05-05 1996-12-17 Rockwell International Corporation Camera for capturing and decoding machine-readable matrix symbol images applied to reflective surfaces
US5589679A (en) 1989-10-30 1996-12-31 Symbol Technologies, Inc. Parallelepiped-shaped optical scanning module
US5591955A (en) 1993-05-11 1997-01-07 Laser; Vadim Portable data file readers
US5598007A (en) 1994-03-21 1997-01-28 Intermec Corporation Symbology reader with fixed focus spotter beam
US5600119A (en) 1988-10-21 1997-02-04 Symbol Technologies, Inc. Dual line laser scanning system and scanning method for reading multidimensional bar codes
US5621371A (en) 1989-10-30 1997-04-15 Symbol Technologies, Inc. Arrangement for two-dimensional optical scanning with springs of different moduli of elasticity
US5648650A (en) 1994-09-07 1997-07-15 Alps Electric Co., Ltd. Optical bar code reading apparatus with regular reflection detecting circuit
US5691528A (en) 1989-10-30 1997-11-25 Symbol Technologies Inc. Scanning system for either hand-held or stationary operation for reading 1-D or 2-D barcodes
US5696607A (en) 1994-10-07 1997-12-09 Sharp Kabushiki Kaisha Image reader having a light-guiding transparent board
US5703349A (en) 1995-06-26 1997-12-30 Metanetics Corporation Portable data collection device with two dimensional imaging assembly
US5705799A (en) 1990-05-08 1998-01-06 Symbol Technologies, Inc. Miniature optical scanning assembly for barcode readers
US5717221A (en) 1994-06-30 1998-02-10 Symbol Technologies, Inc. Multiple laser indicia reader optionally utilizing a charge coupled device (CCD) detector and operating method therefor
US5717195A (en) 1996-03-05 1998-02-10 Metanetics Corporation Imaging based slot dataform reader
US5736726A (en) 1996-03-29 1998-04-07 Telxon Corporation Portable data collection device having removable handle and battery
US5739518A (en) 1995-05-17 1998-04-14 Metanetics Corporation Autodiscrimination for dataform decoding and standardized recording
US5750975A (en) 1995-08-25 1998-05-12 Teletransactions, Inc. Hand held bar code dataform reader having a rotatable reading assembly
US5756981A (en) * 1992-02-27 1998-05-26 Symbol Technologies, Inc. Optical scanner for reading and decoding one- and-two-dimensional symbologies at variable depths of field including memory efficient high speed image processing means and high accuracy image analysis means
US5763864A (en) 1994-07-26 1998-06-09 Meta Holding Corporation Dataform reader including dual laser and imaging reading assemblies
US5767500A (en) 1996-02-06 1998-06-16 Symbol Technologies, Inc. Automatic identification of hardware
US5773810A (en) 1996-03-29 1998-06-30 Welch Allyn, Inc. Method for generating real time degree of focus signal for handheld imaging device
US5780831A (en) 1995-07-12 1998-07-14 Asahi Kogaku Kogyo Kabushiki Kaisha One-dimensional and two-dimensional data symbol reader
US5784102A (en) 1995-05-15 1998-07-21 Welch Allyn, Inc. Optical reader having improved interactive image sensing and control circuitry
US5786582A (en) 1992-02-27 1998-07-28 Symbol Technologies, Inc. Optical scanner for reading and decoding one- and two-dimensional symbologies at variable depths of field
US5801371A (en) 1995-03-20 1998-09-01 Symbol Technologies, Inc. Optical reader with independent triggering and graphical user interface
US5802179A (en) 1995-05-18 1998-09-01 Sharp Kabushiki Kaisha Information processor having two-dimensional bar code processing function
US5814827A (en) 1995-05-19 1998-09-29 Symbol Technologies, Inc. Optical scanner with extended depth of focus
US5818528A (en) 1994-10-25 1998-10-06 United Parcel Service Of America Automatic electronic camera for label image capture
US5821518A (en) 1994-10-25 1998-10-13 United Parcel Service Of America, Inc. Method and apparatus for a portable non-contact label imager
US5825617A (en) 1992-10-02 1998-10-20 Teletransactions, Inc. Workslate computer having modular device docking stations on horizontal and vertical side portions
US5825006A (en) 1994-03-04 1998-10-20 Welch Allyn, Inc. Optical reader having improved autodiscrimination features
US5837986A (en) 1990-01-05 1998-11-17 Symbol Technologies, Inc. Modification of software files in a microprocessor-controlled device via two-dimensional bar code symbols
US5848064A (en) 1996-08-07 1998-12-08 Telxon Corporation Wireless software upgrades with version control
US5850078A (en) 1996-01-16 1998-12-15 Symbol Technologies, Inc. Simplified assembly and automatic testing of components in electro-optical systems for reading coded indicia
US5859417A (en) 1991-06-14 1999-01-12 Symbol Technologies, Inc. Optical scanners having dual surface optical elements for dual working ranges
US5859970A (en) 1996-08-27 1999-01-12 Telxon Corporation Portable computer with internal ethernet/token ring controller
US5861615A (en) 1990-05-08 1999-01-19 Symbol Technologies, Inc. Palm scanner
US5872354A (en) 1989-01-31 1999-02-16 Norand Corporation Hand-held data capture system with interchangable modules including autofocusing data file reader using the slope of the image signal to determine focus
US5877487A (en) 1995-06-21 1999-03-02 Asahi Kogaku Kogyo Kabushiki Kaisha Data symbol reading device
US5880542A (en) 1997-05-30 1999-03-09 Satcon Technology Corporation Light reaction mass actuator
US5894348A (en) 1994-06-17 1999-04-13 Kensington Laboratories, Inc. Scribe mark reader
US5900613A (en) 1994-03-04 1999-05-04 Welch Allyn, Inc. Optical reader having improved reprogramming features
US5905251A (en) 1993-11-24 1999-05-18 Metrologic Instruments, Inc. Hand-held portable WWW access terminal with visual display panel and GUI-based WWW browser program integrated with bar code symbol reader in a hand-supportable housing
US5918194A (en) 1996-08-01 1999-06-29 Keithley Instruments, Inc. Integrated modular measurement system having configurable firmware architecture and modular mechanical parts
US5920061A (en) 1997-05-29 1999-07-06 Metanetics Corporation Portable data collection device including imaging assembly with modular high density dataform reader assembly
US5925872A (en) 1989-10-30 1999-07-20 Symbol Technologies, Inc. Scanning system for either hand-held or stationary operation for reading 1-D or 2-D barcodes
US5929418A (en) 1994-03-04 1999-07-27 Welch Allyn, Inc. Optical reader having improved menuing features
US5942741A (en) 1994-03-04 1999-08-24 Welch Allyn, Inc. Apparatus for optimizing throughput in decoded-output scanners and method of using same
US5949056A (en) 1986-09-10 1999-09-07 Norand Corporation Method and apparatus for optically reading an information pattern
US5988508A (en) 1990-05-08 1999-11-23 Symbol Technologies, Inc. Laser scanning system and scanning method for reading 1-D and 2-D barcode symbols
US5988506A (en) 1996-07-16 1999-11-23 Galore Scantec Ltd. System and method for reading and decoding two dimensional codes of high density
US5992744A (en) 1997-02-18 1999-11-30 Welch Allyn, Inc. Optical reader having multiple scanning assemblies with simultaneously decoded outputs
US6000619A (en) 1992-02-21 1999-12-14 Spectra-Physics Scanning Systems, Inc. Scanner assembly
US6015088A (en) 1996-11-05 2000-01-18 Welch Allyn, Inc. Decoding of real time video imaging
US6053408A (en) 1997-12-02 2000-04-25 Telxon Corporation Multi-focal length imaging based portable dataform reader
US6115678A (en) 1995-05-12 2000-09-05 Symbol Technologies, Inc. Universal host interface for data acquisition systems
US6123261A (en) 1997-05-05 2000-09-26 Roustaei; Alexander R. Optical scanner and image reader for reading images and decoding optical information including one and two dimensional symbologies at variable depth of field
US6123263A (en) 1998-01-29 2000-09-26 Meta Holdings Corporation Hand held dataform reader having strobing ultraviolet light illumination assembly for reading fluorescent dataforms
US6155491A (en) 1998-05-29 2000-12-05 Welch Allyn Data Collection, Inc. Lottery game ticket processing apparatus
US6155490A (en) 1999-04-22 2000-12-05 Intermec Ip Corp. Microelectromechanical systems scanning mirror for a laser scanner
US6164546A (en) 1995-07-20 2000-12-26 Fujitsu Limited Optical reader controlling operation between different scanning modes
US6179208B1 (en) 1997-01-31 2001-01-30 Metanetics Corporation Portable data collection device with variable focusing module for optic assembly
US6189788B1 (en) 1990-12-26 2001-02-20 Intermec Ip Corp. Portable modular work station including printer and portable data collection terminal
EP1079466A2 (en) 1999-08-27 2001-02-28 Sony Computer Entertainment Inc. Board connection structure, electronic device with board connection structure and connector used therein
US6199044B1 (en) 1998-05-27 2001-03-06 Intermec Ip Corp. Universal data input and processing device, such as universal point-of-sale device for inputting and processing bar code symbols, document images, and other data
US6213397B1 (en) 1991-09-24 2001-04-10 Psc Scanning, Inc. Multiple window scanner and method for adjusting optical parameters
WO2001026036A2 (en) * 1999-10-04 2001-04-12 Welch Allyn Data Collection, Inc. Imaging module for optical reader
US6223988B1 (en) 1996-10-16 2001-05-01 Omniplanar, Inc Hand-held bar code reader with laser scanning and 2D image capture
US6227450B1 (en) 1990-09-11 2001-05-08 Metrologic Instruments, Inc. Electronically-controlled mechanically-damped off-resonant light beam scanning mechanism and code symbol readers employing the same
EP1128315A1 (en) 2000-02-23 2001-08-29 Datalogic S.P.A. Apparatus and method for acquiring and reading optical codes with result indication
US6283372B1 (en) 1990-05-08 2001-09-04 Symbol Technologies, Inc. Electro-optical scanning assembly with conductive flexures
US6330973B1 (en) 1989-10-30 2001-12-18 Symbol Technologies, Inc. Integrated code reading systems including tunnel scanners
US6347163B2 (en) 1994-10-26 2002-02-12 Symbol Technologies, Inc. System for reading two-dimensional images using ambient and/or projected light
US6348773B1 (en) 1988-10-21 2002-02-19 Symbol Technologies, Inc. Laser scanner for controlling the optical scanning of bar codes
US6389182B1 (en) 1998-06-30 2002-05-14 Sony Corporation Image processing apparatus, image processing method and storage medium
JP2002150215A (en) 2000-11-13 2002-05-24 Canon Inc Information reader
US6419633B1 (en) * 2000-09-15 2002-07-16 Koninklijke Philips Electronics N.V. 2D ultrasonic transducer array for two dimensional and three dimensional imaging
US6488209B1 (en) 1999-01-29 2002-12-03 Intermec Ip Corp. Automatic data collection device that dynamically wedges data transmitted to data consumers
US6491223B1 (en) 1996-09-03 2002-12-10 Hand Held Products, Inc. Autodiscriminating optical reader
US6491225B1 (en) 1989-10-30 2002-12-10 Symbol Technologies, Inc. Electro-optical reader with electronic stylus
US6497368B1 (en) 1998-01-22 2002-12-24 Intermec Ip Corp. Portable data collection
US6507864B1 (en) 1996-08-02 2003-01-14 Symbol Technologies, Inc. Client-server software for controlling data collection device from host computer
US6505778B1 (en) 1998-07-17 2003-01-14 Psc Scanning, Inc. Optical reader with selectable processing characteristics for reading data in multiple formats
US6527180B1 (en) 1993-11-17 2003-03-04 Symbol Technologies, Inc. Compact dual optical and scan modules in bar code readers
US6539422B1 (en) 1998-05-04 2003-03-25 Intermec Ip Corp. Automatic data collection device having a network communications capability
US6575370B1 (en) 1990-05-08 2003-06-10 Symbol Technologies, Inc. Electro-optical scanning assembly with one-piece, oscillatable, focusing/scan element
US6602194B2 (en) * 2000-09-15 2003-08-05 Koninklijke Philips Electronics N.V. Dual beamformer ultrasound system for 2D and 3D imaging
US6616042B1 (en) 1989-10-30 2003-09-09 Symbol Technologies, Inc. Clamp assembly for detachably clamping spring in electro-optical system for reading indicia
US6637658B2 (en) * 2001-01-22 2003-10-28 Welch Allyn, Inc. Optical reader having partial frame operating mode
US20030222147A1 (en) 2002-06-04 2003-12-04 Hand Held Products, Inc. Optical reader having a plurality of imaging modules
US20040020990A1 (en) * 2002-06-04 2004-02-05 Havens William H. Optical reader having a plurality of imaging modules
US6708866B2 (en) 2001-09-26 2004-03-23 Nova-Tech Engineering, Inc. Method and apparatus for machine tooling, such as friction stir welder
US6714983B1 (en) 1989-04-14 2004-03-30 Broadcom Corporation Modular, portable data processing terminal for use in a communication network
US6715685B2 (en) 1993-11-17 2004-04-06 Symbol Technologies, Inc. Optical path design for scanning assembly in compact bar code readers
US6732915B1 (en) 1999-09-10 2004-05-11 Fuji Xerox Co., Ltd. Systems and methods for controlling a presentation using physical objects
US6732933B2 (en) 2001-10-15 2004-05-11 Symbol Technologies, Inc. Coupling of bar code data readers to mobile terminals operable in wireless networks
US6869016B2 (en) 2001-04-04 2005-03-22 Symbol Technologies, Inc. Bar code data driven communications by mobile computer terminals operable in wireless networks
US6874689B2 (en) 1990-09-11 2005-04-05 Metrologic Instruments, Inc. Laser beam scanning device employing a scanning element having a flexible photo-etched gap region disposed between an anchored base portion and a light beam deflecting portion having a natural frequency of oscillation tuned by the physical dimensions of said flexible photo-etched gap region and forcibly oscillated about a fixed pivot point at an electronically-controlled frequency of oscillation substantially different from said natural resonant frequency of oscillation
US7055747B2 (en) 2002-06-11 2006-06-06 Hand Held Products, Inc. Long range optical reader
US7086596B2 (en) 2003-01-09 2006-08-08 Hand Held Products, Inc. Decoder board for an optical reader utilizing a plurality of imaging formats
US7090132B2 (en) 2002-06-11 2006-08-15 Hand Held Products, Inc. Long range optical reader
US7195164B2 (en) 2003-01-03 2007-03-27 Symbol Technologies, Inc. Optical code reading device having more than one imaging engine

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2795293B2 (en) 1991-05-02 1998-09-10 富士通株式会社 Bar code reader
US5481357A (en) * 1994-03-03 1996-01-02 International Business Machines Corporation Apparatus and method for high-efficiency, in-situ particle detection
US5600683A (en) * 1995-05-01 1997-02-04 Motorola, Inc. Communication data format
WO1997008647A1 (en) 1995-08-25 1997-03-06 Psc, Inc. Optical reader with condensed cmos circuitry
US5763664A (en) * 1995-12-01 1998-06-09 Albemarle Corporation Process for preparing cyclopentenones
US6575368B1 (en) 1996-01-31 2003-06-10 Psc Scanning, Inc. Multiple aperture data reader for multi-mode operation
US20040004128A1 (en) 1996-09-03 2004-01-08 Hand Held Products, Inc. Optical reader system comprising digital conversion circuit
US6062475A (en) * 1997-06-25 2000-05-16 Metanetics Corporation Portable data collection device including color imaging dataform reader assembly
US5788582A (en) * 1997-10-02 1998-08-04 Shapiro; Gerald M. Golf training device and method
US6298176B2 (en) 1997-10-17 2001-10-02 Welch Allyn Data Collection, Inc. Symbol-controlled image data reading system
US6561428B2 (en) 1997-10-17 2003-05-13 Hand Held Products, Inc. Imaging device having indicia-controlled image parsing mode
US20020050518A1 (en) * 1997-12-08 2002-05-02 Roustaei Alexander R. Sensor array
US6607128B1 (en) 1998-07-08 2003-08-19 Welch Allyn Data Collection Inc. Optical assembly for barcode scanner
US6191406B1 (en) 1998-07-24 2001-02-20 Eastman Kodak Company Data reader and reader system having visible centerless targeting
DE69834918T2 (en) 1998-11-02 2007-02-01 Datalogic S.P.A., Lippo Di Calderara Di Reno Arrangement for automatic detection and processing of optical codes
US20030029917A1 (en) 1999-10-04 2003-02-13 Hand Held Products, Inc. Optical reader for imaging module
US6585159B1 (en) 1999-11-02 2003-07-01 Welch Allyn Data Collection, Inc. Indicia sensor system for optical reader
US6539059B1 (en) * 2000-03-02 2003-03-25 Sun Microsystems, Inc. Apparatus and method for efficiently scalable digital video decoding
EP1176833A3 (en) * 2000-07-25 2012-06-27 Panasonic Corporation Image decoding method, image decoding apparatus, and data storage medium
US7268924B2 (en) 2001-01-22 2007-09-11 Hand Held Products, Inc. Optical reader having reduced parameter determination delay
EP1371010B1 (en) 2001-03-08 2008-08-27 Hand Held Products, Inc. Optical reader imaging module
US20030206150A1 (en) 2001-05-02 2003-11-06 Hand Held Products, Inc. Optical reader comprising keyboard
US6722569B2 (en) 2001-07-13 2004-04-20 Welch Allyn Data Collection, Inc. Optical reader having a color imager
US20030168512A1 (en) 2002-03-07 2003-09-11 Hand Held Products, Inc. Optical reader having position responsive decode launch circuit
AU2003240515A1 (en) 2002-06-04 2003-12-19 Hand Held Products, Inc. Decoder for an optical reader utilizing a plurality of imaging formats
US20030222144A1 (en) 2002-06-04 2003-12-04 Hand Held Products, Inc. Manufacturing methods for a decoder board for an optical reader utilizing a plurality of imaging formats
US7147162B2 (en) 2003-01-09 2006-12-12 Hand Held Products, Inc. Housing for an optical reader
US20040134988A1 (en) 2003-01-09 2004-07-15 Hand Held Products, Inc. Analog-to-digital converter with automatic range and sensitivity adjustment
US7740176B2 (en) * 2006-06-09 2010-06-22 Hand Held Products, Inc. Indicia reading apparatus having reduced trigger-to-read time
US7854385B2 (en) * 2007-10-31 2010-12-21 Symbol Technologies, Inc. Automatic region of interest focusing for an imaging-based bar code reader

Patent Citations (178)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4097847A (en) 1972-07-10 1978-06-27 Scan-Optics, Inc. Multi-font optical character recognition apparatus
US4542528A (en) 1981-04-09 1985-09-17 Recognition Equipment Incorporated OCR and bar code reader with optimized sensor
US4758717A (en) 1982-01-25 1988-07-19 Symbol Technologies, Inc. Narrow-bodied, single-and twin-windowed portable laser scanning head for reading bar code symbols
US4538060A (en) 1982-05-31 1985-08-27 Nippondenso Co., Ltd. Optical reading apparatus having a reading sensor of electronic scanning type
US4818847A (en) 1982-07-29 1989-04-04 Nippondenso Co., Ltd. Apparatus for optically reading printed information
GB2128549A (en) 1982-10-13 1984-05-02 Standard Telephones Cables Ltd Debit/credit card
US4760248A (en) 1985-02-28 1988-07-26 Symbol Technologies, Inc. Portable laser diode scanning head
US4721849A (en) 1985-10-02 1988-01-26 Videx, Inc. Portable programmable optical code reader
US4945216A (en) 1985-11-06 1990-07-31 Sharp Kabushiki Kaisha Wireless bar code reader
US4841132A (en) 1986-07-21 1989-06-20 Matsushita Electric Industrial Co., Ltd. Program recording scheduling apparatus using an optical reader
US5576529A (en) 1986-08-08 1996-11-19 Norand Technology Corporation Hand-held optically readable information set reader focus with operation over a range of distances
US4877949A (en) 1986-08-08 1989-10-31 Norand Corporation Hand-held instant bar code reader system with automated focus based on distance measurements
US5949056A (en) 1986-09-10 1999-09-07 Norand Corporation Method and apparatus for optically reading an information pattern
US4825058A (en) 1986-10-14 1989-04-25 Hewlett-Packard Company Bar code reader configuration and control using a bar code menu to directly access memory
US4964167A (en) 1987-07-15 1990-10-16 Matsushita Electric Works, Ltd. Apparatus for generating synthesized voice from text
US5019699A (en) 1988-08-31 1991-05-28 Norand Corporation Hand-held optical character reader with means for instantaneously reading information from a predetermined area at an optical sensing area
US6348773B1 (en) 1988-10-21 2002-02-19 Symbol Technologies, Inc. Laser scanner for controlling the optical scanning of bar codes
US5600119A (en) 1988-10-21 1997-02-04 Symbol Technologies, Inc. Dual line laser scanning system and scanning method for reading multidimensional bar codes
US5235167A (en) 1988-10-21 1993-08-10 Symbol Technologies, Inc. Laser scanning system and scanning method for reading bar codes
US5561283A (en) 1988-10-21 1996-10-01 Symbol Technologies, Inc. Laser scanning system and scanning method for reading bar codes
US5478997A (en) 1988-10-21 1995-12-26 Symbol Technologies, Inc. Symbol scanning system and method having adaptive pattern generation
US4930848A (en) 1989-01-26 1990-06-05 Metrologic Instruments, Inc. Portable laser scanner with integral scanner engine
US4983818A (en) 1989-01-30 1991-01-08 Metrologic Instruments, Inc. Data acquisition system with laser scanner module
US5872354A (en) 1989-01-31 1999-02-16 Norand Corporation Hand-held data capture system with interchangable modules including autofocusing data file reader using the slope of the image signal to determine focus
US5216233A (en) 1989-03-09 1993-06-01 Norand Corporation Versatile RF terminal-scanner system
US6714983B1 (en) 1989-04-14 2004-03-30 Broadcom Corporation Modular, portable data processing terminal for use in a communication network
US5410141A (en) 1989-06-07 1995-04-25 Norand Hand-held data capture system with interchangable modules
US5408081A (en) 1989-06-16 1995-04-18 Symbol Technologies, Inc. Digital circuit for a laser scanner using a first derivative signal and a comparison signal
US5373148A (en) 1989-10-30 1994-12-13 Symbol Technologies, Inc. Optical scanners with scan motion damping and orientation of astigmantic laser generator to optimize reading of two-dimensionally coded indicia
US5543610A (en) 1989-10-30 1996-08-06 Symbol Technologies, Inc. Compact bar code scanning arrangement
US5691528A (en) 1989-10-30 1997-11-25 Symbol Technologies Inc. Scanning system for either hand-held or stationary operation for reading 1-D or 2-D barcodes
US5945659A (en) 1989-10-30 1999-08-31 Symbol Technologies, Inc. Electromagnetically activated scanner with suspended scanner component and stop
US5925872A (en) 1989-10-30 1999-07-20 Symbol Technologies, Inc. Scanning system for either hand-held or stationary operation for reading 1-D or 2-D barcodes
US5923025A (en) 1989-10-30 1999-07-13 Symbol Technologies, Inc. Electro-magnetically activated scanner with scanner component suspended by single flexural component
US5917173A (en) 1989-10-30 1999-06-29 Symbol Technologies, Inc. Electromagnetically activated scanner with shock-protected scanner component
US5412198A (en) 1989-10-30 1995-05-02 Symbol Technologies, Inc. High-speed scanning arrangement with high-frequency, low-stress scan element
US5900617A (en) 1989-10-30 1999-05-04 Symbol Technologies, Inc. Optical scanning module having multiple-sided enclosure
US5984188A (en) 1989-10-30 1999-11-16 Symbol Technologies, Inc. Terminal with board-mounted slim scan module
US5874720A (en) 1989-10-30 1999-02-23 Symbol Technologies, Inc. Electro-magnetically activated scanner with suspended scanner component
US5479000A (en) 1989-10-30 1995-12-26 Symbol Technologies, Inc. Compact scanning module for reading bar codes
US5486944A (en) 1989-10-30 1996-01-23 Symbol Technologies, Inc. Scanner module for symbol scanning system
US6056200A (en) 1989-10-30 2000-05-02 Symbol Technologies, Inc. Scan module with pin stop
US6616042B1 (en) 1989-10-30 2003-09-09 Symbol Technologies, Inc. Clamp assembly for detachably clamping spring in electro-optical system for reading indicia
US5367151A (en) 1989-10-30 1994-11-22 Symbol Technologies, Inc. Slim scan module with interchangeable scan element
US5552592A (en) 1989-10-30 1996-09-03 Symbol Technologies, Inc. Slim scan module with dual detectors
US6585160B2 (en) 1989-10-30 2003-07-01 Symbol Technologies, Inc. High speed scanning arrangements
US5280165A (en) 1989-10-30 1994-01-18 Symbol Technolgoies, Inc. Scan pattern generators for bar code symbol readers
US5825013A (en) 1989-10-30 1998-10-20 Symbol Technologies, Inc. Electromagnetically activated scanner with suspended scanner component
US5714746A (en) 1989-10-30 1998-02-03 Symbol Technologies, Inc. Terminal with slim scan module with generally orthogonal circuit board arrangement
US5581070A (en) 1989-10-30 1996-12-03 Symbol Technologies, Inc. Omni-directional scan pattern generator in electro-optical scanners
US5698835A (en) 1989-10-30 1997-12-16 Symbol Technologies, Inc. Slim scan module with interchangeable X-Y scan element
US6491225B1 (en) 1989-10-30 2002-12-10 Symbol Technologies, Inc. Electro-optical reader with electronic stylus
US5589679A (en) 1989-10-30 1996-12-31 Symbol Technologies, Inc. Parallelepiped-shaped optical scanning module
US6439461B2 (en) 1989-10-30 2002-08-27 Symbol Technologies, Inc. Multi-dimensional scanning arrangement with U-shaped planar spring
US6330973B1 (en) 1989-10-30 2001-12-18 Symbol Technologies, Inc. Integrated code reading systems including tunnel scanners
US5168149A (en) 1989-10-30 1992-12-01 Symbol Technologies, Inc. Scan pattern generators for bar code symbol readers
US5621371A (en) 1989-10-30 1997-04-15 Symbol Technologies, Inc. Arrangement for two-dimensional optical scanning with springs of different moduli of elasticity
US5693929A (en) 1989-10-30 1997-12-02 Symbol Technologies, Inc. Scanning module with spring made resistant to overflexing
US5099110A (en) 1989-10-30 1992-03-24 Symbol Technologies, Inc. Power saving scanning arrangement
US5682029A (en) 1989-10-30 1997-10-28 Symbol Technologies, Inc. Slim scan module with dual detectors
US5272323A (en) 1989-11-22 1993-12-21 Symbol Technologies, Inc. Digitizer for barcode scanner
US5837986A (en) 1990-01-05 1998-11-17 Symbol Technologies, Inc. Modification of software files in a microprocessor-controlled device via two-dimensional bar code symbols
US5313053A (en) 1990-01-18 1994-05-17 Norand Corporation Laser scanner module having integral interfacing with hand-held data capture terminal
US5988508A (en) 1990-05-08 1999-11-23 Symbol Technologies, Inc. Laser scanning system and scanning method for reading 1-D and 2-D barcode symbols
US5763863A (en) 1990-05-08 1998-06-09 Symbol Technologies, Inc. Compact bar code scanning module with folded beam path and reflector mounted on spring
US5705799A (en) 1990-05-08 1998-01-06 Symbol Technologies, Inc. Miniature optical scanning assembly for barcode readers
US6575370B1 (en) 1990-05-08 2003-06-10 Symbol Technologies, Inc. Electro-optical scanning assembly with one-piece, oscillatable, focusing/scan element
US6283372B1 (en) 1990-05-08 2001-09-04 Symbol Technologies, Inc. Electro-optical scanning assembly with conductive flexures
US5581067A (en) 1990-05-08 1996-12-03 Symbol Technologies, Inc. Compact bar code scanning module with shock protection
US6412697B1 (en) 1990-05-08 2002-07-02 Symbol Technologies, Inc. Palm scanner
US5504316A (en) 1990-05-08 1996-04-02 Symbol Technologies, Inc. Laser scanning system and scanning method for reading 1-D and 2-D barcode symbols
US5861615A (en) 1990-05-08 1999-01-19 Symbol Technologies, Inc. Palm scanner
US5821521A (en) 1990-05-08 1998-10-13 Symbol Technologies, Inc. Optical scanning assembly with flexible diaphragm
US5637856A (en) 1990-05-08 1997-06-10 Symbol Technologies, Inc. Scanning system and scanning method with scan pattern control for reading 1-D and 2-D barcode symbols
US6227450B1 (en) 1990-09-11 2001-05-08 Metrologic Instruments, Inc. Electronically-controlled mechanically-damped off-resonant light beam scanning mechanism and code symbol readers employing the same
US6874689B2 (en) 1990-09-11 2005-04-05 Metrologic Instruments, Inc. Laser beam scanning device employing a scanning element having a flexible photo-etched gap region disposed between an anchored base portion and a light beam deflecting portion having a natural frequency of oscillation tuned by the physical dimensions of said flexible photo-etched gap region and forcibly oscillated about a fixed pivot point at an electronically-controlled frequency of oscillation substantially different from said natural resonant frequency of oscillation
US5223701A (en) 1990-10-30 1993-06-29 Ommiplanar Inc. System method and apparatus using multiple resolution machine readable symbols
US5317136A (en) 1990-12-20 1994-05-31 Nippodenso Co., Ltd. Information reading device which controls communication interrupt signal from a host system
US6189788B1 (en) 1990-12-26 2001-02-20 Intermec Ip Corp. Portable modular work station including printer and portable data collection terminal
US5420411A (en) 1991-06-14 1995-05-30 Symbol Technologies, Inc. Combined range laser scanner
US5859417A (en) 1991-06-14 1999-01-12 Symbol Technologies, Inc. Optical scanners having dual surface optical elements for dual working ranges
US5378883A (en) 1991-07-19 1995-01-03 Omniplanar Inc. Omnidirectional wide range hand held bar code reader
US5311001A (en) 1991-09-13 1994-05-10 Symbol Technologies, Inc. Analog waveform decoder utilizing histogram of edge sizes
US6213397B1 (en) 1991-09-24 2001-04-10 Psc Scanning, Inc. Multiple window scanner and method for adjusting optical parameters
US6000619A (en) 1992-02-21 1999-12-14 Spectra-Physics Scanning Systems, Inc. Scanner assembly
US5786582A (en) 1992-02-27 1998-07-28 Symbol Technologies, Inc. Optical scanner for reading and decoding one- and two-dimensional symbologies at variable depths of field
US5354977A (en) * 1992-02-27 1994-10-11 Alex Roustaei Optical scanning head
US5756981A (en) * 1992-02-27 1998-05-26 Symbol Technologies, Inc. Optical scanner for reading and decoding one- and-two-dimensional symbologies at variable depths of field including memory efficient high speed image processing means and high accuracy image analysis means
US5331176A (en) 1992-04-10 1994-07-19 Veritec Inc. Hand held two dimensional symbol reader with a symbol illumination window
US5418357A (en) 1992-06-22 1995-05-23 Matsushita Electric Industrial Co., Ltd. Bar-code reader permitting selective use of a whole or a part of an image sensor
US5825617A (en) 1992-10-02 1998-10-20 Teletransactions, Inc. Workslate computer having modular device docking stations on horizontal and vertical side portions
US5579487A (en) 1992-10-02 1996-11-26 Teletransaction, Inc. Portable work slate computer with multiple docking positions for interchangeably receiving removable modules
US5557095A (en) 1993-05-10 1996-09-17 Psc Inc. System for enabling decoding of bar code and other symbols with a digital microcomputer connected via the input/output port thereof to the scanner
US5591955A (en) 1993-05-11 1997-01-07 Laser; Vadim Portable data file readers
US5404002A (en) 1993-05-17 1995-04-04 At&T Global Information Solutions Company Backup method for multiple source optical scanner
US5304787A (en) 1993-06-01 1994-04-19 Metamedia Corporation Locating 2-D bar codes
EP1310903A1 (en) 1993-11-17 2003-05-14 Symbol Technologies, Inc. Compact bar code scanning module with shock protection
US6527180B1 (en) 1993-11-17 2003-03-04 Symbol Technologies, Inc. Compact dual optical and scan modules in bar code readers
US6715685B2 (en) 1993-11-17 2004-04-06 Symbol Technologies, Inc. Optical path design for scanning assembly in compact bar code readers
US5905251A (en) 1993-11-24 1999-05-18 Metrologic Instruments, Inc. Hand-held portable WWW access terminal with visual display panel and GUI-based WWW browser program integrated with bar code symbol reader in a hand-supportable housing
US5929418A (en) 1994-03-04 1999-07-27 Welch Allyn, Inc. Optical reader having improved menuing features
US5825006A (en) 1994-03-04 1998-10-20 Welch Allyn, Inc. Optical reader having improved autodiscrimination features
US5942741A (en) 1994-03-04 1999-08-24 Welch Allyn, Inc. Apparatus for optimizing throughput in decoded-output scanners and method of using same
US5900613A (en) 1994-03-04 1999-05-04 Welch Allyn, Inc. Optical reader having improved reprogramming features
US5598007A (en) 1994-03-21 1997-01-28 Intermec Corporation Symbology reader with fixed focus spotter beam
US5504367A (en) 1994-03-21 1996-04-02 Intermec Corporation Symbology reader illumination system
US5886338A (en) 1994-03-21 1999-03-23 Intermec Ip Corporation Symbology reader illumination system
US5894348A (en) 1994-06-17 1999-04-13 Kensington Laboratories, Inc. Scribe mark reader
US5717221A (en) 1994-06-30 1998-02-10 Symbol Technologies, Inc. Multiple laser indicia reader optionally utilizing a charge coupled device (CCD) detector and operating method therefor
US5763864A (en) 1994-07-26 1998-06-09 Meta Holding Corporation Dataform reader including dual laser and imaging reading assemblies
US5648650A (en) 1994-09-07 1997-07-15 Alps Electric Co., Ltd. Optical bar code reading apparatus with regular reflection detecting circuit
US5696607A (en) 1994-10-07 1997-12-09 Sharp Kabushiki Kaisha Image reader having a light-guiding transparent board
US5818528A (en) 1994-10-25 1998-10-06 United Parcel Service Of America Automatic electronic camera for label image capture
US5821518A (en) 1994-10-25 1998-10-13 United Parcel Service Of America, Inc. Method and apparatus for a portable non-contact label imager
US6347163B2 (en) 1994-10-26 2002-02-12 Symbol Technologies, Inc. System for reading two-dimensional images using ambient and/or projected light
US5801371A (en) 1995-03-20 1998-09-01 Symbol Technologies, Inc. Optical reader with independent triggering and graphical user interface
US5585616A (en) 1995-05-05 1996-12-17 Rockwell International Corporation Camera for capturing and decoding machine-readable matrix symbol images applied to reflective surfaces
US6115678A (en) 1995-05-12 2000-09-05 Symbol Technologies, Inc. Universal host interface for data acquisition systems
US5784102A (en) 1995-05-15 1998-07-21 Welch Allyn, Inc. Optical reader having improved interactive image sensing and control circuitry
US5739518A (en) 1995-05-17 1998-04-14 Metanetics Corporation Autodiscrimination for dataform decoding and standardized recording
US5802179A (en) 1995-05-18 1998-09-01 Sharp Kabushiki Kaisha Information processor having two-dimensional bar code processing function
US5814827A (en) 1995-05-19 1998-09-29 Symbol Technologies, Inc. Optical scanner with extended depth of focus
US5877487A (en) 1995-06-21 1999-03-02 Asahi Kogaku Kogyo Kabushiki Kaisha Data symbol reading device
US5703349A (en) 1995-06-26 1997-12-30 Metanetics Corporation Portable data collection device with two dimensional imaging assembly
US5780831A (en) 1995-07-12 1998-07-14 Asahi Kogaku Kogyo Kabushiki Kaisha One-dimensional and two-dimensional data symbol reader
US6164546A (en) 1995-07-20 2000-12-26 Fujitsu Limited Optical reader controlling operation between different scanning modes
US5750975A (en) 1995-08-25 1998-05-12 Teletransactions, Inc. Hand held bar code dataform reader having a rotatable reading assembly
US5850078A (en) 1996-01-16 1998-12-15 Symbol Technologies, Inc. Simplified assembly and automatic testing of components in electro-optical systems for reading coded indicia
US5767500A (en) 1996-02-06 1998-06-16 Symbol Technologies, Inc. Automatic identification of hardware
US5717195A (en) 1996-03-05 1998-02-10 Metanetics Corporation Imaging based slot dataform reader
US5773810A (en) 1996-03-29 1998-06-30 Welch Allyn, Inc. Method for generating real time degree of focus signal for handheld imaging device
US5736726A (en) 1996-03-29 1998-04-07 Telxon Corporation Portable data collection device having removable handle and battery
US5988506A (en) 1996-07-16 1999-11-23 Galore Scantec Ltd. System and method for reading and decoding two dimensional codes of high density
US5918194A (en) 1996-08-01 1999-06-29 Keithley Instruments, Inc. Integrated modular measurement system having configurable firmware architecture and modular mechanical parts
US6507864B1 (en) 1996-08-02 2003-01-14 Symbol Technologies, Inc. Client-server software for controlling data collection device from host computer
US5848064A (en) 1996-08-07 1998-12-08 Telxon Corporation Wireless software upgrades with version control
US5859970A (en) 1996-08-27 1999-01-12 Telxon Corporation Portable computer with internal ethernet/token ring controller
US6578766B1 (en) 1996-09-03 2003-06-17 Welch Allyn Data Collection, Inc Data structure for an optical reader
US6491223B1 (en) 1996-09-03 2002-12-10 Hand Held Products, Inc. Autodiscriminating optical reader
US6223988B1 (en) 1996-10-16 2001-05-01 Omniplanar, Inc Hand-held bar code reader with laser scanning and 2D image capture
US6015088A (en) 1996-11-05 2000-01-18 Welch Allyn, Inc. Decoding of real time video imaging
US6179208B1 (en) 1997-01-31 2001-01-30 Metanetics Corporation Portable data collection device with variable focusing module for optic assembly
US5992744A (en) 1997-02-18 1999-11-30 Welch Allyn, Inc. Optical reader having multiple scanning assemblies with simultaneously decoded outputs
US6123261A (en) 1997-05-05 2000-09-26 Roustaei; Alexander R. Optical scanner and image reader for reading images and decoding optical information including one and two dimensional symbologies at variable depth of field
US5920061A (en) 1997-05-29 1999-07-06 Metanetics Corporation Portable data collection device including imaging assembly with modular high density dataform reader assembly
US5880542A (en) 1997-05-30 1999-03-09 Satcon Technology Corporation Light reaction mass actuator
US6053408A (en) 1997-12-02 2000-04-25 Telxon Corporation Multi-focal length imaging based portable dataform reader
US6497368B1 (en) 1998-01-22 2002-12-24 Intermec Ip Corp. Portable data collection
US6123263A (en) 1998-01-29 2000-09-26 Meta Holdings Corporation Hand held dataform reader having strobing ultraviolet light illumination assembly for reading fluorescent dataforms
US6539422B1 (en) 1998-05-04 2003-03-25 Intermec Ip Corp. Automatic data collection device having a network communications capability
US6199044B1 (en) 1998-05-27 2001-03-06 Intermec Ip Corp. Universal data input and processing device, such as universal point-of-sale device for inputting and processing bar code symbols, document images, and other data
US6155491A (en) 1998-05-29 2000-12-05 Welch Allyn Data Collection, Inc. Lottery game ticket processing apparatus
US6389182B1 (en) 1998-06-30 2002-05-14 Sony Corporation Image processing apparatus, image processing method and storage medium
US6505778B1 (en) 1998-07-17 2003-01-14 Psc Scanning, Inc. Optical reader with selectable processing characteristics for reading data in multiple formats
US6488209B1 (en) 1999-01-29 2002-12-03 Intermec Ip Corp. Automatic data collection device that dynamically wedges data transmitted to data consumers
US6155490A (en) 1999-04-22 2000-12-05 Intermec Ip Corp. Microelectromechanical systems scanning mirror for a laser scanner
EP1079466A2 (en) 1999-08-27 2001-02-28 Sony Computer Entertainment Inc. Board connection structure, electronic device with board connection structure and connector used therein
US6732915B1 (en) 1999-09-10 2004-05-11 Fuji Xerox Co., Ltd. Systems and methods for controlling a presentation using physical objects
US7500614B2 (en) * 1999-10-04 2009-03-10 Hand Held Products, Inc. Imaging module for optical reader
US7296751B2 (en) * 1999-10-04 2007-11-20 Hand Held Products, Inc. Imaging module for optical reader
WO2001026036A2 (en) * 1999-10-04 2001-04-12 Welch Allyn Data Collection, Inc. Imaging module for optical reader
EP1128315A1 (en) 2000-02-23 2001-08-29 Datalogic S.P.A. Apparatus and method for acquiring and reading optical codes with result indication
US6602194B2 (en) * 2000-09-15 2003-08-05 Koninklijke Philips Electronics N.V. Dual beamformer ultrasound system for 2D and 3D imaging
US6419633B1 (en) * 2000-09-15 2002-07-16 Koninklijke Philips Electronics N.V. 2D ultrasonic transducer array for two dimensional and three dimensional imaging
JP2002150215A (en) 2000-11-13 2002-05-24 Canon Inc Information reader
US6637658B2 (en) * 2001-01-22 2003-10-28 Welch Allyn, Inc. Optical reader having partial frame operating mode
US6869016B2 (en) 2001-04-04 2005-03-22 Symbol Technologies, Inc. Bar code data driven communications by mobile computer terminals operable in wireless networks
US6708866B2 (en) 2001-09-26 2004-03-23 Nova-Tech Engineering, Inc. Method and apparatus for machine tooling, such as friction stir welder
US6732933B2 (en) 2001-10-15 2004-05-11 Symbol Technologies, Inc. Coupling of bar code data readers to mobile terminals operable in wireless networks
US20040164165A1 (en) * 2002-06-04 2004-08-26 Havens William H. Optical reader having a plurality of imaging modules
US20040020990A1 (en) * 2002-06-04 2004-02-05 Havens William H. Optical reader having a plurality of imaging modules
US20030222147A1 (en) 2002-06-04 2003-12-04 Hand Held Products, Inc. Optical reader having a plurality of imaging modules
US7055747B2 (en) 2002-06-11 2006-06-06 Hand Held Products, Inc. Long range optical reader
US7090132B2 (en) 2002-06-11 2006-08-15 Hand Held Products, Inc. Long range optical reader
US7389929B2 (en) 2002-06-11 2008-06-24 Hand Held Products, Inc. Long range optical reader
US7195164B2 (en) 2003-01-03 2007-03-27 Symbol Technologies, Inc. Optical code reading device having more than one imaging engine
US7086596B2 (en) 2003-01-09 2006-08-08 Hand Held Products, Inc. Decoder board for an optical reader utilizing a plurality of imaging formats
US7690572B2 (en) 2003-01-09 2010-04-06 Hand Held Products, Inc. Decoder board for an optical reader utilizing a plurality of imaging formats

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
International Preliminary Examination Report for Application No. PCT/US03/17516 dated Aug. 23, 2005.
International Search Report for Application No. PCT/US03/17516 dated Sep. 23, 2003.
International Search Report for Application No. PCT/US03/17516 dated Sep. 30, 2003.
U.S. Appl. No. 5,637,857, Jun. 1997, Dvorkis et al. (withdrawn).
U.S. Appl. No. 60/437,959, filed Jan. 3, 2003, priority of which is claimed in U.S. Appl. No. 10/425,694, filed Apr. 29, 2003, 25 pages.
Written Opinion for Application No. PCT/US03/17516 dated Apr. 1, 2005.

Cited By (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9152835B2 (en) 2003-01-09 2015-10-06 Hand Held Products, Inc. Decoding utilizing image data
US10735684B2 (en) 2005-03-11 2020-08-04 Hand Held Products, Inc. Image reader comprising CMOS based image sensor array
US9576169B2 (en) 2005-03-11 2017-02-21 Hand Held Products, Inc. Image reader having image sensor array
US11863897B2 (en) 2005-03-11 2024-01-02 Hand Held Products, Inc. Image reader comprising CMOS based image sensor array
US9465970B2 (en) 2005-03-11 2016-10-11 Hand Held Products, Inc. Image reader comprising CMOS based image sensor array
US10171767B2 (en) 2005-03-11 2019-01-01 Hand Held Products, Inc. Image reader comprising CMOS based image sensor array
US10958863B2 (en) 2005-03-11 2021-03-23 Hand Held Products, Inc. Image reader comprising CMOS based image sensor array
US8720781B2 (en) 2005-03-11 2014-05-13 Hand Held Products, Inc. Image reader having image sensor array
US9578269B2 (en) 2005-03-11 2017-02-21 Hand Held Products, Inc. Image reader comprising CMOS based image sensor array
US8733660B2 (en) 2005-03-11 2014-05-27 Hand Held Products, Inc. Image reader comprising CMOS based image sensor array
US8978985B2 (en) 2005-03-11 2015-03-17 Hand Held Products, Inc. Image reader comprising CMOS based image sensor array
US9305199B2 (en) 2005-03-11 2016-04-05 Hand Held Products, Inc. Image reader having image sensor array
US11317050B2 (en) 2005-03-11 2022-04-26 Hand Held Products, Inc. Image reader comprising CMOS based image sensor array
US11323650B2 (en) 2005-03-11 2022-05-03 Hand Held Products, Inc. Image reader comprising CMOS based image sensor array
US8146820B2 (en) 2005-03-11 2012-04-03 Hand Held Products, Inc. Image reader having image sensor array
US11323649B2 (en) 2005-03-11 2022-05-03 Hand Held Products, Inc. Image reader comprising CMOS based image sensor array
US10721429B2 (en) 2005-03-11 2020-07-21 Hand Held Products, Inc. Image reader comprising CMOS based image sensor array
US9058527B2 (en) 2005-06-03 2015-06-16 Hand Held Products, Inc. Apparatus having hybrid monochrome and color image sensor array
US11238252B2 (en) 2005-06-03 2022-02-01 Hand Held Products, Inc. Apparatus having hybrid monochrome and color image sensor array
US11238251B2 (en) 2005-06-03 2022-02-01 Hand Held Products, Inc. Apparatus having hybrid monochrome and color image sensor array
US9438867B2 (en) 2005-06-03 2016-09-06 Hand Held Products, Inc. Digital picture taking optical reader having hybrid monochrome and color image sensor array
US11625550B2 (en) 2005-06-03 2023-04-11 Hand Held Products, Inc. Apparatus having hybrid monochrome and color image sensor array
US10691907B2 (en) 2005-06-03 2020-06-23 Hand Held Products, Inc. Apparatus having hybrid monochrome and color image sensor array
US11604933B2 (en) 2005-06-03 2023-03-14 Hand Held Products, Inc. Apparatus having hybrid monochrome and color image sensor array
US8720784B2 (en) 2005-06-03 2014-05-13 Hand Held Products, Inc. Digital picture taking optical reader having hybrid monochrome and color image sensor array
US9092654B2 (en) 2005-06-03 2015-07-28 Hand Held Products, Inc. Digital picture taking optical reader having hybrid monochrome and color image sensor array
US8720785B2 (en) 2005-06-03 2014-05-13 Hand Held Products, Inc. Apparatus having hybrid monochrome and color image sensor array
US10002272B2 (en) 2005-06-03 2018-06-19 Hand Held Products, Inc. Apparatus having hybrid monochrome and color image sensor array
US9454686B2 (en) 2005-06-03 2016-09-27 Hand Held Products, Inc. Apparatus having hybrid monochrome and color image sensor array
US10949634B2 (en) 2005-06-03 2021-03-16 Hand Held Products, Inc. Apparatus having hybrid monochrome and color image sensor array
US20110290878A1 (en) * 2010-06-01 2011-12-01 Fujian Newland Computer Co., Ltd. Matrix-type two-dimensional barcode decoding chip and decoding method thereof
US8550351B2 (en) * 2010-06-01 2013-10-08 Fujian Newland Computer Co., Ltd. Matrix type two-dimensional barcode decoding chip and decoding method thereof
US8686864B2 (en) 2011-01-18 2014-04-01 Marwan Hannon Apparatus, system, and method for detecting the presence of an intoxicated driver and controlling the operation of a vehicle
US9854433B2 (en) 2011-01-18 2017-12-26 Driving Management Systems, Inc. Apparatus, system, and method for detecting the presence and controlling the operation of mobile devices within a vehicle
US9758039B2 (en) 2011-01-18 2017-09-12 Driving Management Systems, Inc. Apparatus, system, and method for detecting the presence of an intoxicated driver and controlling the operation of a vehicle
US9379805B2 (en) 2011-01-18 2016-06-28 Driving Management Systems, Inc. Apparatus, system, and method for detecting the presence and controlling the operation of mobile devices within a vehicle
US9369196B2 (en) 2011-01-18 2016-06-14 Driving Management Systems, Inc. Apparatus, system, and method for detecting the presence and controlling the operation of mobile devices within a vehicle
US9280145B2 (en) 2011-01-18 2016-03-08 Driving Management Systems, Inc. Apparatus, system, and method for detecting the presence of an intoxicated driver and controlling the operation of a vehicle
US8718536B2 (en) 2011-01-18 2014-05-06 Marwan Hannon Apparatus, system, and method for detecting the presence and controlling the operation of mobile devices within a vehicle
US9407840B2 (en) 2011-11-04 2016-08-02 Honeywell International, Inc. Imaging apparatus comprising image sensor array having shared global shutter circuitry
US9066032B2 (en) 2011-11-04 2015-06-23 Honeywell International Inc. Imaging apparatus comprising image sensor array having shared global shutter circuitry
US8629926B2 (en) 2011-11-04 2014-01-14 Honeywell International, Inc. Imaging apparatus comprising image sensor array having shared global shutter circuitry
US10547736B2 (en) 2015-07-14 2020-01-28 Driving Management Systems, Inc. Detecting the location of a phone using RF wireless and ultrasonic signals
US10205819B2 (en) 2015-07-14 2019-02-12 Driving Management Systems, Inc. Detecting the location of a phone using RF wireless and ultrasonic signals

Also Published As

Publication number Publication date
US9152835B2 (en) 2015-10-06
US7086596B2 (en) 2006-08-08
US20060255144A1 (en) 2006-11-16
US20100187310A1 (en) 2010-07-29
US7690572B2 (en) 2010-04-06
US8622303B2 (en) 2014-01-07
US20040134989A1 (en) 2004-07-15
US20120000981A1 (en) 2012-01-05
US20140103115A1 (en) 2014-04-17

Similar Documents

Publication Publication Date Title
US9152835B2 (en) Decoding utilizing image data
US20030222144A1 (en) Manufacturing methods for a decoder board for an optical reader utilizing a plurality of imaging formats
US8596542B2 (en) Apparatus operative for capture of image data
US8074887B2 (en) Optical reader having a plurality of imaging modules
US7219843B2 (en) Optical reader having a plurality of imaging modules
EP1714232B1 (en) Adaptive optical image reader
US7918397B2 (en) Indicia reading system
US8104686B2 (en) Apparatus comprising image sensor
US6325288B1 (en) Self-contained scanning and verifying apparatus with movably mounted scanning unit
US8038054B2 (en) Method of using an indicia reader
US7382911B1 (en) Identification card reader
US20030168512A1 (en) Optical reader having position responsive decode launch circuit
US9922180B2 (en) Barcode reader and barcode reading system having an age verification capability
US20110259963A1 (en) Indicia reader with a speaker for audible error feedback
WO2003102858A1 (en) Decoder for an optical reader utilizing a plurality of imaging formats
CN109308430B (en) Decoding color bar codes
US20160275284A1 (en) Barcode reader and barcode reading system having an age verification capability
JPH0793458A (en) Symbol reader
JP4401107B2 (en) Bar code reader

Legal Events

Date Code Title Description
ZAAA Notice of allowance and fees due

Free format text: ORIGINAL CODE: NOA

ZAAB Notice of allowance mailed

Free format text: ORIGINAL CODE: MN/=.

ZAAA Notice of allowance and fees due

Free format text: ORIGINAL CODE: NOA

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20230913