(57)【要約】【課題】ユーザが指定した原稿の読取解像度の設定値に影響を受けることなく、印字不良を精度よく検出することができる画像読取装置を提供する。【解決手段】画像読取装置は、印字装置で印字された原稿画像の読取画像データに基づいて印字装置の印字不良を検出する検出手段（ステップＳ１３０４、１３０５）と、読取画像データの解像度Ｒｉをユーザ操作により任意の値に設定する設定手段と、設定手段で設定された解像度Ｒｕが、検出手段による印字不良検出処理に用いる画像データの予め定められた解像度Ｒｄより低い場合（ステップＳ１３０１のＹｅｓ）に、解像度Ｒｕを解像度Ｒｄに変更する変更手段（ステップＳ１３０３）と、検出手段による印字不良検出処理終了後、変更手段で変更された解像度Ｒｄで読み取られた画像データに対して設定手段で設定された解像度Ｒｕに変換する処理を行う変換手段（ステップＳ１３０７）とを備える。【選択図】図１４
2010166389.tif 000002
【特許請求の範囲】
【請求項１】
原稿に印字する印字手段と、
該印字手段により印字された原稿の画像を読み取る読取手段と、
該読取手段により読み取られた画像データに基づいて前記印字手段の印字不良を検出する検出手段と、
前記読取手段により読み取られる画像データの解像度をユーザ操作により設定する設定手段と、
該設定手段により設定された解像度が、前記検出手段による印字不良の検出処理に用いる画像データの予め定められた解像度より低い場合に、前記設定手段により設定された解像度を該解像度より高い値に変更する変更手段と、
前記検出手段による印字不良の検出処理の終了後、前記変更手段により変更された解像度で読み取られた画像データに対して前記設定手段により設定された解像度に変換する処理を行う変換手段と、を備える
ことを特徴とする画像読取装置。
【請求項２】
前記変更手段は、前記設定手段により設定された解像度を変更する際に、該解像度を前記検出手段による印字不良の検出処理に用いる画像データの予め定められた解像度に変更する、
ことを特徴とする請求項１に記載の画像読取装置。
【請求項３】
前記印字手段の印字出力が有効か無効かを判断する判断手段を備え、
前記変更手段は、前記判断手段により前記印字手段の印字出力が有効であると判断された場合に、前記設定手段により設定された解像度を変更する処理を実行する、
ことを特徴とする請求項１又は２に記載の画像読取装置。
【請求項４】
前記印字手段は、インクジェット式又はインクリボンカセット式である、
ことを特徴とする請求項１〜３のいずれか一項に記載の画像読取装置。
【請求項５】
前記変更手段は、インクカートリッジ又はインクリボンを交換後、所定の時間が経過した場合に、前記設定手段により設定された解像度を変更する処理を実行する、
ことを特徴とする請求項４に記載の画像読取装置。
【請求項６】
前記変更手段は、インクカートリッジ又はインクリボンを交換後、前記印字装置による印字数が所定数に達した場合に、前記設定手段により設定された解像度を変更する処理を実行する、
ことを特徴とする請求項４に記載の画像読取装置。
【請求項７】
原稿に印字する印字手段と、該印字手段により印字された原稿の画像を読み取る読取手段と、を備える画像読取装置の制御方法であって、
前記読取手段により読み取られた画像データに基づいて前記印字手段の印字不良を検出する検出ステップと、
前記読取手段により読み取られる画像データの解像度をユーザ操作により設定する設定ステップと、
該設定ステップで設定された解像度が、前記検出ステップでの印字不良の検出処理に用いる画像データの予め定められた解像度より低い場合に、前記設定ステップで設定された解像度を該解像度より高い値に変更する変更ステップと、
前記検出ステップでの印字不良の検出処理の終了後、前記変更ステップで変更された解像度で読み取られた画像データに対して前記設定ステップで設定された解像度に変換する処理を行う変換ステップと、を備える
ことを特徴とする画像読取装置の制御方法。
【請求項８】
原稿に印字する印字手段と、該印字手段により印字された原稿の画像を読み取る読取手段と、を備える画像読取装置を制御するプログラムであって、
前記読取手段により読み取られた画像データに基づいて前記印字手段の印字不良を検出する検出ステップと、
前記読取手段により読み取られる画像データの解像度をユーザ操作により設定する設定ステップと、
該設定ステップで設定された解像度が、前記検出ステップでの印字不良の検出処理に用いる画像データの予め定められた解像度より低い場合に、前記設定ステップで設定された解像度を該解像度より高い値に変更する変更ステップと、
前記検出ステップでの印字不良の検出処理の終了後、前記変更ステップで変更された解像度で読み取られた画像データに対して前記設定ステップで設定された解像度に変換するする処理を行う変換ステップと、をコンピュータに実行させる、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば帳票等の原稿に印字処理を施す印字手段を備える画像読取装置、画像読取装置の制御方法、及びプログラムに関する。
【背景技術】
【０００２】
従来のこの種の画像読取装置として、帳票の所定位置に認証のためのナンバリング文字を印字し、印字後の帳票の画像を読み取るものがある。
【０００３】
ナンバリング文字の印字データ（ナンバリングデータ）は、画像読取装置に接続されたホスト装置から取得し、画像読取装置は、このナンバリングデータ（例えば英数字等の文字コード）に基づき印字パターンを生成して、印字装置により帳票に印字する。
【０００４】
画像読取装置の印字装置には、インクカートリッジ（インク供給部材）に貯えられたインクをノズルにより噴射してカラー印字するインクジェット式のものがある。
【０００５】
インクカートリッジに貯えられたインクの量は印字によって徐々に減少し、インク量があるレベルまで減少すると印字がかすれた状態となり、目視にて文字を識別することが困難な状態となる。
【０００６】
また、インクジェット式の印字装置のノズルがインクで目詰まりして正常に印字ができない状態（印字不良）が発生していても、利用者が目視にて印字結果をチェックするまでその状態に気がつかない場合がある。
【０００７】
一方、インク供給部材としてインクカセットリボンを用いる画像読取装置では、印字装置により帳票に印字された文字の濃度をセンサで検出し、その検出濃度を基に印字不良を検出する技術が提案されている（特許文献１）。
【０００８】
また、印字不良を検出する際に、印字装置による印字文字数とセンサによって検出した文字の濃度情報とから印字不良の要因を特定し、利用者に通知する技術が提案されている（特許文献２）。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００２−３７０４３４号公報
【特許文献２】特許第３７４２３９３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上記特許文献１では、帳票に印字された文字の実際の印字濃度から印字不良を検出するため、該印字不良を正確に検出することができる。また、印字不良を検出する際に、上記特許文献２にように、印字文字数を参照することで、印字不良が、インク切れによるものか、あるいはノズル詰まり等によるものかを判別することができる。
【００１１】
しかし、上記特許文献１及び２では、原稿の読取解像度を任意に設定できる画像読取装置でユーザが解像度を低く設定して画像の読み取りを行った場合、読み取った画像を基に印字不良の検出処理を行うと、印字不良を精度よく検出することができない問題がある。
【００１２】
そこで、本発明は、ユーザが指定した原稿の読取解像度の設定値に影響を受けることなく、印字不良を精度よく検出することができる画像読取装置、画像読取装置の制御方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するために、本発明の画像読取装置は、原稿に印字する印字手段と、該印字手段により印字された原稿の画像を読み取る読取手段と、該読取手段により読み取られた画像データに基づいて前記印字手段の印字不良を検出する検出手段と、前記読取手段により読み取られる画像データの解像度をユーザ操作により設定する設定手段と、該設定手段により設定された解像度が、前記検出手段による印字不良の検出処理に用いる画像データの予め定められた解像度より低い場合に、前記設定手段により設定された解像度を該解像度より高い値に変更する変更手段と、前記検出手段による印字不良の検出処理の終了後、前記変更手段により変更された解像度で読み取られた画像データに対して前記設定手段により設定された解像度に変換する処理を行う変換手段と、を備えることを特徴とする。
【００１４】
本発明の画像読取装置の制御方法は、原稿に印字する印字手段と、該印字手段により印字された原稿の画像を読み取る読取手段と、を備える画像読取装置の制御方法であって、前記読取手段により読み取られた画像データに基づいて前記印字手段の印字不良を検出する検出ステップと、前記読取手段により読み取られる画像データの解像度をユーザ操作により設定する設定ステップと、該設定ステップで設定された解像度が、前記検出ステップでの印字不良の検出処理に用いる画像データの予め定められた解像度より低い場合に、前記設定ステップで設定された解像度を該解像度より高い値に変更する変更ステップと、前記検出ステップでの印字不良の検出処理の終了後、前記変更ステップで変更された解像度で読み取られた画像データに対して前記設定ステップで設定された解像度に変換する処理を行う変換ステップと、を備えることを特徴とする。
【００１５】
本発明のプログラムは、原稿に印字する印字手段と、該印字手段により印字された原稿の画像を読み取る読取手段と、を備える画像読取装置を制御するプログラムであって、前記読取手段により読み取られた画像データに基づいて前記印字手段の印字不良を検出する検出ステップと、前記読取手段により読み取られる画像データの解像度をユーザ操作により設定する設定ステップと、該設定ステップで設定された解像度が、前記検出ステップでの印字不良の検出処理に用いる画像データの予め定められた解像度より低い場合に、前記設定ステップで設定された解像度を該解像度より高い値に変更する変更ステップと、前記検出ステップでの印字不良の検出処理の終了後、前記変更ステップで変更された解像度で読み取られた画像データに対して前記設定ステップで設定された解像度に変換する処理を行う変換ステップと、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、ユーザが指定した原稿の読取解像度の設定値に影響を受けることなく、印字不良を精度よく検出することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態の一例である画像読取装置を説明するための概略断面図である。
【図２】画像読取装置の制御系について説明するためのブロック図である。
【図３】印字装置により帳票に印字された文字を読取ユニットで読み取り、読み取った画像データに基づいて印字不良を検出する処理を説明するためのフローチャート図である。
【図４】読取ユニットで読み取った印字装置による印字部分を含む帳票の画像データから印字範囲を抽出する処理を説明するための説明図である。
【図５】印字範囲にインク滴下エリア座標系を当てはめて複数のインク滴下エリアに区分けする処理を説明するための説明図である。
【図６】インク滴下エリアの拡大図である。
【図７】検知ドットマトリクスを説明するための説明図である。
【図８】インク滴下判定処理を説明するためのフローチャート図である。
【図９】検知ドット数テーブルを作成する処理を説明するためのフローチャート図である。
【図１０】印字文字に対応したフォントテーブルの一例を示す図である。
【図１１】出力ドットマトリクスの一例を示す図である。
【図１２】印字不良の判定処理を説明するためのフローチャート図である。
【図１３】解像度１００ｄｐｉで読取ユニットにより読み取った際の画像データ示す図である。
【図１４】読取ユニットによる読取解像度を変更する処理例を説明するためのフローチャート図である。
【図１５】図１４のステップＳ１３０７での解像度変換処理の一例について説明するためのフローチャート図である。
【図１６】ホストＰＣの表示部でのエラー表示の一例を示す図である。
【図１７】画像読取装置の表示部でのエラー表示の一例を示す図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施形態の一例を図面を参照して説明する。
【００１９】
図１は、本発明の実施形態の一例である画像読取装置を説明するための概略断面図である。
【００２０】
図１に示すように、本実施形態の画像読取装置１は、帳票（原稿）Ｄを給紙するピックアップローラ２、給紙された帳票Ｄを搬送路に給送する給送ローラ３、及び搬送路に給送される帳票Ｄを１枚ずつ分離する分離ローラ４を備える。
【００２１】
搬送路に給送された帳票Ｄは、搬送ローラ対５により下流側に搬送され、読取ユニット８で画像が読み取られた後、排紙ローラ対７により外部に排紙される。読取ユニット８は、帳票Ｄに光を照射する光源２０１と、帳票Ｄからの反射光を受光して画像信号を出力するラインイメージセンサ２００とを備える。
【００２２】
読取ユニット８に対して搬送路を挟んで対向する位置には、例えば白色の対向部材９が配置され、読取ユニット８と搬送ローラ対５との間には、搬送路を搬送される帳票Ｄを検知するレジストセンサ１０が配置されている。
【００２３】
また、読取ユニット８の上流側の搬送ローラ対５と給送ローラ３との間には、帳票Ｄの所定位置に認証のためのナンバリング文字を印字する印字装置１１が配置されている。
【００２４】
ナンバリング文字の印字データ（ナンバリングデータ）は、画像読取装置１に接続された不図示のホストＰＣから取得する。画像読取装置１は、このナンバリングデータ（例えば英数字等の文字コード）に基づき印字パターンを生成して、印字装置１１により帳票Ｄに印字する。
【００２５】
印字装置１１は、例えばインクジェット式の場合、インクカートリッジ１２に蓄えられたカラーインクを噴射することによりドットマトリクス構成の文字を帳票Ｄに印字する。なお、印字装置１１は、インクリボンカセット式やその他の印字方式で文字を印字するものであっても良い。
【００２６】
画像読取装置１は、上部フレーム８１及び下部フレーム８２から構成され、上部フレーム８１が回動軸８１ａを介して開閉可能に支持されている。搬送路で帳票Ｄの紙詰まり等が発生した際には、上部フレーム８１を開けて搬送路に詰まった帳票を取り除くことができる。
【００２７】
ここで、読取ユニット８の光源２０１から帳票Ｄに光を照射してその反射光をラインイメージセンサ２００で受光することで帳票Ｄの画像を読み取るが、光源２０１及びラインイメージセンサ２００には、それぞれ光量むらや感度むらがある。
【００２８】
このため、ラインイメージセンサ２００で対向部材９を読み取り、光量むらと感度むらをラインイメージセンサ２００の画素単位で補正するシェーディング補正を行う。このシェーディング補正では、光源２０１の発光量を適正化する光量調整と、ラインイメージセンサ２００の画像信号出力に対する増幅率を最適化するゲイン調整とを行う。
【００２９】
そして、帳票Ｄの画像を読み取る際には、まず、読取ユニット８のラインイメージセンサ２００により対向部材９を読み取り、シェーディング補正用データを生成して画素ごとに記憶する。
【００３０】
その後、ピックアップローラ２により帳票Ｄが給紙され、給紙された帳票Ｄは、給送ローラ３及び分離ローラ４によって１枚ずつに分離されて搬送路に給送される。搬送路に給送された帳票Ｄは、搬送ローラ対５によって下流側に搬送され、読取ユニット８のラインイメージセンサ２００で画像が読み取られる。
【００３１】
ここで、前述した画素ごとに記憶したシェーディング補正用データを参照して、ラインイメージセンサ２００の画像信号から生成した画像データをシェーディング補正する。画像が読み取られた帳票Ｄは、排紙ローラ対７により下流側に搬送されて外部に排紙される。
【００３２】
読取ユニット８で帳票Ｄの画像を読み取るタイミングは、帳票Ｄの先端がレジストセンサ１０で検知された時点からＴ１秒経過したときにラインイメージセンサ２００による読み取りを開始し、Ｔ２（＞Ｔ１）秒経過したときに読み取りを終了する。
【００３３】
Ｔ１は、帳票Ｄの先端がレジストセンサ１０で検知された時点からラインイメージセンサ２００に到達するまでの時間である。Ｔ２は、帳票Ｄの先端がレジストセンサ１０で検知された時点からラインイメージセンサ２００を通過し終わるまでの時間である。
【００３４】
Ｔ１，Ｔ２は、帳票Ｄの搬送速度と、レジストセンサ１０からラインイメージセンサ２００の上流端及び下流端まで距離とから求めることができる。
【００３５】
次に、図２を参照して、画像読取装置１の制御系について説明する。
【００３６】
図２において、読取ユニット８は、搬送路を搬送される帳票Ｄに光源２０１から光を照射して帳票Ｄから反射した光をラインイメージセンサ２００で光電変換し、不図示のＡ／Ｄ変換部でデジタル化処理を施して所定の色深度の画像データを出力する。
【００３７】
画像処理部１０２は、読取ユニット８から出力された画像データに対してシェーディング処理、色深度変換処理等を行う。
【００３８】
制御部１０６は、不図示のＣＰＵ、ＲＯＭ、及びＲＡＭ等を備え、ＲＯＭには画像読取装置１を制御する各種の処理プログラム、及び各種の処理プログラムを実行するのに必要な各種データが格納される。
【００３９】
出力部１０４は、ＰＣ等の外部装置との通信を行うための通信Ｉ／Ｆ等を備える。記憶部１０５は、ハードディスク、ＲＡＭ、メモリカード等で構成され、制御部１０６の制御により画像データの書き込みおよび読み出しを行う。
【００４０】
操作部１０１は、画像読取装置１に対する指示を入力するためのユーザインタフェイスであり、例えば、帳票Ｄの画像を読み取る際の解像度の指定についてもこの操作部１０１でのユーザ操作により行われる。
【００４１】
図３は、印字装置１１により帳票Ｄに印字された文字を読取ユニット８で読み取り、読み取った画像データに基づいて印字不良を検出する処理を説明するためのフローチャート図である。
【００４２】
図３において、印字範囲抽出処理（Ａ）では、読取ユニット８で読み取った印字装置１１による印字部分を含む帳票の画像データ３００（図４）から印字範囲３０１を抽出する。印字範囲３０１は、制御部１０６が印字装置１１を制御する際に設定し、記憶部１０５に保持している座標値を参照して決定する。
【００４３】
マトリクスマッピング処理（Ｂ）では、印字範囲抽出処理（Ａ）で抽出した印字範囲３０１に対して記憶部１０５に保持されているインク滴下エリア座標系５０１を当てはめ、図５に示すように、複数のインク滴下エリア５０２に区分けする。
【００４４】
検知ドット数テーブル生成処理（Ｃ）では、マトリクスマッピング処理（Ｂ）で生成した複数のインク滴下エリア５０２の画素を走査し、各インク滴下エリア５０２にインクが滴下されているか否かを判定する。
【００４５】
例えば、印字装置１１が出力するインクが黒であった場合、各インク滴下エリア５０２に、ある輝度値以下の画素が規定数以上あったとき、そのインク滴下エリア５０２にはインクが滴下されていると判定する。そして、その判定結果を記憶部１０５に別途作成した検知ドットマトリクス７００（図７）に書き込む。
【００４６】
ここで、図６を参照して、各インク滴下エリア５０２がａｘ画素×ａｙ画素で構成されるとき、インク滴下エリア座標系５０１の最も左上の要素、及び検知ドットマトリクス７００の最も左上の要素を原点としてｘ座標、ｙ座標を定義する。また、各インク滴下エリア５０２をＩ［ｙ］［ｘ］と表し、検知ドットマトリクス７００の各要素をＤ［ｙ］［ｘ］と表す。
【００４７】
同様に、各インク滴下エリア５０２に、最も左上の画素を原点としてｉ座標、ｊ座標を定義する。そして、インク滴下エリア５０２の各画素をＡ［ｊ］［ｉ］とし、インク検知のための規定数をＴｈｃ、輝度値をＴｈｂ、画素カウント用の変数をｃｎｔとすると、インク滴下判定の処理は、図８に示すようになる。
【００４８】
図８での各処理は、画像読取装置１のＲＯＭやハードディスク等に記憶されたプログラムがＲＡＭにロードされて、制御部１０６のＣＰＵにより実行される。
【００４９】
図８において、ステップＳ８０１では、ＣＰＵは、インク滴下エリア５０２の画素の座標を表す変数ｊ及びインクを検知した画素数を表す変数ｃｎｔを０に初期化してステップＳ８０２に進む。
【００５０】
ステップＳ８０２では、ＣＰＵは、インク滴下エリア５０２の画素の座標を表す変数ｉを０に初期化し、ステップＳ８０３に進む。
【００５１】
ステップＳ８０３では、ＣＰＵは、座標（ｉ，ｊ）で表される、インク滴下エリア５０２の画素Ａ［ｊ］［ｉ］が輝度値Ｔｈｂを超えているか否かを判断する。
【００５２】
そして、ＣＰＵは、画素Ａ［ｊ］［ｉ］が輝度値Ｔｈｂを超えている場合は、画素Ａ［ｊ］［ｉ］にはインクが滴下されていないと判定し、ステップＳ８０６に進む。一方、ＣＰＵは、画素Ａ［ｊ］［ｉ］が輝度値Ｔｈｂ以下の場合は、画素Ａ［ｊ］［ｉ］にはインクが滴下されていると判定し、ステップＳ８０４に進む。
【００５３】
ステップＳ８０４では、ＣＰＵは、変数ｃｎｔの値を１増加させ、ステップＳ８０５に進む。
【００５４】
ステップＳ８０５では、ＣＰＵは、変数ｃｎｔの値がインク検知定数Ｔｈｃを超えているか否かを判断し、超えている場合は、ステップＳ８１１に進み、そうでない場合は、ステップＳ８０６に進む。
【００５５】
ステップＳ８１１では、ＣＰＵは、検知ドットマトリクス７００の要素Ｄ［ｙ］［ｘ］に、インクが滴下されていたことを表す数値１を書き込む。
【００５６】
一方、ステップＳ８０６では、ＣＰＵは、変数ｉの値を１増加させ、ステップＳ８０７に進む。
【００５７】
ステップＳ８０７では、ＣＰＵは、変数ｉの値がインク滴下エリア５０２のｘ軸方向の構成画素数ａｘ未満であるか否かを判断し、変数ｉの値が構成画素数ａｘ未満である場合は、ステップＳ８０３に戻り、そうでない場合は、ステップＳ８０８に進む。
【００５８】
ステップＳ８０８では、ＣＰＵは、変数ｊの値を１増加させ、ステップＳ８０９に進む。
【００５９】
ステップＳ８０９では、ＣＰＵは、変数ｊの値がインク滴下エリア５０２のｙ軸方向の構成画素数ａｙ未満であるか否かを判断し、変数ｊの値が構成画素数ａｙ未満である場合は、ステップＳ８０２に戻り、そうでない場合は、ステップＳ８１０に進む。
【００６０】
ステップＳ８１０では、ＣＰＵは、座標（ｘ，ｙ）で表される検知ドットマトリクス７００の要素Ｄ［ｙ］［ｘ］に、インクが滴下されていなかったことを表す数値０を書き込む。
【００６１】
そして、ＣＰＵは、上記処理を印字範囲３０１に対して適用した全てのインク滴下エリア５０２に対して行い、検知ドットマトリクス７００に結果を書き込む。
【００６２】
次に、ＣＰＵは、検知ドットマトリクス７００を搬送方向に走査し、ｙ座標毎にインクの滴下を検知したエリアの和を求め、記憶部１０５上に作成した検知ドット数テーブル７０１に結果を書き込む。
【００６３】
検知ドット数テーブル７０１の各要素をＴｄ［ｙ］と表すとき、印字装置１１により１文字がｃｘドット×ｃｙドットで表される文字がｓ文字印字された場合、検知ドット数テーブル７０１を作成する処理は図９に示すようになる。
【００６４】
図９での各処理は、画像読取装置１のＲＯＭやハードディスク等に記憶されたプログラムがＲＡＭにロードされて、制御部１０６のＣＰＵにより実行される。
【００６５】
ステップＳ９００では、ＣＰＵは、検知ドットマトリクス７００内の要素の座標、及び検知ドット数テーブル７０１の要素番号を表す変数ｙに数値０を書き込んで初期化を行い、ステップＳ９０１に進む。
【００６６】
ステップＳ９０１では、ＣＰＵは、検知ドットマトリクス７００内の要素の座標を表す変数ｘ、及び検知ドット数テーブル７０１の要素Ｔｄ［ｙ］に０を書き込んで初期化を行い、ステップＳ９０２に進む。
【００６７】
ステップＳ９０２では、ＣＰＵは、検知ドット数テーブル７０１の要素Ｔｄ［ｙ］の値を検知ドットマトリクス７００の要素Ｄ［ｙ］［ｘ］の値だけ増加させ、ステップＳ９０３に進む。
【００６８】
ステップＳ９０３では、ＣＰＵは、変数ｘの値を１増加させ、ステップＳ９０４に進む。
【００６９】
ステップＳ９０４では、ＣＰＵは、印字装置１１により印字された１文字を構成するｘ方向のドット数ｃｘと印字範囲３０１内に印字装置１１により印字された文字数ｓとの積（ｃｘ×ｓ）を求め、変数ｘの値と比較する。
【００７０】
そして、ＣＰＵは、変数ｘが（ｃｘ×ｓ）未満である場合は、ステップＳ９０２に戻り、変数ｘが（ｃｘ×ｓ）以上の場合は、ステップＳ９０５に進む。
【００７１】
ステップＳ９０５では、ＣＰＵは、変数ｙの値を１増加させ、ステップＳ９０６に進む。
【００７２】
ステップＳ９０６では、ＣＰＵは、変数ｙの値が印字装置１１により印字された１文字を構成するｙ方向のドット数ｃｙ未満か否かを判断する。
【００７３】
そして、ＣＰＵは、変数ｙの値がドット数ｃｙ未満の場合は、ステップＳ９０１に戻り、そうでない場合は、検知ドット数テーブル７０１を作成する処理を終了する。
【００７４】
次に、図１０及び図１１を参照して、図３に示す出力ドットマトリクス生成処理（Ｄ）について説明する。
【００７５】
制御部１０６により印字装置１１に対して文字を印字する制御を行うとき、印字すべき文字列を記憶部１０５に記憶し、保持しておく。出力ドットマトリクス生成処理（Ｄ）では、ＣＰＵは、記憶部１０５に保持されている文字列を取得し、その印字文字列を印字順に走査して、印字文字に対応したフォントテーブル１０００（図１０）を参照する。
【００７６】
フォントテーブル１０００には、印字装置１１が正常にインクを出力した際に生成されるドットの配置が格納されている。ＣＰＵは、印字装置１１が印字した全ての文字に対してフォントテーブル１０００を参照し、記憶部１０５に出力ドットマトリクス１１００（図１１）を作成する。
【００７７】
図３に示す出力ドット数テーブル生成処理（Ｅ）では、出力マトリクス生成処理（Ｄ）で作成した出力ドットマトリクス１１００から検知ドット数テーブル生成処理（Ｃ）と同様に、ｙ座標毎にインクの滴下を検知したエリアの和を求める。そして、その結果を記憶部１０５に作成した出力ドット数テーブル１１０１（図１１）の各要素Ｔｏ［ｙ］に格納する。
【００７８】
図３に示す印字不良判定処理（Ｆ）では、図７に示す検知ドット数テーブル７０１、及び図１１に示す出力ドット数テーブル１１０１について、それぞれのテーブルで番地の等しい要素ごとに数値を比較し、その差が規定値以上の場合、印字不良と判定する。
【００７９】
検知ドット数テーブル７０１、及び出力ドット数テーブル１１０１の要素数をｃｙ、印字不良判定の為の規定値をＴｈｄとすると、印字不良の判定処理は図１２に示すようになる。
【００８０】
図１２での各処理は、画像読取装置１のＲＯＭやハードディスク等に記憶されたプログラムがＲＡＭにロードされて、制御部１０６のＣＰＵにより実行される。
【００８１】
ステップＳ１２００では、ＣＰＵは、検知ドット数テーブル７０１、及び出力ドット数テーブル１１０１内のｙ方向の座標をあらわす変数ｙに数値０を書き込んで初期化し、ステップＳ１２０１に進む。
【００８２】
ステップＳ１２０１では、ＣＰＵは、検知ドット数テーブル７０１の要素Ｔｄ［ｙ］の値と出力ドット数テーブル１１０１の要素Ｔｏ［ｙ］の値との差分（Ｔｏ［ｙ］−Ｔｄ［ｙ］）を計算し規定値Ｔｈｄと比較する。
【００８３】
そして、ＣＰＵは、差分（Ｔｏ［ｙ］−Ｔｄ［ｙ］）が規定値Ｔｈｄを超える場合は、印字不良有りと判定し、印字不良を検出したことを示す動作フラグをセットして処理を終了する。また、ＣＰＵは、差分（Ｔｏ［ｙ］−Ｔｄ［ｙ］）が規定値Ｔｈｄ以下の場合は、ステップＳ１２０２に進む。
【００８４】
ステップＳ１２０２では、ＣＰＵは、変数ｙの値を１増加させ、ステップＳ１２０３に進む。
【００８５】
ステップＳ１２０３では、ＣＰＵは、変数ｙの値が印字装置１１により印字された１文字を構成するｙ方向のドット数ｃｙ未満が否かを判断する。
【００８６】
そして、ＣＰＵは、変数ｙの値がドット数ｃｙ未満の場合は、ステップＳ１２００に戻り、変数ｙの値がドット数ｃｙ以上の場合は、印字不良無しと判定し、印字不良が無かったことを表す動作フラグをセットして処理を終了する。
【００８７】
上述した印字不良の検出処理を行うことにより、印字装置１１の印字不良を検出することができる。
【００８８】
しかし、ユーザが操作部１０１で解像度を低く設定して読取ユニット８を動作させ、その読取画像に対して上述した印字不良の検出処理を行った場合、次のような不具合が発生する。
【００８９】
即ち、読取画像の解像度が低く、画素数が少ないので、インク滴下エリア５０２を構成する画素数が単一、或いは隣接するインク滴下エリア５０２まで同一画素がオーバーラップしてしまう等の現象が発生する。このため、インクの滴下を精度良く検出できず、印字不良の検出精度が低下してしまう。
【００９０】
図１３に、高さ３．３ｍｍ、幅２．８ｍｍで、１２ドット×８ドットで構成される文字を印字する一般的な印字装置の印字結果を、解像度１００ｄｐｉで読取ユニット８により読み取った際の画像データ示す。
【００９１】
図１３では、一文字を構成する画素は１３画素×１１画素となる。この画像データを基に、例えば図１３に示すインク滴下エリア５０２へのインク滴下を判定する場合、当該インク滴下エリア５０２を構成する画素は単一となり、ただ一個の画素の輝度値のみを用いてインク滴下を判定する必要がある。
【００９２】
この場合、ノイズの影響や、輝度が隣接するインク滴下エリアの印字結果と混同する現象等が起こりやすく、印字不良の検出精度は大きく低下してしまう。
【００９３】
そこで、本実施形態では、読取ユニット８による読取解像度を印字不良を精度良く検出することのできる解像度、例えば、ラインイメージセンサ２００の最高解像度に変更し、印字不良の検出処理の終了後、ユーザが設定した低い解像度へ変更する。これにより、インクの滴下を正確に検知して、印字不良の検出精度が低下するのを回避する。
【００９４】
ここで、読取ユニット８による読取解像度をユーザ設定の解像度より高い解像度に変更する期間を、印字装置１１による印字出力が有効な期間とすることが好ましい。これにより、印字装置１１による印字機能が無効になっているときの処理負荷を軽減することができる。
【００９５】
また、読取ユニット８による読取解像度をユーザ設定の解像度より高い解像度に変更するタイミングを、インクカートリッジ１２の交換後、不図示のタイマ等による計時により所定時間経過した時点としてもよい。
【００９６】
更には、読取ユニット８による読取解像度をユーザ設定の解像度より高い解像度に変更するタイミングを、インクカートリッジ１２の交換後、印字装置１１での印字数が所定数に達した時点としてもよい。このようにすると、インクカートリッジ１２内にインクが十分に残存している期間での処理負荷を軽減することができる。
【００９７】
次に、図１４を参照して、読取ユニット８による読取解像度の変更処理例について説明する。図１４での各処理は、画像読取装置１のＲＯＭやハードディスク等に記憶されたプログラムがＲＡＭにロードされて、制御部１０６のＣＰＵにより実行される。
【００９８】
ここで、読取ユニット８が読み取る画像データの解像度をＲｉ、ユーザが操作部１０１で指定した読取画像の解像度をＲｕ、印字不良を精度よく検出できる解像度をＲｄとし、画像縮小アルゴリズムに周知のニアレストネイバー法を用いたときの処理を説明する。
【００９９】
ステップＳ１３００では、ＣＰＵは、印字装置１１の印字出力が有効か無効かを判別し、印字装置１１の印字出力が有効であれば、ステップＳ１３０１に進み、印字装置１１の印字出力が無効であれば、ステップＳ１３０２に進む。
【０１００】
印字装置１１の印字出力の有効、無効はユーザが操作部１０１等で設定できるようになっており、その設定値は記憶部１０５に保持されている。ＣＰＵは、記憶部１０５に保持された設定値を参照し、印字装置１１の印字出力が有効か無効かを判別する。
【０１０１】
ステップＳ１３０１では、ＣＰＵは、ユーザが操作部１０１で指定した読取画像の解像度Ｒｕの値が印字不良を精度よく検出できる解像度Ｒｄの値未満か否かを判断する。
【０１０２】
そして、ＣＰＵは、解像度Ｒｕの値が解像度Ｒｄの値未満の場合は、ステップＳ１３０３に進み、解像度Ｒｕの値が解像度Ｒｄの値以上の場合は、ステップＳ１３０２に進む。
【０１０３】
ステップＳ１３０２では、ＣＰＵは、読取ユニット８が読み取る画像データの解像度Ｒｉに、ユーザが操作部１０１で指定した読取画像の解像度Ｒｕの値をコピーし、ステップＳ１３０４に進む。
【０１０４】
ステップＳ１３０３では、ＣＰＵは、読取ユニット８が読み取る画像データの解像度Ｒｉに、印字不良を精度よく検出できる解像度Ｒｄの値をコピーし、ステップＳ１３０４に進む。
【０１０５】
ステップＳ１３０４では、ＣＰＵは、読取ユニット８に対して解像度Ｒｉでの画像の読み取りを指示し、ステップＳ１３０５に進む。ここで、ＣＰＵは、ラインイメージセンサ２００から取得した画像に対してシェーディング補正処理を行い、記憶部１０５に解像度Ｒｉの画像データ３００を作成する。
【０１０６】
ステップＳ１３０５では、ＣＰＵは、記憶部１０５に記憶された解像度Ｒｉの画像データ３００に対して図１２で説明した印字不良の検出処理を実行し、ステップＳ１３０６に進む。
【０１０７】
なお、図１２での印字不良の検出処理において、印字不良有りと判定された場合、ＣＰＵは、読取ユニット８での読取り動作を停止するか、ホストＰＣの表示部に図１６に示すようなエラー表示を行い、ユーザに印字不良が発生したことを通知してもよい。あるいは、ＣＰＵは、画像読取装置１の不図示の表示部に図１７に示すようなエラー表示を行い、ユーザに対して印字不良が発生したことを通知しても良い。
【０１０８】
ステップＳ１３０６では、ＣＰＵは、読取ユニット８により読み取られた画像データの解像度Ｒｉの値とユーザが操作部１０１で指定した読取画像の解像度Ｒｕの値とが一致するか否かを判断する。
【０１０９】
そして、ＣＰＵは、解像度Ｒｉの値と解像度Ｒｕの値とが一致する場合は、処理を終了し、解像度Ｒｉの値と解像度Ｒｕの値とが一致しない場合は、ステップＳ１３０７に進む。
【０１１０】
ステップＳ１３０７では、ＣＰＵは、記憶部１０５に記憶された解像度Ｒｉの画像データ３００に対して解像度変換処理を行うことで、画像データ３００の解像度をＲｕに変換し、処理を終了する。
【０１１１】
次に、図１５を参照して、図１４のステップＳ１３０７での解像度変換処理の一例について説明する。
【０１１２】
ここで、画像データ３００をＩｍとし、Ｉｍを構成する個々の画素を、図６のインク滴下エリアと同様に個々の画素を２次元座標Ｉｍ［ｙ］［ｘ］で表す事とする。
【０１１３】
また、Ｒｕをユーザが操作部１０１で指定した解像度を表す整数型変数、Ｒｄを印字不良を精度よく検出することができる解像度を表す整数型変数、Ｗｓを入力画像の幅を表す整数型変数、Ｈｓを入力画像の高さを表す整数型変数とする。
【０１１４】
更に、Ｗｄを出力画像の幅を表す整数型変数、Ｈｄを出力画像の高さを表す整数型変数、ｉＸｓを入力画素のＸ方向の座標を表す整数型変数、ｉＹｓを入力画素のＹ方向の座標を表す整数型変数ｉＸｄを出力画素のＸ方向の座標を表す整数型変数とする。
【０１１５】
更に、ｉＹｄを出力画素のＹ方向の座標を表す整数型変数とする。また、Ｚを入力画像と出力画像の縮小倍率を表す実数型変数、ｄＸｓを入力画素のＸ方向の小数座標を表す実数型変数、ｄＹｓを入力画素のＹ方向の小数座標を表す実数型変数とする。
【０１１６】
ステップＳ１４００では、ＣＰＵは、印字不良を精度よく検出することができる解像度Ｒｄをユーザが操作部１０１で指定した解像度Ｒｕで除算し、除算結果を縮小倍率ＺへコピーしてステップＳ１４０１に進む。
【０１１７】
ここで、縮小倍率Ｚは実数型の変数であり、小数点以下の値も保持できるものとする。本実施形態では、図１４の処理を行うと、出力画像は、入力画像よりも常に小さくなるので、縮小倍率Ｚは常に１よりも大きな値となる。
【０１１８】
ステップＳ１４０１では、ＣＰＵは、入力画像幅Ｗｓ及び入力画像高さＨｓをそれぞれ縮小倍率Ｚで除算し、出力画像高さＷｄ及び出力画像高さＨｄを求め、ステップＳ１４０２に進む。
【０１１９】
Ｗｄ及びＨｄは、整数型変数の為、演算の結果得られる小数点以下の値は切り捨てられる。本実施形態では、縮小倍率Ｚは常に１よりも大きな値になる為、ＷｄはＷｓより小さい値となり、ＨｄもＨｓより小さい値になる。
【０１２０】
ステップＳ１４０２では、ＣＰＵは、入力画素のＹ方向の座標を表す変数ｉＹｓ、出力画素のＹ方向の座標を表す変数ｉＹｄ、および入力画素のＹ方向の小数座標を表す変数ｄＹｓをそれぞれ０でクリアし、ステップＳ１４０３に進む。
【０１２１】
ステップＳ１４０３では、ＣＰＵは、入力画素のＸ方向の座標を表す変数ｉＸｓ、出力画素のＸ方向の座標を表す変数ｉＸｄ、および入力画素のＸ方向の小数座標を表す変数ｄＸｓをそれぞれ０でクリアし、ステップＳ１４０４に進む。
【０１２２】
ステップ１４０４では、ＣＰＵは、画像Ｉｍにおいて、Ｘ＝ｉＸｓ、Ｙ＝ｉＹｓで表される画素Ｉｍ［ｉＹｓ］［ｉＸｓ］を画素Ｉｍ［ｉＹｄ］［ｉＸｄ］にコピーし、ステップＳ１４０５に進む。
【０１２３】
ステップＳ１４０５では、ＣＰＵは、入力画素のＸ方向の小数座標を表す変数ｄＸｓに、縮小倍率Ｚを加算して、加算した値を入力画素のＸ方向の座標を表す変数ｉＸｓに代入する。
【０１２４】
ｉＸｓは整数型の変数である為、ｄＸｓの小数点以下の値は切り捨てられる。また、ＣＰＵは、出力画素のＸ方向の座標を表す変数ｉＸｄに１を加算し、ステップＳ１４０６に進む。
【０１２５】
ステップＳ１４０６では、ＣＰＵは、出力画素のＸ方向の座標を表す変数ｉＸｄが出力画像の幅を表す変数Ｗｄ未満か否かを判断し、変数ｉＸｄが変数Ｗｄ未満の場合は、ステップＳ１４０４に戻り、変数ｉＸｄが変数Ｗｄ以上の場合は、ステップＳ１４０７に進む。
【０１２６】
ステップＳ１４０７では、ＣＰＵは、入力画素のＹ方向の小数座標を表す変数ｄＹｓに縮小倍率Ｚを加算し、加算した値を入力画素のＹ方向の座標を表す変数ｉＹｓに代入する。
【０１２７】
ｉＹｓは整数型の変数である為、ｄＹｓの小数点以下の値は切り捨てられる。また、ＣＰＵは、出力画素のＹ方向の座標を表す変数ｉＹｄに１を加算し、ステップＳ１４０８に進む。
【０１２８】
ステップＳ１４０８では、ＣＰＵは、出力画素のＹ方向の座標を表す変数ｉＹｄが出力画像の高さを表す変数Ｈｄの値未満か否かを判断する。
【０１２９】
そして、ＣＰＵは、変数ｉＹｄが変数Ｈｄの値未満の場合は、ステップＳ１４０３に戻り、変数ｉＹｄが変数Ｈｄの値以上の場合は、処理は終了する。
【０１３０】
上記処理により、ＣＰＵは、解像度Ｒｉの画像データ３００を解像度Ｒｕの画像データ３００に変換し、この変換処理後、画像データ３００を出力部１０４へ転送する。これにより、ユーザは、常に操作部１０１で指定した解像度の画像データを取得することができる。
【０１３１】
なお、本実施形態では、周知のニアレストネイバー法よる処理を例示したが、例えば、バイリニア法、バイキュービック法等、その他の周知の解像度変換アルゴリズムを採用しても良い。
【０１３２】
以上説明したように、本実施形態では、読取ユニット８による読取解像度を印字不良を精度良く検出することのできる解像度に変更し、印字不良の検出処理の終了後、ユーザが操作部１０１で指定した解像度へ変更する。これにより、ユーザが操作部１０１で指定した帳票Ｄの読取解像度の設定値に影響を受けることなく、印字不良を精度よく検出することができる。
【０１３３】
なお、本発明は、上記実施形態に例示したものに限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。
【０１３４】
例えば、本発明の処理の一部又は全部を画像読取装置に接続されたホストコンピュータ等の外部装置で行ってもよい。この場合、画像読取装置と外部装置とを含むシステムが本発明の画像読取装置に相当する。
【０１３５】
また、本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出す処理である。
【０１３６】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１３７】
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等である。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【０１３８】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１３９】
更に、前述した実施形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行う場合である。
【符号の説明】
【０１４０】
１        画像読取装置
２        ピックアップローラ
３        給送ローラ
４        分離ローラ
５        搬送ローラ対
７        排紙ローラ対
８        読取ユニット
９        対向部材
１０      レジストセンサ
１１      印字装置
１２      インクカートリッジ
８１      上部フレーム
８１ａ    回転軸
８２      下部フレーム
１０１    操作部
１０２    画像処理部
１０４    出力部
１０５    記憶部
１０６    制御部
Ｄ        帳票
【図１】
2010166389.tif 000003
【図２】
2010166389.tif 000004
【図３】
2010166389.tif 000005
【図４】
2010166389.tif 000006
【図５】
2010166389.tif 000007
【図７】
2010166389.tif 000008
【図８】
2010166389.tif 000009
【図９】
2010166389.tif 000010
【図１０】
2010166389.tif 000011
【図１１】
2010166389.tif 000012
【図１２】
2010166389.tif 000013
【図１４】
2010166389.tif 000014
【図１５】
2010166389.tif 000015
【図１６】
2010166389.tif 000016
【図１７】
2010166389.tif 000017
【図６】
2010166389.tif 000018
【図１３】
2010166389.tif 000019