JPH064207A - 手書き入力によるコンピユータの入力方法及び装置 - Google Patents

手書き入力によるコンピユータの入力方法及び装置

Info

Publication number
JPH064207A
JPH064207A JP4121593A JP4121593A JPH064207A JP H064207 A JPH064207 A JP H064207A JP 4121593 A JP4121593 A JP 4121593A JP 4121593 A JP4121593 A JP 4121593A JP H064207 A JPH064207 A JP H064207A
Authority
JP
Japan
Prior art keywords
stroke
position data
data
gesture
database
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP4121593A
Other languages
English (en)
Other versions
JP2572521B2 (ja
Inventor
William J Anderson
ウイリアム・ジョセフ・アンダーソン
Nicos J Anthony
ニコス・ジョン・アンソニー
Doris C Chow
ドリス・チン・チョウ
Colin G Harrison
コリン・ジョージ・ハリソン
Tanarug Issadisai
タナラグ・イッサディサイ
Howard G Page
ハワード・ゲザ・ペイジ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH064207A publication Critical patent/JPH064207A/ja
Application granted granted Critical
Publication of JP2572521B2 publication Critical patent/JP2572521B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink
    • G06V30/36Matching; Classification
    • G06V30/373Matching; Classification using a special pattern or subpattern alphabet

Abstract

(57)【要約】 【目的】 タブレツト・コンピユータにおいて、スタイ
ラス・ベースのユーザ・インターフエースによつて発生
された手書きの入力ストリームを明確にする方法及び装
置を与える。 【構成】 本発明のタブレツト・アプリケーシヨン・プ
ログラム・インターフエース(TAPI)110は、デ
イジタル化タブレツト116にユーザ128が書込んだ
ストローク(筆跡)で発生されたストローク・データを
受け取る。TAPIはそのストローク・データをデータ
ベース212に挿入する。若し、ストロークが編集用の
ジエスチヤ標識ならば、TAPIは、編集するための対
話を識別するジエスチヤ標識の認識装置144に、スト
ローク・データを経路付ける。TAPIは、データベー
スへ動作を行なう対話を実行する。若し、アプリケーシ
ヨン・プログラムが終了事象を検出するまで、アプリケ
ーシヨン・プログラムは、ストローク・データの受け取
りを続行する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピユータ・システ
ムにデータを入力するための方法及び装置、より具体的
に言えば、スタイラス・ベース(手書きによる入力を標
準的な入力方法とした)のユーザ・インターフエースを
介してコンピユータ・システムにデータを入力する方法
及び装置に関する。
【0002】
【従来の技術】スタイラスを操作することによつて発生
されたデータ・ストリームを受け入れるコンピユータ・
システムが一般に用いられるようになつた。スタイラス
・ベースのユーザ・インターフエースは、通常、ペン
(スタイラスと呼ばれている)と、デイジタル化するた
めのタブレツトとを含んでいる。スタイラス・ベースの
ユーザ・インターフエースの使用は、手書き文字及び手
書き図面に使用する通常のユーザ・インターフエースを
指向する方向にある。
【0003】多くのアプリケーシヨン・プログラムにお
いて、スタイラス・ベースのユーザ・インターフエース
は、データの入力手段としての面で、キー・ボードより
も優れている場合がある。例えば、コンピユータのユー
ザがデータを入力することに対して一方の手の指しか使
用できない人の場合が、その一例である。スタイラス・
ベースのユーザ・インターフエースが優れているその他
の例としては、以下に示す例に限られるものではない
が、携帯用として軽量に設計されたデータ処理システム
に対して、キーボードが大き過ぎる容量、または重量を
持つ場合とか、あるいは、ユーザがキーボードの操作方
法を知らない場合とかがある。
【0004】スタイラス・ベースのユーザ・インターフ
エースを有するコンピユータ・システムの製造の問題と
しては、このシステムの市場性が限られていることがあ
る。キーボード、あるいは、マウスから入力されたデー
タ・ストリームに比べて、スタイラス・ベースのユーザ
・インターフエースから入力されたデータ・ストリーム
の持つ技術的な困難性は、コンピユータ・システムが、
入力されたデータを解釈することが難しく、かつ、スタ
イラス・ベースのアプリケーシヨン・プログラムの開発
が非常に複雑なことである。キーボード、またはマウス
による入力データ・ストリームは、明白に(一般的に言
つて)ユーザの意図、つまり、特定のキーボードのキイ
を選択すること、あるいは、マウスのボタンを選択する
ことを反映している。アプリケーシヨン・プログラム
は、特定の入力データに有効に応答したり、あるいは、
有効に応答しないが、しかし、入力データそれ自身には
曖昧さはない。
【0005】他方、スタイラス・ベースのユーザ・イン
ターフエースは、文字データ(テキスト、フアンクシヨ
ン・キー及び編集コマンドなど)と、ジエスチヤ・デー
タ(gesture data)(指示及び選択のようなマウスのデ
ータ)との両方のデータ源として機能する。ユーザが、
これらの2つのデータ・タイプの何れを入力するかとは
無関係に、スタイラス・ベースのユーザ・インターフエ
ースの入力データ・ストリームは、ユーザがスタイラス
を操作したようにスタイラスの位置を表わす一連の一対
のx−y値を含んでいる。ストローク(筆跡)データ
は、x−y座標からx−yデータを発生する。ストロー
ク・データは、ペンを上げた事象(event)と、ペンを
下げた事象とによつて書かれた座標x−yの1対の値の
行列であるストロークを表わしている。ペンを下げた事
象は、スタイラスがデイジタル化用パツドに最初に接触
した時に発生する。ペンを上げた事象は、スタイラスが
次にデイジタル化用パツドを次に離れる時に発生する。
【0006】スケツチ用のアプリケーシヨン・プログラ
ム、またはサインを取るためのアプリケーシヨン・プロ
グラムのような或る種のアプリケーシヨン・プログラム
は、これらのストロークを直接に取り扱う必要がある。
然しながら、多くのアプリケーシヨン・プログラムは、
ストロークによつて表わされた文字データを取り扱うだ
けである。従つて、ストロークを直接に取り扱う必要が
ある場合、ストローク・データは、アプリケーシヨン・
プログラムがストローク・データの処理が可能となる前
に、翻訳されねばならない。翻訳は、ジエスチヤ標識の
データか、または、文字データの何れかのデータとして
のストローク・データを分類し、或は、それらのデータ
を文字データに変換することを含んでいる。従つて、ス
トローク・データを翻訳することは、通常、プログラマ
の長い作業時間と、CPUの長い使用時間とを必要とす
る複雑な処理である。
【0007】ストローク・データを翻訳するために、幾
つかの月並な方法が用いられている。そのような方法の
第1の方法は、アプリケーシヨン・プログラムがストロ
ーク・データを翻訳する。アプリケーシヨン・プログラ
ムは、ストローク・データを受け取り、それらのデータ
を分類し、そして、文字データへの必要な変換を行な
う。この第1の方法の弱点は、プログラマがストローク
・データからキーボード・データへの変換について学習
し、そして、変換されたデータを処理するためのソース
・コードを書くために、大きな努力を必要とすることで
ある。更に、アプリケーシヨン・プログラムは、通常、
ストローク・データを取り扱うための極めて特殊な方法
を含んでいる。その結果、このような変換ソース・コー
ドを、他のアプリケーシヨンに再度用いることは殆ど皆
無である。
【0008】月並みな方法の第2の方法において、オペ
レーテイング・システムは、ストローク・データを翻訳
し、そして、アプリケーシヨン・プログラムに翻訳の結
果を引き渡す。「GO Pen−point」コンピユ
ータ・システムは、上述の第2の方法を用いたコンピユ
ータ・システムの1例である。この第2の方法の主な弱
点は、この方法がストローク・データを処理するために
設計されたオペレーテイング・システムに対してのみ有
効であることである。従つて、この第2の方法は、DO
S、Unix及びOS/2のような広く用いられている
オペレーテイング・システムには使用することができな
い。
【0009】
【発明が解決しようとする課題】現在広く用いられてい
るオペレーテイング・システムのために、複数のアプリ
ケーシヨン・プログラムによつて使用することのできる
スタイラス・ベースのユーザ・インターフエースからの
入力データ・ストリームを正しく処理するシステムが必
要である。
【0010】
【課題を解決するための手段】従つて、本発明は、タブ
レツトを使用するコンピユータにおいて、スタイラス・
ベースのユーザ・インターフエースによつて発生され、
手書きにより入力されたデータ・ストリームを明確に処
理するための装置及び方法を指向するものである。本発
明のタブレツト・アプリケーシヨン・プログラム・イン
ターフエース(TAPI)は、デイジタル化用のタブレ
ツト上に、ユーザにより書き込まれたストロークによつ
て発生されたストローク・データを受け取る。TAPI
は、データベース中にストローク・データを挿入し、そ
して、データベースが更新されたことを、ストロークが
差し向けられたアプリケーシヨン・プログラムに通知す
る。その後、アプリケーシヨン・プログラムは、データ
ベースからストローク・データを取り出すことができ
る。
【0011】ストロークが編集ジエスチヤ標識である場
合、TAPIは、ストローク・データをジエスチヤ標識
のプロトタイプ・ストロークにマツチするジエスチヤ標
識の認識装置にそのストロークを経路付ける。ジエスチ
ヤ標識の認識装置は、ジエスチヤ標識のそのプロトタイ
プのストロークと関連した編集の対話を判断する。ま
た、TAPIは、データベースに動作を行なうための対
話を実行し、そして、データベースが更新されたアプリ
ケーシヨン・プログラムに通知する。更に、TAPI
は、更新されたデータベースを反映するために、タブレ
ツト・コンピユータの表示装置に再度表示動作を行なわ
せる。
【0012】若し、アプリケーシヨン・プログラムがテ
キスト入力を実行したならば、TAPIがストロークの
グループを区画付けるクロージヤ事象を検出するまで、
TAPIはストローク・データの受け取りを続ける。ク
ロージヤ事象が検出された時、TAPIは、最後のクロ
ージヤ事象以降に受け取つたすべてのジエスチヤ標識で
ないストローク・データをグループ化することによつ
て、データベース中にストローク・グループ・エントリ
を形成する。TAPIは、ストローク・グループ・デー
タを文字認識装置に送り、文字認識装置において、複数
個の文字のプロトタイプ・ストロークとそのストローク
・グループ・データとを組み合わせる。
【0013】次に、文字認識装置は、文字のプロトタイ
プ・ストロークがマツプされる文字を含む結果データ
と、各マツチの質の表示とを発生する。TAPIは、結
果のデータをストローク・グループ・エントリ中に挿入
し、そして、データベースが更新されたことをアプリケ
ーシヨン・プログラムに通知する。また、TAPIは、
更新されたデータベースを反映するために表示装置に再
度表示させる。
【0014】
【実施例】ハードウエア及びソフトウエアの環境 図1は、本発明のタブレツト・アプリケーシヨン・プロ
グラム・インターフエース(TAPI)110を使用す
るタブレツト・コンピユータ100のブロツク図であ
る。タブレツト・コンピユータ100は、ハードウエア
のサブシステム112と、ソフトウエアのサブシステム
114とを含んでいる。ハードウエアのサブシステム1
12は、デイジタル化タブレツト116及び表示装置1
18を含んでいる。ソフトウエアのサブシステム114
は、TAPI、110、タブレツト・ドライバ120、
ウインドウ・システム122、認識モジユール124
(或る実施例の場合)、アプリケーシヨン・プログラム
126及び少なくとも1つのアプリケーシヨン・ウイン
ドウ138を含んでいる。ウインドウ・システム122
は、ウインドウ・サーバ134及びPLIエキステンシ
ヨン136を含んでいる。認識モジユール124は、文
字認識装置140、文字のプロトタイプ・データ・セツ
ト142、ジエスチヤ標識の認識装置144及びジエス
チヤ標識のプロトタイプ・データ・セツト146を含ん
でいる。
【0015】ユーザ128は、デイジタル化用タブレツ
ト116上でスタイラスを操作することによつてタブレ
ツト・コンピユータ100の中にデータを入力する。デ
イジタル化用タブレツト116は、スタイラスで作られ
たストロークをx−y座標軸で表示されたx−yデータ
を発生する。
【0016】タブレツト装置ドライバ120は、デイジ
タル化用タブレツト116及びソフトウエア・サブシス
テム114の間の通信を処理する。例えば、タブレツト
装置ドライバは、デイジタル化用タブレツト116を始
動し、デイジタル化用タブレツトとオペレーテイング・
システムとの間のコマンドの対話を維持し、デイジタル
化用タブレツト116からのx−yデータをウインドウ
・システム122に転送し(オペレーテイング・システ
ムを通して)、そして、x−yデータを表示装置118
のインキング面130(inking plane)にインキ表示す
る。(インキング面130はデイジタル化用タブレツト
116のハードウエア・インターフエースによつて代用
することができることは注意を要する。)
【0017】表示装置118は、タブレツト装置ドライ
バ120から(そのインキ表示面130を介して)と、
ウインドウ・システム122から(1つ、または、それ
以上のアプリケーシヨン面132を介して)データを受
け取る。インキング面130及びアプリケーシヨン面1
32を分離することは、デイジタル化用タブレツト11
6からの表示データと、ウインドウ・システム122か
らの表示データとの間の区別を容易にする。この区別
は、タブレツト装置ドライバ120がストローク・デー
タを直接に表示することを可能とする。ストローク・デ
ータは、ウインドウ・システム122によつて書き込ま
れたデータに影響を与えることなく消去することができ
る。他の方法として、ウインドウ・システム122は、
ストローク・データをアプリケーシヨン・ビツト面13
2にコピーすることによつて、表示されたストローク・
データを永久的にすることができる。良好な実施例にお
いて、表示装置118は、4つのアプリケーシヨン面1
32と1つのインキング面130とを持つ通常のVGA
デイスプレイである。
【0018】ウインドウ・システム122の機能は、オ
ペレーテイング・システムを介して、入力データを受け
取ることと、入力事象の待ち行列を管理することと、入
力事象を、適当なアプリケーシヨン・ウインドウ138
に経路付けることとを含んでいる。ウインドウ・システ
ム122は、ストローク・データをサポートするための
エキステンシヨンを付加したX Window System(商標)
のような通常のウインドウ・システムであつてよい。X
Window Systemは、MITから入手可能である。上述の
エキステンシヨンは、X Window Systemに対するPaper-L
ike Interface(PLI)のエキステンシヨン136で
あつてよい。Paper-Like Interfaceは、IBM社で開発
されたソフトウエアである。これらのエキステンシヨン
は、X Window Systemのバージヨンx11のレリーズ5
の一部として販売されている。PLIエキステンシヨン
136は、ウインドウ・サーバ134(X Window Syste
mのウインドウ・サーバのような)を動作可能にするた
めに、ウインドウ・サーバ134に対する修正を含んで
おり、これにより、付加的な事象の待ち行列(ストロー
ク事象の待ち行列を含む)をサポートし、かつ、ストロ
ーク・データを処理する。
【0019】アプリケーシヨン・プログラム126が始
動(initialization)すると、アプリケーシヨン・プロ
グラムに関連した各アプリケーシヨン・ウインドウ13
8は、ウインドウ・システム122によりストアされ、
そして、ストローク事象を通知されるよう要求すること
ができる。ストローク事象が発生した時に、ストローク
事象は、ウインドウ・サーバ134によつて使用されて
いる経路付け(routing)アルゴリズムか、または、他
の方針に従つて、x−yデータを含むすべてのデータを
アプリケーシヨン・ウインドウ138の中に与えられ
る。また、アプリケーシヨン・ウインドウ138は、ス
トローク事象を受け取ると、実際のストローク・データ
を要求する。通常、各ストロークに関連したx−yデー
タは、ウインドウ・システム122のメツセージのサイ
ズよりも大きいので、ストローク・データは、通知にお
いて直接には使用されない。アプリケーシヨン・ウイン
ドウ138は、ストローク・データを検索した後に、そ
のキヤツシユからストローク・データを削除するため
に、ウインドウ・システム122に通知し、そして、ア
プリケーシヨン・プログラム138は、インキング面1
30からストローク・データを消去するために、タブレ
ツト装置ドライバ120に通知する。
【0020】アプリケーシヨン・プログラムの特質に従
つて、アプリケーシヨン・プログラム126は、アプリ
ケーシヨン面132にストローク・データを書き込むこ
とができる。また、アプリケーシヨン・プログラムは、
ASCIIコード(手書き文字のための)に変換するた
めの文字認識装置140にストローク・データを転送す
るか、または、フアンクシヨン・コード(ジエスチヤ標
識のための)に変換するためのジエスチヤ標識の認識装
置144にストローク・データを転送することができ
る。これらの認識装置は、プロトタイプ・データ・セツ
ト中の例示に対してストロークを比較することによつて
文字認識を遂行することができる。従つて、文字のプロ
トタイプ・データ・セツト142は、有効な各文字の手
書きの例の集合を含んでおり、そして、ジエスチヤ標識
のプロトタイプ・データ・セツト146は、有効な各ジ
エスチヤ標識の手書きの例の集合を含んでいる。
【0021】TAPIの概要 TAPI、110は、ストローク・データの管理のため
の一組のモジユール及びデータ構造のセツトを含んでい
る。TAPIは、プログラミング・インターフエース及
びデータ構造のセツトとしてアーキテクチヤ化されてい
る。良好な実施例において、ウインドウ・システム12
2は、アプリケーシヨン・プログラム126のためのユ
ーザ・インターフエースの骨組を与えている。
【0022】アプリケーシヨン・プログラム126は、
TAPI、110を、多くの異なつた方法で動作するよ
うに構成することができる。例えば、第1の構成におい
て、TAPI、110は、アプリケーシヨン・プログラ
ム126それ自身によつて遂行されている他の任意の処
理によつて、ストロークを単純に獲得し、表示する。こ
のような構成は、例えば、スケツチ用、または製図用の
アプリケーシヨン・プログラム126により、或は、サ
イン獲得用のアプリケーシヨン・プログラム126によ
つて用いることが可能である。
【0023】第2の構成において、TAPI、110
は、ストロークを獲得し、表示し、そして、書込みウイ
ンドウにおいて手書き文字の認識を行なつて、スタイラ
スが、書き込みウインドウに触れた時に、表示装置11
8上に写し出す。
【0024】第3の構成において、TAPI、110
は、ストロークを獲得し、表示し、そして、認識された
テキストの専用のジエスチヤ標識により呼び出された編
集及びエラー訂正を有する表示装置118中の不整列の
スクロールするウインドウの中で手書きの認識を遂行す
る。編集及びエラー訂正の処理は、データベース212
のデータベース・プリミテーブ(database primitive
s)(図2を参照)を使用する対話プロシージヤによつ
て決定され、データベース212中のストローク及び文
字データを操作する。
【0025】図2は、本発明のTAPI、110の良好
な実施例の構造を示すブロツク図である。この実施例に
おいて、TAPI、110は、Xlib/Xtools ウイジット
(widget)のセツト214と、writingA ウイジツト2
10と、writingR ウイジツト218と、writingD ウイ
ジツト220と、対話モジユール222と、データベー
ス212と、レコ・リンク(RECO LINK)216とを含
んでいる。また、図2は、TAPI、110が、図1に
示したアプリケーシヨン・プログラム126及び認識装
置124とどのようにして対話するかを示している。
【0026】書込みウイジツト210、218及び22
0の特定の例は、通常、各アプリケーシヨン・ウインド
ウ138と関連される。また、携帯性を改良するため
に、writingA ウイジツト210は、任意の特定のウイ
ンドウ・システム及びウイジツトの組に対して特別であ
るTAPI、110のすべての性質(feature)を含ん
でいる。
【0027】ウイジツトは、表示装置118に表示され
たアプリケーシヨン・ウインドウ138を管理する再使
用可能なオブジエクトである。ウイジツトは、ユーザの
入力事象と、これらの事象に応答するアプリケーシヨン
・プログラム126の入力メカニズムとの間の通路を与
える。また、ウイジツトは、アプリケーシヨン・プログ
ラム126の出力メカニズムと、表示装置128のウイ
ンドウ・マネージヤとの間の通路を与える。また、ウイ
ジツトは、転送の役目を果したり、或は、入力事象また
は出力事象に応答する特別の役目を果す。
【0028】Xlib/Xtools ウイジツトのセツト214、
オープン・ソフトウエア・フアンデーシヨン社(Open S
oftware Foundation)のMotif ウイジツト及びカーネギ
ー・メロン大学(Carnegie Mellon University)のAndr
ew ウイジツトを含む幾つかの標準的なウイジツトのセ
ツトが開発されている。X Windowsの環境のために書か
れたアプリケーシヨン・プログラム126のユーザ・イ
ンターフエースの部分は、通常、標準的なウイジツトの
セツトと、特別の機能を遂行するための付加的なウイジ
ツトとで構成されている。付加的なウイジツトはアプリ
ケーシヨン・プログラム126の開発者によつて書かれ
るが、しかし、標準的なウイジツトのセツト中のウイジ
ツトから(標準的なウイジツトからの固有の属性から)
承継される。本発明における付加的なウイジツトは、wr
itingA ウイジツト210、writingR ウイジツト218
及びwritingD ウイジツト220である。
【0029】writingA ウイジツト210は、Motif dra
wingArea ウイジツトから承継したものである。writing
A ウイジツト210は、x−yデータを処理することに
加えて、データベース212に対してインターフエース
を与える(drawingArea ウイジツトが行なうように)。
また、writingA ウイジツト210は、クロージヤ(clos
ure)(終了)事象の間に発生するストロークを追従し、
これにより、文字認識を容易にする。
【0030】writingR ウイジツト218は、レコ・リ
ンク216に対するインターフエースとして動作し、デ
ータベース212に関する単純な動作を遂行し、そし
て、文字表示をサポートする。writingD ウイジツト2
20は、対話モジユール222に対するインターフエー
スとして動作する。書込みウイジツト210、218及
び220の付加的な機能は、「TAPIの動作」と記載
された項目で説明される。
【0031】対話モジユール222は、ユーザ128に
よつて入力されたジエスチヤ標識によつて呼び出される
データベース動作をサポートする。データベース212
は、ストローク・データ、認識データ及びデータを変更
するためのプリミテーブ(原資)をストアする構造と、
フアイルにデータを書込み、かつフアイルからデータを
読み取る構造とを含んでいる。レコ・リンク216は、
文字認識装置140及びジエスチヤ標識の認識装置14
4に対してコンフイギユレーシヨン・インターフエース
を与える。
【0032】データベース 図11は、データベース212の構造のブロツク図であ
る。図6を参照すると、データベース212は、活動リ
スト610と、不活動リスト612と、データベース・
プリミテーブ614とを含んでいる。データベース・プ
リミテーブ614は、ダンプ・プリミテーブ616、回
復プリミテーブ618、ヒツト・テスト・プリミテーブ
620、グループ・ストローク・プリミテーブ622、
作成ワード・エントリ・プリミテーブ624、付加文字
プリミテーブ626、そして、その他多くのプリミテー
ブを含んでいる。活動リスト610は、ユーザ128が
入力して、削除していないデータを含み、他方、不活性
リスト612は、ユーザ128が入力したが、その後削
除したデータを含んでいる。
【0033】図12、図13及び図14は、活動リスト
610の構造を示す図である。活動リスト610の構造
は、不活動リスト612の構造と同じである。従つて、
図12、図13及び図14は、不活動リスト612の構
造も示している。図12を参照すると、活動リスト61
0は、ストローク・エレメント・リスト710(図1
2)、ストローク・グループ・リスト712(図13)
及びワード・リスト744(図14)を含んでいる。ス
トローク・エレメント・リスト710中の各ストローク
・エレメント・エントリ714は、ヘツダ716及び位
置データ718を含んでいる。ヘツダ716は、ウイン
ドウ識別子719や、ストロークが作られた時間等の他
のデータを含んでいる。ウインドウ識別子719は、ス
トロークが作られたアプリケーシヨン・ウインドウ13
8を表わしている。位置データ718は、表示装置11
8において、ストロークが関与する座標軸の値を含んで
いる。ストローク・グループ・リスト712は、2種類
のエントリを持つことができる。第1の種類において、
未だ認識されていないストローク・グループ・エントリ
720は、ウインドウ識別子722及びストローク・エ
レメント・ポインタ724を含んでいる。各ストローク
・エレメント・ポインタ724は、「TAPIの動作」
と記載された後述する項において説明される態様で1つ
のグループにまとめられた複数のストロークと関連した
ストローク・エレメント・エントリ714を指示する。
【0034】第2の種類において、認識されたストロー
ク・グループ・エントリ726は、ウインドウ識別子7
22と、少なくとも1つのストローク・エレメント・エ
ントリ714と、結果の構造728とを含んでいる。結
果の構造728は、少なくとも1つの結果730と、夫
々の結果730と共に、使用されたストローク・エレメ
ント・フイールド732、スコア・フイールド734及
びビツト・フイールド736とを含んでいる。使用され
たストローク・エレメント・フイールド732は、結果
730を決定する時に認識装置124によつて用いられ
るすべてのストローク・エレメントを表示している。ス
コア・フイールド734は、認識装置が結果730を決
定した確実性(確からしさ)を表示する。ビツト・フイ
ールド736は、ビツト・フイールドが表示されるべき
か否かとか、それが活動の結果であるか否かとかのよう
な結果についての他の情報を表示する。活動している結
果の最初は、最低のスコア・フイールド734(従つ
て、最大の確実性)を持つ結果730である。
【0035】更に、結果の構造728は、総合スコア
(aggregate score)738及びワード分離フイールド
740を含んでいる。総合スコア738は、結果の構造
728が正しい結果を含んでいる可能性の、認識モジユ
ール124による予測を表示する。ワード分離フイール
ド740は、結果の構造728を発生する際に用いられ
たストロークと、後続して隣接した結果の構造728を
発生する際に用いられたストロークとの間の距離が、予
め決められた閾値を越えているか否かを表示する。
【0036】図14を参照すると、ワード・リスト74
4は、複数個のワード・リスト・エントリ752を含ん
でいる。ワード・リスト・エントリは、文字のグルー
プ、即ちワードを表示する。より特定して言えば、ワー
ド・リスト構造752は、ウインドウ識別子754及び
複数個の文字ポインタ756を持つている。各文字ポイ
ンタ756は、認識されたストローク・グループ・エン
トリ726の1つを指示する。
【0037】TAPIの動作 ストローク・データの初期の処理 図4乃至図7は、本発明の第3の実施例の動作を説明す
るための流れ図である。図4のステツプ310におい
て、Xlib/Xtools ウイジツトのセツト214は、各アプ
リケーシヨン・ウインドウ138の論理的表示を構成す
る。アプリケーシヨン・ウインドウの形成は、ウインド
ウの位置、形及びタイプ・フオント、受けるデータのタ
イプ(例えば、テキスト、ストローク、あるいは、これ
ら2つの組み合せ)及びその他幾つかのパラメータを特
定することを含んでいる。
【0038】ステツプ312において、タブレツト装置
ドライバ120は、デイジタル化用タブレツト116か
らx−yデータを獲得する。ステツプ314において、
タブレツト装置ドライバ120は、表示装置118のイ
ンキング面130をインク表示することによつてx−y
データを表示する。
【0039】ステツプ316において、タブレツト装置
ドライバ120は、x−yデータから、ストローク事象
及びストローク・エレメント714(図13)のエント
リを発生する。ストローク事象の発生は、ペンの下げ、
ペンの上げ、即ち、中間ストローク事象の発生を含む。
タブレツト装置ドライバ120は、ユーザ128がデイ
ジタル化用タブレツト116の上にスタイラスを置いた
ことを表示するデイジタル化用タブレツト116からの
コードを受け取つた時にペン下げストロークを発生す
る。同様に、タブレツト装置ドライバ120は、ユーザ
128がデイジタル化用タブレツト116からスタイラ
スを持ち上げたことを表示するデイジタル化用タブレツ
ト116からのコードを受け取つた時にペン上げ事象を
発生する。タブレツト装置ドライバ120は、スタイラ
スの位置を表示するために、規則的な間隔で中間ストロ
ーク事象を発生する。例えば、タブレツト装置ドライバ
120は、100個のx−y座標値を受け取る毎に中間
事象を発生することができる。中間ストローク事象は、
ユーザ128がスタイラスの移動を終了して、デイジタ
ル化用タブレツト116の上にスタイラスを静止して保
持した時を決定するために、TAPI、またはアプリケ
ーシヨン・プログラム126を活性化する。
【0040】ストローク・エレメント・エントリ714
の発生は、以下の通りである。タブレツト装置ドライバ
120は、ペンの持ち上げ及びペンの下げの間で発生さ
れたx−y座標値を、表示装置118の座標軸のx−y
値に変換し、そして、表示装置の座標軸のx−y値を、
ストローク・エレメント・エントリ714中の位置デー
タ718のフイールド中に挿入される。次に、タブレツ
ト装置ドライバ120は、ストロークに関する付加的な
情報(ウインドウ識別子719を含んで)をストローク
・エレメント・エントリ714のヘツダ716の中に挿
入する。
【0041】ステツプ318において、タブレツト装置
ドライバ120は、ウインドウ・システム122を通し
て、各ストローク・エレメント・エントリ714をアプ
リケーシヨン・ウインドウ138に経路付ける。これを
具体的に言えば、タブレツト装置ドライバ120は、ス
トローク・エレメント・エントリ714及びストローク
事象をウインドウ・システム122に送る。ストローク
・エレメント・エントリ714は、PLIエキステンシ
ヨン136のストローク・データのキヤツシユに加えら
れ、そして、ストローク事象はPLIエキステンシヨン
136のストローク事象の待ち行列に入れられる。次
に、ウインドウ・システム122は、ストローク事象を
アプリケーシヨン・ウインドウ138に経路付ける。
【0042】どのアプリケーシヨン・ウインドウ138
がストローク事象に与えるかを決めるために、種々の方
針を使用することができる。例えば、ストローク事象
は、前のストローク事象を受け取つたアプリケーシヨン
・ウインドウ138に、最初に与えることができる。あ
るいは、ストローク事象は、関連したストロークが通過
された場合にのみアプリケーシヨン・ウインドウ138
に与えることができる。あるいは、ストローク事象は、
アプリケーシヨン・ウインドウ138が現われた場合に
のみアプリケーシヨン・ウインドウ138に与えること
ができる。若し、アプリケーシヨン・ウインドウ138
がストローク事象に与えられたならば、それは、ストロ
ーク事象と関連したストローク・エレメント・エントリ
714を受け入れるか否かを表示することによつてウイ
ンドウ・システム122に応答する。通常、アプリケー
シヨン・ウインドウ138は、若し、アプリケーシヨン
・ウインドウ138がTAPI、110ウイジツト21
0、218及び220により作られたならば、ストロー
ク事象を受け取ることができるだけである。
【0043】ステツプ320において、ウインドウ・シ
ステム122は、アプリケーシヨン・ウインドウ138
がストローク事象を受け取つたか否かを決定する。ステ
ツプ322において、ウインドウ・システム122は、
ストローク事象をマウス事象に変換する。ステツプ32
4において、タブレツト装置ドライバ320は、インキ
ング面130の中のx−yデータを消去する。ステツプ
326において、ウインドウ・システム122は、マウ
ス事象をアプリケーシヨン・ウインドウ138に経路付
ける。より特定して言えば、マウス事象はウインドウ・
サーバ134のマウス事象の待ち行列に入れられる。次
に、ウインドウ・サーバ134は、マウス事象をアプリ
ケーシヨン・ウインドウ138に経路付ける。ステツプ
328において、マウス事象を受け取つたアプリケーシ
ヨン・ウインドウ138に関連したアプリケーシヨン・
プログラム126は、マウスのデータを処理する。次
に、TAPIの制御の流れは、ステツプ312に戻る。
【0044】他方、若し、アプリケーシヨン・ウインド
ウ138がストローク・エレメント・エントリ714を
受け取つたならば、TAPI、110の動作は、以下の
ようになる。ステツプ330において、writingA ウイ
ジツト210は、PLIエキステンシヨン136のスト
ローク・データのキヤツシユからストローク・エレメン
ト・エントリ714を要求し、そして、そのストローク
・エレメント・エントリをデータベース212に転送す
る。この転送が行なわれると、ウイジツトAは、アプリ
ケーシヨン・ウインドウ138の識別子(ウインドウ識
別子719)をヘツダ714の中に挿入する。ステツプ
332において、図11の挿入ストローク・プリミテー
ブ622は、データベース212のストローク・エレメ
ント・リスト710の中に新しいエントリを作成し、そ
して、その新しいエントリをストローク・エレメント・
エントリ714にコピーする。
【0045】図4のステツプ334において、writingA
ウイジツト210は、アプリケーシヨン・ウインドウ
138のコンフイギユレーシヨン・パラメータを調べる
ことによつて、ストロークの表示がアプリケーシヨン・
ウインドウ138に表示できるか否かを決定する。若
し、ストロークの表示が表示可能ならば、ステツプ33
8において、writingA ウイジツト210は、ストロー
クがアプリケーシヨン・ウインドウ138に表示される
ように、アプリケーシヨン面132中に位置データ71
8をインキ表示する。ストロークの表示がアプリケーシ
ヨン・ウインドウ138に表示しない場合か、または、
ステツプ338の後のステツプ340において、writin
gA ウイジツト210は、PLIエキステンシヨン13
6のストローク・データのキヤツシユから、ストローク
・エレメント・エントリ714を削除するために、ウイ
ンドウ・システム122にコマンドを送る。
【0046】ステツプ342において、writingR ウイ
ジツト218及びwritingD ウイジツト220は、アプ
リケーシヨン・ウインドウ138に対して、対話モジユ
ール222、または認識モジユール124を活性化する
か否かを決定する。若し、活性化しなければ、エキステ
ンシヨンは、ストローク・エレメント・リスト710の
中に新しいストローク・エレメント・エントリ714が
あることを、writingAウイジツト210がアプリケーシ
ヨン・ウインドウ138に通知する図6のステツプ36
6に直接に移動する。若し、アプリケーシヨン・ウイン
ドウ138がエントリを受け取らなければ、制御の流れ
は、付加的なストローク・データを獲得するために、ス
テツプ312に戻る(図6のステツプ367)。アプリ
ケーシヨン・ウインドウ138がエントリを受け取つた
ならば、アプリケーシヨン・プログラム126はストロ
ーク・エレメント・エントリ714を、以下のように処
理する。
【0047】アプリケーシヨン・プログラムによるスト
ローク・データの処理 図6のステツプ368において、アプリケーシヨン・プ
ログラム126は、ストローク・エレメント・エントリ
714から位置データ718を取り出すことができる。
次に、アプリケーシヨン・プログラム126は、ステツ
プ370により示されているように、位置データ718
を処理する。ステツプ372において、アプリケーシヨ
ン・プログラム126は、実行を一時中止するコマンド
が発生されたか否かを決定する。若し、一時中止コマン
ドが発生されていなければ、処理は、次の付加的なスト
ローク・データを獲得するためにステツプ312に戻
る。
【0048】一時中止コマンドが発生されたならば、ス
テツプ373において、アプリケーシヨン・プログラム
126は、データベース212の状態を保存する。アプ
リケーシヨン・プログラムは、データベース212中に
含まれたデータを、データベースのフアイルに書き込む
ために、図11のダンプ・プリミテーブ616を呼び出
すことによつてデータベースの状態を保存する。次に、
アプリケーシヨン・プログラム126は、アプリケーシ
ヨン・プログラムが再開始するよう命令されたか否かを
見るために、アプリケーシヨン・プログラムが続けてテ
ストするステツプ374の一時中止モードに入る。再開
始コマンドを受け取つた後、ステツプ376において、
アプリケーシヨン・プログラム126は、データベース
212の状態を回復する。この処理は、データベースの
フアイルからデータベース212のデータを取り出すた
めに、回復プリミテーブ618を呼び出すことによつて
行なわれる。次に、処理は、ステツプ312に戻る。
【0049】ジエスチヤ標識の処理 図4のステツプ342に戻つて説明を続けると、若し、
対話モード、または認識装置124が活性化されたなら
ば、処理の実行は以下の通りである。ステツプ344に
おいて、writingR ウイジツト218は、ストロークが
ジエスチヤ標識のものであるか否かを決定する。この決
定は、例えば、通常の文字のストロークを取り巻いて描
かれた仮想的なボツクスの特定の寸法を越えたストロー
クがあれば、そのストロークはジエスチヤ標識とするこ
とにより行なうことができる。
【0050】若し、ストロークがジエスチヤ標識である
と決定されたならば、その後の処理は以下の通りであ
る。図7のステツプ378において、writingR ウイジ
ツト218は、レコ・リンク216を通つて、そのスト
ロークをジエスチヤ標識の認識装置144に経路付け
る。より特定して言えば、writingA ウイジツト218
は、関連したストローク・エレメント・エントリ714
へのポインタをレコ・リンク216に経路付ける。レコ
・リンク216は、ストローク・エレメント・ポインタ
と、ヒープ(heap)のアンカー・ポイント(anchor poi
nt)へのポインタとをジエスチヤ標識の認識装置144
に経路付けることによつて応答する。(ヒープとは、タ
ブレツト・コンピユータ100のメモリの連続部分であ
る。)
【0051】次に、ジエスチヤ標識の認識装置144
は、そのストロークを、ジエスチヤ標識のプロトタイプ
・データ・セツト146中のサンプルのジエスチヤ標識
に比較することによつて認識アルゴリズムを遂行する。
ジエスチヤ標識の認識装置144は、マツチング・サン
プルと関連した対話の標識コードをヒープ中に表示する
か、または、(マツチングがなければ)エラー・コード
によつて終了するかの何れかの動作をする。この動作が
完了すると、ジエスチヤ標識の認識装置144は、レコ
・リンク216に通知する。
【0052】ステツプ380において、レコ・リンク2
16は、writingD ウイジツト220に対して包括的な
結果を作るためにヒープの中のデータの必要なフオーマ
ツト化を遂行する。データをフオーマツト化しなければ
ならないかどうかとか、どのようにして、データをフオ
ーマツト化するかなどは、ジエスチヤ標識の認識装置1
44の性質に従う。
【0053】ステツプ382において、ジエスチヤ標識
のストロークは、アプリケーシヨン・ウインドウ138
から消去される。ステツプ384において、TAPI、
110は、ジエスチヤ標識の認識装置144がエラー・
コードによつて終了したか否かを決定する。若し、ジエ
スチヤ標識の認識装置が終了されているならば、ステツ
プ344における仮定は正しいものではなかつた。スト
ロークは文字の一部である可能性が高い。従つて、処理
は、次のx−yデータを獲得するためにステツプ312
に戻る。
【0054】他方、若し、ジエスチヤ標識の認識装置1
44により戻された結果が、有効なジエスチヤ標識であ
ると表示されたならば、ステツプ386において、writ
ingDウイジツト220は、対話の1つが既に活性になつ
ているか否かを決定する。若し、活性化された対話がな
ければ、そのジエスチヤ標識は、対話モジユール222
の中の対話の1つを開始するために、ユーザ128の要
求を表示しなければならない。従つて、ステツプ388
において、writingD ウイジツト220は、対話の標識
コードの結果によつて表示された対話を活性化する。
【0055】ステツプ386が実行された時、または、
ステツプ388にかける対話の活性化の後に、若し、活
性化された対話があれば、ステツプ390において、活
性化された対話は、対話が最後に実行されるまで、受け
取られたすべてのストローク・データを実行する。対話
の実行は、「対話」と記載された以下の項で説明され
る。
【0056】ステツプ392において、TAPI、11
0は、活性化された対話が実行を完了したか否かを決定
する。若し、活性化された対話の実行が終了したなら
ば、ステツプ394、または、ステツプ392中の否定
的な決定の後に、この処理は、次のストローク・データ
を獲得するために、ステツプ312に戻る。
【0057】他方、図4のステツプ344において、若
し、ストロークがジエスチヤ標識ではないと決定された
ならば、ステツプ346において、writingD ウイジツ
ト220は、活性化された対話があるか否かを決定す
る。若し、活性化された対話があれば、そのストローク
は活性化されている対話によつて処理される。従つて、
処理の実行は、上述した図7のステツプ390の活性化
された対話に転送される。
【0058】クロージヤ事象(終了事象)に対する応答 若し、ステツプ346において、活性化された対話がな
ければ、ステツプ348において、writingR ウイジツ
ト218は、クロージヤ事象についてテストを行なう。
クロージヤ事象は、完成された手書きのシンボル(文
字、または符号)に区画付けをする。そのシンボルは、
表示装置118のボタン・アイコンを押したユーザ12
8のような手操作の事象であるかもしれないし、あるい
は、ストロークの端部に続いて時間切れが生じたとか、
1つのストロークの端部と次のストロークの始めとの間
でスタイラスが相対的に大きく移動されたようなソフト
ウエア事象かもしれない。若し、クロージヤ事象がなけ
れば、制御の流れは、次のストローク・データを集める
ために、ステツプ312に戻る。若し、そうでなけれ
ば、TAPI、110の動作は次のようになる。
【0059】ステツプ350において、writingR ウイ
ジツト218は、前のクロージヤ事象以降に受け取つた
ジエスチヤ標識でないすべてのストロークのグループを
形成するために、データベース212に命令する。デー
タベース212のグループ・プリミテーブ622(図1
1参照)は、(1)アクテイブ・リスト610の未だ認識
されていないストローク・グループ・エントリ720
(図13)を作成し、(2)使用されるストローク・エレ
メント・エントリ718に指示するために、ストローク
・エレメント・ポインタ724をセツトし、(3)ストロ
ーク・エレメント714のウインドウ識別子719を未
だ認識されていないストローク・グループ・エントリ7
20のウインドウ識別子722にコピーすることによつ
て応答する。
【0060】ステツプ352において、writingR ウイ
ジツト218は、レコ・リンク216を介して、ストロ
ーク・グループを文字認識装置140に経路付ける。よ
り具体的に言えば、writingR ウイジツト218は、未
だ認識されていないストローク・グループのエントリ7
20へのポインタをレコ・リンク216に経路付ける。
レコ・リンク216は、文字認識装置140にポインタ
を経路付けることによつて、ストローク・グループ・ポ
インタと、ヒープ中のアンカー・ポイントへのポインタ
とに応答する。
【0061】次に、文字認識装置140は、文字のプロ
トタイプ・データ・セツト142の中のサンプル・スト
ローク・グループに対してそのストローク・グループを
比較することによつて認識アルゴリズムを遂行する。文
字認識装置140は、ヒープにおいて、マツチング・サ
ンプルに関連した幾つかの結果の文字と、各結果の文字
に対するプロトタイプ比較に実際に用いられたストロー
クと、スコア(即ち、マツチの質)と、他のデータとを
表示する。この動作が完了すると、文字認識装置140
は、レコ・リンク216に通知する。
【0062】ステツプ354において、レコ・リンク2
16は、writingR ウイジツト218に対して包括的な
結果を作るために、ヒープの中のデータについて必要な
フオーマツト化を遂行する。データをフオーマツト化す
るか否かとか、どのようにフオーマツト化するかは、文
字認識装置140に従う。
【0063】ステツプ356において、writingR ウイ
ジツト218は、結果の構造728を、未だ認識されて
いないストローク・グループのエントリ720に付加
し、これにより、未だ認識されていないストローク・グ
ループのエントリ720を認識されたストローク・グル
ープのエントリ726に変換する。より特定して言え
ば、writingR ウイジツト218は、結果の構造728
のヒープから結果のデータをコピーするために、データ
ベース・プリミテイプ614を呼び出す。次に、writin
gR ウイジツト218は、ワード分離フイールド740
の値を計算し、そして、その結果を結果の構造728の
中に挿入する。ワード分離フイールド740は、この結
果の構造728を発生する際に使用されたストローク
と、前に隣接した結果の構造728を発生した際に使用
されたストロークとの間の距離が予め決められた閾値を
越えているか否かを表示する。
【0064】ステツプ357において、writingR ウイ
ジツト218は、いま認識された結果が現存するワード
・リストのエントリ752と共にグループ化されるべき
か否かを決定する。つまり、writingR ウイジツト21
8は、ワード分離フイールド740が閾値を越えたこと
を表示したか否かを決定する。若し、閾値を越えている
ならば、ステツプ358において、writingR ウイジツ
ト218は、ワード・リスト構造744(図14参照)
の中に新しいワード構造752を作成するために、デー
タベース212の作成ワード・エントリ・プリミテーブ
626に命令する。閾値を越えていないか、あるいは、
ステツプ358の後に、ステツプ359において、writ
ingR ウイジツト218は、結果の構造728を現在の
ワード構造752に付加するために、文字の付加プリミ
テーブ626に命令する。
【0065】ステツプ360において、writingA ウイ
ジツト210は、この結果を表示するか否かと、アプリ
ケーシヨン・ウインドウ138が認識した結果を表示す
るために活性化されるか否かとを、ビツト・フイールド
736から決定する。若し、両方の条件が満たされたな
らば、ステツプ362において、writingA ウイジツト
214は、アプリケーシヨン面132の中にインキ表示
された(図4のステツプ338において)位置データ7
18を消去する。ステツプ364において、writingA
ウイジツト214は、アプリケーシヨン・ウインドウ1
38のコンフイギユレーシヨン・データによつて規定さ
れたフオントを使用して結果の構造728の活動結果7
30をアプリケーシヨン面132にインキ表示する。
【0066】ステツプ364、またはステツプ360の
否定的な決定の後、処理は既に述べた図6のステツプ3
66乃至376に行く。
【0067】対話 対話は、writingD ウイジツト220の中に組み込まれ
ているが、しかし、アプリケーシヨン・プログラムの開
発者がアプリケーシヨン・プログラムを容易に修正し、
拡張することができるようにするために、規則ベースの
言語により書かれている。図15は対話モジユール22
2の構成のブロツク図である。対話モジユール222
は、内部的対話810、外部的対話812及び対話マネ
ージヤ814を含んでいる。
【0068】内部的対話810は、基本的なアクシヨン
(ストローク表示など)か、または複合したアクシヨン
(種々のエラー訂正など)の何れかである。内部的対話
810は、文字の削除、文字の挿入及び文字の置換のよ
うな基本的な編集機能を含んでいる。また、内部的対話
810は、(1)異なつたアクテイブ結果730を反映す
るために結果の構造728のビツト・フイールド736
を修正することと、(2)認識された結果を持つストロー
クを置換することと、(3)ソフトウエアのキーボードを
表示することとのようなエラー訂正の基本的なフオーム
を含んでいる。図15に示した内部的対話810は、文
字削除の対話824及び文字挿入の対話826とであ
る。
【0069】外部的対話812は、編集、またはスプレ
ツド・シート・マクロと同様なものである。それらは、
ソフトウエアの開発者によつて作成され、変更され、そ
して、削除される。外部的対話812は、アプリケーシ
ヨン・ウインドウ138の端部に到達する手書き入力へ
の種々の応答を含んでいる。これらの応答は、入力を左
方へスクロールすることと、アプリケーシヨン・ウイン
ドウ138を動的に拡張することと、ユーザが隣のアプ
リケーシヨン・ウインドウ138中に連続するのを可能
にすることとを含んでいる。また、外部的対話812
は、正当化されたパラグラフを形成するための入力を流
すことのような複雑な編集機能と、複数のアプリケーシ
ヨン・ウインドウ138の中の入力のカツト・アンド・
ペースト移動とを含んでいる。図15に示した外部対話
812は、ワード削除の対話830と、ワード挿入の対
話832と、アン・ドウ(un-do)の対話828とであ
る。
【0070】外部的対話812は、この目的のために特
別に定義されたプログラム言語か、または、従来の「プ
ロログ(Prolog)」言語、或はC言語によつて書かれ
る。各外部的対話812は、動作がユーザ128による
ストローク・データの入力により、そして、データベー
ス212に対する動作から得られた結果によつて管理さ
れる「IF、THEN」のセツトとして特定されてい
る。外部的対話812は、アプリケーシヨン・プログラ
ム126が初期化される時にロードされる対話フアイル
の中に含まれている。従つて、外部的対話812は、初
期化の一部としてコンパイルするか、或は、活性化され
る時に翻訳することができる。
【0071】対話マネージヤ814は、対話を実行し、
または対話を翻訳するためのエンジンである。
【0072】図8は、ストロークの形式、または認識さ
れた形式の何れかで表示された単一の文字を削除する文
字削除の対話の動作を説明するための流れ図である。こ
の内部的対話を活性化させるジエスチヤ標識(図7のス
テツプ388において活性化される)は、例えば、削除
されるべき文字を通して書かれた垂直なストロークであ
つてもよいし、あるいは、ストロークのグループであつ
てもよい。図8のステツプ410において、writingD
ウイジツト220は、削除のジエスチヤ標識によつて横
切られた文字、またはストロークを決定するために、デ
ータベース212に命令する。次に、データベース21
2のヒツト・テスト・プリミテーブ620は、ジエスチ
ヤ標識の表示座標に対応する位置データ718のストロ
ーク・グループ・リスト712にエントリを入れる。
【0073】ステツプ412において、writingD ウイ
ジツト220は、位置付けられたエントリを、滅勢する
ようにデータベース212に命令し、活動リスト640
からエントリを除去する。エントリは破壊されないが、
しかし、ユーザ128が、削除された文字を後で回復す
るために、アンドウ対話828を呼び出した場合には、
滅勢リスト612に保持される。
【0074】ステツプ414において、writingR ウイ
ジツト218は、削除された文字に重ね書きするため
に、アクテイブ・リストの中の未だ認識されていないス
トローク・グループ・エントリ720(ストローク・グ
ループに対して)か、または、認識されたストローク・
グループ・エントリ726(文字に対して)かの位置デ
ータ718を調節するためにデータベース・プリミテー
ブ614を呼び出す。次に、ステツプ416において、
データベース212は、writingA ウイジツト210を
呼び出し、削除された文字を表示することなく、活動リ
スト610中のストローク、または文字を再度表示させ
る。次に、ステツプ418において示されているよう
に、文字削除の対話824は滅勢される。ワード削除の
対話は、この対話が異なつたジエスチヤ標識により呼び
出されることと、ストローク・グループのリスト712
ではなく、ワード・リスト744を取り扱うこととを除
けば、文字の削除の対話と同じである。
【0075】図9及び図10は、手書き文字でも、認識
された文字でもよい、存在する表示ストリング中の文字
を挿入するための文字の挿入の対話826の動作を説明
するための流れ図である。図9のステツプ510におい
て、ヒツト・テスト・プリミテーブ620は、位置デー
タ718がジエスチヤ標識の表示座標と対応するストロ
ーク・エレメント・リスト710、またはストローク・
グループ・リスト712中にエントリを位置付けるため
に、writingD ウイジツト220によるコマンドに応答
する。
【0076】ステツプ512において、writingR ウイ
ジツト218は、新しい文字が挿入される空隙を発生す
るために、未だ認識されていないストローク・グループ
・エントリ720、または、認識されているストローク
・グループ・エントリ726の位置データ718を調節
するデータベース・プリミテイーブ614を呼び出す。
次に、ステツプ514において、データベース212
は、挿入の空隙を有するストローク、またはデータを表
示するために、writingA ウイジツト210を呼び出
す。次に、ステツプ516において、文字挿入の対話8
26の実行は、ユーザ128からストロークを受け取る
ために一時中止される(滅勢されるのではない)。
【0077】図3のステツプ312において、処理の実
行はwriting ウイジツト210、218及び220に戻
る。writing ウイジツト210、218及び220は、
ユーザ128によつて入力されたストロークを処理し、
そして、図7のステツプ390において、文字挿入の対
話826を実行する。
【0078】新しいストロークが実行された後、文字挿
入の対話826は、クロージヤ事象があるか否かを決定
する(図9のステツプ518)。若し、クロージヤ事象
でなければ、対話はストロークを受け取るために再度一
時中止される。クロージヤ事象であると決定されれば、
図9及び図10のステツプの処理を行なうことにより、
入力された文字を認識し、認識された文字をワード・リ
スト・エントリ752に付加し、そして、その文字を入
力されたストロークの位置に表示する。ステツプ520
乃至534は、既に説明した図9及び図10のステツプ
350乃至364と同じである。最後に、ステツプ53
6において、文字挿入の対話826は、滅勢される。
【0079】ワード挿入の対話832は、この対話が異
なつたジエスチヤ標識により呼び出されることと、文字
レベルではなくワード・レベルで動作することとを除け
ば上述の文字挿入の対話と同じ態様で動作する。
【0080】外部的対話812は、対話フアイルを編集
することによつて、容易に付加され、除去され、または
変更される。TAPIそれ自身のソース・コードの変更
は必要としない。図16は、新しい対話を作成するため
の方法を説明するための流れ図である。第1に、ステツ
プ910において、ソフトウエア・アプリケーシヨンの
作成者は、新しく呼び出すストローク(即ち、ユーザ1
28が新しい対話を呼び出すためのジエスチヤ標識)を
決める。第2に、ステツプ912において、新しいジエ
スチヤ標識を認識し、そして、そのジエスチヤ標識が認
識された時にTAPI、110に新しい対話の識別コー
ドを認識するために、アプリケーシヨンの作成者は、ジ
エスチヤ標識の認識装置144を教育する。この教育
は、呼び出すストローク・データの幾つかのコピーを取
り出すことと、ジエスチヤ標識の認識装置144のジエ
スチヤ標識のプロトタイプ・データ中にそれらのコピー
を挿入することとを含んでいる。
【0081】最後に、ステツプ914において、アプリ
ケーシヨンの作成者は、対話フアイルの中に新しい対話
を定義する。対話の定義は、「名詞」と、名詞に働く
「動詞」を含んでいる。名詞は、対話によつて受け取ら
れた呼び出すストローク及び他の後続のストロークのよ
うな対話ストロークの特性(property)に対応する。後
続のストロークは、ジエスチヤ標識及び文字を含む対話
に対する入力ストロークである。
【0082】また、対話ストロークの特性は、ストロー
ク・エレメント・エントリ714、ストローク・グルー
プ・エントリ720、または、呼び出すストロークによ
つて識別されたワード・リスト・エントリ752を含ん
でいる。例えば、文字削除の対話824の場合におい
て、呼び出すストロークは、削除するストロークのスト
ローク・エレメント・エントリ714か、または、削除
される文字のストローク・グループ・エントリ720を
識別する。
【0083】動詞は、データベース・プリミテイプ61
4か、または、対話のアクシヨンを遂行するためのマク
ロ・ランゲージである。マクロ・ランゲージは、データ
ベース・プリミテーブ614や、他の対話を含む。マク
ロ・ランゲージ及び他の対話の両方は、対話フアイル中
に含まれている。
【0084】対話を除去するために、ソフトウエア・ア
プリケーシヨンの作成者は、対話フアイルから対話エン
トリを除去し、ジエスチヤ標識のプロトタイプ・データ
・セツト146から関連するジエスチヤ標識を除去す
る。対話を変更するために、ソフトウエア・アプリケー
シヨンの作成者は、対話フアイルを編集する。
【0085】若し、ソフトウエア・アプリケーシヨンの
作成者がTAPI、110のソース・コードにアクセス
したならば、その作成者は、ジエスチヤ標識の認識装置
144のソフトウエア中にその特性を組み入れることに
よつて外部的対話812を作成することができることに
は注意を払う必要がある。ソフトウエア・アプリケーシ
ヨンの作成者は、ジエスチヤ標識の認識装置144の中
に組み入れた外部対話812を削除することができ、ソ
フトウエア・アプリケーシヨンの作成者は、ジエスチヤ
標識の認識装置144を変更することによつてジエスチ
ヤ標識を変更することができる。
【0086】
【発明の効果】本発明は、タブレツト・コンピユータに
おいて、スタイラス・ベースのユーザ・インターフエー
スによつて発生された手書き文字や、符号の入力ストリ
ームを明確にするための装置及びその方法を与える。
【図面の簡単な説明】
【図1】本発明のハードウエア及びソフトウエアの環境
を示すブロツク図である。
【図2】図1のタブレツト・アプリケーシヨン・プログ
ラム・インターフエース(TAPI)を示すブロツク図
である。
【図3】本発明の処理動作を説明する流れ図である。
【図4】本発明の処理動作を説明する流れ図である。
【図5】本発明の処理動作を説明する流れ図である。
【図6】本発明の処理動作を説明する流れ図である。
【図7】本発明の処理動作を説明する流れ図である。
【図8】図2の削除の対話動作を説明する流れ図であ
る。
【図9】図2の挿入の対話動作を説明する流れ図であ
る。
【図10】図2の挿入の対話動作を説明する流れ図であ
る。
【図11】図2のデータベースを示すブロツク図であ
る。
【図12】図6のアクテイブ・リストの構造を示すブロ
ツク図である。
【図13】図6のアクテイブ・リストの構造を示すブロ
ツク図である。
【図14】図6のアクテイブ・リストの構造を示すブロ
ツク図である。
【図15】図2の対話モジユールのブロツク図である。
【図16】図8の対話モジユールの対話を形成するめた
の方法を説明するための流れ図である。
【符号の説明】
100 タブレツト・コンピユータ 110 タブレツト・アプリケーシヨン・プログラム・
インターフエース(TAPI) 112 ハードウエアのサブシステム 114 ソフトウエアのサブシステム 116 デイジタル化用タブレツト 118 表示装置 120 タブレツト装置ドライバ 122 ウインドウ・システム 124 認識モジユール 126 アプリケーシヨン・プログラム 128 ユーザ 130 インキング面 132 アプリケーシヨン面 134 ウインドウ・サーバ 136 PLIエキステンシヨン 138 アプリケーシヨン・ウインドウ 140 文字認識装置 142 文字のプロトタイプ・データ・セツト 144 ジエスチヤ標識の認識装置 146 ジエスチヤ標識のプロトタイプ・データ・セツ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ニコス・ジョン・アンソニー アメリカ合衆国ニューヨーク州、パーディ ス、ナッシュ・ロード 89 (72)発明者 ドリス・チン・チョウ アメリカ合衆国ニューヨーク州、マウン ト・キスコ、キャサリーン・レーン 68 (72)発明者 コリン・ジョージ・ハリソン アメリカ合衆国コネチカット州、ブルック フィールド、コーブ・ロード 16 (72)発明者 タナラグ・イッサディサイ アメリカ合衆国ニューヨーク州、オッシニ ング、ハドソン・ポイント・レーン 23 (72)発明者 ハワード・ゲザ・ペイジ アメリカ合衆国ニュージャージー州、ティ ントン・フオールス、ストラット・ロード 62

Claims (24)

    【特許請求の範囲】
  1. 【請求項1】 タブレツト・コンピユータにおいてスタ
    イラス・ベースのユーザ・インターフエースにより発生
    された手書きによる入力ストリームを明確にするための
    方法であつて、 (a) スタイラス・ベースのユーザ・インターフエース
    において操作されたストロークを表示するx−yデータ
    を受け取るステツプと、 (b) 上記x−yデータが表示装置における相対的な位
    置を表わす位置データになるように、上記x−yデータ
    を上記位置データに変換するステツプと、 (c) 上記位置データをデータベースのストローク・エ
    レメント・エントリ中に挿入するステツプと、 (d) 上記データベースが更新されたことをアプリケー
    シヨン・プログラムに通知するステツプとを含む手書き
    入力によるコンピユータの入力方法。
  2. 【請求項2】 (a) 上記アプリケーシヨン・プログラ
    ムを一時中止する要求により、上記データベースをフア
    イルに書き込むステツプと、 (b) 上記アプリケーシヨン・プログラムを再開始する
    要求により、上記データベースを上記フアイルから回復
    するステツプとを含む請求項1に記載の手書き入力によ
    るコンピユータの入力方法。
  3. 【請求項3】 (a) 上記位置データをジエスチヤ標識
    の認識装置に転送するステツプと、 (b) 上記ジエスチヤ標識の認識装置から対話識別コー
    ドを受け取るステツプと、 (c) 上記対話識別コードによつて表示された対話を実
    行するステツプとを含む請求項1に記載の手書き入力に
    よるコンピユータの入力方法。
  4. 【請求項4】 (a) 後続する位置データを発生するた
    めに、請求項1のステツプ(a)及び(b)を繰り返すステツ
    プと、 (b) 上記後続する位置データを上記対話に送るステツ
    プとを含む請求項3に記載の手書き入力によるコンピユ
    ータの入力方法。
  5. 【請求項5】 (a) 上記ジエスチヤ標識の認識装置に
    おいて、呼び出すストロークと、対話識別コードとを定
    義するステツプと、 (b) 上記ジエスチヤ標識の認識装置のジエスチヤ標識
    のプロトタイプ・データ・セツトを、上記呼び出すスト
    ロークのジエスチヤ標識の位置データ中に挿入するステ
    ツプと、 (c) 上記ジエスチヤ標識の認識装置が、請求項3のス
    テツプ(a)の上記位置データを、上記ジエスチヤ標識の
    位置データに組み合わせた時に、対話フアイル中に、遂
    行されるべきデータベースの操作処理を挿入するステツ
    プとを含む請求項3に記載の手書き入力によるコンピユ
    ータの入力方法。
  6. 【請求項6】 (a) 上記ジエスチヤ標識の認識装置か
    ら呼び出すストロークと、対話識別コードとを削除する
    ステツプと、 (b) 上記呼び出すストロークのジエスチヤ標識の位置
    データ表示を上記ジエスチヤ標識の認識装置のプロトタ
    イプ・データ・セツトから削除するステツプと、 (c) 上記ジエスチヤ標識の認識装置が請求項3のステ
    ツプ(a)の上記位置データを、上記ジエスチヤ標識の位
    置データに組み合わせた時に、遂行されるべきデータベ
    ースの操作処理を対話フアイルから削除するステツプと
    を含む請求項3に記載の手書き入力によるコンピユータ
    の入力方法。
  7. 【請求項7】 上記ジエスチヤ標識の認識装置中の呼び
    出すストロークと、対話識別コードとの定義を変更する
    ステツプを含む請求項3に記載の手書き入力によるコン
    ピユータの入力方法。
  8. 【請求項8】 上記呼び出すストロークのジエスチヤ標
    識の位置データを、上記ジエスチヤ標識の認識装置のプ
    ロトタイプ・データ・セツトにおいて変更するステツプ
    を含む請求項3に記載の手書き入力によるコンピユータ
    の入力方法。
  9. 【請求項9】 上記ジエスチヤ標識の認識装置が、請求
    項3のステツプ(a)の上記位置データを、上記ジエスチ
    ヤ標識の位置データに組み合わせた時に、遂行されるべ
    きデータベース操作処理を対話フアイル中で変更するス
    テツプを含む請求項3に記載の手書き入力によるコンピ
    ユータの入力方法。
  10. 【請求項10】 (a) クロージヤ事象が受け取られる
    まで、請求項1のステツプ(a)乃至(c)を繰り返すステツ
    プと、 (b) 上記データベースのストローク・グループ・エン
    トリを発生するために、上記ストローク・エレメント・
    エントリをグループ化するステツプと、 (c) 上記ストローク・エレメント・エントリの上記位
    置データを文字認識装置に経路付けるステツプと、 (d) 上記文字認識装置から結果の文字を受け取るステ
    ツプと、 (e) 上記結果の文字を上記ストローク・グループ・エ
    ントリ中に挿入するステツプとを含む請求項1に記載の
    手書き入力によるコンピユータの入力方法。
  11. 【請求項11】 (a) 上記データベース中のワード・
    エントリが、上記結果の文字を含む文字と関連している
    か否かを決めるステツプと、 (b) 若し、上記ワード・エントリが存在するならば、
    上記結果の文字を上記ワード・エントリ中に挿入するス
    テツプと、 (c) 若し、上記ワード・エントリが存在しなければ、
    上記データベースの新しいワード・エントリを作成する
    ステツプと、 (d) 若し、上記ワード・エントリが存在しなければ、
    上記結果の文字を上記新しいワード・エントリ中に挿入
    するステツプとを含む請求項10に記載の手書き入力に
    よるコンピユータの入力方法。
  12. 【請求項12】 (a) 上記位置データを認識装置の入
    力構造中に挿入するステツプと、 (b) 上記認識装置の入力構造を上記認識装置に経路付
    けるステツプと、 (c) 上記認識装置から、認識装置の出力構造を受け取
    るステツプと、 (d) 上記認識装置出力構造から結果の文字を発生する
    ステツプと、 (e) 上記結果の文字を上記データベースに挿入するス
    テツプとを含む請求項10に記載の手書き入力によるコ
    ンピユータの入力方法。
  13. 【請求項13】 タブレツト・コンピユータにおいてス
    タイラス・ベースのユーザ・インターフエースにより発
    生された手書きによる入力ストリームを明確にするため
    の装置であつて、 (a) スタイラス・ベースのユーザ・インターフエース
    において操作されたストロークを表示するx−yデータ
    を受け取る手段と、 (b) 上記x−yデータが表示装置における相対的な位
    置を表わす位置データになるように、上記x−yデータ
    を上記位置データに変換する手段と、 (c) 上記位置データをデータベースのストローク・エ
    レメント・エントリ中に挿入する手段と、 (d) 上記データベースが更新されたことをアプリケー
    シヨン・プログラムに通知する手段とを含む手書き入力
    によるコンピユータの入力装置。
  14. 【請求項14】 (a) 上記アプリケーシヨン・プログ
    ラムを一時中止する要求により、上記データベースをフ
    アイルに書き込む手段と、 (b) 上記アプリケーシヨン・プログラムを再開始する
    要求により、上記データベースを上記フアイルから回復
    する手段とを含む請求項13に記載の手書き入力による
    コンピユータの入力装置。
  15. 【請求項15】 (a) 上記位置データをジエスチヤ標
    識の認識装置に転送する手段と、 (b) 上記ジエスチヤ標識の認識装置から対話識別コー
    ドを受け取る手段と、 (c) 上記対話識別コードによつて表示された対話を実
    行する手段とを含む請求項13に記載の手書き入力によ
    るコンピユータの入力装置。
  16. 【請求項16】 (a) スタイラス・ベースのユーザ・
    インターフエースにおいて操作された後続のストローク
    を表示するx−yデータを受け取る手段と、 (b) 上記x−yデータが表示装置における相対的な位
    置を表わす位置データになるように、上記x−yデータ
    を上記位置データに変換する手段と、 (c) 上記位置データを上記対話に経路付ける手段とを
    含む請求項15に記載の手書き入力によるコンピユータ
    の入力装置。
  17. 【請求項17】 (a) 上記ジエスチヤ標識の認識装置
    中の呼び出すストロークと、対話識別コードとを定義す
    る手段と、 (b) 上記ジエスチヤ標識の認識装置のジエスチヤ標識
    のプロトタイプ・データ・セツトを、上記呼び出すスト
    ロークのジエスチヤ標識の位置データ中に挿入する手段
    と、 (c) 上記ジエスチヤ標識の認識装置が、請求項3のス
    テツプ(a)の上記位置データを、上記ジエスチヤ標識の
    位置データに組み合わせた時に、対話フアイル中に、遂
    行されるべきデータベースの操作処理を挿入する手段と
    を含む請求項15に記載の手書き入力によるコンピユー
    タの入力装置。
  18. 【請求項18】 (a) 上記ジエスチヤ標識の認識装置
    から呼び出すストロークと、対話識別コードとを削除す
    る手段と、 (b) 上記呼び出すストロークのジエスチヤ標識の位置
    データ表示を上記ジエスチヤ標識の認識装置のプロトタ
    イプ・データ・セツトから削除する手段と、 (c) 上記ジエスチヤ標識の認識装置が請求項3のステ
    ツプ(a)の上記位置データを、上記ジエスチヤ標識の位
    置データに組み合わせた時に、遂行されるべきデータベ
    ースの操作処理を対話フアイルから削除する手段とを含
    む請求項15に記載の手書き入力によるコンピユータの
    入力装置。
  19. 【請求項19】 上記ジエスチヤ標識の認識装置中の呼
    び出すストロークと、対話識別コードとの定義を変更す
    る手段を含む請求項15に記載の手書き入力によるコン
    ピユータの入力装置。
  20. 【請求項20】 上記呼び出すストロークのジエスチヤ
    標識の位置データを、上記ジエスチヤ標識の認識装置の
    プロトタイプ・データ・セツトにおいて変更する手段を
    含む請求項15に記載の手書き入力によるコンピユータ
    の入力装置。
  21. 【請求項21】 上記ジエスチヤ標識の認識装置が、請
    求項3のステツプ(a)の上記位置データを、上記ジエス
    チヤ標識の位置データに組み合わせた時に、遂行される
    べきデータベース操作処理を対話フアイル中で変更する
    手段を含む請求項15に記載の手書き入力によるコンピ
    ユータの入力装置。
  22. 【請求項22】 (a) クロージヤ事象が受け取られる
    まで、請求項13のステツプ(a)乃至(c)を繰り返す手段
    と、 (b) 上記データベースのストローク・グループ・エン
    トリを発生するために、上記ストローク・エレメント・
    エントリをグループ化する手段と、 (c) 上記ストローク・エレメント・エントリの上記位
    置データを文字認識装置に経路付ける手段と、 (d) 上記文字認識装置から結果の文字を受け取る手段
    と、 (e) 上記結果の文字を上記ストローク・グループ・エ
    ントリ中に挿入する手段とを含む請求項13に記載の手
    書き入力によるコンピユータの入力装置。
  23. 【請求項23】 (a) 上記データベース中のワード・
    エントリが、上記結果の文字を含む文字と関連している
    か否かを決める手段と、 (b) 若し、上記ワード・エントリが存在するならば、
    上記結果の文字を上記ワード・エントリ中に挿入する手
    段と、 (c) 若し、上記ワード・エントリが存在しなければ、
    上記データベースの新しいワード・エントリを作成する
    手段と、 (d) 若し、上記ワード・エントリが存在しなければ、
    上記結果の文字を上記新しいワード・エントリ中に挿入
    する手段とを含む請求項13に記載の手書き入力による
    コンピユータの入力装置。
  24. 【請求項24】 (a) 上記位置データを受け取る手段
    と、 (b) 上記位置データを認識装置の入力構造の中に挿入
    する手段と、 (c) 上記認識装置の入力構造を上記認識装置に経路付
    ける手段と、 (d) 上記認識装置から、認識装置の出力構造を受け取
    る手段と、 (e) 上記認識装置の出力構造から結果の構造を発生す
    る手段と、 (f) 上記結果の構造を上記データベースの中に挿入す
    る手段とを含む請求項13に記載の手書き入力によるコ
    ンピユータの入力装置。
JP4121593A 1992-04-15 1993-03-02 スタイラス・ストローク処理方法及びシステム Expired - Fee Related JP2572521B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US86959392A 1992-04-15 1992-04-15
US869593 1992-04-15

Publications (2)

Publication Number Publication Date
JPH064207A true JPH064207A (ja) 1994-01-14
JP2572521B2 JP2572521B2 (ja) 1997-01-16

Family

ID=25353875

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4121593A Expired - Fee Related JP2572521B2 (ja) 1992-04-15 1993-03-02 スタイラス・ストローク処理方法及びシステム

Country Status (8)

Country Link
US (1) US5784504A (ja)
EP (1) EP0565872B1 (ja)
JP (1) JP2572521B2 (ja)
KR (1) KR960003068B1 (ja)
AT (1) ATE193773T1 (ja)
CA (1) CA2089784C (ja)
DE (1) DE69328802T2 (ja)
ES (1) ES2146594T3 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0757053A (ja) * 1993-08-13 1995-03-03 Sony Corp 手書き入力表示方法
JP2009151809A (ja) * 2002-05-14 2009-07-09 Microsoft Corp ライトエニウェアツール

Families Citing this family (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
DE69428675T2 (de) * 1993-12-30 2002-05-08 Xerox Corp Apparat und Verfahren zur Unterstützung einer impliziten Strukturation von Freiform-Listen, Übersichten, Texten, Tabellen und Diagrammen in einem auf Handzeichen basierenden Eingabesystem und Editiersystem
JP3486459B2 (ja) * 1994-06-21 2004-01-13 キヤノン株式会社 電子情報機器及びその制御方法
JPH0816313A (ja) * 1994-07-04 1996-01-19 Sanyo Electric Co Ltd 手書き入力方法及び装置
US6054990A (en) * 1996-07-05 2000-04-25 Tran; Bao Q. Computer system with handwriting annotation
US7904187B2 (en) 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
US6396523B1 (en) * 1999-07-29 2002-05-28 Interlink Electronics, Inc. Home entertainment device remote control
US20030174125A1 (en) * 1999-11-04 2003-09-18 Ilhami Torunoglu Multiple input modes in overlapping physical space
US20030132950A1 (en) * 2001-11-27 2003-07-17 Fahri Surucu Detecting, classifying, and interpreting input events based on stimuli in multiple sensory domains
US7564995B1 (en) * 2000-03-07 2009-07-21 Apple Inc. Method and apparatus for acquiring and organizing ink information in pen-aware computer systems
US6903730B2 (en) * 2000-11-10 2005-06-07 Microsoft Corporation In-air gestures for electromagnetic coordinate digitizers
CN1190721C (zh) * 2001-08-08 2005-02-23 国际商业机器公司 协同手写输入的系统和方法
WO2003023696A1 (en) 2001-09-12 2003-03-20 Auburn University System and method of handwritten character recognition
US7385595B2 (en) * 2001-11-30 2008-06-10 Anoto Ab Electronic pen and method for recording of handwritten information
AU2003213068A1 (en) * 2002-02-15 2003-09-09 Canesta, Inc. Multiple input modes in overlapping physical space
US7065718B2 (en) 2002-08-08 2006-06-20 International Business Machines Corporation System and method for configuring time related settings using a graphical interface
US7089507B2 (en) 2002-08-12 2006-08-08 International Business Machines Corporation System and method for display views using a single stroke control
US7634729B2 (en) * 2002-11-10 2009-12-15 Microsoft Corporation Handwritten file names
US7284200B2 (en) * 2002-11-10 2007-10-16 Microsoft Corporation Organization of handwritten notes using handwritten titles
US7218779B2 (en) * 2003-01-21 2007-05-15 Microsoft Corporation Ink divider and associated application program interface
EP1519299A1 (en) * 2003-09-29 2005-03-30 Alcatel Method, system, client, server and computer software product for distributed handwriting recognition
US7634720B2 (en) * 2003-10-24 2009-12-15 Microsoft Corporation System and method for providing context to an input method
US7707039B2 (en) 2004-02-15 2010-04-27 Exbiblio B.V. Automatic modification of web pages
US8442331B2 (en) 2004-02-15 2013-05-14 Google Inc. Capturing text from rendered documents using supplemental information
FI117308B (fi) * 2004-02-06 2006-08-31 Nokia Corp Eleohjausjärjestelmä
US7812860B2 (en) 2004-04-01 2010-10-12 Exbiblio B.V. Handheld device for capturing text from both a document printed on paper and a document displayed on a dynamic display device
US10635723B2 (en) 2004-02-15 2020-04-28 Google Llc Search engines and systems with handheld document data capture devices
US20060098900A1 (en) 2004-09-27 2006-05-11 King Martin T Secure data gathering from rendered documents
US20060081714A1 (en) 2004-08-23 2006-04-20 King Martin T Portable scanning device
US8081849B2 (en) 2004-12-03 2011-12-20 Google Inc. Portable scanning and memory device
WO2008028674A2 (en) 2006-09-08 2008-03-13 Exbiblio B.V. Optical scanners, such as hand-held optical scanners
US7894670B2 (en) 2004-04-01 2011-02-22 Exbiblio B.V. Triggering actions in response to optically or acoustically capturing keywords from a rendered document
US9008447B2 (en) 2004-04-01 2015-04-14 Google Inc. Method and system for character recognition
US7990556B2 (en) 2004-12-03 2011-08-02 Google Inc. Association of a portable scanner with input/output and storage devices
US9116890B2 (en) 2004-04-01 2015-08-25 Google Inc. Triggering actions in response to optically or acoustically capturing keywords from a rendered document
US9143638B2 (en) 2004-04-01 2015-09-22 Google Inc. Data capture from rendered documents using handheld device
US8146156B2 (en) 2004-04-01 2012-03-27 Google Inc. Archive of text captures from rendered documents
US8713418B2 (en) 2004-04-12 2014-04-29 Google Inc. Adding value to a rendered document
US8489624B2 (en) 2004-05-17 2013-07-16 Google, Inc. Processing techniques for text capture from a rendered document
US8874504B2 (en) 2004-12-03 2014-10-28 Google Inc. Processing techniques for visual capture data from a rendered document
US8620083B2 (en) 2004-12-03 2013-12-31 Google Inc. Method and system for character recognition
US7788606B2 (en) * 2004-06-14 2010-08-31 Sas Institute Inc. Computer-implemented system and method for defining graphics primitives
US8346620B2 (en) 2004-07-19 2013-01-01 Google Inc. Automatic modification of web pages
US7372993B2 (en) 2004-07-21 2008-05-13 Hewlett-Packard Development Company, L.P. Gesture recognition
KR20070112148A (ko) * 2005-02-23 2007-11-22 아노토 아베 전자펜에 대한 방법, 컴퓨터 프로그램 제품, 및 전자펜
US8147248B2 (en) * 2005-03-21 2012-04-03 Microsoft Corporation Gesture training
US7986307B2 (en) * 2005-04-22 2011-07-26 Microsoft Corporation Mechanism for allowing applications to filter out or opt into tablet input
US7928964B2 (en) * 2005-04-22 2011-04-19 Microsoft Corporation Touch input data handling
US20060267958A1 (en) * 2005-04-22 2006-11-30 Microsoft Corporation Touch Input Programmatical Interfaces
DE102007011574A1 (de) * 2007-03-08 2008-09-11 Srs-Management Gmbh Verfahren zur Korrektur von elektronisch erfassten handschriftlichen Notizen
US8041120B2 (en) * 2007-06-26 2011-10-18 Microsoft Corporation Unified digital ink recognition
US8094939B2 (en) 2007-06-26 2012-01-10 Microsoft Corporation Digital ink-based search
US8315482B2 (en) * 2007-06-26 2012-11-20 Microsoft Corporation Integrated platform for user input of digital ink
US20110035662A1 (en) 2009-02-18 2011-02-10 King Martin T Interacting with rendered documents using a multi-function mobile device, such as a mobile phone
CN101458611A (zh) * 2007-12-14 2009-06-17 深圳富泰宏精密工业有限公司 物件选取系统及方法
US8010465B2 (en) 2008-02-26 2011-08-30 Microsoft Corporation Predicting candidates using input scopes
US8296670B2 (en) * 2008-05-19 2012-10-23 Microsoft Corporation Accessing a menu utilizing a drag-operation
US8447066B2 (en) 2009-03-12 2013-05-21 Google Inc. Performing actions based on capturing information from rendered documents, such as documents under copyright
CN102349087B (zh) 2009-03-12 2015-05-06 谷歌公司 自动提供与捕获的信息例如实时捕获的信息关联的内容
US20100269032A1 (en) * 2009-04-15 2010-10-21 Microsoft Corporation Advanced text completion, such as for markup languages
US20100281435A1 (en) * 2009-04-30 2010-11-04 At&T Intellectual Property I, L.P. System and method for multimodal interaction using robust gesture processing
US9396505B2 (en) 2009-06-16 2016-07-19 Medicomp Systems, Inc. Caregiver interface for electronic medical records
US9081799B2 (en) 2009-12-04 2015-07-14 Google Inc. Using gestalt information to identify locations in printed information
US9323784B2 (en) 2009-12-09 2016-04-26 Google Inc. Image search using text-based elements within the contents of images
US9268404B2 (en) * 2010-01-08 2016-02-23 Microsoft Technology Licensing, Llc Application gesture interpretation
US9104306B2 (en) * 2010-10-29 2015-08-11 Avago Technologies General Ip (Singapore) Pte. Ltd. Translation of directional input to gesture
US20130055139A1 (en) * 2011-02-21 2013-02-28 David A. Polivka Touch interface for documentation of patient encounter
KR20130059495A (ko) * 2011-11-29 2013-06-07 삼성전자주식회사 휴대단말기의 ui 제어 요소 처리 방법
US9575652B2 (en) 2012-03-31 2017-02-21 Microsoft Technology Licensing, Llc Instantiable gesture objects
US8782549B2 (en) 2012-10-05 2014-07-15 Google Inc. Incremental feature-based gesture-keyboard decoding
US9021380B2 (en) * 2012-10-05 2015-04-28 Google Inc. Incremental multi-touch gesture recognition
US8843845B2 (en) 2012-10-16 2014-09-23 Google Inc. Multi-gesture text input prediction
US8701032B1 (en) 2012-10-16 2014-04-15 Google Inc. Incremental multi-word recognition
US8850350B2 (en) 2012-10-16 2014-09-30 Google Inc. Partial gesture text entry
US8819574B2 (en) 2012-10-22 2014-08-26 Google Inc. Space prediction for text input
US8832589B2 (en) 2013-01-15 2014-09-09 Google Inc. Touch keyboard using language and spatial models
IN2013CH00469A (ja) 2013-01-21 2015-07-31 Keypoint Technologies India Pvt Ltd
CN105027040B (zh) 2013-01-21 2018-09-21 要点科技印度私人有限公司 文本输入系统及方法
KR20140111497A (ko) * 2013-03-11 2014-09-19 삼성전자주식회사 터치 스크린의 화면에 표시된 아이템을 삭제하는 방법, 저장 매체 및 휴대 단말
US9081500B2 (en) 2013-05-03 2015-07-14 Google Inc. Alternative hypothesis error correction for gesture typing
KR20150028627A (ko) * 2013-09-06 2015-03-16 삼성전자주식회사 사용자 필기를 텍스트 정보로 변환하는 방법 및 이를 수행하기 위한 전자 기기
US10600505B2 (en) 2014-02-21 2020-03-24 Medicomp Systems, Inc. Intelligent prompting of protocols
US10210383B2 (en) * 2015-09-03 2019-02-19 Microsoft Technology Licensing, Llc Interacting with an assistant component based on captured stroke information
US10387034B2 (en) 2015-09-03 2019-08-20 Microsoft Technology Licensing, Llc Modifying captured stroke information into an actionable form
US11402991B2 (en) * 2015-12-01 2022-08-02 Myscript System and method for note taking with gestures
US10755029B1 (en) 2016-01-05 2020-08-25 Quirklogic, Inc. Evaluating and formatting handwritten input in a cell of a virtual canvas
US10324618B1 (en) * 2016-01-05 2019-06-18 Quirklogic, Inc. System and method for formatting and manipulating digital ink

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57155675A (en) * 1981-03-20 1982-09-25 Hitachi Ltd Input system of symbol command
JPS6029828A (ja) * 1983-07-28 1985-02-15 Fujitsu Ltd 筆画コマンド投入方式
JPS6075980A (ja) * 1983-10-03 1985-04-30 Hitachi Ltd 手書き入力情報処理装置
JPS62256023A (ja) * 1986-04-30 1987-11-07 Casio Comput Co Ltd 命令入力方式
JPH0355621A (ja) * 1989-07-24 1991-03-11 Nec Corp ワードプロセッサシステム
JPH0391019A (ja) * 1989-09-04 1991-04-16 Fujitsu Ltd 手書き編集コマンド入力方式

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1223366A (en) * 1984-09-27 1987-06-23 Abijah S. Fox System for automatic adjustment and editing of handwritten text images
JPS61275990A (ja) * 1985-05-31 1986-12-06 Canon Inc 手書パタ−ン認識機能付電子機器
US4817034A (en) * 1986-02-11 1989-03-28 E.S.P. Systems, Inc. Computerized handwriting duplication system
US4972496A (en) * 1986-07-25 1990-11-20 Grid Systems Corporation Handwritten keyboardless entry computer system
US5001765A (en) * 1989-01-05 1991-03-19 International Business Machines Corporation Fast spatial segmenter for handwritten characters
US5157384A (en) * 1989-04-28 1992-10-20 International Business Machines Corporation Advanced user interface
US5038382A (en) * 1989-10-13 1991-08-06 International Business Machines Corporation Multi-scale recognizer for hand drawn strokes
US5029223A (en) * 1990-02-02 1991-07-02 International Business Machines Corporation Constraint driven-on line recognition of handwritten characters and symbols
US5309555A (en) * 1990-05-15 1994-05-03 International Business Machines Corporation Realtime communication of hand drawn images in a multiprogramming window environment
US5148155A (en) * 1990-11-13 1992-09-15 Wang Laboratories, Inc. Computer with tablet input to standard programs
US5231698A (en) * 1991-03-20 1993-07-27 Forcier Mitchell D Script/binary-encoded-character processing method and system
US5313527A (en) * 1991-06-07 1994-05-17 Paragraph International Method and apparatus for recognizing cursive writing from sequential input information
US5550930A (en) * 1991-06-17 1996-08-27 Microsoft Corporation Method and system for training a handwriting recognizer at the time of misrecognition
JPH0736142B2 (ja) * 1991-10-10 1995-04-19 インターナショナル・ビジネス・マシーンズ・コーポレイション 移動指示手段の運動停止を認識する方法および情報処理装置
US5455901A (en) * 1991-11-12 1995-10-03 Compaq Computer Corporation Input device with deferred translation
JP3103928B2 (ja) * 1991-12-27 2000-10-30 株式会社日立製作所 可搬型ペン入力装置およびペン入力計算機システム
US5544257A (en) * 1992-01-08 1996-08-06 International Business Machines Corporation Continuous parameter hidden Markov model approach to automatic handwriting recognition
US5319721A (en) * 1992-04-14 1994-06-07 International Business Machines Corporation Methods and apparatus for evolving a starter set of handwriting prototypes into a user-specific set
JPH05290221A (ja) * 1992-04-15 1993-11-05 Pioneer Electron Corp オンライン手書文字認識装置
US5566248A (en) * 1993-05-10 1996-10-15 Apple Computer, Inc. Method and apparatus for a recognition editor and routine interface for a computer system
US5613019A (en) * 1993-05-20 1997-03-18 Microsoft Corporation System and methods for spacing, storing and recognizing electronic representations of handwriting, printing and drawings
US5390260A (en) * 1993-06-28 1995-02-14 International Business Machines, Corp. Method and apparatus for on-line, real time recognition of stroked hand-drawn characters
US5367453A (en) * 1993-08-02 1994-11-22 Apple Computer, Inc. Method and apparatus for correcting words
US5583946A (en) * 1993-09-30 1996-12-10 Apple Computer, Inc. Method and apparatus for recognizing gestures on a computer system
US5583761A (en) * 1993-10-13 1996-12-10 Kt International, Inc. Method for automatic displaying program presentations in different languages
US5564112A (en) * 1993-10-14 1996-10-08 Xerox Corporation System and method for generating place holders to temporarily suspend execution of a selected command
US5699456A (en) * 1994-01-21 1997-12-16 Lucent Technologies Inc. Large vocabulary connected speech recognition system and method of language representation using evolutional grammar to represent context free grammars
US5570113A (en) * 1994-06-29 1996-10-29 International Business Machines Corporation Computer based pen system and method for automatically cancelling unwanted gestures and preventing anomalous signals as inputs to such system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57155675A (en) * 1981-03-20 1982-09-25 Hitachi Ltd Input system of symbol command
JPS6029828A (ja) * 1983-07-28 1985-02-15 Fujitsu Ltd 筆画コマンド投入方式
JPS6075980A (ja) * 1983-10-03 1985-04-30 Hitachi Ltd 手書き入力情報処理装置
JPS62256023A (ja) * 1986-04-30 1987-11-07 Casio Comput Co Ltd 命令入力方式
JPH0355621A (ja) * 1989-07-24 1991-03-11 Nec Corp ワードプロセッサシステム
JPH0391019A (ja) * 1989-09-04 1991-04-16 Fujitsu Ltd 手書き編集コマンド入力方式

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0757053A (ja) * 1993-08-13 1995-03-03 Sony Corp 手書き入力表示方法
JP2009151809A (ja) * 2002-05-14 2009-07-09 Microsoft Corp ライトエニウェアツール

Also Published As

Publication number Publication date
ES2146594T3 (es) 2000-08-16
CA2089784A1 (en) 1993-10-16
KR930022181A (ko) 1993-11-23
DE69328802D1 (de) 2000-07-13
EP0565872A2 (en) 1993-10-20
CA2089784C (en) 1996-12-24
EP0565872B1 (en) 2000-06-07
KR960003068B1 (ko) 1996-03-04
ATE193773T1 (de) 2000-06-15
EP0565872A3 (en) 1995-11-29
DE69328802T2 (de) 2000-11-30
JP2572521B2 (ja) 1997-01-16
US5784504A (en) 1998-07-21

Similar Documents

Publication Publication Date Title
JP2572521B2 (ja) スタイラス・ストローク処理方法及びシステム
US7925987B2 (en) Entry and editing of electronic ink
JP4548808B2 (ja) 非同期データの協調した入力
US7715630B2 (en) Interfacing with ink
US5956423A (en) Method and system for data entry of handwritten symbols
US7286705B2 (en) Electronic ink as a software object
US20030214531A1 (en) Ink input mechanisms
US5606674A (en) Graphical user interface for transferring data between applications that support different metaphors
KR100975504B1 (ko) 어플리케이션 프로그램에 이용가능한 정보를 만들기 위한 방법, 컴퓨터 판독가능 기록 매체, 및 컴퓨터 시스템
TWI464678B (zh) 用於手寫輸入亞洲語言的方法及系統
JPH03500943A (ja) 注釈可能なイメージを処理するデータ処理システム
JPH06208654A (ja) ペン入力図形編集システム
JPH06332610A (ja) 手書き情報入力処理方式
JP2000122774A (ja) データ引き渡し装置、方法、及び記録媒体
JP4868830B2 (ja) コンテクスト・ツリーにおける分析代替案
KR101159323B1 (ko) 아시아 언어들을 위한 수기 입력
JP2723109B2 (ja) 画像処理方法
JPS62190565A (ja) 手書き図形清書装置
KR20210004400A (ko) 다양한 입력 방식 전환을 통한 전자문서 표시 방법 및 장치

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees