WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Optical character reader    
United States Patent4809351   
Link to this pagehttp://www.wikipatents.com/4809351.html
Inventor(s)Abramovitz; Robert G. (Eugene, OR); Anderson, Jr.; Robert L. (Tigard, OR); Busse; Frederick L. (Portland, OR); Celarier; Stuart A. (Portland, OR); Poublan; Jean-Yves H. (Beaverton, OR); Shorthill; Lawrence R. (West Linn, OR)
AbstractAn optical scanning system operates asynchronously by electro-optically detecting movement of a scanning unit directly from the data being scanned. A first embodiment of the system includes two sets of optical sensors in a hand-held unit. One set extends transversely of a scanning direction for detecting the optical pattern, and a second set is approximately aligned with the scanning direction for detecting relative movement between the pattern and the scanning unit. Relative movement is detected by detecting a pattern in a first subset of the second set of sensors and then sensing a shift of the detected pattern to a second subset of the second set of sensors. In response to detecting a unit movement, the optical states of the first set of sensor elements are polled to record a portion of the pattern along the line. This response is preferably triggered indirectly by calculating an average time interval between relative movements and periodically polling the first set of sensors at a rate set by this average interval. Upon detecting a uniform optical state of the second set of sensors, such as when scanning across a blank region in the pattern, sensing of the optical state of the first sensors continues at periodic intervals so long as the uniform state continues to be detected. The optical information is thus obtained in a succession of steps, and is assembled by the host computer. A second embodiment of the system differs from the first embodiment in that the former uses a rectangular array of imaging elements arranged in rows and columns and calculates an estimate of the instantaneous rate of relative movement. Each of the rows of imaging elements is aligned generally parallel to the scanning direction and changes optical states in a manner analogous to that of the line of second imaging elements described above. The second embodiment promotes increased accuracy during collection of optical information for situations in which the scanning direction is misaligned from the optical information and the scanning velocity is nonuniform.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 4809351
Optical character reader - US Patent 4809351 Drawing
Optical character reader
Inventor     Abramovitz; Robert G. (Eugene, OR); Anderson, Jr.; Robert L. (Tigard, OR); Busse; Frederick L. (Portland, OR); Celarier; Stuart A. (Portland, OR); Poublan; Jean-Yves H. (Beaverton, OR); Shorthill; Lawrence R. (West Linn, OR)
Owner/Assignee     SABA Technologies, Inc. (Beaverton, OR)
Patent assignment
All assignments
Publication Date     February 28, 1989
Application Number     06/940,294
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     December 11, 1986
US Classification     382/313 235/474 382/323
Int'l Classification     G06K 009/22
Examiner     Boudreau; Leo H.
Assistant Examiner    
Attorney/Law Firm     Stoel Rives Boley Jones & Grey
Address
Parent Case     This application is a continuation-in-part of prior U.S. patent application Ser. No. 06/742,417, filed June 7, 1985, now abandoned.
Priority Data    
USPTO Field of Search     382/59 382/61 382/62 382/65 382/67 382/68 235/472 235/474
Patent Tags     optical character reader
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
3496363



[0 after 0 votes]
4553035
Malinsky
250/566
Nov,1985

[0 after 0 votes]
4485485
Smith
382/321
Nov,1984

[0 after 0 votes]
4418362
Nadler
358/448
Nov,1983

[0 after 0 votes]
4345278
Double
360/2
Aug,1982

[0 after 0 votes]
4260979
Smith
382/313
Apr,1981

[0 after 0 votes]
4121192
Wilson
367/129
Oct,1978

[0 after 0 votes]
4118687
McWaters
382/311
Oct,1978

[0 after 0 votes]
4072859
McWaters
250/214R
Feb,1978

[0 after 0 votes]
3947817
Requa, deceased
382/295
Mar,1976

[0 after 0 votes]
3921136
Bar-Lev
382/295
Nov,1975

[0 after 0 votes]
3906202
Meyer
235/437
Sep,1975

[0 after 0 votes]
3831009
McMillin
235/474
Aug,1974

[0 after 0 votes]
3713099
Hemstreet
382/222
Jan,1973

[0 after 0 votes]
3713100
Hemstreet
382/222
Jan,1973

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


We claim:

1. A method for scanning a pattern of optical information on a surface, comprising:

projecting a plurality of first imaging elements along a line onto the surface;

projecting at least two second imaging elements onto the surface alongside the line of first imaging elements;

moving the first and second imaging elements laterally of the line in a scanning direction across the pattern;

sensing an optical state of the second imaging elements;

detecting a change in the optical state of the second imaging elements corresponding to relative movement between the second imaging elements and the pattern;

calculating an average rate of the relative movement;

generating a signal in accordance with the detected change in optical state of the second imaging elements;

in response to the signal, sensing at periodic intervals corresponding to the calculated average rate of movement an optical state of the first imaging elements corresponding to a portion of the pattern along the line;

detecting a uniform optical state of the second imaging elements; and

initiating the sensing of optical state of the first imaging elements at the periodic intervals so long as the uniform state continues to be detected.

2. A method for scanning a pattern of optical information on a surface, comprising:

projecting a plurality of first imaging elements along a line onto the surface;

projecting at least two second imaging elements onto the surface alongside the line of first imaging elements;

moving the first and second imaging elements laterally of the line in a scanning direction across the pattern;

sensing an optical state of the second imaging elements;

detecting a change in the optical state corresponding to relative movement between the second imaging elements and the pattern;

generating a signal in accordance with the detected change in optical state of the second imaging elements;

in response to the signal, sensing an optical state of the first imaging elements corresponding to a portion of the pattern along the line;

starting a first timer when a first change is detected in the optical state of the second imaging elements;

stopping the first timer when a next change is detected in the optical state of the second imaging elements;

storing in a memory the elapsed time measured by the timer;

calculating from the elapsed time stored in the memory an average time interval between detected changes in the optical state of the second imaging elements;

repeating the above sequence of starting and stopping the first timer, storing the measured time, and calculating an updated average time each time a change is detected in the optical state of the second imaging elements; and

while the above sequence is repeating, concurrently executing the steps:

starting a second timer;

when the second timer has reached the average time most recently computed in the above-described sequence of steps, sensing the optical state of the first imaging elements; and

repeating the above two steps.

3. The method of claim 2, in which the storing step includes storing a predetermined number of successive elapsed times and, each time the above sequence is repeated, deleting the oldest stored time and storing the most recent elapsed time.

4. The method of claim 3, including initially storing a predetermined average time interval.

5. The method of claim 2, in which the storing step includes storing up to a predetermined number of successive elapsed times and, each time the above sequence is repeated, summing the stored times and dividing by the number of stored times, to calculate the average time interval.

6. A method of detecting movement of an optical scanning device in a scanning direction relative to a surface on which optical data appear, comprising:

projecting onto the surface plural optical imaging elements arranged in rows and columns to form a two dimensional array, the rows having directional components generally parallel to the scanning direction;

moving the array of optical imaging elements relative to the surface in the scanning direction;

sensing from the array of optical imaging elements a sequence of frames of output data corresponding to the optical data; and

computing from the frames of output data estimates of the speed of the movement of the array of optical imaging elements relative to the surface, the computation of the estimates of the speed of movement including detecting in a frame of output data for each row in the array, positions of adjacent imaging elements providing different output data; detecting in a succeeding frame of output data for each row in the array, positions of adjacent imaging elements providing different output data; calculating the number of changes of positions of the adjacent imaging elements for the frame and the succeeding frame of output data; and determining whether the number of changes of positions exceeds a predetermined standard value, thereby to provide an indication of the amount succeeding frames of output data.

7. A method of detecting movement of an optical scanning device in a scanning direction relative to a surface on which optical data appear, comprising:

projecting onto the surface plural optical imaging elements arranging in rows and columns to form a two dimensional array, the rows having directional components generally parallel to the scanning direction;

moving the array of optical imaging elements relative to the surface in the scanning directions;

sensing from the array of optical imaging elements a sequence of frames of output data corresponding to the optical data; detecting in a frame of output data for each row in the array, positions of adjacent imaging elements providing different output data;

detecting in a succeeding frame of output data for each row in the array, positions of adjacent imaging elements providing different output data;

calculating the number of changes of positions of the adjacent imaging elements for the frame and the succeeding frame of output data;

calculating ratios of the number of changes of positions from a frame to an adjacent frame for successive frames in the sequence; and

comparing the computed ratios to a predetermined standard value to provide an estimate of the instantaneous speed of the relative movement.
 Description Submit all comments and votes
 


TECHNICAL FIELD

This invention relates generally to optical character readers and, more particularly, to asynchronouslyoperated optical sensing devices for transferring graphic, printed, typed, or other character information into a computer.

BACKGROUND OF THE INVENTION

Systems for electronically scanning data symbols have been developed for various uses. Such systems, however, are generally limited by constraints on the character set, the requirement for a uniform scanning speed, or the awkward mechanical systems used to determine or control the position of the unit over the scanned optical information.

Most conventional optical character readers are cumbersome devices through which documents of various sizes are passed, with the documents moving through a reading zone. The document is carefully aligned and then scanned synchronously, i.e., at a fixed speed, to convert successive slices of the optical image on the document into digital form. The output digital data is computer-processed to identify the characters occupying the scanned field. In such systems, registration and synchronism between the scanning system and the document must be precisely controlled. Consequently, optical character readers typically involve relatively complex electro-mechanical optical subsystems. Accordingly, they are too expensive to be used economically in small, e.g., microcomputer, applications, such as word processing and personal computers.

In many merchandising operations, a bar code is read by an optical scanning device to provide accounting and inventory information for the merchandiser. The well defined spacing of the bars, together with their considerable length, enables hand-held or stationary scanning units to be used without requiring a uniform scanning speed or precise registration between the scanning system and the bar code tag.

One method for compensating a seven line bar code reader against the speed variations inherent in a hand-held scanning unit is shown in IBM Technical Disclosure Bulletin, Vol. 14, No. 8, pp. 2407-08, January, 1972. The bar code data are encoded in the six spaces between the seven vertical lines of a bar code. A unit distance between vertical lines corresponds to a logic zero, and a two unit distance corresponds to a logic one. The bar code character set is constrained so that the first space of each code is always a logic zero. In operation, the reader first measures the time spent reading the first unit space. Velocity variation is then controlled by measuring the read time of each subsequent digit and comparing it to that of the previous digit. If it is substantially equal to the first space read time, the second space read time is recognized as a logic zero and is then stored for comparison to the third space read time. If it is substantially longer than the first space read time, the second space read time is recognized as a logic one, divided in half, and stored for comparison to the third space read time. This cycle of reading a space and updating the reference time is repeated until the bar code is completely read. Although the IBM system is effective in certain applications, it is inapplicable when the character set is not constrained by known data at the beginning of each string. Furthermore, such a system cannot track the position of the sensor over uniform character data, such as all black or all white.

One optical text scanning system has recently been proposed as an adjunct to word processing systems to facilitate input of textual data into the memory of a computer. Such system is the Omni-Reader marketed by Oberon International. In the Omni-Reader, a page of text, printed in one of four standard type faces, is mounted on a scanning platform. A scanning head, mounted on a specially engineered guide rule, is moved manually over the text to convert the text into machine-readable form. Such system employs a single optical sensor and associated circuitry to sense a repeated, asymmetric pattern of dots and dashes on the guide rule, thereby to detect movement and scanning direction of the scanning head along the guide rule and to synchronize data acquisition with movement. Precise alignment of the text with the guide rule is required for proper operation. The Omni-Reader is, however, unable reliably to recognize dot matrx, newsprint, letterhead, graphics, foreign language, and handwritten materials.

U.S. Pat. No. 3,947,817 to Requa, deceased et al. shows an optical data reader for point-of-sale terminals which uses a two-dimensional self-scanned photodiode array in a hand-held scanning unit. The size of the array is chosen and the device is operated so that an entire character is scanned at one time. The constrained character set used on the inventory tags obviates the need to determine the relative spacing of the characters or to note the presence of blank areas.

U.S. Pat. No. 4,118,687 to McWaters et al. shows a portable optical character recognition system using a two-dimensional array of optical sensors. The optical sensors are described in the above Requa, deceased et al. patent. The disclosure of McWaters et al. is directed to the system's internal editing and formating functions, such as ignoring spaces in the text. U.S. Pat. No. 4,072,859 to McWaters discloses a control circuit to automatically remove power from the recognition circuits of the optical character recognition system when the hand-held scanner is not being used.

U.S. Pat. No. 3,713,100 to Hemstreet shows an optical character recognition system which compares the scanned data with a stored set of character data to identify the character being scanned. U.S. Pat. No. 3,713,099 to Hemstreet describes the conversion of scanned data into parallel form and its comparison with symbolic reference data. A comparison yields an analog output signal indicative of the degree of match.

U.S. Pat. No. 3,496,363 to Rome shows the use of nonparallel arrays of light-responsive elements in a scanner for tracking the position of a star in the sky.

None of the foregoing devices is capable of reliable, hand-held operation to scan unconstrained optical data and input such data into a computer as they are being scanned.

Accordingly, a need remains for an optical character reader which can operate manually at irregular speeds and with imperfect alignment, reliably to scan alphanumeric, graphic, and other optical data of any kind.

SUMMARY OF THE INVENTION

One object of the present invention is to provide an economical hand-held scanner for optically sensing a pattern on a surface.

Another object of the present invention is to provide a reliable method and scanning apparatus for asynchronously scanning unconstrained data patterns, such as typewritten text.

A further object of the present invention is to provide a hand-held scanning unit that can be used at irregular speeds and without precise alignment, yet accurately record optical information from scanned optical data.

Yet another object of the present invention is to provide an optical scanning unit for use with an unconstrained set of optical data.

The preferred embodiments of the optical scanning unit of the present invention operate asynchronously by electro-optically detecting movement of a scanning unit directly from the data being scanned.

A first preferred method of operation includes projecting plural first imaging elements along a character-imaging line onto a surface containing an optical data pattern and projecting at least two second imaging elements onto the surface alongside the line of first imaging elements. A user moves the first and second imaging elements across the pattern laterally in a scanning direction generally normal to the character-imaging line, and electronic circuitry senses the optical states of the second imaging elements to detect a change in optical state which change corresponds to relative movement between the second imaging elements and the pattern. The occurrence of relative movement in the scanning direction can be detected by first detecting a pattern in a first subset of the second imaging elements and then sensing a shift of the detected pattern to a second subset of such elements toward a trailing end of the set of the second imaging elements.

In response to detecting a unit increment of movement, electronic circuitry senses the optical states of the first imaging elements to detect a portion of the pattern along the character-imaging line. The response to detection of such relative movement can be directly or instantaneously triggered, but in this embodiment is preferably triggered indirectly by calculating an average rate of relative movement and triggering each sensing of the first imaging elements at periodic intervals corresponding to the calculated average rate of relative movement. Upon detection of a uniform optical state of the second imaging elements, such as when scanning across a blank region in the pattern, sensing of the optical state of the first imaging elements is triggered at such periodic intervals so long as said uniform state continues to be detected. The optical information is thus obtained in a succession of steps and is assembled by the host computer.

The host computer may use and execute character recognition procedures on the acquired composite optical information, or merely use such information in its raw form if it represents graphical or architectural data. The use of an integral motion detection system obviates the need for a uniform scanning rate, yet accurately reproduces spacing and distances in two dimensions directly from the pattern being scanned.

A second preferred method of operation differs from the first preferred method in that the former uses a rectangular array of imaging elements arranged in rows and columns and calculates an estimate of the instantaneous rate relative movement. Each of the rows of imaging elements is aligned parallel to the scanning direction and changes optical states in a manner analogous to that of the line of second imaging elements described above. The second preferred method promotes increased accuracy during collection of optical information for situations in which the scanning direction is misaligned from the optical information and the scanning velocity is nonuniform.

The foregoing objects, features, and advantages of the present invention will be more readily apparent from the following detailed description of preferred embodiments thereof which proceeds with reference to the accompanying drawings.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a cross-sectional view of a hand-held optical character-reading device according to the invention, showing the arrangement of the optical elements of the device.

FIG. 2 is an enlarged plan view of the optical imaging elements in the first preferred embodiment of the device of FIG. 1, projected onto exemplary optical data.

FIG. 3 is a plan view of an alternate form of the imaging element array of FIG. 2.

FIG. 4 is a block diagram of the electronic signal processing circuitry used in the first preferred embodiment of the device of FIG. 1, together with interface circuitry for connecting the device to a host computer.

FIG. 5 is a block diagram similar to FIG. 4, showing an alternate form of optical system and associated electrical circuitry, utilizing a single photodiode and a plurality of collimated light sources to form the array of imaging elements.

FIGS. 6A and 6B are flowcharts of operation of the device of FIGS. 1-5 according to the invention.

FIG. 7 is a schematic of the optical imaging elements and associated multiplexing circuitry of the first preferred embodiment, illustrating concurrent sensing of optical data by both lines of sensors.

FIG. 8 is an enlarged plan view of the optical imaging elements the second preferred embodiment of the device of FIG. 1.

FIGS. 9A and 9B show a block diagram of the electronic signal processing circuitry used in the second preferred embodiment of the device of FIG 1, together with interface circuitry for connecting the device to a host computer.

FIGS. 10A and 10B show a detailed block diagram of the motion detection circuitry shown in FIG. 9A and 9B.

FIG. 11 is a timing diagram showing the timing relationships of certain signals processed by and developed in the motion detection circuitry of FIGS. 10A and 10B.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

Referring to FIG. 1, the first and second preferred embodiments of the invention employs a hand-held scanning device or "mouse" 20. This scanning device is connected by power, clock and serial data lines 22 to processing circuitry 24 (FIG. 4) on an electronic interface card in a host computer, such as an IBM PC or other personal microcomputer (not shown). Scanning device 20 includes a housing for an optical scanning system 26, a pair of circuit boards 28a, 28b supporting circuit 28 (FIG. 4), and a manually actuable push button switch or read key 30. The housing is divided into interlocking upper and lower casing halves 32 and 34, respectively. Upper casing half 32 is sized and shaped to fit comfortably within a user's hand, and read key 30 is centered in the top of the casing for convenient operation by the user's index finger. Lower casing half 34 has a flat bottom for smoothly interfacing with a flat surface 36, such as a sheet of paper bearing an optical data pattern. Circuit boards 28a and 28b are stacked in spaced parallel relationship and mounted in lower casing half 34. The casing has at its front end a narrow nose portion 38 which is covered by a transparent shell 39, so that the user can view the optical data along each side of nose portion 38.

The optical system 26 includes within nose portion 38 a vertical channel 40 which extends to an opening 42 in the plane of the bottom wall of lower casing 34. A pair of white lights 44, 46 are mounted on opposite walls of channel 40 just above opening 42 for illuminating a pattern on surface 36. Light from the lamps is reflected from the surface and modulated by the pattern on the surface. Light reflected upwardly traverses a vertical path 48 to a front-silvered mirror 50 positioned at a 45.degree. angle to reflect the light rearwardly along line 52 within the casing. The light passes through an achromatic lens 54 to a second front-silvered mirror 56 positioned anti-parallel to mirror 50 so as to reflect the light upward along line 58 to a photodiode array 60 of the first embodiment or photodiode array 202 of the second embodiment.

Referring to FIG. 2, the photodiode array 60 of the first embodiment includes a character-image line of diodes 62 and a movement sensor line of diodes 64. The two lines of diodes are preferably oriented at right angles, with the movement sensor line of diodes 64 centered between the ends of the character-image line of diodes, to form a T-shaped array. The lines of diodes are oriented so that the character-image line 62 is normal to the scanning direction, indicated by arrow 67, and the movement sensor line 64 extends in the scanning direction from the character-image line. Alternatively, for two-directional scanning, a "+"-shaped array as shown in FIG. 3 can be used. Other orientations of the character-image and movement sensor lines can be used, depending on the application. For ease of manufacture, a rectangular photodiode array can be employed, with the unused diodes being masked either in the array output circuitry or in processing software. A charge-couple device (CCD) may be substituted for the photodiode array. In the first preferred embodiment, a custom, T-shaped photodiode is used, eliminating the need to tailor the scanning pattern by hardware or software.

The photodiode array is sized so that character-image line 62 of photodiodes fully encompasses the optical data patterns expected to be scanned by the device. FIG. 2 illustrates a 12 pitch gothic type letter "A" as viewed through the optical array. Lens 54 and the distances along lines 48, 52, 58 are dimensioned to provide a 1:1.3 relationship between the pattern being scanned and the image at the photodiode array. Accordingly, FIG. 2 is a projection, to scale, of imaging elements defined by the photodiode array, onto surface 36 over the character A. The photodiodes and optical system are sized and spaced to provide a resolution roughly corresponding to that of the human eye. A suitable unit spacing for the diodes is 0.0055" center to center. Forty diodes are used in the character-image line, and 16 diodes are used in the movement sensor line.

Referring to FIG. 4, the photodiode array 65 is symbolically shown using the conventional diode symbol. For simplicity, only three photodiodes are shown, with the understanding that they represent the entire 56-diode array shown in FIG. 2. The outputs of the photodiode array are applied to the inputs of a multiplexer 70, shown in further detail in FIG. 7. The multiplexer has two analog outputs, an output line 72 for analog image data from character sensor line 62 and an output line 74 for analog movement data from movement sensor line 64.

For use of scanning device 20 to scan typewritten text or other black and white data patterns, the image and movement sensor outputs are digitized, by analog-to-digital converters 76, 78, respectively, into binary quantities, with a logic 0 representing light and a logic 1 representing dark. The binary image and movement data are input to serial-to-parallel converters 80, 82, respectively.

As explained hereinafter, operation of the multiplexer and serial-to-parallel converters is controlled by a clock 84 through clock lines 86, 87, 88. During each clock cycle on line 86, two diodes in the photodiode array are scanned, one in the character-image line 62 and one in the movement sensor line 64, as illustrated in FIG. 7. Two separate multiplexer sections 70a, 70b are provided, one connected to each line of photodiodes, for performing this parallel multiplexing function.

The image data serial-to-parallel converter 80 is an 8-bit converter and movement data converter 82 is a 16-bit converter. The 16 parallel output lines from converter 82 are connected to a microprocessor 90 which is programmed, as discussed hereinafter, to detect movement of the optical data pattern along the line-of-movement sensor photodiodes and to provide an output signal corresponding to such movement.

The eight output lines from the image data serial-to-parallel converter 80 are applied, under control of a load signal from the microcomputer on line 92 and through gates 94, to the inputs of a temporary random access memory 96. The temporary RAM is sized to accumulate a plural slices of image data, for example, six slices of 40 bits each. RAM 96 has an 8-bit parallel output bus connected through an array of gates 98 to the data inputs of the host computer (not shown).

The interface circuit 24 includes a host computer address bus, which is connected through a first array of address gates 100 to the temporary RAM to the microprocessor. A secondary array of address gates 102 is provided in the address bus between the microprocessor and the temporary RAM. The microprocessor has an output signal line 104 for transmitting a host interrupt signal to the host computer. The host computer in turn has a set of parallel host control signal lines connected to a host control logic subcircuit 106. The host control logic has, as an output, a host enable signal line 108, which controls operation of gates 98, 100, 102. The host enable signal is input to gate 102 through an inverter 110 and an AND gate 112. The AND gate has, as a second input, the movement signal which appears on signal line 92.

Referring to FIG. 5, an alternative form 128 of the optical system 26 and associated circuitry reverses the relative positions of the light sources and sensors. Instead of photodiode sensors, the imaging array 62, 64 can be formed by an array of light-emitting diodes 165, arranged as in FIGS. 2 or 3. Instead of lamps 44, 46, a phototransistor 144 is used to detect light emitted by the LEDs and reflected back from surface 36. Interface circuit 124 is substantially the same as circuit 24 and like parts are numbered using the same reference numerals as in circuit 24.

Circuit 128, which controls operation of the light-emitting diodes, includes a counter 130 connected to signal line 86 from clock 84. The counter provides an output count corresponding to the number of imaging elements in the array, for example, from 1 to 56. The output count is transmitted via signal line 132 to a demultiplexer 134, which turns each successively-numbered light-emitting diode on and off in turn. As each LED is turned on, it projects light parallel to the path of lines 58, 52, 48 (FIG. 1) onto surface 36, illuminating the point imaged by its respectively-numbered imaging element in lines 62, 64 (FIG. 2). The clock signal from clock 84 is also input via line 136 to a second counter 138 which has two output lines, 140, 142. On line 140, the counter provides a count equal to the number of imaging elements in the image data array (e.g., 40) to serial-to-parallel converter 80. The count is continued on output line 142 for the number of imaging elements in line 64 (e.g., 16), to control serial-to-parallel converter 82. Each increment of the count on line 140 inputs a bit of data via line 145, which corresponds to the signal received by phototransistor 144. If the illuminated imaging element is light, a logic 0 is input into the like numbered location of converter 80, 82. If such imaging element is dark, a logic 1 is input to the corresponding location in the converters, as controlled by counter 138. The operation of the circuit of FIG. 5 is otherwise substantially the same as that of FIG. 4.

With reference to FIG. 4, the clock 84 provides a 2.5 MHz signal that is divided by sixteen to provide a 156.25 KHz clock to the photodiode array multiplexer 70. During each clock cycle, two diodes of photodiode array 65 are scanned by the multiplexer, as discussed below with reference to FIG. 7. The entire scanning of the photodiode array takes 42 clock cycles, 40 cycles for the photodiodes themselves, and 2 cycles at the end of the scan for the capacitors of the charge-coupled array to recharge (in effect, a vertical retrace period). Thus, each scan of the photodiode array produces two streams of 42 bits to the two serial-to-parallel converters. The character-image serial- to-parallel converter 80 receives a string of 40 data bits followed by 2 vertical retrace bits (X) (FIG. 7). Serial-to-parallel converter 80 masks the 2 retrace bits and provides to gate 94 a parallel output containing the 40 data bits in five 8-bit bytes.

The 42 bit data string fed to the position detector serial-to-parallel converter 82 contains, at its beginning, 16 bits corresponding to the 16 motion-detecting photodiodes. Following this string are 24 dummy bits (Y) (FIG. 7), inserted in the string to compensate for the difference between the character sensing array of 40 elements and the motion sensing array of 16 elements. Again, the 42 bit data string includes 2 dummy bits at the end corresponding to the vertical retrace. The output of motion-sensing serial-to-parallel converter 82 is a single, 16-bit word corresponding to the 16 motion-sensing photodiodes.

The scanning system is designed to operate at a maximum scanning speed of 4 inches per second. At speeds above this rate, it would be difficult manually to maintain the scanning mouse over the single line of text. The resolution of the system is 180 dots per inch. The entire array is scanned in about 268 microseconds (42 cycles at 156.25 kilohertz) and the rate of scanning (column rate) is 1.4 milliseconds per column of data (4 inches per second at 180 columns per inch). Consequently, the system typically scans the character-sensing photodiodes at least five times before it senses a change in the state of the motion-sensing diodes due to relative motion. The repetitive scanning of the same column of data allows the processor periodically to perform other functions, such as transferring data to the host computer, without missing relevant motion data.

The microprocessor, a Motorola MC146805E2, has a 1 MHz internal instruction frequency, which is internally generated from an external 5 MHz crystal. The microprocessor is programmed, in accordance with the flowcharts described later, to detect increments of movement as sensed by the position sensing photodiode array. The microprocessor intermittently issues a load signal on line 92, at intervals corresponding to the