以下、図面を参照して本発明の実施の形態を説明する。
[実施形態1]
図1から図14は本発明の実施形態1を示したものであり、図1は撮像装置の構成を示すブロック図である。
本実施形態は、画像処理装置を撮像装置に適用したものとなっていて、撮像装置は、具体例としてはデジタルカメラとして構成されたものとなっている。
すなわち、この撮像装置は、図1に示すように、交換式レンズ1と、カメラ本体2と、をインタフェース(I/F)3を介して通信可能に接続して構成されている。
次に、交換式レンズ1は、例えばレンズマウントを介してカメラ本体2に対し着脱自在に装着されるようになっており、レンズマウントに形成した電気接点(交換式レンズ1側に設けられた電気接点およびカメラ本体2側に設けられた電気接点)等によりインタフェース3が構成されている。こうして、交換式レンズ1は、インタフェース3を介してカメラ本体2と通信可能となっている。
交換式レンズ1は、レンズ11と、絞り12と、ドライバ13と、マイクロコンピュータ14と、フラッシュメモリ15と、を備えている。
レンズ11は、被写体の光学像をカメラ本体2の後述する撮像素子23上に結像するための撮影光学系である。
絞り12は、レンズ11を通過する光束の通過範囲を制御する光学絞りである。
ドライバ13は、マイクロコンピュータ14からの指令に基づき、レンズ11を駆動してフォーカス位置の調整を行い、レンズ11が電動ズームレンズ等である場合にはさらに焦点距離の変更も行う。加えて、ドライバ13は、マイクロコンピュータ14からの指令に基づき、絞り12を駆動して開口径を変化させる。この絞り12の駆動により、被写体の光学像の明るさが変化し、ボケの大きさなども変化する。
マイクロコンピュータ14は、いわゆるレンズ側コンピュータであり、ドライバ13、フラッシュメモリ15、およびインタフェース3と接続されている。そして、マイクロコンピュータ14は、インタフェース3を介して後述する本体側コンピュータであるマイクロコンピュータ41と通信し、マイクロコンピュータ41からの指令を受けて、フラッシュメモリ15に記憶されている情報の読込/書込を行い、ドライバ13を制御する。さらに、マイクロコンピュータ14は、この交換式レンズ1に関する各種の情報をマイクロコンピュータ41へ送信する。
フラッシュメモリ15は、マイクロコンピュータ14により実行される制御プログラムや、交換式レンズ1に関する各種の情報を不揮発に記憶する記憶媒体である。
インタフェース3は、交換式レンズ1のマイクロコンピュータ14と、カメラ本体2のマイクロコンピュータ41とを、双方向に通信可能に接続する。
続いて、カメラ本体2は、シャッタ21と、撮像部22と、RAW縮小処理部26と、画像処理部27と、AE処理部30と、AF処理部31と、画像圧縮伸張部32と、LCDドライバ33と、LCD34と、メモリインタフェース(メモリI/F)35と、記録媒体36と、SDRAM37と、操作部38と、フラッシュメモリ39と、バス40と、マイクロコンピュータ41と、を備えている。
シャッタ21は、レンズ11からの光束が撮像素子23へ到達する時間を制御するものであり、例えばシャッタ幕を走行させる構成のメカニカルシャッタとなっている。ただし、メカニカルシャッタに代えて素子シャッタを用いても構わないし、メカニカルシャッタと素子シャッタとを併用しても良い。このシャッタ21は、マイクロコンピュータ41の指令により駆動されて、撮像素子23に光束が到達している時間、つまり撮像素子23による被写体の露光時間を制御する。
撮像部22は、被写体を撮影して画像データを取得するものであり、撮像素子23と、アナログ処理部24と、アナログ/デジタル変換部(A/D変換部)25と、を備えている。
撮像素子23は、レンズ11および絞り12を介して結像された被写体の光学像を光電変換してアナログ画像信号を生成するものである。この撮像素子23は、例えば、垂直方向および水平方向に配列された複数の画素の前面にベイヤー配列のカラーフィルタを配置した単板式の撮像素子として構成されている。なお、撮像素子23は、単板式の撮像素子に限らないことは勿論であり、例えば基板厚み方向に色成分を分離するような積層式の撮像素子であっても良い。
アナログ処理部24は、撮像素子23から読み出されたアナログ画像信号に対して、リセットノイズ等を低減した上で波形整形を行い、さらに目的の明るさとなるようにゲインアップを行う。
A/D変換部25は、アナログ処理部24から出力されたアナログ画像信号をデジタル画像信号(以後、画像データという)に変換する。このA/D変換部25から出力される画像データは、いわゆるRAW画像データである。
RAW縮小処理部26は、必要に応じてRAW画像データのサイズ(画素数)を縮小するものであり、RAW画像データを例えば間引く、画素加算する、あるいは補間する等により縮小されたRAW画像データを生成する。なお、RAW縮小処理部26は、A/D変換部25から出力される画像データを縮小しても良いが、SDRAM37に一旦記憶されたRAW画像データを縮小しても構わない。
A/D変換部25から出力されたRAW画像データ(あるいはさらにRAW縮小処理部26から出力された縮小RAW画像データ)は、バス40を介して転送され、SDRAM37に一旦記憶される。
画像処理部27は、RAW画像データ(あるいは縮小RAW画像データ、以下、明示はしないが同様)に対して種々の画像処理を行うものであり、基本画像処理部28と、特殊画像処理部29と、を備えている。
基本画像処理部28は、RAW画像データに対して基本的な画像処理を行うものである。この基本画像処理部28が行う画像処理としては、例えば、オプティカルブラック(OB)減算処理、ホワイトバランス(WB)処理、同時化処理、色再現処理、輝度変更処理、エッジ強調処理、ノイズリダクション処理などが挙げられる。この基本画像処理部28によって各処理が行われた後の画像データは、SDRAM37に再び記憶される。
また、特殊画像処理部29は、上述した基本的な画像処理に該当しない画像処理、例えば画像の加工に関する処理を行うものである。本実施形態における特殊画像処理部29は、画像の色相と彩度との少なくとも一方を変更する色変更処理を含む処理を行うものとなっている。具体的に、本実施形態における特殊画像処理部29は、色変更処理として、プリント写真が経年変化により色あせする、あるいは日光により日焼けする等の場合のような色の変更を画像データに対して与える処理を行う。この特殊画像処理部29によって処理された画像データは、SDRAM37に記憶される。
AE処理部30は、RAW画像データに基づき、被写体輝度を算出する。ここで算出された被写体輝度は、自動露出(AE)制御、すなわち、絞り12の制御やシャッタ21の制御、撮像素子23の露光タイミング制御等に用いられる。なお、被写体輝度を算出するためのデータとして、ここではRAW画像データ等を利用したが、これに代えて、専用の測光センサを撮像装置に設けて、この測光センサから得られたデータを利用するようにしても構わない。
AF処理部31は、RAW画像データから高周波成分のデータを抽出して、AF(オートフォーカス)積算処理により、合焦評価値を取得する。ここで取得された合焦評価値は、レンズ11のAF駆動に用いられる。なお、AFがこのようなコントラストAFに限定されないことは勿論であり、例えば専用のAFセンサ(あるいは撮像素子23上のAF用画素など)を用いて位相差AFを行うようにしても構わない。
画像圧縮伸張部32は、画像データを記録する際には、SDRAM37から画像データを読み出して、読み出した画像データを例えば静止画の場合にはJPEG圧縮方式、動画の場合にはJPEG圧縮方式またはH.264圧縮方式等の圧縮方式に従って圧縮し、圧縮した画像データをSDRAM37に一旦記憶させる。こうしてSDRAM37に記憶された圧縮された画像データは、マイクロコンピュータ41により、ファイルを構成するために必要なヘッダが付加されて記録用のデータとして整えられる。そして、マイクロコンピュータ41の制御に基づき、整えられた記録用のデータが、メモリI/F35を介して記録媒体36に記録される。なお、本実施形態の撮像装置は、記録媒体36へ記録する画像の画素数を例えば複数の選択肢の中から選択して設定可能となっているものとする。
また、画像圧縮伸張部32は、読み出された画像データの伸張も行う。すなわち、記録済み画像の再生を行う場合には、マイクロコンピュータ41の制御に基づき、例えばJPEGファイルがメモリI/F35を介して記録媒体36から読み出され、SDRAM37に一旦記憶される。画像圧縮伸張部32は、SDRAM37に記憶されたJPEG画像データを読み出して、読み出したJPEG画像データをJPEG伸張方式に従って伸張し、伸張した画像データをSDRAM37に記憶させる。
LCDドライバ33は、SDRAM37に記憶されている画像データを読み出して、読み出した画像データを映像信号へ変換し、LCD34を駆動制御して映像信号に基づく画像をLCD34に表示させる。このLCDドライバ33により行われる画像表示には、撮影直後の画像データを短時間だけ表示するレックビュー表示、記録媒体36に記録されたJPEGファイルの再生表示、およびライブビュー表示等における動画表示などが含まれる。なお、ライブビュー表示やレックビュー表示は、上述した縮小RAW画像データを利用して行うと処理時間を短縮し処理負荷を軽減できて良い。
LCD34は液晶パネルや有機ELパネル等の画像を表示可能なパネルであり、上述したようなLCDドライバ33の駆動制御により、画像を表示すると共に、この撮像装置に係る各種の情報を表示する。
メモリI/F35は、上述したように、画像データ等の情報の記録媒体36への書き込み、および記録媒体36からの画像データ等の情報の読み出しを行う。
記録媒体36は、画像データ等の情報を不揮発に記憶するものであり、例えばカメラ本体2に着脱可能なメモリカード等により構成されている。ただし、記録媒体36は、メモリカードに限定されるものではなく、ディスク状の記録媒体、カメラ本体2に固定された記録媒体、あるいは通信回線を介して接続された離隔した位置にある記録媒体でも良いし、その他の適宜の記録媒体であっても構わない。こうして記録媒体36は、撮像装置に固有の構成である必要はない。
SDRAM37は、上述したRAW画像データ、あるいは画像処理部27、画像圧縮伸張部32等において処理された画像データ等の各種データを一時的に記憶する記憶部である。
操作部38は、この撮像装置に対する各種の操作入力を行うためのものであり、撮像装置の電源をオン/オフするための電源ボタン、画像の撮影開始を指示するための例えば1st(ファースト)レリーズスイッチおよび2nd(セカンド)レリーズスイッチを有して構成されている2段式操作ボタンでなるレリーズボタン、記録画像の再生を行うための再生ボタン、撮像装置の設定等を行うためのメニューボタン、動画撮影を行うための動画ボタン、項目の選択操作に用いられる十字キーや選択項目の確定操作に用いられるOKボタン等の操作ボタンなどを含んでいる。この操作部38に対して操作が行われると、操作内容に応じた信号がマイクロコンピュータ41へ出力される。
フラッシュメモリ39は、マイクロコンピュータ41により実行される処理プログラムや、この撮像装置に係る各種の情報を不揮発に記憶する記憶媒体である。ここに、フラッシュメモリ39が記憶する情報としては、例えば、ホワイトバランスモードに応じたホワイトバランスゲイン等の撮像装置の動作に必要な各種パラメータ、および撮像装置を特定するための型式番号や製造番号などが幾つかの例として挙げられる。このフラッシュメモリ39が記憶する情報は、マイクロコンピュータ41により読み取られる。
バス40は、撮像装置内のある場所で発生した各種のデータや制御信号を、撮像装置内の他の場所へ転送するための転送路である。本実施形態におけるバス40は、A/D変換部25と、RAW縮小処理部26と、画像処理部27と、AE処理部30と、AF処理部31と、画像圧縮伸張部32と、LCDドライバ33と、メモリI/F35と、SDRAM37と、マイクロコンピュータ41と、に接続されている。
マイクロコンピュータ41は、カメラ本体2内の各部を制御すると共に、インタフェース3を介してマイクロコンピュータ14に指令を送信し交換式レンズ1を制御するものであり、この撮像装置を統括的に制御する制御部である。マイクロコンピュータ41は、ユーザにより操作部38から操作入力が行われると、フラッシュメモリ39に記憶されている処理プログラムに従って、フラッシュメモリ39から処理に必要なパラメータを読み込んで、操作内容に応じた各種シーケンスを実行する。
次に図2は、特殊画像処理部29の構成を示すブロック図である。
特殊画像処理部29は、解析部45と、ゲインマップ生成部46と、色変更処理部47と、を備えている。
解析部45は、画像の部分領域を構成する画素の画素値に基づき部分領域に対応する代表値を算出することを複数の部分領域に対して行い、算出した複数の代表値と複数の部分領域の配置とに基づき代表値の配置を得る。
ゲインマップ生成部46は、解析部45により得られた代表値の配置に基づいて、画像を構成する各画素に対応するゲイン値を与えるゲインマップであって、ゲイン値が最大となる領域が代表値が最大となる部分領域以外の部分領域に対応するようなゲインマップを得る。ここに、ゲインマップ生成部46は、ゲイン値の空間分布が滑らかに変化するようなゲインマップを得るものとなっている。さらに、ゲインマップ生成部46は、ゲインマップ上のゲイン値のヒストグラムが平坦化(ただし、完全に平坦であることを意味するわけではなく、偏りが比較的小さいという意味)された分布となるようなゲインマップ、つまり、小さいゲイン値の画素が多い偏り、あるいは大きいゲイン値の画素が多い偏り、等の偏りが比較的小さいゲインマップを得るものとなっていることが好ましい。
具体的に、本実施形態のゲインマップ生成部46は、代表値の配置を異ならせるように、複数の代表値をゲインマップ上の複数の所定の画素位置に配置し、所定の画素位置から任意の画素位置までの距離に基づいて任意の画素位置のゲイン値を補間することによりゲインマップを算出するようになっている。ここでゲインマップ生成部46により算出されたゲインマップは、SDRAM37に記憶される。
色変更処理部47は、ゲインマップ生成部46から出力されたゲインマップに基づいて、画像の色相と彩度との少なくとも一方を変更する。
具体的に、画像における画素位置を(x,y)とし、画像を表現する色空間の成分の内の、色相または彩度に係る成分の少なくとも1つをCにより表すとすると、画素位置に依存しない所定の定数をC_cntとし、画素位置(x,y)における、色変更処理部47による色変更前の成分をC_in(x,y)、色変更後の成分をC_out(x,y)、ゲインマップのゲイン値をG(x,y)とすれば、色変更処理部47は、例えば、
C_out(x,y)=C_in(x,y)+C_cnt×G(x,y)
の演算を全ての画素位置(x,y)に対して行うことにより、画像の色変更を行うものとなっている。従って、ゲイン値G(x,y)が大きい程、色の変更量が大きくなる(一方、ゲイン値G(x,y)が0であれば、色は変更されない)。
この特殊画像処理部29により行われるゲインマップ作成処理の一例について、図3〜図7を参照して説明する。
図3は、解析部45による解析の対象となる、SDRAM37に記憶されている画像データにより表される画像Pの一例を示す図である。
SDRAM37に記憶されている画像データは、例えば、撮像部22から出力または記録媒体36から読み出されたRAW画像データ、RAW縮小処理部26により生成または記録媒体36から読み出された縮小RAW画像データ、基本画像処理部28により基本画像処理がなされた画像データ、記録媒体36から読み出されて画像圧縮伸張部32により伸張された画像データ、等の内の何れかである。図3に示す画像Pの例えば中央部には、主要被写体OBJが写っており、主要被写体OBJの背景における左上側は輝度が低い部分、右下側は輝度が高い部分となっているものとする(ここに、図面上において滑らかな階調を表現することが難しいためにそのように見えないが、左上側の輝度が低い部分から右下側の輝度が高い部分へは滑らかに階調が変化しているものとする、以下同様)。
解析部45は、図3に示すような画像Pの輝度信号(あるいは、近似的に輝度信号と見なし得るような輝度相当信号、以下同様)を抽出する。そして、解析部45は、抽出した輝度信号に係る画像Pを例えば縦横それぞれ1/8に分割し、分割により得られる合計64個の部分領域の内の、例えば左上角の第1部分領域R1、右上角の第2部分領域R2、左下角の第3部分領域R3、および右下角の第4部分領域R4を、代表値を算出する対象の部分領域とする。ここに、図4は、画像Pにおいて、代表値を算出する対象の第1〜第4部分領域R1〜R4を示す図である。
そして、解析部45は、第1〜第4部分領域R1〜R4のそれぞれについて、部分領域内の画素値を積算して部分領域内の画素数で割ることにより平均画素値を算出し、算出した平均画素値を各部分領域R1〜R4それぞれの代表値V1〜V4とする。ここで得られた代表値V1〜V4の大きさが、例えば、V4>V2>V3>V1となっているものとする。
なお、ここでは部分領域の平均画素値を代表値としたが、部分領域の画素値の中央値を代表値としても良いし、部分領域の画素値の例えば最大値を代表値とすることも考えられ、より一般には代表値の算出方法はこれらに限定されるものではない。
図5は、第1〜第4部分領域R1〜R4の配置と代表値V1〜V4とに基づき解析部45により得られた代表値の配置を示す図である。
図5に示す代表値の2×2配置において、左上角の第1部分領域R1の代表値V1は左上に配置され、右上角の第2部分領域R2の代表値V2は右上に配置され、左下角の第3部分領域R3の代表値V3は左下に配置され、および右下角の第4部分領域R4の代表値V4は右下に配置されている。
ゲインマップ生成部46は、解析部45により得られた図5のような代表値の配置に基づいて、最大の代表値V4以外の代表値V1〜V3に対応する部分領域R1〜R3の何れかに、最大の代表値V4が割り当てられるように、代表値の配置を異ならせる。このような処理を行う理由は、より高い色変更効果を得るためである。つまり、最大の代表値V4が得られた第4部分領域R4は、輝度が高い領域であり、輝度が高いと白色(色飽和した状態)に近付いて色の表現範囲が狭くなるために、色変更処理を行っても得られる効果が低いからである。具体的に、ゲインマップ生成部46は、例えば、図5に示す代表値の配置を、反時計回りに90度回転する。ここに図6は、ゲインマップ生成部46により図5の配置を異ならせて作られた代表値の配置を示す図である。
次に、ゲインマップ生成部46は、図6に示す変更後の代表値の配置において、代表値が所定の範囲内の値になるよう正規化を行う。この正規化は、例えば、最大の代表値V4を1、最小の代表値V1を0とし、それ以外の代表値V2,V3がそれぞれの値に応じて0よりも大きく1未満の範囲の値となるようにする処理である。この正規化を行うと、生成されたゲインマップにおけるゲイン値のヒストグラムは、この正規化を行わずに生成したゲインマップにおけるゲイン値のヒストグラムに比べて、ゲイン値のダイナミックレンジがより広くなる可能性がある(例えば、画素値が取り得るダイナミックレンジが0〜1023であって、最小の代表値が10、最大の代表値が1000である場合に、0〜1023を単純に0〜1に変換すると、最小の代表値は約0.01、最大の代表値は約0.98となるが、本実施形態の正規化を用いれば最小の代表値は0.0、最大の代表値は1.0となるため)。ただし、色変更処理における変更量の大きさは、ゲイン値に対して乗算される定数値(上述した所定の定数C_cnt)の大きさを変えることによっても変更可能であるために、その場合にはこの正規化の処理を省略することも可能である。
続いて、ゲインマップ生成部46は、変更後の(あるいはさらに正規化後の)代表値の配置に基づいて、画像を構成する各画素に対応するゲイン値を与えるゲインマップを作成する。このゲインマップは、例えば、基本画像処理部28により基本処理が行われた画像に対して適用されるために、つまり基本処理が行われた画像の画素構成に一対一に対応する画素構成のマップを作成する。
具体的に、図6に示す、左上角の代表値V2をゲインマップの左上角の画素のゲイン値、右上角の代表値V4をゲインマップの右上角の画素のゲイン値、左下角の代表値V1をゲインマップの左下角の画素のゲイン値、右下角の代表値V3をゲインマップの右下角の画素のゲイン値として、これら4つの所定の画素位置から任意の画素位置までの距離に基づいて、任意の画素位置のゲイン値を補間(例えば、線形補間)することによりゲインマップを算出する。ここに、距離に基づいてゲインマップを算出しているのは、グラデーションが滑らかなゲインマップを作成することが好ましいためであるが、補間方法には種々の方法があるために、他の適宜の方法を用いても勿論構わない。そして、算出されたゲインマップは、例えばSDRAM37に記憶される。
図7は、図6の配置に基づきゲインマップ生成部46により算出されたゲインマップGMを示す図である。
この図7に示すゲインマップGMは、図6に示した変更後の代表値の配置に基づき算出されたものであるために、左下の部分のゲイン値が低く、右上の部分のゲイン値が高く、それ以外の部分は所定の画素位置である4つの角からの距離に応じた中間のゲイン値となっている。
また、特殊画像処理部29により行われるゲインマップ作成処理の他の例について、図8〜図11を参照して説明する。
図4に示した例では4つの角の第1〜第4部分領域R1〜R4に基づき図5に示した代表値の2×2配置を得たが、ここでは図8に示すように、さらに、矩形をなす画像Pの長辺方向に沿った中間位置の部分領域R5およびR6を用いて代表値の3×2配置を得るようにしている。このように、代表値を算出する対象の部分領域の数は4に限るものではなく、適宜の複数であれば良い。
図8は、画像Pにおいて、代表値を算出する対象の第1〜第6部分領域R1〜R6を示す図である。
第5部分領域R5は、第1部分領域R1と第2部分領域R2との中間に位置し、第6部分領域R6は、第3部分領域R3と第4部分領域R4との中間に位置している。解析部45は、上述と同様に代表値V1〜V4を算出するだけでなく、さらに、第5部分領域R5から代表値V5を、第6部分領域R6から代表値V6を、それぞれ算出する。そして、解析部45は、代表値の配置を図9に示すように取得する。
ここに、図9は、第1〜第6部分領域R1〜R6の配置と代表値V1〜V6とに基づき解析部45により得られた代表値の配置を示す図である。
この図9に示す例では、代表値V5は例えば代表値V1と代表値V2との中間の値、代表値V6は例えば代表値V3と代表値V4との中間の値となっている。
ゲインマップ生成部46は、例えば、図9に示す代表値の配置を、例えば時計回りに135度回転する。図10は、ゲインマップ生成部46により図9の配置を異ならせて作られた代表値の配置を示す図である。さらに、ゲインマップ生成部46は、図10に示す変更後の代表値の配置において、必要に応じて、代表値の正規化を上述したように行う。
このように、代表値の配置を異ならせる処理は、90度単位の回転に限るものではなく、任意角度の回転により行っても良い。このときの回転方向や回転角度は、例えば、最大の代表値と、最大の代表値に隣接する代表値と、の位置関係や代表値同士の値の大きさの関係に基づいて決定するようにしても良い(後述する実施形態2も参照)。
さらに、代表値の変更を回転により行うに限るものではなく、鏡面対称に反転させることにより行っても良いし、1組の代表値同士を交換することを1回、もしくは異なる組み合わせに対して2回以上実行することにより行っても構わない。
続いて、ゲインマップ生成部46は、変更後の(あるいはさらに正規化後の)代表値の配置に基づいて、図11に示すように、ゲインマップGMを作成する。図11は、図10の配置に基づきゲインマップ生成部46により算出されたゲインマップGMを示す図である。
この図11に示すゲインマップGMは、図10に示した変更後の代表値の配置に基づき算出されたものであるために、ゲイン値が、左側ほど高く、右側ほど低い分布となっている。
上述したように、代表値を算出する対象の部分領域の数は適宜の複数で良く、代表値の配置の変更方法も特定の方法に限定されるものではないが、作成されるゲインマップGMが、中央部に比べて周辺部における何れか部分のゲイン値が高くなるような分布であると良い。これは、中央部のゲイン値が高い(つまり、中央部の色変更が大きい)と画像全体の色合いが変色したかのような不自然な印象を受けることがあり、こうした画像となるのを防ぐためである。
なお、図7や図11に示したようなゲインマップGMを作成するための画像データとして、例えば縮小RAW画像データを利用する場合には、RAW画像データに比べて画素数が少ないために処理を高速かつ低負荷で行うことができる。また、縮小RAW画像データに設定する部分領域の大きさ(部分領域に含まれる画素数)を、縮小していないRAW画像データに設定する部分領域の大きさと同じにする場合には、画像に占める部分領域の大きさの割合が縮小していないRAW画像データの場合よりも大きくなるために、ノイズや僅かな画角変更の影響を受け難くなり、安定したゲインマップGMを作成することができる利点がある。
また、縮小RAW画像データまたはRAW画像データを用いるときに、撮像素子23のカラーフィルタにおいて最も感度の高いフィルタに対応する画素のデータを輝度相当信号として抽出して用いることにより、全ての色のカラーフィルタに対応する画素のデータから輝度信号を生成して用いる場合よりも、処理を低負荷に行うことができる。
上述したようにゲインマップGMが作成されたら、色変更処理部47は、ゲインマップGMの各画素位置のゲイン値Gを用いて、基本画像処理が行われた画像の色相と彩度との少なくとも一方を変更する。
具体的に、基本画像処理が行われた画像がRGB画像、つまり画像を表現する色空間がRGB色空間であり、色相または彩度に係る成分Cが、R,G,Bである場合について説明する。
成分Cについて上述したのと同様に、画素位置を(x,y)とし、色変更処理部47による色変更前の各色成分の画素値をR_in(x,y),G_in(x,y),B_in(x,y)、色変更後の各色成分の画素値をR_out(x,y),G_out(x,y),B_out(x,y)、各色成分に対する画素位置に依存しない所定の定数をR_cnt,G_cnt,B_cnt、ゲインマップGMにおける画素位置に応じたゲイン値をG(x,y)とすると、色変更処理部47は、
R_out(x,y)=R_in(x,y)+R_cnt×G(x,y)
G_out(x,y)=G_in(x,y)+G_cnt×G(x,y)
B_out(x,y)=B_in(x,y)+B_cnt×G(x,y)
の演算を行うことにより、色変更処理を行う。
ここに、この色変更処理が色相と彩度との少なくとも一方を変更する処理となるためには、
R_cnt≠G_cnt
G_cnt≠B_cnt
B_cnt≠R_cnt
の内の少なくとも1つが成立していることが必要である。
このような所定の定数の値の一例は、
(R_cnt,G_cnt,B_cnt)=(25,−15,−10)
である。この定数値は、画像にマゼンタの色合いを加えるための値となっている。従って、元の画像に加えたい色合いに応じて、定数(R_cnt,G_cnt,B_cnt)を適切に選ぶと良い。この定数は、フレーム単位で変更しても良いし、撮影シーンに応じて変更しても構わない。
なお、ここでは画像を表現する色空間としてRGB色空間を例に挙げたが、YCbCr色空間、YUV色空間、YPbPr色空間、L*a*b*色空間、HSV色空間などの各種の色空間においても同様の色変更処理を行うことが可能である。例えば、YCbCr色空間、YUV色空間、YPbPr色空間、あるいはL*a*b*色空間は、何れも輝度成分と色差成分とに分けられているために、少なくとも色差成分の1つに対して上述したような処理を行えば良い(輝度成分については行っても良いし、行わなくても構わない)。また、HSV色空間の場合には、色相Hと彩度Sとの少なくとも一方に対して上述したような処理を行えば良い(明度Vについては行っても良いし、行わなくても構わない)。
次に、図12〜図14を参照して、撮像装置の処理を説明する。
まず、図12は撮像装置におけるメイン処理の流れを示すフローチャートである。この図12に示す処理は、マイクロコンピュータ41の制御に基づき行われる。
操作部38の電源ボタンがオン操作されて撮像装置の電源がオンになると、このメイン処理が開始され、まず撮像装置の初期化を行う(ステップS11)。この初期化において、動画記録中であるか否かを示す記録中フラグもオフにリセットされる。
次に、マイクロコンピュータ41は、操作部38の再生ボタンが操作されたか否かを判定する(ステップS12)。
ここで再生ボタンが操作された場合には、再生・編集処理を行う(ステップS13)。この再生・編集処理は、記録媒体36に記録されているファイルの一覧を表示して、ユーザーからの選択操作を待ち、選択決定されたファイルを再生し、または選択されている画像を編集する処理である。
ステップS12において再生ボタンが操作されていないか、あるいはステップS13の処理が行われた場合には、操作部38のメニューボタンが操作されて、撮像装置に関するカメラ設定が選択されたか否かを判定する(ステップS14)。
ここでカメラ設定が選択された場合には、カメラ設定を変更するメニューをLCD34に表示して、カメラ設定を変更するユーザ操作が操作部38からなされるのを待機する。ここに、カメラ設定の幾つかの例としては、
仕上がり:ナチュラル、ビビッド、フラット、モノトーン
エフェクト:日焼け効果
静止画記録モード:JPEG記録、TIFF記録、
JPEG+RAW記録、RAW記録
動画記録モード:Motion JPEG、H.264
画質:ファイン、ノーマル
などが挙げられるが、これらに限るものではない。
そして、ユーザ操作がなされた場合には、操作内容に応じてカメラ設定を行う(ステップS15)。このカメラ設定において、エフェクトとして、上述したようなプリント写真の経年変化や日光による退色を再現する色変更処理である日焼け効果をオンに設定する場合には、さらに、どの色合いの日焼け効果を得るようにするかをユーザが所望に選択設定することができるようにしても良い。
ステップS14においてカメラ設定が選択されていないか、あるいはステップS15の処理が行われた場合には、操作部38の動画ボタンが操作されたか否かを判定する(ステップS16)。
ここで、動画ボタンが操作された場合には、まず、記録中フラグを反転(つまり、オンであればオフに、オフであればオンに)して(ステップS17)、記録中フラグがオンであるかオフであるかに基づき、動画記録中であるか否かを判定する(ステップS18)。
ここで動画記録中である場合には記録開始されたことになるために動画像ファイルを生成し、画像データを記録できるように準備する(ステップS19)。
また、動画記録中でない場合には、記録終了することになるために、動画像ファイルのヘッダにフレーム数を記録する等を行って動画像ファイルとして再生可能な状態にし、ファイル書き込みを終了して動画像ファイルを閉じる(ステップS20)。
ステップS16において動画ボタンが操作されていないか、あるいはステップS19またはステップS20の処理が行われた場合には、ステップS18と同様に記録中フラグに基づき動画記録中であるか否かを判定する(ステップS21)。
ここで動画記録中でない場合には、レリーズボタンがオフから1段階目の押圧状態(いわゆる半押状態)である1stレリーズオンの状態へ遷移したか否かを判定する(ステップS22)。
ここで1stレリーズオンの状態へ遷移した場合には、この遷移したタイミングにおいて、静止画像を撮影するための自動露出(AE)制御をAE処理部30により行うと共に、自動焦点制御(AF)をAF処理部31により行う(ステップS23)。これにより、1stレリーズボタンが押圧された以降は、いわゆるAEロックおよびAFロックが行われる。
一方、ステップS22において1stレリーズオンの状態へ遷移していない場合には、レリーズボタンが2段階目の押圧状態である2ndレリーズオンの状態(いわゆる全押状態)となっているか否かを判定する(ステップS24)。
ここで2ndレリーズオンの状態となっている場合には、絞り12を駆動しシャッタ21を開いて撮像素子23により露光する一連の撮影処理を実行する(ステップS25)。
続いて、撮影により得られた画像に対して、後で図13を参照して説明するような画像処理を行う(ステップS26)。
その後、画像処理された静止画像は、例えばレックビューとしてLCD34に表示されると共に、カメラ設定されている型式で静止画像ファイルとして記録媒体36に記録される(ステップS27)。具体例を挙げれば、静止画記録モードとしてJPEG記録が設定されている場合には、YC422形式でJPEG圧縮してJPEGファイルを作成し記録を行う。また、静止画記録モードとしてTIFF記録が設定されている場合には、RGBデータに変換してRGB形式でTIFFファイルを作成し記録を行う。さらに、RAW記録を行うように設定されている場合には、ステップS25で撮影して得たRAW画像をRAWファイルとして記録する。
そして、ステップS21において動画記録中である場合、またはステップS24において2ndレリーズオンの状態となっていない場合には、シャッタ21を開放状態にして、動画撮影またはライブビュー用の自動露出(AE)制御をAE処理部30により行い(ステップS28)、電子シャッタによる1フレーム(あるいは1フィールド等)の画像撮影を行う(ステップS29)。
こうして撮影された画像に対して、後で図13を参照して説明するような画像処理を行い(ステップS30)、LCD34にライブビュー表示を行う(ステップS31)。
次に、動画記録中であるか否かを判定して(ステップS32)、動画記録中である場合には撮影して得られたフレーム画像を画像圧縮伸張部32で圧縮して記録媒体36へ記録(追記)する(ステップS33)。
ステップS23、ステップS27、あるいはステップS33の処理を行うか、またはステップS32において動画記録中でない場合には、電源ボタンがオフ操作されたか否かを判定する(ステップS34)。
ここで、電源ボタンがオフ操作されていない場合には、ステップS12へ戻って上述したような処理を繰り返して行い、電源ボタンがオフ操作された場合には、このメイン処理を終了する。
次に図13は、撮像装置の画像処理部27により行われる画像処理の流れを示すフローチャートである。
この処理に入ると、OB減算処理を行い、画像データからオプティカルブラック値を減算する(ステップS41)。
続いて、例えばベイヤー配列となっている画像データに対して、予めユーザーが設定したホワイトバランスモードに応じたRゲインとBゲインをカメラ本体のフラッシュメモリ39から読み出して、読み出したRゲインをR画素値に、BゲインをB画素値にそれぞれ乗算することによりホワイトバランス(WB)補正を行う(ステップS42)。なお、ホワイトバランスモードとしてオートホワイトバランスが選択されている場合には、撮影した画像データを解析することによりRゲインとBゲインを算出し、算出したRゲインとBゲインを用いてホワイトバランス補正を行う。
そして、1画素につきRGB成分の内の1色成分のみが存在するベイヤー配列の画像データから、着目画素に存在しない色成分を周辺画素から補間して求めることにより、全画素がRGBの3色成分を全て備える画像データに変換する同時化処理を行う(ステップS43)。
さらに、設定されているホワイトバランスモードに応じたカラーマトリクス係数を本体のフラッシュメモリ39から読み出して画像データに乗算すると共に、色相や彩度に応じて適切な色再現になるように色を補正することにより、色再現処理を行う(ステップS44)。
次に、RGBデータをそれぞれガンマ変換してから、YCbCrデータに色変換した後に、輝度データYに対してさらにガンマ変換することにより、輝度変更処理を行う(ステップS45)。
続いて、バンドパスフィルタにより画像データからエッジ成分を抽出して、抽出したエッジ成分に、エッジ強調度に応じた係数を乗算して画像データに加算することにより、エッジ強調処理を行う(ステップS46)。
加えて、画像データを周波数分解して、周波数に応じてコアリング処理などを行うことにより、ノイズを低減するノイズリダクション処理を行う(ステップS47)。
上述したステップS41〜S47の処理が、基本画像処理部28により行われる基本画像処理である。
続いて、操作部38からの入力設定により、日焼け効果がオンに設定されているか否かを判定する(ステップS48)。
ここで日焼け効果がオンに設定されている場合には、特殊画像処理部29により以下に説明するステップS49〜S51の処理を行う。
すなわち、解析部45が、図3に示すような画像Pから輝度信号(あるいは輝度相当信号)を抽出し、図4(または図8)に示したような部分領域を設定して、図5(または図9)に示したような代表値の配置を算出する(ステップS49)。
次に、ゲインマップ生成部46が、図5(または図9)に示したような代表値の配置に基づいて、図6(または図10)に示したように配置を変更し、変更された代表値の配置に基づいて図7(または図11)に示したようなゲインマップGMを作成する(ステップS50)。
その後、色変更処理部47が、後で図14を参照してするような色変更処理を行う(ステップS51)。
このステップS51の処理を行うか、またはステップS48において日焼け効果のエフェクトがオンでない場合には、この処理からリターンする。
続いて図14は、撮像装置の色変更処理部47により行われる色変更処理を示すフローチャートである。
この処理に入ると、色変更処理部47は、基本画像処理が行われてSDRAM37に記憶されている画像データから、例えば画素配列の順序に従った画素位置(x,y)における1画素の画素値を取得する(ステップS61)。
次に、取得した画素がRGB色空間で表現されていない場合には、RGB色空間の画素値(R_in(x,y),G_in(x,y),B_in(x,y))に変換する(ステップS62)。
そして、ステップS61において画素値を取得した画素と同一画素位置(x,y)のゲイン値G(x,y)を、SDRAM37に記憶されているゲインマップGMから取得する(ステップS63)。
続いて、所定の定数R_cnt,G_cnt,B_cntにゲイン値G(x,y)を乗算することにより、画素値に対する色変更量であるオフセット(R_cnt×G(x,y),G_cnt×G(x,y),B_cnt×G(x,y))を算出する(ステップS64)。
さらに、画素値(R_in(x,y),G_in(x,y),B_in(x,y))にオフセット(R_cnt×G(x,y),G_cnt×G(x,y),B_cnt×G(x,y))を加算することにより、色変更処理を行う(ステップS65)。
加えて、ステップS62と逆の色空間変換を必要に応じて行って、元の色空間の表現に戻す(ステップS66)。
その後、全画素の処理が完了したか否かを判定して(ステップS67)、まだ全画素の処理が完了していない場合にはステップS61へ戻って次の画素位置について同様の処理を行い、全画素の処理が完了した場合にはこの処理からリターンする。
このような実施形態1によれば、画像の部分領域を構成する画素の画素値に基づきゲインマップを作成して画像の色相と彩度との少なくとも一方を変更しているために、ランダムではないのに画像毎に異なる色変更を行うことができ、結果を容易に予想することができず意外性を生じる余地がある色変更画像を得ることができる。そして、画像の画素値を利用しておりランダムな処理ではないために、連写や動画などにおけるフレーム間の相関性をある程度維持することができ、不自然な画像群となるのを避けることができる。従って、利便性の高い画像の色変更を行うことが可能となる。
また、ゲイン値が最大となる領域が、代表値が最大となる部分領域以外の部分領域に対応するようなゲインマップを作成しているために、大きな色変更を行う領域が色飽和した輝度の高い領域となるのを避けることができ、より効果的な色変更となる。
さらに、ゲイン値の空間分布が滑らかに変化するようなゲインマップを得るようにしているために、隣接する画素間で色が急激に変化することはない。また、ゲイン値のヒストグラムが平坦化された分布となるようなゲインマップを生成するようにしているために、画像全体がほぼ均一に強く色変更されたり、あるいは画像全体の色変更がほとんどなかったりするような処理を避けることができる。こうして、色変更が滑らかに生じ、色変更が比較的大きい部分と比較的小さい部分とが程良く分布した自然な風合いの色変更画像を得ることができる。
そして、配置を異ならせた複数の代表値をゲインマップ上の複数の所定の画素位置に配置し、所定の画素位置から任意の画素位置までの距離に基づいて任意の画素位置のゲイン値を補間するようにしたために、色合いの変化に不自然な段差等が生じることのない、自然なグラデーションで色合いが変化した色変更画像を得ることができる。
加えて、ゲイン値に所定の定数を乗算したオフセットを画像に加算することで色変更画像を算出しているために、コンピュータでの演算処理に適しており、高速な処理が可能となる。このとき、ゲイン値に乗算する定数を選択することにより、所望の色合いの色変更を行うことが可能となり、日焼けしたような画像を得る用途だけでなく、その他の様々な用途に対応することも可能となる。
[実施形態2]
図15から図18は本発明の実施形態2を示したものであり、図15は撮像装置が予め記憶している基本ゲインマップの例を示す図表である。
この実施形態2において、上述の実施形態1と同様である部分については同一の符号を付すなどして説明を適宜省略し、主として異なる点についてのみ説明する。
本実施形態においては、基本的なゲイン値の分布を示す基本ゲインマップが、例えばフラッシュメモリ39に予め(例えば、撮像装置の製造工程において)記憶されている。
ここで上述したように、記録媒体36へ記録する画像の画素数(画素構成)は、複数の選択肢の中から選択して設定可能である。しかし、記録可能な全ての画素構成に合わせて基本ゲインマップを予め多数用意しておくことは、フラッシュメモリ39として大容量のものが必要となるために現実的でない。そこで、基本ゲインマップは、記録画像の最大画素数以下の画素構成、例えば記録画像の最小画素数と同程度かあるいはそれよりも小さい画素構成のデータとして構成されているものとする。このような構成により、フラッシュメモリ39の記憶容量を削減することが可能となる。
図15に示す例においては、右上角の高いゲイン値(例えばゲイン値1)から左下角の低いゲイン値(例えばゲイン値0)へ向けて滑らかなグラデーションをなす基本ゲインマップBGM1と、右下角の高いゲイン値(例:1)から左上角の低いゲイン値(例:0)へ向けて滑らかなグラデーションをなす基本ゲインマップBGM2と、左下角の高いゲイン値(例:1)から右上角の低いゲイン値(例:0)へ向けて滑らかなグラデーションをなす基本ゲインマップBGM3と、左上角の高いゲイン値(例:1)から右下角の低いゲイン値(例:0)へ向けて滑らかなグラデーションをなす基本ゲインマップBGM4と、がフラッシュメモリ39に記憶されている。
これらの基本ゲインマップBGM1〜BGM4は、ゲイン値の空間分布が滑らかに変化し、さらに、ゲイン値のヒストグラムが平坦化された分布となるような(つまり、高いゲイン値や低いゲイン値などの特定のゲイン値の画素数が偏って多かったり少なかったりすることのない)ゲインマップとなっている。
このような構成において、解析部45が画像データを解析して例えば図5に示したような代表値の配置を得るのは上述した実施形態1と同様である。
ゲインマップ生成部46は、解析部45により得られた代表値の配置に基づき、フラッシュメモリ39に記憶されている基本ゲインマップBGM1〜BGM4の中から、使用する基本ゲインマップを選択する。このときの選択は、例えば以下のように行う。
上述したように、輝度が高い領域は白色(色飽和した状態)に近く色の表現範囲が狭い。一方、輝度が低い領域は黒色に近いために同様に色の表現範囲が狭い。一般に、色の表現範囲が広いのは、輝度が中庸の領域である。
そこでゲインマップ生成部46は、例えば図5のように得られた代表値V1〜V4の内から、代表値のダイナミックレンジ(つまり、画素値のダイナミックレンジであり、例えば10ビットである場合には0〜1023)の中央値(例えば512)に最も近い代表値を選択する。
図5に示す例において、ダイナミックレンジの中央値に最も近い代表値がV2であったものとする。
すると、ゲインマップ生成部46は、代表値V2の配置である右上に高いゲイン値が配分されるように、図16に示すような基本ゲインマップBGM1を選択する。ここに図16は、ゲインマップ生成部46により選択された基本ゲインマップBGM1を示す図である。
選択された基本ゲインマップBGM1は、上述したように、色変更処理の対象となる画像データよりも小さい画素構成である場合が多い。そこで、ゲインマップ生成部46は、基本ゲインマップBGM1を補間(例えば線形補間)することにより、色変更処理の対象となる画像データと同一の画素構成のゲインマップGMを生成する。ここに図17は、図16に示す基本ゲインマップBGM1を補間して作成されたゲインマップGMを示す図である。
補間元の基本ゲインマップBGM1が、上述したようにゲイン値の空間分布が滑らかに変化し、ゲイン値のヒストグラムが平坦化された分布であるために、線形補間等により作成されたゲインマップGMもゲイン値の空間分布が滑らかに変化し、ゲイン値のヒストグラムが平坦化された分布となる。
また、図18は、撮像装置が予め記憶している基本ゲインマップの変形例を示す図である。
図15に示した例では基本ゲインマップBGM1〜BGM4をフラッシュメモリ39に記憶させたが、これらは90度単位の回転対称性を備えている。従って、この図18に示す例では、基本ゲインマップBGM1〜BGM4の内の1つの基本ゲインマップ、ここでは例えば基本ゲインマップBGM4に相当する基本ゲインマップBGMのみをフラッシュメモリ39に記憶させて、その他の基本ゲインマップBGM1〜BGM3が必要となった場合には基本ゲインマップBGMを回転させることにより得るようにしている。
このような構成を採用すれば、フラッシュメモリ39における基本ゲインマップの記憶容量を図15に示した例よりも例えば1/4に低減することができる。また、行方向および列方向にゲイン値が配列された基本ゲインマップBGMを90度単位で回転させることは、基本ゲインマップBGMの読出開始位置および読出順序を変更すれば容易に実行できるために、処理負荷がほとんど増加することがない利点もある。
なお、上述では基本的なゲイン値の分布を示す基本ゲインマップを予めフラッシュメモリ39に記憶しておいたが、これに代えて、ゲインマップを作成可能な数式やアルゴリズム等をフラッシュメモリ39に予め記憶しておき、代表値の配置に基づき使用する数式やアルゴリズムを選択してゲインマップを作成するようにしても構わない。ゲインマップは比較的単純な数式等により表現可能である場合が多いために、このような構成を採用すればフラッシュメモリ39の記憶容量をより削減することが可能となる。
このような実施形態2によれば、上述した実施形態1とほぼ同様の効果を奏するとともに、ゲイン値の空間分布が滑らかに変化し、ゲイン値のヒストグラムが平坦化された分布となっている基本ゲインマップに基づいてゲインマップGMを生成するようにしたために、画像全体がほぼ均一に強く色変更されたり、あるいは画像全体の色変更がほとんどなかったりするような処理を避けることができる。こうして、色変更が滑らかに生じ、色変更が比較的大きい部分と比較的小さい部分とが程良く分布した自然な風合いの色変更画像を得ることができる。
[実施形態3]
図19および図20は本発明の実施形態3を示したものであり、図19は撮像装置が予め記憶している補正係数マップの例を示す図である。
この実施形態3において、上述の実施形態1,2と同様である部分については同一の符号を付すなどして説明を適宜省略し、主として異なる点についてのみ説明する。
本実施形態においては、上述した実施形態1で説明したように作成されたゲインマップGMを補正するための補正係数の分布を示す補正係数マップCCMが、例えばフラッシュメモリ39に予め(例えば、撮像装置の製造工程において)記憶されている。この補正係数マップCCMは、図19に示すように、特定の画素位置(例えば画像中央部分)が最も小さな値となり、特定の画素位置から離隔するほど(例えば画像周辺に行くほど)大きな値となる補正係数の分布となっている。さらに、補正係数マップCCMは、演算を簡単にするために、補正係数の取り得る範囲が0以上1以下となるように正規化されているものとする。
なお、補正係数マップCCMは、被写体に応じて、一部を切り出すあるいは値を変更するようにしても良い。例えば、主要被写体を識別して、主要被写体部分は補正係数がより小さくなるような補正係数マップCCMを、一部の切り出しあるいは値の変更により生成するようにしても良い。
この補正係数マップCCMは、上述した実施形態2の基本ゲインマップと同様に、記録画像の最大画素数以下の画素構成、例えば記録画像の最小画素数と同程度かあるいはそれよりも小さい画素構成のデータとして構成し、色変更処理の対象となる画像データの画素構成に応じて補間等を行うようにすると良い。このような構成により、フラッシュメモリ39の記憶容量を削減することが可能となるのは上述と同様である。
このような構成において、解析部45が画像データを解析して例えば図5に示したような代表値の配置を得るのは上述した実施形態1と同様である。
さらに、ゲインマップ生成部46が、解析部45により得られた代表値の配置を例えば図6に示したように異ならせてから、補間処理することにより、例えば図7に示したようなゲインマップGMを算出する点も、上述した実施形態1と同様である。
本実施形態においてはさらに、ゲインマップ生成部46は、例えば図7に示したように作成したゲインマップGMの補正を行う。
すなわち、ゲインマップ生成部46は、フラッシュメモリ39から図19に示すような補正係数マップCCMを読み出して、読み出した補正係数マップCCMの画素構成が色変更処理の対象となる画像データの画素構成(ひいてはゲインマップGMの画素構成)と異なる場合には、補正係数マップCCMを補間(例えば線形補間)することにより、ゲインマップGMの画素構成と同じ画素構成の補正係数マップCCMを取得する。
次に、ゲインマップ生成部46は、ゲインマップGM上の各ゲイン値に対して、補正係数マップCCM上における同一画素位置の補正係数を乗算することにより、図20に示すような補正ゲインマップCGMを生成する。ここに、図20はゲインマップGMを補正係数マップCCMに基づき補正して得られた補正ゲインマップCGMの例を示す図である。
そして、色変更処理部47は、補正ゲインマップCGMに基づいて、画像の色相と彩度との少なくとも一方を、上述したように変更する。
なお、上述した実施形態2の構成の場合には、図19に示した補正係数マップCCMにより補正された後の基本ゲインマップをフラッシュメモリ39に予め記憶させておくようにすれば良いために、補正係数マップCCMを別途に記憶させておく必要はない。
このような実施形態3によれば、上述した実施形態1,2とほぼ同様の効果を奏するとともに、色変更処理を、特定の画素位置が最も小さな値となり、特定の画素位置から離隔するほど大きな値となる補正係数により補正した補正ゲインマップCGMに基づき行うようにしたために、例えば主要被写体OBJなどの色変更を抑制することができ、画像全体が色被りしてしまったような印象の画像となるのを防止して、好ましい色変更画像を得ることができる。
なお、上述では主として画像処理装置について説明したが、画像処理装置と同様の処理を行う画像処理方法であっても良いし、コンピュータを制御して画像処理装置と同様の処理を行うためのプログラム、該プログラムを記録するコンピュータにより読み取り可能な一時的でない記録媒体、等であっても構わない。
また、本発明は上述した実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明の態様を形成することができる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除しても良い。さらに、異なる実施形態にわたる構成要素を適宜組み合わせても良い。このように、発明の主旨を逸脱しない範囲内において種々の変形や応用が可能であることは勿論である。