しかしながら、特許文献1、4及び5に記載の技術では、高解像度画像を生成する際に使用される低解像度画像の枚数や低解像度画像に対する高解像度画像の拡大率が予め定められている。このため、定められた枚数や拡大率によっては、処理時間が必要以上に長くなったり、目標とする画質を有する高解像度画像を得ることができなかったりする可能性があるという技術的問題点がある。
また、特許文献2に記載の技術では、刻々と入力画像の状態が変化する実環境では、最適なパラメータを求めることが困難になるおそれがある。このため、例えば、処理時間が必要以上に長くなったり、目標とする画質を有する高解像度画像を得ることができなかったりする可能性があるという技術的問題点がある。また、特許文献3に記載の技術では、例えば高解像度画像推定に用いられる画像の状態(例えば、輝度のばらつき)等については記載されていない。このため、用いられる画像の状態によっては、目標とする画質を有する高解像度画像を得ることができない可能性があるという技術的問題点がある。また、特許文献6に記載の技術では、処理時間を短縮することが困難であるという技術的問題点がある。
本発明は、例えば上記問題点に鑑みてなされたものであり、処理時間を短縮しつつ、目標とする画質を有する高解像度画像を得ることができる画像処理装置及び方法、並びにコンピュータプログラムを提供することを課題とする。
本発明の画像処理装置は、上記課題を解決するために、第1解像度を夫々有する複数枚の第1画像を取得する画像取得手段と、前記取得された複数枚の第1画像の少なくとも一部に基づいて、前記第1解像度より高い解像度である第2解像度を有する第2画像を生成する高解像化処理を実施する高解像度画像生成手段と、前記第1解像度に対する前記第2解像度の拡大率、及び前記高解像化処理が施される第1画像の枚数を設定可能な設定手段と、前記生成された第2画像に応じて、前記拡大率及び前記枚数の少なくとも一方の変更が必要か否かを判定する判定手段と、前記拡大率及び前記枚数の少なくとも一方の変更が必要と判定されたことを条件に、前記拡大率及び前記枚数の少なくとも一方を変更するように前記設定手段を制御する制御手段とを備える。
本発明の画像処理装置によれば、例えばメモリ、プロセッサ等を備えて構成される画像取得手段は、第1解像度を夫々有する複数枚の第1画像を取得する。ここに、「第1画像」は、例えばカメラ、ビデオカメラ等により撮像された例えば写真、動画を構成するフレーム画像等である。また、第1画像は、1台のカメラやビデオカメラ等により撮像された写真や動画を構成するフレーム画像等であってもよいし、複数台のカメラやビデオカメラ等により撮像された写真や動画を構成するフレーム画像等であってもよい。
取得された複数枚の第1画像は、第1画像における撮像対象物の位置が相互に異なっている画像(即ち、位置ずれが生じた画像)を含んでいる。尚、例えば手ブレ等の意図しないカメラ等の位置の変化を用いれば、比較的容易にして位置ずれが生じた画像を撮像することができる。
例えばメモリ、プロセッサ等を備えて構成される高解像度画像生成手段は、取得された複数枚の第1画像の少なくとも一部に基づいて、第1解像度より高い解像度である第2解像度を有する第2画像を生成する高解像化処理を実施する。ここで、本発明に係る「高解像化処理」は、例えば、取得された複数の第1画像の相互間の位置合わせ処理、高解像度グリッドへの補間処理及びボケやノイズの除去処理等を含んでいる。このような高解像化処理として、例えば、補間処理手法、周波数領域処理手法、再構成処理手法、POCS(Projection Onto Convex Sets)処理手法、IBP(Iterative Back Projection)処理手法等が提案されている。本発明に係る「高解像化処理」として、前記提案された各種手法のうちいずれを用いてもよい。
尚、本発明に係る「高解像化処理」は、典型的には、第1画像のうちの一領域(例えば、撮像対象物が含まれている領域、或いは、撮像対象物の一部が含まれている領域)の解像度を向上させる処理である。また、本発明に係る「第2画像」は、高解像化処理後の画像に限らず、例えば位置合わせ処理後の画像等、高解像化処理中に生成される画像を意味してよい。即ち、本発明に係る「第2画像」は、複数枚の第1画像の少なくとも一部に対して、高解像化処理に係る何らかの処理が施された結果生成された画像を意味する。
例えばメモリ、プロセッサ等を備えて構成される設定手段は、第1解像度に対する第2解像度の拡大率、及び高解像化処理が施される第1画像の枚数を設定可能である。ここで、「第1解像度に対する第2解像度の拡大率」とは、第1画像を構成する画素数に対する第2画像を構成する画素数の倍率を意味する。例えば、「拡大率4倍」とは、第2画像を構成する画素数が、第1画像を構成する画素数の4倍であることを意味する。
例えばメモリ、プロセッサ、コンパレータ等を備えて構成される判定手段は、生成された第2画像に応じて、拡大率及び枚数の少なくとも一方の変更が必要か否かを判定する。ここで、「生成された第2画像に応じて」とは、高解像化処理の結果生成された第2画像における、例えば有効ピクセル数、第2画像に含まれる文字が認識可能か否か等の第2画像の状態(又は画質)に係る何らかのパラメータに応じてという意味である。
尚、本発明に係る「有効ピクセル数」とは、生成された第2画像において、仮想的に設けられる複数のグリッドの各々を構成する複数の画素(即ち、ピクセル)の画素情報(例えば色相、明度、彩度等)を生成する際に用いられた第1画像を構成する画素の画素数を意味する。言い換えれば、第2画像の生成に寄与した第1画像の画素数を意味する。
例えばメモリ、プロセッサ等を備えて構成される制御手段は、拡大率及び枚数の少なくとも一方の変更が必要と判定されたことを条件に、拡大率及び枚数の少なくとも一方を変更するように設定手段を制御する。
本願発明者の研究によれば、撮像対象物の高解像度画像を取得する場合に、例えば比較的画素数の多いCCD(Charge Coupled Device)等の撮像素子を備える撮像機器(例えばカメラ、ビデオカメラ等)が用いられる。しかしながら、実用面から撮像素子の大型化には制限があり、画素数を増加しようとすると一画素のサイズを小さくしなければならない。すると、一枚の画像の撮像時間(例えば、シャッタースピード)を変更しなければ、一画素に入射する光量が減少し、ノイズが生じる等のおそれがある。
他方で、複数枚の比較的低解像度の画像から、一枚の比較的高解像度の画像を生成する処理(所謂、超解像処理)が提案されている。しかしながら、超解像処理により生成される画像の状態は、超解像処理が施される低解像度の画像の状態に依存する。そして、様々な状態の低解像度の画像から、超解像処理によって、ある一定以上の状態の画像を生成しようとすると、拡大率や低解像度の画像の枚数を比較的大きく設定しなければならない。この結果、超解像処理に係る計算時間が比較的長くなることが判明している。
しかるに本発明では、判定手段によって、生成された第2画像に応じて、拡大率及び枚数の少なくとも一方の変更が必要か否かが判定され、制御手段によって、拡大率及び枚数の少なくとも一方の変更が必要と判定されたことを条件に、拡大率及び枚数の少なくとも一方を変更するように設定手段が制御される。このため、例えば、初期値として、比較的小さな拡大率及び比較的少ない枚数を設定して、判定手段による判定結果に応じて、徐々に拡大率及び枚数の少なくとも一方を大きくすれば、高解像化処理が施される第1画像に適した拡大率及び枚数を、比較的早期に設定することができると共に、処理時間が必要以上に長くなることを防止することができる。従って、本発明の画像処理装置によれば、処理時間を短縮しつつ、目標とする画質を有する高解像度画像を得ることができる。
本発明の画像処理装置の一態様では、前記判定手段は、前記生成された第2画像を複数のグリッドに分割し、前記分割された複数のグリッド各々における前記高解像化処理が施された第1画像の画素の画素分布の程度に応じて、前記拡大率及び前記枚数の少なくとも一方の変更が必要と判定する。
この態様によれば、判定手段は、分割された複数のグリッド各々における高解像化処理が施された第1画像の画素の画素分布の程度に応じて、拡大率及び枚数の少なくとも一方の変更が必要と判定する。ここで、「画素分布の程度」とは、例えば、各グリッドの中心に対する各グリッドに含まれる第1画像の画素の位置(又は、座標)に基づく分散等の画素のバラツキを示す指数又は指標を意味する。
判定手段は、例えば、画素分布の程度が比較的大きい場合(即ち、画素分布の偏りが小さい場合)に、拡大率の変更が必要と判定する。他方、画素分布の程度が比較的小さい場合(即ち、画素分布の偏りが大きい場合)に、枚数の変更が必要と判定する。
尚、判定手段は、前回生成された第2画像及び今回生成された第2画像間の差異が所定値よりも小さいことを条件に、拡大率及び枚数のいずれの変更も必要ないと判定してよい。或いは、第2画像が、例えば文字や人の顔等を含んでいる場合、該含まれている文字や人の顔等が認識可能であることを条件に、拡大率及び枚数のいずれの変更も必要ないと判定してよい。
この態様では、前記判定手段は、前記画素分布の程度が所定程度より大きい場合に、前記拡大率の変更が必要と判定し、前記画素分布の程度が前記所定程度より小さい場合に、前記枚数の変更が必要と判定してよい。
このように構成すれば、比較的容易にして、拡大率及び枚数のどちらの変更が必要であるかを判定することができる。ここに、「所定程度」とは、拡大率の変更が必要か、枚数の変更が必要かを決定する値であり、予め固定値として又は何らかのパラメータに応じた可変値として設定される値である。このような所定程度は、経験的若しくは実験的に又はシミュレーションによって、例えば、第1画像における高解像化処理を施す領域を構成する画素数、画素分布の程度、処理時間及び生成される第2画像の状態の相互間の関係を求め、該求められた関係に基づいて、処理時間が短縮されるような程度として設定すればよい。
尚、画素分布の程度が、所定程度と「等しい」場合は、どちらかの場合に含めて扱えばよい。
本発明の画像処理装置の他の態様では、前記取得された複数の第1画像の各々は文字を含んでおり、前記判定手段は、前記生成された第2画像に含まれる文字の状態を取得する文字状態取得手段を含み、前記取得された文字の状態に応じて、前記拡大率及び前記枚数の少なくとも一方の変更が必要か否かを判定する。
この態様によれば、例えばメモリ、プロセッサを備えて構成される文字状態取得手段は、生成された第2画像に含まれる文字の、例えばかすれやつぶれ等の状態を取得する。判定手段は、取得された文字の状態に応じて、拡大率及び枚数の少なくとも一方の変更が必要であるか否かを判定する。
尚、拡大率及び枚数の少なくとも一方の変更が必要か否かを決定する指標又は閾値は、経験的又は実験的に、例えば製造者又はユーザが、生成された第2画像を参照しながら設定すればよい。
本発明の画像処理装置の他の態様では、前記取得された複数の第1画像各々の輝度を補正する輝度補正手段を更に備える。
この態様によれば、例えば照明、天候、撮像された時間帯等の変化に起因する輝度の変化を補正することができる。この結果、高解像化処理における位置合わせ処理を適切に実施することができる。尚、輝度の補正には、例えば輝度アフィン変換、輝度非線形変換等の既存の輝度補正方法を用いればよい。
本発明の画像処理方法は、上記課題を解決するために、第1解像度を夫々有する複数枚の第1画像を取得する画像取得手段と、前記取得された複数枚の第1画像の少なくとも一部に基づいて、前記第1解像度より高い解像度である第2解像度を有する第2画像を生成する高解像化処理を実施する高解像度画像生成手段と、前記第1解像度に対する前記第2解像度の拡大率、及び前記高解像化処理が施される第1画像の枚数を設定可能な設定手段とを備える画像処理装置における画像処理方法であって、前記生成された第2画像に応じて、前記拡大率及び前記枚数の少なくとも一方の変更が必要か否かを判定する判定工程と、前記拡大率及び前記枚数の少なくとも一方の変更が必要と判定されたことを条件に、前記拡大率及び前記枚数の少なくとも一方を変更するように前記設定手段を制御する制御工程とを備える。
本発明の画像処理方法によれば、上述した本発明の画像処理装置と同様に、処理時間を短縮しつつ、目標とする画質を有する高解像度画像を得ることができる。
尚、本発明の画像処理方法においても、上述した本発明の画像処理装置における各種態様と同様の各種態様を採ることが可能である。
本発明のコンピュータプログラムは、上記課題を解決するために、コンピュータを、上述した本発明の画像処理装置(但し、その各種態様を含む)として機能させる。
本発明のコンピュータプログラムによれば、当該コンピュータプログラムを格納するCD−ROM(Compact Disc Read Only Memory)、DVD−ROM(DVD Read Only Memory)等の記録媒体から、当該コンピュータプログラムを、画像処理装置に備えられたコンピュータに読み込んで実行させれば、或いは、当該コンピュータプログラムを通信手段を介してダウンロードさせた後に実行させれば、上述した本発明のスケジューリング装置を比較的容易にして実現できる。これにより、上述した本発明の画像処理装置の場合と同様に、処理時間を短縮しつつ、目標とする画質を有する高解像度画像を得ることができる。
以上詳細に説明したように、本発明の画像処理装置によれば、画像取得手段、高解像度画像生成手段、設定手段、判定手段及び制御手段を備え、本発明の画像処理方法によれば、判定工程及び制御工程を備え、本発明のコンピュータプログラムによれば、コンピュータを上述の画像処理装置として機能させるので、処理時間を短縮しつつ、目標とする画質を有する高解像度画像を得ることができる。
本発明の作用及び他の利得は、次に説明する実施するための最良の形態から明らかにされよう。
以下、本発明の画像処理装置に係る実施形態を図1乃至図9を参照して説明する。
(画像処理装置の構成)
先ず、図1を参照して、本実施形態に係る画像処理装置の構成について説明する。ここに、図1は、本実施形態に係る画像処理装置の構成を示すブロック図である。
図1において、画像処理装置1は、画像入力部11、拡大率・枚数設定部12、輝度補正部13、超解像処理部14、判定部15、CPU(Central Processing Unit)16、メモリ17及び画像出力部18を備えて構成されている。尚、本実施形態に係る「画像入力部11」、「拡大率・枚数設定部12」、「輝度補正部13」、「超解像処理部14」、「判定部15」及び「CPU16」は、夫々、本発明に係る「画像取得手段」、「設定手段」、「輝度補正手段」、「高解像度画像生成手段」、「判定手段」及び「制御手段」の一例である。
画像入力部11は、例えばUSB(Universal Serial Bus)等の外部接続端子(図示せず)を有しており、例えばカメラ、ビデオカメラ等と接続可能である。CPU15は、画像入力部11を介して、例えばカメラ、ビデオカメラ等から複数枚の低解像度画像を取得し、メモリ17に格納する。ここに、本実施形態に係る「低解像度画像」は、本発明に係る「第1画像」の一例である。尚、本実施形態では、複数枚の低解像度画像は、同じシーンに対して、例えばカメラ、ビデオカメラ等を少しずつ平行移動させて撮像されたものとする。
拡大率・枚数設定部12は、後述する超解像処理における拡大率及び該超解像処理に用いられる低解像度画像の枚数を設定可能である。
輝度補正部13は、取得された複数枚の低解像度画像のうち超解像処理に用いられる画像の輝度を補正する。ここで、輝度補正部13が実施する輝度補正について、図2を参照して説明する。ここに、図2は、本実施形態に係る輝度補正の概念を示す概念図である。尚、図中の画像の色は、各画像の輝度を示している。
図2(a)に示すように、時間軸tに沿って複数枚の画像が並んでいる。例えば、基準画像1に対して、超解像処理を実施する場合、基準画像1の超解像処理に用いられる入力画像群の輝度を合わせるように、該入力画像群に対して、例えば輝度アフィン変換、輝度非線形変換等の処理を施す。このような処理により、図2(b)に示すように、基準画像1の超解像処理に用いられる入力画像群の輝度を合わせることができる。基準画像2及び3についても同様である。
再び図1に戻り、超解像処理部14は、位置合わせ部141、補間部142及びボケ・ノイズ除去部143を備えて構成されている。位置合わせ部141は、複数の低解像度画像の位置合わせを行う。ここで、位置合わせ部141が実施する位置合わせ処理について、図3を参照して説明する。ここに、図3は、本実施形態に係る位置合わせの概念を示す概念図である。
図3において、複数の低解像度画像I1、I2及びI3を、低解像度画像I1を基準として位置合わせを行う場合、低解像度画像I2及びI3各々の低解像度画像I1に対する位置ずれを求めて、該求められた位置ずれに基づいて、位置合わせ画像I4を生成する。尚、位置ずれを求める方法は、例えば基準となる低解像度画像I1に対する各低解像度画像I2及びI3の差分値を求める方法等の各種方法を採用してよい。
補間部142は、位置合わせ部141によって生成された位置合わせ画像I4に基づいて、超解像画像を構成する画素の画素値を決定又は推定する。ここで、補間部142が実施する補間処理について、図4を参照して説明する。
ここに、図4は、本実施形態に係る補間処理の概念を示す概念図である。図4において、点線の交点は、超解像画像における画素の位置を示している。また、白丸p1、p2及びp3は、低解像度画像の画素を示しており、黒丸p(i,j)は、低解像度画像の画素から推定される超解像画像の画素を示している。
補間部142は、例えば、黒丸p(i,j)に最も近い低解像度画像の画素である白丸p2の画素値を黒丸p(i,j)の画素値とする。或いは、補間部142は、白丸p1、p2及びp3の各々の画素値の中間値を求めて、該求められた中間値を黒丸p(i,j)の画素値とする。或いは、補間部142は、各白丸p1、p2及びp3と黒丸p(i,j)との間の距離を求める。そして、該求められた距離を重みとして、白丸p1、p2及びp3の各々の画素値の加重平均値を求めて、該求められた加重平均値を黒丸p(i,j)の画素値とする。
再び図1に戻り、判定部15は、本発明に係る「文字状態取得手段」の一例としての文字状態取得部151、及び顔認識部152を備えて構成されている。判定部15は、超解像処理部14によって生成された超解像画像に応じて、拡大率及び枚数の少なくとも一方の変更が必要か否かを判定する。
ここで、判定部15が実施する判定について、図5乃至図8を参照して具体的に説明する。ここに、図5乃至図8は、生成された超解像処理に係る画像の一例である。先ず、図5は、位置合わせ処理後の画像の一例である。図中の黒い部分は、有効ピクセルが存在しないことを意味している。
有効ピクセル数が比較的少ない場合、言い換えれば、低解像度画像の画素が超解像画像となるべき画像におけるグリッド内に比較的偏って分布している場合は、図5(a)に示すように、比較的低い画質を有する位置合わせ画像が得られる。他方、有効ピクセル数が比較的多い場合、言い換えれば、低解像度画像の画素が超解像画像となるべき画像におけるグリッド内に比較的均等に分布している場合は、図5(b)に示すように、比較的良好な画質を有する位置合わせ画像が得られる。
尚、本実施形態に係る「有効ピクセル数」は、本発明に係る「画素分布の程度」の一例である。
有効ピクセル数が比較的少ないという現象は、超解像処理に用いられた低解像度画像の位置ずれが十分でなかったことを示している。このため、有効ピクセル数の増加を図るためには、超解像処理に用いる低解像度画像の枚数を増加することが有効であることが、本願発明者の研究により判明している。他方、有効ピクセル数が比較的多い場合であっても、目的とする画質が得られない場合がある。この場合は、拡大率を増加することが有効であることが、本願発明者の研究により判明している。これは、超解像処理に用いられた低解像度画像の解像度(又は、低解像度画像において対象物を構成する画素数)が比較的低いことに起因していると推察される。
従って、判定部15は、位置合わせ画像における有効ピクセル数が、閾値より大きく、且つ所定の画質に到達していない場合、拡大率の変更が必要であると判定する。他方、有効ピクセル数が閾値より小さい場合に、枚数の変更が必要であると判定する。
図6は、超解像処理に用いる低解像度画像の枚数と生成された超解像画像とを示している。図6に示すように、入力される低解像度画像が増加するにつれて、文字が鮮明になっていく(即ち、有効ピクセル数が増加する)ことが分かる。
図7は、拡大率及び超解像処理に用いる低解像度画像の枚数と、生成された超解像画像とを示している。図7に示した例では、拡大率を2倍に固定したまま、低解像度画像の枚数を増加しても、生成された超解像画像の画質がほとんど変化しない(即ち、有効ピクセル数が増加しない)ことが分かる(図7(a)及び(b)参照)。他方、拡大率を2倍から3倍にすれば、入力される低解像度画像の枚数が4枚であっても、比較的良好な画質を有する超解像画像を得ることができる(図7(c)参照)。更に、適切に撮像位置をずらしながら撮像された低解像度画像の枚数を増加すれば、生成される超解像画像の画質がより良くなることが期待される(図7(d)参照)。尚、本実施形態では、拡大率を変更する場合、典型的には、超解像処理に用いられる低解像度画像の枚数も変更する。
図8は、生成された超解像画像に含まれる文字の様子を示している。超解像処理に用いられる低解像度画像の枚数が少なかったり、拡大率が適切でなかったりする場合は、例えば図8(a)に示すように、文字がかすれたり、つぶれたりする。
判定部15における文字状態取得部151は、超解像画像における、例えば文字のかすれの程度やつぶれの程度等の文字の状態に係るパラメータを取得する。続いて、判定部15は、取得されたパラメータに基づいて、超解像処理を継続するか否かを判定する。尚、文字状態取得部151により取得されたパラメータにより示される文字の状態が、例えば図8の(a)乃至(c)のいずれの場合に、超解像処理を継続し、いずれの場合に継続しないという閾値は、当該画像処理装置の製造者やユーザによって設定可能とされてよい。
尚、超解像処理を継続すると判定された場合、判定部15は、上述の如く、超解像画像における有効ピクセル数に応じて、拡大率及び枚数のいずれの変更が必要であるかを判定する。
顔認識部152は、超解像画像に顔が含まれている場合に、例えば瞳、目頭、目尻、眉、鼻頂点、鼻孔、口中点、口端等の顔の特徴点を検出する。判定部15は、検出された顔の特徴点に応じて、超解像処理を継続するか否かを判定する。
再び図1に戻り、CPU16は、判定部15により拡大率及び枚数の少なくとも一方の変更が必要と判定されたことを条件に、拡大率及び枚数の少なくとも一方を変更するように拡大率・枚数設定部12を制御する。
画像出力部18は、例えばモニタ等の画像表示装置と接続可能な外部接続端子(図示せず)を有しており、画像表示装置に生成された超解像画像等を出力する。
(超解像処理)
次に、以上のように構成された画像処理装置1において実行される超解像処理について、図9のフローチャートを用いて説明する。
先ず、例えばキーボード等の入力装置を介して、画像処理装置1のユーザによって、例えば取得する画像の枚数や拡大率等の初期値が設定される(ステップS101)。ここで、設定される初期値は、処理時間の短縮という観点から比較的小さいことが好ましい(例えば、取得する画像の枚数は2枚、拡大率は2倍等)。尚、例えば取得される画像の最大枚数、最大計算枚数、最大計算拡大率等は、典型的には、画像処理装置1の製造者によって予め定められている。
次に、CPU16は、画像入力部11を介してL(L≧2)枚だけ、低解像度画像を取得し、メモリ17に格納する(ステップS102)。ここで、取得枚数Lは、初期設定後初めてステップS102の処理が実行される場合は、ステップS101において設定された初期値である。
尚、例えば取得枚数Lが16と設定されている場合に、低解像度画像が10枚しか取得できなかった場合(例えば、対象物が含まれている画像が10枚しか存在していない場合)は、CPU16は、取得枚数Lを10に変更するように、拡大率・枚数設定部12を制御する。また、低解像度画像に対象物が含まれているか否かの判定は、例えば、画像特徴量を抽出し、該抽出された画像特徴量に基づくマッチング法等の各種方法を用いればよい。
続いて、CPU16は、メモリ17に格納された複数枚の低解像度画像のうち超解像処理に用いることができる低解像度画像をLOK(LOK≦L)枚だけ選択する(ステップS103)。ステップS103において選択される低解像度画像は、超解像処理を施す対象領域を含んでいる低解像度画像である。
次に、判定部15は、選択された低解像画像の枚数LOKが、今回の処理における拡大率と同倍率で実施された前回の処理枚数LBと等しいか否かを判定する(ステップS104)。ここで、前回の処理枚数LBは、初期設定後、初めてステップS105の処理が実行される場合はゼロである。
枚数LOKが前回の処理枚数LBと等しいと判定された場合(ステップS104:Yes)、続いて、判定部15は、取得枚数Lを増やして処理を継続するか否かを判定する(ステップS113)。尚、初期設定後、初めてステップS105の処理が実行され、前回の処理枚数LBと等しいと判定される場合は、メモリ17に格納された複数枚の低解像度画像のうち超解像処理に用いることができる低解像度画像がない場合(即ち、枚数LOKがゼロである場合)である。
ステップS113の処理において、取得枚数Lを増やして処理を継続すると判定された場合(ステップS113:Yes)、CPU16は、取得枚数Lを増やすように、拡大率・枚数設定部12を制御する(ステップS114)。ここで、取得枚数の増分ΔLは、任意の値であってよいが、処理時間の短縮という観点からは、例えば2や4等の比較的小さな値が好ましい。他方、処理を継続しないと判定された場合(ステップS113:No)、一旦処理を終了する。
尚、ステップS113における判定は、例えば、選択された低解像度画像の枚数LOKが所定値より小さいことを条件に、継続すると判定すればよい。或いは、枚数を増やして処理を継続するか否かを示すメッセージを含む信号を、画像出力部18を介して、例えばモニタに出力し、ユーザに選択させるようにすればよい。
次に、判定部15は、再設定された取得枚数Lが、予め定められている最大計算枚数LMより大きいか否かを判定する(ステップS115)。最大計算枚数LMより大きいと判定された場合(ステップS115:Yes)、一旦処理を終了する。他方、最大計算枚数LMより小さいと判定された場合(ステップS115:No)、続いて、ステップS102の処理が実行される。
他方、ステップS104の処理において、選択された低解像度画像の枚数LOKが前回の処理枚数LBと等しくないと判定された場合(ステップS104:No)、続いて、CPU16は、選択された低解像度画像の輝度を補正するように輝度補正部13を制御する(ステップS105)。
次に、CPU16は、輝度補正を施された低解像度画像に対して超解像処理を施して、超解像画像を生成すように、超解像処理部14を制御する(ステップS106)。具体的には、CPU16は、輝度補正を施された低解像度画像に対して位置合わせ処理を施して、位置合わせ画像(図5参照)を生成するように、超解像処理部14の位置合わせ部141を制御する。続いて、CPU16は、生成された位置合わせ画像に対して補間処理を施して、補間画像を生成するように、超解像処理部14の補間部142を制御する。続いて、CPU16は、生成された補間画像に対してボケ・ノイズ除去処理を施して、超解像画像(図6乃至8参照)を生成するように、ボケ・ノイズ除去部143を制御する。
或いは、CPU16は、位置合わせ部141を制御して位置合わせ画像を生成した後に、該生成された位置合わせ画像に対してボケ・ノイズ除去処理を施して、超解像画像を生成するようにボケ・ノイズ除去部143を制御する(この場合、補間処理は実施されない)。尚、超解像処理が終了した際に、CPU16は、計算回数nを1だけ増加する。
ここで、ステップS106の処理において実行される超解像処理は、1種類に限らず、複数種類の超解像処理を並行して実行し、生成された複数の超解像画像のうち最も画質のよい超解像画像を選択するようにしてもよい。或いは、超解像処理を施す領域を複数の領域に分割し、該分割された領域毎に、超解像処理の手法を変更してもよい。
特に、低解像度画像の中央部と周辺部とで超解像処理の手法を変更することによって、生成される超解像画像の画質の更なる向上が期待できることが、本願発明者の研究により判明している。これは、用いられる複数枚の低解像度画像が、相互に位置ずれしていることを前提とする超解像処理において、周辺部の超解像処理に用いることができる画素を安定して得ることが困難であることに起因する。
尚、本実施形態に係る「位置合わせ画像」、「補間画像」及び「超解像画像」は、本発明に係る「第2画像」の一例である。
次に、判定部15は、計算回数nが最大計算回数Nより大きいか否かを判定する(ステップS107)。最大計算回数Nより大きいと判定された場合(ステップS107:Yes)、一旦処理を終了する。これにより、処理時間が必要以上に長くなることを防止することができ、実用上非常に有利である。
他方、最大計算回数Nより小さいと判定された場合(ステップS107:No)、続いて、判定部15は、生成された超解像画像が所定の判定条件を満足しているか否かを判定する(ステップS108)。ここで、所定の判定条件は、例えば、前回の処理で生成された超解像画像に対する今回生成された超解像画像の差分値が所定値より小さいか否かである。これは、繰り返し処理をしても生成される超解像画像の画質の向上が期待できない場合には、処理を終了するという意図である。
或いは、生成された超解像画像が文字を含んでいる場合は、文字状態取得部151により取得された文字の状態が所定範囲内であるか否かである。或いは、生成された超解像画像が顔を含んでいる場合は、顔認識部152により検出された顔の特徴点が所定値より多いか否かである。
具体的には例えば、生成された超解像画像が文字や顔を含んでいる場合、判定部15は、前回の処理で生成された超解像画像に対する今回生成された超解像画像の差分値が所定値より小さいか否か、及び、文字状態取得部151により取得された文字の状態が所定範囲内であるか否か又は顔認識部152により検出された顔の特徴点が所定値より多いか否かを判定する。このように構成すれば、文字の状態(例えば、つぶれやかすれ等の状態)が改善しない又は顔の特徴点が増加しない場合に、不必要に超解像処理が繰り返され、処理時間が長くなることを防止することができる。
或いは、生成された超解像画像が風景画像等の文字や顔を含んでいない場合、判定部15は、前回の処理で生成された超解像画像に対する今回生成された超解像画像の差分値が所定値より小さいか否かを判定する。
所定の判定条件を満足していると判定された場合(ステップS108:Yes)、一旦処理を終了する。他方、所定の判定条件を満足していないと判定された場合(ステップS108:No)、続いて、判定部15は、生成された位置合わせ画像における有効ピクセルの割合が閾値より大きいか否かを判定する(ステップS109)。
有効ピクセルの割合が閾値より大きいと判定された場合(例えば、図5(b)に示すような場合)(ステップS109:Yes)、続いて、CPU16は、拡大率Xを増やすように、拡大率・枚数設定部12を制御する(ステップS111)。ここで、拡大率の増分ΔXは、任意の値であってよいが、処理時間の短縮という観点からは、例えば1や2等の比較的小さな値が好ましい。尚、CPU16は、拡大率Xを増やすと共に、取得枚数Lを増やすように、拡大率・枚数設定部12を制御してもよい。
次に、判定部15は、再設定された拡大率Xが、予め定められている最大計算拡大率XMより大きいか否かを判定する(ステップS112)。最大計算拡大率XMより大きいと判定された場合(ステップS112:Yes)、一旦処理を終了する。他方、最大拡大率XMより小さいと判定された場合(ステップS112:No)続いて、ステップS102の処理が実行される。
尚、ステップS106の超解像処理が複数回繰り返される場合、2回目以降の超解像処理の際に、以前に生成された超解像処理画像を用いてもよい。このようにすれば、処理時間をより短縮することができ、実用上非常に有利である。
他方、ステップS109の処理において、有効ピクセルの割合が閾値より小さいと判定された場合(例えば、図5(a)に示すような場合)(ステップS109:No)、続いて、判定部15は、取得枚数Lの増加よりも拡大率Xの増加を優先するか否かを判定する(ステップS110)。拡大率Xの増加を優先すると判定された場合(ステップS110:Yes)、続いて、ステップS111の処理が実行される。一方、拡大率Xの増加を優先しない(即ち、取得枚数Lを増加する)と判定された場合(ステップS110:No)、続いて、ステップS114の処理が実行される。
尚、ステップS110の処理における判定は、例えば、ユーザ等により設定可能な「拡大率優先フラグ」を導入し、該拡大率優先フラグが立っているか否かによって判断すればよい。このようにすれば、超解像処理を施す対象物(例えば風景、文字、人物等)毎に、拡大率X及び取得枚数Lのどちらを優先して増加させたほうがより処理時間が短縮するかというユーザの経験則を反映することができる。
<変形例>
次に、本実施形態の変形例に係る画像処理装置において実行される超解像処理について、図10のフローチャートを用いて説明する。本実施形態では、上述の如く、取得枚数L及び拡大率Xの初期値が比較的小さくされており、超解像処理の繰り返しに伴って取得枚数L及び拡大率Xの少なくとも一方が徐々に大きくなるように構成されている。他方、本変形例では、取得枚数L及び拡大率Xの初期値が比較的大きく設定されており、超解像処理の繰り返しに伴って取得枚数L及び拡大率Xの少なくとも一方が徐々に小さくなるように構成されている。
図10において、ステップS108の処理の結果、生成された超解像画像が所定の判定条件を満足すると判定された後に(ステップS108:Yes)、判定部15は、拡大率X及び取得枚数Lの少なくとも一方を減少するか否かを判定する(ステップS201)。拡大率X及び取得枚数Lの少なくとも一方を減少すると判定された場合(ステップS201:Yes)、続いて、判定部15は、生成された位置合わせ画像における有効ピクセルの割合が閾値より大きいか否かを判定する(ステップS202)。
他方、拡大率X及び取得枚数Lの少なくとも一方を減少しないと判定された場合(ステップS201:No)、一旦処理を終了する。尚、ステップS201の処理における判定は、例えば、拡大率X及び取得枚数Lの少なくとも一方を減らして処理を継続するか否かを示すメッセージを含む信号を、画像出力部18を介して、例えばモニタに出力し、ユーザに選択させるようにすればよい。
ステップS202の処理において、有効ピクセルの割合が閾値より大きいと判定された場合(ステップS202:Yes)、続いて、CPU16は、拡大率Xを減らすように、拡大率・枚数設定部12を制御する(ステップS204)。次に、判定部15は、再設定された拡大率Xが、予め定められている最小計算拡大率XSより小さいか否かを判定する(ステップS205)。最小計算拡大率XSより小さいと判定された場合(ステップS205:Yes)、一旦処理を終了する。他方、最小計算拡大率XMより大きいと判定された場合(ステップS205:No)続いて、ステップS102の処理が実行される。
他方、ステップS202の処理において、有効ピクセルの割合が閾値より小さいと判定された場合(ステップS202:No)、続いて、判定部15は、取得枚数Lの減少よりも拡大率Xの減少を優先するか否かを判定する(ステップS203)。拡大率Xの減少を優先すると判定された場合(ステップS203:Yes)、続いて、ステップS204の処理が実行される。
ステップ203の処理において、拡大率Xの減少を優先しない(即ち、取得枚数Lを減少する)と判定された場合(ステップS203:No)、続いて、CPU16は、取得枚数Lを減らすように、拡大率・枚数設定部12を制御する(ステップS207)。次に、判定部15は、再設定された取得枚数Lが、予め定められている最小計算枚数LSより小さいか否かを判定する(ステップS208)。最小計算枚数LSより小さいと判定された場合(ステップS208:Yes)、一旦処理を終了する。他方、最小計算枚数LMより大きいと判定された場合(ステップS208:No)続いて、ステップS102の処理が実行される。
ステップS104の処理において、選択された低解像画像の枚数LOKが、今回の処理における拡大率と同倍率で実施された前回の処理枚数LBと等しいと判定された場合(ステップS104:Yes)、判定部15は、取得枚数Lを減らして処理を継続するか否かを判定する(ステップS206)。
取得枚数Lを減らして処理を継続すると判定された場合(ステップS206:Yes)、続いて、ステップS207の処理が実行される。他方、取得枚数Lを減らして処理を継続しないと判定された場合(ステップS206:No)、一旦処理を終了する。
尚、本実施形態に係る画像処理装置は、例えばCCD等の撮像素子を備えていないが、画像処理装置に撮像素子が備えられていてもよい。即ち、本実施形態に係る画像処理装置が、例えばカメラ、ビデオカメラ等の撮像機器に搭載されていてもよい。
また、コンピュータプログラムでは、唯一のプログラムを実行することに限らず、複数種類のアルゴリズムを並列に実行して、超解像処理結果の最も良好な結果を選択するようにしてもよい。
尚、本発明は、上述した実施形態に限られるものではなく、請求の範囲及び明細書全体から読み取れる発明の要旨、或いは思想に反しない範囲で適宜変更可能であり、そのような変更を伴う画像処理装置及び方法、並びにコンピュータプログラムもまた、本発明の技術的範囲に含まれるものである。
1…画像処理装置、11…画像入力部、12…拡大率・枚数設定部、13…輝度補正部、14…超解像処理部、15…判定部、16…CPU、17…メモリ、18…画像出力部