(57)【特許請求の範囲】
【請求項１】
画像を一定の時間間隔で線順次に走査して読み取る画像読み取り装置で読み取った画像の画素の位置誤差または原稿の走査速度を測定する画素位置測定方法において、
主走査方向に対して斜めに形成された斜線に対して、主走査方向が副走査方向よりも大きな矩形のウインドウを設定し、前記ウインドウ内における前記斜線の画像データを各画素毎に読み取り素子により読み取って取り込む第１の工程と、
前記第１の工程で取り込んだ前記ウインドウの前記斜線が主走査方向と鋭角をなす側の隅部の画素の画像データが０か否かを判定する第２の工程と、
前記第２の工程で０と判定されたときに前記ウインドウ内で読み取った画像データの総和が予め設定した値の範囲内にあるか否かを判定する第３の工程と、
前記第３の工程で前記ウインドウ内で読み取った画像データの総和が予め設定した値の範囲内にあると判定された場合に、前記第１の工程で取り込んだ画像データに基づいて前記ウインドウにおける画像データの重心を計算する第４の工程と、
前記ウインドウを所定の画素単位で主走査方向および副走査方向に移動させたときに実行される前記第４の工程で計算された重心と、移動前に実行された第４の工程で計算された重心とのずれを計算する第５の工程と、
を含み、
第５の工程で計算された前記重心のずれから斜線の主走査方向への移動量のムラ、あるいはビットマップ画像の位置誤差を測定することを特徴とする画素位置測定方法。
【請求項２】
前記第２の工程で前記隅部の画素の画像データが０でないと判定された場合、あるいは、前記第３の工程で前記ウインドウ内で読み取った画像データの総和が予め設定した値の範囲内でないと判定された場合には、測定を打ち切って異常を示す信号を出力するか、あるいは、前記ウインドウのサイズを変更することを特徴とする請求項１記載の画素位置測定方法。
【請求項３】
画像を一定の時間間隔で線順次に走査して読み取った画像の画素の位置誤差または原稿の走査速度を測定する画素位置測定装置において、
主走査方向に対して斜めに形成された斜線に対して、主走査方向が副走査方向よりも大きな矩形のウインドウを設定し、前記ウインドウ内における前記斜線の画像データを各画素毎に読み取り素子により読み取って取り込む第１の手段と、
前記第１の手段で取り込んだ前記ウインドウの前記斜線が主走査方向と鋭角をなす側の隅部の画素の画像データが０か否かを判定する第２の手段と、
前記第２の手段で０と判定されたときに前記ウインドウ内で読み取った画像データの総和が予め設定した値の範囲内にあるか否かを判定する第３の手段と、
前記第３の手段で前記ウインドウ内で読み取った画像データの総和が予め設定した値の範囲内にあると判定された場合に、前記第１の手段で取り込んだ画像データに基づいて前記ウインドウにおける画像データの重心を計算する第４の手段と、
前記ウインドウを所定の画素単位で主走査方向および副走査方向に移動させたときに実行される前記第４の手段で計算された重心と、移動前に実行された第４の手段で計算された重心のずれを計算する第５の手段と、
を備え、
前記第５の手段で計算された重心のずれから斜線の主走査方向への移動量のムラ、あるいはビットマップ画像の位置誤差を測定することを特徴とする画素位置測定装置。
【請求項４】
前記第２の手段で前記隅部の画素の画像データが０でないと判定された場合、あるいは、前記第３の手段で前記ウインドウ内で読み取った画像データの総和が予め設定した値の範囲内でないと判定された場合には、測定を打ち切って異常を示す信号を出力するか、あるいは、前記ウインドウのサイズを変更することを特徴とする請求項３記載の画素位置測定装置。
【請求項５】
副走査方向に沿って複数設けられた斜線パターンと、
少なくとも前記パターンを光学的に読み取る読み取り手段と、
請求項３または４記載の画素位置測定装置と、
を備えていることを特徴とする画像読取装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、読取装置で読み取ったビットマップ形式の画像データの位置誤差または原稿の走査速度を測定する方法、および装置並びにこの装置を備えた画像読み取り装置に関する。
【０００２】
【従来の技術】
この種の画像読取装置として例えば日本機械学会第７１期通常総会講演会講演論文集（ＩＶ）で発表された「高精細画像入力装置の開発」（従来例１）が知られている。ここでは、副走査方向に並べて配置された等ピッチラインのテストチャートを読み取った画像、すなわち、副走査方向のライン間隔で離散化された画像データに対して補間演算を行い、演算された結果から、等ピッチラインの黒線、白線の中心位置を求め、テストチャートの基準ピッチとの差を読み取ることで、装置の振動などに起因する画像データの読み取り位置誤差を検出するようになっている。
【０００３】
他の従来例として特開平６−２９７７５８号公報「走査線ピッチ計測方法」（従来例２）がある。この公知例は、等ピッチパターンのデータを書き込んだハードコピーのパターンを読み取ってハードコピー装置の書き込みの走査線のピッチむらを計測するようになっている。
【０００４】
光学的リニアスケールとして、例えばオーム社から出版された「サーボセンサの基礎と応用」（大島康次郎、秋山勇治共著）〔昭和６３年２月２０日発行〕（従来例３）が知られている。この刊行物に記載された技術を図４０ないし図４２を参照して説明する。
【０００５】
ここではリニアスケールの一例としてポジションスケールを例に挙げている。例に挙げられたリニアスケールは、図１６に示すように全く等しいピッチの明暗の格子をもった２枚１組のメインスケール８１とインデックススケール８２とからなるガラススケール８３と、そのスケール８３を照明するＬＥＤからなる光源８４と、スケール８３を透過した光を検知するフォトダイオード８５から構成される。通常はインデックスケール８２が固定され、メインスケール８１が移動するが、その移動に連れてフォトダイオード８５の出力が変化する。
【０００６】
図１７に示すように２枚のガラスの透過部が一致したとき、出力は最大となり、透過部とクロム蒸着された不透明部８６が重なったときには、出力は理想状態では０となる。したがって、その出力波形は理想的には図１７（ｂ）に示したような光量変化となるが、実際には明暗の格子ピッチが８μｍと小さいため、光の回折の影響やクロム烝着面での反射の影響があり、図１７（ｃ）に示すような出力波形のように近似正弦波の形で出力される。この出力波形の山の間隔がスケールのピッチに相当するので、山の数を数えることにより移動量を知ることができる。これがポジションスケールの基本原理であるが、実際には図１６のフォトダイオードＡ，Ｂ，／Ａ，／Ｂ（なお、「／」は反転を示す。）の４個を用いて各種の処理が行われている。
【０００７】
Ａ，Ｂ，／Ａ，／Ｂのおのおのに対応するインデックススケール８２の格子は、０°、９０°、１８０°、２７０°の位相関係になっている。これをＡと／Ａ、Ｂと／Ｂを組み合わせて差動方式で検出し、スケール８２の汚れや光量変化に対して強くなるように設定し、信頼性を高めている。このようにして得られた信号をおのおの改めてＡ、Ｂとし、さらに電気的に反転された信号をそれぞれ／Ａ、／Ｂとする。そして、これらの信号を用いてさらに細かい寸法まで読み取るための処理が実行されている。
【０００８】
スケール８３の移動方向は図１８に示すようにＡ信号とＢ信号のどちらの信号の位相が進んでいるかを知ることで判定できる。スケール８３のピッチよりも細かく読む手法としては、Ａ信号だけ用いると基準レベルを下からよぎるときと上からよぎるときの両方をとらえて４μｍ単位で読める。さらにＢ信号を用いると２μｍまで読める。これ以上細かく読むためには、ＡとＢの信号を用いて４５°位相差の信号、Ｂと／Ａの信号から１３５°位相差の信号を作る必要がある。
【０００９】
【発明が解決しようとする課題】
ところで、上記従来例１では、等ピッチラインのパターンのエッジと読み取りのサンプリングのタイミングとの位置関係との相違により同じ形状のパターンを読み取って得られるデータがそれぞれ異なってしまうモアレという現象がある。読み取ったデータはこのモアレによって必ずしもパターンのエッジの位置と対応しないので、位置誤差の測定精度を劣化させる。モアレの影響は、等ピッチラインパターンを精細にして読み取り装置の分解能に近づけると非常に顕著になり、条件によっては位置誤差の測定ができなくなるほどになる。したがってこの方式では、読み取り装置の分解能に近い、あるいはそれ以下の位置誤差を高精度で測定することはできない。
【００１０】
また、等ピッチラインのパターンを使うので、モアレの影響を無視しても、高い周波数成分の位置誤差を測定するためにパターンのピッチを精細にすると、結像光学系のＭＴＦ（Ｍｏｄｕｌａｔｉｏｎ  Ｔｒａｎｓｆｅｒ  Ｒａｔｉｏ）の限界によって得られた画像の濃淡の信号の差が小さくなり、測定精度が劣化せざるを得ない。
【００１１】
さらに、パターンの精細化では、測定の周波数帯域を高い方向に広げ、精度を上げることができないのでサンプリングしたデータを補間する処理を行っている。より良い補間を行うには、より多くの周辺データを使ったり、複雑な演算処理が必要になり、処理時間が長くなる。さらに補間はあくまでも補間であり、真のデータとのずれが生じることは避けられず、測定精度を劣化させる要因になる。また、光電変換装置の中の特定の１つの受光素子が副走査方向に走査することによって得られる画像データを使用しているので、受光素子そのものが持つノイズが測定そのものの精度に影響を与えて、精度を劣化させる。
【００１２】
従来例２では、計測時には光電変換装置でパターンを読み込んだデータを使うので、計測に当たってはハードコピーの読み取り時の走査むらはないという条件で読み取ってハードコピーのピッチむらを計測している。その他、特に説明しないが、前述の従来例１と同様のモアレの問題を有する。
【００１３】
従来例３では、上述のようなリニアスケールにおいては、光源（ＬＥＤ）８４の発する光をコリメートレンズ８７で平行光線にしてメインスケール８１とインデックススケール８２の重なりを通過してくる光を受光素子で検出するようにしているので、微細かつ高精度のメインスケール、インデックススケール、および精密なコリメートが必要になる。その結果、当然コストも高くなってしまう。
【００１４】
これらの問題点に鑑みて、本出願人は、特願平７−２６０４３８号として斜線をウインドウを設定して読み取って画素の位置誤差を測定する装置および方法を提案した。この既提案の発明では、設定したウインドウに斜線を読み取った画像のデータが入っていることをウインドウ内の画像データの総和が所定の範囲内の値をもつかどうかによって判定している。
【００１５】
しかし、読み取った画像データには読み取り素子の特性によるノイズ、データをデジタル化することによるノイズ、シェーディング補正の演算誤差によるノイズなどが含まれているので、同じ斜線を読み取ったデータにウインドウを設定して総和を計算したとき、その値はノイズの影響を受けてある幅を持ったものとなる。このような幅を持っているため、ウインドウが適切に設定されているか否かを総和によって判定するとき、総和が所定の範囲に入っているか否かというある幅を持った判定をせざるを得なかった。このように幅を持った判定を行わざるを得ないため、斜線のデータがわずかに設定したウインドウから出てしまうような場合に、厳密に斜線のデータを検出することができないことも考えらえる。
【００１６】
本発明は、このような背景に鑑みてなされたもので、その目的は、厳密に斜線のデータを検出することができる画素位置測定方法を提案することにある。
【００１７】
【課題を解決するための手段】
上記目的を達成するため、第１の手段は、画像を一定の時間間隔で線順次に走査して読み取る画像読み取り装置で読み取った画像の画素の位置誤差または原稿の走査速度を測定する画素位置測定方法において、主走査方向に対して斜めに形成された斜線に対して、主走査方向が副走査方向よりも大きな矩形のウインドウを設定し、前記ウインドウ内における前記斜線の画像データを各画素毎に読み取り素子により読み取って取り込む第１の工程と、前記第１の工程で取り込んだ前記ウインドウの前記斜線が主走査方向と鋭角をなす側の隅部の画素の画像データが０か否かを判定する第２の工程と、前記第２の工程で０と判定されたときに前記ウインドウ内で読み取った画像データの総和が予め設定した値の範囲内にあるか否かを判定する第３の工程と、前記第３の工程で前記ウインドウ内で読み取った画像データの総和が予め設定した値の範囲内にあると判定された場合に、前記第１の工程で取り込んだ画像データに基づいて前記ウインドウにおける画像データの重心を計算する第４の工程と、前記ウインドウを所定の画素単位で主走査方向および副走査方向に移動させたときに実行される前記第４の工程で計算された重心と、移動前に実行された第４の工程で計算された重心とのずれを計算する第５の工程と、を含み、第５の工程で計算された前記重心のずれから斜線の主走査方向への移動量のムラ、あるいはビットマップ画像の位置誤差を測定することを特徴としている。
【００１８】
第２の手段は、第１の手段において、前記第２の工程で前記隅部の画素の画像データが０でないと判定された場合、あるいは、前記第３の工程で前記ウインドウ内で読み取った画像データの総和が予め設定した値の範囲内でないと判定された場合には、測定を打ち切って異常を示す信号を出力するか、あるいは、前記ウインドウのサイズを変更することを特徴としている。
【００１９】
第３の手段は、画像を一定の時間間隔で線順次に走査して読み取った画像の画素の位置誤差または原稿の走査速度を測定する画素位置測定装置において、主走査方向に対して斜めに形成された斜線に対して、主走査方向が副走査方向よりも大きな矩形のウインドウを設定し、前記ウインドウ内における前記斜線の画像データを各画素毎に読み取り素子により読み取って取り込む第１の手段と、前記第１の手段で取り込んだ前記ウインドウの前記斜線が主走査方向と鋭角をなす側の隅部の画素の画像データが０か否かを判定する第２の手段と、前記第２の手段で０と判定されたときに前記ウインドウ内で読み取った画像データの総和が予め設定した値の範囲内にあるか否かを判定する第３の手段と、前記第３の手段で前記ウインドウ内で読み取った画像データの総和が予め設定した値の範囲内にあると判定された場合に、前記第１の手段で取り込んだ画像データに基づいて前記ウインドウにおける画像データの重心を計算する第４の手段と、前記ウインドウを所定の画素単位で主走査方向および副走査方向に移動させたときに実行される前記第４の手段で計算された重心と、移動前に実行された第４の手段で計算された重心のずれを計算する第５の手段とを備え、前記第５の手段で計算された重心のずれから斜線の主走査方向への移動量のムラ、あるいはビットマップ画像の位置誤差を測定することを特徴とする。
【００２０】
第４の手段は、前記第２の手段で前記隅部の画素の画像データが０でないと判定された場合、あるいは、前記第３の手段で前記ウインドウ内で読み取った画像データの総和が予め設定した値の範囲内でないと判定された場合には、測定を打ち切って異常を示す信号を出力するか、あるいは、前記ウインドウのサイズを変更することを特徴としている。
第５の手段は、副走査方向に沿って複数設けられた斜線パターンと、少なくとも前記パターンを光学的に読み取る読み取り手段と、第３または第４の手段に係る画素位置測定装置とを備えていることを特徴としている。
【００２１】
第６の手段は、上記第４手段における判定する工程でウインドウの設定が正常でないと判定されたとき、測定を一旦打ち切り、ウインドウサイズまたはウインドウの位置を変更して測定をやり直すことを特徴としている。
【００２２】
【発明の実施の形態】
以下、図面を参照し、本発明の実施の形態について説明する。
１．測定原理
図１は、本出願の測定原理を典型的な場合を前提にして説明するための図である。図の主走査と書いた矢印１０１は線順次で画像を読み取る装置が同時に読み取る１ラインの画像の画素の並びと、この並列のデータを直線のデータに変換したときの時間軸上の順序を示す。図の副走査と書いた矢印１０２は主走査の１列が読み取る範囲を順次移動させながら読み取って行く方向を示している。移動する手段としては、原稿の画像を光電変換素子に投影するミラー、照明ランプなどを機械的に移動させるもの、原稿を移動させるもの、光電変換素子とその結像光学系を一体にして移動させるものなどがある。ここではこの主走査方向と副走査方向に平行な線で囲まれたそれぞれの４角形を画素ということにする。画素によって構成される平面は、原稿の画像を電気信号に変換されたデータが原稿の画像の写像がそのまま並んでいるというイメージでとらえることができ、ビットマップということもある。読み取り装置からリアルタイムで出力されるときには、主走査、副走査の方向が時間的な順序を示すが、出力されたデータをメモリに取り込んだ状態では、それぞれの画素を任意にアクセスすることも可能であり、主走査、副走査、時間の順序にとらわれない扱いも可能になる。
【００２３】
図１は主走査と副走査の画素サイズが等しい場合で、副走査方向の走査速度が変動するときと、一定速度で４５°の斜線を読み取るときに光電変換装置に投影されるが、像を全く劣化のないかたちでビットマップに対応させて示したものである。すなわち、ａは副走査方向の読み取りのタイミングを制御するクロックに対応する所定の一定速度で走査したときで、ビットマップにも４５°の像ができる。ｂは速度が変動するときの像で、速度に応じて傾きが異なってくる。
【００２４】
つまり、Ａ−Ｂは副走査方向の走査速度が０のときで、副走査方向の読み取りのタイミングを制御するクロックにより副走査方向のビットマップのアドレスが進んでも原稿を読み取っている位置が変わらないため、副走査方向に平行な線になってしまう。
【００２５】
Ｂ−Ｃは副走査方向の走査速度が所定の速度の１／２のときで、ビットマップのアドレスが進んでも、その半分しか進まない位置の画像を読んでいることになり、画像の副走査方向の線との角度はｔａｎθ＝０．５から、約２６．５７°である。
【００２６】
Ｃ−Ｄは所定の速度で走査しているときで、傾きは４５°である。同様にＤ−以降は走査速度が１．５倍の場合で、その角度は約５６．３１°である。つまり、走査速度によって像の傾きが異なること、言い換えれば斜線の主走査方向への移動量が、副走査方向の移動速度に対応することを測定原理として副走査方向の移動速度のムラ、ミラー、レンズ、光電変換装置の振動などに起因するビットマップ画像の画素の位置誤差を計測する。
【００２７】
以上、正方形の画素を持ち、４５°の線を使用した場合で説明したが、画素が正方形でなく、例えば、主走査の分解能４００ｄｐｉ、副走査の分解能６００ｄｐｉといった読み取り装置の画像データに適用することもでき、４５°以外の斜線を用いても同様に、斜線の画像の主走査方向への移動量が副走査方向の読み取り方向の速度に依存するという関係は成立するので、画素の位置誤差を計測することができる。
【００２８】
２．システム構成
図２は、本実施形態に係る位置誤差測定装置のシステム構成の一例を示すブロック図で、画像読取装置への付加機能として組み込み、リアルタイムでその位置誤差を測定するものである。このシステムは光電変換部１、Ａ／Ｄ変換部２、シェーディング補正部３、位置誤差測定部４および制御部５から基本的に構成されている。
【００２９】
光電変換装置１は、例えばラインＣＣＤで、画像が電気信号に変換される。電気信号に変換された画像はＡ／Ｄ変換部（器）２でデジタルの多値の画像データに変換される。変換されたデータは、照明の不均一さ、レンズの周辺光量の低下、光電変換装置の画素間の感度の違いなどをシェーディング補正部３によってシェーディング補正する。シェーディング補正された画像データは、位置誤差測定部（回路）４に入力され、測定結果に応じての誤差信号６を出力する。同時に読取装置として画像データをビデオ信号７として出力する。それぞれの機能ブロックは、制御部５によってタイミングの制御、動作条件の設定などがなされ、相互に関連して動作する。なお、符号８は制御部５との間で送受信されるビデオ制御信号８である。
【００３０】
光電変換装置として等倍センサを用いている読取装置ではレンズの特性による周辺光量の低下という問題がないので、シェーディング補正を省く場合があるが、そのような形式の読取装置にも、本願を適用することができる。
【００３１】
図３は、読取装置の他の例に係るシステム構成を示すブロック図で、この例では、図２における位置誤差測定機能は含まれておらず、光電変換部１，Ａ／Ｄ変換部２、シェーディング補正部３および制御部５から構成されている。この例では、斜線を読取装置に読み取らせ、ビデオ信号７として出力される画像データをメモリに取り込み、取り込んだデータをコンピュータで処理することによって位置誤差を測定するようになっている。この方式では、一旦画像データを光磁気ディスクなどに書き込み、必要なときに読み出して測定することが可能になる。また、測定した画像を保存しておくこともできる。
【００３２】
３．位置誤差測定処理
図４は図１と同様のビットマップに斜線の画像データａがあるときの位置誤差の測定を行うときの処理を説明するためのものである。Ｗ1 は画像データの位置を求めるための演算を行う１１×３のウインドウである。ウインドウ内のデータの位置を求めるため、主走査方向における重心を演算する。この演算では、順次ウインドウの位置をＷ2,Ｗ3 ・・・と移動させながら重心を求める。重心の主走査方向の位置は４５°の線の場合、画素の位置がなんらかの誤差要因で移動することがなければ、ウインドウを図のように移動させた場合、主走査方向に１画素分ずつ移動するはずである。画素の移動量が１画素分と異なる場合は、何らかの原因で画素の位置が変動したことになり、位置誤差を求めることができる。位置誤差の主要な要因が副走査方向の走査速度のムラによることが分かっている場合には、位置誤差のデータか速度ムラにデータを変換することは容易である。
【００３３】
重心を求めるのに周辺の画素のデータを含む多数の画素データを使っているので、ＣＣＤ固有のノイズを始めとしてさまざまなノイズが画像データに含まれるが、重心を求める過程でノイズの影響が軽減され、Ｓ／Ｎの高い測定が可能になっている。通常、ウインドウの画素の数が多いほどＳ／Ｎは高くなる。
【００３４】
ウインドウの形状は主走査方向の重心を求めることから、主走査側に大きいことが望ましい。副走査方向は１としても測定可能である。
【００３５】
図５は斜線の数が複数あって複数の斜線ａ1 ，ａ2 ，ａ3 を使用して位置誤差を測定する場合のウインドウの移動とそれに伴う処理を説明するものである。図４の例と同様にウインドウを順次移動させ、あらかじめ設定したおいたＷn に達したとき、その次のウインドウとしてＷn+1 に移動させる。移動する前後の斜線のパターンａ1 とａ2 の間隔は測定用チャートを作成する段階で決めておき、その間隔の値を主走査方向の重心の移動を計算するときに補正する。Ｗn+1 、Ｗn+2 、Ｗn+3 ・・・と移動させる。パターン間の間隔を画素サイズの整数倍に設定しておくと、ウインドウをジャンプさせたときの補正が簡単であり、測定に先立って測定装置にこの補正量を入力するときにも便利である。
【００３６】
この例ではウインドウを１画素ずつ移動させているが、画素の位置誤差を起こす原因となる振動などの周波数帯域が低い場合は、ウインドウを２画素以上ずつ移動させても良い。こうすることによって測定に要する時間短くすることができる。
【００３７】
また、複数の斜線を使って位置誤差を測定するようにすれば、読み取り装置の読み取り範囲が縦長であっても副走査方向の全域にわたっての測定が可能になる。さらに、主走査方向の狭い幅のなかだけで測定するようにすれば、主走査方向における中央部とか、手前とか、奥側とかに分けて位置誤差を測定することも可能になる。
【００３８】
これらの図からも明らかなように、本願では高い分解能で位置誤差を測定する場合でも、それに応じて斜線のパターンを細くする必要は全くなく、システムのＭＴＦの制約の影響を受けない幅の広いパターンを使うことができるという特徴がある。幅の広いパターンを使えば、それに応じてウインドウも大きくなり、結果として測定の精度を上げることができる。なお、処理速度、リアルタイム処理を行う場合は、バッファのサイズ、回路規模の経済性などとのバランスでパターンの幅を設定すればよい。
【００３９】
なお、他の例として、幅の広い線のパターンを用い、どちらか片側のエッジのデータによっても同様に位置誤差を測定することが可能である。
【００４０】
また、副走査の読み取りタイミングと斜線との関係は常に同じであるから、前述の公知例のように副走査方向に並べられた等間隔の白黒のパターンでは避けることのできないモアレの問題を回避することができ、高精度な位置誤差の測定を可能にしている。
【００４１】
４．ウインドウのデータと重心の計算
図６はウインドウのデータと、斜線のパターンの関係を示すものである。ウインドウの各画素には斜線のパターンを読み取って得られる画像データの値が記入されている。画像データの値は８ビットのデジタルデータで、１０進法で表すと０〜２５５の値を取ることができる。図の値は画像のデータを１０進法で表記した値である。
【００４２】
主走査方向の重心を計算するには、各列ごとにデータの和を求める。これを右側からａ0,ａ1,・・・ａ10とすると、それぞれ１４、３７、１５０、３４５、５６２、５９０、４２７、２０２、５０、１８、１３である。各画素の主走査方向の中心の座標を右から順に０〜１０とし、重心の主走査方向の位置をｍとすると、ｍの周りのモーメントは０となるので、
ａ0 （ｍ−０）＋ａ1 （ｍ−１）＋・・・ａ10（ｍ−１０）＝０
が成り立ち、数値を入れて計算すると、
ｍ＝４．６６７
が得られる。
【００４３】
重心を求めるのは、補間などの前処理を必要とせず、演算の簡素化、高速化に有用である。画像の位置を求めるのは、各列ごとのデータの和の並びから、補間により所定の分解能のデータ列を得て、そのデータからピーク値の存在する位置を求める方法を使うこともできる。
【００４４】
５．斜線の幅
重心を計算するに当たり、斜線の幅はデータをきちんと読み取れるものであれば問題ないが、画素が正方形で、斜線の角度が４５°であり、画像の走査速度を所定の目標速度からのわずかなズレをより高精度で測定する場合、斜線の主走査方向の幅を画素の整数倍にしておくと、ウインドウを斜め方向に移動しても、斜線と画素の関係は斜線の両側で同じになり、画像データの誤差要因もバランスし、画像の位置を計算する精度を高めることができる。
【００４５】
６．主走査方向の斜線の画像の移動量と副走査方向の画素の位置誤差の関係
この実施形態では、副走査方向の画素の位置誤差を測定するために、斜線を読み取った画像の主走査方向へ画像の位置の移動を見ている。正方形の画素で４５°の斜線を使って測定する場合には、これまでの説明で明らかなように、主走査方向の移動量のウインドウ間における偏差がそのまま、副走査方向の位置誤差になる。画素が正方形でない場合、斜線の角度が４５°でない場合には、換算をして副走査方向の位置誤差を得る必要がある。
【００４６】
７．測定の処理手順
図７は、測定の処理手順を示すフローチャートである。この処理手順では、まず、計算するウインドウの位置を示すＷ．Ｐ．（ウインドウポインタ）をセットし（ステップＳ７０１）、次に、Ｗ．Ｐ．で指示されるウインドウのデータを取り込み（ステップＳ７０２）、取り込んだデータの総和Ｖを計算する（ステップＳ７０３）。そして、データの総和Ｖがあらかじめ設定したａとｂとの間の値を持っているかどうかをチェックする（ステップＳ７０４）。このチェックでａとｂとの間に入っていれば、重心の計算を行い（ステップＳ７０５）、さらに、重心のずれを計算した（ステップＳ７０６）後、次のＷ．Ｐ．をセットする（ステップＳ７０７）。その後、ステップＳ７０２に戻ってデータフェッチ以降の処理を繰り返す。
【００４７】
一方、ステップＳ７０４で、データの総和Ｖがａとｂとの間に入っていなければ、ループから抜け出し、処理を終了する。
【００４８】
なお、ステップＳ７０４で処理の総和をチェックするのは、スタートのときにＷ．Ｐ．を誤ってセットしたため、ウインドウ内に斜線のデータがないような場合に、正しい測定がされていないのに測定結果が出力されるのを防止するという理由からである。また、測定に使う斜線の長さを短くしておけば、斜線が途切れた位置で打ち切ることができ、必要以上の測定を無駄を省くことができる。
【００４９】
８．斜線を読み取った画像データと重心を計算するウインドウの関係
この実施形態では、斜線を読み取ったデータは読み取りの感度を調整して斜線が投影される位置から離れてＭＴＦ特性によるエッジ部の広がりによる影響を受けない領域、すなわち背景領域の画像データの値が０になるようにしている。図８は斜線が読み取り素子に光学的に投影されるときの斜線の断面のプロファイルを上方が暗く、下方が明るいという平面で図示したものである。斜線のエッジはＭＴＦ特性でダレており、エッジから離れた部分では十分に明るくなっている。このように連続的に変化するプロファイルで示される光像が、読み取り素子の光電変換素子の並びにより空間的に離散化され、さらにそれぞれの画素の持つ値もデジタル化され、さらにシェーディング補正を行って、ビットマップ形式のデジタルデータとして読み取り装置から出力される。出力された斜線の画像データとウインドウの位置関係は図９および図１０に示すようになっている。
【００５０】
これらの図で、実線で示した斜線は、読み取り装置が読み取る画像の斜線のエッジを示し、この２本の線に挟まれる領域が原稿の斜線の幅に対応する。それぞれのエッジの外側の鎖線は読み取り素子に投影される原稿の斜線が光学系のＭＴＦ特性によるエッジのダレによる広がりの限界を示す。すなわち、この斜線の外側では、実質的に原稿の背景が投影された部分と同等の明るさになる。背景に対応する画像データの値を０になるようにしているので、２本の鎖線に挟まれた領域にまったく重ならない画素の値は０になる。ウインドウは主走査方向１６画素、副走査方向３画素の矩形で、この矩形に囲まれた領域の斜線の画像データの重心を計算する。斜線の画像データをウインドウの上辺と下辺で切り取る形でウインドウが設定される。順次ウインドウを移動しながら重心を計算して画素の位置誤差やキャリッジの移動速度を測定する際には、常に斜線の画像データをウインドウの上辺と下辺で切り取る形になっている必要がある。画素の位置誤差が予測したものよりも大きかったり、キャリッジの速度が大幅にずれてウインドウと斜線の画像データの関係がずれて斜線の画像データをウインドウの左辺または右辺でも切り取る形になると、それまでに重心の対象にしていた斜線の画像データの一部が欠落してしまい、画素の位置ずれやキャリッジの速度の変動以外の原因によっても重心が変化することになり、正しい測定ができなくなる。
【００５１】
そこで、この実施形態では、図９および図１０に示すように斜線が右上がりのときにはウインドウの右上と左下の角の画素ｈ0 ｖ0 とｈ15ｖ2 のいずれかの画素データが０以外の値を持つかどうかで判定し、０以外の値を持ったときに重なりが生じたと判定し、そのままでは正確な測定ができないため、適切な処置を実行する。この方法では、図１０に示すように鎖線が右上の画素ｈ0 ｖ0 にかかり、その画素の値が１以上になれば検出することができる。これによりウインドウの右辺と重なる状態に対しては十分に余裕を持って測定の異常が発生する状態に斜線を読み取った画像データとウインドウの関係がなっていることを検出することができる。
【００５２】
もちろんこの関係が逆方向にずれた場合は、ウインドウの左下隅の画素ｈ15ｖ2 の値によって判定する。通常、どの方向にずれるかはあらかじめ決めることはできないので、右上隅と左下隅の両方の画素ｈ0 ｖ0 ，ｈ15ｖ2 の値を調べ、いずれかが０以外の値を取れば異常であるとする。また、斜線の傾きが左上がりであれば、右下隅と左上隅の画素ｈ0 ｖ2 ，ｈ15ｖ0 を調べる。なお、斜線の傾きに関係なく４つの隅の画素ｈ0 ｖ0 ，ｈ15ｖ2 ，ｈ0 ｖ2 ，ｈ15ｖ0 全部について調べるようにすることもできる。
【００５４】
この他に、前述のようにウインドウの隅の画素の値を調べるとともに、ウインドウ内の斜線を読み取った画像データの総和が所定の範囲にあるか否かを調べることによって異常を検出するようにすることもできる。通常は前述のウインドウの隅の画素の値を調べる方法で十分であるが、何らかの異常でキャリッジが急激に停止し、本来あるべき斜線の画像の位置に対して大幅にずれ、設定したウインドウに斜線を読み取った画像データがまったく入っていないような場合、四隅の画素の値を調べるとすべて０になっているにもかかわらず正しい測定ができないという事態も起こり得る。このようなときには、図１１もしくは図１２のフローチャートに示したような手順で調べる。
【００５５】
まず、前述の図７のフローチャートと同様に、計算するウインドウの位置を示すＷ．Ｐ．（ウインドウポインタ）をセットし（ステップＳ１１０１）、次に、Ｗ．Ｐ．で指示されるウインドウのデータを取り込む（ステップＳ１１０２）。そして、隅のデータが０かどうかチェックし（ステップＳ１１０３）。さらに取り込んだデータの総和Ｖを計算して、データの総和Ｖがあらかじめ設定したａとｂとの間の値を持っているかどうかをチェックする（ステップＳ１１０４）。これらステップＳ１１０３およびステップＳ１１０４で異常と判断されたとき、すなわち、ステップＳ１１０３で隅のデータが０でない場合、およびステップＳ１１０４でａとｂの間に入っていなければ測定を打ち切って測定を打ち切ったことを知らせる異常信号を出力する（ステップＳ１１０８）。これに対し、ステップＳ１１０３で隅のデータが０であり、ステップＳ１１０４のチェックでａとｂとの間に入っていれば、重心の計算を行い（ステップＳ１１０５）、さらに、重心のずれを計算した（ステップＳ１１０６）後、次のＷ．Ｐ．をセットする（ステップＳ１１０７）。その後、ステップＳ１１０２に戻ってデータフェッチ以降の処理を繰り返す。
【００５６】
なお、図１２に示した処理手順では、ステップＳ１１０８の処理に代えてステップ１１０９のように異常を検出しても測定を打ち切らずに、異常原因を排除するためにウインドウのサイズを変更するようにしたもので、その他の各ステップは図１１のフローチャートと同様に構成されている。
【００５７】
このように構成すると、例えばウインドウの右辺に斜線の画像データが行きすぎたとき、その斜線の画像データがウインドウ内に入るようにウインドウのサイズを大きくする。そして、ウインドウサイズを変更した後、スタートのウインドウのポインタを設定して測定をやり直す（ステップＳ１１０９→ステップＳ１１０１）。また、特にフローチャートには示していないが、ウインドウサイズを変更する代わりに、ウインドウのアドレスを変更し、斜線の画像データが入るようにすることもできる。
【００５８】
なお、これら処理手順では、隅の画素の値が０であるか否かとデータの総和の両方を調べているが、前述のようにデータの総和を調べる処理を省略することもできる。また、図１１および図１２のフローチャートでは、簡略化のため正常に測定を終了する場合の手順が省略されているが、これは測定の開始に先だって、測定の対象にする画像のサイズを指定し、そのサイズで指定される領域の測定を終了したときを測定の終了とする。
【００５９】
９．画素の位置誤差測定装置を組み込んだ画像読取装置
これまで説明したような画素の位置誤差測定装置を組み込んだ画像読取装置は例えば図１３のようなものである。すなわち、図１３は画像読取装置の断面図で、同図において、筐体２８の上面に読み取るための原稿を載せるコンタクトガラス２１が設けられ、当該コンタクトガラス２１は筐体２８に支えられた状態になっている。コンタクトガラス２１の上面に画像を下向きにして置かれた原稿は、照明光源２２によって照明され、原稿の反射光は第１ミラー２３、第２ミラー２４、第３ミラー２５および結像レンズ２６によって光電変換装置２７上の光電変換素子の受光面に投影され、原稿の画像は電気信号に変換される。電気信号に変換されたデータは所定の処理を実行した後、出力される。
【００６０】
照明光源２２と第１ミラー２３は、図示しない第１キャリッジに取り付けられており、同じく図示しない駆動装置によって原稿を線順次に読み取るため、原稿面との距離を一定に保った状態で移動する。第２ミラー２４と第３ミラー２５は図示しない第２キャリッジに取り付けられ、第１キャリッジの１／２の速度で第１のキャリッジと同様に移動する。このような構成で原稿を走査することによってコンタクトガラス２１上の所定の範囲の画像を線順位で読み取る。
【００６１】
図１４は図１３に示した画像読取装置の平面図で、コンタクトガラス２１、筐体２８、シェーディング補正の基準データを光電変換部に与えるための基準濃度板２９、および読み取った画像データの画素の位置誤差を測定するために設けられた図１５に示すような測定用パターン３０の配置の状態を示している。ここで、基準濃度板２９および測定用パターン３０が鎖線で示してあるのは、光電変換装置で読み取れるように読取装置の外面には出ていないことを示すためである。特に測定用パターン３０は、画像データとともに光電変換装置で読み込むので原稿と同様に光電変換素子の受光面に結像する必要があり、コンタクトガラス２１の原稿が置かれる面に設けられている。
これまでの説明で明らかなように、本実施形態によれば、重心を計算するのに使用する斜線の画像データが全て設定したウインドウに入っているか否かをウインドウの隅の画素のデータを使って判定するので、判定のための処理を複雑化することなく、レンジオーバーおよびスケールオーバーを確実に判定することができ、これによって厳密に斜線のデータを検出することが可能となる。
また、判定した時点で測定を打ち切るので、異常な測定値を出力することがなく、また、その異常を示すので、打ち切られた原因がわかり、異常に対する的確な対応が可能になる。
さらに、ウインドウのサイズを変更することによってウインドウの右辺と左辺を斜線の画像が横切らないようにして再度測定を行うので、正しい測定データを得ることができる。
【００６２】
【発明の効果】
これまでの説明で明らかなように、本発明によれば、判定のための処理を複雑化することなく、レンジオーバーおよびスケールオーバーを確実に判定することができ、これによって厳密に斜線のデータを検出することが可能となる。
【図面の簡単な説明】
【図１】本発明の実施形態における測定原理を示す説明図である。
【図２】本発明の実施形態におけるシステム構成を示すブロック図である。
【図３】本発明の実施形態におけるシステム構成の他の例を示すブロック図である。
【図４】本発明の実施形態におけるビットマップに斜線の画像データがあるときの位置誤差測定を行うときの処理を示す説明図である。
【図５】本発明の実施形態におけるビットマップで複数の斜線を使って位置誤差を測定する場合のウインドウの移動とそれに伴う処理を示す説明図である。
【図６】本発明の実施形態におけるウインドウのデータと斜線のパターンの関係を示す図である。
【図７】本発明の実施形態における測定の処理手順を示すフローチャートである。
【図８】本発明の実施形態における斜線が読み取り素子に光学的に投影されるときの斜線の断面のプロファイルを示す図である。
【図９】本発明の実施形態における出力された斜線の画像データとウインドウの位置関係を示す図である。
【図１０】本発明の実施形態における出力された斜線の画像データとウインドウの位置関係の他の例を示す図である。
【図１１】本発明の実施形態における隅のデータをチェックする処理手順を示すフローチャートである。
【図１２】本発明の実施形態における隅のデータをチェックする処理手順の他の例を示すフローチャートである。
【図１３】本発明の実施形態における画像読取装置の概略構成を示す断面図である。
【図１４】図１３に示した画像読取装置の平面図である。
【図１５】測定用の斜線パターンの例を示す図である。
【図１６】従来例に係るリニアスケールの概略構成を示す斜視図である。
【図１７】従来例に係るリニアスケールの検出原理を示す説明図である。
【図１８】従来例に係るリニアスケールの移動方向の判別方法を示す図である。
【符号の簡単な説明】
１  光電変換部
２  Ａ／Ｄ変換部（回路）
３  シェーディング補正部（回路）
４  位置誤差測定部（回路）
５  制御部
６  誤差信号
７  ビデオ信号
８  ビデオ制御信号
１０  位置誤差補正部（回路）
２１  コンタクトガラス
２１ａ  コンタクトガラスの原稿載置側の面
２２  光源
２９  基準濃度板
３０  測定パターン
Ｌ  斜線パターン
【図１】
0003655383.tif 000002
【図２】
0003655383.tif 000003
【図３】
0003655383.tif 000004
【図４】
0003655383.tif 000005
【図５】
0003655383.tif 000006
【図６】
0003655383.tif 000007
【図７】
0003655383.tif 000008
【図８】
0003655383.tif 000009
【図９】
0003655383.tif 000010
【図１０】
0003655383.tif 000011
【図１１】
0003655383.tif 000012
【図１２】
0003655383.tif 000013
【図１３】
0003655383.tif 000014
【図１４】
0003655383.tif 000015
【図１５】
0003655383.tif 000016
【図１６】
0003655383.tif 000017
【図１７】
0003655383.tif 000018
【図１８】
0003655383.tif 000019