【手続補正書】
【提出日】平成17年2月10日(2005.2.10)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【書類名】      明細書
【発明の名称】  手書き分離機能を持つプリンティングコントロールインターフェースシステムとその方法
【特許請求の範囲】
【請求項１】  手書きテキストと機械プリントテキストとを含むディジタル文書を生成し、かつ前記ディジタル文書の少なくとも１つをプリントするためのリクエストを生成するための手段、
前記手段に接続され、前記リクエストを受け取り、前記リクエストを選択的に処理して前記手書きテキストを除去するためのインテリジェントプリンティングコントロールインターフェース、及び
前記インテリジェントプリンティングコントロールインターフェースに接続され、前記選択的に処理されたリクエストをプリントするための手段、
を具備する、文書をプリントするためのシステム。
【請求項２】  前記インテリジェントプリンティングコントロールインターフェースがさらに、
前記リクエストを受け取るための仮想プリンタードライバー、
前記リクエストを処理するかどうかを判定するためのプリンティングコントロールパネル、及び
前記プリンティングコントロールパネルのコントロールに従って前記リクエストを選択的に処理して前記手書きテキストを除去するための手書き分離モジュール、
を具備する請求項１のシステム。
【請求項３】  前記手書き分離モジュールが、
ディジタルイメージを複数のテキストブロックにセグメント化すること、
前記テキストブロックの各々について観測系列を計算すること、
前記観測系列が機械プリントテキストに関する所定の隠れマルコフモデルに現れる第１の確率を前記テキストブロックの各々について計算すること、
前記観測系列が手書きテキストに関する所定の隠れマルコフモデルに現れる第２の確率を前記テキストブロックの各々について計算すること、
前記テキストブロックの各々について前記第１の確率と前記第２の確率とを比較すること、
もし前記第１の確率が前記第２の確率よりも大きければ、前記テキストブロックを機械プリントテキストとしてマークすること、
もし前記第２の確率が前記第１の確率よりも大きければ、前記テキストブロックを手書きテキストとしてマークすること、及び、
マークされた手書きテキストを除去すること、
によって前記リクエストを処理する、請求項２のシステム。
【請求項４】  手書きテキストと機械プリントテキストとを含むディジタル文書を生成し、かつ前記ディジタル文書をプリントするためのリクエストを生成するためのスキャナー、
前記スキャナーに接続され、前記リクエストを受け取り、前記リクエストを選択的に処理して前記手書きテキストを除去するためのインテリジェントプリンティングコントロールインターフェース、及び
前記インテリジェントプリンティングコントロールインターフェースに接続され、前記選択的に処理されたリクエストをプリントするためのプリンター、
を具備する、文書をコピーするためのシステム。
【請求項５】  前記インテリジェントプリンティングコントロールインターフェースが、さらに、
前記リクエストを受け取るための仮想プリンタードライバー、
前記リクエストを処理するかどうかを判定するためのプリンティングコントロールパネル、及び
前記プリンティングコントロールパネルのコントロールに従って前記リクエストを選択的に処理して前記手書きテキストを除去するための手書き分離モジュール、
を具備する請求項４のシステム。
【請求項６】  前記手書き分離モジュールが、
ディジタルイメージを複数のテキストブロックにセグメント化すること、
前記テキストブロックの各々について観測系列を計算すること、
前記観測系列が機械プリントテキストに関する所定の隠れマルコフモデルに現れる第１の確率を前記テキストブロックの各々について計算すること、
前記観測系列が手書きテキストに関する所定の隠れマルコフモデルに現れる第２の確率を前記テキストブロックの各々について計算すること、
前記テキストブロックの各々について前記第１の確率と前記第２の確率とを比較すること、
もし前記第１の確率が前記第２の確率よりも大きければ、前記テキストブロックを機械プリントテキストとしてマークすること、
もし前記第２の確率が前記第１の確率よりも大きければ、前記テキストブロックを手書きテキストとしてマークすること、及び、
マークされた手書きテキストを除去すること、
によって前記リクエストを処理する、請求項５のシステム。
【請求項７】  手書きテキストと機械プリントテキストとが混在するディジタルイメージの中で機械プリントテキストから手書きテキストを分離するための方法であり、
Ａ．前記ディジタルイメージを複数のテキストブロックにセグメント化するステップ；
Ｂ．前記テキストブロックの各々について観測系列を計算するステップ；
Ｃ．前記観測系列が機械プリントテキストに関する所定の隠れマルコフモデルに現れる第１の確率を前記テキストブロックの各々について計算するステップ；
Ｄ．前記観測系列が手書きテキストに関する所定の隠れマルコフモデルに現れる第２の確率を前記テキストブロックの各々について計算するステップ；
Ｅ．テキストブロックの各々について前記第１の確率と前記第２の確率とを比較するステップ；
Ｆ．もし前記第１の確率が前記第２の確率よりも大きければ、前記テキストブロックを機械プリントテキストとしてマークするステップ；
Ｇ．もし前記第２の確率が前記第１の確率よりも大きければ、前記テキストブロックの各々を手書きテキストとしてマークするステップ；
を含む方法。
【請求項８】  前記テキストブロックの各々が機械プリントテキスト又は手書きテキストのいずれかとしてマークされた後に、エラーを１つずつ補正するために前記ディジタルイメージを後処理するステップ、をさらに具備する請求項７の方法。
【請求項９】  前記セグメント化ステップが、
ディジタルイメージ内で連結成分を生成するステップ、及び、
前記連結成分を複数のテキストブロックにグループ分けするステップ、
を含む、請求項７の方法。
【請求項１０】  前記グループ分けステップが：
近くにある２つの連結成分が同一行にあるかどうかを判定するステップ；
近くにある２つの連結成分が同一行にあるとき、前記２つの連結成分が互いに隣接しているかどうかを判定するステップ；
近くにある２つの連結成分が互いに隣接しているとき、前記２つの連結成分が同じ高さを持っているかどうかを判定するステップ；及び
もし前記２つの連結成分が同じ高さを持っていれば、前記２つの連結成分が単一のテキストブロックにまとめられるステップ；
を含む、請求項９の方法。
【請求項１１】  近くにある２つの連結成分が同一行にあるかどうかを判定するステップが：
前記２つの連結成分の各々について最小垂直座標を特定すること；
前記２つの連結成分の間で前記最小垂直座標の差が第１のしきい値より小さいかどうかを判定するステップ；及び、
前記２つの連結成分の間での前記最小垂直座標の差が前記第１のしきい値より小さいとき、前記２つの連結成分を同一行にあるものとしてマークするステップ；
を含む、請求項１０の方法。
【請求項１２】  同一行にある２つの連結成分が互いに隣接しているかどうかを判定するステップがさらに：
前記２つの連結成分である第１と第２との連結成分の各々について最大水平座標と最小水平座標とを特定するステップ；
前記第１の連結成分の最大水平座標と前記第２の連結成分の最小水平座標との間の差が第２のしきい値よりも小さいかどうかを判定するステップ；
前記第２の連結成分の最大水平座標と前記第１の連結成分の最小水平座標との間の差が前記第２のしきい値よりも小さいかどうかを判定するステップ；及び
前記第１の連結成分の最大水平座標と前記第２の連結成分の最小水平座標との間の差が前記第２のしきい値よりも小さいか、あるいは、前記第２の連結成分の最大水平座標と前記第１の連結成分の最小水平座標との間の差が前記第２のしきい値よりも小さいとき、前記２つの連結成分を互いに隣接しているものとしてマークするステップ；
を含む、請求項１０の方法。
【請求項１３】  ２つの連結成分が同じ高さを持っているかどうかを判定するステップがさらに：
前記２つの連結成分である第１と第２との連結成分の各々について、最大と最小との垂直座標を特定するステップ；
前記第１の連結成分の最大と最小との垂直座標間の差から前記第２の連結成分の最大と最小との垂直座標間の差を除いた残りが第３のしきい値よりも小さいかどうかを判定するステップ；及び、
前記第１の連結成分の最大と最小との垂直座標間の差から前記第２の連結成分の最大と最小との垂直座標間の差を除いた残りが前記第３のしきい値よりも小さいとき、前記２つの連結成分を同じ高さを持つものとしてマークするステップ；
を含む、請求項１０の方法。
【請求項１４】  手書きテキストと機械プリントテキストとの両方を持つ文書のディジタルイメージを生成するステップ；
前記ディジタルイメージをプリントするためのリクエストを生成するステップ；
前記リクエストを処理して前記手書きテキストを選択的に除去するステップ；及び、
前記選択的に処理されたリクエストをプリントのためにプリンターに伝送するステップ；
を有する、文書をコピーし、プリントするための方法。
【請求項１５】  前記リクエストを処理するステップがさらに、
Ａ．前記ディジタルイメージを複数のテキストブロックにセグメント化するステップ；
Ｂ．前記テキストブロックの各々について観測系列を計算するステップ；
Ｃ．前記観測系列が機械プリントテキストに関する所定の隠れマルコフモデルに現れる第１の確率を前記テキストブロックの各々について計算するステップ；
Ｄ．前記観測系列が手書きテキストに関する所定の隠れマルコフモデルに現れる第２の確率を前記テキストブロックの各々について計算するステップ；
Ｅ．前記テキストブロックの各々について前記第１の確率と前記第２の確率とを比較するステップ；
Ｆ．もし前記第１の確率が前記第２の確率よりも大きければ、前記テキストブロックを機械プリントテキストとしてマークするステップ；及び
Ｇ．もし前記第２の確率が前記第１の確率よりも大きければ、前記テキストブロックを手書きテキストとしてマークするステップ；
を含む、請求項１４の方法。
【発明の詳細な説明】
【０００１】
本発明は、機械プリントによるテキストと手書きの注釈とが混在したイメージを処理してそのような手書きの注釈を除去するシステムと方法とに関する。
【０００２】
【発明の背景】
プリンターに送られた文書やコピー機に置かれた文書では、機械プリントテキストと元の内容に上書きされた追加情報という内容の混在はよく起こることである。  
【０００３】
追加情報には例えば、手書きのメモ、書名、スタンプ、等々（まとめて「手書きの注釈」と言う）が含まれる。
【０００４】
多くの場合、ユーザーは、元の内容、例えば、手書きのメモを含まないレビュー用のレターをプリントすることを意図する。
【０００５】
通常のコンピューターシステムでは、図１に示すように、ユーザーアプリケーション１００からの大部分のプリントジョブはグラフィックスデバイスインターフェース（ＧＤＩ)１１０、プリンタードライバー１２０、及びプリントスプーラー１３０を通して実行される。この方法では、ユーザーアプリケーション１００は、文書を生成しプリントリクエストを発する。
【０００６】
ＧＤＩ１１０はオペレーティングシステムの成分であって、グラフィックコールをプリンタードライバーが理解するフォーマットに変換する。ＧＤＩ１１０は、各種のユーザーアプリケーションからリクエストを受信し、これらのリクエストをアプリケーションによって選ばれたプリンターの対応するドライバーに送る。
【０００７】
アプリケーションから見ると、各種のプリンターの間には何の違いもなく、それらは単に出力デバイスと見られる。ＧＤＩ１１０は、テキスト、ビットマップ、及びグラフィックスのレンダリング（すなわち、線を引き、弧をえがき、四角をつくり、それを色で塗りつぶすなど）をサポートする。このプリント方法はアプリケーション１００がデバイスに依らないプリントコマンドを送ってテキストとグラフィックスとのレンダリングを実行させることを可能としている。
【０００８】
これらのプリントコマンドは次にＧＤＩ１１０を通してプリンタードライバー１２０に送られる。プリンタードライバー１２０は標準的なグラフィックスリクエストをプリンターが理解するコマンドに変換し、それらをスプーラー１３０とポートモニター１４０とに送る。最後に、プリンターはスプーラー１３０とモニターとを通してプリントコマンドを受け取る。スプーラー１３０はプリントジョブを管理し、現行の動作を中断することなくコンピューターのＣＰＵからリソースをプリント用に割り当てる。
【０００９】
同様に、従来のディジタルコピー機は同種のサブシステムを含んでいる。但し、そのサブシステムは一定であり、ユーザーからは一般にアクセスされないという、より閉じた環境中に置かれている。
【００１０】
従来技術では、機械プリントテキストと手書きの注釈とを含む文書から手書きの注釈を除去する能力に限界がある。ある方法では、処理中の文書上にマーカー又はテンプレートが置かれて手書きの注釈の位置決めを支援している。例えば、手書きサインの位置決め用に銀行小切手上に磁気インキ文字認識ラインを設置する米国特許No.5,631,9084を参照されたい。
【００１１】
この方法は、そのマーカー又はテンプレートを位置決めするのに特殊な装置を必要とする。別の方法では、分離プロセスの間に手書きの注釈が識別され、機械プリントテキストから分離される。
【００１２】
しかし、その従来技術は、文書に機械プリントテキストと手書きの注釈とが混在したり、手書きの注釈が機械プリントテキストに混じっていたり、つまり、手書きの注釈がマージンのような元の文書の白い空白領域にだけ現れるとは限らないなどの複雑な場合を扱う能力に限界がある。
【００１３】
隠れマルコフモデル（Hidden Markov Model；ＨＭＭ）は多くのアプリケーションで使われてきている。最も成功した応用の１つは音声認識であるが、それはまた光学的文字認識とキーワードの識別とにも応用されてきた。
【００１４】
要するに、ＨＭＭ理論を概観するとき、自然言語の中に具現化されたマルコフ構造の存在に注意することが大切である。たとえば、“ｑ”という文字のあとに“ｕ”という文字を見出す確率は他のどの文字のあとに“ｕ”という字を見出す確率よりも普通大きい。過去と現在との事象が与えられたときのある事象の条件付確率が最も近い事象にのみ依存している、という性質を持っている確率過程がマルコフ過程である。
【００１５】
離散的マルコフ過程では、各々の状態は観測可能な決定論的な事象に対応している。
しかし、隠れマルコフモデルでは、各々の状態の出力は出力確率分布に対応している。
【００１６】
本発明の方法は隠れマルコフモデル（ＨＭＭ）の理論に基礎を置いている。
ＯＣＲの不明な情報が隠れた状態として扱われ、これらの状態から現れる観測系列に基づいて決定が行われる。
【００１７】
したがって、本発明の目的は、手書きの注釈を機械プリントテキストから自動的に分離するためのシステムと方法とを提供することである。
【００１８】
本発明の付加的な目的は、隠れマルコフモデルに基づいて手書きの注釈を機械プリントテキストから自動的に分離するためのシステムと方法とを提供することである。
【００１９】
本発明のさらなる目的は、従来のディジタルコピー機内で実施される、手書きの注釈を機械プリントテキストから自動的に分離するためのシステムと方法とを提供することである。
【００２０】
本発明のもう１つの目的は、従来のプリンターでプリントするために送られてきた文書に含まれる手書きの注釈を機械プリントテキストから自動的に分離するためのシステムと方法とを提供することである。
【００２１】
本発明の種々の他の目的、利点及び特徴は、以下に続く詳しい説明から容易に明らかになるだろうし、また、新しい特徴は付属の請求項で特に指摘されるだろう。
【００２２】
【発明の概要】
これらの目的及び他の目的は本発明によって実現される。本発明は、手書きテキストと機械プリントテキストとが混在する文書を、機械プリントテキストだけを含んでいる文書のようにプリントし、又はコピーするシステムと方法とである。
【００２３】
特に、本発明の第１の実施例は、手書きテキストと機械プリントテキストとを含むディジタル文書を生成し、かつそのディジタル文書の少なくとも１つをプリントするためのリクエストを生成するための手段、その手段に接続され、上記のリクエストを受け取り、そのリクエストを選択的に処理して手書きテキストを除去するためのインテリジェントプリンティングコントロールインターフェース、及び、そのインテリジェントプリンティングコントロールインターフェースに接続され、上記の選択的に処理されたリクエストをプリントするための手段、を具えている。
【００２４】
そのインテリジェントプリンティングコントロールインターフェースは、上記のリクエストを受け取るための仮想プリンタードライバー、そのリクエストを処理するかどうかを判定するためのプリンティングコントロールパネル、及び、そのプリンティングコントロールパネルのコントロールに従って上記のリクエストを選択的に処理して手書きテキストを除去するための手書き分離モジュールを具備する。
【００２５】
さらに、その手書き分離モジュールは上記のリクエストを次のように処理する：ディジタルイメージを複数のテキストブロックにセグメント化し、テキストブロックの各々について観測系列を計算し、その観測系列が機械プリントテキストに関する所定の隠れマルコフモデルに現れる第１の確率をテキストブロックの各々について計算し、上記の観測系列が手書きテキストに関する所定の隠れマルコフモデルに現れる第２の確率をテキストブロックの各々について計算し、テキストブロックの各々について第１の確率と第２の確率とを比較し、もし第１の確率が第２の確率よりも大きければそのテキストブロックを機械プリントテキストとしてマークし、もし第２の確率が第１の確率よりも大きければそのテキストブロックを手書きテキストとしてマークし、マークされた手書きテキストを除去する。
【００２６】
他の実施例では、手書きテキストと機械プリントテキストとを含むディジタル文書を生成し、かつそのディジタル文書をプリントするためのリクエストを生成するためのスキャナー、そのスキャナーに接続され、上記のリクエストを受け取り、そのリクエストを選択的に処理して手書きテキストを除去するためのインテリジェントプリンティングコントロールインターフェース、及び、そのインテリジェントプリンティングコントロールインターフェースに接続され、上記の選択的に処理されたリクエストをプリントするためのプリンター、を含む、文書をコピーするためのシステムを、本発明は構成する。
【００２７】
本発明はまた、手書きテキストと機械プリントテキストとが混在するディジタルイメージの中で機械プリントテキストから手書きテキストを分離するための方法を含む。その方法は：ディジタルイメージを複数のテキストブロックにセグメント化するステップ；テキストブロックの各々について観測系列を計算するステップ；その観測系列が機械プリントテキストに関する所定の隠れマルコフモデルに現れる第１の確率をテキストブロックの各々について計算するステップ；上記の観測系列が手書きテキストに関する所定の隠れマルコフモデルに現れる第２の確率をテキストブロックの各々について計算するステップ；テキストブロックの各々について第１の確率と第２の確率とを比較するステップ；もし第１の確率が第２の確率よりも大きければ、上記のテキストブロックを機械プリントテキストとしてマークするステップ；もし第２の確率が第１の確率よりも大きければ、上記のテキストブロックを手書きテキストとしてマークするステップ；を具える。
【００２８】
本発明の手書き分離方法は更に、各々のテキストブロックが機械プリントテキストか手書きテキストかのいずれかとしてマークされた後に、エラーを１つずつ補正するために上記のディジタルイメージを後処理するステップ、を具備する。
【００２９】
上記の手書き分離方法では特に、上記のセグメント化ステップが、ディジタルイメージ内で連結成分を生成するステップと、それらの連結成分を複数のテキストブロックにグループ分けするステップと、を具備している。
【００３０】
さらに、上記の手書き分離方法のグループ分けステップは、近くにある２つの連結成分が同一行にあるかどうかを判定し、近くにある２つの連結成分が同一行にあるとき、それらが互いに隣接しているかどうかを判定する。
【００３１】
次に、近くにある２つの連結成分が互いに隣接しているとき、上記の方法は、それら２つの連結成分が同じ高さかどうかを判定し、もしそれら２つの連結成分が同じ高さであれば、それら２つの連結成分は単一のテキストブロックにまとめられる。
【００３２】
実施例によって示され、本発明をそれにだけ制限する意図のない本発明の以下の詳細な説明は、それに付随する図面との連係によって最良に理解されるだろう。
【００３３】
【好適実施例の詳細な説述と発明の効果】
図面、特に図２に示すように、インテリジェント・プリンティング・コントロール・インターフェース（以下ＩＰＣＩと言う）２９５は特別なイメージ処理機能、すなわち、手書きの注釈を分離する機能を持つプリント／コピーデバイスを形成するように構成されている。
【００３４】
このプリント／コピーデバイスは汎用のコンピューターシステム内に実装されても良く、又は、専用のプリンター／コピー機内に実装されても良い。
【００３５】
ＩＰＣＩ２９５は仮想プリンタードライバー２９０、プリンティングコントロールパネル２８０、及び、手書き分離モジュール２７５を含んでいる。
【００３６】
ユーザーアプリケーション２００によって生成された文書がプリントされるとき、その文書に関するプリントコマンドはグラフィックス・デバイス・インターフェース（以下ＧＤＩと言う）２１０に渡される。ＧＤＩ２１０はこれらのコマンドを従来通りの方法で処理し、それらを（プリンタードライバーにではなく）ＩＰＣＩ２９５に渡す。
【００３７】
ＩＰＣＩ２９５はプリンティングコントロールパネル２８０のコントロールに従い、プリントコマンドを処理して文書中にある手書きの注釈を除去し、この処理されたプリントコマンドをプリンタードライバー２２０に渡し、スプーラー２３０、ポートモニター２４０及びプリンター２５０を用いる従来の方法、すなわち第１の実施例に関して上述された方法と同じ方法で、文書をプリントさせる。
【００３８】
２種類の文書、すなわち：（１）プリントされた後で元の文書に加えられた手書きの注釈を含む、スキャンされた文書と（２）オンラインの注釈ツールを使って生成された手書きの注釈を含むディジタル文書と、が想定されている。
【００３９】
ＩＰＣＩ２９５は、コンピューターシステムにインストールされたとき、ユーザーにその動作が知られるように（すなわち、ＩＰＣＩ「明示」モードで）インストールされてもよいし、あるいは、その動作が知られないように（すなわち、ＩＰＣＩ「非明示（ブラインド）」モードで）インストールされてもよい。「明示」モードでは、ユーザーが手書き分離機能をうまく利用するために、専用の「ＩＰＣＩプリンター」を選ばなければならない。
【００４０】
「非明示」モードでは、ユーザーが任意の利用可能なプリンターを選択し、その選択されたプリンターの設定を利用して手書き分離機能を設定する。
【００４１】
先に議論したように、仮想プリンタードライバー２９０はＧＤＩ２１０からのコマンドを受け付け、それらを目的のデバイス（すなわち、サードパーティー製のプリンタードライバー２２０、スプーラー２３０、ポートモニター２４０、及びプリンター２５０）に渡す。それに加えて、仮想プリンタードライバー２９０はプリント中の文書内の手書きの注釈を除去する。
【００４２】
動作スピードの向上と実行の簡単化とのために、この除去は検出された手書き領域で元の文書の内容に空白のビットマップを上書きすることによって行われる。
【００４３】
あるいは図３に示すように、本発明の手書き分離方法は専用のプリンター／コピー機３００内の特定目的コンピューター（たとえば、ディジタルコピー機又は多目的周辺装置）で実行できる。専用のプリンター／コピー機３００はスキャニングモジュール３１０、手書き分離モジュール３２０、及びプリントエンジン３３０を含んでいる。
【００４４】
動作中、専用プリンター／コピー機３００は２つの動作モードを持っている。第１のモード（すなわち、「プリントモード」）では、プリントリクエストは外部のユーザーによって外部のコンピューター３４０で発行され、専用プリンター／コピー機３００に送られる。
【００４５】
プリントリクエストは、手書きの注釈を除去する処理のために、手書き分離モジュール３２０に送られ、次に、修正されたプリントリクエストがプリントエンジン３３０にプリントのために送られる。第２のモード（すなわち、「コピーモード」）では、文書はスキャニングモジュール３１０を用いてスキャンされ、得られたディジタルイメージは、手書きの注釈を除去する処理のために、手書き分離モジュール３２０に送られる。
【００４６】
次に、修正されたプリントリクエストがプリントのためにプリントエンジン３３０に送られる。
【００４７】
図４は注釈を除去するために仮想プリンタードライバー２９０によって実行されるステップのフローチャートである。ユーザーアプリケーションによって生成された両タイプの文書（すなわち、スキャンされ、又はディジタル化された文書）について、手書きの注釈を除去する処理は同じであり、イメージは単にＩＰＣＩプリンター（「明示」モード）又は任意のプリンター（「非明示」モード）のいずれかを用いてプリントされるだけである。
【００４８】
図４に示すように、最初のステップはサードパーティーのプリンタードライバーをロードして（ステップ４００）、そのプリンタードライバーの機能を取得する（ステップ４１０）ことである。次に、プリントされるべきイメージがＧＤＩ２１０（図２）から得られる情報を用いてメモリー中に描かれる（ステップ４２０）。
【００４９】
ステップ４３０で、後に詳しく議論する手書き分離アルゴリズムがメモリー中のイメージに適用されて、ステップ４４０で、手書きを含む領域がすべて識別される。そこで、ＧＤＩ２１０から得られた元の情報が何の変更もなしにサードパーティーのプリンタードライバー２２０に渡される（ステップ４５０）。
【００５０】
最後に、手書きを含むことが識別された領域のそれぞれにブランクのビットマップが描かれ、この付加的な情報がサードパーティーのプリンタードライバー２２０に渡される（ステップ４６０）ので、プリント中、手書きの注釈は隠される。
【００５１】
ユーザーインターフェースコントロールパネル２８０は、ＩＰＣＩ２９５の操作を必要なときに設定するためのインターフェースをユーザーに提供する。たとえば、ユーザーはシステムの手書き分離機能を有効にしたり無効にしたりできる。
【００５２】
コンピューターシステムと組み合わされて使用されるときには、ユーザーインターフェースコントロールパネル２８０は、現存のサードパーティープリンターユーザーインターフェースに増設されたプロパティーシートであってもかまわない。ＩＰＣＩプリンターを設定するとき（すなわち、「明示」モード）、又は、インストールされているＩＰＣＩで任意のサードパーティープリンターの操作を設定するとき（すなわち、「非明示」モード）、そのプロパティーシートが呼び出される。
【００５３】
プリンター／コピー機システムと組み合わされて使用されるときには、ユーザーインターフェースコントロールパネル２８０は、そのシステムのユーザーインターフェースを通して従来の方法でコントロールされる（たとえば、表示画面とキーパッド／マウス、又はタッチ画面を通してアクセスできる環境設定メニュー、をプリンター／コピー機は含んでいる）。
【００５４】
手書きの注釈を識別するために、しかるべき特徴の統計的なばらつきが考慮される。あるひとつの文字についての投影分布図が、イメージピクセルをその境界を定めるボックス内で縦方向に投影したものとして定義される。投影分布図の例が図５Ａ、５Ｂに示されている。
【００５５】
機械プリントテキストはその規則性から、投影分布図上に多くの規則性を与える。一方、手書きの注釈は字体がばらつきやすく、不規則に現れるので、それらの投影分布図はよりスムーズである。
【００５６】
機械プリントテキストと手書きの注釈との間での投影分布図の違いは図５Ａと５Ｂとの比較によりはっきりと示されている。
【００５７】
図５Ａは、その大きさが急に、唐突に変化する機械プリント文字「Ｍ」についての投影分布図を示し、図５Ｂは、その大きさがよりゆるやかに変化する手書きの文字「Ｍ」についての投影分布図を示している。
【００５８】
機械プリントテキストと手書きの注釈との間の区別は単語レベルで行われる。１つの単語（又は文字列）は一般に字体が均一であるので、文字レベルにまで下りなくても良いからである。本発明の方法は隠れマルコフ過程（ＨＭＭ）の理論に基づいている。
【００５９】
ＯＣＲの不明な情報が隠れた状態として扱われ、それらの状態から生じる観測系列に基づいて判定が行われる。
【００６０】
投影分布図を分析するとき、たとえば、もし隣接する文字に沿って投影が計算されるならば、機械プリントテキストでは、隣接する文字に沿った投影の変化がマルコフ連鎖とみなされる。
【００６１】
しかし、多数の文字のそれぞれから同じような投影分布図が生じるかも知れないので、マルコフモデルを単純に用いることはできない。隠れマルコフモデルでは、観測値が状態の確率関数である。
【００６２】
ＨＭＭは、背後に隠れた確率過程、すなわち文字識別を含む、二重に埋め込まれた確率過程である。
【００６３】
たとえば、モデルに含まれる状態の数をNとし、各状態に含まれる、はっきりとした観測シンボルの数をMとする。Ａ＝(aij)は状態遷移確率行列である。ここで、
aij＝P(qt+1＝Sj｜qt＝Si)、 1≦i,j≦N (1)
であり、すなわちaijは、時刻tで状態Siにあるときに時刻t+1で状態Sjに変化する確率である。Ｂ＝(bj(k))は観測シンボル確率行列である。ここで、
bj(k)＝P(νk  at  t｜qt＝Sj)、 1≦j≦N、 1≦k≦M (2)
であり、すなわちbj(k)は、時刻tに状態がSjであるとき、時刻tにシンボルνkを観測する確率である。π＝(πi)は初期状態の分布である。すなわち、
πi＝P(q1＝Si)、 1≦i≦N (3)
は時刻t＝1において状態Siにある確率である。
観測系列Ｏ＝Ｏ1Ｏ2...ＯTとマルコフモデルλ＝Ａ，Ｂ，πとが与えられるとき、確率P(Ｏ｜λ)が計算されるべきものである。使われる計算法はいわゆるフォーワード・バックワード計算法である。もしフォーワード変数αt(i)がαt(i)＝P(Ｏ1Ｏ2...Ｏt,qt＝Si｜λ)とセットされるならば、αt(i)は、モデルλが与えられるときに部分観測系列がＯ＝Ｏ1Ｏ2...Ｏt（時刻tまで）であり、かつ時刻tでの状態がSiである確率を表す。フォーワード計算法は以下の通りである。
【００６４】
１．初期化
αt(i)＝πibi(Ｏ1)、 1≦i≦N (4)
２．帰納法
αt+1(j)＝[ΣNi=1αt(i)aij]bj(Ｏt+1)、 1≦t≦T−1、 1≦j≦N (5)
３．終了
P(Ｏ｜λ)＝ΣNi=1αT(i)。 (6)
【００６５】
帰納法から、tが増大するにつれてαtが減少するのは明らかである。もし観測系列が長すぎれば、αtは装置の容量を超えてしまうだろう。したがって、実際にはスケーリングが適用される。ここでは具体的な詳細は議論しないが、隠れマルコフモデル内でのスケーリングは当業者にはよく理解されるところである。
【００６６】
本発明の手書き分離方法は、ＨＭＭを単語レベルで作用させることを目的として、イメージ内でテキストブロックを特定してセグメント化することに依拠する。テキストブロックのセグメント化については多くのアルゴリズムが当業者には知られている。
【００６７】
しかし本発明では、連結成分がまず生成される。次に、以下のように簡単なグループ分け方法が使われる。境界を定めるボックス（以下、単にボックスという）がそれぞれ、（x1_min, x1_max, y1_min, y1_max）と（x2_min, x2_max, y2_min, y2_max）とによって表される２つの連結成分、が与えられたとする。ただし、左上隅に原点を置く座標系において、水平方向の座標をxで表し、垂直方向の座標をyで表す。更に、（x_min, y_min）はボックスの左上隅を表し、（x_max, y_max）はボックスの右下隅を表している。
【００６８】
以下の３つの条件がチェックされる。
１．|y1_min−y2_min|は所定のしきい値T0より小さいか？
２．|x1_max−x2_min|又は|x2_max−x1_min|は所定のしきい値T1より小さいか？
３．|y1_max−y1_min|−|y2_max−y2_min|は所定のしきい値T2より小さいか？
【００６９】
第１の条件は「同じ」行にあるボックスをグループ分けするためのものである。第２の条件は２つのボックスが隣接するためのものであり、第３の条件は２つのボックスが「同じ」高さを持っていることを保証するものである。ここで、「同じ」とはある程度の近さを意味し、その近さは所定のしきい値T0、T1、T2で設定される。
【００７０】
もし上記３つの条件が満足されれば、２つの連結成分は一体化される。新たに一体化されたボックスの座標は
x_min＝min(x1_min, x2_min)
x_max＝max(x1_max, x2_max)
y_min＝min(y1_min, y2_min)
x_max＝min(y1_max, y2_max)
となる。
【００７１】
セグメント化では、小さな連結成分（たとえば、１つのダッシュ）はグループ分けに先だって除去される。
【００７２】
単語レベルでは、セグメント化された単語は、ボックスによって個別に表されているいくつかの文字から構成され得る。観測系列は、単語内にある個々の文字からの投影分布図をつなぎ合わせることによって単語レベルで得られる。
【００７３】
本発明の手書き分離方法で用いられるモデルでは、５２個の大文字と小文字とのラテン文字及び１０個の数字に対応する計６２個の隠れた状態が用いられ、さらに、観測系列では１０個の投影値に対応する１０個のシンボルが用いられる。
【００７４】
このようにして、状態は不明な文字であり、観測系列はその状態の確率関数である。
【００７５】
このモデルでは、状態遷移確率行列Ａの要素aijは、１つの単語内で隣り合う２つの文字間での遷移確率である。観測シンボル確率行列Ｂの要素bjは、与えられた文字又は数字で、あるシンボルが生じる確率であり、初期状態の分布πの要素πiは、単語がある文字又は数字で始まる確率である。
【００７６】
図６は本発明の手書き分離方法における分類プロセスを示すフローチャートである。ある１つのイメージが、上述のように、まずN個のテキスト文字列（単語）にセグメント化される（ステップ６００）。指数iが1に初期化される（ステップ６１０）。
【００７７】
そうして、判断ステップ６２０と指数増加ステップ６９０とに従って、各単語についてループ処理を行う。各ループ処理では、１つの単語内で各文字の投影が計算されて連結され、その単語の観測系列が生成される（ステップ６５０）。もちろん、当業者にはすぐに分かるように、１つの単語について観測系列を計算する方法は沢山ある。
【００７８】
次に、与えられたモデルでその系列が観測される確率（P(Ｏ｜λ)）がある特定のモデルにより与えられる各単語、ここでは、機械プリントテキスト（ステップ６４５と６５５）、又は手書きテキスト（ステップ６６０と６８０）、について計算される。最も高い確率を与えるモデルが結果として選択される（ステップス６７０及び６８０）。
【００７９】
明らかなように、（１）機械モデル、又は（２）手書きモデル、の分類のために、２つのモデルが生成される。隠れマルコフモデルを得るために用いられる方法は後述する。一旦、識別された単語全てが分類されたら、その精度を向上させるために後処理ステップ６３０が後述のように利用される。その後、プロセスが終了する（ステップ６４０）。
【００８０】
一旦、文書内の単語全てがＨＭＭには依らずに分類されると、エラーがある程度残る。すなわち、手書きテキストが機械プリントテキストとして分類されたり、又はその逆になったりし得る。そこで、手書きの注釈を除去する本発明の方法では、大多数の分類結果に基づいて、ある後処理がオプションとして、個々のエラー補正に適用されても良い。
【００８１】
まず、分類された各単語について、３つの数が次のように計算される。
１．ＭＮ  その単語の近傍（主に左右）にある、機械プリントの単語の数
２．ＨＮ  その単語の近傍にある、手書きの単語の数
３．ＭＬ  ほぼ同一行にある、機械プリントの単語の数
【００８２】
それから、ＭＮ、ＨＮ、及びＭＬの値に基づいて下記のルールで進展する。
１．もし現在の単語が手書きに分類されて、それが機械プリントテキスト行にあり（ＭＬ＞１）、しかも、近くに少なくとも１個の機械プリントの単語がある（ＭＮ＞０）ならば、現在の単語を逆に「機械プリントテキスト」に分類せよ。
２．もし現在の単語が機械プリントテキストに分類され、もし２個以上の手書きの単語がその近くにある（ＨＮ＞１）ならば、現在の単語を逆に「手書きの注釈」に分類せよ。もし現在の単語が機械プリントテキスト行にあり（ＭＬ＞１）、しかも、近くに少なくとも１個、機械プリントの単語がある（ＭＮ＞０）ならば、その単語は「機械プリントテキスト」ままで残す。もし現在の単語の近くに１個、手書きの単語があり（ＨＮ＝１）、かつ機械プリントの単語が１個以下しかない（ＭＮ＜＝１）ならば判定は困難で、その現在の単語は「不明」としてマークされる。
【００８３】
後処理の期間に考えられるそれ以外の場合においては全て、判定中の単語の状態はそのままに保たれる。
【００８４】
機械プリントテキスト（λ1）と手書きテキスト（λ2）に対するＨＭＭを得るのに学習が用いられる。モデルの計算は学習プロセスの中でただ１回だけ行うことができる。学習においては、状態遷移確率行列Ａと初期状態の分布πとはＡＳＣＩＩテキストのサンプルから得られる。観測シンボル確率行列Ｂは、様々な字体の文字と数字とをスキャンすることによって得られたビットマップイメージの集合から計算される。状態遷移確率行列Ａと初期状態の分布πとは、機械プリントと手書きとの両方のモデルに対して同じである。
【００８５】
観測シンボル確率行列Ｂは、機械プリントと手書きとで別々に計算されなければならない。図７と図８とは、機械プリントテキストと手書きの注釈とのそれぞれについて観測シンボル確率行列Ｂの学習に使用されるサンプルを示す。
【００８６】
観測シンボル確率行列Ｂの学習では、同じ文字（状態）について、いくつかのサンプルが得られる。各文字のサンプルごとに観測系列が計算され、確率の平均値が計算される。図７で見られるように、機械プリントの文字（状態）のそれぞれに、いくつかの字体が使われている。
【００８７】
手書き文字に対しては、図８に見られるように、個々の手書き文字について異なるユーザーからサンプルが集められねばならない。複数のサンプルの使用は、機械プリントテキストについては種々の字体を考慮し、手書きについては個人差を考慮するためである。学習用サンプルを大量に選択することで、様々な文書スタイルと異なる書き手とにわたり、われわれの判別が確実に不変になるだろう。
【００８８】
その上、上記の観測系列の計算法はフォントサイズには依らない。観測シンボル確率行列Ｂを計算するための学習用サンプルは全て、６００ｄｐｉのプリンターでプリントされ、３００ｄｐｉでスキャンされる。しかし、分解能が違っても、学習には影響を与えないだろう。
【００８９】
本発明の手書き分離方法をテストした結果が図９から１１に示されている。元の文書は全て、６００ｄｐｉでプリントされ、３００ｄｐｉでスキャンされたものである。手書きの注釈は中細のボールペンを使って書かれたものである。図９は、手書きの注釈と機械プリントテキストの混じった文書９００を示している。
【００９０】
図１０は図９の文書９００を処理した後の変更版９１０であり、単語のセグメント化ステップとそれに続く分類ステップとによる機械プリントテキストの識別結果が、元の文書の内容の上に重ねられた、境界を定めるボックス（たとえばボックス９１５）によって図示されている。
【００９１】
図１１は図９の文書９００を処理した後の変更版９２０であり、単語のセグメント化ステップとそれに続く分類ステップとによる手書きの注釈の識別結果が、元の文書の内容の上に重ねられた、境界を定めるボックス（たとえばボックス９２５）によって図示されている。
【００９２】
図９から１１によって示されているように、本発明の方法では、手書きの注釈が機械プリントテキスト上に直に重ねられた場合でも識別され得る。
【００９３】
本発明の手書き分離方法の好適な実施例では、分類ステップが単語単位で実行されるので、それは強靱であり、また処理時間の点で高効率である。
【００９４】
さらに、この方法は、ページの内容の大域的な情報を必要とせず、機械プリントテキストの字体とフォントサイズとが変化するときにも、また、手書きが文書内のどこに現れても、機能し得る。
【００９５】
本発明の方法（機械プリントテキストと手書きの注釈とからなる文書から手書きの注釈を検出する方法）には、種々の応用が存在する。そのような応用の１つは文書の認識である。
【００９６】
効率の良い認識処理のために、同じ文書内にある手書きの注釈と機械プリントテキストとが分離され、機械プリントテキストはＯＣＲのような適当な認識エンジンに送られ、手書きの注釈はＩＣＲ（Inteligent Character Recognition；インテリジェント文字認識）に送られる。
【００９７】
手書きの注釈の分離に関する応用には他に、フォームや銀行小切手の処理がある。その処理では、手書きの注釈だけが対象となる。他の応用には、元の文書内容に対してなされた変更を追跡する自動バージョン管理、元の文書内容の暗号化による伝送とプリント、及び、文書内容に基づいた効率の良い文書の保管、が含まれる。その保管では、最初に元の内容が保管され、その後は、その文書の増分（付加された手書きの注釈等）だけが保存される。
【００９８】
本発明を、以上、特に好適実施例とその種々の性質に関して示し説明しきたが、本発明の精神と範囲から逸脱することなく種々の変化と変更がなされ得ることは当該技術に精通した人々には理解されるであろう。各請求項はここに述べられた実施例、前記された別案、及びそれらのすべての均等物を含むものと解釈されるべきことが意図されている。
【図面の簡単な説明】
【図１】
従来のコンピューターによるプリントリクエストの処理方法を示す図
【図２】
あるコンピューターシステムにおいて実施された本発明のインテリジェントプリントコントロールの要素（複数）を示す図
【図３】
あるプリンター／コピー機システムにおいて実施された本発明のインテリジェントプリントコントロールの図
【図４】
本発明の動作ステップを示すフローチャ−ト
【図５Ａ】
プリントされた文字「Ｍ」に対する投影分布図
【図５Ｂ】
手書きされた文字「Ｍ」に対する投影分布図
【図６】
本発明の手書き分離方法のフローチャート
【図７】
本発明の手書き分離方法で用いるための機械プリントテキスト学習用シート
【図８】
本発明の手書き分離方法で用いるための手書きテキスト学習用シート
【図９】
手書きと機械プリントテキストとが混在するサンプル
【図１０】
本発明の手書き分離方法の機械プリントテキスト識別ステップの出力を示す文書
【図１１】
本発明の手書き分離方法の手書きテキスト識別ステップの出力を示す文書