The present invention relates to imaging devices in general and in particular to imaging devices having an image processing operating mode.
Systems have been developed in which representations of signatures or other localized interest area indicia are captured with use of an imaging device. Problems have been noted with the system however. Many interest area image capture devices require specialized docking apparatuses, for holding an indicia bearing substrate in a certain axial stand-off position angular orientation and radial orientation relative to an imaging device. In other localized interest area image capture systems which do not require a docking apparatus then a user is required typically either to manually position an indicia bearing substrate in a certain axial stand-off position, angular orientation, and radial orientation relative to an imaging device or to position an imaging device in a certain axial stand-off position, angular orientation, and radial orientation relative to an indicia bearing substrate.
is a need for an interest area image capture system which is easy to use, and does not require precise relative positioning between an indicia bearing substrate and an imaging device for operation.
The preferred embodiment of the invention will now be described, by way of example only, with reference to the accompanying figures wherein like members bear like reference numerals and wherein:
a-2e illustrate types of imaging devices which may be implemented in the system of the present invention;
a-3e are block diagrams illustrating hardware architectures of devices in which the invention may be incorporated;
f is a memory map for purposes of illustrating a feature of the invention;
g is a flow diagram illustrating operation of a main program in accordance with the invention configured to commence image data reading in an interest region in relation to an image reading instruction indicia after reading the image reading instruction indicia;
h is a flow diagram illustrating a user-initiated image parsing mode according to the invention;
a-4b and 4c show various image map representation graphs illustrating construction of a secondary bit map representation of an image data reading region;
a-6g illustrate specific examples of the invention in which an image reading instruction indicia is provided by a symbol other than a bar code;
a-8b show a full frame image representation and parsed image data parsed from the full frame image representation;
a-9j illustrate various implementations of the invention.
[The following is an excerpt from U.S. patent application Ser. No. 08/953,195 filed Oct. 17, 1997].
The preferred embodiment of the invention will now be described, by way of example only, with reference to the accompanying Figures wherein like members bear like reference numerals and wherein:
[End of excerpt from U.S. patent application Ser. No. 08/953,195 filed Oct. 17, 1997].
schematic diagram of the system of the invention is shown in
In a first type of image reading instruction indicia, the image reading instruction indicia 6 includes a parsing mode commencement indicator, and at least one operative parameter indicator. The at least one operation parameter indicator may be, for example, an indicator decodable to generate an image reading parameter for controlling an aspect of the image data reading process such as the dimension or position of an image data reading region. Additional operating parameter indicators may be provided to control aspects of the image capture process unrelated to the size and location of the image capture region. For example, image data reading parameter indicators may be provided to control such aspects of the image capture process as pixel resolution, gray scale depth, and color. The image reading instruction indicia may also include an output control parameter indicator for controlling an aspect of outputting image data. For example, an output control parameter may control the destination of outputted image data (i.e., to a display device or a memory space), a data format of outputted image data, features of a displayed image such as orientation and/or size, compression algorithms utilized, and video preprocessing processes (gamma correction, contrast enhancement, edge peaking, etc.). An output control parameter may also control an aspect of image data processing subsequent to decoding. For example, an output control parameter may control an aspect of an OCR (optical character recognition) algorithm.
A plurality of image reading and/or image data reading indicator structures incorporated into an image reading instruction indicia may be substituted for by a single identification indicator structure identifying an identity of the image reading instruction indicia. In a second type of image reading instruction indicia, the image reading instruction indicia 6 includes an image parsing mode commencement indicator and an identifier. A memory space of a device configured to read such an image reading instruction indicia may have incorporated therein a lookup table including various image data reading and output parameters, which are caused to be read from a memory space when the device reads and decodes an image reading instruction indicia including an identifier indicator.
In a third type of image reading instruction indicia, the image reading instruction indicia 6 comprises an image parsing mode commencement indicator, but does not comprise either an operation parameter indicator or an identifier. When reading an image reading instruction indicia of the third type, an imaging device configured in accordance with the invention operates in accordance with an image parsing program stored in a memory of or in communication with the imaging device.
In a fourth type of image reading instruction indicia, the image reading instruction indicia 6 does not comprise any of a parsing mode commencement indicator, operation parameter indicator or identifier indicator. Reading an image reading instruction indicia of the fourth type does not result in imaging device 10 immediately commencing operation in an image parsing mode. However, when an imaging device that has captured an image including a representation of an image reading instruction indicia of the fourth type is caused by a receipt of a user initiated command to operate in an image parsing mode, an image parsing routine is executed in a manner that depends on at least one feature of the image reading instruction indicia of the fourth type. In further aspects of the image reading instruction indicia, the image reading instruction indicia may be of a type adapted so that a device reading the indicia can determine imaging characteristics relating to the image reading instruction indicia, such as the scaling of the indicia, an orientation of the indicia, and/or a distortion of the indicia.
Shown in the embodiment of
Shown as being provided by a hand held portable device, it will be understood that the invention can be incorporated in a presentation imaging device wherein display 14d serves to guide a user in moving a target indicia TI in a proper position relative to imaging device 10 rather than serving to guide a user in positioning imaging device 10 in a proper position relative to TI.
Black diagrams illustrating various types of electronic hardware configurations for optical imaging devices in which the invention may be incorporated and communication systems comprising at least one optical imaging device described with reference optical reader device 10a includes an imaging device processor assembly 30.
Imaging device processor assembly 30 includes an illumination assembly 21 for illuminating a target area T, such as a substrate bearing a 1D or 2D bar code symbol or a text string, and an imaging assembly 33 for receiving an image of object T and generating an electrical output signal indicative of the data optically encoded therein. Illumination assembly 21 may, for example, include an illumination source assembly 22, together with an illuminating optics assembly 24, such as one or more lenses, diffusers, wedges, reflectors or a combination of such elements, for directing light from light source 22 in the direction of a target object T. Illumination assembly 21 may comprise, for example, laser or light emitting diodes (LEDs) such as white LEDs or red LEDs. Illumination assembly 21 may include target illumination optics 21T for projecting an aiming pattern 27 on target T. Illumination assembly 21 may be eliminated if ambient light levels are certain to be high enough to allow high quality images of object T to be taken. Illumination assembly 21 may also be located remote from imaging device housing 11, at a location so as to eliminate or reduce specular reflections. Imaging assembly 33 may include an image sensor 32, such as a color or monochrome 1D or 2D CCD, CMOS, NMOS, PMOS, CID or CMD solid state image sensor, together with an imaging optics assembly 34 for receiving and focusing an image of object T onto image sensor 32. Features and advantages associated with incorporating a color image sensor in an imaging device are discussed in greater detail in U.S. application Ser. No. 09/904,697, filed Jul. 13, 2001, entitled “An Optical Reader Having a Color Imager,” incorporated herein by reference. The array-based imaging assembly shown in
Imaging device processor assembly 30 of the embodiment of
Processor 42 and FPGA 44 are both programmable control devices which are able to receive, output and process data in accordance with a stored program stored in memory unit 45 which may comprise such memory elements as a volatile or non-volatile read/write random access memory or RAM 46, 46-1 and an erasable read only memory or EROM 47, 47-1. Memory 45 may also include one or more long term non-volatile memory storage devices (48, 45). For example, storage device 48, 45 may include e.g. a hard drive, or floppy disk to which data can be written to or read from. Storage device 48, 45 can be of a type that is securely installed in housing 1 (e.g. a hard drive) or can be of a type that can be removed from housing 11 and transported (e.g. floppy disk). Memory 45 can include what is referred to as a “flash” memory device. Several standardized formats are available for such flash memory devices including: “Multimedia” (MMC), “Smart Media,” “Compact Flash,” and “Memory Stick.” Although the transfers of data between processor 40 and a flash memory device normally involve “blocks” of data and not “bytes” of data as in standardly known non- volatile RAM device, the operation of a “flash” memory device is similar to a standardly known non-volatile RAM memory device. Accordingly, a flash memory device can be considered to be represented by the one or more RAM blocks 46 of
Processor 42 and FPGA 44 are also both connected to a common bus 49-1 through which program data and working data, including address data, may be received and transmitted in either direction to any circuitry that is also connected thereto. Processor 42 and FPGA 44 differ from one another, however, in how they are made and how they are used.
More particularly, processor 42 is preferably a general purpose, off-the-shelf VLSI integrated circuit microprocessor which has overall control of the circuitry of
The actual division of labor between processor 42 and FPGA 44 will naturally depend on the type of off-the-shelf microprocessors that are available, the type of image sensor which is used, the rate at which image data is output by imaging assembly 33, etc. There is nothing in principle, however, that requires that any particular division of labor be made between processors 42 and 44, or even that such a division be made at all.
With processor architectures of the type shown in
FPGA 44 is preferably devoted primarily to controlling the image acquisition process, the A/D conversion process and the storage of image data, including the ability to access memories 46-1 and 47-1 via a DMA channel. FPGA 44 may also perform many timing and communication operations. FPGA 44 may, for example, control the illumination of LEDs 22, the timing of image sensor 32 and an analog-to-digital (A/D) converter 36-1, the transmission and reception of data to and from a processor system external to assembly 30, through an RS-232, a network such as an Ethernet, a serial bus such as USB, a wireless communication link (or other) compatible I/O interface as is indicated by interface 37-2. FPGA 44 may also control the outputting of user perceptible data via an output device, such
output device 14a, a good read LED 14g and/or a display monitor which may be provided by a liquid crystal display such as display 14d. Control of output, display and I/O functions may also be shared between processors 42 and 44, as suggested by bus driver I/O interface 37-3 or duplicated, as suggested by microprocessor serial I/O interface 37-1 and interface 37-2. As explained earlier, the specifics of this division of labor is of no significance to the present invention. The imaging device described with reference to
b shows a block diagram exemplary of an optical imaging device which is adapted to easily receive user-input control instructions resulting in a change in an operating program of an imaging device. In addition to having the elements of single state imaging device circuit of
An operator operating optical imaging device 10b can reprogram imaging device 10b in a variety of different ways. In one method for reprogramming imaging device 10-b, an operator actuates a control button of keyboard 13k which has been pre-configured to result in the reprogramming of imaging device 10b. In another method for reprogramming imaging device 10b an operator actuates control of a processor system not integral with imaging device 10b to transmit an instruction to reprogram imaging device 10b. According to another method for reprogramming imaging device 10b, an operator moves imaging device 10b so that a “menu symbol” is in the field of view of image sensor 32 and then activates trigger 13t of imaging device 10b to capture an image representation of the menu symbol. A menu symbol is a specially designed bar code symbol which, when read by an appropriately configured optical imaging device results in an imaging device being programmed. The reprogramming of an optical imaging device with use of a menu symbol is described in detail in commonly assigned U.S. Pat. No. 5,965,863 incorporated herein by reference. For example, as explained in the above references, illumination system 21 of imaging device 10 can include an aiming LED, and a menu symbol can be provided to enable/disable the aiming LED. Because the second and third of the above methodologies do not require actuation of a imaging device control button of keyboard 13k but nevertheless result in a imaging device being reprogrammed, it is seen that imaging device 10 may be keyboardless but nevertheless reprogrammable. It will be seen that the second or third of the above methodologies can be adapted for selecting operating modes described herein.
A typical software architecture for an application operating program typically executed by an optical imaging device as shown in
imaging device for a particular application. Three major applications or functions for an optical imaging device having image capture capability are: (1) comprehensive decoding; (2) data transfer; and (3) signature capture. In a comprehensive decoding application, imaging device 10 may preliminarily analyze and then decode a message corresponding to a bar code symbol or OCR decodable text character. In a data transfer application, imaging device 10 uploads character text files or image files to a processor system located externally relative to imaging device housing 11. In a signature capture application, imaging device 10 may capture an image corresponding to a scene having a signature, parse out from the image data that image data corresponding to a signature, and transmit the captured signature data to another processing system. It is seen that the third of such applications can be carried out by an optical imaging device imaging device that is not an optical imaging device decoder equipped with decoding capability. Numerous other application operating programs are, of course possible, including a specialized 1D decoding application, a specialized 2D bar code decoding algorithm, a specialized OCR decoding application which operates to decode OCR decodable text characters, but not bar code symbols. A user of an imaging device configured in accordance with the invention accesses a mode selector menu driver as exemplified by the embodiment of shown in
Referring now to specific aspects of the software architecture of an operating program 60, program 60 includes an instruction section 62, and a parameter section 64. Further, instruction section 62 may include selectable routine section 62s. Instructions of instruction section 62 control the overall flow of operations of imaging device 10. Some instructions of instruction section 62 reference a parameter from a parameter table of parameter section 64. An instruction of instruction section 62 may state in pseudocode, for example, “set illumination to level determined by [value in parameter row x].” When executing such an instruction of instruction section 62, control circuit 40 may read the value of parameter row 64x. An instruction of instruction section 62 may also cause to be executed a selectable routine, which is selected depending on the status of a parameter value of parameter section 64. For example, if the application program is a bar code decoding algorithm then an instruction of instruction section 62 may state in pseudocode, for example, “launch” Maxicode decoding if Maxicode parameter of parameter row 64y is set to “on.” When executing such an instruction, control circuit 40 polls the contents of row 64y of parameter section 64 to determine whether to execute the routine called for by the instruction. If the parameter value indicates that the selectable routine is activated, control circuit 40, executes the appropriate instructions of routine instruction section 62s to execute the instruction routine.
is seen, therefore, that the above described software architecture facilitates simplified reprogramming of imaging device 10. Imaging device 10 can be reprogrammed simply by changing a parameter of parameter section 64 of program 60, without changing the subroutine instruction section 62s or any other code of the instruction section 62 simply by changing a parameter of parameter section 64. The parameter of a parameter value of section
changed by appropriate user control entered via keyboard 13k, by reading a menu symbol configured to result in a change in parameter section 64, or by downloading a new parameter value or table via a processor system other than system 40 as shown in
Another architecture typical of an optical imaging device 10 which may be configured in accordance with the invention is shown in
In architectures shown in
operating system specially tailored for portable devices such as, WINDOWS CE available from Microsoft, Inc. In the case that host processor system 40s2 includes an operating system such as DOS or WINDOWS CE, the instruction section and parameter section of the operating program controlling the operation of host processor system 40s2 normally are programmed in a high level programming language and assembled by an assembler before being stored in memory 47-2 and therefore may not reside in consecutive address locations as suggested by program 60 shown in
Referring to further aspects of imaging devices 10a, 10b, and 10c at least one I/O interface e.g. interface 37-1, 37-2, and 37-3 facilitates local “wired” digital communication such as RS-232, Ethernet, serial bus including Universal Serial Bus (USB), or local wireless communication technology including “Bluetooth” communication technology. At least one I/O interface, e.g. interface 37-3, meanwhile, facilitates digital communication with remote processor assembly 88-1 in one of an available remote communication technologies including dial-up, ISDN, DSL, cellular or other RF, and cable. Remote processor assembly 88-1 may be part of a network 88N of processor systems as suggested by assemblies 88-2, 88-3, and 88-4 links 88L and hub 88H e.g., a personal computer or main frame computer connected to a network, or a computer that is in communication with imaging device 10c only and is not part of a network. The network 88N to which assembly 88-1 belongs may be part of the Internet. Further, assembly 88-1 may be a server of the network and may incorporate web pages for viewing by the remaining processor assemblies of the network. In addition to being in communication with imaging device 10c, assembly 88-1 may be in communication with a plurality of additional imaging devices 10′ and 10″. Imaging device 10c may be part of a local area network (LAN). Imaging device 10 may communicate with system 88-1 via an I/O interface associated with system 88-1 or via an I/O interface 88I of network 88N such as a
or router. Further, a processor system external to processor system 40 such as processor system 70s may be included in the communication link between imaging device 10 and assembly 88-1. While the components of imaging devices 10a, 10b, and 10c are represented in
Furthermore, the number of processors of imaging device 10 is normally of no fundamental significance to the present invention. In fact, if processor 42 is made fast enough and powerful enough special purpose FPGA processor 44 can be eliminated. Likewise, referring to imaging device 10c, a single fast and powerful processor can be provided to carry out all of the functions contemplated by processors 40 hp, 42, and 44 as is indicated by the architecture of imaging device 10e of
Referring to the embodiment of
The control circuit 40 as shown in the embodiment of
imaging device communication system of
As described in U.S. Pat. No. 5,965,863, incorporated herein by reference, one function typically provided by nonintegrated local host processor system 70s is to create operating programs for downloading into imaging device 10. Processor system 70s typically has an operating system incorporated therein, such as WINDOWS, which enables an operator to develop operating programs using a graphical user interface, which may be operated with use of a pointer controller 68m. Nonintegrated local processor system 70s also can be configured to receive messages an/or image data from more than one imaging device, possibly in a keyboard wedge configuration as described in U.S. Pat. No. 6,161,760, incorporated herein by reference. It is also convenient to employ processor system 70s for data processing. For example a spreadsheet program can be incorporated in system 70s which is useful for analyzing data messages from imaging device 10e. An image processing application can be loaded into system 70s which is useful for editing, storing, or viewing electronic images received from imaging device 10e. It is also convenient to configure imaging device 10e to coordinate communication of data to and from a remote processor assembly such as assembly 88-1. Accordingly, processor assembly 68 typically includes I/O interface 74-2 which facilitates remote communication with a remote processor assembly, e.g. assembly 88-1 as shown in
g shows a flow diagram illustrating operation of one type of imaging device configured in accordance with the invention. The specific example of
will be understood, however, that an image parsing mode in accordance with the invention can be commenced while imaging device 10 is operating in a mode other than a bar code decoding mode. Of course imaging device 10 can be operating, in for example, an OCR decoding mode, or a combined bar code and OCR decoding mode of operation. In addition, imaging device 10 can be operating in a mode other than a bar code or OCR decoding mode when an image parsing mode is commenced. In one embodiment of the invention, that is explained more fully in connection with
Referring to the general operational steps of the decoding operation program indicated by the flow diagram of
Examples of such operating parameters may include, for example, the frame rate of the image sensor, the codes that will be enabled during decoding, the I/O communication protocols, beeper pitch or volume, among others. The default values of these parameters correspond to a combination of parameters which are suitable for use under most operating conditions. Additional operating parameters may control specialized functions if the device shown such as a multiple symbol decoding function (block 143) or a repeat until done function (block 147).
After the device has been initialized in block 116, control circuit 40 proceeds to blocks 117 and 118 which call for control circuit 40 to capture and attempt to decode an image of a target bar code. The term “capturing” herein shall generally refer to the process wherein control circuit 40 stores an image map representation of a scene into memory 45. The term “reading” shall refer generally to transfers of data involving memory stored image data subsequent to an image map being stored into memory 45.
If a decoding is not successful (that is, if the control circuit is unable to determine the bar code type or information encoded in the message) then control circuit 40 is directed to block 117 and captures a next frame unless the imaging device has been previously programmed not to repeat image capture (block 142) or receives a command to cease capturing images (135, 140).
If control circuit 40 is successful in decoding the bar code (block 120), then the control circuit 40 will be able to determine if the bar code is an image reading instruction indicia in accordance with the invention. Block 122 illustrates an operation step in the program of the invention in the case that an image reading instruction indicia includes data reading indicators indicating the dimension of the image capture region, or “interest region” and the position in relation to the indicia of the image capture region.
If the control circuit 40 at block 121 determines that the indicia is an image reading instruction indicia and that, therefore, the imaging device is to commence an image parsing mode of application according to the invention then control circuit 40 proceeds to block 122 and reads image reading parameters from the indicia which in the case shown pertain to the dimension and relative position of the interest region of the image. In a simplified embodiment, such as may be the case if the image reading instruction indicia is provided in a 1D bar code then control circuit 40 at this point may be caused to parse image data from an image map based only on the dimension and relative position data read from the image reading instruction indicia. In one simplified embodiment of the invention, the dimension and relative position indicators read from the image reading instruction indicia correspond to pixel values. That is, dimension parameter indicators of the indicia may indicate the number of pixels of image data to read in the x and y dimensions of the pixel array and the relative position indicator parameter may indicate a pixel distance between the center of an image reading parameter and the center of an image data reading region. In this simplified embodiment, an output image data step according to the invention (block 125) would comprise reading and outputting image data from an original image map representation of an image captured at block 125. However, such a simplified embodiment of the invention is normally significantly useful only in the case where an imaging device is positioned in a fixed position, orientation and distance form an image reading instruction indicia 6.
In a highly useful and versatile embodiment of the invention, the dimension and relative position indicators of the image reading instruction indicia indicate the actual dimension and relative distance, in distance units, of an image data reading region, and the device is configured to read interest region image data at a specific location in reference to an indicia 6 regardless the orientation of imaging device 10 or indicia-to-device distance during reading.
a shows an image map corresponding to a scene including a captured image reading instruction indicia representation 6R captured with a device positioned at an unknown angle, and at an unknown distance with respect to an indicia. The indicia representation 6R in the example shown corresponds to the first type of image reading instruction indicia described and includes, along with a parsing mode commencement indicator, image reading operation parameter indicators indicating the dimension and relative position of an image data reading region, in actual distance units. After reading at block 122 the dimension and relative position indicators determined from the decoded symbol (decoded at block 118, the imaging device may determine from the image map image data, scaling characteristics, orientation characteristics, and distances characteristics for the captured image reading instruction symbol (block 123). A scaling factor for the captured indicia representation 6R can be determined, in general, by taking into account the number of modules captured, the type of bar code to determine the actual size of the modules which are normally of a standard size, and the number pixels representing the captured image. The indicia representation 6R may also include a data message corresponding to the actual size of the indicia. The orientation of the indicia representation 6R can be determined based on a method which may vary depending on the indicia type. In several styles of indicia, at least two indicia edges include distinguishing indicia so that the relative position of the edges and orientation of the symbol can be determined. In the Aztec bar code shown, corners of central bullseye structure comprise specialized indicia (orientation patterns) for indicating the orientation of the symbol. Distortion characteristics of captured indicia 6R may be determined, for example, by taking account the relative position of corner points A, B, C, and D of the captured symbol. In many applications, data pertaining to the scale, orientation, and/or distortion characteristics of captured indicia 6R may be previously determined by controller 40 at block 118 when controller 40 attempts to decode the indicia. In the case that such data has been previously determined, it would of course be unnecessary to determine the data again from the bit map representation. Instead, if scaling, orientation or distortion data has been previously determined the required data at block 122 can be determined by reading the data from a memory space of imaging device 10.
The substrate on which an indicia 6 may be formed may be provided by, for example, a sheet of paper, an object, or a body part. The scene region(s) desired to be captured and processed need not be located on the same substrate as indicia 6.
It will be recognized that it is useful to select image reading instruction indicia 6 have predetermined geometries allowing scaling, orientation, and distortion characteristics to be determined for virtually any symbology selected for use as an image reading instruction symbol. Features of the Aztec symbology show the various specific examples of the invention discussed herein are described in detail in U.S. Pat. No. 5,591,956 issued to the assignee of the present invention, and incorporated by reference herein. Aztec 2D bar code symbols are well suited for use as image reading instruction indicia of system 2 because distortion and scaling characteristics for Aztec bar codes are readily determined, and, as will be described in connection with
As is indicated by the data message map of
When the scale and orientation of the captured image reading instruction indicia are determined, imaging device 10 may determine, at block 123 the boundaries of an image data reading or “interest” region of the captured image representation utilizing the dimension and relative position parameter of the image data region read from the indicia 6, and the scaling factor and orientation factors determined for the indicia as explained herein.
A method for developing image data of an interest region in the case that image distortion is corrected for is described with reference to the image map image representation of
In order to calculate the pixel location of corner point Q defining a boundary of the data reading region, an infinite imaginary grid line 210 is established through top corner points A and B for the indicia representation 6R, and an infinite imaginary grid line 212 is established between bottom corner point D and C for the symbol. Temporary points G and H are then determined along imaginary grid lines 210 and 212 respectively, based on the scale of the symbol, the width dimension of interest region 8R, and the relative position indicator of the image reading region, and infinite imaginary grid line 216 is established between the temporary points G and H a second grid line 218 can be established following the same method. First corner mark Q for the interest region 8R can then be established along imaginary grid line 216 based on the relative position indicator for the image reading region and the height dimension of the image reading region. Remaining boundary points R, S, T for the image reading region are determined utilizing the same method.
When boundary points Q, R, S, and T for interest region 8R are determined (block 123), secondary image map representative of indicia in an interest area corresponding to region 8R is constructed (block 124). Construction of a secondary image map image representative of an interest area is described with reference specifically to
In accordance with further aspects of the invention, imaging device 10 can be configured with a feedback function which provides an indicia to a user in the event control circuit 40 at block 123 determines that the device needs to be moved into another position in order for the device to capture an image representation of scene that includes an interest region of the size, shape and position required. For example, if the most recently captured image map representation of a scene does not include pixels required to represent the interest region, then control circuit 40 may issue a command to a component such as output 14a or output 14d of device 10 which emits a tone or other understandable indicator such as a display graphic or text instructions to a user to move the device away from the target in order to expand the device's field of view. Control circuit 40 can be configured to emit audible or visual indicators that correspond to the direction (x, y, or z axis) in which the device should be moved in order to capture an image of sufficient characteristics to include interest region 8R.
After the captured image of the interest region is output at block 125, controller 40 proceeds to block 146 and outputs the encoded message of remaining data encoded in indicia 6, if any. Image reading instruction indicia 6 may include an encoded message or else may include no encoded message other than a data corresponding to parsing mode commencement and operation parameter indicators and may be provided only to cause and possibly control aspects of an image data read in accordance with the invention.
If at block 121, the control circuit 40 determines that an indicia in the field of view of device 10 is not an image reading instruction indicia then control circuit 40 proceeds to block 145 and, in accordance with the specific device operating program shown, may determine whether the indicia is a menu symbol bar code. A device in which the invention may be incorporated may include a menuing feature whereby aspects of device control can be altered by reading specialized menu bar code. Menu symbol bar codes include a special flag which indicates to the device that the indicia being read is a menu bar code. In the case that a menu bar code is read, controller 40 proceeds to block 160 and executes a menu routine. Menu bar codes are described in detail in an issued patent entitled “Optical Devices Having Improved Menuing Features,” identified by U.S. Pat. No. 5,929,418, and incorporated by reference herein. The disclosure of U.S. Pat. No. 5,929,418 is also included in U.S. patent application Ser. No. 09/385,597 and U.S. Pat. No. 5,965,863, both of which have been incorporated herein by reference. As described in the above references, menu symbol bar codes can be used to configure or reconfigure imaging device 10 by establishing or changing operating parameters of device 10 without use of a keyboard. In the alternative, as indicated by
In the specific embodiments illustrated thus far, image reading instruction indicia 6 is provided by a standardly known bar code symbol. Using a standardly known bar code symbol as an image reading instruction indicia provides a variety of advantages. Most notably, imaging devices are commonly equipped with the capacity to read and decode messages encoded in standardly known bar code symbols. Accordingly, using a standardly known bar code symbol enables the image parsing operations required of the invention to be provided with minimal modification of a standardly known device. Further, by using standardly known bar codes, complex and lengthy parsing mode operating instructions, in the form of data processing and output parameters can be incorporated and encoded directly in an image reading instruction indicia 6.
However, in certain applications it may be undesirable to utilize a standardly known bar code symbol, e.g., indicia 6-1, as an image reading instruction indicia of system 2. In certain applications, utilizing a bar code symbol as an image reading instruction symbol may be considered aesthetically undesirable. Accordingly in certain applications, it may be desirable to utilize decodable or recognizable symbols other than standardly known bar code symbols as image reading instruction symbols of image reading system 2. Embodiments which employ recognizable symbols other than standardly known bar code symbols as image reading instruction indicia according to the invention are described with reference to
In the embodiment of
It may advantageous to add graphical features to signature box 6-2 to render it more easily recognized by device 10 and possibly render it more easily distinguishable from other image reading instruction indicia comprising signature boxes. The embodiments of
By image reading instruction indicia 6-5 of
f and
Distortion correction in the case indicia 6 comprises a symbol other than a bar code symbol can proceed in the manner of the interpolated grid line distortion correction method described with reference to
Operating parameters cannot be encoded in non-standardly known bar code image reading instruction indicia, e.g. indicia 6-2, 6-3, 6-4, 6-5 and 6-6 as easily as in bar code image reading indicia, e.g., indicia 6-1. Accordingly, if it desired to have indicia dependent image parsing modes, image reading instruction indicia 6 provided by symbols other than standardly known bar code symbols can be configured in accordance with the image reading instruction indicia of the second type described herein. When reading image reading instruction indicia of the second type, device 10 may execute an image parsing mode of operation in accordance with operating parameters that are called up from a lookup table (LUT).
The partial contents of a LUT 710 for controlling operation of a device operating in an image parsing mode of operation in a manner that depends on an identifier of an image reading indicia is shown in
In the embodiment described in connection with
However, under certain circumstances, it may be desirable to commence an image parsing mode of operation in response to an action other than reading an image reading instruction indicia having a parsing mode commencement indicator. The fourth type of image reading instruction indicia described herein does not include an image parsing commencement indicator. When executing an image parsing mode in association with an image reading instruction indicia of the fourth type, device 10 processes image data in a manner that depends on features of indicia 6. However, the command to commence the image parsing process is provided by an act other that the reading of a parsing mode commencement indicator of an instruction indicia 6. For example, imaging device 10 may commence an image parsing instruction mode in response to a user initial command initiated via a user interface such as keyboard 13k or keyboard 68k.
A flow diagram illustrating operation of an imaging device operating in an image parsing mode in association with an image reading instruction indicia of the fourth type is shown in
In general, when used to decode bar codes, control circuit 40 is preferably configured to store into a buffer memory location, for each decoded bar code, the decoded message for the bar code, imaging characteristics for the bar code, and the complete image representation that includes a representation of the decoded bar code.
Therefore, in accordance with one embodiment of an image parsing mode, control circuit 40 at block 812 may retrieve from a buffer memory location, e.g. memory 45 imaging characteristics pertaining to the last decoded bar code. For decoding a bar code, control circuit 40 will often determine such imaging characteristics for a bar code including for example a scaling characteristic, an orientation characteristic or a distortion characteristic for the bar code. These characteristics in some circumstances can be expressed in terms of a numerical quantity. In other circumstances they may be expressed in terms of graphical data. For example, a distortion characteristic for the bar code image representation shown in
At block 814 control circuit 40 applies the imaging characteristics for the decoded bar code retrieved at block 812 to parse interest region image data from the last image representation corresponding to a decoded message. The interest region size and relative location is determined prior to the time the image representation acted on in block 814 is captured. However, control circuit 40 at block 812 preferably scales image data of an interest region, orients image data of an interests region and corrects for distortion of an interest region in accordance with imaging characteristics (retrieved at block 812) determined for bar code representation contained within the image acted on at block 814.
As indicated, the archived image representation subjected to parsing at block 814 and the imaging characteristics utilized at block 814 are conveniently determined from the mode recently captured image representation captured by device 10. This data is routinely stored in buffer memory locations. However, control circuit 40 at block 812 may parse image data from an image representation other than the most recently captured image captured by control circuit 40. For example, control circuit 40 may upload several frames of captured image data to a nonintegrated local host processor system provided by a personal computer as is indicated by the communication system 67 shown in
Image reading indicia of the fourth type described herein used in connection with the user initiated image parsing mode, may be of any style described herein, e.g. bar code, box, box+logo, line, text string, etc. However, when indicia 6 is of the fourth type for use in conjunction with a user-initiated image parsing mode, image reading instruction indicia 6 is preferably provided by a bar code symbol. The reason for this preference is that imaging device 10, as part of its normal operation in decoding bar codes has already determined imaging characteristics for the decoded code at the time a user-initiated instruction to commence an imaging parsing mode as received at block 810. Therefore, at block 812 of the user uninitiated image capture mode described with reference to
An example illustrating the results obtaining by operation of an image parsing mode according to the invention is described with reference to
Specific examples of the invention showing scenes having image reading instruction indicia and interest areas correlated with output interest region parsed image data corresponding to the interest area(s) of the scenes are described with reference to
In the example of
Further examples illustrating the invention are described with reference to
e-9h illustrate the invention applied as to fingerprint parsing applications.
g and 9h illustrate another embodiment of the invention as applied to a fingerprint parsing application.
i and 9j illustrate the invention as applied in a lottery game ticket reading application.
An important advantage of the present invention in certain embodiments is that developed interest region image representation can be output to actual size, to a proper orientation, and with distortion of the captured image corrected, regardless of the distance, orientation, or angle of a device to an image reading instruction indicia formed in accordance with the invention, and regardless the position of the indicia 6 in relation to a scene desired to be subjected to image capture and image parsing.
[The following is an excerpt from the referenced U.S. patent application Ser. No. 08/953,195 filed Oct. 17, 1997. Reference and figure numerals have been changed to avoid duplication of reference numerals.]
The invention relates to a system for imaging a scene comprising an optical reader and a specially structured symbol configured complementarily with the reader so that when the reader reads the symbol, the reader reads image data in an image data reading region. The image reading instruction symbol of the system may include indicators for controlling various aspects of the image reading process such as the dimension of the image capture region, the relative position of the image reading region. If the image reading instruction symbol is of a type whose actual size, orientation, and distortion can be determined, scaling, orientation, and distortion characteristics determined from the image reading instruction symbol can be used to improve the image reading process. A feedback feature may be included in the reader for indicating to a user whether the reader should be moved in order to improve image reading.
According to its major aspects and broadly stated the present invention is a system including a bar code reader and a specially structured image reading instruction symbol adapted to cause the reader to commence a reading of image data according to a protocol determined in part by at least one indicator of the symbol.
The bar code reader of the system may include a 2D image sensor and is preferably of a type whose operating program may be changed by capturing with the reader a specially structured bar code symbol. The symbol of the system is a 1D or 2D symbol including encoded indicia which when read by a complementarily programmed reader results in the reader processing image data according to a protocol controlled in part by at least one indicator structure of the symbol.
In one embodiment of the invention, the symbol of the system includes a plurality of image data reading indicators. A first type of image data reading indicator in the image reading instruction symbol may indicate that the symbol is an image reading instruction symbol and that there is region in space in relation to the symbol that is to be imaged by the reader; and a second type of image capture indicator at least partially encoded in the system's symbol may indicate image data reading parameters such as the dimension of the image data reading region, and the position of the image data reading region in relation to the image reading instruction symbol. When the reader reads an image data reading indicator of the first type from the capture instruction symbol, the reader reads data in an image data reading region in accordance with the parameters encoded by image data reading indicators of the second type.
In other aspects of the invention, the image reading symbol being read must be of a symbology type adapted so that the reader capturing and reading the image reading instruction symbol can determine imaging characteristics relating to the image reading instruction symbol. Such imaging characteristics which may be determined by the reader may involve, for example, the scaling of a captured symbol; an orientation of the symbol; and/or distortion characteristics of the captured image as revealed in the captured symbol. If the image reading instruction symbol and the reader of the system are appropriately configured, the reader may determine a scaling factor, an orientation factor, and distortion characteristics from the captured image reading instruction symbol.
The scaling, orientation, and distortion characteristics determined for the image reading instruction symbol can be used to determine which pixels in an original bit map representation of a scene to read in the constructing of a secondary bit map representation of a scene in which an image in an image data reading region is represented in a true size and in which distortions apparent in an original bit map representation are corrected for.
In addition to reading image data reading parameters from the image reading instruction symbol, and determining from the captured image reading instruction symbol imaging characteristics pertaining to the orientation, scaling, and distortion of the captured images, an optical reader in the system of the invention may read indicator structures from the image reading instruction symbol of a type which control an aspect of outputting image data. When read by a complementarily programmed reader, such image data output parameters may control at least one aspect of image data output. An image data output parameter may control, for example, the output location of the image data, the data formatting of outputted image data, and can also control certain aspects of processing the outputted image data. For example, an output parameter indicator may control an aspect of a character recognition algorithm in an OCR application.
These and other details, advantages and benefits of the present invention will become apparent from the detailed description of the preferred embodiment herein below.
A schematic diagram of the system of the invention is shown in
Image reading instruction symbol 1006 may take on a variety of forms. In one embodiment, for example, the image reading instruction symbol includes a first indicator of a first type which indicates to the reader that the symbol is an image reading instruction symbol and that this reader is to commence image data reading; and at least one indicator structure of a second type indicating an image reading parameter for controlling an aspect of the image data reading process such as the dimension or position of an image data reading region. Additional operating parameter indicators may be provided to control aspects of the image capture process unrelated to the size and location of the image capture region. For example, image data reading parameter indicators may be provided to control such aspects of the image capture process as pixel resolution, gray scale depth, and color. The image reading instruction symbol may also include an output control parameter indicator structure for controlling an aspect of outputting image data. For example, an output control parameter may control the destination of outputted image data (i.e., to a display device or a memory space), a data format of outputted image data, features of a displayed image such as orientation and/or size, compression algorithms utilized, and video preprocessing processes (gamma correction, contrast enhancement, edge peaking, etc.). An output control parameter may also control an aspect of image data processing subsequent to decoding. For example, an output control parameter may control an aspect of an OCR (optical character recognition) algorithm.
A plurality of image reading and/or image data reading indicator structures incorporated into an image reading instruction symbol may be substituted for by a single identification indicator structure identifying an identity of the symbol. A memory space of a reader configured to read such a symbol may have incorporated therein a lookup table including various image data reading and output parameters, which are caused to be read from memory space when the reader reads and decodes an image reading instruction symbol including an identifier indicator.
In further aspects of the image reading instruction symbol, the image reading instruction symbol may be of a symbology type adapted so that a reader reading the symbol can determine imaging characteristics relating to the image reading instruction symbol, such as the symbol, an orientation of the symbol; and/or a distortion of the symbol.
It should be well understood to skilled artisans that the capture instruction symbol need not be of a specific symbology type or be of a symbol type at all, and that some embodiments of the invention can be practiced wherein the image reading instruction symbol can comprise virtually any combination of at least one relatively darker indicia of any shape with a relatively lighter space so long as the reader is complementary configured to respond in accordance with the invention to the reading of the image reading instruction symbol.
An optical reader of a type which may be implemented in the system of the invention is shown in
Optical reader 1010 of
More particularly, processor 1042 is preferably a general purpose, off-the-shelf VLSI integrated circuit microprocessor which has overall control of the circuitry of
The actual division of labor between processors 1042 and 1044 will naturally depend on the type of off-the-shelf microprocessors that are available, the type of image sensor which is used, the rate at which image data is output by imaging assembly 1030, etc. There is nothing in principle, however, that requires that any particular division of labor be made between processors 1042 and 1044, or even that such a division be made at all. This is because special purpose processor 1044 may be eliminated entirely if general purpose processor 1042 is fast enough and powerful enough to perform all of the functions contemplated by the present invention. It will therefore be understood that neither the number of processors used, nor the division of labor there between, is of any fundamental significance for purposes of the present invention.
With processor architectures of the type shown in
Referring to the general operational steps of the operation program shown, the operation program begins with block 1105 which causes the reader to wait in a low power state until a reader trigger is pulled. When the trigger is pulled, the controller is directed to block 1110 which causes it to power up and initialize the reader hardware. The controller is then directed to blocks 1115 and 1116 which cause it to define the image data memory space that will be used and to initialize the reader with the default values of various operating parameters governing various aspects of the operation of the reader.
Examples of such operating parameters may include, for example, the frame rate of the image sensor, the codes that will be enabled during decoding, the I/O communication protocols, beeper pitch or volume, among others. The default values of these parameters correspond to a combination of parameters which are suitable for use under most operating conditions. Additional operating parameters may control specialized functions if the reader shown such as a multiple symbol decoding function (block 1143) or a repeat until done function (block 1147).
After the reader has been initialized, in block 1116, the processor proceeds to blocks 1117 and 1118, which call for it to capture and attempt to decode an image of a target symbol. The term “capturing” herein shall generally refer to a process involving processing analog signals from imaging assembly 1030, converting these signals into digital form, presenting them to controller 1040 and generating there from an initial bit map representation or other memory stored representation of the captured image. The term “reading” shall refer generally to transfers of data involving memory stored image data subsequent to a memory stored representation being initially generated in the capture step.
If a decoding is not successful (that is, if the controller is unable to determine the symbology type or information encoded in the message) then controller 1040 is directed to block 1117 and captures a next frame unless the reader is has been previously programmed not to repeat image capture (block 1142) or receives a command to cease capturing images (11351140).
If controller 1040 is successful in decoding the symbol (block 1120), then the controller 1040 will be able to determine if the symbol is an image reading instruction symbol in accordance with the invention. Block 1122 illustrates an operation step in the program of the invention in the case that an image reading instruction symbol includes data reading indicators indicating the dimension of the image capture region and the position in relation to the symbol of the image capture region.
If the controller 1040 at block 1121 determines that the symbol is an image reading instruction symbol and that the reader is to commence an image data reading step according to the invention, then controller 1040 proceeds to block 1122 and reads image reading parameters from the symbol which in the case shown pertain to the dimension and relative position of the invention. In a simplified embodiment, such as may be the case if the image reading instruction symbol is provided in a 1D symbology then the controller at this point may be caused to capture an image in space based only on the dimension and relative position data read from the image reading instruction symbol. In one simplified embodiment of the invention, the dimension and relative position indicators read from the image reading instruction symbol correspond to pixel values. That is, dimension parameter indicators may indicate the number of pixels of image data to read in the x and y dimensions of the pixel array and the relative position indicator parameter may indicate a pixel distance between the center of an image reading parameter and the center of an image data reading region. In this simplified embodiment, an output image data step according to the invention (block 1125) would comprise reading and outputting image data from an original bit map representation of an image captured at block 1125. However, such a simplified embodiment of the invention is normally significantly useful only in the case where an optical reader is positioned in a fixed position, orientation and distance from an image reading instruction symbol.
In a highly useful and versatile embodiment of the invention, the dimension and relative position indicators of the image reading instruction symbol indicate the actual dimension and relative distance, in distance units, of an image data reading region, and the reader is configured to read image data at a specific location in reference to symbol regardless the orientation or symbol to reader distance during reading.
The substrate on which a symbol 1006 may be formed may be provided by, for example, a sheet of paper, an object, or a body part. The scene region(s) desired to be captured and processed need not be located on the same substrate as symbol 1006.
It will be recognized that substantially all available symbologies have predetermined geometries (normally rectangular) including corner points allowing scaling, orientation, and distortion characteristics to be determined for virtually any symbology selected for use as an image reading instruction symbol. Features of the Aztec symbology shown in the various specific examples of the invention discussed herein are described in detail in U.S. Pat. No. 5,591,956 issued to the assignee of the present invention, and incorporated by reference herein.
When the scale and orientation of the captured image reading instruction symbol are determined, the reader may determine, at block 1123 the boundaries of an image data reading region utilizing the dimension and relative position parameter of the image data region read from the symbol, and the scaling factor and orientation factors determined for the symbol.
A method for reading image data of a data reading region in the case that image distortion is corrected for is described with reference to the bit map image representation graphs of
In order to calculate the pixel location of corner point Q defining a boundary of the data reading region, an infinite imaginary line 1210 is drawn through top corner points A and B for the symbol, and infinite imaginary line 1212 is drawn between bottom corner point D and C for the symbol. Temporary points G and H are then determined along imaginary lines 1210 and 1212 respectively, based on the scale of the symbol, the width dimension of the image reading region, and the relative position indicator of the image reading region, and infinite imaginary line 1216 is drawn between the temporary points G and H. First corner mark Q for the image reading region can then be drawn along imaginary line 1216 based on the relative position indicator for the image reading region and the height dimension of the image reading region. Remaining boundary points R, S, T for the image reading region are determined utilizing the same method.
When boundary points Q, R, S, and T for an image data reading region are determined (block 1123), a secondary bit map representative of indicia in the image data reading region is constructed (block 1124). Construction of a secondary bit map image representative of an image data reading region is described with reference specifically to
In accordance with further aspects of the invention, reader 1010 can be configured while a feedback function which provides an indicia to a user in the event controller at block 1123 determines that the reader needs to be moved into a certain position in order for the reader to capture a scene that includes an image data reading region of the size, shape and position required by symbol 1006. For example, if the most recently captured original bit map representation of a scene does not include pixels required to represent the image data reading region, then controller 1040 may issue a command to a component of reader 1010 which emits a tone or other understandable indicator to a user to move the reader away from the target in order to expand the reader's field of view. Controller 1040 can be configured to emit audible or visual indicators that correspond to the direction (x, y, or z axis) in which the reader should be moved in order to capture an image of sufficient characteristics to include image data reading region.
After the captured image of the image capture region is output at block 1125, controller 1040 proceeds to block 1146 and outputs the encoded message of remaining data encoded in symbol, if any. Image reading instruction symbol 10066 may include an encoded message or else may include no encoded message and may be provided only to cause and possibly control aspects of an image data read in accordance with the invention. Further, the image reading instruction symbol 1006 may include a single message whose only purpose is to control an image data reading according to the invention.
If at block 1121 the controller determines that the symbol is not an image reading instruction symbol 1006, then the controller proceeds to block 1145 and, in accordance with the specific reader operating program shown, may determine whether the symbol is a menu symbol. A reader in which the invention may be incorporated may include a menuing feature whereby aspects of reader control can be altered by reading specialized menu symbols. Menu symbols include a special flag which indicates to the reader that the symbol being read is a menu symbol. In the case that a menu symbol is read, controller 1040 proceeds to block 1160 and executes a menu routine. Menu symbols of the type which an image reading instruction symbol according to the invention may be embodied are described in detail in a copending application entitled “Optical Readers Having Improved Menuing Features,” identified by application Ser. No. 08/697,977, now U.S. Pat. No. 5,929,418, and incorporated by reference herein.
One embodiment of the invention, a reader can be configured to provide data read image function according to the invention by providing a menu symbol that is complementarily configured with the reader to result in an image data read.
If a symbol being read includes a flag indicating that the symbol being read is a menu symbol, then the data message of the symbol will indicate the type of menu symbol being read and possibly, data required to carry out the instruction of the operation caused to be performed by the reading of the menu symbol.
The basic format of a menu symbol of which one type may be an image reading instruction menu symbol is shown in
A first data field 1310 may include a character or characters which indicate that the symbol is an image reading instruction symbol which when read by reader 1010, result in the reader commencing an image data reading in accordance with the invention. A second data field 1312 may indicate an image reading parameter such as pixel resolution of a constructed secondary bit map representation of an image reading region. A third field 1314 may indicate another image reading parameter such as image depth. For example, the number 0 encoded in field 1314 may indicate a binary image depth, while the number 3 encoded in field 1314 may indicate an 8 bit gray scale. Fourth and fifth data fields 1316 may indicate the relative position of the center of the data reading region to the center of the image reading instruction symbol. For example, field 1318 may indicate a signed distance in the x dimension between the center of the symbol and the center of the image reading region, while field 1320 may indicate a signed distance in the y dimension between the center of the symbol and the center of the image reading region. Sixth and seventh fields 1322 may indicate the dimension of the image data reading region. For example, field 1324 may indicate a height of an image data reading region, while field 1326 may indicate a width of an image data reading region. Further data fields may be provided to indicate additional image data reading parameters or image data output parameters.
An important advantage of the present invention in certain embodiments is that captured images of image data reading regions can be output to actual size, to a proper orientation, and with distortion of the captured image corrected, regardless of the distance, orientation, or angle of a reader to an image reading instruction symbol formed in accordance with the invention, and regardless the position of the symbol 1006 in relation to a scene region desired to be captured and output.
[End of Excerpt of U.S. patent application Ser. No. 08/953,195 filed Oct. 17, 1997.]
While the present invention has been described with reference to a number of specific embodiments in order to set forth the best mode thereof, it will be understood that the sprit and scope of the present invention should be determined with reference to the following claims.
This application is a continuation of U.S. patent application Ser. No. 11/096,912, filed Apr. 1, 2005, now U.S. Pat. No. 7,222,789, which is a continuation of U.S. patent application Ser. No. 10/339,921, filed Jan. 10, 2003 (now abandoned), which is a continuation of U.S. patent application Ser. No. 09/954,081, filed Sep. 17, 2001, now U.S. Pat. No. 6,561,428, which is a continuation-in-part of U.S. patent application Ser. No. 08/953,195, filed Oct. 17, 1997, now U.S. Pat. No. 6,298,176 and which said application Ser. No. 09/954,081 claims priority to Provisional Patent Application No. 60/309,155 filed Jul. 31, 2001. The priorities of all of the above applications are claimed and the disclosure of each of the above applications is incorporated herein by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
3801775 | Acker et al. | Apr 1974 | A |
3902047 | Tyler et al. | Aug 1975 | A |
4020463 | Himmel | Apr 1977 | A |
4286255 | Siy | Aug 1981 | A |
4335303 | Call | Jun 1982 | A |
4387298 | Petersen et al. | Jun 1983 | A |
4499372 | Nakano et al. | Feb 1985 | A |
4530584 | Schmidt | Jul 1985 | A |
4544064 | Felder et al. | Oct 1985 | A |
4562592 | Chainer et al. | Dec 1985 | A |
4581762 | Lapidus et al. | Apr 1986 | A |
4588211 | Greene | May 1986 | A |
4656591 | Goldberg | Apr 1987 | A |
4760248 | Swartz et al. | Jul 1988 | A |
4776464 | Miller et al. | Oct 1988 | A |
4794239 | Allais | Dec 1988 | A |
4832204 | Handy et al. | May 1989 | A |
4835372 | Gombrich et al. | May 1989 | A |
4855842 | Hayes et al. | Aug 1989 | A |
4858000 | Lu | Aug 1989 | A |
4868757 | Gil | Sep 1989 | A |
4873426 | Sarna et al. | Oct 1989 | A |
4877948 | Krueger | Oct 1989 | A |
4877949 | Danielson et al. | Oct 1989 | A |
4924078 | Sant'Anselmo et al. | May 1990 | A |
4948955 | Lee et al. | Aug 1990 | A |
4972494 | White et al. | Nov 1990 | A |
5010241 | Butterworth | Apr 1991 | A |
5019699 | Koenck | May 1991 | A |
5023438 | Wakatsuki et al. | Jun 1991 | A |
5038391 | Yamaguchi et al. | Aug 1991 | A |
5039847 | Morii et al. | Aug 1991 | A |
5050223 | Sumi et al. | Sep 1991 | A |
5054102 | Gaborski | Oct 1991 | A |
5102110 | Reynolds | Apr 1992 | A |
5103489 | Miette et al. | Apr 1992 | A |
5119433 | Will | Jun 1992 | A |
5120940 | Willsie | Jun 1992 | A |
5134669 | Keogh et al. | Jul 1992 | A |
5138140 | Siemiatkowski et al. | Aug 1992 | A |
5138414 | Shinohara et al. | Aug 1992 | A |
5199081 | Saito et al. | Mar 1993 | A |
5199084 | Kishi et al. | Mar 1993 | A |
5212777 | Gove et al. | May 1993 | A |
5237625 | Yamashita et al. | Aug 1993 | A |
5243655 | Wang | Sep 1993 | A |
5262623 | Batterman et al. | Nov 1993 | A |
5262871 | Wilder et al. | Nov 1993 | A |
5278399 | Sano et al. | Jan 1994 | A |
5291243 | Heckman et al. | Mar 1994 | A |
5296689 | Reddersen et al. | Mar 1994 | A |
5296690 | Chandler et al. | Mar 1994 | A |
5296960 | Ellingson et al. | Mar 1994 | A |
5299116 | Owens et al. | Mar 1994 | A |
5301243 | Olschafskie et al. | Apr 1994 | A |
5304423 | Niknafs et al. | Apr 1994 | A |
5304786 | Pavlidis et al. | Apr 1994 | A |
5307423 | Gupta et al. | Apr 1994 | A |
5317388 | Surka et al. | May 1994 | A |
5331151 | Cochran et al. | Jul 1994 | A |
5331176 | Sant' Anselmo et al. | Jul 1994 | A |
5337361 | Wang et al. | Aug 1994 | A |
5354977 | Roustaei | Oct 1994 | A |
5375226 | Sano et al. | Dec 1994 | A |
5378883 | Batterman et al. | Jan 1995 | A |
5392447 | Schlack et al. | Feb 1995 | A |
5396054 | Krichever et al. | Mar 1995 | A |
5399846 | Pavlidis et al. | Mar 1995 | A |
5410141 | Koenck et al. | Apr 1995 | A |
5413383 | Laurash et al. | May 1995 | A |
5414251 | Durbin | May 1995 | A |
5420943 | Mak | May 1995 | A |
5421778 | Kouramanis et al. | Jun 1995 | A |
5428211 | Zheng et al. | Jun 1995 | A |
5428212 | Tani et al. | Jun 1995 | A |
5448375 | Cooper et al. | Sep 1995 | A |
5449201 | Miller et al. | Sep 1995 | A |
5467411 | Tanaka et al. | Nov 1995 | A |
5471533 | Wang et al. | Nov 1995 | A |
5489158 | Wang et al. | Feb 1996 | A |
5490217 | Wang et al. | Feb 1996 | A |
5500516 | Durbin | Mar 1996 | A |
5504322 | Pavlidis et al. | Apr 1996 | A |
5504367 | Arackellian et al. | Apr 1996 | A |
5506697 | Li et al. | Apr 1996 | A |
5508818 | Hamma | Apr 1996 | A |
5513017 | Knodt et al. | Apr 1996 | A |
5521366 | Wang et al. | May 1996 | A |
5550364 | Rudeen | Aug 1996 | A |
5550366 | Roustaei | Aug 1996 | A |
5557091 | Krummel | Sep 1996 | A |
5570135 | Gove et al. | Oct 1996 | A |
5574519 | Manico et al. | Nov 1996 | A |
5581636 | Skinger | Dec 1996 | A |
5591955 | Laser | Jan 1997 | A |
5591956 | Longacre, Jr. et al. | Jan 1997 | A |
5598007 | Bunce et al. | Jan 1997 | A |
5607187 | Salive et al. | Mar 1997 | A |
5617481 | Nakamura et al. | Apr 1997 | A |
5627915 | Rosser et al. | May 1997 | A |
5635697 | Shellhammer et al. | Jun 1997 | A |
5642442 | Morton et al. | Jun 1997 | A |
5644408 | Li et al. | Jul 1997 | A |
5646390 | Wang et al. | Jul 1997 | A |
5659167 | Wang et al. | Aug 1997 | A |
5684290 | Arackellian et al. | Nov 1997 | A |
5691527 | Hara et al. | Nov 1997 | A |
5697504 | Hiramatsu et al. | Dec 1997 | A |
5702059 | Chu et al. | Dec 1997 | A |
5703349 | Meyerson et al. | Dec 1997 | A |
5710419 | Wang et al. | Jan 1998 | A |
5723868 | Hammond, Jr. et al. | Mar 1998 | A |
5726981 | Ylitervo et al. | Mar 1998 | A |
5734153 | Swartz et al. | Mar 1998 | A |
5760382 | Li et al. | Jun 1998 | A |
5761686 | Bloomberg | Jun 1998 | A |
5770841 | Moed et al. | Jun 1998 | A |
5773806 | Longacre, Jr. | Jun 1998 | A |
5780834 | Havens et al. | Jul 1998 | A |
5783811 | Feng et al. | Jul 1998 | A |
5786586 | Pidhirny et al. | Jul 1998 | A |
5793033 | Feng et al. | Aug 1998 | A |
5796090 | Pavlidis et al. | Aug 1998 | A |
5818028 | Meyerson et al. | Oct 1998 | A |
5818528 | Roth et al. | Oct 1998 | A |
5821518 | Sussmeier et al. | Oct 1998 | A |
5834754 | Feng et al. | Nov 1998 | A |
5837986 | Barile et al. | Nov 1998 | A |
5841121 | Koenck | Nov 1998 | A |
5857029 | Patel | Jan 1999 | A |
5867595 | Cymbalski | Feb 1999 | A |
5880453 | Wang et al. | Mar 1999 | A |
5886338 | Arackellian et al. | Mar 1999 | A |
5892824 | Beatson et al. | Apr 1999 | A |
5917925 | Moore | Jun 1999 | A |
5917945 | Cymbalski | Jun 1999 | A |
5929418 | Ehrhart et al. | Jul 1999 | A |
5949052 | Longacre, Jr. et al. | Sep 1999 | A |
5949053 | Zlotnick et al. | Sep 1999 | A |
5949057 | Feng | Sep 1999 | A |
5974202 | Wang et al. | Oct 1999 | A |
5992753 | Xu | Nov 1999 | A |
6000612 | Xu | Dec 1999 | A |
6002491 | Li et al. | Dec 1999 | A |
6011873 | Desai et al. | Jan 2000 | A |
6019286 | Li et al. | Feb 2000 | A |
6055552 | Curry | Apr 2000 | A |
6060722 | Havens et al. | May 2000 | A |
6062475 | Feng | May 2000 | A |
6076731 | Terrell | Jun 2000 | A |
6076738 | Bloomberg et al. | Jun 2000 | A |
6094509 | Zheng et al. | Jul 2000 | A |
6095418 | Swartz et al. | Aug 2000 | A |
6098887 | Figarella et al. | Aug 2000 | A |
6105871 | Campo et al. | Aug 2000 | A |
6115513 | Miyazaki et al. | Sep 2000 | A |
6122410 | Zheng et al. | Sep 2000 | A |
6123261 | Roustaei | Sep 2000 | A |
6129278 | Wang et al. | Oct 2000 | A |
6149063 | Reynolds et al. | Nov 2000 | A |
6179208 | Feng | Jan 2001 | B1 |
6195122 | Vincent | Feb 2001 | B1 |
6212504 | Hayosh | Apr 2001 | B1 |
6223988 | Batterman et al. | May 2001 | B1 |
6285916 | Kadaba et al. | Sep 2001 | B1 |
6290132 | Dickson et al. | Sep 2001 | B1 |
6298175 | Longacre, Jr. et al. | Oct 2001 | B1 |
6298176 | Longacre, Jr. et al. | Oct 2001 | B2 |
6330975 | Bunte et al. | Dec 2001 | B1 |
6340114 | Correa et al. | Jan 2002 | B1 |
6347163 | Roustaei | Feb 2002 | B2 |
6390362 | Martin | May 2002 | B1 |
6398112 | Li et al. | Jun 2002 | B1 |
6431452 | Feng | Aug 2002 | B2 |
6494375 | Ishibashi et al. | Dec 2002 | B1 |
6512218 | Canini et al. | Jan 2003 | B1 |
6561428 | Meier et al. | May 2003 | B2 |
6722569 | Ehrhart et al. | Apr 2004 | B2 |
6834807 | Ehrhart et al. | Dec 2004 | B2 |
6899273 | Hussey et al. | May 2005 | B2 |
20010003346 | Feng | Jun 2001 | A1 |
20010055422 | Roustaei | Dec 2001 | A1 |
20020039099 | Harper | Apr 2002 | A1 |
20020110283 | Fan et al. | Aug 2002 | A1 |
20020128796 | Matsutani | Sep 2002 | A1 |
20030034463 | Tullis | Feb 2003 | A1 |
20030089775 | Yeakley et al. | May 2003 | A1 |
20040155110 | Ehrhart et al. | Aug 2004 | A1 |
20060071081 | Wang | Apr 2006 | A1 |
Number | Date | Country |
---|---|---|
0350933 | Jan 1990 | EP |
0392159 | Oct 1990 | EP |
0439682 | Aug 1991 | EP |
0733991 | Sep 1996 | EP |
0910032 | Apr 1999 | EP |
0999514 | May 2000 | EP |
63311474 | Dec 1988 | JP |
01216486 | Aug 1989 | JP |
03020058 | Jan 1991 | JP |
4257844 | Sep 1992 | JP |
6250775 | Sep 1994 | JP |
WO-9202371 | Feb 1992 | WO |
WO-9217861 | Oct 1992 | WO |
WO-9513196 | May 1995 | WO |
WO-9524278 | Sep 1995 | WO |
WO-9534043 | Dec 1995 | WO |
WO-9639676 | Dec 1996 | WO |
WO-9708647 | Mar 1997 | WO |
WO-9737320 | Oct 1997 | WO |
WO-9950736 | Oct 1999 | WO |
WO-0072246 | Nov 2000 | WO |
WO-0122358 | Mar 2001 | WO |
WO-02080520 | Oct 2002 | WO |
Number | Date | Country | |
---|---|---|---|
20070080229 A1 | Apr 2007 | US |
Number | Date | Country | |
---|---|---|---|
60309155 | Jul 2001 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 11096912 | Apr 2005 | US |
Child | 11589699 | US | |
Parent | 10339921 | Jan 2003 | US |
Child | 11096912 | US | |
Parent | 09954081 | Sep 2001 | US |
Child | 10339921 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 08953195 | Oct 1997 | US |
Child | 09954081 | US |