Patent US5615283A successfully refreshed from Google Patents.
US5615283A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Pattern recognition device
Assignee: Hewlett Packard Development Co LP
•
Filing: 1994-09-23
•
Granted: 1997-03-25
•
Expires: 2014-09-23
Abstract
Abstract A pattern recognition device tracks the angular movements made by a pointing device such as a mouse in generating a pattern of lines. A pattern code is generated if the angular movements match those of a pattern code in a lookup table. The pattern matching for the shape is done without regard to size, is insensitive to expected variations in hand-drawn strokes, requires minimal computer processing and data storage, and can distinguish between identical patterns that differ only in the order in which their constituent line segments were drawn.
Inventors
- 👤 Dale R. Donchin
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-09 17:33
CPC Classifications
G; G06; G06V; G06V30/00; G06V30/10; G06V30/32; G06V30/333; G06V30/347; G06V30/36; G06V30/373
Claims Analysis
Total Claims: 11
Claim 1
Independent Claim
369 words
A machine executed method of generating an output signal encoding a hand drawn pattern forming one or more disjoint, connected, directed line segments drawn sequentially on a computer display, said method comprising the steps of: (a) allocating addressable storage for an angle list, referred to as angle-list storage; (b) sampling strokes of said hand drawn pattern to produce a series of digitized drawn points, each said drawn point having coordinates with respect to a reference coordinate system for said display; (c) storing in said angle-list storage a list of the respective angles of each said line segment with respect to a directed reference axis of said display, referred to as an angle list, said storing step comprising the substeps of: (1) declaring the coordinates of an initial said drawn point as the coordinates of a line segment starting point; (2) determining a current angle A C , with respect to the directed reference axis, of a directed subsegment having as its endpoints (A) the line segment starting point and (B) the Kth drawn point after the line segment starting point; (3) if the value of the current angle A C differs from the value of a previous angle A P by more than a specified nominal difference φ, where the initial value of said previous angle A P is equal to the current angle A C , then (A) appending the value of the current angle A C to said angle list in said angle-list storage, and (B) replacing the value of the angle A P with the value of the current angle A C ; and (4) repeating steps (c)(2) through (c)(3) for each successive set of K consecutive drawn points; (d) searching a lookup table stored in a memory for a match with the angle list stored in step (c) above, said lookup table comprising (A) a set of pattern codes each representing a specified pattern of line segments, and (B) for each said pattern code, a list of angles of the specified pattern of line segments represented by the pattern code; and (e) if a match is found in step (d) above, then generating a signal encoding the matched pattern code, else generating a NO-MATCH signal.
Claim 2
Dependent Claim
369 words
A machine executed method of generating an output signal encoding a hand drawn pattern forming one or more disjoint, connected, directed line segments drawn sequentially on a computer display, said method comprising the steps of: (a) allocating addressable storage for an angle list, referred to as angle-list storage; (b) sampling strokes of said hand drawn pattern to produce a series of digitized drawn points, each said drawn point having coordinates with respect to a reference coordinate system for said display; (c) storing in said angle-list storage a list of the respective angles of each said line segment with respect to a directed reference axis of said display, referred to as an angle list, said storing step comprising the substeps of: (1) declaring the coordinates of an initial said drawn point as the coordinates of a line segment starting point; (2) determining a current angle A C , with respect to the directed reference axis, of a directed subsegment having as its endpoints (A) the line segment starting point and (B) the Kth drawn point after the line segment starting point; (3) if the value of the current angle A C differs from the value of a previous angle A P by more than a specified nominal difference φ, where the initial value of said previous angle A P is equal to the current angle A C , then (A) appending the value of the current angle A C to said angle list in said angle-list storage, and (B) replacing the value of the angle A P with the value of the current angle A C ; and (4) repeating steps (c)(2) through (c)(3) for each successive set of K consecutive drawn points; (d) searching a lookup table stored in a memory for a match with the angle list stored in step (c) above, said lookup table comprising (A) a set of pattern codes each representing a specified pattern of line segments, and (B) for each said pattern code, a list of angles of the specified pattern of line segments represented by the pattern code; and (e) if a match is found in step (d) above, then generating a signal encoding the matched pattern code, else generating a NO-MATCH signal.
Claim 3
Dependent Claim
62 words
A method according to claim 1, wherein said storing step (c) further comprises the substeps of: (c)(5) deleting from the angle list any values of angles corresponding to noise; and (c)(6) replacing any two consecutive values in the angle list that differ by less than a specified difference φ with a single value that approximates an average of said two consecutive values.
Claim 4
Dependent Claim
51 words
The method of claim 2, wherein the value of an angle A i is deleted from the list in step (c)(5) if it differs both from the value of a previous angle A i-1 and from the value of a successor angle A i+1 by more than a specified difference Θ.
Claim 5
Dependent Claim
82 words
The method of claim 1, wherein a match, in the search of step (d), between the angle list and a candidate angle list in the lookup table is defined as occurring if (A) the mumbet of angle values in the angle list is equal to the number of angle values in the candidate angle list, and (B) each successive angle in the angle list differs from the corresponding angle in the candidate angle list by no more than a specified tolerance τ.
Claim 6
Dependent Claim
490 words
A machine executed method of generating an output signal encoding a hand drawn pattern, said method comprising the steps of: (a) allocating addressable storage for an angle list, referred to as angle-list storage; (b) sampling strokes of said hand drawn pattern to produce a series of drawn coordinate points; (c) storing in said angle-list storage an ordered list of the respective angles of each line segment in said hand drawn pattern, with respect to a directed reference axis of a display, referred to as an ordered angle list, said storing step including the substeps of: (1) declaring the coordinates of an initial drawn point as the coordinates of a line segment starting point; (2) determining a current angle A C , with respect to the directed reference axis, of a directed subsegment having as its endpoints (A) the line segment starting point and (B) the Kth drawn point after the line segment starting point; (3) if the value of the current angle A C differs from the value of a previous angle A P by more than a specified nominal difference φ, where the initial value of the previous angle A P is equal to the current angle A C , then (A) appending the value of the current angle A C to the ordered angle list, and (B) replacing the value of the angle A P with the value of the current angle A C ; and (4) repeating steps (c)(2) through (c)(3) for each successive set of K consecutive drawn points; (5) deleting from the ordered angle list any value of an angle A i , if it differs both from the value of a previous angle A i-1 , and from the value of a successor angle A i+1 by more than a specified difference Θ; and (6) replacing any two consecutive values in the ordered angle list that differ by less than a specified difference φ with a single value that approximates an average of said two consecutive values; (d) searching a lookup table stored in a memory for a match with the ordered angle list stored in step (c) above, (1) said lookup table comprising (A) a set of pattern codes each representing a specified pattern of line segments, and (B) for each said pattern code, a list of angles of the specified pattern of line segments represented by the pattern code, referred to as a candidate angle list, (2) a match being is defined as occurring if (A) the number of angle values in the ordered angle list is equal to the number of angle values in the candidate angle list, and (B) each successive angle in the ordered angle list differs from the corresponding angle in the candidate angle list by no more than a specified tolerance τ; and (e) if a match is found in step (d) above, then generating a signal encoding the matched pattern code, else generating a NO-MATCH signal.
Claim 7
Dependent Claim
490 words
A machine executed method of generating an output signal encoding a hand drawn pattern, said method comprising the steps of: (a) allocating addressable storage for an angle list, referred to as angle-list storage; (b) sampling strokes of said hand drawn pattern to produce a series of drawn coordinate points; (c) storing in said angle-list storage an ordered list of the respective angles of each line segment in said hand drawn pattern, with respect to a directed reference axis of a display, referred to as an ordered angle list, said storing step including the substeps of: (1) declaring the coordinates of an initial drawn point as the coordinates of a line segment starting point; (2) determining a current angle A C , with respect to the directed reference axis, of a directed subsegment having as its endpoints (A) the line segment starting point and (B) the Kth drawn point after the line segment starting point; (3) if the value of the current angle A C differs from the value of a previous angle A P by more than a specified nominal difference φ, where the initial value of the previous angle A P is equal to the current angle A C , then (A) appending the value of the current angle A C to the ordered angle list, and (B) replacing the value of the angle A P with the value of the current angle A C ; and (4) repeating steps (c)(2) through (c)(3) for each successive set of K consecutive drawn points; (5) deleting from the ordered angle list any value of an angle A i , if it differs both from the value of a previous angle A i-1 , and from the value of a successor angle A i+1 by more than a specified difference Θ; and (6) replacing any two consecutive values in the ordered angle list that differ by less than a specified difference φ with a single value that approximates an average of said two consecutive values; (d) searching a lookup table stored in a memory for a match with the ordered angle list stored in step (c) above, (1) said lookup table comprising (A) a set of pattern codes each representing a specified pattern of line segments, and (B) for each said pattern code, a list of angles of the specified pattern of line segments represented by the pattern code, referred to as a candidate angle list, (2) a match being is defined as occurring if (A) the number of angle values in the ordered angle list is equal to the number of angle values in the candidate angle list, and (B) each successive angle in the ordered angle list differs from the corresponding angle in the candidate angle list by no more than a specified tolerance τ; and (e) if a match is found in step (d) above, then generating a signal encoding the matched pattern code, else generating a NO-MATCH signal.
Claim 8
Dependent Claim
27 words
A program storage device readable by a machine and having a program of instructions executable by the machine to perform the steps of claim 5 stored thereon.
Claim 9
Dependent Claim
335 words
A machine executed method of generating an output signal encoding a hand drawn pattern, said method comprising the steps of: (a) sampling strokes of a hand drawn pattern to produce a series of drawn coordinate points; (b) storing an ordered list of the respective angles of each line segment within said hand drawn pattern, with respect to a directed reference axis of a display, referred to as an ordered angle list, each angle in said ordered angle list having an associated strength value, said storing step including the substeps of: (1) declaring the coordinates of an initial drawn point as the coordinates of a line segment starting point; (2) determining a current angle A C , with respect to the directed reference axis, of a directed subsegment having as its endpoints (A) the line segment starting point and (B) the Kth drawn point after the line segment starting point; (3) if the value of the current angle A C does not differ from the value of a previous angle A P by more than a specified nominal difference φ, then (A) replacing the value of the angle A P with the average of angle A C and angle A P and (B) incrementing by 1 a strength value associate with angle A P ; (4) if the value of the current angle A C differs from the value of a previous angle A P by more than said specified nominal difference φ, then appending the value of the current angle A C to the ordered angle list; and (5) repeating steps (b)(2) through (b)(4) for each successive set of K consecutive drawn points; (c) deleting those angles in said ordered angle list having a strength value equal to 1; (d) searching a lookup table stored in a memory for a match with the ordered angle list stored in step (b); and (e) if a match is found in step (d) above, then generating a signal encoding the matched pattern code, else generating a NO-MATCH signal.
Claim 10
Dependent Claim
335 words
A machine executed method of generating an output signal encoding a hand drawn pattern, said method comprising the steps of: (a) sampling strokes of a hand drawn pattern to produce a series of drawn coordinate points; (b) storing an ordered list of the respective angles of each line segment within said hand drawn pattern, with respect to a directed reference axis of a display, referred to as an ordered angle list, each angle in said ordered angle list having an associated strength value, said storing step including the substeps of: (1) declaring the coordinates of an initial drawn point as the coordinates of a line segment starting point; (2) determining a current angle A C , with respect to the directed reference axis, of a directed subsegment having as its endpoints (A) the line segment starting point and (B) the Kth drawn point after the line segment starting point; (3) if the value of the current angle A C does not differ from the value of a previous angle A P by more than a specified nominal difference φ, then (A) replacing the value of the angle A P with the average of angle A C and angle A P and (B) incrementing by 1 a strength value associate with angle A P ; (4) if the value of the current angle A C differs from the value of a previous angle A P by more than said specified nominal difference φ, then appending the value of the current angle A C to the ordered angle list; and (5) repeating steps (b)(2) through (b)(4) for each successive set of K consecutive drawn points; (c) deleting those angles in said ordered angle list having a strength value equal to 1; (d) searching a lookup table stored in a memory for a match with the ordered angle list stored in step (b); and (e) if a match is found in step (d) above, then generating a signal encoding the matched pattern code, else generating a NO-MATCH signal.
Claim 11
Dependent Claim
27 words
The method of claim 7 further comprising performing steps (b)(2) through (b)(4) for each pair of consecutive angles in said ordered angle list after performing step (c).
References Cited (Backward Citations)
US4622641A
Cited
US4653107A
Cited
US4686522A
Cited
US4718103A
Cited
US4878249A
Cited
US4984152A
Cited
US4896291A
Cited
US4937564A
Cited
US5038382A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2000-03-24 | 2000-09-23 | 2001-03-25 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2004-03-24 | 2004-09-23 | 2005-03-25 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2008-03-24 | 2008-09-23 | 2009-03-25 | $7700.00 | Window Closed / Lapsed |