(57)【要約】  第１の魚眼レンズを使用して取得した第１の画像と第２の魚眼レンズを使用して取得した第２の画像に基づいて全天球画像を生成する撮像装置を制御する制御システムであって、前記第１の画像の輝度値に基づいて前記第１の魚眼レンズに対応する第１の撮像素子の露出を評価するための第１の露出評価値を算出するとともに、前記第２の画像の輝度値に基づいて前記第２の魚眼レンズに対応する第２の撮像素子の露出を評価するための第２の露出評価値を算出する評価値算出部を含み、前記評価値算出部は、前記第１の画像と前記第２の画像の間で撮影範囲が重複する重複領域を構成する画素の画素値を、該第１の画像の輝度値ならびに該第２の画像の輝度値の算出に使用しないことを特徴とする制御システムを提供する。
2017043190.tif 000002
【特許請求の範囲】
【請求項１】
第１の魚眼レンズを使用して取得した第１の画像と第２の魚眼レンズを使用して取得した第２の画像に基づいて全天球画像を生成する撮像装置を制御する制御システムであって、
前記第１の画像を構成する画素の画素値に基づいて該画像の輝度値を算出し、該輝度値に基づいて前記第１の魚眼レンズに対応する第１の撮像素子の露出を評価するための第１の露出評価値を算出するとともに、前記第２の画像を構成する画素の画素値に基づいて該画像の輝度値を算出し、該輝度値に基づいて前記第２の魚眼レンズに対応する第２の撮像素子の露出を評価するための第２の露出評価値を算出する評価値算出部を備え、
前記評価値算出部は、
前記第１の画像と前記第２の画像の間で撮影範囲が重複する重複領域を構成する画素の画素値を、該第１の画像の輝度値ならびに該第２の画像の輝度値の算出に使用しない、制御システム。
【請求項２】
前記撮像装置に設定された設定値に基づき、被写体の明るさを表す測光値を算出する測光値算出部と、
前記評価値算出部により算出された前記第１の露出評価値および前記第２の露出評価値に基づいて前記測光値算出部により算出された前記測光値を調整する測光値調整部と、
算出された前記測光値から前記第１の撮像素子および前記第２の撮像素子を光に露出する度合いを表す露出値を算出する露出値算出部と、
算出された前記露出値に対応した、撮像素子を光に露出する露出時間および該撮像素子の光に対する感度を表す感度値を設定値として算出する設定値算出部と、をさらに備える、請求項１に記載の制御システム。
【請求項３】
前記評価値算出部は、
前記第１の画像の前記輝度値に基づいて前記第１の撮像素子のホワイトバランスを評価するための第１のホワイトバランス評価値を算出するとともに、前記第２の画像の前記輝度値に基づいて前記第２の撮像素子のホワイトバランスを評価するための第２のホワイトバランス評価値を算出する、請求項１または２に記載の制御システム。
【請求項４】
前記第１の魚眼レンズおよび前記第２の魚眼レンズは、それぞれの光軸を一致させた状態で互いに逆向きに配置され、各魚眼レンズの画角は１８０度を超える、請求項１〜３のいずれか一項に記載の制御システム。
【請求項５】
請求項１〜４のいずれか一項に記載の制御システムを備える撮像装置。
【請求項６】
第１の魚眼レンズを使用して取得した第１の画像と第２の魚眼レンズを使用して取得した第２の画像に基づいて全天球画像を生成する撮像装置を制御するコンピュータに、
前記第１の画像を構成する画素の画素値に基づいて該画像の輝度値を算出するステップと、
前記第１の画像の前記輝度値に基づいて前記第１の魚眼レンズに対応する第１の撮像素子の露出を評価するための第１の露出評価値を算出するステップと、
前記第２の画像を構成する画素の画素値に基づいて該画像の輝度値を算出するステップと、
前記第２の画像の前記輝度値に基づいて前記第２の魚眼レンズに対応する第２の撮像素子の露出を評価するための第２の露出評価値を算出するステップと、
を実行させるためのプログラムであって、
前記輝度値を算出するステップにおいて、前記第１の画像と前記第２の画像の間で撮影範囲が重複する重複領域を構成する画素の画素値を使用しない、プログラム。
【請求項７】
前記コンピュータに、
前記撮像装置に設定された設定値に基づき、被写体の明るさを表す測光値を算出するステップと、
算出された前記第１の露出評価値および前記第２の露出評価値に基づいて算出された前記測光値を調整するステップと、
算出された前記測光値から前記第１の撮像素子および前記第２の撮像素子を光に露出する度合いを表す露出値を算出するステップと、
算出された前記露出値に対応した、撮像素子を光に露出する露出時間および該撮像素子の光に対する感度を表す感度値を設定値として算出するステップとをさらに実行させる、請求項６に記載のプログラム。
【請求項８】
前記コンピュータに、
前記第１の画像の前記輝度値に基づいて前記第１の撮像素子のホワイトバランスを評価するための第１のホワイトバランス評価値を算出するステップと、
前記第２の画像の前記輝度値に基づいて前記第２の撮像素子のホワイトバランスを評価するための第２のホワイトバランス評価値を算出するステップとをさらに実行させる、請求項６または７に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置を制御する制御システム、その制御システムを備えた撮像装置、およびプログラムに関する。
【背景技術】
【０００２】
撮像装置としてのカメラは、CMOS（Complementary  Metal  Oxide  Semiconductor）イメージセンサ等の撮像素子を備え、撮像素子により入力された光を画像信号に変換する。そして、カメラは、その画像信号から取得した輝度値に基づき、適正露出になる露出値を算出し、その露出値からプログラム線図に従ってシャッタスピードや絞り値等の設定値の調整を行う。通常、カメラには、この調整を自動で行う自動露出制御機能（AE）が設けられている。【０００３】
ここで、輝度値は、画像の明るさの度合いを表す値であり、露出は、撮像素子を光にさらすことをいい、適正露出は、画像が人間から見て自然な明るさや色で表現される露出をいう。露出値は、撮像素子を光に露出する度合いを表す値であり、シャッタスピードは、撮像素子を光に露出し、また、光を遮断するために開閉可能なシャッタを開き、撮像素子を光にさらす時間（露出時間）である。絞り値は、撮像素子に写る像の明るさを表す値で、F値とも呼ばれる。プログラム線図は、露出値とシャッタスピードおよび絞り値とを対応付けた対応表である。【０００４】
AEでは、被写体の輝度が高くなると、シャッタスピードを速くし、絞りを小さくする制御を行う。カメラには、低コストで提供するために、絞り機構を搭載していないものもある。このような場合、シャッタスピードを変えることにより露出制御を行っている（例えば、特許文献１、２参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
例えば、動画を撮像する場合、連続的な繋がりが重要であるため、フレーム間での露出差に違和感が出ないように、細かく露出制御を行う必要がある。一般的に、CMOSイメージセンサのシャッタスピード分解能は、シャッタスピードが高速側にいくほど粗くなる。しかしながら、従来の技術では、被写体の輝度が高い環境下においてシャッタスピードを制御して露出を合わせることができず、精度良く露出制御を行うことができないといった問題があった。【０００６】
さらに、複数のレンズ光学系に対応する複数の撮像素子を有する撮像装置では、複数の撮像素子から得られる輝度値に基づいて露出やホワイトバランスの自動制御を行うことになるが、この方法では、一対の魚眼レンズを使用して全方位を撮像する全天球撮像カメラのように、２つの撮像素子から得られる画像の撮影範囲に重複領域が存在する場合においては、安定した制御がなされないことを本発明者は発見した。【０００７】
そこで、精度良く露出制御を行うことができるシステム、装置、方法等の提供が望まれていた。
【課題を解決するための手段】
【０００８】
本発明は、上記課題に鑑みなされたものであり、第１の魚眼レンズを使用して取得した第１の画像と第２の魚眼レンズを使用して取得した第２の画像に基づいて全天球画像を生成する撮像装置を制御する制御システムであって、前記第１の画像を構成する画素の画素値に基づいて該画像の輝度値を算出し、該輝度値に基づいて前記第１の魚眼レンズに対応する第１の撮像素子の露出を評価するための第１の露出評価値を算出するとともに、前記第２の画像を構成する画素の画素値に基づいて該画像の輝度値を算出し、該輝度値に基づいて前記第２の魚眼レンズに対応する第２の撮像素子の露出を評価するための第２の露出評価値を算出する評価値算出部を含み、前記評価値算出部は、前記第１の画像と前記第２の画像の間で撮影範囲が重複する重複領域を構成する画素の画素値を、該第１の画像の輝度値ならびに該第２の画像の輝度値の算出に使用しないことを特徴とする、制御システムを提供する。
【発明の効果】
【０００９】
本発明によれば、精度良く露出制御を行うことが可能となる。
【図面の簡単な説明】
【００１０】
【図１Ａ】図１Ａは、撮像装置の外観図および撮像装置により取得される画像を例示した図である。
【図１Ｂ】図１Ｂは、全天球カメラに搭載される鏡胴ユニット内の構造を模式的に示した図である。
【図２】図２は、撮像装置のハードウェア構成を示した図である。
【図３】図３は、図２に示す撮像装置により実施される処理の流れを示したフロー図である。
【図４】図４は、撮像装置に実装される制御システムの機能ブロック図である。
【図５】図５は、撮像装置により撮像前のモニタリング時の処理の流れを示したフローチャートである。
【図６】図６は、画像を複数のブロックに分割する例を示した図である。
【図７】図７は、AEテーブルを例示した図である。
【図８】図８は、プログラム線図を例示した図である。
【図９】図９は、シャッタスピードとISO感度とを算出する処理の流れを示したフローチャートである。
【図１０】図１０は、図９に示す処理において参照される補正情報を例示した図である。
【図１１】図１１は、WB  Gain処理において参照される白抽出範囲を例示した図である。
【発明を実施するための形態】
【００１１】
図１Ａは、本発明の実施形態である撮像装置１０の外観図および撮像装置１０により取得される画像を例示した図である。図１Ａに示すように、撮像装置１０は、対向する位置に一対のレンズ窓１１、１２を備えており、撮像位置から全方位を撮像することができるようになっている。以下、撮像装置１０を全天球撮像カメラ１０という。
【００１２】
図１Ｂは、全天球撮像カメラ１０に搭載される鏡胴ユニット２０内の構造を模式的に示した図である。図１Ｂに示すように、鏡胴ユニット２０内には、結像光学系２１とこれに対応する撮像素子２３からなる第１の撮像光学系、ならびに、結像光学系２２とこれに対応する撮像素子２４からなる第２の撮像光学系が含まれている。なお、結像光学系２１、２２は、例えば６群７枚の魚眼レンズを含んで構成される。
【００１３】
２つの結像光学系２１、２２の光学素子（レンズ光学系、プリズム、フィルタおよび開口絞り）と撮像素子２３、２４の位置は、結像光学系２１、２２の光軸が、対応する撮像素子２３、２４の受光領域の中心部に直交し、かつ、受光領域が、対応する魚眼レンズの結像面となるように位置決めされる。ここで、結像光学系２１、２２のレンズ光学系を構成する一対の魚眼レンズは、それぞれの光軸を一致させた状態で、互いに逆向きに配置される。
【００１４】
撮像素子２３、２４は、受光領域が面積エリアを成す２次元の固体撮像素子であり、対応する結像光学系２１、２２により集光された光を画像データに変換して、図示しないプロセッサに出力する。プロセッサでは、撮像素子２３、２４からそれぞれ入力される部分画像をつなぎ合わせて合成し、立体角４πラジアンの画像（以下「全天球画像」という。）を生成する。
【００１５】
ここで、全天球撮像カメラ１０においては、一対の結像光学系２１、２２のうち、一方の結像光学系により撮影された第１の画像を全天球フォーマットの上半球側に、他方の結像光学系により撮影された第２の画像をその下半球側にそれぞれマッピングした後、両者をつなぎ合わせることによって全天球画像を生成する。このとき、第１の画像と第２の画像のつなぎ位置を検出するために画像間で撮影範囲が重複する領域（以下、重複領域という）が必要となるため、結像光学系２１、２２を構成するそれぞれの魚眼レンズは、１８０度（＝３６０度／ｎ；ｎ＝２）より大きい全画角を有し、好適には、１８５度以上の画角を有し、より好適には、１９０度以上の画角を有する。なお、以下においては、結像光学系２１、２２をそれぞれ、単に、魚眼レンズ２１、２２という。
【００１６】
撮像は、撮影者が撮像SW１３を押下し、それをトリガーとして、２つの撮像素子を同時に露光することにより行われる。２つの撮像素子は、受光した光を電気信号に変換することにより画像を取得する。取得した画像は、魚眼レンズ２１、２２を使用して得られた画像であるため、魚眼画像と呼ばれる。２つの撮像素子によって取得された２つの魚眼画像は、その後の画像処理において、画像変換が行われ、重複領域で結合されて、全天球画像が生成される。
【００１７】
全天球撮像カメラ１０は、生成した全天球画像のデータを格納し、ユーザからの要求を受けて、図示しないPC等の表示手段を備える出力装置へ出力し、その表示手段に表示させることができる。また、全天球撮像カメラ１０は、生成した全天球画像を、図示しないプリンタやMFP（Multi  Function  Peripheral）等の出力装置に出力し、印刷出力することもできる。また、出力装置としてMFPやPCへ出力し、FAX送信やメール送信することも可能である。
【００１８】
図１には、全天球撮像カメラ１０により撮像された撮影画像として２つの魚眼画像も例示している。各魚眼画像は、センサA、B（図３参照）で撮像された画像を示し、センサBで撮像された魚眼画像には、太陽といった高輝度物体がシーンとして含まれている。このため、センサBの撮像素子には、フレアと呼ばれる白くぼやけた画像が生じ、２つの魚眼画像に明るさの違いが生じている。２つの魚眼画像は、それぞれの画像の境界部分にある適当な物体の画像を基に結合して合成画像を生成する。
【００１９】
画像によっては、フレアが高輝度物体を中心に撮像素子全体に広がる場合があり、また、境界部分に適当な物体の画像がない場合もある。このような場合でも、これまでに知られた方法により画像補正や画像処理を行い、上記の合成画像を生成することができる。この方法については、本発明とは直接関係がないので、ここではその説明を省略する。
【００２０】
図２は、全天球撮像カメラ１０のハードウェア構成を示した図である。全天球撮像カメラ１０は、鏡胴ユニット２０を備え、鏡胴ユニット２０には、結像光学系２１、２２と、撮像素子２３、２４とが含まれる。結像光学系２１、２２は、被写体からの光を集め、撮像素子２３、２４へ入射する。撮像素子２３、２４は、入射された光を電気信号に変換する。撮像素子２３、２４は、カメラ本体に設けられる後述するプロセッサ３０内にあるCPU３１からの制御指令により制御される。図２では、撮像素子２３、２４として、CMOSが使用されている。
【００２１】
ROMとして使用されるNAND  FLASH３２は、CPU３１が解読可能なコードで記述されたプログラムや制御を行うために使用される設定値等が格納されている。SW３３は、全天球撮像カメラ１０の電源をONにするための電源スイッチで、電源がONにされると、上記プログラムがCPU３１により図示しないメインメモリに読み出され、実行される。CPU３１は、上記プログラムを実行してカメラ内の各部の動作を制御するとともに、その制御に必要なデータ等をRAM３４と、プロセッサ３０内にある図示しないローカルSRAMとに一時的に保存する。ROMは、書き換え可能なフラッシュROMを使用することで、プログラムや設定値等を変更することができ、機能のバージョンアップを容易に行うことができるので好ましい。
【００２２】
プロセッサ３０は、Image  Signal  Processor（ISP）４０、４１を備える。ISP４０、４１は、撮像素子２３、２４から出力された画像データに対してホワイトバランス処理やガンマ補正処理を行う。ホワイトバランス処理は、太陽光や蛍光灯等の光源の種類に応じて、白い部分を白色として表現するためにゲインを掛ける処理である。ガンマ補正処理は、出力装置の特性を考慮し、出力が線形性を保つように入力信号に対して行う補正処理である。また、ISP４０、４１は、画像データに対してフィルタリング処理によって輝度値や色差値等を抽出することにより輝度情報としての輝度データや色差情報としての色差データへの変換を行う。なお、色差は、２つの色の差を定量化したものである。
【００２３】
全天球撮像カメラ１０は、SDRAM３５、３軸加速度センサ３６を備える。SDRAM３５は、ISP４０、４１により処理を行う前に、また、後述する歪曲補正および合成処理を実施する前に画像データを一時的に保存する。３軸加速度センサ３６は、全天球撮像カメラ１０の加速度を計測する。計測された加速度は、カメラの傾きや天地方向を決定するために使用される。
【００２４】
プロセッサ３０は、歪曲補正・合成処理部４２を備え、合成処理において、撮像素子２３、２４から出力され、ISP４０、４１により処理された２つの画像データを合成し、合成画像データを生成する。そして、歪曲補正・合成処理部４２は、３軸加速度センサ３６からの情報を利用して、歪曲補正と同時に天地補正を行い、傾きを補正した合成画像を生成する。歪曲補正では、例えば、変換テーブルを用い、魚眼画像を二次元の平面画像に変換される。
【００２５】
プロセッサ３０は、顔検出部４３を備え、傾きを補正した合成画像を用い、顔検出を行い、顔の位置を特定する。特定した顔の位置は、撮像時に焦点（ピント）を合わせるために使用される。SDRAM３５は、MEMC４４を介してARB  MEMC４５に接続され、３軸加速度センサ３６は、直接、歪曲補正・合成処理部４２に接続される。MEMC４４は、SDRAM３５からの画像データの読み出し、SDRAM３５への画像データの書き込みを制御するコントローラである。ARB  MEMC４５は、画像データのやりとりを調停するコントローラである。
【００２６】
ISP４０、４１、歪曲補正・合成処理部４２、顔検出部４３とARB  MEMC４５との間には、DMAC４６が設けられ、CPU３１を介さずに直接画像データが転送されるようになっている。ARB  MEMC４５は、DMAC４６、Imaging  Processing（IP）ブロック４７を介して画像データ転送部４８へ画像データ等を送る。IPブロック４７は、画像データに対して各種の画像処理を施す。画像データ転送部４８は、RAM３４からのデータの読み出し、RAM３４へのデータの書き込みを制御するSDRAMC４９と接続される。SDRAMC４９は、ブリッジ５０、メモリカード制御ブロック５１、USBブロック５２、CPU３１と接続される。
【００２７】
メモリカード制御ブロック５１は、画像データを記録するメモリカードを差し込み、メモリカードからのデータの読み出し、データの書き込みを行うメモリカードスロット３７と、NAND  FLASH３２とに接続される。メモリカード制御ブロック５１は、それらへのデータの読み書きを制御する。USBブロック５２は、PC等の外部機器とUSBコネクタ３８を介して接続し、その外部機器とUSB通信を行う。プロセッサ３０には、図示しない内蔵メモリが接続され、メモリカードスロット３７にメモリカードが装着されていない場合でも、撮像して得られた画像の画像データを記憶することができるようになっている。
【００２８】
プロセッサ３０は、シリアルブロックSPI５３、JPEGCODECブロック５４、H.264  codecブロック５５、RESIZEブロック５６を備える。シリアルブロックSPI５３は、PC等の外部機器とWi-Fi等の無線ネットワークインタフェース３９を介してシリアル通信を行う。JPEGCODECブロック５４は、JPEG圧縮・伸張を行うためのコーディックブロックで、H.264  codecブロック５５は、H.264動画圧縮・伸張を行うためのコーディックブロックである。RESIZEブロック５６は、画像データの画像サイズを補間処理によって拡大または縮小を行うためのブロックである。
【００２９】
プロセッサ３０は、さらに、SW３３からのON／OFFの指令を受け付け、全天球撮像カメラ１０の電源をON／OFFを行うペリフェラルブロック５７、各部への電源供給を制御する電源コントローラ５８を備える。また、プロセッサ３０は、音声を記録し、再生する音声記録・再生ユニット５９を備える。音声記録・再生ユニット５９には、ユーザが音声信号を入力するマイク６０と、記録された音声信号を出力するスピーカ６１とが接続される。音声記録・再生ユニット５９は、マイク６０により入力された音声信号を増幅するマイクAMPと、増幅された音声信号を記録する音声記録回路とを含む。また、音声記録・再生ユニット５９は、記録された音声信号をスピーカ６１から出力できる信号に変換する音声再生回路と、変換された音声信号を増幅し、スピーカ６１を駆動するためのオーディオAMPとを含む。この音声記録・再生ユニット５９は、CPU３１の制御の下で動作する。
【００３０】
なお、SDRAM３５や図示しない内蔵メモリ等に保存される画像データとしては、ISP４０、４１によりホワイトバランス設定およびガンマ設定が行われた状態のRAW-RGB画像データ、フィルタリング処理された後のYUV画像データが挙げられる。また、JPEGCODECブロック５４でJPEG圧縮されたJPEG画像データ等が挙げられる。
【００３１】
また、プロセッサ３０は、LCDドライバ６２と呼ばれるLCDモニタ６３を駆動するドライブ回路を備えている。LCDドライバ６２は、CPU３１からの指令を、LCDモニタ６３に画像データや現在の状態（ステータス）を表示するための信号に変換する。
【００３２】
図３は、図２に示す全天球撮像カメラ１０により実施される処理の流れを示したフロー図である。撮像素子２３をセンサAとし、撮像素子２４をセンサBとし、センサAに接続されるISP４０をISP1-A、ISP2-Aとし、センサBに接続されるISP４１をISP1-B、ISP2-Bとして説明する。センサAから出力された画像データは、ISP1-Aに入力され、センサBから出力された画像データは、ISP1-Bに入力される。ISP1-AおよびISP1-Bでは、OB補正、欠陥画素補正、リニア補正、シェーディング補正、領域分割平均処理を実施する。
【００３３】
OB補正は、オプティカルブラック補正で、この補正処理では、オプティカルブラック領域の出力信号を黒の基準レベルとして取得し、画像データの有効画素領域の出力信号を補正する。
【００３４】
センサA、Bには多数の画素が配列され、これは、半導体基板上に多数のフォトダイオード等の感光素子を形成することにより製造される。この製造にあたり、半導体基板に不純物が混入する等の原因により局所的に画素値の取り込みが不能な欠陥画素が発生する場合がある。こういった欠陥画素に対して適切な画素値を与えるために、欠陥画素補正が行われる。なお、欠陥画素補正では、欠陥画素に隣接した複数の画素からの合成信号に基づいてその欠陥画素の画素値を補正する。
【００３５】
リニア補正では、欠陥画素補正が行われた画像データを、線形性を有する画像データへ変換する。このリニア補正は、RGB毎に施される。
【００３６】
センサA、Bの面上では、光学系や撮像系の特性等により輝度ムラが生じる。シェーディング補正は、この輝度ムラに対して一様な明るさの画像となるように、有効画素領域の出力信号に対して所定の補正係数を乗じてその歪みを補正する。シェーディング補正では、RGBの色毎に異なる補正係数を乗じることで領域毎の感度補正を行うことができる。
【００３７】
領域分割平均処理では、有効画素領域を所定サイズの大きさからなるブロックに分割する。このブロックは、後述するAE処理およびAWB処理において平均輝度を算出するために使用される。
【００３８】
これらの処理が行われた後の画像データは、DRAMに保存される。なお、各センサA、Bは、独立な簡易AE処理機能を有しており、各センサA、Bが単独で適正露出に設定することができるようになっている。各センサA、Bの露出条件の変化が小さくなり、安定してきた場合は、両眼の画像の画像境界部分の明るさが合うように、領域分割平均処理により得られた後述するエリア積算値を用い、各センサA、Bを適正露出に設定する。
【００３９】
ISP1-A、ISP1-Bによる処理が終了したところで、ISP2-A、ISP2-Bによる処理が実行される。ISP2-A、ISP2-Bでは、WB  Gain処理、ガンマ補正処理、ベイヤー補間処理、YUV変換処理、YCFLT処理、色補正処理が実施され、その結果はDRAMに保存される。
【００４０】
被写体からの光量を蓄積するCMOSのフォトダイオード上には、画素毎に赤（R）、緑（G）、青（B）のいずれか１色のカラーフィルタが貼付されている。フィルタの色によって透過する光量が変わってくるため、フォトダイオードに蓄積される電荷量も異なってくる。最も高い感度をもつ色はGであり、R、BはGの約半分である。そこで、WB  Gain処理（ホワイトバランス処理）では、撮像された画像中の白色を白く見せるために、RとBに対してゲインを掛ける処理を行う。また、物の色は、光源の種類（太陽や蛍光灯等）によってその色も変わってくるため、光源の種類が変わっても白色を白く見せるようにゲインを変更し、制御する機能を備えている。
【００４１】
ディスプレイ等の出力装置には、出力装置へ入力される入力信号と、表示するために出力する出力信号との関係が非線形な曲線で表され、非線形な入出力変換を行う装置がある。このような非線形の出力の場合、明るさに階調性がなく、画像が暗くなるため、人がその画像を正しく見ることができなくなる。そこで、ガンマ補正処理では、出力装置の特性を考慮し、出力が線形性を保つように予め入力信号に対して処理を行う。
【００４２】
CMOSはベイヤー配列と呼ばれる配列で、１画素にRGBのいずれか１色のカラーフィルタが貼付され、出力されるRAWデータは１画素に１色の情報しかない。RAWデータから画像として見るためには、１画素にRGBの３色の情報が必要である。ベイヤー補間処理では、不足する２色の情報を得るために、周辺の画素から補間する補間処理を行う。
【００４３】
RAWデータは、RGBの３色によるRGBデータ形式である。YUV変換処理では、RGBデータ形式の画像データを、YUVと呼ばれる輝度（Y）、色差（UV）からなる色空間をもつYUVデータ形式へ変換する。
【００４４】
YCFLT処理は、エッジ強調処理であり、画像の輝度信号からエッジ部分を抽出し、抽出したエッジに対してゲインを掛け、それと並行して画像のノイズをローパスフィルタ（LPF）により除去する。そして、エッジ強調処理では、ゲインを掛けた後のエッジのデータと、LPF処理後の画像データとを加算する処理を行う。
【００４５】
色補正処理は、彩度設定、色相設定、部分的な色相変更設定、色抑圧設定等を行う。彩度設定は、色の濃さを決定するパラメータを設定する処理で、UV色空間を示すものである。
【００４６】
DRAMに保存された画像データは、クロップ処理が施される。クロップ処理は、画像の中心領域を切り抜き、サムネイル画像を生成する処理である。切り抜かれた画像は、正則画像と呼ばれ、その正則画像データは、図２に示す歪曲補正・合成処理部４２へ送られる。この歪曲補正・合成処理部４２で３軸加速度センサ３６からの情報に基づき、傾き補正である天地補正が行われる。そして、JPEGCODECブロック５４により例えば０．１６の圧縮係数にてJPEG圧縮される。このデータは、DRAMに保存され、タグ付けが行われる。
【００４７】
また、このデータは、メモリカード制御ブロック５１を介してメモリカードスロット３７に装着されたメモリカードに保存される。なお、スマートフォン等の通信端末へ転送する場合は、シリアルブロックSPI５３および無線ネットワークインタフェース３９を介し、Wi-Fi等の無線LAN、Bluetooth（登録商標）、赤外線通信を利用し、無線通信により転送することができる。
【００４８】
これまで全天球撮像カメラ１０の構成およびカメラ内で実行される処理について簡単に説明してきた。従来のカメラでは、上述したようにシャッタスピードを制御して細かく露出制御を行うことができなかった。これでは、動画を撮像する場合、フレーム間での露出差に違和感が出てしまい、繋がりのない映像になってしまう。そこで、この全天球撮像カメラ１０は、これを解決するために、図４に示すような機能部を備える制御システムが設けられる。
【００４９】
図４は、全天球撮像カメラ１０に実装される制御システムの機能ブロック図である。ここでは、制御システムが全天球撮像カメラ１０に実装されたものとしているが、全天球撮像カメラ１０の外部の別の機器とすることもできるし、ネットワークに接続されるサーバ装置等に実装されていてもよい。制御システムが備える各機能部は、CPU３１がプログラムを実行することにより実現される。以下、全天球撮像カメラ１０を、単にカメラとして説明する。
【００５０】
制御システム１００は、機能部として、算出部１０１と、記憶部１０２と、補正部１０３と、設定部１０４とを含んで構成される。カメラは、撮像素子を備え、撮像素子が被写体からの光を取り込み、それを電気信号に変換して被写体の画像を取得する。なお、カメラは、撮像前のモニタリング時には一定のフレームレートで被写体の画像を取得し続ける。算出部１０１は、カメラの制御および処理に関して設定された、カメラを制御するための設定値を、該カメラから取得し、取得した設定値に基づき、被写体の明るさを表す測光値を算出する。算出された測光値は、被写体輝度値とされる。算出部１０１は、この測光値を算出するための測光値算出部を含む。
【００５１】
算出部１０１は、算出した測光値から、撮像素子を光に露出する度合いを表す露出値を算出する。このため、算出部１０１は、この露出値を算出するための露出値算出部も含む。露出値は、後述するプログラム線図により、適正露出にするための、撮像素子を光に露出する露出時間を表すシャッタスピード、撮像素子の光に対する感度を表す感度値としてのISO感度と対応付けられている。このため、プログラム線図を用いることで、露出値から適正露出にするためのシャッタスピードとISO感度とを求めることができる。算出部１０１は、算出した露出値からシャッタスピードとISO感度とを上記の設定値として算出する。このため、算出部１０１は、これら設定値を算出するための設定値算出部も含む。
【００５２】
さらに、算出部１０１は、撮像素子のAE評価値およびAWB評価値を算出するための評価値算出部と、撮像素子のAE評価値に基づいて測光値算出部が算出した測光値を調整する測光値調整部を含む。なお、AE評価値とAWB評価値の詳細については後述する。
【００５３】
このカメラは、レンズを通って撮像素子上に写る像の明るさを調整する絞りを備えていないため、算出部１０１は、上記のシャッタスピードとISO感度を算出することができる。しかしながら、絞りを備えるカメラを用いる場合は、算出部１０１は、その明るさを調整する度合いを表す絞り値（Ｆ値）も算出することができる。
【００５４】
ちなみに、絞り値が大きい場合は、レンズを通る光量が少なくなる。シャッタスピードが速い場合は、露出時間が短くなる。このため、動いている被写体をぶれずに撮像することができる。ISO感度を上げると、撮像素子で変換された電気信号が増幅され、画像を明るくすることができる。このため、絞り値を一定にしてISO感度を２倍にすると、画像が明るくなるので、シャッタスピードを２倍にして露出時間を短くすれば、適正露出に調整することができる。
【００５５】
記憶部１０２は、所定のシャッタスピードと、そのシャッタスピードに対応するISO感度を補正するための補正情報を記憶する。補正情報の詳細については後述する。補正部１０３は、算出部１０１により算出されたシャッタスピードが、記憶部１０２に記憶された補正情報で指定されているシャッタスピードのいずれかに該当するかを判断する。補正部１０３は、該当すると判断した場合、記憶部１０２に記憶された補正情報に基づき、算出部１０１により算出されたシャッタスピードとISO感度とを補正する。
【００５６】
設定部１０４は、補正部１０３により補正されたシャッタスピードとISO感度とを設定値としてカメラに設定し、カメラの露出制御を行う。カメラは、設定された補正後のシャッタスピードおよびISO感度に調整して被写体の撮像を行う。
【００５７】
CMOSイメージセンサのシャッタスピード分解能は、上述したように高速側で粗くなるため、従来の制御では、被写体の輝度が高い環境下でシャッタスピードを制御して適正な露出にすることができなかった。しかしながら、上記のようにシャッタスピードとISO感度とを補正し、それらを設定値としてカメラに設定することで、細かい露出制御が可能となり、被写体の輝度が高い環境下でも適正な露出にすることが可能になる。
【００５８】
カメラの各機能部が行う詳細な処理の内容について、図５に示すフローチャートを参照して説明する。図５は、撮像前のモニタリング時における一連のAE処理の流れを示したフローチャートである。AE処理は、ステップ５００から開始し、ステップ５０５では、シャッタスピードとISO感度の初期値を、センサA、Bに対して設定する。設定する値は、センサA、Bで共通の値である。例えば、簡易AE処理機能を使用し、適正露出になるようにこれらの値を設定することができる。なお、設定する値には、Apex形式の値が用いられる。Apex形式は、単位系がばらばらのものを同じ尺度で考えられるようにした形式である。このため、加算や減算等の演算が可能となる。
【００５９】
算出部１０１が測光値である被写体輝度値Bvと、露出値Evとを算出する。これらの算出には、シャッタスピードTvと、ISO感度Svとを用い、下記式（１）により算出する。式（１）中、Avは、絞り値であり、この例では、カメラとして絞りを備えていない全天球撮像カメラ１０を使用するので、Avの値は固定となる。また、0x50は、Svの基準値であり、例えばISO100のときのSvの値とされる。ちなみに、Bv、Ev、Av、0x50のいずれも、Apex形式の値である。
【００６０】
【数１】
2017043190.tif 000003
【００６１】
ステップ５１０では、カメラにより画像のRAW-RGBデータである検波値が取得されるのを待つ。したがって、検波値が取得されるまでステップ５１０の判断が繰り返される。この検波値の取得はフレーム毎に行われる。ステップ５１５では、設定されたTv、Svが反映された検波値であるかどうかを判断する。反映された検波値でない場合は、ステップ５１０へ戻り、再び検波値の取得を待ち、検波値を取得する。反映された検波値かどうかは、各センサの露出条件の変化が小さくなり、安定したかどうかにより判断することができる。反映された検波値であると判断された場合、ステップ５２０へ進む。なお、ここで反映された検波値であるかどうかを判断することで、反映された検波値と判断されるまで後述するエリア積算値の算出等の処理をくり返し行う必要がなくなり、計算負荷を軽減することができる。
【００６２】
ステップ５２０では、算出部１０１は、取得した検波値からセンサA、Bの各々につき、エリア積算値を算出する。エリア積算値は、以下のようにして算出することができる。まず、図６に示す魚眼画像のRAW-RGBデータから水平１６×垂直１６の複数の領域であるブロックにより等分割を行う。このため、算出部１０１は、複数の領域に分割を行う領域分割部を含むことができる。なお、RAW-RGBデータは、画像を構成する画素の画素値としてのRGB値を含む。次に、分割された各ブロックに対してRGB値を積算する。そして、ブロック単位でRGB値から下記式（２）により輝度値（Y値）を求め、このY値をエリア積算値とする。式（２）中、Rは、RGB値におけるR値、Gは、RGB値におけるG値、Bは、RGB値におけるB値である。
【００６３】
【数２】
2017043190.tif 000004
【００６４】
ここでは、ブロックの分割数を１６×１６＝２５６としたが、これに限定されるものではない。分割数は、少ないほど計算処理を少なくし、計算時間を短縮できるので好ましいが、分割数が少なすぎると、計算精度が低下するので、自然数n×nに分割するとき、nは４以上とされる。また、n×nのように等分割であることを必ずしも要するものではないが、全ての分割したブロックが等面積かつ同じ形状に分割されていることが好ましい。
【００６５】
エリア積算値の算出は、撮像した画像を上記のように等分割したブロックを用いて行う。例えば、撮像した画像が約１０００万画素である場合、各ブロックは、約１０００／２５６＝約３．９万画素を有することになる。各画素は、対応する被写体部分のR、G、B成分の情報をもち、例えば１２ビットの情報（０〜２５５）として記録され、利用される。このことから、各ブロックは、約３．９万個のR、G、B成分の情報を含んでいる。エリア積算値は、各ブロックがもつ約３．９万個のR、G、B成分の情報を、R、G、B成分の各々につき、積算して算出する。
【００６６】
ちなみに、この例で使用されるCMOSは、R、G、Bの各画素の比率がR：G：B＝１：２：１となっているため、各ブロックのR画素は約０．９７５万画素、G画素は約１．９５万画素、B画素は約０．９７５万画素となる。
【００６７】
再び図５を参照して、ステップ５２５では、算出部１０１の評価値算出部は、エリア積算値を積算したRGB値の数（積算数）で除してAE評価値を算出する。このAE評価値は、撮像素子の露出を評価するための露出評価値であり、後の露出演算に使用される。
【００６８】
ステップ５３０では、一定の値以下になるセンサAとセンサBのAE評価値を平均し、AEテーブルを基に適正露出との差分（ΔEv）を算出する。一定の値以下としているのは、誤差のあるAE評価値を、平均を計算する際に使用しないようにするためである。
【００６９】
AEテーブルは、図７に示すように、AE評価値に対応する適正露出との差分（ΔEv）を表したテーブルである。例えば、上記で平均したAE評価値が９２０であった場合、AEテーブルからΔEvが＋１と求められる。この＋１は、適正露出から１Ev明るいことを示している。なお、AE評価値がAEテーブルに示された２つの値の間にある場合は、線形補間によりΔEvを算出する。
【００７０】
また、AE評価値が５８未満あるいは３６８０を超える場合は、ΔEvはAEテーブル内の最小値である−３もしくは最大値である＋３にクリップする。したがって、AE評価値が５０でも、２５でも、ΔEvは−３と算出し、AE評価値が３６８１でも、５０００でも、ΔEvは＋３と算出する。
【００７１】
ここで、本実施形態では、先のステップ５２０において、図６に示す魚眼画像のRAW-RGBデータの遮光されていない円形内側部分のうち、重複領域を除く非重複領域（すなわち、円形中心を0度とした0〜90°までの領域）を構成する画素の画素値のみに基づいてエリア積算値を算出する。すなわち、例えば、魚眼レンズ２１、２２の画角が２００度°であった場合、図６に示すように、魚眼画像のRAW-RGBデータのうち、重複領域（すなわち、円形中心を0度とした90°〜100°までの領域）を構成する画素の画素値については、これをエリア積算値（輝度値）の算出のために使用しない。これは、重複領域を構成する画素の画素値に基づいてエリア積算値（輝度値）を算出すると、以下のような問題が生じることによる。
【００７２】
例えば、魚眼レンズ２１の画角と魚眼レンズ２２の画角が重複する撮影範囲に高輝度の被写体（例えば、太陽）が存在する場合、センサA、Bの各々に対応するRAW-RGBデータについて、重複領域を構成する画素の画素値を使用してエリア積算値（輝度値）を算出すると、ステップ５２５で算出されるセンサAのAE評価値とセンサBのAE評価値の両方が高輝度の被写体の影響を受けて大きくなり、結果として、２つのAE評価値の平均値が被写体の実際の輝度を正しく反映しなくなるという問題が生じる。
【００７３】
同様に、魚眼レンズ２１の画角と魚眼レンズ２２の画角が重複する撮影範囲に低輝度の被写体（例えば、陰）が存在する場合、センサA、Bの各々に対応するRAW-RGBデータについて、重複領域のデータを積算値に算入すると、ステップ５２５で算出されるセンサAのAE評価値とセンサBのAE評価値の両方が低輝度の被写体の影響を受けて小さくなり、結果として、２つのAE評価値の平均値が被写体の実際の輝度を正しく反映しなくなるという問題が生じる。
【００７４】
この点につき、本実施形態においては、図６に示す魚眼画像のRAW-RGBデータの遮光されていない円形内側部分のうち、重複領域を構成する画素の画素値をエリア積算値（輝度値）の算出のために使用しないで、非重複領域を構成する画素の画素値のみに基づいてエリア積算値を算出するので、魚眼レンズ２１と魚眼レンズ２２の重複する撮影範囲に存在する被写体に影響されることなく、安定した露出制御を行うことができる。
【００７５】
再び図５を参照して、ステップ５３５では、算出部１０１の測光値調整部が前回算出したBvにΔEvを加算し、被写体の輝度値であるBvを更新する。算出部１０１は、この更新したBvを基に、上記式（１）を使用して露出値を算出する。例えばΔEvが０である場合、適正露出と判断し、ΔEvが０となるEvを算出する。ステップ５４０では、算出したEvを用い、例えば図８に示すプログラム線図に従って露光条件、すなわちシャッタスピードTv、ISO感度Svを算出する。そして、補正部１０３が補正を行った後、設定部１０４が、補正後のTv、Svを、センサA、Bの両方に設定する。
【００７６】
続くステップ５４５では、算出部１０１の評価値算出部は、先のステップ５２０で算出したエリア積算値を積算したRGB値の数（積算数）で除して下記式（３）および式（４）によりAWB評価値（G／R、G／B）を算出する。このAWB評価値は、撮像素子のホワイトバランスを評価するためのホワイトバランス評価値であり、後段のWB  Gain処理（ホワイトバランス処理）に使用される。
【００７７】
【数３】
2017043190.tif 000005
【００７８】
なお、先述したWB  Gain処理では、AWB評価値（G／R、G／B）を基に予め内部で持っている白抽出範囲内のものを平均してホワイトバランスゲイン（Rgain、Bgain）とする。ここで、白抽出範囲とは、図１１に示すようにＧ／Ｒをｘ軸、Ｇ／Ｂをｙ軸とする２次元の色座標である。
【００７９】
ステップ５５０では、算出されたRgain、Bgainを設定値として図３に示すISP2-A、ISP2-BのWB  gain処理に設定する。
【００８０】
本実施形態においては、図６に示す魚眼画像のRAW-RGBデータの遮光されていない円形内側部分のうち、重複領域を構成する画素の画素値を使用しないで、非重複領域を構成する画素の画素値のみに基づいて算出されたエリア積算値（輝度値）に基づいて上述したAWB評価値（G／R、G／B）を算出するので、魚眼レンズ２１と魚眼レンズ２２の重複する撮影範囲に存在する被写体に影響されることなく、安定したホワイトバランス処理を行うことができる。
【００８１】
ステップ５５５では、モニタリングが終了したかを判断する。モニタリングは、撮像前のシャッタが開かれ、撮像素子へ光が入射されている状態であるため、撮像が開始されることにより、また、カメラの電源がOFFにされることにより終了する。モニタリングが終了していない場合は、ステップ５１０へ戻り、ステップ５１０からステップ５５０までの処理を繰り返す。一方、モニタリングが終了した場合は、ステップ５６０へ進み、処理を終了する。
【００８２】
モニタリング時には、設定値としての上記Tv、Svの算出、設定が繰り返し行われ、適正露出になるように、その設定値が調整される。
【００８３】
ステップ５４０では、例えば算出したEvが９であった場合、図８に示すプログラム線図のEv９から斜めの線が太線と交差する点のシャッタスピードTv７、ISO感度Sv５を、それぞれの値として算出する。ちなみに、図８中、Ev、Tv、Svの横に示される９、７、５という数値がApex形式で表した値である。また、Tvの下側に示される分数は、Apex形式で表していない元のシャッタスピードの値であり、Svの右側に示される数値は、Apex形式で表していない元のISO感度の値である。
【００８４】
図５に示すステップ５４０のTv、Svの算出、設定について、図９に示すフローチャートを参照して詳細に説明する。ステップ９００からこの処理を開始し、ステップ９０５では、算出部１０１が、ステップ５３５で更新したBvから図８に示すプログラム線図に従ってTv、Svを算出する。算出方法については上記で説明したので、ここではその説明を省略する。
【００８５】
ステップ９１０では、補正部１０３が、算出されたTvが上記の補正情報としての補間テーブルのTvのいずれかに該当するかを判断する。補間テーブルの一例を、図１０に示す。補間テーブルは、入力フィールドと出力フィールドとを有し、入力フィールドには、補正前のTvが設定され、出力フィールドには、補正後のTv、それに対応するSv補正値が設定される。したがって、補間テーブルは、これらの値を対応付けた対応表である。なお、これらの値は、予め試験を行う等して得られた最適な値を設定することができる。
【００８６】
補正前のTvには、補正が必要とされるシャッタスピードの、例えば高速側の所定の値が設定される。図１０では、カメラが１／１６分解能をもつものとし、0x10、0x20、0x30、…、0xC0、…を１／２、１／４、１／８、…、１／４０００、…のシャッタスピードとした場合の所定の値が設定されている。ちなみに、入力フィールドの0xBFは１／３９００に相当する。
【００８７】
例えば、算出されたTvが0xBFであった場合、この補間テーブルに従えば、Tvを0xC0に補正し、算出されたSvに＋１する補正を行う。＋１とは、算出されたSvがISO100であれば１／１６段階上の感度であるISO104に、ISO200であればISO208にすることを意味する。したがって、＋２の場合は、算出されたSvがISO100であれば２／１６段階上の感度であるISO109となる。
【００８８】
上記の例でいえば、算出されたTvが0xBFである場合、0xCOに変更する。これにより、シャッタスピードが速くなるため、被写体の明るさは暗くなる。そこで、対応するSvを＋１してISO感度を上げて被写体の明るさを明るくすることで、適正な明るさに調整する。
【００８９】
ステップ９０５で算出されるTvの値は、カメラが１／１６分解能をもつため、0xB1や0xB9等の値として得られ、その値は、必ずしもシャッタスピードとして設定することができる値とは限らない。例えば、シャッタスピードとして設定可能な１／２９００秒(0xB7)と１／４０００秒（0xCO）との間の場合もある。その間の値は、設定することができないので、使用することができない。このような使用することができないシャッタスピードを補間テーブルに設定し、補正を行うようにすることで、細かい露出制御を実現することができる。ここでは、補間テーブルを使用した例について説明したが、これに限られるものではなく、補正前のTvと補正後のTvとの関係を表した変換式等によって補正後のTvを求めてもよい。
【００９０】
ステップ９１０で補間テーブルの入力Tvのいずれかに該当する場合、ステップ９１５へ進み、補間テーブルに従って、算出したTvから補正後Tv、Sv補正値を取得する。ステップ９２０では、取得したTv、Sv補正値を用いて、算出したTv、Svの補正を行う。補正が終了したところで、また、ステップ９１０で補間テーブルの入力Tvのいずれにも該当しない場合、ステップ９２５へ進む。
【００９１】
ステップ９２５では、補正により得られたTv、Sv、もしくは算出されたTv、Svを設定値としてセンサA、Bに設定し、ステップ９３０でこの処理を終了する。カメラが撮像を行う場合、この設定されたTv、Svを使用して被写体の撮像が行われることになる。
【００９２】
被写体の撮像時には、さらに適正露出になるように、上記のガンマ補正で使用するガンマ値を調整し、または上記のホワイトバランス処理で使用するゲイン値を調整する等して、画像の輝度情報を調整することができる。
【００９３】
これまで本発明を、制御システム、撮像装置、制御方法として上述した実施の形態をもって説明してきたが、本発明は上述した実施の形態に限定されるものではない。本発明は、他の実施の形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。したがって、本発明は、制御方法をコンピュータに実行させるためのプログラムやそのプログラムが記録された記録媒体、そのプログラムを、ネットワークを介して提供するサーバ装置等も提供することができるものである。
【符号の説明】
【００９４】
１０  全天球撮像カメラ
１１、１２  レンズ窓
１３  撮像SW
２０  鏡胴ユニット
２１、２２  結像光学系（魚眼レンズ）
２３、２４  撮像素子
３０  プロセッサ
３１  CPU
３２  NAND  FLASH
３３  SW
３４  RAM
３５  SDRAM
３６  ３軸加速度センサ
３７  メモリカードスロット
３８  USBコネクタ
３９  無線ネットワークインタフェース
４０、４１  ISP
４２  歪曲補正・合成処理部
４３  顔検出部
４４  MEMC
４５  ARB  MEMC
４６  DMAC
４７  IPブロック
４８  画像データ転送部
４９  SDRAMC
５０  ブリッジ
５１  メモリカード制御ブロック
５２  USBブロック
５３  シリアルブロックSPI
５４  JPEGCODECブロック
５５  H.264  codecブロック
５６  RESIZEブロック
５７  ペリフェラルブロック
５８  電源コントローラ
５９  音声記録・再生ユニット
６０  マイク
６１  スピーカ
６２  LCDドライバ
６３  LCDモニタ
１００  制御システム
１０１  算出部
１０２  記憶部
１０３  補正部
１０４  設定部
【先行技術文献】
【特許文献】
【００９５】
【特許文献１】特開平２−２８８５６０号公報
【特許文献２】特許第３７７８１１４号公報
【図１Ａ】
2017043190.tif 000006
【図１Ｂ】
2017043190.tif 000007
【図２】
2017043190.tif 000008
【図３】
2017043190.tif 000009
【図４】
2017043190.tif 000010
【図５】
2017043190.tif 000011
【図６】
2017043190.tif 000012
【図７】
2017043190.tif 000013
【図８】
2017043190.tif 000014
【図９】
2017043190.tif 000015
【図１０】
2017043190.tif 000016
【図１１】
2017043190.tif 000017
【国際調査報告】
2017043190.tif 000018
2017043190.tif 000019
2017043190.tif 000020
2017043190.tif 000021