JP2023161264A - 画像処理装置、方法及びプログラム - Google Patents
画像処理装置、方法及びプログラム Download PDFInfo
- Publication number
- JP2023161264A JP2023161264A JP2022071532A JP2022071532A JP2023161264A JP 2023161264 A JP2023161264 A JP 2023161264A JP 2022071532 A JP2022071532 A JP 2022071532A JP 2022071532 A JP2022071532 A JP 2022071532A JP 2023161264 A JP2023161264 A JP 2023161264A
- Authority
- JP
- Japan
- Prior art keywords
- exposure
- evaluation value
- value
- map information
- pixel block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 46
- 238000000034 method Methods 0.000 title claims description 57
- 238000012937 correction Methods 0.000 claims abstract description 106
- 238000011156 evaluation Methods 0.000 claims abstract description 67
- 238000009795 derivation Methods 0.000 claims abstract description 11
- 238000006243 chemical reaction Methods 0.000 claims description 50
- 238000003672 processing method Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 abstract description 43
- 238000003384 imaging method Methods 0.000 abstract description 27
- 239000011159 matrix material Substances 0.000 description 208
- 230000008569 process Effects 0.000 description 43
- 230000009466 transformation Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 13
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 229920006395 saturated elastomer Polymers 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Landscapes
- Exposure Control For Cameras (AREA)
- Image Processing (AREA)
- Studio Devices (AREA)
Abstract
【課題】撮像センサに起因して生じる領域の間の誤差を補正するための計算量を低減する。【解決手段】領域毎に露出設定可能な撮像センサにより撮像された画像データに対して補正をするための画像処理装置であって、前記領域の間の境界で生じる階調の段差を評価した評価値を導出する導出手段と、前記導出した評価値に基づき露出設定の誤差を推定する推定手段と、前記推定した露出設定の誤差を補正するための補正値を決定する決定手段と、前記決定した補正値を用いて前記画像データを調整するための調整値を更新する更新手段と、を有し、前記導出手段は、前記画像データから得られた領域毎の評価値を基に、各領域に対応付けられた露出設定毎の評価値を導出する。【選択図】図3
Description
本開示は、高ダイナミックレンジの画像の撮像を制御する技術に関する。
カメラのダイナミックレンジは、撮像センサの飽和電子数とA/D変換後のビット精度とによって制限される。カメラのダイナミックレンジを広げるために、撮像センサの露出(露光時間やアナログゲイン)を部分的に変更する方法が種々開発されている。撮像センサの受光領域全体を複数の領域に分け、領域毎に露出を設定し、撮像センサにより得られたデジタル信号に対して、設定された露出から算出した領域毎の補正ゲインを乗じることで、領域毎の露出設定の違い(差)を補正する技術がある。しかし、撮像センサに起因して、露光時間やアナログゲインに設計値からの誤差が生じた場合、領域の間で露出が合わず領域の間の境界で階調の誤差が生じる場合がある。
この点、特許文献1では、撮像センサに起因して生じる領域の間の境界の誤差を推定し、推定した誤差を補正するための補正値を導出し、導出した補正値を用いて画像データを補正する技術を開示する。
特許文献1の技術では、露出設定可能な領域の個数と補正値導出のための計算量とが比例関係であることから、露出設定可能な領域の個数が多くなると、補正値導出のための計算量が増大する。
上記の課題を解決するため本開示の一態様に係る画像処理装置は、領域毎に露出設定可能な撮像センサにより撮像された画像データに対して補正をするための画像処理装置であって、前記領域の間の境界で生じる階調の段差を評価した評価値を導出する導出手段と、前記導出した評価値に基づき露出設定の誤差を推定する推定手段と、前記推定した露出設定の誤差を補正するための補正値を決定する決定手段と、前記決定した補正値を用いて前記画像データを調整するための調整値を更新する更新手段と、を有し、前記導出手段は、前記画像データから得られた領域毎の評価値を基に、各領域に対応付けられた露出設定毎の評価値を導出することを特徴とする。
本開示によれば、撮像センサに起因して生じる領域の間の誤差を補正するための計算量を低減することが可能となる。
以下、添付の図面を参照して、本開示の技術の実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る本開示の技術を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本開示の技術の解決手段に必須のものとは限らない。なお、同一の構成要素または処理について同じ参照符号を付して説明する。
[実施形態1]
図1は、本実施形態に係る撮像装置100の概略構成例を示すブロック図である。本実施形態の撮像装置100は、一般的な撮像装置が有する各種の構成も備える画像処理装置であるが、図示および説明を簡潔にするために、図1には本実施形態に係る主要な構成部のみを示している。
図1は、本実施形態に係る撮像装置100の概略構成例を示すブロック図である。本実施形態の撮像装置100は、一般的な撮像装置が有する各種の構成も備える画像処理装置であるが、図示および説明を簡潔にするために、図1には本実施形態に係る主要な構成部のみを示している。
撮像装置100は、同期制御部101、撮像素子部103、A/D変換部104、露光補正部105、階調変換部106、画像出力部108、露光時間制御部109、ゲイン制御部110、露光条件算出部111、明るさ調整値補正部131を有する。
まず、本実施形態の撮像装置100について、撮像素子部103を起点として各構成部の概要を説明する。
撮像素子部103は、撮像領域を有する。撮像領域は、画素ブロックと呼ぶ領域で複数に分割される。撮像素子部103は、画素ブロック(領域)単位で駆動可能であり、各々の領域毎に異なった露光時間による露光動作(電荷の蓄積)を行える機能を有する。画素ブロックの詳細に関しては後述する。本実施形態の場合、撮像素子部103は、露光時間制御部109から供給される露光制御信号117によって各々の領域毎に露光時間が設定され、それら領域毎に設定された露光時間で露光を行う。露光制御信号117は、撮像素子部103の各領域に領域毎の露光時間を設定するための信号である。そして撮像素子部103は、領域毎に露光制御信号117によって設定された露光時間で各画素に蓄積した電荷を、画素電位118として読み出してA/D変換部104に出力する。
A/D変換部104は、撮像素子部103から読み出された画素電位118をアナログ/デジタル変換してデジタル値に変換する。本実施形態の場合、A/D変換部104には、ゲイン制御部110によって前述の各々の領域毎に対応したアナログゲイン121が設定される。A/D変換部104は、撮像素子部103から出力された画素電位118に対して領域毎にアナログゲイン121をかけた後、アナログ/デジタル変換してデジタル値に変換する。以下、A/D変換部104にて領域毎にアナログゲイン121をかけてアナログ/デジタル変換されたデジタル信号よりなる画像を、露光画像122と呼ぶ。A/D変換部104から出力された露光画像122は、明るさ調整値補正部131と露光条件算出部111と露光補正部105とに送られる。
露光条件算出部111は、露光画像122を基に、撮像が最適な条件となるように領域毎に露光時間112およびアナログゲイン値113を算出して更新する。具体的には、露光条件算出部111は、露光画像122の輝度分布を基に画素ブロック毎に画素値(輝度値)のヒストグラムを算出する。そして、露光条件算出部111は、明部側に画素値が分布していれば、より暗く撮像する設定値になるように領域毎に露光時間112およびアナログゲイン値113を変更(更新)する。また、露光条件算出部111は、暗部側に画素値が分布していれば、より明るく撮像する設定値になるように領域毎に露光時間112およびアナログゲイン値113を変更(更新)する。そして、領域毎の露光時間112の値は、露光時間制御部109と露光補正部105とに送られる。領域毎のアナログゲイン値113は、ゲイン制御部110と露光補正部105とに送られる。領域毎の露光時間112の値と領域毎のアナログゲイン値113は、明るさ調整値補正部131にも送られる。
明るさ調整値補正部131は、露光時間とアナログゲイン値に対する補正値を算出する。そして、明るさ調整値補正部131は、露光時間とアナログゲイン値から得られる明るさ調整値130に対し補正値を乗算して明るさ調整値130を更新し、更新後の明るさ調整値130を露光補正部105に出力する。なお、補正値が算出されない場合には、露光時間とアナログゲイン値から得られる明るさ調整値130がそのまま露光補正部105に出力されることになる。この明るさ調整値補正部131の動作に関しては後述する。
ここで、明るさ調整値130の考え方について説明する。明るさ調整値は、各領域の露光条件で撮像した信号値を、基準となる露光条件で撮像した時の信号値に換算するための換算係数を表す値である。
例えば、基準となる露光条件を露光条件Aとし、この露光条件Aでは、露光時間を1/30秒とし、アナログゲインを8倍とする。また、基準となる露光条件Aと異なる、露光時間を1/60秒とし、アナログゲインを2倍とする露光条件を露光条件Bとする。ある領域Cを露光条件Bで撮像した時の信号値をSBとする。露光条件Aと露光条件Bとの間には、露光時間についてBはAの1/2、アナログゲインについてBはAの1/4の関係にある。すなわち、領域Cを基準となる露光条件で撮像した時の信号値をSAとすると、SAとSBは次に示す関係が成立する。
SB=1/2×1/4×SA=1/8×SA
すなわち、SAとSBは次に示す関係となる。この8倍の値が領域Cに対応する明るさ調整値となる。
すなわち、SAとSBは次に示す関係となる。この8倍の値が領域Cに対応する明るさ調整値となる。
SA=8×SB
また、同期制御部101は、同期した露光時間出力パルス120とゲイン出力パルス114とを生成する。同期制御部101は、生成した露光時間出力パルス120を露光時間制御部109に出力する。同期制御部101は、生成したゲイン出力パルス114をゲイン制御部110に出力する。これによって、同期制御部101は、露光時間制御部109の処理とゲイン制御部110の処理とを同期制御する。露光時間出力パルス120は、露光時間制御部109が露光制御信号117を撮像素子部103に出力するタイミングを制御するための信号である。露光時間制御部109は、露光時間出力パルス120に基づいて、露光制御信号117を撮像素子部103に出力することで、撮像素子部103の任意の画素ブロック毎に露光時間を変更する。また、ゲイン出力パルス114は、ゲイン制御部110がアナログゲイン121をA/D変換部104に出力するタイミングを制御するための信号である。ゲイン制御部110は、ゲイン出力パルス114に基づいて、アナログゲイン121をA/D変換部104に出力することで、任意の画素ブロック毎に画素電位にかけるゲインを変更する。このように本実施形態では、同期制御部101が、露光時間制御部109とゲイン制御部110を同期させて動作制御を行うことで、撮像素子部103の画素ブロック毎に露光時間とアナログゲインを適宜変えた露光画像122を出力できる。
また、同期制御部101は、同期した露光時間出力パルス120とゲイン出力パルス114とを生成する。同期制御部101は、生成した露光時間出力パルス120を露光時間制御部109に出力する。同期制御部101は、生成したゲイン出力パルス114をゲイン制御部110に出力する。これによって、同期制御部101は、露光時間制御部109の処理とゲイン制御部110の処理とを同期制御する。露光時間出力パルス120は、露光時間制御部109が露光制御信号117を撮像素子部103に出力するタイミングを制御するための信号である。露光時間制御部109は、露光時間出力パルス120に基づいて、露光制御信号117を撮像素子部103に出力することで、撮像素子部103の任意の画素ブロック毎に露光時間を変更する。また、ゲイン出力パルス114は、ゲイン制御部110がアナログゲイン121をA/D変換部104に出力するタイミングを制御するための信号である。ゲイン制御部110は、ゲイン出力パルス114に基づいて、アナログゲイン121をA/D変換部104に出力することで、任意の画素ブロック毎に画素電位にかけるゲインを変更する。このように本実施形態では、同期制御部101が、露光時間制御部109とゲイン制御部110を同期させて動作制御を行うことで、撮像素子部103の画素ブロック毎に露光時間とアナログゲインを適宜変えた露光画像122を出力できる。
露光時間制御部109は、露光時間出力パルス120と領域毎の露光時間112の値とを基に、領域毎の露光制御信号117を生成して、撮像素子部103に出力する。これにより、領域毎の露光時間112に応じた露光時間が、撮像素子部103に対して適切なタイミングで設定される。
ゲイン制御部110は、ゲイン出力パルス114のパルスのタイミングに合わせて領域毎のアナログゲイン値113を、撮像素子部103の領域毎の画素電位118に対する領域毎のアナログゲイン121として、A/D変換部104に出力する。これにより、A/D変換部104では、領域毎の画素電位118にそれぞれ対応した領域毎のアナログゲイン121がかけられた後にアナログ/デジタル変換が行われる。アナログ/デジタル変換が行われたデータは、領域毎の露光画像122として、露光補正部105に送られる。
露光補正部105は、A/D変換部104から送られてきた領域毎の露光画像122に対し、明るさ調整値130に基づく階調拡張処理を施して階調拡張後画像123を生成する。例えば入力される領域毎の露光画像122がどの条件で撮像されているかを、領域毎の露光時間112と領域毎のアナログゲイン値113より認識し、その条件に対応する明るさ調整値130を用いて領域毎の露光画像122を補正する。露光補正部105は、例えばビット数が10ビットで表される領域毎の露光画像122に対する階調拡張処理により、17ビットで表される階調拡張後画像123を生成する。そして、生成した階調拡張後画像123は、階調変換部106へ送られる。
階調変換部106は、階調拡張後画像123に対して階調変換を行い、その階調変換後画像124を画像出力部108へ出力する。本実施形態において、階調変換は、17ビットの階調拡張後画像123のガンマ変換により例えば11ビットの階調変換後画像124を生成する処理であるとする。なお、本実施形態における階調変換処理は、後段の処理においてデータレートを抑えるために行われる。本実施形態において露光画像122及び階調変換後画像124のビット長をそれぞれ10ビット及び11ビットとしたが、これらのビット長は一例であり、これに限定されない。
画像出力部108は、階調変換後画像124を、撮像装置100の後段の構成若しくは外部に出力する。
<撮像素子部103の構成>
図2は、撮像素子部103の構成例を説明するための図である。撮像素子部103の撮像領域は、複数の画素ブロック201を有する。さらに画素ブロック201は複数の画素202を有する。本実施形態では、撮像素子部103の撮像領域の幅206方向(水平ライン方向)の画素数が2000画素であり、高さ205方向の画素数が1000画素(つまり垂直方向における水平ライン数が1000ライン)であるとする。また、画素ブロック201の幅204方向(水平ライン方向)の画素数は100画素であり、高さ203方向の画素数は100画素(垂直方向における水平ラインの100ライン分)であるとする。この場合、撮像素子部103の撮像領域内における画素ブロック201の数は、水平方向が20個となり、垂直方向が10個となる。また図2の各画素ブロック201内に記載されている画素ブロック[0,0]~[19,9]は、撮像領域内の各画素ブロック201の位置を表しており、括弧[ ]内の値は撮像領域内における各画素ブロックの水平・垂直方向のインデックスを表している。図2において、撮像素子部103の例えば右上に位置している画素ブロック201の場合は、画素ブロック[19,0]となる。また、同一垂直方向のインデックスで表される画素ブロックの集合をブロック行と呼ぶこととする。すなわち、ブロック行Nは画素ブロック[0,N]~[19,N]からなる。例えばブロック行5は画素ブロック[0,5]~[19,5]からなる。なお、撮像素子部103および画素ブロック201のそれぞれのサイズ(縦方向および横方向の画素数)は前述の例に限定されるものではない。また、画素202の形状および縦横比についても限定されず、例えば正方形ではなく長方形であってもよい。さらに画素ブロック201は、1つの画素202のみで構成されていてもよい。
図2は、撮像素子部103の構成例を説明するための図である。撮像素子部103の撮像領域は、複数の画素ブロック201を有する。さらに画素ブロック201は複数の画素202を有する。本実施形態では、撮像素子部103の撮像領域の幅206方向(水平ライン方向)の画素数が2000画素であり、高さ205方向の画素数が1000画素(つまり垂直方向における水平ライン数が1000ライン)であるとする。また、画素ブロック201の幅204方向(水平ライン方向)の画素数は100画素であり、高さ203方向の画素数は100画素(垂直方向における水平ラインの100ライン分)であるとする。この場合、撮像素子部103の撮像領域内における画素ブロック201の数は、水平方向が20個となり、垂直方向が10個となる。また図2の各画素ブロック201内に記載されている画素ブロック[0,0]~[19,9]は、撮像領域内の各画素ブロック201の位置を表しており、括弧[ ]内の値は撮像領域内における各画素ブロックの水平・垂直方向のインデックスを表している。図2において、撮像素子部103の例えば右上に位置している画素ブロック201の場合は、画素ブロック[19,0]となる。また、同一垂直方向のインデックスで表される画素ブロックの集合をブロック行と呼ぶこととする。すなわち、ブロック行Nは画素ブロック[0,N]~[19,N]からなる。例えばブロック行5は画素ブロック[0,5]~[19,5]からなる。なお、撮像素子部103および画素ブロック201のそれぞれのサイズ(縦方向および横方向の画素数)は前述の例に限定されるものではない。また、画素202の形状および縦横比についても限定されず、例えば正方形ではなく長方形であってもよい。さらに画素ブロック201は、1つの画素202のみで構成されていてもよい。
そして、本実施形態において、各画素ブロック201で、露光時間とアナログゲインとが制御可能となっている。
ここで、露光時間は、撮像時において撮像素子部103の画素(受光素子)に電荷が蓄積される時間に相当する。このため、例えば撮像素子部103への入射光量が同じであり、画素が飽和しないとすると、露光時間が長いほど画素電位118は高くなり、明るく撮像できる。つまり、入射光量が同じで画素の飽和を考慮しない場合、例えば露光時間が1/480秒である場合と1/30秒である場合とを比較すると、1/30秒の場合の方が明るく撮像できることになる。
アナログゲインは、撮像時にA/D変換部104において画素電位118にかけられるゲインである。このため、アナログゲインの値が大きいほど、A/D変換部104から出力されるデジタル画素値(ゲインがかけられた後にアナログ/デジタル変換されたデジタル値)が大きい値となる。
図1に戻って、本実施形態の撮像装置100の構成および動作について、詳細に説明する。
撮像素子部103は、露光制御信号117に基づき、画素ブロック201単位で露光時間が制御されて撮像を行う。そして、撮像素子部103は、画素毎に蓄積された電荷に応じた画素電位118を出力する。
A/D変換部104は、撮像素子部103から出力された画素電位118に対し、撮像素子部103の画素ブロック毎に対応して設定されたアナログゲイン121をかけた後にデジタル変換を行って、露光画像122を出力する。なお、本実施形態において、露光画像122は10ビットのデジタル値であるとする。また、アナログゲイン121は、例えばゲイン値として、×1倍、×2倍、×4倍、×8倍の4つの値を取り得るものとする。
<明るさ調整値補正部131の動作>
次に、明るさ調整値130を決定する明るさ調整値補正部131の動作について、図を参照しながら説明する。図3は、明るさ調整値補正部131を説明するための図であり、図3(a)に明るさ調整値補正部131の構成例を示し、図3(b)に生成部304の構成例を示す。
次に、明るさ調整値130を決定する明るさ調整値補正部131の動作について、図を参照しながら説明する。図3は、明るさ調整値補正部131を説明するための図であり、図3(a)に明るさ調整値補正部131の構成例を示し、図3(b)に生成部304の構成例を示す。
明るさ調整値補正部131は、RAM301、境界評価部302、補正値算出部303を有する。補正値算出部303は、生成部304、算出部305、決定部306、明るさ調整値更新部307を含む。生成部304は、第一の行列生成部308、マップ情報取得部309、第一の行列変換部310、第二の行列変換部311を含む。
第一の行列生成部308は、詳細につき後述する通り、境界評価部302で得た、領域毎の第1の評価値を用いて、第一の行列を生成する。マップ情報取得部309は、領域と、露光時間と、アナログゲイン値とが対応付けられたマップ情報を生成して取得し、取得したマップ情報を出力する。マップ情報は、例えば、以下の表1に示すように、露光条件と領域(画素ブロック)とが対応付けられた情報を有する。
第一の行列変換部310は、詳細につき後述する通り、マップ情報に基づき、第一の係数行列を第二の係数行列に変換する。第二の行列変換部311は、詳細につき後述する通り、マップ情報に基づき、第二の係数行列を第三の係数行列に変換する。
算出部305は、生成部394で生成された行列の逆行列を算出する。決定部306は、逆行列を基に補正値を決定する。明るさ調整値更新部307は、決定部306で決定された補正値を用いて明るさ調整値130を更新する。明るさ調整値補正部131および生成部304の動作の詳細は後述する。
それぞれの構成要素の処理の実装形態は問わず、ハードウェアの回路として実装しても、ソフトウェアとして実装してCPUで処理する形態としてもよい。また、それらが混在してもよい。
RAM301は、例えば、境界評価部302で算出した平均値など、明るさ調整値補正部131内の各機能部で用いられるデータを一時的に保持する。
境界評価部302は、各画素ブロックの間の境界を示す境界情報を取得し、取得した境界情報を基に、入力される露光画像122に対して、画素ブロック境界の周辺画素の画素値を取得する。すなわち、境界評価部302は、境界に隣接する(境界を挟んで隣り合う)2つの隣接画素の画素値(輝度値)を取得する。なお、境界情報は、着目画素ブロックと、着目画素ブロックと隣り合う隣接画素ブロックとの間の境界の位置を示す情報である。境界情報は、例えば、RAM301などに予め保持された情報であってもよいし、または露光画像122に付帯された情報であってもよいが、これに限定されない。そして、境界評価部302は、画素ブロック境界の周辺画素値の平均値を算出する。具体的には、境界評価部302は、注目画素ブロックと、注目画素ブロックと隣り合う隣接画素ブロックとの間の画素ブロック境界の周辺画素値の平均値をフレーム内の全ての画素ブロックに対して予め算出し、それをRAM301に保存しておく。なお、境界周辺は、注目画素ブロック内の境界周辺である、境界と隣り合う隣接画素と、隣接画素ブロック内の境界周辺である、境界と隣り合う隣接画素とを含む。そして、境界評価部302は、各画素ブロックの評価値を求める際に必要に応じてRAM301から読み出す。そのうえで、境界評価部302は、算出した平均値に対して、着目画素ブロックの露光時間112とアナログゲイン値113に対応する明るさ調整値130を用いて階調拡張処理を施す。階調拡張された平均値は、RAM301を通じて、補正値算出部303へ送られる。
次いで、補正値算出部303は、境界評価部302で階調拡張された平均値と、露光時間112と、アナログゲイン値113とに基づいて、明るさ調整値130を算出し、算出した明るさ調整値130を露光補正部105へ出力する。ただし、補正値が算出されて決定した場合には、算出した明るさ調整値130に対し補正値を乗算して明るさ調整値130を更新し、更新後の明るさ調整値130が露光補正部105へ出力される。
補正値算出部303の動作を詳細に説明する。そのためにまず、補正値算出部303で用いられる補正値を算出するための計算式について図を用いて説明する。図4は、画素ブロック[i,j]とその周囲の画素ブロックの位置関係を示す図である。本実施形態では、iは0から19の値を取りえ、jは0から9の値を取りうる。画素ブロック[i,j]と、画素ブロック[i,j]に対して上側で隣り合う隣接画素ブロック[i,j-1]との境界を上側境界と称する。画素ブロック[i,j]と、画素ブロック[i,j]に対して下側で隣り合う隣接画素ブロック[i,j+1]との間の境界を下側境界と称する。画素ブロック[i,j]と、画素ブロック[i,j]に対して左側で隣り合う隣接画素ブロック[i-1,j]との間の境界を左側境界と称する。画素ブロック[i,j]と、画素ブロック[i,j]に対して右側で隣り合う隣接画素ブロック[i+1,j]との間の境界を右側境界と称する。画素ブロック[i,j]の各境界周辺領域における画素値(以下、境界周辺画素値と称する。)の平均値を次に示すように表記する。すなわち、上側境界周辺画素値の平均値をTi,jと表記し、下側境界周辺画素値の平均値をBi,jと表記する。また、左側境界周辺画素値の平均値をLi,jと表記し、右側境界周画素値の平均値をRi,jと表記する。なお、各境界周辺領域は、例えば、各領域境界に隣接した1画素幅分であるとするが、これに限定されない。各境界周辺領域は、例えば、各領域境界に隣接した2画素幅分、4画素幅分、8画素幅分とすることも可能である。
境界周辺画素値の平均値から補正値を算出する処理として、画素ブロック[i,j]とその右側と下側に隣接する画素ブロック[i+1,j]と画素ブロック[i,j+1]との段差の誤差補正後の評価値Ei,jは、以下の(1)式で表現される。ここで、ΔFi,jは、画素ブロック[i,j]の明るさ調整値130の補正量を表す。
そして、評価値Ei,jを全ての領域(画素ブロック)で加算した総合評価値Eは、以下の(2)式で表現される。(2)式においては、1画面中に、横方向(水平方向)でM個の画素ブロックを持ち、縦方向(垂直方向)でN個の画素ブロックを持っているものとする。本実施形態においてはM=20となり、N=10となる。
画素ブロック間の境界の誤差を打ち消すようにすることは、この総合評価値Eを、最小化するΔFi,jを求めることになる。公知の最小二乗法の解法を用いると、以下の(3)式に示す行列の方程式を解くことと等価となる。すなわち、(3)式の左辺は、境界周辺画素値の平均値からなる要素を持つ行方向M×N次元、列方向M×N次元の係数行列(係数行列Aとする)と補正値のM×N行1列の補正値行列(行列Fとする)との積となる。(3)式の右辺は、定数からなる行列であり、M×N行1列で要素が全て1の行列となる。
また、ここで係数行列Aの(i+j×M)行目(u+v×M)列目の要素Ai,j,u,vは、以下の(4)式で表される。
ただし、画像端部に位置する画素ブロックの場合、画素ブロックの上側または左側または下側または右側には画素ブロックは存在しない。例えば、画素ブロック[0,0]の場合、画素ブロック[0,0]の上側や左側には画素ブロックは存在しない。このように画素ブロックが存在しない側の境界周辺画素値から係数行列への寄与は0とする。例えば画素ブロック[0,0]の場合、上述の(4)式のうち、以下の(5)式のように3つの係数行列の要素が生成され、画素ブロック[0,0]の上側((u,v)=(i,j-1))と左側((u,v)=(i-1,j))に当たる要素は生成されない。
以上のようにして、補正値算出のための行列の方程式が得られる。
<明るさ調整値補正部131による処理>
明るさ調整値補正部131の動作について、図を用いて説明する。図5は、明るさ調整値補正部131が実行する処理の流れを示すフローチャートである。なお、各処理の説明における記号「S」は、当該フローチャートにおけるステップであることを意味し、以後のフローチャートにおいても同様とする。
明るさ調整値補正部131の動作について、図を用いて説明する。図5は、明るさ調整値補正部131が実行する処理の流れを示すフローチャートである。なお、各処理の説明における記号「S」は、当該フローチャートにおけるステップであることを意味し、以後のフローチャートにおいても同様とする。
S501では、明るさ調整値補正部131の境界評価部302は、詳細につき上述した通り、露光画像122、露光時間112、アナログゲイン値113、明るさ調整値130に基づき、画素ブロックの境界周辺画素値の平均値を導出する。なお、画素ブロックの境界周辺画素値の平均値は、撮像センサにより露出設定可能な領域の間の境界で生じる階調の段差を評価する際に用いられ、領域毎に導出されることから領域毎の評価値であるともいえる。
S502では、補正値算出部303(生成部304)は、入力された境界周辺画素値の平均値を基に、係数行列の生成を行う。例えば、撮像素子部103が、図2に示すように、横方向に20個あり、縦方向に10個あり、合計200個の画素ブロックを有する場合、補正値算出部303は、係数行列Aとして、行数が200行であり、列数が200列である正方行列を生成する。
<行列生成処理(S502)の詳細>
行列生成処理(S502)の詳細について、図を用いて説明する。図6は、行列生成処理(S502)の詳細な流れを示すフローチャートである。本実施形態では、最初に係数行列を生成し、次に、係数行列のサイズを減らす操作を実施する。これにより、S502の処理に続くS503の処理にて、係数行列のサイズを減らす操作を実施しないときと比べて、逆行列を求めるときの計算量を減らすことが可能となる。
行列生成処理(S502)の詳細について、図を用いて説明する。図6は、行列生成処理(S502)の詳細な流れを示すフローチャートである。本実施形態では、最初に係数行列を生成し、次に、係数行列のサイズを減らす操作を実施する。これにより、S502の処理に続くS503の処理にて、係数行列のサイズを減らす操作を実施しないときと比べて、逆行列を求めるときの計算量を減らすことが可能となる。
S601では、生成部304(第一の行列生成部308)は、境界評価部302によって導出された境界周辺画素値の平均値(領域毎の評価値)から、第一の係数行列Aを生成する。第一の係数行列の要素としては、(4)式を使用する。
ここで、第一の係数行列Aの生成について、図を用いて説明する。図7は、第一の係数行列の生成および第一の行列変換を説明するための図であって、図7(a)に撮像素子部が有する画素ブロック例を示し、図7(b)に図7(a)の画素ブロックに対応する第一の係数行列の生成例およびその第一の行列変換例を示す。例えば、撮像素子部が、図7(a)に示すように、横方向に4個あり、縦方向に3個あり、合計12個の画素ブロック701を有する場合、次に示す、領域毎のゲイン補正量を求める第一の係数行列を生成する。すなわち、補正値算出部303は、図7(b)に示すように、第一の係数行列Aとして、行数が12行であり、列数が12列である正方行列を生成する。このようなS601の処理は、画像データから得られた領域毎の評価値を用いて、領域の数と同じ個数の元(変数)で、領域の数と同じ個数からなる、連立一次方程式を生成する処理であるともいえる。図7(b)に示す例では、12変数で、12個の連立一次方程式が生成されるともいえる。
S602では、生成部304(マップ情報取得部309)は、入力された露光時間112とアナログゲイン値113とから領域と露光条件とが対応付けられたマップ情報を生成して取得する。そして、補正値算出部303は、マップ情報取得部309で取得されたマップ情報を受け取り、画面内(1フレーム内)に露光条件が何種類使用されているかを調べ、使用されている露光条件の種別に応じて番号付けを行う。例えば、画面内(1フレーム内)に使用されている露光条件が4種類であるとすると、0番から3番までの露光条件が使用されていることとなり、それぞれの露光条件をE[0]、E[1]、E[2]、E[3]とする。例えば、撮像領域の複数の画素ブロックをスキャン順(ラスター順)で探索し、初めて出会う種類の露光条件に応じて、0、1、2、3の順に番号付けていくと、図7(a)に示すように、各画素ブロック701に対して露光条件が付与されることになる。なお、露光条件の種類の判別および各画素ブロックに対する、露光条件の種別を示す番号の付与は、第一の行列変換処理(S603)を実行する前のタイミングで実行されていればよく、S603にて実行してもよい。
続いて、S603およびS604では、S601で生成された第一の係数行列Aにおいて「各画素ブロックの露光条件が同一の画素ブロックでは、ゲイン補正量は等しい」と仮定することで、係数行列の要素数の数を減らす操作を行う。すなわち、複数の画素ブロックのうち、同じ種類の露光条件が設定される画素ブロックでは、同じ明るさ調整値補正部131(補正値算出部303)で算出する明るさ調整値130は等しいと仮定することで、係数行列の要素数の数を減らす操作を行う。なお、S603(第一の行列変換処理)では、第一の行列変換部310は、マップ情報に基づき、第一の係数行列を第二の係数行列に変換する。S604(第二の行列変換処理)では、第二の行列変換部311は、マップ情報に基づき、第二の係数行列を第三の係数行列に変換する。
<第一の行列変換処理の詳細>
第一の行列変換処理について、図7(b)を用いて説明する。なお、図7(b)には、第一の行列変換処理を行うことにより、S601で得られた係数行列がどのように変形されていくかについても示されている。
第一の行列変換処理について、図7(b)を用いて説明する。なお、図7(b)には、第一の行列変換処理を行うことにより、S601で得られた係数行列がどのように変形されていくかについても示されている。
(u+v×M)は、(4)式と同様、画素ブロックの列番号を示す。図7の例では、(u+v×M)は、0≦u≦3(uは横方向の画素ブロック数を示しており、4である。)、0≦v≦2(vは縦方向の画素ブロック数を示しており、3である。)、M=4(Mは横方向の画素ブロック数を示しており、4である。)をとり得る。これにより、0≦u+v×M≦11という値をとり得る。
また、(i+j×M)は、(4)式と同様、画素ブロックの行番号を示す。図7の例では、(i+j×M)は、0≦i≦3(iは横方向の画素ブロック数を示しており、4である。)、0≦j≦2(jは縦方向の画素ブロック数を示しており、3である。)、M=4(Mは横方向の画素ブロック数を示しており、4である。)をとり得る。これにより、0≦i+j×M≦11という値をとり得る。
図7(b)に示す第一の係数行列は、前述の通り、12行12列からなる正方行列である。ここで、画素ブロック[0,0]と画素ブロック[1,0]が前述の露光条件E[0]であり、画素ブロック[2,0]と画素ブロック[3,0]が露光条件E[1]であるとする。画素ブロック[0,1]と画素ブロック[1,1]と画素ブロック[2,1]と画素ブロック[3,1]と画素ブロック[0,2]と画素ブロック[1,2]と画素ブロック[2,2]とが露光条件E[2]であるとする。また、画素ブロック[3,2]が露光条件E[3]であるとする。
第一の行列変換処理では、同一の露光条件を使用している列(画素ブロック[u,v])をマップ情報から探索し、同一の露光条件を使用する画素ブロックに対応する第一の係数行列における全ての列(u+v×M)を加算して第二の係数行列に変換する。ここでは、露光条件の若番から順番に探索を行い、第二の係数行列の若番の列から順番に変換する。例えば、0番目の露光条件E[0]を使用している画素ブロック[u,v]をマップ情報から検索し、露光条件E[0]を使用する画素ブロックに対応する全ての列(u+v×M)を加算して、第二の係数行列の0列目に変換する。以降、この操作を操作1と称する。
図7(b)によれば、S601で得られた第一の係数行列において、0番目の露光条件E[0]を使用している画素ブロック[u,v]は、画素ブロック[0,0]と画素ブロック[1,0]である。そのため、第一の係数行列のうち、(0+0×4=)0列目と(1+0×4=)1列目とを加算して、第二の係数行列の0列目に変換する。
1番目の露光条件E[1]を使用している画素ブロック[u,v]は、画素ブロック[2,0]と画素ブロック[3,0]である。そのため、第一の係数行列のうち、(2+0×4=)2列目と(3+0×4=)3列目とを加算して、第二の係数行列の1列目に変換する。
2番目の露光条件E[2]を使用している画素ブロック[u,v]は、次に示す画素ブロックである。すなわち、画素ブロック[0,1]、画素ブロック[1,1]、画素ブロック[2,1]、画素ブロック[3,1]、画素ブロック[0,2]、画素ブロック[1,2]、画素ブロック[2,2]である。そのため、第一の係数行列のうち、(0+1×4=)4列目と(1+1×4=)5列目と(2+1×4=)6列目と(3+1×4=)7列目と(0+2×4=)8列目と(1+2×4=)9列目と(2+2×4=)10列目とを加算する。そして、この加算結果を第二の係数行列の2列目に変換する。
3番目の露光条件E[3]を使用している画素ブロック[u,v]は、画素ブロック[3,2]であるため、第一の係数行列のうちの(3+2×4=)11列目を第二の係数行列の3列目に変換する。
上述した通り、操作1を0番目の露光条件E[0]から3番目の露光条件E[3]までの4回繰り返すと、図7(b)に示すように、行数が12行であり、列数が4列である第二の係数行列が得られる。
上述した操作1を行列の方程式で表すと、次のような意味になる。例えば、画素ブロック[u,v]に関し、画素ブロック[0,0]と画素ブロック[1,0]が同一の露光条件E[0]とする。露光条件E[0]に対する補正量をΔFE0とすると、以下の(6)式に示すように、ΔF0,0=ΔF1,0=ΔFE0とする変形を行うことができる。画素ブロック[u,v]に関し、画素ブロック[2,0]と画素ブロック[3,0]が同一の露光条件E[1]とする。露光条件E[1]に対する補正量をΔFE1とすると、(6)式に示すようにΔF2,0=ΔF3,0=ΔFE1とする変形を行うことができる。画素ブロック[u,v]に関し、画素ブロック[0,1]と画素ブロック[1,1]と画素ブロック[2,1]と画素ブロック[3,1]と画素ブロック[0,2]と画素ブロック[1,2]と画素ブロック[2,2]が同一の露光条件E[2]とする。露光条件E[2]に対する補正量をΔFE2とすると、(6)式に示すようにΔF0,1=ΔF1,1=ΔF2,1=ΔF3,1=ΔF0,2=ΔF1,2=ΔF2,2=ΔFE2とする変形を行うことができる。また、画素ブロック[u,v]に関し、画素ブロック[3,2]の露光条件がE[3]であるとする。露光条件E[3]に対する補正量をΔFE3とすると、(6)式に示すようにΔF3,2=ΔFE3とする変形を行うことができる。この変形の結果として、(3)式の左辺の係数行列Aは、行数が領域数と同じ個数であり、列数が露光条件の種別の個数と同じ個数の行列に変換される。また、(3)式の左辺の補正量の行列Fは、行数が露光条件の種別の個数と同じ個数であり、列数が1の行列FEに変換される。そして、(3)式の右辺は、行数が領域数と同じ個数であり、列数が1の行列のままで変化しない。
すなわち、S603では、前記マップ情報より、露出設定が同一の元(変数)の係数を加算し、(画像内の)露出設定の数の元(変数)で、領域の数と同じ個数からなる、連立一次方程式に変換される。図7(b)の例では、4変数の方程式が12個生成される。
<第二の行列変換処理の詳細>
第二の行列変換処理の詳細について、図を用いて説明する。図8は、第二の行列変換処理を説明するための図である。
第二の行列変換処理の詳細について、図を用いて説明する。図8は、第二の行列変換処理を説明するための図である。
第二の行列変換処理では、同一の露光条件を使用している行(画素ブロック[i,j])をマップ情報から探索し、同一の露光条件を使用する画素ブロックに対応する第二の係数行列における全ての行(i+j×M)を加算して第三の係数行列に変換する。ここでは、露光条件の若番から順番に探索を行い、第三の係数行列の若番の行から順番に変換する。例えば、0番目の露光条件E[0]を使用している画素ブロック[i,j]をマップ情報から検索し、露光条件E[0]を使用する画素ブロックに対応する全ての行(i+j×M)を加算して、第三の係数行列の0行目に変換する。以降、この操作を操作2と称する。
図8によれば、S603で得られた第二の係数行列において、0番目の露光条件E[0]を使用している画素ブロック[i,j]は、画素ブロック[0,0]と画素ブロック[1,0]である。そのため、第二係数行列のうち、(0+0×4=)0行目と(1+0×4=)1行目を加算して、第三の係数行列の0行目に変換する。
1番目の露光条件E[1]を使用している画素ブロック[i,j]は、画素ブロック[2,0]と画素ブロック[3,0]である。そのため、第二の係数行列のうち、(2+0×4=)2行目と(3+0×4=)3行目とを加算して、第三の係数行列の1行目に変換する。
2番目の露光条件E[2]を使用している画素ブロック[i,j]は、次に示す画素ブロックである。すなわち、画素ブロック[0,1]、画素ブロック[1,1]、画素ブロック[2,1]、画素ブロック[3,1]、画素ブロック[0,2]、画素ブロック[1,2]、画素ブロック[2,2]である。そのため、第二の係数行列のうち、(0+1×4=)4行目と(1+1×4=)5行目と(2+1×4=)6行目と(3+1×4=)7行目と(0+2×4=)8行目と(1+2×4=)9行目と(2+2×4=)10行目を加算する。そして、この加算結果を第三の係数行列の2行目に変換する。
3番目の露光条件E[3]を使用している画素ブロック[i,j]は、画素ブロック[3,2]であるため、第二の係数行列のうちの(3+2×4=)11行目を第三の係数行列の3行目に変換する。
上述した通り、操作2を0番目の露光条件E[1]から3番目の露光条件E[3]までの4回繰り返すと、図8に示すように、行数が4行であり、列数が4列である第三の係数行列が得られる。
上述した操作2の意味は次のようなものである。第二の係数行列を使った方程式は、変数が露光条件数(E個とする)であり、方程式の数がM×N個(M×N≧E)であり、一つの露光条件での補正値を複数の領域の画素データで評価するということを意味する。どれかの方程式を選択して計算した場合、局所的な解に陥る可能性がある。これを防ぐため、同一露光条件の方程式を加算することで解の平均化を行う。
上述した操作2を行列の方程式で表すと、次のような意味になる。例えば、S603と同様に、画素ブロック[i,j]に関し、画素ブロック[0,0]と画素ブロック[1,0]が同一の露光条件E[0]とする。以下の(7)式および(8)式に示すように、第二の係数行列の0行目と1行目が加算されて、第三の係数行列の0行目となるような行数の縮退が行われる。また、画素ブロック[i,j]に関し、画素ブロック[2,0]と画素ブロック[3,0]が同一の露光条件E[1]とする。(7)式および(8)式に示すように、第二の係数行列の2行目と3行目が加算されて、第三の係数行列の1行目となるような行数の縮退が行われる。また、画素ブロック[i,j]に関し、画素ブロック[0,1]と画素ブロック[1,1]と画素ブロック[2,1]と画素ブロック[3,1]と画素ブロック[0,2]と画素ブロック[1,2]と画素ブロック[2,2]が同一の露光条件E[2]とする。(7)式および(8)式に示すように、第二の係数行列の4行目と5行目と6行目と7行目と8行目と9行目と10行目が加算されて、第三の係数行列の2行目となるような行数の縮退が行われる。また、画素ブロック[i,j]に関し、画素ブロック[3,2]が露光条件E[3]とすると、(7)式および(8)式に示すように、第二の係数行列の11行目から第三の係数行列の3行目に変換される。結果として、係数行列は、行数が露光条件の種別の個数と同じ個数であり、列数が露光条件の種別の個数と同じ個数である行列に変換される。また、補正量行列は行数が露光条件の種別の個数と同じ個数であり、列数が1の行列FEのままで変化しない。そして、右辺は、行数が露光条件数であり、列数が1である行列に変換される。行列のe番目の要素は、露光条件E[e]が使用されている領域数に等しくなる。
すなわち、S604では、前記マップ情報より、露出設定が同一の方程式を加算し、(画像内の)露出設定の数の元(変数)で、(画像内の)露出設定の数からなる、連立一次方程式に変換される。図8の例では、4変数の方程式が4個生成される。
上述した通り、行数と列数がともに領域数と同じ個数である第一の係数行列は、S603の処理およびS604の処理を経ることで、行数と列数がともに露光条件の種別の個数と同じ個数である第三の係数行列に変換される。なお、露出条件の種別の個数は、撮像センサが露出設定可能な領域の個数と比べて少ないことから、行数および列数が共に小さくなった第三の係数行列に変換されることになる。S604の処理を終えると、図6に示すフローを終え、S502の処理を終えることになる。
図5に戻る。S503では、補正値算出部303(算出部305)は、S604の処理で得られた第三の係数行列の逆行列を算出する。逆行列を求める方法は公知の方法を用いる。一例を挙げると、ガウス・ジョルダン法などの手法で逆行列を生成することが可能である。S503での算出結果として、第三の係数行列の逆行列が得られる。S502の処理結果として、行数および列数がともに領域数と同じ個数から露光条件の種別の個数と同じ個数に削減されているため、S503での逆行列を計算するための計算量を減らすことができる。ただし、第三の係数行列に逆行列が存在しない場合、逆行列が得られないことになる。なお、第三の係数行列の逆行列は、詳細につき後述する通り、露出設定の誤差を補正する補正値を算出する際に用いられることから、S503の逆行列算出処理は、評価値に基づき露出設定の誤差を推定しているともいえる。
S504では、補正値算出部303は、S502で得られた第三の係数行列に逆行列が存在するか判定する。第三の係数行列に逆行列が存在しないとの判定結果を得た場合(S504のNO)、逆行列が得られないことになる。その場合は、明るさ調整値の補正を行わないものと判断し、その後の補正値算出処理(S505)と明るさ調整値の更新処理(S506)を実行せずに、図5に示す処理を終了する。なお、このように補正値が算出されない場合には、境界評価部302で階調拡張された平均値と露光時間とアナログゲイン値とに基づき算出された明るさ調整値130がそのまま露光補正部105に出力されることになる。一方、第三の係数行列に逆行列が存在するとの判定結果を得た場合(S504のYES)、逆行列が得られることになる。その場合は、処理がS505に移行される。
S505では、補正値算出部303(決定部306)は、S503で得られた第三の係数行列の逆行列を基に、補正値を求める。すなわち、補正値算出部303は、上述の(8)に対して両辺の左側から第三の係数行列の逆行列を乗算することにより、以下の(9)式に示すように補正値行列を求める。得られた補正値行列は、ΔFEi,jを要素とする補正値行列となっている。
S506では、補正値算出部303(明るさ調整値更新部307)は、S505で求められた補正値行列の各要素を用いて明るさ調整値130の更新を実施する。すなわち、補正値算出部303は、各露光条件の明るさ調整値130に対して補正値ΔFEi,jを乗算して明るさ調整値130を更新する。更新後の明るさ調整値130は、露光補正部105に送られることによって、次フレームの露光画像122に対して適用される。
以上、説明した通り、本実施形態によれば、各領域の露光条件が同一の領域ではゲイン補正量は等しいと仮定することで、連立一次方程式の元(変数)の個数と方程式の個数は領域の個数から露光条件の種別の個数に削減される。このような操作を行うことにより、高解像度の画像において領域の個数が多くなる場合であっても、補正値を求める際の計算量の増大を防ぐことが可能になる。すなわち、撮像センサに起因して生じる領域の間の誤差を補正するための計算量を低減することが可能となる。
[実施形態2]
本実施形態に係る撮像装置ついて説明する。本実施形態では、実施形態1と異なる点を中心に説明する。実施形態1の補正値算出部303(生成部304)は、まずS603にて、露光条件が同一である列同士を加算して列数を削減する処理を実行し、次に、S604にて、露光条件が同一である行同士を加算して行数を削減する処理を実行した。これらの処理順序は、結果に影響を与えず、どちらの処理を先に実行してもよい。本実施形態では、第一の変換処理と第二の変換処理とを実行する順序を実施形態1の場合と逆にする態様について説明する。
本実施形態に係る撮像装置ついて説明する。本実施形態では、実施形態1と異なる点を中心に説明する。実施形態1の補正値算出部303(生成部304)は、まずS603にて、露光条件が同一である列同士を加算して列数を削減する処理を実行し、次に、S604にて、露光条件が同一である行同士を加算して行数を削減する処理を実行した。これらの処理順序は、結果に影響を与えず、どちらの処理を先に実行してもよい。本実施形態では、第一の変換処理と第二の変換処理とを実行する順序を実施形態1の場合と逆にする態様について説明する。
<行列生成処理(S502)の詳細>
本実施形態に係る行列生成処理(S502)の詳細について、図を用いて説明する。図9は、本実施形態に係る行列生成処理(S502)の詳細な流れを示すフローチャートである。本実施形態では、第一の係数行列の生成処理およびマップ情報の取得処理を実行した後、第二の行列変換処理(S903)を実行し、次に、第一の行列変換処理(S904)を実行する。S901およびS902の処理内容はそれぞれ、実施形態1のS601およびS602の処理内容と同じであることから、その説明を省略する。なお、露光条件の種類の判別および各画素ブロックに対する、露光条件の種別を示す番号の付与は、第二の行列変換処理(S903)を実行する前のタイミングで実行されていればよく、S903にて実行してもよい。
本実施形態に係る行列生成処理(S502)の詳細について、図を用いて説明する。図9は、本実施形態に係る行列生成処理(S502)の詳細な流れを示すフローチャートである。本実施形態では、第一の係数行列の生成処理およびマップ情報の取得処理を実行した後、第二の行列変換処理(S903)を実行し、次に、第一の行列変換処理(S904)を実行する。S901およびS902の処理内容はそれぞれ、実施形態1のS601およびS602の処理内容と同じであることから、その説明を省略する。なお、露光条件の種類の判別および各画素ブロックに対する、露光条件の種別を示す番号の付与は、第二の行列変換処理(S903)を実行する前のタイミングで実行されていればよく、S903にて実行してもよい。
S903では、生成部304(第二の行列変換部311)は、S604と同様、マップ情報に基づき、画素ブロック[i,j]に関し、同一の露光条件を使用する画素ブロックを加算することで、第一の係数行列を第四の係数行列に変換する。
例えば、画面内(1フレーム内)に使用されている露光条件が4種類であるとすると、0番から3番までの露光条件が使用されていることとなり、それぞれの露光条件をE[0]からE[3]とする。
次に、0番目と番号付けた露光条件E[0]を使用している画素ブロック[i,j]をマップ情報から検索し、その画素ブロックに対応する全ての行同士を加算して、第四の係数行列の0行目に変換する。この操作は、上述の実施形態1の操作2に相当する。なお、露光条件E[1]を使用している画素ブロック[i,j]は、マップ情報から検索し、その画素ブロックに対応する全ての行同士を加算して、第四の係数行列の1行目に変換する。露光条件E[2]を使用している画素ブロック[i,j]は、マップ情報から検索し、その画素ブロックに対応する全ての行同士を加算して、第四の係数行列の2行目に変換する。露光条件E[3]を使用している画素ブロック[i,j]は、マップ情報から検索し、その画素ブロックに対応する全ての行同士を加算して、第四の係数行列の3行目に変換する。
すなわち、操作2を0番目の露光条件E[0]から3番目の露光条件E[3]までの4回繰り返すと、例えば、行数が200行であり、列数が200列である第一の係数行列は、行数が4行であり、列数が200列である第四の係数行列に変換される。
本実施形態に係る操作2を行列の方程式で表すと、次のような意味になる。例えば、S604と同様、画素ブロック[i,j]に関し、画素ブロック[0,0]と[1,0]が同一の露光条件E[0]とすると、以下の(10)式および以下の(11)式に示すように、係数行列の行数を縮退するような変換が行われる。結果として、係数行列は、行数が露光条件の種別の個数と同じ個数であり、列数が領域の個数と同じ個数である行列に変換される。また、補正量行列は、行数が領域数の個数と同じ個数であり、列数が1である行列となる。そして、右辺は、行数が露光条件の種別の個数と同じ個数であり、列数が1である行列に変換される。行列のe番目の要素は、露光条件E[e]が使用されている領域数と等しくなる。
S904では、生成部304(第一の行列変換部310)は、S603と同様、マップ情報に基づき、画素ブロック[u,v]に関し、同一の露光条件を使用する画素ブロックを加算することで、第四の係数行列を第五の係数行列(第三の係数行列)に変換する。
例えば、0番目と番号付けた露光条件E[0]を使用している画素ブロック[u,v]をマップ情報から検索し、その画素ブロックに対応する全ての列同士を加算して、第五の係数行列(第三の係数行列)の0列目に変換する。この操作は、上述の実施形態1の操作1に相当する。なお、露光条件E[1]を使用している画素ブロック[u,v]は、マップ情報から検索し、その画素ブロックに対応する全ての列同士を加算して、第五の係数行列(第三の係数行列)の1行目に変換する。露光条件E[2]を使用している画素ブロック[u,v]は、マップ情報から検索し、その画素ブロックに対応する全ての列同士を加算して、第五の係数行列(第三の係数行列)の2行目に変換する。露光条件E[3]を使用している画素ブロック[u,v]は、マップ情報から検索し、その画素ブロックに対応する全ての列同士を加算して、第五の係数行列(第三の係数行列)の3行目に変換する。
すなわち、操作1を0番目の露光条件E[0]から3番目の露光条件E[3]までの4回繰り返すと、例えば、行数が4行であり、列数が200列である第四の係数行列は、行数が4行であり、列数が4列である第五の係数行列(第三の係数行列)に変換される。
本実施形態に係る操作1を行列の方程式で表すと、以下の(12)式に示すようなものになる。この変形の結果として、第五の係数行列(第三の係数行列)は、行数が露光条件の種別の個数と同じ個数であり、列数が露光条件の種別の個数と同じ個数である行列に変換される。また、補正量の行列Fは行数が露光条件の種別の個数と同じ個数であり、列数が1である行列FEに変換される。そして、右辺は、行数が露光条件の種別の個数と同じ個数であり、列数が1である行列のままで変化しない。
S904までの結果として得られる第五の係数行列は、実施形態1で得られた第三の係数行列と同じ値となり、第一の行列変換処理と第二の行列変換処理は順序によらず、いずれの順序で第一および第二の行列変換処理を実行する素子を実装してもよいといえる。
以上、説明した通り、本実施形態によれば、実施形態1と同様、各領域の露光条件が同一の領域ではゲイン補正量は等しいと仮定することで、連立一次方程式の元(変数)の個数と方程式の個数は領域の個数から露光条件の種別の個数に削減される。このような操作を行うことにより、高解像度の画像において領域数が多くなる場合であっても、補正値を求める際の計算量の増大を防ぐことが可能になる。すなわち、撮像センサに起因して生じる領域の間の誤差を補正するための計算量を低減することが可能となる。
本実施形態の開示は、以下の構成例、方法例、およびプログラム例に代表される構成を含む。
(構成1)
領域毎に露出設定可能な撮像センサにより撮像された画像データに対して補正をするための画像処理装置であって、
前記領域の間の境界で生じる階調の段差を評価した評価値を導出する導出手段と、
前記導出した評価値に基づき露出設定の誤差を推定する推定手段と、
前記推定した露出設定の誤差を補正するための補正値を決定する決定手段と、
前記決定した補正値を用いて前記画像データを調整するための調整値を更新する更新手段と、
を有し、
前記導出手段は、
前記画像データから得られた領域毎の評価値を基に、各領域に対応付けられた露出設定毎の評価値を導出する、ことを特徴とする画像処理装置。
領域毎に露出設定可能な撮像センサにより撮像された画像データに対して補正をするための画像処理装置であって、
前記領域の間の境界で生じる階調の段差を評価した評価値を導出する導出手段と、
前記導出した評価値に基づき露出設定の誤差を推定する推定手段と、
前記推定した露出設定の誤差を補正するための補正値を決定する決定手段と、
前記決定した補正値を用いて前記画像データを調整するための調整値を更新する更新手段と、
を有し、
前記導出手段は、
前記画像データから得られた領域毎の評価値を基に、各領域に対応付けられた露出設定毎の評価値を導出する、ことを特徴とする画像処理装置。
(構成2)
前記導出手段は、前記領域と前記露出設定とが対応付けられたマップ情報を参照して、前記露出設定毎の評価値を導出する、ことを特徴とする構成1に記載の画像処理装置。
前記導出手段は、前記領域と前記露出設定とが対応付けられたマップ情報を参照して、前記露出設定毎の評価値を導出する、ことを特徴とする構成1に記載の画像処理装置。
(構成3)
前記マップ情報は、前記画像データに付帯される、または前記画像処理装置に保存され、
前記マップ情報を取得する第1の取得手段をさらに有し、
前記導出手段は、前記取得されたマップ情報を参照して、前記露出設定毎の評価値を導出する、ことを特徴とする構成2に記載の画像処理装置。
前記マップ情報は、前記画像データに付帯される、または前記画像処理装置に保存され、
前記マップ情報を取得する第1の取得手段をさらに有し、
前記導出手段は、前記取得されたマップ情報を参照して、前記露出設定毎の評価値を導出する、ことを特徴とする構成2に記載の画像処理装置。
(構成4)
前記導出手段は、
前記領域毎の評価値を用いて、前記領域の数と同じ個数の変数で、前記領域の数と同じ個数からなる、第1の連立方程式を生成する生成手段と、
前記マップ情報に基づき、前記生成した第1の連立方程式において、前記露出設定が同じ変数の係数を加算し、前記マップ情報における前記露出設定の数と同じ個数の変数で、前記領域の数と同じ個数からなる、第2の連立方程式に変換する第一の変換手段と、
前記マップ情報に基づき、前記変換した第2の連立方程式において、前記露出設定が同じ方程式を加算し、前記マップ情報における前記露出設定の数と同じ個数の変数で、前記マップ情報における前記露出設定の数と同じ個数からなる、第3の連立方程式に変換する第二の変換手段と、
を有し、
前記変換された第3の連立方程式を解くことで、前記露出設定毎の評価値を導出する
ことを特徴とする構成2または3に記載の画像処理装置。
前記導出手段は、
前記領域毎の評価値を用いて、前記領域の数と同じ個数の変数で、前記領域の数と同じ個数からなる、第1の連立方程式を生成する生成手段と、
前記マップ情報に基づき、前記生成した第1の連立方程式において、前記露出設定が同じ変数の係数を加算し、前記マップ情報における前記露出設定の数と同じ個数の変数で、前記領域の数と同じ個数からなる、第2の連立方程式に変換する第一の変換手段と、
前記マップ情報に基づき、前記変換した第2の連立方程式において、前記露出設定が同じ方程式を加算し、前記マップ情報における前記露出設定の数と同じ個数の変数で、前記マップ情報における前記露出設定の数と同じ個数からなる、第3の連立方程式に変換する第二の変換手段と、
を有し、
前記変換された第3の連立方程式を解くことで、前記露出設定毎の評価値を導出する
ことを特徴とする構成2または3に記載の画像処理装置。
(構成5)
前記導出手段は、
前記領域毎の評価値を用いて、前記領域の数と同じ個数の変数で、前記領域の数と同じ個数からなる、第1の連立方程式を生成する生成手段と、
前記マップ情報に基づき、前記生成した第1の連立方程式において、前記露出設定が同じ方程式を加算し、前記マップ情報における前記露出設定の数と同じ個数の変数で、前記領域の数と同じ個数からなる、第4の連立方程式に変換する第二の変換手段と、
前記マップ情報に基づき、前記変換した第4の連立方程式において、前記露出設定が同じ変数の係数を加算し、前記マップ情報における前記露出設定の数と同じ個数の変数で、前記マップ情報における前記露出設定の数と同じ個数からなる、第3の連立方程式に変換する第一の変換手段と、
を有し、
前記変換された第3の連立方程式を解くことで、前記露出設定毎の評価値を導出する
ことを特徴とする構成2または3に記載の画像処理装置。
前記導出手段は、
前記領域毎の評価値を用いて、前記領域の数と同じ個数の変数で、前記領域の数と同じ個数からなる、第1の連立方程式を生成する生成手段と、
前記マップ情報に基づき、前記生成した第1の連立方程式において、前記露出設定が同じ方程式を加算し、前記マップ情報における前記露出設定の数と同じ個数の変数で、前記領域の数と同じ個数からなる、第4の連立方程式に変換する第二の変換手段と、
前記マップ情報に基づき、前記変換した第4の連立方程式において、前記露出設定が同じ変数の係数を加算し、前記マップ情報における前記露出設定の数と同じ個数の変数で、前記マップ情報における前記露出設定の数と同じ個数からなる、第3の連立方程式に変換する第一の変換手段と、
を有し、
前記変換された第3の連立方程式を解くことで、前記露出設定毎の評価値を導出する
ことを特徴とする構成2または3に記載の画像処理装置。
(構成6)
前記領域の間の境界を示す境界情報に基づいて、前記境界に隣接する隣接画素の画素値を取得する第2の取得手段と、
前記取得した前記隣接画素の画素値を用いて求められた画素値の平均値を前記領域毎の評価値として取得する評価手段と、
を有する、ことを特徴とする構成1から5の何れか一つに記載の画像処理装置。
前記領域の間の境界を示す境界情報に基づいて、前記境界に隣接する隣接画素の画素値を取得する第2の取得手段と、
前記取得した前記隣接画素の画素値を用いて求められた画素値の平均値を前記領域毎の評価値として取得する評価手段と、
を有する、ことを特徴とする構成1から5の何れか一つに記載の画像処理装置。
(方法1)
領域毎に露出設定可能な撮像センサにより撮像された画像データに対して補正をするための画像処理方法であって、
前記領域の間の境界で生じる階調の段差を評価した評価値を導出する導出工程と、
前記導出した評価値に基づき露出設定の誤差を推定する推定工程と、
前記推定した露出設定の誤差を補正するための補正値を決定する決定工程と、
前記決定した補正値を用いて前記画像データを調整するための調整値を更新する更新工程と、
を含み、
前記導出工程では、
前記画像データから得られた領域毎の評価値を基に、各領域に対応付けられた露出設定毎の評価値を導出する、ことを特徴とする画像処理方法。
領域毎に露出設定可能な撮像センサにより撮像された画像データに対して補正をするための画像処理方法であって、
前記領域の間の境界で生じる階調の段差を評価した評価値を導出する導出工程と、
前記導出した評価値に基づき露出設定の誤差を推定する推定工程と、
前記推定した露出設定の誤差を補正するための補正値を決定する決定工程と、
前記決定した補正値を用いて前記画像データを調整するための調整値を更新する更新工程と、
を含み、
前記導出工程では、
前記画像データから得られた領域毎の評価値を基に、各領域に対応付けられた露出設定毎の評価値を導出する、ことを特徴とする画像処理方法。
(プログラム)
コンピュータを、構成1から6の何れか一つに記載の画像処理装置の各手段として機能させるためのプログラム。
コンピュータを、構成1から6の何れか一つに記載の画像処理装置の各手段として機能させるためのプログラム。
[その他の実施形態]
本開示は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本開示は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
上述の画像処理装置は、例えば、デジタルスチルカメラ、デジタルカムコーダ、監視カメラ、複写機、ファックス、携帯電話、車載カメラ、観測衛星などに適用することが可能である。また、レンズなどの光学系と撮像装置とを備えるカメラモジュールにも適用することが可能である。
304 生成部
305 算出部
306 決定部
307 明るさ調整値更新部
305 算出部
306 決定部
307 明るさ調整値更新部
Claims (8)
- 領域毎に露出設定可能な撮像センサにより撮像された画像データに対して補正をするための画像処理装置であって、
前記領域の間の境界で生じる階調の段差を評価した評価値を導出する導出手段と、
前記導出した評価値に基づき露出設定の誤差を推定する推定手段と、
前記推定した露出設定の誤差を補正するための補正値を決定する決定手段と、
前記決定した補正値を用いて前記画像データを調整するための調整値を更新する更新手段と、
を有し、
前記導出手段は、
前記画像データから得られた領域毎の評価値を基に、各領域に対応付けられた露出設定毎の評価値を導出する、ことを特徴とする画像処理装置。 - 前記導出手段は、前記領域と前記露出設定とが対応付けられたマップ情報を参照して、前記露出設定毎の評価値を導出する、ことを特徴とする請求項1に記載の画像処理装置。
- 前記マップ情報は、前記画像データに付帯される、または前記画像処理装置に保存され、
前記マップ情報を取得する第1の取得手段をさらに有し、
前記導出手段は、前記取得されたマップ情報を参照して、前記露出設定毎の評価値を導出する、ことを特徴とする請求項2に記載の画像処理装置。 - 前記導出手段は、
前記領域毎の評価値を用いて、前記領域の数と同じ個数の変数で、前記領域の数と同じ個数からなる、第1の連立方程式を生成する生成手段と、
前記マップ情報に基づき、前記生成した第1の連立方程式において、前記露出設定が同じ変数の係数を加算し、前記マップ情報における前記露出設定の数と同じ個数の変数で、前記領域の数と同じ個数からなる、第2の連立方程式に変換する第一の変換手段と、
前記マップ情報に基づき、前記変換した第2の連立方程式において、前記露出設定が同じ方程式を加算し、前記マップ情報における前記露出設定の数と同じ個数の変数で、前記マップ情報における前記露出設定の数と同じ個数からなる、第3の連立方程式に変換する第二の変換手段と、
を有し、
前記変換された第3の連立方程式を解くことで、前記露出設定毎の評価値を導出する
ことを特徴とする請求項2に記載の画像処理装置。 - 前記導出手段は、
前記領域毎の評価値を用いて、前記領域の数と同じ個数の変数で、前記領域の数と同じ個数からなる、第1の連立方程式を生成する生成手段と、
前記マップ情報に基づき、前記生成した第1の連立方程式において、前記露出設定が同じ方程式を加算し、前記マップ情報における前記露出設定の数と同じ個数の変数で、前記領域の数と同じ個数からなる、第4の連立方程式に変換する第二の変換手段と、
前記マップ情報に基づき、前記変換した第4の連立方程式において、前記露出設定が同じ変数の係数を加算し、前記マップ情報における前記露出設定の数と同じ個数の変数で、前記マップ情報における前記露出設定の数と同じ個数からなる、第3の連立方程式に変換する第一の変換手段と、
を有し、
前記変換された第3の連立方程式を解くことで、前記露出設定毎の評価値を導出する
ことを特徴とする請求項2に記載の画像処理装置。 - 前記領域の間の境界を示す境界情報に基づいて、前記境界に隣接する隣接画素の画素値を取得する第2の取得手段と、
前記取得した前記隣接画素の画素値を用いて求められた画素値の平均値を前記領域毎の評価値として取得する評価手段と、
を有する、ことを特徴とする請求項1に記載の画像処理装置。 - 領域毎に露出設定可能な撮像センサにより撮像された画像データに対して補正をするための画像処理方法であって、
前記領域の間の境界で生じる階調の段差を評価した評価値を導出する導出工程と、
前記導出した評価値に基づき露出設定の誤差を推定する推定工程と、
前記推定した露出設定の誤差を補正するための補正値を決定する決定工程と、
前記決定した補正値を用いて前記画像データを調整するための調整値を更新する更新工程と、
を含み、
前記導出工程では、
前記画像データから得られた領域毎の評価値を基に、各領域に対応付けられた露出設定毎の評価値を導出する、ことを特徴とする画像処理方法。 - 領域毎に露出設定可能な撮像センサにより撮像された画像データに対して補正をするためのプログラムであって、
前記領域の間の境界で生じる階調の段差を評価した評価値を導出する導出工程と、
前記導出した評価値に基づき露出設定の誤差を推定する推定工程と、
前記推定した露出設定の誤差を補正するための補正値を決定する決定工程と、
前記決定した補正値を用いて前記画像データを調整するための調整値を更新する更新工程と、
を含み、
前記導出工程では、
前記画像データから得られた領域毎の評価値を基に、各領域に対応付けられた露出設定毎の評価値を導出する、ことを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022071532A JP2023161264A (ja) | 2022-04-25 | 2022-04-25 | 画像処理装置、方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022071532A JP2023161264A (ja) | 2022-04-25 | 2022-04-25 | 画像処理装置、方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023161264A true JP2023161264A (ja) | 2023-11-07 |
Family
ID=88650057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022071532A Pending JP2023161264A (ja) | 2022-04-25 | 2022-04-25 | 画像処理装置、方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023161264A (ja) |
-
2022
- 2022-04-25 JP JP2022071532A patent/JP2023161264A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9898803B2 (en) | Image processing apparatus, image processing method, and recording medium storing image processing program | |
US10491815B2 (en) | Image-processing apparatus, image-processing method, and non-transitory computer readable medium storing image-processing program | |
JP4610930B2 (ja) | 画像処理装置、画像処理プログラム | |
JP4342493B2 (ja) | 手ぶれ補正装置 | |
DE112009005418B4 (de) | Bildverarbeitungsgerät | |
US20120008005A1 (en) | Image processing apparatus, image processing method, and computer-readable recording medium having image processing program recorded thereon | |
CN109068025B (zh) | 一种镜头阴影校正方法、系统及电子设备 | |
EP3258687A1 (en) | Image processor correcting color misregistration, image processing method, and electronic camera | |
JP6326180B1 (ja) | 画像処理装置 | |
US10389952B2 (en) | Image-processing device which generates a high-resolution image by combining images, imaging device, image-processing method, and storage-medium | |
US8520099B2 (en) | Imaging apparatus, integrated circuit, and image processing method | |
JP2021168048A (ja) | 画像処理方法、画像処理装置、画像処理システム、およびプログラム | |
WO2019008693A1 (ja) | 画像処理装置、撮像装置、画像処理方法、画像処理プログラムおよび記憶媒体 | |
JP2011055259A (ja) | 画像処理装置、画像処理方法、画像処理プログラムおよび画像処理プログラムが格納されたプログラム記憶媒体 | |
JP4872508B2 (ja) | 画像処理装置および画像処理方法、並びにプログラム | |
JP2019205073A (ja) | 画像処理装置、画像処理方法、画像処理プログラム、及び、記憶媒体 | |
JP2023161264A (ja) | 画像処理装置、方法及びプログラム | |
US20070035784A1 (en) | Image processing method and apparatus | |
JP2023161488A (ja) | 画像処理装置、方法及びプログラム | |
WO2017168528A1 (ja) | 画像処理装置、画像処理方法および画像処理プログラム | |
JP2023161259A (ja) | 画像処理装置、方法及びプログラム | |
KR20160069452A (ko) | 영상 처리 장치, 영상 처리 방법, 및 프로그램 | |
JP2023161484A (ja) | 画像処理装置、方法及びプログラム | |
US8712178B2 (en) | Image processing apparatus and image processing method | |
WO2023032125A1 (ja) | パノラマ画像生成装置、パノラマ画像生成方法、及びパノラマ画像生成プログラム |