US6343740B1 - Oblique access to image data for reading apparatus - Google Patents

Oblique access to image data for reading apparatus Download PDF

Info

Publication number
US6343740B1
US6343740B1 US08/982,188 US98218897A US6343740B1 US 6343740 B1 US6343740 B1 US 6343740B1 US 98218897 A US98218897 A US 98218897A US 6343740 B1 US6343740 B1 US 6343740B1
Authority
US
United States
Prior art keywords
image
image data
dataform
bar code
sensor cells
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
US08/982,188
Inventor
Paul P. Ju
Ynjiun P. Wang
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.)
Symbol Technologies LLC
Original Assignee
Paul P. Ju
Ynjiun P. Wang
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
Priority to US08/982,188 priority Critical patent/US6343740B1/en
Application filed by Paul P. Ju, Ynjiun P. Wang filed Critical Paul P. Ju
Assigned to BANK OF NEW YORK, THE reassignment BANK OF NEW YORK, THE SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: TELXON CORPORATION
Assigned to BANK OF NEW YORK, THE reassignment BANK OF NEW YORK, THE SECURITY AGREEMENT Assignors: META HOLDINGS CORPORATION
Assigned to META HOLDING CORPORATION reassignment META HOLDING CORPORATION RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: BANK OF NEW YORK, AS AGENT, THE
Assigned to FOOTHILL CAPITAL CORPORATION, AS AGENT reassignment FOOTHILL CAPITAL CORPORATION, AS AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: META HOLDING CORPORATION
Assigned to META HOLDING CORPORATION reassignment META HOLDING CORPORATION RELEASE OF SECURITY INTEREST Assignors: BANK ONE, NA
Assigned to TELXON CORPORATION reassignment TELXON CORPORATION RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: THE BANK OF NEW YORK, AS AGENT
Priority to US09/974,674 priority patent/US20020017565A1/en
Publication of US6343740B1 publication Critical patent/US6343740B1/en
Application granted granted Critical
Assigned to SYMBOL TECHNOLOGIES, INC. reassignment SYMBOL TECHNOLOGIES, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: TELXON CORPORATION
Assigned to JPMORGAN CHASE BANK, N.A. reassignment JPMORGAN CHASE BANK, N.A. SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SYMBOL TECHNOLOGIES, INC.
Assigned to META HOLDING CORPORATION reassignment META HOLDING CORPORATION RELEASE OF SECURITY INTEREST Assignors: FOOTHILL CAPITAL CORPORATION
Assigned to SYMBOL TECHNOLOGIES, INC. reassignment SYMBOL TECHNOLOGIES, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: JPMORGANCHASE BANK, N.A.
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/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
    • G06K7/1456Methods for optical code recognition including a method step for retrieval of the optical code determining the orientation of the optical code with respect to the reader and correcting therefore
    • 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/10712Fixed beam scanning
    • G06K7/10722Photodetector array or CCD scanning
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/005Arrangements for writing information into, or reading information out from, a digital store with combined beam-and individual cell access
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection

Definitions

  • This invention relates to image sensor array systems for reading dataforms and, more specifically, to systems enabling oblique access to image data for efficient reading and decoding of obliquely oriented dataform images.
  • Images are commonly sensed in two-dimensional arrays of sensor cells utilizing photodiodes.
  • image data developed by conversion of incident radiation to charge or potential temporarily stored in individual sensor cells, for example
  • the entire array of sensors is typically scanned on a sequential line-by-line basis under the control of shift registers or other control circuitry.
  • the automated reading of bar codes and matrix codes provides one example of an operative need for access to image data for only a portion of an image.
  • An automated system may scan an image area which includes a two-dimensional bar code, for example.
  • the location of the bar code within the image area can then be determined as described in U.S. Pat. No. 5,304,787, entitled “LOCATING 2-D BAR CODES”, issued Apr. 19, 1994, the content of which is hereby incorporated by reference.
  • With information as to the actual location of the bar code within the image area it is then desirable to be able to access the limited area bar code image data without the necessity of reading out image data for the entire image area.
  • a bar code obliquely oriented in an image area would typically be read out on a horizontal line by line basis.
  • horizontal line (or vertical line) readout applied to lines of bar code elements which are obliquely oriented provides less than optimum readout efficiency.
  • Objects of the present invention are, therefore, to provide new and improved image sensor array systems, and such systems enabling access on an oblique line basis to more selected portions of image data sensed by an image sensor array.
  • An additional object is to enable reading of an obliquely oriented bar code along oblique lines transverse to individual bar elements of the bar code.
  • an oblique access system enabling access to dataform image data via an oblique line component of an image portion containing an image of the dataform, includes a two-dimensional array of image sensor cells positioned in rows and columns and arranged to provide image data representative of an image area including the image portion containing the dataform image.
  • An address unit is arranged to provide address signals effective to identify a stepped pixel pattern of sensor cells representative of the oblique line component, the oblique line component being positioned obliquely to the rows and columns of the array.
  • the address signals are provided in a form usable to access image data originating from sensor cells comprising the stepped pixel pattern.
  • a data access arrangement responsive to the address signals is arranged to make available for further use output signals representative of image data originating from sensor cells comprising the stepped pixel pattern.
  • the output signals are representative of the oblique line component of the selected portion containing the dataform image.
  • the oblique access system as described thus provides the output signals as a one-dimensional sequence of image data values without related information to identify the two-dimensional oblique orientation of the oblique line component.
  • the output signals effectively represent the oblique line component after rotation to a row or column alignment not oblique to the rows and columns of the array of image sensor cells.
  • An oblique access method for accessing image data representative of a dataform includes the steps of:
  • FIG. 1 illustrates a form of addressable access image sensor array system in accordance with the invention.
  • FIG. 2 is a representation of bar code and matrix code images within a larger image area, which is useful in describing operation of the FIG. 1 system.
  • FIG. 3 illustrates a first alternative embodiment of the invention.
  • FIG. 4 illustrates a second alternative embodiment of the invention.
  • FIGS. 5A and 5B are graphical representations of coordinates and sequential numerical addresses of pixels of a two-dimensional array.
  • FIG. 6 illustrates a stepped pixel pattern representative of an oblique line component implemented in accordance with the invention.
  • FIG. 7 is a flow chart useful in describing operation of an embodiment of an address unit provided in accordance with the invention.
  • FIG. 8 is a graphic representation of a selected image area portion, which may contain a bar code, with corner location coordinates and traversed by a plurality of oblique line components pursuant to the invention.
  • FIG. 9 is a flow chart useful in describing the determination of the number of oblique line components appropriate for the image area portion of FIG. 8 .
  • FIG. 10 illustrates a circuit usable to convert an analog image data signal to a square wave signal.
  • system 10 includes a coupling device, shown as location signal source 12 , arranged to make available at coupling port 14 location signals representative of a selected portion of an image area.
  • location signals may represent the location of a two-dimensional bar code 13 within a larger image area 15 .
  • the coupling device may be represented by location signal source 12 in the form of a system for bar code location, or merely by coupling port 14 to a device for making available signals provided from a source such as a bar code location system.
  • the location signals can be provided in any appropriate form, e.g., signals representative of X and Y coordinates of the upper left corner and lower right corner of bar code 13 within area 15 .
  • the FIG. 1 system also includes a two-dimensional array of image sensor cells, shown as array 16 , arranged to sense image data representative of an image area, such as image area 15 including bar code image 13 .
  • array 16 typically comprises a two-dimensional arrangement of individual photodiodes 18 which are electrically isolated and, when exposed to light or other radiation representative of a selected image, are effective to sense and make available image data in the form of varying levels of electronic charge or potential on a cell-by-cell (pixel-by-pixel) basis, or other suitable arrangement.
  • An address unit 20 is arranged to provide address signals representative of the location of the selected portion (e.g., bar code image 13 ) within the image area 15 .
  • address unit 20 is coupled to input port 14 and is responsive to the location signals from unit 12 , as shown.
  • location signals e.g., X and Y coordinates of corner locations
  • address unit 20 is configured to provide address signals for array cells which are expected to provide storage of image data representative of the bar code image, in this example.
  • the particular configuration of unit 20 can be determined by skilled persons using available technology, in view of the particular form of the location information to be utilized, etc. Operation of address unit 20 will be described in greater detail with reference to the FIG. 4 embodiment of the invention. In particular embodiments, it may be desirable to provide address signals corresponding to a somewhat larger image portion than specifically indicated by the location signals, so as to ensure that the entire bar code image area is included.
  • the FIG. 1 system further includes horizontal and vertical readout circuits 22 and 24 , respectively, coupled to address unit 20 and responsive to the address signals.
  • Horizontal readout circuit 22 is arranged to selectively designate a column of cells of array 16 (e.g., the column most closely corresponding to the left hand edge of bar code image 13 ).
  • Vertical readout circuit 24 is arranged to selectively designate a row of cells of the array 16 (e.g., the row most closely corresponding to the upper edge of bar code image 13 ).
  • sampling devices 26 - 32 are each arranged to access, sample and temporarily hold image data (e.g., as represented by a sensor cell charge) existing at the cell at the intersection of a selected row and a selected column, as designated by the address signals from address unit 20 .
  • image data e.g., as represented by a sensor cell charge
  • Readout circuits 22 and 24 may be shift register type circuits arranged for sequential designation of one or more selected rows and columns using available techniques.
  • An output device shown as output port 34 , is arranged to provide output signals representative of the accessed image data (e.g., bar code image portion 13 ).
  • the output circuit includes an amplifier 36 connected to a common readout line 38 which is arranged to receive image data signals from each of the sampling devices 26 - 32 .
  • the system is arranged so that as a selected row and a selected column are designated by readout circuits 24 and 22 , the image data available in the cell at the intersection of such row and column is used as the basis for output signals provided at output port 34 .
  • any other cell in the array may be selected on a random or other predetermined basis to have its image data read out next. By repetition, image data for any desired area of the image area can be read out and stored for further processing without requiring the time and memory which would be needed if data for the entire image were read out.
  • location signal source 12 is connected, via coupling port 14 , to cell selection unit 40 which is arranged for designating at least one cell within a selected portion of an image area for which image data is available from image sensor cell array 16 , as described above.
  • address unit 20 in cooperation with horizontal and vertical readout circuits 22 and 24 are arranged to selectively designate rows and columns of cells in order to access selected cells.
  • cell selection unit 40 is included to provide a cell designation function and may be implemented as in FIG. 1 or in other appropriate manner by skilled persons once having an understanding of the invention.
  • Unit 3 further includes data output unit 42 arranged for providing a signal representative of the image data provided by a portion of the selected cells of array 16 .
  • Unit 42 may be implemented by skilled persons in the form of devices such as 26 - 32 , 36 and 38 as described, or in other appropriate form in order to provide operation in accordance with the invention. As shown, unit 42 may be arranged to provide the desired image data at output terminal 34 or in other suitable manner.
  • area selection is not limited to horizontally oriented rectangular areas as represented by bar code image 13 in FIG. 2, for example.
  • the image area 15 illustrated in FIG. 2 also includes a matrix code image 39 , shown tilted.
  • image data representative of the tilted square portion of the image area can be selected and read out by the system.
  • image portions such as circles, triangles, strips, irregular shapes, etc., can be selected (e.g., substantially any area), as well as lines and individual cells or pixels.
  • a trade-off between system complexity and performance may be appropriate.
  • selecting only the portion of image area 15 actually occupied by bar code image 13 might represent time and memory savings of the order of 95 percent (i.e., if area 13 is equivalent to 5 percent of area 15 ).
  • the height of area 13 represents 20 percent of the height of area 15
  • 80 percent time and memory savings might be achievable by reading out each full row of the array which includes image data for the bar code, while not reading out the remaining rows.
  • a system for carrying out this “full line” mode addressable operation may include a horizontal readout circuit ( 24 ) responsive to the address signals to selectively designate a row of sensor cells and sampling devices ( 26 - 32 ) arranged to access data available at cells in the designated rows of cells.
  • This full line approach can be implemented along either axis to read out either horizontal or vertical lines of image data, without providing the capability of selection along the other axis.
  • the addressable system can be configured to read out oblique lines as if they were horizontally or vertically oriented.
  • a selected image portion 39 which includes an oblique line component (e.g., the upper edge), may be included in an image area 15 available in an array of sensor cells positioned in rows and columns.
  • the address unit is arranged to provide address signals representative of the location within the image area 15 of the oblique line representing the top edge of selected portion 39 .
  • the readout circuit arrangement is responsive to the address signals to selectively designate a series of sensor cells at row and column intersections representative of the location of the oblique line component (e.g., an obliquely aligned line of cells).
  • the sampling devices ( 26 - 32 ) access image data available at cells in said series of cells.
  • the output device ( 34 ) then provides output signals from the series of cells (e.g., oblique line of cells) to provide output signals representative of the oblique top edge of image portion 39 rotated to an alignment not oblique to the rows and columns of the cells of array 16 .
  • This “rotation” can be accomplished inherently by reading out the image data from the obliquely aligned line of cells without providing any accompanying information as to the angular orientation (i.e., just reading out the image data sequentially and treating the data as representative of a horizontal line, for example). By repetitive action, data for additional oblique line portions can be read out to provide complete image data for image portion 39 .
  • location signals can be provided to coupling port 14 in a variety of formats. Such data can be provided by serial, parallel or combined formats or protocols. As noted, location signals can also call for a total image sequential readout in a traditional manner. Using random access logic, a user can call out varying levels of cell, line or area specificity. For example, if it is desired to read out all image data from lines 100 to line 150 of an array, the user can call for a readout beginning at line 100 and continuing on a line-by-line basis to line 150 . Alternatively, the address line capabilities can be expanded to provide wider bus width to enable access to one particular sensor cell by control of readout circuits 22 and 24 , rather than merely providing information at a line designation level.
  • a 7-bit wide address bus will enable random access of any line
  • a 14-bit wide address bus will enable random access to each single cell
  • widths between 7 and 14 bits will enable access at levels between a cell and a line.
  • a 6-bit bus will permit access to any 2 adjacent lines
  • a 5-bit line will enable access to any 4 adjacent lines, etc.
  • the desired output is typically a one-dimensional sequence of data merely representing the widths and spacings of all the bar elements of the bar code in a one-dimensional stream. This is true for both one and two-dimensional bar codes, for example.
  • a dataform may commonly be obliquely oriented as shown in FIG. 2 in which box 39 represents a selected image area portion containing a data code or other dataform.
  • box 39 represents a selected image area portion containing a data code or other dataform.
  • the technique of reading out image data from horizontal lines of sensor cells does not achieve best operative efficiency.
  • the first or top line readout may include only one pixel of relevant image data from a single sensor element at the upper corner of box 39 .
  • oblique access for readout of image data representative of bar codes and other dataforms.
  • image data will be read out from oblique lines of sensor cells extending nominally perpendicularly to the bars of a bar code image in box 39 .
  • the oblique line components chosen for a particular image may be laterally spaced from each other, diminishing the total amount of image data required.
  • the image data as read out may represent directly decodable bar code data, almost as if the bar code elements had been vertically aligned and image data simply read out along horizontal lines.
  • oblique line readout appropriate for readout of bar code data and other applications is described at length above in prior portions of this description with reference to FIG. 1 and tilted image area 39 of FIG. 2 .
  • Such operation as described above specifically refers to the providing of output signals from a series of sensor cells (e.g., oblique line of cells) to provide output signals representative of the oblique top edge of image portion 39 rotated to an alignment not oblique to the rows and columns of the cells of array 16 .
  • this “rotation” can be accomplished by reading out the image data from the obliquely aligned line of cells without providing any accompanying information as to the angular orientation of the line.
  • image data for an oblique line transverse to the bars of an obliquely positioned bar code is read out via sampling devices 26 - 32 and output amplifier 36 sequentially, as if representative of image data from a horizontal line of sensor cells.
  • the output bar code image data has substantially the same form as if non-oblique bar code image data was obtained by prior art readout of horizontal lines of sensor cells (e.g., directly as a one-dimensional sequence of image data representative of the width and spacing of dataform elements).
  • This result is contrasted to the prior art type representation of an obliquely oriented bar code by horizontal (or vertical) scan line portions, requiring reconstruction and analysis of the oblique bar code image to enable decoding.
  • FIG. 4 illustrates an embodiment of the FIG. 1 system more particularly configured for use in reading bar codes, matrix codes and other forms of dataforms.
  • a dataform is defined as a pattern of higher and lower reflectivity elements presented in an optically readable format, such as a bar code readable by reflected light.
  • a memory unit illustrated as frame store 44 , is provided for storing all (or one or more portions) of a complete frame of image data derived by reading and storing image data from image sensor cells of array 16 .
  • frame store 44 has been added between array 16 and address unit 20 of FIG. 1 .
  • location signal source 12 of FIG. 1 is represented in FIG.
  • Such software may include (a) programs suitable for locating bar codes, (b) run line programs for identifying start and stop points of an oblique line component, the start point and inclination angle or slope of an oblique line component, or combinations of points and slopes and (c) one or more programs for decoding bar codes or other types of dataforms from image data representative thereof.
  • Bar code location systems and methods as discussed with reference to U.S. Pat. No. 5,304,787 can thus be arranged to provide location signals for the four corners of a bar code located within an image stored in frame store 44 (e.g., the four corners of box 39 of FIG. 1 ), together with information as to the actual orientation of the bar code within its bounding box.
  • frame store 44 e.g., the four corners of box 39 of FIG. 1
  • location signal source 12 e.g., the configuration of the oblique access image sensor array system is considered basically independently from the implementation and operation of the location signal source 12 . That is to say, for example, in a possible configuration such as a high-speed conveyorized system for reading bar codes on packages, unit 12 of FIG. 1 could take the form of an independent bar code locating system having its own sensor array and frame store.
  • FIG. 4 illustrates an integrated system in which a single sensor array provides image signals usable by a bar code locator, as well as for oblique access functions of the system, as will be further described.
  • CPU 12 a is arranged to provide signals identifying oblique line components along which image sensor cells are to be read.
  • these signals may comprise data identifying the start and stop points of oblique lines, the slope of such oblique lines, or combinations of such points and slopes.
  • “oblique” lines are defined as lines positioned obliquely to the rows and columns of sensor elements of an array.
  • Address unit 20 is responsive to such data from CPU 12 a to generate address signals sequentially addressing each pixel or sensor cell position defining the oblique line component as identified by CPU 12 a . As will be described further with reference to FIG. 6, such address signals are effective to identify a stepped pixel pattern of sensor cells representative of the oblique line component.
  • This capability of using stepped pixel patterns enables image data to be read out along oblique line components selected to extend along rows of elements of a dataform traversing the elements in a direction substantially perpendicular to the elements.
  • operative efficiencies include the ability to laterally space oblique sampling lines by a spacing greater than the pixel to pixel pitch transverse to such sampling lines, so that not all pixels need be read to enable dataform decoding.
  • the need for prior types of two-dimensional dataform image reconstruction, stitching of broken lines of elements, etc. can be avoided or significantly reduced.
  • the address signals from address unit 20 may be utilized in two different manners in the FIG. 4 system.
  • the address signals may have the form of memory address signals usable to access stored image data originating from sensor cells comprising a stepped pixel pattern.
  • Such signals are coupled from unit 20 to frame store 44 in order to sequentially address the memory location of the stored image data originating from sensor cells representing each pixel of the stepped pixel pattern for the desired oblique line component of the stored image.
  • the image data from the selected memory locations is then provided to CPU 12 a for further processing, which may include decoding of the bar code or preparation of bar code data for transmission to another location for decoding.
  • address signals may have the form of array address signals usable to identify row and column locations of sensor cells comprising the stepped pixel pattern.
  • Such signals are coupled directly to the horizontal and vertical readout registers 22 and 24 of array 16 , for example, for pixel by pixel readout of image data for a stepped pixel pattern representing the desired oblique line component of an image captured by the sensor cells of array 16 .
  • the image data from the addressed sensor cell along a stepped pixel pattern is coupled, via output port 34 , to CPU 12 a for processing.
  • an analog signal output representative of the illumination incident on each selected sensor element is thus provided so that in this case values of the illumination incident along the length of the oblique line component of the image is provided to the CPU.
  • operation of the FIG. 4 system is as follows. Start and stop points of an oblique line component of an image portion segment are initially provided based upon data from a bar code locator or other source. It should be noted that while the system will operate equally as well for lines which are not oblique (i.e., horizontal or vertical lines which coincide with rows or columns of sensor cells in an array) the invention is particularly advantageous in its capabilities of addressing oblique line segments and is described in that context.
  • the address unit 20 has the form of a hardware state machine configured using known techniques so as to automatically generate address signals for pixel positions along an oblique line component of stored image data when provided with appropriate line identification data or values.
  • a state machine may comprise a semiconductor device configured to carry out the function of outputting the memory addresses or array addresses of image data for a complete pixel pattern in response to location signals representative of end point coordinates and slope of an oblique line component, for example.
  • the choice was made in this embodiment not to send to the address unit 20 cartesian coordinates, in view of what was considered in this case as the unnecessary involvement of cumbersome mathematical relationships in deriving pixel addresses from such coordinates.
  • n [X 2 ⁇ X 1 ⁇ 1]
  • Incr 1 2(Y 2 ⁇ Y 1 )
  • Incr Y +Total No. of columns, if Y 2 ⁇ Y 1 or ⁇ Total No. of columns, if Y 2 >Y 1
  • the address unit processes these eight values through the state machine to generate a sequence of pixel address signals as graphically shown in FIGS. 5A and 5B.
  • the address signals can represent Cartesian coordinates as shown in FIG. 5A, which is the most typical for the case of the address unit directly accessing the two dimensional sensor array using dashed connection 46 of FIG. 4 .
  • the address signals can represent sequential numerical addresses as shown in FIG. 5 B. This format is most useful in the embodiment where the address unit is coupled to a memory as shown by the solid connection between units 20 and 44 in FIG. 4 .
  • the state machine operates in known manner by conceptually first addressing the X 1 , Y 1 , coordinates and then without any further input from the CPU, sequentially addressing each X coordinate and the appropriate Y coordinate (based on the line slope) until it addresses X 2 , Y 2 where it stops.
  • FIG. 6 graphically shows both an example of a stepped pixel pattern for a sample oblique line component and the order in which pixels are addressed for that oblique line component.
  • FIG. 7 is a flow chart representation of operation of the state machine.
  • the variable n is a counter that counts the number of cycles necessary to address each pixel on the line. When the counter reaches zero at step 50 all pixels have been addressed and the state machine stops. If n ⁇ 0 then, at step 52 , X is incremented to the next sequential X value.
  • the variable d is a slope counter. With each increment of the value X 1 the state machine determines whether the value of Y must also be incremented or stay the same. If the pixels were of infinite resolution, Y would be incremented with each X increment in proportion to the slope of the line. However, as shown in FIG. 6, without infinite resolution, the Y value will not be incremented with each X increment.
  • this state machine does not produce a line in which the Y value is incremented more than once without incrementing the X value. Therefore, in the case where the line has a slope greater than 45 degrees, the X and Y coordinates are simply reversed for processing. If d is less than zero at step 54 , the Y value is not incremented, but d is updated for the next cycle at step 56 . If d is not less than zero, then Y is incremented at step 58 and d is updated for the next cycle at step 60 . After incrementing X and, if appropriate, incrementing Y, the address is X+Y which is sent to the sensor array 16 at step 62 . At step 64 the cycle counter n is updated.
  • the four corner locations of a dataform in the image area may be determined.
  • a representation of four such corner locations is provided in FIG. 8 .
  • the area may not be rectangular.
  • the CPU using its run line programming as previously referred to identifies a plurality of laterally spaced oblique line components. These oblique line components are shown as the plurality of laterally spaced lines within the four corner locations in FIG. 8, however, each will typically not be a “line” per se, but will be an oblique line component of the image as represented by the 18 numbered pixel positions of FIG.
  • the resulting oblique line components need not be parallel to each other, but most generally will be oblique to the rows and columns of sensor cells.
  • the stepped pixel patterns (one of which is shown in FIG. 6) will typically be successively laterally spaced: (a) far enough from each other (resulting from the spaced positions of the oblique line components in FIG. 8) so that there will be intermediate pixel locations not included in adjacent stepped pixel patterns; and (b) close enough to each other so that each element of said dataform will be traversed by at least one stepped pixel pattern as discussed with reference to FIG. 8 .
  • the address unit may be arranged to provide address signals to identify stepped pixel patterns for a complete set of parallel oblique line components in response to a single slope or slope/end point input from the CPU.
  • FIG. 9 is a flow chart that briefly illustrates the operation of the run line programming for stop points for a plurality of lines within the area of interest as shown in FIG. 8 .
  • the run line program is used to determine the quantity of lines necessary. This determination can be based on an estimate of the resolution of the dataform utilizing data obtained while locating the bar code.
  • the FIG. 8 example shows 16 scan lines.
  • the system calculates four skip factors as follows:
  • each start point (Xsi, Ysi) and each end point (Xei, Yei) as per the following formulas:
  • the eight parameters needed by the state machine to read out the pixels forming the oblique line component are then calculated at 76.
  • the output signal of the sensor array is an analog voltage signal sequentially representative of the intensity of illumination incident on each addressed pixel.
  • the circuit of FIG. 10 can be used to convert the signal to a square wave formed by dynamically thresholding the signal, thereby determining whether the pixel represents binary black or white.
  • an analog signal input at 80 has direct and low pass filter 82 versions compared in comparator 84 to provide a binary square wave signal at 86 .
  • the square wave is then input to a counter which outputs count values proportionate to the length of each peak and trough of the square wave.
  • the count values which are representative of element width and spacing, are returned to the CPU for decoding of the bar code.
  • each memory address will typically contain an 8-bit value representative of the level of illumination incident on the pixel corresponding to the address.
  • each 8-bit value can be converted to an analog signal by a D/A converter to reproduce an analog wave equivalent to the analog wave of the first embodiment. This reproduced wave can then be input into the FIG. 10 circuit to provide a square wave usable as described for decoding of the bar code.
  • a method of oblique access to image data for an oblique line component of an image portion containing an image of a dataform includes the following steps:
  • steps (b) and (c) are repeated for additional stepped pixel patterns representative of additional oblique line components such as shown in FIG. 8 .
  • steps (b) and (c) are laterally spaced as shown in FIG. 8 by a spacing greater than the pixel to pixel pitch in a direction transverse to the oblique line components.
  • Step (a) may also include storing pixel values in memory for access in step (c).
  • step (b) address signals are desirably provided to identify a stepped pixel pattern representative of a first oblique line component which is positioned so as to traverse a plurality of elements comprising all or at least a major portion of a row of elements of said dataform.
  • the oblique line component may thus be positioned perpendicular to the height of bar elements of a bar code so that the image data representative of such oblique line component includes bar element width and spacing information for a full line of bar code elements. Even if such perpendicular alignment is not achieved, significant improvement can be provided in readout and processing of image data to enable dataform decoding.
  • oblique access to image data in accordance with the invention may utilize array address signals for random access directly to image data developed in an array of sensor cells, or may utilize memory address signals for random access to image data originating in such array which has been read out and stored in a memory device, such as a frame store.
  • a memory device such as a frame store.
  • an address unit effective to provide such address signals can be implemented as a software unit supported by the CPU or in a hardware context as a state machine unit to provide the address signals as described.
  • any of the four thus described configuration combinations can be arranged to provide output signals in the form of either a grayscale pixel value wave or a binary square wave.
  • a grayscale pixel value wave is provided and, if desired, can be converted to a binary square wave by use of the FIG. 10 dynamic thresholding circuit.
  • a digital signal from the memory can be converted to a grayscale pixel value wave by use of a digital to analog converter and, if desired, further converted to a binary square wave by use of the FIG. 10 dynamic thresholding circuit or other suitable device.

Abstract

An image sensor array system is arranged to enable oblique access for readout of image data from a stepped pixel pattern of sensor cells. The stepped pixel pattern represents an oblique line component of an image portion containing a 2-D bar code or other dataform. An obliquely aligned bar code image can thus be read out along oblique lines which follow rows of bar code elements traversing the elements. The sensor array (16) is accessed by horizontal and vertical readout circuits (22 and 24) under the control of address signals from an address unit (20). Location signals, from a source (12), indicative of a selected image portion (39) may be used by the address unit (20) to provide address signals representative of the stepped pixel pattern for a particular oblique line component. Under the control of the address signals, image data from cells at the intersection of array lines and columns are sampled by sampling devices (26-32) and provided as output signals representative of the selected oblique line component. The output signals are then usable for decoding the bar code or other dataform.

Description

This is a continuation of application Ser. No. 08/438,889, filed May 10, 1995 now U.S. Pat. No. 5,736,724, which was a continuation-in-part of application Ser. No. 08/258,428, filed on Jun. 10, 1994 now abandoned.
This invention relates to image sensor array systems for reading dataforms and, more specifically, to systems enabling oblique access to image data for efficient reading and decoding of obliquely oriented dataform images.
BACKGROUND OF THE INVENTION
Images are commonly sensed in two-dimensional arrays of sensor cells utilizing photodiodes. In order to access image data (developed by conversion of incident radiation to charge or potential temporarily stored in individual sensor cells, for example) the entire array of sensors is typically scanned on a sequential line-by-line basis under the control of shift registers or other control circuitry.
While such arrangements may be suitable for sensing and reading out entire images, they are less efficient in accessing only a selected portion of an image. A disadvantage in speed of operation results from the need to read out an entire 1 to N lines of image data in order to provide access to selected image data which may exist at the Nth line. Thus, for example, for an image sensed by a 128×128 sensor array, access to a selected portion of image data, such as line 120, a particular pixel in line 120, or lines 120-128, will require that image data at lines 1-119 first be read out and discarded. While the actual time required to read out such 119 lines of unwanted image data may be of short duration, the total wasted time may be significant in repetitive operation of a high-speed system. Alternatively, acceptable operating time may be achievable, but may necessitate the higher cost of very high speed circuits (e.g., high capability integrated circuits).
The automated reading of bar codes and matrix codes provides one example of an operative need for access to image data for only a portion of an image. An automated system may scan an image area which includes a two-dimensional bar code, for example. The location of the bar code within the image area can then be determined as described in U.S. Pat. No. 5,304,787, entitled “LOCATING 2-D BAR CODES”, issued Apr. 19, 1994, the content of which is hereby incorporated by reference. With information as to the actual location of the bar code within the image area, it is then desirable to be able to access the limited area bar code image data without the necessity of reading out image data for the entire image area.
Even with information as to the location of a bar code, a bar code obliquely oriented in an image area would typically be read out on a horizontal line by line basis. As will be discussed, horizontal line (or vertical line) readout applied to lines of bar code elements which are obliquely oriented provides less than optimum readout efficiency.
Prior image sensing systems operating with line-by-line sequential readout of image data can be provided in a variety of embodiments. For example, an integrated circuit approach is described in international application number WO91/04633, published under the Patent Cooperation Treaty on Apr. 4, 1992, entitled “I.C. Sensor”. This publication illustrates an integrated arrangement of a sensor array and charge sampling devices enabling readout of image data for an entire image, but not randomly accessed portions of the image.
A number of image data readout variations, including arrangements employing random addressing and superpixel readout for readout of different image areas at different resolutions to achieve increased frame rates, are described in U.S. Pat. No. 5,262,871, entitled “MULTIPLE RESOLUTION IMAGE SENSOR”, issued Nov. 16, 1993. Also, U.S. Pat. No. 5,396,054, entitled “BAR CODE READER USING SCANNED MEMORY ARRAY”, issued Mar. 7, 1995, addresses scanning a memory to determine the position, size and shape of a stored bar code image in order to define the angular displacement of rows of bar code elements. However, these references do not disclose effective arrangements for implementing oblique access to image data or the provision of address signals for efficient reading of oblique line components of image data.
Objects of the present invention are, therefore, to provide new and improved image sensor array systems, and such systems enabling access on an oblique line basis to more selected portions of image data sensed by an image sensor array.
An additional object is to enable reading of an obliquely oriented bar code along oblique lines transverse to individual bar elements of the bar code.
SUMMARY OF THE INVENTION
In accordance with the invention, an oblique access system, enabling access to dataform image data via an oblique line component of an image portion containing an image of the dataform, includes a two-dimensional array of image sensor cells positioned in rows and columns and arranged to provide image data representative of an image area including the image portion containing the dataform image. An address unit is arranged to provide address signals effective to identify a stepped pixel pattern of sensor cells representative of the oblique line component, the oblique line component being positioned obliquely to the rows and columns of the array. The address signals are provided in a form usable to access image data originating from sensor cells comprising the stepped pixel pattern. A data access arrangement responsive to the address signals is arranged to make available for further use output signals representative of image data originating from sensor cells comprising the stepped pixel pattern. The output signals are representative of the oblique line component of the selected portion containing the dataform image.
The oblique access system as described thus provides the output signals as a one-dimensional sequence of image data values without related information to identify the two-dimensional oblique orientation of the oblique line component. As a result, the output signals effectively represent the oblique line component after rotation to a row or column alignment not oblique to the rows and columns of the array of image sensor cells.
An oblique access method for accessing image data representative of a dataform, includes the steps of:
(a) providing image data representative of rows and columns of pixels comprising an image area including an image portion containing an image of the dataform;
(b) providing address signals identifying a stepped pixel pattern representative of a first oblique line component of the image portion which is positioned obliquely to the rows and columns of pixels;
(c) utilizing the address signals to make available for further use output signals representative of image data for pixels included in the stepped pixel pattern and thereby representative of the first oblique line component of the selected image portion containing the dataform image; and
(d) utilizing the output signals to decode the dataform.
For a better understanding of the invention, together with other and further objects, reference is made to the accompanying drawings and the scope of the invention will be pointed out in the accompanying claims.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates a form of addressable access image sensor array system in accordance with the invention.
FIG. 2 is a representation of bar code and matrix code images within a larger image area, which is useful in describing operation of the FIG. 1 system.
FIG. 3 illustrates a first alternative embodiment of the invention.
FIG. 4 illustrates a second alternative embodiment of the invention.
FIGS. 5A and 5B are graphical representations of coordinates and sequential numerical addresses of pixels of a two-dimensional array.
FIG. 6 illustrates a stepped pixel pattern representative of an oblique line component implemented in accordance with the invention.
FIG. 7 is a flow chart useful in describing operation of an embodiment of an address unit provided in accordance with the invention.
FIG. 8 is a graphic representation of a selected image area portion, which may contain a bar code, with corner location coordinates and traversed by a plurality of oblique line components pursuant to the invention.
FIG. 9 is a flow chart useful in describing the determination of the number of oblique line components appropriate for the image area portion of FIG. 8.
FIG. 10 illustrates a circuit usable to convert an analog image data signal to a square wave signal.
DESCRIPTION OF THE INVENTION
An embodiment of an addressable access image sensor array system 10 is illustrated in FIG. 1. An oblique access system in accordance with the invention will be more particularly described with reference to FIG. 4. In FIG. 1, system 10 includes a coupling device, shown as location signal source 12, arranged to make available at coupling port 14 location signals representative of a selected portion of an image area. With reference to FIG. 2, in one example such location signals may represent the location of a two-dimensional bar code 13 within a larger image area 15. In different embodiments, the coupling device may be represented by location signal source 12 in the form of a system for bar code location, or merely by coupling port 14 to a device for making available signals provided from a source such as a bar code location system. The location signals can be provided in any appropriate form, e.g., signals representative of X and Y coordinates of the upper left corner and lower right corner of bar code 13 within area 15.
The FIG. 1 system also includes a two-dimensional array of image sensor cells, shown as array 16, arranged to sense image data representative of an image area, such as image area 15 including bar code image 13. Array 16 typically comprises a two-dimensional arrangement of individual photodiodes 18 which are electrically isolated and, when exposed to light or other radiation representative of a selected image, are effective to sense and make available image data in the form of varying levels of electronic charge or potential on a cell-by-cell (pixel-by-pixel) basis, or other suitable arrangement.
An address unit 20 is arranged to provide address signals representative of the location of the selected portion (e.g., bar code image 13) within the image area 15. In this embodiment, address unit 20 is coupled to input port 14 and is responsive to the location signals from unit 12, as shown. Thus, depending upon the particular form of the location signals (e.g., X and Y coordinates of corner locations), address unit 20 is configured to provide address signals for array cells which are expected to provide storage of image data representative of the bar code image, in this example. The particular configuration of unit 20 can be determined by skilled persons using available technology, in view of the particular form of the location information to be utilized, etc. Operation of address unit 20 will be described in greater detail with reference to the FIG. 4 embodiment of the invention. In particular embodiments, it may be desirable to provide address signals corresponding to a somewhat larger image portion than specifically indicated by the location signals, so as to ensure that the entire bar code image area is included.
The FIG. 1 system further includes horizontal and vertical readout circuits 22 and 24, respectively, coupled to address unit 20 and responsive to the address signals. Horizontal readout circuit 22 is arranged to selectively designate a column of cells of array 16 (e.g., the column most closely corresponding to the left hand edge of bar code image 13). Vertical readout circuit 24 is arranged to selectively designate a row of cells of the array 16 (e.g., the row most closely corresponding to the upper edge of bar code image 13).
Also included is a plurality of sampling devices, shown as sample and hold amplifiers 26-32. The sampling devices 26-32 are each arranged to access, sample and temporarily hold image data (e.g., as represented by a sensor cell charge) existing at the cell at the intersection of a selected row and a selected column, as designated by the address signals from address unit 20. Thus, by designating a row of cells corresponding to the top edge of bar code image 13 and sequentially designating columns of cells, image data representative of the uppermost part of bar code image 13 is accessed and read into the appropriate ones of sampling devices 26-32, in this example. Readout circuits 22 and 24 may be shift register type circuits arranged for sequential designation of one or more selected rows and columns using available techniques.
An output device, shown as output port 34, is arranged to provide output signals representative of the accessed image data (e.g., bar code image portion 13). As illustrated, the output circuit includes an amplifier 36 connected to a common readout line 38 which is arranged to receive image data signals from each of the sampling devices 26-32. The system is arranged so that as a selected row and a selected column are designated by readout circuits 24 and 22, the image data available in the cell at the intersection of such row and column is used as the basis for output signals provided at output port 34. In addition, after image data at one such cell is read out, any other cell in the array may be selected on a random or other predetermined basis to have its image data read out next. By repetition, image data for any desired area of the image area can be read out and stored for further processing without requiring the time and memory which would be needed if data for the entire image were read out.
Referring now to FIG. 3, there is illustrated a more general implementation of an addressable access image sensor array system in accordance with the invention. In FIG. 3, location signal source 12 is connected, via coupling port 14, to cell selection unit 40 which is arranged for designating at least one cell within a selected portion of an image area for which image data is available from image sensor cell array 16, as described above. In the FIG. 1 system, address unit 20 in cooperation with horizontal and vertical readout circuits 22 and 24 are arranged to selectively designate rows and columns of cells in order to access selected cells. In the FIG. 3 system, cell selection unit 40 is included to provide a cell designation function and may be implemented as in FIG. 1 or in other appropriate manner by skilled persons once having an understanding of the invention. The system of FIG. 3 further includes data output unit 42 arranged for providing a signal representative of the image data provided by a portion of the selected cells of array 16. Unit 42 may be implemented by skilled persons in the form of devices such as 26-32, 36 and 38 as described, or in other appropriate form in order to provide operation in accordance with the invention. As shown, unit 42 may be arranged to provide the desired image data at output terminal 34 or in other suitable manner.
In operation of the systems of FIGS. 1 and 3 a variety of modes of image data readout can be carried out, depending upon the particular location signals provided at input port 14. Thus, randomly addressable access enables selection of a portion of image data as small as that represented by a single cell or pixel of the image, as discussed above. Single cells at different image area locations, or small two-dimensional image areas (e.g., 6 by 6 cell areas) at different locations, can be selected on an image sampling basis in order to survey image content, before initiating readout of image data for a selected image portion. Alternatively, utilizing location signals representative of the corners of a bar code image portion of interest, all image data representative of the bar code can be read out, while ignoring other portions of the overall image area which are not of current interest. Also, if desired, location signals can be provided in a form calling for readout of the image data for the entire image area on a sequential cell-by-cell, line-by-line basis, as in prior systems. This flexibility of operation provides both adaptability to varying objectives, and time efficient readout of image data for selected image portions. In addition to time savings, where data is read out and stored in memory for processing (e.g., bar code decoding) the required memory capacity can be significantly reduced by storage only of the image data for the image portion of interest, rather than requiring the storage of image data for the entire image as in prior systems.
It should be noted that in operation of systems in accordance with the invention, with particular reference to the FIG. 1 system for purposes of example, area selection is not limited to horizontally oriented rectangular areas as represented by bar code image 13 in FIG. 2, for example. The image area 15 illustrated in FIG. 2 also includes a matrix code image 39, shown tilted. With the provision of location signals representative of portion 39 of the image area 15 and the cell-by-cell addressable access capabilities of the invention, image data representative of the tilted square portion of the image area can be selected and read out by the system. Correspondingly, image portions such as circles, triangles, strips, irregular shapes, etc., can be selected (e.g., substantially any area), as well as lines and individual cells or pixels.
In particular implementations of the invention a trade-off between system complexity and performance may be appropriate. Thus, for example, with reference to FIG. 2, selecting only the portion of image area 15 actually occupied by bar code image 13, might represent time and memory savings of the order of 95 percent (i.e., if area 13 is equivalent to 5 percent of area 15). However, if the height of area 13 represents 20 percent of the height of area 15, 80 percent time and memory savings might be achievable by reading out each full row of the array which includes image data for the bar code, while not reading out the remaining rows. Accordingly, a system for carrying out this “full line” mode addressable operation, may include a horizontal readout circuit (24) responsive to the address signals to selectively designate a row of sensor cells and sampling devices (26-32) arranged to access data available at cells in the designated rows of cells. This full line approach can be implemented along either axis to read out either horizontal or vertical lines of image data, without providing the capability of selection along the other axis.
With reference to a tilted image such as 39, within larger image area 15, the addressable system can be configured to read out oblique lines as if they were horizontally or vertically oriented. Thus, a selected image portion 39, which includes an oblique line component (e.g., the upper edge), may be included in an image area 15 available in an array of sensor cells positioned in rows and columns. The address unit is arranged to provide address signals representative of the location within the image area 15 of the oblique line representing the top edge of selected portion 39. The readout circuit arrangement is responsive to the address signals to selectively designate a series of sensor cells at row and column intersections representative of the location of the oblique line component (e.g., an obliquely aligned line of cells). The sampling devices (26-32) access image data available at cells in said series of cells. The output device (34) then provides output signals from the series of cells (e.g., oblique line of cells) to provide output signals representative of the oblique top edge of image portion 39 rotated to an alignment not oblique to the rows and columns of the cells of array 16. This “rotation” can be accomplished inherently by reading out the image data from the obliquely aligned line of cells without providing any accompanying information as to the angular orientation (i.e., just reading out the image data sequentially and treating the data as representative of a horizontal line, for example). By repetitive action, data for additional oblique line portions can be read out to provide complete image data for image portion 39.
In particular implementations of the invention, location signals can be provided to coupling port 14 in a variety of formats. Such data can be provided by serial, parallel or combined formats or protocols. As noted, location signals can also call for a total image sequential readout in a traditional manner. Using random access logic, a user can call out varying levels of cell, line or area specificity. For example, if it is desired to read out all image data from lines 100 to line 150 of an array, the user can call for a readout beginning at line 100 and continuing on a line-by-line basis to line 150. Alternatively, the address line capabilities can be expanded to provide wider bus width to enable access to one particular sensor cell by control of readout circuits 22 and 24, rather than merely providing information at a line designation level. For example, for a 128×128 sensor cell array, a 7-bit wide address bus will enable random access of any line, a 14-bit wide address bus will enable random access to each single cell, and widths between 7 and 14 bits will enable access at levels between a cell and a line. Below 7-bit width, a 6-bit bus will permit access to any 2 adjacent lines, a 5-bit line will enable access to any 4 adjacent lines, etc. It will thus be appreciated that where, in a particular application, access is desired to single cells or to particular portions of image data, location signal, address signal and address bus specifications can be chosen to permit address bus and other capabilities to be provided on the most cost effective basis.
FIG. 4 EMBODIMENT
In reading out image data from a sensor array (such as shown at 16 in FIG. 1) for further processing, it is commonly desirable to retain the two-dimensional values of the data. Thus, for example, if an image of a face is captured, it is desirable that image data be read out of an array in a manner retaining two-dimensional values effective to identify the location of each eye relative to the nose. In the prior art such two-dimensional values are typically retained by reading out image data from successive horizontal rows or vertical columns and keeping track of the order of the rows or columns to enable accurate reconstruction of the original image. Since each line is a horizontal or vertical image element, no angular information need be developed or retained.
In contrast, in reading many types of dataforms, such as bar codes, two-dimensional values per se are not important. The desired output is typically a one-dimensional sequence of data merely representing the widths and spacings of all the bar elements of the bar code in a one-dimensional stream. This is true for both one and two-dimensional bar codes, for example.
If a two-dimensional bar code is aligned in an image area with the bar elements aligned vertically, it is possible to develop decodable image data efficiently and effectively by reading out horizontal lines of image data. However, a dataform may commonly be obliquely oriented as shown in FIG. 2 in which box 39 represents a selected image area portion containing a data code or other dataform. For such an obliquely-positioned dataform the technique of reading out image data from horizontal lines of sensor cells, as in the prior art, does not achieve best operative efficiency. Thus, for example, consider a horizontal line readout of image data for matrix code 39 of FIG. 2. The first or top line readout may include only one pixel of relevant image data from a single sensor element at the upper corner of box 39. A horizontal line readout half way down, across the middle of box 39, would likely cut across more than one horizontal row of code elements. As a result, after the image data is read out the image of the matrix code must be actually or effectively reconstructed so that data for complete rows of code elements can be stitched together or otherwise processed to develop a one-dimensional sequence of element width data to permit decoding.
In accordance with the invention, more effective processing of image data is achieved by oblique access for readout of image data representative of bar codes and other dataforms. Thus, for example, with respect to the obliquely positioned dataform area 39 of FIG. 2, if a plurality of laterally spaced oblique line components are defined so as to lie along lines parallel to the top of area 39, image data will be read out from oblique lines of sensor cells extending nominally perpendicularly to the bars of a bar code image in box 39. This arrangement of oblique readout, with each oblique line component traversing all or at least a major portion of all of the individual bar code elements in a row of elements, enables much more efficient operation. In practice, the oblique line components chosen for a particular image may be laterally spaced from each other, diminishing the total amount of image data required. As a result, the image data as read out may represent directly decodable bar code data, almost as if the bar code elements had been vertically aligned and image data simply read out along horizontal lines.
The use of oblique line readout appropriate for readout of bar code data and other applications is described at length above in prior portions of this description with reference to FIG. 1 and tilted image area 39 of FIG. 2. Such operation as described above specifically refers to the providing of output signals from a series of sensor cells (e.g., oblique line of cells) to provide output signals representative of the oblique top edge of image portion 39 rotated to an alignment not oblique to the rows and columns of the cells of array 16. As there noted, this “rotation” can be accomplished by reading out the image data from the obliquely aligned line of cells without providing any accompanying information as to the angular orientation of the line. In this way, for example, image data for an oblique line transverse to the bars of an obliquely positioned bar code is read out via sampling devices 26-32 and output amplifier 36 sequentially, as if representative of image data from a horizontal line of sensor cells. The end result is thus that by this oblique line readout technique the output bar code image data has substantially the same form as if non-oblique bar code image data was obtained by prior art readout of horizontal lines of sensor cells (e.g., directly as a one-dimensional sequence of image data representative of the width and spacing of dataform elements). This result is contrasted to the prior art type representation of an obliquely oriented bar code by horizontal (or vertical) scan line portions, requiring reconstruction and analysis of the oblique bar code image to enable decoding.
FIG. 4 illustrates an embodiment of the FIG. 1 system more particularly configured for use in reading bar codes, matrix codes and other forms of dataforms. For present purposes, a dataform is defined as a pattern of higher and lower reflectivity elements presented in an optically readable format, such as a bar code readable by reflected light. As shown in FIG. 4 a memory unit, illustrated as frame store 44, is provided for storing all (or one or more portions) of a complete frame of image data derived by reading and storing image data from image sensor cells of array 16. As illustrated, frame store 44 has been added between array 16 and address unit 20 of FIG. 1. Also, location signal source 12 of FIG. 1 is represented in FIG. 4 as central processing unit (CPU) 12(a), which is arranged to operate with a variety of types of software programming. Such software may include (a) programs suitable for locating bar codes, (b) run line programs for identifying start and stop points of an oblique line component, the start point and inclination angle or slope of an oblique line component, or combinations of points and slopes and (c) one or more programs for decoding bar codes or other types of dataforms from image data representative thereof.
Bar code location systems and methods as discussed with reference to U.S. Pat. No. 5,304,787 can thus be arranged to provide location signals for the four corners of a bar code located within an image stored in frame store 44 (e.g., the four corners of box 39 of FIG. 1), together with information as to the actual orientation of the bar code within its bounding box. It will be appreciated that in FIG. 1 the configuration of the oblique access image sensor array system is considered basically independently from the implementation and operation of the location signal source 12. That is to say, for example, in a possible configuration such as a high-speed conveyorized system for reading bar codes on packages, unit 12 of FIG. 1 could take the form of an independent bar code locating system having its own sensor array and frame store. Unit 12 would thus operate independently as a location signal source feeding bar code location data to address unit 20 of FIG. 1. In contrast, FIG. 4 illustrates an integrated system in which a single sensor array provides image signals usable by a bar code locator, as well as for oblique access functions of the system, as will be further described.
In FIG. 4, CPU 12 a is arranged to provide signals identifying oblique line components along which image sensor cells are to be read. As noted, these signals may comprise data identifying the start and stop points of oblique lines, the slope of such oblique lines, or combinations of such points and slopes. For present purposes, “oblique” lines are defined as lines positioned obliquely to the rows and columns of sensor elements of an array. Address unit 20 is responsive to such data from CPU 12 a to generate address signals sequentially addressing each pixel or sensor cell position defining the oblique line component as identified by CPU 12 a. As will be described further with reference to FIG. 6, such address signals are effective to identify a stepped pixel pattern of sensor cells representative of the oblique line component. This capability of using stepped pixel patterns enables image data to be read out along oblique line components selected to extend along rows of elements of a dataform traversing the elements in a direction substantially perpendicular to the elements. By this oblique access along oblique lines of dataform elements, operative efficiencies include the ability to laterally space oblique sampling lines by a spacing greater than the pixel to pixel pitch transverse to such sampling lines, so that not all pixels need be read to enable dataform decoding. Also, the need for prior types of two-dimensional dataform image reconstruction, stitching of broken lines of elements, etc., can be avoided or significantly reduced.
The address signals from address unit 20 may be utilized in two different manners in the FIG. 4 system. The address signals may have the form of memory address signals usable to access stored image data originating from sensor cells comprising a stepped pixel pattern. Such signals are coupled from unit 20 to frame store 44 in order to sequentially address the memory location of the stored image data originating from sensor cells representing each pixel of the stepped pixel pattern for the desired oblique line component of the stored image. The image data from the selected memory locations is then provided to CPU 12 a for further processing, which may include decoding of the bar code or preparation of bar code data for transmission to another location for decoding. Alternatively, utilizing the dashed connection 46 between address unit 20 and array 16, address signals may have the form of array address signals usable to identify row and column locations of sensor cells comprising the stepped pixel pattern. Such signals are coupled directly to the horizontal and vertical readout registers 22 and 24 of array 16, for example, for pixel by pixel readout of image data for a stepped pixel pattern representing the desired oblique line component of an image captured by the sensor cells of array 16. Thus, operating as previously described with reference to FIG. 1, in response to each pixel address signal the image data from the addressed sensor cell along a stepped pixel pattern is coupled, via output port 34, to CPU 12 a for processing. As discussed, an analog signal output representative of the illumination incident on each selected sensor element is thus provided so that in this case values of the illumination incident along the length of the oblique line component of the image is provided to the CPU.
In a currently preferred embodiment, operation of the FIG. 4 system is as follows. Start and stop points of an oblique line component of an image portion segment are initially provided based upon data from a bar code locator or other source. It should be noted that while the system will operate equally as well for lines which are not oblique (i.e., horizontal or vertical lines which coincide with rows or columns of sensor cells in an array) the invention is particularly advantageous in its capabilities of addressing oblique line segments and is described in that context.
In the FIG. 4 embodiment, the address unit 20 has the form of a hardware state machine configured using known techniques so as to automatically generate address signals for pixel positions along an oblique line component of stored image data when provided with appropriate line identification data or values. Such a state machine may comprise a semiconductor device configured to carry out the function of outputting the memory addresses or array addresses of image data for a complete pixel pattern in response to location signals representative of end point coordinates and slope of an oblique line component, for example. The choice was made in this embodiment not to send to the address unit 20 cartesian coordinates, in view of what was considered in this case as the unnecessary involvement of cumbersome mathematical relationships in deriving pixel addresses from such coordinates. Instead, mathematical calculations are arranged to be carried out in CPU 12 a to provide location signals encompassing the following eight parameters, as representative of the start (X1, Y1) and stop (X2, Y2) coordinates, for coupling to the address unit:
X=X1
Y=(Y1−1)*Total No. of columns in array
n=[X2−X1−1]
d=2(Y2−Y1)−(X2−X1)
Incr 1=2(Y2−Y1)
Incr 2=2(1−m) (Y2−Y1) where m=slope=(X1−X2) (Y1−Y2)
Incr X=1, if X2>X1 or −1, if X2<X1
Incr Y=+Total No. of columns, if Y2<Y1 or −Total No. of columns, if Y2>Y1
The address unit processes these eight values through the state machine to generate a sequence of pixel address signals as graphically shown in FIGS. 5A and 5B. The address signals can represent Cartesian coordinates as shown in FIG. 5A, which is the most typical for the case of the address unit directly accessing the two dimensional sensor array using dashed connection 46 of FIG. 4. In FIG. 5A the outside numbers represent the X and Y Cartesian coordinates of the square pixels which contain numbers representing sequential pixel addresses. It will be seen that for this eight pixel wide array the sequential pixel addresses correspond to the Cartesian coordinates by the relationship: address=8(Y−1)+X. Alternatively, the address signals can represent sequential numerical addresses as shown in FIG. 5B. This format is most useful in the embodiment where the address unit is coupled to a memory as shown by the solid connection between units 20 and 44 in FIG. 4.
The state machine operates in known manner by conceptually first addressing the X1, Y1, coordinates and then without any further input from the CPU, sequentially addressing each X coordinate and the appropriate Y coordinate (based on the line slope) until it addresses X2, Y2 where it stops. FIG. 6 graphically shows both an example of a stepped pixel pattern for a sample oblique line component and the order in which pixels are addressed for that oblique line component.
FIG. 7 is a flow chart representation of operation of the state machine. At step 50 the variable n is a counter that counts the number of cycles necessary to address each pixel on the line. When the counter reaches zero at step 50 all pixels have been addressed and the state machine stops. If n≠0 then, at step 52, X is incremented to the next sequential X value. At step 54 the variable d is a slope counter. With each increment of the value X1 the state machine determines whether the value of Y must also be incremented or stay the same. If the pixels were of infinite resolution, Y would be incremented with each X increment in proportion to the slope of the line. However, as shown in FIG. 6, without infinite resolution, the Y value will not be incremented with each X increment. As described, this state machine does not produce a line in which the Y value is incremented more than once without incrementing the X value. Therefore, in the case where the line has a slope greater than 45 degrees, the X and Y coordinates are simply reversed for processing. If d is less than zero at step 54, the Y value is not incremented, but d is updated for the next cycle at step 56. If d is not less than zero, then Y is incremented at step 58 and d is updated for the next cycle at step 60. After incrementing X and, if appropriate, incrementing Y, the address is X+Y which is sent to the sensor array 16 at step 62. At step 64 the cycle counter n is updated.
Utilizing information as provided on the basis of operation pursuant to the Locating 2-D Bar Codes patent No.
5,304,787, for example, the four corner locations of a dataform in the image area may be determined. A representation of four such corner locations is provided in FIG. 8. As shown, depending upon the characteristics of the surface upon which a dataform exists and the aspect angle of the sensor element array relative to such surface when the image is captured, the area may not be rectangular. Using this corner information, the CPU using its run line programming as previously referred to identifies a plurality of laterally spaced oblique line components. These oblique line components are shown as the plurality of laterally spaced lines within the four corner locations in FIG. 8, however, each will typically not be a “line” per se, but will be an oblique line component of the image as represented by the 18 numbered pixel positions of FIG. 6, for example. As shown in FIG. 8, the resulting oblique line components need not be parallel to each other, but most generally will be oblique to the rows and columns of sensor cells. With reference to FIGS. 6 and 8, it will be appreciated that the stepped pixel patterns (one of which is shown in FIG. 6) will typically be successively laterally spaced: (a) far enough from each other (resulting from the spaced positions of the oblique line components in FIG. 8) so that there will be intermediate pixel locations not included in adjacent stepped pixel patterns; and (b) close enough to each other so that each element of said dataform will be traversed by at least one stepped pixel pattern as discussed with reference to FIG. 8. As an alternative to identification of each oblique line component by the CPU, the address unit may be arranged to provide address signals to identify stepped pixel patterns for a complete set of parallel oblique line components in response to a single slope or slope/end point input from the CPU.
FIG. 9 is a flow chart that briefly illustrates the operation of the run line programming for stop points for a plurality of lines within the area of interest as shown in FIG. 8. At step 70, the run line program is used to determine the quantity of lines necessary. This determination can be based on an estimate of the resolution of the dataform utilizing data obtained while locating the bar code. The FIG. 8 example shows 16 scan lines. At step 72, the system calculates four skip factors as follows:
X Left Skip=(X3−X1)/(Lines—1)
X Right Skip=(X4−X2)/(Lines−1)
Y Left Skip=(Y3−Y1)/(Lines−1)
Y Right Skip=(Y4−Y2)/(Lines−1)
At step 74 the system generates each start point (Xsi, Ysi) and each end point (Xei, Yei) as per the following formulas:
Xsi=X1+(i−1)*X Left Skip
Ysi=Y1+(i−1)*Y Left Skip
Xei=X2+(i−1)*X Right Skip
Yei=Y2+(i−1)*Y Right Skip
(all values rounded to integers)
The eight parameters needed by the state machine to read out the pixels forming the oblique line component are then calculated at 76.
In the embodiment in which the sensor array 16 is directly accessed by the addressed unit 20 (via dashed connection 46) the output signal of the sensor array is an analog voltage signal sequentially representative of the intensity of illumination incident on each addressed pixel. The circuit of FIG. 10 can be used to convert the signal to a square wave formed by dynamically thresholding the signal, thereby determining whether the pixel represents binary black or white. Briefly, an analog signal input at 80 has direct and low pass filter 82 versions compared in comparator 84 to provide a binary square wave signal at 86. The square wave is then input to a counter which outputs count values proportionate to the length of each peak and trough of the square wave. The count values, which are representative of element width and spacing, are returned to the CPU for decoding of the bar code.
In the embodiment utilizing the frame store 44 to make available an entire frame in memory, each memory address will typically contain an 8-bit value representative of the level of illumination incident on the pixel corresponding to the address. When the address unit 20 selects data from the memory, each 8-bit value can be converted to an analog signal by a D/A converter to reproduce an analog wave equivalent to the analog wave of the first embodiment. This reproduced wave can then be input into the FIG. 10 circuit to provide a square wave usable as described for decoding of the bar code.
In operation of the system as described, a method of oblique access to image data for an oblique line component of an image portion containing an image of a dataform (e.g., portion 39 of FIG. 2), includes the following steps:
(a) providing image data representative of rows and columns of pixels comprising an image area including the image portion containing the dataform image;
(b) providing address signals identifying a stepped pixel pattern (such as shown in FIG. 6) representative of a first oblique line component (e.g., one of 16 shown in FIG. 8) of the image portion, the oblique line component positioned obliquely to such rows and columns;
(c) utilizing the address signals to make available for further use output signals representative of image data for pixels included in the stepped pixel pattern (per FIG. 6) and thereby make available output signals representative of the first oblique line component (per FIG. 8) of the selected image portion containing the dataform image;
(d) utilizing such output signals to decode the dataform.
For reading a two-dimensional bar code, for example, steps (b) and (c) are repeated for additional stepped pixel patterns representative of additional oblique line components such as shown in FIG. 8. Preferably successive oblique line patterns are laterally spaced as shown in FIG. 8 by a spacing greater than the pixel to pixel pitch in a direction transverse to the oblique line components. Step (a) may also include storing pixel values in memory for access in step (c).
Consistent with the discussion above, in step (b) address signals are desirably provided to identify a stepped pixel pattern representative of a first oblique line component which is positioned so as to traverse a plurality of elements comprising all or at least a major portion of a row of elements of said dataform. With the dataform positioned in an oblique alignment the oblique line component may thus be positioned perpendicular to the height of bar elements of a bar code so that the image data representative of such oblique line component includes bar element width and spacing information for a full line of bar code elements. Even if such perpendicular alignment is not achieved, significant improvement can be provided in readout and processing of image data to enable dataform decoding.
It will thus be appreciated that oblique access to image data in accordance with the invention may utilize array address signals for random access directly to image data developed in an array of sensor cells, or may utilize memory address signals for random access to image data originating in such array which has been read out and stored in a memory device, such as a frame store. Further, once an oblique line component of an image has been identified, an address unit effective to provide such address signals (identifying a stepped pixel pattern corresponding to the oblique line component) can be implemented as a software unit supported by the CPU or in a hardware context as a state machine unit to provide the address signals as described.
In addition, any of the four thus described configuration combinations (software address unit/sensor array, hardware state machine unit/sensor array, software address unit/memory unit and hardware state machine unit/memory unit) can be arranged to provide output signals in the form of either a grayscale pixel value wave or a binary square wave. With output signals read out of the array a grayscale pixel value wave is provided and, if desired, can be converted to a binary square wave by use of the FIG. 10 dynamic thresholding circuit. With output signals read out of memory a digital signal from the memory can be converted to a grayscale pixel value wave by use of a digital to analog converter and, if desired, further converted to a binary square wave by use of the FIG. 10 dynamic thresholding circuit or other suitable device.
While there have been described the currently preferred embodiments of the invention, those skilled in the art will recognize that other and further modifications may be made without departing from the invention and it is intended to claim all modifications and variations as fall within the scope of the invention.

Claims (10)

What is claimed is:
1. An addressable access image sensor array system for reading dataforms, comprising:
a two-dimensional array of randomly accessible image sensor cells arranged to provide corresponding image data representative of an image area including an image of a dataform;
an address circuit, operatively coupled to the two-dimensional array, for providing address signals to the two-dimensional array to access image data from selected image sensor cells included in the two-dimensional array;
a judgment circuit for identifying image sensor cells in the two-dimensional array likely to provide image data representative of the dataform compared with other image sensor cells in the two-dimensional array likely to provide image data representative of portions of the image area other than the image of the dataform, and for providing address information to the address circuit to cause the image sensor cells likely to provide image data representative of the dataform to be selectively accessed for purposes of obtaining image data for decoding the dataform without requiring accessing the other image sensor cells; and
an output for outputting the accessed image data.
2. The system of claim 1, wherein the judgment circuit comprises circuitry for determining a location of the image of the dataform within the image area.
3. The system of claim 1, wherein the judgment circuit comprises circuitry for determining an oblique line component of the image of the dataform.
4. The system of claim 1, wherein the judgment circuit comprises circuitry for determining a boundary of the image of the dataform within the image area.
5. The system of claim 1, comprising a processor operatively coupled to the output for receiving the accessed image data.
6. The system of claim 5, wherein processor is configured to decode dataforms from image data representative thereof.
7. A method for reading dataforms, comprising:
utilizing a two-dimensional array of randomly accessible image sensor cells arranged to provide corresponding image data representative of an image area including an image of a dataform;
utilizing an address circuit, operatively coupled to the two-dimensional array, for providing address signals to the two-dimensional array to access image data from selected image sensor cells included in the two-dimensional array;
identifying image sensor cells in the two-dimensional array likely to provide image data representative of the dataform compared with other image sensor cells in the two-dimensional array likely to provide image data representative of portions of the image area other than the image of the dataform, and providing address information to the address circuit to cause the image sensor cells likely to provide image data representative of the dataform to be selectively accessed for purposes of obtaining image data for decoding the dataform without requiring accessing the other image sensor cells; and
outputting the accessed image data.
8. The method of claim 7, wherein the step of identifying comprises a step of determining a location of the image of the dataform within the image area.
9. The method of claim 7, wherein the step of identifying comprises a step of determining an oblique line component of the image of the dataform.
10. The method of claim 7, wherein the step of identifying comprises a step of determining a boundary of the image of the dataform within the image area.
US08/982,188 1994-06-10 1997-12-17 Oblique access to image data for reading apparatus Expired - Fee Related US6343740B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US08/982,188 US6343740B1 (en) 1994-06-10 1997-12-17 Oblique access to image data for reading apparatus
US09/974,674 US20020017565A1 (en) 1997-12-17 2001-10-10 Oblique access to image data for reading dataforms

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US25842894A 1994-06-10 1994-06-10
US08/438,889 US5736724A (en) 1994-06-10 1995-05-10 Oblique access to image data for reading dataforms
US08/982,188 US6343740B1 (en) 1994-06-10 1997-12-17 Oblique access to image data for reading apparatus

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US08/438,889 Continuation US5736724A (en) 1994-06-10 1995-05-10 Oblique access to image data for reading dataforms

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US09/974,674 Continuation US20020017565A1 (en) 1997-12-17 2001-10-10 Oblique access to image data for reading dataforms

Publications (1)

Publication Number Publication Date
US6343740B1 true US6343740B1 (en) 2002-02-05

Family

ID=26946635

Family Applications (2)

Application Number Title Priority Date Filing Date
US08/438,889 Expired - Lifetime US5736724A (en) 1994-06-10 1995-05-10 Oblique access to image data for reading dataforms
US08/982,188 Expired - Fee Related US6343740B1 (en) 1994-06-10 1997-12-17 Oblique access to image data for reading apparatus

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US08/438,889 Expired - Lifetime US5736724A (en) 1994-06-10 1995-05-10 Oblique access to image data for reading dataforms

Country Status (1)

Country Link
US (2) US5736724A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030164785A1 (en) * 1998-11-02 2003-09-04 Federico Canini Device and method for the acquisition and automatic processing of data obtained from optical codes
EP1469420A2 (en) * 2003-04-17 2004-10-20 Anoto Group AB Method and device for recording of data
US20050103862A1 (en) * 2003-11-13 2005-05-19 Metrologic Instruments, Inc. Hand-supportable imaging-based bar code symbol reader employing automatic object presence and range detection to control the generation of near-field and far-field wide-area illumination during bar code symbol imaging operations
US20050145698A1 (en) * 2003-12-02 2005-07-07 Havens William H. Method and apparatus for reading under sampled bar code symbols
US20060060650A1 (en) * 2004-08-31 2006-03-23 Omron Corporation Sensor system
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

Families Citing this family (29)

* 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
US5736724A (en) * 1994-06-10 1998-04-07 Metanetics Corporation Oblique access to image data for reading dataforms
JPH08137980A (en) * 1994-11-15 1996-05-31 Olympus Optical Co Ltd Recording method and recording and reproducing device for dot code
US6509927B1 (en) * 1994-12-16 2003-01-21 Hyundai Electronics America Inc. Programmably addressable image sensor
US6629641B2 (en) 2000-06-07 2003-10-07 Metrologic Instruments, Inc. Method of and system for producing images of objects using planar laser illumination beams and image detection arrays
US5818032A (en) * 1997-01-03 1998-10-06 Sun; Tsu-Hung Tom Encoded color halftone micro-dots for high density digital information storage
US5971278A (en) * 1997-08-19 1999-10-26 Mustek Systems Inc. Method of alignment for multi-CCD and the apparatus of the same
US7028899B2 (en) * 1999-06-07 2006-04-18 Metrologic Instruments, Inc. Method of speckle-noise pattern reduction and apparatus therefore based on reducing the temporal-coherence of the planar laser illumination beam before it illuminates the target object by applying temporal phase modulation techniques during the transmission of the plib towards the target
US6318635B1 (en) * 1997-12-02 2001-11-20 Telxon Corporation Multi-focal length imaging based portable dataform reader
US7673803B2 (en) * 1998-03-24 2010-03-09 Metrologic Instruments, Inc. Planar laser illumination and imaging (PLIIM) based engine
JP2000222517A (en) * 1998-11-27 2000-08-11 Denso Corp Method and device for reading two-dimensional code, and recording medium
US6959870B2 (en) * 1999-06-07 2005-11-01 Metrologic Instruments, Inc. Planar LED-based illumination array (PLIA) chips
US6795367B1 (en) * 2000-05-16 2004-09-21 Micron Technology, Inc. Layout technique for address signal lines in decoders including stitched blocks
US6941026B1 (en) 2000-06-13 2005-09-06 Cognex Corporation Method and apparatus using intensity gradients for visual identification of 2D matrix symbols
US20090134221A1 (en) * 2000-11-24 2009-05-28 Xiaoxun Zhu Tunnel-type digital imaging-based system for use in automated self-checkout and cashier-assisted checkout operations in retail store 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
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
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
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
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
US7594609B2 (en) * 2003-11-13 2009-09-29 Metrologic Instruments, Inc. Automatic digital video image capture and processing system supporting image-processing based code symbol reading during a pass-through mode of system operation at a retail point of sale (POS) station
US7607581B2 (en) * 2003-11-13 2009-10-27 Metrologic Instruments, Inc. Digital imaging-based code symbol reading system permitting modification of system features and functionalities
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
US7513428B2 (en) * 2001-11-21 2009-04-07 Metrologic Instruments, Inc. Planar laser illumination and imaging device employing laser current modulation to generate spectral components and reduce temporal coherence of laser beam, so as to achieve a reduction in speckle-pattern noise during time-averaged detection of images of objects illuminated thereby during imaging operations
JP4364554B2 (en) * 2002-06-07 2009-11-18 株式会社ルネサステクノロジ Switching power supply device and switching power supply system
US7270272B2 (en) * 2003-11-13 2007-09-18 Metrologic Instruments, Inc. Digital image-based bar code symbol reading system employing a multi-mode image-processing symbol reading subsystem
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
EP2393036B1 (en) * 2010-06-01 2016-03-02 Fujian Newland Computer Co., Ltd. Barcode decoding chip
US8261991B2 (en) * 2010-07-12 2012-09-11 Symbol Technologies, Inc. High performance image capture reader with low resolution image sensor

Citations (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2044996A (en) 1979-03-08 1980-10-22 Japan Broadcasting Corp Solid stage photo-electric converting device for solid state imaging apparatus
US4443855A (en) * 1981-05-06 1984-04-17 Robert Bishop Method of and apparatus for controlling robotic equipment with the aid of mask algorithm image processing techniques
EP0260954A2 (en) 1986-09-19 1988-03-23 Canon Kabushiki Kaisha Solid state image pickup apparatus
JPS63209275A (en) * 1987-02-25 1988-08-30 Canon Inc Picture signal processor
WO1991004633A1 (en) 1989-09-23 1991-04-04 Vlsi Vision Limited I.c. sensor
US5134272A (en) * 1988-07-13 1992-07-28 Matsushita Electric Industrial Co., Ltd. Image signal processing apparatus for bar code image signal
US5155343A (en) * 1990-03-28 1992-10-13 Chandler Donald G Omnidirectional bar code reader with method and apparatus for detecting and scanning a bar code symbol
US5262871A (en) 1989-11-13 1993-11-16 Rutgers, The State University Multiple resolution image sensor
US5276400A (en) 1989-09-23 1994-01-04 University Of Edinburgh Test circuit for imaging sensing integrated circuits
US5304787A (en) * 1993-06-01 1994-04-19 Metamedia Corporation Locating 2-D bar codes
US5319181A (en) 1992-03-16 1994-06-07 Symbol Technologies, Inc. Method and apparatus for decoding two-dimensional bar code using CCD/CMD camera
US5396054A (en) * 1989-03-01 1995-03-07 Symbol Technologies, Inc. Bar code reader using scanned memory array
US5428211A (en) 1994-05-02 1995-06-27 United Parcel Service Of America Inc. Postnet bar code decoder
US5473148A (en) 1993-08-11 1995-12-05 Olympus Optical Co., Ltd. Barcode symbol reading system capable of shortening time for reading and decoding
US5489769A (en) 1992-05-26 1996-02-06 Olympus Optical Co., Ltd. Symbol information reading apparatus
US5500516A (en) 1994-08-30 1996-03-19 Norand Corporation Portable oblique optical reader system and method
US5521368A (en) 1993-09-22 1996-05-28 Olympus Optical Co., Ltd. Barcode symbol reading system having function for detecting and correcting inclination of barcode symbol
US5523552A (en) 1994-10-19 1996-06-04 Symbol Technologies, Inc. Method and apparatus to scan randomly oriented two-dimensional bar code symbols
US5541654A (en) * 1993-06-17 1996-07-30 Litton Systems, Inc. Focal plane array imaging device with random access architecture
WO1997008887A1 (en) * 1995-08-22 1997-03-06 Universite Laval Apparatus and method for addressing cells of interest in a solid state sensor
US5736724A (en) * 1994-06-10 1998-04-07 Metanetics Corporation Oblique access to image data for reading dataforms
US5818526A (en) * 1995-04-03 1998-10-06 Olympus Optical Co., Ltd. Solid state image pickup device having a number of vertical scanning circuit units which is half the number of pixels in the vertical direction
US5831674A (en) * 1994-06-10 1998-11-03 Metanetics Corporation Oblique access to image data for reading bar codes

Patent Citations (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2044996A (en) 1979-03-08 1980-10-22 Japan Broadcasting Corp Solid stage photo-electric converting device for solid state imaging apparatus
US4443855A (en) * 1981-05-06 1984-04-17 Robert Bishop Method of and apparatus for controlling robotic equipment with the aid of mask algorithm image processing techniques
EP0260954A2 (en) 1986-09-19 1988-03-23 Canon Kabushiki Kaisha Solid state image pickup apparatus
JPS63209275A (en) * 1987-02-25 1988-08-30 Canon Inc Picture signal processor
US5134272A (en) * 1988-07-13 1992-07-28 Matsushita Electric Industrial Co., Ltd. Image signal processing apparatus for bar code image signal
US5396054A (en) * 1989-03-01 1995-03-07 Symbol Technologies, Inc. Bar code reader using scanned memory array
WO1991004633A1 (en) 1989-09-23 1991-04-04 Vlsi Vision Limited I.c. sensor
US5276400A (en) 1989-09-23 1994-01-04 University Of Edinburgh Test circuit for imaging sensing integrated circuits
US5262871A (en) 1989-11-13 1993-11-16 Rutgers, The State University Multiple resolution image sensor
US5155343A (en) * 1990-03-28 1992-10-13 Chandler Donald G Omnidirectional bar code reader with method and apparatus for detecting and scanning a bar code symbol
US5319181A (en) 1992-03-16 1994-06-07 Symbol Technologies, Inc. Method and apparatus for decoding two-dimensional bar code using CCD/CMD camera
US5489769A (en) 1992-05-26 1996-02-06 Olympus Optical Co., Ltd. Symbol information reading apparatus
US5304787A (en) * 1993-06-01 1994-04-19 Metamedia Corporation Locating 2-D bar codes
US5541654A (en) * 1993-06-17 1996-07-30 Litton Systems, Inc. Focal plane array imaging device with random access architecture
US5473148A (en) 1993-08-11 1995-12-05 Olympus Optical Co., Ltd. Barcode symbol reading system capable of shortening time for reading and decoding
US5521368A (en) 1993-09-22 1996-05-28 Olympus Optical Co., Ltd. Barcode symbol reading system having function for detecting and correcting inclination of barcode symbol
US5428211A (en) 1994-05-02 1995-06-27 United Parcel Service Of America Inc. Postnet bar code decoder
US5736724A (en) * 1994-06-10 1998-04-07 Metanetics Corporation Oblique access to image data for reading dataforms
US5831674A (en) * 1994-06-10 1998-11-03 Metanetics Corporation Oblique access to image data for reading bar codes
US5500516A (en) 1994-08-30 1996-03-19 Norand Corporation Portable oblique optical reader system and method
US5523552A (en) 1994-10-19 1996-06-04 Symbol Technologies, Inc. Method and apparatus to scan randomly oriented two-dimensional bar code symbols
US5818526A (en) * 1995-04-03 1998-10-06 Olympus Optical Co., Ltd. Solid state image pickup device having a number of vertical scanning circuit units which is half the number of pixels in the vertical direction
WO1997008887A1 (en) * 1995-08-22 1997-03-06 Universite Laval Apparatus and method for addressing cells of interest in a solid state sensor

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7468499B2 (en) * 1998-11-02 2008-12-23 Datalogic S.P.A. Device and method for the acquisition and automatic processing of data obtained from optical codes
US8368000B2 (en) 1998-11-02 2013-02-05 Datalogic S.P.A. Device and method for the acquisition and automatic processing of data obtained from optical codes
US8058600B2 (en) 1998-11-02 2011-11-15 Datalogic S.P.A. Device and method for the acquisition and automatic processing of data obtained from optical codes
US20030164785A1 (en) * 1998-11-02 2003-09-04 Federico Canini Device and method for the acquisition and automatic processing of data obtained from optical codes
US20090166569A1 (en) * 1998-11-02 2009-07-02 Datalogic S.P.A. Device and method for the acquisition and automatic processing of data obtained from optical codes
US9268982B2 (en) 1998-11-02 2016-02-23 Datalogic Ip Tech S.R.L. Device and method for the acquisition and automatic processing of data obtained from optical codes
EP1469420A2 (en) * 2003-04-17 2004-10-20 Anoto Group AB Method and device for recording of data
US20040256462A1 (en) * 2003-04-17 2004-12-23 Staffan Solen Method and device for recording of data
EP1469420A3 (en) * 2003-04-17 2006-07-12 Anoto Group AB Method and device for recording of data
US7303130B2 (en) 2003-04-17 2007-12-04 Anoto Group Ab Method and device for recording of data
US20050103862A1 (en) * 2003-11-13 2005-05-19 Metrologic Instruments, Inc. Hand-supportable imaging-based bar code symbol reader employing automatic object presence and range detection to control the generation of near-field and far-field wide-area illumination during bar code symbol imaging operations
US7178733B2 (en) * 2003-11-13 2007-02-20 Metrologic Instruments, Inc. Hand-supportable imaging-based bar code symbol reader employing automatic object presence and range detection to control the generation of near-field and far-field wide-area illumination during bar code symbol imaging operations
US7364081B2 (en) 2003-12-02 2008-04-29 Hand Held Products, Inc. Method and apparatus for reading under sampled bar code symbols
US20050145698A1 (en) * 2003-12-02 2005-07-07 Havens William H. Method and apparatus for reading under sampled bar code symbols
US20060060650A1 (en) * 2004-08-31 2006-03-23 Omron Corporation Sensor system
US7520432B2 (en) * 2004-08-31 2009-04-21 Omron Corporation Sensor system
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
US9319548B2 (en) 2010-05-21 2016-04-19 Hand Held Products, Inc. Interactive user interface for capturing a document in an image signal
US9451132B2 (en) 2010-05-21 2016-09-20 Hand Held Products, Inc. System for capturing a document in an image signal
US9521284B2 (en) 2010-05-21 2016-12-13 Hand Held Products, Inc. Interactive user interface for capturing a document in an image signal

Also Published As

Publication number Publication date
US5736724A (en) 1998-04-07

Similar Documents

Publication Publication Date Title
US6343740B1 (en) Oblique access to image data for reading apparatus
US5719384A (en) Oblique access to image data for reading dataforms
US20020017565A1 (en) Oblique access to image data for reading dataforms
US5831674A (en) Oblique access to image data for reading bar codes
AU710610B2 (en) Sub-pixel dataform reader
US5698833A (en) Omnidirectional barcode locator
US5591952A (en) Bar code reader
EP0195372B1 (en) Method and apparatus for forming 3x3 pixel arrays and for performing programmable pattern contingent modifications of those arrays
US5153418A (en) Multiple resolution machine readable symbols
US6752316B2 (en) Two-dimensional code
US6142376A (en) Method and apparatus for reading symbols on items moved by conveyor
US3899771A (en) Method of character recognition by linear traverse employing shifted edge lines
JP2986383B2 (en) Method and apparatus for correcting skew for line scan images
EP1383071A2 (en) Anti-hand-jittering dataform readers and methods
US5442164A (en) Bar code reader for reading two-dimensional bar codes by using length information derived from a sensed signal
EP0484132A2 (en) Multiple resolution machine readable symbols
US20030193593A1 (en) X-y addressable CMOS APS with compact pixel pitch
US5550363A (en) Optical information reading apparatus
US5581635A (en) Method and system for fast rotation of run-length encoded images
EP0361739A2 (en) Scanning apparatus for reading an image
EP0488441B1 (en) Image storage device and image processing device comprising the image storage device
JPS62206690A (en) Address control system for video memory
JPH0668255A (en) Counter for histogram-counting
JPH0782526B2 (en) Character Waku detector
JPH1049622A (en) Bar-code reading device

Legal Events

Date Code Title Description
AS Assignment

Owner name: BANK OF NEW YORK, THE, NEW YORK

Free format text: SECURITY INTEREST;ASSIGNOR:TELXON CORPORATION;REEL/FRAME:009817/0901

Effective date: 19990326

AS Assignment

Owner name: BANK OF NEW YORK, THE, NEW YORK

Free format text: SECURITY AGREEMENT;ASSIGNOR:META HOLDINGS CORPORATION;REEL/FRAME:010070/0749

Effective date: 19990326

AS Assignment

Owner name: META HOLDING CORPORATION, OHIO

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BANK OF NEW YORK, AS AGENT, THE;REEL/FRAME:010216/0989

Effective date: 19990830

Owner name: META HOLDING CORPORATION, OHIO

Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:BANK ONE, NA;REEL/FRAME:010216/0935

Effective date: 19990830

Owner name: FOOTHILL CAPITAL CORPORATION, AS AGENT, CALIFORNIA

Free format text: SECURITY INTEREST;ASSIGNOR:META HOLDING CORPORATION;REEL/FRAME:010226/0552

Effective date: 19990831

Owner name: TELXON CORPORATION, OHIO

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:THE BANK OF NEW YORK, AS AGENT;REEL/FRAME:010216/0776

Effective date: 19990830

AS Assignment

Owner name: SYMBOL TECHNOLOGIES, INC., NEW YORK

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TELXON CORPORATION;REEL/FRAME:012795/0070

Effective date: 20020327

AS Assignment

Owner name: JPMORGAN CHASE BANK, N.A., NEW YORK

Free format text: SECURITY INTEREST;ASSIGNOR:SYMBOL TECHNOLOGIES, INC.;REEL/FRAME:016116/0203

Effective date: 20041229

AS Assignment

Owner name: META HOLDING CORPORATION, CALIFORNIA

Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:FOOTHILL CAPITAL CORPORATION;REEL/FRAME:015766/0770

Effective date: 20040113

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

AS Assignment

Owner name: SYMBOL TECHNOLOGIES, INC., NEW YORK

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGANCHASE BANK, N.A.;REEL/FRAME:025441/0228

Effective date: 20060901

REMI Maintenance fee reminder mailed
LAPS Lapse for failure to pay maintenance fees
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: 20140205