(57)【特許請求の範囲】
【請求項１】
ペンを使用して電子文書にマーキングを行うためにシステムが行うマーキング処理方法であって、
前記電子文書の文書画像に対する２つ以上のマークを表す入力を受信するステップと、
前記入力により示される２つ以上のマークのうち第１のマークが、前記文書画像中の少なくとも文字列を含む情報を視覚的に示す選択可能領域の選択を表していた場合、前記選択に対応するデータをメモリに格納するステップと、
前記入力により示される２つ以上のマークに前記第１のマークとは異なる第２のマークが含まれていることが、前記選択可能領域の選択を確認する認識プロセスとは異なる認識プロセスにより確認された場合、前記文書画像のうち前記選択可能領域を含む部分について実行可能な複数の処理各々を指示する所定のコマンドの中の、前記２つ以上のマークのうちの前記第１のマークとは異なる前記第２のマークが表す所定のコマンドと、前記選択可能領域を含む部分とを関連付け、前記選択可能領域を含む部分に対する処理を実行するステップと、
を有するマーキング処理方法。
【請求項２】
前記所定のコマンドが、前記選択可能領域内の文字列を辞書により調査すること、前記選択可能領域を含む部分を印刷すること、前記選択可能領域を含む部分を電子メールメッセージで送信することを表す、請求項１記載のマーキング処理方法。
【請求項３】
文書画像に対する２つ以上のマークを表す入力を受信する前記ステップにおいて、前記選択可能領域を表す１つ以上の形状を検出する、請求項１記載のマーキング処理方法。
【請求項４】
前記２つ以上のマークの少なくとも１つをユーザが選択していることの通知を受信するステップと、
前記選択可能領域に関連する前記情報を抽出するステップと、
を更に有する請求項１記載のマーキング処理方法。
【請求項５】
前記文書画像の前記選択可能領域を計算するステップを更に有する請求項１記載のマーキング処理方法。
【請求項６】
入力を受信する前記ステップにおいて、複数のペンストローク及び複数のタイムスタンプを、前記複数のペンストローク中の個々に対応する前記複数のタイムスタンプの各々と共に記録する、請求項１記載のマーキング処理方法。
【請求項７】
選択されたマークから所定の距離の範囲内でなされた２つ以上のユーザマークを記録するステップを更に有する請求項１記載のマーキング処理方法。
【請求項８】
ペンを使用して電子文書にマーキングを行うためにシステムにマーキング処理方法を実行させるコンピュータプログラムであって、前記マーキング処理方法は、
前記電子文書の文書画像に対する２つ以上のマークを表す入力を受信するステップと、
前記入力により示される２つ以上のマークのうち第１のマークが、前記文書画像中の少なくとも文字列を含む情報を視覚的に示す選択可能領域の選択を表していた場合、前記選択に対応するデータをメモリに格納するステップと、
前記入力により示される２つ以上のマークに前記第１のマークとは異なる第２のマークが含まれていることが、前記選択可能領域の選択を確認する認識プロセスとは異なる認識プロセスにより確認された場合、前記文書画像のうち前記選択可能領域を含む部分について実行可能な複数の処理各々を指示する所定のコマンドの中の、前記２つ以上のマークのうちの前記第１のマークとは異なる前記第２のマークが表す所定のコマンドと、前記選択可能領域を含む部分とを関連付け、前記選択可能領域を含む部分に対する処理を実行するステップと、
を有するコンピュータプログラム。
【請求項９】
前記所定のコマンドが、前記選択可能領域内の文字列を辞書により調査すること、前記選択可能領域を含む部分を印刷すること、前記選択可能領域を含む部分を電子メールメッセージで送信することを表す、請求項８記載のコンピュータプログラム。
【請求項１０】
文書画像に対する２つ以上のマークを表す入力を受信する前記ステップにおいて、前記選択可能領域を表す１つ以上の形状を検出する、請求項８記載のコンピュータプログラム。
【請求項１１】
前記マーキング処理方法が、
前記２つ以上のマークの少なくとも１つを前記ユーザが選択していることの通知を受信するステップと、
前記選択可能領域に関連する前記情報を抽出するステップと、
を更に有する請求項８記載のコンピュータプログラム。
【請求項１２】
前記マーキング処理方法が、前記文書画像の前記選択可能領域を計算するステップを更に有する請求項８記載のコンピュータプログラム。
【請求項１３】
入力を受信する前記ステップにおいて、複数のペンストローク及び複数のタイムスタンプを、前記複数のペンストローク中の個々に対応する前記複数のタイムスタンプの各々と共に記録する、請求項８記載のコンピュータプログラム。
【請求項１４】
前記マーキング処理方法が、選択されたマークから所定の距離の範囲内でなされた２つ以上のユーザマークを記録するステップを更に有する請求項８記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に文書を処理する技術分野に関連し、特に本発明は文書にマークを追加及び使用することで文書に或る内容を描写し、将来その部分を選択可能にすることに関連する。
【背景技術】
【０００２】
コンピュータでスケッチするシステムがある。タブレット型パーソナルコンピュータ(PC)はペン型コンピュータの長い歴史の中で最新のものであり、カリフォルニア州クパチーノにあるアップルコンピュータ社のアップルニュートンや、カリフォルニア州サニーベールのパームインコーポレーテッド社のパームパイロット、及びゴーペン型コンピュータ(Go  pen-based  computer)等がある。タブレット入力装置は芸術的活動の幅広い分野で使用され、コーレルプログラムペインタ及びアドビフォトショップ等が特に目立っている。
【０００３】
ペンシステムは一般に内容を作成するためにペンを通じて最適化される。しかしながら一般的なオフィス活動を調べてみると、ペンはそのようなオフィス活動で実際ほとんどまれにしか使用されていない。研究者のような特定の人々はペンを使って多くのノートをとっている。(しかし)多くの事務職員や、製造部員、マーケティング部員及び販売員の多くは、ペン入力のノートをとらない。むしろペンは既に存在する内容に注釈を加えたり修正したりするのに使用される。例えば、標準化されたフォームが記入され、白書の下書き(white  paper  drafts)が検討され、レポートは署名される。
【０００４】
注釈の1つの形態は、コンテンツの特定の領域の輪郭を描写することである。例えば、言葉やフレーズに下線を引くことは非常に一般的である。特定の段落や言葉を円で囲んだり四角で囲むことも非常に一般的である。より目立たない印としてカッコ書きにすることも広く使用されている。そのようなマークは選択的な形式であり、今日のほとんどのワードプロセッサで使用されている通常の図形選択に似ている。ワードプロセッサで行われる選択は一般に或る動作を実行するための前置き(prelude)としてセレクタに予め形成されているが、そのようなワードプロセッサにおける選択とは異なり、ペンによる注釈はしばしば他の誰かによって意図される選択である。
【０００５】
具体例を考察することが有用である。ある重役であるフィル(Phil)が、年度財務方向書を検討しているとする。ある特定のページの財務図表に深刻な問題のあることを彼はメモする。彼はその特定の事項を最高財務責任者(CFO)であるボブ(Bob)に見てもらいたいと思ったとする。彼は関心(問題)のあるページ中の領域をペンでマークし、問題の自覚についてメモを少し書き込む。「私から役員会へメモと共にこのページの浄書を送り、ボブとのミーティングを設定して下さい」とのメモと共に、彼はその書類を彼の秘書に渡す。このようなやりとりはペン及び紙で良好に機能する。しかしながら電子システムで同様なことを試みることは、好ましくないことを含む。フィルは書類を印刷してマークするであろうが、CFOはその電子書類元を発見困難かもしれない。フィルは「付箋(sticky  note)」のコメントを書類に付ける方法を学ぶかもしれない。しかしそのようなことは実際にはほとんど起こらない。なぜなら、使用する特定のプログラムの新たな機能を学ぶのではなく、フィルはかつて困難であってもそのやり方を常に単に実行するからである。
【０００６】
一時的な選択(ephemeral  selection)、ジェスチャー(意思表示)の認識及びペン注釈のほとんどの形態をカバーする多くのペン型コンピュータプロジェクトが存在する。更に、マーキー選択(marquee  selection)、スイープ選択(sweep  selection)等のような数々の通常の意思表示を含む多くの一時的な選択方法もある。
【０００７】
Margraff等による西暦2005年1月12日に出願された“Method  and  System  for  Implementing  a  User  Interface  for  a  Device  Employing  Written  Graphical  Elements”と題する米国特許出願第11/034,491号、及び西暦2005年1月12日に出願された“Method  and  System  for  Implementing  a  User  Interface  for  a  Device  Through  Recognized  Text  and  Bounded  Areas”と題する米国特許出願第11/035,155は、動作動詞になるパーシステントマーク(Persistent  marks)を付けること及びパーシステントマークの取り出し(tapping)に基づいて指定された動作を行う概念に関連している。  
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明の課題は、１つ以上のパーシステント選択マークと共に電子文書をマーキングする方法及び装置を提供することである。
【課題を解決するための手段】
【０００９】
１つ以上のパーシステント選択マークと共に電子文書をマーキングする方法及び装置が開示される。一形態では、本方法は、文書画像上で１つ以上のマークを表す入力を受信し；その１つ以上のマークが、パーシステント選択可能領域中の選択肢を表し、書類画像中の情報の輪郭描写を行っているか否かを確認し；その選択に関するデータを格納し、これにより、１つ以上のマークに関する動作を実行することで書類画像中の情報取得をユーザが将来実行できるようにする。
【発明を実施するための最良の形態】
【００１０】
本発明は以下の詳細な説明及び本発明の様々な実施例に関する図面により更に明確に理解されるであろう。しかしながらその説明及び図面は本発明を特定の実施例に限定するものではなく、説明及び理解を促すためだけのものにすぎない。
【実施例１】
【００１１】
電子文書の選択可能な領域を描写するよう意図されたペンと共に、電子文書に対するマークを作成及び使用する方法及び装置が説明される。一実施例では、ペンと共に電子文書をマーキングする方法は、パーシステント選択可能エリアを表現する形状を検出すること、マーク又は動作を変更せずにその情報を保持すること、そして後にマークがタップ(選択)された場合に適切な選択内容を実行することを含む。別の実施例での方法は、アクションマークがタップされた場合に、１つ又は複数の近辺のパーシステントアクションマークをそのような選択に適用することを含む。一実施例における方法は、アクションに固有の追加的情報の選択を格納することを含む。
【００１２】
以下の詳細な説明では、本発明の更に十分な説明をもたらすように多くの具体的詳細が記述される。しかしながら、そのような具体的詳細によらず本発明が実施されてもよいことは、明らかであろう。また、周知の構造や装置は、本発明の説明を曖昧にするかもしれないことに配慮して詳細には説明されず、ブロック図形式で示されるかもしれない。  
以下の詳細な説明の一部は、コンピュータメモリ内のデータビットを処理するアルゴリズム及び記号表現で与えられる。これらのアルゴリズムの説明及び表現は、データ処理技術分野の当業者が他の当業者に彼らの仕事内容を最も効率的に伝えるのに使用される手段である。ここで、アルゴリズムは一般に所望の結果に導く首尾一貫した一連のステップと考えられる。そのステップは物理量の物理的処理を必要とするものである。必須ではないが、通常それらの量は、格納、転送、結合、比較その他の処理を施すことの可能な電気的な又は磁気的な信号の形態をとる。原則的な一般的な用法の観点から、ビット、値、エレメント、シンボル、キャラクタ、期間、数等としてそれらの信号に言及することが折に触れて便利なことが分かる。
【００１３】
しかしながら、これらの及び類似の用語の全ては、適切な物理量に関連しており且つそれらの量に付された便宜的なラベルにすぎないことに留意を要する。特に断りのない限り、以下の説明から明らかなように、本説明を通じて、「処理」、「演算」、「計算」、「決定」又は「表示」等のような用語を用いる説明は、コンピュータシステム又は同様な電子コンピュータ装置の動作や処理に関連し、その動作や処理は、コンピュータシステムのレジスタ及びメモリの中で物理的な（電子的な）量として表現されるデータを、コンピュータシステムメモリやレジスタその他の情報ストレージ、伝送又は表示装置の中で物理量として同様に表現される他のデータに変換及び処理することが、理解されるであろう。
【００１４】
本発明はここで説明される処理を実行する装置にも関連している。その装置は、必要な目的に応じて特別に構築されてもよいし、コンピュータに格納されているコンピュータプログラムによって選択的にアクティブにされる又は再構成される汎用コンピュータで構築されてもよい。そのようなコンピュータプログラムはコンピュータ読取可能な記憶媒体に格納されてもよく、その記憶媒体は、限定ではないが、フロッピディスク、光ディスク、CD-ROM、磁気光ディスク、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気又は光カード等の如何なるタイプのディスクを含んでもよいし、或いは電子的な命令を格納するのに指摘した如何なるタイプの媒体を含んでもよいし、ディスクも媒体もそれぞれコンピュータシステムバスに結合される。
【００１５】
ここで説明されるアルゴリズム及び表示は、特定のコンピュータその他の装置のどれにも固有に関連するものではない。様々な汎用システムがここで教示するものによるプログラムと共に使用されてよく、或いは、必要な方法ステップを実行するように、よりいっそう特化した装置を構築することが便利なことが分かるかもしれない。これら様々なシステムに必要な構造は以下の説明から明らかになるであろう。更に、本発明は特定のプログラミング言語のどれにも依存しない。ここで説明される本発明の教示内容を実現するのに様々なプログラミング言語が使用されてよいことが分かるであろう。
【００１６】
マシン読取可能な媒体は、マシン(例えば、コンピュータ)により読取可能な形式で情報を格納及び伝送する如何なる手段を含んでもよい。例えば、マシン読取可能な媒体は、読み取り専用メモリ(ROM)；ランダムアクセスメモリ(RAM)；磁気ディスク記憶媒体；光記憶媒体；フラッシュメモリ装置でもよいし、或いは、電気的な、光学的な、音響的な又は他の形式の伝送信号(例えば、搬送波、赤外線信号、ディジタル信号等)等でもよい。
【００１７】
＜概要＞
文書ページ画像を注釈するペンベースシステム(pen  based  system)が説明される。一実施例では、例えばスキャナ又は印刷捕捉システムのような装置又はシステムによって、ページ画像の各々が生成されてもよい。本願では、ページ画像のような一群の基礎的な内容(ベースコンテンツ)と、ベースコンテンツにペンでなされた注釈とは区別されることに留意を要する。書類ページ画像の注釈は、ベースコンテンツを変更することとは異なり、そのコンテンツの１つ以上の領域を描写するのに使用される。
【００１８】
図１は、文書ページ画像を注釈するシステム例のブロック図を示す。図１を参照するに、システムは、ペン／スタイラス100、表示画面101、処理部102、メモリ103、書類入力装置(例えば、スキャナ)104、ネットワークアクセス装置105を有する。
【００１９】
文書はシステムにロードされ、メモリ103に格納される。一実施例の場合、XMLファイルと共にページのラスタ画像を用意することで文書はロードされ、そのXMLファイルは何らかの言葉又は同様なページオブジェクトのテキスト値及び境界枠(bounding  box)を示す。これはネットワークアクセス装置105を介してシステムに入力されてもよい。或いは文書入力装置104(例えば、スキャナ)が、メモリ103に格納される文書を入力するのに使用されてもよい。
【００２０】
一実施例ではシステムは画像と共に処理を行わず、別の実施例では同様な方法が画像と共に使用されてよい。その後、画像及び境界枠はメモリ103に格納されるページデータ構造に共にロードされる。一実施例では、ページの座標系が、利用可能な画面サイズに合うようにスケーリングされてもよい。一実施例では、ペン又はマウスからの全ての入力が、その比例関係に従って寸法調整される。
【００２１】
図１のシステムは、ページ画像に注釈を付け、注釈のついたページ画像を表示する機能を有するが、別の実施例では２つのシステムがこれらの機能を別々に実行してもよい。
【００２２】
文書は表示スクリーン101で見てもよい。表示の際、ペン／スタイラス100又はマウス装置(図示せず)は、表示画面101上の文書画像と相互作用するのに使用されてもよい。そのような相互作用は、パーシステント選択マークを作成及び／又は選択し、本願で説明されるように書類中のパーシステント選択可能エリア(persistent  selectable  area)を指定することを含む。処理部102はメモリ103に格納された命令に基づいて以下に説明されるように入力(相互作用による入力)を処理する。マークだけでなく、パーシステント選択可能データもメモリ103に格納される。メモリ103は１つ以上のメモリを含んでもよい。
【００２３】
図２は、電子文書をペンでマーキングするプロセス例のフローチャートを示す。本プロセスは或る処理論理装置(ロジック)により実行され、処理論理装置は、ハードウエア(例えば、回路、専用論理装置等)により、ソフトウエア(例えば、汎用コンピュータシステム又は専用機器で動作するもの)により、又はそれら双方の組合せにより構成されてもよい。
【００２４】
図２を参照するに、ある文書画像で１つ以上のマークを表す論理受信入力を処理することで、本プロセスは始まる(処理ブロック201)。一実施例では、文書画像上で１つ以上のマークを表現する入力を受信することは、パーシステント選択可能エリアを表現する1つ上の形状を検出することを含む。一実施例では、マークはペンストローク(ペンによる筆運び)を含む。一実施例では、入力を受信することは、複数のペンストローク及び複数のタイムスタンプを記録することを含み、複数のタイムスタンプの各々は複数のストロークの各々に対応する。
【００２５】
処理ロジック(論理装置)は、その入力(例えば、マーク、ペンストローク等)を格納する(処理ブロック202)。
【００２６】
マークを受信した後、1つ以上のマークがパーシステント選択可能エリアの選択を表しているか否かを処理ロジックは確認し、パーシステント選択可能エリアの選択は、文書画像中の情報を指定している(処理ブロック203)。一実施例の場合、情報はテキストの部分を含む。処理ロジックはその選択に対応するデータを格納し、それにより、1つ以上のマークに関する動作を実行することで将来ユーザが文書画像中の情報を取得できるようにする(処理ブロック204)。
【００２７】
文書画像を眺めながら選択マークに触れることで、処理ロジックは選択マークのユーザ選択を受信する(処理ブロック205)。一実施例の場合、選択マークをユーザが選択することは、1つ以上のマークの少なくとも１つをユーザがタップしたこと(軽くたたくような選択の意思表示)の指示を受けることを含む。
【００２８】
ユーザの選択を受信し終えると、選択マークにユーザが触れたことに応じて、処理ロジックは文書画像中の選択可能な領域を選択し(処理ブロック206)、文書画像の選択可能な領域を計算する(処理ブロック207)。その後に、処理ロジックはパーシステント選択可能エリアに関連する情報を取り出す(処理ブロック208)。
【００２９】
選択的に、処理ロジックは、その選択に近い文書画像中に位置する1つ以上の他のパーシステントアクションマークを、アクションマークがタップ(指定)された場合に適用する(処理ブロック209)。
【００３０】
最終的に、処理ロジックはアクションに関する特定の追加的情報を格納する(処理ブロック210)。
【００３１】
＜マウス及びペンのイベント＞
一実施例のシステムはマウスのイベントをペンのイベントに変換する。図３は、マウスイベントを処理するプロセス例のフローチャートを示す。本プロセスは論理処理装置により実行され、論理処理装置は、ハードウエア(例えば、回路、専用論理装置等)により、ソフトウエア(例えば、汎用コンピュータシステム又は専用機器で動作するもの)により、又はそれら双方の組合せにより構成されてもよい。
【００３２】
図３を参照するに、１つ以上のマウスイベントを受信することでプロセスが始まる(処理ブロック301)。処理ロジックは、例えば、移動、下、上、ドラッグ等のようなマウスの受信したイベントをペンのイベントに変換する(処理ブロック302)。一実施例の場合、ペンのイベントは「アイドル」、「移動」、「下」、「上」及び「フロー(flow)」を含む。これは少なくとも２つの点で有利である。第１は、実用的な要請である：スタイラスを利用することは、マウスの移動及びドラッグのイベントが、動作が通常のマウスでなされなかった場合にも生成されることを引き起こす。第２の理由は、複雑でない装置が強いる制約を強化する。言い換えれば、安価なペンの表面は消極的なスタイラスの動きを検出せず、そのような情報はそのモデルから意図的に落とされる。
【００３３】
受信したマウスのイベントをペンのイベントに変換した後、処理ロジックはペンのイベントをディジタルインクの形成に変換し、或いは長期にわたってペンを保持する場合はフロー選択プロセスに変換する(処理ブロック303)。一実施例の場合、フロー選択プロセスへの変換は、ジョンソン等のフロー選択(Johnson,  et  al.,  A  time-Based  Selection  and  Operation  Technique  for  Sketching  Tools.  2006  Conference  on  Advanced  Visual  Interfaces,  Venice,  Italy)で説明されている。
【００３４】
＜ハイレベル解釈法＞
一実施例では、システムは３つの異なる種類のディジタルインク(注釈、スコープ、コマンドタイプ)を区別する。ディジタルインクの相違は或る認識プロセスにより確認され、その認識プロセスは、最近処理した他の２つのプロセスからのアイディアを組み込む。これらのアイディアは例えばページカウントと共になされる「グループ化」及び「確認」であり、ハイレベルにおける「解釈」として言及される。
【００３５】
一実施例の場合、関連するインクストロークは、それらが適用された時間に基づいてグループ化される。文書注釈の場合、論理的に関連するインクストロークと共に長期にわたる非活性化期間によって特徴付けられる。一実施例の場合、ペンがインアクティブ(非活性的)であった時間が、以前のインクストロークが完了するまでにかかった期間(制限範囲内の期間)より短かった場合、最近の２つのインクストロークは同じグループに含められる。例えば使用されてもよい制限は１秒であり、無意識にペンを単に動かしているのではなく、人が意図的に停止する傾向のある期間を超える期間を表す。
【００３６】
代替実施例の場合、より複雑なグループ化の方法は、最後にペンを持ち上げた場所から新たなストロークでペンを置いた場所へ、ペンが移動しなければならない距離を調べることを含み、フィッツの法則(Fitt’s  law)を適用し、２つのマークが関連していることを推定できる程度に第２ストロークが妥当な期間内に始まっているか否かを確認することを含む。他の実施例の場合、グループ化モジュールは、上位レベルの認識装置による示唆を受け、どの種類のコンテンツがスケッチされているかに基づいて動的に採用する。
【００３７】
図４は、関連する筆運び又はインクストローク(ink  stroke)をグループ化する処理例のフローチャートを示す。本プロセスは処理論理装置により実行され、処理論理装置は、ハードウエア(例えば、回路、専用論理装置等)により、ソフトウエア(例えば、汎用コンピュータシステム又は専用機器で動作するもの)により、又はそれら双方の組合せにより構成されてもよい。図４を参照するに、プロセスはストローク(即ち、現在のストローク)を受信する処理論理から始まる(処理ブロック401)。ストロークを受信したことに応答して、処理論理装置は、現在のストロークと、その現在のストローク直近に受信したストロークとの間の時間及び距離確認する(処理ブロック402)。そして、現在のストローク及び過去のストロークの間の時間及び／又は距離が閾値未満であるか否かを、処理論理装置は確認する(処理ブロック403)。一実施例の場合、閾値は前回のインクストロークを完了するまでの時間である。現在のストローク及び前回のストローク間の時間及び／又は距離が閾値未満でなかった場合、それらのストロークは関連していないこと及びそれらを共にグループ化しないことを、処理論理装置は決定する(処理ブロック404)。現在のストローク及び前回のストロークの間の時間及び／又は距離が閾値未満であった場合、現在のストローク及び前回のストロークは関連付けられること及びそれらを共にグループ化することを、処理論理装置は決定する(処理ブロック405)。その後、処理論理装置は処理ブロック401に移り、次のストロークを処理する。
【００３８】
本発明の第２形態の場合、グループ化モジュールがインクストロークを確認する際、システムは連続的にインクストロークのグループを分析し、以前の状態が何であったかによらず現在のインクの状態を把握しようとする。これは、よい路奥の情報が利用可能になるので、より新しい、より良い解釈(例えば、追加的なストローク認識)を格納にする。
【００３９】
図５は、ストローク認識モジュールの一例を示すブロック図を示す。そのようなモジュールは、図１のシステムの処理部にあってもよい。認識モジュールは、ハードウエア(例えば、回路、専用論理装置等)により、ソフトウエア(例えば、汎用コンピュータシステム又は専用機器で動作するもの)により、又はそれら双方の組合せにより構成されてもよい。
【００４０】
図５を参照するに、あるインクストローク入力装置501(例えば、スタイラス又はペン型装置と共に使用するタブレット)が、インクストローク入力を生成する502。インクストローク入力502は、認識エンジン503に入力される。認識エンジン503はグループ化モジュール504を含み、グループ化モジュールは１つ以上のインクストロークを共にグループ化するか否かを決める。出力として、グループ化モジュール504は、どのインクストロークが互いにグループ化されるかを示す情報505を出力する。
【００４１】
＜スコープマーク及び選択＞
印刷される書類コンテンツに共通の処理は、言葉、文、段落等を区切る能力の範囲内でページにインクを付けることである。これを行う理由は人により状況により異なる。ある場合には、文献の意味を分析する読者を支援し、またある場合には、他の人に特定の部分に注意を促したり、手書きコメントに関連付けたりする。本願では、この種のインクは、言葉、文、段落等の範囲を指定するものとして言及され又は他の文書コンテンツスコープマーク(document  content  scope  mark)として言及される。
【００４２】
一実施例の場合、システムのスコープマークは多機能的である。それらは、範囲指定された部分が特に強調されていることをユーザその他の者に知らせる。この意味において、それを見ている者によって専ら導出される意味を伴う純粋に視覚的な通常の意味におけるインクである。本発明による他のシステム例は、文法的に関連のあるスコープマークも保持する。ユーザはスコープマークを又はその近辺をタップする(軽くたたく)ことで、コンテンツを選択してもよい。範囲の指定された文字は、コマンドの対象として与えられてもよい(これについては、後述される。)。
【００４３】
様々なマークのどれがスコープマークとして機能してもよい。例えば、言葉や語句の下線は、短いシーケンスに対する自然なスコープマークである。図６Ａは下線の具体例を示す。段落、言葉又は表中の行や列を円で囲むことも自然な表現である。図６Ｂは、スコープマークの部分として文字を円形に囲んでいる例を示す。一実施例の場合、そのような全てのマークをシステムは認識するように構成される(例えば、プログラムされる)ので、それら全てが使用可能である。
【００４４】
一実施例の場合、ある複数のスコープマークは隔たっている。例えば、２つのコーナー(隅又は角)のマークは、文字列の開始及び終了を区別するのに使用されるかもしれない。適切に選択された文字(テキスト)を区別するため、システムが使用している言語の読み取り順序の慣習が、言葉の境界枠に加えて使用されてもよい。図７Ａは、段落の対向する端部に２つのコーナーマークを使用する例を示す。一実施例では、各マークの「内側(inside)」の方向は、全体的なストロークの曲がっている向きを計算することで判定される。一実施例では、そのようなマークのペアが開始及び終了のマークに使用される。
【００４５】
不連続的な選択(disjoint  selection)の例の場合、時間的な及び空間的なグループ化の双方が、マークの集まりを曖昧にしないように使用される。図７Ｂは、２つの可能性のある「開始」マークと１つの「終了」マークが使用されている例を示す。何れかの開始マークをユーザがタップすると、その結果は完全に曖昧でなくなるようにみえる。しかしながら、終了マークの場合、一実施例では、時間的及び／又は空間的な或る範囲が曖昧さを無くすために使用されてもよい。一実施例では双方が使用されてもよい。一実施例の場合、最も外側の終了マークがまさに最近形成された場合(例えば、15秒以内の間に形成された場合)、そのマークが内側のマークより優先的に使用されてもよい。これは簡単な理屈である。なぜなら、ユーザはおそらくは選択するために行ったのであろうし且つそのことを覚えているであろうからである。十分な時間経過の後(例えば、15秒)、或いは文書が閉じられそしてマークを付けて以来再び開かれたことが分かっている場合、ユーザが外側のマークを付けていることを覚えている傾向は殆ど無く、内側のマークをほとんど期待する傾向にある。開始及び終了マークは、文書の異なるページにあってもよく、入れ子になっていてもよいし、互いに交差していてもよいことに留意を要する。
【００４６】
＜注釈及びコマンドマーク＞
一実施例では、デフォルトとして、説明を要しない(unparsed)全てのユーザに用意された或るインクが仮定される。認識装置(例えば、認識ユニット又はモジュール)がそのインクをスコープマーク又はコマンドであると判断するならば、その識別性は高められる。しかしながらこのことは１つの注釈の重要度を減らすべきではない。スケッチインターフェースの能力は、不当な認識のような制限を課すことなく、適切であると認められる何処にでもユーザがインクを置ける点にある。
【００４７】
一実施例の場合、注釈はコマンド(指示)と解釈されるが、それは認識装置が高い信頼度の値を返し且つそのようなコマンドが有意義な場合である。一実施例の場合、システムは１つのコマンドを実行し、そのコマンドは大文字の「Ｇ」で示される(但し、適切な如何なる方法で表現されてもよい。)。このコマンドは辞書による調査を行う。例えば、ユーザが或るページを読んでいて見慣れない用語に遭遇した場合、それに下線を引いてその近くに「Ｇ」を書き込むことで、装置はその用語の意味を調べる。図７Ｃは、そのような注釈(指示)を伴う例を示す。そのようなコマンドは多数追加されてもよい。例えば、限定ではないが、抽出された部分を文書として印刷する指示として「Ｐ」が使用されてもよいし、抽出された部分を電子メールメッセージで転送する指示として「Ｆ」が使用されてもよいし、情報を特定する文書と共に有用な引用句のデータベースに保存する指示として「Ｓ」が使用されてもよい。
【００４８】
一実施例の場合、システムは認識及び(指示による)処理を時間的に別々に行うのが一般的である。たとえ注釈を潜在的なスコープマーク又はアクションとして認識するとしても、注釈は妨害されずに処理できる。スコープマークを用いる選択を行い、その選択の上に注釈を行うことで、短い速やかなアクションモードが入力され、マークが選択から離れると間もなくシステムは注釈モードに速やかに戻る。
【００４９】
この方法の利点の１つは、機能しているコマンド指示の持続的な例がページ上で視覚可能に残されていることである。これはそうでない場合より多くのコマンド指示をユーザが発見すること及び思い出すことを可能にする。作業グループ内で共用の意思表示(ジェスチャー)はページ上で何度も現れる傾向があり、その指示を新たなメンバが発見することを容易にし、及び既存のユーザがそれらを思い出すのを容易にする。意思表示の発見は、ジェスチャー及びペンシステムで時間のかかる処理の１つであり、この特定の方法はこの問題に有利な解をもたらす。
【００５０】
＜システム例＞
一実施例では、認識処理を実行するシステムで使用されるハンドコード認識装置が存在し；下線(スコープマーク)、円(別のスコープマーク)及び「Ｇ」コマンド(スコープマーク近辺で処理動作を特定するのに使用される)を認識する。
【００５１】
スコープマークは対象の近辺でペンをタップすることで適用可能である。一実施例の場合、類似度(nearness)は或る最小距離で測定され、その最小距離は、ペンのタップ位置から画面上の全てのスコアマークに至るまでの距離である。タップが、ピクセル数で測定された或る閾値の範囲内にあった場合、それは十分に近いと判定される。一実施例では、20.0ピクセルが類似の閾値であるが、他の如何なる所定数個のピクセルや距離測定値が使用されてもよい。
【００５２】
スコープマークを適用することは、そのスコープマークに関連付けられた全てのコンテンツを選択する影響をもたらす。(一実施例では下線や円である)個々のスコープマーク各々は、選択された一群のコンテンツの構成要素(メンバシップ)を決定する自身の方法を有する。
【００５３】
＜下線＞
下線は１つのストロークでもよいし、複数のストロークでもよい。一実施例では、個々のストロークは、その境界枠アスペクト比が非常に小さかった場合に、下線で有ると判定される：
境界枠＝インクストローク全ての点を含む最小の四角形
アスペクト比信頼度(aspect  ratio  confidence)＝1.0−((境界枠高さ)/(境界枠幅))
一実施例の場合、或る一群のインク(１つ以上のインクスロトークを含む)は、全てのインクストロークが或る臨界閾値(例えば、0.85)未満のアスペクト比を有する場合に、下線であると判定される。アスペクト比信頼度は、境界枠高さ及び境界枠幅の比率を１から単に減算したものである。なぜならその値は完全に平坦な線の場合に1.0に近づく値をもたらすからである。
【００５４】
コンテンツ境界枠と下線との(上記の定義のような)類似度を調べることで、下線のアプリケーションは機能する。比較のため、下線スコープマーク内の各ストロークは、完全に平坦なラインを形成するようにy寸法内に平均化されているが、これは選択物中のメンバシップを特定するのに使用されるだけであり、ユーザに視覚的に反映する地点ではない。この地点はアンダーラインｙ平均(underline  y-average)と呼ばれる。
【００５５】
人的なユーザは最良の目標基準を持っておらず、ユーザの意図する目標の上にアンダーライン(厳密には上線であるが、下線と言及する)を付けることがしばしばあることが予想される。このため、下線が、コンテンツオブジェクトの境界枠より「下側に」有るか否かの判断基準(cutoff)が使用される。一実施例の場合、その基準は、オブジェクトの低い境界位置からの高さの40%の位置にある。これはｙカットオフ(y-cutoff)と呼ばれる。
【００５６】
下線の範囲指定内のメンバシップ用のアルゴリズムの1つは次のとおりである。先ず、どのコンテンツのｙカットオフがアンダーラインｙ平均に最も近いか(他はそれより遠い)を判定する。これは全てのコンテンツ領域で調査することを要する。ここで、オブジェクトはｙクローゼスト(y-closest)と呼ばれる。次に、その下線より上にある全てのコンテンツを調べる(その際、ｘ及びｙ軸双方を調べる。)。コンテンツ境界枠のｘ寸法が下線のｘ寸法に40%含まれており(コンテンツの境界枠の40％以上が下線にかかって場合であって)、コンテンツ境界枠のｙ寸法の底(ボトム)がｙクローゼストの上部と下線との間にある場合、そのコンテンツは選択の範囲内に含まれている。このプロセスはアンダーライングループの構成要素インクグループ全てについて反復される。
【００５７】
＜ストロークを下線として認識するプロセスの一例＞
図８は、ストロークを下線マークとして認識する処理例のフローチャートを示す。本プロセスは或る処理論理装置(ロジック)により実行され、処理論理装置は、ハードウエア(例えば、回路、専用論理装置等)により、ソフトウエア(例えば、汎用コンピュータシステム又は専用機器で動作するもの)により、又はそれら双方の組合せにより構成されてもよい。
【００５８】
図８を参照するに、処理論理装置がストロークデータを受信することでプロセスは始まる(処理ブロック801)。ストロークデータを利用して、処理論理装置は、幅ｗ及び高さｈのストローク境界枠を計算する(処理ブロック802)。次に、処理論理装置は次式が成立するか否かを検査する：
1−(h/w)＞0.85。
成立しなければプロセスは終了する。成立していれば、処理論理装置はそのストロークを下線としてマークし(処理ブロック804)、プロセスは終了する。
【００５９】
＜下線認識プロセスに関する擬似コード例＞
【数１】
0005470835.tif 000002
【００６０】
＜下線ストロークからコンテンツを選択するプロセス例＞
図１０は、下線ストロークからコンテンツを選ぶ処理例のフローチャートを示す。本プロセスは或る処理論理装置(ロジック)により実行され、処理論理装置は、ハードウエア(例えば、回路、専用論理装置等)により、ソフトウエア(例えば、汎用コンピュータ
システム又は専用機器で動作するもの)により、又はそれら双方の組合せにより構成されてもよい。
【００６１】
図１０を参照するに、処理論理装置が次のストロークを取得することでプロセスは始まる(処理ブロック1001)。次のそのストロークと共に、処理論理装置はストロークｘの範囲がコンテンツアイテムと重なるか否かを確認する(処理ブロック1002)。重なっていなければプロセスは処理ブロック1005に移る。重なっていれば、ストロークｙがコンテンツアイテムの底に近いか否かを、処理論理装置が判定する(処理ブロック1003)。ストロークｙがコンテンツアイテムの底に近くなかった場合、プロセスは処理ブロック1005に移る。ストロークｙがコンテンツアイテムの底に近かった場合、処理論理装置はそのコンテンツを選択物に加え(処理ブロック1004)、プロセスは処理ブロック1005に移る。
【００６２】
処理ブロック1005では、処理論理装置は何らかのストロークが残っているか否かを判定する。残っていれば、プロセスは処理ブロック1001に移り、プロセスは繰り返される。残っていなければプロセスは終了する。
【００６３】
＜下線アプリケーションの擬似コード例＞
【数２】
0005470835.tif 000003
【００６４】
＜サークル＞
一実施例では、対象が単独のストロークを含むグループであり且つ環状尺度(roundaboutness)が経験値3.2より大きかった場合、サークル(円)が認識される。環状尺度は例えば以下の文献に示されている：Allen  Christian  Long  in  “Quill:  A  Gesture  Design  Tool  for  Pen-based  User  Interfaces,”  University  of  California  at  Berkeley,  CA,  No.3044573,  2001。
【００６５】
終点距離＝ストロークの始点及び終点の間の距離の絶対値
環状尺度＝(曲線長さ)/(終点距離)
【００６６】
＜サークル認識プロセスの擬似コード例＞
【数３】
0005470835.tif 000004
【００６７】
サークルのアプリケーションは簡易である。一実施例では、コンテンツアイテムの境界枠がサークルの境界枠と交わっていた場合、そのコンテンツは選択物に含まれている。別の実施例では、より堅実な(ロバストな)アプローチが使用され、コンテンツ境界枠とスコープマークの凸包(convex  hull)との交わりが使用される。
【００６８】
＜サークルアプリケーションの擬似コード例＞
【数４】
0005470835.tif 000005
【００６９】
＜パーシステント選択を認識するプロセス例＞
図９は、パーシステント選択を認識する処理例のフローチャートを示す。本プロセスは或る処理論理装置(ロジック)により実行され、処理論理装置は、ハードウエア(例えば、回路、専用論理装置等)により、ソフトウエア(例えば、汎用コンピュータシステム又は専用機器で動作するもの)により、又はそれら双方の組合せにより構成されてもよい。
【００７０】
図９を参照するに、処理論理装置がストロークデータを受信することでプロセスが始まる(処理ブロック901)。ストロークデータを利用して、処理論理装置はそのストロークデータが既知の形状に似ているか否かを判定する(処理ブロック902)。似ていなければプロセスは終了する。ストロークが既知の形状に似ていた場合、処理論理装置は、そのストロークが一定のコンテンツに近接しているか否かを判定する(処理ブロック903)。近接していなければプロセスは終了する。ストロークが一定のコンテンツに近接していた場合、処理論理装置は、タイプ入力されたパーシステント選択マークとしてそのストロークをマークし(処理ブロック904)、プロセスは終了する。
【００７１】
＜パーシステント選択ストロークについてのプロセス処理例＞
図１１は、パーシステント選択ストロークの処理を実行するフローチャート例を示す。
本プロセスは或る処理論理装置(ロジック)により実行され、処理論理装置は、ハードウエア(例えば、回路、専用論理装置等)により、ソフトウエア(例えば、汎用コンピュータシステム又は専用機器で動作するもの)により、又はそれら双方の組合せにより構成されてもよい。
【００７２】
図１１を参照するに、処理論理装置がスタイラスデータを受信することでプロセスが始まる(処理ブロック1101)。スタイラスデータを利用して、処理論理装置は、パーシステント選択ストローク近辺でタップ(軽くたたくような意思表示)がなされたか否かを判定する(処理ブロック1102)。なされていなければプロセスは終了する。なされていた場合、処理論理装置は、選択されたコンテンツを選び、選択を行う(処理ブロック1103)。その後、プロセスは終了する。
【００７３】
＜Ｇジェスチャー＞
既に存在するスコープマークにより区別されるコンテンツと共に描かれたコマンドを説明するため、簡易なＧジェスチャー(G  gesture)を使用する。これは最も(かなり)複雑な認識装置であり、５つの異なる属性のストロークを使用する。一実施例では、全てのＧジェスチャーが１エントリインクグループにある。
【００７４】
Area＝ストロークの境界枠の領域
Curvature＝ストロークの曲率の総和(左に曲がる場合は負とする)
Fat  aspect＝(境界枠の長辺寸法)/(短辺寸法)
Skinny＝1.0＝Fat  aspect
Roundaboutness(環状尺度)は、円の場合と同じである。
【００７５】
他の属性の各々が所定の範囲内にある場合、インクはＧジェスチャーであると判定される。
【表１】
0005470835.tif 000006
【００７６】
ジェスチャー(グーグルウェブサーチ結果又は言葉の定義を示すよう意図される)は、最も近いスコープマークに関連付けられる。一実施例の場合、ジェスチャーの境界枠とスコープマーク各々の境界枠との間のハウスドルフ空間距離関数を使用して、近接度が計算される。
【００７７】
＜‘G’ジェスチャー認識プロセスの擬似コード例＞
【数５】
0005470835.tif 000007
【００７８】
＜‘G’ジェスチャー起動処理の擬似コード例＞
【数６】
0005470835.tif 000008
【００７９】
＜コンピュータシステム例＞
図１２は、説明された１つ以上の処理を実行するコンピュータシステム例のブロック図を示す。図１２を参照するに、コンピュータシステム1200は典型的なクライアント又はサーバコンピュータシステムを含んでよい。コンピュータシステム1200は、情報を通信する通信手段又はバス1211と、情報を処理するためにバス1211に結合されたプロセッサ1212とを含む。プロセッサ1212はマクロプロセッサを含み、マイクロプロセッサは、限定ではないが、例えばPentium(登録商標)、PowerPC(商標)、Alpha(商標)等でもよい。
【００８０】
システム1200は、ランダムアクセスメモリ(RAM)又は他のダイナミックストレージデバイス1204を更に有し、プロセッサ1212で実行される命令や情報を格納する。メインメモリ1204は、プロセッサ1212による命令実行中に一時的な変数や他の中間的な情報を格納するのに使用されてもよい。
【００８１】
コンピュータシステム1200は、バス1211に結合された読み取り専用メモリ(ROM)及び／又は他のスタティックストレージデバイス1206も備え、そのスタティックメモリ1206は、プロセッサ1212用の命令や情報を格納する。コンピュータシステム1200は磁気ディスク又は光ディスクのようなデータストレージデバイス1207及びそれに対応するディスクドライブも備える。データストレージデバイス1207はバス1211に結合され、情報(例えば、ストロークデータ、マウスの動き、文書の選択可能な領域に対応するコンテンツ等)及び命令を格納する。
【００８２】
コンピュータシステム1200は、陰極線管(CRT)や液晶ディスプレイ(LCD)のようなバス1211に結合された表示装置1221に更に結合され、表示装置はコンピュータユーザに情報を表示する。英数字に加えてペンストロークデータを入力するための入力装置1222及び他のキーも、バス1211に結合され、情報やコマンド選択内容をプロセッサ1212に伝送する。更なるユーザ入力装置は、マウス、トラックボール、スタイラス又はカーソル指示キー等のようなバス1211に結合されたカーソル制御装置であり、カーソル制御装置は、方向情報やコマンド選択内容をプロセッサ1212に通知し、ディスプレイ1221上でのカーソルの動きを制御する。
【００８３】
バス1211に結合されてもよい他の装置はハードコピー装置1224であり、ハードコピー装置は、紙やフィルムのような媒体又は同様な種類の媒体に情報をマーキングするのに使用される。バス1211に結合されてよい他の装置は、電話又は携帯用装置と通信する有線／無線通信装置1225である。
【００８４】
システム1200の要素及び関連するハードウエアの全部又は一部が本発明で使用されてもよいことに留意を要する。更に、他の形態のコンピュータシステムがそれらの装置の全部又は一部を含んでもよい。
【００８５】
以上の説明を理解することで、本発明の多くの代替例及び変形例が当業者に明らかになったであろう。一例として図示及び説明された特定のどの実施例も本発明を限定するようには意図されていないことが、理解されるべきである。従って様々な実施例の詳細に関する者は本発明の範囲を限定するようには意図されておらず、本発明を規定する特許請求の範囲には発明の本質的特徴のみが記載されている。
【図面の簡単な説明】
【００８６】
【図１】文書ページ画像を注釈するシステム例のブロック図。
【図２】電子文書をペンでマーキングするプロセス例のフローチャート。
【図３】マウスイベントを処理するプロセス例のフローチャート。
【図４】関連する筆運びをグループ化する処理例のフローチャート。
【図５】ストローク認識モジュールの一例を示すブロック図。
【図６Ａ】下線を引いている例を示す図。
【図６Ｂ】スコープマークの部分として文字を円形に囲んでいる例を示す図。
【図７Ａ】段落の対向する端部に２つのコーナーマークを使用する例を示す図。
【図７Ｂ】２つの可能性のある「開始」マークと１つの「終了」マークが使用されている例を示す図。
【図７Ｃ】指示を伴う注釈の一例を示す図。
【図８】ストロークを下線マークとして認識する処理例のフローチャート。
【図９】パーシステント選択を認識する処理例のフローチャート。
【図１０】下線ストロークから内容を選ぶ処理例のフローチャート。
【図１１】パーシステント選択ストロークの処理を実行するフローチャート。
【図１２】詳細な説明の１つ以上の処理を実行するコンピュータシステム例のブロック図。
【符号の説明】
【００８７】
１００  ペン／スタイラス
１０１  表示画面
１０２  処理部
１０３  メモリ
１０４  書類入力装置
１０５  ネットワークアクセス装置
５０１  インクストローク入力装置
５０２  インクストローク入力データ
５０３  認識装置
５０４  グループ化モジュール
５０５  インクストロークグループデータ
１２００  コンピュータシステム
１２０４  メインメモリ
１２０６  スタティックメモリ
１２０７  データストレージデバイス
１２１１  バス
１２１２  プロセッサ
１２２１  ディスプレイ
１２２２  入力装置
１２２３  カーソル制御装置
１２２４  ハードコピー装置
【図１】
0005470835.tif 000009
【図２】
0005470835.tif 000010
【図３】
0005470835.tif 000011
【図４】
0005470835.tif 000012
【図５】
0005470835.tif 000013
【図６Ａ】
0005470835.tif 000014
【図６Ｂ】
0005470835.tif 000015
【図７Ａ】
0005470835.tif 000016
【図７Ｂ】
0005470835.tif 000017
【図７Ｃ】
0005470835.tif 000018
【図８】
0005470835.tif 000019
【図９】
0005470835.tif 000020
【図１０】
0005470835.tif 000021
【図１１】
0005470835.tif 000022
【図１２】
0005470835.tif 000023