(57)【要約】【課題】複数のレンズ及び複数の撮像素子を備える全方位撮像装置などの撮像装置において、撮像素子の数に伴う画像処理用ハードウエアの増加を抑制すると共にデータハンドリングの簡素化を図る。【解決手段】撮像ユニット１０はレンズ（魚眼レンズ等）１１，１２及び撮像素子１３，１４を有する。画像処理ユニット２０は、撮像素子１３，１４から出力される画像データをそれぞれ格納する、これら撮像素子に対応するバッファメモリ（ラインメモリ）２１０，２２０と、これらバッファメモリ２１０，２２０に格納された画像データをライン単位で時分割に読み出して所定の画像処理を施す単一の画像処理回路２５０とを有する。【選択図】図３
2013214952.tif 000002
【特許請求の範囲】
【請求項１】
複数のレンズと前記複数のレンズに対応する複数の撮像素子を用いて被写体を撮像する撮像装置において、
前記複数の撮像素子から出力される画像データをそれぞれ格納する、前記複数の撮像素子に対応する複数のバッファメモリと、
前記複数のバッファメモリに格納された画像データを時分割に読み出して所定の画像処理を施す単一の画像処理手段と、
を有することを特徴とする撮像装置。
【請求項２】
前記複数のバッファメモリは、それぞれ最大２ライン分のラインメモリで構成されることを特徴とする請求項１に記載の撮像装置。
【請求項３】
複数のレンズと前記複数のレンズに対応する複数の撮像素子を用いて被写体を撮像する撮像装置において、
前記複数の撮像素子から出力される画像データをそれぞれ格納する、前記複数の撮像素子に対応する複数のバッファメモリと、
前記複数のバッファメモリに格納された画像データを時分割に読み出すバッファメモリ読出し手段と、
前記複数のバッファメモリから時分割に読み出された、前記複数の撮像素子に対応する画像データに対して所定の画像処理を施す単一の画像処理手段と、
前記複数の撮像素子から出力される画像データの出力タイミングの同期を監視して、前記バッファメモリ読出し手段のバッファメモリ読出し開始を制御する同期検出手段と、
を有することを特徴とする撮像装置。
【請求項４】
前記複数のバッファメモリは、それぞれｎライン分（ｎ≧２の整数）のラインメモリを有し、
前記同期検出手段は、前記複数の撮像素子の画像データの同期ずれがｎライン以内である条件下で、前記複数の撮像素子の同一ラインの画像データが前記複数のバッファメモリに揃ったタイミングで、前記バッファメモリ読出し手段に対してバッファメモリ読出し開始を指示する、
ことを特徴とする請求項３に記載の撮像装置。
【請求項５】
前記同期検出手段は、前記複数の撮像素子の画像データの同期ずれがｎラインを超えた際には同期ずれを出力することを特徴とする請求項４に記載の撮像装置。
【請求項６】
前記同期検出手段が同期ずれを出力した場合、前記複数の撮像素子の画像データの出力タイミングの同期をとる同期制御手段を有することを特徴とする請求項５に記載の撮像装置。
【請求項７】
前記複数のバッファメモリの読出しクロックの周波数は、書込みクロックの周波数のｍ倍（ｍ≧２）以上であることを特徴とする請求項１乃至６のいずれか１項に記載の撮像装置。
【請求項８】
前記複数のレンズは魚眼レンズであり、前記複数の撮像素子は、それぞれ前記魚眼レンズによる撮像画像を包含する所定領域の画像データを出力することを特徴とする請求項１乃至７のいずれか１項に記載の撮像装置。
【請求項９】
前記複数の撮像素子は、それぞれ前記魚眼レンズによる撮像画像に接する正方形の領域の画像データを出力することを特徴とする請求項８に記載の撮像装置。
【請求項１０】
前記複数の撮像素子は、それぞれ前記魚眼レンズによる撮像画像の領域に合わせて、ｋライン（ｋ＝１〜最大垂直ライン数）毎に水平データ領域を段階的に変更して画像データを出力することを特徴とする請求項８に記載の撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のレンズと複数の撮像素子を用いて被写体を撮像する撮像装置に関する。
【背景技術】
【０００２】
従来から、複数のレンズと複数の撮像素子（ＣＣＤセンサ、ＣＭＯＳセンサ等）を用いて全方位（いわゆる３６０度）の被写体を撮像し、該撮像して得られた複数の画像データについて合成処理を行い、パノラマ画像等を生成する全方位撮像装置が知られている。
【０００３】
しかしながら、従来の全方位撮像装置では、撮像素子の数だけ画像処理回路を備えて、複数のレンズと複数の撮像素子を用いて撮像された複数の画像データについて、それぞれ撮像素子対応の複数の画像処理回路で黒レベル補正、色補間、欠陥画素補正、その他、必要な画像処理を行っている。このように、複数の撮像素子の画像データを複数の画像処理回路で別々に扱うためにデータハンドリングが煩雑となる。さらに、撮像素子の数に伴い画像処理のハードウエア量が多く必要となるためコストアップとなる。
【０００４】
例えば、特許文献１には、複数のイメージセンサ（撮像素子）、複数の画像プロセッサ（画像処理回路）、画像ポストプロセッサ、及びネットワークインタフェース等で構成された多重センサパノラマネットワークカメラが記載されており、画像処理回路がイメージセンサの数だけ存在している。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、複数の撮像素子を使用する全方位撮像装置等の撮像装置において、複数の画像データを別々に扱うことによるデータバンドリングの煩雑化を解決するとともに、信頼性の向上を図る。また、撮像素子の数に伴う画像処理用ハードウエアの増加によるコストアップを解決する。
【課題を解決するための手段】
【０００６】
本発明は、複数のレンズと前記複数のレンズに対応する複数の撮像素子を用いて被写体を撮像する撮像装置において、前記複数の撮像素子から出力される画像データをそれぞれ格納する、前記複数の撮像素子に対応する複数のバッファメモリと、前記複数のバッファメモリに格納された画像データを時分割に読み出して所定の画像処理を施す単一の画像処理手段とを有することを主要な特徴とする。
【０００７】
また、本発明は、複数の撮像素子を有する撮像装置において、複数の撮像素子から出力される画像データをそれぞれ格納する、複数の撮像素子に対応する複数のバッファメモリと、複数のバッファメモリに格納された画像データを時分割に読み出すバッファメモリ読出し手段と、複数のバッファメモリから時分割に読み出された、複数の撮像素子に対応する画像データに対して所定の画像処理を施す単一の画像処理手段と、複数の撮像素子の画像データの出力タイミングの同期を監視して、前記バッファメモリ読出し手段のバッファメモリ読出し開始を制御する同期検出手段とを有することを特徴とする。
【発明の効果】
【０００８】
本発明の撮像装置によれば、複数の撮像素子に対応した複数の画像処理手段が不要であり、コストアップを抑制することができる。また、単一の画像処理手段を使用することにより、複数の撮像素子の画像データを単一の画像素子の画像データとして扱うことが可能になり、データハンドリングの煩雑化が解消される。
さらに、同期検出手段を使用することにより、複数の画像素子の同一ラインの画像データが正しく画像処理手段に送ることができるため、信頼性が向上する。
【図面の簡単な説明】
【０００９】
【図１】本発明の撮像装置の一実施形態に係る全方位撮像装置の概略図である。
【図２】本実施形態に係る全方位撮像装置の処理系の全体的構成図である。
【図３】図２中の画像ユニットの第１の実施例の詳細構成図である。
【図４】第１の実施例の画像データの転送の様子を説明する図である。
【図５】図２中の画像処理ユニットの第２の実施例の詳細構成図である。
【図６】第２の実施例の画像データの転送の様子を説明する図である。
【図７】第２の実施例のバッファメモリ内の画像データの格納の様子を説明する図である。
【図８】撮像素子内の画像センサのデータ領域と魚眼レンズによる撮像画像の領域の関係を説明する図である。
【図９】撮像素子から画像データを出力する方法の具体例を説明する図である。
【図１０】撮像素子から画像データを出力する方法の他の具体例を説明する図である。
【発明を実施するための形態】
【００１０】
以下、実施形態について図面にもとづいて説明する。実施形態では、撮像装置は２つのレンズ（魚眼レンズ）と２つの撮像素子を使用した全方位撮像装置とするが、一般にレンズ及び撮像素子は２つ以上いくつでもよく、また、対象とする撮像装置は必ずしも全方位撮像装置である必要はない。一般にレンズとしては、画角が１２０度以上の広角レンズや超広角レンズ、魚眼レンズを用いることが望まれるが、実施形態では、画角が１８０度以上の魚眼レンズとする。
【００１１】
図１に、一実施形態に係る全方位撮像装置の概略図を示す。この全方位撮像装置は、各々半球画像を結像するための１８０度以上の画角を有する２つの魚眼レンズ１１，１２、これら魚眼レンズ１１，１２による半球画像の結像位置にそれぞれ設けられた２つの撮像素子１３，１４を備えている。ここで、魚眼レンズ１１，１２は筐体１上に互いに背面対向して配置されて、全方位（３６０度）の被写体を撮像する。撮像素子１３，１４は筐体１内に収容されている。
【００１２】
なお、筐体１上には、種々の操作ボタンや電源スイッチ、シャッタボタンなどの操作部（不図）が設けられている。また、筐体１内には、撮像素子１３，１４のほかに、これら撮像素子１３，１４から出力される画像データを処理するための画像処理ユニット、撮像素子１３，１４の動作を制御するための撮像制御ユニット、撮像装置全体の動作を制御するＣＰＵ、メモリ等を搭載した基板類が収容されている。
【００１３】
図２は、本実施形態に係る全方位撮像装置の処理系の全体的構成図である。図２において、魚眼レンズ１１，１２と撮像素子１３，１４をまとめて撮像ユニット（撮像部）１０と称することにする。撮像素子１３，１４は、魚眼レンズ１１，１２による光学像を電気信号の画像データに変換して出力するＣＭＯＳセンサやＣＣＤセンサなどの画像センサ、該画像センサの水平／垂直同期信号や画素クロックなどを生成するタイミング生成回路、当該撮像素子の動作に必要な種々のコマンド、パラメータなどが設定されるレジスタ群などを有している。
【００１４】
撮像ユニット１０の撮像素子１３，１４は、各々、画像処理ユニット２０とはパラレル
Ｉ／Ｆバスで接続されている。また、撮像ユニット１０の撮像素子１３、１４は、各々、撮像制御ユニット３０とは、別途、シリアルＩ／Ｆバス（Ｉ２Ｃバス等）で接続されている。画像処理ユニット２０及び撮像制御ユニット３０は、バス１００を介してＣＰＵ４０と接続される。さらに、バス１００には、ＲＯＭ５０、ＳＲＡＭ６０、ＤＲＡＭ７０、操作部８０、外部Ｉ／Ｆ回路９０などが接続される。
【００１５】
画像処理ユニット２０は、撮像素子１３，１４から出力される画像データをパラレルＩ／Ｆバスを通して取り込み、それぞれの画像データに対して所定の処理を施した後、これらの画像データを合成処理して全方位画像データを生成する。本発明は、特にこの画像処理ユニット２０に関する。この画像処理ユニット２０としては、後述するように２つの実施例が考えられる。
【００１６】
撮像制御ユニット３０は、一般に撮像制御ユニット３０自身をマスタデバイス、撮像素子１３，１４をスレーブデバイスとして、Ｉ２Ｃバスを利用して、撮像素子１３，１４のレジスタ群にコマンド等を設定する。必要なコマンド等は、ＣＰＵ４０から受け取る。また、該撮像制御ユニット３０は、同じくＩ２Ｃバスを利用して、撮像素子１３，１４のレジスタ群のステータス・データ等を取り込み、ＣＰＵ４０に送る。さらに、撮像制御ユニット３０は、操作部８０のシャッタボタンが押下されたタイミングで、撮像素子１３，１４に画像データの出力を指示する。
【００１７】
全方位撮像装置によっては、ディスプレイによるプレビュー表示機能や動画表示に対応する機能を持つ場合もある。その場合は、撮像素子１３，１４からの画像データ出力は、所定のフレームレート（フレーム／分）にて連続して行われる。
【００１８】
ＣＰＵ４０は、当該全方位撮像装置の全体の動作を制御すると共に必要な処理を実行する。ＲＯＭ５０は、ＣＰＵ４０のための種々のプログラムを記憶している。ＳＲＡＭ６０及びＤＲＡＭ７０はワークメモリであり、ＣＰＵ４０で実行するプログラムや処理途中のデータ等を記憶する。ここで、ＤＲＡＭ７０は、画像処理ユニット２０での処理途中の画像データや処理済みの全方位画像データを記憶するのにも利用される。
【００１９】
操作部８０は、種々の操作ボタンや電源スイッチ、シャッタボタン、表示と操作の機能を兼ねたタッチパネルなどの総称である。ユーザは操作ボタンを操作することで、種々の撮影モードや撮影条件などを入力する。
【００２０】
外部Ｉ／Ｆ回路９０は、外付けメモリ（ＳＤカード、フラッシュメモリ等）やパーソナルコンピュータなどとのインターフェース回路（ＵＳＢＩ／Ｆ等）の総称である。また、外部Ｉ／Ｆ回路９０としては、無線、有線を問わずにネットワークインタフェースである場合も考えられる。ＤＲＡＭ７０に記憶された全方位画像データは、該外部Ｉ／Ｆ回路９０を介して外付けメモリに蓄積されたり、必要に応じて、ネットワークＩ／Ｆとなる外部Ｉ／Ｆ回路９０を介してパーソナルコンピュータや、スマートフォン等に転送される。
【００２１】
以下に、本実施形態の主要部である画像処理ユニット２０の二つの実施例に係る具体的構成、動作について詳述する。
【００２２】
図３は、画像処理ユニット２０の第１の実施例の詳細構成図である。この画像処理ユニット２０は、撮像素子１３に対応するバッファメモリ２１０、撮像素子１４に対応するバッファメモリ２２０、単一の画像処理回路（画像処理手段）２５０、画像合成回路２６０、バスＩ／Ｆ回路２７０、及び、画像処理回路２５０と画像合成回路２６０とバスＩ／Ｆ回路２７０を接続する内部バス２８０から構成される。バスＩ／Ｆ回路２７０は、図２のバス１００と接続される。
【００２３】
なお、撮像素子１３，１４は、それぞれ画像データと同時に、水平／垂直同期信号、画素クロック信号等も出力している。これら信号は、バッファメモリ２１０，２２０や画像処理回路２５０に供給される。
【００２４】
バッファメモリ２１０，２２０はラインメモリで、書込みと読出しが独立に動作する構成とする。また、これらバッファメモリ２１０，２２０の書込みと読出しのクロックは異なる周波数とし、読出しクロックの周波数は、書込みクロックの周波数のｍ倍（ｍ≧２）以上とする。このように読出しクロックを、書き込みクロックの周波数のｍ倍であれば、読み出す前にバッファメモリに上書きされない。また、倍数によって、ラインメモリ数を決定することが可能である。
【００２５】
バッファメモリ（ラインメモリ）２１０，２２０は、それぞれ撮像素子１３，１４から出力される画像データを順次格納する。一方、画像処理回路２５０は、これらバッファメモリ２１０，２２０に格納された画像データをそれぞれ１ライン単位あるいはそれ以下の所定のグループ単位で交互に時分割で読み出す。そして、画像処理回路２５０は、これらバッファメモリ２１０，２２０から時分割に読み出した撮像素子１３，１４の各画像データについてまとめて、順次、リアルタイムに所定の画像処理を施していく。この画像処理回路２５０での画像処理には、黒レベル補正、色補正、欠陥画素補正、ホワイトバランス補正等がある。
【００２６】
画像処理回路２５０でまとめて画像処理された撮像素子１３，１４の画像データは、バスＩ／Ｆ回路２７０を介してＤＲＡＭ７０に転送される。このＤＲＡＭ７０に転送された撮像素子１３，１４の画像データは、各撮像素子１３，１４毎に分離されて、ＤＲＡＭ７０内の各撮像素子１３，１４に対応する記憶領域にそれぞれ書き込こまれる。
【００２７】
なお、画像処理回路２５０での画像処理には、レンズ収差補正（色収差／歪曲収差補正）のように、撮像素子１３，１４の画像データをまとめて処理できないものもある。これについては次のようにして処理すればよい。各撮像素子１３，１４の１画面分の処理済み画像データがＤＲＡＭ７０に格納されたならば、ＣＰＵ４０が、これら撮像素子１３，１４の１画面分の画像データをＤＲＡＭ７０から順次読み出して、画像処理回路２５０に転送する。画像処理回路２５０は、これら撮像素子１３，１４の１画面分の画像データについて、順次、レンズ収差補正などの所定の画像処理を行い、再びＤＲＡＭ７０に書き込むようにする。
【００２８】
画像合成回路２６０は、バスＩ／Ｆ回路２７０を介して、ＤＲＡＭ７０から所定の画像処理が施された各撮像素子１３，１４の画像データを取り込んで合成処理する。ＤＲＡＭ７０には、撮像素子１３，１４でそれぞれ撮影して得られた２つの半球画像データが、所定の画像処理が施されて格納されている。この２つの半球画像データは、先に述べたように画角が１８０度以上を有した画像データであるため、互いにオーバーラップ領域を有している。画像合成回路２６０は、この２つの半球画像データについて、互いのオーバーラップ領域をもとに合成して全方位画像データを生成する。
【００２９】
この画像合成回路２６０で生成された全方位画像データは、バスＩ／Ｆ回路２７０を介して再度、ＤＲＡＭ７０に格納される。その後、全方位画像データは、ＤＲＡＭ７０から外部Ｉ／Ｆ回路９０を介して外付けメモリに蓄積されたり、必要に応じて、ネットワークＩ／Ｆとなる外部Ｉ／Ｆ回路９０を通して、パーソナルコンピュータ等に転送される。
【００３０】
なお、画像合成回路２６０では全方位画像データとしてメルカトル画像を生成し、ＣＰＵ４０がこのメルカトル画像を全方位パノラマ画像（全天球バノラマ画像）に幾何変換することでもよい。
【００３１】
図４は本実施例における画像データの転送の様子を示した図である。なお、図４中の各信号は横軸を時間軸として書かれている。
【００３２】
図４において、Ｖｓｙｎｃは垂直同期信号であり、２次元画像の１ページの先頭に１回だけ、撮像素子１３，１４から出力される。Ｈｓｙｎｃは水平同期信号であり、１ページの各ラインの先頭に、撮像素子１３，１４から出力される。ＤＥはデータイネーブル信号（データ有効を示す）であり、同じく、撮像素子１３，１４から出力される。Ａ（１），Ａ（２），Ａ（３），・・・は、撮像素子１３から出力される各ラインの画像データであり、Ｂ（１），Ｂ（２），Ｂ（３），・・・は、撮像素子１４から出力される各ラインの画像データである。なお、撮像素子１３，１４からは画素クロックも出力される。
【００３３】
撮像素子１３から出力される画像データＡ（１），Ａ（２），Ａ（３）は、一旦、バッファメモリ（ラインメモリ）２１０に順次格納される。同様に、撮像素子１４から出力される画像データＢ（１），Ｂ（２），Ｂ（３）・・・は、一旦、バッファメモリ（ラインメモリ）２２０に順次格納される。これら撮像素子１３，１４から出力される画像データＡ（１），Ｂ（１），Ａ（２），Ｂ（２），Ａ（３），Ｂ（３），・・・は同期している。
【００３４】
バッファメモリ２１０，２２０に格納された画像データは、画像処理回路２５０によってそれぞれ１ライン単位で交互に時分割で読み出される。すなわち、画像処理回路２５０は、まず、バッファメモリ２１０から画像データＡ（１）を読み出し、引き続いてバッファメモリ２２０から画像データＢ（１）を読み出す。以下、同様にして、画像処理回路２５０は、バッファメモリ２１０，２２０から画像データＡ（２）とＢ（２），Ａ（３）とＢ（３），・・・というように読み出す。そして、画像処理回路２５０では、バッファメモリ２１０，２２０から読み出した画像データＡ（１）とＢ（１），Ａ（２）とＢ（２），Ａ（３）とＢ（３），・・・に対して、順次、リアルタイムに所定の画像処理を施して出力していく。
【００３５】
先に述べたように、バッファメモリ２１０，２２０の読出しクロックの周波数は、書込みクロックの周波数のｍ倍（ｍ≧２）以上である。ここで、例えば、ｍ＝２とする。この場合、バッファメモリ２１０，２２０は、それぞれ略２ライン分のラインメモリで十分である。これで、バッファメモリ２１０，２２０にそれぞれ格納されたｉラインの画像データＡ（ｉ），Ｂ（ｉ）が、次の（ｉ＋１）ラインの画像データＡ（ｉ＋１），Ｂ（ｉ＋１）で上書きされる前に、画像処理回路２５０によって読み出すことができる（ｉ＝１，２，・・・，ｎ）。ｍを３以上とすると、バッファメモリ２１０，２２０は、それぞれ２ライン未満とすることができる。すなわち、バッファメモリ２１０，２２０は、それぞれ最大２ライン分のラインメモリで十分である。
【００３６】
本実施例によれば、複数（実施例では２つ）の撮像素子の画像データを単一の画像処理回路で１つのデータとして処理することで、各撮像素子対応の画像処理回路が不要であり、画像処理回路のハードウエア数を削減することができる。また、各撮像素子対応にバッファメモリが必要であるが、バッファメモリは画像処理回路に比べて簡単な構成であり、また、読出しクロックの周波数と、書き込みクロックの周波数の関係から高々２ラインあるいはそれ以下のラインメモリでよく、画像処理回路の増加に比べてコストアップを抑制することができる。
【００３７】
図５は、画像処理ユニット２０の第２の実施例の詳細構成図である。先の第１の実施例の場合、撮像素子１３，１４から出力される画像データの出力タイミングがずれていると、画像処理回路２５０において、これら撮像素子１３，１４の同一ラインの画像データをバッファ（ラインメモリ）２１０，２２０から正しく読み出すことができなくなる。第２の実施例は、撮像素子１３，１４から出力される画像データの出力タイミングが多少ずれていても、撮像素子１３，１４の同一ラインの画像データが画像処理回路２５０で取り込めるようにするものである。
【００３８】
図５において、画像処理ユニット２０は、撮像素子１３に対応するバッファメモリ２１０、撮像素子１４に対応するバッファメモリ２２０、バッファメモリ読出し回路（バッファメモリ読出し手段）２３０、同期検出回路（同期検出手段）２４０、単一の画像処理回路（画像処理手段）２５０、画像合成回路２６０、バスＩ／Ｆ回路２７０、及び、画像処理回路２５０と画像合成回路２６０とバスＩ／Ｆ回路２７０を接続する内部バス２８０からなる。バスＩ／Ｆ回路２７０は、図２のバス１００と接続される。
【００３９】
なお、撮像素子１３，１４は、それぞれ画像データと同時に、水平／垂直同期信号、画素クロック等も出力している。これら信号は、バッファメモリ２１０，２２０やバッファメモリ読出し回路２３０に供給される。さらに、水平／垂直同期信号は同期検出回路２４０にも供給される。
【００４０】
バッファメモリ２１０，２２０は、それぞれ撮像素子１３，１４から出力される画像データをライン単位で順次蓄積する。ここでは、これらバッファメモリ２１０，２２０は、撮像素子１３，１４に対応して、それぞれ４ライン分のラインメモリを持つ構成とする。すなわち、バッファメモリ２１０，２２０は、それぞれ撮像素子１３，１４から出力される画像データを最大４ライン分を蓄積することが可能である。つまり、各バッファメモリ２１０，２２０は、それぞれ撮像素子１３，１４から出力される画像データをライン単位で、順次、ラインメモリ１，ラインメモリ２，ラインメモリ３，ラインメモリ４，ラインメモリ１，・・・とリング形式に蓄積していく。
【００４１】
バッファメモリ２１０，２２０からの画像データの読出しは、書込み動作とは独立に、バッファメモリ読出し回路２３０により行われる。バッファメモリ読出し回路２３０は、バッファメモリ２１０，２２０上で、次に読み出すべきラインメモリを示すリードポインタを持っている。バッファメモリ読出し回路２３０は、同期検出回路２４０からバッファメモリ読出し開始指示信号を受け取ると、バッファメモリ２１０，２２０からリードポインタで示されるラインメモリの画像データを時分割に読み出す。そして、リードポインタを更新し、次のラインメモリが読み出せるようにする。つまり、リードポインタは、１→２→３→４→１→・・・と更新される。このようにして、バッファメモリ読出し回路２３０は、同期検出回路２４０からバッファメモリ読出し開始指示信号を受け取ると、バッファメモリ２１０，２２０からそれぞれラインメモリ１，ラインメモリ２，ラインメモリ３，ラインメモリ４，ラインメモリ１，・・・とリング形式に順番に画像データを時分割に読み出していく。同期検出回路２４０については後述する。
【００４２】
画像処理回路２５０は、バッファメモリ読出し回路２３０によりバッファメモリ２１０，２２０の各ラインメモリから時分割に読み出された画像データを入力して、順次、リアルタイムに所定の画像処理を施していく。画像処理回路２５０には、バッファメモリ読出し回路２３０から同期信号等も供給される。この画像処理回路２５０での画像処理は、第１の実施例と同様であり、黒レベル補正、色補正、欠陥画素補正、ホワイトバランス補正等である。
【００４３】
画像処理回路２５０で画像処理された各撮像素子１３，１４の画像データは、バスＩ／Ｆ回路２７０を介して、ＤＲＡＭ７０に転送される。このＤＲＡＭ７０に転送された撮像素子１３，１４の画像データは、各撮像素子１３，１４毎に分離されて、ＤＲＡＭ７０内の各撮像素子１３，１４に対応する記憶領域にそれぞれ書き込まれる。
【００４４】
先に述べたように、画像処理回路２５０での画像処理には、レンズ収差補正（色収差／歪曲収差補正）のように、撮像素子１３，１４の画像データをまとめて処理できないものもある。そこで、本実施例においても、各撮像素子１３，１４の１画面分の処理済み画像データがＤＲＡＭ７０に格納されたならば、ＣＰＵ４０が、これら撮像素子１３，１４の１画面分の画像データをＤＲＡＭ７０から順次読み出して、画像処理回路２５０に転送する。画像処理回路２５０は、これら撮像素子１３，１４の１画面分の画像データについて、順次、レンズ収差補正などの所定の画像処理を行い、再びＤＲＡＭ７０に書き込むようにする。
【００４５】
画像合成回路２６０は、バスＩ／Ｆ回路２７０を介して、ＤＲＡＭ７０から所定の画像処理が施された各撮像素子１３，１４の画像データを取り込んで合成処理する。すなわち、ＤＲＡＭ７０には、撮像素子１３，１４でそれぞれ撮影して得られた２つの半球画像データが、所定の画像処理が施されて格納されている。画像合成回路２６０は、この２つの半球画像データについて、互いのオーバーラップ領域をもとに合成して全方位画像データを生成する。
【００４６】
画像合成回路２６０で生成された全方位画像データは、バスＩ／Ｆ回路２７０を介して再度、ＤＲＡＭ７０に格納する。その後、全方位画像データは、ＤＲＡＭ７０から外部Ｉ／Ｆ回路９０を介して外付けメモリに蓄積されたり、必要に応じて外部Ｉ／Ｆ回路９０を通して、パーソナルコンピュータ等に転送される。
【００４７】
本実施例でも、画像合成回路２６０では全方位画像データとしてメルカトル画像を生成し、ＣＰＵ４０がこのメルカトル画像を全方位パノラマ画像に幾何変換することでもよい。
【００４８】
次に、同期検出回路２４０について説明する。同期検出回路２４０は、撮像素子１３，１４からの画像データの出力タイミングの同期を監視する回路である。撮像素子１３，１４では、それぞれ画像データと同時に、水平／垂直同期信号、画素クロック等も出力している。同期検出回路２４０は、撮像素子１３，１４が出力する水平／垂直同期信号を監視して、撮像素子１３，１４の同一ラインの画像データが揃ったタイミングで、バッファメモリ読出し回路２３０に対してバッファメモリ読出し開示指示信号を送出する。
【００４９】
図５では、撮像素子１３，１４に対してバッファメモリ２１０，２２０はそれぞれ４ライン分のラインメモリを持つ構成としている。この場合、撮像素子１３，１４の画像データの同期ずれは最大４ラインまで許容できる。そこで、同期検出回路２４０は、撮像素子１３，１４が出力する同期信号が揃っているか否かをラインのずれ数で検出する。つまり、同期検出回路２４０は、ずれ数が４ライン以内の条件のもとで、撮像素子１３，１４の同一ラインの画像データがバッファメモリ２１０，２２０に揃ったタイミングで、バッファメモリ読出し回路２３０に対してバッファメモリ読出し開始指示信号を送出する。
【００５０】
バッファメモリ読出し回路２３０は、同期検出回路２４０からバッファメモリ読出し開始指示信号を受け取ると、バッファメモリ２１０，２２０からの画像データの読出しを開始する。すなわち、図５の場合、バッファメモリ読出し回路２３０では、４ライン以内の同期ずれ以内で、バッファメモリ２１０，２２０内の既に同一ラインの画像データが格納されたラインメモリをリング形式で一定の順番で選択して、該画像データを時分割に読み出すことができる。これにより、撮像素子１３，１４から出力される画像データに多少の同期ずれ（つまり、図５では４ライン以内のずれ）があっても、撮像素子１３，１４の同一ラインの画像データを正しく後段の画像処理回路２５０に送出することが可能になる。
【００５１】
一方、もしも撮像素子１３，１４の画像データが４ラインを超えてずれた場合には、同期検出回路２４０は、バスＩ／Ｆ回路２７０を介して許容できない同期ずれが発生したことをＣＰＵ４０（図２）に通知する。ＣＰＵ４０は、撮像素子１３，１４で許容できない同期ずれが発生したことを知ると、撮像制御ユニット３０（図２）に指示して、撮像素子１３，１４に出力信号の同期をとるコマンドを送信するようにする。これにより、撮像素子１３，１４の出力信号がリセットされ、出力信号の同期が揃うようになる。すなわち、ＣＰＵ４０と撮像制御ユニット３０とは、撮像素子１３，１４の画像データの出力タイミングの同期をとる同期制御手段として機能する。
【００５２】
なお、図５では、バッファメモリ２１０，２２０はそれぞれ４ライン分のラインメモリを持つ構成とした。しかしながら、ラインメモリの数は、撮像素子（ＣＭＯＳセンサやＣＣＤセンサ）の特性等に応じて決めればよい。一般にバッファメモリ２１０，２２０は、各撮像素子１３，１４に対して、それぞれｎライン分（ｎ≧２以上の整数）のラインメモリを持てばよい。同期検出回路２４０は、撮像素子１３，１４の画像データの同期ずれがｎライン以内の条件下で、これら撮像素子１３，１４の同一ラインの画像データがバッファメモリ２１０，２２０に揃ったタイミングでバッファメモリ読出し開始指示信号を出力する。また、同期検出回路２４０は、撮像素子１３，１４の画像データの同期ずれがｎラインを超えた際には同期ずれ信号を出力する。
【００５３】
本実施例においても、第１の実施例と同様に、バッファメモリ２１０，２２０における書込みと読出しのクロックを異なる周波数とし、読出しクロックの周波数は、書込みクロックの周波数のｍ倍（ｍ≧２）以上とする。これにより、バッファメモリ２１０，２２０の書込み読出し動作、画像処理回路２５０のライン単位でのリアルタイム処理が支障なく実現する。このように読出しクロックを、書き込みクロックの周波数のｍ倍であれば、読み出す前にバッファメモリに上書きされない。また、倍数によって、ラインメモリ数を決定することが可能である。
【００５４】
図６は本実施例の画像データの転送の様子を示した図、図７はバッファメモリ２１０，２２０の画像データの格納の様子を示した図である。なお、図６中の信号は横軸を時間軸として書かれている。
【００５５】
図６において、上段は撮像素子１３が出力する信号で、Ｖｓｙｎｃ＿Ａは垂直同期信号（２次元画像の１ページの先頭に１回だけ出力）、Ｈｓｙｎｃ＿Ａは水平同期信号（ライン単位の先頭に出力）、ＤＥ＿Ａはデータイネーブル信号（データ有効を示す）、Ａ（１），Ａ（２），Ａ（３），・・・は各ラインの画像データである。中段は撮像素子１４が出力する信号で、Ｖｓｙｎｃ＿Ｂは垂直同期信号、Ｈｓｙｎｃ＿Ｂは水平同期信号、ＤＥ＿Ｂはデータイネーブル信号、Ｂ（１），Ｂ（２），Ｂ（３），・・・は各ラインの画像データである。なお、撮像素子１３，１４からは画素クロックも出力される。
【００５６】
図６の上段と中段に示すように、ここでは、撮像素子１３，１４から出力される画像データは３ラインずれているとする。
【００５７】
撮像素子１３，１４から出力された画像データは、それぞれバッファメモリ２１０，２２０の各ラインメモリに順次、ライン単位で格納される。図７は、この様子を示したものである。一方、同期検出回路２４０は、撮像素子１３，１４から出力される同期信号が揃っている否か監視している。すなわち、同期検出回路２４０は、撮像素子１３，１４の画像データの出力タイミングの同期を監視して、撮像素子１３，１４の同一ラインの画像データがバッファメモリ２１０，２２０のあるラインメモリに揃ったタイミングで、バッファメモリ読出し回路２３０に対してバッファメモリ読出し開始指示信号を送出する。
【００５８】
図７の例では、撮像素子１３の画像データＡ（１），Ａ（２），Ａ（３）がバッファメモリ２１０のラインメモリ１〜３に順次格納されている。また、Ａ（３）の画像データがラインメモリ３に格納された時点で、撮像素子１４の画像データＢ（１）がバッファメモリ２２０のラインメモリ１に格納される。すなわち、このタイミングで、撮像素子１３，１４の１ライン目の画像データＡ（１），Ｂ（１）が揃う。そこで、同期検出回路２４０からは、撮像素子１４の画像データＢ（１）がバッファメモリ２２０のラインメモリ１に格納されたタイミングで、バッファメモリ読出し回路２３０に対してバッファメモリ読出し開始指示信号が送出される。
【００５９】
バッファメモリ読出し回路２３０は、同期検出回路２４０からバッファメモリ読出し開始指示信号を受け取ることで、バッファメモリ２１０，２２０からの画像データの時分割読出しを開始する。すなわち、バッファメモリ読出し回路２３０は、まず、バッファメモリ２１０のラインメモリ１の画像データＡ（１）を読み出して画像処理回路２５０に送る。そして、バッファメモリ読出し回路２３０は、引き続いてバッファメモリ２２０のラインメモリ１の画像データＢ（１）を読み出して画像処理回路２５０に送る。以下、同様にして、バッファメモリ読出し回路２３０は、バッファメモリ２１０，２２０から画像データＡ（２）とＢ（２），Ａ（３）とＢ（３），・・・を順番に読み出しては画像処理回路２５０に送る。また、バッファメモリ読出し回路２３０は、画像処理回路２５０に対して同期信号等も送る。
【００６０】
画像処理回路２５０は、バッファメモリ読出し回路２３０から送られてきた画像データＡ（１）とＢ（１），Ａ（２）とＢ（２），Ａ（３）とＢ（３），・・・に対して、順次、リアルタイムに所定の画像処理を施して出力する。図３の下段はこれを示している。ここで、Ｖｓｙｎｃ＿Ｏは画像処理回路２５０の垂直同期信号、Ｈｓｙｎｃ＿Ｏは同平同期信号（ライン単位の先頭に出力）、ＤＥ＿Ｏは同データイネーブル信号である。また、Ｏ（１）は（Ａ）１とＢ（１）の画像処理済みの出力画像データを意味している。同様に、Ｏ（２），Ｏ（３），・・・は、Ａ（２），Ｂ（２），Ａ（３）とＢ（３），・・・の画像処理済みの出力画像データを意味する。
【００６１】
このように、第２の実施例では、それぞれ複数のラインメモリからなるバッファメモリ２１０，２２０を用いて、撮像素子１３，１４から出力される画像データをライン単位でバッファメモリ２１０，２２０に蓄積する。そして、バッファメモリ読出し回路２３０は、バッファメモリ２１０，２２０から撮像素子１３，１４の画像データを時分割で読み出して単一の画像処理回路２５０に送る。その後、該画像処理回路２５０は撮像素子１３，１４の画像データに対して一括して所定の画像処理を行っている。これにより、各撮像素子対応の画像処理回路が不要で、画像処理回路のハードウエア数を削減することができる。また、読出しクロックの周波数と、書き込みクロックの周波数の関係からバッファメモリ２１０，２２０は高々数ラインのラインメモリでよく、画像処理回路を増やすのに比べてコストアップを抑制することができる。
【００６２】
さらに、第２の実施例では、同期検出回路２４０により、撮像素子１３，１４の同一ラインの画像データがバッファメモリ２１０，２２０に揃ったタイミングで、バッファメモリ読出し回路２３０に対してバッファメモリ読出し開始指示信号を送出している。これにより、撮像素子１３，１４の同一ラインの画像データを正しく後段の画像処理回路２５０に送ることができる。
【００６３】
次に、撮像素子１３，１４から画像データを出力する方法について説明する。
図１の全方位撮像装置において、魚眼レンズ１１，１２による撮像画像は円周魚眼画像であり、一般に円形状を示す。一方、撮像素子１３，１４内の画像センサ（ＣＭＯＳセンサ等）のデータ領域（セル領域）は一般に矩形である（例えば、１９２０ピクセル×１０８０ピクセル）。この円周魚眼画像は、互いに重なりの画像領域を持った画像である。これは、後の画像処理で、繋ぎ合わせを行うためである。
【００６４】
図８は、画像センサ上の、魚眼レンズによる撮像画像（円周魚眼画像）の領域と、該画像センサのデータ領域（セル領域）の関係を示したものである。図８において、１１０１は画像センサのデータ領域（セル領域）を示し、ここでは１９２０ピクセル×１０８０ピクセルとする。１１０２は魚眼レンズによる撮像画像の領域を示し、ここでは直径８００ピクセル相当する。
【００６５】
図８に示すように、画像センサのデータ領域１００１には、魚眼レンズによる撮像画像（円周魚眼画像）の領域１００２以外の無駄な領域（魚眼レンズで撮像されない領域）が存在する。
【００６６】
そこで、先の第１の実施例や第２の実施例において、撮像素子１３，１４は、それぞれ画像センサのデータ領域１００１内の魚眼レンズによる撮像画像の領域１００２を包含する所定領域を有効領域として、この有効領域のデータ（画像データ）のみを出力し、該有効領域以外については無効領域としてデータの出力を省略するようにする。すなわち、撮像素子１３，１４は、それぞれ画像センサのデータ領域１００１内の魚眼レンズによる撮像画像の領域１００２を包含する所定領域以外については、データの読出し動作をスキップさせる。これにより、撮像素子１３，１４から画像処理ユニット２０へ画像データを転送する時間を短縮することが可能になる。また、画像処理ユニット２０内のバッファメモリ２１０，２２０の記憶容量を削減することが可能になる。
【００６７】
撮像素子１３，１４は、それぞれ魚眼レンズ１１，１２による光学像を電気信号の画像データに変換する画像センサのほかに、該画像センサの水平／垂直同期信号や画素クロックなどを生成するタイミング生成回路、当該撮像素子の動作に必要な種々のコマンド、パラメータなどが設定されるレジスタ群などを有している。図８に示した画像センサのデータ領域１００１内の魚眼レンズによる撮像画像の領域１００２を包含する所定領域は、上記レジスタ群の一部のレジスタを利用して設定するようにする。
【００６８】
図９及び図１０に、撮像素子１３，１４内の画像センサから画像データを出力する方法の具体例を示す。ここでも、画像センサのデータ領域は１９２０ピクセル×１０８０ピクセルとし、該画像センサのデータ領域上の魚眼レンズによる撮像画像（円周魚眼画像）の領域は直径８００ピクセル相当する。
【００６９】
図９は、画像センサのデータ領域１００１内の魚眼レンズによる撮像画像の領域１００２（直径８００ピクセル相当）に接する正方形の領域１００３を有効領域として、該領域１００３のデータのみを出力する例である。この例の場合、画像センサの全データ領域の１９２０ピクセル×１０８０ピクセルの内、８００ピクセル×８００ピクセルのみ出力することでよい。
【００７０】
図１０は、画像センサのデータ領域内の魚眼レンズによる撮像画像の領域１００２（直径８００ピクセル相当）に合わせて、ｋライン毎（図１０では１００ライン毎）に、水平データ領域を段階的に変更してデータを出力する例である。
【００７１】
すなわち、魚眼レンズによる撮像画像の領域１００２（直径８００ピクセル相当）に合わせて、１００ライン毎に、
１−１００ラインは、６００ピクセル×１００ピクセル
１０１−２００ラインは、７００ピクセル×１００ピクセル
２０１−３００ラインは、７８０ピクセル×１００ピクセル
３０１−４００ラインは、８００ピクセル×１００ピクセル
４０１−５００ラインは、８００ピクセル×１００ピクセル
５０１−６００ラインは、７８０ピクセル×１００ピクセル
６０１−７００ラインは、７００ピクセル×１００ピクセル
７０１−８００ラインは、６００ピクセル×１００ピクセル
というようにデータを出力する。なお、一般にｋ＝１〜最大垂直ライン数とする。
【００７２】
以上、本発明の一実施形態について説明したが、本発明の撮像装置は図示の構成に限定されるものではない。先に述べたように、レンズ及び撮像素子は３つあるいはそれ以上でもよい。また、対象とする撮像装置は全方位撮像装置でなくてもよく、レンズも魚眼レンズでなくてもよい。
【符号の説明】
【００７３】
１      筐体
１１，１２  魚眼レンズ
１３，１４  撮像素子
２０      画像処理ユニット
３０      撮像制御ユニット
４０      ＣＰＵ
７０      ＤＲＭ
２１０，２２０  バッファメモリ
２３０      バッファメモリ読出し回路
２４０      同期検出回路
２５０      画像処理回路
２６０      画像合成回路
【先行技術文献】
【特許文献】
【００７４】
【特許文献１】特開２００６−０３３８１０号公報
【図１】
2013214952.tif 000003
【図２】
2013214952.tif 000004
【図３】
2013214952.tif 000005
【図４】
2013214952.tif 000006
【図５】
2013214952.tif 000007
【図６】
2013214952.tif 000008
【図７】
2013214952.tif 000009
【図８】
2013214952.tif 000010
【図９】
2013214952.tif 000011
【図１０】
2013214952.tif 000012