(57)【要約】 【課題】入力画像記憶部へのアクセスを減らしてメモリ帯域の不足を改善することが可能な画像処理装置、画像処理方法およびプログラムを提供する。【解決手段】本発明の画像形成装置は、入力画像記憶部と、読み出し制御部と、処理部とを備える。読み出し制御部は、出力画像を分割して得られる複数の出力画像領域ごとに、入力画像のうち当該出力画像領域の画像を形成するのに用いられる領域を示す参照画像を入力画像記憶部から読み出し、複数の出力画像領域の各々に対応する参照画像が同じである場合は、該同じ参照画像を１回だけ入力画像記憶部から読み出す。処理部は、複数の出力画像領域ごとに、該出力画像領域に対応する参照画像を補正して該出力画像領域の画像を生成する。【選択図】図３
2019004224.tif 000002
【特許請求の範囲】
【請求項１】
入力画像を記憶する入力画像記憶部と、
出力画像を分割して得られる複数の出力画像領域ごとに、前記入力画像のうち当該出力画像領域の画像を形成するのに用いられる領域を示す参照画像を前記入力画像記憶部から読み出し、複数の前記出力画像領域の各々に対応する前記参照画像が同じである場合は、該同じ前記参照画像を１回だけ前記入力画像記憶部から読み出す読み出し制御部と、
複数の前記出力画像領域ごとに、該出力画像領域に対応する前記参照画像を補正して該出力画像領域の画像を生成する処理部と、を備える、
画像処理装置。
【請求項２】
それぞれが、複数の前記出力画像領域の何れかに対応する前記参照画像を記憶する複数の参照画像記憶部をさらに備え、
前記処理部は、
複数の前記出力画像領域と１対１に対応し、それぞれに対応する前記参照画像を補正する複数の補正部を含む、
請求項１に記載の画像処理装置。
【請求項３】
複数の前記出力画像領域の各々に対応する前記参照画像を特定する情報を含む画像処理パラメータに基づいて、各前記出力画像領域に対応する前記参照画像を特定する特定部をさらに備える、
請求項１または２に記載の画像処理装置。
【請求項４】
前記補正は、前記出力画像領域の画像を得るために画素を補間する補間処理を含み、
前記画像処理パラメータは、前記参照画像のうち前記補間処理に用いる画素を示す情報を含む、
請求項３に記載の画像処理装置。
【請求項５】
前記画像処理パラメータは、前記入力画像記憶部から前記参照画像を読み出すか否かを制御するための連続制御フラグをさらに含み、
前記読み出し制御部は、前記連続制御フラグに基づいて、前記入力画像記憶部からの前記参照画像の読み出しを制御する、
請求項３または４に記載の画像処理装置。
【請求項６】
前記画像処理パラメータを外部から取得する取得部をさらに備える、
請求項３乃至５のうちの何れか１項に記載の画像処理装置。
【請求項７】
前記入力画像は、第１の光学系に対応する第１の画像と、第２の光学系に対応する第２の画像と、を含み、
前記出力画像領域に対応する前記参照画像が、前記第１の画像のうちの一部である第１の参照画像と、前記第２の画像のうちの一部である第２の参照画像である場合、前記第１の参照画像を補正して得られる第１の補正後画像と、前記第２の参照画像を補正して得られる第２の補正後画像とを合成する合成部をさらに備える、
請求項１乃至５のうちの何れか１項に記載の画像処理装置。
【請求項８】
前記処理部は、
前記第１の参照画像および前記第２の参照画像の各々に含まれる画素のうち、合成対象の画素についてのみ補正を行う、
請求項７に記載の画像処理装置。
【請求項９】
出力画像を分割して得られる複数の出力画像領域ごとに、入力画像のうち当該出力画像領域の画像を形成するのに用いられる領域を示す参照画像を、前記入力画像を記憶する入力画像記憶部から読み出し、複数の前記出力画像領域の各々に対応する前記参照画像が同じである場合は、該同じ前記参照画像を１回だけ前記入力画像記憶部から読み出す読み出し制御ステップと、
複数の前記出力画像領域ごとに、該出力画像領域に対応する画像処理パラメータを用いて、該出力画像領域に対応する前記参照画像を補正して該出力画像領域の画像を生成する処理ステップと、を含む、
画像処理方法。
【請求項１０】
コンピュータに、
出力画像を分割して得られる複数の出力画像領域ごとに、入力画像のうち当該出力画像領域の画像を形成するのに用いられる領域を示す参照画像を、前記入力画像を記憶する入力画像記憶部から読み出し、複数の前記出力画像領域の各々に対応する前記参照画像が同じである場合は、該同じ前記参照画像を１回だけ前記入力画像記憶部から読み出す読み出し制御ステップと、
複数の前記出力画像領域ごとに、該出力画像領域に対応する画像処理パラメータを用いて、該出力画像領域に対応する前記参照画像を補正して該出力画像領域の画像を生成する処理ステップと、を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法およびプログラムに関する。
【背景技術】
【０００２】
画像処理技術の進歩に伴い、画質と転送速度も増長し続けている。特にＶＲ（Virtual Reality）の発売から、ＶＲの画像源としての全天球カメラに対して、高画質と映像流暢度（高速なフレームレート）の要求が急激に上がっている。そのため、４Ｋ、８Ｋ、または、より大量な画像データを処理するプロセッサや演算回路の並列処理能力を高めることで、画質と転送速度を増加する技術が考えられている。
【０００３】
例えば特許文献１には、出力画像を複数の出力画像領域に分割し、入力画像のうち、各出力画像領域を形成するために必要な一部の領域を参照画像としてメモリ（入力画像を記憶する入力画像記憶部）から読み出して、補間処理などの演算処理を行う技術が開示されている。特許文献１の構成によれば、画像データを入力しながら補間処理を行うことで、フレーム遅延時間を抑えることができる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば全天球カメラで撮像された歪み画像の特性により、同じ参照画像を用いて、複数の出力画像領域を形成できる場合がある。従来技術により、この複数の出力画像領域を形成する場合、同じ参照画像を複数回にわたって読み出して演算処理を行うので、入力画像記憶部のメモリ帯域を無駄にしてしまう。その結果、メモリ帯域の不足は処理性能を妨げる要因になり、高画質と処理性能の保証が難しくなる。
【０００５】
本発明は、上記に鑑みてなされたものであり、入力画像記憶部へのアクセスを減らしてメモリ帯域の不足を改善することが可能な画像処理装置、画像処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、入力画像を記憶する入力画像記憶部と、出力画像を分割して得られる複数の出力画像領域ごとに、前記入力画像のうち当該出力画像領域の画像を形成するのに用いられる領域を示す参照画像を前記入力画像記憶部から読み出し、複数の前記出力画像領域の各々に対応する前記参照画像が同じである場合は、該同じ前記参照画像を１回だけ前記入力画像記憶部から読み出す読み出し制御部と、複数の前記出力画像領域ごとに、該出力画像領域に対応する前記参照画像を補正して該出力画像領域の画像を生成する処理部と、を備える画像処理装置である。
【発明の効果】
【０００７】
本発明によれば、入力画像記憶部へのアクセスを減らしてメモリ帯域の不足を改善することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、撮像装置のハードウェア構成の一例を示す図である。
【図２】図２は、画像処理装置のハードウェア構成の一例を示す図である。
【図３】図３は、全体制御回路が有する機能の一例を示す図である。
【図４】図４は、撮像装置の２つのレンズの位置と、出力画像との関係について説明するための図である。
【図５】図５は、第１の光学系と第２の光学系を上下に置いた状態を示す図である。
【図６】図６は、第１の光学系と第２の光学系を上下に置いた場合における出力画像の生成について説明するための図である。
【図７】図７は、矩形の出力画像を、生成元の参照画像ごとに区分けして示す図である。
【図８】図８は、第１の光学系と第２の光学系を左右に置いた状態を示す図である。
【図９】図９は、第１の光学系と第２の光学系を左右に置いた場合における出力画像の生成について説明するための図である。
【図１０】図１０は、入力画像のうち天頂部および天底部の各々に対応する領域を４分割した場合における出力画像の生成例を示す図である。
【図１１】図１１は、参照画像記憶部の分割と並列処理のメリットを説明するためのイメージ図である。
【図１２】図１２は、複数の出力画像領域の各々の画像を生成する場合の画像処理装置の動作を説明するための図である。
【図１３】図１３は、出力画像領域のサイズ変更を説明するための図である。
【図１４】図１４は、画素単位の合成処理を説明するための図である。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照しながら、本発明に係る画像処理装置、画像処理方法およびプログラムの実施形態を詳細に説明する。以下の実施形態では、２つの半球画像を繋ぎ合わせた全天球画像を生成する撮像装置に適用される画像処理装置を例に挙げて説明するが、これに限られるものではない。なお、全天球画像とは水平角度３６０度、垂直角度１８０度の全視野に渡って撮像された画像である。
【００１０】
図１は、本実施形態の撮像装置１（全天球画像を生成する撮像装置１）のハードウェア構成の一例を示す図である。以下では、魚眼レンズを構成する第１の光学系１０ｂ，第２の光学系１０ｃと、第１の撮像素子１３，第２の撮像素子１４をまとめて撮像ユニット１０と称することにする。第１の光学系１０ｂは第１の撮像素子１３に対応し、第２の光学系１０ｃは第２の撮像素子１４に対応している。図１においては、第１の撮像素子１３，第２の撮像素子１４は、第１の光学系１０ｂ，第２の光学系１０ｃによる光学像を電気信号の画像データに変換して出力するＣＭＯＳセンサやＣＣＤセンサなどの画像センサ、該画像センサの水平／垂直同期信号や画素クロックなどを生成するタイミング生成回路、当該撮像素子の動作に必要な種々のコマンド、パラメータなどが設定されるレジスタ群などを有している。これら２つの撮像素子１３，１４の同期信号はそれぞれ同期され、同じタイミングで撮像できるようにする必要がある。
【００１１】
撮像ユニット１０の第１の撮像素子１３および第２の撮像素子１４の各々は、パラレルＩ／Ｆバスを介して画像処理装置２０と接続されている。また、第１の撮像素子１３および第２の撮像素子１４の各々は、別途、シリアルＩ／Ｆバス（Ｉ２Ｃバス等）を介して撮像制御ユニット３０と接続されている。画像処理装置２０及び撮像制御ユニット３０は、バス１５を介してＣＰＵ４０と接続される。 さらに、バス１５には、ＲＯＭ５０、ＳＲＡＭ６０、ＤＲＡＭ７０、操作部８０、外部Ｉ／Ｆ回路９０などが接続される。画像処理装置２０は、第１の撮像素子１３により撮像された画像（以下の説明では「第１の画像」と称する場合がある）と、第２の撮像素子１４により撮像された画像（以下の説明では「第２の画像」と称する場合がある）をパラレルＩ／Ｆバスを通して取り込み、それぞれの画像に対して所定の処理を施して出力画像を生成する。画像処理装置２０の具体的な構成については後述する。
【００１２】
撮像制御ユニット３０は、一般に撮像制御ユニット３０自身をマスタデバイス、第１の撮像素子１３および第２の撮像素子１４をスレーブデバイスとして、Ｉ２Ｃバスを利用して、第１の撮像素子１３および第２の撮像素子１４のレジスタ群にコマンド等を設定する。必要なコマンド等は、ＣＰＵ４０から受け取る。また、該撮像制御ユニット３０は、同じくＩ２Ｃバスを利用して、第１の撮像素子１３および第２の撮像素子１４のレジスタ群のステータス・データ等を取り込み、ＣＰＵ４０に送る。さらに、撮像制御ユニット３０は、操作部８０のシャッタボタンが押下されたタイミングで、第１の撮像素子１３および第２の撮像素子１４に画像（撮像画像）の出力を指示する。
【００１３】
ＣＰＵ４０は、撮像装置１の全体の動作を制御すると共に必要な処理を実行する。ＲＯＭ５０は、ＣＰＵ４０のための種々のプログラムを記憶している。ＳＲＡＭ６０及びＤＲＡＭ７０はワークメモリであり、ＣＰＵ４０で実行するプログラムや処理途中のデータ等を記憶する。ここで、ＤＲＡＭ７０は、画像処理装置２０での処理途中の画像や処理済みの全天球画像のデータを記憶するのにも利用され、後述の画像記憶部１０１として機能する形態であってもよい。
【００１４】
操作部８０は、種々の操作ボタンや電源スイッチ、シャッタボタン、表示と操作の機能を兼ねたタッチパネルなどの総称である。ユーザは操作ボタンを操作することで、種々の撮影モードや撮影条件などを入力する。外部Ｉ／Ｆ回路９０は、外付けメモリ（ＳＤカード、フラッシュメモリ等）やパーソナルコンピュータなどとのインタフェース回路（ＵＳＢＩ／Ｆ等）の総称である。また、外部Ｉ／Ｆ回路９０としては、無線、有線を問わずにネットワークインタフェースである場合も考えられる。ＤＲＡＭ７０に記憶された全天球画像は、該外部Ｉ／Ｆ回路９０を介して外付けメモリに蓄積され、必要に応じて、ネットワークＩ／Ｆとなる外部Ｉ／Ｆ回路９０を介してパーソナルコンピュータや、スマートフォン等に転送される。
【００１５】
図２は、画像処理装置２０のハードウェア構成の一例を示す図である。本実施形態の画像処理装置２０は、出力画像（この例では全天球画像）を複数の領域（以下、「出力画像領域」と称する）に分割し、複数の出力画像領域ごとに、入力画像（この例では前述の第１の画像または前述の第２の画像）のうち当該出力画像領域の画像を形成するのに用いられる領域を示す参照画像を補正して該出力画像領域の画像を生成する。以下、具体的に説明する。
【００１６】
図２に示すように、画像処理装置２０は、全体制御回路２０１、レジスタ制御回路２０２、インタフェース回路２０３、参照画像メモリ２０４Ａ，２０４Ｂ、補間処理回路２０５、合成処理回路２０６、補正後画素メモリ２０７を備える。
【００１７】
また、画像処理装置２０は、メモリコントローラ１００を介して、「入力画像記憶部」の一例である画像記憶部１０１と接続される。メモリコントローラ１００は、画像記憶部１０１に対する画像（例えば入力画像等）の書き込み／読み出しを行う。メモリコントローラ１００には、撮像ユニット１０から入力画像が入力される。また、メモリコントローラ１００には、外部から画像処理パラメータが入力される。メモリコントローラ１００は、外部から入力された画像処理パラメータを、一旦ＤＲＡＭ７０に書き込んで、全体制御回路２０１の指示を受けて、インタフェース回路２０３を経由して全体制御回路２０１へ渡す。
【００１８】
本実施形態における画像処理パラメータは、複数の出力画像領域の各々に対応する参照画像を特定する情報（例えば参照画像の位置やサイズを示す情報等）、参照画像のうち後述の補間処理に用いる画素（以下の説明では「補間処理用参照画素」と称する場合がある）を示す情報（例えば参照画像における画素位置を示す情報等）、画像記憶部１０１から参照画像を読み出すか否かを制御するための連続制御フラグ（出力画像領域ごとに設定可能）、後述の合成対象の出力画像領域であるか否かを示すエリア合成フラグ（出力画像領域ごとに設定可能）、後述の合成対象の画素であるか否かを示す画素合成フラグ、合成の割合などの情報を含む。また、この例における画像処理パラメータは、撮像装置１（全天球カメラ）の傾きや回転により全天球画像の視覚に影響しないよう、天頂補正処理後の入力画像を処理（例えば後述の補間処理などの補正）するためのパラメータである。
【００１９】
全体制御回路２０１は、画像処理装置２０の全体の動作を制御する。図３は、全体制御回路２０１が有する機能の一例を示す図である。説明の便宜上、図３では、本発明に関する機能を主に例示しているが、全体制御回路２０１が有する機能はこれらに限られるものではない。
【００２０】
図３に示すように、全体制御回路２０１は、取得部２１１、特定部２１２、読み出し制御部２１３、処理制御部２１４を有する。本実施形態では、これらの機能は、ハードウェア回路で実現されるが、これに限らず、例えばＣＰＵ（Central Processing Unit）がプログラムを実行することにより実現される形態であってもよい。
【００２１】
取得部２１１は、前述の画像処理パラメータを外部から取得する。この例では、取得部２１１は、前述の画像処理パラメータを、インタフェース回路２０３を経由してメモリコントローラ１００から受け取ることができる。
【００２２】
特定部２１２は、取得部２１１により取得された画像処理パラメータに基づいて、各出力画像領域に対応する参照画像を特定する。
【００２３】
読み出し制御部２１３は、出力画像を分割して得られる複数の出力画像領域ごとに、入力画像のうち当該出力画像領域の画像を形成するのに用いられる領域を示す参照画像を画像記憶部１０１から読み出す。つまり、読み出し制御部２１３は、複数の出力画像領域ごとに、特定部２１２により特定された参照画像を画像記憶部１０１から読み出す制御を行う。この例では、画像記憶部１０１からの参照画像の読み出しに関しては、読み出し制御部２１３がメモリコントローラ１００に対して参照画像の読み出しを依頼し、この依頼を受けたメモリコントローラ１００が参照画像の読み出しを行い、その読み出した参照画像を読み出し制御部２１３へ渡すといった具合である。
【００２４】
読み出し制御部２１３は、画像記憶部１０１から読み出した参照画像を、高速に読み書き可能なＳＲＡＭで構成される参照画像メモリ２０４Ａまたは参照画像メモリ２０４Ｂ（図２参照）に書き込む。参照画像メモリ２０４Ａは、前述の第１の画像のうちの一部である第１の参照画像を記憶し、参照画像メモリ２０４Ｂは、前述の第２の画像のうちの一部である第２の参照画像を記憶する。この例では、参照画像メモリ２０４Ａおよび２０４Ｂの各々は、それぞれが、複数の出力画像領域の何れかに対応する参照画像（第１の参照画像または第２の参照画像）を記憶するための複数の参照画像記憶部２１を含む。ここでは、第１の参照画像を記憶する参照画像記憶部２１を「参照画像記憶部２１Ａ」と表記し、第２の参照画像を記憶する参照画像記憶部２１を「参照画像記憶部２１Ｂ」と表記する。以下では、両者を区別しない場合は、単に「参照画像記憶部２１」と称する。同様に、参照画像メモリ２０４Ａと参照画像メモリ２０４Ｂを区別しない場合は、単に「参照画像メモリ２０４」と称する。
【００２５】
また、本実施形態の読み出し制御部２１３は、複数の出力画像領域の各々に対応する参照画像が同じである場合は、該同じ参照画像を１回だけ画像記憶部１０１から読み出す。これにより、画像記憶部１０１へのアクセスを減らしてメモリ帯域の不足を改善することができる。また、本実施形態の読み出し制御部２１３は、前述の画像処理パラメータに含まれる連続制御フラグに基づいて、画像記憶部１０１からの参照画像の読み出しを制御する。この例では、読み出し制御部２１３は、連続制御フラグが有効に設定された出力画像領域に対応する参照画像については画像記憶部１０１からの読み出しを行わず、連続制御フラグが無効に設定された出力画像領域に対応する参照画像については画像記憶部１０１からの読み出しを行うことになる。参照画像が共通する複数の出力画像領域に対しては、補間処理が完了するまで連続制御フラグが有効に維持されるという具合である。
【００２６】
処理制御部２１４は、後述の補間処理回路２０５および合成処理回路２０６の動作を制御する。
【００２７】
図２の説明を続ける。レジスタ制御回路２０２は、ＣＰＵ４０からの制御信号に基づいて、画像処理装置２０の各部（全体制御回路２０１、補間処理回路２０５等）の設定を記憶するレジスタに対する読み書きを制御する。
【００２８】
インタフェース回路２０３は、メモリコントローラ１００に接続され、メモリコントローラ１００と情報のやり取りを行う。インタフェース回路２０３は、メモリコントローラ１００から受け取った情報を全体制御回路２０１へ渡す。
【００２９】
補間処理回路２０５は、全体制御回路２０１（処理制御部２１４）の制御の下、複数の出力画像領域ごとに、該出力画像領域に対応する参照画像を補正して該出力画像領域の画像を生成する。補間処理回路２０５は、前述の画像処理パラメータに基づいて、複数の出力画像領域ごとに、該出力画像領域に対応する参照画像を補正して該出力画像領域の画像を生成する。ここでは、上記補正は、出力画像領域の画像を得るために画素を補間する補間処理である。例えば画像処理パラメータは、複数の出力画像領域の各々について、該出力画像領域に含まれる複数の単位領域（所定数の画素の集合）ごとに、補間処理用参照画素を１つずつ指定する形態であってもよい。画像処理回路２０５は、各出力画像領域について、該出力画像領域に含まれる複数の単位領域ごとに、画像処理パラメータで指定された補間処理用参照画素（該単位領域に対応する１つの補間処理用参照画素）を用いて、該単位領域に含まれる複数の画素を線形補間等により復元することができる。
【００３０】
この例では、補間処理回路２０５は、複数の出力画像領域と１対１に対応し、それぞれに対応する参照画像の補間処理を行う複数の補間部２５（「補正部」の一例）を含む。本実施形態では、参照画像記憶部２１および補間部２５を複数個（出力画像領域の数と同数）ずつ設けることで、複数の出力画像領域ごとの前述の補間処理を並列に実行することができる。これにより、複数の出力画像領域ごとの補間処理をシリアルに実行する形態に比べて、処理速度を高めることができる。
【００３１】
また、補間処理回路２０５は、処理対象の出力画像領域が合成対象である場合（処理対象の出力画像領域が、合成対象であることを示すエリア合成フラグが設定された出力画像領域である場合）、該出力画像領域に対応する第１の参照画像および第２の参照画像の各々に含まれる画素のうち、合成対象の画素についてのみ補間処理を行う。この例では、前述の画像処理パラメータは、エリア合成フラグにより合成対象であることが示された出力画像領域に含まれる複数の画素ごとに、合成対象であるか否かを示す画素合成フラグを指定した情報を含んでいる。そして、補間処理回路２０５は、合成対象であることを示す画素合成フラグが指定された画素に対応する補間処理用参照画素（前述の画像処理パラメータにより特定可能）のみを用いて、前述の補間処理を行うことができる。
【００３２】
ここでは、補間処理回路２０５が「処理部」に対応すると考えてもよいし、補間処理回路２０５と全体制御部２０１（処理制御部２１４）の組み合わせが「処理部」に対応すると考えてもよい。なお、これに限らず、全体制御部２０１（処理制御部２１４）が「処理部」に対応すると考えてもよい。要するに、画像処理装置２０が、複数の出力画像領域ごとに、該出力画像領域に対応する参照画像を補正して該出力画像領域の画像を生成する機能（「処理部」）を有する形態であればよい。
【００３３】
合成処理回路２０６は、全体制御回路２０１（処理制御部２１４）の制御の下、出力画像領域に対応する参照画像が、第１の画像のうちの一部である第１の参照画像と、第２の画像のうちの一部である第２の参照画像である場合（つまり、該出力画像領域が合成対象である場合）、該第１の参照画像を補正して得られる第１の補正後画像と、該第２の参照画像を補正して得られる第２の補正後画像とを合成する。ここでは、合成処理回路２０６は、合成対象の出力画像領域に含まれる複数の画素のうち、合成対象であることを示す画素合成フラグが指定された画素についてのみ上記合成を行う。
【００３４】
本実施形態では、合成処理回路２０６は、合成対象の出力画像領域であることを示すエリア合成フラグが設定された出力画像領域については、補間処理回路２０５の補間処理により得られた、該出力画像領域に対応する第１の補正後画像と第２の補正後画像とを合成し、その合成により得られた画像（補正後画像）を補正後画素メモリ２０７に書き込む。一方、合成対象の出力画像領域であることを示すエリア合成フラグが設定されていない出力画像領域については、補間処理回路２０５の補間処理により得られた該出力画像領域の画像（補正後画像）をそのまま補正後画素メモリ２０７に書き込む。
【００３５】
このようにして補正後画素メモリ２０７には、各出力画像領域の補正後画像が書き込まれ、これらを繋ぎ合わせた出力画像（この例では全天球画像）が生成される。この出力画像は、外部へ出力されるとともに、メモリコントローラ１００を経由して画像記憶部１０１に書き込まれてもよい。
【００３６】
次に、図４を用いて、撮像装置１の２つのレンズ（第１の光学系１０ｂ、第２の光学系１０ｃ）の位置と、出力画像との関係について説明する。全天球カメラである撮像装置１の各レンズは１８０度以上の画像を撮像できるので、各レンズ周辺の重なる部分（１８０度付近の撮像部分）を合成することで、自然な３６０度の全天球画像を生成することができる。つまり、この例では、出力画像（全天球画像）を分割して得られる複数の出力画像領域のうち、各レンズ周辺の重なる部分に対応する１以上の出力画像領域に対しては、合成対象であることを示すエリア合成フラグが設定され、該出力画像領域に含まれる複数の画素のうち合成対象の画素に対しては、合成対象であることを示す画素合成フラグが指定されることになる。
【００３７】
図４の（Ａ）は、第１の光学系１０ｂと第２の光学系１０ｃを上下に置いた場合に生成される出力画像の一例を示す図である。図４の（Ａ）に示す出力画像内の領域１１０ｂは、第１の光学系１０ｂに対応する第１の撮像素子１３により撮像された第１の画像のうち、第１の光学系１０ｂの真中部（中央部）に対応する画像から形成された画像である。また、図４の（Ａ）に示す出力画像内の領域１１０ｃは、第２の光学系１０ｃに対応する第２の撮像素子１４により撮像された第２の画像のうち、第２の光学系１０ｃの真中部に対応する画像から形成された画像である。また、図４の（Ａ）に示す出力画像内の領域１１０ｐは、第１の画像のうち第１の光学系１０ｂの周辺部に対応する画像と、第２の画像のうち第２の光学系１０ｃの周辺部に対応する画像とを元に合成した画像である。
【００３８】
図４の（Ｂ）は、第１の光学系１０ｂと第２の光学系１０ｃを左右に置いた場合に生成される出力画像の一例を示す図である。図４の（Ｂ）に示す出力画像内の領域１１０ｂは、前述の第１の画像のうち、第１の光学系１０ｂの真中部に対応する画像から形成された画像である。また、図４の（Ｂ）に示す出力画像内の領域１１０ｃは、前述の第２の画像のうち、第２の光学系１０ｃの真中部に対応する画像から形成された画像である。また、図４の（Ａ）に示す出力画像内の領域１１０ｐは、第１の画像のうち第１の光学系１０ｂの周辺部に対応する画像と、第２の画像のうち第２の光学系１０ｃの周辺部に対応する画像とを元に合成した画像である。なお、２つのレンズが傾いたときは、各レンズの周辺部の移動に伴って、出力画像の合成領域（領域１１０ｐ）も変化する。
【００３９】
図４の（Ｃ）の左側は、図４の（Ａ）の出力画像を複数の出力画像領域に分割した図であり、図４の（Ｃ）の右側は、図４の（Ｂ）の出力画像を複数の出力画像領域に分割した図である。図４の（Ｃ）に示す白色の領域は、合成処理が必要な領域であり、合成対象であることを示すエリア合成フラグが設定されることになる。
【００４０】
次に、図５のように、第１の光学系１０ｂと第２の光学系１０ｃを上下に置いた場合における出力画像の生成について説明する。図５の点線部分は、第１の光学系１０ｂおよび第２の光学系１０ｃの各々の周辺部を示し、合成処理が必要な部分となる。図６の（Ａ）は、撮像ユニット１０で撮像された入力画像の天頂部の一定領域（この例では第１の画像のうち天頂部に対応する一定領域）を参照画像（第１の参照画像）として、矩形の出力画像のうち最上部の複数ライン分の領域が形成される様子を示す図である。同様に、撮像ユニット１０で撮像された入力画像の天底部の一定領域（この例では第２の画像のうち天底部に対応する一定領域）を参照画像（第２の参照画像）として、矩形の出力画像のうち最下部の複数ライン分の領域が形成される。
【００４１】
図６の（Ｂ）は、撮像ユニット１０で撮像された入力画像（この例では第１の画像）の４つの領域１２０ａ〜１２０ｄを参照画像（第１の参照画像）として、矩形の出力画像のうち、４つの領域１２０ａ〜１２０ｄと１対１に対応する４つの領域（ブロック部分の領域）が形成される様子を示す図である。図６の（Ｃ）は、撮像ユニット１０で撮像された入力画像（この例では第１の画像）の８つの領域１３０ａ〜１３０ｈを参照画像（第１の参照画像）として、矩形の出力画像のうち、８つの領域１３０ａ〜１３０ｈと１対１に対応する８つの領域（ブロック部分の領域）が形成される様子を示す図である。
【００４２】
図７は、矩形の出力画像を、生成元の参照画像ごとに区分けして示す図である。図７において区分けされた出力画像の各領域（ブロック部分）は、該領域に対応する１つの参照画像から形成される部分であり、何れかの領域に含まれる複数の出力画像領域の各々の画像を得る場合は、該領域に対応する１つの参照画像を画像記憶部１０１から１回読み出せば、その後は該参照画像の読み出し（画像記憶部１０１からの読み出し）を必要とせずに、各出力画像領域の画像を得るための補間処理を連続的に実行することができる。なお、ここでは、入力画像の天頂部または天底部から中間部に近づくほど、参照画像の数が多くなり、参照画像の重なりも少なくなる。図７に示す黒色の領域は合成処理が必要な領域である。
【００４３】
次に、図８のように、第１の光学系１０ｂと第２の光学系１０ｃを左右に置いた場合における出力画像の生成について説明する。図８の点線部分は、第１の光学系１０ｂおよび第２の光学系１０ｃの各々の周辺部を示し、合成処理が必要な部分となる。
【００４４】
図９の（Ａ）は、撮像ユニット１０で撮像された入力画像の天頂部の一定領域を参照画像として、矩形の出力画像のうち最上部の複数ライン分の領域が形成される様子を示す図である。この例では、最上部の複数ライン分の領域を構成する複数の出力画像領域の各々に対応する参照画像は共通であり、第１の画像のうち天頂部に対応する一定領域を示す第１の参照画像、および、第２の画像のうち天頂部に対応する一定領域を示す第２の参照画像であるとする。
【００４５】
まず画像処理装置２０は、最上部の複数ライン分の領域を構成する複数の出力画像領域のうち処理対象となる出力画像領域に対応する第１の参照画像として、第１の画像のうち天頂部に対応する一定領域を画像記憶部１０１から読み出し、その読み出した第１の参照画像を用いて前述の補間処理を行って第１の補正後画像を得る。次に、画像処理装置２０は、処理対象となる出力画像領域に対応する第２の参照画像として、第２の画像のうち天頂部に対応する一定領域を画像記憶部１０１から読み出し、その読み出した第２の参照画像を用いて前述の補間処理を行って第２の補正後画像を得る。そして、以上のようにして得た第１の補正後画像と第２の補正後画像を合成して、処理対象の出力画像領域の画像を生成することができる。以降は、最上部の複数ライン分の領域を構成する複数の出力画像領域の各々の画像を得るまでの間、第１の参照画像および第２の参照画像を画像記憶部１０１から読み出すことはせず、上述の補間処理と合成処理を連続的に行うことができる。
【００４６】
図９の（Ｂ）は、矩形の出力画像のうち最上部よりも下段側の複数ライン分の領域が形成される様子を示す図である。基本的な考え方は図９の（Ａ）で説明した内容と同じであるが、図９の（Ｂ）は、矩形の出力画像のうち、入力画像の４つの領域（参照画像の領域）と１対１に対応する４つの領域（ブロック部分の領域）が形成される様子を示す図である。図９の（Ｃ）は、図７に対応する図であり、図９の（Ｃ）に示す黒色の領域以外の領域は、合成処理が必要な領域である。
【００４７】
図１０は、入力画像のうち天頂部および天底部の各々に対応する領域を４分割した場合における出力画像の生成例を示す図である。ここでは、図１０の（Ａ）に示すように、入力画像のうち天頂部に対応する領域は、４つの参照画像で構成される。なお、入力画像のうち天底部に対応する領域についても同様に、４つの参照画像で構成される。
【００４８】
図１０の（Ｂ）は、図５のように、第１の光学系１０ｂと第２の光学系１０ｃを上下に置いた場合において、矩形の出力画像のうち最上部の複数ライン分の領域、および、最下部の複数ライン分の領域が形成される様子を示す図である。この場合、合成処理は不要となる。図１０の（Ｃ）は、図８のように、第１の光学系１０ｂと第２の光学系１０ｃを左右に置いた場合において、矩形の出力画像のうち最上部の複数ライン分の領域、および、最下部の複数ライン分の領域が形成される様子を示す図である。この場合、図１０の（Ｃ）に示す黒色の領域以外の領域は合成処理が必要な領域である。
【００４９】
図１１は、参照画像記憶部２１の分割と並列処理のメリットを説明するためのイメージ図である。図１１の（Ａ）は、参照画像記憶部２１を分割した場合の処理のイメージ図である。前述の補間処理を行うための演算回路としてバイキュービック回路を例に挙げて説明する。この例では、演算の際に４×４の画素データが必要となり、参照画像記憶部２１が１個の場合は、１クロックで４画素を読み出せるが、参照画像記憶部２１を１６個に分割すると、１クロックで１６画素を読み出せる。そして、図１１の（Ｂ）に示すように、それぞれが１６個に分割された複数の参照画像記憶部２１と１対１に対応する複数の演算回路を設けることで、並列処理が可能になり、処理性能を向上させることができる。
【００５０】
なお、本実施形態では、参照画像記憶部２１および補間部２５を複数個（出力画像領域の数と同数）ずつ設けているが、これに限らず、例えば参照画像記憶部２１および補間部２５が１つずつ設けられ、複数の出力画像領域ごとの補間処理を１つずつ順番に（シリアルに）実行する形態であっても構わない。この形態であっても、複数の出力画像領域の各々に対応する参照画像が同じである場合は、該同じ参照画像を１回だけ画像記憶部１０１から読み出して参照画像記憶部２１に保持しておき、該複数の出力画像領域の各々の画像を生成するまでの間、画像記憶部１０１へのアクセスは行わず、かつ、参照画像記憶部２１に保持された参照画像の更新を行わないようにすることで、画像記憶部１０１へのアクセスを減らしてメモリ帯域の不足を改善することができる。要するに、画像処理装置２０は、複数の出力画像領域の各々に対応する参照画像が同じである場合は、該同じ参照画像を１回だけ画像記憶部１０１から読み出す形態であればよく、補間処理を並列に実行する形態であってもよいし、シリアルに実行する形態であってもよい。
【００５１】
図１２は、複数の出力画像領域の各々の画像を生成する場合の画像処理装置２０の動作を説明するための図である。以下では、出力画像領域を「エリア」と称して説明する。図１２の（Ａ）は、エリア１〜エリア１１の画像を生成する場合の画像処理装置２０の動作を示す図である。「エリア１」に着目して説明すると、まず画像処理装置２０は、エリア１に対応する参照画像を画像記憶部１０１から読み出す。次に、画像処理装置２０は、エリア１に対応する参照画像を用いて補間処理を行う。次に、画像処理装置２０は、補間処理後の画像を出力する。他のエリアについても同様の流れになる。図１２の（Ａ）においては、エリアごとに参照画像を画像記憶部１０１から読み出して補間処理を行い、補間処理後の画像を出力している（この例では合成処理は無い）。
【００５２】
図１２の（Ｂ）は、エリア１〜エリア９の画像を生成する場合の画像処理装置２０の動作を示す図であり、エリア５およびエリア６の画像を生成する際に合成処理を行うことを示している。図１２の（Ｂ）に示す「エリア５ａ」は、エリア５のうち、第１の光学系１０ｂに対応するエリアを表し、図１２の（Ｂ）に示す「エリア５ｂ」は、エリア５のうち、第２の光学系１０ｃに対応するエリアを表す。「エリア６ａ」および「エリア６ｂ」についても同様である。
【００５３】
図１２の（Ｂ）に示す「エリア５ａ」の画像は、第１の光学系１０ｂに対応する第１の画像の一部である第１の参照画像から形成され（前述の第１の補正後画像として形成され）、図１２の（Ｂ）に示す「エリア５ｂ」の画像は、第２の光学系１０ｃに対応する第２の画像の一部である第２の参照画像から形成される（前述の第２の補正後画像として形成される）。図１２の（Ｂ）に示す「エリア５」の画像は、「エリア５ａ」の画像と「エリア５ｂ」の画像との合成により生成されて出力される。
【００５４】
同様に、図１２の（Ｂ）に示す「エリア６ａ」の画像は、第１の光学系１０ｂに対応する第１の画像の一部である第１の参照画像から形成され、図１２の（Ｂ）に示す「エリア６ｂ」の画像は、第２の光学系１０ｃに対応する第２の画像の一部である第２の参照画像から形成される。図１２の（Ｂ）に示す「エリア６」の画像は、「エリア６ａ」の画像と「エリア６ｂ」の画像との合成により生成されて出力される。
【００５５】
図１２の（Ｃ）は、エリア１〜エリア１２の画像を生成する場合の画像処理装置２０の動作を示す図であり、エリア１〜エリア１１に対応する参照画像は同じ画像である。この例では合成処理は無く、画像処理装置２０は、エリア１〜エリア１１に対応する参照画像を画像記憶部１０１から１回だけ読み出して、連続で補間処理を実行する。
【００５６】
図１２の（Ｄ）は、エリア１〜エリア９の画像を生成する場合の画像処理装置２０の動作を示す図であり、エリア１〜４、５ａ、６ａに対応する参照画像は同じ画像であり、エリア５ｂ、６ｂ、７〜９に対応する参照画像は同じ画像である。図１２の（Ｄ）では、エリア５およびエリア６の画像を生成する際に合成処理を行うことを示している。画像処理装置２０は、エリア１〜４、５ａ、６ａに対応する参照画像を画像記憶部１０１から１回だけ読み出して、エリア１〜４、５ａ、６ａの各々の画像を得るための補間処理を連続して実行する。また、画像処理装置２０は、エリア５ｂ、６ｂ、７〜９に対応する参照画像を画像記憶部１０１から１回だけ読み出して、エリア５ｂ、６ｂ、７〜９の各々の画像を得るための補間処理を連続して実行する。ここで、合成対象のエリア５の画像を生成する際は、エリア５ａに対応する参照画像の補間処理（エリア５ａの画像を得るための補間処理）と、エリア５ｂに対応する参照画像の補間処理（エリア５ａの画像を得るための補間処理）を交互に（トグルに）実行し、補間処理後の２つの画像を合成する（図１２の（Ｄ）参照）。合成対象のエリア６の画像を生成する場合についても同様である。
【００５７】
次に、図１３を参照して、出力画像領域（エリア）のサイズ変更について説明する。図１３は、図４の（Ｃ）の左側の図における黒色の領域の一部分を示す図であり、同じ参照画像で補間処理可能な領域（連続処理できる領域）を示している。図１３の真中に示された「可能性がある状態」において、一番下の複数のエリアの一部分は、連続処理できる領域外に出ているので、例えば画像処理装置２０は、その直下のように、一番下の複数のエリアも連続処理できる範囲に収まるよう該一番下の複数のエリアのサイズを変更することもできる。
【００５８】
次に、図１４を参照して、画素単位の合成処理を説明する。図１４の左側の図は、図４の（Ｃ）の右側の図における領域１１０ｂと合成領域１１０ｐとの境界の一部分を示す図である。図１４の左側の図においては、エリア（出力画像領域）２、７、８、１３、１８、２２、２３、２７の一部分に関して合成処理が必要となる。ここでは、エリアのサイズが「２４画素×１６ライン」のエリア７を例として拡大し、図１４の右側の図に示す。
【００５９】
従来の合成処理は、エリア合成フラグにより、エリア７に対応している第１の参照画像（第１の光学系１０ｂに対応する参照画像）と、第２の参照画像（第２の光学系１０ｃに対応する参照画像）をそれぞれ補間処理して得られたエリア７ａの画像（第１の補正後画像）とエリア７ｂの画像（第２の補正後画像）の全画素の合成処理を行っていた。図１４に示す黒色の領域は、第１の参照画像から形成される合成不要な領域なので、エリア合成時、エリア７ａの割合は１００％、エリア７ｂの割合は０％に設定される。黒色の領域以外の画素は適切な割合で合成処理を行う。そのため、エリア７ｂの黒色の領域の画像を得るための補間処理に要する時間が無駄になっていた。
【００６０】
上述したように、本実施形態の画像処理装置２０は、エリア合成フラグ以外に、画素合成フラグも用意しており、エリア７ｂに対応する参照画像に含まれる画素のうち、エリア７に含まれる画素の中で合成処理が必要な画素（画素２２、２３、２４、４７、４８、７２）に対応する画素のみを使って補間処理を行い、合成処理についても、エリア７に含まれる画素の中で合成処理が必要な画素のみを合成する。これにより、無駄な補間処理時間を省略することができるので、処理性能を向上させることができる。
【００６１】
以上に説明したように、本実施形態の画像処理装置２０は、複数の出力画像領域（エリア）の各々に対応する参照画像が同じである場合は、該同じ参照画像を１回だけ画像記憶部１０１から読み出し、その読み出した参照画像から該複数の出力画像領域の各々の画像を生成する処理（この例では補間処理）を行う。これにより、画像記憶部１０１へのアクセスを減らしてメモリ帯域の不足を改善することができる。
【００６２】
以上、本発明に係る実施形態について説明したが、本発明は、上述の実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上述の各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、各実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【００６３】
また、上述した実施形態の画像処理装置２０で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよいし、インターネット等のネットワーク経由で提供または配布するように構成してもよい。また、各種プログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【符号の説明】
【００６４】
１      撮像装置
１０    撮像ユニット
１０ｂ  第１の光学系
１０ｃ  第２の光学系
１３    第１の撮像素子
１４    第２の撮像素子
２０    画像処理装置
２１    参照画像記憶部
２５    補間部
３０    撮像制御ユニット
１００  メモリコントローラ
１０１  画像記憶部
２０１  全体制御回路
２０２  レジスタ制御回路
２０３  インタフェース回路
２０４  参照画像メモリ
２０５  補間処理回路
２０６  合成処理回路
２０７  補正後画素メモリ
２１１  取得部
２１２  特定部
２１３  読み出し制御部
２１４  処理制御部
【先行技術文献】
【特許文献】
【００６５】
【特許文献１】特開２０１５−０９９９５９号公報
【図１】
2019004224.tif 000003
【図２】
2019004224.tif 000004
【図３】
2019004224.tif 000005
【図４】
2019004224.tif 000006
【図５】
2019004224.tif 000007
【図６】
2019004224.tif 000008
【図７】
2019004224.tif 000009
【図８】
2019004224.tif 000010
【図９】
2019004224.tif 000011
【図１０】
2019004224.tif 000012
【図１１】
2019004224.tif 000013
【図１２】
2019004224.tif 000014
【図１３】
2019004224.tif 000015
【図１４】
2019004224.tif 000016