(57)【要約】【課題】撮影した画像が読み出し間隔の整数倍で動いている場合にも、効果的に超解像処理を行うことのできる超解像撮像装置及び方法を提供すること。【解決手段】撮像部１０１は、画像を撮影し撮像素子から画像データを画素混合または間引きして読み出す。動き位相判定部１０４は、画像データの動きベクトルから動き位相を求め、読み出し制御部１０２は、動き位相を基に撮像部１０１における読み出し位置を決定する。超解像処理部１０７は、読み出し位置のずれ量により補正した動きベクトルを用いて複数フレームの画像を合成して超解像処理を行う。ここに読み出し制御部１０２は、動き位相が位相ずれを持たない場合、読み出し間隔未満の位相ずれが生じるように読み出し位置をずらす。【選択図】図１
2010015241.tif 000002
【特許請求の範囲】
【請求項１】
画像を撮影するとともに撮影した画像の超解像処理を行う超解像撮像装置において、
画像を撮影し、撮像素子から画像データを画素混合または間引きして読み出す撮像部と、
該撮像部における撮像素子の読み出し位置を決定する読み出し制御部と、
読み出した画像データを格納するメモリと、
該メモリに格納されている画像データについてフレーム間の位置ずれ量を検出して動きベクトルを算出する位置ずれ検出部と、
該動きベクトルから読み出し画素間隔を周期とする動き位相を求める動き位相判定部と、
該動きベクトルを上記撮像部における読み出し位置のずれ量により補正する位置ずれ補償部と、
補正後の動きベクトルを用いて上記メモリに格納されている複数フレームの画像を合成して超解像処理を行う超解像処理部と、を備え、
上記読み出し制御部は、上記動き位相判定部から出力される動き位相を基に読み出し位置を決定することを特徴とする超解像撮像装置。
【請求項２】
請求項１に記載の超解像撮像装置において、
前記撮像部の動きを検出し加速度情報を出力する加速度センサを備え、
前記読み出し制御部は、前記動き位相判定部から出力される動き位相に該加速度センサから出力される加速度情報を合わせて動き位相を補正し、これを基に読み出し位置を決定することを特徴とする超解像撮像装置。
【請求項３】
請求項１または２に記載の超解像撮像装置において、
前記読み出し制御部は、前記動き位相が前記読み出し画素間隔に対し位相ずれを持たない場合、１周期未満の位相ずれが生じるように読み出し位置をずらすことを特徴とする超解像撮像装置。
【請求項４】
撮影された画像に超解像処理を行う画像処理方法において、
撮像部から撮影した画像データを画素混合または間引きして読み出すステップと、
読み出した画像データをメモリに格納するステップと、
読み出した画像データについてフレーム間の位置ずれ量を検出して動きベクトルを算出するステップと、
該動きベクトルを上記撮像部における読み出し位置のずれ量により補正するステップと、
補正後の動きベクトルを用いて上記メモリに格納されている複数フレームの画像を合成して超解像処理を行うステップと、
上記動きベクトルから読み出し画素間隔を周期とする動き位相を求めるステップと、を備え、
該動き位相を基に上記画素データの読み出し位置を決定することを特徴とする画像処理方法。
【請求項５】
請求項４に記載の画像処理方法において、
前記撮像部の動きを検出し加速度情報を取得するステップを備え、
前記動き位相に該加速度情報を合わせて動き位相を補正し、これを基に読み出し位置を決定することを特徴とする画像処理方法。
【請求項６】
請求項４または５に記載の画像処理方法において、
前記動き位相が前記読み出し画素間隔に対し位相ずれを持たない場合、１周期未満の位相ずれが生じるように読み出し位置をずらすことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮影した画像に対し効果的に超解像処理を行う超解像撮像装置及び画像処理方法に関する。
【背景技術】
【０００２】
近年、デジタルカメラの撮像素子は画素数が増大し、高精細な画像を撮影することが可能となっている。しかしながら、画素数の増大に対して画素データの読み出し速度が追いつかないと、データの読み出しに時間がかかってしまう。また１画素当たりの受光量が少ないため、感度が低下する問題もある。そこで、特に動画を撮影する場合には撮像素子から画素混合や間引き読み出しを行い、読み出し時間を削減する工夫がなされている。その際、撮像素子の画素数よりも低解像度の画像が出力されるので、さらに超解像処理と呼ばれる技術を利用して解像度を向上させることが提案されている。
【０００３】
超解像処理とは、少しずつ位置のずれた複数の低解像度の画像から、高解像度の画像を合成する技術である。超解像技術によれば、例えば、動画像の複数のフレームが、画像の動きによって画像位置が少しずつずれているような場合、これらのフレームを用いて、元の解像度より高精細な画像を合成することが可能となる。例えば特許文献１では、超解像処理などの付加価値の高い画像を生成するために読み出す信号毎に異なる画素数の画素混合を行うことが開示されている。
【０００４】
また、画素混合や間引き読み出しの際、読み出し位置が固定で入力画像が静止している場合には、フレーム間で位置ずれが発生しないため超解像の効果が得られない。この問題に対し例えば特許文献２では、入力画像が静止しているか否かを判定し、静止していると判定した場合に、入力画像毎に混合画像・間引き画像の読み出し位置を移動することが開示されている。これにより、静止画像についても超解像により高画質化できると述べられている。
【０００５】
【特許文献１】特開２００７−１９６４１号公報
【特許文献２】特開２００８−３３９１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
超解像の効果を十分に得るためには、各フレームのサンプリング位置のずれ幅は画素間隔（画素混合や間引き読み出しの場合には読み出し間隔が相当する）よりも小さい成分を含んでいなければならない。すなわち水平及び垂直方向の画素間隔（読み出し間隔）を単位としたとき、ずれ幅は小数点以下の値（端数成分）を含んでいる必要がある。ずれ幅を位相で表現すれば、画素間隔（読み出し間隔）を１周期としたときフレーム間で位相ずれを含んでいなければならない。このため、例えば静止画像の場合にはフレーム間の位置ずれ（位相ずれ）がないため、超解像効果が得られなかった。
【０００７】
前記特許文献１では、サンプリング位置のずれ幅に対して特に考慮されていない。また前記特許文献２に記載の技術によれば、静止画像に対して読み出し位置を移動することで超解像の効果を得ることができる。しかしながら、画像が動いている場合であっても、フレーム間の動きの大きさが読み出し間隔の整数倍となる場合が存在し、その場合には超解像の効果が得られない。前記特許文献２では、画像が動いている場合には読み出し位置を移動しないこととしているため、動きの大きさが読み出し間隔の整数倍である場合には、超解像効果が得られないことになる。
【０００８】
本発明の目的は、この問題に鑑み、画像が読み出し間隔の整数倍で動いている場合にも、効果的に超解像処理を行うことのできる超解像撮像装置及び画像処理方法を提供することである。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、本発明の超解像撮像装置は、画像を撮影し撮像素子から画像データを画素混合または間引きして読み出す撮像部と、撮像部における撮像素子の読み出し位置を決定する読み出し制御部と、読み出した画像データを格納するメモリと、メモリに格納されている画像データについてフレーム間の位置ずれ量を検出して動きベクトルを算出する位置ずれ検出部と、動きベクトルから読み出し画素間隔を周期とする動き位相を求める動き位相判定部と、動きベクトルを撮像部における読み出し位置のずれ量により補正する位置ずれ補償部と、補正後の動きベクトルを用いてメモリに格納されている複数フレームの画像を合成して超解像処理を行う超解像処理部とを備え、読み出し制御部は、動き位相判定部から出力される動き位相を基に読み出し位置を決定する。
【００１０】
さらに、撮像部の動きを検出し加速度情報を出力する加速度センサを備え、前記読み出し制御部は、前記動き位相判定部から出力される動き位相に加速度センサから出力される加速度情報を合わせて動き位相を補正し、これを基に読み出し位置を決定する。
【００１１】
ここに前記読み出し制御部は、前記動き位相が前記読み出し画素間隔に対し位相ずれを持たない場合、１周期未満の位相ずれが生じるように読み出し位置をずらす。
【００１２】
また本発明の画像処理方法は、撮像部から撮影した画像データを画素混合または間引きして読み出すステップと、読み出した画像データをメモリに格納するステップと、読み出した画像データについてフレーム間の位置ずれ量を検出して動きベクトルを算出するステップと、動きベクトルを撮像部における読み出し位置のずれ量により補正するステップと、補正後の動きベクトルを用いてメモリに格納されている複数フレームの画像を合成して超解像処理を行うステップと、動きベクトルから読み出し画素間隔を周期とする動き位相を求めるステップとを備え、動き位相を基に画素データの読み出し位置を決定する。
【発明の効果】
【００１３】
本発明によれば、画像が読み出し間隔の整数倍で動いている場合も含め、任意の画像に対して超解像処理を効果的に行うことが可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態について図面を用いて説明する。
【実施例１】
【００１５】
図１は、本発明による超解像撮像装置の一実施例（実施例１）を示す構成図である。本実施例は、撮像部１０１、読み出し制御部１０２、メモリ１０３、動き位相判定部１０４、位置ずれ検出部１０５、位置ずれ補償部１０６、超解像処理部１０７から構成されている。本実施例では、撮影した画像を画素混合して読み出す場合とする。以下、各部の構成と動作について順に説明する。
【００１６】
撮像部１０１は、例えばＣＣＤやＣＭＯＳ等の撮像素子を有し、読み出し制御部１０２からの読出し制御信号１１１に従って撮影した画像データを読み出し混合し、画素混合データ１１２として出力する。その際、読み出し制御部１０２からの制御信号１１１により、画素混合を行う読み出し位置をずらす。
【００１７】
読み出し制御部１０２は、動き位相判定部１０４で求めた動き位相１１５を基に、撮像部１０１での画素混合読み出し位置を決定し制御信号１１１を送る。読み出し位置は超解像処理部１０７で効果的に超解像処理を実行するように決定するもので、詳細は後述する。また、撮像部１０１から出力された画像データ１１２と当該データを読み出す際の読み出し位置情報１１４を合わせてメモリ１０３に格納する。
【００１８】
位置ずれ検出部１０５は、メモリ１０３に格納された複数フレームの画像データ１１６を読み出し、例えばレジストレーション（位置合わせ）等の手法によりフレーム間の位置ずれ量を検出し、動きベクトル１１７，１１８を求める。この動きベクトルは、読み出し画素間隔ｄを単位として小数点以下までの分解能（例えばｄ／２、ｄ／３、ｄ／４の分解能）を有する。動きベクトル１１７はメモリ１０３を介して動き位相判定部１０４へ、また動きベクトル１１８は位置ずれ補償部１０６に送る。
【００１９】
動き位相判定部１０４は、位置ずれ検出部１０５から送られた動きベクトル１１７について、読み出し画素間隔ｄを単位とし１単位未満の端数成分から動き位相１１５を求め、読み出し制御部１０２へ送る。
【００２０】
位置ずれ補償部１０６は、メモリ１０３に格納された画像データの読み出し位置情報１１９からフレーム間の読み出し位置のずれ量を算出し、位置ずれ検出部１０５から送られたフレーム間の動きベクトル１１８を補正する。この補正は、画像データの読み出し位置をずらすことにより生じる動きベクトルの変化を補正することで、超解像処理を正常に行わせるためである。補正後の動きベクトル１２０を超解像処理部１０７に送る。
【００２１】
超解像処理部１０７は、位置ずれ補償部１０６から送られた補正後動きベクトル１２０を用いて、メモリ１０３に格納された複数フレームの画像データ１２１に対して超解像処理を行う。生成した高精細画像データ１２２は再度メモリ１０３に格納した後、外部機器等へ出力する。
【００２２】
次に、読み出し制御部１０２において、動きベクトル１１７や動き位相１１５から撮像部１０１の画素混合読み出し位置をどのように決定するかについて説明する。
【００２３】
前述したように超解像処理の効果を上げるためには、フレーム間の位置ずれ量は読み出し間隔ｄより小さい成分を持つ必要がある。換言すれば、読み出し間隔ｄを１周期としたときフレーム間で位相ずれを持たなければならない。従って動き位相判定部１０４は、フレーム間の位置ずれ量を表す動きベクトル１１７から、読み出し間隔ｄを単位とする端数成分を抽出して動き位相１１５を調べる。その際、超解像の倍率に応じて端数成分の量子化を行う。
【００２４】
読み出し制御部１０２では、量子化した動き位相１１５に応じて、１周期未満の所定の位相ずれが生じるように読み出し位置を決定し、読み出し制御信号１１１を出力する。求めた動き位相１１５が端数成分を持てば（位相ずれあり）、読み出し位置は通常位置のままで良い。動き位相１１５が端数成分を持たなければ（位相ずれなし）、超解像の倍率に応じて読み出し位置をずらすように制御する。
【００２５】
例えば２×２の画素混合を行う場合には、動きベクトル１１７の値は、２×２の混合画素の読み出し間隔ｄを単位として表わされる。この場合の超解像倍率は、水平・垂直方向に各々２倍とすることで、撮影画素数の解像度に戻すことができる。よって動き位相１１５の量子化は、倍率（２倍）の逆数を用いて、１／２で量子化を行えばよい。その結果、動き位相１１５のとりうる値は、水平・垂直方向の各々について０または０．５の２通りで、組合せは全部で４通り存在する。そして、動き位相１１５が０．５の場合は、読み出し位置は通常位置のままとする。動き位相１１５が０の場合は、その方向の読み出し位置を０．５ｄ（すなわち１画素間隔）だけずらすようにする。よって、水平・垂直方向について読み出し位置の組合せは全部で４通り存在する。
【００２６】
図２は、動きベクトルに対する読み出し位置決定の具体例を示す図である。ここでは、２×２の画素混合を行う場合で、水平・垂直方向の読み出し位置の組合せ４通りについて示す。以下の表記で長さの単位は読み出し間隔ｄで表わし、２×２の画素混合では、単位長さｄは水平垂直方向の画素間隔の２倍となる。
【００２７】
（ａ）は、動きベクトルが（０．５，０．５）の場合を示す。通常時の読み出し位置（通常位置）の基点を（０，０）とする。この場合動き位相は（０．５，０．５）であるから、水平・垂直の両方向について位置ずれ（位相ずれ）が生じている。従って、読み出し位置は通常位置のままとし、基点（０，０）から始める。
【００２８】
（ｂ）は、動きベクトルが（１，０．５）である場合を示す。この場合動き位相は（０，０．５）であるから、水平方向に位相ずれが生じておらず垂直方向に位相ずれが生じている。従って、水平方向の位相ずれを生じさせるために、読み出し位置を（０．５，０）にずらす。
【００２９】
（ｃ）は、動きベクトルが（０．５，１）である場合を示す。この場合動き位相は（０．５，０）であるから、水平方向に位相ずれが生じ垂直方向に位相ずれが生じていない。従って、垂直方向の位相ずれを生じさせるために、読み出し位置を（０，０．５）にずらす。
【００３０】
（ｄ）は、動きベクトルが（１，１）の場合を示す。この場合動き位相は（０，０）であるから、水平・垂直の両方向について位相ずれが生じていない。従って、水平・垂直方向に位相ずれを生じさせるために、読み出し位置を（０．５，０．５）にずらす。
【００３１】
ここで、画素混合の読み出し位置は、撮像素子全体に渡り一定の間隔で設定しなければならない。すなわち、読み出し位置のずらし量はフレーム内で一様に設定しなければならない。一方、フレーム内の各画素（混合画素）において動きベクトルは一様であるとは限らない。よって、フレーム内で読み出し位置のずらし量が一義に決まらない場合が生じる。この矛盾に対処するには、フレーム全体の動きベクトルを平均化して、その平均動きベクトルに対する読み出し位置のずらし量を決定して設定するのがよい。あるいは、画面内に注目すべき特定の被写体が存在する場合には、その被写体の動きベクトルを代表動きベクトルとして読み出し位置のずらし量を決定するのがよい。
【００３２】
図３は、本実施例の画像処理動作の流れを示すフローチャートである。ここでは、２×２の画素混合を行う場合とする。メモリ１０３には過去のフレームＦ０の画像データが格納されており、撮像部１０１から新たにフレームＦ１の画像データを読み出して、フレームＦ０とＦ１とを用いて超解像処理を行う場面とする。
【００３３】
撮像部１０１は、読み出し制御部１０２で決定された読み出し位置（読み出し制御信号１１１）に基づき、混合画素データ（フレームＦ１）を読み出してメモリ１０３に格納する。また、フレームＦ１の読み出し位置についてもメモリ１０３に保存する（ステップ３０１）。
【００３４】
位置ずれ検出部１０５は、メモリ１０３に格納している複数の画像データ（フレームＦ０とＦ１）から位置ずれ量を表す動きベクトル１１７，１１８を算出する。この動きベクトル１１７はメモリ１０３に保存し、次のフレームＦ２の読み出し位置決定に利用する（ステップ３０２）。
【００３５】
位置ずれ補償部１０６は、メモリ１０３に保存されている読み出し位置の情報から、フレームＦ０とフレームＦ１の読み出し位置のずれ量を算出し、これを用いて動きベクトル１１８を補正し動きベクトル１２０とする（ステップ３０３）。
【００３６】
超解像処理部１０７は、補正後の動きベクトル１２０を用いてフレームＦ０とフレームＦ１の画像データを合成し超解像処理を行う。生成した高精細画像は一旦メモリ１０３に格納した後、外部機器等へ出力する（ステップ３０４）。
【００３７】
動き位相判定部１０４は、メモリ１０３に保存されている動きベクトル１１７から、動き位相１１５を判定する（ステップ３０５）。前述のように、この動き位相１１５は超解像の倍率に応じて端数成分を量子化したものである。２×２の画素混合の場合には、動き位相は０または０．５の２通りの値をとる。
【００３８】
読み出し制御部１０２は、動き位相１１５に基づき次のフレームＦ２の読み出し位置を決定する（ステップ３０６）。ステップ３０６の内容は次の通りである。
【００３９】
まず、水平方向の位相ずれがあるか否かを判定し（ステップ３０７）、次に垂直方向の位相ずれがあるか否かを判定する（ステップ３０８、ステップ３０９）。ここでは、動き位相＝０．５であれば位相ずれあり、動き位相＝０ならば位相ずれなしとなる。その結果、水平・垂直方向とも位相ずれがある場合には、読み出し位置を（０，０）とする（ステップ３１０、図２（ａ））。水平方向のみ位相ずれがある場合には、読み出し位置を（０，０．５）とする（ステップ３１１、図２（ｃ））。垂直方向のみ位相ずれがある場合には、読み出し位置を（０．５，０）とする（ステップ３１２、図２（ｂ））。水平垂直方向とも位相ずれがない場合には、読み出し位置を（０．５，０．５）とする（ステップ３１３、図２（ｄ））。
【００４０】
読み出し位置を決定した後、ステップ３０１に戻り、その読み出し位置にて次のフレームＦ２の画素混合読み出しを行う。このようにして、連続するフレームについて読み出し位置を適宜変更しながら超解像処理を繰り返して行う（ステップ３１４）。
【００４１】
上記説明では読み出し位置のずらし方向を一方向（例えば水平右方向）としたが、連続するフレームにおいてこれを繰り返すと、ずらし量が累積して時間経過とともに画面が移動してしまう恐れがある。そこで、読み出し位置として通常位置とずらし位置を定めておき、ずらし方向を両方向可能とし、これら定位置の間で切り替えるようにするのが好ましい。
【００４２】
上記の例では、２×２の画素混合読み出しの場合としたが、一般にｍ×ｍの画素混合読み出しの場合は次のようになる。読み出し間隔ｄは画素間隔のｍ倍、超解像倍率は水平・垂直方向に各々ｍ倍、量子化後の動き位相は、０，１／ｍ，２／ｍ，・・・（ｍ−１）／ｍの値をとる。動き位相が０であれば、読み出し位置を例えば１／ｍだけずらす。動き位相が０以外の値であれば全て位相ずれがあるので、読み出し位置は通常位置のままとする。さらには、ｍ×ｎの画素混合の場合も同様に定める。
【００４３】
撮像部としては、単板式、３板式、ベイヤー配列などのカラーフィルタ配列の別に依らず、撮像素子より画素混合データを読み出す撮像装置に広く適用可能である。
【００４４】
上記説明では、撮像素子からの画素混合読み出しの場合を説明したが、画素間引き読み出しの場合にも全く同様に適用できるのは言うまでもない。
【００４５】
以上のように本実施例によれば、動き位相に応じて、適応的に画素混合あるいは間引き読み出し位置を変更することで、画像が読み出し間隔の整数倍で動いている場合にも超解像処理を効果的に行うことが可能となる。
【実施例２】
【００４６】
図４は、本発明による超解像撮像装置の他の実施例（実施例２）を示す構成図である。本実施例は、前記実施例１（図１）の構成に対して加速度センサ１０８を追加したものであり、図１と共通する部分については説明を省略する。
【００４７】
加速度センサ１０８は、撮像部１０１の機械的な動きを検出し、読み出し制御部１０２に加速度情報１２３として出力する。加速度センサ１０８には、一般に手振れ補正用に使用されるものを使用することができる。読み出し制御部１０２は、動き位相判定部１０４からの動き位相１１５に加速度センサ１０８からの加速度情報１２３を合わせて動き位相を補正し、補正した動き位相を基に読み出し位置を決定する。
【００４８】
前記実施例１においては、現フレームＦ１の画像の動きを基に次のフレームＦ２の読み出し位置を決定しているために、動きが変化するところ（加速度があるところ）では、現フレームＦ１の動きベクトルと次フレームＦ２の動きベクトルが異なることにより、動き位相の状況が変化して超解像効果が薄れる場合があり得る。
【００４９】
本実施例ではこの点を考慮し、フレーム間の動きの変化を予測するための工夫をしている。すなわち、撮像部１０１が一定速度で動けば動きベクトルに変化はないので問題ない。撮像部１０１の動きに変化があるときは、加速度センサ１０８により加速度として検出する。現フレームＦ１の動きベクトルに、加速度センサ１０８により検出した動きの変化分を加算することで、次フレームＦ２の動きベクトルを精度良く予測できる。その結果、撮像部１０１の動きが激しい場合においても超解像効果を安定して得ることができる。
【図面の簡単な説明】
【００５０】
【図１】本発明による超解像撮像装置の一実施例を示す構成図（実施例１）。
【図２】動きベクトルに対する読み出し位置決定の具体例を示す図。
【図３】本実施例の画像処理動作の流れを示すフローチャート。
【図４】本発明による超解像撮像装置の他の実施例を示す構成図（実施例２）。
【符号の説明】
【００５１】
１０１…撮像部
１０２…読み出し制御部
１０３…メモリ
１０４…動き位相判定部
１０５…位置ずれ検出部
１０６…位置ずれ補償部
１０７…超解像処理部
１０８…加速度センサ。
【図１】
2010015241.tif 000003
【図２】
2010015241.tif 000004
【図３】
2010015241.tif 000005
【図４】
2010015241.tif 000006