JPH1083274A - ポインタ位置に文字データを受け入れられることを判定する方法およびシステム - Google Patents
ポインタ位置に文字データを受け入れられることを判定する方法およびシステムInfo
- Publication number
- JPH1083274A JPH1083274A JP9123899A JP12389997A JPH1083274A JP H1083274 A JPH1083274 A JP H1083274A JP 9123899 A JP9123899 A JP 9123899A JP 12389997 A JP12389997 A JP 12389997A JP H1083274 A JPH1083274 A JP H1083274A
- Authority
- JP
- Japan
- Prior art keywords
- pointer
- shape
- determining whether
- equivalent
- mask
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04812—Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Controls And Circuits For Display Device (AREA)
- Digital Computer Display Output (AREA)
- Position Input By Displaying (AREA)
- User Interface Of Digital Computer (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
と同等であるかどうかを判定するためのシステムおよび
方法を提供する。 【解決手段】 システム・ポインタと非システム・ポイ
ンタにはそれぞれポインタIDが付いている。システム
はまず、非システム・ポインタのポインタIDがポイン
タIDのテーブルに入っていて、システム・ポインタと
同等であるというフラグがそのテーブル内に付いている
かどうかを判定する。非システム・ポインタのポインタ
IDがポインタIDのテーブルに入っていない場合、シ
ステムは、非システム・ポインタの形状に基づいて、非
システム・ポインタがシステム・ポインタと同等である
かどうかを判定する。
Description
理システムに関する。本発明は、単一タスクがキーボー
ド、マウス、またはスタイラス事象などのユーザ入力を
ユーザの制御下で現在実行中の様々なコンピュータ・プ
ログラムに経路指定することに専用化された、マルチタ
スク処理ペンベース・コンピュータ・システムにおいて
具体的に応用されるものである。
はIBMのOS/2オペレーティング・システムなどの
ペン・ソフトウェア拡張機能により、ユーザは、後で認
識のためにジェスチャ筆跡認識エンジンに送られる文字
をウィンドウに直接書き込むことができる。デフォルト
の場合、そのウィンドウが編集フィールドまたはテキス
ト入力ウィンドウなどテキストを受け入れるものでない
限り、このシステムは、手書き形状をジェスチャとして
扱う。ペンベース・システムについては、アラン・タネ
ンバウム(Alan Tannenbaum)他の「Graphical User In
terface with Gesture Recognition in a Multi-Applic
ation Environment」という名称の米国特許第5252
951号に全般的に記載されている。
ルドは、ポインタがそのテキスト・フィールドの上に位
置決めされたときにIビーム・マウス・ポインタを表示
することにより、その旨を示す。オペレーティング・シ
ステムは、1)すべての入力フィールドの外観が均一に
なり、2)各アプリケーションの開発者がIビーム・マ
ウス・ポインタのカスタム・バージョンを設計して、そ
れぞれの製品とともにそれを出荷する必要がないように
アプリケーションが使用するための標準的なIビーム・
マウス・ポインタを提供する。
この標準的なIビームを利用し、ユーザがテキスト・フ
ィールドに書き込んでいることを把握する。ユーザが表
面付近にスタイラスを移動させ、書込みを始めると、シ
ステムはスタイラスの位置までマウス・ポインタを移動
させる。マウス・ポインタがテキスト・フィールド内に
ある場合、ポインタはIビームになる。ペンベース・シ
ステムは、ポインタの形状に気付かないが、ポインタの
IDをシステムが供給したIビーム・ポインタのIDと
比較する。両方のIDが一致した場合、システムは2通
りのアクションを行う。第1に、システムはマウス・ポ
インタをIビームからペン形に変更し、ユーザがスタイ
ラスでそのフィールドに直接書き込めることをユーザに
警告する。第2に、システムは手書き文字をジェスチャ
ではなく主にテキストとして扱う。ペンまたはスタイラ
ス入力を解釈するためのアプリケーション、ウィンド
ウ、ポインタの特性の検査については、「Data Interpr
etation Techniques for a Pen-based Computer」と題
するIBMテクニカル・ディスクロージャ・ブリテン、
Vol. 38、No. 09、1995年9月に記載されている。
プリケーション開発者が独自のバージョンのIビーム・
ポインタを付けてそれぞれのアプリケーションを出荷す
ることである。このような開発者は、美的な理由のため
または単に自分のアプリケーションを競合他社のものと
区別するだけのために、独自のIビーム・ポインタ形状
を設計している。しかし、いずれの場合も、このような
カスタムIビームは、良好なヒューマン・ファクタを確
保するために、依然として標準的なIビーム形状との類
似性をある程度保持している。そうしないと、ユーザが
混乱し、そのフィールドがテキスト入力を受け入れるこ
とに気付かない恐れがある。残念ながら、有力なワード
・プロセッサ・アプリケーションのほとんどは、独自の
Iビーム・ポインタを付けて出荷されており、ポインタ
ID同士を比較するための現存するペンベース・システ
ム技法がいくらか無効になる。
は、アプリケーションがマウスおよびキーボード入力を
処理できないときを確認することである。通常、アプリ
ケーションは、砂時計ポインタを表示することによっ
て、この「使用中」状態を通知する。これは普通は十分
な表示であり、砂時計ポインタが矢印ポインタに復元さ
れるまで、ユーザは入力を停止する。しかし、多くの場
合、アプリケーションが使用中状態になっている間、デ
スクトップ上の他の活動アプリケーションに向けられた
マウスまたはキーボード入力はすでにシステム待ち行列
に入っている。しかし、OS/2とWindowsの両方のオ
ペレーティング・システムの設計では、それがマウスお
よびキーボード入力の待ち行列解除を終了したことを使
用中アプリケーションが実際に最初にオペレーティング
・システムに通知するまで、待ち行列に入っている入力
を待ち行列から外してターゲット・アプリケーションに
ディスパッチすることができない。オペレーティング・
システムは、アプリケーションが瞬間的に使用中状態に
なっていることを知ることができないが、ユーザはそれ
を知ることができる。オペレーティング・システムがこ
の使用中状態を検出することができれば、即座に入力待
ち行列を調べ、ユーザ入力を待っている非使用中アプリ
ケーションに向けられたマウスまたはキーボード入力を
待ち行列解除/経路指定することができるはずである。
その結果、処理上のボトルネックが除去されるはずであ
る。
一目的は、様々なコンピュータ・プログラム・アプリケ
ーションによって表示されるマウス・ポインタを光学的
に認識し、そのアプリケーションの動的状態または環境
を判定することにある。
認識を実行し、高い確信度でターゲット以外のポインタ
形状を確実に拒否することにある。
によって追加されるオーバヘッドがコンピュータの応答
性またはパフォーマンスに対して認識できるほどの影響
を及ぼさないように、計算上効率のよいやり方でポイン
タ形状認識を実行することにある。
の解像度とカラー能力が変化するコンピュータ上でポイ
ンタ形状認識を実行することにある。
およびその他の目的は、本発明の方法およびシステムに
よって達成される。本発明の一態様のシステムは、非シ
ステム・ポインタがシステム・ポインタと同等であるか
どうかを判定する。システム・ポインタと非システム・
ポインタにはそれぞれポインタIDが付いている。シス
テムはまず、非システム・ポインタのポインタIDがポ
インタIDのテーブルに入っていて、システム・ポイン
タと同等であるというフラグがそのテーブル内に付いて
いるかどうかを判定する。非システム・ポインタのポイ
ンタIDがポインタIDのテーブルに入っていない場
合、システムは、非システム・ポインタの形状に基づい
て、非システム・ポインタがシステム・ポインタと同等
であるかどうかを判定する。
定義マスクと比較することにより、非システム・ポイン
タがシステム・ポインタと同等であるかどうかを形状に
基づいて判定する。非システム・ポインタのすべての画
素がマスク内に入る場合、システムは、非システム・ポ
インタを構成する画素数が所定のしきい値を上回るかど
うかを判定する。非システム・ポインタがシステム・ポ
インタと同等であるとシステムが判定すると、システム
は、ポインタIDのテーブルに非システム・ポインタの
ポインタIDを追加し、そのポインタIDにシステム・
ポインタと同等であるというフラグを付ける。
ステム・ポインタを事前定義粗大マスクと比較すること
により、非システム・ポインタがシステム・ポインタと
同等であるかどうかを判定することができる。非システ
ム・ポインタのすべての画素が粗大マスク内に入る場
合、システムは非システム・ポインタを事前定義微細マ
スクと比較する。前記非システム・ポインタのすべての
画素が微細マスク内に入る場合、システムは、非システ
ム・ポインタを構成する画素数が所定のしきい値を上回
るかどうかを判定する。次にシステムは、非システム・
ポインタが所定の対称条件を満足するかどうかを判定す
ることができる。
照すると、本発明のシステムおよび方法を実施すること
ができるパーソナル・コンピュータ・システムのハード
ウェア・ブロック図の全体が参照番号10によって示さ
れている。システム10は、中央演算処理装置(CP
U)15とランダム・アクセス・メモリ13とを含むプ
ロセッサ11を含む。システム10は、ハード・ディス
ク記憶装置17とフロッピー・ディスク装置19という
形式の追加メモリも含むことが好ましい。フロッピー・
ディスク装置19は、本発明のソフトウェア実施態様を
含む、プログラム用のソフトウェアを記録可能なディス
ケット21を受け入れられるようになっている。また、
システム10は、ディスプレイ23、キーボード25、
マウス27、ペンまたはスタイラス29を含む、ユーザ
・インタフェース・ハードウェア装置も含む。システム
10はプリンタ31を含むことが好ましい。
のペンベース・システムの主要ソフトウェア・システム
構成要素の高レベル図が示されている。図2の下部で
は、ペン29、マウス27、キーボード25からの出力
信号がデバイス・ドライバ33に接続されているが、こ
のデバイス・ドライバはそれぞれの装置に低レベルの入
出力サポートを提供するモジュールである。デバイス・
ドライバ33は事象をシステム待ち行列35に入れる。
システム待ち行列35内の事象は、その後、プレゼンテ
ーション・マネージャ37によって処理され、プレゼン
テーション・マネージャ37は次にペン事象およびマウ
ス事象を処理のためにペン拡張部39に経路指定する。
ション41とペン非認識アプリケーション43の両方を
含む。ペン認識アプリケーションは、ペン入力を認識し
て処理するための固有の能力を備えている。ペン非認識
アプリケーションは、キーボードまたはマウスあるいは
その両方の入力を認識して処理するための固有の能力だ
けを備えたものである。したがって、ペン拡張部39
は、ペン事象をペン認識アプリケーション41に直接経
路指定する。しかし、ペン非認識アプリケーション43
はペン機能を使用することができないので、システムは
互換モジュール45を含む。
ケーションのためにペン認識アプリケーションとして動
作する。たとえば、ユーザがペン認識アプリケーション
に手書き文字事象を入力した場合、ペン拡張部39はこ
の事象を互換モジュール45に経路指定し、次に互換モ
ジュール45がすべてのペン・ストロークをジェスチャ
筆跡認識エンジン47に経路指定する。ジェスチャ筆跡
認識エンジン47は、ペン・ストローク事象を処理し、
認識結果を互換モジュール45に返す。
ジュール45はそれを認識事象送達サブシステム49に
経路指定し、そのサブシステムは、特定のジェスチャに
応答してペン非認識アプリケーションでどのアクション
を実行すべきかをユーザが判定できるようにセットアッ
プしたプロファイル51にアクセスする。任意で一部の
ツール53を呼び出して、ペン非認識アプリケーション
43上で何らかのアクションを実行することもできる。
互換モジュール45に返された認識結果が筆跡であると
認識された場合、その結果のテキスト・ストリングは適
切なペン非認識アプリケーション43に直接経路指定さ
れる。
ィスプレイ画面の全体が参照番号60で示されている。
画面60は、その上にウィンドウ61が表示されてお
り、そのウィンドウはノートブック63を表示してい
る。当業者には当たり前のように、ノートブック63
は、様々なタブおよびボタンと、テキスト入力フィール
ド65を含む。ペンベース・システムでは、ユーザがペ
ンまたはスタイラス(図示せず)を画面60の近くに持
ってくると、システムは、ペンの位置までポインタを移
動させ、ペン位置の特性に応じてペンによるアクション
を処理する。図3では、ポインタはテキスト・フィール
ド65内にあり、Iビーム67の形状を呈している。こ
のIビーム・ポインタ形状は、テキスト・フィールド6
5がキーボードからのテキスト入力を受け入れることを
ユーザに示すものである。
システムには図3のIビーム・ポインタの代わりにペン
形ポインタ69が描かれてる。ペン形ポインタ69は、
テキスト・フィールド65が文字またはジェスチャの形
で手書き入力を受け入れることをユーザに示すものであ
る。
ン・エディタ・アプリケーションで表示されるような、
アイコン・ビットマップ80の絵画表現が示されてお
り、代表的な6通りのIビーム・ポインタ形状がそこに
描かれている。アイコン・ビットマップ80は32×3
2のエレメントからなるグリッドであり、各エレメント
はVGA解像度の1つの画素(ペル)を表している。図
5に示すIビーム・ポインタ形状は、OS/2(TM)
のIビーム・ポインタ81と、Windows(TM)のIビ
ーム・ポインタ83を含んでいる。
ーザがただちにIビームとして認識するような形状を保
持しながら、ペル・レベルでかなり変形したポインタを
示している。また、図5は、設計者がIビーム・ポイン
タをビットマップのどこにでも配置できることも示して
いる。
ス事象を受け取るたびに呼び出される図2のペン拡張部
39の機能を示す高レベル流れ図が示されている。この
機能は、通常、マウスまたはペンが動いている間に毎秒
60〜100回呼び出される。というのは、これがこの
ような装置の標準的な報告速度であるからである。ポイ
ンティング・デバイスの増分運動ごとに、ポインタ形状
は新しい位置に描き直す必要がある。ポインティング・
デバイスが任意のタイプの入力フィールドの上にある
と、オペレーティング・システムまたはアプリケーショ
ンは、Iビームをペイントして、キーボード入力が許さ
れていることをユーザに通知する。ポインタが現在、I
ビームである場合、図13の機能により、オペレーティ
ング・システムは図4のペン・ポインタ形状69をペイ
ントすることになる。
タのIDを照会し、現行ポインタがシステムIビームで
あるか(判断ブロック1510)または別のシステム・
ポインタであるか(判断ブロック1520)を確認する
ためにテストする。そのポインタがシステムIビームで
ある場合、システムはブロック1570でそのポインタ
形状をペンに変更し、ブロック1580で終了する。
ムによって供給された他のポインタの1つである場合、
システムは追加アクションを一切行わず、ブロック15
80で終了する。そうではない場合、システムは、ブロ
ック1530で図12によるポインタ・テーブル140
0にアクセスし、現行ポインタID用の項目が存在する
かどうかを判定する。
1400は、ポインタID1405、プロセスID14
10、Iビーム・フラグ1415などの列を有するテー
ブルである。好ましい実施例のポインタ・テーブル14
00は、行0〜249に最高250項目まで保持できる
ように構築されている。後で詳述するように、ポインタ
・テーブルは、新しいポインタが認識されたときに項目
を追加し、アプリケーションがシャットダウンされたと
きに項目を削除することによって管理される。
ポインタ・テーブル1400が現行ポインタ用の項目を
含む場合、システムは、判断ブロック1560でそのテ
ーブル項目にIビームとしてのフラグが付いているかど
うかをテストするために分岐する。フラグが付いている
場合、システムはブロック1570でペン・ポインタを
ペイントし、付いていない場合、プロセスはブロック1
580で終了する。判断ブロック1540でのポインタ
・テーブル項目のテストで不合格になった場合、そのポ
インタのIビーム形状をテストするために別のルーチン
が呼び出されるが、これについては全体をプロセス・ブ
ロック1550に示し、詳しくは図15ないし図21に
示す。判断ブロック1560でそのポインタがIビーム
であるとルーチンが示す場合、システムはブロック15
70でポインタをペンに変更し、そうではない場合、ル
ーチンは1580で終了する。
550でIビーム形状をテストするルーチンは、アプリ
ケーション供給の各ポインタごとに1回ずつしか呼び出
されないことに留意されたい。これは、ポインタのIビ
ーム形状のテスト結果が肯定であるかどうかにかかわら
ず、図15のルーチンがブロック1750および178
0で各ポインタ・フラグごとにポインタ・テーブル14
00のIビーム・フラグ列1415に項目を1つずつ作
成するからである。特定のポインタIDについてポイン
タ・テーブル1400の項目が存在すると、図13の判
断ブロック1540のテーブル項目テストの結果が必ず
真になり、Iビーム認識プロセスによって発生するオー
バヘッドが防止される。大多数のアプリケーションがシ
ステム供給Iビームとその他のシステム・ポインタを使
用し、非システム・ポインタは1回しかテストされない
ということにより、この機能の処理要件が最小限に維持
される。システムにかかる追加の負荷は、洗練され見識
のあるユーザでも認識できないほどである。
ンタ形状をテストし監視できるようにペン拡張部モジュ
ール39(図2)を準備するためにブート時にどのよう
な前処理が必要かを示している。ブロック1600で
は、ポインタ・テーブル1400内の有効項目の数がゼ
ロになる。好ましい実施例では、Windows(TM)のI
ビーム・ポインタの迅速テストを促進するために、ブロ
ック1610でWindowsのIビーム・ビットマップのコ
ピーがロードされ、ブロック1620で照会され、ブロ
ック1630でグローバル・メモリ内に移動される。
るOS/2では、独自のDOS仮想計算機に各Windows
アプリケーションをロードすることにより、固有のWind
owsアプリケーションを実行することができる。この実
施態様の難点は、すべてのアプリケーションが同一のWi
ndows供給Iビーム・ポインタを使用していても、活動
状態の各Windowsアプリケーションに固有のIビーム・
ポインタIDが1つずつ与えられることである。認識プ
ロセスの速度を上げるため、現行ポインタとの高速メモ
リ間比較を行えるように、標準のWindowsIビームのビ
ットマップがメモリに保持される。
供給IビームのIDがブロック1640で照会される。
これは、図13の判断ブロック1510のテストで使用
するIDである。
いる。ブロック1700で概略を示すように、システム
は、現行ポインタのビットマップをメモリにコピーする
ためのルーチンを呼び出すが、そのメモリではビットマ
ップを検査し操作することができる。図16はこの処理
を示している。ただし、ペン拡張部モジュール39は、
アプリケーションと同じようにビットマップにアクセス
できるわけではないことに留意されたい。というのは、
このモジュールはオペレーティング・システムの拡張部
として動作しているため、アプリケーションの環境につ
いてはほとんど把握していないからである。このため、
ペン拡張部37は非常に間接的かつ遠回しのやり方でビ
ットマップ・データにアクセスしなければならない。周
知のOS/2システムAPIを使用して、ブロック18
00でプレゼンテーション・スペースが割り振られ、ブ
ロック1810でポインタ形状ビットマップのハンドル
が照会される。次に、ビットマップがプレゼンテーショ
ン・スペースに設定されるが、これは、ブロック183
0でグラフィック・エンジンの制限付きメモリからビッ
トマップ・データを読み取り、ペン拡張部のグローバル
・メモリに読み込むための前処理である。ビットマップ
・データが得られると、ブロック1840でそれがプレ
ゼンテーション・スペースから削除され、ブロック18
50でプレゼンテーション・スペース資源が割振り解除
される。
トマップ・データを照会後、システムは、ブロック17
10で最適化メモリ間比較を実行し、ポインタがWindow
sのIビームであるかどうかを確認する。1720で比
較の結果、同じであると判明した場合、ブロック178
0でポインタ・テーブル1400に項目が追加され、ブ
ロック1785でその項目にIビームとしてのフラグが
付けられ、1790で有効ポインタ・テーブル項目数が
増分される。ポインタ・テーブル1400は250項目
を含み、ブロック1530で費やす探索時間を短縮する
ように構築されており、最後の有効項目が見つかった
後、探索が中断されるので、有効ポインタ項目数は慎重
に管理される。
であると判明した場合は、ポインタに関する追加テスト
を行うためにブロック1730で別のルーチンが呼び出
される。このルーチンが判断ブロック1740で否定の
結果を報告した場合、ブロック1750でポインタ・テ
ーブルに項目が追加され、ブロック1760でその項目
に非Iビームとしてのフラグが付けられ、ブロック17
70で有効ポインタ・テーブル項目数が増分され、ブロ
ック1775でそのルーチンが呼出しルーチンに否定の
結果を返す。判断ブロック1740での比較の結果、真
であると判明した場合は、ブロック1780でポインタ
・テーブルに項目が追加され、ブロック1785でその
項目にIビームとしてのフラグが付けられ、ブロック1
790で有効ポインタ・テーブル項目数が増分され、ブ
ロック1795でその結果が返される。
ーム・ポインタ形状のビットマップ・アレイ510が示
されている。ビットマップ・アレイ510は、32×3
2の2進データからなるアレイであり、Iビーム形状の
ペルが1で示されている。ただし、ビットマップ・アレ
イ510のIビームは、9列と14行を占有する28個
のペルを含むことに留意されたい。さらに、そのIビー
ムはビットマップ・アレイ510内の任意の位置に位置
決めされていることに留意されたい。
図6のIビーム形状のテストの流れを示している。図1
8ないし図21に示すようにこのルーチンおよびその補
助サブルーチンによる処理を合理化するため、ブロック
1900でビットマップ・アレイが8ビットから32ビ
ットの位置合せに変換される。データを再フォーマット
することにより発生する不利益は、所与の時点では32
ビットで動作するCPU命令の使用により十二分に補正
される。図9は、ビット・アレイ510を8ビット60
0から32ビット610の位置合せに変換する場合を示
している。ブロック1910では、テスト中のポインタ
のタイプとディスプレイの解像度に応じてポインタ形状
マスクが選択される。VGA解像度用のマスク710と
XGA解像度用のマスク810を図10と図11にそれ
ぞれ示す。様々なマスクを使用すると、ポインタ形状認
識の正確さが増す。ブロック1920では、ブロック1
930でANDマスクとORマスクを結合するための準
備として、ビットマップのANDマスクがその1の補数
に変換される。ポインタの形状はANDマスクまたはO
Rマスクあるいはその両方にコード化することができる
ので、ポインタ形状全体を確実に考慮に入れるために、
2つのマスクを結合する。また、ANDマスクは通常、
すべて1であり、ポインタ形状をコード化するためにゼ
ロに変化するので、正反対であるORマスクのフォーマ
ットと一致するようにブロック1920で反転される。
ら1つに削減されているが、マスクと照らし合わせてポ
インタ形状をテストするため、ポインタ形状をさらに分
離しなければならない。これを実施するため、ブロック
1940でポインタ形状を左寄せし、ブロック1950
でビットマップ・アレイの下部に寄せるためのサブルー
チンが呼び出される。しかし、イメージを下寄せする前
に、システムは判断ブロック1945で、ポインタがブ
ランクであるかどうかを確認するためのテストを行う。
ポインタがブランクであることは珍しいことではない。
ブランクである場合、処理は停止し、ブロック1955
でルーチンが否定の結果を返す。左寄せおよび下寄せの
処理の結果はそれぞれ図7のビットマップ・アレイ52
0と図8のビットマップ・アレイ530になる。
で、ブロック1960でマスク外のビットが1に設定さ
れているかどうかを判定するために別のサブルーチンが
呼び出される。わずか1つのビットでもマスク外で1に
設定されている場合、判断ブロック1965のテストで
不合格になり、ブロック1985で呼出しサブルーチン
に偽が返される。判断ブロック1965でいずれのビッ
トもマスク外で1に設定されていない場合、形状マスク
下に設定されているビットの数をカウントするためにブ
ロック1975で別のサブルーチンが呼び出される。判
断ブロック1975で十分な数のビットが1に設定され
ている場合、ポインタ形状はほぼIビームであると見な
され、ブロック1980で真が返される。形状がIビー
ムであるかどうかを判定するために使用するしきい値は
経験に基づいて設定され、現在、そのアルゴリズムはV
GA解像度の場合は17ビットが1に設定され、XGA
の場合は24ビットが1に設定されていると予想する。
0、1960、1970で呼び出される4つのサブルー
チンについて詳しく検討する。ビットマップの左寄せに
ついては図18に示す。ポインタ形状イメージは、右寄
せではなく左寄せされる。というのは、ビットマップの
走査線は必ず32ビットの倍数でコード化しなければな
らないからである。これは、ビデオ操作を最適化し、メ
モリをビデオ・ハードウェアに直接マッピングできるよ
うにするために行われる。このため、そのイメージが2
番目の32ビット・ワードのうちのわずか数ビットしか
使用しなくても、解像度が32×32ペルから64×6
4ペルの間のビットマップは、必ず走査線当たり64ビ
ットのデータを有することになる。このような余分なビ
ットは埋込みと呼ばれ、図11のビットマップ・アレイ
810の列820に示されているが、アルゴリズムが右
寄せを使用する場合は、まず、ゼロの埋込みを越えてイ
メージをシフトさせなければならないはずである。これ
は時間のかかることである。32×32を上回る解像度
のビットマップを処理する場合、ポインタ・イメージは
通常、ビットマップの左端により接近することになる。
数がビットマップ・ヘッダからロードされる。次に、サ
ブルーチンはブロック2010〜2050のループに入
り、そこでブロック2010で各走査線の左端のビット
が1であるかどうかがテストされる。各走査線のテスト
後、判断ブロック2020で左端のビットがすべて0で
あるかどうかを確認するためにテストが行われる。すべ
て0である場合、ポインタ・イメージの先頭はまだ突き
止められていないので、ブロック2030で各走査線が
1ビットずつ左にシフトされ、ブロック2040でシフ
ト・カウントが増分される。判断ブロック2050で
は、シフトしたビットの数が走査線の数以上であるかを
確認するためにテストが行われる。このテストは、ポイ
ンタ形状がブランクの場合を見つけて、無限ループを防
止するものである。判断ブロック2050でシフト・カ
ウントが走査線カウントを上回る場合、サブルーチンは
ブロック2060で単に真を返すだけである。判断ブロ
ック2020で全走査線のうちの1本の左端のビットが
最終的に1を含むまで、ブロック2030のイメージの
左シフトが続行される。このような事態が発生すると、
このイメージは完全に左寄せされ、サブルーチンはブロ
ック2070で偽を返す。
プの流れを示し、そこで左寄せしたイメージが下寄せさ
れる。入口では、最後または最下部の走査線からテスト
が始まるように、ブロック2100で走査線ポインタが
ビットマップ・アレイの下部に設定される。ブロック2
100〜2130でループに入り、そのうちの判断ブロ
ック2110では各走査線の全体に非ゼロ・ビットがな
いかどうかテストされる。非ゼロ・ビットが一切見つか
らない場合、ブロック2120で走査線ポインタが減分
される。判断ブロック2130で走査線ポインタがビッ
トマップの最上部の走査線を指し示す場合、ルーチンは
ブロック2140で復帰する。そうではない場合、ルー
プが終了し、サブルーチンの残り半分に移行する点にポ
インタ・イメージの最下部が位置していることを意味す
る非ゼロ走査線が見つかるまで、ループが反復する。
最下部にある走査線を指し示すようにブロック2150
でソース・ポインタが初期設定され、ブロック2155
でビットマップ・アレイの最下部を指し示すようにター
ゲット・ポインタが設定される。これらのポインタは、
イメージを有効に下寄せする、ビットマップのメモリ間
転送を実行するために使用する。これは、2165から
2185までの操作によって制限されるループで実施さ
れる。各走査線はブロック2160で1つずつ転送さ
れ、その都度、ブロック2175と2180でソース・
ポインタとターゲット・ポインタがそれぞれ減分され
る。各走査線の転送後、現行ソース・ポインタがビット
マップの最上部を指し示しているかどうかを確認するた
めに判断ブロック2165でテストが行われる。指し示
している場合、ビットマップ全体が転送されるように、
ソース・ポインタはブロック2170でビットマップの
最下部に折り返す。最終的には、判断ブロック2185
でターゲット・ポインタがビットマップの最上部にヒッ
トして転送の完了を意味し、ループは終了し、サブルー
チンはブロック2190で復帰する。
ビットがないかどうか、ポインタ・イメージをテストす
る論理の流れを示している。この場合も、走査線ポイン
タは、ブロック2200でポインタ・イメージの既知の
先頭であるアレイの最下部に設定される。形状マスク・
ポインタも、ビットマップ走査線と固定して調和するよ
うにブロック2210でマスク上の最下部に設定され
る。ブロック2220〜2290のループは、ブロック
2220でその1の補数を取り、ブロック2230でA
ND演算を使用することにより、マスク線を反転するも
のであり、判断ブロック2240でその関連ビットマッ
プ走査線と照らし合わせてそれをテストする。ほぼIビ
ームである形状は、マスク外に設定されたビットを含ま
なくなる。非ゼロ・ビットが見つかった場合、サブルー
チンは2250で真を返し、呼出しルーチンに対して非
Iビーム形状を示す。見つからない場合は、判断ブロッ
ク2260で、ポインタがビット・アレイの最上部に達
し、テストの完了を通知するかどうかを確認するための
テストが行われる。達していない場合、走査線ポインタ
とマスク線ポインタはブロック2280と2290でそ
れぞれ減分され、ブロック2220に戻ってループが反
復する。判断ブロック2260で走査線に達している場
合、マスク外ではいずれのビットも見つかっていないの
で、サブルーチンはブロック2270で偽を返す。
ーチンである。すべての非ゼロ・ビットが形状マスク下
にある場合は、2つの形状がぴったり一致していること
を意味することがこれまでに分かっている。最後のタス
クは、マスク下に設定されているビットをカウントし、
それがIビームとしての資格があるかどうかを確認する
ことである。実際には、このステップでは形状マスクは
不要である。というのは、すべての非ゼロ・ビットがマ
スク内にあるからである。ループ変数を初期設定する
と、シフト・カウント、走査線カウント、ビット・カウ
ントがいずれもブロック2300、2305、2310
でそれぞれクリアされる。次に、2つの事前定義定数で
ある非ゼロ・マスク線の数と非ゼロ・マスク列の数は、
ループ内で使用するために、ブロック2315と232
0でそれぞれロードされる。ブロック2325では現行
走査線ポインタがビットマップ・アレイの最下部に設定
され、次にコードは、内部ループ2330〜2350と
外部ループ2355〜2370に入る。内部ループ23
30〜2350は各非ゼロ・ビットを含む各走査線を調
査し、外部ループ2355〜2370は各走査線全体で
反復する。
左端のビットが1であるかどうかがテストされる。それ
が1である場合、ブロック2335でビット・カウント
が増分される。いずれの場合も、シフト・カウントはブ
ロック2340で必ず増分され、シフトしたビットの数
が非ゼロ列の数と等しいかどうかを確認するために判断
ブロック2345でテストが行われる。1ではない場
合、ブロック2350で走査線全体が1ビットずつ左に
シフトされ、判断ブロック2330に戻ってループが反
復する。判断ブロック2345で、シフトしたビットの
数が非ゼロ・マスク列の数と等しい場合、シフト・カウ
ントはブロック2355でクリアされ、次の走査線を検
査するためにブロック2360で走査線ポインタが減分
される。判断ブロック2365で、検査した走査線の数
が非ゼロ・マスク走査線の数と等しい場合、マスク下の
すべての走査線がテスト済みであり、サブルーチンはブ
ロック2375でカウントした非ゼロ・ビットの総数を
返す。そうではない場合、走査線カウントはブロック2
370で増分され、判断ブロック2330で内部ループ
の最上部に戻って外部ループが反復する。このようにし
て、ポインタ形状内のすべての非ゼロ・ビットがカウン
トされ、呼出しルーチンに返される。
400の項目のカウントは慎重に管理されている。マウ
ス移動の処理中に新しいアプリケーション供給ポインタ
IDが発見されると、項目がテーブルに追加される。図
27は、もはや不要になったときに項目が除去されるよ
うにテーブルをさらに管理する方法を示している。図2
7のルーチンは、オペレーティング・システムがアプリ
ケーションを閉じるかまたはシャットダウンするたびに
呼び出される。入口では、項目が存在するかどうかを確
認するために判断ブロック2800で検査が行われる。
存在しない場合、クリーンアップすべきものは一切ない
ので、ルーチンはブロック2880で終了する。判断ブ
ロック2800でテーブルが空ではない場合、ブロック
2810でシャットダウン中のアプリケーションのプロ
セスIDが照会される。ブロック2820では有効項目
の数がロードされ、ブロック2830ではテーブル・ポ
インタがポインタ・テーブル1400内の最初の項目に
設定される。次に、判断ブロック2840でループに入
り、そこで各項目が有効であるかどうかを確認するため
にその項目がテストされる。それが有効である場合、そ
れがシャットダウン中のアプリケーションに属すかどう
かを確認するために、判断ブロックで項目がテストされ
る。属す場合、ブロック2855で有効項目のカウント
が減分され、ブロック2860でその項目がテーブルか
ら除去される。判断2850のテスト結果にかかわら
ず、ブロック2865でループ・カウントが減分され、
ブロック2870でゼロかどうかがテストされる。ゼロ
ではない場合、ポインタ・テーブル1400にまだいく
つか有効な項目があるので、テーブル・ポインタはブロ
ック2875で増分され、ループは判断ブロック284
0に戻って反復する。判断ブロック2840で非有効テ
ーブル項目が見つかった場合、その項目は無視され、ブ
ロック2875でテーブル・ポインタが増分され、やは
りループが反復する。最終的に、すべての有効項目が見
つかり、ブロック2870でループ・カウントがゼロに
なると、ループは終了し、ルーチンはブロック2880
で終了する。ポインタ・テーブル1400は250項目
を含むように構築されているが、ほとんどの実際の場合
には最小数の項目しか検査されない。
(TM)の砂時計ポインタ用のビットマップ2410が
示されている。図28の砂時計ポインタ形状を検査する
と、その砂時計が「ウェストが細い」形状であり、マス
クを有効にするためにも、それはウェストが細くなけれ
ばならないはずであることが分かる。マスクのウェスト
を太くすればするほど、形状がより四角形に近くなり、
その結果、認識精度が低下するはずである。また、図3
1および図32に見られるように、マスクとポインタ形
状の位置合せ不良が発生すると、その結果、砂時計ポイ
ンタ形状を認識できなくなる可能性がある。図31は砂
時計ポインタへの微細形状マスク用のビット・アレイ2
610を示し、図32は砂時計ポインタ2620用のビ
ット・アレイを示している。砂時計形状2620は依然
として砂時計として認識可能であるが、短いので、走査
線中心点2630に示すようにウェスト位置が低くなっ
ている。したがって、砂時計ポインタ2620の幅広の
最上部は走査線中心点2640に示すマスク2610の
ウェストと一致し、それにより、認識アルゴリズムはマ
スク外の非ゼロ・ビットのために不合格になるはずであ
る。
2の砂時計マスクのようにマスクが大きくなればなるほ
ど、非砂時計形状がマスク下に入る可能性が高くなるこ
とである。150程度の高いビット・カウントしきい値
は効果的なフィルタ処理をもたらしうるが、必ずしもす
べての場合に有効なわけではない。砂時計のように珍し
く、しかもビットしきい値が高い場合でも、図34のビ
ットマップ2810のクィーン・ポインタ形状などのそ
の他の形状は両方のテストを通過するはずである。クィ
ーン・ポインタを使用中アプリケーションと誤解する
と、重大な使用可能度の問題が発生する恐れがある。
施例は、図29および図30にそれぞれ示す粗大マスク
2510と微細マスク2520を使用する、変更済みで
はあるがわずかに長いアルゴリズムを使用し、図33に
示すようにポインタ・イメージの対称の考慮に入れるも
のである。
メージ2710がその走査線中心点2715とその列中
心点2720の両方について対称であることが分かるだ
ろう。走査線中心点2715と列中心点2720は、ポ
インタ・イメージ2710を4つの4分割部分に分割す
る。
に変更した論理を示している。図22に入ると、ポイン
タ形状はすでに左寄せおよび下寄せされており、ブロッ
ク2400で粗大マスク外に非ゼロ・ビットがあるかど
うかのテストが行われる。粗大マスクは、砂時計の設計
においては相当な破格を許しながら、大部分の非砂時計
ポインタを除去するように設計されている。判断ブロッ
ク2410で粗大マスク外にビットが設定されている場
合、処理は停止され、ブロック2495で偽が返され
る。判断ブロック2410でビットが一切設定されてい
ない場合、ポインタ形状はブロック2420で微細マス
クの上にセンタリングされる。
線不一致の問題を解消するためのセンタリング技法の流
れを示している。2つのループに入るが、そこでシステ
ムはブロック2500で非ゼロ・ポインタ走査線の数を
カウントし、ブロック2510で非ゼロ・ポインタ列の
数をカウントする。その結果得られる非ゼロの走査線と
列のカウントをブロック2520で2で割り、ポインタ
形状の中心点を計算する。また、微細形状マスクの中心
点も、このような2つの既知の定数を取り、ブロック2
530で2で割ることによって計算される。次に、2つ
の被比較数の2つの中心点間の差を求めるため、ブロッ
ク2540で微細ブロックの中心点XおよびYからポイ
ンタ形状の中心点XおよびYを引く。ただし、ポインタ
形状は微細マスクより大きくはならないので、計算した
XおよびYの変位はゼロまたは正数になりうるが、けっ
して負数にはならないことに留意されたい。
と、微細マスクは、ブロック2550で列変位と等しい
量だけ左寄せされ、ブロック2560で走査線変位と等
しい量だけ下寄せされる。このような操作の正味の影響
は、ポインタ形状の中心点の上に微細マスクの中心点を
重ねることである。ポインタ形状と微細マスクを重ねる
ことにより、マスクはより小さくよりぴったりの輪郭を
備えたシルエットを有することができ、それにより、認
識精度が高まる。ルーチンは、対称テストで使用すべき
ポインタの中心点を渡す際にブロック2570で呼出し
側に戻る。
450でシステムは、4分割部分によって微細マスク下
に設定されたビットをカウントするためのサブルーチン
を呼び出す。図33は、ポインタ・イメージの中心点を
原点として共用する4分割部分の順序を示している。図
25は、4分割部分によって微細マスク下のビットをカ
ウントするサブルーチンである。図25のサブルーチン
は、マスク下のビットをカウントする前述の第1の実施
例の図21のサブルーチンと同じであるが、各4分割部
分ごとに個別のビット・カウンタが管理される。ブロッ
ク2705では、4つの4分割ビット・カウンタがすべ
てクリアされる。ビット・カウントは図21のように内
部ループおよび外部ループによって始まるが、判断ブロ
ック2730で非ゼロ・ビットが検出され、ブロック2
732で4分割部分カウントを増分するためのサブルー
チンが呼び出される。
されているかを判定するための論理の流れを示してい
る。このサブルーチンへの入口では、列カウントと走査
線カウントが偶数か奇数かを確認するために判断ブロッ
ク2771、2772、2773で3通りのテストが行
われる。対称かどうかをテストするため、イメージは対
称の半分ずつに分割しなければならず、列または走査線
が奇数の場合は、中央の列または走査線が対称軸になる
ので、この列または走査線は無視しなければならない。
列または走査線が偶数の場合、実際の対称線は2つの列
または行同士の間に入り、計算した中心点の列および行
はそれぞれ4分割部分3と4または3と2の一部にな
る。列と走査線のカウントの関係を確立した後、270
1〜2704、2706〜2709、2716〜271
9、2721〜2724の操作は、新たに見つかったビ
ットがどの4分割部分に入るかを判定するためのふるい
として機能する。列または走査線のカウントが奇数の場
合、対称軸上で見つかったビットはカウントされず、論
理はブロック2763で復帰するだけである。操作27
51〜2754は適切な4分割部分カウントを増分し、
サブルーチンは2763で復帰する。
25のブロック2735で非ゼロ・ビットの総数が増分
される。判断ブロック2765ですべての走査線が検査
されると、外部ループは終了し、すべてのビット・カウ
ントはブロック2775で呼出しルーチンに返される。
460でのビット・カウントのテストは、経験に基づい
て150ビットに設定されている、砂時計形状に適した
しきい値を使用する。テストで不合格になると、ブロッ
ク2495で否定の結果が返される。そうではない場
合、ブロック2470でポインタ・イメージが対称かど
うか検査される。
流れを示している。ブロック2600では、この特定の
ポインタ形状について対称検査が必要かどうかを判定す
るために、図30の砂時計用の微細形状マスクに照会す
る。判断ブロック2610で検査が一切不要である場
合、システムは単にブロック2680で対称に関する肯
定表示を呼出し側に返すだけである。砂時計の場合、列
と走査線両方の対称が必要なので、判断ブロック262
0の操作の結果、真であると判明し、論理はブロック2
630に移行し、そこで列対称線の両側の列ビット・カ
ウントがまとめて加算される。この2通りのカウントが
比較され、判断ブロック2640でその差が3ペルを上
回る場合、両側は非対称であると見なされ、ブロック2
690でサブルーチンは否定表示を返す。そうではない
場合、判断ブロック2650で走査線対称も検査しなけ
ればならないかどうかを確認するために検査が行われ
る。検査する必要がない場合、サブルーチンはブロック
2680で肯定を返して終了する。そうではない場合、
操作2660が実行され、そこで走査線対称線の両側の
4分割部分ビット・カウントが加算される。判断ブロッ
ク2670でこの2つのカウントの差が3ビットを上回
る場合、ポインタは垂直軸に対して非対称であると見な
され、ブロック2690で否定の結果が返される。そう
ではない場合、サブルーチンはブロック2680で呼出
しルーチンに真を返す。図34のクィーン・ポインタを
テストした場合、そのポインタは水平軸に対する対称テ
ストで不合格になるはずである。
たサブルーチンの復帰の処理後、判断ブロック2480
で必要な対称についてテストが行われ、それに応じてブ
ロック2490または2495で真または偽の表示がそ
れぞれ返される。
ければならず、2つのイメージを重ね、対称を検査する
ことから、わずかなパフォーマンス上の不利益が発生す
るが、この不利益は、認識アルゴリズムの信頼性の向上
によって軽減される。また、この不利益は、ポインタ・
タイプによって条件づけられた対称検査を使用すること
により、さらに軽減される。
状の認識を十分実施できるようになっていることが分か
るだろう。テキスト・ポインタ形状がIビームの形状に
近くなければならないとすると、本発明は、ポインタ形
状がIビームの視覚的外観を有するかどうかを判定する
ために光学認識を実行するために、ポインタのビットマ
ップを検査する。ポインタ形状は、Iビームのサイズ、
形状、特徴の点で相当な変形が可能なIビームのマスク
と照らし合わせてテストされるが、Iビームの妥当な模
写ではない形状は拒否される。
る。たとえば、VGA、SVGA、XGA解像度のディ
スプレイ・ドライバなどの複数のディスプレイ解像度
は、それぞれ異なるポインタ・ビットマップ・サイズ
(たとえば、32×32、40×40)を備えている可
能性がある。ポインタ解像度の差は、ポインタ・サイズ
に基づいて形状マスクを選択することにより、認識アル
ゴリズムにとって透過なものになる。本発明は、マウス
・ポインタにカラーを使用しても影響を受けない。カラ
ー変動は無視され、ポインタはモノクロの場合と同じよ
うに処理される。
ない。ポインタ・ビットマップは、実際には、所望のポ
インタ形状を除いて透過なポインタ形状イメージを生成
するために結合するカラー・インデックス値のアレイと
ともに、XORマスクとANDマスクという2つのマス
クから構成される。ポインタ形状は、XORマスクまた
はANDマスクあるいはその両方にコード化することが
できる。XORマスクは、通常、0であり、その形状
は、0のビットを1のビットに変換することによってコ
ード化される。これに対して、ANDマスクは、通常、
すべて1であり、形状をコード化するために0に変換さ
れる。
ペルを含み、そのうちの18程度は形状の定義に使用す
ることができる。ポインタの設計者は、ビットマップの
境界内であればどこでも自由にポインタをコード化する
ことができる。この問題を回避するため、本発明では、
ポインタ・イメージをビットマップ内に配置し、次にそ
のイメージをビットマップの左下に再配置する。
に相当な破格を認めるが、Iビーム以外の形状は相当な
確実さで拒否する。正確さを高めるため、一部のポイン
タ形状では、テスト中のポインタ形状がより高い解像度
のマスクと正確に位置合せされるような、余分な操作が
認識プロセスで必要な場合もある。さらに、垂直軸また
は水平軸あるいはその両方に対して対称なポインタ形状
についてより厳重なフィルタ処理を行うため、システム
は、テスト中のポインタ形状にこのような対称があるか
どうか探索する場合もある。
ベルの高速転送に対応できるように構築されている。し
たがって、左上端のビットは最終的に2進フォーマット
の左下端のビットになる。さらに、ビットマップは、イ
メージ内で連続する2つのビットがバイト境界を横切る
のであれば、15ビットで分離できることを意味するバ
イト・アレイである。これはいずれも、処理前にビット
マップについて重大なビット操作を行う必要がある。2
つの連続ビットは、ビットマップ・データを8ビット・
データではなく32ビット・データとして扱うときに不
連続になる可能性がある。したがって、本発明では、ビ
ットマップ・データを8ビットから32ビットの位置合
せに再フォーマットする。
リケーション定義ポインタについてマウス移動またはペ
ンダウン事象を基礎とする光学認識など、計算上の集中
操作を可能にしないような非常に厳重なパフォーマンス
要件がある。アプリケーション定義のポインタをテキス
トまたは非テキスト・ポインタ形状として分類するプロ
セスは、システムの応答性またはパフォーマンスに対し
て識別できるほどの影響を及ぼさない程度まで最適化さ
れる。
ィンドウ域を非テキスト・ウィンドウ域から区別するた
めにIビーム・ポインタ形状の光学認識を使用するが、
本発明は、ポインティング・デバイスがアプリケーショ
ンを移動するときに、ユーザが行うように、前記アプリ
ケーションの特定の状態を把握することによりオペレー
ティング・システムが利益を得るような、どのようなタ
スクでも実施することができる。アプリケーションが現
在使用中であり、ユーザ入力を処理できない時期を判定
するために、砂時計または時計の認識を使用する、第2
の実施例が記載されている。
たが、本発明の精神および範囲を逸脱せずにこのような
特定の実施例に対して変更を加えることができること
は、当業者であれば分かるだろう。さらに、このような
実施例は、例示のみを目的とするものであり、本発明の
範囲を制限したり、特許請求の範囲を狭めるためのもの
であると解釈してはならない。
の事項を開示する。
有するシステムIビーム・ポインタを有するペンベース
・コンピュータ・システムにおいて、ポインタの位置が
文字データを受け入れることができることを判定する方
法であって、前記ポインタがポインタIDを有し、前記
方法が、前記ポインタIDが前記システムIビーム・ポ
インタIDと等しいかどうかを判定するステップと、前
記ポインタIDが前記システムIビーム・ポインタID
と等しくない場合に、前記ポインタIDがポインタID
のテーブルに入っていて、Iビーム・ポインタであると
いうフラグが前記テーブル内に付いているかどうかを判
定するステップと、前記ポインタIDが前記ポインタI
Dのテーブルに入っていない場合に、前記ポインタがI
ビーム形状を有するかどうかを判定するステップとを含
むことを特徴とする方法。 (2)前記ポインタIDが前記システムIビーム・ポイ
ンタIDと等しい場合に、前記ポインタをペン形ポイン
タに変更するステップをさらに含むことを特徴とする、
上記(1)に記載の方法。 (3)前記ポインタIDが前記ポインタIDのテーブル
に入っていて、Iビーム・ポインタであるというフラグ
が前記テーブル内に付いている場合に、前記ポインタを
ペン形ポインタに変更するステップをさらに含むことを
特徴とする、上記(1)に記載の方法。 (4)前記ポインタがIビーム形状を有すると判定され
た場合に、前記ポインタIDを前記ポインタIDのテー
ブルに追加し、Iビーム・ポインタであるというフラグ
を前記ポインタIDに付けるステップをさらに含むこと
を特徴とする、上記(1)に記載の方法。 (5)前記ポインタがIビーム形状を有すると判定され
た場合に、前記ポインタをペン形ポインタに変更するス
テップをさらに含むことを特徴とする、上記(1)に記
載の方法。 (6)前記ポインタがIビーム形状を有するかどうかを
判定する前記ステップが、前記ポインタを事前定義Iビ
ーム・ポインタ形マスクと比較するステップを含むこと
を特徴とする、上記(1)に記載の方法。 (7)前記ポインタがIビーム形状を有するかどうかを
判定する前記ステップが、前記ポインタのすべての画素
が前記Iビーム・ポインタ形マスク内に入っている場合
に、前記ポインタを構成する画素の数をカウントするス
テップをさらに含むことを特徴とする、上記(6)に記
載の方法。 (8)前記ポインタを構成する画素の数が所定のしきい
値を上回る場合に、前記ポインタをペン形ポインタに変
更するステップをさらに含むことを特徴とする、上記
(7)に記載の方法。 (9)前記ポインタがビット・マップ内にあり、前記方
法が、前記ビット・マップを8ビットから32ビットの
位置合せに変換するステップを含むことを特徴とする、
上記(6)に記載の方法。 (10)前記ポインタがビット・マップ内にあり、前記
方法が、前記ビット・マップ内で前記ポインタを左寄せ
し、下寄せするステップを含むことを特徴とする、上記
(6)に記載の方法。 (11)非システム・ポインタがシステム・ポインタと
同等であることを判定する方法において、前記非システ
ム・ポインタがポインタIDを有し、前記方法が、前記
ポインタIDがポインタIDのテーブルに入っていて、
前記システム・ポインタと同等であるというフラグが前
記テーブル内に付いているかどうかを判定するステップ
と、前記ポインタIDが前記ポインタIDのテーブルに
入っていない場合に、前記非システム・ポインタの形状
に基づいて、前記非システム・ポインタが前記システム
・ポインタと同等であるかどうかを判定するステップと
を含むことを特徴とする方法。 (12)形状に基づいて、前記非システム・ポインタが
前記システム・ポインタと同等であると判定された場合
に、前記ポインタIDを前記ポインタIDのテーブルに
追加し、前記システム・ポインタと同等であるというフ
ラグを前記ポインタIDに付けるステップをさらに含む
ことを特徴とする、上記(11)に記載の方法。 (13)形状に基づいて、前記非システム・ポインタが
前記システム・ポインタと同等であるかどうかを判定す
る前記ステップが、前記非システム・ポインタを事前定
義マスクと比較するステップを含むことを特徴とする、
上記(11)に記載の方法。 (14)形状に基づいて、前記非システム・ポインタが
前記システム・ポインタと同等であるかどうかを判定す
る前記ステップが、前記非システム・ポインタのすべて
の画素が前記マスク内に入る場合に、前記非システム・
ポインタを構成する画素の数をカウントするステップを
さらに含むことを特徴とする、上記(13)に記載の方
法。 (15)形状に基づいて、前記非システム・ポインタが
前記システム・ポインタと同等であるかどうかを判定す
る前記ステップが、前記非システム・ポインタを構成す
る画素の数が所定のしきい値を上回る場合に、前記非シ
ステム・ポインタが所定の対称条件を満足するかどうか
を判定するステップをさらに含むことを特徴とする、上
記(14)に記載の方法。 (16)形状に基づいて、前記非システム・ポインタが
前記システム・ポインタと同等であるかどうかを判定す
る前記ステップが、前記非システム・ポインタを事前定
義粗大マスクと比較するステップを含むことを特徴とす
る、上記(11)に記載の方法。 (17)形状に基づいて、前記非システム・ポインタが
前記システム・ポインタと同等であるかどうかを判定す
る前記ステップが、前記非システム・ポインタのすべて
の画素が前記粗大マスク内に入る場合に、前記非システ
ム・ポインタを事前定義微細マスクと比較するステップ
を含むことを特徴とする、上記(16)に記載の方法。 (18)形状に基づいて、前記非システム・ポインタが
前記システム・ポインタと同等であるかどうかを判定す
る前記ステップが、前記非システム・ポインタのすべて
の画素が前記微細マスク内に入る場合に、前記非システ
ム・ポインタを構成する画素の数をカウントするステッ
プをさらに含むことを特徴とする、上記(17)に記載
の方法。 (19)形状に基づいて、前記非システム・ポインタが
前記システム・ポインタと同等であるかどうかを判定す
る前記ステップが、前記非システム・ポインタを構成す
る画素の数が所定のしきい値を上回る場合に、前記非シ
ステム・ポインタが所定の対称条件を満足するかどうか
を判定するステップをさらに含むことを特徴とする、上
記(18)に記載の方法。 (20)前記非システム・ポインタが砂時計ポインタで
あることを特徴とする、上記(11)に記載の方法。 (21)前記非システム・ポインタがIビーム・ポイン
タであることを特徴とする、上記(11)に記載の方
法。 (22)ディスプレイと、前記ディスプレイ上に表示可
能なシステムIビーム・ポインタとを有するペンベース
・コンピュータ・システムにおいて、前記システムIビ
ーム・ポインタがシステムIビーム・ポインタIDを有
し、ポインタによって示される前記ディスプレイ上の位
置が文字データを受け入れることができることを判定す
るシステムであって、前記ポインタがポインタIDを有
し、前記システムが、前記ポインタIDが前記システム
Iビーム・ポインタIDと等しいかどうかを判定する手
段と、前記ポインタIDが前記システムIビーム・ポイ
ンタIDと等しくない場合に、前記ポインタIDがポイ
ンタIDのテーブルに入っていて、Iビーム・ポインタ
であるというフラグが前記テーブル内に付いているかど
うかを判定する手段と、前記ポインタIDが前記ポイン
タIDのテーブルに入っていない場合に、前記ポインタ
がIビーム形状を有するかどうかを判定する手段とを含
むことを特徴とするシステム。 (23)前記ポインタがIビーム形状を有すると判定さ
れた場合に、前記ポインタIDを前記ポインタIDのテ
ーブルに追加し、Iビーム・ポインタであるというフラ
グを前記ポインタIDに付ける手段をさらに含むことを
特徴とする、上記(22)に記載のシステム。 (24)前記ポインタがIビーム形状を有するかどうか
を判定する手段が、前記ポインタを事前定義Iビーム・
ポインタ形マスクと比較する手段を含むことを特徴とす
る、上記(22)に記載のシステム。 (25)前記ポインタがIビーム形状を有するかどうか
を判定する前記手段が、前記ポインタのすべての画素が
前記Iビーム・ポインタ形マスク内に入っている場合
に、前記ポインタを構成する画素の数をカウントする手
段をさらに含むことを特徴とする、上記(24)に記載
のシステム。 (26)ディスプレイを有するコンピュータ・システム
において、非システム・ポインタがシステム・ポインタ
と同等であることを判定するシステムであって、前記非
システム・ポインタがポインタIDを有し、前記システ
ムが、前記ポインタIDがポインタIDのテーブルに入
っていて、前記システム・ポインタと同等であるという
フラグが前記テーブル内に付いているかどうかを判定す
る手段と、前記ポインタIDが前記ポインタIDのテー
ブルに入っていない場合に、前記非システム・ポインタ
の形状に基づいて、前記非システム・ポインタが前記シ
ステム・ポインタと同等であるかどうかを判定する手段
とを含むことを特徴とするシステム。 (27)形状に基づいて、前記非システム・ポインタが
前記システム・ポインタと同等であると判定された場合
に、前記ポインタIDを前記ポインタIDのテーブルに
追加し、前記システム・ポインタと同等であるというフ
ラグを前記ポインタIDに付ける手段を含むことを特徴
とする、上記(26)に記載のシステム。 (28)形状に基づいて、前記非システム・ポインタが
前記システム・ポインタと同等であるかどうかを判定す
る前記手段が、前記非システム・ポインタを事前定義マ
スクと比較する手段を含むことを特徴とする、上記(2
6)に記載のシステム。 (29)形状に基づいて、前記非システム・ポインタが
前記システム・ポインタと同等であるかどうかを判定す
る前記手段が、前記非システム・ポインタのすべての画
素が前記マスク内に入る場合に、前記非システム・ポイ
ンタを構成する画素の数をカウントする手段を含むこと
を特徴とする、上記(28)に記載のシステム。 (30)形状に基づいて、前記非システム・ポインタが
前記システム・ポインタと同等であるかどうかを判定す
る前記手段が、前記非システム・ポインタを構成する画
素の数が所定のしきい値を上回る場合に、前記非システ
ム・ポインタが所定の対称条件を満足するかどうかを判
定する手段を含むことを特徴とする、上記(29)に記
載のシステム。 (31)形状に基づいて、前記非システム・ポインタが
前記システム・ポインタと同等であるかどうかを判定す
る前記手段が、前記非システム・ポインタを事前定義粗
大マスクと比較する手段を含むことを特徴とする、上記
(26)に記載のシステム。 (32)形状に基づいて、前記非システム・ポインタが
前記システム・ポインタと同等であるかどうかを判定す
る前記手段が、前記非システム・ポインタのすべての画
素が前記粗大マスク内に入る場合に、前記非システム・
ポインタを事前定義微細マスクと比較する手段を含むこ
とを特徴とする、上記(31)に記載のシステム。 (33)形状に基づいて、前記非システム・ポインタが
前記システム・ポインタと同等であるかどうかを判定す
る前記手段が、前記非システム・ポインタのすべての画
素が前記微細マスク内に入る場合に、前記非システム・
ポインタを構成する画素の数をカウントする手段を含む
ことを特徴とする、上記(32)に記載のシステム。 (34)形状に基づいて、前記非システム・ポインタが
前記システム・ポインタと同等であるかどうかを判定す
る前記手段が、前記非システム・ポインタを構成する画
素の数が所定のしきい値を上回る場合に、前記非システ
ム・ポインタが所定の対称条件を満足するかどうかを判
定する手段を含むことを特徴とする、上記(33)に記
載のシステム。 (35)前記非システム・ポインタが砂時計ポインタで
あることを特徴とする、上記(26)に記載のシステ
ム。 (36)前記非システム・ポインタがIビーム・ポイン
タであることを特徴とする、上記(26)に記載のシス
テム。
ク図である。
クチャ図である。
キスト・ウィンドウの絵画表現である。
ト・ウィンドウの絵画表現である。
る。
・ポインタを示す図である。
インタを示す図である。
ポインタを示す図である。
としてフォーマットされたビットマップを示す図であ
る。
状マスクを示す図である。
状マスクを示す図である。
る。
よびシステムの好ましいソフトウェア実施態様の流れ図
である。
よびシステムの好ましいソフトウェア実施態様の流れ図
である。
よびシステムの好ましいソフトウェア実施態様の流れ図
である。
よびシステムの好ましいソフトウェア実施態様の流れ図
である。
よびシステムの好ましいソフトウェア実施態様の流れ図
である。
よびシステムの好ましいソフトウェア実施態様の流れ図
である。
よびシステムの好ましいソフトウェア実施態様の流れ図
である。
よびシステムの好ましいソフトウェア実施態様の流れ図
である。
よびシステムの好ましいソフトウェア実施態様の流れ図
である。
態になっている場合を判定するために砂時計ポインタ形
状認識が実行される、本発明の代替実施例の好ましいソ
フトウェア実施態様の流れ図である。
態になっている場合を判定するために砂時計ポインタ形
状認識が実行される、本発明の代替実施例の好ましいソ
フトウェア実施態様の流れ図である。
態になっている場合を判定するために砂時計ポインタ形
状認識が実行される、本発明の代替実施例の好ましいソ
フトウェア実施態様の流れ図である。
態になっている場合を判定するために砂時計ポインタ形
状認識が実行される、本発明の代替実施例の好ましいソ
フトウェア実施態様の流れ図である。
態になっている場合を判定するために砂時計ポインタ形
状認識が実行される、本発明の代替実施例の好ましいソ
フトウェア実施態様の流れ図である。
きにポインタ項目がポインタ・テーブルから除去される
場合の流れ図である。
ーション使用中」ポインタ形状の絵画表現である。
である。
である。
位置合せ不良を示す図である。
位置合せ不良を示す図である。
分を示す図である。
ィーン・ポインタ形状を示す図である。
Claims (36)
- 【請求項1】システムIビーム・ポインタIDを有する
システムIビーム・ポインタを有するペンベース・コン
ピュータ・システムにおいて、ポインタの位置が文字デ
ータを受け入れることができることを判定する方法であ
って、前記ポインタがポインタIDを有し、前記方法
が、 前記ポインタIDが前記システムIビーム・ポインタI
Dと等しいかどうかを判定するステップと、 前記ポインタIDが前記システムIビーム・ポインタI
Dと等しくない場合に、前記ポインタIDがポインタI
Dのテーブルに入っていて、Iビーム・ポインタである
というフラグが前記テーブル内に付いているかどうかを
判定するステップと、 前記ポインタIDが前記ポインタIDのテーブルに入っ
ていない場合に、前記ポインタがIビーム形状を有する
かどうかを判定するステップとを含むことを特徴とする
方法。 - 【請求項2】前記ポインタIDが前記システムIビーム
・ポインタIDと等しい場合に、前記ポインタをペン形
ポインタに変更するステップをさらに含むことを特徴と
する、請求項1に記載の方法。 - 【請求項3】前記ポインタIDが前記ポインタIDのテ
ーブルに入っていて、Iビーム・ポインタであるという
フラグが前記テーブル内に付いている場合に、前記ポイ
ンタをペン形ポインタに変更するステップをさらに含む
ことを特徴とする、請求項1に記載の方法。 - 【請求項4】前記ポインタがIビーム形状を有すると判
定された場合に、前記ポインタIDを前記ポインタID
のテーブルに追加し、Iビーム・ポインタであるという
フラグを前記ポインタIDに付けるステップをさらに含
むことを特徴とする、請求項1に記載の方法。 - 【請求項5】前記ポインタがIビーム形状を有すると判
定された場合に、前記ポインタをペン形ポインタに変更
するステップをさらに含むことを特徴とする、請求項1
に記載の方法。 - 【請求項6】前記ポインタがIビーム形状を有するかど
うかを判定する前記ステップが、 前記ポインタを事前定義Iビーム・ポインタ形マスクと
比較するステップを含むことを特徴とする、請求項1に
記載の方法。 - 【請求項7】前記ポインタがIビーム形状を有するかど
うかを判定する前記ステップが、 前記ポインタのすべての画素が前記Iビーム・ポインタ
形マスク内に入っている場合に、前記ポインタを構成す
る画素の数をカウントするステップをさらに含むことを
特徴とする、請求項6に記載の方法。 - 【請求項8】前記ポインタを構成する画素の数が所定の
しきい値を上回る場合に、前記ポインタをペン形ポイン
タに変更するステップをさらに含むことを特徴とする、
請求項7に記載の方法。 - 【請求項9】前記ポインタがビット・マップ内にあり、
前記方法が、 前記ビット・マップを8ビットから32ビットの位置合
せに変換するステップを含むことを特徴とする、請求項
6に記載の方法。 - 【請求項10】前記ポインタがビット・マップ内にあ
り、前記方法が、 前記ビット・マップ内で前記ポインタを左寄せし、下寄
せするステップを含むことを特徴とする、請求項6に記
載の方法。 - 【請求項11】非システム・ポインタがシステム・ポイ
ンタと同等であることを判定する方法において、前記非
システム・ポインタがポインタIDを有し、前記方法
が、 前記ポインタIDがポインタIDのテーブルに入ってい
て、前記システム・ポインタと同等であるというフラグ
が前記テーブル内に付いているかどうかを判定するステ
ップと、 前記ポインタIDが前記ポインタIDのテーブルに入っ
ていない場合に、前記非システム・ポインタの形状に基
づいて、前記非システム・ポインタが前記システム・ポ
インタと同等であるかどうかを判定するステップとを含
むことを特徴とする方法。 - 【請求項12】形状に基づいて、前記非システム・ポイ
ンタが前記システム・ポインタと同等であると判定され
た場合に、前記ポインタIDを前記ポインタIDのテー
ブルに追加し、前記システム・ポインタと同等であると
いうフラグを前記ポインタIDに付けるステップをさら
に含むことを特徴とする、請求項11に記載の方法。 - 【請求項13】形状に基づいて、前記非システム・ポイ
ンタが前記システム・ポインタと同等であるかどうかを
判定する前記ステップが、 前記非システム・ポインタを事前定義マスクと比較する
ステップを含むことを特徴とする、請求項11に記載の
方法。 - 【請求項14】形状に基づいて、前記非システム・ポイ
ンタが前記システム・ポインタと同等であるかどうかを
判定する前記ステップが、 前記非システム・ポインタのすべての画素が前記マスク
内に入る場合に、前記非システム・ポインタを構成する
画素の数をカウントするステップをさらに含むことを特
徴とする、請求項13に記載の方法。 - 【請求項15】形状に基づいて、前記非システム・ポイ
ンタが前記システム・ポインタと同等であるかどうかを
判定する前記ステップが、 前記非システム・ポインタを構成する画素の数が所定の
しきい値を上回る場合に、前記非システム・ポインタが
所定の対称条件を満足するかどうかを判定するステップ
をさらに含むことを特徴とする、請求項14に記載の方
法。 - 【請求項16】形状に基づいて、前記非システム・ポイ
ンタが前記システム・ポインタと同等であるかどうかを
判定する前記ステップが、 前記非システム・ポインタを事前定義粗大マスクと比較
するステップを含むことを特徴とする、請求項11に記
載の方法。 - 【請求項17】形状に基づいて、前記非システム・ポイ
ンタが前記システム・ポインタと同等であるかどうかを
判定する前記ステップが、 前記非システム・ポインタのすべての画素が前記粗大マ
スク内に入る場合に、前記非システム・ポインタを事前
定義微細マスクと比較するステップを含むことを特徴と
する、請求項16に記載の方法。 - 【請求項18】形状に基づいて、前記非システム・ポイ
ンタが前記システム・ポインタと同等であるかどうかを
判定する前記ステップが、 前記非システム・ポインタのすべての画素が前記微細マ
スク内に入る場合に、前記非システム・ポインタを構成
する画素の数をカウントするステップをさらに含むこと
を特徴とする、請求項17に記載の方法。 - 【請求項19】形状に基づいて、前記非システム・ポイ
ンタが前記システム・ポインタと同等であるかどうかを
判定する前記ステップが、 前記非システム・ポインタを構成する画素の数が所定の
しきい値を上回る場合に、前記非システム・ポインタが
所定の対称条件を満足するかどうかを判定するステップ
をさらに含むことを特徴とする、請求項18に記載の方
法。 - 【請求項20】前記非システム・ポインタが砂時計ポイ
ンタであることを特徴とする、請求項11に記載の方
法。 - 【請求項21】前記非システム・ポインタがIビーム・
ポインタであることを特徴とする、請求項11に記載の
方法。 - 【請求項22】ディスプレイと、前記ディスプレイ上に
表示可能なシステムIビーム・ポインタとを有するペン
ベース・コンピュータ・システムにおいて、前記システ
ムIビーム・ポインタがシステムIビーム・ポインタI
Dを有し、ポインタによって示される前記ディスプレイ
上の位置が文字データを受け入れることができることを
判定するシステムであって、前記ポインタがポインタI
Dを有し、前記システムが、 前記ポインタIDが前記システムIビーム・ポインタI
Dと等しいかどうかを判定する手段と、 前記ポインタIDが前記システムIビーム・ポインタI
Dと等しくない場合に、前記ポインタIDがポインタI
Dのテーブルに入っていて、Iビーム・ポインタである
というフラグが前記テーブル内に付いているかどうかを
判定する手段と、 前記ポインタIDが前記ポインタIDのテーブルに入っ
ていない場合に、前記ポインタがIビーム形状を有する
かどうかを判定する手段とを含むことを特徴とするシス
テム。 - 【請求項23】前記ポインタがIビーム形状を有すると
判定された場合に、前記ポインタIDを前記ポインタI
Dのテーブルに追加し、Iビーム・ポインタであるとい
うフラグを前記ポインタIDに付ける手段をさらに含む
ことを特徴とする、請求項22に記載のシステム。 - 【請求項24】前記ポインタがIビーム形状を有するか
どうかを判定する手段が、 前記ポインタを事前定義Iビーム・ポインタ形マスクと
比較する手段を含むことを特徴とする、請求項22に記
載のシステム。 - 【請求項25】前記ポインタがIビーム形状を有するか
どうかを判定する前記手段が、 前記ポインタのすべての画素が前記Iビーム・ポインタ
形マスク内に入っている場合に、前記ポインタを構成す
る画素の数をカウントする手段をさらに含むことを特徴
とする、請求項24に記載のシステム。 - 【請求項26】ディスプレイを有するコンピュータ・シ
ステムにおいて、非システム・ポインタがシステム・ポ
インタと同等であることを判定するシステムであって、
前記非システム・ポインタがポインタIDを有し、前記
システムが、 前記ポインタIDがポインタIDのテーブルに入ってい
て、前記システム・ポインタと同等であるというフラグ
が前記テーブル内に付いているかどうかを判定する手段
と、 前記ポインタIDが前記ポインタIDのテーブルに入っ
ていない場合に、前記非システム・ポインタの形状に基
づいて、前記非システム・ポインタが前記システム・ポ
インタと同等であるかどうかを判定する手段とを含むこ
とを特徴とするシステム。 - 【請求項27】形状に基づいて、前記非システム・ポイ
ンタが前記システム・ポインタと同等であると判定され
た場合に、前記ポインタIDを前記ポインタIDのテー
ブルに追加し、前記システム・ポインタと同等であると
いうフラグを前記ポインタIDに付ける手段を含むこと
を特徴とする、請求項26に記載のシステム。 - 【請求項28】形状に基づいて、前記非システム・ポイ
ンタが前記システム・ポインタと同等であるかどうかを
判定する前記手段が、 前記非システム・ポインタを事前定義マスクと比較する
手段を含むことを特徴とする、請求項26に記載のシス
テム。 - 【請求項29】形状に基づいて、前記非システム・ポイ
ンタが前記システム・ポインタと同等であるかどうかを
判定する前記手段が、 前記非システム・ポインタのすべての画素が前記マスク
内に入る場合に、前記非システム・ポインタを構成する
画素の数をカウントする手段を含むことを特徴とする、
請求項28に記載のシステム。 - 【請求項30】形状に基づいて、前記非システム・ポイ
ンタが前記システム・ポインタと同等であるかどうかを
判定する前記手段が、 前記非システム・ポインタを構成する画素の数が所定の
しきい値を上回る場合に、前記非システム・ポインタが
所定の対称条件を満足するかどうかを判定する手段を含
むことを特徴とする、請求項29に記載のシステム。 - 【請求項31】形状に基づいて、前記非システム・ポイ
ンタが前記システム・ポインタと同等であるかどうかを
判定する前記手段が、 前記非システム・ポインタを事前定義粗大マスクと比較
する手段を含むことを特徴とする、請求項26に記載の
システム。 - 【請求項32】形状に基づいて、前記非システム・ポイ
ンタが前記システム・ポインタと同等であるかどうかを
判定する前記手段が、 前記非システム・ポインタのすべての画素が前記粗大マ
スク内に入る場合に、前記非システム・ポインタを事前
定義微細マスクと比較する手段を含むことを特徴とす
る、請求項31に記載のシステム。 - 【請求項33】形状に基づいて、前記非システム・ポイ
ンタが前記システム・ポインタと同等であるかどうかを
判定する前記手段が、 前記非システム・ポインタのすべての画素が前記微細マ
スク内に入る場合に、前記非システム・ポインタを構成
する画素の数をカウントする手段を含むことを特徴とす
る、請求項32に記載のシステム。 - 【請求項34】形状に基づいて、前記非システム・ポイ
ンタが前記システム・ポインタと同等であるかどうかを
判定する前記手段が、 前記非システム・ポインタを構成する画素の数が所定の
しきい値を上回る場合に、前記非システム・ポインタが
所定の対称条件を満足するかどうかを判定する手段を含
むことを特徴とする、請求項33に記載のシステム。 - 【請求項35】前記非システム・ポインタが砂時計ポイ
ンタであることを特徴とする、請求項26に記載のシス
テム。 - 【請求項36】前記非システム・ポインタがIビーム・
ポインタであることを特徴とする、請求項26に記載の
システム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/660056 | 1996-05-31 | ||
| US08/660,056 US5898422A (en) | 1996-05-31 | 1996-05-31 | Method and system for recognition of pointers |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH1083274A true JPH1083274A (ja) | 1998-03-31 |
Family
ID=24647945
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP9123899A Pending JPH1083274A (ja) | 1996-05-31 | 1997-05-14 | ポインタ位置に文字データを受け入れられることを判定する方法およびシステム |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US5898422A (ja) |
| EP (1) | EP0810514B1 (ja) |
| JP (1) | JPH1083274A (ja) |
| DE (1) | DE69719404T2 (ja) |
| SG (1) | SG52944A1 (ja) |
Families Citing this family (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3837812B2 (ja) * | 1997-01-30 | 2006-10-25 | 株式会社ワコム | カートリッジ付コードレス電子ペン |
| EP1717679B1 (en) | 1998-01-26 | 2016-09-21 | Apple Inc. | Method for integrating manual input |
| US7345681B2 (en) * | 2004-02-17 | 2008-03-18 | Microsoft Corporation | Pen data capture and injection |
| USD559856S1 (en) * | 2006-07-25 | 2008-01-15 | Samsung Electronics Co., Ltd. | Generated image for display on a portable telephone |
| 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 |
| US7855718B2 (en) * | 2007-01-03 | 2010-12-21 | Apple Inc. | Multi-touch input discrimination |
| JP5361358B2 (ja) * | 2008-12-11 | 2013-12-04 | キヤノン株式会社 | 情報処理装置およびその制御方法、並びにプログラム |
| JP2010181616A (ja) * | 2009-02-05 | 2010-08-19 | Canon Inc | 表示装置及び表示方法 |
| US20110157001A1 (en) * | 2009-07-09 | 2011-06-30 | Nokia Corporation | Method and apparatus for display framebuffer processing |
| US9690599B2 (en) | 2009-07-09 | 2017-06-27 | Nokia Technologies Oy | Method and apparatus for determining an active input area |
| JP5840174B2 (ja) * | 2013-06-21 | 2016-01-06 | キヤノン株式会社 | 情報処理装置、その装置の制御方法、プログラム |
| US10097538B1 (en) * | 2017-08-12 | 2018-10-09 | Growpath, Inc. | User authentication systems and methods |
Family Cites Families (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4686332A (en) * | 1986-06-26 | 1987-08-11 | International Business Machines Corporation | Combined finger touch and stylus detection system for use on the viewing surface of a visual display device |
| US4625202A (en) * | 1983-04-08 | 1986-11-25 | Tektronix, Inc. | Apparatus and method for generating multiple cursors in a raster scan display system |
| JP2557359B2 (ja) * | 1986-12-26 | 1996-11-27 | 株式会社東芝 | 情報処理装置 |
| US5007085A (en) * | 1988-10-28 | 1991-04-09 | International Business Machines Corporation | Remotely sensed personal stylus |
| US5252951A (en) * | 1989-04-28 | 1993-10-12 | International Business Machines Corporation | Graphical user interface with gesture recognition in a multiapplication environment |
| US5157384A (en) * | 1989-04-28 | 1992-10-20 | International Business Machines Corporation | Advanced user interface |
| US5255363A (en) * | 1990-06-19 | 1993-10-19 | Mentor Graphics Corporation | Graph-based programming system and associated method |
| AU8649291A (en) * | 1990-09-06 | 1992-03-30 | Next Computer, Inc. | Method and apparatus for identifying wait states and for providing a wait cursor in a computer system |
| US5276816A (en) * | 1990-12-31 | 1994-01-04 | International Business Machines Corporation | Icon object interface system and method |
| US5231698A (en) * | 1991-03-20 | 1993-07-27 | Forcier Mitchell D | Script/binary-encoded-character processing method and system |
| US5664210A (en) * | 1991-08-19 | 1997-09-02 | International Business Machines Corporation | Method and system of providing multiple selections in text on a computer display |
| GB2266823A (en) * | 1992-04-21 | 1993-11-10 | Ibm | Correlation of cursor position in a computer system |
| US5442376A (en) * | 1992-10-26 | 1995-08-15 | International Business Machines Corporation | Handling multiple command recognition inputs in a multi-tasking graphical environment |
| US5515081A (en) * | 1993-11-30 | 1996-05-07 | Borland International, Inc. | System and methods for improved storage and processing of BITMAP images |
| US5586243A (en) * | 1994-04-15 | 1996-12-17 | International Business Machines Corporation | Multiple display pointers for computer graphical user interfaces |
| US5473343A (en) * | 1994-06-23 | 1995-12-05 | Microsoft Corporation | Method and apparatus for locating a cursor on a computer screen |
| 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 |
-
1996
- 1996-05-31 US US08/660,056 patent/US5898422A/en not_active Expired - Fee Related
-
1997
- 1997-04-03 SG SG1997001040A patent/SG52944A1/en unknown
- 1997-05-14 JP JP9123899A patent/JPH1083274A/ja active Pending
- 1997-05-29 EP EP97303697A patent/EP0810514B1/en not_active Expired - Lifetime
- 1997-05-29 DE DE69719404T patent/DE69719404T2/de not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| SG52944A1 (en) | 1998-09-28 |
| EP0810514A2 (en) | 1997-12-03 |
| EP0810514A3 (en) | 1998-09-16 |
| US5898422A (en) | 1999-04-27 |
| EP0810514B1 (en) | 2003-03-05 |
| DE69719404D1 (de) | 2003-04-10 |
| DE69719404T2 (de) | 2003-12-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5847705A (en) | Display system and memory architecture and method for displaying images in windows on a video display | |
| EP1703364B1 (en) | Word or character boudary-based scratch-out gesture recognition | |
| US5586237A (en) | Method for generating and displaying content-based depictions of computer generated objects | |
| US5862256A (en) | Distinguishing gestures from handwriting in a pen based computer by size discrimination | |
| US6356281B1 (en) | Method and apparatus for displaying translucent overlapping graphical objects on a computer monitor | |
| US6091430A (en) | Simultaneous high resolution display within multiple virtual DOS applications in a data processing system | |
| USRE36137E (en) | Instruction input system for electronic processor | |
| KR100464194B1 (ko) | 데이타 처리 시스템내의 표시영역에 적합한 아이콘 크기의 자동 조정 | |
| US5828783A (en) | Apparatus and method for input-processing hand-written data | |
| JPH1083274A (ja) | ポインタ位置に文字データを受け入れられることを判定する方法およびシステム | |
| US5887155A (en) | Vertex based geometry engine system for use in integrated circuit design | |
| US20070013722A1 (en) | Context map in computer display magnification | |
| EP0607130B1 (en) | Image position interpretation in a graphics system | |
| US4814755A (en) | Interactive display system | |
| US5742280A (en) | Hand-written graphic form inputting apparatus | |
| US5592604A (en) | Method and system for indicating boundaries of connected data subsets | |
| GB2266823A (en) | Correlation of cursor position in a computer system | |
| US6344856B1 (en) | Text optimization | |
| US6480124B2 (en) | CAD data compressing method and apparatus thereof | |
| US5659674A (en) | System and method for implementing an operation encoded in a graphics image | |
| US6304270B1 (en) | Method and apparatus for determining simple convex polygons | |
| JPS58211186A (ja) | 分割画面表示制御方式 | |
| US5644691A (en) | Method and apparatus for accelerated filling of polygons on a computer display by rectangular decomposition | |
| JP3184662B2 (ja) | 文書作成装置及び漢字混じりかな漢字変換方法 | |
| US20040233164A1 (en) | Method and apparatus for displaying hardware crosshair cursor in a specified region of a display |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060310 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071001 |
|
| A131 | Notification of reasons for refusal |
Effective date: 20071017 Free format text: JAPANESE INTERMEDIATE CODE: A131 |
|
| A521 | Written amendment |
Effective date: 20071217 Free format text: JAPANESE INTERMEDIATE CODE: A523 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080124 |