画像読取装置、画像読取装置の制御方法、プログラム、及び記憶媒体
【課題】印字品質を確保しつつインク供給部材のインクを効率よく使用してインク供給部材の交換作業の回数を軽減することができる画像読取装置を提供する。
【解決手段】複数のドット出力部を駆動して原稿に印字する印字手段11と、印字手段11により印字された原稿の画像を読み取る読取手段8と、読取手段8により読み取られた画像データに基づいて印字手段11の印字不良を検出する検出手段106と、検出手段106により印字不良が検出された場合に、複数のドット出力部のうち、前記印字不良が検出された位置に対応するドット出力部の駆動回数を増加させる制御手段106と、を備える。
【解決手段】複数のドット出力部を駆動して原稿に印字する印字手段11と、印字手段11により印字された原稿の画像を読み取る読取手段8と、読取手段8により読み取られた画像データに基づいて印字手段11の印字不良を検出する検出手段106と、検出手段106により印字不良が検出された場合に、複数のドット出力部のうち、前記印字不良が検出された位置に対応するドット出力部の駆動回数を増加させる制御手段106と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、原稿に印字処理を施す印字手段を備える画像読取装置、画像読取装置の制御方法、プログラム、及び記憶媒体に関する。
【背景技術】
【0002】
従来のこの種の画像読取装置として、原稿の所定位置に認証のためのナンバリング文字を印字し、印字後の原稿の画像を読み取るものがある。
【0003】
ナンバリング文字の印字データ(ナンバリングデータ)は、画像読取装置に接続されたホスト装置から取得し、画像読取装置は、このナンバリングデータ(例えば英数字等の文字コード)に基づき印字パターンを生成して、印字装置により原稿に印字する。
【0004】
画像読取装置の印字装置には、インクカートリッジ(インク供給部材)に貯えられたインクをノズルにより噴射して印字するインクジェット式のものがある。
【0005】
インクカートリッジに貯えられたインクの量は印字によって徐々に減少し、インク量があるレベルまで減少すると印字がかすれた状態となり、目視にて文字を識別することが困難な状態となる。
【0006】
また、インクジェット式の印字装置のノズルがインクで目詰まりして正常に印字ができない状態(印字不良)が発生していても、利用者が目視にて印字結果をチェックするまでその状態に気がつかない場合がある。
【0007】
一方、インク供給部材としてインクカセットリボンを用いる画像読取装置では、印字装置により原稿に印字された文字の濃度をセンサで検出し、その検出濃度を基に印字不良を検出する技術が提案されている(特許文献1)。
【0008】
また、印字不良を検出する際に、印字装置による印字文字数とセンサによって検出した文字の濃度情報とから印字不良の要因を特定し、利用者に通知する技術が提案されている(特許文献2)。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2002−370434号公報
【特許文献2】特許第3742393号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
上記従来の技術では、印字不良の検出により、インクカートリッジやインクカセットリボン等のインク供給部材の交換時期を把握することができる。
【0011】
しかし、印字不良が検出されても、インク供給部材のインクを全て使い切っていない場合がある。特に、印字面が大きく、一度に複数行の文字列を印字可能な印字装置では、印字面の一部で印字不良が発生しても、印字不良が発生した以外の部分は、継続して印字が可能な場合がある。
【0012】
そこで、本発明は、たとえ印字面の一部に印字不良が発生したとしても、印字品質を確保しつつインク供給部材のインクを効率よく使用してインク供給部材の交換作業の回数を低減することができる画像読取装置等を提供することを目的とする。
【課題を解決するための手段】
【0013】
上記目的を達成するために、本発明の画像読取装置は、複数のドット出力部を駆動して搬送中の原稿に印字する印字手段と、該印字手段により印字された原稿の画像を読み取る読取手段と、該読取手段により読み取られた画像データに基づいて前記印字手段の印字不良を検出する検出手段と、該検出手段により印字不良が検出された場合に、前記ドット出力部の駆動状態を変更することで印字の継続を可能とする制御手段と、を備えることを特徴とする。
【0014】
本発明の画像読取装置の制御方法は、複数のドット出力部を駆動して原稿に印字する印字手段と、該印字手段により印字された原稿の画像を読み取る読取手段と、を備える画像読取装置の制御方法であって、前記読取手段により読み取られた画像データに基づいて前記印字手段の印字不良を検出する検出ステップと、該検出ステップで印字不良が検出された場合に、前記ドット出力部の駆動状態を変更することで印字の継続を可能とする制御ステップと、を備えることを特徴とする。
【0015】
本発明のプログラムは、複数のドット出力部を駆動して原稿に印字する印字手段と、該印字手段により印字された原稿の画像を読み取る読取手段と、を備える画像読取装置を制御するプログラムであって、前記読取手段により読み取られた画像データに基づいて前記印字手段の印字不良を検出する検出ステップと、該検出ステップで印字不良が検出された場合に、前記ドット出力部の駆動状態を変更することで印字の継続を可能とする制御ステップと、をコンピュータに実行させる、ことを特徴とする。
【0016】
本発明のコンピュータで読み取り可能な記憶媒体は、前記プログラムを格納した、ことを特徴とする。
【発明の効果】
【0017】
本発明によれば、たとえ複数のドット出力部のうちの一部のドット出力部に印字不良が発生したとしても、印字品質を確保しつつインク供給部材のインクを効率よく使用してインク供給部材の交換作業の回数を低減することができる。
【図面の簡単な説明】
【0018】
【図1】本発明の第1の実施形態である画像読取装置を説明するための概略断面図である。
【図2】画像読取装置の制御系について説明するためのブロック図である。
【図3】印字装置の一例を示す概略図である。
【図4】画像読取装置の動作例について説明するためのフローチャート図である。
【図5】記憶部に記憶された画像データの一例を示す図である。
【図6】エラーメッセージの表示例を示す図である。
【図7】(a)は印字装置がドット出力部に供給する電力パターンの一例を示すグラフ図、(b)は(a)の電力パターンでの印字装置による印字結果を示す図である。
【図8】記憶部に記憶された駆動パルス数テーブルの一例を示す図である。
【図9】駆動パルス数テーブルの値を参照して文字「8」を印字する場合に、ドット出力部に入力するパルス波形の一例を示すグラフ図である。
【図10】図4のステップS2008における印字不良の検出処理について説明するためのフローチャート図である。
【図11】印字範囲にインク滴下エリア座標系を当てはめて複数のインク滴下エリアに区分けする処理を説明するための説明図である。
【図12】検知ドットマトリクスを説明するための説明図である。
【図13】インク滴下エリアの拡大図である。
【図14】インク滴下判定の処理を説明するためのフローチャート図である。
【図15】検知ドット数テーブルを作成する処理を説明するためのフローチャート図である。
【図16】印字文字に対応したフォントテーブルの一例を示す図である。
【図17】出力ドットマトリクスの一例を示す図である。
【図18】印字不良の判定処理を説明するためのフローチャート図である。
【図19】図4のステップS2009におけるドット出力部の駆動パルス数(駆動回数)の更新処理について説明するためのフローチャート図である。
【図20】図4のステップS2010における、ドット出力部の駆動パルス数が上限値に達しているか否かの判断処理について説明するためのフローチャート図である。
【図21】本発明の第2の実施形態の画像読取装置における印字装置の構成例を説明するための説明図である。
【図22】画像読取装置の動作例について説明するためのフローチャート図である。
【図23】出力部を介して接続されたホストPCのディスプレイに表示される印字設定画面の一例を示す図である。
【図24】印字不良の検出履歴の一例を示す図である。
【図25】図23に示す印字設定画面にグレーアウト表示がなされた状態を示す図である。
【図26】印字不良の検出処理を説明するためのフローチャート図である。
【図27】出力ドットマトリクスの一例を示す図である。
【図28】印字不良の判定処理を説明するためのフローチャート図である。
【図29】エラーメッセージの表示例を示す図である。
【発明を実施するための形態】
【0019】
以下、本発明の実施形態を図面を参照して説明する。
【0020】
(第1の実施形態)
図1は、本発明の第1の実施形態である画像読取装置を説明するための概略断面図である。
【0021】
図1に示すように、本実施形態の画像読取装置1は、給紙トレイ70に載置された原稿Dを給紙するピックアップローラ2、給紙された原稿Dを搬送路に給送する給送ローラ3、及び搬送路に給送される原稿Dを1枚ずつ分離する分離ローラ4を備える。
【0022】
給紙トレイ70には、該給紙トレイ70に原稿Dが載置されているか否かを検知する原稿検知センサ71が設けられている。
【0023】
搬送路に給送された原稿Dは、搬送ローラ対5により下流側に搬送され、読取ユニット8で画像が読み取られた後、排紙ローラ対7により排紙トレイ72に排紙される。
【0024】
読取ユニット8は、原稿Dに光を照射する光源201と、原稿Dからの反射光を受光して画像信号を出力するラインイメージセンサ200とを備える。
【0025】
読取ユニット8に対して搬送路を挟んで対向する位置には、例えば白色の対向部材9が配置され、読取ユニット8と搬送ローラ対5との間には、搬送路を搬送される原稿Dを検知するレジストセンサ10が配置されている。
【0026】
また、読取ユニット8の上流側の搬送ローラ対5と給送ローラ3との間には、原稿Dの所定位置に認証のためのナンバリング文字を印字する印字装置11が配置されている。
【0027】
ナンバリング文字の印字データ(ナンバリングデータ)は、画像読取装置1に接続された不図示のホストPCから取得する。画像読取装置1は、このナンバリングデータ(例えば英数字等の文字コード)に基づき印字パターンを生成して、印字装置11により原稿Dに印字する。
【0028】
印字装置11は、例えばインクジェット式の場合、インクカートリッジ12に蓄えられたインクを噴射することによりドットマトリクス構成の文字を原稿Dに印字する。図3に、印字装置11の一例を示す。図3に示すように、印字装置11は、例えば8個のドット出力部110〜117を有している。なお、印字装置11は、インクリボン式やその他の印字方式で文字を印字するものであっても良い。
【0029】
画像読取装置1は、上部フレーム81及び下部フレーム82から構成され、上部フレーム81が回動軸81aを介して開閉可能に支持されている。搬送路で原稿Dの紙詰まり等が発生した際には、上部フレーム81を開けて搬送路に詰まった原稿を取り除くことができる。
【0030】
ここで、読取ユニット8の光源201から原稿Dに光を照射してその反射光をラインイメージセンサ200で受光することで原稿Dの画像を読み取るが、光源201及びラインイメージセンサ200には、それぞれ光量むらや感度むらがある。
【0031】
このため、ラインイメージセンサ200で対向部材9を読み取り、光量むらと感度むらをラインイメージセンサ200の光電変換素子ごとに補正するシェーディング補正を行う。このシェーディング補正では、光源201の発光量を適正化する光量調整と、ラインイメージセンサ200の画像信号出力に対する増幅率を最適化するゲイン調整とを行う。
【0032】
そして、原稿Dの画像を読み取る際には、まず、読取ユニット8のラインイメージセンサ200により対向部材9を読み取り、シェーディング補正用データを生成して画素ごとに記憶する。
【0033】
その後、ピックアップローラ2により給紙トレイ70に載置された原稿Dが給紙され、給紙された原稿Dは、給送ローラ3及び分離ローラ4によって1枚ずつに分離されて搬送路に給送される。搬送路に給送された原稿Dは、搬送ローラ対5によって下流側に搬送され、読取ユニット8のラインイメージセンサ200で画像が読み取られる。
【0034】
ここで、前述したシェーディング補正用データを参照して、ラインイメージセンサ200の画像信号から生成した画像データを画素ごとにシェーディング補正する。画像が読み取られた原稿Dは、排紙ローラ対7により下流側に搬送されて排紙トレイ72に排紙される。
【0035】
次に、図2を参照して、画像読取装置1の制御系について説明する。
【0036】
図2において、読取ユニット8は、搬送中の原稿Dに光源201から光を照射して原稿Dから反射した光をラインイメージセンサ200で光電変換し、不図示のA/D変換部でデジタル化処理を施して所定の色深度の画像データを出力する。
【0037】
画像処理部102は、読取ユニット8から出力された画像データに対してシェーディング処理、色深度変換処理等を行う。
【0038】
制御部106は、不図示のCPU、ROM、及びRAM等を備え、ROMには画像読取装置1を制御する各種の処理プログラム、及び各種の処理プログラムを実行するのに必要な各種データが格納される。
【0039】
出力部104は、PC等の外部装置との通信を行うための通信I/F等を備える。記憶部105は、ハードディスク、RAM、メモリカード等で構成され、制御部106の制御により画像データの書き込みおよび読み出しを行う。
【0040】
操作部101は、画像読取装置1に対する指示を入力するためのユーザインタフェイスである。
【0041】
印字装置11は、図3に示すドット出力部110〜117にパルス状の電力を供給して原稿Dへ印字を行う。
【0042】
次に、図4を参照して、本実施形態の画像読取装置1の動作例について説明する。図4の処理は、画像読取装置1のROMやハードディスク等に記憶されたプログラムがRAMにロードされて、制御部106のCPUにより実行されることで遂行される。
【0043】
図4において、ステップS2001では、CPUは、不図示のホストPC等によりスキャン開始を指示されたか否かを判断し、スキャン開始が指示された場合は、ステップS2002に進む。
【0044】
ステップS2002では、CPUは、原稿検知センサ71からの信号を基に、給紙トレイ70に原稿Dが存在するか否かを判断し、原稿Dが存在する場合は、ステップS2003に進み、原稿Dが存在しない場合は、処理を終了する。
【0045】
ステップS2003で、CPUは、ピックアップローラ2によって給紙トレイ70に載置された原稿Dを給紙し、ステップS2004に進む。
【0046】
ステップS2004では、CPUは、不図示のホストPC等でのユーザ操作により印字装置11で原稿Dに印字を行う設定がなされているか否かを判断する。
【0047】
そして、CPUは、印字設定がなされている場合は、ステップS2005に進み、印字設定がなされていない場合は、ステップS2006に進む。
【0048】
ステップS2005では、CPUは、印字装置11により原稿Dに印字を行い、ステップS2006に進む。なお、ここでの印字処理の詳細については後述する。
【0049】
ステップ2006で、CPUは、読取ユニット8により原稿Dの画像を読み取り、読み取った画像データを記憶部105に記憶して、ステップS2007に進む。図5に、記憶部105に記憶された画像データ300の一例を示す。
【0050】
ステップ2007では、CPUは、ステップS2004と同様に、印字装置11で原稿Dに印字を行う設定がなされているか否かを判断し、印字設定がなされている場合は、ステップS2008に進み、印字設定がなされていない場合は、ステップS2011に進む。なお、ステップS2007では、設定を調べて判断するのではなく、ステップS2005での印字が実行されたか否かによって判断するようにしてもよい。
【0051】
ステップS2008では、CPUは、印字不良の検出処理を実行し、ステップS2009に進む。なお、ここでの印字不良の検出処理については後述する。
【0052】
ステップS2009では、CPUは、印字装置11のドット出力部110〜117の駆動パルス数(駆動回数)を更新し、ステップS2010に進む。なお、ここでのドット出力部110〜117の駆動パルス数の更新処理については後述する。
【0053】
ステップS2010で、CPUは、ドット出力部110〜117の駆動パルス数が閾値である上限値に達しているか否かを判断し、上限値に達している場合は、ステップS2012に進み、上限値に達していない場合は、ステップS2011に進む。なお、ドット出力部110〜117の駆動パルス数が上限値に達しているか否かの判断処理については後述する。
【0054】
ステップS2011では、CPUは、ステップS2006で読み取った原稿Dの画像データを出力部104を介してホストPC等に転送し、ステップS2002に戻る。
【0055】
ステップS2012では、CPUは、出力部104を介して不図示のホストPC等の表示部に例えば図6に示すエラーメッセージを表示して、ユーザに印字不良が発生したことを通知し、読取ユニット8による原稿Dの画像の読取処理を停止して、処理を終了する。
【0056】
次に、図7〜図9を参照して、図4のステップS2005における印字処理について説明する。なお、ここでは、印字装置11は、5×8ドットで構成される文字を出力可能とするが、印字装置11が出力可能なドットの数は特に限定されない。
【0057】
図7(a)は印字装置11がドット出力部110〜117に供給する電力パターンの一例を示すグラフ図、図7(b)は図7(a)の電力パターンでの印字装置11による印字結果を示す図である。
【0058】
例えば印字装置11により文字「8」を印字する場合、図7(a)の「a」に示すように、文字の縦一行を構成する8個のドットを駆動する為のパルスをそれぞれの位置に対応するドット出力部111,112,114〜116に供給する。これにより、文字を構成するドットのうち、図7(b)の「a′」の部分が出力される。
【0059】
本実施形態では、印字装置11に沿って原稿Dが順次搬送されていく構成の為、印字装置11は、縦方向(主走査方向)の8ドット分のパルス波形を出力した後、原稿Dが所定のドット間隔分移動するまで待機し、その後、次の縦方向の8ドット分のパルス波形を出力する。この動作を順次繰り返し行うことで、文字を構成する全ドットを出力する。
【0060】
通常、ドット出力部で1ドットの出力を行う際には、1つのパルス波形を入力すればよいが、本実施形態では、印字装置11は、記憶部105に記憶された駆動パルス数テーブルTp(図8)を参照し、1ドットを出力する為のパルス数を決定する。
【0061】
駆動パルス数テーブルTpの要素0は、ドット出力部110で1ドット出力する際に、印字装置11がドット出力部110に入力するパルス数を表している。同様に、駆動パルス数テーブルTpの要素1〜要素7は、それぞれドット出力部111〜ドット出力部117に入力するパルス数を表している。
【0062】
図9は、図8の例の駆動パルス数テーブルTpの値を参照して文字「8」を印字する場合に、ドット出力部110〜117に入力するパルス波形の一例を示すグラフ図である。
【0063】
図8の例の駆動パルス数テーブルTpでは、ドット出力部112に対応する要素の値が2になっている為、図9の「a」の波形は、図7と異なり、1ドットの出力に対して2個の出力パルスが供給される。
【0064】
このとき、ドット出力部112が正常な状態であれば、原稿Dには2個のドットが重なり合って出力されるため、他の部分よりも濃い印字となる。
【0065】
しかし、ドット出力部112の一部に詰まり等の不具合が発生して、正常にドットが出力できず、印字濃度が低下している状態であった場合には、ドットを重ねて印字する事によって濃度を補う事ができる。
【0066】
また、ドットを重ねて印字することによって、ドット出力部112のインク流量が増す為、不具合の原因となっている一部の詰まりが解消されることが期待できる。
【0067】
駆動パルス数テーブルTpは、インクカートリッジを交換した際、あるいは利用者の操作によりドット出力部112の清掃動作を実行した際に、全ての要素に値1を書き込み、初期化を行う。駆動パルス数テーブルTpは、図4のステップS2009で値が更新される。更新処理については後述する。
【0068】
次に、図10を参照して、図4のステップS2008における印字不良の検出処理について説明する。
【0069】
図10において、印字範囲抽出処理(A)では、読取ユニット8で読み取った印字装置11による印字部分を含む原稿の画像データ300(図5)から印字範囲301を抽出する。印字範囲301は、制御部106が印字装置11を制御する際に設定し、記憶部105に保持している座標値を参照して決定する。
【0070】
マトリクスマッピング処理(B)では、印字範囲抽出処理(A)で抽出した印字範囲301に対して記憶部105に保持されているインク滴下エリア座標系501を当てはめ、図11に示すように、複数のインク滴下エリア502に区分けする。図11は、印字装置11が図3に示すように8個のドット出力部110〜117を有する場合の一例を示す。
【0071】
検知ドット数テーブル生成処理(C)では、マトリクスマッピング処理(B)で生成した複数のインク滴下エリア502の画素を走査し、各インク滴下エリア502にインクが滴下されているか否かを判定する。
【0072】
例えば、印字装置11が出力するインクが黒であった場合、各インク滴下エリア502に、ある輝度値以下の画素が規定数以上あったとき、そのインク滴下エリア502にはインクが滴下されていると判定する。そして、その判定結果を記憶部105に別途作成した検知ドットマトリクス700(図12)に書き込む。
【0073】
ここで、インク滴下エリア座標系501の最も左上の要素、及び検知ドットマトリクス700の最も左上の要素を原点としてx座標、y座標を定義する。また、各インク滴下エリア502をI[y][x]と表し、検知ドットマトリクス700の各要素をD[y][x]と表す。
【0074】
同様に、各インク滴下エリア502に、最も左上の画素を原点としてi座標、j座標を定義する。図13は、インク滴下エリア502が縦5画素、横5画素で構成されるときの一例である。ここで、インク滴下エリア502の各画素をA[j][i]とし、インク検知のための規定数をThc、輝度値をThb、画素カウント用の変数をcntとすると、インク滴下判定の処理は、図14に示すようになる。
【0075】
図14の処理は、画像読取装置1のROMやハードディスク等に記憶されたプログラムがRAMにロードされて、制御部106のCPUにより実行されることで遂行される。
【0076】
図14において、ステップS801では、CPUは、インク滴下エリア502の画素の座標を表す変数j及びインクを検知した画素数を表す変数cntを0に初期化してステップS802に進む。
【0077】
ステップS802では、CPUは、インク滴下エリア502の画素の座標を表す変数iを0に初期化し、ステップS803に進む。
【0078】
ステップS803では、CPUは、座標(i,j)で表される、インク滴下エリア502の画素A[j][i]が輝度値Thbを超えているか否かを判断する。
【0079】
そして、CPUは、画素A[j][i]が輝度値Thbを超えている場合は、画素A[j][i]にはインクが滴下されていないと判定し、ステップS806に進む。一方、CPUは、画素A[j][i]が輝度値Thb以下の場合は、画素A[j][i]にはインクが滴下されていると判定し、ステップS804に進む。
【0080】
ステップS804では、CPUは、変数cntの値を1増加させ、ステップS805に進む。
【0081】
ステップS805では、CPUは、変数cntの値がインク検知定数Thcを超えているか否かを判断し、超えている場合は、ステップS811に進み、そうでない場合は、ステップS806に進む。
【0082】
ステップS811では、CPUは、検知ドットマトリクス700の要素D[y][x]に、インクが滴下されていたことを表す数値1を書き込む。
【0083】
一方、ステップS806では、CPUは、変数iの値を1増加させ、ステップS807に進む。
【0084】
ステップS807では、CPUは、変数iの値がインク滴下エリア502のx軸方向の構成画素数ax未満であるか否かを判断し、変数iの値が構成画素数ax未満である場合は、ステップS803に戻り、そうでない場合は、ステップS808に進む。
【0085】
ステップS808では、CPUは、変数jの値を1増加させ、ステップS809に進む。
【0086】
ステップS809では、CPUは、変数jの値がインク滴下エリア502のy軸方向の構成画素数ay未満であるか否かを判断し、変数jの値が構成画素数ay未満である場合は、ステップS802に戻り、そうでない場合は、ステップS810に進む。
【0087】
ステップS810では、CPUは、座標(x,y)で表される検知ドットマトリクス700の要素D[y][x]に、インクが滴下されていなかったことを表す数値0を書き込む。
【0088】
そして、CPUは、上記処理を印字範囲301に対して適用した全てのインク滴下エリア502に対して行い、検知ドットマトリクス700に結果を書き込む。
【0089】
次に、CPUは、検知ドットマトリクス700を搬送方向に走査し、y座標毎にインクの滴下を検知したエリアの和を求め、記憶部105上に作成した検知ドット数テーブル701に結果を書き込む。
【0090】
検知ドット数テーブル701の各要素をTd[y]と表すとき、印字装置11により1文字がcxドット×cyドットで表される文字がs文字印字された場合、検知ドット数テーブル701を作成する処理は図15に示すようになる。
【0091】
図15の処理は、画像読取装置1のROMやハードディスク等に記憶されたプログラムがRAMにロードされて、制御部106のCPUにより実行されることで遂行される。
【0092】
ステップS900では、CPUは、検知ドットマトリクス700内の要素の座標、及び検知ドット数テーブル701の要素番号を表す変数yに数値0を書き込んで初期化を行い、ステップS901に進む。
【0093】
ステップS901では、CPUは、検知ドットマトリクス700内の要素の座標を表す変数x、及び検知ドット数テーブル701の要素Td[y]に0を書き込んで初期化を行い、ステップS902に進む。
【0094】
ステップS902では、CPUは、検知ドット数テーブル701の要素Td[y]の値を検知ドットマトリクス700の要素D[y][x]の値だけ増加させ、ステップS903に進む。
【0095】
ステップS903では、CPUは、変数xの値を1増加させ、ステップS904に進む。
【0096】
ステップS904では、CPUは、印字装置11により印字された1文字を構成するx方向のドット数cxと印字範囲301内に印字装置11により印字された文字数sとの積(cx×s)を求め、変数xの値と比較する。
【0097】
そして、CPUは、変数xが(cx×s)未満である場合は、ステップS902に戻り、変数xが(cx×s)以上の場合は、ステップS905に進む。
【0098】
ステップS905では、CPUは、変数yの値を1増加させ、ステップS906に進む。
【0099】
ステップS906では、CPUは、変数yの値が印字装置11により印字された1文字を構成するy方向のドット数cy未満か否かを判断する。
【0100】
そして、CPUは、変数yの値がドット数cy未満の場合は、ステップS901に戻り、そうでない場合は、検知ドット数テーブル701を作成する処理を終了する。
【0101】
次に、図16及び図17を参照して、図10に示す出力ドットマトリクス生成処理(D)について説明する。
【0102】
制御部106により印字装置11に対して文字を印字する制御を行うとき、印字すべき文字列を記憶部105に記憶し、保持しておく。出力ドットマトリクス生成処理(D)では、CPUは、記憶部105に保持されている文字列を取得し、その印字文字列を印字順に走査して、印字文字に対応したフォントテーブル1000(図16)を参照する。
【0103】
フォントテーブル1000には、印字装置11が正常にインクを出力した際に生成されるドットの配置が格納されている。CPUは、印字装置11が印字した全ての文字に対してフォントテーブル1000を参照し、図17に示すように、記憶部105に出力ドットマトリクス1100を作成する。
【0104】
図10に示す出力ドット数テーブル生成処理(E)では、出力マトリクス生成処理(D)で作成した出力ドットマトリクス1100から検知ドット数テーブル生成処理(C)と同様に、y座標毎にインクの滴下を検知したエリアの和を求める。そして、その結果を記憶部105に作成した出力ドット数テーブル1101(図17)の各要素To[y]に格納する。
【0105】
図10に示す印字不良判定処理(F)では、図12に示す検知ドット数テーブル701、及び図17に示す出力ドット数テーブル1101について、それぞれのテーブルで番地の等しい要素ごとに数値を比較し、その差が規定値以上の場合、印字不良と判定する。
【0106】
検知ドット数テーブル701、及び出力ドット数テーブル1101の要素数をcy、印字不良判定の為の規定値をThdとすると、印字不良の判定処理は図18に示すようになる。
【0107】
図18の処理は、画像読取装置1のROMやハードディスク等に記憶されたプログラムがRAMにロードされて、制御部106のCPUにより実行されることで遂行される。
【0108】
ステップS1200では、CPUは、検知ドット数テーブル701、及び出力ドット数テーブル1101内のy方向の座標をあらわす変数yに数値0を書き込んで初期化し、ステップS1201に進む。
【0109】
ステップS1201では、CPUは、検知ドット数テーブル701の要素Td[y]の値と出力ドット数テーブル1101の要素To[y]の値との差分(To[y]−Td[y])を計算し規定値Thdと比較する。
【0110】
そして、CPUは、差分(To[y]−Td[y])が規定値Thdを超える場合は、ステップS1205に進み、差分(To[y]−Td[y])が規定値Thd以下の場合は、ステップS1202に進む。
【0111】
ステップS1205では、CPUは、記憶部105に記憶された図17に示す印字不良検出テーブル1102の要素Ti[y]に、印字不良を検出したことを示す値である1を書き込み、処理を終了する。
【0112】
ステップS1202では、CPUは、記憶部105に記憶された図17に示す印字不良検出テーブル1102の要素Ti[y]に、印字不良を検出しなかったことを示す値である0を書き込み、ステップS1203に進む。
【0113】
ステップS1203では、CPUは、変数yの値を1増加させ、ステップS1204に進む。
【0114】
ステップS1204では、CPUは、変数yの値が印字装置11により印字された1文字を構成するy方向のドット数cy未満が否かを判断する。
【0115】
そして、CPUは、変数yの値がドット数cy未満の場合は、ステップS1200に戻り、変数yの値がドット数cy以上の場合は、処理を終了する。
【0116】
上述した印字不良の判定処理により、印字不良を検出すると共に、印字不良検出テーブル1102を作成して、印字不良が発生したドット出力部を特定することができる。
【0117】
次に、図19を参照して、図4のステップS2009におけるドット出力部の駆動パルス数(駆動回数)の更新処理について説明する。ここでは、図18の印字不良判定処理で作成した印字不良検出テーブル1102を基に、図8に示す駆動パルス数テーブルTpを更新する処理を説明する。
【0118】
ステップS1501で、CPUは、演算に使用するための変数yを0に初期化し、ステップS1502に進む。
【0119】
ステップS1502では、CPUは、記憶部105に記憶された印字不良検出テーブル1102の要素Ti[y]の値が1か0かを判断する。
【0120】
そして、CPUは、要素Ti[y]の値が印字不良が発生したことを表す1である場合は、ステップS1503に進み、要素Ti[y]の値が印字不良が発生していないことを表す0である場合は、ステップS1504に進み。
【0121】
ステップS1503では、CPUは、駆動パルス数テーブルTpの要素Tp[y]の値を1増加させ、ステップS1504に進む。
【0122】
例えば、インクカートリッジ12を交換、あるいはドット出力部を清掃した後、初めて駆動パルス数テーブルTpの要素Tp[y]の値を1増加させた際には、要素Tp[y]は1に初期化されているため、要素Tp[y]の値を1増加させると、2になる。
【0123】
ステップS1504では、CPUは、変数yの値を1増加させ、ステップS1505に進む。
【0124】
ステップS1505では、CPUは、変数yの値が印字装置11のドット出力部110〜117の数の8未満か否かを判断し、変数yの値が8未満の場合は、ステップS1502に戻り、変数yの値が8未満でない場合は、図4のステップS2010に進む。
【0125】
以上の処理により、図18の印字不良判定処理で作成した印字不良検出テーブル1102を基に、印字装置11の全てのドット出力部110〜117に対応する駆動パルス数を更新することができる。
【0126】
引き続き印字を行う場合、印字装置11は、図4のステップS2005において、更新された駆動パルス数テーブルTpを参照してドット出力部110〜117の駆動パルス数を決定する。
【0127】
次に、図20を参照して、図4のステップS2010における、ドット出力部110〜117の駆動パルス数が上限値に達しているか否かの判断処理について説明する。
【0128】
ステップS1601では、CPUは、演算に使用するための変数yを0に初期化し、ステップS1602に進む。
【0129】
ステップS1602では、CPUは、駆動パルス数テーブルTpの要素Tp[y]の値が駆動パルス数の上限値Tpmaxを超えているか否かを判断し、超えている場合は、図4のステップS2012に進み、超えていない場合は、ステップS1603に進む。
【0130】
ここで、駆動パルス数の上限値Tpmaxは、固定の値として記憶部105等に保持されている。
【0131】
例えば、本実施形態では、図9のグラフ図を参照すると、駆動パルス数が4以上になると、文字を構成する隣のドットと重なり合ってしまうことが容易に想定される為、駆動パルス数の上限値Tpmaxは3程度が好適である。
【0132】
ステップS1603では、CPUは、変数yの値を1増加させ、ステップS1604に進む。
【0133】
ステップS1604では、CPUは、変数yの値が印字装置11のドット出力部110〜117の数の8未満か否かを判断し、変数yの値が8未満の場合は、ステップS1602に戻り、変数yの値が8未満でない場合は、図4のステップS2011に進む。
【0134】
以上説明したように、本実施形態では、印字濃度が低下して印字不良が検出された場合に、ドット出力部の駆動状態を変更、すなわち、印字不良が検出された部位に対応するドット出力部の駆動回数を増加させ、自動的に印字濃度が低下した部分を補う。これにより、印字品質を確保しつつインクカートリッジ12のインクを効率よく使用して、該インクカートリッジ12の交換作業の回数を軽減することができる。
【0135】
(第2の実施形態)
次に、図21〜図29を参照して、本発明の第2の実施形態である画像読取装置について説明する。なお、上記第1の実施形態に対して重複又は相当する部分については図及び符号を流用して説明する。
【0136】
図21は、本発明の第2の実施形態の画像読取装置における印字装置の構成例を説明するための説明図である。
【0137】
図21に示すように、複数(図では24個)のドット出力部1800を備え、これらのドット出力部1800により搬送路を搬送される原稿Dに向けてインク滴を塗付し、文字を印字する。
【0138】
ここで、本実施形態では、印字装置11は、複数のドット出力部1800が複数の区分に分割され、それぞれの区分において、複数の異なる文字列を一括して印字可能に構成されている。
【0139】
図21の例では、24個のドット出力部1800が3つの区分1801〜1803に分割され、それぞれ縦方向の8ドットからなる文字列を3行分一括して印字可能に構成されている。なお、その他の画像読取装置の基本的な装置構成については、上記第1の実施形態と同様であるので、その説明を省略する。
【0140】
次に、図22を参照して、本実施形態の画像読取装置の動作例について説明する。
【0141】
図22の処理は、画像読取装置のROMやハードディスク等に記憶されたプログラムがRAMにロードされて、制御部106のCPUにより実行されることで遂行される。
【0142】
まず、図22の処理を開始する前に、出力部104を介して接続されたホストPCのディスプレイに図23に示す印字設定画面を表示して、ユーザ操作により印字装置11の動作を設定した場合の動作について説明する。
【0143】
図23は、上述したように、印字装置11のドット出力部1800を3つの区分1801〜1803に分割し、縦方向の8ドットの文字列を一括して3行分印字設定可能な印字設定画面の一例を示す図である。
【0144】
以降の説明では、区分1801を使用して印字される文字列を第1行目、区分1802の部分を使用して印字される文字列を第2行目、区分1803の部分を用いて印字される文字列を第3行目とする。
【0145】
図23に示す印字設定画面において、チェックボックスa1は、印字装置11により第1行目を印字するか否かを選択するためのボックスである。図の例では、チェックボックスa1は、印字装置11により第1行目の印字を行う選択がなされている。
【0146】
テキストボックスb1は、第1行目に印字する文字列を入力するためのボックスである。図の例では、テキストボックスb1に文字列「2008/09/30」が入力されている。
【0147】
同様に、チェックボックスa2及びチェックボックスa3は、それぞれ印字装置11により第2行目及び第3行目を印字するか否かを選択するためのボックスである。テキストボックスb2及びテキストボックスb3は、それぞれ第2行目及び第3行目に印字する文字列を入力するためのボックスである。図の例では、上段と中段の2行のみを印字する場合の印字設定画面を示している。
【0148】
また、出力部104を介して接続されたホストPCは、画像読取装置での印字不良の検出履歴を参照して、図23に示す印字設定画面の表示を切り替える。印字不良の検出履歴は、例えば図24に示すように、データテーブルで表され、画像読取装置の記憶部105に保持されるものとする。
【0149】
インクカートリッジ12を装着、あるいは交換したことを検知するか或いは通知された場合、全ての行の印字不良状態が0にされ、印字不良の検出履歴がリセットされる。そして、印字不良状態が1になっている行は、インクカートリッジ交換後に印字不良が検出された行となる。
【0150】
図24に示すように、例えば第1行目に印字不良を検出した履歴が残っているとき、ホストPCのディスプレイに表示される印字設定画面のチェックボックスa1及びテキストボックスb1は、図25に示すように、グレーアウト表示になる。
【0151】
図25のグレーアウト表示の部分は、ユーザが選択あるいは文字入力のできない状態となっていることを示す。
【0152】
以降、本実施形態では、図23の印字設定画面において上段と中段に印字するように設定した状態で印字装置11を動作させる場合を例に図22のフローチャート図に沿って説明する。
【0153】
ステップS3001では、CPUは、ホストPCによりスキャン開始を指示されたか否かを判断し、スキャン開始が指示された場合は、ステップS3002に進む。
【0154】
ステップS3002では、CPUは、原稿検知センサ71からの信号を基に、給紙トレイ70に原稿Dが存在するか否かを判断し、原稿Dが存在する場合は、ステップS3003に進み、原稿Dが存在しない場合は、処理を終了する。
【0155】
ステップS3003で、CPUは、ピックアップローラ2によって給紙トレイ70に載置された原稿Dを給紙し、ステップS3004に進む。
【0156】
ステップS3004では、CPUは、ホストPCでのユーザ操作により印字装置11で原稿Dに印字を行う設定がなされているか否かを判断する。
【0157】
具体的には、CPUは、図23に示す印字設定画面のチェックボックスa1,a2,a3にユーザ操作により入力されて記憶された選択情報を参照する。そして、CPUは、チェックボックスa1,a2,a3のうち少なくとも一つが印字を行う設定と記憶されていた場合は、ステップS3005に進み、全てが非選択のため印字を行わない設定である場合は、ステップS3006に進む。
【0158】
ステップS3005では、CPUは、印字装置11により原稿Dに印字を行い、ステップS3006に進む。ここでは、印字装置11によって、第1行目に「2008.09.30」の文字列が印字され、第2行目に「ABC Electronics Inc.」の文字列が印字される。
【0159】
ステップ3006で、CPUは、読取ユニット8により原稿Dの画像を読み取り、読み取った画像データ(図5参照)を記憶部105に記憶して、ステップS3007に進む。
【0160】
ステップ3007では、CPUは、ステップS3004と同様に、ホストPCでのユーザ操作により印字装置11で原稿Dに印字を行う設定がなされているか否かを記憶された情報を基に判断する。そして、CPUは、原稿Dに印字を行う設定であった場合は、ステップS3008に進み、原稿Dに印字を行う設定でなかった場合は、ステップS3010に進む。
【0161】
ステップS3008では、CPUは、印字を行った行(本実施形態では、上段と中段の2行)の印字結果に対して図26に示す印字不良の検出処理を実行し、ステップS3009に進む。
【0162】
ここで、図26に示す印字範囲抽出処理(A)、マトリクスマッピング処理(B)、検知ドット数テーブル生成処理(C)、出力ドットマトリクス生成処理(D)及び出力ドット数テーブル生成処理(E)は、上記第1の実施形態(図10)と同様である。従って、これらの処理の説明を省略し、ステップS3009での処理である印字不良判定処理(F)についてのみ説明する。
【0163】
図26に示す印字不良判定処理(F)では、図12に示す検知ドット数テーブル701、及び図27に示す出力ドット数テーブル1101について、それぞれのテーブルで番地の等しい要素ごとに数値を比較し、その差が規定値以上の場合、印字不良と判定する。
【0164】
検知ドット数テーブル701、及び出力ドット数テーブル1101の要素数をcy、印字不良判定の為の規定値をThdとすると、印字不良の判定処理は図28に示すようになる。
【0165】
図28の処理は、画像読取装置のROMやハードディスク等に記憶されたプログラムがRAMにロードされて、制御部106のCPUにより実行されることで遂行される。
【0166】
ステップS4200では、CPUは、検知ドット数テーブル701、及び出力ドット数テーブル1101内のy方向の座標をあらわす変数yに数値0を書き込んで初期化し、ステップS4201に進む。
【0167】
ステップS4201では、CPUは、検知ドット数テーブル701の要素Td[y]の値と出力ドット数テーブル1101の要素To[y]の値との差分(To[y]−Td[y])を計算し規定値Thdと比較する。
【0168】
そして、CPUは、差分(To[y]−Td[y])が規定値Thdを超える場合は、印字不良有りと判定し、印字不良を検出したことを示す動作フラグをセットして処理を終了する。また、CPUは、差分(To[y]−Td[y])が規定値Thd以下の場合は、ステップS4202に進む。
【0169】
ステップS4202では、CPUは、変数yの値を1増加させ、ステップS4203に進む。
【0170】
ステップS4203では、CPUは、変数yの値が印字装置11により印字された1文字を構成するy方向のドット数cy未満が否かを判断する。
【0171】
そして、CPUは、変数yの値がドット数cy未満の場合は、ステップS4200に戻り、変数yの値がドット数cy以上の場合は、印字不良無しと判定し、印字不良が無かったことを表す動作フラグをセットして処理を終了する。
【0172】
上述した印字不良の検出処理を行うことにより、印字装置11の印字不良を検出することができる。なお、複数行に印字した場合は、おのおのの印字をした行について上記処理を行うことになる。
【0173】
ステップS3009では、CPUは、ステップS3008の印字不良の検出処理において、少なくとも1行の印字不良を検出した場合は、ステップS3011に進み、全ての行で印字不良が発生しなかった場合は、ステップS3010に進む。
【0174】
ステップS3010では、CPUは、ステップS3006で読み取った原稿Dの画像データを出力部104を介してホストPCに転送し、ステップS3002に戻る。
【0175】
ステップS3011で、CPUは、記憶部105に保持された印字不良の検出履歴(図27)において、印字不良を検出した行の印字不良状態に1を書き込み、ステップS3012に進む。
【0176】
ステップS3012では、CPUは、出力部104を介してホストPCのディスプレイに例えば図29に示すエラーメッセージを表示して、ユーザに印字不良が発生したことを通知し、読取ユニット8による原稿Dの画像の読取処理を停止して、処理を終了する。
【0177】
以上説明したように、本実施形態では、印字装置11の印字不良を検出してユーザに通知することで、印字不良に気づかずに画像の読み取り処理を継続してしまうことを防止することができる。また、印字不良を検出した行については、ホストPCのディスプレイに表示される印字設定画面の設定項目がグレーアウト表示になるため、ユーザはホストPCからの設定の際に印字不良の発生した部分を避けて印字設定を行うことができる。
【0178】
例えば、図21の「a」に示すドット出力部1800にインク詰まり等の不具合が発生して正常に印字が行えなくなったとする。この場合、画像読取装置は、印字装置11の印字不良を検出するとともに、図21の「a」に示すドット出力部1800が印字不能部分であると認識し、画像の読取処理を停止する。
【0179】
そして、図25に示すように、ホストPCのディスプレイに表示される印字設定画面の設定項目のうち、印字不能部分のドット出力部を使用して文字列を印字しなければならない第1行目(区分1801)の項目をグレーアウト表示する。これにより、ユーザ操作による印字設定画面の第1行目(区分1801)の項目での印字設定を拒否する。
【0180】
ここで、ユーザが印字設定画面において第2行目(区分1802)、第3行目(区分1803)のドット出力部1800を使用して印字を継続する選択操作をした場合、引き続き原稿の画像の読取処理、および文字列の印字処理を行うことができる。
【0181】
従って、印字装置11の印字品質を原稿1枚に印字するごとに一々確認する必要がなく、安心して原稿に印字することができると共に、印字不良が発生した後でも、印字不良が発生したドット出力部以外の正常に印字可能なドット出力部1800を利用して印字処理を継続することができる。これにより、印字品質を確保しつつインクカートリッジ12のインクを効率よく使用して、該インクカートリッジ12の交換作業の回数を軽減することができる。
【0182】
なお、本実施形態では、印字装置11が一括で印字可能な行数を3行としたが、2行或いは4行以上であってもよい。
【0183】
また、本実施形態では、印字装置11の出力を文字列としたが、複数のビットで構成される画像データを出力しても良い。
【0184】
更に、本実施形態では、印字設定をユーザ操作により選択させる場合を例示したが、固定の印字設定を持つ画像読取装置や、自動的に印字設定を行う画像読取装置等、印字設定手段を持たない画像読取装置に本発明を適用してもよい。
【0185】
更に、本実施形態では、印字不良が発生した行をユーザに通知した後、ホストPC側での印字設定画面にその結果を反映させ、印字不能部分の行に対応する設定項目を入力不能な状態としたが、これに限定されない。
【0186】
たとえば、ユーザが印字不能部分の行に対応する設定項目に対して何らかの設定操作をしたときに、正常に印字できない可能性がある旨をユーザに通知しても良い。
【0187】
また、印字不良が発生した際に、印字する行の変更をユーザに行わせたが、自動的に印字する行を印字不能な行から印字可能な行に変更してもよい。また、印字位置の変更は行単位に行ったが、ドット単位で行ってもよい。
【0188】
なお、本発明は、上記各実施形態に例示したものに限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。
【0189】
例えば、本発明の処理の一部又は全部を画像読取装置に出力部104を介して接続されたホストPC等の外部装置で行ってもよい。この場合、画像読取装置と外部装置とを含むシステムが本発明の画像読取装置に相当する。
【0190】
また、上記各実施形態及びその変形例の任意の構成要素を他の実施形態に追加してもよく、本発明に含まれる。
【0191】
また、本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。
【0192】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0193】
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROM等である。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【0194】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0195】
更に、前述した実施形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行う場合である。
【符号の説明】
【0196】
1 画像読取装置
2 ピックアップローラ
3 給送ローラ
4 分離ローラ
5 搬送ローラ対
7 排紙ローラ対
8 読取ユニット
9 対向部材
10 レジストセンサ
11 印字装置
12 インクカートリッジ
70 給紙トレイ
71 原稿検知センサ
72 排紙トレイ
81 上部フレーム
81a 回転軸
82 下部フレーム
101 操作部
102 画像処理部
104 出力部
105 記憶部
106 制御部
D 原稿
110〜117 ドット出力部
1800 ドット出力部
【技術分野】
【0001】
本発明は、原稿に印字処理を施す印字手段を備える画像読取装置、画像読取装置の制御方法、プログラム、及び記憶媒体に関する。
【背景技術】
【0002】
従来のこの種の画像読取装置として、原稿の所定位置に認証のためのナンバリング文字を印字し、印字後の原稿の画像を読み取るものがある。
【0003】
ナンバリング文字の印字データ(ナンバリングデータ)は、画像読取装置に接続されたホスト装置から取得し、画像読取装置は、このナンバリングデータ(例えば英数字等の文字コード)に基づき印字パターンを生成して、印字装置により原稿に印字する。
【0004】
画像読取装置の印字装置には、インクカートリッジ(インク供給部材)に貯えられたインクをノズルにより噴射して印字するインクジェット式のものがある。
【0005】
インクカートリッジに貯えられたインクの量は印字によって徐々に減少し、インク量があるレベルまで減少すると印字がかすれた状態となり、目視にて文字を識別することが困難な状態となる。
【0006】
また、インクジェット式の印字装置のノズルがインクで目詰まりして正常に印字ができない状態(印字不良)が発生していても、利用者が目視にて印字結果をチェックするまでその状態に気がつかない場合がある。
【0007】
一方、インク供給部材としてインクカセットリボンを用いる画像読取装置では、印字装置により原稿に印字された文字の濃度をセンサで検出し、その検出濃度を基に印字不良を検出する技術が提案されている(特許文献1)。
【0008】
また、印字不良を検出する際に、印字装置による印字文字数とセンサによって検出した文字の濃度情報とから印字不良の要因を特定し、利用者に通知する技術が提案されている(特許文献2)。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2002−370434号公報
【特許文献2】特許第3742393号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
上記従来の技術では、印字不良の検出により、インクカートリッジやインクカセットリボン等のインク供給部材の交換時期を把握することができる。
【0011】
しかし、印字不良が検出されても、インク供給部材のインクを全て使い切っていない場合がある。特に、印字面が大きく、一度に複数行の文字列を印字可能な印字装置では、印字面の一部で印字不良が発生しても、印字不良が発生した以外の部分は、継続して印字が可能な場合がある。
【0012】
そこで、本発明は、たとえ印字面の一部に印字不良が発生したとしても、印字品質を確保しつつインク供給部材のインクを効率よく使用してインク供給部材の交換作業の回数を低減することができる画像読取装置等を提供することを目的とする。
【課題を解決するための手段】
【0013】
上記目的を達成するために、本発明の画像読取装置は、複数のドット出力部を駆動して搬送中の原稿に印字する印字手段と、該印字手段により印字された原稿の画像を読み取る読取手段と、該読取手段により読み取られた画像データに基づいて前記印字手段の印字不良を検出する検出手段と、該検出手段により印字不良が検出された場合に、前記ドット出力部の駆動状態を変更することで印字の継続を可能とする制御手段と、を備えることを特徴とする。
【0014】
本発明の画像読取装置の制御方法は、複数のドット出力部を駆動して原稿に印字する印字手段と、該印字手段により印字された原稿の画像を読み取る読取手段と、を備える画像読取装置の制御方法であって、前記読取手段により読み取られた画像データに基づいて前記印字手段の印字不良を検出する検出ステップと、該検出ステップで印字不良が検出された場合に、前記ドット出力部の駆動状態を変更することで印字の継続を可能とする制御ステップと、を備えることを特徴とする。
【0015】
本発明のプログラムは、複数のドット出力部を駆動して原稿に印字する印字手段と、該印字手段により印字された原稿の画像を読み取る読取手段と、を備える画像読取装置を制御するプログラムであって、前記読取手段により読み取られた画像データに基づいて前記印字手段の印字不良を検出する検出ステップと、該検出ステップで印字不良が検出された場合に、前記ドット出力部の駆動状態を変更することで印字の継続を可能とする制御ステップと、をコンピュータに実行させる、ことを特徴とする。
【0016】
本発明のコンピュータで読み取り可能な記憶媒体は、前記プログラムを格納した、ことを特徴とする。
【発明の効果】
【0017】
本発明によれば、たとえ複数のドット出力部のうちの一部のドット出力部に印字不良が発生したとしても、印字品質を確保しつつインク供給部材のインクを効率よく使用してインク供給部材の交換作業の回数を低減することができる。
【図面の簡単な説明】
【0018】
【図1】本発明の第1の実施形態である画像読取装置を説明するための概略断面図である。
【図2】画像読取装置の制御系について説明するためのブロック図である。
【図3】印字装置の一例を示す概略図である。
【図4】画像読取装置の動作例について説明するためのフローチャート図である。
【図5】記憶部に記憶された画像データの一例を示す図である。
【図6】エラーメッセージの表示例を示す図である。
【図7】(a)は印字装置がドット出力部に供給する電力パターンの一例を示すグラフ図、(b)は(a)の電力パターンでの印字装置による印字結果を示す図である。
【図8】記憶部に記憶された駆動パルス数テーブルの一例を示す図である。
【図9】駆動パルス数テーブルの値を参照して文字「8」を印字する場合に、ドット出力部に入力するパルス波形の一例を示すグラフ図である。
【図10】図4のステップS2008における印字不良の検出処理について説明するためのフローチャート図である。
【図11】印字範囲にインク滴下エリア座標系を当てはめて複数のインク滴下エリアに区分けする処理を説明するための説明図である。
【図12】検知ドットマトリクスを説明するための説明図である。
【図13】インク滴下エリアの拡大図である。
【図14】インク滴下判定の処理を説明するためのフローチャート図である。
【図15】検知ドット数テーブルを作成する処理を説明するためのフローチャート図である。
【図16】印字文字に対応したフォントテーブルの一例を示す図である。
【図17】出力ドットマトリクスの一例を示す図である。
【図18】印字不良の判定処理を説明するためのフローチャート図である。
【図19】図4のステップS2009におけるドット出力部の駆動パルス数(駆動回数)の更新処理について説明するためのフローチャート図である。
【図20】図4のステップS2010における、ドット出力部の駆動パルス数が上限値に達しているか否かの判断処理について説明するためのフローチャート図である。
【図21】本発明の第2の実施形態の画像読取装置における印字装置の構成例を説明するための説明図である。
【図22】画像読取装置の動作例について説明するためのフローチャート図である。
【図23】出力部を介して接続されたホストPCのディスプレイに表示される印字設定画面の一例を示す図である。
【図24】印字不良の検出履歴の一例を示す図である。
【図25】図23に示す印字設定画面にグレーアウト表示がなされた状態を示す図である。
【図26】印字不良の検出処理を説明するためのフローチャート図である。
【図27】出力ドットマトリクスの一例を示す図である。
【図28】印字不良の判定処理を説明するためのフローチャート図である。
【図29】エラーメッセージの表示例を示す図である。
【発明を実施するための形態】
【0019】
以下、本発明の実施形態を図面を参照して説明する。
【0020】
(第1の実施形態)
図1は、本発明の第1の実施形態である画像読取装置を説明するための概略断面図である。
【0021】
図1に示すように、本実施形態の画像読取装置1は、給紙トレイ70に載置された原稿Dを給紙するピックアップローラ2、給紙された原稿Dを搬送路に給送する給送ローラ3、及び搬送路に給送される原稿Dを1枚ずつ分離する分離ローラ4を備える。
【0022】
給紙トレイ70には、該給紙トレイ70に原稿Dが載置されているか否かを検知する原稿検知センサ71が設けられている。
【0023】
搬送路に給送された原稿Dは、搬送ローラ対5により下流側に搬送され、読取ユニット8で画像が読み取られた後、排紙ローラ対7により排紙トレイ72に排紙される。
【0024】
読取ユニット8は、原稿Dに光を照射する光源201と、原稿Dからの反射光を受光して画像信号を出力するラインイメージセンサ200とを備える。
【0025】
読取ユニット8に対して搬送路を挟んで対向する位置には、例えば白色の対向部材9が配置され、読取ユニット8と搬送ローラ対5との間には、搬送路を搬送される原稿Dを検知するレジストセンサ10が配置されている。
【0026】
また、読取ユニット8の上流側の搬送ローラ対5と給送ローラ3との間には、原稿Dの所定位置に認証のためのナンバリング文字を印字する印字装置11が配置されている。
【0027】
ナンバリング文字の印字データ(ナンバリングデータ)は、画像読取装置1に接続された不図示のホストPCから取得する。画像読取装置1は、このナンバリングデータ(例えば英数字等の文字コード)に基づき印字パターンを生成して、印字装置11により原稿Dに印字する。
【0028】
印字装置11は、例えばインクジェット式の場合、インクカートリッジ12に蓄えられたインクを噴射することによりドットマトリクス構成の文字を原稿Dに印字する。図3に、印字装置11の一例を示す。図3に示すように、印字装置11は、例えば8個のドット出力部110〜117を有している。なお、印字装置11は、インクリボン式やその他の印字方式で文字を印字するものであっても良い。
【0029】
画像読取装置1は、上部フレーム81及び下部フレーム82から構成され、上部フレーム81が回動軸81aを介して開閉可能に支持されている。搬送路で原稿Dの紙詰まり等が発生した際には、上部フレーム81を開けて搬送路に詰まった原稿を取り除くことができる。
【0030】
ここで、読取ユニット8の光源201から原稿Dに光を照射してその反射光をラインイメージセンサ200で受光することで原稿Dの画像を読み取るが、光源201及びラインイメージセンサ200には、それぞれ光量むらや感度むらがある。
【0031】
このため、ラインイメージセンサ200で対向部材9を読み取り、光量むらと感度むらをラインイメージセンサ200の光電変換素子ごとに補正するシェーディング補正を行う。このシェーディング補正では、光源201の発光量を適正化する光量調整と、ラインイメージセンサ200の画像信号出力に対する増幅率を最適化するゲイン調整とを行う。
【0032】
そして、原稿Dの画像を読み取る際には、まず、読取ユニット8のラインイメージセンサ200により対向部材9を読み取り、シェーディング補正用データを生成して画素ごとに記憶する。
【0033】
その後、ピックアップローラ2により給紙トレイ70に載置された原稿Dが給紙され、給紙された原稿Dは、給送ローラ3及び分離ローラ4によって1枚ずつに分離されて搬送路に給送される。搬送路に給送された原稿Dは、搬送ローラ対5によって下流側に搬送され、読取ユニット8のラインイメージセンサ200で画像が読み取られる。
【0034】
ここで、前述したシェーディング補正用データを参照して、ラインイメージセンサ200の画像信号から生成した画像データを画素ごとにシェーディング補正する。画像が読み取られた原稿Dは、排紙ローラ対7により下流側に搬送されて排紙トレイ72に排紙される。
【0035】
次に、図2を参照して、画像読取装置1の制御系について説明する。
【0036】
図2において、読取ユニット8は、搬送中の原稿Dに光源201から光を照射して原稿Dから反射した光をラインイメージセンサ200で光電変換し、不図示のA/D変換部でデジタル化処理を施して所定の色深度の画像データを出力する。
【0037】
画像処理部102は、読取ユニット8から出力された画像データに対してシェーディング処理、色深度変換処理等を行う。
【0038】
制御部106は、不図示のCPU、ROM、及びRAM等を備え、ROMには画像読取装置1を制御する各種の処理プログラム、及び各種の処理プログラムを実行するのに必要な各種データが格納される。
【0039】
出力部104は、PC等の外部装置との通信を行うための通信I/F等を備える。記憶部105は、ハードディスク、RAM、メモリカード等で構成され、制御部106の制御により画像データの書き込みおよび読み出しを行う。
【0040】
操作部101は、画像読取装置1に対する指示を入力するためのユーザインタフェイスである。
【0041】
印字装置11は、図3に示すドット出力部110〜117にパルス状の電力を供給して原稿Dへ印字を行う。
【0042】
次に、図4を参照して、本実施形態の画像読取装置1の動作例について説明する。図4の処理は、画像読取装置1のROMやハードディスク等に記憶されたプログラムがRAMにロードされて、制御部106のCPUにより実行されることで遂行される。
【0043】
図4において、ステップS2001では、CPUは、不図示のホストPC等によりスキャン開始を指示されたか否かを判断し、スキャン開始が指示された場合は、ステップS2002に進む。
【0044】
ステップS2002では、CPUは、原稿検知センサ71からの信号を基に、給紙トレイ70に原稿Dが存在するか否かを判断し、原稿Dが存在する場合は、ステップS2003に進み、原稿Dが存在しない場合は、処理を終了する。
【0045】
ステップS2003で、CPUは、ピックアップローラ2によって給紙トレイ70に載置された原稿Dを給紙し、ステップS2004に進む。
【0046】
ステップS2004では、CPUは、不図示のホストPC等でのユーザ操作により印字装置11で原稿Dに印字を行う設定がなされているか否かを判断する。
【0047】
そして、CPUは、印字設定がなされている場合は、ステップS2005に進み、印字設定がなされていない場合は、ステップS2006に進む。
【0048】
ステップS2005では、CPUは、印字装置11により原稿Dに印字を行い、ステップS2006に進む。なお、ここでの印字処理の詳細については後述する。
【0049】
ステップ2006で、CPUは、読取ユニット8により原稿Dの画像を読み取り、読み取った画像データを記憶部105に記憶して、ステップS2007に進む。図5に、記憶部105に記憶された画像データ300の一例を示す。
【0050】
ステップ2007では、CPUは、ステップS2004と同様に、印字装置11で原稿Dに印字を行う設定がなされているか否かを判断し、印字設定がなされている場合は、ステップS2008に進み、印字設定がなされていない場合は、ステップS2011に進む。なお、ステップS2007では、設定を調べて判断するのではなく、ステップS2005での印字が実行されたか否かによって判断するようにしてもよい。
【0051】
ステップS2008では、CPUは、印字不良の検出処理を実行し、ステップS2009に進む。なお、ここでの印字不良の検出処理については後述する。
【0052】
ステップS2009では、CPUは、印字装置11のドット出力部110〜117の駆動パルス数(駆動回数)を更新し、ステップS2010に進む。なお、ここでのドット出力部110〜117の駆動パルス数の更新処理については後述する。
【0053】
ステップS2010で、CPUは、ドット出力部110〜117の駆動パルス数が閾値である上限値に達しているか否かを判断し、上限値に達している場合は、ステップS2012に進み、上限値に達していない場合は、ステップS2011に進む。なお、ドット出力部110〜117の駆動パルス数が上限値に達しているか否かの判断処理については後述する。
【0054】
ステップS2011では、CPUは、ステップS2006で読み取った原稿Dの画像データを出力部104を介してホストPC等に転送し、ステップS2002に戻る。
【0055】
ステップS2012では、CPUは、出力部104を介して不図示のホストPC等の表示部に例えば図6に示すエラーメッセージを表示して、ユーザに印字不良が発生したことを通知し、読取ユニット8による原稿Dの画像の読取処理を停止して、処理を終了する。
【0056】
次に、図7〜図9を参照して、図4のステップS2005における印字処理について説明する。なお、ここでは、印字装置11は、5×8ドットで構成される文字を出力可能とするが、印字装置11が出力可能なドットの数は特に限定されない。
【0057】
図7(a)は印字装置11がドット出力部110〜117に供給する電力パターンの一例を示すグラフ図、図7(b)は図7(a)の電力パターンでの印字装置11による印字結果を示す図である。
【0058】
例えば印字装置11により文字「8」を印字する場合、図7(a)の「a」に示すように、文字の縦一行を構成する8個のドットを駆動する為のパルスをそれぞれの位置に対応するドット出力部111,112,114〜116に供給する。これにより、文字を構成するドットのうち、図7(b)の「a′」の部分が出力される。
【0059】
本実施形態では、印字装置11に沿って原稿Dが順次搬送されていく構成の為、印字装置11は、縦方向(主走査方向)の8ドット分のパルス波形を出力した後、原稿Dが所定のドット間隔分移動するまで待機し、その後、次の縦方向の8ドット分のパルス波形を出力する。この動作を順次繰り返し行うことで、文字を構成する全ドットを出力する。
【0060】
通常、ドット出力部で1ドットの出力を行う際には、1つのパルス波形を入力すればよいが、本実施形態では、印字装置11は、記憶部105に記憶された駆動パルス数テーブルTp(図8)を参照し、1ドットを出力する為のパルス数を決定する。
【0061】
駆動パルス数テーブルTpの要素0は、ドット出力部110で1ドット出力する際に、印字装置11がドット出力部110に入力するパルス数を表している。同様に、駆動パルス数テーブルTpの要素1〜要素7は、それぞれドット出力部111〜ドット出力部117に入力するパルス数を表している。
【0062】
図9は、図8の例の駆動パルス数テーブルTpの値を参照して文字「8」を印字する場合に、ドット出力部110〜117に入力するパルス波形の一例を示すグラフ図である。
【0063】
図8の例の駆動パルス数テーブルTpでは、ドット出力部112に対応する要素の値が2になっている為、図9の「a」の波形は、図7と異なり、1ドットの出力に対して2個の出力パルスが供給される。
【0064】
このとき、ドット出力部112が正常な状態であれば、原稿Dには2個のドットが重なり合って出力されるため、他の部分よりも濃い印字となる。
【0065】
しかし、ドット出力部112の一部に詰まり等の不具合が発生して、正常にドットが出力できず、印字濃度が低下している状態であった場合には、ドットを重ねて印字する事によって濃度を補う事ができる。
【0066】
また、ドットを重ねて印字することによって、ドット出力部112のインク流量が増す為、不具合の原因となっている一部の詰まりが解消されることが期待できる。
【0067】
駆動パルス数テーブルTpは、インクカートリッジを交換した際、あるいは利用者の操作によりドット出力部112の清掃動作を実行した際に、全ての要素に値1を書き込み、初期化を行う。駆動パルス数テーブルTpは、図4のステップS2009で値が更新される。更新処理については後述する。
【0068】
次に、図10を参照して、図4のステップS2008における印字不良の検出処理について説明する。
【0069】
図10において、印字範囲抽出処理(A)では、読取ユニット8で読み取った印字装置11による印字部分を含む原稿の画像データ300(図5)から印字範囲301を抽出する。印字範囲301は、制御部106が印字装置11を制御する際に設定し、記憶部105に保持している座標値を参照して決定する。
【0070】
マトリクスマッピング処理(B)では、印字範囲抽出処理(A)で抽出した印字範囲301に対して記憶部105に保持されているインク滴下エリア座標系501を当てはめ、図11に示すように、複数のインク滴下エリア502に区分けする。図11は、印字装置11が図3に示すように8個のドット出力部110〜117を有する場合の一例を示す。
【0071】
検知ドット数テーブル生成処理(C)では、マトリクスマッピング処理(B)で生成した複数のインク滴下エリア502の画素を走査し、各インク滴下エリア502にインクが滴下されているか否かを判定する。
【0072】
例えば、印字装置11が出力するインクが黒であった場合、各インク滴下エリア502に、ある輝度値以下の画素が規定数以上あったとき、そのインク滴下エリア502にはインクが滴下されていると判定する。そして、その判定結果を記憶部105に別途作成した検知ドットマトリクス700(図12)に書き込む。
【0073】
ここで、インク滴下エリア座標系501の最も左上の要素、及び検知ドットマトリクス700の最も左上の要素を原点としてx座標、y座標を定義する。また、各インク滴下エリア502をI[y][x]と表し、検知ドットマトリクス700の各要素をD[y][x]と表す。
【0074】
同様に、各インク滴下エリア502に、最も左上の画素を原点としてi座標、j座標を定義する。図13は、インク滴下エリア502が縦5画素、横5画素で構成されるときの一例である。ここで、インク滴下エリア502の各画素をA[j][i]とし、インク検知のための規定数をThc、輝度値をThb、画素カウント用の変数をcntとすると、インク滴下判定の処理は、図14に示すようになる。
【0075】
図14の処理は、画像読取装置1のROMやハードディスク等に記憶されたプログラムがRAMにロードされて、制御部106のCPUにより実行されることで遂行される。
【0076】
図14において、ステップS801では、CPUは、インク滴下エリア502の画素の座標を表す変数j及びインクを検知した画素数を表す変数cntを0に初期化してステップS802に進む。
【0077】
ステップS802では、CPUは、インク滴下エリア502の画素の座標を表す変数iを0に初期化し、ステップS803に進む。
【0078】
ステップS803では、CPUは、座標(i,j)で表される、インク滴下エリア502の画素A[j][i]が輝度値Thbを超えているか否かを判断する。
【0079】
そして、CPUは、画素A[j][i]が輝度値Thbを超えている場合は、画素A[j][i]にはインクが滴下されていないと判定し、ステップS806に進む。一方、CPUは、画素A[j][i]が輝度値Thb以下の場合は、画素A[j][i]にはインクが滴下されていると判定し、ステップS804に進む。
【0080】
ステップS804では、CPUは、変数cntの値を1増加させ、ステップS805に進む。
【0081】
ステップS805では、CPUは、変数cntの値がインク検知定数Thcを超えているか否かを判断し、超えている場合は、ステップS811に進み、そうでない場合は、ステップS806に進む。
【0082】
ステップS811では、CPUは、検知ドットマトリクス700の要素D[y][x]に、インクが滴下されていたことを表す数値1を書き込む。
【0083】
一方、ステップS806では、CPUは、変数iの値を1増加させ、ステップS807に進む。
【0084】
ステップS807では、CPUは、変数iの値がインク滴下エリア502のx軸方向の構成画素数ax未満であるか否かを判断し、変数iの値が構成画素数ax未満である場合は、ステップS803に戻り、そうでない場合は、ステップS808に進む。
【0085】
ステップS808では、CPUは、変数jの値を1増加させ、ステップS809に進む。
【0086】
ステップS809では、CPUは、変数jの値がインク滴下エリア502のy軸方向の構成画素数ay未満であるか否かを判断し、変数jの値が構成画素数ay未満である場合は、ステップS802に戻り、そうでない場合は、ステップS810に進む。
【0087】
ステップS810では、CPUは、座標(x,y)で表される検知ドットマトリクス700の要素D[y][x]に、インクが滴下されていなかったことを表す数値0を書き込む。
【0088】
そして、CPUは、上記処理を印字範囲301に対して適用した全てのインク滴下エリア502に対して行い、検知ドットマトリクス700に結果を書き込む。
【0089】
次に、CPUは、検知ドットマトリクス700を搬送方向に走査し、y座標毎にインクの滴下を検知したエリアの和を求め、記憶部105上に作成した検知ドット数テーブル701に結果を書き込む。
【0090】
検知ドット数テーブル701の各要素をTd[y]と表すとき、印字装置11により1文字がcxドット×cyドットで表される文字がs文字印字された場合、検知ドット数テーブル701を作成する処理は図15に示すようになる。
【0091】
図15の処理は、画像読取装置1のROMやハードディスク等に記憶されたプログラムがRAMにロードされて、制御部106のCPUにより実行されることで遂行される。
【0092】
ステップS900では、CPUは、検知ドットマトリクス700内の要素の座標、及び検知ドット数テーブル701の要素番号を表す変数yに数値0を書き込んで初期化を行い、ステップS901に進む。
【0093】
ステップS901では、CPUは、検知ドットマトリクス700内の要素の座標を表す変数x、及び検知ドット数テーブル701の要素Td[y]に0を書き込んで初期化を行い、ステップS902に進む。
【0094】
ステップS902では、CPUは、検知ドット数テーブル701の要素Td[y]の値を検知ドットマトリクス700の要素D[y][x]の値だけ増加させ、ステップS903に進む。
【0095】
ステップS903では、CPUは、変数xの値を1増加させ、ステップS904に進む。
【0096】
ステップS904では、CPUは、印字装置11により印字された1文字を構成するx方向のドット数cxと印字範囲301内に印字装置11により印字された文字数sとの積(cx×s)を求め、変数xの値と比較する。
【0097】
そして、CPUは、変数xが(cx×s)未満である場合は、ステップS902に戻り、変数xが(cx×s)以上の場合は、ステップS905に進む。
【0098】
ステップS905では、CPUは、変数yの値を1増加させ、ステップS906に進む。
【0099】
ステップS906では、CPUは、変数yの値が印字装置11により印字された1文字を構成するy方向のドット数cy未満か否かを判断する。
【0100】
そして、CPUは、変数yの値がドット数cy未満の場合は、ステップS901に戻り、そうでない場合は、検知ドット数テーブル701を作成する処理を終了する。
【0101】
次に、図16及び図17を参照して、図10に示す出力ドットマトリクス生成処理(D)について説明する。
【0102】
制御部106により印字装置11に対して文字を印字する制御を行うとき、印字すべき文字列を記憶部105に記憶し、保持しておく。出力ドットマトリクス生成処理(D)では、CPUは、記憶部105に保持されている文字列を取得し、その印字文字列を印字順に走査して、印字文字に対応したフォントテーブル1000(図16)を参照する。
【0103】
フォントテーブル1000には、印字装置11が正常にインクを出力した際に生成されるドットの配置が格納されている。CPUは、印字装置11が印字した全ての文字に対してフォントテーブル1000を参照し、図17に示すように、記憶部105に出力ドットマトリクス1100を作成する。
【0104】
図10に示す出力ドット数テーブル生成処理(E)では、出力マトリクス生成処理(D)で作成した出力ドットマトリクス1100から検知ドット数テーブル生成処理(C)と同様に、y座標毎にインクの滴下を検知したエリアの和を求める。そして、その結果を記憶部105に作成した出力ドット数テーブル1101(図17)の各要素To[y]に格納する。
【0105】
図10に示す印字不良判定処理(F)では、図12に示す検知ドット数テーブル701、及び図17に示す出力ドット数テーブル1101について、それぞれのテーブルで番地の等しい要素ごとに数値を比較し、その差が規定値以上の場合、印字不良と判定する。
【0106】
検知ドット数テーブル701、及び出力ドット数テーブル1101の要素数をcy、印字不良判定の為の規定値をThdとすると、印字不良の判定処理は図18に示すようになる。
【0107】
図18の処理は、画像読取装置1のROMやハードディスク等に記憶されたプログラムがRAMにロードされて、制御部106のCPUにより実行されることで遂行される。
【0108】
ステップS1200では、CPUは、検知ドット数テーブル701、及び出力ドット数テーブル1101内のy方向の座標をあらわす変数yに数値0を書き込んで初期化し、ステップS1201に進む。
【0109】
ステップS1201では、CPUは、検知ドット数テーブル701の要素Td[y]の値と出力ドット数テーブル1101の要素To[y]の値との差分(To[y]−Td[y])を計算し規定値Thdと比較する。
【0110】
そして、CPUは、差分(To[y]−Td[y])が規定値Thdを超える場合は、ステップS1205に進み、差分(To[y]−Td[y])が規定値Thd以下の場合は、ステップS1202に進む。
【0111】
ステップS1205では、CPUは、記憶部105に記憶された図17に示す印字不良検出テーブル1102の要素Ti[y]に、印字不良を検出したことを示す値である1を書き込み、処理を終了する。
【0112】
ステップS1202では、CPUは、記憶部105に記憶された図17に示す印字不良検出テーブル1102の要素Ti[y]に、印字不良を検出しなかったことを示す値である0を書き込み、ステップS1203に進む。
【0113】
ステップS1203では、CPUは、変数yの値を1増加させ、ステップS1204に進む。
【0114】
ステップS1204では、CPUは、変数yの値が印字装置11により印字された1文字を構成するy方向のドット数cy未満が否かを判断する。
【0115】
そして、CPUは、変数yの値がドット数cy未満の場合は、ステップS1200に戻り、変数yの値がドット数cy以上の場合は、処理を終了する。
【0116】
上述した印字不良の判定処理により、印字不良を検出すると共に、印字不良検出テーブル1102を作成して、印字不良が発生したドット出力部を特定することができる。
【0117】
次に、図19を参照して、図4のステップS2009におけるドット出力部の駆動パルス数(駆動回数)の更新処理について説明する。ここでは、図18の印字不良判定処理で作成した印字不良検出テーブル1102を基に、図8に示す駆動パルス数テーブルTpを更新する処理を説明する。
【0118】
ステップS1501で、CPUは、演算に使用するための変数yを0に初期化し、ステップS1502に進む。
【0119】
ステップS1502では、CPUは、記憶部105に記憶された印字不良検出テーブル1102の要素Ti[y]の値が1か0かを判断する。
【0120】
そして、CPUは、要素Ti[y]の値が印字不良が発生したことを表す1である場合は、ステップS1503に進み、要素Ti[y]の値が印字不良が発生していないことを表す0である場合は、ステップS1504に進み。
【0121】
ステップS1503では、CPUは、駆動パルス数テーブルTpの要素Tp[y]の値を1増加させ、ステップS1504に進む。
【0122】
例えば、インクカートリッジ12を交換、あるいはドット出力部を清掃した後、初めて駆動パルス数テーブルTpの要素Tp[y]の値を1増加させた際には、要素Tp[y]は1に初期化されているため、要素Tp[y]の値を1増加させると、2になる。
【0123】
ステップS1504では、CPUは、変数yの値を1増加させ、ステップS1505に進む。
【0124】
ステップS1505では、CPUは、変数yの値が印字装置11のドット出力部110〜117の数の8未満か否かを判断し、変数yの値が8未満の場合は、ステップS1502に戻り、変数yの値が8未満でない場合は、図4のステップS2010に進む。
【0125】
以上の処理により、図18の印字不良判定処理で作成した印字不良検出テーブル1102を基に、印字装置11の全てのドット出力部110〜117に対応する駆動パルス数を更新することができる。
【0126】
引き続き印字を行う場合、印字装置11は、図4のステップS2005において、更新された駆動パルス数テーブルTpを参照してドット出力部110〜117の駆動パルス数を決定する。
【0127】
次に、図20を参照して、図4のステップS2010における、ドット出力部110〜117の駆動パルス数が上限値に達しているか否かの判断処理について説明する。
【0128】
ステップS1601では、CPUは、演算に使用するための変数yを0に初期化し、ステップS1602に進む。
【0129】
ステップS1602では、CPUは、駆動パルス数テーブルTpの要素Tp[y]の値が駆動パルス数の上限値Tpmaxを超えているか否かを判断し、超えている場合は、図4のステップS2012に進み、超えていない場合は、ステップS1603に進む。
【0130】
ここで、駆動パルス数の上限値Tpmaxは、固定の値として記憶部105等に保持されている。
【0131】
例えば、本実施形態では、図9のグラフ図を参照すると、駆動パルス数が4以上になると、文字を構成する隣のドットと重なり合ってしまうことが容易に想定される為、駆動パルス数の上限値Tpmaxは3程度が好適である。
【0132】
ステップS1603では、CPUは、変数yの値を1増加させ、ステップS1604に進む。
【0133】
ステップS1604では、CPUは、変数yの値が印字装置11のドット出力部110〜117の数の8未満か否かを判断し、変数yの値が8未満の場合は、ステップS1602に戻り、変数yの値が8未満でない場合は、図4のステップS2011に進む。
【0134】
以上説明したように、本実施形態では、印字濃度が低下して印字不良が検出された場合に、ドット出力部の駆動状態を変更、すなわち、印字不良が検出された部位に対応するドット出力部の駆動回数を増加させ、自動的に印字濃度が低下した部分を補う。これにより、印字品質を確保しつつインクカートリッジ12のインクを効率よく使用して、該インクカートリッジ12の交換作業の回数を軽減することができる。
【0135】
(第2の実施形態)
次に、図21〜図29を参照して、本発明の第2の実施形態である画像読取装置について説明する。なお、上記第1の実施形態に対して重複又は相当する部分については図及び符号を流用して説明する。
【0136】
図21は、本発明の第2の実施形態の画像読取装置における印字装置の構成例を説明するための説明図である。
【0137】
図21に示すように、複数(図では24個)のドット出力部1800を備え、これらのドット出力部1800により搬送路を搬送される原稿Dに向けてインク滴を塗付し、文字を印字する。
【0138】
ここで、本実施形態では、印字装置11は、複数のドット出力部1800が複数の区分に分割され、それぞれの区分において、複数の異なる文字列を一括して印字可能に構成されている。
【0139】
図21の例では、24個のドット出力部1800が3つの区分1801〜1803に分割され、それぞれ縦方向の8ドットからなる文字列を3行分一括して印字可能に構成されている。なお、その他の画像読取装置の基本的な装置構成については、上記第1の実施形態と同様であるので、その説明を省略する。
【0140】
次に、図22を参照して、本実施形態の画像読取装置の動作例について説明する。
【0141】
図22の処理は、画像読取装置のROMやハードディスク等に記憶されたプログラムがRAMにロードされて、制御部106のCPUにより実行されることで遂行される。
【0142】
まず、図22の処理を開始する前に、出力部104を介して接続されたホストPCのディスプレイに図23に示す印字設定画面を表示して、ユーザ操作により印字装置11の動作を設定した場合の動作について説明する。
【0143】
図23は、上述したように、印字装置11のドット出力部1800を3つの区分1801〜1803に分割し、縦方向の8ドットの文字列を一括して3行分印字設定可能な印字設定画面の一例を示す図である。
【0144】
以降の説明では、区分1801を使用して印字される文字列を第1行目、区分1802の部分を使用して印字される文字列を第2行目、区分1803の部分を用いて印字される文字列を第3行目とする。
【0145】
図23に示す印字設定画面において、チェックボックスa1は、印字装置11により第1行目を印字するか否かを選択するためのボックスである。図の例では、チェックボックスa1は、印字装置11により第1行目の印字を行う選択がなされている。
【0146】
テキストボックスb1は、第1行目に印字する文字列を入力するためのボックスである。図の例では、テキストボックスb1に文字列「2008/09/30」が入力されている。
【0147】
同様に、チェックボックスa2及びチェックボックスa3は、それぞれ印字装置11により第2行目及び第3行目を印字するか否かを選択するためのボックスである。テキストボックスb2及びテキストボックスb3は、それぞれ第2行目及び第3行目に印字する文字列を入力するためのボックスである。図の例では、上段と中段の2行のみを印字する場合の印字設定画面を示している。
【0148】
また、出力部104を介して接続されたホストPCは、画像読取装置での印字不良の検出履歴を参照して、図23に示す印字設定画面の表示を切り替える。印字不良の検出履歴は、例えば図24に示すように、データテーブルで表され、画像読取装置の記憶部105に保持されるものとする。
【0149】
インクカートリッジ12を装着、あるいは交換したことを検知するか或いは通知された場合、全ての行の印字不良状態が0にされ、印字不良の検出履歴がリセットされる。そして、印字不良状態が1になっている行は、インクカートリッジ交換後に印字不良が検出された行となる。
【0150】
図24に示すように、例えば第1行目に印字不良を検出した履歴が残っているとき、ホストPCのディスプレイに表示される印字設定画面のチェックボックスa1及びテキストボックスb1は、図25に示すように、グレーアウト表示になる。
【0151】
図25のグレーアウト表示の部分は、ユーザが選択あるいは文字入力のできない状態となっていることを示す。
【0152】
以降、本実施形態では、図23の印字設定画面において上段と中段に印字するように設定した状態で印字装置11を動作させる場合を例に図22のフローチャート図に沿って説明する。
【0153】
ステップS3001では、CPUは、ホストPCによりスキャン開始を指示されたか否かを判断し、スキャン開始が指示された場合は、ステップS3002に進む。
【0154】
ステップS3002では、CPUは、原稿検知センサ71からの信号を基に、給紙トレイ70に原稿Dが存在するか否かを判断し、原稿Dが存在する場合は、ステップS3003に進み、原稿Dが存在しない場合は、処理を終了する。
【0155】
ステップS3003で、CPUは、ピックアップローラ2によって給紙トレイ70に載置された原稿Dを給紙し、ステップS3004に進む。
【0156】
ステップS3004では、CPUは、ホストPCでのユーザ操作により印字装置11で原稿Dに印字を行う設定がなされているか否かを判断する。
【0157】
具体的には、CPUは、図23に示す印字設定画面のチェックボックスa1,a2,a3にユーザ操作により入力されて記憶された選択情報を参照する。そして、CPUは、チェックボックスa1,a2,a3のうち少なくとも一つが印字を行う設定と記憶されていた場合は、ステップS3005に進み、全てが非選択のため印字を行わない設定である場合は、ステップS3006に進む。
【0158】
ステップS3005では、CPUは、印字装置11により原稿Dに印字を行い、ステップS3006に進む。ここでは、印字装置11によって、第1行目に「2008.09.30」の文字列が印字され、第2行目に「ABC Electronics Inc.」の文字列が印字される。
【0159】
ステップ3006で、CPUは、読取ユニット8により原稿Dの画像を読み取り、読み取った画像データ(図5参照)を記憶部105に記憶して、ステップS3007に進む。
【0160】
ステップ3007では、CPUは、ステップS3004と同様に、ホストPCでのユーザ操作により印字装置11で原稿Dに印字を行う設定がなされているか否かを記憶された情報を基に判断する。そして、CPUは、原稿Dに印字を行う設定であった場合は、ステップS3008に進み、原稿Dに印字を行う設定でなかった場合は、ステップS3010に進む。
【0161】
ステップS3008では、CPUは、印字を行った行(本実施形態では、上段と中段の2行)の印字結果に対して図26に示す印字不良の検出処理を実行し、ステップS3009に進む。
【0162】
ここで、図26に示す印字範囲抽出処理(A)、マトリクスマッピング処理(B)、検知ドット数テーブル生成処理(C)、出力ドットマトリクス生成処理(D)及び出力ドット数テーブル生成処理(E)は、上記第1の実施形態(図10)と同様である。従って、これらの処理の説明を省略し、ステップS3009での処理である印字不良判定処理(F)についてのみ説明する。
【0163】
図26に示す印字不良判定処理(F)では、図12に示す検知ドット数テーブル701、及び図27に示す出力ドット数テーブル1101について、それぞれのテーブルで番地の等しい要素ごとに数値を比較し、その差が規定値以上の場合、印字不良と判定する。
【0164】
検知ドット数テーブル701、及び出力ドット数テーブル1101の要素数をcy、印字不良判定の為の規定値をThdとすると、印字不良の判定処理は図28に示すようになる。
【0165】
図28の処理は、画像読取装置のROMやハードディスク等に記憶されたプログラムがRAMにロードされて、制御部106のCPUにより実行されることで遂行される。
【0166】
ステップS4200では、CPUは、検知ドット数テーブル701、及び出力ドット数テーブル1101内のy方向の座標をあらわす変数yに数値0を書き込んで初期化し、ステップS4201に進む。
【0167】
ステップS4201では、CPUは、検知ドット数テーブル701の要素Td[y]の値と出力ドット数テーブル1101の要素To[y]の値との差分(To[y]−Td[y])を計算し規定値Thdと比較する。
【0168】
そして、CPUは、差分(To[y]−Td[y])が規定値Thdを超える場合は、印字不良有りと判定し、印字不良を検出したことを示す動作フラグをセットして処理を終了する。また、CPUは、差分(To[y]−Td[y])が規定値Thd以下の場合は、ステップS4202に進む。
【0169】
ステップS4202では、CPUは、変数yの値を1増加させ、ステップS4203に進む。
【0170】
ステップS4203では、CPUは、変数yの値が印字装置11により印字された1文字を構成するy方向のドット数cy未満が否かを判断する。
【0171】
そして、CPUは、変数yの値がドット数cy未満の場合は、ステップS4200に戻り、変数yの値がドット数cy以上の場合は、印字不良無しと判定し、印字不良が無かったことを表す動作フラグをセットして処理を終了する。
【0172】
上述した印字不良の検出処理を行うことにより、印字装置11の印字不良を検出することができる。なお、複数行に印字した場合は、おのおのの印字をした行について上記処理を行うことになる。
【0173】
ステップS3009では、CPUは、ステップS3008の印字不良の検出処理において、少なくとも1行の印字不良を検出した場合は、ステップS3011に進み、全ての行で印字不良が発生しなかった場合は、ステップS3010に進む。
【0174】
ステップS3010では、CPUは、ステップS3006で読み取った原稿Dの画像データを出力部104を介してホストPCに転送し、ステップS3002に戻る。
【0175】
ステップS3011で、CPUは、記憶部105に保持された印字不良の検出履歴(図27)において、印字不良を検出した行の印字不良状態に1を書き込み、ステップS3012に進む。
【0176】
ステップS3012では、CPUは、出力部104を介してホストPCのディスプレイに例えば図29に示すエラーメッセージを表示して、ユーザに印字不良が発生したことを通知し、読取ユニット8による原稿Dの画像の読取処理を停止して、処理を終了する。
【0177】
以上説明したように、本実施形態では、印字装置11の印字不良を検出してユーザに通知することで、印字不良に気づかずに画像の読み取り処理を継続してしまうことを防止することができる。また、印字不良を検出した行については、ホストPCのディスプレイに表示される印字設定画面の設定項目がグレーアウト表示になるため、ユーザはホストPCからの設定の際に印字不良の発生した部分を避けて印字設定を行うことができる。
【0178】
例えば、図21の「a」に示すドット出力部1800にインク詰まり等の不具合が発生して正常に印字が行えなくなったとする。この場合、画像読取装置は、印字装置11の印字不良を検出するとともに、図21の「a」に示すドット出力部1800が印字不能部分であると認識し、画像の読取処理を停止する。
【0179】
そして、図25に示すように、ホストPCのディスプレイに表示される印字設定画面の設定項目のうち、印字不能部分のドット出力部を使用して文字列を印字しなければならない第1行目(区分1801)の項目をグレーアウト表示する。これにより、ユーザ操作による印字設定画面の第1行目(区分1801)の項目での印字設定を拒否する。
【0180】
ここで、ユーザが印字設定画面において第2行目(区分1802)、第3行目(区分1803)のドット出力部1800を使用して印字を継続する選択操作をした場合、引き続き原稿の画像の読取処理、および文字列の印字処理を行うことができる。
【0181】
従って、印字装置11の印字品質を原稿1枚に印字するごとに一々確認する必要がなく、安心して原稿に印字することができると共に、印字不良が発生した後でも、印字不良が発生したドット出力部以外の正常に印字可能なドット出力部1800を利用して印字処理を継続することができる。これにより、印字品質を確保しつつインクカートリッジ12のインクを効率よく使用して、該インクカートリッジ12の交換作業の回数を軽減することができる。
【0182】
なお、本実施形態では、印字装置11が一括で印字可能な行数を3行としたが、2行或いは4行以上であってもよい。
【0183】
また、本実施形態では、印字装置11の出力を文字列としたが、複数のビットで構成される画像データを出力しても良い。
【0184】
更に、本実施形態では、印字設定をユーザ操作により選択させる場合を例示したが、固定の印字設定を持つ画像読取装置や、自動的に印字設定を行う画像読取装置等、印字設定手段を持たない画像読取装置に本発明を適用してもよい。
【0185】
更に、本実施形態では、印字不良が発生した行をユーザに通知した後、ホストPC側での印字設定画面にその結果を反映させ、印字不能部分の行に対応する設定項目を入力不能な状態としたが、これに限定されない。
【0186】
たとえば、ユーザが印字不能部分の行に対応する設定項目に対して何らかの設定操作をしたときに、正常に印字できない可能性がある旨をユーザに通知しても良い。
【0187】
また、印字不良が発生した際に、印字する行の変更をユーザに行わせたが、自動的に印字する行を印字不能な行から印字可能な行に変更してもよい。また、印字位置の変更は行単位に行ったが、ドット単位で行ってもよい。
【0188】
なお、本発明は、上記各実施形態に例示したものに限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。
【0189】
例えば、本発明の処理の一部又は全部を画像読取装置に出力部104を介して接続されたホストPC等の外部装置で行ってもよい。この場合、画像読取装置と外部装置とを含むシステムが本発明の画像読取装置に相当する。
【0190】
また、上記各実施形態及びその変形例の任意の構成要素を他の実施形態に追加してもよく、本発明に含まれる。
【0191】
また、本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。
【0192】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0193】
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROM等である。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【0194】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0195】
更に、前述した実施形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行う場合である。
【符号の説明】
【0196】
1 画像読取装置
2 ピックアップローラ
3 給送ローラ
4 分離ローラ
5 搬送ローラ対
7 排紙ローラ対
8 読取ユニット
9 対向部材
10 レジストセンサ
11 印字装置
12 インクカートリッジ
70 給紙トレイ
71 原稿検知センサ
72 排紙トレイ
81 上部フレーム
81a 回転軸
82 下部フレーム
101 操作部
102 画像処理部
104 出力部
105 記憶部
106 制御部
D 原稿
110〜117 ドット出力部
1800 ドット出力部
【特許請求の範囲】
【請求項1】
複数のドット出力部を駆動して搬送中の原稿に印字する印字手段と、
該印字手段により印字された原稿の画像を読み取る読取手段と、
該読取手段により読み取られた画像データに基づいて前記印字手段の印字不良を検出する検出手段と、
該検出手段により印字不良が検出された場合に、前記ドット出力部の駆動状態を変更することで印字の継続を可能とする制御手段と、を備える
ことを特徴とする画像読取装置。
【請求項2】
前記検出手段により印字不良が検出された場合に、前記制御手段は、前記複数のドット出力部のうち、前記印字不良が検出された位置に対応する前記ドット出力部の駆動回数を増加させる、
ことを特徴とする請求項1に記載の画像読取装置。
【請求項3】
前記制御手段は、前記駆動回数の増加によって前記ドット出力部の駆動回数が閾値に達するとき、前記読取手段による原稿の画像の読取処理を停止する、
ことを特徴とする請求項2に記載の画像読取装置。
【請求項4】
前記駆動回数の増加によって前記ドット出力部の駆動回数が閾値に達するとき、印字不良が発生したことを通知する通知手段を備える
ことを特徴とする請求項2又は3に記載の画像読取装置。
【請求項5】
前記検出手段により印字不良が検出された場合に、前記複数のドット出力部のうち、前記印字不良が検出された位置に対応するドット出力部以外のドット出力部を駆動して印字を継続する、
ことを特徴とする請求項1に記載の画像読取装置。
【請求項6】
前記検出手段により印字不良が検出された場合に、前記複数のドット出力部のうち、前記印字不良が検出された位置に対応するドット出力部以外のドット出力部を駆動して印字を継続するか否かをユーザ操作により選択させる選択手段を備える
ことを特徴とする請求項1に記載の画像読取装置。
【請求項7】
前記選択手段は、ユーザ操作による、前記印字不良が検出された位置に対応するドット出力部を駆動して印字を継続する選択を拒否する、
ことを特徴とする請求項6に記載の画像読取装置。
【請求項8】
前記印字手段は、インクジェット式又はインクリボン式の印字手段である、
ことを特徴とする請求項1〜7のいずれか一項に記載の画像読取装置。
【請求項9】
複数のドット出力部を駆動して搬送中の原稿に印字する印字手段と、該印字手段により印字された原稿の画像を読み取る読取手段と、を備える画像読取装置の制御方法であって、
前記読取手段により読み取られた画像データに基づいて前記印字手段の印字不良を検出する検出ステップと、
該検出ステップで印字不良が検出された場合に、前記ドット出力部の駆動状態を変更することで印字の継続を可能とする制御ステップと、を備える
ことを特徴とする画像読取装置の制御方法。
【請求項10】
複数のドット出力部を駆動して搬送中の原稿に印字する印字手段と、該印字手段により印字された原稿の画像を読み取る読取手段と、を備える画像読取装置を制御するプログラムであって、
前記読取手段により読み取られた画像データに基づいて前記印字手段の印字不良を検出する検出ステップと、
該検出ステップで印字不良が検出された場合に、前記ドット出力部の駆動状態を変更することで印字の継続を可能とする制御ステップと、をコンピュータに実行させる、
ことを特徴とするプログラム。
【請求項11】
請求項10のプログラムを格納した、
ことを特徴とするコンピュータで読み取り可能な記憶媒体。
【請求項1】
複数のドット出力部を駆動して搬送中の原稿に印字する印字手段と、
該印字手段により印字された原稿の画像を読み取る読取手段と、
該読取手段により読み取られた画像データに基づいて前記印字手段の印字不良を検出する検出手段と、
該検出手段により印字不良が検出された場合に、前記ドット出力部の駆動状態を変更することで印字の継続を可能とする制御手段と、を備える
ことを特徴とする画像読取装置。
【請求項2】
前記検出手段により印字不良が検出された場合に、前記制御手段は、前記複数のドット出力部のうち、前記印字不良が検出された位置に対応する前記ドット出力部の駆動回数を増加させる、
ことを特徴とする請求項1に記載の画像読取装置。
【請求項3】
前記制御手段は、前記駆動回数の増加によって前記ドット出力部の駆動回数が閾値に達するとき、前記読取手段による原稿の画像の読取処理を停止する、
ことを特徴とする請求項2に記載の画像読取装置。
【請求項4】
前記駆動回数の増加によって前記ドット出力部の駆動回数が閾値に達するとき、印字不良が発生したことを通知する通知手段を備える
ことを特徴とする請求項2又は3に記載の画像読取装置。
【請求項5】
前記検出手段により印字不良が検出された場合に、前記複数のドット出力部のうち、前記印字不良が検出された位置に対応するドット出力部以外のドット出力部を駆動して印字を継続する、
ことを特徴とする請求項1に記載の画像読取装置。
【請求項6】
前記検出手段により印字不良が検出された場合に、前記複数のドット出力部のうち、前記印字不良が検出された位置に対応するドット出力部以外のドット出力部を駆動して印字を継続するか否かをユーザ操作により選択させる選択手段を備える
ことを特徴とする請求項1に記載の画像読取装置。
【請求項7】
前記選択手段は、ユーザ操作による、前記印字不良が検出された位置に対応するドット出力部を駆動して印字を継続する選択を拒否する、
ことを特徴とする請求項6に記載の画像読取装置。
【請求項8】
前記印字手段は、インクジェット式又はインクリボン式の印字手段である、
ことを特徴とする請求項1〜7のいずれか一項に記載の画像読取装置。
【請求項9】
複数のドット出力部を駆動して搬送中の原稿に印字する印字手段と、該印字手段により印字された原稿の画像を読み取る読取手段と、を備える画像読取装置の制御方法であって、
前記読取手段により読み取られた画像データに基づいて前記印字手段の印字不良を検出する検出ステップと、
該検出ステップで印字不良が検出された場合に、前記ドット出力部の駆動状態を変更することで印字の継続を可能とする制御ステップと、を備える
ことを特徴とする画像読取装置の制御方法。
【請求項10】
複数のドット出力部を駆動して搬送中の原稿に印字する印字手段と、該印字手段により印字された原稿の画像を読み取る読取手段と、を備える画像読取装置を制御するプログラムであって、
前記読取手段により読み取られた画像データに基づいて前記印字手段の印字不良を検出する検出ステップと、
該検出ステップで印字不良が検出された場合に、前記ドット出力部の駆動状態を変更することで印字の継続を可能とする制御ステップと、をコンピュータに実行させる、
ことを特徴とするプログラム。
【請求項11】
請求項10のプログラムを格納した、
ことを特徴とするコンピュータで読み取り可能な記憶媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【公開番号】特開2010−253710(P2010−253710A)
【公開日】平成22年11月11日(2010.11.11)
【国際特許分類】
【出願番号】特願2009−103753(P2009−103753)
【出願日】平成21年4月22日(2009.4.22)
【出願人】(000104652)キヤノン電子株式会社 (876)
【Fターム(参考)】
【公開日】平成22年11月11日(2010.11.11)
【国際特許分類】
【出願日】平成21年4月22日(2009.4.22)
【出願人】(000104652)キヤノン電子株式会社 (876)
【Fターム(参考)】
[ Back to top ]