(57)【特許請求の範囲】
【請求項１】
フラットベッドスキャナーでスキャニングエラーを補正する装置において、
文書が置かれる透明窓と、
一つのブラックパッチが具備されているホワイトシェーディングプレートと、
前記ブラックパッチ及び前記ホワイトシェーディングプレートの読み取りができる読取りモジュールと、
前記ブラックパッチのパターンに基づいて設定された所定の基準値を保存するメモリと、
前記読取りモジュールを通じて読み取られた前記ブラックパッチに関する情報と前記所定の基準値とを比較して，前記フラットベッドスキャナーのスキャニングエラーを補正できるようにスキャニング領域，スキャニング位置，及びスキャンレートを決定して制御する制御部と、
前記読取りモジュールを通じて読み取られた前記文書のイメージを記憶するバッファと、
を含むスキャニングエラー補正装置。
【請求項２】
前記制御部は、前記読取りモジュールを通じて読み取られた前記ブラックパッチの少なくとも一本のエッジラインに関する検出情報、及び、少なくとも一つの区間情報、のうちいずれか一つを用いて前記スキャニングエラーを補正すること、を特徴とする請求項１に記載のスキャニングエラー補正装置。
【請求項３】
前記制御部は、前記読取りモジュールを通じて前記ブラックパッチの上端エッジラインの検出を行い、前記上端エッジラインからスキャンスタートラインまで前記読取りモジュールが移動した区間に基づいてスキャンスタートラインを設定し、スキャンスタートラインに対するエラーを補正すること、を特徴とする請求項１に記載のスキャニングエラー補正装置。
【請求項４】
前記制御部は、前記読取りモジュールが前記ブラックパッチの上端エッジラインから前記スキャンスタートラインまで移動した区間と所定の基準値とを比較した結果に基づいて、前記読取りモジュールのスキャンスタートラインに対するエラーを補正できるようにスキャンスタートラインを設定すること、を特徴とする請求項４に記載のスキャニングエラー補正装置。
【請求項５】
前記制御部は、前記読取りモジュールを通じて前記ブラックパッチの最右側のエッジラインの検出、及び第1ピクセルの読み取りを行い、前期第１ピクセルが読み取られた位置に基づいてスキャン領域を設定し、第１ピクセルの読み取り位置に対するスキャニングエラーを補正すること、を特徴とする請求項１に記載のスキャニングエラー補正装置。
【請求項６】
前記制御部は、前記第１ピクセルが読み取られた位置が所定の基準値により設定された地点を外れた場合には、前記所定の基準値により設定された地点で第１ピクセルの読み取りができるようにスキャン領域を設定し、前記第１ピクセルが読み取られた位置が前記所定の基準値により設定された地点内にある場合には、前記第１ピクセルが読み取られた位置で第１ピクセルの読み取りができるようにスキャン領域を設定すること、を特徴とする請求項６に記載のスキャニングエラー補正装置。
【請求項７】
前記制御部は、前記読取りモジュールを通じて前記ブラックパッチの上端エッジ及び下端エッジの検出を行い、前記上端エッジから前記下端エッジまで前記読取りモジュールが移動した区間に基づいてスキャン領域を設定し、スキュー発生に対するスキャニングエラーを補正すること、を特徴とする請求項１に記載のスキャニングエラー補正装置。
【請求項８】
前記制御部は、前記読取りモジュールが前記ブラックパッチの上端エッジから下端エッジまで移動した区間と所定の基準値とを比較した結果に基づいて、前記読取りモジュールのスキューエラーを補正できるようにスキャン領域を設定すること、を特徴とする請求項８に記載のスキャニングエラー補正装置。
【請求項９】
前記制御部は、前記読取りモジュールを通じて前記ブラックパッチのセンターを基準とする左右両側の所定区間の距離の検出を行い、前記左右両側の所定区間の距離に基づいてスキャンレートを調整し、倍率エラーに対するスキャンエラーを補正すること、を特徴とする請求項１に記載のスキャニングエラー補正装置。
【請求項１０】
前記制御部は、前記左右両側の所定区間と所定の基準値とを比較した結果に基づいて、全体のスキャン領域に対する前記読取りモジュールによりスキャンされた領域の倍率を検出して、前記スキャンレートを調整すること、を特徴とする請求項１０に記載のスキャニングエラー補正装置。
【請求項１１】
前記制御部は、前記スキャニングエラーを補正できるように前記決定されたスキャニング領域，スキャニング位置，及びスキャンレートに基づいて前記バッファに記憶されているイメージの出力を制御すること、を特徴とする請求項１に記載のスキャニングエラー補正装置。
【請求項１２】
ホワイトシェーディングプレートに一つのブラックパッチが具備されているフラットベッドスキャナーにおけるスキャニングエラー補正方法において、
読取りモジュールを用いて前記ブラックパッチを読み取って情報を検出する検出段階と、
前記検出段階で検出された情報と前記ブラックパッチのパターンに基づいて設定された所定の基準値とを比較した結果により，スキャニング領域，スキャニング位置，及びスキャンレートを決定して前記スキャニングエラーを補正する段階と、を含むスキャニングエラー補正方法。
【請求項１３】
前記検出段階は、前記ブラックパッチの少なくとも一本のエッジラインと、前記プラックパッチの少なくとも一つの区間情報と、前記読取りモジュールの移動区間、のうち少なくとも一つを検出すること、を特徴とする請求項１３に記載のスキャニングエラー補正方法。
【請求項１４】
前記ブラックパッチの上端エッジラインから前記読取りモジュールが前記ブラックパッチ上で垂直方向に移動した区間を検出し、前記検出された区間と、それに対応する前記所定の基準値とを比較し、前記比較結果に基づいてスキャンスタートラインを設定してスキャンスタートラインに対するスキャニングエラーを補正すること、を特徴とする請求項１３に記載のスキャニングエラー補正方法。
【請求項１５】
前記ブラックパッチの最右側のエッジライン、及び、第１ピクセルの読み取り位置を検出し、前記検出された第１ピクセルの読み取り位置と、それに対応する前記所定の基準値とを比較し、前記比較結果に基づいてスキャン領域を設定して第１ピクセルに対するスキャニングエラーを補正すること、を特徴とする請求項１３に記載のスキャニングエラー補正方法。
【請求項１６】
前記ブラックパッチの上端エッジから前記ブラックパッチの下端エッジまでの前記読取りモジュールの移動区間を検出し、前記検出された移動区間と、それに対応する前記所定の基準値とを比較し、前記比較結果に基づいてスキャン領域を設定してスキューに対するスキャニングエラーを補正すること、を特徴とする請求項１３に記載のスキャニングエラー補正方法。
【請求項１７】
前記ブラックパッチのセンターを基準とする左右両側の所定区間のピクセル数を各々検出し、前記検出された所定区間のピクセル数と、それに対応する前記所定の基準値とを比較し、前記比較結果に基づいてスキャンレートを調整して倍率エラーに対するスキャニングエラーを補正すること、を特徴とする請求項１３に記載のスキャニングエラー補正方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はフラットベッド（ｆｌａｔ  ｂｅｄ）スキャナーに関するものであり、特に、フラットベッドスキャナーにおいて、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）（以下、ＣＣＤと称する）モジュールの位置偏差により生じるスキャニングエラーを補正するための方法及び装置に関する。
【０００２】
【従来の技術】
フラットベッドスキャナーにおいて、ＣＣＤモジュールは、フラットベッドの透明窓に光を照射し、透明窓に置かれた文書から反射される光の強度（濃淡）を検出して該当する文書のイメージを読み取る。ＣＣＤモジュールは一列に並んだセンサーであり、一列ずつデータを読み取り、それが縦方向に移動することにより全部のデータを読み取る。フラットベッドスキャナーに電源が印加されると、ＣＣＤモジュールはホーム位置を認識するまで移動する。そして、ホーム位置が認識されると、ＣＣＤモジュールはホワイトシェーディングを設定するためにホワイトシェーディングプレートに移動する。次に、ホワイトシェーディングプレートを通じてホワイトシェーディングが設定されると、ＣＣＤモジュールは透明窓のスキャンスタートラインまで再び移動して実質的なスキャニングを始める。
【０００３】
既存のフラットベッドスキャナーは、フラットベッドスキャナーに具備されているホーム位置センサーを用いてホーム位置にＣＣＤモジュールを移動させる。しかし、それ以外のＣＣＤモジュールの移動はＣＣＤモジュールが移動する距離を考慮して前もって計算された値を用いて制御する。すなわち、ホーム位置からホワイトシェーディングプレートまでのＣＣＤモジュールの移動、及びホワイトシェーディングプレートからスキャンスタートラインまでのＣＣＤモジュールの移動は、ＣＣＤモジュールの移動距離を考慮して前もって計算された値を用いて制御される。
【０００４】
しかしながら、前記前もって計算された値は、各フラットベッドスキャナー別に変更されるのではなく、標準規格により決まるため、ＣＣＤモジュールの移動中に生じる位置偏差によりスキャン結果イメージに歪みが生じる可能性がある。
【０００５】
例えば、ＣＣＤモジュールの位置偏差が生じてスキャンスタートラインが正確に検出されないと、ｙ軸重畳（Ｙ−ｒｅｇｉｓｔｒａｔｉｏｎ）現象が起こり、スキャニングされたイメージの上端に実際のイメージにはない水平ラインが存在する場合がある。また、既存のフラットベッドスキャナーは、文書上の第１ピクセルの位置を所定の値（例えば、１３０ピクセル）に設定してスキャニングを行っているため、ＣＣＤモジュールの位置偏差により前記所定の値より前に第１ピクセルが存在することとスキャニングされた場合には、スキャンアッパーにより所定の値より前の文書内容が隠れるため、左側に実際のイメージにはない垂直ラインが生じる。
【０００６】
そして、既存のフラットベッドスキャナーにおいては、ＣＣＤモジュールがセンターを中心として左右に傾くスキューの発生を考慮していないため、ＣＣＤモジュールのスキューにより、フラットベッドスキャナーの透明窓に置かれた文書のオリジナルイメージに対して精度の低いスキャン結果イメージが得られる場合がある。
【０００７】
更に、既存のフラットベッドスキャナーは、スキャンイメージの左右サイズを考慮していないため、ＣＣＤモジュールのスキャニング偏差により正確なスキャンレートを有するスキャンイメージが得られない場合もある。例えば、１００％のスキャンレートを有するスキャンイメージを得ようとしたが、１０５％のスキャンレートを有するスキャンイメージが得られたり、反対に９５％のスキャンレートを有するスキャンイメージが得られたりする場合がある。
【０００８】
【発明が解決しようとする課題】
本発明の目的は、前述した問題点を解決するため、フラットベッドスキャナーにおいて、各装置別にスキャニング位置を決めることにより、ＣＣＤモジュールの位置偏差によるスキャニングエラーを最小化できるスキャニングエラー補正装置及び方法を提供することである。
【０００９】
本発明の他の目的は、フラットベッドスキャナーにおいて、各装置別に水平及び垂直方向のスキャン領域を最大限に確保でき、その結果、ＣＣＤモジュールの位置偏差によるスキャニングエラーを最小化できるスキャニングエラー補正装置及び方法を提供することである。
【００１０】
本発明のさらに他の目的は、フラットベッドスキャナーにおいて、各装置別にスキャンレートを決めることにより、ＣＣＤモジュールのスキャニング偏差によるスキャニングエラーを最小化できるスキャニングエラー補正装置及び方法を提供することである。
【００１１】
【課題を解決するための手段】
上記課題を解決するため、本発明の主たる観点によれば、フラットベッドスキャナーでスキャニングエラーを補正する装置において、文書が置かれる透明窓と、一つのブラックパッチが具備されているホワイトシェーディングプレートと、前記ブラックパッチ及び前記ホワイトシェーディングプレートの読み取りができる読取りモジュールと、前記ブラックパッチのパターンに基づいて設定された所定の基準値を保存するメモリと、前記読取りモジュールを通じて読み取られた前記ブラックパッチに関する情報と前記所定の基準値とを比較して前記フラットベッドスキャナーのスキャニングエラーを補正できるようにスキャニング領域，スキャニング位置，及びスキャンレートを決定して制御する制御部と、前記読取りモジュールを通じて読み取られた前記文書のイメージを記憶するバッファと、を含むスキャニングエラー補正装置が提供される。
【００１２】
上記記載の発明では、前記ホワイトシェーディングプレートに具備される前記ブラックパッチの各エッジライン及び各区間における情報を前記読取りモジュールを通じて読み取り、前記読み取った情報と対応する前記所定の基準値とを比較してその結果に基づいてスキャニング領域，スキャニング位置，及びスキャンレートを決定することにより、前記透明窓に置かれた文書をスキャニングする際に生じるスキャニングエラーを個々のフラットベッドスキャナーに応じて補正することができる。
【００１４】
前記制御部は、前記読取りモジュールを通じて前記ブラックパッチの上端エッジラインの検出を行い、前記上端エッジラインからスキャンスタートラインまで前記読取りモジュールが移動した区間に基づいてスキャンスタートラインを設定し、スキャンスタートラインに対するエラーを補正する、如く構成すれば、前記スキャンスタートライン位置を設定する際の前記読取りモジュールのホーム位置から前記スキャンスタートラインまでの移動中に生じる、前記読取りモジュールの位置偏差により発生する誤差を補正し、前記スキャンスタートラインの位置を正しく設定して、スキャンスタートラインに対するエラーを補正することができる。
【００１５】
前記制御部は、前記読取りモジュールを通じて前記ブラックパッチの最右側のエッジラインの検出、及び第１ピクセルの読み取りを行い、前期第１ピクセルが読み取られた位置に基づいてスキャン領域を設定し、第１ピクセルの読み取り位置に対するスキャニングエラーを補正する、如く構成すれば、前記第１ピクセルの読み取り位置を設定する際に前記読取りモジュールの位置偏差により発生する誤差を補正し、前記第１ピクセルの読み取り位置を正しく設定して、第１ピクセルの読み取り位置に対するエラーを補正することができる。
【００１６】
前記制御部は、前記第１ピクセルが読み取られた位置が所定の基準値により設定された地点を外れた場合には、前記所定の基準値により設定された地点で第１ピクセルの読み取りができるようにスキャン領域を設定し、前記第１ピクセルが読み取られた位置が前記所定の基準値により設定された地点内にある場合には、前記第１ピクセルが読み取られた位置で第１ピクセルの読み取りができるようにスキャン領域を設定する、如く構成すれば、前記第１ピクセルが読み取られた位置が、前記所定の基準値により設定された地点の外側または内側のいずれとなった場合にも、前記第１ピクセルの読み取り位置を正しく設定して、第１ピクセルの読み取り位置に対するエラーを補正してスキャン領域を設定することができる。
【００１７】
前記制御部は、前記読取りモジュールを通じて前記ブラックパッチの上端エッジ及び下端エッジの検出を行い、前記上端エッジから前記下端エッジまで前記読取りモジュールが移動した区間に基づいてスキャン領域を設定し、スキュー発生に対するスキャニングエラーを補正する、如く構成すれば、前記読取りモジュールが移動する際に生じるスキューを補正してスキャン領域を設定することができる。
【００１８】
前記制御部は、前記読取りモジュールを通じて前記ブラックパッチのセンターを基準とする左右両側の所定区間の距離の検出を行い、前記左右両側の所定区間の距離に基づいてスキャンレートを調整し、倍率エラーに対するスキャンエラーを補正する、如く構成すれば、前記読取りモジュールのスキャニング偏差により発生する倍率エラーを、スキャンレートを調整することにより補正することができる。
【００１９】
前記制御部は、前記スキャニングエラーを補正できるように前記決定されたスキャニング領域，スキャニング位置，及びスキャンレートに基づいて前記バッファに記憶されているイメージの出力を制御する、如く構成すれば、前記読取りモジュールを通じて読み取られたイメージを前記バッファに一旦記憶しておき、前記制御部においてスキャニングエラーの検出を行い、その結果に基づいてスキャニング領域，スキャニング位置，及びスキャンレートを決定し，前記バッファに記憶されているイメージに対して決定されたスキャニング領域，スキャニング位置，及びスキャンレートに基づいてスキャニグエラーの補正を行ってから、補正されたイメージの出力を行うことができる。
【００２０】
上記課題を解決するため、本発明の他の観点によれば、ホワイトシェーディングプレートに一つのブラックパッチが具備されているフラットベッドスキャナーにおけるスキャニングエラー補正方法において、読取りモジュールを用いて前記ブラックパッチを読み取って情報を検出する検出段階と、前記検出段階で検出された情報と前記ブラックパッチのパターンに基づいて設定された所定の基準値とを比較した結果により，スキャニング領域，スキャニング位置，及びスキャンレートを決定して前記スキャニングエラーを補正する段階と、を含むスキャニングエラー補正方法が提供される。
【００２１】
上記記載の発明では、前記ホワイトシェーディングプレートに具備される前記ブラックパッチの各エッジライン及び各区間における情報を、前記読取りモジュールを通じて読み取り、前記読み取った情報と対応する前記所定の基準値とを比較してその結果に基づいてスキャニング領域，スキャニング位置，及びスキャンレートを決定することにより、前記透明窓に置かれた文書をスキャニングする際に生じるスキャニングエラーを補正することができる。
【００２２】
前記スキャニングエラー補正方法においては、前記ブラックパッチの上端エッジラインから前記読取りモジュールが前記ブラックパッチ上で垂直方向に移動した区間を検出し、前記検出された区間と、それに対応する前記所定の基準値とを比較し、前記比較結果に基づいてスキャンスタートラインを設定してスキャンスタートラインに対するスキャニングエラーを補正する、如く構成すれば、前記スキャンスタートライン位置を設定する際に、前記読取りモジュールがホーム位置から前記スキャンスタートラインまで移動する間に生じる、前記読取りモジュールの位置偏差により発生する誤差を補正し、前記スキャンスタートラインの位置を正しく設定して、スキャンスタートラインに対するエラーを補正することができる。
【００２３】
前記スキャニングエラー補正方法においては、前記ブラックパッチの最右側のエッジライン、及び、第１ピクセルの読み取り位置を検出し、前記検出された第１ピクセルの読み取り位置と、それに対応する前記所定の基準値とを比較し、前記比較結果に基づいてスキャン領域を設定して第１ピクセルに対するスキャニングエラーを補正する、如く構成すれば、前記第１ピクセルの読み取り位置を設定する際に、前記読取りモジュールの位置偏差により発生する誤差を補正し、前記第１ピクセルの読み取り位置を正しく設定して、第１ピクセルの読み取り位置に対するエラーを補正することができる。
【００２４】
前記スキャニングエラー補正方法においては、前記ブラックパッチの上端エッジから前記ブラックパッチの下端エッジまでの前記読取りモジュールの移動区間を検出し、前記検出された移動区間と、それに対応する前記所定の基準値とを比較し、前記比較結果に基づいてスキャン領域を設定してスキューに対するスキャニングエラーを補正する、如く構成すれば、前記読取りモジュールが移動する際に生じるスキューを補正してスキャン領域を設定することができる。
【００２５】
前記スキャニングエラー補正方法においては、前記ブラックパッチのセンターを基準とする左右両側の所定区間のピクセル数を各々検出し、前記検出された所定区間のピクセル数と、それに対応する前記所定の基準値とを比較し、前記比較結果に基づいてスキャンレートを調整して倍率エラーに対するスキャニングエラーを補正する、如く構成すれば、前記読取りモジュールのスキャニング偏差により発生する倍率エラーを、スキャンレートを調整することにより補正することができる。
【００２６】
【発明の実施の形態】
以下、添付した図面に基づき、本実施形態にかかるフラットベッドスキャナーにおけるスキャニングエラー補正方法及び装置について説明する。
【００２７】
図１は、本実施形態にかかるスキャニングエラー補正方法及び装置を説明するためのフラットベッドスキャナーの動作概念図である。図１を参照すれば、フラットベッドスキャナー１００は、ＣＣＤモジュール１０１と、本実施形態にかかる一つのブラックパッチ１０４が具備されているホワイトシェーディングプレート１０３、及び透明窓１１４を含む。
【００２８】
本実施形態においては、ブラックパッチ１０４は、図１に示されたように、アルファベットゴシック体の大文字”Ｅ”が下方に略９０゜傾いたようなパターンを有する。しかし、これと類似した他のパターンを有する一つのブラックパッチをホワイトシェーディングプレート１０３に形成することも可能である。すなわち、センターを中心として２等分したとき、左右対称のパターンが得られるパターンであれば、ホワイトシェーディングプレート１０３のブラックパッチとして用いることができる。
【００２９】
本実施形態にかかるスキャニングエラー補正方法においては、ホワイトシェーディングプレート１０３を通じてホワイトシェーディングを行う前、またはホワイトシェーディングを行った後に、スキャニング位置及びスキャン領域を設定するために、ブラックパッチ１０４のエッジライン１０５、１０６、１０７、１０８、１０９、１１０、１１１、１１２の検出、及びブラックパッチ１０４内の特定の区間ａ、ｂ、ｃ、ｄ、ｅ、ｆ、ｇ、ｈ、ｉ、ｊのピクセル数の検出を行う。更に、ブラックパッチ１０４のｆ、ｇ区間またはｄ、ｆ、ｇ、ｊ区間におけるピクセル数を考慮してスキャンイメージの左右倍率（ｍａｇｎｉｆｉｃａｔｉｏｎ）を補正する。ここで、倍率とは、文書のスキャンレートのことである。
【００３０】
透明窓１１４において、１１５はスキャンスタートラインであり、１１６は第１ピクセルが存在する領域である。
【００３１】
図２は、本実施形態にかかるフラットベッドスキャナーにおける、ホワイトシェーディングプレートのブラックパッチを用いてＣＣＤモジュールの位置偏差またはスキャニング偏差によるスキャニングエラーを補正できる、スキャニングエラー補正装置のブロック図である。
【００３２】
図２を参照すれば、前記スキャニングエラー補正装置は、透明窓２０１と、ＣＣＤモジュール２０２と、ホワイトシェーディングプレート２０３と、バッファ２０４と、メモリ２０５と、制御部２０６と、を含む。
【００３３】
透明窓２０１はフラットベッドスキャナーのフラットベッド（図示せず）に具備されるものであり、スキャニングされる文書が置かれる場所である。
【００３４】
ＣＣＤモジュール２０２はイメージの読み取りを行う読取りモジュールであり、既存のフラットベッドスキャナーに具備されているものと同一に構成される。
【００３５】
ホワイトシェーディングプレート２０３は、ホワイトレファランスレベルを設定するために用いられるものである。ホワイトシェーディングプレート２０３は既存のフラットベッドスキャナーにおけるホワイトシェーディングプレートと類似に構成されるが、図１に示されたようなパターンのブラックパッチ１０４がＣＣＤモジュール２０２側に具備されるという点で、既存のホワイトシェーディングプレートとは異なる。したがって、ホワイトシェーディングプレート２０３からイメージを読み取って処理するとき、制御部２０６は、ＣＣＤモジュール２０２により読み取られたブラックパッチ１０４の特定の区間結果を用いて本実施形態にかかるスキャニングエラー補正処理を行う。
【００３６】
バッファ２０４は、ＣＣＤモジュール２０２が透明窓２０１に置かれた文書から読み取ったイメージを記憶する。
【００３７】
メモリ２０５には、本実施形態にかかるスキャニングエラー補正時に必要とされる基準値が保存されている。すなわち、スキャニングエラー補正時に必要とされるブラックパッチ１０４のエッジライン及び特定の区間に関する条件情報を保存する。メモリ２０５に保存されている条件情報は制御部２０６により読み取られて用いられる。メモリ２０５に保存されている条件情報は制御部２０６に保存されるように具現することもできる。
【００３８】
制御部２０６は、ＣＣＤモジュール２０２を通じてホワイトシェーディングプレート２０３に具備されているブラックパッチ１０４のエッジライン及び特定の区間を検出した情報と、メモリ２０５に保存されている条件情報とを比較しながら、スキャニング領域及び位置を決めることにより、ＣＣＤモジュール２０２の位置偏差またはスキャニング偏差により生じたスキャニングエラーを補正する。スキャニングエラーを補正するための制御部２０６の動作は、後述する図４にて詳細に説明する。
【００３９】
図３は、本実施形態にかかるフラットスキャナーにおけるスキャニングエラー補正方法の動作を示したフローチャートである。以下に、図２に示された装置を参照しながら、図３のフローチャートについて説明する。
【００４０】
フラットベッドスキャナーに電源が印加されると、制御部２０６は、ＣＣＤモジュール２０２がホーム位置に移動するように指示する（第３０１段階）。ＣＣＤモジュール２０２がホーム位置に達したと判断されると（第３０２段階）、ＣＣＤモジュール２０２は、所定時間、自身のウォーミングアップを行う（第３０３段階）。第３０２段階において、ＣＣＤモジュール２０２がホーム位置に達したかどうかを判断する方式は、既存のフラットベッドスキャナーにおける方式と同様である。
【００４１】
ＣＣＤモジュール２０２のウォーミングアップが完了すると、制御部２０６は、ＣＣＤモジュール２０２をホワイトシェーディングプレート２０３に移動させ、ホワイトシェーディングを行う（第３０４段階）。ここでのホワイトシェーディング方式は、既存のフラットベッドスキャナーにおける方式と同様である。
【００４２】
次に、制御部２０６は、ＣＣＤモジュール２０２を通じてホワイトシェーディングプレート２０３に具備されているブラックパッチ１０４を読み取って得た情報と、メモリ２０５に保存されている基準値とを比較して、透明窓２０１に対するスキャニング領域、スキャニング位置、及びスキャンレートを決める（第３０５段階）。これにより、ＣＣＤモジュール２０２の位置偏差またはスキャニング偏差により生じたスキャニングエラーが補正される。第３０５段階の動作の詳細は、後述する図４に示されている。
【００４３】
そして、前記スキャニング領域及びスキャニング位置に基づいて、透明窓２０１を通じて実質的なスキャニングを行うためのルーチンに進む（第３０６段階）。
【００４４】
前述のように、図３においては、ホワイトシェーディングを行った後、ブラックパッチ１０４を通じてスキャニング領域、スキャニング位置、及びスキャンレートを決める場合について例示したが、ブラックパッチ１０４を通じてスキャニング領域、スキャニング位置、及びスキャンレートを決めた後にホワイトシェーディングを行うように具現することもできる。
【００４５】
図４は、ＣＣＤモジュール２０２がホワイトシェーディングプレート２０３のブラックパッチ１０４を読み取って得た情報と、メモリ２０５に保存されている基準値とを比較しながら、ＣＣＤモジュール２０２の位置偏差またはスキャニング偏差により生じたスキャニングエラーを補正する方法の詳細を示したフローチャートである。図４では、特に、透明窓２０１のスキャンスタートラインに対するエラー補正、第１ピクセル（図１の１１６地点）に対するエラー補正、ＣＣＤモジュール２０２のスキュー補正、及びスキャンレートエラーの補正、の方法を示している。
【００４６】
第４０１段階から第４０６段階は、スキャンスタートラインを補正する過程を示したフローチャートである。
【００４７】
まず、ＣＣＤモジュール２０２がホワイトシェーディングプレート２０３のイメージを読み取っている状態で、制御部２０６は、ブラックパッチ１０４の１０５エッジラインが検出されたかどうかをチェックする（第４０１段階）。１０５エッジラインは、ブラックパッチ１０４の上端エッジラインであり、ＣＣＤモジュール２０２がホワイトシェーディングプレート２０３のイメージを読み取った結果、最初にブラックピクセルが検出されたラインとなる。
【００４８】
１０５エッジラインが検出されると、制御部２０６は、ＣＣＤモジュール２０２を移動させつつＣＣＤモジュール２０２から伝送される２進データによりホワイトシェーディングプレート２０３におけるブラックピクセル及びホワイトピクセルの存否をチェックする（第４０２段階）。
【００４９】
ブラックパッチ１０４の‘ｆ’区間及び‘ｇ’区間がいずれもホワイトピクセルとして検出されると（第４０３段階）、制御部２０６は、１０５エッジラインが検出された地点から、‘ｆ’区間及び‘ｇ’区間がいずれもホワイトピクセルとして検出された地点までの、ＣＣＤモジュール２０２が垂直方向に移動した区間に対応するピクセル数を計算する（第４０４段階）。第４０３段階で、ブラックパッチ１０４の‘ｆ’区間及び‘ｇ’区間が検出されなかった場合は、制御部２０６は第４０２段階に戻る。
【００５０】
そして、制御部２０６は、前記計算されたピクセル数と基準値とを比較して差を算出する（第４０５段階）。前記基準値はメモリ２０５に保存されているものであり、図１の‘ｅ’区間及び‘ｈ’区間を加算した区間‘ｅ＋ｈ’に対応するピクセル数である。次に、制御部２０６は、算出された差だけＣＣＤモジュール２０２を移動させてスキャニングを始めるように制御する（第４０６段階）。例えば、‘ｅ’区間及び‘ｈ’区間を加算した区間に対応するピクセル数が２１６であれば、前記‘ｆ’区間及び‘ｇ’区間が検出された地点までのＣＣＤモジュール２０２の垂直移動距離に対応するピクセル数を２１６から差引いて得られたピクセル数だけＣＣＤモジュール２０２を移動させる。これにより、スキャンスタートラインが補正される。
【００５１】
前述した第４０１段階から第４０６段階によるスキャンスタートラインの補正は、１０５エッジラインから‘ｆ’区間及び‘ｇ’区間が検出された地点までのＣＣＤモジュール２０２の垂直移動距離を用いた場合であるが、１０５エッジラインから１１０、１１１、１１２エッジラインが検出された地点までのＣＣＤモジュール２０２の垂直移動距離を用いてスキャンスタートラインを補正することもできる。
【００５２】
第４０７段階から第４１２段階は、第１ピクセルに対するエラーを補正する過程を示したフローチャートである。以下に述べる第４０７段階から第４１２段階により、フラットベッドスキャナーは、第１ピクセルに対するエラーを補正したスキャン領域を設定する。
【００５３】
まず、ＣＣＤモジュール２０２がホワイトシェーディングプレート２０３のイメージを読み取っている状態で、制御部２０６は、ＣＣＤモジュール２０２から伝送される２進データによりブラックパッチ１０４の１０６エッジラインが検出されたかどうかをチェックする（第４０７段階）。ここで、１０６エッジラインは、ブラックパッチ１０４の最右側のエッジラインである。
【００５４】
１０６エッジラインが検出されると、制御部２０６は、ホワイトシェーディングプレート２０３の読み取りを行いつつ、第１ピクセルが読み取られたかどうかをチェックする（第４０８段階）。第１ピクセルが読み取られたならば、制御部２０６は、第１ピクセルが読み取られた位置と１０６エッジラインが検出された地点との差に対応するピクセル数を算出する（第４０９段階）。
【００５５】
そして、制御部２０６は、前記算出されたピクセル数と基準値とを比較する（第４１０段階）。ここで、基準値は、図１の‘ｂ’区間に対応するピクセル数である。すなわち、基準値は、１０６エッジラインを基準としてｂにより設定された地点までの区間に対応するピクセル数である。
【００５６】
第４１０段階における比較の結果、算出されたピクセル数が基準値よりも大きければ、第１ピクセルが読み取られた位置が図１の‘ａ’区間に存在する場合であり、スキャンアッパーによりスキャニングされたイメージに垂直方向にブラックラインが生じる場合がある。このため、制御部２０６は、１０６エッジラインから基準値までの距離に対応するピクセル数だけ離れた地点で第１ピクセルの読み取りができるようにスキャン領域を設定する（第４１１段階）。
【００５７】
第４１０段階における比較の結果、算出されたピクセル数が基準値よりも小さい場合には、第１ピクセルが読み取られた地点は図１の‘ｂ’区間内に存在する。このため、制御部２０６は、ＣＣＤモジュール２０２により読み取られた第１ピクセルが位置する地点からスキャン領域が設定されるように制御する（第４１２段階）。
【００５８】
例えば、前記基準値が１９２ピクセルであり、前記読み取られた第１ピクセルの位置が１９２ピクセルよりも大きい場合、１０６エッジラインから右側の水平方向に１９２ピクセルだけ離れた地点で第１ピクセルの読み取りができるようにスキャン領域を設定する（第４１１段階）。しかし、前記読み取られた第１ピクセルの位置が１９２ピクセルよりも大きくなければ（図１の‘ｂ’区間内にあれば）、第１ピクセルが読み取られた地点からをスキャン領域として設定する（第４１２段階）。
【００５９】
第４１３段階から第４１８段階は、スキューを補正する過程を示したフローチャートである。以下に述べる第４１３段階から第４１８段階により、フラットベッドスキャナーは、スキューに対するエラーを補正したスキャン領域を設定する。
【００６０】
まず、ＣＣＤモジュール２０２がホワイトシェーディングプレート２０３のイメージを読み取っている状態で、制御部２０６は、ＣＣＤモジュール２０２が１０５エッジラインから‘ｅ’区間に該当する距離を垂直方向に移動するように制御する（第４１３段階）。そして、制御部２０６は、ＣＣＤモジュール２０２から伝送される２進データによりブラックパッチ１０４の１１０、１１１、及び１１２エッジラインを検出する（第４１４段階）。ここで、１１０、１１１、及び１１２エッジラインは、ブラックパッチ１０４の下端エッジラインである。下端エッジラインの検出は、前述した他のエッジラインの検出時と同様に、ホワイトシェーディングプレート２０３に対するＣＣＤモジュール２０２のブラックピクセル及びホワイトピクセルの読み取りができるかどうかをチェックする方式によりなされる。
【００６１】
したがって、制御部２０６は、ＣＣＤモジュール２０２から伝送される２進データにより１１０、１１１、及び１１２エッジライン地点がいずれもホワイトとなれば、１０５エッジラインからＣＣＤモジュール２０２が垂直方向に移動した区間のピクセル数を計算する（第４１６段階）。そして、計算されたピクセル数と基準値とを比較して差を算出する（第４１７段階）。前記基準値はメモリ２０５に保存されている情報であり、図１の‘ｅ’区間に対応するピクセル数である。差が算出されると、制御部２０６は、算出された差によりスキューが補正されるようにスキャン領域を設定する（第４１８段階）。
【００６２】
すなわち、算出された差が‘０’でスキューが生じなかった場合は、１１０、１１１、及び１１２エッジラインで同時にホワイトピクセルが検出されるが、スキューが生じた場合は、１１０、１１１、及び１１２エッジラインで同時にホワイトピクセルが検出されない。例えば、１１０及び１１１エッジラインではブラックピクセルが検出されたものの、１１２エッジラインではホワイトピクセルが検出されたり、反対に、１１０及び１１１エッジラインではホワイトピクセルが検出されたものの、１１２エッジラインではブラックピクセルが検出されたり、また、１１０エッジラインではブラックピクセルが検出されたものの、１１１及び１１２エッジラインではホワイトピクセルが検出されたりする。
【００６３】
すなわち、スキューが存在しなければ、１１０、１１１、及び１１２エッジラインでいずれもホワイトピクセルが検出される地点は、第４１７段階で用いられる基準値と同一のピクセル数を有する地点となるため、第４１７段階で算出される差は‘０’となる。その結果、第４１８段階におけるスキューを考慮したスキャン領域の設定が不要になる。
【００６４】
しかし、スキューが存在する場合、１１０、１１１、及び１１２エッジラインでいずれもホワイトピクセルが検出される地点は、第４１７段階で用いられる基準値よりも大きいピクセル数を有する地点となる。このため、第４１７段階では‘０’より大きい値が差として算出される。例えば１１０、１１１、及び１１２エッジラインがいずれもホワイトとなる地点までＣＣＤモジュール２０２が垂直方向に移動した距離に対応するピクセル数が１６８であり、前記‘ｅ’区間に対応するピクセル数が１４４である場合、第４１７段階で算出された差は２４ピクセルとなる。このため、第４１８段階では、２４ピクセルに対するスキューを補正できるスキャン領域を設定しなければならない。
【００６５】
スキューを補正するには、まず、前記算出された差からブラックパッチ１０４のセンターを基準とする左右のスキュー範囲を算出する。このとき、１ｍｍは２４ピクセルに相当する。例えば、前述のように、算出された差が２４ピクセルである場合、左右のスキュー範囲は２４ピクセルを２で割った（２４／２）１２ピクセル、すなわち０．５ｍｍである。したがって、制御部２０６は、スキャンスタートラインが左右のスキュー範囲を合わせた０．５ｍｍ＊２＝１ｍｍを移動してスキャンできるようにスキャン領域を設定することにより、スキューを補正する。
【００６６】
第４１９段階から第４２２段階は、フラットベッドスキャナーの倍率エラーが補正されるようにスキャンレートを調整する過程を示したフローチャートである。
【００６７】
まず、ＣＣＤモジュール２０２がホワイトシェーディングプレート２０３に対するイメージを読み取っている状態で、制御部２０６は、図１の‘ｆ’区間及び‘ｇ’区間のピクセル数を検出する（第４１９段階）。制御部２０６は、第４１９段階で検出した‘ｆ’区間のピクセル数及び‘ｇ’区間のピクセル数を各々の基準値と比較して差を算出する（第４２０段階）。前記基準値はメモリ２０５に保存されているものであり、‘ｆ’区間のピクセル数に対応する基準値は‘ｆ’区間に対して前もって設定されたピクセル数であり、‘ｇ’区間のピクセル数に対応する基準値は‘ｇ’区間に対して前もって設定されたピクセル数である。
【００６８】
そして、前記差に基づいて全体のスキャン領域に対する現在のスキャン領域の倍率を算出する（第４２１段階）。例えば、ＣＣＤモジュール２０２を通じて算出された‘ｆ’区間のピクセル数が２０６４ピクセル、‘ｇ’区間のピクセル数が２０６４ピクセルであり、‘ｆ’区間に対応する基準値が２０４０ピクセル、‘ｇ’区間に対応する基準値が２０４０ピクセルである場合について説明する。１ｍｍは２４ピクセルに相当するので、‘ｆ’区間及び‘ｇ’区間は各々８６ｍｍと認識されたこととなり、また、‘ｆ’区間及び‘ｇ’区間の基準値は各々８５ｍｍとなるので、両区間においては各々１ｍｍをさらに読み取ったことになる。ここで、全体のスキャン領域である図１のｃ区間の基準値が２１６ｍｍである場合、全体のスキャン領域においては、２１６＊｛（８６／８５）−１｝≒２．５４ｍｍをさらに読み取ったこととなる。この２．５４ｍｍ及び全体のスキャン領域２１６ｍｍを用いて倍率を算出すると、１．０１１８倍（≒（２１６＋２．５４）／２１６）の倍率が得られる。
【００６９】
現在のスキャン領域の倍率（またはサイズ）が算出されると、制御部２０６は算出された倍率に基づいてスキャンレートを調整する（第４２２段階）。すなわち、前述した第４２１段階から明らかなように、スキャンレートが１００％である場合には１．０１１８倍のスキャンがなされるので、実際に１００％のスキャンを適用するためには、（１／１．０１１８）×１００＝約９８．８３％にスキャンレートを調整しなければ、１００％のイメージのスキャン結果が得られない。
【００７０】
前述した倍率エラー補正方式においては、図１の‘ｆ’区間及び‘ｇ’区間のピクセル数を用いる場合を例示したが、図１の‘ｊ’区間及び‘ｄ’区間を更に考慮して倍率エラーを補正することができる。前記‘ｊ’区間及び‘ｄ’区間を更に考慮するためには、制御部２０６は、図１の最左側のエッジラインである１０７エッジライン及び最右側のエッジラインである１０６エッジラインを検出した情報を用いる。このように、ブラックパッチ１０４のセンターを中心として左右両側の区間を考慮する理由は、スキャン領域の左右エッジを決めるためである。
【００７１】
図４は、ＣＣＤモジュール２０２から伝送される２進データに基づいて各補正過程が並列に行われる場合を示したものである。しかし、ＣＣＤモジュール２０２から伝送される２進データに基づいて、前述したような補正を行うために必要とされるブラックパッチ１０４の全てのエッジライン及び区間のピクセル数を先に算出した後、定まった順序に従って、メモリ２０５に保存されている対応する基準値と算出されたブラックパッチ１０４に関する情報とを比較しながら、補正の要否及び補正に必要な係数を得ることができる。そして、得られた補正の要否及び補正に必要な係数に基づいて、スキャン領域、スキャン位置、及びスキャンレートを決定してＣＣＤモジュール２０２の動作を制御したり、あるいはバッファ２０４に記憶されているスキャニングされたイメージの出力範囲を制御して、補正を具現することもできる。
【００７２】
以上、本発明に係る好適な実施の形態について説明したが、本発明はかかる構成に限定されない。当業者であれば、特許請求の範囲に記載された技術思想の範囲内において、各種の修正例および変更例を想定し得るものであり、それらの修正例および変更例についても本発明の技術範囲に包含されるものと了解される。
【００７３】
【発明の効果】
以上述べたように、本発明によれば、フラットベッドスキャナーにおいて、ホワイトシェーディングプレートに一つのブラックパッチを備え、ブラックパッチの各エッジラインと各区間におけるピクセル数を検出して対応する基準値とを比較した結果により、該当するスキャニングエラーを補正するかどうかを決め、各フラットベッドスキャナー別にスキャニング領域、スキャニング位置、及びスキャンレートを決めることにより、各フラットベッドスキャナー別に水平及び垂直方向のスキャニング領域を最大限確保できる。したがって、ＣＣＤモジュールの位置偏差によりスキャニングされたイメージにエラーが生じることを防止することができる。
【００７４】
また、ブラックパッチにより検出された現在のスキャニングされた領域に対する左右サイズと全体のスキャンサイズとを比較して正確に所望の倍率を有するスキャニングイメージを得ることができる。
【図面の簡単な説明】
【図１】本実施形態にかかるフラットベッドスキャナーにおけるスキャニングエラー補正方法及び装置を説明するためのフラットベッドスキャナーの動作概念図。
【図２】本実施形態にかかるフラットベッドスキャナーにおけるスキャニングエラー補正装置のブロック図である。
【図３】本実施形態にかかるフラットベッドスキャナーにおけるスキャニングエラー補正方法の動作を示したフローチャート。
【図４】本実施形態にかかるフラットベッドスキャナーにおけるスキャニングエラー補正方法の詳細を示したフローチャート。
【符号の説明】
１００  フラットベッドスキャナー
１０１  ＣＣＤモジュール
１０３  ホワイトシェーディングプレート
１０４  ブラックパッチ
１０５  エッジライン
１０６  エッジライン
１０７  エッジライン
１０８  エッジライン
１０９  エッジライン
１１０  エッジライン
１１１  エッジライン
１１２  エッジライン
ａ、ｂ、ｃ、ｄ、ｅ、ｆ、ｇ、ｈ、ｉ、ｊ  特定区間
１１４  透明窓
１１５  スキャンスタートライン
１１６  第１ピクセル存在領域
【図１】
0003591645.tif 000002
【図２】
0003591645.tif 000003
【図３】
0003591645.tif 000004
【図４】
0003591645.tif 000005