画像読取装置及びその制御方法、並びに、コンピュータプログラム
【課題】 ゴミ検知処理に特化した目的のために設置される専用ラインメモリを用いることなく、原稿読取り時にも用いるハードウェアを兼用し読取り位置に付着したゴミを検知する画像読取り装置を提供する。
【解決手段】 本発明における画像読取り装置は、自動原稿搬送により搬送され原稿台ガラス面上の読取り位置を通過した原稿を読取る読取り手段、前記読取り手段により読取った原稿のデータを回転して出力する回転手段を有する画像読取り装置であり、前記読取り位置にある原稿台ガラス面を読取ったm値データをn値データ化(m>n)し、前記回転手段によって、n値化手段によってn値化されたデータを回転し、回転されたデータの副走査方向に構成される1ライン分のデータに対し、n値化閾値以上である画素の数が第2の閾値以上である場合に、この画素の位置を記憶することを特徴とする。
【解決手段】 本発明における画像読取り装置は、自動原稿搬送により搬送され原稿台ガラス面上の読取り位置を通過した原稿を読取る読取り手段、前記読取り手段により読取った原稿のデータを回転して出力する回転手段を有する画像読取り装置であり、前記読取り位置にある原稿台ガラス面を読取ったm値データをn値データ化(m>n)し、前記回転手段によって、n値化手段によってn値化されたデータを回転し、回転されたデータの副走査方向に構成される1ライン分のデータに対し、n値化閾値以上である画素の数が第2の閾値以上である場合に、この画素の位置を記憶することを特徴とする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像読取装置に関し、特に、画像の読取りを原稿搬送中に行う原稿流し読み機能を備えた画像読取装置に関する。
【背景技術】
【0002】
画像の読取や印刷を行う複写機において、セットされた複数枚の原稿を自動的に1枚ずつ搬送する自動原稿搬送装置を用いて原稿の読取りを行うものがある。
【0003】
この自動原稿搬送装置を用いた原稿の読取り方法の中に、原稿読取り位置に固定された読取り光学系機器を用いて原稿の読取りを行う”流し読み”と呼ばれる方式がある。
【0004】
この方式においては、原稿読取り位置にゴミや埃が付着した場合又は傷や汚れがついた場合、読取り光学系機器の位置が固定されているため、その後に続く複数の原稿を読取る毎に、同じゴミ等を読取り続ける。その結果、読取り画像内に直線の黒スジが発生することがある。この原稿読取り位置に存在するゴミ、埃、傷、汚れ等(以下、これらを「ゴミ」と呼ぶ)は、読取った画像内に黒スジを発生させる要因となる。この黒スジの発生を抑止するための技術として、原稿読取り位置に存在するゴミを検知し、発生する黒スジを補正することにより、黒スジを目立たなくする技術が特許文献1に開示されている。この技術では、原稿自動搬送用の搬送ローラの白色面を読取り、その平均濃度をラインメモリ上に記憶させる。そして、この記録された濃度と、予め設定されている閾値とを比較し、記録された濃度が閾値以上の濃度を有する場合は、記録された濃度に対応する位置にゴミが付着していることを検知する。
【0005】
また、特許文献2には、このゴミ検知のために設けたラインメモリの容量をより少ない容量にできる技術について開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2002−185725号公報
【特許文献2】特開2002−185721号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら上述した技術では、ゴミ検知のために原稿自動搬送用の搬送ローラなどの白色面を読取り、その平均濃度を記憶しておくために専用に用いるラインメモリが必要であった。このラインメモリのため、ゴミ検知回路の回路規模は増大してしまう。
【0008】
そこで、本発明は、ゴミ検知処理に特化した目的のために設置される専用ラインメモリを用いることなく、原稿読取り時にも用いるハードウェアを兼用して読取り位置に付着したゴミを検知する画像読取装置及び画像読取方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するため、本発明の画像読取装置は、自動原稿搬送により搬送され、原稿台ガラス面上の読取り位置を通過した原稿を読取る読取り手段と、前記読取り手段により読取った原稿のデータを回転して出力する回転手段を有している画像読取り装置であって、前記読取り手段により、前記読取り位置にある原稿台ガラス面を読取ったm値データをn値データ化(m>n)するn値化手段と、前記回転手段によって、前記n値化手段によってn値化されたデータを回転し、前記回転されたデータの副走査方向に構成される1ライン分のデータに対しn値化閾値以上である画素の数を数える算出手段と、前記算出手段とによって数えられた画素の数が第2の閾値以上であると、該画素の位置を記憶する記憶手段とを有することを特徴とする。
【発明の効果】
【0010】
本発明によれば、ゴミ検知処理に特化した目的のために設置される専用メモリを用いずに、原稿読取り時にも用いるハードウェアを兼用して、読取り位置に付着したゴミを検知することが可能になる。その結果、ゴミ検知処理に特化した回路の規模を縮小することができる。
【図面の簡単な説明】
【0011】
【図1】複写機の概観例を示す図である。
【図2】スキャナ部の構造例を示す図である。
【図3】スキャナ部の流し読み動作時の構造例を示す図である。
【図4】コントローラの構成例を示すブロック図である。
【図5】操作ユニットの構成例を示す図である。
【図6】画像回転部の構成例を示すブロック図である。
【図7】画像回転のための画像メモリからのデータ読み出しを示す図である。
【図8】画像回転部における回転例を示す図である。
【図9】実施例1のスキャナIF画像処理部の構成を示すブロック図である。
【図10】実施例1のゴミ検知部の構成例を示すブロック図である。
【図11】二値化スライスレベルを用いた二値化を説明するための図である。
【図12】ゴミ判定レベルを用いて行うゴミ判定を説明するための図である。
【図13】黒スジを含んだ白板データを示す図である。
【図14】白板データの回転処理を示す図である。
【図15】黒スジの入った画像を示す図である。
【図16】黒スジを補正するための補間演算の一例を説明するための図である。
【図17】実施例1の流し読みモードの流れを示すフローチャートである。
【図18】実施例1のゴミ検知処理の流れを示すフローチャートである。
【図19】実施例1のゴミ位置検出処理の流れを示すフローチャートである。
【図20】実施例2のスキャナIF画像処理部の構成を示すブロック図である。
【図21】実施例2のゴミ検知部の構成例を示すブロック図である。
【図22】実施例2のゴミ検知処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【実施例1】
【0013】
<複写機の外観>
図1は、実施例1における複写機の外観の一例を示す図である。
【0014】
画像読取手段であるスキャナ部140は、照明ランプの発光によって原稿上の画像を露光走査して得られた反射光をリニアイメージセンサ(CCDセンサ)に入力することで画像の情報を電気信号に変換する。スキャナ部140はさらに電気信号をR、G、B各色からなる輝度信号に変換し、この輝度信号を画像データとして図4にて後述するコントローラ200に出力する。
【0015】
原稿は、原稿フィーダ141のトレイ142にセットされる。ユーザが操作ユニット160から読取り開始を指示すると、コントローラ200はスキャナ部140に対して原稿読取り指示を送る。スキャナ部140はこの指示を受取ると、原稿フィーダ141のトレイ142から原稿を1枚ずつフィードして原稿の読取り動作を行う(以降この自動原稿搬送装置を用いて原稿を読取る動作モードを流し読みモードと呼ぶ)。また、流し読みモードの他に、後述する原稿台ガラス面上に原稿を置くことで、読取りを行う方法もある。
【0016】
プリンタ120は、コントローラ200から受取った画像データを用紙上に形成する画像形成デバイスである。
【0017】
本実施例における画像形成方式は、感光体ドラムや感光体ベルトを用いた電子写真方式である。また、プリンタ120は、異なる用紙サイズ又は異なる用紙向きに対応可能な複数の用紙カセット121、122、123を備える。排紙トレイ124には印字後の用紙が排出される。
【0018】
<複写機−スキャナ部>
図2は、実施例1におけるリニアイメージセンサを用いたスキャナ部140の主要構成及び読取動作を示す概略図である。図2において、1401は原稿台ガラスであり、読取りの対象となる原稿100が置かれている。原稿100は照明ランプ1402により照射され、その反射光はミラー1403、1404、1405を経て、レンズ1406によりCCDセンサ1407上に結像される。ミラー1403、照明ランプ1402を含む第1ミラーユニット1409は速度vで移動し、ミラー1404、1405を含む第2ミラーユニット1410は速度1/2vで移動することにより、原稿100の全面を走査する。第1ミラーユニット1409及び第2ミラーユニット1410はモータ1408により駆動する。CCDセンサ1407に入力された反射光はセンサによって電気信号に変換され、その画素の電気信号は図示しないA/D変換器によってデジタルデータに変換され、コントローラ200に画素信号Dinとして入力される。
【0019】
図3は、図2とは別で原稿フィーダ141を動作させることによって原稿を読取る流し読みモードの場合の主要構成及び読取動作を示す概略図である。図3において、読取られるべき原稿束100Pはトレイ142上に置かれている。
【0020】
図3の原稿搬送方向の下部には、送り出しローラ1411と分離搬送ローラ対1412、レジストローラ対1413が配置されている。送り出しローラ1411は図示しない駆動源により回転され、トレイ142上に置かれた原稿束100Pを送り出す。送り出しローラ1411の下流に配置された分離搬送ローラ対1412は搬送された原稿束100Pから最上位の原稿100を分離搬送する。分離搬送ローラ対1412の下流に配置されたレジストローラ対1413は、駆動源に接続して回転可能なレジストローラと従動ローラとから成る。レジストローラ対1413の回転開始は、以降の原稿100の搬送タイミングや画像読取タイミングの基準となる。
【0021】
これら送り出しローラ1411、分離搬送ローラ対1412、レジストローラ対1413を駆動する駆動源は、例えばステッピングモータなどとなる。
【0022】
レジストローラ対1413から排出された原稿100は、案内板1418に沿って進行し、回転する大径の搬送ローラ1415と従動ローラ1416a、1416b、1416cにより狭持され、搬送ローラ1415の外周に沿って搬送される。このとき、原稿100は、一度、原稿台ガラス1401の面上を通って図3の矢印の方向へ等速で搬送されることとなる。原稿100の画像読取手段による画像読取は、原稿100が原稿台ガラス1401の面上を通過する際に行われる。画像読取後は、引き続き搬送ローラ1415の外周に沿って搬送され、排紙ローラ1417によって原稿フィーダ141上に排出される。
このような流し読みモードでは、第1ミラーユニット1409や第2ミラーユニット1410といった光学系は移動させず、これら光学系を固定して原稿を読取る。この流し読みモードにおいては、原稿束100Pの各原稿を一定方向に移動させればよいだけなので、大量の原稿を連続して高速に読取ることが可能となる。
【0023】
なお、本実施例の後述するゴミ検知処理は、この流し読みモードの開始時(1枚目の原稿を読取る前)または紙間で搬送ローラ1415の白色面を読取ることで実行される。白色面とは、原稿を搬送していない時の画像読取り位置のことである。よって、ゴミ検知処理は、原稿読取り時には行わない。また、紙間とは流し読みモードにおいて、原稿100が原稿台ガラス1401の面上を通過していない区間や、読取られる原稿と原稿の間の区間である。
【0024】
この方式では棒状の光源を使用し、この光源の長手方向と平行に読取りラインを設定し、この読取りラインに対して直角な方向に原稿を搬送する。なお読取りラインと平行な方向を主走査方向と定義し、読取りラインと直角な方向(原稿搬送方向)を副走査方向と定義する。
【0025】
<複写機−コントローラ>
図4は、本実施例の複写機のハードウェア構成、特にコントローラの構成例を詳細に示すブロック図である。
【0026】
コントローラ200は、画像入力デバイスであるスキャナ部140や、画像出力デバイスであるプリンタ120や、LAN10や、公衆回線(WAN)12と接続され、複写機の動作を統括的に制御すると共に画像情報やデバイス情報の入出力制御を行う。
【0027】
CPU2100は、複写機全体を制御するプロセッサであり、ROM2120に記憶された制御プログラム等に基づいて接続中の各種デバイスとのアクセスを統括的に制御する。さらに、CPU2100は、コントローラ200内部で行われる各種処理についても統括的に制御する。RAM2110は、CPU2100が動作するためのシステムワークメモリであり、画像データなどを一時記憶するための画像メモリでもある。ROM2120は、ブートROMであり、システムのブートプログラムを格納する。HDD2130は、ハードディスクドライブで、主に、コンピュータを起動・動作させるために必要な情報(システムソフトウェア)や画像データを格納する。これらのデータは、HDD2130に限らず、電源が切れても記憶保持可能な記録媒体に格納してもよい。
【0028】
LANC(LANコントローラ)2200は、LAN10に接続し、ユーザPC20との間で出力用画像データの入出力や機器制御にかかわる情報の入出力を行う。ローカルIF(ローカルインタフェース)2210は、USBやセントロニクス等のインタフェースであり、ケーブル11にてユーザPC21やプリンタと接続し、データの入出力を行う。MODEM2220は、公衆回線12に接続し、データの入出力を行う。
【0029】
プリンタIF画像処理部2300は、プリンタ120と接続し、プリンタ120に搭載されたCPUと通信を行う。また、プリンタIF画像処理部2300は、画像データの同期系/非同期系の変換やプリント出力のための画像処理を行う。スキャナIF画像処理部2400は、原稿フィーダ141を含めたスキャナ部140と接続し、スキャナ部140に搭載されたCPUと通信を行う。また、スキャナIF画像処理部2400は、画像データの同期系/非同期系の変換や後述するゴミ検知処理やゴミ補正処理等を含めた画像読取のための画像処理を行う。
【0030】
画像回転部2500は、操作ユニット160を介してユーザにより設定された処理条件や原稿の向きに基づいて、入力された画像データに対する回転処理を行う。また、後述するゴミ検知処理中においても入力されたデータの回転処理を行う。よって、この画像回転部2500は、入力された原稿に対して回転処理を行う際に用い、またゴミ検知処理を行う際にも用いる兼用部である。
【0031】
画像圧縮伸張部2600は、多値の画像データをJPEGに、2値の画像データをJBIG、MMR、MH等に圧縮し、さらに必要に応じて圧縮された画像データを伸張する処理を行う。操作部IF2700は、操作ユニット160に表示する画像データをコントローラ200から操作ユニット160に出力し、かつ、複写機の使用者が操作ユニット160から入力した情報をコントローラ200に出力するためのインタフェースである。
【0032】
<複写機−操作部>
図5は、操作ユニット160の構成例を示す図である。
【0033】
液晶操作パネル161は、液晶とタッチパネルを組み合わせたものであり、操作画面を表示するとともに、表示キーがユーザにより押されるとその情報をコントローラ200に送る。スタートキー162は、原稿画像の読取り印刷の動作を開始するときや、その他機能の開始指示に用いられる。スタートキーには、緑色と赤色の2色のLEDが組み込まれ、緑色点灯時には開始可能を示し、赤色点灯時には開始不可であることを示す。ストップキー163は稼動中の動作を止める働きをする。ハードキー群164には、テンキー、クリアキー、リセットキー、ガイドキー、ユーザーモードキーが設けられる。
【0034】
<画像回転処理部>
図6は画像回転部2500の構成例を示すブロック図である。
【0035】
DMAC2510はDMAコントローラである。これは、CPUを介さずに、直接、RAM2110の指定された領域から画像データ等を読み出し、画像回転制御部2520へ出力する役割を担うDMAコントローラである。
【0036】
また、DMAC2540も同じくDMAコントローラであり、画像回転制御部2520が出力する画像データ等をRAM2110の指定された領域へ書き込む。
【0037】
以下に画像回転部2500の処理手順を示す。
CPU2100は、画像回転制御部2520に画像回転のための設定を行う。この設定により画像回転制御部2520には画像回転に必要な情報(例えば画像サイズや回転方向,角度等)が設定される。これらの必要な設定を行った後に、再度CPU2100からDMAC2510、DMAC2540に対して画像データ転送の許可を行う。この許可に従い、DMAC2510はRAM2110から画像データ等の読み出しを開始し、DMAC2540は画像回転制御部から画像データ等が出力され次第、RAM2110への画像データ等の書き込みを開始する。
【0038】
なお、ここでは回転を行う画像サイズを32×32(bit)とし、また、RAM2110に画像データを転送させる際に32bitを単位とするデータ転送を行うものとする。
【0039】
上述のように、32×32(bit)の画像を得るためには、図7に示す様に上述の32bit単位のデータ転送を32回行う必要があり、且つ不連続なアドレスから画像データを転送する必要がある。
【0040】
不連続アドレッシングにより転送された画像データは、読み出し時に所望の角度に回転されているように、画像回転バッファ2530に書き込まれる。例えば、90度時計方向回転であれば、最初に転送された32bitの画像データを、図8のように1bitずつY方向に書き込んでいく。これらを読み出し時にX方向に読み出すことで、画像は回転される。
【0041】
32×32(bit)の画像回転(画像回転バッファ2530への書き込み)が完了した後、画像回転制御部2520は画像回転バッファ2530から上述した読み出し方法で画像データを読み出し、DMAC2540に画像を転送する。
【0042】
回転処理された画像データを受取ったDMAC2540は、画像全体が所望の回転結果となるようにRAM2110上の定められたアドレスに画像データを転送する。
【0043】
こうした一連の処理は、CPU2100からの処理要求が無くなるまで繰り返される。
【0044】
<スキャナIF画像処理部>
図9は、スキャナIF画像処理部2400の構成例を示すブロック図である。
【0045】
前述した通り、図3で示した流し読みモードの場合は、読取り中にも入力原稿が移動するため、光学系固定位置の原稿読取り位置にゴミ、埃、傷、汚れ等が存在すると、スジ状の画像不良(スジ像/ゴミスジ)が発生してしまう。これは、原稿読み取り時に原稿より暗いゴミに対応する画素のレベルが、その周辺の画素レベルよりも低下してしまうことによって発生する。以下の説明においては黒スジ発生要因がゴミである場合を例として挙げるが、ゴミ以外の黒スジ発生要因であっても本実施例は適用可能である。
【0046】
シェーディング補正部2410には、スキャナ部140が出力するDinの画素信号(図2、図3参照)を入力する。シェーディング補正部2410は、公知の技術を用いて光学系や撮像系の特性による輝度ムラに対して、一様な明るさの画像になるように補正処理を施す。シェーディング補正処理の施された画素信号Dshが後段に出力される。
【0047】
ゴミ補正部2420は、原稿読取り位置に黒スジ発生要因となるゴミが付着した場合に、付着したゴミの検知位置情報Gを後述するゴミ検知部2440から取得し、そのゴミが原因で発生した読取り画像内の黒スジを目立ちにくくするための補正処理を行う。具体的には、ゴミ補正部2420は、黒スジの周辺に存在する正常画素を用いて、黒スジに対して補正処理を施す。以降、黒スジが生じた画素のことを異常画素と呼ぶ。ゴミ補正処理の詳細な補正方法に関しては後述する。ゴミ補正処理の施された画素信号Dhが後段へ出力される。
【0048】
ガンマ補正部2430は、公知の技術を用いて、読取り素子と機器との間の色特性の差を補正する。ガンマ補正処理の施された画素信号Dgが後段へ出力される。
【0049】
DMAC2450はDMAコントローラである。これは、CPUを介さずに、直接、ガンマ補正部2430が出力する画素信号Dgやゴミ検知部2440が出力するデータDkを画像メモリ(RAM2110)の指定された領域へデータDoutとして書き込む。また、DMAC2460は画像メモリ(RAM2110)の指定された領域からデータDin’を読み出し、ゴミ検知部2440へデータDk’として出力する役割を担うDMAコントローラである。このDMAC2460は後述するゴミ検知部2440が動作する場合のみ必要となる。よってゴミ検知処理動作時以外はスキャナIF画像処理部2400以外の処理部(例えばプリンタIF画像処理部2300)で画像メモリ(RAM2110)から画像データを読み出すために使用される構成としてもよい。このDMAC2460の共用は、ゴミ検知部2440の動作が流し読みモードの開始時または紙間に限定されるためにプリンタIF画像処理部2300等の動作とは排他動作となり、可能となる。
【0050】
ゴミ検知部2440は、原稿読取り時ではないとき、原稿読取り位置に黒スジ発生要因となるゴミが付着した場合に、付着したゴミの位置を検知する。検知されたゴミの位置情報Gはゴミ補正部2420に渡され、実際に黒スジの入った画像が入力された際に補正範囲(黒スジ個所)を特定するために使用される。なお、ゴミ位置情報Gとはゴミの主走査位置と幅から成る情報である。また、本実施例においてゴミ検知部2440は内部にラインメモリを保持していない構成となっており、ゴミ検知のために画像メモリ(RAM2110)とデータのやりとりを行う必要のある構成となっている。よって画像メモリに書き込むべきデータをDkとしてDMAC2450へ出力し、画像メモリから読み出すべきデータをDk’としてDMAC2460から入力できる構成となっている。
【0051】
<ゴミ検知部の前段処理詳細>
図10は実施例1におけるゴミ検知部2440の好適な一例を示す詳細図である。図10において、2441はフィルタ回路、2442はn値化回路、2443は累積カウンタ、2444は主走査方向ライン数カウンタ、2445はコンパレータ、2446はゴミ主走査画素位置判定回路、2447はゴミ判定結果保持部である。
【0052】
次にゴミ検知部2440の前段処理動作について各部の詳細とともに説明する。前段処理とはフィルタ回路2441とn値化回路2442の処理を示す。このn値化回路は、m値データをn値データ化(m>n)する。以下、本実施例では主にn=2の場合について説明するが、n値化回路2442では、元のm値のデータをmより小さいn値のデータに変更できればよい。なお、ゴミ検知部は、前述したように原稿フィーダ141を用いた流し読みモードの開始時や紙間で搬送ローラ1415上の白色面を読取った場合にのみ、その画素信号がDshとして入力され、動作が開始される。
【0053】
フィルタ回路2441ではシェーディング補正後の画素信号Dshに対して高周波成分を強調する等の処理を行い、ゴミの影響を検知しやすくするための前処理を行う。
【0054】
さらにn値化回路2442で所定のn値化スライスレベルとの比較によって画素信号をn値化する。n=2である2値化の様子を図11に示す。白色面にゴミが付着しており、画素信号に影響が出ていれば、この2値化結果は主走査方向の同一位置に対して、ほぼ毎ライン‘1’(n(この例ではn=2)値化スライスレベル超え)となる。
【0055】
この2値化結果はデータDkとして一度、DMAC2450に出力され、画像メモリ(RAM2110)の指定された領域に書き込まれる。
【0056】
<ゴミ検知処理における画像回転の詳細>
次に、図13及び図14(a)、図14(b)を用いて実施例1におけるゴミ検知処理中の画像回転の詳細を説明する。
【0057】
まず、図13はゴミ検知処理中に読取った搬送ローラ1415上における白色面の画像データの一例を示している。本実施例では主走査方向にX画素、副走査方向にYライン分読取っている。この読取った白色面の画像データを以降では白板データと呼ぶ。
【0058】
主走査方向のX画素は搬送する原稿幅と同じ画素数分読取り、副走査方向のYラインは、32〜64ライン分読取る。原稿読取り位置にゴミが付着している場合、ゴミ検知処理において、白色面を1ライン分読取ればそのゴミが検知できる。しかし、1ライン分しか読取らないと、例えば、原稿読取り位置に一瞬だけ付着したゴミやノイズ等、黒スジ発生原因とは無関係の付着物も検知してしまう。これにより、黒スジの原因となるゴミのみを検知する際に、ノイズが増えてしまう。よって、上記したように複数ライン読取りを行う。また、この値は経験値から設定されたものであり、この値に限定せず、黒スジ発生原因となるゴミを検知できる範囲で予め設定可能である。
【0059】
今、原稿読取り位置にゴミが付着していたものとすると図13に記載したように白板データ上にゴミによる黒スジが発生してしまう。この白板データがDinとしてスキャナIF画像処理部2400に入力され、ゴミ検知部2440に入力される。
【0060】
次に図14(a)にn値化回路2442にn値化された白板データを示す。読取った白板データの1画素を8bitデータとすると、2値化(n=2のとき)により、図に示したように、あたかも主走査方向のデータサイズが1/8に圧縮されたようなデータとなる。この2値化された白板データは前述の通り、データDkとしてDMAC2450によって画像メモリ(RAM2110)に書き込まれる。画像メモリ(RAM2110)には2値化後の白板データが書き込まれるのでこのとき必要な画像メモリ(RAM2110)の容量を抑えることができる構成となっている。ここで、画像メモリ(RAM2110)には図7に示したように主走査方向=X方向、副走査方向=Y方向として2値化された白板データが書き込まれる。回転される前の2値化白板データにおいて、主走査方向に配列された画素の位置を主走査方向N画素目で定義し、副走査方向に配列されたラインの位置を副走査方向Nライン目で定義する。この画像メモリ(RAM2110)に書き込まれた2値化された白板データは、画像回転部2500のDMAC2510によって32bitを単位として順次回転を行う画像サイズ32×32(bit)ごとに読み出されていく。
【0061】
次に図14(b)に画像回転後の2値化された白板データを示す。ここでは、ゴミ検知処理のために、2値化された白板データの主走査方向と副走査方向の配列を逆にする目的で90度回転を実施したものとする。90度回転とは、スキャナ部140で読取った画像データの主走査方向と副走査方向を変換することと同義となるので、この90度回転処理を以下では主・副変換とよぶ。2値化白板データは主・副変換されることによって、変換前の主走査方向の画素が副走査方向に配列され、変換前の副走査方向のラインが主走査方向に配列される。この主・副変換によって副走査方向に配列された変換前の主走査方向の画素位置を副走査方向N画素目で定義し、主・副変換によって主走査方向に配列された変換前の副走査方向のライン位置を主走査方向Nライン目で定義する。この図14(b)に示した変換後の2値化白板データはDMAC2540によって画像メモリ(RAM2110)に書き込まれ、さらにDMAC2460によって同データは読み出され、データDk’としてゴミ検知部2440に入力されることとなる。
【0062】
<ゴミ検知部の後段処理詳細>
次にゴミ検知部2440の後段処理動作について各部の詳細とともに図10を用いて説明する。後段処理とは累積カウンタ2443からゴミ判定結果保持部2447までの処理を示す。
【0063】
ゴミ検知部2440にはデータDk’がDMAC2460から入力される。データDk’とは画像メモリ(RAM2110)に書き込まれたデータDkが前述の画像回転部2500で90度回転され、主走査方向と副走査方向が変換されたものである。このデータDk’はDMAC2460によってゴミ検知部2440に入力される。
【0064】
累積カウンタ2443では入力されたデータDk’に含まれる1の数をカウントし、合計値を算出する。1とは、つまりn値化スライスレベル(n値化閾値)超えをした画素信号値を有するということ(n値化閾値以上の画素信号値を有するということ)である。このカウントはゴミ検知位置を特定するために副走査方向の複数ライン分の累積カウントを実行する必要がある。しかし、前述の画像回転部2500でデータDk’は白板データの主走査方向と副走査方向の配列を逆にした(主・副変換された)データとなっている。よって累積カウンタ2443は、次々に入力される1ライン分のデータDk’に含まれる1の数を単純に累積カウントしていくだけで上記回転前の副走査方向の累積カウント値が得られる構成となっている。ここで、この累積カウンタ2443はデータDk’の1の連続性によってカウント方式を変化させる構成としてもよい。例えば、n値化スライスレベルを超えた値(n値化閾値以上の値)を持つ画素の存在を示す1が連続A個続いたらカウントアップを開始する構成とし、ノイズの影響を軽減させる。また、n値化スライスレベル未満の値(n値化閾値未満の値)を持つ画素の存在を示す0が連続B個続いたらゴミの影響が消えたと判断し、一旦カウントをクリアする構成としてもよい。また、データDk’が何ライン目の信号かによってカウントアップの重み付けをし、ゴミ検出の精度を向上させる構成としてもよい(この詳細については、後述する)。これらの構成では累積カウンタ2443が次々に入力されるデータDk’をカウントしていくだけでよい構成となっているため、簡易な回路で実装可能となっている。
【0065】
また主走査方向ライン数カウンタ2444では、入力されるデータDk’がゴミの特定に必要な複数ライン分入力されたかを検出する。ここでは、カウント動作前にCPU2100によってゴミの特定に必要なライン数が主走査方向ライン数カウンタ2444に設定される。言い換えると搬送ローラ1415上の白色面を何ライン分読取ったかが設定される。よって、主走査方向1ライン分のデータであるデータDk’が何個入力されたかをラインカウンタでカウントし、そのライン数に到達したかどうかを検出する。到達したことを検出すると主走査方向ライン数カウンタ2444は累積カウンタ2443に累積カウント値クリア信号を出力する。また、後述するゴミ主走査画素位置判定回路2446に主走査位置カウントアップ信号を出力する。
【0066】
コンパレータ2445では、図12に示すような黒画素率を示すゴミ判定レベル(第2の閾値)と累積カウンタ2443から出力される累積カウント値を比較する。図示しているようにゴミ判定レベルを超える累積カウント値となった主走査位置をゴミ位置と判定する。図12では、主走査位置K画素目から3画素分がゴミ位置であると判定されたものを示している。これをもとに後段でゴミ位置情報Gが生成される。
【0067】
ゴミ主走査画素位置判定回路2446では、コンパレータ2445においてゴミ位置と判定されたものが具体的に主走査方向の何画素目かを判定する。ゴミ主走査画素位置は動作開始時は主走査方向0画素目に設定されており、主走査方向ライン数カウンタ2444から主走査位置カウントアップ信号を受け付けるとゴミ主走査画素位置を+1する。ゴミ主走査画素位置判定回路2446は後段のゴミ判定結果保持部2447に、主走査位置情報とゴミ判定結果を出力する。
【0068】
ゴミ判定結果保持部2447では、主走査位置情報とゴミ判定結果からゴミの主走査位置と幅からなるゴミ位置情報Gを生成・保持する。例えば主走査位置K画素目とK+1画素目、K+2画素目がゴミ主走査画素位置判定回路2446によってゴミだと判定されると、ゴミ判定結果保持部2447にはゴミ主走査位置−K画素目、ゴミ幅−3画素というゴミ位置情報Gが生成・保持される。
【0069】
ここでは、ある一定幅以上のゴミ判定結果を無視する構成としてもよい。これはハードウェアとして、回路によって修正できる幅に限界があるからである。またある一定個数以上のゴミ判定結果を保持しないとする構成としてもよい。これは、ハードウェアとして、回路によって保持できるゴミの個数に限界があるからである。
ゴミ位置情報Gはゴミ検知部2440から出力され、ゴミ補正部2420へ入力され実際に黒スジの入った画像が入力された際に補正範囲(黒スジ個所)を特定するために使用される。
【0070】
ここで、CPU2100が判定結果生成・保持部2447の出力であるゴミの位置情報Gを参照することが可能で、ゴミ検知の結果を知ることができる構成とし、CPU2100がゴミ補正部2420へゴミ位置情報を設定しにいく構成としてもよい。
【0071】
<ゴミ補正処理の詳細>
ゴミ補正処理はゴミ補正部2420で行われ、補正対象となった異常画素を周囲の画素で補間もしくは置き換えることで実現される。図15は黒スジ(異常画素)の入った画像を示している。黒スジは図に示しているように、流し読み時のゴミの影響で主走査方向のある特定位置にある幅をもって現れ、副走査方向にスジとして伸びる。
【0072】
次に図16にゴミ補正処理の詳細を示す。図のD1は左端参照隣接画素、D2は右端参照隣接画素、Kはゴミ補正処理開始位置からの画素位置、Wは異常画素幅を示している。このとき、線形補間することでゴミ補正処理を実行する場合は以下の式で補正結果Yを算出する。
Y=D1+K/W×(D2−D1)
また、演算を用いずに単純に周囲の正常画素(参照隣接画素)を用いて置き換え処理をすることでゴミ補正処理を実行してもよい。
【0073】
<流し読みモードのフローチャート>
図17〜図19は、実施例1における流し読みモード及びゴミ検知処理の流れを示すフローチャートである。図17に示すフローチャートはHDD2130に格納されたプログラムに従って、CPU2100が実行する。
【0074】
まずS1100において、読取るべき複数枚の原稿が原稿フィーダ141のトレイ142にセットされたことを検出する。
【0075】
次にS1200にて操作ユニット160のスタートキー162の押下を検知することによって流し読みモードを開始する。
【0076】
S1300では、一連のゴミ検知処理を実行する。ゴミ検知処理の詳細は図18、図19を用いて後述する。このゴミ検知処理は本フローチャートが示すように原稿の読取処理を実行していない区間で実行される。つまり、流し読みモードの開始時または紙間で実行されるものとなる。
【0077】
次にS1400では、実際に原稿フィーダ141を用いて原稿の読取を行う。この際、S1300によってゴミ検知結果(図7のゴミ位置情報Gに相当)が得られている場合には、ゴミ補正処理も実行されることとなる。
【0078】
S1500では続けて画像読取が行われるかどうかの判断を行う。これは原稿フィーダ141上のトレイ142にまだ原稿が残っているかどうかで判断される。トレイ142上に読取るべき原稿が残っているならばS1300に戻る。読取るべき原稿が残っていないならば、終了となる。
【0079】
<ゴミ検知処理のフローチャート>
図18では、ゴミ検知処理のフローチャートについて説明している。本フローチャートは図17のS1300を詳細に説明したものであり、スキャナ部140及びコントローラ200内のハードウェアが処理するものとなる。
【0080】
まずS1310にて白板データの読取をする。白板データとは前述したように搬送ローラ1415上の白色面を読取って得られる画像データである。これは、図3で示した位置で光学系を固定し、原稿100の搬送を開始する前の白色面の反射光をCCDセンサ1407にて取り込むことで得られる。
【0081】
次にS1320にて入力された白板データをn値化スライスレベルでn値化する。これはゴミ検知部2440のn値化回路2442に白板データが入力されることで実行される。
【0082】
次にS1330にて前ステップでn値化された白板データを主・副変換する。これは画像回転部2500にてn値化された白板データを90度回転することによって実行する。主・副変換のイメージは前述した図14(a)、図14(b)の通りである。ここで、ゴミ検知処理は流し読みモードの開始時または紙間で実行されるので、このとき実際の原稿読取処理は実行されていない。よって画像回転部2500がゴミ検知処理と同時のタイミングで他の処理で使われることはなく、ゴミ検知処理の所望のタイミングで画像回転部2500を使用することができることとなる。
【0083】
S1340では、主・副変換されたn値化後の白板データを用いて、一連のゴミ位置を検出するための処理を実行する。ゴミ位置検出処理の詳細は図19を用いて後述する。
【0084】
<ゴミ位置検出処理のフローチャート>
図19では、ゴミ位置検出処理のフローチャートについて説明している。本フローチャートは図18のS1340を詳細に説明したものであり、スキャナIF画像処理部2400のゴミ検知部2440内の各ハードウェアが処理するものである。
【0085】
まずS1341では、主走査方向ライン位置i、副走査方向画素位置j、累積カウント値kをそれぞれ初期化している。前述した画像回転部2500によって主・副変換された白板データでは副走査方向に配列され、変換前には主走査方向に並行に配列されていた画素において、(回転後の)副走査方向N画素目にある画素を位置jで定義する。また、画像回転部2500によって主・副変換された白板データの主走査方向に配列され、変換前には副走査方向に並行に配列されていたラインにおいて、(回転後の)主走査方向Nライン目を位置iで定義する。累積カウント値kとは累積カウンタ2443にてカウントされるn値化回路2442にてn値化スライスレベル超えをした画素(n値化閾値以上である画素)の数である。
【0086】
S1342では、位置(i、j)の入力データを累積カウンタ2443にて受け付ける。ここで、入力データとは前述のn値化され、主・副変換処理された白板データを指している。なおS1342〜S1349はすべて累積カウンタ2443の処理である。
【0087】
S1343では、入力データが1かどうかの判定が累積カウンタ2443にて実行される。1であった場合にはS1344に処理が進む。
【0088】
S1344では、入力データの1の連続性を検出している。具体的には入力データが1を示す画素が(回転後の)主走査方向(i方向)に何個続いて発生しているかを判定している。このような判定を入れることでn値化の際に発生するノイズの影響を低減する。この場合のノイズとはゴミではないのにn値化で1となってしまった画素である。入力データが1を示す画素が連続回数AをいくつにするかはCPU2100によって累積カウンタ2443に対して予め設定できる。連続回数A以上であった場合にはS1345に進む。
【0089】
S1345では、連続回数A以上であった入力データの主走査方向のライン位置(i)が何ライン目以上かを判定している。このような判定を入れることで累積カウンタ2443のカウントアップに重み付けをすることができるようになる。つまり、データをラインごとに順に読取り、ライン閾値であるCライン目以降を読取る際、n値化閾値以上である画素の数を重み付けしながら累積する。カウントアップに重み付けを開始するライン閾値CをいくつにするかはCPU2100によって累積カウンタ2443に対して予め設定できる。重み付けをすることによって白板データの読取の後半部(ライン閾値Cライン目以降)のカウントアップ値を前半部(Cライン未満入力)より大きくすることができる。これにより、白板読取中にゴミが付着した場合などのゴミ検出度を向上できる。
【0090】
S1346では、S1345で入力データの主走査方向のライン位置(i)がCライン目未満と判定された場合に実行され、累積カウント値kを+1する。
【0091】
また、S1347では、S1345で入力データの主走査方向のライン位置(i)がCライン目以降と判定された場合に実行され、累積カウント値kを+2する。
【0092】
S1346、S1347の処理が実行されるとS1350に進む。また、S1344にて入力データが1を示す画素の連続回数がA回未満であると判定された場合にもS1350に進む。
S1343にて入力データが0を示す画素であると判定された場合にはS1348に進む。
【0093】
S1348では、入力データが0を示す画素の連続性を検出している。具体的には入力データの0が主走査方向(i方向)に連続何ライン発生しているかを判定している。このような判定を入れることでゴミの誤判定の可能性を低減する。具体的には白板読取中にゴミの付着が取れた場合の誤判定を低減させる。連続回数BをいくつにするかはCPU2100によって累積カウンタ2443に対して予め設定できる。連続回数L(連続回数の閾値)以上であった場合にはS1349に進む。
【0094】
S1349では、S1348にて連続回数の閾値B以上であった場合に累積カウント値であるkをクリア(初期化)している。これは入力データの0が閾値であるB回続いたことによってゴミの付着がないと判断するためである。
【0095】
S1348にて連続回数B以下と判定された場合にはS1350に進む。
【0096】
また、S1344〜S1349に示したような入力データの連続性は本実施例のように入力前に入力データに主・副変換を施すことによって小さい回路規模で実現できるようになっている。つまり、見るべき連続性の方向を副走査から主走査方向に変換することによって連続性検出のために保持すべきデータ情報を短縮させ、バッファ容量を大幅に低減している。
【0097】
S1350では、入力データの主走査方向ライン位置iが最終ライン位置かどうかの判定を行う。本判定は、主走査方向ライン数カウンタ2444にて入力データの数をカウントすることで行う。
【0098】
S1350にて最終ライン位置と判定されなかった場合にはS1351にて主走査方向ライン位置iを+1してS1342に戻り、次の入力データを受け付ける。S1350にて最終ライン位置と判定された場合には、S1352に進む。
【0099】
S1352では、累積カウンタ2443にてカウントされた累積カウント値kがゴミ判定レベル以上(第2の閾値以上)かどうかの判定を行う。本判定はコンパレータ2445にて実行される。累積カウント値kがゴミ判定レベル以上だった場合にはS1353に進む。そうでなければS1354に進む。
【0100】
S1353では、コンパレータ2445にてゴミ判定レベル以上となった入力データの(回転後の)副走査方向の画素位置(j)をゴミ位置としてゴミ判定結果保持部2447がゴミ補正部2420にセットする。具体的にはゴミ主走査画素位置判定回路2446にてそのときの入力データにおける副走査方向の画素位置(j)を判断し、ゴミ判定結果保持部2447に通知する。なお、副走査方向の画素位置(j)とは主・副変換前における白板データの主走査方向の画素位置情報と同一となる。ゴミ判定結果保持部2447は、ゴミの主走査位置と幅からなるゴミ位置情報Gを上記通知により保持し、ゴミ補正部2420に出力(セット)する。
【0101】
S1354では、主走査方向ライン位置i、累積カウント値kをクリアし、副走査方向の画素位置(j)におけるゴミ位置検出処理を終了させる。主走査方向ライン位置iのクリアは主走査方向ライン数カウンタ2444が自身における入力データの数のカウント値をクリアし、カウントを中止すること実行する。また累積カウント値kのクリアは主走査方向ライン数カウンタ2444が累積カウンタ2443に累積カウント値クリア信号を出力することで実行する。
【0102】
S1355では、入力データの副走査方向画素位置jが最終画素位置かどうかの判定を行う。本判定は、ゴミ主走査画素位置判定回路2446の副走査方向の画素位置(j)が最終画素位置かどうかで判定する。最終画素位置とは主・副変換前の白板データの主走査方向の最終画素かどうかを指している。
【0103】
S1355にて最終画素位置と判定されなかった場合には副走査方向画素位置jをS1356にて+1してS1342に戻り、次の入力データを受け付ける。S1355にて最終画素位置と判定された場合には、ゴミ位置検出処理を終了する。
【0104】
本実施例1においては、ゴミ検知処理時に入力された白板データをゴミ検知部で2値化してから主・副変換処理をすることで、バッファ容量を大幅に低減し小さい回路規模でゴミ判定を行うことが可能になる。
【0105】
なお、閾値である画素数は、予めユーザによって設定可能である。
【実施例2】
【0106】
実施例1においては、ゴミ検知処理時に入力された白板データをゴミ検知部でn値化してから主・副変換処理をしていた。しかし、本実施例においては、入力された白板データを主・副変換処理してからゴミ検知部でn値化する。このような構成をとることで、原稿読取処理で動作するパスと白板データ読取処理で動作するパスをスキャナIF画像処理部内で同一のものとできる。さらにそれら動作パスとゴミ検知部が動作する場合のスキャナIF画像処理部内での動作パスを完全に分離することができる。よって回路設計を容易化でき、さらに回路検証性が向上する。特にゴミ検知部のみが回路に組み込まれていないスキャナIF画像処理部にゴミ検知部のみを追加実装する場合などに有効である。
【0107】
以下、図面を参照して、本実施例を詳細に説明する。
【0108】
<複写機―スキャナ部―コントローラ−操作部>
実施例2における複写機の外観構成、スキャナ部の構成、及びコントローラの構成は図1、図2、図3、図4、図6に示す構成と同じである。また、図5の操作部の構成も同じである。実施例2は、コントローラのスキャナIF画像処理部2400内部の構成が実施例1とは異なる。
【0109】
<スキャナIF画像処理部>
実施例1におけるスキャナIF画像処理部2400と同一箇所に配置される実施例2のスキャナIF画像処理部3400の内部について図20を用いて説明する。
【0110】
シェーディング補正部3410、ゴミ補正部3420、ガンマ補正部3430は、図9のシェーディング補正部2410、ゴミ補正部2420、ガンマ補正部2430の機能を有している。ただしシェーディング補正処理の施された画素信号Dshは実施例2においてはゴミ補正部に入力されるのみとなっている。
【0111】
DMAC3450とDMAC3460は、図9のDMAC2450、DMAC2460と同様の機能のDMAコントローラである。しかし、実施例1の図9と異なり、DMAC2450はガンマ補正部3430が出力する画素信号Dgのみを画像メモリ(RAM2110)の指定された領域へデータDoutとして書き込む。
【0112】
このような構成によってゴミ検知処理時における白板データは、n値化されずに画像データとして画像メモリ(RAM2110)に書き込まれ、さらに画像回転部2500にて主・副変換される。よってDinからDoutまでの処理の流れは原稿読取時と白板データ読取時で同一のものとなる。
【0113】
また、実施例2において画像回転部2500に入力される白板データが1画素当り8bit階調だとすると、90度回転処理(主・副変換)もこの階調に合わせて実行する。つまり、実施例1で説明した1bit単位での画像回転バッファへの書き込みや読み出しを1byte単位で実施する。
【0114】
<ゴミ検知部>
図21は、実施例2におけるゴミ検知部3440の好適な一例を示す構成図である。
【0115】
図21において、3441はフィルタ回路、3442はn値化回路、3443は累積カウンタ、3444は主走査方向ライン数カウンタ、3445はコンパレータ、3446はゴミ主走査画素位置判定回路、3447はゴミ判定結果保持部である。
【0116】
3441〜3447までのそれぞれ個々のブロックが持つ機能は実施例1の図10における2441〜2447のブロックと同等の機能となる。実施例2ではそれぞれのブロックの接続構成における一部が実施例1と異なる。
【0117】
実施例2においてフィルタ3441に入力されるデータDk’はDMAC3460によって画像メモリ(RAM2110)から読み出された主・副変換処理後の8bit階調の白板データである。フィルタ回路の出力は2値化回路3442の入力となる。
【0118】
2値化回路3442では実施例1と同様に所定のn値化スライスレベルとの比較によって入力された画素信号をn値化する。n値化回路の出力は直接累積カウンタ3443及び副走査カウンタ3444の入力となる。
【0119】
以下3443〜3447までの接続構成は実施例1と同様となる。このように白板データを画像回転部2500にて90度回転処理(主・副変換)後にn値化する構成をとることでゴミ検知部3440への画素信号の入力をDk’のみとしている。
【0120】
<処理フローチャート>
実施例2における流し読みモードのフローチャートは実施例1の図17と同様となる。しかしゴミ検知処理のフローチャートが実施例1とは異なる。
【0121】
図22は、実施例2におけるゴミ検知処理の流れを示すフローチャートである。本フローチャートは図17のS1300を実施例2として詳細に説明したものであり、スキャナ部140及びコントローラ200内のハードウェアが処理するものである。
【0122】
まずS2310にて白板データの読取をする。白板データとは搬送ローラ1415上の白色面を読取って得られる画像データである。これは、図3で示した位置で光学系を固定し、原稿100の搬送を開始する前の白色面の反射光をCCDセンサ1407にて取り込むことで得られる。
【0123】
次にS2320にて前ステップで読取られた白板データを主・副変換する。これは画像回転部2500にて画像メモリ(RAM2110)上に書き込まれた白板データを90度回転することによって実行する。主・副変換のイメージは前述した図14(a)、図14(b)の通りである。ただし、n値化されていない白板データを画素単位(8bit階調であれば1byte単位)で回転処理させる点が異なる。ここで、ゴミ検知処理は流し読みモードの開始時または紙間で実行されるので、このとき実際の原稿読取処理は実行されていない。よって画像回転部2500がゴミ検知処理と同時のタイミングで他の処理で使われることはなく、実施例1と同様にゴミ検知処理の所望のタイミングで画像回転部2500を使用することができる。
【0124】
次にS2330にて入力された主・副変換された白板データをn値化スライスレベルでn値化する。これはゴミ検知部3440のn値化回路3442に主・副変換された白板データが入力されることで実行される。
【0125】
S2340では、一連のゴミ位置を検出するための処理を実行する。ゴミ位置検出処理の詳細は実施例1の図19と同様となる。
【0126】
本実施例2においては、ゴミ検知判定処理時に入力された白板データをゴミ検知部で主・副変換処理をしてから、n値化処理を行う。これにより、原稿読取り処理で動作するパスと読取り処理で動作するパスをスキャナIF画像処理部内で同一できる。
【0127】
また、ゴミ検知部が回路に組み込まれていないスキャナIF画像処理部にゴミ検知部のみを追加実装する場合、容易にゴミ検知部を追加実装することができる。
【0128】
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は、画像読取装置に関し、特に、画像の読取りを原稿搬送中に行う原稿流し読み機能を備えた画像読取装置に関する。
【背景技術】
【0002】
画像の読取や印刷を行う複写機において、セットされた複数枚の原稿を自動的に1枚ずつ搬送する自動原稿搬送装置を用いて原稿の読取りを行うものがある。
【0003】
この自動原稿搬送装置を用いた原稿の読取り方法の中に、原稿読取り位置に固定された読取り光学系機器を用いて原稿の読取りを行う”流し読み”と呼ばれる方式がある。
【0004】
この方式においては、原稿読取り位置にゴミや埃が付着した場合又は傷や汚れがついた場合、読取り光学系機器の位置が固定されているため、その後に続く複数の原稿を読取る毎に、同じゴミ等を読取り続ける。その結果、読取り画像内に直線の黒スジが発生することがある。この原稿読取り位置に存在するゴミ、埃、傷、汚れ等(以下、これらを「ゴミ」と呼ぶ)は、読取った画像内に黒スジを発生させる要因となる。この黒スジの発生を抑止するための技術として、原稿読取り位置に存在するゴミを検知し、発生する黒スジを補正することにより、黒スジを目立たなくする技術が特許文献1に開示されている。この技術では、原稿自動搬送用の搬送ローラの白色面を読取り、その平均濃度をラインメモリ上に記憶させる。そして、この記録された濃度と、予め設定されている閾値とを比較し、記録された濃度が閾値以上の濃度を有する場合は、記録された濃度に対応する位置にゴミが付着していることを検知する。
【0005】
また、特許文献2には、このゴミ検知のために設けたラインメモリの容量をより少ない容量にできる技術について開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2002−185725号公報
【特許文献2】特開2002−185721号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら上述した技術では、ゴミ検知のために原稿自動搬送用の搬送ローラなどの白色面を読取り、その平均濃度を記憶しておくために専用に用いるラインメモリが必要であった。このラインメモリのため、ゴミ検知回路の回路規模は増大してしまう。
【0008】
そこで、本発明は、ゴミ検知処理に特化した目的のために設置される専用ラインメモリを用いることなく、原稿読取り時にも用いるハードウェアを兼用して読取り位置に付着したゴミを検知する画像読取装置及び画像読取方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するため、本発明の画像読取装置は、自動原稿搬送により搬送され、原稿台ガラス面上の読取り位置を通過した原稿を読取る読取り手段と、前記読取り手段により読取った原稿のデータを回転して出力する回転手段を有している画像読取り装置であって、前記読取り手段により、前記読取り位置にある原稿台ガラス面を読取ったm値データをn値データ化(m>n)するn値化手段と、前記回転手段によって、前記n値化手段によってn値化されたデータを回転し、前記回転されたデータの副走査方向に構成される1ライン分のデータに対しn値化閾値以上である画素の数を数える算出手段と、前記算出手段とによって数えられた画素の数が第2の閾値以上であると、該画素の位置を記憶する記憶手段とを有することを特徴とする。
【発明の効果】
【0010】
本発明によれば、ゴミ検知処理に特化した目的のために設置される専用メモリを用いずに、原稿読取り時にも用いるハードウェアを兼用して、読取り位置に付着したゴミを検知することが可能になる。その結果、ゴミ検知処理に特化した回路の規模を縮小することができる。
【図面の簡単な説明】
【0011】
【図1】複写機の概観例を示す図である。
【図2】スキャナ部の構造例を示す図である。
【図3】スキャナ部の流し読み動作時の構造例を示す図である。
【図4】コントローラの構成例を示すブロック図である。
【図5】操作ユニットの構成例を示す図である。
【図6】画像回転部の構成例を示すブロック図である。
【図7】画像回転のための画像メモリからのデータ読み出しを示す図である。
【図8】画像回転部における回転例を示す図である。
【図9】実施例1のスキャナIF画像処理部の構成を示すブロック図である。
【図10】実施例1のゴミ検知部の構成例を示すブロック図である。
【図11】二値化スライスレベルを用いた二値化を説明するための図である。
【図12】ゴミ判定レベルを用いて行うゴミ判定を説明するための図である。
【図13】黒スジを含んだ白板データを示す図である。
【図14】白板データの回転処理を示す図である。
【図15】黒スジの入った画像を示す図である。
【図16】黒スジを補正するための補間演算の一例を説明するための図である。
【図17】実施例1の流し読みモードの流れを示すフローチャートである。
【図18】実施例1のゴミ検知処理の流れを示すフローチャートである。
【図19】実施例1のゴミ位置検出処理の流れを示すフローチャートである。
【図20】実施例2のスキャナIF画像処理部の構成を示すブロック図である。
【図21】実施例2のゴミ検知部の構成例を示すブロック図である。
【図22】実施例2のゴミ検知処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【実施例1】
【0013】
<複写機の外観>
図1は、実施例1における複写機の外観の一例を示す図である。
【0014】
画像読取手段であるスキャナ部140は、照明ランプの発光によって原稿上の画像を露光走査して得られた反射光をリニアイメージセンサ(CCDセンサ)に入力することで画像の情報を電気信号に変換する。スキャナ部140はさらに電気信号をR、G、B各色からなる輝度信号に変換し、この輝度信号を画像データとして図4にて後述するコントローラ200に出力する。
【0015】
原稿は、原稿フィーダ141のトレイ142にセットされる。ユーザが操作ユニット160から読取り開始を指示すると、コントローラ200はスキャナ部140に対して原稿読取り指示を送る。スキャナ部140はこの指示を受取ると、原稿フィーダ141のトレイ142から原稿を1枚ずつフィードして原稿の読取り動作を行う(以降この自動原稿搬送装置を用いて原稿を読取る動作モードを流し読みモードと呼ぶ)。また、流し読みモードの他に、後述する原稿台ガラス面上に原稿を置くことで、読取りを行う方法もある。
【0016】
プリンタ120は、コントローラ200から受取った画像データを用紙上に形成する画像形成デバイスである。
【0017】
本実施例における画像形成方式は、感光体ドラムや感光体ベルトを用いた電子写真方式である。また、プリンタ120は、異なる用紙サイズ又は異なる用紙向きに対応可能な複数の用紙カセット121、122、123を備える。排紙トレイ124には印字後の用紙が排出される。
【0018】
<複写機−スキャナ部>
図2は、実施例1におけるリニアイメージセンサを用いたスキャナ部140の主要構成及び読取動作を示す概略図である。図2において、1401は原稿台ガラスであり、読取りの対象となる原稿100が置かれている。原稿100は照明ランプ1402により照射され、その反射光はミラー1403、1404、1405を経て、レンズ1406によりCCDセンサ1407上に結像される。ミラー1403、照明ランプ1402を含む第1ミラーユニット1409は速度vで移動し、ミラー1404、1405を含む第2ミラーユニット1410は速度1/2vで移動することにより、原稿100の全面を走査する。第1ミラーユニット1409及び第2ミラーユニット1410はモータ1408により駆動する。CCDセンサ1407に入力された反射光はセンサによって電気信号に変換され、その画素の電気信号は図示しないA/D変換器によってデジタルデータに変換され、コントローラ200に画素信号Dinとして入力される。
【0019】
図3は、図2とは別で原稿フィーダ141を動作させることによって原稿を読取る流し読みモードの場合の主要構成及び読取動作を示す概略図である。図3において、読取られるべき原稿束100Pはトレイ142上に置かれている。
【0020】
図3の原稿搬送方向の下部には、送り出しローラ1411と分離搬送ローラ対1412、レジストローラ対1413が配置されている。送り出しローラ1411は図示しない駆動源により回転され、トレイ142上に置かれた原稿束100Pを送り出す。送り出しローラ1411の下流に配置された分離搬送ローラ対1412は搬送された原稿束100Pから最上位の原稿100を分離搬送する。分離搬送ローラ対1412の下流に配置されたレジストローラ対1413は、駆動源に接続して回転可能なレジストローラと従動ローラとから成る。レジストローラ対1413の回転開始は、以降の原稿100の搬送タイミングや画像読取タイミングの基準となる。
【0021】
これら送り出しローラ1411、分離搬送ローラ対1412、レジストローラ対1413を駆動する駆動源は、例えばステッピングモータなどとなる。
【0022】
レジストローラ対1413から排出された原稿100は、案内板1418に沿って進行し、回転する大径の搬送ローラ1415と従動ローラ1416a、1416b、1416cにより狭持され、搬送ローラ1415の外周に沿って搬送される。このとき、原稿100は、一度、原稿台ガラス1401の面上を通って図3の矢印の方向へ等速で搬送されることとなる。原稿100の画像読取手段による画像読取は、原稿100が原稿台ガラス1401の面上を通過する際に行われる。画像読取後は、引き続き搬送ローラ1415の外周に沿って搬送され、排紙ローラ1417によって原稿フィーダ141上に排出される。
このような流し読みモードでは、第1ミラーユニット1409や第2ミラーユニット1410といった光学系は移動させず、これら光学系を固定して原稿を読取る。この流し読みモードにおいては、原稿束100Pの各原稿を一定方向に移動させればよいだけなので、大量の原稿を連続して高速に読取ることが可能となる。
【0023】
なお、本実施例の後述するゴミ検知処理は、この流し読みモードの開始時(1枚目の原稿を読取る前)または紙間で搬送ローラ1415の白色面を読取ることで実行される。白色面とは、原稿を搬送していない時の画像読取り位置のことである。よって、ゴミ検知処理は、原稿読取り時には行わない。また、紙間とは流し読みモードにおいて、原稿100が原稿台ガラス1401の面上を通過していない区間や、読取られる原稿と原稿の間の区間である。
【0024】
この方式では棒状の光源を使用し、この光源の長手方向と平行に読取りラインを設定し、この読取りラインに対して直角な方向に原稿を搬送する。なお読取りラインと平行な方向を主走査方向と定義し、読取りラインと直角な方向(原稿搬送方向)を副走査方向と定義する。
【0025】
<複写機−コントローラ>
図4は、本実施例の複写機のハードウェア構成、特にコントローラの構成例を詳細に示すブロック図である。
【0026】
コントローラ200は、画像入力デバイスであるスキャナ部140や、画像出力デバイスであるプリンタ120や、LAN10や、公衆回線(WAN)12と接続され、複写機の動作を統括的に制御すると共に画像情報やデバイス情報の入出力制御を行う。
【0027】
CPU2100は、複写機全体を制御するプロセッサであり、ROM2120に記憶された制御プログラム等に基づいて接続中の各種デバイスとのアクセスを統括的に制御する。さらに、CPU2100は、コントローラ200内部で行われる各種処理についても統括的に制御する。RAM2110は、CPU2100が動作するためのシステムワークメモリであり、画像データなどを一時記憶するための画像メモリでもある。ROM2120は、ブートROMであり、システムのブートプログラムを格納する。HDD2130は、ハードディスクドライブで、主に、コンピュータを起動・動作させるために必要な情報(システムソフトウェア)や画像データを格納する。これらのデータは、HDD2130に限らず、電源が切れても記憶保持可能な記録媒体に格納してもよい。
【0028】
LANC(LANコントローラ)2200は、LAN10に接続し、ユーザPC20との間で出力用画像データの入出力や機器制御にかかわる情報の入出力を行う。ローカルIF(ローカルインタフェース)2210は、USBやセントロニクス等のインタフェースであり、ケーブル11にてユーザPC21やプリンタと接続し、データの入出力を行う。MODEM2220は、公衆回線12に接続し、データの入出力を行う。
【0029】
プリンタIF画像処理部2300は、プリンタ120と接続し、プリンタ120に搭載されたCPUと通信を行う。また、プリンタIF画像処理部2300は、画像データの同期系/非同期系の変換やプリント出力のための画像処理を行う。スキャナIF画像処理部2400は、原稿フィーダ141を含めたスキャナ部140と接続し、スキャナ部140に搭載されたCPUと通信を行う。また、スキャナIF画像処理部2400は、画像データの同期系/非同期系の変換や後述するゴミ検知処理やゴミ補正処理等を含めた画像読取のための画像処理を行う。
【0030】
画像回転部2500は、操作ユニット160を介してユーザにより設定された処理条件や原稿の向きに基づいて、入力された画像データに対する回転処理を行う。また、後述するゴミ検知処理中においても入力されたデータの回転処理を行う。よって、この画像回転部2500は、入力された原稿に対して回転処理を行う際に用い、またゴミ検知処理を行う際にも用いる兼用部である。
【0031】
画像圧縮伸張部2600は、多値の画像データをJPEGに、2値の画像データをJBIG、MMR、MH等に圧縮し、さらに必要に応じて圧縮された画像データを伸張する処理を行う。操作部IF2700は、操作ユニット160に表示する画像データをコントローラ200から操作ユニット160に出力し、かつ、複写機の使用者が操作ユニット160から入力した情報をコントローラ200に出力するためのインタフェースである。
【0032】
<複写機−操作部>
図5は、操作ユニット160の構成例を示す図である。
【0033】
液晶操作パネル161は、液晶とタッチパネルを組み合わせたものであり、操作画面を表示するとともに、表示キーがユーザにより押されるとその情報をコントローラ200に送る。スタートキー162は、原稿画像の読取り印刷の動作を開始するときや、その他機能の開始指示に用いられる。スタートキーには、緑色と赤色の2色のLEDが組み込まれ、緑色点灯時には開始可能を示し、赤色点灯時には開始不可であることを示す。ストップキー163は稼動中の動作を止める働きをする。ハードキー群164には、テンキー、クリアキー、リセットキー、ガイドキー、ユーザーモードキーが設けられる。
【0034】
<画像回転処理部>
図6は画像回転部2500の構成例を示すブロック図である。
【0035】
DMAC2510はDMAコントローラである。これは、CPUを介さずに、直接、RAM2110の指定された領域から画像データ等を読み出し、画像回転制御部2520へ出力する役割を担うDMAコントローラである。
【0036】
また、DMAC2540も同じくDMAコントローラであり、画像回転制御部2520が出力する画像データ等をRAM2110の指定された領域へ書き込む。
【0037】
以下に画像回転部2500の処理手順を示す。
CPU2100は、画像回転制御部2520に画像回転のための設定を行う。この設定により画像回転制御部2520には画像回転に必要な情報(例えば画像サイズや回転方向,角度等)が設定される。これらの必要な設定を行った後に、再度CPU2100からDMAC2510、DMAC2540に対して画像データ転送の許可を行う。この許可に従い、DMAC2510はRAM2110から画像データ等の読み出しを開始し、DMAC2540は画像回転制御部から画像データ等が出力され次第、RAM2110への画像データ等の書き込みを開始する。
【0038】
なお、ここでは回転を行う画像サイズを32×32(bit)とし、また、RAM2110に画像データを転送させる際に32bitを単位とするデータ転送を行うものとする。
【0039】
上述のように、32×32(bit)の画像を得るためには、図7に示す様に上述の32bit単位のデータ転送を32回行う必要があり、且つ不連続なアドレスから画像データを転送する必要がある。
【0040】
不連続アドレッシングにより転送された画像データは、読み出し時に所望の角度に回転されているように、画像回転バッファ2530に書き込まれる。例えば、90度時計方向回転であれば、最初に転送された32bitの画像データを、図8のように1bitずつY方向に書き込んでいく。これらを読み出し時にX方向に読み出すことで、画像は回転される。
【0041】
32×32(bit)の画像回転(画像回転バッファ2530への書き込み)が完了した後、画像回転制御部2520は画像回転バッファ2530から上述した読み出し方法で画像データを読み出し、DMAC2540に画像を転送する。
【0042】
回転処理された画像データを受取ったDMAC2540は、画像全体が所望の回転結果となるようにRAM2110上の定められたアドレスに画像データを転送する。
【0043】
こうした一連の処理は、CPU2100からの処理要求が無くなるまで繰り返される。
【0044】
<スキャナIF画像処理部>
図9は、スキャナIF画像処理部2400の構成例を示すブロック図である。
【0045】
前述した通り、図3で示した流し読みモードの場合は、読取り中にも入力原稿が移動するため、光学系固定位置の原稿読取り位置にゴミ、埃、傷、汚れ等が存在すると、スジ状の画像不良(スジ像/ゴミスジ)が発生してしまう。これは、原稿読み取り時に原稿より暗いゴミに対応する画素のレベルが、その周辺の画素レベルよりも低下してしまうことによって発生する。以下の説明においては黒スジ発生要因がゴミである場合を例として挙げるが、ゴミ以外の黒スジ発生要因であっても本実施例は適用可能である。
【0046】
シェーディング補正部2410には、スキャナ部140が出力するDinの画素信号(図2、図3参照)を入力する。シェーディング補正部2410は、公知の技術を用いて光学系や撮像系の特性による輝度ムラに対して、一様な明るさの画像になるように補正処理を施す。シェーディング補正処理の施された画素信号Dshが後段に出力される。
【0047】
ゴミ補正部2420は、原稿読取り位置に黒スジ発生要因となるゴミが付着した場合に、付着したゴミの検知位置情報Gを後述するゴミ検知部2440から取得し、そのゴミが原因で発生した読取り画像内の黒スジを目立ちにくくするための補正処理を行う。具体的には、ゴミ補正部2420は、黒スジの周辺に存在する正常画素を用いて、黒スジに対して補正処理を施す。以降、黒スジが生じた画素のことを異常画素と呼ぶ。ゴミ補正処理の詳細な補正方法に関しては後述する。ゴミ補正処理の施された画素信号Dhが後段へ出力される。
【0048】
ガンマ補正部2430は、公知の技術を用いて、読取り素子と機器との間の色特性の差を補正する。ガンマ補正処理の施された画素信号Dgが後段へ出力される。
【0049】
DMAC2450はDMAコントローラである。これは、CPUを介さずに、直接、ガンマ補正部2430が出力する画素信号Dgやゴミ検知部2440が出力するデータDkを画像メモリ(RAM2110)の指定された領域へデータDoutとして書き込む。また、DMAC2460は画像メモリ(RAM2110)の指定された領域からデータDin’を読み出し、ゴミ検知部2440へデータDk’として出力する役割を担うDMAコントローラである。このDMAC2460は後述するゴミ検知部2440が動作する場合のみ必要となる。よってゴミ検知処理動作時以外はスキャナIF画像処理部2400以外の処理部(例えばプリンタIF画像処理部2300)で画像メモリ(RAM2110)から画像データを読み出すために使用される構成としてもよい。このDMAC2460の共用は、ゴミ検知部2440の動作が流し読みモードの開始時または紙間に限定されるためにプリンタIF画像処理部2300等の動作とは排他動作となり、可能となる。
【0050】
ゴミ検知部2440は、原稿読取り時ではないとき、原稿読取り位置に黒スジ発生要因となるゴミが付着した場合に、付着したゴミの位置を検知する。検知されたゴミの位置情報Gはゴミ補正部2420に渡され、実際に黒スジの入った画像が入力された際に補正範囲(黒スジ個所)を特定するために使用される。なお、ゴミ位置情報Gとはゴミの主走査位置と幅から成る情報である。また、本実施例においてゴミ検知部2440は内部にラインメモリを保持していない構成となっており、ゴミ検知のために画像メモリ(RAM2110)とデータのやりとりを行う必要のある構成となっている。よって画像メモリに書き込むべきデータをDkとしてDMAC2450へ出力し、画像メモリから読み出すべきデータをDk’としてDMAC2460から入力できる構成となっている。
【0051】
<ゴミ検知部の前段処理詳細>
図10は実施例1におけるゴミ検知部2440の好適な一例を示す詳細図である。図10において、2441はフィルタ回路、2442はn値化回路、2443は累積カウンタ、2444は主走査方向ライン数カウンタ、2445はコンパレータ、2446はゴミ主走査画素位置判定回路、2447はゴミ判定結果保持部である。
【0052】
次にゴミ検知部2440の前段処理動作について各部の詳細とともに説明する。前段処理とはフィルタ回路2441とn値化回路2442の処理を示す。このn値化回路は、m値データをn値データ化(m>n)する。以下、本実施例では主にn=2の場合について説明するが、n値化回路2442では、元のm値のデータをmより小さいn値のデータに変更できればよい。なお、ゴミ検知部は、前述したように原稿フィーダ141を用いた流し読みモードの開始時や紙間で搬送ローラ1415上の白色面を読取った場合にのみ、その画素信号がDshとして入力され、動作が開始される。
【0053】
フィルタ回路2441ではシェーディング補正後の画素信号Dshに対して高周波成分を強調する等の処理を行い、ゴミの影響を検知しやすくするための前処理を行う。
【0054】
さらにn値化回路2442で所定のn値化スライスレベルとの比較によって画素信号をn値化する。n=2である2値化の様子を図11に示す。白色面にゴミが付着しており、画素信号に影響が出ていれば、この2値化結果は主走査方向の同一位置に対して、ほぼ毎ライン‘1’(n(この例ではn=2)値化スライスレベル超え)となる。
【0055】
この2値化結果はデータDkとして一度、DMAC2450に出力され、画像メモリ(RAM2110)の指定された領域に書き込まれる。
【0056】
<ゴミ検知処理における画像回転の詳細>
次に、図13及び図14(a)、図14(b)を用いて実施例1におけるゴミ検知処理中の画像回転の詳細を説明する。
【0057】
まず、図13はゴミ検知処理中に読取った搬送ローラ1415上における白色面の画像データの一例を示している。本実施例では主走査方向にX画素、副走査方向にYライン分読取っている。この読取った白色面の画像データを以降では白板データと呼ぶ。
【0058】
主走査方向のX画素は搬送する原稿幅と同じ画素数分読取り、副走査方向のYラインは、32〜64ライン分読取る。原稿読取り位置にゴミが付着している場合、ゴミ検知処理において、白色面を1ライン分読取ればそのゴミが検知できる。しかし、1ライン分しか読取らないと、例えば、原稿読取り位置に一瞬だけ付着したゴミやノイズ等、黒スジ発生原因とは無関係の付着物も検知してしまう。これにより、黒スジの原因となるゴミのみを検知する際に、ノイズが増えてしまう。よって、上記したように複数ライン読取りを行う。また、この値は経験値から設定されたものであり、この値に限定せず、黒スジ発生原因となるゴミを検知できる範囲で予め設定可能である。
【0059】
今、原稿読取り位置にゴミが付着していたものとすると図13に記載したように白板データ上にゴミによる黒スジが発生してしまう。この白板データがDinとしてスキャナIF画像処理部2400に入力され、ゴミ検知部2440に入力される。
【0060】
次に図14(a)にn値化回路2442にn値化された白板データを示す。読取った白板データの1画素を8bitデータとすると、2値化(n=2のとき)により、図に示したように、あたかも主走査方向のデータサイズが1/8に圧縮されたようなデータとなる。この2値化された白板データは前述の通り、データDkとしてDMAC2450によって画像メモリ(RAM2110)に書き込まれる。画像メモリ(RAM2110)には2値化後の白板データが書き込まれるのでこのとき必要な画像メモリ(RAM2110)の容量を抑えることができる構成となっている。ここで、画像メモリ(RAM2110)には図7に示したように主走査方向=X方向、副走査方向=Y方向として2値化された白板データが書き込まれる。回転される前の2値化白板データにおいて、主走査方向に配列された画素の位置を主走査方向N画素目で定義し、副走査方向に配列されたラインの位置を副走査方向Nライン目で定義する。この画像メモリ(RAM2110)に書き込まれた2値化された白板データは、画像回転部2500のDMAC2510によって32bitを単位として順次回転を行う画像サイズ32×32(bit)ごとに読み出されていく。
【0061】
次に図14(b)に画像回転後の2値化された白板データを示す。ここでは、ゴミ検知処理のために、2値化された白板データの主走査方向と副走査方向の配列を逆にする目的で90度回転を実施したものとする。90度回転とは、スキャナ部140で読取った画像データの主走査方向と副走査方向を変換することと同義となるので、この90度回転処理を以下では主・副変換とよぶ。2値化白板データは主・副変換されることによって、変換前の主走査方向の画素が副走査方向に配列され、変換前の副走査方向のラインが主走査方向に配列される。この主・副変換によって副走査方向に配列された変換前の主走査方向の画素位置を副走査方向N画素目で定義し、主・副変換によって主走査方向に配列された変換前の副走査方向のライン位置を主走査方向Nライン目で定義する。この図14(b)に示した変換後の2値化白板データはDMAC2540によって画像メモリ(RAM2110)に書き込まれ、さらにDMAC2460によって同データは読み出され、データDk’としてゴミ検知部2440に入力されることとなる。
【0062】
<ゴミ検知部の後段処理詳細>
次にゴミ検知部2440の後段処理動作について各部の詳細とともに図10を用いて説明する。後段処理とは累積カウンタ2443からゴミ判定結果保持部2447までの処理を示す。
【0063】
ゴミ検知部2440にはデータDk’がDMAC2460から入力される。データDk’とは画像メモリ(RAM2110)に書き込まれたデータDkが前述の画像回転部2500で90度回転され、主走査方向と副走査方向が変換されたものである。このデータDk’はDMAC2460によってゴミ検知部2440に入力される。
【0064】
累積カウンタ2443では入力されたデータDk’に含まれる1の数をカウントし、合計値を算出する。1とは、つまりn値化スライスレベル(n値化閾値)超えをした画素信号値を有するということ(n値化閾値以上の画素信号値を有するということ)である。このカウントはゴミ検知位置を特定するために副走査方向の複数ライン分の累積カウントを実行する必要がある。しかし、前述の画像回転部2500でデータDk’は白板データの主走査方向と副走査方向の配列を逆にした(主・副変換された)データとなっている。よって累積カウンタ2443は、次々に入力される1ライン分のデータDk’に含まれる1の数を単純に累積カウントしていくだけで上記回転前の副走査方向の累積カウント値が得られる構成となっている。ここで、この累積カウンタ2443はデータDk’の1の連続性によってカウント方式を変化させる構成としてもよい。例えば、n値化スライスレベルを超えた値(n値化閾値以上の値)を持つ画素の存在を示す1が連続A個続いたらカウントアップを開始する構成とし、ノイズの影響を軽減させる。また、n値化スライスレベル未満の値(n値化閾値未満の値)を持つ画素の存在を示す0が連続B個続いたらゴミの影響が消えたと判断し、一旦カウントをクリアする構成としてもよい。また、データDk’が何ライン目の信号かによってカウントアップの重み付けをし、ゴミ検出の精度を向上させる構成としてもよい(この詳細については、後述する)。これらの構成では累積カウンタ2443が次々に入力されるデータDk’をカウントしていくだけでよい構成となっているため、簡易な回路で実装可能となっている。
【0065】
また主走査方向ライン数カウンタ2444では、入力されるデータDk’がゴミの特定に必要な複数ライン分入力されたかを検出する。ここでは、カウント動作前にCPU2100によってゴミの特定に必要なライン数が主走査方向ライン数カウンタ2444に設定される。言い換えると搬送ローラ1415上の白色面を何ライン分読取ったかが設定される。よって、主走査方向1ライン分のデータであるデータDk’が何個入力されたかをラインカウンタでカウントし、そのライン数に到達したかどうかを検出する。到達したことを検出すると主走査方向ライン数カウンタ2444は累積カウンタ2443に累積カウント値クリア信号を出力する。また、後述するゴミ主走査画素位置判定回路2446に主走査位置カウントアップ信号を出力する。
【0066】
コンパレータ2445では、図12に示すような黒画素率を示すゴミ判定レベル(第2の閾値)と累積カウンタ2443から出力される累積カウント値を比較する。図示しているようにゴミ判定レベルを超える累積カウント値となった主走査位置をゴミ位置と判定する。図12では、主走査位置K画素目から3画素分がゴミ位置であると判定されたものを示している。これをもとに後段でゴミ位置情報Gが生成される。
【0067】
ゴミ主走査画素位置判定回路2446では、コンパレータ2445においてゴミ位置と判定されたものが具体的に主走査方向の何画素目かを判定する。ゴミ主走査画素位置は動作開始時は主走査方向0画素目に設定されており、主走査方向ライン数カウンタ2444から主走査位置カウントアップ信号を受け付けるとゴミ主走査画素位置を+1する。ゴミ主走査画素位置判定回路2446は後段のゴミ判定結果保持部2447に、主走査位置情報とゴミ判定結果を出力する。
【0068】
ゴミ判定結果保持部2447では、主走査位置情報とゴミ判定結果からゴミの主走査位置と幅からなるゴミ位置情報Gを生成・保持する。例えば主走査位置K画素目とK+1画素目、K+2画素目がゴミ主走査画素位置判定回路2446によってゴミだと判定されると、ゴミ判定結果保持部2447にはゴミ主走査位置−K画素目、ゴミ幅−3画素というゴミ位置情報Gが生成・保持される。
【0069】
ここでは、ある一定幅以上のゴミ判定結果を無視する構成としてもよい。これはハードウェアとして、回路によって修正できる幅に限界があるからである。またある一定個数以上のゴミ判定結果を保持しないとする構成としてもよい。これは、ハードウェアとして、回路によって保持できるゴミの個数に限界があるからである。
ゴミ位置情報Gはゴミ検知部2440から出力され、ゴミ補正部2420へ入力され実際に黒スジの入った画像が入力された際に補正範囲(黒スジ個所)を特定するために使用される。
【0070】
ここで、CPU2100が判定結果生成・保持部2447の出力であるゴミの位置情報Gを参照することが可能で、ゴミ検知の結果を知ることができる構成とし、CPU2100がゴミ補正部2420へゴミ位置情報を設定しにいく構成としてもよい。
【0071】
<ゴミ補正処理の詳細>
ゴミ補正処理はゴミ補正部2420で行われ、補正対象となった異常画素を周囲の画素で補間もしくは置き換えることで実現される。図15は黒スジ(異常画素)の入った画像を示している。黒スジは図に示しているように、流し読み時のゴミの影響で主走査方向のある特定位置にある幅をもって現れ、副走査方向にスジとして伸びる。
【0072】
次に図16にゴミ補正処理の詳細を示す。図のD1は左端参照隣接画素、D2は右端参照隣接画素、Kはゴミ補正処理開始位置からの画素位置、Wは異常画素幅を示している。このとき、線形補間することでゴミ補正処理を実行する場合は以下の式で補正結果Yを算出する。
Y=D1+K/W×(D2−D1)
また、演算を用いずに単純に周囲の正常画素(参照隣接画素)を用いて置き換え処理をすることでゴミ補正処理を実行してもよい。
【0073】
<流し読みモードのフローチャート>
図17〜図19は、実施例1における流し読みモード及びゴミ検知処理の流れを示すフローチャートである。図17に示すフローチャートはHDD2130に格納されたプログラムに従って、CPU2100が実行する。
【0074】
まずS1100において、読取るべき複数枚の原稿が原稿フィーダ141のトレイ142にセットされたことを検出する。
【0075】
次にS1200にて操作ユニット160のスタートキー162の押下を検知することによって流し読みモードを開始する。
【0076】
S1300では、一連のゴミ検知処理を実行する。ゴミ検知処理の詳細は図18、図19を用いて後述する。このゴミ検知処理は本フローチャートが示すように原稿の読取処理を実行していない区間で実行される。つまり、流し読みモードの開始時または紙間で実行されるものとなる。
【0077】
次にS1400では、実際に原稿フィーダ141を用いて原稿の読取を行う。この際、S1300によってゴミ検知結果(図7のゴミ位置情報Gに相当)が得られている場合には、ゴミ補正処理も実行されることとなる。
【0078】
S1500では続けて画像読取が行われるかどうかの判断を行う。これは原稿フィーダ141上のトレイ142にまだ原稿が残っているかどうかで判断される。トレイ142上に読取るべき原稿が残っているならばS1300に戻る。読取るべき原稿が残っていないならば、終了となる。
【0079】
<ゴミ検知処理のフローチャート>
図18では、ゴミ検知処理のフローチャートについて説明している。本フローチャートは図17のS1300を詳細に説明したものであり、スキャナ部140及びコントローラ200内のハードウェアが処理するものとなる。
【0080】
まずS1310にて白板データの読取をする。白板データとは前述したように搬送ローラ1415上の白色面を読取って得られる画像データである。これは、図3で示した位置で光学系を固定し、原稿100の搬送を開始する前の白色面の反射光をCCDセンサ1407にて取り込むことで得られる。
【0081】
次にS1320にて入力された白板データをn値化スライスレベルでn値化する。これはゴミ検知部2440のn値化回路2442に白板データが入力されることで実行される。
【0082】
次にS1330にて前ステップでn値化された白板データを主・副変換する。これは画像回転部2500にてn値化された白板データを90度回転することによって実行する。主・副変換のイメージは前述した図14(a)、図14(b)の通りである。ここで、ゴミ検知処理は流し読みモードの開始時または紙間で実行されるので、このとき実際の原稿読取処理は実行されていない。よって画像回転部2500がゴミ検知処理と同時のタイミングで他の処理で使われることはなく、ゴミ検知処理の所望のタイミングで画像回転部2500を使用することができることとなる。
【0083】
S1340では、主・副変換されたn値化後の白板データを用いて、一連のゴミ位置を検出するための処理を実行する。ゴミ位置検出処理の詳細は図19を用いて後述する。
【0084】
<ゴミ位置検出処理のフローチャート>
図19では、ゴミ位置検出処理のフローチャートについて説明している。本フローチャートは図18のS1340を詳細に説明したものであり、スキャナIF画像処理部2400のゴミ検知部2440内の各ハードウェアが処理するものである。
【0085】
まずS1341では、主走査方向ライン位置i、副走査方向画素位置j、累積カウント値kをそれぞれ初期化している。前述した画像回転部2500によって主・副変換された白板データでは副走査方向に配列され、変換前には主走査方向に並行に配列されていた画素において、(回転後の)副走査方向N画素目にある画素を位置jで定義する。また、画像回転部2500によって主・副変換された白板データの主走査方向に配列され、変換前には副走査方向に並行に配列されていたラインにおいて、(回転後の)主走査方向Nライン目を位置iで定義する。累積カウント値kとは累積カウンタ2443にてカウントされるn値化回路2442にてn値化スライスレベル超えをした画素(n値化閾値以上である画素)の数である。
【0086】
S1342では、位置(i、j)の入力データを累積カウンタ2443にて受け付ける。ここで、入力データとは前述のn値化され、主・副変換処理された白板データを指している。なおS1342〜S1349はすべて累積カウンタ2443の処理である。
【0087】
S1343では、入力データが1かどうかの判定が累積カウンタ2443にて実行される。1であった場合にはS1344に処理が進む。
【0088】
S1344では、入力データの1の連続性を検出している。具体的には入力データが1を示す画素が(回転後の)主走査方向(i方向)に何個続いて発生しているかを判定している。このような判定を入れることでn値化の際に発生するノイズの影響を低減する。この場合のノイズとはゴミではないのにn値化で1となってしまった画素である。入力データが1を示す画素が連続回数AをいくつにするかはCPU2100によって累積カウンタ2443に対して予め設定できる。連続回数A以上であった場合にはS1345に進む。
【0089】
S1345では、連続回数A以上であった入力データの主走査方向のライン位置(i)が何ライン目以上かを判定している。このような判定を入れることで累積カウンタ2443のカウントアップに重み付けをすることができるようになる。つまり、データをラインごとに順に読取り、ライン閾値であるCライン目以降を読取る際、n値化閾値以上である画素の数を重み付けしながら累積する。カウントアップに重み付けを開始するライン閾値CをいくつにするかはCPU2100によって累積カウンタ2443に対して予め設定できる。重み付けをすることによって白板データの読取の後半部(ライン閾値Cライン目以降)のカウントアップ値を前半部(Cライン未満入力)より大きくすることができる。これにより、白板読取中にゴミが付着した場合などのゴミ検出度を向上できる。
【0090】
S1346では、S1345で入力データの主走査方向のライン位置(i)がCライン目未満と判定された場合に実行され、累積カウント値kを+1する。
【0091】
また、S1347では、S1345で入力データの主走査方向のライン位置(i)がCライン目以降と判定された場合に実行され、累積カウント値kを+2する。
【0092】
S1346、S1347の処理が実行されるとS1350に進む。また、S1344にて入力データが1を示す画素の連続回数がA回未満であると判定された場合にもS1350に進む。
S1343にて入力データが0を示す画素であると判定された場合にはS1348に進む。
【0093】
S1348では、入力データが0を示す画素の連続性を検出している。具体的には入力データの0が主走査方向(i方向)に連続何ライン発生しているかを判定している。このような判定を入れることでゴミの誤判定の可能性を低減する。具体的には白板読取中にゴミの付着が取れた場合の誤判定を低減させる。連続回数BをいくつにするかはCPU2100によって累積カウンタ2443に対して予め設定できる。連続回数L(連続回数の閾値)以上であった場合にはS1349に進む。
【0094】
S1349では、S1348にて連続回数の閾値B以上であった場合に累積カウント値であるkをクリア(初期化)している。これは入力データの0が閾値であるB回続いたことによってゴミの付着がないと判断するためである。
【0095】
S1348にて連続回数B以下と判定された場合にはS1350に進む。
【0096】
また、S1344〜S1349に示したような入力データの連続性は本実施例のように入力前に入力データに主・副変換を施すことによって小さい回路規模で実現できるようになっている。つまり、見るべき連続性の方向を副走査から主走査方向に変換することによって連続性検出のために保持すべきデータ情報を短縮させ、バッファ容量を大幅に低減している。
【0097】
S1350では、入力データの主走査方向ライン位置iが最終ライン位置かどうかの判定を行う。本判定は、主走査方向ライン数カウンタ2444にて入力データの数をカウントすることで行う。
【0098】
S1350にて最終ライン位置と判定されなかった場合にはS1351にて主走査方向ライン位置iを+1してS1342に戻り、次の入力データを受け付ける。S1350にて最終ライン位置と判定された場合には、S1352に進む。
【0099】
S1352では、累積カウンタ2443にてカウントされた累積カウント値kがゴミ判定レベル以上(第2の閾値以上)かどうかの判定を行う。本判定はコンパレータ2445にて実行される。累積カウント値kがゴミ判定レベル以上だった場合にはS1353に進む。そうでなければS1354に進む。
【0100】
S1353では、コンパレータ2445にてゴミ判定レベル以上となった入力データの(回転後の)副走査方向の画素位置(j)をゴミ位置としてゴミ判定結果保持部2447がゴミ補正部2420にセットする。具体的にはゴミ主走査画素位置判定回路2446にてそのときの入力データにおける副走査方向の画素位置(j)を判断し、ゴミ判定結果保持部2447に通知する。なお、副走査方向の画素位置(j)とは主・副変換前における白板データの主走査方向の画素位置情報と同一となる。ゴミ判定結果保持部2447は、ゴミの主走査位置と幅からなるゴミ位置情報Gを上記通知により保持し、ゴミ補正部2420に出力(セット)する。
【0101】
S1354では、主走査方向ライン位置i、累積カウント値kをクリアし、副走査方向の画素位置(j)におけるゴミ位置検出処理を終了させる。主走査方向ライン位置iのクリアは主走査方向ライン数カウンタ2444が自身における入力データの数のカウント値をクリアし、カウントを中止すること実行する。また累積カウント値kのクリアは主走査方向ライン数カウンタ2444が累積カウンタ2443に累積カウント値クリア信号を出力することで実行する。
【0102】
S1355では、入力データの副走査方向画素位置jが最終画素位置かどうかの判定を行う。本判定は、ゴミ主走査画素位置判定回路2446の副走査方向の画素位置(j)が最終画素位置かどうかで判定する。最終画素位置とは主・副変換前の白板データの主走査方向の最終画素かどうかを指している。
【0103】
S1355にて最終画素位置と判定されなかった場合には副走査方向画素位置jをS1356にて+1してS1342に戻り、次の入力データを受け付ける。S1355にて最終画素位置と判定された場合には、ゴミ位置検出処理を終了する。
【0104】
本実施例1においては、ゴミ検知処理時に入力された白板データをゴミ検知部で2値化してから主・副変換処理をすることで、バッファ容量を大幅に低減し小さい回路規模でゴミ判定を行うことが可能になる。
【0105】
なお、閾値である画素数は、予めユーザによって設定可能である。
【実施例2】
【0106】
実施例1においては、ゴミ検知処理時に入力された白板データをゴミ検知部でn値化してから主・副変換処理をしていた。しかし、本実施例においては、入力された白板データを主・副変換処理してからゴミ検知部でn値化する。このような構成をとることで、原稿読取処理で動作するパスと白板データ読取処理で動作するパスをスキャナIF画像処理部内で同一のものとできる。さらにそれら動作パスとゴミ検知部が動作する場合のスキャナIF画像処理部内での動作パスを完全に分離することができる。よって回路設計を容易化でき、さらに回路検証性が向上する。特にゴミ検知部のみが回路に組み込まれていないスキャナIF画像処理部にゴミ検知部のみを追加実装する場合などに有効である。
【0107】
以下、図面を参照して、本実施例を詳細に説明する。
【0108】
<複写機―スキャナ部―コントローラ−操作部>
実施例2における複写機の外観構成、スキャナ部の構成、及びコントローラの構成は図1、図2、図3、図4、図6に示す構成と同じである。また、図5の操作部の構成も同じである。実施例2は、コントローラのスキャナIF画像処理部2400内部の構成が実施例1とは異なる。
【0109】
<スキャナIF画像処理部>
実施例1におけるスキャナIF画像処理部2400と同一箇所に配置される実施例2のスキャナIF画像処理部3400の内部について図20を用いて説明する。
【0110】
シェーディング補正部3410、ゴミ補正部3420、ガンマ補正部3430は、図9のシェーディング補正部2410、ゴミ補正部2420、ガンマ補正部2430の機能を有している。ただしシェーディング補正処理の施された画素信号Dshは実施例2においてはゴミ補正部に入力されるのみとなっている。
【0111】
DMAC3450とDMAC3460は、図9のDMAC2450、DMAC2460と同様の機能のDMAコントローラである。しかし、実施例1の図9と異なり、DMAC2450はガンマ補正部3430が出力する画素信号Dgのみを画像メモリ(RAM2110)の指定された領域へデータDoutとして書き込む。
【0112】
このような構成によってゴミ検知処理時における白板データは、n値化されずに画像データとして画像メモリ(RAM2110)に書き込まれ、さらに画像回転部2500にて主・副変換される。よってDinからDoutまでの処理の流れは原稿読取時と白板データ読取時で同一のものとなる。
【0113】
また、実施例2において画像回転部2500に入力される白板データが1画素当り8bit階調だとすると、90度回転処理(主・副変換)もこの階調に合わせて実行する。つまり、実施例1で説明した1bit単位での画像回転バッファへの書き込みや読み出しを1byte単位で実施する。
【0114】
<ゴミ検知部>
図21は、実施例2におけるゴミ検知部3440の好適な一例を示す構成図である。
【0115】
図21において、3441はフィルタ回路、3442はn値化回路、3443は累積カウンタ、3444は主走査方向ライン数カウンタ、3445はコンパレータ、3446はゴミ主走査画素位置判定回路、3447はゴミ判定結果保持部である。
【0116】
3441〜3447までのそれぞれ個々のブロックが持つ機能は実施例1の図10における2441〜2447のブロックと同等の機能となる。実施例2ではそれぞれのブロックの接続構成における一部が実施例1と異なる。
【0117】
実施例2においてフィルタ3441に入力されるデータDk’はDMAC3460によって画像メモリ(RAM2110)から読み出された主・副変換処理後の8bit階調の白板データである。フィルタ回路の出力は2値化回路3442の入力となる。
【0118】
2値化回路3442では実施例1と同様に所定のn値化スライスレベルとの比較によって入力された画素信号をn値化する。n値化回路の出力は直接累積カウンタ3443及び副走査カウンタ3444の入力となる。
【0119】
以下3443〜3447までの接続構成は実施例1と同様となる。このように白板データを画像回転部2500にて90度回転処理(主・副変換)後にn値化する構成をとることでゴミ検知部3440への画素信号の入力をDk’のみとしている。
【0120】
<処理フローチャート>
実施例2における流し読みモードのフローチャートは実施例1の図17と同様となる。しかしゴミ検知処理のフローチャートが実施例1とは異なる。
【0121】
図22は、実施例2におけるゴミ検知処理の流れを示すフローチャートである。本フローチャートは図17のS1300を実施例2として詳細に説明したものであり、スキャナ部140及びコントローラ200内のハードウェアが処理するものである。
【0122】
まずS2310にて白板データの読取をする。白板データとは搬送ローラ1415上の白色面を読取って得られる画像データである。これは、図3で示した位置で光学系を固定し、原稿100の搬送を開始する前の白色面の反射光をCCDセンサ1407にて取り込むことで得られる。
【0123】
次にS2320にて前ステップで読取られた白板データを主・副変換する。これは画像回転部2500にて画像メモリ(RAM2110)上に書き込まれた白板データを90度回転することによって実行する。主・副変換のイメージは前述した図14(a)、図14(b)の通りである。ただし、n値化されていない白板データを画素単位(8bit階調であれば1byte単位)で回転処理させる点が異なる。ここで、ゴミ検知処理は流し読みモードの開始時または紙間で実行されるので、このとき実際の原稿読取処理は実行されていない。よって画像回転部2500がゴミ検知処理と同時のタイミングで他の処理で使われることはなく、実施例1と同様にゴミ検知処理の所望のタイミングで画像回転部2500を使用することができる。
【0124】
次にS2330にて入力された主・副変換された白板データをn値化スライスレベルでn値化する。これはゴミ検知部3440のn値化回路3442に主・副変換された白板データが入力されることで実行される。
【0125】
S2340では、一連のゴミ位置を検出するための処理を実行する。ゴミ位置検出処理の詳細は実施例1の図19と同様となる。
【0126】
本実施例2においては、ゴミ検知判定処理時に入力された白板データをゴミ検知部で主・副変換処理をしてから、n値化処理を行う。これにより、原稿読取り処理で動作するパスと読取り処理で動作するパスをスキャナIF画像処理部内で同一できる。
【0127】
また、ゴミ検知部が回路に組み込まれていないスキャナIF画像処理部にゴミ検知部のみを追加実装する場合、容易にゴミ検知部を追加実装することができる。
【0128】
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
自動原稿搬送により搬送され、原稿台ガラス面上の読取り位置を通過した原稿を読取る読取り手段と、前記読取り手段により読取った原稿のデータを回転して出力する回転手段を有している画像読取り装置であって、
前記読取り手段により、前記読取り位置にある原稿台ガラス面を読取ったm値データをn値データ化(m>n)するn値化手段と、
前記回転手段によって、前記n値化手段によってn値化されたデータを回転し、前記回転されたデータの副走査方向に構成される1ライン分のデータに対し、n値化閾値以上である画素の数を数える算出手段と、
前記算出手段によって数えられた画素の数が第2の閾値以上であると、該画素の位置を記憶する記憶手段とを有することを特徴とする画像読取り装置。
【請求項2】
さらに、前記記憶手段によって記憶された位置に配置された画素の位置を、ゴミが読取られた位置と判定し、該ゴミが読取られた位置の画素のデータを補正する補正手段を有することを特徴とする請求項1に記載の画像読取り装置。
【請求項3】
前記記憶手段によって記憶された画素の配置された位置を、前記回転手段によって回転し、主走査方向と副走査方向が変換される前の配置された位置に変換することを特徴とする請求項1に記載の画像読取り装置。
【請求項4】
前記読取り手段によって複数枚の原稿を読取る場合、原稿を読取った後、次の原稿を読取る前に、前記読取り位置にある原稿台ガラス面を読取ることを特徴とする請求項1記載の画像読取り装置。
【請求項5】
前記算出手段による算出の結果、前記n値化閾値以上である画素がA個続いて配置された場合にのみ、前記記憶手段により前記n値化閾値以上である画素を記憶することを特徴とする請求項1記載の画像読取り装置。
【請求項6】
前記算出手段による算出の結果、前記n値化閾値以上ではない画素がB個続いて発生した場合、前記算出手段を中止することを特徴とする請求項1記載の画像読取り装置。
【請求項7】
前記読取り手段によって前記1ライン分のデータをラインごとに読取る際、ライン閾値であるCライン目以降を読取ると、前記算出手段は、n値化閾値以上である画素の数を重み付けしながら累積することを特徴とする請求項1記載の画像読取り装置。
【請求項8】
自動原稿搬送により搬送され、原稿台ガラス面上の読取り位置を通過した原稿を読取る読取り手段と、前記読取り手段により読取った原稿のデータを回転して出力する回転手段を有している画像読取り装置の制御方法であって、
前記読取り手段により、前記読取り位置にある原稿台ガラス面を読取ったm値データをn値データ化(m>n)するn値化ステップと、
前記回転手段によって、前記n値化ステップによってn値化されたデータを回転し、前記回転されたデータの副走査方向に構成される1ライン分のデータに対し、n値化閾値以上である画素の数を数える算出ステップと、
前記算出ステップによって数えられた画素の数が第2の閾値以上であると、該画素の位置を記憶する記憶ステップとを有することを特徴とする画像読取り装置の制御方法。
【請求項9】
さらに、前記記憶ステップによって記憶された位置に配置された画素の位置を、ゴミが読取られた位置と判定し、該ゴミが読取られた位置の画素のデータを補正する補正ステップを有することを特徴とする請求項8に記載の画像読取り装置の制御方法。
【請求項10】
前記記憶ステップによって記憶された画素の配置された位置を、前記回転手段によって回転し、主走査方向と副走査方向が変換される前の配置された位置に変換することを特徴とする請求項7に記載の画像読取り装置の制御方法。
【請求項11】
前記読取り手段によって複数枚の原稿を読取る場合、原稿を読取った後、次の原稿を読取る前に、前記読取り位置にある原稿台ガラス面を読取ることを特徴とする請求項8記載の画像読取り装置の制御方法。
【請求項12】
前記算出ステップによる算出の結果、前記n値化閾値以上である画素がA個続いて配置された場合にのみ、前記記憶ステップにより前記n値化閾値以上である画素を記憶することを特徴とする請求項8記載の画像読取り装置の制御方法。
【請求項13】
前記算出ステップによる算出の結果、前記n値化閾値以上ではない画素がB個続いて発生した場合、前記算出ステップを中止することを特徴とする請求項8記載の画像読取り装置の制御方法。
【請求項14】
前記読取り手段によって、前記1ライン分のデータをラインごとに読取る際、ライン閾値であるCライン目以降を読取ると、前記算出ステップは、n値化閾値以上である画素の数を重み付けしながら累積することを特徴とする請求項8記載の画像読取り装置の制御方法。
【請求項15】
コンピュータに請求項8乃至14に記載の方法を実行させるためのプログラム。
【請求項1】
自動原稿搬送により搬送され、原稿台ガラス面上の読取り位置を通過した原稿を読取る読取り手段と、前記読取り手段により読取った原稿のデータを回転して出力する回転手段を有している画像読取り装置であって、
前記読取り手段により、前記読取り位置にある原稿台ガラス面を読取ったm値データをn値データ化(m>n)するn値化手段と、
前記回転手段によって、前記n値化手段によってn値化されたデータを回転し、前記回転されたデータの副走査方向に構成される1ライン分のデータに対し、n値化閾値以上である画素の数を数える算出手段と、
前記算出手段によって数えられた画素の数が第2の閾値以上であると、該画素の位置を記憶する記憶手段とを有することを特徴とする画像読取り装置。
【請求項2】
さらに、前記記憶手段によって記憶された位置に配置された画素の位置を、ゴミが読取られた位置と判定し、該ゴミが読取られた位置の画素のデータを補正する補正手段を有することを特徴とする請求項1に記載の画像読取り装置。
【請求項3】
前記記憶手段によって記憶された画素の配置された位置を、前記回転手段によって回転し、主走査方向と副走査方向が変換される前の配置された位置に変換することを特徴とする請求項1に記載の画像読取り装置。
【請求項4】
前記読取り手段によって複数枚の原稿を読取る場合、原稿を読取った後、次の原稿を読取る前に、前記読取り位置にある原稿台ガラス面を読取ることを特徴とする請求項1記載の画像読取り装置。
【請求項5】
前記算出手段による算出の結果、前記n値化閾値以上である画素がA個続いて配置された場合にのみ、前記記憶手段により前記n値化閾値以上である画素を記憶することを特徴とする請求項1記載の画像読取り装置。
【請求項6】
前記算出手段による算出の結果、前記n値化閾値以上ではない画素がB個続いて発生した場合、前記算出手段を中止することを特徴とする請求項1記載の画像読取り装置。
【請求項7】
前記読取り手段によって前記1ライン分のデータをラインごとに読取る際、ライン閾値であるCライン目以降を読取ると、前記算出手段は、n値化閾値以上である画素の数を重み付けしながら累積することを特徴とする請求項1記載の画像読取り装置。
【請求項8】
自動原稿搬送により搬送され、原稿台ガラス面上の読取り位置を通過した原稿を読取る読取り手段と、前記読取り手段により読取った原稿のデータを回転して出力する回転手段を有している画像読取り装置の制御方法であって、
前記読取り手段により、前記読取り位置にある原稿台ガラス面を読取ったm値データをn値データ化(m>n)するn値化ステップと、
前記回転手段によって、前記n値化ステップによってn値化されたデータを回転し、前記回転されたデータの副走査方向に構成される1ライン分のデータに対し、n値化閾値以上である画素の数を数える算出ステップと、
前記算出ステップによって数えられた画素の数が第2の閾値以上であると、該画素の位置を記憶する記憶ステップとを有することを特徴とする画像読取り装置の制御方法。
【請求項9】
さらに、前記記憶ステップによって記憶された位置に配置された画素の位置を、ゴミが読取られた位置と判定し、該ゴミが読取られた位置の画素のデータを補正する補正ステップを有することを特徴とする請求項8に記載の画像読取り装置の制御方法。
【請求項10】
前記記憶ステップによって記憶された画素の配置された位置を、前記回転手段によって回転し、主走査方向と副走査方向が変換される前の配置された位置に変換することを特徴とする請求項7に記載の画像読取り装置の制御方法。
【請求項11】
前記読取り手段によって複数枚の原稿を読取る場合、原稿を読取った後、次の原稿を読取る前に、前記読取り位置にある原稿台ガラス面を読取ることを特徴とする請求項8記載の画像読取り装置の制御方法。
【請求項12】
前記算出ステップによる算出の結果、前記n値化閾値以上である画素がA個続いて配置された場合にのみ、前記記憶ステップにより前記n値化閾値以上である画素を記憶することを特徴とする請求項8記載の画像読取り装置の制御方法。
【請求項13】
前記算出ステップによる算出の結果、前記n値化閾値以上ではない画素がB個続いて発生した場合、前記算出ステップを中止することを特徴とする請求項8記載の画像読取り装置の制御方法。
【請求項14】
前記読取り手段によって、前記1ライン分のデータをラインごとに読取る際、ライン閾値であるCライン目以降を読取ると、前記算出ステップは、n値化閾値以上である画素の数を重み付けしながら累積することを特徴とする請求項8記載の画像読取り装置の制御方法。
【請求項15】
コンピュータに請求項8乃至14に記載の方法を実行させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【公開番号】特開2011−250178(P2011−250178A)
【公開日】平成23年12月8日(2011.12.8)
【国際特許分類】
【出願番号】特願2010−121769(P2010−121769)
【出願日】平成22年5月27日(2010.5.27)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成23年12月8日(2011.12.8)
【国際特許分類】
【出願日】平成22年5月27日(2010.5.27)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]