以下、本発明の実施の形態につき、図面を参照して具体的に説明する。参照される各図において、同一の部分には同一の符号を付し、同一の部分に関する重複する説明を原則として省略する。後に第1〜第8実施例を説明するが、まず、各実施例に共通する事項又は各実施例にて参照される事項について説明する。
図1は、本発明の実施形態に係る撮像装置1の全体ブロック図である。撮像装置1は、例えば、デジタルビデオカメラである。撮像装置1は、動画及び静止画を撮影可能となっていると共に、動画撮影中に静止画を同時に撮影することも可能となっている。尚、動画撮影機能を省略し、撮像装置1を静止画のみを撮影可能なデジタルスチルカメラとすることも可能である。
[基本的な構成の説明]
撮像装置1は、撮像部11と、AFE(Analog Front End)12と、映像信号処理部13と、マイク14と、音声信号処理部15と、圧縮処理部16と、SDRAM(Synchronous Dynamic Random Access Memory)などの内部メモリ17と、SD(Secure Digital)カードや磁気ディスクなどの外部メモリ18と、伸張処理部19と、VRAM(Video Random Access Memory)20と、音声出力回路21と、TG(タイミングジェネレータ)22と、CPU(Central Processing Unit)23と、バス24と、バス25と、操作部26と、表示部27と、スピーカ28と、を備えている。操作部26は、録画ボタン26a、シャッタボタン26b及び操作キー26c等を有している。撮像装置1内の各部位は、バス24又は25を介して、各部位間の信号(データ)のやり取りを行う。
TG22は、撮像装置1全体における各動作のタイミングを制御するためのタイミング制御信号を生成し、生成したタイミング制御信号を撮像装置1内の各部に与える。タイミング制御信号は、垂直同期信号Vsyncと水平同期信号Hsyncを含む。CPU23は、撮像装置1内の各部の動作を統括的に制御する。操作部26は、ユーザによる操作を受け付ける。操作部26に与えられた操作内容は、CPU23に伝達される。撮像装置1内の各部は、必要に応じ、信号処理時に一時的に各種のデータ(デジタル信号)を内部メモリ17に記録する。
撮像部11は、撮像素子(イメージセンサ)33の他、光学系、絞り及びドライバ(図1において不図示)を備える。被写体からの入射光は、光学系及び絞りを介して、撮像素子33に入射する。光学系を構成する各レンズは、被写体の光学像を撮像素子33上に結像させる。TG22は、上記タイミング制御信号に同期した、撮像素子33を駆動するための駆動パルスを生成し、該駆動パルスを撮像素子33に与える。
撮像素子33は、例えばCCD(Charge Coupled Devices)やCMOS(Complementary Metal Oxide Semiconductor)イメージセンサ等からなる。撮像素子33は、光学系及び絞りを介して入射した光学像を光電変換し、該光電変換によって得られた電気信号をAFE12に出力する。より具体的には、撮像素子33は、マトリクス状に二次元配列された複数の画素(受光画素;不図示)を備え、各撮影において、各画素は露光時間に応じた電荷量の信号電荷を蓄える。蓄えた信号電荷の電荷量に比例した大きさを有する各画素からの電気信号は、TG22からの駆動パルスに従って、後段のAFE12に順次出力される。
AFE12は、撮像素子33から出力されるアナログ信号を増幅し、増幅されたアナログ信号をデジタル信号に変換してから映像信号処理部13に出力する。AFE12における信号増幅の増幅度はCPU23によって制御される。映像信号処理部13は、AFE12の出力信号によって表される画像に対して各種画像処理を施し、画像処理後の画像についての映像信号を生成する。映像信号は、画像の輝度を表す輝度信号Yと、画像の色を表す色差信号U及びVと、から構成される。
マイク14は撮像装置1の周辺音をアナログの音声信号に変換し、音声信号処理部15は、このアナログの音声信号をデジタルの音声信号に変換する。
圧縮処理部16は、映像信号処理部13からの映像信号を、所定の圧縮方式を用いて圧縮する。動画または静止画の撮影及び記録時において、圧縮された映像信号は外部メモリ18に記録される。また、圧縮処理部16は、音声信号処理部15からの音声信号を、所定の圧縮方式を用いて圧縮する。動画撮影及び記録時において、映像信号処理部13からの映像信号と音声信号処理部15からの音声信号は、圧縮処理部16にて時間的に互いに関連付けられつつ圧縮され、圧縮後のそれらは外部メモリ18に記録される。
録画ボタン26aは、動画の撮影及び記録の開始/終了を指示するための押しボタンスイッチであり、シャッタボタン26bは、静止画の撮影及び記録を指示するための押しボタンスイッチである。
撮像装置1の動作モードには、動画及び静止画の撮影が可能な撮影モードと、外部メモリ18に格納された動画及び静止画を表示部27に再生表示する再生モードと、が含まれる。操作キー26cに対する操作に応じて、各モード間の遷移は実施される。撮影モードでは、所定のフレーム周期にて順次撮影が行われ、撮像素子33から時系列で並ぶ画像列が取得される。この画像列を形成する各画像を「フレーム画像」と呼ぶ。
撮影モードにおいて、ユーザが録画ボタン26aを押下すると、CPU23の制御の下、その押下後に得られる各フレーム画像の映像信号及びそれに対応する音声信号が、順次、圧縮処理部16を介して外部メモリ18に記録される。動画撮影の開始後、再度ユーザが録画ボタン26aを押下すると、映像信号及び音声信号の外部メモリ18への記録は終了し、1つの動画の撮影は完了する。また、撮影モードにおいて、ユーザがシャッタボタン26bを押下すると、静止画の撮影及び記録が行われる。
再生モードにおいて、ユーザが操作キー26cに所定の操作を施すと、外部メモリ18に記録された動画又は静止画を表す圧縮された映像信号は、伸張処理部19にて伸張されてからVRAM20に書き込まれる。尚、撮影モードにおいては、通常、録画ボタン26a及びシャッタボタン26bに対する操作内容に関係なく、映像信号処理13による映像信号の生成が逐次行われており、その映像信号は順次VRAM20に書き込まれる。
表示部27は、液晶ディスプレイなどの表示装置であり、VRAM20に書き込まれた映像信号に応じた画像を表示する。また、再生モードにおいて動画を再生する際、外部メモリ18に記録された動画に対応する圧縮された音声信号も、伸張処理部19に送られる。伸張処理部19は、受け取った音声信号を伸張して音声出力回路21に送る。音声出力回路21は、与えられたデジタルの音声信号をスピーカ28にて出力可能な形式の音声信号(例えば、アナログの音声信号)に変換してスピーカ28に出力する。スピーカ28は、音声出力回路21からの音声信号を音声(音)として外部に出力する。
映像信号処理部13は、CPU23と協働しつつ、超解像処理を実施することが可能に形成されている。超解像処理によって、複数の低解像度画像から1枚の高解像度画像が生成される。この高解像度画像の映像信号を、圧縮処理部16を介して外部メモリ18に記録することができる。高解像度画像の解像度は、低解像度画像のそれよりも高く、高解像度画像の水平方向及び垂直方向の画素数は、低解像度画像のそれよりも多い。例えば、静止画の撮影指示がなされた時に、複数の低解像度画像としての複数のフレーム画像を取得し、それらに対して超解像処理を実施することにより高解像度画像を生成する。或いは例えば、動画撮影時に得られた複数の低解像度画像としての複数のフレーム画像に対して、超解像処理は実施される。
超解像処理の基本概念について簡単に説明する。例として、再構成型方式を用いた超解像処理を説明する。図2に、再構成型方式の一種であるMAP(Maximum A Posterior)方式を用いた超解像処理の概念図を示す。この超解像処理では、実際の撮影によって得られた複数の低解像度画像から1枚の高解像度画像を推定し、この推定した高解像度画像を劣化させることによって元の複数の低解像度画像を推定する。実際の撮影によって得られた低解像度画像を特に「観測低解像度画像」と呼び、推定された低解像度画像を特に「推定低解像度画像」と呼ぶ。その後、観測低解像度画像と推定低解像度画像との誤差が最小化されるように、高解像度画像と低解像度画像を反復推定し、最終的に取得される高解像度画像を出力する。
図3に、超解像処理の流れをフローチャートにて表す。まず、ステップS11にて初期高解像度画像が生成される。この初期高解像度画像は、後述の基準画像から生成される。続くステップS12にて、現時点の高解像度画像を構築する元の観測低解像度画像を推定する。推定された画像を、上述したように推定低解像度画像と呼ぶ。続くステップS13では、観測低解像度画像と推定低解像度画像との差分画像に基づいて現時点の高解像度画像に対する更新量を導出する。この更新量は、ステップS12〜S14の各処理の反復実行によって観測低解像度画像と推定低解像度画像との誤差が最小化されるように導出される。そして、続くステップS14にて、その更新量を用いて現時点の高解像度画像を更新し、新たな高解像度画像を生成する。この後、ステップS12に戻り、新たに生成された高解像度画像を現時点の高解像度画像と捉えて、ステップS12〜S14の各処理が反復実行される。基本的に、ステップS12〜S14の各処理の反復回数が増大するほど、得られる高解像度画像の解像度が実質的に向上し、理想に近い高解像度画像が得られる。
上述した動作の流れを基本とする超解像処理が、撮像装置1内にて実施される。撮像装置1にて実施される超解像処理は、どのような方式の超解像処理であっても構わないが、本実施形態では再構成型方式の超解像処理を採用した場合を説明する。再構成型方式は、ML(Maximum-Likelihood)法、MAP(Maximum A Posterior)法、POCS(Projection Onto Convex Set)法、IBP(Iterative Back Projection)法などを含むが、本実施形態では、MAP法を採用した構成を例にとる。
超解像処理に関する実施例として、以下に第1〜第8実施例を説明する。或る実施例に記載した事項は、矛盾なき限り、他の実施例にも適用可能される。
<<第1実施例>>
まず、第1実施例について説明する。図4は、超解像処理を担う超解像部50の内部ブロック図である。符号51、52及び54〜57にて参照される各部位は図1の映像信号処理部13内に設けられ、第1、第2、第3、第4のフレームメモリ61、62、63及び64は図1の内部メモリ17内に設けられる。基準画像設定部53の機能はCPU23にて実現される。但し、基準画像設定部53の機能を映像信号処理部13にて実現させるようにしてもよい。以下、第1、第2、第3、第4のフレームメモリを、単に、フレームメモリと略記する。フレームメモリ61〜63は、観測低解像度画像としてのフレーム画像の画像データを記憶するためのメモリであり、フレームメモリ64は、高解像度画像の画像データを記憶するためのメモリである。図5は、図4の各部位の動作の流れを時系列的に示した図であり、図5の横方向が時間方向に対応する。尚、或る注目した画像の画像データとは、その注目した画像の輝度及び色を表すデータ(例えば、RGB信号やYUV信号)である。
第1実施例では、3枚の観測低解像度画像から1枚の高解像度画像を生成する場合を例にとる。3枚の観測低解像度画像は、連続して撮影された3つのフレーム画像である。この3枚の観測低解像度画像をL1、L2及びL3にて表すこととし、観測低解像度画像L1、L2及びL3の順番で撮影がなされたものとする。以下の説明において、観測低解像度画像L1、L2及びL3をそれぞれ画像L1、L2及びL3と略記することもある(後述のL4等についても同様)。画像L1、L2及びL3の内、異なる2枚の画像間には、手ぶれ等に由来する位置ずれが生じているものとする。
画像L1、L2及びL3の順番で撮影が行われるため、選択部51及びぼけ量推定部52に、まず画像L1を表す画像データが入力され、次に画像L2を表す画像データが入力され、更にその次に画像L3を表す画像データが入力される。選択部51は、入力された観測低解像度画像の画像データが記憶されるフレームメモリを選択する。具体的には、選択部51は、画像L1の画像データ、画像L2の画像データ及び画像L3の画像データを、夫々、フレームメモリ61、62及び63に送って記憶させる。
ぼけ量推定部52は、入力された画像に含まれるぼけの大きさ(以下、ぼけ量という)を推定するための部位であり、ぼけ量に応じたぼけ量評価値を算出する。ぼけ量推定部52は、最初に画像L1の画像データに基づいて画像L1のぼけ量に応じたぼけ量評価値を算出し、次に画像L2の画像データに基づいて画像L2のぼけ量に応じたぼけ量評価値を算出し、更にその次に画像L3の画像データに基づいて画像L3のぼけ量に応じたぼけ量評価値を算出する。各ぼけ量評価値は、順次、基準画像設定部53に伝達される。
撮像装置1を手で支持する場合などにおいては、観測低解像度画像の露光期間中に、撮像装置1の筐体に所謂手ぶれが作用しうる。また、所謂被写体ぶれが生じる場合もある。被写体ぶれとは、露光期間中に被写体が実空間上で動くことによって生じる、画像上における被写体のぶれのことを意味する。着目した観測低解像度画像に関して手ぶれや被写体ぶれが生じると、着目した観測低解像度画像の全体又は一部が手ぶれや被写体ぶれに由来してぼける。ぼけ量推定部52は、観測低解像度画像の画像データに基づいて、この手ぶれや被写体ぶれに由来するぼけの大きさを推定する。
ぼけ量推定部52は、例えば、手ぶれや被写体ぶれが生じると画像内の高域周波数成分が減衰するという特性を利用してぼけ量を推定する。つまり、観測低解像度画像における所定の高域周波数成分を抽出し、抽出した高域周波数成分の量に基づいてぼけ量を推定する。高域周波数成分の量は、高域周波数成分の強度とも換言される。
図6を参照して、1枚の観測低解像度画像に対するぼけ量評価値の算出方法を説明する。図6は、ぼけ量推定部52として利用可能なぼけ量推定部の内部ブロック図である。図6のぼけ量推定部は、抽出部71、HPF(ハイパスフィルタ)72及び積算部73を有して構成される。
抽出部71には、観測低解像度画像の映像信号が与えられる。抽出部71は、その映像信号の中から、観測低解像度画像内に定義された評価領域内の輝度信号を抽出する。評価領域は、例えば、観測低解像度画像内の全体領域である。但し、観測低解像度画像内の一部領域(例えば、後述の第5実施例にて述べる主要被写体領域)を評価領域として設定することも可能である。HPF72は、抽出部71によって抽出された輝度信号中の所定の高域周波数成分のみを抽出する。例えば、HPF72を、図7に示すような空間フィルタとしての、3×3のフィルタサイズを有するラプラシアンフィルタにて形成し、そのラプラシアンフィルタを評価領域内の各画素に作用させる空間フィルタリングを行う。そうすると、HPF72からは、そのラプラシアンフィルタのフィルタ特性に応じた出力値が順次得られる。尚、HPF72を周波数フィルタにて形成するようにし、フーリエ変換を用いて周波数領域上で高域周波数成分を抽出するようにしてもよい。
積算部73は、HPF72によって抽出された高域周波数成分の大きさ(即ち、HPF72の出力値の絶対値)を積算し、積算値をぼけ量評価値として出力する。或る観測低解像度画像に対するぼけ量評価値は、その観測低解像度画像におけるぼけ量が小さくなるに従って増大する。
3枚の観測低解像度画像L1〜L3を高解像度化することによって1枚の高解像度画像を生成する際、3枚の画像L1〜L3の内の1枚が高解像度化の基準となる基準画像として設定され、他の2枚が参照画像として設定される。基準画像を、基準フレーム又は基準フレーム画像と読み替えることもでき、参照画像を、参照フレーム又は参照フレーム画像と読み替えることもできる。高解像度画像を生成するために必要な位置ずれ量は基準画像を基準にして算出される。また、基準画像は初期高解像度画像の生成の元ともされる。このため、最終的に得られる高解像度画像の画質は基準画像に大きく依存する。そこで、基準画像設定部53は、ぼけ量評価値に基づいて基準画像及び参照画像を設定する処理を行う。具体的には、観測低解像度画像L1〜L3の内、最もぼけ量が小さいと推定された観測低解像度画像を基準画像として設定すると共に残りの2枚の観測低解像度画像を参照画像として設定する。ぼけ量が小さいとぼけ量評価値は大きくなるため、ぼけ量評価値が最も大きい観測低解像度画像が基準画像として設定される。
今、基準画像に対応する観測低解像度画像の番号をaで表し、且つ、2枚の参照画像に対応する観測低解像度画像の番号をb及びcで表す。基準画像が画像L1である場合はa=1且つb=2且つc=3であり、基準画像が画像L2である場合はa=2且つb=1且つc=3であり、基準画像が画像L3である場合はa=3且つb=1且つc=2である。基準画像の設定後、図4の基準画像設定部53は、a、b及びcの値に基づいて、位置ずれ検出部54、初期高解像度画像生成部55及び超解像度処理部57が読み出すべき観測低解像度画像の順番を制御する。つまり、それらが、どのタイミングでどのフレームメモリの画像データを読み出すべきかを制御する。
位置ずれ検出部54は、代表点マッチング法やブロックマッチング法、勾配法などを用いて、2枚の観測低解像度画像間の位置ずれ量を算出する。ここで算出される位置ずれ量は、観測低解像度画像の画素間隔よりも分解能の高い、所謂サブピクセルの分解能を有している。つまり、観測低解像度画像内の隣接する2つの画素の間隔よりも短い距離を最小単位として位置ずれ量が算出される。位置ずれ量は、水平成分及び垂直成分を含む二次元量であり、動き量又は動きベクトルとも呼ばれる。
位置ずれ検出部54は、基準画像を基準とし、基準画像と各参照画像との間における位置ずれ量を算出する。従って、基準画像の設定後、位置ずれ検出部54には、まず観測低解像度画像La及びLbの画像データが入力され、観測低解像度画像Laを基準とした、観測低解像度画像LaとLbとの間の位置ずれ量Vabが算出される(図5参照)。次に、位置ずれ検出部54には、観測低解像度画像La及びLcの画像データが入力され、観測低解像度画像Laを基準とした、観測低解像度画像LaとLcとの間の位置ずれ量Vacが算出される。
一方において、基準画像の設定後、初期高解像度画像生成部55(以下、生成部55と略記する)は、基準画像である観測低解像度画像Laに基づいて初期高解像度画像H0を生成する(図5参照)。この生成処理は、図3のステップS11の処理に相当する。初期高解像度画像H0は、最終的に生成されるべき高解像度画像の初期画像に相当する。以下、初期高解像度画像H0を、単に高解像度画像H0又は画像H0と呼ぶこともある。例えば、線形補間やバイキュービック補間を用いて観測低解像度画像Laの水平及び垂直方向の画素数を増大させた画像を画像H0として生成する。生成された画像H0の画像データはフレームメモリ64に記憶される。
図4の選択部56は、生成部55にて生成された画像(即ち、画像H0)及びフレームメモリ64に記憶されている画像の内の一方を選択し、選択した画像の画像データを超解像処理部57に与える。画像H0が生成された直後は画像H0が選択部56にて選択され、画像H0と異なる高解像度画像が超解像処理部57にて生成された後は、フレームメモリ64に記憶されている画像が選択部56にて選択される。
また、超解像処理部57には、フレームメモリ61〜63から観測低解像度画像La、Lb及びLcの画像データが入力される。超解像処理部57は、MAP法に基づき、画像H0と観測低解像度画像La、Lb及びLcと位置ずれ量Vab及びVacを用い、推定低解像度画像の生成を介して画像H0に対する更新量を求める。この処理は、1回目のステップS12及びS13の処理に相当する(図3参照)。そして、画像H0を該更新量にて更新することにより高解像度画像H1(以下、画像H1と略記することがある)を生成する。これは、1回目のステップS14の処理に相当する(図3参照)。尚、画像H1が生成された後は、図4において太線で示されたラインだけが有意に機能する。
生成された画像H1の画像データはフレームメモリ64に上書き記憶されると共に選択部56を介して超解像処理部57に再度入力される。超解像処理部57は、画像H0から画像H1を生成したのと同様の方法にて画像H1を更新することにより高解像度画像H2(以下、画像H2と略記することがある)を生成する。画像H2の画像データはフレームメモリ64に上書き記憶される。画像H1から画像H2が生成される処理は、2回目のステップS12〜S14の処理に相当する。
このように、超解像処理部57にて、高解像度画像を更新して新たな高解像度画像を生成するための、ステップS12〜S14の各処理から成る演算処理が反復実行される。この演算処理を、以下、超解像演算処理と呼ぶ。nを自然数とした場合、n回目の超解像演算処理によって高解像度画像Hn-1から高解像度画像Hnが生成される。以下の説明では、nは0以上の整数であるとする。
図8に、超解像処理部57の内部ブロック図を示す。今、行列表現された高解像度画像Hnをxnで表し、行列表現された観測低解像度画像Lkをykで表す。即ち例えば、行列xnは、高解像度画像Hnを形成する各画素の画素値を書き並べたものである。kは1、2又は3の値をとる。
そうすると、高解像度画像Hn+1に対する行列xn+1は下記式(A−1)に従って導出され、この導出によって高解像度画像Hn+1が生成される。式(A−1)の右辺第2項は、超解像処理部57によって算出されるべき、高解像度画像Hnに対する更新量を表している。kNUMは観測低解像度画像の枚数を表し、今の例においてkNUM=3である。式(A−1)に基づいて高解像度画像を更新していくことにより、下記式(A−2)に表す、MAP法における評価関数Iが最小化されることになる。式(A−2)におけるxは、或る回数分だけ超解像演算処理を行った時の、行列表現された高解像度画像を表している。
行列Wkと行列xnとの積によって、観測低解像度画像Lkの推定画像としての推定低解像度画像が表される。Wkは、高解像度画像Hnから観測低解像度画像Lkの推定画像を生成するための行列であって、位置ずれ検出部54で算出した位置ずれ量、高解像度画像から低解像度画像への低解像度化によって生じる画像ぼけを表す点広がり関数(Point Spread Function)、及び、高解像度画像から低解像度画像へのダウンサンプリングを含めた画像変換行列である。(yk−Wkxn)は、観測低解像度画像Lkとそれの推定画像に相当する推定低解像度画像との差分画像を表している。尚、添え字Tが付された行列は、元の行列の転置行列を表す。従って例えば、Wk Tは行列Wkの転置行列を表す。
また、Cは正則化のための行列であり、αは正則化パラメータである。行列Cは、例えば「高解像度画像には高域成分が少ない」という事前知識に基づき設定され、行列表現されたラプラシアンフィルタなどによって形成される。また、βは、フィードバック量を制御するためのパラメータである。
超解像処理部57における超解像演算処理の反復回数が規定回数に達すると、規定回数分の超解像演算処理によって得られた最新の高解像度画像が、最終的に求められるべき高解像度画像として超解像処理部57から出力される。また、超解像演算処理の反復回数に関わらず、最新の高解像度画像に対する更新量が十分に小さくなり更新量が収束したと判断される場合は、その最新の高解像度画像を最終的に求められるべき高解像度画像として超解像処理部57から出力するようにしてもよい。
ぼけ量の大きな画像を基準画像として設定すると、算出される位置ずれ量の精度が悪くなる。超解像処理では、算出された位置ずれ量に基づいて高解像度化が図られるため、位置ずれ量の精度劣化は高解像度画像の画質劣化に繋がる。また、ぼけ量の大きな画像を基準画像として設定すると、最終的に得るべき高解像度画像の初期状態(即ち、初期高解像度画像)の画質が悪くなり、理想的な高解像度画像を得がたくなる。本実施例では、ぼけ量の小さい画像を基準画像として選択するようにしているため、得られる高解像度画像の画質が向上する。
ぼけ量が比較的大きい図9(a)の画像201とぼけ量が比較的小さい図9(b)の画像202を用い、ぼけ量の小さい画像を基準画像として選択することによる効果を実験によって検証した。この実験では、用意した理想的な高解像度画像の解像度を縮小率50%の間引き処理によって低下させることで3枚の画像を生成し、3枚の画像の内の1つを意図的にぼけさせることで、その画像に大きなぼけを含ませた。そして、ぼけの少ない2枚の画像を2枚の観測低解像度画像として且つぼけの多い1枚の画像を1枚の観測低解像度画像として取り扱い、観測低解像度画像の2倍の解像度を有する高解像度画像を超解像処理によって再構成した。ぼけの少ない2枚の観測低解像度画像は図9(b)の画像202に相当し、ぼけの多い1枚の観測低解像度画像は図9(a)の画像201に相当する。また、異なる2枚の観測低解像度画像間に位置ずれを生じさせた。
図10(a)及び(b)は、夫々、画像201及び202にハイパスフィルタ(図7のラプラシアンフィルタ)を適用した場合に得られる画像201及び202の高域抽出画像211及び212を表している。図10(a)及び(b)では、高域抽出画像における画素値が小さい画素ほど黒く示している。画像201に含まれる大きなぼけに起因して、高域抽出画像211の全体が黒くなっている。画像201及び202を図6のぼけ量推定部に与えた時、画像201に対して算出されるぼけ量評価値(HPF積算値)は、画像202に対して算出されるそれの1/20程度であった。
実験では、図4の超解像処理部57から出力される高解像度画像と理想的な高解像度画像とのPSNR(Peak Signal to Noise Ratio)を求めた。周知の如く、PSNRは対比される画像間の類似性を表す指標であり、その類似性が高いほどPSNRは高くなる。図11は、このPSNRの、超解像演算処理の反復回数依存性を表すグラフである。図11の折れ線221は、画像201に対応するぼけの多い観測低解像度画像を基準画像に設定した場合におけるPSNRの反復回数依存性を表し、図11の折れ線222は、画像202に対応するぼけの少ない観測低解像度画像を基準画像に設定した場合におけるPSNRの反復回数依存性を表している。ぼけの多い画像を基準画像に設定する場合と比べてぼけの少ない画像を基準画像に設定した方が、2dBほどPSNRが高くなっている。この実験からも、ぼけ量の小さい画像を基準画像として選択することの優位性が理解される。
尚、フレームメモリ61〜64を含む内部メモリ17に対する画像データの読み書きタイミングについて補足説明を加える。図12を参照する(図5も参照)。図12は、画像データの読み書きタイミングについて特に着目した、超解像処理の動作の流れを表すフローチャートである。
最初に、ステップS21において、観測低解像度画像L1〜L3の画像データが順次内部メモリ17に書き込まれる。画像L1〜L3から基準画像が選択された後、ステップS21からステップS22に移行する。ステップS22では、位置ずれ検出部54が、基準画像としての画像La及び参照画像としての画像Lbの各画像データを内部メモリ17から読み出して位置ずれ量Vabを算出し、続いて、基準画像としての画像La及び参照画像としての画像Lcの各画像データを内部メモリ17から読み出して位置ずれ量Vacを算出する。一方、ステップS23において、生成部55は、画像Laの画像データを内部メモリ17から読み出して初期高解像度画像を生成する。生成された初期高解像度画像の画像データは内部メモリ17に書き込まれる。その後、続くステップS24では、画像L1〜L3と現時点の高解像度画像の各画像データが内部メモリ17から読み出され、上述の超解像演算処理によって高解像度画像が更新され、且つ、更新された高解像度画像の画像データが内部メモリ17に書き込まれる。超解像演算処理を反復実行する場合は、ステップS24の処理が繰り返し実行される。尚、ステップS22、S23及びS24における内部メモリ17からの同一の画像データの読み出しを同時に行うようにしても構わない。例えば、ステップS22における画像Laの画像データの読み出しとステップS23におけるそれを同時に行っても構わない。
上述の如く、画像L1〜L3から基準画像が選択された後に位置ずれ量の算出処理を実行する場合は、ステップS22の段階で、内部メモリ17から観測低解像度画像の画像データを4回(4枚分)読み出す必要がある(画像La及びLbの画像データの読み出しと、画像La及びLcの画像データの読み出し)。
この読み出し回数の低減に寄与すべく、基準画像の選択処理と位置ずれ量の算出処理を並行して行うようにしても良い。この場合、観測低解像度画像が得られる度に、時間的に隣接する2枚の観測低解像度画像間で位置ずれ量(後述のV12及びV23)の算出を行うようにし、基準画像が設定された後に、算出しておいた位置ずれ量を、基準画像と各参照画像との間の位置ずれ量(上述のVab及びVac)に変換すればよい。
具体的には以下のように処理する。画像L1が取得されて画像L1の画像データが内部メモリ17に書き込まれた後、画像L2が取得されると、画像L2の画像データが内部メモリ17に書き込まれ且つ位置ずれ検出部54に送られる。これと同時に、画像L1の画像データが内部メモリ17から読み出されて位置ずれ検出部54に送られる(この段階で、1回目の画像データ読み出しが実行される)。そして、位置ずれ検出部54は、画像L1を基準とした、画像L1と画像L2との間の位置ずれ量V12を算出する。
この後、画像L3が取得されると、画像L3の画像データが内部メモリ17に書き込まれ且つ位置ずれ検出部54に送られる。これと同時に、画像L2の画像データが内部メモリ17から読み出されて位置ずれ検出部54に送られる(この段階で、2回目の画像データ読み出しが実行される)。そして、位置ずれ検出部54は、画像L2を基準とした、画像L2と画像L3との間の位置ずれ量V23を算出する。
他方、位置ずれ量V12及びV23の算出と並行し、ぼけ量推定部52によって画像L1〜画像L3に対するぼけ量評価値の算出が行われ、算出されたぼけ量評価値に基づいて基準画像が設定される。位置ずれ検出部54は、設定された基準画像が画像L1〜L3の何れであるかに基づいて、位置ずれ量V12及びV23を基準画像からみた参照画像の位置ずれ量Vab及びVacに変換する。この変換によってVab及びVacが求められた後の動作は、上述してきた通りである。例えば、V12=(0.5,0.5)且つV23=(−0.25,−0.25)であると共にa=3、b=1且つc=2である時は、Vab=V31=V32+V21=−V23−V12=(0.25,0.25)−(0.5,0.5)=(−0.25,−0.25)に従ってVabが求められ、Vac=V32=−V23=(0.25,0.25)に従ってVacが求められる。
このように、基準画像の選択処理と位置ずれ量の算出処理を並行して行うことにより、位置ずれ量の変換処理が必要となることに由来して位置ずれ量Vab及びVacの検出精度が若干劣化するものの、画像データの読み出し回数が2回分低減され、消費電力の低減が図られる。尚、基準画像の選択処理と位置ずれ量の算出処理を並行して行うことは、後述の他の実施例にも適用可能である。
<<第2実施例>>
次に、第2実施例を説明する。第2実施例においても図4の超解像部50を用いることができるが、第1及び第2実施例間でぼけ量の推定方法が異なる。この相違点について説明する。第2実施例において特に述べない事項は、第1実施例に記載の事項が適用される。
説明の便宜上、第2実施例では、4枚の観測低解像度画像から1枚の高解像度画像を生成する場合を例にとる。4枚の観測低解像度画像は、連続して撮影された4つのフレーム画像である。この4枚の観測低解像度画像をL1、L2、L3及びL4にて表すこととし、画像L1、L2、L3及びL4の順番で撮影がなされたものとする。尚、超解像処理に利用される観測低解像度画像の枚数が4枚であることに鑑み、超解像部50のフレームメモリの個数は図4のそれから変更される。
第2実施例において、図4の位置ずれ検出部54は、時間的に隣接する2枚の観測低解像度画像間の位置ずれ量(所謂フレーム間動きベクトル)を順次算出する。即ち、第1実施例でも述べた位置ずれ量V12及びV23と、画像L3を基準とした、画像L3と画像L4との間の位置ずれ量V34を算出する。ぼけ量推定部52は、算出された位置ずれ量V12、V23及びV34に基づき、画像列L1〜L4の撮影期間中において撮像装置1に作用した手ぶれの状態(換言すれば、撮像装置1のぶれの状態)を推定し、その推定結果に基づいて観測低解像度画像L1〜L4のぼけ量の大小関係を推定する。基準画像設定部53は、ぼけ量推定部52の推定結果に基づき、最小のぼけ量に対応する観測低解像度画像を基準画像として設定し、残りの3枚の観測低解像度画像を参照画像として設定する。
図13等を参照して、より具体的に説明する。図13の曲線240は、第1具体例における、位置ずれ量の大きさの変化の様子を示している。図13及び後述の図14のグラフにおいて、横軸は時間を表し且つ縦軸は位置ずれ量の大きさを表しており、横軸はフレーム番号にも対応している。画像L1〜L4のフレーム番号は、夫々、1〜4である。
点241、242及び243は、夫々、第1具体例における位置ずれ量V12、V23及びV34の大きさを表す点である。二次元量である位置ずれ量V12、V23及びV34の大きさを、夫々、|V12|、|V23|及び|V34|にて表現する。点241〜243が曲線240上にのるように補間法を用いて曲線240が形成される。曲線240のような、補間法を用いて位置ずれ量V12、V23及びV34の大きさを繋ぎ合わせて形成される線を手ぶれ量軌跡と呼ぶ。手ぶれ量軌跡は、画像L1〜L4の撮影期間(それらの露光期間を含む)中において撮像装置1に作用した手ぶれの大きさ(換言すれば、手ぶれに由来する撮像装置1のぶれの大きさ)の時間変化を表すものである、と解釈することができる。図13に示す例の如く不等式「|V12|>|V23|<|V34|」が成立する場合、スプライン補間等によって手ぶれ量軌跡が描かれる。
尚、補間法を用いて手ぶれ量軌跡を形成するに際し、位置ずれ量V12、V23及びV34の大きさに加えて、画像L1の撮影直前に撮影されるフレーム画像L0と画像L1との間の位置ずれ量V01、及び、画像L4と画像L4の撮影直後に撮影されるフレーム画像L5との間の位置ずれ量V45をも利用するようにしてもよい。
点245は、手ぶれ量軌跡240上の位置ずれ量の大きさが極小となる点を表している。ぼけ量推定部52は、この極小点245の、時間方向における位置に最も近いフレーム番号を最小手ぶれフレーム番号として特定する。そして、最小手ぶれフレーム番号に対応する観測低解像度画像の露光期間中に作用した手ぶれの大きさが他の何れの観測低解像度画像のそれよりも小さく、結果、最小手ぶれフレーム番号に対応する観測低解像度画像のぼけ量(手ぶれに由来するぼけ量)が他の何れの観測低解像度画像のそれよりも小さいと推定する。
基準画像設定部53は、最小手ぶれフレーム番号に対応する観測低解像度画像を基準画像として設定し且つ残りの3枚の観測低解像度画像を参照画像として設定する。図13の例においては、点245は点242と点243の間に位置するため、最小手ぶれフレーム番号は「3」であると共に最小手ぶれフレーム番号に対応する観測低解像度画像はL3である。故に、画像L3が基準画像に設定され、画像L1、L2及びL4が参照画像に設定される。
不等式「|V12|>|V23|<|V34|」が成立しない場合における最小手ぶれフレーム番号の決定方法を説明する。図14の手ぶれ量軌跡250は、第2具体例における、位置ずれ量の大きさの変化の様子を示している。点251、252及び253は、夫々、第2具体例における位置ずれ量V12、V23及びV34の大きさを表す点であり、補間法を用いて点251〜253を繋ぎ合わせることにより手ぶれ量軌跡250が形成される。
図14に対応する第2具体例においては、不等式「|V12|>|V23|>|V34|」が成立しているため、画像L1〜L4の撮影期間(それらの露光期間を含む)中において撮像装置1に作用した手ぶれの大きさは徐々に減少していたことが分かる。この場合、最小手ぶれフレーム番号は「4」であると決定される。逆に、不等式「|V12|<|V23|<|V34|」が成立している場合は、最小手ぶれフレーム番号は「1」であると決定される。また、不等式「|V12|<|V23|>|V34|」及び「|V12|>|V34|」が成立する場合は最小手ぶれフレーム番号を「4」に決定し、不等式「|V12|<|V23|>|V34|」及び「|V12|<|V34|」が成立する場合は最小手ぶれフレーム番号を「1」に決定すればよい。最小手ぶれフレーム番号が決定された後の処理内容は、上述した通りである。
尚、以下のようにして最小手ぶれフレーム番号を決定するようにしてもよい。位置ずれ量V01及びV12の大きさの和、位置ずれ量V12及びV23の大きさの和、位置ずれ量V23及びV34の大きさの和、及び、位置ずれ量V34及びV45の大きさの和を、夫々、フレーム番号1、2、3及び4に対応付けて求め、それらの4つの和の内の最小値に対応するフレーム番号を最小手ぶれフレーム番号に決定する。
<<第3実施例>>
第1及び第2実施例で述べたぼけ量の推定方法は一例であって、それらと異なる方法にてぼけ量の推定を行っても構わない。ぼけ量の推定方法の変形例を示す実施例として第3実施例を説明する。第3実施例は第1実施例と組み合わせて実施される。
例えば、観測低解像度画像の輝度値のヒストグラムにおける分散に基づいてぼけ量の推定を行うようにしてもよい。この方法を用いる場合、図4のぼけ量推定部52は、観測低解像度画像の各画素の輝度信号を抽出して観測低解像度画像の輝度値(即ち、輝度信号の値)のヒストグラムを生成する。そして、そのヒストグラムの分散をぼけ量評価値として算出する。ヒストグラムの生成及び分散の算出は、観測低解像度画像ごとに行われる。尚、ヒストグラムを形成する輝度信号は、観測低解像度画像の全体領域から抽出されてもよいし、観測低解像度画像の一部領域から抽出されてもよい。
3枚の観測低解像度画像L1〜L3は連続して撮影された3つのフレーム画像であるため、基本的にそれらの構図は同じである。同じ構図の画像であれば、露光期間中に生じた手ぶれが大きいほど隣接画素間の輝度が平滑化され、中間階調の画素の割合が増加して輝度値のヒストグラムにおける分布が中間階調に集中化する。上記の平滑化の程度が大きいほどヒストグラムにおける分散が小さくなってぼけ量評価値が小さくなるため、ぼけ量評価値が大きいほど、それに対応する観測低解像度画像のぼけ量は小さいと推定できる。従って、図4の基準画像設定部53は、ヒストグラムの分散に基づく、観測低解像度画像L1〜L3のぼけ量評価値の内、最も大きなぼけ量評価値に対応する観測低解像度画像を基準画像として設定し、残りの2枚の観測低解像度画像を参照画像として設定する。
観測低解像度画像の例として、図15(a)に画像261を示すと共に図15(b)に画像262を示す。画像261は鮮明な画像である一方、画像262の露光期間中に大きな手ぶれが生じたことにより画像262には大きなぼけが含まれている。また、図16(a)及び(b)に、夫々、画像261及び262に対して生成されたヒストグラムを示す。画像261のヒストグラムとの対比おいて(図16(a)参照)、画像262のヒストグラム(図16(b)参照)では中間階調への分布の集中化が見られる。この集中化によって、分散は小さくなる。
この他、画像のぼけ量を推定する任意の方法を用いることが可能である。例えば、特開平11−27574号公報に記載の方法を用いて、観測低解像度画像のぼけ量を推定するようにしてもよい。この場合、着目した観測低解像度画像をフーリエ変換することによって2次元周波数領域上の変換画像を生成し、周波数座標の原点を中心とした円に変換画像を投影する。そして、その投影データから、着目した観測低解像度画像のぼけ量を推定する。尚、特開平11−27574号公報における「手ぶれの大きさ」が、ぼけ量に相当する。
<<第4実施例>>
次に、第4実施例を説明する。図17は、第4実施例に係る超解像部50aの内部ブロック図である。超解像部50aに設けられる符号51、54〜57及び61〜64によって参照される各部位は、図4のそれらと同じものである。超解像部50aに設けられる基準画像設定部53aの機能は、図1のCPU23又は映像信号処理部13にて実現される。基準画像の設定方法が異なる点を除き、超解像部50aと第1実施例に係る超解像部50(図4)は同様である。故に、以下では、第4実施例に係る基準画像の設定方法を説明する。第4実施例では、第1実施例と同様、3枚の観測低解像度画像L1〜L3から1枚の高解像度画像を生成することを想定する。
第4実施例において、撮像装置1には、図18のセンサ部75が設けられている。基準画像設定部53aは、センサ部75から出力されるセンサ検出データに基づき、観測低解像度画像L1〜L3の中から基準画像を設定する。センサ部75は、手ぶれ等に由来する撮像装置1のぶれ(撮像装置1の筐体のぶれ)を検出する。具体的には、センサ部75は、撮像装置1のヨー方向(水平方向)の角速度を検出して、その検出結果を表す信号を出力する角速度センサ75Aと、撮像装置1のピッチ方向(垂直方向)の角速度を検出して、その検出結果を表す信号を出力する角速度センサ75Bとを備え、角速度センサ75A及び75Bの出力信号がセンサ検出データとして出力される。
センサ検出データによって、撮像装置1のぶれ(撮像装置1の筐体のぶれ)の大きさ及び方向が示される。基準画像設定部53aは、観測低解像度画像L1〜L3の夫々の露光期間中におけるセンサ検出データに基づいて基準画像を設定する。具体的には、画像L1〜L3の夫々の露光期間中におけるセンサ検出データから、画像L1の露光期間中における撮像装置1のぶれの大きさQ1、画像L2の露光期間中における撮像装置1のぶれの大きさQ2及び画像L3の露光期間中における撮像装置1のぶれの大きさQ3を求め、大きさQ1〜Q3の内の最小の大きさに対応する観測低解像度画像を基準画像に設定すると共に残りの2枚の観測低解像度画像を参照画像に設定する。例えば、図19に示す如く、不等式「Q1>Q3>Q2」が成立する場合は、画像L2が基準画像に設定されると共に画像L1及びL3が参照画像に設定される。
大きさQ1は、例えば、実空間上で静止した点光源からの光による点像が、画像L1の露光期間中における撮像装置1のぶれによって、画像L1上で描く軌跡の長さ(又は該軌跡の始点と終点との間の距離)を表す。大きさQ2及びQ3についても同様である。
尚、超解像部50aに、ぼけ量推定部(不図示)が内在していると考えることも可能である。この場合、超解像部50aにおけるぼけ量推定部は、画像L1〜L3の夫々の露光期間中におけるセンサ検出データから撮像装置1のぶれの大きさQ1〜Q3を求めて、撮像装置1のぶれの大きさが大きいほど、対応する観測低解像度画像のぼけ量は大きいと推定し、その推定結果を基準画像設定部53aに与える。基準画像設定部53aは、この推定結果に基づいて基準画像を設定することができる。従って例えば、不等式「Q1>Q3>Q2」が成立する場合は、画像L1〜L3のぼけ量の内、画像L1のぼけ量が最も大きく且つ画像L2のぼけ量が最も小さいと推定され、その推定結果が基準画像設定部53aに与えられることによって画像L2が基準画像に設定されると共に画像L1及びL3が参照画像に設定される。
また、センサ部75を角速度センサにて構成する例を上述したが、撮像装置1のぶれを表す、角速度以外の物理量を検出するセンサにて、センサ部75を構成しても良い。例えば、撮像装置1の加速度を検出する加速度センサ又は撮像装置1の角加速度を検出する角加速度センサにてセンサ部75を形成するようにしてもよい。
ところで、画像L1が撮影された場合、画像L1の輝度及び色を表す画像データと共に画像L1の露光期間中におけるセンサ検出データが取得され、それらのデータは互いに関連付けられて必要に応じて外部メモリ18(図1参照)に記録される。画像L1に関するそれらのデータが外部メモリ18に記録される場合、例えば、本体領域とヘッダ領域から成る1つの画像ファイルが外部メモリ18内に設けられ、該画像ファイルの本体領域に画像データが格納される共にヘッダ領域にセンサ検出データが格納される。画像L1のセンサ検出データは、画像L1の画像データに付随する、画像L1の撮影条件を表す情報であると考えることができる。画像L1以外の画像(L2など)についても同様である。
本明細書では、図20に示す如く、画像データ及びセンサ検出データを含む情報を画像情報と呼ぶ。画像L1の画像情報は、画像L1の撮影条件をも含めた、画像L1の特徴を表している(画像L2等についても同様)。
<<第5実施例>>
次に、第5実施例を説明する。撮影者が注目する主要被写体の、画像上における大きさが大きいほど、画像上で主要被写体をより詳細に表現することができる。従って、主要被写体がより大きく現れている画像を、撮影者を含むユーザに提供することが望ましい。一方、超解像処理によって得られる高解像度画像は、基準画像としての観測低解像度画像を基準にして生成されるため、基準画像上における主要被写体の大きさが比較的大きければ高解像度画像上におけるそれも比較的大きくなる。これを考慮し、第5実施例では、主要被写体がより大きく現れている観測低解像度画像を基準画像として設定する。
図21は、第5実施例に係る超解像部50bの内部ブロック図である。超解像部50bに設けられる符号51、54〜57及び61〜64によって参照される各部位は、図4のそれらと同じものである。超解像部50bに設けられる基準画像設定部53b及び被写体サイズ検出部76の機能は、図1のCPU23又は映像信号処理部13にて実現される。基準画像の設定方法が異なる点を除き、超解像部50bと第1実施例に係る超解像部50(図4)は同様である。故に、以下では、基準画像の設定に関わる基準画像設定部53b及び被写体サイズ検出部76の機能について説明する。第5実施例では、第1実施例と同様、3枚の観測低解像度画像L1〜L3から1枚の高解像度画像を生成することを想定する。
被写体サイズ検出部76は、観測低解像度画像ごとに、観測低解像度画像の画像データに基づいて観測低解像度画像上における主要被写体の大きさを検出する。基準画像設定部53bは、観測低解像度画像L1〜L3の内、主要被写体の大きさが最も大きくなる観測低解像度画像を基準画像に設定すると共に他の2枚の観測低解像度画像を参照画像に設定する。
具体例を挙げて、被写体サイズ検出部76の検出方法を説明する。まず、第1の検出方法として、被写体サイズ検出部76が顔検出処理を実行可能に形成されている場合を説明する。顔検出処理は、観測低解像度画像の画像データに基づいて、人物の顔の画像データが存在している画像領域を顔領域として観測低解像度画像の全体画像領域から抽出する処理である。第1の検出方法において、被写体サイズ検出部76は、画像L1〜L3の夫々に対して顔検出処理を実行することにより画像L1〜L3の夫々から顔領域を抽出する。顔領域の大きさは、その顔領域内に存在する顔の大きさが増大するにつれて増大する。
第1の検出方法において、被写体サイズ検出部76は、顔領域の大きさを表す情報を含む顔検出結果を基準画像設定部53bに送り、基準画像設定部53bは、その顔検出結果に基づき、最も大きな顔領域が抽出された観測低解像度画像を基準画像に設定する。例えば、画像L1〜L3として図22の画像301〜303が取得されると共に画像301〜303から顔領域311〜313が抽出され、画像上における顔領域312の大きさが顔領域311及び313の大きさよりも大きい場合、画像302及び顔領域312に対応する画像L2が基準画像に設定される。上述の例では、人物の顔又は人物そのものが主要被写体であると考えられる。
ところで、画像301〜303のような顔領域の大きさが不揃いの画像列が取得される原因の一つとして、画像301〜303の撮影期間中に撮像装置1が撮影方向に沿って動く(即ち前後に動く)ことが考えられる。このような場合は、画像301〜303間で顔領域の大きさが一致するように画像301及び303の全体に対して線形変換(所謂電子ズーム)を施し、線形変換後の画像301及び303を参照画像として用いて超解像処理を行うようにすると良い。
但し、画像301〜303の撮影期間中に撮像装置1ではなく顔領域311〜313に対応する人物が撮影方向に沿って動くことも考えられる。このような場合においても、上記線形変換後の画像301及び303を参照画像として用いて超解像処理を行えばよいが、人物が動いた場合は、基準画像としての画像302と線形変換後の画像301及び303との間で、顔領域の大きさは一致するものの背景領域の大きさが一致しなくなる。背景領域の大きさが不揃いの画像列を用いて超解像処理を行うと、背景領域において二重像が生じうる。
一方において、このような不一致が発生すると位置ずれ検出部54による位置ずれ量算出の信頼度が低下するため、該信頼度を位置ずれ量と共に算出するようにしておけば上記不一致の発生を検出可能である。例えば、公知の如く、位置ずれ量算出時に生成されるデータ(例えば、ブロックマッチング法にて位置ずれ量を求める際に導出されるSSD(Sum of squared difference)の値)から上記信頼度を求めることが可能である。
従って、上記不一致が検出された場合は、人物が動いたと判断して、線形変換後の画像301及び303内の画像領域であって且つ顔領域(又は人物の画像データが存在する画像領域)以外の画像領域を超解像処理に用いないようにすればよい。例えば、画像302の全体画像領域と線形変換後の画像301及び303の顔領域311及び313のみを用いて高解像度画像を生成するようにする。そのようにすると、高解像度画像内の顔領域は3枚の低解像度画像の顔領域から生成される一方で、高解像度画像内の顔領域以外の部分は画像302のみから生成されることになるが、主要被写体としての顔の高解像度化が図られるため十分に有益である。尚、高解像度画像の生成に必要となる、画像302の顔領域311と線形変換後の画像301及び303の顔領域311及び313との間における位置ずれ量は、顔検出処理の実行時に求められる各顔領域の位置から決定することができる。このような、線形変換後の観測低解像度画像内の一部画像領域を超解像処理に用いないという方法は、後述の第2の検出方法に対しても適用可能である。
被写体サイズ検出部76による第2の検出方法を説明する。第2の検出方法において、被写体サイズ検出部76は、各観測低解像度画像に対して主要被写体領域を設定する。主要被写体領域とは、観測低解像度画像の一部画像領域であって且つ主要被写体の画像データが存在していると推測される画像領域である。例えば、一般的に主要被写体が画像の中央付近に存在している可能性が高いとことに鑑み、観測低解像度画像の中央付近に位置する、予め設定された画像領域を主要被写体領域として用いることができる。或いは、後述の第7実施例にて述べられるAF評価領域を主要被写体領域として用いるようにしてもよい。更に或いは、ピントの合っている被写体の画像データが存在する画像領域を主要被写体領域として用いるようにしてもよい。ピントの合っている被写体の画像データが存在する画像領域の位置を、観測低解像度画像の高域周波数成分から決定することが可能である。
今、画像L1〜L3として図23の画像321〜323が取得されると共に画像321〜323に対して主要被写体領域331〜333が設定された場合を考える。被写体サイズ検出部76は、主要被写体領域331〜333の中央付近に、夫々、基準領域341〜343を設定する。主要被写体領域の位置及び大きさ並びに基準領域の位置及び大きさは、画像321〜323間で同じである。
被写体サイズ検出部76は、画像321〜323の画像データに基づいて、画像321の基準領域341内の色、画像322の基準領域342内の色及び画像323の基準領域343内の色を、夫々、第1〜第3の基準色として求める。基準領域341内の色は、例えば、基準領域341内に属する各画素の平均色である(基準領域342内の色及び基準領域343内の色についても同様)。画像データがRGB形式の信号で表されている場合は、基準領域341内に属する各画素の色信号であるR、G及びB信号から第1の基準色を求めればよく、画像データがYUV形式の信号で表されている場合は、基準領域341内に属する各画素の色差信号であるU及V信号から第1の基準色を求めればよい(第2及び第3の基準色についても同様)。或る画素に関し、R、G及びB信号は、その画素の赤、緑及び青の強度を表す。尚、第1〜第3の基準色を全て同じ色に設定してもよい。この場合、第1〜第3の基準色を、基準領域341、342又は343内の色に設定することができる。
被写体サイズ検出部76は、観測低解像度画像ごとに、基準色と同一又は類似する画素が主要被写体領域内に幾つ存在しているかを計数することによって、観測低解像度画像上の主要被写体の大きさを検出する。
具体的には、観測低解像度画像ごとに以下の処理を行う。基準色の、RGB色空間上における位置を基準位置として設定する一方で、主要被写体領域内に属する各画素の色の、RGB色空間上における位置を検出し、前者の位置(基準位置)と後者の位置とのユークリッド距離を求める。そして、主要被写体領域内の画素の内、ユークリッド距離が所定の閾値DTH以下となる画素の個数を、主要被写体の大きさとして検出する。図23に示す例の場合、画像L2に対して計数される上記個数は、画像L1及びL3に対するそれらよりも大きくなり、結果、画像L2が基準画像に設定される。
第5実施例によれば、主要被写体が大きく表れた、ユーザにとって好ましい高解像度画像を生成することが可能となる。
<<第6実施例>>
次に、第6実施例を説明する。ユーザにとって好ましくない、目のつぶっている画像や表情の良くない画像を基準画像として選択すると、高解像度画像も好ましい画像とならない。そこで、第6実施例では、顔の状態を考慮して基準画像の設定を行う。
図24は、第6実施例に係る超解像部50cの内部ブロック図である。超解像部50cに設けられる符号51、54〜57及び61〜64によって参照される各部位は、図4のそれらと同じものである。超解像部50cに設けられる基準画像設定部53c及び顔状態検出部77の機能は、図1のCPU23又は映像信号処理部13にて実現される。基準画像の設定方法が異なる点を除き、超解像部50cと第1実施例に係る超解像部50(図4)は同様である。故に、以下では、基準画像の設定に関わる基準画像設定部53c及び顔状態検出部77の機能について説明する。第6実施例では、第1実施例と同様、3枚の観測低解像度画像L1〜L3から1枚の高解像度画像を生成することを想定する。
顔状態検出部77は、第5実施例で述べた顔検出処理を各観測低解像度画像に対して実行して、観測低解像度画像上における人物の顔領域を抽出する。その後、顔状態検出部77は、観測低解像度画像の画像データに基づき、顔領域内から眼が存在する眼領域を抽出し、更に眼の開閉状態を検出する瞬き検出処理を実行する。瞬き検出処理に、公知の方法を含む任意の方法を利用可能である。例えば、標準的な瞳孔を表す画像をテンプレートとして用いたテンプレートマッチングを行うことで眼領域内における瞳孔の有無を検出し、その有無検出結果から眼が開いているか否かを検出することができる。
基準画像設定部53cは、観測低解像度画像L1〜L3の内、瞬き検出処理によって眼が開いていると判断された観測低解像度画像を基準画像に設定する。例えば、画像L2及びL3上の眼が開いており且つ画像L1上の眼が閉じていると判断された場合、画像L2又はL3を基準画像に設定すると共に残りの2枚(画像L1及びL2、又は、画像L1及びL3)を参照画像に設定する。
尚、画像L2及びL3上の眼が開いており且つ画像L1上の眼が閉じていると判断された場合、高解像度画像上に二重像が現れることを防止すべく、画像L1の眼領域(又は顔領域全体)を超解像処理に用いないようにするとよい。この場合、高解像度画像の眼領域(又は顔領域全体)以外の部分は画像L1〜L3から生成される一方で、高解像度画像の眼領域(又は顔領域全体)は画像L2及びL3のみから生成されることになる。
観測低解像度画像上における顔領域を抽出した後、顔状態検出部77に、瞬き検出処理ではなく笑顔検出処理を行わせるようにしてもよい。笑顔検出処理は、観測低解像度画像ごとに実行される。笑顔検出処理では、観測低解像度画像の画像データに基づき、顔領域内における顔が笑顔であるか否かが判断される。笑顔検出処理に、公知の方法を含む任意の方法を利用可能である。
笑顔検出処理が実行された場合、基準画像設定部53cは、観測低解像度画像L1〜L3の内、笑顔検出処理によって顔領域内の顔が笑顔であると判断された観測低解像度画像を基準画像に設定する。例えば、画像L2及びL3上の顔が笑顔であって且つ画像L1上の顔が笑顔でないと判断された場合、画像L2又はL3を基準画像に設定すると共に残りの2枚(画像L1及びL2、又は、画像L1及びL3)を参照画像に設定する。
尚、画像L2及びL3上の顔が笑顔であって且つ画像L1上の顔が笑顔でないと判断された場合、高解像度画像上に二重像が現れることを防止すべく、画像L1の顔領域全体を超解像処理に用いないようにするとよい。この場合、高解像度画像の顔領域以外の部分は画像L1〜L3から生成される一方で、高解像度画像の顔領域は画像L2及びL3のみから生成されることになる。
また、上述の瞬き検出処理と笑顔検出処理の双方を用いて基準画像を設定することも可能である。この場合、瞬き検出処理によって眼が開いていると判断され且つ笑顔検出処理によって顔領域内の顔が笑顔であると判断された観測低解像度画像を基準画像に設定すればよい。
第6実施例によれば、顔の状態の良い、ユーザにとって好ましい高解像度画像を生成することが可能となる。
<<第7実施例>>
次に、第7実施例を説明する。第7実施例では、オートフォーカス制御に用いられるAF評価値に基づいて基準画像を設定する。
まず、図25を参照して、図1の撮像部11の内部構成を詳細に説明する。図25は、撮像部11の内部構成図である。撮像部11は、光学系35と、絞り32と、撮像素子33と、ドライバ34を有している。光学系35は、ズームレンズ30及びフォーカスレンズ31を含む複数枚のレンズを備えて構成される。ズームレンズ30及びフォーカスレンズ31は光軸方向に移動可能である。
ドライバ34は、CPU23からの制御信号に基づいて、ズームレンズ30及びフォーカスレンズ31の移動を制御し、光学系35のズーム倍率や焦点位置を制御する。また、ドライバ34は、CPU23からの制御信号に基づいて絞り32の開度(開口部の大きさ)を制御する。被写体からの入射光は、光学系35を構成する各レンズ及び絞り32を介して、撮像素子33に入射する。光学系35を構成する各レンズは、被写体の光学像を撮像素子33上に結像させる。撮像素子33を駆動するための駆動パルスがTG22から与えられる。
撮像装置1では、TTL(Through The Lens)方式によるオートフォーカス制御が行われる。このオートフォーカス制御を行うために、図1の映像信号処理部13にはAF評価部(焦点評価値導出手段)が設けられる。図26は、映像信号処理部13に設けられたAF評価部80の内部ブロック図である。
AF評価部80は、抽出部81、HPF(ハイパスフィルタ)82及び積算部83を有して構成される。AF評価部80は、1つのフレーム画像について1つのAF評価値(焦点評価値)を算出する。
抽出部81には、フレーム画像の映像信号が与えられる。抽出部81は、その映像信号の中から、フレーム画像内に定義されたAF評価領域(焦点評価領域)内の輝度信号を抽出する。AF評価領域は、互いに分離した複数の要素領域から形成される。図27(a)にAF評価領域の設定例を示す。例えば、フレーム画像を垂直方向及び水平方向に夫々3等分することでフレーム画像内に9つの分割領域を定義する。そして、図27(a)に示す如く、その9つの分割領域の内、フレーム画像の中央に位置する分割領域の全体又は一部を要素領域AR1とし、要素領域AR1の上下左右に位置する分割領域の全体又は一部を要素領域AR2〜AR5とする。この場合、要素領域AR1〜AR5の合計領域がAF評価領域に相当する。尚、1つの要素領域にてAF評価領域を形成することも可能である。例えば、要素領域AR1そのものをAF評価領域としても構わない。以下の説明では、AF評価領域が要素領域AR1〜AR5から形成されていることを想定する。
HPF82は、抽出部81によって抽出された輝度信号中の所定の高域周波数成分のみを抽出する。例えば、HPF82を図7に示すような3×3のフィルタサイズを有するラプラシアンフィルタにて形成し、そのラプラシアンフィルタをAF評価領域内の各画素に作用させる空間フィルタリングを行う。そうすると、HPF82からは、そのラプラシアンフィルタのフィルタ特性に応じた出力値が順次得られる。
積算部83は、HPF82によって抽出された高域周波数成分の大きさ(即ち、HPF82の出力値の絶対値)を積算する。この積算は、要素領域ごとに個別に行われる。従って、要素領域AR1〜AR5についての各積算値が算出される。積算部83は、事前に定められた重み付け係数に従って各積算値を重み付け加算することによりAF評価値を算出する。要素領域AR1に対する重み付け係数が、他の要素領域に対するそれよりも高いことを想定する。例えば、図27(b)に示す如く、要素領域AR1に対する重み付け係数が2.0であって且つ他の要素領域AR2〜AR5に対する重み付け係数が1.0である場合を考える。そうすると、要素領域AR1に対して算出された積算値に2を乗じた値と、要素領域AR2〜AR5に対して算出された積算値との総和がAF評価値として算出される。
順次得られるフレーム画像に対して算出された各AF評価値は、図1のCPU23に逐次伝達される。或るフレーム画像についてのAF評価値は、そのフレーム画像のAF評価領域内の高域周波数成分の量に概ね比例し、その量が増大するにつれて増大する。高域周波数成分の量は、高域周波数成分の強度とも換言される。
オートフォーカス制御の実行時には、フォーカスレンズ31を少しずつ動かしながら順次AF評価値が求められ、AF評価値が最大(或いは極大)となるフォーカスレンズ31の位置を合焦レンズ位置として求める。そして、例えば、フォーカスレンズ31を合焦レンズ位置に配置した状態で連続して撮影された3枚のフレーム画像を、上述の観測低解像度画像L1〜L3として取り扱う。
この観測低解像度画像L1〜L3もAF評価部80に与えられ、観測低解像度画像L1〜L3の夫々に対するAF評価値も上述のようにして求められる。そして、第7実施例では、観測低解像度画像L1〜L3のAF評価値の内、最大のAF評価値に対応する観測低解像度画像を基準画像として設定するようにする。
図28は、第7実施例に係る超解像処理を担う超解像部50dの内部ブロック図である。超解像部50dは、符号51、80、53d及び54〜57にて参照される各部位と、フレームメモリ61〜64とを備えて構成される。即ち、図4の超解像部50におけるぼけ量推定部52及び基準画像設定部53をAF評価部80及び基準画像設定部53dに置換することによって超解像部50dは形成される。超解像部50d内の、AF評価部80及び基準画像設定部53d以外の部位の動作は、図4の超解像部50のそれと同じであるため、共通部位に対する重複する説明を割愛する。基準画像設定部53dはCPU23によって実現される。但し、基準画像設定部53dの機能を映像信号処理部13に担わせるようにしても構わない。
AF評価値80は、観測低解像度画像L1〜L3についてのAF評価値を基準画像設定部53dに送る。基準画像設定部53dは、画像L1〜L3についてのAF評価値に基づいて基準画像及び参照画像を設定する処理を行う。具体的には、画像L1〜L3に対して求められた3つのAF評価値の内の最大のAF評価値を特定し、その最大のAF評価値に対応する観測低解像度画像を基準画像として設定する一方で残りの2枚の観測低解像度画像を参照画像として設定する。基準画像及び参照画像が設定された後の動作は、第1実施例と同じである。
今、撮像装置1の視野内に動被写体が含まれている場合を考える。動被写体とは、実空間上で移動する被写体を意味する。そして、図29のフレーム画像361、362及び363が取得され、フレーム画像361、362及び363がそれぞれ観測低解像度画像L1、L2及びL3であった場合を想定する。フレーム画像361〜363には動被写体としての動物が含まれており、その動物が撮像装置1に対して相対的に移動することにより、その動物はフレーム画像361内では右側よりに描画され、フレーム画像362内では略中央に描画され、フレーム画像363内では左側よりに描画されている。また、フレーム画像361〜363の撮影時において、その動物にピントが合うようにフォーカスレンズ31のレンズ位置が固定されているものとする。
この場合、AF評価値の算出方法から理解されるように、画像L1、L2及びL3に対するAF評価値の内、画像L2に対するAF評価値が最大となる可能性が高い。そして実際に画像L2に対するAF評価値が最大となっていると、画像L2が基準画像として設定されて超解像処理がなされるので、画像L2と同様、得られる高解像度画像内において着目した動物は略中央に位置することとなる。
本実施例によれば、撮影者が着目した動被写体(即ち、ピントの合っている動被写体)が中央に配置された高解像度画像が得られることとなる。つまり、撮影者の意図に合致した、望ましい構図の高解像度画像を自動的に得ることが可能となる。
尚、本実施形態における超解像処理では、線形補間等を用いて基準画像から初期高解像度画像が生成される。そして、基準画像を基準とする基準画像と各参照画像との位置ずれ量に従って高解像度画像(最初は、初期高解像度画像)から推定低解像度画像が生成され、その推定低解像度画像と観測低解像度画像との誤差が最小化されるように高解像度画像が更新される。このため、最終的に得られる高解像度画像は、基準画像の解像度を向上させた画像と言える(参照画像は、その解像度の向上のために参照される画像である)。故に、図29のフレーム画像362が基準画像として設定されると、得られる高解像度画像内において、着目した動物は略中央に位置することとなる。
<<第8実施例>>
次に、第8実施例を説明する。第8実施例では、複数の観測低解像度画像から高解像度画像を得るための要素技術を詳細に説明する。第8実施例に記載した事項を、上述の第1〜第7実施例に適用することができる。
第8実施例では、説明の簡略化上、3×3の画像サイズを有する2枚の観測低解像度画像から6×6の画像サイズを有する1枚の高解像度画像を生成する場合を例にとる。2枚の観測低解像度画像の内、一方を第1の観測低解像度画像と呼び、他方を第2の観測低解像度画像と呼ぶ。第1の観測低解像度画像が基準画像として、第2の観測低解像度画像が参照画像として設定されたものとする。尚、以下の説明において、第1及び第2の観測低解像度画像を、夫々、第1及び第2の観測画像と略記することがある。
図30(a)及び(b)に第1及び第2の観測画像の画素配列を表し、図30(c)に高解像度画像の画素配列を示す。図30(c)の画素配列は、初期高解像度画像H0を含む高解像度画像Hnの画素配列である(nは0以上の整数)。また、超解像演算処理の過程において高解像度画像から推定低解像度画像及び差分画像が生成されるが(図8参照)、第kの観測画像に対応する推定低解像度画像及び差分画像の画素配列も第kの観測画像のそれと同じである(第8実施例において、kは1又は2)。第kの観測画像に対応する推定低解像度画像及び差分画像を、以下、夫々、第kの推定低解像度画像及び差分画像と呼ぶ。
図30(a)〜(c)並びに後述の図32、図33(a)及び(b)及び図35において、黒く塗りつぶされた四角形は第1の観測画像又は第1の推定低解像度画像又は第1の差分画像の画素が配置される点を表し、黒く塗りつぶされた三角形は第2の観測画像又は第2の推定低解像度画像又は第2の差分画像の画素が配置される点を表し、黒く塗りつぶされた丸は高解像動画像の画素が配置される点を表している。
各画像において画素は行列状に配置されている。1枚の観測画像(又は推定低解像度画像又は差分画像)における合計9個の画素の位置を表す座標を、0≦i≦2且つ0≦j≦2の範囲内のi及びjを用いて(i,j)で表す。但し、i及びjは整数である。高解像度画像における合計36個の画素の位置を表す座標を、0≦i≦5且つ0≦j≦5の範囲内のi及びjを用いて(i,j)で表す。iは行方向(換言すれば垂直方向)の座標値を表し、jは列方向(換言すれば水平方向)の座標値を表している。
更に、行列表現された第1及び第2の観測画像を夫々y1及びy2で表す。また、第1実施例で述べたように、行列表現された高解像度画像Hnをxnで表す。そして、第1の観測画像内の座標(i,j)における画素の画素値をy1(i,j)で表し、且つ、第2の観測画像内の座標(i,j)における画素の画素値をy2(i,j)で表し、且つ、高解像度画像Hn内の座標(i,j)における画素の画素値をxn(i,j)で表す。そうすると、y1、y2及びxnは、式(B−1)、(B−2)及び(B−3)によって表される。尚、上述したように、添え字Tが付された行列は元の行列の転置行列を表す。
[サブピクセル精度の位置ずれ量の算出方法]
まず、基準画像としての第1の観測画像を基準とした、第1及び第2の観測画像間の位置ずれ量の算出方法を説明する。第1実施例で述べたように、位置ずれ量は、代表点マッチング法やブロックマッチング法、勾配法などを用いて、サブピクセルの分解能を有するように算出される。例として、代表点マッチング法を用いる場合を説明する。
第1の観測画像に設定された代表点が座標(0,0)における画素であり、代表点マッチング法における検出ブロックサイズを1×1とした場合、位置(i,j)に対応する相関値E(i,j)は式(B−4)で表される。(i,j)=(0,0)、(0,1)、・・・(2,2)の夫々に対して相関値E(i,j)を求め、得られた合計9個の相関値E(0,0)〜E(2,2)の内、最小の相関値を特定する。この最小の相関値をE(iO,jO)で表すとすると、iO及びjOによって、第1及び第2の観測画像間の、整数精度における位置ずれ量が定まる。
位置ずれ量の小数点部分は、最小の相関値E(iO,jO)を与える画素の上下左右の画素に対する相関値及び相関値E(iO,jO)に基づき、例えば図31に示すような放物線近似を利用して算出する。例えば、iO=1且つjO=1である場合、位置ずれ量の小数点部分の行方向成分iSUB及び列方向成分jSUBは、下記式(B−5)及び(B−6)に従って求められる。但し、線形近似を用いる等、公知の任意の方法を用いて小数点部分の位置ずれ量を導出するようにしても構わない。
最終的に第1及び第2の観測画像間の位置ずれ量は、iO及びjOとiSUB及びjSUBとによって表現されることとなる。つまり、その位置ずれ量の行方向成分及び列方向成分(換言すれば、垂直成分及び水平成分)は、夫々、(iO+iSUB)及び(jO+jSUB)で表される。
[初期高解像度画像の生成方法]
初期高解像度画像H0は、線形補間やバイキュービック補間を用い、基準画像としての第1の観測画像から生成する。例えば、y1(0,0)=x0(0,0)とし、線形補間を用いて第1の観測画像を2倍の拡大率にて拡大することで初期高解像度画像H0を生成する場合、図32の星型マークで表された、画像H0内の座標(1,3)における画素値x0(1,3)は、下記式(B−7)に従って算出される。
[推定低解像度画像及び差分画像の生成方法]
図4等の超解像処理部57にて実行される超解像演算処理では、高解像度画像に行列Wkを作用させることによって低解像度画像(上述の推定低解像度画像)を再構成する(図8参照)。行列Wkは、上述したように、位置ずれ検出部54で算出した位置ずれ量、高解像度画像から低解像度画像への低解像度化によって生じる画像ぼけを表す点広がり関数(Point Spread Function)、及び、高解像度画像から低解像度画像へのダウンサンプリングを含めた画像変換行列である。この行列Wkに含められる点広がり関数として、例えば、下記式(B−8)で表されるガウス関数PSFk(i,j)が用いられる。
ここで、vk x及びvk yは、高解像度画像に対する第kの観測画像の位置ずれ量の小数点部分を表し、vk x及びvk yは、夫々、その位置ずれ量の行方向成分及び列方向成分の小数点部分である。但し、vk x及びvk yは、高解像度画像上の値として表現される。即ち例えば、高解像度画像上における、0.5画素分の行方向成分の位置ずれをvk x=0.5で表す。
sx及びsyは、高解像度画像から推定低解像度画像を生成する時に高解像度画像に作用させる空間フィルタの大きさ(フィルタ台の大きさ)を表す。sx及びsyは、整数値をとる。今の例において、sx=sy=2とされる。vk x又はvk yの値が小数部を含まないときは、その空間フィルタの行方向及び列方向のタップ数は夫々(2sx+1)及び(2sy+1)とされ、vk x又はvk yの値が小数部を含むときは、その空間フィルタの行方向及び列方向のタップ数は夫々3sx及び3syとされる。また、σ2は、ガウス関数における分散を表す。
例として、高解像度画像に対する第1及び第2の観測画像の位置ずれ量の整数部分がゼロであって且つv1 x=0、v1 y=0、v2 x=0.5、v2 y=0.5である場合において、高解像度画像から第1及び第2の推定低解像度画像の座標(1,1)の画素を生成することを考える。
この場合、第1の推定低解像度画像に関しては、v1 x=0且つv1 y=0であるため、高解像度画像に作用させる空間フィルタの行方向及び列方向におけるタップ数は共に5(=2×2+1)とされる。図33(a)の正方形411は、第1の推定低解像度画像内における座標(1,1)の画素412を生成するために高解像度画像に作用させるべき空間フィルタのフィルタ台(フィルタのインパルス応答がゼロでない範囲)を示している。再構成によって画素412を生成するために、フィルタ台411内に位置する、高解像度画像の25画素(即ち、座標(0,0)〜(4,4)の画素)の画素値が参照されることになる。図33(a)の下側に、この25画素に作用させる行列W1における点広がり関数(低解像度画像を基準とした点広がり関数)を示す。
また、第2の推定低解像度画像に関しては、v2 x=0.5且つv2 y=0.5であるため、高解像度画像に作用させる空間フィルタの行方向及び列方向におけるタップ数は共に6(=3×2)とされる。図33(b)の正方形421は、第2の推定低解像度画像内における座標(1,1)の画素422を生成するために高解像度画像に作用させるべき空間フィルタのフィルタ台を示している。再構成によって画素422を生成するために、フィルタ台421内に位置する、高解像度画像の36画素(即ち、座標(0,0)〜(5,5)の画素)の画素値が参照されることになる。図33(b)の下側に、この36画素に作用させる行列W2における点広がり関数(低解像度画像を基準とした点広がり関数)を示す。
Wkxnは、高解像度画像Hnから再構成された第kの推定低解像度画像を行列表現したものであり、下記式(B−9)によって表される。図34に、行列W1の例を示す。今の例の場合、行列W1は9×36の行列となる。そして、第kの観測画像の各画素値から第kの推定低解像度画像の各画素値を差し引くことによって第kの差分画像が生成される(図8参照)。第kの差分画像を表す行列(yk−Wkxn)は、下記式(B−10)によって表される。
[差分画像に基づく高解像度画像の更新]
各低解像度画像に対する差分画像が得られた後、各差分画像を高解像度画像の座標面上にフィードバックすることで高解像度画像を更新する。
例えば、図35に示す如く、高解像度画像上の座標(2,3)の画素432にフィードバックされる、第1の差分画像内の画素は四角枠431内の6画素(黒四角の画素)であり、画素432にフィードバックされる、第2の差分画像内の画素は四角枠431内の9画素(黒三角の画素)である。但し、上述したように、高解像度画像に対する第1及び第2の観測画像の位置ずれ量の整数部分がゼロであって且つv1 x=0、v1 y=0、v2 x=0.5、v2 y=0.5であるものとする。
画素432に対応するフィードバック値error(2,3)は、下記式(B−11)にて表されることとなる。ここで、PSF1(0,1)等の値は上記式(B−8)に従う。図36(a)及び(b)に、error(2,3)を算出する時に使用される転置行列W1 T及びW2 Tにおける点広がり関数(高解像度画像を基準とした点広がり関数)を示す。
フィードバック値は高解像度画像を形成する各画素に対して求められる。求められた全フィードバック値を表す行列errorは、下記式(B−12)に示す如く、第kの差分画像を表す行列(yk−Wkxn)とWkの転置行列との積和演算によって求められる。尚、図37に、図34の行列W1の転置行列を示す。行列errorが求められた後、式(B−13)に従って行列xnを更新して行列xn+1を生成する。即ち、高解像度画像Hnを更新して高解像度画像Hn+1を生成する。式(B−13)は、第1実施例で述べた式(A−1)と等価である。
<<変形等>>
上述した説明文中に示した具体的な数値は、単なる例示であって、当然の如く、それらを様々な数値に変更することができる。上述の実施形態の変形例または注釈事項として、以下に、注釈1〜注釈6を記す。各注釈に記載した内容は、矛盾なき限り、任意に組み合わせることが可能である。
[注釈1]
2枚、3枚又は4枚の低解像度画像から1枚の高解像度画像を生成する例を上述したが、高解像度画像を生成するための低解像度画像の枚数は2以上であれば何枚でも良い。
[注釈2]
上述の実施形態では、超解像処理として再構成型方式の一種であるMAP方式を用いた超解像処理を例示したが、本発明にて利用可能な超解像処理はどのような方式の超解像処理であっても構わない。上述の実施形態では、初期高解像度画像を生成した後、更新量の算出及び該更新量による高解像度画像の更新を含む超解像演算処理を繰り返し実行しているが、この超解像演算処理の繰り返しは必須ではなく、1回だけ超解像演算処理を行って得た高解像度画像H1を最終的に求めるべき高解像度画像として取り扱うことも可能である。
[注釈3]
上述の各実施例において、基準画像の選択に用いる様々な指標を個別に説明した。例えば、この指標として、第1〜第3実施例では低解像度画像のぼけ量を用い、第4実施例ではセンサ検出データを用い、第5実施例では画像上における主要被写体の大きさを用い、第6実施例では顔領域内の顔の状態(眼の開閉状態や顔の表情)を用いている。
これらの様々な指標の内、任意の2以上の指標を組み合わせて用いて基準画像の選択を行うことも可能である。例えば、ぼけ量と顔領域内の顔の状態とに基づいて基準画像の選択を行うようにしても良い。より具体的には例えば、瞬き検出処理により眼が開いていると判断された観測低解像度画像が複数ある場合、眼が開いていると判断された複数の観測低解像度画像の内、ぼけ量が最も少ない観測低解像度画像を基準画像に設定するようにしてもよい。ぼけ量と顔領域内の顔の状態とに基づいて基準画像の選択を行う方法は、当然、ぼけ量に基づいて基準画像の選択を行う方法でもあるし、顔領域内の顔の状態に基づいて基準画像の選択を行う方法でもある。
[注釈4]
図1の撮像装置1は、ハードウェア、或いは、ハードウェアとソフトウェアの組み合わせによって実現可能である。特に、図4、図17、図21、図24又は図28の超解像部50、50a、50b、50c又は50d内で実行される演算処理の一部又は全部を、ソフトウェアを用いて実現することも可能である。勿論、超解像部50、50a、50b、50c又は50dをハードウェアのみで形成することも可能である。ソフトウェアを用いて撮像装置1を構成する場合、ソフトウェアにて実現される部位についてのブロック図は、その部位の機能ブロック図を表すことになる。
[注釈5]
超解像部50、50a、50b、50c又は50dの機能を撮像装置1と異なる外部機器(例えば、パーソナルコンピュータ;不図示)にて実現することも可能である。この場合、その外部機器内に超解像部50、50a、50b、50c又は50dと同等の超解像部を設けるようにし、撮像装置1にて複数の低解像度画像を取得した後、その複数の低解像度画像の画像情報を無線又は有線にて或いは記録媒体を介して上記外部機器に供給すればよい。
[注釈6]
例えば、以下のように考えることができる。超解像部50、50a、50b、50c又は50dを、画像処理装置と呼ぶこともできる。超解像処理部57は、高解像度画像生成手段として機能する。この高解像度画像生成手段に、生成部55が含まれていると考えることもできる。