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