(57)【要約】【課題】  フレキシブルで、確実に、体裁よくデジタル・ドキュメントにフリーフォーム注釈を付けるようにデザインされたフリーフォーム注釈技術を提供する。【解決手段】  本発明のフリーフォーム注釈を支援する方法は、デジタル・ドキュメントの一部を読み込み、画面の一以上の表示特性に基づいて、該画面に該デジタル・ドキュメントの一部を表示し、一以上の入力装置を介して、表示された前記デジタル・ドキュメントの一部に、一以上のフリーフォーム注釈を受け入れ、完全に決定的な状態マシンを介して、前記一以上のフリーフォーム注釈を処理する。【選択図】    図１
2005228339.tif 000002
【特許請求の範囲】
【請求項１】
（ａ）デジタル・ドキュメントの一部を読み込み、画面の一以上の表示特性に基づいて、該画面に該デジタル・ドキュメントの一部を表示し、
（ｂ）一以上の入力装置を介して、表示された前記デジタル・ドキュメントの一部に、一以上のフリーフォーム注釈を受け入れ、
（ｃ）完全に決定的な状態マシンを介して、前記一以上のフリーフォーム注釈を処理する、
フリーフォーム注釈を支援する方法。
【請求項２】
一以上の情報処理装置において実行され、
一以上の前記情報処理装置の一の情報処理装置は、ＰＤＡ、タブレットＰＣ、ポケットＰＣ、携帯電話、電子メッセージ装置、ジャバ（Ｊａｖａ（登録商標））対応装置、ラップトップＰＣ、デスクトップＰＣ、ワークステーション、及び、メインフレーム・コンピュータの何れかである、
請求項１に記載のフリーフォーム注釈を支援する方法。
【請求項３】
Ｃ、Ｃ＋＋、ビジュアル・ベーシック（Ｖｉｓｕａｌ  Ｂａｓｉｃ）、ジャバ（Ｊａｖａ（登録商標））、及びジャバ・アプレット（Ｊａｖａ（登録商標）  Ａｐｐｌｅｔ）の一以上のプログラム言語により実現される、請求項１に記載のフリーフォーム注釈を支援する方法。
【請求項４】
前記デジタル・ドキュメントは、テキスト・ファイル、画像、図、描画、グラフ、ピクチャ、及びビデオ・クリップの少なくとも一を含む、請求項１に記載のフリーフォーム注釈を支援する方法。
【請求項５】
前記画面の一以上の表示特性の一は、テキスト・フォント、フォント・サイズ、テキスト・カラー、表示幅、表示高さ、及び前記画面の解像度の一に関連する、請求項１に記載のフリーフォーム注釈を支援する方法。
【請求項６】
一以上の前記フリーフォーム注釈の一のフリーフォーム注釈は、ストローク、ジェスチュア、及び任意形状の手書きの一以上である、請求項１に記載のフリーフォーム注釈を支援する方法。
【請求項７】
一以上の前記入力装置の一の入力装置が、キーボード、マウス及びスタイラスの一である、請求項１に記載のフリーフォーム注釈を支援する方法。
【請求項８】
メモリ及び／又は持続記憶装置に前記デジタル・ドキュメントを記憶する、ことをさらに含む、請求項１に記載のフリーフォーム注釈を支援する方法。
【請求項９】
（ａ）が、
マイクロソフト・インターネット・エクスプローラ（Ｍｉｃｒｏｓｏｆｔ  Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ）のコントロールを使用し、
前記デジタル・ドキュメントの境界ボックスを得るために、ドキュメント・オブジェクト・モデル（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）にアクセスする、
ことを含む、
請求項１に記載のフリーフォーム注釈を支援する方法。
【請求項１０】
一以上の前記フリーフォーム注釈を入力するための領域を前記画面に確保する、ことをさらに含む、請求項１に記載のフリーフォーム注釈を支援する方法。
【請求項１１】
作成、選択、変更、移動、削除、レンダリング、及び表示の少なくとも一を実行し、前記表示コンポーネントの一以上の前記表示特性に基づいて、一以上の注釈マークの一を該表示コンポーネントに表示する、ことによって、前記デジタル・ドキュメントの表示された前記一部の一以上の注釈マークを制御する、ことをさらに含む、請求項１に記載のフリーフォーム注釈を支援する方法。
【請求項１２】
一以上の前記注釈マークの一の注釈マークが、
前記デジタル・ドキュメントの一部の部分と関連するアンカー、
少なくとも二つのアンカーを連結するリンク、及び
アンカー又はコネクタの何れかと関連するコメント、
の一である、請求項１１に記載のフリーフォーム注釈を支援する方法。
【請求項１３】
前記アンカーが、アンダーライン、ハイライト、囲まれた語句、囲まれた領域、括弧、及びマージン・バーの一であり、
前記リンクが矢印及びコネクタの一である、
請求項１２に記載のフリーフォーム注釈を支援する方法。
【請求項１４】
一以上の前記注釈マークをメモリ及び／又は持続記憶装置に記憶すること、をさらに含む、請求項１１に記載のフリーフォーム注釈を支援する方法。
【請求項１５】
前記選択、移動、変更、及び削除を実行することが、一以上の前記入力装置の一の入力装置を前記注釈マーク上でタップ、ホールド、及びリフトする、ことを含む、請求項１１に記載のフリーフォーム注釈を支援する方法。
【請求項１６】
前記レンダリングを実行することが、
前記注釈マークの境界ボックスをリトリーブすること、
前記注釈マークのサイズ変更及び／又は分割を行うこと、
表示中の前記デジタル・ドキュメントの前記一部の前記注釈マークを位置変更すること、
の少なくとも一を含む、請求項１１に記載のフリーフォーム注釈を支援する方法。
【請求項１７】
前記コメントをレンダリングするための領域を前記画面上に確保すること、及び／又は、
一以上の表示特性の一に基づいて、前記コメントのサイズ変更及び／又は位置変更を行うこと、
をさらに含む、請求項１２に記載のフリーフォーム注釈を支援する方法。
【請求項１８】
一以上のフリーフォーム注釈の一を認識することによって、前記コメントの始まりを識別することをさらに含み、
前記フリーフォーム注釈は、
表示中の前記デジタル・ドキュメントのブランク領域でスタートし、及び／又は、
前記デジタル・ドキュメント上の任意の語句若しくは画像と交わらない、
請求項１２に記載のフリーフォーム注釈を支援する方法。
【請求項１９】
一以上の前記フリーフォーム注釈の一を認識することによって、前記コメントの終わりを識別することをさらに含み、
前記フリーフォーム注釈が、
ボタンを含む、前記画面上の所定領域におけるクリック、
前記コメントの周りを囲むジェスチュア、
前記コメントを抹消する（ストライク・スルー・）ジェスチュア、
前記画面の下部で跳ね返るストローク、
手書きにおいて一般的ではない特殊なジェスチュア、及び
前記コメントの左又は右に描かれる縦方向のストローク、
の一である、
請求項１２に記載のフリーフォーム注釈を支援する方法。
【請求項２０】
記憶コンポーネントと、表示コンポーネントと、処理コンポーネントと、を備え、
前記記憶コンポーネントが、デジタル・ドキュメントと一以上のソフトウェア・コンポーネントとを維持し、
前記表示コンポーネントが、
該表示コンポーネントの一以上の表示特性に基づいて、前記デジタル・ドキュメントの一部を表示し、
一以上の入力装置を介して前記デジタル・ドキュメントの表示された一部に一以上のフリーフォーム注釈を受け入れ、
前記処理コンポーネントが、完全に決定的な状態マシンを介して、一以上の前記フリーフォーム注釈を処理する、
フリーフォーム注釈を支援するシステム。
【請求項２１】
前記システムが一以上の情報処理装置の一部であり、
一以上の前記情報処理装置の一が、ＰＤＡ、タブレットＰＣ、ポケットＰＣ、携帯電話、電子メッセージ装置、ジャバ（Ｊａｖａ（登録商標））対応装置、ラップトップ若しくはデスクトップＰＣ、ワークステーション、及びメインフレーム・コンピュータの一である、
請求項２０に記載のフリーフォーム注釈を支援するシステム。
【請求項２２】
前記記憶コンポーネントが、メモリ又は持続記憶装置である、請求項２０に記載のシステム。
【請求項２３】
前記表示コンポーネントが、ＬＣＤ又はＣＲＴモニタを含む画面である、請求項２０に記載のフリーフォーム注釈を支援するシステム。
【請求項２４】
前記処理コンポーネントが、ＣＰＵ、組込ＣＰＵ、又はＭＣＵである、請求項２０に記載のフリーフォーム注釈を支援するシステム。
【請求項２５】
前記デジタル・ドキュメントが、テキスト・ファイル、画像、図、描画、グラフ、ピクチャ、及びビデオ・クリップの少なくとも一を含む、請求項２０に記載のフリーフォーム注釈を支援するシステム。
【請求項２６】
一以上の前記ソフトウェア・コンポーネントの一が、Ｃ、Ｃ＋＋、ビジュアル・ベーシック（Ｖｉｓｕａｌ  Ｂａｓｉｃ）、ジャバ（Ｊａｖａ（登録商標））、及びジャバ・アプレット（Ｊａｖａ（登録商標）  Ａｐｐｌｅｔ）の一以上のプログラム言語により実現される、請求項２０に記載のフリーフォーム注釈を支援するシステム。
【請求項２７】
前記表示コンポーネントの一以上の前記表示特性の一が、テキスト・フォント、フォント・サイズ、テキスト・カラー、表示デバイスの表示幅、表示高さ、及び解像度の一に関連する、請求項２０に記載のフリーフォーム注釈を支援するシステム。
【請求項２８】
一以上の前記入力装置の一が、キーボード、マウス及びスタイラスの一である、請求項２０に記載のフリーフォーム注釈を支援するシステム。
【請求項２９】
一以上の前記フリーフォーム注釈の一が、ストローク、ジェスチュア、及び任意形状の手書きの一以上である、請求項２０に記載のフリーフォーム注釈を支援するシステム。
【請求項３０】
前記表示コンポーネントは、さらに、
マイクロソフト・インターネット・エクスプローラ（Ｍｉｃｒｏｓｏｆｔ  Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ）のコントロールを利用し、
前記デジタル・ドキュメントの境界ボックスを得るために、ドキュメント・オブジェクト・モデル（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）にアクセスする、
請求項２０に記載のフリーフォーム注釈を支援するシステム。
【請求項３１】
前記表示コンポーネントが、さらに、一以上の前記フリーフォーム注釈を入力するための領域を前記画面上に確保する、請求項２０に記載のフリーフォーム注釈を支援するシステム。
【請求項３２】
前記処理コンポーネントが、さらに、
作成、選択、変更、移動、削除、レンダリング、及び表示の少なくとも一を実行し、前記表示コンポーネントの一以上の前記表示特性に基づいて、一以上の注釈マークの一を該表示コンポーネントに表示する、ことによって、前記デジタル・ドキュメントの表示された前記一部の一以上の注釈マークを制御する、
請求項２０に記載のフリーフォーム注釈を支援するシステム。
【請求項３３】
一以上の前記注釈マークの一が、
前記デジタル・ドキュメントの一部の部分と関連するアンカー、
少なくとも二のアンカーを連結するリンク、及び
アンカー又はコネクタの何れかと関連するコメント、
の一である、請求項３２に記載のフリーフォーム注釈を支援するシステム。
【請求項３４】
前記アンカーが、アンダーライン、ハイライト、囲まれた語句、囲まれた領域、括弧、及びマージン・バーの一であり、
前記リンクが矢印及びコネクタの一である、
請求項３３に記載のフリーフォーム注釈を支援するシステム。
【請求項３５】
前記記憶コンポーネントが、一以上の前記注釈マークを維持する、請求項３２に記載のフリーフォーム注釈を支援するシステム。
【請求項３６】
前記処理コンポーネントは、さらに、前記注釈マーク上で一以上の前記入力装置の一をタップ、ホールド、及びリフトすることによって、該注釈マークの選択、移動、変更、及び削除の少なくとも一を実行する、請求項３２に記載のフリーフォーム注釈を支援するシステム。
【請求項３７】
前記処理コンポーネントは、さらに、
前記注釈マークの境界ボックスをリトリーブすること、
前記注釈マークのサイズ変更及び／又は分割を行うこと、
表示中の前記デジタル・ドキュメントの前記一部の前記注釈マークを位置変更すること、
の少なくとも一により、前記注釈マークをレンダリングする、
請求項３２に記載のフリーフォーム注釈を支援するシステム。
【請求項３８】
前記処理コンポーネントは、さらに、
前記コメントをレンダリングする領域を前記画面上に確保すること、及び／又は、
一以上の前記表示特性の一に基づいて、前記コメントのサイズ変更及び／又は位置変更を行うこと、
によって、前記コメントをレンダリングする、
請求項３３に記載のフリーフォーム注釈を支援するシステム。
【請求項３９】
前記処理コンポーネントは、さらに、一以上の前記フリーフォーム注釈の一を認識することによって前記コメントの始まりを識別し、
前記フリーフォーム注釈が、
表示中の前記デジタル・ドキュメントのブランク領域でスタートし、及び／又は、
前記デジタル・ドキュメント上の任意の語句や画像と交わらない、
請求項３３に記載のフリーフォーム注釈を支援するシステム。
【請求項４０】
前記処理コンポーネントは、さらに、一以上の前記フリーフォーム注釈の一を認識することによって、前記コメントの終わりを識別し、
前記フリーフォーム注釈が、
ボタンを含む、前記画面上の所定領域のクリック、
前記コメントの周りを囲むジェスチュア、
前記コメントを抹消する（ストライク・スルー・）ジェスチュア、
前記画面の下部で跳ね返るストローク、
手書きにおいて一般的ではない特殊なジェスチュア、
前記コメントの左又は右に描かれる縦方向のストローク、
の一である、
請求項３３に記載のフリーフォーム注釈を支援するシステム。
【請求項４１】
デジタル・ドキュメントの一部を読み込み、画面の一以上の表示特性に基づいて、該画面に該デジタル・ドキュメントの一部を表示するステップと、
一以上の入力装置を介して、表示された前記デジタル・ドキュメントの一部に、一以上のフリーフォーム注釈を受け入れるステップと、
完全に決定的な状態マシンを介して、一以上の前記フリーフォーム注釈を処理するステップと、
を、システムに実行させるフリーフォーム注釈を支援するプログラム。
【請求項４２】
一以上の情報処理装置に組み込まれ、及び、一以上の情報処理装置において稼動され、
一以上の前記情報処理装置の一の情報処理装置は、ＰＤＡ、タブレットＰＣ、ポケットＰＣ、携帯電話、電子メッセージ装置、ジャバ（Ｊａｖａ（登録商標））対応装置、ラップトップＰＣ、デスクトップＰＣ、ワークステーション、及び、メインフレーム・コンピュータの何れかである、
請求項４１に記載のフリーフォーム注釈を支援するプログラム。
【請求項４３】
Ｃ、Ｃ＋＋、ビジュアル・ベーシック（Ｖｉｓｕａｌ  Ｂａｓｉｃ）、ジャバ（Ｊａｖａ（登録商標））、及びジャバ・アプレット（Ｊａｖａ（登録商標）  Ａｐｐｌｅｔ）の一以上のプログラム言語により実現される、請求項４１に記載のフリーフォーム注釈を支援するプログラム。
【請求項４４】
前記デジタル・ドキュメントは、テキスト・ファイル、画像、図、描画、グラフ、ピクチャ、及びビデオ・クリップの少なくとも一を含む、請求項４１に記載のフリーフォーム注釈を支援するプログラム。
【請求項４５】
前記画面の一以上の表示特性の一は、テキスト・フォント、フォント・サイズ、テキスト・カラー、表示幅、表示高さ、及び前記画面の解像度の一に関連する、請求項４１に記載のフリーフォーム注釈を支援するプログラム。
【請求項４６】
一以上の前記フリーフォーム注釈の一のフリーフォーム注釈は、ストローク、ジェスチュア、及び任意形状の手書きの一以上である、請求項４１に記載のフリーフォーム注釈を支援するプログラム。
【請求項４７】
一以上の前記入力装置の一の入力装置が、キーボード、マウス及びスタイラスの一である、請求項４１に記載のフリーフォーム注釈を支援するプログラム。
【請求項４８】
メモリ及び／又は持続記憶装置に前記デジタル・ドキュメントを記憶するステップ、をさらに含む、請求項４１に記載のフリーフォーム注釈を支援するプログラム。
【請求項４９】
前記デジタル・ドキュメントを読み込むために、マイクロソフト・インターネット・エクスプローラ（Ｍｉｃｒｏｓｏｆｔ  Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ）のコントロールを使用するステップと、
一以上の前記表示特性を得るために、ドキュメント・オブジェクト・モデル（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）にアクセスするステップと、
をさらに含む、請求項４１に記載のフリーフォーム注釈を支援するプログラム。
【請求項５０】
一以上の前記フリーフォーム注釈を入力するための領域を前記画面に確保するステップ、をさらに含む、請求項４１に記載のフリーフォーム注釈を支援するプログラム。
【請求項５１】
作成、選択、変更、移動、削除、レンダリング、及び表示の少なくとも一を実行し、前記表示コンポーネントの一以上の前記表示特性に基づいて、一以上の注釈マークの一を該表示コンポーネントに表示する、ことによって、前記デジタル・ドキュメントの表示された前記一部の一以上の注釈マークを制御するステップ、をさらに含む、請求項４１に記載のフリーフォーム注釈を支援するプログラム。
【請求項５２】
一以上の前記注釈マークの一の注釈マークが、
前記デジタル・ドキュメントの一部の部分と関連するアンカー、
少なくとも二つのアンカーを連結するリンク、及び
アンカー又はコネクタの何れかと関連するコメント、
の一である、請求項５１に記載のフリーフォーム注釈を支援するプログラム。
【請求項５３】
前記アンカーが、アンダーライン、ハイライト、囲まれた語句、囲まれた領域、括弧、及びマージン・バーの一であり、
前記リンクが矢印及びコネクタの一である、
請求項５２に記載のフリーフォーム注釈を支援するプログラム。
【請求項５４】
一以上の前記注釈マークをメモリ及び／又は持続記憶装置に記憶するステップ、をさらに含む、請求項５１に記載のフリーフォーム注釈を支援するプログラム。
【請求項５５】
前記選択、移動、変更、及び削除の一は、一以上の前記入力装置の一の入力装置を前記注釈マーク上でタップ、ホールド、及びリフトすることにより、実行される、請求項５１に記載のフリーフォーム注釈を支援するプログラム。
【請求項５６】
前記注釈マークの境界ボックスをリトリーブすること、
前記注釈マークのサイズ変更及び／又は分割を行うこと、
表示中の前記デジタル・ドキュメントの前記一部の前記注釈マークを位置変更すること、
の少なくとも一により、前記注釈マークのレンダリングを実行する、
請求項５１に記載のフリーフォーム注釈を支援するプログラム。
【請求項５７】
前記コメントをレンダリングするための領域を前記画面上に確保すること、及び／又は、
一以上の表示特性の一に基づいて、前記コメントのサイズ変更及び／又は位置変更を行うこと、
をさらに含む、請求項５２に記載のフリーフォーム注釈を支援するプログラム。
【請求項５８】
一以上のフリーフォーム注釈の一を認識することによって、前記コメントの始まりを識別するステップをさらに含み、
前記フリーフォーム注釈は、
表示中の前記デジタル・ドキュメントのブランク領域でスタートし、及び／又は、
前記デジタル・ドキュメント上の任意の語句若しくは画像と交わらない、
請求項５２に記載のフリーフォーム注釈を支援するプログラム。
【請求項５９】
一以上の前記フリーフォーム注釈の一を認識することによって、前記コメントの終わりを識別するステップをさらに含み、
前記フリーフォーム注釈が、
ボタンを含む、前記画面上の所定領域におけるクリック、
前記コメントの周りを囲むジェスチュア、
前記コメントを抹消する（ストライク・スルー・）ジェスチュア、
前記画面の下部で跳ね返るストローク、
手書きにおいて一般的ではない特殊なジェスチュア、及び
前記コメントの左又は右に描かれる縦方向のストローク、
の一である、
請求項５２に記載のフリーフォーム注釈を支援するプログラム。
【請求項６０】
デジタル・ドキュメントの一部を読み込み、画面の一以上の表示特性に基づいて、該画面に該デジタル・ドキュメントの一部を表示する手段と、
一以上の入力装置を介して、表示された前記デジタル・ドキュメントの一部に、一以上のフリーフォーム注釈を受け入れる手段と、
完全に決定的な状態マシンを介して、前記一以上のフリーフォーム注釈を処理する手段と、
を備えるフリーフォーム注釈を支援するシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フリーフォーム（自由形態の）注釈の入力、処理、及び表示に関する。詳細には、フリーフォーム注釈を支援する方法、システム、及び、プログラムに関する。
【背景技術】
【０００２】
フリーフォーム注釈は、対応する入力装置を用いて、情報処理装置にユーザが入力できる任意形状のインク・ベースのストローク、ジェスチュア、又は手書きであり、入力装置は、限定はされないが、マウス、キーボード、スタイラスなどであってもよい。ここで、情報処理装置は、限定はされないが、ＰＤＡ、タブレットＰＣ、ポケットＰＣ、携帯電話、電子メッセージ・デバイス、Ｊａｖａ（登録商標）対応デバイス、ラップトップ又はデスクトップＰＣ、ワークステーション、メインフレーム・コンピュータなどであってもよい。情報処理装置内部の処理ユニットは、ＣＰＵ、組込ＣＰＵ、又はマイクロ・コントロール・ユニット（Ｍｉｃｒｏ Ｃｏｎｔｒｏｌ Ｕｎｉｔ：ＭＣＵ）であってもよい。用紙上で行われる時のように自然注釈を支援しないテキスト・ベースの注釈システムとは異なり、フリーフォーム注釈システムは、ＰＤＡ、ポケットＰＣ、携帯電話などの携帯用情報処理装置に特に重要なデジタル・ドキュメントに注釈付けするための自然な方法を提供できることから、研究が続けられてきた。デジタル・ドキュメントは、メモリ又は情報処理装置に対応する持続記憶装置（例えば、ハード・ディスク・ドライブ）に記憶することができ、テキスト・ファイル、画像、図、レンダリング、グラフ、ピクチャ、及びビデオ・クリップの少なくとも一つを含むことができる。
【０００３】
フリーフォーム注釈システムに対する従来のアプローチには二つの大きな欠点がある。第一に、これらのアプローチは認識され得る注釈の種類を限定する場合が多く、注釈を正確に認識させるために注釈を入力する方法も制限するので、注釈をつけることが実際には「フリーフォーム」ではなかった、ことである。例えば、表示されたデジタル・ドキュメントの部分間リンクがしばしば認識されないなどがあげられる。第二に、個々の注釈を種々のカテゴリへ自動的にグループ化するためにヒューリスティック技術に依存する場合が多く、これらのヒューリスティックな性質によって、これらの技術は安定しなかった、ことである。
【０００４】
この状況は、デジタル・ドキュメントが異なる表示装置上で視認された時あるいはユーザがいろいろなフォント・サイズを選んだ時に一層複雑化し、適切にレンダリングするために使用される特定の表示装置の表示特性に応じて、ドキュメント上の注釈が位置変更されたりサイズ変更されたりすることが必要とされた。ここで、表示装置は、ピクセルの数について一定の幅や高さを有する表示部分を有するＬＣＤ又はＣＲＴモニタなどの画面であってもよい。表示特性は、テキスト・フォント、フォント・サイズ、テキスト・カラー、表示幅、高さ、及び表示装置の解像度の一つに対応付けられてもよい。テキスト・ベースの注釈システムは、注釈を入力するために明確な場所又は特別なテキスト・ボックスを提供することができ、これによって、注釈のレンダリングを容易なタスクとすることができる。しかしながら、フリーフォーム注釈システムは、適切なレンダリングのために、注釈が、デジタル・ドキュメントの一部とリンクされることを必要とする。更に、コメントなどのフリーフォーム注釈には、ＰＤＡの画面などの表示装置上で使用可能だが限定されることの多いブランク部分にあてはめるために、手書きの大きさ（実物大）からサイズを縮小しなければならない場合もある。
【０００５】
特許文献１〜３は、本願発明に関連する。特許文献１は、注釈の重要度を表示することができるシステムについて、特許文献２は、手書きノートに対するインデックスを自動的に発生するシステムについて、特許文献３は、読者が必要とする時のみ注釈を見ることができるような注釈システムについて、記載している。
【特許文献１】特開２００４−１１０８２５号公報
【特許文献２】特開２０００−２５０９４５号公報
【特許文献３】特開２０００−０４０１５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明の課題は、よりフレキシブルで、より確実に、より体裁よくデジタル・ドキュメントにフリーフォーム注釈を付けるようにデザインされたフリーフォーム注釈技術を提供することである。
【課題を解決するための手段】
【０００７】
本発明の第１の態様のフリーフォーム注釈を支援する方法は、（ａ）デジタル・ドキュメントの一部を読み込み、画面の一以上の表示特性に基づいて、該画面に該デジタル・ドキュメントの一部を表示し、（ｂ）一以上の入力装置を介して、表示された前記デジタル・ドキュメントの一部に、一以上のフリーフォーム注釈を受け入れ、（ｃ）完全に決定的な状態マシンを介して、前記一以上のフリーフォーム注釈を処理する。
【０００８】
本発明の第２の態様は、第１の態様のフリーフォーム注釈を支援する方法であって、一以上の情報処理装置において実行され、一以上の前記情報処理装置の一の情報処理装置は、ＰＤＡ、タブレットＰＣ、ポケットＰＣ、携帯電話、電子メッセージ装置、ジャバ（Ｊａｖａ（登録商標））対応装置、ラップトップＰＣ、デスクトップＰＣ、ワークステーション、及び、メインフレーム・コンピュータの何れかである。
【０００９】
本発明の第３の態様は、第１の態様のフリーフォーム注釈を支援する方法であって、Ｃ、Ｃ＋＋、ビジュアル・ベーシック（Ｖｉｓｕａｌ  Ｂａｓｉｃ）、ジャバ（Ｊａｖａ（登録商標））、及びジャバ・アプレット（Ｊａｖａ（登録商標）  Ａｐｐｌｅｔ）の一以上のプログラム言語により実現される。
【００１０】
本発明の第４の態様は、第１の態様のフリーフォーム注釈を支援する方法であって、前記デジタル・ドキュメントは、テキスト・ファイル、画像、図、描画、グラフ、ピクチャ、及びビデオ・クリップの少なくとも一を含む。
【００１１】
本発明の第５の態様は、第１の態様のフリーフォーム注釈を支援する方法であって、前記画面の一以上の表示特性の一は、テキスト・フォント、フォント・サイズ、テキスト・カラー、表示幅、表示高さ、及び前記画面の解像度の一に関連する。
【００１２】
本発明の第６の態様は、第１の態様のフリーフォーム注釈を支援する方法であって、一以上の前記フリーフォーム注釈の一のフリーフォーム注釈は、ストローク、ジェスチュア、及び任意形状の手書きの一以上である。
【００１３】
本発明の第７の態様は、第１の態様のフリーフォーム注釈を支援する方法であって、一以上の前記入力装置の一の入力装置が、キーボード、マウス及びスタイラスの一である。
【００１４】
本発明の第８の態様は、第１の態様のフリーフォーム注釈を支援する方法であって、メモリ及び／又は持続記憶装置に前記デジタル・ドキュメントを記憶する、ことをさらに含む。
【００１５】
本発明の第９の態様は、第１の態様のフリーフォーム注釈を支援する方法であって、（ａ）が、マイクロソフト・インターネット・エクスプローラ（Ｍｉｃｒｏｓｏｆｔ  Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ）のコントロールを使用し、前記デジタル・ドキュメントの境界ボックスを得るために、ドキュメント・オブジェクト・モデル（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）にアクセスする、ことを含む。
【００１６】
本発明の第１０の態様は、第１の態様のフリーフォーム注釈を支援する方法であって、一以上の前記フリーフォーム注釈を入力するための領域を前記画面に確保する。
【００１７】
本発明の第１１の態様は、第１の態様のフリーフォーム注釈を支援する方法であって、作成、選択、変更、移動、削除、レンダリング、及び表示の少なくとも一を実行し、前記表示コンポーネントの一以上の前記表示特性に基づいて、一以上の注釈マークの一を該表示コンポーネントに表示する、ことによって、前記デジタル・ドキュメントの表示された前記一部の一以上の注釈マークを制御する、ことをさらに含む。
【００１８】
本発明の第１２の態様は、第１１の態様のフリーフォーム注釈を支援する方法であって、一以上の前記注釈マークの一の注釈マークが、前記デジタル・ドキュメントの一部の部分と関連するアンカー、少なくとも二つのアンカーを連結するリンク、及びアンカー又はコネクタの何れかと関連するコメント、の一である。
【００１９】
本発明の第１３の態様は、第１２の態様のフリーフォーム注釈を支援する方法であって、前記アンカーが、アンダーライン、ハイライト、囲まれた語句、囲まれた領域、括弧、及びマージン・バーの一であり、前記リンクが矢印及びコネクタの一である。
【００２０】
本発明の第１４の態様は、第１１の態様のフリーフォーム注釈を支援する方法であって、一以上の前記注釈マークをメモリ及び／又は持続記憶装置に記憶すること、をさらに含む。
【００２１】
本発明の第１５の態様は、第１１の態様のフリーフォーム注釈を支援する方法であって、前記選択、移動、変更、及び削除を実行することが、一以上の前記入力装置の一の入力装置を前記注釈マーク上でタップ、ホールド、及びリフトする、ことを含む。
【００２２】
本発明の第１６の態様は、第１１の態様のフリーフォーム注釈を支援する方法であって、前記レンダリングを実行することが、前記注釈マークの境界ボックスをリトリーブすること、前記注釈マークのサイズ変更及び／又は分割を行うこと、表示中の前記デジタル・ドキュメントの前記一部の前記注釈マークを位置変更すること、の少なくとも一を含む。
【００２３】
本発明の第１７の態様は、第１２の態様のフリーフォーム注釈を支援する方法であって、前記コメントをレンダリングするための領域を前記画面上に確保すること、及び／又は、一以上の表示特性の一に基づいて、前記コメントのサイズ変更及び／又は位置変更を行うこと、をさらに含む。
【００２４】
本発明の第１８の態様は、第１２の態様のフリーフォーム注釈を支援する方法であって、一以上のフリーフォーム注釈の一を認識することによって、前記コメントの始まりを識別することをさらに含み、前記フリーフォーム注釈は、表示中の前記デジタル・ドキュメントのブランク領域でスタートし、及び／又は、前記デジタル・ドキュメント上の任意の語句若しくは画像と交わらない。
【００２５】
本発明の第１９の態様は、第１２の態様のフリーフォーム注釈を支援する方法であって、一以上の前記フリーフォーム注釈の一を認識することによって、前記コメントの終わりを識別することをさらに含み、前記フリーフォーム注釈が、ボタンを含む、前記画面上の所定領域におけるクリック、前記コメントの周りを囲むジェスチュア、前記コメントを抹消する（ストライク・スルー・）ジェスチュア、前記画面の下部で跳ね返るストローク、手書きにおいて一般的ではない特殊なジェスチュア、及び前記コメントの左又は右に描かれる縦方向のストローク、の一である。
【００２６】
本発明の第２０の態様のフリーフォーム注釈を支援するシステムは、記憶コンポーネントと、表示コンポーネントと、処理コンポーネントと、を備え、前記記憶コンポーネントが、デジタル・ドキュメントと一以上のソフトウェア・コンポーネントとを維持し、前記表示コンポーネントが、該表示コンポーネントの一以上の表示特性に基づいて、前記デジタル・ドキュメントの一部を表示し、一以上の入力装置を介して前記デジタル・ドキュメントの表示された一部に一以上のフリーフォーム注釈を受け入れ、前記処理コンポーネントが、完全に決定的な状態マシンを介して、一以上の前記フリーフォーム注釈を処理する。
【００２７】
本発明の第２１の態様は、第２０の態様のフリーフォーム注釈を支援するシステムであって、前記システムが一以上の情報処理装置の一部であり、一以上の前記情報処理装置の一が、ＰＤＡ、タブレットＰＣ、ポケットＰＣ、携帯電話、電子メッセージ装置、ジャバ（Ｊａｖａ（登録商標））対応装置、ラップトップ若しくはデスクトップＰＣ、ワークステーション、及びメインフレーム・コンピュータの一である。
【００２８】
本発明の第２２の態様は、第２０の態様のフリーフォーム注釈を支援するシステムであって、前記記憶コンポーネントが、メモリ又は持続記憶装置である。
【００２９】
本発明の第２３の態様は、第２０の態様のフリーフォーム注釈を支援するシステムであって、前記表示コンポーネントが、ＬＣＤ又はＣＲＴモニタを含む画面である。
【００３０】
本発明の第２４の態様は、第２０の態様のフリーフォーム注釈を支援するシステムであって、前記処理コンポーネントが、ＣＰＵ、組込ＣＰＵ、又はＭＣＵである。
【００３１】
本発明の第２５の態様は、第２０の態様のフリーフォーム注釈を支援するシステムであって、前記デジタル・ドキュメントが、テキスト・ファイル、画像、図、描画、グラフ、ピクチャ、及びビデオ・クリップの少なくとも一を含む。
【００３２】
本発明の第２６の態様は、第２０の態様のフリーフォーム注釈を支援するシステムであって、一以上の前記ソフトウェア・コンポーネントの一が、Ｃ、Ｃ＋＋、ビジュアル・ベーシック（Ｖｉｓｕａｌ  Ｂａｓｉｃ）、ジャバ（Ｊａｖａ（登録商標））、及びジャバ・アプレット（Ｊａｖａ（登録商標）  Ａｐｐｌｅｔ）の一以上のプログラム言語により実現される。
【００３３】
本発明の第２７の態様は、第２０の態様のフリーフォーム注釈を支援するシステムであって、前記表示コンポーネントの一以上の前記表示特性の一が、テキスト・フォント、フォント・サイズ、テキスト・カラー、表示デバイスの表示幅、表示高さ、及び解像度の一に関連する。
【００３４】
本発明の第２８の態様は、第２０の態様のフリーフォーム注釈を支援するシステムであって、一以上の前記入力装置の一が、キーボード、マウス及びスタイラスの一である。
【００３５】
本発明の第２９の態様は、第２０の態様のフリーフォーム注釈を支援するシステムであって、一以上の前記フリーフォーム注釈の一が、ストローク、ジェスチュア、及び任意形状の手書きの一以上である。
【００３６】
本発明の第３０の態様は、第２０の態様のフリーフォーム注釈を支援するシステムであって、前記表示コンポーネントは、さらに、マイクロソフト・インターネット・エクスプローラ（Ｍｉｃｒｏｓｏｆｔ  Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ）のコントロールを利用し、前記デジタル・ドキュメントの境界ボックスを得るために、ドキュメント・オブジェクト・モデル（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）にアクセスする。
【００３７】
本発明の第３１の態様は、第２０の態様のフリーフォーム注釈を支援するシステムであって、前記表示コンポーネントが、さらに、一以上の前記フリーフォーム注釈を入力するための領域を前記画面上に確保する。
【００３８】
本発明の第３２の態様は、第２０の態様のフリーフォーム注釈を支援するシステムであって、前記処理コンポーネントが、さらに、
作成、選択、変更、移動、削除、レンダリング、及び表示の少なくとも一を実行し、前記表示コンポーネントの一以上の前記表示特性に基づいて、一以上の注釈マークの一を該表示コンポーネントに表示する、ことによって、前記デジタル・ドキュメントの表示された前記一部の一以上の注釈マークを制御する。
【００３９】
本発明の第３３の態様は、第３２の態様のフリーフォーム注釈を支援するシステムであって、一以上の前記注釈マークの一が、前記デジタル・ドキュメントの一部の部分と関連するアンカー、少なくとも二のアンカーを連結するリンク、及びアンカー又はコネクタの何れかと関連するコメント、の一である。
【００４０】
本発明の第３４の態様は、第３３の態様のフリーフォーム注釈を支援するシステムであって、前記アンカーが、アンダーライン、ハイライト、囲まれた語句、囲まれた領域、括弧、及びマージン・バーの一であり、前記リンクが矢印及びコネクタの一である。
【００４１】
本発明の第３５の態様は、第３２の態様のフリーフォーム注釈を支援するシステムであって、前記記憶コンポーネントが、一以上の前記注釈マークを維持する。
【００４２】
本発明の第３６の態様は、第３２の態様のフリーフォーム注釈を支援するシステムであって、前記処理コンポーネントは、さらに、前記注釈マーク上で一以上の前記入力装置の一をタップ、ホールド、及びリフトすることによって、該注釈マークの選択、移動、変更、及び削除の少なくとも一を実行する。
【００４３】
本発明の第３７の態様は、第３２の態様のフリーフォーム注釈を支援するシステムであって、前記処理コンポーネントは、さらに、前記注釈マークの境界ボックスをリトリーブすること、前記注釈マークのサイズ変更及び／又は分割を行うこと、表示中の前記デジタル・ドキュメントの前記一部の前記注釈マークを位置変更すること、の少なくとも一により、前記注釈マークをレンダリングする。
【００４４】
本発明の第３８の態様は、第３３の態様のフリーフォーム注釈を支援するシステムであって、前記処理コンポーネントは、さらに、前記コメントをレンダリングする領域を前記画面上に確保すること、及び／又は、一以上の前記表示特性の一に基づいて、前記コメントのサイズ変更及び／又は位置変更を行うこと、によって、前記コメントをレンダリングする。
【００４５】
本発明の第３９の態様は、第３３の態様のフリーフォーム注釈を支援するシステムであって、前記処理コンポーネントは、さらに、一以上の前記フリーフォーム注釈の一を認識することによって前記コメントの始まりを識別し、前記フリーフォーム注釈が、表示中の前記デジタル・ドキュメントのブランク領域でスタートし、及び／又は、前記デジタル・ドキュメント上の任意の語句や画像と交わらない。
【００４６】
本発明の第４０の態様は、第３３の態様のフリーフォーム注釈を支援するシステムであって、前記処理コンポーネントは、さらに、一以上の前記フリーフォーム注釈の一を認識することによって、前記コメントの終わりを識別し、前記フリーフォーム注釈が、ボタンを含む、前記画面上の所定領域のクリック、前記コメントの周りを囲むジェスチュア、前記コメントを抹消する（ストライク・スルー・）ジェスチュア、前記画面の下部で跳ね返るストローク、手書きにおいて一般的ではない特殊なジェスチュア、前記コメントの左又は右に描かれる縦方向のストローク、の一である。
【００４７】
本発明の第４１の態様のフリーフォーム注釈を支援するプログラムは、デジタル・ドキュメントの一部を読み込み、画面の一以上の表示特性に基づいて、該画面に該デジタル・ドキュメントの一部を表示するステップと、一以上の入力装置を介して、表示された前記デジタル・ドキュメントの一部に、一以上のフリーフォーム注釈を受け入れるステップと、完全に決定的な状態マシンを介して、一以上の前記フリーフォーム注釈を処理するステップと、を、システムに実行させる。
【００４８】
本発明の第４２の態様は、第４１の態様のフリーフォーム注釈を支援するプログラムであって、一以上の情報処理装置に組み込まれ、及び、一以上の情報処理装置において稼動され、一以上の前記情報処理装置の一の情報処理装置は、ＰＤＡ、タブレットＰＣ、ポケットＰＣ、携帯電話、電子メッセージ装置、ジャバ（Ｊａｖａ（登録商標））対応装置、ラップトップＰＣ、デスクトップＰＣ、ワークステーション、及び、メインフレーム・コンピュータの何れかである。
【００４９】
本発明の第４３の態様は、第４１の態様のフリーフォーム注釈を支援するプログラムであって、Ｃ、Ｃ＋＋、ビジュアル・ベーシック（Ｖｉｓｕａｌ  Ｂａｓｉｃ）、ジャバ（Ｊａｖａ（登録商標））、及びジャバ・アプレット（Ｊａｖａ（登録商標）  Ａｐｐｌｅｔ）の一以上のプログラム言語により実現される。
【００５０】
本発明の第４４の態様は、第４１の態様のフリーフォーム注釈を支援するプログラムであって、前記デジタル・ドキュメントは、テキスト・ファイル、画像、図、描画、グラフ、ピクチャ、及びビデオ・クリップの少なくとも一を含む。
【００５１】
本発明の第４５の態様は、第４１の態様のフリーフォーム注釈を支援するプログラムであって、前記画面の一以上の表示特性の一は、テキスト・フォント、フォント・サイズ、テキスト・カラー、表示幅、表示高さ、及び前記画面の解像度の一に関連する。
【００５２】
本発明の第４６の態様は、第４１の態様のフリーフォーム注釈を支援するプログラムであって、一以上の前記フリーフォーム注釈の一のフリーフォーム注釈は、ストローク、ジェスチュア、及び任意形状の手書きの一以上である。
【００５３】
本発明の第４７の態様は、第４１の態様のフリーフォーム注釈を支援するプログラムであって、一以上の前記入力装置の一の入力装置が、キーボード、マウス及びスタイラスの一である。
【００５４】
本発明の第４８の態様は、第４１の態様のフリーフォーム注釈を支援するプログラムであって、メモリ及び／又は持続記憶装置に前記デジタル・ドキュメントを記憶するステップ、をさらに含む。
【００５５】
本発明の第４９の態様は、第４１の態様のフリーフォーム注釈を支援するプログラムであって、前記デジタル・ドキュメントを読み込むために、マイクロソフト・インターネット・エクスプローラ（Ｍｉｃｒｏｓｏｆｔ  Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ）のコントロールを使用するステップと、一以上の前記表示特性を得るために、ドキュメント・オブジェクト・モデル（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）にアクセスするステップと、をさらに含む。
【００５６】
本発明の第５０の態様は、第４１の態様のフリーフォーム注釈を支援するプログラムであって、一以上の前記フリーフォーム注釈を入力するための領域を前記画面に確保するステップ、をさらに含む。
【００５７】
本発明の第５１の態様は、第４１の態様のフリーフォーム注釈を支援するプログラムであって、作成、選択、変更、移動、削除、レンダリング、及び表示の少なくとも一を実行し、前記表示コンポーネントの一以上の前記表示特性に基づいて、一以上の注釈マークの一を該表示コンポーネントに表示する、ことによって、前記デジタル・ドキュメントの表示された前記一部の一以上の注釈マークを制御するステップ、をさらに含む。
【００５８】
本発明の第５２の態様は、第５１の態様のフリーフォーム注釈を支援するプログラムであって、一以上の前記注釈マークの一の注釈マークが、前記デジタル・ドキュメントの一部の部分と関連するアンカー、少なくとも二つのアンカーを連結するリンク、及びアンカー又はコネクタの何れかと関連するコメント、の一である。
【００５９】
本発明の第５３の態様は、第５２の態様のフリーフォーム注釈を支援するプログラムであって、前記アンカーが、アンダーライン、ハイライト、囲まれた語句、囲まれた領域、括弧、及びマージン・バーの一であり、前記リンクが矢印及びコネクタの一である。
【００６０】
本発明の第５４の態様は、第５１の態様のフリーフォーム注釈を支援するプログラムであって、一以上の前記注釈マークをメモリ及び／又は持続記憶装置に記憶するステップ、をさらに含む。
【００６１】
本発明の第５５の態様は、第５１の態様のフリーフォーム注釈を支援するプログラムであって、前記選択、移動、変更、及び削除の一は、一以上の前記入力装置の一の入力装置を前記注釈マーク上でタップ、ホールド、及びリフトすることにより、実行される。
【００６２】
本発明の第５６の態様は、第５１の態様のフリーフォーム注釈を支援するプログラムであって、前記注釈マークの境界ボックスをリトリーブすること、前記注釈マークのサイズ変更及び／又は分割を行うこと、表示中の前記デジタル・ドキュメントの前記一部の前記注釈マークを位置変更すること、の少なくとも一により、前記注釈マークのレンダリングを実行する。
【００６３】
本発明の第５７の態様は、第５２の態様のフリーフォーム注釈を支援するプログラムであって、前記コメントをレンダリングするための領域を前記画面上に確保すること、及び／又は、一以上の表示特性の一に基づいて、前記コメントのサイズ変更及び／又は位置変更を行うこと、をさらに含む。
【００６４】
本発明の第５８の態様は、第５２の態様のフリーフォーム注釈を支援するプログラムであって、一以上のフリーフォーム注釈の一を認識することによって、前記コメントの始まりを識別するステップをさらに含み、前記フリーフォーム注釈は、表示中の前記デジタル・ドキュメントのブランク領域でスタートし、及び／又は、前記デジタル・ドキュメント上の任意の語句若しくは画像と交わらない。
【００６５】
本発明の第５９の態様は、第５２の態様のフリーフォーム注釈を支援するプログラムであって、一以上の前記フリーフォーム注釈の一を認識することによって、前記コメントの終わりを識別するステップをさらに含み、前記フリーフォーム注釈が、ボタンを含む、前記画面上の所定領域におけるクリック、前記コメントの周りを囲むジェスチュア、前記コメントを抹消する（ストライク・スルー・）ジェスチュア、前記画面の下部で跳ね返るストローク、手書きにおいて一般的ではない特殊なジェスチュア、及び前記コメントの左又は右に描かれる縦方向のストローク、の一である。
【００６６】
本発明の第６０の態様のフリーフォーム注釈を支援するシステムは、デジタル・ドキュメントの一部を読み込み、画面の一以上の表示特性に基づいて、該画面に該デジタル・ドキュメントの一部を表示する手段と、一以上の入力装置を介して、表示された前記デジタル・ドキュメントの一部に、一以上のフリーフォーム注釈を受け入れる手段と、完全に決定的な状態マシンを介して、前記一以上のフリーフォーム注釈を処理する手段と、を備える。
【発明の効果】
【００６７】
本発明は、デジタル・ドキュメントの一部を読み込み、画面の一以上の表示特性に基づいて、該画面に該デジタル・ドキュメントの一部を表示し、一以上の入力装置を介して、表示された前記デジタル・ドキュメントの一部に、一以上のフリーフォーム注釈を受け入れ、完全に決定的な状態マシンを介して、前記一以上のフリーフォーム注釈を処理するようにしているので、よりフレキシブルで、より確実に、より体裁よくデジタル・ドキュメントにフリーフォーム注釈を付けるようにデザインされたフリーフォーム注釈技術を提供することができる。
【発明を実施するための最良の形態】
【００６８】
本発明は、例によって説明されるが、添付図面によって限定されることはなく、図中、同様の要素には同様の参照番号が付されている。この開示において、「一つの」又は「一」実施の形態という場合、必ずしも同一の実施の形態を言及している訳ではなく、このような言及が「少なくとも一つ」を意味することに注意されたい。
【００６９】
本発明によるシステム及び方法は、よりフレキシブルで、より確実に、より体裁よく、デジタル・ドキュメントにフリーフォーム注釈を付けるようにデザインされたフリーフォーム注釈技術を提供する。これらによって、ユーザが、許容される注釈の種類を制限することなく注釈のフリーフォーム性を維持しつつ、ドキュメントに印を付けたり、コメントを付け加えたり、注釈同士を結び付けることができる。次に、これらのフリーフォーム注釈は（各々がデジタル・ドキュメントの一部又は他の注釈マークのいずれかに対応付けられる）注釈マークの三つのグループ、「アンカー」、「コメント」、及び「リンク」に状態マシンを介して明白に認識される。更に、これらの注釈マークは、画面の表示特性に基づいて画面上で使用可能なブランク部分に丁度合うように位置変更及びサイズ変更が行われてもよく、これによって、ドキュメントに注釈付けする自然な流れがフリーフォームで支援される。このシステムで使用されるソフトウェアは、プログラミング言語（例えば、Ｃ、Ｃ＋＋、ビジュアル・ベーシック（Ｖｉｓｕａｌ  Ｂａｓｉｃ）、ジャバ（Ｊａｖａ（登録商標））、及びジャバ・アプレット（Ｊａｖａ（登録商標）  Ａｐｐｌｅｔ）の一つ以上）において実現され得る。
【００７０】
図１は、本発明の実施の形態による例示的なフリーフォーム注釈システムを示す。この図は、論理的に分離されたオブジェクト及び／又はプロセスを描いているが、このような描画は、単に図示することのみを目的としている。この図に描画されたオブジェクト及び／又はプロセスが任意に組み合わされ、別体のソフトウェア、ファームウェア及び／又はハードウェア・コンポーネントに分割され得ることは当業者に明白である。さらに、このようなオブジェクト及び／又はプロセスが、どのように組み合わされ、あるいは、分割されようとも、同一の情報処理装置上で実行することができ、或いは、一つ以上のネットワーク又は他の好適な通信手段と接続される異なる情報処理装置へ分散され得ることも当業者には明白である。
【００７１】
フリーフォーム注釈システムは、例えば、データや指示を入力する入力部、プロセッサによる実行の際の作業領域を形成すると共にプログラムや処理対象としてのデータを格納する記憶部、処理内容や処理結果を表示画面情報に表示する表示部、およびデータを通信網などに出力する出力部などを備える、単数又は複数のコンピュータであってよい。プロセッサは、プログラムを読み出し実行することにより、処理対象のデータ等に対し当該プログラムの手順に対応した処理をする。
【００７２】
図１のフリーフォーム注釈システム１００において、デジタル・ドキュメント１０１は、情報処理装置のメモリ又は持続記憶装置のいずれかの記憶コンポーネント１１１に記憶され得る。表示コンポーネント１０２は、ドキュメント・リーダ１０３を介してデジタル・ドキュメントの一部を読み取り、それを画面の表示特性１０５に基づいて画面１０４に表示する。ユーザは、一つ以上の入力装置１０６を介して、フリーフォーム注釈を用いて、デジタル・ドキュメントの表示された部分に印を付けたり、コメントを付けたりすることができる。次に、処理コンポーネント１０７は、状態マシン１０８を用いて、これらのフリーフォーム注釈を受領し解釈して、三つのカテゴリから成る注釈マークを生成する。状態マシンは、完全に決定論的である。即ち、それらのフリーフォーム注釈を常に明白に認識し特徴付けることができる。これらの生成された注釈マークは、表示されたドキュメントの対応する部分に対応付けられ、選択され、移動され、変更され、削除され得る。これらは、種々の種類のデータ・ストラクチャ１０９のメモリ又は持続記憶装置のいずれかに記憶されてもよい。さらに、これらは、画面の表示特性に基づいてレンダリング・コンポーネント１１０によって表示用に位置変更、サイズ変更、及びレンダリングされ得る。
【００７３】
一つの実施の形態において、ドキュメント・リーダ１０３は、表示されているデジタル・ドキュメントの部分のすべての語句及び画像の境界ボックスへのアクセスを有する必要がある。ＵＲＬと表示用画面の幅（例えば、デスクトップの画面は８００ピクセル、ポケットＰＣの画面は２４０ピクセル）を受容できるジャバ・アプレット（Ｊａｖａ（登録商標）  Ａｐｐｌｅｔ）として実現されるアプリケーションが開発されている。これは、特定の幅でレンダリングされたウェブ（Ｗｅｂ）・ページの画像と、さらに、このページ上のすべてのエレメントの境界ボックス含むファイルと、をリターンする。この幅を変えることによって、アプリケーションは、異なる画面サイズに適応するレイアウトを容易に生成することができる。
【００７４】
一つの実施の形態において、マイクロソフト・インターネット・エクスプローラ（Ｍｉｃｒｏｓｏｆｔ  Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ）・コントロールがアプリケーションによって使用されてそのレンダリングをキャプチャすることによってウェブ（Ｗｅｂ）・ページをレンダリングし、ドキュメント・オブジェクト・モデル（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）がアクセスされて境界ボックス情報を読み取る。次に、この情報は、アプリケーションによって使用されてレンダリングされた画像を表示し、大部分のラップトップ及びＰＤＡのような任意のジャバ（Ｊａｖａ（登録商標））対応デバイス上でウェブ（Ｗｅｂ）ページを注釈するのに好適となる。
【００７５】
一つの実施の形態において、処理コンポーネント１０７は注釈マークを認識しその特徴を三つのグループに分ける。
●アンカー：ハイライト、アンダーライン、マージン・バー、囲まれた語句、囲まれた領域、大括弧等を含む。アンカーは、いつかコメントが添付されるかもしれない表示中のデジタル・ドキュメントの部分の一部を識別することができる。
●コメント：通常は手書きのノートである。コメントはドキュメント上のマージンにしばしば書き込まれるが、より一般的には書き込むスペースのあるドキュメントのブランク部分に書き込まれる。
●リンク：コネクタ及び矢印を含む。リンクは、アンカーとアンカーと、アンカーとコメントと、及び複数のコメント間をリンクすることができる。
【００７６】
図２は、アンカー２０１及び２０２、リンク２０３、及びコメント２０４が表示されたウェブ（Ｗｅｂ）・ページの一部を示す図であり、これらは、どの色でマークされてもよい。
【００７７】
一つの実施の形態において、処理コンポーネント内の状態マシン１０８は、表示中のデジタル・ドキュメント上でのアンカーの作成、コメントの添付、及びリンクの作成などのフリーフォーム注釈の自然な流れを認識するようにデザインされる。図３は、本発明の一つの実施の形態による状態マシンを実現するアルゴリズムを示す例示的なソース・コードを示す。この図は、例示する目的で機能的工程を特定の順序で描いているが、このプロセスは工程の任意の特定の順序や構成に限定されない。当業者は、この図に示される種々の工程が、いろいろな方法で、省略されたり、再構成されたり、組み合わされたり、及び／又は適合され得ることを理解するであろう。
【００７８】
図３を参照すると、状態は、最初に、ＦＩＲＳＴ ＳＴＲＯＫＥにセットされる。この状態において、状態マシンはストロークを常にアンカーやリンクとして解釈しようとする。ストロークがアンカーや二つの既存アンカーのリンクとして適切に認識された時、状態はＡＮＣＨＯＲＩＮＧへ進む。
【００７９】
ＡＮＣＨＯＲＩＮＧ状態にある時、状態マシンはまずストロークをアンカー又はリンクとして解釈しようとする。ストロークがアンカー又はリンクとして認識されない場合（例えば、ドキュメントのブランク部分でストロークが始まる場合）、次に、状態は、ＣＯＭＭＥＮＴＩＮＧに切り替えられ、このストロークが新しいコメントに付け加えられる（ここで、コメントはストロークの集まりである）。
【００８０】
ＣＯＭＭＥＮＴＩＮＧ状態にある間、状態マシンはこのストロークがコメント・モードの存在を示しているかを解釈しようとする。コメント・モードの存在を示していない場合、ストロークは同一コメント（即ち、ストロークの同一集合）に付け加えられる。しかしながら、ストロークがコメント・モード（例えば、ボタン・クリック、特別なジェスチュア、及び後述される他の表示）の存在を示していることを、システムが検出した場合、状態は、ユーザの好みに応じて、ＦＩＲＳＴ ＳＴＲＯＫＥ又はＦＲＥＥＦＯＲＭ ＰＡＳＴＩＮＧへスイッチ・バックする。
【００８１】
ＦＲＥＥＦＯＲＭ＿ＰＡＳＴＩＮＧ状態において、新しく生成されるストロークの集合（即ち、カレント・コメント）がどこで、どのようにレンダリングされるべきか、を特定する一以上のストロークを、ユーザは入力することができる。該ストロークが入力された後、状態はＦＩＲＳＴ＿ＳＴＲＯＫＥに戻る。
【００８２】
ストロークが終わった時、状態マシンはストロークを以下のように解釈しようとする（図４の４０１乃至４０４が図２の２０１乃至２０４のそれぞれに対応する）。
●ストロークが語句や画像を横切る場合、このストロークは、アンカー４０１又は４０２として解釈される。このアンカーによって識別された語句の境界ボックスが表示され、有用なフィードバックをユーザへ提供する。
●ストロークが語句や画像を横切らない場合、このストロークはコメント４０４として解釈される。状態マシンは、ＣＯＭＭＥＮＴＩＮＧ状態に切り替えられ、これらのストロークがコメントへ加えられる。
●ＡＮＣＨＯＲＩＮＧ状態にある間、ストローク４０５が語句や画像と重ならない場合、図４に示すように、システムは、システムがそれを認識しなかったことを示すために区別できる色でそれを再描画する。認識されなかったマークはしばらくすると消える。
●ストロークの始点と終点とが既存のアンカーやコメントと重なる場合、リンク４０３が検出される。
【００８３】
上記のアルゴリズムは、状態マシンが、以下のルールを採用することによって、ストロークを明白に適切に常にグループ化できることを確実とする。
●コメントを作るストロークは、単一コメント（ストロークの集合）に組み立てられ、そのように、ラベリングされる。
●コメントは、アンカー又はリンク（即ち、コメントが始まる直前に作成されたストローク）に常にリンクされる。
●アンカーは、デジタル・ドキュメントの表示された部分の特定の部分に常にリンクされる。
●リンクは、二つの既存のアンカーを常に識別する。
【００８４】
一つの実施の形態において、ユーザがコメントを終了した時を正確に認識するためにいくつかのアプローチが状態マシンによって用いられ得る。これらのアプローチには、以下のものが挙げられる。
●図５（ａ）に示されるように、画面の所定部分、例えば、コメントの最初のストロークの横に表示されたボタン５０１をクリックする。
●図５（ｂ）に示されるように、コメントが始まってから、入力されたストロークの大部分を囲む（サーキュラー）ジェスチュア５０２によって、コメント・ストロークを選択する。
●図５（ｃ）に示されるように、抹消（ストライク・スルー）ジェスチュア５０３によって、コメント・ストロークを選択する。
●図５（ｄ）に示されるように、画面の下部で跳ね返るストローク５０４を描く。
●状態マシンが不適切にＣＯＭＭＥＮＴＩＮＧ状態から出ないように、一般の手書きにおいてあまり使われない特殊なジェスチュアを用いる。
●コメント・ストロークの左又は右上に縦のストロークを描く。
●その他
【００８５】
これらのアプローチの一つが採用された後で、状態マシンは、ＡＮＣＨＯＲＩＮＧ状態に直接スイッチ・バックすることもできるし、あるいは、ユーザの好みやＣＯＭＭＥＮＴＩＮＧ状態を終了させるために選択された方法に応じて、状態マシンは、ＦＲＥＥＦＯＲＭ ＰＡＳＴＩＮＧ状態へ進むこともできる。後者の場合、ユーザは、コメントをドキュメント内のどの場所にどのようにレンダリングすべきかを指定するために他のストロークを入力することができる。図６に示されるように、ユーザがこのようなストローク６０１を指定し状態マシンがコメントをストロークによってレンダリングする。コメントをどの場所にどのように貼り付けるかを指定できることは、大きく書き込むことをユーザが余儀なくされるＰＤＡ上で特に有用である。
【００８６】
一つの実施の形態において、ユーザがフリーフォーム注釈を入力するための領域が画面上に確保される。前記デジタル・ドキュメントの一部を表示する画面は非常に混み合っているので、コメントを書き始めることができるブランク部分を見つけることがユーザにとって困難である場合が多い。あるアプローチでは、左右のマージンが自動的に設定されるので、ユーザは常に（そして予測可能に）ブランク部分を見つけることができる。このような特徴は、このページをＰＤＡからアクセスする際に非常に重要である。なぜならば、画像が、キャプチャ時の元の大きさでは表示されず、少し縮小されて表示されるので、パン（視点移動）の過多が防止されるためである。他のアプローチにおいて、テキストと画像との境界ボックスから、ブランク部分をはっきり見ることができるので、どの場所でコメントに切り替えるために書き込むことができるかを、ユーザが知るのに役立つ。更に他のアプローチでは、画面上にある領域（例えば、ボタン）が画定され、ユーザがこの領域をクリックして具体的にコメントを書き始めることができる。
【００８７】
一つの実施の形態において、状態マシンは、認識することによって以下のアンカータイプを識別することが可能である。
●囲まれた語句及び／又は領域：ストロークの始点近傍のストロークの終点。
●ハイライト及び／又はアンダーライン：境界ボックスの幅がその高さよりも少なくとも三倍大きい。
●マージン・バー：高さがその幅よりも少なくとも三倍大きい。
【００８８】
ストロークがこれらのタイプ以外の場合、レンダリング・コンポーネント１１０は、区別できるカラーでストロークを再描画することによって認識の誤りを表示し、それを消去する。あるタイプのアンカーとしてストロークが認識される時、以下のように、レンダリング・コンポーネントはいくつかのドキュメント・コンテンツをアンカーと対応付ける。
●ハイライト及び／又はアンダーライン：ストロークに最も接近した語句。
●マージン・バー：最初の語句がストロークの最上部に最も接近した語句となり、最終の語句がストロークの下部と縦に位置合わせされる行の最終語句となる。
●囲まれた語句及び／又は領域：ストロークの境界ボックスの中心に最も接近した語句。
【００８９】
一つの実施の形態において、注釈マークは、認識されると、メモリか持続記憶装置のデータストラクチュア１０９の以下のタイプに記憶される。
●アンカー：オーサ（著者）、時間、ＵＲＬ、アンカー・ストローク、アンカー・ストロークによって選択されたテキスト、ストロークによって選択されたテキストの高さ。
●コメント：オーサ、時間、ＵＲＬ、コメント・ストローク、アンカー。
●リンク：オーサ、時間、ＵＲＬ、リンク・ストローク、第１のアンカー又はコメント、第２のアンカー又はコメント（任意）。
【００９０】
ここで、ストロークはインク・セグメントの集合を表すことができる。ユーザがコメント入力を始める時、入力されるすべてのストロークが同じストローク内に共にグループ化される。点座標が（ｘ，ｙ）座標として記憶され、ブレークが（−１，−１）によって表される。
【００９１】
一つの実施の形態において、ユーザは特定のコメントとその対応するアンカーとのリンク、又はコネクタによってリンクされるアンカー間のリンク、を見たい場合がある。ユーザは、いつでも、ストロークをタップし、ホールド（マウスで、マウスオーバーする）することができる。レンダリング・コンポーネントは対応するオブジェクトを自動的にハイライト（強調表示）する。注釈は異なるオーサによって作成され得るので、再着色又は他のハイライトの手順は、レンダリング・コンポーネントによって使用され、特定の人又は特定の時間／データによって作成されたすべての注釈を示すことができる。
【００９２】
一つの実施の形態において、注釈マークは以下のステップの一つにおいて選択され変更され得る。
●既存のコメントへのテキストの追加：既存のコメントの上でタップ、ホールド、及びスタイラスをリフト（又はマウス・アップ）することによって、ユーザが、コメントにより多くのストロークを付け加えることができる。ＰＤＡ上では、コメント・ストロークがそのオリジナル・サイズにズーム・インされるので、快適な手書きが可能となる。
●アンカー、リンク、コメントの移動及び／又は削除：タップ、ホールド、及びドラッグによって、ユーザがアンカーを移動及び／又は削除することができる。アンカーが削除されると、その対応するコメント及び／又はコネクタも除去される。
【００９３】
処理コンポーネントが、アンカー、リンク、及びコメントを理解すると、よくあることだが、ドキュメント・レイアウトが変わる場合に、レンダリング・コンポーネント１１０が注釈を正確に位置変更するとともにサイズ変更することができる。マークをこれら三つのグループに正確にカテゴライズできることは、ユーザがコメントをより大きく書く必要があり、レンダリング・コンポーネントが終了したコメントを自動的に縮小したくなるような、ＰＤＡなどの小型画面には一層重要となる。このことは、また、画面サイズ、フォント・サイズなどの異なる表示特性を有する同僚の表示コンポーネントに同一ドキュメントを表示する場合、システムが注釈を正確に位置変更することを、確認することをユーザは望むので、ユーザが注釈の共有を開始する場合に重要である。
【００９４】
一つの実施の形態において、処理コンポーネントにおけるレンダリング・コンポーネントは、以下のように、これらのタイプに対応するアンカーのサイズを変更したり位置を変更するためのアルゴリズムを用いる（図７の７０１乃至７０４は、それぞれ、図２の２０１乃至２０４に対応する）。
●囲まれた領域及び／又は語句：レンダリング・コンポーネントは、図２のアンカー２０１がアタッチされた語句の境界ボックスを検出し、できれば、ドキュメント内の語句の新しい境界ボックスのサイズに応じて拡大縮小されたオリジナル・ストロークを再描画し、図７の７０１に示される画面上で位置変更する。これはユーザがフォント・サイズを変えた場合に重要である。
●マージン・バー：レンダリング・コンポーネントは、ドキュメントの語句の範囲の最初と最後の語句を検出し、境界ボックスの高さを演算する。このマージン・バーは縦に拡大縮小される。
●アンダーライン及び／又はハイライト：レンダリング・コンポーネントは、語句範囲の境界ボックスをリトリーブする。同じ行に語句が現れる場合、レンダリング・コンポーネントはストロークを横に拡大縮小する。語句が別の行に現れた場合、レンダリング・コンポーネントは、マークを分割して、残っている語句の長さに合わせて新しいセグメントを拡大縮小する。例えば、図２のアンダーライン２０２は、図７に示されるように、７０２ａと７０２ｂに分割される。
【００９５】
図２のコメント２０４がそれらの対応するアンカーの右側に検出された場合、図７の７０４に示されるように、レンダリング・コンポーネントは、ページの右側に検出されたドキュメントのブランク部分にそれらを表示する。レンダリング・コンポーネントは、コメントがそれらの対応するアンカーの左側に検出された場合、表示も同様に左側で行う。これらが対応するアンカーの上方にある場合は、レンダリング・コンポーネントはコメントをブランク部分の上方に表示し、これらが対応するアンカーの下方にある場合は、下方に表示する。なるべく重ならないように、レンダリング・コンポーネントは、コメントを縦に位置変更することによって、既に位置変更されたのコメントと重ならないようにする。表示される画面が小さければ、コメントは、自動的に縮小される。
【００９６】
一つの実施の形態において、図２のリンク２０３は、図７に示されるように、二つのアンカーを結ぶ直線７０３に置き換えられる。ラインの始点と終点とは、アンカーが位置変更された時に計算される。即ち、アンカーの境界ボックスの中心にセットされる。より綿密な位置変更がオリジナル・アンカーの境界ボックスのリンクの始点及び／又は終点のオリジナル位置を記憶することによって可能とされる。
【００９７】
フリーフォーム・ペーストが使用されない時には、オリジナル・コメントの境界ボックスの上部及び／又は左側のコーナーからスタートする、レンダリングの前のコメント・ストロークを自動的に縮小することができる。これはユーザが大きく書き込むことを余儀なくされる小型画面上で特に役に立つ。
【００９８】
一つの実施の形態は、コンピュータ技術における当業者に明確であるように、本発明の開示の教示によってプログラムされた従来の汎用又は専用のデジタル・コンピュータ又はマイクロプロセッサを用いて実現されてもよい。ソフトウェア技術における当業者に明確であるように、ソフトウェアの適切なコード化は、本発明の開示の教示に基づいて熟練したプログラマーによって容易に作成され得る。本発明は、当業者に容易に理解されるように、集積回路の作製によって、又は、従来のコンポーネント回路の適切なネットワークを相互接続することによって、実現されてもよい。
【００９９】
一つの実施の形態は、本明細書中に提示された任意の機能を実行するためにコンピュータをプログラムするために使用され得るインストラクションを記憶した記憶媒体であるコンピュータ・プログラム・プロダクトを含む。この記憶媒体は、任意タイプのディスクを含むことができるが、これに限定はされるものではない。ディスクの種類には、フロッピー（登録商標）・ディスク、光学ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、マイクロ・ドライブ及び磁気光学ディスク、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＤＲＡＭ、ＶＲＡＭ、フラッシュ・メモリ・デバイス、磁気的又は光学的カード、ナノシステム（分子メモリＩＣを含む）、又はインストラクション及び／又はデータの記憶に適する任意のタイプの複数の媒体又はデバイスを含むことができる。
【０１００】
コンピュータ可読媒体のいずれか一つに記憶された状態で、本発明は、汎用／専用コンピュータ又はマイクロプロセッサの両方のハードウェアをコントロールするとともに、本発明の結果を活用して、コンピュータ又はマイクロプロセッサがヒューマン・ユーザ又は他のメカニズムとインタラクションするのをイネーブルとするためのソフトウェアを含む。このようなソフトウェアは、デバイス・ドライバ、オペレーティング・システム、実行環境及び／又はコンテナ、及びアプリケーションを含んでいてもよいが、これに限定されるものではない。
【０１０１】
本発明の好ましい実施の形態についての以上の記述は、例示及び説明のみを目的として成されているのであって、これらに本発明のすべてを網羅すること、あるいは、本明細書中に開示された通りの形態に本発明を限定することを意図するものではない。多数の変更及び変形が可能であることは当業者に明確である。特に、「フリーフォーム注釈」の概念が上述されたシステム及び方法の実施の形態において使用されているが、このような概念が、ストローク、ジェスチュア、手書き、マーク等の同等の概念と他の好適な概念と共に代替可能に使用できることは明らかである。とりわけ、「注釈マーク」が上述されたシステム及び方法の実施の形態において使用されているが、このような概念が、「注釈」などの同等の概念と他の好適な概念と共に代替可能にに使用され得ることも明らかである。実施の形態は、本発明の原理とその実践的な応用を最も良く記述するために選択され記述されたものであり、他の当業者がこれによって、考案される特別な用途に適した種々の変更を行いつつ、種々の実施の形態による本発明を理解することを可能とする。本発明の範囲は、請求の範囲及びそれらと同等のものによって定義付けられることを意図する。
【０１０２】
なお、特許明細書の開示内容の一部には、著作権保護を受けるべき事柄が含まれる。著作権所有者は、特許庁の特許ファイルや記録データとして特許文献や特許開示のいずれかがファクシミリ複写されたとしても、著作権所有者はこれに異議を唱えない。しかしながら、これらの場合以外は、すべての著作権を保持する。
【図面の簡単な説明】
【０１０３】
【図１】本発明の一つの実施の形態による例示的なフリーフォーム注釈システムを示す図である。
【図２】本発明の一つの実施の形態による例示的なフリーフォーム注釈システムを示す図である。
【図３】本発明の一つの実施の形態による状態マシンを実現するアルゴリズムの例示的なコードを示す図である。
【図４】本発明の一つの実施の形態による例示的な置き違いフリーフォーム注釈を示す図である。
【図５】本発明の一つの実施の形態による完成したコメントに後から印をつける方法を示す図である。
【図６】本発明の一つの実施の形態によるコメントのレンダリングを示す図である。
【図７】本発明の一つの実施の形態による例示的なフリーフォーム注釈のサイズ変更及び位置変更を示す図である。
【符号の説明】
【０１０４】
１００  フリーフォーム注釈システム
１０１  デジタル・ドキュメント
１０２  表示コンポーネント
１０３  ドキュメント・リーダ
１０４  画面
１０５  表示特性
１０６  入力装置
１０７  処理コンポーネント
１０８  状態マシン
１１０  レンダリング・コンポーネント
１１１  記憶コンポーネント
【図１】
2005228339.tif 000003
【図２】
2005228339.tif 000004
【図３】
2005228339.tif 000005
【図４】
2005228339.tif 000006
【図５】
2005228339.tif 000007
【図６】
2005228339.tif 000008
【図７】
2005228339.tif 000009