(57)【要約】【課題】特に正確に検知することが望まれる印字手段の印字欠けを精度良く検知するとともに、印字欠け検知の際の処理の負荷を軽減して画像読取装置の速度低下を防ぐこと。【解決手段】画像読取装置１の制御部１０６は、印字部１１により帳票に印字された印字結果の読取ユニット８での読取り画像に基づいて印字欠けを検知する印字欠け検知処理の実行を、印字部１１の積算出力ドット数に応じて、有効又は無効に制御する構成を特徴とする。【選択図】図２
2010130414.tif 000002
【特許請求の範囲】
【請求項１】
搬送路上を搬送される帳票を走査して画像を取得する画像読取手段と、
前記画像読取手段より上流で前記帳票に複数のドットで構成される文字及び記号の少なくとも一方の印字を行う印字手段と、
前記印字手段により帳票に印字された印字結果の前記画像読取手段での読取り画像に基づいて印字欠けを検知する印字欠け検知処理を行う印字欠け検知手段と、
前記印字手段の状態を認識する状態認識手段と、
前記状態認識手段で認識された前記印字手段の状態に応じて、前記印字欠け検知手段による印字欠け検知処理を有効又は無効に制御する制御手段と、
を有することを特徴とする画像読取装置。
【請求項２】
前記状態認識手段は、前記印字手段の積算出力ドット数を認識するものであり、
前記制御手段は、前記状態認識手段により認識された積算出力ドット数がしきい値を下回っているとき、前記印字欠け検知処理を実行しないように制御することを特徴とする請求項１に記載の画像読取装置。
【請求項３】
前記印字手段は、
インクを容器に充填したインクカートリッジと、
前記インクカートリッジに備えられたインクをノズルから噴射することにより前記帳票に印字を行う噴射手段とを有するものであり、
前記状態認識手段は、前記インクカートリッジを交換した際に、前記印字手段の積算出力ドット数を初期化することを特徴とする請求項２に記載の画像読取装置。
【請求項４】
前記印字手段は、インクカセットリボンを用いるものであり、
前記状態認識手段は、前記インクカセットリボンを交換した際に、前記印字手段の積算出力ドット数を初期化することを特徴とする請求項２に記載の画像読取装置。
【請求項５】
前記制御手段は、複数枚の帳票に対して一枚の割合で前記印字欠け検知手段に印字欠け検知処理を実行させるように制御することを特徴とする請求項１乃至４のいずれか１項に記載の画像読取装置。
【請求項６】
前記制御手段は、前記状態認識手段により認識された積算出力ドット数の増加に応じて、前記印字欠け検知処理を実行する割合を増加するように制御することを特徴とする請求項５に記載の画像読取装置。
【請求項７】
搬送路上を搬送される帳票を走査して画像を取得する画像読取手段と、前記画像読取手段より上流で前記帳票に複数のドットで構成される文字及び記号の少なくとも一方の印字を行う印字手段とを有する画像読取装置の制御方法であって、
前記印字手段により帳票に印字された印字結果の前記画像読取手段での読取り画像に基づいて印字欠けを検知する印字欠け検知処理を行う印字欠け検知ステップと、
前記印字手段の状態を認識する状態認識ステップと、
前記状態認識ステップで認識された前記印字手段の状態に応じて、前記印字欠け検知ステップによる印字欠け検知処理を有効又は無効に制御する制御ステップと、
を有することを特徴とする画像読取装置の制御方法。
【請求項８】
搬送路上を搬送される帳票を走査して画像を取得する画像読取手段と、前記画像読取手段より上流で前記帳票に複数のドットで構成される文字及び記号の少なくとも一方の印字を行う印字手段とを有する画像読取装置を、
前記印字手段により帳票に印字された印字結果の前記画像読取手段での読取り画像に基づいて印字欠けを検知する印字欠け検知処理を行う印字欠け検知手段、
前記印字手段の状態を認識する状態認識手段、
前記状態認識手段で認識された前記印字手段の状態に応じて、前記印字欠け検知手段による印字欠け検知処理を有効又は無効に制御する制御手段、
として機能させるためのプログラム。
【請求項９】
請求項８に記載されたプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
搬送路上を搬送される帳票を走査して画像を取得する画像読取手段と、前記帳票に複数のドットで構成される印字を行う印字手段とを有する画像読取装置の制御に関する。
【背景技術】
【０００２】
一般に、光学的文字読取装置（以下、ＯＣＲと称する）は、帳票上を走査して画像を取得する画像読取装置を備えている。最近の画像読取装置は、ＯＣＲでの読取結果に従い、帳票の例えば所定位置にナンバリング（認証印字）を実施する印字手段を有している。このナンバリングのためのデータ（ナンバリングデータ）は、画像読取装置に接続されたホスト装置から与えられる。画像読取装置は、このナンバリングデータ（例えば英数字に代表される文字コード）に基づき印字パターンを生成し、印字手段により帳票上に印字する。
【０００３】
画像読取装置の印字手段には、インクを容器に充填したインクカートリッジに貯えられたインクをノズルにより噴射することによりカラー印字するインクジェット式が多く適用されている。インクカートリッジに貯えられたインクの量は、印字の都度徐々に減少する。このインク量が、あるレベルまで減少すると印字が擦れた状態となり、目視にて文字を識別することが困難な状態となる。
【０００４】
このため、印字手段を備えた画像読取装置では、この印字手段で使用されるインクカートリッジの交換の時期を、印字した文字が目視にて識別できるであろう濃さに対応する文字数Ｎで規定している。この文字数Ｎは、代表的な文字を印字することによって決定される。
【０００５】
また、印字手段を備えた従来の画像読取装置では、例えば、インクの量が減少したり、インクジェット式を適用する印字手段のノズルがインクで目詰まりした結果、正常に印字ができない状態（印字不良）が発生していても、利用者が目視にて印字された文字や記号等の印字状態をチェックするまで、その状態に気がつかないという問題もあった。
【０００６】
一方、カセットリボンを適用する印字手段を備えたＯＣＲにおいて、当該印字手段により帳票に印字された文字の濃度（印字濃度）を、当該帳票を挟んで対向配置された発光素子及び受光素子の対で構成されるフォトセンサで測定し、その印字濃度からカセットリボンの交換時期（使用限界）の到来を判断する技術（以下、印字欠け検知と称する）が提案されている（例えば、特許文献１参照）。
【０００７】
また、印字濃度の判定を行う際に、印字手段の印字文字数Ｎとセンサによって検知した文字濃度の情報から印字欠けの要因を特定し、利用者に通知する技術が提案されている。（例えば、特許文献２参照）
これらの技術では、インク量の減少に伴う当該インクカートリッジの交換時期の到来を、帳票に印字された文字の実際の印字濃度から検出しているため、インクの交換時期の到来を正しく検出できる。また、交換時期の到来を検知したとき、印字文字数を参照することで、印字濃度不良が、インク切れによるものか、あるいは印字装置の不良によるものかを判別することができる。
【特許文献１】特開２００２−３７０４３４号公報
【特許文献２】特許第３７４２３９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、上記従来の技術において、帳票に印字された文字（文字列）の印字濃度を画像処理により正確に検出するためには、文字や記号等の印字情報を読み取って得た画像データに対して複雑な演算を行う必要があり、ソフトウェア処理でこの処理を行うと大きな負荷となって、画像読取装置全体の動作速度が低下するという課題があった。
【０００９】
本発明は、上記の課題を解決するためになされたものである。本発明の目的は、特に正確に検知することが望まれる印字欠けを精度良く検知することともに、印字欠け検知の際の処理の負荷を軽減して画像読取装置の速度低下を防ぐことができる仕組みを提供することである。
【課題を解決するための手段】
【００１０】
本発明は、搬送路上を搬送される帳票を走査して画像を取得する画像読取手段と、前記画像読取手段より上流で前記帳票に複数のドットで構成される文字及び記号の少なくとも一方の印字を行う印字手段と、前記印字手段により帳票に印字された印字結果の前記画像読取手段での読取り画像に基づいて印字欠けを検知する印字欠け検知処理を行う印字欠け検知手段と、前記印字手段の状態を認識する状態認識手段と、前記状態認識手段で認識された前記印字手段の状態に応じて、前記印字欠け検知手段による印字欠け検知処理を有効又は無効に制御する制御手段とを有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、特に正確に検知することが望まれる印字欠けを精度良く検知するとともに、印字欠け検知の際の処理の負荷を軽減して画像読取装置の速度低下を防ぐことができる等の効果を奏する。
【発明を実施するための最良の形態】
【００１２】
以下に図面を参照して、本発明の好適な実施の形態を例示的に説明する。
【００１３】
図１は、本発明の一実施形態を示す画像読取装置の構成を示す断面図である。
【００１４】
図１に示すように、本実施形態の画像読取装置１は、原稿Ｄ（帳票）をピックアップするピックアップローラ２と、ピックアップローラ２によりピックアップされた原稿Ｄを装置内に給送する給送ローラ３と、ピックアップローラ２によりピックアップされた原稿Ｄを１枚ずつ分離する分離ローラ４と、給送ローラ３により給送された原稿Ｄを搬送するため対になって配設されるレジストローラ対５と、原稿を検知するレジストセンサ１０と、搬送路上を搬送される原稿Ｄの上面を走査して画像情報を読取る読取ユニット８と、対向部材９と、読取ユニット８よりも下流側にあり、対になって配設される搬送ローラ対７とを有する。
【００１５】
また、画像読取装置１は、上部フレーム８１及び下部フレーム８２から構成され、上部フレーム８１が回動軸８１ａを中心に、矢印８１ｂに示すように回動可能であり、搬送された原稿の紙詰まり等が発生した際に画像読取装置１内に滞留した原稿を取り除くため、手動での装置の開閉が可能な構成となっている。
【００１６】
上部フレーム８１には、読取ユニット８が固定されている。また、読取ユニット８には、ラインイメージセンサ２００と、光源２０１が備えてある。さらに、読取ユニット８よりも上流側に印字部１１を備える。この印字部１１は、原稿Ｄに複数のドットで構成される文字及び記号の少なくとも一方の印字を行う。
【００１７】
例えば、印字部１１がインクジェット式であった場合、印字部１１は、インクカートリッジ１２に蓄えられたカラーインクを印字ヘッドから噴射することによりドットマトリクス構成の文字を原稿Ｄに印字する。印字部１１は、インクカセットリボンを用いる事によって文字を印字するものでも、その他の印字方式により印字するものでも良い。
【００１８】
一般にこの種の画像読取装置は、光源により原稿を照明して原稿画像をラインイメージセンサ等により読取るが、光源の光量むらやラインイメージセンサの感度むらがあるため、白色の色基準部材を読取って、光量むらと感度むらを補正しなければならない。
【００１９】
この際、原稿を照射する光源の発光量を適正化する光量調整と、ラインイメージセンサ２００の画像信号出力に対する増幅率を最適化するゲイン調整とを行い、光源の光量むらやラインイメージセンサ２００の感度むらをラインイメージセンサの画素単位で補正するシェーディング補正を行うのが一般的である。
【００２０】
本実施形態では上述の「光量調整」や「ゲイン調整」等を含んで、ラインイメージセンサ２００が原稿の画像情報を一様に読取るための補正を「シェーディング補正」と称することとする。また、本実施形態では、対向部材９の色は白色でありこの対向部材を利用してシェーディング補正を行う。
【００２１】
画像読取装置１は、原稿Ｄの画像の読取り時において、次のような動作をする。
【００２２】
まず、読取ユニット８は、対向部材９をラインイメージセンサ２００により読取り、シェーディング補正用の補正データを生成して画素毎に記憶する。その後、原稿Ｄをピックアップローラ２と給送ローラ３によって装置内に取り込み、分離ローラ４によって１枚ずつに分離する。原稿Ｄは、レジストローラ対５及び搬送ローラ対７により挟持され、搬送されつつ、その表の画像を読取ユニット８にて主走査方向（原稿搬送方向と直交する方向）に読取られる。
【００２３】
なお、前述したシェーディング補正用のデータを参照して、読取ユニット８のラインイメージセンサ２００の画像信号から生成した画像データをシェーディング補正する。画像が読取られた後、原稿Ｄは搬送ローラ対７によって挟持搬送されつつ装置外部へ排出される。
【００２４】
画像を読取るタイミングは、原稿の先端がレジストセンサ１０を通過してｔｉｍｅ１秒経過したときに画像読取りを開始し、原稿が通過し終わってｔｉｍｅ２秒経過したときに画像読取りを終了する。なお、ｔｉｍｅ１は、原稿がレジストセンサ１０を通過してからラインイメージセンサ２００にさしかかるまでの時間である。また、ｔｉｍｅ２は、原稿がレジストセンサ１０を通過し終わってからラインイメージセンサ２００を通過し終わるまでの時間である。これらの値は、原稿の搬送速度Ｖと、レジストセンサ１０とラインイメージセンサ２００の距離Ｌから「ｔｉｍｅ＝Ｌ／Ｖ」で導かれる。
【００２５】
図２は、図１に示した画像読取装置１の制御構成の一例を示すブロック図であり、図１と同一のものには同一の符号を付してある。
【００２６】
図２において、読取ユニット８は、光源２０１、ラインイメージセンサ２００及びＡＤ変換部（不図示）を備え、原稿に光源２０１から光を照射して原稿から反射された光を、ラインイメージセンサ２００を介して光電変換した後、ＡＤ変換部で所定の色深度の画像データとして出力する。
【００２７】
画像処理部１０２は、読取ユニット８で読取られた画像データに対してシェーディング処理、および画像データの色深度変換を行う。
【００２８】
制御部１０６は、ＣＰＵ、ＲＯＭ、ＲＡＭ等を備え、ＲＯＭ内には画像読取装置（画像処理装置）としての基本処理プログラムおよび印字欠け検知処理の各種プログラムが格納されているとともに、これらの各プログラムを実行するのに必要な各種データが格納されている。制御部１０６のＣＰＵは、ＲＯＭ内のプログラムに基づいてＲＡＭをワークメモリとして利用しつつ、画像読取装置１の各部を制御する。
【００２９】
出力部１０４は、ＰＣ等の外部ホスト装置と接続された通信部であり、制御部１０６の制御下で外部ホスト装置との通信が行われる。また、印字部１１は、制御部１０６の制御下で原稿Ｄへの印字を行う。なお、印字部１１により印字される印字結果には文字や記号、テストパターン等の任意の組み合わせが含まれる。
【００３０】
さらに、操作部１０７は、ＬＣＤとハードキーから構成されており、制御部１０６からの情報表示を行うとともにユーザからの指示を制御部１０６に伝える。
【００３１】
次に、図３のフローチャートを参照して、印字欠け検知処理動作について説明する。
【００３２】
図３は、本発明の画像読取装置における印字欠け検知処理動作の一例を示すフローチャートである。なお、このフローチャートの処理は、制御部１０６のＣＰＵがＲＯＭに格納されたプログラムを読み出して実行することにより実現されるものである。
【００３３】
制御部１０６は、読取ユニット８より原稿Ｄの読取り画像を取得すると、本フローチャートの処理を開始する。まず、制御部１０６は、ステップＳ３０１〜Ｓ３０３の処理と、ステップＳ３０４〜Ｓ３０５の処理を並行して実行する。
【００３４】
まず、ステップＳ３０１〜Ｓ３０３の処理を説明する。
【００３５】
ステップＳ３０１では、制御部１０６は、印字範囲抽出処理を実行する。この印字範囲抽出処理（Ｓ３０１）では、制御部１０６は、読取ユニット８から取得した印字部１１によって印字された印字結果の画像情報を含む画像データ３００（図４）から印字範囲３０１を抽出する。なお、印字範囲３０１は、制御部１０６が印字部１１を制御する際に設定し、記憶部１０５内に保持している座標値を参照して決定するものとする。
【００３６】
なお、図４は、読取ユニット８により原稿Ｄから読み取られた印字部１１による印字結果の画像情報を含む画像データの一例を示す図である。
【００３７】
次に、ステップＳ３０２において、制御部１０６は、マトリクスマッピング処理を行う。このマトリクスマッピング処理（Ｓ３０２）では、制御部１０６は、印字範囲抽出処理（Ｓ３０１）で抽出した印字範囲３０１に対して、予め記憶部１０５内に保持していたインク滴下エリア座標系５０１（図５）を当てはめ、複数のインク滴下エリア５０２に区分けする。
【００３８】
なお、図５は、図３のステップＳ３０２に示したマトリクスマッピング処理を説明する図である。
【００３９】
次に、ステップＳ３０３において、制御部１０６は、検知ドット数テーブル生成処理を実行する。この検知ドット数テーブル生成処理（Ｓ３０３）では、制御部１０６は、マトリクスマッピング処理（Ｓ３０２）で生成した複数のインク滴下エリア５０２内の画素（図６）を走査し、各インク滴下エリア５０２にインクが滴下されているか否かを判定する。例えば、印字部１１が出力するインクが黒であった場合、各インク滴下エリア５０２内に、ある輝度より小さい画素値の画素が規定数より多く存在したとき、そのインク滴下エリア５０２にはインクが滴下されていると判定し（図８に示すインク滴下判定処理）、その判定結果を記憶部１０５上に別途作成した検知ドットマトリクス７００（図７）に書き込む。
【００４０】
なお、図６は、図５に示したインク滴下エリア５０２を説明する図である。
【００４１】
また、図７は、検知ドットマトリクス７００の一例を示す図である。
【００４２】
インク滴下エリア座標系５０１の最も左上の要素、及び検知ドットマトリクス７００の最も左上の要素を原点としてｘ座標、ｙ座標を定義し、各インク滴下エリア５０２をＩ[ｙ][ｘ]、検知ドットマトリクス７００の各要素をＤ[ｙ][ｘ]と表すことする。また、図６のように、各インク滴下エリア５０２がａｘ画素×ａｙ画素で構成される時、各インク滴下エリア５０２内に、最も左上の画素を原点としてｉ座標、ｊ座標を定義し、インク滴下エリア５０２内の各画素の画素値をＡ[ｊ][ｉ]、インク検知のための規定数をＴｈｃ、輝度の規定値をＴｈｂ、画素カウント用の変数をｃｎｔとすると、インク滴下判定処理は図８のようになる。なお、Ｉ[ｙ][ｘ]やＡ[ｊ][ｉ]のようにｙ座標やｊ座標を先に表記することがプログラム作成において一般的である。ここで、インク滴下判定処理について説明する。
【００４３】
図８は、本発明におけるインク滴下判定処理の一例を示すフローチャートである。なお、このフローチャートの処理は、制御部１０６のＣＰＵがＲＯＭに格納されたプログラムを読み出して実行することにより実現されるものである。
【００４４】
まず、制御部１０６は、ステップＳ８０１、及びステップＳ８０２において、インク滴下エリア５０２内の画素の座標を表す変数ｉ，ｊ、及び、インクを検知した画素数を表す変数ｃｎｔに、整数値０を書き込んで初期化する。
【００４５】
次に、ステップＳ８０３では、制御部１０６は、座標（ｉ，ｊ）で表される、インク滴下エリア５０２内の画素の画素値Ａ[ｊ][ｉ]と、予め設定されたインク検知輝度Ｔｈｂを比較する。
【００４６】
そして、上記ステップＳ８０３において、画素値Ａ[ｊ][ｉ]がインク検知輝度Ｔｈｂよりも小さな値であると判断した場合、制御部１０６は、当該画素にはインクが滴下されていると判定し、ステップＳ８０４に処理を進める。
【００４７】
一方、上記ステップＳ８０３において、画素値Ａ[ｊ][ｉ]がインク検知輝度Ｔｈｂ以上の値であると判断した場合、制御部１０６は、当該画素にはインクが滴下されていないと判定し、ステップＳ８０６に処理を進める。
【００４８】
ステップＳ８０４では、制御部１０６は、変数ｃｎｔの値を１増加させる。
【００４９】
ステップＳ８０５では、制御部１０６は、変数ｃｎｔの値と、予め設定されたインク検知定数Ｔｈｃを比較する。
【００５０】
そして、上記ステップＳ８０５において、変数ｃｎｔがインク検知定数Ｔｈｃよりも大きな値であると判断した場合、制御部１０６は、ステップＳ８１１において、検知ドットマトリクス７００の要素Ｄ[ｙ][ｘ]に、インクが滴下されていたことを表す数値１を書き込み、処理を終了する
一方、上記ステップＳ８０５において、変数ｃｎｔがインク検知定数Ｔｈｃ以下の値であると判断した場合、制御部１０６は、ステップＳ８０６に処理を進める。
【００５１】
次に、ステップＳ８０６では、制御部１０６は、変数ｉの値を１増加させ、ステップＳ８０７に処理を進める。
【００５２】
ステップＳ８０７では、制御部１０６は、変数ｉの値とインク滴下エリア５０２のｘ軸方向の構成画素数ａｘを比較し、変数ｉが構成画素数ａｘより小さな値であると判断した場合、ステップＳ８０３に戻って処理を継続させる。
【００５３】
一方、上記ステップＳ８０７において、変数ｉが構成画素数ａｘ以上の値であると判定した場合、制御部１０６は、ステップＳ８０８に処理を進める。
【００５４】
ステップＳ８０８では、制御部１０６は、変数ｊの値を１増加させ、ステップＳ８０９に処理を進める。
【００５５】
ステップＳ８０９では、制御部１０６は、変数ｊの値とインク滴下エリア５０２のｙ軸方向の構成画素数ａｙを比較し、変数ｊが構成画素数ａｙより小さな値であると判断した場合、ステップＳ８０２に戻って処理を継続させる。
【００５６】
一方、変数ｊが構成画素数ａｙ以上の値であると判定した場合、制御部１０６は、ステップＳ８１０に処理を進める。
【００５７】
ステップＳ８１０では、制御部１０６は、座標（ｘ，ｙ）で表される検知ドットマトリクス７００の要素Ｄ[ｙ][ｘ]に、インクが滴下されていなかったことを表す数値０を書き込み、処理を終了する。
【００５８】
以上、図８に示したようなインク滴下判定処理を、制御部１０６が、印字範囲３０１に対して適用した全てのインク滴下エリア５０２に対して行い、判定結果を、検知ドットマトリクス７００に結果を書き込む。
【００５９】
次に、制御部１０６は、検知ドットマトリクス７００を搬送方向に走査し、ｙ座標毎にインクの滴下を検知したエリアの和を求め、記憶部１０５上に作成した検知ドット数テーブル７０１に結果を書き込む（図９に示す検知ドット数テーブル作成処理）。検知ドット数テーブル７０１の各要素をＴｄ[ｙ]と表すとき、印刷部１１により１文字がｃｘドット×ｃｙドットで表される文字がｓ文字印字された場合、検知ドット数テーブル７０１を作成する処理（検知ドット数テーブル作成処理）は図９のようになる。ここで、検知ドット数テーブル作成処理について説明する。
【００６０】
図９は、本発明における検知ドット数テーブル作成処理の一例を示すフローチャートである。なお、このフローチャートの処理は、制御部１０６のＣＰＵがＲＯＭに格納されたプログラムを読み出して実行することにより実現されるものである。
【００６１】
まず、制御部１０６は、ステップＳ９００では、検知ドットマトリクス７００内の要素の座標、及び検知ドット数テーブル７０１の要素番号を表す変数ｙに数値０を書き込み、初期化を行う。
【００６２】
次に、ステップＳ９０１では、制御部１０６は、検知ドットマトリクス７００内の要素の座標を表す変数ｘ、及び検知ドット数テーブル７０１の要素Ｔｄ[ｙ]に０を書き込み、初期化を行う。
【００６３】
次に、ステップＳ９０２では、制御部１０６は、検知ドット数テーブル７０１の要素Ｔｄ[ｙ]の値を、検知ドットマトリクス７００の要素Ｄ[ｙ][ｘ]の値だけ増加させる。
【００６４】
次に、ステップＳ９０３では、制御部１０６は、変数ｘの値を１増加させ、ステップＳ９０４に処理を進める。
【００６５】
ステップＳ９０４では、制御部１０６は、印字部１１により印字された１文字を構成するｘ方向のドット数ｃｘと、印字範囲３０１内に印字部１１によって印字された文字数ｓの積を求め、変数ｘの値と比較する。
【００６６】
そして、上記ステップＳ９０４において、変数ｘがｃｘ×ｓよりも小さな値であると判断した場合、制御部１０６は、ステップＳ９０１に戻って処理を継続させる。
【００６７】
一方、上記ステップＳ９０４において、変数ｘがｃｘ×ｓ以上の値であると判断した場合、制御部１０６は、ステップＳ９０５に処理を進める。
【００６８】
ステップＳ９０５では、制御部１０６は、変数ｙの値を１増加させ、ステップＳ９０６に処理を進める。
【００６９】
ステップＳ９０６では、制御部１０６は、変数ｙの値と、印字部１１により印字された１文字を構成するｙ方向のドット数ｃｙを比較する。
【００７０】
そして、上記ステップＳ９０６において、変数ｙがドット数ｃｙよりも小さな値であると判断した場合、制御部１０６は、ステップＳ９０１に戻って処理を継続させる。
【００７１】
一方、上記ステップＳ９０６において、変数ｙがドット数ｃｙ以上の値であると判断した場合、制御部１０６は、検知ドット数テーブル７０１を作成する処理を終了する。
【００７２】
次に、図３のステップＳ３０４〜Ｓ３０４の処理を説明する。
【００７３】
まず、制御部１０６は、ステップＳ３０４において、出力ドットマトリクス生成処理を実行する。この出力ドットマトリクス生成処理（Ｓ３０４）について、以下、図１０、図１１を用いて説明する。
【００７４】
制御部１０６は、印字部１１に対して文字を印字する制御を行うとき、印字すべき文字列を記憶部１０５に記憶し、削除せずに保持しておく。印字欠け検知処理（図３）を実行中の制御部１０６は、Ｓ３０４の出力ドットマトリクス生成処理時に、この記憶部１０５に保持されている文字列を読取り、その印字文字列を印字順に走査し、印字文字に対応したフォントテーブル１０００（図１０）を参照する。
【００７５】
図１０は、印字部１１の印字文字に対応したフォントテーブル１０００の一例を示す図である。
【００７６】
図１０に示すように、フォントテーブル１０００には、印字部１１が正常にインクを出力した際に生成されるドットの配置が格納されている。
【００７７】
印字欠け検知処理（図３）を実行中の制御部１０６は、印字部１１が印字した全ての文字に対してフォントテーブル１０００を参照し、記憶部１０５上に、出力ドットマトリクス１１００（図１１）を作成する。
【００７８】
なお、図１１は、出力ドットマトリクス１１００の一例を示す図である。
【００７９】
以上が出力ドットマトリクス生成処理（Ｓ３０４）の説明である。
【００８０】
次に、ステップＳ３０５において、制御部１０６は、出力ドット数テーブル生成処理を実行する。
【００８１】
この出力ドット数テーブル生成処理（Ｓ３０５）では、出力マトリクス生成処理（Ｓ３０４）で作成した、出力ドットマトリクス１１００（図１１）から、検知ドット数テーブル生成処理（Ｓ３０３）と同様に、ｙ座標毎にインクの滴下を検知したエリアの和を求め、その結果を記憶部１０５上に作成した出力ドット数テーブル１１０１（図１１）の各要素Ｔｏ[ｙ]に格納する。
【００８２】
上記ステップＳ３０１〜Ｓ３０３の処理および上記ステップＳ３０４〜Ｓ３０５の処理を完了すると、制御部１０６は、ステップＳ３０６に処理を進める。
【００８３】
ステップＳ３０６〜Ｓ３０８では、制御部１０６は、印字欠け判定処理を実行する。
【００８４】
この印字欠け判定処理（Ｓ３０６〜Ｓ３０８）では、検知ドット数テーブル生成処理（Ｓ３０３）で作成した検知ドット数テーブル７０１（図７）、及び、出力ドット検知処理（Ｓ３０５）で作成した出力ドット数テーブル１１０１（図１１）について、それぞれのテーブルで番地の等しい要素ごとに数値の比較を行い、それらの差が或る規定値より大きい場合、印字欠けが発生した（印字欠けあり）と判定する（Ｓ３０７）。一方、それらの差が或る規定値以下である場合、印字欠けが発生しなかった（印字欠けなし）と判定する（Ｓ３０８）。
【００８５】
なお、検知ドット数テーブル、及び出力ドット数テーブルの要素数をｃｙ、印字欠け判定の為の規定値をＴｈｄとするとき、印字欠け判定処理は図１２のようになる。ここで、印字欠け判定処理について説明する。
【００８６】
図１２は、本発明における印字欠け判定処理の一例を示すフローチャートである。なお、このフローチャートの処理は、制御部１０６のＣＰＵがＲＯＭに格納されたプログラムを読み出して実行することにより実現されるものである。
【００８７】
まず、制御部１０６は、ステップＳ１２００では、検知ドット数テーブル７０１、及び出力ドット数テーブル１１０１内のｙ方向の座標をあらわす変数ｙに数値０を書き込んで初期化する。
【００８８】
ステップＳ１２０１では、制御部１０６は、検知ドット数テーブル７０１の要素Ｔｄ[ｙ]の値と、出力ドット数テーブル１１０１の要素Ｔｏ[ｙ]の値の差分（Ｔｏ[ｙ]−Ｔｄ[ｙ]）を計算し、予め設定された印字欠け判定規定値Ｔｈｄと比較する。
【００８９】
そして、上記ステップＳ１２０２において、検知ドット数テーブル７０１の要素Ｔｄ[ｙ]の値と出力ドット数テーブル１１０１の要素Ｔｏ[ｙ]の値の差分（Ｔｏ[ｙ]−Ｔｄ[ｙ]）が規定値Ｔｈｄよりも大きな値であると判断した場合、制御部１０６は、印字欠けありと判断して（Ｓ３０７）、例えば、印字欠けを検知したことを表す動作フラグを記憶部１０５内にセットして処理を終了する。
【００９０】
一方、上記ステップＳ１２０２において、検知ドット数テーブル７０１の要素Ｔｄ[ｙ]の値と出力ドット数テーブル１１０１の要素Ｔｏ[ｙ]の値の差分（Ｔｏ[ｙ]−Ｔｄ[ｙ]）が規定値Ｔｈｄ以下の値であると判断した場合、制御部１０６は、ステップＳ１２０２に処理を進める。
【００９１】
ステップＳ１２０２では、制御部１０６は、変数ｙの値を１増加させ、ステップＳ１２０３に処理を進める。
【００９２】
ステップＳ１２０３では、制御部１０６は、変数ｙの値と、印字部１１により印字された１文字を構成するｙ方向のドット数ｃｙを比較する。
【００９３】
そして、上記ステップＳ１２０３において、変数ｙがドット数ｃｙよりも小さな値であると判断した場合、制御部１０６は、ステップＳ１２００に戻って処理を継続させる。
【００９４】
一方、上記ステップＳ１２０３において、変数ｙがドット数ｃｙ以上の値であると判断した場合、制御部１０６は、印字欠けなしと判断して（Ｓ３０８）、例えば、印字欠けが無かったことを表す動作フラグを記憶部１０５内にセットして処理を終了する。
【００９５】
なお、制御部１０６は、印字欠けを検知した場合、画像読取動作を中止させ、操作部１０７の表示部に、印字欠けを検知した旨の警告メッセージを表示したり、操作部１０７の音声出力部から警告音等を出力したりする。
【００９６】
次に、印字欠け検知処理の実行制御処理について説明する。
【００９７】
以上、図３〜図１２に示した処理により、印字欠けの検知が可能となり、制御部１０６は、印字部１１の印字不良を検知することができる。しかし、上記の画像処理をソフトウェアで行うと、処理が大きな負荷となり、高速で動作することが望まれる画像取得装置の動作速度に対して悪影響を与える可能性がある。
【００９８】
〔印字欠け検知処理の第１の実行制御処理〕
そこで、制御部１０６は、印字部１１のインクカートリッジ１２交換後の積算出力ドットを参照し、インク切れによる印字欠けが予想される時のみ印字欠け検知処理を行うこととし、インクカートリッジ交換直後等、インク切れによる印字欠けが起こりえない状態のときは、印字欠け検知処理を行わないことで、通常利用時の処理の負荷を軽減し、画像読取装置の速度低下を必要最小限に抑える。
【００９９】
制御部１０６が印字部１１で印字すべき文字をｃ、図１０に示すフォントテーブル１０００の内、文字ｃに対応する出力ドット数が格納された各要素をＦｄ[ｃ]、出力文字のドット数をＤｃ、カートリッジ交換後の積算出力ドット数をＤｔ、印字欠け検知の為の定数をＴｄｅｔとすると、フローチャートは図１３のようになる。ここで、印字欠け検知処理の実行制御処理について説明する。
【０１００】
図１３は、本発明における印字欠け検知処理の第１の実行制御処理の一例を示すフローチャートである。なお、このフローチャートの処理は、制御部１０６のＣＰＵがＲＯＭに格納されたプログラムを読み出して実行することにより実現されるものである。
【０１０１】
制御部１０６は、印字部１１により文字出力（印字）を行う度に、本フローチャートの処理を実行する。
【０１０２】
まず、制御部１０６は、ステップＳ１３００では、フォントテーブル１０００を参照し、印字部１１で印字すべき文字ｃから、文字ｃに対応する出力ドット数Ｆｄ[ｃ]を取得し、変数Ｄｃに格納する。
【０１０３】
次に、ステップＳ１３０１では、制御部１０６は、変数Ｄｃの値を積算出力ドット数Ｄｔに加算する。なお、積算出力ドット数Ｄｔは、印字部１１の積算出力ドット数を示すものであり、記憶部１０５に記憶されている。なお、制御部１０６は、インクカートリッジを交換した際に（印字部１１がインクリボン式の場合は、インクリボンを交換した際に）、積算出力ドット数Ｄｔを初期化するように制御する。
【０１０４】
次に、ステップＳ１３０２では、制御部１０６は、積算出力ドット数Ｄｔと印字欠け検知定数Ｔｄｅｔ（しきい値）を比較する。なお、印字欠け検知定数Ｔｄｅｔは、予め設定され記憶部１０５に記憶されている。
【０１０５】
そして、上記ステップＳ１３０２において、積算出力ドット数Ｄｔが印字欠け検知定数Ｔｄｅｔ以下の値であると判断した場合、制御部１０６は、ステップＳ１３０４において、印字欠け検知処理を無効に設定する（例えば、記憶部１０５内の印字欠け検知処理実行フラグをＯＦＦに設定する）。そして、ステップＳ１３０５に処理を進める。
【０１０６】
一方、上記ステップＳ１３０２において、積算出力ドット数Ｄｔが印字欠け検知定数Ｔｄｅｔよりも大きな値であると判断した場合、制御部１０６は、ステップＳ１３０３において、印字欠け検知処理を有効に設定する（例えば、記憶部１０５内の印字欠け検知処理実行フラグをＯＮに設定する）。そして、ステップＳ１３０５に処理を進める。
【０１０７】
ステップＳ１３０５では、制御部１０６は、印字部１１により文字出力（印字）を行う。
【０１０８】
そして、制御部１０６は、読取ユニット８により原稿Ｄの読取画像を取得すると、記憶部１０５内の印字欠け検知処理実行フラグを判定する。そして、制御部１０６は、印字欠け検知処理実行フラグがＯＮである場合、印字欠け検知処理（図３）を実行し、一方、印字欠け検知処理実行フラグがＯＦＦである場合、印字欠け検知処理（図３）を実行しないように制御する。または、図３の印字欠け検知処理の中で印字欠け検知処理フラグをチェックする等の方法により、印字欠け検知に関する画像処理を取り止めたり、画像処理の軽減を行うようにしてもよい。また、印字欠け検知処理フラグがＯＦＦである等で印字欠けが起こりにくい場合、印字欠け検知に関する画像処理を行う頻度を下げてもよい。
【０１０９】
以上のように、制御部１０６は、印字部１１の状態を認識し、該認識した印字部１１の状態に応じて、印字欠け検知処理を有効又は無効に制御する、詳細には、印字部１１の積算出力ドット数Ｄｔがしきい値としての印字欠け検知定数Ｔｄｅｔ以下のとき、印字欠け検知処理を無効とし、印字部１１の積算出力ドット数Ｄｔがしきい値としての印字欠け検知定数Ｔｄｅｔを上回っているとき、印字欠け検知処理を有効とするように制御することにより、印字欠け検知の画像処理による負荷を軽減することができる。
【０１１０】
〔印字欠け検知処理の第２の実行制御処理〕
また、制御部１０６は、画像読取装置１内で原稿を搬送する度に、図１４に示すフローチャートに従って処理を行うことで、印字欠け検知処理（図３）による画像取得速度の低下を抑制する。
【０１１１】
図１４は、本発明における印字欠け検知処理の第２の実行制御処理の一例を示すフローチャートである。なお、このフローチャートの処理は、制御部１０６のＣＰＵがＲＯＭに格納されたプログラムを読み出して実行することにより実現されるものである。
【０１１２】
まず、図１４において、Ｐｃは原稿搬送カウントとし、予め設定されたＴｐは印字欠け検知処理間隔を表すカウント数とする。
【０１１３】
まず、制御部１０６は、ステップＳ１４００では、原稿搬送カウントＰｃを１カウントアップする。
【０１１４】
次に、ステップ１４０１では、制御部１０６は、原稿搬送カウントＰｃと印字欠け検知処理間隔Ｔｐを比較する。
【０１１５】
そして、上記ステップＳ１４０１において、原稿搬送カウントＰｃが印字欠け検知処理間隔Ｔｐ以下の値であると判断した場合、制御部１０６は、前述の印字欠け検知処理（図３）を実行しないように制御する。
【０１１６】
一方、上記ステップＳ１４０１において、原稿搬送カウントＰｃが印字欠け検知処理間隔Ｔｐより大きな値であると判断した場合、制御部１０６は、ステップ１４０２に処理を進める。
【０１１７】
ステップ１４０２では、制御部１０６は、原稿搬送カウントＰｃの値に０を書き込み、ステップＳ１４０３に処理を進める。
【０１１８】
次に、ステップ１４０３では、制御部１０６は、前述の印字欠け検知処理（図３）を実行する。
【０１１９】
以上の処理により、制御部１０６はＴｐ枚の原稿Ｄに対して一枚の割合で前記印字欠け検知処理を実行させるように制御することにより、印字欠け検知の画像処理による負荷を軽減することができる。
【０１２０】
なお、印字部の状態に応じて、例えば、印字部１１の積算出力ドット数Ｄｔの増加に応じて、印字欠け検知処理間隔Ｔｐを減少する（即ち、印字欠け検知処理を実行する割合を増加する）ように制御部１０６が制御してもよい。または、印字部１１の使用日数や、連続使用時間、前回の使用からの経過日数、印字部１１がインクジェット式である場合には印字ヘッドのクリーニング処理頻度等を印字部の状態として、これらの少なくとも１つに応じて印字欠け検知処理の実行を制御してもよい。
【０１２１】
以上の処理により、印字部１１の印字不良の発生を精度良く検知すると共に、印字欠け検知の画像処理による負荷を軽減することができる。
【０１２２】
また、上述した印字欠け検知処理では、印字部１１が印字した全ての文字について印字欠けを検知していたが、印字部の状態に応じて（印字部１１の積算出力ドット数Ｄｔに応じて）、印字欠けがあるか判定する文字数を増加するように構成してもよい。例えば、Ｄｔが第１の値までは、１文字のみの印字欠けを検知するように、Ｄｔが第２の値までは、２文字の印字欠けを検知するように、Ｄｔが第２の値を超えると、印字部１１が印字した全ての文字について印字欠けがあるか検知するように構成する。
【０１２３】
なお、上記印字欠け検知処理の第１の実行制御処理と、上記印字欠け検知処理の第２の実行制御処理の双方を実行するようにしてもよいし、上記印字欠け検知処理の第１の実行制御処理、または、上記印字欠け検知処理の第２の実行制御処理のいずれかのみを実行するようにしてもよい。
【０１２４】
また、上述した各処理は、画像読取装置１で行ってもよいし、画像読取装置１と出力部１０４を介して接続されるＰＣ側で行ってもよいし、画像読取装置１で一部の処理を行い、残りの処理をＰＣで行うようにしてもよい。
【０１２５】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【０１２６】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１２７】
以上説明したように、特に正確に検知することが望まれる印字部１１のインク切れやヘッドの目詰まり等による印字欠けを精度良く検知できる。また、印字欠け検知処理時の画像処理によるソフトウェア処理の負荷を軽減し、画像読取装置の速度低下を防ぐことができる等の効果を奏する。
【０１２８】
以下、図１５に示すメモリマップを参照して、本発明に係る画像読取装置として画像読取装置１を機能させるためのプログラムを記録したコンピュータが読み取り可能な記録媒体（記憶媒体）のメモリマップの構成について説明する。
【０１２９】
図１５は、本発明に係る画像読取装置として画像読取装置１を機能させるためのプログラムを記録したコンピュータが読み取り可能な記録媒体（記憶媒体）のメモリマップを説明する図である。
【０１３０】
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０１３１】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０１３２】
本実施形態における図３，図８，図９，図１２，図１３，図１４に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０１３３】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１３４】
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【０１３５】
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＤＶＤ−ＲＯＭ，磁気テープ，不揮発性のメモリカード，ＲＯＭ，ＥＥＰＲＯＭ，シリコンディスク等を用いることができる。
【０１３６】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３７】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３８】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１３９】
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ，データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することを可能としてもよい。
【０１４０】
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【図面の簡単な説明】
【０１４１】
【図１】本発明の一実施形態を示す画像読取装置の構成を示す断面図である。
【図２】図１に示した画像読取装置１の制御構成の一例を示すブロック図である。
【図３】本発明の画像読取装置における印字欠け検知処理動作の一例を示すフローチャートである。
【図４】読取ユニット８により原稿Ｄから読み取られた印字部１１による印字結果を含む画像データの一例を示す図である。
【図５】図３のステップＳ３０２に示したマトリクスマッピング処理を説明する図である。
【図６】図５に示したインク滴下エリア５０２を説明する図である。
【図７】検知ドットマトリクス７００の一例を示す図である。
【図８】本発明におけるインク滴下判定処理の一例を示すフローチャートである。
【図９】本発明における検知ドット数テーブル作成処理の一例を示すフローチャートである。
【図１０】印字部１１の印字文字に対応したフォントテーブル１０００の一例を示す図である。
【図１１】出力ドットマトリクス１１００の一例を示す図である。
【図１２】本発明における印字欠け判定処理の一例を示すフローチャートである。
【図１３】本発明における印字欠け検知処理の第１の実行制御処理の一例を示すフローチャートである。
【図１４】本発明における印字欠け検知処理の第２の実行制御処理の一例を示すフローチャートである。
【図１５】本発明に係る画像読取装置として画像読取装置１を機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体（記憶媒体）のメモリマップを説明する図である。
【符号の説明】
【０１４２】
１    画像読取装置
２    ピックアップローラ
３    給送ローラ
４    分離ローラ
５    レジストローラ
７    排紙ローラ
８    読取ユニット
９    対向部材
１０    レジストセンサ
１１    印字部１１
１２    インクカートリッジ
８１    上部フレーム
８１ａ    回転軸
８２    下部フレーム
１００    電気構成図
１０１    スキャナ部
１０２    画像処理部
１０３    バス
１０４    出力部
１０５    記憶部
１０６    制御部
Ｄ    原稿
３００    印字部１１による印字結果を含む画像データ
３０１    印字範囲
５０１    インク滴下エリア座標系
５０２    インク滴下エリア
７００    検知ドットマトリクス
７０１    検知ドット数テーブル
１０００    フォントテーブル
１１００    出力ドットマトリクス
１１０１    出力ドット数テーブル
【図１】
2010130414.tif 000003
【図２】
2010130414.tif 000004
【図３】
2010130414.tif 000005
【図４】
2010130414.tif 000006
【図５】
2010130414.tif 000007
【図６】
2010130414.tif 000008
【図７】
2010130414.tif 000009
【図８】
2010130414.tif 000010
【図９】
2010130414.tif 000011
【図１０】
2010130414.tif 000012
【図１１】
2010130414.tif 000013
【図１２】
2010130414.tif 000014
【図１３】
2010130414.tif 000015
【図１４】
2010130414.tif 000016
【図１５】
2010130414.tif 000017