(57)【要約】【課題】追記元・追記先指定記号と追記文字列範囲指定記号が含まれている可能性のあるストローク群から、追記文字列に該当するストローク群の文字列を認識するようにした情報処理装置を提供する。【解決手段】情報処理装置の受付手段は、ストローク群を受け付け、第１の判定手段は、ストロークが追記元・追記先指定記号候補であるか否かを判定し、第２の判定手段は、ストロークが追記文字列範囲指定記号候補であるか否かを判定し、第３の判定手段は、追記元・追記先指定記号候補と追記文字列範囲指定記号候補が隣接しているか否かを判定し、第４の判定手段は、隣接していると判定された場合、追記元・追記先指定記号候補を追記元・追記先指定記号、及び、追記文字列範囲指定記号候補を追記文字列範囲指定記号であると判定し、第１の認識手段は、追記文字列範囲指定記号によって指定された領域内のストローク群の文字列を認識する。【選択図】図１
2015072541.tif 000002
【特許請求の範囲】
【請求項１】
ストローク群を受け付ける受付手段と、
ストロークが追記元・追記先指定記号候補であるか否かを判定する第１の判定手段と、
ストロークが追記文字列範囲指定記号候補であるか否かを判定する第２の判定手段と、
前記第１の判定手段によって判定された追記元・追記先指定記号候補と前記第２の判定手段によって判定された追記文字列範囲指定記号候補が隣接しているか否かを判定する第３の判定手段と、
前記第３の判定手段によって隣接していると判定された場合、前記追記元・追記先指定記号候補を追記元・追記先指定記号、及び、前記追記文字列範囲指定記号候補を追記文字列範囲指定記号であると判定する第４の判定手段と、
前記第４の判定手段によって判定された追記文字列範囲指定記号によって指定された領域内のストローク群の文字列を認識する第１の認識手段
を具備することを特徴とする情報処理装置。
【請求項２】
前記受付手段によって受け付けられたストローク群から、前記第４の判定手段によって判定された追記元・追記先指定記号と追記文字列範囲指定記号と、該追記文字列範囲指定記号によって指定された領域内の文字列を除去する除去手段と、
前記除去手段による除去後のストローク群を文字認識する第２の認識手段と、
前記追記元・追記先指定記号に基づいて、追記先の位置を判定する第５の判定手段と、
前記第５の判定手段によって判定された追記先の位置に基づいて、前記第２の認識手段による認識結果である文字列に、前記第１の認識手段による認識結果である文字列を挿入する挿入手段
をさらに具備することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第３の判定手段は、さらに、前記追記文字列範囲指定記号候補によって指定された領域内にストローク群が存在する場合に、該追記文字列範囲指定記号候補を追記文字列範囲指定記号であると判定する
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記第３の判定手段は、さらに、前記追記文字列範囲指定記号候補によって指定された領域内の文字列の認識確度が予め定められた閾値よりも高い又は以上である場合に、該追記文字列範囲指定記号候補を追記文字列範囲指定記号であると判定する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記第１の判定手段は、対象としているストロークが追記元・追記先指定記号候補であるか否かを判定する場合に、該ストローク内にループが存在しているか否かの判定を用いる
ことを特徴とする請求項１から４のいずれか一項に記載の情報処理装置。
【請求項６】
前記第１の判定手段は、さらに、前記ループが前記ストローク内の予め定められた範囲に存在しているか否かの判定を用いる、又は、前記ループの大きさが予め定められた範囲内にあるか否かの判定を用いる
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記第２の判定手段は、対象としているストロークが追記文字列範囲指定記号候補であるか否かを判定する場合に、該ストローク形状が楕円形状であるか否かの判定を用いる
ことを特徴とする請求項１から６のいずれか一項に記載の情報処理装置。
【請求項８】
コンピュータを、
ストローク群を受け付ける受付手段と、
ストロークが追記元・追記先指定記号候補であるか否かを判定する第１の判定手段と、
ストロークが追記文字列範囲指定記号候補であるか否かを判定する第２の判定手段と、
前記第１の判定手段によって判定された追記元・追記先指定記号候補と前記第２の判定手段によって判定された追記文字列範囲指定記号候補が隣接しているか否かを判定する第３の判定手段と、
前記第３の判定手段によって隣接していると判定された場合、前記追記元・追記先指定記号候補を追記元・追記先指定記号、及び、前記追記文字列範囲指定記号候補を追記文字列範囲指定記号であると判定する第４の判定手段と、
前記第４の判定手段によって判定された追記文字列範囲指定記号によって指定された領域内のストローク群の文字列を認識する第１の認識手段
として機能させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理プログラムに関する。
【背景技術】
【０００２】
特許文献１には、手書き入力システムを利用し、文字が筆記された記入用紙のその紙面上で的確に記入文字に対する訂正処理を確定させることを課題とし、手書き入力システムは、帳票上のドットパターンを読み込んで筆跡情報を生成するデジタルペンと、この筆跡情報からデジタルペンの筆跡をイメージデータ化した筆跡イメージを生成する筆跡イメージ生成部と、筆跡イメージを入力して文字認識を行う文字認識部と、文字認識結果から削除すべき文字を指定する取消文字指定線と削除対象の文字数を指定する削除文字数指定線とを筆跡イメージより検出する訂正指示検出部と、訂正指示検出部による検出結果に基づいて、文字認識部による文字認識結果を訂正する文字認識結果訂正部とを備えることが開示されている。
【０００３】
特許文献２には、タブレットや電子ペンによる記入手段において、一般の紙とペンを用いた通常の筆記行為とできる限り同じ作業感覚で、記入文字の削除や追加、置換、強調などの変更作業が計算機上で行える手段を提供することを課題とし、筆記者が通常の筆記行為で用いられる、削除を意味する二重線や塗りつぶし、追加を意味する山型もしくは谷型記号や矢印記号、強調を意味する囲み線や下線、といった記号をそれら変更処理の開始及びその対象となる文字を指定するための制御コマンドと対応付け、それらコマンドを筆記情報中から自動的に検出し、当該処理を自動的に実行し、またその際の変更対象文字の検出に関し、前記文字認識手法中で生成された文字切出し情報を利用し、二重線や囲み線などの制御記号が記入された場合、前記文字切出し情報とそれら制御記号との重なりの度合いを求め、変更対象文字の判定に利用することによって、高精度な検出を実現することが開示されている。
【０００４】
特許文献３には、媒体に対する筆記情報に基づく処理を行った後におけるその筆記情報の漏洩を防止することを課題とし、電子ペンで印刷文書に筆記し、通信装置に接続すると、通信装置は、筆記を電子化したストローク情報を端末装置に送信し、端末装置は、ペン認証サーバを用いて電子ペンを認証し、識別情報サーバに問い合わせてストローク情報を関連付ける電子文書の格納場所等を示す電子文書情報を取得し、文書サーバに対して電子文書情報とストローク情報とを送信することで登録を依頼し、これにより、文書サーバは、登録の成功／失敗を示す結果情報を端末装置に送信し、通信装置は、結果情報を受信すると、電子ペン内のストローク情報を消去し、結果情報が登録失敗を示していれば、再入力を促すメッセージを出力することが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−０４０７５９号公報
【特許文献２】特開２００４−１５２０４０号公報
【特許文献３】特開２００８−０７７５５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、追記元・追記先指定記号と追記文字列範囲指定記号が含まれている可能性のあるストローク群から、追記文字列に該当するストローク群の文字列を認識するようにした情報処理装置及び情報処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００７】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、ストローク群を受け付ける受付手段と、ストロークが追記元・追記先指定記号候補であるか否かを判定する第１の判定手段と、ストロークが追記文字列範囲指定記号候補であるか否かを判定する第２の判定手段と、前記第１の判定手段によって判定された追記元・追記先指定記号候補と前記第２の判定手段によって判定された追記文字列範囲指定記号候補が隣接しているか否かを判定する第３の判定手段と、前記第３の判定手段によって隣接していると判定された場合、前記追記元・追記先指定記号候補を追記元・追記先指定記号、及び、前記追記文字列範囲指定記号候補を追記文字列範囲指定記号であると判定する第４の判定手段と、前記第４の判定手段によって判定された追記文字列範囲指定記号によって指定された領域内のストローク群の文字列を認識する第１の認識手段を具備することを特徴とする情報処理装置である。
【０００８】
請求項２の発明は、前記受付手段によって受け付けられたストローク群から、前記第４の判定手段によって判定された追記元・追記先指定記号と追記文字列範囲指定記号と、該追記文字列範囲指定記号によって指定された領域内の文字列を除去する除去手段と、前記除去手段による除去後のストローク群を文字認識する第２の認識手段と、前記追記元・追記先指定記号に基づいて、追記先の位置を判定する第５の判定手段と、前記第５の判定手段によって判定された追記先の位置に基づいて、前記第２の認識手段による認識結果である文字列に、前記第１の認識手段による認識結果である文字列を挿入する挿入手段をさらに具備することを特徴とする請求項１に記載の情報処理装置である。
【０００９】
請求項３の発明は、前記第３の判定手段は、さらに、前記追記文字列範囲指定記号候補によって指定された領域内にストローク群が存在する場合に、該追記文字列範囲指定記号候補を追記文字列範囲指定記号であると判定することを特徴とする請求項１又は２に記載の情報処理装置である。
【００１０】
請求項４の発明は、前記第３の判定手段は、さらに、前記追記文字列範囲指定記号候補によって指定された領域内の文字列の認識確度が予め定められた閾値よりも高い又は以上である場合に、該追記文字列範囲指定記号候補を追記文字列範囲指定記号であると判定することを特徴とする請求項３に記載の情報処理装置である。
【００１１】
請求項５の発明は、前記第１の判定手段は、対象としているストロークが追記元・追記先指定記号候補であるか否かを判定する場合に、該ストローク内にループが存在しているか否かの判定を用いることを特徴とする請求項１から４のいずれか一項に記載の情報処理装置である。
【００１２】
請求項６の発明は、前記第１の判定手段は、さらに、前記ループが前記ストローク内の予め定められた範囲に存在しているか否かの判定を用いる、又は、前記ループの大きさが予め定められた範囲内にあるか否かの判定を用いることを特徴とする請求項５に記載の情報処理装置である。
【００１３】
請求項７の発明は、前記第２の判定手段は、対象としているストロークが追記文字列範囲指定記号候補であるか否かを判定する場合に、該ストローク形状が楕円形状であるか否かの判定を用いることを特徴とする請求項１から６のいずれか一項に記載の情報処理装置である。
【００１４】
請求項８の発明は、コンピュータを、ストローク群を受け付ける受付手段と、ストロークが追記元・追記先指定記号候補であるか否かを判定する第１の判定手段と、ストロークが追記文字列範囲指定記号候補であるか否かを判定する第２の判定手段と、前記第１の判定手段によって判定された追記元・追記先指定記号候補と前記第２の判定手段によって判定された追記文字列範囲指定記号候補が隣接しているか否かを判定する第３の判定手段と、前記第３の判定手段によって隣接していると判定された場合、前記追記元・追記先指定記号候補を追記元・追記先指定記号、及び、前記追記文字列範囲指定記号候補を追記文字列範囲指定記号であると判定する第４の判定手段と、前記第４の判定手段によって判定された追記文字列範囲指定記号によって指定された領域内のストローク群の文字列を認識する第１の認識手段として機能させるための情報処理プログラムである。
【発明の効果】
【００１５】
請求項１の情報処理装置によれば、追記元・追記先指定記号と追記文字列範囲指定記号が含まれている可能性のあるストローク群から、追記文字列に該当するストローク群の文字列を認識することができる。
【００１６】
請求項２の情報処理装置によれば、追記元・追記先指定記号と追記文字列範囲指定記号によって、追記元の文字列に追記文字列を挿入することができる。
【００１７】
請求項３の情報処理装置によれば、本構成を有していない場合に比較して高精度に、追記文字列範囲指定記号候補を追記文字列範囲指定記号であると判定することができる。
【００１８】
請求項４の情報処理装置によれば、本構成を有していない場合に比較して高精度に、追記文字列範囲指定記号候補を追記文字列範囲指定記号であると判定することができる。
【００１９】
請求項５の情報処理装置によれば、本構成を有していない場合に比較して高精度に、追記元・追記先指定記号候補であるか否かを判定することができる。
【００２０】
請求項６の情報処理装置によれば、本構成を有していない場合に比較して高精度に、追記元・追記先指定記号候補であるか否かを判定することができる。
【００２１】
請求項７の情報処理装置によれば、本構成を有していない場合に比較して高精度に、追記文字列範囲指定記号候補であるか否かを判定することができる。
【００２２】
請求項８の情報処理プログラムによれば、追記元・追記先指定記号と追記文字列範囲指定記号が含まれている可能性のあるストローク群から、追記文字列に該当するストローク群の文字列を認識することができる。
【図面の簡単な説明】
【００２３】
【図１】本実施の形態の構成例についての概念的なモジュール構成図である。
【図２】本実施の形態による処理例を示すフローチャートである。
【図３】本実施の形態による処理例を示すフローチャートである。
【図４】ストローク情報のデータ構造例を示す説明図である。
【図５】修正前文字列、追記文字列、記号の例を示す説明図である。
【図６】修正前文字列、追記文字列、記号の例を示す説明図である。
【図７】記号１の例を示す説明図である。
【図８】記号１のループの例を示す説明図である。
【図９】記号２の例を示す説明図である。
【図１０】記号１の例を示す説明図である。
【図１１】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【図１２】従来技術において、文字列の修正例を示す説明図である。
【図１３】従来技術において、文字列の追加例を示す説明図である。
【図１４】従来技術において、文字列の追加例を示す説明図である。
【図１５】本実施の形態を実現化する場合のシステム例を示す説明図である。
【図１６】情報画像が印刷された電子ペン用紙の例を示す説明図である。
【図１７】電子ペン内の構成例を示す説明図である。
【図１８】電子ペンによる処理例を示すフローチャートである。
【図１９】本実施の形態で取り扱う情報画像（コードパターン画像）の例を示す説明図である。
【図２０】本実施の形態における情報の符号化処理例及び情報画像（ドットコード画像）の生成処理例を示す説明図である。
【発明を実施するための形態】
【００２４】
まず、本実施の形態を説明する前に、その前提となる技術について図１２〜１４を用いて説明する。なお、この説明は、本実施の形態の理解を容易にすることを目的とするものである。
電子ペンを用いて文字認識をする装置において、一旦記入された文字に追記を行いたい場合がある。例えば、文字列「ＡＢＣ」と記載した後で、実は、「ＡＢＤＥＣ」と修正を行いたいと考える場合がある。「Ｂ」と「Ｃ」の間に空間があれば、無理やり「ＤＥ」
を書き加える方法があるが、空間が無い場合に挿入を行う方法が必要となる。
ワードプロセッサ等のようにコンピュータ上の電子情報を用いる場合は、「Ｂ」と「Ｃ」の間を空けて（「Ｂ」と「Ｃ」の間にカーソルを移動させて）、「ＤＥ」を入れることができる。
しかしながら、電子ペンを用いる場合は、既にインクで紙上に「ＡＢＣ」と記載されているため（その文字列の位置が既にストローク情報として取り込まれているため）、その位置を変更することは不可能である。
【００２５】
以下の例では、電子ペンを用いたオンライン文字認識において、文字列「ＡＢＣ」を文字列「ＡＢＤＥＣ」に修正する例（文字列「ＡＢＣ」の「Ｂ」と「Ｃ」の間に、文字列「ＤＥ」を挿入する例）を示している。
図１２は、特許文献１に記載の技術において、文字列の修正例を示す説明図である。図１２の例に示されるように、横棒等の取消線１２１０を用いて、文字列を取り消す（削除する）。さらに、その取消線１２１０に接続される矢印１２２０を用いて、修正後の文字列を指定する。
図１３は、特許文献２に記載の技術において、文字列の追加例を示す説明図である。図１３の例に示されるように、谷状の形状（図１３（ａ）の例に示す追記記号（谷状記号）１３１０）や矢印（図１３（ｂ）の例に示す追記記号（矢印）１３２０）等の追記記号を用いて、挿入文字と挿入位置を指定する。
【００２６】
特許文献１に記載の技術では、追記を行う場合、一旦削除してから、訂正を行う必要がある。図１３の例に示したように、「ＤＥ」だけを追記すればよい場合でも、文字列「ＡＢＤＥＣ」全体を記入する必要がある。
特許文献２に記載の技術では、追記記号を認識するときに、谷型「Ｖ」（追記記号（谷状記号）１３１０）や、矢印「→」（追記記号（矢印）１３２０）のような記号は、文字として誤認識されやすい。例えば、谷型記号は、ローマ字のＶと誤認識されやすい。そのため、従来技術では、まず文字行認識を行って、文字行の位置を用いて追記記号を分離する。
図１３（ａ）の例では、まず「ＡＢＣ」の認識を行う。その後で、「ＡＢＣ」の行位置から外れており、かつ、追記記号として妥当な記号を抽出する。このようにして、追記記号と文字を分離する。この場合、文字行を正確に抽出することが必要となる。ところが、そもそも「谷型」（追記記号（谷状記号）１３１０）と、「Ｖ」の文字との形の区別が付き難いため、図１４の例に示すように、「ＡＢＣ」の文字列の高さと追記記号（谷状記号）１３１０を含めた文字行（高さ）１４３０と認識される可能性が高い。その場合、認識結果が「ＡＢＶＣ」となってしまう場合がある。つまり、文字行を正確に抽出することが困難であり、その結果、追記記号を抽出することも困難となる。
さらに、文字行間が狭い場合には、隣接する文字行との間に、追記文字を記載する必要があるため、谷型を用いた追記が困難である。
【００２７】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図１は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム（コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム）、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、２以上の値（もちろんのことながら、全ての値も含む）が同じであってもよい。また、「Ａである場合、Ｂをする」という意味を有する記載は、「Ａであるか否かを判定し、Ａであると判定した場合はＢをする」の意味で用いる。ただし、Ａであるか否かの判定が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」（社会システム）にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、外部記憶媒体、通信回線を介した記憶装置、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）内のレジスタ等を含んでいてもよい。
【００２８】
本実施の形態である情報処理装置は、追記元・追記先指定記号と追記文字列範囲指定記号が含まれている可能性のあるストローク情報１０５を用いた文字認識装置であって、図１の例に示すように、追記記号認識モジュール１１０、追記記号と追記文字列除去モジュール１２０、追記文字列文字認識モジュール１３０、除去後文字列文字認識モジュール１４０、文字列挿入モジュール１５０を有している。
【００２９】
各モジュールの機能、処理を説明する前に、本実施の形態における概要を説明する。なお、この説明は、本実施の形態の理解を容易にすることを目的とするものである。
本実施の形態における追記記号は、以下の３つを実現するためのものである（本発明の効果として把握すべきものではない）。
（１）文字行を認識しなくても追記記号を認識できる。
（２）追記記号の記入負荷を小さくするための記号とする。
（３）文字行間が狭くても追記が可能である。
つまり、文字行に関係なく認識するため、ストローク情報の段階で追記記号を認識する。そして、ストローク情報だけで追記文字であることを確定できるようにする。
これらを実現するためには、複雑な形状を持った追記記号を設計すればよい。しかしながら、複雑な形状を持たせると、追記記号を記入するユーザ（操作者）の負荷が増大してしまう。
追記記号に必要な機能は、下記の４つである。
（１）追記位置（追記先、挿入位置）の指定
（２）追記文字列（追記元）の指定
（３）追記文字列範囲の指定
（４）追記先と追記元のリンクの指定
このうち、（１）追記位置の指定と（２）追記文字列の指定と（４）追記先と追記元のリンクの指定は、２つの座標位置をつなぐ曲線（ここでは、直線を含む）で実現する。
この曲線は、ユーザによって長さを自由に変えられるものとする。これによって、文字行が密接している場合でも、追記文字列を余白のある部分に持っていくことができる。どちらが追記位置でどちらが追記文字列であるかは、追記文字列範囲が指定されているほうを追記文字列であると判定することにより、決定できる。
追記元・追記先指定記号は、追記元と追記先を指定し、それがつながっていることを示す記号であって、その長さはユーザの指定による曲線である。そして、追記文字列範囲指定記号は、追記文字列の領域を指定する記号である。追記記号は、この２つの記号によって構成される。
ここで、追記記号の一例（典型例）を図５に示す。追記元・追記先指定記号として記号１：５１０があり、追記文字列範囲指定記号として記号２：５２０がある。ここでは、記号１：５１０は、追記元（文字列「ＤＥ」）と追記先（「Ｂ」と「Ｃ」の間）を示し、それがつながっていることを示す曲線であり、記号２：５２０は、追記元（文字列「ＤＥ」）の領域を示している。つまり、修正前文字列５００の文字列「ＡＢＣ」の「Ｂ」と「Ｃ」の間に、追記文字列５９０である文字列「ＤＥ」を挿入することを示している。
さらに、記号１：５１０と記号２：５２０が隣接していることを条件として、追記記号を構成していると認識することによって、文字と誤認識する危険性を低減させる。また、典型的には、この記号１：５１０と記号２：５２０は、それぞれ一筆（１ストロークで書かれるものとする）である。
なお、文字列という場合は１文字以上の文字の連なりをいう。したがって、１文字も文字列に含まれる。
【００３０】
追記記号認識モジュール１１０は、追記記号と追記文字列除去モジュール１２０と接続されている。追記記号認識モジュール１１０は、ストローク情報１０５を受け付ける。追記記号認識モジュール１１０によって受け付けられるストローク情報１０５（群）には、文字列を表すストロークの他に、追記元・追記先指定記号を示すストローク、追記文字列範囲指定記号を示すストロークが含まれている可能性がある。また、文字列を表すストロークは、追記する文字列を表すストローク（追記文字列範囲指定記号によって指定された領域内のストローク）と、追記される文字列（修正前の文字列）を表すストロークがある。追記元・追記先指定記号、追記文字列範囲指定記号は、予め定められた規則に基づいて記載されたストロークである。具体的には、図５の例を用いて説明したものである。
ストローク情報１０５として、例えば、ストローク情報４００がある。図４は、ストローク情報４００のデータ構造例を示す説明図である。ストローク情報４００は、時刻欄４１０、座標位置欄４２０、ペンアップ／ダウン欄４３０を有している。時刻欄４１０は、時刻を記憶している。ここでの時刻は、時系列を示す情報（座標位置が発生した順序を示す情報）であればよい。座標位置欄４２０は、座標位置を記憶している。座標位置は、電子ペンの紙上での位置（例えば、ＸＹ座標）を示している。ペンアップ／ダウン欄４３０は、ペンアップとペンダウンを示す情報を記憶している。ペンアップは、紙から電子ペンを離したことを示しており、ペンダウンは、紙に電子ペンを押し当てたこと（押し当てていること）を示している。
例えば、１秒に７０回〜１００回程度の頻度で得られた電子ペンの座標位置と、電子ペンのアップダウン情報を用いて、ストローク情報４００が生成される。
電子ペンがダウンしている状態は、紙に文字が書かれている状態としてみなすことができる。すなわち、電子ペンがダウンしてからアップするまでを一つのストローク（一筆で書かれる文字の線）としてみなせる。
このストローク情報１０５を用いて、紙上に記載された文字を認識することができる。ストローク情報１０５を用いて文字を認識する手法は種々存在している。
【００３１】
図６の例は、追記記号認識モジュール１１０が受け付けたストローク情報１０５を分かりやすいようにラスターに変換して表示したものである。
追記記号認識モジュール１１０では、１ストローク毎に、記号１：５１０（追記元・追記先指定記号）の候補であるか否かを判定する。また、記号２：５２０（追記文字列範囲指定記号）の候補であるか否かを判定する。記号１：５１０と記号２：５２０が１ストロークで記載される場合もあるので、１ストローク毎に、そのストロークが、記号１：５１０の候補であるか、記号２：５２０の候補であるか、その両方か、又はその両方ではないかを判定する。なお、記号１：５１０の候補、記号２：５２０の候補と表記しているが、追記記号を構成する記号１：５１０、記号２：５２０であるか否かは、記号１：５１０と記号２：５２０との位置関係（後述）によるので、単体の記号１：５１０、記号２：５２０を認識することは、記号１：５１０の候補、記号２：５２０の候補を認識することである。ただし、以下の説明において、記号１：５１０の候補、記号２：５２０の候補を、単に記号１：５１０（又は追記元・追記先指定記号）、記号２：５２０（又は追記文字列範囲指定記号）と表記する場合もある。
【００３２】
その後、記号１：５１０の候補と記号２：５２０の候補が隣接するか否かを判定する。記号１：５１０の候補と記号２：５２０の候補が隣接する場合、記号１：５１０の候補を記号１：５１０とし、記号２：５２０の候補を記号２：５２０として、記号１：５１０と記号２：５２０によって構成される追記記号であると判定する。記号１：５１０の２つの端点のうち、記号２：５２０に近いほうの端点を追記元とし、記号２：５２０から遠いほうを追記先とする。記号１：５１０と記号２：５２０が隣接する場合については後述する。もちろんのことながら、記号１：５１０と記号２：５２０が１ストロークで記載された場合は、隣接していると判定する。
そして、記号１：５１０に基づいて、追記先の位置を判定する。具体的には、記号１：５１０の２つの端点のうち、記号２：５２０から遠いほうの端点の位置を、追記先の位置とする。位置としては、座標であってもよいし、ストローク情報１０５から文字毎の位置が判明している場合は、追記される文字列（修正前の文字列）内の文字間の位置（例えば、第Ａ番目の文字と第Ａ＋１番目の文字の間）の指定であってもよい。
さらに、記号２：５２０で指定された範囲内（図６の例では、記号２：５２０によって囲まれた領域）の文字列を、追記文字列５９０として抽出する。
【００３３】
追記記号と追記文字列除去モジュール１２０は、追記記号認識モジュール１１０、追記文字列文字認識モジュール１３０、除去後文字列文字認識モジュール１４０と接続されている。追記記号と追記文字列除去モジュール１２０は、追記記号認識モジュール１１０によって受け付けられたストローク情報１０５から、追記記号認識モジュール１１０によって判定された記号１：５１０（追記元・追記先指定記号）と記号２：５２０（追記文字列範囲指定記号）のストロークと、その記号２：５２０によって指定された領域内の文字列（追記文字列）のストロークを除去する。したがって、除去処理後のストロークは、追記される文字列（修正前の文字列）のストロークである。図６（ａ）の例では、図６（ｂ）の例に示す修正前文字列５００である。この除去処理後のストロークを除去後文字列文字認識モジュール１４０へ渡す。また、記号２：５２０によって指定された領域内の文字列のストロークは、追記文字列文字認識モジュール１３０へ渡す。図６（ａ）の例では、図６（ｃ）の例に示す追記文字列５９０である。
【００３４】
追記文字列文字認識モジュール１３０は、追記記号と追記文字列除去モジュール１２０、文字列挿入モジュール１５０と接続されている。追記文字列文字認識モジュール１３０は、追記記号認識モジュール１１０によって判定された記号２：５２０によって指定された領域内のストローク群の文字列を認識する。図６（ａ）の例では、図６（ｃ）の例に示す追記文字列５９０を認識し、文字列「ＤＥ」を認識結果とする。
除去後文字列文字認識モジュール１４０は、追記記号と追記文字列除去モジュール１２０、文字列挿入モジュール１５０と接続されている。除去後文字列文字認識モジュール１４０は、追記記号と追記文字列除去モジュール１２０による除去後のストローク群を文字認識する。図６（ａ）の例では、図６（ｂ）の例に示す修正前文字列５００を認識し、文字列「ＡＢＣ」を認識結果とする。
【００３５】
文字列挿入モジュール１５０は、追記文字列文字認識モジュール１３０、除去後文字列文字認識モジュール１４０と接続されている。文字列挿入モジュール１５０は、追記記号認識モジュール１１０によって判定された追記先の位置に基づいて、除去後文字列文字認識モジュール１４０による認識結果である文字列に、追記文字列文字認識モジュール１３０による認識結果である文字列を挿入して、最終的な認識結果１５５を生成する。文字列を挿入することによって、追記後の文字列（修正後の文字列）を生成することになる。図６（ａ）の例では、文字列「ＡＢＤＥＣ」となる。また、文字列挿入モジュール１５０は、追記先位置が座標である場合は、認識結果の各文字の座標から「Ｂ」と「Ｃ」の間であることを判定して、「ＡＢＣ」に「ＤＥ」を挿入して、認識結果「ＡＢＤＥＣ」を出力する。また、追記先位置が文字間の位置である場合は、その文字間に追記文字列「ＤＥ」を挿入すればよい。
【００３６】
図２は、本実施の形態による処理例を示すフローチャートである。
ステップＳ２０２では、追記記号認識モジュール１１０が、ストローク情報１０５を受け付ける。
ステップＳ２０４では、追記記号認識モジュール１１０が、ストローク情報１０５から記号１：５１０と記号２：５２０によって構成されている追記記号を認識する。詳細な処理については、図３の例を用いて後述する。
ステップＳ２０６では、追記記号と追記文字列除去モジュール１２０が、ストローク情報１０５から追記記号と追記文字列を除去して、修正前の文字列のストローク情報を抽出する。
ステップＳ２０８では、追記文字列文字認識モジュール１３０が、追記文字列のストローク情報を文字認識する。
ステップＳ２１０では、除去後文字列文字認識モジュール１４０が、修正前の文字列のストローク情報を文字認識する。
ステップＳ２１２では、文字列挿入モジュール１５０が、追記記号の認識結果（追記先の位置）を用いて、修正前の文字列に追記文字列を追記する。
ステップＳ２１４では、文字列挿入モジュール１５０が、修正後の文字列である認識結果１５５を出力する。
なお、ステップＳ２０８、ステップＳ２１０の処理は、いずれを先に行ってもよいし、並列的に処理を行ってもよい。
【００３７】
図３は、本実施の形態による処理例を示すフローチャートである。
ステップＳ３０２では、ストローク情報１０５から記号１：５１０を認識する。記号１：５１０の判定に関しては、記号１：５１０の仕様に依存する。記号１：５１０の仕様について、図７の例を用いて説明する。
図７（ａ）に示す例の場合、追記元・追記先指定記号は、ループが１回あることを条件としている。追記記号認識モジュール１１０が、対象としているストロークが追記元・追記先指定記号候補であるか否かを判定する場合に、そのストローク内にループが存在しているか否かの判定を用いる。図７（ａ）に示す例の場合、ループが１回あれば追記元・追記先指定記号候補と判定する。ここで対象としているストロークは、１ストロークである。ストロークは、各時刻の点位置で表すことができる。図８に示す例は、時刻ｔｎのときに存在するペン先位置を示す。ストロークをラスタライズする場合は、時刻ｔｎとｔｎ＋１の点位置を線分でつなげばよい。ループがあるか否かを判定するには、一つのストローク（すなわち、ペンがダウンしてからアップするまで）で、時刻ｔｎとｔｎ＋１をつないだ全線分を生成し、各線分が（線分の端点を含めて）クロスするか否かを判定すればよい。
図８に示す例では、ｔ１−ｔ２を結んだ線分と、ｔ５−ｔ６を結んだ線分がクロスするため、ループが発生していると判定する。
このようにしてループの回数を数えて、図７（ｂ）に示す例のようにループが無い曲線を記号１：５１０の条件としてもよいし、図７（ｃ）に示す例のようにループが２回（以上）存在することを記号１：５１０の条件としてもよい。
【００３８】
ステップＳ３０４では、ストローク情報１０５から記号２：５２０を認識する。記号２：５２０の判定に関しては、記号２：５２０の仕様に依存する。記号２：５２０の仕様について、図９の例を用いて説明する。
記号２：５２０の仕様として、図９（ａ）に示す例のような、追記文字列を囲う楕円形状（円を含む）、図９（ｂ）に示す例のような、追記文字列の先端と終端に曲がった直線がある下線、図９（ｃ）に示す例のような、単なる下線等のように、文字列の範囲が確定できる記号であればよい。したがって、対象としているストロークが追記文字列範囲指定記号候補であるか否かを判定する場合に、図９（ａ）の例の仕様であると、そのストローク形状が楕円形状であるか否かの判定を用いる。図９（ｂ）の例の仕様であると、そのストローク形状が３本直線で構成されているか否かの判定を用いる。図９（ｃ）の例の仕様であると、そのストローク形状が直線であるか否かの判定を用いる。
図９（ａ）に示す例を判定するためには、例えば、次のような判定手法がある。
（１）通常のストローク認識で、楕円形状か否かを判定すればよい。
（２）一旦ラスタライズして、ラスタライズ後の画像を文字認識して、楕円形状か否かを判定する。
（３）前述したようにループが１回か否かを判定し、ループ外の曲線長が予め定められた閾値よりも短いことを判定する。
また、楕円形状の判定には、例えば、次のような判定手法がある。
（１）ストローク長Ｌと外接矩形の縦横長Ｗとする。ＬとＷの比が予め定められた閾値範囲内であることを判定する。
（２）点列と最も合致する（最小２乗法で最もマッチする）楕円の式を求める。そのときの点と楕円との距離の２乗和の平方根を点数で割ったものが、予め定められた閾値以下であれば、楕円形状であると判定する。
図９（ｂ）に示す例を判定するためには、通常のストローク認識で、３本の直線によって構成されているか否かを判定すればよい。
図９（ｃ）に示す例を判定するためには、通常のストローク認識で、１本の直線によって構成されているか否かを判定すればよい。特に、この場合、次に示す条件を付加してもよい。次に示す条件は、図９（ａ）、図９（ｂ）に示す例の場合に付加してもよい。
【００３９】
追記記号認識モジュール１１０は、さらに、追記文字列範囲指定記号候補によって指定された領域内にストローク群が存在する場合に、その追記文字列範囲指定記号候補を追記文字列範囲指定記号であると判定するようにしてもよい。つまり、追記文字列のストロークがあるからこそ、追記文字列範囲指定記号であると判定するものである。
追記記号認識モジュール１１０は、さらに、追記文字列範囲指定記号候補によって指定された領域内の文字列に対して追記文字列文字認識モジュール１３０による認識結果の認識確度が予め定められた閾値よりも高い場合に、その追記文字列範囲指定記号候補を追記文字列範囲指定記号であると判定するようにしてもよい。つまり、単にストロークがあるだけでなく、認識可能な文字を示すストロークであるからこそ、追記文字列範囲指定記号であると判定するものである。また、追記記号認識モジュール１１０は、この判定処理に先立ち、追記文字列範囲指定記号候補によって指定された領域内の文字列を、追記文字列文字認識モジュール１３０に認識させる。そして、その認識結果の認識確度を用いて、追記文字列範囲指定記号候補が追記文字列範囲指定記号であるか否かを判定する。ここで認識確度とは、その認識結果が正しいことを示す値であって、例えば、特徴空間における対象のストローク群と辞書内の文字パターンとの距離の逆数等を用いればよい。
【００４０】
ステップＳ３０６では、追記位置を抽出する。前述したように、追記元・追記先指定記号の端点と追記文字列範囲指定記号との位置関係によって、追記位置を抽出すればよい。
ステップＳ３０８では、追記文字列を抽出する。図９（ａ）に示す例では、楕円形状に囲まれたストローク群を対象とすればよい。図９（ｂ）に示す例では、先端と終端にある直線に囲まれたストローク群を対象とすればよい。図９（ｃ）に示す例では、追記文字列範囲指定記号の直線と予め定められた距離以内にあるストローク群を対象とすればよい。例えば、ストロークの一部分でも含まれていれば、そのストロークを対象に含めてもよい。
なお、ステップＳ３０２、ステップＳ３０４の処理の組み合わせ、又はステップＳ３０６、ステップＳ３０８の処理の組み合わせにおいては、いずれの処理を先に行ってもよい。ユーザの筆順に合わせてもよいし、並列的に処理を行ってもよい。
【００４１】
追記記号認識モジュール１１０は、対象としているストロークが追記元・追記先指定記号候補であるか否かを判定する場合に、そのストローク内にループが存在しているか否かの判定を用いるだけでなく、さらに、そのループがそのストローク内の予め定められた範囲に存在しているか否かの判定を用いるようにしてもよい。
図１０は、記号１：５１０の例を示す説明図である。
ループが一つ存在している場合（図７（ａ）の例）の判定について説明する。
このとき、ループの位置がストロークの中央に近いことを条件として、追記元・追記先指定記号であると判定する。ここで「中央に近い」とは、例えば、ストロークの全長において、５０％を含むように予め定められた範囲にあること（例えば、４０％から６０％）をいう。
これによって、追記元・追記先指定記号であると誤判定する可能性を小さくすることができる。
図１０（ａ）に示す例は、追記元・追記先指定記号であると判定する。ループが端にある図１０（ｂ）に示す例は、追記元・追記先指定記号ではないと判定する。なお、これは、ユーザに対して、できるだけループを真ん中に書くように指示することによって、このような判定が意味を持つことになる。
ループの位置は、前述した方法で得ることができる。このとき、ループを構成する点の位置を得ることができる。
図８に示す例であれば、ｔ２〜ｔ５がループを構成するとみなす。
ループより前（ｔ２より前）に描かれた点の数をＰ０とする。
ループとして（ｔ２〜ｔ５の間に）描かれた点の数をＰ１とする。
ループより後（ｔ５より後）に描かれた点の数をＰ２とする。
ループがおおよそ中央に描かれていることを判定する。例えば、Ｐ０／Ｐ２の値が、予め定められた閾値Ｔ１〜Ｔ２の間に入っていることを判定する。Ｔ１とＴ２は、１に近い値であればよい。例えば、Ｔ１＝０．７、Ｔ２＝１．５等の数値としてもよい。
前述では、Ｐ０、Ｐ１、Ｐ２を点の数として計算したが、点の数ではなく、実際に描画に要した時間を用いてもよい。
また、ループが２つ以上についても、その２つ以上のループの位置が予め定められた範囲内にあることを条件として、追記元・追記先指定記号であると判定してもよい。
【００４２】
追記記号認識モジュール１１０は、対象としているストロークが追記元・追記先指定記号候補であるか否かを判定する場合に、そのストローク内にループが存在しているか否かの判定を用いるだけでなく、さらに、そのループの大きさが予め定められた範囲内にあるか否かの判定を用いるようにしてもよい。
ループが一つ存在している場合（図７（ａ）の例）の判定について説明する。このとき、ループの大きさが、予め定められた大きさ以上である場合に、追記元・追記先指定記号であると判断するようにしてもよい。これによって、追記元・追記先指定記号であると誤判定する可能性を小さくすることができる。
図８に示す例であれば、ｔ２〜ｔ５がループを構成するとみなす。Ｐ０、Ｐ１、Ｐ２を、前述の通りとする。本例では、ループの大きさを用いる。例えば、Ｐ１／（Ｐ０＋Ｐ１＋Ｐ２）が、閾値Ｔ３〜Ｔ４の間に入っていることを判定する。Ｔ３とＴ４は、ループの大きさとして妥当な値であればよい。例えば、Ｔ３＝０．１、Ｔ４＝０．５等がある。
また、ループが２つ以上についても、その２つ以上のループの大きさの合計値が予め定められた範囲内にあることを条件として、追記元・追記先指定記号であると判定してもよい。
また、ループの位置、ループの大きさの組み合わせを条件としてもよい。
【００４３】
追記記号認識モジュール１１０が行う、追記元・追記先指定記号の候補と追記文字列範囲指定記号の候補が隣接するか否かの判定処理について説明する。
（１）追記元・追記先指定記号の候補内の点と、追記文字列範囲指定記号の候補内の点のうち、最も距離が近い点を探索する。
追記元・追記先指定記号の候補内の点は、図４の例に示されているようなストローク情報４００（座標位置欄４２０）の座標値として表わすことができる。この点の数をＭとする。
追記文字列範囲指定記号の候補内の点も同様に、図４の例に示されているようなストローク情報４００（座標位置欄４２０）の座標値として表わすことができる。この点の数をＮとする。
前記の条件で、Ｍ×Ｎ通りの点と点の距離を算出し、その算出した距離の中で最も近い距離を抽出する。この抽出した距離が、予め定められた値未満であれば隣接していると判定し、予め定められた値以上であれば隣接していないと判定する。
（２）追記元・追記先指定記号の候補と、追記文字列範囲指定記号の候補のそれぞれの外接矩形を抽出する。外接矩形間の距離（例えば、各外接矩形の中心間の距離）を算出する。この算出した距離が、予め定められた値未満であれば隣接していると判定し、予め定められた値以上であれば隣接していないと判定する。
（３）追記元・追記先指定記号の候補の端点と追記文字列範囲指定記号の候補の各線との距離を算出し、その算出した距離の中で最も近い距離を抽出する。この抽出した距離が、予め定められた値未満であれば隣接していると判定し、予め定められた値以上であれば隣接していないと判定する。
【００４４】
図１５は、本実施の形態を実現化する場合のシステム例を示す説明図である。
電子ペン用紙印刷システム１５２０、筆記情報処理システム１５３０は、通信回線１５９９（有線、無線、その混合を問わない回線）を介して接続されている。電子ペン用紙印刷システム１５２０には印刷装置１５２５が接続されており、筆記情報処理システム１５３０には電子ペン１５３５が接続されている。なお、図１に例示したモジュール構成は、主に、筆記情報処理システム１５３０に構築されている。
電子ペン用紙印刷システム１５２０は、紙ＩＤを用いて情報画像（以下、ドットコード画像ともいう）を重ね合わせた文書を用紙に印刷装置１５２５を用いて印刷するシステムである。筆記情報処理システム１５３０は、電子ペン用紙印刷システム１５２０によって情報画像が印刷された用紙に対して、電子ペン１５３５を用いて筆記が行われた場合に、その筆記情報を電子文書に重ね合わせるシステムである。そして、ユーザによって電子ペン１５３５を用いて記載された追記記号を検出した場合は、その追記記号にしたがって、文字列を修正し、その修正した文字列を文書に重ね合わせる。
【００４５】
図１６は、電子ペン用紙印刷システム１５２０によって、情報画像が印刷された電子ペン用紙１６１０の例を示す説明図である。電子ペン用紙１６１０は、電子ペン用紙印刷システム１５２０が印刷装置１５２５を用いて印刷するものである。電子ペン用紙１６１０には、ドットコード画像が印刷されている。例えば、電子ペン用紙１６１０内の領域１６２０には、領域１６２０内を拡大して示している図１６（ｂ）のようなドットコード画像が印刷されている。ドットコード画像によって、電子ペン用紙１６１０一枚一枚に割り当てられた紙ＩＤと用紙上の位置情報（Ｘ，Ｙ座標値）が表現されている。
例えば、紙ＩＤは、３２ｂｉｔの空間内の数値である。文字列表記の場合は、１６進文字列により表記する。よって、紙ＩＤの範囲は「００００００００」から「ＦＦＦＦＦＦＦＦ」である。
【００４６】
図１７は、電子ペン１５３５内の構成例を示す説明図である。
概要を説明する。電子ペン用紙１７９９上に電子ペン１５３５で筆記する際、圧力センサがＯＮ（前述のペンダウン）になると、電子ペン用紙１７９９上のドットコード画像を撮像し、デコードして、電子ペン用紙１７９９の紙ＩＤと電子ペン用紙１７９９上の位置情報（Ｘ，Ｙ座標値）を取り出し、メモリに格納する。そして、メモリに格納された情報を、通信回路を経由して筆記情報処理システム１５３０に送信する。なお、図４の例に示したストローク情報４００のように、圧力センサがＯＮになった情報として前述の筆圧ＯＮ情報（前述のペンダウン）、圧力センサがＯＦＦになった情報として前述の筆圧ＯＦＦ情報（前述のペンアップ）をもメモリに格納してもよい。また、それぞれの情報が発生した時刻に関する情報（年、月、日、秒、秒以下、又はこれらの組み合わせであってもよい）を含ませるようにしてもよい。
【００４７】
次に詳細に説明する。図示するように、電子ペン１５３５は、ペン全体の動作を制御する制御回路１７０１を備える。また、制御回路１７０１は、入力画像から検出したドットコード画像を処理する画像処理部１７０１ａと、そこでの処理結果から紙ＩＤ及び位置情報を抽出するデータ処理部１７０１ｂとを含む。
そして、制御回路１７０１には、電子ペン１５３５による筆記動作をペンチップ１７０９に加わる圧力によって検出する圧力センサ１７０２が接続されている。また、用紙上に赤外光を照射する赤外ＬＥＤ１７０３と、画像を入力する赤外ＣＭＯＳ１７０４も接続されている。さらに、紙ＩＤ及び位置情報等を記憶するための情報メモリ１７０５と、外部装置と通信するための通信回路１７０６と、電子ペン１５３５を駆動するためのバッテリ１７０７と、電子ペン１５３５の識別情報(ペンＩＤ)を記憶するペンＩＤメモリ１７０８も接続されている。
【００４８】
ここで、この電子ペン１５３５の動作の概略を説明する。
電子ペン１５３５による筆記が行われると、ペンチップ１７０９に接続された圧力センサ１７０２が、筆記動作を検出する。これにより、赤外ＬＥＤ１７０３が点灯し、赤外ＣＭＯＳ１７０４がＣＭＯＳセンサによって用紙上の画像を撮像する。
なお、赤外ＬＥＤ１７０３は、消費電力を抑制するために、ＣＭＯＳセンサのシャッタタイミングに同期させてパルス点灯する。
また、赤外ＣＭＯＳ１７０４は、撮像した画像を同時に転送できるグローバルシャッタ方式のＣＭＯＳセンサを使用する。そして、赤外領域に感度があるＣＭＯＳセンサを使用する。また、外乱の影響を低減するために、ＣＭＯＳセンサ全面に可視光カットフィルタを配置している。ＣＭＯＳセンサは、７０ｆｐｓ〜１００ｆｐｓ（ｆｒａｍｅ  ｐｅｒ  ｓｅｃｏｎｄ）程度の周期で、画像を撮像する。なお、撮像素子はＣＭＯＳセンサに限定するものではなく、ＣＣＤ等、他の撮像素子を使用してもよい。
【００４９】
このように撮像した画像が制御回路１７０１に入力されると、制御回路１７０１は、撮像した画像からドットコード画像を取得する。そして、それを復号し、ドットコード画像に埋め込まれている紙ＩＤ及び位置情報を取得する。
以下、このときの制御回路１７０１の動作について説明する。
図１８は、電子ペン１５３５（制御回路１７０１）による処理例を示すフローチャートである。
ステップＳ１８０１では、画像処理部１７０１ａは、画像を入力する。
ステップＳ１８０２では、画像に含まれるノイズを除去するための処理を行う。ここで、ノイズとしては、ＣＭＯＳ感度のばらつきや電子回路により発生するノイズ等がある。ノイズを除去するために如何なる処理を行うかは、電子ペン１５３５の撮像系の特性に応じて決定すべきである。例えば、ぼかし処理やアンシャープマスキング等の先鋭化処理を適用することができる。
ステップＳ１８０３では、画像処理部１７０１ａは、画像からドットパターン（ドット画像の位置）を検出する。例えば、２値化処理によりドットパターン部と背景部とを切り分け、２値化された個々の画像位置からドットパターンを検出することができる。２値化画像にノイズ成分が多数含まれる場合は、例えば、２値化画像の面積や形状によりドットパターンの判定を行うフィルタ処理を組み合わせる必要がある。
【００５０】
また、ステップＳ１８０４では、画像処理部１７０１ａは、検出したドットパターンを２次元配列上のデジタルデータに変換する。例えば、２次元配列上で、ドットがある位置を「１」、ドットがない位置を「０」というように変換する。そして、この２次元配列上のデジタルデータは、画像処理部１７０１ａからデータ処理部１７０１ｂへと受け渡される。
次いで、ステップＳ１８０５では、データ処理部１７０１ｂは、受け渡されたデジタルデータから、図１９（ａ）に示した２つのドットの組み合わせからなるビットパターンを検出する。例えば、ビットパターンに対応するブロックの境界位置を２次元配列上で動かし、ブロック内に含まれるドットの数が２つになるような境界位置を検出することにより、ビットパターンを検出することができる。
このようにしてビットパターンが検出されると、ステップＳ１８０６では、データ処理部１７０１ｂは、ビットパターンの種類を参照することにより、同期符号を検出する。
そして、ステップＳ１８０７では、同期符号からの位置関係に基づいて、識別符号及び位置符号を検出する。
その後、ステップＳ１８０８では、データ処理部１７０１ｂは、識別符号を復号して紙ＩＤを取得し、位置符号を復号して位置情報を取得する。識別符号については、ＲＳ復号処理を施すことで紙ＩＤを得る。一方、位置符号については、読み出した部分系列の位置を、画像生成時に使用したＭ系列と比較することで、位置情報を得る。
【００５１】
次に、筆記情報格納用電子文書について説明する。以降、単に電子文書と表記した場合、筆記情報格納用電子文書を指す。
筆記情報格納用電子文書は、電子ペン１５３５によって電子ペン用紙１７９９に筆記された内容を、フィールド定義とともにまとめたデータである。以下から構成される。
（１）紙ＩＤ：その筆記情報格納用電子文書に対応付けられた電子ペン用紙に割り当てられている紙ＩＤ
（２）フィールド定義：その筆記情報格納用電子文書への筆記を処理するために使用するフィールド定義
そして、以下を含めてもよい。
（３）帳票イメージ：その筆記情報格納用電子文書に印刷されている帳票イメージ
【００５２】
次に、電子ペン用紙印刷システム１５２０で生成されるドットコード画像の元となるコードパターンについて説明する。
図１９は、電子ペン用紙印刷システム１５２０で取り扱う情報画像（コードパターン画像）の例を示す説明図である。
まず、コードパターンを構成するビットパターンについて説明する。
図１９（ａ）に、ビットパターンの配置の一例を示す。
ビットパターンとは、情報埋め込みの最小単位である。ここでは、図１９（ａ）に示すように、９箇所の中から選択した２箇所にビットを配置する。図では、黒の四角が、ビットが配置された位置を示し、斜線の四角が、ビットが配置されていない位置を示している。９箇所の中から２箇所を選択する組み合わせは、３６（＝９Ｃ２）通りある。したがって、このような配置方法により、３６通り（約５．２ビット）の情報を表現することができる。
ただし、紙ＩＤ及び位置情報は、この３６通りのうち３２通り（５ビット）を使用して表現するものとする。
ところで、図１９（ａ）に示した最小の四角は、６００ｄｐｉにおける２ドット×２ドットの大きさを有している。６００ｄｐｉにおける１ドットの大きさは０．０４２３ｍｍなので、この最小の四角の一辺は、８４．６μｍ（＝０．０４２３ｍｍ×２）である。コードパターンを構成するドットは、大きくなればなるほど目に付きやすくなるため、できるだけ小さいほうが好ましい。ところが、あまり小さくすると、プリンタで印刷できなくなってしまう。そこで、ドットの大きさとして、５０μｍより大きく１００μｍより小さい前記の値を採用している。これにより、プリンタで印刷可能な最適な大きさのドットを形成することができる。つまり、８４．６μｍ×８４．６μｍが、プリンタで安定的に形成可能な最小の大きさである。
なお、ドットをこのような大きさにすることで、１つのビットパターンの一辺は、約０．５（＝０．０４２３×２×６）ｍｍとなる。
また、このようなビットパターンから構成されるコードパターンについて説明する。
図１９（ｂ）に、コードパターンの配置の一例を示す。
ここで、図１９（ｂ）に示した最小の四角が、図１９（ａ）に示したビットパターンに相当する。すなわち、紙ＩＤを符号化した識別符号は、１６（＝４×４）個のビットパターンを使用して埋め込まれる。また、Ｘ方向の位置情報を符号化したＸ位置符号と、Ｙ方向の位置情報を符号化したＹ位置符号とは、それぞれ、４個のビットパターンを使用して埋め込まれる。さらに、左上角部に、コードパターンの位置と回転を検出するための同期符号が、１つのビットパターンを使用して埋め込まれる。
なお、１つのコードパターンの大きさは、ビットパターンの５個分の幅に等しいため、約２．５ｍｍとなる。電子ペン用紙印刷システム１５２０では、このように生成したコードパターンを画像化したコードパターン画像を、用紙全面に配置する。
【００５３】
図２０は、電子ペン用紙印刷システム１５２０における情報の符号化処理例及び情報画像（ドットコード画像）の生成処理例を示す説明図である。
まず、紙ＩＤの符号化について説明する。
紙ＩＤの符号化には、ブロック符号化方式のＲＳ（リードソロモン）符号が使用される。図１９の例で説明した通り、電子ペン用紙印刷システム１５２０では、５ビットの情報を表現できるビットパターンを用いて情報を埋め込む。したがって、情報の誤りも５ビット単位で発生するため、ブロック符号化方式で符号化効率がよいＲＳ符号を使用している。ただし、符号化方式はＲＳ符号に限定するものでなく、その他の符号化方式、例えば、ＢＣＨ符号等を使用することもできる。
前述したように、電子ペン用紙印刷システム１５２０では、５ビットの情報量をもつビットパターンを用いて情報を埋め込む。したがって、ＲＳ符号のブロック長を５ビットとする必要がある。そのため、紙ＩＤを５ビットずつに区切り、ブロック化する。図２０では、紙ＩＤ「００１１１０１１０１００１…」から、第１のブロック「００１１１」と、第２のブロック「０１１０１」とが切り出されている。
そして、ブロック化された紙ＩＤに対し、ＲＳ符号化処理を行う。図２０では、「ｂｌｋ１」、「ｂｌｋ２」、「ｂｌｋ３」、「ｂｌｋ４」、…というようにブロック化した後、ＲＳ符号化が行われる。
ところで、電子ペン用紙印刷システム１５２０において、紙ＩＤは、１６（＝４×４）個のブロックに分けられる。そこで、ＲＳ符号における符号ブロック数を１６とすることができる。
また、情報ブロック数は、誤りの発生状況に応じて設計することができる。例えば、情報ブロック数を８とすれば、ＲＳ（１６，８）符号となる。この符号は、符号化された情報に４ブロック（＝（１６−８）÷２）の誤りが発生しても、それを補正することができる。また、誤りの位置を特定できれば、訂正能力をさらに向上することができる。なお、この場合、情報ブロックに格納される情報量は、４０ビット（＝５ビット×８ブロック）であるが、このうち３２ビットを用いる。
【００５４】
次に、位置情報の符号化について説明する。
位置情報の符号化には、擬似乱数系列の一種であるＭ系列符号が使用される。ここで、Ｍ系列とは、Ｋ段の線形シフトレジスタで発生できる最大周期の系列であり、２Ｋ−１の系列長をもつ。このＭ系列から取り出した任意の連続したＫビットは、同じＭ系列中の他の位置に現れない性質をもつ。そこで、この性質を利用することにより、位置情報を符号化することができる。
ところで、電子ペン用紙印刷システム１５２０では、符号化すべき位置情報の長さから、必要なＭ系列の次数を求め、Ｍ系列を生成している。しかしながら、符号化する位置情報の長さが予め分かっている場合は、Ｍ系列を毎回生成する必要はない。すなわち、固定のＭ系列を予め生成しておき、それをメモリ等に格納しておけばよい。
例えば、系列長８１９１のＭ系列（Ｋ＝１３）を使用したとする。
この場合、位置情報も５ビット単位で埋め込むため、系列長８１９１のＭ系列から５ビットずつ取り出してブロック化する。図２０では、Ｍ系列「１１０１００１１０１１０１０…」が、５ビットずつブロック化されている。
【００５５】
このように、電子ペン用紙印刷システム１５２０では、位置情報と紙ＩＤとで、異なる符号化方式を用いている。これは、紙ＩＤの検出能力を、位置情報の検出能力よりも高くなるように設定する必要があるからである。つまり、位置情報は、紙面の位置を取得するための情報なので、ノイズ等によって復号できない部分があっても、その部分が欠損するだけで他の部分には影響しない。これに対し、紙ＩＤは、復号に失敗すると、筆記情報を反映する対象を検出できなくなるからである。さらに、このような構成とすることによって、位置情報と紙ＩＤを復号する際の画像読取範囲を最小化できる。すなわち、位置情報にＲＳ符号等の境界を有する符号化方式を使用すると、それを復号する際には境界間の符号を読み取る必要があるため、画像を読み取る範囲は図１９（ｂ）に示した領域の２倍の領域とする必要がある。しかし、Ｍ系列を使用することで、図１９（ｂ）に示した領域と同じ大きさの領域を読み取ればよい構成にできる。これは、Ｍ系列の性質上、Ｍ系列の任意の部分系列から位置情報を復号できるからである。すなわち、紙ＩＤと位置情報を復号する際には、図１９（ｂ）に示した大きさの領域を読み取る必要があるが、その読み取る位置は、図１９（ｂ）に示した境界と一致させる必要はない。位置情報は、Ｍ系列の任意位置の部分系列から復号できる。紙ＩＤは、同じ情報が用紙全面に配置されるため、図１９（ｂ）に図示した境界から読取位置がずれても、読み取られた情報の断片を再配置することで元の情報を復元することができる。
【００５６】
以上のように、紙ＩＤがブロック分割された後、ＲＳ符号により符号化され、また、位置情報がＭ系列により符号化された後、ブロック分割されると、図示するように、ブロックが合成される。すなわち、これらのブロックは、図示するようなフォーマットで２次元平面に展開される。図２０に示したフォーマットは、図１９（ｂ）に示したフォーマットに対応している。すなわち、黒の四角が同期符号を意味している。
また、横方向に配置された「１」、「２」、「３」、「４」、…がＸ位置符号を、縦方向に配置された「１」、「２」、「３」、「４」、…がＹ位置符号を、それぞれ意味している。位置符号は、用紙の位置が異なれば異なる情報が配置されるので、座標位置に対応する数字で示しているのである。一方、斜線部分の四角が識別符号を意味している。識別符号は、用紙の位置が異なっても同じ情報が配置されるので、全て同じマークで示しているのである。
ところで、図からも分かる通り、２つの同期符号の間には、４個のビットパターンがある。したがって、２０（＝５×４）ビットのＭ系列の部分系列を配置することができる。２０ビットの部分系列から１３ビットの部分系列を取り出せば、その１３ビットが全体（８１９１）の中のどの部分の部分系列なのかを特定することができる。このように、２０ビットのうち１３ビットを位置の特定に使用した場合、取り出した１３ビットの誤りの検出又は訂正を、残りの７ビットを使用して行うことができる。すなわち、Ｍ系列を生成したときと同じ生成多項式を使用して、２０ビットの整合性を確認することで、誤りの検出と訂正が可能となるのである。
その後、各ブロックにおけるビットパターンが、ドット画像を参照することにより画像化される。そして、図２０の最右に示すようなドットで情報を表す出力画像が生成される。
【００５７】
なお、本実施の形態としてのプログラムが実行されるコンピュータのハードウェア構成は、図１１に例示するように、一般的なコンピュータであり、具体的にはパーソナルコンピュータ、サーバとなり得るコンピュータ等である。つまり、具体例として、処理部（演算部）としてＣＰＵ１１０１を用い、記憶装置としてＲＡＭ１１０２、ＲＯＭ１１０３、ＨＤ１１０４を用いている。ＨＤ１１０４として、例えばハードディスクを用いてもよい。追記記号認識モジュール１１０、追記記号と追記文字列除去モジュール１２０、追記文字列文字認識モジュール１３０、除去後文字列文字認識モジュール１４０、文字列挿入モジュール１５０等のプログラムを実行するＣＰＵ１１０１と、そのプログラムやデータを記憶するＲＡＭ１１０２と、本コンピュータを起動するためのプログラム等が格納されているＲＯＭ１１０３と、補助記憶装置（フラッシュメモリ等であってもよい）であるＨＤ１１０４と、キーボード、マウス、タッチパネル等に対する利用者の操作に基づいてデータを受け付ける受付装置１１０６と、ＣＲＴ、液晶ディスプレイ等の出力装置１１０５と、ネットワークインタフェースカード等の通信ネットワークと接続するための通信回線インタフェース１１０７、そして、それらをつないでデータのやりとりをするためのバス１１０８により構成されている。これらのコンピュータが複数台互いにネットワークによって接続されていてもよい。
【００５８】
前述の実施の形態のうち、コンピュータ・プログラムによるものについては、本ハードウェア構成のシステムにソフトウェアであるコンピュータ・プログラムを読み込ませ、ソフトウェアとハードウェア資源とが協働して、前述の実施の形態が実現される。
なお、図１１に示すハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図１１に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えばＡＳＩＣ等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図１１に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、情報家電、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）などに組み込まれていてもよい。
【００５９】
また、前述の実施の形態の説明において、予め定められた値との比較において、「以上」、「以下」、「より大きい」、「より小さい（未満）」としたものは、その組み合わせに矛盾が生じない限り、それぞれ「より大きい」、「より小さい（未満）」、「以上」、「以下」としてもよい。
【００６０】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリーカード等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【００６１】
１０５…ストローク情報
１１０…追記記号認識モジュール
１２０…追記記号と追記文字列除去モジュール
１３０…追記文字列文字認識モジュール
１４０…除去後文字列文字認識モジュール
１５０…文字列挿入モジュール
１５５…認識結果
【図１】
2015072541.tif 000003
【図２】
2015072541.tif 000004
【図３】
2015072541.tif 000005
【図４】
2015072541.tif 000006
【図５】
2015072541.tif 000007
【図６】
2015072541.tif 000008
【図７】
2015072541.tif 000009
【図８】
2015072541.tif 000010
【図９】
2015072541.tif 000011
【図１０】
2015072541.tif 000012
【図１１】
2015072541.tif 000013
【図１２】
2015072541.tif 000014
【図１３】
2015072541.tif 000015
【図１４】
2015072541.tif 000016
【図１５】
2015072541.tif 000017
【図１６】
2015072541.tif 000018
【図１７】
2015072541.tif 000019
【図１８】
2015072541.tif 000020
【図１９】
2015072541.tif 000021
【図２０】
2015072541.tif 000022