JPH1083245A - コンピュータでジェスチャと手書き文字を区別する方法及びシステム - Google Patents

コンピュータでジェスチャと手書き文字を区別する方法及びシステム

Info

Publication number
JPH1083245A
JPH1083245A JP14496297A JP14496297A JPH1083245A JP H1083245 A JPH1083245 A JP H1083245A JP 14496297 A JP14496297 A JP 14496297A JP 14496297 A JP14496297 A JP 14496297A JP H1083245 A JPH1083245 A JP H1083245A
Authority
JP
Japan
Prior art keywords
gesture
strokes
user
input
size
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
JP14496297A
Other languages
English (en)
Other versions
JP3762818B2 (ja
Inventor
Mark Zetz John
ジョン・マーク・ゼッツ
Roger Deroshe Maurice
モーリス・ロジャー・デロシェ
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 JPH1083245A publication Critical patent/JPH1083245A/ja
Application granted granted Critical
Publication of JP3762818B2 publication Critical patent/JP3762818B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/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
    • 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/333Preprocessing; Feature extraction
    • G06V30/347Sampling; Contour coding; Stroke extraction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Character Discrimination (AREA)

Abstract

(57)【要約】 【課題】 ユーザの手書き文字の平均サイズを使用して
手書き文字とジェスチャとを区別する。 【解決手段】 ジェスチャと手書き文字とを区別するた
めに、ペン・サブシステムはユーザの書込みのサイズを
調べる。ユーザは、自分の手書き入力スタイルに応じて
ジェスチャ対テキストのサイズを設定することができ
る。このようにして、ユーザは、ジェスチャをどの程度
大きくするかを正確に把握する。ユーザが設定のカスト
マイズを辞退した場合、ペン・サブシステムは、ユーザ
の手書き文字の近似サイズを示す、他のユーザ設定を問
い合わせることができる。システムが使用可能な第3の
選択肢は、手書き文字のサイズを動的に決定し追跡する
ことである。これにより、複数のユーザは、設定を変更
する必要なしにコンピュータを順次使用できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、広くはデータ処理
システムに関する。本発明は、ユーザがスタイラスを使
用してテキスト及びジェスチャ・コマンドとして解釈す
べき手書き文字及び記号を入力するような、マルチタス
ク処理ペン・コンピュータ・システムにおいて具体的に
応用されるものである。
【0002】
【従来の技術】ペン・コンピュータは、入力装置として
スタイラス及びセンサを使用するコンピュータの1種で
ある。ペン・ソフトウェア・サブシステムは、オペレー
ティング・システムに統合するかまたはオペレーティン
グ・システムの付属物にすることができるが、スタイラ
ス入力をマウス入力コマンド、手書き文字(テキス
ト)、またはジェスチャと呼ばれる手書き記号として認
識するために、ペン入力を処理するものである。通常、
ジェスチャは、ウィンドウを開くまたは閉じるなどの機
能を呼び出すために使用する。
【0003】たとえば、OS/2というオペレーティン
グ・システムのペン・サブシステムであるPen for OS/2
は、ユーザがグラフィカル・ユーザ・インタフェース
(GUI)ウィンドウに文字を直接書き込めるようにす
るものであり、その文字はその後、認識のためにジェス
チャ/手書き文字認識エンジンに送られる。ジェスチャ
と手書き文字とを区別するデフォルト方法の1つは、そ
のウィンドウが編集フィールドまたはテキスト入力ウィ
ンドウなど、テキストを受け入れるものではない場合
に、手書き形状をジェスチャとして扱うことにより、シ
ステムが使用するものである。
【0004】好ましいことに、ペン・オペレーティング
・サブシステムは、コンピュータ・システムによって実
行されているすべてのアプリケーションへのペン入力を
促進することになり、そのうちのほとんどはスタイラス
入力を「認識しない」。現在、典型的なアプリケーショ
ン・プログラムは、マウス入力とキーボード入力だけを
受け入れるように作成されており、ペン入力によって可
能になる機能豊富なプログラミング・インタフェースを
認識していない。使いやすさを改善し、良好なヒューマ
ン・ファクタを提供するためには、ペン・サブシステム
によってこのようなペン非認識アプリケーションが、ユ
ーザ・インタフェースの観点から、ペンを認識しペンの
機能性を利用するアプリケーションのように見え、感じ
られることは、非常に好ましいことである。
【0005】Pen for OS/2は、手書き形状をジェスチャ
記号としてまたは文字(テキスト)として認識するため
のものである。ペンコンピューティングの出現以来、設
計者はジェスチャとテキストの両方を正確に認識する認
識エンジンの開発に奮闘してきた。数々の改良が実現さ
れてきたが、最新の認識エンジンでも依然としてジェス
チャとテキストを区別する際に問題が発生する。これ
は、一部のジェスチャと英字との形状が似ていることに
よる。実際には、システムが使用するジェスチャが非常
に複雑でユーザフレンドリではないものでない限り、英
字及び数字のストロークや形状の範囲のために、有用な
ジェスチャの多くは既存の英字との類似性をある程度備
えることになる。
【0006】一例として、いずれのペン・オペレーティ
ング・システムも、その有用性のために円のジェスチャ
をサポートしている。しかし、ワード・プロセッサのウ
ィンドウ上に円を描く場合、システムは、ユーザが1)
円のジェスチャを描くのか、2)ゼロを書くのか、3)
大文字のOを書くのか、または4)小文字のoを書くの
かを判断しなければならない。これと同じ曖昧さは、
「フリック・ダウン」ジェスチャと呼ばれる単一のダウ
ン・ストロークにも当てはまる。すなわち、フリック・
ダウン・ジェスチャは、英字のlか、英字のIか、また
は数字の1かということになる。これ以外にも例はある
が、ジェスチャとテキストとを区別する際の難しさを実
証するにはこの2つで十分である。
【0007】上記2つの例の曖昧さは、多くの場合、文
字が書かれたコンテキストを調べることによって解決す
ることができる。事実、適切に作成されたペン・アプリ
ケーションは、所与のウィンドウの入力を数字、英字、
英数字、またはジェスチャのみに制限することによっ
て、それを解決する場合が多い。認識制約と呼ばれるよ
うに、認識エンジンから出力可能な結果を制限すると、
認識の正確さが大幅に上昇する。ペン設計者が使用する
もう1つの一般的な手法は、英字または数字のどの文字
とも似ていないジェスチャ形状のライブラリを構築する
方法である。残念ながら、これは、円、ダウン・フリッ
ク、脱字記号、左下、X、疑問符などの重要なジェスチ
ャを除去してしまう。このようなジェスチャはいずれも
直観的で覚えやすく容易に描けるものなので、これらを
除去してしまうと使いやすさが損なわれる恐れがある。
Pen For OS/2のユーザは、ヘルプ・ウィンドウを起動す
るためにどのウィンドウでも疑問符ジェスチャを書き込
むことができる。問題は、メモを編集するときに発生す
る。すなわち、ヘルプ・ポップアップがなくてもユーザ
がピリオドを疑問符に変更できるかどうかである。Pen
for OS/2では、キーボード入力を受け入れるすべてのウ
ィンドウが、ジェスチャとテキストの両方の認識用とし
て使用可能になっている。ペン・サブシステムはたいて
いアプリケーション環境を認識しないので、コンテキス
トによってジェスチャとテキストを区別することは非常
に難しい。ペン認識アプリケーションでテキストを受け
入れないウィンドウではこのような問題は発生しない。
というのは、このようなウィンドウはジェスチャ専用認
識に制限されているからである。
【0008】また、大文字を書いた後にピリオドまたは
「タップ」を付けることにより英字ジェスチャを描くよ
うな26通りの英字ジェスチャをPen For OS/2がサポー
トしていることも銘記するに値する。このタップは、英
字ジェスチャと通常の英字とを区別する特徴である。し
かし、場合によっては、このタップが曖昧さを持ち込む
こともある。すなわち、それが大文字/小文字とピリオ
ドであるかどうか、ということになる。
【0009】依然として残っている、重大な使いやすさ
の問題の1つは、正確に同じ文字であると思われるもの
を書いた後でユーザが別の結果を得ることもあるという
点である。このようにユーザが認識結果を予測または制
御できないことによって、フラストレーションのレベル
は高くなり、生産性は低下する。残念ながら、より小さ
いサブセットの文字と記号に厳重に認識を制限するよう
な先行技術の技法は、所与の状況、すなわち、ペン認識
アプリケーションになるように適切に設計された場合の
み有効である。ペン認識ではない、一般に使用される汎
用アプリケーションでは、先行技術がジェスチャと手書
き文字とを予測的に区別できないことはユーザの妨げに
なっている。
【0010】本発明は、手書き文字入力からジェスチャ
入力を区別するための先行技術の改良策である。
【0011】
【発明が解決しようとする課題】したがって、本発明の
一目的は、ユーザの手書き文字の平均サイズを使用して
手書き文字とジェスチャとを区別することにある。
【0012】本発明の他の目的は、1日のうちで1台の
コンピュータが多くのユーザによって活発に共用されて
いる場合に検出されるような手書き文字の変化を迅速に
調整することにある。
【0013】本発明のさらに他の目的は、通常のエンド
ユーザの作業を妨げず、オペレーティング・システムま
たはアプリケーションの応答性に関して認識できるほど
のパフォーマンスの劣化を発生しないように、サイズを
決定することにある。
【0014】
【課題を解決するための手段】ジェスチャと手書き文字
とを区別するために、ペン・サブシステムはユーザの書
込みのサイズを調べる。
【0015】本発明により、ユーザは、自分の手書き入
力スタイルに応じてジェスチャ対テキストのサイズ、ジ
ェスチャしきい値を設定することができる。このように
して、ユーザは、ジェスチャをどの程度大きくするかを
正確に把握する。ユーザが設定のカストマイズを辞退し
た場合、ペン・サブシステムは、ユーザの手書き文字の
近似サイズを示す、他のユーザ設定を問い合わせること
ができる。システムが使用可能な第3の選択肢は、手書
き文字のサイズを動的に決定し追跡することである。こ
れにより、複数のユーザは、設定を変更する必要なしに
コンピュータを順次使用できるはずである。認識結果が
本当に曖昧である場合、システムは、ユーザの通常の手
書き入力スタイルより大きく描かれていない限り、その
手書き文字をテキストとして扱う。認識プロセスに対す
る制御権が強化されると、ユーザは、よりリラックスし
て自然にスタイラスを使用しながら、自由に手元の作業
に集中することができる。
【0016】本発明の特徴における上記及びその他の目
的は、添付図面ならびに以下の説明を参照することによ
り、より適切に理解されるだろう。
【0017】
【発明の実施の形態】本発明は、適当なペン入力認識サ
ブシステムを備えた各種のオペレーティング・システム
下の様々なコンピュータまたはコンピュータの集合で実
行することができる。このコンピュータは、たとえば、
パーソナル・コンピュータ、ミニ・コンピュータ、メイ
ンフレーム・コンピュータ、またはその他のコンピュー
タからなる分散ネットワークで動作するコンピュータな
どにすることができる。具体的なコンピュータの選択は
必要なディスク及びディスク記憶容量によってのみ制限
されるが、IBMのPCシリーズのコンピュータは本発
明で使用できる可能性が高い。IBMのPCシリーズの
コンピュータのさらに詳細については、IBM PC 300/700
Series Hardware Maintenance(資料番号No. S83G-778
9-03)及びUser'sHandbook IBM PC Series 300 and 700
(資料番号No. S83G-9822-00)を参照されたい。IBM
では、ペン入力用に自由スタイラスを備えたThinkPad 7
50Pを売り出している。また、IBMのパーソナル・コ
ンピュータが動作可能なオペレーティング・システムの
1つは、IBMのOS/2 Warp 3.0である。IBMのオペ
レーティング・システムOS/2 Warp 3.0の詳細について
は、OS/2 Warp V3 Technical Library(資料番号No. GB
OF-7116-00)を参照されたい。前述のように、OS/2
は、ペン・サブシステムとしてPen for OS/2 Warp、バ
ージョン1.03、部品番号No. 25H7380を提供してい
るが、これはIBMから取り寄せることができる。
【0018】次に添付図面、特に図1をまず参照する
と、本発明を実施することができるパーソナル・コンピ
ュータ・システムのハードウェア・ブロック図の全体が
参照番号10によって示されている。システム10は、
中央演算処理装置(CPU)15とランダム・アクセス
・メモリ13とを含むプロセッサ11を含む。システム
10は、ハード・ディスク記憶装置17とフロッピー・
ディスク装置19という形式の追加メモリも含むことが
好ましい。フロッピー・ディスク装置19は、本発明の
ソフトウェア実施態様を含む、プログラム用のソフトウ
ェアを記録可能なディスケット21を受け入れられるよ
うになっている。また、システム10は、ディスプレイ
23、キーボード25、マウス27、ペンまたはスタイ
ラス29を含む、ユーザ・インタフェース・ハードウェ
ア装置も含む。システム10はプリンタ31を含むこと
が好ましい。
【0019】タッチ画面の表面に対するスタイラスまた
は指の位置の実際の検出は、本発明の範囲に含まれな
い。本発明を実施するために使用可能なスタイラスの位
置を感知するために圧力、赤外線または可視光、音、電
磁力または静電力を使用する、当技術分野で既知のタッ
チ検知装置はいくつかある。さらに、スタイラス及びス
タイラス感知装置の動作に関する情報については、本出
願人に譲渡され、参照により本明細書に組み込まれる、
アラン・タネンバウム(Alan Tannenbaum)他による「G
raphical User Interface with Gesture Recognition i
n a Multi-Application Environment」という名称の米
国特許第5252951号を参照されたい。また、スタ
イラスの動きの感知に関する情報については、本出願人
に譲渡され、参照により本明細書に組み込まれる、ジョ
ン・エム・ゼッツ(John M. Zetts)による「Recognizi
ng the Cessation of Motion of a Pointing Device on
aDisplay By Comparing a Group of Signals to an An
chor Point」という名称の米国特許第5404458号
を参照されたい。
【0020】本発明の好ましい実施態様の1つは、前述
のように一般的に構成されたコンピュータ・システムの
ランダム・アクセス・メモリ内に常駐する複数組の命令
セットである。コンピュータ・システムが要求するま
で、この命令セットは、別のコンピュータ・メモリ、た
とえば、ハード・ディスク・ドライブや、最終的にCD
−ROM内で使用するための光ディスクなどの取外し可
能メモリ、または最終的にフロッピー・ディスク・ドラ
イブ内で使用するためのフロッピー・ディスクに格納す
ることができる。当業者であれば、複数組の命令セット
の物理的な格納によって、その上に電気的、磁気的、ま
たは化学的にそれが格納される媒体がコンピュータで読
取り可能な情報を伝達するようにその媒体が物理的に変
化することに留意されたい。命令、記号、文字などに関
して本発明を記述する方が便利であるが、これらの用語
及び同様の用語はいずれも適切な物理要素に関連するは
ずであることに留意されたい。さらに、本発明は、区別
または判定、あるいはオペレータに関連する可能性のあ
るその他の用語に関して記述される場合が多い。本発明
の一部を形成するような本明細書に記載する動作では、
オペレータによるアクションはいずれも望ましいもので
はない。動作とは、電気信号を処理して他の電気信号を
生成するようなマシン動作のことである。
【0021】次に図2を参照すると、同図には、本発明
のペンベース・システムの主要ソフトウェア・システム
構成要素の高レベル図が示されている。図2の下部で
は、ペン29、マウス27、キーボード25からの出力
信号がデバイス・ドライバ33に接続されているが、こ
のデバイス・ドライバはそれぞれの装置に低レベルの入
出力サポートを提供するモジュールである。デバイス・
ドライバ33は事象をシステム待ち行列35に入れる。
システム待ち行列35内の事象は、その後、プレゼンテ
ーション・マネージャ37によって処理され、プレゼン
テーション・マネージャ37は次にペン事象及びマウス
事象を処理のためにペン拡張部39に経路指定する。
【0022】本発明により構成された典型的なコンピュ
ータ・システムでは、ペン認識アプリケーション41と
ペン非認識アプリケーション43の両方が動作する。ペ
ン認識アプリケーションは、ペン入力を認識して処理す
るための固有の能力を備えている。すなわち、その開発
者は、ペン入力をサポートするようにアプリケーション
を設計している。ペン非認識アプリケーションは、ペン
入力を認識するための固有の能力を備えていないもので
あり、通常、キーボードまたはマウスあるいはその両方
の入力を認識して処理するだけである。したがって、オ
ペレーティング・システムのペン拡張部39は、ペン事
象をペン認識アプリケーション41に直接経路指定す
る。しかし、ペン非認識アプリケーション43はペン入
力を理解することができないので、システムは互換モジ
ュール45を含む。
【0023】互換モジュール45は、ペン非認識アプリ
ケーションのためにペン機能を提供するものである。た
とえば、ユーザがペン非認識アプリケーションに手書き
文字事象を入力した場合、ペン拡張部39はこの事象を
互換モジュール45に経路指定し、次に互換モジュール
45がすべてのペン・ストロークをジェスチャ手書き文
字認識エンジン47に経路指定する。ジェスチャ手書き
文字認識エンジン47は、ペン・ストローク事象を処理
し、認識結果を互換モジュール45に返す。
【0024】認識事象がジェスチャである場合、互換モ
ジュール45はそれを認識事象送達サブシステム49に
経路指定し、そのサブシステムは、特定のジェスチャに
応答してペン非認識アプリケーションでどのアクション
を実行すべきかをユーザが判定できるようにセットアッ
プしたプロファイル51にアクセスする。任意で一部の
ツール53を呼び出して、ペン非認識アプリケーション
43上で何らかのアクションを実行することもできる。
たとえば、ポップアップ・キーボードと手書き入力パッ
ドは、ペン非認識アプリケーション上で何らかのアクシ
ョンを実行するかまたはペン非認識アプリケーションに
入力を提供するようなツールの例である。互換モジュー
ル45に返された認識結果が手書き文字であると認識さ
れた場合、その結果のテキスト・ストリングは適切なペ
ン非認識アプリケーション43に直接経路指定される。
【0025】ストローク分析 図3は、ストローク・カウントによる好ましい実施例用
のジェスチャ・セットを列挙したものである。記号ジェ
スチャ300、325、335のストローク・カウント
は一定であるが、英字ジェスチャ342、353、36
5、370のストローク・カウントは、どのようにして
ユーザがその特定の大文字を書いたかに応じて、いくら
か変化する。いずれの記号ジェスチャも4ストローク以
上で構成されることはなく、英字ジェスチャは最小で2
ストローク、最大で5ストロークを必要とすることが分
かるだろう。このようなストローク・カウントの特性
は、テキストとジェスチャとを区別する際に考慮されて
いる。「なぐり書き」という用語は、ストローク入力の
モーダル期間中にユーザが描いたストロークの集合を意
味する。このモーダリティは、3秒間入力を止めるかま
たはスタイラスをセンサから持ち上げることによって終
了する。好ましい実施例ではいずれのジェスチャも5ス
トロークを超えないので、なぐり書きが5ストロークを
上回る場合、認識結果は必ずテキストになる。当業者で
あれば、異なる1組のなぐり書きごとに別々の事前認識
規則を使用することが容易に分かるだろう。
【0026】図4は、英数字に対して曖昧なジェスチャ
記号を列挙したものである。本発明の一実施例では、ジ
ェスチャとテキスト両方の認識モードを有するウィンド
ウでこれらのジェスチャを描いた場合、ユーザの通常の
手書き文字サイズより大きいジェスチャをユーザが描か
ない限り、テキスト認識が行われることになる。
【0027】図5には境界ボックス・スコアの概念を示
す。オブジェクト400、405、410、415は、
大文字のHとピリオドの書き順を示している。ユーザが
各ストロークを描くにつれて、各ストロークに関連する
境界ボックスの「分離」が検査される。あるストローク
が別のストロークから規定の距離以上離れている場合、
そのストロークは「分離」されている。複数のストロー
クが互いに接触すると、それらの境界ボックスは、オブ
ジェクト420、425、436、430の順に示すよ
うに組み合わされる。各ストロークが完了すると、ジェ
スチャまたはテキストとして、ストローク・カウント、
ストローク・サイズ、ストローク分離、ストローク・タ
イプに基づいて現行のなぐり書きを分類するスコアが与
えられる。分類が不確定の場合、「不明」というスコア
を与えることができる。図5のH.は、不明401とし
て始まり、テキスト402及び403に移行する。最終
ストロークでは、タップ408によって英字ジェスチャ
の可能性がなくなるので、不明404としてスコアが付
けられる。
【0028】好ましい一実施例では、なぐり書きに不明
というスコアを与えると、そのなぐり書きは認識のため
にジェスチャ認識エンジンとテキスト認識エンジンの両
方に送られる。認識エンジンは、最良テキスト一致用に
1つと最良一致ジェスチャ用に1つという2つの結果を
生成し、テキスト結果を1次認識結果にする。1次とし
てのジェスチャ結果を備えたHタップ・ジェスチャをユ
ーザが作成するためには、Hを含むストロークをジェス
チャしきい値より大きく描く必要がある。ジェスチャし
きい値の設定は別の発明なので、ジェスチャしきい値の
項で後述する。
【0029】図5の第2の例では、ジェスチャしきい値
480を超える大きいストロークで「lbs」と書かれ
ているので、最初の2つのストローク450及び456
はジェスチャ451及び452としてスコアが付けられ
る。しかし、最後のストローク462はジェスチャしき
い値を超えないので、スコアはテキスト453に変更さ
れる。最後のストローク462はタップではないので、
このなぐり書きは英字ジェスチャにはならず、3ストロ
ーク・ジェスチャ335を検査すると、3つのストロー
クはいずれも3ストローク・ジェスチャと見なせるよう
に大きくなければならないことが分かる。これは、いず
れの場合もユーザは大きく書くことを禁じられていない
ことを実証するものである。
【0030】図6及び図7は、ジェスチャしきい値より
大きく描くことにより、ユーザが認識結果を制御する方
法をさらに示すものである。ウィンドウ481内の疑問
符482は、ピリオドを置き換えることにより、この疑
問文の句読点エラーを訂正するためのものである。これ
は小さく書かれているので、疑問符文字485が生成さ
れる。より大きいストローク487を使用して後で描き
直すと、本発明はそれにジェスチャとしてのスコアを付
けるが、これは実行され、その結果、アプリケーション
のヘルプ・ウィンドウ489内に表示される。
【0031】図8及び図9は、線ありフォント・サイズ
を設定するためのエンドユーザ・インタフェースを示し
ている。フォント・サイズを設定することにより、ユー
ザは行手書き入力ウィンドウで使用する行間隔を設定す
る。ユーザが設定する間隔は、ユーザの通常の手書き文
字サイズを適切に示すものである。高さと幅は50%と
25%までそれぞれ拡大される。というのは、罫線なし
ウィンドウに書き込む場合、ユーザの手書き文字を制限
する線が一切ないので、手書き文字が通常より大きくな
る場合が多いからである。ジェスチャしきい値を設定す
る際の線ありフォント・サイズの使い方については、ジ
ェスチャしきい値の項で以下に詳述する。
【0032】図10は、報告すべき認識事象がある場合
にペン・サブシステムによって構築され、ターゲット・
アプリケーションに送られる、認識結果データ構造を示
している。認識処理手順については図16に詳しく示
す。このデータ構造は1次結果600と代替結果610
のセクションに分割され、アプリケーションはいずれの
認識結果でも自由に機能することができるが、推奨され
るアクションは、アプリケーションが1次結果を使用す
ることである。というのは、システムがその結果の方が
高いと評価したからである。1次及び代替認識結果タイ
プ・データ・フィールドは、事前認識プロセスの結果に
応じて、ジェスチャと手書き文字かまたは手書き文字と
ジェスチャでそれぞれ記入される。テキスト・ストリン
グまたはジェスチャ認識データ・フィールドは、そのセ
クションの結果タイプに応じて各セクションで記入され
る。なぐり書きポインタは、そのなぐり書きを構成する
1組のストロークに関するハンドルである。
【0033】図11は、矩形の対向する隅に位置する2
つの直角座標(x左、y下)と(x右、y上)を調整す
ることにより、矩形を拡大する方法を理解するのに役立
つものである。この場合、(x左、y下)は、上方スト
ローク用の矩形の起点でもある。図14に関連して以下
に詳述するように、ストロークを受け取ると、そのスト
ロークの上下の左端及び右端の範囲の境界を示すために
境界ボックスが作成される。図24〜27に関連して以
下に詳述するように、この境界ボックスは、ストローク
の「分離」をテストするために使用する。境界ボックス
は、合計0.04インチになるようにボックスの両側に
0.02インチずつ加えることによって「拡大」され
る。2つのストロークの境界ボックスが交差する場合、
これらは分離ストロークではないので、手書き文字では
なくジェスチャを示すものである。テキストは水平に書
かれる傾向があるので、分離ストロークは手書き文字を
示すことになる。
【0034】本発明を効果的にするために、本出願人は
タップ・ストロークのサイズを縮小した。先行技術のタ
ップ・サイズ810を図12に示す。ペン・タップは、
マウス・ボタンのクリックに似ており、選択やウィンド
ウ・ナビゲーション中に頻繁に使用される。大きいタッ
プ・サイズを定義することにより、ユーザは、タップ中
に少量の間違った動きをしても許される。タップ・サイ
ズを拡大すると、ユーザは少々雑にタップを行えるよう
になり、迅速にタップすることも容易になる(迅速タッ
プは小さいストロークを発生する傾向がある)。しか
し、タップ・サイズを大きくすると、コンマ、引用符、
アポストロフィなどの小さい文字はいずれもタップのよ
うに見え始めるという副作用がある。ユーザによって
は、「o」や「e」などの小文字にタップ・ストローク
としてのタグが付けられるほど、手書き文字が小さいユ
ーザもいる。タップを正確に区別することは本発明の要
件の1つなので、本発明では、認識モードがテキストを
含む場合にタップ・サイズを縮小する方法を取り入れて
いる。タップ・サイズの縮小によって、ユーザはもっと
注意深くタップしなければならなくなるが、その結果、
iの点を打ち、ピリオド、コロン、セミコロンを入力す
る際に注意するので、テキスト認識を向上させる効果が
ある。
【0035】図12の最小ジェスチャ・サイズ800ま
たはジェスチャしきい値は、通常、0.156インチで
あり、非常に小さいストロークをシステムがジェスチャ
として解釈しないようにするためにシステムが必要とす
るものである。選択などのためにスタイラスでタップす
る場合、ユーザは、持ち上げる前にわずかにペンの先を
スライドさせることが非常に多い。ペンのスリップは故
意ではなかったものの、結果的にストロークがタップよ
り大きくなることが多く、その場合、システムはそれを
タップとして解釈せず、むしろジェスチャ及びテキスト
認識エンジンに送られる小さいストロークとして解釈す
る。この問題は、ディジタイザ上に滑りやすい表面を備
えたペン・コンピュータでは特に一般的なものである。
このようないわゆる「マイクロ・ジェスチャ」は問題が
多いので、最小ジェスチャ・サイズが課せられている。
【0036】図13は、ユーザがスタイラスで触れたこ
とをペン・サブシステムが検出したときに呼び出される
論理の詳細を示している。ステップ900では、システ
ムがすでに書込みモードに入っているかどうかを確認す
るために検査が行われる。書込みモードに入っていない
場合、ステップ905で着地メッセージがアプリケーシ
ョンに送られ、着地事象をそれに通知し、どのようにそ
の事象を処理すべきかをアプリケーションが指定できる
ようにする。このメッセージの処理中、アプリケーショ
ンは認識のモードを指定することができる。メッセージ
の送信後、ステップ910では、アプリケーションが認
識モードを設定したかどうかを確認するためのテストが
行われる。設定していない場合、ステップ915では、
着地ウィンドウ用の適切な認識モードを決定するための
ルーチンが呼び出される。次にプロセスは、図15に詳
細を示す一連のテストに移行し、ウィンドウがテキスト
入力専用か、ジェスチャ入力専用か、またはテキスト入
力とジェスチャ入力が可能かを判定する。図13に示す
プロセスに戻ると、ステップ930では、着地ウィンド
ウですべての認識が不能になっているかどうかを確認す
るためのテストが行われる。不能になっている場合、シ
ステムは、ステップ940で単に着地事象をマウス・ボ
タン事象として処理し、ステップ950で終了する。
【0037】そうではない場合、システムは、ステップ
935でストローク・カウントをクリアし、ステップ9
60で第1のストロークの第1の点として着地座標を保
管し、ステップ970及び980でストローク境界ボッ
クスを初期設定することにより、入力ストロークの準備
を行う。次にルーチンはステップ990で終了し、その
後のスタイラス入力を待つ。
【0038】図14は、スタイラスがディジタル化セン
サと接触している間にスタイラスの動きが検出されるた
びに呼び出されるペン運動ルーチンを示している。新し
い各座標を受け取ると、その座標は、現行のストローク
境界ボックス外にあるかどうかを確認するために検査さ
れる。ステップ1000〜1070に示す動作は、座標
のX値をボックスの左端及び右端の値と比較し、座標の
Y値をボックスの一番上及び一番下の値と比較するプロ
セスの詳細を示している。ストロークがその外側にずれ
続けると、境界ボックスが調整される。
【0039】ステップ1000では、座標のX値がボッ
クスの左境界の外側にあるかどうかを判定するためにテ
ストが行われる。システムが書込みモード1002にな
っていない場合、ユーザが書込み1003を開始したか
どうかを判定するために、スタイラスの動きが初期着地
点から監視される。その動きが十分な長さ、通常は0.
060インチのものである場合、ユーザは書込みを開始
したと見なされ、システムは書込みモード1004に入
る。その場合、ステップ1010で境界が座標のX値に
設定される。ステップ1020では、座標のX値がボッ
クスの右境界の外側にあるかどうかを判定するためにテ
ストが行われる。外側にある場合、ステップ1030で
境界が座標のX値に設定される。ステップ1040のテ
ストは、座標のY値がボックスの下境界の外側にあるか
どうかを判定するものである。外側にある場合、ステッ
プ1050で境界が座標のY値に設定される。座標のY
値がボックスの上境界の外側にあるかどうかというテス
トは、ステップ1060で行われる。これが真である場
合、ステップ1070で境界が座標のY値に設定され
る。このプロセスはステップ1080で終了する。
【0040】図15には、ウィンドウの認識モードがテ
キスト専用か(ステップ1115)、ジェスチャとテキ
ストか(ステップ1130)、ジェスチャ専用か(ステ
ップ1155)のいずれにするべきかを判定し、ウィン
ドウの認識モードを設定する一連のテストが示されてい
る。ウィンドウがテキスト入力またはジェスチャ入力あ
るいはその両方のいずれを受け入れるかを判定するため
に使用可能な基準の1つは、ユーザがエンドユーザ・イ
ンタフェースを介して所与の認識モードを規定したかど
うかである。実際の入力に使用するウィンドウは、すべ
て認識が不能になっている。これは、流れ図にプロセス
・ステップ1160として示されているが、代替実施例
では判断ブロックにすることもできる。次に、ステップ
1110、ステップ1135、またはステップ1150
で認識モードが適切に設定される。しかし、タップによ
って区別される英字ジェスチャを使用可能な好ましい実
施例でテキスト認識が可能になっている場合、ステップ
1125または1145で許容タップ・サイズも縮小さ
れる。タップのサイズを縮小すると、システムはより容
易にタップと小さい小文字とを区別できるようになる
と、本出願人は判断している。プロセスはステップ11
70で復帰する。
【0041】図16は、認識結果を処理する論理を示し
ている。ステップ1200でテストするようにジェスチ
ャ認識とテキスト認識の両方が行われ、ステップ120
5でテストするように境界ボックス・ストアがジェスチ
ャである場合、ステップ1210で1次結果がジェスチ
ャに設定される。代替結果はステップ1220でテキス
トに設定される。これに対して、境界ボックス・スコア
が手書き文字である、すなわち、ジェスチャではない場
合、ステップ1215で1次結果がテキストに設定さ
れ、ステップ1225で代替結果がジェスチャに設定さ
れる。図10に関連して前述したように、認識結果デー
タ構造がターゲット・アプリケーションに送られる。ス
テップ1230で認識結果がジェスチャ専用である場
合、ステップ1235で1次結果がジェスチャになり、
ステップ1240で代替結果がヌルになる。そうではな
い場合、ステップ1245で1次結果がテキストに設定
され、ステップ1250で代替結果がヌルに設定され
る。ステップ1255では、新たに構築した認識結果ブ
ロックを含むWM_RESULTメッセージがアプリケーション
に送られ、その後、ステップ1265でアプリケーショ
ン応答が処理される。プロセスはステップ1270で復
帰する。
【0042】ターゲット・アプリケーションからの応答
を処理するためのプロセスは図17に示す。ステップ1
310では、アプリケーションが認識結果を処理したか
どうかを確認するためのテストが行われる。処理してい
ない場合、ステップ1320で、ペン・サブシステムに
よる1次結果または代替結果の処理をアプリケーション
が必要としているかどうかを判定するためにアプリケー
ション応答が検査される。デフォルトでは、ステップ1
330で1次結果が処理されるが、その現行環境にとっ
て代替結果の方が適しているとアプリケーションが判定
した場合、アプリケーションはデフォルト挙動を指定変
更し、ステップ1340で代替結果を処理するように指
定することもできる。ステップ1350で結果がテキス
トである場合、キーボードによって生成された場合と同
様に文字が現れるように、ステップ1360でテキスト
・ストリングがターゲット・アプリケーションに送られ
る。そうではない場合、ステップ1370でジェスチャ
・コマンドが実行される。ステップ1310のテストに
応じてプロセスが結果を処理できた場合、システムはス
テップ1380で復帰し、それ以上のアクションは一切
行われない。
【0043】図18には、書込みタイムアウトを設定す
るためのプロセスが示されている。背景としては、ユー
ザが書込み入力を完了したときにシステムがそれを検出
できるように、ユーザが1つのストロークを完了するた
びに書込みタイマが始動する。書込みを続行するために
ユーザがスタイラスでもう一度着地した場合、書込みタ
イマは取り消され、システムは現行のストロークの集合
に新しいストロークを付加する。タイマが時間切れにな
ると、それは、ユーザが休止し、したがって、書込み入
力を完了したことを示す。書込みタイムアウトには3.
0秒という値を使用する。というのは、大量のテキスト
を入力するときにユーザがウィンドウの一方の側から反
対側に移動するのに2.5秒かかることがあることがテ
ストによって分かっているからである。1つまたは2つ
のストローク・ジェスチャが認識され実行されるまで待
つには3秒の書込みタイムアウトでは長すぎるので、別
のジェスチャ・タイムアウト値が維持されている。この
ジェスチャ・タイムアウトは0.9秒である。通常、認
識モードがジェスチャとテキストである場合、システム
はそれより長い待機期間を使用しなければならない。と
いうのは、ユーザがジェスチャ入力中なのかまたは手書
き入力中なのかが明白ではないからである。
【0044】次に図18を参照すると、書込みタイムア
ウト値とジェスチャ・タイムアウト値の両方について、
ステップ1400とステップ1402でそれぞれ問合せ
が行われる。ステップ1404でテストしたように、ス
トローク・カウントが6未満である場合、書込みタイム
アウトは認識モードに応じて設定される。ステップ14
05でモードがジェスチャである場合、ステップ141
0でジェスチャ・タイムアウト値が使用される。ステッ
プ1415でモードがテキストである場合、ステップ1
420で書込みタイムアウトが使用される。ステップ1
425は、認識モードがテキストとジェスチャの混合で
あるかどうかを判定する。混合ではない場合、ステップ
1430で書込みタイムアウトが使用される。ステップ
1425で判定したように、モードが混合である場合、
境界ボックス・スコアに基づいて判断が行われる。ステ
ップ1435で境界ボックス・スコアがジェスチャであ
る場合、ステップ1440でジェスチャ・タイムアウト
が使用される。ステップ1445で境界ボックス・スコ
アが不明である場合、ステップ1450でジェスチャ・
タイムアウトに500ミリ秒を加えた値に等しいタイマ
値が使用される。この余分な0.5秒により、ユーザ
は、テキストを書き込んでいる場合に別の単語を開始す
るのに十分な時間が与えられる。ユーザがテキストを書
き込んでいない場合、この余分な時間は、わずかなジェ
スチャ認識遅延を追加するだけである。そうではない場
合、スコアはテキストになり、ステップ1455で書込
みタイムアウトが使用される。ステップ1404で判定
したように、ストローク・カウントが5を上回る場合、
デフォルトとして完全な3.0秒値を使用するような書
込みタイムアウトにするための調整は一切行われれな
い。このように境界ボックス・スコアに基づいて書込み
タイムアウトを動的に設定する方法により、ユーザ・イ
ンタフェースの応答性は高くなり、ユーザは一連のジェ
スチャ・コマンドを迅速に連続して実行することができ
る。
【0045】ジェスチャまたはテキスト文字の後、ユー
ザは、タッチ画面からスタイラスを持ち上げる。離昇事
象の検出時に行われるプロセスについては図19に詳細
に示す。離昇後、ステップ1500でストローク・カウ
ントが増分される。ステップ1501では、着地時に設
定したタップ・サイズを使用して、それがタップである
かどうかを確認するためにストロークが検査される。次
にステップ1502で現行の境界ボックスが処理され、
ストロークの集合を進行中のテキストまたはジェスチャ
として分類する。
【0046】ステップ1504では、これが第1のスト
ロークであるかどうかを判定するためにテストが行われ
る。ステップ1505で判定したように、このストロー
クがタップである場合、ユーザはステップ1530でマ
ウス・エミュレーションを必要とし、システムはステッ
プ1555で復帰する。第1のストロークがタップでは
ない場合、ステップ1510で最小ジェスチャ・サイズ
と照らし合わせてストロークの長さが検査される。この
最小ジェスチャ・サイズについては、図12に関連して
前述した通りである。好ましい一実施例の最小ジェスチ
ャ・サイズは、通常、0.156インチ程度であり、ペ
ン・サブシステムでは、非常に小さいストロークがシス
テムによってジェスチャとして解釈されないようにする
ことが必要である。第1のストロークがジェスチャしき
い値未満であり、ステップ1515で現行の認識モード
がジェスチャである場合、ステップ1530でマウス・
エミュレーション・プロセスが行われる。そうではない
場合、ステップ1520で認識モードがテキストとジェ
スチャの両方であれば、ステップ1525で認識モード
がテキスト専用に変更される。というのは、最小サイズ
未満のストロークでジェスチャを開始することができな
いからである。次に、ステップ1540でストロークの
集合に現行ストロークが追加されるが、これは、この場
合、第1のストロークである。ステップ1545では、
図18に関連して前述したように書込みタイムアウトを
調整するためのサブルーチンが呼び出される。書込みタ
イムアウトの調整後、ステップ1550でシステムは書
込みタイムアウトを設定し監視する。次に、ステップ1
555でプロセスが終了する。
【0047】この時点で、ユーザは単一ストロークを描
いている。ユーザがもう一度スタイラスで着地する場
合、図13に戻ると、ステップ900でシステムはすで
に書込みモードになっているので、ステップ960で新
しい着地点がもう一度保管され、ステップ970及び9
80で境界ボックスが再初期設定される。新しい点が受
け取られると境界ボックスが更新され、最終的に離昇が
行われる。図19に示すように、離昇処理中は、ステッ
プ1500でタップの有無が検査され、ステップ150
2で境界ボックスが処理される。
【0048】ストロークの集合を処理するためのプロセ
スについては、図21、図22、図23に詳細に示し、
後で説明する。図19は、ステップ1540で「なぐり
書き」の集合に各ストロークが追加されたときの各スト
ロークごとのプロセスを示している。5つのストローク
を受け取った後、その結果は、好ましい実施例で1組の
ジェスチャが与えられた場合にジェスチャにはなりえ
ず、境界ボックスの処理と書込みタイムアウトの調整が
終了する。最終的に、ユーザは書込みを停止するので、
書込み事象の終了を処理しなければならない。
【0049】書込み事象の終了のためのプロセスについ
ては、図20に関連して以下に説明する。まず、ステッ
プ1600でストロークの集合のすべてについて「イン
キ抜き」を行う。これは、スタイラスの経路が表示され
なくなることを意味する。ステップ1605では、シス
テムが書込みモードから抜け出し、ストロークの集合を
終了する。
【0050】次に、ステップ1610、1630、16
40で現行の認識モードが、ジェスチャか、テキスト
か、ジェスチャとテキストかがそれぞれテストされる。
現行の認識モードに応じて、ステップ1620またはス
テップ1650でジェスチャまたはテキスト認識エンジ
ンが呼び出され、関連の認識を実行する。
【0051】ステップ1640で判定したように、ジェ
スチャとテキスト両方の認識モードである場合、ステッ
プ1655で描かれたストロークが5ストロークを上回
るかどうかを確認するために、まずストローク・カウン
トが検査される。上回る場合、このストロークはテキス
トに違いないので、ジェスチャ認識エンジンは迂回さ
れ、ステップ1670でテキスト専用認識が行われる。
ステップ1655でカウントが5以下である場合、境界
ボックス・スコアがテストされる。ステップ1660で
スコアがジェスチャでも不明でもない場合、もう一度ジ
ェスチャ認識が迂回され、ステップ1670でテキスト
専用認識が行われる。このような場合、境界ボックス・
スコアは、コンピュータの使用上集中的なジェスチャ認
識プロセスを除去することにより、認識プロセスの速度
を上げる働きをする。ステップ1660で境界ボックス
・スコアがジェスチャまたは不明である場合、ステップ
1665及び1670のジェスチャ認識とテキスト認識
の両方がそれぞれ行われる。当業者であれば、境界ボッ
クス・スコアがジェスチャである場合、手書き文字認識
を回避できることが分かるだろうが、本出願人の経験に
よれば、速度の上昇は代替としてテキスト入力を廃棄す
る可能性に値しないものである。ステップ1680では
認識エンジンからの結果が処理される。プロセスはステ
ップ1690で復帰する。
【0052】図21、図22、図23は、「なぐり書
き」またはストロークの集合のうちの最初の5ストロー
クのそれぞれを処理する論理の流れを示す図である。好
ましい実施例では、6ストローク以上で構成されるジェ
スチャ形状がないので、ステップ1700でテストした
6ストロークの収集後、境界ボックス処理は一切行われ
ない。プロセスはステップ1705で復帰する。次に、
1710でx右からx左を引き、1715でy上からy
下を引くことにより、それぞれ境界ボックスの幅と高さ
の計算が行われる。境界ボックスの幅と高さの両方は、
1720でジェスチャしきい値の幅及び高さと照らし合
わせて検査される。幅と高さの両方は、ステップ172
0でジェスチャしきい値のX値及びY値と照らし合わせ
て検査される。このプロセスについては、図28に関連
して以下に詳述する。
【0053】現行の境界ボックスがジェスチャしきい値
を超える場合、ステップ1725及び1727でテスト
したように、現行ストロークがなぐり書きの第1のスト
ロークであるかどうかに応じて、大ストローク・カウン
トはステップ1735で1に設定されるか、またはステ
ップ1730で増分される。1720で境界ボックスが
ジェスチャしきい値より小さく、1727で現行ストロ
ークがなぐり書きの第1のストロークである場合、大ス
トローク・カウントは1733で0に設定される。
【0054】ストロークをサイズについて検査した後、
ステップ1740でそれが手書き文字を示す分離ストロ
ークであるかどうかを判定するためにさらに分析が行わ
れる。分離ルーチンの説明については、図24、図2
5、図26に関連して以下に示す。この分離ルーチン
は、なぐり書きの後続ストロークが処理された後に続
く。第1のストロークの場合、ステップ1745のテス
トは真になる。というのは、これが第1のストロークで
あり、図22に示すプロセス・ステップに移行するから
である。
【0055】図21では、ステップ1720で境界ボッ
クスのサイズがジェスチャのX/Yしきい値と比較さ
れ、そのサイズがしきい値を超える場合、ステップ17
30で大ストローク・カウンタが増分される。ステップ
1740では、第2のストロークが第1のストロークか
ら分離しているかどうかを判定するために、分離ルーチ
ンの検査が呼び出される。分離テスト・プロセスを理解
するためには、図24、図25、図26に関する説明を
参照されたい。
【0056】分離テスト・ルーチン後、プロセスはステ
ップ1745に復帰し、そこで現行ストロークが第1の
ストロークであるかどうかを判定するための検査が行わ
れる。第1のストロークである場合、プロセスは図22
のAに移行する。好ましい実施例では、ステップ175
0でストローク2〜5について境界ボックス・スコアが
必ずテキストに事前設定される。これは、故意ではない
一部のジェスチャ・コマンドの結果から回復するより、
ウィンドウに文字を挿入したことから回復する方がずっ
と容易であるからである。また、ユーザには、ストロー
クをジェスチャとして認識されたことを確認する、すな
わち、ジェスチャしきい値より大きいストロークを描く
確実な方法がある。テスト1755では、ストローク・
カウントが2であるかどうかが判定される。2である場
合、プロセスは図22のBに移行する。テスト1765
では、ストローク・カウントが3であるかどうかが判定
される。3である場合、プロセスは図23のCに移行す
る。3ではない場合、プロセスは図23のDに移行す
る。
【0057】図22を参照すると、ステップ1810で
は大ストローク・カウントが検査される。第1のストロ
ークが大きい場合、ステップ1815で境界ボックスに
はジェスチャとしてのスコアが付けられる。そうではな
い場合、ステップ1820で不明としてのスコアが付け
られる。小さいサイズまたは平均サイズの単一ストロー
クのみの場合、ユーザが意図していたのがジェスチャで
あるかまたは手書き文字であるかは、同程度の可能性に
なる。次にステップ1830でこのサブルーチンは離昇
ルーチンに復帰する。
【0058】図21のステップ1755によって判定し
たように第2のストロークの場合、ステップ1860で
それがタップであるかどうかを判定するためにそのスト
ロークがテストされる。英字ジェスチャを使用する好ま
しい実施例では、最後のストロークとしてのタップはジ
ェスチャの特徴の1つである。26通りの英字ジェスチ
ャに加え、チェックマーク・タップ、上向き脱字記号タ
ップ、疑問符がある。ストロークがタップではない場
合、ステップ1875で境界ボックス・スコアがテキス
トに設定される。ステップ1885では、両方のストロ
ークがジェスチャしきい値より大きいかどうかを立証す
るためのテストが行われる。大きい場合、そのなぐり書
きは2ストローク・ジェスチャであり、境界ボックス・
スコアはジェスチャに設定される。これは、第2のスト
ロークがタップではない場合は2つのストロークがほぼ
同じ長さでなければならないという2ストローク・ジェ
スチャ要件を前提とする。ステップ1860で現行スト
ロークがタップである場合、ステップ1870で大スト
ローク・カウントが非ゼロ値であるかどうかがテストさ
れる。第1のストロークが大きい場合、ステップ188
0でジェスチャというスコアが付けられる。プロセスは
ステップ1895で呼出しルーチンに復帰する。
【0059】第3、第4、第5のストロークに関する境
界ボックス処理については図23に示す。分離矩形カウ
ントが考慮されているので、この処理はより複雑になっ
ている。図3には、3ストローク・ジェスチャが列挙さ
れている。好ましい実施例では、英字ジェスチャではな
い3ストローク・ジェスチャが6通り存在するが、シス
テムでは、このような6通りのジェスチャを作成する場
合に3つのストロークがいずれも大きくなければならな
い。第3のストロークがタップである場合、分離を検査
する必要性が効力を発揮する。というのは、26通りの
英字ジェスチャのうちの13通りは2つのストロークと
1つのタップで描くことができ、英字ジェスチャとテキ
ストとが曖昧であるからである。2ストローク処理と同
様に、ステップ1910でストロークがタップであるか
どうかが検査され、現行ストロークがタップではない場
合、ステップ1905で境界ボックス・スコアがテキス
トに設定される。ステップ1925では、3つのストロ
ークがいずれも大きいかどうかを判定するために大スト
ローク・カウントがテストされる。いずれも大きい場
合、ステップ1935でスコアがジェスチャに設定され
る。ステップ1910で現行ストロークがタップである
場合、ステップ1920で分離ボックス・カウントの値
が2またはそれ以上であるかどうかがテストされる。カ
ウントが2またはそれ以上である場合、ステップ191
5でスコアがテキストに設定される。そうではない場
合、曖昧さのため、ステップ1930で境界ボックス・
スコアが不明に設定される。ステップ1940における
大ストローク・カウントの後続テストは、曖昧さを解決
するために役立つものである。少なくとも1つの大スト
ロークがある場合、ステップ1935で境界ボックス・
スコアがジェスチャに変更される。プロセスは離昇ルー
チンに復帰する。
【0060】図23のD入口点は、第4と第5のストロ
ークの場合を処理するものである。好ましい実施例で
は、6通りの4ストローク・ジェスチャが考えられ、い
ずれもタップ・ストロークで終了する。したがって、こ
の実施例では、ステップ1960で判定したように第4
のストロークがタップではない場合、ステップ1955
でテキストという最終スコアが与えられる。ステップ1
970で第4のストロークがタップであり、2つ以上の
分離矩形が存在する場合、このストロークは確実にテキ
ストなので、ステップ1965でそのようにスコアが付
けられる。そうではない場合、ステップ1980で境界
ボックス・スコアが不明に設定される。第4のストロー
クの場合、大ストロークについて通常行われるテスト
は、ステップ1975で曖昧さが存在し、境界ボックス
・スコアが不明である場合のみ行われる。少なくとも1
つの大ストロークが存在する場合、ステップ1985で
境界ボックス・スコアがジェスチャに変更される。ただ
し、ユーザが非常に大きく書いても、第4のストローク
がタップでなければ、そのストロークはテキストとして
のスコアが付けられることに留意されたい。第5のスト
ロークについても同じことが当てはまる。好ましい実施
例では、5ストローク・ジェスチャは1つだけであり、
それはE.(Eタップ)ジェスチャである。プロセス
は、図19に関連して前述した離昇プロセスに復帰す
る。
【0061】図24、図25、図26は、分離テスト・
プロセスの詳細を示している。分離テストは、なぐり書
きの最初の4ストロークについて行われることが好まし
い。ストローク・カウントが4を上回る場合、ステップ
2000のテストにより、ユーザはステップ2005で
離昇プロセスに復帰する。好ましい実施例で定義されて
いる5ストローク・ジェスチャは1つだけ、すなわち、
E.(Eタップ)ジェスチャだけなので、それをテキス
トと区別するために第5のストロークの境界ボックスを
処理する必要はない。以下に詳述する分離テスト・プロ
セスを要約すると、最初の4ストロークは、水平寸法に
ついてのみ、分離または間隔が検査される。これは、英
語や多くの言語が水平に書かれるからである。テキスト
は水平に広がる特徴を備えているが、ジェスチャにはな
い。この規則のあまり重要ではない例外としてはアップ
及びダウン・フリック・ジェスチャがあり、これらはわ
ずかな水平変位で描くこともできるが、この技法に対し
て悪い影響は一切及ぼさない。分離または水平間隔のテ
ストを行う場合、分離とは、ディスプレイの垂直軸全体
に沿って少なくとも0.040インチだけ分離したスト
ロークであると定義される。0.040インチの距離は
ディスプレイ上での2〜4ペルと同等である。現在、売
り出されているペン・ディジタイザは、通常、200〜
150ドット/インチの解像度を有し、ストローク間の
空間距離を非常に正確に決定することができる。間隔が
0.04未満のストロークが接触していると見なされる
理由は、ユーザの手書き文字の粗雑さに対処するためで
ある。「t」または「H」に横線を入れる場合、その横
棒は垂直ストロークの前から始まり、H.(Hタップ)
ジェスチャが「lt.」または「It.」になる場合が
多い。
【0062】最初の4ストロークを描くと、それらは分
離矩形によって表された別々のエンティティに分割され
る。新しいストロークを1つずつ処理するごとに、その
ストロークの境界ボックスは、それが接触している他の
ストロークの境界ボックスと結合される。4つのストロ
ークを描いた場合、分離矩形の最小数は1になるはずで
あり、4つの境界ボックスがいずれも接触していない場
合には最大数が4になるはずである。新しいストローク
がそれと接触する他のストロークと結合された後、それ
らが依然として分離しているかどうかを確認するために
分離矩形がテストされる。分離矩形が拡大して他の分離
矩形と接触すると、それらは結合され、分離矩形の数が
低減される。
【0063】この論理を検査すると、プロセスは、ステ
ップ2010でストローク間隔値または0.040イン
チと等しい量だけ境界ボックスを水平に拡大することか
ら始まる。この拡大プロセスについては、図11に関連
して前述した通りである。この矩形は、矩形の対向する
隅に位置する2つの直角座標(x左、y下)と(x右、
y上)を調整することにより、拡大される。好ましい一
実施例の(x左、y下)は矩形の起点でもある。
【0064】ステップ2015で第1のストロークを受
け取ると、それはステップ2030で分離矩形として保
管される。分離矩形のカウントはステップ2050で1
に設定される。次にステップ2020で第2の境界ボッ
クスが処理され、ステップ2035でそれらが交差する
かどうかを確認するために境界ボックスと第1の分離矩
形がテストされる。交差する場合、ステップ2055で
2つの矩形を合体または結合するために共通システム機
能を呼び出すことにより、それらが結合される。第2の
境界ボックスが分離している場合、ステップ2040で
第2の分離矩形が形成され、ステップ2045で分離矩
形の数が増分される。
【0065】ステップ2025のテストは、テストすべ
き第3のストロークがあるかどうかを判定するものであ
る。ある場合、図25で第3の境界ボックスが処理され
る。既存の分離矩形が1つだけ存在する場合、ステップ
2105で2つが交差するかどうかを確認するためにテ
ストが行われる。交差する場合、それらはステップ21
25で結合される。そうではない場合、ステップ211
5で第2の分離矩形が形成される。ステップ2135で
は分離矩形の数が増分される。
【0066】ステップ2100で複数の分離矩形が存在
し、ステップ2110で第3の境界ボックスがいずれか
1つと交差していない場合、ステップ2120で第3の
分離矩形が形成される。ステップ2130では分離矩形
のカウントが増分される。ステップ2140で第3の矩
形が既存の矩形の1つと交差する場合、それらが接触し
ていれば、ステップ2145で第3の矩形が第1の分離
矩形と結合される。また、ステップ2150でそれらが
接触していれば、ステップ2155で第3の矩形が第2
の分離矩形と結合される。次に、第3の境界ボックスの
処理後、ステップ2160でそれらが接触しているかど
うかを確認するために、残りの2つの分離矩形がテスト
される。ステップ2160でそれらの分離矩形が接触し
ていると判定された場合、ステップ2165でそれらが
結合される。分離矩形のカウントはステップ2170で
減分される。
【0067】第4の境界ボックスを処理する場合には、
同様の方法を使用する。図26では、3つの分離矩形が
存在する場合に多数のテストを行わなければならないの
で、個別ステップの代わりにソフトウェア・ループを使
用して、この処理を示している。図26では、ステップ
2200で第4の境界ボックスが既存の分離矩形のいず
れかと交差しない場合、ステップ2220で境界ボック
スが新しい分離矩形として保管され、ステップ2230
で分離矩形のカウントが増分される。ステップ2200
で第4の境界ボックスが1つまたは複数の分離矩形と交
差する場合、ステップ2210からステップ2240ま
でのループに入り、ステップ2240で現行の境界ボッ
クスはステップ2235でそれが接触する各分離矩形と
結合される。すべての既存分離矩形と照らし合わせて境
界ボックスをテストした後、別のループに入り、各分離
矩形が他の分離矩形の1つと接触しているかどうかを確
認するために、ステップ2260で各分離矩形が検査さ
れる。接触している場合、ステップ2265で2つの接
触矩形が結合される。ステップ2265で2つの分離矩
形が1つに結合されるたびに、ステップ2270で分離
矩形のカウントが減分される。ルーチンはステップ22
75で復帰する。
【0068】図27には、境界ボックスを水平方向に拡
大するためのプロセスが示されている。これは、ステッ
プ2310で境界ボックスの左側から値の半分を引き、
ステップ2320で右側に半分を加えることによって実
施される。境界ボックスを拡大すると、それらが0.0
40インチというストローク空間値より大きい距離だけ
分離されているかどうかをテストすることが容易にな
る。境界ボックスを同等に拡大するために、2320で
ストローク空間の半分、すなわち、0.020インチが
境界ボックスのx右値に加えられる。境界ボックスの左
側を拡大するためには、2310で境界ボックスのx左
値から0.020を引けるように負の方向に移動するこ
とが必要である。両側を0.020インチずつ拡大する
ことにより、2つの隣接境界ボックスが接触しない場
合、それらは元々0.040インチを上回る距離だけ分
離されていたことを意味する。ステップ2330で境界
ボックスが依然としてディスプレイの境界内にあること
を確認するためにx左値が検査される。ステップ234
0でそれが負になる場合、境界ボックスの左境界が0に
設定される。次に、ステップ2350でy下値が0に設
定され、ステップ2360でy上が最大センサ高に設定
され、矩形の交差及び合体を行うのがより容易になる。
ただし、好ましい実施例では、垂直間隔は検査されず、
重要ではないことに留意されたい。これは、ユーザが水
平方向にのみ書くことを想定しているからである。
【0069】ジェスチャしきい値 ジェスチャ記号とテキストとの曖昧さの解決を支援する
ため、また認識プロセスに対するユーザの制御権を強化
するため、なぐり書きが6ストローク未満のストローク
を含む場合でしかもストロークが大きく描かれた場合、
本発明により、そのなぐり書きは強制的にジェスチャと
して認識される。本発明は、ジェスチャ認識結果を強制
するのに十分な大きさのものとしてストロークを分類す
るのに使用するジェスチャしきいサイズを設定するため
の手段をユーザに提供するものである。ユーザがこのし
きいサイズを設定し、それに対する認識を維持すること
を覚えると、ジェスチャ/テキスト誤認識の発生数は大
幅に減少する。
【0070】ユーザが自分の特定の手書き文字サイズに
ついてジェスチャしきい値をカストマイズしないことを
選んだ場合、システムは、線ありまたは罫線付き手書き
入力パッドの設定がユーザの手書き文字のサイズを正確
に反映すると想定して、その設定を取り出すことができ
る。
【0071】たとえば、ユーザが行間隔を1/2インチ
に設定した場合、ジェスチャしきい値はこのサイズの1
50%または3/4インチとして計算されるはずであ
る。ジェスチャしきい値を正確に設定することは重要な
ことである。というのは、しきい値がユーザの実際の手
書き文字サイズに近すぎる場合、テキスト文字がジェス
チャ・コマンドとして認識される可能性があるからであ
る。
【0072】このようなジェスチャ・コマンドの結果、
使用中の現行アプリケーション上で不要かつ有害なアク
ションが実行される恐れがある。テキストの編集中また
は作成中に擬似ジェスチャ・コマンドが発生することは
非常にいらだたしいことである。これに対して、ジェス
チャしきい値が大きすぎる場合、ユーザは、アプリケー
ションの特定のタスクに集中しようとする際に不自然か
つ破壊的なほどジェスチャ記号を誇張して描かざるを得
ない。ジェスチャを必要以上にかなり大きく描かなけれ
ばならないことによる欠点の1つは、各ジェスチャに関
連してホット・スポットが発生することであり、ジェス
チャを入力する場合、ジェスチャ・コマンドのターゲッ
トになる予定のオブジェクトの上にホット・スポットを
正確に配置することが必要になることが多い。不自然に
大きいジェスチャを描くと、ホット・スポットの配置精
度が低下し、ジェスチャ・コマンドのターゲットミスが
発生する。過剰に長いストロークも、ストロークの処理
と認識プロセス中の両方で追加の計算負荷を発生する。
ユーザが迅速かつ正確にジェスチャを入力できることが
理想的である。
【0073】本発明は、手書き文字認識を監視し、その
結果から平均手書き文字サイズを計算することにより、
ジェスチャしきい値のサイズ決定を自動化しようとする
ものである。このプロセスを自動化すると、ユーザはそ
れを調整する義務から解放され、ユーザが自然にしかも
一貫して書くことを覚えると、自動化した方法によりよ
り厳重なしきい値が使用可能になる。
【0074】図28は、システム初期設定中にジェスチ
ャしきい値を設定する方法を示している。ステップ24
00でユーザがしきいサイズを手作業で設定する場合、
幅と高さはユーザ・プロファイルから問い合わせ、それ
らが格納されている測定単位であるインチからセンサ・
ドットに変換される。ジェスチャしきい値のサイズは、
手書き文字のサイズが人によって変動することを考慮す
るためにユーザが設定可能なものである。ジェスチャし
きい値のサイズはインチで指定され、システム・ブート
時及びいつでもユーザはジェスチャしきいサイズを変更
できる。センサ・ドットではなくインチを使用してしき
いサイズを指定すると、センサ・タイプまたはサイズと
は無関係に、確実にジェスチャしきい値が同じサイズに
なる。
【0075】ユーザがエンドユーザ・インタフェースを
介してジェスチャしきいサイズを設定しなかった場合、
ステップ2405で線あり手書き入力に使用するフォン
トの幅と高さに関する問合せを行う。ステップ2415
及び2425では、フォントの幅と高さに小さい係数
1.5と1.25を掛け、それらを拡大する。図8及び
図9は、線ありフォント・サイズを設定するために使用
可能なエンドユーザ・インタフェースの1つを示してい
る。フォント・サイズを設定することにより、ユーザは
行手書き入力ウィンドウで使用する行間隔を設定する。
ユーザが設定した間隔は、ユーザの通常の手書き文字サ
イズを適切に示すものである。高さと幅はそれぞれ50
%と25%分だけ拡大する。というのは、罫線なしウィ
ンドウに書き込む場合、ユーザの手書き文字を制限する
線がまったくないので、手書き文字が通常より大きくな
ることが多いからである。しきいサイズが得られると、
ステップ2430でそれがセンサ・ドットの単位で保管
される。次に、ユーザがジェスチャしきい値の自動設定
を可能にしたかどうかを確認するために、ステップ24
35のテストが行われる。可能にした場合、システム
は、ステップ2440でユーザの手書き文字サイズを動
的に決定するための環境をセットアップする。ただし、
上下のループによる書込み高さの特徴的な変動を反映す
るためにジェスチャしきい値を垂直方向により大きく設
定することは有用であることに留意されたい。
【0076】本発明を要約すると、任意の人の手書き文
字の平均高さは、認識された各単語の周囲に描かれた境
界ボックスの高さを測定することによって計算される。
ペン・サブシステムがなぐり書きを認識エンジンに渡す
場合、それは単にストロークの集合であり、そのそれぞ
れに専用の境界ボックスが付いている。認識プロセス中
に、ストロークは英字にグループ化され、次に英字は単
語にグループ化される。認識エンジンは、認識したテキ
スト・ストリングと各認識単語用の境界ボックス構造と
を含む結果バッファを返す。本発明が結果構造内の各境
界ボックスを処理する際に、各単語の英字と大文字/小
文字の区別が検査される。小文字ループまたはアポスト
ロフィまたは引用符などの句読点マークによって曲解さ
れた単語はフィルタで除去され、残りの単語境界ボック
スが平均化されるが、まだ検証されていない。本発明
は、ユーザがその認識の正確さに満足しているかどうか
を確認するためにテキスト・ストリングがアプリケーシ
ョンに送達されるまで待つ。ユーザが自分が書いたもの
を確実に把握した後、テキスト・ストリングに認識エラ
ーがある場合、本発明はどの単語が誤認識されたのかを
判定し、その単語に関連する境界ボックスが廃棄され
る。誤認識された単語は、ユーザが訂正対話または直接
編集によって訂正したときに本発明に把握される。変更
されたものを把握するために、テキストに対して訂正前
後の比較が行われる。本発明では訂正後の単語を得るこ
とができるが、以下の3つの理由によりそれを無視する
ことにしている。第1に、多くの訂正は単語ごとではな
く文字ごとに行われるからである。第2に、統計データ
収集には無効と見なされている正確さ向上のために、訂
正対話は通常、枠付きまたは線あり認識モードを使用し
て行われるからである。第3に、ユーザは、テキストの
編集または訂正時に自分の書込みサイズを変更すること
が多いからである。最良の統計データは、適切に句読点
が付けられた長く完全な文章から得られる。
【0077】図29は、枠付き、線あり、罫線なしの各
モードの複数の手書き入力パッド2500、2510、
2520を含む。枠付きモードと線ありモードは枠付き
パッド2500と線ありパッド2510に示されたユー
ザの手書き文字を制限するので、枠付きモードと線あり
モードの文字認識結果はすべて無視される。好ましい実
施例の本発明は、パッド2520に示す罫線なし入力の
認識結果のみに依存する。
【0078】図30は、小文字と大文字を列挙したもの
である。手書き文字は大幅に変動するが、2600、2
610、2620に描いた文字の形状は一般的な母集団
を表している。小文字は、上ループ2610を含むか下
ループ2620を含むかによってカテゴリ化される。本
発明は、ジェスチャをテキスト入力から区別するために
任意の人の平均手書き文字を厳密に決定しようとするも
のである。これは、なぐり書きのストローク・パターン
がテキストまたはジェスチャの特性を有するかどうかを
判定することによって行われる。この区別プロセスは、
各ストロークがペン・サブシステムによって処理される
たびにリアルタイムで行われるので、システムは認識を
行おうという試みを一切行わない。主な要件は、必ずし
も文字の平均高さではなく、文字内の任意のストローク
の平均高さを確認することである。このため、発明者ら
は、下ループ2620から構成される小文字を無視する
ことにした。
【0079】図37に示すように斜めに書いても文字認
識の正確さは影響を受けない。基線は非常に傾斜してい
るが、文字認識の前に認識エンジンによって正規化され
る。しかし、図36に示すように、本発明は平均書込み
サイズを決定するために単語の周囲に描いた境界ボック
スに依存しているので、傾斜手書き文字は廃棄するかま
たは個別に処理する必要がある。というのは、それによ
って境界ボックスの見かけサイズがゆがむからである。
図37に示すように、境界ボックス3370は、水平線
から30度傾斜して書くことによって発生したゆがみの
典型である。水平線から11.5度のときに引き起こさ
れるエラーの量は2パーセントなので、本発明では有効
な基線用のカットオフとして11.5度を使用する。
【0080】図38及び図39は、基線傾斜を測定する
ための方法を示している。各単語境界ボックス343
0、3440、3450、3460の近似起点を通って
1本の線が描かれ、その中のテキストは明確にするため
削除されているが、次にこの基線3410の角度が計算
される。好ましい一実施例では、11.5度を上回る傾
斜は一切考慮しない。
【0081】図43に示す代替実施例では、依然とし
て、認識エンジンから低レベルの文字境界ボックスを取
り出すことにより、平均サイズを計算することができ
る。文字境界ボックス3611、3612、3613、
3614は、関連の単語境界ボックス3604よりかな
り正確な結果をもたらす。本実施例ではこの技法を考慮
していないが、多数の境界ボックスを取り出し、適切な
フィルタを適用し、統計データを計算する際に過剰な量
の処理が消費される恐れがあるからである。
【0082】図40ないし図42は、訂正した結果が廃
棄される一連の事象を示している。ユーザは編集ウィン
ドウ3500に手書き文字入力3502を入力した。手
書き文字は認識されて編集ウィンドウ3506に表示さ
れ、ユーザは認識したテキスト3508を確認できるよ
うになる。単語「moon」3510は単語「noo
n」のスペルミスなので、ユーザは間違った文字の上に
「n」を書き、編集ウィンドウ3541は訂正した英字
3542を取り戻す。ユーザがOKボタン1145を押
すと、テキスト3560がアプリケーションに送られ
る。ただし、テキストをアプリケーションに経路指定す
る前に、本発明はスペルミスした単語の境界ボックスを
無効にし、それを廃棄している。
【0083】次に図31を参照すると、本発明の好まし
い実施例の論理の流れを詳細に検討することができる。
このプログラム論理は、Pen For OS/2の認識エンジンが
ストロークの集合について認識プロセスを完了するたび
に制御を受け取る。ステップ2700では、文字認識の
タイプの問合せが行われる。本発明は線なし手書き文字
を処理する際に最も効果的であり、認識タイプが線なし
ではない場合、このルーチンはステップ2735で終了
する。次に、ステップ2705でシステムがテキストの
訂正中であるかどうかを判定するためにテストが行われ
る。訂正シーケンス中に入力した手書き文字はユーザの
通常の手書き文字を表していない場合が多いので、その
ような入力も廃棄される。ステップ2710で認識エン
ジンからの結果がジェスチャとテキストの両方を含む場
合、平均化に適していない5ストローク以下のストロー
クが収集されたことを意味し、ステップ2735でルー
チンが終了する。平均高を計算できるように、上記のフ
ィルタを通過するテキストはステップ2715で処理さ
れる。
【0084】図32に示すテキスト処理ルーチンは、内
部ループ2800と外部ループ2814とから構成さ
れ、そのループが1行の各単語及びテキストの各行をそ
れぞれ順に処理する。ステップ2805では、テキスト
のその行の第1の境界ボックスと最後の境界ボックスの
起点の問合せが行われる。次にステップ2808では、
共通三角法ライブラリ・ルーチンを呼び出すことによっ
て実行されるが、2つの直角座標が極座標に変換され
る。その結果得られるベクトルは、ラジアンから水平線
からの度数に変換される。ステップ2810でこの特定
の行の基線が傾斜パラメータの範囲内である場合、ステ
ップ2815で内部ループに入り、不適当な単語及び記
号をフィルタで除去するために3つのテストが行われ
る。ステップ2820では下ループを備えた小文字を含
む単語がテストされ、ステップ2825では引用符また
はアポストロフィを含む単語がテストされ、ステップ2
830では感嘆符または疑問符が分離される。これらの
条件のいずれかによって特定の境界ボックスが拒否さ
れ、ステップ2815でループが反復する。1つの単語
が3つのテストすべてに合格した場合、ステップ283
5でy上からy下を引くことにより、境界ボックスの高
さが測定される。各単語が処理されるまで、1行分のテ
キスト全体にわたって内部ループが反復する。ステップ
2840では、すべての有効な境界ボックスの高さがま
とめて平均化され、ステップ2805で次の行のテキス
トまで外部ループが反復する。最後の行のテキストが処
理されると、ループはステップ2845に移行し、そこ
ですべての行の高さがまとめて平均化される。2850
でテストしたように有効な単語または境界ボックスの総
数が4を上回る場合、ジェスチャしきい値が更新された
ときに後で結果に重みを付けるためにフラグが設定され
る。手書き入力のコンテキストが明確ではないために単
語が3つ未満である場合、ステップ2855で結果に重
みが付けられない。ルーチンはステップ2870で復帰
する。
【0085】図31を参照すると、ステップ2715で
手書き文字高を計算するために認識したテキストを処理
した後、ステップ2730でその結果がターゲット・ア
プリケーションに送られる。そのアプリケーション用に
編集ウィンドウが使用可能になっている場合、アプリケ
ーションがテキスト・ストリングを検出する前にそのウ
ィンドウが表示され、ステップ2725のテストは真に
なる。認識したテキストがエラーを含んでいる可能性が
あるので、測定した境界ボックスを検証することはでき
ず、ステップ2730でジェスチャしきい値を更新する
ための呼出しは迂回される。プロセスはステップ273
5で終了する。
【0086】訂正シナリオが一切行われない場合、図3
3に示すようにジェスチャしきい値を更新するためのサ
ブルーチンが呼び出される。本発明では10個の項目を
含むサイズ決定テーブル2975を使用するが、それぞ
れの項目は、なぐり書きまたはストロークの集合の計算
済み平均高である。ステップ2900で最新のサンプル
に重みを付ける場合、そのプロセスはテーブル内の最も
古い2つの項目を置き換える。そうではない場合、それ
は最も古い項目を置き換えるだけである。このプロセス
は、小さい方の手書き文字サンプルに大きい方のサンプ
ルの重みの半分を与える。次にステップ2915でテー
ブル内のすべての項目が平均化され、ステップ2920
でその結果に1.5を掛けることにより、ジェスチャ高
さが計算される。次に、ステップ2925でその高さに
0.8または80%を掛けることにより、Xまたはジェ
スチャの幅値が計算される。この新しい値は、次の書込
みモーダリティでただちに使用される。次に更新ルーチ
ンはステップ2930で呼出し側に復帰し、呼出し側が
現行プロセスを終了する。
【0087】ターゲット・ウィンドウに結果を送ってい
る間に編集ウィンドウが作成された場合、訂正対話の活
動化という図34のルーチンは、ウィンドウ作成の一部
として呼び出されているはずである。その時点でプログ
ラムはステップ3000でシステム・フラグを設定して
訂正対話の開始を通知し、ステップ3005で入力テキ
スト・ストリングを保管し、ステップ3010で結果の
一部として認識エンジン用に受け取った境界ボックスの
アレイを保管しているはずである。これは、ユーザが認
識したテキストに対してどのような変更を行ったのかを
本発明が判定できるようにするために行われる。
【0088】ユーザが最終的に編集ウィンドウを終了す
ると、本発明はもう一度制御権を獲得し、訂正モーダリ
ティを通知するシステム・フラグがステップ3050で
リセットされる。ステップ3055でユーザがテキスト
に対して一切変更を行っていない場合、ルーチンは終了
し、ストリングをアプリケーション1140に渡すこと
ができるようになる。そうではない場合、ステップ30
60で出力ストリングが入力ストリングと比較され、比
較ミスごとに関連の境界ボックスが無効になる。ストリ
ングの完全性比較が完了した後、ステップ3070で元
のテキストのいずれかがそのまま存続しているかどうか
を確認するために残りのテキストが比較される。存続し
ていない場合、プロセスはステップ3090で終了す
る。ステップ3075でそれが4未満になるかどうかを
確認するために合計カウントがテストされ、4未満にな
る場合、ステップ3080で重みフラグがなしに設定さ
れる。次にステップ3085でジェスチャしきい値ルー
チンが呼び出され、ステップ3090でプロセスが終了
する。
【0089】本発明に関連する2つの追加プロセスを図
35に示す。これらのプロセスは、システムが最初にブ
ート・アップしたときと、新しいユーザが自分のジェス
チャしきい値のロードを要求するたびに制御権を獲得す
る。ブート時には、ステップ3100でユーザのしきい
値がプロファイルから取り出される。ステップ3105
でそれが検出された場合、ステップ3115でサイズ決
定テーブルのすべての項目にそれが入っている。ジェス
チャしきい値が検出されなかった場合、3110でシス
テム・デフォルト・ジェスチャしきい値が使用される。
ステップ3115でサイズ決定テーブルの項目に入れ
る。プロセスはステップ3120で終了する。
【0090】ユーザが自分のジェスチャしきい値のロー
ドを要求すると、システムはまずステップ3150で、
現行ユーザのプロファイル下で現行のものを保管すべき
かどうかを問い合わせる。保管すべき場合、ステップ3
155でそれが保管され、ステップ3160で新しいユ
ーザのジェスチャしきい値がプロファイルから取り出さ
れる。ステップ3165のテストでジェスチャしきい値
が検出されない場合、もう一度、ステップ3170でシ
ステム・デフォルトが使用され、ステップ3175でそ
れに応じてサイズ決定テーブルが初期設定される。
【0091】特定の実施例について開示してきたが、本
発明の精神及び範囲を逸脱せずにこのような特定の実施
例に対して変更を加えることができることは、当業者で
あれば分かるだろう。さらに、このような実施例は、例
示のみを目的とするものであり、本発明の範囲を制限し
たり、特許請求の範囲を狭めるためのものであると解釈
してはならない。
【0092】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0093】(1)ペンベース・コンピュータでジェス
チャと手書き文字入力とを区別するために方法におい
て、コンピュータへのペン入力装置から1組のストロー
クを検出するステップと、各ストロークのサイズを計算
するステップと、所定の数のストロークがジェスチャし
きいサイズを超える場合に1組のストロークをジェスチ
ャ入力としてカテゴリ化するステップとを含むことを特
徴とする方法。 (2)ユーザがジェスチャしきいサイズを手作業で設定
できるようにするステップをさらに含むことを特徴とす
る、上記(1)に記載の方法。 (3)ユーザがジェスチャしきいサイズを手作業で設定
していない場合にデフォルト・ジェスチャしきいサイズ
を使用するステップをさらに含むことを特徴とする、上
記(2)に記載の方法。 (4)手書き文字入力設定に関する情報を求めて、コン
ピュータ内に常駐するアプリケーションに対して問合せ
を行うステップと、ユーザがジェスチャしきいサイズを
手作業で設定していない場合に手書き文字入力設定に基
づいてデフォルト・ジェスチャしきいサイズを計算する
ステップとをさらに含むことを特徴とする、上記(2)
に記載の方法。 (5)手書き文字入力の平均サイズを求めて、コンピュ
ータ・システムのユーザのために手書き文字入力を分析
するステップと、手書き文字入力の平均サイズに基づい
てデフォルト・ジェスチャしきいサイズを計算するステ
ップとをさらに含むことを特徴とする、上記(2)に記
載の方法。 (6)計算したデフォルト・ジェスチャしきいサイズと
ともにユーザIDを格納するステップと、複数のユーザ
が個々の計算したデフォルト・ジェスチャしきいサイズ
を有するように、第2のユーザのために前記分析ステッ
プ、計算ステップ、格納ステップを繰り返すステップと
をさらに含むことを特徴とする、上記(5)に記載の方
法。 (7)前記分析ステップが、テキスト文字として認識さ
れた各組のストロークの周囲に境界ボックスを描くステ
ップと、所与の単語内の各テキスト文字の境界ボックス
を単一の単語境界ボックスに結合するステップと、複数
の単語境界ボックスの高さを測定するステップと、平均
手書き文字高さを求めて、単語境界ボックスの高さを平
均化するステップとをさらに含むことを特徴とする、上
記(5)に記載の方法。 (8)ユーザが斜線に沿って手書き文字を入力すること
を特徴とする、上記(7)に記載の方法。 (9)前記分析ステップから無関係なストロークが省略
されることを特徴とする、上記(5)に記載の方法。 (10)1組のストロークがジェスチャ入力としてカテ
ゴリ化されるように、すべてのストロークがジェスチャ
しきいサイズを超えていなければならないことを特徴と
する、上記(1)に記載の方法。 (11)1組のストロークがジェスチャ入力としてカテ
ゴリ化されるように、1組のストロークのうちの最後の
入力ストロークがタップしきいサイズより小さくなけれ
ばならないことを特徴とする、上記(1)に記載の方
法。 (12)プロセッサと、メモリと、ディスプレイと、ペ
ン入力装置とを含み、ジェスチャと手書き文字入力とを
区別するためのシステムにおいて、コンピュータへのペ
ン入力装置から1組のストロークを検出する手段と、各
ストロークのサイズを計算する手段と、所定の数のスト
ロークがジェスチャしきいサイズを超える場合に1組の
ストロークをジェスチャ入力としてカテゴリ化する手段
とをさらに含むことを特徴とするシステム。 (13)ユーザがジェスチャしきいサイズを手作業で設
定できるようにする手段と、ユーザがジェスチャしきい
サイズを手作業で設定していない場合にデフォルト・ジ
ェスチャしきいサイズを使用する手段をさらに含むこと
を特徴とする、上記(12)に記載のシステム。 (14)手書き文字入力設定に関する情報を求めて、コ
ンピュータ内に常駐するアプリケーションに対して問合
せを行う手段と、ユーザがジェスチャしきいサイズを手
作業で設定していない場合に手書き文字入力設定に基づ
いてデフォルト・ジェスチャしきいサイズを計算する手
段とをさらに含むことを特徴とする、上記(13)に記
載のシステム。 (15)手書き文字入力の平均サイズを求めて、コンピ
ュータ・システムのユーザのために手書き文字入力を分
析する手段と、手書き文字入力の平均サイズに基づいて
デフォルト・ジェスチャしきいサイズを計算する手段と
をさらに含むことを特徴とする、上記(13)に記載の
システム。 (16)計算したデフォルト・ジェスチャしきいサイズ
とともにユーザIDを格納する手段をさらに含み、複数
のユーザが個々の計算したデフォルト・ジェスチャしき
いサイズを有するように、前記分析手段、計算手段、格
納手段によって第2のユーザの手書き文字が処理される
ことを特徴とする、上記(15)に記載のシステム。 (17)前記分析手段が、テキスト文字として認識され
た各組のストロークの周囲に境界ボックスを描く手段
と、所与の単語内の各テキスト文字の境界ボックスを単
一の単語境界ボックスに結合する手段と、複数の単語境
界ボックスの高さを測定する手段と、平均手書き文字高
さを求めて、単語境界ボックスの高さを平均化する手段
とをさらに含むことを特徴とする、上記(15)に記載
のシステム。 (18)ユーザが斜線に沿って手書き文字を入力するこ
とを特徴とする、上記(17)に記載のシステム。 (19)前記分析ステップから無関係なストロークが省
略されることを特徴とする、上記(15)に記載のシス
テム。 (20)1組のストロークがジェスチャ入力としてカテ
ゴリ化されるように、すべてのストロークがジェスチャ
しきいサイズを超えていなければならないことを特徴と
する、上記(12)に記載のシステム。 (21)コンピュータで読取り可能な媒体上にあって、
コンピュータへのジェスチャと手書き文字入力とを区別
するためのコンピュータ・プログラム製品において、コ
ンピュータへのペン入力装置から1組のストロークを検
出する手段と、各ストロークのサイズを計算する手段
と、所定の数のストロークがジェスチャしきいサイズを
超える場合に1組のストロークをジェスチャ入力として
カテゴリ化する手段とをさらに含むことを特徴とするコ
ンピュータ・プログラム製品。 (22)ユーザがジェスチャしきいサイズを手作業で設
定できるようにする手段と、ユーザがジェスチャしきい
サイズを手作業で設定していない場合にデフォルト・ジ
ェスチャしきいサイズを使用する手段をさらに含むこと
を特徴とする、上記(21)に記載の製品。 (23)手書き文字入力設定に関する情報を求めて、コ
ンピュータ内に常駐するアプリケーションに対して問合
せを行う手段と、ユーザがジェスチャしきいサイズを手
作業で設定していない場合に手書き文字入力設定に基づ
いてデフォルト・ジェスチャしきいサイズを計算する手
段とをさらに含むことを特徴とする、上記(22)に記
載の製品。 (24)手書き文字入力の平均サイズを求めて、コンピ
ュータ・システムのユーザのために手書き文字入力を分
析する手段と、手書き文字入力の平均サイズに基づいて
デフォルト・ジェスチャしきいサイズを計算する手段と
をさらに含むことを特徴とする、上記(22)に記載の
製品。 (25)計算したデフォルト・ジェスチャしきいサイズ
とともにユーザIDを格納する手段をさらに含み、複数
のユーザが個々の計算したデフォルト・ジェスチャしき
いサイズを有するように、前記分析手段、計算手段、格
納手段によって第2のユーザの手書き文字が処理される
ことを特徴とする、上記(24)に記載の製品。 (26)前記分析手段が、テキスト文字として認識され
た各組のストロークの周囲に境界ボックスを描く手段
と、所与の単語内の各テキスト文字の境界ボックスを単
一の単語境界ボックスに結合する手段と、複数の単語境
界ボックスの高さを測定する手段と、平均手書き文字高
さを求めて、単語境界ボックスの高さを平均化する手段
とをさらに含むことを特徴とする、上記(24)に記載
の製品。 (27)ユーザが斜線に沿って手書き文字を入力するこ
とを特徴とする、上記(26)に記載の製品。 (28)前記分析ステップから無関係なストロークが省
略されることを特徴とする、上記(27)に記載の製
品。 (29)1組のストロークがジェスチャ入力としてカテ
ゴリ化されるように、すべてのストロークがジェスチャ
しきいサイズを超えていなければならないことを特徴と
する、上記(21)に記載の製品。 (30)1組のストロークがジェスチャ入力としてカテ
ゴリ化されるように、1組のストロークのうちの最後の
入力ストロークがタップしきいサイズより小さくなけれ
ばならないことを特徴とする、上記(21)に記載の製
品。
【図面の簡単な説明】
【図1】本発明によるコンピュータ・システムのハード
ウェア・ブロック図である。
【図2】本発明の主要ソフトウェア構成要素のアーキテ
クチャ・ブロック図である。
【図3】本発明の好ましい実施例においてペンベース入
力装置が使用可能な記号及び英字ジェスチャの一部を示
す図である。
【図4】手書き文字認識において英字と混同される可能
性のあるジェスチャの一部を示す図である。
【図5】手書き文字とジェスチャとを区別するための境
界ボックス・スコアの概念を示す図である。
【図6】手書き文字とジェスチャとを区別するための境
界ボックス・スコアの概念を示す図である。
【図7】手書き文字とジェスチャとを区別するための境
界ボックス・スコアの概念を示す図である。
【図8】ユーザが所望の手書き文字入力サイズを決定で
きるようにするために可能なユーザ・インタフェースの
1つを示す図である。
【図9】ユーザが所望の手書き文字入力サイズを決定で
きるようにするために可能なユーザ・インタフェースの
1つを示す図である。
【図10】ジェスチャ及び手書き文字認識の完了時にア
プリケーションに送られる認識結果のデータ構造を示す
図である。
【図11】本発明のジェスチャ及び手書き文字認識に使
用する境界ボックスの矩形を示す図である。
【図12】本発明において英字と英字ジェスチャとを区
別するために使用可能なタップと、許容タップ・サイズ
と、最小ジェスチャ・サイズとを示す図である。
【図13】スタイラス着地感知手順の流れ図である。
【図14】ペンが動いている間の境界ボックス手順の流
れ図である。
【図15】認識モード設定手順の流れ図である。
【図16】手書き文字及びジェスチャ認識の手順を示す
図である。
【図17】アプリケーションにより入力された手書き文
字またはジェスチャを処理するためのプロセスを示す図
である。
【図18】手書き文字及びジェスチャのタイムアウト値
を調整するための手順を示す図である。
【図19】スタイラス離昇手順の流れ図である。
【図20】書込み事象の終了時のプロセスを示す図であ
る。
【図21】境界ボックス・プロセスの流れ図である。
【図22】境界ボックス・プロセスの流れ図である。
【図23】境界ボックス・プロセスの流れ図である。
【図24】ジェスチャとテキストとを区別するために使
用する分離プロセス用の検査を示す図である。
【図25】ジェスチャとテキストとを区別するために使
用する分離プロセス用の検査を示す図である。
【図26】ジェスチャとテキストとを区別するために使
用する分離プロセス用の検査を示す図である。
【図27】境界ボックスを水平方向に拡大するためのプ
ロセスを示す図である。
【図28】ジェスチャのしきいサイズを初期設定するた
めの流れ図である。
【図29】枠付きモード、線ありモード、線なしモード
の手書き入力パッドを示す図である。
【図30】手書き英字を示す図である。
【図31】本発明の好ましい実施例を示す図である。
【図32】本発明の好ましい実施例を示す図である。
【図33】本発明の好ましい実施例を示す図である。
【図34】本発明の好ましい実施例を示す図である。
【図35】本発明の好ましい実施例を示す図である。
【図36】認識した各単語境界ボックスが表示されてい
る手書き文字を含む編集ウィンドウを示す図である。
【図37】急角度で書かれた手書き文字を含む編集ウィ
ンドウを示す図である。
【図38】手書き文字を含む編集ウィンドウを示す図で
ある。
【図39】手書き文字を含む編集ウィンドウを示す図で
ある。
【図40】間違って認識され、編集ウィンドウの対話に
よって訂正される手書き文字入力を示す一連のウィンド
ウを示す図である。
【図41】間違って認識され、編集ウィンドウの対話に
よって訂正される手書き文字入力を示す一連のウィンド
ウを示す図である。
【図42】間違って認識され、編集ウィンドウの対話に
よって訂正される手書き文字入力を示す一連のウィンド
ウを示す図である。
【図43】本発明の代替実施例の線なしモードの手書き
入力パッドを示す図であり、基線が傾斜しているので、
単語内の各文字の境界ボックスを使用することによって
平均文字高が計算される。
【符号の説明】
10 パーソナル・コンピュータ・システム 11 プロセッサ 13 中央演算処理装置(CPU) 15 ランダム・アクセス・メモリ 17 ハード・ディスク記憶装置 19 フロッピー・ディスク装置 21 ディスケット 23 ディスプレイ 25 キーボード 27 マウス 29 ペンまたはスタイラス 31 プリンタ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 モーリス・ロジャー・デロシェ アメリカ合衆国32940 フロリダ州メルバ ーン エグレット・レイク・ウェイ 1070

Claims (30)

    【特許請求の範囲】
  1. 【請求項1】ペンベース・コンピュータでジェスチャと
    手書き文字入力とを区別するために方法において、 コンピュータへのペン入力装置から1組のストロークを
    検出するステップと、 各ストロークのサイズを計算するステップと、 所定の数のストロークがジェスチャしきいサイズを超え
    る場合に1組のストロークをジェスチャ入力としてカテ
    ゴリ化するステップとを含むことを特徴とする方法。
  2. 【請求項2】ユーザがジェスチャしきいサイズを手作業
    で設定できるようにするステップをさらに含むことを特
    徴とする、請求項1に記載の方法。
  3. 【請求項3】ユーザがジェスチャしきいサイズを手作業
    で設定していない場合にデフォルト・ジェスチャしきい
    サイズを使用するステップをさらに含むことを特徴とす
    る、請求項2に記載の方法。
  4. 【請求項4】手書き文字入力設定に関する情報を求め
    て、コンピュータ内に常駐するアプリケーションに対し
    て問合せを行うステップと、 ユーザがジェスチャしきいサイズを手作業で設定してい
    ない場合に手書き文字入力設定に基づいてデフォルト・
    ジェスチャしきいサイズを計算するステップとをさらに
    含むことを特徴とする、請求項2に記載の方法。
  5. 【請求項5】手書き文字入力の平均サイズを求めて、コ
    ンピュータ・システムのユーザのために手書き文字入力
    を分析するステップと、 手書き文字入力の平均サイズに基づいてデフォルト・ジ
    ェスチャしきいサイズを計算するステップとをさらに含
    むことを特徴とする、請求項2に記載の方法。
  6. 【請求項6】計算したデフォルト・ジェスチャしきいサ
    イズとともにユーザIDを格納するステップと、 複数のユーザが個々の計算したデフォルト・ジェスチャ
    しきいサイズを有するように、第2のユーザのために前
    記分析ステップ、計算ステップ、格納ステップを繰り返
    すステップとをさらに含むことを特徴とする、請求項5
    に記載の方法。
  7. 【請求項7】前記分析ステップが、 テキスト文字として認識された各組のストロークの周囲
    に境界ボックスを描くステップと、 所与の単語内の各テキスト文字の境界ボックスを単一の
    単語境界ボックスに結合するステップと、 複数の単語境界ボックスの高さを測定するステップと、 平均手書き文字高さを求めて、単語境界ボックスの高さ
    を平均化するステップとをさらに含むことを特徴とす
    る、請求項5に記載の方法。
  8. 【請求項8】ユーザが斜線に沿って手書き文字を入力す
    ることを特徴とする、請求項7に記載の方法。
  9. 【請求項9】前記分析ステップから無関係なストローク
    が省略されることを特徴とする、請求項5に記載の方
    法。
  10. 【請求項10】1組のストロークがジェスチャ入力とし
    てカテゴリ化されるように、すべてのストロークがジェ
    スチャしきいサイズを超えていなければならないことを
    特徴とする、請求項1に記載の方法。
  11. 【請求項11】1組のストロークがジェスチャ入力とし
    てカテゴリ化されるように、1組のストロークのうちの
    最後の入力ストロークがタップしきいサイズより小さく
    なければならないことを特徴とする、請求項1に記載の
    方法。
  12. 【請求項12】プロセッサと、メモリと、ディスプレイ
    と、ペン入力装置とを含み、ジェスチャと手書き文字入
    力とを区別するためのシステムにおいて、 コンピュータへのペン入力装置から1組のストロークを
    検出する手段と、 各ストロークのサイズを計算する手段と、 所定の数のストロークがジェスチャしきいサイズを超え
    る場合に1組のストロークをジェスチャ入力としてカテ
    ゴリ化する手段とをさらに含むことを特徴とするシステ
    ム。
  13. 【請求項13】ユーザがジェスチャしきいサイズを手作
    業で設定できるようにする手段と、 ユーザがジェスチャしきいサイズを手作業で設定してい
    ない場合にデフォルト・ジェスチャしきいサイズを使用
    する手段をさらに含むことを特徴とする、請求項12に
    記載のシステム。
  14. 【請求項14】手書き文字入力設定に関する情報を求め
    て、コンピュータ内に常駐するアプリケーションに対し
    て問合せを行う手段と、 ユーザがジェスチャしきいサイズを手作業で設定してい
    ない場合に手書き文字入力設定に基づいてデフォルト・
    ジェスチャしきいサイズを計算する手段とをさらに含む
    ことを特徴とする、請求項13に記載のシステム。
  15. 【請求項15】手書き文字入力の平均サイズを求めて、
    コンピュータ・システムのユーザのために手書き文字入
    力を分析する手段と、 手書き文字入力の平均サイズに基づいてデフォルト・ジ
    ェスチャしきいサイズを計算する手段とをさらに含むこ
    とを特徴とする、請求項13に記載のシステム。
  16. 【請求項16】計算したデフォルト・ジェスチャしきい
    サイズとともにユーザIDを格納する手段をさらに含
    み、 複数のユーザが個々の計算したデフォルト・ジェスチャ
    しきいサイズを有するように、前記分析手段、計算手
    段、格納手段によって第2のユーザの手書き文字が処理
    されることを特徴とする、請求項15に記載のシステ
    ム。
  17. 【請求項17】前記分析手段が、 テキスト文字として認識された各組のストロークの周囲
    に境界ボックスを描く手段と、 所与の単語内の各テキスト文字の境界ボックスを単一の
    単語境界ボックスに結合する手段と、 複数の単語境界ボックスの高さを測定する手段と、 平均手書き文字高さを求めて、単語境界ボックスの高さ
    を平均化する手段とをさらに含むことを特徴とする、請
    求項15に記載のシステム。
  18. 【請求項18】ユーザが斜線に沿って手書き文字を入力
    することを特徴とする、請求項17に記載のシステム。
  19. 【請求項19】前記分析ステップから無関係なストロー
    クが省略されることを特徴とする、請求項15に記載の
    システム。
  20. 【請求項20】1組のストロークがジェスチャ入力とし
    てカテゴリ化されるように、すべてのストロークがジェ
    スチャしきいサイズを超えていなければならないことを
    特徴とする、請求項12に記載のシステム。
  21. 【請求項21】コンピュータで読取り可能な媒体上にあ
    って、コンピュータへのジェスチャと手書き文字入力と
    を区別するためのコンピュータ・プログラム製品におい
    て、 コンピュータへのペン入力装置から1組のストロークを
    検出する手段と、 各ストロークのサイズを計算する手段と、 所定の数のストロークがジェスチャしきいサイズを超え
    る場合に1組のストロークをジェスチャ入力としてカテ
    ゴリ化する手段とをさらに含むことを特徴とするコンピ
    ュータ・プログラム製品。
  22. 【請求項22】ユーザがジェスチャしきいサイズを手作
    業で設定できるようにする手段と、 ユーザがジェスチャしきいサイズを手作業で設定してい
    ない場合にデフォルト・ジェスチャしきいサイズを使用
    する手段をさらに含むことを特徴とする、請求項21に
    記載の製品。
  23. 【請求項23】手書き文字入力設定に関する情報を求め
    て、コンピュータ内に常駐するアプリケーションに対し
    て問合せを行う手段と、 ユーザがジェスチャしきいサイズを手作業で設定してい
    ない場合に手書き文字入力設定に基づいてデフォルト・
    ジェスチャしきいサイズを計算する手段とをさらに含む
    ことを特徴とする、請求項22に記載の製品。
  24. 【請求項24】手書き文字入力の平均サイズを求めて、
    コンピュータ・システムのユーザのために手書き文字入
    力を分析する手段と、 手書き文字入力の平均サイズに基づいてデフォルト・ジ
    ェスチャしきいサイズを計算する手段とをさらに含むこ
    とを特徴とする、請求項22に記載の製品。
  25. 【請求項25】計算したデフォルト・ジェスチャしきい
    サイズとともにユーザIDを格納する手段をさらに含
    み、 複数のユーザが個々の計算したデフォルト・ジェスチャ
    しきいサイズを有するように、前記分析手段、計算手
    段、格納手段によって第2のユーザの手書き文字が処理
    されることを特徴とする、請求項24に記載の製品。
  26. 【請求項26】前記分析手段が、 テキスト文字として認識された各組のストロークの周囲
    に境界ボックスを描く手段と、 所与の単語内の各テキスト文字の境界ボックスを単一の
    単語境界ボックスに結合する手段と、 複数の単語境界ボックスの高さを測定する手段と、 平均手書き文字高さを求めて、単語境界ボックスの高さ
    を平均化する手段とをさらに含むことを特徴とする、請
    求項24に記載の製品。
  27. 【請求項27】ユーザが斜線に沿って手書き文字を入力
    することを特徴とする、請求項26に記載の製品。
  28. 【請求項28】前記分析ステップから無関係なストロー
    クが省略されることを特徴とする、請求項27に記載の
    製品。
  29. 【請求項29】1組のストロークがジェスチャ入力とし
    てカテゴリ化されるように、すべてのストロークがジェ
    スチャしきいサイズを超えていなければならないことを
    特徴とする、請求項21に記載の製品。
  30. 【請求項30】1組のストロークがジェスチャ入力とし
    てカテゴリ化されるように、1組のストロークのうちの
    最後の入力ストロークがタップしきいサイズより小さく
    なければならないことを特徴とする、請求項21に記載
    の製品。
JP14496297A 1996-06-14 1997-06-03 コンピュータでジェスチャと手書き文字を区別する方法及びシステム Expired - Lifetime JP3762818B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/665,129 US5862256A (en) 1996-06-14 1996-06-14 Distinguishing gestures from handwriting in a pen based computer by size discrimination
US08/665129 1996-06-14

Publications (2)

Publication Number Publication Date
JPH1083245A true JPH1083245A (ja) 1998-03-31
JP3762818B2 JP3762818B2 (ja) 2006-04-05

Family

ID=24668836

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14496297A Expired - Lifetime JP3762818B2 (ja) 1996-06-14 1997-06-03 コンピュータでジェスチャと手書き文字を区別する方法及びシステム

Country Status (2)

Country Link
US (1) US5862256A (ja)
JP (1) JP3762818B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006085703A (ja) * 2004-09-13 2006-03-30 Microsoft Corp フリックジェスチャ
JP2010009426A (ja) * 2008-06-27 2010-01-14 Canon Inc 情報処理装置及び情報処理方法
KR20140107135A (ko) * 2013-02-27 2014-09-04 가시오게산키 가부시키가이샤 제스처 조작을 검출하는 데이터 처리 장치

Families Citing this family (107)

* 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
EP1717677B1 (en) * 1998-01-26 2015-06-17 Apple Inc. Method and apparatus for integrating manual input
US6337698B1 (en) * 1998-11-20 2002-01-08 Microsoft Corporation Pen-based interface for a notepad computer
US6333995B1 (en) * 1999-01-29 2001-12-25 International Business Machines Corporation System and methods for providing robust keyword selection in a personal digital notepad
US7904187B2 (en) 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
US6384815B1 (en) * 1999-02-24 2002-05-07 Hewlett-Packard Company Automatic highlighting tool for document composing and editing software
US6396523B1 (en) 1999-07-29 2002-05-28 Interlink Electronics, Inc. Home entertainment device remote control
US6765557B1 (en) 2000-04-10 2004-07-20 Interlink Electronics, Inc. Remote control having touch pad to screen mapping
US6903730B2 (en) * 2000-11-10 2005-06-07 Microsoft Corporation In-air gestures for electromagnetic coordinate digitizers
US6990639B2 (en) 2002-02-07 2006-01-24 Microsoft Corporation System and process for controlling electronic components in a ubiquitous computing environment using multimodal integration
US7925987B2 (en) * 2002-05-14 2011-04-12 Microsoft Corporation Entry and editing of electronic ink
US20030214531A1 (en) * 2002-05-14 2003-11-20 Microsoft Corporation Ink input mechanisms
US8166388B2 (en) 2002-05-14 2012-04-24 Microsoft Corporation Overlaying electronic ink
US7096432B2 (en) * 2002-05-14 2006-08-22 Microsoft Corporation Write anywhere tool
US20030214553A1 (en) * 2002-05-14 2003-11-20 Microsoft Corporation Ink regions in an overlay control
US7158675B2 (en) * 2002-05-14 2007-01-02 Microsoft Corporation Interfacing with ink
US7072514B1 (en) * 2003-02-06 2006-07-04 The United States Of America As Represented By The National Security Agency Method of distinguishing handwritten and machine-printed images
US20040240739A1 (en) * 2003-05-30 2004-12-02 Lu Chang Pen gesture-based user interface
US7424154B2 (en) * 2003-11-10 2008-09-09 Microsoft Corporation Boxed and lined input panel
US8442331B2 (en) * 2004-02-15 2013-05-14 Google Inc. Capturing text from rendered documents using supplemental information
US7707039B2 (en) 2004-02-15 2010-04-27 Exbiblio B.V. Automatic modification of web pages
US20060053097A1 (en) * 2004-04-01 2006-03-09 King Martin T Searching and accessing documents on private networks for use with captures from rendered documents
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
US20060041484A1 (en) * 2004-04-01 2006-02-23 King Martin T Methods and systems for initiating application processes by data capture from rendered documents
US10635723B2 (en) 2004-02-15 2020-04-28 Google Llc Search engines and systems with handheld document data capture devices
US20060122983A1 (en) * 2004-12-03 2006-06-08 King Martin T Locating electronic instances of documents based on rendered instances, document fragment digest generation, and digest based document fragment determination
US20060041605A1 (en) * 2004-04-01 2006-02-23 King Martin T Determining actions involving captured information and electronic content associated with rendered documents
US9143638B2 (en) 2004-04-01 2015-09-22 Google Inc. Data capture from rendered documents using handheld device
US20060098900A1 (en) 2004-09-27 2006-05-11 King Martin T Secure data gathering from rendered documents
US7990556B2 (en) * 2004-12-03 2011-08-02 Google Inc. Association of a portable scanner with input/output and storage devices
US20080313172A1 (en) * 2004-12-03 2008-12-18 King Martin T Determining actions involving captured information and electronic content associated with rendered documents
US20060081714A1 (en) * 2004-08-23 2006-04-20 King Martin T Portable scanning 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
US8081849B2 (en) * 2004-12-03 2011-12-20 Google Inc. Portable scanning and memory device
US20070300142A1 (en) * 2005-04-01 2007-12-27 King Martin T Contextual dynamic advertising based upon captured rendered text
US8146156B2 (en) 2004-04-01 2012-03-27 Google Inc. Archive of text captures from rendered documents
US9008447B2 (en) * 2004-04-01 2015-04-14 Google Inc. Method and system for character recognition
US9116890B2 (en) 2004-04-01 2015-08-25 Google Inc. Triggering actions in response to optically or acoustically capturing keywords from a rendered document
US8713418B2 (en) * 2004-04-12 2014-04-29 Google Inc. Adding value to a rendered document
US8620083B2 (en) 2004-12-03 2013-12-31 Google Inc. Method and system for character recognition
US8874504B2 (en) * 2004-12-03 2014-10-28 Google Inc. Processing techniques for visual capture data from a rendered document
US8489624B2 (en) 2004-05-17 2013-07-16 Google, Inc. Processing techniques for text capture from a rendered document
US8346620B2 (en) * 2004-07-19 2013-01-01 Google Inc. Automatic modification of web pages
US7577925B2 (en) * 2005-04-08 2009-08-18 Microsoft Corporation Processing for distinguishing pen gestures and dynamic self-calibration of pen-based computing systems
US20070064004A1 (en) * 2005-09-21 2007-03-22 Hewlett-Packard Development Company, L.P. Moving a graphic element
CN103778635B (zh) * 2006-05-11 2016-09-28 苹果公司 用于处理数据的方法和装置
CN101765840B (zh) * 2006-09-15 2013-01-23 谷歌公司 纸质与电子文档中的注释的捕获及显示
US7855718B2 (en) * 2007-01-03 2010-12-21 Apple Inc. Multi-touch input discrimination
US8130203B2 (en) 2007-01-03 2012-03-06 Apple Inc. Multi-touch input discrimination
US8269727B2 (en) 2007-01-03 2012-09-18 Apple Inc. Irregular input identification
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
US20110145068A1 (en) * 2007-09-17 2011-06-16 King Martin T Associating rendered advertisements with digital content
TWI343544B (en) * 2007-09-26 2011-06-11 Inventec Appliances Corp A handwriting record device
US7502017B1 (en) 2007-11-20 2009-03-10 International Business Machines Corporation Handwriting recognizer user interface methods
US8166421B2 (en) * 2008-01-14 2012-04-24 Primesense Ltd. Three-dimensional user interface
US8933876B2 (en) 2010-12-13 2015-01-13 Apple Inc. Three dimensional user interface session control
US9035876B2 (en) 2008-01-14 2015-05-19 Apple Inc. Three-dimensional user interface session control
US20100095250A1 (en) * 2008-10-15 2010-04-15 Raytheon Company Facilitating Interaction With An Application
US20100100854A1 (en) * 2008-10-16 2010-04-22 Dell Products L.P. Gesture operation input system
US8447066B2 (en) 2009-03-12 2013-05-21 Google Inc. Performing actions based on capturing information from rendered documents, such as documents under copyright
US8990235B2 (en) * 2009-03-12 2015-03-24 Google Inc. Automatically providing content associated with captured information, such as information captured in real-time
WO2010103482A2 (en) * 2009-03-13 2010-09-16 Primesense Ltd. Enhanced 3d interfacing for remote devices
KR101522375B1 (ko) * 2009-03-19 2015-05-21 구글 인코포레이티드 입력 방법 편집기
WO2010105428A1 (en) 2009-03-19 2010-09-23 Google Inc. Input method editor
US8565479B2 (en) * 2009-08-13 2013-10-22 Primesense Ltd. Extraction of skeletons from 3D maps
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
US20110164032A1 (en) * 2010-01-07 2011-07-07 Prime Sense Ltd. Three-Dimensional User Interface
US9268404B2 (en) * 2010-01-08 2016-02-23 Microsoft Technology Licensing, Llc Application gesture interpretation
US8787663B2 (en) * 2010-03-01 2014-07-22 Primesense Ltd. Tracking body parts by combined color image and depth processing
US8594425B2 (en) 2010-05-31 2013-11-26 Primesense Ltd. Analysis of three-dimensional scenes
JP5791131B2 (ja) 2010-07-20 2015-10-07 アップル インコーポレイテッド 自然な相互作用のための相互作用的現実拡張
US9201501B2 (en) 2010-07-20 2015-12-01 Apple Inc. Adaptive projector
US8582867B2 (en) 2010-09-16 2013-11-12 Primesense Ltd Learning-based pose estimation from depth maps
US8959013B2 (en) 2010-09-27 2015-02-17 Apple Inc. Virtual keyboard for a non-tactile three dimensional user interface
KR20120040970A (ko) * 2010-10-20 2012-04-30 삼성전자주식회사 디스플레이에서 제스쳐를 인식하는 방법 및 그 장치
US8872762B2 (en) 2010-12-08 2014-10-28 Primesense Ltd. Three dimensional user interface cursor control
CN106125921B (zh) 2011-02-09 2019-01-15 苹果公司 3d映射环境中的凝视检测
US9377865B2 (en) 2011-07-05 2016-06-28 Apple Inc. Zoom-based gesture user interface
US9459758B2 (en) 2011-07-05 2016-10-04 Apple Inc. Gesture-based interface with enhanced features
US8881051B2 (en) 2011-07-05 2014-11-04 Primesense Ltd Zoom-based gesture user interface
US9030498B2 (en) 2011-08-15 2015-05-12 Apple Inc. Combining explicit select gestures and timeclick in a non-tactile three dimensional user interface
US9122311B2 (en) 2011-08-24 2015-09-01 Apple Inc. Visual feedback for tactile and non-tactile user interfaces
US9218063B2 (en) 2011-08-24 2015-12-22 Apple Inc. Sessionless pointing user interface
US9002099B2 (en) 2011-09-11 2015-04-07 Apple Inc. Learning-based estimation of hand and finger pose
US9229534B2 (en) 2012-02-28 2016-01-05 Apple Inc. Asymmetric mapping for tactile and non-tactile user interfaces
US11169611B2 (en) 2012-03-26 2021-11-09 Apple Inc. Enhanced virtual touchpad
US9047507B2 (en) 2012-05-02 2015-06-02 Apple Inc. Upper-body skeleton extraction from depth maps
US9619036B2 (en) 2012-05-11 2017-04-11 Comcast Cable Communications, Llc System and methods for controlling a user experience
KR20140014510A (ko) * 2012-07-24 2014-02-06 삼성전자주식회사 음성 인식에 의하여 형성된 문자의 편집 방법 및 그 단말
US9019267B2 (en) 2012-10-30 2015-04-28 Apple Inc. Depth mapping with enhanced resolution
JP2014115894A (ja) * 2012-12-11 2014-06-26 Canon Inc 表示装置
TWI563397B (en) * 2012-12-20 2016-12-21 Chiun Mai Comm Systems Inc Method and system for inserting image objects to a note software
US9836154B2 (en) * 2013-01-24 2017-12-05 Nook Digital, Llc Selective touch scan area and reporting techniques
US9256798B2 (en) * 2013-01-31 2016-02-09 Aurasma Limited Document alteration based on native text analysis and OCR
KR101337872B1 (ko) * 2013-04-04 2013-12-06 주식회사 디오텍 잉크 텍스트 데이터 편집장치 및 잉크 텍스트 데이터 편집방법
US9898187B2 (en) * 2013-06-09 2018-02-20 Apple Inc. Managing real-time handwriting recognition
US20160154555A1 (en) * 2014-12-02 2016-06-02 Lenovo (Singapore) Pte. Ltd. Initiating application and performing function based on input
US10043279B1 (en) 2015-12-07 2018-08-07 Apple Inc. Robust detection and classification of body parts in a depth map
US10248880B1 (en) * 2016-06-06 2019-04-02 Boston Inventions, LLC Method of processing and recognizing hand-written characters
DK179374B1 (en) 2016-06-12 2018-05-28 Apple Inc Handwriting keyboard for monitors
US10366278B2 (en) 2016-09-20 2019-07-30 Apple Inc. Curvature-based face detector
US10719230B2 (en) * 2018-09-27 2020-07-21 Atlassian Pty Ltd Recognition and processing of gestures in a graphical user interface using machine learning
US11194467B2 (en) 2019-06-01 2021-12-07 Apple Inc. Keyboard management user interfaces
US11341569B2 (en) * 2019-10-25 2022-05-24 7-Eleven, Inc. System and method for populating a virtual shopping cart based on video of a customer's shopping session at a physical store
CN111475234B (zh) * 2020-04-10 2023-01-10 苏州浪潮智能科技有限公司 一种字符串传递方法、装置、计算机及可读存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5252951A (en) * 1989-04-28 1993-10-12 International Business Machines Corporation Graphical user interface with gesture recognition in a multiapplication environment
US5361310A (en) * 1990-01-19 1994-11-01 Fujitsu Limited Handwriting entry processing system using keyboard and mouse interfaces requiring no modification of an application program
EP0450196B1 (en) * 1990-04-02 1998-09-09 Koninklijke Philips Electronics N.V. Data processing system using gesture-based input data
JPH0736142B2 (ja) * 1991-10-10 1995-04-19 インターナショナル・ビジネス・マシーンズ・コーポレイション 移動指示手段の運動停止を認識する方法および情報処理装置
US5455901A (en) * 1991-11-12 1995-10-03 Compaq Computer Corporation Input device with deferred translation
US5398310A (en) * 1992-04-13 1995-03-14 Apple Computer, Incorporated Pointing gesture based computer note pad paging and scrolling interface
US5583542A (en) * 1992-05-26 1996-12-10 Apple Computer, Incorporated Method for deleting objects on a computer display
US5390281A (en) * 1992-05-27 1995-02-14 Apple Computer, Inc. Method and apparatus for deducing user intent and providing computer implemented services
US5592566A (en) * 1992-05-27 1997-01-07 Apple Computer, Incorporated Method and apparatus for computerized recognition
US5463696A (en) * 1992-05-27 1995-10-31 Apple Computer, Inc. Recognition system and method for user inputs to a computer system
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
US5517578A (en) * 1993-05-20 1996-05-14 Aha! Software Corporation Method and apparatus for grouping and manipulating electronic representations of handwriting, printing and drawings
US5583946A (en) * 1993-09-30 1996-12-10 Apple Computer, Inc. Method and apparatus for recognizing gestures on a computer system
US5682439A (en) * 1995-08-07 1997-10-28 Apple Computer, Inc. Boxed input correction system and method for pen based computer systems

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006085703A (ja) * 2004-09-13 2006-03-30 Microsoft Corp フリックジェスチャ
US9417701B2 (en) 2004-09-13 2016-08-16 Microsoft Technology Licensing, Llc Flick gesture
JP2010009426A (ja) * 2008-06-27 2010-01-14 Canon Inc 情報処理装置及び情報処理方法
KR20140107135A (ko) * 2013-02-27 2014-09-04 가시오게산키 가부시키가이샤 제스처 조작을 검출하는 데이터 처리 장치
JP2014164695A (ja) * 2013-02-27 2014-09-08 Casio Comput Co Ltd データ処理装置及びプログラム

Also Published As

Publication number Publication date
JP3762818B2 (ja) 2006-04-05
US5862256A (en) 1999-01-19

Similar Documents

Publication Publication Date Title
JP3762818B2 (ja) コンピュータでジェスチャと手書き文字を区別する方法及びシステム
JP3664571B2 (ja) コンピュータでジェスチャと手書き文字を区別する方法及びシステム
US9911052B2 (en) System and method for superimposed handwriting recognition technology
US5768418A (en) Unintended results detection in a pen-based computer system
JP2006260573A (ja) 単語または文字の境界ベースのスクラッチアウトジェスチャ認識
KR101061317B1 (ko) 알파벳 텍스트 입력 방법 및 장치
US10007859B2 (en) System and method for superimposed handwriting recognition technology
US6292857B1 (en) Method and mechanism for coordinating input of asynchronous data
JP2018515817A (ja) 視線追跡と音声認識とを組み合わせることにより制御を改善する方法
KR20180119647A (ko) 문자열에 문자를 삽입하기 위한 방법 및 대응하는 디지털 디바이스
US7142715B2 (en) Arabic handwriting recognition using feature matching
Zhang et al. Gestkeyboard: enabling gesture-based interaction on ordinary physical keyboard
US20190196712A1 (en) Systems and Methods for Facilitating Data Entry into Small Screen Electronic Devices
JP6735775B2 (ja) 重畳手書き入力認識技術のためのシステム及び方法
JP2023043910A (ja) 文字列抽出装置、文字列抽出方法、および文字列抽出プログラム
JP7285018B2 (ja) プログラム、誤り文字検出装置及び誤り文字検出方法
JP2991909B2 (ja) 文書処理装置および文書処理方法
JPH0684019A (ja) 手書き入力文字処理装置における句点認識装置
JPH07239915A (ja) オンライン手書き文字列切り出し認識装置
JPH05165817A (ja) 文書処理装置
JPH06208655A (ja) オンライン文字認識装置
JP2001344566A (ja) 手書き文字認識システム、手書き文字認識における異サイズ文字認識方法および記録媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051202

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060116

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090120

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100120

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100120

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110120

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120120

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120120

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120120

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120120

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120120

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130120

Year of fee payment: 7

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S202 Request for registration of non-exclusive licence

Free format text: JAPANESE INTERMEDIATE CODE: R315201

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130120

Year of fee payment: 7

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140120

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term