説明

画像処理装置及び画像処理プログラム

【課題】画像を文字認識し、その文字認識結果を翻訳し、さらにその翻訳結果の画像を生成する場合にあって、元の画像に対して利用者による書き込みがあるとき、その書き込みの画像部分を翻訳結果の画像に反映させるようにした画像処理装置を提供する。
【解決手段】画像処理装置の画像受付手段は、書き込みを含む画像を受け付け、書込検出手段は、画像内の書き込みの位置を検出し、書込削除手段は、検出された書き込みの位置に基づいて、該書き込みを削除し、文字認識手段は、書き込みが削除された画像内の文字を認識し、翻訳対象文字列作成手段は、検出された書き込みの位置に基づいて、認識結果に前記書き込みを示す符号を挿入して、翻訳対象とする文字列を作成し、翻訳手段は、前記作成された翻訳対象の文字列を翻訳し、翻訳画像生成手段は、翻訳結果に基づいて、前記書き込みに対応する画像を含めて該翻訳結果の画像を生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置及び画像処理プログラムに関する。
【背景技術】
【0002】
文書画像内の文字画像に対して文字認識をし、その後に他の言語に翻訳する技術がある。
また、文書に記載されている書き込みに基づいて、その文書を加工する技術がある。
【0003】
これに関連する技術として、例えば、特許文献1には、簡単な原稿画像入力操作で、1つの言語に基づく文字画像を他の言語に翻訳してレイアウト印字すること、あるいは同一記録媒体の各面に振り分けて両面印刷することができる画像処理装置を提供することを目的とし、第1の言語に基づく第1の文字及び画像を含む原稿を画像入力する原稿入力手段と、この原稿入力手段から画像入力された原稿画像データを解析して文書データ領域と画像データ領域とに領域分離する分離手段と、この分離手段により分離された前記文書データ領域から文字画像を切り出して第1の文字を認識する認識手段と、この認識手段により認識された第1の文字に対応する文字データを第2の言語に基づく第2の文字データに翻訳する翻訳手段と、前記分離手段により領域分離された文書データ領域情報及び前記第2の文字データに基づいてレイアウトされた印刷データを生成するデータ生成手段と、このデータ生成手段により生成された前記印刷データに基づいて第2の文字データと前記原稿画像データをそれぞれ記録媒体の各片面に振り分けて両面印刷する印刷手段とを有する画像処理装置が開示されている。
【0004】
また、例えば、特許文献2には、原稿の領域加工(例えば、領域の抽出、消去、白黒反転等)エリアをマークによって指定し、複数の領域加工を施したい原稿間の画像合成を行うことができるように、原稿画像を読み取り、画像情報を発生する読取手段と、原稿の所望領域をマークによって指定する指定手段と、前記指定手段による領域指定にしたがって前記所望領域を示す領域信号を発生する発生手段と、前記発生手段から発生される前記領域信号したがって、前記読取手段により発生された画像情報を加工する加工手段と、複数の画像情報を記憶可能な複数の記憶手段と、前記複数の記憶手段の書き込み、読み出しを制御する制御手段と、前記複数の記憶手段から読み出された画像情報を合成する手段を有し、複数の原稿画像を読み取り、前記複数の原稿に各々所望領域を前記指定手段により指定し、前記領域発生手段によって得られた領域信号によって発生された画像情報を加工手段によって加工し、加工された画像情報を、前記複数の記憶手段に記憶させ、複数の加工された画像情報を記憶している記憶手段より読み出し、前記合成手段により合成出力させる画像編集装置が開示されている。
【0005】
また、例えば、特許文献3には、原稿画像中に存在する単語に対応する訳語の位置を明確にし、また、訳語付加により出力画像の内容が大幅に変更したとしても、複写画像の内容を読みやすくレイアウトして出力することを目的とし、原稿画像情報と該情報の対訳情報を上下位置に合成するとき、原稿画像情報の情報幅より対訳情報の情報幅が小さくなるように制御することが開示されている。
【特許文献1】特許第3636490号公報
【特許文献2】特開平02−253377号公報
【特許文献3】特開平05−324720号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
本発明は、画像を文字認識し、その文字認識結果を翻訳し、さらにその翻訳結果の画像を生成する場合にあって、元の画像に対して利用者による書き込みがあるとき、その書き込みの画像部分を翻訳結果の画像に反映させるようにした画像処理装置及び画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【0007】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、書き込みを含む画像を受け付ける画像受付手段と、前記画像受付手段によって受け付けられた画像内の書き込みの位置を検出する書込検出手段と、前記書込検出手段によって検出された書き込みの位置に基づいて、該書き込みを削除する書込削除手段と、前記書込削除手段によって書き込みが削除された画像内の文字を認識する文字認識手段と、前記書込検出手段によって検出された書き込みの位置に基づいて、前記文字認識手段による認識結果に前記書き込みを示す符号を挿入して、翻訳対象とする文字列を作成する翻訳対象文字列作成手段と、前記翻訳対象文字列作成手段によって作成された翻訳対象の文字列を翻訳する翻訳手段と、前記翻訳手段による翻訳結果に基づいて、前記書き込みに対応する画像を含めて該翻訳結果の画像を生成する翻訳画像生成手段を具備することを特徴とする画像処理装置である。
【0008】
請求項2の発明は、前記書込検出手段によって検出された書き込みと該書き込み以外である他の画像構成要素との位置関係を検出する位置関係検出手段と、前記位置関係検出手段によって検出された位置関係に基づいて、前記書き込みと前記他の画像構成要素との連結関係を検出する連結関係検出手段をさらに具備し、前記翻訳対象文字列作成手段は、前記連結関係検出手段によって検出された連結関係に基づいて、前記文字認識手段による認識結果に前記書き込みを示す符号を挿入して、翻訳対象とする文字列を作成することを特徴とする請求項1に記載の画像処理装置である。
【0009】
請求項3の発明は、前記翻訳手段による翻訳結果内の前記書き込みを示す符号に対応する翻訳結果から、書き込みの画像を生成するための符号に変換する翻訳文変換手段をさらに具備し、前記翻訳画像生成手段は、前記翻訳文変換手段によって変換された翻訳結果の画像を生成することを特徴とする請求項1又は2に記載の画像処理装置である。
【0010】
請求項4の発明は、前記翻訳手段は、前記書き込みを示す符号を名詞として扱って翻訳処理を行うことを特徴とする請求項1から3のいずれか一項に記載の画像処理装置である。
【0011】
請求項5の発明は、前記書き込みは、画像内の文字を隠蔽する画像であり、前記書込検出手段は、さらに前記書き込みの長さを検出し、前記翻訳画像生成手段は、前記書込検出手段によって検出された書き込みの長さに応じて、前記書き込みに対応する画像として隠蔽する画像を生成することを特徴とする請求項1から4のいずれか一項に記載の画像処理装置である。
【0012】
請求項6の発明は、コンピュータを、書き込みを含む画像を受け付ける画像受付手段と、前記画像受付手段によって受け付けられた画像内の書き込みの位置を検出する書込検出手段と、前記書込検出手段によって検出された書き込みの位置に基づいて、該書き込みを削除する書込削除手段と、前記書込削除手段によって書き込みが削除された画像内の文字を認識する文字認識手段と、前記書込検出手段によって検出された書き込みの位置に基づいて、前記文字認識手段による認識結果に前記書き込みを示す符号を挿入して、翻訳対象とする文字列を作成する翻訳対象文字列作成手段と、前記翻訳対象文字列作成手段によって作成された翻訳対象の文字列を翻訳する翻訳手段と、前記翻訳手段による翻訳結果に基づいて、前記書き込みに対応する画像を含めて該翻訳結果の画像を生成する翻訳画像生成手段として機能させることを特徴とする画像処理プログラムである。
【発明の効果】
【0013】
請求項1の画像処理装置によれば、画像を文字認識し、その文字認識結果を翻訳し、さらにその翻訳結果の画像を生成する場合にあって、元の画像に対して書き込みがあるとき、その書き込みの画像部分を翻訳結果の画像に反映させることができる。
【0014】
請求項2の画像処理装置によれば、本構成を有していない場合に比較して、書き込みが行われた画像部分を含む部分の翻訳の質劣化を抑制することができる。
【0015】
請求項3の画像処理装置によれば、翻訳結果に基づいて、書き込みの画像部分を翻訳結果の画像に反映させることができる。
【0016】
請求項4の画像処理装置によれば、書き込みを示す特殊な符号に対応していない翻訳技術を用いることができる。
【0017】
請求項5の画像処理装置によれば、元の画像内の隠蔽画像に合わせて、翻訳画像における隠蔽する画像を生成することができる。
【0018】
請求項6の画像処理プログラムによれば、画像を文字認識し、その文字認識結果を翻訳し、さらにその翻訳結果の画像を生成する場合にあって、元の画像に対して書き込みがあるとき、その書き込みの画像部分を翻訳結果の画像に反映させることができる。
【発明を実施するための最良の形態】
【0019】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、コンピュータ・プログラム、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能にほぼ一対一に対応しているが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。「予め定められた」とは、対象としている処理の前であることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。
【0020】
本実施の形態は、図1に示すように、画像受付モジュール110、書込処理モジュール120、文字処理モジュール130、連結関係検出モジュール140、翻訳対象文字列作成モジュール150、翻訳モジュール160、翻訳文変更モジュール170、画像生成モジュール180、出力モジュール190を有している。本実施の形態は、例えば、文書を翻訳して公開する場合に、個人情報等を隠蔽するために黒塗りが施されている元の文書を対象として、それを文字認識し、翻訳して、翻訳文書を生成するものである。
【0021】
画像受付モジュール110は、書込処理モジュール120と接続されており、画像を受け付けて、その画像を書込処理モジュール120へ渡す。画像を受け付けるとは、スキャナで画像を読み込むこと、ファックスで画像を受信すること、画像データベース等から画像を読み出すこと等が含まれる。画像には、利用者による書き込みが含まれている。その画像は、1枚であってもよいし、複数枚であってもよい。また、画像の内容として、ビジネス用に用いられる文書、広告宣伝用のパンフレット等であってもよい。この画像は、翻訳対象となる画像である。また、その画像に含まれている書き込みとは、例えば、具体的には、文書を公開するに際して、その文書に記載されている情報を隠蔽する箇所を指し示すために加筆された画像、例えば、より具体的には、文字を隠蔽する目的の黒マーカー(黒色の領域)等がある。以後、黒マーカーを主に例示して説明する。それは、手書きであると否とにかかわらない。
【0022】
書込処理モジュール120は、画像受付モジュール110、文字処理モジュール130と接続されており、書込検出モジュール121、書込削除モジュール122を有している。書込処理モジュール120は、画像受付モジュール110から画像を受け取り、書込検出モジュール121、書込削除モジュール122を用いて、その画像内にある黒マーカーを検出し、その黒マーカーを削除して、黒マーカーのない画像を生成する。そして、その画像を文字処理モジュール130に渡す。
【0023】
書込検出モジュール121は、書込削除モジュール122と接続されている。書込検出モジュール121は、画像受付モジュール110によって受け付けられた画像内の黒マーカーの位置を検出する。ここでの黒マーカーの検出処理は、黒マーカーの特徴(例えば、予め定められた閾値以上の黒画素数からなる領域であること、矩形内で黒画素の占有割合が予め定められた閾値以上であること等)を抽出し、その特徴を有している領域を検出する。検出結果としては、その黒マーカーの位置(長さを含めてもよい)となる。検出結果を、例えば指定箇所テーブル400に記憶する。
【0024】
図4は、指定箇所テーブル400のデータ構造例を示す説明図である。指定箇所テーブル400は、ID欄410、位置情報欄420を有している。ID欄410は、その黒マーカーを一意に識別する識別子である黒マーカーIDを記憶する。位置情報欄420は、その黒マーカーがある位置を記憶する。位置情報欄420は、X座標欄421、Y座標欄422、幅欄423、高さ欄424を有している。X座標欄421、Y座標欄422はその書き込みがある領域(例えば、矩形)の左上の座標を記憶し、幅欄423はその領域の幅(黒マーカーの長さに該当する)を記憶し、高さ欄424はその領域の高さを記憶する。以後、座標は、その画像内における絶対座標(画像内の左上を原点として、右方向にX軸、下方向にY軸を対応)の他、相対座標であってもよい。
【0025】
書込削除モジュール122は、書込検出モジュール121と接続されている。書込削除モジュール122は、書込検出モジュール121によって検出された黒マーカーの位置に基づいて、その黒マーカーを画像受付モジュール110が受け付けた画像内から削除する。例えば、指定箇所テーブル400を受け取り、その領域内の黒画素を白画素に置換することによって黒マーカーを削除する。これによって、画像は黒マーカーがなくなった画像となる。黒マーカーを削除した画像を文字処理モジュール130に渡す。
【0026】
文字処理モジュール130は、書込処理モジュール120、連結関係検出モジュール140と接続されており、レイアウト検出モジュール131、文字認識モジュール132を有している。文字処理モジュール130は、書込処理モジュール120から黒マーカーが削除された画像を受け取り、レイアウト検出モジュール131、文字認識モジュール132を用いて、その画像内のレイアウト(文字画像、行、文章領域等の位置等)を検出し、画像内の文字画像を文字認識する。そして、その検出結果と認識結果を連結関係検出モジュール140に渡す。
【0027】
レイアウト検出モジュール131は、文字認識モジュール132と接続されている。レイアウト検出モジュール131は、書込削除モジュール122によって黒マーカーが削除された画像内の文字画像の位置を検出する。文字画像の位置検出は、一般的に知られている文字認識技術における文字画像の抽出処理を用いればよい。例えば、画像内の横方向又は縦方向における黒画素のヒストグラム(黒画素の頻度分布)を生成して、その頻度が予め定められた閾値以上である領域を抽出することによって、行を抽出して、その行内における縦方向又は横方向における黒画素のヒストグラムを生成して、文字画像を検出する。また、空白領域と予め定められた文字画像の大きさを用いて文字画像を検出するようにしてもよい。そして、文字画像が予め定められた方向(例えば、横方向、縦方向)に予め定められた間隔以内で並んでいる領域を文字行領域として検出するようにしてもよい。さらに、その文字行領域が予め定められた間隔以内で並んでいる領域を文章領域として検出するようにしてもよい。つまり、文章領域内には複数の文字行領域があり、文字行領域内には複数の文字画像がある。そして、その検出結果である文字画像の位置を文字認識モジュール132に渡す。また、検出結果を、例えばレイアウト情報テーブル500に記憶する。
【0028】
図5は、レイアウト情報テーブル500のデータ構造例を示す説明図である。レイアウト情報テーブル500は、文章領域ID欄510、文章領域情報欄520、文字行領域ID欄530、文字行領域情報欄540、文字ID欄550、文字コード欄560、文字位置情報欄570を有している。文章領域ID欄510は、文章領域を一意に識別する識別子である文章領域IDを記憶する。文章領域情報欄520は、X座標欄521、Y座標欄522、幅欄523、高さ欄524を有している。X座標欄521、Y座標欄522はその文章領域(例えば、矩形)の左上の座標を記憶し、幅欄523はその文章領域の幅を記憶し、高さ欄524はその文章領域の高さを記憶する。文字行領域ID欄530は、文字行領域を一意に識別する識別子である文字行領域IDを記憶する。文字行領域情報欄540は、X座標欄541、Y座標欄542、幅欄543、高さ欄544を有している。X座標欄541、Y座標欄542はその文字行領域(例えば、矩形)の左上の座標を記憶し、幅欄543はその文字行領域の幅を記憶し、高さ欄544はその文字行領域の高さを記憶する。文字ID欄550は、文字画像を一意に識別する識別子である文字画像IDを記憶する。文字コード欄560は、その文字画像に対する文字認識モジュール132による認識結果を記憶する。文字位置情報欄570は、X座標欄571、Y座標欄572、幅欄573、高さ欄574を有している。X座標欄571、Y座標欄572はその文字画像(例えば、矩形)の左上の座標を記憶し、幅欄573はその文字画像の幅を記憶し、高さ欄574はその文字画像の高さを記憶する。また、レイアウト情報テーブル500によって、文章領域、文字行領域、文字画像間の包含関係を表している。また、文字認識モジュール132による文字認識結果に応じて、その文字画像の抽出をやり直して、文字位置情報欄570内の内容を修正するようにしてもよい。
【0029】
文字認識モジュール132は、レイアウト検出モジュール131と接続されている。文字認識モジュール132は、レイアウト検出モジュール131によって検出された文字画像に対して、文字認識を行う。文字認識処理は、一般的に知られている文字認識技術を用いればよい。例えば、その文字画像の特徴(線の数等)を抽出して、特徴空間における位置を辞書内の文字と比較して、文字認識(文字コードの対応付け)を行うようにしてもよい。文字認識結果は、レイアウト情報テーブル500内の文字コード欄560に記憶させる。そして、文字画像の位置とその文字認識結果を対応させて連結関係検出モジュール140に渡す。
なお、文字認識モジュール132による文字認識処理を行ってから、レイアウト検出モジュール131によるレイアウト検出の処理を行うようにしてもよい。つまり、文字認識モジュール132が、文字認識処理とともにその文字画像の位置を検出するようにしてもよい。
【0030】
連結関係検出モジュール140は、文字処理モジュール130、翻訳対象文字列作成モジュール150と接続されている。連結関係検出モジュール140は、書込検出モジュール121によって検出された黒マーカーとレイアウト検出モジュール131によって検出された黒マーカー以外である他の画像構成要素(文字画像、文字行領域、文章領域等)との位置関係を検出する。そして、その検出された位置関係に基づいて、黒マーカーと他の画像構成要素との連結関係を検出する。つまり、この連結関係は、文の連結関係となる。そして、検出した連結関係を翻訳対象文字列作成モジュール150に渡す。
文字認識モジュール132は、黒マーカーが削除された画像を認識しているので、そのままの認識結果を翻訳してしまうと、自然言語処理を行う翻訳の質を低下させてしまうことになる。そこで、翻訳対象文字列作成モジュール150は認識結果内に黒マーカーを示す符号(黒マーカーが隠蔽している文字の代替)を挿入するが、連結関係検出モジュール140はその挿入すべき位置を決定するための処理を行うものである。
【0031】
翻訳対象文字列作成モジュール150は、連結関係検出モジュール140、翻訳モジュール160と接続されている。翻訳対象文字列作成モジュール150は、書込検出モジュール121によって検出された黒マーカーの位置に基づいて、文字認識モジュール132による認識結果に黒マーカーを示す符号を挿入して、翻訳対象とする文字列を作成する。例えば、具体的には、連結関係検出モジュール140によって検出された連結関係に基づいて、文字認識モジュール132による認識結果に黒マーカーを示す符号を挿入して、翻訳対象とする文字列を作成する。そして、作成した文字列を翻訳モジュール160に渡す。なお、黒マーカーを示す符号としては、例えば、具体的には、XML(Extensible Markup Language)等の言語におけるマーカーや、予め定められた名詞がある。つまり、翻訳モジュール160がXMLを扱える場合には、黒マーカーを示すマーカーを挿入する。翻訳モジュール160がXMLを扱えない場合には、予め定められた名詞を挿入する。名詞(特に固有名詞、数詞等)は、隠蔽される可能性の高いものであり、翻訳処理において、そのままの形で翻訳結果となる場合が多いからである。また、翻訳対象文字列作成モジュール150は、名詞を挿入する場合は、その挿入する名詞が、認識結果内にないことを確認するようにしてもよい。そして、認識結果内にあった場合は、他の名詞を選択するようにしてもよい。
【0032】
翻訳モジュール160は、翻訳対象文字列作成モジュール150、翻訳文変更モジュール170と接続されている。翻訳モジュール160は、翻訳対象文字列作成モジュール150によって作成された翻訳対象の文字列を翻訳する。また、黒マーカーを示す符号を名詞として扱って翻訳処理を行うようにしてもよい。例えば、具体的には、翻訳モジュール160がXMLを扱える場合には、黒マーカーを示すマーカーを名詞として扱ってもよい。翻訳モジュール160がXMLを扱えない場合には、予め定められた名詞が含まれた翻訳対象の文字列を翻訳することとなる。そして、翻訳した文字列を翻訳文変更モジュール170に渡す。
【0033】
翻訳文変更モジュール170は、翻訳モジュール160、画像生成モジュール180と接続されている。翻訳文変更モジュール170は、翻訳モジュール160による翻訳結果内の黒マーカーを示す符号に対応する翻訳結果から、黒マーカーの画像を生成するための符号に変換する。黒マーカーの画像を生成するための符号とは、画像生成モジュール180が、翻訳結果の画像において、元の画像で黒マーカーが付された部分に対応する画像を生成するためのものであり、例えば、具体的には、黒四角形を表す文字コード等である。そして、変換した翻訳結果を画像生成モジュール180に渡す。
【0034】
画像生成モジュール180は、翻訳文変更モジュール170、出力モジュール190と接続されている。画像生成モジュール180は、翻訳文変更モジュール170による翻訳結果に基づいて、黒マーカーに対応する画像を含めてその翻訳結果の画像を生成する。また、翻訳文変更モジュール170によって変換された翻訳結果の画像を生成するようにしてもよい。また、書込検出モジュール121によって検出された黒マーカーの長さに応じて、その黒マーカーに対応する画像として隠蔽する画像を生成するようにしてもよい。そして、生成した画像を出力モジュール190に渡す。なお、画像生成モジュール180が生成する画像は、ページ記述言語等によって記述されたファイルであってもよい。
【0035】
出力モジュール190は、画像生成モジュール180と接続されている。出力モジュール190は、画像生成モジュール180から画像を受け取り、その画像を出力する。画像を出力するとは、プリンタ等の印刷装置で印刷すること、ディスプレイ等の表示装置に表示すること、ファックス等の画像送信装置で画像を送信すること、画像データベース等の画像記憶装置へ画像を書き込むこと等が含まれる。
【0036】
図2は、本実施の形態による処理例を示すフローチャートである。図6から図14に示した具体例を用いて説明する。
ステップS202では、書込検出モジュール121は、画像受付モジュール110が受け付けた画像内から黒マーカーを抽出し、その黒マーカーの画像内における位置を検出する。例えば、図6は、画像受付モジュール110が受け付ける画像の例を示す説明図である。対象画像600は、黒マーカー610、620を有している。つまり、2つの領域が隠蔽されており、書込検出モジュール121は、この黒マーカー610、620を抽出する。
【0037】
ステップS204では、書込削除モジュール122は、ステップS202で検出した黒マーカーの位置を用いて、その黒マーカーを画像から削除する。図7は、書込削除モジュール122が黒マーカー610を削除した後の画像の例を示す説明図である。つまり、ステップS202で抽出した黒マーカー610、黒マーカー620を削除する。その後は、黒マーカー削除領域710、720となる。
【0038】
ステップS206では、レイアウト検出モジュール131は、ステップS204で黒マーカーが削除された画像内のレイアウトを解析し、文字認識モジュール132は、その画像に対して文字認識処理を実行する。
図8は、レイアウト検出モジュール131による対象画像600に対する処理例を示す説明図である。レイアウト解析の結果、対象画像600は、文章領域(文字行領域)810、文章領域820、文章領域830を有しており、文章領域820は、文字行領域821、文字行領域822、文字行領域823、文字行領域824を有しており、文字行領域821は、黒マーカー削除領域710と隣接しており、文章領域830は、文字行領域831、文字行領域832、文字行領域833、文字行領域834を有しており、文字行領域831は、黒マーカー削除領域720と隣接していることが判明する。そして、各文字行領域内の文字画像に対して、文字認識モジュール132が文字認識処理を行う。
【0039】
ステップS208では、連結関係検出モジュール140は、ステップS206で認識した文字を含む行(文字行領域)の位置情報(レイアウト情報テーブル500の文字行領域情報欄540)と黒マーカーの位置情報(指定箇所テーブル400の位置情報欄420)とを比較して、文の連結関係を検出する。この検出処理については、図3の例に示すフローチャートを用いて後述する。
ステップS210では、翻訳対象文字列作成モジュール150は、翻訳モジュール160が翻訳対象としてXMLで記述されたものに対応可能であるか否かを判断する。かかる判断において、対応可能であると判断した場合はステップS212へ進み、それ以外の場合はステップS218へ進む。
【0040】
ステップS212では、翻訳対象文字列作成モジュール150は、ステップS208で検出された連結関係に基づいて、黒マーカーに対応したタグを、ステップS206での認識結果に挿入して、翻訳対象用のXMLを作成する。図9は、翻訳対象XML900の例を示す説明図である。翻訳対象XML900は、マーカータグ910、マーカータグ920を有している。つまり、文字認識結果内には、レイアウト情報をタグ(<region1>等)として含み、さらに黒マーカーに対応したタグであるマーカータグ910、920(<marker/>)を、ステップS208で検出した連結関係に基づいて挿入する。
【0041】
ステップS214では、翻訳モジュール160は、ステップS212で作成された翻訳対象用のXMLに対して(機械)翻訳処理を実行する。ここでの翻訳処理は、黒マーカーに対応したタグを名詞として扱うようにして、そのタグのまま翻訳結果として出力する。図10は、翻訳結果である翻訳後XML1000の例を示す説明図である。翻訳後XML1000は、マーカータグ910、マーカータグ920を有している。つまり、翻訳結果内には、レイアウト情報をタグ(<region1>等)として含み、さらに黒マーカーに対応したタグであるマーカータグ910、920(<marker/>)を名詞として扱って翻訳を行い、その結果、図10の例に示す位置に、マーカータグ910、920がある。
ステップS216では、翻訳文変更モジュール170は、ステップS214での翻訳結果内にあるタグを黒四角形を表す文字コードに置換する。
【0042】
ステップS218では、翻訳対象文字列作成モジュール150は、ステップS208で検出された連結関係に基づいて、黒マーカーに対応した文字列を、ステップS206での認識結果に挿入して、翻訳対象用文章を作成する。なお、黒マーカーに対応した文字列は、固有名詞等であってもよい。特に、翻訳先の言語が英語である場合は数詞でもよい。図11は、翻訳対象文章1100の例を示す説明図である。翻訳対象文章1100は、マーカー文字列1110、マーカー文字列1120を有している。つまり、文字認識結果内には、黒マーカーに対応した文字列であるマーカー文字列1110(「Marker」)、マーカー文字列1120(「20080314」)を、ステップS208で検出した連結関係に基づいて挿入する。
【0043】
ステップS220では、翻訳モジュール160は、ステップS218で作成された翻訳対象用文章に対して(機械)翻訳処理を実行する。ステップS218で挿入された文字列は名詞であるので、そのまま(つまりそれ自体は翻訳されずに)翻訳結果として出力される。図12は、翻訳結果である翻訳後文章1200の例を示す説明図である。翻訳後文章1200は、翻訳後マーカー文字列1210、翻訳後マーカー文字列1220を有している。つまり、翻訳結果内には、黒マーカーに対応した文字列であるマーカー文字列1110、1120を翻訳し、その結果、図12の例に示す位置に、翻訳後マーカー文字列1210、1220がある。
ステップS222では、翻訳文変更モジュール170は、ステップS220での翻訳結果内にあって、ステップS218で挿入された文字列を黒四角形を表す文字コードに置換する。
【0044】
ステップS224では、画像生成モジュール180は、出力の形態として、置換翻訳(元の画像の文字画像を残すことをせずに、翻訳結果を上書きするようにした出力、図13参照)か、ルビ風翻訳(元の画像の文字画像はそのまま残し、翻訳結果をルビのように対応させるようにして出力、図14参照)かを判断する。これは、本実施の形態の利用者による操作又は予め定められた出力の形態に応じて、判断されるものである。
【0045】
ステップS226では、画像生成モジュール180は、ステップS204で黒マーカーが削除された画像から、ステップS206で解析されたレイアウト内の文字画像を除去する。つまり、翻訳対象とした文字画像を元の画像から削除する。これによって、画像内には文字画像以外の画像(例えば、図形、写真画像等)が残る。
ステップS228では、画像生成モジュール180は、画像受付モジュール110が受け付けた画像を出力対象の画像として選択する。この選択した画像がステップS230での処理対象となる。
【0046】
ステップS230では、画像生成モジュール180は、ステップS206で解析されたレイアウト内の文章領域情報(レイアウト情報テーブル500の文章領域情報欄520)を用いて、翻訳結果(ステップS216、ステップS222の処理結果)の文字画像を配置する。その際、置換翻訳の出力の形態である場合は、文章領域内にその翻訳結果の言語に合わせた配置を行う。ルビ風翻訳の出力の形態である場合は、文章領域内には元の文字画像があるので、その行間に翻訳結果の文字画像を配置する。そして、出力モジュール190は、翻訳結果の文字画像が配置された画像を出力する。なお、黒マーカーに対応する画像、つまり黒四角形を表す文字コードの文字画像を生成する場合に、その隠蔽する文字画像全体の長さを、ステップS202で抽出した黒マーカーの長さに比例させて決定するようにしてもよい。
【0047】
図13は、置換翻訳が行われた翻訳画像1300の例を示す説明図である。翻訳画像1300は、ステップS226の処理が行われた場合の翻訳画像である。つまり、ステップS206でのレイアウト解析の結果を用いることによって、翻訳画像1300は対象画像600と同等のレイアウトを有している。そして、対象画像600から抽出した文章領域内に翻訳結果を配置したものである。翻訳画像1300内には、黒マーカー610、620にそれぞれ対応したマスキング領域1310、1320がある。また、抽出した黒マーカーの順番にしたがって、マスキング領域の形態(色、形状、矩形内に提示する文字列、それらの組み合わせ)を異ならせてもよい。マスキング領域1320は、図13では「言葉A」としているが、隠蔽している文字であることを示すような文字列であってもよい。
【0048】
図14は、ルビ風翻訳が行われた翻訳画像1400の例を示す説明図である。翻訳画像1400は、ステップS228の処理が行われた場合の翻訳画像である。つまり、画像受付モジュール110が受け付けた画像をそのまま用いて、ステップS206でのレイアウト解析の結果を用いることによって、その行間に翻訳結果を配置したものである。
ただし、抽出した黒マーカーの順番にしたがって、黒マーカー及びマスキング領域の形態を異ならせてもよい。つまり、翻訳画像1400内には、マスキング領域1410、1411、1420、1421を有しているが、マスキング領域1410は黒マーカー610の形態を変更したものであり、マスキング領域1411は黒マーカー610に対応した翻訳部分であり、マスキング領域1410と同等の形態にしたものであり、マスキング領域1420は黒マーカー620の形態を変更したものであり、マスキング領域1421は黒マーカー620に対応した翻訳部分であり、マスキング領域1420と同等の形態にしたものである。
【0049】
図3は、連結関係を判断する処理例を示すフローチャートである。つまり、図2の例に示したフローチャート内の連結関係検出モジュール140が行うステップS208の処理について説明する。その際、図15、図16に示した具体例を用いて説明する。
【0050】
ステップS302では、レイアウト検出モジュール131によって検出されたレイアウト内の文字行領域情報から、文字行の縦横比を求め、文の方向(横書き、縦書き)を取得する。
ステップS304では、レイアウト検出モジュール131によって検出されたレイアウト内の文章領域内にある文字画像の平均文字サイズ(横書きの場合は文字画像の幅、縦書きの場合は文字画像の高さ)、平均文字間隔を計算する。なお、平均の計算をするのに、文章領域内にある文字画像数を総数とする。
【0051】
ステップS306では、書込検出モジュール121が検出した黒マーカーと、その黒マーカーにステップS302で抽出した文の方向で隣接する文字行領域との距離を算出する。例えば、図15の例に示すように、文の方向が横である場合に、文字行領域1520は黒マーカー1510と隣接しており、距離1530を算出する。なお、算出した距離が2つある場合(文字行内に黒マーカーが挟まれている場合)、その距離のうち短いものを採用するようにしてもよい。
【0052】
ステップS308では、ステップS306で算出した距離とステップS304で計算した平均文字サイズと平均文字間隔を用いて、黒マーカーと隣接している文字行領域とは文として連結しているか否かを判断する。例えば、以下の条件式1を満たす場合はステップS316へ進み、それ以外の場合はステップS310へ進む。
距離<(平均文字サイズ+平均文字間隔) (条件式1)
この条件式1は、黒マーカーが文字行内の文字を隠蔽しているのか否かを判断するためのものである。
【0053】
ステップS310では、書込検出モジュール121が検出した黒マーカーと、その黒マーカーを含む文章領域の境界との距離を算出する。例えば、図16の例に示すように、文章領域1620は黒マーカー1610を含んでおり、文章領域1620の境界との距離1630を算出する。なお、黒マーカーに対して、ステップS302で抽出した文の方向にある文章領域の境界との距離を算出するようにしてもよく、その距離のうち短いものを採用するようにしてもよい。
【0054】
ステップS312では、ステップS310で算出した距離とステップS304で計算した平均文字サイズと平均文字間隔を用いて、黒マーカーはその黒マーカーを含む文章領域内で、文として連結しているか否かを判断する。例えば、以下の条件式2を満たす場合はステップS316へ進み、それ以外の場合はステップS314へ進む。
距離<(2×平均文字サイズ+平均文字間隔) (条件式2)
この条件式2は、黒マーカーが文章領域内の文字を隠蔽しているのか否かを判断するためのものである。
【0055】
ステップS314では、文が途切れていると判断する。つまり、黒マーカーに対応した符号は、独立している文字列(その前後には、改行又は空白文字がある)として取り扱えるようにする。
ステップS316では、文が連結していると判断する。つまり、黒マーカーは文の一部であるとして取り扱えるようにする。
【0056】
図17を参照して、本実施の形態のハードウェア構成例について説明する。図17に示す構成は、例えばパーソナルコンピュータ(PC)などによって構成されるものであり、スキャナ等のデータ読み取り部1717と、プリンタなどのデータ出力部1718を備えたハードウェア構成例を示している。
【0057】
CPU(Central Processing Unit)1701は、前述の実施の形態において説明した各種のモジュール、すなわち、書込処理モジュール120、文字処理モジュール130、連結関係検出モジュール140、翻訳対象文字列作成モジュール150、翻訳モジュール160、翻訳文変更モジュール170、画像生成モジュール180等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【0058】
ROM(Read Only Memory)1702は、CPU1701が使用するプログラムや演算パラメータ等を格納する。RAM(Random Access Memory)1703は、CPU1701の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバスなどから構成されるホストバス1704により相互に接続されている。
【0059】
ホストバス1704は、ブリッジ1705を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス1706に接続されている。
【0060】
キーボード1708、マウス等のポインティングデバイス1709は、操作者により操作される入力デバイスである。ディスプレイ1710は、液晶表示装置又はCRT(Cathode Ray Tube)などがあり、各種情報をテキストやイメージ情報として表示する。
【0061】
HDD(Hard Disk Drive)1711は、ハードディスクを内蔵し、ハードディスクを駆動し、CPU1701によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、画像受付モジュール110が受け付けた画像、文字認識モジュール132による認識結果、翻訳モジュール160による翻訳結果などが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
【0062】
ドライブ1712は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体1713に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース1707、外部バス1706、ブリッジ1705、及びホストバス1704を介して接続されているRAM1703に供給する。リムーバブル記録媒体1713も、ハードディスクと同等のデータ記録領域として利用可能である。
【0063】
接続ポート1714は、外部接続機器1715を接続するポートであり、USB、IEEE1394等の接続部を持つ。接続ポート1714は、インタフェース1707、及び外部バス1706、ブリッジ1705、ホストバス1704等を介してCPU1701等に接続されている。通信部1716は、ネットワークに接続され、外部とのデータ通信処理を実行する。データ読み取り部1717は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部1718は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【0064】
なお、図17に示すハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図17に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図17に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。
【0065】
前記実施の形態においては、書き込みとして、黒マーカーを示したが、削除線等であってもよい。本実施の形態は、書き込みを行うことによって、文字認識率を低下させ、その結果、翻訳の質も低下させてしまうような場合に特に適している。
【0066】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blue−ray Disk)、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM)、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【図面の簡単な説明】
【0067】
【図1】本実施の形態の構成例についての概念的なモジュール構成図である。
【図2】本実施の形態による処理例を示すフローチャートである。
【図3】連結関係を判断する処理例を示すフローチャートである。
【図4】指定箇所テーブルのデータ構造例を示す説明図である。
【図5】レイアウト情報テーブルのデータ構造例を示す説明図である。
【図6】画像受付モジュールが受け付ける画像の例を示す説明図である。
【図7】書込削除モジュールが黒マーカーを削除した後の画像の例を示す説明図である。
【図8】レイアウト検出モジュールによる対象画像に対する処理例を示す説明図である。
【図9】翻訳対象XMLの例を示す説明図である。
【図10】翻訳後XMLの例を示す説明図である。
【図11】翻訳対象文章の例を示す説明図である。
【図12】翻訳後文章の例を示す説明図である。
【図13】置換翻訳が行われた翻訳画像の例を示す説明図である。
【図14】ルビ風翻訳が行われた翻訳画像の例を示す説明図である。
【図15】黒マーカーと文字行領域との関係例を示す説明図である。
【図16】黒マーカーと文章領域との関係例を示す説明図である。
【図17】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【符号の説明】
【0068】
110…画像受付モジュール
120…書込処理モジュール
121…書込検出モジュール
122…書込削除モジュール
130…文字処理モジュール
131…レイアウト検出モジュール
132…文字認識モジュール
140…連結関係検出モジュール
150…翻訳対象文字列作成モジュール
160…翻訳モジュール
170…翻訳文変更モジュール
180…画像生成モジュール
190…出力モジュール

【特許請求の範囲】
【請求項1】
書き込みを含む画像を受け付ける画像受付手段と、
前記画像受付手段によって受け付けられた画像内の書き込みの位置を検出する書込検出手段と、
前記書込検出手段によって検出された書き込みの位置に基づいて、該書き込みを削除する書込削除手段と、
前記書込削除手段によって書き込みが削除された画像内の文字を認識する文字認識手段と、
前記書込検出手段によって検出された書き込みの位置に基づいて、前記文字認識手段による認識結果に前記書き込みを示す符号を挿入して、翻訳対象とする文字列を作成する翻訳対象文字列作成手段と、
前記翻訳対象文字列作成手段によって作成された翻訳対象の文字列を翻訳する翻訳手段と、
前記翻訳手段による翻訳結果に基づいて、前記書き込みに対応する画像を含めて該翻訳結果の画像を生成する翻訳画像生成手段
を具備することを特徴とする画像処理装置。
【請求項2】
前記書込検出手段によって検出された書き込みと該書き込み以外である他の画像構成要素との位置関係を検出する位置関係検出手段と、
前記位置関係検出手段によって検出された位置関係に基づいて、前記書き込みと前記他の画像構成要素との連結関係を検出する連結関係検出手段
をさらに具備し、
前記翻訳対象文字列作成手段は、前記連結関係検出手段によって検出された連結関係に基づいて、前記文字認識手段による認識結果に前記書き込みを示す符号を挿入して、翻訳対象とする文字列を作成する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記翻訳手段による翻訳結果内の前記書き込みを示す符号に対応する翻訳結果から、書き込みの画像を生成するための符号に変換する翻訳文変換手段
をさらに具備し、
前記翻訳画像生成手段は、前記翻訳文変換手段によって変換された翻訳結果の画像を生成する
ことを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記翻訳手段は、前記書き込みを示す符号を名詞として扱って翻訳処理を行う
ことを特徴とする請求項1から3のいずれか一項に記載の画像処理装置。
【請求項5】
前記書き込みは、画像内の文字を隠蔽する画像であり、
前記書込検出手段は、さらに前記書き込みの長さを検出し、
前記翻訳画像生成手段は、前記書込検出手段によって検出された書き込みの長さに応じて、前記書き込みに対応する画像として隠蔽する画像を生成する
ことを特徴とする請求項1から4のいずれか一項に記載の画像処理装置。
【請求項6】
コンピュータを、
書き込みを含む画像を受け付ける画像受付手段と、
前記画像受付手段によって受け付けられた画像内の書き込みの位置を検出する書込検出手段と、
前記書込検出手段によって検出された書き込みの位置に基づいて、該書き込みを削除する書込削除手段と、
前記書込削除手段によって書き込みが削除された画像内の文字を認識する文字認識手段と、
前記書込検出手段によって検出された書き込みの位置に基づいて、前記文字認識手段による認識結果に前記書き込みを示す符号を挿入して、翻訳対象とする文字列を作成する翻訳対象文字列作成手段と、
前記翻訳対象文字列作成手段によって作成された翻訳対象の文字列を翻訳する翻訳手段と、
前記翻訳手段による翻訳結果に基づいて、前記書き込みに対応する画像を含めて該翻訳結果の画像を生成する翻訳画像生成手段
として機能させることを特徴とする画像処理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2010−55354(P2010−55354A)
【公開日】平成22年3月11日(2010.3.11)
【国際特許分類】
【出願番号】特願2008−219339(P2008−219339)
【出願日】平成20年8月28日(2008.8.28)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】