(57)【特許請求の範囲】
【請求項１】
文書画像中に含まれる複数の領域を抽出する領域抽出手段と、
抽出された前記各領域内の文字列を認識する認識手段と、
認識された前記各領域内の文字列に対して変換処理を施す変換手段と、
互いに隣り合う領域同士の間の余白に、それら隣り合う領域同士の境界線であって、他の領域により遮られるまで延びる直線の境界線を設定する設定手段と、
設定された前記境界線のうち少なくとも１つを前記複数の領域のいずれとも交わらないという拘束条件の下で平行移動させ、その平行移動に合わせて、前記各領域を、それら境界線から構成されるセルであって当該領域を内包するセルからはみ出ない範囲で拡大又は縮小する拡大縮小手段と、
前記拡大縮小手段により拡大又は縮小された前記各領域に対して、前記変換手段による当該領域内の文字列の変換処理の結果を挿入する挿入手段と、
を備え、
前記設定手段は、隣り合う領域同士の間に第１のしきい値以上の間隔が存在する場合に、前記間隔の部分に空白領域を更に設定するとともに、前記隣り合う領域のうちの一方と前記空白領域との間、及び前記隣り合う領域のうちの他方と前記空白領域との間に境界線を設定し、
前記拡大縮小手段における前記拘束条件は、空白領域が設定されている場合、その空白領域に隣り合う境界線を前記空白領域の方向に平行移動させることを許可するものであると共に、前記空白領域に隣り合う境界線を前記空白領域の方向に平行移動させる場合に、前記空白領域に隣り合う２つの境界線同士の間隔を第２のしきい値以上とするというものであり、
前記第２のしきい値は０より大きい値である、
ことを特徴とする文書処理装置。
【請求項２】
コンピュータを、
文書画像中に含まれる複数の領域を抽出する領域抽出手段、
抽出された前記各領域内の文字列を認識する認識手段、
認識された前記各領域内の文字列に対して変換処理を施す変換手段、
互いに隣り合う領域同士の間の余白に、それら隣り合う領域同士の境界線であって、他の領域により遮られるまで延びる直線の境界線を設定する設定手段、
設定された前記境界線のうち少なくとも１つを前記複数の領域のいずれとも交わらないという拘束条件の下で平行移動させ、その平行移動に合わせて、前記各領域を、それら境界線から構成されるセルであって当該領域を内包するセルからはみ出ない範囲で拡大又は縮小する拡大縮小手段、
前記拡大縮小手段により拡大又は縮小された前記各領域に対して、前記変換手段による当該領域内の文字列の変換処理の結果を挿入する挿入手段、
として機能させるためのプログラムであって、
前記設定手段は、隣り合う領域同士の間に第１のしきい値以上の間隔が存在する場合に、前記間隔の部分に空白領域を更に設定するとともに、前記隣り合う領域のうちの一方と前記空白領域との間、及び前記隣り合う領域のうちの他方と前記空白領域との間に境界線を設定し、
前記拡大縮小手段における前記拘束条件は、空白領域が設定されている場合、その空白領域に隣り合う境界線を前記空白領域の方向に平行移動させることを許可するものであると共に、前記空白領域に隣り合う境界線を前記空白領域の方向に平行移動させる場合に、前記空白領域に隣り合う２つの境界線同士の間隔を第２のしきい値以上とするというものであり、
前記第２のしきい値は０より大きい値である、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書処理装置及びプログラムに関する。
【背景技術】
【０００２】
文書としてレイアウト構成されたものを、計算機により翻訳し出力するシステムを考えたとき、翻訳結果の表現方法には従来技術として様々な手法が用いられている。
【０００３】
その中で、元文書のレイアウトの領域毎に、翻訳済みの文字列（訳文）をその領域の原文と置換する方法、もしくはその領域に訳文を追加する方法がよく知られている。このような方法には以下のような先行技術が存在する。
【０００４】
特許文献１の方法では、スキャンした原稿画像に対し各種画像処理を実施して原稿画像情報を取得し、原稿画像情報とその対訳とを上下に並べて合成するとき、原稿画像情報の情報幅より対訳情報の情報幅が小さくなるように制御する。
【０００５】
特許文献２の方法では、レイアウト解析を行い、テキスト部分にＯＣＲ（光学文字認識）を実行し、認識した文字列に対して翻訳を行い、翻訳結果の文字列を元のレイアウトに挿入する（いわゆる「流し込み」）。これを印刷する際に、用紙の表には元の原稿、裏には翻訳した原稿を印刷する。
【０００６】
これら従来技術では、翻訳文の文字量とそれを流し込む領域の大きさとを基準に文字の大きさを決定することで、翻訳文を領域内に収めている。したがって、翻訳文の文字量が多い場合には文字が小さくなり、読みづらいものになってしまう。
【０００７】
そこで、文字サイズを確保するため領域を広げるということも考えられるが、無条件に広げると文字が重なる領域が出てくる。画像を解析し空白部分を周囲から探索し、領域をその空白部分へと広げることも考えられるが、文字サイズの確保のみを基準に無制限に広げてしまうと、全体のレイアウトバランスが崩れてしまう可能性がある。
【０００８】
【特許文献１】特開平５−３２４７２０号公報
【特許文献２】特許第３６３６４９０号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は、その文書内の各テキスト領域内のテキストの変換結果をそれぞれ各テキスト領域に挿入する（流し込む）場合に、文字の縮小を極力避けつつも、それらテキスト領域同士の配置関係を崩さないようにすることを目的とする。
【課題を解決するための手段】
【００１０】
本発明に係る装置は、文書画像中に含まれる複数の領域を抽出する領域抽出手段と、抽出された前記各領域内の文字列を認識する認識手段と、認識された前記各領域内の文字列に対して変換処理を施す変換手段と、互いに隣り合う領域同士の間の余白に、それら隣り合う領域同士の境界線であって、他の領域により遮られるまで延びる直線の境界線を設定する設定手段と、設定された前記境界線のうち少なくとも１つを前記複数の領域のいずれとも交わらないという拘束条件の下で平行移動させ、その平行移動に合わせて、前記各領域を、それら境界線から構成されるセルであって当該領域を内包するセルからはみ出ない範囲で拡大又は縮小する拡大縮小手段と、前記拡大縮小手段により拡大又は縮小された前記各領域に対して、前記変換手段による当該領域内の文字列の変換処理の結果を挿入する挿入手段と、を備える。
【００１１】
ここで、領域の拡大又は縮小は、領域の縦方向と横方向で倍率が異なっていてもよい。
【００１２】
本発明では、前記設定手段は、隣り合う領域同士の間に第１のしきい値以上の間隔が存在する場合に、前記間隔の部分に空白領域を更に設定するとともに、前記隣り合う領域のうちの一方と前記空白領域との間、及び前記隣り合う領域のうちの他方と前記空白領域との間に境界線を設定し、前記拡大縮小手段における前記拘束条件は、空白領域が設定されている場合、その空白領域に隣り合う境界線を前記空白領域の方向に平行移動させることを許可するものである、ことを特徴とする。
【００１３】
また本発明では、更なる態様では、前記拡大縮小手段における前記拘束条件は、前記空白領域に隣り合う境界線を前記空白領域の方向に平行移動させる場合に、前記空白領域に隣り合う２つの境界線同士の間隔を第２のしきい値以上とするというものであり、前記第２のしきい値は０より大きい値である、ことを特徴とする。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して本発明の実施形態を説明する。
【００１５】
図１に、実施形態の文書処理装置の構成の一例を示す。この装置において、画像読取装置１０は、紙原稿上の画像を光学的に読み取る装置であり、例えばラインセンサやエリアセンサを用いたスキャナがその典型例である。画像読取装置１０は、紙原稿上の画像を表すデジタル画像を出力する。レイアウト解析部１２は、画像読取装置１０から出力されるデジタル画像に対し、周知のレイアウト解析処理を実行する。レイアウト解析により、デジタル画像中に含まれるテキスト領域や写真領域などの個々のコンテンツ領域が検出される。レイアウト解析の結果は、個々のコンテンツ領域ごとに、当該領域の位置やサイズの情報を含んでいる。コンテンツ領域は、典型的には、デジタル画像における画素配列の縦横の各方向に平行な辺（一般的には紙原稿の縦横各辺に平行な辺）からなる矩形の領域である。例えばテキスト領域は、テキスト文字列の組版結果に外接する矩形領域となる。コンテンツ領域が上述のような矩形の領域の場合、その領域の位置・サイズの情報は、その矩形の１つの対角線上の２つの頂点の座標の組で表される。なお、レイアウト解析の結果は、当該領域内のコンテンツの種類（例えばテキストか写真か）の情報を含んでいてもよい。
【００１６】
例えば、図２に模式的に示すレイアウト解析結果１００は、デジタル画像中にＡ〜Ｉの９個のコンテンツ領域（以下では、紛れがないかぎり単に「領域」と呼ぶ）が含まれていることを示している。以下では、領域Ａ〜Ｉはすべてテキスト領域であるとして説明する。
【００１７】
文字認識部１４は、レイアウト解析の結果検出された各テキスト領域に対して、それぞれ周知のＯＣＲ（光学文字認識）処理を施すことで、各テキスト領域に含まれるテキスト文字列を求める。翻訳処理部１６は、検出された各テキスト領域内の文字列（すなわちある言語で記述された文章）に対して、従来公知の自動翻訳処理を実行することで、その文字列を別の言語の文字列へと変換する。
【００１８】
配列構造解析部１８は、レイアウト解析結果に含まれる領域の配列構造を解析し、その配列構造を示す情報を生成する。この例では、配列構造は、構造境界線の組合せにより表される。構造境界線は、隣り合う領域同士の間の余白を通る直線の線分である。コンテンツ領域が上述のような矩形である場合は、構造境界線は縦又は横に延びる直線分となる。構造境界線は、例えば、隣り合う領域同士の余白部分の中央を通る直線分とすればよい。
【００１９】
また、構造境界線は、ページ外周の余白部分にも配置される。例えば、ページ内のすべてのコンテンツ領域を内包する外接矩形の各辺をそれぞれ外側に所定幅だけ広げてできる矩形の各辺を、ページ外周の構造境界線とすればよい。
【００２０】
また、配列構造解析部１８は、隣り合う領域同士の間隔（余白の幅）が、あらかじめ定められたしきい値を超える場合には、その間隔の部分に空白領域を配置し、それら隣り合う領域の各々とその空白領域との間に構造境界線を配置する（言い換えれば、それら隣り合う領域の各々の近傍に構造境界線を配置し、それら２つの構造境界線の間に空白領域を設定する）。
【００２１】
図２に、レイアウト解析結果１００に対応する配列構造解析結果１０５を模式的に示す。この例では、縦方向の構造境界線を「ｖ数字」の識別符号で示し、横方向の構造境界線を「ｈ数字」の識別符号で示している。
【００２２】
ｖ１，ｈ１，ｖ５，ｈ１０がページ外周の構造境界線である。また、ｈ２〜ｈ６，ｖ２〜ｖ４はコンテンツ領域間の構造境界線である。また、領域Ａと外周の構造境界線ｖ５との間には空白領域ｂｓ１が、領域ＨとＩとの間には空白領域ｂｓ２が、領域Ｆと外周の構造境界線ｈ１０との間には空白領域ｂｓ３が、それぞれ設定されている。
【００２３】
ｖ３，ｈ７〜ｈ９はコンテンツ領域と空白領域との構造境界線である。すなわち、領域Ａとページ外周の構造境界線との間隔は所定のしきい値以上大きいので、例えば、領域Ａの右端から所定の距離だけ右側に離れた位置に構造境界線ｖ３が配置され、ｖ３，ｈ２，ｖ５及びｈ１で囲まれた矩形領域が空白領域ｂｓ１として管理されることになる。別言すれば、領域とページ外周の構造境界線との間に別の領域がない場合、その領域とその構造境界線との間隔がその所定距離（すなわち前述のしきい値）以上離れていれば、両者の間に空白領域が設定されることになる。このように空白領域を設定するのは、１つには、領域間（或いは領域とページ外周との間）にある程度幅の広い空白がある場合、それが元の原稿における１つのレイアウト意図であるとみなし、その空白ができるだけ維持されるように管理するためである。
【００２４】
図２に例示した通り、構造境界線は、延伸方向がコンテンツ領域により遮られない限り、ページ外周の構造境界線に交わる点まで延びる。例えば、横方向に延びる構造境界線ｈ２，ｈ３は、その延伸方向を遮る領域が存在しないので、ページ外周の左右の構造境界線ｖ１からｖ５まで延びている。一方、延伸方向がコンテンツ領域により遮られる場合、構造境界線は、その領域の手前にある、当該境界線に垂直な構造境界線（言い換えれば、その領域と、当該構造境界線の隣の領域との間を区切る構造境界線）に到達したところで終了する。例えば、横方向の構造境界線ｈ６は、左右を領域Ｆ及びＨで遮られており、その手前の構造境界線ｖ２からｖ４まで延びた線分となっている。また、縦方向の構造境界線ｖ２は、上方を領域Ｂで遮られているので、横方向の構造境界線ｈ３からｈ１０まで延びる線分となっている。
【００２５】
デジタル画像（ページ）上の各領域の位置情報が分かれば、例えば、まずページ外周の構造境界線ｖ１，ｈ１，ｖ５，ｈ１０を上述のようにして画定、すなわちデジタル画像の座標系におけるそれら各構造境界線の位置を決定することができる。ここで、構造境界線の位置は、例えば、デジタル画像の横方向をｘ軸方向、縦方向をｙ軸方向として、当該境界線のｘ軸座標（縦方向の境界線の場合）、又はｙ座標（横方向の境界線の場合）と、当該境界線の両端に接する他の２つの構造境界線とにより表すことができる。例えば、構造境界線ｈ１は、その線ｈ１のｙ座標値と、その線ｈ１の両端を規定する境界線ｖ１，ｖ５とにより表現できる。次に、例えば、それら外周の構造境界線を両端とする構造境界線を画定し、ここで画定した構造境界線と外周の構造境界線とを両端とする構造境界線を画定することができる。そして、更にそれら構造境界線同士を両端とする構造境界線（例えばｈ６）を画定すればよい。
【００２６】
また、配列構造解析部１８は、上述のようにして求めた構造境界線と各領域との関係を表す関係情報を生成する。そのような関係情報としては、一例として、領域ごとに、その領域を取り囲む４つの構造境界線の組を示す情報を用いることができる。以下では、領域の上下左右の４つの構造境界線で取り囲まれる矩形範囲を「セル」と呼ぶ。そして、上述の関係情報としてセルとその中に含まれる領域との対応関係を示す情報を用いる。
【００２７】
記憶装置２０は、例えば、当該文書処理装置が備えるＲＡＭ（ランダムアクセスメモリ）などの一次記憶装置、或いはハードディスクや不揮発性メモリなどの二次記憶装置である。レイアウト解析部１２によるレイアウト解析結果、文字認識部１４による文字認識結果、及び翻訳処理部１６による翻訳結果は、記憶装置２０内のコンテンツ領域情報記憶部２２に記憶される。また、配列構造解析部１８が解析した配列構造の情報は、その一部が境界線情報記憶部２４とセル情報記憶部２６に記憶される。
【００２８】
コンテンツ領域情報記憶部２２に記憶されるコンテンツ領域情報２２０のデータ構造の一例を、図３に示す。この例では、コンテンツ領域情報２２０には、領域ごとに、その領域の識別子である領域ＩＤ２２２，その領域（矩形とする）の左上隅の頂点の座標２２４，右下隅の頂点の座標２２６，原文情報２２８及び訳文情報２２９を含む。領域ＩＤ２２２は、レイアウト解析部１２が各コンテンツ領域を検出した場合に付与すればよい。矩形の領域の左上隅及び右下隅の点の座標２２４及び２２６もレイアウト解析部１２の解析結果から判明する。また、配列構造解析部１８が空白領域を設定した場合は、その空白領域にも領域ＩＤを付与し、同様に管理してもよい。原文情報２２８は、文字認識部１４による当該領域内の画像に対する文字認識結果の文字列であり、その文字列のフォントサイズ（これは文字認識の際に求めればよい）の情報を原文情報２２８に組み込んでおいてもよい。訳文情報２２９は、その文字列に対する翻訳処理部１６による翻訳結果を示す文字列である。なお、空白領域については原文情報２２８及び訳文情報２２９の代わりに、その領域が空白であることを示す情報を登録しておけばよい。
【００２９】
図４に、境界線情報記憶部２４に記憶された構造境界線情報２４０のデータ構造の一例を示す。この例では、構造境界線情報２４０は、配列構造解析部１８が求めた構造境界線ごとに、その境界線の識別子である境界線ＩＤ２４２，その境界線が縦方向又は横方向のいずれであるかを示す縦横種別２４４，その境界線の位置を示す線位置２４６，その境界線の両端を規定する他の境界線の境界線ＩＤを示す上（右）端境界線２４８及び下（左）端境界線２４９の項目を含む。境界線ＩＤ２４２は、配列構造解析部１８が付与すればよい。線位置２４６は、上述の如く、縦方向に延びる構造境界線の場合はその線のｘ座標、横方向に延びる構造境界線の場合はその線のｙ座標で表現すればよい。項目２４４〜２４９の値は、配列構造解析部１８の解析結果から求めることができる。
【００３０】
図５に、セル情報記憶部２６に記憶されたセル情報２６０のデータ構造の一例を示す。この例では、セル情報２６０は、配列構造解析部１８が求めたセルごとに、そのセルの識別子であるセルＩＤ２６１，そのセルの上下左右の端を規定する各構造境界線の境界線ＩＤ（上境界線２６２，下境界線２６３，右境界線２６４及び左境界線２６５），及び当該セル内に含まれる領域の領域ＩＤ（対応領域２６６）の各項目を含む。例えば、図２の例では、領域Ａを内包するセルのセル情報２６０には、上境界線２６２，下境界線２６３，右境界線２６４及び左境界線２６５としてそれぞれｈ１，ｈ２，ｖ１，ｖ３の各ＩＤが含まれ、対応領域２６６としてその領域ＡのＩＤが含まれることになる。
【００３１】
なお、セルを構成する四辺（構造境界線）のそれぞれについて、その辺とそのセル内の領域との間の距離を求めておき、その距離をセル情報２６０に含めておいてもよい。
【００３２】
再び図１の説明に戻ると、レイアウト処理部３０は、レイアウト解析部１２，文字認識部１４，翻訳処理部１６及び配列構造解析部１８が求めたコンテンツ領域情報２２０，構図境界線情報２４０及びセル情報２６０に基づき、コンテンツ領域ごとに原文の後に訳文が付加した画像を生成するために、レイアウトのシミュレーションを実行する。このシミュレーションは、境界線情報記憶部２４に記憶された構造境界線の組を基準として行う。
【００３３】
そして、そのシミュレーション結果を評価部３２で評価する。評価部３２は、例えば、ある領域についての原文と訳文のレイアウト結果が、元のデジタル画像からはみ出たり、その領域に対応するセルからはみ出たり、そのセルの辺とレイアウト結果との間隔とがあらかじめ定められた下限値以下となったりした場合には、そのレイアウト結果が不良であると判定すればよい。また、すべての領域のレイアウト結果が元のデジタル画像の範囲からはみ出ず、かつすべての領域の原文と訳文のレイアウト結果が、対応する各セル内に収まり、かつ各レイアウト結果と対応する各セルの辺との距離がすべて下限値以上である場合は、そのレイアウト結果が良好であると判定すればよい。レイアウト結果が良好であると判定した場合、評価部３２は、そのレイアウト結果を出力する。
【００３４】
一方、レイアウト結果が不良と判定した場合は、評価部３２は、配列構造調整部３４に対し、配列構造の調整を指示する。
【００３５】
配列構造調整部３４は、構造境界線の位置を移動（すなわち平行移動）、或いは拡大又は縮小（以下、拡縮と呼ぶ）させることにより、各領域の配列構造を調整する。配列構造調整部３４は、構造境界線を平行移動又は拡縮するのみであり、構造境界線の変形は認めない。ここで、構造境界線の移動（拡縮に伴う移動も含む）は、コンテンツ領域が存在しない方向についてのみ許すようにする。例えば、ページ外周の構造境界線は、ページの外側に向かっての平行移動が認められる。ただし、ページの外周に残る余白幅が所定の幅（これは予め設定しておく）以下になるような移動は認めない。また、構造境界線の隣に空白領域が存在する場合は、その空白領域の方向に構造境界線を平行移動させることが認められる。
【００３６】
配列構造調整部３４は、移動が認められる構造境界線が複数ある場合は、例えばあらかじめ設定された移動ストラテジーにより最初に移動させるべきと判定される構造境界線を、そのストラテジーが定める距離だけ、又はそのストラテジーが定める程度だけ、移動させる。移動ストラテジーは、例えば最初の段階では構造境界線全体をページ外周の余白が下限となるまで拡大し、第２段階ではすべての空白領域の幅が半分になるまで構造境界線を移動させる、等というように、段階ごとにどの構造境界線をどのように移動させるかを規定する情報である。
【００３７】
この配列構造調整部３４の調整結果は、記憶装置２０内の構造境界線情報２４０に反映させる。このあと、レイアウト処理部３０が、調整後の構造境界線の組を制約条件として、各セル内に、対応するコンテンツ領域の原文情報及び訳文情報を挿入（いわゆる「流し込み」）することで再度レイアウトを行う。
【００３８】
そして、評価部３２がその再レイアウト結果を評価し、評価結果が不良の場合は再度配列構造調整部３４が移動ストラテジーにしたがって第２段階の調整を行う。
【００３９】
そして、以上のような構造調整・再レイアウト・評価のサイクルを繰り返すことで、すべてのコンテンツ領域が対応するセルに収まり、かつページからはみ出ないレイアウトの作成を目指す。
【００４０】
図６は、この文書処理装置が実行する処理手順の一例である。この手順は、テキスト領域がすべて横書きの場合の例である。
【００４１】
この手順では、画像読取装置１０から出力された読取結果のデジタル画像をレイアウト解析部１２がレイアウト解析し（Ｓ１０）、更に配列構造解析部１８がそのレイアウト解析結果の配列構造（構造境界線情報とセル情報の組）を求める（Ｓ１２）。また、レイアウト解析結果の各領域について文字認識部１４が文字認識を行い、更にその文字認識結果に対して翻訳処理部１６が翻訳処理を実行する（Ｓ１４）。また、この手順では、配列構造解析部１８は、レイアウト解析結果の各領域と、近傍の構造境界線との距離を求め、その距離を領域に対応づけて（すなわちコンテンツ領域情報か、セル情報のいずれかに）格納する（Ｓ１６）。ここまでの処理により、記憶装置２０内には、コンテンツ領域情報２２０及び構造境界線情報２４０及びセル情報２６０が蓄積される。
【００４２】
次にレイアウト処理部３０が、それら各情報２２０〜２６０を参照して、各領域の幅は変えずに、それら各領域に対し原文情報及び訳文情報を横書きの順にレイアウトし（Ｓ１８）、それら各領域のレイアウト結果をそれぞれ対応するセルに配置する（Ｓ２０）。なお、各領域の幅は、当該領域に対応するコンテンツ領域情報２２０に含まれる左上隅２２４及び右下隅２２６の情報から求めればよい。このとき、レイアウト結果は、その上端及び左右の各端が、セルの上辺及び左右の各辺からそれぞれステップＳ１６で記憶した距離だけ離れた位置にくるように配置する。この例では、訳文の量だけ各領域は下に延びることになる。例えば、図２の配列構造解析結果１０５に対し、ステップＳ１８の処理を行うと、図７に示すレイアウト結果１１０が得られる。なお、ここで、このレイアウト処理結果の各領域の左上隅及び右下隅の座標により、コンテンツ領域情報２２０内の各領域の情報を更新してもよい。
【００４３】
図８の例では、レイアウト結果の各領域は、それぞれ対応するセルからはみ出ることになる。したがって、このレイアウト結果は、評価部３２により不良と判定され、それに応じ配列構造調整部３４が調整を行う。
【００４４】
このとき配列構造調整部３４は、一例としてまず配列構造全体を拡縮（図７の例に対しては拡大）し（Ｓ２２）、その拡縮に応じて各セル内の領域を拡縮する（Ｓ２４）。例えば、図７のレイアウト結果１１０に対し、配列構造を縦に下方向に拡大（すなわち水平方向の構造境界線ｈ２〜ｈ１０を下方向に平行移動）し、更に各領域を下に移動させることにより、レイアウト結果１１０の各領域Ａ〜Ｆがそれぞれ対応するセル内に収まるようにする。これにより、配列構造調整結果１１５が得られる。この調整に応じて各構造境界線の線位置が変化するので、その変化に応じて境界線情報記憶部２４内の各境界線の線位置２４６を更新する。なお、縦横種別２４４、上（右）端境界線２４８及び下（左）端境界線２４９は、配列構造の調整処理では変化しない。
【００４５】
この調整結果では、いくつかの領域がページからはみ出ているので、この例では、更に配列構造全体を拡大する。
【００４６】
例えば、図８の例１２０に示すように、ページ外周の構造境界線ｈ１をページ上端から所定距離となるところまで上昇させ、ｖ１をページ左端から所定距離のところまで左に、ｖ５をページ右端から所定距離のところまで右に、それぞれ移動させる。この移動に伴って、ページ左上隅の領域Ａを、ｖ１及びｈ１からそれぞれＳ１６で保存した距離となる位置に平行移動させ、更にこの移動に合わせてｈ２及びｖ３をそれぞれ領域ＡからＳ１６で保存した距離まで移動させる。そして、領域Ｂを、ｖ１及びｈ２からそれぞれＳ１６で保存した距離となる位置に平行移動させる。以上のような、領域と構造境界線の連鎖的移動を繰り返すことで、図８右側の配列構造拡大結果１２５が得られる。この拡大に応じて、各構造境界線の線位置が変化するので、その変化に応じて境界線情報記憶部２４内の各境界線の線位置２４６を更新する。
【００４７】
この拡大結果１２５に示すように、配列構造の拡大によれば、各セルは大きくなる（或いはサイズ変化無し）が、各コンテンツ領域のサイズは変化しない。例えば領域Ｂ〜Ｉは、セル内で領域幅を右側に延ばす余地ができる。また、構造境界線ｖ１は右側の空白領域ｂｓ１の方へ、ｈ７は下側のｂｓ２の方へ、ｈ８は上側のｂｓ２の方へ、ｈ９は下側のｂｓ３の方へ、それぞれ平行移動できる。
【００４８】
そこで、配列構造調整部３４は、例えば、領域Ｂ〜Ｉのうちのいずれか１以上をセルからはみ出ない範囲で右方向に拡大する（Ｓ２４）。この拡大により領域の幅が増えるので、同じ文章を流し込んだ場合の行数が減る。したがって、この拡大を施した領域は縦方向については縮み、領域の上端を固定（すなわち上から順に流し込む場合）とすれば領域の下端が上に上がることになる。配列構造調整部３４は、その領域幅に対してその領域内の文字列を流し込むシミュレーションを行うことで行数を求め、その行数から領域の高さを計算する。そして、この計算結果から領域下端の上昇量を求め、その上昇量だけその領域下端の下方の構造境界線を上方向に移動させる。ただし、その「下方の構造境界線」の上に別の領域が存在する場合、その構造境界線の上昇はその「別の領域」との距離がＳ１６で記憶した値以下にはならないように制限される。
【００４９】
また、境界線ｖ１，ｈ７〜ｈ８のいずれか１以上を空白領域の方に移動させることでセルを広げ、広がったセル内の領域を対応する空白領域の方向に拡大する（Ｓ２６）。この拡大により、その領域内の文章の行数が減るので、その領域の下端が上昇する。したがって、その領域の下方にある境界線や領域を上昇させることができる。
【００５０】
なお、以上に説明したステップＳ２２〜Ｓ２６は、どのような順序で実行してもよい。
【００５１】
例えば、図９の状態１３０は、境界線ｖ３を右方向に所定量だけ移動させた場合の例である。これに応じて領域Ａの幅を同じ量だけ右側へ延ばす。これにより、上述と同様にして領域Ａの下端が上昇する。ここで、領域Ａ下方の境界線ｈ２の上昇を規制する領域はＡだけなので（ｂｓ１は空白）、領域Ａの下端の上昇量と同じだけ境界線ｈ２も移動させる。このときの状態が図９の状態１３０である。
【００５２】
そして、領域Ｂを境界線ｈ２の上昇量と同量だけ上昇させる。領域Ｂは、セル内で右方向に拡大可能なので、領域Ｂの幅を境界線ｖ５との距離がＳ１６で記憶した距離になるところまで広げる。これによる行数減少により領域Ｂの下端が上昇し、これに応じて境界線ｈ３を上昇させる。図９に示す状態１３５は、このときの状態を示す。
【００５３】
このあと、領域Ｃ，Ｄ，Ｅを境界線ｈ３からＳ１６で記憶した距離まで上昇させ、更にそれに連動して更に下の各領域や各境界線を上昇させる。また、領域Ｃ〜Ｉをセル内で拡大したり、空白領域ｂｓ２，ｂｓ３の高さを縮めたりすることで、更に全体を上方に圧縮することができる。
また、空白領域ｂｓ１が残っていれば、ｖ３を更に右側に移動させ、上述と同様の処理を繰り返してもよい。なお、空白領域の圧縮限界の条件を定めておき、その限界以上は空白領域を圧縮できないようにしてもよい。そのような条件は、例えば空白領域の下限幅（高さ）であってもよいし、元の空白領域の幅（高さ）に対する圧縮割合であってもよい。
【００５４】
以上のＳ２２〜Ｓ２６の繰り返しにより、例えば図１０の状態１４０のように、全領域がページ範囲内に収まった（言い換えれば、ページ外周の境界線がページ内に収まった）場合には（Ｓ２８の判定結果がＹｅｓ）、処理を終了すればよい。
【００５５】
以上のような処理で、ページ外周の余白及びすべての空白領域をあらかじめ定められた限界まで縮小しても、いずれかの領域（或いは構造境界線）がページの外にはみ出す場合（Ｓ２８の判定結果がＮｏ）、領域とセルの間隔を縮めることで全体を更に縮小しても良い。この場合、配列構造調整部３４は、各領域と対応する各セルの構造境界線との間に余裕があるかどうか判定する（Ｓ３０）。例えば、領域とそれを内包するセルを構成する構造境界線との距離が、例えば図１１の状態１５０に示すように、あらかじめ定められたしきい値を超えていれば、「余裕がある」と判定すればよい。そして、余裕があると判定された領域と構造境界線との距離を限界まで縮小し（Ｓ３２）、その縮小に応じて領域及び構造境界線の配置を再構成する（Ｓ３４）。
【００５６】
すなわち、Ｓ２８までの処理では、領域とセルの構造境界線との距離は、Ｓ１６で記憶した距離、すなわち元のデジタル画像における領域と構造境界線との距離のまま維持されているが、その距離がしきい値より大きければＳ３０で領域の幅を拡大し、領域とその直上の構造境界線までの距離を詰めることで、領域とセルの間隔をそのしきい値まで小さくするのである。領域幅の増大と領域全体の上昇により、その領域の下端が上昇するので、その領域の下方にある構造境界線やその下方の各領域及び各構造境界線を上昇させることができる。例えば、ページ最上部の領域から順に、このような処理を行うことで、ページの下端を上昇させることができる。これにより、図１１の状態１５５に示すように全領域がページの範囲内に収まれば（Ｓ３６の判定結果がＹｅｓ）、処理を終了すればよい。
【００５７】
そうでない場合は、更に各領域内の文字サイズを、全領域がページの範囲内に収まるまで段階的に縮小していくようにしてもよい（Ｓ３８）。ステップＳ３８の文字サイズの縮小は、全文字に適用するのではなく、例えば見出し解析により求められた見出し文字だけに適用するなど、部分的に適用しても良い。
【００５８】
以上、図６の手順を説明したが、図６のうち点線で囲った各ステップＳ２２〜Ｓ２６，Ｓ３０〜Ｓ３４及びＳ３８の実行順序は図示のものに限られず、どのような順序で実行してもよい。
【００５９】
以上説明したように、本実施形態では、領域間を区切る構造境界線を設定し、その構造境界線を変形させずに平行移動させ、その平行移動に応じて対応する各領域の幅や高さを、各領域が含まれるセル内で広げることで、各領域に収容可能な文字量を増やす。この方法では、各領域の移動や拡大縮小は構造境界線により規制され、構造境界線は平行移動のみで変形しないので、ページ全体としての領域の配列構造が維持される。
【００６０】
また、本実施形態では、配列構造調整の最初のステップとして、ページ外周の構造境界線をページの外に向かって移動させること、又は空白領域と隣接する構造境界線を、空白領域を縮める方向に移動させることのみを認め、他の構造境界線はそれら最初の構造境界線の移動に伴って移動することのみを認めることとした。このようなことにより、配列構造を維持することができる。
【００６１】
また、本実施形態では、隣接する領域同士の間の距離が所定のしきい値以上大きい場合に、それら両者の間に空白領域を設定し、隣接する領域の一方と空白領域の間、及び隣接する領域の他方と空白領域との間に構造境界線を設定した。そして、空白領域の両側の構造境界線はそれぞれ空白領域を縮める方向に移動可能であるが、それら両側の構造境界線同士の距離が所定値以下となることは認めないことで、空白領域を残すことができる。
【００６２】
以上の例では、原文と訳文を領域内に流し込む場合を例示したが、訳文のみを流し込む場合にも同様の処理が適用可能である。また翻訳以外の変換処理（例えばキーワードと判定された文字列のフォントサイズを大きくするなど）を原文に加えた変換結果を領域に流し込む場合にも、上述の処理は適用可能である。また、以上では横書きの例を示したが、縦書きの場合も、同様の処理が適用可能である。
【００６３】
以上に説明した図１の文書処理装置のうち、画像読取装置１０を除く部分は、例えば、汎用のコンピュータに上述の各機能モジュールの処理を表すプログラムを実行させることにより実現される。ここで、コンピュータは、例えば、ハードウエアとして、図１２に示すように、ＣＰＵ１０００等のマイクロプロセッサ、ランダムアクセスメモリ（ＲＡＭ）１００２およびリードオンリメモリ（ＲＯＭ）１００４等のメモリ（一次記憶）、ＨＤＤ（ハードディスクドライブ）１００６を制御するＨＤＤコントローラ１００８、各種Ｉ／Ｏ（入出力）インタフェース１０１０、ローカルエリアネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース１０１２等が、たとえばバス１０１４を介して接続された回路構成を有する。また、そのバス１０１４に対し、例えばＩ／Ｏインタフェース１０１０経由で、ＣＤやＤＶＤなどの可搬型ディスク記録媒体に対する読み取り及び／又は書き込みのためのディスクドライブ１０１６、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体に対する読み取り及び／又は書き込みのためのメモリリーダライタ１０１８、などが接続されてもよい。上に例示した各機能モジュールの処理内容が記述されたプログラムがＣＤやＤＶＤ等の記録媒体を経由して、又はネットワーク等の通信手段経由で、ハードディスクドライブ等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがＲＡＭ１００２に読み出されＣＰＵ１０００等のマイクロプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。なお、それら機能モジュール群のうちの一部又は全部を、専用ＬＳＩ(Large Scale Integration)、ＡＳＩＣ（Application Specific Integrated Circuit、特定用途向け集積回路）又はＦＰＧＡ（Field Programmable Gate Array）等のハードウエア回路として構成してもよい。
【図面の簡単な説明】
【００６４】
【図１】実施形態の文書処理装置の一例を示す機能ブロック図である。
【図２】レイアウト解析結果及び配列構造解析結果の例を示す図である。
【図３】コンテンツ領域情報のデータ構造の一例を示す図である。
【図４】構造境界線情報のデータ構造の一例を示す図である。
【図５】セル情報のデータ構造の一例を示す図である。
【図６】実施形態の文書処理装置が実行する処理手順の一例を示すフローチャートである。
【図７】元の画像から求められた配列構造に原文と訳文を流し込んだ結果コンテンツ領域がセルからはみ出た状況、及び各コンテンツ領域がセル内に収まるように各構造境界線を下方に移動させたときの状況、をそれぞれ模式的に示す図である。
【図８】構造全体の拡大を説明するための図である。
【図９】構造境界線を空白領域の方に移動させることにより配列構造を調整する流れを説明するための図である。
【図１０】最終的に求められたレイアウト結果を模式的に示す図である。
【図１１】領域とセルの間に余裕がある状態と、その余裕を詰めた状態とを模式的に示す図である。
【図１２】コンピュータのハードウエア構成の一例を示す図である。
【符号の説明】
【００６５】
１０  画像読取装置、１２  レイアウト解析部、１４  文字認識部、１６  翻訳処理部、１８  配列構造解析部、２０  記憶装置、３０  レイアウト処理部、３２  評価部、３４  配列構造調整部。
【図１】
0004544324.tif 000002
【図２】
0004544324.tif 000003
【図３】
0004544324.tif 000004
【図４】
0004544324.tif 000005
【図５】
0004544324.tif 000006
【図６】
0004544324.tif 000007
【図７】
0004544324.tif 000008
【図８】
0004544324.tif 000009
【図９】
0004544324.tif 000010
【図１０】
0004544324.tif 000011
【図１１】
0004544324.tif 000012
【図１２】
0004544324.tif 000013