(57)【要約】【課題】  デジタル文書およびその中のデジタルインク注釈を処理するためのデジタルインク注釈プロセスおよびシステム。【解決手段】  本プロセスおよびシステムは、注釈の当初の意図および意味が保持されるように文書中の注釈の位置を維持する。これは文書が異なる装置で編集、サイズ変更、表示される等の修正を受ける場合でも成り立つ。デジタルインク注釈プロセスは、デジタルインク注釈を画定するために文書中のデジタルインクストロークを自動・手動でグルーピングし、注釈タイプに従って注釈を分類し、文書中の適当な領域また配置に注釈をアンカリングする。本プロセスはさらに、注釈の当初の意図および意味を保持しながら新しいレイアウトに適合するように注釈をリフローさせる。デジタルインク注釈システムは、上記プロセスを実施するための分類モジュール、アンカリングモジュール、リフローモジュールおよび整理モジュールを含む。【選択図】  図６
2005004774.tif 000002
【特許請求の範囲】
【請求項１】
デジタルインク注釈を分類して、注釈分類を生成するステップと、
デジタル文書中において前記デジタルインク注釈が関連づけられている領域に前記デジタルインク注釈をアンカリングして、注釈アンカーを生成するステップと、
前記デジタル文書の新しいレイアウトに前記デジタルインク注釈をリフローさせるステップと
を備えたことを特徴とするデジタルインク注釈を含むデジタル文書を処理する方法。
【請求項２】
前記デジタルインク注釈はデジタルインクストロークに含まれ、
ユーザによって生成されたデジタルインクストロークをまとめてグルーピングして、前記デジタルインク注釈を画定するステップ、および
グルーピングされたインクストロークに基づいて前記デジタルインク注釈を分類するステップ
をさらに備えたことを特徴とする請求項１に記載の方法。
【請求項３】
少なくとも２つの異なる基準に基づいて前記デジタルインク注釈を分類するステップをさらに備えたことを特徴とする請求項１に記載の方法。
【請求項４】
前記少なくとも２つの基準は、（ａ）注釈特性、および（ｂ）前記デジタル文書中のコンテキスト情報を含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記ユーザに指示を求めるべきかどうかを判定する前記注釈分類の信頼度推定値を画定するステップをさらに備えたことを特徴とする請求項３に記載の方法。
【請求項６】
前記信頼度推定値が前記注釈分類に対して低いと判定するステップをさらに備えたことを特徴とする請求項５に記載の方法。
【請求項７】
デジタルインクストロークのグルーピングに対する前記信頼度推定値がしきい値より低く、手動グルーピングを使用すべきであると判定するステップをさらに備えたことを特徴とする請求項５に記載の方法。
【請求項８】
デジタルインク注釈の各分類に対するアンカリングルールを規定するステップをさらに備えたことを特徴とする請求項１に記載の方法。
【請求項９】
デジタルインク注釈の各分類に対するアンカリングルールを適用して、前記注釈アンカーを生成するステップをさらに備えたことを特徴とする請求項１に記載の方法。
【請求項１０】
前記デジタル文書中における前記デジタルインク注釈のアンカーコンテキストの有無に基づいて、前記注釈アンカーの有効性を判定するステップをさらに備えたことを特徴とする請求項１に記載の方法。
【請求項１１】
前記注釈アンカーの有効性に基づいてユーザ対話が望まれるか否かを判定するステップをさらに備えたことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記新しいレイアウトに適合するように前記デジタルインク注釈を処理して当初のデジタルインク注釈の意味および意図が保持するステップをさらに備えたことを特徴とする請求項１に記載の方法。
【請求項１３】
前記新しいレイアウトに適合するようにディスプレイ装置上に前記デジタルインク注釈をレンダリングするステップをさらに備えたことを特徴とする請求項１２に記載の方法。
【請求項１４】
請求項１に記載の方法を実行するためのコンピュータ実行可能命令を備えたことを特徴とするコンピュータ読取り可能な媒体。
【請求項１５】
デジタルインクストロークをグルーピングして、デジタルインク注釈を画定するステップと、
注釈特性およびデジタル文書中のコンテキスト情報に基づいて前記デジタルインク注釈を分類するステップと、
前記デジタルインク注釈をリフローさせて、前記デジタルインクストロークの意図および意味が保持されるように、新しいレイアウトを有する前記デジタル文書の修正バージョンを生成するステップと
を備えることを特徴とするデジタル文書中のデジタルインクストロークを処理する方法。
【請求項１６】
前記デジタルインクストロークの時間順序に基づいて前記デジタルインクストロークをグルーピングするステップをさらに備えたことを特徴とする請求項１５に記載の方法。
【請求項１７】
前記デジタルインクストロークの空間順序に基づいて前記デジタルインクストロークをグルーピングするステップをさらに備えたことを特徴とする請求項１５に記載の方法。
【請求項１８】
（ａ）前記デジタルインクストロークの時間順序、および（ｂ）前記デジタルインクストロークの空間順序の組合せに基づいて前記デジタルインクストロークをグルーピングするステップをさらに備えたことを特徴とする請求項１５に記載の方法。
【請求項１９】
１つまたは複数のプロセッサによって実行されると、該１つまたは複数のプロセッサに請求項１５に記載の方法を実施させるコンピュータ読取り可能な命令を有することを特徴とする１つまたは複数のコンピュータ読取り可能な媒体。
【請求項２０】
デジタル文書中のデジタルインク注釈を、修正されたデジタル文書における新しいレイアウトに適応させるコンピュータ実行可能命令を有するコンピュータ読取り可能な媒体において、
前記デジタル文書中のデジタルインクストロークをグルーピングして、前記デジタルインク注釈を画定するステップと、
注釈分類に基づいて前記デジタルインク注釈をアンカリングして、適切にフローされた注釈付きのデジタル文書を生成するステップと、
外部修正プロセスによって前記適切にフローされた注釈付きのデジタル文書を修正して、続いて、前記適切にフローされた注釈付きのデジタル文書とは異なる前記新しいレイアウトを有する修正されたデジタル文書を生成するステップと、
前記修正されたデジタル文書の新しいレイアウトに適合するように前記デジタル注釈をリフローさせるステップと
を備えたことを特徴とするコンピュータ読取り可能な媒体。
【請求項２１】
（ａ）前記デジタルインクストロークの時間順序、および（ｂ）前記デジタルインクストロークの空間順序の少なくとも一方に基づいて前記デジタルインクストロークをグルーピングする命令をさらに備えたことを特徴とする請求項２０に記載のコンピュータ読取り可能な媒体。
【請求項２２】
前記デジタルインク注釈は、前記デジタル文書中のある特定の内容を強調し、コメントを付け、または考えおよび印象を記録するためにユーザによって形成される能動読み取り注釈を含むことを特徴とする請求項２０に記載のコンピュータ読取り可能な媒体。
【請求項２３】
前記デジタルインク注釈は、前記デジタル文書中の誤りを指摘するために使用される編集注釈を含むことを特徴とする請求項２０に記載のコンピュータ読取り可能な媒体。
【請求項２４】
第１レイアウトを有する原デジタル文書からのデジタルインクストロークを、該第１レイアウトとは異なる第２レイアウトを有する修正されたデジタル文書にリフローさせるプロセスにおいて、
前記デジタルインクストロークをグルーピングして、デジタルインク注釈を画定するステップと、
注釈特性および前記原デジタル文書中のコンテキスト情報に基づいて前記デジタルインク注釈を分類するステップと、
前記原デジタル文書中で前記デジタルインク注釈に関連する領域に前記デジタルインク注釈をアンカリングするステップと、
前記修正されたデジタル文書の前記第２レイアウトを判定するステップと、
前記第２レイアウトに適合するように前記デジタルインク注釈を処理するステップと、
前記デジタルインク注釈が、前記第２レイアウトに適合し、前記原デジタル文書中に存在したのと同じ意味および意図を前記修正されたデジタル文書中で保持するように、前記修正されたデジタル文書において前記デジタルインク注釈をレンダリングするステップと
を備えたことを特徴とするデジタルインクストロークをリフローさせるプロセス。
【請求項２５】
前記デジタルインク注釈をアンダーライン注釈として分類するステップをさらに備えたことを特徴とする請求項２４に記載のプロセス。
【請求項２６】
アンダーラインが引かれている領域内の文字に前記アンダーライン注釈をアンカリングするステップをさらに備えたことを特徴とする請求項２５に記載のプロセス。
【請求項２７】
前記デジタルインク注釈をハイライト注釈として分類するステップをさらに備えたことを特徴とする請求項２４に記載のプロセス。
【請求項２８】
前記デジタルインク注釈を欄外書き込み注釈として分類するステップをさらに備えたことを特徴とする請求項２４に記載のプロセス。
【請求項２９】
前記欄外書き込み注釈は、前記デジタル文書のマージンまたは余白にあるデジタルインク注釈ストロークとして定義されるステップを特徴とする請求項２８に記載のプロセス。
【請求項３０】
前記デジタルインク注釈をサークル注釈として分類するステップをさらに備えたことを特徴とする請求項２４に記載のプロセス。
【請求項３１】
前記サークル注釈は、（ａ）インラインサークル、および（ｂ）領域サークルの少なくとも一方であることを特徴とする請求項３０に記載のプロセス。
【請求項３２】
前記インラインサークルは、単一のテキスト行を囲むことを特徴とする請求項３１に記載のプロセス。
【請求項３３】
前記領域サークルは、複数の部分テキスト行および他のデジタル文書内容を囲むことを特徴とする請求項３１に記載のプロセス。
【請求項３４】
前記デジタルインク注釈をマージン括弧注釈として分類するステップをさらに備えたことを特徴とする請求項２４に記載のプロセス。
【請求項３５】
前記マージン括弧注釈は、前記デジタル文書のマージンにおいてほぼ垂直のラインを形成するインクストロークのグループとして定義されることを特徴とする請求項３４に記載のプロセス。
【請求項３６】
前記デジタルインク注釈をコールアウト注釈として分類するステップをさらに備えたことを特徴とする請求項２４に記載のプロセス。
【請求項３７】
前記コールアウト注釈は、ある位置から別の位置へ延びることによって前記デジタル文書の領域どうしを結びつける注釈として定義されることを特徴とする請求項３６に記載のプロセス。
【請求項３８】
前記コールアウト注釈は、一定の湾曲を示すことを特徴とする請求項３６に記載のプロセス。
【請求項３９】
前記コールアウト注釈は、前記デジタル文書中で水平および垂直方向とある角をなすことを特徴とする請求項３６に記載のプロセス。
【請求項４０】
前記コールアウト注釈の端部は、（ａ）前記デジタル文書のテキスト、（ｂ）前記デジタル文書の内容、および（ｃ）他の注釈からのデジタルインクストロークの少なくとも１つに隣接していることを特徴とする請求項３６に記載のプロセス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的にはデジタル文書処理に関し、より詳細には、デジタル文書のレイアウトが（異なるディスプレイで編集または表示されることにより）変更されると、注釈のレイアウトがそれに従って適応するように、デジタル文書に付けられた自由形式のデジタルインクの注釈を処理するプロセスおよびシステムに関する。
【背景技術】
【０００２】
ペンで紙文書に注釈を付けることは、広くさまざまなビジネスや教育の分野においてよく知られた、かつ不可欠な活動である。文書に注釈を付けることは、その文書に重要な、および説明的なメモやコメントを「マークアップ」する、すなわち付ける行為である。これらのメモやコメントは、テキスト、図形、またはその両方のいずれもあり得る。
【０００３】
ペンコンピュータ、タブレットＰＣおよび携帯情報端末（ＰＤＡ）のようなペンベースのコンピューティング装置が消費者の間にますます普及するにつれて、デジタル文書に注釈を付ける能力が非常に有用かつ重要になっている。ペンベースのコンピューティング装置は、入力のためにキーボードの代わりに電子ペン（スタイラスという）を利用する。ペンが入力のために使用されるのは、多くの状況において、そうしたコンピューティング装置は小さすぎてキーボードを組み込むことができないからである。また、ペンとメモ帳のほうがキーボードよりもユーザにとって便利である状況は多い。これらのペンベースのコンピューティング装置は一般的に、手書き認識をサポートする特殊なオペレーティングシステムを有し、それによりユーザは、キーボードでタイプ入力する代わりに、画面またはタブレット上に書くことによって装置とインタフェースをとることができる。
【０００４】
ペンベースのコンピューティング装置の利用可能で、有用であるにもかかわらず、文書を読んだり文書に注釈を付けたりするとなると、大多数の人々は依然としてペンと紙のほうを好む。主要な理由の１つとして、ペンと紙は、読者が文書内容に応じて、構造化されていない、すなわち自由形式のメモや図をスケッチする容易な方法が可能であることが挙げられる。
【０００５】
このように注釈を扱う際に紙文書はきわめて便利であるにもかかわらず、デジタル文書および注釈の方が、それらの紙の場合に比べてよりフレキシブルとなる傾向がある。例えば、デジタル文書は、紙文書よりも、容易に編集することができように異なるディスプレイサイズに適合するように適応させることができる。また、注釈付きの紙文書は結局廃棄されることが多いが、デジタル注釈は、デジタル文書の存続期間の間は存続することができる。さらに、デジタル文書および注釈のほうが容易にフィルタリングを行い、組織化し、および共有することができる。
【０００６】
このフレキシビリティのゆえに、デジタル文書は、多様な環境で使用可能である。例えば、単一のデジタル文書を、いくつかの異なるフォーマットで読み、さまざまな装置に表示し、さまざまなウィンドウサイズ内に提示することができる。デジタル文書は、編集し、他の文書と組み合わせることが可能であり、その内容を動的に適応させることさえ可能である。したがって、紙文書とは異なり、デジタル文書は一般的に、永続的にレイアウトを保持しない。
【０００７】
このように永続的なレイアウトがないことは、デジタル文書上の自由形式のデジタルインク注釈を考える際に重要な技術的課題を提示する。例えば、デジタル文書が新しいレイアウトに適応するたびに、関連する注釈も適応しなければならない。すなわち、デジタル文書が、異なる装置または異なるウィンドウサイズで編集または表示される時、デジタル文書のレイアウトは新しい状況に適応するように変化する。デジタル文書に付けられるいかなる「デジタルインク」注釈も、新しいレイアウト条件に同様に適応（すなわち「リフロー」）させなければならない。
【０００８】
自由形式デジタルインク注釈のリフローをサポートするためには、３つの問題を解決しなければならない。まず第１に、読者が作成している注釈は、注釈のいくつかのタイプ（例えば、「アンダーライン」、「サークル」、「マージンコメント」等）のうちの１つとして認識および分類されなければならない。次に、各注釈は、文書中でその注釈が属する特定の位置にアンカリングされなければならない。最後に、基礎となる文書のレイアウトが将来のある時点で変化する場合、文書上の既存の注釈が、読者の当初の意図に適合し続けるように適切にリフローされなければならない。
【０００９】
歴史的には、デジタルインクに関連する研究開発努力の多くは、手書き認識に集中している。しかし、本明細書に開示されるデジタルインク注釈プロセスおよびシステムは、手書き認識を使用しない。その理由は、デジタルインク注釈は、単にそれが手書きであるかどうかを知れば（これは高レベルの分類タスクである）、それがなんと書いてあるかを具体的に知らなくても（これはきめ細かい認識タスクである）、デジタルインク注釈をリフローさせることができるからである。
【００１０】
最近になって、さまざまなスケッチベースのインタフェースをサポートするためにいくつかの手法がインクシェイプ認識を使用している。これらの手法は、シェイプまたはジェスチャのセットを認識するために、ヒューリスティックスまたは機械学習技法を使用している。しかし、デジタルインク注釈のサポートのためにそれらを使用することを考える場合、これらの手法の１つの欠点として、基礎文書等の独立のコンテキストにインクストロークをアンカリングしないため、このコンテキストの変化に応じてユーザのインクを修正することができないということがある。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
シェイプ認識をデジタルインク注釈に適用し、これを用いて自由形式インク注釈を閲覧条件の制約された変化（例えば文書中のフォントサイズの変更）に適応させる少なくとも１つの手法がある。この手法は当初、認識を実行するために単純なヒューリスティックスを試みていたが、これは不十分であることが分かった。その後、この手法は、認識のために機械学習技法に依拠し、インクストロークの各部分を個別のコンテキスト的特徴に関連づけるために「スーパーローカル」アンカリング("super-local" anchoring)に依拠していた。この手法の問題点の１つは、手動分類を含まないことである。自動分類、アンカリング、またはリフローが失敗または実行不能の場合にユーザが手動選択をすることができるように、手動分類をシステムに含めるべきである。また、「スーパーローカル」アンカリング（例えば、個別のインクストロークの各部分が独立に文書コンテキスト特徴にアンカリングされる場合）は、この手法が関係していた種類の閲覧条件の制約された変化に注釈を適応させるには適しているが、デジタルインク注釈の完全に無制約のリフローをサポートするには不十分である。というのは、注釈の変換は、その注釈に関わるすべてのインクストロークとともに、注釈のアンカーコンテキスト内のすべての特徴を考慮しなければならないからである。
【００１２】
したがって、上記の問題点および制限を克服する文書処理システムおよび方法が必要とされている。特に、原文書が修正される時にいつでも、デジタルインク注釈の意図および視覚的意味を保持するシステムおよび方法が必要とされている。
【課題を解決するための手段】
【００１３】
本明細書に開示される発明は、原文書が異なるディスプレイ装置または異なるウィンドウサイズで編集または表示される結果として新しいレイアウトをとる時にいつでも、原文書中のデジタルインク注釈の意図および意味を保持するデジタルインク注釈プロセスおよびシステムを含む。一般的に、本プロセスおよびシステムは、大まかに３つの側面を含む。第１に、ユーザが文書をマークアップしている時、そのデジタルインクストロークが注釈を画定するようにグルーピングされ、注釈はいくつかの注釈「タイプ」のうちの１つに分類される。これらの注釈「タイプ」としては、アンダーライン（下線）、ハイライト（蛍光ペン）、マージン括弧、サークル（丸）、欄外書き込み(marginalia)、およびコールアウト(callout)すなわちコネクタ注釈がある。第２に、各注釈は、文書中でそれを取り囲むコンテキストにアンカリングされなければならない。最後に、基礎となる文書あるいは原文書のレイアウトが変化する時、各注釈は、そのコンテキストの新しいレイアウトに合致し適合するように変換されなければならない。この最終ステップは、文書および注釈の「リフロー」と呼ばれる。これらの３つの側面により、本明細書に開示されるデジタルインク注釈システムおよびプロセスは、注釈が文書中で属している場所に「追従する」ように、デジタル文書上のデジタルインク注釈を処理することができる。これは、文書が、異なる装置で編集、サイズ変更、表示される等の修正を受ける場合であっても成り立つ。
【００１４】
一般的に、デジタルインク注釈システムは、リフローされたデジタル文書における注釈の正確な位置決めを保証しながら、デジタル文書および注釈を処理するためのいくつかのコンポーネントを含む。システムは、分類モジュール、アンカリングモジュール、リフローモジュール、および整理(clean-up)モジュールを含む。分類モジュールは、デジタルインクストロークをグルーピングすることにより注釈を画定してから、その注釈を分類する。アンカリングモジュールは、文書の２Ｄレイアウトモデルを抽象化し、堅固なアンカリング技法を用いることにより、注釈を、デジタル文書中でその注釈が関連づけられる領域に連結（すなわち「アンカリング」）する。リフローモジュールは、各注釈に関連する分類およびアンカーコンテキスト情報を用いて、デジタル文書への変更に基づいて注釈をリフローすなわち再レンダリングする。リフローモジュールは、デジタル文書が修正される時にいつでも、ユーザの当初の意図および意味を保持することを保証する。整理モジュールは任意のコンポーネントであって、これを使用することにより、ユーザの当初のフリーハンド注釈を消去し、注釈の形式化された「整理された」バージョンを再描画する。整理モジュールは、まず各注釈の分類を判定することによって、各注釈を定形化する。次に、分類整理ルールに基づいて、フリーハンド注釈を定形化された注釈に変換する。
【００１５】
分類モジュールは、近接するインクストロークをデジタル文書上でグルーピングし分類することによりデジタルインク注釈を画定するプロセスをカプセル化する。これを行うため、分類モジュールは、デジタルインクストロークの特徴を抽出し検査することにより初期グルーピングおよび分類を決定してから、デジタル文書中の注釈に対する仮説アンカーコンテキストに基づいてこのグルーピングおよび分類を精密化する。精密化されたグルーピング・分類結果に基づいて、アンカーコンテキストのより良い推定値を識別し、以下同様に続く。グルーピングおよび分類と、アンカーコンテキスト識別との間を反復した後、システムは、関連する信頼度およびアンカーコンテキストを有するグルーピング・分類結果に収束する。グルーピング・分類プロセスが特定の注釈の分類および／またはアンカーコンテキストに対する低信頼度の（例えば、ある一定のしきい値より低い）推定値に収束した場合、手動グルーピングを使用すべきであると判定し、ユーザの指示を求める。
【００１６】
インクストロークのグルーピングは、ストロークの時間順序、空間配置、またはその両方の組合せのいずれに基づいてもよい。デジタルインク注釈プロセスは、次のような、デジタルインク注釈の少なくとも６個のタイプすなわち分類を自動的に認識する：アンダーライン注釈、ハイライト注釈、欄外書き込み注釈、サークル注釈、マージン括弧注釈、およびコールアウトすなわちコネクタ注釈。これらの分類のそれぞれは、どのようなタイプのアンカーコンテキストを期待するか、およびどのような種類のリフロー変換が実行されるかを決定する異なる特性を有する。
【００１７】
いったん注釈のインクストロークがグルーピングされ、注釈が分類され、可能性のあるアンカーコンテキストが識別されると、アンカリングモジュールが、注釈をその目的のコンテキストにアンカリングする。すなわち、注釈は、文書中でそれが属する領域または位置に論理的にアンカリングされなければならない。それにより、たとえ文書のレイアウト、フォーマット、または内容が変化しても、文書中の同じ領域または位置を回復することができる。アンカリングプロセスは、デジタルインク注釈の各分類に対するアンカリングルールを規定し、これらのアンカリングルールを各デジタルインク注釈に適用し、各注釈に対する論理アンカーを生成する。また、アンカリングプロセスは、文書中の注釈のコンテキストに基づいてアンカーの有効性を判定し、アンカーの有効性に基づいてユーザ対話が望まれるかどうかを確認する。例えば、編集の結果としてコンテキストがなくなったと判定された場合、注釈のアンカーは無効であると判定し、孤立した注釈をどう処置するかについてユーザの指示を求める。
【００１８】
注釈がアンカリングされている文書のレイアウトが後で変化したが、注釈のアンカーはその変化によって無効化されていない場合、リフローモジュールが、その注釈の分類およびアンカーコンテキストに基づいて注釈を再レンダリングする。リフローモジュールは、デジタル文書の新しいレイアウトを判定してから、注釈の意味や意図を失わずに新しいレイアウトに適合するように注釈を変換および再レンダリングする。
【００１９】
さらに、デジタルインク注釈システムは、ユーザフィードバックモジュールを含む。ユーザフィードバックモジュールはインタフェースを提供し、このインタフェースにより、ユーザはシステムと対話してシステムの精度および有効性を改善することができる。フィードバックユーザインタフェースは、分類モジュール、アンカリングモジュール、リフローモジュール、および整理モジュールと通信する。また、ユーザは、いつでもシステムの自動機能を無効にして、手動でタスク（例えばグルーピングや分類）を実行することもできる。
【００２０】
本発明は、本発明の諸態様を例示する以下の説明および添付図面を参照することによってさらに良く理解することができる。他の特徴および利点は、例によって本発明の原理を示す本発明についての以下の詳細な説明を添付図面とともに参照することにより明らかとなるであろう。
【００２１】
以下、図面において、同一参照番号は全体を通じて対応する部分を表す。
【発明を実施するための最良の形態】
【００２２】
以下の本発明の説明では、その一部をなす添付図面を参照する。添付図面には、本発明を実施することができる具体例が実例として示されている。本発明の範囲から逸脱することなく、他の実施形態も利用可能であり、構成変更をなし得ることは言うまでもない。
【００２３】
Ｉ．序論
紙文書にペンとインクで注釈を付けることが文字通り数百年にわたってなされている。一般的に、注釈は、コメント、説明または訂正のために文書に付加されるメモ（テキストまたは図形）またはシンボルである。注釈は、文書に関する考えや印象を記録する自然で直観的な手段である。また、注釈は、訂正が必要な文書中の誤りを指摘するためにも使用可能である。
【００２４】
現在の技術によれば、ユーザは、紙文書上のペン注釈と同様に、「凍結された」デジタル文書上にデジタルインク注釈を作成することができる。例えば、タブレットＰＣユーザは、スタイラスを用いて画面上に書くことにより、文書の画像（例えば、文書のTagged Image File Format（ＴＩＦＦ）画像）にデジタルインク注釈を付けることができる。ユーザは、紙の場合に与えられるのと同様のフレキシビリティを享受するが、同じ制限も受ける。真の「動的」デジタル文書（例えば、ワードプロセッサ文書やＨＴＭＬウェブページ）は、それらの紙文書（または文書画像）の場合よりもはるかにフレキシブルで可変である。例えば、動的デジタル文書は、ウィンドウ内に容易にサイズ変更され、あるいは大小さまざまのディスプレイ装置に表示するために再フォーマットすることが可能である。現在、文書のレイアウトが変化すると、これらのフレキシブルな動的デジタル文書上の注釈を適応させることに対応した技法は存在しない。
【００２５】
本明細書に開示されるデジタルインク注釈システムおよびプロセスは、文書のレイアウトが変化するときに、注釈が属している文書中の場所に「追従する」ような、動的デジタル文書上のデジタルインク注釈をサポートする。これは、文書が、異なる装置で編集、サイズ変更、表示される等の修正を受ける場合であっても成り立つ。例として、ユーザがタブレットＰＣを用いてウェブページ上の単一行のセンテンスにアンダーラインを付ける場合を考える。そのウェブページがその後、より小さいＰＤＡの画面に表示するために再フォーマットされる場合、アンダーラインは複数の文書行にまたがって分割されなければならないかもしれない。これは、センテンスのすべての部分が引き続きアンダーラインを引かれ、ユーザの当初の意図が保持されることを保証する。
【００２６】
ＩＩ．全般的概観
デジタルインク注釈システムおよびプロセスは、静的文書から動的文書への、従来のペンと紙の注釈パラダイムの重要な拡張に対応している。本デジタルインク注釈システムおよびプロセスには少なくとも３つの主要な側面がある。第１の側面は、デジタルインクが自動でも手動でも認識および分類されることである。第２の側面は、そうして分類された注釈が文書内の要素（テキスト、画像、表等）にアンカリングされることである。これは、たとえ文書が修正された場合でも、それに対する注釈が文書の新しいレイアウトにおいて、ユーザの当初の意図および意味を保持するように配置されることを保証する。第３の側面は、文書に対してリフロー、修正、またはその両方がなされた後に、デジタルインク注釈が適切に表示されるようにインクストロークを修正する技法である。
【００２７】
図１は、本明細書に開示されるデジタルインク注釈システムおよびプロセスを組み込んだ注釈環境を示すブロック図である。一般的に、デジタルインク注釈システム１００は、ユーザ１２０が、適切にフロー処理された注釈付きのデジタル文書１３０を生成することができるように、注釈環境１１０において実施される。デジタルインク注釈システム１００は、一般的に、コンピューティング装置１４０上に存在する。下記のセクションＶＩＩで説明するように、このコンピューティング装置１４０は通常、コンピュータ実行可能命令の形態のデジタルインク注釈プロセスを実行するためのプロセッサ（図示せず）を含む。
【００２８】
特に、図１を参照すると、ユーザ１２０は、ユーザインタフェース１５０経由でコンピューティング装置１４０と対話する。ユーザインタフェース１５０により、ユーザ１２０は、デジタル文書１６０を閲覧し、デジタル文書１６０と対話することができる。また、ユーザ１２０は、スタイラスまたはペン入力装置を用いて、デジタル文書１６０に自由形式デジタルインクユーザ注釈１７０を付加することができる。デジタル文書１６０および関連するユーザ注釈１７０は、デジタルインク注釈システム１００に送られ、処理される。以下で詳細に説明するように、デジタルインク注釈システム１００は、デジタル文書１６０およびユーザ注釈１７０を処理して、適切にフローされた注釈付きのデジタル文書１３０を出力する。その後、適切にフロー処理された注釈付きのデジタル文書１３０は、それがデジタル文書１６０であるかのように扱われる。すなわち、ユーザはさらなる注釈を付加すること（あるいは、既存の注釈の削除または移動、文書内容の編集等により文書と対話すること）ができ、これらのコマンドは、後続の処理のためにデジタルインク注釈システム１００に委ねられる。さらに、ユーザ１２０は、例えば注釈システムパラメータおよび基本設定を制御するために、ユーザインタフェース１５０を通じてデジタルインク注釈システム１００と直接対話することも可能である。
【００２９】
ＩＩＩ．システムの詳細
デジタルインク注釈システム１００はいくつかのコンポーネントを含む。これらのコンポーネントにより、システム１００は、デジタル文書１６０およびユーザ注釈１７０を処理し、リフローされたデジタル文書におけるユーザ注釈１７０の正確な位置決めを保証することができる。
【００３０】
図２Ａおよび図２Ｂは、図１に示すデジタルインク注釈システム１００の例示的な実施形態の詳細を示すブロック図である。一般的に、ユーザが文書に新しい注釈を付加している間に、デジタルインク注釈システム１００は、デジタル文書１６０および関連するユーザ注釈１７０を処理することにより、適切にフロー処理された注釈付きのデジタル文書１３０を生成する。その後、適切にフロー処理された注釈付きのデジタル文書１３０は、デジタルインク注釈システム１００の適用範囲外で、何らかの外部修正プロセスによって修正すことが可能であり（例えば、文書が編集されてもよく、あるいは異なるウィンドウサイズに表示されてもよい）、それにより、修正された注釈付きデジタル文書１３５が得られる。この場合、修正された注釈付きデジタル文書１３５は、デジタルインク注釈システム１００に入力としてフィードバックされることにより、注釈が文書の新しいレイアウト中で属している場所に追従するように適切にリフローさせることができ、新しい適切にフロー処理された注釈付きのデジタル文書１３０が生成される。
【００３１】
図２Ａは、注釈のグルーピング、分類およびアンカリングの実行中における図１のデジタルインク注釈システム１００を例示する一実施態様の詳細を示すブロック図である。特に、図２Ａに示すデジタルインク注釈システム１００は、分類モジュール２００およびアンカリングモジュール２１０を含む。分類モジュール２００は、ユーザ注釈１７０を構成するデジタルインクストロークをデジタル文書１６０とともに入力として取り、インクストロークを互いにグルーピングすることにより、各注釈についてグルーピング・分類・アンカーコンテキストの組合せ２３０を画定する。
【００３２】
アンカリングモジュール２１０は、堅固なアンカリング技法を用いて、分類モジュール２００から出力されるインクストロークグルーピングをそれらに関連するアンカーコンテキストに（例えば、デジタル文書中で当該グループが関連している可能性が最も高い領域に）連結（すなわち「アンカリング」）する。アンカリングモジュール２１０は、分類モジュール２００から出力されるグルーピング・分類・アンカーコンテキストの組合せ２３０と、デジタル文書１６０とを入力として取る。各グルーピングについて、アンカリングモジュール２１０は、アンカーコンテキストを記述するデジタル文書１６０からアンカー特徴を抽出してから、これらの特徴をグルーピングと関連づける。すべてのグルーピングを処理した後、アンカリングモジュール２１０は、適切にフローされた注釈付きのデジタル文書１３０を出力する。
【００３３】
その後、図２Ｂに示すように、適切にフローされた注釈付きのデジタル文書１３０は、デジタルインク注釈システム１００の適用範囲外で外部修正プロセス２４０によって修正することが可能であり、それにより、修正された注釈付きデジタル文書１３５が生成される。外部修正プロセス２４０は、文書の２Ｄレイアウトに変化を生じさせるいかなる変更（例えば、文書内容に対する編集や、異なる装置または異なるウィンドウサイズでの表示）も含み得るが、注釈の適切な修正を疎かにされる。その結果、注釈は不正確に見えることがあるため、注釈が属している場所に「追従する」ように見えるためには、注釈を文書の新しいレイアウトに合致するように変換しなければならない。
【００３４】
図２Ｂは、注釈のリフロー中における図１のデジタルインク注釈システム１００の例示的な実施態様の詳細を示すブロック図である。デジタルインク注釈システム１００は、リフローモジュール２５０および整理モジュール２６０を含む。リフローモジュール２５０は、修正された注釈付きデジタル文書１３５を入力として取り、新しい適切にフロー処理された注釈付きのデジタル文書２７０を出力として生成する。すなわち、リフローモジュール２５０は、修正された注釈付きデジタル文書１３５に存在する注釈を変換および再レンダリングすることにより、文書の新しいレイアウトに適応させる。これを行うため、リフローモジュール２５０は、各個別の注釈の論理アンカー特徴を検査して、文書の新しいレイアウト中でのそのアンカーコンテキストの移動先を見出す。注釈のそれぞれの異なるタイプすなわちクラス（アンダーライン、サークル、マージンコメント等）は、そのタイプの注釈がどのようにリフローされるべきかを支配する固有のルールのセットを有する。一旦リフローモジュール２５０は、注釈のアンカーコンテキストの移動先を判定した後、その注釈のタイプすなわち分類のために使用する適当なリフロールールのセットを選択し、注釈を変換する。このようなリフローのやり方は、適切にフロー処理された注釈付きのデジタル文書１３０が変化する時にいつでも、ユーザの当初の意図および意味が保持されることを保証する。
【００３５】
整理モジュール２６０は、ユーザの当初のフリーハンドインク注釈をその注釈の形式化された「整理された」バージョンで置き換える任意のコンポーネント（破線のボックスで示す）である。以下で説明するように、一部の注釈は、ユーザがそれを書いた通りに保持されるままにしておくほうが良いので、置き換えられずに整理モジュール２６０を通過する。整理モジュール２６０は、まず各注釈のタイプすなわち分類を判定することによって、各注釈を定形化する。次に、注釈の特定のタイプに対する整理ルールのセットに基づいて、注釈を定形化された形式に変換する。
【００３６】
また、図２Ａおよび図２Ｂを参照すると、デジタルインク注釈システム１００は、ユーザがデジタルインク注釈システム１００と対話することができるインタフェースを提供するユーザフィードバックモジュール２８０をも含む。このユーザフィードバックは、システム１００の精度および有効性を保証する。フィードバックユーザインタフェース２８０は、分類モジュール２００、アンカリングモジュール２１０、リフローモジュール２５０および整理モジュール２６０の諸態様を制御することが可能であり、それによりユーザは、これらのモジュールの自動機能と対話すること、およびそれらの自動機能を無効にすることができる。フィードバックユーザインタフェース２８０をこれらの４つのモジュールとつなぐ破線は、ユーザフィードバックがそれぞれの場合に任意であることを示している。
【００３７】
例として、分類モジュール２００は、フィードバックユーザインタフェース２８０を通じて注釈のグルーピング、分類、およびアンカーコンテキストを表示してもよい。ユーザは、この情報を点検することができ、それを修正することを選択してもよい。この修正のためには、例えば、注釈を構成するインクストロークのグルーピングを変更するか、注釈の分類を変更するか、あるいは文書中で注釈が関連づけられている領域を変更する。ユーザは、フィードバックユーザインタフェース２８０を用いて、アンカリングモジュール２１０が注釈に対する論理アンカーを生成する方法を修正することができる。この修正のためには、例えば、アンカーコンテキストを記述するデジタル文書１６０から抽出される特徴のタイプを変更する。ユーザは、フィードバックユーザインタフェース２８０を用いて、リフローモジュール２５０が特定の注釈をリフローさせる時にどのルールのセットを使用すべきかを手動で指定することができる。これは、例えば、注釈の特定の特性を考慮すると、注釈のタイプに対するリフロールールの既定のセットが正しくない場合に行われる。最後に、ユーザは、フィードバックユーザインタフェース２８０を用いて、整理モジュール２６０が注釈の形式化された、すなわち「整理された」バージョンを表示する時にどのルールのセットを使用すべきかを手動で指定することができる。これは、例えば、注釈の特定の特性を考慮すると、注釈のタイプに対する「整理」ルールの既定のセットが正しくない場合に行われる。フィードバックユーザインタフェース２８０を通じて、ユーザはシステム１００と対話することにより、その精度、信頼性および有効性をさらに向上させることができる。
【００３８】
図３は、図２Ａの分類モジュール２００の例示的な実施態様の詳細を示すブロック図である。一般的に、分類モジュール２００は、ユーザ注釈１７０の特徴およびデジタル文書１６０からのコンテキスト情報を用いることにより、各注釈のグルーピングおよび分類を行うとともに適当なアンカーコンテキストを判定し、各注釈に対するグルーピング・分類・アンカーコンテキストの組合せ２３０を出力する。分類モジュール２００は、インクストローク特徴抽出モジュール３００、時間プルーニングモジュール３２０および空間プルーニングモジュール３３０を有するグルーピング・分類モジュール３１０、アンカーコンテキスト識別モジュール３４０、ならびに手動グルーピング・分類・アンカー識別モジュール３５０を含む。
【００３９】
インクストローク特徴抽出モジュール３００は、ユーザ注釈１７０内のインクストロークの特性を計測する。特定のインクストロークについて、このような特性としては、例えば、ストロークの方位角、ストロークの長さ、他のすべてのインクストロークとの関連で当該ストロークが形成された時刻、および他のすべてのインクストロークに対する当該ストロークの位置があり得る。これらの特性は、インクストローク全体との正しいグルーピングを判定するために、グルーピング・分類モジュール３１０に提供される。
【００４０】
グルーピング・分類モジュール３１０は、ユーザ注釈１７０内のインクストロークを、大域的に最適な形で、適当なクラスラベルおよびアンカーコンテキストを有する異なるグループにグルーピングすることを担当する。一般的に、グルーピング・分類モジュール３１０は、動的計画法を用いて、ユーザ注釈１７０を構成するインクストロークのすべての可能なグルーピングおよび分類を評価し、包括的かつ重複のない相異なるグループへのすべてのストロークの最適な（すなわち正しい可能性が最も高い）グルーピングおよび分類を決定する。すべての可能なグルーピングおよび分類を評価することは、コンピュータ処理時間に関して組合せを考慮すると高価であるため、ストロークの時間順序（時間プルーニングモジュール３２０を用いて）、もしくはストロークの空間配置（空間プルーニングモジュール３３０を用いて）、またはその両方に基づいて、動的計画法探索空間を事前にプルーニングする。すなわち、互いに時間的および／または空間的に近いストロークのグループのみが、グルーピング・分類モジュール３１０の動的計画の一部として考慮される。この事前プルーニングは、互いに時間的または空間的に離れたインクストロークが、ともに１つのグループに属する可能性が低いことから正当化される。
【００４１】
グルーピング・分類モジュール３１０によって評価されて残ったストロークのグループの候補の各々に、そのグループ内のストロークが、システムが認識する注釈のタイプの１つ（例えば、アンダーライン、ハイライト、サークル、マージンコメント、マージンバー、またはコネクタ）となる可能性がどのくらい高いかに基づいて確率を割り当てた後、グループをアンカーコンテキスト識別モジュール３４０に送る。すると、アンカーコンテキスト識別モジュール３４０は、そのグループに対して最も可能性の高いアンカーコンテキストを識別しようと試みる。例えば、特定のグループ内のインクストロークが水平ラインであり、グルーピング・分類モジュール３１０が、そのグループはおそらくアンダーライン注釈を表していると判定した場合、アンカーコンテキスト識別モジュール３４０は、文書中でそのラインの直上にある語句を探す。別のグループ内のインクストロークが、サークル注釈を形成している可能性が最も高いと判定された場合、アンカーコンテキスト識別モジュール３４０は、そのサークルによって囲まれている語句を探す。アンカーコンテキスト識別モジュールは、提示されたインクストロークのグループに対するアンカーコンテキストについて最良の推測を行い、そのアンカーコンテキストが正しい確率を割り当て、この情報をグルーピング・分類モジュール３１０に返す。
【００４２】
グルーピング・分類モジュール３１０は、グループに対するアンカーコンテキスト識別情報を受け取り、そのグループに対してグルーピング・分類モジュール３１０が計算したもとの分類確率とその情報を結合し、結合された値をその動的計画法下位問題解決テーブルに入れる。インクストロークの特定のグルーピングが、可能性の低い分類および／または可能性の低いアンカーコンテキストを有する（例えば、最初にアンダーラインとして分類されたインクストロークのグループのラインの上方に語句がない）場合、この特定グループは、グルーピング・分類モジュール３１０によって判定されるユーザ注釈１７０内の全ストロークの最終的な全体グルーピングに含まれる可能性が下がる。グルーピング・分類モジュール３１０は、（事前にプルーニングにより切り捨てられなかった）すべての可能なグルーピングを評価した後、その下位問題解決テーブルを通覧して、ユーザ注釈１７０内の全ストロークを説明し、重複せず、かつ組み合わされたグルーピング確率を最大化するグルーピング／分類／アンカーコンテキストの組合せのセットを選択する。その後、この完成した最適グルーピングが、グルーピング・分類・アンカーコンテキストの組合せ２３０として出力される。
【００４３】
手動グルーピング・分類・アンカー識別モジュール３５０はユーザインタフェースを提供し、このユーザインタフェースにより、ユーザはインクストロークのセットを手動で選択し、認識された注釈タイプのリストに従ってそのセットを分類し、そのアンカーコンテキストを指定することができる。ユーザが、自動グルーピングプロセスを回避するため、または自動プロセスにおける間違いを訂正するために、このインタフェースを使用することを選択した場合、手動で選択されるものはすべて、自動プロセスが達成可能なものよりも良いとみなされ、そのグルーピング内のインクストロークはその後、自動プロセスによって無視される。
【００４４】
図４は、図２Ａのアンカリングモジュール２１０の例示的な実施態様の詳細を示すブロック図である。一般的に、アンカリングモジュール２１０は、分類モジュール２００によって出力されるグルーピング・分類・アンカーコンテキストの組合せ２３０を用いて、ストロークの各グループを、文書中でそれが目的とするアンカー領域に関連づける論理アンカーを生成し、たとえ文書のレイアウトおよび／または内容が変更された場合であっても各グループのアンカー領域を回復することができるようにする。アンカリングモジュール２１０は、注釈アンカリングルール４００、コンテキスト特徴抽出モジュール４１０、および論理アンカージェネレータモジュール４２０を含む。
【００４５】
アンカリングモジュール２１０は、分類モジュール２００によって出力されるグルーピング・分類・アンカーコンテキストの組合せ２３０と、デジタル文書１６０とを入力として取る。注釈アンカリングルール４００は、それぞれの異なる注釈タイプがどのようにアンカリングされるかを規定する。例えば、アンダーライン注釈は、それがアンダーラインを引いているテキストにアンカリングされ、サークルは、それが囲んでいるテキストにアンカリングされる。コンテキスト特徴抽出モジュール４１０は、デジタル文書１６０から顕著なアンカー特徴を抽出し、論理アンカージェネレータモジュール４２０がそれらのアンカー特徴を利用できるようにする。それぞれのインクストロークグルーピングに対して、論理アンカージェネレータモジュール４２０は、そのグルーピングの分類およびその注釈タイプのアンカリングルールに基づいて、抽出されたアンカー特徴のうちから適当なアンカー特徴を選択する。アンカー特徴は、そのグルーピングの論理アンカーとしてグルーピングに割り当てられる。その後、グルーピングは、その分類、アンカーコンテキスト、および論理アンカーとともに、完全にリフロー可能な注釈とみなされる。論理アンカージェネレータモジュール４２０がすべてのグルーピング・分類・アンカーコンテキストの組合せ２３０についてタスクを完了した後は、完全にリフロー可能な注釈はデジタル文書１６０上に表示する準備ができており、適切にフロー処理された注釈付きのデジタル文書１３０が生成される。
【００４６】
図５は、図２Ｂのリフローモジュール２５０の例示的な実施態様の詳細を示すブロック図である。一般的に、リフローモジュール２５０は、注釈の論理アンカーおよびその分類に基づいて、それぞれの完全にリフロー可能な注釈を変換し、修正された注釈付きデジタル文書１３５上に再レンダリングする。リフローモジュール２５０は、レイアウト判定モジュール５００、注釈変換モジュール５１０、および再レンダリングモジュール５２０を含み、適切にフローされた注釈付きの新しいデジタル文書２７０を出力する。
【００４７】
リフローモジュール２５０は、修正された注釈付きデジタル文書１３５を入力として取る。修正された注釈付きデジタル文書１３５は、文書上の注釈が最後にリフローされた後にレイアウトが変更されている。文書上の各注釈について、レイアウト判定モジュール５００は、注釈の論理アンカーを用いて注釈のアンカーコンテキストを回復し、注釈のアンカーコンテキストの新しいレイアウトを判定する。新しいレイアウトが判定された後、注釈変換モジュール５１０を用いて、注釈が新しい文書レイアウトに適合する（例えば、注釈が文書中で当初目的としていた位置に「追従する」）ように、注釈を変換する。適合処理は、それぞれの異なる注釈タイプによって異なる。例えば、アンダーライン注釈の場合、適合処理は、同じテキスト行にある複数のアンダーラインインクストロークを接合する接合オペレーションと、新しいレイアウトにおいて複数のテキスト行にまたがるアンダーラインインクストロークを分割する分割オペレーションとを含む。サークル注釈の場合、適合処理は、そのアンカーコンテキストの新しいレイアウトに合わせるためのアフィン変換（平行移動、回転、および拡大縮小）を含む。
【００４８】
ＩＶ．動作の概観
本明細書に開示されるデジタルインク注釈システム１００は、デジタルインク注釈プロセスを用いることにより、注釈が動的に適応可能となるように注釈を処理する。このことは、注釈を含む文書が修正される場合、注釈が文書の新しいレイアウトに適応可能であることを意味する。この動的適応可能性は、各注釈の当初の意図および意味が保持されることを保証する。
【００４９】
本デジタルインク注釈プロセスは３つの主要な特徴を含む。第１に、デジタルインク注釈のインクストロークをグルーピングおよび分類し、考えられるアンカーコンテキストを識別する。第２に、分類された注釈について、文書中で注釈が関連づけられる領域を識別する論理アンカーを生成し、文書のレイアウトおよび／または内容が変化した場合にその領域を回復することができるようにする。注釈をアンカリングすることは、文書が修正された後であっても文書の正しい領域に注釈が配置されることを保証する。第３に、文書のレイアウトが変化する場合に、処理されたデジタルインク注釈をリフローすなわち再レンダリングする。
【００５０】
図６は、図１、図２Ａおよび図２Ｂのデジタルインク注釈システム１００のデジタルインク注釈プロセスの動作を示す全体的流れ図である。本方法では、まず、デジタルインク注釈およびデジタル文書を入力する（ボックス６００）。次に、デジタルインク注釈を分類し、アンカーコンテキストを識別する（ボックス６１０）。この分類は、注釈特性およびデジタル文書中のコンテキスト情報に基づいて実行される。次に、デジタル文書中の領域または位置に注釈を堅固にアンカリングする（ボックス６２０）。このアンカリングは、注釈分類および識別されたアンカーコンテキストに基づく。最後に、デジタルインク注釈をデジタル文書の新しいレイアウトにリフローさせる（ボックス６３０）。このリフロープロセスは、注釈アンカーおよび注釈分類に基づく。
【００５１】
Ｖ．動作の詳細
図７は、図６のデジタルインク注釈プロセスのための分類プロセスの動作を示す詳細な流れ図である。本方法では、まず、すべての可能なやり方でデジタル文書上のインクストロークをグルーピングし、時間的および空間的近接性の制約に従ってプルーニングし、各グループについて、それが含むインクストロークの組合せが各注釈クラスの特性に適合する可能性を評価する（ボックス７００）。次に、各グルーピング／分類の組合せについて、最も可能性の高いアンカーコンテキストを判定する（ボックス７１０）。動的計画法下位問題解決テーブルに各グルーピング／分類／コンテキストアンカーの組合せの可能性を書き込む（ボックス７２０）。そして最後に、（プルーニングにより切り捨てられなかった）すべての下位問題を評価した後、下位問題解決テーブルを通覧して、全ストロークを説明し、重複するグループを含まず、かつ全グループの組み合わされた確率を最大化するインクストロークの最適な全体グルーピングを決定する（ボックス７３０）。
【００５２】
ユーザがデジタル文書をマークアップすると、プロセスはインクストロークをグルーピングすることにより、そのストロークがどのタイプの注釈を構成するかを画定する。例えば、注釈は、アンダーライン、サークル、コネクタ、マージンバー、またはマージンコメントであり得る。グルーピングは、人間がインクストロークをグルーピングして注釈を画定するのとほぼ同じ抽象化レベルおよび同じ精度で行われる。
【００５３】
インクストロークをグループにまとめることは、ストロークが作成された時間順序、もしくはストロークの空間配置、またはその両方の組合せのいずれに基づいてもよい。これは、グルーピング・分類アルゴリズムの動的計画法探索空間が時間的および空間的近接性の制約に基づいてプルーニングされるということを言い換えたものである。時間順序に依拠するのは高速かつ容易である。また、時間グルーピングは、ほとんどの注釈で使用されるインクストロークが順次生成されるという事実を活用する。しかし、ストロークが順不同で作成される時もある。例えば、ユーザが戻って「ｉ」の点を打ったり「ｔ」の横線を引いたりする時である。この場合、空間配置のほうがグルーピングのためのより良好な基準となる。
【００５４】
デジタルインク注釈は本来曖昧であり、不適当な分類により紛らわしい挙動となることがある。例えば、テキストを指す水平矢印が誤ってアンダーラインとして分類された場合、その矢印は、リフローが行われる時に複数行にまたがって分割されるかもしれない。したがって、一部の実施形態では、完全に自動化されたグルーピングおよび分類は実行できないかもしれない。これらの実施形態では、例えば、全体グルーピングに対する信頼度推定値がある一定のしきい値より小さい場合にはユーザの助けを求めるというような混成の手法が使用可能である。
【００５５】
図８Ａは、ユーザが文書上にデジタルインクストロークを作成することによってデジタル文書に注釈を付ける様子を示している。この場合、「how?」という語がマージンに書かれ、注釈によって参照されているテキストはサークルで囲まれている。図８Ｂは、注釈の手動のグルーピングおよび分類を示している。図８Ｃは、（注釈がグルーピングされ分類されたのが自動か手動かにかかわらず）デジタルインク注釈プロセスを用いた文書および注釈のリフローを示している。なお、図８Ｃにおけるリフローされた文書中の注釈は、図８Ａの原文書中の注釈と「合致」していることに留意すべきである。というのは、注釈は、それが文書中で属している場所に追従するように移動（すなわちリフロー）されているからである。
【００５６】
図９は、図６のデジタルインク注釈プロセスのための論理アンカリングプロセスの動作を示す詳細な流れ図である。論理アンカリングによれば、文書レイアウトが変化し、結果としてその注釈がリフローされる時に、注釈の当初の意味および意図が保持されることが保証される。例えば、注釈がアンダーラインとして分類されている場合、その注釈は、アンダーラインされているテキスト範囲の下にとどまらなければならない。このことは、注釈がアンカリングされているテキスト範囲がリフローされたかどうかに応じて、注釈を構成するインクストロークの分割または接合を必要とすることがある。他方、注釈が矢印コネクタとして分類されている場合には、当初その矢印が何を指していたか、および矢印がどこから出ていたかを維持しなければならない。しかしそれ以外の点では、矢印コネクタは、リフロー中に伸縮、回転および平行移動が可能である。
【００５７】
注釈のインクストロークがグルーピングされ、注釈が分類された後、分類された注釈は、その目的とする内容に論理的にアンカリングされなければならない。すなわち、注釈は、たとえ文書のレイアウト、フォーマット、または内容が変化しても注釈の意味および意図を回復することができるように、文書中でその注釈が属する領域または位置にアンカリングされなければならない。
【００５８】
紙の上にペンで付けられた注釈は、紙文書上の特定の位置に書き添えられる。しかし、デジタル文書中の物理的位置は、そのデジタル文書がリフローされると意味を失う。代わりに、注釈は、その周囲の論理的コンテキスト（例えば、注釈の近くのテキスト範囲）にアンカリングされなければならない。これは２つの理由で困難である。第１に、デジタルインク注釈は、どこにアンカリングされるべきかをはっきりと示さないことが多い。例えば、マージン中のコメントは、すぐ近くのテキストの範囲に関係しているかもしれないし、裏側のページのテキストの範囲に関係しているかもしれない。第２に、文書は、それが当初注釈された時と、注釈が表示される時との間に編集されているかもしれない。これにより、注釈のアンカーコンテキストを回復することがより困難になる。
【００５９】
堅固なアンカリングを達成する１つの方法として、文書内容の高度な自動分析を使用するものがある。こうした堅固なアンカリング技法は当技術分野で既知である。例えば、デジタルインク注釈プロセスとともに使用可能な堅固なアンカリング技法の１つが、A. J. Brush、D. Bargeron、A. GuptaおよびJ. J. Cadizによる「Robust Annotation Positioning in Digital Documents」と題する論文（Proceedings of CHI 2001, pp.285-292, ACM Press 2001）に見出される。しかし、自動技法は依然として誤りを生じる可能性があり、デジタルインク注釈プロセスは、与えられた注釈に対して、注釈のアンカーをその論理アンカーから回復することができない場合（例えば、論理アンカーが記述するアンカーコンテキストが文書から削除されている場合）に、アンカーを明示的に指定するようにユーザに求める備えも含む。
【００６０】
図９を参照すると、アンカリング方法は、まず、注釈されているデジタル文書からアンカー特徴を抽出する（ボックス９００）。次に、図７のグルーピング・分類プロセスによって生成されるインクストロークの各グループについて、グループの分類およびアンカーコンテキストに基づき、各注釈タイプのアンカリングルールのセットに従って、アンカー特徴を選択する（ボックス９１０）。これらの注釈タイプごとのルールについては以下でさらに詳細に説明する。最後に、各インクストロークグループに適当なアンカー特徴を割り当てることにより、完全にリフロー可能な注釈を形成する。すべての注釈が文書にアンカリングされた後は、注釈をリフローさせる準備ができているので、文書レイアウトが変化する場合、注釈が文書中で属している場所に追従することができ、注釈の視覚的意味を保持することができる。
【００６１】
図１０は、図６のデジタルインク注釈プロセスのためのリフロー分類プロセスの動作を示す詳細な流れ図である。原文書が変化した場合、リフロープロセスが注釈の分類および論理アンカーに基づいて注釈を再レンダリングすることにより、注釈が文書中で属している場所に「追従する」ようにする。例えば、センテンスがアンダーラインされており、そのセンテンスが存在するカラムが狭くなる場合、センテンスは、当初占めていたよりも多くの行にリフローされなければならないことがある。この場合、アンダーラインインク注釈を分割し、当初描かれていたよりも多くの行に表示しなければならない。もう１つの例として、パラグラフがサークルで囲まれ、それが存在するカラムが広くなる場合、そのパラグラフを囲むサークルインク注釈を横に引き伸ばし、縦には短くしなければならない。
【００６２】
リフロープロセスは、まず、デジタル文書の新しいレイアウトを判定する（ボックス１０００）。次に、新しいレイアウトに適合するようにデジタルインク注釈を変換する（ボックス１０１０）。最後に、新しい文書レイアウトにわたって、新たに変換されたデジタルインク注釈を再レンダリングする（ボックス１０２０）。
【００６３】
デジタルインク注釈プロセスは、「能動読み取り(active reading)」型のデジタルインク注釈の、最も一般的な６つのタイプすなわち分類を自動認識する。また、システムは、将来、より多くの注釈タイプ（例えば編集記号）を認識することができるように拡張可能である。自動認識される注釈のタイプとして、アンダーライン注釈、ハイライト注釈、欄外書き込みすなわち「マージンコメント」注釈、サークル注釈、マージン括弧注釈、およびコールアウトすなわち「コネクタ」注釈がある。これらの注釈分類のそれぞれに対する注釈特性、コンテキスト、およびアンカリングルールについて以下で説明する。
【００６４】
上記の原理を説明するため、デジタルインク注釈プロセスがどのように動作するかの一例として図１１Ａ〜図１１Ｇを提示する。図１１Ａ〜図１１Ｇにおいて、カラムＡは、デジタルインクストロークを用いたデジタル文書のユーザの注釈を表す。カラムＢは、新しい文書レイアウトにリフローされた注釈を表す。カラムＣは、整理モジュールによって定形化された「整理」注釈を表す。
【００６５】
アンダーライン注釈
図１１Ａを参照すると、アンダーライン注釈は、１つまたは複数のほぼ水平な直線状のインクストロークからなる。デジタル文書のコンテキストにおいて、アンダーライン注釈は通常、テキストの下、特に１つまたは複数の単語の下に見出される。
【００６６】
アンダーライン注釈内の各インクストロークは、それによりアンダーラインが引かれているテキスト範囲に個別にアンカリングされる。テキスト範囲内の単語およびそれらの順序は既知である。この情報を用いて、そのテキスト範囲が文書中でリフローされる場合にそのインクストロークをどのようにリフローさせるかを制御する。
【００６７】
リフロー中に、複数のストロークが同じテキスト行で互いに隣接した場合、それらを互いに融合させる。あるアンダーラインストロークが複数行にわたる場合、それを分割し、その各部分を、当初アンダーラインが引かれたコンテキストの下にとどまるように適切に移動する。
【００６８】
ハイライト注釈
図１１Ｂを参照すると、ハイライト注釈独自の特性として、ハイライトを構成するインクストロークは太く、インクは半透明であることを除いては、取消線に似ているということがある。それ以外の点では、ハイライト注釈はアンダーラインと同様に扱われる。すなわち、コンテキストはアンダーライン注釈と同様に判定される。ただし、ハイライトインクストロークは、（アンダーライン注釈の場合のようにテキスト行の下にあるのではなく）それがアンカリングされるべきテキスト範囲にほぼ重なる。また、ハイライト注釈に対するリフロールールもアンダーライン注釈と同様である。ただし、リフロー時に、インクストロークはテキスト範囲に重なり、インクは幅広く、半透明である。
【００６９】
欄外書き込み注釈
図１１Ｃを参照すると、欄外書き込みすなわちマージンコメント注釈は、デジタル文書のマージンまたは余白にあるが、コネクタではない任意のデジタルインクストロークとして定義される。欄外書き込みとしては、マージンまたは余白内の図、シンボル（例えば「！」や「＊」）、およびテキストがある。
【００７０】
欄外書き込み注釈をアンカリングするためのルールは、水平方向に隣接する文書の部分があればそれにアンカリングされるというものである。欄外書き込み注釈の境界ボックスの上端に対応する上端水平線と、欄外書き込み注釈の境界ボックスの下端に対応する下端水平線とを、欄外書き込み注釈が位置する場所から文書を横切って投射する。上端と下端の水平線の間の文書内容を、欄外書き込み注釈のアンカーコンテキストとみなす。
【００７１】
文書のレイアウトが変化する時、欄外書き込み注釈は、そのアンカーコンテキストの隣に引き続き垂直方向にセンタリングされるように、垂直方向に平行移動される。例えば、原デジタル文書中の欄外書き込み注釈が４行のテキストにアンカリングされていると仮定する。次に、デジタル文書のレイアウトが修正され、その４行のテキストが８行のテキストになるとする。この場合、アンカリングされている欄外書き込み注釈は、その８行のテキストに隣接して、垂直方向にセンタリングされる。
【００７２】
サークル注釈
図１１Ｄを参照すると、サークル注釈は、「インライン」サークルおよび「領域」サークルの２つのタイプに分けられる。インラインサークルは通常、単一テキスト行を囲み、領域サークルは通常、複数の部分テキスト行等の文書内容を囲む。インクストロークのグループは、それらのストロークが凹部のない形状をなす場合にある種のサークルとして認識することができ、サークルを形成するインクストロークのグループは、それらの可能性のあるアンカーコンテキストに応じてインラインサークルおよび領域サークルに区別することができる。例えば、サークルが１つのテキスト行を包囲する場合、そのサークルをインラインサークルとラベル付けすることができる。サークルが複数行にわたるテキストを包囲する場合、そのサークルを領域サークルとラベル付けすることができる。
【００７３】
いずれのタイプのサークルも、それが囲むテキスト等の文書内容にアンカリングされる。
【００７４】
リフロー中に、インラインサークル注釈タイプは通常、そのアンカーコンテキスト（例えばそれが囲むテキスト範囲）が複数行にわたって分割されるまでは、そのアンカーコンテキストに追従するように水平方向に平行移動される。このような分割が起こると、もとのアンカーコンテキストを構成する複数のテキスト部分が個別にサークルで囲まれるように、サークルがコピーされ、拡大縮小され、平行移動される。図１１Ｅを参照すると、領域サークル注釈は、そのアンカーコンテキストをサークルで囲み続けるように拡大縮小され、平行移動されるが、コピーはされない。
【００７５】
マージン括弧注釈
図１１Ｆを参照すると、マージン括弧注釈は、欄外書き込み注釈と類似している。インクストロークのグループは、文書内容の「近く」にある文書マージン内でほぼ垂直のラインをなす場合に、マージン括弧注釈として認識される。
【００７６】
欄外書き込み注釈がアンカリングされる方法と同様に、マージン括弧注釈は、水平方向に隣接する文書の部分があればそれにアンカリングされる。上端および下端の水平線を生成し、上端と下端の水平線の間の文書内容を、マージン括弧注釈のアンカーとみなす。
【００７７】
欄外書き込み注釈とは異なり、マージン括弧注釈がアンカリングされているテキスト範囲がリフローされる時、マージン括弧注釈は、垂直方向に平行移動し、かつ、それに応じて拡大縮小される。それによって括弧は見かけ上、引き続きアンカーコンテキスト全体にかかるように伸縮される。
【００７８】
コールアウトすなわちコネクタ注釈
図１１Ｇを参照すると、コールアウトすなわちコネクタ注釈は、ある位置から別の位置まで延びることによって領域どうしを結びつける注釈である。コールアウトすなわちコネクタ注釈を構成するインクストロークの特性の１つは、直線的でなく、ある程度の湾曲を有する場合があることである。もう１つの特性として、コールアウトすなわちコネクタ注釈は、水平および垂直方向とある角をなしていることがある。さらにもう１つの特性として、コールアウトすなわちコネクタ注釈の端部は、文書のテキストもしくは内容、他の注釈からのデジタルインクストローク、またはその両方に隣接していることがある。すなわち、コールアウトすなわちコネクタ注釈は、テキストまたは内容を、注釈または他のテキストもしくは内容と連結している。
【００７９】
コールアウトすなわちコネクタ注釈に対するアンカリングルールは、コールアウトの端点をアンカリングすることに基づく。各端点について、その端点に最も近い文書内容または他の自由形式デジタルインク注釈を、そのアンカーコンテキストとみなす。したがって、各コールアウトは、２個の独立の異なるアンカーコンテキストを有する。
【００８０】
リフロー中に、コールアウトは、各端点がそのアンカーコンテキストに対して引き続き固定されるように、平行移動、回転、および拡大縮小される。これは図１１Ｇに見ることができる。
【００８１】
ＶＩ．実施例
本明細書に開示されるデジタルインク注釈方法およびシステムをさらに十分に理解するため、一実施例の詳細を提示する。なお、この実施例は、本明細書に開示されるデジタルインク注釈プロセスおよびシステムが実施され得る単なる一形態に過ぎないことに留意すべきである。
【００８２】
ハードウェア
本実施例の場合、デジタルインク注釈方法は、Microsoft Windows（登録商標）XP Tablet PC Editionオペレーティングシステムが動作しているタブレットＰＣハードウェア上で動作するように実装された。このような種類のコンピュータは、ディスプレイ画面に統合されたペン入力デジタイザをサポートしているので、コンピュータはメモ帳のフォームファクタを模倣することができる。ユーザはスタイラスを用いてコンピュータと対話し、それにより、ユーザはカーソルを制御し、直接画面上に書き込むことができる。
【００８３】
ソフトウェア
本実施例では、本明細書に開示されるデジタルインク注釈プロセスおよびシステムは、Microsoft Internet Explorer（ＩＥ）用のプラグインとして組み込まれた。このプラグイン（コード名「Callisto」）は、ペンおよび蛍光ペン(highlighter)ツールを有するＩＥツールバーをサポートする。これらのツールにより、ユーザは、デジタルインクで任意のウェブページの任意の部分をマークすることができる。インクストロークは、ユーザのマシン上のローカルキャッシュ内に残る。図１２は、デジタル文書上のデジタル注釈の描画および分類を容易にする、デジタルインク注釈プロセスおよびシステムのツールバーを示している。
【００８４】
グルーピング、分類およびアンカリング
生のデジタルインクストロークをデジタル注釈にグルーピングおよび分類するために、Callistoで実現されるデジタルインク注釈プロセスおよびシステムでは、ユーザが自動グルーピング・分類、または手動グルーピング・分類を選択することが可能である。自動グルーピング・分類が選択される場合、Callistoソフトウェアは、ユーザのインクストロークのグルーピングおよび分類に関して自動決定を行い、上記のセクションＩＩＩ、ＩＶ、およびＶで詳細に説明したプロセスに従って、注釈アンカーを自動的に判定する。
【００８５】
手動グルーピング・分類が選択される場合、ユーザはまず、選択ツールを用いて、一緒にグルーピングしたいインクストロークを選択する。次に、ユーザは、所定の注釈タイプのリストから分類を選択する。再び図８Ｂを参照すると、ユーザは、所定の注釈のリストから注釈分類を手動で選択する。この注釈タイプのリストは、アンダーライン、ハイライト、欄外書き込み（例えばマージンコメントやシンボル）、サークル、マージンバー、およびコネクタを含む。これらの注釈タイプの１つを選択することにより、選択されたストロークのグループが文書中のコンテキストへの注釈として自動的にアンカリングされる。このアンカリングは、上記のセクションＶで概説したルールのセットを用いて実行される。
【００８６】
デジタル注釈のリフロー
グルーピング、分類およびアンカリングの後、ＩＥ文書ウィンドウがサイズ変更される時にはいつでも、デジタルインク注釈プロセスおよびシステムは、現在のページ上に注釈があれば自動的にリフローさせて、それらの注釈が上記のセクションＩＩＩ、ＩＶ、およびＶで概説したプロセスに従ってそれぞれのアンカーコンテキストに追従するようにする。
【００８７】
デジタル注釈の整理
ユーザの当初の描画スタイルを保持するためにデジタル注釈をリフローさせることに加えて、ＩＥ用のCallistoプラグインとして実現されたデジタルインク注釈プロセスおよびシステムは、上記のセクションＩＩＩで概説したプロセスに従ってデジタル注釈の形式化された「整理された」バージョンを描画することもできる。本実施例では、デジタルインク注釈プロセスおよびシステムは以下のように注釈を整理した。デジタルインク注釈プロセスおよびシステムにより、アンダーライン注釈は直線線分として、ハイライト注釈はアンカーテキストに重なる半透明の水平長方形として、サークルは隅の丸い長方形として、マージンバーはアンカーテキストの高さにわたる単純ベジエ曲線として、そしてコネクタはその端点アンカーコンテキスト間に延びる直線として、それぞれレンダリングされた。マージンコメントおよびシンボルは、解析されることはなく、ユーザがそれらを描いた通りに残された。というのは、それらは通常、きわめて多様であり、個々のスタイルがあるので、それらを満足できる形式化されたスタイルに変換するのは非常に困難だからである。
【００８８】
ＶＩＩ．例示的オペレーティング環境
本明細書に開示されるデジタルインク注釈プロセスおよびシステムは、コンピューティング環境で動作するように設計される。以下の説明は、本デジタルインク注釈プロセスおよびシステムが実施され得る好適なコンピューティング環境の簡単な概括的説明を提供することを意図している。
【００８９】
図１３は、本デジタルインク注釈プロセスおよびシステムが実施され得る好適なコンピューティングシステム環境１３００の一例を示している。コンピューティングシステム環境１３００は、好適なコンピューティング環境の一例に過ぎず、本発明の用途または機能の範囲に関するいかなる限定を示唆することも意図していない。また、コンピューティング環境１３００は、例示的オペレーティング環境１３００に示されるいかなるコンポーネントまたはその組合せに関するいかなる従属性または要件を有するとも解釈されてはならない。
【００９０】
本デジタルインク注釈プロセスおよびシステムは、他の多くの汎用または専用のコンピューティングシステムの環境または構成とともに動作する。本デジタルインク注釈プロセスおよびシステムとともに使用するのに適し得る周知のコンピューティングシステム、環境、および／または構成の例としては、以下のものに限定されないが、パーソナルコンピュータ、サーバコンピュータ、携帯電話やＰＤＡのようなハンドヘルド型、ラップトップ型またはモバイル型のコンピュータまたは通信装置、マルチプロセッサシステム、マイクロプロセッサ方式のシステム、セットトップボックス、プログラム可能な市販の電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたは装置のいずれかを含む分散コンピューティング環境等がある。
【００９１】
本デジタルインク注釈プロセスおよびシステムは、コンピュータにより実行されるプログラムモジュール等のコンピュータ実行可能命令との一般的関連で記述され得る。一般に、プログラムモジュールは、特定のタスクを実行し、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。本デジタルインク注釈プロセスおよびシステムは、通信ネットワークを通じてリンクされるリモート処理装置によりタスクが実行される分散コンピューティング環境で実施されてもよい。分散コンピューティング環境では、プログラムモジュールはメモリ記憶装置を含むローカルおよびリモートの両方のコンピュータ記憶媒体に配置されてもよい。図１３を参照すると、本デジタルインク注釈プロセスおよびシステムを実施するための例示的システムは、コンピュータ１３１０の形態の汎用コンピューティング装置を含む（コンピュータ１３１０は、図１に示されているコンピューティング装置１４０の一例である）。
【００９２】
コンピュータ１３１０のコンポーネントとしては、処理ユニット１３２０、システムメモリ１３３０、およびシステムメモリを含む種々のシステムコンポーネントを処理ユニット１３２０に結合するシステムバス１３２１があり得るが、これらには限定されない。システムバス１３２１は、さまざまなバスアーキテクチャのいずれかを使用するメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含む、いくつかのタイプのバス構造のいずれでもよい。例として、限定ではないが、このようなアーキテクチャとしては、Industry Standard Architecture（ＩＳＡ）バス、Micro Channel Architecture（ＭＣＡ）バス、Enhanced ISA（ＥＩＳＡ）バス、Video Electronics Standards Association（ＶＥＳＡ）ローカルバス、およびMezzanineバスとしても知られているPeripheral Component Interconnect（ＰＣＩ）バスがある。
【００９３】
コンピュータ１３１０は通常、さまざまなコンピュータ読取り可能な媒体を含む。コンピュータ読取り可能な媒体は、コンピュータ１３１０によりアクセス可能ないかなる利用可能な媒体であってもよく、揮発性および不揮発性媒体、リムーバブルおよび固定媒体の両方がある。例として、限定ではないが、コンピュータ読取り可能な媒体にはコンピュータ記憶媒体および通信媒体が含まれ得る。コンピュータ記憶媒体としては、コンピュータ読取り可能な命令、データ構造、プログラムモジュールまたは他のデータのような情報の格納のためのいかなる方法または技術で実現された揮発性および不揮発性、リムーバブルおよび固定媒体の両方がある。
【００９４】
コンピュータ記憶媒体には、以下のものに限定されないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ等のメモリ技術、ＣＤ−ＲＯＭ、ディジタル多用途ディスク（ＤＶＤ）等の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ等の磁気記憶装置、または所望の情報を格納するために使用可能でありコンピュータ１３１０によりアクセス可能ないかなる他の媒体も含まれる。通信媒体は通常、キャリア波等の変調データ信号または他のトランスポートメカニズムでコンピュータ読取り可能な命令、データ構造、プログラムモジュールまたは他のデータを具現化し、いかなる情報配信媒体も含む。
【００９５】
なお、「変調データ信号」という用語は、信号中に情報を符号化するように１つまたは複数の信号の特性が設定または変更された信号を意味する。例として、限定ではないが、通信媒体としては、有線ネットワークまたは直接有線接続のような有線媒体、および音響、ＲＦ、赤外線等の無線媒体のような無線媒体がある。上記のいずれかの組合せもまた、コンピュータ読取り可能な媒体の範囲内に含まれるべきである。
【００９６】
システムメモリ１３３０は、読み出し専用メモリ（ＲＯＭ）１３３１およびランダムアクセスメモリ（ＲＡＭ）１３３２のような揮発性および／または不揮発性メモリの形態のコンピュータ記憶媒体を含む。起動中等にコンピュータ１３１０内の要素間で情報を転送するのに役立つ基本ルーチンを含む基本入出力システム１３３３（ＢＩＯＳ）が通常ＲＯＭ１３３１に格納される。ＲＡＭ１３３２は通常、処理ユニット１３２０から直接アクセス可能な、および／または処理ユニット１３２０が現在作用しているデータおよび／またはプログラムモジュールを含む。例として、限定ではないが、図１３は、オペレーティングシステム１３３４、アプリケーションプログラム１３３５、他のプログラムモジュール１３３６、およびプログラムデータ１３３７を示している。
【００９７】
コンピュータ１３１０はまた、他のリムーバブル／固定、揮発性／不揮発性のコンピュータ記憶媒体を含んでもよい。単なる例として、図１３は、固定不揮発性磁気媒体の読み書きを行うハードディスクドライブ１３４１、リムーバブル不揮発性磁気ディスク１３５２の読み書きを行う磁気ディスクドライブ１３５１、およびＣＤ−ＲＯＭ等の光媒体のようなリムーバブル不揮発性光ディスク１３５６の読み書きを行う光ディスクドライブ１３５５を示している。
【００９８】
例示的なオペレーティング環境で使用可能な他のリムーバブル／固定、揮発性／不揮発性のコンピュータ記憶媒体としては、以下のものには限定されないが、磁気テープカセット、フラッシュメモリカード、ディジタル多用途ディスク、ディジタルビデオテープ、固体ＲＡＭ、固体ＲＯＭ等がある。ハードディスクドライブ１３４１は通常、インタフェース１３４０のような固定メモリインタフェースを通じてシステムバス１３２１に接続され、磁気ディスクドライブ１３５１および光ディスクドライブ１３５５は通常、インタフェース１３５０のようなリムーバブルメモリインタフェースによりシステムバス１３２１に接続される。
【００９９】
前述し図１３に示したドライブおよびそれらに関連するコンピュータ記憶媒体は、コンピュータ１３１０のためのコンピュータ読取り可能な命令、データ構造、プログラムモジュールおよび他のデータの格納を行う。例えば図１３において、ハードディスクドライブ１３４１は、オペレーティングシステム１３４４、アプリケーションプログラム１３４５、他のプログラムモジュール１３４６、およびプログラムデータ１３４７を格納するように示されている。なお、これらのコンポーネントは、オペレーティングシステム１３３４、アプリケーションプログラム１３３５、他のプログラムモジュール１３３６、およびプログラムデータ１３３７と同じでも異なってもよいことに留意されたい。オペレーティングシステム１３４４、アプリケーションプログラム１３４５、他のプログラムモジュール１３４６、およびプログラムデータ１３４７は、少なくともそれらが別のコピーであることを示すためにここでは異なる番号が与えられている。ユーザは、キーボード１３６２、およびマウス、トラックボールまたはタッチパッドと一般的に呼ばれるポインティングデバイス１３６１のような入力装置を通じてコンピュータ１３１０にコマンドおよび情報を入力することができる。
【０１００】
他の入力装置（図示せず）としては、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナ、無線受信機、またはテレビもしくは放送ビデオ受信機等があり得る。これらおよび他の入力装置は、システムバス１３２１に結合したユーザ入力インタフェース１３６０を通じて処理ユニット１３２０に接続されることが多いが、例えばパラレルポート、ゲームポートまたはユニバーサルシリアルバス（ＵＳＢ）のような他のインタフェースおよびバス構造により接続されてもよい。モニタ１３９１または他のタイプのディスプレイ装置もまた、ビデオインタフェース１３９０のようなインタフェースを通じてシステムバス１３２１に接続される。モニタに加えて、コンピュータはスピーカ１３９７およびプリンタ１３９６のような他の周辺出力装置を含んでもよく、これらは出力周辺インタフェース１３９５を通じて接続され得る。
【０１０１】
コンピュータ１３１０は、リモートコンピュータ１３８０のような１つまたは複数のリモートコンピュータへの論理接続を用いたネットワーク環境で動作し得る。リモートコンピュータ１３８０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア装置または他の普通のネットワークノードであってよく、通常、コンピュータ１３１０に関して前述した要素の多くまたはすべてを含む。ただし、図１３にはメモリ記憶装置１３８１のみが示されている。図１３に示す論理接続は、ローカルエリアネットワーク（ＬＡＮ）１３７１および広域ネットワーク（ＷＡＮ）１３７３を含むが、他のネットワークを含んでもよい。このようなネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネットおよびインターネットで一般的である。
【０１０２】
ＬＡＮネットワーキング環境で使用される場合、コンピュータ１３１０はネットワークインタフェースまたはアダプタ１３７０を通じてＬＡＮ１３７１に接続される。ＷＡＮネットワーキング環境で使用される場合、コンピュータ１３１０は通常、インターネットのようなＷＡＮ１３７３を通じて通信を確立するためのモデム１３７２等の機器を含む。モデム１３７２は、内蔵でも外付けでもよいが、ユーザ入力インタフェース１３６０等の適当なメカニズムを通じてシステムバス１３２１に接続され得る。ネットワーク環境では、コンピュータ１３１０に関して図示したプログラムモジュールまたはその部分は、リモートメモリ記憶装置に格納されてもよい。例として、限定ではないが、図１３は、リモートアプリケーションプログラム１３８５がメモリ装置１３８１上に存在するように示している。理解されるように、図示したネットワーク接続は例示であり、コンピュータ間に通信リンクを確立する他の手段を使用してもよい。
【０１０３】
本発明についての以上の記載は、例示および説明の目的で提示されており、網羅的であることや、開示された通りの形態に本発明を限定することは意図していない。上記の教示に照らして多くの変更および変形が可能である。本発明の範囲は、本発明のこの詳細な説明によってではなく、添付の特許請求の範囲によって限定されると解釈される。
【図面の簡単な説明】
【０１０４】
【図１】本明細書に開示されるデジタルインク注釈システムおよびプロセスを組み込んだ注釈環境を示すブロック図である。
【図２Ａ】注釈のグルーピング、分類およびアンカリングの実行中における図１のデジタルインク注釈システムの例示的な実施態様の詳細を示すブロック図である。
【図２Ｂ】注釈のリフロー中における図１のデジタルインク注釈システム１００の例示的な実施態様の詳細を示すブロック図である。
【図３】図２Ａの分類モジュールの例示的な実施態様の詳細を示すブロック図である。
【図４】図２Ａのアンカリングモジュールの例示的な実施態様の詳細を示すブロック図である。
【図５】図２Ｂのリフローモジュールの例示的な実施態様の詳細を示すブロック図である。
【図６】図１、図２Ａおよび図２Ｂのデジタルインク注釈システムのデジタルインク注釈プロセスの動作を示す全体的流れ図である。
【図７】図６のデジタルインク注釈プロセスのための分類プロセスの動作を示す詳細な流れ図である。
【図８Ａ】ユーザが文書上にデジタルインクストロークを作成することによってデジタル文書に注釈を付ける様子を示す図である。
【図８Ｂ】注釈の手動のグルーピングおよび分類を示す図である。
【図８Ｃ】デジタルインク注釈プロセスを用いた文書および注釈のリフローを示す図である。
【図９】図６のデジタルインク注釈プロセスのためのアンカリング分類プロセスの動作を示す詳細な流れ図である。
【図１０】図６のデジタルインク注釈プロセスのためのリフロー分類プロセスの動作を示す詳細な流れ図である。
【図１１Ａ】アンダーライン注釈のデジタルインク注釈処理を示す図である。
【図１１Ｂ】ハイライト注釈のデジタルインク注釈処理を示す図である。
【図１１Ｃ】欄外書き込み注釈のデジタルインク注釈処理を示す図である。
【図１１Ｄ】インラインサークル注釈のデジタルインク注釈処理を示す図である。
【図１１Ｅ】領域サークル注釈のデジタルインク注釈処理を示す図である。
【図１１Ｆ】マージン括弧注釈のデジタルインク注釈処理を示す図である。
【図１１Ｇ】コネクタ注釈のデジタルインク注釈処理を示す図である。
【図１２】デジタルインク注釈プロセスおよびシステムの一実施例のツールバーを示す図である。
【図１３】図１のデジタルインク注釈プロセスおよびシステムを実施することが可能な好適なコンピューティングシステム環境の一例を示す図である。
【符号の説明】
【０１０５】
１００  デジタルインク注釈システム
１１０  注釈環境
１２０  ユーザ
１３０  適切にフローされた注釈付きのデジタル文書
１３５  修正された注釈付きデジタル文書
１４０  コンピューティング装置
１５０  ユーザインタフェース
１６０  デジタル文書
１７０  ユーザ注釈
２００  分類モジュール
２１０  アンカリングモジュール
２３０  グルーピング・分類・アンカーコンテキストの組合せ
２４０  外部修正プロセス
２５０  リフローモジュール
２６０  整理モジュール
２７０  新しい適切にフローされた注釈付きのデジタル文書
２８０  フィードバックユーザインタフェース
３００  インクストローク特徴抽出モジュール
３１０  グルーピング・分類モジュール
３２０  時間プルーニングモジュール
３３０  空間プルーニングモジュール
３４０  アンカーコンテキスト識別モジュール
３５０  手動グルーピング・分類・アンカー識別モジュール
４００  注釈アンカリングルール
４１０  コンテキスト特徴抽出モジュール
４２０  論理アンカージェネレータモジュール
５００  レイアウト判定モジュール
５１０  注釈変換モジュール
５２０  再レンダリングモジュール
１３００  オペレーティング環境
１３１０  コンピュータ
１３２０  処理ユニット
１３２１  システムバス
１３３０  システムメモリ
１３３１  読み出し専用メモリ（ＲＯＭ）
１３３２  ランダムアクセスメモリ（ＲＡＭ）
１３３３  基本入出力システム（ＢＩＯＳ）
１３３４  オペレーティングシステム
１３３５  アプリケーションプログラム
１３３６  他のプログラムモジュール
１３３７  プログラムデータ
１３４０  固定メモリインタフェース
１３４１  ハードディスクドライブ
１３４４  オペレーティングシステム
１３４５  アプリケーションプログラム
１３４６  他のプログラムモジュール
１３４７  プログラムデータ
１３５０  リムーバブルメモリインタフェース
１３５１  磁気ディスクドライブ
１３５２  磁気ディスク
１３５５  光ディスクドライブ
１３５６  光ディスク
１３６０  ユーザ入力インタフェース
１３６１  ポインティング装置
１３６２  キーボード
１３７０  ネットワークインタフェース
１３７１  ローカルエリアネットワーク（ＬＡＮ）
１３７２  モデム
１３７３  広域ネットワーク（ＷＡＮ）
１３８０  リモートコンピュータ
１３８１  メモリ記憶装置
１３８５  リモートアプリケーションプログラム
１３９０  ビデオインタフェース
１３９１  モニタ
１３９５  出力周辺インタフェース
１３９６  プリンタ
１３９７  スピーカ
【図１】
2005004774.tif 000003
【図２Ａ】
2005004774.tif 000004
【図２Ｂ】
2005004774.tif 000005
【図３】
2005004774.tif 000006
【図４】
2005004774.tif 000007
【図５】
2005004774.tif 000008
【図６】
2005004774.tif 000009
【図７】
2005004774.tif 000010
【図８Ａ】
2005004774.tif 000011
【図８Ｂ】
2005004774.tif 000012
【図８Ｃ】
2005004774.tif 000013
【図９】
2005004774.tif 000014
【図１０】
2005004774.tif 000015
【図１１Ａ】
2005004774.tif 000016
【図１１Ｂ】
2005004774.tif 000017
【図１１Ｃ】
2005004774.tif 000018
【図１１Ｄ】
2005004774.tif 000019
【図１１Ｅ】
2005004774.tif 000020
【図１１Ｆ】
2005004774.tif 000021
【図１１Ｇ】
2005004774.tif 000022
【図１２】
2005004774.tif 000023
【図１３】
2005004774.tif 000024
【外国語明細書】
2005004774000001.pdf