(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022191061
(43)【公開日】2022-12-27
(54)【発明の名称】画像処理装置、情報処理方法、イメージセンサおよびプログラム
(51)【国際特許分類】
H04N 5/361 20110101AFI20221220BHJP
H04N 5/353 20110101ALI20221220BHJP
【FI】
H04N5/361
H04N5/353 500
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2021099683
(22)【出願日】2021-06-15
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】福田 康男
【テーマコード(参考)】
5C024
【Fターム(参考)】
5C024CX32
5C024CX51
5C024GX03
5C024GX18
5C024GZ37
5C024GZ39
5C024HX30
(57)【要約】
【課題】イメージセンサにおける暗電流成分を高精度に推定すること。
【解決手段】OB画素領域に所定の露光条件を適用して画素値を読み出し、読み出した画素値に所定の処理を施して暗電流成分値を求める。続いて、CPUがOB画素領域の露光条件と各分割画素領域それぞれとの露光条件の違い、すなわち露光時間やゲインの違いを考慮して、OB暗電流成分値から各分割画素領域の暗電流成分値を推定する。すなわち、OB画素領域の露光条件と各分割画素領域の露光条件とにおける露光時間およびゲインの比率に基づき、OB暗電流成分値から各分割画素領域の暗電流成分値を算出するための変換比率を求める。続いて、OB画素領域の画素値、もしくはOB画素領域の画素値から算出したOB暗電流成分値にその変換比率を適用して、分割画素領域の露光条件に対する暗電流成分推定値を算出する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
イメージセンサから出力される画素値に含まれる暗電流成分値を推定する情報処理装置であって、
前記イメージセンサの撮像面は、個別に露光条件を設定可能な複数の有効画素領域と遮光領域とを含み、
前記遮光領域の露光条件と前記有効画素領域それぞれの露光条件とから導出される変換比率に基づき、前記複数の有効画素領域それぞれの前記暗電流成分値を推定する推定手段、
を備えることを特徴とする情報処理装置。
【請求項2】
前記推定手段は、前記複数の有効画素領域それぞれの前記暗電流成分値を、前記遮光領域から読み出した画素値に基づき導出した暗電流成分値に前記変換比率を乗算して導出する、
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記露光条件は、露光時間およびゲインを含む、
ことを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記露光時間は、前記イメージセンサの各画素が有する光電変換素子および蓄積容量において、前記光電変換素子から前記蓄積容量に信号電荷を蓄積する蓄積時間である、
ことを特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記ゲインは、前記イメージセンサの各画素が有する光電変換素子、蓄積容量、および増幅部において、前記光電変換素子から前記蓄積容量に蓄積された信号電荷を増幅して出力する前記増幅部の増幅度を示すアナログゲインである、
ことを特徴とする請求項3又は4に記載の情報処理装置。
【請求項6】
前記変換比率は、前記遮光領域の露光時間と前記有効画素領域の露光時間との露光時間比と、前記遮光領域のゲインと前記有効画素領域のゲインとのゲイン比との積である、
ことを特徴とする請求項3乃至5のいずれか1項に記載の情報処理装置。
【請求項7】
前記複数の有効画素領域と前記遮光領域とに対して、個別に露光条件を設定する設定手段をさらに備え、
前記設定手段は、前記変換比率が1以下となるように前記遮光領域の露光条件と前記有効画素領域それぞれの露光条件とを設定する、
ことを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。
【請求項8】
イメージセンサから出力される画素値に含まれる暗電流成分値を推定する情報処理方法であって、
前記イメージセンサの撮像面は、個別に露光条件を設定可能な複数の有効画素領域と遮光領域とを含み、
前記遮光領域の露光条件と前記有効画素領域それぞれの露光条件とから導出される変換比率に基づき、前記複数の有効画素領域それぞれの前記暗電流成分値を推定するステップ、
を有することを特徴とする情報処理方法。
【請求項9】
複数の光電変換素子からなる撮像面が、個別に露光条件を設定可能な複数の有効画素領域と遮光領域とを含む光電変換センサ部と、
前記遮光領域の露光条件と前記有効画素領域それぞれの露光条件とから導出される変換比率に基づき、前記複数の有効画素領域それぞれの暗電流成分値を推定する推定手段と、
を備えることを特徴とするイメージセンサ。
【請求項10】
コンピュータを請求項1乃至7のいずれか1項に記載の情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮影時の露光量を制御する技術に関する。
【背景技術】
【0002】
イメージセンサは、受光していない状態であっても通電しており、そこで流れる電流は暗電流と呼ばれる。受光していない状態でイメージセンサから画素値を読み出すと、画素値はあるレベルの値を示す。この暗電流に起因する値は、通常の画素読み出しの際にも読み出した画素値の一部に含まれるので、読み出された画素値における暗電流に起因する成分を暗電流成分とも呼ぶ。暗電流成分は通常、画像全域に対し画素値を持ち上げるので、これを除去しないと画像全体が白浮きしたようになる。また、この暗電流成分は、露光条件やセンサ温度に応じて値が変化することが知られている。したがって、この暗電流成分は撮影時に適応的に検出を行い、その検出結果に基づいて除去するのが好ましい。
【0003】
この暗電流成分を検出するため、イメージセンサ周辺部に、遮光された画素領域であるOB(Optical Black)画素領域を設ける。そして撮影の際、撮像領域(有効画素領域)の画素とともにOB画素領域の画素からも画素値を読み出し、OB画素領域の画素値から暗電流成分の大きさ、あるいは分布を推定する方法が知られている。
【0004】
一方、近年、イメージセンサの撮影ダイナミックレンジを広げる撮影方法として、広ダイナミックレンジ(以下、HDRと呼ぶ)撮影が知られている。HDR撮影を行う方法には幾つか方式があるが、そのうちの1つとして、イメージセンサの撮像領域を複数の小領域に分割し、その小領域毎に露光条件(露光時間やゲイン)を設定して撮影することができるイメージセンサが知られている(特許文献1参照)。以下、便宜上そのような撮影方式を領域別露光撮影、領域別露光撮影可能なイメージセンサを領域別露光センサと呼ぶことにする。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、領域別露光センサにおいては、従来のように単一の露光条件で読み出した画素値に基づき暗電流成分値を推定しても、露光条件が異なる領域の暗電流成分値とは異なるため、各領域の暗電流成分値を高精度に推定することができないという課題がある。
【課題を解決するための手段】
【0007】
本発明は、イメージセンサから出力される画素値に含まれる暗電流成分値を推定する情報処理装置であって、前記イメージセンサの撮像面は、個別に露光条件を設定可能な複数の有効画素領域と遮光領域とを含み、前記遮光領域の露光条件と前記有効画素領域それぞれの露光条件とから導出される変換比率に基づき、前記複数の有効画素領域それぞれの前記暗電流成分値を推定する推定手段、を備えることを特徴とする。
【発明の効果】
【0008】
本発明は、イメージセンサにおける暗電流成分を高精度に推定することができる。
【図面の簡単な説明】
【0009】
【
図1】本発明に係る複数の画素領域の露光条件を決定するための情報処理装置を実現するためのハードウエア構成例を示す図
【
図2】一般的なイメージセンサのOB画素領域と有効画素領域の例を示す図
【
図3】領域別に露光条件変更可能なイメージセンサの例を示す図
【
図4】モデルに基づいたイメージセンサの暗電流成分の温度特性を示す図
【
図5】第1実施例による露光条件決定処理の流れを示す流れ図
【
図6】本発明による画像処理方法を搭載するイメージセンサの一構成例を示す図
【
図7】第3実施例による露光条件決定処理の流れを示す流れ図
【発明を実施するための形態】
【第1実施例】
【0010】
図1は、本発明に係る複数の画素領域の露光条件を決定するための情報処理装置を実現するためのハードウエア構成例を示す図である。
【0011】
図1に示す構成例では、撮像を行うデータ入力部101が有する複数の画素領域それぞれの露光条件を、データ入力部101に接続された情報処理装置で決定する。
図1において情報処理装置とは、データ保存部102、表示部103、入力部104、CPU105、RAM106、ROM107、通信部108、および画像処理部121からなる部分を指す。
【0012】
データ入力部101は、複数の光電変換素子を有する光電変換センサ部の撮像面で撮像して得られた画像データを出力する公知のイメージセンサなどで構成される。データ入力部101は、撮像面に複数の画素領域を持ち、複数の画素領域のそれぞれで独立した露光条件(露光時間(蓄積時間)またはシャッタースピード、およびゲイン)を設定して撮像できるものとする。簡単には、データ入力部101が各画素領域の露光条件を指定するデータを受信して画素領域毎に個別に露光条件を設定できるように構成されていればよい。なお本明細書では、露光時間とは、各画素が有する光電変換素子および蓄積容量において、光電変換素子から蓄積容量に信号電荷が蓄積される蓄積時間である。また、ゲインとは、各画素が有する光電変換素子、蓄積容量および増幅部において、光電変換素子から蓄積容量に蓄積された信号電荷を増幅して出力する増幅部の増幅度を示すアナログゲインである。
【0013】
この露光条件を指定するデータの生成は、例えば後述するCPU105を含む情報処理装置で動作するソフトウェアで実現すればよい。あるいは、予めRAM106等の特定の記憶領域に露光条件を指定するデータを格納しておき、データ入力部101がそれを参照するように構成してもよい。
【0014】
データ保存部102は、画像データ、パラメータ等を記憶する記憶装置であり、通常はハードディスク、SSD、フレキシブルディスクなどで構成される。あるいはCD-ROM、CD-R、DVD、Blu-ray(登録商標)、メモリーカード、CFカード、スマートメディア、SDカード、メモリスティック、xDピクチャーカード、USBメモリ等で構成してもよい。データ保存部102には、画像データの他にも、CPU105で動作するプログラムやその他のデータを保存することも可能である。あるいは、後述するRAM106の一部をデータ保存部102として用いてもよい。または、後述する通信部108を介して接続した外部機器の記憶装置を利用することで仮想的に構成してもよい。
【0015】
表示部103は、データ入力部101から出力された画像データに基づき画像処理前後の画像を表示したり、GUI等の画像を表示したりする装置で、一般的にはCRT、液晶、有機ELを使用したディスプレイなどが用いられる。あるいは、入出力インターフェースを介してケーブル等で接続された外部装置のディスプレイ装置であっても構わない。
【0016】
入力部104は、ユーザからの指示や、データを入力する装置で、キーボードやポインティング装置を含む。典型的なポインティング装置としては、マウス、トラックボール、トラックパッド、タブレット等が挙げられる。あるいは、本例を例えば公知のデジタルカメラ装置やプリンタなどの機器に適用する場合には、ボタンやダイヤル等で構成されるのであってもよい。また、キーボードをソフトウェアで構成(ソフトウェアキーボード)し、ボタンやダイヤル、あるいは先に挙げたポインティングデバイスを操作して文字を入力するように構成してもよい。あるいは、公知のタッチスクリーン装置のように、表示部103と入力部104が同一装置であってもよい。その場合、タッチスクリーンによる入力を入力部104の入力として扱う。また、公知のジェスチャー認識処理によりユーザの指示を受け取るよう構成する場合、入力部104は可視光線あるいは赤外線による画像を入力する入力装置と、その画像からユーザの動作を認識してコマンドに変換する装置から構成される。前者について、入力部104は、データ入力部101が兼ねるのであってもよい。後者についてコマンドに変換する装置は、
図1の構成に専用のハードウエアを追加するか、あるいは後述するCPU105上で動作するソフトウェアなどで構成すればよい。動作の認識方式は公知のものでよい。
【0017】
同様に、公知の音声認識処理によりユーザの指示を取得するよう構成する場合、入力部104は、公知のマイクロホン装置と、音声データからユーザの発話を認識してコマンドに変換する装置から構成される。ユーザの発話を認識してコマンドに変換する装置は、
図1の構成に専用のハードウエアを追加するか、あるいはCPU105上で動作するソフトウェアなどで構成すればよい。音声の認識方式は公知のものでよい。
【0018】
また、ジェスチャー認識や音声認識については、その認識処理を
図1の装置の外部に持たせる構成も有り得る。その場合、通信部108を介して他の機器やネットワーク上のサーバと接続し、その外部機器、もしくはサーバに画像データや音声データを送付するよう構成する。外部機器もしくはサーバは通信手順に従い画像データ、音声データを受け取り、認識結果を表すデータを
図1で示す機器に戻すよう構成すればよい。
【0019】
CPU105は、上述した各構成の処理の全てに関わる。RAM106とROM107は、そのCPU105で行う処理に必要なプログラム、データ、作業領域などをCPU105に提供する。また、後述する処理に必要な制御プログラムがデータ保存部102に格納されている場合や、ROM107に格納されている場合には、一旦RAM106に読み込まれてからCPU105で実行される。通信部108を経由して外部装置からプログラムを受信する場合には、通信部108で受信したプログラムは、一度データ保存部102又はRAM106に格納されてからCPU105で実行される。
【0020】
なお、
図1においては、CPUが1つ(CPU105)だけである構成だが、これを複数設けるような構成にしてもよい。
【0021】
通信部108は、機器間の通信を行うためのI/Fである。通信部108で使用する通信方式は、公知の有線ネットワーク、RS-232C、USB、IEEE1284、IEEE1394、電話回線などの有線通信方式などでよい。あるいは赤外線(IrDA)、IEEE802.11a、IEEE802.11b、IEEE802.11g、IEEE802.11n、IEEE802.11ac、IEEE802.11axなどの無線通信方式でもよい。またあるいは、Bluetooth、UWB(Ultra Wide Band)、無線電話回線、NFC等の別の無線通信方式であってもよい。
【0022】
画像処理部121は、公知のDSP、論理回路などで構成する。あるいは、公知のGPUなどであってもよい。画像処理部121は、データ入力部101より入力された画像データや、あるいはRAM106、データ保存部102などに保持された画像データに対し、演算処理を行う。画像処理部121の処理結果は、RAM106に出力、データ保存部102、表示部103などに出力するか、あるいは通信部108を介して他の外部機器へ出力される。
【0023】
図1による構成で実施する演算処理が少ない(高い演算速度が要求されない、あるいは演算すべきデータ数が少ない)場合は、CPU105が画像処理部121の役割を行う構成としても構わない。
【0024】
図1には不図示であるが、必要に応じて公知のレジスタ回路などを追加することも可能である。レジスタは、CPU105や画像処理部121の動作パラメータを保持するなどに好適である。レジスタの値は、CPU105や画像処理部121が設定する他、通信部108を介して外部の機器が設定可能なように構成することもできる。
【0025】
なお、
図1に示すハードウエア構成は一例であって、全ての構成が必須の構成ではなく、一部省略するような変形も可能である。例えば、公知のカメラ装置を構成する場合、表示部103で被写体のプレビュー表示や、撮影結果を確認できるよう構成するのが一般的である。一方で、通信部108を介して接続した先の機器(例えば、公知のスマートフォン)に表示させるよう構成することも可能なので、その場合は表示部103を省略することも可能である。同様に、入力を通信部108で接続した先の機器で行い、その入力に対応したコマンドを、通信部108を介して受信し、受信したコマンドに応じて動作するように構成することもできる。コマンドの解釈は、CPU105や画像処理部121で行えばよい。この場合、入力部104を省略することもできる。また、ソフトウェアによる処理、制御が不要である場合(例えば、処理を全て論理回路化して画像処理部121内で実現する場合など)には、CPU105やROM107などを省略することも考えられる。
【0026】
図2は、本実施形態において用いるイメージセンサ例を説明する図である。データ入力部101は、撮像面201には、遮光領域であるOB(Optical Black)領域211、212と、遮光されていない有効画素領域221とを含む。OB画素領域211は垂直OB領域であり、OB画素領域212は水平OB画素領域とも呼ぶ。なお、撮像面201には、
図2に示した構成以外にも、細かく様々な画素領域を設定していてもよいが、本発明の主眼でないので上記のような単純な構成とする。
【0027】
さて、データ入力部101から得られる全画素の画素値には、暗電流成分が含まれている。そのため、有効画素領域221については、撮像面201への入射光に応じた画素値を得たいわけだが、実際には暗電流成分も含まれている。取得したいずれの画素値にも暗電流成分が含まれていると、黒であるべき画素の信号値は理想的な値(例えば信号値0、もしくは非常に小さい値)にならず、全体に画素値が底上げされて白浮きしたような画像になる。
【0028】
そこで、OB画素領域211、212から読み出した画素値を用いて、この暗電流成分を推定する。しかしながら、撮像面201から読み出されるいずれの画素の画素値にも、ランダムに発生するノイズ成分が含まれる。そのため、本実施形態では、暗電流成分を推定するために、OB画素領域211、212から読み出した画素値に対して統計的な処理を施すことで、ランダムに発生するノイズ成分を除去する。この統計的な処理で所望の精度を得るためには、求める精度に応じた数の画素値、つまり求める精度に応じたOB画素領域の広さが必要になる。OB画素領域211、212の広さは、イメージセンサの特性により異なるが、例えば数十~百数十画素程度の幅が必要になることが多い。
【0029】
なお、暗電流成分の推定値は、有効画素領域221内の画素位置毎に得られる二次元情報であることが好ましいが、簡略化して適用する場合には、露光条件によって一律の一次元情報であってもよい。
【0030】
図3は、領域別露光可能なセンサの撮像面を示す図である。撮像面201は、
図2と同様に、OB画素領域211、212、有効画素領域221を有する。
図3においては、有効画素領域221は、分割画素領域301~309、311~319、321~329、331~339、341~349の45領域に分割されており、各分割画素領域は個別に露光条件(露光時間およびゲイン)が設定できるものとする。以下、分割画素領域301~309、311~319、321~329、331~339、341~349の45領域をまとめて、分割画素領域301~349とも呼称する。この領域別露光可能なセンサでは、分割画素領域301~349の45領域は独立して露光条件が設定できるので、1回の撮影で最大で45種類の露光条件で露光することになる。
【0031】
ここで、
図3に示す領域別露光可能なセンサの露光量制御の一例を説明する。例えば、データ入力部101から取得した画像データを、画像処理部121で処理するように構成する。画像処理部121では、
図3に示す分割画素領域301~349それぞれについて各分割画素領域に含まれる画素の画素値を集計し、領域の明るさを表す情報(以下、領域明るさ情報と呼ぶ)を計算する。この領域明るさ情報は、画像処理部121で生成され、各分割画素領域別にRAM106に出力される。
【0032】
領域明るさ情報は、様々なものが考えられるが、例えば領域内の画素値の平均や、ヒストグラムとしてもよい。データ入力部101がカラーセンサである場合、複数のチャネルの信号を1つの信号(例えば輝度情報など)に変換してから集計して領域明るさ情報を作成してもよい。1つの信号への変換は、チャネル別に重みづけをした重みづけ平均などを使用してもよい。あるいは、領域明るさ情報は、チャネル毎の集計値を用いるように構成してもよく、チャネル毎の領域内画素の平均や、チャネル毎のヒストグラムとしてもよい。
【0033】
次に、領域明るさ情報に基づいて分割画素領域301~349それぞれの露光条件を決定する。この露光条件の決定は、例えば公知のプログラム線図を用いて行えばよい。分割画素領域301~349それぞれの露光条件は、各分割画素領域の露光時間(シャッタースピード)と各分割画素領域に含まれる画素毎のゲイン(ISO感度)に基づき決定される。プログラム線図を用いる場合、領域明るさ情報からEV(Exposure Value)を決定し、その決定した領域毎のEVとデータ入力部101を用いて撮影した際の露光条件情報とに基づき、プログラム線図に従って露光条件を決定する。この処理を各分割画素領域にそれぞれについて行い、各分割画素領域の露光条件を決定する。
【0034】
この露光条件決定処理は、例えばCPU105で動作するプログラムで実現することができる。あるいは、それと等価な論理回路を構成し、画像処理部121で実現することも可能である。
【0035】
次に、
図3で示したような領域別露光可能なセンサについて、暗電流成分除去処理について説明する。
【0036】
先に述べたように、暗電流成分の推定のためには、所望の推定精度に応じたサイズのOB画素領域が必要である。一方、暗電流成分は露光条件によって変化するため、
図3に示すような領域別露光可能なセンサの場合、OB画素領域211、212の45倍のOB画素領域を用意するか、OB画素領域211、212の露光条件を変えながら45回撮影する必要がある。
【0037】
前者は、OB画素領域211、212が大きくなるので、撮像面201での有効画素領域221の比率が相対的に小さくなりセンサとして好ましくない。後者の場合、OB画素領域211、212の大きさは(
図2で例示したように)従来通りでいいが、OB画素領域211、212を45回露光させることになるので、長時間露光が困難になる。また、45回露光したOB画素データ、もしくはそれから算出した暗電流成分推定値を保持する必要があるので、メモリ等追加の構成が必要になり、やはり好ましくない。
【0038】
そこで本発明では、OB画素領域211、212に所定の露光条件を適用して画素値を読み出し、読み出した画素値に所定の処理を施して暗電流成分値を求める。続いて、OB画素領域211、212の露光条件と各分割画素領域301~349それぞれとの露光条件の違い、すなわち露光時間やゲインの違いを考慮して、OB暗電流成分値から各分割画素領域の暗電流成分値を推定する。
【0039】
なお、OB暗電流成分値は、少数の異なる露光条件について複数求めるようにしてもよい。また、OB画素領域211、212の露光条件は、各分割画素領域301~349の露光条件よりも露光時間が長く、またゲインが大きいことが望ましい。
【0040】
暗電流成分は、露光条件における露光時間およびゲインに比例すると考えられる。そこで、OB画素領域211、212の露光条件と各分割画素領域301~349の露光条件とにおける露光時間比およびゲイン比に基づき、OB暗電流成分値から各分割画素領域301~349の暗電流成分値を算出するための変換比率を導出する。続いて、OB画素領域211、212の画素値、もしくはOB画素領域211、212の画素値から算出したOB暗電流成分値にその変換比率を適用して、分割画素領域301~349の露光条件に対する暗電流成分推定値を算出する。
【0041】
なお、OB画素領域211、212から読み出した画素値にはランダムノイズの成分等も含まれる。したがって、露光条件の違いに基づき求めた変換比率を適用するのは、OB画素領域211、212の画素値に対して統計的な処理(例えば、平均、重みづけ平均、中央値などの処理)を行って得たOB暗電流成分値に対して行うのが好ましい。
【0042】
これらのことから、i番目のブロック領域に対する変換比率Rconv(i)を下式のように求める。
【0043】
【0044】
式(1)で用いる各パラメータは下記のように定義される。
Rtime(i):i番目のブロック領域とOB画素領域の露光時間の比率
Rgain(i):i番目のブロック領域とOB画素領域のゲインの比率
ExpTob:OB画素領域の露光時間
ExpGob:OB画素領域読みだしの際に適用したゲイン
ExpTblock(i):i番目のブロック領域の露光時間
ExpGblock(i):i番目のブロック領域読み出しの際に適用したゲイン
【0045】
分割画素領域301~349の露光条件に対する暗電流成分の推定値は、OB画素領域211、212の画素値に統計処理を施して算出したOB暗電流成分値に対してRconv(i)を乗算することで算出される。したがって、Rconv(i)の値は1以下になるように構成する方が、推定値の誤差を小さくすることが期待できるので好ましい。そのため、OB画素領域211、212に適用する露光条件は、分割画素領域301~349の露光条件のうち最大のものと同等か、それよりも大きくなるように設定することが好ましい。露光条件が最大であるとは、分割画素領域301~349の露光条件のうちで露光時間が最も長く、かつ、ゲインが最も高いか、公知のAPEXシステムによる式で換算した合計値が最大となるものである。
【0046】
この露光条件が異なる画素領域毎の暗電流成分の推定処理は、例えばCPU105で動作するプログラムで実現することができる。あるいは、それと等価な論理回路を構成し、画像処理部121で実現することも可能である。
【0047】
i番目の分割画素領域の暗電流成分値は、OB画素領域211、212の画素値から算出したOB暗電流成分値に対し、その分割画素領域の露光条件に応じて求めたRconv(i)を乗算して算出した暗電流成分推定値を減算することで除去できる。この暗電流成分値を除去する処理は、例えば
図1の構成においては画像処理部121などに実装することができる。
【0048】
次に、暗電流成分の特性について考える。先に述べたように、暗電流成分は、露光時間や読み出し時のゲインに比例するものとしたが、この他に温度依存性もある。但し、暗電流成分は、温度には比例せず、温度上昇に対して指数関数的に増加する。温度が8度上昇すると暗電流成分は倍になる関係にあると言われており、このモデルは下式のように表せる。
【0049】
【0050】
式(2)で用いる各パラメータは下記のように定義される。
d(k):温度kの時の暗電流成分値
k0:基準とする温度
d0:温度k0の時の暗電流成分値
【0051】
図4のグラフは、上記モデルにおいて基準とする温度k0を60℃、その時の暗電流成分値d0を1レベル(k0=60、d0=1)とした場合において、温度が-20℃~100℃程度の暗電流成分値をプロットしたものである。
図4に示すように、基準とする温度k0よりも高温になると暗電流成分値は急激に大きくなる。
【0052】
さて、ここまで述べたモデルには誤差が含まれている。一例としては、式(1)で説明したような、露光条件に応じた暗電流成分の変換において、ゲイン値の実測値と設計値の間に誤差が含まれている場合などがあげられる。
【0053】
センサの温度が所定の温度以下で十分に低く、最大露光条件で露光したOB画素領域211、212の画素値のレベルが十分に低い場合、暗電流成分の推定値に誤差があったとしても、例えば1レベル未満などになり、十分に無視できる。しかしながら、
図4で示したように、センサの温度が高い場合に、この誤差が無視できない大きさになる場合がある。そしてこの誤差が大きくなると、
図3に示す領域別露光可能なセンサにおいて領域毎に異なる露光条件を設定して撮影する場合、領域境界で上記暗電流成分の推定値の誤差に起因する画質障害(ブロック段差)が起きる。
【0054】
そこで本発明では、センサの温度に応じて適用可能とする露光条件の上限値を変えることで露光量制御に対して高温時に制約を設ける。
【0055】
図5は、本実施例にかかる分割画素領域毎に露光条件を決定するための処理の例を示す流れ図である。ここでは、
図5に示す処理フローは、CPU105で処理されるものとして説明を行うが、先に述べたように、画像処理部121で実行するなどの変形は容易である。
【0056】
S501では、CPU105が、イメージセンサの温度情報を読み込む。温度情報は、例えばRAM106や
図1に不図示のレジスタなどの記憶装置に保持されていればよいので、その場合、CPU105がRAM106やレジスタにアクセスして読み込むよう構成する。ここで使用する温度情報は、温度と相関が高い数値であれば任意のものでよい。例えば、温度は数値化(整数形式もしくは浮動小数点形式)データであってもよいし、あるいは公知の温度センサの読み取り値などであってもよい。
【0057】
RAM106やレジスタに保持される温度情報は、
図1の構成に対し、撮像面201の温度を測定する温度センサを追加し、その読み取り値などの測定結果としてもよし、
図1に示す通信部108を介して接続した外部機器から取得するようにしてもよい。または、温度情報をOB画素領域211、212から読み出した画素値の統計量から生成することもでる。この場合、温度情報を生成するために、データ入力部101から画像データを取得して画像処理部121で処理するように構成することができる。画像処理部121でOB画素領域211、212の全体、もしくは一部の領域における画素値について統計量を算出し、RAM106やレジスタにその統計量を保持するようにすればよい。
【0058】
統計量は、簡単にはOB画素領域211、212の各画素値の平均あるいは重みづけ平均などでよいが、この他、OB画素領域211、212内の画素の代表値を表すようなものであれば他の統計量、例えば最頻値などであってもよい。
【0059】
また、データ入力部101がカラーイメージセンサで、複数チャネルの画素から構成される場合、OB画素領域211、212全体からチャネルを無視して統計量を計算するように構成してもよい。あるいは逆にOB画素領域211、212のチャネル別の画素値についてそれぞれ統計量を計算するようにしてもよい。
【0060】
また、画素値の分類の基準となるものは必ずしもチャネルに限らず、例えばデータ入力部101内部にA/D回路が複数系統存在し、系統毎の特性にバラつきがある場合は、チャネルに加えてA/D回路の系統別に統計量を計算するようにしてもよい。さらに、例えば画素間でFD(Floating Diffusion)共用を行っている場合など、画素レイアウトが複数種類存在する場合には、画素レイアウトの対称性を考慮して、統計量を計算するようにしてもよい。
【0061】
なお、OB画素領域211、212の画素値が固定パターンノイズを含む場合もあるので、上記統計量の計算の前処理として、固定パターンノイズ除去の処理を含めることが好ましい。使用する固定パターンノイズ除去の方法は公知のものでよい。
【0062】
【0063】
S502では、CPU105が、S501で読み込んだ温度情報に基づき、撮像面201が所定の温度よりも高温か否かの判定を行う。これは例えば、予め閾値を用意しておき、その閾値と温度情報とを比較することで判定できる。判定の結果、撮像面201が高温であると判定した場合は、処理はS504に移行し、撮像面201が高温でないと判定した場合は、処理はS503に移行する。
【0064】
S503およびS504では、以降の処理で用いる露光条件の決定するためのプログラム線図を選択する。
【0065】
本実施例では、この後のS505~S507において現在のフレームの分割画素領域毎の露光条件を、過去フレームにおける対応する領域の露光条件と領域明るさ情報とを参照して、先に述べたようにプログラム線図を用いて決定する。本実施例の場合、プログラム線図を少なくとも2つ用意する。1つは、イメージセンサにおいて使用可能な全ての露光条件の中から最適な露光条件を決定する通常のプログラム線図(制約なし線図とも呼ぶ)である。もう1つは、イメージセンサにおいて使用可能な露光条件よりも上限値を低く抑えた露光条件の中から最適な露光条件を決定するプログラム線図(制約ありプログラム線図とも呼ぶ)である。露光条件の上限値を低く抑えるとは、制約なしプログラム線図において選択可能な露光条件の中で最もゲインが高い(例えば8倍や16倍)の露光条件を選択できないようにする。この2つのプログラム線図は、RAM106やROM107に格納されており、露光条件の決定を、ソフトウェアで実現する場合にはCPU105が参照し、論理回路の形で実現する場合は画像処理部121が参照する。なお、本実施例では、CPU105が露光条件を決定する構成とする。
【0066】
S503では、CPU105が、制約なしプログラム線図を選択し、S504では制約ありプログラム線図を選択する。プログラム線図の選択は、例えばどちらのプログラム線図を有効とするかというスイッチ変数、あるいは
図1に不図示のレジスタなどを設け、そこの値をS502の判定結果に応じて切り替えるなどすれば実現可能である。後述するS506はそのスイッチ変数を参照して、適切なプログラム線図を選択した上で処理を行うよう構成する。
【0067】
続くS505~S507では、CPU105が、分割画素領域301~349うちの1つに対する露光条件を決定していく。露光条件の決定処理についてはすでに説明したように行えばよい。
【0068】
S505では、CPU105が、領域明るさ情報をRAM106などから読み込む。
【0069】
S506では、CPU105が、読み込んだ領域の領域明るさ情報に基づき、S503もしくはS504で選択したプログラム線図に従い、領域毎の露光条件を決定する。
【0070】
S507では、CPU105が、決定した領域毎の露光条件を出力する。本実施例では領域毎の露光条件をデータ入力部101に逐次出力するように構成する。なお、これと別の構成として、各分割画素領域の露光条件を表すデータをRAM106などに一旦蓄え、全領域分の露光条件が揃ったところでデータ入力部101に出力するようにしてもよい。
【0071】
S508では、CPU105が、1フレームの全ての領域について、処理S505~507の処理が全て終わったか否かを判定する。これは領域分割数、すなわちS505~S507を実行すべき回数をカウントすることで判定可能であるので、カウンタ変数などを設けるよう構成する。カウンタは、S505より前の処理で0に初期化し、S507で露光条件を出力した後に1つカウントアップするよう構成し、S508ではそのカウント数と分割画素領域数とを比較するよう構成すればよい。
【0072】
S508で、全ての領域について処理が終了したと判定した場合、
図5に示す流れ図で示した処理は終了する。1フレームの全ての領域について処理が終了していないと判定した場合、処理はS505に戻る。
【0073】
図5に例示した流れ図では、画像撮影毎にS501~S508の処理を行うような構成にしたが、例えばS501~S504の線図切り替えの処理は、所定のフレーム数に1回行う構成にしてもよい。これは、数フレームの間の被写体の変化は小さく、過去フレームにおける対応する領域の露光条件および領域明るさ情報の変化も小さいと考えられるためである。
【0074】
本実施例では、
図3に示すように、撮像面201をOB画素領域211、212と均一な矩形の分割画素領域301~349で分割する例を示したが、本発明では、分割画素領域の形状はこれに制限されない。例えば、センサ中央部分は小さなブロック、周辺部分は大きなブロックとするような、大きさや形状の異なる分割画素領域を用いる構成であってもよい。
【0075】
また、本実施例では好適な例として、2つプログラム線図を撮像面201の温度に基づいて切り替える構成とした。これの別の構成として、まず1つのプログラム線図から露光条件を仮決めし、次に撮像面201の温度が高く、かつ、仮決めされた露光条件において所定のゲインよりも高いゲインが選択された場合に、所定のゲイン以下の露光条件に変更する構成としてもよい。
【0076】
さらに、本実施例では温度情報に対して1つの閾値で2つのプログラム線図を切り替える例を示したが、複数の閾値を設けて3つ以上のプログラム線図を切り替えるようにしてもよい。
【0077】
以上説明したように、本発明によれば、
図5で例示した処理の流れに沿って、イメージセンサの温度を推定し、所定の温度よりも高温になるときには、設定可能とする露光条件のゲインの上限値を、所定の温度以下のときよりも低い値に制限する。これにより、領域別露光制御可能なイメージセンサを用いるシステムにおいて、高温時の画像劣化を抑制できる。
【0078】
また、ゲインを任意の所定の範囲に限定するような制約ありプログラム線図を用いてもよい。使用するゲインの数値が大きいほど誤差要因が増加するため、使用するゲインを限定することで、高温時の画像劣化を抑制することができる。
【0079】
なお、分割画素領域301~349に設定する露光条件のゲインを、OB画素領域211、212に対して適用したゲインに近い値に制限すると更に好ましい。なぜなら、OB画素領域211、212に対して適用した露光条件に対する変換比率が大きいほど、暗電流成分推定値の誤差も大きくなるからである。特に、分割画素領域の露光条件のゲインをOB画素領域211、212に対して適用したゲインと同じ大きさに設定した場合、ゲイン値の実測値と設計値の間の誤差に起因する暗電流成分推定値の誤差が発生しないため、好ましい。
【0080】
また、本実施例では、高温時には設定可能とする露光条件のゲインの上限値を低くする構成について説明したが、高温時に設定可能とする露光条件の露光時間の上限値を低くするようにしてもよい。すなわち、所定の温度よりも高温になるときには、設定可能とする露光条件の露光時間の上限値を、所定の温度以下のときよりも低い値に制限するようにしてもよい。この構成においても、領域別露光制御可能なイメージセンサを用いるシステムにおいて、高温時の画像劣化を抑制することができる。
【第2実施例】
【0081】
本実施例では、第1実施例との相違点のみ説明する。
【0082】
図6は、本発明による露光条件決定方法、あるいは回路を、イメージセンサ内部に構成する例を示す図である。なお、
図6において
図1と同じものについては
図1と同番号を付与し説明を省略する。
【0083】
図6の600は装置としてのイメージセンサ全体を示しており、イメージセンサ600内部に、第1の実施例、
図1で説明したものと概略同様な構成が含まれている例を示している。但し、
図6におけるデータ入力部601は、公知のフォトダイオードと、そこからデータを読み出してA/D変換を行う処理を行う構成とを含むものであり、データ入力部101と同様に
図3に示すような撮像面201を有する。データ入力部601は、第1実施例のデータ入力部101と同様に、撮像面の各画素から画素値を読み出し、RAM106、画像処理部121、または通信部108に画素値を出力することができる。また、データ入力部601は、分割画素領域毎に異なる露光条件で撮影でき、各分割画素領域およびOB画素領域の露光条件を指定するデータを受信し、画素領域毎に露光条件を設定できるよう構成する。
【0084】
センサ単体にはユーザI/Fを設ける必要性が低い場合が多いので、
図6に示す構成例では
図1に示す表示部103や入力部104を省いている。同様に、センサ単体にデータ保存部102を持つ必要性が低い場合が多いので、
図6に示す構成では
図1に示すデータ保存部102も省いている。この場合、データ入力部601が読み出した画素値は、RAM106に直接保存されるようにしてもよいし、画像処理部121に送信されて処理された後にRAM106に保存されるようにしてもよい。さらに、データ入力部601が読み出した画素値は、通信部108を介して外部に転送されるようにしてもよい。
【0085】
なお、イメージセンサ600に、
図6には不図示だが、必要に応じて第1実施例同様に、データ保存部102、表示部103、入力部104などを設けてもよい。
【0086】
また、通信部108は、第1実施例で挙げたようなI/Fでもよいが、あるいは、高速シリアル、PCI Express、MIPI、SLVSなど、他の公知のI/Fであってもよい。
【0087】
本実施例で明らかなように、本発明は、センサ装置に適用することも可能である。本実施例による構成は、公知の積層センサなどで実装するのが好適である。
【第3実施例】
【0088】
本実施例では第1、第2実施例との相違点のみ説明する。
【0089】
第1実施例で言及したように、一般に暗電流成分は撮像面上で位置によって値が異なる。より具体的には、撮像面の上下左右の端ほど、暗電流成分が多くなり易い。
【0090】
そこで、第1実施例、
図5の説明では、高温かどうかというS502の判定に従って、露光条件を決定するために使うプログラム線図を切り替えていたが、本実施例では、それに加えて、画素領域の位置に応じたプログラム線図の切り替えを行う。
【0091】
図7は、実施例3にかかる分割画素領域毎に露光条件を決定するための処理の例を示す流れ図である。
図7では、
図5と同様の処理については、
図5と同じ番号を付与し説明を省略する。
【0092】
本実施例では、まずS701で分割画素領域毎に所定の特定領域か否かを判定し、その後S502で温度が所定の温度よりも高いか否かを判定している。本実施例において特定領域とは、有効画素領域221の周辺部の領域、すなわち、
図3における分割画素領域301~309、311、319、321、329、331、339、341~349であるとする。これらの分割画素領域は、分割画素領域の処理順などから容易に判定可能である。
【0093】
本実施例では、露光条件を決定するために、対象の分割画素領域が特定領域(有効画素領域の周辺部)であり、かつ、温度が所定の温度より高温と判定できる場合に制約ありのプログラム線図を使用し、それ以外の場合は制約なしのプログラム線図を使用する。
【0094】
なお、有効画素領域221の端部を特定領域としたのは一例であって、本実施例の本質は、分割画素領域の位置および温度に応じて露光条件を決定するためプログラム線図を切り替えることにある。
【0095】
例えば、センサが画素基板と回路基板からなる、所謂積層型のイメージセンサである場合、回路基板側の温度分布に起因して、撮像面に温度ムラが発生する場合がある。前述したように、温度が高いほど暗電流が大きいため、回路基板側の温度が高い領域に近い分割画素領域を特定領域とするような構成も可能である。
【0096】
本実施例による方法は、暗電流成分に空間的な位置依存性がある場合に好ましい方法となる。本実施例では、比較的暗電流成分が多くなる位置にある分割画素領域ついては露光条件に制限を持たせることで、暗電流成分推定値を抑えるとともに、比較的暗電流成分が少なくなる位置にある分割画素領域ついては、露光条件の自由度を確保できる。これにより、画像劣化の抑制と露光条件の自由度の確保の両立を図ることができる。
【第4実施例】
【0097】
本実施例では、第1乃至第3実施例との相違点のみ説明する。
【0098】
第3実施例では温度に加えて、分割画素領域の位置に応じたプログラム線図の判定を行う場合を示したが、それ以外の条件を用いて判定を行う例を説明する。
【0099】
例えば、被写体照度が低いほど画像のS/Nが悪くなるので、暗電流成分の推定誤差が大きくなり、画質低下も大きくなる。これに着目し、本実施例では、被写体照度によってプログラム線図を切り替える。具体的には、被写体照度が特定の閾値以下の場合に、露光条件を決定するためプログラム線図として、露光条件の上限値を抑えた制約ありプログラム線図を使用するよう構成する。被写体照度は、有効画素領域221の各画素から読みだされる画素値から算出した値を使用してもよいし、外部の照度センサからの読み出し値を使用してもよい。
【0100】
また、画像処理部121で読み出した画素値に対してデジタルゲインやガンマ補正をかける場合、デジタルゲインの値、あるいはガンマ補正の補正量が大きいほど、暗電流の推定誤差による画質低下が大きくなる。これに対応するため、使用するデジタルゲインやガンマカーブによって露光条件を決定するためのプログラム線図を切り替えるよう構成してもよい。具体的には、デジタルゲインが所定の閾値以上の場合、あるいはガンマ補正の補正量が所定の閾値以上の場合、露光条件に制約を持たせるよう構成すればよい。
【0101】
更には、有効画素領域221の分割画素領域301~349それぞれの露光時間から決定した基準露光時間の長さによってプログラム線図を切り替える構成でもよい。前述したように、一般に暗電流成分は撮像面201上で位置によって値が異なり、撮像面201の上下左右の端ほど暗電流成分が多くなり易い。更に、露光時間が長いほど、撮像面201中央部に対して、撮像面201端部の暗電流成分が大きくなる。そのため、露光時間が長いほど、特に撮像面201端部において、暗電流の推定誤差による画質低下が大きくなる。そこで、分割画素領域301~349それぞれの露光時間から決定した基準露光時間が特定の閾値よりも長い場合、使用するゲインに制約を持たせるよう構成する。
【0102】
基準露光時間は、有効画素領域221の分割画素領域に対して個別に設定した露光時間から決定すればよい。例えば、各分割画素領域の露光時間の最長時間でもよいし、平均値や最頻値であってもよい。あるいは、領域に対して予め重みを設定しておき、その重みに応じて露光時間を重みづけ平均してもよい。
【0103】
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0104】
101 データ入力部
105 CPU
106 RAM
107 ROM
121 画像処理部