(57)【要約】【課題】スクラッチアウトジェスチャを検出し、例えばペンを介して入力された他の電子インクからスクラッチアウトジェスチャを区別するコンピュータ実装のシステムおよび方法を提供すること。【解決手段】本システムおよび方法は、境界ベースの基準を比較して区別するので、特別な形のスクラッチアウトパターンを有する必要がなく、広範囲にわたる様々なスクラッチアウトスタイルの検出を可能にする。基準には、潜在的なスクラッチアウトジェスチャが既に認識されている単語または文字と交差するか否か、スクラッチアウトジェスチャが単語または文字の境界ボックス幅の少なくとも閾値割合である幅を有するか否か、電子インクが境界ボックスの中心点を超えて延びているか否か、およびスクラッチアウトジェスチャの少なくともいくらかの部分が単語または文字のベースラインより上方にあるか否か等の境界ベースの評価が含まれる。【選択図】図２
2006260573.tif 000002
【特許請求の範囲】
【請求項１】
デジタイザを介して入力されたインクデータに対応するユーザ入力を受信するステップと、
少なくとも１つの対応する単語または文字の境界閾値データに基づいて、前記インクデータを評価して、前記ユーザ入力がスクラッチアウトジェスチャか否かを判定するステップと、
ａ）前記インクデータがスクラッチアウトジェスチャの場合、前記スクラッチアウトジェスチャに対応する既に入力されているインクを消去するステップと、
ｂ）前記インクデータがスクラッチアウトジェスチャでない場合、前記インクデータを単語または文字の少なくとも一部のインクストロークデータとして処理するステップと
を有することを特徴とするコンピューティング装置における、コンピュータ実装方法。
【請求項２】
デジタイザを介して入力されたインクデータに対応するユーザ入力の受信は、コンピュータペン入力のデータの受信に対応することを特徴とする請求項１に記載の方法。
【請求項３】
前記インクデータは、フリーフォーム書き込み領域において、可能なスクラッチアウトジェスチャとして受信され、前記境界閾値データは、既に入力されている単語または文字の境界ボックスに基づき、および前記インクデータを評価するステップは、前記ジェスチャの幅を前記境界ボックスの幅に対して比較するステップを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記インクデータを境界閾値データに基づいて評価するステップは、既に入力されている単語または文字の境界ボックス内に、ある特定の点を越えて前記ジェスチャが延びているか否かを判定するステップを含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記インクデータは、可能なスクラッチアウトジェスチャとしてフリーフォーム書き込み領域で受信され、前記境界閾値データは、既に入力されている単語または文字の境界ボックスに基づき、および前記インクデータを評価するステップは、前記境界ボックスの幅を最小の大きさと比較し、前記境界ボックスの幅が前記最小の大きさを下回る場合、第１の閾値を前記ジェスチャの幅との比較用に選択し、前記境界ボックスの幅が前記最小の大きさを上回る場合、異なる閾値を前記ジェスチャの幅との比較用に選択するステップを含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記インクデータを評価するステップは、前記ジェスチャの少なくとも一部分が既に入力されている単語または文字のベースラインの上方にあるか否かを判定するステップを含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記インクデータは、少なくとも２つの別個の単語または文字に対して適用するスクラッチアウトジェスチャであることを判定し、および前記別個の単語または文字に対応する既に入力されているインクを消去するステップと、前記別個の単語または文字の間に入る単語または文字の全てを消去するステップとをさらに有することを特徴とする請求項１に記載の方法。
【請求項８】
前記ジェスチャは、少なくとも１つの別個の追加ジェスチャストロークを含み、前記インクデータを評価するステップは、前記ジェスチャの第１ストロークを評価して前記インクデータがスクラッチアウトジェスチャであるか否かを判定し、スクラッチアウトジェスチャと判定された場合、前記ジェスチャの追加ストロークの各々を、該追加ストロークの各々を消去することを含めて、前記ジェスチャの第１ストロークの一部として処理するステップを含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記インクデータをインクストロークデータとして処理するステップは、前記インクデータを認識器に送信するステップを含むことを特徴とする請求項１に記載の方法。
【請求項１０】
前記インクデータは、可能なスクラッチアウトジェスチャとしてボックス書き込み領域で受信され、および前記境界閾値データは、前記ストロークが交差する既に認識されている文字のボックス幅に基づくことを特徴とする請求項１に記載の方法。
【請求項１１】
前記インクデータを境界閾値データに基づいて評価するステップは、前記ジェスチャが閾値距離を超えて前記ボックス内に延びているか否かを判定するステップを含むことを特徴とする請求項１に記載の方法。
【請求項１２】
実行時に請求項１に記載の方法を行う、コンピュータ実行可能命令を有するコンピュータ読取可能媒体。
【請求項１３】
デジタイザを介して受信されたインクデータを、単語または文字の境界コンテナの境界に対応する境界ベースの基準を使用して評価し、前記ユーザ入力がスクラッチアウトジェスチャか否かを判定するステップと、
前記基準を満たすとき、前記スクラッチアウトジェスチャに対応する位置にある既に入力されているインクを消去することを含めて、前記インクデータをスクラッチアウトジェスチャとして処理するステップと、
前記基準を満たさないとき、前記インクデータを単語または文字の少なくとも一部分のインクストロークとして処理するステップと
を有するステップを実行時に行うことを特徴とするコンピュータ実行可能命令を有するコンピュータ読取可能媒体。
【請求項１４】
前記インクデータを評価するステップは、前記基準を満たすか否かを前記インクデータの水平方向のストローク幅と前記境界コンテナの水平方向の幅との比率に基づいて判定することを特徴とする請求項１３に記載のコンピュータ読取可能媒体。
【請求項１５】
前記境界コンテナは、フリーフォーム書き込み領域内のインク経由で入力された単語を論理的に囲む境界ボックス含み、および前記インクデータを評価するステップは、前記境界ボックスの水平方向の幅と、距離に対応する固定値との閾値比率を選択するステップを含むことを特徴とする請求項１４に記載のコンピュータ読取可能媒体。
【請求項１６】
デジタイザからの電子インクを受信する手書き面コンポーネントと、
単語または文字の境界に対応する境界情報を提供するコンポーネントと、
前記手書き面コンポーネントと、前記境界情報を提供するコンポーネントとに結合されたスクラッチアウトジェスチャ検出器であって、前記手書き面で受信した電子インクを前記境界情報に基づく基準に対して評価して、前記電子インクがスクラッチアウトジェスチャに対応するか否かを判定する前記スクラッチアウトジェスチャ検出器と
を備えたことを特徴とするコンピューティング装置におけるシステム。
【請求項１７】
境界情報を提供する前記コンポーネントは、手書き認識器を含むことを特徴とする請求項１６に記載のシステム
【請求項１８】
前記基準は、一群の基準のうち少なくとも１つの基準を含み、前記一群の基準は、前記電子インクが１つまたは複数の既に認識されている単語または文字と交差するか否か、前記電子インクの有する境界ボックス幅が、電子インクが交差する少なくとも１つの既に認識されている単語または文字の境界ボックス幅の少なくとも閾値割合であるか否か、前記電子インクは、電子インクが交差する少なくとも１つの既に認識されている単語または文字の境界ボックス内に閾値の範囲を超えて延びているか否か、および前記電子インクの少なくともいくらかの部分が、電子インクが交差する少なくとも１つの既に認識されている単語または文字のベースラインの上方にあるか否かを含むことを特徴とする請求項１６に記載のシステム。
【請求項１９】
手書き面コンポーネントは、フリーフォーム書き込み領域またはボックス書き込み領域に対応することを特徴とする請求項１６に記載のシステム。
【請求項２０】
前記インクデータを評価するステップは、前記インクデータの水平方向のストロークが一定の水平範囲を超えて前記境界ボックス内に延びているか否かに基づいて、前記基準が満たされているか否かを判定することを特徴とする請求項１３に記載のコンピュータ読取可能媒体。
【請求項２１】
前記インクデータを評価するステップは、スクラッチアウトジェスチャに対する前記基準を満たしていることを判定し、および既に入力されているインクを消去するステップは、消去される他の２つの単語または２つの文字の間にある少なくとも１単語または１文字を消去するステップ、および／または消去される単語の直前または直後にある１文字単語を消去するステップを含むことを特徴とする請求項１３に記載のコンピュータ読取可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般的にコンピューティング装置に関し、より詳細にはコンピューティング装置とのユーザ相互作用に関する。
【背景技術】
【０００２】
現代のコンピューティング装置によりユーザは数多くの方法で情報を入力できる。その方法には、キーボード経由、１つまたは複数のタイプのポインティング装置の使用、および（通常ポータブル装置上の）専用ハードウェアボタンの使用が含まれる。ポインティング装置に関して、コンピュータシステムはマウスおよび／またはタッチパッドからユーザ入力を受信でき、デジタイザで構成されている場合、ペンおよびタッチデータを感知することによって、例えばスタイラス（ペン）または指経由で入力されたユーザ入力を受信できる。
【０００３】
パーソナルコンピュータには、タブレットベースのパーソナルコンピュータ等、デジタイザをディスプレイスクリーンに組み込んだものがある。このようなコンピューティング装置は、キーボードの有無にかかわらず、操作が可能で、多くのユーザにとって非常に有益である。タブレットベースのパーソナルコンピュータおよび同様な手書き文字受容コンピュータ装置により、ユーザは印刷文字、筆記体の語等の手書き文字を入力できる。手書き文字をコンピューティング装置に入力できることの価値ある一態様は、書かれた単語をテキストとして認識し、その後そのテキストを検索、提示して、テキスト編集プログラム等によって編集できるということである。
【０００４】
いくつかの装置上でユーザに提供される特徴は、入力した文字および単語をスクラッチアウトできることである。紙上のインクとは異なり、インク入力システムは、ユーザが取り除くべきであると考えるスクラッチアウトされた文字および単語を自動的に取り除く。この目的のため、現代の装置はインクを消去するスクラッチアウトジェスチャを検出するよう構成されている。このスクラッチアウトジェスチャは、基本的に、スクラッチアウトする単語または文字を“通って”タブレットスクリーンに描かれた特定の記号、またはタブレットペンの特定の動きである。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
既存のスクラッチアウトジェスチャ認識システムはニューラルネットワークに基づいており、いくつかの重大なユーザビリティの問題をかかえている。その問題の主な原因は、一般的に（および通常は水平方向に引き延ばされた）Ｚ形のジェスチャを要求することから生じる。ニューラルネット認識器は、スクラッチアウトジェスチャを構成するものに対する要件が厳しいので、比較的に高い割合でフォールスネガティブを引き起こす（例えば、ユーザはあるインクをスクラッチアウトしたいのに、そのジェスチャがインクのストロークとして認識される）。加えて、そのジェスチャ要件は、要求されるスクラッチアウトジェスチャが、ユーザの学習を必要とするものであるため、ユーザを不自然に制限する。通常のユーザは、スクラッチアウトジェスチャの何らかの形態を試すかもしれない。しかしながら、Ｚ形ジェスチャは、大多数のユーザにとって直感的でも自然でもない。
【０００６】
必要とされているのは、大多数のユーザの個人的なテキスト取り消しスタイルで動作する、より自然なスクラッチアウトジェスチャ（またはジェスチャ群）である。そのようなスクラッチアウトジェスチャはいずれも、ユーザにとって直感的で、学習することなしに発見可能でなければならず、かつ、一般的に手入力の削除操作に関するユーザの満足度を高めるものでなければならない。同時に、他のインク入力からスクラッチアウトジェスチャを正確に区別する割合も改善されるべきである。
【課題を解決するための手段】
【０００７】
簡潔に述べると、本発明は、潜在的なスクラッチアウトジェスチャの位置および水平方向の幅を、スクラッチアウトされうる単語または文字の境界に対して評価することによって、スクラッチアウトジェスチャの形態をとる一定の電子インクを他のインクから区別するシステムおよび方法を提供する。閾値となる量および比率を使用して、ジェスチャがスクラッチアウトか追加のインクかを決定する。
【０００８】
ユーザがストロークに対応する電子インクデータを入力すると、スクラッチアウトジェスチャ検出器が様々な閾値ベースのルールを適用して、スクラッチアウトジェスチャと他のインク入力とを区別する。スクラッチアウトは既存のインクを消去するために使用され、ノンスクラッチアウトはインクストロークを文字または単語を表す他のストロークに加える。スクラッチアウトジェスチャ検出器は、ジェスチャの決定に単語および文字の境界を使用するので、スクラッチアウトは所定のどのスクラッチアウトジェスチャの制限も受けない。従って、数個のスクラッチアウトスタイルのいずれを使用してもよい。これらのスタイルには、取り消し線ジェスチャ、Ｚ形ジェスチャ、垂直スクラッチアウトジェスチャ、円形スクラッチアウトジェスチャ、斜めスクラッチアウトジェスチャ、およびＸ形ジェスチャもしくは２重取り消し線ジェスチャを含むクロスアウトが含まれる。
【０００９】
一般に、単一のストロークはいずれもスクラッチアウトジェスチャとして認識される可能性がある。インクストロークからスクラッチアウトストロークを区別する基準の例は、スクラッチアウトが既に認識されている単語もしくは文字の上にある（その単語もしくは文字の境界ボックスと交差する）必要があること、および／またはスクラッチアウトストロークの幅が既に認識されている単語もしくは文字の幅に対して（水平方向に）一定の割合を有する必要があることなどである。単語のクロスアウト（Ｘアウト、２重取り消し線のアプローチ）等のスクラッチアウトスタイルを可能にするため、前のスクラッチアウトジェスチャに対するストロークの出合いのタイミングおよび／またはストロークの近接基準を、同じスクラッチアウトジェスチャの一部として考慮する。
【００１０】
一態様においては、フリーフォームの線引きされた書き込み領域内で、ストロークはある条件を満たすとき単語または単語群に関するスクラッチアウトジェスチャとみなすことができる。その条件とは、そのスクラッチアウトジェスチャストロークが既に認識されている単語の１つまたは複数と交差すること、およびそのストロークの境界ボックス幅が、そのストロークが交差する既に認識されている単語または単語群の境界ボックス幅の少なくとも閾値の割合に達することである。また、スクラッチアウトジェスチャのストロークは、単語の境界ボックスと、その単語の境界ボックス幅のある量（例えば半分）以上交差する必要があり、スクラッチアウトストロークの１部分が単語または単語群が載る線に対するベースライン上方にあることを必要とする。実際に測定した単語の長さに基づいて、距離（ピクセル等の相対距離を含んでもよい）において異なる閾値を使用してもよい。
【００１１】
別種の文章入力面は、ボックス書き込み領域を備える。この領域では、ユーザがボックスあたり１文字を入力する。一態様においては、スクラッチアウトジェスチャの基準は、ストロークが１つまたは複数の既に認識されている文字と交差する必要があること、および、そのストロークが有する境界ボックス幅は、ストロークが交差する既に認識されている文字または文字群のボックス幅の少なくともある閾値の割合であることを含む。さらに、ストロークは、それが交差する文字または文字群のボックスまたはボックス群の中央垂直軸（幅の半分）等の点と交わる必要がある。さらに、スクラッチアウトストロークの一部は、文字または文字群が載る線に対するベースラインの上方にあることを必要とする。
【００１２】
フリーフォームの線引きされた領域およびボックス書き込み領域において、単一のストロークによって、複数の線にわたるボックスを含む、複数のボックスをスクラッチアウトすることができる。単一のストロークを使用して１本の線上にある複数の単語または文字をスクラッチアウトする時、スクラッチアウトされた最初と最後の単語もしくは文字の間にある単語もしくは文字は、たとえそのストロークがそれらのボックスの１つまたは複数と交差しなくても、または、ストロークがそれらの１つまたは複数に対するスクラッチアウトと見なされなくても、削除される。同様に、単一のストロークを使用して複数の線上にある単語もしくは文字をスクラッチアウトする時、スクラッチアウトされた最初と最後の単語もしくは文字の間にある単語もしくは文字は、たとえストロークがそれらの１つまたは複数と交差しなくても、または、ストロークが交差し、それらの１つまたは複数に関するスクラッチアウトと見なされなくても、削除される。
【００１３】
スクラッチアウトされた単語が最後の単語でない時、その単語が１文字からなっており、かつその前の単語との間にスペースがなければ、次の単語も、スクラッチアウトされる。従って、文章の最後にあるピリオド等の句読点は、スクラッチアウトジェスチャがその前の単語を削除するとスクラッチアウトされが、必ずしも次の単語と交差していなくてもよい。
【００１４】
他の利点は、図面に関連させて行われる以下の詳細な記述から明らかになるであろう。
【発明を実施するための最良の形態】
【００１５】
図１に、本発明を実装することができる適切なコンピューティングシステム環境１００の一例を示す。コンピューティングシステム環境１００は適切なコンピューティング環境の一例にすぎず、本発明の用途または機能性の範囲に関して、いかなる制限をも示唆することを意図してはいない。さらに、コンピューティング環境１００は、例示的動作環境１００内で示されたコンポーネントまたはコンポーネントの組み合わせのいずれに関しても、いかなる依存性または要件を有するものと解釈するべきではない。
【００１６】
本発明は、数多くの他の汎用もしくは特殊目的のコンピューティングシステム環境または構成で動作可能である。本発明とともに使用するのに適した周知のコンピューティングシステム、環境、および／または構成は、これらに限定はしないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドもしくはラップトップ装置、タブレット装置、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能家電製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、任意の上記システムもしくは装置を含む分散コンピューティング環境、などを含む。
【００１７】
本発明は、プログラムモジュール等の、コンピュータが実行するコンピュータ実行可能命令の一般的な文脈で記述できる。一般的に、プログラムモジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含み、それらは特定のタスクを行うかまたは特定の抽象データ型を実装する。本発明は、さらに、通信ネットワークを通してリンクしたリモート処理装置がタスクを実行する分散コンピューティング環境において実践してもよい。分散コンピューティング環境では、プログラムモジュールは、メモリ記憶装置を含むローカルおよびリモートコンピュータ記憶媒体両方に存在してもよい。
【００１８】
図１を参照すると、本発明を実装するための例示的なシステムは、コンピュータ１１０の形態の汎用コンピューティング装置を含む。コンピュータ１１０のコンポーネントは、これらに限定はしないが、処理装置１２０、システムメモリ１３０、および、システムメモリを含む様々なコンポーネントを処理装置１２０に結合するシステムバス１２１を含んでよい。システムバス１２１は、何種類かのバス構造のいずれかであってよく、それらバス構造には、メモリバスまたはメモリコントローラ、周辺バス、および様々なバスアーキテクチャのいずれかを使用するローカルバスが含まれる。例えば、このようなアーキテクチャは、これらに限定はしないが、業界標準アーキテクチャ（ＩＳＡ）バス、マイクロチャネルアーキテクチャ（ＭＣＡ）バス、拡張ＩＳＡ（ＥＩＳＡ）バス、ビデオエレクトロニクス規格協会（ＶＥＳＡ）ローカルバス、メザニンバスとしても知られる周辺コンポーネント相互接続（ＰＣＩ）バスを含む。
【００１９】
コンピュータ１１０は、通常、様々なコンピュータ読取可能媒体を含む。コンピュータ読取可能媒体は、コンピュータ１１０がアクセス可能な任意の入手可能な媒体であってよく、揮発性および不揮発性媒体、取り外し可能および固定の媒体を含む。例えば、コンピュータ読取可能媒体は、これらに限定しないが、コンピュータ記憶媒体、および通信媒体を備えてよい。コンピュータ記憶媒体は、コンピュータ読取可能命令、データ構造、プログラムモジュールまたは他のデータ等の情報を格納するための任意の手法または技術で実装された、揮発性および不揮発性、取り外し可能および固定の媒体を含む。コンピュータ記憶媒体は、これらに限定しないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリもしくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）もしくはその他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または目的の情報を格納するために使用でき、かつコンピュータ１１０がアクセス可能な任意の他の媒体を含む。通信媒体は、通常、コンピュータ読取可能命令、データ構造、プログラムモジュールまたはその他のデータを、搬送波等の変調データ信号または他のトランスポートメカニズムに具現化するものであり、任意の情報伝達媒体を含む。「変調データ信号」という用語は、信号内の情報を符号化する方法によりその特性の1つまたは複数を設定または変更した信号を意味する。例えば、通信媒体は、これらに限定しないが、有線ネットワークまたは直接有線接続などの有線媒体、および音響、ＲＦ、赤外線、およびその他の無線媒体などの無線媒体がある。上記のいずれの通信媒体を組み合わせたものも、コンピュータ読取可能媒体の範囲に含まれる。
【００２０】
システムメモリ１３０は、読取専用メモリ（ＲＯＭ）１３１およびランダムアクセスメモリ（ＲＡＭ）１３２等、揮発性および／または不揮発性メモリの形態のコンピュータ記憶媒体を含む。起動時等にコンピュータ１１０内の要素間の情報転送を補助する基本ルーチンを含む基本入出力システム１３３（ＢＩＯＳ）は、通常、ＲＯＭ１３１に格納される。通常、ＲＡＭ１３２は、処理装置１２０に即座にアクセス可能な、および／または処理装置１２０が現在操作しているデータおよび／またはプログラムモジュールを含む。例として、図１は、これらに限定しないが、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６およびプログラムデータ１３７を示す。
【００２１】
コンピュータ１１０は、他の取り外し可能／固定の揮発性／不揮発性コンピュータ記憶媒体も含んでもよい。一例として、図１は、固定の不揮発性磁気媒体へ読み書きするハードディスクドライブ１４１、取り外し可能な不揮発性磁気ディスク１５２へ読み書きする磁気ディスクドライブ１５１、およびＣＤ−ＲＯＭまたは他の光媒体等の取り外し可能な不揮発性光ディスク１５６へ読み書きする光ディスクドライブ１５５を示す。その例示的な動作環境で使用できる他の取り外し可能／固定の揮発性／不揮発性コンピュータ記憶媒体は、これらに限定しないが、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、半導体ＲＡＭ、半導体ＲＯＭなどを含む。ハードディスクドライブ１４１は、通常、インタフェース１４０等の固定のメモリインタフェースを通してシステムバス１２１に接続され、磁気ディスクドライブ１５１と光ディスクドライブ１５５は、通常、インタフェース１５０等の取り外し可能メモリインタフェースによってシステムバス１２１に接続される。
【００２２】
上で記述し、図１に示したドライブとそれに関連するコンピュータ記憶媒体は、コンピュータ１１０のためにコンピュータ読取可能命令、データ構造、プログラムモジュールおよび他のデータを格納する。図１においては、例えば、ハードディスクドライブ１４１は、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６およびプログラムデータ１４７を格納するとして示されている。これらのコンポーネントは、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７と同じであってもよいし、異なってもよいことに留意されたい。オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７は、少なくともそれらが異なるコピーであることを示すために、ここでは異なった番号が与えられている。ユーザは、タブレット（電子デジタイザ）１６４、マイクロフォン１６３、キーボード１６２、および、マウス、トラックボールまたはタッチパッドと普通呼ばれるようなポインティング装置１６１等の入力装置を通してコンピュータ１２０に命令および情報を入力できる。他の入力装置（図示せず）は、ジョイスティック、ゲームパッド、パラボラアンテナ、スキャナ等を含んでよい。これらおよび他の入力装置は、システムバスに結合されるユーザ入力インタフェース１６０を通して処理装置１２０に接続されることが多いが、パラレルポート、ゲームポートまたはユニバーサルシリアルバス（ＵＳＢ）等の他のインタフェースおよびバス構造によって接続してもよい。モニタ１９１または他のタイプの表示装置も、ビデオインタフェース１９０等のインタフェース経由でシステムバス１２１に接続される。手書き文字等のデジタル化された入力を、タッチスクリーンインタフェース１９２等のインタフェース経由でコンピュータシステム１１０に入力できるタッチスクリーンパネル１９３等と、モニタ１９１は統合されてもよい。留意されたいのは、モニタおよび／またはタッチスクリーンパネルは、筐体に物理的に結合することができ、この筐体において、コンピューティング装置１１０は例えばタブレットタイプパーソナルコンピュータの中に組み込まれることである。タブレットタイプパーソナルコンピュータ内では、タッチスクリーンパネル１９３が原則的にタブレット１６４の役割を果たす。さらに、コンピューティング装置１１０等のコンピュータは、スピーカ１９５およびプリンタ１９６等の他の周辺出力装置を含んでもよく、それら周辺出力装置は出力周辺インタフェース１９４等を通して接続することができる。
【００２３】
コンピュータ１１０は、リモートコンピュータ１８０等のリモートコンピュータの１つまたは複数に対する論理接続を使用して、ネットワーク環境内で動作することができる。リモートコンピュータ１８０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア装置または他の共通ネットワークノードであってよく、図１においてはメモリ記憶装置１８１のみを示すけれども、通常はコンピュータ１１０に関して上述した要素の多くまたは全てを含む。図１に描かれている論理接続はローカルエリアネットワーク（ＬＡＮ）１７１および広域ネットワーク（ＷＡＮ）１７３を含むが、他のネットワークも含んでよい。そのようなネットワーク環境は、オフィス、企業規模のコンピュータネットワーク、イントラネットおよびインターネットにおいてごく普通である。
【００２４】
ＬＡＮネットワーキング環境において使用されるとき、コンピュータ１１０はＬＡＮ１７１にネットワークインタフェースまたはアダプタ１７０を通して接続される。ＷＡＮネットワーキング環境において使用されるとき、コンピュータ１１０は、通常、モデム１７２、またはインターネット等のＷＡＮ１７３上の通信を確立するための他の手段を含む。モデム１７２は、内部にあっても外部にあってもよく、ユーザ入力インタフェース１６０または他の適切なメカニズム経由でシステムバス１２１に接続できる。ネットワーク環境においては、コンピュータ１１０に関して描かれているプログラムモジュール、またはその一部は、リモートメモリ記憶装置に格納されてよい。図１は、例として、これに限定するわけではないが、メモリ装置１８１に常駐するとしてリモートアプリケーションプログラム１８５を示す。図示したネットワーク接続は例示的であり、コンピュータ間に通信リンクを確立する他の手段を使用してもよいことは理解されるであろう。
【００２５】
（スクラッチアウトの検出）
本発明は、主に、電子インク経由で入力されたユーザ入力データ、一般的にはペンデジタイザで電子インクとして受信されたコンピュータペン（スタイラス）入力に関する。一般に、インクはフリーフォーム入力領域で受信でき、そこで単語と認識される。ここで使用される「単語」とは、たとえ実際の単語でなくとも、１つまたは複数の文字、記号等の任意の組み合わせまたは順列であってよく、他の単語から何らかの方法で論理的に分離されるものである。インクはボックス書き込み領域で受信されてもよく、この領域内でボックスあたり(通常)１文字が入力される。単語と文字の入力に加えて、本発明は、スクラッチアウトジェスチャの形の特定の電子インクを検出および区別する。この電子インクは、ユーザが既に入力している単語または文字を消去しようとして入力するもので、例えば、１つまたは複数の既に入力している単語群もしくは文字群を通る線を引くことによって、または削除するべきタイプ（もしくは認識）されているテキストを通る線を引くことによって行われる。その区別は、ジェスチャの位置および水平方向幅を、スクラッチアウトの可能性がある単語または文字の境界に対して評価し、閾値量および閾値比率を使用して、ジェスチャがスクラッチアウトなのか追加のインクなのかを決定する。
【００２６】
理解されるであろうが、本発明は多数の方法で実施でき、ここに記述するのはその代替実施形態のほんの一部にすぎない。例えば、一実施形態では、単語の境界は手書き‐テキスト認識器が判定する。しかしながら、認識器を利用できない時、または認識器がユーザの入力速度に追いつかない時などに、手書き入力間の余白を評価する方法等、単語の境界を画定する他の方法を採用してもよい。実際、本発明に認識器は必要でない。例えば、ユーザは、システムが認識器を有するか否かに関係なく、手書き入力をスクラッチアウトでき、その結果、その手書き入力は消去される。さらに、この例では英単語が使用されているが、本発明は言語独立である。このように、本発明はここで使用される特定の例のいずれにも限定されず、一般にコンピューティングにおいて利点と有利性を提供する様々な方法で使用することができる。
【００２７】
図２はアーキテクチャの例を示す。この例では、ペンデジタイザ２０２およびタッチデジタイザ２０４が、適切なドライバ２０６および２０８を通して、タブレット入力パネル２１０と呼ばれるオペレーティングシステムレベルコンポーネントに結合されている。例示目的で、入力装置の各々が自身のドライバを有するとして示されているが、１つのドライバは複数の装置の入力を扱ってもよいことに留意されたい。
【００２８】
図２に示すように、タブレット入力パネル２１０は、ユーザがストロークに対応する電子インクデータを入力する、手書き入力面２１２を含むオブジェクト等を備えてよい。既知のように、このようなストロークを認識器２１６に送信することができ、認識器は例えば１つまたは複数の単語といった、それらのストロークに基づくテキストを返す。複数の単語が返される場合、単語は通常何らかの確率データまたはランキングと関連付けられ、最も可能性の高い単語がデフォルトでユーザのために自動的に選択される。認識は瞬時に起こらないため、任意のある時点では認識されたストロークデータ（テキスト）２２０と未認識のストロークデータ２２２が存在することがある。
【００２９】
タブレット入力パネル２１０は異なる種類の手書き面をサポートする。手書き面はフリーフォーム書き込み領域３２０（図３）を含み、この書き込み領域は、文字入力に関する編集能力を備えるフリーフォームテキスト認識パネル、ソフト（例えば、ＱＷＥＲＴＹ）キーボード、および、例えばフォーマットされたフィールドを完成するためなどに、手書き文字を個々の文字として入力するボックス入力領域４３０（図４）として設定（例えば、線引き）してよい。留意して頂きたいのは、インクはフリーフォームインク入力領域で受信できるが、一実施形態においては、ユーザは、線引きされた入力領域へのフリーフォーム書き込みに制限され、その領域ではユーザは１度に１つの線にインクを入力する。このことにより、単語間の境界の判定が容易になる。さもなければ、ユーザが任意の方向におよび／または任意の構成で書くことできるとき、単語間の境界判定はより困難になる。
【００３０】
本発明の様々な態様に従って、スクラッチアウト検出器２２４は様々な閾値ベースのルールを適用し、スクラッチアウトジェスチャと他のインク入力を区別し、さらに閾値ベースのルールを適用して、スクラッチアウトジェスチャがどの単語またはボックスに向けられているのかを決定する。この目的のため、手書き入力面２１２は未認識のストロークデータをスクラッチジェスチャ検出器２２４に提供し、次に、検出器２２４はそのストロークデータを認識されているストロークデータ（テキスト単語またはテキスト単語群またはボックス内の文字またはボックス内の文字群）２２０と比較し、ストロークがスクラッチジェスチャを構成するかどうかを判定する。スクラッチアウトジェスチャ検出器２２４は手書き入力面２１２に結果を返す。スクラッチアウトジェスチャに関しては、その結果は消去すべき単語群およびストロークまたはストローク群を含む。ノンスクラッチアウトジェスチャに関しては、結果は、ストロークを認識器２１６に送信されたインクデータの一部として提供するというものである。これはストローク処理の単なる１つのメカニズム例であることに留意されたい。
【００３１】
例えば、代替的なメカニズムは、認識器がユーザより遅く、ストロークを認識しての処理が、ユーザが戻ってそれらのストロークをスクラッチアウトするよりも遅い状況を扱うことができる。例えばジェスチャ認識よりも間隔に基づいて単語境界を評価できるオプション的な（図２中で点線のボックスと線で示される）境界検出器２２６は、スクラッチアウトを他のジェスチャから区別するためにスクラッチアウトジェスチャ認識検出器２２４によって使用できる。このような境界検出器２２６は、例えば認識結果と共になど、他の時にも使用できることに留意されたい。いずれにせよ、何らかの認識前の境界定義がある限り、未認識のストロークにスクラッチアウト検出を代替的に実装することは容易である。
【００３２】
上述のように、他の（例えばニューラルネットワークベースの）システムと違って、本発明のスクラッチアウトジェスチャ検出器２２４は、決定に単語および文字境界を使用することよって、スクラッチアウトが前もって定義されたスクラッチアウトジェスチャのいずれにも限定されない。例えば、ストロークの方向、ストロークの順序、ジグザグの数に制約はない。その代わりに、スクラッチアウト検出器２２４は原則的に次の仮定をする。すなわち、線引きされた書き込み領域３２０内では、スクラッチアウトジェスチャを単語またはボックス内の文字から区別するため、ユーザは（絵や図を描くのではなく）テキストを書き込むだけであると仮定する。従って、数個のスクラッチアウトスタイルのいずれを使用してもよい。スクラッチアウトジェスチャとして認識されるいくつかのスタイルには、取り消し線ジェスチャ、Ｚ形ジェスチャ、垂直スクラッチアウトジェスチャ（例えば、ＭまたはＷという一般的パターン）、円形スクラッチアウトジェスチャ、斜めスクラッチアウトジェスチャ、およびＸ形ジェスチャもしくは２重取り消し線ジェスチャを含むクロスアウトが含まれる。ユーザの個人的なスクラッチアウトスタイルもスクラッチアウトジェスチャとして機能する、または機能するよう構成できる。
【００３３】
一般に、任意の単一のストロークは、例えば前もって定義された基準やシステムをトレーニングするユーザに基づく基準等、確立された基準に基づいてスクラッチアウトジェスチャとして認識されうる。一実施形態においては、クロスアウト（例えば、Ｘ形または２重取り消し線）ジェスチャは、第１ストロークがスクラッチアウトに対して分析されることとなり、第１ストロークがスクラッチアウトと判定されると、以下で記述するように、第２ストロークが消去されるか後のインクストロークとみなされるかは、第２ストロークのスクラッチアウトストロークに対するタイミングと近さに基づいている。従って、２つの（より多くも可能）素早く近いスクラッチアウトストロークは単一のスクラッチアウトとみなされる。一方、スクラッチアウトストロークの後かなり経った後の次のストローク、および／またはスクラッチストロークから遠く離れたスクラッチアウトストロークは新しいインクであるとみなされる。このように、ユーザは他のインクをスクラッチアウトした少し後にインクを入力でき、さらにまた、複数の素早いスクラッチアウトストロークを使用することができる。
【００３４】
インクストロークからスクラッチアウトストロークを区別する基準例は、スクラッチアウトが既に認識されている単語または文字の上にあること、および／またはスクラッチアウトストロークの幅（即ち、ストロークの太さでなく、水平方向の長さ）が既に認識されている単語または文字の幅（水平方向の長さ）に対して一定の割合を有する必要があることを含んでよい。比較のため、境界ボックスを計算してもよい。
【００３５】
一実施形態では、図３に表されている領域３２０等のフリーフォームの線引きされた書き込み領域においては、ストロークは多くの基準を満たすとき、単語または単語群に関するスクラッチアウトジェスチャと見なされる。フリーフォームの単語入力に対する基準は、スクラッチジェスチャストロークが１つまたは複数の既に認識されている（少なくとも１つの文字を有する）単語と交差すること、および、そのストロークの有する境界ボックス幅が、そのストロークが交差する既に認識されている単語または単語群の境界ボックス幅の少なくとも閾値の割合（例えば、８０パーセント）に達することを含む。これは図５Ａ中で一般的に表されており、ストロークの長さが十分でない図５Ｂと比較して、手書き単語“クリーム”に十分にかかっている長いストロークはスクラッチアウトジェスチャとみなされる。
【００３６】
さらに、この実施形態では、ストロークは単語の境界ボックスと、その境界ボックス幅のいくらかの量（例えば半分）以上交差する必要があり、かつ、例えばスクラッチアウトジェスチャを下線および／または文字のディセンダと混同しないように、スクラッチアウトストロークの一部分は単語または単語群が載る線に対するベースライン上方にあることを必要とする。従って、図６Ａおよび図７Ａのジェスチャはスクラッチアウトジェスチャであり、図６Ｂおよび図７Ｂのはそうではない。ここで、図６Ａおよび図６Ｂにおいて点線は幅方向の中心を示し、図７Ａおよび７Ｂにおける点線はベースラインを示す。
【００３７】
インチやピクセル等のなんらかの閾値距離単位に対して測定したときに幅が短い単語、例えば“ｉｔ”等の１文字または２文字単語では、上述した閾値割合より大きい閾値割合、通常は単語幅の１００パーセントより大きい境界ボックス幅を有するストロークが要求される。例えば、ある実施形態においては、（適切なサイズのタブレット上で）半インチ等の何らかの閾値長に達しない単語に関して、スクラッチアウトジェスチャと見なされるためには、ストローク幅は何らかの他の割合の値、例えば、そのストロークが交差する既に認識されている単語または単語群のボックス幅の（上の例の８０パーセントという値ではなく）少なくとも１２０パーセントといった値等であることが必要である。従って、図８Ａの例においては、ストロークはこの基準を満たすが、図８Ｂでは満たさない。図８Ｂにおいて、短いストロークは、誤認識後のユーザの“修正”操作等で、小文字の“ｌ”を“Ｔ”または“ｔ”に変換する試みのようにある程度みえることに留意されたい。容易に理解できるように、他のサイズ基準は他の割合の値を有してよい。例えば、幅が半インチより大きく３分の２インチ以下の単語をスクラッチアウトする目的で、スクラッチジェスチャと見なされるためには、ストロークは、そのストロークが交差する既に認識されている単語のボックス幅の１００パーセント以上のボックス幅を有する必要があり、図６Ａおよび図６Ｂの８０パーセント閾値の例でも、図８Ａおよび図８Ｂの１２０パーセント閾値の例でもない。例えば、幅が半インチ未満の単語に対しては、スクラッチアウトストロークを、その単語の中央垂直軸上に一般的に中寄せする必要があるといったように、他の基準を採用してもよい。
【００３８】
上述のように、別の種類の文章入力面は、図４に表されるようなボックス書き込み領域を備える。ボックス書き込み領域においては、ストロークはそれが一定の他の基準を満たす場合に、ボックスまたはボックス群に関するスクラッチアウトジェスチャと定義される。一実施形態においては、そのような基準は、ストロークが１つまたは複数の既に認識されている文字と交差し、かつ、そのストロークの有するボックス幅が、そのストロークが交差する既に認識されている文字または文字群のボックス幅の少なくともある閾値割合（例えば、１２０パーセント）であることを含む。さらに、ストロークは、それが交差する文字または文字群に対するボックスまたはボックス群の中央垂直軸（幅の半分）と交わる必要がある。スクラッチアウトストロークの一部分は、文字または文字群が載る線に対するベースラインの上方にあることを必要とする。
【００３９】
スクラッチアウトはボックスの内容全体を削除することに留意されたい。従って、ボックス入力領域内のボックスが複数の文字を含む場合、スクラッチアウトジェスチャはボックス内の全ての文字を削除する。単一ストロークは、複数の線にわたるボックスを含む、複数のボックスをスクラッチアウトできる。
【００４０】
フリーフォームの線引きされた書き込み領域およびボックス書き込み領域に対して一定のルールが適用できる。例えば、単語のクロスアウト（Ｘアウトまたは２重取り消し線のアプローチ）等のスクラッチアウトスタイルを可能にするため、一定の基準を満たすストロークは、たとえそれが別のインクストロークと交差しなくても、スクラッチアウトジェスチャと見なされる。従って、その前のストロークがスクラッチアウトジェスチャであった時、そのストロークからペンが離れた後、ごく短時間（例えば、１秒）でストロークが追加される場合、そのストロークは同じストロークジェスチャの１部とみなすことができる。評価してよい他の基準は、ストロークが、既にスクラッチアウトされた境界ボックスを結合したものと、その結合した境界ボックスの幅のある割合（例えば、８０パーセント）以上交差すること、およびストロークが、交差されたインクストロークの代わりに、既に削除されているインクの境界ボックスを使用して、スクラッチアウトジェスチャであるための他の基準を満たすことを含む。
【００４１】
スクラッチアウトされた単語が最後の単語でない時、次にくる語の長さが１文字で、前の単語との間にスペースがなければ、その語は同様に削除される。従ってピリオドは、たとえ前の単語を削除したスクラッチアウトジェスチャが、ピリオドとは必ずしも交差しなくても、文末でスクラッチアウトされる。
【００４２】
単一のストロークを使用して１本の線上の複数の単語または文字をスクラッチアウトするとき、スクラッチアウトされた最初と最後の単語間または最初と最後の文字間にある単語または文字は、たとえそのストロークがその単語または文字の境界ボックスの１つまたは複数と交差していなくても、または、それらの１つまたは複数に関するスクラッチアウトと見なされなくても、削除される。従って、例えば、図９において、真ん中の単語“Ｉｃｅ”は、ストロークがその単語のベースラインより下にあり、かつ、境界ボックスと十分に交差していないが、単一のジェスチャでスクラッチアウトされた２つの単語間にあるのでスクラッチアウトされる。同様に、単一のストロークを使用して複数の線上にある単語または文字をスクラッチアウトするとき、スクラッチアウトされた最初と最後の単語間もしくは最初と最後の文字間にある単語もしくは文字は、たとえそのストロークがその単語もしくは文字の１つまたは複数と交差しなくても、または交差はするが、その単語もしくは文字の１つまたは複数に関するスクラッチアウトと見なされなくても、削除される。
【００４３】
スクラッチアウト検出メカニズムの動作説明に移る。図１０は、ステップ１００２によって表される、新しいストロークを受信したときの処理例を示す。ステップ１００４は、ストロークが前のスクラッチアウトジェスチャの第２ストロークか否かをテストする。上述のように、第２ストロークは、ユーザが最初のスクラッチアウトジェスチャを行い、ペンを上げ、そして第２ジェスチャを行うときに生じる。上述のように、ステップ１００４で考慮事項を使用して、ユーザがマルチストロークジェスチャを意図したのか、それともスクラッチアウトジェスチャに続く新しいストロークを意図したのかを区別する。ストロークがスクラッチアウトジェスチャの第２ストロークである場合、第１ストロークはすでにスクラッチアウトジェスチャであったと判定されているので、スクラッチアウトすべき単語もしくは単語群（またはボックスもしくはボックス群）が分かり、そのため、新しいストロークをステップ１００６で自動的に消去することができる。その後、その処理は、別の新しいストロークが検出されると終了する。
【００４４】
ステップ１００４に戻って、スクラッチアウトの第２ストロークでない場合、代わってステップ１００８を実行し、可能なスクラッチアウトジェスチャを原則的に適用する単語群またはボックス群のリスト、すなわちストロークが交差する単語群またはボックス群のリストを生成する。フリーフォーム（例えば、線引きされた面）入力に関する図１１Ａおよび図１１Ｂ、およびボックス入力に関する図１３を参照して以下で記述するように、様々な評価を行い、ストロークがスクラッチアウトジェスチャであるか否か、もしそうならばどの単語（群）またはボックス（群）に対してストロークが適用されるのかを判定する。ステップ１００８は、本来、ユーザが書いているのがフリーフォーム入力面上かボックス入力面上かの判定を含み、そのステップ１００８経由で呼び出された場合、図１１Ａおよび１１Ｂは０個以上の単語リストを生成して返す。ステップ１００８経由で代替的に呼び出された場合、図１３は０個以上のボックスのリストを生成して返す。
【００４５】
図１１Ａと図１１Ｂまたは図１３を呼び出した後、必要に応じて、ステップ１０１０は単語またはボックスのリストが空か否かを評価する。空の場合、ステップ１０１０はステップ１０１２に分岐し、ストロークをインクストロークとして扱う。空でない場合、ステップ１０１４を実行し、ストロークおよび、リスト中の単語またはボックスを消去する。その後、処理は終了する。
【００４６】
上述したように、図１１Ａおよび図１１Ｂに示すのは、ユーザが新しいストロークをフリーフォーム入力面上に入力するときに呼び出される処理の一部である。この処理は、ストロークがスクラッチアウトジェスチャか否かを判定し、スクラッチアウトジェスチャの場合、削除すべき単語のリストを生成する。この目的のため、図１１Ａおよび図１１Ｂは、閾値評価に基づいた単語ルールを含む様々なルールに対してストロークを評価する。この閾値評価については、図１２Ａおよび図１２Ｂを参照して以下で一般的に記述する。
【００４７】
図１１Ａは、ストロークが複数の線と交差するか否かをステップ１１０２で判定することにより評価を開始する。ストロークが複数の線と交差する場合、ステップ１１０４で線の境界を１本の線から複数の線へ変更する。この変更は、原則的に、全ての単語に対する仮想インク境界ボックスを、ストロークが交差する最も上の線の上端および最も下の線の下端まで延ばすことによって行う。複数の線と交差しない場合、ステップ１１０４はバイパスされる。
【００４８】
その後、ステップ１１０６は、通常閾値でストロークと交差する境界ボックスを有する線にある全ての単語を、少なくとも現時点ではリストに追加する。単語がストロークと交差するには、境界ボックスがストロークと一定閾値量で交差することが要求される。
【００４９】
ステップ１１０８は、リストが１つの単語のみを含むか否かをテストする。リストが含む単語が１つでなければ、処理は以下で記述するように図１１Ｂに続く。そうでなければ、リスト内には１つの単語のみが存在し、ステップ１１１０を実行する。ステップ１１１０は、上述したように、また、図１２Ａおよび図１２Ｂを参照して以下で記述するように、ストローク長、およびストローク長が少なくとも境界ボックスの中心まで延びているか否かをテストする。延びていない場合、スクラッチアウトする単語はなく、処理は図１０に戻り、終了する。延びている場合、処理は図１１Ｂに続く。
【００５０】
図１１Ｂは、例外をテストする。すなわち、リスト中の最後の単語に、後ろにスペースのない１文字単語が続くか否かというテストをする。同様に、最初の単語は先行文字に対して評価される。上述したように、これは、ピリオド、クエスチョンマーク、感嘆符、アポストロフィ、コンマ、引用符等の（単語の前後の）句読点、およびそれ以外の文字を扱う。先行および後続の１文字単語を処理することは、言語独立性も助けることに留意されたい。例えば、スペイン語のクエスチョンマーク文字は、クエスチョンマーク文字（“？”）が文章を終わらせるように現れる方法に対して、文章の前に上下逆で現れる。これは、さらに、アラビア語ベースの言語またはヘブライ語等、右から左（ＲＴＬ）の言語においてスクラッチアウト動作を扱う。１文字単語は、ある単語の一部である可能性があるので、ステップ１１２０はこの状況を探す。この状況が発見された場合、先行および／または後続の１文字単語（または単語群）をステップ１１２２でリストに追加する。
【００５１】
ステップ１１２４は複数の線にわたるスクラッチアウトを探して（１本の線上にある最初の単語と最後の単語の間に単語が存在するか否かを探すこともできるが）、複数の線にわたるスクラッチアウトがある場合、スクラッチアウトされる最初の単語と最後の単語間にある単語は全てリストに加える。この時点で、削除すべき単語のリストが分かり、処理は図１０のステップ１０１０に戻る。
【００５２】
図１２Ａおよび図１２Ｂは、１本の線上の、１つの単語のスクラッチアウトの評価の例をより詳細に表す。図１２において、以下の略語を使用する。
【００５３】
【表１】
2006260573.tif 000003
【００５４】
図１２Ａにおいて、ステップ１２０２は単語のインク境界ボックスを、例えば上述のように半インチといった、最小値に対して評価する。最小値を下回れば、ステップ１２０２はステップ１２０４に分岐し、そこでスクラッチアウトストローク幅を、単語幅に対するスクラッチアウトストローク幅の閾値と（例えば割合で）比較する。閾値を上回る場合、処理は以下に記述するように図１２Ｂへ続く。上回らない場合、ステップ１２０４は、ステップ１２１０に分岐し、単語はそのリストに含まれない。
【００５５】
ステップ１２０２に戻って、最小値に達する場合、ステップ１２０６が実行され、単語のインク境界ボックスを、その単語のインク境界ボックスの閾値に対して評価する。閾値未満の場合、ステップ１２０６はステップ１２０８に分岐し、そこでスクラッチアウトストロークの幅をさらなる基準に対して評価する。ステップ１２０８で表されているように、ストローク幅は最小スクラッチアウトストローク幅以上であることを必要とし、かつ単語のインク境界ボックスに、その単語幅に関するスクラッチアウトストローク幅の割合の閾値を掛けた値より大きい必要がある。そうでなければ、その単語はステップ１２１０経由ではリストに含まれない。ステップ１２０８で両方の基準を満たす場合、以下で記述するように処理は図１２Ｂ経由で評価を続ける。
【００５６】
ステップ１２０６に戻って、インク境界ボックスが閾値を超えるとき、ステップ１２１２が実行され、その境界ボックスをその単語の境界ボックスの閾値（単語Ｔ１＜Ｔ２）に対して比較する。単語Ｔ１＜Ｔ２の場合、処理はステップ１２１４へと続き、単語Ｔ１＜Ｔ２でなければ、処理は通常閾値に対するハンドラであるステップ１２１６へと続く。ステップ１２１６で、スクラッチアウトストロークの幅を、その単語のインク境界ボックスの閾値に単語幅Ｔ２に関するスクラッチアウトストローク幅の閾値（割合）を掛けたものに対して評価を行い、さらに単語のインク境界ボックス、およびＴ２より大きい単語幅に関するスクラッチアウトストローク幅の閾値（割合）とも評価を行う。ストローク幅が両方閾値未満の場合、その単語はステップ１２１８経由ではリストに含まれず、ストローク幅が両方閾値以上の場合、処理はストロークデータをさらに処理するために図１２Ｂへと続く。
【００５７】
ステップ１２１２の“はい”分岐は代わりにステップ１２１４に分岐し、スクラッチアウトストロークの幅を分析する。詳細にいうと、ステップ１２１４では、スクラッチアウトストロークは、その単語のインク境界ボックスの閾値に、単語幅に関するスクラッチアウトストローク幅の割合の閾値を掛けたものと少なくとも同じ幅である必要があり、かつ、境界ボックスに、その単語幅に関するスクラッチアウトストローク幅の割合閾値を掛けたものと少なくとも同じ幅であることを必要とする。その要件を満たさない場合、その単語はステップ１２１８経由ではリストに含まれず、満たす場合、処理は図１２Ｂへと続く。
【００５８】
図１２Ｂで、ステップ１２２０は複数の線のスクラッチアウトに関するストロークを評価する。複数の線のスクラッチアウトの場合、単語はステップ１２２６経由でスクラッチアウトリストに追加され、処理は原則的に図１１Ａのステップ１１１０に戻る。複数の線のスクラッチアウトでなければ、ステップ１２２４は、スクラッチアウトストロークが単語の境界ボックスに対して中央寄せ（例えば、ストロークのいくらかの部分が垂直軸と交わる）されたか否かを判定する。中央寄せされていれば、単語はスクラッチアウトリストにステップ１２２６経由で追加される。中央寄せされていなければ、単語はステップ１２２８経由ではリストに含まれない。以上のように、フリーフォームで入力された単語はこのように、境界ボックスおよび可能な単数および複数のスクラッチアウトストロークに関する様々な閾値ルールに基づいて扱われる。従って、様々なスタイルのストロークが、スクラッチアウトストロークとして受け入れ可能である。
【００５９】
図１０のステップ１００８に戻ると、ステップ１１Ａ経由での処理の代わりに、ボックス入力領域に対してリストを図１３経由で生成する。ステップ１３０２は、通常閾値でストロークと交差するテキストを有するボックスを、一般的に図１４経由で判定されるように、リストに追加することを表す。図１４において、以下の略語を使用する。
【００６０】
【表２】
2006260573.tif 000004
【００６１】
処理はステップ１４０２で始まり、ボックス幅が、広いボックスの閾値を超えているか否かを評価する。超えていれば、ステップ１４０４は、ボックス幅に通常ボックスに関するスクラッチアウトストローク幅の割合の閾値を掛けた値に対してストローク幅を比較する。ステップ１４０４でストローク幅が十分に長い場合、ステップ１４０４はステップ１４１０に分岐して、ボックスをリストに追加する。そうでない場合、ボックスはリストに含まれない。
【００６２】
代わりにステップ１４０２で、ボックス幅が、広いボックスの閾値を超えなかった場合、ステップ１４０２はステップ１４０６に分岐し、ボックス幅と広いボックスに関するスクラッチアウトストローク幅の割合の閾値を掛けた積に対してストローク幅を比較する。ストローク幅がこの閾値に達する場合、ボックスはステップ１４１０でリストに追加され、達しない場合、ボックスはステップ１４０８経由ではリストに含まれない。
【００６３】
図１３に戻って、ステップ１３０４はストロークが複数の線と交差するか否かを判定する。複数の線と交差する場合、ステップ１３０６を実行し、間にあるボックスがリストに含まれる。複数の線と交差しない場合、そのステップはバイパスされる。いずれにせよ、ステップ１３０８で表されるように、削除すべき（０個以上の）ボックスのリストは現時点で完成しており、処理は図１０に戻って、リストは上述のように使用される。このように、ボックス書き込み領域内のスクラッチアウトジェスチャは、様々なスクラッチアウトジェスチャの検出を可能にする境界／閾値ベースの方法で、同様に扱われる。
【００６４】
前述の詳細な記述から分かるように、境界ボックスと閾値を使用してスクラッチアウトジェスチャに関するユーザの意図を評価する方法およびシステムを提供する。スクラッチアウトジェスチャのスタイルは、スクラッチアウトジェスチャを他のインク入力から区別するために、ほとんど制限を受けず、手書き時に、ユーザのより良いペン操作が可能になる。
【００６５】
本発明は様々な修正および代替構成が可能であるが、本発明の特定の実施形態を図面で示し、詳細に記述してきた。しかしながら、理解していただきたいのは、本発明を開示した特定の形態または形態群に限定する意図はなく、それとは反対に、本発明の精神と範囲に収まる修正、代替構成、および等価物の全てを包含することを意図するものである。
【図面の簡単な説明】
【００６６】
【図１】本発明を組み込むことができる例示的コンピュータシステムを表すブロック図である。
【図２】本発明の様々な態様に従って、ペン入力を含むユーザ入力を扱うため、およびスクラッチアウトジェスチャを検出するためのコンポーネントを一般的に表すブロック図である。
【図３】本発明の様々な態様に従ってスクラッチアウトジェスチャを入力できるフリーフォームの（線引きされた）書き込み領域の例を表した図である。
【図４】本発明の様々な態様に従ってスクラッチアウトジェスチャを入力できるボックス書き込み領域の例を表した図である。
【図５Ａ】本発明の様々な態様に従って様々な基準に基づいて決定されるスクラッチアウトジェスチャおよびノンスクラッチアウトジェスチャの例を表した図である。
【図５Ｂ】本発明の様々な態様に従って様々な基準に基づいて決定されるスクラッチアウトジェスチャおよびノンスクラッチアウトジェスチャの例を表した図である。
【図６Ａ】本発明の様々な態様に従って様々な基準に基づいて決定されるスクラッチアウトジェスチャおよびノンスクラッチアウトジェスチャの例を表した図である。
【図６Ｂ】本発明の様々な態様に従って様々な基準に基づいて決定されるスクラッチアウトジェスチャおよびノンスクラッチアウトジェスチャの例を表した図である。
【図７Ａ】本発明の様々な態様に従って様々な基準に基づいて決定されるスクラッチアウトジェスチャおよびノンスクラッチアウトジェスチャの例を表した図である。
【図７Ｂ】本発明の様々な態様に従って様々な基準に基づいて決定されるスクラッチアウトジェスチャおよびノンスクラッチアウトジェスチャの例を表した図である。
【図８Ａ】本発明の様々な態様に従って様々な基準に基づいて決定されるスクラッチアウトジェスチャおよびノンスクラッチアウトジェスチャの例を表した図である。
【図８Ｂ】本発明の様々な態様に従って様々な基準に基づいて決定されるスクラッチアウトジェスチャおよびノンスクラッチアウトジェスチャの例を表した図である。
【図９】本発明の様々な態様に従って様々な基準に基づいて決定されるスクラッチアウトジェスチャおよびノンスクラッチアウトジェスチャの例を表した図である。
【図１０】本発明の様々な態様に従って、スクラッチアウトジェスチャを他のインクから区別するため、およびスクラッチアウトジェスチャが検出された際に削除する１つまたは複数の単語またはボックスのリストを構築するための、ステップの例を一般的に表すフロー図である。
【図１１Ａ】本発明の様々な態様に従って、スクラッチアウトジェスチャを他のインクから区別するため、およびスクラッチアウトジェスチャが検出された際に削除する１つまたは複数の単語またはボックスのリストを構築するための、ステップの例を一般的に表すフロー図である。
【図１１Ｂ】本発明の様々な態様に従って、スクラッチアウトジェスチャを他のインクから区別するため、およびスクラッチアウトジェスチャが検出された際に削除する１つまたは複数の単語またはボックスのリストを構築するための、ステップの例を一般的に表すフロー図である。
【図１２Ａ】本発明の様々な態様に従って、スクラッチアウトジェスチャを他のインクから区別するため、およびスクラッチアウトジェスチャが検出された際に削除する１つまたは複数の単語またはボックスのリストを構築するための、ステップの例を一般的に表すフロー図である。
【図１２Ｂ】本発明の様々な態様に従って、スクラッチアウトジェスチャを他のインクから区別するため、およびスクラッチアウトジェスチャが検出された際に削除する１つまたは複数の単語またはボックスのリストを構築するための、ステップの例を一般的に表すフロー図である。
【図１３】本発明の様々な態様に従って、スクラッチアウトジェスチャを他のインクから区別するため、およびスクラッチアウトジェスチャが検出された際に削除する１つまたは複数の単語またはボックスのリストを構築するための、ステップの例を一般的に表すフロー図である。
【図１４】本発明の様々な態様に従って、スクラッチアウトジェスチャを他のインクから区別するため、およびスクラッチアウトジェスチャが検出された際に削除する１つまたは複数の単語またはボックスのリストを構築するための、ステップの例を一般的に表すフロー図である。
【符号の説明】
【００６７】
３２０  フリーフォーム書き込み領域
４３０  ボックス入力領域
【図１】
2006260573.tif 000005
【図２】
2006260573.tif 000006
【図３】
2006260573.tif 000007
【図４】
2006260573.tif 000008
【図５Ａ】
2006260573.tif 000009
【図５Ｂ】
2006260573.tif 000010
【図６Ａ】
2006260573.tif 000011
【図６Ｂ】
2006260573.tif 000012
【図７Ａ】
2006260573.tif 000013
【図７Ｂ】
2006260573.tif 000014
【図８Ａ】
2006260573.tif 000015
【図８Ｂ】
2006260573.tif 000016
【図９】
2006260573.tif 000017
【図１０】
2006260573.tif 000018
【図１１Ａ】
2006260573.tif 000019
【図１１Ｂ】
2006260573.tif 000020
【図１２Ａ】
2006260573.tif 000021
【図１２Ｂ】
2006260573.tif 000022
【図１３】
2006260573.tif 000023
【図１４】
2006260573.tif 000024