JP6164018B2 - 情報処理装置及び情報処理プログラム - Google Patents

情報処理装置及び情報処理プログラム Download PDF

Info

Publication number
JP6164018B2
JP6164018B2 JP2013207029A JP2013207029A JP6164018B2 JP 6164018 B2 JP6164018 B2 JP 6164018B2 JP 2013207029 A JP2013207029 A JP 2013207029A JP 2013207029 A JP2013207029 A JP 2013207029A JP 6164018 B2 JP6164018 B2 JP 6164018B2
Authority
JP
Japan
Prior art keywords
additional
character string
symbol
stroke
candidate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013207029A
Other languages
English (en)
Other versions
JP2015072541A (ja
Inventor
木村 俊一
俊一 木村
耕輔 丸山
耕輔 丸山
瑛一 田中
瑛一 田中
越 裕
裕 越
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2013207029A priority Critical patent/JP6164018B2/ja
Priority to CN201410325349.2A priority patent/CN104516579B/zh
Publication of JP2015072541A publication Critical patent/JP2015072541A/ja
Application granted granted Critical
Publication of JP6164018B2 publication Critical patent/JP6164018B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink

Description

本発明は、情報処理装置及び情報処理プログラムに関する。
特許文献1には、手書き入力システムを利用し、文字が筆記された記入用紙のその紙面上で的確に記入文字に対する訂正処理を確定させることを課題とし、手書き入力システムは、帳票上のドットパターンを読み込んで筆跡情報を生成するデジタルペンと、この筆跡情報からデジタルペンの筆跡をイメージデータ化した筆跡イメージを生成する筆跡イメージ生成部と、筆跡イメージを入力して文字認識を行う文字認識部と、文字認識結果から削除すべき文字を指定する取消文字指定線と削除対象の文字数を指定する削除文字数指定線とを筆跡イメージより検出する訂正指示検出部と、訂正指示検出部による検出結果に基づいて、文字認識部による文字認識結果を訂正する文字認識結果訂正部とを備えることが開示されている。
特許文献2には、タブレットや電子ペンによる記入手段において、一般の紙とペンを用いた通常の筆記行為とできる限り同じ作業感覚で、記入文字の削除や追加、置換、強調などの変更作業が計算機上で行える手段を提供することを課題とし、筆記者が通常の筆記行為で用いられる、削除を意味する二重線や塗りつぶし、追加を意味する山型もしくは谷型記号や矢印記号、強調を意味する囲み線や下線、といった記号をそれら変更処理の開始及びその対象となる文字を指定するための制御コマンドと対応付け、それらコマンドを筆記情報中から自動的に検出し、当該処理を自動的に実行し、またその際の変更対象文字の検出に関し、前記文字認識手法中で生成された文字切出し情報を利用し、二重線や囲み線などの制御記号が記入された場合、前記文字切出し情報とそれら制御記号との重なりの度合いを求め、変更対象文字の判定に利用することによって、高精度な検出を実現することが開示されている。
特許文献3には、媒体に対する筆記情報に基づく処理を行った後におけるその筆記情報の漏洩を防止することを課題とし、電子ペンで印刷文書に筆記し、通信装置に接続すると、通信装置は、筆記を電子化したストローク情報を端末装置に送信し、端末装置は、ペン認証サーバを用いて電子ペンを認証し、識別情報サーバに問い合わせてストローク情報を関連付ける電子文書の格納場所等を示す電子文書情報を取得し、文書サーバに対して電子文書情報とストローク情報とを送信することで登録を依頼し、これにより、文書サーバは、登録の成功/失敗を示す結果情報を端末装置に送信し、通信装置は、結果情報を受信すると、電子ペン内のストローク情報を消去し、結果情報が登録失敗を示していれば、再入力を促すメッセージを出力することが開示されている。
特開2008−040759号公報 特開2004−152040号公報 特開2008−077553号公報
本発明は、追記元・追記先指定記号と追記文字列範囲指定記号が含まれている可能性のあるストローク群から、追記文字列に該当するストローク群の文字列を認識するようにした情報処理装置及び情報処理プログラムを提供することを目的としている。
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、ストローク群を受け付ける受付手段と、ストロークが追記元・追記先指定記号候補であるか否かを判定する第1の判定手段と、ストロークが追記文字列範囲指定記号候補であるか否かを判定する第2の判定手段と、前記第1の判定手段によって判定された追記元・追記先指定記号候補と前記第2の判定手段によって判定された追記文字列範囲指定記号候補が隣接しているか否かを判定する第3の判定手段と、前記第3の判定手段によって隣接していると判定された場合、前記追記元・追記先指定記号候補を追記元・追記先指定記号、及び、前記追記文字列範囲指定記号候補を追記文字列範囲指定記号であると判定する第4の判定手段と、前記第4の判定手段によって判定された追記文字列範囲指定記号によって指定された領域内のストローク群の文字列を認識する第1の認識手段を具備することを特徴とする情報処理装置である。
請求項2の発明は、前記受付手段によって受け付けられたストローク群から、前記第4の判定手段によって判定された追記元・追記先指定記号と追記文字列範囲指定記号と、該追記文字列範囲指定記号によって指定された領域内の文字列を除去する除去手段と、前記除去手段による除去後のストローク群を文字認識する第2の認識手段と、前記追記元・追記先指定記号に基づいて、追記先の位置を判定する第5の判定手段と、前記第5の判定手段によって判定された追記先の位置に基づいて、前記第2の認識手段による認識結果である文字列に、前記第1の認識手段による認識結果である文字列を挿入する挿入手段をさらに具備することを特徴とする請求項1に記載の情報処理装置である。
請求項3の発明は、前記第3の判定手段は、さらに、前記追記文字列範囲指定記号候補によって指定された領域内にストローク群が存在する場合に、該追記文字列範囲指定記号候補を追記文字列範囲指定記号であると判定することを特徴とする請求項1又は2に記載の情報処理装置である。
請求項4の発明は、前記第3の判定手段は、さらに、前記追記文字列範囲指定記号候補によって指定された領域内の文字列の認識確度が予め定められた閾値よりも高い又は以上である場合に、該追記文字列範囲指定記号候補を追記文字列範囲指定記号であると判定することを特徴とする請求項3に記載の情報処理装置である。
請求項5の発明は、前記第1の判定手段は、対象としているストロークが追記元・追記先指定記号候補であるか否かを判定する場合に、該ストローク内にループが存在しているか否かの判定を用いることを特徴とする請求項1から4のいずれか一項に記載の情報処理装置である。
請求項6の発明は、前記第1の判定手段は、さらに、前記ループが前記ストローク内の予め定められた範囲に存在しているか否かの判定を用いる、又は、前記ループの大きさが予め定められた範囲内にあるか否かの判定を用いることを特徴とする請求項5に記載の情報処理装置である。
請求項7の発明は、前記第2の判定手段は、対象としているストロークが追記文字列範囲指定記号候補であるか否かを判定する場合に、該ストローク形状が楕円形状であるか否かの判定を用いることを特徴とする請求項1から6のいずれか一項に記載の情報処理装置である。
請求項8の発明は、コンピュータを、ストローク群を受け付ける受付手段と、ストロークが追記元・追記先指定記号候補であるか否かを判定する第1の判定手段と、ストロークが追記文字列範囲指定記号候補であるか否かを判定する第2の判定手段と、前記第1の判定手段によって判定された追記元・追記先指定記号候補と前記第2の判定手段によって判定された追記文字列範囲指定記号候補が隣接しているか否かを判定する第3の判定手段と、前記第3の判定手段によって隣接していると判定された場合、前記追記元・追記先指定記号候補を追記元・追記先指定記号、及び、前記追記文字列範囲指定記号候補を追記文字列範囲指定記号であると判定する第4の判定手段と、前記第4の判定手段によって判定された追記文字列範囲指定記号によって指定された領域内のストローク群の文字列を認識する第1の認識手段として機能させるための情報処理プログラムである。
請求項1の情報処理装置によれば、追記元・追記先指定記号と追記文字列範囲指定記号が含まれている可能性のあるストローク群から、追記文字列に該当するストローク群の文字列を認識することができる。
請求項2の情報処理装置によれば、追記元・追記先指定記号と追記文字列範囲指定記号によって、追記元の文字列に追記文字列を挿入することができる。
請求項3の情報処理装置によれば、本構成を有していない場合に比較して高精度に、追記文字列範囲指定記号候補を追記文字列範囲指定記号であると判定することができる。
請求項4の情報処理装置によれば、本構成を有していない場合に比較して高精度に、追記文字列範囲指定記号候補を追記文字列範囲指定記号であると判定することができる。
請求項5の情報処理装置によれば、本構成を有していない場合に比較して高精度に、追記元・追記先指定記号候補であるか否かを判定することができる。
請求項6の情報処理装置によれば、本構成を有していない場合に比較して高精度に、追記元・追記先指定記号候補であるか否かを判定することができる。
請求項7の情報処理装置によれば、本構成を有していない場合に比較して高精度に、追記文字列範囲指定記号候補であるか否かを判定することができる。
請求項8の情報処理プログラムによれば、追記元・追記先指定記号と追記文字列範囲指定記号が含まれている可能性のあるストローク群から、追記文字列に該当するストローク群の文字列を認識することができる。
本実施の形態の構成例についての概念的なモジュール構成図である。 本実施の形態による処理例を示すフローチャートである。 本実施の形態による処理例を示すフローチャートである。 ストローク情報のデータ構造例を示す説明図である。 修正前文字列、追記文字列、記号の例を示す説明図である。 修正前文字列、追記文字列、記号の例を示す説明図である。 記号1の例を示す説明図である。 記号1のループの例を示す説明図である。 記号2の例を示す説明図である。 記号1の例を示す説明図である。 本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。 従来技術において、文字列の修正例を示す説明図である。 従来技術において、文字列の追加例を示す説明図である。 従来技術において、文字列の追加例を示す説明図である。 本実施の形態を実現化する場合のシステム例を示す説明図である。 情報画像が印刷された電子ペン用紙の例を示す説明図である。 電子ペン内の構成例を示す説明図である。 電子ペンによる処理例を示すフローチャートである。 本実施の形態で取り扱う情報画像(コードパターン画像)の例を示す説明図である。 本実施の形態における情報の符号化処理例及び情報画像(ドットコード画像)の生成処理例を示す説明図である。
まず、本実施の形態を説明する前に、その前提となる技術について図12〜14を用いて説明する。なお、この説明は、本実施の形態の理解を容易にすることを目的とするものである。
電子ペンを用いて文字認識をする装置において、一旦記入された文字に追記を行いたい場合がある。例えば、文字列「ABC」と記載した後で、実は、「ABDEC」と修正を行いたいと考える場合がある。「B」と「C」の間に空間があれば、無理やり「DE」
を書き加える方法があるが、空間が無い場合に挿入を行う方法が必要となる。
ワードプロセッサ等のようにコンピュータ上の電子情報を用いる場合は、「B」と「C」の間を空けて(「B」と「C」の間にカーソルを移動させて)、「DE」を入れることができる。
しかしながら、電子ペンを用いる場合は、既にインクで紙上に「ABC」と記載されているため(その文字列の位置が既にストローク情報として取り込まれているため)、その位置を変更することは不可能である。
以下の例では、電子ペンを用いたオンライン文字認識において、文字列「ABC」を文字列「ABDEC」に修正する例(文字列「ABC」の「B」と「C」の間に、文字列「DE」を挿入する例)を示している。
図12は、特許文献1に記載の技術において、文字列の修正例を示す説明図である。図12の例に示されるように、横棒等の取消線1210を用いて、文字列を取り消す(削除する)。さらに、その取消線1210に接続される矢印1220を用いて、修正後の文字列を指定する。
図13は、特許文献2に記載の技術において、文字列の追加例を示す説明図である。図13の例に示されるように、谷状の形状(図13(a)の例に示す追記記号(谷状記号)1310)や矢印(図13(b)の例に示す追記記号(矢印)1320)等の追記記号を用いて、挿入文字と挿入位置を指定する。
特許文献1に記載の技術では、追記を行う場合、一旦削除してから、訂正を行う必要がある。図13の例に示したように、「DE」だけを追記すればよい場合でも、文字列「ABDEC」全体を記入する必要がある。
特許文献2に記載の技術では、追記記号を認識するときに、谷型「V」(追記記号(谷状記号)1310)や、矢印「→」(追記記号(矢印)1320)のような記号は、文字として誤認識されやすい。例えば、谷型記号は、ローマ字のVと誤認識されやすい。そのため、従来技術では、まず文字行認識を行って、文字行の位置を用いて追記記号を分離する。
図13(a)の例では、まず「ABC」の認識を行う。その後で、「ABC」の行位置から外れており、かつ、追記記号として妥当な記号を抽出する。このようにして、追記記号と文字を分離する。この場合、文字行を正確に抽出することが必要となる。ところが、そもそも「谷型」(追記記号(谷状記号)1310)と、「V」の文字との形の区別が付き難いため、図14の例に示すように、「ABC」の文字列の高さと追記記号(谷状記号)1310を含めた文字行(高さ)1430と認識される可能性が高い。その場合、認識結果が「ABVC」となってしまう場合がある。つまり、文字行を正確に抽出することが困難であり、その結果、追記記号を抽出することも困難となる。
さらに、文字行間が狭い場合には、隣接する文字行との間に、追記文字を記載する必要があるため、谷型を用いた追記が困難である。
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、2以上の値(もちろんのことながら、全ての値も含む)が同じであってもよい。また、「Aである場合、Bをする」という意味を有する記載は、「Aであるか否かを判定し、Aであると判定した場合はBをする」の意味で用いる。ただし、Aであるか否かの判定が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
本実施の形態である情報処理装置は、追記元・追記先指定記号と追記文字列範囲指定記号が含まれている可能性のあるストローク情報105を用いた文字認識装置であって、図1の例に示すように、追記記号認識モジュール110、追記記号と追記文字列除去モジュール120、追記文字列文字認識モジュール130、除去後文字列文字認識モジュール140、文字列挿入モジュール150を有している。
各モジュールの機能、処理を説明する前に、本実施の形態における概要を説明する。なお、この説明は、本実施の形態の理解を容易にすることを目的とするものである。
本実施の形態における追記記号は、以下の3つを実現するためのものである(本発明の効果として把握すべきものではない)。
(1)文字行を認識しなくても追記記号を認識できる。
(2)追記記号の記入負荷を小さくするための記号とする。
(3)文字行間が狭くても追記が可能である。
つまり、文字行に関係なく認識するため、ストローク情報の段階で追記記号を認識する。そして、ストローク情報だけで追記文字であることを確定できるようにする。
これらを実現するためには、複雑な形状を持った追記記号を設計すればよい。しかしながら、複雑な形状を持たせると、追記記号を記入するユーザ(操作者)の負荷が増大してしまう。
追記記号に必要な機能は、下記の4つである。
(1)追記位置(追記先、挿入位置)の指定
(2)追記文字列(追記元)の指定
(3)追記文字列範囲の指定
(4)追記先と追記元のリンクの指定
このうち、(1)追記位置の指定と(2)追記文字列の指定と(4)追記先と追記元のリンクの指定は、2つの座標位置をつなぐ曲線(ここでは、直線を含む)で実現する。
この曲線は、ユーザによって長さを自由に変えられるものとする。これによって、文字行が密接している場合でも、追記文字列を余白のある部分に持っていくことができる。どちらが追記位置でどちらが追記文字列であるかは、追記文字列範囲が指定されているほうを追記文字列であると判定することにより、決定できる。
追記元・追記先指定記号は、追記元と追記先を指定し、それがつながっていることを示す記号であって、その長さはユーザの指定による曲線である。そして、追記文字列範囲指定記号は、追記文字列の領域を指定する記号である。追記記号は、この2つの記号によって構成される。
ここで、追記記号の一例(典型例)を図5に示す。追記元・追記先指定記号として記号1:510があり、追記文字列範囲指定記号として記号2:520がある。ここでは、記号1:510は、追記元(文字列「DE」)と追記先(「B」と「C」の間)を示し、それがつながっていることを示す曲線であり、記号2:520は、追記元(文字列「DE」)の領域を示している。つまり、修正前文字列500の文字列「ABC」の「B」と「C」の間に、追記文字列590である文字列「DE」を挿入することを示している。
さらに、記号1:510と記号2:520が隣接していることを条件として、追記記号を構成していると認識することによって、文字と誤認識する危険性を低減させる。また、典型的には、この記号1:510と記号2:520は、それぞれ一筆(1ストロークで書かれるものとする)である。
なお、文字列という場合は1文字以上の文字の連なりをいう。したがって、1文字も文字列に含まれる。
追記記号認識モジュール110は、追記記号と追記文字列除去モジュール120と接続されている。追記記号認識モジュール110は、ストローク情報105を受け付ける。追記記号認識モジュール110によって受け付けられるストローク情報105(群)には、文字列を表すストロークの他に、追記元・追記先指定記号を示すストローク、追記文字列範囲指定記号を示すストロークが含まれている可能性がある。また、文字列を表すストロークは、追記する文字列を表すストローク(追記文字列範囲指定記号によって指定された領域内のストローク)と、追記される文字列(修正前の文字列)を表すストロークがある。追記元・追記先指定記号、追記文字列範囲指定記号は、予め定められた規則に基づいて記載されたストロークである。具体的には、図5の例を用いて説明したものである。
ストローク情報105として、例えば、ストローク情報400がある。図4は、ストローク情報400のデータ構造例を示す説明図である。ストローク情報400は、時刻欄410、座標位置欄420、ペンアップ/ダウン欄430を有している。時刻欄410は、時刻を記憶している。ここでの時刻は、時系列を示す情報(座標位置が発生した順序を示す情報)であればよい。座標位置欄420は、座標位置を記憶している。座標位置は、電子ペンの紙上での位置(例えば、XY座標)を示している。ペンアップ/ダウン欄430は、ペンアップとペンダウンを示す情報を記憶している。ペンアップは、紙から電子ペンを離したことを示しており、ペンダウンは、紙に電子ペンを押し当てたこと(押し当てていること)を示している。
例えば、1秒に70回〜100回程度の頻度で得られた電子ペンの座標位置と、電子ペンのアップダウン情報を用いて、ストローク情報400が生成される。
電子ペンがダウンしている状態は、紙に文字が書かれている状態としてみなすことができる。すなわち、電子ペンがダウンしてからアップするまでを一つのストローク(一筆で書かれる文字の線)としてみなせる。
このストローク情報105を用いて、紙上に記載された文字を認識することができる。ストローク情報105を用いて文字を認識する手法は種々存在している。
図6の例は、追記記号認識モジュール110が受け付けたストローク情報105を分かりやすいようにラスターに変換して表示したものである。
追記記号認識モジュール110では、1ストローク毎に、記号1:510(追記元・追記先指定記号)の候補であるか否かを判定する。また、記号2:520(追記文字列範囲指定記号)の候補であるか否かを判定する。記号1:510と記号2:520が1ストロークで記載される場合もあるので、1ストローク毎に、そのストロークが、記号1:510の候補であるか、記号2:520の候補であるか、その両方か、又はその両方ではないかを判定する。なお、記号1:510の候補、記号2:520の候補と表記しているが、追記記号を構成する記号1:510、記号2:520であるか否かは、記号1:510と記号2:520との位置関係(後述)によるので、単体の記号1:510、記号2:520を認識することは、記号1:510の候補、記号2:520の候補を認識することである。ただし、以下の説明において、記号1:510の候補、記号2:520の候補を、単に記号1:510(又は追記元・追記先指定記号)、記号2:520(又は追記文字列範囲指定記号)と表記する場合もある。
その後、記号1:510の候補と記号2:520の候補が隣接するか否かを判定する。記号1:510の候補と記号2:520の候補が隣接する場合、記号1:510の候補を記号1:510とし、記号2:520の候補を記号2:520として、記号1:510と記号2:520によって構成される追記記号であると判定する。記号1:510の2つの端点のうち、記号2:520に近いほうの端点を追記元とし、記号2:520から遠いほうを追記先とする。記号1:510と記号2:520が隣接する場合については後述する。もちろんのことながら、記号1:510と記号2:520が1ストロークで記載された場合は、隣接していると判定する。
そして、記号1:510に基づいて、追記先の位置を判定する。具体的には、記号1:510の2つの端点のうち、記号2:520から遠いほうの端点の位置を、追記先の位置とする。位置としては、座標であってもよいし、ストローク情報105から文字毎の位置が判明している場合は、追記される文字列(修正前の文字列)内の文字間の位置(例えば、第A番目の文字と第A+1番目の文字の間)の指定であってもよい。
さらに、記号2:520で指定された範囲内(図6の例では、記号2:520によって囲まれた領域)の文字列を、追記文字列590として抽出する。
追記記号と追記文字列除去モジュール120は、追記記号認識モジュール110、追記文字列文字認識モジュール130、除去後文字列文字認識モジュール140と接続されている。追記記号と追記文字列除去モジュール120は、追記記号認識モジュール110によって受け付けられたストローク情報105から、追記記号認識モジュール110によって判定された記号1:510(追記元・追記先指定記号)と記号2:520(追記文字列範囲指定記号)のストロークと、その記号2:520によって指定された領域内の文字列(追記文字列)のストロークを除去する。したがって、除去処理後のストロークは、追記される文字列(修正前の文字列)のストロークである。図6(a)の例では、図6(b)の例に示す修正前文字列500である。この除去処理後のストロークを除去後文字列文字認識モジュール140へ渡す。また、記号2:520によって指定された領域内の文字列のストロークは、追記文字列文字認識モジュール130へ渡す。図6(a)の例では、図6(c)の例に示す追記文字列590である。
追記文字列文字認識モジュール130は、追記記号と追記文字列除去モジュール120、文字列挿入モジュール150と接続されている。追記文字列文字認識モジュール130は、追記記号認識モジュール110によって判定された記号2:520によって指定された領域内のストローク群の文字列を認識する。図6(a)の例では、図6(c)の例に示す追記文字列590を認識し、文字列「DE」を認識結果とする。
除去後文字列文字認識モジュール140は、追記記号と追記文字列除去モジュール120、文字列挿入モジュール150と接続されている。除去後文字列文字認識モジュール140は、追記記号と追記文字列除去モジュール120による除去後のストローク群を文字認識する。図6(a)の例では、図6(b)の例に示す修正前文字列500を認識し、文字列「ABC」を認識結果とする。
文字列挿入モジュール150は、追記文字列文字認識モジュール130、除去後文字列文字認識モジュール140と接続されている。文字列挿入モジュール150は、追記記号認識モジュール110によって判定された追記先の位置に基づいて、除去後文字列文字認識モジュール140による認識結果である文字列に、追記文字列文字認識モジュール130による認識結果である文字列を挿入して、最終的な認識結果155を生成する。文字列を挿入することによって、追記後の文字列(修正後の文字列)を生成することになる。図6(a)の例では、文字列「ABDEC」となる。また、文字列挿入モジュール150は、追記先位置が座標である場合は、認識結果の各文字の座標から「B」と「C」の間であることを判定して、「ABC」に「DE」を挿入して、認識結果「ABDEC」を出力する。また、追記先位置が文字間の位置である場合は、その文字間に追記文字列「DE」を挿入すればよい。
図2は、本実施の形態による処理例を示すフローチャートである。
ステップS202では、追記記号認識モジュール110が、ストローク情報105を受け付ける。
ステップS204では、追記記号認識モジュール110が、ストローク情報105から記号1:510と記号2:520によって構成されている追記記号を認識する。詳細な処理については、図3の例を用いて後述する。
ステップS206では、追記記号と追記文字列除去モジュール120が、ストローク情報105から追記記号と追記文字列を除去して、修正前の文字列のストローク情報を抽出する。
ステップS208では、追記文字列文字認識モジュール130が、追記文字列のストローク情報を文字認識する。
ステップS210では、除去後文字列文字認識モジュール140が、修正前の文字列のストローク情報を文字認識する。
ステップS212では、文字列挿入モジュール150が、追記記号の認識結果(追記先の位置)を用いて、修正前の文字列に追記文字列を追記する。
ステップS214では、文字列挿入モジュール150が、修正後の文字列である認識結果155を出力する。
なお、ステップS208、ステップS210の処理は、いずれを先に行ってもよいし、並列的に処理を行ってもよい。
図3は、本実施の形態による処理例を示すフローチャートである。
ステップS302では、ストローク情報105から記号1:510を認識する。記号1:510の判定に関しては、記号1:510の仕様に依存する。記号1:510の仕様について、図7の例を用いて説明する。
図7(a)に示す例の場合、追記元・追記先指定記号は、ループが1回あることを条件としている。追記記号認識モジュール110が、対象としているストロークが追記元・追記先指定記号候補であるか否かを判定する場合に、そのストローク内にループが存在しているか否かの判定を用いる。図7(a)に示す例の場合、ループが1回あれば追記元・追記先指定記号候補と判定する。ここで対象としているストロークは、1ストロークである。ストロークは、各時刻の点位置で表すことができる。図8に示す例は、時刻tnのときに存在するペン先位置を示す。ストロークをラスタライズする場合は、時刻tとtn+1の点位置を線分でつなげばよい。ループがあるか否かを判定するには、一つのストローク(すなわち、ペンがダウンしてからアップするまで)で、時刻tとtn+1をつないだ全線分を生成し、各線分が(線分の端点を含めて)クロスするか否かを判定すればよい。
図8に示す例では、t−tを結んだ線分と、t−tを結んだ線分がクロスするため、ループが発生していると判定する。
このようにしてループの回数を数えて、図7(b)に示す例のようにループが無い曲線を記号1:510の条件としてもよいし、図7(c)に示す例のようにループが2回(以上)存在することを記号1:510の条件としてもよい。
ステップS304では、ストローク情報105から記号2:520を認識する。記号2:520の判定に関しては、記号2:520の仕様に依存する。記号2:520の仕様について、図9の例を用いて説明する。
記号2:520の仕様として、図9(a)に示す例のような、追記文字列を囲う楕円形状(円を含む)、図9(b)に示す例のような、追記文字列の先端と終端に曲がった直線がある下線、図9(c)に示す例のような、単なる下線等のように、文字列の範囲が確定できる記号であればよい。したがって、対象としているストロークが追記文字列範囲指定記号候補であるか否かを判定する場合に、図9(a)の例の仕様であると、そのストローク形状が楕円形状であるか否かの判定を用いる。図9(b)の例の仕様であると、そのストローク形状が3本直線で構成されているか否かの判定を用いる。図9(c)の例の仕様であると、そのストローク形状が直線であるか否かの判定を用いる。
図9(a)に示す例を判定するためには、例えば、次のような判定手法がある。
(1)通常のストローク認識で、楕円形状か否かを判定すればよい。
(2)一旦ラスタライズして、ラスタライズ後の画像を文字認識して、楕円形状か否かを判定する。
(3)前述したようにループが1回か否かを判定し、ループ外の曲線長が予め定められた閾値よりも短いことを判定する。
また、楕円形状の判定には、例えば、次のような判定手法がある。
(1)ストローク長Lと外接矩形の縦横長Wとする。LとWの比が予め定められた閾値範囲内であることを判定する。
(2)点列と最も合致する(最小2乗法で最もマッチする)楕円の式を求める。そのときの点と楕円との距離の2乗和の平方根を点数で割ったものが、予め定められた閾値以下であれば、楕円形状であると判定する。
図9(b)に示す例を判定するためには、通常のストローク認識で、3本の直線によって構成されているか否かを判定すればよい。
図9(c)に示す例を判定するためには、通常のストローク認識で、1本の直線によって構成されているか否かを判定すればよい。特に、この場合、次に示す条件を付加してもよい。次に示す条件は、図9(a)、図9(b)に示す例の場合に付加してもよい。
追記記号認識モジュール110は、さらに、追記文字列範囲指定記号候補によって指定された領域内にストローク群が存在する場合に、その追記文字列範囲指定記号候補を追記文字列範囲指定記号であると判定するようにしてもよい。つまり、追記文字列のストロークがあるからこそ、追記文字列範囲指定記号であると判定するものである。
追記記号認識モジュール110は、さらに、追記文字列範囲指定記号候補によって指定された領域内の文字列に対して追記文字列文字認識モジュール130による認識結果の認識確度が予め定められた閾値よりも高い場合に、その追記文字列範囲指定記号候補を追記文字列範囲指定記号であると判定するようにしてもよい。つまり、単にストロークがあるだけでなく、認識可能な文字を示すストロークであるからこそ、追記文字列範囲指定記号であると判定するものである。また、追記記号認識モジュール110は、この判定処理に先立ち、追記文字列範囲指定記号候補によって指定された領域内の文字列を、追記文字列文字認識モジュール130に認識させる。そして、その認識結果の認識確度を用いて、追記文字列範囲指定記号候補が追記文字列範囲指定記号であるか否かを判定する。ここで認識確度とは、その認識結果が正しいことを示す値であって、例えば、特徴空間における対象のストローク群と辞書内の文字パターンとの距離の逆数等を用いればよい。
ステップS306では、追記位置を抽出する。前述したように、追記元・追記先指定記号の端点と追記文字列範囲指定記号との位置関係によって、追記位置を抽出すればよい。
ステップS308では、追記文字列を抽出する。図9(a)に示す例では、楕円形状に囲まれたストローク群を対象とすればよい。図9(b)に示す例では、先端と終端にある直線に囲まれたストローク群を対象とすればよい。図9(c)に示す例では、追記文字列範囲指定記号の直線と予め定められた距離以内にあるストローク群を対象とすればよい。例えば、ストロークの一部分でも含まれていれば、そのストロークを対象に含めてもよい。
なお、ステップS302、ステップS304の処理の組み合わせ、又はステップS306、ステップS308の処理の組み合わせにおいては、いずれの処理を先に行ってもよい。ユーザの筆順に合わせてもよいし、並列的に処理を行ってもよい。
追記記号認識モジュール110は、対象としているストロークが追記元・追記先指定記号候補であるか否かを判定する場合に、そのストローク内にループが存在しているか否かの判定を用いるだけでなく、さらに、そのループがそのストローク内の予め定められた範囲に存在しているか否かの判定を用いるようにしてもよい。
図10は、記号1:510の例を示す説明図である。
ループが一つ存在している場合(図7(a)の例)の判定について説明する。
このとき、ループの位置がストロークの中央に近いことを条件として、追記元・追記先指定記号であると判定する。ここで「中央に近い」とは、例えば、ストロークの全長において、50%を含むように予め定められた範囲にあること(例えば、40%から60%)をいう。
これによって、追記元・追記先指定記号であると誤判定する可能性を小さくすることができる。
図10(a)に示す例は、追記元・追記先指定記号であると判定する。ループが端にある図10(b)に示す例は、追記元・追記先指定記号ではないと判定する。なお、これは、ユーザに対して、できるだけループを真ん中に書くように指示することによって、このような判定が意味を持つことになる。
ループの位置は、前述した方法で得ることができる。このとき、ループを構成する点の位置を得ることができる。
図8に示す例であれば、t〜tがループを構成するとみなす。
ループより前(tより前)に描かれた点の数をPとする。
ループとして(t〜tの間に)描かれた点の数をPとする。
ループより後(tより後)に描かれた点の数をPとする。
ループがおおよそ中央に描かれていることを判定する。例えば、P/Pの値が、予め定められた閾値T〜Tの間に入っていることを判定する。TとTは、1に近い値であればよい。例えば、T=0.7、T=1.5等の数値としてもよい。
前述では、P、P、Pを点の数として計算したが、点の数ではなく、実際に描画に要した時間を用いてもよい。
また、ループが2つ以上についても、その2つ以上のループの位置が予め定められた範囲内にあることを条件として、追記元・追記先指定記号であると判定してもよい。
追記記号認識モジュール110は、対象としているストロークが追記元・追記先指定記号候補であるか否かを判定する場合に、そのストローク内にループが存在しているか否かの判定を用いるだけでなく、さらに、そのループの大きさが予め定められた範囲内にあるか否かの判定を用いるようにしてもよい。
ループが一つ存在している場合(図7(a)の例)の判定について説明する。このとき、ループの大きさが、予め定められた大きさ以上である場合に、追記元・追記先指定記号であると判断するようにしてもよい。これによって、追記元・追記先指定記号であると誤判定する可能性を小さくすることができる。
図8に示す例であれば、t2〜t5がループを構成するとみなす。P、P、Pを、前述の通りとする。本例では、ループの大きさを用いる。例えば、P/(P+P+P)が、閾値T〜Tの間に入っていることを判定する。TとTは、ループの大きさとして妥当な値であればよい。例えば、T=0.1、T=0.5等がある。
また、ループが2つ以上についても、その2つ以上のループの大きさの合計値が予め定められた範囲内にあることを条件として、追記元・追記先指定記号であると判定してもよい。
また、ループの位置、ループの大きさの組み合わせを条件としてもよい。
追記記号認識モジュール110が行う、追記元・追記先指定記号の候補と追記文字列範囲指定記号の候補が隣接するか否かの判定処理について説明する。
(1)追記元・追記先指定記号の候補内の点と、追記文字列範囲指定記号の候補内の点のうち、最も距離が近い点を探索する。
追記元・追記先指定記号の候補内の点は、図4の例に示されているようなストローク情報400(座標位置欄420)の座標値として表わすことができる。この点の数をMとする。
追記文字列範囲指定記号の候補内の点も同様に、図4の例に示されているようなストローク情報400(座標位置欄420)の座標値として表わすことができる。この点の数をNとする。
前記の条件で、M×N通りの点と点の距離を算出し、その算出した距離の中で最も近い距離を抽出する。この抽出した距離が、予め定められた値未満であれば隣接していると判定し、予め定められた値以上であれば隣接していないと判定する。
(2)追記元・追記先指定記号の候補と、追記文字列範囲指定記号の候補のそれぞれの外接矩形を抽出する。外接矩形間の距離(例えば、各外接矩形の中心間の距離)を算出する。この算出した距離が、予め定められた値未満であれば隣接していると判定し、予め定められた値以上であれば隣接していないと判定する。
(3)追記元・追記先指定記号の候補の端点と追記文字列範囲指定記号の候補の各線との距離を算出し、その算出した距離の中で最も近い距離を抽出する。この抽出した距離が、予め定められた値未満であれば隣接していると判定し、予め定められた値以上であれば隣接していないと判定する。
図15は、本実施の形態を実現化する場合のシステム例を示す説明図である。
電子ペン用紙印刷システム1520、筆記情報処理システム1530は、通信回線1599(有線、無線、その混合を問わない回線)を介して接続されている。電子ペン用紙印刷システム1520には印刷装置1525が接続されており、筆記情報処理システム1530には電子ペン1535が接続されている。なお、図1に例示したモジュール構成は、主に、筆記情報処理システム1530に構築されている。
電子ペン用紙印刷システム1520は、紙IDを用いて情報画像(以下、ドットコード画像ともいう)を重ね合わせた文書を用紙に印刷装置1525を用いて印刷するシステムである。筆記情報処理システム1530は、電子ペン用紙印刷システム1520によって情報画像が印刷された用紙に対して、電子ペン1535を用いて筆記が行われた場合に、その筆記情報を電子文書に重ね合わせるシステムである。そして、ユーザによって電子ペン1535を用いて記載された追記記号を検出した場合は、その追記記号にしたがって、文字列を修正し、その修正した文字列を文書に重ね合わせる。
図16は、電子ペン用紙印刷システム1520によって、情報画像が印刷された電子ペン用紙1610の例を示す説明図である。電子ペン用紙1610は、電子ペン用紙印刷システム1520が印刷装置1525を用いて印刷するものである。電子ペン用紙1610には、ドットコード画像が印刷されている。例えば、電子ペン用紙1610内の領域1620には、領域1620内を拡大して示している図16(b)のようなドットコード画像が印刷されている。ドットコード画像によって、電子ペン用紙1610一枚一枚に割り当てられた紙IDと用紙上の位置情報(X,Y座標値)が表現されている。
例えば、紙IDは、32bitの空間内の数値である。文字列表記の場合は、16進文字列により表記する。よって、紙IDの範囲は「00000000」から「FFFFFFFF」である。
図17は、電子ペン1535内の構成例を示す説明図である。
概要を説明する。電子ペン用紙1799上に電子ペン1535で筆記する際、圧力センサがON(前述のペンダウン)になると、電子ペン用紙1799上のドットコード画像を撮像し、デコードして、電子ペン用紙1799の紙IDと電子ペン用紙1799上の位置情報(X,Y座標値)を取り出し、メモリに格納する。そして、メモリに格納された情報を、通信回路を経由して筆記情報処理システム1530に送信する。なお、図4の例に示したストローク情報400のように、圧力センサがONになった情報として前述の筆圧ON情報(前述のペンダウン)、圧力センサがOFFになった情報として前述の筆圧OFF情報(前述のペンアップ)をもメモリに格納してもよい。また、それぞれの情報が発生した時刻に関する情報(年、月、日、秒、秒以下、又はこれらの組み合わせであってもよい)を含ませるようにしてもよい。
次に詳細に説明する。図示するように、電子ペン1535は、ペン全体の動作を制御する制御回路1701を備える。また、制御回路1701は、入力画像から検出したドットコード画像を処理する画像処理部1701aと、そこでの処理結果から紙ID及び位置情報を抽出するデータ処理部1701bとを含む。
そして、制御回路1701には、電子ペン1535による筆記動作をペンチップ1709に加わる圧力によって検出する圧力センサ1702が接続されている。また、用紙上に赤外光を照射する赤外LED1703と、画像を入力する赤外CMOS1704も接続されている。さらに、紙ID及び位置情報等を記憶するための情報メモリ1705と、外部装置と通信するための通信回路1706と、電子ペン1535を駆動するためのバッテリ1707と、電子ペン1535の識別情報(ペンID)を記憶するペンIDメモリ1708も接続されている。
ここで、この電子ペン1535の動作の概略を説明する。
電子ペン1535による筆記が行われると、ペンチップ1709に接続された圧力センサ1702が、筆記動作を検出する。これにより、赤外LED1703が点灯し、赤外CMOS1704がCMOSセンサによって用紙上の画像を撮像する。
なお、赤外LED1703は、消費電力を抑制するために、CMOSセンサのシャッタタイミングに同期させてパルス点灯する。
また、赤外CMOS1704は、撮像した画像を同時に転送できるグローバルシャッタ方式のCMOSセンサを使用する。そして、赤外領域に感度があるCMOSセンサを使用する。また、外乱の影響を低減するために、CMOSセンサ全面に可視光カットフィルタを配置している。CMOSセンサは、70fps〜100fps(frame per second)程度の周期で、画像を撮像する。なお、撮像素子はCMOSセンサに限定するものではなく、CCD等、他の撮像素子を使用してもよい。
このように撮像した画像が制御回路1701に入力されると、制御回路1701は、撮像した画像からドットコード画像を取得する。そして、それを復号し、ドットコード画像に埋め込まれている紙ID及び位置情報を取得する。
以下、このときの制御回路1701の動作について説明する。
図18は、電子ペン1535(制御回路1701)による処理例を示すフローチャートである。
ステップS1801では、画像処理部1701aは、画像を入力する。
ステップS1802では、画像に含まれるノイズを除去するための処理を行う。ここで、ノイズとしては、CMOS感度のばらつきや電子回路により発生するノイズ等がある。ノイズを除去するために如何なる処理を行うかは、電子ペン1535の撮像系の特性に応じて決定すべきである。例えば、ぼかし処理やアンシャープマスキング等の先鋭化処理を適用することができる。
ステップS1803では、画像処理部1701aは、画像からドットパターン(ドット画像の位置)を検出する。例えば、2値化処理によりドットパターン部と背景部とを切り分け、2値化された個々の画像位置からドットパターンを検出することができる。2値化画像にノイズ成分が多数含まれる場合は、例えば、2値化画像の面積や形状によりドットパターンの判定を行うフィルタ処理を組み合わせる必要がある。
また、ステップS1804では、画像処理部1701aは、検出したドットパターンを2次元配列上のデジタルデータに変換する。例えば、2次元配列上で、ドットがある位置を「1」、ドットがない位置を「0」というように変換する。そして、この2次元配列上のデジタルデータは、画像処理部1701aからデータ処理部1701bへと受け渡される。
次いで、ステップS1805では、データ処理部1701bは、受け渡されたデジタルデータから、図19(a)に示した2つのドットの組み合わせからなるビットパターンを検出する。例えば、ビットパターンに対応するブロックの境界位置を2次元配列上で動かし、ブロック内に含まれるドットの数が2つになるような境界位置を検出することにより、ビットパターンを検出することができる。
このようにしてビットパターンが検出されると、ステップS1806では、データ処理部1701bは、ビットパターンの種類を参照することにより、同期符号を検出する。
そして、ステップS1807では、同期符号からの位置関係に基づいて、識別符号及び位置符号を検出する。
その後、ステップS1808では、データ処理部1701bは、識別符号を復号して紙IDを取得し、位置符号を復号して位置情報を取得する。識別符号については、RS復号処理を施すことで紙IDを得る。一方、位置符号については、読み出した部分系列の位置を、画像生成時に使用したM系列と比較することで、位置情報を得る。
次に、筆記情報格納用電子文書について説明する。以降、単に電子文書と表記した場合、筆記情報格納用電子文書を指す。
筆記情報格納用電子文書は、電子ペン1535によって電子ペン用紙1799に筆記された内容を、フィールド定義とともにまとめたデータである。以下から構成される。
(1)紙ID:その筆記情報格納用電子文書に対応付けられた電子ペン用紙に割り当てられている紙ID
(2)フィールド定義:その筆記情報格納用電子文書への筆記を処理するために使用するフィールド定義
そして、以下を含めてもよい。
(3)帳票イメージ:その筆記情報格納用電子文書に印刷されている帳票イメージ
次に、電子ペン用紙印刷システム1520で生成されるドットコード画像の元となるコードパターンについて説明する。
図19は、電子ペン用紙印刷システム1520で取り扱う情報画像(コードパターン画像)の例を示す説明図である。
まず、コードパターンを構成するビットパターンについて説明する。
図19(a)に、ビットパターンの配置の一例を示す。
ビットパターンとは、情報埋め込みの最小単位である。ここでは、図19(a)に示すように、9箇所の中から選択した2箇所にビットを配置する。図では、黒の四角が、ビットが配置された位置を示し、斜線の四角が、ビットが配置されていない位置を示している。9箇所の中から2箇所を選択する組み合わせは、36(=9C2)通りある。したがって、このような配置方法により、36通り(約5.2ビット)の情報を表現することができる。
ただし、紙ID及び位置情報は、この36通りのうち32通り(5ビット)を使用して表現するものとする。
ところで、図19(a)に示した最小の四角は、600dpiにおける2ドット×2ドットの大きさを有している。600dpiにおける1ドットの大きさは0.0423mmなので、この最小の四角の一辺は、84.6μm(=0.0423mm×2)である。コードパターンを構成するドットは、大きくなればなるほど目に付きやすくなるため、できるだけ小さいほうが好ましい。ところが、あまり小さくすると、プリンタで印刷できなくなってしまう。そこで、ドットの大きさとして、50μmより大きく100μmより小さい前記の値を採用している。これにより、プリンタで印刷可能な最適な大きさのドットを形成することができる。つまり、84.6μm×84.6μmが、プリンタで安定的に形成可能な最小の大きさである。
なお、ドットをこのような大きさにすることで、1つのビットパターンの一辺は、約0.5(=0.0423×2×6)mmとなる。
また、このようなビットパターンから構成されるコードパターンについて説明する。
図19(b)に、コードパターンの配置の一例を示す。
ここで、図19(b)に示した最小の四角が、図19(a)に示したビットパターンに相当する。すなわち、紙IDを符号化した識別符号は、16(=4×4)個のビットパターンを使用して埋め込まれる。また、X方向の位置情報を符号化したX位置符号と、Y方向の位置情報を符号化したY位置符号とは、それぞれ、4個のビットパターンを使用して埋め込まれる。さらに、左上角部に、コードパターンの位置と回転を検出するための同期符号が、1つのビットパターンを使用して埋め込まれる。
なお、1つのコードパターンの大きさは、ビットパターンの5個分の幅に等しいため、約2.5mmとなる。電子ペン用紙印刷システム1520では、このように生成したコードパターンを画像化したコードパターン画像を、用紙全面に配置する。
図20は、電子ペン用紙印刷システム1520における情報の符号化処理例及び情報画像(ドットコード画像)の生成処理例を示す説明図である。
まず、紙IDの符号化について説明する。
紙IDの符号化には、ブロック符号化方式のRS(リードソロモン)符号が使用される。図19の例で説明した通り、電子ペン用紙印刷システム1520では、5ビットの情報を表現できるビットパターンを用いて情報を埋め込む。したがって、情報の誤りも5ビット単位で発生するため、ブロック符号化方式で符号化効率がよいRS符号を使用している。ただし、符号化方式はRS符号に限定するものでなく、その他の符号化方式、例えば、BCH符号等を使用することもできる。
前述したように、電子ペン用紙印刷システム1520では、5ビットの情報量をもつビットパターンを用いて情報を埋め込む。したがって、RS符号のブロック長を5ビットとする必要がある。そのため、紙IDを5ビットずつに区切り、ブロック化する。図20では、紙ID「0011101101001…」から、第1のブロック「00111」と、第2のブロック「01101」とが切り出されている。
そして、ブロック化された紙IDに対し、RS符号化処理を行う。図20では、「blk1」、「blk2」、「blk3」、「blk4」、…というようにブロック化した後、RS符号化が行われる。
ところで、電子ペン用紙印刷システム1520において、紙IDは、16(=4×4)個のブロックに分けられる。そこで、RS符号における符号ブロック数を16とすることができる。
また、情報ブロック数は、誤りの発生状況に応じて設計することができる。例えば、情報ブロック数を8とすれば、RS(16,8)符号となる。この符号は、符号化された情報に4ブロック(=(16−8)÷2)の誤りが発生しても、それを補正することができる。また、誤りの位置を特定できれば、訂正能力をさらに向上することができる。なお、この場合、情報ブロックに格納される情報量は、40ビット(=5ビット×8ブロック)であるが、このうち32ビットを用いる。
次に、位置情報の符号化について説明する。
位置情報の符号化には、擬似乱数系列の一種であるM系列符号が使用される。ここで、M系列とは、K段の線形シフトレジスタで発生できる最大周期の系列であり、2K−1の系列長をもつ。このM系列から取り出した任意の連続したKビットは、同じM系列中の他の位置に現れない性質をもつ。そこで、この性質を利用することにより、位置情報を符号化することができる。
ところで、電子ペン用紙印刷システム1520では、符号化すべき位置情報の長さから、必要なM系列の次数を求め、M系列を生成している。しかしながら、符号化する位置情報の長さが予め分かっている場合は、M系列を毎回生成する必要はない。すなわち、固定のM系列を予め生成しておき、それをメモリ等に格納しておけばよい。
例えば、系列長8191のM系列(K=13)を使用したとする。
この場合、位置情報も5ビット単位で埋め込むため、系列長8191のM系列から5ビットずつ取り出してブロック化する。図20では、M系列「11010011011010…」が、5ビットずつブロック化されている。
このように、電子ペン用紙印刷システム1520では、位置情報と紙IDとで、異なる符号化方式を用いている。これは、紙IDの検出能力を、位置情報の検出能力よりも高くなるように設定する必要があるからである。つまり、位置情報は、紙面の位置を取得するための情報なので、ノイズ等によって復号できない部分があっても、その部分が欠損するだけで他の部分には影響しない。これに対し、紙IDは、復号に失敗すると、筆記情報を反映する対象を検出できなくなるからである。さらに、このような構成とすることによって、位置情報と紙IDを復号する際の画像読取範囲を最小化できる。すなわち、位置情報にRS符号等の境界を有する符号化方式を使用すると、それを復号する際には境界間の符号を読み取る必要があるため、画像を読み取る範囲は図19(b)に示した領域の2倍の領域とする必要がある。しかし、M系列を使用することで、図19(b)に示した領域と同じ大きさの領域を読み取ればよい構成にできる。これは、M系列の性質上、M系列の任意の部分系列から位置情報を復号できるからである。すなわち、紙IDと位置情報を復号する際には、図19(b)に示した大きさの領域を読み取る必要があるが、その読み取る位置は、図19(b)に示した境界と一致させる必要はない。位置情報は、M系列の任意位置の部分系列から復号できる。紙IDは、同じ情報が用紙全面に配置されるため、図19(b)に図示した境界から読取位置がずれても、読み取られた情報の断片を再配置することで元の情報を復元することができる。
以上のように、紙IDがブロック分割された後、RS符号により符号化され、また、位置情報がM系列により符号化された後、ブロック分割されると、図示するように、ブロックが合成される。すなわち、これらのブロックは、図示するようなフォーマットで2次元平面に展開される。図20に示したフォーマットは、図19(b)に示したフォーマットに対応している。すなわち、黒の四角が同期符号を意味している。
また、横方向に配置された「1」、「2」、「3」、「4」、…がX位置符号を、縦方向に配置された「1」、「2」、「3」、「4」、…がY位置符号を、それぞれ意味している。位置符号は、用紙の位置が異なれば異なる情報が配置されるので、座標位置に対応する数字で示しているのである。一方、斜線部分の四角が識別符号を意味している。識別符号は、用紙の位置が異なっても同じ情報が配置されるので、全て同じマークで示しているのである。
ところで、図からも分かる通り、2つの同期符号の間には、4個のビットパターンがある。したがって、20(=5×4)ビットのM系列の部分系列を配置することができる。20ビットの部分系列から13ビットの部分系列を取り出せば、その13ビットが全体(8191)の中のどの部分の部分系列なのかを特定することができる。このように、20ビットのうち13ビットを位置の特定に使用した場合、取り出した13ビットの誤りの検出又は訂正を、残りの7ビットを使用して行うことができる。すなわち、M系列を生成したときと同じ生成多項式を使用して、20ビットの整合性を確認することで、誤りの検出と訂正が可能となるのである。
その後、各ブロックにおけるビットパターンが、ドット画像を参照することにより画像化される。そして、図20の最右に示すようなドットで情報を表す出力画像が生成される。
なお、本実施の形態としてのプログラムが実行されるコンピュータのハードウェア構成は、図11に例示するように、一般的なコンピュータであり、具体的にはパーソナルコンピュータ、サーバとなり得るコンピュータ等である。つまり、具体例として、処理部(演算部)としてCPU1101を用い、記憶装置としてRAM1102、ROM1103、HD1104を用いている。HD1104として、例えばハードディスクを用いてもよい。追記記号認識モジュール110、追記記号と追記文字列除去モジュール120、追記文字列文字認識モジュール130、除去後文字列文字認識モジュール140、文字列挿入モジュール150等のプログラムを実行するCPU1101と、そのプログラムやデータを記憶するRAM1102と、本コンピュータを起動するためのプログラム等が格納されているROM1103と、補助記憶装置(フラッシュメモリ等であってもよい)であるHD1104と、キーボード、マウス、タッチパネル等に対する利用者の操作に基づいてデータを受け付ける受付装置1106と、CRT、液晶ディスプレイ等の出力装置1105と、ネットワークインタフェースカード等の通信ネットワークと接続するための通信回線インタフェース1107、そして、それらをつないでデータのやりとりをするためのバス1108により構成されている。これらのコンピュータが複数台互いにネットワークによって接続されていてもよい。
前述の実施の形態のうち、コンピュータ・プログラムによるものについては、本ハードウェア構成のシステムにソフトウェアであるコンピュータ・プログラムを読み込ませ、ソフトウェアとハードウェア資源とが協働して、前述の実施の形態が実現される。
なお、図11に示すハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図11に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えばASIC等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図11に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、情報家電、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。
また、前述の実施の形態の説明において、予め定められた値との比較において、「以上」、「以下」、「より大きい」、「より小さい(未満)」としたものは、その組み合わせに矛盾が生じない限り、それぞれ「より大きい」、「より小さい(未満)」、「以上」、「以下」としてもよい。
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray(登録商標) Disc)、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM(登録商標))、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)、SD(Secure Digital)メモリーカード等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
105…ストローク情報
110…追記記号認識モジュール
120…追記記号と追記文字列除去モジュール
130…追記文字列文字認識モジュール
140…除去後文字列文字認識モジュール
150…文字列挿入モジュール
155…認識結果

Claims (8)

  1. ストローク群を受け付ける受付手段と、
    ストロークが追記元・追記先指定記号候補であるか否かを判定する第1の判定手段と、
    ストロークが追記文字列範囲指定記号候補であるか否かを判定する第2の判定手段と、
    前記第1の判定手段によって判定された追記元・追記先指定記号候補と前記第2の判定手段によって判定された追記文字列範囲指定記号候補が隣接しているか否かを判定する第3の判定手段と、
    前記第3の判定手段によって隣接していると判定された場合、前記追記元・追記先指定記号候補を追記元・追記先指定記号、及び、前記追記文字列範囲指定記号候補を追記文字列範囲指定記号であると判定する第4の判定手段と、
    前記第4の判定手段によって判定された追記文字列範囲指定記号によって指定された領域内のストローク群の文字列を認識する第1の認識手段
    を具備することを特徴とする情報処理装置。
  2. 前記受付手段によって受け付けられたストローク群から、前記第4の判定手段によって判定された追記元・追記先指定記号と追記文字列範囲指定記号と、該追記文字列範囲指定記号によって指定された領域内の文字列を除去する除去手段と、
    前記除去手段による除去後のストローク群を文字認識する第2の認識手段と、
    前記追記元・追記先指定記号に基づいて、追記先の位置を判定する第5の判定手段と、
    前記第5の判定手段によって判定された追記先の位置に基づいて、前記第2の認識手段による認識結果である文字列に、前記第1の認識手段による認識結果である文字列を挿入する挿入手段
    をさらに具備することを特徴とする請求項1に記載の情報処理装置。
  3. 前記第3の判定手段は、さらに、前記追記文字列範囲指定記号候補によって指定された領域内にストローク群が存在する場合に、該追記文字列範囲指定記号候補を追記文字列範囲指定記号であると判定する
    ことを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記第3の判定手段は、さらに、前記追記文字列範囲指定記号候補によって指定された領域内の文字列の認識確度が予め定められた閾値よりも高い又は以上である場合に、該追記文字列範囲指定記号候補を追記文字列範囲指定記号であると判定する
    ことを特徴とする請求項3に記載の情報処理装置。
  5. 前記第1の判定手段は、対象としているストロークが追記元・追記先指定記号候補であるか否かを判定する場合に、該ストローク内にループが存在しているか否かの判定を用いる
    ことを特徴とする請求項1から4のいずれか一項に記載の情報処理装置。
  6. 前記第1の判定手段は、さらに、前記ループが前記ストローク内の予め定められた範囲に存在しているか否かの判定を用いる、又は、前記ループの大きさが予め定められた範囲内にあるか否かの判定を用いる
    ことを特徴とする請求項5に記載の情報処理装置。
  7. 前記第2の判定手段は、対象としているストロークが追記文字列範囲指定記号候補であるか否かを判定する場合に、該ストローク形状が楕円形状であるか否かの判定を用いる
    ことを特徴とする請求項1から6のいずれか一項に記載の情報処理装置。
  8. コンピュータを、
    ストローク群を受け付ける受付手段と、
    ストロークが追記元・追記先指定記号候補であるか否かを判定する第1の判定手段と、
    ストロークが追記文字列範囲指定記号候補であるか否かを判定する第2の判定手段と、
    前記第1の判定手段によって判定された追記元・追記先指定記号候補と前記第2の判定手段によって判定された追記文字列範囲指定記号候補が隣接しているか否かを判定する第3の判定手段と、
    前記第3の判定手段によって隣接していると判定された場合、前記追記元・追記先指定記号候補を追記元・追記先指定記号、及び、前記追記文字列範囲指定記号候補を追記文字列範囲指定記号であると判定する第4の判定手段と、
    前記第4の判定手段によって判定された追記文字列範囲指定記号によって指定された領域内のストローク群の文字列を認識する第1の認識手段
    として機能させるための情報処理プログラム。
JP2013207029A 2013-10-02 2013-10-02 情報処理装置及び情報処理プログラム Active JP6164018B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013207029A JP6164018B2 (ja) 2013-10-02 2013-10-02 情報処理装置及び情報処理プログラム
CN201410325349.2A CN104516579B (zh) 2013-10-02 2014-07-09 信息处理装置以及信息处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013207029A JP6164018B2 (ja) 2013-10-02 2013-10-02 情報処理装置及び情報処理プログラム

Publications (2)

Publication Number Publication Date
JP2015072541A JP2015072541A (ja) 2015-04-16
JP6164018B2 true JP6164018B2 (ja) 2017-07-19

Family

ID=52792001

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013207029A Active JP6164018B2 (ja) 2013-10-02 2013-10-02 情報処理装置及び情報処理プログラム

Country Status (2)

Country Link
JP (1) JP6164018B2 (ja)
CN (1) CN104516579B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6784422B1 (ja) * 2019-09-05 2020-11-11 mui Lab株式会社 描画内容を記憶する操作表示パネル組込物品及びシステム
JP2021152884A (ja) * 2020-03-20 2021-09-30 株式会社リコー 表示装置、表示方法、プログラム、情報処理装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3353957B2 (ja) * 1992-12-04 2002-12-09 ソニー株式会社 手書き入力表示装置および方法
JP4244614B2 (ja) * 2002-10-31 2009-03-25 株式会社日立製作所 手書き入力装置、プログラムおよび手書き入力方法システム
JP2011237993A (ja) * 2010-05-10 2011-11-24 Fuji Xerox Co Ltd 情報入力装置及び情報入力プログラム
JP5696394B2 (ja) * 2010-08-04 2015-04-08 村田機械株式会社 画像処理装置、画像処理方法、及び、画像処理プログラム
JP2012103776A (ja) * 2010-11-08 2012-05-31 Fuji Xerox Co Ltd 軌跡情報処理装置、軌跡情報処理システム及びプログラム
JP5664169B2 (ja) * 2010-11-24 2015-02-04 株式会社リコー サーマルメディア描画装置
CN102129319A (zh) * 2011-02-28 2011-07-20 李丽平 快速信息交互系统及交互方法

Also Published As

Publication number Publication date
CN104516579B (zh) 2018-12-14
CN104516579A (zh) 2015-04-15
JP2015072541A (ja) 2015-04-16

Similar Documents

Publication Publication Date Title
JP5971098B2 (ja) 情報処理装置及び情報処理プログラム
JP2006511864A (ja) コピー保護を提供する冗長な情報を含む情報コード
JP4670740B2 (ja) 画像生成装置、画像処理システム、及びプログラム
US7911653B2 (en) Device using low visibility encoded image to manage copy history
JP4871794B2 (ja) 印刷装置及び印刷方法
JP6164018B2 (ja) 情報処理装置及び情報処理プログラム
US9147142B2 (en) Information processing apparatus, information processing program, information processing method, and computer-readable medium
JP5720182B2 (ja) 画像処理装置及び画像処理プログラム
JP2007088693A (ja) 画像処理システム,改ざん検証装置,改ざん検証方法およびコンピュータプログラム
JP6268888B2 (ja) 情報処理装置及び情報処理プログラム
JP5987726B2 (ja) 情報処理装置及び情報処理プログラム
JP5592234B2 (ja) 二次元コード生成装置、二次元コード読取装置、二次元コード、二次元コード生成方法、二次元コード読取方法及びプログラム
JP5098267B2 (ja) 筆記情報処理装置、筆記情報処理方法、及びプログラム
JP7109398B2 (ja) 画像表示媒体、画像処理装置、画像処理方法、及びプログラム
JP2008071247A (ja) 印刷情報管理装置、及びプログラム
JP2008048285A (ja) 文書管理装置、筆記処理装置、及びプログラム
JP2008109578A (ja) 画像生成装置、情報読み取り装置および記録媒体
JP2009071416A (ja) 画像生成装置、文書管理システム、文書管理プログラム
JP2015201109A (ja) 情報処理装置、ペン情報処理装置、情報処理システム及び情報処理プログラム
JP2010231657A (ja) 情報照合支援システムおよびプログラム
JP2017510132A (ja) 印刷文書の簡単な符号化、認証およびコピー検出システム
JP6229254B2 (ja) 情報処理装置及び情報処理プログラム
JP5009414B2 (ja) 地紋重畳装置、および地紋重畳方法
JP2008165635A (ja) 電子筆記具、媒体判別装置、画像生成装置、コンピュータシステム、及びプログラム
JP2017211895A (ja) パターン認識装置、パターン認識システム、パターン認識方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160524

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170516

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170523

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170605

R150 Certificate of patent or registration of utility model

Ref document number: 6164018

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350