(57)【特許請求の範囲】
【請求項１】
画像を一定の時間間隔で線順次に走査して読み取る画像読取装置において、
原稿の走査領域外に設けられ、ほぼ副走査方向に沿って設定された所定の方向に対して一定の傾きαを有する複数本の線からなる第１のパターンと、
原稿の走査領域外に設けられ、前記所定の方向に対して前記第１のパターンとは逆方向の一定の傾き−αを有する複数本の線からなり、副走査方向で重複するように前記第１のパターンに対して近接して配置された第２のパターンと、
これら第１および第２のパターンの全ての画素を読み込むことによって傾きが異なるパターンのそれぞれに対応した画素の位置誤差を測定する手段と、
この測定する手段によって測定された値に基づいて画素の位置誤差の測定データを正しい位置誤差測定データに修正する手段と、
この修正された画素の正しい位置誤差データに基づいて読み取られた画像データを補正する手段と、
を備えていることを特徴とする画像読取装置。
【請求項２】
読み取った斜線パターンの画像データに順次ウィンドウを設定してウィンドウ内の画像データの重心を計算する手段と、
前記計算された重心の値の変化に基づいて前記第１及び第２のパターンのそれぞれの位置誤差を求める手段と、
前記位置誤差を求める手段によって求められた前記第１及び前記第２のパターンの位置誤差から両パターンの位置誤差の差を求める手段と、
前記求められた位置誤差の差を記憶する手段と、
通常の読取時には前記第１および第２のいずれか一方のパターンを使用して位置誤差を測定し、前記記憶する手段に記憶された位置誤差の差の値に基づいて画素の位置誤差の測定データを正しい位置誤差測定データに修正する手段と、
をさらに備えていることを特徴とする請求項１記載の画像読取装置。
【請求項３】
前記記憶する手段は不揮発性であることを特徴とする請求項２記載の画像読取装置。
【請求項４】
読み取った斜線パターンの画像データに順次ウィンドウを設定してウィンドウ内の画像データの重心を計算する手段と、
読み取り装置の画素の位置誤差を測定し、ノイズが含まれる測定位置誤差データに基づいて前記ウィンドウを設定して読み取った画像データのノイズ低減処理を行う手段と、
をさらに備え、ノイズ低減処理を行った後、前記重心を計算する手段によって前記ウィンドウの重心を計算することを特徴とする請求項１記載の画像読取装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、読み取ったビットマップ形式の画像データの位置誤差を測定して画像データの画素の位置誤差を補正する画像読取装置に関する。
【０００２】
【従来の技術】
この種の画像読取装置として例えば日本機械学会第７１期通常総会講演会講演論文集（ＩＶ）で発表された「高精細画像入力装置の開発」（従来例１）が知られている。ここでは、副走査方向に並べて配置された等ピッチラインのテストチャートを読み取った画像、すなわち、副走査方向のライン間隔で離散化された画像データに対して補間演算を行い、演算された結果から、等ピッチラインの黒線、白線の中心位置を求め、テストチャートの基準ピッチとの差を読み取ることで、装置の振動などに起因する画像データの読み取り位置誤差を検出するようになっている。
【０００３】
他の従来例として特開平６−２９７７５８号公報「走査線ピッチ計測方法」（従来例２）も知られている。この公知例は、等ピッチパターンのデータを書き込んだハードコピーのパターンを読み取ってハードコピー装置の書き込みの走査線のピッチむらを計測するようになっている。
【０００４】
【発明が解決しようとする課題】
ところで、上記従来例１では、等ピッチラインのパターンのエッジと読み取りのサンプリングのタイミングとの位置関係の相違により同じ形状のパターンを読み取って得られるデータがそれぞれ異なってしまうモアレという現象がある。読み取ったデータはこのモアレによって必ずしもパターンのエッジの位置と対応しないので、位置誤差の測定精度を劣化させる。モアレの影響は、等ピッチラインパターンを精細にして読み取り装置の分解能に近づけると非常に顕著になり、条件によっては位置誤差の測定ができなくなるほどになる。したがってこの方式では、読み取り装置の分解能に近い、あるいはそれ以下の位置誤差を高精度で測定することはできない。
【０００５】
また、等ピッチラインのパターンを使うので、モアレの影響を無視しても、高い周波数成分の位置誤差を測定するためにパターンのピッチを精細にすると、結像光学系のＭＴＦ（Ｍｏｄｕｌａｔｉｏｎ  Ｔｒａｎｓｆｅｒ  Ｒａｔｉｏ）の限界によって得られた画像の濃淡の信号の差が小さくなり、測定精度が劣化せざるを得ない。
【０００６】
さらに、パターンの精細化では、測定の周波数帯域を高い方向に広げ、精度を上げることができないのでサンプリングしたデータを補間する処理を行っている。より良い補間を行うには、より多くの周辺データを使ったり、複雑な演算処理が必要になり、処理時間が長くなる。さらに補間はあくまでも補間であり、真のデータとのずれが生じることは避けられず、測定精度を劣化させる要因になる。
【０００７】
また、光電変換装置の中の特定の１つの受光素子が副走査方向に走査することによって得られる画像データを使用しているので、受光素子そのものが持つノイズが測定そのものの精度に影響を与えて、精度を劣化させる。
【０００８】
従来例２では、計測時には光電変換装置でパターンを読み込んだデータを使うので、計測に当たってはハードコピーの読み取り時の走査むらはないという条件で読み取ってハードコピーのピッチむらを計測している。その他、特に説明しないが、前述の従来例１と同様のモアレの問題を有する。
【０００９】
これらの問題を解決するために、本出願人は特願平７−２６０４３８号をすでに出願した。この中で、位置誤差を測定するための走査方向に対して一定の傾きを有する複数の線から形成されるパターンを画像読取装置に設置する際に生じるいくらかの位置ずれを検出して位置誤差を求めることができる技術を提案した。
【００１０】
この技術では、斜線パターンを設置した際の位置ずれを補正するために、測定した位置誤差データから線形近似によって斜線パターンの傾きを求めて位置ずれを補正するようにしている。
【００１１】
しかし、スキャナの走査速度の平均速度が所定値でない場合にも位置誤差データは傾きを持つため、斜線パターンの位置ずれによる傾きかスキャナの走査速度の平均速度のずれによる傾きかを分離することまでは配慮されていなかった。また、装置のコストにとって読み取るの数が増えると、その分コストが上昇することは明白であるが、ＣＣＤの数を考慮してコストを下げることまでは配慮されていなかった。
【００１２】
本発明はこのような背景に鑑みてなされたもので、その第１の目的は、斜線パターンの位置ずれとスキャナの走査速度の平均速度からのずれを分離し、修正することによって正しい位置誤差データを得ることができるとともに、前記位置誤差データに基づいて画素の位置誤差を補正して位置ずれのない画像読取装置を提供することにある。
【００１３】
また、第２の目的は、ＣＣＤの画素数を減らし、コストの削減を図ることができる画像読取装置を提供することにある。
【００１４】
さらに、第３の目的は、斜線パターンの背景部に汚れや他のパターンなどが存在しても、これらの汚れやパターンが原因となって正しい測定ができなくなることのない画像形成装置を提供することにある。
【００１５】
【課題を解決するための手段】
上記目的を達成するため、第１の手段は、画像を一定の時間間隔で線順次に走査して読み取る画像読取装置において、原稿の走査領域外に設けられ、ほぼ副走査方向に沿って設定された所定の方向に対して一定の傾きαを有する複数本の線からなる第１のパターンと、原稿の走査領域外に設けられ、前記所定の方向に対して前記第１のパターンとは逆方向の一定の傾き−αを有する複数本の線からなり、副走査方向で重複するように前記第１のパターンに対して近接して配置された第２のパターンと、これら第１および第２のパターンの全ての画素を読み込むことによって傾きが異なるパターンのそれぞれに対応した画素の位置誤差を測定する手段と、この測定する手段によって測定された値に基づいて画素の位置誤差の測定データを正しい位置誤差測定データに修正する手段と、この修正された画素の正しい位置誤差データに基づいて読み取られた画像データを補正する手段とを備えていることを特徴とする。
【００１６】
第２の手段は、第１の手段にさらに、読み取った斜線パターンの画像データに順次ウィンドウを設定してウィンドウ内の画像データの重心を計算する手段と、前記計算された重心の値の変化に基づいて前記第１及び第２のパターンのそれぞれの位置誤差を求める手段と、前記位置誤差を求める手段によって求められた前記第１及び前記第２のパターンの位置誤差から両パターンの位置誤差の差を求める手段と、前記求められた位置誤差の差を記憶する手段と、通常の読取時には前記第１および第２のいずれか一方のパターンを使用して位置誤差を測定し、前記記憶する手段に記憶された位置誤差の差の値に基づいて画素の位置誤差の測定データを正しい位置誤差測定データに修正する手段とを設けたことを特徴としている。
【００１７】
第３の手段は、第２の手段における記憶する手段は不揮発性であることを特徴としている。
【００１８】
第４の手段は、第１の手段において、読み取った斜線パターンの画像データに順次ウィンドウを設定してウィンドウ内の画像データの重心を計算する手段と、読み取り装置の画素の位置誤差を測定し、ノイズが含まれる測定位置誤差データに基づいて前記ウィンドウを設定して読み取った画像データのノイズ低減処理を行う手段とをさらに備え、ノイズ低減処理を行った後、前記重心を計算する手段によって前記ウィンドウの重心を計算することを特徴とする。
【００１９】
【発明の実施の形態】
以下、図面を参照し、本発明の実施の形態について説明する。
【００２０】
１．画像読取装置の概略構成
まず、図１を参照して本実施例の読み取り装置の概略を説明する。コンタクトガラス１は筐体８により支持され、原稿は読み取り面を下にしてコンタクトガラス１上に載置される。コンタクトガラス１上の原稿は光源２により照明され、読み取り面の反射光が第１ミラー３、第２ミラー４、第３ミラー５により順次反射され、次いでレンズ６により光電変換装置７上のライン状の光電変換素子の受光面に結像されて電気信号に変換される。
【００２１】
光源２と第１ミラー３は不図示の第１キャリッジに取り付けられ、この第１キャリッジは原稿を線順次で読み取るために原稿面との距離を一定にしたまま不図示の駆動装置により副走査方向（図の左右方向）に移動する。また、第２ミラー４と第３ミラー５は不図示の第２キャリッジに取り付けられ、この第２キャリッジは第１キャリッジの１／２の速度で副走査方向に移動する。このような方法によりコンタクトガラス１上の所定の範囲を線順次で読み取ることができる。
【００２２】
また、図２に示すようにコンタクトガラス１の回りの筐体８には、シェーディング補正のために基準濃度を光電変換素子に読み取らせるための基準濃度板９が主走査方向に延びるように取り付けられると共に、第１キャリッジの副走査方向の走査位置または走査速度を検出するために図３に示すように白地上に一定幅、４５°および１３５°の角度の多数の黒の斜線Ｌの２種類の斜線パターン１０ａ，１０ｂが形成された測定用パターン１０が副走査方向に２段に等ピッチで形成されている。基準濃度板９は光電変換装置７により読み取られて、ライン状の光電変換素子毎の感度バラツキや、照明むら、レンズ６の周辺光量の低下等を補正するために用いられ、また、これらの第１および第２の斜線パターン１０ａ，１０ｂも同様に光電変換装置７により読み取られる。なお、斜線パターン１０ａ，１０ｂは画像データとともに光電変換装置７で読み込むので、原稿と同様に光電変換素子の受光面に結像する必要があり、コンタクトガラス１の原稿が置かれる面に設けられる。しかし、コンピュータなどに画像を取り込んで位置誤差を測定する場合には、原稿読取領域に斜線パターン１０ａ，１０ｂを設置するようにしてもよい。
【００２３】
なお、この図３は図２の第１および第２の斜線パターン１０ａ，１０ｂとコンタクトガラス１の要部拡大図である。斜線パターン１０ａ，１０ｂは、走査方向に一定の相対する傾きを持った複数の直線から構成される。本来、測定用パターン１０は走査方向に対して平行であることが望ましいが、測定用パターン１０の材質や組み付け時のばらつきなどによって位置がずれてしまう場合があり、図３はこのように位置がずれてしまったときの状態を示している。この発明は、この位置ずれと画像読取装置の走査速度の平均速度からのずれを考慮して位置誤差を求めるものである。
【００２４】
この斜線パターン１０は第１の斜線パターン１０ａと第２の斜線パターン１０ｂとが、副走査方向で交差し、各パターンの先端部が他方パターンの側面に対して近接した位置に達している。
【００２５】
２．システム構成
図４に本発明の実施形態に係る画像読取装置に組み込まれる位置誤差測定装置のシステム構成を示す。なお、この位置誤差測定装置は画像読取装置への付加機能として組み込まれ、リアルタイムで画素の位置誤差を測定するものである。
【００２６】
すなわち、位置画素測定装置は、光電変換部１０１と、Ａ／Ｄ変換部１０２と、シェーディング補正部１０３と、斜線判別部１０４と、位置誤差測定部１０５と、位置誤差補正部１０６と、制御部１０７と、記憶部１０８から構成されている。光電変換部１０１は、この実施形態ではラインＣＣＤからなり、読み取った画像が電気信号に変換される。電気信号に変換された画像はＡ／Ｄ変換部１０２でデジタルの多値の画像データに変換される。変換されたデータは照明の不均一さ、レンズの周辺光量の低下、光電変換部１０１の画素間の感度の違いなどをシェーディング補正部１０３で補正され、補正されたデータは斜線判別部１０４に入力される。斜線判別部１０４では、画像データの測定用パターン１０部分を判別し、その判別結果を制御部１０７に出力する。また、画像データは位置誤差測定部１０５に入力され、副走査方向の読み取りラインごとにライン間の位置誤差を測定し、測定結果の誤差信号を出力する。位置誤差測定部１０５では、走査方向に対して一定の傾きの複数の斜線からなる斜線パターン１０ａ，１０ｂに対する位置誤差を測定し、測定した２つの位置誤差データから正しい位置誤差データに修正し、修正された位置誤差の測定データを誤差信号として出力する。位置誤差補正部１０６では、画像データと位置誤差データである誤差信号から位置誤差を補正した画像データを生成し、ビデオ信号として出力する。なお、各部（１０１〜１０６）は制御部１０７によってそれぞれタイミングの制御、動作条件の設定などがなされ、相互に関連して動作するようになっている。また、記憶部１０８は後述の斜線パターン１０ａ，１０ｂの位置ずれ量を記憶する。
【００２７】
３．測定原理
引き続き、位置誤差測定部における読取誤差の測定原理について説明する。
【００２８】
まず、位置誤差を測定する処理は以下のようになる。
図５の矢印で示す主走査方向は、光電変換装置（図４における光電変換部１０１に対応）としてラインＣＣＤ７が線順次で同時に読み取る１ラインの画素の並びと、この並列データを直列データに変換したときの時間軸上の順序を示している。また、矢印で示す副走査方向は、主走査方向の１ラインを読み取る範囲を順次移動させながら読み取る方向を示している。なお、移動手段としては図２に示すように原稿を固定して走査光学系を移動させる形式の他に、走査光学系を固定して原稿を移動させる形式がある。
【００２９】
図５において主走査方向と副走査方向の各平行な線により囲まれた４角形領域を画素とすると、この画素により構成される平面は、原稿の画像を電気信号に変換した場合に原稿画像の写像がそのまま並んでいるという形で捉えることができる。なお、これはビットマップということもある。このデータはラインＣＣＤ７からリアルタイムで出力される時には主走査方向、副走査方向が時間的な順序を有するが、メモリに取り込んだ状態ではそれぞれの画素を任意にアクセスすることができるので、主走査方向、副走査方向、時間の順序にとらわれないで扱うことができる。
【００３０】
図５はまた、主走査方向、副走査方向の画素サイズが等しい場合において、副走査方向の走査速度が変動しないときの４５°の斜線の読み取りデータａと、走査速度が変動するときの読み取りデータｂをビットマップに対応させて示している。すなわち、読み取りデータａは副走査方向の読み取りタイミングを制御するクロックに対応する所定の一定速度で走査したときを示し、ビットマップとしても４５°の斜線像である。
【００３１】
これに対し、読み取りデータｂは走査速度の変動に応じて傾きが異なる。副走査方向の区間Ａ−Ｂは走査速度が「０」のときを示し、この場合には副走査方向の読み取りタイミングを制御するクロックによりビットマップのアドレスが進んでも読み取り位置が変わらないので、副走査方向に平行な線となる。また、区間Ｂ−Ｃは走査速度が所定速度の１／２のときを示し、この場合にはビットマップのアドレスが進んでもその半分しか進まない位置の画像を読み取るのでその読み取り画像の角度は約２６．５７°（ｔａｎ  θ＝０．５）である。区間Ｃ−Ｄは所定速度で走査しているときを示し、４５°の角度が得られる。Ｄ以降の区間は走査速度が所定速度の２倍の場合を示し、その角度は約６３．４°である。
【００３２】
したがって、走査速度が変動すると像の傾きが異なることを測定原理として、言い換えれば斜線の主走査方向への移動量が副走査方向に移動速度に対応することを測定原理として、原稿固定方式での読み取りの場合は、キャリッジの副走査方向の走査速度のむらと、自動原稿搬送方式での読み取りの場合は、原稿の搬送速度のむらと、ミラー３〜５、レンズ６、光電変換部（ＣＣＤ）７の振動などに起因するビットマップ画像の画素の位置誤差を測定することができる。
【００３３】
なお、図５では正方形の画素を示したが、画素が正方形ではなく、例えば主走査方向の分解能が４００ｄｐｉ、副走査方向の分解能が６００ｄｐｉのような画素にも適用することができる。また、４５°以外の斜線を用いても同様に、斜線画像の主走査方向への移動量が副走査方向の読み取り速度に依存するという関係が成立するので、画素の位置誤差を計測することができる。
【００３４】
４．斜線パターン判別処理
次に、斜線判別部における斜線パターン判別処理について説明する。図６は図５と同様にビットマップに斜線がある場合を示し、図７はその場合の８ビット（０〜２５５）の読み取り値を示している。なお、０＝白、２５５＝黒であり、主走査方向の座標をＸｎ、副走査方向の座標をＹｍとしている。また、図８は主走査方向３画素×副走査方向３画素の斜線パターン検知用ウィンドウを示し、図８（ａ）〜（ｅ）はそれぞれ主走査方向に１画素づつシフトしたウィンドウを示している。
【００３５】
ここで、図８（ａ）に示すウィンドウ（Ｘ２〜Ｘ４、Ｙ１〜３）内の中心画素の挟む対角方向、すなわち中心画素を含む左上斜め方向の３つの画素値の和Ｐａと右下斜め方向の３つの画素値の和Ｑａを計算すると、
0003614271.tif 000002
となる。
【００３６】
同様に、図８（ｂ）〜（ｅ）について求めると、
0003614271.tif 000003
となる。
【００３７】
次に、中心画素と右下斜め方向の３画素（中心画素を含む）の差Ｒを求めると、
Ｒａ＝１５−５＝１０
Ｒｂ＝２２２−７＝２１５
Ｒｃ＝６６７−９＝６５８
Ｒｄ＝７５０−３３＝７１７
Ｒｅ＝７５１−４５４＝２９７
となる。
【００３８】
この差Ｒの値が大きい場合に３×３画素のウィンドウ内に斜線パターンが有ることを示す。したがって、例えばＲの値が５００以上の場合に斜線パターンが有ると判断すれば図８（ｃ），（ｄ）に示すウィンドウ内に斜線パターンが有ると判断することができる。
【００３９】
次に、図９を参照して他の斜線パターン判別処理を説明する。図９（ａ）〜（ｅ）はそれぞれ図８（ａ）〜（ｅ）に示すウィンドウ内の各値を閾値＝１２８で２値化した場合を示し、同様に各ウィンドウ内の中心画素を含む左上斜め方向の３つの画素値の和Ｐａ〜Ｐｅと右下斜め方向の３つの画素値の和Ｑａ〜Ｑｅを計算すると、
0003614271.tif 000004
となる。
【００４０】
次に、中心画素と右下斜め方向３画素（中心画素を含む）の差Ｒａ〜Ｒｅを求めると、
Ｒａ＝０−０＝０
Ｒｂ＝１−０＝１
Ｒｃ＝３−０＝３
Ｒｄ＝３−０＝３
Ｒｅ＝３−２＝１
となる。
【００４１】
したがって、この場合にも同様にこの差Ｒの値が大きい場合に３×３画素のウィンドウ内に斜線パターン１０ａ，１０ｂが有ることを示し、例えばＲａ〜Ｒｅの値が２以上の場合に斜線パターン１０ａ，１０ｂが有ると判断すれば図９（ｃ），  （ｄ）に示すウィンドウ内に斜線パターン１０ａ，１０ｂが有ると判断することができる。また、このように画素値を２値化することにより、加算演算を簡単にすることができる。
【００４２】
図１０（ａ）〜（ｄ）は斜線パターン検出用のマッチングパターンを示し、図中の白領域は「０」、黒領域は「１」を表している。先ず、画像データを図９に示すように２値化し、その２値化データと図１０（ａ）〜（ｄ）に示すマッチングパターンを比較し、合致した場合に斜線パターン１０ａ，１０ｂがあると判断する。この例では、図９（ｃ）と図１０（ｂ）、及び図９（ｄ）と図１０（ａ）が合致しており、このウィンドウ内に斜線パターン１０ａ，１０ｂがあると判断される。
【００４３】
なお、上記実施形態では、ウィンドウの大きさを３×３としたが、もちろんウィンドウサイズが異なる場合にも同様な判断方法により斜線パターン１０ａ，１０ｂを検知することができる。但し、一般にウィンドウサイズが大きい程、判別精度は上がるが、その分処理時間が長くなり、また回路規模も大きくなる。
【００４４】
５．位置誤差の測定処理
次に、位置誤差測定部における位置誤差の測定処理について説明する。図１１は図５に示すビットマップにおける図３の斜線パターン１０ａ，１０ｂの複数個の斜線（図では５本の斜線Ｋａ１〜Ｋａ３、Ｋｂ１〜Ｋｂ２）を示し、また、この複数個の斜線を用いて位置誤差を測定するための１０×３のサイズのウィンドウＷを示している。
【００４５】
まず、左側の斜線パターン１０ａの斜線Ｋa1から位置誤差を求める場合について説明する。最初にウィンドウＷ内のデータ位置を求めるために主走査方向の重心を演算する。ウィンドウはＷa1→Ｗa2→Ｗa3 のようにウィンドウＷを斜め左下４５°の方向に順次シフトする。このとき常にウィンドウ内に斜線Ｋa1が収まるように制御される。そして、ウィンドウが所定の主走査方向のアドレスに達したとき、この場合には、ウィンドウＷanに到達すると、ウィンドウＷを主走査方向のみに移動させて次の斜線Ｋa3のウィンドウＷan+1に移動させる。ウィンドウは同様にしてＷan+1→Ｗan+2→Ｗan+3と移動する。
【００４６】
右側の斜線パターンＫｂ１についても同様に、ウィンドウはＷｂ１→Ｗｂ２→Ｗｂ３のようにウィンドウＷを斜め右下４５°の方向に順次シフトする。そして、ウィンドウが所定の主走査方向のアドレスに達したとき、この場合には、ウィンドウＷｂｎに到達すると、ウィンドウＷを主走査方向のみに移動させて次の斜線Ｋｂ２のウィンドウＷｂｎ＋１に移動させる。ウィンドウは同様にしてＷｂｎ＋１→Ｗｂｎ＋２→Ｗｂｎ＋３と移動する。
【００４７】
ここで、重心の値が変化した場合には、何らかの原因により画素の位置が移動したことになり、これによって位置誤差を求めることができる。位置誤差の主要な要因が副走査方向の走査速度のむらによることが分かっている場合には、位置誤差のデータから速度むらにデータを変換することは容易である。
【００４８】
また、ＣＣＤ固有のノイズを始めとして様々なノイズが画像データに含まれているが、重心を求めるために周辺の画素のデータを含む多数の画素のデータを用いているので、重心を求める過程でノイズの影響を軽減してＳ／Ｎ比が高い測定が可能となる。この場合、通常、ウィンドウの画素の数が多い程、Ｓ／Ｎ比が高くなる。ウィンドウの形状は、主走査方向の重心を求めるので主走査方向に大きいほうが望ましく、副走査方向のサイズは１ラインでも測定可能である。
【００４９】
６．重心の測定処理
次に、重心の測定処理は、図１２のフローチャートに示す手順で行われる。この処理は、原稿の走査開始と同時にスタートし、先ず、主走査方向、副走査方向の各座標値Ｘ、Ｙがイニシャライズ（Ｘ＝０，Ｙ＝０）される（ステップＳ１）。この座標値Ｘ、Ｙは斜線判別用の例えば３×３のウィンドウ内のある画素位置例えば中心画素の座標となる。次に、１本の斜線に対する測定回数を示す変数ｉがイニシャライズ（ｉ＝０）される（ステップＳ２）。
【００５０】
次に位置誤差測定部１０５により斜線判別用の３×３のウィンドウ内に斜線パターンが存在するか否かが判断され（ステップＳ３）、無い場合にはその３×３のウィンドウを主走査方向に１画素分シフト（Ｘ＝Ｘ＋１）する（ステップＳ４）。なお、このシフト量はウィンドウの大きさ、斜線の太さに応じて決められ、１画素以上でもよい。ステップＳ３において斜線パターンが存在する場合には、重心測定用の例えば１０×３のウィンドウＷ１  を設定し、そのウィンドウＷ１  内の重心を求める（ステップＳ５）。このとき、ウィンドウＷ１  の大きさ、斜線の太さに応じて、斜線と判別された画素の位置から主走査方向に整数画素分だけシフトし、斜線の部分がウィンドウＷ１  の中心付近になるようにウィンドウＷ１  を設定してもよい。
【００５１】
重心の測定を終了すると、重心のズレを計算し（ステップＳ６）、次いで主走査方向に−１画素分、副走査方向に＋１画素分シフトしたウィンドウＷ２  を設定し、また、測定回数用のカウント値ｉを１つインクリメントする（ステップＳ７）。なお、この実施形態では、ウィンドウＷを１画素づつ移動させているが、画素の位置誤差を起こす原因となる振動などの周波数帯域が低い場合には、２画素以上ずつ移動させてもよく、この方法により測定に要する時間を短縮することができる。
【００５２】
次いで、予め設定された同一ラインの測定回数ｎに対してｉ＝ｎとならない場合にはステップＳ８からステップＳ５に戻り、他方、ｉ＝ｎとなった場合すなわちウィンドウＷｎ  に達した場合には次の斜線のウィンドウＷｎ＋１  に移動させる（ステップＳ８→Ｓ９）。その方法としては、斜線の主走査方向の間隔に相当する画素分より整数画素ｍだけ、ウィンドウ座標を主走査方向にシフトした後、測定カウント値ｉをクリアし（ステップＳ２）、斜線判別処理（ステップＳ３）に戻る。以下同様に、１本の斜線に対してウィンドウＷｎ＋１  、Ｗｎ＋２  、Ｗｎ＋３  〜のように移動させて位置誤差を測定する。
【００５３】
このように複数の斜線を用いて位置誤差を測定することにより、読取装置の読み取り範囲が縦長であっても、副走査領域の全域に渡って位置誤差を測定することができる。更に、主走査方向の狭い幅だけ測定するので、主走査方向の中央部、手前、奥側のように分けて測定することもできる。また、高い分解能で位置誤差を測定する場合にも、斜線のパターンを細くする必要は全くなく、システムのＭＴＦの制約を受けずに幅が広いパターンを用いることができる。
【００５４】
更に、幅が広いパターンを用いた場合、幅に応じてウィンドウも大きくなるので結果として測定精度を向上させることができる。したがって、斜線の幅は処理速度、リアルタイム処理を行う場合にはバッファのサイズ、回路規模の経済性などとのバランスを考慮して設定すればよい。また、幅が広いパターンを用いてその片側のエッジを検出することにより位置誤差を測定することができる。更に、例えば副走査方向の読み取りタイミングに関係なく白黒パターンを副走査方向に配列するとモアレの発生が問題となるが、本実施形態では副走査方向の読み取りタイミングと斜線の関係は常に同じであるのでモアレの発生が問題とならず、その結果、高精度で位置誤差を測定することができる。
【００５５】
７．ウィンドウデータと重心の計算
次に、ウィンドウのデータと重心の計算について詳細に説明する。
図１３はウィンドウデータと斜線パターンの各画素の読み取り値の関係を示し、読み取り値は８ビットであって１０進（０〜２５５）で示されている。主走査方向の重心を求めるには、副走査方向の各列（３ライン分）の和を求め、図に示すようにこれを左側からＸ０、Ｘ１〜Ｘ９として、それぞれ１８、５０、２０２、４２７、５９０、５６２、３４５、１５０、３７、１４を求める。そして、各画素の主走査方向の中心座標を左から順に０〜９とし、主走査方向の重心位置をＲｍとすると、重心位置Ｒｍの回りのモーメントは０になるので、
Ｘ０（Ｒｍ−０）＋Ｘ１（Ｒｍ−１）・・・＋Ｘ９（Ｒｍ−９）＝０
が成り立ち、数値を代入して計算するとＲｍ＝４．３６２が得られる。
【００５６】
重心を求める理由は、補間などの前処理を必要とせず、演算を簡素化、高速化することができるからである。また、画像位置を求める場合、各列毎のデータの和の並びから補間により所定の分解能のデータ列を得て、そのデータからピーク値が存在する位置を求める方法を用いることができる。
【００５７】
８．チャートの重心の計算
次に、複数本の斜線から成るチャートの重心を計算する場合について説明する。図１１に示すように複数本から成る斜線の重心を計算する場合、同一線上の線では問題とならないが、違う線にウィンドウが移動したときには移動前と移動後では斜線の主走査方向の間隔が丁度、整数画素数でない限り重心の値が異なるので、補正しなければならない。一例として図１１に示す斜線Ｋａ２のウィンドウＷａｎの重心の値Ｒａｎが４．６５となり、次の斜線Ｋａ３に移動した場合のウィンドウＷａｎ＋１の重心の値Ｒａｎ＋１が４．３８、ウィンドウＷａｎ＋２の重心の値Ｒａｎ＋２が４．４０、ウィンドウＷａｎ＋３の重心の値Ｒａｎ＋３が４．４１となった場合、ウィンドウが移動したラインにおける重心の差ΔＲａ  を計算すると、
ΔＲａ  ＝Ｒａｎ−Ｒａｎ＋１＝４．６５−４．３８＝０．２７
となる。
【００５８】
この値ΔＲａ  を斜線Ｋａ３の重心の値に加算し、この加算結果を重心の値として位置誤差を求める。この場合、ウィンドウＷａｎ＋２の重心の値Ｒａｎ＋２、ウィンドウＷａｎ＋３の重心の値Ｒａｎ＋３は、
Ｒａｎ＋２＝Ｒａｎ＋２＋ΔＲａ  ＝４．４０＋０．２７＝４．６７
Ｒａｎ＋３＝Ｒａｎ＋３＋ΔＲａ  ＝４．４１＋０．２７＝４．６８
となる。したがって、このように複数本の斜線からなるチャートを使用しても、連続して高精度で位置誤差を測定することができる。ただし、斜線Ｋａ２のウィンドウＷａｎから斜線Ｋａ３のウィンドウＷａｎ＋１に移動する場合、斜線Ｋａ２、Ｋａ３は主走査方向に同時に存在しなければならない。
【００５９】
図１４は斜線の配置関係を示し、長さＬ１  の複数の斜線が主走査方向に対して角度θで配置され、主走査方向の斜線の始点と終点の位置が同一の場合、主走査方向の斜線間隔をＬ２  とすると、
Ｌ２  ＜Ｌ１  ×ｃｏｓ  θ                                    ・・・（１）
の関係が成り立つように斜線を配置すれば、斜線は主走査方向には重なるので、ウィンドウを主走査方向に移動して次の斜線の重心を連続して測定することができる。ここで、斜線の長さＬ１  と斜線の始点、終点の主走査方向の位置は式（１）の大小関係が大きいほど精度を必要としなくなる。
【００６０】
９．位置誤差の修正方法
９．１  第１の方法
図１５、図１６、図１７は、コンタクトガラス１と走査方向に対して相対した４５°の複数の斜線からなる斜線パターン１０ａ，１０ｂの一部拡大図である。
【００６１】
図１５は測定用パターン１０がコンタクトガラス１に対して平行に位置ずれなく設置されて平均速度も所定の場合を示す。この場合には、前述のビットマップパターンにも４５°の斜線パターンが形成される。この場合の位置誤差の測定結果は図１８のようになる。この図は、副走査方向の位置に対して本来あるべき位置から実際の読取位置の副走査方向の距離を位置誤差として示している。なお、単位はドットである。平均速度が等倍時における所定値の場合は、図１８に示すように「０」を中心として位置誤差が測定される。このとき、左右の斜線パターン１０ａ，１０ｂでの差は見られない。
【００６２】
図１６は測定用パターン１０がコンタクトガラス１に対して平行に位置ずれなく設置されて平均速度が所定値より少し速い場合を示す。この場合には、ビットマップパターンには４５°より少し大きい角度、すなわち左右の斜線パターン１０ａ，１０ｂが開く方向で形成される。このときの位置誤差の測定結果を図１９に示す。この図から分かるように平均速度が所定の値と異なる場合には、位置誤差の測定結果に傾きが生じてくる。所定値よりも速い場合には、傾きが増す。このときの左右の斜線パターン１０ａ，１０ｂでの差は見られない。
【００６３】
図１７は測定用パターン１０がコンタクトガラス１に対して少し傾いて設置され、平均速度が所定値よりも速い場合を示す。この場合には、図１７に示すように斜線パターン１０ａ，１０ｂが傾くと、左側の斜線パターン１０ｂは走査方向に対して角度が小さくなる方向に傾きに、右側の斜線パターン１０ａは走査方向に対して角度が大きくなる方向に傾く。この場合の位置誤差の測定結果を図２０に示す。図２０において、左側の斜線パターン１０ｂは実際の平均速度よりも斜線が傾いた分だけ速度が速い方向に検知され、傾きが増す方向で測定される。右側の斜線パターン１０ａは逆に、平均速度よりも斜線が傾いた分だけ速度が遅い方向に検知され、傾きが減る方向で測定される。このように検知されるので、左側の斜線パターン１０ｂから求めた位置誤差測定データと右側の斜線パターン１０ａから求めた位置誤差測定データとの平均をとると、両者の斜線パターン１０ａ，１０ｂ全体の傾きを相殺することになり、測定用パターン１０の傾きにかかわらず、真の位置誤差データを得ることができる。
【００６４】
このように走査方向に対して相異なる角度の斜線パターン１０ａ，１０ｂを用いてそれぞれの位置誤差を測定することによって測定用パターン１０の位置ずれと平均速度の所定値からのずれを分離することができ、また、右、左それぞれの斜線パターン１０ａ，１０ｂの位置誤差データの平均を取ることによって測定用パターン１０に位置ずれがあっても位置誤差を正確に測定することができる。
【００６５】
図２１は図２０の測定結果の右側の斜線パターン１０ａを用いて測定した位置誤差データから左側の斜線パターン１０ｂを用いて測定した位置誤差データの差を取ってプロットした結果である。この線は測定用パターン１０の傾きを示している。このように走査方向に対して相異なる２つの斜線パターン１０ａ，１０ｂから求めた位置誤差のデータの差によって測定用パターン１０の位置ずれ量を検知することができる。
【００６６】
９．２  第２の方法
上記の第１の方法のような制御により斜線パターンを位置ずれを検知することができるが、この位置ずれ量は通常変化することはない。したがって、図２１に示した斜線パターン１０ａ，１０ｂの位置ずれ量を前記記憶部１０８に記憶しておき、通常の読み取り時には、左右いずれかの斜線パターン１０ａ，１０ｂを使用して位置誤差を測定し、随時記憶部１０８から前記いずれかの斜線パターン１０ａ，１０ｂの位置ずれ量を読み出して測定した位置誤差データを修正することによって斜線パターンの位置ずれ量を検知することができる。斜線パターンの位置ずれは通常変化しないため、電源立ち上げ時、あるいはサービスマンによる調整時に行えばよい。その場合、前記記憶部１０８を不揮発性の記憶手段、例えば不揮発性ＲＡＭを使用すれば、電源が切られても位置ずれ量を記憶しておくことができるので、電源オン時に再度位置ずれ量を計算する必要はなくなる。
【００６７】
１０．ノイズの除去方法
コンタクトガラス１や測定用パターン１０上にごみや傷があった場合に、位置誤差を測定しようとするとノイズとなって表われる。また、ウィンドウｗａが図２２に示すような位置にあるとき、左側の斜線パターン１０ａのＡの部分の重心を求めたいのに、右側の斜線パターン１０ｂもウィンドウＷａ内にあるので、斜線パターン１０ｂのＢの部分の画像データを０にする必要がある。
【００６８】
斜線パターン１０を読み取った画像データの主走査ラインのデータは図２３に示すように斜線の一方のエッジに対応する領域では、単調に増加し、反対側のエッジに対応する領域では、単調に減少する。  この特性を使って斜線の中央位置に対応する位置を求め、その位置から所定の距離以上離れた位置の画素のデータを０にする。
【００６９】
その他の方法としては、孤立点を除去する方法がある。この方法では、斜線の幅は決まっているので、前述のように単調に増加した位置から単調に減少するまでの距離が斜線の幅以下の場合は、孤立点であると判断して除去する。同じ斜線の線幅がある場合は、左側の斜線パターン１０ａの位置誤差を求める場合に右側の斜線パターン１０ｂを０とする。このような処理を行うことによってノイズを低減することが可能となり、測定の精度を高めることができる。
【００７０】
１１．位置誤差補正処理
位置誤差補正部における読み取りデータの補正は次のようにして行われる。
すなわち、この実施形態では３次関数コンボリューションを利用して補正を行う。図２４に３次関数コンボリューションを利用した補正のモデル図を、図２５に補正の処理手順を示すフローチャートを示す。図から分かるように速度ムラがない場合の副走査方向の画素位置は、画素列Ｐで示すように等間隔となる。しかし、速度ムラがある場合には、画素列Ｑで示すようにその間隔はバラツキ、正しい位置から外れてくる。図は本来Ｐｎの位置になければならない画素が実際には画素Ｑｎ  の位置にあることを示している。
【００７１】
ここで、ｎライン目のある走査方向のデータＰｎ  の画像データ（濃度データ）を画素列Ｑの画像データと位置データとから重み関数である３次関数コンボリューションを使用して作成する例について説明する。
【００７２】
３次関数コンボリューションを利用する場合、理想的なｎライン目（Ｐｎ）の位置から２画素分以内（ｒ０）のデータを位置誤差データから検出する（ステップ１７１，１７２）。この場合は、Ｑｎ  、Ｑｎ＋１  、Ｑｎ＋２  、Ｑｎ＋３  、Ｑｎ＋４  のデータが対象となる。ここで２画素分以内としているのは、ｒ０  以上のデータは補正係数を０として取り扱うのでそれ以上のデータは必要がないためである。そして、各データのＰｎ  からの距離ｒによって各データＱにおける補間関数ｈ（ｒ）を求める。これが補正係数となる（ステップ１７３）。ここで、補間関数ｈ（ｒ）はｓｉｎｘ／ｘの区分的３次多項式近似で中心からの距離ｒによって以下の式、すなわち、
ｈ（ｒ  ）＝１−２｜ｒ｜２  ＋｜ｒ｜３                                  ・・・（２）
ただし、０≦｜ｒ｜＜１
ｈ（ｒ  ）＝４−８｜ｒ｜＋５｜ｒ｜２  −｜ｒ｜３              ・・・（３）
ただし、１≦｜ｒ｜＜２
ｈ（ｒ  ）＝０                                              ・・・（４）
ただし、２≦｜ｒ｜
で表わされる。そして、この補間関数ｈ（ｒ）のもとで、補正係数を対応するＱのデータに掛けて、Ｐｎ  を求める。また、濃度ムラを補正するために各補正係数の合計が１になるように分母に補正係数の合計をとる。すなわち、
0003614271.tif 000005
となる（ステップ１７４）。
【００７３】
この制御をｎライン目の各主走査方向のデータにおいて終了したら、ｎ＋１ライン目へのラインをシフトしていき、最終ラインまで繰り返し行う（ステップ１７５）。このとき式（５）において補間係数ｈ（ｒ）と分母の補間係数の和の計算とその逆数の計算は、対応する主走査方向の画像データの補正の前に１回実行すればよい。このように制御することによって前述のようにして測定した位置誤差データに基づいて、読み取った画像データから正しい位置で読み取った場合の画像データを作成することができ、これによって位置誤差を補正することが可能になる。
【００７４】
このようにして補正した前後の状態を図２６に示す。通常の読取装置はキャリッジが走査を開始してから一定速度になった後に画像の読み取りを開始するが、図２６（ａ）では位置誤差を大きく見せるためにキャリッジが走査を開始した直後から画像の読み取りを始めたものを図示している。このとき、４５度の斜線も同時に読み込んでおり、この斜線パターン部分の画像から前述の方式で位置誤差を求め、その位置誤差データと読み取った画像データとから位置誤差を補正した画像が図２６（ｂ）に示すものである。このようにして補正することによってたとえ位置誤差を非常に大きく読み取ってしまったとしても、原稿に忠実な画像を再現できることがわかる。
【００７５】
１２．ＣＣＤの画素数
図２７に副走査方向に斜線パターンが重複している本実施形態のパターンを、図２８に斜線パターンが副走査方向では重複していない従来のパターンをそれぞれ示す。両者を比較して分かるように、従来では斜線パターンを読むためのＣＣＤ列が幅Ｄ２分必要であるの対し、図２６の本実施形態では、幅Ｄ１分で済む。したがって、
Ｄ２−Ｄ１
に相当するＣＣＤの画素数を削減しても、斜線パターンの読み取りが十分に可能であり、これによって、削減した画素数分のコストの低減を図ることができる。
【００７６】
【発明の効果】
以上説明したように請求項１記載の発明によれば、厳密なパターンの位置決め機構やパターンの精度を必要することなく、副走査方向の画素の位置誤差を高精度に測定することができ、また、測定された位置誤差データに基づいて画像の位置誤差を補正するので、位置ずれのない画像データを得ることができる。さらに、パターン部分の主走査方向の幅が短くなるので、パターン部分を読み取るために必要なＣＣＤの画素数を少なくすることができ、これによって、コストの低減が可能になる。
【００７７】
請求項２記載の発明によれば、請求項１記載の発明に効果に加えて通常の読み取り時には、一方の位置誤差だけ測定し、あらかじめ求めておいた位置誤差の差の値を利用して位置誤差データを補正するので、演算時間を短くすることができる。
【００７８】
請求項３記載の発明によれば、請求項２記載の発明の効果に加えて、たとえ電源を切っても位置ずれ量を記憶しておくことができるので、電源オン時に再度位置ずれ量を計算する必要がなく、迅速に処理することが可能になる。
【００７９】
請求項４記載の発明によれば、重心の計算においては、重心から離れた位置にあるノイズほど影響が大きくなるが、画像データのノイズを減らした後で重心を計算するので、測定精度の向上を図ることができる。
【図面の簡単な説明】
【図１】本発明の実施形態に係る画像読取装置の断面図である。
【図２】図１の画像読取装置の平面図である。
【図３】画像読取装置に付設される測定用パターンとコンタクトガラスの要部拡大図である。
【図４】図１の画像読取装置に付設される位置誤差測定装置のシステム構成を示すブロック図である。
【図５】走査速度の変動に応じた斜線パターンの読み取りデータの説明図である。
【図６】斜線パターンを拡大して示す説明図である。
【図７】図６の斜線パターンの読み取り値を示す説明図である。
【図８】斜線判定用ウィンドウを示す説明図である。
【図９】他の斜線判定用ウィンドウを示す説明図である。
【図１０】斜線判定用マッチングパターンを示す説明図である。
【図１１】重心測定用ウィンドウを示す説明図である。
【図１２】画像読取装置における重心の測定処理を説明するためのフローチャートである。
【図１３】重心測定用ウィンドウにおける読み取り値及び重心測定方法を示す説明図である。
【図１４】パターンの長さ及び角度を示す説明図である。
【図１５】コンタクトガラス１と走査方向に対して相対した４５°の複数の斜線からなるパターンの一例を示す一部拡大図である。
【図１６】コンタクトガラス１と走査方向に対して相対した４５°の複数の斜線からなるパターンの他の例を示す一部拡大図である。
【図１７】コンタクトガラス１と走査方向に対して相対した４５°の複数の斜線からなるパターンのさらに他の例を示す一部拡大図である。
【図１８】図１５のパターンの位置誤差測定結果を示す図である。
【図１９】図１６のパターンの位置誤差測定結果を示す図である。
【図２０】図１７のパターンの位置誤差測定結果を示す図である。
【図２１】図２０の測定結果の左側の斜線パターンを用いて測定した位置誤差データから右側の斜線パターンを用いて測定した位置誤差データの差を取ってプロットした図である。
【図２２】異なる方向に傾斜した隣接する斜線パターンの両者にウィンドウがかかるときの状態を示す説明図である。
【図２３】斜線を主走査ラインに沿って読み取った画像データを示す図である。
【図２４】３次関数コンボリューションを利用した補正のモデル図である。
【図２５】補正の処理手順を示すフローチャートである。
【図２６】補正した前後の状態を示す図である。
【図２７】本実施形態に係る斜線パターンの拡大図である。
【図２８】従来例に係る斜線パターンの拡大図である。
【符号の説明】
１  コンタクトガラス
２  光源
３，４，５  ミラー
６  レンズ
７  光電変換素子（ラインＣＣＤ）
８  筐体
１０  測定用パターン
１０ａ，１０ｂ  斜線パターン
１０１  光電変換部
１０２  Ａ／Ｄ変換部
１０３  シェーディング補正部
１０４  斜線判別部
１０５  位置誤差測定部
１０６  位置誤差補正部
１０７  制御部
１０８  記憶部
【図１】
0003614271.tif 000006
【図２】
0003614271.tif 000007
【図３】
0003614271.tif 000008
【図４】
0003614271.tif 000009
【図５】
0003614271.tif 000010
【図６】
0003614271.tif 000011
【図７】
0003614271.tif 000012
【図８】
0003614271.tif 000013
【図９】
0003614271.tif 000014
【図１０】
0003614271.tif 000015
【図１１】
0003614271.tif 000016
【図１２】
0003614271.tif 000017
【図１３】
0003614271.tif 000018
【図１４】
0003614271.tif 000019
【図１５】
0003614271.tif 000020
【図１６】
0003614271.tif 000021
【図１７】
0003614271.tif 000022
【図１８】
0003614271.tif 000023
【図１９】
0003614271.tif 000024
【図２０】
0003614271.tif 000025
【図２１】
0003614271.tif 000026
【図２２】
0003614271.tif 000027
【図２３】
0003614271.tif 000028
【図２４】
0003614271.tif 000029
【図２５】
0003614271.tif 000030
【図２６】
0003614271.tif 000031
【図２７】
0003614271.tif 000032
【図２８】
0003614271.tif 000033