(57)【特許請求の範囲】
【請求項１】
処理対象の画像から、罫線で囲まれた複数の認識セルを特定する特定手段と、
前記複数の認識セル内に含まれる文字画像に対して文字認識処理を実行することにより、認識文字を取得する文字認識手段と、
前記複数の認識セルのそれぞれを囲む枠と前記画像とを表示画面に表示する制御手段と、
前記表示画面に表示された前記画像において、ユーザにより指定された位置を受付ける受付手段と、を有し、
前記制御手段は、前記受付手段で受付けた位置が前記複数の認識セルの１つの中である場合、当該受付けた位置の認識セルに対応する認識文字の編集指示をユーザから受付けるための編集領域と、当該受付けた位置の認識セルについての位置およびサイズをユーザが変更するためのハンドルと、を前記表示画面に表示することを特徴とする情報処理装置。
【請求項２】
前記編集領域には、当該受付けた位置の認識セルに対応する認識文字が表示されており、
前記編集領域に表示された前記認識文字を別の文字へと変更する指示を、ユーザから受付けた場合、
前記制御手段は、
前記表示されている画像から、当該受付けた位置の認識セルに含まれている文字画像を削除し、代わりに、前記変更された別の文字に対応する文字画像を、前記認識セル内に配置することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記編集領域において前記認識文字を別の文字へと変更した後に、他の認識セルが前記ユーザによって選択された場合、
前記制御手段は、前記表示されている画像から、当該受付けた位置の認識セルに含まれている文字画像を削除し、代わりに、前記変更された別の文字に対応する文字画像を、前記認識セル内に配置し、
さらに、
前記選択された他の認識セルの位置およびサイズをユーザが変更可能にするための新たなハンドルを表示することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記制御手段は、
前記認識セルに含まれている文字画像を削除して、前記別の文字に対応する文字画像を、前記認識セル内に配置する際、
前記別の文字に対応する文字画像を、前記削除される文字画像の位置に応じた位置に配置することを特徴とする請求項２に記載の情報処理装置。
【請求項５】
前記削除される文字画像の位置が前記認識セル内において左側に寄っている場合には、前記削除される文字画像の左側の位置を始点として、前記別の文字に対応する文字画像を配置し、
前記削除される文字画像の位置が前記認識セル内において右側に寄っている場合には、前記削除される文字画像の右側の位置を終点として、前記別の文字に対応する文字画像を配置する、ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
処理対象の画像から、罫線で囲まれた複数の認識セルを特定する特定工程と、
前記複数の認識セル内に含まれる文字画像に対して文字認識処理を実行することにより、認識文字を取得する文字認識工程と、
前記複数の認識セルのそれぞれを囲む枠と前記画像とを表示画面に表示する第１表示工程と、
前記表示画面に表示された前記画像において、ユーザにより指定された位置を受付ける受付工程と、
前記受付工程で受付けた位置が前記複数の認識セルの１つの中である場合、当該受付けた位置の認識セルに対応する認識文字の編集指示をユーザから受付けるための編集領域と、当該受付けた位置の含む認識セルについての位置およびサイズをユーザが変更するためのハンドルと、を前記表示画面に表示する第２表示工程と、
を有することを特徴とする情報処理方法。
【請求項７】
前記編集領域には、当該受付けた位置の認識セルに対応する認識文字が表示されており、
前記編集領域に表示された前記認識文字を別の文字へと変更する指示を、ユーザから受付けた場合、前記表示されている画像から、当該受付けた位置の認識セルに含まれている文字画像を削除し、代わりに、前記変更された別の文字に対応する文字画像を、前記認識セル内に配置することを特徴とする請求項６に記載の情報処理方法。
【請求項８】
前記編集領域において前記認識文字を別の文字へと変更した後に、他の認識セルが前記ユーザによって選択された場合、前記表示されている画像から、当該受付けた位置の認識セルに含まれている文字画像を削除し、代わりに、前記変更された別の文字に対応する文字画像を、前記認識セル内に配置し、さらに、前記選択された他の認識セルの位置およびサイズをユーザが変更可能にするための新たなハンドルを表示することを特徴とする請求項６に記載の情報処理方法。
【請求項９】
前記認識セルに含まれている文字画像を削除して、前記別の文字に対応する文字画像を、前記認識セル内に配置する際には、
前記別の文字に対応する文字画像を、前記削除される文字画像の位置に応じた位置に配置することを特徴とする請求項７に記載の情報処理方法。
【請求項１０】
前記削除される文字画像の位置が前記認識セル内において左側に寄っている場合には、前記削除される文字画像の左側の位置を始点として、前記別の文字に対応する文字画像を配置し、
前記削除される文字画像の位置が前記認識セル内において右側に寄っている場合には、前記削除される文字画像の右側の位置を終点として、前記別の文字に対応する文字画像を配置する、ことを特徴とする請求項９に記載の情報処理方法。
【請求項１１】
請求項６乃至１０の何れか１項に記載の情報処理方法をコンピュータに実行させるためのコンピュータ読取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、プログラムに関する。
【背景技術】
【０００２】
図３は、スキャン画像の一例である。このスキャン画像を編集したい場合がある。特許文献１は、スキャン画像の編集機能を開示している。
具体的には、特許文献１は、スキャン画像から、複数の罫線により構成される表領域を特定し、さらに、その表領域の内部の文字を文字認識する。また、表領域を構成する各罫線をベクトル化する。
そして、スキャン画像を左のウィンドウに表示しつつ、ベクトル化結果と認識文字とを右のウィンドウに表示する（特許文献１の図５）。
ユーザがこの右のウィンドウにて文字の編集を行うと、左のウィンドウから、上記特定された表領域が削除される。そして、編集後の文字が追加された表を生成し、当該生成された表を左のウィンドウに表示する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−０９４７６０
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の技術が表領域の位置を誤判定すると、ユーザが望んでいない位置の画像が削除されることになる。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明の情報処理装置は、処理対象の画像から、罫線で囲まれた複数の認識セルを特定する特定手段と、前記複数の認識セル内に含まれる文字画像に対して文字認識処理を実行することにより、認識文字を取得する文字認識手段と、前記複数の認識セルのそれぞれを囲む枠と前記画像とを表示画面に表示する制御手段と、前記表示画面に表示された前記画像において、ユーザにより指定された位置を受付ける受付手段と、を有し、前記制御手段は、前記受付手段で受付けた位置が前記複数の認識セルの１つの中である場合、当該受付けた位置の認識セルに対応する認識文字の編集指示をユーザから受付けるための編集領域と、当該受付けた位置の認識セルについての位置およびサイズをユーザが変更するためのハンドルと、を表示画面に表示することを特徴とする。
【発明の効果】
【０００６】
ユーザが望んでいない位置の画像が削除される事態が抑制される。
【図面の簡単な説明】
【０００７】
【図１】複写機１００の構成を示すブロック図
【図２】情報処理装置２００の構成を示すブロック図
【図３】スキャン画像の例
【図４】スキャン画像の領域分割結果
【図５】認識セルの枠を表示する表示画面
【図６】認識セルが選択された際に表示される表示画面
【図７】編集後の文字を表示した画面
【図８】メインフローチャート
【図９】編集のフローチャート
【図１０】認識セルの位置を変更するフローチャート
【図１１】編集後の文字の表示フロー
【図１２】編集後の文字の位置変更のフロー
【図１３】スキャン画像の他の例
【図１４】基準線の決定方法説明の補足図
【図１５】第３の実施形態に対応するフローチャート
【発明を実施するための形態】
【０００８】
まず、言葉の定義を行う。
オリジナル文字とは、スキャン画像中の文字のことである。
【０００９】
認識文字とは、オリジナル文字を文字認識することで得られた文字コード（文字認識結果）、又は、編集ウィンドウに表示される、その文字コードに対応する文字のことである。この認識文字は、編集ウィンドウ用文字サイズ（編集ウィンドウ用文字サイズとは、編集ウィンドウ用に設定された文字サイズという意味である）で編集ウィンドウ上（編集領域上）に表示される。
【００１０】
文字の編集は、ユーザが、編集ウィンドウから認識文字を削除して、代わりの文字を編集ウィンドウに入力する行為を示す。編集後の文字とは、入力された代わりの文字、又は、その文字に対応する文字コードのことである。この編集後の文字は、編集ウィンドウ上に表示される場合には、編集ウィンドウ用文字サイズで表示されるが、スキャン画像上に表示される場合には、スキャン画像用文字サイズで表示される。
【００１１】
なお、スキャン画像用文字サイズも編集ウィンドウ用文字サイズも共にそのデフォルト値は、予め保存部２０２に保存されているものとする。
【００１２】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００１３】
＜第１の実施形態＞
＜複写機の構成と情報処理装置の構成＞
図１に本実施形態における複写機１００の構成を示す。複写機１００は、スキャナ１０１、送受信部１０２、プリンタ１０３より構成される。
【００１４】
図２に本実施形態における情報処理装置２００の構成を示す。情報処理装置２００は、ＣＰＵとＲＯＭ及びＲＡＭを内部に有する。ＣＰＵはＲＯＭから情報処理装置２００のプログラムをロードし、一次保存領域としてＲＡＭを利用して情報処理装置２００のプログラムを実行する。以上の動作により、各部（２０１−２０５）の処理が実行される。なお、受付部２０５は、キーボードとマウスを含む形態が一般的であるが、この形態に限られない。また、受付部２０５と表示部２０４は一体であっても良い。その場合、受付部２０５と表示部２０４をまとめてタッチパネルと呼ぶことになり、実施例中のクリックなる記載は、タッチと読み替えて頂くことになる。
【００１５】
＜スキャンから領域分割、文字認識まで＞
複写機１００のスキャナが文書をスキャンすると、スキャン画像（スキャン画像データとも言う）が生成される。生成されたスキャン画像を送受信部１０２が情報処理装置２００に送信する。すると、情報処理装置２００の送受信部２０１がこれを受信し、保存部２０２にそのスキャン画像を保存する。
【００１６】
ユーザが受付部２０５を介して、保存部２０２に保存されている複数のスキャン画像の中から、一つのスキャン画像を選択する。すると、制御部２０３は、そのスキャン画像を表示部２０４に表示する。
【００１７】
ユーザが受付部２０５を介して、表示部２０４に表示されたスキャン画像の解析を指示する。すると、制御部２０３は、領域分割と、文字認識と、セル認識枠表示の三つの処理を実行し、実行結果を表示部２０４に表示する。図３は、スキャン画像の例であり、図４は、制御部２０３による三つの処理の実行後の表示部２０４の表示結果である。
【００１８】
＜領域分割（１）−（５）、文字認識（６）、セル認識枠表示（７）の説明＞
（１）制御部２０３は、スキャン画像に対して２値化を行うことにより、２値画像を得る。この２値化により、スキャン画像における閾値より濃い色の画素は黒画素、その閾値より薄い色の画素は白画素となる。なお、以下では、スキャン画像が１００ＤＰＩであるものとして説明を行うが、スキャン画像がこの解像度に限られないのは言うまでもない。
【００１９】
（２）制御部２０３は、２値画像に対して８連結で繋がる黒画素の輪郭を追跡することにより、８方向の何れかの方向で連続して存在する黒画素の塊（黒画素塊）を検出する。８連結とは、左上、左、左下、下、右下、右、右上、上の８つの方向の何れかで、同じ色（今回のケースでは黒）の画素が連続しているという意味である。一方、４連結とは、左、下、右、上の４つの方向の何れかで同じ色の画素が連続しているという意味である。この（２）では、８方向に存在する８つの隣接画素の何れもが黒画素ではない単独の黒画素は検出されない。一方、８方向に存在する８つの隣接画素の何れか１つにでも黒画素が存在する黒画素は、その隣接する黒画素と共に、黒画素塊として検出されることになる。
【００２０】
（３）制御部２０３は、検出した黒画素塊の中から、閾値１（例えば５０画素・・・１．２７ｃｍ）よりも長く、かつ、閾値２（例えば１０画素・・・０．２５ｃｍ）よりも細い黒画素塊を検出する。検出された黒画素塊は、罫線と呼ばれる。
【００２１】
（４）制御部２０３は、四本の罫線で囲まれた領域であって、その領域の中に他の罫線を含んでいない領域を特定する。特定された領域は認識セルと呼ばれる。また、この（４）の処理を認識セルの特定と呼ぶ。制御部２０３は、特定された認識セルの位置は、保存部２０２に保存される。
【００２２】
（５）制御部２０３は、各認識セルの内部に黒画素塊があるか判定する。そして、黒画素塊があると判定した場合、各認識セルの内部に存在する全ての黒画素塊に外接矩形を設定する。
【００２３】
さらに、制御部２０３は、一つの認識セルの中に複数の外接矩形を設定した場合には、外接矩形同士の距離が閾値３（例えば２０画素・・・０．５ｃｍ）以内であるか判定する。具体的には、制御部２０３は、外接矩形を一つ一つ選択し、選択された外接矩形からの距離が閾値３以内である外接矩形を検出する。
【００２４】
さらに、制御部２０３は、当該選択された外接矩形からの距離が閾値３以内である外接矩形を検出した場合、当該検出した外接矩形と、当該選択された外接矩形とを統合する。即ち、制御部２０３は、両方の外接矩形に外接する新たな外接矩形を設定し、その代わり、当該選択された外接矩形と、当該検出された外接矩形とを削除する。
【００２５】
新たな外接矩形の設定、二つの外接矩形の削除が完了した後、制御部２０３は、その認識セル内の外接矩形をまた初めから一つ一つ選択し、互いの間の距離が閾値３以内である外接矩形同士を統合していく。以上の処理を繰り返す。即ち、互いの間の距離が閾値３以内である外接矩形が無くなるまで、外接矩形同士の統合が繰り返される。
【００２６】
以上の通り、本実施例では、一つの認識セルの内部に存在する外接矩形同士の統合を行うが、認識セルをまたぐ外接矩形同士の統合を行わない。
【００２７】
以上の処理の後に設定されている外接矩形は、文字領域と呼ばれる。また、以上の処理を認識セル内の文字領域の特定と呼ぶ。制御部２０３は、認識セルの内部に存在する文字領域の位置を、当該認識セルに関連付けて保存部２０２に保存する。
【００２８】
図３のスキャン画像に対して行われた領域分割の結果を図４に示す。図４では、特定された認識セルの四辺に太線枠を付け、文字領域の四辺に点線枠を付けている。図４の例では、４０２、４０３、４０４、４０６、４０７が認識セルである。４０１、４０５が文字領域である。
【００２９】
この図４では、４０３内部の罫線が掠れてしまっているため、本来は、複数のセルからなる４０３が１つの認識セルとして特定されている。また、本来は、単一のセルであるにも関わらず、ノイズの関係で、４０６、４０７は、別々の認識セルとして特定されている。
【００３０】
（６）制御部２０３は、各文字領域に対して文字認識を行うことによって、各文字領域に対応する認識文字を得る。認識文字は、対応する文字領域に関連付けて保存部２０２に保存する。そうすることによって、認識文字は、文字領域と予め関連付けられている認識セルとも関連付けられることになる。文字認識を行わない場合、もしくは文字認識に失敗した場合は、文字領域に関連付けられる認識文字はない。
【００３１】
（７）制御部２０３は、各認識セルを構成する罫線（四辺）に太線枠を付けてスキャン画像を表示部２０４に表示する。表示された画面は図５となっている。一つの認識セルを構成する罫線は四本あり、従って、太線枠も四本ある。なお、枠の形態は、太線でなくても実線でなくても良く、黒でなくても良いのは言うまでも無いが、これ以降は、太線であるものとして説明を続ける。また、この（７）で太線枠と共に表示されるスキャン画像は、（１）−（６）の処理が行われる前のスキャン画像であり、即ち、２値化前のスキャン画像である。
【００３２】
＜図８の説明＞
ユーザが受付部２０５を介して、表示部２０４に表示されている画像内の（例えば、図５における画像内の）任意の箇所をクリックする。なお、本明細書においてクリックとは、マウスの左ボタンを押して、すぐに（押してから一定時間内に）離す行為のことである。クリックされた箇所が四本の太線枠で囲まれた領域内部（即ち認識セル内部）の場合に、制御部２０３は、その認識セルが選択されたと判定する（Ｓ８０１）。ここでは、認識セル６０２が選択されたものとして以下説明を続ける。なお、６０１は、受付部２０５を介してユーザが指し示している場所を示すマウスポインタである。
【００３３】
上記判定がなされると、制御部２０３は、選択された認識セルの内部のオリジナル文字を編集するための編集ウィンドウ（編集領域）６０４と、選択された認識セル６０２の位置や大きさを変更するためのハンドル６０３とを表示部２０４に追加表示する（Ｓ８０２）。このハンドル６０３（認識セル位置変更ハンドルと呼ばれる）は、選択された認識セル６０２の太線枠の四頂点に追加表示される。図６に、認識セル位置変更ハンドル６０３と編集ウィンドウ６０４が追加表示された結果を示す。
【００３４】
またＳ８０２では図６のように、選択された認識セル（選択状態の認識セル）が他の認識セルと区別つくようにするのも好ましい。例えば、選択状態の認識セルの枠をより太くするのも好ましい（極太線枠とするのも好ましい）。もちろん他の認識セルと区別つくのであれば他の方法を取っても良い。例えば、選択状態の認識セルの枠を他の色にしたり、点線とするような方法も考えられる。ただし、本明細書では、選択された認識セルを他の認識セルと区別つけるための方法として極太線枠を用いる方法を採用した場合を例に以下説明を続ける。
【００３５】
なお、認識セルに対する選択状態が解除された場合には、そうした極太線枠状態から元の状態に戻ることになる（即ち、他の認識セルと同じ太線枠状態に戻ることになる）。
【００３６】
編集ウィンドウ６０４における文字入力欄６０５には、選択された認識セルに関連付けられている認識文字が編集ウィンドウ用文字サイズで表示される。ユーザはこの文字入力欄６０５から認識文字を削除し、代わりに、他の文字を入力することができる。そうすることにより、認識文字の編集ができるわけである。
【００３７】
なお、選択された認識セルと関連付けられている認識文字が無い（例えば、選択された認識セル内部から文字領域が検出されなかった、もしくは文字領域は検出されたが文字認識が失敗して認識文字が存在しない。）場合には、文字入力欄６０５は空欄となる。
【００３８】
ＯＫボタン６０６は、文字の編集を確定する場合にクリックされるボタンである。Ａｐｐｌｙボタン６０７は、編集後の文字をスキャン画像上に表示したい場合にクリックされるボタンである。Ｃａｎｃｅｌボタン６０８は、文字の編集をキャンセルしたい場合にクリックされるボタンである。
【００３９】
図６が表示された後、ユーザは受付部２０５に対して新たな操作を行う。もしその操作が編集ウィンドウ６０４上での文字編集であれば、制御部２０３は、Ｓ８０３（図９のＳ９０１）に処理を進める。ユーザが受付部２０５に対して行った操作が認識セル位置変更ハンドルに対する操作であれば、制御部２０３は、Ｓ８０４（図１０のＳ１００１）に処理を進める。
【００４０】
＜図９の説明＞
Ｓ９０１では、制御部２０３は、認識セル位置変更ハンドル６０３を非表示にする。
【００４１】
Ｓ９０２では、制御部２０３は、編集ウィンドウ６０４上で編集された後の文字を、編集ウィンドウ用文字サイズで編集ウィンドウ６０４に表示する。
【００４２】
Ｓ９０３では、制御部２０３は、文字編集後にユーザが受付部２０５に対して行った操作が、別の認識セルの選択か、Ａｐｐｌｙボタンのクリックか、ＯＫボタンのクリックか、Ｃａｎｃｅｌボタンのクリックか判定する。Ｃａｎｃｅｌボタンのクリックであると判定した場合には、制御部２０３は、選択されている認識セルの選択状態を解除して図９の処理を終了する。なお、これ以降では説明を省略するが、選択状態が解除された認識セルは、上述の通り、極太線枠状態から、他の認識セルと同じ太線枠状態に戻ることになる。
【００４３】
それ以外であると判定した場合には、制御部２０３は、選択されている認識セル内部（即ち、スキャン画像における認識セルの内部）の色を全て削除する（Ｓ９０４）。具体的には、認識セル内部を白色で塗り潰すことになる。
【００４４】
その上で制御部２０３は、編集後の文字をその認識セル内部にスキャン画像用文字サイズで配置する（Ｓ９０５．１。図１１で詳細に説明する）。そして、制御部２０３は、編集後のスキャン画像（即ち、認識セル内部の削除、及び、編集後の文字の配置が完了した画像）を保存部２０２に保存すると共に、表示部２０４で表示されているスキャン画像にこの編集後のスキャン画像を置き換える（Ｓ９０５．２）。そうすることにより、この編集後のスキャン画像は、各認識セルの四辺に太線枠が付けられた状態で表示されることになる。また、現在選択されている認識セルの四辺については極太線枠状態で表示されたままとなる。
【００４５】
さらに、上記操作がＯＫボタンのクリックであれば（Ｓ９０６）、制御部２０３は、選択されている認識セルの選択状態を解除した上で図９の処理を終了する。また、上記操作が別の認識セルの選択であれば（Ｓ９０６）、制御部２０３は、選択されている認識セルの選択状態を解除した上でＳ８０２に処理を進める。また、上記操作がＡｐｐｌｙボタン６０７のクリックであれば（Ｓ９０６）、制御部２０３は、Ｓ９０５．１で配置された編集後の文字の外接矩形の四頂点に文字位置変更ハンドルを表示する（Ｓ９０７）。
【００４６】
ユーザがもし編集後の文字の位置を変更したい場合には、この文字位置変更ハンドルの位置を動かす操作を受付部２０５に対して行うことになる。すると、その操作に応じた文字位置変更を制御部２０３は行い、さらに、その文字位置変更後の画像を、保存部２０２で保存されている編集後のスキャン画像と置き換える。さらに、表示中の編集後のスキャン画像とも置き換える。そうすることにより、文字位置変更後の画像が、編集後のスキャン画像として保存、表示されることになる（Ｓ９０８）。一方、文字位置を変更する必要が無い場合には、文字位置変更ハンドルに対する操作は行われない。その場合、Ｓ９０８では何も行われず、スキップされることになる。
【００４７】
その後、ユーザは、別の認識セルを選択するか、ＯＫボタンをクリックするか、Ｃａｎｃｅｌボタンをクリックすることになる。もし別の認識セルの選択がされたことを受付部２０５が受付けると（Ｓ９０９）、制御部２０３は、選択されている認識セルの選択状態を解除してＳ８０２に処理を進める。ＯＫボタンがクリックされたことを受付部２０５が受付けると（Ｓ９０９）、制御部２０３は、選択されている認識セルの選択状態を解除して図９の処理を終了する。また、もしＣａｎｃｅｌボタンがクリックされたことを受付部２０５が受付けると（Ｓ９０９）、制御部２０３は、選択されている認識セルの内部を元の状態に戻す（即ち、黒画素塊の削除前の状態に戻す）。その上で制御部２０３は、選択されている認識セルの選択状態を解除して図９の処理を終了する（Ｓ９１０）。
【００４８】
図９の処理が終了した後は、ユーザからの他の認識セルの選択を待つ状態となる。また、ユーザから受付部２０５に対して別の装置への編集後のスキャン画像の送信が指示された場合には、制御部２０３は、その選択待ち状態を解除する。その上で、制御部２０３は、保存部２０２に保存されている編集後のスキャン画像を送受信部２０１に別の装置へ送信させる。その別の装置が仮に複写機１００だったとすると、複写機１００は、編集後のスキャン画像を送受信部１０２により受信し、ユーザからの指示によっては編集後のスキャン画像をプリンタ１０３により印刷することになる。
【００４９】
以上の処理を行った場合、別の装置に送信される編集後のスキャン画像は、（選択されていた）認識セル内部の削除、及び、編集後の文字の配置が完了した画像となる。しかし、送信される画像は、必ずしもこれに限られるものではない。例えば、元のスキャン画像（２値化前のスキャン画像）と、認識セル内部の削除命令と、編集後の文字の配置命令とを含むファイルであっても良い。そのようなファイルを別の装置が受信した場合には、その別の装置の側で元のスキャン画像から認識セル内部の削除、及び、編集後の文字の配置が行われることになる。
【００５０】
＜図１０の説明＞
上述の通り、ユーザが受付部２０５に対して行った操作が認識セル位置変更ハンドル６０３に対する操作であれば、制御部２０３は、Ｓ８０４（図１０のＳ１００１）に処理を進める。
【００５１】
Ｓ１００１では、制御部２０３は、その操作に合わせて、認識セルの位置を変更し、変更後の位置の認識セルの四辺を極太線枠状態にして表示部２０４に表示する。この際、変更前の位置の認識セルの四辺の極太線枠状態は解除され、通常の状態（太線枠も極太線枠も付いていない状態）に戻ることになる。また、認識セル位置変更ハンドル６０３も同様に、変更前の位置の認識セルの頂点からは解除され、変更後の位置の認識セルの頂点に表示されることになる。
【００５２】
その後、制御部２０３は、編集ウィンドウ６０４を介した文字編集が行われるまで待機し、文字編集が行われると制御部２０３は、Ｓ９０１に処理を進める。
【００５３】
このように、文字編集が行われる前に認識セルの位置を変更可能とすることによって、Ｓ９０４で内部が削除される対象となる認識セルの位置を変更することができる。これにより、削除されるべき部位が削除され、かつ、削除されるべきでない部位が削除されずにすむこととなる。
【００５４】
＜図１１の説明＞
図１１を用いて、Ｓ９０５．１の処理の詳細を説明する。
【００５５】
Ｓ１１０１で、制御部２０３は、選択されている認識セルの位置、および当該認識セルに関連付けられた文字領域の位置を保存部２０２から取得する。
【００５６】
次にＳ１１０２で、制御部２０３は基準線の設定を行う。
【００５７】
認識セルの左上座標を（Ｘ１，Ｙ１）、右下座標を（Ｘ２，Ｙ２）、文字領域の左上座標を（ｘ１，ｙ１）、右下座標を（ｘ２，ｙ２）とする。
【００５８】
制御部２０３は、基準線の設定を行うために、まず、選択されている認識セルにおける文字領域の左右の余白を計算する。
左側の余白  ｘ１−Ｘ１
右側の余白  Ｘ２−ｘ２
（左側の余白）≧（右側の余白）ならば、基準線は文字領域の右辺（右枠）、すなわち、（ｘ２，ｙ２），（ｘ２，ｙ２）を結ぶ直線に設定される。
（左側の余白）＜（右側の余白）ならば、基準線は文字領域の左辺（左枠）、すなわち、（ｘ１，ｙ１），（ｘ１，ｙ２）を結ぶ直線に設定される。
【００５９】
Ｓ１１０３で、制御部２０３は、選択されている認識セル内部の設定されている基準線に合わせて、編集後の文字を配置する。具体的には、基準線が左側にあればその基準線を始点とした左詰めで配置する。また、基準線が右側にあればその基準線を始点とした右詰めで配置することになる。
【００６０】
この時、配置される文字のサイズとして、スキャン画像用文字サイズのデフォルト値が用いられるものとするが、下記のようにして決定されたサイズを用いても良い。たとえば、選択されている認識セル内部に存在していたオリジナル文字の幅が４文字で１００ドットだった場合に、１文字あたりのサイズは、２５ドットと推定される。この認識セル内部に編集後の文字を違和感なく配置するためには、編集後の文字も１文字あたり２５ドット程度であるのが好ましい。このことから、標準的な文字のサイズが２５ドットとなるようなポイント数を計算し、そのポイント数を、配置される文字のサイズとして用いることも可能である。また、そのように決定された文字サイズをユーザが手動で変更できるような構成としても良い。さらには、配置される文字の色やフォント、スタイル（標準、斜体、太字）をユーザが手動で変更できるような構成としても良い。
【００６１】
ここで、編集後の文字の外接矩形の高さがＨ、幅がＷだったとする。また、文字領域の左上座標が（ｘ１，ｙ１）、右下座標が（ｘ２，ｙ２）であり、Ｓ１１０２で求めた基準線が文字領域の右辺だったとする。
【００６２】
この場合、編集後の文字の外接矩形を配置する座標は、Ｗｉｎｄｏｗｓ（登録商標）の場合（ｘ座標は右に行くほど大きくなり、ｙ座標は下に行くほど大きくなる）、
左上座標（ｘ２−Ｗ，ｙ２−Ｈ）
右下座標（ｘ２，ｙ２）
となる。
【００６３】
もし、基準線が左辺の場合には、編集後の文字の外接矩形の左辺を基準線（文字領域の左辺）に合わせるため、編集後の文字を配置する座標は、
左上座標（ｘ１，ｙ２−Ｈ）
右下座標（ｘ１＋Ｗ，ｙ２）
となる。
【００６４】
なお、これらの例では、編集後の文字の高さ方向（Ｙ方向）の位置は、オリジナル文字の配置されていた文字領域の下辺の位置を基準とした。しかしながら、この位置ではなく、編集後の文字の高さ方向の中心と、オリジナル文字の配置されていた文字領域の高さ方向の中心が揃うように編集後の文字の位置を決めても構わない。
【００６５】
＜第２の実施形態＞
第１の実施形態のステップＳ９０８において、認識セルが小さい、またはタブレットなどで表示倍率が小さい場合に、編集後の文字の移動が難しく認識セル内にうまく収まらないことがある。そのような場合でも簡単に編集後の文字の移動を行うことができる方法を図１２により説明する。
【００６６】
＜図１２の説明＞
ステップＳ１２０１で、制御部２０３は、編集後の文字の位置の変更があったか判定する。位置の変更があった場合は、ステップＳ１２０２に進む。変更がない場合は、ステップＳ９０９に進む。
【００６７】
次にステップＳ１２０２で、制御部２０３は、編集後の文字の位置が認識セルの四辺の位置を超えたか判定する。超えた場合はステップＳ１２０３に進む。超えてない場合は、ステップＳ９０９に進む。
【００６８】
認識セルの左上座標を（Ｘ１，Ｙ１）、右下座標を（Ｘ２，Ｙ２）、編集後の文字の移動後の左上座標を（ｘ１，ｙ１）、右下座標を（ｘ２，ｙ２）とする。
【００６９】
以下のいずれかの場合は、編集後の文字が認識セルを超えたと判定する。
＜１＞右側に超えた場合  ｘ２＞Ｘ２
＜２＞左側に超えた場合  Ｘ１＞ｘ１
＜３＞下側に超えた場合  ｙ２＞Ｙ２
＜４＞上側に超えた場合  Ｙ１＞ｙ１
次にステップＳ１２０３で、制御部２０３は、編集後の文字を認識セルの内側に戻す。ここでは、あらかじめ定められたＴだけ内側に戻す例で説明する。
【００７０】
前記＜１＞〜＜４＞について認識セルの内側にＴだけ戻された編集後の文字の座標は以下のようになる。
右側に超えた場合、編集後の文字の右下座標は、（Ｘ２−Ｔ，ｙ２）となる。その場合の編集後の文字は左方向に（ｘ２−（Ｘ２−Ｔ））移動。したがって、左上座標は、（ｘ１−（ｘ２−（Ｘ２−Ｔ）），ｙ１）となる。
左側に超えた場合、編集後の文字の左上座標は、（Ｘ１＋Ｔ，ｙ１）となる。その場合の編集後の文字は右方向に（Ｘ１＋Ｔ−ｘ１）移動。したがって、右下座標は、（ｘ２＋（Ｘ１＋Ｔ−ｘ１），ｙ２）となる。
下側に超えた場合、編集後の文字の右下座標は、（ｘ２，Ｙ２−Ｔ）となる。その場合の編集後の文字は上方向に（ｙ２−（Ｙ２−Ｔ））移動。したがって、左上座標は、（ｘ１，ｙ１−（ｙ２−（Ｙ２−Ｔ）））となる。
上側に超えた場合、編集後の文字の左上座標は、（ｘ１，Ｙ１＋Ｔ）となる。その場合の編集後の文字は下方向に（Ｙ１＋Ｔ−ｙ１）移動。したがって、右下座標は、（ｘ２，ｙ２＋（Ｙ１＋Ｔ−ｙ１））となる。
【００７１】
＜第３の実施形態＞
第１の実施形態のステップＳ１１０２において、図１３の例のように罫線の無い表では罫線の位置に基づいて認識セルを取得することができないので、認識セルと文字領域の余白を計算できない。そのような場合でも簡単に基準線を設定できる制御部２０３の処理方法を図１５のフローチャートにより説明する。
【００７２】
＜図１５の説明＞
ステップＳ１５０１で、制御部２０３は、編集対象の文字が表に属しているかどうか判定する。図６の認識セル６０２内の文字は表に属している。図１３のような罫線の無い表では、表と認識できないので、文字は表に属していないと判定する。
【００７３】
編集対象の文字が表に属している場合は、ステップＳ１５０２に進む。表に属していない場合は、ステップＳ１５０６に進む。編集対象の文字が表に属している場合の説明は、第１の実施形態と同じである。ステップＳ１５０２で、認識セルと文字領域の余白を取得する。
【００７４】
次にステップＳ１５０３で、左側の余白と右側の余白の幅を比較して（左余白）≧（右余白）を満たす場合は、ステップＳ１５０４へ進み、満たさない場合は、ステップＳ１５０５へ進む。
【００７５】
ステップＳ１５０４では、基準線は編集対象文字列の文字領域の右辺と決定する。同様にステップＳ１５０５では、基準線は編集対象文字列の文字領域の左辺と決定する。
これで、ステップＳ１１０２の基準線の設定処理を終えて、ステップＳ１１０３に進む。
【００７６】
ステップＳ１５０１で、編集対象文字列が表に属さない場合の制御部２０３の第３の実施形態の処理を説明する。ステップＳ１５０６で、すべての文字領域を確認し、編集対象の文字領域と右辺のＸ座標の差が閾値以下であり、かつ、その差が最小の文字領域を取得する。図１４は、編集対象文字列１４０２の上下に位置する文字領域１４０１と１４０３を示している。ステップＳ１５０６で、文字領域１４０２と文字領域１４０１、文字領域１４０３の右辺のＸ座標の差は０である。よって、閾値（たとえば１０ピクセル）以下で、かつ、左辺のＸ座標の差が最小の文字領域として１４０１、１４０３は判定される。
【００７７】
次にステップＳ１５０７で、左辺のＸ座標の差が閾値以下かつその差が最小の文字領域を取得する。図１４の例では、編集対象の文字領域１４０２の左辺のＸ座標と他のすべての文字領域の左辺のＸ座標の差が閾値１０ピクセルより大きいので、取得できる文字領域は無い。
【００７８】
次にステップＳ１５０８では、ステップＳ１５０６、Ｓ１５０７で取得した文字領域と編集対象の文字領域のＸ座標の差を比較する。
【００７９】
（左辺の差）≧（右辺の差）が成立する場合は、ステップＳ１５０４に進み、基準線は編集対象の文字領域の右辺に設定する。成立しない場合は、ステップＳ１５０５に進み、基準線は編集対象の文字領域の左辺に設定する。
【００８０】
図１４の例では、ステップＳ１５０６で文字領域が取得できたが、ステップＳ１５０７で条件に合致する文字領域が取得できなかった。取得できなかった場合は、差が無限大であるとして（左辺の差）≧（右辺の差）を判定する。この場合、（無限大）≧（０）となり、成立するので、ステップＳ１５０４に進み、基準線は文字領域の右辺に決定する。図１４の線分１４０４は、基準線が文字領域１４０２の右辺にあることを明示的に示している例である。
これで、ステップＳ１１０２の基準線の設定処理を終えて、ステップＳ１１０３に進む。
【００８１】
このように図１３に示すような罫線の無い表であっても基準線を設定し、正しく文字を編集しイメージの置き換えが可能となる。
【００８２】
＜第４の実施形態＞
第１の実施形態のステップＳ１１０３は、編集後の文字の配置を行う。編集後の文字のサイズは、あらかじめユーザにより設定されたサイズを用いるか、制御部２０３が元の文字イメージから推定して設定する。推定方法の例は第１の実施形態で説明している。ところが、あらかじめ設定されたサイズや推定により求めたサイズが必ずしも正しくないことがあるため、文字サイズの変更が必要である。そのような場合でも簡単に文字サイズの変更ができる制御部２０３の処理方法を図７を用いて説明する。
【００８３】
図７は、編集後の文字の配置を示した図である。図６の認識セル６０２に対して、文字入力欄６０５に数値７０１を入力している。この例では、元の数値は１２０，０００であり、置き換える数値７０１は３００，０００である。
【００８４】
入力欄６０５に数値を入力され、Ａｐｐｌｙボタン６０７が押されると、ステップＳ１１０３で、置き換える数値７０１に対してあらかじめ設定されたサイズもしくは推定されたサイズを用いて置き換え文字７０２を生成する。そして、ステップＳ１１０２で求めた基準線に基づいてその置き換え文字７０２を配置する。
【００８５】
配置後、ステップＳ９０７にて文字位置変更ハンドル７０３が表示される。第１の実施形態では、ステップＳ９０８の文字位置変更処理について説明したが、ここでは置き換え文字７０２の文字サイズの変更方法について説明する。
【００８６】
文字位置変更ハンドル７０３のひとつをドラッグしてもとの文字領域の大きさよりも広げると文字サイズ拡大、もとの文字領域の大きさよりも狭めると文字サイズ縮小とする。文字サイズの求め方を説明する。元の文字領域の高さをＨ１、幅をＷ１とする。変更後の文字領域の高さをＨ２、幅をＷ２とする。
【００８７】
高さと幅の変更倍率をもとめる。
（高さの変更倍率）＝Ｈ２÷Ｈ１
（幅の変更倍率）＝Ｗ２÷Ｗ１
高さの変更倍率と幅の変更倍率の小さいほうを最終変更倍率とすると、変更後の文字サイズは、（変更後の文字サイズ）＝（変更前の文字サイズ）×（最終変更倍率）となる。
【００８８】
変更倍率の小さいほうを最終倍率とするのは、大きいほうにあわせると小さいほうの高さまたは幅に収まらず文字領域から文字がはみ出してしまうからである。
【００８９】
このように編集後の文字サイズを簡単に変更が可能となる。
【００９０】
文字サイズを変更したら、置き換え文字７０２をそれにあわせて生成しなおし、ステップＳ１１０２で求めた基準線に基づいて配置して表示する。
【００９１】
＜第５の実施形態＞
第４の実施形態では、ステップＳ１１０３における、制御部２０３による編集後の文字の文字サイズ変更方法について説明した。しかしながら、タブレットなど表示エリアが狭く表示が小さくなる場合に、文字位置変更ハンドル７０３による文字サイズ変更が困難な場合もある。そのような場合の文字サイズ変更例を説明する。
【００９２】
文字領域内をダブルクリック（タップ）すると文字サイズが１段階大きくなり、認識セルの領域を超えてしまうと、ダブルクリックすると文字サイズが１段階小さくなる。どんどん小さくなって、あらかじめ設定した文字サイズ以下になったら元の文字サイズに戻る。
【００９３】
段階は、１ポイントずつでも２ポイントずつ変更としてもかまわない。たとえば、元の文字サイズが１２ポイントで、最小サイズを８ポイント、１段階の変更サイズは２ポイントとすると。ダブルクリックのたびに次のように変更する。
１２→１４→１６→１８（認識セル領域オーバー）→１６→１４→１２→１０→８（最小設定値）→１２（元に戻る）
変更の仕方は、シングルクリック（タップ）で文字サイズが１段階大きくなり、ダブルクリックで１段階小さくなるとしてもかまわない。また、左クリックで大きくなり、右クリックで小さくなるとしても良い。これらの方法で、表示が小さい場合でも簡単に編集後の文字サイズの変更が可能となる。
【００９４】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
0006399872.tif 000002
【図２】
0006399872.tif 000003
【図３】
0006399872.tif 000004
【図４】
0006399872.tif 000005
【図５】
0006399872.tif 000006
【図６】
0006399872.tif 000007
【図７】
0006399872.tif 000008
【図８】
0006399872.tif 000009
【図９】
0006399872.tif 000010
【図１０】
0006399872.tif 000011
【図１１】
0006399872.tif 000012
【図１２】
0006399872.tif 000013
【図１３】
0006399872.tif 000014
【図１４】
0006399872.tif 000015
【図１５】
0006399872.tif 000016