Patent US5023918A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5023918A Expired / Lapsed US ⏱️ 0.0 years remaining

Cross-product filter

Assignee: International Business Machines Corp
•
Filing: 1989-10-03
•
Granted: 1991-06-11
•
Expires: 2009-10-03
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Method and apparatus for filtering a sequence of digital values representative of endpoints of vectors which represent the stroke of a writing instrument on a writing tablet. The cross-product and dot-product of the vectors comprising the stroke are computed to produce a sample of points which are close together where the stroke curves sharply, and which are further apart where the stroke is substantially straight.

Inventors

  • 👤 James S. Lipscomb

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 16:06
CPC Classifications
G; G06; G06F; G06F3/00; G06F3/01; G06F3/03; G06F3/041; G06V; G06V30/00; G06V30/10; G06V30/32; G06V30/333; G06V30/347

Claims Analysis

Total Claims: 14
Claim 1
Independent Claim 82 words
A method of filtering a first series of indicia comprised of n indicium representing a stroke of a writing instrument on a writing surface, said method comprising the steps of: detecting said first series of indicia generated by said writing instrument on said writing surface; and taking the cross-product of successive vectors formed between successive indicium in said first series of indicia comprising said stroke, to provide a filtered stroke having a second series of indicia comprised of m indicia where m<n.
Claim 2
Independent Claim 82 words
A method of filtering a first series of indicia comprised of n indicium representing a stroke of a writing instrument on a writing surface, said method comprising the steps of: detecting said first series of indicia generated by said writing instrument on said writing surface; and taking the cross-product of successive vectors formed between successive indicium in said first series of indicia comprising said stroke, to provide a filtered stroke having a second series of indicia comprised of m indicia where m<n.
Claim 3
Dependent Claim 17 words
The method of claim 1, including the step of displaying said filtered stroke on said writing surface.
Claim 4
Independent Claim 77 words
A method of filtering a first series of n digital signals representing n points on a stroke of a stylus on a tablet, said method comprising the steps of: detecting said first series of n digital signals generated by said stylus on said tablet; and taking the cross-product and the dot product of successive vectors defined by successive points on said stroke to provide a filtered stroke formed of a second series of m points, where m<n.
Claim 5
Independent Claim 77 words
A method of filtering a first series of n digital signals representing n points on a stroke of a stylus on a tablet, said method comprising the steps of: detecting said first series of n digital signals generated by said stylus on said tablet; and taking the cross-product and the dot product of successive vectors defined by successive points on said stroke to provide a filtered stroke formed of a second series of m points, where m<n.
Claim 6
Independent Claim 136 words
A method of filtering a first series of indicia comprised of n indicia representing a stroke of a writing instrument on a writing surface, to produce a second series of indicia comprised of m indicia, where m<n, said method comprising the steps of: collecting said first series of indicia by said writing instrument on said writing surface; determining a cross-product threshold value for a cross-product of successive vectors formed between successive ones of said n indicia of said first series of indicia comprising said stroke; and computing the cross-product of successive vectors formed between successive ones of said n indicia of said first series of indicia comprising said stroke, to produce a given one of said m indicia in said second series of indicia whenever said cross-product has a predetermined relationship to said cross-product threshold value.
Claim 7
Independent Claim 136 words
A method of filtering a first series of indicia comprised of n indicia representing a stroke of a writing instrument on a writing surface, to produce a second series of indicia comprised of m indicia, where m<n, said method comprising the steps of: collecting said first series of indicia by said writing instrument on said writing surface; determining a cross-product threshold value for a cross-product of successive vectors formed between successive ones of said n indicia of said first series of indicia comprising said stroke; and computing the cross-product of successive vectors formed between successive ones of said n indicia of said first series of indicia comprising said stroke, to produce a given one of said m indicia in said second series of indicia whenever said cross-product has a predetermined relationship to said cross-product threshold value.
Claim 8
Dependent Claim 87 words
The method of claim 4, including the steps of: computing the dot-product of successive vectors formed between successive ones of said n indicium of said first series of indicia comprising said stroke; determining a dot-product threshold value for said dot-product of successive vectors formed between successive ones of said n indicia of said first series of indicia comprising said stroke; producing said given one of said m indicia in said second series of indicia only when said dot-product has a predetermined relationship to said dot-product threshold value.
Claim 9
Independent Claim 224 words
A method of filtering a series of signals representative of n points, where n is an integer, on an input stroke produced by a writing instrument on a writing surface, for producing an output stroke comprised of m points, where m is an integer, and m<n, said method comprising the steps of: (a) collecting said series of signals representing said n points on said input stroke; (b) outputing the first of said n points as the first of said m points of said output stroke; (c) inspecting at least points a, b and c of said n points on said input stroke starting with the first of said n points; (d) determining the cross product of vectors ab and bc; (e) setting b=b+1 and c=c+2 if the cross product of ab and bc are below a predetermined threshold, and repeat step (d); (f) outputing b as one of said m points of said output stroke if the cross product of ab and bc are not below said predetermined threshold; (g) restarting the inspection of points a, b and c at the point b output in step (f), with a=restart point b=restart point +1 c=restart point +2; (h) repeating steps (d) through (g) until c is greater than n; and (i) outputing n as the last point of said m points in said output stroke.
Claim 10
Independent Claim 224 words
A method of filtering a series of signals representative of n points, where n is an integer, on an input stroke produced by a writing instrument on a writing surface, for producing an output stroke comprised of m points, where m is an integer, and m<n, said method comprising the steps of: (a) collecting said series of signals representing said n points on said input stroke; (b) outputing the first of said n points as the first of said m points of said output stroke; (c) inspecting at least points a, b and c of said n points on said input stroke starting with the first of said n points; (d) determining the cross product of vectors ab and bc; (e) setting b=b+1 and c=c+2 if the cross product of ab and bc are below a predetermined threshold, and repeat step (d); (f) outputing b as one of said m points of said output stroke if the cross product of ab and bc are not below said predetermined threshold; (g) restarting the inspection of points a, b and c at the point b output in step (f), with a=restart point b=restart point +1 c=restart point +2; (h) repeating steps (d) through (g) until c is greater than n; and (i) outputing n as the last point of said m points in said output stroke.
Claim 11
Dependent Claim 93 words
The method of claim 6, including the steps of: (j) restarting the inspection of points a, b and c at the last b output in step (f), if c>n, with: a=n-1 b=n-2 c=n-3; (k) determining the cross product of vectors ab and bc; (l) setting b=b-1 and c=c-2 if the cross product of ab and bc are below a predetermined threshold, and repeat step (k); and (m) outputing b as one of said m points of said output stroke if the cross product of ab and bc are not below said predetermined threshold.
Claim 12
Independent Claim 328 words
A method of filtering a series of signals representative of n points Po. . . Pn-1, where n is an integer, on an input stroke produced by a writing instrument on a writing surface, for producing an output stroke comprised of m points, where m is an integer, and m<n, said method comprising the steps of: (a) collecting said series of signals representing said n points Po. . . Pn-1 on said input stroke; (b) calculating the size of said input stroke; (c) calculating a cross product threshold and a dot product threshold based on the size of said input stroke; (d) outputing Po as the first of said m points of said output stroke; (e) inspecting at least points a, b and c of said n points on said input stroke starting with Po, with: a=0 b=1 c=2; (f) determining if c>n; (g) determining the cross product and dot product of vectors ab and bc; (h) setting b=b+1 and c=c+2 if the cross product of ab and bc are below said cross product threshold and the dot product of ab and bc are greater than said dot product threshold, and repeat steps (f) and (g); (i) determining if point b or c is wild; (j) setting b=b+1 and c=c+2 if b or c is wild, and repeat steps (f) and (g); (k) outputing b as one of said m points of said output stroke if the cross product of ab and bc are not below said cross product threshold, and the dot product of ab and bc are not above said dot product threshold, and b and c are not wild points; (1) restarting the inspection of points a, b and c at the point b output in step (k), with: a=restart point b=restart point +1 c=restart point +2; (m) repeating steps (f) through (m) until c is greater than n; and (n) outputing Pn-1 as the last point of said m points in said output stroke;
Claim 13
Independent Claim 328 words
A method of filtering a series of signals representative of n points Po. . . Pn-1, where n is an integer, on an input stroke produced by a writing instrument on a writing surface, for producing an output stroke comprised of m points, where m is an integer, and m<n, said method comprising the steps of: (a) collecting said series of signals representing said n points Po. . . Pn-1 on said input stroke; (b) calculating the size of said input stroke; (c) calculating a cross product threshold and a dot product threshold based on the size of said input stroke; (d) outputing Po as the first of said m points of said output stroke; (e) inspecting at least points a, b and c of said n points on said input stroke starting with Po, with: a=0 b=1 c=2; (f) determining if c>n; (g) determining the cross product and dot product of vectors ab and bc; (h) setting b=b+1 and c=c+2 if the cross product of ab and bc are below said cross product threshold and the dot product of ab and bc are greater than said dot product threshold, and repeat steps (f) and (g); (i) determining if point b or c is wild; (j) setting b=b+1 and c=c+2 if b or c is wild, and repeat steps (f) and (g); (k) outputing b as one of said m points of said output stroke if the cross product of ab and bc are not below said cross product threshold, and the dot product of ab and bc are not above said dot product threshold, and b and c are not wild points; (1) restarting the inspection of points a, b and c at the point b output in step (k), with: a=restart point b=restart point +1 c=restart point +2; (m) repeating steps (f) through (m) until c is greater than n; and (n) outputing Pn-1 as the last point of said m points in said output stroke;
Claim 14
Dependent Claim 170 words
The method of claim 8, including the steps of: (o) restarting the inspection of points a, b and at the last b output in step (k), if c>n in step (f), with: a=n-1 b=n-2 c=n-3; (p) determining if c<last b; (q) determining the cross product and dot product of vectors ab and bc; (r) setting b=b-1 and c=c-2 if the cross product of ab and bc are below said cross product threshold, and the dot product of ab and bc is above said dot product threshold, and repeat steps (p) and (q); (s) determining if points b or c are wild; (t) setting b=b-1 and c=c-2 if b or c is wild, and repeat steps (p) through (r); and (u) outputing b as one of said m points of said output stroke if the cross product of ab and bc are not below said cross product threshold, and the dot product of ab and bc are not above said dot product threshold, and b and c are not wild points.

References Cited (Backward Citations)

US3993976A Cited
US4282511A Cited
US4901358A Cited
US4731859A Cited
US4837843A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1994-06-10 1994-12-10 1995-06-11 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1998-06-10 1998-12-10 1999-06-11 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2002-06-10 2002-12-10 2003-06-11 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag