(57)【要約】【課題】原稿データに含まれている複数の文字情報の中から所望の文字情報群の配列規則を判定できる画像処理装置を提供する。【解決手段】入力された名簿データから指定の宛名検索キーワードに該当する宛名を検索し、位置の計算と文字方向（横書き／縦書き）の判別を行う。この宛名の文字方向に基づいて該宛名を基点とした名簿データにおける宛名配列方向を予測する（Ｓ１２１）。上記の宛名に対して予測配列方向に配置されている文字を宛名候補として検出し（Ｓ１２２）、データベースを参照して宛名であるか否か照合する（Ｓ１２３）。照合された場合は（Ｓ１２４；Ｙｅｓ）、その文字（宛名）の位置を計算する（Ｓ１２５）。このようにして、名簿データに含まれている複数の宛名の位置を求め、これらの位置関係（間隔）に基づいて、名簿データに含まれている全ての宛名の配列を計算する（Ｓ１２６）。【選択図】図１３
2010072850.tif 000002
【特許請求の範囲】
【請求項１】
原稿データが入力される入力部と、
前記入力部から入力された第１の原稿データに含まれている複数の文字情報の中から内容が同じ種類である文字情報群の配列規則を判定する場合に、前記種類に属する文字情報を使用してその文字情報に該当する第１の文字情報を検索し、その第１の文字情報から所定方向に検索して前記種類に属する第２の文字情報を特定し、前記第１の文字情報と前記第２の文字情報との位置関係に基づいて前記配列規則を判定する制御部と、
を備える
ことを特徴とする画像処理装置。
【請求項２】
前記制御部は、前記第１の文字情報の検索では、その検索における検出確率の高い文字情報から順番に使用して前記第１の原稿データに含まれている複数の文字情報の中から検出された文字情報を前記第１の文字情報に決定する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記制御部は、前記第１の文字情報と前記第２の文字情報とを含む第１の列に配列された第３の文字情報から、前記第１の列方向とは異なる方向に検索して前記種類に属する第４の文字情報を特定できた場合は、その第４の文字情報の位置も加味して前記配列規則を判定する
ことを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記制御部は、前記第４の文字情報から前記第１の列に沿った方向に検索して前記種類に属する第５の文字情報を特定し、前記第４の文字情報と前記第５の文字情報との位置関係に基づいてその第４の文字情報と第５の文字情報とを含む第２の列に対する前記配列規則を判定する
ことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記制御部は、前記第１の列に沿った前記第４の文字情報を含む第２の列に対して前記第１の文字情報と前記第２の文字情報との位置関係に基づいて判定した前記配列規則を適用することでその第２の列に対する前記配列規則を判定する
ことを特徴とする請求項３に記載の画像処理装置。
【請求項６】
前記制御部は、前記第３の文字情報と前記第４の文字情報との位置関係に基づいて前記第１の列方向とは異なる方向の前記配列規則を判定する
ことを特徴とする請求項３に記載の画像処理装置。
【請求項７】
前記制御部は、前記第１の原稿データが複数ページのデータである場合は、前記配列規則の判定をページ毎に行う
ことを特徴とする請求項１乃至６のいずれか１つに記載の画像処理装置。
【請求項８】
前記制御部は、前記第１の文字情報の文字方向に基づいて前記所定方向を決定する
ことを特徴とする請求項１乃至７のいずれか１つに記載の画像処理装置。
【請求項９】
前記制御部は、前記第１の文字情報の書式と前記第１の文字情報に隣接する文字情報の書式とを比較し、前記第１の文字情報に対して書式の異なる文字情報が配置されている方向は前記第２の文字情報を検索する方向から除外する
ことを特徴とする請求項１乃至８のいずれか１つに記載の画像処理装置。
【請求項１０】
前記制御部は、前記第１の原稿データに含まれている複数の文字情報の中から前記配列規則に則って前記種類に属する個々の文字情報を抽出し、その文字情報を前記入力部から入力された第２の原稿データに合成して出力する
ことを特徴とする請求項１乃至９のいずれか１つに記載の画像処理装置。
【請求項１１】
前記制御部は、指定された文字情報を使用して前記第２の原稿データからその文字情報に該当する第６の文字情報を検索し、その第６の文字情報の位置と書式とに基づいて前記第２の原稿データに合成する文字情報の位置と書式とを決定する
ことを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記制御部は、前記種類に属する文字情報が登録されたデータベースを参照して前記特定を行う
ことを特徴とする請求項１乃至１１のいずれか１つに記載の画像処理装置。
【請求項１３】
前記制御部は、前記配列規則に則って前記抽出した文字情報に対し、前記種類に属する文字情報が登録されたデータベースを参照して前記種類に属するか否かを判定する
ことを特徴とする請求項１乃至１１のいずれか１つに記載の画像処理装置。
【請求項１４】
前記制御部は、前記種類に属するか否かの判定では、前記種類に属さないことを示す条件が登録されたデータベースも参照し、前記条件に該当する文字情報は前記種類に属さないと判定する
ことを特徴とする請求項１３に記載の画像処理装置。
【請求項１５】
表示部と、操作部とを備え、
前記制御部は、前記判定の結果を前記表示部に表示し、その判定の結果に対する確定または訂正の操作を前記操作部により受け付ける
ことを特徴とする請求項１３または１４に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力された原稿データに含まれている文字情報の配列規則を判定する機能を備えた画像処理装置に関する。
【背景技術】
【０００２】
各種の文字情報（文字列）が一覧形式に記載されている書類などを光学式文字読取装置（Optical Character Reader；ＯＣＲ）で読み取り、そのデータから所望の文字情報を抽出して他の書類に合成して印刷出力する技術は一般に知られている。
【０００３】
たとえば、特許文献１に記載されている放置自転車管理システムでは、放置自転車に関する情報が記載された書類（防犯回答登録リスト）を読み取って抽出した防犯登録番号、登録者氏名、登録者住所を、放置自転車の持ち主に対する引き取り通知書に合成して自動発行するようにしている。またこの技術では、読み取る書類の書式（フォーマット）が予め決められており、所定の範囲（防犯登録番号、登録者氏名、登録者住所が記載されている範囲）のみを読み取ることで所望の文字情報を抽出するようにしている。
【０００４】
【特許文献１】特開特開２０００−４０１０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の技術では読み取り対象となる書類が特定の書式に限られてしまい、抽出する文字情報の位置や配列が不明である場合は対応することができない。たとえば、一般の名簿などは書式が様々であり、氏名や住所などの位置や配列は様々である。このような様々な書式の名簿などから全員分の氏名のみを抽出するようなことはできないため、汎用性に乏しい問題がある。
【０００６】
本発明は、上記の問題を解決しようとするものであり、原稿データに含まれている複数の文字情報の中から所望の文字情報群の配列規則を判定することができる画像処理装置を提供することを目的としている。
【課題を解決するための手段】
【０００７】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
【０００８】
［１］原稿データが入力される入力部と、
前記入力部から入力された第１の原稿データに含まれている複数の文字情報の中から内容が同じ種類である文字情報群の配列規則を判定する場合に、前記種類に属する文字情報を使用してその文字情報に該当する第１の文字情報を検索し、その第１の文字情報から所定方向に検索して前記種類に属する第２の文字情報を特定し、前記第１の文字情報と前記第２の文字情報との位置関係に基づいて前記配列規則を判定する制御部と、
を備える
ことを特徴とする画像処理装置。
【０００９】
上記発明では、入力された原稿データ（第１の原稿データ）に含まれている複数の文字情報の中から、配列規則を判定しようとする文字情報群と同じ種類の文字情報を使用して、その文字情報（検索キーワード）に該当する第１の文字情報を検索する。
【００１０】
上記の文字情報群の種類とは、文字自体で分類される種類（アラビア数字、ローマ字、漢字など）などではなく、内容（情報内容）で分類される種類（名称、単語など）を指す。検索に使用する文字情報には、たとえば上記種類における代表的な文字情報やユーザが指定した文字情報などを使用することができる。
【００１１】
そして、第１の文字情報から所定方向に検索して上記種類に属する第２の文字情報を特定し、第１の文字情報と第２の文字情報との位置関係に基づいて、上記種類に属する文字情報群の配列規則を判定する。たとえば、上記種類に属する文字情報群は、第１の文字情報と第２の文字情報とを含む列方向に第１の文字情報と第２の文字情報の間隔で配列されているなどと判定する。
【００１２】
これにより、原稿データに含まれている複数の文字情報の中から内容が同じ種類である文字情報群の配列規則を判定することができる。
【００１３】
［２］前記制御部は、前記第１の文字情報の検索では、その検索における検出確率の高い文字情報から順番に使用して前記第１の原稿データに含まれている複数の文字情報の中から検出された文字情報を前記第１の文字情報に決定する
ことを特徴とする［１］に記載の画像処理装置。
【００１４】
上記発明では、第１の原稿データに含まれている複数の文字情報の中から第１の文字情報を検索する場合に、その検索における検出確率の高い文字情報（検索キーワード）から順番に使用して、該当する文字情報を検索する。そして、上記文字情報（検索キーワード）に該当する文字情報が検出された場合にその文字情報を第１の文字情報に決定する。このように、検出確率の高い文字情報から順番に使用して検索を行うことで、第１の文字情報の検索効率を向上することができる。
【００１５】
［３］前記制御部は、前記第１の文字情報と前記第２の文字情報とを含む第１の列に配列された第３の文字情報から、前記第１の列方向とは異なる方向に検索して前記種類に属する第４の文字情報を特定できた場合は、その第４の文字情報の位置も加味して前記配列規則を判定する
ことを特徴とする［１］または［２］に記載の画像処理装置。
【００１６】
上記発明では、第３の文字情報は、第１の文字情報と第２の文字情報とを含んだ第１の列に配列されている文字情報である。この第３の文字情報には、第１の文字情報と、第２の文字情報と、第１の列に配列されているそれ以外の文字情報とが含まれる。この第３の文字情報におけるいずれか１つまたは複数から第１の列とは異なる方向に検索して上記種類に属する第４の文字情報を特定できた場合は、配列規則を判定しようとする文字情報群が複数列で配列（２次元配列）されていると推定でき、その第４の文字情報の位置も加味して配列規則を判定する。これにより、複数列の配列規則も判定可能となる。
【００１７】
［４］前記制御部は、前記第４の文字情報から前記第１の列に沿った方向に検索して前記種類に属する第５の文字情報を特定し、前記第４の文字情報と前記第５の文字情報との位置関係に基づいてその第４の文字情報と第５の文字情報とを含む第２の列に対する前記配列規則を判定する
ことを特徴とする［３］に記載の画像処理装置。
【００１８】
上記発明では、複数列の配列規則の判定において、第１の列に沿った（第１の列と平行な）第２の列における上記文字情報群の配列規則が第１の列とは個別に判定される。
【００１９】
［５］前記制御部は、前記第１の列に沿った前記第４の文字情報を含む第２の列に対して前記第１の文字情報と前記第２の文字情報との位置関係に基づいて判定した前記配列規則を適用することでその第２の列に対する前記配列規則を判定する
ことを特徴とする［３］に記載の画像処理装置。
【００２０】
上記発明では、複数列の配列規則の判定において、第１の列に沿った（第１の列と平行な）第２の列における上記文字情報群の配列規則が第１の列と同じ配列規則であると判定される。
【００２１】
［６］前記制御部は、前記第３の文字情報と前記第４の文字情報との位置関係に基づいて前記第１の列方向とは異なる方向の前記配列規則を判定する
ことを特徴とする［３］に記載の画像処理装置。
【００２２】
上記発明では、第１の列方向とは異なる方向における上記文字情報群の配列規則を第３の文字情報と第４の文字情報との位置関係に基づいて判定する。たとえば、上記文字情報群は、第１の列方向とは異なる方向には、第３の文字情報と第４の文字情報の間隔で配列されているなどと判定する。
【００２３】
これにより、複数列の上記文字情報群に対する配列規則の判定において、第１の列方向とは異なる方向の配列規則を判定することができる。
【００２４】
［７］前記制御部は、前記第１の原稿データが複数ページのデータである場合は、前記配列規則の判定をページ毎に行う
ことを特徴とする［１］乃至［６］のいずれか１つに記載の画像処理装置。
【００２５】
上記発明では、複数ページの原稿データ（第１の原稿データ）に対しては、ページ毎に上記文字情報群の配列規則が判定される。
【００２６】
［８］前記制御部は、前記第１の文字情報の文字方向に基づいて前記所定方向を決定する
ことを特徴とする［１］乃至［７］のいずれか１つに記載の画像処理装置。
【００２７】
上記発明では、第１の文字情報の文字方向に基づいて、第１の文字情報から第２の文字情報を検索する所定方向（検索方向）を決定する。この文字方向とは、文字の並び方向であり、横書きや縦書きといった書字方向を指す。たとえば、第１の文字情報が横書きの場合は、配列規則を判定しようとする文字情報群が上下方向（縦方向）に配列されている可能性が高いため、上下方向に検索し、縦書きの場合は、同文字情報群が左右方向（横方向）に配列されている可能性が高いため、左右方向に検索するなどする。これにより、第２の文字情報を効率よく検索して特定できるようになる。
【００２８】
［９］前記制御部は、前記第１の文字情報の書式と前記第１の文字情報に隣接する文字情報の書式とを比較し、前記第１の文字情報に対して書式の異なる文字情報が配置されている方向は前記第２の文字情報を検索する方向から除外する
ことを特徴とする［１］乃至［８］のいずれか１つに記載の画像処理装置。
【００２９】
上記発明では、第１の文字情報に隣接する文字情報が第１の文字情報と書式（文字の大きさ、書体など）が異なる場合は、配列規則を判定しようとする文字情報群が第１の文字情報からその書式の異なる文字情報の方向に配列されている可能性は低いため、その方向には第２の文字情報の検索を行わないようにする。これにより、第２の文字情報を効率よく検索して特定できるようになる。
【００３０】
また、上記発明を［８］に記載した第１の文字情報の文字方向に基づいて所定方向（第２の文字情報の検索方向）を決定する発明と組み合わせる場合は、たとえば、第１の文字情報が横書きであるため所定方向を上下方向にしようとするが、上下方向における一方向（たとえば上方向）に配置されている文字情報の書式が異なる場合にその一方向へは第２の文字情報を検索しないなどが可能である。
【００３１】
［１０］前記制御部は、前記第１の原稿データに含まれている複数の文字情報の中から前記配列規則に則って前記種類に属する個々の文字情報を抽出し、その文字情報を前記入力部から入力された第２の原稿データに合成して出力する
ことを特徴とする［１］乃至［９］のいずれか１つに記載の画像処理装置。
【００３２】
上記発明では、第１の原稿データから抽出された内容が同じ種類である個々の文字情報が第２の原稿データに合成されて出力される。
【００３３】
［１１］前記制御部は、指定された文字情報を使用して前記第２の原稿データからその文字情報に該当する第６の文字情報を検索し、その第６の文字情報の位置と書式とに基づいて、前記第２の原稿データに合成する文字情報の位置と書式とを決定する
ことを特徴とする［１０］に記載の画像処理装置。
【００３４】
上記発明では、第２の原稿データから検索した指定の文字情報（第６の文字情報）に対して、第１の原稿データから抽出した文字情報を合成する場合に、その合成する文字情報の位置と書式（文字の大きさ、文字方向など）を、上記指定の文字情報の位置と書式に基づいて決定する。これにより、指定の文字情報に対して合成する文字情報を見栄え良く配置したり、見栄えの良くなる書式にしたりするなどが可能となる。
【００３５】
［１２］前記制御部は、前記種類に属する文字情報が登録されたデータベースを参照して前記特定を行う
ことを特徴とする［１］乃至［１１］のいずれか１つに記載の画像処理装置。
【００３６】
上記発明では、上記文字情報（第２〜第５の文字情報）の特定を、上記種類に属する文字情報が登録されたデータベースを参照して簡単に行うことができる。
【００３７】
［１３］前記制御部は、前記配列規則に則って前記抽出した文字情報に対し、前記種類に属する文字情報が登録されたデータベースを参照して前記種類に属するか否かを判定する
ことを特徴とする［１］乃至［１１］のいずれか１つに記載の画像処理装置。
【００３８】
上記発明では、配列規則に則って抽出した文字情報が上記種類に属するか否かの判定（検証）を、上記種類に属する文字情報が登録されたデータベースを参照して簡単に行うことができる。なお、上記第１および第２の文字情報や第４および第５の文字情報は、上記種類に属することが判明しているため、上記判定を省略するようにしてもよい。これにより、抽出した中に上記種類に属していない文字情報が含まれていた場合はその文字情報を除外するなどが可能となる。
【００３９】
［１４］前記制御部は、前記種類に属するか否かの判定では、前記種類に属さないことを示す条件が登録されたデータベースも参照し、前記条件に該当する文字情報は前記種類に属さないと判定する
ことを特徴とする［１３］に記載の画像処理装置。
【００４０】
上記発明では、配列規則に則って抽出した文字情報が上記種類に属するか否かの判定においては、上記種類に属さないことを示す条件を登録したデータベースも参照することで、判定を行う上での効率や精度を向上できる。
【００４１】
［１５］表示部と、操作部とを備え、
前記制御部は、前記判定の結果を前記表示部に表示し、その判定の結果に対する確定または訂正の操作を前記操作部により受け付ける
ことを特徴とする［１３］または［１４］に記載の画像処理装置。
【００４２】
上記発明では、配列規則に則って抽出された文字情報が上記種類に属するか否かを自動判定した結果が表示され、ユーザはその判定結果を確認して確定または訂正できるようになる。これにより、誤判定された文字情報や出力する必要のない文字情報などが第２の原稿データに合成されて出力されるような無駄を抑制することができる。
【発明の効果】
【００４３】
本発明の画像処理装置によれば、原稿データに含まれている複数の文字情報の中から所望の文字情報群の配列規則を判定できるようになる。したがって、汎用性や利便性が向上する。
【発明を実施するための最良の形態】
【００４４】
以下、図面に基づき本発明の実施の形態を説明する。
【００４５】
［第１の実施の形態］
図１は、本発明の第１の実施の形態に係る画像処理装置としての複合機１０（ＭＦＰ；Multi Function Peripheral/Multi Function Printer）の概略構成を示している。
【００４６】
複合機１０は、原稿のコピー機能、プリンタ機能、スキャナ機能、ファクシミリ機能などを備えている。
【００４７】
スキャナ機能には、光学的に読み取った原稿に記載されている文字のイメージデータを自動認識してテキストデータに変換するＯＣＲ機能が設けられている。
【００４８】
コピー機能には、読み取った原稿をデフォルト設定やユーザ設定による条件で複写印刷する通常コピーモードの他に、上記のＯＣＲ機能を使用して第１の原稿に含まれている所望の文字情報（文字列）を抽出し第２の原稿に合成して印刷する自動合成モードが設けられている。この自動合成モードは、たとえば第１の原稿（抽出元原稿）としての「名簿」や「住所録」などから所望の文字情報としての「宛名」や「宛先」などを抽出して第２の原稿（合成先原稿）としての「送付状」、「案内状」、「通知書」などに自動的に合成するなどにより、宛名書きや宛先書きなどの作業を軽減できるモードである（自動宛名書きモード／自動宛先書きモード）。
【００４９】
なお、本明細中で使用する「文字情報」とは、１つまたは複数の文字からなる何らかの意味（情報）を有する名称や単語などを指し、一般的に使われている「文字列」などと同義である。この文字情報は、たとえば、人名（姓、名）、社名、地名（日本の場合は都道府県市区町村名）、郵便番号など、内容（情報内容）による分類が可能である。以下では「文字情報」を単に「文字」と呼ぶ場合がある。
【００５０】
また、名簿などに記載されている人名や社名などの名称（名前）は、送付状などのドキュメント（書類）における宛名欄に記入されることで、そのドキュメントにおける宛名となる。ただし本明細中では、便宜的に名簿上でも宛名と称して説明する。
【００５１】
複合機１０は、制御部としてのＣＰＵ（Central Processing Unit）１１に、バス１２を介してＲＯＭ（Read Only Memory）１３と、ＲＡＭ（Random Access Memory）１４と、不揮発メモリ１５と、ハードディスク装置（Hard Disk Drive；ＨＤＤ）１６と、操作部１７と、表示部１８と、ファクシミリ通信部１９と、ネットワーク通信部２０と、原稿送り装置制御部２１と、スキャナ部２２と、画像処理部２３と、プリンタ部２４とを接続して構成される。
【００５２】
ＣＰＵ１１は、ＲＯＭ１３に格納されているプログラムに基づいて複合機１０の動作を制御する。自動合成モードでは、原稿データに対する文字（文字情報）の抽出と合成も行う。ＲＡＭ１４はＣＰＵ１１がプログラムを実行する際に各種データを一時的に格納するワークメモリとして使用されるほか、画像データを一時的に保存するための画像メモリなどにも使用される。
【００５３】
不揮発メモリ１５は、電源がオフされても記憶が保持されるメモリであり、装置固有の情報や各種の設定情報などが記憶される。ハードディスク装置１６は、各種の保存データなどを格納するほか、原稿のスキャンやコピーにおける画像データ、クライアント端末から依頼された印刷における画像データ（印刷データ）なども保存する。
【００５４】
操作部１７は、モード選択ボタン、スタートボタン、ストップボタン、テンキーなどの各種のボタン類などで構成され、ユーザなどが複合機１０に対して行う各種の操作を受け付ける機能を果たす。表示部１８は、液晶ディスプレイなどで構成され、操作画面、設定画面、案内画面などの各種の画面を表示する機能を果たす。
【００５５】
ファクシミリ通信部１９は、ファクシミリ機能を備えた外部装置と公衆回線を通じて通信する機能を果たす。ネットワーク通信部２０は、クライアント端末やサーバなどの外部装置とＬＡＮ（Local Area Network）などのネットワークを通じて通信する機能を果たす。
【００５６】
原稿送り装置制御部２１は、図示しない自動原稿送り装置（Auto Document Feeder；ＡＤＦ）の動作を制御する機能を果たす。自動原稿送り装置は、スキャナ部２２による読取位置に原稿を自動で送り込む機能を備えている。たとえば、原稿が積載される原稿トレイと、原稿トレイに積載された原稿をスキャナ部２２の読取位置に案内し排出するための搬送通路と、原稿トレイに積載された原稿を１枚ずつ搬送通路に送り込み、スキャナ部２２の読取位置を通過させて搬送通路から排出する複数の搬送ローラと、スキャナ部２２による読み取りの済んだ原稿が搬送通路から排出される排出トレイなどで構成される。
【００５７】
スキャナ部２２は、原稿を光学的に読み取って画像データ（原稿データ）を取得する機能を果たす。たとえば、原稿に光を照射する光源と、原稿からの反射光を受光して原稿を幅方向（主走査方向）に１ライン分読み取るイメージセンサと、イメージセンサによるライン単位の読み取り位置を原稿の長さ方向（副走査方向）に移動させるスキャン機構と、原稿からの反射光をイメージセンサに導いて結像させるレンズやミラーからなる光学経路（光学系）などを備えている。
【００５８】
画像処理部２３は画像データに対して、画像補正、回転、拡大／縮小、圧縮／伸張など各種の画像処理を施す機能を果たす。また、クライアント端末から依頼された印刷における印刷データ（ベクタ形式のイメージデータ）に対してラスタライズ処理を施す機能を果たす。
【００５９】
プリンタ部２４は、入力された画像データに対応する画像を用紙に形成して出力する機能を果たす。たとえば、用紙の搬送装置と、感光体ドラムと、帯電装置と、レーザーユニットと、現像装置と、転写分離装置と、クリーニング装置と、定着装置などを備え、電子写真プロセスによって用紙上に画像を形成するレーザープリンタなどとして構成される。
【００６０】
図２は、自動合成モードにおけるＣＰＵ１１の機能ブロック図を示している。また本図では、自動合成モードに関連する上述した複合機１０の主要構成も示している。
【００６１】
自動合成モードでは、たとえば、宛名が未記入であるドキュメント５０と、ドキュメント５０に記入する宛名としての人名（姓、名）や社名などが複数記載されている名簿６０とを読み取ってＯＣＲ機能による文字の自動認識を行う。このＯＣＲ処理による文字認識後に、ドキュメント５０に記載されている「様」、「殿」、「御中」などの敬称の検索と、名簿６０に記載されている複数の宛名（文字情報群）の配列規則の判定（配列予測）やその規則で配列されている文字が宛名であるか否かの判定を行う。そして、名簿６０から全ての宛名を抽出し、各宛名を敬称に合わせて合成した宛名数分のドキュメント５０を印刷するなどが可能となっている。
【００６２】
データ入力部２２は、上記例のような宛名が未記入であるドキュメント５０の画像データと、ドキュメント５０に記入する宛名が記載された名簿６０の画像データとを入力する機能を果たす。ここでは、データ入力部２２は上述したスキャナ部２２で構成されている。データ入力部２２（スキャナ部２２）は、自動原稿送り装置にセットされ自動で送り込まれるなどしたドキュメント５０と名簿６０を光学的に読み取り、各々の画像データ（原稿データ）を取得することでデータ入力を行う。
【００６３】
また、上記のような原稿の読み取りによるデータ入力で、ドキュメント５０と名簿６０の画像データを識別するには、読み取る原稿の種類をユーザが指定して個別に読み取らせるなどの構成により実現できる。
【００６４】
たとえば、操作部１７に、合成先原稿（ドキュメント５０）を指定する合成先原稿指定ボタンと、抽出元原稿（名簿６０）を指定する抽出元原稿指定ボタンとを設ける。ユーザは、一方の種類の原稿を複合機１０にセットし、その種類に対応する原稿指定ボタンを操作してから読み取り開始ボタン（スタートボタン）を操作する。この原稿の読み取り完了後に、他方の種類の原稿を複合機１０にセットし、その種類に対応する原稿指定ボタンを操作してから読み取り開始ボタンを操作する。このような構成により、入力された画像データがユーザの指定した種類の原稿に対応するデータであることを識別できるようになる。
【００６５】
また、入力された画像データをＯＣＲ処理して原稿の内容を解析し、自動的に識別するようにしてもよい。
【００６６】
なお、以下ではドキュメントの画像データを「ドキュメントデータ」と略称し、名簿の画像データを「名簿データ」と略称する。また、それらを総称する場合は「原稿データ」と言う。
【００６７】
データ保存部１４は、データ入力部２２から入力されたドキュメントデータと名簿データを保存する機能を果たす。ここでは、データ保存部１４は上述したＲＡＭ１４、もしくは、複合機１０内に実装されているＤＲＡＭ（Dynamic Random Access Memory）やＳＲＡＭ（Static Random Access Memory）などのメモリで構成される。
【００６８】
ＣＰＵ１１は、原稿情報出力部３１と、文字照合部３２と、文字座標検出部３３と、宛名配列予測部３４と、宛名読出部３５と、宛名判定部３６と、宛名貼付部３７とを備え、これらの機能部によって名簿データからの宛名の抽出とドキュメントデータへの合成とを行う。
【００６９】
データ出力部２４は、ＣＰＵ１１によって作成された、宛名が合成されたドキュメントデータを出力する機能を果たす。ここでは、データ出力部２４は上述したプリンタ部２４で構成されている。データ出力部２４（プリンタ部２４）は、上記のドキュメントデータに対応する画像を用紙に形成して出力することでデータ出力を行う。
【００７０】
ＣＰＵ１１における原稿情報出力部３１は、原稿データに含まれている所望の文字（宛名、敬称など）の位置や大きさを判別（計算）するために必要となる原稿に関する情報（原稿情報）を作成して出力する役割を担う。本例では、文字の位置や大きさをライン数（ドット数）で表すようにしている。
【００７１】
詳細には、原稿情報出力部３１は、データ入力部２２から原稿データが入力されると、その原稿データに係る原稿情報を格納した原稿情報テーブル４１を作成する。原稿情報は、原稿サイズと、読み取り解像度と、それらの情報から計算した原稿の幅方向（Ｘ方向）および長さ方向（Ｙ方向）のライン数である。原稿情報出力部３１は、この原稿情報を格納した原稿情報テーブル４１を文字座標検出部３３と宛名配列予測部３４に出力する。
【００７２】
たとえば、原稿が上記のドキュメント５０と名簿６０であって、それらの原稿サイズと読み取り解像度が同じであれば、同一の情報を格納した１つ（共通）の原稿情報テーブルを作成する。原稿サイズと読み取り解像度の少なくとも一方が異なっていてライン数が異なる場合には、１つ原稿情報テーブルに各原稿の情報を個別に格納したり、原稿情報テーブルを原稿毎に作成したりするなどしてもよい。
【００７３】
文字照合部３２は、原稿データに含まれている所望の文字の検索に使用する検索キーワードの提示や、所望の文字の特定や判定における照合を行う役割を担う。詳細には、予め設定された検索キーワードとなる文字を文字座標検出部３３に提示したり、宛名配列予測部３４や宛名判定部３６から照合を依頼された文字を照合したりする。
【００７４】
上記の提示や照合に用いる文字は、ハードディスク装置１６などに格納されたデータベース３８に予め登録されている。本例の場合は、データベース３８に宛名としての人名（日本で使用されている苗字）と、敬称としての「様」、「殿」、「さん」などが登録されている（宛名リスト／敬称リスト）。また必要に応じて、宛名としての社名や、敬称としての「御中」や、地名、郵便番号、電話番号などの宛先に関する情報（宛先リスト）を登録するようにしてもよい。
【００７５】
文字照合部３２はデータベース３８にアクセスすることで、検索キーワードとして提示する文字（敬称検索キーワード／宛名検索キーワード）の取得や、照合を依頼された文字の照合を行う。また検索キーワードは、ユーザが操作部１７などを通して指定（設定）することも可能となっている。
【００７６】
文字座標検出部３３は、原稿データに含まれている所望の文字の検出とその位置（座標位置）および大きさ（文字サイズ）を計算する役割を担う。
【００７７】
詳細には、文字照合部３２から提示された敬称検索キーワードをドキュメントデータから検索し、原稿情報テーブル４１に格納されている原稿のＸＹライン数を使用して、検索した敬称の位置とサイズをＸＹライン数として算出する。さらに、検索した敬称の文字方向（横書き／縦書き）を判別する。この検索した敬称と、位置を示すＸＹライン数と、文字サイズを示すＸＹライン数と、文字方向とを格納した敬称座標テーブル４２を作成し、宛名貼付部３７に出力する。
【００７８】
また、文字照合部３２から提示された宛名検索キーワードを名簿データから検索し、原稿情報テーブル４１に格納されている原稿のＸＹライン数を使用して、検索した宛名の位置とサイズをＸＹライン数として算出する。さらに、検索した宛名の文字方向（横書き／縦書き）を判別する。この検索した宛名と、位置を示すＸＹライン数と、文字サイズを示すＸＹライン数と、文字方向とを格納した宛名座標テーブル４３を作成し、宛名配列予測部３４に出力する。
【００７９】
宛名配列予測部３４は、名簿データに含まれている宛名の配列を予測して（配列規則を判定して）その結果を出力する役割を担う。詳細には、原稿情報テーブル４１と宛名座標テーブル４３に基づいて、名簿データに含まれている宛名の配列を予測（計算）し、宛名毎に（宛名と推測できる文字毎に）予測配置位置を示すＸＹライン数と文字サイズを示すＸＹライン数とを対応付けて格納した宛名配列テーブル４４を作成し、宛名読出部３５に出力する。
【００８０】
宛名読出部３５は、宛名配列予測部３４が予測した位置に配置されている文字を名簿データから読み出して出力する役割を担う。詳細には、宛名配列テーブル４４に格納されている情報（予測配置位置および対応する文字サイズ）に基づいて名簿データから文字を読み出し、その文字を元の情報に対応付けて宛名配列テーブル４４に格納し、宛名判定部３６に出力する。
【００８１】
宛名判定部３６は、名簿データから読み出された文字が宛名であるか否かを判定してその結果を出力する役割を担う。詳細には、宛名配列テーブル４４に格納されている文字の照合を文字照合部３２に依頼し、その結果を示す宛名判定情報をその文字に対応付けて宛名配列テーブル４４に格納することにより、宛名配列テーブル４４から新たに宛名判定テーブル４５を作成し、宛名貼付部３７に出力する。
【００８２】
宛名貼付部３７は、宛名と判定された文字をドキュメントデータに貼り付けて出力する役割を担う。詳細には、宛名判定テーブル４５に格納されている文字の中から、宛名判定情報に基づいて宛名とされた文字を読み出し、敬称座標テーブル４２に基づいてドキュメントデータの敬称に合わせて貼り付け、データ出力部２４に出力する。
【００８３】
またＣＰＵ１１はプログラムを実行することで、名簿データに含まれている宛名（文字情報群）の配列規則を判定する場合に、宛名に属する文字（宛名検索キーワード）を使用してその文字に該当する第１の文字を検索し、その第１の文字から所定方向に検索して宛名に属する第２の文字を特定し、第１の文字と第２の文字との位置関係に基づいて宛名の配列規則を判定する機能を果たす。所定方向は、本実施の形態では名簿データ（名簿６０）における上下左右方向とされており、第１の文字からいずれの方向へ検索するかは、第１の文字の文字方向（横書き／縦書き）などに基づいて決定するようになっている。
【００８４】
次に、複合機１０の動作について説明する。
【００８５】
図３は、複合機１０による自動合成モードの処理の流れを示している。図３に示すフローチャートでは処理の概要を説明し、詳細については後述する。
【００８６】
複合機１０では、ユーザによるモード選択ボタンの操作で自動合成モード（自動宛名書きモード）が選択されると、ＣＰＵ１１は本処理を開始する（Ｓｔａｒｔ）。続いて、ユーザによる操作で上述したドキュメント５０と名簿６０の読み取りを行い、原稿データ（ドキュメントデータ／名簿データ）を入力する（ステップＳ１０１）
【００８７】
この原稿データの入力では、ユーザは、たとえばドキュメント５０を自動原稿送り装置にセットし、原稿の種類をドキュメント（合成先原稿）に指定してからスタートボタンを押下する。ＣＰＵ１１は、原稿送り装置制御部２１を介して自動原稿送り装置によりドキュメント５０を送り込む。このドキュメント５０をスキャナ部２２で読み取り、スキャナ部２２から入力された画像データをドキュメント５０の画像データ（ドキュメントデータ）であると認識してデータ保存部１４に保存する。
【００８８】
ドキュメント５０の読み取りが完了すると、ユーザは、名簿６０を自動原稿送り装置にセットし、原稿の種類を名簿（抽出元原稿）に指定してからスタートボタンを押下する。ＣＰＵ１１は、原稿送り装置制御部２１を介して自動原稿送り装置により名簿６０を送り込む。この名簿６０をスキャナ部２２で読み取り、スキャナ部２２から入力された画像データを名簿６０の画像データ（名簿データ）であると認識してデータ保存部１４に保存する。
【００８９】
ＣＰＵ１１は、ドキュメントデータと名簿データから、それらのデータに含まれている敬称や宛名の位置や大きさを判別（計算）するために必要となる原稿情報を格納した原稿情報テーブル４１を作成する（ステップＳ１０２）。
【００９０】
続いて、ドキュメントデータに対するＯＣＲ処理と敬称検索キーワードを使用した検索によって、ドキュメント５０に記載されている敬称を検索する。また、名簿データに対するＯＣＲ処理と宛名検索キーワードを使用した検索によって、名簿６０に記載されている複数の宛名の中から所定数（少なくとも１つ）の宛名を検索する（ステップＳ１０３）。この宛名の周辺に配置されている他の宛名をデータベース３８を参照して特定し、これらの複数の宛名の位置関係に基づいて全ての宛名の配列位置を予測する（ステップＳ１０４）。
【００９１】
ＣＰＵ１１は、名簿データから、予測した配列位置に存在する個々の文字を宛名候補として読み出し（ステップＳ１０５）、宛名であるか否かをデータベース３８を参照して個々に判定する（ステップＳ１０６）。宛名であると判定した文字については、ドキュメントデータにおける敬称の近傍位置に貼り付ける（ステップＳ１０７）。このドキュメントデータをプリンタ部２４に入力して宛名が合成されたドキュメントを印刷出力し（ステップＳ１０８）、本処理を終了する（Ｅｎｄ）。
【００９２】
次に、図３のフローチャートに示した手順に従って自動合成モードの詳細を図４〜図１６を用いて説明する。
【００９３】
本実施の形態では、学校の先生が生徒の父兄へ配布する「お知らせ資料」に父兄の名前を個別に記入する場合で説明する。たとえば、お知らせ資料に宛名を１通ずつ手書きすると手間が掛かるため、複合機１０の自動合成モードを使用して、図４に示すようなお知らせ資料としてのドキュメント５０と、生徒の氏名や住所が記載されたクラス（○年○組）の名簿６０を読み取らせることにより、お知らせ資料への宛名書きを自動で行うようにする。
【００９４】
ドキュメント５０は、文書全体の書式が横書きとされている。文書の右肩部（右上部）に宛名記入欄が設けられ、「様」と記載された敬称５１が配置されている。敬称５１のサイズは１２ｐｔとなっている。この敬称５１の前側（図示の左側）に宛名を横書きで記入するようになっており、宛名自体は未記入で敬称５１の前側は空白となっている。
【００９５】
名簿６０は、書式が横書きとされ、複数の生徒の氏名６１と住所６２が一覧形式で記載されている。詳細には、生徒１人分の氏名６１と住所６２が横方向（左右方向）に配列され、氏名６１の５０音順に縦方向（上下方向）に配列されている。また、文字サイズは８ｐｔとなっている。
【００９６】
本例では、ドキュメント５０と名簿６０は共に、Ａ４サイズの縦向きであり、６００dpi（dot per inch）の解像度で読み取る場合で説明する。また、原稿の幅方向（左右方向）をＸ方向とし、長さ方向（上下方向）をＹ方向とすると共に、ＸＹ座標における原点位置を図示の左下角部に設定した場合で説明する。
【００９７】
（１）原稿データ（ドキュメント、名簿）入力
図３のステップＳ１０１では、図４に示すように、データ入力部２２から入力されたドキュメント５０の画像データ（ドキュメントデータ７０）と名簿６０の画像データ（名簿データ８０）は、データ保存部１４に一旦保存される。
【００９８】
（２）原稿情報作成
図３のステップＳ１０２では、図４に示すように、原稿情報出力部３１は、入力されたドキュメントデータ７０および名簿データ８０の原稿サイズと読み取り解像度から原稿のＸＹ方向のライン数（ドット数）を計算する。
【００９９】
ドキュメント５０と名簿６０が共に、Ａ４サイズの縦向きで、解像度が６００dpiで読み取られた本例の場合は、ＸＹ方向のライン数はそれぞれ[Ｘ：Ｙ＝４９６０Line：７０１５Line]と計算される。原稿情報出力部３１は、原稿サイズと、解像度と、ＸＹライン数とを格納した共通の原稿情報テーブル４１を作成する。なお、ドキュメント５０と名簿６０で原稿サイズおよび読み取り解像度の少なくとも一方が異なっていてＸＹライン数が異なる場合には、上記の原稿情報テーブル４１に各々の原稿情報を個別に格納する、もしくは、原稿情報テーブルを個別に作成するなどする。
【０１００】
（３）敬称／宛名検索
ここでは、図３のステップＳ１０３による、ドキュメントデータ７０と名簿データ８０から指定の文字（敬称／宛名）を検索する方法について説明する。
【０１０１】
（３−１）ドキュメントデータからの指定敬称検索方法
図５に示すように、データ保存部１４に保存されているドキュメントデータ７０が文字座標検出部３３に入力される。このデータ入力と共に、原稿情報出力部３１は原稿情報テーブル４１を文字座標検出部３３に出力する。文字照合部３２は、予め設定されている敬称検索キーワード９０をデータベース３８から取得して文字座標検出部３３に出力する。本例では、敬称検索キーワード９０は「様」としている。
【０１０２】
文字座標検出部３３は、ドキュメントデータ７０をＯＣＲ処理し、敬称検索キーワード９０の「様」という文字がドキュメントデータ７０に存在するかを検索する。ドキュメントデータ７０に「様」という文字が存在しておらず、検出できなかった場合には、文字座標検出部３３は文字照合部３２に対して次の敬称検索キーワードの出力を要求し、新たに入力された敬称検索キーワードを使用して再検索する。
【０１０３】
敬称検索キーワードの例としては、「様」の他に、「殿」、「さん」、などが挙げられる。また、宛名が社名などの場合には「御中」なども挙げられる。文字照合部３２は、文字座標検出部３３から敬称検索キーワードの出力要求を受ける毎に、予め設定されている順番で敬称検索キーワードを文字座標検出部３３に出力する。
【０１０４】
本例の場合はドキュメントデータ７０に「様」という文字が存在しているため（敬称５１）、文字座標検出部３３はその文字（検索指定文字）を検出する。そして、検出した文字（「様」）の座標位置と文字サイズを計算する。
【０１０５】
座標位置は、１文字の場合はその文字の中心位置とし、複数文字の場合は先頭の文字の中心位置とする。文字サイズは、１文字の場合はその文字のみのサイズとし、複数文字の場合はその複数文字全体のサイズとする。
【０１０６】
本例の場合は、座標位置がＸ：Ｙ＝４６００Line：６８００Line（１８０ｍｍ：２６７ｍｍ相当）となり、文字サイズがＸ：Ｙ＝１０５Line：１０５Line（１２ｐｔからの概略換算値）となる。
【０１０７】
文字座標検出部３３は、更に宛名の貼り付けに必要な情報として文字方向も検出する。検索指定文字が複数文字の場合は、文字の並びが左右方向であれば文字方向を横書き（「ヨコ」）として検出し、文字の並びが上下方向であれば文字方向を縦書き（「タテ」）として検出する。
【０１０８】
本例の「様」のように１文字である場合は、その文字のみでは文字方向を検出できないため、文字座標検出部３３が再度、他の複数文字を検索して文字方向を検出したり、ユーザによってドキュメント５０の横書き／縦書きを指定してもらったりするなどしてもよい。また、複数文字の再検索では、たとえば、「です。」、「ます。」、「である。」など、文章に必ず存在する文字を検索することで、文字方向の検出が可能である。
【０１０９】
本例のドキュメント５０は横書きであり、上記の文字方向は横書きとして検出される。文字座標検出部３３は、検出した文字(敬称５１）を敬称欄に格納すると共にその文字の座標位置と文字サイズの計算結果、および、文字方向の検出結果を格納した敬称座標テーブル４２を作成する。
【０１１０】
（３−２）名簿データからの指定宛名検索方法
図６に示すように、データ保存部１４に保存されている名簿データ８０が文字座標検出部３３に入力される。このデータ入力と共に、原稿情報出力部３１は原稿情報テーブル４１を文字座標検出部３３に出力する。文字照合部３２は、予め設定されている宛名検索キーワード９１をデータベース３８から取得して文字座標検出部３３に出力する。本例では、宛名検索キーワード９１は「佐藤」としている。
【０１１１】
なお、本例のようにドキュメントデータ７０（ドキュメント５０）と名簿データ８０（名簿６０）で原稿情報テーブル４１が共通である場合には、名簿データ８０の入力に伴う原稿情報出力部３１から文字座標検出部３３への原稿情報テーブル４１の出力を省略し、文字座標検出部３３はドキュメントデータ７０の入力時に原稿情報出力部３１から入力された原稿情報テーブル４１を使用して処理を進めるようにしてもよい。
【０１１２】
文字座標検出部３３は、名簿データ８０をＯＣＲ処理し、宛名検索キーワード９１である「佐藤」という文字が名簿データ８０に存在するか検索する。名簿データ８０に「佐藤」という文字が存在しておらず、検出できなかった場合には、文字座標検出部３３は文字照合部３２に対して次の宛名検索キーワードの出力を要求し、新たに入力された宛名検索キーワードを使用して再検索する。
【０１１３】
宛名検索キーワードは、たとえば、日本で使用されている苗字を予めデータベース３８に登録しておき、文字照合部３２が文字座標検出部３３から宛名検索キーワードの出力要求を受ける毎に、使用数の多い（検出確率の高い）苗字から順番に宛名検索キーワード９１として出力したり、ユーザが設定した苗字を宛名検索キーワード９１として出力したりするなどが可能である。
【０１１４】
前者の場合は、たとえば図７（Ａ）に示すように、日本での使用数が多く、苗字の検索において検出確率の高い苗字から順番に、「佐藤」、「鈴木」、「高橋」、「田中」などが宛名検索キーワードとして出力される。後者の場合は、たとえば図７（Ｂ）に示すように、ユーザが操作部１７を通じて設定した「鈴木」という苗字が宛名検索キーワードとして出力される。
【０１１５】
本例の場合は名簿データ８０に「佐藤」という文字が存在していないため、図７（Ａ）に例示した構成では、文字座標検出部３３は文字照合部３２に対して次の宛名検索キーワードの出力を要求する。文字照合部３２は、次の宛名検索キーワード９２として「鈴木」を文字座標検出部３３に出力する（図６参照）。
【０１１６】
「鈴木」という文字は本例の名簿データ８０に存在しているため（文字６３）、文字座標検出部３３はその文字（検索指定文字）を検出し、ここで検索を中止する。そして、検出した文字６３（「鈴木」）の座標位置と文字サイズを計算する。なお、１文字であるか複数文字であるかに応じた座標位置と文字サイズの計算方法は、敬称の場合と同じである。
【０１１７】
本例の場合は、座標位置（先頭文字の「鈴」の中心位置）がＸ：Ｙ＝８００Line：４３００Lineとなり、文字サイズ（「鈴木」の２文字の全体のサイズ）がＸ：Ｙ＝１４０Line：７０Line（８ｐｔからの概略換算値）となる。
【０１１８】
文字座標検出部３３は、更に宛名の貼り付けに必要な情報として文字方向も検出する。なお、１文字であるか複数文字であるかに応じた文字方向の検出方法は、敬称の場合と同じである。本例の「鈴木」のように２文字の並びが左右方向であれば文字方向は横書き（「ヨコ」）として検出される。文字座標検出部３３は、検出した文字(文字６３）を宛名欄に格納すると共にその文字の座標位置と文字サイズの計算結果、および、文字方向の検出結果を格納した宛名座標テーブル４３Ａを作成する。
【０１１９】
図８は、上述した敬称／宛名検索の処理の流れを示すフローチャートであり、図３のステップＳ１０３を詳細に示したサブルーチンである。
【０１２０】
敬称／宛名検索の処理が開始されると、文字照合部３２は敬称検索キーワードを文字座標検出部３３に出力する（ステップＳ１１１）。文字座標検出部３３は、指定された敬称検索キーワードに一致（該当）する文字（敬称）をドキュメントデータ７０から検索する（ステップＳ１１２）。検索指定文字を検出できない場合は（ステップＳ１１３；Ｎｏ）、文字照合部３２に次の敬称検索キーワードの出力を要求する（ステップＳ１１１以降の繰り返し）。
【０１２１】
検索指定文字を検出できた場合は（ステップＳ１１３；Ｙｅｓ）、その文字（敬称）の配置位置などを計算する（ステップＳ１１４）。詳細は、上述した座標位置と文字サイズの計算および文字方向の検出である。そして文字座標検出部３３は、その結果を敬称座標テーブル４２に格納する。
【０１２２】
続いて、文字照合部３２は宛名検索キーワードを文字座標検出部３３に出力する（ステップＳ１１５）。文字座標検出部３３は、指定された宛名検索キーワードに一致（該当）する文字（宛名（苗字））を名簿データ８０から検索する（ステップＳ１１６）。検索指定文字を検出できない場合は（ステップＳ１１７；Ｎｏ）、文字照合部３２に次の宛名検索キーワードの出力を要求する（ステップＳ１１５以降の繰り返し（図７（Ａ）に例示した構成の場合））。
【０１２３】
検索指定文字を検出できた場合は（ステップＳ１１７；Ｙｅｓ）、その文字（宛名）の配置位置などを計算する（ステップＳ１１８）。詳細は、上述した座標位置と文字サイズの計算および文字方向の検出である。そして文字座標検出部３３は、その結果を宛名座標テーブル４３に格納し、本処理を終了する（Ｒｅｔｕｒｎ）。
【０１２４】
（４）宛名配列位置予測
ここでは、図３のステップＳ１０４による、名簿データ８０に含まれている宛名（名簿６０に記載されている氏名）の配列位置を予測する（配列規則を判定する）方法について説明する。上述した（３−２）で「鈴木」という宛名を１つ検出しており、この検出結果に基づいて「鈴木」以外の宛名がどのように配列されているかを予測する。
【０１２５】
図９に示すように、一般に名簿に記載されている氏名が横書きの場合は、氏名が上下方向に配列されている可能性が高く、氏名が縦書きの場合は、氏名が左右方向に配列されている可能性が高い。上述した宛名座標テーブル４３Ａには、検出した宛名の文字方向（横書き／縦書き）が格納されており、この文字方向に基づいて、検出された宛名（本例では「鈴木」）から次の宛名を検索する方向を決定する。
【０１２６】
図１０に示すように、文字座標検出部３３からＯＣＲ処理済みの名簿データ８０と宛名座標テーブル４３が宛名配列予測部３４に入力される。
【０１２７】
本例のように検出した宛名（「鈴木」）が横書きの場合は、それ以外の宛名は上下に配列されていると予測できる。宛名配列予測部３４は、ＯＣＲ処理された名簿データ８０の中から宛名座標テーブル４３Ａの座標位置に基づいて１つ目の宛名（「鈴木」の文字６３）の位置を把握し、宛名座標テーブル４３Ａの文字方向が「ヨコ」である場合は、名簿データ８０の中から上記宛名（「鈴木」の文字６３）の上側に隣接する「斉藤」の文字６４と下側に隣接する「田中」の文字６５を検出して、文字照合部３２に宛名であるか否かの照合を依頼する。
【０１２８】
また、宛名座標テーブル４３Ａの文字方向が「タテ」である場合は、名簿データ８０の中から上記の１つ目の宛名の左側に隣接する文字と右側に隣接する文字を検出して、文字照合部３２に宛名であるか否かの照合を依頼する。
【０１２９】
なお、上下または左右における片側にしか隣接する文字がない場合には、その１つの文字を検出して、文字照合部３２に宛名であるか否かの照合を依頼するようにしてもよい。
【０１３０】
文字照合部３２は、入力された文字６４、６５をデータベース３８の宛名リストと照合し、その結果を適合または不適合で宛名配列予測部３４に出力する。本例の場合は、文字６４、６５について共に適合を出力する。
【０１３１】
宛名配列予測部３４は、この結果を受けて文字６４の「斉藤」と文字６５の「田中」が宛名（苗字）であると特定（判定）し、文字６３の「鈴木」の上下に宛名が配列されていると予測する。続いて宛名配列予測部３４は、文字座標検出部３３に、文字６３（「鈴木」）の上下に隣接する文字６４（「斉藤」）と文字６５（「田中」）を指定してそれらの配置位置の計算を依頼する。
【０１３２】
文字座標検出部３３は、保持しているＯＣＲ処理済みの名簿データ８０から指定の文字６４（「斉藤」）と文字６５（「田中」）を検出し、上述した文字６３（「鈴木」）の場合と同様の手順で宛名座標テーブルをそれぞれ作成し、配置位置の計算結果として宛名配列予測部３４に出力する。
【０１３３】
文字６４（「斉藤」）については、座標位置（先頭文字の「斉」の中心位置）がＸ：Ｙ＝８００Line：４３７０Lineとなり、文字サイズ（「斉藤」の２文字の全体のサイズ）がＸ：Ｙ＝１４０Line：７０Lineとなり、文字方向が横書きとなる。文字座標検出部３３は、文字６４の「斉藤」を宛名欄に格納すると共に上記の各情報を格納した宛名座標テーブル４３Ｂを作成し（図１２参照）、宛名配列予測部３４に出力する。
【０１３４】
文字６５（「田中」）については、座標位置（先頭文字の「田」の中心位置）がＸ：Ｙ＝８００Line：４２３０Lineとなり、文字サイズ（「田中」の２文字の全体のサイズ）がＸ：Ｙ＝１４０Line：７０Lineとなり、文字方向が横書きとなる。文字座標検出部３３は、文字６５の「田中」を宛名欄に格納すると共に上記の各情報を格納した宛名座標テーブル４３Ｃを作成し（図１２参照）、宛名配列予測部３４に出力する。
【０１３５】
これに伴い、原稿情報出力部３１は、宛名配列の計算に用いる原稿情報を格納した前述の原稿情報テーブル４１を宛名配列予測部３４に出力する。
【０１３６】
宛名配列予測部３４は、図１２に示すように、保持している宛名座標テーブル４３Ａと、入力された宛名座標テーブル４３Ｂ、４３Ｃおよび原稿情報テーブル４１とに格納されている情報を使用して、宛名配列を計算する。詳細には、既に宛名であることが判明している文字６３（「鈴木」）、文字６４（「斉藤」）、文字６５（「田中」）の各座標位置を示すＸＹライン数と名簿データ８０のＸＹライン数に基づいて、宛名の配置位置と最大配置数を計算する。
【０１３７】
宛名の配置位置については、本例の場合は上記３つの文字のＸ方向における位置が全て８００Lineであることから、個々の宛名は名簿データ８０におけるＸ＝８００Lineに沿った上下方向に配列されていると判定する。
【０１３８】
また、上記３つの文字のＹ方向における位置から宛名の配置間隔を計算する。本例の場合は、「鈴木」とその上側に隣接する「斉藤」とのＹ方向の距離（間隔）を計算すると、４３７０Line−４３００Line＝７０Lineとなる。「鈴木」とその下側に隣接する「田中」とのＹ方向の距離（間隔）を計算すると、４３００Line−４２３０Line＝７０Lineとなる。このように、隣接する文字同士の間隔が７０Lineであることから、宛名の配置間隔は７０Lineであると判定する。
【０１３９】
これらを総合して、宛名の配置位置としては、個々の宛名が名簿データ８０におけるＸ＝８００Lineに沿った上下方向に７０Lineの間隔で配列（配置）されていると判定する。
【０１４０】
宛名の最大配置数については、「鈴木」、「斉藤」、「田中」のいずれかの文字の位置を基準に計算する。たとえば、「鈴木」を基準とした場合は、その上側に配列されている宛名の配置数と下側に配列されている宛名の配置数とを以下の式で計算する。なお、下記式の除算結果で端数が生じた場合は切り捨てる。
【０１４１】
・基準文字に対する上側の配置数：Ａ＝｛原稿のＹライン数（７０１５Line）−基準文字のＹライン数（４３００Line）｝÷宛名の配置間隔（７０Line）
・基準文字に対する下側の配置数：Ｂ＝基準文字のＹライン数（４３００Line）÷宛名の配置間隔（７０Line）
【０１４２】
宛名の最大配置数は、下記式で示すように、上記のＡとＢと、基準文字分の「１」とを加算した値となる。
【０１４３】
宛名の最大配置数：Ｎｍａｘ＝Ａ＋Ｂ＋１
【０１４４】
なお、本例では宛名の配置位置と最大配置数の計算を、宛名の配列方向が上下方向の場合で説明しているが、宛名の配列方向が左右方向の場合でも、「Ｘ」と「Ｙ」を入れ替え、「上下」を「左右」に置き換えるだけで、計算方法自体は同じである。
【０１４５】
宛名配列予測部３４は、上記の計算を終えると、宛名欄と、座標位置欄（ＸＹライン数）と、文字サイズ欄（ＸＹライン数）とを対応させて宛名数分だけ設けたマトリックス状の宛名配列テーブル４４を作成し、宛名毎の座標位置と文字サイズを格納する。また、既に宛名であることが判明している「鈴木」、「斉藤」、「田中」を対応する宛名欄に格納する。
【０１４６】
図１３は、上述した宛名配列位置予測の処理の流れを示すフローチャートであり、図３のステップＳ１０４を詳細に示したサブルーチンである。
【０１４７】
宛名配列位置予測の処理が開始されると、文字座標検出部３３はＯＣＲ処理済みの名簿データ８０と宛名座標テーブル４３Ａを宛名配列予測部３４に出力する。宛名配列予測部３４は、宛名座標テーブル４３Ａに格納されている宛名（「鈴木」）の文字方向に基づいて、その宛名を基点とした名簿データ８０における宛名配列方向を予測する（ステップＳ１２１）。
【０１４８】
続いて、上記の宛名（「鈴木」）に対して予測配列方向に配置されている文字（「斉藤」、「田中」）を宛名候補として名簿データ８０から検出し（ステップＳ１２２）、文字照合部３２に宛名であるか否かの照合を依頼する。文字照合部３２は、データベース３８の宛名リストで照合を行い、その結果を宛名配列予測部３４に出力する（ステップＳ１２３）。
【０１４９】
照合されなかった場合は（ステップＳ１２４；Ｎｏ）、予測配列方向に配置されている次の文字を宛名候補として検出し、文字照合部３２に同様の照合を依頼する（ステップＳ１２２以降の繰り返し）。
【０１５０】
照合された場合は（ステップＳ１２４；Ｙｅｓ）、文字座標検出部３３は、その文字（宛名）の配置位置などを計算する（ステップＳ１２５）。詳細は、座標位置と文字サイズの計算および文字方向の検出である。文字座標検出部３３は、その結果を宛名座標テーブル４３Ｂ、４３Ｃに格納し、宛名座標テーブル４３Ｂ、４３Ｃを宛名配列予測部３４に入力する。また原稿情報出力部３１は、原稿情報テーブル４１を宛名配列予測部３４に入力する。
【０１５１】
宛名配列予測部３４は、宛名座標テーブル４３Ａ、４３Ｂ、４３Ｃに格納されている各宛名のＸＹライン数と、原稿情報テーブル４１に格納されている名簿６０のＸＹライン数に基づいて、文字（宛名）の配列（宛名の配置位置と最大配置数）を計算し、その結果を宛名配列テーブル４４として作成し（ステップＳ１２６）、本処理を終了する（Ｒｅｔｕｒｎ）。
【０１５２】
（５）宛名読み出し
図３のステップＳ１０５では、上述した宛名の配列予測（計算結果）に基づいて名簿データ８０から宛名を読み出す。図１４に示すように、宛名配列予測部３４からＯＣＲ処理済みの名簿データ８０と宛名配列テーブル４４が宛名読出部３５に入力される。宛名読出部３５は、既に宛名であることが判明している「鈴木」、「斉藤」、「田中」を除いて、名簿データ８０から宛名配列テーブル４４の各座標位置（ＸＹライン数）に配置されている文字を検出し、対応する宛名欄に格納する。検出および格納した結果は図示の通りとなる。なお、「空欄」は空白で文字が無いことを示す。
【０１５３】
（６）宛名判定
名簿６０には宛名以外にも様々な文字が記載されているため、名簿データ８０から読み出した文字が宛名であるか否か判定する必要がある。図３のステップＳ１０６ではその判定を行う。図１５に示すように、宛名読出部３５から宛名配列テーブル４４が宛名判定部３６に入力される。宛名判定部３６は、宛名配列テーブル４４の宛名欄に格納されている文字を順番に文字照合部３２に入力して宛名であるか否かの照合を依頼する。
【０１５４】
文字照合部３２は、入力された文字をデータベース３８の宛名リストと照合し、その結果を適合（○）または不適合（×）で宛名判定部３６に出力する。
【０１５５】
たとえば、文字の無い「（空欄）」部分は宛名リストに登録されていないため、不適合となる。「年○組」や「氏名」などの文字も宛名リストに登録されていないため、不適合となる。これに対し、「安藤」、「斉藤」、「鈴木」、「田中」、「渡辺」などは宛名リストに登録されており、適合となる。
【０１５６】
宛名判定部３６は、宛名配列テーブル４４に宛名判定欄を追加した宛名判定テーブル４５を作成し、文字照合部３２からの適合（○）または不適合（×）を、対応する文字の宛名判定欄に格納して宛名判定テーブル４５を完成させる。この宛名判定欄に格納された情報は、「○」が宛名であることを示し（宛名適合）、「×」が宛名ではないことを示す（宛名不適合）。
【０１５７】
なお、宛名であることが既に判明している「鈴木」、「斉藤」、「田中」については、宛名配列テーブル４４の作成時に予め宛名判定欄を設けて適合（○）を格納しておくことにより、文字照合部３２への照合依頼を省略するようにしてもよい。
【０１５８】
また、日本で使用されている苗字は数万種以上あると推定され、一般的なものでも数千種以上あるとされており、宛名（苗字）の判定精度を高めるためにデータベースの登録数を多くすると、照合に時間を要することが懸念される。また、宛名として取引先の社名を登録し照合するような場合も、登録数が数百社などと多くなる場合は同様の懸念がある。いずれにしても、名簿における宛名の記載数が多くて照合する文字の数（宛名の判定数）が多くなる場合は、全ての文字の照合に要する時間が長くなることが懸念される。
【０１５９】
そこで、宛名でないことは明確であるが名簿などで多用される文字、たとえば、名簿の名称や記載内容（情報）の種類を示す単語などを、非宛名リストとしてデータベース３８に登録し、対象の文字をその非宛名リストで先に検索するようにしてもよい。
【０１６０】
非宛名リストに登録する文字は、一例として、上記の「年○組」や「氏名」の他に、「名簿」、「名前」、「男性」、「女性」、「学校」（小学校／中学校／専門学校）、「高校」、「大学」、「クラス」（クラス名簿）、「連絡網」（緊急連絡網）、「会社」、「役員」（役員名簿）、「社員」（社員名簿）、「団体」（団体名簿）、「サークル」（サークル名簿）、「自治会」（自治会名簿）などが挙げられる。さらに、「住所」、「郵便番号」、「電話番号」、「生年月日」、「備考」などを加えるようにしてもよい。
【０１６１】
このような非宛名リストで対象の文字を先に検索し、該当する場合は不適合（×）とすることで、宛名判定の効率や精度を向上することができる。さらに、この非宛名リストを上述した宛名配列を予測するときの文字（本例では「斉藤」と「田中」）の照合に利用するようにしてもよい。
【０１６２】
また、宛名判定の結果を表示部１８に表示して誤りが無いかをユーザが確認できるようにしたり、操作部１７を通して確定や訂正できるようにしたりしてもよい。たとえば、宛名候補として検出した文字とその宛名判定結果（「○」／「×」）を表示する。誤りが無ければ確定し、宛名である文字に誤判定で付けられた「×」は「○」に、宛名でない文字に誤判定で付けられた「○」は「×」に訂正できるように構成するなどしてもよい。
【０１６３】
また、ドキュメントの内容などによっては、名簿に記載されている全ての宛名が差し出しの対象ではなく、特定の宛名のみが対象になるようなこともある。このような場合に、ユーザは宛名であるが出力する必要のない文字に対し、意図的に「○」から「×」に変更するようなことも可能になる。
【０１６４】
（７）宛名貼り付け
図３のステップＳ１０７では、図１６に示すように、文字座標検出部３３は敬称座標テーブル４２を宛名貼付部３７に出力し、宛名判定部３６は宛名判定テーブル４５を宛名貼付部３７に出力する。
【０１６５】
宛名貼付部３７は、入力された各テーブルの情報に基づいて宛名の貼り付け位置を計算する。また、貼り付け位置の条件として、本例では以下の３つの条件が予め設定されている。
【０１６６】
・条件Ａ：宛名と敬称の並びを揃える。
⇒文字方向が横書きの場合はＹ方向の位置を合わせる。
文字方向が縦書きの場合はＸ方向の位置を合わせる。
・条件Ｂ：宛名と敬称の文字の大きさ（フォントサイズ）を揃える。
・条件Ｃ：宛名と敬称の間に１文字分の空白を設ける。
【０１６７】
敬称座標テーブル４２より、敬称５１（「様」）の座標位置はＸ：Ｙ＝４６００Line：６８００Line、文字サイズはＸ：Ｙ＝１０５Line×１０５Line、文字方向は横書きとなっている。
【０１６８】
たとえば、「鈴木」という宛名５２を貼り付ける場合は、条件ＡよりＹ方向の位置が６８００Lineとなる。条件Ｂより、文字の大きさは１文字当たり８pt（７０Line×７０Line）から１２pt（１０５Line×１０５Line）へ１．５倍拡大することになり、「鈴木」の２文字全体の文字サイズがＸ：Ｙ＝１４０Line×７０LineからＸ：Ｙ＝２１０Line×１０５Lineに変更される。条件Ｃより、「鈴木」と「様」の間に１文字分に相当するＸ：Ｙ＝１０５×１０５Line分の空白が設けられることになる。
【０１６９】
その結果、「鈴木」の貼り付け位置（先頭文字の「鈴」の中心位置）はＸ：Ｙ＝４２８５Line：６８００Lineとなる。なお、「木」の貼り付け位置（中心位置）はＸ：Ｙ＝４３９０Line：６８００Lineとなる。
【０１７０】
また宛名貼付部３７は、宛名判定テーブル４５における宛名判定の「○」の数をカウントして、最終的に確定された宛名の数を求め、その宛名数分のドキュメントデータ７０の出力を要求する。これにより、データ保存部１４に保存されているドキュメントデータ７０が宛名貼付部３７に順次入力される。
【０１７１】
宛名貼付部３７は、宛名判定テーブル４５の宛名欄から宛名判定が「○」となっている宛名を順番に読み出し、文字サイズを変更してドキュメントデータ７０における上記の位置に貼り付ける。この宛名を貼り付けたドキュメントデータ７５をプリンタ部２４に出力することを、最後の宛名に対して終えるまで繰り返す。
【０１７２】
（８）宛名入りドキュメント出力
図３のステップＳ１０８では、図１６に示すように、プリンタ部２４は宛名貼付部３７から入力されたドキュメントデータ７５に対応する画像を用紙に形成し、宛名入りのドキュメント５５として出力する。
【０１７３】
このように、本実施の形態に係る複合機１０では、入力された名簿データ８０に含まれている複数の文字情報の中から、配列規則を判定しようとする宛名に属する文字情報（宛名検索キーワード）を使用して、その文字情報に該当する第１の文字情報（本例では「鈴木」）を検索する。この第１の文字情報から所定方向（上下左右方向）に検索して宛名に属する第２の文字情報（本例では「斉藤」、「田中」）を特定し、第１の文字情報と第２の文字情報との位置関係に基づいて、宛名の配列規則を判定する。たとえば上述したように、宛名は第１の文字情報と第２の文字情報とを含む列方向に第１の文字情報と第２の文字情報の間隔で配列されているなどと判定する。これにより、名簿データ８０に含まれている宛名の配列規則を判定することができる。
【０１７４】
また、名簿データ８０から第１の文字情報を検索する場合に、宛名（苗字）の検索における検出確率の高い宛名検索キーワードから順番に使用して（本例では「佐藤」→「鈴木」→「高橋」→「田中」→・・・など）、該当する文字情報を検索し、宛名検索キーワードに該当する文字情報が検出された場合にその文字情報を第１の文字情報に決定する。このように、検出確率の高い宛名検索キーワードから順番に使用して検索を行うことで、第１の文字情報の検索効率を向上することができる。
【０１７５】
また、第１の文字情報から第２の文字情報を検索する際に、第１の文字情報が横書きの場合には宛名が上下方向に配列されていると予測して上下方向に検索し、縦書きの場合には宛名が左右方向に配列されていると予測して左右方向に検索する。このように、第１の文字情報の文字方向（横書き／縦書き）に基づいて第２の文字情報の検索方向を決定することにより、第２の文字情報を効率よく検索して特定することができる。
【０１７６】
また、名簿データ８０（名簿６０）から抽出した宛名をドキュメントデータ７０（ドキュメント５０）に合成する際には、ドキュメントデータ７０から検索した敬称（指定の文字情報）に対して、第１の原稿データから抽出した文字情報を合成する場合に、合成する宛名の位置と書式（文字の大きさ、文字方向など）を、上記敬称の位置と書式に基づいて決定する。これにより、敬称に対して合成する宛名を見栄え良く配置したり、見栄えの良くなる書式にしたりすることができる。
【０１７７】
また、名簿データ８０から抽出した文字に対する宛名判定の結果を表示部１８に表示してユーザが確認し、操作部１７を通して確定や訂正できるように構成した場合は、自動判定で誤って判定された宛名や出力する必要のない宛名などがドキュメントに合成されて出力されるような無駄を抑制することができる。
【０１７８】
［第２の実施の形態］
第１の実施の形態では名簿に宛名が１列で記載されている場合を説明したが、第２の実施の形態では複数列で記載されている場合について説明する。
【０１７９】
名簿には、宛名（氏名）が複数列で記載されているものがある。その場合は、図１７に示すように、宛名が横書きであるか縦書きであるかにかかわらず、最初に検出した宛名（たとえば「鈴木」）の上下左右に他の宛名が配置されている可能性が高い。
【０１８０】
このような名簿の例としては、図１８に示すように、氏名を男女別に記載する場合などが挙げられる。この名簿２００を例に、宛名が複数列で配列（２次元配列）されているときの配列規則の判定方法を説明する。
【０１８１】
まず、第１の実施の形態で説明した（１）原稿データ入力により、データ入力部２２からドキュメント５０の画像データ（ドキュメントデータ７０）と名簿２００の画像データ（名簿データ２１０）が入力され、データ保存部１４に保存される。続いて、（２）原稿情報作成、および、（３−１）ドキュメントデータからの指定敬称検索方法を同様に行う。
【０１８２】
続いて、文字座標検出部３３は名簿データ２１０をＯＣＲ処理し、第１の実施の形態で説明した（３−２）名簿データからの指定宛名検索方法により（図６参照）、宛名検索キーワードに該当する文字を検索する。
【０１８３】
本例の名簿データ２１０にも１番目の宛名検索キーワードである「佐藤」が存在していないことにより、２番目の宛名検索キーワードである「鈴木」を検索する。「鈴木」は、男性側の列（１列目）に配置されている文字２０１と、女性側の列（２列目）に配置されている文字２０２とで２つ存在している。文字座標検出部３３は、これらのいずれか１つを検出した時点で検索を中止する。ここでは、１列目の文字２０１を検出した場合で説明する。
【０１８４】
次に、第１の実施の形態で説明した（４）宛名配列位置予測により（図１０〜図１３参照）、文字座標検出部３３からＯＣＲ処理済みの名簿データ２１０が宛名配列予測部３４に入力され、宛名配列予測部３４は文字２０１の上下に配列されている各文字を検出し、図１９に示すような宛名配列テーブル２２０を作成する。この宛名配列テーブル２２０の宛名欄には、第１の実施の形態で説明した（５）宛名読み出しにより（図１４参照）、名簿データ２１０の１列目に配列されている各文字が格納される。
【０１８５】
続いて、文字座標検出部３３は左右方向（２列目以降）の宛名検索を行う。左右方向の宛名検索は、たとえば、名簿データ２１０のＸＹ座標における原点位置（左下角部）の直近に配置されている宛名候補の文字（空欄を含む）を基準に開始する。本例の場合は、図１９に示すように、「（空欄）」⇒「渡辺」・・・⇒「年○組」⇒「（空欄）」の順番に左右方向の宛名検索を順次行う。
【０１８６】
図２０に示すように、最初に空欄２０３の左右方向に配置されている文字を検出する。本例の場合、空欄２０３の左右には文字が存在していないため検出できないことになる。このような場合は、次の文字（「渡辺」）に移行する。
【０１８７】
２番目の「渡辺」の文字２０４の左右方向に配置されている文字の検出では、本例の場合は、右側に配置されている「渡辺」の文字２０５を検出する。宛名配列予測部３４は、文字照合部３２にこの文字が宛名であるか否かの照合を依頼する。
【０１８８】
本例における文字２０５の「渡辺」は宛名（苗字）であると特定（判定）され、宛名配列予測部３４は文字２０５の上側に宛名が配列されていると予測する。続いて、文字２０５の上側に隣接する文字を検出し、文字照合部３２に宛名であるか否かの照合を依頼する。この文字が宛名であると特定された場合には、宛名配列予測部３４は文字座標検出部３３に、文字２０５（「渡辺」）とその上側に位置する文字を指定してそれらの配置位置の計算を依頼する。
【０１８９】
文字座標検出部３３は、指定された文字に対する配置位置の計算結果を宛名座標テーブルとして宛名配列予測部３４に出力する。宛名配列予測部３４は、この宛名座標テーブルに基づいて、第１列目と同様の手順で第２列目に対する宛名の配置位置と最大配置数を計算する。続いて、第１列目の宛名配列テーブル２２０に、第２列目の宛名欄と、座標位置欄（ＸＹライン数）と、文字サイズ欄（ＸＹライン数）とを追加した宛名配列テーブルを作成し（図１２参照）、宛名読出部３５に出力する（（４）宛名配列位置予測を参照）。
【０１９０】
宛名読出部３５は、名簿データ２１０から上記の宛名配列テーブルにおける第２列目の各座標位置に配置されている文字を検出し、対応する宛名欄に格納する。これにより、図２１に示すような宛名配列テーブル２２１が作成される（（５）宛名読み出しを参照）。
【０１９１】
以降は、第１の実施の形態で説明した宛名配列テーブル４４を上記の宛名配列テーブル２２１に置き換えた内容で、（６）宛名判定〜（８）宛名入りドキュメント出力を行う。これにより、名簿２００に２列で記載されている個々の宛名が記入された宛名数分のドキュメントが複合機１０から印刷出力される。
【０１９２】
このように、本実施の形態では宛名が複数列で記載されている名簿に対して、宛名の配列規則を判定できるようになる。また、ここでは名簿２００（名簿データ２１０）における１列目の文字２０１を検出した場合で説明したが、２列目の文字２０２を検出した場合でも、上述した手順で同様に複数列の配列規則を判定することができる。
【０１９３】
［第３の実施の形態］
第１および第２の実施の形態では名簿が１ページの場合（宛名が１ページに記載されている場合）を説明したが、第３の実施の形態では名簿が複数ページの場合（宛名が複数ページに記載されている場合）について説明する。
【０１９４】
名簿には、宛名（氏名）が複数ページに亘って記載されているものがある。このような名簿の例としては、図２２に示すように、氏名を男女別に異なるページに記載する場合などが挙げられる。この名簿３００を例に、宛名が複数ページに記載されているときの配列規則の判定方法を説明する。
【０１９５】
本例の名簿３００は計２ページとされており、１ページ目３０１に男性の氏名が記載され、２ページ目３０２に女性の氏名が記載されている。
【０１９６】
まず、第１の実施の形態で説明した（１）原稿データ入力により、データ入力部２２からドキュメント５０の画像データ（ドキュメントデータ７０）と、名簿３００における１ページ目３０１の画像データ（名簿１ページ目データ３１１）および２ページ目３０２の画像データ（名簿２ページ目データ３１２）とが入力され、データ保存部１４に保存される。
【０１９７】
複合機１０は、このデータ入力において名簿のページ数を取得する。ページ数の取得は、たとえば、ユーザが操作部１７を通して名簿のページ数を入力したり、前述したような読み取る原稿の種類を指定できる構成にて、名簿を指定した読み取りにてページ数をカウントしたりするなどにより行うことができる。
【０１９８】
続く（２）原稿情報作成では、原稿情報出力部３１は、第１の実施の形態で説明した原稿情報テーブル４１に追加して、名簿データとして名簿のページ数（本例では２ページ）を格納した原稿情報テーブル３２０を作成する。
【０１９９】
（３）敬称／宛名検索における（３−２）名簿データからの指定宛名検索方法、および、（４）宛名配列位置予測では、原稿情報テーブル３２０の名簿データに格納されているページ数より、名簿３００のページ数を把握し、上記の（３−２）および（４）を名簿１ページ目データ３１１と名簿２ページ目データ３１２に対して順番に行う。そして、宛名配列予測部３４は、宛名配列位置予測の結果として図２３に示すような宛名配列テーブル３３０を作成する。
【０２００】
本例の宛名配列テーブル３３０では、座標位置（ＸＹライン数）の格納欄内に宛名数分のページ欄（「ｐａｇｅ」）が追加して設けられており、宛名を読み出す名簿のページ数がページ欄に格納されている。
【０２０１】
（５）宛名読み出しでは、宛名読出部３５が宛名配列テーブル３３０を使用して名簿１ページ目データ３１１と名簿２ページ目データ３１２から宛名を読み出す。図２２に示した２ページの名簿３００から宛名を読み出した結果が図２３となる。
【０２０２】
以降は、第１の実施の形態で説明した宛名配列テーブル４４を上記の宛名配列テーブル３３０に置き換えた内容で、（６）宛名判定〜（８）宛名入りドキュメント出力を行う。これにより、２ページの名簿３００に記載されている個々の宛名が記入された宛名数分のドキュメントが複合機１０から印刷出力される。
【０２０３】
このように、本実施の形態では、宛名が複数ページに亘って記載されている名簿に対して、ページ毎に宛名の配列規則を判定できるようになる。
【０２０４】
以上、本発明の実施の形態を図面によって説明してきたが、具体的な構成は実施の形態に示したものに限られるものではなく、本発明の要旨を逸脱しない範囲における変更や追加があっても本発明に含まれる。
【０２０５】
たとえば、上述の実施の形態では、配列規則を判定する文字情報群の種類として、名簿に記載されている宛名（氏名）を例に説明したが、対象となる文字情報群の種類はこれに限らない。個人名（氏名）以外の宛名や、宛先などとしてもよい。
【０２０６】
前者の例としては、社名、店名、機関名、団体名、法人名などの各種の集団名などが挙げられる。後者の例としては、住所、郵便番号、電話番号、電子メールアドレスなどが挙げられる。
【０２０７】
また、名簿から宛名と宛先を抽出してドキュメントに合成するなどのように、第１の原稿データに含まれている複数種類の文字情報群の配列規則を判定すると共に、それらを抽出し組み合わせて第２の原稿データに合成して出力するようにしてもよい。
【０２０８】
第２の原稿データは、実施の形態で説明したようなドキュメントデータに限らない。たとえば、特定の書式の名簿に記載されている文字情報を抽出して他の書式の名簿に合成するようなことも可能であり、その場合は、第１の原稿データとしての名簿データとは異なる名簿データが第２の原稿データとなる。
【０２０９】
具体的には、複数種類の文字情報（たとえば、氏名、住所、郵便番号、電話番号など）が記載されている名簿から所定種類の文字情報のみ（たとえば、氏名と電話番号のみなど）を抽出して他の名簿に転記するような編集や、縦書きの名簿から横書きの名簿に作り替えるような書式変更（フォーマット変更）などが挙げられる。
【０２１０】
（４）宛名配列位置予測では、最初に検出した宛名の文字方向に基づいて次の宛名の検索方向を決定するようにしているが、決定した方向に検索して２つ目以降の宛名を特定できなかった場合には、その方向とは異なる方向に検索して同宛名を特定するようにしてもよい。たとえば、最初に検出した宛名の文字方向が横書きであり、その宛名から先ず上下方向に検索して２つ目以降の宛名を特定できなかった場合には、次は左右方向に検索して同宛名を特定するなどである。
【０２１１】
また、上記の文字方向以外の条件に基づいて２つ目以降の宛名の検索方向を決定するようにしてもよい。
【０２１２】
具体的には、ユーザが指定した検索方向に決定したり、最初に検出した宛名と周囲（上下左右）に隣接配置されている文字の書式を比較し、その比較結果に基づいて検索方向を決定したりするなどが可能である。後者の場合の書式には、文字の大きさや書体などを用いることができる。
【０２１３】
たとえば、書式の異なる文字が配置されている方向に宛名が配列されている可能性は低いと予測できるため、その方向は検索方向から除外して、残りの方向を検索方向に決定するなどが可能である。また、このような文字の書式による条件と、上記の文字方向による条件とから総合的に判断して２つ目以降の宛名の検索方向を決定するようにしてもよい。
【０２１４】
（７）宛名貼り付けにて説明した貼り付け位置の条件は、上述した３つの条件に限らない。この貼り付け位置の条件は、原稿の書式などに応じた様々な条件を設定することができる。また、管理者やユーザなどが条件の設定や変更を行えるように構成してもよい。
【０２１５】
第２の実施の形態で説明した複数列に対する配列規則の判定では、１列目の宛名配列予測後に行う２列目以降の宛名の検索（左右方向の宛名検索）を、原稿の原点位置の直近に配置されている宛名から順番に行うようにしているが、順番はこれに限らない。
【０２１６】
また、宛名の配列規則を列毎に行うようにしているが、たとえば、最初の列で判定した配列規則を他の列に適用するようにしてもよい。この場合は、配列規則の判定処理を軽減することができる。
【０２１７】
また、３列以上でも配列規則の判定が可能である。その場合は、たとえば、１列目の宛名と２列目の宛名の位置関係（間隔）に基づいて、列に沿った方向（実施の形態における上下方向）とは異なる方向（実施の形態における左右方向）の配列規則を判定するようにしてもよい。
【０２１８】
第３の実施の形態で説明した複数ページに対する配列規則の判定では、ページ毎に配列規則を判定するようにしているが、特定のページで判定した配列規則を他のページに適用するようにしてもよい。この場合の特定のページは、１ページ目に限らない。たとえば、最初の検索キーワードに該当する文字情報を含んだページが特定のページとなる。
【０２１９】
また、文字情報の提示や照合に用いるデータベース３８を複合機１０の内部に設ける構成としているが、このようなデータベースを外部に設けて複合機１０がアクセスするような構成としてもよい。
【０２２０】
複合機１０に対するデータ入力は、実施の形態で説明した原稿の読み取りによる入力に限らない。たとえば、ネットワークで接続されたクライアント端末などからの印刷データの入力や、ＵＳＢ（Universal Serial Bus）メモリなどの外部接続が可能な情報記憶装置からのファイルデータの入力などとしてもよい。
【０２２１】
複合機１０からのデータ出力は、実施の形態で説明した印刷による出力に限らない。たとえば、ネットワークで接続されたクライアント端末やサーバなどの外部装置へのデータ転送による出力や、上記のＵＳＢメモリなどへのファイルデータの出力などとしてもよい。
【０２２２】
また、複合機１０におけるプリンタ部２４は、レーザ光に代えてＬＥＤ（Light Emitting Diode）で感光体ドラムを走査露光するＬＥＤプリンタなどの他の方式のプリンタとしてもよい。
【０２２３】
また本発明は、実施の形態で説明した複合機に限らず、複写機やプリンタ機などの他の画像処理装置にも適用可能である。
【図面の簡単な説明】
【０２２４】
【図１】本発明の第１の実施の形態に係る画像処理装置としての複合機の概略構成を示すブロック図である。
【図２】本発明の第１の実施の形態に係る複合機の自動合成モードにおけるＣＰＵの機能ブロック構成を示す機能ブロック図である。
【図３】本発明の第１の実施の形態に係る複合機による自動合成モードの処理を示す流れ図である。
【図４】図３における原稿データ入力から原稿情報作成までを説明する説明図である。
【図５】図３における敬称／宛名検索の指定敬称検索方法を説明する説明図である。
【図６】図３における敬称／宛名検索の指定宛名検索方法を説明する説明図である。
【図７】図６の指定宛名検索における宛名検索キーワードを出力する構成を説明する説明図である。
【図８】図３における敬称／宛名検索の処理（サブルーチン）を示す流れ図である。
【図９】宛名の文字方向と宛名の検索方向の関係を説明する説明図である。
【図１０】図３における宛名配列位置予測（宛名照合）を説明する説明図である。
【図１１】図３における宛名配列位置予測（宛名配置位置計算）を説明する説明図である。
【図１２】図３における宛名配列位置予測で宛名座標テーブルおよび原稿情報テーブルから作成される宛名配列テーブルを説明する説明図である。
【図１３】図３における宛名配列位置予測の処理（サブルーチン）を示す流れ図である。
【図１４】図３における宛名読み出しを説明する説明図である。
【図１５】図３における宛名判定を説明する説明図である。
【図１６】図３における宛名貼り付けから宛名入りドキュメント出力までを説明する説明図である。
【図１７】本発明の第２の実施の形態に係る複数列の宛名に対する配列規則の判定において、横書き／縦書きの宛名が複数列で配列されている例を説明する説明図である。
【図１８】本発明の第２の実施の形態に係る宛名が複数列に記載された名簿を示す図である。
【図１９】図１８の名簿における１列目の宛名が格納された宛名配列テーブルを示す図である。
【図２０】図１８の名簿における２列目の宛名検索と宛名配列位置予測を説明する説明図である。
【図２１】宛名が複数列に記載された名簿に対して作成される宛名配列テーブルの一例を示すと共に、図１８の名簿における１列目と２列目の宛名が格納された状態を示す図である。
【図２２】本発明の第３の実施の形態に係る宛名が複数ページに記載された名簿と、その名簿データの入力によって作成された原稿情報テーブルを示す図である。
【図２３】宛名が複数ページに記載された名簿に対して作成される宛名配列テーブルの一例を示すと共に、図２２の名簿における１ページ目と２ページ目に記載された宛名が格納された状態を示す図である。
【符号の説明】
【０２２５】
１０…複合機（ＭＦＰ）
１１…ＣＰＵ
１２…バス
１３…ＲＯＭ
１４…ＲＡＭ／データ保存部
１５…不揮発メモリ
１６…ハードディスク装置
１７…操作部
１８…表示部
１９…ファクシミリ通信部
２０…ネットワーク通信部
２１…原稿送り装置制御部
２２…スキャナ部／データ入力部
２３…画像処理部
２４…プリンタ部／データ出力部
３１…原稿情報出力部
３２…文字照合部
３３…文字座標検出部
３４…宛名配列予測部
３５…宛名読出部
３６…宛名判定部
３７…宛名貼付部
３８…データベース
４１…原稿情報テーブル
４２…敬称座標テーブル
４３…宛名座標テーブル
４３Ａ、４３Ｂ、４３Ｃ…宛名座標テーブル
４４…宛名配列テーブル
４５…宛名判定テーブル
５０…ドキュメント
５５…ドキュメント
５１…敬称
５２…宛名
６０…名簿
６１…氏名
６２…住所
６３、６４、６５…文字
７０…ドキュメントデータ
７５…ドキュメントデータ
８０…名簿データ
９０…敬称検索キーワード
９１、９２…宛名検索キーワード
２００…名簿
２０１、２０２…文字
２０３…空欄
２０４、２０５…文字
２１０…名簿データ
２２０、２２１…宛名配列テーブル
３００…名簿
３０１…１ページ目
３０２…２ページ目
３１１…名簿１ページ目データ
３１２…名簿２ページ目データ
３２０…原稿情報テーブル
３３０…宛名配列テーブル
【図１】
2010072850.tif 000003
【図２】
2010072850.tif 000004
【図３】
2010072850.tif 000005
【図４】
2010072850.tif 000006
【図５】
2010072850.tif 000007
【図６】
2010072850.tif 000008
【図７】
2010072850.tif 000009
【図８】
2010072850.tif 000010
【図９】
2010072850.tif 000011
【図１０】
2010072850.tif 000012
【図１１】
2010072850.tif 000013
【図１２】
2010072850.tif 000014
【図１３】
2010072850.tif 000015
【図１４】
2010072850.tif 000016
【図１５】
2010072850.tif 000017
【図１６】
2010072850.tif 000018
【図１７】
2010072850.tif 000019
【図１８】
2010072850.tif 000020
【図１９】
2010072850.tif 000021
【図２０】
2010072850.tif 000022
【図２１】
2010072850.tif 000023
【図２２】
2010072850.tif 000024
【図２３】
2010072850.tif 000025