<実施形態>
以下、本発明の実施形態について説明する。
本実施形態に係る装置は、文字列を含む画像を示す画像データ(例えば、文書をスキャナ等によって読み取ることにより生成される画像データ)が入力され、入力された画像データに基づく画像において文字列が表示されている範囲(以下、文字列領域ともいう)を抽出(特定)する。さらに、本実施形態に係る装置は、抽出された文字列領域に含まれる文字列の中のそれぞれの文字が表示されている範囲(以下、文字矩形ともいう)を抽出(特定)する。すなわち、本実施形態に係る装置は、文字列領域および文字矩形を抽出する文字列領域・文字矩形抽出装置である。
そして、本実施形態に係る文字列領域・文字矩形抽出装置は、抽出されたそれぞれの文字矩形に含まれる文字を示す画像に対して光学文字認識(OCR)を行い、文字を認識する。なお、本実施形態においては、光学文字認識には周知の技術が用いられる。例えば、代表的な文字認識の手法の1つとして、非特許文献1に記載された畳み込みニューラルネットワークを用いる手法がある。
なお、自動的に文字列領域抽出および文字矩形抽出が行われる従来技術においては、例えば、文書中の文字列領域のレイアウトが複雑である場合には、実際とは大きく異なるレイアウトとして誤認識されることがある。例えば、文字列領域の順序が実際の文章とは異なる誤認識、2行が1行として認識されるなどの行抽出における誤認識、および、絵や図が文字として認識される誤認識などが発生する。さらに、そのような場合には、文字矩形抽出の失敗による誤認識が発生することがある。例えば、文字が見落とされる誤認識、2文字が1文字として認識される誤認識、1文字が2文字として認識される誤認識、および、文字に付されたルビを認識できずにルビを含めて1文字であると認識する誤認識などが発生する。
また、手動によって文字列領域抽出が行われる従来技術においては、例えば、数行に跨る範囲の文字列領域が指定された場合には、行抽出における誤認識、および、文字矩形抽出の失敗による誤認識などが発生することがある。また、例えば、1行分の範囲ごとに文字列領域が指定された場合においても、文字矩形抽出の失敗による誤認識が発生することがある。さらに、そのような場合には、文字列(単語)の途中で改行がされているときには文字列領域の末尾の文字列は途中で分断された状態となるため、当該分断された文字列を結合するための処理が必要になる。
<文字列領域・文字矩形抽出装置の構成>
以下、実施形態に係る文字列領域・文字矩形抽出装置1の構成について、図面を参照しながら説明する。
図1は、本発明の実施形態に係る文字列領域・文字矩形抽出装置1の機能構成を示すブロック図である。
図示するように、本実施形態に係る文字列領域・文字矩形抽出装置1は、制御部10と、画像データ取得部11と、操作入力部12と、表示部13と、記憶部14と、文字列領域抽出部15と、文字列領域結合部16と、文字矩形抽出部17と、ルビ対応付け部18と、管理画面生成部19と、文字認識部20と、と含んで構成される。
制御部10は、文字列領域・文字矩形抽出装置1における各種の処理を制御する。制御部10は、例えば、CPU(Central Processing Unit;中央演算処理装置)を含んで構成される。
画像データ取得部11は、文字列を含む画像を示す画像データを取得する。画像データ取得部11は、例えば、外部の機器であるスキャナ等によって文書が読み取られることによって生成された画像データを取得する入力インターフェースを含んで構成される。または、画像データ取得部11は、例えば、スキャナを含んで構成される。
操作入力部12は、ユーザからの操作入力を受け付ける。操作入力部12は、受け付けた操作入力に基づく操作入力信号(補助情報)を生成し、後述する表示部13、文字列領域抽出部15、文字列領域結合部16、文字矩形抽出部17、ルビ対応付け部18、または管理画面生成部19へ出力する。操作入力部12は、後述する表示部13に表示されるポインタ(または、カーソル)をユーザが操作するために用いられるポインティングデバイス、例えば、マウス、タッチパッド、タッチパネル、スタイラス、またはトラックボール等を含んで構成される。
なお、本実施形態においては、文字列領域・文字矩形抽出装置1が操作入力部12を備えるものとしたが、これに限られない。例えば、操作入力部12が外部の装置に備えられ、文字列領域・文字矩形抽出装置1が、ユーザによるポインタ操作を示す信号を当該外部の装置から取得するようにしてもよい。
表示部13は、画像データ取得部11によって取得された画像データに基づく画像を表示する。表示部13は、ディスプレイ、例えば、液晶ディスプレイ(LCD;Liquid Crystal Display)、有機EL(Organic Electroluminescence;エレクトロルミネッセンス)ディスプレイ、またはCRT(Cathode Ray Tube;陰極線管)等を含んで構成される。
なお、本実施形態においては、文字列領域・文字矩形抽出装置1が表示部13を備えるものとしたが、これに限られない。例えば、文字列領域・文字矩形抽出装置1が、表示させる画像を示す画像データを外部の装置へ送信し、当該外部の装置が備える表示部において当該画像が表示されるようにしてもよい。
記憶部14は、文字列領域・文字矩形抽出装置1において用いられる各種のコンピュータプログラムやデータ等を記憶する。また、記憶部14は、文字列領域・文字矩形抽出装置1における各種の演算処理等において用いられる一時的な記憶領域としての機能も有する。記憶部14は、記憶媒体、例えば、HDD(Hard Disk Drive;ハードディスクドライブ)、フラッシュメモリ、EEPROM(Electrically
Erasable Programmable Read Only Memory;イーイープロム)、RAM(Random Access read/write Memory;読み書き可能なメモリ)、ROM(Read Only Memory;読み出し専用メモリ)、又はそれらの任意の組み合わせを含んで構成される。
文字列領域抽出部15は、操作入力部12から入力される操作入力信号(補助情報)に基づいて、画像データ取得部11が取得した画像データに基づく画像に含まれる文字列からなる行の始点と終点とを特定し、特定された行の始点と終点とに基づいて当該行に含まれる文字列の表示対象範囲を示す文字列領域を抽出する。また、文字列領域抽出部15は、操作入力部12から入力される、ユーザによるポインタの操作に基づく操作入力信号(補助情報)に基づいて、抽出された文字列領域を修正する。
文字列領域結合部16は、文字列領域抽出部15によって抽出された文字列領域と、当該文字列領域と隣接する他の文字列領域(例えば、当該文字列領域が抽出される前に抽出された隣接する他の文字列領域)と、を結合する。文字列領域結合部16は、結合された文字列領域を示す画像を表示部13に表示させる。
文字列領域結合部16は、操作入力部12から入力される、ユーザによるポインタの操作に基づく操作入力信号(補助情報)に基づいて、抽出された文字列領域と、当該文字列領域と隣接する他の文字列領域と、を結合する。
文字矩形抽出部17は、文字列領域抽出部15によって抽出された文字列領域に含まれる文字列を構成するそれぞれの文字の矩形を表す文字矩形を抽出する。また、文字矩形抽出部17は、操作入力部12から入力される、ユーザによるポインタの操作に基づく操作入力信号(補助情報)に基づいて、抽出された文字矩形を修正する。
なお、例えば、特許文献7に記載の画像処理装置のように、文字矩形抽出部17は、複数の文字切り出し位置の候補の中から、文字の形状情報や、文字認識における認識確度などから算出される評価値に基づいて、適切な文字切り出し位置を特定することにより、文字矩形を抽出するようにしてもよい。
例えば、「化学」という文字列に対して文字の切り出しが行われる場合、「化」と「学」とが切り出されるパターン、「イ」と「ヒ学」とが切り出されるパターン、および「イ」と「ヒ」と「学」とが切り出されるパターンがあるように、複数の文字切り出し位置の候補が存在する。それらの文字切り出し位置の候補の中から、予め蓄積されている文字の形状情報や、文字認識における認識確度などから算出される評価値に基づいて、適切な文字切り出し位置を特定する。
ルビ対応付け部18は、ユーザによるポインタの操作に基づく操作入力信号(補助情報)に基づいて、文字列領域抽出部15によって抽出された文字列領域に含まれる文字列と、文字列領域抽出部15によって抽出されたルビであって当該文字列に対応するルビと、を対応付ける。ルビ対応付け部18は、対応付けられた文字列と当該文字列に対応するルビとが囲まれた範囲であるルビ対応付け領域を示す画像を、表示部13に表示させる。
管理画面生成部19は、ユーザが文字列領域および文字矩形の修正等を行うための管理画面を生成する。管理画面生成部19は、文字列領域抽出部15によって抽出された文字列領域(行単位で抽出された文字列領域)に対して、抽出された順に付与される番号である行番号を対応付ける。そして、管理画面生成部19は、画像データ取得部11によって取得された画像データに基づく画像に含まれる文字列領域(行単位で抽出された文字列領域)にそれぞれ行番号が付与された画像と、当該行番号がリスト表示された画像であるリスト表示画像と、を表示する管理画面を、表示部13に表示させる。
文字認識部20は、文字矩形抽出部17によって抽出されたそれぞれの文字矩形に含まれる文字を示す画像に対して光学文字認識(OCR)を行い、文字を認識する。具体的には、文字認識部20は、(例えば、スキャナによって読み取られた)文書に含まれる文字を示す画像データを解析し、コンピュータにより編集可能なデータ形式(例えば、文字コードの列)に変換する。
(文字列領域の抽出)
以下、文字列領域・文字矩形抽出装置1による文字列領域の抽出について、図面を参照しながら説明する。
図2乃至図4は、本発明の実施形態に係る文字列領域・文字矩形抽出装置1の表示部13によって表示される文字列領域抽出画面の一例を示す図である。
図2に示すように、ユーザは、操作入力部12によりポインタpt1を操作することにより、文字列領域抽出画面ds1に含まれる文字列の範囲を、行単位で指定する。当該行単位での文字列領域の指定は、例えば、ユーザがマウスを用いて、まず、行の始点近傍の位置にポインタpt1を移動させてマウスボタンをクリックし、次に、行の終点近傍の位置にポインタpt1を移動させてマウスボタンをクリックすることによって行われる。または、当該行単位での文字列領域の指定は、例えば、ユーザがマウスを用いて、まず、行の始点近傍の位置にポインタpt1を移動させてマウスボタンをクリックし、そのまま行の終点近傍の位置までポインタpt1をドラッグすることによって行われる。
図2に示すように、行の始点を指定する操作がなされると、始点として指定された位置(すなわち、例えば、マウスボタンが1回目にクリックされた位置、またはドラッグが開始された位置)である始点st1には、例えば、白い丸型のアイコンが表示される。
次に、図3に示すように、行の終点を指定する操作がなされると、終点として指定された位置(すなわち、例えば、マウスボタンが2回目にクリックされた位置、またはドラッグが終了された位置)である終点ed1には、例えば、黒い丸型のアイコンが表示される。また、行の終点を指定する操作がなされると、始点st1と終点ed1を結ぶ接続線cn1が表示される。
そして、図4に示すように、行の始点および終点を指定する操作が完了すると、始点および終点とが指定された行に含まれる文字列全体を四角く囲むように、囲み線が表示される。この囲み線で囲まれた領域が、文字列領域抽出部15によって抽出された文字列領域である。図4は、文字列領域sa1、文字列領域sa2、および文字列領域sa3の3つの文字列領域が抽出された状態を表した図である。
以下、文字列領域の抽出処理の一例について、図面を参照しながら説明する。
図5は、本発明の実施形態に係る文字列領域・文字矩形抽出装置1の文字列領域抽出部15による文字列領域抽出処理の一例を示す図である。
図5(A)に示すように、文字列領域抽出部15は、始点st1と終点ed1とが指定されることにより接続線cn1を設定すると、当該接続線cn1と文字とが交差している範囲を特定する。すなわち、例えば、図5(A)に示す例においては、読点「、」の位置では当該読点と接続線cn1とは交差していないが、それ以外の文字については全ての文字が接続線cn1と交差している。文字列領域抽出部15は、文字と接続線cn1とが交差している位置において、それぞれ文字の上端部と下端部の位置を測定する。そして、文字列領域抽出部15は、測定されたそれぞれの文字の上端部と下端部において、最も上に位置する箇所である最上端部up1と、最も下に位置する箇所である最下端部lp1とを特定する。
図5に示す例においては、図5(B)に示すように、最上端部up1は、「書」の文字の上端部である。また、図5に示す例においては、図5(C)に示すように、最下端部lp1は、「学」の文字の下端部である。
文字列領域抽出部15は、最上端部up1を特定すると、当該最上端部up1からそれぞれ水平方向に左右に伸ばした線である最上端線ul1を、文字列領域sa2の上端を表す線として設定する。同様に、文字列領域抽出部15は、最下端部dp1を特定すると、当該最下端部dp1からそれぞれ水平方向に左右に伸ばした線である最下端線dl1を、文字列領域sa2の下端を表す線として設定する。
また、文字列領域抽出部15は、始点st1から垂直方向に上下に伸ばした線を、文字列領域sa2の左端を表す線として設定する。同様に、文字列領域抽出部15は、終点ed1から垂直方向に上下に伸ばした線を、文字列領域sa2の右端を表す線として設定する。
以上により、文字列領域sa2の上下方向および左右方向の範囲が定まるため、文字列領域sa2の範囲が一意に決定される。
図5(D)は、上記の文字列領域の抽出方法によって抽出された文字列領域sa2を表したものである。
なお、上記の文字列領域の抽出方法は、あくまで一例である。この他にも、例えば、文字列領域抽出部15は、最上端部up1から上方向に所定の長さだけ離れた位置、および最下端部dp1から下方向に所定の長さだけ離れた位置に基づいて、それぞれ最上端線ul1と最下端線dl1とを設定するようにしてもよい。すなわち、文字列領域抽出部15は、最上端部up1と最下端部dp1とから、少し上下方向に幅を持たせた範囲を文字列領域sa2として設定する(すなわち、所定の長さだけ広めに文字列領域sa2を設定する)ようにしてもよい。
また、この他にも、例えば、文字列領域抽出部15は、最上端部up1および最下端部dp1の位置の特定を行わずに、接続線cn1から上下方向にそれぞれ所定の長さだけ離れた位置に該当する線を、それぞれ最上端線ul1と最下端線dl1とを設定するようにしてもよい。
なお、文字列領域抽出部15が、文字列領域を抽出する対象とする文字列は、水平方向に文字が並ぶ(すなわち、横書きの)文字列であるとは限らない。例えば、文字列領域抽出部15が、文字列領域を抽出する対象とする文字列は、垂直方向に文字が並ぶ(すなわち、縦書きの)文字列や、斜め方向に文字が並ぶ文字列である場合もある。したがって、文字列領域の範囲の設定は、適宜、文字列が記載された状態に適した手法によって行われることが好ましい。
また、上述したように、文字列領域抽出部15は、操作入力部12から入力される、ユーザによるポインタの操作に基づく操作入力信号(補助情報)に基づいて、抽出された文字列領域を修正することができる。
図6は、本発明の実施形態に係る文字列領域・文字矩形抽出装置1の文字列領域抽出部15による文字列領域抽出処理の一例を示す図である。
図6において、文字列領域抽出部15によって抽出された文字列領域は、「矩形を抽出する」と記載された範囲と「くけい」と記載された範囲とを含む領域である。図示するように、文字列領域抽出部15によって抽出された文字列領域は、点線で囲まれた範囲を含む領域である。すなわち、文字列領域抽出部15は、「矩形」の振り仮名を表す「くけい」の文字列までを含めて1行の文字列領域であると認識し、誤った文字列領域の抽出を行っている。
本実施形態に係る文字列領域・文字矩形抽出装置1によれば、ユーザは、文字列領域抽出部15によって誤って抽出された文字列領域を修正することができる。
ユーザは、誤って抽出された文字列領域sa110の上端の線を、操作入力部12によりポインタpt1を操作することによって移動させる。具体的には、ユーザは、例えば、マウスを操作して図6に点線で示される文字列領域sa100の上端の線の位置にポインタpt1を移動させ、当該上端の線をドラッグして、図6に実線で示される文字列領域sa101の上端の線の位置に移動させる。これにより、文字列領域sa101には「矩形を抽出する」の文字列のみが含まれ、「くけい」という振り仮名の文字列は含まれないように正しく修正される。
(文字列領域の結合)
上述した文字列領域の抽出は、行単位での文字列領域の抽出であった。しかしながら、行単位では、行の末尾が単語の途中である場合もあるため、複数の行をまとめて1つの文字列領域として認識させたい場合がある。
以下、文字列領域・文字矩形抽出装置1による文字列領域の結合について、図面を参照しながら説明する。
図7乃至図8は、本発明の実施形態に係る文字列領域・文字矩形抽出装置1の表示部13によって表示される文字列領域抽出画面の一例を示す図である。
図7に示すように、ユーザは、終点ed1を設定する操作を行う際に、設定する文字列領域と、当該文字列領域に隣接する他の文字列領域と、を結合することを示す操作を行う。図7に示す例においては、設定する文字列領域と当該文字列領域に隣接する他の文字列領域とを結合することを示す操作とは、終点ed1を設定する際にポインタpt1を下方向にドラッグする操作である。または、例えば、表示部13がタッチパネルである場合には、設定する文字列領域と当該文字列領域に隣接する他の文字列領域とを結合することを示す操作とは、フリックする操作である。
これらの操作が行われた場合には、文字列領域結合部16は、設定する文字列領域と、当該文字列領域の1つ前に設定した文字列領域(図7に示す例においては、「光学文字認識(OCR)においては、文書中の」という文字列を含む文字列領域)と、を結合する処理を行う。
文字列領域を結合する操作が行われた場合、図8に示すように、結合された文字列領域が抽出される。図8は、文字列領域抽出画面ds1において、文字列領域sa1および文字列領域sa4の2つの文字列領域が抽出された状態を表した図である。図4に示した例において抽出された文字列領域とは異なり、図8に示す例においては、図4に示した文字列領域sa1と文字列領域sa2とが結合された文字列領域である文字列領域sa4が抽出される。
(文字矩形の抽出)
以下、文字列領域・文字矩形抽出装置1による文字矩形の抽出について、図面を参照しながら説明する。
図9は、本発明の実施形態に係る文字列領域・文字矩形抽出装置1の文字矩形抽出部17による文字矩形抽出処理の一例を示す図である。
図9(A)は、文字矩形抽出部17が、文字列領域抽出部15によって抽出された文字列領域sa5および文字列領域sa6について、それぞれ文字矩形の抽出処理を行った状態を表す。
なお、複数の文字が含まれる文字列からそれぞれの文字の文字矩形を抽出する方法としては、例えば、特許文献4に記載の2つの閾値を用いる方法や、ヒストグラムを用いる方法などが知られている。本実施形態における文字矩形の抽出では、任意の文字矩形抽出方法が用いられる。
図9(A)に示す例においては、文字列領域sa5は、当該文字列領域sa5に含まれる全ての文字に対して、誤りなく文字矩形が抽出されている。また、図9(A)に示す例においては、文字列領域sa6は、3か所において、誤った文字矩形が抽出されているため、ユーザは当該誤った文字矩形を修正する操作をそれぞれ行う。図9(B)、図9(C)、および図9(D)は、上記の3か所に対する、ユーザによる文字矩形の修正の操作を図示したものである。
図9(B)の上段に図示するように、文字矩形抽出部17は、「域」の文字と、「抽」の文字の偏(すなわち、手偏)の部分と、をまとめて1つの文字と認識し、誤った文字矩形である矩形rc01を抽出している。また、図9(B)の上段に図示するように、文字矩形抽出部17は、「抽」の文字の作り(すなわち、「由」)の部分のみを1つの文字と認識し、誤った文字矩形である矩形rc02を抽出している。
本実施形態に係る文字列領域・文字矩形抽出装置1によれば、ユーザは、文字矩形抽出部17によって誤って抽出された文字矩形を修正することができる。
ユーザは、誤って抽出された文字矩形rc01の右端であり、かつ、誤って抽出された文字矩形rc02の左端でもある線(すなわち、区切り線sl1)を、操作入力部12によりポインタpt1を操作することによって移動させる。具体的には、ユーザは、例えば、マウスを操作して図9(B)の上段に示す区切り線sl1の位置にポインタpt1を移動させ、当該区切り線sl1をドラッグして図9(B)の下段に示す位置に移動させる。
これにより、矩形rc11には「域」の文字のみが含まれ、矩形rc12には「抽」の文字が正しく含まれるように修正される。
図9(C)の上段に図示するように、文字矩形抽出部17は、「・(中黒)」の文字が複数並ぶ位置において、誤って2つの文字矩形に分割して抽出している。
なお、本例においては、「・(中黒)」のような記号が連続して複数並んでいる場合には、それらをまとめて1つの文字矩形として抽出されることが、正しい文字矩形の抽出であるものとする。
ユーザは、誤って2つの文字矩形に分割して抽出された文字矩形の境界線である区切り線sl2を削除する修正を行う。具体的には、ユーザは、例えば、マウスを操作して図9(C)の上段に示す区切り線sl2の位置にポインタpt1を移動させ、当該区切り線sl1をドラッグして図9(C)の下段に示す位置(矩形の外部である位置)にポインタpt1を移動させる。これにより、区切り線sl2が削除され、連続して複数並ぶ「・(中黒)」の記号がまとめて1つの文字矩形の中に含まれるように修正される。
図9(D)の上段に図示するように、文字矩形抽出部17は、「−(ハイフン)」の記号と、「2」の文字と、をまとめて1つの文字と認識し、誤った文字矩形である矩形rc03を抽出している。
ユーザは、2つの文字が1つの文字として誤って認識されて抽出がなされた文字矩形を分割する修正を行う。具体的には、ユーザは、例えば、マウスを操作して図9(D)の上段に示す文字列領域sa6の上端の位置にポインタpt1を移動させ、当該ポインタpt1をドラッグして図9(C)の下段に示す文字列領域sa6の下端の位置に移動させる。
この操作により、区切り線sl3が生成および表示され、「−(ハイフン)」の記号と「2」の文字とが、それぞれ文字矩形rc03aと文字矩形rc03bとに含まれるように修正される。
(ルビの対応付け)
本実施形態に係る文字列領域・文字矩形抽出装置1によれば、ユーザは、文字列に含まれる単語と当該単語に対応付けられたルビとの対応付けを行うことができる。
なお、ここでいうルビ(ruby)とは、文字列に含まれる単語の上側に、当該文字列よりも小さいサイズの文字で記される、当該単語の振り仮名を表す文字である。
以下、文字列領域・文字矩形抽出装置1によるルビの対応付けについて、図面を参照しながら説明する。
図10は、本発明の実施形態に係る文字列領域・文字矩形抽出装置1のルビ対応付け部18によるルビ抽出処理の一例を示す図である。
図10(A)は、文字列領域抽出部15により、「矩形」という単語を含む文字列領域と、当該単語に対応するルビである「くけい」という振り仮名を含むルビの文字列領域と、が抽出された状態を表す。また、図10(A)は、文字矩形抽出部17により、当該文字列領域に含まれる文字と当該ルビの文字列領域に含まれる文字とに対して、それぞれ文字矩形の抽出がなされた状態を表す。
ユーザは、操作入力部12により、単語と当該単語の振り仮名を表すルビとを対応付ける操作を行う。具体的には、図10(B)に図示するように、例えば、ユーザはマウスを操作してポインタpt1を単語またはルビの近傍に移動させ、次に、当該ポインタpt1をドラッグして単語およびルビを囲むように移動させる。
この操作が行われることにより、図10(C)に図示するように、単語と当該単語の振り仮名を表すルビとを囲むルビ対応付け領域rb1が生成および表示され、単語と当該単語の振り仮名を表すルビとの対応付けがなされる。
このように、単語と当該単語の振り仮名を表すルビとの対応付けがなされることによって、例えば、文字認識部20が、単語およびルビに対して文字認識を行う場合において、単語およびルビの双方の情報を活用することができるため、文字認識の精度を高めることができる。
(文字列領域の管理)
本実施形態に係る文字列領域・文字矩形抽出装置1によれば、ユーザは、管理画面生成部19によって生成される文字列領域管理画面によって、文字列領域抽出部15によって抽出された文字列領域の結合や分割、および文字列領域抽出部15によって抽出された文字列領域の順番の入れ替えなどの管理を行うことができる。
図11乃至図14は、本発明の実施形態に係る文字列領域・文字矩形抽出装置1の表示部13によって表示される文字列領域管理画面の一例を示す図である。
図11に示すように、文字列領域管理画面ms1は、2つの画面が左右に並べて配置された画面である。左側の画面には、文字列領域抽出画面と同様に、画像データ取得部11によって取得された画像データが示す画像が表示される。なお、図11は、ユーザの操作により、行ごとに始点と終点とが設定され、行単位での文字列領域の抽出がなされた状態の画面を表す。
抽出された文字列領域には、抽出された順に、文字列領域番号が割り当てられ、文字列領域管理画面ms1に表示される。図11に図示するように、例えば、文字列領域sa11には「1」番を表す文字列領域番号n1が割り当てられ、また、文字列領域sa12には「2」番を表す文字列領域番号n2が割り振られている。
文字列領域管理画面ms1を構成する2つの画面のうち、右側の画面には、左側の画面においてそれぞれの文字列領域に対して割り当てられた文字列領域番号のリストである文字列領域番号リストが表示される。図11に図示するように、例えば、左側の画面の文字列領域sa11に割り当てられた文字列領域番号「1」を表すリスト要素ln1や、左側の画面の文字列領域sa12に割り当てられた文字列領域番号「2」を表すリスト要素ln2などが、文字列領域番号リストに順に表示されている。
上述したように、文字列領域番号は、文字列領域が抽出された順に、当該文字列領域に対して割り当てられる。また、文字列領域番号リストにおけるリスト要素の並び順は、文字列領域・文字矩形抽出装置1が(文面の)内容的な文字列の並び順として認識している順番を表す。
すなわち、図11に示す例では、右側の画面に表示された文字列領域番号リストにおいて、上から順に、文字列領域番号n1を表すリスト要素ln1、および文字列領域番号n2を表すリスト要素ln2が表示されていることから、文字列領域・文字矩形抽出装置1は、内容的に、文字列領域番号n1に対応する文字列領域sa11に含まれる文字列である「3.光学文字認識」の次に、文字列領域番号n2に対応する文字列領域sa12に含まれる文字列である「光学文字認識(OCR)においては、文書中の」が続いているものと認識している。
なお、図11に示す文字列領域管理画面ms1は、ユーザの操作により、行ごとに始点と終点とが設定され、行単位での文字列領域が抽出された直後の画面を表したものであるため、文字列領域番号リストに表示されているリスト要素の並び順は、文字列領域番号の並び順と同一になっている。すなわち、初期状態(デフォルト状態)の文字列領域番号リストでは、リスト要素が文字列領域番号の順に並べられて表示される。
上述したように、文字列領域管理画面において、ユーザは、操作入力部12による操作により、文字列領域抽出部15によって抽出された文字列領域の結合や分割などの管理を行うことができる。
図12に示す文字列領域管理画面ms2は、ユーザにより、文字列領域の結合の操作がなされた後の時点における文字列領域管理画面の状態の一例である。図示するように、図11における文字列領域sa12、文字列領域sa13、文字列領域sa14、・・・、および文字列領域sa19の8つの文字列領域は、図12においては、結合されて1つの文字列領域sa21になっている。また、図示するように、図11における文字列領域sa20、および文字列領域sa21の2つの文字列領域は、図12においては、結合されて1つの文字列領域sa23になっている。
また、図示するように、上記のように文字列領域が結合されたことにより、図11における「2」番を表す文字列領域番号n2、「3」番を表す文字列領域番号n3、「4」番を表す文字列領域番号n4、・・・、および「9」番を表す文字列領域番号n9は、図12においては、それぞれ「2−1」番を表す文字列領域番号n21、「2−2」番を表す文字列領域番号n22、「2−3」番を表す文字列領域番号n23、・・・、および「2−8」番を表す文字列領域番号n28に付け替えがなされている。また、図示するように、上記のように文字列領域が結合されたことにより、図11における「10」番を表す文字列領域番号n10、および「11」番を表す文字列領域番号n11は、図12においては、それぞれ「3−1」番を表す文字列領域番号n31、および「3−2」番を表す文字列領域番号n32に付け替えがなされている。
また、図示するように、上記のように文字列領域番号の付け替えがなされたことにより、例えば、図11における「2」番を表すリスト要素ln2、「3」番を表すリスト要素ln3、および「4」番を表すリスト要素ln4は、図12においては、「2−1」番を表すリスト要素ln21、「2−2」番を表すリスト要素ln22、および「2−3」番を表すリスト要素ln23に変更がなされている。また、図示するように、上記のように文字列領域番号の付け替えがなされたことにより、図11における「10」番を表すリスト要素ln10、および「11」番を表すリスト要素ln11は、図12においては、「3−1」番を表すリスト要素ln31、および「3−2」番を表すリスト要素ln32に変更がなされている。
上述したように、文字列領域管理画面において、ユーザは、操作入力部12による操作により、文字列領域抽出部15によって抽出された文字列領域の順番の入れ替えの管理を行うことができる。具体的には、ユーザは、順番を入れ替えたい文字列領域の位置へポインタpt1を移動させ、その位置から文字列領域番号リストにおける所望の移動先の位置へ当該ポインタpt1をドラッグさせることにより、文字列領域の順番の入れ替えがなされる。
例えば図13に示すように、ユーザは、操作入力部12による操作により、ポインタpt1を文字列領域sa11の位置へ移動させてマウスボタンをクリックし、そのまま文字列領域番号リストにおける所望の位置(図13に示す例においては、文字列領域番号リストの末尾の位置)までポインタpt1をドラッグする。
図14に示す文字列領域管理画面ms3は、ユーザにより、文字列領域の順番の入れ替えの操作がなされた後の時点における文字列領域管理画面の状態の一例である。図示するように、図13に示す文字列領域番号リストにおいて先頭に(最上段に)表示されている「1」番を示すリスト要素ln1は、図13に示す文字列領域番号リストにおいては末尾に(リスト要素ln32の下の位置である最下段に)表示され、その他の全てのリスト要素はそれぞれ1段上に繰り上げられて表示されている。
上記のように文字列領域番号リストにおけるリスト要素の並び替えがなされると、文字列領域・文字矩形抽出装置1は、並び替えがなされた後のリスト要素(に対応する文字列領域に含まれる文字列)の順番が、内容的な文字列の順番であると認識する。すなわち、図14に示す例においては、文字列領域・文字矩形抽出装置1は、内容的には、文字列領域番号「3−2」に対応する「・ユーザの操作に基づいて手動で文字列領域抽出・・・・・・・・・3-2章」という文字列の後に、文字列領域番号「1」に対応する「3.光学文字認識」という文字列が続いているものと認識する。
(文字列領域・文字矩形抽出装置の動作)
以下、実施形態に係る文字列領域・文字矩形抽出装置1の動作について、図面を参照しながら説明する。
図15は、本発明の実施形態に係る文字列領域・文字矩形抽出装置1の動作を示すフローチャートである。本フローチャートは、文字列を含む画像を示す画像データ(例えば、文書をスキャナ等によって読み取ることにより生成される画像データ)が、画像データ取得部11に入力される際に開始する。
(ステップst001)文字列領域・文字矩形抽出装置1の画像データ取得部11は、文字列を含む画像を示す画像データ(例えば、文書をスキャナ等によって読み取ることにより生成される画像データ)を取得する。その後、ステップst002へ進む。
(ステップst002)文字列領域・文字矩形抽出装置1の制御部10は、画像データ取得部11によって取得された画像データを記憶部14に記憶させる。そして、制御部10は、記憶部14に記憶された当該画像データに対して、各種の事前処理を行う。ここでいう事前処理とは、画像データ取得部11によって取得された画像データに基づく画像の傾きを補正する処理や、当該画像の色分解を行う処理などである。すなわち、当該事前処理は、例えば、文字列領域の抽出、文字矩形の抽出、および文字認識の処理を容易にするため、あるいは文字列領域の抽出、文字矩形の抽出、および文字認識の精度を高めるために行われる処理である。その後、ステップst003へ進む。
なお、文字の傾きを補正する処理方法としては、例えば、特許文献5に記載されているような、様々なずらし角度ごとに輪郭画像から重み付きヒストグラムを作成し、最適な経路を探索することによって文字の傾きを補正する処理方法などが知られている。また、色分解を行って文字列領域を抽出する方法としては、例えば、特許文献6に記載されているような、エッジ画像データと色画像データとを用いて文字列領域を抽出する方法などが知られている。
(ステップst003)文字列領域・文字矩形抽出装置1の文字列領域抽出部15は、操作入力部12から入力される操作入力信号(補助情報)に基づいて、画像データ取得部11が取得した画像データに基づく画像に含まれる文字列からなる行の始点と終点とを特定し、特定された行の始点と終点とに基づいて当該行に含まれる文字列の表示対象範囲を示す文字列領域を抽出する。その後、ステップst004へ進む。
(ステップst004)文字列領域・文字矩形抽出装置1の文字列領域結合部16は、文字列領域抽出部15によって抽出された文字列領域と、当該文字列領域と隣接する他の文字列領域(例えば、当該文字列領域が抽出される前に抽出された隣接する他の文字列領域)と、を結合するか否かの判定を行う。その後、ステップst005へ進む。
(ステップst005)文字列領域結合部16が、文字列領域抽出部15によって抽出された文字列領域と、当該文字列領域と隣接する他の文字列領域と(例えば、当該文字列領域が抽出される前に抽出された隣接する他の文字列領域)、を結合すると判定した場合には、ステップst006へ進む。そうでない場合(すなわち、結合しないと判定された場合)には、ステップst007へ進む。
(ステップst006)文字列領域結合部16が、文字列領域抽出部15によって抽出された文字列領域と、当該文字列領域と隣接する他の文字列領域と(例えば、当該文字列領域が抽出される前に抽出された隣接する他の文字列領域)、を結合する。その後、ステップst007へ進む。
(ステップst007)文字列領域結合部16は、抽出された文字列領域を示す画像を表示部13に表示させる。そして、ユーザは、表示部13に表示された画像を確認し、文字列領域が誤りなく抽出されているか否かを確認する。文字列領域が誤りなく抽出されている場合には、ステップst009へ進む。そうでない場合、すなわち、文字列領域が誤って抽出されている箇所が存在する場合には、ステップst008へ進む。
(ステップst008)文字列領域抽出部15は、操作入力部12から入力される、ユーザによるポインタの操作に基づく操作入力信号(補助情報)に基づいて、抽出された文字列領域を修正する。なお、ユーザは、表示部13に表示された文字列領域管理画面などを参照しながら、操作入力部12(例えば、マウス)により文字列領域の修正のための操作を行う。その後、ステップst009へ進む。
(ステップst009)画像データ取得部11によって取得された画像データに基づく画像に含まれる全ての文字列領域の抽出が完了した場合には、ステップst010へ進む。
そうでない場合は、ステップst003へ戻る。
(ステップst010)文字列領域・文字矩形抽出装置1の文字矩形抽出部17は、文字列領域抽出部15によって抽出された文字列領域に含まれる文字列を構成するそれぞれの文字の矩形を表す文字矩形を抽出する。
なお、例えば、文字矩形抽出部17は、複数の文字切り出し位置の候補の中から、文字の形状情報や、文字認識における認識確度などから算出される評価値に基づいて、適切な文字切り出し位置を特定することにより、文字矩形を抽出する。その後、ステップst011へ進む。
(ステップst011)文字矩形抽出部17は、抽出された文字矩形を示す画像を表示部13に表示させる。そして、ユーザは、表示部13に表示された画像を確認し、文字矩形が誤りなく抽出されているか否かを確認する。文字矩形が誤りなく抽出されている場合には、ステップst013へ進む。そうでない場合、すなわち、文字矩形が誤って抽出されている箇所が存在する場合には、ステップst012へ進む。
(ステップst012)文字矩形抽出部17は、操作入力部12から入力される、ユーザによるポインタの操作に基づく操作入力信号(補助情報)に基づいて、抽出された文字矩形を修正する。なお、ユーザは、表示部13に表示された文字矩形管理画面(図示せず)などを参照しながら、操作入力部12(例えば、マウス)により文字矩形の修正のための操作を行う。その後、ステップst009へ進む。
(ステップst013)文字列領域・文字矩形抽出装置1の文字認識部20は、文字矩形抽出部17によって抽出されたそれぞれの文字矩形に含まれる文字を示す画像に対して光学文字認識(OCR)を行い、文字を認識する。具体的には、文字認識部20は、(例えば、スキャナによって読み取られた)文書に含まれる文字を示す画像データを解析し、コンピュータにより編集可能なデータ形式(例えば、文字コードの列)に変換する。
以上で、本フローチャートに示される処理が終了する。
以上、説明したように、本実施形態に係る文字列領域・文字矩形抽出装置1は、文字列を含む画像を示す画像データを取得する画像データ取得部11と、取得された画像データに基づく画像を表示する表示部13と、ユーザからの操作入力を受け付ける操作入力部12と、操作入力に基づく補助情報に基づいて当該画像に含まれる文字列からなる行の始点と終点とを特定し特定された行の始点と終点とに基づいて行に含まれる文字列の表示対象範囲を示す文字列領域を抽出する文字列領域抽出部15と、抽出された文字列領域と当該文字列領域と隣接する他の文字列領域とを結合する文字列領域結合部16と、を備える。
以上により、本発明の実施形態に係る文字列領域・文字矩形抽出装置1は、ユーザの操作に基づく補助情報を用いて、文字列領域の抽出および文字矩形の抽出の精度を高めることができる。
<実施形態の変形例1>
上述した実施形態に係る文字列領域・文字矩形抽出装置1においては、ユーザの操作に基づく補助情報などにしたがって文字列領域の結合の処理が行われる。しかしながら、文字認識部20による文字認識の結果を示す情報も用いて文字列領域の結合の処理が行われるような構成であってもよい。
以下に説明する実施形態の変形例1に係る文字列領域・文字矩形抽出装置2においては、文字認識部20による文字認識の結果を示す情報も用いて文字列領域の結合の処理が行われる。
(文字列領域・文字矩形抽出装置の構成)
以下、実施形態の変形例1に係る文字列領域・文字矩形抽出装置2の構成について、図面を参照しながら説明する。
図16は、本発明の実施形態の変形例1に係る文字列領域・文字矩形抽出装置2の機能構成を示すブロック図である。
図示するように、実施形態の変形例1に係る文字列領域・文字矩形抽出装置2は、制御部10と、画像データ取得部11と、操作入力部12と、表示部13と、記憶部14と、文字列領域抽出部15と、文字列領域結合部16と、文字矩形抽出部17と、ルビ対応付け部18と、管理画面生成部19と、文字認識部20と、と含んで構成される。
また、文字列領域結合部16は、言語解析部26を含んで構成される。
制御部10は、文字列領域・文字矩形抽出装置2における各種の処理を制御する。制御部10は、例えば、CPUを含んで構成される。
画像データ取得部11は、文字列を含む画像を示す画像データを取得する。画像データ取得部11は、例えば、外部の機器であるスキャナ等によって文書が読み取られることによって生成された画像データを取得する入力インターフェースを含んで構成される。または、画像データ取得部11は、例えば、スキャナを含んで構成される。
操作入力部12は、ユーザからの操作入力を受け付ける。操作入力部12は、受け付けた操作入力に基づく操作入力信号(補助情報)を生成し、後述する表示部13、文字列領域抽出部15、文字列領域結合部16、文字矩形抽出部17、ルビ対応付け部18、または管理画面生成部19へ出力する。操作入力部12は、後述する表示部13に表示されるポインタ(または、カーソル)をユーザが操作するために用いられるポインティングデバイス、例えば、マウス、タッチパッド、タッチパネル、スタイラス、またはトラックボール等を含んで構成される。
なお、本実施形態の変形例1においては、文字列領域・文字矩形抽出装置1が操作入力部12を備えるものとしたが、これに限られない。例えば、操作入力部12が外部の装置に備えられ、文字列領域・文字矩形抽出装置1が、ユーザによるポインタ操作を示す信号を当該外部の装置から取得するようにしてもよい。
表示部13は、画像データ取得部11によって取得された画像データに基づく画像を表示する。表示部13は、ディスプレイ、例えば、液晶ディスプレイ(LCD)、有機ELディスプレイ、またはCRT等を含んで構成される。
なお、本実施形態の変形例1においては、文字列領域・文字矩形抽出装置1が表示部13を備えるものとしたが、これに限られない。例えば、表示部13が外部の装置に備えられ、文字列領域・文字矩形抽出装置1が、表示させる画像を示す画像データを当該外部の装置へ送信するようにしてもよい。
記憶部14は、文字列領域・文字矩形抽出装置1において用いられる各種のコンピュータプログラムやデータを記憶する。また、記憶部14は、文字列領域・文字矩形抽出装置1における各種の演算処理等において用いられる一時的な記憶領域としての機能も有する。記憶部14は、記憶媒体、例えば、HDD、フラッシュメモリ、EEPROM、RAM、ROM、又はそれらの任意の組み合わせを含んで構成される。
文字列領域抽出部15は、操作入力部12から入力される操作入力信号(補助情報)に基づいて、画像データ取得部11が取得した画像データに基づく画像に含まれる文字列からなる行の始点と終点とを特定し、特定された行の始点と終点とに基づいて当該行に含まれる文字列の表示対象範囲を示す文字列領域を抽出する。
文字列領域結合部16は、文字列領域抽出部15によって抽出された文字列領域と、当該文字列領域と隣接する他の文字列領域(例えば、当該文字列領域が抽出される前に抽出された隣接する他の文字列領域)と、を結合する。文字列領域結合部16は、結合された文字列領域を示す画像を表示部13に表示させる。
また、上述したように、文字列領域結合部16は言語解析部26を備える。
言語解析部26は、文字認識部20による文字認識の結果を示す情報を解析する。そして、言語解析部26は、解析された結果を示す情報に基づいて、文字列領域を結合するか否かを判定する。具体的には、例えば、言語解析部26は、ある2つの文字列領域にそれぞれ含まれる文字に対しての文字認識部20による文字認識の結果を示す情報と、文字の生起確率における統計的な情報(例えば、ある文字列の中でN個の文字列または単語の組み合わせが、どの程度出現するかを調査する言語モデルであるNグラムモデルなど)とに基づいて、文字列領域を結合するか否か(すなわち、当該2つの文字列領域が、同一の文字列領域であるか否か)を判定する。
または、文字列領域結合部16は、操作入力部12から入力される、ユーザによるポインタの操作に基づく操作入力信号(補助情報)に基づいて、抽出された文字列領域と、当該文字列領域と隣接する他の文字列領域と、を結合する。
すなわち、文字列領域結合部16は、ユーザの操作により(手動で)文字列領域の結合を行う場合と、統計情報に基づいて(自動で)文字列領域の結合を行う場合と、がある。
文字矩形抽出部17は、文字列領域抽出部15によって抽出された文字列領域に含まれる文字列を構成するそれぞれの文字の矩形を表す文字矩形を抽出する。また、文字矩形抽出部17は、操作入力部12から入力される、ユーザによるポインタの操作に基づく操作入力信号(補助情報)に基づいて、抽出された文字矩形を修正する。
ルビ対応付け部18は、ユーザによるポインタの操作に基づく操作入力信号(補助情報)に基づいて、文字列領域抽出部15によって抽出された文字列領域に含まれる文字列と、当該文字列に対応するルビと、を対応付ける。ルビ対応付け部18は、対応付けられた文字列と当該文字列に対応するルビとが囲まれた範囲であるルビ対応付け領域を示す画像を、表示部13に表示させる。
管理画面生成部19は、ユーザが文字列領域および文字矩形の修正等を行うための管理画面を生成する。管理画面生成部19は、文字列領域抽出部15によって抽出された文字列領域(行単位で抽出された文字列領域)に対して、抽出された順に付与される番号である行番号を対応付ける。そして、管理画面生成部19は、画像データ取得部11によって取得された画像データに基づく画像に含まれる文字列領域(行単位で抽出された文字列領域)にそれぞれ行番号が付与された画像と、当該行番号がリスト表示された画像であるリスト表示画像と、を表示する管理画面を、表示部13に表示させる。
文字認識部20は、文字矩形抽出部17によって抽出されたそれぞれの文字矩形に含まれる文字を示す画像に対して光学文字認識(OCR)を行い、文字を認識する。具体的には、文字認識部20は、(例えば、スキャナによって読み取られた)文書に含まれる文字を示す画像データを解析し、コンピュータにより編集可能なデータ形式(例えば、文字コードの列)に変換する。
(文字列領域・文字矩形抽出装置の動作)
以下、実施形態の変形例1に係る文字列領域・文字矩形抽出装置2の動作について、図面を参照しながら説明する。
図17は、本発明の実施形態の変形例1に係る文字列領域・文字矩形抽出装置2の動作を示すフローチャートである。本フローチャートは、文字列を含む画像を示す画像データ(例えば、文書をスキャナ等によって読み取ることにより生成される画像データ)が、画像データ取得部11に入力される際に開始する。
(ステップst101)文字列領域・文字矩形抽出装置2の画像データ取得部11は、文字列を含む画像を示す画像データ(例えば、文書をスキャナ等によって読み取ることにより生成される画像データ)を取得する。その後、ステップst102へ進む。
(ステップst102)文字列領域・文字矩形抽出装置2の制御部10は、画像データ取得部11によって取得された画像データを記憶部14に記憶させる。そして、制御部10は、記憶部14に記憶された当該画像データに対して、各種の事前処理を行う。ここでいう事前処理とは、画像データが示す画像の傾きを補正する処理や、色分解を行う処理などである。すなわち、当該事前処理は、例えば、文字列領域の抽出、文字矩形の抽出、および文字認識の処理を容易にするため、あるいは文字列領域の抽出、文字矩形の抽出、および文字認識の精度を高めるために行われる処理である。その後、ステップst003へ進む。
(ステップst103)文字列領域・文字矩形抽出装置2の文字列領域抽出部15は、操作入力部12から入力される操作入力信号(補助情報)に基づいて、画像データ取得部11が取得した画像データに基づく画像に含まれる文字列からなる行の始点と終点とを特定し、特定された行の始点と終点とに基づいて当該行に含まれる文字列の表示対象範囲を示す文字列領域を抽出する。その後、ステップst104へ進む。
(ステップst104)画像データ取得部11によって取得された画像データに基づく画像に含まれる全ての文字列領域の抽出が完了した場合には、ステップst105へ進む。
そうでない場合は、ステップst103へ戻る。
(ステップst105)文字列領域・文字矩形抽出装置2の文字矩形抽出部17は、文字列領域抽出部15によって抽出された文字列領域に含まれる文字列を構成するそれぞれの文字の矩形を表す文字矩形を抽出する。その後、ステップst106へ進む。
(ステップst106)文字矩形抽出部17は、抽出された文字矩形を示す画像を表示部13に表示させる。そして、ユーザは、表示部13に表示された画像を確認し、文字矩形が誤りなく抽出されているか否かを確認する。文字矩形が誤りなく抽出されている場合には、ステップst108へ進む。そうでない場合、すなわち、文字矩形が誤って抽出されている箇所が存在する場合には、ステップst107へ進む。
(ステップst107)文字矩形抽出部17は、操作入力部12から入力される、ユーザによるポインタの操作に基づく操作入力信号(補助情報)に基づいて、抽出された文字矩形を修正する。なお、ユーザは、表示部13に表示された文字矩形管理画面(図示せず)などを参照しながら、操作入力部12(例えば、マウス)により文字矩形の修正のための操作を行う。その後、ステップst108へ進む。
(ステップst108)文字列領域・文字矩形抽出装置2の文字認識部20は、文字矩形抽出部17によって抽出されたそれぞれの文字矩形に含まれる文字を示す画像に対して光学文字認識(OCR)を行い、文字を認識する。具体的には、文字認識部20は、(例えば、スキャナによって読み取られた)文書に含まれる文字を示す画像データを解析し、コンピュータによりが編集可能なデータ形式(例えば、文字コードの列)に変換する。その後、ステップst109へ進む。
(ステップst109)文字列領域結合部16に備えられた言語解析部26は、文字認識部20による文字認識の結果を示す情報を解析する。そして、言語解析部26は、解析された結果を示す情報に基づいて、文字列領域を結合するか否かを判定する。具体的には、例えば、言語解析部26は、ある2つの文字列領域にそれぞれ含まれる文字に対しての文字認識部20による文字認識の結果を示す情報と、文字の生起確率における統計的な情報(例えば、ある文字列の中でN個の文字列または単語の組み合わせが、どの程度出現するかを調査する言語モデルであるNグラムモデルなど)とに基づいて、文字列領域を結合するか否か(すなわち、当該2つの文字列領域が、同一の文字列領域であるか否か)を判定する。
そして、文字列領域結合部16は、言語解析部26による上記の判定の結果に基づいて、文字列領域抽出部15によって抽出された文字列領域と、当該文字列領域と隣接する他の文字列領域と(例えば、当該文字列領域が抽出される前に抽出された隣接する他の文字列領域)、を結合する。その後、ステップst110へ進む。
(ステップst110)文字列領域結合部16は、結合された文字列領域を示す画像を表示部13に表示させる。そして、ユーザは、表示部13に表示された画像を確認し、文字列領域の結合が誤りなく行われているか否かを確認する。文字列領域の結合が誤りなく行われている場合には、本フローチャートに示される処理が終了する。そうでない場合、すなわち、文字列領域が誤って結合されている(または、誤って分割されている)箇所が存在する場合には、ステップst111へ進む。
(ステップst111)文字列領域抽出部15は、操作入力部12から入力される、ユーザによるポインタの操作に基づく操作入力信号(補助情報)に基づいて、抽出された文字列領域を修正する。なお、ユーザは、表示部13に表示された文字列領域管理画面などを参照しながら、操作入力部12(例えば、マウス)により文字列領域の修正のための操作を行う。
以上で、本フローチャートに示される処理が終了する。
以上、説明したように、本実施形態の変形例1に係る文字列領域・文字矩形抽出装置1は、文字列を含む画像を示す画像データを取得する画像データ取得部11と、取得された画像データに基づく画像を表示する表示部13と、ユーザからの操作入力を受け付ける操作入力部12と、操作入力に基づく補助情報に基づいて当該画像に含まれる文字列からなる行の始点と終点とを特定し特定された行の始点と終点とに基づいて行に含まれる文字列の表示対象範囲を示す文字列領域を抽出する文字列領域抽出部15と、抽出された文字列領域と当該文字列領域と隣接する他の文字列領域とを結合する文字列領域結合部16と、を備える。
さらに、本実施形態の変形例1に係る文字列領域・文字矩形抽出装置1は、文字認識部20による文字認識の結果を示す情報を解析し、解析された結果を示す情報に基づいて文字列領域を結合するか否かを判定する言語解析部26を備え、文字列領域結合部は、言語解析部26によって判定された結果に基づいて、抽出された前記文字列領域と当該文字列領域と隣接する他の文字列領域とを結合する。
以上により、本発明の実施形態の変形例1に係る文字列領域・文字矩形抽出装置2は、ユーザの操作に基づく補助情報を用いて、文字列領域の抽出および文字矩形の抽出の精度を高めることができる。さらに、本発明の実施形態の変形例1に係る文字列領域・文字矩形抽出装置2は、文字認識の結果を示す情報も用いて文字列領域の結合の判定を行うことができるため、文字列領域の抽出の精度を高めたり、文字列領域の抽出のための処理の効率化を図ったりすることができる。
<実施形態の変形例2>
上述した実施形態に係る文字列領域・文字矩形抽出装置1においては、文字列領域抽出部15は、ユーザの操作に基づく補助情報に対応させ、表示部13が表示する画像に含まれる文字列からなる、ユーザの操作が行われた行の始点および終点の位置を特定した。しかしながら、文字列領域抽出部15は、画像に対するユーザの操作に基づく補助情報により始点および終点が特定された行に基づいて、その画像に含まれる他の行の始点および終点の位置を特定してもよい。
以下に説明する実施形態の変形例2に係る文字列領域・文字矩形抽出装置1においては、文字列領域抽出部15は、表示部13が表示する画像に対しユーザの操作により始点および終点が指定された行に基づいて、その画像に含まれる他の行の始点および終点の位置を特定する。なお、以下に述べる実施形態の変形例2の説明において、実施形態と同じ構成には同じ符号を付し、その説明を省略する。
文字列領域抽出部15は、表示部13が表示する画像に含まれる文字列からなる行に対する前記操作入力に基づく補助情報により特定された始点および終点に基づいて、その画像に含まれる文字列からなる他の行の始点および終点の位置を特定する特定情報を生成し、特定情報により特定される始点と終点とに基づいて、他の行に含まれる文字列の文字列領域を抽出する。例えば、文字列領域抽出部15は、画像に含まれる複数の行のうちいずれか一つの行の始点および終点の位置がユーザの入力操作により指定されると、残りの行の始点および終点の位置を特定する。
また、文字列領域抽出部15は、表示部13が表示する画像に対して特定された始点および終点のうち少なくともいずれか一方に対する前記操作入力に基づく補助情報により、その画像に対して生成された特定情報を修正する。例えば、文字列領域抽出部15は、画像に含まれる複数の行の始点および終点の位置が特定されている場合、複数の行の始点のうちいずれか一つの始点の位置がユーザの入力操作により修正されると、残りの行の始点の位置を修正する。あるいは、文字列領域抽出部15は、画像に含まれる複数の行の始点および終点の位置が特定されている場合、複数の行の始点のうちいずれか一つの終点の位置がユーザの入力操作により修正されると、残りの行の終点の位置を修正する。
また、文字列領域抽出部15は、表示部13が表示する画像に対して抽出された文字列領域に対する操作入力に基づく補助情報により、その画像に対して抽出された前記文字列領域を修正する。例えば、文字列領域抽出部15は、画像に含まれる複数の文字列の文字列領域の位置が抽出されている場合、複数の文字列領域のうちいずれか一つの文字列領域の位置がユーザの入力操作により修正されると、残りの文字列領域の位置を修正する。
また、文字列領域抽出部15は、表示部13が表示する第1画像に対して行われたユーザによる操作入力信号(補助情報)、および、その第1画像に対して生成された特定情報のうち少なくともいずれか一方に基づいて、表示部13が表示する第2画像に対する特定情報を生成する。
ここで、第1画像および第2画像とは、文字列領域を抽出する対象である文字列が含まれる画像であり、例えば第1画像は書籍の1ページ目、第2画像は当該書籍の2ページ目等を撮像した画像である。
例えば、文字列領域抽出部15は、書籍のあるページを撮像した画像に対してユーザにより指定された始点および終点の位置に基づいて、書籍の別のページに含まれる文字列の始点および終点の位置を特定する。あるいは、文字列領域抽出部15は、書籍のあるページを撮像した画像に対してユーザにより指定された始点および終点の位置から特定した他の行の始点および終点の位置に基づいて、書籍の別のページに含まれる文字列の始点および終点の位置を特定する。あるいは、文字列領域抽出部15は、書籍のあるページを撮像した画像に対してユーザにより指定された始点および終点の位置と、文字列領域抽出部15が特定した他の行の始点および終点の位置とに基づいて、書籍の別のページに含まれる文字列の始点および終点の位置を特定する。
また、文字列領域抽出部15は、表示部13が表示する第1画像に対して抽出された文字列領域に関する情報に基づいて、第1画像とは異なる第2画像に対する文字列領域を抽出する。例えば、文字列領域抽出部15は、書籍のあるページを撮像した画像に対して抽出された文字列領域の位置に基づいて、書籍の別のページに含まれる文字列領域を抽出する。
(特定情報の生成)
以下、文字列領域抽出部15が、画像に含まれる文字列からなる行に対する前記操作入力に基づく補助情報により特定された始点および終点に基づいて、その画像に含まれる文字列からなる他の行の始点および終点の位置を特定する特定情報を生成する方法について、図面を参照しながら説明する。
図18乃至図19は、実施形態に係る文字列領域・文字矩形抽出装置1の表示部13によって表示される文字列領域抽出画面の一例を示す図である。
図18に示すように、ユーザは、操作入力部12によりポインタpt1を操作することにより、文字列領域抽出画面ds2に含まれる文字列の範囲を、行単位で指定する。ここでは、ユーザは、文字列領域抽出画面ds2に表示される画像に含まれる縦書きの文字列のうち、右端の一行目に記載された文字列の始点および終点を指定するものとして説明する。また、ユーザによる当該行単位での文字列領域を指定する操作は、すでに説明したものと同様な操作であるため、ここでは詳細な説明を省略する。
ユーザにより行の始点および終点を指定する操作がなされると、表示部13により、文字列領域抽出画面ds2には、始点st1に白い丸型のアイコン、終点ed1に黒い丸型のアイコンがそれぞれ表示される。また、ユーザにより行の終点を指定する操作がなされると、文字列領域抽出画面ds2には、始点st1と終点ed1を結ぶ接続線cn1が表示される。
そして、文字列領域抽出部15は、ユーザにより行の始点および終点が指定されると、当該始点および終点が指定された行(図18の例では、一行目の行)の位置関係に基づいて、文字列領域抽出画面ds2に表示される画像に含まれる他の行(図18の例では、二行目以降の行)の始点、および終点の位置を特定する特定情報を生成する。特定情報とは、例えば、二行目以降の行の始点、および終点のxy座標値である。以下、特定情報が行の始点、および終点のxy座標値であるものとして説明する。また、以下においては、特定情報を生成する処理は、xy座標系においてy軸方向に配列された文字列(つまり、縦書きの文字列)を、x軸の負の方向(つまり、右から左の方向)に処理する動作を例として説明する。
文字列領域抽出部15は、例えば、ユーザの操作により指定された一行目の行の始点st1のxy座標値が(xst1、yst1)であったとすると、二行目の行の始点Est2のxy座標値を(xst1−d、yst1)とする。つまり、二行目の行の始点Est2は、一行目の行の始点の位置からx軸の負の方向にd離れ、y軸方向に変化しない(同じy座標値)位置とする。
また、文字列領域抽出部15は、例えば、ユーザの操作により指定された一行目の行の終点ed1のxy座標値が(xed1、yed1)であったとすると、二行目の行の終点Eed2のxy座標値を(xed1−d、yed1)とする。つまり、二行目の行の終点Eed2は、一行目の行の終点の位置からx軸方向に行間の間隔がdとなる位置であって、y軸方向に一行目の行の始点のy座標値と同じとなる位置とする。
なお、dは、予め記憶部14に記憶された値であってもよいし、ユーザが指定する値であってもよい。また、dは、文字列領域抽出画面ds2に表示される画像の種別に応じて設定される値であってもよい。画像の種別とは、例えば、文庫本の書式に基づいて記載された文字列を撮像した画像か、新書の書式に基づいて記載された文字列を撮像した画像か等である。これにより、文字列領域抽出部15は、文庫本の書式と、新書の書式とで行間の間隔が異なる場合には、それぞれに対応した行間の間隔を用いて特定情報を生成することができる。
文字列領域抽出部15は、三行目以降の行についても同様に、始点Est3〜Est8それぞれのxy座標値を(xst1−k×d、yst1)、終点Eed3〜Eed8それぞれのxy座標値を(xed1−k×d、yed1)とする。ここで、kは行番号から1を減算した値である。行番号は、三行目の行が3、四行目の行が4、・・の順に設定される番号である。このように、文字列領域抽出部15は、ユーザの操作により指定された文字列領域抽出画面ds2に表示される画像に含まれる一行目の行の始点のxy座標に基づいて、文字列領域抽出画面ds2に表示される画像の二行目以降の行の始点のxy座標値を、ユーザの指定した一行目の行を基準として、x軸方向に行間の間隔がdとなる位置であって、y軸方向に一行目の行の始点のy座標値と同じとなる位置とする。
図18の例では、表示部13は、文字列領域抽出部15が特定した特定情報に基づいて、文字列領域抽出画面ds2に、二行目の行の始点Est2に白い方形のアイコン、終点Eed2に黒い方形のアイコンをそれぞれ表示する。また、表示部13は、二行目の行と同様に、三行目以降の行の始点Est3〜Est8に白い方形のアイコン、終点Eed3〜Eed8に黒い方形のアイコンをそれぞれ表示する。
ここで、文字列領域抽出部15は、二行目以降の行の始点および終点の位置を特定する際、その行に対応する箇所に文字列が示されているか否かに関わらず、始点および終点の位置を特定している。文字列領域抽出部15は、始点st1のxy座標値からx軸方向にdの整数倍離れた箇所に相当する点で、文字列領域抽出画面ds2に表示することができる点の全てを始点とする。また、文字列領域抽出部15は、終点ed1のxy座標値からx軸方向にdの整数倍離れた箇所に相当する点で、文字列領域抽出画面ds2に表示することができる点の全てを終点とする。図18の例では、文字列領域抽出部15は、始点Est8、および終点Eed8の間には文字列が存在していない場合であっても、始点Est8、および終点Eed8を特定する。
図19に示すように、文字列領域抽出部15は、ユーザによる一行目の行の始点および終点のxy座標値に基づいて、他の行の始点および終点の位置を特定した後、特定した始点から終点までに含まれる文字列を囲む矩形状の文字列領域sa1〜sa7を抽出する。文字列領域抽出部15が文字列領域を抽出する処理については、すでに説明したものと同様な処理であるため、ここでは詳細な説明を省略するが、文字列領域抽出部15は、特定した始点および終点を接続する接続線と文字とが交差している範囲を文字列領域とする。このため、図18の始点Est8、および終点Eed8のように、始点と終点との間に文字列が存在していない場合、始点Est8、および終点Eed8に対応する文字列領域は抽出されない。
なお、上記においては、文字列領域抽出部15は、文字列領域抽出画面ds2に表示される画像に縦書きの文字列が示されている場合について説明した。しかしながら、文字列領域抽出部15は、文字列領域抽出画面ds2に表示される画像に横書きの文字列が示されている場合にも、ユーザの操作により指定された行の始点および終点の位置に基づいて、文字列領域抽出画面ds2に表示される画像に含まれる他の行の始点および終点の位置を特定することができる。この場合、横書きの文字列は、xy座標系においてx軸方向に配列された文字列であり、y軸の正の方向(つまり、上から下の方向)に示される文字列となる。このことから、文字列領域抽出部15は、ユーザの操作により指定された行の始点のxy座標値に対し、x軸方向にx座標値が同じ値であって、y軸の正の方向に一定(例えば、d)の間隔ごと離れた位置を、他の行の始点の位置とする。また、文字列領域抽出部15は、ユーザの操作により指定された行の終点のxy座標値に対し、x軸方向にx座標値が同じ値であって、y軸の正の方向に一定(例えば、d)の間隔ごと離れた位置を、他の行の終点の位置とする。
なお、文字列領域抽出部15は、縦書きの文字列であって、x軸の負の方向(つまり、右から左の方向)ではなく、x軸の正の方向(つまり、左から右の方向)に示されている場合や、横書きの文字列であって、y軸の正の方向(つまり、上から下の方向)ではなく、y軸の負の方向(つまり、下から上の方向)に示されている場合であっても、上記と同様な方法を用い、ユーザの操作により指定された行の始点および終点の位置に基づいて、文字列領域抽出画面ds2に表示される画像に含まれる他の行の始点および終点の位置を特定することができる。
このように、本実施形態の変形例2の文字列領域・文字矩形抽出装置1では、文字列領域抽出部15は、前記操作入力に基づく補助情報に基づいて、表示部13が表示する文字列領域抽出画面ds2に表示された、画像データ取得部11が取得した画像データに基づく画像(「画像」の一例)に含まれる文字列からなる行のうち、補助情報により特定された行の始点st1と終点ed1における当該行(例えば一行目)とは異なる他の行(例えば、二行目〜八行目)の始点および終点をそれぞれ特定する特定情報を生成し、特定情報に基づいて特定される他の行の始点Est2〜Est8と終点Eed2〜Eed8とに基づいて、他の行に含まれる文字列の文字列領域sa2〜sa5を抽出する。
書籍等の場合、文字列は一定の間隔で規則正しく並んで記載されることが多い。このため、書籍等を撮像した画像に含まれる文字列は、一定の間隔で並んでいる場合がほとんどである。つまり、文字列領域抽出部15は、ユーザが指定した行の始点st1、終点ed1、および接続線cn1に基づいて、他の行の始点Est2〜Est8と終点Eed2〜Eed8とを特定することができる。文字列領域抽出部15が他の行の始点および終点の位置を特定することができるため、ユーザは、画像における文字列の一行ごとに始点および終点を指定する必要がない。つまり、文字列領域・文字矩形抽出装置1では、ユーザの操作に基づく補助情報を用いて、文字列領域の抽出の精度を高めることができる他、文字列領域抽出部15が補助情報に基づいて、他の行の始点および終点の位置を特定することができ、ユーザが文字列からなる行を一行ごとに始点および終点を指定する操作の手間を省くことができる。
なお、文字列領域抽出部15は、ユーザにより特定の行の始点および終点が指定された場合、他の行の始点および終点の位置を特定するか否かを、選択できるようにしてもよい。そして、文字列領域抽出部15は、他の行の始点および終点の位置を特定することが選択された場合に、他の行の全ての行の始点および終点の位置を特定するか、または他の行の一部の始点および終点の位置を特定するかを、選択できるようにしてもよい。
文字列領域抽出部15が、他の行の一部の始点および終点の位置を特定する場合、例えば、画像に文字列が七行に渡って記載され、その中の二行目から四行目までの行の始点および終点の位置を特定する場合について説明する。ユーザは、まず、二行目の行の始点近傍の位置にポインタpt1を移動させてマウスボタンをクリックし、そのまま四行目の行の終点の位置までポインタpt1をドラッグする。その後、二行目の行の始点近傍の位置にポインタpt1を移動させてマウスボタンをクリックし、次に二行目の行の終点の位置にポインタpt1を移動させてマウスボタンをクリックする。このような入力操作がなされることにより、文字列領域抽出部15は、七行の文字列のうち、二行目の行に対して指定された始点および終点の位置に基づいて、三、四行目のそれぞれの行の始点および終点の位置を特定する。
文字列領域抽出部15が、複数ある行の一部の始点および終点の位置を特定することにより、複数の行に記載される文字列のそれぞれが互いに書式が異なる場合(例えば、目次や見出しを示す文字列、本文を示す文字列等)、それぞれの書式に応じた始点および終点の位置を特定することができる。
(特定情報の修正)
以下、文字列領域抽出部15が、自身が生成した特定情報を、ユーザによるポインタの操作に基づく補助情報に基づいて修正する方法について、図面を参照しながら説明する。
図20乃至図21は、実施形態に係る文字列領域・文字矩形抽出装置1の表示部13によって表示される文字列領域抽出画面の一例を示す図である。
図20に示すように、文字列領域抽出部15が、ユーザにより指定された行の始点および終点の位置に基づいて、同じ画像に含まれる他の行の始点および終点の位置を特定しても、必ずしも実際の行の始点および終点の位置と一致するとは限らない。図20の例では、文字列領域抽出部15が特定した始点の位置は、実際の始点の位置よりも右方向にずれている。文字列領域抽出部15は、ユーザにより指定された始点のx座標値からx軸方向にdの整数倍離れた位置であって、y軸方向の座標値が変化しない位置を、他の行の始点の位置とした。しかしながら、実際には、ユーザにより指定された行の始点の位置と、他の行の始点の位置とは、x軸方向にd1離れているため、上述した右方向のずれが生じている。
文字列領域抽出部15が特定した他の行の始点および終点の位置が、実際の始点および終点の位置と異なっている場合、文字列領域抽出部15が特定した始点と終点とを接続させた接続線が、文字列と交差しないことがある。接続線が文字列と交差しない場合、文字列領域抽出部15は、文字列領域を抽出することができない。このため、文字列領域抽出部15は、画像に対して特定された始点および終点を修正できることが望ましい。
本実施形態の変形例2に係る文字列領域・文字矩形抽出装置1によれば、文字列領域抽出部15は、ユーザによる入力操作に基づいて、画面に含まれる文字列に対して生成された特定情報を、修正することができる。
図21に示すように、ユーザは、文字列領域抽出画面ds2に表示された画面に含まれる文字列に対して特定された始点Est2の位置を、操作入力部12によりポインタpt1を操作することによって移動させる。具体的には、ユーザは、例えば、マウスを操作して図21に点線で示される始点Est2が表示された位置にポインタpt1を移動させ、始点Est2をドラッグして、図21に実線で示される始点Est12が表示された位置に移動させる。これにより、文字列領域抽出部15は、二行目の行の始点の位置を、始点Est2から始点Est12が表示される箇所に修正する。
文字列領域抽出部15は、ユーザのポインタ入力操作により二行目の行の始点の位置が修正されると、当該修正内容に基づき、三行目以降の行の始点の位置を修正する。具体的には、文字列領域抽出部15は、一行目の行の始点Est1のx座標値と修正後の二行目の行の始点Est12のx座標値の差分を算出する。当該x座標値の差分が一行目と二行目の、x軸方向における間隔に相当し、図21の例では、x軸方向の差分はd1である。また、文字列領域抽出部15は、修正前の二行目の行の始点Est2と修正後の二行目の行の始点Est12とのy座標の差分を算出する。当該y座標の差分がy軸方向の修正量に相当する。
文字列領域抽出部15は、ユーザの操作により指定された一行目の行の始点st1のxy座標値が(xst1、yst1)、ユーザのポインタ操作により修正された二行目の行の始点Est12のxy座標値が(xst1−d1、yst1+y1)であったとする。つまり、x軸方向に行間の間隔をdからd1とする修正、およびy軸の正の方向にy1移動させる修正がユーザにより行われたとする。この場合、文字列領域抽出部15は、三行目の行の始点Est3のxy座標値を(xst1−2×d1、yst1+y1)とする。つまり、文字列領域抽出部15は、三行目の行の始点Est3の位置を、二行目の行の始点の位置からx軸方向にd1離れ、y軸方向に変化しない位置とする。文字列領域抽出部15は、四行目以降の行についても同様に、始点Est4〜Est8それぞれのxy座標値を(xst1−k×d1、yst1+y1)とする。ここで、kは行番号から1を減算した値である。
表示部13は、文字列領域抽出部15が修正した特定情報に基づいて、文字列領域抽出画面ds3に、始点Est11〜Est18に表示させていた白い方形のアイコンを消去するとともに始点Est21〜Est28に白い方形のアイコンそれぞれを表示する。
なお、上記においては、文字列領域抽出部15が始点の位置を修正する例について説明したが、終点についても同様である。文字列領域抽出部15は、例えば、ユーザのポインタ入力操作により二行目の行の終点の位置が修正されると、当該修正内容に基づき、三行目以降の行の終点の位置を修正する。
このように、文字列領域・文字矩形抽出装置1では、文字列領域抽出部15は、操作入力部12から入力される操作入力信号(補助情報)に基づき、特定情報を修正する。ユーザが、例えば、文字列領域抽出部15により特定された複数の始点または終点のうちの一つの始点の位置をユーザが修正すれば、文字列領域抽出部15は、その修正内容に応じて残りの始点または終点の位置を修正する。従って、ユーザは一行ごとに始点または終点の位置を修正する必要がない。このため、文字列領域・文字矩形抽出装置1では、ユーザの操作に基づく補助情報を用いて、文字列領域の抽出の精度を高めることができる他、文字列領域抽出部15が他の行の始点または終点を誤って特定した場合でも、当該誤って特定された始点または終点を一行ごとに修正する手間を省くことができる。
また、文字列領域抽出部15は、ユーザにより特定の行の始点または終点の位置が修正された場合に、他の行の始点または終点を修正するか否かを、選択できるようにしてもよい。そして、文字列領域抽出部15は、他の行の始点または終点を修正することが選択された場合に、他の行の全ての行の始点または終点を修正するか、または他の行の一部の行の始点または終点を修正するかを、選択できるようにしてもよい。
文字列領域抽出部15が、他の行の一部の始点または終点を修正する場合、例えば、画像に七行分の始点および終点の位置が特定され、その中の二行目から四行目までの行の始点を修正する場合について説明する。ユーザは、まず、シフトキーを押下しながら、二行目から四行目までの行の始点近傍の位置に、ポインタpt1を順に移動させ、移動させる度にマウスボタンをクリックする。次に、ユーザは、シフトキーの押下を止め、二行目の行の始点近傍の位置にポインタpt1を移動させてマウスボタンをクリックし、そのまま二行目の行の始点を移動させたい位置までポインタpt1を移動させてドラッグする。このような入力操作がなされることにより、文字列領域抽出部15は、七行の文字列のうち、二行目の行に対して修正された始点の位置に基づいて、三、四行目のそれぞれの行の始点の位置を修正する。
(文字列領域の修正)
以下、文字列領域抽出部15が、補助情報に基づいて、自身が抽出した文字列領域を修正する方法について、図面を参照しながら説明する。
図22は、実施形態に係る文字列領域・文字矩形抽出装置1の表示部13によって表示される文字列領域抽出画面の一例を示す図である。
図22に示すように、文字列領域抽出部15が、画像に含まれる文字列の文字列領域を特定しても、実際の文字列領域と一致するとは限らない。図22の例では、文字列領域抽出部15が特定した文字列領域sa1〜sa7それぞれの領域には、文字列が記載される領域に、その文字列に付された振り仮名が記載される領域が含まれてしまっている。
図22に示すように、文字列領域の中に文字列に含まれる文字以外の文字が含まれている場合、後述する文字矩形抽出部17において、文字矩形の抽出を行うことができない可能性がある。
本実施形態の変形例2に係る文字列領域・文字矩形抽出装置1によれば、ユーザは、文字列領域抽出部15によって特定された文字列領域を修正することができる。
図22に示すように、ユーザは、文字列領域sa1の右端の線を、操作入力部12によりポインタpt1を操作することによって移動させる。具体的には、ユーザは、例えば、マウスを操作して図22に点線で示される文字列領域sa1の右側上端の角の近傍の位置にポインタpt1を移動させ、当該角の近傍の位置からドラッグして、図22に実線で示される文字列領域sa11の右側上端の角の近傍の位置に移動させる。これにより、文字列領域sa1の領域が、文字列領域sa11の領域に修正され、文字列領域sa11には文字列のみが含まれ、文字列の振り仮名が記載された領域が含まれない領域に修正される。
文字列領域抽出部15は、文字列領域sa1がユーザの入力操作により修正されると、当該修正内容に基づき、他の文字列領域sa2〜sa7それぞれを修正する。具体的には、文字列領域抽出部15は、修正前の文字列領域sa1の代表点(例えば、領域の右側上端の角)のxy座標値と、修正後の文字列領域sa11の代表点のxy座標値を比較し、移動量を算出する。文字列領域抽出部15は、他の文字列領域sa2〜sa7それぞれに対し、それぞれの代表点を、算出した移動量だけ移動させることにより、文字列領域sa3〜sa7を修正し、それぞれ修正後の文字列領域sa13〜sa17とする。
なお、文字列領域抽出部15は、ユーザにより特定の行に対応する文字列領域が修正された場合に、他の行に対応する文字列領域を修正するか否かを、選択できるようにしてもよい。そして、文字列領域抽出部15は、他の行に対応する文字列領域を修正することが選択された場合に、他の行に対応する文字列領域の全てを修正するか、または他の行に対応する文字列領域の一部の文字列領域を修正するかを、選択できるようにしてもよい。
文字列領域抽出部15が、他の文字列領域の一部の文字列領域を修正する場合、例えば、画像に七行分の文字列領域が特定され、その中の二行目から四行目までの文字列領域を修正する場合について説明する。ユーザは、まず、シフトキーを押下しながら、二行目から四行目までの行の文字列領域の内側の位置に、ポインタpt1を順に移動させ、移動させる度にマウスボタンをクリックする。ユーザは、次に、シフトキーの押下を止め、二行目の文字列領域の所定の位置(例えば、右側上端の角)にポインタpt1を移動させてマウスボタンをクリックする。そして、ユーザは、そのまま文字列領域の当該角を移動させたい位置までポインタpt1を移動させてドラッグする。このような入力操作がなされることにより、文字列領域抽出部15は、七行の文字列のうち、二行目の文字列領域に対して修正された内容に基づいて、三、四行目のそれぞれの文字列領域を修正する。
文字列領域抽出部15が、複数ある文字列領域の一部の文字列領域を修正することにより、例えば、画像の中に振り仮名が振られていない文字列の文字列領域と、振り仮名が振られている文字列の文字列領域とが、混在している場合、振り仮名が振られている文字列の文字列領域のみを修正することができる。
このように、文字列領域・文字矩形抽出装置1では、文字列領域抽出部15は、操作入力部12から入力される操作入力信号(補助情報)に基づき、文字列領域抽出画面ds2が表示する画像から抽出された文字列領域sa1〜sa5を修正する。例えば、文字列領域抽出部15により抽出された文字列領域に、振り仮名が振られている領域が含まれた状態であっても、一つの文字列領域(例えば、文字列領域sa1)をユーザが修正すれば、文字列領域抽出部15は、その修正内容に応じて、他の文字列領域(例えば、文字列領域sa2〜sa7)を修正する。従って、ユーザは文字列領域ごとに修正を行う必要がない。このため、文字列領域・文字矩形抽出装置1では、上述した効果を奏する他、文字列領域を修正する場合、ユーザが複数の文字列領域それぞれを修正する操作を行う手間を省くことができる。
(第2画像における特定情報の生成)
以下、文字列領域抽出部15が、第1画像とは異なる第2画像に対する特定情報を生成する方法について、図面を参照しながら説明する。
図23は、実施形態に係る文字列領域・文字矩形抽出装置1の表示部13によって表示される文字列領域抽出画面の一例を示す図である。
図23に示すように、文字列領域抽出部15は、文字列領域抽出画面ds2に表示される画像について特定した始点および終点のxy座標値を、文字列領域抽出画面ds2とは異なる別の文字列領域抽出画面ds3に表示される画像に含まれる文字列からなる行の始点および終点のxy座標値として特定情報を生成してもよい。
文字列領域抽出部15は、例えば、文字列領域抽出画面ds2に表示される画像に含まれる文字列からなる行の始点および終点のxy座標値それぞれを示す特定情報を記憶部14に記憶させる。文字列領域抽出部15は、文字列領域抽出画面ds3に表示される画像に含まれる文字列からなる行の始点および終点の位置を特定する場合、記憶部14に記憶させた文字列領域抽出画面ds2に表示される画像に含まれる文字列からなる行の始点および終点のxy座標値をそれぞれ参照する。そして、参照したそれぞれのxy座標値を、文字列領域抽出画面ds3に表示される画像に含まれる文字列からなる行の始点および終点のxy座標値とする。
あるいは、文字列領域抽出部15は、特定情報の代わりに補助情報を用いてもよい。例えば、文字列領域抽出部15は、文字列領域抽出画面ds2に表示される画面に対しユーザが指定した始点および終点のxy座標値を記憶部14に記憶させる。文字列領域抽出部15は、文字列領域抽出画面ds3に表示される画像に含まれる文字列からなる行の始点および終点の位置を特定する場合、記憶部14に記憶させた、補助情報に基づいて指定された始点および終点のxy座標値をそれぞれ参照する。そして、参照したxy座標値を、文字列領域抽出画面ds3に表示される画像に含まれる文字列に対する始点および終点のxy座標値とする。
そして、文字列領域抽出部15は、文字列領域抽出画面ds2に表示される画像において、ユーザにより指定された一行目の行の始点および終点のxy座標値に基づき、二行目以降の行における始点および終点の位置を特定する場合と同様な方法で、文字列領域抽出画面ds3に表示される画像において、一行目の行の始点および終点のxy座標値に基づき、二行目以降の行における始点および終点の位置を特定する。
図23の例では、表示部13は、文字列領域抽出部15が特定した特定情報に基づいて、文字列領域抽出画面ds3に、始点Est11〜Est18に白い方形のアイコン、終点Eed11〜Eed18に黒い方形のアイコンをそれぞれ表示する。
あるいは、文字列領域抽出部15は、特定情報の代わりに補助情報を用いてもよい。例えば、文字列領域抽出部15は、文字列領域抽出画面ds2に表示される画像においてユーザが指定した補助情報を記憶部14に記憶させる。文字列領域抽出部15は、文字列領域抽出画面ds3に表示される画像に含まれる文字列からなる行の始点および終点の位置を特定する場合、記憶部14に記憶させた文字列領域抽出画面ds2に表示される画像の補助情報を参照する。そして、文字列領域抽出部15は、文字列領域抽出画面ds2に表示される画像の補助情報に基づいて、文字列領域抽出画面ds3に表示される画像に含まれる文字列からなる特定の行(例えば、一行目)の始点および終点の位置を特定する。そして、文字列領域抽出部15は、特定した始点及び終点の位置関係に基づいて、文字列領域抽出画面ds3に表示される画像における他の行の始点および終点の位置を特定するようにしてもよい。あるいは、文字列領域抽出部15は、文字列領域抽出画面ds2に表示される画像における補助情報および特定情報に基づいて、文字列領域抽出画面ds3に表示される画像における始点および終点の位置を特定するようにしてもよい。
このように、本実施形態の変形例2の文字列領域・文字矩形抽出装置1では、文字列領域抽出部15は、第1画像(文字列領域抽出画面ds2に表示される画像)に対して行われた操作入力に基づく補助情報、および文字列領域抽出画面ds2に対して生成した特定情報のうち少なくともいずれか一方に基づいて、第2画像(文字列領域抽出画面ds3に表示される画像)に含まれる文字列からなる行に関する特定情報を生成する。これにより、本実施形態の変形例2の文字列領域・文字矩形抽出装置1では、上述した効果を奏する他、文字列領域抽出部15が第1画像に対して取得した補助情報、または特定情報に基づいて、第2画像に含まれる文字列からなる行の始点および終点の位置を特定することができ、ユーザが画像ごとに始点および終点を指定する操作を省くことができる。
なお、文字列領域抽出部15は、第1画像の始点および終点のxy座標値を、第2画像の始点および終点のxy座標値としていることから、第2画像の始点および終点の位置が、必ずしも実際の行の始点および終点の位置と一致するとは限らない。第1画像や第2画像が書籍のページを撮像した画像である場合などにおいては、第1画像と、第2画像とで文字列の記載が開始される位置が、ずれる場合が多いと考えられる。このような場合、ユーザは、文字列領域抽出部15に、上述した、特定情報の修正を行わせることができる。ユーザは、例えば一行目の行の始点および終点の位置を、ポインタpt1を操作することによって修正することで、二行目以降の行の始点および終点の位置を修正することができる。
(第2画像における文字列領域の抽出)
以下、文字列領域抽出部15が、第1画像から抽出した文字列領域に関する情報に基づき、第2画像に含まれる文字列における文字列領域を抽出する方法について、図面を参照しながら説明する。
図24は、実施形態に係る文字列領域・文字矩形抽出装置1の表示部13によって表示される文字列領域抽出画面の一例を示す図である。
図24に示すように、文字列領域抽出部15は、文字列領域抽出画面ds2に表示される画像について特定した文字列領域を、文字列領域抽出画面ds2とは異なる別の文字列領域抽出画面ds3に表示される画像に含まれる文字列の文字列領域としてもよい。
文字列領域抽出部15は、例えば、文字列領域抽出画面ds2に表示される画像において抽出した文字列領域それぞれに関する情報を記憶部14に記憶させる。文字列領域に関する情報には、例えば文字列領域を特定することができる情報、例えば当該領域における四隅のxy座標値が含まれる。
文字列領域抽出部15は、文字列領域抽出画面ds3に表示される画像に含まれる文字列の文字列領域を抽出する場合、記憶部14に記憶させた文字列領域抽出画面ds2において抽出した文字列領域(例えば、図20の文字列領域sa1〜sa7)それぞれの四隅のxy座標値を参照する。そして、文字列領域抽出部15は、それぞれのxy座標値により囲まれる領域を、文字列領域抽出画面ds3に表示される画像に含まれる文字列に対する文字列領域Esa1〜Esa7として抽出する。
このように、本実施形態の変形例2の文字列領域・文字矩形抽出装置1では、文字列領域抽出部15は、第1画像(文字列領域抽出画面ds2に表示された画像)に対して抽出された文字列領域に関する情報に基づいて、第2画像(文字列領域抽出画面ds3に表示された画像)に含まれる文字列の文字列領域を抽出する。これにより、文字列領域・文字矩形抽出装置1では、上述した効果を奏する他、文字列領域抽出部15が第1画像に対して抽出した文字列領域に基づいて、第2画像に含まれる文字列の文字列領域を抽出することができ、ユーザが画像ごとに文字列領域を抽出するために行う操作の手間を省くことができる。
なお、文字列領域抽出部15は、第1画像の文字列領域の位置を、第2画像の文字列領域の位置としていることから、第2画像の文字列領域の位置が、必ずしも実際の文字列領域の位置と一致するとは限らない。第1画像や第2画像が書籍のページを撮像した画像である場合などにおいては、第1画像と、第2画像とで文字列領域の位置がずれる場合が多いと考えられる。このような場合、ユーザは、文字列領域抽出部15に、上述した、文字列領域の修正を行わせることができる。ユーザは、例えば一行目の文字列領域の位置を、ポインタpt1を操作することによって修正し、二行目以降の文字列領域の位置を修正することができる。
以上、この発明の実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
なお、上述した実施形態における文字列領域・文字矩形抽出装置1、上述した実施形態の変形例1、および上述した実施形態の変形例2における文字列領域・文字矩形抽出装置2の一部または全部をコンピュータで実現するようにしてもよい。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。
なお、ここでいう「コンピュータシステム」とは、文字列領域・文字矩形抽出装置1および文字列領域・文字矩形抽出装置2に内蔵されたコンピュータシステムであって、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信回線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
また、上述した実施形態における文字列領域・文字矩形抽出装置1、および上述した実施形態の変形例1における文字列領域・文字矩形抽出装置2を、LSI(Large Scale Integration)等の集積回路として実現してもよい。文字列領域・文字矩形抽出装置1および文字列領域・文字矩形抽出装置2の各機能ブロックは個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。