JP2009302731A - 画像処理装置、画像処理プログラム、画像処理方法、および電子機器 - Google Patents
画像処理装置、画像処理プログラム、画像処理方法、および電子機器 Download PDFInfo
- Publication number
- JP2009302731A JP2009302731A JP2008152893A JP2008152893A JP2009302731A JP 2009302731 A JP2009302731 A JP 2009302731A JP 2008152893 A JP2008152893 A JP 2008152893A JP 2008152893 A JP2008152893 A JP 2008152893A JP 2009302731 A JP2009302731 A JP 2009302731A
- Authority
- JP
- Japan
- Prior art keywords
- motion vector
- images
- specific subject
- image
- image processing
- 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.)
- Withdrawn
Links
Landscapes
- Image Processing (AREA)
- Studio Devices (AREA)
- Image Analysis (AREA)
Abstract
【課題】特定の被写体が画像上に存在しない場合に、画像の端を基準に高精度の動きベクトルを求めてブレ補正を行うと、二重線や像ボケが生じる可能性がある。
【解決手段】画像から特定の被写体を検出する処理を行うとともに、複数枚の画像間の動きベクトルを測定するための複数の動きベクトル測定領域を画像上に設定し、設定した複数の動きベクトル測定領域の各々において、複数枚の画像間の動きベクトルを求める。そして、特定の被写体の検出の有無に基づいて、複数枚の画像間の位置ずれ量を算出する際の算出精度を決定し、決定した算出精度と求めた全部または一部の動きベクトルとに基づいて、複数枚の画像間の位置ずれ量を算出する。
【選択図】図7
【解決手段】画像から特定の被写体を検出する処理を行うとともに、複数枚の画像間の動きベクトルを測定するための複数の動きベクトル測定領域を画像上に設定し、設定した複数の動きベクトル測定領域の各々において、複数枚の画像間の動きベクトルを求める。そして、特定の被写体の検出の有無に基づいて、複数枚の画像間の位置ずれ量を算出する際の算出精度を決定し、決定した算出精度と求めた全部または一部の動きベクトルとに基づいて、複数枚の画像間の位置ずれ量を算出する。
【選択図】図7
Description
本発明は、画像間の重ね合わせ技術や、画像間のブレ補正技術など、複数枚画像の位置合わせ技術に関する。
デジタルカメラなどの電子撮像機器において、シャッタ速度が遅くなると手ブレや被写体ブレに起因する像ブレが発生しやすくなることが知られている。手ブレによる像ブレを抑制する方法として、機械式手ブレ補正と電子式手ブレ補正がある。
機械式手ブレ補正には、レンズシフト方式とセンサシフト方式等がある。レンズシフト方式は、ジャイロセンサなどを用いて変位量を測定し、撮像光軸を偏心させる補正光学系を駆動することにより像ブレ補正を行う方式である。センサシフト方式は、同じくジャイロセンサなどを用いて測定した変位量に基づいて、撮像素子を移動させることにより像ブレ補正を行う方式である。
一方、電子式手ブレ補正は、高速・時系列に複数枚画像を撮像し、それら画像間の位置ずれ量を、センサもしくは画像処理手法を用いて測定し、位置ずれ量を補償したうえで画像加算することで、像ブレのない画像を生成する手法である。
画像間の位置ずれ量を求める技術としてブロックマッチング法が一般的に知られている。ブロックマッチング法は、基準画像において適当な大きさのブロック(例えば8画素×8ライン)を定義し、比較画像の該当箇所から一定範囲内において一致指標値を計算し、その一致指標値が最も大きくなる(または小さくなる)位置を求めて、画像間の位置ずれ量を計算する手法である。
一致指標値としては、画素値の差分の自乗和である誤差自乗和SSD(Sum of Squared intensity Difference)、画素値の差分の絶対値和である誤差絶対値和SAD(Sum of Absolute intensity Difference)などがある。SSD、SADが小さいほど、一致度が高いと判断する。マッチングの基準ブロック領域Iおよび対象とするブロック領域I'において、画素位置p∈Iおよび、q∈I'(p,qは2次元の値を持つ量で、I,I'は2次元の領域、p∈Iは座標pが領域Iに含まれていることを示す)の画素値をそれぞれLp、Lqとすると、SSD、SADは、それぞれ次式(1)、(2)で表される。
その他に、正規化相互相関NCC(Normalized Cross-Correlation)を用いる方法がある。ゼロ平均相関は、マッチングの基準ブロック領域Iおよび対象とするブロック領域I'の各々に含まれる画素p∈Iおよび、q∈I'の平均値Ave(Lp)、Ave(Lq)を算出し、各ブロックに含まれる画素値との差分を次式(3)、(4)により計算する。
続いて、正規化相互相関NCCを次式(5)により計算する。
正規化相互相関NCCの大きいブロックを一致度の高い(相関の高い)ブロックと判断し、最も一致度の高いブロックI'とIの間の相対的ズレ量を動きベクトルとする。
ここで、撮象画像に含まれている被写体が静止している場合は、個々の領域での動きと画像全体の動きは、一致する。従って、上記のマッチング処理では、相関演算を行うためのブロック領域を任意の固定位置に配置して、動きベクトルを算出することができる。
このような任意の固定位置にブロック領域を配置して動きベクトルを算出する技術として、特許文献1に記載されているものがある。特許文献1に記載の技術では、各領域においてSADやSSDなどの一致指標値を用いて動きベクトルの信頼度を算出し、算出した信頼度や領域の大きさに基づいて、画像全体の動きベクトルを求めている。
特開平8−251474号公報
ここで、例えば、特定の被写体が画像上に存在しない場合に、信頼度の高い動きベクトルが画像の端に集中する場合がある。この場合、画像の端に集中した動きベクトルから、例えば、サブピクセル精度の高精度の動きベクトルを求めてブレ補正を行うと、画像の端においては高精度なブレ補正が可能になるが、その端から遠い領域においては、位置合わせ誤差が大きくなり、二重線や像ボケが生じる可能性がある。
本発明は上記の課題に鑑みてなされたものであり、その目的は、特定被写体の有無に応じて、画像間の位置ずれ量を算出する際の算出精度を決定して、画像間の位置合わせを精度良く行うことである。
本発明のある態様に係る画像処理装置は、複数枚の画像間の位置ずれ量を用いて複数枚の画像の位置合わせ処理を行う画像処理装置であって、画像から特定の被写体を検出する特定被写体検出部と、前記複数枚の画像間の動きベクトルを測定するための複数の動きベクトル測定領域を画像上に設定する動きベクトル測定領域設定部と、前記複数の動きベクトル測定領域の各々において、前記複数枚の画像間の動きベクトルを求める動きベクトル算出部と、前記特定の被写体の検出の有無に基づいて、前記複数枚の画像間の位置ずれ量を算出する際の算出精度を決定する算出精度決定部と、前記求められた全部または一部の動きベクトルと、前記決定された算出精度とに基づいて、前記複数枚の画像間の位置ずれ量を算出する位置ずれ量算出部と、を備えることを特徴とする。
本発明の別の態様に係る画像処理方法は、複数枚の画像間の位置ずれ量を用いて複数枚の画像の位置合わせ処理を行う画像処理方法であって、画像から特定の被写体を検出するステップと、前記複数枚の画像間の動きベクトルを測定するための複数の動きベクトル測定領域を画像上に設定するステップと、前記複数の動きベクトル測定領域の各々において、前記複数枚の画像間の動きベクトルを求めるステップと、前記特定の被写体の検出の有無に基づいて、前記複数枚の画像間の位置ずれ量を算出する際の算出精度を決定するステップと、前記求められた全部または一部の動きベクトルと、前記決定された算出精度とに基づいて、前記複数枚の画像間の位置ずれ量を算出するステップと、を備えることを特徴とする。
本発明のさらに別の態様に係る画像処理プログラムは、複数枚の画像間の位置ずれ量を用いて複数枚の画像の位置合わせ処理をコンピュータに実行させるための画像処理プログラムであって、画像から特定の被写体を検出するステップと、前記複数枚の画像間の動きベクトルを測定するための複数の動きベクトル測定領域を画像上に設定するステップと、前記複数の動きベクトル測定領域の各々において、前記複数枚の画像間の動きベクトルを求めるステップと、前記特定の被写体の検出の有無に基づいて、前記複数枚の画像間の位置ずれ量を算出する際の算出精度を決定するステップと、前記求められた全部または一部の動きベクトルと、前記決定された算出精度とに基づいて、前記複数枚の画像間の位置ずれ量を算出するステップと、を備えることを特徴とする。
これら態様によれば、画像上の特定の被写体の有無に応じて、画像間の位置ずれ量を算出する際の算出精度を決定して、位置ずれ量を算出するので、特定の被写体の有無に応じた適切な算出精度で位置ずれ量を算出して、画像間の位置合わせを精度良く行うことができる。
本発明によれば、画像間の位置合わせを精度良く行うことができる。
図1は、一実施の形態における画像処理装置の構成を示すブロック図である。図中、点線は制御信号、細線は動きベクトルや信頼度等のデータの流れ、太線は画像データの流れを表している。なお、本実施形態に係る画像処理装置は、デジタルカメラ、デジタルビデオカメラや内視鏡など、正しく作動するために電流または電磁界に依存する機器である電子機器に搭載される。
メインコントローラ100は、装置全体の動作制御を行うプロセッサであり、例えば、DSP(デジタルシグナルプロセッサ)などのCPUが用いられる。
撮像部101で撮像された複数フレームの画像は、時系列に連続的に、フレームメモリ102に入力され、格納される。フレームメモリ102に格納された入力画像には、位置合わせの基準となる画像(以下、基準画像と呼ぶ)と、基準画像に対して位置合わせを行う画像(以下、対象画像と呼ぶ)とがある。
位置合わせ画像生成部112は、基準画像および対象画像を、それぞれ位置合わせに適した画像へ変換することにより、位置合わせ画像を生成する。
特定被写体領域検出部113は、特定の被写体が写り込んでいる画像上の領域を検出する。
動きベクトル測定領域設定部103は、特定被写体領域検出部113による特定被写体の検出結果に基づいて、動きベクトルを測定するための複数の動きベクトル測定領域を画像上に設定する。以下では、「動きベクトル測定領域」を単に「測定領域」とも呼ぶ。
動きベクトル算出部104は、フレームメモリ102に格納されている位置合わせ画像のデータと、動きベクトル測定領域のデータとを用いて、各測定領域において、対象画像から基準画像への写像を表す動きベクトルを算出する。
利用領域選択部105は、動きベクトル信頼度算出部105aと、動きベクトル統合処理部105bとを備える。動きベクトル信頼度算出部105aは、各測定領域の動きベクトル、および、位置合わせ画像に基づいて、各動きベクトルの信頼性(確からしさ)を表す信頼度を算出する。
動きベクトル統合処理部105bは、各測定領域の動きベクトルおよび各動きベクトルの信頼度に基づいて、高信頼度の動きベクトルを選択し、選択した複数の高信頼度の動きベクトルの中から、最も頻度の高い動きベクトル、すなわち、最も数の多い同一の動きベクトルを選択する。
補正ベクトル算出精度決定部108は、特定被写体領域検出部113による特定被写体の検出結果に基づいて、補正ベクトルを算出する際の算出精度を決定する。補正ベクトルは、基準画像および対象画像間の代表動きベクトルであって、その大きさは、基準画像および対象画像間の位置ずれ量を表す。
補正ベクトル算出部110は、補正ベクトル算出精度決定部108で決定された算出精度と、利用領域選択部105で求められた動きベクトルとから、基準画像および対象画像間の代表動きベクトルである補正ベクトルを算出する。
フレーム加算部109は、フレームメモリ102に格納されている基準画像および対象画像と、補正ベクトル算出部110で算出された補正ベクトルとに基づいて、フレーム加算を行う。すなわち、対象画像を補正ベクトルに基づいてシフトさせた後、シフト後の画像を基準画像に加算する処理を行う。
図2は、一実施の形態における画像処理装置によって行われる処理の処理手順を示すフローチャートである。ステップS10において、位置合わせ画像生成部112は、フレームメモリ102に格納されている基準画像と対象画像のそれぞれについて、位置合わせ用の画像である位置合わせ用基準画像と位置合わせ用対象画像を生成する。位置合わせ用基準画像および位置合わせ用対象画像は、基準画像および対象画像をそれぞれ縮小した画像である。生成された位置合わせ用基準画像および位置合わせ用対象画像は、フレームメモリ102に格納される。
ステップS20において、特定被写体領域検出部113は、位置合わせ用対象画像から特定被写体を検出する。ここでは、特定被写体を人物の顔として説明する。ただし、特定被写体が人物の顔に限定されることはない。
人物の顔検出の方法としては、既知の方法、例えば、Paul Viola, Michael Jones : Robust Realtime Object Detection Second International Workshop on Statistical and Computational Theories of Vision-Modeling, Learning, Computing and Sampling 2001に記載されている方式およびその応用を用いる。この顔検出アルゴリズムでは、顔の位置および顔のおよその大きさを求めることができる。
ステップS30において、動きベクトル測定領域設定部103は、ステップS20における特定被写体検出結果に応じて、フレームメモリ102に格納されている位置合わせ用対象画像に対して、複数の動きベクトル測定領域を設定する。
図3(a)は、特定被写体が検出されなかった場合に、位置合わせ用対象画像31に設定される動きベクトル測定領域301の一例を示す図である。動きベクトル測定領域301は、位置合わせの基準領域となるテンプレート領域である。特定被写体が検出されなかった場合、図3(a)に示すように、動きベクトル測定領域301は、位置合わせ用対象画像の全体に、格子状に複数設定される。なお、ここでは、測定領域301を所定の大きさの矩形領域としたが、矩形領域に限定されることはない。
図3(b)は、位置合わせ用基準画像32上に設定された探索領域302を示す図である。探索領域302は、位置合わせ時に測定領域301を移動させる範囲を示すものであり、位置合わせ用基準画像32において、測定領域301の相当する座標近傍に、測定領域301より広い範囲で設定される。
なお、位置合わせ用基準画像32において動きベクトル測定領域301を、位置合わせ用対象画像31において、動きベクトル測定領域301の相当する座標近傍に探索領域302を配置してもよい。
図4は、特定被写体が検出された場合に、位置合わせ用対象画像31に設定される動きベクトル測定領域301の一例を示す図である。特定被写体が検出された場合、検出された特定被写体上に、測定領域301を複数設定する。本実施の形態では、特定被写体を人物の顔としているため、図4に示すように、人物の顔の領域上に、測定領域301を複数設定する。
図2のフローチャートのステップS40において、動きベクトル算出部104は、各動きベクトル測定領域301の動きベクトルを算出する。動きベクトル演算では、位置合わせ用対象画像31の動きベクトル測定領域301を、位置合わせ用基準画像32の探索領域302内において位置合わせを行うことにより、画素精度での動きベクトルを求める。この位置合わせは、SAD、SSD、NCC等の一致指標値を演算するブロックマッチング手法を用いて行う。
また、ブロックマッチングの代わりに、オプティカルフローに置き換えてもよい。画素精度での動きベクトルは、動きベクトル測定領域301の各々に対して求める。
ステップS50およびステップS60の処理は、利用領域選択部105によって行われる。ステップS50において、動きベクトル信頼度算出部105aは、ステップS40で求められた各動きベクトルの信頼度を算出する。動きベクトルの信頼度は、次式(6)で示される誤差自乗和SSDに基づいて算出する。
式(6)において、bxi、byiはそれぞれ、動きベクトル測定領域設定部103で設定された動きベクトル測定領域301の重心位置のx座標およびy座標であり、測定領域の数iだけ用意されている。また、h、vはそれぞれ、動きベクトル測定領域301の水平方向および垂直方向の大きさである。bxj、byjはそれぞれ、ブロックマッチングに用いる、測定領域301に対応する位置合わせ用基準画像32上の領域の重心位置であり、探索領域302の範囲に対応して用意されている。
i番目の測定領域301の信頼度は、SSD(i,j)の最小値および平均値の偏差に基づいて求められる。簡単には、SSD(i,j)の最小値と平均値との偏差を信頼度とする。SSD(i,j)の統計性に基づく信頼度は、領域の構造特徴と以下の(i)〜(iii)の概念で対応付けられる。
(i)エッジ構造が鮮鋭な領域の場合、動きベクトルの信頼性が高い。このため、SSDの最小値を示す位置の誤差は少なく、SSDのヒストグラムをとった場合に、最小値を示す位置付近に小さな差分値が集中する。従って、SSDの最小値と平均値の差が大きい。
(ii)テクスチャや平坦な構造の場合、差分値のヒストグラムが平坦になる。このため、最小値と平均値の差は小さく、信頼度は低い。
(iii)繰り返し構造の場合、差分の最小値と最大値を示す位置が近く、差分が小さい値を示す位置が分散している。このため、最小値と平均値の差は小さく、信頼度は低い。
(i)エッジ構造が鮮鋭な領域の場合、動きベクトルの信頼性が高い。このため、SSDの最小値を示す位置の誤差は少なく、SSDのヒストグラムをとった場合に、最小値を示す位置付近に小さな差分値が集中する。従って、SSDの最小値と平均値の差が大きい。
(ii)テクスチャや平坦な構造の場合、差分値のヒストグラムが平坦になる。このため、最小値と平均値の差は小さく、信頼度は低い。
(iii)繰り返し構造の場合、差分の最小値と最大値を示す位置が近く、差分が小さい値を示す位置が分散している。このため、最小値と平均値の差は小さく、信頼度は低い。
なお、信頼性に関しては、各測定領域内のエッジの量に応じて判定することもできる。
ステップS60において、動きベクトル統合処理部105bは、まず、ステップS50で求められた各動きベクトルの信頼度に基づいて、信頼度の高い動きベクトルを選択する。
図5(a)は、特定被写体が検出されなかった場合に、各測定領域301において求められた動きベクトルの一例を示す図、図5(b)は、信頼度の低い動きベクトルを除外して、信頼度の高い動きベクトルを選択した様子の一例を示す図である。図5(a)、(b)では、各測定領域301で求められた動きベクトルを矢印で示している。また、図5(b)に示す例では、信頼度の低い動きベクトル(例えば、信頼度が所定のしきい値より低い動きベクトル)を除外するためのフィルタリング処理を行うことにより、信頼度の高い動きベクトルを選択している。
図6(a)は、図4に示すように、特定被写体(人物の顔)が検出された場合に、特定被写体上に設定された各測定領域301において求められた動きベクトルの一例を示す図、図6(b)は、信頼度の低い動きベクトルを除外して、信頼度の高い動きベクトルを選択した様子の一例を示す図である。図6(b)に示す例においても、信頼度の低い動きベクトル(例えば、信頼度が所定のしきい値より低い動きベクトル)を除外するためのフィルタリング処理を行うことにより、信頼度の高い動きベクトルを選択している。
続いて、動きベクトル統合処理部105bは、選択した信頼度の高い複数の動きベクトルに対して投票処理を行い、最も頻度の高い動きベクトル、すなわち、最も数の多い同一の動きベクトルを選択する。
図2のフローチャートのステップS70、ステップS80、および、ステップS100の処理は、補正ベクトル算出精度決定部108によって行われる。ステップS70では、ステップS20の処理において、特定被写体が検出されたか否かを判定する。特定被写体が検出されていないと判定するとステップS80に進む。ステップS80では、補正ベクトルを算出する際の算出精度を「低い精度」に決定する。
一方、ステップS70において、特定被写体が検出されたと判定するとステップS100に進む。ステップS100では、補正ベクトルを算出する際の算出精度を「高い精度」に決定する。
図7は、特定被写体の検出の有無に応じて、補正ベクトルを算出する際の算出精度を決定する方法を分かりやすく示した図である。上述したように、特定被写体が検出されていない場合には、算出精度を「低い精度」に決定し、特定被写体が検出された場合には、算出精度を「高い精度」に決定する。
ステップS90、ステップS110、および、ステップS120の処理は、補正ベクトル算出部110によって行われる。ステップS90では、ステップS60で求められた最頻度の動きベクトルに基づいて、補正ベクトルを求める。このため、まず、最頻度の動きベクトルを、縮小後の位置合わせ用の画像を縮小前の画像に変換する際の変換率で変換する。縮小後の位置合わせ用の画像を縮小前の画像に変換する際の変換率は、基準画像および対象画像から位置合わせ用基準画像および位置合わせ用対象画像を生成する際の縮小率の逆数として算出する。例えば、基準画像および対象画像をそれぞれ4分の1に縮小して、位置合わせ用基準画像および位置合わせ用対象画像を生成した場合には、求めた最頻度の動きベクトルを4倍する。
続いて、倍率を変更したベクトルを、フレーム加算部109でシフト可能な単位に近似することにより、補正ベクトルを求める。例えば、フルカラーデータをシフトする場合のように、シフト可能な単位が1画素である場合には、倍率変更後の動きベクトルが1画素単位になるように近似する。1画素単位の動きベクトルへの近似は、例えば、小数点1位以下の数字を四捨五入することにより行う。例えば、最頻度の動きベクトルが(2.2,2.6)で、変換率が4倍の場合、倍率変更後の動きベクトルは(8.8,10.4)となるため、小数点1位以下の数字を四捨五入して、1画素単位の(9,10)と近似する。
また、シフト可能な単位が2画素単位である場合、例えば、RAWデータのカラー配列上の制限により、RAWデータでシフト加算するような場合には、倍率変更後の動きベクトルが2画素単位になるように近似する。2画素単位の近似は、例えば、倍率変更後の動きベクトルが最も近い偶数になるように近似する。例えば、最頻度の動きベクトルが(2.2,2.6)で、変換率が4倍の場合、倍率変更後の動きベクトルは(8.8,10.4)となるため、最も近い偶数の(8,10)と近似する。
さらに、シフト可能な単位が画素精度よりも精度の高いサブピクセル精度の場合には、そのサブピクセル精度の単位に近似する。例えば、サブピクセル精度の単位が0.1画素単位である場合に、倍率変更後の動きベクトルが(8.8,10.4)であれば、0.1画素単位となっているため、その動きベクトルをそのまま用いる。
上述したように、ステップS60で求められた最頻度の動きベクトルを、縮小後の位置合わせ用の画像を縮小前の画像に変換する際の変換率で変換し、変換後の動きベクトルをフレーム加算部109でシフト可能な単位に近似した動きベクトルを補正ベクトルとする。
一方、ステップS100において、算出精度が「高い精度」であると判定された後に進むステップS110では、ステップS60で求められた画素精度の最頻度の動きベクトルから、サブピクセル精度の動きベクトルを求める。サブピクセル精度の動きベクトルの求め方を以下で説明する。
まず、一致度が最も大きいことを示す一致指標値の画素位置を中心とする上下左右の4近傍の画素位置において、再度、一致指標値を求める。一致度が最も大きいことを示す一致指標値の画素位置とは、例えば、一致指標値としてSSDを求めた場合には、SSDが最小となる画素位置である。
図8は、一致度が最も大きいことを示す一致指標値の画素位置を中心とする上下左右の4近傍の画素位置を示す図である。一致度が最も大きいことを示す一致指標値の画素位置を黒丸で、上下左右の4近傍の画素位置を白丸でそれぞれ示している。
続いて、上下左右の4近傍の画素位置において求めた一致指標値をフィッティングし、一致指標値のピーク位置を求めることでサブピクセル精度の動きベクトルを求める。フィッティングとしては、等角直線フィッティングや、パラボラフィッティング等の既知の方法を用いることができる。
図9(a)は、等角直線フィッティングを用いてサブピクセル精度の動きベクトルを求める方法を示す図である。例えば、画素単位の一致指標値が最高となる画素位置における一致指標値をR(0)とし、一致指標値が最高となる画素位置の左隣および右隣の画素位置の一致指標値をそれぞれR(−1)、R(1)とすると、X方向のサブピクセル精度のずれ量dは、次式(7)で表される。
同様に、上隣および下隣の画素位置の一致指標値をそれぞれR(1)、R(−1)として、式(7)よりY方向のサブピクセル精度のずれ量を求めることにより、サブピクセル精度の動きベクトルを求める。
図9(b)は、パラボラフィッティングを用いてサブピクセル精度の動きベクトルを求める方法を示す図である。この場合、サブピクセル精度のずれ量dは、次式(8)で表される。
この場合も、式(8)に基づいて、X方向およびY方向のサブピクセル精度のずれ量を求めることにより、サブピクセル精度の動きベクトルを求める。
サブピクセル精度の動きベクトルを求める処理は、最頻度の動きベクトル全てを対象として行う。
ステップS120では、ステップS110で求めたサブピクセル精度の動きベクトルを、縮小後の位置合わせ用の画像を縮小前の画像に変換する際の変換率で変換する。この変換処理は、ステップS90の処理で行った変換処理と同じであるため、詳しい説明は省略する。続いて、変換後の動きベクトルを、フレーム加算部109でシフト可能な単位に近似することにより、補正ベクトルを求める。シフト可能な単位に近似する処理についても既に説明しているため、ここでは詳しい説明は省略する。
ステップS130において、フレーム加算部109は、フレームメモリ102に格納されている基準画像および対象画像と、ステップS90またはステップS120で求めた補正ベクトルとに基づいて、フレーム加算処理を行う。すなわち、対象画像を補正ベクトルに基づいてシフトさせて、シフト後の画像を基準画像に加算する処理を行う。
ステップS140では、規定フレームを全て処理し終えたか否かを判定する。規定フレームを全て処理し終えればフローチャートの処理を終了し、未処理フレームが残っていれば、ステップS10に戻って、上記処理を繰り返す。
以上、一実施の形態における画像処理装置によれば、画像から特定の被写体を検出する処理を行うとともに、複数の動きベクトル測定領域を画像上に設定して、複数の動きベクトル測定領域の各々において動きベクトルを求める。また、複数の動きベクトル測定領域の各々において求められた動きベクトルのうち、複数枚の画像間の位置ずれ量を算出するために用いる動きベクトルを選択し、特定の被写体の検出の有無に基づいて、位置ずれ量を算出する際の算出精度を決定する。そして、決定した算出精度と、選択した動きベクトルとに基づいて、画像間の位置ずれ量を算出する。これにより、画像上における特定の被写体の検出の有無に応じて適切な算出精度を決定して、画像間の位置ずれ量を精度良く求めることができる。
特に、特定の被写体が検出された場合の算出精度に比べて、特定の被写体が検出されなかった場合の算出精度を低くするので、特定の被写体が検出されなかった場合に、高い算出精度で位置ずれ量を求めて二重線や像ボケが生じるのを防ぐことができる。また、特定の被写体が検出された場合には、高い精度で位置ずれ量を求めるので、画像間の位置合わせを精度良く行うことができる。
また、一実施の形態における画像処理装置では、特定の被写体の検出の有無に応じて、複数の動きベクトル測定領域を設定する。特に、特定の被写体が検出された場合には、検出された特定の被写体上に複数の動きベクトル測定領域を設定し、特定の被写体が検出されなかった場合には、画像の全体に複数の動きベクトル測定領域を設定する。これにより、特定の被写体が検出された場合には、特定の被写体を基準に位置合わせを行い、特定の被写体が検出されなかった場合には、画像全体を基準に位置合わせを行うことができる。
なお、上述した一実施の形態の説明では、画像処理装置が行う処理としてハードウェアによる処理を前提としていたが、このような構成に限定される必要はない。例えば、別途ソフトウェアにて処理する構成も可能である。この場合、画像処理装置は、CPU、RAM等の主記憶装置、上記処理の全て或いは一部を実現させるためのプログラムが記憶されたコンピュータ読み取り可能な記憶媒体を備えている。ここでは、このプログラムを画像処理プログラムと呼ぶ。そして、CPUが上記記憶媒体に記憶されている画像処理プログラムを読み出して、情報の加工・演算処理を実行することにより、上述の画像処理装置と同様の処理を実現させる。
ここで、コンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、この画像処理プログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該画像処理プログラムを実行するようにしても良い。
本発明は、上述した一実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。例えば、上述した一実施の形態では、基準画像と対象画像のそれぞれを縮小することにより、位置合わせ用基準画像と位置合わせ用対象画像を生成し、生成した位置合わせ用画像を用いて、動きベクトルを求めた。しかし、位置合わせ用画像を生成せずに、基準画像および対象画像を用いて、動きベクトルを求めるようにしてもよい。
上述した一実施の形態では、画像間の位置ずれ量を算出するために用いる動きベクトルとして、各動きベクトル測定領域で求められた複数の動きベクトルの中から、信頼度が高い動きベクトルを選択し、選択した複数の動きベクトルの中で最も頻度の高い動きベクトルを選択した(図2のステップS60の処理)。しかし、信頼度が所定のしきい値以上である信頼度の高い動きベクトルを用いるようにしてもよい(結果として、全ての動きベクトルを用いることもあり得る)。画素精度で補正ベクトルを算出するために、例えば、信頼度の高い動きベクトルの平均ベクトルを算出して用いてもよいし、信頼度の高い複数の動きベクトルを、信頼度に応じて重み付け加算して得られるベクトルを用いてもよい。サブピクセル精度で補正ベクトルを算出する場合には、信頼度の高い複数の動きベクトルのそれぞれに対して、サブピクセル精度の動きベクトルを求め、求めたサブピクセル精度の動きベクトルの平均ベクトルを算出して用いてもよいし、求めたサブピクセル精度の動きベクトルを、信頼度に応じて重み付け加算して得られるベクトルを用いてもよい。
図1に示す構成では、フレーム加算の例を示したが、画像間の位置ずれ量を用いて、基準画像に対する対象画像の位置あわせを行う動画ブレ補正を行う構成としてもよい。動画ブレ補正では、位置ずれ量を用いて、対象画像が基準画像に対して、ブレが少なくなるような補正を行う。
上述したように、特定の被写体は人物の顔に限定されることはなく、例えば、花、車などのようなものであってもよい。特定の被写体としては、特に、画像間の位置ずれ量を精度良く求めることができるものが好ましい。
動きベクトル測定領域設定部103は、特定被写体領域検出部113による特定被写体の検出結果に応じて、複数の動きベクトル測定領域を画像上に設定した。しかし、特定被写体の検出結果に関係なく、図3(a)に示すように、画像全体に複数の動きベクトル測定領域を設定するようにしてもよい。この場合、動きベクトル算出部104で、各動きベクトル測定領域における動きベクトルを算出した後、利用領域選択部105で、特定被写体の検出結果に応じて、補正ベクトルを算出するために用いる動きベクトルを選択する。具体的には、特定被写体が検出された場合、検出された特定被写体上の動きベクトルを選択し、特定被写体が検出されなかった場合には、全ての動きベクトルを選択する。これにより、特定被写体が検出されなかった場合、選択される動きベクトルは図5(a)に示すようなものとなり、特定被写体が検出された場合、選択される動きベクトルは図6(a)に示すようなものとなる。この後の処理については、上述した一実施の形態の処理と同じである。
実施の形態に係る画像処理装置は、複数の動きベクトル測定領域の各々において求められた動きベクトルおよび各動きベクトルの信頼度に基づいて、高信頼度の動きベクトルを選択したが、変形例として、複数の動きベクトル測定領域の各々において求められた全部または一部の動きベクトルをそのまま、複数枚の画像間の位置ずれ量の算出のために採用してもよい。例えば、高信頼度の動きベクトルを測定可能な動きベクトル測定領域の場所(例えば、画像の中央部分になる傾向が高い)があらかじめ判明しているという状況下においては、その場所に位置する動きベクトル測定領域において求められる高信頼度の動きベクトルをそのまま画像間の位置ずれ量の算出のために採用してもよい。
100…メインコントローラ
101…撮像部
102…フレームメモリ
103…動きベクトル測定領域設定部
104…動きベクトル算出部
105…利用領域選択部
105a…動きベクトル信頼度算出部
105b…動きベクトル統合処理部
108…補正ベクトル算出精度決定部
109…フレーム加算部
110…補正ベクトル算出部
112…位置合わせ画像生成部
113…特定被写体領域検出部
101…撮像部
102…フレームメモリ
103…動きベクトル測定領域設定部
104…動きベクトル算出部
105…利用領域選択部
105a…動きベクトル信頼度算出部
105b…動きベクトル統合処理部
108…補正ベクトル算出精度決定部
109…フレーム加算部
110…補正ベクトル算出部
112…位置合わせ画像生成部
113…特定被写体領域検出部
Claims (11)
- 複数枚の画像間の位置ずれ量を用いて複数枚の画像の位置合わせ処理を行う画像処理装置であって、
画像から特定の被写体を検出する特定被写体検出部と、
前記複数枚の画像間の動きベクトルを測定するための複数の動きベクトル測定領域を画像上に設定する動きベクトル測定領域設定部と、
前記複数の動きベクトル測定領域の各々において、前記複数枚の画像間の動きベクトルを求める動きベクトル算出部と、
前記特定の被写体の検出の有無に基づいて、前記複数枚の画像間の位置ずれ量を算出する際の算出精度を決定する算出精度決定部と、
前記求められた全部または一部の動きベクトルと、前記決定された算出精度とに基づいて、前記複数枚の画像間の位置ずれ量を算出する位置ずれ量算出部と、
を備えることを特徴とする画像処理装置。 - 前記動きベクトル測定領域設定部は、前記特定の被写体の検出の有無に応じて、前記複数の動きベクトル測定領域を設定することを特徴とする請求項1に記載の画像処理装置。
- 前記動きベクトル測定領域設定部は、前記特定の被写体が検出された場合には、検出された特定の被写体上に前記複数の動きベクトル測定領域を設定し、前記特定の被写体が検出されなかった場合には、画像の全体に前記複数の動きベクトル測定領域を設定することを特徴とする請求項2に記載の画像処理装置。
- 前記算出精度決定部は、前記特定の被写体が検出された場合の算出精度に比べて、前記特定の被写体が検出されなかった場合の算出精度を低くすることを特徴とする請求項1から請求項3のいずれか一項に記載の画像処理装置。
- 前記算出精度決定部は、前記特定の被写体が検出されなかった場合の算出精度を画素精度の算出精度とし、前記特定の被写体が検出された場合の算出精度をサブピクセル精度の算出精度とすることを特徴とする請求項1から請求項4のいずれか一項に記載の画像処理装置。
- 前記求められた全部または一部の動きベクトルとして、前記複数枚の画像間の位置ずれ量を算出するために用いる動きベクトルを選択する動きベクトル選択部をさらに備えることを特徴とする請求項1から請求項5のいずれか一項に記載の画像処理装置。
- 前記複数の動きベクトル測定領域の各々において求められた動きベクトルの信頼度を算出する動きベクトル信頼度算出部をさらに備え、
前記動きベクトル選択部は、前記動きベクトルごとに求められた信頼度に基づいて、信頼度の高い動きベクトルを選択し、選択した信頼度の高い動きベクトルに基づいて、前記複数枚の画像間の位置ずれ量を算出するために用いる動きベクトルを選択することを特徴とする請求項6に記載の画像処理装置。 - 前記特定被写体検出部は、前記特定の被写体として、人物の顔を検出することを特徴とする請求項1から請求項7のいずれか一項に記載の画像処理装置。
- 請求項1から請求項8のいずれか一項に記載の画像処理装置を有することを特徴とする電子機器。
- 複数枚の画像間の位置ずれ量を用いて複数枚の画像の位置合わせ処理を行う画像処理方法であって、
画像から特定の被写体を検出するステップと、
前記複数枚の画像間の動きベクトルを測定するための複数の動きベクトル測定領域を画像上に設定するステップと、
前記複数の動きベクトル測定領域の各々において、前記複数枚の画像間の動きベクトルを求めるステップと、
前記特定の被写体の検出の有無に基づいて、前記複数枚の画像間の位置ずれ量を算出する際の算出精度を決定するステップと、
前記求められた全部または一部の動きベクトルと、前記決定された算出精度とに基づいて、前記複数枚の画像間の位置ずれ量を算出するステップと、
を備えることを特徴とする画像処理方法。 - 複数枚の画像間の位置ずれ量を用いて複数枚の画像の位置合わせ処理をコンピュータに実行させるための画像処理プログラムであって、
画像から特定の被写体を検出するステップと、
前記複数枚の画像間の動きベクトルを測定するための複数の動きベクトル測定領域を画像上に設定するステップと、
前記複数の動きベクトル測定領域の各々において、前記複数枚の画像間の動きベクトルを求めるステップと、
前記特定の被写体の検出の有無に基づいて、前記複数枚の画像間の位置ずれ量を算出する際の算出精度を決定するステップと、
前記求められた全部または一部の動きベクトルと、前記決定された算出精度とに基づいて、前記複数枚の画像間の位置ずれ量を算出するステップと、
を備えることを特徴とする画像処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008152893A JP2009302731A (ja) | 2008-06-11 | 2008-06-11 | 画像処理装置、画像処理プログラム、画像処理方法、および電子機器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008152893A JP2009302731A (ja) | 2008-06-11 | 2008-06-11 | 画像処理装置、画像処理プログラム、画像処理方法、および電子機器 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009302731A true JP2009302731A (ja) | 2009-12-24 |
Family
ID=41549201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008152893A Withdrawn JP2009302731A (ja) | 2008-06-11 | 2008-06-11 | 画像処理装置、画像処理プログラム、画像処理方法、および電子機器 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009302731A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012189934A (ja) * | 2011-03-14 | 2012-10-04 | Canon Inc | 撮像装置 |
JP2012199691A (ja) * | 2011-03-18 | 2012-10-18 | Ricoh Co Ltd | 撮像装置、撮像方法、及び撮像プログラム |
JP2014123359A (ja) * | 2012-12-21 | 2014-07-03 | Samsung Techwin Co Ltd | デジタル映像処理装置及び映像の代表動き予測方法 |
JP2015133532A (ja) * | 2014-01-09 | 2015-07-23 | キヤノン株式会社 | 撮像装置及び画像処理方法 |
JP2016010014A (ja) * | 2014-06-24 | 2016-01-18 | キヤノン株式会社 | 撮像装置及びその制御方法、プログラム、記憶媒体 |
-
2008
- 2008-06-11 JP JP2008152893A patent/JP2009302731A/ja not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012189934A (ja) * | 2011-03-14 | 2012-10-04 | Canon Inc | 撮像装置 |
JP2012199691A (ja) * | 2011-03-18 | 2012-10-18 | Ricoh Co Ltd | 撮像装置、撮像方法、及び撮像プログラム |
JP2014123359A (ja) * | 2012-12-21 | 2014-07-03 | Samsung Techwin Co Ltd | デジタル映像処理装置及び映像の代表動き予測方法 |
JP2015133532A (ja) * | 2014-01-09 | 2015-07-23 | キヤノン株式会社 | 撮像装置及び画像処理方法 |
JP2016010014A (ja) * | 2014-06-24 | 2016-01-18 | キヤノン株式会社 | 撮像装置及びその制御方法、プログラム、記憶媒体 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5075757B2 (ja) | 画像処理装置、画像処理プログラム、画像処理方法、および電子機器 | |
WO2020259271A1 (zh) | 图像畸变校正方法和装置 | |
JP4813517B2 (ja) | 画像処理装置、画像処理プログラム、画像処理方法、および電子機器 | |
JP2009230537A (ja) | 画像処理装置、画像処理プログラム、画像処理方法、および、電子機器 | |
CN106650682B (zh) | 一种人脸追踪的方法及装置 | |
US9759548B2 (en) | Image processing apparatus, projector and projector system including image processing apparatus, image processing method | |
US8649593B2 (en) | Image processing apparatus, image processing method, and program | |
JP5074322B2 (ja) | 画像処理装置、画像処理方法、画像処理プログラム、及び、撮像装置 | |
US9183634B2 (en) | Image processing apparatus and image processing method | |
US10970807B2 (en) | Information processing apparatus and storage medium | |
JP2020067748A (ja) | 画像処理装置、画像処理方法、およびプログラム | |
JP2016201668A (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP2009301181A (ja) | 画像処理装置、画像処理プログラム、画像処理方法、および電子機器 | |
US10386930B2 (en) | Depth determining method and depth determining device of operating body | |
JP2009302731A (ja) | 画像処理装置、画像処理プログラム、画像処理方法、および電子機器 | |
WO2019123554A1 (ja) | 画像処理装置、画像処理方法、及び、記録媒体 | |
JP6579727B1 (ja) | 動体検出装置、動体検出方法、動体検出プログラム | |
US20120038785A1 (en) | Method for producing high resolution image | |
JP4789964B2 (ja) | 画像処理装置、画像処理プログラム、画像処理方法、および電子機器 | |
CN111091513B (zh) | 图像处理方法、装置、计算机可读存储介质及电子设备 | |
JP2011171991A (ja) | 画像処理装置、電子機器、画像処理方法、および、画像処理プログラム | |
JP2022123391A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
US10346680B2 (en) | Imaging apparatus and control method for determining a posture of an object | |
JP4468019B2 (ja) | 画像処理装置 | |
JP2010041418A (ja) | 画像処理装置、画像処理プログラム、画像処理方法、および電子機器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20110906 |