(57)【要約】【課題】  シフトレジスタの走査という撮像に好適な手段を取り入れつつも、任意の行又は列をスキップすることが出来る走査回路を提供することを課題とする。【解決手段】  シフトレジスタを構成するために直列に接続される複数のレジスタ（３０１）と、複数のレジスタのそれぞれに対応して状態を記憶する複数の状態メモリ（３０２）と、複数のレジスタをそれぞれバイパスするための複数のバイパス回路（３０３〜３０６）とを有し、各バイパス回路は、それに対応するレジスタの状態メモリの記憶状態に応じて、それに対応するレジスタをバイパスする走査回路が提供される。【選択図】        図３
2006340090.tif 000002
【特許請求の範囲】
【請求項１】
シフトレジスタを構成するために直列に接続される複数のレジスタと、
前記複数のレジスタのそれぞれに対応して状態を記憶する複数の状態メモリと、
前記複数のレジスタをそれぞれバイパスするための複数のバイパス回路とを有し、
前記各バイパス回路は、それに対応するレジスタの状態メモリの記憶状態に応じて、それに対応するレジスタをバイパスすることを特徴とする走査回路。
【請求項２】
前記各バイパス回路は、それに対応するレジスタをバイパスするときには、それに対応するレジスタの状態メモリの記憶状態を保持したまま、それに対応するレジスタの出力を固定値にすることを特徴とする請求項１記載の走査回路。
【請求項３】
前記状態メモリは、それに対応するレジスタをバイパスするか否かの状態を記憶し、
前記各バイパス回路は、それに対応するレジスタの状態メモリがバイパスする状態を記憶するときには、それに対応するレジスタをバイパスし、それに対応するレジスタの出力を固定値にすることを特徴とする請求項２記載の走査回路。
【請求項４】
前記各バイパス回路は、それに対応するレジスタの状態メモリがバイパスしない状態を記憶し、かつその前段のレジスタの状態メモリがバイパスしない状態を記憶するときには、それに対応するレジスタにその前段のレジスタの出力を入力することを特徴とする請求項３記載の走査回路。
【請求項５】
前記各バイパス回路は、それに対応するレジスタの状態メモリがバイパスしない状態を記憶し、かつその前段のレジスタの状態メモリがバイパスする状態を記憶するときには、それに対応するレジスタにその前段のレジスタをバイパスした信号を入力することを特徴とする請求項４記載の走査回路。
【請求項６】
前記複数の状態メモリは、それぞれが直列に接続されたシフトレジスタ構成であることを特徴とする請求項１〜５のいずれか１項に記載の走査回路。
【請求項７】
前記状態メモリは、ＳＲＡＭで構成されることを特徴とする請求項１〜５のいずれか１項に記載の走査回路。
【請求項８】
前記状態メモリは、不揮発性メモリで構成されることを特徴とする請求項１〜５のいずれか１項に記載の走査回路。
【請求項９】
前記状態メモリに書き込むデータを伝達する動作と、通常の走査動作に、同一のシフトレジスタを用いることを特徴とする請求項７又は８記載の走査回路。
【請求項１０】
前記複数の状態メモリは、１走査周期に同期して状態を設定することを特徴とする請求項６記載の走査回路。
【請求項１１】
前記複数の状態メモリは、非走査期間に状態を設定することを特徴とする請求項６記載の走査回路。
【請求項１２】
前記複数の状態メモリの入力は、それぞれ複数のスイッチを介して共通のバス線に接続されることを特徴とする請求項１〜５のいずれか１項に記載の走査回路。
【請求項１３】
前記状態メモリは、ＲＯＭで構成されることを特徴とする請求項１〜５のいずれか１項に記載の走査回路。
【請求項１４】
前記状態メモリを、前記レジスタ一つあたりに二つ以上有し、かつ、前記複数の状態メモリのうち一つの出力を選択する選択回路を合わせて有することを特徴とする請求項１〜５のいずれか１項に記載の走査回路。
【請求項１５】
シフトレジスタを構成するために直列に接続される複数のレジスタと、前記複数のレジスタのそれぞれに対応して状態を記憶する複数の状態メモリと、前記複数のレジスタをそれぞれバイパスするための複数のバイパス回路とを有する走査回路の制御方法であって、
前記各バイパス回路は、それに対応するレジスタの状態メモリの記憶状態に応じて、それに対応するレジスタをバイパスするステップを有することを特徴とする走査回路の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、走査回路及びその制御方法に関し、特に撮像系に用いるのに好適な走査回路及びその制御方法に関する。
【背景技術】
【０００２】
ＣＭＯＳイメージセンサは、ランダムアクセスが可能であるという点で、CCDに対して優位性をもつ。たとえば、下記の特許文献１においては、行のアクセスにデコーダをもちいてランダムアクセスを実現する。
【０００３】
ただし、実際にランダムアクセスを可能にしようとすると、図１に示したように、アドレスデコーダ１０１を構成する必要がある。ただし、デコーダで構成するとすると、たとえば２０００行、２０００列のイメージセンサに対して、正方形で示した画素群一列もしくは一行を選択する際に、おのおの１１ビットの信号をデコードする様なデコーダ回路１０２を用意する必要があり、回路規模として現実的ではない。また、デコーダを制御するためのカウンタ１０３、およびランダムアドレスのためのアドレスポインタ１０４など、周辺回路なども必要となり、チップ面積の増大につながる。
【０００４】
【特許文献１】米国特許第５８４１１２６号明細書
【特許文献２】特開平５−２２７４８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
実使用上、イメージセンサがランダムアクセスを必要とする場面はほとんど無い。撮影という行為においては、上から下、右から左、のように、データを取得、出力する順番がほぼ決まっているので、ランダムアクセスではなく、「走査」という動作が好まれている。たとえば上記の特許文献２で述べられるような、図２のような構成を用いてシフトレジスタを用いて垂直方向、水平方向への走査を行う。
【０００６】
シフトレジスタを用いているので、ある行・列にアクセスした後は、必ずその次の行、列にアクセスする必要がある。たとえば図２においては、シフトレジスタ２段目２０１でＳｃａｎ２を出力し、そのブロックにアクセスした後には、シフトパルス入力２０２にてシフトパルスを入力してシフトレジスタ３段目２０３からＳｃａｎ３を出力する。
【０００７】
ここで、たとえば１行おきにスキップしてアクセスしたい、１列スキップしたらつぎは２列スキップしたい。もしくは、画面の上４分の１と下４分の１を読みたい、というような要望があったとしても、すべての行、もしくは列にアクセスしなくてはならないという点が現状の課題である。
【０００８】
本発明は、その課題を鑑み、シフトレジスタの「走査」という撮像に好適な手段を取り入れつつも、任意の行、列をスキップすることが出来る走査回路及びその制御方法を提案することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の走査回路は、シフトレジスタを構成するために直列に接続される複数のレジスタと、前記複数のレジスタのそれぞれに対応して状態を記憶する複数の状態メモリと、前記複数のレジスタをそれぞれバイパスするための複数のバイパス回路とを有し、前記各バイパス回路は、それに対応するレジスタの状態メモリの記憶状態に応じて、それに対応するレジスタをバイパスすることを特徴とする。
【００１０】
本発明の走査回路の制御方法は、シフトレジスタを構成するために直列に接続される複数のレジスタと、前記複数のレジスタのそれぞれに対応して状態を記憶する複数の状態メモリと、前記複数のレジスタをそれぞれバイパスするための複数のバイパス回路とを有する走査回路の制御方法であって、前記各バイパス回路は、それに対応するレジスタの状態メモリの記憶状態に応じて、それに対応するレジスタをバイパスするステップを有することを特徴とする。
【発明の効果】
【００１１】
シフトレジスタの走査という撮像に好適な手段を取り入れつつも、任意の行又は列をスキップすることが出来る。
【発明を実施するための最良の形態】
【００１２】
（第１の実施形態）
本発明の第１の実施形態を説明する。図３は、本実施形態の走査回路を構成する一例の、シフトレジスタのレジスタ一段分を抜き出した回路である。３０１は走査を司る、レジスタを構成するメインのフリップフロップである。３０２は、その段の状態、機能を記憶する状態記憶のためのフリップフロップである。３０３，３０４は経路を切り替えるための組み合わせ論理回路であり、それぞれ、回路３０９からの値を入力すると共に、論理回路３０５，３０６からの値を入力する。回路３０９は、１を入力するとフリップフロップ３０２の出力信号Ｑを出力し、０を入力すると１（ハイレベル）を出力する。フリップフロップ３０２は、自身の状態記憶素子の値を出力する。論理回路３０５，３０６は、隣接の状態記憶素子からの出力と自身の状態記憶素子の出力を受けて状態記憶素子のメモリ値の変化を検知する。ここで、３０３は、レジスタ３０１の入力を制御する回路であり、レジスタの入力をローレベルに固定するか、前段のシフトレジスタからの出力３０７を受けるか、前段のシフトレジスタをバイパスした出力３０８を受けるかを制御する。また、３０４は、次段のバイパス入力部に、前段のシフトレジスタからの出力３０７を接続するか、もしくは前段のバイパスからの値３０８を受けるかを選択する。
【００１３】
３０９は、状態記憶素子の内容を保持したまま、その出力をハイレベルで乗っ取るための回路である。本回路は状態記憶素子の出力がすべてハイレベルの場合、通常のシフトレジスタとして動作する。たとえば通常のシフトレジスタ動作に切り替えたい場合、状態メモリをクリアせずとも、３０９を制御し、あたかも状態記憶素子からハイレベルが出ているように扱うことで同等の機能が瞬時に実現できるようになる。
【００１４】
図３のシフトレジスタの１段分を複数接続すると、図４のシフトレジスタの走査回路が構成される。図３において、フリップフロップ３０２は、０を記憶するときにはシフトレジスタ３０１のシフトを無効にしてスキップすることを意味し、１を記憶するときにはシフトレジスタ３０１のシフトを有効にすることを意味する。回路３０９には、１を入力するとフリップフロップ３０２の記憶状態に応じたシフトレジスタ３０１のシフトを行い、０を入力するとフリップフロップ３０２の記憶状態に関係なく常にシフトレジスタ３０１のシフトを行う。すなわち、回路３０９に０を入力すると、図４のシフトレジスタは通常のシフトレジスタとして動作する。回路３０９は、１を入力するとフリップフロップ３０２の出力信号Ｑを出力し、０を入力すると１（ハイレベル）を出力する。１０検出回路３０６は、図４に示すように前段の回路３０９の出力信号が１であり、かつ自己の段の回路３０９の出力信号が０であるときに、「１０」を検出したとしてハイレベルを出力する。０１検出回路３０５は、図４に示すように前段の回路３０９の出力信号が０であり、かつ自己の段の回路３０９の出力信号が１であるときに、「０１」を検出したとしてハイレベルを出力する。信号３０７は、前段のフリップフロップ３０１の出力信号である。信号３０８は、前段の回路３０４の出力信号である。論理回路３０４は、１０検出回路３０６からハイレベルを入力すると信号３０７を出力し、それ以外の時、回路３０９の出力信号が０のときには信号３０８を出力し、回路３０９の出力信号が１のときには出力をハイインピーダンス状態にする。論理回路３０３は、０１検出回路３０５からハイレベルを入力すると信号３０８を出力し、それ以外の時、回路３０９の出力信号が１のときには信号３０７を出力し、回路３０９の出力信号が０のときには０（グランド：ローレベル）を出力する。フリップフロップ３０１は、クロックに同期して、入力信号Ｄをラッチして記憶し、その記憶した信号を出力信号Ｑとして出力する。
【００１５】
次に、具体的な動作の一例を図４を用いて説明する。４０１からシフトレジスタ開始信号を与えるが、そのとき、状態メモリ群４０２に「０１１０１」のようなパターンが与えられているとする。ここでは０を「スキップ」、１を「シフトレジスタでシフト」としている。かつ、状態メモリ群４０２はシフトレジスタになっている。まず回路４０３では状態メモリ３０２からのゼロを検知し、バイパスを経由してデータが通過するようにする。そのときに回路４０４では、当該シフトレジスタ３０１の入力を非活性化させるためにローレベルがフリッププロップ３０１に入力されるようにする。そのフリップフロップ３０１の出力信号Ｑは０になる。
【００１６】
次に、次段の回路４０５においては、前段の状態メモリ３０２の０及び自身の状態メモリ３０２の１を検知し、スキップの経路を本来の経路につなぎ代えるようにするために、出力をハイインピーダンスにする。回路４０６では、前段の状態メモリ３０２の０と自身の状態メモリの１を検知し、前段のバイパスからの信号３０８を出力する。
【００１７】
次の段のシフトレジスタの回路４０７においては、自身の状態メモリ３０２の１を検知し、バイパス経路を切断して出力をハイインピーダンスにする。回路４０８においては、自身の状態メモリ３０２の１を検知し、前段のシフトレジスタの信号３０７を出力するように接続を変更する。
【００１８】
その次の段の回路４０９においては、前段の状態メモリ３０２の１と自己の状態メモリ３０２の０を検知し、シフトレジスタからバイパスへの経路を有効にするため、前段のシフトレジスタの信号３０７を出力する。併せて回路４１０においては、自己の状態メモリ３０２の０を検知し、もはやシフトレジスタ３０１は動作させないのでその出力をローレベルに固定している。そのシフトレジスタ３０１の出力信号Ｑは０（ローレベル）になる。
【００１９】
最後の段においては、前段の状態メモリ３０２の０及び自身の状態メモリ３０２の１の検出であり、前述の動作と同様であるためにその説明は割愛する。格段のシフトレジスタ３０１の出力が走査回路の出力となる。
【００２０】
図３の３０９は状態レジスタ３０２の出力を乗っ取る（無効にする）ための回路である。回路３０９に０が入力されると、全段の回路３０９は１を出力する。すると、全段の回路３０４は出力をハイインピーダンス状態にし、全段の回路３０３は前段のシフトレジスタの信号３０７を出力する。その結果、全段のシフトレジスタ３０１が有効となり、通常のシフトレジスタとして動作する。すなわち、シフトレジスタ３０１群は、クロックに同期して、出力を次段にシフトさせる。
【００２１】
以上のように、複数のレジスタ３０１は、シフトレジスタを構成するために直列に接続される。複数の状態メモリ３０２は、複数のレジスタ３０１のそれぞれに対応して状態を記憶する。回路３０３〜３０６は、バイパス回路を構成する。複数のバイパス回路３０３〜３０６は、複数のレジスタ３０１をそれぞれバイパスするための回路である。各バイパス回路３０３〜３０６は、それに対応するレジスタ３０１の状態メモリ３０２の記憶状態に応じて、それに対応するレジスタをバイパスする。
【００２２】
各バイパス回路３０３〜３０６は、それに対応するレジスタ３０１をバイパスするときには、それに対応するレジスタ３０１の状態メモリ３０２の記憶状態を保持したまま、それに対応するレジスタ３０１の出力Ｑを固定値（例えば０）にする。
【００２３】
状態メモリ３０１は、それに対応するレジスタ３０１をバイパスするか否かの状態を記憶する。１はバイパスしない状態を示し、０はバイパスする状態を示す。各バイパス回路３０３〜３０６は、それに対応するレジスタ３０１の状態メモリ３０２がバイパスする状態を記憶するときには、それに対応するレジスタ３０１をバイパスし、それに対応するレジスタ３０１の出力を固定値にする。
【００２４】
各バイパス回路３０３〜３０６は、それに対応するレジスタ３０１の状態メモリ３０２がバイパスしない状態を記憶し、かつその前段のレジスタ３０１の状態メモリ３０２がバイパスしない状態を記憶するときには、それに対応するレジスタ３０１にその前段のレジスタ３０１の出力３０７を入力する。
【００２５】
各バイパス回路３０３〜３０６は、それに対応するレジスタ３０１の状態メモリ３０２がバイパスしない状態を記憶し、かつその前段のレジスタ３０１の状態メモリ３０２がバイパスする状態を記憶するときには、それに対応するレジスタ３０１にその前段のレジスタ３０１をバイパスした信号３０８を入力する。
【００２６】
複数の状態メモリ３０２は、それぞれが直列に接続されたシフトレジスタ構成であり、１走査周期に同期して状態を設定し、非走査期間に状態を設定する。
【００２７】
本実施形態の効果は明らかであり、バイパスと本来のパスを並列に並べ、データがどちらのパスを通るかを自由に設定できるような回路を用い、その指示を状態記憶素子３０２に行わせることにより、今まで不可能だった、シフトレジスタを用いた任意のパターンでのスキップや切り出しが可能になった。
【００２８】
ここで、本回路例においては、段数を５段とした例を説明したが、本例には限らず、何段あっても良い。
【００２９】
また、本回路例においては、状態記憶素子３０２をシフトレジスタで構成している。そのシフトレジスタに値を書き込むのは、たとえばシフトレジスタの初期化時や、もしくは一度走査を終えたタイミングなど、ユーザーの望むタイミングで行うことが出来る。また、シフトレジスタの特徴である、値のシフト、という機能を用いて、選択されるウインドウやスキップのパターンをシフトすることも可能である。本回路例では一方向のシフトしか出来ないが、世の中に存在する両方向シフト可能なシフトレジスタを用いてもよい。
【００３０】
また、状態記憶素子へ割り当てられる面積が少ない場合や、状態記憶素子の書き換えの頻度が少なくてもよい場合などは、シフトレジスタの変わりにＳＲＡＭや不揮発性メモリを用いればよい。ＳＲＡＭや不揮発性メモリへ書き込み制御信号を伝える手段は多々あるが、本発明においては、走査動作に用いるシフトレジスタに、ＳＲＡＭや不揮発性メモリに書き込みたい値を記憶させ、その後に記憶させたデータをＳＲＡＭや不揮発性メモリに記憶させることによって、状態記憶素子専用のデコーダを省略することができ、省面積化が可能となる。
【００３１】
また、状態記憶素子の書き換えが不要な場合、つまりは、全行スキャンと、ある決まったパターンの切り替えしか行わない場合は、状態記憶素子をＲＯＭ化することで回路の省面積化が可能となる。また、前述の決まったパターンが複数存在する場合、ＲＯＭをシフトレジスタの一段あたり複数もたせて、どのＲＯＭによってシフトレジスタのスキップ動作を制御するかを外部からコントロールすることで、複数の決まったパターンの走査を実現することができる。
【００３２】
また、シフトレジスタやＳＲＡＭ、不揮発性メモリなど、書き換え可能な状態記憶素子を用いた場合でも、一段のシフトレジスタあたりに複数の状態記憶素子を持たせ、どの素子で動作をけっていするかを外部から制御することによって、瞬時にスキップのパターンが変更でき、スキップのパターンの書き換え時間が無い場合においてもパターン変更が可能となる。
【００３３】
また、回路３０９は、状態レジスタ３０２の出力を乗っ取るような動作をしなくても良い場合、省略可能である。
【００３４】
またここで注目したいのは、状態記憶素子群４０２に蓄えられた「０１１０１」という情報自身が、スキップする、しないの情報になっている点である。ゆえに、たとえば状態レジスタのゼロという値をデコードしてその値を制御に使うことで、スキップしているブロックたちに限定した特別の処理を行うことが出来る。
【００３５】
（第２の実施形態）
本発明の第２の実施形態を図５を用いて説明する。複数の状態メモリ３０２で構成されるフリップフロップ群４０２は、複数の選択スイッチ５０１を介して共通のバス線に接続されている。第１の実施形態においてはシフトレジスタ構成となっており、初期化に所定のシフトが必要であった。本実施形態では、選択スイッチ５０１を介してフリップフロップ群４０２にランダムアクセスが可能なため、ある一部を一気に書き換えたりすることが可能となる。
【００３６】
本実施形態により、任意のスキップが可能、という効果に加え、状態レジスタの初期化手法の自由度が増すという効果を得ることが出来る。
【００３７】
以上のように、第１及び第２の実施形態によれば、シフトレジスタにてその走査を制御する走査回路において、前記シフトレジスタを構成する各レジスタはおのおの状態メモリと、各レジスタをバイパスする回路を有し、前記状態メモリの内容と、隣接するレジスタの有する状態メモリの内容に応じ、前記各レジスタの入出力とバイパスの入出力を変更する回路を有することを特徴とする。
【００３８】
シフトレジスタの「走査」という撮像に好適な手段を取り入れつつも、任意の行、列をスキップすることが出来る走査回路を実現する。すなわち、シフトレジスタの任意の位置での経路バイパス、およびバイパス解除が可能となり、ユーザーの求めるいかなるスキップも可能な走査回路が実現できる。
【００３９】
また、上記走査回路によれば、状態メモリの内容は保持したまま、その出力をある規定値に変更する回路を有することを特徴とする。このような走査回路によれば、たとえばスキップを一瞬解除し、その後すぐまたスキップを行いたいような場合において、状態メモリをクリアする必要がないので、高速な状態変化、また状態復帰が可能となる。
【００４０】
また、上記走査回路によれば、前記シフトレジスタの各レジスタは、おのおのデコーダ回路に接続されており、かつ前記状態メモリの出力が前記デコーダ回路に接続されていることを特徴とする。このような走査回路によれば、シフト信号のみならず、状態メモリの値を用いて走査信号を生成することが出来、たとえばスキップされる行・列、されない行・列に特有の制御を行う回路が実現できる。
【００４１】
また、上記走査回路によれば、前記各レジスタを構成する状態メモリはシフトレジスタ構成であることを特徴とする。このような走査回路によれば、状態メモリの初期化に必要な回路が劇的に軽減でき、チップ面積の減少につながる。
【００４２】
また、上記走査回路によれば、前記状態メモリを構成するシフトレジスタを、走査回路の一走査周期に同期して制御することを特徴とする。このような走査回路の駆動方法によれば、一走査おきにスキップのパターンを変更することが出来、たとえば走査ウインドウの移動などに用いることが出来る。
【００４３】
また、上記走査回路によれば、前記各レジスタを構成する状態メモリの入力は共通のバス線に接続されることを特徴とする。このような走査回路によれば、任意の状態メモリを任意の順番で変更でき、柔軟な設定が可能となる。
【００４４】
また、上記走査回路の駆動方法によれば、前記状態メモリを構成するシフトレジスタを、非走査期間に初期設定することを特徴とする。このような走査回路の駆動方法によれば、撮像など、本動作に影響なく状態メモリを初期化することが出来る。
【００４５】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【図面の簡単な説明】
【００４６】
【図１】従来例を説明するための図である。
【図２】従来例を説明するための図である。
【図３】第１の実施形態によるシフトレジスタ段を説明する図である。
【図４】第１の実施形態による走査回路を説明する図である。
【図５】第２の実施形態による走査回路を説明する図である。
【符号の説明】
【００４７】
３０１  レジスタ
３０２  状態メモリ
３０３，３０４，３０９  スイッチング回路
３０５  ０１検出回路
３０６  １０検出回路
３０７  レジスタ出力信号
３０８  バイパス信号
４０１  シフトレジスタ開始信号端子
４０２  状態メモリ群
４０３〜４１０  バイパス回路
【図１】
2006340090.tif 000003
【図２】
2006340090.tif 000004
【図３】
2006340090.tif 000005
【図４】
2006340090.tif 000006
【図５】
2006340090.tif 000007