Abstract:
A method and apparatus for reconstructing legible characters from stored data are described. For each of a plurality of handwritten strokes, a set of endpoint conditions is received. The endpoint conditions are data which define an initial and a final tangent angle for the stroke, and positions of an initial and a final endpoint of the stroke. For each set of endpoint conditions, an artificial stroke is constructed such that it satisfies the corresponding endpoint conditions and consists of at most three segments. Each of these segments consists of a straight line or an arc. Within any given stroke, lines and arcs may occur only in alternation.

Description:
FIELD OF THE INVENTION 
     This invention relates to the processing of human handwriting for purposes of information storage, automatic character recognition, and the like. More particularly, this invention relates to the processing of spatiotemporally sampled symbols, including the representation of such symbols in parametric form and the reconstruction of such symbols from their parameters to create legible characters. 
     ART BACKGROUND 
     The automatic analysis of human handwriting begins with sampling and digitization of the image or signal produced directly by human manipulation of a writing instrument, referred to herein, in a general sense, as a stylus. Purely graphical analysis can be performed on data sampled from a static image. However, for dynamic analysis, and more generally for analyzing data with reference to a temporal sequence, it is advantageous for the human subject to produce data by manipulating an instrumented stylus or tablet that permits spatiotemporal sampling. 
     One exemplary instrumented tablet is described in U.S. Pat. No. 5,463,388, issued on Oct. 31, 1995 to R. A. Boie et al. This tablet includes a rectangular array of capacitance-sensing electrodes. The position of a handheld stylus is determined, e.g., from the centroid of the respective capacitance values, as calculated in a microcontroller. 
     Parametric methods have been used for a number of years in connection, for example, with automatic signature verification. According to these methods, the signature (or other handwritten symbol) is represented in an abstract parameter space. The parametric representation consists of a set of numerical values of functions that are evaluated on the sampled data, and that relate to some combination of graphical and dynamic properties of the sampled data. Generally, a parametric representation is a condensed representation, in the sense that it occupies fewer bits of data-storage capacity than do the raw, sampled data. 
     Parametric representations of signatures have been used with some success for signature verification. In signature verification, the parameters are evaluated on a newly entered signature (or group of signatures), and the results are compared with a stored set of reference values. Such a procedure does not require the reconstruction, from parameters, of either the reference signature or the newly entered signature. Therefore, there is no need to choose parameters that preserve enough graphical information to reconstruct these signatures. Instead, parameters for signature verification are selected on the basis, e.g., of a tradeoff between selectivity and computational efficiency. 
     However, there is a need for a compact method for storing handwritten symbols that can later be reconstructed as legible characters. For such a purpose, it is not sufficient to use the abstract parameters that are often used in the context of signature verification. On the other hand, the more detailed the shape information that is used, the less compact the resulting storage method will be. 
     What the field has lacked, until now, are methods for storing and reconstructing characters that enjoy the benefits of compact parametric techniques, but still lead to clearly legible reconstructed characters. 
     SUMMARY OF THE INVENTION 
     I have invented such a reconstruction method, based on appropriate parametric methods of data storage. 
     An appropriate way of segmenting handwriting into “strokes” and then representing each such stroke by a set of values for a small number of parameters (the “standard parameter set”) is described in my co-pending U.S. patent application Ser. No. 08/729,463 “Method And Apparatus For Parametric Representation Of Handwritten Symbols,” which is hereby incorporated by reference. The strokes generated by the method therein described are free of major inflection points (i.e., points at which the curvature changes sign). Taking account of this property, the stroke reconstruction method described below always produces reconstructed strokes that are entirely free of inflection points. Because minor inflection points generated by noise and waviness are lost, the reconstructed strokes are often smoother than the originals. Although those skilled in the art could modify the method described below to accommodate major inflection points, I have found it preferable on grounds of simplicity to segment the handwriting so they do not occur inside of strokes. 
     The standard parameter set for a particular stroke comprises the x and y coordinates of the stroke&#39;s initial and final endpoints, the arc length s of the stroke, the initial tangent angle θ, and the net turning angle φ. 
     The initial tangent angle θ is defined with reference to the line through the endpoints; it is the angle from this line to the stroke&#39;s tangent at the initial endpoint. 
     The net turning angle φ is defined with reference to a moving tangent. If the tangent is evisaged as a rigid rod lying against the stroke, then φ is the net angle through which the rod turns as the point of tangency traverse the stroke from its initial to its final endpoint. (In accordance with mathematical convention, counterclockwise turning is counted as positive and clockwise turning is counted as negative.) Since the stroke is free of major inflection points, the tangent turns primarily in one direction (clockwise or counterclockwise) during its traversal of the stroke. 
     The present invention involves reconstruction of legible symbols from parametric data of the kind described above. These data are preferably derived using the methods described in U.S. patent application Ser. No. 08/729,463 cited above, but the use of other methods to derive the same or similar data will not diminish the usefulness of the present invention for reconstructing legible symbols therefrom. 
     Briefly, the present invention in a broad aspect involves reconstructing one or more strokes from their respective standard parameter sets by drawing each stroke as a sequence of smoothly joined straight lines and circular arcs of common radius. The largest number of segments (lines and arcs) needed to reconstruct any stroke is three. The segments are found by a simple algorithm. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 depicts the standard parameter set for stroke representations, together with some auxiliary labels. 
     FIGS. 2-4 show the reconstruction curves for an exemplary set of values for the parameters x 1 ,y 1 ,x 2 ,y 2 ,θ,φ. Only the value of s differs from one figure to the next. In FIG. 2 s&lt;s T  and the curve is of the arc-line-arc type; in FIG. 3 s=s T  and the curve is transitional; in FIG. 4 s&gt;s T  and the curve is of the line-arc-line type. 
     FIGS. 5-7 show the reconstruction curves for a different exemplary set of values for the parameters x 1 ,y 1 ,x 2 ,y 2 ,θ,φ. Only the value of s differs from one figure to the next. In FIG. 5 s&lt;s T  and the curve is of the arc-line-arc type; in FIG. 6 s=s T  and the curve is transitional; in FIG. 7 s&gt;s T  and the curve is of the line-arc-line type. 
     FIG. 8 shows the reconstruction curve for yet another exemplary set of parameter values. The curve is of the line-arc-line type. 
     FIGS. 9-14 each compare a raw, sampled alphanumeric character to the character as reconstructed according to the invention. 
     FIG. 15 is a schematic block diagram of an exemplary apparatus for carrying out the inventive method. 
     FIG. 16 illustrates a line-arc-line reconstruction according to the invention. 
     FIG. 17 illustrates an arc-line-arc reconstruction according to the invention. 
    
    
     DETAILED DESCRIPTION 
     The standard parameter set for an exemplary curve is illustrated in FIG.  1 . As noted above, the parameters include the Cartesian coordinates x 1 ,y 1  and x 2 ,y 2  of the initial and final endpoints, the arc length s, the angle θ of the initial tangent measured from the line through the endpoints, and the angle φ through which the tangent turns as the point of tangency traverses the curve. As shown in FIG. 1, φ can be measured from the initial to the final tangent. 
     For convenience I will denote the initial and final endpoints by P 1  and P 2 , and the initial and final (directed) tangents by L 1  and L 2 . Any directed curve segment will be said to satisfy the endpoint conditions if its initial and final endpoints coincide with P 1  and P 2  and if its initial an final tangents coincide with L 1  and L 2 . It will be said to be a feasible reconstruction curve if, in addition, it is free of inflection points and if its arc length equals the specified value of s. 
     Also for convenience, I will denote the directed line through P 1  and P 2  (directed from P 1  and P 2 ) by L 0  and I will denote the intersection of L 1  to L 2  by P 0 . In addition I will denote the straight line distance between the endpoints by s 0 . In order for a feasible reconstruction curve to exist, note that s must be greater than or equal to s 0 . Other, less obvious conditions, discussed below, must also hold. 
     If a feasible reconstruction curve exists for a given set of values for the standard parameters, then an infinite family of such curves exists. One way to select a unique curve from this family is to minimize or maximize some quantity associated with the curves. For example, the curve for which the integral of squared curvature is minimal selects what could be called the spring wire curve. This is the curve assumed by a piece of springy wire of length s that is constrained to satisfy the endpoint conditions. 
     While the spring wire curve almost always provides a good visual representation of the original stroke, it is slow and cumbersome to calculate. The preferred curve selection method described below entails much less calculation. 
     It can be shown that if there exist any feasible reconstruction curves (as defined above), then there exists a unique such curve composed of a minimal number of smoothly joined segments that are alternately straight lines and circular arcs of common curvature. “Smoothly joined” means that the tangent turns continuously (i.e., there are no corners) where arcs and lines are joined. The largest number of segments ever required is three. The possible sequences, then, are arc-line-arc and line-arc-line (and in special cases, the shorter sequences arc-line, line-arc, arc and line). Visually, the reconstruction curves provided by this method are about as good as the spring wire curves and sometimes better. 
     If s is only slightly longer than s 0 , then the unique reconstruction curve is of the arc-line-arc type. The curve may be visualized as follows with the aid of FIG.  2 . Imagine two discs of very small diameter attached at their edges to the endpoints P 1  and P 2  in such a way that they are tangent to L 1  and L 2  respectively. Imagine further a string of length s joining the endpoints and draped appropriately around the two discs. Now imagine the two discs growing simultaneously in diameter while their points of tangency remain fixed. When the string goes taut, it coincides with the reconstruction curve. 
     If s is long enough compared to s 0 , then the unique reconstruction curve is of the line-arc-line type. This is illustrated in FIG.  4 . Note that the single arc is tangent to both L 1  and L 2  and that the two line segments lie along L 1  and L 2 . 
     Intermediate between the values of s shown in FIGS. 2 and 4, there is a unique value of s (I will call it s T ) for which the reconstruction curve has fewer than three segments. FIG. 3 shows this curve for the example of FIGS. 2 and 4. It represents the transition from arc-line-arc to line-arc-line. That is to say, for values of arc length s between s 0  and s T , the reconstruction curve is of the arc-line-arc type; for values greater than s T  the reconstruction curve (if it exists) is of the line-arc-line type. Note that in the sequence of FIGS. 2,  3 ,  4 , all of the standard parameters have the same values except the arc length s, which becomes progressively longer. 
     In the example shown in FIGS. 2,  3  and  4 , there is an upper limit to the arc length s. We will denote by s p  the length of the path from P 1  along L 1  to P 0  and from there along L 2  to P 2  (See FIG. 1.) If s&gt;s p , then in this example no feasible reconstruction curves exist. More specifically, any curve with s&gt;s p  that satisfies the endpoint conditions of this example necessarily has inflection points and is therefore not a feasible reconstruction curve. 
     FIGS. 5,  6  and  7  show the corresponding cases (i.e., s&lt;s T , s=s T  and s&gt;s T ) for a different example in which there is no upper limit on s 
     One further example is shown in FIG.  8 . In this example there is a lower bound on s: If s&lt;s p , no feasible reconstruction curve exists; if s&gt;s p , the reconstruction curve is of the line-arc-line type and it always contains a loop. 
     A preferred procedure for calculating reconstruction curve data first determines the type of the reconstruction curve. The procedure recognizes four cases defined by the signs of the expressions 
     
       
         (sin θ/2)(sin(θ+φ)/2) and |φ|−π 
       
     
     Case 1: (sinθ/2)(sin(θ+φ)/2)&lt;0 and |φ|−π≧0 
     This case is exemplified by FIGS. 5,  6 , and  7 . The following calculation finds the value of s T . When s=s T , the reconstruction curve contains a single arc and a single line. Let A denote the length of the arc and L the length of the line. 
     
       
         
               
               
             
           
               
                   
               
             
             
               
                 If cos (Θ+φ) − cos Θ &gt; 0, then 
                 A=s o  |φsin(Θ+φ)|/(1−cosφ) 
               
               
                 Otherwise 
                 A=s o  |φsinΘ|/(1−cosφ) 
               
               
                 If sin Θ sin (Θ+φ) &gt; 0, then 
                 L=s o  |sin(Θ+φ)| + |sinΘ|/|sinφ|) 
               
               
                 Otherwise 
                 L=s o  |sin(Θ+φ)| − |sinφ|/|sinφ|) 
               
               
                 Then 
                 s T =A + L 
               
               
                   
               
             
          
         
       
     
     If s&lt;s T , then the reconstruction curve is of the arc-line-arc type. 
     If s&gt;s T , then the reconstruction curve is of the line-arc-line type. 
     Case 2: (sin θ/2)(sin (θ+φ)/2)&lt;0 and |φ|−π&lt;0. 
     This case is exemplified by FIGS. 2,  3 , and  4 . The determination of curve type is the same as in Case 1 except that the final statement must be modified: 
     If s&gt;s T  and s&lt;s p , then the reconstruction curve is of the line-arc-line type; 
     if s&gt;s p , then no feasible reconstruction curves exist. 
     Case 3: (sin θ/2)(sin (θ+φ)/2)≧0 and |φ|−π≧0 
     This case is exemplified by FIG.  8 . 
     If s&lt;s p , then no feasible reconstruction curves exist. 
     If s≧s p , then the reconstruction curve is of the line-arc-line type. 
     Case 4: (sin θ/2)(sin (θ+φ)/2)≧0 and |φ|−π&lt;0 
     In this case no feasible reconstruction curves exist. 
     It is to be expected that sets of standard parameter values (i.e., values of x y ,y 1 ,x 2 ,y 2 ,θ,φ,s) derived from handwriting by a method such as that described in co-pending U.S. patent application Ser. No. 08/729,463 cited above will usually be such that feasible reconstruction curves exist. However, because of ignored minor inflection points or other approximations, parameter sets for which feasible reconstruction curves do not exist may occasionally be presented. Such parameter sets will at least be close to ones that are feasible. A preferred way of dealing with these exceptional cases is to assign simple degenerate reconstruction curves to infeasible parameter sets according to the following rules: 
     In Cases 2 and 3 the reconstruction curve is the path from P 1  along L 1  to P 0  and from there to P 2  along L 2 . 
     In Case 4 the reconstruction curve is the line segment joining P 1  and P 2 . 
     These degenerate curves are almost always adequate representations of the original strokes. 
     Once the type of the reconstruction curve is known, parameters such as arc radii, arc center locations, angles subtended by arcs at their centers, line endpoints, etc. can be determined by well-known methods of analytic geometry, preferably using complex numbers to represent vectors and exponentials of imaginary numbers to represent circular arcs. Then by means of standard computer graphics, the reconstruction curve can be printed or displayed on a screen. Derivation of the pertinent parameters is further discussed in the Appendix, below. 
     By way of illustration, FIG. 9 compares a raw, sampled Roman letter “A” (on the left) with the same letter as reconstructed using the inventive procedure (on the right). Similarly, FIG. 10 compares raw and reconstructed letters “J”, FIG. 11 compares raw and reconstructed letters “R”, FIG. 12 compares raw and reconstructed numerals “ 6 ”, FIG. 13 compares raw and reconstructed letters “P”, and FIG. 14 compares raw and reconstructed letters “S”. 
     As illustrated in FIG. 15, illustrative apparatus for carrying out my method includes a digital memory device  20  for receiving and storing stroke-parameter data. Such data may be provided locally, or, e.g., they may be received from a remote site  10 . A device  30 , typically implemented in a digital computer operating under the control of an appropriate program, retrieves the stroke-parameter data and submits them to device  40 , typically also implemented in a programmed computer, for the process of stroke construction. The output of this process is stored, typically as graphical data, in digital storage device  50 . An output device retrieves the graphical data and displays it in a permanent or ephemeral form, as appropriate. Illustrative output devices shown in the figure are screen  60  and printer  70 . 
     Shown in FIG. 16 is a line-arc-line reconstruction. The bounding line segments are indicated in the figure as vectors {right arrow over (σ)} 1  and {right arrow over (σ)} 2 , having respective lengths σ 1  and σ 2 . The arc included between them, as indicated in the figure, has turning angle φ and radius of curvature r. The endpoint vector, denoted {right arrow over (z)} in the figure, has length s 0 . Introduced below is a new angle θ′, defined by θ′=+φ. 
     The reconstructed curve of FIG. 16 is defined by the endpoint conditions, together with the three lengths σ 1 , σ 2 , and r. These are conveniently expressed in terms of a determinant Δ, defined by Δ=φ sin φ−2(1− cos φ). This quantity is negative in value, except when φ=0, in which case Δ also equals 0. It will be noted that Δ appears in the denominators of the following expressions. However, when φ is near 0 (i.e., when there is little net change in the tangent angle), the stroke is simply represented by a line segment. Thus, there is no danger of division by zero. 
     The quantities σ 1 , σ 2 , and r are given by:          σ   1     =       1   Δ          (         s   0          (       φ                 sin                   θ   ′       +     cos                   θ   ′       -     cos                 θ       )       -     s        (     1   -     cos                 φ       )         )                 σ   2     =       1   Δ          (       -       s   0          (       φ                 sin                 θ     +     cos                   θ   ′       -     cos                 θ       )         -     s        (     1   -     cos                 θ       )         )               r   =              1   Δ          (       -       s   0          (       sin                   θ   ′       -     sin                 θ       )         +     s                 sin                 φ       )            .                            
     Shown in FIG. 17 is an arc-line-arc reconstruction. The bounding arcs each have radius of curvature r, and they have respective turning angles ψ 1  and ψ 2 . The respective centers of curvature of these arcs are separated by vector {right arrow over (c)}, which has length c. The vector {right arrow over (z)} is as described above. 
     The reconstructed curve of FIG. 17 is defined by the endpoint conditions, together with the lengths r and c and the angles ψ 1  and ψ 2  subtended by the respective bounding arcs. It will be noted that the sum ψ 1 +ψ 2  is equal to the net tuning angle φ. 
     The following pair of equations defines a quadratic in r. However, instead of solving the resulting quadratic equation directly, we find it more convenient to solve these equations for r in an iterative procedure according to well known techniques: 
     
       
           c   2   =s   0   2 −2λ s   0 (sin θ′− sin θ) r+ 2(1− cos φ) r   2  .  
       
     
     
       
         
           c+r|φ|=s.  
         
       
     
     The value of c is readily obtained from the resulting value of r. The value of ψ 1  is obtained from the following formulas: 
     
       
         λ=+1 if φ&gt;0 
       
     
     
       
         λ=−1 if φ&lt;0 
       
     
     
       
         
           
             
               ψ 
               2 
             
             = 
             
               φ 
               - 
               
                 ψ 
                 1 
               
             
           
         
         
           
             X 
             = 
             
               
                 
                   s 
                   0 
                 
                  
                 cos 
                  
                 
                     
                 
                  
                 θ 
               
               - 
               
                 λ 
                  
                 
                     
                 
                  
                 r 
                  
                 
                     
                 
                  
                 sin 
                  
                 
                     
                 
                  
                 φ 
               
             
           
         
         
           
             Y 
             = 
             
               
                 
                   s 
                   0 
                 
                  
                 sin 
                  
                 
                     
                 
                  
                 θ 
               
               + 
               
                 λ 
                  
                 
                     
                 
                  
                 
                   r 
                    
                   
                     ( 
                     
                       1 
                       - 
                       
                         cos 
                          
                         
                             
                         
                          
                         φ 
                       
                     
                     ) 
                   
                 
               
             
           
         
         
           
             
               ψ 
               1 
             
             = 
             
               arctan 
                
               
                 y 
                 x 
               
             
           
         
                 
         
             
         
      
     
     The value of ψ 2  is given by ψ 2 =φ−ψ 1 .