JP2008079099A - 固体撮像装置、撮像装置、プログラム - Google Patents
固体撮像装置、撮像装置、プログラム Download PDFInfo
- Publication number
- JP2008079099A JP2008079099A JP2006257360A JP2006257360A JP2008079099A JP 2008079099 A JP2008079099 A JP 2008079099A JP 2006257360 A JP2006257360 A JP 2006257360A JP 2006257360 A JP2006257360 A JP 2006257360A JP 2008079099 A JP2008079099 A JP 2008079099A
- Authority
- JP
- Japan
- Prior art keywords
- flicker
- data
- bit
- unit
- luminance data
- 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
Landscapes
- Solid State Image Pick-Up Elements (AREA)
- Transforming Light Signals Into Electric Signals (AREA)
Abstract
【課題】露光条件の影響を回避しつつ、また、フレームレートと商用電源周波数とが同期に近くなるような場合でも、光源フリッカを抑制できるようにする。
【解決手段】画像を所定の走査方向に分割して複数のフリッカ検波枠を設定し、フリッカ検波枠ごとにMビットの輝度データを検波する。輝度データ検波部で検波されたMビットの輝度データのうち、下位ビット側の輝度データを参照してフリッカ成分の周波数を特定する。また、輝度データ検波部で検波されたMビットの輝度データのうち、下位ビット側の輝度データを参照してフリッカ成分の周波数を特定する。たとえば、フリッカ成分の振れ幅が大き過ぎるときにはより上位ビット側からのデータを参照し、フリッカ成分の振れ幅が小さ過ぎるときにはより下位ビット側からのデータを参照する。
【選択図】図7
【解決手段】画像を所定の走査方向に分割して複数のフリッカ検波枠を設定し、フリッカ検波枠ごとにMビットの輝度データを検波する。輝度データ検波部で検波されたMビットの輝度データのうち、下位ビット側の輝度データを参照してフリッカ成分の周波数を特定する。また、輝度データ検波部で検波されたMビットの輝度データのうち、下位ビット側の輝度データを参照してフリッカ成分の周波数を特定する。たとえば、フリッカ成分の振れ幅が大き過ぎるときにはより上位ビット側からのデータを参照し、フリッカ成分の振れ幅が小さ過ぎるときにはより下位ビット側からのデータを参照する。
【選択図】図7
Description
本発明は、固体撮像装置、撮像装置、およびプログラムに関する。より詳細には、各種の撮像装置で被写体の撮影を行なう場合に、その照明光に含まれる電源周波数に起因した周波数変動によって映像に生じるフリッカ(光源フリッカとも称する)を抑制する仕組みに関する。
被写体画像を撮像する撮像装置においては、たとえばCCD(Charge Coupled Device) 型やMOS型あるいはCMOS型などの固体撮像装置の画素部(撮像部や画素アレイ部とも称される)に入射する光量を制御する仕組み(以下入射光量制御という)が採られている。
この入射光量制御には、撮像レンズにメカニカルな絞り機構を設けたもの(以下メカアイリスともいう)、撮像レンズにメカニカルなシャッタ機構を設けたもの(以下メカシャッタともいう)、あるいは固体撮像装置の画素部における信号電荷の蓄積時間(露光時間)の制御が可能ないわゆる電子シャッタ機能を利用するものなどがある。これらは、単独で使用されてもよいが、メカアイリスはメカシャッタや電子シャッタと組み合わせて使用されることもある。
ところで、各種の撮像装置においては、定常的に明るさが変化しない光源下での撮像の場合は問題ないが、たとえば蛍光灯のように周期的な発光特性を有しかつ固体撮像装置の露光周期と同期していない光源下での撮像の場合、光源フリッカが発生する。なお、画面輝度のちらつきを輝度フリッカ、色再現のちらつきを色フリッカと、区別して称することもある。
ここで、「光源フリッカ」とは、光源の照度変化と、撮像装置の露光周期との関わりで映像信号が変化する現象のことである。たとえば、周波数fの商用電源を使用した光源における=1/nf(nは通常2)秒周期の照度変化と、撮像装置のフィールド周期fvのビート成分で映像信号の輝度信号成分が変化し、これにより出力画像が変化し、この周期が人間の目の残像特性にも関係して画像がちらついて感じられる現象を輝度フリッカと称している。
特に、フィールド周波数が60Hz(換言すればフレームレートが30fps))のNTSC方式での商用電源周波数f=50Hzの地域や、フィールド周波数が50Hz(換言すればフレームレートが25fps)のPAL方式での商用電源周波数f=60Hzの地域では極端に有害で、しかも白熱電球より蛍光灯の方が、発光特性上照度変化があり、顕著である。
たとえば、蛍光灯の発光周期は10msで、60Hzの露光動作の1周期は16.7msであると、これらの最小公倍数は50msとなり、3回の露光動作で両者の関係は元に戻る。したがって、露光期間の種類としては3種類となり、これらの間で固体撮像装置の出力信号レベルが異なることが、フリッカ周波数F=20Hzのフリッカ発生の原因となる。
また、電子シャッタ機能を使用する場合、高速シャッタモードにすればするほど1フィールド期間に固体撮像装置に電荷を蓄積する蓄積時間が短くなるため、フリッカの振幅が通常のシャッタ速度である1/60秒の場合よりも大きくなり、電子シャッタ速度が速くなればなるほどフリッカが顕著となり、画面上のチラツキ(特に画像輝度)として画質を著しく劣化させる。
また、蛍光灯に使用されている蛍光体には緑色と赤色と青色との3色があり、各色の発色しはじめるタイミングは同じであるが、光量が減少し、最後に消えるまでの時間には差がある。一般的には、前記3色のうち、特に緑色の発光時間が長く、ついで赤色、最も短いのが青色である。したがって、高速シャッタのシャッタタイミングによっては、前記発色光のうち1色あるいは2色のみの光成分しかとらえることができない場合が発生する。
つまり、1フィールドごとに蛍光灯の発色光成分すなわち色温度が異なることになり、カラー画像の撮像装置に不可欠なホワイトバランス処理を行なうにあたり、1フィールドごとにホワイトバランスが変化することになる。したがって、映像信号には前記輝度フリッカと同様な周期で色信号成分のフリッカ(色フリッカ)が発生することになる。
このため、このような光源フリッカを防止する一手法として、たとえば特許文献1には、照明光の変動を検出し、その検出信号によって映像信号を補正し、光源フリッカの除去を行なう方法が提案されている。
この特許文献1に記載の仕組みでは、画像を垂直走査方向に分割して複数(たとえば32本)のフリッカ検波枠を設定し、フリッカ検波回路によってフリッカ検波枠ごとに輝度データの検波を行なう。そして、マイクロコンピュータおよびフリッカ周波数判別プログラムによってフリッカ検波枠ごとに前後の2つのフレームの輝度データの差分をとり、フリッカ成分を抽出してフリッカの周波数を算出する。この後、抽出したフリッカ成分の山または谷が、どの程度のフリッカ検波枠の間隔で発生しているかを測定し、それを周波数に置き換えるようにしている。
しかしながら、特許文献1に記載の仕組みでは、画像を垂直走査方向に分割した複数のフリッカ検波枠ごとに輝度データを検波して、フリッカ検波枠ごとに前後の2つのフレームの輝度データの差分をとることによってフリッカ成分を抽出し、そのフリッカ成分の山または谷がどの程度のフリッカ検波枠の間隔で発生しているかを測定することでフリッカ周波数を判別するようにしているので、フリッカ抑制性能は、フリッカ検波枠ごとの輝度データの検波性能に影響を受けるし、2フレーム間の輝度データの差分すなわちフリッカ成分の検出性能に影響を受ける。ここで、輝度データの検波性能やフリッカ成分の検出性能は、露光条件を反映した輝度データそのものの大きさの影響を受ける。
加えて、フレームレートと電源周波数(フリッカ周波数)とが同期すると、フリッカが発生する位置が画面上で固定されてしまうことになり、差分をとったときにフリッカ成分も消えてしまうことになる。よって、フレームレートと電源周波数とが同期に近い状態になると、フリッカ成分が検出され難くなり、データ処理手法によっては、光源フリッカの抑制性能に影響を与えてしまう不都合もある。
本発明は、露光条件の影響を回避しつつ、光源フリッカを抑制できる仕組みを提供することを目的とする。
さらに好ましくは、フレームレートと商用電源周波数とが同期に近くなるような場合でも、光源フリッカを抑制できる仕組みを提供することを目的とする。
本発明に係る固体撮像装置や撮像装置は、先ず、画素アレイ部で取得される画素信号によって表わされる画像を所定の走査方向に分割して複数のフリッカ検波枠を設定し、前記フリッカ検波枠ごとにMビットの輝度データを検波する輝度データ検波部を備える。
また、第1の仕組みにおいては、輝度データ検波部で検波されたMビットの輝度データのうち、下位ビット側の輝度データを参照してフリッカ成分の周波数を特定するフリッカ周波数特定部を備えるものとする。
また、第2の仕組みにおいては、輝度データ検波部で検波されたMビットの輝度データのうち、上位ビット側の輝度データを参照してフリッカ成分の周波数を特定するフリッカ周波数特定部を備えるものとする。
なお、第1の仕組みと第2の仕組みの双方を兼ね備えた構成とすることで、Mビットの輝度データのうち、下位ビット側および上位ビット側の双方の輝度データを参照してフリッカ成分の周波数を特定するようにすれば、より好ましい。
下位ビット側や上位ビット側の輝度データも参照できるようにすることで、露光条件との関係で、輝度データが過大になる、あるいはフリッカ成分のデータ幅が過大になるもしくは過小になるような場合でも、参照するビット位置を切り替えることで、フリッカ成分の有無やフリッカ周波数の判定にとって適切なデータを参照できるようにするのである。
ここで、Mビットの輝度データのうちの下位ビット側や上位ビット側の輝度データを参照できるようにするには、輝度データ検波部を、フリッカ周波数特定部による制御の元で、Mビットの輝度データの中から任意の取出し開始位置から所定ビット幅でデータを取り出してフリッカ周波数特定部に供給する仕組みとしてもよいし、下位ビット側や上位ビット側の輝度データをそれぞれ独立に取り出してフリッカ周波数特定部に供給する仕組みとしてもよい。
なお、固体撮像装置はワンチップとして形成された形態であってもよいし、撮像部と、信号処理部または光学系とが纏めてパッケージングされた、撮像機能を有するモジュール状の形態であってもよい。
また、本発明は、固体撮像装置のみではなく、撮像装置にも適用可能である。この場合、撮像装置として、固体撮像装置と同様の効果が得られる。ここで、撮像装置は、たとえば、カメラや撮像機能を有する携帯機器のことを示す。また「撮像」は、通常のカメラ撮影時の像の撮りこみだけではなく、広義の意味として、指紋検出なども含むものである。
また、本発明に係る仕組みは、電子計算機(コンピュータ)を用いてソフトウェアで実現することもでき、このためのプログラムやこのプログラムを格納した記録媒体を発明として抽出することも可能である。プログラムは、コンピュータ読取り可能な記憶媒体に格納されて提供されてもよいし、有線あるいは無線による通信手段を介した配信により提供されてもよい。
本発明によれば、下位ビット側や上位ビット側の輝度データを参照できるようにしたので、露光条件の影響を回避しつつ、光源フリッカを抑制できるようになる。また、フレームレートと商用電源周波数とが同期に近くなるような場合でも、光源フリッカを抑制できる。
以下、図面を参照して本発明の実施形態について詳細に説明する。
<固体撮像装置の全体概要>
図1は、本発明に係る固体撮像装置の一実施形態であるCMOS固体撮像装置(CMOSイメージセンサ)の概略構成図である。本実施形態の固体撮像装置1は、入射光量に応じた信号を出力する受光素子(電荷生成部の一例)を含む複数個の画素が行および列に配列された(すなわち2次元マトリクス状の)画素アレイ部を有し、各画素からの信号出力が電圧信号であって、CDS(Correlated Double Sampling ;相関2重サンプリング)処理機能部やデジタル変換部(ADC;Analog Digital Converter)などが画素アレイ部と一体的に設けられており、その後段に、本実施形態特有のフリッカ検出機能を備えたカメラ信号処理部が設けられているものである。以下、具体的に説明する。
図1は、本発明に係る固体撮像装置の一実施形態であるCMOS固体撮像装置(CMOSイメージセンサ)の概略構成図である。本実施形態の固体撮像装置1は、入射光量に応じた信号を出力する受光素子(電荷生成部の一例)を含む複数個の画素が行および列に配列された(すなわち2次元マトリクス状の)画素アレイ部を有し、各画素からの信号出力が電圧信号であって、CDS(Correlated Double Sampling ;相関2重サンプリング)処理機能部やデジタル変換部(ADC;Analog Digital Converter)などが画素アレイ部と一体的に設けられており、その後段に、本実施形態特有のフリッカ検出機能を備えたカメラ信号処理部が設けられているものである。以下、具体的に説明する。
固体撮像装置1は、複数の単位画素(図示を割愛する)が行および列に配列された画素アレイ部10と、駆動制御部7と、画素アレイ部10から出力された画素信号に対してCDS処理やAD変換処理などを施す画素信号処理部26とを備えている。駆動制御部7や画素信号処理部26は、画素アレイ部10の外側に設けられている。
駆動制御部7は、画素アレイ部10の信号を順次読み出すための制御回路機能を備えている。たとえば、駆動制御部7としては、図示を割愛するが、列アドレスや列走査を制御する水平走査回路(列走査回路)と、行アドレスや行走査を制御する垂直走査回路(行走査回路)と、水平走査回路や垂直走査回路などを制御するための内部クロック(駆動パルス)を生成するなどの機能を持つ通信・タイミング制御部とを備えている。
通信・タイミング制御部は、図示しないが、各部の動作に必要なクロックや所定タイミングのパルス信号を供給するタイミングジェネレータTG(読出アドレス制御装置の一例)の機能ブロックと、外部から供給されるマスタークロックを受け取り、また外部から供給される動作モードなどを指令するデータを受け取り、さらに固体撮像装置1の情報を含むデータを出力する通信インタフェースの機能ブロックとを備える。
これらの各機能部は、半導体集積回路製造技術と同様の技術を用いて単結晶シリコンなどの半導体領域に一体的に形成されたいわゆる1チップもの(同一の半導体基板上に設けられているもの)として、半導体システムの一例であるCMOSイメージセンサとして、本実施形態の固体撮像装置1の一部をなすように構成される。
なお、固体撮像装置1は、このように各部が半導体領域に一体的に形成された1チップとして形成された形態であってもよいし、図示を割愛するが、画素アレイ部10(撮像部)、駆動制御部7、画素信号処理部26などの各種の信号処理部の他に、撮影レンズ、光学ローパスフィルタ、あるいは赤外光カットフィルタなどの光学系をも含む状態で、これらを纏めてパッケージングされた撮像機能を有するモジュール状の形態としてもよい。
また、固体撮像装置1は、画素信号処理部26の後段に、撮像信号処理部220とフリッカ周波数特定部の機能をなすカメラ制御部900とを具備したカメラ信号処理部200を備えている。
なお、このカメラ信号処理部200をも、画素アレイ部10、駆動制御部7、画素信号処理部26などの各種の信号処理部と纏めて、半導体領域に一体的に形成されたいわゆる1チップものとして、半導体システムの一例であるCMOSイメージセンサとして、本実施形態の固体撮像装置1の全体をなすように構成してもよい。
撮像信号処理部220は、色フィルタとして原色フィルタ以外のものが使用されているときに画素信号処理部26のAD変換機能部から供給されるデジタル撮像信号をR(赤),G(緑),B(青)の原色信号に分離する原色分離機能を具備した信号分離部222と、信号分離部222によって分離された原色信号R,G,Bに基づいて色信号Cに関しての信号処理を行なう色信号処理部230とを有する。
また撮像信号処理部220は、信号分離部222によって分離された原色信号R,G,Bに基づいて輝度信号Yに関しての信号処理を行なう輝度信号処理部240と、輝度信号Y/色信号Cに基づいて映像信号VDを生成するエンコーダ部260とを有する。
色信号処理部230は、図示を割愛するが、たとえば、ホワイトバランスアンプ、ガンマ補正部、色差マトリクス部などを有する。ホワイトバランスアンプは、図示しないホワイトバランスコントローラから供給されるゲイン信号に基づき、信号分離部222の原色分離機能部から供給される原色信号のゲインを調整(ホワイトバランス調整)し、ガンマ補正部および輝度信号処理部240に供給する。
ガンマ補正部は、ホワイトバランスが調整された原色信号に基づいて、忠実な色再現のためのガンマ(γ)補正を行ない、ガンマ補正された各色用の出力信号R,G,Bを色差マトリクス部に入力する。色差マトリクス部は、色差マトリクス処理を行なって得た色差信号R−Y,B−Yをエンコーダ部260に入力する。
輝度信号処理部240は、輝度信号に基づいてフリッカ検波を行なう輝度データ検波部の一例であるフリッカ検波部270を備える。また、輝度信号処理部240は、図示を割愛するが、たとえば、信号分離部222の原色分離機能部から供給される原色信号に基づいて比較的周波数が高い成分までをも含む輝度信号YHを生成する高周波輝度信号生成部と、ホワイトバランスアンプから供給されるホワイトバランスが調整された原色信号に基づいて比較的周波数が低い成分のみを含む輝度信号YLを生成する低周波輝度信号生成部と、2種類の輝度信号YH,YLに基づいて輝度信号Yを生成しエンコーダ部260に供給する輝度信号生成部とを有する。
エンコーダ部260は、色信号副搬送波に対応するデジタル信号で色差信号R−Y,B−Yをデジタル変調した後、輝度信号処理部240にて生成された輝度信号Yと合成して、デジタル映像信号VD(=Y+S+C;Sは同期信号、Cはクロマ信号)に変換する。
エンコーダ部260から出力されたデジタル映像信号VDは、さらに後段の図示を割愛したカメラ信号出力部に供給され、モニター出力や記録メディアへのデータ記録などに供される。この際、必要に応じて、DA変換によってデジタル映像信号VDがアナログ映像信号Vに変換される。
本実施形態のカメラ制御部900は、コンピュータが行なう演算と制御の機能を超小型の集積回路に集約させたCPU(Central Processing Unit )を代表例とする電子計算機の中枢をなすマイクロプロセッサ(microprocessor)902と、読出専用の記憶部であるROM(Read Only Memory)904、随時書込みおよび読出しが可能であるとともに揮発性の記憶部の一例であるRAM(Random Access Memory)906と、図示を割愛したその他の周辺部材を有している。マイクロプロセッサ902、ROM904、およびRAM906を纏めて、マイクロコンピュータ(microcomputer )とも称する。
なお、上記において“揮発性の記憶部”とは、装置の電源がオフされた場合には、記憶内容を消滅してしまう形態の記憶部を意味する。一方、“不揮発性の記憶部”とは、装置のメイン電源がオフされた場合でも、記憶内容を保持し続ける形態の記憶部を意味する。記憶内容を保持し続けることができるものであればよく、半導体製のメモリ素子自体が不揮発性を有するものに限らず、バックアップ電源を備えることで、揮発性のメモリ素子を“不揮発性”を呈するように構成するものであってもよい。
また、半導体製のメモリ素子により構成することに限らず、磁気ディスクや光ディスクなどの媒体を利用して構成してもよい。たとえば、ハードディスク装置を不揮発性の記憶部として利用できる。また、CD−ROMなどの記録媒体から情報を読み出す構成を採ることでも不揮発性の記憶部として利用できる。
カメラ制御部900は、システム全体を制御するものであり、特に本例では、フリッカ検波部270によって得られたフリッカ成分についての検波データからフリッカ成分の周波数を判別・確定する処理機能(詳細は後述する)を有している。ROM904にはカメラ制御部900の制御プログラムなどが格納されているが、特に本例では、カメラ制御部900によってフリッカ周波数を判別するためのフリッカ周波数特定部の機能をなすフリッカ周波数判別プログラムが格納されている。
RAM906にはカメラ制御部900が各種処理を行なうためのデータなどが格納されているが、特に本例では、1フレーム前のフリッカ検波部270の検波データを退避するための領域を提供するものである。
<フリッカ検波部の構成例;第1実施形態>
図2および図3は、第1実施形態のフリッカ検波部270を説明する図である。なお、この第1実施形態のフリッカ検波部270は、後述するフリッカ検出性能向上化処理の第1実施形態に適合するものである。ここで、図2は、第1実施形態のフリッカ検波部270の構成例を示すブロック図である。また、図3は、第1実施形態のフリッカ検波部270がカメラ制御部900に提示するフリッカ検波枠単位の輝度量の測定結果を説明する図である。
図2および図3は、第1実施形態のフリッカ検波部270を説明する図である。なお、この第1実施形態のフリッカ検波部270は、後述するフリッカ検出性能向上化処理の第1実施形態に適合するものである。ここで、図2は、第1実施形態のフリッカ検波部270の構成例を示すブロック図である。また、図3は、第1実施形態のフリッカ検波部270がカメラ制御部900に提示するフリッカ検波枠単位の輝度量の測定結果を説明する図である。
第1実施形態のフリッカ検波部270は、画像を垂直走査方向に分割して複数のフリッカ検波枠を設定するフリッカ検波枠設定部272と、フリッカ検波枠設定部272によって設定されたフリッカ検波枠ごとに各画素から得られる輝度信号量を積分してフリッカ検波枠単位の輝度量の測定結果を取得する輝度信号積分処理部274とを有する。フリッカ検波枠の幅や間隔の指定は、カメラ制御部900に組み込まれる制御プログラムによってで実行されるともに、各設定値は任意である。
また、フリッカ検波部270は、輝度信号積分処理部274によって得られたM(たとえば24)ビットの輝度量測定結果データOPD0の中から、上位側の所定のビット位置から下位側にN(M>N:たとえば12)ビット幅で(逆に言えば下位側の所定のビット位置から上位側にNビット幅で)取り出してフリッカ検出積分値OPD1としてカメラ制御部900に提示する検出積分値取得部276を有する。
ここで、第1実施形態の検出積分値取得部276は、カメラ制御部900のフリッカ周波数判別プログラムによる指示の元で、任意の取得開始ビット位置を指定できるハードウェア構成のレジスタである。取得開始ビット位置の指定は、カメラ制御部900に組み込まれる制御プログラムによって自動で実行される。
また、フリッカ検波部270は、検出積分値取得部276によるフリッカ検出積分値OPD1の取出し時に、取出し開始の最上位ビットのデータ値と、この取出し開始の最上位ビットに対して1ビット上位側のビットデータが値を持つ、つまり“1”であるか否かとを判断して、取出し開始の最上位ビットのデータ値を修正するデータ修正部280を有する。
データ修正部280は、Nビット幅のフリッカ検出積分値OPD1を、1ビット分上位ビット側にシフトさせたときに、必ず、それ以前のデータ値に対して値が小さくなるように修正処理を実行する。逆に言えば、Nビット幅のフリッカ検出積分値OPD1を、1ビット分下位ビット側にシフトさせたときに、必ず、それ以前のデータ値に対して値が大きくなるように修正処理を実行する。
これは、所定位置で取り出したNビット幅のフリッカ検出積分値OPD1やこのフリッカ検出積分値OPD1に基づいて取得されるフリッカ成分の振れ幅(詳細には最小ピークと最大ボトムとの差)が大き過ぎるときに、Mビットの輝度量測定結果データOPD0のより上位側から取り出すことでフリッカ検出積分値OPD1やフリッカ成分の振れ幅を小さくし、逆に、Nビット幅のフリッカ検出積分値OPD1やフリッカ成分の振れ幅が小さ過ぎるときに、Mビットの輝度量測定結果データOPD0のより下位側から取り出すことでフリッカ検出積分値OPD1やフリッカ成分の振れ幅を大きくすることを意味している。
たとえば、アナログの画素信号をデジタルデータに変換しているとき、フリッカ検波枠設定部272によって設定されるフリッカ検波枠内の画素数と各画素のデジタル値次第で、輝度信号積分処理部274によって取得される輝度量測定結果データOPD0のビット幅が左右される。多くの画素数に対応するには、画素信号のビット幅よりも相当程度広く取っておく必要があり、たとえば256個の8ビット(オクタルデータ)画素データの積分処理時に、全ての画素データがOxFF(Oxはオクタルデータを示す)でも飽和しないようにするには、24ビット幅を取っておく必要がある。
一方、カメラ制御部900に組み込まれる制御プログラムによってフリッカ成分を抽出し、また抽出したフリッカ成分に基づいてフリッカ周波数を特定する際に、24ビット幅のままでデータを取り扱うと、ソフトウェア処理規模や処理過程でデータを一時待避させるメモリ容量(つまりハードウェア規模)が大きくなってしまう。フリッカ検出用に大きなハードウェア構成のレジスタを用意すると、回路規模が大きくなり消費電力も嵩んでしまうしソフトウェア規模も大きくなってしまうのである。
そこで、本実施形態では、輝度信号積分処理部274によって得られたM(たとえば24)ビットの輝度量測定結果データOPD0をそのままフリッカ検出積分値OPD1としてカメラ制御部900に提示するのではなく、必要かつ十分なビットデータ部分(Nビット幅)を取り出してフリッカ検出積分値OPD1としてカメラ制御部900に提示する。
ただし、輝度信号積分処理部274によって得られたM(たとえば24)ビットの輝度量測定結果データOPD0の中から、単純に、所定位置でかつN(たとえば12)ビット幅で取り出したのでは、取出し部分における、取出し開始の最上位ビットのデータ値と、それよりも1ビット上位側のビットデータとの関係によっては、破綻を来たすことがある。
ここで、破綻を来たすのは、取出し開始の最上位ビットデータが“0”である場合に、それよりも1ビット上位側のビットデータが“1”であるときである。たとえば、図3に示すように、輝度信号積分処理部274によって得られた24ビットの輝度量測定結果データOPD0が“Ox2FFFF”の場合を考える。この場合に、取出し時の最下位側の開始ビット位置@をSW@で示すものとしたとき、各SW@で取り出される12ビット幅のフリッカ検出積分値OPD1をそれぞれFDBSW@とする。
このとき、図3に示すように、SW5のときには、フリッカ検出積分値OPD1FDBSW5は、本来は、“0_1111_1111_111 ”で“Ox7FF”であるが、SW6のときには、フリッカ検出積分値OPD1FDBSW6は、“10_1111_1111_11 ”で“OxBFF”となり、FDBSW6>FDBSW5であるから、検出積分値取得部276による機能が破綻してしまう。
そこで、データ修正部280は、取出し開始の最上位ビットデータが“0”である場合に、それよりも1ビット上位側の輝度量測定結果データOPD0のビットデータが“1”であるときには、フリッカ検出積分値OPD1の最上位ビットデータが“1”となるように修正する。つまり、取出し開始の最上位ビットよりも1ビット上位側の輝度量測定結果データOPD0のビットデータが“1”であるときには、取出し部分の最上位ビットデータを強制的に“1”にする。検出積分値取得部276は、このデータ修正部280で修正された後のMビットの輝度量測定結果データOPD0を処理対象として、Nビット幅でフリッカ検出積分値OPD1を取り出して、カメラ制御部900に組み込まれる制御プログラムに提示する。
<フリッカ検出処理の概要>
図4〜図6は、フリッカ検出処理を説明する図である。なお、ここでの「フリッカ検出処理」とは、フリッカ成分の抽出処理やフリッカ周波数の特定処理も含む意味である。
図4〜図6は、フリッカ検出処理を説明する図である。なお、ここでの「フリッカ検出処理」とは、フリッカ成分の抽出処理やフリッカ周波数の特定処理も含む意味である。
ここで、図4は、フリッカ検出処理の処理手順の一例を示すフローチャートである。図5は、固体撮像装置1として、CMOSイメージセンサを用いた場合のフリッカ発生と、フリッカ検出処理におけるフリッカ検波部270が実行する輝度量の測定処理に用いられるフリッカ検出枠との関係を説明する図である。図6は、フリッカ検出の原理を説明する図である。
図4に示すように、本実施形態のフリッカ検出処理は、フリッカ検出積分値OPD1の取出し位置の初期設定(S1)、輝度量の測定(S2)、フリッカ成分の抽出(S3)、フリッカ周波数の判別(S4)、およびフリッカ周波数の確定(S5)の各処理ステップを有する。
なお、本実施形態においては、ステップS2はフリッカ検波部270によるハードウェアで実現され、ステップS1、およびステップS2後のステップS3〜S5はソフトウェア(カメラ制御部900とフリッカ周波数判別プログラム)により実現される。ただし、ステップS2の部分も必ずしもハードウェアと限定するものではなく、輝度信号の積分値をライン単位にカメラ制御部900内に読み込み、ソフトウェアで検波枠データを生成することにより、同じ原理を利用することも可能である。
ここで、図5においては、画面に現れるフリッカと輝度の変化が示されている。周知のように、一般的なCMOSイメージセンサは、ローリングシャッタ方式であるので、フリッカは画面に対し横縞状に現れる。すなわち、図示のように、フリッカ成分は、そのまま輝度の変化に表れ、輝度変化の周波数はフリッカ周波数(蛍光灯の電源周波数)にそのまま対応している。図5や図6に示す黒っぽい横縞が現れる部分は輝度量が少なく(谷の部分)、白っぽく横縞が現れる部分は輝度量が多く(山の部分)現れる。
フリッカ検出処理においては、先ずこの輝度信号の横縞模様を検出するようにする。このため、カメラ制御部900のフリッカ周波数判別プログラムは、先ず検出積分値取得部276に対して、24ビットの輝度量測定結果データOPD0の中から、適当な初期取出し開始ビットを指定する(S1)。初期取出し開始ビットは、たとえば、使用する地域に応じて決める。ここでは、一例として、24ビットの輝度量測定結果データOPD0における、丁度真ん中当りの、6ビット目〜17ビット目までをフリッカ検出積分値OPD1として抽出するように指定するものとする。
この後、フリッカ検波部270は、フリッカ検波枠設定部272でフリッカ周波数判別プログラムによる指定に従って画像を垂直走査方向に分割して複数のフリッカ検波枠を設定し、フリッカ検波枠設定部272で設定されたフリッカ検波枠ごとに輝度データ(輝度量測定結果データOPD0やフリッカ検出積分値OPD1)の検波を行なうようにする。すなわち、フリッカ検波部270は、水平ラインごとの変化する輝度量をフリッカ検波枠ごとに測定する(S2)。
なお、図5では、フリッカ検波枠の総数を32個に設定しているが、これは一例に過ぎず、限定するものではない。フリッカ検波部270は、機能的には、αの値で指定された各フリッカ検波枠の範囲で、各画素から得られる輝度信号量を積分して枠単位の輝度量の測定結果(フリッカ検出積分値OPD1)を取得し、この枠単位のフリッカ検出積分値OPD1をカメラ制御部900に提示する。
そして、カメラ制御部900およびフリッカ周波数判別プログラムによって、フリッカ検波枠ごとに前後の2つのフレームのフリッカ検出積分値OPD1の差分をとることで背景の映像信号成分を除去したフリッカ成分のみを抽出する(S3)。
なお、この際には、フリッカ検波部270から取得したフリッカ検出積分値OPD1にローパスフィルタを通して低域データを取得し(S3A)、このローパスフィルタを通した低域データの差分をとることでフリッカ成分を表わす差分低域データを算出することで(S3B)、背景ノイズ成分など本来のフリッカ以外の成分を抑制するとよい。本実施形態では、このステップS3A,S3Bを適用するものとする。
この後、抽出されたフリッカ成分を解析することでフリッカの周波数を算出する(S4)。さらに、抽出したフリッカ成分の山または谷が、どの程度のフリッカ検波枠の間隔で発生しているかを測定し、それを周波数に置き換えることでフリッカ周波数を確定させる(S5)。
たとえば、フリッカ成分の抽出処理(S3)においては、フリッカ検波部270から得られたフリッカ検波枠それぞれの輝度データと1フレーム前に得られたフリッカ検波枠それぞれの輝度データとの差分を取ることにより、フリッカ成分のみを抽出する。
フリッカ周波数の判別処理(S4)においては、ステップS3で抽出されたフリッカ成分に基づいて、フリッカの周波数(50Hz/60Hz/判別不明)の3値を割り出す。具体的には、先ず、判別プログラムでフリッカ周波数を判別する前に、プログラムから見てフリッカがどのように見えるのか、判別プログラム自身に理解させておく。なお、以下に述べる内容は、判別プログラムの前処理としてプログラム自身により自動的に計算して変数として扱うようにしてもよいし、使用する条件(ハードウェアの検波枠の数/フレームレート/水平ライン数など)を予め限定できるのであれば、プログラム作成時に計算しておいて定数として扱ようにしてもよい。
次に、枠の間隔および幅を規定する“α”を設定する。基本的に画面全体の枠の数で等分割するので、設定値の計算式は以下のようになる。すなわち、「枠の間隔/幅=有効水平ライン数÷枠の個数」となる。たとえば、枠の数を32個とし、画面全体の有効水平ライン数を288ラインとした場合、枠の間隔/幅=288÷32=9〔ライン〕、すなわち、枠の間隔/幅は9となる。なお、単位はラインである。
続いて、画面上に何個のフリッカ成分の山(谷)が発生するかを計算する。ここで、山(谷)が発生する個数の計算式は「フレームレート÷フリッカ周期÷(無効ライン数+有効ライン数)×有効ライン数」となる。なお、無効水平ラインとは画面に表れない水平ライン数を意味している。
たとえば、フレームレートが15FPSの場合(1秒間に15枚の絵の動画)で有効ライン数が288ラインで無効ライン数が42ラインとすると、50Hzのフリッカの場合、1/15÷1/100÷(288+42)×288=5.8個となる。また、たとえば、前記の条件で60Hzのフリッカの場合、1/15÷1/120÷(288+42)×288=6.9個となる。
さらに、フリッカの山(谷)が発生する枠間隔を計算する。ここで、山(谷)が発生する枠間隔は、「枠の数÷画面上に現れる山(谷)の個数」となる。前述の例をそのまま使用すると、50Hzの場合は、32÷5.8で5.5となり、山(谷)は検波枠で見て5個または6個おきに発生することになる。また、60Hzの場合は、32÷7で4.5となり、山(谷)は検波枠で見て4個または5個おきに発生することになる。
次に、このようにして求めた値を元にして、フリッカの周波数が50Hzおよび60Hzの何れであるのか、それとも判別不明であるのかを特定する。この判別論理は、以下の通りである。なお、以下の各判定で(例)を付した説明は、前述の各例を利用して説明している。
先ず、山(谷)の数からフリッカがあるか/ないか判定する(判別aと称する)。たとえば、フリッカが存在する場合は、山(谷)の数が5〜7個現れるはずなので多少マージンを持たせて山(谷)の数が4〜8個現れたときに、フリッカがある(ありそうだ)と認識し、判別bの処理に進む。それ以外は判別不明とする。
次に、山(谷)が発生する枠の間隔から50Hz/60Hzのどちらでもない成分が混じっていないか判別する(判別bと称する)。たとえば、フリッカが存在する場合は、山(谷)が発生する枠の間隔が4個〜6個おきになるはずなので、多少マージンを取って山(谷)が発生する枠の間隔が4個〜6個おき以外に発生しているものが3個未満の場合、フリッカがある(ありそうだ)と認識し、判別cの処理に進む。それ以外は判別不明とする。
次に、山(谷)が発生する枠の間隔から50Hz/60Hzの両方の成分が混じっていないか判別する(判別cと称する)。たとえば、山(谷)が発生する枠の間隔が4個と6個の両方あった場合は50Hz/60Hzの両方の成分が混じっているので、周波数不明とする。それ以外は、フリッカがある(ありそうだ)と認識し、判別dの処理に進む。
次に、山(谷)が発生する枠の間隔から周波数を判別する(判別dと称する)。たとえば、50Hzの場合は、山(谷)が発生する枠の間隔から5個または6個(計算上は5.5個)の周期でその数が5個(計算上は5.8個)現れるはずなので、多少マージンを取って、山(谷)が発生する枠の間隔が5個または6個で発生している数が3個以上であれば50Hzとする。また、60Hzの場合は、山(谷)が発生する枠の間隔が4個または5個(計算上では4.5個)の周期でその数が6個(計算上は6.9個)現れるはずなので、多少マージンを取って、山(谷)が発生する枠の間隔が4個または5個で発生している数が3個以上であれば60Hzとする。また、50Hz/60Hzどちらの判別も該当しなかった場合は、判別不明とする。
また、フリッカ周波数の確定処理(S5)においては、フリッカ周波数の判別処理(S4)による判別結果をより確実なものとするために、判別された3値(50Hz/60Hz/判別不明)について、チャタリング除去の操作を取ることにより3値を確定させる。たとえば、判別結果が3回連続して同じ結果であったときに判別結果を確定させる。連続一致回数を不揮発性メモリなどに記憶させておけば、出荷段階での判別性能の調整も可能になる。
ところで、前述のようにして、画像を垂直走査方向に分割した複数のフリッカ検波枠ごとに輝度データを検波して、フリッカ検波枠ごとに前後の2つのフレームの輝度データの差分をとることによってフリッカ成分を抽出し、そのフリッカ成分の山または谷がどの程度のフリッカ検波枠の間隔で発生しているかを測定することでフリッカ周波数を判別すると、フリッカ抑制性能は、フリッカ検波枠ごとの輝度データの検波性能に影響を受けるし、2フレーム間の輝度データの差分すなわちフリッカ成分の検出性能に影響を受ける。しかも、輝度データの検波性能やフリッカ成分の検出性能は、露光条件を反映した輝度データそのものの大きさの影響を受ける。
加えて、輝度信号積分処理部274によって得られたMビットの輝度量測定結果データOPD0の中から、検出積分値取得部276にて上位側(もしくは下位側)の所定のビット位置から下位側(もしくは上位側)にN(M>N)ビット幅でフリッカ検出積分値OPD1を取り出すようにしているので、取出し位置によっては、その影響を大きく受けてしまう。たとえば、輝度量測定結果データOPD0の最小ピークや最大ボトムが検出積分値取得部276によって取り出されるNビット幅をはみ出るようになると適正な処理ができなくなる。以下、この現象の対処手法について説明する。
<フリッカ検出性能向上化処理:第1実施形態>
図7〜図11は、フリッカ検出性能向上化処理の第1実施形態を説明する図である。ここで、図7は、フリッカ検出性能向上化処理の第1実施形態の処理手順を示したフローチャートである。図8は、Mビットの輝度量測定結果データOPD0から取り出されたNビットのフリッカ検出積分値OPD1もしくはそのフリッカ検出積分値OPD1にローパスフィルタ処理を施した差分低域データに基づいて取得されるフリッカ成分の振れ幅(詳細には最小ピークと最大ボトムとの差)を説明する図である。図9は、フリッカ検出積分値OPD1もしくはその差分低域データが異常である場合の一例を示した図である。図10は、フリッカ成分の振れ幅が大き過ぎる場合の対処方法を説明する図である。図11は、フリッカ成分の振れ幅が小さ過ぎる場合の対処方法を説明する図である。
図7〜図11は、フリッカ検出性能向上化処理の第1実施形態を説明する図である。ここで、図7は、フリッカ検出性能向上化処理の第1実施形態の処理手順を示したフローチャートである。図8は、Mビットの輝度量測定結果データOPD0から取り出されたNビットのフリッカ検出積分値OPD1もしくはそのフリッカ検出積分値OPD1にローパスフィルタ処理を施した差分低域データに基づいて取得されるフリッカ成分の振れ幅(詳細には最小ピークと最大ボトムとの差)を説明する図である。図9は、フリッカ検出積分値OPD1もしくはその差分低域データが異常である場合の一例を示した図である。図10は、フリッカ成分の振れ幅が大き過ぎる場合の対処方法を説明する図である。図11は、フリッカ成分の振れ幅が小さ過ぎる場合の対処方法を説明する図である。
先ず、前述のステップS2〜S5にて、フリッカ成分の抽出やフリッカ周波数の判別・確定処理を実施したときに、フリッカを検出してフリッカ周波数をキチンと確定できていれば別処理へ移行する(S102−YES)。フリッカ検出性能向上化処理は、フリッカ検出性能を向上させる処理であるから、フリッカが検出されている状態では後述する処理を実行する必要がないからである。
一方、フリッカ成分を検出できない、あるいはフリッカ周波数を確定できていなければ(S102−NO)、先ず、カメラ制御部900のフリッカ周波数判別プログラムは、Mビットの輝度量測定結果データOPD0の所定ビット位置から検出積分値取得部276によって取り出されたNビットのフリッカ検出積分値OPD1の最大値を取得する(S104)。
フリッカ検出積分値OPD1の最大値が所定の閾値よりも大きいときには(S106−YES)、フリッカ周波数判別プログラムは、Mビットの輝度量測定結果データOPD0のより上位側からNビット幅でフリッカ検出積分値OPD1を取り出すように検出積分値取得部276を制御する(S118)。そして、別処理へ移行する。たとえばステップS2へ戻る。このことは、露光条件が明るくて、大きな輝度データが得られる状況にある場合、フリッカ検出積分値OPD1が飽和しないように、Mビットの輝度量測定結果データOPD0のより上位側を使用することを意味している。
つまり、全フリッカ検波枠についてのフリッカ検出積分値OPD1の最大値がある閾値よりも大きい場合は、全体として差分低域データの値が大きい状態にあると判断し、差分低域データ全体を小さくするために、取得開始ビット位置(SW@)を上位ビット側にずらし、相対的に差分低域データを小さくするのである。
これによって、露光条件が明るい場合においてNビットのフリッカ検出積分値OPD1が飽和してしまうような場合に、上位側にずらしてフリッカ検出積分値OPD1を取得し直すことで、過飽和によって光源フリッカの抑制性能が低下する事態を防止する。
一方、フリッカ検出積分値OPD1の最大値が所定の閾値以下であるときには(S106−NO)、フリッカ周波数判別プログラムは、フリッカ成分の振れ幅、好ましくはフリッカ検出積分値OPD1にローパスフィルタ処理を施した低域データから求められる差分低域データの振れ幅を求める(S112)。
ここで、「振れ幅」は、ステップS3にて求められるフリッカ成分や低域フリッカ成分における各ピーク値の中の値が最も小さなもの(最小ピークと称する)と、フリッカ成分や低域フリッカ成分における各ボトム値の中の値が最も大きなもの(最大ボトムと称する)との差を意味する。図8に示すように、差分低域データで示された低域フリッカ成分に着目したときには、「振れ幅」を「差分低域データ幅」と称し、差分低域データ幅=最小ピーク値−最大ボトム値となる。
次に、フリッカ周波数判別プログラムは、求めた差分低域データ幅の絶対値が所定の閾値よりも大きいか否か、また、所定の閾値よりも大きい場合には、その極性を判定する(S114)。そして、差分低域データ幅の絶対値が所定の閾値以下のときには、フリッカ周波数判別プログラムは別処理へ移行する(S114−過小)。正負判定誤差を生じないだけの十分な大きさのフリッカ成分が検知できていないからである。
なお、この場合、フレームレート(1秒間のコマ(1枚の絵)の数)とフリッカ周波数(蛍光灯の電源周波数)とが完全に同期している場合や、完全同期ではないまでも、同期に近い状態にあることも考えられる。そこで、特許文献1に記載の仕組みと同じように、前後のフレームの差分をとった場合にフリッカ成分が消えないように、撮像信号のフレームレートとフリッカ周波数とを同期させないように調整して、ステップS2〜S5の処理を再度実施するようにしてもよい(S117)。
一方、差分低域データ幅の絶対値が所定の閾値よりも大きく、かつ、差分低域データ幅の極性が「負」であるときには(S114−負)、図9に示すように、最大ボトム>最小ピークとなっていて、差分低域データの波形が崩れているので、フリッカ周波数判別プログラムは別処理へ移行する。
これに対して、差分低域データ幅の絶対値が所定の閾値よりも大きく、かつ、差分低域データ幅の極性が「正」である場合において(S114−正)、図9に示すように、差分低域データ幅が振れ幅上限値より大きい場合は(S116−上限値より大)、フリッカ周波数判別プログラムは、取得開始ビット位置(SW@)を上位ビット側にずらし、差分低域データ幅の振れ幅が小さくなるようにする(S118)。つまり、差分低域データ幅が振れ幅上限値より大きいときには、振れ幅を小さくするために、取得開始ビット位置(SW@)を上位ビット側にたとえば1つ分ずらし、相対的に差分(フリッカ成分に対応する)を小さくするのである。上位側にずらしてステップS2〜S5の処理を実施したときに、依然として振れ幅が大きければ、さらに同様に、取得開始ビット位置(SW@)を上位ビット側にずらす。
露光条件が明る過ぎる場合に、輝度量測定結果データOPD0自体は飽和しないものの(S106−NO)、ステップS3にて抽出されたフリッカ成分が過大であるためにステップS4,S5にて適切にフリッカ周波数を特定できない場合に、Nビットのフリッカ検出積分値OPD1の取得開始ビット位置(SW@)を上位ビット側にずらしてやることで、フリッカ検出積分値OPD1を相対的に小さくして、その差分で得られるフリッカ成分も相対的に小さくすることで対処するのである。
また、差分低域データ幅の絶対値が所定の閾値よりも大きく、かつ、差分低域データ幅の極性が「正」である場合において(S114−正)、図10に示すように、差分低域データ幅が振れ幅下限値より小さい場合は(S116−下限値より小)、フリッカ周波数判別プログラムは、取得開始ビット位置(SW@)を下位ビット側にずらし、振れ幅が大きくなるようにする(S120)。そして、別処理へ移行する。たとえばステップS2へ戻る。
つまり、差分低域データ幅が振れ幅下限値より小さいときには、振れ幅を大きくするために、取得開始ビット位置(SW@)を下位ビット側にずらし、相対的に差分を大きくするのである。下位側にずらしてステップS2〜S5の処理を実施したときに、依然として振れ幅が小さければ、さらに同様に、取得開始ビット位置(SW@)を下位ビット側にずらす。
露光条件が暗ら過ぎる場合に、ステップS3にて抽出されたフリッカ成分が過小であるためにステップS4,S5にて適切にフリッカ周波数を特定できない場合に、Nビットのフリッカ検出積分値OPD1の取得開始ビット位置(SW@)を下位ビット側にずらしてやることで、フリッカ検出積分値OPD1を相対的に大きくして、その差分で得られるフリッカ成分も相対的に大きくすることで対処するのである。
ステップS2〜S5に示したフリッカ検出処理においては、輝度データの検波性能や、2フレーム間の輝度データの差分すなわちフリッカ成分の検出性能は、露光条件を反映した輝度データそのものの大きさの影響を受ける。また、フリッカ成分の検出性能(特に検知量)は、撮像信号のフレームレートとフリッカ周波数(電源周波数)とが同期しているか否によっても影響を受ける。
すなわち、フレームレートとフリッカ周波数とが同期している場合には、原理的には、フリッカ成分がゼロになってしまう。このままでは、フリッカ成分が存在するにも関わらずフリッカ無しと判定せざるを得ない。これを避けるため、特許文献1に記載の仕組みでは、フレームレートとフリッカ周波数とが同期していないようにフレームレートを調整している。
一方、フレームレートとフリッカ周波数とが同期していない場合であっても、十分な大きさのフリッカ成分が検知できなければ、結果的には、フリッカ無し、あるいはフレームレートとフリッカ周波数とが同期している状態と同じと判定せざるを得ない。
第1実施形態のフリッカ検出性能向上化処理の仕組みでは、これらの事象に、柔軟に対処できるようになるのである。
たとえば、第1実施形態のフリッカ検出性能向上化処理においては、先ず結果的に、露光条件(照度条件)が「明るい/暗い」に応じて(S106,S116)、Nビットのフリッカ検出積分値OPD1の取得開始ビット位置(SW@)を調整するようにしたので(S118,S120)、露光条件の影響を回避しつつ光源フリッカを抑制できるようになる。
たとえば、明るい場合に、Nビットのフリッカ検出積分値OPD1が飽和しないように、取得開始ビット位置(SW@)を上位ビット側に調整することで、過飽和によって光源フリッカの抑制性能が低下する事態を防止することができる。
また、明るい場合においてフリッカ成分の振れ幅(具体的には、差分低域データ幅)が大きくなるような場合には(S116−上限値より大)、取得開始ビット位置(SW@)を上位ビット側に調整することで、フリッカ成分がフレームレートと同期している場合と同期していない場合との差分低域データ差の差(スケール)が大きくなり過ぎないようにすることができる。
つまり、振り幅が大き過ぎるときには、取得開始ビット位置(SW@)を上位ビット側へずらしてやることで、非同期時に抽出されるフリッカ成分(差分データ)が飽和しない程度の大きさとなる(換言すればスケールを大きくし過ぎない)ようにすることで、ステップS4,S5での周波数判定性能を向上させることができる。
たとえば、高照度時に差分データの山の部分が過飽和状態となって、また本来のフリッカ成分でないノイズ部分の山/谷もかなりの大きさとなり、フリッカ成分の本来の山でない部分を山と誤判定し、山の数を適正に検知できなくなるケースが生じる(特許文献1の段落25〜28の処理によって判別不能とされるケースの一例)。
この対処のため(山/谷の数を適正に検知できるようにするため)、第1実施形態のステップS116−上限値より大,S118にて、振り幅が大き過ぎるときに、取得開始ビット位置(SW@)を上位ビット側へずらしてやるのである。
加えて、フリッカ成分の振れ幅(具体的には、差分低域データ幅)が小さい場合に(S116−下限値より小)、Nビットのフリッカ検出積分値OPD1の取得開始ビット位置(SW@)を下位ビット側に調整するようにしたので(S120)、フレームレートと商用電源周波数とが同期に近くなるような場合でも、光源フリッカを抑制できるようになる。
たとえば、フレームレート(1秒間のコマ(1枚の絵)の数)とフリッカ周波数(蛍光灯の電源周波数)とが同期していないときには、図6(A)に示すように、1つ前のフレーム(N−1フレーム)のフリッカ成分(差分低域データ)と、今のフレーム(Nフレーム)のフリッカ成分(差分低域データ)とで、画面上に現れている位置が異なるので、その差分をとれば、背景の被写体の輝度量が消えて、フリッカの輝度成分の波だけが残ることになる。
ところが、フリッカ周波数÷N〔FPS:フレーム/秒〕(N=1,2,3,4,5:正の整数)となると、つまり50Hzのフリッカで、50FPS,25FPS,…、60Hzのフリッカで、60FPS,30FPS,…のように、フレームレートとフリッカ周波数を同期させてしまうと、図6(B)に示すように、フリッカが発生する位置が画面上で固定されてしまうことになり、差分をとったときにフリッカ成分も消えてしまうことになる。
たとえば、フレームレートとフリッカ周波数とが概ね同期するようになると、フリッカ成分(差分低域データ)の画面上に現れている位置が似通ってくるので、前後の2つのフレームのフリッカ成分(差分低域データ)の差分をとると、フリッカの輝度成分の波が非常に小さくなってしまう。もちろん、完全に同期したときには、前後の2つのフレームのフリッカ成分(差分低域データ)の画面上に現れている位置がほぼ完全に同じになると考えてよく、フリッカの輝度成分の波は殆ど観測されなくなってしまう。
つまり、フレームレートとフリッカ周波数が同期すると、フリッカ成分が動かないので、2フレーム間の差分低域データの差分をとっても、フリッカ成分をほとんど抽出できない。このため、フレームレートとフリッカ周波数とが同期するようになると、フリッカ検出が難しくなる。
このため、特許文献1に記載の仕組みでは、それを回避するために、フレームレートが若干(1%程度)遅くなった値または早くなった値になるよう、水平同期周期を長くまたは短くとるような操作をカメラ信号処理部200で行ない、フリッカ成分を浮き上がらせるように対応している。
ところが、フレームレートは、放送規格との関係で、無制限に調整できるものではなく、商用電源周波数fがばらついた際には、放送規格を満足する範囲内でフレームレートを調整できるとは限らない事態が生きる。換言すれば、フリッカ成分が消えないようにフレームレートを調整したときには、調整後のフレームレートが放送規格を満たさないことが起こる。
結果的には、フレームレートが放送規格を満たす範囲でフレームレートとフリッカ周波数とが同期しないように調整せざるを得ず、この場合、フリッカ成分の浮き上がり量が小さくなってしまい、十分なフリッカ検出性能が得られないことが起こり得る。
そこで、第1実施形態では、このような事態に対処するため、フレームレートとフリッカ周波数とが同期しないようにフレームレートを調整するか否かに関わらず、先ず、フリッカ検知が適切であるか否か(フリッカを検出できたか否かやフリッカ周波数を特定できたか否か)を判断し、フリッカ検知が不適切であったときにおいて、Nビットのフリッカ検出積分値OPD1が消えてしまうような状況にあるときには、先ず、Nビットのフリッカ検出積分値OPD1の取得開始ビット位置(SW@)を下位ビット側へずらしてやるのである。
フレームレートとフリッカ周波数とが同期に近い状態にあったために差分(フリッカ成分)が小さかったときには、下位側にずらしたときには差分が大きくなるので、フリッカ検知性能やフリッカ周波数の判定性能を向上させることができる。
つまり、第1実施形態のように、Nビットのフリッカ検出積分値OPD1の取得開始ビット位置(SW@)を調整して差分低域データ幅を一定に保つようにすることで、フレームレートとフリッカ周波数が同期に近い状態となっても、フリッカの検出性能が向上し、フリッカ周波数の誤判定を改善することができる。
また、Mビットの輝度量測定結果データOPD0をそのままフリッカ検出積分値OPD1として取り扱うのではなく、その中の所定ビット位置からNビット分をフリッカ検出積分値OPD1として取り出して扱うことで、大規模なハードウェア構成のレジスタは必要なく、ハードウェアの回路規模を削減することができる。
一方、下位側にずらしたときに、依然として、差分が小さければ、さらに同様に、取得開始ビット位置(SW@)を下位ビット側にずらす。そして、最下位側にずらしてもフリッカ検出積分値OPD1が消えてしまうような状況にあるときには、本当に、フレームレートとフリッカ周波数とが同期していると判断し、非同期状態となるように、フレームレートを少し調整すればよい。
こうすることで、フレームレートとフリッカ周波数とが本当に同期している場合に限って、フレームレートを調整するようにでき、フレームレートの過度な調整を防止できる。放送規格を満たす範囲でフレームレートとフリッカ周波数とが同期しないように調整することができる。仮に、第1実施形態を適用しないと、フレームレートとフリッカ周波数とが同期に近い状態にあったために差分が小さかったときにも、フレームレートを調整することになり、過度な調整となってしまう可能性があるのと大きく異なる。
<フリッカ検波部の構成例:第2実施形態>
図12および図13は、フリッカ検波部の第2実施形態を説明する図ある。ここで、図12は、第2実施形態のフリッカ検波部270の構成例を示すブロック図である。図13は、第2実施形態のフリッカ検波部270がカメラ制御部900に提示するフリッカ検波枠単位の輝度量の測定結果を説明する図である。
図12および図13は、フリッカ検波部の第2実施形態を説明する図ある。ここで、図12は、第2実施形態のフリッカ検波部270の構成例を示すブロック図である。図13は、第2実施形態のフリッカ検波部270がカメラ制御部900に提示するフリッカ検波枠単位の輝度量の測定結果を説明する図である。
第2実施形態は、フリッカ検出性能向上化処理に供される下位側や上位側のフリッカ検出積分値を、フリッカ検出積分値OPD1とは別に取得するようにした点に特徴を有する。
このため、先ず第2実施形態のフリッカ検波部270は、図12に示すように、輝度信号積分処理部274によって得られたM(たとえば24)ビットの輝度量測定結果データOPD0の中から、上位側の予め定められたビット位置から下位側にN(M>N:たとえば12)ビット幅で(逆に言えば下位側の予め定められたビット位置から上位側にNビット幅で)取り出してフリッカ検出積分値OPD1としてカメラ制御部900に提示する第1の検波部の一例である検出積分値取得部277を有する。
第1実施形態の検出積分値取得部276では、カメラ制御部900のフリッカ周波数判別プログラムによる指示の元で、任意の取得開始ビット位置を指定できるハードウェア構成のレジスタを備えた構成であったが、この第2実施形態の検出積分値取得部277は、取得開始ビット位置が固定である点に特徴を有する。
また、第2実施形態のフリッカ検波部270は、検出積分値取得部277で取得されるフリッカ検出積分値OPD1を補完するべく、Mビットの輝度量測定結果データOPD0の中から最下位側のP(P<M)ビット分を取り出してフリッカ検出積分値OPD2_Lとしてカメラ制御部900に提示する第3の検波部の一例である検出積分値取得部278と、Mビットの輝度量測定結果データOPD0の中から最上位側のQ(Q<M)ビット分を取り出してフリッカ検出積分値OPD2_Mとしてカメラ制御部900に提示する第2の検波部の一例である検出積分値取得部279を有している。
検出積分値取得部278の取出しビット幅Pや、検出積分値取得部279の取出しビット幅Qは、検出積分値取得部277が取り出すNビットのフリッカ検出積分値OPD1とオーバーラップするようにしておくとよい。そして、その限りにおいて、たとえば、N=P=Qとする。
なお、Mビットの輝度量測定結果データOPD0をそのままフリッカ検出積分値OPD1_L,OPD1_Mとして取り扱うのではなく、その中の所定ビット位置からP,Qビット分をフリッカ検出積分値OPD1_L,OPD1_Mとして取り出して扱うことで、フリッカ検出積分値OPD1,OPD1_L,OPD1_Mの別に検出積分値取得部277,278,279を用意しなければならないものの、それぞれは大規模なハードウェア構成のレジスタは必要なく、ハードウェアの回路規模やソフトウェア規模を削減することができる。
たとえば、図13に示すように、検出積分値取得部277は、24ビットの輝度量測定結果データOPD0の中から、適当な初期取出し開始ビットからNビット幅でフリッカ検出積分値OPD1として抽出する。この初期取出し開始ビットは、たとえば、使用する地域に応じて決めることができるようにしておくとよい。ここでは、一例として、24ビットの輝度量測定結果データOPD0における、丁度真ん中当りの、6ビット目〜17ビット目までをフリッカ検出積分値OPD1として抽出してカメラ制御部900に提示するものとする。
また、検出積分値取得部278は、24ビットの輝度量測定結果データOPD0の中から、0ビット目〜12ビット目までをフリッカ検出積分値OPD1_Lとしてカメラ制御部900に提示するものとする。また、検出積分値取得部279は、24ビットの輝度量測定結果データOPD0の中から、13ビット目〜23ビット目までをフリッカ検出積分値OPD1_Mとしてカメラ制御部900に提示するものとする。
ここで、検出積分値取得部278は、第1実施形態のフリッカ検出性能向上化処理において、取得開始ビット位置(SW@)を下位ビット側にずらし、フリッカ成分の振れ幅が大きくなるようにする機能と同様の機能を果たすものである。
また、検出積分値取得部279は、第1実施形態のフリッカ検出性能向上化処理において、取得開始ビット位置(SW@)を上位ビット側にずらしてフリッカ検出積分値OPD1が飽和しないようにする、あるいは、フリッカ成分の振れ幅が大きくなるようにする機能と同様の機能を果たすものである。
なお、本実施形態では、検出積分値取得部277と検出積分値取得部278の双方を備えた構成で示しているが、フリッカ成分が小さい場合にのみ着目して、検出積分値取得部278のみを設けるようにしてもよい。逆に、フリッカ検出積分値OPD1やフリッカ成分が大きい場合にのみ着目して、検出積分値取得部279のみを設けるようにしてもよい。
<フリッカ検出性能向上化処理:第2実施形態>
図14は、フリッカ検出性能向上化処理の第2実施形態の処理手順を示したフローチャートである。ここでは、図14に示す第1実施形態の処理手順に対する変形例で示す。なお、第2実施形態の処理ステップは200番台で示し、第1実施形態と同様もしくは対応する処理ステップには、第1実施形態と同じ10番台と1番台の番号を付して示す。以下、第1実施形態との相違点を中心に説明する。
図14は、フリッカ検出性能向上化処理の第2実施形態の処理手順を示したフローチャートである。ここでは、図14に示す第1実施形態の処理手順に対する変形例で示す。なお、第2実施形態の処理ステップは200番台で示し、第1実施形態と同様もしくは対応する処理ステップには、第1実施形態と同じ10番台と1番台の番号を付して示す。以下、第1実施形態との相違点を中心に説明する。
第2実施形態のフリッカ検出性能向上化処理においては、図14に示すように、フリッカ検出積分値OPD1の最大値が所定の閾値よりも大きいときには(S206−YES)、フリッカ周波数判別プログラムは、検出積分値取得部279によってMビットの輝度量測定結果データOPD0のより上位側から取得されるQビット幅のフリッカ検出積分値OPD1_Mを参照するようにする(S218)。このことは、露光条件が明るくて、大きな輝度データが得られる状況にある場合において、フリッカ検出積分値OPD1が飽和するようなケースでは、Mビットの輝度量測定結果データOPD0のより上位側から取得されるフリッカ検出積分値OPD1_Mを参照することを意味している。
つまり、全フリッカ検波枠についてのフリッカ検出積分値OPD1の最大値がある閾値よりも大きい場合は、全体として差分低域データの値が大きい状態にあると判断し、取得開始ビット位置(SW@)を上位ビット側にずらした状態の、相対的に差分低域データを小さくできるフリッカ検出積分値OPD1_Mをフリッカ検知処理に参照するのである。
これによって、露光条件が明るい場合においてNビットのフリッカ検出積分値OPD1が飽和してしまうような場合に、上位側にずらした状態のフリッカ検出積分値OPD1_Mを参照することで、過飽和によって光源フリッカの抑制性能が低下する事態を防止する。
このことから分かるように、検出積分値取得部279は、露光条件が明るい場合においてNビットのフリッカ検出積分値OPD1が飽和してしまうような場合に、上位側にずらした状態で取得されるフリッカ検出積分値OPD1_Mを参照することで、過飽和によって光源フリッカの抑制性能が低下する事態を防止する機能を果たすのである。
また、フリッカ検出積分値OPD1から取得される差分低域データ幅の絶対値が所定の閾値よりも大きく、かつ、差分低域データ幅の極性が「正」である場合において(S214−正)、図9に示すように、差分低域データ幅が振れ幅上限値より大きい場合は(S216−上限値より大)、フリッカ周波数判別プログラムは、検出積分値取得部279によってMビットの輝度量測定結果データOPD0のより上位側から取得されるQビット幅のフリッカ検出積分値OPD1_Mを参照するようにする(S218)。
つまり、差分低域データ幅が振れ幅上限値より大きいときには、取得開始ビット位置(SW@)を上位ビット側にずらしたフリッカ検出積分値OPD1_Mを参照することで、相対的に小さくなった差分(フリッカ成分)を利用できるようにするのである。
このことから分かるように、ステップS3にて抽出されたフリッカ成分が過大であるためにステップS4,S5にて適切にフリッカ周波数を特定できない場合に、Nビットのフリッカ検出積分値OPD1の取得開始ビット位置(SW@)を上位ビット側にずらした状態で取得される、フリッカ検出積分値OPD1に対して相対的に小さなフリッカ検出積分値OPD1_Mを参照できるようにして、フリッカ検出積分値OPD1_Mの2フレーム分の差分で得られる相対的に小さなフリッカ成分も参照できるようにするのである。
つまり、検出積分値取得部279は、明るい場合においてフリッカ成分の振れ幅(具体的には、差分低域データ幅)が大きくなるような場合に、上位側にずらした状態で取得されるフリッカ検出積分値OPD1_Mを参照することで、非同期時に抽出されるフリッカ成分(差分データ)が飽和しない程度の大きさとなる(換言すればスケールを大きくし過ぎない)フリッカ検出積分値OPD1_Mに基づいて、ステップS4,S5での周波数判定性能を向上させる機能を果たすのである。
また、差分低域データ幅の絶対値が所定の閾値よりも大きく、かつ、差分低域データ幅の極性が「正」である場合において(S214−正)、図10に示すように、差分低域データ幅が振れ幅下限値より小さい場合は(S216−下限値より小)、フリッカ周波数判別プログラムは、取得開始ビット位置(SW@)を下位ビット側にずらした状態の検出積分値取得部278によってMビットの輝度量測定結果データOPD0のより下位側から取得されるPビット幅のフリッカ検出積分値OPD1_Lを参照するようにする(S220)。
つまり、差分低域データ幅が振れ幅下限値より小さいときには、取得開始ビット位置(SW@)を下位ビット側にずらしたフリッカ検出積分値OPD1_Lを参照することで、相対的に大きくなった差分(フリッカ成分)を利用できるようにするのである。
このことから分かるように、ステップS3にて抽出されたフリッカ成分が過小であるためにステップS4,S5にて適切にフリッカ周波数を特定できない場合に、Nビットのフリッカ検出積分値OPD1の取得開始ビット位置(SW@)を下位ビット側にずらした状態で取得される、フリッカ検出積分値OPD1に対して相対的に大きなフリッカ検出積分値OPD1_Lを参照できるようにして、フリッカ検出積分値OPD1_Lの2フレーム分の差分で得られる相対的に大きなフリッカ成分も参照できるようにするのである。
このことから分かるように、検出積分値取得部278は、暗い場合においてフリッカ検出積分値OPD1に基づいて抽出されたフリッカ成分の振れ幅が過小であるためにステップS4,S5にて適切にフリッカ周波数を特定できない場合に、フリッカ検出積分値OPD1に対して相対的に大きなフリッカ検出積分値OPD1_Lを参照することで、ステップS4,S5での周波数判定性能を向上させる機能を果たすのである。
以上のことから分かるように、第2実施形態の仕組みにおいても、第1実施形態と同様の効果を享受できることが分かる。なお、第1実施形態の仕組みでは、カメラ制御部900のフリッカ周波数判別プログラムによる指示の元で、任意の取得開始ビット位置を指定できるハードウェア構成のレジスタを備えた検出積分値取得部276でフリッカ検出積分値OPD1を取得するようにしているので、フリッカ検出積分値OPD1,OPD1_L,OPD1_Lの別に各別の検出積分値取得部277,278,279を用意する第2実施形態の構成に比べて、回路規模を小さくできる利点がある。
一方、第1実施形態の仕組みでは、検出積分値取得部276で取得されるフリッカ検出積分値OPD1や、これに基づくフリッカ成分が適正範囲にないときには、取得開始位置SW@をずらしてフリッカ検出処理(S1〜S5)を実施し直す必要があり、場合によっては、この処理を何度か繰り返す必要があるので、高精度な処理が期待できるものの、処理時間が長くなってしまうことも起こり得る。
これに対して、第2実施形態の仕組みでは、検出積分値取得部277で取得されるフリッカ検出積分値OPD1や、これに基づくフリッカ成分が適正範囲にないときには、予め別に用意されている検出積分値取得部278,279によって取得されるフリッカ検出積分値OPD1_L,MOPD1_Mやこれらに基づくフリッカ成分を直ちに参照できるので、処理時間が第1実施形態よりも短くて済むと考えられる。
<撮像装置>
図15は、前述の固体撮像装置1と同様の仕組みを利用した物理情報取得装置の一例である撮像装置の概略構成を示す図である。この撮像装置8は、可視光カラー画像を得る撮像装置になっている。
図15は、前述の固体撮像装置1と同様の仕組みを利用した物理情報取得装置の一例である撮像装置の概略構成を示す図である。この撮像装置8は、可視光カラー画像を得る撮像装置になっている。
前述した固体撮像装置1の仕組みは固体撮像装置のみではなく、撮像装置にも適用可能である。この場合、撮像装置としても、検出積分値取得部276,277で取得されるフリッカ検出積分値OPD1やこれに基づくフリッカ成分が適正範囲にないときには、取得開始位置SW@をずらした状態のフリッカ検出積分値OPD1(第1実施形態の場合)やフリッカ検出積分値OPD1_L,OPD1_M(第2実施形態の場合)を参照することで、フリッカ検出処理性能を向上させることができる。
特に、前述の説明から分かるように、フリッカ検出処理性能は、露光条件や、フレームレートと電源周波数との関係(特に同期状態に近いか否か)に左右されるので、露光条件やフレームレートを制御する機能部分との関係が重要になる。
具体的には、撮像装置8は、蛍光灯などの照明装置801の下にある被写体Zの像を担持する光Lを撮像装置側に導光して結像させる撮影レンズ802と、光学ローパスフィルタ804と、たとえばR,G,Bの色フィルタがベイヤ配列とされている色フィルタ群812、および画素アレイ部10と、画素アレイ部10を駆動する駆動制御部7と、画素アレイ部10から出力された撮像信号を処理するカメラ信号処理部810とを備えている。
光学ローパスフィルタ804は、折返し歪みを防ぐために、ナイキスト周波数以上の高周波成分を遮断するためのものである。また、図中に点線で示しように、光学ローパスフィルタ804と合わせて、赤外光成分を低減させる赤外光カットフィルタ805を設けることもできる。この点は、一般的な撮像装置と同様である。
カメラ信号処理部810は、先ず、固体撮像装置1のカメラ信号処理部200と同様に、撮像信号処理部220を有している。また、カメラ信号処理部810は、固体撮像装置1と同様に、カメラ制御部900を有している。ここで、撮像装置8におけるカメラ制御部900としては、マイクロプロセッサ902には、フリッカ周波数判別プログラムの他に、露光制御用のプログラムも組み込まれて、露光条件を制御する露光条件制御部としても機能するようになっている。
ここで、電子計算機の中枢をなすマイクロプロセッサ902を露光条件を制御する露光条件制御部として機能させるための露光制御用のプログラムとしては、フリッカ周波数判別プログラムによって特定されたフリッカ周波数を参照して電子シャッタを制御することで、フリッカ抑制を行なう点に特徴を有する。つまり、本実施形態のフリッカ抑制手法としては、駆動制御部7に、フリッカ周波数と同期したタイミングの電子シャッタタイミングを設定し、固体撮像装置のシャッタモードを光源の点滅周期に応じて切り替える方法を採ることで実現する。
具体的には、特定されたフリッカ周波数と完全に同期した電子シャッタを切る。たとえば、NTSC方式仕様の50Hz電源地域では電子シャッタ速度を1/100秒とする。電子シャッタ速度1/100秒が蛍光灯点滅周期1/100秒と同期するので、電子シャッタ動作の位相と蛍光灯点滅の位相がどのようにずれていても、固定された電子シャッタ速度である1/100秒の間に画素アレイ部10に入射される光量が一定に保たれ、光源フリッカ(輝度フリッカおよび色フリッカともに)が生じないようになる。
ただし、この場合は、光源フリッカを防止できても、電子シャッタを利用した露光制御は不可能となってしまう。このため、被写体照度が高い側では、照度上昇に伴って画素アレイ部10が電子的に飽和することがある。あるいは、画素アレイ部10が飽和しなくても、後段の信号処理系が飽和することもある。これら場合、画像輝度が増大し、画像が白っぽく潰れてしまう。
この対策としては、たとえばメカアイリスと組み合わせることで、光源フリッカを防止しつつ画像潰れが生じないように露光制御する仕組みを適用するとよい。
ただし、今日では、撮像装置本体のローコスト化のために、メカニカルな絞り機構(メカアイリス)を取り除き、電子シャッタ機能だけで露光制御を行なうように構成することが多い。このような露光制御を電子アイリスという。
ただし、今日では、撮像装置本体のローコスト化のために、メカニカルな絞り機構(メカアイリス)を取り除き、電子シャッタ機能だけで露光制御を行なうように構成することが多い。このような露光制御を電子アイリスという。
このようなメカアイリス機構を持たず電子アイリスにより露光制御する仕組みを採る場合は、フリッカ周波数と同期したタイミングの電子シャッタタイミングを設定することで光源フリッカを防止させたときに、画素アレイ部10が飽和しない限りにおいて、被写体照度の変動にかかわりなく画像輝度を一定にするために、画素アレイ部10から出力された信号に対しての自動利得制御を適用するようにしてもよい。
また、カメラ制御部900は、メモリカードなどの記録媒体924を挿脱可能に構成し、またインターネットなどの通信網との接続が可能に構成している。たとえば、カメラ制御部900は、マイクロプロセッサ902、ROM904、およびRAM906の他に、メモリ読出部907および通信I/F(インタフェース)908を備える。
記録媒体924は、たとえば、マイクロプロセッサ902にソフトウェア処理をさせるためのプログラムデータや、輝度信号処理部240からの輝度系信号に基づく測光データDLの収束範囲、フリッカ処理や露光制御処理(電子シャッタ制御を含む)における各種の設定値などのデータを登録するなどのために利用される。
メモリ読出部907は、記録媒体924から読み出したデータをRAM906に格納(インストール)する。通信I/F908は、インターネットなどの通信網との間の通信データの受け渡しを仲介する。
なお、このような撮像装置8は、駆動制御部7およびカラム処理部26を、画素アレイ部10と別体にしてモジュール状のもので示しているが、固体撮像装置1について述べたように、これらが画素アレイ部10と同一の半導体基板上に一体的に形成されたワンチップものの固体撮像装置1を利用してもよいのは言うまでもない。
また、図では、画素アレイ部10や駆動制御部7や画素信号処理部26やカメラ信号処理部810の他に、撮影レンズ802、光学ローパスフィルタ804、あるいは赤外光カットフィルタ805などの光学系をも含む状態で、撮像装置8を示しており、この態様は、これらを纏めてパッケージングされた撮像機能を有するモジュール状の形態とする場合に好適である。
ここで、前述の固体撮像装置1におけるモジュールとの関係においては、図示のように、画素アレイ部10(撮像部)と、AD変換機能や差分(CDS)処理機能を具備したカラム処理部26などの画素アレイ部10側と密接に関連した信号処理部(画素信号処理部26の後段のカメラ信号処理部は除く)が纏めてパッケージングされた状態で撮像機能を有するモジュール状の形態で固体撮像装置1を提供するようにし、そのモジュール状の形態で提供された固体撮像装置1の後段に、残りの信号処理部であるカメラ信号処理部810を設けて撮像装置8の全体を構成するようにしてもよい。
または、図示を割愛するが、画素アレイ部10(撮像部)と撮影レンズ802などの光学系とが纏めてパッケージングされた状態で撮像機能を有するモジュール状の形態で固体撮像装置1を提供するようにし、そのモジュール状の形態で提供された固体撮像装置1に加えて、カメラ信号処理部810をもモジュール内に設けて、撮像装置8の全体を構成するようにしてもよい。
また、固体撮像装置1におけるモジュールの形態として、カメラ信号処理部200に相当するカメラ信号処理部810を含めてもよく、この場合には、事実上、固体撮像装置1と撮像装置8とが同一のものと見なすこともできる。
このような撮像装置8は、「撮像」を行なうための、たとえば、カメラや撮像機能を有する携帯機器として提供される。なお、「撮像」は、通常のカメラ撮影時の像の撮り込みだけではなく、広義の意味として、指紋検出なども含むものである。
このような構成の撮像装置8においては、前述の固体撮像装置1の全ての機能を包含して構成されており、前述の固体撮像装置1の基本的な構成および動作と同様とすることができ、フリッカ検出処理性能を向上させることができる。
たとえば、上述した処理をコンピュータに実行させるプログラムは、フラッシュメモリ、ICカード、あるいはミニチュアーカードなどの不揮発性の半導体メモリカードなどの記録媒体924を通じて配布される。さらに、サーバなどからインターネットなどの通信網を経由して前記プログラムをダウンロードして取得したり、あるいは更新してもよい。
記録媒体924の一例としてのICカードやミニチュアーカードなどの半導体メモリには、上記実施形態で説明した固体撮像装置1(特にフリッカ処理に関わる機能)における処理の一部または全ての機能を格納することができる。したがって、プログラムや当該プログラムを格納した記憶媒体を提供することができる。たとえば、フリッカ処理用のプログラム、すなわちRAM906などにインストールされるソフトウェアは、固体撮像装置1について説明したフリッカ処理と同様に、輝度データの測光と積分処理、あるいはこの輝度データに基づくフリッカ成分の抽出並びにフリッカ周波数の判別・確定などの各機能部をソフトウェアとして備える。
同様に、露光制御用のプログラム、すなわちRAM906などにインストールされる露光制御用のソフトウェアも、測光データDLを受け取り、測光データDLが一定レベルに保持され、かつ蛍光灯照明下においてもフリッカが生じないように電子シャッタ速度を制御し、また必要に応じてフリッカ周波数判別プログラムとの連携によりフレームレートを制御するなどの各機能部をソフトウェアとして備える。
ソフトウェアは、RAM906に読み出された後にマイクロプロセッサ902により実行される。たとえばマイクロプロセッサ902は、記録媒体の一例であるROM904およびRAM906に格納されたプログラムに基づいて露光制御処理や前述のフリッカ処理を実行することにより、上記処理を実行するための機能をソフトウェア的に実現することができる。すなわち、コンピュ−タを用いたデジタル信号処理によって、露光制御処理やフリッカ処理を実現することができる。
以上、本発明について実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。発明の要旨を逸脱しない範囲で上記実施形態に多様な変更または改良を加えることができ、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれる。
また、上記の実施形態は、クレーム(請求項)にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組合せの全てが発明の解決手段に必須であるとは限らない。前述した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜の組合せにより種々の発明を抽出できる。実施形態に示される全構成要件から幾つかの構成要件が削除されても、効果が得られる限りにおいて、この幾つかの構成要件が削除された構成が発明として抽出され得る。
たとえば、前記説明では、ステップS3〜S5やステップS102〜S120やS202〜S220のソフトウェアで実現されている部分を、総称して「フリッカ周波数判別プログラム」と呼んでいる。また、フリッカ検波部270が実施するステップS1の処理を含めた形態で「フリッカ周波数判別プログラム」を実現することもできる。もちろん、逆に、ステップS3〜S5やステップS102〜S120やS202〜S220のフリッカ周波数判別プログラムで実現されている部分を、ハードウェア回路で構成されたカメラ制御部900にて実施するようにしてもよい。
1…固体撮像装置、10…画素アレイ部、200…カメラ信号処理部、220…撮像信号処理部、222…信号分離部、230…色信号処理部、240…輝度信号処理部、26…画素信号処理部、260…エンコーダ部、270…フリッカ検波部、272…フリッカ検波枠設定部、274…輝度信号積分処理部、276…検出積分値取得部、277…検出積分値取得部、278…検出積分値取得部、279…検出積分値取得部、280…データ修正部、7…駆動制御部、8…撮像装置、900…カメラ制御部、902…マイクロプロセッサ、904…ROM、906…RAM
Claims (13)
- 画素アレイ部で取得される画素信号によって表わされる画像を所定の走査方向に分割して複数のフリッカ検波枠を設定し、前記フリッカ検波枠ごとにMビットの輝度データを検波する輝度データ検波部と、
前記輝度データ検波部で検波されたMビットの輝度データのうち、下位ビット側の輝度データを参照してフリッカ成分の周波数を特定するフリッカ周波数特定部と
を備えたことを特徴とする固体撮像装置。 - 画素アレイ部で取得される画素信号によって表わされる画像を所定の走査方向に分割して複数のフリッカ検波枠を設定し、前記フリッカ検波枠ごとにMビットの輝度データを検波する輝度データ検波部と、
前記輝度データ検波部で検波されたMビットの輝度データのうち、上位ビット側の輝度データを参照してフリッカ成分の周波数を特定するフリッカ周波数特定部と
を備えたことを特徴とする固体撮像装置。 - 前記フリッカ周波数特定部は、前記輝度データ検波部で検波されたMビットの輝度データのうち、下位ビット側の輝度データも参照してフリッカ成分の周波数を特定可能に構成されている
ことを特徴とする請求項2に記載の固体撮像装置。 - 前記輝度データ検波部は、前記フリッカ周波数特定部による制御の元で、前記Mビットの輝度データの中から任意の取出し開始位置から所定ビット幅でデータを取り出してフリッカ周波数特定部に供給可能に構成されており、
前記フリッカ周波数特定部は、前記輝度データ検波部から供給されたデータが所定の閾値より大きいときには、前記Mビットの輝度データのうち、より上位側のビットデータを取り出すように前記輝度データ検波部を制御する
ことを特徴とする請求項2または3に記載の固体撮像装置。 - 前記輝度データ検波部は、前記フリッカ周波数特定部による制御の元で、前記Mビットの輝度データの中から任意の取出し開始位置から所定ビット幅でデータを取り出してフリッカ周波数特定部に供給可能に構成されており、
前記フリッカ周波数特定部は、前記輝度データ検波部から供給されたデータが所定の閾値より小さく、かつ、2フレーム間のデータの差で表わされるフリッカ成分のデータ幅が所定の上限値よりも大きいときには、前記Mビットの輝度データのうち、より上位側のビットデータを取り出すように前記輝度データ検波部を制御する
ことを特徴とする請求項2または3に記載の固体撮像装置。 - 前記輝度データ検波部は、前記フリッカ周波数特定部による制御の元で、前記Mビットの輝度データの中から任意の取出し開始位置から所定ビット幅でデータを取り出してフリッカ周波数特定部に供給可能に構成されており、
前記フリッカ周波数特定部は、前記輝度データ検波部から供給されたデータが所定の閾値より小さく、かつ、2フレーム間のデータの差で表わされるフリッカ成分のデータ幅が所定の下限値よりも小さいときには、前記Mビットの輝度データのうち、より下位側のビットデータを取り出すように前記輝度データ検波部を制御する
ことを特徴とする請求項1または3に記載の固体撮像装置。 - 前記輝度データ検波部は、前記Mビットの輝度データにおける所定ビット位置から所定ビット幅でデータを取り出して前記フリッカ周波数特定部に供給する第1の検波部と、前記第1の検波部よりも前記Mビットの輝度データの上位ビット部分から所定ビット幅でデータを取り出して前記フリッカ周波数特定部に供給する第2の検波部とを有し、
前記フリッカ周波数特定部は、前記第1の検波部から供給されたデータが所定の閾値より大きいときには、前記第2の検波部から供給されたデータを参照してフリッカ成分の周波数を特定する
ことを特徴とする請求項2または3に記載の固体撮像装置。 - 前記輝度データ検波部は、前記Mビットの輝度データにおける所定ビット位置から所定ビット幅でデータを取り出して前記フリッカ周波数特定部に供給する第1の検波部と、前記第1の検波部よりも前記Mビットの輝度データの上位ビット部分から所定ビット幅でデータを取り出して前記フリッカ周波数特定部に供給する第2の検波部とを有し、
前記フリッカ周波数特定部は、前記第1の検波部から供給されたデータが所定の閾値より小さく、かつ、2フレーム間のデータの差で表わされるフリッカ成分のデータ幅が所定の上限値よりも大きいときには、前記第2の検波部から供給されたデータを参照してフリッカ成分の周波数を特定する
ことを特徴とする請求項2または3に記載の固体撮像装置。 - 前記輝度データ検波部は、前記Mビットの輝度データにおける所定ビット位置から所定ビット幅でデータを取り出して前記フリッカ周波数特定部に供給する第1の検波部と、前記第1の検波部よりも前記Mビットの輝度データの下位ビット部分から所定ビット幅でデータを取り出して前記フリッカ周波数特定部に供給する第3の検波部とを有し、
前記フリッカ周波数特定部は、前記第1の検波部から供給されたデータが所定の閾値より小さく、かつ、2フレーム間のデータの差で表わされるフリッカ成分のデータ幅が所定の下限値よりも小さいときには、前記第3の検波部から供給されたデータを参照してフリッカ成分の周波数を特定する
ことを特徴とする請求項1または3に記載の固体撮像装置。 - 露光条件を制御する露光条件制御部と、
前記露光条件制御部による制御の元で画素アレイ部で取得される画素信号によって表わされる画像を所定の走査方向に分割して複数のフリッカ検波枠を設定し、前記フリッカ検波枠ごとにMビットの輝度データを検波する輝度データ検波部と、
前記輝度データ検波部で検波されたMビットの輝度データのうち、下位ビット側の輝度データおよび/または上位ビット側の輝度データを参照してフリッカ成分の周波数を特定するフリッカ周波数特定部と
を備えたことを特徴とする撮像装置。 - 前記露光条件制御部は、前記フリッカ周波数特定部によって特定されたフリッカ成分の周波数に基づいて、前記フリッカ成分が抑制されるように前記画素アレイ部における電子シャッタ速度を制御する
ことを特徴とする請求項10に記載の撮像装置。 - 画素アレイ部で取得される画素信号によって表わされる画像を所定の走査方向に分割した複数のフリッカ検波枠ごとに得られるMビットの輝度データのうち、下位ビット側の輝度データおよび/または上位ビット側の輝度データを参照してフリッカ成分の周波数を特定するフリッカ周波数特定部と
して電子計算機を機能させることを特徴とするプログラム。 - 前記フリッカ周波数特定部によって特定されたフリッカ成分の周波数に基づいて、前記フリッカ成分が抑制されるように前記画素アレイ部における電子シャッタ速度を制御する露光条件制御部と
して電子計算機を機能させることを特徴とする請求項12に記載のプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006257360A JP2008079099A (ja) | 2006-09-22 | 2006-09-22 | 固体撮像装置、撮像装置、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006257360A JP2008079099A (ja) | 2006-09-22 | 2006-09-22 | 固体撮像装置、撮像装置、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008079099A true JP2008079099A (ja) | 2008-04-03 |
Family
ID=39350668
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006257360A Pending JP2008079099A (ja) | 2006-09-22 | 2006-09-22 | 固体撮像装置、撮像装置、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008079099A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6320503B1 (ja) * | 2016-12-28 | 2018-05-09 | オリンパス株式会社 | 撮像装置、フリッカ検出方法、およびプログラム |
JP2018112459A (ja) * | 2017-01-11 | 2018-07-19 | コイト電工株式会社 | 明滅度測定装置、明滅度測定方法、明滅度測定プログラムおよび記憶媒体 |
CN115499597A (zh) * | 2022-09-13 | 2022-12-20 | 豪威集成电路(成都)有限公司 | 成像系统目标频率光源的识别方法及装置、终端设备 |
-
2006
- 2006-09-22 JP JP2006257360A patent/JP2008079099A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6320503B1 (ja) * | 2016-12-28 | 2018-05-09 | オリンパス株式会社 | 撮像装置、フリッカ検出方法、およびプログラム |
WO2018123342A1 (ja) * | 2016-12-28 | 2018-07-05 | オリンパス株式会社 | 撮像装置、フリッカ検出方法、およびコンピュータ読取可能な記録媒体 |
JP2018112459A (ja) * | 2017-01-11 | 2018-07-19 | コイト電工株式会社 | 明滅度測定装置、明滅度測定方法、明滅度測定プログラムおよび記憶媒体 |
CN115499597A (zh) * | 2022-09-13 | 2022-12-20 | 豪威集成电路(成都)有限公司 | 成像系统目标频率光源的识别方法及装置、终端设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3984936B2 (ja) | 撮像装置および撮像方法 | |
US7663669B2 (en) | Imaging apparatus including an XY-address-scanning imaging device, imaging method, and recording medium | |
JP4106554B2 (ja) | 撮影環境判定方法および撮像装置 | |
JP4840578B2 (ja) | 撮像装置のフリッカ検出方法と装置 | |
JP5410510B2 (ja) | 撮像装置、外部閃光検出方法、プログラムおよび集積回路 | |
JP4948090B2 (ja) | 撮像装置及び駆動制御方法 | |
JP2011193065A (ja) | 撮像装置 | |
WO2005120047A1 (ja) | 撮像装置および信号処理方法 | |
JP2007174537A (ja) | 撮像装置 | |
US10027919B2 (en) | Signal processing apparatus, image capturing apparatus, control apparatus, signal processing method, and control method | |
JP2004023605A (ja) | 画像処理装置、カメラ装置、及びその自動露光制御方法 | |
JP5900194B2 (ja) | 信号処理装置、信号処理方法、プログラム、固体撮像素子、および電子機器 | |
JP2003023570A (ja) | 画像データの修正方法及び画像信号処理装置 | |
JP2011239067A (ja) | 画像処理装置 | |
JP2006238060A (ja) | 画像処理装置およびこの画像処理装置を備えたデジタルカメラ | |
JP2008079099A (ja) | 固体撮像装置、撮像装置、プログラム | |
JP4057216B2 (ja) | 固体撮像装置および画素欠陥検出方法 | |
JP2000217039A (ja) | 点欠陥検出方法および点欠陥画素値補正方法 | |
US20050200704A1 (en) | Imager and stripe noise removing method | |
US10594912B2 (en) | Flash band determination device for detecting flash band, method of controlling the same, storage medium, and image pickup apparatus | |
JP2010273147A (ja) | 撮像信号特定状態検出装置、撮像装置、撮像信号特定状態検出方法、プログラムおよび集積回路 | |
US9883113B2 (en) | Imaging processing apparatus and method of imaging processing by controlling an imaging period | |
JP2008235955A (ja) | 撮像方法、固体撮像装置、撮像装置 | |
JP4514138B2 (ja) | 固体撮像素子の駆動方法およびデジタルカメラ | |
JP2003209850A (ja) | 撮像装置用信号処理回路およびその信号処理方法 |