以下、図面を参照しながら本技術の実施の形態について説明する。なお、説明は以下の順序で行うものとする。
1.本技術の概要
2.本技術の実施の形態
3.本技術の実施の形態の変形例
4.本技術の信号処理の詳細な内容
5.N枚合成の計算式
6.固体撮像装置の構成例
7.コンピュータの構成例
8.応用例
<1.本技術の概要>
(輝度差が非常に大きい撮影対象の撮影の例)
近年、自動運転など高度な運転制御を実現することを目的として自動車に車載カメラが搭載されるケースが増えている。しかしながら、車載カメラでは安全性を確保するため、トンネルの出口など輝度差が非常に大きい条件においても視認性を担保することが求められており、画像の白飛びを抑えて広ダイナミックレンジ化するための技術が必要な状況である。
図1は、輝度差が非常に大きい撮影対象の撮影の例を説明する図である。図1においては、トンネルの出口の撮影の例を示しているが、トンネルの出口の状況が認識できないと、安全を確保するための運転制御を行うことができない。
(点滅する撮影対象の撮影の例)
また、近年において、信号機や標識の光源が電球からLEDに置き換わりつつある。しかしながらLEDは明滅の応答速度が従来式の電球に比べて高速であるため、撮影装置でLEDの信号機や標識を撮影するとフリッカが発生し消灯して見えてしまうという問題があり、ドライブレコーダの証拠能力の担保や自動車の運転自動化に向けて大きな課題となっている。
図2は、点滅する撮影対象の撮影の例を説明する図である。図2において、第1フレーム(Frame1)と第2フレーム(Frame2)の画像では、青(左端)が点灯している信号機が映っているが、第3フレーム(Frame3)と第4フレーム(Frame4)の画像では、消灯している状態の信号機が映っている。
このように、信号機が消灯した状態で映ることは、例えば、ドライブレコーダに利用されている場合に、映像(画像)の証拠能力に支障をきたす原因になる。また、信号機が消灯した状態で映ることは、その画像が、例えば、自動車の自動運転に利用されている場合に、自動車の停止等の運転制御に支障をきたす原因になる。
(車両前方の認識の例)
また、自動運転を実現する際に、自動車の進行方向に存在する先行車両や、道路を横断中の歩行者等の障害物(対象物)を認識するための技術が必須となる。例えば、自動車の前方の障害物の検出が遅れると、自動ブレーキの動作が遅れてしまう可能性がある。
図3は、車両前方の認識の例を説明する図である。図3においては、自動車の前方を走行する2台の車両や路面の状態等が認識され、その認識結果に応じた自動運転の制御が行われる。
(輝度差が非常に大きいシーンにおいて、点滅する撮影対象に対する対処方法)
ここで、上述した特許文献1には、複数の異なる露光量で撮影された画像を合成することで白飛びを抑制し、見かけのダイナミックレンジを拡大する手法が提案されている。この手法においては、図4に示すように、露光時間の長い長時間露光画像(長蓄画像)の輝度値を参照し、明るさが所定の閾値を下回れば長時間露光画像(長蓄画像)、上回れば短時間露光画像(短蓄画像)を出力することで、広いダイナミックレンジを持つ画像を生成することが可能となる。
一方で、図2に示したように、LED信号機など高輝度な被写体が点滅をしている場合に、長時間露光画像(長蓄画像)と短時間露光画像(短蓄画像)との合成を行うことで、本来信号機の点灯状態が記録されるべきであるにも関わらず消灯状態が記録されてしまう場合がある。図5には、信号機の点灯状態が記録されるべきであるにも関わらず、消灯状態が記録されてしまう場合の例を示している。
図5の例においては、長蓄画像にのみ、LED点灯状態が映っている場合に、光源が明るいため、信号が飽和して閾値を上回っている。そのため、長蓄画像から短蓄画像への置き換えが生じることになるが、短蓄画像には、LED点灯状態が映っていないため、消灯状態が発生してしまう。また、図5の例においては、短蓄画像にのみ、LED点灯状態が映っている場合に、長蓄画像の明るさが、閾値を下回っているため、長蓄画像から短蓄画像への置き換えは発生しない。その結果、長蓄画像にはLEDの点灯状態が映っていないため、消灯状態が発生してしまう。
また、図2に示したLEDのフリッカに対しては、点滅光源の消灯期間を上回る露光時間で撮影を行うことで、発光期間の撮り逃しを防ぐ手法がある。例えば、光源の点滅周波数が100Hz、発光Duty比が60%であれば消灯期間4msを露光時間の下限値とし、常にそれ以上の露光時間を確保することで光源の点灯状態を撮影し続けることができる(上述した特許文献2参照)。図6には、点滅光源の消灯期間を上回る露光時間で撮影を行う場合の例を示している。図6の例では、消灯期間4msの場合において、4ms < 露光時間となっている。
しかしながら、車載カメラなどレンズF値を固定で使用しなければならないシステムの場合、晴天時の屋外など照度の高い状況下では、露光時間を光源の消灯期間よりも短くできないため、露光過多となり、被写体の視認性が低下してしまう。そのため、図1に示した画像の白飛びが発生するような輝度差の大きいシーンにおいては、画像のダイナミックレンジを拡大する効果は得られない。
(現状の技術の手法)
図1に示した画像の白飛びと、図2に示したLEDのフリッカを同時に解決するための手法として、異なる露光時間で撮影した複数の撮影画像の加算信号を用いて、ダイナミックレンジの拡大された信号を生成する手法(以下、現状の技術の手法という)がある。
図7及び図8は、現状の技術の手法を説明するための図である。
この現状の技術の手法では、異なる露光時間(T1,T2)で撮影した複数の撮影画像(長蓄画像、短蓄画像)を合成することにより、ダイナミックレンジを拡大すると同時に、複数の撮影画像(長蓄画像、短蓄画像)の加算値を常に用いている。そのため、異なる露光タイミングで露光された複数の撮影画像のうち、いずれかの撮影画像にしか、LEDの点灯状態が記録されていない状況においても、そのLEDの点灯状態を含む撮影画像の画像信号を有効に活用して、LEDの消灯状態の発生を抑制することができる。
具体的には、現状の技術の手法では、次のような処理が行われる。すなわち、現状の技術の手法では、まず、長蓄(P1)と短蓄(P2)とを加算して得られる加算信号Plo(Plo = P1 + P2)の傾きが変化するポイント(ニーポイントKp1)を求める。ニーポイントKp1は、長蓄(P1)が飽和し、加算信号Ploの傾きが変わる信号量であると言える。
ここで、飽和信号量を、FULLSCALEとしたとき、飽和するポイントでは、下記の式(1)及び式(2)が成立する。
P1 = FULLSCALE ・・・(1)
P2 = FULLSCALE × 1 / g1 ・・・(2)
ただし、式(2)において、g1は、露光比(長蓄の露光時間(T1) / 短蓄の露光時間(T2))を表している。
したがって、ニーポイントKp1は、下記の式(3)により求められる。
Kp1 = 飽和するポイントのPlo = P1 + P2 = FULLSCALE × (1 + 1 / g1) ・・・(3)
また、図8においては、ニーポイントKp1を境界にして、第1領域と第2領域の領域ごとに、線形に復元された信号である線形信号(P)が求められる。
ここで、第1領域、すなわち、Plo < Kp1の領域は、非飽和領域であるため、加算信号(Plo)を、そのまま線形信号(P)とすることができる。したがって、Plo < Kp1の領域では、P = Ploとなる。
一方で、第2領域、すなわち、Kp1 ≦ Ploの領域は、飽和領域であるため、飽和して一定の値となっている長蓄(P1)の値を、短蓄(P2)の値から推測する必要がある。Kp1 ≦ Ploの領域では、Kp1からPloの増加分を、ΔPloとした場合、ΔPlo = ΔP2 = (Plo - Kp1) となる。このときのΔP1の値は、ΔP1 = ΔP2 × g1(P2の値の露光比倍)となる。
したがって、Kp1 ≦ Ploの領域のPは、P = Kp1 + (Plo - Kp1) + (Plo - Kp1) × g1 となる。なお、このPの算出式において、右辺の第1項は、第2領域の開始オフセットを表し、右辺の第2項は、短蓄の信号量を表し、右辺の第3項は、短蓄から推測した長蓄の信号量となる。
以上をまとめると、下記の式(4)及び式(5)のように表すことができる。
(i) Plo < Kp1の領域(第1領域)の場合、
P = Plo ・・・(4)
(ii) Kp1 ≦ Ploの領域(第2領域)の場合、
P = Kp1 + (Plo - Kp1) × (1 + g1) ・・・(5)
ここで、上述した特許文献3には、撮影装置から得られる自動車前方の画像の垂直方向のヒストグラムを取得し、そのピーク位置から障害物(対象物)の位置を検出する手法が提案されている。この手法においては、図9に示すように、自動車の前方の撮影画像に対して進行方向に沿った短冊状の領域A1で、画素値のヒストグラムを取得する。
図9のAにおいては、進行方向に障害物が存在しないため、路面のヒストグラムは、平坦となる。一方で、図9のBにおいては、自動車の前方に他車が走行しており、進行方向に障害物が存在しているため、平坦な路面のヒストグラムに対し、特定の位置にピークが出現している。そして、このピークの輝度レベルに相当する座標を特定することで、障害物の位置を検出することが可能となる。
しかしながら、上述した現状の技術では、加算信号(Plo = P1 + P2)を、ダイナミックレンジの拡張された線形信号(P)に変換する際に、ニーポイントKp1を境目として、急峻に演算式が変化するため、画像のノイズの分布が非対称になるという特徴がある。そのため、例えば、自動車の進行方向に太陽が存在し、輝度が滑らかに変化しているような路面の状況において、当該路面のヒストグラムを取得すると、ヒストグラムには、擬似的なスパイク(ヒストグラムのスパイク)が発生することになる。
図10には、ヒストグラムのスパイクの例を示している。図10においては、輝度変化が滑らかな信号に対し、上述した現状の技術を用いて合成した結果得られるヒストグラムの例を示しているが、図中の枠A2内に示すように、ヒストグラムのスパイクが発生している。
なお、図10に示したヒストグラムのスパイクの発生位置は、図11のCの現状の技術を用いた合成結果の位置に対応している。ただし、図11のCの合成結果は、図11のAの長蓄(P1)の値と、図11のBの短蓄(P2)の値とを合成することで得られる。
すなわち、図12に示すように、上述した現状の技術を用いた合成を行うと、自動車の前方に、障害物がない場合に、実際には障害物が存在しないにも関わらず、図中の枠A3内に示すように、ヒストグラムに擬似的なスパイク(擬似ピーク)が発生してしまうことがある。また、自動車の前方に、障害物がある場合でも、図中の枠A4内に示す障害物の存在を示すピーク(本ピーク)のほかに、図中の枠A3内に示すように、ヒストグラムに擬似的なスパイク(擬似ピーク)が発生する可能性がある。
そして、現状の技術を用いた合成で、ヒストグラムに擬似的なスパイクが発生してしまうと、ヒストグラムのピーク位置を用いた障害物検出の手法を適用する際に、擬似ピークと、障害物の有無を検出するための本ピークとの区別がつかず、障害物の誤検出が発生してしまう可能性がある。
以上のように、図1に示した画像の白飛びが発生するような輝度差の大きいシーンにおいて、画像のダイナミックレンジを拡大することと、図2に示したLEDのフリッカの対策と、図9に示したヒストグラムのピーク位置を用いた障害物検出に支障を来さない画像を生成することを両立が可能な技術は、まだ確立されていない。本技術では、これらを両立させるために、特に、以下の3つの技術的特徴を有する点をポイントとしている。
(1)ヒストグラムのスパイクを抑制するために、長蓄や短蓄等の異なる露光時間で撮影された複数の画像の信号に対し、異なるクリップ値を設けるようにする。
(2)また、例えば、複数の画像の信号のうち、長蓄画像の信号だけ、クリップ値を下げて、加算信号の傾きが変化するポイントであるニーポイントKpの位置を引き下げた信号を並列に用意し、ヒストグラムのスパイクが発生するニーポイントKpの周辺を避けて信号の乗り換えを行うことで、ニーポイントKpにおける急峻な特性の変化を抑制する。
(3)その際に、動き補正処理をあわせて行うことにより、ニーポイントKpの位置を引き下げることで発生する懸念のある高速点滅被写体の減光を抑制する。
本技術では、このような技術的特徴を有することで、輝度差が非常に大きいシーンにおいて、白飛びや黒潰れを抑制すると同時に、LED信号機等の高速点滅被写体の点灯状態を正しく出力することが可能であり、かつヒストグラムのスパイクを抑制することで、誤検出することなく、正確に障害物を検出することができる。
以下、このような本技術の技術的特徴を、具体的な実施の形態を参照しながら説明する。
<2.本技術の実施の形態>
(カメラユニットの構成例)
図13は、本技術を適用した撮影装置としてのカメラユニットの一実施の形態の構成例を示すブロック図である。
図13において、カメラユニット10は、レンズ101、撮像素子102、ディレイライン103、信号処理部104、出力部105、及びタイミング制御部106から構成される。
レンズ101は、被写体からの光を集光し、撮像素子102に入射させて結像させる。
撮像素子102は、例えば、CMOS(Complementary Metal Oxide Semiconductor)イメージセンサである。撮像素子102は、レンズ101からの入射光を受光し、光電変換を行うことにより、入射光に対応する撮影画像(の画像データ)を撮影する。
すなわち、撮像素子102は、タイミング制御部106から指定される撮影タイミングで撮影を行う撮影部として機能し、出力部105が出力する出力画像のフレームレートの期間に、N回の撮影を行い、そのN回の撮影により得られるN枚の撮影画像を、順次出力する。
ディレイライン103は、撮像素子102が順次出力するN枚の撮影画像を順次記憶し、そのN枚の撮影画像を、同時に、信号処理部104に供給する。
信号処理部104は、ディレイライン103からのN枚の撮影画像を処理し、1フレーム(枚)の出力画像を生成する。その際、信号処理部104は、N枚の撮影画像の同一座標の画素値の加算値を算出した後に線形化を行う処理をN系統持ち、それらの処理結果をブレンドして、出力画像を生成する。
さらに、信号処理部104は、出力画像に対して、例えば、ノイズの除去や、WB(ホワイトバランス)の調整等の処理を行い、出力部105に供給する。また、信号処理部104は、ディレイライン103からのN枚の撮影画像の明るさから露光レベルを検出(検波)し、タイミング制御部106に供給する。
出力部105は、信号処理部104からの出力画像(映像データ)を出力する。
タイミング制御部106は、撮像素子102の撮影タイミングを制御する。すなわち、タイミング制御部106は、信号処理部104で検出された露光レベルに基づいて、撮像素子102の露光時間の調整を行う。その際に、タイミング制御部106は、N枚の撮影画像の露光タイミングを可能な限り近接させるようにシャッタ制御を行う。
カメラユニット10は、以上のように構成される。
(タイミング制御部のシャッタ制御の例)
次に、図14及び図15を参照して、図13のタイミング制御部106によるシャッタ制御について説明する。
図13のカメラユニット10において、撮像素子102は、露光時間の異なるN枚の撮影画像の撮影データを取得する。その際、タイミング制御部106は、それらの撮影期間を可能な限り近接させることで実効的な露光時間を伸ばし、LED等の高速点滅被写体の点滅周期をカバーしやすくするための制御を行う。
ここでは、図14を参照しながら、その具体例として3枚の撮影画像を取得する際の露光タイミングについて説明する。図14において、T1,T2,T3は、1フレーム以内で3回撮影を行う際のそれぞれの露光タイミングを示している。それぞれの露光における露光時間の比率は、信号のダイナミックレンジを確保するために、例えば、T1:T2:T3 = 4:2:1の比率とすることができる。
この際、タイミング制御部106は、T1の露光が完了次第、すぐにT2の露光を開始し、T2の露光が完了次第、すぐにT3の露光を開始するように露光タイミングの制御を行う。すなわち、T1の露光終了とT2の露光開始との間隔、及びT2の露光終了とT3の露光開始との間隔が極小化されている。このような露光タイミング制御を行うことで、高速点滅被写体の点灯期間がT1,T2,T3のいずれかの露光期間とオーバーラップしやすくなり、点灯期間の画像を捕捉できる確率を上げることができる。
また、N枚の撮影画像の撮影期間を近接させることで、次のような効果が得られる。すなわち、図15のAと図15のBを比較して説明すれば、図15のAに示すように、T1,T2,T3の露光タイミングを離して設定する場合には、点灯期間が短い(発光Duty比が小さい)点滅光源の場合に、露光タイミングと発光タイミングがオーバーラップしない可能性がある。
一方で、図15のBに示すように、T1,T2,T3の露光タイミングを近接させる場合には、実効的な露光時間が伸びるため、点灯期間が短い点滅光源に対して露光タイミングと発光タイミングがオーバーラップする可能性を向上させることができる。なお、例えば、LED信号機の消灯期間は、典型的には3ms前後が想定されるので、タイミング制御部106は、この消灯期間に応じて、T1,T2,T3の露光タイミングを近接させる制御を行うことができる。
(信号処理部の構成例)
図16は、図13の信号処理部104の構成例を示す図である。
図16の信号処理部104においては、撮像素子102で取得されたN枚の撮影画像の画像データを処理し、1フレーム(枚)の出力画像に合成している。その際に、信号処理部104は、常にN枚の撮影画像の画像データ間で合成を行い、トータルN-1回の合成処理が行われるようにする。
図16においては、その最も単純な例として、2枚の撮影画像を、1枚の出力画像に合成する際の信号処理について説明する。
なお、図16においては、T1,T2は、1フレーム以内で2回撮影を行った際のそれぞれの露光時間に対応する撮影画像を示している。また、図16において、それぞれの露光における露光時間の比率は、信号のダイナミックレンジを確保するために、例えば、T1:T2 = 16:1の比率であると仮定する。T2の明るさをT1に合わせるための露光比ゲインを、G1と定義すると、G1 = T1の露光時間 / T2の露光時間 = 16[倍]となる。以下、このT1,T2に対応する撮影画像をそれぞれ、画像信号T1,画像信号T2とも記述する。
図16において、信号処理部104は、第1加算処理部121、第1線形化処理部122、第2加算処理部123、第2線形化処理部124、合成係数算出部125、動き検出部126、合成係数変調部127、及び合成処理部128から構成される。
第1加算処理部121は、そこに入力される画像信号T1と画像信号T2とを加算する第1加算処理を行い、加算信号SUM1を生成する。第1加算処理部121は、第1加算処理で得られる加算信号SUM1を、第1線形化処理部122に供給する。
具体的には、この第1加算処理では、画像信号T1と画像信号T2の値に対し、あらかじめ定められた値を用いて上限クリップ処理を行った後で、その結果得られる信号の加算が行われる。
ここで、上限クリップ処理では、第1加算処理における、画像信号T1と画像信号T2のクリップ値が設定される。なお、クリップ値(上限クリップ値)は、飽和値(飽和信号量)又は制限値であるとも言える。例えば、画像信号T1のクリップ値を、CLIP_T1_1とし、画像信号T2のクリップ値を、CLIP_T2_1とした場合、第1加算処理では、下記の式(6)が演算され、加算信号SUM1が得られる。
SUM1 = MIN(CLIP_T1_1, T1) + MIN(CLIP_T2_1, T2) ・・・(6)
ただし、式(6)において、MIN(a, b)である関数は、bの上限値(飽和値、制限値)がaであることを意味する。なお、この関数の意味は、後述する式でも同様とされる。
第1線形化処理部122は、第1加算処理部121からの加算信号SUM1を参照して、第1線形化処理を行い、明るさに対して線形な線形信号LIN1を生成する。第1線形化処理部122は、第1線形化処理で得られる線形信号LIN1を、動き検出部126及び合成処理部128に供給する。
具体的には、この第1線形化処理では、露光比G1 = T1の露光時間 / T2の露光時間とした場合に、ニーポイントKpの位置が、下記の式(7)により求められる。
KP1_1 = CLIP_T1_1 × (1 + 1 / G1) ・・・(7)
そして、第1線形化処理では、加算信号SUM1とニーポイントKp(KP1_1)の領域に応じて、下記の式(8)又は式(9)により、線形信号LIN1が求められる。
(i) SUM1 < KP1_1の領域の場合、
LIN1 = SUM1 ・・・(8)
(ii) KP1_1 ≦ SUM1の領域の場合、
LIN1 = KP1_1 + (SUM1 - KP1_1) × (1 + G1) ・・・(9)
第2加算処理部123は、そこに入力される画像信号T1と画像信号T2とを加算する第2加算処理を行い、加算信号SUM2を生成する。第2加算処理部123は、第2加算処理で得られる加算信号SUM2を、第2線形化処理部124に供給する。
具体的には、この第2加算処理では、画像信号T1と画像信号T2の値に対し、上述の第1の加算処理とは異なる値を用いて上限クリップ処理を行った後で、その結果得られる信号の加算が行われる。
ここで、上限クリップ処理では、第2加算処理における、画像信号T1と画像信号T2のクリップ値が設定される。例えば、画像信号T1のクリップ値を、CLIP_T1_2とし、画像信号T2のクリップ値を、CLIP_T2_2とした場合、第2加算処理では、下記の式(10)が演算され、加算信号SUM2が得られる。
SUM2 = MIN(CLIP_T1_2, T1) + MIN(CLIP_T2_2, T2) ・・・(10)
第2線形化処理部124は、第2加算処理部123からの加算信号SUM2を参照して、第2線形化処理を行い、明るさに対して線形な線形信号LIN2を生成する。第2線形化処理部124は、第2線形化処理で得られる線形信号LIN2を、動き検出部126及び合成処理部128に供給する。
具体的には、この第2線形化処理では、露光比G1 = T1の露光時間 / T2の露光時間とした場合に、ニーポイントKpの位置が、下記の式(11)により求められる。
KP1_2 = CLIP_T1_2 × (1 + 1 / G1) ・・・(11)
そして、第2線形化処理では、加算信号SUM2とニーポイントKp(KP1_2)の領域に応じて、下記の式(12)又は式(13)により、線形信号LIN2が求められる。
(i) SUM2 < KP1_2の領域の場合
LIN2 = SUM2 ・・・(12)
(ii) KP1_2 ≦ SUM2の領域の場合
LIN2 = KP1_2 + (SUM2 - KP1_2) × (1 + G1) ・・・(13)
合成係数算出部125は、画像信号T1を参照して、線形信号LIN1と線形信号LIN2とを合成するための合成係数を算出する。合成係数算出部125は、算出した合成係数を、合成係数変調部127に供給する。
具体的には、線形信号LIN1に対して、線形信号LIN2の合成(ブレンド)を開始する閾値を、BLD_TH_LOWとし、合成割合(ブレンド率)が1.0となり、線形信号LIN2が100%になる閾値を、BLD_TH_HIGHとすると、合成係数は、下記の式(14)により求められる。ただし、ここでは、0 ~ 1.0の範囲で、信号をクリップすることになる。
合成係数 = (T1 - BLD_TH_LOW)÷(BLD_TH_HIGH - BLD_TH_LOW) ・・・(14)
動き検出部126は、第1線形化処理部122からの線形信号LIN1と、第2線形化処理部124からの線形信号LIN2との差分を動き量と定義して、動き判定を行う。その際、動き検出部126は、信号のノイズとLED等の高速点滅体の点滅を区別するために、動き量をセンサ特性から想定されるノイズ量と比較して動き係数を算出する。動き検出部126は、算出した動き係数を、合成係数変調部127に供給する。
具体的には、差分に対して100%動きではないと判定されるレベルの上限値を、MDET_TH_LOWとし、100%動きであると判定されるレベルを、MDET_TH_HIGHとすると、動き係数は、下記の式(15)により求められる。ただし、ここでは、0 ~ 1.0の範囲で、信号をクリップすることになる。
動き係数 = (ABS(LIN1 - LIN2) - MDET_TH_LOW)÷(MDET_TH_HIGH - MDET_TH_LOW) ・・・(15)
ただし、式(15)において、ABS()は、絶対値を返す関数を意味する。なお、この関数の意味は、後述する式でも同様とされる。
合成係数変調部127は、合成係数算出部125からの合成係数に対して、動き検出部126からの動き係数を加味した変調を行い、動き補償後合成係数を算出する。合成係数変調部127は、算出した動き補償後合成係数を、合成処理部128に供給する。
具体的には、動き補償後合成係数は、下記の式(16)により求められる。ただし、ここでは、0 ~ 1.0の範囲で、信号をクリップすることになる。
動き補償後合成係数 = 合成係数 - 動き係数 ・・・(16)
合成処理部128は、第1線形化処理部122からの線形信号LIN1と、第2線形化処理部124からの線形信号LIN2とを、合成係数変調部127からの動き補償後合成係数で合成(アルファブレンド)して、その結果得られるHDR(High Dynamic Range)合成後信号としての合成後画像信号を出力する。
具体的には、合成後画像信号は、下記の式(17)により求められる。
合成後画像信号 = (LIN2 - LIN1) × 動き補償後合成係数 + LIN1 ・・・(17)
信号処理部104は、以上のように構成される。
(2枚合成を行う場合の信号処理)
次に、図17のフローチャートを参照して、図16の信号処理部104により実行される、2枚合成を行う場合の信号処理の流れを説明する。
ステップS11において、第1加算処理部121は、画像信号T1と画像信号T2の値に対し、あらかじめ定められたクリップ値(CLIP_T1_1,CLIP_T2_1)を用い、上限クリップ処理を行う。
ステップS12において、第1加算処理部121は、上記の式(6)を演算することで、ステップS11の上限クリップ処理後の画像信号T1と画像信号T2を加算して、加算信号SUM1を生成する。
ステップS13において、第2加算処理部123は、画像信号T1と画像信号T2の値に対し、第1加算処理(S11,S12)とは異なるクリップ値(CLIP_T1_2,CLIP_T2_2)を用い、上限クリップ処理を行う。
ステップS14において、第2加算処理部123は、上記の式(10)を演算することで、ステップS13の処理で得られる上限クリップ処理後の画像信号T1と画像信号T2を加算して、加算信号SUM2を生成する。
なお、T1とT2の露光時間の比率は、例えば、T1:T2 = 16:1の比率とすることができる。したがって、画像信号T1は、長時間露光画像(長蓄画像)である一方で、画像信号T2は、短時間露光画像(短蓄画像)であるとも言える。また、例えば、長蓄画像である画像信号T1に対して設定されるクリップ値としては、第2の加算処理(S13,S14)で用いられるクリップ値(CLIP_T1_2)を、第1の加算処理(S11,S12)で用いられるクリップ値(CLIP_T1_1)よりも低くすることができる。
ステップS15において、第1線形化処理部122は、上記の式(7)乃至式(9)を演算することで、ステップS12の処理で得られる加算信号SUM1を線形化し、線形信号LIN1を生成する。
ステップS16において、第2線形化処理部124は、上記の式(11)乃至式(13)を演算することで、ステップS14の処理で得られる加算信号SUM2を線形化し、線形信号LIN2を生成する。
ステップS17において、合成係数算出部125は、画像信号T1を参照して、上記の式(14)を演算することで、合成係数を算出する。
ステップS18において、動き検出部126は、ステップS15の処理で得られる線形信号LIN1と、ステップS16の処理で得られる線形信号LIN2で動きを検出して、上記の式(15)を演算することで、動き係数を算出する。
ステップS19において、合成係数変調部127は、上記の式(16)を演算することで、ステップS17の処理で得られる合成係数から、ステップS18の処理で得られる動き係数を減算し、動き補償後合成係数を算出する。
ステップS20において、合成処理部128は、ステップS19の処理で得られる動き補償後合成係数を参照して、上述の式(17)を演算することで、ステップS15の処理で得られる線形信号LIN1と、ステップS16の処理で得られる線形信号LIN2とを合成し、合成後画像信号を生成する。
なお、線形信号LIN1と線形信号LIN2との合成処理の詳細は、図24乃至図27を参照して後述するが、ここでは、動き補償後合成係数に応じた合成を行うことで、ヒストグラムのスパイクが発生するニーポイントKpの周辺を避けて、線形信号LIN1と線形信号LIN2とが合成されることになる。すなわち、ヒストグラムのスパイクの発生位置をずらし、長蓄が飽和するまでに(ヒストグラムのスパイクが発生する前に)、線形信号LIN1側から、異なるニーポイントKpを持つ線形信号LIN2側に、滑らかに乗り換えるようにすることで、ヒストグラムのスパイクを抑制することができる。
ステップS21において、合成処理部128は、ステップS20の処理で得られる合成後画像信号を出力する。
以上、2枚合成を行う場合の信号処理の流れを説明した。
(信号処理部の処理結果の例)
次に、図18乃至図20を参照して、図16の信号処理部104による信号処理(図17)の処理結果について説明する。
図18には、信号処理の処理結果の例を示している。なお、ここでは、図18のAに、上述した現状の技術の手法を用いた場合の処理結果を示して、図18のBの本技術の手法を用いた場合の処理結果と比較している。
図18のAの現状の技術の手法の場合、図中の枠A5内に示すように、長蓄が飽和する境界付近の明るさで、処理が急峻に変化するため、ヒストグラムの擬似的なスパイク(擬似ピーク)が発生してしまっている。その結果として、実際には障害物がないにも関わらず、障害物があると誤検出されることに繋がるのは、先に述べた通りである。
一方で、図18のBの本技術の手法の場合、異なるクリップ値を設定して、線形信号LINごとに、ヒストグラムのスパイクの発生位置をずらし、長蓄が飽和するまでに(ヒストグラムのスパイクが発生する前に)、線形信号LIN1側から、異なるニーポイントKpを持つ線形信号LIN2側に、滑らかに乗り換えるようにしている。そのため、図18のBでは、擬似的なスパイク(擬似ピーク)が発生しておらず、実際には障害物がないにも関わらず、障害物があると誤検出されることを抑制することができる。
なお、図19及び図20には、実際の撮影画像の例を示している。すなわち、図19と図20は、現状の技術の手法を用いた場合の信号処理の結果を表している。これらの撮影画像に対する信号処理では、正面に太陽がある逆光シーンで道路に沿った方向のヒストグラムを取得しているが、図20では、スパイクが撮影画像のどこで発生しているのかがわかるように、ヒストグラム中のスパイクの輝度レベルに相当する画素の位置を強調して表示している(例えば、図中の枠A6内など)。図20においては、進行方向正面に太陽等の明るい光源がある場合に、円環状にスパイクが発生する領域が存在している。
<3.本技術の実施の形態の変形例>
(3枚合成を行う場合の信号処理部の構成例)
図21は、3枚合成を行う場合の信号処理部104の構成例を示す図である。
すなわち、上述した説明では、最も単純な例として、2枚の撮影画像を、1枚の出力画像に合成する際の信号処理について説明したが、図21においては、3枚の撮影画像を、1枚の出力画像に合成する際の信号処理について説明する。
なお、図21においては、T1,T2,T3は、1フレーム以内で3回撮影を行った際のそれぞれの露光時間に対応する撮影画像を示している。また、図21において、それぞれの露光における露光時間の比率は、信号のダイナミックレンジを確保するために、例えば、T1:T2:T3 = 4:2:1の比率であると仮定する。T2の明るさをT1に合わせるための露光比ゲインをG1、T3の明るさをT2に合わせるための露光比ゲインをG2と定義する。上記の例では、G1 = 2,G2 = 2となる。以下、このT1,T2,T3に対応する撮影画像をそれぞれ、画像信号T1,画像信号T2,画像信号T3とも記述する。
図21において、信号処理部104は、第1加算処理部141、第1線形化処理部142、第2加算処理部143、第2線形化処理部144、第3加算処理部145、第3線形化処理部146、第1合成係数算出部147、第1動き検出部148、第1合成係数変調部149、第1合成処理部150、第2合成係数算出部151、第2動き検出部152、第2合成係数変調部153、及び第2合成処理部154から構成される。
第1加算処理部141は、そこに入力される画像信号T1と画像信号T2と画像信号T3とを加算する第1加算処理を行い、加算信号SUM1を生成する。第1加算処理部141は、第1加算処理で得られる加算信号SUM1を、第1線形化処理部142に供給する。
具体的には、この第1加算処理では、画像信号T1,T2,T3の値に対し、あらかじめ定められた値を用いて上限クリップ処理を行った後で、その結果得られる信号の加算が行われる。
ここで、上限クリップ処理では、第1加算処理における、画像信号T1,T2,T3のクリップ値が設定される。例えば、画像信号T1のクリップ値を、CLIP_T1_1とし、画像信号T2のクリップ値を、CLIP_T2_1とし、画像信号T3のクリップ値を、CLIP_T3_1とした場合、第1加算処理では、下記の式(18)が演算され、加算信号SUM1が得られる。
SUM1 = MIN(CLIP_T1_1, T1) + MIN(CLIP_T2_1, T2) + MIN(CLIP_T3_1, T3) ・・・(18)
第1線形化処理部142は、第1加算処理部141からの加算信号SUM1を参照して、第1線形化処理を行い、明るさに対して線形な線形信号LIN1を生成する。第1線形化処理部142は、第1線形化処理で得られる線形信号LIN1を、第1動き検出部148及び第1合成処理部150に供給する。
具体的には、この第1線形化処理では、露光比G1 = T1の露光時間 / T2の露光時間、かつ、露光比G2 = T2の露光時間 / T3の露光時間とした場合に、ニーポイントKp(KP1_1,KP2_1)の位置が、下記の式(19)又は式(20)により求められる。
KP1_1 = CLIP_T1_1 × (1 + 1 / G1 + 1 / (G1 × G2)) ・・・(19)
KP2_1 = CLIP_T1_1 + CLIP_T2_1 × (1 + 1 / G2) ・・・(20)
そして、第1線形化処理では、加算信号SUM1とニーポイントKp(KP1_1,KP2_1)の領域に応じて、下記の式(21)乃至式(23)により、線形信号LIN1が求められる。
(i) SUM1 < KP1_1の領域の場合、
LIN1 = SUM1 ・・・(21)
(ii) KP1_1 ≦ SUM1 < KP2_1の領域の場合、
LIN1 = KP1_1 + (SUM1 - KP1_1) × (1 + G1 × G2 / (1 + G2)) ・・・(22)
(iii) KP2_1 ≦ SUM1の領域の場合、
LIN1 = KP2_1 + (KP2_1 - KP1_1) × (1 + G1 × G2 / (1 + G2)) + (SUM1 - KP2_1) × (1 + G2 + G1 × G2) ・・・(23)
第2加算処理部143は、そこに入力される画像信号T1と画像信号T2と画像信号T3とを加算する第2加算処理を行い、加算信号SUM2を生成する。第2加算処理部143は、第2加算処理で得られる加算信号SUM2を、第2線形化処理部144に供給する。
具体的には、この第2加算処理では、画像信号T1,T2,T3の値に対し、あらかじめ定められた値を用いて上限クリップ処理を行った後で、その結果得られる信号の加算が行われる。
ここで、上限クリップ処理では、第2加算処理における、画像信号T1,T2,T3のクリップ値が設定される。例えば、画像信号T1のクリップ値を、CLIP_T1_2とし、画像信号T2のクリップ値を、CLIP_T2_2とし、画像信号T3のクリップ値を、CLIP_T3_2とした場合、第2加算処理では、下記の式(24)が演算され、加算信号SUM2が得られる。
SUM2 = MIN(CLIP_T1_2, T1) + MIN(CLIP_T2_2, T2) + MIN(CLIP_T3_2, T3) ・・・(24)
第2線形化処理部144は、第2加算処理部143からの加算信号SUM2を参照して、第2線形化処理を行い、明るさに対して線形な線形信号LIN2を生成する。第2線形化処理部144は、第2線形化処理で得られる線形信号LIN2を、第1動き検出部148、第1合成処理部150、及び第2動き検出部152に供給する。
具体的には、この第2線形化処理では、露光比G1 = T1の露光時間 / T2の露光時間、かつ、露光比G2 = T2の露光時間 / T3の露光時間とした場合に、ニーポイントKp(KP1_2,KP2_2)の位置が、下記の式(25)又は式(26)により求められる。
KP1_2 = CLIP_T1_2 × (1 + 1 / G1 + 1 / (G1 × G2)) ・・・(25)
KP2_2 = CLIP_T1_2 + CLIP_T2_2 × (1 + 1 / G2) ・・・(26)
そして、第2線形化処理では、加算信号SUM2とニーポイントKp(KP1_2,KP2_2)の領域に応じて、下記の式(27)乃至式(29)により、線形信号LIN2が求められる。
(i) SUM2 < KP1_2の場合、
LIN2 = SUM2 ・・・(27)
(ii) KP1_2 ≦ SUM2 < KP2_2の領域の場合、
LIN2 = KP1_2 + (SUM2 - KP1_2) × (1 + G1 × G2 / (1 + G2)) ・・・(28)
(iii) KP2_2 ≦ SUM2の領域の場合、
LIN2 = KP2_2 + (KP2_2 - KP1_2 ) × (1 + G1 × G2 / (1 + G2)) + (SUM2 - KP2_2) × (1 + G2 + G1 × G2) ・・・(29)
第3加算処理部145は、そこに入力される画像信号T1と画像信号T2と画像信号T3とを加算する第3加算処理を行い、加算信号SUM3を生成する。第3加算処理部145は、第3加算処理で得られる加算信号SUM3を、第3線形化処理部146に供給する。
具体的には、この第3加算処理では、画像信号T1,T2,T3の値に対し、あらかじめ定められた値を用いて上限クリップ処理を行った後で、その結果得られる信号の加算が行われる。
ここで、上限クリップ処理では、第3加算処理における、画像信号T1,T2,T3のクリップ値が設定される。例えば、画像信号T1のクリップ値を、CLIP_T1_3とし、画像信号T2のクリップ値を、CLIP_T2_3とし、画像信号T3のクリップ値を、CLIP_T3_3とした場合、第3加算処理では、下記の式(30)が演算され、加算信号SUM3が得られる。
SUM3 = MIN(CLIP_T1_3, T1) + MIN(CLIP_T2_3, T2) + MIN(CLIP_T3_3, T3) ・・・(30)
第3線形化処理部146は、第3加算処理部145からの加算信号SUM3を参照して、第3線形化処理を行い、明るさに対して線形な線形信号LIN3を生成する。第3線形化処理部146は、第3線形化処理で得られる線形信号LIN3を、第2動き検出部152、及び第2合成処理部154に供給する。
具体的には、この第3線形化処理では、露光比G1 = T1の露光時間 / T2の露光時間、かつ、露光比G2 = T2の露光時間 / T3の露光時間とした場合に、ニーポイントKp(KP1_3,KP2_3)の位置が、下記の式(31)又は式(32)により求められる。
KP1_3 = CLIP_T1_3 × (1 + 1 / G1 + 1 / (G1 × G2)) ・・・(31)
KP2_3 = CLIP_T1_3 + CLIP_T2_3 × (1 + 1 / G2) ・・・(32)
そして、第3線形化処理では、加算信号SUM3とニーポイントKp(KP1_3,KP2_3)の領域に応じて、下記の式(33)乃至式(35)により、線形信号LIN3が求められる。
(i) SUM3 < KP1_3の領域の場合、
LIN3 = SUM3 ・・・(33)
(ii) KP1_3 ≦ SUM3 < KP2_3の領域の場合、
LIN3 = KP1_3 + (SUM3 - KP1_3) × (1 + G1 × G2 / (1 + G2)) ・・・(34)
(iii) KP2_3 ≦ SUM3の領域の場合、
LIN3 = KP2_3 + (KP2_3 - KP1_3) × (1 + G1 × G2 / (1 + G2)) + (SUM3 - KP2_3) × (1 + G2 + G1 × G2) ・・・(35)
第1合成係数算出部147は、画像信号T1を参照して、線形信号LIN1と線形信号LIN2とを合成するための第1合成係数を算出する。第1合成係数算出部147は、算出した第1合成係数を、第1合成係数変調部149に供給する。
具体的には、線形信号LIN1に対して、線形信号LIN2の合成(ブレンド)を開始する閾値を、BLD_TH_L_LOWとし、合成割合(ブレンド率)が1.0となり、線形信号LIN2が100%になる閾値を、BLD_TH_L_HIGHとすると、第1合成係数は、下記の式(36)により求められる。ただし、ここでは、0 ~ 1.0の範囲で、信号をクリップすることになる。
第1合成係数 = (T1 - BLD_TH_L_LOW) ÷ (BLD_TH_L_HIGH - BLD_TH_L_LOW) ・・・(36)
第1動き検出部148は、第1線形化処理部142からの線形信号LIN1と、第2線形化処理部144からの線形信号LIN2との差分を動き量と定義して、動き判定を行う。その際、第1動き検出部148は、信号のノイズとLED等の高速点滅体の点滅を区別するために、動き量をセンサ特性から想定されるノイズ量と比較して第1動き係数を算出する。第1動き検出部148は、算出した第1動き係数を、第1合成係数変調部149に供給する。
具体的には、差分に対して100%動きではないと判定されるレベルの上限値を、MDET_TH_LOWとし、100%動きであると判定されるレベルを、MDET_TH_HIGHとすると、第1動き係数は、下記の式(37)により求められる。ただし、ここでは、0 ~ 1.0の範囲で、信号をクリップすることになる。
第1動き係数 = (ABS(LIN1 - LIN2) - MDET_TH_LOW) ÷ (MDET_TH_HIGH - MDET_TH_LOW) ・・・(37)
第1合成係数変調部149は、第1合成係数算出部147からの第1合成係数に対して、第1動き検出部148からの第1動き係数を加味した変調を行い、第1動き補償後合成係数を算出する。第1合成係数変調部149は、算出した第1動き補償後合成係数を、第1合成処理部150に供給する。
具体的には、第1動き補償後合成係数は、下記の式(38)により求められる。ただし、ここでは、0 ~ 1.0の範囲で、信号をクリップすることになる。
第1動き補償後合成係数 = 第1合成係数 - 第1動き係数 ・・・(38)
第1合成処理部150は、第1線形化処理部142からの線形信号LIN1と、第2線形化処理部144からの線形信号LIN2とを、第1合成係数変調部149からの第1動き補償後合成係数で合成(アルファブレンド)する。第1合成処理部150は、合成の結果得られる合成信号BLD1を、第2合成処理部154に供給する。
具体的には、合成信号BLD1は、下記の式(39)により求められる。
合成信号BLD1 = (LIN2 - LIN1) × 第1動き補償後合成係数 + LIN1 ・・・(39)
第2合成係数算出部151は、画像信号T2を参照して、合成信号BLD1と線形信号LIN3とを合成するための第2合成係数を算出する。第2合成係数算出部151は、算出した第2合成係数を、第2合成係数変調部153に供給する。
具体的には、合成信号BLD1に対して、線形信号LIN3の合成(ブレンド)を開始する閾値を、BLD_TH_H_LOWとし、合成割合(ブレンド率)が1.0となり、線形信号LIN3が100%になる閾値を、BLD_TH_H_HIGHとすると、第2合成係数は、下記の式(40)により求められる。ただし、ここでは、0 ~ 1.0の範囲で、信号をクリップすることになる。
第2合成係数 = (T2 - BLD_TH_H_LOW) ÷ (BLD_TH_H_HIGH - BLD_TH_H_LOW) ・・・(40)
第2動き検出部152は、第2線形化処理部144からの線形信号LIN2と、第3線形化処理部146からの線形信号LIN3との差分を動き量と定義して、動き判定を行う。その際、第2動き検出部152は、信号のノイズとLED等の高速点滅体の点滅を区別するために、動き量をセンサ特性から想定されるノイズ量と比較して第2動き係数を算出する。第2動き検出部152は、算出した第2動き係数を、第2合成係数変調部153に供給する。
具体的には、差分に対して100%動きではないと判定されるレベルの上限値を、MDET_TH_LOWとし、100%動きであると判定されるレベルを、MDET_TH_HIGHとすると、第2動き係数は、下記の式(41)により求められる。ただし、ここでは、0 ~ 1.0の範囲で、信号をクリップすることになる。
第2動き係数 = {ABS(LIN2 - LIN3) ÷ 正規化ゲイン - MDET_TH_LOW} ÷ (MDET_TH_HIGH - MDET_TH_LOW) ・・・(41)
ただし、式(41)の正規化ゲインは、下記の式(42)により求められる。
正規化ゲイン = 1 + {G1 × G2 ÷ (1 + G2)} ・・・(42)
第2合成係数変調部153は、第2合成係数算出部151からの第2合成係数に対して、第2動き検出部152からの第2動き係数を加味した変調を行い、第2動き補償後合成係数を算出する。第2合成係数変調部153は、算出した第2動き補償後合成係数を、第2合成処理部154に供給する。
具体的には、第2動き補償後合成係数は、下記の式(43)により求められる。ただし、ここでは、0 ~ 1.0の範囲で、信号をクリップすることになる。
第2動き補償後合成係数 = 第2合成係数 - 第2動き係数 ・・・(43)
第2合成処理部154は、第1合成処理部150からの合成信号BLD1と、第3線形化処理部146からの線形信号LIN3とを、第2合成係数変調部153からの第2動き補償後合成係数で合成(アルファブレンド)して、その結果得られるHDR合成後信号としての合成後画像信号を出力する。
具体的には、合成後画像信号は、下記の式(44)により求められる。
合成後画像信号 = (LIN3 - BLD1) × 第2動き補償後合成係数 + BLD1 ・・・(44)
図21の信号処理部104は、以上のように構成される。
(3枚合成を行う場合の信号処理)
次に、図22及び図23のフローチャートを参照して、図21の信号処理部104により実行される、3枚合成を行う場合の信号処理の流れを説明する。
ステップS51において、第1加算処理部141は、画像信号T1と画像信号T2と画像信号T3の値に対し、あらかじめ定められたクリップ値(CLIP_T1_1,CLIP_T2_1,CLIP_T3_1)を用い、上限クリップ処理を行う。
ステップS52において、第1加算処理部141は、上記の式(18)を演算することで、ステップS51の処理で得られる上限クリップ処理後の画像信号T1と画像信号T2と画像信号T3を加算して、加算信号SUM1を生成する。
ステップS53において、第2加算処理部143は、少なくとも画像信号T1の値に対し、第1加算処理(S51,S52)とは異なるクリップ値(CLIP_T1_2,CLIP_T2_2,CLIP_T3_2)を用い、上限クリップ処理を行う。
ステップS54において、第2加算処理部143は、上記の式(24)を演算することで、ステップS53の処理で得られる上限クリップ処理後の画像信号T1と画像信号T2と画像信号T3を加算して、加算信号SUM2を生成する。
ステップS55において、第3加算処理部145は、少なくとも画像信号T2の値に対し、第2加算処理(S53,S54)とは異なるクリップ値(CLIP_T1_3,CLIP_T2_3,CLIP_T3_3)を用い、上限クリップ処理を行う。
ステップS56において、第3加算処理部145は、上記の式(30)を演算することで、ステップS55の処理で得られる上限クリップ処理後の画像信号T1と画像信号T2と画像信号T3を加算して、加算信号SUM3を生成する。
なお、T1とT2とT3の露光時間の比率は、例えば、T1:T2:T3 = 4:2:1の比率とすることができる。したがって、画像信号T1は、長時間露光画像(長蓄画像)であり、画像信号T2は、中間時間露光画像(中蓄画像)であり、画像信号T3は、短時間露光画像(短蓄画像)であるとも言える。
また、例えば、長蓄画像である画像信号T1に対して設定されるクリップ値としては、第2の加算処理(S53,S54)で用いられるクリップ値(CLIP_T1_2)を、第1の加算処理(S51,S52)で用いられるクリップ値(CLIP_T1_1)よりも低くすることができる。また、例えば、中蓄画像である画像信号T2に対して設定されるクリップ値としては、第3の加算処理(S55,S56)で用いられるクリップ値(CLIP_T2_3)を、第2の加算処理(S53,S54)で用いられるクリップ値(CLIP_T2_2)よりも低くすることができる。
ステップS57において、第1線形化処理部142は、上記の式(19)乃至式(23)を演算することで、ステップS52の処理で得られる加算信号SUM1を線形化し、線形信号LIN1を生成する。
ステップS58において、第2線形化処理部144は、上記の式(25)乃至式(29)を演算することで、ステップS54の処理で得られる加算信号SUM2を線形化し、線形信号LIN2を生成する。
ステップS59において、第3線形化処理部146は、上記の式(31)乃至式(35)を演算することで、ステップS56の処理で得られる加算信号SUM3を線形化し、線形信号LIN3を生成する。
ステップS60において、第1合成係数算出部147は、画像信号T1を参照して、上記の式(36)を演算することで、第1合成係数を算出する。
ステップS61において、第1動き検出部148は、ステップS57の処理で得られる線形信号LIN1と、ステップS58の処理で得られる線形信号LIN2で動きを検出して、上記の式(37)を演算することで、第1動き係数を算出する。
ステップS62において、第1合成係数変調部149は、上記の式(38)を演算することで、ステップS60の処理で得られる第1合成係数から、ステップS61の処理で得られる第1動き係数を減算し、第1動き補償後合成係数を算出する。
ステップS63において、第1合成処理部150は、ステップS62の処理で得られる第1動き補償後合成係数を参照して、上記の式(39)を演算することで、ステップS57の処理で得られる線形信号LIN1と、ステップS58の処理で得られる線形信号LIN2とを合成し、合成信号BLD1を生成する。
なお、線形信号LIN1と線形信号LIN2との合成処理の詳細は、図24乃至図27を参照して後述するが、ここでは、第1動き補償後合成係数に応じた合成を行うことで、ヒストグラムのスパイクが発生するニーポイントKpの周辺を避けて、線形信号LIN1と線形信号LIN2とが合成されることになる。
ステップS64において、第2合成係数算出部151は、画像信号T2を参照して、上記の式(40)を演算することで、第2合成係数を算出する。
ステップS65において、第2動き検出部152は、ステップS58の処理で得られる線形信号LIN2と、ステップS59の処理で得られる線形信号LIN3で動きを検出して、上記の式(41)及び式(42)を演算することで、第2動き係数を算出する。
ステップS66において、第2合成係数変調部153は、上記の式(43)を演算することで、ステップS64の処理で得られる第2合成係数から、ステップS65の処理で得られる第2動き係数を減算し、第2動き補償後合成係数を算出する。
ステップS67において、第2合成処理部154は、ステップS66の処理で得られる第2動き補償後合成係数を参照して、上記の式(44)を演算することで、ステップS63の処理で得られる合成信号BLD1と、ステップS59の処理で得られる線形信号LIN3とを合成し、合成後画像信号を生成する。
なお、線形信号LIN1と線形信号LIN2との合成処理の詳細は、図24乃至図27を参照して後述するが、ここでは、第2動き補償後合成係数に応じた合成を行うことで、ヒストグラムのスパイクが発生するニーポイントKpの周辺を避けて、合成信号BLD1と線形信号LIN3とが合成されることになる。
ステップS68において、第2合成処理部154は、ステップS67の処理で得られる合成後画像信号を出力する。
以上、3枚合成を行う場合の信号処理の流れを説明した。
<4.本技術の信号処理の詳細な内容>
次に、図24乃至図27を参照して、信号処理部104により行われる信号処理の詳細な内容について説明する。なお、ここでは、図21の信号処理部104により実行される、3枚合成を行う場合の信号処理を一例に説明する。
(第1加算処理と第1線形化処理)
図24は、第1加算処理部141による第1加算処理と、第1線形化処理部142による第1線形化処理の詳細を説明する図である。
第1加算処理では、あらかじめ定められたクリップ値を用いたクリップ処理が行われ、画像信号T1,T2,T3に対して、クリップ値CLIP_T1_1,CLIP_T2_1,CLIP_T3_1がそれぞれ設定される。図24においては、画像信号T1のクリップ値が、CLIP_T1_1となる。また、画像信号T2のクリップ値が、CLIP_T2_1となり、画像信号T3のクリップ値が、CLIP_T3_1となる。
そして、第1加算処理では、上記の式(18)により、長蓄、中蓄、及び短蓄のそれぞれの画像信号T1,T2,T3を、独立なクリップ値(CLIP_T1_1,CLIP_T2_1,CLIP_T3_1)でクリップした後に加算することで、加算信号SUM1が得られる。
次に、第1線形化処理では、加算信号SUM1の傾きが変化する点として、ニーポイントKp(図24のKP1_1,KP2_1)の位置が、上記の式(19)及び式(20)により求められる。そして、第1線形化処理では、第1領域乃至第3領域の領域ごとに、加算信号SUM1の値を参照して、明るさに対して線形な信号(線形に復元された信号)である線形信号LIN1を生成する。
具体的には、図24に示すように、画像信号T1(長蓄)が飽和するレベル以下となる第1領域(SUM1 < KP1_1)は、画像信号T1(長蓄)、画像信号T2(中蓄)、及び画像信号T3(短蓄)ともに信号量が光量に対して線形に変化する領域である。
そのため、第1線形化処理では、線形信号LIN1として、加算信号SUM1を使用する。すなわち、この第1領域では、上記の式(21)により、線形信号LIN1が求められる。
また、図24に示すように、画像信号T2(中蓄)が飽和するレベル以下となる第2領域(KP1_1 ≦ SUM1 < KP2_1)は、画像信号T1(長蓄)がクリップされ、光量が変化しても信号量は変化しないが、画像信号T2(中蓄)と画像信号T3(短蓄)は、信号量が光量に対して線形に変化する領域である。
そのため、第1線形化処理では、画像信号T2(中蓄)と画像信号T3(短蓄)の値から推測した画像信号T1(長蓄)の値を加算した値を、線形信号LIN1として使用する。すなわち、この第2領域では、上記の式(22)により、線形信号LIN1が求められる。
さらに、図24に示すように、画像信号T2(中蓄)が飽和するレベルを超える第3領域(KP2_1 ≦ SUM1)は、画像信号T1(長蓄)、画像信号T2(中蓄)ともにクリップされ、光量が変化しても信号量が変化しないが、画像信号T3(短蓄)は、信号量が光量に対して線形に変化する領域である。
そのため、第1線形化処理では、画像信号T3(短蓄)の値から推測した画像信号T1(長蓄)と画像信号T2(中蓄)の値を加算した値を、線形信号LIN1として使用する。すなわち、この第3領域では、上記の式(23)により、線形信号LIN1が求められる。
以上のようにして、第1線形化処理では、第1加算処理で得られる加算信号SUM1を参照して、明るさに対して線形な信号である線形信号LIN1が生成される。
(第2加算処理と第2線形化処理)
図25は、第2加算処理部143による第2加算処理と、第2線形化処理部144による第2線形化処理の詳細を説明する図である。
第2加算処理では、あらかじめ定められたクリップ値を用いたクリップ処理が行われ、画像信号T1,T2,T3に対して、クリップ値CLIP_T1_2,CLIP_T2_2,CLIP_T3_2がそれぞれ設定される。図25においては、画像信号T1のクリップ値が、CLIP_T1_2となる。また、画像信号T2のクリップ値が、CLIP_T2_2となり、画像信号T3のクリップ値が、CLIP_T3_2となる。
なお、図25において、各画像信号に設定されるクリップ値は、上述した図24のクリップ値と比べて、画像信号T2,T3に対するクリップ値CLIP_T2_2,CLIP_T3_2と、クリップ値CLIP_T2_1,CLIP_T3_1は、同一の値となるが、クリップ値CLIP_T1_2とクリップ値CLIP_T1_1の値は異なっている。
すなわち、第2の加算処理(図25)を、第1の加算処理(図24)と比べれば、画像信号T1(長蓄)に対するクリップ値として、クリップ値CLIP_T1_1よりも低い値となるクリップ値CLIP_T1_2を設定している。一方で、第1の加算処理と第2の加算処理において、画像信号T2(中蓄)と画像信号T3(短蓄)のクリップ値には、同一の値を設定している。
そして、第2加算処理では、上記の式(24)により、長蓄、中蓄、及び短蓄のそれぞれの画像信号T1,T2,T3を、独立なクリップ値(CLIP_T1_2,CLIP_T2_2,CLIP_T3_2)でクリップした後に加算することで、加算信号SUM2が得られる。
次に、第2線形化処理では、加算信号SUM2の傾きが変化する点として、ニーポイントKp(図25のKP1_2,KP2_2)の位置が、上記の式(25)及び式(26)により求められる。そして、第2線形化処理では、第1領域乃至第3領域の領域ごとに、加算信号SUM2の値を参照して、明るさに対して線形な信号(線形に復元された信号)である線形信号LIN2を生成する。
具体的には、図25に示すように、画像信号T1(長蓄)が飽和するレベル以下となる第1領域(SUM2 < KP1_2)は、画像信号T1(長蓄)、画像信号T2(中蓄)、及び画像信号T3(短蓄)ともに信号量が光量に対して線形に変化する領域である。
そのため、第2線形化処理では、線形信号LIN2として、加算信号SUM2を使用する。すなわち、この第1領域では、上記の式(27)により、線形信号LIN2が求められる。
また、図25に示すように、画像信号T2(中蓄)が飽和するレベル以下となる第2領域(KP1_2 ≦ SUM2 < KP2_2)は、画像信号T1(長蓄)がクリップされ、光量が変化しても信号量は変化しないが、画像信号T2(中蓄)と画像信号T3(短蓄)は、信号量が光量に対して線形に変化する領域である。
そのため、第2線形化処理では、画像信号T2(中蓄)と画像信号T3(短蓄)の値から推測した画像信号T1(長蓄)の値を加算した値を、線形信号LIN2として使用する。すなわち、この第2領域では、上記の式(28)により、線形信号LIN2が求められる。
さらに、図25に示すように、画像信号T2(中蓄)が飽和するレベルを超える第3領域(KP2_2 ≦ SUM2)は、画像信号T1(長蓄)、画像信号T2(中蓄)ともにクリップされ、光量が変化しても信号量が変化しないが、画像信号T3(短蓄)は、信号量が光量に対して線形に変化する領域である。
そのため、第2線形化処理では、画像信号T3(短蓄)の値から推測した画像信号T1(長蓄)と画像信号T2(中蓄)の値を加算した値を、線形信号LIN2として使用する。すなわち、この第3領域では、上記の式(29)により、線形信号LIN2が求められる。
以上のようにして、第2線形化処理では、第2加算処理で得られる加算信号SUM2を参照して、明るさに対して線形な信号である線形信号LIN2が生成される。
なお、図示はしていないが、第3加算処理部145による第3加算処理においても、第1の加算処理及び第2の加算処理と同様に、上記の式(30)が演算されることで、加算信号SUM3が得られる。また、第3線形化処理部146による第3線形化処理においても、第1の線形化処理及び第2の線形化処理と同様に、上記の式(31)及び式(32)により、ニーポイントKp(KP1_3,KP2_3)が求められ、上記の式(33)乃至式(35)により、第1領域乃至第3領域の領域ごとに、線形信号LIN3が生成される。
(ヒストグラムスパイクの抑制)
図26は、本技術によるヒストグラムのスパイクの抑制の詳細を説明する図である。
図26においては、図中の横軸を明るさとして、線形信号LIN1と、線形信号LIN2と、それらの線形信号(LIN1,LIN2)の合成信号BLD1の変化の様子を表している。
図26において、ヒストグラムのスパイクが発生する信号の位置は、加算信号SUMを生成する前の信号のクリップ位置(とそこから求まるニーポイントKp)に依存している。そこで、本技術では、第2加算処理において、第1加算処理で用いられるクリップ値とは異なるクリップ値を設定することで、ヒストグラムのスパイクの発生位置をずらした線形信号LIN1と線形信号LIN2が生成されるようにしている。
図26の例では、図24に示した線形信号LIN1と、図25に示した線形信号LIN2とでは、画像信号T1(長蓄)に対して設定されたクリップ値(CLIP_T1_1とCLIP_T1_2)が異なっているため、ヒストグラムのスパイクの発生位置(LIN1の「SP1」と、LIN2の「SP2」)がずれている。
そして、本技術では、図26の点線A1乃至A3の流れで示すように、線形信号LIN1において、ヒストグラムのスパイク(LIN1の「SP1」)が発生する前に、クリップ値を下げることで、はやめにニーポイントKpを通過した線形信号LIN2側に乗り換えることで(図中の点線A2)、ヒストグラムのスパイクの発生を抑制した合成信号BLD1(ブレンド信号)が生成されるようにしている。
すなわち、図26においては、画像信号T1(長蓄)だけクリップ値を下げることで、ニーポイントKpの位置を引き下げた信号(線形信号LIN2)を並列に用意して、クリップ値に応じて変化するニーポイントKp(LIN1の「SP1」と、LIN2の「SP2」)の周辺を避けるように(周辺と異なる領域で)、線形信号LIN1側(図中の点線A1)から線形信号LIN2側(図中の点線A3)への乗り換えを行うようにしている。
これにより、上述した図18のBに示したように、ニーポイントKpにおける急峻な特性の変化が抑制されることになる。その結果として、線形信号LIN1と線形信号LIN2とを合成して得られる合成信号BLD1では、ヒストグラムのスパイクの発生を抑制することが可能となる。
また、図26には図示していないが、合成信号BLD1と線形信号LIN3との合成の際には、線形信号LIN1と線形信号LIN2との合成時の関係と同様に、ニーポイントKpの周辺を避けるように、合成信号BLD1側から線形信号LIN3側に乗り換えることで、全信号域に渡って、ヒストグラムのスパイクを抑制することが可能となる。
なお、図26において、合成信号BLD1は、点線B1乃至B2の範囲で、線形信号LIN1と線形信号LIN2とを合成して得られる合成信号BLD1における、線形信号LIN2の合成割合が0%から100%(線形信号LIN1の合成割合が100%から0%)になるが、その合成割合は、第1合成係数(第1動き補償後合成係数)により定められる。図27には、このような合成係数の詳細を示している。
(合成係数の詳細)
図27は、本技術で用いられる合成係数の詳細を説明する図である。
図27においては、図中の横軸を明るさとして、線形信号LIN1の画像信号T1(長蓄)の画素値と、線形信号LIN1に対する線形信号LIN2の合成割合(第1合成係数)と、線形信号LIN2の画像信号T1(長蓄)の画素値の変化の様子を表している。
ここで、線形信号LIN1においては、画像信号T1(長蓄)が、クリップ値CLIP_T1_1でクリップされるまでは、ヒストグラムのスパイクは発生しないので、画像信号T1(長蓄)のレベルを見て、線形信号LIN1と線形信号LIN2との合成割合(第1合成係数)を設定する。
また、画像信号T1(長蓄)が、クリップ値CLIP_T1_1となるときには、既に、線形信号LIN1側から線形信号LIN2側に、完全に切り替わっているように(線形信号LIN2の合成割合が100%となるように)、第1合成係数(BLD_TH_L_LOW,BLD_TH_L_HIGH)を設定する。ただし、この合成領域の幅を、どのような値に設定するかは任意である。
一方で、線形信号LIN2側は、線形信号LIN1と線形信号LIN2との合成(ブレンド)が開始されるBLD_TH_L_LOWの領域では、既に、ヒストグラムのスパイクが発生しないという条件を満たしている必要がある。そのため、本技術では、BLD_TH_L_LOWから、その付近の画像信号T2(中蓄)と画像信号T3(短蓄)のノイズ量だけを引き下げた値が、クリップ値CLIP_T1_2に設定されるようにしている。
(動き補償後合成係数の詳細)
次に、本技術で用いられる動き補償後合成係数の詳細について説明する。
上述した図24乃至図27の例においては、第2加算処理で用いられる画像信号T1のクリップ値(CLIP_T1_2)として、第1加算処理で用いられるクリップ値(CLIP_T1_1)よりも、低い値を設定しているため、線形信号LIN2では、線形信号LIN1よりも、画像信号T1(長蓄)の信号量が、はやめにクリップされる。
その際に、線形信号LIN2では、減った分の信号量を、画像信号T2(中蓄)と画像信号T3(短蓄)を用いて推測することになるが、画像信号T1(長蓄)にのみ明るく映った動体などは、より高いクリップ値が設定されている線形信号LIN1よりも暗くなってしまう可能性がある。
そこで、本技術では、線形信号LIN1と線形信号LIN2との間で動き判定を行い、動きがある場合には、より安全な(より信頼性の高い)線形信号LIN1側の合成割合を上げるように、第1合成係数の制御(変調)を行う。そして、このようにして得られる第1動き補償後合成係数を用い、線形信号LIN1と線形信号LIN2との合成が行われるようにすることで、例えば、動体などが暗くなることを抑制することが可能となる。
なお、例えば、第1の加算処理で、画像信号T1(長蓄)を使用する一方で、第2加算処理では、画像信号T1(長蓄)の画像信号T1を使用しないモードも想定されるが、このようなモードの場合、より信頼性の高い情報は、線形信号LIN2ではなく、線形信号LIN1の方となる。この場合においても、線形信号LIN1側の合成割合が上がるように、第1合成係数の制御が行われる。
ここでは、例えば、線形信号LIN1と線形信号LIN2とを比較して、その差分が大きければ、線形信号LIN1の方を使用すればよい。すなわち、線形信号LIN1と線形信号LIN2との合成の際には、情報の信頼性の高い方の信号の合成割合が増加されるように、第1合成係数を変調することになる。
なお、ここでは、線形信号LIN1と線形信号LIN2とを合成するための第1合成係数とその第1動き補償後合成係数について述べたが、合成信号BLD1と線形信号LIN3とを合成するための第2合成係数とその第2動き補償後合成係数についても、同様に制御することができる。
<5.N枚合成の計算式>
上述した説明では、2枚合成を行う場合と3枚合成を行う場合の信号処理を説明したが、それらの合成の枚数は一例であり、4枚以上の合成を行うこともできる。すなわち、信号処理部104に入力されるN枚(N:1以上の整数)の撮影画像に対して、本技術を適用した信号処理を行うことができる。
ここで、信号処理部104に、N枚の撮影画像が入力される場合に、感度の高い画像信号から順に、T1,T2,T3,・・・,TNとする。例えば、3枚合成が行われる場合には、画像信号T1が長蓄画像に相当する。また、画像信号T2が中蓄画像に相当し、画像信号T3が短蓄画像に相当することになる。
また、露光時間として、画像信号T1の露光時間をS1とし、画像信号T2の露光時間をS2とし、画像信号T3の露光時間をS3とする。画像信号T4以降についても同様に露光時間を指定すれば、画像信号TNの露光時間は、SNとなる。
また、加算処理前のクリップ値の値として、画像信号T1のクリップ値をCLIP_T1とし、画像信号T2のクリップ値をCLIP_T2とし、画像信号T3のクリップ値をCLIP_T3とする。画像信号T4以降についても同様にクリップ値を指定すれば、画像信号TNのクリップ値は、CLIP_TNとなる。
また、ニーポイントKpとして、画像信号T1が飽和して最初に加算信号SUMの傾きが変わる点を、KP_1とし、次に、画像信号T2が飽和して加算信号SUMの傾きが変わる点を、KP_2とする。画像信号T3以降についても同様に、画像信号T3,・・・,TNが飽和して加算信号SUMの傾きが変わる点を、順次、KP_3,・・・,KP_Nとする。
また、線形化後の線形信号LINとして、SUM < KP_1の領域の線形信号を、LIN_1とし、KP_1 ≦ SUM < KP_2の領域の線形信号を、LIN_2とし、KP_2 ≦ SUM < KP_3の領域の線形信号を、LIN_3とする。それ以降についても同様の関係を有するとすれば、KP_N-1 < SUMの領域の線形信号は、LIN_Nとなる。
このような関係を図示すると、例えば、図28のように表すことができる。
図28においては、加算処理が行われる画像信号T1,T2,T3に対し、クリップ値CLIP_T1,CLIP_T2,CLIP_T3がそれぞれ設定されている。ここで、画像信号T1,T2,T3の加算信号SUMであるが、画像信号T1のクリップ値CLIP_T1に応じたニーポイントKP_1でその傾きが変化(図中のC1内の最初の変化)し、画像信号T2のクリップ値CLIP_T2に応じたニーポイントKP_2でその傾きがさらに変化(図中のC2内の2回目の変化)している。
この場合において、図中のLで示すように、画像信号T1,T2,T3の加算信号SUMを線形化(Linearization)することになるが、SUM < KP_1の第1領域では、線形信号LIN_1が復元され、KP_1 ≦ SUM < KP_2の第2領域では、線形信号LIN_2が復元され、KP_2 ≦ SUMの第3領域では、線形信号LIN_3が復元される。
なお、図28においては、説明の簡略化のため、加算処理が行われる画像信号として、3つの画像信号T1,T2,T3、すなわち、3枚合成の場合を示しているが、画像信号T4以降の画像信号についても同様に処理され、ニーポイントKpに応じて、加算信号SUMから線形信号が復元される。
このような関係を有する場合において、加算信号SUMを、線形信号LINに変換する計算式は、下記の式(45)及び式(46)のように表すことができる。なお、下記の式(45)は、加算信号SUMを求める計算式である。
例えば、N = 2,すなわち、2枚合成の場合、上記の式(6)や式(10)に示したように、画像信号T1をクリップ値CLIP_T1によりクリップした信号と、画像信号T2をクリップ値CLIP_T2によりクリップした信号との加算値が、加算信号SUMとされる。
そして、上述したように、線形信号LINとして、KP_m-1 ≦ SUM < KP_mの領域の線形信号LINを、LIN_mと定義すれば、LIN_mは、1 ≦ m < Nに対して、下記の式(46)のように表すことができる。
ただし、式(46)において、SUMは、上記の式(45)に相当している。また、式(46)においては、クリップ値CLIP_T0 = 0とされる。
また、ニーポイントKpの一般解として、KP_mの位置は、1 ≦ m < Nに対して、下記の式(47)のように表すことができる。
ただし、式(47)においては、ニーポイントKP_0 = 0とされ、クリップ値CLIP_T0 = 0とされる。
以上のように、本技術によれば、トンネルの出口など輝度差が非常に大きいシーンにおいて、明滅の応答速度が高速なLEDの信号機や道路標識などを確実に認識するとともに、正確に、先行車両や歩行者などの障害物を認識することができる。
なお、本技術では、上述したヒストグラムのスパイクの抑制を行う際に、長蓄の信号量が減った分を、中蓄と短蓄から推測するため、長蓄にのみ明るく映った動体などは、単純加算した場合と比べて、暗くなってしまう可能性がある。そこで、本技術では、動き補正処理があわせて行われるようにしている。
また、本技術は、車載カメラや監視カメラなどの撮影装置全般に適用することができる。また、撮影対象としては、LED信号機やLED速度規制標識に限らず、輝度差が非常に大きいものや、点滅するもの(例えば高速に点滅する発光体)などを撮影対象とすることができる。また、本技術は、特に、ヒストグラムを使用して障害物の検出を行う撮影装置において有用な技術である。
<6.固体撮像装置の構成例>
図13に示したカメラユニット10は、例えば、裏面照射型のCMOSイメージセンサなど、積層型の固体撮像装置として構成することができる。
具体的には、図29に示すように、画素領域201が形成された半導体基板200Aと、信号処理回路領域202が形成された半導体基板200Bとが積層された構成とすることができる。なお、図29において、半導体基板200Aと半導体基板200Bとは、例えば貫通ビアや金属結合等により電気的に接続される。
図30には、図29の画素領域201と信号処理回路領域202の詳細な構成を示している。図30において、信号処理回路領域202は、カメラ信号処理部211や、各種の信号処理を行う信号処理部212乃至214などから構成される。
ここで、カメラ信号処理部211は、上述の信号処理部104(図13)を含んで構成することができる。すなわち、カメラ信号処理部211は、図17や図22乃至図23のフローチャートに示した信号処理を行うことができる。なお、カメラ信号処理部211には、ディレイライン103やタイミング制御部106などを含めるようにしてもよい。また、画素領域201には、撮像素子102の画素アレイ部などが含まれる。
また、図31に示すように、画素領域201が形成された半導体基板200Aと、信号処理回路領域202が形成された半導体基板200Bとの間に、メモリ領域203が形成された半導体基板200Cが積層されるようにしてもよい。
図32には、図31の画素領域201と、信号処理回路領域202と、メモリ領域203の詳細な構成を示している。図32において、信号処理回路領域202は、カメラ信号処理部311や、各種の信号処理を行う信号処理部312乃至314などから構成される。また、メモリ領域203は、メモリ部321乃至322などから構成される。
ここで、カメラ信号処理部311は、図30のカメラ信号処理部211と同様に、信号処理部104(図13)等を含んで構成される。なお、メモリ領域203に、ディレイライン103を含めるようにして、当該ディレイライン103が、画素領域201(撮像素子102)からの画像データを順次記憶し、適宜、カメラ信号処理部311(信号処理部104)に供給するようにしてもよい。
<7.コンピュータの構成例>
上述した一連の処理(例えば、図17や図22乃至図23に示した信号処理)は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウェアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
図33は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
コンピュータ1000において、CPU(Central Processing Unit)1001、ROM(Read Only Memory)1002、RAM(Random Access Memory)1003は、バス1004により相互に接続されている。バス1004には、さらに、入出力インタフェース1005が接続されている。入出力インタフェース1005には、入力部1006、出力部1007、記録部1008、通信部1009、及びドライブ1010が接続されている。
入力部1006は、キーボード、マウス、マイクロフォンなどよりなる。出力部1007は、ディスプレイ、スピーカなどよりなる。記録部1008は、ハードディスクや不揮発性のメモリなどよりなる。通信部1009は、ネットワークインタフェースなどよりなる。ドライブ1010は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブル記録媒体1011を駆動する。
以上のように構成されるコンピュータ1000では、CPU1001が、例えば、記録部1008に記憶されているプログラムを、入出力インタフェース1005及びバス1004を介して、RAM1003にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ1000(CPU1001)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記録媒体1011に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線又は無線の伝送媒体を介して提供することができる。
コンピュータ1000では、プログラムは、リムーバブル記録媒体1011をドライブ1010に装着することにより、入出力インタフェース1005を介して、記録部1008にインストールすることができる。また、プログラムは、有線又は無線の伝送媒体を介して、通信部1009で受信し、記録部1008にインストールすることができる。その他、プログラムは、ROM1002や記録部1008に、あらかじめインストールしておくことができる。
なお、コンピュータ1000が実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
ここで、本明細書において、コンピュータ1000に各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。
また、プログラムは、1のコンピュータにより処理されるものであってもよいし、複数のコンピュータによって分散処理されるものであってもよい。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであってもよい。
さらに、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
<8.応用例>
本開示に係る技術は、様々な製品へ応用することができる。例えば、本開示に係る技術は、自動車、電気自動車、ハイブリッド電気自動車、自動二輪車、自転車、パーソナルモビリティ、飛行機、ドローン、船舶、ロボット、建設機械、農業機械(トラクター)などのいずれかの種類の移動体に搭載される装置として実現されてもよい。
図34は、本開示に係る技術が適用され得る移動体制御システムの一例である車両制御システム7000の概略的な構成例を示すブロック図である。車両制御システム7000は、通信ネットワーク7010を介して接続された複数の電子制御ユニットを備える。図34に示した例では、車両制御システム7000は、駆動系制御ユニット7100、ボディ系制御ユニット7200、バッテリ制御ユニット7300、車外情報検出ユニット7400、車内情報検出ユニット7500、及び統合制御ユニット7600を備える。これらの複数の制御ユニットを接続する通信ネットワーク7010は、例えば、CAN(Controller Area Network)、LIN(Local Interconnect Network)、LAN(Local Area Network)又はFlexRay(登録商標)等の任意の規格に準拠した車載通信ネットワークであってよい。
各制御ユニットは、各種プログラムにしたがって演算処理を行うマイクロコンピュータと、マイクロコンピュータにより実行されるプログラム又は各種演算に用いられるパラメータ等を記憶する記憶部と、各種制御対象の装置を駆動する駆動回路とを備える。各制御ユニットは、通信ネットワーク7010を介して他の制御ユニットとの間で通信を行うためのネットワークI/Fを備えるとともに、車内外の装置又はセンサ等との間で、有線通信又は無線通信により通信を行うための通信I/Fを備える。図34では、統合制御ユニット7600の機能構成として、マイクロコンピュータ7610、汎用通信I/F7620、専用通信I/F7630、測位部7640、ビーコン受信部7650、車内機器I/F7660、音声画像出力部7670、車載ネットワークI/F7680及び記憶部7690が図示されている。他の制御ユニットも同様に、マイクロコンピュータ、通信I/F及び記憶部等を備える。
駆動系制御ユニット7100は、各種プログラムにしたがって車両の駆動系に関連する装置の動作を制御する。例えば、駆動系制御ユニット7100は、内燃機関又は駆動用モータ等の車両の駆動力を発生させるための駆動力発生装置、駆動力を車輪に伝達するための駆動力伝達機構、車両の舵角を調節するステアリング機構、及び、車両の制動力を発生させる制動装置等の制御装置として機能する。駆動系制御ユニット7100は、ABS(Antilock Brake System)又はESC(Electronic Stability Control)等の制御装置としての機能を有してもよい。
駆動系制御ユニット7100には、車両状態検出部7110が接続される。車両状態検出部7110には、例えば、車体の軸回転運動の角速度を検出するジャイロセンサ、車両の加速度を検出する加速度センサ、あるいは、アクセルペダルの操作量、ブレーキペダルの操作量、ステアリングホイールの操舵角、エンジン回転数又は車輪の回転速度等を検出するためのセンサのうちの少なくとも一つが含まれる。駆動系制御ユニット7100は、車両状態検出部7110から入力される信号を用いて演算処理を行い、内燃機関、駆動用モータ、電動パワーステアリング装置又はブレーキ装置等を制御する。
ボディ系制御ユニット7200は、各種プログラムにしたがって車体に装備された各種装置の動作を制御する。例えば、ボディ系制御ユニット7200は、キーレスエントリシステム、スマートキーシステム、パワーウィンドウ装置、あるいは、ヘッドランプ、バックランプ、ブレーキランプ、ウィンカー又はフォグランプ等の各種ランプの制御装置として機能する。この場合、ボディ系制御ユニット7200には、鍵を代替する携帯機から発信される電波又は各種スイッチの信号が入力され得る。ボディ系制御ユニット7200は、これらの電波又は信号の入力を受け付け、車両のドアロック装置、パワーウィンドウ装置、ランプ等を制御する。
バッテリ制御ユニット7300は、各種プログラムにしたがって駆動用モータの電力供給源である二次電池7310を制御する。例えば、バッテリ制御ユニット7300には、二次電池7310を備えたバッテリ装置から、バッテリ温度、バッテリ出力電圧又はバッテリの残存容量等の情報が入力される。バッテリ制御ユニット7300は、これらの信号を用いて演算処理を行い、二次電池7310の温度調節制御又はバッテリ装置に備えられた冷却装置等の制御を行う。
車外情報検出ユニット7400は、車両制御システム7000を搭載した車両の外部の情報を検出する。例えば、車外情報検出ユニット7400には、撮像部7410及び車外情報検出部7420のうちの少なくとも一方が接続される。撮像部7410には、ToF(Time Of Flight)カメラ、ステレオカメラ、単眼カメラ、赤外線カメラ及びその他のカメラのうちの少なくとも一つが含まれる。車外情報検出部7420には、例えば、現在の天候又は気象を検出するための環境センサ、あるいは、車両制御システム7000を搭載した車両の周囲の他の車両、障害物又は歩行者等を検出するための周囲情報検出センサのうちの少なくとも一つが含まれる。
環境センサは、例えば、雨天を検出する雨滴センサ、霧を検出する霧センサ、日照度合いを検出する日照センサ、及び降雪を検出する雪センサのうちの少なくとも一つであってよい。周囲情報検出センサは、超音波センサ、レーダ装置及びLIDAR(Light Detection and Ranging、Laser Imaging Detection and Ranging)装置のうちの少なくとも一つであってよい。これらの撮像部7410及び車外情報検出部7420は、それぞれ独立したセンサないし装置として備えられてもよいし、複数のセンサないし装置が統合された装置として備えられてもよい。
ここで、図35は、撮像部7410及び車外情報検出部7420の設置位置の例を示す。撮像部7910,7912,7914,7916,7918は、例えば、車両7900のフロントノーズ、サイドミラー、リアバンパ、バックドア及び車室内のフロントガラスの上部のうちの少なくとも一つの位置に設けられる。フロントノーズに備えられる撮像部7910及び車室内のフロントガラスの上部に備えられる撮像部7918は、主として車両7900の前方の画像を取得する。サイドミラーに備えられる撮像部7912,7914は、主として車両7900の側方の画像を取得する。リアバンパ又はバックドアに備えられる撮像部7916は、主として車両7900の後方の画像を取得する。車室内のフロントガラスの上部に備えられる撮像部7918は、主として先行車両又は、歩行者、障害物、信号機、交通標識又は車線等の検出に用いられる。
なお、図35には、それぞれの撮像部7910,7912,7914,7916の撮影範囲の一例が示されている。撮像範囲aは、フロントノーズに設けられた撮像部7910の撮像範囲を示し、撮像範囲b,cは、それぞれサイドミラーに設けられた撮像部7912,7914の撮像範囲を示し、撮像範囲dは、リアバンパ又はバックドアに設けられた撮像部7916の撮像範囲を示す。例えば、撮像部7910,7912,7914,7916で撮像された画像データが重ね合わせられることにより、車両7900を上方から見た俯瞰画像が得られる。
車両7900のフロント、リア、サイド、コーナ及び車室内のフロントガラスの上部に設けられる車外情報検出部7920,7922,7924,7926,7928,7930は、例えば超音波センサ又はレーダ装置であってよい。車両7900のフロントノーズ、リアバンパ、バックドア及び車室内のフロントガラスの上部に設けられる車外情報検出部7920,7926,7930は、例えばLIDAR装置であってよい。これらの車外情報検出部7920~7930は、主として先行車両、歩行者又は障害物等の検出に用いられる。
図34に戻って説明を続ける。車外情報検出ユニット7400は、撮像部7410に車外の画像を撮像させるとともに、撮像された画像データを受信する。また、車外情報検出ユニット7400は、接続されている車外情報検出部7420から検出情報を受信する。車外情報検出部7420が超音波センサ、レーダ装置又はLIDAR装置である場合には、車外情報検出ユニット7400は、超音波又は電磁波等を発信させるとともに、受信された反射波の情報を受信する。車外情報検出ユニット7400は、受信した情報に基づいて、人、車、障害物、標識又は路面上の文字等の物体検出処理又は距離検出処理を行ってもよい。車外情報検出ユニット7400は、受信した情報に基づいて、降雨、霧又は路面状況等を認識する環境認識処理を行ってもよい。車外情報検出ユニット7400は、受信した情報に基づいて、車外の物体までの距離を算出してもよい。
また、車外情報検出ユニット7400は、受信した画像データに基づいて、人、車、障害物、標識又は路面上の文字等を認識する画像認識処理又は距離検出処理を行ってもよい。車外情報検出ユニット7400は、受信した画像データに対して歪補正又は位置合わせ等の処理を行うとともに、異なる撮像部7410により撮像された画像データを合成して、俯瞰画像又はパノラマ画像を生成してもよい。車外情報検出ユニット7400は、異なる撮像部7410により撮像された画像データを用いて、視点変換処理を行ってもよい。
車内情報検出ユニット7500は、車内の情報を検出する。車内情報検出ユニット7500には、例えば、運転者の状態を検出する運転者状態検出部7510が接続される。運転者状態検出部7510は、運転者を撮像するカメラ、運転者の生体情報を検出する生体センサ又は車室内の音声を集音するマイク等を含んでもよい。生体センサは、例えば、座面又はステアリングホイール等に設けられ、座席に座った搭乗者又はステアリングホイールを握る運転者の生体情報を検出する。車内情報検出ユニット7500は、運転者状態検出部7510から入力される検出情報に基づいて、運転者の疲労度合い又は集中度合いを算出してもよいし、運転者が居眠りをしていないかを判別してもよい。車内情報検出ユニット7500は、集音された音声信号に対してノイズキャンセリング処理等の処理を行ってもよい。
統合制御ユニット7600は、各種プログラムにしたがって車両制御システム7000内の動作全般を制御する。統合制御ユニット7600には、入力部7800が接続されている。入力部7800は、例えば、タッチパネル、ボタン、マイクロフォン、スイッチ又はレバー等、搭乗者によって入力操作され得る装置によって実現される。統合制御ユニット7600には、マイクロフォンにより入力される音声を音声認識することにより得たデータが入力されてもよい。入力部7800は、例えば、赤外線又はその他の電波を利用したリモートコントロール装置であってもよいし、車両制御システム7000の操作に対応した携帯電話又はPDA(Personal Digital Assistant)等の外部接続機器であってもよい。入力部7800は、例えばカメラであってもよく、その場合搭乗者はジェスチャにより情報を入力することができる。あるいは、搭乗者が装着したウェアラブル装置の動きを検出することで得られたデータが入力されてもよい。さらに、入力部7800は、例えば、上記の入力部7800を用いて搭乗者等により入力された情報に基づいて入力信号を生成し、統合制御ユニット7600に出力する入力制御回路などを含んでもよい。搭乗者等は、この入力部7800を操作することにより、車両制御システム7000に対して各種のデータを入力したり処理動作を指示したりする。
記憶部7690は、マイクロコンピュータにより実行される各種プログラムを記憶するROM(Read Only Memory)、及び各種パラメータ、演算結果又はセンサ値等を記憶するRAM(Random Access Memory)を含んでいてもよい。また、記憶部7690は、HDD(Hard Disc Drive)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス又は光磁気記憶デバイス等によって実現してもよい。
汎用通信I/F7620は、外部環境7750に存在する様々な機器との間の通信を仲介する汎用的な通信I/Fである。汎用通信I/F7620は、GSM(Global System of Mobile communications)、WiMAX、LTE(Long Term Evolution)若しくはLTE-A(LTE-Advanced)などのセルラー通信プロトコル、又は無線LAN(Wi-Fi(登録商標)ともいう)、Bluetooth(登録商標)などのその他の無線通信プロトコルを実装してよい。汎用通信I/F7620は、例えば、基地局又はアクセスポイントを介して、外部ネットワーク(例えば、インターネット、クラウドネットワーク又は事業者固有のネットワーク)上に存在する機器(例えば、アプリケーションサーバ又は制御サーバ)へ接続してもよい。また、汎用通信I/F7620は、例えばP2P(Peer To Peer)技術を用いて、車両の近傍に存在する端末(例えば、運転者、歩行者若しくは店舗の端末、又はMTC(Machine Type Communication)端末)と接続してもよい。
専用通信I/F7630は、車両における使用を目的として策定された通信プロトコルをサポートする通信I/Fである。専用通信I/F7630は、例えば、下位レイヤのIEEE802.11pと上位レイヤのIEEE1609との組合せであるWAVE(Wireless Access in Vehicle Environment)、DSRC(Dedicated Short Range Communications)、又はセルラー通信プロトコルといった標準プロトコルを実装してよい。専用通信I/F7630は、典型的には、車車間(Vehicle to Vehicle)通信、路車間(Vehicle to Infrastructure)通信、車両と家との間(Vehicle to Home)の通信及び歩車間(Vehicle to Pedestrian)通信のうちの1つ以上を含む概念であるV2X通信を遂行する。
測位部7640は、例えば、GNSS(Global Navigation Satellite System)衛星からのGNSS信号(例えば、GPS(Global Positioning System)衛星からのGPS信号)を受信して測位を実行し、車両の緯度、経度及び高度を含む位置情報を生成する。なお、測位部7640は、無線アクセスポイントとの信号の交換により現在位置を特定してもよく、又は測位機能を有する携帯電話、PHS若しくはスマートフォンといった端末から位置情報を取得してもよい。
ビーコン受信部7650は、例えば、道路上に設置された無線局等から発信される電波あるいは電磁波を受信し、現在位置、渋滞、通行止め又は所要時間等の情報を取得する。なお、ビーコン受信部7650の機能は、上述した専用通信I/F7630に含まれてもよい。
車内機器I/F7660は、マイクロコンピュータ7610と車内に存在する様々な車内機器7760との間の接続を仲介する通信インタフェースである。車内機器I/F7660は、無線LAN、Bluetooth(登録商標)、NFC(Near Field Communication)又はWUSB(Wireless USB)といった無線通信プロトコルを用いて無線接続を確立してもよい。また、車内機器I/F7660は、図示しない接続端子(及び、必要であればケーブル)を介して、USB(Universal Serial Bus)、HDMI(High-Definition Multimedia Interface)、又はMHL(Mobile High-definition Link)等の有線接続を確立してもよい。車内機器7760は、例えば、搭乗者が有するモバイル機器若しくはウェアラブル機器、又は車両に搬入され若しくは取り付けられる情報機器のうちの少なくとも1つを含んでいてもよい。また、車内機器7760は、任意の目的地までの経路探索を行うナビゲーション装置を含んでいてもよい。車内機器I/F7660は、これらの車内機器7760との間で、制御信号又はデータ信号を交換する。
車載ネットワークI/F7680は、マイクロコンピュータ7610と通信ネットワーク7010との間の通信を仲介するインタフェースである。車載ネットワークI/F7680は、通信ネットワーク7010によりサポートされる所定のプロトコルに則して、信号等を送受信する。
統合制御ユニット7600のマイクロコンピュータ7610は、汎用通信I/F7620、専用通信I/F7630、測位部7640、ビーコン受信部7650、車内機器I/F7660及び車載ネットワークI/F7680のうちの少なくとも一つを介して取得される情報に基づき、各種プログラムにしたがって、車両制御システム7000を制御する。例えば、マイクロコンピュータ7610は、取得される車内外の情報に基づいて、駆動力発生装置、ステアリング機構又は制動装置の制御目標値を演算し、駆動系制御ユニット7100に対して制御指令を出力してもよい。例えば、マイクロコンピュータ7610は、車両の衝突回避あるいは衝撃緩和、車間距離に基づく追従走行、車速維持走行、車両の衝突警告、又は車両のレーン逸脱警告等を含むADAS(Advanced Driver Assistance System)の機能実現を目的とした協調制御を行ってもよい。また、マイクロコンピュータ7610は、取得される車両の周囲の情報に基づいて駆動力発生装置、ステアリング機構又は制動装置等を制御することにより、運転者の操作に拠らずに自律的に走行する自動運転等を目的とした協調制御を行ってもよい。
マイクロコンピュータ7610は、汎用通信I/F7620、専用通信I/F7630、測位部7640、ビーコン受信部7650、車内機器I/F7660及び車載ネットワークI/F7680のうちの少なくとも一つを介して取得される情報に基づき、車両と周辺の構造物や人物等の物体との間の3次元距離情報を生成し、車両の現在位置の周辺情報を含むローカル地図情報を作成してもよい。また、マイクロコンピュータ7610は、取得される情報に基づき、車両の衝突、歩行者等の近接又は通行止めの道路への進入等の危険を予測し、警告用信号を生成してもよい。警告用信号は、例えば、警告音を発生させたり、警告ランプを点灯させたりするための信号であってよい。
音声画像出力部7670は、車両の搭乗者又は車外に対して、視覚的又は聴覚的に情報を通知することが可能な出力装置へ音声及び画像のうちの少なくとも一方の出力信号を送信する。図34の例では、出力装置として、オーディオスピーカ7710、表示部7720及びインストルメントパネル7730が例示されている。表示部7720は、例えば、オンボードディスプレイ及びヘッドアップディスプレイの少なくとも一つを含んでいてもよい。表示部7720は、AR(Augmented Reality)表示機能を有していてもよい。出力装置は、これらの装置以外の、ヘッドホン、搭乗者が装着する眼鏡型ディスプレイ等のウェアラブルデバイス、プロジェクタ又はランプ等の他の装置であってもよい。出力装置が表示装置の場合、表示装置は、マイクロコンピュータ7610が行った各種処理により得られた結果又は他の制御ユニットから受信された情報を、テキスト、イメージ、表、グラフ等、様々な形式で視覚的に表示する。また、出力装置が音声出力装置の場合、音声出力装置は、再生された音声データ又は音響データ等からなるオーディオ信号をアナログ信号に変換して聴覚的に出力する。
なお、図34に示した例において、通信ネットワーク7010を介して接続された少なくとも二つの制御ユニットが一つの制御ユニットとして一体化されてもよい。あるいは、個々の制御ユニットが、複数の制御ユニットにより構成されてもよい。さらに、車両制御システム7000が、図示されていない別の制御ユニットを備えてもよい。また、上記の説明において、いずれかの制御ユニットが担う機能の一部又は全部を、他の制御ユニットに持たせてもよい。つまり、通信ネットワーク7010を介して情報の送受信がされるようになっていれば、所定の演算処理が、いずれかの制御ユニットで行われるようになってもよい。同様に、いずれかの制御ユニットに接続されているセンサ又は装置が、他の制御ユニットに接続されるとともに、複数の制御ユニットが、通信ネットワーク7010を介して相互に検出情報を送受信してもよい。
なお、図13を用いて説明した本実施形態に係るカメラユニット10の各機能を実現するためのコンピュータプログラムを、いずれかの制御ユニット等に実装することができる。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体を提供することもできる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリ等である。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信されてもよい。
以上説明した車両制御システム7000において、図13を用いて説明した本実施形態に係るカメラユニット10は、図34に示した応用例の統合制御ユニット7600に適用することができる。例えば、カメラユニット10の信号処理部104及びタイミング制御部106は、統合制御ユニット7600のマイクロコンピュータ7610に相当する。例えば、統合制御ユニット7600が、ヒストグラムのスパイクを抑制するために、長蓄と短蓄とで、異なるクリップ値を設けるようにすることで、トンネルの出口など輝度差が非常に大きいシーンにおいて、明滅の応答速度が高速なLEDの信号機や道路標識などを確実に認識するとともに、正確に、先行車両や歩行者などの障害物を認識することができる。
また、図13を用いて説明したカメラユニット10の少なくとも一部の構成要素は、図34に示した統合制御ユニット7600のためのモジュール(例えば、一つのダイで構成される集積回路モジュール)において実現されてもよい。あるいは、図13を用いて説明したカメラユニット10が、図34に示した車両制御システム7000の複数の制御ユニットによって実現されてもよい。
なお、本技術は、以下のような構成をとることができる。
(1)
異なる露光時間で撮影された複数の画像の信号を、異なる飽和信号量を用いて加算する加算部と、
加算の結果得られる複数の画像の信号を合成する合成部と
を備える信号処理装置。
(2)
加算の結果得られる画像の信号を線形化する線形化部をさらに備え、
前記合成部は、加算の結果得られる画像の信号の信号量であって、その信号量の光量に対する傾きが変化するときの信号量の周辺と異なる領域で、線形化の結果得られる複数の画像の信号を合成する
前記(1)に記載の信号処理装置。
(3)
前記傾きが変化するときの信号量は、前記飽和信号量に応じて変化する
前記(2)に記載の信号処理装置。
(4)
加算の対象となる複数の画像の信号ごとに、少なくとも1つの画像の信号に対する飽和信号量が異なるように設定される
前記(1)乃至(3)のいずれかに記載の信号処理装置。
(5)
前記複数の画像の信号のうち、より長い露光時間を有する画像の信号は、前記飽和信号量が異なるように設定される
前記(4)に記載の信号処理装置。
(6)
前記複数の画像の信号のうち、基準の画像の信号に基づいて、線形化の結果得られる複数の画像の信号の合成割合を示す合成係数を算出する合成係数算出部をさらに備え、
前記合成部は、前記合成係数に基づいて、前記複数の画像の信号を合成する
前記(2)乃至(5)のいずれかに記載の信号処理装置。
(7)
前記合成係数算出部は、第1の飽和信号量を用いた加算と線形化の結果得られる第1の画像の信号と、前記第1の飽和信号量よりも低い第2の飽和信号量を用いた加算と線形化の結果得られる第2の画像の信号とを合成する際に、前記第1の飽和信号量が設定された設定画像の信号のレベルに応じて、前記第1の画像の信号と前記第2の画像の信号とを合成するための前記合成係数を算出する
前記(6)に記載の信号処理装置。
(8)
前記合成係数算出部は、前記設定画像の信号のレベルが、前記第1の飽和信号量のとなるときまでに、前記第1の画像の信号と前記第2の画像の信号とを合成して得られる合成画像の信号における、前記第2の画像の信号の合成割合が100%になるように、前記合成係数を算出する
前記(7)に記載の信号処理装置。
(9)
前記設定画像の信号のレベルが、前記第1の飽和信号量となるとき、加算の結果得られる画像の信号における前記傾きが変化する
前記(8)に記載の信号処理装置。
(10)
前記複数の画像の信号間の動き検出結果に基づいて、前記合成係数を変調する合成係数変調部をさらに備え、
前記合成部は、変調の結果得られる動き補償後の合成係数に基づいて、前記複数の画像の信号を合成する
前記(6)に記載の信号処理装置。
(11)
前記合成係数変調部は、前記複数の画像の信号間で動きが検出された場合、前記複数の画像の信号のうち、情報の信頼性の高い画像の信号の合成割合が増加されるように、前記合成係数を変調する
前記(10)に記載の信号処理装置。
(12)
前記合成係数変調部は、第1の飽和信号量を用いた加算と線形化の結果得られる第1の画像の信号と、前記第1の飽和信号量よりも低い第2の飽和信号量を用いた加算と線形化の結果得られる第2の画像の信号との間で動きが検出された場合、前記第1の画像の信号と前記第2の画像の信号とを合成して得られる合成画像の信号における、前記第1の画像の信号の合成割合が増加されるように、前記第1の画像の信号と前記第2の画像の信号とを合成するための前記合成係数を変調する
前記(11)に記載の信号処理装置。
(13)
前記複数の画像の露光時間を制御する制御部をさらに備え、
前記複数の画像は、第1の露光時間を有する第1の露光画像と、前記第1の露光時間とは異なる第2の露光時間を有する第2の露光画像とを含み、
前記制御部は、前記第1の露光画像に続いて前記第2の露光画像を撮影するように制御するとともに、前記第1の露光画像の露光終了と前記第2の露光画像の露光開始との間隔を極小化する
前記(1)乃至(12)のいずれかに記載の信号処理装置。
(14)
異なる露光時間で撮影された複数の画像を生成する画像生成部と、
前記複数の画像の信号を、異なる飽和信号量を用いて加算する加算部と、
加算の結果得られる複数の画像の信号を合成する合成部と
を備える撮影装置。
(15)
異なる露光時間で撮影された複数の画像の信号を、異なる飽和信号量を用いて加算し、
加算の結果得られる複数の画像の信号を合成する
ステップを含む信号処理方法。