(57)【要約】【課題】二次元センサを使用して画像データの読み取り速度を高速化する。【解決手段】画像処理装置は、原稿からの反射光に基づいて原稿上の画像を複数のラインで読み取り、読み取った画像データに対してボケ補正を行う。また、画像データの読取手段の各ラインは、原稿の複数のラインに亘って画像を読み取り、画像処理装置は、ＣＣＤセンサ２１４からの各ラインの画像データの出力処理と同期して、光の照明パターンの変更を行う。【選択図】図３
2011135533.tif 000002
【特許請求の範囲】
【請求項１】
原稿に対する光の照明パターンを変更する制御手段と、
前記原稿からの反射光に基づいて、前記原稿上の画像を複数のラインで読み取る読取手段と、
前記読取手段から出力される画像データに対してボケ補正を行う補正手段とを有し、
前記読取手段の各ラインは、前記原稿の複数のラインに亘って前記画像を読み取り、前記制御手段は、前記読取手段からの各ラインの画像データの出力処理と同期して、光の照明パターンの変更を行うことを特徴とする画像読取装置。
【請求項２】
前記制御手段は、周期性をもって光の照明パターンを変更することを特徴とする請求項１に記載の画像読取装置。
【請求項３】
前記補正手段は、前記読取手段から出力される前記複数のライン分の画像データ毎にボケ補正を行うことを特徴とする請求項１又は２に記載の画像読取装置。
【請求項４】
画像読取装置の制御方法であって、
原稿に対する光の照明パターンを変更する制御ステップと、
読取手段が、前記原稿からの反射光に基づいて、前記原稿上の画像を複数のラインで読み取る読取ステップと、
前記読取手段から出力される画像データに対してボケ補正を行う補正ステップとを含み、
前記読取手段の各ラインは、前記原稿の複数のラインに亘って前記画像を読み取り、前記制御ステップは、前記読取手段からの各ラインの画像データの出力処理と同期して、光の照明パターンの変更を行うことを特徴とする画像読取装置の制御方法。
【請求項５】
原稿に対する光の照明パターンを変更する制御ステップと、
読取手段が、前記原稿からの反射光に基づいて、前記原稿上の画像を複数のラインで読み取る読取ステップと、
前記読取手段から出力される画像データに対してボケ補正を行う補正ステップとをコンピュータに実行させ、
前記読取手段の各ラインは、前記原稿の複数のラインに亘って前記画像を読み取り、前記制御ステップは、前記読取手段からの各ラインの画像データの出力処理と同期して、光の照明パターンの変更を行うことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、二次元センサを使用して原稿上の画像を読み取るための技術に関するものである。
【背景技術】
【０００２】
デジタル複写機、ファクシミリ装置、スキャナ等に装備されている従来のスキャンユニットでは、原稿の読み取り速度は照明光の輝度、ＣＣＤラインセンサの感度、光学系（レンズ）の明るさ（Ｆ値）により決定されている。このため、従来技術において読み取り速度を向上させるためには、照明光の輝度の向上、光学系のＦ値の向上、ＣＣＤラインセンサの感度の向上の何れかが必要である。
【０００３】
しかしながら、ＣＣＤラインセンサの感度はデバイスの制約から簡単には向上させることができない。照明光の輝度の向上若しくは光学系のＦ値の向上は最も簡便な対応であるが、照明光の輝度の向上は消費電力の増大を招き、光学系のＦ値の向上は光学系の物理サイズの増大を招いてしまう。そこで、これらの要素に拠らずにスキャン速度を向上させる手段として、ＣＣＤラインセンサではなく二次元センサを使用する手法が容易に類推される。
【０００４】
但し、二次元センサを使用する場合、様々な問題に直面する。最も単純な手法はスキャン原稿を複数の二次元領域に分割してスキャンする手法であるが、これは、例えば６００ｄｐｉのスキャンであれば原稿若しくはスキャンユニットの移動を１／６００ｄｐｉの精度で行わなければならず困難である。また、全画面を一度に二次元センサで読み取れればこの問題は発生しないが、光学系の実用的サイズを考慮するとこれも困難である。そこで、原稿若しくはスキャンユニットを移動させながら二次元センサを用いてスキャンする何らかの手法が必要になる。しかしこの場合には、露光条件を変えずにスキャンスピードを向上させると、得られるスキャン画像では必然的にボケが発生してしまう。
【０００５】
ここでボケ画像を復元させる手法としては、一般的に逆フィルタを用いる回復フィルタ手法が広く知られているが、等速度のボケに対する回復フィルタはＳＩＮＣ関数の逆関数となるため、良好な結果が得られない。他方、ボケ回復の新しい技術としてCoded Exposureが近年提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許出願公開第２００７／０２５８７０６号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に開示されるような技術はＤＳＣ(Digital Still Camera)のように画像全体を一度に取得できる入力機器に対するボケ回復技術であり、センサ端近くの画素では回復精度が大きく落ちる、という問題がある。従って、原稿若しくはスキャンユニットを移動させながらの走査で画像を取得するスキャナに適用した場合、画質の劣化した画像が周期的に現れてしまう。以上のように公知技術の組み合わせでは、照明光の輝度、センサの感度、或いは光学系のＦ値を変えることなく、読み取り速度を向上させることは困難である。
【０００８】
そこで本発明の目的は、二次元センサを使用して画像データの読み取り速度を高速化することにある。
【課題を解決するための手段】
【０００９】
本発明の画像読取装置は、原稿に対する光の照明パターンを変更する制御手段と、前記原稿からの反射光に基づいて、前記原稿上の画像を複数のラインで読み取る読取手段と、前記読取手段から出力される画像データに対してボケ補正を行う補正手段とを有し、前記読取手段の各ラインは、前記原稿の複数のラインに亘って前記画像を読み取り、前記制御手段は、前記読取手段からの各ラインの画像データの出力処理と同期して、光の照明パターンの変更を行うことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、二次元センサを使用して画像データの読み取り速度を高速化することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態に係る画像読取装置の構成を示すブロック図である。
【図２】スキャナの構成を示す図である。
【図３】スキャナコントローラの回路構成を示すブロック図である。
【図４】タイミングコントローラの回路構成を示すブロック図である。
【図５】スキャンプログラムに基づくＣＰＵでのスキャン実行処理を示すフローチャートである。
【図６】ＡＤＦ使用時におけるＣＣＤセンサのラインと原稿画像のラインとの関係を示す図である。
【図７】本発明の第１の実施形態における信号タイミングを示す図である。
【図８】原稿画像と当該原稿画像から読み取られたスキャン画像データとを示す図である。
【図９】ＡＤＦ非使用時のＣＣＤセンサのラインと原稿画像のラインとの関係を示す図である。
【図１０】第２の実施形態におけるＣＣＤセンサのラインと原稿画像のラインとの関係を示す図である。
【図１１】本発明の第２の実施形態における信号タイミングを示す図である。
【図１２】本発明の第２の実施形態における行列Ａを模式的に示す図である。
【図１３】本発明の他の実施形態におけるＣＣＤセンサのライン構成を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【００１３】
先ず、本発明の第１の実施形態について説明する。図１は、本発明の第１の実施形態に係る画像読取装置の構成を示すブロック図である。図１において、ＣＰＵ１０１は、メインメモリ１０２のＲＡＭをワークメモリとして、メインメモリ１０２のＲＯＭ及びハードディスクドライブ（ＨＤＤ）１０４に格納されたオペレーティングシステム（ＯＳ）や各種プログラムを実行する。そして、ＰＣＩ(peripheral component interconnect)バス等のシステムバス１１２を介して各構成を制御する。さらに、後述する画像処理アプリケーション、プリンタドライバ、カラーマネージメントモジュールを含む各種プログラムを実行する。ＣＰＵ１０１は、システムバス１１２及びＳＣＳＩインタフェース１０３を介してＨＤＤ１０４にアクセスする。以下では、スキャンアプリケーションをＨＤＤ１０４から読み出すものとして説明を行う。また、ＣＰＵ１０１は、後述する処理のユーザインタフェースや処理結果をグラフィックアクセラレータ１０５を介してカラーモニタ１０６に表示する。そしてＣＰＵ１０１は、ユーザによる指示をキーボード／マウスコントローラ１０９に接続されたキーボード１１０、マウス１１１を介して入力する。また、ＣＰＵ１０１は、スキャン画像データをＵＳＢ(Universal Serial Bus)コントローラ１０７を介してスキャナ１０８より入力する。
【００１４】
上記構成において、原稿からのデジタル画像データの読み取りは次のようにして行われる。先ず、ＨＤＤ１０４に格納されているスキャンプログラムは、ユーザ或いは他のプログラムの指示によりＣＰＵ１０１にて実行される。この後、原稿のスキャンがユーザ或いは他のプログラムにより指示されると、スキャンプログラムが後述の図５のフローチャートに基づいて動作し、スキャナ１０８にセットされた原稿をディジタイズしＨＤＤ１０４に格納する。
【００１５】
図２は、本実施形態に於けるスキャナ１０８の構成を示す図である。スキャナはＡＤＦ（Auto Document Feeder）２０１とリーダ部２０２とから構成され、ＡＤＦ２０１は原稿給紙トレイ２０３に積載された原稿をリーダ部２０２に自動的に給送する装置である。リーダ部２０２は原稿を光学的に読み取り、原稿の反射光を電気信号に光電変換して画像データとして出力する装置である。ＡＤＦ２０１は、内部に搬送ローラ２０４と搬送ベルト２０５とを有する。これらがリーダ部２０２内のスキャナコントローラ２１５の制御に基づいて駆動されることにより、原稿給紙トレイ２０３に積載された原稿がリーダ部２０２に給送された後、排紙トレイ２０６に排出される。スキャナ部２０２は、プラテンガラス２０７上の原稿をＬＥＤ２０９で照明し、反射光を走査ミラー２１０、２１１、２１２、及びレンズ２１３を介してＣＣＤセンサ２１４に入射して光電変換することで、画像データを形成する。ここで、ＣＣＤセンサ２１４はラインセンサではなく２次元センサである。ＬＥＤ２０９及び走査ミラー２１０はスキャナユニット２０８として一体化されている。ＡＤＦ２０１を使用せずにプラテンガラス２０７上に設置された原稿１枚だけを読み取る場合、このスキャナユニット２０８が水平方向に往復移動してプラテンガラス２０７上の原稿を走査することで画像データを形成する。他方でＡＤＦ２０１が使用される場合には、スキャナユニット２０９をプラテンガラス２０７の所定位置下方に移動して停止させ、ＡＤＦ２０１により原稿を搬送しながら画像を読み取ることで画像データを形成する。このスキャナ部２０２の動作はＡＤＦ２０１と同様にスキャナコントローラ２１５によって制御される。なお、スキャナ１０８は読取手段の適用例となる構成である。また、ＣＣＤとはCharge Coupled Deviceの略称である。
【００１６】
図３は、スキャナコントローラ２１５の回路構成を示すブロック図である。先ず、ＣＣＤセンサ２１４の出力に対するシグナルフローに基づいてブロック図を説明する。ＣＣＤセンサ２１４にて光電変換されたアナログ電気信号は、サンプル／ホールド回路を含むＡＦＥ３０１によってゲイン調整及びＤＣオフセット調整された後にＡ／Ｄ変換される。ここでＣＣＤセンサ２１４は、タイミングコントローラ３１０から出力されるＣＣＤＬＩＮＥ＿ＮＯ信号、ＣＣＤ＿ＯＵＴ信号、ＣＣＤＬＩＮＥ＿ＥＮＡＢＬＥ信号に基づいてラインデータを出力する。ここでＣＣＤＬＩＮＥ＿ＮＯ信号はＣＣＤセンサ２１４の出力ラインアドレスを表し、後述のようにスキャンデータをｃa（ｓ）で表した場合のインデックスａに相当するものである。また、ＣＣＤ＿ＯＵＴ信号はＣＣＤセンサ２１４からのラインデータ出力タイミングを制御する。ＣＣＤＬＩＮＥ＿ＥＮＡＢＬＥ信号はＣＣＤセンサ２１４のラインに対するイネーブル信号を制御する。シェーディング補正回路３０２は光学系の配光特性を考慮してゲイン補正を行うものであり、ＡＦＥ３０１からのデジタル値はラインセンサ上の画素位置に応じてゲイン補正が施される。ゲイン補正されたデジタル値はγ処理回路３０３にてγ変換処理が施された後、パッキング回路３０４で圧縮符号化され、ＵＳＢ Ｉ／Ｆ３０５を介してＵＳＢコントローラ１０７に転送される。
【００１７】
ＬＥＤコントローラ３０９は、タイミングコントローラ３１０から出力されるＬＥＤ＿ＣＯＵＮＴ信号に基づいて原稿照明用のＬＥＤ２０９の点灯タイミングを制御する。ここでＬＥＤ＿ＣＯＵＮＴ信号は照明パターンの選択番号を示すものであり、後述のように照明変化をｌ（ｔ）で表した場合でのｔに相当するものである。またモータコントローラ３０８はＡＤＦ駆動モータ３１２とスキャナユニット駆動モータ３１３の動作を制御する。ＭＰＵ３０６はバス３１３を介してスキャナコントローラ２１５の動作全体の制御を行う。ＲＯＭ３０７には、ＭＰＵ３０６が動作するためのプログラムと動作制御のためのデータとが格納されている。
【００１８】
上記構成において、スキャナ１０８が起動された際には先ず、ＭＰＵ３０６はＲＯＭ３０７からＬＥＤの点灯駆動情報を読み出してＬＥＤコントローラ３０９に設定する。またＭＰＵ３０６は同時に、ＡＤＦ駆動モータ３１１とスキャナユニット駆動モータ３１２とに対する非図示の駆動設定情報をモータコントローラ３０８に設定する。また、それとともにＭＰＵ３０６は、ＡＦＥ３０１、シェーディング補正回路３０２、γ処理回路３０３、パッキング回路３０４に対して非図示のパラメータを設定する。更にＭＰＵ３０６は、タイミングコントローラ３１０に対してはＣＣＤＬＩＮＥ＿ＥＮＡＢＬＥ信号のイネーブルタイミング、ＣＣＤＬＩＮＥ＿ＮＯ信号の出力順、ＬＥＤ＿ＣＯＵＮＴ信号の周期を設定する。
【００１９】
図４は、タイミングコントローラ３１０の回路構成を示すブロック図である。バスＩ／Ｆ４０１はバス３１３と接続され、ＭＰＵ３０６からの指令をコントローラ部４０２に伝送する。コントローラ部４０２はタイミングコントローラ３１０全体の動作をＭＰＵ３０６からの指令に基づいて制御する。同期信号生成部４０３は非図示のシステムクロック信号に基づき、ＬＥＤ２０９の点灯とＣＣＤセンサ２１４のデータ読み出しとの同期信号であるＳＹＮＣ信号を生成し、タイミングコントローラ３１０内部に供給するとともに外部にも出力する。カウンタ部４０４は、同期信号生成部４０３からのＳＹＮＣ信号をカウントし、カウント数を出力する。ＣＣＤ出力制御信号生成部４０５は、不図示のシステムクロック信号と同期信号生成部４０３からのＳＹＮＣ信号とに基づいて、ＣＣＤセンサ２１４からのラインデータ出力タイミングを制御するＣＣＤ＿ＯＵＴ信号を生成して外部に出力する。ＣＣＤイネーブル信号生成部４０６はカウンタ部４０４からのカウント数出力に基づいて、所定のタイミングでＣＣＤセンサ２１４の各ラインに対するイネーブルを制御するＣＣＤＬＩＮＥ＿ＥＮＡＢＬＥ信号を出力する。ＣＣＤラインアドレス信号生成部４０７はカウンタ部４０４からのカウント数出力に基づき、ＣＣＤセンサ２１４に対してデータを出力すべきラインアドレスを指定する、ＣＣＤＬＩＮＥ＿ＮＯ信号を生成して出力する。ＬＥＤカウント信号生成部４０８はカウンタ部４０４からのカウント数出力に基づき、先述のように照明パターンの選択番号を示すＬＥＤ＿ＣＯＵＮＴ信号を生成して出力する。
【００２０】
以下では、本実施形態におけるスキャンプログラムに基づくＣＰＵ１０１でのスキャン実行処理について、図５のフローチャートを用いて説明する。ステップＳ５０１において、ＣＰＵ１０１は、スキャナ１０８に対してスキャン実行開始を指令する。すると指令を受けたスキャナ１０８は、ＡＤＦ２０１上に設置された原稿若しくはプラテンガラス２０７に設置された原稿をスキャンする。ステップＳ５０２において、ＣＰＵ１０１は、スキャナ１０８より送信されるスキャンライン画像データを蓄積し、スキャン画像データとしてメインメモリ１０２に記憶する。ステップＳ５０３において、ＣＰＵ１０１は、スキャン画像データに対するボケ補正を施す。ステップＳ５０４において、ＣＰＵ１０１は補正後のスキャン画像データをハードディスク１０４に格納する。ステップ５０５において、ＣＰＵ１０１は、ＡＤＦ２０１上に原稿が残存していない、或いはプラテンガラス２０７上の原稿の１枚読み取りが完了しているかを判定する。ＡＤＦ２０１上に原稿が残存していない、或いはプラテンガラス２０７上の原稿の１枚読み取りが完了している場合、処理を終了する。一方、ＡＤＦ２０１上に原稿が残存している場合にはステップＳ５０２にジャンプする。なお、ステップＳ５０１でのスキャン実行開始をスキャナ１０８が受領した際のスキャナコントローラ２１５の動作については、ＣＣＤセンサ２１４のラインと原稿画像のラインとの関係を説明した後に説明する。なお、ステップＳ５０３は補正手段の処理例である。
【００２１】
図６は、ＡＤＦ２０１使用時におけるＣＣＤセンサ２１４のラインと原稿画像のラインとの関係を示す図である。ＣＣＤセンサ２１４は８ラインからなるセンサであり、図６（ａ）に示すように上から順にライン番号が定められている。他方、原稿画像は図６（ｂ）に示すように上方から原稿が送られてくるものであり、下から順にライン番号が定められている。ここで原稿画像の最下方のラインORIGINAL IMAGE LINE 0がＣＣＤセンサ２１４の最上方のラインCCD_LINE 0にかかったところでスキャン動作が開始されるものであり、ＣＣＤセンサ２１４の各ラインは後述のタイミングチャートに基づいて原稿の反射光を蓄積し、ＡＦＥ３０１に結果を出力する。
【００２２】
次に、スキャン実行開始をスキャナ１０８が受領した際のスキャナコントローラ２１５の動作について説明する。スキャナコントローラ２１５がスキャン実行開始を受領すると、ＭＰＵ３０６はスキャナコントローラ２１５の各回路に対して動作開始を指令する。
すると、タイミングコントローラ３１０は、タイミングコントローラ３１０内の各構成に対して次の設定を行う。以下、ＣＣＤライン数をｎとして説明するが、本実施形態ではｎ＝８として構成している。コントローラ部４０２は、ＣＣＤ出力制御信号生成部４０５に対して、スキャン動作開始からＳＹＮＣ信号でｎクロック経過後にＣＣＤ＿ＯＵＴ信号の生成を開始するよう設定する。またコントローラ部４０２は、ＣＣＤイネーブル信号生成部４０６に対して、スキャン動作開始後、０からｎ−１に順にＣＣＤＬＩＮＥ＿ＥＮＡＢＬＥ信号がＣＣＤセンサ２１４のラインをイネーブルするよう設定する。またコントローラ部４０２は、ＣＣＤラインアドレス信号生成部４０７に対して、ＳＹＮＣ信号でｎクロック経過後から、ＣＣＤＬＩＮＥ＿ＮＯ信号が０からｎ−１へのラインアドレスを周期的に出力するよう設定する。またコントローラ部４０２は、ＬＥＤカウント信号生成部４０８に対して、スキャン動作開始後、ＬＥＤ＿ＣＯＵＮＴ信号が０から順にアドレスを出力するよう設定する。ここで照明パターンが非周期的であればカウントは単調に上昇し続け、周期的であれば所定の周期でカウントが０に戻る。しかる後にタイミングコントローラ３１０は、ＣＣＤセンサ２１４とモータコントローラ３０８とＬＥＤコントローラ３０９とに対してスキャン動作の同期信号であるＳＹＮＣ信号の出力を開始する。またタイミングコントローラ部３１０は、ＣＣＤセンサ２１４へのＣＣＤＬＩＮＥ＿ＮＯ信号、ＣＣＤ＿ＯＵＴ信号、ＣＣＤＬＩＮＥ＿ＥＮＡＢＬＥ信号の出力を開始する。さらにタイミングコントローラ部３１０は、ＬＥＤコントローラ３０９へのＬＥＤ＿ＣＯＵＮＴ信号の出力を開始する。ＬＥＤコントローラ３０９は、これらの信号に基づき、イメージセンサユニット２０８内のＬＥＤ２０９に予め設定されたパルス幅変調の駆動信号であるＬＥＤ信号を出力することでＬＥＤ２０９は所定の明滅を行う。また同期信号のＳＹＮＣ信号に同期することで、ＡＤＦ２０１の原稿送り若しくはスキャナユニット２０９の平行移動が行われるとともに、ＣＣＤセンサ２１４が所定の順序で１ライン毎にデータをＡＦＥ３０１に出力する。以下、先述のＣＣＤセンサ２１４からのセンサ値に対するシグナルフローに基づく信号処理が行われ、スキャンデータがＵＳＢ Ｉ／Ｆ３０５を通してＵＳＢコントローラ１０７に転送される。なお、ＬＥＤ＿ＣＯＵＮＴ信号を設定する処理は制御手段の処理例である。
【００２３】
図７は、上記動作における信号タイミングチャートを示す図である。図７において、ＳＹＮＣ信号はタイミングコントローラ３１０からの出力である同期信号を表す。ＬＥＤ信号はＬＥＤ２０９から出力される点灯制御のパルス幅変調駆動信号を表す。ＣＣＤＬＩＮＥ＿ＮＯ信号はＣＣＤセンサ２１４の出力ラインアドレスを表す。ＣＣＤ＿ＯＵＴ信号はＣＣＤセンサ２１４からのラインデータ出力タイミングを表す。ＣＣＤＬＩＮＥ＿ＥＮＡＢＬＥ信号はＣＣＤセンサ２１４の各ラインに対するイネーブル信号を表す。これらの信号はいずれもＡＦＥ３０１から出力される。ここで、上述のように原稿画像の最下方のラインORIGINAL IMAGE LINE 0がＣＣＤセンサ２１４の最上方のラインCCD_LINE 0にかかったところでスキャン動作が開始される。これにより、ＬＥＤ２０９の駆動が開始されるとともにＣＣＤセンサ２１４のラインが順次イネーブルされていく。またＳＹＮＣ信号に併せて原稿画像も１ラインずつ送られていく。そして、８ライン分の時間が経過したところでＣＣＤセンサ２１４より、ＣＣＤＬＩＮＥ＿ＮＯ信号により出力すべきライン番号が指定されたラインデータが順次アナログ電気信号としてＡＦＥ３０１に出力されていく。結果、ＣＣＤセンサ２１４の各ラインは原稿８ラインを累積して露光した値が出力されるものである。
【００２４】
次に、ステップＳ５０２においてスキャンライン画像データを蓄積して生成したスキャン画像データについて、原稿画像と照明光との関係を説明する。スキャン画像データのライン番号をｔとすると、ＣＣＤセンサ２１４の読み取りライン番号はｔ ｍｏｄ ８で与えられる。そこで原稿画像をｘ（ｓ，ｔ）、ＣＣＤセンサ２１４のラインａの情報をｃa（ｓ）、スキャン画像データをｙ（ｓ，ｔ）、スキャン開始からtライン送り後のパルス幅変調駆動信号から定まる正規化照明光量をｌ（ｔ）とすると式１に示す関係が成り立つ。
【００２５】
【数１】
2011135533.tif 000003
【００２６】
なお、ＣＣＤセンサ２１４のライン数がＮであるような場合には、式２に示す関係となる。
【００２７】
【数２】
2011135533.tif 000004
【００２８】
これらの処理の結果として、例えば図８（ａ）に示す原稿画像に対しては図８（ｂ）に示すボケたスキャン画像データが得られる。なお、これまでＡＤＦ２０１使用時を例にとり説明したが、ＡＤＦ２０１非使用時も全く同じに動作する。図９は、ＡＤＦ２０１非使用時のＣＣＤセンサ２１４のラインと原稿画像のラインとの関係を示す図である。スキャナユニット２０８は原稿下方からスキャンを実施するものである。即ち、図９（ｂ）に示す原稿画像の最下方のラインORIGINAL IMAGE LINE 0に図９（ａ）に示すＣＣＤセンサ２１４の最上方のラインCCD_LINE 0がかかったところでスキャン動作を開始する。図６と図９との比較からＣＣＤセンサ２１４と原稿画像との関係は同じであることは自明であり、原稿画像とスキャン画像データとの関係も上述の関係と同じとなる。
【００２９】
次に、ステップＳ５０３のスキャン画像データに対するボケ補正処理について説明する。
ボケ補正処理の目的は、上記の式１に基づいてｙ（ｓ，ｔ）よりｘ（ｓ，ｔ）を求めることにある。そこで式１を行列を用いて表現すると、式３のようになる。
【００３０】
【数３】
2011135533.tif 000005
【００３１】
但し、xsは｛ｘ（ｓ，０），ｘ（ｓ，１），・・・，ｘ（ｓ，８×ｎ）｝からなる列ベクトルであり、ｙsは｛ｙ（ｓ，０），ｙ（ｓ，１），・・・，ｙ（ｓ，８×ｎ）｝からなる列ベクトルである。また、Ａiは式４のように表わされる。
【００３２】
【数４】
2011135533.tif 000006
【００３３】
式３の左辺の行列の逆行列をｙsに乗ずることでxsが算出できることは明らかである。ｘsiを｛ｘ（ｓ，８ｉ），ｘ（ｓ，８ｉ＋１），・・・，ｘ（ｓ，８ｉ＋７）｝からなる列ベクトル、ｙsiを｛ｙ（ｓ，８ｉ），ｙ（ｓ，８ｉ＋１），・・・，ｙ（ｓ，８ｉ＋７）｝からなる列ベクトルとおくと、式５のようになる。
【００３４】
【数５】
2011135533.tif 000007
【００３５】
従って、式６を演算することによりボケ画像を補正できる。
【００３６】
【数６】
2011135533.tif 000008
【００３７】
本実施形態では、８ラインの画像データ毎に分割して式６を適用してボケ画像補正を行う。なお、行列Ａiは事前に定められたパルス幅変調駆動信号から定まるものであるため、行列Ａiの逆行列は事前に算出され、スキャンプログラムに定数として格納されている。なお、ＣＣＤセンサ２１４のライン数がＮである場合には、行列Ａiは式７のようになる。
【００３８】
【数７】
2011135533.tif 000009
【００３９】
また、ｘsiを｛ｘ（ｓ，Ｎｉ），ｘ（ｓ，Ｎｉ＋１），・・・，ｘ（ｓ，Ｎｉ＋Ｎ−１）｝からなる列ベクトル、ｙsiを｛ｙ（ｓ，Ｎｉ），ｙ（ｓ，Ｎｉ＋１），・・・，ｙ（ｓ，Ｎｉ＋Ｎ−１）｝からなる列ベクトルとおく。これで、同じく式６を用いてボケ画像を補正できる。
【００４０】
以上のように本実施形態においては、ＣＣＤセンサ２１４の１ラインは原稿の複数ラインに亘って露光するため、露光時間を長く取ることができる。但し、得られるスキャン画像データはボケた画像データとなる。そのため、画像回復処理により元の画像データを回復するが、本実施形態では、光の照明パターンの変更と同期してライン読み出し（画像データの出力処理）を行うことで回復に必要となる画像情報を欠落なく取得している。従って、従来のラインセンサを用いた画像読み取り方式と比較すると、本実施形態では同じ露光時間でより多くのラインデータを読み取ることができ、ボケ回復後に得られる画像データも従来のラインセンサ手法で得られる画像データと遜色がない。よって、本実施形態によれば、二次元センサを使用して原稿上の画像データの読み取り速度を高速化することが可能となる。
【００４１】
本実施形態では、スキャン画像データ全体をメインメモリ１０２に記憶した後にボケ補正処理を行っていたが、８ライン分の情報が蓄積される度にボケ補正処理を順次行っていくことで、ボケ補正処理の応答を高速化することが可能である。また、ＬＥＤ２０９の明滅、すなわち、ＬＥＤ２０９のパルス幅変調駆動信号は非周期的でも周期的でもよい。明滅を周期的にした場合には行列Ａiも周期的となるため、非周期的な場合と比較して行列の数が少なくなる。従って、逆行列の記憶のために必要となる情報量を削減することができる。
【００４２】
さらに、照明光量低下による消費電力抑制やレンズＦ値の削減による光学系体積の縮小といった効果を得ることも可能である。上述したように、従来のラインセンサを用いる画像読み取り方式と比較し、センサの露光時間を長く取れる。従って、読み取り速度が同一であればセンサの単位時間当たりの受光量を小さくすることが可能であるため、より少ない光量の照明、より暗いＦ値を持つレンズを使用することができる。
【００４３】
次に、本発明の第２の実施形態について説明する。本実施形態は、第１の実施形態に対してＣＣＤセンサ２１４からの読み取り順序を逆転させたものである。以下では、第１の実施形態との差分について説明する。従って、以下に説明する事項以外の構成及び処理は第１の実施形態と同様である。第１の実施形態との差異であるステップＳ５０１でのスキャナコントローラ２１５の動作については、ＣＣＤセンサ２１４のラインと原稿画像のラインとの関係を説明した後に説明する。
【００４４】
図１０（ａ）、（ｂ）は、図６、図９と同じく、ＣＣＤセンサ２１４のラインと原稿画像のラインとの関係を示す図であり、図１０（ｂ）に示すように上方から原稿画像が送られてくる。しかし本実施形態では、原稿画像の最下方のラインORIGINAL IMAGE LINE 0がＣＣＤセンサ２１４の最下方のラインCCD_LINE 7にかかったところでスキャン動作が開始される。より詳しくは、ORIGINAL IMAGE LINE 0がＣＣＤセンサ２１４の最下方のラインCCD_LINE 7にかかったところでＣＣＤセンサ２１４の８ライン総てが一斉にイネーブルされるとともに、ＬＥＤ２０９の駆動が開始される。原稿画像はＳＹＮＣ信号に併せて１ラインずつ送られていき、これに同期してＣＣＤセンサ２１４より、ＬＩＮＥ＿ＮＯ信号により出力すべきライン番号が指定されたライン情報が順次アナログ電気信号としてＡＦＥ３０１に出力されていく。
【００４５】
次に、スキャン実行開始をスキャナ１０８が受領した際のスキャナコントローラ２１５の動作に関して、差異となるタイミングコントローラ３１０での設定について説明する。先ずタイミングコントローラ３１０は、タイミングコントローラ３１０内の各構成に対して次の設定を行う。以下、ＣＣＤライン数をｎとして説明するが、本実施形態ではｎ＝８として構成している。
【００４６】
コントローラ部４０２は、ＣＣＤ出力制御信号生成部４０５に対して、スキャン動作開始からＳＹＮＣ信号で１クロック経過後にＣＣＤ＿ＯＵＴ信号の生成を開始するよう設定する。またコントローラ部４０２は、ＣＣＤイネーブル信号生成部４０６に対して、スキャン動作開始後にＣＣＤＬＩＮＥ＿ＥＮＡＢＬＥ信号がＣＣＤのラインを一斉にイネーブルするよう設定する。またコントローラ部４０２は、ＣＣＤラインアドレス信号生成部４０７に対して、ＳＹＮＣ信号で１クロック経過後から、ＣＣＤＬＩＮＥ＿ＮＯ信号がｎ−１から０へのラインアドレスを周期的に出力するよう設定する。さらにコントローラ部４０２は、ＬＥＤカウント信号生成部４０８に対して、スキャン動作開始後、ＬＥＤ＿ＣＯＵＮＴ信号が０から順にアドレスを出力するよう設定する。図１１は本実施形態での信号タイミングチャートを示す図であり、上述の設定動作からタイミングが定まるものである。各信号は図７の説明と同様である。
【００４７】
次に、ステップＳ５０２においてスキャンライン画像データを蓄積して生成したスキャン画像データについての原稿画像と照明光との関係、続くステップＳ５０３でのスキャン画像データに対するボケ補正処理について説明する。ここで、以下の説明で式を簡単にするため、図１０（ａ）、（ｂ）に示したＣＣＤセンサ２１４のラインと原稿画像のラインとの関係に変えて、便宜的に図１０（ａ）に示すライン番号を逆方向に振ったＣＣＤラインセンサ２１４のラインと原稿画像のラインとの関係について説明する。
【００４８】
先ずステップＳ５０２で生成したスキャン画像データについて、原稿画像と照明光との関係を説明する。ここでスキャン画像のライン番号をｔとすると、ＣＣＤセンサ２１４の読み取りライン番号はｔ ｍｏｄ ８で与えられる。そこで原稿画像をｘ（ｓ，ｔ）、ＣＣＤセンサ２１４のラインaの情報をｃa（ｓ）、スキャン画像データをｙ（ｓ，ｔ）、スキャン開始からtライン送り後のパルス幅変調駆動信号のパルス幅から定まる正規化照明光量をｌ（ｔ）とすると本実施形態では式８に示す関係が成り立つ。
【００４９】
【数８】
2011135533.tif 000010
【００５０】
なお、ＣＣＤセンサのライン数がＮであるような場合には、式９に示す関係となる。
【００５１】
【数９】
2011135533.tif 000011
【００５２】
但しここでのライン番号ａは、本来のライン番号である図１０（ａ）に示す番号ではなく、便宜的に使用する図１０（ｃ）に示す番号である。
【００５３】
ステップＳ５０３のスキャン画像データに対するボケ補正処理は、下記のように行う。ここで、上記の関係で得られるスキャン画像データに対する補正式は、第１の実施形態とは若干異なる式となる。式８は、行列を用いて式１０のように表現される。
【００５４】
【数１０】
2011135533.tif 000012
【００５５】
但し、スキャン画像データのライン数をＹとすると、ｘsは｛ｘ（ｓ，０），ｘ（ｓ，１），・・・，ｘ（ｓ，Ｙ）｝からなる列ベクトルであり、ｙsは｛ｙ（ｓ，０），ｙ（ｓ，１），・・・，ｙ（ｓ，Ｙ）｝からなる列ベクトルである。また行列Ａは式１１のように表わされる。
【００５６】
【数１１】
2011135533.tif 000013
【００５７】
図１２は行列Ａを模式的に示した図であり、斜線領域は非零要素があり得る領域を示し、破線は対角要素を示す。式３から行列Ａの逆行列をｙsに乗ずることでｘsが算出できることは明らかであり、ボケ補正は式１２を演算することにより行う。
【００５８】
【数１２】
2011135533.tif 000014
【００５９】
第１の実施形態で得られる補正画像データがノイズ等の影響により良好でない場合に、本実施形態のような構成を用いて対策することが可能である。さらに、スキャン画像データを所定ラインのブロックに分割する、或いは式１３で表されるボケ補正後の画像データz(s,i)を所定の長さで打ち切って近似することにより、逆行列Ａ-1のサイズを小さくし、必要な記憶領域と演算量とを削減することができる。
【００６０】
【数１３】
2011135533.tif 000015
【００６１】
上述した第１及び第２の実施形態では、照明光量の制御をパルス幅変調でのＬＥＤ２０９の明滅により実施した。しかし当然ながら、パルス幅変調ではなく照明輝度を変化させる振幅変調も適用可能である。また、モノクロでの原稿読み取りだけでなく、例えば図１３のようなＣＣＤセンサのライン構成を取ることで、或いはスキャン光学系をＲ／Ｇ／Ｂの３系統準備することでカラーでの原稿読み取りにも適用可能である。さらに電子現像機と組み合わせ画像処理をＰＣではなく機器内部で行うことで、デジタル複写機にも適用できる。
【００６２】
また、第１、第２の実施形態では、ＣＣＤセンサ２１４を効率的に使用するため、ＣＣＤセンサ２１４の露光時間をＣＣＤライン数から定めていた。すなわち、タイミングコントローラ３１０からのＳｙｎｃ信号に対してＣＣＤライン数分の周期だけ露光を行っていた。しかしながら露光時間はＣＣＤライン数と何らの関係を持つ必要はない。但し必然的に、最大露光時間はＣＣＤライン数分のＳｙｎｃ信号周期となる。
【００６３】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００６４】
４０１：バスインタフェース、４０２：コントローラ部、４０３：同期信号生成部、４０４：カウンタ部、４０５：ＣＣＤ出力制御信号生成部、４０６：ＣＣＤイネーブル信号生成部、４０７：ＣＣＤラインアドレス信号生成部、４０８：ＬＥＤカウント信号生成部
【図１】
2011135533.tif 000016
【図２】
2011135533.tif 000017
【図３】
2011135533.tif 000018
【図４】
2011135533.tif 000019
【図５】
2011135533.tif 000020
【図６】
2011135533.tif 000021
【図７】
2011135533.tif 000022
【図８】
2011135533.tif 000023
【図９】
2011135533.tif 000024
【図１０】
2011135533.tif 000025
【図１１】
2011135533.tif 000026
【図１２】
2011135533.tif 000027
【図１３】
2011135533.tif 000028