← Back to Patent Explorer
US5528003A Expired / Lapsed US ⏱️ 0.0 years remaining

Data compression for pen stroke input

Assignee: International Business Machines Corp
•
Filing: 1994-12-14
•
Granted: 1996-06-18
•
Expires: 2014-12-14
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A system for compressing pen stroke sequences according to a technique which first outputs an encoding flag indicating a pen touchdown or skipped coordinates, then the absolute values of the first pair of a sequence of horizontal and vertical coordinate pairs, followed by a sequence of nybbles each comprising two bits representing the difference between current and previous horizontal coordinates and two bits representing the difference between current and previous vertical coordinates, an encoding flag being used to terminate each such sequence when either a pen lift off occurs or a delta value exceeds a magnitude of one, the entire sequence being terminated by a further encoding flag. The system allows a high degree of compression to be obtained by storing each difference pair in a single nybble of data, as compared with storing the sequence of absolute coordinates or with known methods storing each difference pair in a single byte, thereby occupying much less memory without losing the ability to reconstruct the original coordinate pair sequence inclusive of any skipped coordinates.

Inventors

  • 👤 William K. Bodin
  • 👤 Ted Mueller

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-10 02:10
CPC Classifications
G; G06; G06F; G06F3/00; G06F3/01; G06F3/03; G06F3/033; G06F3/038; G06F3/0383; G06F3/041; G06F3/0416; G06F3/04162; G06V; G06V30/00; G06V30/10; G06V30/14; G06V30/142; G06V30/1423; G06V30/32; G06V30/333; G06V30/347

Claims Analysis

Total Claims: 24
Claim 1
Independent Claim 276 words
A pen-based computer system comprising: a central processing unit (CPU) means having at least one input port, and a system bus; random-access memory (RAM) accessible to said CPU means through said system bus; an encoding means having an input port and an output port, said output port being connected to an input port of said CPU for transmission thereto of encoded pen stroke data, said encoded pen stroke data being stored in said RAM; a digitizer tablet means connected to the input port of said encoding means for transmission thereto of unencoded pen stroke data; and a stylus or pen for use with said digitizer tablet means, said digitizer tablet means being operative to transmit to said encoding means the successive coordinates of the point of contact of said stylus or pen with said digitizer tablet means; said encoding means being operative to encode the successive coordinates transmitted to it from said digitizer tablet means into a number of compressed stroke sequences each encoded according to the encoding format comprising: an initial flag indicating whether the following data is a sequence following a pen touchdown or a skip sequence following a pen coordinate increment of greater than 1; the initial horizontal and vertical coordinate pair of the sequence, occupying as many bits or bytes as needed for their full representation; a number of delta pairs each consisting of two bits for the difference between the current and previous horizontal coordinates and two bits for the difference between the current and previous vertical coordinates; and a terminating flag; the last said compressed stroke sequence being followed by a further terminating flag indicating the end of transmitted data.
Claim 2
Dependent Claim 276 words
A pen-based computer system comprising: a central processing unit (CPU) means having at least one input port, and a system bus; random-access memory (RAM) accessible to said CPU means through said system bus; an encoding means having an input port and an output port, said output port being connected to an input port of said CPU for transmission thereto of encoded pen stroke data, said encoded pen stroke data being stored in said RAM; a digitizer tablet means connected to the input port of said encoding means for transmission thereto of unencoded pen stroke data; and a stylus or pen for use with said digitizer tablet means, said digitizer tablet means being operative to transmit to said encoding means the successive coordinates of the point of contact of said stylus or pen with said digitizer tablet means; said encoding means being operative to encode the successive coordinates transmitted to it from said digitizer tablet means into a number of compressed stroke sequences each encoded according to the encoding format comprising: an initial flag indicating whether the following data is a sequence following a pen touchdown or a skip sequence following a pen coordinate increment of greater than 1; the initial horizontal and vertical coordinate pair of the sequence, occupying as many bits or bytes as needed for their full representation; a number of delta pairs each consisting of two bits for the difference between the current and previous horizontal coordinates and two bits for the difference between the current and previous vertical coordinates; and a terminating flag; the last said compressed stroke sequence being followed by a further terminating flag indicating the end of transmitted data.
Claim 3
Dependent Claim 27 words
The apparatus of claim 1 wherein said pen-based computer system further comprises a display means for displaying the results of operations taking place in said CPU means.
Claim 4
Dependent Claim 35 words
The apparatus of claim 1 wherein said initial flag of said encoding format comprises two bits and encodes a pen touchdown as the binary value 01 and a skip sequence as the binary value 10.
Claim 5
Dependent Claim 33 words
The apparatus of claim 1 wherein said initial horizontal and vertical coordinate pair of said encoding format comprises eight bits representing the initial horizontal coordinate and eight bits representing the initial vertical coordinate.
Claim 6
Dependent Claim 66 words
The apparatus of claim 1 wherein said initial horizontal and vertical coordinate pair of said encoding format comprises eight bits representing the low byte value of the initial horizontal coordinate, eight bits representing the low byte value of the initial vertical coordinate, and eight bits representing the high nybble value of the initial horizontal coordinate concatenated with the high nybble value of the initial vertical coordinate.
Claim 7
Dependent Claim 59 words
The apparatus of claim 1 wherein said delta pairs of said encoding format are encoded with the binary value 00 representing no change in the coordinate, the binary value 01 representing an increase of 1 in the coordinate, and the binary value 10 representing a decrease of 1 in the coordinate, all relative to the previous coordinate pair values.
Claim 8
Dependent Claim 23 words
The apparatus of claim 1 wherein each said terminating flag of said encoding format occupies two bits and comprises the binary value 11.
Claim 9
Dependent Claim 37 words
The apparatus of claim 1 wherein any of said initial or terminating flags of said encoding format may be expanded to a full byte so that different elements of said encoding format all fall within byte boundaries.
Claim 10
Dependent Claim 239 words
A pen-based computer system comprising: a central processing unit (CPU) means having at least one input port, and a system bus; random-access memory (RAM) accessible to said CPU through said system bus; an encoding program operating in said CPU; a digitizer tablet means connected to an input port of said CPU; a stylus or pen for use with said digitizer pad, which is operative to transmit to said encoding means the successive coordinates of the point of contact of said stylus or pen with said digitizer pad; and a display means for displaying the results of operations taking place in said CPU; said encoding program being operative to encode the successive coordinates transmitted to it from said digitizer tablet means into a number of compressed stroke sequences each according to the format comprising: an initial flag indicating whether the following data is a sequence following a pen touchdown or a skip sequence following a pen coordinate increment of greater than 1; the initial horizontal and vertical coordinate pair of the sequence, occupying as many bits or bytes as needed for their full representation; a number of delta pairs each consisting of two bits for the difference between the current and previous horizontal coordinates and two bits for the difference between the current and previous vertical coordinates; and a terminating flag; the last said compressed stroke sequence being followed by a further terminating flag indicating the end of transmitted data.
Claim 11
Dependent Claim 239 words
A pen-based computer system comprising: a central processing unit (CPU) means having at least one input port, and a system bus; random-access memory (RAM) accessible to said CPU through said system bus; an encoding program operating in said CPU; a digitizer tablet means connected to an input port of said CPU; a stylus or pen for use with said digitizer pad, which is operative to transmit to said encoding means the successive coordinates of the point of contact of said stylus or pen with said digitizer pad; and a display means for displaying the results of operations taking place in said CPU; said encoding program being operative to encode the successive coordinates transmitted to it from said digitizer tablet means into a number of compressed stroke sequences each according to the format comprising: an initial flag indicating whether the following data is a sequence following a pen touchdown or a skip sequence following a pen coordinate increment of greater than 1; the initial horizontal and vertical coordinate pair of the sequence, occupying as many bits or bytes as needed for their full representation; a number of delta pairs each consisting of two bits for the difference between the current and previous horizontal coordinates and two bits for the difference between the current and previous vertical coordinates; and a terminating flag; the last said compressed stroke sequence being followed by a further terminating flag indicating the end of transmitted data.
Claim 12
Dependent Claim 27 words
The apparatus of claim 9 wherein said pen-based computer system further comprises a display means for displaying the results of operations taking place in said CPU means.
Claim 13
Dependent Claim 35 words
The apparatus of claim 9 wherein said initial flag of said encoding format comprises two bits and encodes a pen touchdown as the binary sequence 01 and a skip sequence as the binary sequence 10.
Claim 14
Dependent Claim 33 words
The apparatus of claim 9 wherein said initial horizontal and vertical coordinate pair of said encoding format comprises eight bits representing the initial horizontal coordinate and eight bits representing the initial vertical coordinate.
Claim 15
Dependent Claim 66 words
The apparatus of claim 9 wherein said initial horizontal and vertical coordinate pair of said encoding format comprises eight bits representing the low byte value of the initial horizontal coordinate, eight bits representing the low byte value of the initial vertical coordinate, and eight bits representing the high nybble value of the initial horizontal coordinate concatenated with the high nybble value of the initial vertical coordinate.
Claim 16
Dependent Claim 59 words
The apparatus of claim 9 wherein said delta pairs of said encoding format are encoded with the binary value 00 representing no change in the coordinate, the binary value 01 representing an increase of 1 in the coordinate, and the binary value 10 representing a decrease of 1 in the coordinate, all relative to the previous coordinate pair values.
Claim 17
Dependent Claim 23 words
The apparatus of claim 9 wherein each said terminating flag of said encoding format occupies two bits and comprises the binary value 11.
Claim 18
Dependent Claim 314 words
A compression method for encoding pen stroke coordinate sequences comprising the steps of: determining when a pen touchdown has occurred; setting an encoding flag to a value indicative of a pen touchdown; inputting a horizontal and vertical coordinate pair from a sequence of such pairs, each said sequence being terminated when a pen life-off occurs; determining whether the said coordinate pair is the first of a said sequence of such pairs; if so, then outputting said encoding flag value followed by the absolute horizontal and vertical coordinate pair values and saving these values for comparison; otherwise, comparing the current values of said coordinate pair with the saved values of the previous coordinate pair; if one or both of the horizontal and vertical coordinates of the current pair has changed from the previous values, then computing the differences between the current and previous values; if either of said differences exceeds 1, then setting an encoding flag to a value indicative of skipped points, outputting said encoding flag followed by the absolute horizontal and vertical coordinate pair values; otherwise, outputting said differences between said current and previous horizontal and vertical coordinates as a single nybble of data in an encoded form; saving the current horizontal and vertical coordinates for comparison; after completion of all the above operations and tests, determining whether there are additional points in the said sequence of such coordinate pairs; if so, returning to the step previously stated of inputting the next said horizontal and vertical coordinate pair; otherwise, setting an encoding flag to a value indicative of the end of said sequence of coordinate pairs and outputting the said encoding flag; and repeating the above-stated sequence of steps until there are no more sequences of such coordinates to be compressed and outputting a final said encoding flag set to a value indicative of the end of all said sequences of such coordinates.
Claim 19
Dependent Claim 314 words
A compression method for encoding pen stroke coordinate sequences comprising the steps of: determining when a pen touchdown has occurred; setting an encoding flag to a value indicative of a pen touchdown; inputting a horizontal and vertical coordinate pair from a sequence of such pairs, each said sequence being terminated when a pen life-off occurs; determining whether the said coordinate pair is the first of a said sequence of such pairs; if so, then outputting said encoding flag value followed by the absolute horizontal and vertical coordinate pair values and saving these values for comparison; otherwise, comparing the current values of said coordinate pair with the saved values of the previous coordinate pair; if one or both of the horizontal and vertical coordinates of the current pair has changed from the previous values, then computing the differences between the current and previous values; if either of said differences exceeds 1, then setting an encoding flag to a value indicative of skipped points, outputting said encoding flag followed by the absolute horizontal and vertical coordinate pair values; otherwise, outputting said differences between said current and previous horizontal and vertical coordinates as a single nybble of data in an encoded form; saving the current horizontal and vertical coordinates for comparison; after completion of all the above operations and tests, determining whether there are additional points in the said sequence of such coordinate pairs; if so, returning to the step previously stated of inputting the next said horizontal and vertical coordinate pair; otherwise, setting an encoding flag to a value indicative of the end of said sequence of coordinate pairs and outputting the said encoding flag; and repeating the above-stated sequence of steps until there are no more sequences of such coordinates to be compressed and outputting a final said encoding flag set to a value indicative of the end of all said sequences of such coordinates.
Claim 20
Dependent Claim 34 words
The method of claim 16 wherein the step of comparing the current and previous coordinate pairs is omitted and the step of computing the differences between the current and previous values is always executed.
Claim 21
Dependent Claim 53 words
The method of claim 16 wherein said encoding flags each occupy two bits, and said value indicative of a pen touchdown is binary 01, said value indicative of skipped values is binary 10, and said value indicative of the end of a sequence or of the end of all sequences is binary 11.
Claim 22
Dependent Claim 73 words
The method of claim 16 wherein said encoded form of said differences comprises two bits representing the difference between said current and previous horizontal coordinates and two bits representing the difference between said current and previous vertical coordinates, each said difference being coded as binary 00 if its value is zero, binary 01 if its value is 1, and binary 10 if its value is -1, the binary value 11 not being used.
Claim 23
Dependent Claim 33 words
The method of claim 16 wherein the said absolute values of horizontal and vertical coordinate pairs are stored with eight bits of resolution, one byte for each of the horizontal and vertical coordinates.
Claim 24
Dependent Claim 61 words
The method of claim 16 wherein the said absolute values of horizontal and vertical coordinate pairs are stored with twelve bits of resolution, in the order of the low byte of the horizontal coordinate, followed by the low byte of the vertical coordinate, followed by the high nybble of the horizontal coordinate concatenated with the high nybble of the vertical coordinate.

References Cited (Backward Citations)

US5073966A Cited
US5297216A Cited
US4857898A Cited
US5184124A Cited
US5220649A Cited
US5247138A Cited
US5294792A Cited
US5287420A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-06-18 1999-12-18 2000-06-18 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-06-18 2003-12-18 2004-06-18 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-06-18 2007-12-18 2008-06-18 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag