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