(57)【要約】【課題】外部の処理部の処理負荷の軽減等を図れるアナログフロントエンド回路、電子機器を提供すること。【解決手段】アナログフロントエンド回路はアナログ処理回路２０とＡ／Ｄ変換器４０と演算回路５０を含む。またモニタ出力制御信号ＭＣＮＴを出力するモニタ出力制御回路１５０と、モニタ出力制御信号ＭＣＮＴに基づいてＡ／Ｄ変換器４０の出力又は演算回路５０の出力のいずれかを選択して出力するマルチプレクサ１６０を含む。演算回路５０は、黒基準画素のＡ／Ｄ変換値の平均化処理を行い、黒基準画素についてのＡ／Ｄ変換値の平均値である黒レベルモニタ値ＢＭＶを出力する。マルチプレクサ１６０は、黒基準画素及び有効画素の出力期間以外の期間である黒レベルモニタ期間において、演算回路５０の出力である黒レベルモニタ値ＢＭＶを選択して出力する。【選択図】図２
2008278284.tif 000002
【特許請求の範囲】
【請求項１】
イメージセンサからアナログの入力画像信号を受け、前記入力画像信号に対して所与の処理を行ってアナログの画像信号を出力するアナログ処理回路と、
前記アナログ処理回路から入力される画像信号のＡ／Ｄ変換を行うＡ／Ｄ変換器と、
前記Ａ／Ｄ変換器から出力されるＡ／Ｄ変換値をモニタして、演算処理を行う演算回路と、
モニタ出力制御信号を出力するモニタ出力制御回路と、
前記モニタ出力制御信号に基づいて、前記Ａ／Ｄ変換器の出力又は前記演算回路の出力のいずれかを選択して出力するマルチプレクサとを含み、
前記演算回路は、
黒基準画素のＡ／Ｄ変換値の平均化処理を行い、黒基準画素についてのＡ／Ｄ変換値の平均値である黒レベルモニタ値を出力し、
前記マルチプレクサは、
黒基準画素及び有効画素の出力期間以外の期間である黒レベルモニタ期間において、前記演算回路の出力である前記黒レベルモニタ値を選択して出力することを特徴とするアナログフロントエンド回路。
【請求項２】
請求項１において、
前記アナログ処理回路から前記Ａ／Ｄ変換器に入力される画像信号の入力範囲の下限ターゲット値が設定されるターゲットレジスタを含み、
前記アナログ処理回路は、
オフセット調整レジスタを有し、前記オフセット調整レジスタに設定されたオフセット調整値に基づいて画像信号のオフセット調整を行うオフセット調整回路を含み、
前記演算回路は、
前記Ａ／Ｄ変換器からのＡ／Ｄ変換値の平均化処理を行う平均化回路を有し、前記入力範囲の下限値に対応するＡ／Ｄ変換値が前記Ａ／Ｄ変換器から出力される下限値出力期間において、Ａ／Ｄ変換値をモニタし、複数の画素についての平均化されたＡ／Ｄ変換値と下限ターゲット値との比較処理を行って、Ａ／Ｄ変換値を前記ターゲットレジスタの下限ターゲット値に近づけるオフセット調整値を前記オフセット調整レジスタに設定するオフセット設定処理を行い、
前記演算回路の前記平均化回路が、
前記黒レベルモニタ期間において黒基準画素についてのＡ／Ｄ変換値の平均化処理を行い、前記黒レベルモニタ値を生成することを特徴とするアナログフロントエンド回路。
【請求項３】
請求項２において、
前記演算回路は、
ｎビット幅の前記オフセット調整レジスタのオフセット調整値のビットｍ−１（ｎ≧ｍ≧０）に１を設定してＡ／Ｄ変換値と下限ターゲット値とを比較する比較処理と、
Ａ／Ｄ変換値が下限ターゲット値よりも小さい場合にはオフセット調整値のビットｍ−１の論理レベルを１に決定し、Ａ／Ｄ変換値が下限ターゲット値よりも大きい場合にはオフセット調整値のビットｍ−１の論理レベルを０に決定するビット決定処理と、
前記ｍを１ずつデクリメントするデクリメント処理とを、
前記ｍが前記ｎから０になるまで繰り返すことを特徴とするアナログフロントエンド回路。
【請求項４】
請求項２又は３において、
前記ターゲットレジスタには、前記アナログ処理回路から前記Ａ／Ｄ変換器に入力される画像信号の入力範囲の上限ターゲット値が設定され、
前記アナログ処理回路は、
ゲイン調整レジスタを有し、前記ゲイン調整レジスタに設定されたゲイン調整値に基づいて画像信号のゲイン調整を行うゲイン調整回路を含み、
前記演算回路は、
前記入力範囲の上限値に対応するＡ／Ｄ変換値が前記Ａ／Ｄ変換器から出力される上限値出力期間において、Ａ／Ｄ変換値をモニタし、複数の画素についての平均化されたＡ／Ｄ変換値と上限ターゲット値との比較処理を行って、Ａ／Ｄ変換値を前記ターゲットレジスタの上限ターゲット値に近づけるゲイン調整値を前記ゲイン調整レジスタに設定するゲイン設定処理を行うことを特徴とするアナログフロントエンド回路。
【請求項５】
請求項４において、
前記演算回路は、
ｊビット幅の前記ゲイン調整レジスタのゲイン調整値のビットｉ−１（ｊ≧ｉ≧０）に１を設定してＡ／Ｄ変換値と上限ターゲット値とを比較する比較処理と、
Ａ／Ｄ変換値が上限ターゲット値よりも小さい場合にはゲイン調整値のビットｉ−１の論理レベルを１に決定し、Ａ／Ｄ変換値が上限ターゲット値よりも大きい場合にはゲイン調整値のビットｉ−１の論理レベルを０に決定するビット決定処理と、
前記ｉを１ずつデクリメントするデクリメント処理とを、
前記ｉが前記ｊから０になるまで繰り返すことを特徴とするアナログフロントエンド回路。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記イメージセンサ用の複数の制御信号を生成するタイミングジェネレータを含み、
前記タイミングジェネレータは、
前記制御信号として、前記イメージセンサの黒基準画素の位置を指定するための黒基準画素指定信号と、前記イメージセンサの白画素の位置を指定するための白画素指定信号を出力し、
前記演算回路は、
前記黒基準画素指定信号がアクティブになった場合に、前記Ａ／Ｄ変換器のＡ／Ｄ変換値をモニタして、Ａ／Ｄ変換値の平均化処理を行い、
前記モニタ出力制御回路は、
前記黒基準画素指定信号、前記白画素指定信号に基づいて、前記モニタ出力制御信号を生成することを特徴とするアナログフロントエンド回路。
【請求項７】
請求項６において、
前記タイミングジェネレータは、
イベント情報メモリと、
前記イベント情報メモリから読み出された情報に基づいて、前記制御信号を生成して出力する制御信号出力回路とを含み、
前記イベント情報メモリは、
その各アドレスに、画素番号と、前記画素番号においてその信号レベルの変化イベントが発生する制御信号を指定するための変化イベント発生情報とを記憶し、
前記制御信号出力回路は、
前記イベント情報メモリから読み出された前記画素番号と前記変化イベント発生情報に基づいて、前記黒基準画素指定信号、前記白画素指定信号を含む前記制御信号を生成して出力することを特徴とするアナログフロントエンド回路。
【請求項８】
請求項７において、
前記イベント情報メモリでは、
その各アドレスに記憶されるデータのビット０〜ビットＬに対して前記画素番号が割り当てられ、ビットＬ＋１〜ビットＭに対して前記変化イベント発生情報が割り当てられることを特徴とするアナログフロントエンド回路。
【請求項９】
請求項８において、
前記イベント情報メモリでは、
前記ビットＬ＋１〜ビットＭの各ビットに対して、前記複数の制御信号の各制御信号が割り当てられることを特徴とするアナログフロントエンド回路。
【請求項１０】
請求項９において、
前記制御信号出力回路は、
前記第Ｌ＋１〜第Ｍビットの第Ｎ（Ｌ＋１≦Ｎ≦Ｍ）のビットが第１の論理レベルであった場合に、前記第Ｎのビットに割り当てられる制御信号の信号レベルをトグルすることを特徴とするアナログフロントエンド回路。
【請求項１１】
請求項７乃至１０のいずれかにおいて、
前記制御信号出力回路は、
前記イベント情報メモリの先頭アドレスから最終アドレスに向かって前記画素番号、前記変化イベント発生情報を順次読み出し、読み出された前記画素番号及び前記変化イベント発生情報の少なくとも一方が、変化イベントの発生が終了したことを示す終了指示情報に設定されていた場合には、前記最終アドレスに到達する前に、前記イベント情報メモリの読み出しポインタを前記先頭アドレスに戻すことを特徴とするアナログフロントエンド回路。
【請求項１２】
請求項７乃至１１のいずれかにおいて、
前記制御信号出力回路は、
前記イベント情報メモリの先頭アドレスから最終アドレスに向かって前記画素番号、前記変化イベント発生情報を順次読み出し、前記最終アドレスに到達した場合に、前記イベント情報メモリの読み出しポインタを前記先頭アドレスに戻すことを特徴とするアナログフロントエンド回路。
【請求項１３】
請求項１１又は１２において、
前記イベント情報メモリは、
前記変化イベント発生情報として、前記制御信号の信号レベルのトグルを指示するトグル指示情報を記憶し、
前記制御信号出力回路は、
前記読み出しポインタが前記先頭アドレスに戻り、次のラインの画素の処理が開始する場合には、前記制御信号の信号レベルを第１の信号レベルにクリアすることを特徴とするアナログフロントエンド回路。
【請求項１４】
請求項７乃至１３のいずれかにおいて、
前記イベント情報メモリは、
前記イメージセンサの転送ゲートをオンにするためのシフト信号の変化イベント発生情報を記憶し、
前記制御信号出力回路は、
前記イベント情報メモリから読み出された前記シフト信号の前記変化イベント発生情報に基づいて、前記制御信号として前記シフト信号を生成して出力することを特徴とするアナログフロントエンド回路。
【請求項１５】
請求項７乃至１４のいずれかにおいて、
前記制御信号出力回路は、
前記イメージセンサを駆動するための駆動クロックを生成して出力し、
前記イベント情報メモリは、
前記駆動クロックの出力状態を制御するクロック制御信号の変化イベント発生情報を記憶し、
前記制御信号出力回路は、
前記イベント情報メモリから読み出された前記クロック制御信号の前記変化イベント発生情報に基づいて、前記制御信号として前記クロック制御信号を生成し、前記駆動クロックの出力状態を、生成された前記クロック制御信号に基づいて制御することを特徴とするアナログフロントエンド回路。
【請求項１６】
請求項１乃至１５のいずれかに記載のアナログフロントエンド回路と、
前記イメージセンサと、
を含むことを特徴とする電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アナログフロントエンド回路及び電子機器に関する。
【背景技術】
【０００２】
画像読み取り装置などの電子機器に用いられているＣＣＤ、ＣＭＯＳセンサなどのイメージセンサでは、イメージセンサにより読み取られた原稿等のアナログの画像信号は、Ａ／Ｄ変換器によりデジタルの画像データに変換される。このようなＡ／Ｄ変換器を有するアナログフロントエンド回路（画像処理プロセッサ）の従来技術として特許文献１がある。
【０００３】
このようなアナログフロントエンド回路においてオフセット調整やゲイン調整を実現する手法として、メイン基板に実装されるＣＰＵ上で動作するファームウェアが、アナログフロントエンド回路からのＡ／Ｄ変換値に基づいて、オフセット調整やゲイン調整を行う手法が考えられる。
【０００４】
しかしながら、この手法では、ファームウェア（処理部）が、Ａ／Ｄ変換値の平均化処理などを行う必要があるため、ファームウェアの処理負荷が重くなるという課題がある。
【特許文献１】特開２００４−２９７１４６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、外部の処理部の処理負荷の軽減等を図れるアナログフロントエンド回路、及びこれを含む電子機器を提供することにある。
【課題を解決するための手段】
【０００６】
本発明は、イメージセンサからアナログの入力画像信号を受け、前記入力画像信号に対して所与の処理を行ってアナログの画像信号を出力するアナログ処理回路と、前記アナログ処理回路から入力される画像信号のＡ／Ｄ変換を行うＡ／Ｄ変換器と、前記Ａ／Ｄ変換器から出力されるＡ／Ｄ変換値をモニタして、演算処理を行う演算回路と、モニタ出力制御信号を出力するモニタ出力制御回路と、前記モニタ出力制御信号に基づいて、前記Ａ／Ｄ変換器の出力又は前記演算回路の出力のいずれかを選択して出力するマルチプレクサとを含み、前記演算回路は、黒基準画素のＡ／Ｄ変換値の平均化処理を行い、黒基準画素についてのＡ／Ｄ変換値の平均値である黒レベルモニタ値を出力し、前記マルチプレクサは、黒基準画素及び有効画素の出力期間以外の期間である黒レベルモニタ期間において、前記演算回路の出力である前記黒レベルモニタ値を選択して出力するアナログフロントエンド回路に関係する。
【０００７】
本発明によれば、モニタ出力制御回路はモニタ出力制御信号を出力し、マルチプレクサは、モニタ出力制御信号に基づいて、Ａ／Ｄ変換器の出力又は演算回路の出力のいずれかを選択する。また演算回路は、黒基準画素のＡ／Ｄ変換値の平均化処理を行い、黒レベルモニタ値を出力する。そしてマルチプレクサは、黒レベルモニタ期間では、演算回路からの黒レベルモニタ値の方を選択して出力する。このようにすれば、黒レベルモニタ期間においては、黒基準画素や有効画素のＡ／Ｄ変換値ではなく、黒基準画素のＡ／Ｄ変換値を平均化した黒レベルモニタ値が出力されるようになる。従って、外部の処理部は、自身でＡ／Ｄ変換値の平均化処理を行わなくても、この黒レベルモニタ値を用いて補正処理等を行うことが可能になるため、処理部の処理負荷を軽減できる。
【０００８】
また本発明では、前記アナログ処理回路から前記Ａ／Ｄ変換器に入力される画像信号の入力範囲の下限ターゲット値が設定されるターゲットレジスタを含み、前記アナログ処理回路は、オフセット調整レジスタを有し、前記オフセット調整レジスタに設定されたオフセット調整値に基づいて画像信号のオフセット調整を行うオフセット調整回路を含み、前記演算回路は、前記Ａ／Ｄ変換器からのＡ／Ｄ変換値の平均化処理を行う平均化回路を有し、前記入力範囲の下限値に対応するＡ／Ｄ変換値が前記Ａ／Ｄ変換器から出力される下限値出力期間において、Ａ／Ｄ変換値をモニタし、複数の画素についての平均化されたＡ／Ｄ変換値と下限ターゲット値との比較処理を行って、Ａ／Ｄ変換値を前記ターゲットレジスタの下限ターゲット値に近づけるオフセット調整値を前記オフセット調整レジスタに設定するオフセット設定処理を行い、前記演算回路の前記平均化回路が、前記黒レベルモニタ期間において黒基準画素についてのＡ／Ｄ変換値の平均化処理を行い、前記黒レベルモニタ値を生成してもよい。
【０００９】
このようにすれば、オフセット調整を自動的に短時間で終了できるようになり、利便性を向上できる。また下限値出力期間におけるＡ／Ｄ変換値が、オフセット設定処理により、ターゲットレジスタの下限ターゲット値に近づくようになるため、Ａ／Ｄ変換器の変換範囲の有効活用を図れる。またオフセット調整に使用される平均化回路を用いて、黒レベルモニタ値を生成できるため、ハードウェア資源の有効活用を図れる。
【００１０】
また本発明では、前記演算回路は、ｎビット幅の前記オフセット調整レジスタのオフセット調整値のビットｍ−１（ｎ≧ｍ≧０）に１を設定してＡ／Ｄ変換値と下限ターゲット値とを比較する比較処理と、Ａ／Ｄ変換値が下限ターゲット値よりも小さい場合にはオフセット調整値のビットｍ−１の論理レベルを１に決定し、Ａ／Ｄ変換値が下限ターゲット値よりも大きい場合にはオフセット調整値のビットｍ−１の論理レベルを０に決定するビット決定処理と、前記ｍを１ずつデクリメントするデクリメント処理とを、前記ｍが前記ｎから０になるまで繰り返してもよい。
【００１１】
このようにすれば、Ａ／Ｄ変換値と下限ターゲット値の比較処理やビット決定処理などを行う回路を設けるだけで、Ａ／Ｄ変換値を下限ターゲット値に近づけて一致させるオフセット設定処理を実現できるようになる。
【００１２】
また本発明では、前記ターゲットレジスタには、前記アナログ処理回路から前記Ａ／Ｄ変換器に入力される画像信号の入力範囲の上限ターゲット値が設定され、前記アナログ処理回路は、ゲイン調整レジスタを有し、前記ゲイン調整レジスタに設定されたゲイン調整値に基づいて画像信号のゲイン調整を行うゲイン調整回路を含み、前記演算回路は、前記入力範囲の上限値に対応するＡ／Ｄ変換値が前記Ａ／Ｄ変換器から出力される上限値出力期間において、Ａ／Ｄ変換値をモニタし、複数の画素についての平均化されたＡ／Ｄ変換値と上限ターゲット値との比較処理を行って、Ａ／Ｄ変換値を前記ターゲットレジスタの上限ターゲット値に近づけるゲイン調整値を前記ゲイン調整レジスタに設定するゲイン設定処理を行ってもよい。
【００１３】
このようにすれば、ゲイン調整を自動的に短時間で終了できるようになり、利便性を向上できる。また上限値出力期間におけるＡ／Ｄ変換値が、ゲイン設定処理により、ターゲットレジスタの上限ターゲット値に近づくようになるため、Ａ／Ｄ変換器の変換範囲の有効活用を図れる。
【００１４】
また本発明では、前記演算回路は、ｊビット幅の前記ゲイン調整レジスタのゲイン調整値のビットｉ−１（ｊ≧ｉ≧０）に１を設定してＡ／Ｄ変換値と上限ターゲット値とを比較する比較処理と、Ａ／Ｄ変換値が上限ターゲット値よりも小さい場合にはゲイン調整値のビットｉ−１の論理レベルを１に決定し、Ａ／Ｄ変換値が上限ターゲット値よりも大きい場合にはゲイン調整値のビットｉ−１の論理レベルを０に決定するビット決定処理と、前記ｉを１ずつデクリメントするデクリメント処理とを、前記ｉが前記ｊから０になるまで繰り返してもよい。
【００１５】
このようにすれば、Ａ／Ｄ変換値と上限ターゲット値の比較処理やビット決定処理などを行う回路を設けるだけで、Ａ／Ｄ変換値を上限ターゲット値に近づけて一致させるゲイン設定処理を実現できるようになる。
【００１６】
また本発明では、前記イメージセンサ用の複数の制御信号を生成するタイミングジェネレータを含み、前記タイミングジェネレータは、前記制御信号として、前記イメージセンサの黒基準画素の位置を指定するための黒基準画素指定信号と、前記イメージセンサの白画素の位置を指定するための白画素指定信号を出力し、前記演算回路は、前記黒基準画素指定信号がアクティブになった場合に、前記Ａ／Ｄ変換器のＡ／Ｄ変換値をモニタして、Ａ／Ｄ変換値の平均化処理を行い、前記モニタ出力制御回路は、前記黒基準画素指定信号、前記白画素指定信号に基づいて、前記モニタ出力制御信号を生成してもよい。
【００１７】
このようにすれば、アナログフロントエンド回路の内部で、黒基準画素指定信号や白画素指定信号をタイミングジェネレータにより自動的に生成して、モニタ出力制御信号を生成し、黒レベルモニタ機能を実現することが可能になる。
【００１８】
また本発明では、前記タイミングジェネレータは、イベント情報メモリと、前記イベント情報メモリから読み出された情報に基づいて、前記制御信号を生成して出力する制御信号出力回路とを含み、前記イベント情報メモリは、その各アドレスに、画素番号と、前記画素番号においてその信号レベルの変化イベントが発生する制御信号を指定するための変化イベント発生情報とを記憶し、前記制御信号出力回路は、前記イベント情報メモリから読み出された前記画素番号と前記変化イベント発生情報に基づいて、前記黒基準画素指定信号、前記白画素指定信号を含む前記制御信号を生成して出力してもよい。
【００１９】
本発明では、イベント情報メモリの各アドレスには、画素番号と変化イベント発生情報とが関連づけて記憶される。そして変化イベント発生情報により、その画素番号においてその信号レベルの変化イベントが発生する制御信号が指定され、この変化イベント発生情報と画素番号により、イメージセンサ用の制御信号が生成される。このようなイベント情報メモリを用いて制御信号を生成すれば、制御信号の信号レベルの変化イベントの発生回数が多い場合にも、効率的に制御信号を生成できる。
【００２０】
また本発明では、前記イベント情報メモリでは、その各アドレスに記憶されるデータのビット０〜ビットＬに対して前記画素番号が割り当てられ、ビットＬ＋１〜ビットＭに対して前記変化イベント発生情報が割り当てられてもよい。
【００２１】
このようにすれば、画素番号と変化イベント発生情報とを容易に関連づけることができる。
【００２２】
また本発明では、前記イベント情報メモリでは、前記ビットＬ＋１〜ビットＭの各ビットに対して、前記複数の制御信号の各制御信号が割り当てられてもよい。
【００２３】
このようにすれば、各アドレスのデータの第Ｌ＋１〜第Ｍビットを用いて、複数の制御信号の変化イベント発生情報を設定できる。
【００２４】
また本発明では、前記制御信号出力回路は、前記第Ｌ＋１〜第Ｍビットの第Ｎ（Ｌ＋１≦Ｎ≦Ｍ）のビットが第１の論理レベルであった場合に、前記第Ｎのビットに割り当てられる制御信号の信号レベルをトグルしてもよい。
【００２５】
このように変化イベント発生情報を用いて信号レベルをトグルして、制御信号を生成すれば、イベント情報メモリを用いた制御信号のタイミング設定を簡素化できる。
【００２６】
また本発明では、前記制御信号出力回路は、前記イベント情報メモリの先頭アドレスから最終アドレスに向かって前記画素番号、前記変化イベント発生情報を順次読み出し、読み出された前記画素番号及び前記変化イベント発生情報の少なくとも一方が、変化イベントの発生が終了したことを示す終了指示情報に設定されていた場合には、前記最終アドレスに到達する前に、前記イベント情報メモリの読み出しポインタを前記先頭アドレスに戻してもよい。
【００２７】
このようにすれば、変化イベントが発生しないのに、画素番号、変化イベント発生情報の無駄な読み出しが行われてしまう事態を防止でき、処理を効率化できる。
【００２８】
また本発明では、前記制御信号出力回路は、前記イベント情報メモリの先頭アドレスから最終アドレスに向かって前記画素番号、前記変化イベント発生情報を順次読み出し、前記最終アドレスに到達した場合に、前記イベント情報メモリの読み出しポインタを前記先頭アドレスに戻してもよい。
【００２９】
また本発明では、前記イベント情報メモリは、前記変化イベント発生情報として、前記制御信号の信号レベルのトグルを指示するトグル指示情報を記憶し、前記制御信号出力回路は、前記読み出しポインタが前記先頭アドレスに戻り、次のラインの画素の処理が開始する場合には、前記制御信号の信号レベルを第１の信号レベルにクリアしてもよい。
【００３０】
このようにすれば、トグルエラーが発生した場合にも、制御信号の信号変化が直ぐに正常状態に復帰するようになる。
【００３１】
また本発明では、前記イベント情報メモリは、前記イメージセンサの転送ゲートをオンにするためのシフト信号の変化イベント発生情報を記憶し、前記制御信号出力回路は、前記イベント情報メモリから読み出された前記シフト信号の前記変化イベント発生情報に基づいて、前記制御信号として前記シフト信号を生成して出力してもよい。
【００３２】
このようにシフト信号を生成すれば、様々なイメージセンサに容易に対応できるアナログフロントエンド回路を実現できる。
【００３３】
また本発明では、前記制御信号出力回路は、前記イメージセンサを駆動するための駆動クロックを生成して出力し、前記イベント情報メモリは、前記駆動クロックの出力状態を制御するクロック制御信号の変化イベント発生情報を記憶し、前記制御信号出力回路は、前記イベント情報メモリから読み出された前記クロック制御信号の前記変化イベント発生情報に基づいて、前記制御信号として前記クロック制御信号を生成し、前記駆動クロックの出力状態を、生成された前記クロック制御信号に基づいて制御してもよい。
【００３４】
このようなクロック制御信号を生成して、駆動クロックの出力状態を制御すれば、イメージセンサ毎に異なる様々な出力パターンの駆動クロックを、効率的に生成できる。
【００３５】
また本発明は、上記のいずれかに記載のアナログフロントエンド回路と、前記イメージセンサとを含む電子機器に関係する。
【発明を実施するための最良の形態】
【００３６】
以下、本発明の好適な実施の形態について詳細に説明する。なお以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【００３７】
１．イメージセンサ
図１（Ａ）にイメージセンサ１０の構成例を示す。このイメージセンサ１０（例えばＣＣＤラインセンサ）は、受光部２０２、転送ゲート２０４、転送部２０６（シフトレジスタ）を含む。また、受光部２０２は、光電変換を行う複数の受光素子（フォトダイオード、画素）を含む。
【００３８】
受光部２０２の各受光素子（画素）は受光量に応じた電荷を生成して蓄積する。そして電荷蓄積に必要な所定の時間が経過した後にシフト信号ＳＨがアクティブになり、転送ゲート２０４がオンになる。これにより、蓄積電荷が、転送ゲート２０４を介して転送部２０６のシフトレジスタ（各受光素子に対応して設けられたシフトレジスタ）に転送される。そして、各シフトレジスタに転送された蓄積電荷（画像信号）は２相の駆動クロックであるφ１、φ２に基づいて、隣接するシフトレジスタ間を転送されて行く。これによりイメージセンサ１０のＣＣＱ端子から、各受光素子の蓄積電荷に対応する画像信号がシリアルに出力される。
【００３９】
なお、イメージセンサ１０の構成は図１（Ａ）に限定されず、種々の変形実施が可能である。例えば図１（Ｂ）のように、奇数番目の画素用の転送ゲート２０４−１、転送部２０６−１と偶数番目の画素用の転送ゲート２０４−２、転送部２０６−２を設けることが望ましい。また、図１（Ａ）、図１（Ｂ）の構成において、Ｒ（赤）、Ｇ（緑）、Ｂ（青）画像の読み取り用の受光部、転送ゲート、転送部を設けることが望ましい。なお図１（Ｃ）には転送部２０６のシフトレジスタの構成例を示す。
【００４０】
２．アナログフロントエンド回路の構成
図２に本実施形態のアナログフロントエンド回路（画像処理プロセッサ、画像処理コントローラ）の構成例を示す。このアナログフロントエンド回路（ＡＦＥ）は、アナログ処理回路２０、Ａ／Ｄ変換器４０を含む。また演算回路５０、モニタ出力制御回路１５０、マルチプレクサ１６０を含む。なお本実施形態のアナログフロントエンド回路は図２の構成に限定されず、その構成要素の一部を省略したり、他の構成要素（例えばタイミングジェネレータ、外部インターフェース、画像データの送信回路、ＰＬＬ回路等）を追加するなどの種々の変形実施が可能である。
【００４１】
アナログ処理回路２０（アナログ信号処理回路）は、ＣＣＤ等のイメージセンサ１０（ラインセンサ）からアナログの入力画像信号ＩＭ１を受ける。そして入力画像信号ＩＭ１に対して所与の処理（Ａ／Ｄ変換前の前処理）を行ってアナログの画像信号ＩＭ２を出力する。具体的にはアナログ処理回路２０は、所与の処理として、例えば画像信号ＩＭ１のオフセット調整やゲイン調整を行う。或いは、画像信号ＩＭ１を所与のクランプレベルに設定するクランプ処理や、相関二重サンプリング（ＣＤＳ）や、画像信号のサンプル・ホールド処理などを行う。
【００４２】
Ａ／Ｄ変換器４０は、アナログ処理回路２０からの画像信号ＩＭ２のＡ／Ｄ変換を行う。そしてデジタルの画像データであるＡ／Ｄ変換値ＡＤＶを出力する。このＡ／Ｄ変換器４０としては、例えば縦続接続された複数のパイプラインステージを有するパイプライン型Ａ／Ｄ変換器を用いることができる。このパイプライン型Ａ／Ｄ変換器では、その各パイプラインステージは、入力画像信号をサブＡ／Ｄ変換器で量子化してデジタルデータに変換し、このデジタルデータをサブＤ／Ａ変換器によりＤ／Ａ変換する。そして入力画像信号とサブＤ／Ａ変換器で得られたアナログ信号の減算処理を行い、得られた信号を増幅して、次のパイプラインステージに出力する。なおＡ／Ｄ変換器４０はパイプライン型に限定されず、公知の他の方式のＡ／Ｄ変換器であってもよい。
【００４３】
演算回路５０（補正処理回路）は、Ａ／Ｄ変換器４０から出力されるＡ／Ｄ変換値ＡＤＶをモニタして、演算処理を行う。具体的には、黒基準画素のＡ／Ｄ変換値ＡＤＶの平均化処理を行う。即ち黒基準画素の出力期間においてＡ／Ｄ変換器４０から出力されるＡ／Ｄ変換値ＡＤＶをモニタし、複数の画素についてのＡ／Ｄ変換値を、平均化回路を用いて平均化する。例えば、後述する黒基準画素指定信号がアクティブになった場合に、Ａ／Ｄ変換値ＡＤＶをモニタして平均化処理を行う。そして黒基準画素についてのＡ／Ｄ変換値の平均値である黒レベルモニタ値ＢＭＶを出力する。
【００４４】
なお黒基準画素は、イメージセンサ１０の光シールド領域の画素であってもよいし、原稿のランプを消したときの画素であってもよい。
【００４５】
モニタ出力制御回路１５０はモニタ出力制御信号ＭＣＮＴを出力する。具体的には、後述する黒基準画素指定信号や白画素指定信号に基づいて、モニタ出力制御信号ＭＣＮＴを生成して出力する。
【００４６】
マルチプレクサ１６０（選択回路）は、モニタ出力制御信号ＭＣＮＴに基づいて、Ａ／Ｄ変換器４０の出力又は演算回路５０の出力のいずれかを選択して出力する。具体的には、黒レベルモニタ期間において、演算回路５０の出力である黒レベルモニタ値ＢＭＶ（Ａ／Ｄ変換値の平均値）を選択し、ＡＦＥ出力値ＡＦＥＱとして出力する。ここで黒レベルモニタ期間は、黒基準画素及び有効画素（白画素）の出力期間以外の期間であり、例えば黒基準画素出力期間と有効画素出力期間の間の期間である。
【００４７】
なお図１（Ａ）、図１（Ｂ）の構成において、Ｒ、Ｇ、Ｂ画像の読み取り用の受光部、転送ゲート、転送部を設けた場合には、Ｒ、Ｇ、Ｂの各チャネルについての黒基準画素の平均値を、黒レベルモニタ値ＢＭＶとして出力してもよい。またＡＦＥ出力値ＡＦＥＱは、ＣＭＯＳレベルの信号として出力してもよいし、ＬＶＤＳなどの差動信号に変換して出力してもよい。
【００４８】
図３は本実施形態の黒レベルモニタ値出力手法を説明するための図である。図３のＥ１に示すようにイメージセンサ１０から黒基準画素（オプティカルブラック）の画像信号が出力された後、Ｅ２に示すように有効画素（白画素）の画像信号が出力される。そしてＥ３、Ｅ４に示すようにアナログフロントエンド回路から黒基準画素、有効画素の画像信号のＡ／Ｄ変換値が出力される。
【００４９】
そして本実施形態ではＥ５に示すように、イメージセンサ１０のライン１の黒基準画素出力期間において出力された黒基準画素のＡ／Ｄ変換値の平均化処理を行う。この平均化処理は演算回路５０が有する平均化回路により行われる。そしてライン１の黒基準画素のＡ／Ｄ変換値の平均値である黒レベルモニタ値ＢＭＶ１が、Ｅ６に示すように次のライン２の黒レベルモニタ期間において、アナログフロントエンド回路から出力される。即ちＥ７に示す黒基準画素出力期間、Ｅ８に示す有効画素出力期間の間の期間である黒レベルモニタ期間において黒レベルモニタ値ＢＭＶ１が出力される。
【００５０】
また本実施形態では図３のＥ９に示すように、イメージセンサ１０のライン２の黒基準画素出力期間において出力された黒基準画素のＡ／Ｄ変換値の平均化処理を行う。そしてライン２についての黒レベルモニタ値ＢＭＶ２が、Ｅ１０に示すように次のライン３の黒レベルモニタ期間において、アナログフロントエンド回路から出力される。
【００５１】
そしてＥ１１に示すように、外部のメイン基板のＣＰＵ上で動作するファームウェア（広義には処理部）が、黒レベルモニタ値ＢＭＶ１、ＢＭＶ２・・・を参照して、処理を行う。具体的には、黒レベルモニタ値ＢＭＶ１、ＢＭＶ２・・・を用いて、オフセット調整やゲイン調整などの補正処理を行う。
【００５２】
このようにすれば、ファームウェアは、黒基準画素のＡ／Ｄ変換値の平均化処理を行わなくても済むため、その処理負荷を大幅に低減できる。またファームウェアの開発工数の削減や、ファームウェアの処理速度の向上を図れる。また図３のＥ６、Ｅ１０に示すように、黒基準画素や有効画素の出力期間以外の期間を、黒レベルモニタ期間として有効活用でき、利便性を向上できる。
【００５３】
なお、平均化処理を行う黒基準画素の画素数を、レジスタ等により設定してもよい。また、黒レベルモニタ値の出力のイネーブル、ディスエーブルを、レジスタ等により設定してもよい。また、イメージセンサ１０がＲ、Ｇ、Ｂのチャネルを有する場合には、Ｅ６、Ｅ１０の黒レベルモニタ期間において、Ｒ、Ｇ、Ｂの各チャネルについての黒レベルモニタ値を出力してもよい。例えばＲチャネルの黒レベルモニタ値、Ｇチャネルの黒レベルモニタ値、Ｂチャネルの黒レベルモニタ値を順次出力してもよい。
【００５４】
３．第１の変形例
図４に本実施形態の第１の変形例を示す。この第１の変形例では、アナログフロントエンド回路が、黒レベルモニタ機能に加えて、自動オフセット調整機能や自動ゲイン調整機能を有している。
【００５５】
図４において、アナログ処理回路２０はオフセット調整回路２３、ゲイン調整回路２５を含む。なおこれらの一方を省略する構成としてもよい。
【００５６】
オフセット調整回路２３は、オフセット調整レジスタ２４を有し、オフセット調整レジスタ２４に設定されたオフセット調整値に基づいて画像信号のオフセット調整を行う。ゲイン調整回路２５は、ゲイン調整レジスタ２６を有し、ゲイン調整レジスタ２６に設定されたゲイン調整値に基づいて画像信号のゲイン調整を行う。具体的には例えばオフセット調整後の画像信号に対してゲイン調整を行う。なお、イメージセンサ１０がカラーの画像信号を出力する場合には、オフセット調整レジスタ２４に例えばＲ用、Ｇ用、Ｂ用のオフセット調整値を設定し、ゲイン調整レジスタ２６に例えばＲ用、Ｇ用、Ｂ用のゲイン調整値を設定すればよい。
【００５７】
ターゲットレジスタ１００には、アナログ処理回路２０からＡ／Ｄ変換器４０に入力される画像信号ＩＭ２の入力範囲（ダイナミックレンジ）の下限ターゲット値（最小値）や上限ターゲット値（最大値）が設定される。これらの下限ターゲット値や上限ターゲット値の設定は、例えば外部のＣＰＵ（ＣＰＵ上で動作するファームウェア）等により行うことができる。なお、下限ターゲット値及び上限ターゲット値のいずれか一方のみを設定するようにしてもよい。
【００５８】
演算回路５０（補正処理回路）は平均化回路５１を有する。そして、Ａ／Ｄ変換器４０から入力範囲の下限値（最小値）に対応するＡ／Ｄ変換値が出力される下限値出力期間（狭義には黒基準画素出力期間）において、Ａ／Ｄ変換値ＡＤＶをモニタ（監視）して取り出す。そして複数の画素についての平均化されたＡ／Ｄ変換値と、ターゲットレジスタ１００の下限ターゲット値との比較処理を行い、Ａ／Ｄ変換値を下限ターゲット値に近づけるオフセット調整値（下限ターゲット値に一致させるオフセット調整値）を、オフセット調整レジスタ２４に設定するオフセット設定処理（下限値設定処理）を行う。或いはＡ／Ｄ変換器４０から入力範囲の上限値（最大値）に対応するＡ／Ｄ変換値が出力される上限値出力期間（狭義には白画素出力期間）において、Ａ／Ｄ変換値ＡＤＶをモニタ（監視）して取り出す。そして複数の画素についての平均化されたＡ／Ｄ変換値と、ターゲットレジスタ１００の上限ターゲット値との比較処理を行い、Ａ／Ｄ変換値を上限ターゲット値に近づけるゲイン調整値（上限ターゲット値に一致させるゲイン調整値）を、ゲイン調整レジスタ２６に設定するゲイン設定処理（上限値設定処理）を行う。
【００５９】
図５（Ａ）にオフセット調整回路２３におけるオフセット調整値とオフセット電圧の関係の一例を示す。例えば１０ビット幅（広義にはｎビット幅）のオフセット調整レジスタ２４に０ｘ２００のオフセット調整値を設定すると、オフセット調整回路２３において画像信号に対して加算されるオフセット電圧は０Ｖになる。一方、０ｘ０００、０ｘ３ＦＦのオフセット調整値を設定すると、画像信号に加算されるオフセット電圧は、各々、−３００ｍＶ、＋３００ｍｖになる。このように図５（Ａ）では、オフセット調整値に対してオフセット電圧は単調増加の関数になっている。
【００６０】
また図５（Ｂ）にゲイン調整回路２５におけるゲイン調整値とゲインの関係の一例を示す。例えば８ビット幅のゲイン調整レジスタ２６に０ｘ０８０のゲイン調整値を設定すると、ゲイン調整回路２５（プログラマブルゲインアンプＰＧＡ）でのゲインは４程度になり、０ｘ０ＦＦのゲイン調整値を設定するとゲインは１６程度になる。このように図５（Ｂ）では、ゲイン調整値に対してゲインは単調増加の関数になっている。
【００６１】
第１の変形例では図５（Ａ）、図５（Ｂ）のようなオフセット調整、ゲイン調整を行うことで、Ａ／Ｄ変換器４０の変換範囲をフルに発揮するための調整を実現している。
【００６２】
例えば図６において１０ビットのＡ／Ｄ変換器４０のＡ／Ｄ変換範囲は、０〜１０２３（０〜１０２３ＬＳＢ）になっており、アナログの電圧範囲としては例えば０〜２Ｖになっている。なおＡ／Ｄ変換器４０のＬＳＢを１と表している。一方、イメージセンサ１０からの入力画像信号ＩＭ１の入力範囲は、１００〜５１２（１００〜５１２ＬＳＢ）になっており、Ａ／Ｄ変換範囲０〜１０２３に比べて狭く、Ａ／Ｄ変換器４０の変換特性をフルに発揮していない。
【００６３】
そこで図６では、Ａ／Ｄ変換器４０に入力される画像信号ＩＭ２の入力範囲の下限ターゲット値を例えば０に設定して、−１００（−１００ＬＳＢ）のオフセット調整を行っている。これにより画像信号ＩＭ２の入力範囲の最小値（下限値）はオフセット調整により１００から０にシフトする。この時、入力範囲の最大値（上限値）も５１２から４１２にシフトする。
【００６４】
次に図６では、Ａ／Ｄ変換器４０に入力される画像信号ＩＭ２の入力範囲の上限ターゲット値を例えば８２４に設定して、２倍のゲイン調整を行っている。これにより画像信号ＩＭ２の入力範囲の最大値（上限値）はゲイン調整により４１２から８２４にシフトする。
【００６５】
このようにすれば、画像信号ＩＭ２の入力範囲が１００〜５１２から０〜８２４に拡大し、Ａ／Ｄ変換範囲０〜１０２４とほぼ同程度になるため、Ａ／Ｄ変換器４０の変換特性をフルに発揮できるようになる。
【００６６】
即ち第１の変形例では、図４のターゲットレジスタ１００の下限ターゲット値を例えば０に設定する。すると演算回路５０は、Ａ／Ｄ変換値ＡＤＶを下限ターゲット値＝０に近づけるためのオフセット調整値を、オフセット調整レジスタ２４に設定する演算処理を行う。これにより、オフセット調整回路２３により−１００のオフセット調整が行われ、画像信号ＩＭ２の入力範囲の最小値が１００から０にシフトする。なお入力範囲が０以下に潜り込まないように、下限ターゲット値は０より大きくすること（例えば１０以上）が望ましい。
【００６７】
また第１の変形例では、図４のターゲットレジスタ１００の上限ターゲット値を例えば８２４に設定する。すると演算回路５０は、Ａ／Ｄ変換値ＡＤＶを上限ターゲット値＝８２４に近づけるためのゲイン調整値を、ゲイン調整レジスタ２６に設定する演算処理を行う。これにより、ゲイン調整回路２５により２倍のゲイン調整が行われ、画像信号ＩＭ２の入力範囲の最小値が４１２から８２４にシフトする。従って、画像信号ＩＭ２の入力範囲を０〜８２４に設定でき、Ａ／Ｄ変換器４０のダイナミックレンジを向上できる。
【００６８】
このような自動オフセット調整機能や自動ゲイン調整機能をアナログフロントエンド回路に持たせれば、メイン基板のＣＰＵ上で動作するファームウェアは、ソフトウェア処理によるオフセット調整やゲイン調整を行わなくても済むため、その処理負荷を軽減できる。
【００６９】
一方、アナログフロントエンド回路のユーザによっては、このような自動オフセット調整機能や自動ゲイン調整機能を使用しないユーザも存在する。また電子機器への電源投入後、時間が経過し、環境温度が変化すると、その影響でイメージセンサ１０の特性が変化し、黒基準レベルが変化してしまう場合がある。従って、初期設定で、自動オフセット調整や自動ゲイン調整を行って、黒基準レベルの補正を行っても、環境温度の変化により、黒基準レベルがシフトしてしまうおそれがある。従って、このような場合には、外部のファームウェアによって、適宜、黒基準レベルを補正できることが望ましい。
【００７０】
そこで第１の変形例では、アナログフロントエンド回路に、自動オフセット調整機能や自動ゲイン調整機能に加えて、黒レベルモニタ機能を持たせている。このようにすれば、外部のファームウェアは、電源が投入されて初期設定が行われた後も、図３のＥ６、Ｅ１０、Ｅ１１に示すように黒レベルモニタ期間においてアナログフロントエンド回路から出力される黒レベルモニタ値ＢＭＶ（黒基準レベルの平均値）を監視できる。従って、ファームウェアは、監視結果に基づく種々の補正処理を行うことが可能になり、温度変化によるイメージセンサ１０の特性変化にも対応できるようになる。
【００７１】
また、この場合に、黒基準画素のＡ／Ｄ変換値は、アナログフロントエンド回路の演算回路５０が有する平均化回路５１を用いて平均化される。従って、外部のファームウェアは、図３のＥ３に示す黒基準画素出力期間において出力される黒基準画素のＡ／Ｄ変換値の平均化処理を行わなくても済み、ファームウェアの処理負荷を大幅に軽減できる。
【００７２】
また第１の変形例では、平均化回路５１が、黒レベルモニタ期間において黒基準画素についてのＡ／Ｄ変換値の平均化処理を行い、黒レベルモニタ値ＢＭＶを生成して、マルチプレクサ１６０に出力する。ここで平均化回路５１は、自動オフセット調整や自動ゲイン調整にも使用されるものである。従って、第１の変形例によれば、黒レベルモニタ機能のための平均化回路を別途設けなくても、自動オフセット調整や自動ゲイン調整のために設けられた平均化回路５１を利用して黒レベルモニタ機能を実現できる。これによりハードウェア資源の有効活用を図れる。
【００７３】
４．第１の変形例の詳細な構成
図７に第１の変形例の詳細な構成例を示す。図７では演算回路５０は、平均化回路５１、モニタレジスタ５２、オフセット設定回路５３、ゲイン設定回路５４、制御回路５５を含む。
【００７４】
平均化回路５１は、Ａ／Ｄ変換器４０のＡ／Ｄ変換値ＡＤＶの平均化処理を行う。具体的には平均化回路５１は、黒基準画素出力期間（下限値出力期間）や白画素出力期間（上限値出力期間）においてＡ／Ｄ変換値をモニタする。そして例えばイメージセンサ１０の各処理ラインにおける複数の画素の画像信号のＡ／Ｄ変換値を取り出して平均化する。そして演算回路５０は、複数の画素についての平均化されたＡ／Ｄ変換値と、ターゲットレジスタ１００に設定された下限ターゲット値や上限ターゲット値との比較処理を行う。
【００７５】
モニタレジスタ５２は、Ａ／Ｄ変換器４０のＡ／Ｄ変換値ＡＤＶのモニタ値が設定されるレジスタである。具体的には例えば平均化回路５１により平均化されたＡ／Ｄ変換値がモニタ値としてモニタレジスタ５２に設定される。
【００７６】
即ち図７のアナログフロントエンド回路には、ターゲットレジスタ１００やモニタレジスタ５２に対して外部からアクセスするための外部インターフェース１１０（ＣＰＵインターフェース、ホストインターフェース）が設けられている。ＣＰＵ（ホストプロセッサ、ファームウェア）は、この外部インターフェース１１０を介してターゲットレジスタ１００やモニタレジスタ５２にアクセスする。そしてＣＰＵは、ターゲットレジスタ１００に対して下限ターゲット値や上限ターゲット値を設定したり、モニタレジスタ５２に設定されたＡ／Ｄ変換値のモニタ値を監視することができる。
【００７７】
このように外部インターフェース１１０を設ければ、ＣＰＵは所望の任意の下限ターゲット値や上限ターゲット値を、ターゲットレジスタ１００に設定できるようになる。従って、図６で説明したＡ／Ｄ変換器４０への画像信号の入力範囲を、ユーザが任意に設定できるようになる。またゲイン調整やオフセット調整が完了した後の最終的なＡ／Ｄ変換値を、モニタレジスタ５２を用いてモニタできるようになる。従って、適正な下限値や上限値の設定が行われたかを、ユーザは随時確認することが可能になり、利便性を向上できる。
【００７８】
オフセット設定回路５３は、Ａ／Ｄ変換値（平均値）とターゲットレジスタ１００の下限ターゲット値との比較処理を行う。そして図６で説明したように、Ａ／Ｄ変換値を下限ターゲット値に近づけるオフセット調整値をオフセット調整レジスタ２４に設定するための処理を行う。具体的にはＡ／Ｄ変換値を下限ターゲット値に一致させる（ほぼ一致させる）オフセット調整値を例えば２分岐探索により求めて、オフセット調整レジスタ２４に書き込む。
【００７９】
ゲイン設定回路５４は、Ａ／Ｄ変換値（平均値）とターゲットレジスタ１００の上限ターゲット値との比較処理を行う。そして図６で説明したように、Ａ／Ｄ変換値を上限ターゲット値に近づけるゲイン調整値をゲイン調整レジスタ２６に設定するための処理を行う。具体的にはＡ／Ｄ変換値を上限ターゲット値に一致させる（ほぼ一致させる）ゲイン調整値を例えば２分岐探索により求めて、ゲイン調整レジスタ２６に書き込む。
【００８０】
制御回路５５は演算回路５０の全体的な制御を行う。即ち演算回路５０が含む各回路のシーケンスを制御したり、各種の判断処理を行う。
【００８１】
５．第１の変形例の動作
次に図８、図９のフローチャートを用いて第１の変形例の詳細な動作例について説明する。図８はオフセット設定処理に関するフローチャートである。
【００８２】
まず演算回路５０は、カウンタのカウント値をｍ＝ｎ（ｎ≧ｍ≧０）に設定する（ステップＳ１）。そしてｎビット幅のオフセット調整レジスタ２４のオフセット調整値のビットｍ−１に１を設定する（ステップＳ２）。例えばｍ＝ｎ＝１０である場合には、１０ビット幅のオフセット調整レジスタ２４のオフセット調整値の最上位のビット９（＝ｍ−１）に１を設定する。
【００８３】
次に演算回路５０は、処理対象ラインの画素のうち、後述する黒基準画素指定信号で指定される画素のＡ／Ｄ変換値をモニタして取り出す（ステップＳ３）。そして取り出された複数の画素についてのＡ／Ｄ変換値の平均化処理を行う（ステップＳ４）。
【００８４】
次に平均化されたＡ／Ｄ変換値と、ターゲットレジスタ１００に設定された下限ターゲット値を比較する（ステップＳ５）。そしてＡ／Ｄ変換値の方が下限ターゲット値よりも小さい場合には、オフセット調整値のビットｍ−１の論理レベルを１に決定し、大きければビットｍ−１の論理レベルを０に決定する（ステップＳ６、Ｓ７、Ｓ８）。なおＡ／Ｄ変換値と下限ターゲット値が等しい場合に１に決定するようにしてもよいし、０に決定するようにしてもよい。
【００８５】
次にカウンタのカウント値ｍを１だけデクリメントする（ステップＳ９）。例えばｍ＝１０である場合にはｍ＝９にデクリメントする。そしてｍ＝０か否かを判断し（ステップＳ１０）、ｍ＝０でない場合にはステップＳ２に戻り、次の処理ラインの画素に対してステップＳ２〜Ｓ９のオフセット設定処理を行う。
【００８６】
一方、ｍ＝０になり、オフセット調整値の例えば全てのビットの論理レベルが決定すると、例えば次の処理ラインの黒基準画素のＡ／Ｄ変換値を再度モニタする（ステップＳ１１）。そして取り出したＡ／Ｄ変換値の平均化処理を行い（ステップＳ１２）、平均化されたＡ／Ｄ変換値が下限ターゲット値未満である場合には、オフセット調整レジスタ２４のオフセット調整値に１を加算する（ステップＳ１３、Ｓ１４）。
【００８７】
以上のように第１の変形例では、ｎビット幅のオフセット調整レジスタ２４のオフセット調整値のビットｍ−１に１を設定してＡ／Ｄ変換値と下限ターゲット値とを比較する比較処理（ステップＳ２〜Ｓ５）と、Ａ／Ｄ変換値が下限ターゲット値よりも小さい場合にはオフセット調整値のビットｍ−１の論理レベルを１に決定し、Ａ／Ｄ変換値が下限ターゲット値よりも大きい場合にはオフセット調整値のビットｍ−１の論理レベルを０に決定するビット決定処理（ステップＳ６〜Ｓ８）と、ｍを１ずつデクリメントするデクリメント処理（ステップＳ１、Ｓ９）とを、ｍがｎから０になるまで繰り返している（ステップＳ１０）。
【００８８】
このようにすれば、Ａ／Ｄ変換値を２分岐探索により下限ターゲット値に少しずつ近づけながら、最終的に両者を一致させる（ほぼ一致させる）ことができる。従ってＡ／Ｄ変換器４０のＡ／Ｄ変換範囲をフルに活用するためのオフセット調整を、短時間で自動的に終了させることができる。従って、イメージセンサ、アナログフロントエンド回路、ＣＰＵをループとした閉ループフィードバックによりオフセット調整を行う場合に比べて、原稿を読み取る前の準備時間の長さ短縮化できる。またＣＰＵによるオフセット調整処理が不要になるため、ファームウェアのオフセット調整プログラムの開発も不要になり、ユーザの開発工数を削減できる。
【００８９】
また第１の変形例では、ｍが０になりオフセット調整値の全てのビットの論理レベルが決定した後に、Ａ／Ｄ変換器のＡ／Ｄ変換値を再度モニタする（ステップＳ１０、Ｓ１１）。そしてＡ／Ｄ変換値が下限ターゲット値未満である場合にはオフセット調整値に１を加算する処理を行う（ステップＳ１３、Ｓ１４）。
【００９０】
このような加算処理を行えば、Ａ／Ｄ変換器４０への入力画像信号の下限値が図６で説明した下限ターゲット値を下回ってＡ／Ｄ変換範囲の下限値側に潜り込んでしまい、Ａ／Ｄ変換範囲外になってしまう事態を防止できる。
【００９１】
なお第１の変形例では、このようにして最終的に決定されたオフセット調整値での最終的なＡ／Ｄ変換値が、モニタレジスタ５２に設定される。そしてＣＰＵ等の外部デバイスは、外部インターフェース１１０を介してモニタレジスタ５２にアクセスし、この最終的なＡ／Ｄ変換値をモニタできる。従ってユーザは、最終的に決定されたオフセット調整値でのＡ／Ｄ変換値（Ａ／Ｄ変換範囲の下限値）が、ターゲットレジスタ１００に設定された下限ターゲット値に確かに一致しているか否かを、外部から確認できる。これによりユーザの利便性を向上できる。
【００９２】
図９はゲイン設定処理に関するフローチャートである。まず演算回路５０は、カウンタのカウント値をｉ＝ｊ（ｊ≧ｉ≧０）に設定する（ステップＳ２１）。そしてｊビット幅のゲイン調整レジスタ２６のゲイン調整値のビットｉ−１に１を設定する（ステップＳ２２）。例えばｉ＝ｊ＝８である場合には、８ビット幅のゲイン調整レジスタ２６のゲイン調整値の最上位のビット７（＝ｉ−１）に１を設定する。
【００９３】
次に演算回路５０は、処理対象ラインの画素のうち、後述する白画素指定信号で指定される画素のＡ／Ｄ変換値をモニタして取り出す（ステップＳ２３）。そして取り出された複数の画素についてのＡ／Ｄ変換値の平均化処理を行う（ステップＳ２４）。
【００９４】
次に平均化されたＡ／Ｄ変換値と、ターゲットレジスタ１００に設定された上限ターゲット値を比較する（ステップＳ２５）。そしてＡ／Ｄ変換値の方が上限ターゲット値よりも小さい場合には、ゲイン調整値のビットｉ−１の論理レベルを１に決定し、大きければビットｉ−１の論理レベルを０に決定する（ステップＳ２６、Ｓ２７、Ｓ２８）。なおＡ／Ｄ変換値と上限ターゲット値が等しい場合に１に決定するようにしてもよいし、０に決定するようにしてもよい。
【００９５】
次にカウンタのカウント値ｉを１だけデクリメントする（ステップＳ２９）。例えばｉ＝８である場合にはｉ＝７にデクリメントする。そしてｉ＝０か否かを判断し（ステップＳ３０）、ｉ＝０でない場合にはステップＳ２２に戻り、次の処理ラインの画素に対してステップＳ２２〜Ｓ２９のゲイン設定処理を行う。
【００９６】
一方、ｉ＝０になり、ゲイン調整値の例えば全てのビットの論理レベルが決定すると、例えば次の処理ラインの白画素のＡ／Ｄ変換値を再度モニタする（ステップＳ３１）。そして取り出したＡ／Ｄ変換値の平均化処理を行い（ステップＳ３２）、平均化されたＡ／Ｄ変換値が上限ターゲット値を上回る場合には、ゲイン調整レジスタ２６のゲイン調整値から１を減算する（ステップＳ３３、Ｓ３４）。
【００９７】
以上のように第１の変形例では、ｊビット幅のゲイン調整レジスタ２６のゲイン調整値のビットｉ−１に１を設定してＡ／Ｄ変換値と上限ターゲット値とを比較する比較処理（ステップＳ２２〜Ｓ２５）と、Ａ／Ｄ変換値が上限ターゲット値よりも小さい場合にはゲイン調整値のビットｉ−１の論理レベルを１に決定し、Ａ／Ｄ変換値が上限ターゲット値よりも大きい場合にはゲイン調整値のビットｉ−１の論理レベルを０に決定するビット決定処理（ステップＳ２６〜Ｓ２８）と、ｉを１ずつデクリメントするデクリメント処理（ステップＳ２１、Ｓ２９）とを、ｉがｊから０になるまで繰り返している（ステップＳ３０）。
【００９８】
このようにすれば、Ａ／Ｄ変換値を２分岐探索により上限ターゲット値に少しずつ近づけながら、最終的に両者を一致させる（ほぼ一致させる）ことができる。従ってＡ／Ｄ変換器４０のＡ／Ｄ変換範囲をフルに活用するためのゲイン調整を、短時間で自動的に終了させることができる。従って、イメージセンサ、アナログフロントエンド回路、ＣＰＵをループとした閉ループフィードバックによりゲイン調整を行う場合に比べて、原稿を読み取る前の準備時間の長さ短縮化できる。またＣＰＵによるゲイン調整処理が不要になるため、ファームウェアのゲイン調整プログラムの開発も不要になり、ユーザの開発工数を削減できる。
【００９９】
また第１の変形例では、ｉが０になりゲイン調整値の全てのビットの論理レベルが決定した後に、Ａ／Ｄ変換器のＡ／Ｄ変換値を再度モニタする（ステップＳ３０、Ｓ３１）。そしてＡ／Ｄ変換値が上限ターゲット値を上回る場合には、ゲイン調整値から１を減算する処理を行う（ステップＳ３３、Ｓ３４）。
【０１００】
このような減算処理を行えば、Ａ／Ｄ変換器４０の入力画像信号の上限値が図６で説明した上限ターゲット値を上回ってＡ／Ｄ変換範囲の上限値側を超えてしまい、入力画像信号がＡ／Ｄ変換範囲外になってしまう事態を防止できる。
【０１０１】
なお第１の変形例では、このようにして最終的に決定されたゲイン調整値での最終的なＡ／Ｄ変換値が、モニタレジスタ５２に設定される。そしてＣＰＵ等の外部デバイスは、外部インターフェース１１０を介してモニタレジスタ５２にアクセスし、この最終的なＡ／Ｄ変換値をモニタできる。従ってユーザは、最終的に決定されたゲイン調整値でのＡ／Ｄ変換値（Ａ／Ｄ変換範囲の上限値）が、ターゲットレジスタ１００に設定された上限ターゲット値に確かに一致しているか否かを、外部から確認できる。これによりユーザの利便性を向上できる。
【０１０２】
図１０（Ａ）に、Ａ／Ｄ変換器４０の分解能が１０ビットであり、オフセット調整レジスタ２４のビット幅がｎ＝１０ビットであり、下限ターゲット値が０ｘ０４０である場合のオフセット設定処理例を示す。
【０１０３】
１本目の処理ラインでは、カウンタのカウント値がｍ＝ｎ＝１０に設定される（図８のステップＳ１）。また解析終了前の解析中においては、１０ビット幅のオフセット調整値は、その最上位ビットであるビット９（＝ｍ−１）が１に設定されるため（ステップＳ２）、１０_００００_００００になる。そしてこの状態で１本目の処理ラインの黒基準画素の画像信号のＡ／Ｄ変換値がモニタされる。この時、モニタされて平均化されたＡ／Ｄ変換値が０ｘ０２０であったとする。すると、Ａ／Ｄ変換値＝０ｘ０２０の方が下限ターゲット値０ｘ０４０よりも小さいため、オフセット調整値のビット９は１に決定する（ステップＳ６、Ｓ７）。従って解析終了後は、１０_００００_００００のオフセット調整値がオフセット調整レジスタ２４に設定される。
【０１０４】
２本目の処理ラインでは、カウント値が１だけデクリメントされてｍ＝９になる（ステップＳ９）。またオフセット調整値は、ビット８（＝ｍ−１）が１に設定されるため（ステップＳ２）、１１_００００_００００になる。この状態でモニタされた２本目の処理ラインの黒基準画素の画像信号のＡ／Ｄ変換値が０ｘ０４５であったとする。すると、Ａ／Ｄ変換値＝０ｘ０４５の方が下限ターゲット値０ｘ０４０よりも大きいため、オフセット調整値のビット８は０に決定する（ステップＳ６、Ｓ８）。従って解析終了後はオフセット調整値は１０_００００_００００になる。
【０１０５】
３本目の処理ラインでは、カウント値が１だけデクリメントされてｍ＝８になる（ステップＳ９）。またオフセット調整値は、ビット７（＝ｍ−１）が１に設定されるため（ステップＳ２）、１１_１０００_００００になる。この状態でモニタされた３本目の処理ラインの黒基準画素の画像信号のＡ／Ｄ変換値が０ｘ０３５であったとする。すると、Ａ／Ｄ変換値＝０ｘ０３５の方が下限ターゲット値０ｘ０４０よりも小さいため、オフセット調整値のビット７は１に決定する（ステップＳ６、Ｓ７）。従って解析終了後はオフセット調整値は１０_１０００_００００になる。
【０１０６】
以上のようにして１０本目の処理ラインまで処理が行われ、その時のＡ／Ｄ変換値は０ｘ０４１になっており、下限ターゲット値０ｘ０４０よりも大きい。従ってビット０は０に決定し、オフセット調整値は１０_１ｘｘｘ_ｘｘｘ０になる。
【０１０７】
そして第１の変形例ではこのようにしてオフセット調整値の全てのビットの論理レベルが決定した後に、このオフセット調整値を用いて、次の１１本目の処理ラインのＡ／Ｄ変換値が再度モニタされる（ステップＳ１１）。そしてモニタされたＡ／Ｄ変換値が下限ターゲット値０ｘ０４０未満である場合には、オフセット調整値１０_１ｘｘｘ_ｘｘｘ０に１が加算されて、１０_１ｘｘｘ_ｘｘｘ１になる（ステップＳ１３、Ｓ１４）。これにより、Ａ／Ｄ変換器４０の入力画像信号の下限値が下限ターゲット値を下回ってしまい、Ａ／Ｄ変換範囲外になってしまう事態を防止できる。
【０１０８】
図１０（Ｂ）に、Ａ／Ｄ変換器４０の分解能が１０ビットであり、ゲイン調整レジスタ２６のビット幅がｊ＝８ビットであり、上限ターゲット値が０ｘ３Ｃ０である場合のゲイン設定処理例を示す。
【０１０９】
１本目の処理ラインでは、カウンタのカウント値がｉ＝ｊ＝８に設定される（図９のステップＳ２１）。また８ビット幅のゲイン調整値は、その最上位ビットであるビット７（＝ｉ−１）が１に設定されるため（ステップＳ２２）、１０００_００００になる。この状態でモニタされた１本目の処理ラインの白画素の画像信号のＡ／Ｄ変換値が０ｘ３ＦＦであったとする。すると、Ａ／Ｄ変換値＝０ｘ３ＦＦの方が下限ターゲット値０ｘ３Ｃ０より大きいため、ゲイン調整値のビット７は０に決定する（ステップＳ２６、Ｓ２８）。従って解析終了後は、００００_００００のゲイン調整値がゲイン調整レジスタ２６に設定される。
【０１１０】
同様にして図１０（Ｂ）では、２本目の処理ラインにおいては、Ａ／Ｄ変換値＝０ｘ３１０の方が上限ターゲット値０ｘ３Ｃ０よりも小さいため、ゲイン調整値のビット６は１に決定する。また３本目の処理ラインでは、Ａ／Ｄ変換値＝０ｘ３Ｅ０の方が上限ターゲット値０ｘ３Ｃ０よりも大きいため、ゲイン調整値のビット５は０に決定する。
【０１１１】
そして８本目の処理ラインまで処理が行われ、その時のＡ／Ｄ変換値は０ｘ３Ｃ１になっており、上限ターゲット値０ｘ３Ｃ０よりも大きい。従ってビット０は０に決定し、ゲイン調整値は０１０ｘ_ｘｘｘ０になる。
【０１１２】
そして第１の変形例ではこのようにしてゲイン調整値の全てのビットの論理レベルが決定した後に、このゲイン調整値を用いて、次の１１本目の処理ラインのＡ／Ｄ変換値が再度モニタされる（ステップＳ３１）。そしてモニタされたＡ／Ｄ変換値が上限ターゲット値０ｘ３Ｃ０を上回った場合には、ゲイン調整値０１０ｘ_ｘｘｘ０から１が減算される（ステップＳ３３、Ｓ３４）。これにより、Ａ／Ｄ変換器４０の入力画像信号の上限値が上限ターゲット値を上回ってしまい、Ａ／Ｄ変換範囲外になってしまう事態を防止できる。
【０１１３】
６．第２の変形例
図１１に本実施形態の第２の変形例を示す。図１１では、図２や図４や図７の構成に対してタイミングジェネレータ６０の構成要素が追加されている。
【０１１４】
ここでタイミングジェネレータ６０は、イメージセンサ１０用の複数の制御信号を生成する。このタイミングジェネレータ６０により生成される制御信号としては、例えばイメージセンサ１０の駆動信号や、アナログフロントエンド回路の駆動信号（制御信号）がある。
【０１１５】
イメージセンサ１０の駆動信号としては、シフト信号ＳＨ、駆動クロックφ１、φ２（ＳＮＣＫ）、クランプ信号ＣＰ、或いはリセット信号ＲＳなどが考えられる。タイミングジェネレータ６０はこれらの駆動信号ＳＨ、φ１、φ２、ＣＰ、ＲＳ等を生成して、イメージセンサ１０に供給し、イメージセンサ１０を駆動（制御）する。
【０１１６】
またアナログフロントエンド回路自体の駆動信号としては、Ａ／Ｄ変換用のクロック（基準クロック）ＡＤＣＫ、サンプリングクロックＣＫ１、ＣＫ２、或いはクランプ信号ＣＬＭＰなどが考えられる。タイミングジェネレータ６０は、例えばクロックＡＤＣＫを生成して、Ａ／Ｄ変換器４０に供給し、サンプリングクロックＣＫ１、ＣＫ２、クランプ信号ＣＬＭＰを生成して、アナログ処理回路２０に供給する。
【０１１７】
タイミングジェネレータ６０は、制御信号出力回路７０とイベント情報メモリ９０を含む。
【０１１８】
ここで制御信号出力回路７０は、イベント情報メモリ９０（ＲＡＭ）から読み出された情報などに基づいて制御信号を生成して出力する。またイベント情報メモリ９０は、その各アドレスに、画素番号（画素番号の特定情報）と、その画素番号に対応づけられた制御信号の変化イベント発生情報（トグル指示情報）を記憶する。そして制御信号出力回路７０は、イベント情報メモリ９０から読み出された画素番号と変化イベント発生情報に基づいて、シフト信号ＳＨ（ＳＨ１〜ＳＨ６、ＳＨＸ）やクロック制御信号などの制御信号を生成する。
【０１１９】
ここでイベント情報メモリ９０に記憶される画素番号（画素カウント、画素位置）は、イメージセンサ１０の各画素の位置を特定するための情報であり、その番号の付け方は任意である。またイベント情報メモリ９０に記憶される変化イベント発生情報（イベント情報）は、その変化イベント発生情報に対応づけられた画素番号（同じアドレスに記憶された画素番号）において、その信号レベルの変化イベントが発生する制御信号を指定（特定）するための情報である。
【０１２０】
例えば複数の制御信号のうちの第ｉの制御信号が、第ｊの画素番号（画素位置）において、その信号レベルが変化したとする。例えばＬレベル（「０」）からＨレベル（「１」）に変化したり、ＨレベルからＬレベルに変化したとする。この場合には、イベント情報メモリ９０の第ｋのアドレスには、第ｊの画素番号が記憶されると共に、第ｉの制御信号を指定（特定）するための情報（ビット）である変化イベント発生情報（変化イベント発生ビット）が、第ｊの画素番号に対応づけて記憶される。
【０１２１】
このようなイベント情報メモリ９０を設ければ、制御信号の信号レベルの変化イベントの発生回数が多い場合にも、比較的小規模な回路構成でこれに対応できる。
【０１２２】
例えば比較例の手法として、信号の変化点を決めるタイミング情報をタイミング設定レジスタに設定して、設定されたタイミング情報を用いてシフト信号ＳＨ等の制御信号を生成する手法が考えられる。
【０１２３】
しかしながら、この比較例の手法では、信号レベルの変化イベントの発生回数の個数分だけ、タイミング設定レジスタが必要になる。これに対して図１１では、少なくともイベント情報メモリ９０のアドレスの容量分（深さ分）の個数だけ、信号レベルの変化イベントを設定できる。従って、制御信号の信号変化点の個数を多くすることができ、より多くの様々なイメージセンサに対して対応することができる。また信号変化点の変更は、ユーザがイベント情報メモリ９０の情報を書き換えるだけで実現できるため、信号変化点の変更に伴う回路修正を最小限に抑えることができる。
【０１２４】
そして第２の変形例では図１１のタイミングジェネレータ６０が、制御信号として、イメージセンサ１０の黒基準画素の位置（黒基準画素出力期間）を指定するための黒基準画素指定信号ＯＢＰＩＸを出力する。具体的には図１２のＤ１に示すように、Ａ／Ｄ変換器４０から黒基準画素のＡ／Ｄ変換値が出力される期間において黒基準画素指定信号ＯＢＰＩＸをアクティブにする。
【０１２５】
そして演算回路５０（平均化回路５１）は、黒基準画素指定信号ＯＢＰＩＸがアクティブになった場合に、Ａ／Ｄ変換器４０のＡ／Ｄ変換値をモニタして、Ａ／Ｄ変換値の平均化処理を行う。そして黒レベルモニタ値ＢＭＶを生成する。
【０１２６】
またタイミングジェネレータ６０は、イメージセンサ１０の白画素（有効画素）の位置（白画素出力期間）を指定するための白画素指定信号ＷＨＰＩＸを出力する。具体的には図１２のＤ２に示すように、Ａ／Ｄ変換器４０から白画素（有効画素）のＡ／Ｄ変換値が出力される期間において白画素指定信号ＷＨＰＩＸをアクティブにする。
【０１２７】
そしてＤ３に示すようにモニタ出力制御回路１５０は、黒基準画素指定信号ＯＢＰＩＸ、白画素指定信号ＷＨＰＩＸに基づいて、モニタ出力制御信号ＭＣＮＴを生成する。具体的には、黒基準画素指定信号ＯＢＰＩＸ及び白画素指定信号ＷＨＰＩＸが共に非アクティブとなる黒レベルモニタ期間において、モニタ出力制御信号ＭＣＮＴをアクティブにする。これによりＤ４に示すように、黒レベルモニタ期間においてアナログフロントエンド回路から黒レベルモニタ値が出力されるようになる。なお黒レベルモニタ期間のうちの一部の期間においてのみ、モニタ出力制御信号ＭＣＮＴをアクティブにして、黒レベルモニタ値を出力するようにしてもよい。
【０１２８】
以上のようにすれば、アナログフロントエンド回路の内部で、信号ＯＢＰＩＸ、ＷＨＰＩＸをタイミングジェネレータ６０により自動的に生成して、モニタ出力制御信号ＭＣＮＴを生成し、黒レベルモニタ機能を実現できる。従って、ＣＰＵ等の外部デバイスが、信号ＯＢＰＩＸ、ＷＨＰＩＸを供給しなくても済むようになるため、その処理負荷を軽減できる。なお、信号ＯＢＰＩＸ、ＷＨＰＩＸを外部デバイスが外部から供給する変形実施も可能である。
【０１２９】
なお第１の変形例で説明した自動オフセット調整機能を実現する場合には、演算回路５０は、信号ＯＢＰＩＸがアクティブになった場合に、Ａ／Ｄ変換器４０のＡ／Ｄ変換値をモニタし、Ａ／Ｄ変換値と下限ターゲット値の比較処理を行う。そして図８で説明したオフセットの設定処理を行う。また自動ゲイン調整機能を実現する場合には、演算回路５０は、信号ＷＨＰＩＸがアクティブになった場合に、Ａ／Ｄ変換器４０のＡ／Ｄ変換値をモニタし、Ａ／Ｄ変換値と上限ターゲット値の比較処理を行う。そして図９で説明したゲインの設定処理を行う。
【０１３０】
このようにすれば、アナログフロントエンド回路の内部で、信号ＯＢＰＩＸ、ＷＨＰＩＸをタイミングジェネレータ６０により自動的に生成して、オフセット調整やゲイン調整を自動的に行えるようになる。
【０１３１】
７．イベント情報メモリ
次にイベント情報メモリ９０を用いた制御信号のタイミング設定手法について説明する。図１３にイベント情報メモリ９０のメモリ空間例を示し、図１４に各ビットへの信号の割り当て例を示し、図１５に図１３、図１４の設定手法により生成される信号波形例を示す。
【０１３２】
図１３では、信号レベルの変化イベントである各イベントのデータは２ワード（１６ビット）単位で設定される。そしてイベント情報メモリ９０のアドレスは２ワード（０ｘ０２）単位で変化し、各アドレス０ｘ００、０ｘ０２、０ｘ０４・・・・・・０ｘ７Ｃ、０ｘ７Ｅに対して、各イベントのデータが対応づけられている。
【０１３３】
また図１３に示すように、イベント情報メモリ９０の各アドレスに記憶されるデータの１ワード目のビット０〜ビット１５と２ワード目のビット０〜３（広義にはビット０〜ビットＬ。Ｌは自然数）には、画素番号ＰＩＸＮＵＭ［１９：０］が割り当てられる。また各アドレスに記憶されるデータの２ワード目のビット４〜１５（広義にはビットＬ＋１〜ビットＭ。Ｍは自然数）には、制御信号ＳＨ１〜ＳＨ６、ＳＨＸ、ＳＮＣＫＣＴＬ、ＯＢＰＩＸ、ＷＨＰＩＸの変化イベント発生情報（トグル指示ビット）が割り当てられる。なお画素番号や変化イベント発生情報のビット割り当ては図１３に限定されず、任意であり、そのビット割り当ての順番を変更するなどの種々の変形実施が可能である。
【０１３４】
図１３では、各アドレスのデータのビット４〜１５（ビットＬ＋１〜ビットＭ）の各ビットに対して、複数の制御信号ＳＨ１〜ＳＨ６、ＳＨＸ、ＳＮＣＫＣＴＬ、ＯＢＰＩＸ、ＷＨＰＩＸの各制御信号が割り当てられる。例えばビット４にはＬＩＮＥＭＤ、ビット５〜１１にはＳＨ６、ＳＨ１〜ＳＨ５、ＳＨＸ、ビット１２、１３にはＳＮＣＫＣＴＬ、ビット１４にはＯＢＰＩＸ、ビット１５にはＷＨＰＩＸが割り当てられる。
【０１３５】
そして制御信号出力回路７０は、これらのビット４〜１５の各ビット（ビットＬ＋１〜ビットＭのビットＮ。Ｌ＋１≦Ｎ≦Ｍ）が「１」（広義には第１の論理レベル）であった場合に、そのビット（ビットＮ）に割り当てられる制御信号の信号レベルをトグルする。
【０１３６】
例えば図１３のアドレス０ｘ０２では、ビット１０が「１」（第１の論理レベル）になっている。この場合にはビット１０に割り当てられる信号ＳＨ５の信号レベルが図１５のＢ１に示すようにトグルする。即ちＬレベルからＨレベルに信号レベルが変化する。また図１３のアドレス０ｘ０４では、ビット６が「１」になっている。この場合にはビット６に割り当てられる信号ＳＨ１の信号レベルが図１５のＢ２に示すようにトグルする。即ちＬレベルからＨレベルに変化する。そしてアドレス０ｘ０６では、再度、ビット６が「１」になっている。従ってビット６に割り当てられる信号ＳＨ１の信号レベルが図１５のＢ３に示すようにトグルし、今度はＨレベルからＬレベルに変化する。
【０１３７】
このようにイベント情報メモリ９０の変化イベント発生情報として、トグル指示情報（トグル指示ビット）を用いれば、イベント情報メモリ９０を用いた制御信号のタイミング設定が簡素化され、ユーザの利便性を向上できる。
【０１３８】
なおこのようなトグル指示情報を使用しない手法を採用してもよい。例えば図１５に示すような信号ＳＨ５の波形を設定するために、図１３ではＳＨ５に対応するビット１０を「０１００００１・・・」というように設定しているが、「０１１１１１０・・・」というように設定することも可能である。
【０１３９】
８．シフト信号の生成
本実施形態ではイベント情報メモリ９０により生成される制御信号として、シフト信号ＳＨ１〜ＳＨ６、ＳＨＸ（以下、適宜、シフト信号ＳＨと総称する）を生成している。即ちイベント情報メモリ９０は、図１（Ａ）のイメージセンサの転送ゲート２０４をオンにするための信号であるシフト信号ＳＨの変化イベント発生情報を記憶する。そして制御信号出力回路７０は、イベント情報メモリ９０から読み出されたシフト信号ＳＨの変化イベント発生情報に基づいて、シフト信号ＳＨを生成して出力する。
【０１４０】
例えば図１３では、イベント情報メモリ９０の先頭アドレス０ｘ００から最終アドレス０ｘ７Ｅに向かって画素番号、変化イベント発生情報が順次読み出される。即ち、まず先頭アドレス０ｘ００に記憶される画素番号ＰＩＸＮＵＭ＝０ｘ０００００を読み出し、読み出された画素番号を、図１５に示す画素カウント値（後述する画素カウンタのカウント値）と比較する。そして一致した場合には、そのアドレス０ｘ００に記憶される変化イベント発生情報であるビット４〜１５に基づいて、制御信号の信号レベルを設定する。この場合にはビット４〜１５の全てのビットが「０」（第２の論理レベル）に設定されており、トグルを指示していないため、制御信号の信号レベルを変化させず、そのままの状態にする。
【０１４１】
次に、アドレス０ｘ０２に記憶される画素番号ＰＩＸＮＵＭ＝０ｘ００００１を読み出し、図１５に示す画素カウント値と比較する。そして一致した場合には、そのアドレス０ｘ０２のビット４〜１５（変化イベント発生情報）に基づいて、制御信号の信号レベルを設定する。この場合には例えばビット１０が「１」に設定されているため、図１５のＢ１に示すようにシフト信号ＳＨ５をＬレベルからＨレベルに変化させる。
【０１４２】
次に、アドレス０ｘ０４に記憶される画素番号ＰＩＸＮＵＭ＝０ｘ００００２を読み出し、画素カウント値と比較する。そして一致した場合には、そのアドレス０ｘ０４のビット４〜１５に基づいて、制御信号の信号レベルを設定する。この場合には例えばビット６が「１」に設定されているため、図１５のＢ２に示すようにシフト信号ＳＨ１をＬレベルからＨレベルに変化させる。
【０１４３】
同様にしてアドレス０ｘ０６から画素番号ＰＩＸＮＵＭ＝０ｘ００００３とビット４〜１５を読み出して、図１５のＢ３に示すようにシフト信号ＳＨ１をＨレベルからＬレベルに変化させ、Ｂ４に示すようにシフト信号ＳＨ４をＬレベルからＨレベルに変化させる。
【０１４４】
なお図１３では、説明の便宜のために、アドレス０ｘ００、０ｘ０２、０ｘ０４・・・に記憶される画素番号ＰＩＸＮＵＭを、０ｘ０００００、０ｘ００００１、０ｘ００００２、０ｘ００００３・・・というように１つずつインクリメントさせている。しかしながら、画素番号ＰＩＸＮＵＭのインクリメントのさせ方は任意であり、これに限定されない。例えば０ｘ０００００、０ｘ００００２・・・というように２つ以上ずつインクリメントさせてもよいし、０ｘ０００００、０ｘ００００２、０ｘ００００６というようにランダムに変化させてもよい。
【０１４５】
以上の手法によりシフト信号を生成すれば、様々な製品のイメージセンサに容易に対応できるようになる。例えばシフト信号ＳＨ１〜ＳＨ３（Ｒ、Ｇ、Ｂ用のシフト信号）の第１回目の立ち上がりタイミングが、イメージセンサの第１の製品では同時であり、第２の製品では同時ではなかったとする。このような場合にも本実施形態によれば、イベント情報メモリ９０のデータを書き換えるだけで、第１、第２の製品の両方に容易に対応できるようになる。従って、回路修正等を最小限に抑えることができ、開発期間の短縮化や開発コストの低減を図れる。
【０１４６】
なお図１３のアドレス０ｘ１６以降では、画素番号（ＰＩＸＮＵＭ）が、変化イベントの発生が終了したことを示す終了指示情報（終了指示番号）である０ｘＦＦＦＦＦに設定される。またビット４〜１５の変化イベント発生情報も終了指示情報である０ｘＦＦＦに設定される。
【０１４７】
例えば、イベント情報メモリ９０の先頭アドレス０ｘ００から最終アドレス０ｘ７Ｅに向かって画素番号、変化イベント発生情報を順次読み出したとする。そしてアドレス０ｘ１６のように、読み出された画素番号、変化イベント発生情報が、終了指示情報（０ｘＦＦＦＦＦ、０ｘＦＦＦ）に設定されていた場合には、制御信号出力回路７０（読み出し回路）は、最終アドレス０ｘ７Ｅに到達する前に、図１３のＡ１に示すようにイベント情報メモリ９０の読み出しポインタを先頭アドレス０ｘ００に戻す。
【０１４８】
このようにすれば、変化イベントが発生しないのに、画素番号、変化イベント発生情報の無駄な読み出しが行われてしまう事態を防止でき、処理を効率化できる。例えばイメージセンサの製品に応じて、信号レベルの変化イベントの回数が異なる場合がある。このような場合にも、図１３のＡ１のように、終了指示情報を検知して読み出しポインタを戻す手法を採用すれば、イベント情報メモリ９０に変化イベントの情報を効率良く格納することができると共に、情報の読み出し処理の効率化を図れる。
【０１４９】
なお、このような終了指示情報（０ｘＦＦＦＦＦ、０ｘＦＦＦ）が設定されていなかった場合等には、図１３のＡ２に示すように、最終アドレス０ｘ７Ｅに到達した場合に、イベント情報メモリ９０の読み出しポインタを先頭アドレス０ｘ００に戻してもよい。
【０１５０】
また図１３のＡ１、Ａ２に示すように読み出しポインタが先頭アドレス０ｘ００に戻り、次のラインの画素の処理を行う場合には、制御信号の信号レベルをＬレベル（広義には第１の信号レベル）にクリアすることが望ましい。
【０１５１】
例えば図１６では、トリガ信号ＴＧＣＫがアクティブになり、例えばライン型のイメージセンサの第１のラインの画素の処理が行われ、本実施形態の手法によりシフト信号ＳＨ１〜ＳＨ６の信号レベルが変化している。そして図１３のＡ１、Ａ２のように読み出しポインタが先頭アドレス０ｘ００に戻り、トリガ信号ＴＧＣＫが再度アクティブになり、次のラインの画素の処理が開始されると、シフト信号ＳＨ１〜ＳＨ６がＬレベルにクリアされる。
【０１５２】
例えばイベント情報メモリ９０に記憶される変化イベント発生情報が、図１３で説明したようなトグル指示情報（トグル指示ビット）である場合には、図１６に示す信号レベルのクリア処理を行わないと、誤ったシフト信号ＳＨ１〜ＳＨ６が生成されるおそれがある。即ち、ノイズ等が原因で、信号ＳＨ１〜ＳＨ６の信号レベルが誤ってトグルしたとする。すると図１６のように１ライン毎にＬレベルからＨレベルに変化するはずの信号ＳＨ１〜ＳＨ６が、トグルエラーの発生後は１ライン毎にＨレベルからＬレベルに変化するようになってしまう。
【０１５３】
この点、図１６のような信号レベルのクリア処理を行えば、トグルエラーが発生した場合にも、信号ＳＨ１〜ＳＨ６の信号変化が、直ぐに正常状態に復帰するようになり、信号の生成処理の信頼性を向上できる。
【０１５４】
なお信号ＳＨＸは、ＳＨ１〜ＳＨ６のようなクリア処理が行われない信号になっている。この信号ＳＨＸを用いれば、図１６のように２つのラインにまたがった信号レベルの変化を実現でき、生成される制御信号のバラエティ度を増すことができる。
【０１５５】
９．クロック制御信号の生成
本実施形態では図１３に示すようにイベント情報メモリ９０は、イメージセンサの駆動クロックの出力状態（出力パターン）を制御するクロック制御信号ＳＮＣＫＣＴＬの変化イベント発生情報を記憶する。そして制御信号出力回路７０は、イベント情報メモリ９０から読み出された変化イベント発生情報に基づいて、クロック制御信号ＳＮＣＫＣＴＬを生成する。そして駆動クロックの出力状態を、生成されたクロック制御信号ＳＮＣＫＣＴＬに基づいて制御する。
【０１５６】
例えば制御信号出力回路７０は、イメージセンサの駆動クロックＳＮＣＫ１Ａ〜ＳＮＣＫ４（以下、適宜、駆動クロックＳＮＣＫと総称する）を、図１７に示すようなパターンメモリを用いて生成する。
【０１５７】
例えば図１７では、内部ステートの値は０から１５までインクリメントされ、次の周期でも、再度、内部ステートの値は０から１５までインクリメントされる。この０から１５までインクリメントする期間が、１画素の期間になる。即ち図１５の画素カウント値が１だけインクリメントする期間において、内部ステートは０から１５までインクリメントする。
【０１５８】
そして図１７では、この内部ステートの値がインクリメントされる毎に、駆動クロックのパターンメモリの各アドレスから、駆動クロックのクロックパターン情報が読み出され、読み出されたクロックパターン情報に基づいて、駆動クロックＳＮＣＫが生成される。例えば図１７のパターンメモリにより生成される駆動クロックＳＮＣＫ（図１（Ａ）のφ１、φ２等）の信号波形例を図１８に示す。
【０１５９】
クロック制御信号ＳＮＣＫＣＴＬは、このように生成される駆動クロックＳＮＣＫの出力状態を制御する。
【０１６０】
例えば図１３に示すように、画素番号（ＰＩＸＮＵＭ）が０ｘ００００２に設定されるアドレス０ｘ０４では、信号ＳＮＣＫＣＴＬが「０１」（広義には第１の状態）に設定される。そして図１４に示すように「０１」は出力パターン１（有効画素出力時）を意味する。従って、信号ＳＮＣＫＣＴＬが「０１」（第１の状態）である場合には、図１５のＢ５に示すように、出力パターン１のクロックパターンの駆動クロックＳＮＣＫが、制御信号出力回路７０から出力される。即ち図１７、図１８に示すような有効画素用（黒基準画素を含む）の出力パターン１の駆動クロックＳＮＣＫが生成されて出力される。同様に、画素番号が０ｘ００００５に設定されるアドレス０ｘ０Ａでも、信号ＳＮＣＫＣＴＬが「０１」に設定されるため、図１５のＢ６に示すように、出力パターン１のクロックパターンの駆動クロックＳＮＣＫが出力される。
【０１６１】
また画素番号が０ｘ００００３に設定されるアドレス０ｘ０６では、信号ＳＮＣＫＣＴＬが「１０」（広義には第２の状態）に設定される。そして図１４に示すように「１０」は出力パターン２を意味する。従って、信号ＳＮＣＫＣＴＬが「１０」（第２の状態）である場合には、図１５のＢ７に示すように、出力パターン２のクロックパターンの駆動クロックＳＮＣＫが出力される。このように本実施形態では、クロックパターンを２通り（複数通り）出力することが可能になる。
【０１６２】
また画素番号が０ｘ００００８に設定されるアドレス０ｘ１０では、信号ＳＮＣＫＣＴＬは「１１」（広義には第３の状態）に設定される。そして図１４に示すように「１１」は固定値出力（固定値出力切り替え）を意味する。従って、信号ＳＮＣＫＣＴＬが「１１」（第３の状態）である場合には、図１５のＢ８に示すように、固定値レベルＬＶ１に設定された駆動クロックＳＮＣＫが出力される。
【０１６３】
また画素番号が０ｘ００００９に設定されるアドレス０ｘ１２でも、信号ＳＮＣＫＣＴＬは「１１」に設定される。従って、図１５のＢ９に示すように固定値レベルＬＶ２に設定された駆動クロックＳＮＣＫが出力される。即ち駆動クロックＳＮＣＫの固定値レベルがＬＶ１からＬＶ２に切り替わる。なお固定値レベルＬＶ１、ＬＶ２の電圧レベルは、レジスタ等で任意のレベルに設定可能になっている。
【０１６４】
このように駆動クロックＳＮＣＫを固定値レベルに設定できれば、イメージセンサの駆動の際の任意の期間において、駆動クロックＳＮＣＫを任意のＤＣレベルに設定できるようになり、イメージセンサの適正な駆動を実現できる。
【０１６５】
以上のようなクロック制御信号ＳＮＣＫＣＴＬを生成して、駆動クロックＳＮＣＫの出力状態を制御すれば、イメージセンサ毎に異なる様々な出力パターンの駆動クロックを、簡素で小規模な回路構成で、効率的に生成して出力できるようになる。
【０１６６】
１０．黒基準画素・白画素指定信号の生成
本実施形態では図１３に示すようにイベント情報メモリ９０は、黒基準画素指定信号ＯＢＰＩＸ、白画素指定信号ＷＨＰＩＸの変化イベント発生情報を記憶する。そして制御信号出力回路７０は、イベント情報メモリ９０から読み出された変化イベント発生情報に基づいて、黒基準画素指定信号ＯＢＰＩＸ、白画素指定信号ＷＨＰＩＸを生成して出力する。
【０１６７】
例えば図１３に示すように、画素番号が０ｘ００００２に設定されるアドレス０ｘ０４では、黒基準画素指定信号ＯＢＰＩＸが「１」に設定される。このように信号ＯＢＰＩＸが「１」である場合には、図１５のＢ５に示すように、その画素位置は黒基準画素の位置に指定される。
【０１６８】
また画素番号が０ｘ００００５に設定されるアドレス０ｘ０Ａでは、白画素指定信号ＷＨＰＩＸが「１」に設定される。このように信号ＷＨＰＩＸが「１」である場合には、図１５のＢ６に示すように、その画素位置は白画素（有効画素）の位置に指定される。
【０１６９】
例えば図１９（Ａ）、（Ｂ）に、イメージセンサに供給される駆動クロック（φ１、φ２等）や出力画像信号の信号波形を模式的に示す。
【０１７０】
まず、図１９（Ｂ）のＣ１に示すように空送りが行われ、次にＣ２に示すように黒基準画素（オプティカルブラック、光シールド出力）の画像信号が出力される。そしてＣ３に示すように無効画素の画像信号が出力され、その後にＣ４に示すように白画素（有効画素）の画像信号が出力され、Ｃ５に示すように無効画素の画像信号が出力される。
【０１７１】
従って図１３のような黒基準画素指定信号ＯＢＰＩＸ、白画素指定信号ＷＨＰＩＸにより、図１９（Ｂ）のＣ２の黒基準画素位置、Ｃ４の白画素位置を指定できれば、イメージセンサの効率的な駆動が可能になる。
【０１７２】
なお、図１９（Ｂ）のＣ２、Ｃ４の黒基準画素、白画素では、図１５のＢ５、Ｂ６で説明した出力パターン１のクロックパターンの駆動クロックＳＮＣＫ（φ１、φ２）が供給され、図１９（Ｂ）のＣ３、Ｃ５の無効画素では、図１５のＢ７で説明した出力パターン２のクロックパターンの駆動クロックＳＮＣＫが供給され、効率的な駆動が可能になる。
【０１７３】
１１．制御信号出力回路
図２０に制御信号出力回路７０の具体的な構成例を示す。この制御信号生成回路７０は、読み出し回路７２、画素カウンタ７４、ラインカウンタ７５、検出回路７６、比較回路７７、７８、信号生成回路８０を含む。また信号生成回路８０は、読み出しデータ保持回路８２、トグル回路８４、ラッチ回路８６を含む。なお制御信号生成回路７０は図２０の構成に限定されず、その構成要素の一部（例えばラインカウンタ、比較回路７８等）を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【０１７４】
図２０において読み出し回路７２は、イベント情報メモリ９０から画素番号や変化イベント発生情報を読み出す。画素カウンタ７４は、画素カウント値（図１５参照）のカウント処理を行う。ラインカウンタ７５は、ラインカウント値のカウント処理を行う。
【０１７５】
比較回路７７は、イベント情報メモリ９０から読み出し回路７２を介して読み出された画素番号ＰＩＸＮＵＭと、画像カウンタ７４からの画素カウント値ＰＣＮＴとを比較する。そして一致した場合には、一致検出信号ＤＥＴＰを出力する。
【０１７６】
比較回路７８は、イベント情報メモリ９０から読み出されたライン番号ＬＩＮＥＭＤと、ラインカウンタ７５からのラインカウント値ＬＣＮＴとを比較する。そして一致した場合には、一致検出信号ＤＥＴＬを出力する。
【０１７７】
信号生成回路８０は、画素番号ＰＩＸＮＵＭが画素カウント値ＰＣＮＴと一致し、一致検出信号ＤＥＴＰがアクティブになった場合に、一致した画素番号のアドレスに記憶される変化イベント発生情報に基づいて、制御信号を生成して出力する。
【０１７８】
具体的には、読み出し回路７２によりイベント情報メモリ９０から読み出されたデータＲＤ１（変化イベント発生情報）は、比較回路７７からの一致検出信号ＤＥＴＰ（或いはＤＥＴＬ）がアクティブになったタイミングで、読み出しデータ保持回路８２に保持される。そしてトグル回路８４は、読み出しデータ保持回路８２の出力データＲＤ２に基づいて、ラッチ回路８６にその信号レベルが保持された制御信号のトグル処理を行う。このようにすることで、図１５に示すような制御信号ＳＨ１〜ＳＨ６、ＳＨＸ等の生成が可能になる。
【０１７９】
なお検出回路７６は、トリガ信号ＴＧＣＫの検出や、図１３で説明した終了指示情報（０ｘＦＦＦＦＦ）などの検出を行って、図１６で説明したクリア信号ＣＬＲを生成する。そしてクリア信号ＣＬＲがアクティブになると、制御信号が例えばＬレベルにクリアされる。
【０１８０】
１２．アナログ処理回路
図２１にアナログ処理回路２０の構成例を示す。なおアナログ処理回路２０は図２１の構成に限定されず、その構成要素の一部を省略するなどの種々の変形実施が可能である。
【０１８１】
アナログ処理回路２０は、Ｒ用、Ｇ用、Ｂ用のクランプ回路ＣＬＰＲ、ＣＬＰＧ、ＣＬＰＢを含む。これらのクランプ回路ＣＬＰＲ、ＣＬＰＧ、ＣＬＰＢは、Ｒ、Ｇ、Ｂの画像信号のレベルを、クランプレベル設定回路２２により設定されたクランプレベルにクランプするための回路である。
【０１８２】
またアナログ処理回路２０は、Ｒ用、Ｇ用、Ｂ用のオフセット調整回路ＯＦＳＲ、ＯＦＳＧ、ＯＦＳＢを含む。これらの各オフセット調整回路ＯＦＳＲ、ＯＦＳＧ、ＯＦＳＢは、Ｒ用、Ｇ用、Ｂ用のＤ／Ａ変換器ＤＡＣＲ、ＤＡＣＧ、ＤＡＣＢや、アナログの加算回路ＡＤＤＲ、ＡＤＤＧ、ＡＤＤＢを含む。そしてオフセット調整レジスタ２４に設定されたオフセット調整データに基づいて、オフセット調整を行う。
【０１８３】
またアナログ処理回路２０は、Ｒ用、Ｇ用、Ｂ用の相関二重サンプリング回路ＣＤＳＲ、ＣＤＳＧ、ＣＤＳＢを含む。またＲ用、Ｇ用、Ｂ用のゲイン調整アンプＰＧＡＲ、ＰＧＡＧ、ＰＧＡＢを含む。これらのゲイン調整アンプＰＧＡＲ、ＰＧＡＧ、ＰＧＡＢは、ゲイン調整レジスタ２６に設定されたゲイン調整データに基づいて、ゲイン調整を行う。
【０１８４】
アナログ処理回路２０はマルチプレクサＭＵＸを含む。このようなマルチプレクサＭＵＸを設ければ、高速なＡ／Ｄ変換器４０を用いて、Ｒ、Ｇ、Ｂの画像信号を時分割でＡ／Ｄ変換することが可能になる。
【０１８５】
１３．電子機器
図２２は、本実施形態のアナログフロントエンド回路（ＡＦＥ）３２４を含む電子機器３１０の構成例を示す。なお電子機器３１０は、図２２の全ての構成要素を含む必要はなく、その一部を省略する等の種々の変形実施が可能である。
【０１８６】
電子機器３１０（例えばフラットベッド型イメージスキャナ）は読み取り対象物３１２（例えば原稿）を載せるための載置台３１４と、載置台３１４を支持するフレーム３１５（例えば支持部材、ハウジング）を含む。矩形状の載置台３１４は光透過性部材であるガラス等により形成され、この光透過性の載置台３１４の例えば上部に読み取り対象物３１２が載せられる。
【０１８７】
電子機器３１０は、イメージセンサ３２２及びアナログフロントエンド回路３２４が搭載されるヘッド側基板（キャリッジ）３２０を含む。イメージセンサ３２２としてはＣＣＤ（Charge Coupled Device）、ＣＩＳ（Contact Image Sensor）、又はＢＢＤ（Bucket Brigade Device）などを使用できる。ヘッド側基板３２０には、読み取り対象物３１２（原稿）を照明するための光源３２６や、読み取り対象物３１２で反射された光源３２６からの光をイメージセンサ３２２に集光するレンズ３２８（集光部）などの光学系（光学ヘッド）も搭載される。
【０１８８】
電子機器３１０は、ヘッド側基板３２０を駆動して移動させる駆動装置３３０（駆動機構）を含み、駆動装置３３０は、モータ３３２（動力源）や、モータ３３２を駆動するモータドライバ３３４を含む。イメージセンサ３２２は、その長手方向が主走査方向と一致するように配置される。そして他方側がプーリ３３８に掛けられた駆動ベルトをモータ３３２により駆動することで、駆動ベルトに固定されたヘッド側基板３２０が副走査方向（主走査方向に直交する方向）に移動する。なお、ヘッド側基板３２０の移動方式としは種々の変形実施が考えられる。
【０１８９】
電子機器３１０はメイン基板３５０を含む。メイン基板３５０は電子機器３１０の各ブロックを制御するものである。具体的には、画像データの取得処理の制御や、ヘッド側基板３２０のサーボ制御や、アナログフロントエンド回路３２４の制御などを行う。
【０１９０】
メイン基板３５０は画像処理部３６０を含む。画像処理部３６０は、アナログフロントエンド回路３２４で取得された画像データの画像処理を行う。またメイン基板５０はサーボコントローラ３８０を含む。サーボコントローラ３８０は、ヘッド側基板３２０を駆動（移動）する駆動装置３３０（モータ３２）のサーボ制御（フィードバック制御）を行う。メイン基板３５０はＣＰＵ３９６（プロセッサ）やメモリ３９８（ＲＯＭ、ＲＡＭ）を含む。ＣＰＵ３９６はメイン基板３５０の全体的な制御を行ったり、外部との情報のやり取りをする。またメモリ３９８は、プログラムや各種データを記憶したり、画像処理部３６０やサーボコントローラ３８０やＣＰＵ３９６の作業領域として機能する。
【０１９１】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。またアナログフロントエンド回路、電子機器の構成、動作も本実施形態で説明したものに限定に限定されず、種々の変形実施が可能である。
【図面の簡単な説明】
【０１９２】
【図１】図１（Ａ）〜図１（Ｃ）はイメージセンサの説明図。
【図２】本実施形態のアナログフロントエンド回路の構成例。
【図３】黒レベルモニタ出力手法の説明図。
【図４】本実施形態の第１の変形例の構成例。
【図５】図５（Ａ）、図５（Ｂ）はオフセット調整値−オフセット電圧、ゲイン調整値−ゲインの関係を示す図
【図６】Ａ／Ｄ変換器の変換範囲の有効活用についての説明図。
【図７】第１の変形例の詳細な構成例。
【図８】オフセット設定処理を説明するためのフローチャート。
【図９】ゲイン設定処理を説明するためのフローチャート。
【図１０】図１０（Ａ）、図１０（Ｂ）は第１の変形例の具体的な動作を説明するための図。
【図１１】本実施形態の第２の変形例の構成例。
【図１２】黒基準画素指定信号、白画素指定信号の説明図。
【図１３】イベント情報メモリのメモリ空間の説明図。
【図１４】イベント情報メモリの各ビットの説明図。
【図１５】本実施形態の手法により生成される信号波形の例。
【図１６】制御信号のクリア処理の説明図。
【図１７】駆動クロックのパターンメモリの説明図。
【図１８】図１７のパターンメモリにより生成される信号波形の例。
【図１９】図１９（Ａ）、図１９（Ｂ）はイメージセンサに供給される駆動クロックや出力画像信号の信号波形例。
【図２０】制御信号出力回路の構成例。
【図２１】アナログ処理回路の構成例。
【図２２】電子機器の構成例。
【符号の説明】
【０１９３】
１０  イメージセンサ、２０  アナログ処理回路、２２  クランプレベル設定回路、
２３  オフセット調整回路、２４  オフセット調整レジスタ、２５  ゲイン調整回路、
２６  ゲイン調整レジスタ、４０  Ａ／Ｄ変換器、５０  演算回路、５１  平均化回路、
５２  モニタレジスタ、５３  オフセット設定回路、５４  ゲイン設定回路、
５５  制御回路、６０  タイミングジェネレータ、７０  制御信号出力回路、
７２  読み出し回路、７４  画素カウンタ、７５  ラインカウンタ、
７７、７８  比較回路、８０  信号生成回路、８２  読み出しデータ保持回路、
８４  トグル回路、８６  ラッチ回路、９０  イベント情報メモリ、
１００  ターゲットレジスタ、１１０  外部インターフェース、
１５０  モニタ出力制御回路、１６０  マルチプレクサ
【図１】
2008278284.tif 000003
【図２】
2008278284.tif 000004
【図３】
2008278284.tif 000005
【図４】
2008278284.tif 000006
【図５】
2008278284.tif 000007
【図６】
2008278284.tif 000008
【図７】
2008278284.tif 000009
【図８】
2008278284.tif 000010
【図９】
2008278284.tif 000011
【図１０】
2008278284.tif 000012
【図１１】
2008278284.tif 000013
【図１２】
2008278284.tif 000014
【図１３】
2008278284.tif 000015
【図１４】
2008278284.tif 000016
【図１５】
2008278284.tif 000017
【図１６】
2008278284.tif 000018
【図１７】
2008278284.tif 000019
【図１８】
2008278284.tif 000020
【図１９】
2008278284.tif 000021
【図２０】
2008278284.tif 000022
【図２１】
2008278284.tif 000023
【図２２】
2008278284.tif 000024