(57)【要約】【課題】  原稿の特定領域における表内のセルに対する処理を指示する際に、より容易に処理を指示可能とする。【解決手段】  原稿の特定領域における表構造を解析し、表に含まれる複数のセルを処理単位として決定し、決定された処理単位に対して、処理を指示するための処理指示情報を生成する。【選択図】      図３
2011159179.tif 000002
【特許請求の範囲】
【請求項１】
原稿の特定領域に対する処理を指示するための処理指示情報を生成する画像処理装置であって、
前記原稿の特定領域における表構造を解析し、表に含まれる複数のセルを処理単位として決定する決定手段と、
前記決定手段によって決定された処理単位に対して、処理を指示するための処理指示情報を生成する生成手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記決定手段は、予め定められた色で示される表内のセルが記載済であるか否かと当該表内のセル数とにより前記処理単位をセル、行、列の何れかに決定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記決定手段は、予め定められた色で示される表内の当該行または列の全てが記載済の場合に、その内容が規則性を持つか否かにより、前記処理単位をセル、行、列の何れかに決定することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記生成手段は、前記処理単位が行又は列の場合に、当該行又は列の全てのセルが記載済みであるか否かを判定する処理を指示するための処理指示情報を生成することを特徴とする請求項２に記載の画像処理装置。
【請求項５】
前記生成手段は、前記処理単位に含まれる複数のセルが全て記載済みであるか否か、あるいは前記処理単位に含まれる複数のセルが全て記載なしであるか否かを判定する処理を指示するための処理指示情報を生成することを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記規則性を持つ内容は、連続する数字又はアルファベット順である文字であることを特徴とする請求項３記載の画像処理装置。
【請求項７】
前記決定手段は、前記処理単位を予め定められた色で示される表内のセルの位置関係に基づいて決定することを特徴とする請求項１に記載の画像処理装置。
【請求項８】
原稿の特定領域に対する処理を指示するための処理指示情報を生成する画像処理装置の処理方法であって、
決定手段が、前記原稿の特定領域における表構造を解析し、表に含まれる複数のセルを処理単位として決定する決定工程と、
生成手段が、前記決定工程において決定された処理単位に対して、処理を指示するための処理指示情報を生成する生成工程と、
を有することを特徴とする画像処理装置の処理方法。
【請求項９】
コンピュータを請求項１乃至７の何れか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及びその処理方法に関する。
【背景技術】
【０００２】
従来、コンピュータを用いてスキャナによる用紙の読取画像を解析し、紙面上に記載された文字などを認識する技術がある。この技術を利用すれば、例えば多数の帳票に対して記載された金額や日付などを容易に抽出することができ、また抽出したデータを集計などの処理に入力させることができる。但し、この処理を自動化するためには、紙面上のどの位置にどのような種類のデータがあるのかをコンピュータに指示する必要がある。
【０００３】
まず、処理対象の答案用紙と、答案用紙フォームに処理すべき記入欄と記入欄への書込内容に対する処理を指示する処理指示情報が記入された処理指示書とを一連の読取処理により読み取る。そして、読み取った処理指示書のデータから処理指示情報を検出し、解析することにより紙面上における処理対象とする書込領域と、各書込領域に対する処理内容を認識する技術がある（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１４５６１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の方法では、ユーザが処理指示書に記入した処理対象となる領域に対して処理を行っている。そのため、複数の領域が全て記載されているかをチェックする指示や複数の領域が揃って記載されていない場合は結果を出力しないといった、より複雑な指示を行うことができなかった。例えば、表が存在するフォームの場合は、表内の各行が全て記載されているか否かをチェックし、全く使用していない行はチェックしないといった指示をユーザが処理指示書を用いて指示することができなかった。そのため、ユーザの利便性を著しく損ねていた。
【０００６】
本発明は、原稿の特定領域における表内のセルに対する処理を指示する際に、より容易に処理を指示可能とする装置及び方法を提供する。
【課題を解決するための手段】
【０００７】
本発明は、原稿の特定領域に対する処理を指示するための処理指示情報を生成する画像処理装置であって、
前記原稿の特定領域における表構造を解析し、表に含まれる複数のセルを処理単位として決定する決定手段と、
前記決定手段によって決定された処理単位に対して、処理を指示するための処理指示情報を生成する生成手段と、
を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、より複雑な処理を含む指示が可能となり、使い勝手が向上する。
【図面の簡単な説明】
【０００９】
【図１】本実施形態の一例である画像処理装置の構成を示すブロック図。
【図２】（ａ）は実施形態１において用いる原稿のフォームの例を示す図、（ｂ）は（ａ）の原稿に含まれる各項目のうち、チェックを行わせるための任意の領域をユーザが色ペンを用いて付加した例を示す図、（ｃ）はチェック対象の原稿の例を示す図。
【図３】実施形態１におけるスキャンチケット作成処理を示すフローチャート。
【図４】図２に示す（ｂ）のユーザ指定領域３３をＳ５２０で表解析を行った結果の一例を示す図。
【図５】処理単位決定処理を示すフローチャート。
【図６】処理単位を決定する処理で使用するテーブルの一例を示す図。
【図７】処理指示情報９０１の一例を示す図。
【図８】ユーザ指定領域３３に対する処理内容の詳細設定操作画面の例を示す図。
【図９】選択範囲設定画面の例を示す図。
【図１０】処理設定画面の例を示す図。
【図１１】スキャンチケットを用いる原稿チェック処理を示すフローチャート。
【図１２】チェック結果の出力例を示す図。
【図１３】（ａ）は実施形態２において用いる原稿のフォームの例を示す図、（Ｂ）は処理指示書の例を示す図、（Ｃ）はチェック対象の原稿の例を示す図。
【図１４】実施形態２における処理単位決定処理を示すフローチャート。
【図１５】実施形態３において用いる処理指示書の例を示す図。
【図１６】実施形態３における指示内容解析処理を示すフローチャート。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら発明を実施するための形態について詳細に説明する。以下の説明では、画像処理装置として、コピー機能、スキャナ機能などの複数の機能を搭載した複合機を例に挙げて説明するが、各機能を有する複数の装置を連携させて実現するようにしても良い。
【００１１】
図１は、本実施形態の一例である画像処理装置の構成を示すブロック図である。ＣＰＵ１１は、ＲＯＭ１９に格納されたプログラムをＲＡＭ１８にロードすることによって画像処理装置１００全体の動作を制御する。また、ＣＰＵ１１は、バス１２を介して画像処理装置１００内の他の構成と通信を行う。ＨＤＤ１３は、ハードディスクを含むハードディスクドライブであり、外部から入力された画像データやスキャナ１５で読み取られた画像データ、各種情報などを格納する。プリンタ１４は、電子写真方式やインクジェット方式などのプリンタエンジンを含み、各種画像処理された画像データに基づいて画像を記録紙（シート）上に印刷する。
【００１２】
スキャナ１５は、ユーザが原稿台にセットした原稿上の画像をカラー画像として読み取り、これによって得た電子データ（画像データ）をＨＤＤ１３やＲＡＭ１８に蓄積する。また、スキャナ１５は、原稿給送装置を含み、原稿給送装置にセットされた複数枚の原稿を順次原稿台上に給送し、読み取ることも可能である。操作部１６は、ユーザが画像処理装置１００に指示を行うための複数のキーやユーザに通知すべき各種情報を表示する表示部を含む。ネットワークＩ／Ｆ１７は、画像処理装置１００をネットワーク２０に接続し、ネットワーク２０上の外部装置からデータを受信し、またネットワーク上の外部装置へデータを送信するための制御を行う。
【００１３】
尚、画像処理される画像データは、スキャナ１５を介して入力される場合を例に挙げて説明するが、例えばネットワークＩ／Ｆ１７を介してネットワーク２０上の外部機器から送られてくる原稿の画像データでも良い。また、画像処理装置１００として説明するが、スキャナ１５やプリンタ１４が接続されたパーソナルコンピュータ（ＰＣ）などでも同じように処理することが可能である。この場合、本実施形態で用いるプログラムの全部又は一部を、ネットワークなどを介してＰＣに提供したり、ＣＤ−ＲＯＭなどの外部記憶媒体に格納してＰＣに提供したりすることが可能である。
【００１４】
［実施形態１］
次に、上述した画像処理装置１００において、原稿の記載項目をチェックするスキャンチケットを作成し、スキャンした原稿をチェックする処理を説明する。
【００１５】
図２に示す（ａ）は、実施形態１において用いる原稿のフォームの例を示す図である。原稿は、ユーザが何も記入していない（後述する処理指示が付加される前の）状態の請求書である。この請求書には、相手先の会社名、相手先の担当者、件名、合計金額、品名、数量、単位、単価、金額、振込先銀行情報、小計、消費税などの税金、備考欄、発行者の印を押す領域などが設けられている。この請求書を正式に発行する時に、ユーザが情報を追加する欄として、件名、品名、数量、単位、単価、金額、作成者の印などがある。尚、実施形態１では、この請求書の各欄の内、ユーザによって指定されたある欄に情報が追加されているか否かをチェックするものとする。
【００１６】
図２に示す（ｂ）は、（ａ）の原稿に含まれる各項目の内、チェックを行うための任意の領域をユーザが色ペンを用いて付加した例を示す図である。図２に示す（ｂ）の原稿が処理指示書となる。
【００１７】
この処理指示書は、作成した請求書をチェックするユーザが、チェック対象の請求書と同一形式の用紙に後述する処理指示情報を書き込むことにより作成される。つまり、処理指示書とは、図２に示す（ａ）の請求書に処理指示情報が書き込まれたものである。尚、実施形態１では、ユーザが処理対象とする領域を指定するために、色ペンなどで該当領域を矩形などの閉領域として囲む。
【００１８】
ここで、請求書（原稿）に書き込む処理指示情報（付加情報）について説明する。図２に示す（ｂ）において、例えば領域３１〜領域３４は赤色のペンで書き込んだ領域とする。尚、ここに示す色以外の色を使うことも可能であり、また１色に限らず、チェック内容に応じて色の種類を増減しても良い。また、ここではペンを用いているが色を付けられるものであればペンに限ることはない。
【００１９】
そして、ユーザは事前に使用すべき処理指示情報の色の情報と処理内容とを、それぞれ対応付けて操作部１６を用いてＲＡＭ１８に登録する。即ち、赤色に対しては情報の記載があることをチェックすることをＲＡＭ１８に登録する。ＣＰＵ１１は、ここで登録された各色の色成分（例えば、色相など）を判定し、その内容をＲＡＭ１８に記憶させる。
【００２０】
尚、色の登録は操作部１６を用いて行うのに代えて、用紙に書き込んだものをスキャナ１５によって読み取らせて登録するものであっても良い。また、ユーザが登録する代わりに、画像処理装置１００に予め登録されているものとしても良い。予め登録された内容に従う場合、ユーザは登録されている色と処理内容とに従って、原稿に処理指示情報を付加する。
【００２１】
このように、使用すべき処理指示情報の色成分と、それに対応した処理内容を登録しておき、登録内容に従った処理指示書を作成する。この処理指示書を用いて、処理指示情報を抽出し、抽出した結果に応じて処理内容を認識することにより、画像処理装置１００はチェック対象の原稿について、原稿の特定領域に情報があるか否かをチェックする。
【００２２】
図２に示す（ｃ）は、チェック対象の原稿の例を示す図である。チェック対象の原稿は、図２に示す（ａ）、（ｂ）と同一形式の原稿に基づくものであることを前提とする。実施形態１では、図２に示す（ｂ）のように付加された処理指示情報を抽出し、抽出結果に従い、領域４１〜領域４４に記載があること、領域４３の各行の欄に全て記載があることでＣＰＵ１１は正常と判定する。図２に示す（ｃ）は、正常と判定するための条件を満たしていない例で、当該原稿のチェック結果は不正（ＮＧ）となる。正常と判定する条件を全て満たす原稿のチェック結果は正常（ＯＫ）となる。ここで、チェックの内容や領域はこれに限られるものではなく、他のチェック内容の指示や他の領域に対しての指示も可能である。
【００２３】
次に、図２に示す（ｂ）のような処理指示書に基づき、原稿の記載内容をチェックするためのスキャンチケットを作成する処理を説明する。ここでスキャンチケットとは、図２に示す（ｂ）の指示内容を認識し、（ｃ）のようなチェック対象の原稿のチェック方法を画像処理装置１００が認識可能な形式（例えば、ＱＲコード）としたチケットである。
【００２４】
スキャンチケットには、図２に示す（ｂ）の処理指示書から認識した指示内容と、この指示内容を適用する領域の位置情報などが含まれる。チェック対象の原稿のチェックを行う際は、スキャナ１５によりスキャンチケットを読み取り、処理内容をＣＰＵ１１が認識した上で、チェック対象の原稿をチェックする。
【００２５】
ここで、上述のスキャンチケットを作成する処理を詳細に説明する。図３は、実施形態１におけるスキャンチケット作成処理を示すフローチャートである。このフローチャートは、ＣＰＵ１１がＲＯＭ１９に格納されたプログラムをＲＡＭ１８にロードして実行する処理の流れを示している。
【００２６】
まず、ユーザが操作部１６を介してスキャンチケットの作成を指示すると、ＣＰＵ１１は処理を開始し、ＲＡＭ１８に登録されている処理指示情報の指示色（以下、単に指示色と称す）と処理内容の組み合わせとを操作部１６の表示部に表示する（Ｓ５０１）。例えば、「赤色で囲まれた領域内に記載があればＯＫとします」などを表示する。そして、ＣＰＵ１１は、Ｓ５０１で表示した指示色と処理内容で良いか否かをユーザに問合せるメッセージを表示部に表示する（Ｓ５０２）。この問合せに対して、ユーザから操作部１６を介して否定する旨の指示がなされると、ＣＰＵ１１は指示色と処理内容の組み合わせの変更を行う旨のメッセージを表示部に表示する（Ｓ５０５）。
【００２７】
ここでは、何れの色を変更するかを問合せる表示を行い、指示された色に代えて新たな色を提示しても良いし、ユーザが操作部１６から任意の色を指定しても良い。また、新たな色とするのではなく、単に色と処理内容との組み合わせを変更するだけでも良い。このとき、ＣＰＵ１１は同じ色で異なる処理内容の指示を行うことはできないので、１つの色に対して１つの処理内容となるように制御する。
【００２８】
上述のＳ５０５で、指示色又は処理内容、或いは指示色と処理内容の両方の変更処理が行われると、ＣＰＵ１１はＳ５０１に戻る。ここでは、Ｓ５０５で変更処理を行ったことをユーザが確認できるように表示する。次に、Ｓ５０２の問合せに対してユーザが操作部１６から肯定する旨の指示を行うと、ＣＰＵ１１は使用すべき処理指示情報の指示色と、それに対応する処理内容とを決定し、ＲＡＭ１８に登録する。
【００２９】
尚、Ｓ５０２での判定は、ユーザに目視で原稿の内容（原稿に含まれている色）を確認させ、指示色の色成分と原稿に含まれる色成分とが類似していると判断される場合、互いに異なるものとし、処理指示情報の抽出エラーを防止するものである。
【００３０】
また、Ｓ５０２で確認した結果、原稿に含まれる色成分と指示色の色成分とが類似していると判定された場合、後述するように、原稿のモノクロコピーを行うように処理しても良い。この場合、ＣＰＵ１１は原稿をセットするよう促すメッセージを操作部１６の表示部に表示し、これに対してユーザが原稿をセットしたと判断するとモノクロコピーを実行する。これにより、有彩色の色ペンで処理指示情報を付加した場合の処理指示情報の抽出エラーを防止することができる。このように、ユーザへの確認結果に応じて判定することにより、原稿をスキャナで読み取らせる回数を減らすことができる。
【００３１】
また、ＣＰＵ１１がＳ５０２において、指示色と処理内容がＯＫであると判断すると、処理指示情報に用いる色成分を特定してＲＡＭ１８に記憶する。そして、ＣＰＵ１１は、ユーザの手許にはチェック対象原稿（図２に示す（ｃ））のみ存在しているかを問合せるメッセージを操作部１６の表示部に表示する（Ｓ５０３）。これは、処理指示書を作るときに、テンプレートとなる原稿（図２に示す（ａ）又は（ｂ））が存在しているか否かを確認する処理である。つまり、チェック対象原稿しかユーザの手許にないときに後述するようにチェック対象原稿から処理指示情報を書き込むための原稿を作成することができるようにするものである。テンプレートとは、正式なチェック対象原稿ではなく、ユーザが処理指示情報を書き加えることができるものを指す。
【００３２】
次に、Ｓ５０３で、操作部１６からチェック対象原稿のみ存在している（テンプレートとなる原稿が存在しない）との応答を受けると、Ｓ５０４で、ＣＰＵ１１はスキャナ１５にチェック対象原稿をセットすることを促すメッセージを表示部に表示する。ここでは、「チェック対象原稿の１枚をスキャナにセットして下さい。セットしたらＯＫボタンを押して下さい」という案内表示と、原稿がセットされたことを認識するためにＯＫボタンとを表示する。
【００３３】
尚、ＯＫボタンが押されたことで原稿が置かれたことをＣＰＵ１１が認識するものとするが、原稿台の下部に設けられたフォトインタラプタや原稿給送装置の原稿センサなどを用いてスキャナ１５に原稿がセットされたことを自動で認識するようにしても良い。
【００３４】
Ｓ５０４でＯＫボタンが押されと判断すると、Ｓ５０６でＣＰＵ１１はスキャナ１５がチェック対象の原稿上の画像を読み取るように制御する。そして、ＣＰＵ１１はスキャナ１５から入力された画像データをモノクロの画像データに変換し、それをプリンタ１４に出力して記録紙へのモノクロコピー出力を行わせる。
【００３５】
尚、Ｓ５０６では、原稿をモノクロ化してプリンタ１４で印刷するものとしたが、これに限ることはない。読み取った原稿の画像の色を、指示色が含まれない他の色に変換してプリンタ１４で印刷することも可能である。例えば、読み取った原稿中の青い文字を赤い文字に変えて出力するなど色を変換して出力する。このほか、ＲＡＭ１８に予め色変換をすべき色を登録しておき、その登録色と同じ色が読み取った原稿にあった場合に変換するようにしても良い。
【００３６】
次に、Ｓ５０７では、ＣＰＵ１１はＳ５０６でプリンタ１４によって出力された記録紙に、図２に示す（ｂ）のような処理指示情報を書き込むことを促すメッセージを表示部に表示する。
【００３７】
また、上述のＳ５０３で、テンプレート原稿が存在する旨の応答があると、Ｓ５０８で操作部１６にテンプレートに処理指示情報が既に記載されている（図２に示す（ｂ））か否かを問合せるメッセージの表示を行う。この表示に対して、テンプレートに指示情報が記載されていないことを示すユーザからの応答を操作部１６から受けると、ＣＰＵ１１はＳ５０９でスキャナ１５にテンプレートをセットするよう促すメッセージを表示部に表示する。例えば、「テンプレートをスキャナにセットして下さい。セットしたらＯＫボタンを押して下さい」という案内表示と、ＯＫボタンの表示を行う。ここでは、ＯＫボタンが押されたことで原稿が置かれたことをＣＰＵ１１が認識するものとするが、原稿台の下部に設けられたフォトインタラプタや原稿給送装置の原稿センサなどを用いてスキャナ１５に原稿が置かれたことを自動で認識するようにしても良い。
【００３８】
Ｓ５０９でＯＫボタンが押されると、Ｓ５１０で、ＣＰＵ１１はテンプレートの原稿上の画像をスキャナ１５に読み取らせる。続くＳ５１１で、ＣＰＵ１１は読み取られた画像データに対して指示色と同じ色成分の色が含まれているか判定するための解析・認識処理を行う。色成分の解析・認識処理は、例えば赤い色が含まれるかを解析・認識する場合、赤の色相抽出を行って解析・認識する。この色成分の解析・認識処理には、公知の種々の方法を採用することが可能である。また、色相以外のパラメータを用いても良いし、他のパラメータを組み合わせても良い。
【００３９】
次に、Ｓ５１２にて、ＣＰＵ１１はＳ５１１で解析・認識した色に、ＲＡＭ１８に登録された指示色と同じものが含まれているか否かを判断する。この判断は、完全一致のみでなく、ある範囲を持たせて同じと判断することも可能である。例えば、ＲＧＢ値が２５６段階で表されている場合、指示色のＲＧＢ値と比較し、プラスマイナス２０以内であれば同じと判断するようにしても良い。尚、ここに示す以外の方法で同じ色と判断する方法を適用することも可能である。
【００４０】
Ｓ５１２で、ＲＡＭ１８に登録された指示色と同じ色がテンプレートの画像に含まれていると判断されると、Ｓ５１３で、ＣＰＵ１１はスキャナ１５にテンプレートをセットするよう促すメッセージを表示部に表示する。例えば、「テンプレートをスキャナにセットして下さい。セットしたらＯＫボタンを押して下さい」という案内表示と、ＯＫボタンを表示する。ここでは、ＣＰＵ１１は、ＯＫボタンが押されたことで原稿が置かれたことを認識するものとする。しかし、原稿台の下部に設けられたフォトインタラプタや原稿給送装置の原稿センサ等を用いてスキャナ１５に原稿が置かれたことを自動で認識するようにしても良い。
【００４１】
上述のＳ５１３でＯＫボタンが押されると、Ｓ５１４で、ＣＰＵ１１はスキャナ１５にチェック対象の原稿上の画像を読み取らせる。そして、スキャナ１５から入力された画像データをモノクロの画像データに変換してプリンタ１４に出力して、記録紙へのモノクロコピー出力を行わせる。
【００４２】
尚、Ｓ５１４では、原稿をモノクロ化してプリンタ１４で印刷するものとしたが、これに限ることはない。これに代わる処理は、上述のＳ５０６のように種々の方法を採用することができる。
【００４３】
次に、Ｓ５１５で、ＣＰＵ１１はＳ５１４でプリンタ１４によって出力された記録紙に、図２に示す（ｂ）のような処理指示情報を書き込むよう促すメッセージを表示部に表示する。
【００４４】
また、Ｓ５１２で、ＲＡＭ１８に登録されている指示色と同じ色がテンプレートの画像に含まれていないとＣＰＵ１１が判断すると、Ｓ５１６へ進む。このＳ５１６で、ＣＰＵ１１はテンプレート原稿に、図２に示す（ｂ）のような処理指示情報を書き込むよう促すメッセージを表示部に表示する。
【００４５】
また、上述のＳ５０８で、既にテンプレートに処理指示情報が記載済みであるならば、Ｓ５１７で、指示記載済テンプレートの原稿の画像をスキャナ１５に読み取らせる。ここでは、上述のモノクロコピー出力と同様の手順で原稿を読み取らせる。即ち、操作部１６に指示情報記載済みの原稿のセットを促すメッセージを表示部に表示し、ユーザが原稿をセットした後にＯＫボタンを押すと、スキャナ１５が原稿を読み取る。但し、ここでは、スキャナ１５で読み取られた画像データのモノクロ画像データへの変換は行わない。ここで得た画像データは、ＲＡＭ１８に記憶しておく。
【００４６】
次に、Ｓ５１８で、スキャナ１５から入力された画像データから処理指示情報の解析・認識処理を行う。ここでは、まずＳ５０２で決定された指示色が原稿のどこにあるのかを解析し、その部分の色を認識することで色毎に対象領域の位置を特定する。ここで特定される位置は、原稿上のどの位置にどの大きさのユーザ指定の領域が存在するのかを判別可能なものである。例えば、領域３１、即ち、ユーザが赤い色のペンで書き込んだ領域では、Ｓ５１８で赤色による閉領域として認識され、左上端の「開始座標」、開始座標からの相対座標で表す右下端の「終了座標」という指示内容情報を抽出できる。開始座標からの相対座標で表す終了座標は、Ｘ−Ｙ座標の位置が（Ｘ，Ｙ）と表されるとき、Ｘは主走査幅、Ｙは副走査幅と同義である。そして、ここで特定された位置と、Ｓ５０２で決定した処理内容とを対応付けてＣＰＵ１１はＲＡＭ１８に記憶する。
【００４７】
次に、Ｓ５１９で、ＣＰＵ１１はＳ５１８で認識した処理指示情報の開始座標と終了座標を用いて、ユーザ指定領域の画像データをＲＡＭ１８から順次取得する。Ｓ５２０では、Ｓ５１９で取得した画像データに対して表解析を行う。図４は、図２に示す（ｂ）のユーザ指定領域３３をＳ５２０で表解析を行った結果の一例を示す図である。この例では、テーブル６１、６２、６３、６４を含む。表解析処理として、実施形態１では、表構造の解析と、解析した表内の各セルにおいて記載があるか否かの判断を行う。表構造の解析では、ＣＰＵ１１はＳ５１９で取得した画像データから全ての罫線を抽出し、罫線で区切られた閉空間をセルとして認識し、セルの集合で構成されたオブジェクトを表として認識する。
【００４８】
このテーブル６１は、ユーザ指定領域３３をＳ５２０で表解析を行った結果、列方向に６（ＣｏｌＭＡＸ＝６）、行方向に１１（ＲｏｗＭＡＸ＝１１）のセルから成る表である（ＴＡＢ＝１）ことを認識したことを示す。更に、解析した表内の各セルにおいて記載があるか否かの判断は、表構造の解析により認識した各セル内の画像データをＨＬＳ色空間へと変換し、輝度Ｌが所定の明るさよりも暗い画素の各セル内に占める割合により各セルに記載があるか否かを判断する。実施形態１では、画像データから取得したセル内の画像データはＲＧＢ色空間である。よって、輝度Ｌの値が５０％よりも小さい画素の各セル内に占める割合を求め、その割合が１割以上の場合、各セルに記載があると判断する。
【００４９】
尚、前記判定の方法に限るものではく、記載があるかどうかが判定できれば良いので、例えば、主走査方向に前記暗い画素が連続する長さなどで、記載があるかどかを判定しても良い。また、ここで用いたＲＧＢ色空間からＨＬＳ色空間への変換は公知の技術であるため、ここでの詳細な説明は省く。
【００５０】
テーブル６２は、セルが記載済であるかを示し、記載済の場合は１（ＦＩＬＬ＝１）、未記載の場合は０（ＦＩＬＬ＝０）を格納している。例えばユーザ指定領域３３において、セルの行―列の位置が（行，列）と表されるとき、テーブル６２のセル（１，１）に相当する領域は“ＣＯＤＥ”と記載されていることを認識し、記載情報（ＦＩＬＬ）として１を格納している。テーブル６３は、各行の開始位置のＹ座標と、各行の全てのセルが記載済（ＦＩＬＬ＝１）であるか否かを示す。テーブル６４は、各列の開始位置のＸ座標と、各列の全てのセルが記載済（ＦＩＬＬ＝１）であるか否かを示す。
【００５１】
そして、Ｓ５２１で、ＣＰＵ１１は、Ｓ５２０で解析した結果を判定し、画像データに表が存在しない場合にはＳ５２５へ進み、表が存在する場合にはＳ５２２へ進む。このＳ５２２では、Ｓ５２０で解析した結果を用いて、チェック結果を出力する処理単位を決定する。
【００５２】
図５は、処理単位決定処理を示すフローチャートの一例である。図６は、後述する処理単位を決定する処理で使用するテーブルの一例である。このテーブルはＲＡＭ１８に格納されている。まず、Ｓ７０１で、ＣＰＵ１１は行・列を示すローカルのポインタ変数ＰｒとＰｃを初期化する。次に、Ｓ７０２では、ＣＰＵ１１は、図４のテーブル６２を参照し、各行のセルが全て記載済であるか否かを確認する。各行のセルが全て記載済である場合はＳ７０３へ進み、ポインタＰｒを一つ進め、それ以外の場合はＳ７０４へ進む。
【００５３】
上述のＳ７０２、Ｓ７０３の処理により、表中の先頭行からどの行まで、行に含まれる全てのセルが記載済であるかを確認することができる。例えば、Ｓ７０４へ進んだ時点でＰｒ＝１の場合、１行目まで全てのセルが記載済であることを示す。
【００５４】
次に同様に、表中の先頭列からどの列まで、列に含まれる全てのセルが記載済であるかをＳ７０４、Ｓ７０５により確認する。次に、Ｓ７０６で、処理範囲を認識する。ＣＰＵ１１は、Ｓ７０２〜Ｓ７０５で確定したポインタ変数Ｐｒ、Ｐｃ、行・列のセル数を示すＲｏｗＭＡＸ、ＣｏｌＭＡＸとを用いて、セル（Ｐｒ＋１，Ｐｃ＋１）からセル（ＲｏｗＭＡＸ，ＣｏｌＭＡＸ）で示される範囲を処理範囲として認識する。Ｓ７０７では、処理単位を決定する。ＣＰＵ１１は、図６に示すテーブル８１と、ポインタ変数Ｐｒ、Ｐｃとを用いて、処理単位をセル・行・列の何れかで扱うことを決定する。
【００５５】
多くの表において、各欄に何を記入すれば良いか、原稿を記入する人がわかるように、先頭行・先頭列に項目が記載されていることがある。例えば、ユーザ指定領域３３の場合、先頭行のみ全てのセルが記載済（ＦＩＬＬ＝１）であり、先頭行の各セルはそれぞれ「ＣＯＤＥ」「品名・摘要」「数量」「単位」「単価」「金額」で構成されている。先頭行以外のセルは全て空欄（ＦＩＬＬ＝０）である。この場合、Ｓ７０２〜Ｓ７０５により、Ｐｃ＝０、Ｐｒ＝１が認識される。更に、Ｓ７０６により選択範囲がセル（１，２）からセル（６，１１）であると認識される。更に、Ｓ７０７で、行のポインタ変数が０＜Ｐｒ（１）＜ＲｏｗＭＡＸ（１１）となり、処理単位を行うとして扱うことを決定する。
【００５６】
つまり、Ｓ７０２からＳ７０７により、各欄に何を記入すればよいか、原稿を記入する人がわかるようにするための項目が記載されている行以外を、チェック対象の処理領域として認識することが可能となる。更に、行単位で各項目に対応する全ての欄が記載されているか否かをチェックすることが可能となる。
【００５７】
ここで図３に戻り、Ｓ５２３で、Ｓ５２２の結果、処理単位がセルとして認識されたか否かを判断し、ＣＰＵ１１が処理単位がセルとして認識した場合はＳ５２５へ進み、それ以外の場合はＳ５２４へ進む。このＳ５２４では、ＣＰＵ１１がＳ５２２で決定した処理範囲に含まれる処理単位に対して単位処理情報を生成する。
【００５８】
上述のＳ５０２で決定した処理内容は、正常（ＯＫ）／不正（ＮＧ）といった結果出力と、それぞれの結果出力をするための条件からなる。例えば、正常（ＯＫ）と結果出力する条件は、記載があることであり、不正（ＮＧ）と結果出力する条件は、それ（「記載がある」こと）以外である。Ｓ５２４で生成する情報は、正常（ＯＫ）／不正（ＮＧ）といった結果出力、更に結果出力しない（スキップ）と、それぞれの結果になる条件からなる。例えば、ユーザ指定領域３３の場合、Ｓ５２２で決定した先頭行を除く各行の処理単位に対して、Ｓ５０２で決定した、記載があることを確認する処理内容が指示されている。このとき、ＣＰＵ１１は結果出力しない（スキップ）条件として、各行に含まれる複数のセルが全て記載されていないこととして単位処理情報を生成する。
【００５９】
正常（ＯＫ）と結果出力する条件として、全てのセルが記載されていることとして単位処理情報を生成する。不正（ＮＧ）と結果出力する条件として、それ以外であることとして単位処理情報を生成する。記載があることを確認する処理に対し、各行に含まれる複数のセルが全て記載されていないことは、行自体が利用されていないを意味する。そのため、各行に含まれる複数のセルが全て記載されていないことを、ＣＰＵ１１は結果出力しない（スキップ）条件として、単位処理情報として生成する。ここで生成した単位処理情報は、Ｓ５２０で解析した表解析結果を用いて行うと、各行に含まれるセルの位置と共に対応付けてＣＰＵ１１はＲＡＭ１８に格納する。
【００６０】
単位処理情報に含まれる各条件は、Ｓ５０２で決定した処理内容と、処理内容を処理単位内の各セルに適用した場合の結果の組み合わせにより生成されるため、単位処理情報として新たに複雑な情報を生成する必要がない。
【００６１】
Ｓ５２５では、全てのユーザー指定領域に対して、ＣＰＵ１１は処理を施したかを判断し、全て終了したと判断した場合Ｓ５２６へ進み、まだ処理していないユーザー指定領域が存在する場合は、Ｓ５１９に戻る。
【００６２】
続いて、Ｓ５２６で、ＣＰＵ１１はＳ５１８〜Ｓ５２５で解析・認識した結果に基づき生成した情報を操作部１６の表示部に表示する。例えば、特定した処理指示情報に対応する領域やその領域に対する処理内容を表示する。また、読み取った原稿のサムネイル画像を表示し、その画像と対応させてどの位置に処理指示情報があり、その処理内容がどういったものかを識別可能に表示するようにしても良い。図７は、ＣＰＵ１１が操作部１６の表示部に表示させた処理指示情報９０１の一例を示す図である。この例では、読み取った原稿のサムネイル画像９０２と、各領域に対する処理内容の一覧９０３と、各処理内容に対する詳細設定を確認・修正を行うためのボタンとを表示している。
【００６３】
ここで、ユーザから処理内容の詳細設定を行う応答を、操作部１６を介して受けた場合の処理の一例を、図８乃至図１０を用いて説明する。図８は、ＣＰＵ１１が操作部１６の表示部に表示させた、図２（ｂ）のユーザ指定領域３３に対する処理内容の詳細設定操作画面の例を示す図である。この画面１００１には、選択モードボタン、単位ボタン、範囲ボタン、処理ボタンが含まれる。選択モードボタンは表か矩形かを選択するためのボタンである。単位ボタンは表選択モード時の処理単位を設定する画面を表示するためのボタンである。範囲ボタンは選択範囲を設定する画面を表示するためのボタンである。処理ボタンは処理内容を設定するためボタンである。また各ボタンに対応する設定済の内容の概要をポップアップ表示している。ここでは、「表選択」、各行を処理単位とする「行単位（Ａ−Ｆ）」、各行が含まれる範囲「（１，２）−（６，１１）」、処理内容として「記入アリ確認」が設定されていることを示している。更に、この画面には、設定された内容に基づく結果例を表示するためのボタン、設定を消去するボタン、設定を決定するボタン、設定を初期値に戻すためのボタンが含まれる。
【００６４】
図９は、ＣＰＵ１１が詳細設定操作画面１００１に含まれる範囲ボタンを押下する応答を操作部１６を介して受けた場合に、ＣＰＵ１１が操作部１６に表示させた選択範囲設定画面の例を示す図である。Ｓ５１８からＳ５２５で解析・認識した結果に基づき、ＣＰＵ１１がユーザ指定領域３３に相当するサムネイル画像と、Ｓ５２０で表解析を行った結果、表である（ＴＡＢ＝１）場合、行・列の番号と各セルの位置とを対応付けて表示する。更に、Ｓ７０６で認識した選択範囲を表示する。ＣＰＵ１１は、選択範囲を修正する応答を、操作部１６を介して画面１１０１上で受け付けることが可能である。
【００６５】
図１０は、ＣＰＵ１１が詳細設定操作画面１００１に含まれる処理ボタンを押下する応答を操作部１６を介して受けた場合に、ＣＰＵ１１が操作部１６に表示させた処理設定画面の例を示す図である。Ｓ５１８からＳ５２５で解析・認識した結果に基づき、この画面１２０１には、ＣＰＵ１１は処理単位に対する処理内容を表示する。ここでは、処理単位が行であり、行に含まれる複数のセルの各々に対する正常（ＯＫ）と判断するセル条件を設定するボタンと、各セルの結果の組み合わせにより結果を判断する単位条件を設定するボタンが含まれる。また単位条件に対して、それぞれどのような結果を出力するかの概要をポップアップ表示させている。
【００６６】
図８乃至図１０で説明したように、ユーザから処理内容の詳細設定を行う応答を、操作部１６を介して受け付けることにより、ＣＰＵ１１が処理内容を確認・修正してＲＡＭ１８に格納することが可能である。
【００６７】
ここで図３に戻り、Ｓ５２７で、ＣＰＵ１１はＳ５２６で表示した内容で正しいか否かをユーザに確認させるメッセージを操作部１６の表示部に表示する。この確認に対して、ユーザから否定する応答を操作部１６から受けると、Ｓ５３２へ進み、ＣＰＵ１１は、Ｓ５１７でスキャナ１５により読み取ったテンプレート画像をプリンタ１４でモノクロ出力するか確認するメッセージを表示部に表示する。
【００６８】
そして、ＣＰＵ１１が、肯定する応答を操作部１６から受け取ると、Ｓ５３３へ進み、Ｓ５１７でスキャナ１５によって読み取った原稿の画像をモノクロ画像データに変換し、プリンタ１４でモノクロコピー出力を行わせる。
【００６９】
即ち、正しく処理指示情報が抽出できなかった場合に、処理指示情報が付加された処理指示書をモノクロコピーする。そして、これを用いて再び処理指示情報を付加させる。尚、Ｓ５３３では、原稿をモノクロ化してプリンタ１４で印刷するものとしたが、これに限ることはない。これに代わる処理は上述のＳ５０６のように種々の方法を採用することができる。
【００７０】
Ｓ５３４では、ＣＰＵ１１は、Ｓ５３３でプリンタ１４によって出力された記録紙に、処理指示情報を書き込むことを促す表示を操作部１６に行わせる。次に、Ｓ５３５では、Ｓ５３２でユーザからモノクロコピー出力を行わないことを示す指示を操作部１６から受けると、ＣＰＵ１１は処理指示書を新たに作成するかを確認するメッセージを表示部に表示する。この確認に対して、新たに処理指示書を作成することを示す指示を操作部１６から受けると、Ｓ５３６へ進み、ＣＰＵ１１は新たに作成した処理指示書をスキャナにセットするよう促すメッセージを表示部に表示する。一方、Ｓ５３５の確認に対して、新たに処理指示書を作成しないことを示す指示を、操作部１６から受けると、この処理を終了する。
【００７１】
Ｓ５３４、Ｓ５３６の表示に引き続き、ユーザが原稿をセットし、操作部１６を介してＯＫボタンを押すなど、読み取りの指示が行われると、先に説明したＳ５１７の処理を再び実行する。
【００７２】
そして、Ｓ５２７で解析結果が正しかったことを示す応答を操作部１６から受け取ると、当該解析内容を処理指示情報の抽出結果としてＲＡＭ１８に記憶する。続いて、Ｓ５２８へ進み、ＣＰＵ１１はスキャンチケットを作成するか否か問合せるメッセージを表示部に表示する。この表示に対して、肯定する応答を操作部１６から受けると、Ｓ５２９へ進み、ＣＰＵ１１は解析内容のコード化を行う。
【００７３】
解析内容のコード化とは、Ｓ５２６で表示した解析結果を、例えば２次元コード（ＱＲコードなど）を使ってコード化することを指す。コード化される内容は、処理指示された領域とその領域に対する処理内容である。また、ここでは２次元コードを例に説明するがこれ以外の方法でコード化したものとしても良く、画像処理装置１００が解析・認識可能なものであればこれに限ることはない。Ｓ５３０では、ＣＰＵ１１はＳ５２９で作成したコード化したものを画像としてプリンタ１４で記録紙に出力させ印刷する。
【００７４】
ここで印刷されたスキャンチケットを用いてチェック対象の原稿のチェックを実行することが可能である。但し、Ｓ５２７で、解析結果が正しいと判断された場合は、Ｓ５１７でスキャナ１５により読み取らせた処理指示書は正しく認識されたことを示す。そのため、Ｓ５２８〜５３０の処理を行わず、この処理指示書をスキャンチケットとしても良い。この場合、チェック時に処理指示書から処理内容などを認識する。
【００７５】
また、Ｓ５２８の問合せに対して否定する応答を操作部１６から受けると、ＣＰＵ１１は、Ｓ５２７で登録した解析内容を特定するためのＩＤを操作部１６に表示させる。これはチェック原稿のチェックを行わせる際に、この解析内容を特定し、ＲＡＭ１８から読み出して利用するためである。このＩＤはＣＰＵ１１が提示する以外、ユーザが所望のＩＤを操作部１６から指定するものであっても良い。ここで決定したＩＤと解析内容とは対応付けられてＲＡＭ１８に記憶される。その後、Ｓ５３１へ進む。
【００７６】
Ｓ５３１では、以上のように認識した処理指示情報とそれに対応する処理内容に従ってチェック対象の原稿のチェックを行う。
【００７７】
以上の処理により、項目記載欄も含め表を選択されたときに、処理単位を決定し、各処理単位の内容が記載されているかをチェックする処理指示を適用することが可能となる。尚、以上説明した処理は全てを実行する必要はなく、一部の処理のみ実行するようにしても良い。
【００７８】
次に、作成したスキャンチケットを用いて、抽出した処理指示情報に応じた原稿のチェックを行う手順（Ｓ５３１）を、図１１を用いて説明する。まず、Ｓ１３０１において、ＣＰＵ１１はスキャンチケットを一枚目に、二枚目以降にチェック対象の原稿をスキャンすることを操作部１６の表示部に表示し、ユーザに原稿のセットを促す。
【００７９】
次に、Ｓ１３０２において、ＣＰＵ１１は原稿がセットされたことを不図示のセンサにより検知すると、スキャナ１５にスキャンチケット及びスキャン対象の原稿を読み込み、ＨＤＤ１３に画像データを格納するよう指示を送る。尚、実施形態１では、説明を簡単にするため、チェック対象の原稿が図２に示す（ｃ）のみとするが、チェック対象の原稿が複数部数あっても良い。
【００８０】
次に、Ｓ１３０３において、ＣＰＵ１１はＨＤＤ１３に格納されたスキャンチケットの画像データを読み出し、スキャンチケットの解析を行う。スキャンチケットには、複数の処理指示情報がＱＲコードにエンコードされて印字されている。尚、各処理指示情報は、どの領域をチェックするかというチェック領域情報と、そのチェック領域をどのような処理方法でチェックするかを示す処理コードで構成されている。更に、処理単位が複数のセルから成る場合は、単位処理情報と、各処理単位に含まれるセルの位置情報を含む。
【００８１】
ＣＰＵ１１は、スキャンチケットの画像データに含まれるＱＲコードの位置を検出し、ＱＲコードをデコードして複数の処理指示情報を取得する。処理コードとは、チェック領域をどのような処理方法でチェックするかを表し、チェック領域に対する処理方法が対応付けられた番号である。実施形態１では、チェック領域に記載があることをチェックする処理方法についてのみ記載するため、処理コードに関する詳細な説明は省略する。
【００８２】
尚、Ｓ１３０２において、複数のチェック対象の原稿が読み取られた場合は、一枚目に置かれたスキャンチケットに記載の処理指示情報が、二枚目以降のチェック対象の全ての原稿に対して適用される。処理指示情報は、チェック処理が終えるまで有効となる。
【００８３】
次に、Ｓ１３０４において、ＣＰＵ１１はＨＤＤ１３に格納されたチェック対象の画像データを順次読み出す。次に、Ｓ１３０５において、ＣＰＵ１１は複数の処理指示情報から一つを選択する。そして、Ｓ１３０４で読み出した画像データから処理指示情報のチェック領域情報が示す開始座標と終了座標を用いてチェック領域を順次取得し、ＲＡＭ１８に格納する。
【００８４】
次に、Ｓ１３０６で、ＣＰＵ１１は処理指示情報に単位処理情報が含まれているか否かを判断し、含まれていると判断した場合はＳ１３０７へ進み、含まれていないと判断した場合はＳ１３１７へ進む。
【００８５】
このＳ１３０７では、Ｓ１３０５で取得したチェック領域の画像データから、処理単位内の各セル領域の画像データを、ＣＰＵ１１は前記処理指示情報が示すセルの位置を用いて順次取得する。セルの位置は、スキャンチケット生成時に、Ｓ５２４において、表解析結果を用いて単位処理情報と対応づけて生成されている。例えば、領域４３の場合、最初に取得するセル領域の画像データは、指定領域の最初の行の最初のセルであり、開始座標（５００，３６５０）、開始座標からの相対座標で示される終了座標（４００、１５０）を用いて画像データを取得する。次に、取得する場合は、指定領域の最初の行の２番目に含まれるセルであり、開始座標（９００，３６５０）、開始座標からの相対座標で示される終了座標（１５００、１５０）を用いて画像データを取得する。
【００８６】
Ｓ１３０８では、ＣＰＵ１１は取得したセル領域内に記載があるか否かをチェックする処理を行う。ここでは、Ｓ１３０７で取得したチェック領域内の画像データをＨＬＳ色空間へと変換し、輝度Ｌが所定の明るさよりも暗い画素のチェック領域内に占める割合によりチェック領域に記載があるか否かを判断する。実施形態１では、画像データから取得したチェック領域の画像データはＲＧＢ色空間である。よって、輝度Ｌの値が５０％よりも小さい画素のチェック領域に占める割合を求め、その割合が１割以上の場合、チェック領域に記載があったと判断する。
【００８７】
尚、判定の方法に限るものではく、記載があるか否かが判定できれば良いので、例えば主走査方向に前記暗い画素が連続する長さなどで、記載があるか否かを判定しても良い。また、ここで用いたＲＧＢ色空間からＨＬＳ色空間への変換は公知の技術であり、ここでの詳細な説明は省く。
【００８８】
ＣＰＵ１１が記載があると判断した場合はＳ１３０９において、セルの正常条件が成立したことを出力し、それ以外の場合はＳ１３１０において、セルの正常条件が不正であることを出力する。
【００８９】
次に、Ｓ１３１１で、ＣＰＵ１１は処理単位内の各セルを全て確認したか否かを判断する。全て確認し終わった場合はＳ１３１２へ進み、確認していないセルが存在する場合はＳ１３０７へ進む。例えば、領域４３の場合、各行において列方向に６つのセルに対して確認し終わったか否かを判断する。
【００９０】
このＳ１３１２では、Ｓ１３０７〜Ｓ１３１１において確認した、ＣＰＵ１１が各処理単位内の全セルの結果の内容を確認する。各処理単位内の全セルが成立した場合、例えば領域４３の最初の処理単位である行が「１」、「赤鯛」、「５」、「匹」、「６５０」、「３２５０」により記載があった場合、Ｓ１３１３へ進み、この処理単位である行が正常（ＯＫ）と結果出力する。また、各処理単位内の一部セルが不成立であった場合、例えば領域４３の３番目の処理単位である行において一部記載ありの条件を満たさないセルが存在した場合、Ｓ１３１４へ進み、不正（ＮＧ）と結果出力する。更に、各処理単位内の全セルが不成立であった場合、例えば領域４３の５番目の処理単位である行において全てのセルが記載ありの条件を満たさない場合、Ｓ１３１５へ進み、結果出力しない。
【００９１】
次に、Ｓ１３１６において、ＣＰＵ１１はチェック領域内の各処理単位を全て確認したか否かを判断する。全て確認し終わった場合はＳ１３２０へ進み、確認していない処理単位が存在する場合はＳ１３０７へ進む。
【００９２】
一方、Ｓ１３１７では、Ｓ１３０５で取得したチェック領域内に記載があるか否かをチェックする処理を行う。チェックする方法はＳ１３０８と同様であるため、ここでの詳細な説明は省く。ＣＰＵ１１が記載があると判断した場合はＳ１３１８において、チェック領域の正常条件が成立したことを出力し、それ以外の場合はＳ１３１９において、チェック領域の正常条件が不正であることを出力する。
【００９３】
次に、Ｓ１３２０において、ＣＰＵ１１は原稿の画像データ内の全てのチェック領域を確認し終わったかを判断し、確認していないチェック領域がある場合はＳ１３０５に戻り、順次チェック領域の確認処理を施す。原稿の画像データ内の全てのチェック領域を確認し終わった場合はＳ１３２１へ進む。
【００９４】
次に、Ｓ１３２１において、ＣＰＵ１１は、Ｓ９０２で読み込んだチェック対象の原稿の画像データ全てに処理を終えたか否かを判定し、終えた場合はＳ１３２２へ進む。また、終えていない場合にはＳ１３０４に戻る。
【００９５】
そして、Ｓ１３２１２において、ＣＰＵ１１は全てのチェック対象の原稿の画像データに対して全てのチェック領域への処理が終了すると、それらのチェック結果と、それを表示する旨を操作部１６に送信し、チェック処理を終了する。また、チェック結果から画像データを生成し、プリンタ１４に送信することで、レポートなどを出力しても良いことは言うまでもない。
【００９６】
図１２は、図２に示す（ｃ）をチェックした結果をプリンタ１４に出力させた例を示す図である。この例は、Ｓ１３０４で得た画像データに、チェック領域に対する結果を示す文字列を付加して印刷したものである。領域１４０３に対しては処理単位が行であるため、各行に対し、Ｓ１３１３、１３１４，１３１５の何れかで出力された結果に応じて結果を付加している。これにより、ユーザーにとって不要である全く使用していない行に対する結果を出力しないようにすることができる。
【００９７】
尚、これらは一例であり、ページがＯＫかＮＧかだけを表示させても良い。また、ＮＧページは、１枚の記録紙に１枚のＮＧページを印刷するものに限るものではなく、ＮＧページの総枚数に応じて、複数枚のＮＧページを縮小して１枚の記録紙に配置して印刷しても良い。また、ＣＰＵ１１はどのようにＮＧページを印刷させるかは操作部１６を介して指定指示を受け付けることができ、予めＲＡＭ１８に登録しておくものとする。
【００９８】
以上の処理により、項目記載欄もあわせて表をマーカー選択されたときに、処理単位を決定し、処理単位に対するチェック内容を付加することにより、より複雑なチェック内容を含む指示をできるようになり、使い勝手が向上する。
【００９９】
［実施形態２］
次に、図面を参照しながら本発明に係る実施形態２を詳細に説明する。尚、実施形態２における画像処理装置の構成は、前述した実施形態１と同様であるため、その説明を省略する。
【０１００】
図１３に示す（ａ）は、実施形態２において用いる原稿のフォームの例を示す図である。また、図１３に示す（Ｂ）は、処理指示書の例を示す図、（Ｃ）はチェック対象の原稿の例を示す図である。実施形態１で用いた図２に示す（ａ）、（ｂ）、（ｃ）と異なる点は、品名や金額を羅列する表の１列目の項目が「ＣＯＤＥ」ではなく「Ｎｏ．」になっており、１行目と、１列目が記載済である点である。
【０１０１】
次に、図１３に示す（ｂ）のような処理指示書に基づき、原稿の記載内容のチェックに用いるスキャンチケットを作成する処理を説明する。スキャンチケットとは、実施形態１と同じものであるため、説明は省略する。スキャンチケットには、図１３に示す（ｂ）の原稿から認識した指示内容と、この指示内容を適用する領域の位置情報などが含まれる。チェック対象の原稿をチェックする際は、スキャナ１５がスキャンチケットを読み取り、その処理内容をＣＰＵ１１が認識した上で、チェック対象の原稿をチェックする。
【０１０２】
実施形態２におけるスキャンチケット作成処理は、前述した実施形態１の処理と同様であるため、その詳細な説明は省略する。ここで、実施形態２では、表の行・列共に記載済の欄が存在し、かつ、一方の記載内容に規則性がある場合、記載内容の規則性により処理単位を決定する処理を、処理単位決定処理（Ｓ５２２）に設ける。
【０１０３】
図１４は、実施形態２における処理単位決定処理を示すフローチャートである。まず、Ｓ１７０１〜Ｓ１７０６は、図５に示すＳ７０１〜Ｓ７０６と同様であり、ＣＰＵ１１はチェック対象の処理範囲と、全ての欄が記載されている行・列を認識する。
【０１０４】
次に、Ｓ１７０７において、ＣＰＵ１１はＳ１７０１〜Ｓ１７０６で認識した処理範囲に隣接する記載済の行・列の規則性を確認する。つまり、範囲として全ての欄が記載されている行、即ちセル（Ｐｃ＋１，Ｐｒ）＝（２，１）からセル（ＣｏｌＭＡＸ，Ｐｒ）＝（６，１）の範囲において、記載内容を確認する。そして、列、即ち（Ｐｃ，Ｐｒ＋１）＝（１，２）からセル（Ｐｃ，ＲｏｗＭＡＸ）＝（１、１１）の範囲において、記載内容を確認する。
【０１０５】
Ｓ５２０において解析した表内の前述した行・列範囲において、ＣＰＵ１１は各セルに文字情報が含まれるか否かをＯＣＲ処理を行うことにより解析する。ＯＣＲ処理の結果、行の範囲では、順に文字情報として「品名・適用」「数量」「単位」「単価」「金額」を認識する。列の範囲では、順に「１」「２」「３」「４」「５」「６」「７」「８」「９」「１０」を認識する。更に、ＣＰＵ１１はそれぞれ認識した文字情報と連続データパターンとのマッチング処理を行い、それぞれ認識した文字情報が規則性を持つか否かを確認する。ここで連続データパターンとは、Ｎ、ｍを自然数とした「Ｎ」、「Ｎ＋ｍ」といった連続する数字、「Ａ」、「Ｂ」といったアルファベット順などを意味する。実施形態２では、ＣＰＵ１１は列の範囲において規則性を認識する。
【０１０６】
次に、Ｓ１７０８において、Ｓ１７０７で認識した規則性を用いて処理単位を決定する。ＣＰＵ１１は、行・列が共に規則性を持たない、又は共に規則性を持つ場合、処理単位をセルとして認識し、行のみが規則性を持つ場合、処理単位を列として認識し、実施形態２のように列のみが規則性を持つ場合、処理単位を行うとして認識する。
【０１０７】
以上の処理を行って作成したスキャンチケットを用いて、抽出した処理指示情報に応じた原稿のチェックを行う手順（Ｓ５３１）は前述した実施形態１と同様であるため、詳細な説明は省略する。
【０１０８】
本実施形態２によれば、前述した実施形態１の効果に加えて、ユーザ指定領域内の行・列何れかの記載内容に規則性があるとき、複数のセルから成る処理単位を決定することが可能となり、ユーザの使い勝手が向上する。
【０１０９】
［実施形態３］
次に、図面を参照しながら本発明に係る実施形態３を詳細に説明する。尚、実施形態３における画像処理装置の構成は、前述した実施形態１と同様であるため、その説明は省略する。
【０１１０】
図１５は、実施形態３において用いる処理指示書の例を示す図である。原稿のフォームの例とチェック対象の原稿の例は、それぞれ図２に示す（ａ）、（ｃ）と同様であるため、その説明は省略する。実施形態３における処理指示書が、図２に示す（ｂ）と異なる点は、表に対してユーザが色ペンで用いて付加した指示の方法である。
【０１１１】
ここで、請求書（原稿）に書き込む処理指示情報（付加情報）を説明する。図２に示す（ｂ）において、例えば領域１８０１〜領域１８０３、領域１８０５、領域１８０７は、赤色のペンで書き込んだ領域で、領域１８０４、領域１８０６は青色のペンで書き込んだ領域である。
【０１１２】
そして、ユーザは事前に使用すべき処理指示情報の色の情報と処理内容とを、それぞれ対応付けて操作部１６を用いてＲＡＭ１８に登録する。即ち、赤色に対しては情報の記載があることをチェックすること、青色に対しては数字の記載があることをチェックすることをＲＡＭ１８に登録する。ＣＰＵ１１は、ここで登録された各色の色成分（例えば、色相など）を判定し、その内容をＲＡＭ１８に記憶させる。
【０１１３】
尚、色の登録は操作部１６を用いて行うのに代えて、用紙に書き込んだものをスキャナ１５に読み取らせて登録するものでも良い。また、ユーザが登録するのに代えて、画像処理装置１００に予め登録されているものとしても良い。予め登録された内容に従う場合、ユーザは登録されている色と処理内容とに従って原稿に処理指示情報を付加する。
【０１１４】
このように、使用すべき処理指示情報の色成分と、それに対応した処理内容を登録しておき、これに従った処理指示書を作成する。そして、処理指示書から処理指示情報を抽出し、抽出結果に応じて処理内容を認識することによりチェック対象の原稿について、原稿の特定領域に情報があるか否かをチェックする。
【０１１５】
次に、図１５に示す（ｂ）のような処理指示書に基づき、原稿の記載内容のチェックを実行させるためのスキャンチケットを作成する処理を説明する。スキャンチケットとは、前述した実施形態１と同じものであるため、説明は省略する。スキャンチケットには、図１５に示す（ｂ）の原稿から認識した指示内容と、指示内容を適用する領域の位置情報などが含まれる。チェック対象の原稿のチェックを行う際は、スキャナ１５によりスキャンチケットを読み取り、処理内容をＣＰＵ１１が認識した上で、チェック対象の原稿をチェックする。
【０１１６】
実施形態３におけるスキャンチケット作成処理は、前述した実施形態１の処理と同様であるため、その詳細な説明は省略する。実施形態３では、原稿内の表上に同じ高さや同じ幅を持つユーザ指示領域が存在する場合、複数のユーザ指示領域を一つの処理領域として扱う処理を指示内容解析処理（Ｓ５１８）に設ける。また、複数のユーザ指示領域に対応した単位処理情報を生成する処理を単位処理情報生成処理（Ｓ５２４）に設ける。
【０１１７】
実施形態１では、ＣＰＵ１１はスキャナ１５から入力された画像データから指示色毎の領域の位置を特定する。更に、実施形態３では、ＣＰＵ１１はそれぞれのユーザ指定領域の位置関係を解析する処理と、複数の指示領域を含む新しい指定領域を生成する処理とを行う。
【０１１８】
図１６は、実施形態３における指示内容解析処理を示すフローチャートである。まず、Ｓ１９０１において、実施形態１と同様に、ユーザ指定領域、即ち、ユーザがペンで書き込んだ閉領域の指示色と位置を認識する。次に、Ｓ１９０２において、ユーザ指定領域の位置関係を解析する。ユーザ指定領域の位置関係を解析する処理では、ユーザ指定領域の開始座標と終了座標で示される領域のいくつかが、関連を持つかを解析する。関連を持つか否かは、座標を確認することにより解析する。例えば、図１５に示す処理指示書の場合、領域１８０３〜領域１８０６が、副走査方向の開始座標と終了座標が±２５以内の位置関係であり、領域間の位置関係が±２５以内であることから、指定領域が同じ副走査幅で横並びであることを確認する。
【０１１９】
尚、ここでは領域の位置関係は、座標が予め決められた値以内であるかで確認したが、任意に設定可能な値以内であるかで確認しても良いし、領域の大きさによって値を変えても良い。
【０１２０】
次に、Ｓ１９０３において、新しい指定領域を生成する。具体的には、上述したユーザ指定領域の位置関係を解析する処理において、同じ主走査幅で縦並びの指定領域か、又は同じ副走査幅で横並びの指定領域を一つの指定領域として生成する。更に、複数のユーザ指定領域の位置情報とＳ５０２で決定した処理方法と関連付けてＣＰＵ１１はＲＡＭ１８に記憶する。
【０１２１】
また、実施形態１では、Ｓ５２２において、処理単位の決定を、表内の記載されているセルの位置に基づき処理単位を決定した。しかし、実施形態３では、Ｓ５１８において、新しく生成された指定領域の場合、複数の縦並びの指定領域から成るとき列を処理単位として、複数の横並びの指定領域から成るとき行を処理単位として決定する。
【０１２２】
更に、単位処理情報生成処理（Ｓ５２４）では、正常（ＯＫ）／不正（ＮＧ）といった結果出力、更に結果出力しない（スキップ）と、それぞれの結果になる条件から成る情報を生成する。ここで、領域１８０３〜領域１８０６から新しくＣＰＵ１１が生成した指定領域では、領域１８０３及び領域１８０５に相当する領域では、正常（ＯＫ）である条件が「記載がある」こと、不正（ＮＧ）である条件は、正常（ＯＫ）である場合以外である。また、領域１８０４及び領域１８０６に相当する領域では、正常（ＯＫ）である条件が「数字の記載がある」こと、不正（ＮＧ）である条件は、正常（ＯＫ）である場合以外である。このとき、ＣＰＵ１１は結果出力しない（スキップ）条件として、各行に含まれる複数のセルが全て記載されていないこととして単位処理情報を生成する。
【０１２３】
つまり、各セルに適用される成立条件に対して、表内の欄として使用していないという状況に対する必要条件をＣＰＵ１１は認識可能である場合、各セルに適用される成立条件の組み合わせによりＣＰＵ１１は結果を出力しない（スキップ）条件を生成する。正常（ＯＫ）の結果を出力する条件として、領域１８０３及び領域１８０５に相当する領域では「記載がある」、かつ領域１８０４及び領域１８０６に相当する領域では「数字の記載がある」ことを単位処理情報を生成する。更に、不正（ＮＧ）の結果を出力する条件として、それ以外であることとして単位処理情報を生成する。「記載がある」及び「数字の記載がある」ことを確認する処理に対して、各行に含まれる複数のセルが全て記載されていないことは、行自体が利用されていないを意味する。そのため、各行に含まれる複数のセルが全て記載されていないことを、ＣＰＵ１１は結果を出力しない（スキップ）条件として、単位処理情報として生成する。
【０１２４】
このように生成した単位処理情報は、Ｓ５１８で生成した新しい指定領域を用いて行うと、各行に含まれるセルの位置と共に対応付けてＣＰＵ１１はＲＡＭ１８に格納する。尚、以上の説明では記載があることと数字の記載があることを、チェック処理を行う条件としたが、ここに示した以外の条件、例えば記載がないことや、赤字で記載があることなどの条件を用いても良い。
【０１２５】
以上の処理を行って作成したスキャンチケットを用いて、抽出した処理指示情報に応じた原稿のチェックを行う手順（Ｓ５３１）は前述した実施形態１と同様であるため、詳細な説明は省略する。但し、Ｓ１３０８やＳ１３１７においては、記載があるか否かのみを判断しているが、Ｓ５０２で決定した処理内容が複数ある場合、ＣＰＵ１１は処理内容に応じた判断処理を行う。
【０１２６】
本実施形態３によれば、前述した実施形態１の効果に加えて、表内の複数のセルから成る処理単位に対するチェックを行う指示を行うときに、複数のチェック内容を組み合わせたチェックを行う指示が可能となり、ユーザの使い勝手が向上する。
【０１２７】
［他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2011159179.tif 000003
【図２】
2011159179.tif 000004
【図３】
2011159179.tif 000005
【図４】
2011159179.tif 000006
【図５】
2011159179.tif 000007
【図６】
2011159179.tif 000008
【図７】
2011159179.tif 000009
【図８】
2011159179.tif 000010
【図９】
2011159179.tif 000011
【図１０】
2011159179.tif 000012
【図１１】
2011159179.tif 000013
【図１２】
2011159179.tif 000014
【図１３】
2011159179.tif 000015
【図１４】
2011159179.tif 000016
【図１５】
2011159179.tif 000017
【図１６】
2011159179.tif 000018