Slashdot Mirror


User: Da+VinMan

Da+VinMan's activity in the archive.

Stories
0
Comments
640
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 640

  1. Mass media + mass medium = massive effect on Reactions to AOL/Time-Warner Merger · · Score: 1

    Yes, reporters are people who care. And editors are people that care.. etc. However, they don't hold the real power here. People who care that conflict with the goals and wishes of their organizations will quickly find themselves unemployed; this happens all the time. The mores that will be forced upon everyone are those of the people that lead the companies. Now, those people may have some very freedom-friendly values and practices, but not necessarily so. The law doesn't require it of them since they're private sector.

    I do agree though that "tainted" media sources do become passe and get dropped. But let's face it: only the intelligentsia do this. Most people still watch their local/national TV programs and read the paper.

    For an extreme example of how controlled mass media can affect public opinion, take a look at the history of WWII (both Axis and Allied). It's a bit difficult to admit that sort of thing could happen today, but why couldn't it?

  2. Concerned.... on Reactions to AOL/Time-Warner Merger · · Score: 5

    This merger causes me a lot of concern. It represents the joining of two resources (media and medium) and creates all sorts of efficiencies that will disallow competing viewpoints to emerge from the media. Furthermore, the sheer size of this new entity will again raise the bar against any new entities entering the journalism and/or broadcasting fields. Consider for a moment the rules already governing journalism and its practice via press passes, etc. This governance will only get stronger in the face of powerful lobbying by this new huge entity (American Time Warner?) and those rules will be unlikely to become less restrictive in this new regime (I used that word on purpose); in fact, those rules will probably become even more restrictive to suit the whimsies of this new organization for the newest mass medium (the Internet).

    This merger may have benefits, but it puts way too much power into one entity.

  3. OK, OK... but... on Xerox Wins Prelim Patent Ruling Against 3Com · · Score: 1

    I'll provide a link *also* next time (should I do this again). Of course, the PTO (US's Patent and Trademark Office) will of course start charging at some point in the future in order to use their online searching capability, and then you won't be able to use all those fancy links to get to the real meat of it. Then won't you be glad you have the patent text right here? :+)

  4. Text of Xerox Corp's patent on Xerox Wins Prelim Patent Ruling Against 3Com · · Score: 3

    I don't use a Palm, but I thought it would be interesting to post the patent here for everyone's information, and let all the Palm user's tell us how similar it sounds. It should synch up pretty good if the patent were violated, right?

    Here it is (apologies in advance for biffed formatting):

    ~~~~~~~~~~~~~~~~~

    Unistrokes for computerized interpretation of handwriting


    Abstract
    To relax the graphical constraints on the precision of the handwriting that is required for accurate computerized interpretation of handwritten text, the text that is to be interpreted is written in accordance with this invention using symbols that are exceptionally well separated from each other graphically. These symbols preferably define an orthographic alphabet to reduce the time and effort that is required to learn to write text with them at an acceptably high rate. Furthermore, to accommodate "eyes-free" writing of text and the writing of text in spatially constrained text entry fields, the symbols advantageously are defined by unistrokes (as used herein, a "unistroke" is a single, unbroken stroke).


    ------------------------------------------------ --------------------------------
    Inventors: Goldberg; David (Palo Alto, CA)
    Assignee: Xerox Corporation (Stamford, CT)
    Appl. No.: 548416
    Filed: October 26, 1995

    U.S. Class: 382/186; 382/315; 345/179
    Intern'l Class: G06K 009/18
    Field of Search: 382/185-189,313,315,182 364/705.03,709.11,709.01 345/179,175,180-183



    ------------------------------------------------ --------------------------------

    References Cited [Referenced By]

    ------------------------------------------------ --------------------------------

    U.S. Patent Documents
    3199078 Aug., 1965 Gaffney, Jr., et al. 340/146.
    3835453 Sep., 1974 Narayanan 340/146.
    3996557 Dec., 1976 Donahey 340/146.
    4241409 Dec., 1980 Nolf 364/705.
    4561105 Dec., 1985 Crane et al. 382/13.
    4985929 Jan., 1991 Tsuyama 382/13.
    5022086 Jun., 1991 Crane et al. 382/2.
    5140645 Aug., 1992 Whitaker 382/11.
    5194852 Mar., 1993 More et al. 345/182.
    5313527 May., 1994 Guberman et al. 382/13.



    Other References
    "PenPut.TM.-Beyond character recognition!" Organek.TM. Technology. Organek.TM. Standards copyright 1992 and 1993. Patent Pending.

    Primary Examiner: Razavi; Michael T.
    Assistant Examiner: Prikockis; Larry J.

    ------------------------------------------------ --------------------------------

    Parent Case Text

    ------------------------------------------------ --------------------------------


    This is a continuation of application Ser. No. 08/132,401, filed Oct. 6, 1993 now abandoned.
    ------------------------------------------------ --------------------------------

    Claims

    ------------------------------------------------ --------------------------------


    1. A system for interpreting handwritten text comprising

    a user interface including a manually manipulatable pointer for writing mutually independent unistroke symbols in sequential time order and a user controlled signaling mechanism for performing a predetermined, symbol independent, delimiting operation between successive unistroke symbols in said sequential order, some of said unistroke symbols being linear and others being arcuate, each of said unistroke symbols representing a predefined textual component said delimiting operation distinguishing said unistroke symbols from each other totally independent of without reference to their spatial relationship with respect to each other;

    a sensor mechanism coupled to said user interface for transforming said unistroke symbols into corresponding ordered lists of spatial coordinates in said sequential order;

    a recognition unit coupled to respond to said sensor mechanism for convening said ordered lists of coordinates into corresponding computer recognizable codes in said sequential order, each of said codes representing a corresponding textual component;

    a display; and

    a character generator coupled to said recognition unit and to said display for writing the textual components defined by said codes on said display in a spatial order that corresponds to the sequential order of said codes.

    2. The system of claim 1 wherein

    said user interlace further includes a substantially planar writing surface;

    said unistroke symbols are written on said writing surface, and

    said sensor mechanism transforms each of said unistroke symbols into an ordered list of x,y coordinate pairs.

    3. The system of claim 2 wherein

    said pointer is a passive device that is manually engaged with, drawn across, and then disengaged from said writing surface to define the geometric shape and direction of each of said unistroke symbols; and

    said writing surface is interfaced with said sensor mechanism for inputting the geometric shape and direction of each of said unistroke symbols to said sensor mechanism.

    4. The system of claim 2 wherein

    said pointer is manually engaged with, drawn across, and then disengaged from said writing surface to define the geometric shape and direction of each of said unistroke symbols;

    said writing surface is interfaced with said sensor mechanism for inputting the geometric shape and direction of each of said unistroke symbols to said sensor mechanism;

    said pointer includes a manually operable actuator for entering user commands, said user commands being communicated to said recognition unit for altering the response of said recognition unit to said unistroke symbols at the command of the user.

    5. The system of claim 2 wherein

    said pointer is an active device that is manually engaged with, drawn across, and then disengaged from said writing surface to define the geometric shape and direction of each of said unistroke symbols; and

    said sensor mechanism is interfaced with said pointer for transforming the geometric shape and direction of each of said unistroke symbols into an ordered list of x,y coordinate pairs.

    6. The system of claim 2 wherein

    said pointer is manually engaged with, drawn across, and then disengaged from said writing surface to generate data defining the geometric shape and direction of each of said unistroke symbols; and

    said pointer and said writing surface are pressure sensitive devices that are interfaced with said sensor mechanism for feeding the data defining the geometric shape and direction of each of said unistroke symbols into said sensor mechanism.

    7. The system of any of claims 2-6 wherein

    said pointer is a stylus.

    8. The system of claim 2 wherein

    said unistroke symbols are delimited from each other in said sequential time order by making and breaking contact between said pointer and said writing surface once for each unistroke symbol.

    9. The system of claims 2, 3, 4, 5 or 6 wherein said unistroke symbols are well separated from each other in sloppiness space.

    10. A machine implemented method for interpreting handwritten text comprising

    writing said text in sequential time order using an alphabet of mutually independent unistroke symbols to spell out said text at an atomic level, each of said unistroke symbols conforming to a respective graphical specification that includes a stroke direction parameter, some of said unistroke symbols having graphical specifications that differ from each other essentially only on the basis of their respective stroke direction parameters, some of said unistroke symbols being linear and others being arcuate;

    entering a predetermined, symbol independent delimiter between successive ones of said unistroke symbols in said time order, said delimiter distinguishing successive unistroke symbols from each other without reference to and totally independently of their spatial relationship with respect to each other;

    capturing the stroke direction of each of said unistroke symbols as an ordered list of coordinates;

    disambiguating said unistroke symbols from each other based upon predetermined criteria, including the stroke directions of the respective symbols.

    11. The method of claim 10 wherein said unistroke symbols are well separated from each other in sloppiness space.

    12. A handwriting recognition process for pen computers, said process comprising the steps of

    correlating unistroke symbols with natural language alphanumeric symbols, each of said unistroke symbols being fully defined by a single continuous stroke that conforms geometrically and directionally to a predetermined graphical specification, some of said unistroke symbols being linear and others being arcuate;

    entering user written unistroke symbols into buffer memory in sequential time order, successive ones of said unistroke symbols being delimited from each other by a predetermined, symbol independent delimiting operation, said delimiting operation distinguishing successive unistroke symbols from each other without reference to and totally independently of their spatial relationship with respect to each other;

    reading out said unistroke symbols from buffer memory in sequential time order to provide buffered unistroke symbols;

    translating each buffered unistroke symbol that correlates with a natural language symbol into said natural language symbol; and

    outputting any natural language symbols that are produced by such translating to a utilization device.

    13. The handwriting recognition process of claim 12 wherein certain unistroke symbols correlate with natural language alphanumeric symbols, and other unistroke symbols correlate with user invokeable control functions.

    14. The handwriting recognition process of claim 13 wherein at least one of said other unistroke symbols correlates with a control function that shifts the correlation of at least some of said certain unistroke symbols from one set of natural language alphanumeric symbols to another set of natural language alphanumeric symbols.

    15. The handwriting recognition process of claim 14 wherein said control function shifts said correlation for just one following unistroke symbol and then restores said correlation to an initial state.

    16. A machine implemented handwriting recognition process comprising the steps of

    correlating natural language symbols with unistroke symbols, where each of said unistroke symbols is fully defined by a single continuous stroke that conforms geometrically and directionally to a predetermined graphical specification, at least certain of said unistroke symbols being arcuate;

    writing user selected unistroke symbols in sequential time order while performing a predetermined, symbol independent delimiting operation for delimiting successive ones of said unistroke symbols from each other, said delimiting operation distinguishing successive unistroke symbols from each other without reference to and totally independently of the spatial relationship of said unistroke symbols with respect to each other;

    detecting said selected unistroke symbols; and

    translating the detected unistroke symbols that are written into said machine into a corresponding natural language representation.
    ------------------------------------------------ --------------------------------

    Description

    ------------------------------------------------ --------------------------------


    FIELD OF THE INVENTION

    This invention relates to systems for interpreting handwritten text and, more particularly, to computerized interpreted text entry systems that are especially well-suited for "eyes-free" (e.g., "heads-up") applications and for other applications where it is inconvenient or impractical to spatially distinguish between successive, manually entered alphanumeric characters. Another aspect of this invention relates to relaxing the constraints on the graphical precision of the handwriting that is required for accurate computerized recognition of handwritten text.

    BACKGROUND OF THE INVENTION

    The keyboard has been the input device of choice for entering text and other alphanumeric data (collectively referred to herein as "text") into most computer systems. Experts use "touch-typing" techniques to enter text at relatively high rates, while novices often employ "hunt and peck" techniques to perform the text entry function at more modest rates.

    Modern computers permit of many different form factors, some of which are not particularly well matched to the use of a keyboard for text entry purposes. For example, there are very small "pocket size" and even smaller personal computers, as well as computers that have very large (e.g., wall size) user interfaces to facilitate collaborative interaction. In these miniaturized and very large scale computer systems, the keyboard commonly is supplemented or even replaced by an alternative text entry mechanism, such a stylus or similar pointing device, that can be manually manipulated by the user to "handwrite" graphical symbols that represent the desired text, together with an appropriately programmed processor for translating the handwritten symbols into corresponding alphanumeric computer codes.

    The challenge, of course, for these interpreted text entry systems is to accurately interpret the handwritten symbols in the face of the graphical variations that may exist among different instances of most any handwritten symbol when each of the instances is written by a different user or even when all of the instances are written by the same user. High speed and/or "eyes free" handwriting tend to make it even more difficult to meet this challenge because they generally detract from the graphical precision with which the symbols are written (i.e., they usually increase the "sloppiness" of the handwriting).

    Clearly, the characters of ordinary Roman alphabets are not reliably distinguishable from each other in the face of rapid or otherwise sloppy writing. For example, many pairs of letters in the English alphabet (such as "r" and "v," "a" and "d," "N" and "W," and "g" and "q") tend to blur together when they are written quickly, without paying close attention to their subtle graphical distinctions. Accordingly, it will be evident that the performance of interpreted text entry systems could be improved if all text was entered using characters that are well separated from each other in "sloppiness space."

    This "sloppiness space" notion can best be understood by recognizing that each alphanumeric symbol is defined by some number of features (say, d features). Thus, each symbol nominally resides at a unique point in a d-dimensional space which is referred to herein as "sloppiness space." From this it follows that the amount of overlap, if any, that occurs in the positioning within this d-dimensional space of the normal variants of the symbols of a given alphabet determines how well separated those symbols are in sloppiness space. If there is little, if any, overlap between the variants of different symbols, the symbols are "well separated from each other in sloppiness space."

    Ordinary shorthand systems are attractive for interpreted text entry because they can be used to write text at high speed. Unfortunately, however, known shorthand systems use symbols that are at least as difficult to recognize as cursive writing. Nevertheless, it should be noted that there are both orthographic and phonetic shorthand systems for writing text at an atomic level (i.e., the character level in the case of orthographic systems and the phoneme level in the case of phonetic systems). As is known, orthographic systems use conventional spelling and have one symbol for each letter of the native alphabet (e.g., the English alphabet). They, therefore, are relatively easy to learn, but they provide only a modest speedup over ordinary cursive. Phonetic systems (such as the well known Gregg and Pitman systems), on the other hand, employ phonetic spelling, and sometimes use special phonetic alphabets to do so. This makes them more difficult to learn, but it also explains why they generally are preferred when speed is of paramount concern. This indicates that there is a trade off between speed and ease of learning that comes into play when designing a stylus compatible alphabet for interpreted text entry systems.

    SUMMARY OF THE INVENTION

    To relax the graphical constraints on the precision of the handwriting that is required for accurate computerized interpretation of handwritten text, the text is written in accordance with this invention using symbols that are exceptionally well separated from each other graphically. These symbols preferably define an orthographic alphabet to reduce the time and effort that is required to learn to write text with them at an acceptably high rate. Furthermore, to accommodate "eyes-free" writing of text and the writing of text in spatially constrained text entry fields, the symbols advantageously are defined by unistrokes (as used herein, a "unistroke" is a single, unbroken stroke).

    BRIEF DESCRIPTION OF THE DRAWINGS

    Still additional features and advantage of this invention will become apparent when the following detailed description is read in conjunction with the attached drawings, in which

    FIG. 1 illustrates the basic strokes of a unistroke alphabet in each of their recommended orientations;

    FIG. 2 shows how the symbols of a unistroke alphabet that is based on the strokes and orientations that are shown in FIG. 1, together with a directional parameter, suitably are mapped onto the alphanumeric characters of the English alphabet and some of the more common punction marks and control functions;

    FIG. 3 is a simplified functional block diagram of a system for interpreting text that is handwritten through the use of a stylus or similar pointing device and the unistroke alphabet shown in FIG. 2;

    FIG. 4 shows a suitable user interface for an interpreted text entry system that embodies the present invention; and

    FIG. 5 illustrates an alternative input mechanism for writing unistroke symbols.

    DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

    While the invention is described in some detail hereinbelow with reference to certain illustrated embodiments, it is to be understood that it is not limited to those embodiments. On the contrary, the intent is to cover all modifications, alternatives and equivalents falling within the spirit and scope of the invention as defined by the appended claims.

    Turning now to the drawings, and at this point especially to FIGS. 1 and 2, it will be seen that there is a unistroke alphabet (FIG. 2) that is composed of just five different strokes (FIG. 1) that are written in up to four different rotational orientations (0.degree., 45.degree., 90.degree. and 135.degree.) and in one of two opposite directions (stoke direction is more easily captured electronically than in standard mechanical writing systems. This provides 40 unique symbols (5.times.4.times.2), which is more than ample to encode the 26 alphabetic characters of, for example, the English alphabet.

    Advantageously, the number of different strokes that are used to define the unistroke alphabet is minimized, so that the strokes can be selected to be geometrically well separated from each other in sloppiness space. For the same reason, a substantial angular offset (e.g., at least 45.degree. and preferably 90.degree.) or directional distinction (opposing directions) is provided to distinguish between geometrically like strokes that represent different alphanumeric characters. As a general rule, the symbols of the unistroke alphabet are mapped onto the alphanumeric character set so that the graphical correlation between the two alphabets is as close as possible. In practice, however, some of the geometrically simpler unistrokes, such as the straight line symbols, may be reserved for assignment to the more common alphanumeric characters, such as `e,` `a,` `t,` `i` and `r,` in the interest of facilitating higher speed text entry.

    In keeping with the goal of minimizing the size of the unistroke alphabet, lower and upper case versions of any given alphabetic character are entered in the illustrated embodiment through the use of the same unistroke symbol. To that end, shifts from lower case characters to upper case characters and vice-versa are signaled on a character-by-character basis or on a block basis by entering unistroke symbols that are assigned to the signaling task (see FIG. 2) or by actuating and deactuating a button, such as a button on the barrel of the stylus that is used to write the unistroke symbols (see FIG. 5), to emulate the function of a standard a shift key. Similarly, shifts from a text entry mode to a numeric data entry mode and vice-versa may be signaled on a character-by-character or block basis by entering a unistroke control symbol that is assigned to that task (see FIG. 2) or by operating an appropriate button (if necessary, a multi-click methodology may be used to distinguish between commands that are entered through the operation of any given button, such as the button shown in FIG. 5). When unistroke symbols are used for control functions of the foregoing type, character-by-character commands suitably are signaled by entering the appropriate control symbol just once (i.e., a singlet) while block commands are signaled by entering the control symbol twice (i.e., a doublet).

    In operation, a user typically employs an electronic pen or a stylus 31 (sometimes collectively referred to herein as a "stylus") to handwrite one after another of the unistroke symbols that are needed to formulate an intended text on a suitable writing surface 32. In accordance with the present invention, provision is made (a) for sensing the engagement and disengagement of the stylus 31 with the writing surface 32 at the beginning and end, respectively, of each unistroke symbol, and (b) for converting the geometric path that the stylus 31 traverses while the symbol is being written into a correspondingly ordered sequence of x-y coordinates. To that end, as shown in FIG. 3, an active pressure sensitive writing surface 32 that has a sufficiently fined grained, two dimensional array of position sensors can be employed. Alternatively, as shown in FIG. 5, and active stylus 51 may be employed for performing the engagement/disengagement sensing functions and for converting the motion of the stylus 51 as it is drawn across the writing surface 52 into a corresponding sequence of x-y coordinates. Or, some of those functions (such as the contact sensing) may be performed by the stylus, while others (such as the stylus tracking) are being performed by the writing surface.

    In any event, the path the stylus traverses while it is being drawn across the writing surface is converted into an ordered list of x-y coordinates at a sufficiently high spatial sampling frequency to satisfy the Nyquist sampling criterion for all unistroke symbols.

    As shown in FIG. 3, the x, y coordinate pairs that describe the path that the stylus 31 traverses while it is being drawn across the writing surface are serially loaded into a buffer 35; starting with the coordinates at which the stylus 31 is engaged with the writing surface 32 and concluding with the coordinates at which the stylus 32 is disengaged therefrom. The buffer 35 is cleared in preparation for each unistroke symbol, such as in response to a state signal indicating that the stylus 31 has been brought into pressure contact with the writing surface 32. Thus, the buffer 35 accumulates an ordered list of x-y coordinate pairs to represent each unistroke symbol that is written.

    A recognition unit 36 is triggered when the stylus 31 is disengaged from the writing surface 32 to identify (if possible) the unistroke symbol that best fits the ordered list of x-y coordinates that have been accumulated by the buffer 35 and to read out the corresponding alphanumeric character code from a table lockup memory (not shown). The character code, in turn, is loaded into a character buffer 38 so that it can be edited if desired and then into a display buffer/character generator 39 for writing the corresponding alphanumeric character on a display 40.

    The relatively wide separation of the unistroke symbols in sloppiness space reduces the probability of obtaining erroneous or ambiguous results from the recognition process. In practice, the tests that are conducted to identify the unistroke symbol that best fits any given ordered list of x-y components are dictated in substantial part by the geometric details of the particular unistroke alphabet that is employed. For example, the unistroke alphabet shown in FIG. 2 lends itself to the following recognition methodology:

    1. Accumulate ordered list of coordinate pairs, (x1, y1), . . . , (xn, yn), to characterize stroke;

    2. Filter list to remove noise and to otherwise smooth characterization of stroke;

    3. Test for straight lines (if straight line, find slope, use slope as index for performing character lookup function, then exit);

    4. If not a straight line, normalize the stroke to fit in a square bounding box.

    Then compute the following 6 features:

    dx=xn-x1 (i.e., the displacement between the origin and terminus of the stroke as measured on the x-axis),

    dy=yn-y1 (i.e., the displacement between the origin and terminus of the stroke as measured on the y-axis),

    1/2-dx=x(n/2)-x1 (i.e., the displacement between the origin and the geometric midpoint of the stroke as measured on the x-axis),

    1/2-dy=y(n/2)-y1 (i.e., the displacement between the origin and the geometric midpoint of the stroke as measured on the y-axis),

    .vertline.dx.vertline.=.vertline.x2-x1.vertline. +.vertline.x3-x2.vertline.+ . . . +.vertline.xn-x(n-1).vertline. (i.e., the cumulative length of the stroke as projected onto the x-axis); and

    .vertline.dy.vertline.=.vertline.y2-y1.vertline. +.vertline.y3-y2.vertline.+ . . . +.vertline.yn-y(n-1).vertline. (i.e., the cumulative length of the stroke as projected onto the y-axis);

    5. Find the unistroke whose features are closest to the ones computed in step #4, using Table 1 below;

    6. If step #5 gives the answer of `u` or `o`, determine whether the slope vector of the stroke rotates in a clockwise direction or a counterclockwise direction to decide whether the stroke is a `u` or an `o`, respectively.


    TABLE 1
    ______________________________________
    dx dy 1/2-dx 1/2-dy .vertline.dx.vertline.
    .vertline.dy.vertline.
    ______________________________________
    a 0.0 -1.0 0.0 -0.5 0.0 1.0
    b 0.0 1.0 1.0 0.5 2.0 1.0
    c 0.0 -1.0 -1.0 -0.5 2.0 1.0
    d 0.0 1.0 -1.0 0.5 2.0 1.0
    e -1.0 0.0 -0.5 0.0 1.0 0.0
    f -1.0 1.0 -1.0 0.0 1.0 1.0
    g 1.0 -1.0 0.5 0.0 1.0 1.0
    h 1.0 1.0 1.0 0.0 1.0 1.0
    i 0.0 1.0 0.0 0.5 0.0 1.0
    j -1.0 1.0 0.0 1.0 1.0 1.0
    k 1.0 -1.0 0.5 -0.5 1.0 1.0
    l 1.0 1.0 0.0 1.0 1.0 1.0
    m -1.0 0.0 -0.5 -1.0 1.0 2.0
    n 1.0 0.0 0.5 -1.0 1.0 2.0
    o -0.5 0.5 -1.0 1.0 1.5 1.5
    o -1.0 0.0 -0.5 1.0 2.0 2.0
    p 0.0 1.0 1.0 0.5 2.0 2.0
    q 0.0 1.0 -1.0 0.5 2.0 2.0
    r 1.0 1.0 0.5 0.5 1.0 1.0
    s -1.0 1.0 -0.5 0.5 2.0 1.0
    t 1.0 0.0 0.5 0.0 1.0 0.0
    u -1.0 0.0 -0.5 1.0 1.0 2.0
    v 1.0 0.0 0.5 1.0 1.0 2.0
    w 1.0 1.0 0.5 0.5 1.0 3.0
    x 1.0 0.0 0.5 1.0 2.0 2.0
    y -1.0 1.0 -0.5 0.5 1.0 1.0
    z 1.0 1.0 0.5 0.5 2.0 1.0
    bkspc -1.0 -1.0 -0.5 -0.5 2.0 1.0
    ______________________________________



    As will be seen, there are alternate characterizations in Table 1 for the unistroke symbol that is assigned to the character `o` (see FIG. 2) because it has been found that that particular symbol is often written in open form (i.e., without completing the overlapping tail of the stroke). Also, the cumulative lengths of the x-axis projection of the unistroke symbols for `s` and `z` are specified as having nominal values of 2.0, but these specifications are subject to change because the available evidence indicate that 3.0 might work better in practice.

    A Modula-3 program that implements the above-described recognition methodology for unistroke symbols that are characterized by streams or files of ordered x,y coordinate pairs is appended hereto.

    As previously pointed out, a user actuatable button (such as the button on the barrel of the stylus 51 in FIG. 5) and/or special unistroke symbols that are dedicated to specified control functions (such as the unistroke control symbols shown in FIG. 2) can be used to provide the additional differentiation that is needed by the recognition unit 36 to accurately interpret unistroke symbols that are used to encode multiple alphanumeric symbols (such as lower case and upper case alphabetic symbols and/or alphabetic symbols and numeric symbols). As will be understood, the additional differentiation that is provided by these button triggered control signals and/or symbolic flags enables the recognition unit 36 to switch from one lookup table to another for the decoding of successive unistroke symbols.

    Turning now to FIG. 4, it now will be evident that unistroke symbols are especially well suited for "eyes-free" handwriting because each symbol is defined by a single stroke which, in turn, is delimited by moving the stylus 31 into and out of contact with the writing surface 32. Eyes-free operation is not only important for the sight impaired, but also for "heads-up" writing while transcribing text, taking notes while visually observing events, etc. Furthermore, unistroke symbols may be written one on top of another because they are interpreted in the order in which they are written and they are unambiguously differentiated from each other by being defined by different strokes. Thus, the symbols may be employed to advantage for handwriting text into computers that have small text entry fields, such as the computer 41 with its text entry field 42. Indeed, the use of spatially overlapping symbols for text entry tends to be less tiring than ordinary handwriting because it does not require wrist movement. Spaces between words typically are indicated by a tap of the stylus 31 against the writing surface 32, so the dot-like symbol that is produced by such a tap suitably is discriminated from the other unistrokes by the relatively small size of the dot-like symbol.

    If desired, the user interface 43 for the computer 41 may include one or more "soft-keys", such as at 44, for entering compositional characters and/or control codes through the use of a point and select methodology. Additionally, the user interface 43 may have a text editing field 46 for displaying the text of the message that is being entered and for sensing any gesture based editing commands that the user may enter.

    Advantageously, the tactile feedback that a user receives while using unistroke symbols for entering text for computer interpretation in accordance with this invention is similar to the usual tactile sensation of using pen and paper to handprint text. To this end, the origin of a unistroke symbol suitably is defined by sensing the point at which the contact pressure between the stylus 31 and the writing surface 32 first exceeds a threshold level, while the terminus of such a symbol by the point at which the contact pressure betwen the stylus 31 and the writing surface 32 is confirmed to have dropped below the threshold level.

    CONCLUSION

    In view of the foregoing, it now will be evident that the present invention provides a method computerized interpretation of handwritten text with substantial accuracy at modest processing cost. Expert users can employ unistrokes for writing text at high speed. In accordance with this invention, the unistroke symbols are readily discriminable from each other, even when imperfectly formed. Moreover, the unistroke text entry technique of this invention is well suited for writing text through the use of a stylus and the like, including for applications involving "eyes-free" text entry. Conceivably, this invention could be extended to facilitate the recognition of text that is written in three dimensional space using unistroke symbols that are characterized by order lists of x, y, z coordinate triplets. In some applications, the "pointer" that is used to write the unistroke symbols may be a finger or the like of the writer, such as when the unistroke symbols are written on a touch sensitive screen.

    For additional details, Goldberg et al., "Touch-Typing with a Stylus," CSL-93-1, Xerox Corporation Palo Alto Research Center, May 1993 hereby is incorporated by reference. That paper also appeared in the Proceedings of INTERCHI '93, Conference on Human Factors in Computing Systems, Apr. 24-29, 1993, Amsterdam, pp. 80-87.

  5. A MCSD's opinion on Samsung Claims World's First 288Mb Rambus DRAM · · Score: 2

    From what I have seen, the Windows kernel is VERY stable and fast. However, it's basically an extensible design, like a micro-kernel architecture, that is expected to remain stable with a variety of extensions by other companies, mostly in the form of drivers, CODECs, etc. My opinion is that's where Windows stability problems come from. Linux has an advantage here because of the open source aspect and because "core" Linux drivers (i.e. those that get distributed with the mainstream kernel source) tend to be looked at by very knowledgable individuals before being circulated. In the Windows world, anyone can deliver a driver, DLL, what have you and, since the source is never released, many common mistakes may never get fixed, or get fixed only after many users have suffered with the problem.

    Just $0.02 from a MCSD (since 1996).

  6. Re-writing code costs more-do it right 1st time on Extreme Programming Explained · · Score: 1

    But if your project has a history of needing to re-write code, pair programming will be cheaper. Guaranteed.

  7. It's NOT extreme, just practical on Extreme Programming Explained · · Score: 2

    I don't like the name either, it gives managers the willies and makes them think we're going to program their pet project while snowboarding. We just call it "pair programming", makes it sound boring and safe.

    "You got that routine done yet?"

    "Not yet, got snow in my goggles!"

    "OK. hey watch out for that ..."

    *aiiiieeee*

    "...tree." *wince*


    :+>

  8. Pair programming works!!! on Extreme Programming Explained · · Score: 2

    I learned about XP (Extreme Programming) a while back and while we don't follow all the practices Beck recommends, the pair programming has worked well for us! This should be obvious to Open Sourcer's since it's just peer review on an immediate level. The real advantage of this for us is that it produces code which is understandable to more than one person, right off the bat. This alone is a good thing. But if you do something devious like pair a programmer with a more knowledgable person, you're also getting some training in. Add to that the fact that more than one person at a time is actively designing the system, and you've got a pretty solid system in place.

    This is something I highly recommend that everyone try at work. Only people with huge egos shouldn't bother, but you did remember to check that at the door, right?

  9. Re:We need an OS virtual machine on Sun Withdraws Java from Standards Process · · Score: 1

    Am I missing something? Don't we already have this in the JVM (even though it's a software implementation and not a hardware one, and even though you can't buy a PC with just the JavaOS as the only OS on it)?

    Currently, you can write Python, ADA, Cobol, BASIC, and others I don't remember and compile them so they run within the JVM. You want a Fortran compiler for the JVM? What's stopping you? Talk to your Fortran vendor or learn to translate emitted assembler to Java byte codes.

  10. Amazon stupidity != BN loyalty on Amazon Takes Round One in Patent Dispute · · Score: 1

    I tend to think that if B&N were in Amazon's shoes, they would do the same thing. Do you really thing that either of them truly supports freedom of information? I highly doubt it. This is just a ploy to hurt B&N during an important selling period. BTW - The same goes for FatBrain. Do they really support freedom of information? Face it guys, this is a movement without a cause.

  11. Realistically, who cares? on Yahoo Patents Dynamic Page Generator · · Score: 1

    So they patented it, if they actually try to sue someone over this, the PR fallout would be so bad it would make them look seriously stupid.

    I really have to wonder why they bother filing the patent in the first place. Didn't any of their tech people tell them that this is an obvious use of technology in a web server, and therefore not really eligible for a patent???!

  12. From experience, I agree on Uncle Robin's Advice for Lovelorn Geeks · · Score: 1

    I just have to say that, from experience, I find the basic thrust of his posting to be true. I can not say that I agree with all of the implied generalizations about women/SOs in general, but the approach is correct.

    How do I know this? We've been married over 5 years now, and just adopted a baby daughter. No, we're not perfect. The relationship is not perfect, but that's perfectly fine, because we're both happy.

    Everyone: you could do a lot worse than following the advise Roblimo offered.

    Just my 2 cents.

  13. You're missing the point.... on Sun to run unmodified Linux Binaries · · Score: 2

    Linux shouldn't be just about beating Microsoft. It should be about freedom of information. If beating Microsoft is your only goal, then you may just as well throw in the towel now. Linux/GNU may beat them someday as a market force, but not if OSS perishes. It's not as if Linux has anything to offer that you can't get in Windows or other OSs. It's advantage is the supporting community and philosophy of sharing. That's it. Don't try to delude us into thinking Linux is meant to succeed just because you happen to support it. Without grounding values, who really cares?

  14. Linux did the same thing.... on Ask Slashdot: Perceptions of Red Hat Software · · Score: 2

    I'm not a hardcore "GNU rules world" advocate, but Linux essentially did the same thing with the GNU tools. Why should people get upset if the same thing happens with Linux? Isn't turn-about fair play?

  15. Intellectual Property is important on Supreme Court rules algorithms can be patented... · · Score: 1

    Without protection for intellectual property, where's the reward for our labor? At least patents don't last 75 - 100 years, like copyrights.

    It's easy to complain about not being a part of the supposed 2% class, but few of us really take the risks and put in the time needed to get there.