JP4486325B2 - フリーフォーム文書エディタ用のライティングガイドを表示するための方法 - Google Patents

フリーフォーム文書エディタ用のライティングガイドを表示するための方法 Download PDF

Info

Publication number
JP4486325B2
JP4486325B2 JP2003188927A JP2003188927A JP4486325B2 JP 4486325 B2 JP4486325 B2 JP 4486325B2 JP 2003188927 A JP2003188927 A JP 2003188927A JP 2003188927 A JP2003188927 A JP 2003188927A JP 4486325 B2 JP4486325 B2 JP 4486325B2
Authority
JP
Japan
Prior art keywords
ink
guide
writing
handwriting
detected
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.)
Expired - Fee Related
Application number
JP2003188927A
Other languages
English (en)
Other versions
JP2004062891A (ja
Inventor
ジェイ.シモンズ アレックス
ウラタ ケンタロウ
ローレン イングラフ ピーター
エイチ.プラットリー クリストファー
シー.ブラウン オーウェン
ジェイ.スタップル スチュアート
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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2004062891A publication Critical patent/JP2004062891A/ja
Application granted granted Critical
Publication of JP4486325B2 publication Critical patent/JP4486325B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/171Editing, e.g. inserting or deleting by use of digital ink
    • 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/18Extraction of features or characteristics of the image
    • G06V30/18086Extraction of features or characteristics of the image by performing operations within image blocks or by using histograms
    • G06V30/18095Summing image-intensity values; Projection and histogram analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink
    • G06V30/36Matching; Classification
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • User Interface Of Digital Computer (AREA)
  • Character Discrimination (AREA)
  • Processing Or Creating Images (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、フリーフォーム文書エディタを使用して電子文書を作成する、フリーフォーム文書エディタ用のライティングガイドを表示するための方法に関する。詳細には、本発明は、フリーフォーム文書エディタの形でユーザインタフェースを提供するフリーフォーム文書エディタ用のライティングガイドを表示するための方法に関する。
【0002】
【従来の技術】
情報を記録及び伝達する最も単純な方法の1つは、ペンなどの筆記用具を用いて1枚の紙の上に情報を書き込む伝統的な方法である。1枚の紙の上に手で情報を書き込むことは、安価であり、ほとんど準備せずに迅速かつ容易に行うことができる。この伝統的な情報はまた、筆者が一般に任意のフォーマットでページ上の任意の場所に書き込むことができるという点で柔軟性もある。手書き作業に伴う制約の1つは、操作するのが容易ではなく、他のコンテキストに転送するのが容易ではないことである。言い換えれば、1枚の手書き原稿を変更または転送することは通常、別の媒体上にその原稿をリライトすることを必要とする。
【0003】
パーソナルコンピュータが広く使用されるようになったことに伴い、テキスト情報はしばしば、パーソナルコンピュータ上で動作するワードプロセッシングソフトウェアを使用して記録される。このような、情報を記録する電子的な方法の利点は、情報を容易に格納することができ、他のリモートコンピューティング装置や電子媒体に転送できることである。このような電気的に記録されたテキストはまた、様々な異なる方式で容易に補正、修正、及び操作することもできる。
【0004】
典型的なコンピュータシステム、特に、Microsoft WINDOWS(登録商標)などのグラフィカルユーザインタフェース(GUI)システムを使用するコンピュータシステムは、1つまたは複数の別個の入力装置からユーザ入力を受諾するように最適化されている。一般的な入力装置には、テキストを入力するためのキーボードや、ユーザインタフェースを制御するための、1つまたは複数のボタンを備えるマウスなどのポインティングデバイスが含まれる。キーボード/マウスインタフェースにより、テキスト、スプレッドシート、データベースフィールド、図面、及び写真を含む電子文書の作成及び修正が容易になる。
【0005】
従来のGUIシステムに伴う制約の1つは、ユーザがパーソナルコンピュータに入力しているテキストを、一般にユーザはキーボードを使用してタイプしなければならないことである。キーボードを使用してテキストを入力することは、手書きよりも、低速で煩わしいことがある。近年、パーソナルコンピュータのサイズを縮小する上で進歩してきたが、それらは依然として、伝統的なペンと紙ほどには持ち運びが容易ではなく、利用も容易ではない。さらに、伝統的なペンと紙は、文書を編集し、余白にメモを記録し、図形や輪郭を描く上でのかなりの柔軟性をユーザにもたらす。ある場合、ユーザは、キーボード/マウスインタフェースに制限されずに自由にメモを取ることができるために、画面上で文書を検討するよりも、ペンを使用して文書にマークを付けることを望むことがある。
【0006】
伝統的なキーボード/マウスインタフェースの欠点に対処するため、筆跡を記録することができる電子タブレットを作成する様々な試みが行われてきた。電子タブレットは通常、フリーフォーム文書を作成するためのフリーフォーム文書エディタを備える。フリーフォーム文書エディタは、ユーザがフリーフォームでノートを取ることを可能にする有用なツールと考えられている。電子タブレットは通常、画面と、ペンに類似のハンドヘルド装置も備える。ユーザは、伝統的なペンや紙と同様に、ハンドヘルド装置を用いて電子タブレットの画面上に書き込むことができる。電子タブレットは、ハンドヘルド装置を用いてユーザの筆跡のストローク(ひと筆;stroke)を「読み取る」ことができ、「電子インク」を用いて、その筆跡を画面上に電子形式で再作成することができる。この電子タブレットの手法は、パーソナルコンピュータやハンドヘルドコンピューティング装置を含む様々な方式で利用することができる。
【0007】
近年、電子インクのより精巧な作成及び操作を実現する別のコンピュータシステムが開発されてきた。このアプリケーション(例えば、Palm(商標)オペレーティングシステム/PocketPC(商標)オペレーティングシステムに関連するドローイングアプリケーション)は、図面の取込み及び格納が可能である。この図面は、図面を構成するのに使用するインクストロークに関連する他のプロパティを含む。例えば、線幅や色をインクと共に格納することができる。このシステムの1つの目標は、1枚の紙に付着する物理的インクのルックアンドフィールを再現することである。しかし、紙上の物理的インクは、座標と、それを接続する線分の電子的集合によって取り込まれない、著しい量の情報を有する可能性がある。この情報の一部は、アウトライン構造及び書込みのタイプ(筆跡または描画など)を含む可能性がある。
【0008】
電子タブレットや電子インクの進歩にも関わらず、依然としてそのような電子手書き装置の性能に伴ういくつかの制限が存在する。例えば、従来のフリーフォーム文書エディタは、ユーザがタブレット上にインクストロークを入力するときに文書構造を認識することができない。筆跡の各行は、別々にテキストに変換され、画面の左マージンに沿って整列される。したがって、ユーザがインクストロークに関して与える、意図するフォーマットは、テキストへの変換時に失われる。
【0009】
従来のフリーフォーム文書エディタに伴う別の問題は、インクからテキストへのブラインド変換である。例えば、インクをテキストに変換し、画面内の入力インクストロークの厳密な位置に配置することができる。しかしこの方法は、電子文書全体にわたってテキストを結びつけずに、単に電子テキストを提供するに過ぎない。したがって、電子テキストをこのようにして変換したとき、ユーザは、電子テキストを修正及び編集することができない。加えて、ワードプロセッサアプリケーションプログラムなどの他のアプリケーションプログラムに、テキストを常にエクスポートすることができるわけではない。
【0010】
従来のフリーフォーム文書エディタに伴う別の問題は、ユーザが入力したインクのタイプに関するフィードバックが欠けていることである。インクのタイプには筆跡及び描画が含まれる。エディタが筆跡を描画と誤って分類してしまう可能性がある。しかしエディタは、ユーザに対してその分類を示すことができない。したがって、インクがテキストに変換されなかったことをユーザが気付くまで、ユーザはエラーに気付かない。その時までには、多数のインクの行が誤って分類されてしまい、フォーマットを訂正するためにユーザが余分の作業をさせられる可能性がある。
【0011】
尚、出願人が知っている先行技術として、記載すべき先行技術文献情報は特に見あたらない。
【0012】
【発明が解決しようとする課題】
したがって、フリーフォーム電子文書での手書き認識/変換の改善が当技術分野で求められている。さらに、フリーフォーム文書エディタの、手書きインクストロークの分類に関するフィードバックを提供することも求められている。加えて、ユーザのインク入力をガイドして、テキスト認識精度を向上させることも当技術分野で求められている。手書きのため、及び他のアプリケーションプログラムが使用可能なテキストにフォーマットを変換するための構造化フォーマットをユーザが入力できるようにすることも求められている。
【0013】
本発明は、このような課題に鑑みてなされたもので、その目的とするところは、フリーフォーム電子文書での改善された手書き認識/変換を実現する、フリーフォーム文書エディタ用のライティングガイドを表示するための方法を提供することにある。
【0014】
【課題を解決するための手段】
本発明は、フリーフォーム文書エディタに対するユーザインタフェースとしてライティングガイドを提供することができる。ライティングガイドは、ユーザが入力したインクストロークのエディタの分類をユーザに通知することができ、フリーフォーム文書エディタのアウトラインオブジェクト内に、構造化されたノートをユーザが作成することを可能にする。加えて、このライティングガイドは、テキストに変換することができ、他のアプリケーションにおける高い精度での使用も意図される、意味のある電子文書構造を構築する際に、ユーザをガイドすることができる。
【0015】
このライティングガイドは、アウトラインオブジェクト内に行を作成し、それを拡張するユーザインタフェースを提供することができる。このライティングガイドは、ユーザと文書エディタのどちらにも視覚的フィードバックを提供することができ、そのフィードバックにより、インクがそれ自体の筆跡の行であること、またはインクが既存の筆跡の行に添付されていることが確認される。加えて、このライティングガイドは、より制御された方式でユーザが書き込むのを助けることができる。例えば、ライティングガイドに従うことにより、任意の角度で書き込むのではなく一直線に書き込むことができる。したがって、ユーザは高い認識度を有する筆跡を作成することができる。
【0016】
本発明は、描画ライティングガイド及び手書きライティングガイドという2つの主なタイプのライティングガイドを提供することができる(以後、それぞれ描画ガイド、手書きガイドと呼ぶ)。ライティングガイドは、ユーザがタブレット上に電子インクストロークの入力を開始したときに、文書エディタページ上に出現することができる。インクストロークが手書き文字を含むとライティングガイドモジュールが判定した場合、手書きガイドを表示することができる。ユーザが引き続き書き込み、さらに多くの構造を作成するとき、様々な形の手書きガイドにより、ユーザがアウトラインオブジェクト内により複雑な構造を作成することが可能となる。例えば、ライティングガイド、ライティングガイド部分、ブリット(bullet)ライティングガイド、インデントマーカ、及びその他のライティングガイドが、アウトラインオブジェクト内のより複雑で意味のある構造を予想通りに作成する方法をユーザに示すことができる。アウトラインオブジェクトが増加するとき、ライティングガイドは、各パラグラフのサイズ及び形状を示すことができ、インデントレベル及び複数行のパラグラフを示すようにサイズを変更することができる。
【0017】
インクストロークが描画を含むとライティングガイドモジュールが判定した場合、描画ガイドを表示することができる。描画ガイドにより、複数のインクストロークを描画としてまとめることができる。描画ガイドは、その分類をユーザに示すことができ、インクストロークをテキストに変換しないように文書エディタに通知することができる。
【0018】
本発明の上記その他の態様、目的、及び特徴は、添付の図面と共に、例示的実施形態の以下の詳細な説明を読み、添付の図面を参照することによって明らかとなるであろう。
【0019】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を詳細に説明する。
【0020】
本発明は、フリーフォーム文書エディタに対するユーザインタフェースとしてライティングガイドを提供することができ、手書きの電子インクから電子文書を作成することを可能にする。ライティングガイドは、エディタがインクストロークを筆跡として分類したか、それとも図面として分類したかをユーザに示すことができる。筆跡の場合、本発明は手書きガイドをユーザに提示することができる。手書きガイドは、電子文書のフォーマット構造についての詳細な構造情報を提供することができる。例えば、手書きガイドは、入力筆跡についてのブリット及びインデントレベルを示すことができる。加えて、手書きガイドは、複数の行を1パラグラフとしてフォーマットするか、それとも個々の行としてフォーマットするかを指示することができる。図面として分類したインクストロークのグループに対して、描画ガイドを提示することができる。描画ガイドにより、インクストロークをグループとしてフォーマット及び操作することができる。
【0021】
概してコンピューティング環境内で動作するソフトウェアモジュールの状況で、例示的実施形態を説明する。ソフトウェアモジュールによって実行されるプロセス及びオペレーションには、クライアントまたはサーバによる信号の操作、及びローカル/リモートメモリ記憶装置のうち1つまたは複数に常駐するデータ構造内でのその信号の保守が含まれる。このようなデータ構造により、メモリ記憶装置内に格納されるデータの収集時に物理的編成が課され、このようなデータ構造は、特定の電気的要素または磁気的要素を表す。この記号表現は、コンピュータプログラミング及びコンピュータ構築の分野の技術者が他の当業者に教示及び発見を効果的に伝えるために使用する手段である。
【0022】
本発明はまた、本明細書で説明し、添付のフローチャートに図示する機能を実施するコンピュータプログラムも含む。しかし、本発明をコンピュータプログラミングで実施する多数の異なる方法が存在することは明らかであり、何らかの1組のコンピュータプログラム命令に本発明が限定されると解釈すべきではない。さらに、熟練したプログラマは、フローチャートと、本願の本文中の関連する記述とに基づいて、そのようなコンピュータプログラムを書き、開示の発明を実施することができよう。したがって、特定の1組のプログラムコード命令の開示は、本発明を作成し、使用する方法を十分に理解するのには不要であると考えられる。特許請求の範囲に記載された本発明のコンピュータプログラムの機能を、プログラムフローを示す図を参照しながら以下でより詳細に説明する。
【0023】
これから各図面を参照して、本発明の態様及び例示的動作環境を説明する。各図面では、同様の符号は同様の要素を表す。
【0024】
例示的動作環境
図1に本発明を実施するための例示的動作環境を示す。この例示的動作環境は、従来型パーソナルコンピュータ120の形の汎用コンピューティング装置を含む。一般に、パーソナルコンピュータ120は、プロセッサ121と、システムメモリ122と、システムメモリ122を含む様々なシステム構成要素をプロセッサ121に結合するシステムバス123とを含む。システムバス123は、様々なバスアーキテクチャのうちのいずれかを用いたメモリバスまたはメモリコントローラ、周辺バス、及びローカルバスを含むいくつかのタイプのバス構造のうちのいずれでもよい。システムメモリは、読取り専用メモリ(ROM)124及びランダムアクセスメモリ(RAM)125を含む。スタートアップ時などにパーソナルコンピュータ120内の要素間で情報を転送する助けになる基本ルーチンを含む基本入出力システム(BIOS)126が、ROM 124内に格納される。
【0025】
パーソナルコンピュータ120は、ハードディスク(図示せず)を読み書きするためのハードディスクドライブ127と、リムーバブル磁気ディスク129を読み書きするための磁気ディスクドライブ128と、CD(compact disc [disk])−ROM、DVD(digital versatile disk)、または他の光媒体などのリムーバブル光ディスク131を読み書きするための光ディスクドライブ130とをさらに含む。ハードディスクドライブ127、磁気ディスクドライブ128、及び光ディスクドライブ130は、それぞれハードディスクドライブインタフェース132、磁気ディスクドライブインタフェース133、及び光ディスクドライブインタフェース134によってシステムバス123に接続される。本明細書で説明する例示的環境では、ハードディスク127、リムーバブル磁気ディスク129、及びリムーバブル光ディスク131を利用するが、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジ、RAM、ROMなど、コンピュータでアクセス可能な、データを格納することのできる他のタイプのコンピュータ可読媒体もこの例示的動作環境で使用できることを当業者は理解されよう。各ドライブと、それに関連するコンピュータ可読媒体は、パーソナルコンピュータ120に対して、コンピュータ実行可能命令、データ構造、プログラムモジュール、及び他のデータの不揮発性記憶を提供する。
【0026】
オペレーティングシステム135、文書エディタ136、インクプロセッサ138、及び電子文書139を含むいくつかのプログラムモジュールを、ハードディスク127、磁気ディスク129、光ディスク131、ROM 124、またはRAM 125上に格納することができる。プログラムモジュールは、特定のタスクを実行し、または特定の抽象データ型を実装するルーチン、サブルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本発明の態様は、インクプロセッサ138と共に動作して電子文書139を編集することができる文書エディタ136の形態で実施することができる。文書エディタ136は一般に、電子文書を作成及び編集するコンピュータ実行可能命令を含む。インクプロセッサ138は一般に文書エディタ136からアクセス可能であるが、文書エディタ136の一部分として実装することもできる。
【0027】
ユーザは、キーボード140やポインティングデバイス142などの入力装置を介して、パーソナルコンピュータ120にコマンド及び情報を入力することができる。ポインティングデバイスには、マウス、トラックボール、ならびに電子タブレットと一緒に使用することができるスタイラスまたは電子ペンを含めることができる。他の入力装置(図示せず)には、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどを含めることができる。これらの入力装置や他の入力装置はしばしば、システムバス123に結合されるシリアルポートインタフェース146を介してプロセッサ122に接続されるが、パラレルポート、ゲームポート、ユニバーサルシリアルバス(USB)などの他のインタフェースで接続することもできる。ディスプレイ装置147も、ビデオアダプタ148などのインタフェースを介してシステムバス123に接続することができる。モニタに加えて、パーソナルコンピュータは通常、スピーカやプリンタなどの他の周辺出力装置(図示せず)を含む。
【0028】
パーソナルコンピュータ120は、1つまたは複数のリモートコンピュータ149への論理接続を使用するネットワーク環境内で動作することができる。リモートコンピュータ149は、別のパーソナルコンピュータ、サーバ、クライアント、ルータ、ネットワークPC(personal computer)、ピア装置、または他の共通ネットワークノードでよい。リモートコンピュータ149は一般に、パーソナルコンピュータ120に関して上記で説明した要素のうちの多数またはすべてを含むが、図1にはメモリ記憶装置150だけを示してある。図1に示す論理接続は、ローカルエリアネットワーク(LAN)151及び広域ネットワーク(WAN)152を含む。このようなネットワーキング環境は、オフィス、企業全体のコンピュータネットワーク、イントラネット、及びインターネットで一般的なものである。
【0029】
LANネットワーキング環境で使用されるとき、パーソナルコンピュータ120はしばしば、ネットワークインタフェース/アダプタ153を介してローカルエリアネットワーク151に接続される。WANネットワーキング環境で使用されるとき、パーソナルコンピュータ120は一般に、インターネットなどのWAN 152を介して通信を確立するためのモデム154または他の手段を含む。モデム154は内蔵でも外付けでもよく、シリアルポートインタフェース146を介してシステムバス123に接続される。ネットワーク環境では、パーソナルコンピュータ120に関して示したプログラムモジュールまたはその一部を、リモートメモリ記憶装置150内に格納することができる。ここで示したネットワーク接続は例示的なものであって、コンピュータ間の通信リンクを確立する他の手段も使用できることを理解されたい。
【0030】
さらに、ハンドヘルド装置、マルチプロセッサシステム、マイクロプロセッサベース/プログラマブル家庭用電化製品、ネットワークパーソナルコンピュータ、ミニコンピュータ、メインフレームコンピュータなどを含む他のコンピュータシステム構成として本発明を実施できることを当業者は理解されよう。本発明はまた、通信ネットワークを介してリンクされるリモートプロセッサによってタスクが実行される分散コンピューティング環境でも実施することができる。分散コンピューティング環境では、プログラムモジュールは、ローカルメモリ記憶装置とリモートメモリ記憶装置のどちらにも位置することができる。
【0031】
図2は、例示的フリーフォーム文書エディタと、それに関係する入力装置の主な機能構成要素を示すブロック図である。具体的には、図2は、フリーフォーム文書エディタの状況で、本発明の例示的実施形態を操作する際に使用する、典型的なハードウェア/ソフトウェアコンポーネントを示す。従来型入力装置は、キーボード260及びポインティングデバイス265(例えば、マウス、ペン、またはスタイラス、ならびにタブレット)によって表される。ユーザは、ポインタ装置及び/または他の入力装置を使用してコンピュータ120にコマンド及び情報を入力することができる。他の入力装置(図示せず)には、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、及びスキャナを含めることができる。モニタ270などの従来型出力装置を使用して、コンピュータ120からの情報を表示することができる。他の出力装置(図示せず)には、プリンタまたはスピーカを含めることができる。
【0032】
図2に示す他のハードウェア構成要素には、電子タブレット250と、それに付随するスタイラス255が含まれる。タブレット250及びスタイラス255は、電子インクと呼ばれる、データに変換することができる手書きストロークを入力するのに使用される。電子インクは、電子文書220に組み込むことができ、かつ電子タブレット250、モニタ270、またはその両方に表示することができる。電子タブレット250及びモニタ270を別個に示すが、本発明の例示的実施形態では、それらを単一の構成要素として一体化することができる。ジョイントタブレット/モニタ構成要素は情報を表示することができ、スタイラス255から入力を受け取ることができる。
【0033】
代表的アーキテクチャ200では、ハードウェア構成要素のすべてが、インク処理ソフトウェアモジュール225に結合される。インク処理モジュール225は、電子タブレット250からデータを受け取り、そのデータを電子インクとしてレンダリングするように動作可能である。本発明の一実施形態では、インク処理モジュール225は、手書きストロークを電子インクとしてレンダリングするための様々なタスクを実行するソフトウェアモジュールの集合でよい。例えば、スタイラス/インクモジュール228は、一連の手書きストロークについてのスタイラスの位置及び角度を記述するデータを受け取ることができる。スタイラス/インクモジュール228は、そのデータを解釈して電子インクをレンダリングすることができる。ジェスチャ認識器230やテキスト認識モジュール235などの他のソフトウェアモジュールを、ある手書きストロークを識別し、それに特定の意味を割り当てるように設計することができる。例えば、クロスアウトなどのあるジェスチャを認識して、他の編集プロセスと関連付けることができる。インク処理モジュール225はまた、以前にテキストとしてレンダリングした電子インクを除去する消去機能モジュール240も含むことができる。
【0034】
インク処理モジュールは当技術分野で周知であり、電子タブレットが機能するのに必要であるが、ワシントン州レドモンドのMicrosoft Corporationにより、手書き処理技術の利点を利用する新規な文書編集モジュールが開発された。この例示的な文書編集モジュール(すなわち文書エディタ)は、電子手書き技術の機能を活用して、より効果的かつ効率的にノートを取ることを可能にするフリーフォーム文書エディタである。具体的には、文書編集モジュール205により電子インクの操作が容易になり、その結果ユーザは、ずっと容易かつ高度に電子文書220を作成及び修正することができる。例示的実施形態では、文書編集モジュール205は、モニタ270にレンダリングされた電子インクを制御及び編集するソフトウェアモジュールの集合を含む。例えば、解析モジュール210を使用して、ユーザが編集のために選択した手書きストロークを識別することができる。どのストロークを編集すべきかをユーザが識別する際の助けとなるように、選択したストロークを強調表示またはシェーディングすることができる。分類器モジュール215は、ある手書きストロークを単語または描画の一部として識別することができ、それに応じて文書オブジェクトを指定することができる。レイアウトモジュール216やスペース挿入モジュール217などのソフトウェアモジュールは、電子インクをどのようにレンダリングし、移動するかを制御するように設計することができる。ライティングガイドモジュール227は、本発明の例示的実施形態に従ってタブレット250上にライティングガイドを提供することができる。
【0035】
本発明の例示的実施形態は、タブレット250上にライティングガイドを提供することに最も直接的に関係する。様々な実施形態の機能は、ライティングガイドモジュール227によって実施することができ、または文書編集モジュール205のオペレーションに完全に統合することができる。図1及び2は、本発明の例示的実施形態が使用されることを本発明者等が企図する環境の全体的な概観を示す。
【0036】
例示的実施形態
図3は、本発明の例示的実施形態に従ってライティングガイドを表示する方法300を示すフローチャートである。ステップ305では、ユーザがタブレット250上にライティングストロークを作成することによって電子インクを与えたかどうかを、ライティングガイドモジュール227が判定する。電子インクが与えられなかった場合、ライティングガイドモジュール227は、電子インクを検出するまでステップ305を繰り返す。ライティングガイドモジュール227がステップ305でインクを検出した場合、この方法はステップ310に分岐する。
【0037】
ステップ310では、ライティングガイドモジュール227は、検出したインクを描画または筆跡のどちらかとして分類する。その分類に基づいて、ライティングガイドモジュール227はステップ315で、検出したインクが筆跡を含むかどうかを判定する。検出したインクが筆跡を含む場合、この方法はステップ320に分岐する。ステップ320では、ライティングガイドモジュール227は、タブレット250上に手書きライティングガイド(以下「手書きガイド」と呼ぶ)を表示する。ステップ325では、ライティングガイドモジュール227は、手書きガイド内に与えられた追加のインクを連続的に検出する。追加のインクを検出したとき、この方法はステップ330に進み、ステップ330でライティングガイドモジュール227は、手書きガイドの寸法を連続的に再計算し、検出したインクのサイズに合わせる。次いでこの方法はステップ325に戻り、手書きガイド内の追加のインクを引き続き検出する。ライティングガイドモジュール227が手書きガイド内で追加のインクを検出しなかったとき、この方法はステップ350に分岐する。ステップ350では、ライティングガイドモジュール227は手書きガイドを非活動化し、手書きガイドをタブレット250から除去する。本発明の代替実施形態では、ユーザは以下の例示的方法のいずれかによって手書きガイドを非活動化することができる。その例示的方法とは、(1)任意のタイプの別のライティングガイドの活動化、(2)1秒またはその他の所定の時間よりも長い間描画ガイドから離れること、及び(3)ツールバーまたはその他のメニューを介してモードを切り換えることである。したがって、ユーザによるこれらのアクションのいずれも、手書きガイドを非活動化して手書きガイドをタブレット250から除去することにより、ライティングガイドモジュール227にステップ350を実行させることができる。
【0038】
ステップ315に戻ると、検出したインクが描画を含むとライティングガイドモジュール227が判定した場合、この方法はステップ335に分岐する。ステップ335では、ライティングガイドモジュール227は、タブレット250上に描画ライティングガイド(以下「描画ガイド」と呼ぶ)を表示する。ステップ340では、ライティングガイドモジュール227は描画ガイドを監視し、描画ガイド内のインク入力を連続的に検出する。したがって、ライティングガイドモジュール227がライティングガイド内にインクを検出したとき、この方法は、ステップ345で描画ガイドの寸法を連続的に再計算し、検出したインクのサイズに合わせる。次いでこの方法はステップ340に戻り、描画ガイド内のインクを引き続き検出する。ライティングガイドモジュール227が描画ガイド内で追加のインクを検出しなかったとき、この方法はステップ350に分岐する。ステップ350では、ライティングガイドモジュール227は描画ガイドを非活動化し、描画ガイドをタブレット250から除去する。本発明の代替実施形態では、ユーザは、以下の例示的方法のいずれかによって手書きガイドを非活動化することができる。その例示的方法とは、(1)任意のタイプの別のライティングガイドの活動化、(2)1秒またはその他の所定の時間よりも長い間描画ガイドから離れること、及び(3)ツールバーまたはその他のメニューを介してモードを切り換えることである。したがって、ユーザによるこれらのアクションのいずれも、手書きガイドを非活動化して手書きガイドをタブレット250から除去することにより、ライティングガイドモジュール227にステップ350を実行させることができる。
【0039】
例示的実施形態では、ユーザがスタイラス255を用いてタブレット250上に書込みを開始したときに、ライティングガイドを自動的に提示することができる。代替の例示的実施形態では、初めにメニューからライティングガイドオプションを選択することによってライティングガイドを提示することもできる。この選択は、マウス、キーボード、またはスタイラスを用いて行うことができる。別の例示的実施形態では、ライティングガイドモジュール227は、新しいライティングガイドを挿入ための方法として、タブレット250の空き部分上でのジェスチャタップを認識することができる。例えばユーザは、タブレット255の空き部分上でスタイラス255をタップすることができる。次いで、ライティングガイドモジュール227は、ジェスチャタップを認識することができ、その位置にライティングガイドを挿入することができる。
【0040】
図4に、本発明の例示的実施形態に従ってタブレット250上に表示された手書きガイド400を示す。手書きガイド400は、ライティングエリア402を有する。図示するように、ユーザは、スタイラス255を用いてライティングエリア402内に筆跡403を作成することができる。手書きガイド400は、使用可能な機能を拡張するためのその他の要素を含む。例えば、手書きガイド400は、アウトラインオブジェクトの境界を画定するためのアウトラインオブジェクトハンドル404、406を有する。手書きガイド400はまた、アウトラインオブジェクト内の個々のオブジェクト要素を識別するための要素ノードハンドル408も含む。例えば、個々のオブジェクト要素は、アウトラインオブジェクト内の個々のパラグラフを含むことができる。要素ノードハンドル408により、アウトラインオブジェクト内の個々のオブジェクト要素を移動または選択することが可能となる。手書きガイド400はまた、個々のオブジェクト要素のマージを可能にするマージハンドル410も含む。個々のオブジェクト要素をマージするために、ユーザはスタイラス255またはマウスを用いてマージハンドル410をクリックダウンし、次いで他のオブジェクト要素の上にライティングガイド400をドラッグすることができる。
【0041】
アウトラインオブジェクトハンドル406は、以下の例示的実施形態に従って動作することができる。3行の筆跡/テキストを有するアウトラインをユーザが作成した場合、第3行の下に、右下アウトラインオブジェクトハンドル406が設けられる。ハンドルは第3行の下にあるが、ユーザが新しいパラグラフを作成することができる場合、その最後の行の下のさらに2つの行が使用可能である。例示的実施形態では、使用可能なこの2つの追加の行は、ユーザがそこに書込みをするまで現実のものではない。この2つの追加の行は、例示的ライティングガイド部分2004a(図20)を通じてアクセスすることができる。ユーザが2つの新しいパラグラフライティングガイド部分2004aのどちらかの上でスタイラス255を停止させる場合、アウトラインオブジェクトハンドル406がその行の下に移動し、そのライティングガイド部分への書込みにより新しいパラグラフが既存のアウトラインオブジェクトに追加されることを示す。例示的実施形態では、ユーザがその行に筆跡を入力せずにスタイラス255を移動する場合であっても、オブジェクトハンドル406は、その拡張された位置にとどまる。
【0042】
ライティングガイドモジュール227は、デフォルトでアウトラインオブジェクト内の単一行パラグラフとすることができる。したがって、筆跡の新しい各行を別々のパラグラフとしてフォーマットすることができる。複数の行にわたる長い文の場合、ライティングガイド400は、必要な追加のスペースを収容するように自動的に延びることができる。例えば、ライティングエリア406の右端の近くにユーザが筆跡を書き込むとき、ライティングエリア406は、次の行まで延びるように伸長することができる。次いで、次の行に書き込まれたものは何でも、前の行と同じパラグラフの一部となる。例示的実施形態では、ライティングエリア406の右端の近くに境界を確定することができる。筆跡を境界エリアに書き込むことにより、ライティングエリアを次の行まで拡張することができる。例えば、境界エリアは、3つ分のライティングガイド高さに等しくすることができる。
【0043】
代替実施形態では、ユーザが右側の境界の端を超えて書込みを続ける場合、ライティングガイドの右側の境界を拡張することができる。この場合、ライティングガイドは広くなる。次行に、拡張ライティングエリアを提供することもできる。加えて、次行の拡張ライティングエリアは、元の長さを維持することができ、またはユーザによって拡張された行と同様に拡張することができる。
【0044】
加えて、複数のパラグラフを手動で単一パラグラフにマージすることができる。例えば、ユーザが境界エリアに筆跡を書き込まずに次行を開始した場合、次行は別々のパラグラフを含む。ユーザが行を同じパラグラフの一部とすることを意図する場合であっても、別々のパラグラフが存在する。この例示的実施形態では、ユーザは2つの別々のパラグラフを1つのパラグラフにマージすることができる。各行(各オブジェクト要素)は、別々のオブジェクト要素を示すようにマージハンドル410を有することができる。したがってユーザは、1つのマージハンドル410を他のパラグラフの上にドラッグすることによってパラグラフまたは行をマージすることができる。
【0045】
ユーザはまた、隣接するパラグラフを選択し、ドロップダウンメニューからマージパラグラフオプションを選択することによってパラグラフをマージすることもできる。ユーザは、マウス、キーボード、またはスタイラスを使用してこの選択を行うことができる。代替実施形態では、ライティングガイドモジュール227は、手書きガイドの左側にとどまるクリッカブルユーザインタフェースアイコンを提示することができる。ユーザはアイコンをクリックして、2つの行を1つのパラグラフにマージすることができ、またはパラグラフを複数のパラグラフに分割することができる。
【0046】
例示的実施形態では、ユーザがページの左側境界の十分近くで新しいアウトラインオブジェクトを開始し、それによってアウトラインハンドル404、ノードハンドル408、または以下で論じるその他の様々なライティングガイドを閲覧画面上に表示することができない場合、閲覧画面の左側に向けてアウトラインオブジェクトを拡張することができる。水平ページスクロールバーが画面外エリアを示すことができる。
【0047】
図5は、本発明の例示的実施形態に従って、検出したインクを描画または筆跡として分類する、図3のステップ310で参照した方法を示すフローチャートである。ステップ505では、アスペクト比のしきい値を確定することができる。例示的実施形態では、ユーザがアスペクト比のしきい値を設定する。あるいは、デフォルトアスペクト比設定を使用することもできる。アスペクト比は、検出したすべてのインクの長さと高さの比を示し、検出したインクが描画を含むか、それとも筆跡を含むかに関する目安を与えることができる。例えば、筆跡は通常、ユーザが行に沿って書くときに、高いアスペクト比を有するインクを含む。高いアスペクト比は、高さと比べたときに長さの方が長いことに対応する。一方、描画は通常、インクがより一様に分布するので低いアスペクト比を有する。このような一様の分布により、通常は長さと高さが相対的に同様のサイズとなる。
【0048】
ステップ510では、検出したインクを筆跡または描画として分類するために、最小ストローク数を確定することができる。最小のストローク数を設定することにより、十分なインクを検出して正確な分類を得ることが保証される。例示的実施形態では、筆跡に対する最小のストローク数は3とすることができ、描画に対しては5とすることができる。その他の最小のストローク数も本発明の範囲内にある。代替の例示的実施形態では、検出したインクを筆跡または描画として分類するために、最小のインク量を確定することができる。
【0049】
ステップ515では、ライティングガイドモジュール227は、インクを筆跡として分類するための最小ストローク数をユーザが入力しているかどうかを判定することができる。ユーザが入力していない場合、この方法はステップ520に分岐し、さらに多くのインクストロークを検出する。筆跡に対する最小のストローク数をユーザが入力している場合、この方法はステップ525及び530に分岐する。ステップ525及び530では、ライティングガイドモジュール227は、検出したインクの長さ及び高さをそれぞれ求める。代替実施形態では、ステップ515で、インクを筆跡として分類するための最小のインク量をユーザが入力しているかどうかを判定することができる。
【0050】
ステップ535では、ライティングガイドモジュール227は、ステップ525及び530でそれぞれ求めた長さ及び高さに基づいて、検出したインクについてのアスペクト比を計算する。ステップ540では、ライティングガイドモジュール227は、計算したアスペクト比がステップ505で設定したアスペクト比のしきい値よりも大きいかどうかを判定する。そうである場合、ステップ545で、ライティングガイドモジュール227は、検出したインクが筆跡であると判定する。次いでこの方法はステップ315(図3)に進む。
【0051】
ステップ540に戻ると、計算したアスペクト比がしきい値よりも小さいとライティングガイドモジュール227が判定した場合、この方法はステップ550に分岐する。代替実施形態では、ステップ540で、ライティングガイドがデフォルトの行の高さの2倍よりも大きくなったかどうかを判定することができる。そうである場合、この方法は、インクを描画として分類するためにステップ550に分岐することができる。
【0052】
ステップ550では、ライティングガイドモジュール227は、インクを描画として分類するためにユーザが最小のストローク数を入力しているかどうかを判定する。そうでない場合、この方法はステップ520に戻り、さらに多くのインクストロークを検出し、検出したインクのアスペクト比を再計算する。ユーザが最小のストローク数を入力している場合、この方法はステップ555に分岐し、ステップ555でライティングガイドモジュール227は、検出したインクが描画であるかどうかを判定する。次いでこの方法はステップ315(図3)に進む。
【0053】
図6は、本発明の例示的実施形態に従って手書きガイドを表示する、図3のステップ320で参照した方法を示すフローチャートである。例示的な手書きガイドの様々な寸法を示す図7A及び7Bを参照しながら、図6の方法を説明する。図7Aは、本発明の例示的実施形態による手書きガイド700aの寸法を示す。図7Bは、本発明の別の例示的実施形態による手書きガイド700bの寸法を示す。これらの例示的実施形態では、手書きガイドの寸法は、検出したインクの境界を画定する境界矩形に基づく。
【0054】
図6のステップ605では、ライティングガイドモジュール227は、ライティングガイド700a、700bの左端702を確定する。左端702は、検出したインク701の左端に対応する。ステップ610では、ライティングガイドモジュール227は、ライティングガイド700a、700bの上端704を確定する。上端704は、検出したインク701の上端に対応する。ステップ615では、ライティングガイドモジュール227は、ライティングガイド700a、700bのベースライン706を確定する。以下で図8〜11を参照しながら、ベースライン706を確定するための例示的実施形態を論じる。ステップ620では、ライティングガイドモジュール227は、ライティングガイド700a、700bの右端708を確定する。右端708は、検出したインク701の右端に対応する。代替実施形態では、右端708は、ユーザが修正することのできるデフォルトアウトライン幅に基づいて確定することができる。右端708がタブレット250の閲覧画面を超えて延びることを防止し、または右端708がページ上の別のオブジェクトに重なることを防止するように右端708を調整することができる。
【0055】
ライティングガイド700a、700bの最終的な寸法に関していくつかの代替方法が存在する。例えば、ステップ605〜620で確定し、図7Aに示した寸法702〜708を、ライティングガイド700aに対して使用することができる。あるいは、これらの寸法を図7Bに示すように調整し、ライティングガイド700bに対してより広いライティングエリアを提供することもできる。したがって、ステップ625では、ライティングガイドモジュール227は、ライティングガイドに対してステップ605〜620で確定した寸法を使用するかどうかを判定する。使用する場合、この方法はステップ630に分岐する。ステップ630では、ライティングガイドモジュール227は、ライティングガイド700aの寸法を確定した寸法に設定する。次いでこの方法はステップ640に進む。
【0056】
ステップ625に戻ると、調整した寸法を手書きガイドに対して使用する場合、この方法はステップ635に分岐する。ステップ635では、ライティングガイドモジュール227はライティングガイドの寸法を調整する。例えば図7Bに示すように、ライティングガイドモジュール227は上端704を所定の間隔xだけ調整して、新しい所定の上端710を得ることができる。加えて、ライティングガイドモジュール227は、ベースライン706を所定の間隔yだけ調整して、新しいベースライン712を得ることができる。
【0057】
ライティングガイド700bについてのライティングエリアを拡張するように所定の間隔x及びyを選ぶことができる。したがって、所定の間隔x及びyにより、書込み中に区切りや快適さを得ることが可能となる。所定の間隔x及びyの量は、境界矩形の寸法に関係する数学的アルゴリズムの関数でよい。しかし、その他の間隔の取り方が本発明の範囲外であるわけではない。例えば、計算の結果とするのではなく、任意に選ぶこともできる。例示的実施形態では、所定の間隔xを、x=境界矩形の高さhの10パーセント(図7A)とすることができ、所定の間隔yを、y=境界矩形の高さhの20パーセントとすることができる。
【0058】
次いでこの方法はステップ640に進む。ステップ640では、ライティングガイドモジュール227は、検出したインクアスペクト比が所定のしきい値よりも大きいかどうかを判定する。アスペクト比は、長さLと、検出したインク701の高さh(図7A)または高さH(図7B)の比を与える。検出したインクアスペクト比が所定のしきい値よりも大きくない場合、この方法はステップ650に分岐する。アスペクト比が所定のしきい値よりも大きい場合、この方法はステップ645に分岐する。例示的実施形態では、所定のアスペクト比のしきい値は3:1とすることができる。その他のアスペクト比のしきい値も本発明の範囲内にある。
【0059】
ステップ645では、ライティングガイドモジュール227は、デフォルトの寸法に基づいてライティングガイドの右端708を調整する。例えば、デフォルトの寸法は、タブレット250の閲覧エリアの右側ページマージンまたは右端を含むことができる。したがって、ユーザが十分な量のインクを入力して、ライティングガイドに対して正確な寸法を提供した後、ライティングガイドを閲覧エリア全体にわたって拡張することができる。次いでこの方法はステップ650に進む。
【0060】
例示的実施形態では、ライティングガイドの右端708が、オブジェクトに重なったり、タブレット250の閲覧画面からはみ出ることなく右側まで延びることができる。ページ幅が閲覧画面よりも広い場合、ライティングガイドは、閲覧画面の端まで延びることができる。
【0061】
ステップ650では、ライティングガイドモジュール227は、フォントポイントサイズに対応するようにライティングガイドの寸法を調整する。例えば、ライティングガイドの寸法を最も近い1/2ポイントサイズに調整することができる。したがって、寸法h(図7A)または寸法H(図7B)を、最も近いフォントのポイントサイズに対応するように調整することができる。この点で、最も近いポイントサイズに対応するように寸法を大きくし、または小さくして調整することができる。次いでこの方法はステップ655に進み、ステップ655でライティングガイドモジュール227は、ライティングガイドを表示する。次いでこの方法はステップ325(図3)に進む。
【0062】
代替の例示的実施形態では、ライティングガイドの寸法を、タブレット250の罫線に対応させることができる。例えば、計算したライティングガイドの下端が直近の罫線の指定の許容範囲内にある場合、ライティングガイド全体の境界が罫線内に囲まれるようにライティングガイドをサイズ変更することができる。例示的実施形態では、指定の許容範囲は30パーセントとすることができる。
【0063】
次に図8及び9を参照しながら、本発明の例示的実施形態に従ってライティングガイドのベースラインを確定する方法を説明する。図8は、本発明の例示的実施形態に従ってライティングガイドのベースラインを確定する、図6のステップ615で参照した方法を示すフローチャート615aである。図9に、インク900の行のそれぞれのセグメント902中のインク量を示す典型的なインクヒストグラム904を示す。
【0064】
図8のステップ805では、ライティングガイドモジュール227は、インク900の行に対して水平セグメント902を確定する。インク900の行に対して任意の数の水平セグメントを使用することができる。本発明の例示的実施形態では、ライティングガイドモジュール227は、インク900の行に対して32個の水平セグメント902を確定する。水平セグメント902のその他の量も本発明の範囲内にある。
【0065】
ステップ808では、ライティングエリアから水平セグメント902を除去するインクしきい値を確定することができる。セグメント除去しきい値は、その値未満のときにセグメント902がライティングエリアから除去されるインク量を表す。例えば、インク900の行の下部セグメント902は通常、含むインク量が少ない。したがって、ライティングガイドのベースラインを判定するために、これらのセグメントをライティングエリアから除去することができる。
【0066】
例示的実施形態では、セグメントを除去するしきい値を3パーセントに設定することができる。したがって、セグメントの含むインク量が行のインクの3パーセント未満である場合、そのセグメントがライティングガイドの範囲から除去される。しきい値に関するその他の値も本発明の範囲内にある。
【0067】
ステップ810では、ライティングガイドモジュール227は、インク900の行内のインクを検出したかどうかを判定する。そうでない場合、この方法は、インクを検出するまでステップ810を繰り返す。ライティングガイドモジュール227がインク900の行内のインクを検出したとき、この方法はステップ815に分岐する。ステップ815では、ライティングガイドモジュール227は、各水平セグメント902内のインク量を測定する。ステップ820では、ライティングガイドモジュール227は、各セグメント902で検出したインクのヒストグラム904を作成する。
【0068】
ステップ825では、ライティングガイドモジュール227は、インク900の行からセグメント902を選択する。ステップ830では、ライティングガイドモジュール227は、選択したセグメント内のインク量が所定のセグメント除去しきい値未満であるかどうかを判定する。選択したセグメント内のインク量が所定のセグメント除去しきい値未満でない場合、この方法はステップ850に分岐し、別のセグメントを選択する。選択したセグメントのインク量が所定のしきい値未満である場合、この方法はステップ835に分岐する。
【0069】
ステップ835では、ライティングガイドモジュール227は、選択したセグメントがインク900の行の最初または最後のセグメントであるかどうかを判定する。インク900の行の最初及び最後のセグメントは、それぞれインク900の行の上部セグメント及び下部セグメントに対応する。選択したセグメントがインク900の行の最初または最後のセグメントである場合、この方法はステップ840に分岐し、ステップ840でライティングガイドモジュール227は、選択したセグメントをインク900の行から除去する。次いでこの方法はステップ850に進み、別のセグメントを選択する。
【0070】
ステップ835に戻ると、選択したセグメントが最初または最後のセグメントでない場合、この方法はステップ845に分岐する。ステップ845では、ライティングガイドモジュール227は、選択したセグメントが、インク900の行から以前に除去したセグメントに隣接するかどうかを判定する。隣接しない場合、この方法はステップ850に進み、別のセグメントを選択する。隣接する場合、この方法はステップ840に分岐する。ステップ840では、ライティングガイドモジュール227は、選択したセグメントをインク900の行から除去する。次いでこの方法はステップ850に進み、別のセグメントを選択する。したがって、インク900の行の上部または下部のセグメントだけが除去される。インクをほとんど有さないセグメント、及びインク900の行の中央付近のセグメントは除去されない。
【0071】
ステップ850では、ライティングガイドモジュール227は、インク900の行の別のセグメント902を解析すべきかどうかを判定する。解析すべきである場合、この方法はステップ825に戻り、別のセグメント902を選択する。解析すべきでない場合、この方法はステップ855に分岐する。ステップ855では、ライティングガイドモジュール227は、インク900の行中の残りの最低のセグメント902に基づいて、ライティングガイドのベースライン706(図7A及び7B)を設定する。次いでこの方法はステップ620(図6)に進む。
【0072】
加えて、ライティングガイドの上端704を設定するのに図6の例示的方法を使用することができる。その例示的実施形態では、ライティングガイドモジュール227は、インク900の行中の残りの最高のセグメント902に基づいて、ライティングガイドの上端704を設定する。
【0073】
例示的実施形態では、ステップ825の最初の完了は、ライティングガイドモジュール227がインク900行中の最低のセグメント902を選択することを含む。ステップ825の各反復での完了は、セグメント除去しきい値より多いインク量を有するセグメントに達するまで、インク900の行中の次の最高のセグメント902を選択することを含む。次いでそのセグメントは、ライティングガイドのベースライン706(図7A及び7B)を確定する。次いでこの方法は、無関係のセグメントを検査することなく終了する。
【0074】
次に図10及び11を参照しながら、本発明の代替の例示的実施形態に従ってライティングガイドのベースラインを確定する別の方法を説明する。図10は、本発明の代替の例示的実施形態に従ってライティングガイドのベースラインを確定する、図6のステップ615で参照した方法を示すフローチャートである。図8と10で説明したステップ615の代替実施形態を区別するため、図10の実施形態をステップ615bとして説明する。図11に、本発明の代替の例示的実施形態に従って、図10の方法で確定したライティングガイド1100の寸法を示す。
【0075】
図10のステップ1005では、ライティングガイドモジュール227は、タブレット250上でインクストロークが与えられたかどうかを判定する。与えられていない場合、この方法は、インクを検出するまでステップ1005を繰り返す。与えられた場合、この方法はステップ1010に分岐する。ステップ1010では、ライティングガイドモジュール227は、タブレット250上に書かれた単語間の区切りを検出することを試みる。ステップ1010でライティングガイドモジュール227が単語の区切りを検出することができない場合、ステップ1010を繰り返す。ライティングガイドモジュール227が単語の区切りを検出した場合、この方法はステップ1015に分岐する。
【0076】
ステップ1015では、単語を区切る前に検出されたインクをテキスト認識モジュール235に送る。ステップ1020では、テキスト認識モジュールは、インクについてのベースライン1102及び中心点1104を計算する。次いで、ステップ1025では、ライティングガイドモジュール227は、計算したベースライン1102のところに、ライティングガイドのベースライン706(図7A及び7B)を確定する。
【0077】
ステップ1030では、ライティングガイドモジュール227は、ライティングガイドの上端704(図7A及び7B)を計算すべきかどうかを判定する。計算すべきである場合、この方法はステップ1035に分岐し、ステップ1035で、ライティングガイドモジュール227は、中心点1104の2倍として上端1106を計算する。したがって、ライティングガイドモジュール227は、計算した上端1106のところに、ライティングガイドの上端704を確定する。次いでこの方法は、ステップ620(図6)に分岐する。
【0078】
ステップ1030に戻ると、ライティングガイドモジュール227が上端704を計算しない場合、この方法はステップ620(図6)に直接分岐する。
【0079】
図12は、本発明の例示的実施形態に従って手書きガイドの寸法を再計算する、図3のステップ330で参照した方法を示すフローチャートである。ステップ1205では、ライティングガイドをサイズ変更するためのサイズ変更インクしきい値を確定することができる。例示的実施形態では、ライティングガイドをサイズ変更するためにユーザがそのしきい値を確定することができる。あるいは、ライティングガイドをサイズ変更するためにデフォルトのしきい値を確定することもできる。サイズ変更インクしきい値は、ライティングガイド外部のインク量を確定することができ、そのインク量を超えると、ライティングガイドがその外部のインクを含めるように伸長する。1つの例示的実施形態では、サイズ変更インクしきい値を20パーセントにすることができる。したがって、20パーセント以上の行のインクが現ライティングガイドの外部にある場合、外部のインクがしきい値未満に減少するまで、ライティングガイドが上方または下方、あるいはその両方に延びる。その他のサイズ変更インクしきい値も本発明の範囲内にある。
【0080】
ステップ1210では、ライティングガイドモジュール227は、タブレット250のライティングエリア上に水平セグメントを確定する。ライティングエリアは、ライティングガイド400(図4)の内部及び外部のエリアを包含する。この水平セグメントは、図9に示した水平セグメント902と同様に確定することができる。例示的実施形態では、ライティングエリアに対して32個のセグメントを確定することができる。その他のセグメント量も本発明の範囲内にある。
【0081】
ステップ1215では、ライティングガイドモジュール227は、タブレット250上にインクストロークが与えられるときに各セグメント内のインク量を連続的に測定する。ステップ1220では、ライティングガイドモジュール227はインクヒストグラムを作成し、各セグメント内のインク量を追跡する。ヒストグラムは、図9に示すヒストグラム904と同様でよい。ステップ1225では、ライティングガイドモジュール227は、ライティングガイド外部の全セグメント内のインク量がサイズ変更インクしきい値よりも多いかどうかを判定する。ライティングガイド外部の全セグメント内のインク量がサイズ変更インクしきい値よりも多くない場合、この方法はステップ1215に戻り、引き続き、タブレット250上でさらに多くのインクストロークが与えられるときに各セグメント内のインク量を測定する。
【0082】
ライティングガイド外部の全セグメント内のインク量がサイズ変更インクしきい値よりも多いとライティングガイドモジュール227がステップ1225で判定する場合、この方法はステップ1230に分岐する。ステップ1230では、ライティングガイドモジュール227は、ライティングガイド外部の全セグメント内のインク量がサイズ変更しきい値未満となるまで、上端704(図7A及び7B)及び/またはベースライン706(図7A及び7B)を調節する。この点で、検出したすべてのインクの上端のところに、上端704を再確定することができる。加えて、図6のステップ615に関して上記で論じたのと同様に、ベースライン706を再確定することができる。次いでこの方法はステップ325(図3)に進む。
【0083】
例示的実施形態では、ライティングガイドはユーザの典型的な書込み誤りに対処することができる。例えば、書込み誤りには、(1)一部の単語が、部分的または全体的に現在行の上または下の行にそれる不精な書込み(lazy writing)、(2)ユーザが意図的に非常に大きく書き込み、その結果インクの一部がライティングガイド上にあるが、大部分はライティングガイド上にはないような膨らんだ書込み(inflated writing)、及び(3)アウトラインオブジェクトの固定端を超えてユーザが書込みを続行する反抗的な書込み(rebellious writing)が含まれる可能性がある。
【0084】
怠惰な書込みや膨らんだ書込みの場合、初期のライティングガイド寸法の外側のインクを包含するようにライティングガイドサイズを拡張することができる。この拡張は、図12を参照しながら上記で説明したのと同様に実施することができる。反抗的な書込みの場合、ライティングガイドの右端を拡張し、ユーザがラインの端に追加の書込みを入力できるようにすることができる。ライティングガイドは、タブレット250上の閲覧エリアの端まで拡張することができる。加えて、ライティングガイドの端付近の書込みにより、使用可能な次の行上に拡張パラグラフライティングガイドをトリガすることができる(上記で論じた)。
【0085】
図13に、本発明の例示的実施形態によるインデントされたアウトライン構造に対する構造化アウトライン手書きガイド1300を示す。ライティングガイド1300は、インデントされたアウトライン構造をユーザに示すことができ、所望の構造を構築する元となるユーザインタフェースを提供することができる。
【0086】
図示するように、ライティングガイド1300はライティングエリア402を有する。ライティングガイド1300は、ライティングエリア402内に、第1レベル領域1303と第2レベル領域1305を分割する、次のインデントレベル標識1304を有する。標識1304は、アウトライン構造内の次のインデントレベルを示す。ユーザがライティングエリア402で標識1304の左側の第1レベル領域1303内に書き込んだ場合、筆跡は、アウトライン構造の第1レベル上の筆跡に対応する。ユーザがライティングエリア402で標識1304の右側の第2レベル領域1305内に書き込んだ場合、筆跡は、アウトライン構造の第2レベル上の筆跡に対応する。例示的実施形態では、インクが第1レベル領域1303に進入したときにインデント標識1304は消滅することができる。
【0087】
ライティングガイド1300はまた、ブリット領域1306も有する。ユーザがブリット領域1306を活動化する前に、ブリット領域1306は薄く陰影を帯びたブリットまたは数字を提示することができる。薄く陰影を帯びたブリットまたは数字は、ユーザが利用できるブリットアウトライン構造を示すことができる。ユーザがスタイラス255またはポインティングデバイス265を用いてブリット領域1306を活動化した場合、薄く陰影を帯びたブリットまたは数字を実際の文字で置き換えることができる。ユーザは、スタイラス255でブリット領域1306をタップすることにより、ブリット領域1306を活動化することができる。加えて、活動化した後、ユーザはブリット領域1306を選択して、表示される数字を編集し、または別のブリットのタイプを選択することができる。
【0088】
例示的実施形態では、ブリット領域1306は、1つまたは複数の数字を収容するように初期デフォルトサイズを有することができる。ブリット領域は、より大きなフォントサイズ、より大きなライティングガイド高さ、またはより多くの数字を収容するように大きくすることができる。例えば、ブリットの系列中の次の数字が2桁ではなく3桁を有する場合、それを収容するようにブリット領域が広がる。
【0089】
あるいは、ユーザは、ブリット領域1306にインクを書き込んで、カスタムのブリットを作成することもできる。ブリット領域に入力されるどんなインクオブジェクトもカスタムのブリットを作成することができる。前のブリット領域と同一レベルのブリット領域は、カスタムのブリットと同一のインクシンボルセットを有する。したがって、ブリット領域の選択により、カスタムのインクブリットが挿入される。次いでブリットを後続の行で繰り返すことができる。
【0090】
ライティングガイド1300はまた、第2レベルブリット領域1308も有することができる。スタイラス255をブリット領域1308の上で停止することにより、ブリット領域1308内に、薄く陰影を帯びたブリットまたは数字を生成することができる。第2レベルブリット領域1308を選択することにより、ブリット領域1306について上記で説明したのと同様にブリットを活動化させることができる。
【0091】
例示的実施形態では、ライティングガイド1300は、複数のインデントレベルを有することができる。したがって、ライティングガイド1300は、その複数のインデントレベルを分離するために複数のインデントレベル標識を有することができる。加えて、各インデントレベルは、それぞれのインデントレベルに関するブリットを提供するために、対応するブリット領域を有することができる。
【0092】
別の例示的実施形態では、ライティングガイド1300は、図4のライティングガイド400に関して上記で論じた機能を有することができる。例えば、その機能には、ノードハンドル、アウトラインオブジェクトハンドル、及びオブジェクト要素ハンドルを含めることができる。
【0093】
図14A〜14Eに、本発明の例示的実施形態による構造化アウトライン手書きガイド1300の動作を示す。図14Aから始めると、ユーザが、構造化アウトラインの第1レベル上で筆跡1402を提供している。加えて、ユーザは、構造化アウトラインの第2レベル上で筆跡1404を提供している。ユーザがタブレット250の上でスタイラス255を停止するとき、構造化アウトライン手書きガイド1300が現れる。図14Aに示すように、ユーザは第1レベル領域1303の上でスタイラス255を停止する。したがって、ブリット領域1306及び標識1304を提示し、構造化アウトライン内でユーザをガイドする。
【0094】
図14Bでは、ユーザは、第2レベルブリット領域1308の上でスタイラス255を停止し、第2レベル領域1305に対して、薄く陰影を帯びたブリットまたは数字を生成する。したがって、第2レベルブリット領域1308内のインデント標識1304の左側にスタイラス255を停止することにより、第2レベルブリットライティングガイドが現れ、ライティングガイドのインデントレベルが次のレベルに移動する。
【0095】
図14Cでは、ユーザは、第2レベル領域1305の上でスタイラス255を停止する。その時、第3レベル領域1407の位置を示すために第3レベル標識1406が表示される。第3レベル領域1407に対して第3レベルブリット領域1408も提供される。
【0096】
図14Dでは、ユーザは第3レベルブリット領域1408の上でスタイラス255を停止し、第3レベル領域1407に対して、薄く陰影を帯びたブリットまたは数字を生成する。
【0097】
図14Eでは、ユーザは第3レベル領域1407の上でスタイラス255を停止して、ユーザは書込みを開始し、構造化アウトラインの第3レベルでテキストを与えることができる。
【0098】
図15に、本発明の例示的実施形態による、文字間にスペースのない言語向けの言語手書きガイド1500を示す。言語手書きガイド1500は、ライティングエリア402を有する。加えて、言語手書きガイド1500は、ライティングエリア402内に文字ノッチ1506を有する。文字ノッチ1506は、ライティングエリア402内に、特定の言語の単一の文字を書き込むことができる文字ボックスを与える。したがって、ユーザが各文字をそれぞれの文字ボックスに書き込むとき、文字ノッチ1506は、言語を基本文字に分割する。したがって、手書きガイド1500は、テキスト認識モジュール235に対して単語区切りを提供することができ、それによって、文字間にスペースのない言語に関してテキスト認識プロセスの精度が向上する。日本語はそのような言語の一例である。
【0099】
例示的実施形態では、図3を参照しながら上記で論じたように、言語手書きガイド1500を提示することができる。したがって、完全な言語手書きガイドを提示する前に、あるインク量をタブレット250に与えることができる。文字ノッチを有する言語手書きガイドを提示する前のインク入力は、「要単語区切り」とマークすることができる。このマーク付けにより、初期インク内の文字が分離していないことをテキスト認識モジュール235に通知することができる。
【0100】
図16に、本発明の例示的実施形態によるジェスチャ手書きガイド1602を示す。図示するように、ジェスチャ手書きガイド1602は、前述の手書きガイド400と組み合わせることができる。ジェスチャ手書きガイド1602は、1つまたは複数のアイコン1604用の保持エリアを提供する。各アイコン1604は、ライティングガイド400のライティングエリア402内に提供された筆跡に対する、アプリケーションに関するアクションを表す。例えば、アイコン1604に関連するアクションは、強調表示、ボールド、下線、及びEメールを含むことができる。したがって、アイコン1604の選択により、そのアイコン1604に関連するアクションを実行することができる。例えば、強調表示アイコンの選択により、ライティングエリア402内のすべての筆跡を強調表示することができる。別の例として、Eメールアイコンにより、ライティングエリア402内の筆跡をEメールに添付して、他者に送信することができる。
【0101】
次に図16及び17を参照しながら、ジェスチャ手書きガイドを活動化する例示的方法1700を説明する。図17は、本発明の例示的実施形態によるジェスチャ手書きガイドを活動化する方法1700を示すフローチャートである。ステップ1705では、ライティングガイドモジュール227は、左マージンの左側に対する、エリア内のインクストロークを検出しようと試みる。例えば、図16に示すように、ライティングガイドモジュール227は、ジェスチャ手書きガイド1602内のインクストロークを検出しようと試みることができる。この書込みは、アイコン1604に対応する手書きシンボルを含むことができる。ライティングガイドモジュール227が左マージンの左側に対するインクストロークを検出した場合、この方法はステップ1715に分岐する。ステップ1715では、ライティングガイドモジュール227は、手書きシンボルに対応するアイコンを表示する。次いでこの方法はステップ1720に進む。
【0102】
ライティングガイドモジュール227がステップ1705で左マージンの左側に対するインクストロークを検出しなかった場合、この方法はステップ1710に分岐する。ステップ1710では、ライティングガイドモジュール227は、ジェスチャ手書きガイド1602内に表示されたアイコン1604をユーザが選択したかどうかを判定する。そうでない場合、この方法はステップ1705に戻る。したがって、ライティングガイドモジュール227がマージンの左側への書込みまたはアイコン1604の選択を検出するまで、ステップ1705及び1710を反復する。
【0103】
ステップ1710で、ユーザがアイコンを選択したとライティングガイドモジュール227が判定した場合、この方法はステップ1720に分岐する。ステップ1720では、ライティングガイドモジュール227は、アイコンに添付されたアクションを判定する。次いでステップ1725で、ライティングガイドモジュール227は関連するアクションを実行する。
【0104】
代替の例示的実施形態では、ジェスチャ手書きガイド1602を省略することができる。その実施形態では、ユーザはタブレット250上のどこにでもシンボルを書き込むことができる。シンボルは、関連するアクションを伴う、対応するアイコンを有することができる。ライティングガイドモジュール227は、ユーザがジェスチャ手書きガイド1602内にシンボルを書き込まなかった場合であってもシンボルを認識することができ、アイコンを表示することができ、アクションを実行することができる。
【0105】
次に図18及び19を参照しながら、本発明の例示的実施形態による犠牲ライティングガイド1800を活動化する方法1900を説明する。図18に、本発明の例示的実施形態による犠牲ライティングガイド1800を示す。図19は、本発明の例示的実施形態に従って犠牲ライティングガイド1800を活動化する方法1900を示すフローチャートである。
【0106】
図18に示すように、犠牲ライティングガイド1800は、犠牲シンボル1802及びライティングガイド400を有する。図18の例示的実施形態では、犠牲シンボル1802は、チェックボックスを有する。したがって、ユーザは、タブレット250上に犠牲シンボル1802を書き込むことができる。ライティングガイドモジュール227は犠牲シンボル1802を認識することができ、ユーザに対してライティングガイド1800全体を提示することができる。
【0107】
図19のステップ1905では、ライティングガイドモジュール227は、タブレット250上の犠牲シンボル1802を検出しようと試みる。ライティングガイドモジュール227が犠牲シンボル1802を検出するまで、ステップ1905を反復する。犠牲シンボル1802を検出した後、この方法はステップ1910に分岐する。ステップ1910では、ライティングガイドモジュール227は、犠牲シンボル1802をテキストに変換する。次いでステップ1915では、ライティングガイドモジュール227は、犠牲シンボル1802に対応する完全なライティングガイド1800を表示する。
【0108】
図18の例示的実施形態では、犠牲シンボル1802はチェックボックスを有する。したがって、ライティングガイドモジュール227がテキストボックスに対して手書きシンボルを検出したとき、ライティングガイドモジュール227は完全なライティングガイド1800を表示することができる。
【0109】
図20に、本発明の例示的実施形態に従って既存のオブジェクト要素に筆跡を追加するためのアクティブライティングガイド部分2004、2004aを示す。ライティングガイド部分2004、2004aは、タブレット250のアクティブエリアを表す。各部分2004は、既存の非アクティブオブジェクト要素2002の末端のアクティブエリアに対応する。例えば、図20に示すように、非アクティブオブジェクト要素「windex」の後に、アクティブライティングガイド部分2004が続く。ユーザが部分2004にインクを書き込む場合、ライティングガイドモジュール227はそのインクを、対応するオブジェクト要素2002に追加する。
【0110】
したがって、ライティングガイド部分2004により、ユーザが前に戻って前の行に書き込むことが可能となる。ライティングガイド部分2004に書き込まれたどんな単語も、対応するライティングガイド上にあり、同じ行にあるとみなすことができる。さらに、ライティングガイド部分2004に書き込まれたインクを、手書き中に次行の前に入力することができる。
【0111】
加えて、ライティングガイド部分2004aは、新しいオブジェクト要素をアウトラインオブジェクトに追加するためのアクティブエリアを示す。したがって、ユーザは、部分2004aにインクストロークを入力し、アウトラインオブジェクトに筆跡の新しい行を追加することができる。したがって、新しいパラグラフは、ブランク行のライティングガイド部分2004a上に書き込むことによって開始することができる。例示的実施形態では、ライティングガイド部分2004aを有する2つの自由行が、テキスト/筆跡を含む行の下に設けられる。ライティングガイド部分2004aは、スタイラス255をライティングガイド部分2004aの上で停止することによって可視にすることができる。ライティングガイド部分は、同じアウトラインオブジェクト内の前のライティングガイドから、初期高さを獲得することができる。あるいは、ライティングガイド部分は、前のライティングガイドが非常に大きくなった場合、アウトラインオブジェクト内の第1ライティングガイドの高さを獲得することができる。例えば、前のライティングガイドが初期高さの2倍になった場合、ライティングガイド部分は、最初のライティングガイドの高さを獲得することができる。加えて、最初のライティングガイドがデフォルト高さから、デフォルト高さの2倍以上などのように非常に大きくなった場合、ライティングガイド部分はそのサイズを獲得することができる。
【0112】
図20はまた、タブレット250上に新しいアウトラインオブジェクト2006を追加することも示す。新しいアウトラインオブジェクト2006を追加するために、ユーザは、タブレット250のブランクスペース2008の任意の場所で手書きを開始することができる。ブランクスペース2008は、非アクティブオブジェクト要素2002またはライティングガイド部分2004、2004aによって占有されない任意のスペースでよい。例示的実施形態では、アウトラインオブジェクトを重ねることができる。ライティングガイド部分2004または全ライティングガイド行2004aの外にユーザがインクを入力したとき、ライティングガイドモジュール227は、既存のアウトラインオブジェクトの上を浮遊することができる新しいアウトラインオブジェクト2006を作成する。
【0113】
図21は、本発明の例示的実施形態に従ってオフガイドライティングを分類する方法2100を示すフローチャートである。この方法2100により、構造化された筆跡または描画とは考えられないインクをライティングガイドモジュールが処理することが可能となる。
【0114】
ステップ2105では、ライティングガイドモジュール227は、タブレット250上に与えられたオフガイドインクストロークを収集する。オフガイドインクストロークは、アクティブ部分2004、2004a(図20)内にない任意のインクストロークを含む。オフガイドインクストロークをステップ2105で収集したときに、ライティングガイドモジュール227は、インクデータから情報を抽出することができる。例えば、データは、各インクストロークについてのタイムスタンプ情報及び位置情報を含むことができる。次いでライティングガイドモジュール227は、ステップ2110で、抽出した情報に基づいてインクストロークをグループ化する。例えば、各ストロークが互いに所定の時間フレーム内に作成された場合、または互いに所定の距離内に作成された場合にストロークをグループ化することができる。上記の基準を満たす後続の各ストロークをグループに追加することができる。ユーザが基準を満たさないストロークを入力するとき、ライティングガイドモジュール227は新しいグループを開始する。
【0115】
例示的実施形態では、所定の時間フレーム及び距離は、それぞれ3/4秒及び1/2インチ(1.27センチメートル)を有することができる。他の時間フレームまたは距離も本発明の範囲内にある。
【0116】
ステップ2115では、ライティングガイドモジュール227は、グループ化したストロークのサイズが所定のしきいサイズ未満であるかどうかを判定する。この判定に基づいて、ライティングガイドモジュール227は、オフガイドインクを編集(ステップ2120)または注釈(ステップ2135)として分類することができる。
【0117】
インク編集は通常、線を交差させて引いた「t」、または点を打って書いた「i」などの非常に短いストロークである。例えば、図22Aに、オブジェクト要素2202に追加されたインクストローク2204を示す。ストローク2204は、オブジェクト要素2202内に、線を交差させて引いた「t」を含む。ストローク2204のサイズはしきいサイズ未満であるので、ライティングガイドモジュール227は、ストローク2204を編集として分類する。例示的実施形態では、しきいサイズは、ライティングガイドの高さh(図7A)またはH(図7B)とすることができる。したがって、オフガイドインクストロークはサイズh×h(またはH×H)を有するボックスに適合する場合、ストロークは編集を含む。
【0118】
したがって、インクサイズが所定のしきい値未満である場合、ライティングガイドモジュール227は、ステップ2120で、ストロークのグループを編集として分類する。ステップ2125では、ライティングガイドモジュール227は、グループ化したインクストロークを直近の単語オブジェクトに追加する。次いで、ステップ2130では、ライティングガイドモジュール227は、追加したインクを「認識しない」ものとしてマークする。
【0119】
ステップ2115に戻ると、グループ化したインクストロークが所定のしきいサイズを超過している場合、この方法はステップ2135に分岐する。ステップ2135では、ライティングガイドモジュール227は、グループ化したインクストロークを注釈として分類する。
【0120】
したがって、ライティングガイドモジュール227は、所定のしきい値よりも大きいサイズを有するオフガイドインクを注釈として分類することができる。インクグループを注釈と分類するのに十分なインクを受け取った後、ライティングガイドモジュール227は、描画ライティングガイドを提供することができる。したがって、ステップ2140では、ライティングガイドモジュール227は、グループ化したストロークに対して描画を作成する。描画ライティングガイドは、下にあるアウトラインオブジェクトの上を浮遊することができる。例えば、図22Bに、本発明の例示的実施形態による注釈を表すオフガイドインクストローク2208のグループを示す。ライティングガイドモジュールは、図22Bのインクストローク2208を注釈として分類する。インクストローク2208は、アウトラインオブジェクト2206の上を浮遊する描画を含むことができる。例示的実施形態では、注釈は、上書きされるノードまたはオブジェクトに固定することができる。したがって、各項目はページ上で一緒に移動することができる。
【0121】
図23A及び23Bに、本発明の例示的実施形態による、ネストされた見出しライティングガイド2300を示す。ライティングガイド2300をフルサイズまで拡張し、ユーザがその中に筆跡を書き込んだ後、ネストされた見出しの始まりを示す標識2304が現れる。図23Aに示すように、標識2304は、ライティングガイド2300を、第1見出し領域2302と第2見出し領域2306とに分割する。第1見出し領域2302への書込みにより、その領域にインクが配置される。図23Bに示すように、第2見出し領域2306への書込みにより、その領域にインクが配置され、それによってネストされた見出しが生成される。
【0122】
図24に、本発明の例示的実施形態による描画ライティングガイド2400を示す。図示するように、描画ガイド2400は、タブレット250上に与えられたインクストローク2410のグループに対して生成することができる。描画ガイド2400の描画シンボル2403は、ライティングガイドモジュール227がインクストローク2410を描画として分類したことを示す。
【0123】
描画ガイド2400はまた、サイズ変更ハンドル2406も有する。サイズ変更ハンドル2406により、描画ガイド2400の手動によるサイズ変更が可能となる。ユーザは、描画ガイドサイズ変更ハンドル2406のうち1つを選択してドラッグすることにより、描画ガイド2400をサイズ変更することができる。描画ガイド2400はまた、描画ガイド2400全体を再配置するための移動ハンドル2404も含む。
【0124】
描画ツールアイコン2408は、ドロップダウンメニュー(図示せず)へのアクセスを提供する。ドロップダウンメニューは、インクを再分類し、または描画ガイドをロックするためのオプションを含むことができる。したがって、ユーザは、描画または筆跡についてのインクの分類を手動で変更することができる。例えば、ユーザは、描画ツールアイコン2408を選択して、ドロップダウンメニュー(図示せず)を表示することができる。次いでユーザは、「ライティングとして処理」を選択して、描画種別を筆跡種別に変更することができる。加えて、ユーザは描画をロックして、他の描画との相互作用を防止することができる。ロックした後、図面は、ビットマップピクチャファイルまたはJPEGピクチャファイルなどの通常のピクチャのように振る舞う。ロックした描画ガイドは、別の描画とマージすることができない。描画をロックするために、ユーザは、描画ツールアイコン2408を選択して、ドロップダウンメニュー(図示せず)を表示することができる。次いでユーザは、「描画ロックオプション」を選択することができる。
【0125】
図25に、本発明の例示的実施形態に従って描画ガイド2400を表示する、図3のステップ335で参照した方法を示す。ステップ2505では、ライティングガイドモジュール227は、検出したインクストローク2410の周囲に境界矩形2412を確定する。境界矩形2412は、インクストローク2410を包含する矩形を有する。ステップ2510では、ライティングガイドモジュール227は、境界矩形2412の周囲にホットゾーン2414を追加する。ホットゾーン2414は、ユーザが新しいインクストロークを入力するための追加のスペースを描画ガイド2400内に与える。
【0126】
例示的実施形態では、ホットゾーン2414は、境界矩形2412の周囲に固定の境界を有することができる。代替実施形態では、ホットゾーン2414は、検出したストローク2410の個々のストロークの周囲に、指定の幅のバッファを有することができる。その場合、ホットゾーンは不規則な形状を有することができる。
【0127】
最後に、ステップ2515では、ライティングガイドモジュール227は、タブレット260上に、前述の寸法を有する描画ガイド2400を表示する。次いでこの方法はステップ340(図3)に進む。
【0128】
代替実施形態では、メニューから描画ガイドを選択することにより、描画ライティングガイドを最初に挿入することができる。ユーザは、マウス、キーボード、またはスタイラスを使用してその選択を行うことができる。
【0129】
ユーザは、以下の例示的方法によって描画ガイドを非活動化することができる。その例示的方法とは、(1)任意のタイプの別のライティングガイドの活動化、(2)1秒またはその他の所定の時間よりも長い間描画ガイドから離れること、及び(3)ツールバーまたはその他のメニューを介してモードを切り換えることである。
【0130】
図26は、本発明の例示的実施形態に従って描画ガイドの寸法を再計算する、図3のステップ345で参照した方法を示すフローチャートである。ステップ2605では、ライティングガイドモジュール227は、描画ガイド2400の境界矩形2412の外部のインクを検出しようと試みる。ステップ2605は、ライティングガイドモジュール227が境界矩形2412の外部のインクを検出するまで繰り返すことができる。境界矩形2412の外部のインクを検出した後、この方法はステップ2610に分岐する。ステップ2610では、ライティングガイドモジュール227は、新しく検出したインクを取り囲むように境界矩形2412の寸法を再確定する。ステップ2615では、ライティングガイドモジュール227は、再確定した境界矩形2412の周囲に新しいホットゾーン2414を追加する。次いでステップ2620では、ライティングガイドモジュール227は、サイズ変更した描画ガイド2400を表示する。次いでこの方法は、ステップ340(図3)に進む。
【0131】
例示的実施形態では、描画ガイド上で始まり、描画ガイドの外まで延びるストロークを描画することによって描画ガイドを延長することができる。あるいは、描画ガイドの外で始まり、描画ガイドのホットゾーン内に延びるストロークを描画することによって描画ガイドを延長することもできる。どちらの場合も、ストロークが描画ガイド内に完全に含まれるように描画ガイドを延長することができる。
【0132】
別の例示的実施形態では、インクが描画ガイドに入力されなくても、ユーザはインクを描画ガイドに追加することができる。その場合、描画ガイドは、追加されたインクを包含するように延びることができる。例えば、ライティングガイドモジュール227は、追加されたインクがライティングガイドに属するかどうかを、追加された各ストロークのタイムスタンプ及び位置に基づいて判定することができる。例えば、以下のインクストロークは描画の一部とみなすことができ、それによってそのインクストロークを包含するように描画ガイドが延びる。そのインクストロークとは、(1)描画ガイド内に、別のストロークと1/2インチ(1.27センチメートル)以内、かつ3/4秒以内に入力されたストローク、(2)描画ガイド内に、別のストロークと2インチ(5.08センチメートル)以内、かつ1/2秒以内に入力されたストローク、及び(3)描画ガイド内に、別のストロークと5インチ(12.7センチメートル)以内、かつ1/4秒以内に入力されたストロークである。その他の時間及び位置も本発明の範囲内にある。
【0133】
別の例示的実施形態では、2つ以上の描画ガイドをマージして、1つの大きな描画ガイドを形成することができる。例えば、ある描画ガイドからのインクストロークが別の描画ガイドのホットゾーンに入る場合、2つの描画ガイドをマージすることができる。得られる描画ガイドは、2つの元の描画ライティングガイドの境界矩形に新しいホットゾーンを加えたサイズを有することができる。マージは、描画ガイドを選択し、メニューからマージオプションを選択することによって実施することもできる。
【0134】
本発明は、上記で説明した方法及び処理機能を実施するコンピュータハードウェア/ソフトウェアと共に使用することができる。当業者は理解するであろうが、本明細書で説明したシステム、方法、及び手順は、プログラマブルコンピュータ、コンピュータ実行可能ソフトウェア、またはデジタル回路で実施することができる。ソフトウェアはコンピュータ可読媒体上に格納することができる。例えば、コンピュータ可読媒体は、フロッピィディスク、RAM、ROM、ハードディスク、リムーバブル媒体、フラッシュメモリ、メモリスティック、光媒体、光磁気媒体、CD−ROMなどを含むことができる。デジタル回路は、集積回路、ゲートアレイ、ビルディングブロックロジック、フィールドプログラマブルゲートアレイ(FPGA)などを含むことができる。
【0135】
本発明の特定の実施形態を上記で詳細に説明したが、上記の説明は単に例示のためのものに過ぎない。上記で説明したものに加えて、特許請求の範囲で定義される本発明の趣旨及び範囲から逸脱することなく、例示的実施形態の開示の態様の様々な修正形態、及び例示的実施形態の開示の態様に対応する等価なステップを当業者は作成することができよう。特許請求の範囲は、そのような修正形態及び等価な構造を包含するような最も広い解釈を与えるべきものである。
【0136】
【発明の効果】
以上説明したように本発明によれば、フリーフォーム電子文書での改善された手書き認識/変換を実現できる。
【図面の簡単な説明】
【図1】本発明の実施形態の例示的動作環境を示すブロック図である。
【図2】本発明の実施形態の例示的フリーフォーム文書エディタ、及び関連する入力装置の主な機能構成要素を示すブロック図である。
【図3】本本発明の実施形態のライティングガイドを表示する方法を示すフローチャートの図である。
【図4】本発明の実施形態のタブレット上に表示されたライティングガイドを示す図である。
【図5】本発明の実施形態の検出したインクを描画または筆跡として分類する方法を示すフローチャートである。
【図6】本発明の実施形態の手書きガイドを表示する方法を示すフローチャートの図である。
【図7A】本発明の実施形態の手書きガイドの寸法を示す図である。
【図7B】本発明の実施形態の手書きガイドの寸法を示す図である。
【図8】本発明の実施形態のライティングガイドのベースラインを確定する方法を示すフローチャートである。
【図9】本発明の実施形態のインクの行のそれぞれのセグメント内のインク量を示す代表的インクヒストグラムを示す図である。
【図10】本発明の代替の実施形態のライティングガイドのベースラインを確定する方法を示すフローチャートである。
【図11】本発明の代替の実施形態の図10の方法で確定されたライティングガイドの寸法を示す図である。
【図12】本発明の実施形態の手書きガイドの寸法を再計算する方法を示すフローチャートの図である。
【図13】本発明の実施形態のインデントされたアウトライン構造についての構造化アウトライン手書きガイドを示す図である。
【図14A】本発明の実施形態の構造化アウトライン手書きガイドの動作を示す図である。
【図14B】本発明の例示的実施形態による構造化アウトライン手書きガイドの動作を示す図である。
【図14C】本発明の実施形態の構造化アウトライン手書きガイドの動作を示す図である。
【図14D】本発明の実施形態の構造化アウトライン手書きガイドの動作を示す図である。
【図14E】本発明の実施形態の構造化アウトライン手書きガイドの動作を示す図である。
【図15】本発明の実施形態の文字間にスペースがない言語向けの言語手書きガイドを示す図である。
【図16】本発明の実施形態のジェスチャ手書きガイドを示す図である。
【図17】本発明の実施形態のジェスチャ手書きガイドを活動化する方法を示すフローチャートである。
【図18】本発明の実施形態の犠牲ライティングガイドを示す図である。
【図19】本発明の実施形態の犠牲ライティングガイドを活動化する方法を示すフローチャートの図である。
【図20】本発明の実施形態の既存のオブジェクト要素に筆跡を追加するアクティブライティングガイド部分を示す図である。
【図21】本発明の実施形態のオフガイドライティングを分類する方法を示すフローチャートである。
【図22A】本発明の実施形態の編集を表すオフガイドインクストロークを示す図である。
【図22B】本発明の実施形態の注釈を表すオフガイドインクストロークのグループを示す図である。
【図23A】本発明の実施形態のネストされた見出しライティングガイドを示す図である。
【図23B】本発明の実施形態のネストされた見出しライティングガイドを示す図である。
【図24】本発明の実施形態の描画ライティングガイドを示す図である。
【図25】本発明の実施形態の描画ガイドを表示する方法を示す図である。
【図26】本発明の実施形態の描画ガイドの寸法を再計算する方法を示すフローチャートの図である。
【符号の説明】
121 プロセッサ
122 システムメモリ
123 システムバス
124 読取り専用メモリ(ROM)
125 ランダムアクセスメモリ(RAM)
126 基本入出力システム(BIOS)
127 ハードディスクドライブ
128 磁気ディスクドライブ
129 リムーバブル磁気ディスク
131 リムーバブル光ディスク
132 ハードディスクインタフェース
133 磁気ディスクドライブインタフェース
134 光ディスクドライブインタフェース
135 オペレーティングシステム
136 文書エディタ
138 インクプロセッサ
139 電子文書
140 キーボード
142 ポインティングデバイス
146 シリアルポートインタフェース
147 ディスプレイ装置
148 ビデオアダプタ
149 リモートコンピュータ
150 メモリ記憶装置
151 ローカルエリアネットワーク(LAN)
152 広域ネットワーク(WAN)
153 ネットワークインタフェース/アダプタ
154 モデム
205 文書編集モジュール
210 解析モジュール
215 分類器モジュール
216 レイアウトモジュール
217 スペース挿入モジュール
220 電子文書
225 インク処理ソフトウェアモジュール
227 ライティングガイドモジュール
228 スタイラス/インクモジュール
230 ジェスチャ認識器
235 テキスト認識モジュール
240 消去機能モジュール
250 タブレット
255 スタイラス
260 キーボード
265 ポインティングデバイス
270 モニタ
400 手書きガイド
402 ライティングエリア
404 アウトラインオブジェクトハンドル
406 アウトラインオブジェクトハンドル
408 要素ノードハンドル
410 マージハンドル
700a 手書きガイド
700b 手書きガイド
902 水平セグメント
904 インクヒストグラム
1100 ライティングガイド
1300 ライティングガイド
1303 第1レベル領域
1304 インデント標識
1305 第2レベル領域
1306 ブリット領域
1308 第2レベルブリット領域
1406 第3レベル標識
1407 第3レベル領域
1408 第3レベルブリット領域
1500 言語手書きガイド
1506 文字ノッチ
1602 ジェスチャ手書きガイド
1604 アイコン
1800 犠牲ライティングガイド
1802 犠牲シンボル
2002 非アクティブオブジェクト要素
2004 ライティングガイド部分
2004a ライティングガイド部分
2008 ブランクスペース
2202 オブジェクト要素
2204 インクストローク
2206 アウトラインオブジェクト
2208 オフガイドインクストローク
2300 ネストされた見出しライティングガイド
2302 第1見出し領域
2304 標識
2306 第2見出し領域
2400 描画ライティングガイド
2403 描画シンボル
2404 移動ハンドル
2406 描画ガイドサイズ変更ハンドル
2408 描画ツールアイコン
2410 インクストローク
2412 境界矩形
2414 ホットゾーン

Claims (23)

  1. コンピュータで実行される、フリーフォーム文書エディタ用のライティングガイドを表示するための方法であって、
    インクストロークを含む電子インクを検出するステップと、
    検出した前記インクを、筆跡と描画の一方に対応するものとして分類するステップと、
    検出した前記インクを筆跡として分類した場合に、手書きライティングガイドを表示するステップであって、前記手書きライティングガイドは、ユーザが前記電子インクを入力するライティングエリアを有し、フォーマット構造情報を提供するステップと
    を備え、
    前記表示するステップは、検出したインクを包含する境界矩形に基づいて、前記ライティングエリアの寸法を判定するステップを含むことを特徴とする方法。
  2. 前記分類するステップは、
    検出した前記インクが筆跡を含むか、それとも描画を含むかを示すしきい値アスペクト比を設定するステップと、
    検出した前記インクの長さ及び高さを判定するステップと、
    判定した前記長さ及び高さに基づいて、検出した前記インクについてのインクアスペクト比を計算するステップと、
    前記インクアスペクト比が前記しきい値アスペクト比よりも大きいかどうかを判定するステップと、
    前記インクアスペクト比が前記しきい値アスペクト比よりも大きいという判定に応答して、検出した前記インクを筆跡として分類するステップと
    を備えたことを特徴とする請求項1に記載の方法。
  3. 前記検出するステップで、検出した前記インクを筆跡または描画として分類する前に、検出する所定のインクストローク数に対応する最小ストロークしきい値を設定するステップと、
    検出した前記インクについての検出したインクストローク数を求めるステップと、
    検出した前記インクストローク数が前記最小ストロークしきい値よりも大きいかどうかを判定するステップと
    をさらに備え、
    前記分類するステップは、検出した前記インクストローク数が前記最小ストロークしきい値よりも大きいという判定に応答して実施されることを特徴とする請求項2に記載の方法。
  4. 前記最小ストロークしきい値は、検出した前記インクを筆跡として分類する所定のインクストローク数と、検出した前記インクを描画として分類する、異なる所定のインクストローク数とを有することを特徴とする請求項3に記載の方法。
  5. 前記寸法を判定するステップは、検出した前記インクを包含する前記境界矩形に基づいて、前記ライティングエリアの右端、左端、上端、及びベースラインの寸法を求めるステップを含むことを特徴とする請求項1に記載の方法。
  6. 前記寸法を判定するステップは、前記上端及びベースラインの寸法の一方に所定の間隔を追加することによって前記ライティングエリアを増やすステップをさらに含むことを特徴とする請求項5に記載の方法。
  7. 前記寸法を判定するステップは、
    検出した前記インクの行上の分布を表すヒストグラムを作成するステップと、
    前記ヒストグラムに基づいて、前記ライティングエリアの前記ベースライン寸法を計算するステップと
    を含むことを特徴とする請求項1に記載の方法。
  8. 前記作成するステップは、
    前記行を複数のセグメントに分割するステップと、
    各セグメント内の検出したインク量を測定するステップと、
    各セグメント内の検出したインク量に基づいて、前記ヒストグラムを作成するステップと
    を含むことを特徴とする請求項7に記載の方法。
  9. 前記計算するステップは、
    セグメントを前記ライティングエリアから除去するインク量に対応するインク除去しきい値を設定するステップと、
    セグメント内の検出したインク量が前記インク除去しきい値よりも少ないかどうかを判定するステップと、
    前記セグメント内の検出したインク量が前記インク除去しきい値よりも少ないと判定したことに応答して、前記ライティングエリアから前記セグメントを除去し、前記ライティングエリアの前記ベースライン寸法を確定するステップと
    を含むことを特徴とする請求項に記載の方法。
  10. 前記寸法を判定するステップは、
    検出した前記インクの一部をテキストに変換するステップと、
    前記変換するステップのインク−テキスト変換に基づいて、前記ライティングエリアのベースライン寸法を計算するステップと
    を含むことを特徴とする請求項1に記載の方法。
  11. 前記ライティングエリアの寸法をサイズ変更するために、前記ライティングエリア外部のインク量に対応するサイズ変更しきい値を設定するステップと、
    前記ライティングエリア外部のインク量を検出するステップと、
    前記ライティングエリア外部のインク量が前記サイズ変更しきい値より多いかどうかを判定するステップと、
    前記ライティングエリア外部のインク量が前記サイズ変更しきい値よりも多いという判定に応答して、前記ライティングエリアの寸法をサイズ変更するステップと
    をさらに備えたことを特徴とする請求項1に記載の方法。
  12. 前記ライティングエリアの寸法をサイズ変更するために、前記ライティングエリア外部のインク量に対応するサイズ変更しきい値を設定するステップと、
    前記ライティングエリア内部及び外部に複数のセグメントを確定するステップと、
    各セグメント内のインク量を検出するステップと、
    前記ライティングエリア外部のセグメント内のインク量が前記サイズ変更しきい値よりも多いかどうかを判定するステップと、
    前記ライティングエリア外部のインク量が前記サイズ変更しきい値よりも多いという判定に応答して、前記ライティングエリアの寸法を増やすステップと
    をさらに備えたことを特徴とする請求項1に記載の方法。
  13. コンピュータで実行される、フリーフォーム文書エディタ用のライティングガイドを表示するための方法であって、
    電子インクを検出するステップと、
    検出した前記インクを、筆跡と描画の一方に対応するものとして分類するステップと、
    検出した前記インクを筆跡として分類した場合に、ユーザが前記電子インクを筆跡として入力することのできるライティングエリアを有しフォーマット構造情報を提供する手書きライティングガイドを表示するステップと、
    検出した前記インクを描画として分類した場合に、描画ガイドを表示するステップであって、前記描画ガイドは、内部のインクをグループとして操作できるようにし、前記描画として分類された前記インクを包合する境界矩形と、新しい描画としてのインクを入力することができる前記境界矩形周囲のホットゾーンとを含む、描画ガイドを表示するステップと
    を備えたことを特徴とする方法。
  14. 前記手書きライティングガイドを表示するステップは、構造化アウトラインの相異なるレベルに対応する第1のレベル領域と第2のレベル領域とに前記ライティングエリアを分割する次レベルのインデント標識をさらに有する前記手書きライティングガイドを表示するステップを含むことを特徴とする請求項13に記載の方法。
  15. 前記手書きライティングガイドを表示するステップは、前記構造化アウトラインのブリットアウトラインに対応するブリット領域をさらに有する前記手書きライティングガイドを表示するステップを含むことを特徴とする請求項14に記載の方法。
  16. 前記ブリットアウトラインを表示するために、前記ブリット領域を活動化するステップをさらに備えたことを特徴とする請求項15に記載の方法。
  17. 前記手書きライティングガイドを表示するステップは、言語の個々の文字についての文字ボックスに前記ライティングエリアを分割する文字ノッチをさらに有する前記手書きライティングガイドを表示するステップを含むことを特徴とする請求項13に記載の方法。
  18. 前記手書きライティングガイドは、ジェスチャ手書きライティングガイドを含むことを特徴とする請求項13に記載の方法。
  19. 前記手書きライティングガイドは、犠牲手書きライティングガイドを含むことを特徴とする請求項13に記載の方法。
  20. 前記手書きライティングガイドは、ネストされた見出し手書きライティングガイドを含むことを特徴とする請求項13に記載の方法。
  21. コンピュータで実行される、フリーフォーム文書エディタ用のライティングガイドを表示するための方法であって、
    電子インクを検出するステップと、
    検出した前記インクを、筆跡と描画の一方に対応するものとして分類するステップと、
    検出した前記インクを描画として分類した場合に描画ガイドを表示するステップであって、内部のインクをグループとして操作できるようにする、描画ガイドを表示するステップと
    を備え、
    前記表示するステップは、
    検出した前記インクを包含する元の境界矩形の寸法を判定するステップと、
    前記元の境界矩形の寸法に基づいて前記描画ガイドの寸法を確定するステップと、
    前記元の境界矩形周囲に、新しい描画としてのインクを入力することのできるホットゾーンの寸法を判定するステップと
    を含み、
    前記確定するステップは、前記境界矩形及びホットゾーンの寸法に基づいて前記描画ガイドの寸法を確定するステップを含むことを特徴とする方法。
  22. 前記元の境界矩形の外部のインクを検出するステップと、
    前記元の境界矩形の外部で検出した前記インクを包含する新しい境界矩形の寸法を判定するステップと、
    前記新しい境界矩形の寸法に基づいて前記描画ガイドの寸法を再確定するステップと
    をさらに備えたことを特徴とする請求項21に記載の方法。
  23. 前記検出したインクを筆跡として分類することに応答して、手書きライティングガイドを表示するステップをさらに備えたことを特徴とする請求項21に記載の方法。
JP2003188927A 2002-06-28 2003-06-30 フリーフォーム文書エディタ用のライティングガイドを表示するための方法 Expired - Fee Related JP4486325B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/186,388 US7062090B2 (en) 2002-06-28 2002-06-28 Writing guide for a free-form document editor

Publications (2)

Publication Number Publication Date
JP2004062891A JP2004062891A (ja) 2004-02-26
JP4486325B2 true JP4486325B2 (ja) 2010-06-23

Family

ID=29718024

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003188927A Expired - Fee Related JP4486325B2 (ja) 2002-06-28 2003-06-30 フリーフォーム文書エディタ用のライティングガイドを表示するための方法

Country Status (4)

Country Link
US (2) US7062090B2 (ja)
EP (2) EP2869212A1 (ja)
JP (1) JP4486325B2 (ja)
CA (1) CA2429507C (ja)

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7916124B1 (en) 2001-06-20 2011-03-29 Leapfrog Enterprises, Inc. Interactive apparatus using print media
US7079713B2 (en) 2002-06-28 2006-07-18 Microsoft Corporation Method and system for displaying and linking ink objects with recognized text and objects
US7751623B1 (en) 2002-06-28 2010-07-06 Microsoft Corporation Writing guide for a free-form document editor
US20040117724A1 (en) * 2002-12-03 2004-06-17 Microsoft Corporation Extensible schema for ink
US7721226B2 (en) 2004-02-18 2010-05-18 Microsoft Corporation Glom widget
US7853193B2 (en) 2004-03-17 2010-12-14 Leapfrog Enterprises, Inc. Method and device for audibly instructing a user to interact with a function
US7831933B2 (en) 2004-03-17 2010-11-09 Leapfrog Enterprises, Inc. Method and system for implementing a user interface for a device employing written graphical elements
US7659890B2 (en) * 2004-03-19 2010-02-09 Microsoft Corporation Automatic height adjustment for electronic highlighter pens and mousing devices
US20060005151A1 (en) * 2004-07-02 2006-01-05 Adobe Systems Graphical interface for adjustment of text selections
US7551779B2 (en) * 2005-03-17 2009-06-23 Microsoft Corporation Word or character boundary-based scratch-out gesture recognition
US20060267966A1 (en) * 2005-05-24 2006-11-30 Microsoft Corporation Hover widgets: using the tracking state to extend capabilities of pen-operated devices
US7680332B2 (en) * 2005-05-30 2010-03-16 Microsoft Corporation Grouping lines in freeform handwritten text
US7961943B1 (en) * 2005-06-02 2011-06-14 Zeevi Eli I Integrated document editor
US7922099B1 (en) 2005-07-29 2011-04-12 Leapfrog Enterprises, Inc. System and method for associating content with an image bearing surface
US7936339B2 (en) * 2005-11-01 2011-05-03 Leapfrog Enterprises, Inc. Method and system for invoking computer functionality by interaction with dynamically generated interface regions of a writing surface
US7774722B2 (en) * 2006-01-31 2010-08-10 Microsoft Corporation Creation and manipulation of canvases based on ink strokes
US8599143B1 (en) 2006-02-06 2013-12-03 Leapfrog Enterprises, Inc. Switch configuration for detecting writing pressure in a writing device
JP4759743B2 (ja) * 2006-06-06 2011-08-31 国立大学法人 東京大学 オブジェクト表示処理装置、オブジェクト表示処理方法、およびオブジェクト表示処理用プログラム
JP4752066B2 (ja) * 2006-07-07 2011-08-17 国立大学法人 東京大学 手書き入力処理装置、手書き入力処理方法、および手書き入力処理用プログラム
US8261967B1 (en) 2006-07-19 2012-09-11 Leapfrog Enterprises, Inc. Techniques for interactively coupling electronic content with printed media
US7844915B2 (en) 2007-01-07 2010-11-30 Apple Inc. Application programming interfaces for scrolling operations
US20080168402A1 (en) 2007-01-07 2008-07-10 Christopher Blumenberg Application Programming Interfaces for Gesture Operations
US20080168478A1 (en) 2007-01-07 2008-07-10 Andrew Platzer Application Programming Interfaces for Scrolling
US8407589B2 (en) 2007-04-20 2013-03-26 Microsoft Corporation Grouping writing regions of digital ink
US7945097B2 (en) * 2007-05-21 2011-05-17 Microsoft Corporation Classifying digital ink into a writing or a drawing
US8645827B2 (en) 2008-03-04 2014-02-04 Apple Inc. Touch event model
US8717305B2 (en) 2008-03-04 2014-05-06 Apple Inc. Touch event model for web pages
US8416196B2 (en) 2008-03-04 2013-04-09 Apple Inc. Touch event model programming interface
JP5169369B2 (ja) * 2008-03-25 2013-03-27 富士ゼロックス株式会社 筆跡情報処理装置、及びプログラム
KR101477808B1 (ko) * 2008-08-08 2014-12-30 엘지전자 주식회사 영상표시기기에서 메뉴얼 검색을 위한 방법 및 장치
US8566045B2 (en) 2009-03-16 2013-10-22 Apple Inc. Event recognition
US9311112B2 (en) 2009-03-16 2016-04-12 Apple Inc. Event recognition
US9684521B2 (en) 2010-01-26 2017-06-20 Apple Inc. Systems having discrete and continuous gesture recognizers
US8285499B2 (en) 2009-03-16 2012-10-09 Apple Inc. Event recognition
US8473842B2 (en) 2010-05-12 2013-06-25 Microsoft Corporation Contour based flow layout
US8218875B2 (en) 2010-06-12 2012-07-10 Hussein Khalid Al-Omari Method and system for preprocessing an image for optical character recognition
US10216408B2 (en) 2010-06-14 2019-02-26 Apple Inc. Devices and methods for identifying user interface objects based on view hierarchy
US9223471B2 (en) 2010-12-28 2015-12-29 Microsoft Technology Licensing, Llc Touch screen control
US9298363B2 (en) * 2011-04-11 2016-03-29 Apple Inc. Region activation for touch sensitive surface
JP5683411B2 (ja) * 2011-08-25 2015-03-11 シャープ株式会社 表示装置および表示プログラム
JP5418576B2 (ja) * 2011-11-28 2014-02-19 コニカミノルタ株式会社 情報閲覧装置及び表示制御プログラム
US9007390B2 (en) 2012-05-15 2015-04-14 Evernote Corporation Creation and manipulation of hand drawn objects with automatic grouping
KR20140030372A (ko) * 2012-08-27 2014-03-12 삼성전자주식회사 사용자 맞춤형 페이지 처리 방법 및 휴대 단말
US9589538B2 (en) 2012-10-17 2017-03-07 Perceptive Pixel, Inc. Controlling virtual objects
KR102091000B1 (ko) * 2013-05-31 2020-04-14 삼성전자 주식회사 사용자 제스처를 이용한 데이터 처리 방법 및 장치
US9733716B2 (en) 2013-06-09 2017-08-15 Apple Inc. Proxy gesture recognizer
US9696810B2 (en) 2013-06-11 2017-07-04 Microsoft Technology Licensing, Llc Managing ink content in structured formats
KR102135947B1 (ko) * 2013-08-26 2020-07-21 삼성전자주식회사 윈도우 영역 조정 방법 및 그에 따른 전자 장치
CN104423825A (zh) * 2013-09-02 2015-03-18 联想(北京)有限公司 电子设备及其信息处理方法
JP6109020B2 (ja) 2013-09-10 2017-04-05 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 文書の分割・結合方法、装置、プログラム。
JP6279373B2 (ja) * 2014-03-20 2018-02-14 株式会社東芝 補正装置、方法及びプログラム
US10270819B2 (en) 2014-05-14 2019-04-23 Microsoft Technology Licensing, Llc System and method providing collaborative interaction
US9552473B2 (en) 2014-05-14 2017-01-24 Microsoft Technology Licensing, Llc Claiming data from a virtual whiteboard
US9341374B2 (en) 2014-06-03 2016-05-17 Siemens Energy, Inc. Fuel nozzle assembly with removable components
JP6392036B2 (ja) * 2014-09-03 2018-09-19 株式会社東芝 電子機器および方法
US20160154555A1 (en) * 2014-12-02 2016-06-02 Lenovo (Singapore) Pte. Ltd. Initiating application and performing function based on input
US9613263B2 (en) * 2015-02-27 2017-04-04 Lenovo (Singapore) Pte. Ltd. Ink stroke grouping based on stroke attributes
US10416877B2 (en) * 2015-08-25 2019-09-17 Myscript System and method of guiding handwriting input
US10755029B1 (en) 2016-01-05 2020-08-25 Quirklogic, Inc. Evaluating and formatting handwritten input in a cell of a virtual canvas
US10324618B1 (en) * 2016-01-05 2019-06-18 Quirklogic, Inc. System and method for formatting and manipulating digital ink
US10691316B2 (en) 2016-03-29 2020-06-23 Microsoft Technology Licensing, Llc Guide objects for drawing in user interfaces
US10163004B2 (en) * 2017-03-30 2018-12-25 Konica Minolta Laboratory U.S.A., Inc. Inferring stroke information from an image
US20190155895A1 (en) * 2017-11-20 2019-05-23 Google Llc Electronic text pen systems and methods
US11372518B2 (en) * 2020-06-03 2022-06-28 Capital One Services, Llc Systems and methods for augmented or mixed reality writing

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4377803A (en) * 1980-07-02 1983-03-22 International Business Machines Corporation Algorithm for the segmentation of printed fixed pitch documents
US4741045A (en) * 1983-09-23 1988-04-26 Dest Corporation Optical character isolation system, apparatus and method
JPH0650538B2 (ja) * 1984-03-28 1994-06-29 株式会社日立製作所 手書き文字・図形認識の認識モード指定方法
US5321770A (en) * 1991-11-19 1994-06-14 Xerox Corporation Method for determining boundaries of words in text
US5583542A (en) * 1992-05-26 1996-12-10 Apple Computer, Incorporated Method for deleting objects on a computer display
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
US5500937A (en) * 1993-09-08 1996-03-19 Apple Computer, Inc. Method and apparatus for editing an inked object while simultaneously displaying its recognized object
EP0677817B1 (en) * 1994-04-15 2000-11-08 Canon Kabushiki Kaisha Page segmentation and character recognition system
US5687254A (en) * 1994-06-06 1997-11-11 Xerox Corporation Searching and Matching unrecognized handwriting
DE69428527T2 (de) * 1994-07-04 2002-05-08 Hewlett-Packard Co. (N.D.Ges.D.Staates Delaware), Palo Alto Kritzlervergleich
JP2944439B2 (ja) * 1994-12-27 1999-09-06 シャープ株式会社 手書き文字入力装置および方法
JPH09319504A (ja) * 1996-05-31 1997-12-12 Sanyo Electric Co Ltd 文書処理装置、文書処理方法、記憶媒体
US6054990A (en) * 1996-07-05 2000-04-25 Tran; Bao Q. Computer system with handwriting annotation
JP4098880B2 (ja) * 1997-06-06 2008-06-11 松下電器産業株式会社 情報検索装置
US6952803B1 (en) * 1998-12-29 2005-10-04 Xerox Corporation Method and system for transcribing and editing using a structured freeform editor
US6384815B1 (en) * 1999-02-24 2002-05-07 Hewlett-Packard Company Automatic highlighting tool for document composing and editing software
US6625583B1 (en) * 1999-10-06 2003-09-23 Goldman, Sachs & Co. Handheld trading system interface
WO2001054054A1 (en) * 2000-01-19 2001-07-26 California Institute Of Technology Word recognition using silhouette bar codes
US20030215145A1 (en) * 2002-05-14 2003-11-20 Microsoft Corporation Classification analysis of freeform digital ink input

Also Published As

Publication number Publication date
EP2869212A1 (en) 2015-05-06
US7409089B2 (en) 2008-08-05
EP1376390A2 (en) 2004-01-02
JP2004062891A (ja) 2004-02-26
EP1376390A3 (en) 2007-02-28
US20060257025A1 (en) 2006-11-16
EP1376390B1 (en) 2014-12-03
US7062090B2 (en) 2006-06-13
CA2429507A1 (en) 2003-12-28
CA2429507C (en) 2011-03-29
US20040001627A1 (en) 2004-01-01

Similar Documents

Publication Publication Date Title
JP4486325B2 (ja) フリーフォーム文書エディタ用のライティングガイドを表示するための方法
US7751623B1 (en) Writing guide for a free-form document editor
JP7046806B2 (ja) ジェスチャを用いたノートテイキングのための装置および方法
US6952803B1 (en) Method and system for transcribing and editing using a structured freeform editor
US6891551B2 (en) Selection handles in editing electronic documents
EP1174801B1 (en) Classifying, anchoring and transforming electronic ink
US6587587B2 (en) System and methods for spacing, storing and recognizing electronic representations of handwriting, printing and drawings
US5590257A (en) Script character processing method and system with bit-mapped document editing
US5953735A (en) Script character processing method and system with bit-mapped document editing
US5517578A (en) Method and apparatus for grouping and manipulating electronic representations of handwriting, printing and drawings
US6434581B1 (en) Script character processing method for interactively adjusting space between writing element
US7701449B2 (en) Ink correction pad
US5231698A (en) Script/binary-encoded-character processing method and system
US7394934B2 (en) Recognition of electronic ink with late strokes
US20090245654A1 (en) Method And Tool For Recognizing A Hand-Drawn Table
WO1995034047A1 (en) System and methods for spacing, storing and recognizing electronic representations of handwriting, printing and drawings
JP2009151792A (ja) 電子文書をマーキングする方法及び命令と共に記録媒体を有する製品
US7185278B1 (en) Separating and moving document objects using the movement of a wiper bar

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080613

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090330

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100319

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100326

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: 20130402

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140402

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees