説明

画像合成装置と画像合成方法および画像合成プログラム

【課題】ユーザレスポンスがよく最終的に記録する画像の品質も高画質に保つことができ、メモリ容量を小さくできる画像合成装置と画像合成方法および画像合成プログラムを提供する。
【解決手段】少なくとも複数の画像に基づいて被写体の動き検出をした検出結果を、中間データとして保持する中間データ保持部と、複数の画像に対して合成画像であるビューア用画像を生成する画像合成部と、ビューア用画像を保持する画像保持部と、ビューア用画像と中間データを用い高画質画像を生成する高画質化処理をする再処理部と、を具備する画像合成装置と画像合成方法および画像合成プログラムである。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮像装置で撮影した複数の静止画像を合成する画像処理に係り、特に、手ぶれ補正などの画像を重ね合わせて元画像には無い効果を得る技術に関する。
【背景技術】
【0002】
今日、短露光の連写画像を合成することにより手ぶれのない画像を生成する手ぶれ補正技術が開発されている。例えば、合成後の画像に対して、合成枚数に応じた処理方法やパラメータを切り替えることにより、高画質な画像を生成する方法が開発されている。
【0003】
上記手ぶれ補正を行う方法には、ハードウェアによる方法とソフトウェアによる方法がある。例えば、ディジタルカメラにおける手ぶれは、露光中に手が動くことでセンサ(例えばCMOSセンサ)上に到達する光が時間経過とともにずれることで発生する。このような手ぶれを抑止する光学式手ぶれ補正として(センサシフト式あるいはレンズシフト式)がある。この光学式手ぶれ補正は、手の動きに連動してセンサやレンズを動かして光路を曲げる専用のハードウェアを用いて、手の動きに関わらずセンサ上に到達する光のずれを抑えている。
【0004】
一方、ソフトウェアで手ぶれを低減する方式もある。手ぶれは露光時間中の手の動きによりぶれが発生するため、露光時間を短くすればぶれは抑えられる。
ところが、露光時間が短くなれば光量が少なくなるため画像全体が暗くなる。そのため、画像全体を明るくする必要がある。そこで、センサの感度を上げ、画素値をソフト的に大きな値に変えている(ゲインアップ)。
【0005】
ところが、ゲインアップをするとノイズも一緒に大きくしてしまうため、短時間露光+ゲインアップを行う方法はノイズが多い画像となってしまう。
そこで、ソフトウェア手ぶれ補正では、短時間露光+ゲインアップ画像を複数枚連写し、各画像の被写体の位置合わせをし、その各画像を重ね合わせることでノイズ成分を検出し、検出結果に基づいてノイズの低減をしている。つまり、ノイズがなければ、重ね合わせた各画像の対応する画素位置の画素値は同じであるが、ノイズはランダムに発生するため同じ画素位置でも同じ画素値にはならない。このような原理を利用してノイズ成分を検出してノイズの低減をしている。
【0006】
また、各画像を重ね合わせて画素値を平均化することによりノイズ成分のみを低減する方法もある。
ところが、上記複数枚画像を重ね合わせてノイズなどを低減する場合、被写体に動きがあると、被写体動きの領域がテレビのゴーストのように多重化してしまう。そこで、位置ずれを合わせた後、被写体動きの有無を検知し、被写体動きのある領域と無い領域とで処理を変える方法が提案されている。
【0007】
この方法では、例えば被写体の動きの無い領域は従来通りの合成を行い、被写体動きのある領域は1枚の画像だけを使う。このようにすることにより、被写体動きによる多重化を抑制することができる。
【0008】
しかし、上記のように撮影したのちに画像の位置合わせをして上記に示した一連の処理を全て行い、最終的に高画質で処理画像を保存すると図12に示す(1)のように画像処理に時間がかかっていまいユーザレスポンスが悪くなる。
【0009】
そこで、図18に示す従来例(2)〜(4)や特許文献1〜3に示す方法が提案されている。
(2)利用者には簡易処理をしたビューア用画像(保存画像)を表示し、最終的に保存する画像はビューア用画像を生成する処理とは別の処理をする。この場合、ビューア用画像は低画質で保存する。最終保存する画像は長時間かけて高画質で保存する。ところが、ビューア用画像と高画質の画像を生成する処理を、例えば1個のCPUで行うと(1)よりもビューア用画像を生成する処理を行う分処理時間が長くなる。また、2つのCPUを用いてビューア用の処理と高画質用の処理を並列に行うと処理時間は短縮されるが、CPUやその周辺回路などのサイズが増大して撮像装置が大きくなってしまう。
【0010】
(3)利用者がストレスを感じない時間で完了するよう処理を簡易化して終了する。最終的に保存する画像を短時間で低画質で保存する。
(4)利用者がストレスを感じない時間で低画質のビューア用画像を生成して保存し、その後、そのビューア用画像に基づいてバックグラウンドで処理を実施する。(4)のバックグランドで行う高画質生成の処理は、(1)(2)に示した高画質画像を生成する処理ではなく、ビューア用画像を高画質にするための処理である。ビューア用画像から最終的に保存する画像を生成するため、(1)(2)のように高画質ではないが、中程度の画質を最終的に保存することができる。
【0011】
また、特許文献1によれば連写画像で画像合成処理を行う際、合成処理前に1枚画像を明るくし、明るくした画像をビューア表示する提案がされている。
特許文献2によれば、複数枚撮影した画像から、特徴点を抽出して各画像間の変異量を求める処理において、基準画像を少なくとも2分割して一方の領域内の特徴点から変異量を求める提案がされている。
【0012】
特許文献3によれば、連写画像を合成する際に動き領域を検出し、動き領域を略一致させて合成する。つまり、動き領域を略一致させることで、動いている物体の一連の動きを多重画像として保持する方法が提案されている。
【0013】
また、特許文献4、5などの提案もされている。
しかしながら、ディジタルカメラやカメラ付き携帯電話などの撮像装置により撮影した直後に、利用者に撮影内容を確認させるために画像を出力する場合、合成処理を行った後の高画質画像を提供しようとすると出力に時間がかかりユーザレスポンスが悪くなる。そこで、ユーザレスポンスを良くするために処理を後回しにすると提供画像の画質が悪くなるという問題がある。
【0014】
また、撮像装置により取得した複数静止画像を合成することにより手ぶれを補正して1枚の画像を得るには、合成処理に時間がかかるとともに、大きなリソース(メモリ容量、ディスク容量など)も必要となる。
【特許文献1】特開2006−054698号公報
【特許文献2】特開2004−219765号公報
【特許文献3】特開2006−025312号公報
【特許文献4】特開2006−139758号公報
【特許文献5】特開2003−108416号公報
【発明の開示】
【発明が解決しようとする課題】
【0015】
本発明は上記のような実情に鑑みてなされたものであり、ユーザレスポンスがよく最終的に記録する画像の品質も高画質に保つことができ、メモリ容量を小さくできる画像合成装置と画像合成方法および画像合成プログラムを提供することを目的とする。
【課題を解決するための手段】
【0016】
本発明の態様のひとつである複数の画像を合成する画像合成装置であって、少なくとも前記複数の画像に基づいて被写体の動き検出をした検出結果を、中間データとして保持する中間データ保持部と、前記複数の画像に対して合成画像であるビューア用画像を生成する画像合成部と、前記ビューア用画像を保持する画像保持部と、前記ビューア用画像と前記中間データとを用い高画質画像を生成する高画質化処理をする再処理部と、を具備する構成である。
【0017】
画像合成において、領域ごとに合成に使用する枚数を決定し、画像合成を行う。合成後、画像保存時に該合成枚数情報を画像とともに保存する。
本発明では、画像合成時に生成した被写体動き領域と非動き領域との検出結果を中間データとして保持しておくことで、保存画像から被写体動き領域と非動き領域を容易に分離して異なる処理をさせることができる。
【0018】
また、高画質化処理時に使用する中間データは、動き領域、非動き領域の判定結果情報(以下、動き検出マップと称する)を用いることで、高画質化処理時に動き領域、非動き領域の再判定を行うことなく動き領域、非動き領域とで異なる処理を行うことができる
動き検出結果があれば元連写画像を保持する必要がないので、使用するリソースを大幅に削減できる。
【0019】
バックグラウンド処理は、画像を格納している組み込み機器が予め定めたステータス状態になったときに自動的に実施することで、ユーザの操作なしに、また、組み込み機器上で実施する他処理を圧迫することなく、処理を実施することができる。例えば携帯電話の場合、通話中や他プログラム実行中にはバックグラウンド処理を行わないことで他処理への負荷をかけることなく、最終画像の高画質化を実現できる。
【0020】
バックグラウンド処理前は、簡単な処理で生成した保存画像しかユーザに提示できないため、ユーザはその画像を見て品質が悪いと評価してしまう可能性がある。そこで、画像表示時にバックグラウンド処理開始前の画像には、最終処理前であることを示すアイコンを表示する。中間データがあるか否かを検出し、中間データがある場合は最終画像前であることをユーザに通知する。
【0021】
その際、ユーザにはその画像の最終品質を早く確認したいとの要求があると考える。キー、あるいはメニューにバックグラウンド処理の即時処理実行を割り当て、ユーザの操作でバックグラウンド処理と同様の高品質化のための高画質化処理を直ちに実施する。
【0022】
中間データは、保存画像のヘッダ領域に格納することで、中間データと保存画像との対応関係を保持するファイル管理なしに、中間データを管理できる。例えばJPEGやExifなどの画像作成者が任意の情報を格納できる領域(コメントフィールド)に中間データを格納することで、ファイルフォーマットの互換性を維持したまま、中間データを保持できる。
【0023】
中間データを保持する分、一時的に画像ファイルのデータ量が増加する。この中間データは二値データであるため、単純なランレングス法などでデータ圧縮しても良い。この中間データは、バックグラウンド処理が終了して最終画像が得られれば不要なデータである。バックグラウンド処理を実行し、終了した際の最終画像からは中間データを削除することで、最終的なファイルサイズの増加を抑えることができる。
【発明の効果】
【0024】
本発明によれば、ユーザレスポンスがよく最終的に記録する画像の品質も高画質に保つことができ、さらにメモリ容量を小さくすることができる。
【発明を実施するための最良の形態】
【0025】
以下図面に基づいて、本発明の実施形態について詳細を説明する。
(原理説明)
図1に本発明の原理図を示す。
【0026】
図1に示す連写画像は利用者が撮像装置により撮影した複数枚の画像である。保存画像(低画質)はビューア用画像である。中間データはビューア用画像から最終的に保存する高画質画像を生成するために用いるデータである。
【0027】
まず、被写体を比較的短い露光時間teで撮影して時系列に複数の画像を連写して取得する。例えば、図2に示すように画像1、画像2を連写により取得する。この時、露光時間teやゲイン値g等の撮影時パラメータも取得する。
【0028】
次に、画像1と画像2の全体の位置合わせを行い、さらに動き検出処理を行い、被写体の動き領域を検出して動き判定結果を保存する。ここで、画像3に示す白の領域が非動き領域、黒の領域が動き領域である。
【0029】
その後、時間的に後に撮影された画像2から、動き判定結果で動き領域と判定された領域を除外し、画像1に合成して合成画像を得る。上記処理により連写画像に基づいて短時間でビューア用画像(第1の保存画像)を生成して利用者にビューア用画像を表示する。
【0030】
動き領域と非動き領域の検出処理は、撮影時パラメータに応じて、閾値d_exposureまたは閾値d_gainを決定する。閾値d_exposureは露光時間teに応じて決定される、また閾値d_gainはゲイン値gに応じて決定される。
【0031】
画像データ(画像1、画像2)の二つのフレームの対応する個々の画素(x,y)の差分値Δaを算出する。そして、差分値Δaを、閾値d_gainまたは閾値d_exposureを用いて判定する。差分値Δa>閾値d_gain、または差分値Δa>閾値d_exposureならば、当該画素(x,y)を動き領域と見なす。また、差分値Δa≦閾値d_gain、または差分値Δa≦閾値d_exposureならば、当該画素(x,y)を非動き領域と見なす。この処理を、画像1、画像2の全画素(領域)について実行してビューア用画像を生成する。
【0032】
その際に、作成した中間データをいったん保持し、最終的に保存する画像を生成する際に使用する。ここで、中間データとは高画質画像を生成する際に生成されるデータである。例えば、画像合成時に生成した動き領域と非動き領域との検出結果(画像3)などである。
【0033】
また、中間データには、画像3の動き領域と非動き領域ごとに合成枚数を合成枚数情報として保持されている。動き領域には合成枚数が少なく画像品質が低い領域となり、非動き領域は合成枚数が多く画像品質が高い領域となる。
【0034】
図18に示した従来例(4)のビューア用画像(保存画像(低画質))は画像合成後であるため、保存画像(高画質)作成の際に、ビューア用画像のみから動き領域と非動き領域を容易に分離して異なる処理をすることができない。つまり、一枚の画像に対して動き領域と非動き領域とで異なる処理をする場合、一枚の画像から動き領域と非動き領域を検出する必要があるが、それは困難である。
【0035】
次に、ビューア用画像と中間データを生成後、バックグランドにおいて高画質画像を得るための処理を実施する。
多重写しの障害等のない合成画像であるビューア用画像を高画質にするため、中間データに基づいて高画質画像を生成するための処理が行われる。このとき、動き領域と非動き領域では異なる高画質画像を生成する処理が行われる。
【0036】
上記のようにすることにより、連写画像を合成してビューア用画像と中間データを生成し、さらにビューア用画像と中間データから高画質画像を生成することができる。
(実施例1)
図3に本発明であるディジタルカメラやカメラ付き携帯電話などに組み込まれる撮像装置の画像処理部1の構成を示す。
【0037】
画像処理部1は、画像撮影部2、撮影画像保持部3、位置ずれ検出部4、被写体動き検出部5、中間データ保持部6(動き検出結果保持部)、画像合成部7、画像保持部8、再処理部9、ステータス監視部10から構成される。撮影後に利用者に表示するビューア用画像処理とそのビューア用画像に基づいて最終的に保存する高画質画像の生成を行う。
【0038】
画像撮影部2は、被写体を撮影するため撮影レンズから絞り機能を備えるシャッターなどを介して光学像を電気信号に変換する撮像素子に取り込み、A/D変換器により撮像素子から出力されるアナログ信号出力をディジタル信号に変換する。また、一回の撮影をする際、手振れを生じない程度のシャッター速度により画像を連写撮影して複数枚の画像を取得する。
【0039】
撮影画像保持部3は、画像撮影部2で撮影した複数の画像を保持する。例えば、撮影画像保持部3に2枚連写であれば画像を2枚保持するが、3枚連写、4枚連写の場合には、3枚、4枚の画像も撮影画像保持部3に保持する。
【0040】
位置ずれ検出部4では、例えば2枚連写であれば2枚画像の位置ずれ量を検出する。位置ずれの検出としてはテンプレートマッチング法などがある。
2枚連写して撮影画像保持部3に保持した画像1と画像2を合成して一枚の画像を生成する場合について説明する。まず、画像1内の特定の画素からなる微小領域を特徴点として保持し、その特徴点が画像2内のどこにあるかを走査して検出する。画像1の特徴点の位置と検出した画像2の特徴点の位置との差分を算出して位置ずれ量とする。
【0041】
また、代表的なずれ量検出の方法として、モラベックオペレータなどもある(参考文献:コンピュータ画像処理 田村秀行編著 オーム社出版局 p243)。
被写体動き検出部5では、このように画像間のずれ量を算出したのち、位置を合わせた後の画像同士の画素値の差分を、予め設定した閾値と比較することにより被写体の動きを検出することができる。
【0042】
ずれ量を合わせた画像で、対応する位置の画素間の差分(例えばYUVのYの差分)を算出し、差分と予め設定した閾値(例えば、ΔY=20〜25)を比較して閾値に達しているか否かを判定する。閾値に達しているとき、該画素を動き領域とみなす。
【0043】
ここで、図2の画像3に示すように1画素ごとに動きあり(例えば"1"、図中の黒)と動きなし(例えば"0"、図中の白)の値を保持するが、この動き検出結果である中間データ(動き検出マップ)があれば元連写画像を保持する必要がないので、使用するリソースを大幅に削減できる(原画像3枚は1画素あたり9バイト、動き検出結果は1画素あたり1ビットなので、リソース量は1/72でよい)。
【0044】
中間データ保持部6は、1画素ごとの動き検出結果を例えば図2に示すような中間データとして保持する。
画像合成部7は画像合成処理を実施する。このとき中間データを用いてよいし、用いなくてもよい。中間データを用いる場合は中間データ保持部6に保持した動き検出マップに従って、例えば、図2では動き領域は画像1の画素値を使用し、非動き領域は画像1と画像2の合成結果を使用する。
【0045】
画像保持部8は、上記画像合成部7によって合成した画像をいったん保持する。
再処理部9では、ステータス監視部10からの高画質化処理の実行指示を受けて、画像保持部8の画像データ(ビューア用画像)と中間データ保持部6の動き検出マップ(中間データ)を用いて高画質化処理を行う。具体的には、非動き領域には輪郭強調処理を行い、動き領域にはノイズ除去処理などを行う。
【0046】
ステータス監視部10は、撮像装置が組み込まれているディジタルカメラやカメラ付き携帯電話のステータスを監視し、予め設定した状態(例えば必要最低限のプログラムしか動作していないか、CPU負荷が設定値以下であるかなど)を監視し、予め設定した状態に達したときは再処理部9に高画質化処理の実行指示を出す。
【0047】
高画質化処理終了後、再処理部9は最終的に保存する高画質の画像を画像保持部8のビューア用画像に上書きして格納する。
次に動作説明をする。
【0048】
図4に本発明の動作フロー図を示す。
ステップS41では画像を連写撮影する。画像撮影部2により被写体を連続撮影して複数枚の撮影画像を取得し、撮影画像保持部3に保存する。
【0049】
ステップS42では画像を合成する。撮影画像保持部3に保存した複数の撮影画像を位置ずれ検出部4により位置ずれを検出して、被写体動き検出部5により位置を合わせた後の画像同士の画素値の差分を、予め設定した閾値と比較することにより被写体の動きを検出する。そして、画像合成部では後述する中間データ保持部6に保持した中間データ(動き検出マップ)に従って、画像合成処理を実施する。
【0050】
ステップS43(中間データ保持ステップ)では合成時の中間データを中間データ保持部6に保持する。
ステップS44(画像合成ステップ)では合成画像を保持する。画像保持部8には画像合成部7で生成したビューア用画像をいったん保持する。利用者はビューア用画像を見ることができる。
【0051】
ステップS45(再処理ステップ)ではバックグランドにおいて中間画像を用いて保存した画像を高画質化処理する。検出結果保持部6に保存した中間データである動き領域、非動き領域の判定結果情報を用いてビューア用画像を高画質画像に変換する。このように中間データを保持しているため、高画質化処理時に動き領域、非動き領域の再判定を行うことなく動き領域、非動き領域とで異なる処理を行うことができる。処理として、例えば1)動き領域ではノイズ除去(ぼかし)、非動き領域では輪郭強調(シャープ化)をする。2)動き領域では微小動き領域の除去(非動き領域への変更)、非動き領域では何もしないなどが考えられる。
【0052】
ステップS46ではビューア用画像や中間データを削除して最終的に保存する高画質画像に更新する。
また、変形例としてバックグラウンドで実行する処理は、合成画像を格納している撮像
装置が予め定めたステータス状態になったときに自動的に実施することで、利用者の操作なしに、また、組み込み機器上で実施する他処理を圧迫することなく、処理を実施することができる。
【0053】
例えば、携帯電話の場合、通話中や他プログラム実行中にはバックグラウンド処理を行わないことで他処理への負荷をかけることなく、最終的に保存する画像の高画質化を実現できる。
【0054】
図5の動作フロー図を用いて動作説明をする。
ステップS51ではステップS41と同様に連写撮影をして複数画像を取得する。
ステップS52では画像合成枚数を決定する。ステップS42に示したように位置ずれ量を検出後に、動き領域と非動き領域を検出して、動き領域と非動き領域に画像合成情報を割付する。
【0055】
ステップS53ではステップS52で決定した各領域の合成枚数に基づいて画像合成を実施する。ステップS54では各画素の合成枚数を記憶する。
ステップS55では全画素の走査を終了したかを判定する。全画素について画像合成が完了していればステップS56に移行する。完了していなければステップS52に移行する。
【0056】
ステップS56では上記ステップS53で生成した合成画像であるビューア用画像と、生成の際に用いた中間データを保存する。
図17に示す図は、図5のS56や、後述する図7のS76で出力する中間データの具体的なデータ例を示した図である。
【0057】
図17の上段のブロック図は、元画像1と元画像2を用いて画像合成部により合成してビューア画像を生成するとともに、元画像1と元画像2を用いて中間データ(動き検出マップ)を生成する構成を示した図である。
【0058】
また、図17の下段のデータは、元画像1の太線四角の範囲A、元画像2の太線四角の範囲B、ビューア画像の太線四角の範囲Dの画素の値を表し、中間データの太線四角の範囲Cのデータは、動き領域を0、非動き領域を1としてフラグデータを表している。例えば、ビューア画像は、非動き領域であれば元画像1の値に、動き領域であれば元画像1と元画像2との中間値に基づき、画素の値を算出する。
【0059】
ステップS57では撮像装置のステータスを検出する。例えば、携帯電話の場合、電話の着信などユーザの操作なしに別処理が行われる場合がある。バックグラウンド処理中に撮像装置の状態が予め定めた状態に移行したときや、予め定めた状態でなくなったとき(バックグラウンド処理以外のスレッドが新規に起動したとき)などにバックグラウンド処理を中止、あるいは中断する。撮像装置のCPUなどが空状態であれば最終的に保存する画像を作成するためにステップS58に移行する。空状態でなければ他の処理が完了するまでステップS57でループして待機する。
【0060】
ステップS58では最終的に保存する画像を作成する。
ステップS59では中間データを削除し、ビューア用画像には保存する高画質画像を更新する。
【0061】
上記により、バックグラウンド処理中に撮像装置の状態が予め定めた状態に移行したとき(例えば、電話の着信を受けたとき)や、予め定めた状態でなくなったとき(バックグラウンド処理以外のスレッドが新規に起動したとき)などにバックグラウンド処理を中止
、あるいは中断することで、負荷なしに新規処理(電話の通話など)を実行できる。
【0062】
(実施例2)
図6に示す本発明である実施例2は、前述の中断の場合の途中結果を格納するワーク領域保持部63を実施例1で説明した図3に追加した構成である。
【0063】
再処理部62は、画像合成装置を備えた撮像装置の動作状態を検出し、動作状態が予め設定された動作状態であるか否かを判定するステータス監視部10から、判定結果を受信して予め設定した動作状態のときに高画質化処理をバックグラウンドで自動実行する。
【0064】
つまり、高画質化処理実施中に利用者が撮像装置を操作することや電話の着信があった場合などに、ステータス監視部10は中断信号を再処理部62に出力する。再処理部62は実施例1で説明した再処理部9と同じであるがワーク領域保持部63を備えている(または接続されている)。そして、再処理部62では中断信号を受けた場合、高画質化処理を中断あるいは中止する。中断の場合、途中経過をワーク領域保持部63に保持しておき、再度、ステータス監視部10から実行の指示を受けたときに処理を継続する。中止の場合は、途中結果を全て破棄し、ステータス監視部10から再度実行の指示を受けたときには、最初から高画質化処理をやり直す。
【0065】
次に、実施例2の動作について図7のフロー図を用いて説明する。
図7に示すステップS71〜S77は、図5に示したステップS51〜S57の処理と同じ処理である。
【0066】
ステップS78では再処理部62において最終画像を作成するために動き領域と非動き領域ごとの画素に対して高画質にするための処理を行う。
ステップS79では、最終的に保存する高画質画像の作成が完了したかを判断する。ビューア用画像の全ての画素に対して処理が完了したかを判定し、完了していればステップS711に移行する。完了していなければステップS710に移行する。
【0067】
ステップS710では、ステータス監視部10から中断信号が出力されているかを判定し、中断信号が出力されていればステップS712に移行する。中断信号が出力されていなければステップS78に移行する。
【0068】
ステップS711はステップS59と同じである。
ステップS712では、再処理部62(ワーク領域保持部63)が中断信号を受けた場合、処理を中断あるいは中止し、中断の場合、途中経過をワーク領域保持部63に保持しておき、再度、ステータス監視部10から実行の指示を受けたときに処理を継続する。中止の場合は、途中結果を全て破棄し、ステータス監視部10から再度実行の指示を受けたときには、最初から処理をやり直す。再処理部62に出力する。
【0069】
上記によりバックグラウンド処理中に撮像装置の状態が予め定めた状態に移行したとき(例えば、電話の着信を受けたとき)や、予め定めた状態でなくなったとき(バックグラウンド処理以外のスレッドが新規に起動したとき)などにバックグラウンド処理を中止、あるいは中断することで、負荷なしに新規処理(電話の通話など)を実行できる。
【0070】
(実施例3)
図8に示す本発明である実施例3の画像処理部81は、画像撮影部2、撮影画像保持部3、位置ずれ検出部4、被写体動き検出部5、画像合成部82、中間データ付加部83、画像保持部84、再処理部9、ステータス監視部10から構成される。撮影後に利用者に表示するビューア用画像処理とそのビューア用画像に基づいて最終的に保存する高画質画
像の生成を行う。
【0071】
実施例3では、実施例1または実施例2に示した中間データ(動き検出マップなど)を別領域に保持せず画像合成部82の有する中間データ付加部83に送信し、中間データ付加部83により画像合成部82で合成した合成画像のヘッダ領域に中間データ(動き検出マップ)を格納して画像保持部8に保持する。つまり、中間データ保持部6を中間データ付加部83に設けて中間データの保存場所をヘッダ領域にした構成とする。
【0072】
このように、中間データは保存画像1のヘッダ領域に格納することで、中間データと保存画像1との対応関係を保持する管理ファイルなしに、中間データを管理することができる。
【0073】
例えば、画像フォーマットであるJPEGやExifなどには、画像作成者が任意の情報を格納できる領域(コメントフィールド)があり、この領域をヘッダ領域として利用して中間データを格納することで、ファイルフォーマットを変更することなく互換性を維持したまま、中間データを保持することができる。
【0074】
画像保持部84は、画像保持部8と同じようにビューア用画像をいったん保存することができるが中間データを保持することもできる。
上記のようにすることにより、中間データ保持部6を設けなくてよいため、中間データと保存データとを対応づける管理テーブルや管理機構が不要になる。ハードウェアで構成する場合であれば回路規模を削減でき、ソフトウェアにより実現するのであればメモリサイズを小さくすることが可能である。
【0075】
(実施例4)
図9、10を用い本発明である実施例4の説明をする。実施例4に示す画像処理部91は、実施例3に示した構成に、さらに画像が最終画像(高画質化処理された画像)かどうかを判定する最終画像判定部92を有し、その判定結果に基づいた画像を画像表示部93に表示する。
【0076】
最終画像判定部92は、画像保持部94内に中間データ(動き検出マップ)があるかどうかを検出することで、最終画像かどうかを判定できる。最終画像でなかった場合、最終画像でないことを利用者に通知する。
【0077】
本発明では、利用者が意識せずに高画質な保存画像を提供できるという効果がある。しかし、バックグラウンド処理前は、簡単な処理で生成したビューア用画像しか利用者に提示できないため、利用者はその画像を見て品質が悪いと評価してしまう可能性がある。そこで、画像表示時にバックグラウンド処理開始前の画像には、最終処理前であることを示すアイコンを表示する。中間データがあるか否かを検出し、中間データがある場合は最終画像前であることを利用者に通知する。
【0078】
図10に高画質画像を生成していないことを通知する例を示す。例えば、携帯電話であれば表示場面にアイコンなどを表示する(図10では手形のアイコンを示している)。ここで、本例ではアイコンを示したがこれに限るものではなく利用者に通知することができればよい。
【0079】
(実施例5)
次に、利用者にはその画像の最終品質を早く確認したいとの要求があると考えられ、操作キーあるいは表示メニューにバックグラウンド処理の即時処理実行を割り当て、利用者の操作でバックグラウンド処理と同様の高品質化のための高画質化処理を直ちに実施する

【0080】
図11を用いて本発明である実施例5の説明をする。実施例5では実施例4の構成にさらに再処理指示部113を設け、操作部112から利用者の指示に従って再処理指示部113は再処理部114に高画質化処理の指示をする。ここで、再処理部114は再処理部9と同じであるが再処理指示部113からの信号を受信して直ちにビューア用画像から高画質画像を生成する。
【0081】
ここで、操作部112は操作キー(携帯電話やディジタルカメラなどの操作部(ボタンスイッチ))としてもよいし、画面に割り当てソフトウェアにより制御してもよい。
なお、図示しないが、操作による高画質化処理実行とステータス監視による高画質化処理実行を混在してもよい。利用者が指示する場合は直ちに高画質化処理を実行し、指示しないときは機器の状態が特定の状態になったときに自動的にバックグラウンドで処理を実行する。
【0082】
なお、上記実施例1〜5において中間データが保持されるため、一時的に画像ファイルのデータ量が増加する。例えば、VGA(640×480画素)の画像に動き領域検出結果を中間データとして格納する場合、1画素あたり1ビットの情報を格納するため、38,400バイト(307,200ビット)の二値データを保持する必要がある。この分、ファイルサイズは増加する。
【0083】
例えば、中間データが二値データであれば、単純なランレングス法などでデータ圧縮してもよい。また、中間データは、バックグラウンド処理が終了して最終画像が得られれば不要なデータであるので、バックグラウンド処理を実行し、終了した際の最終画像からは中間データを削除することで、最終的なファイルサイズの増加を抑えることができる。
【0084】
(変形例)
次に、画像を位置合わせして重ね合わせることにより、ビューア用画像と高画質画像を得ることのできるアプリケーションについて説明する。例えば、(1)手ぶれ補正、(2)パノラマ化、(3)超解像などの処理によれば、複数画像の共通領域(重なり合う領域)から特徴点を抽出して、位置合わせをして合成する処理であるが、それぞれ目的が異なる。
【0085】
(1)手ぶれ補正は、同一位置の画素を重ね合わせることで、短露光時間によって生じるノイズを低減する。(2)パノラマ化は、共通領域をのりしろに、広角画像を作成する。(3)超解像は、微妙にずれた画素を用いることで、高精度な補間画素を算出して高解像度化する。
【0086】
このようにどの画像処理も、合成に用いる複数画像は同じ画像であることを前提にしている。被写体に動きがあった場合、多重化などの不具合が生じる、精度が落ちるなどの問題がある。
【0087】
パノラマ化と超解像についても手ぶれ補正の場合と同様に、動き検出を行い、動き検出結果ほかを中間データとして保持し、バックグランドで中間データを用いて高品質化の処理を実施することが考えられる。
【0088】
以下、パノラマ化の場合の例を示す。
パノラマ化では、共通領域をのりしろに画像を合成する。図12に示すパノラマ合成の例では、元画像1(図12(a))の左側と元画像2(図1(b))の右側が共通領域になる(図1(c))。共通領域を用いて2つの画像のずれ量を算出して合成すると、例え
ば図12(d)のように、車が切れてしまったような画像ができる。
【0089】
そこで、共通領域の動き検出をし、共通領域は元画像1の左側、元画像2の右側とする。
図13(a)の動き検出マップでは、影が左側面に達しているので、この動きのある被写体は2枚目画像にある物体であるということが分かる。そこで、動き領域(車)の線に沿って2枚目画像の動き領域範囲をくり抜いて、図12(d)のパノラマ合成画像の共通領域に上書きすれば、図13(c)のような、車が切れない不自然でない画像を作成することができる。
【0090】
この場合、中間データとして保持する画像は、動き検出マップ(図13(a))、2枚目共通領域(図13(b))になる。また、切り抜いて張り付けただけの場合、輪郭が浮かび上がるなどの不自然な画像になる可能性もあるので、重ね合わせの境界をぼかす(2画像の合成重みをゆるやかに変動させて合成する)などの処理をすれば、より自然な画像を作成することができる。
【0091】
以下、超解像の場合の例を示す。
超解像での画像合成は、手ぶれ補正と同じである。図14に示すように、解像度の高い画像を生成する。
【0092】
図14のように、動きがなければ問題ないが、被写体動きがある画像の場合、被写体動きのある領域が多重化する。また、画素の補間演算結果がおかしくなるなどの弊害が発生する。そのため、手ぶれ補正と同様、動きのある領域を検出し、非動き領域は2画像を用いて補間(フレーム間補間)を行い、動きのある領域は一方の画像のみを用いて補間(フレーム内補間)を行う。フレーム内補間はフレーム間補間よりも精度が低く、画像内に高品質な領域と高品質な領域が混在する。フレーム内補間の品質を上げるためには、複雑な処理(例えばバイキュービックによる補間など)を行う必要がある。
【0093】
そこで、最初のステップでは図14(c)の動き領域は単純なコピーによる拡大を行い、図15に示す動き検出マップを中間データとして保持する。ビューアの表示には縮小画像が用いられるため、共通領域がコピー拡大であっても、品質の差が分かりにくくなる。また、コピーなので、高速に処理を終了できる。後刻、動き検出マップを元に、動き領域の画素(コピー拡大された領域)からバイキュービックなどで精度の高い補間計算を行って動き領域の高品質化を行う。
【0094】
また、PCなどを利用して、上記実施例に示した動作やステップをソースとする所定のプログラム(多チャンネルデータ転送プログラム)を、メモリ(ROMなど)に保存し、起動時にコンピュータに書き込み、上記ステップを実行することができる。
【0095】
また、単体のコンピュータ(CPU、FPGAなどの情報処理装置を含む)などを用い、上記実施例に示したステップをソースとする所定のプログラムを、メモリ(ROMなど)に保存し、起動時に該コンピュータに書き込み、上記ステップを実行することができる。
【0096】
また、前述したようなフローチャートの処理を標準的なコンピュータ(例えば画像処理装置など)のCPUに行わせるための制御プログラムを作成してコンピュータ読み取り可能な記録媒体に記録させておき、そのプログラムを記録媒体からコンピュータに読み込ませてCPUで実行させるようにしても、本発明の実施は可能である。
【0097】
記録させた制御プログラムをコンピュータシステムで読み取ることの可能な記録媒体の
例を図16に示す。このような記録媒体としては、例えば、コンピュータシステム160に内蔵若しくは外付けの付属装置として備えられるROMやハードディスク装置などの記憶装置161、コンピュータシステム160に備えられる媒体駆動装置162へ挿入することによって記録された制御プログラムを読み出すことのできるフレキシブルディスク、MO(光磁気ディスク)、CD−ROM、DVD−ROMなどといった携帯可能記録媒体163等が利用できる。
【0098】
また、記録媒体は通信回線164を介してコンピュータシステム160と接続される、プログラムサーバ165として機能するコンピュータシステムが備えている記憶装置166であってもよい。この場合には、制御プログラムを表現するデータ信号で搬送波を変調して得られる伝送信号を、プログラムサーバ165から伝送媒体である通信回線164を通じてコンピュータシステム160へ伝送するようにし、コンピュータシステム160では受信した伝送信号を復調して制御プログラムを再生することでこの制御プログラムをコンピュータシステム160のCPUで実行できるようになる。
【0099】
また、本発明は、上記実施の形態に限定されるものでなく、本発明の要旨を逸脱しない範囲内で種々の改良、変更が可能である。
(付記1)
複数の画像を合成する画像合成装置であって、
少なくとも前記複数の画像に基づいて被写体の動き検出をした検出結果を、中間データとして保持する中間データ保持部と、
前記複数の画像に対して合成画像であるビューア用画像を生成する画像合成部と、
前記ビューア用画像を保持する画像保持部と、
前記ビューア用画像と前記中間データとを用い高画質画像を生成する高画質化処理をする再処理部と、
を具備することを特徴とした画像合成装置。
【0100】
(付記2)
前記中間データは、
前記画像を合成枚数に応じて領域分けした領域情報を含むことを特徴とする付記1に記載の画像合成装置。
【0101】
(付記3)
前記再処理部は、
前記画像合成装置を備えた撮像装置の動作状態を検出し、前記動作状態が予め設定された動作状態であるか否かを判定するステータス監視部から、前記判定結果を受信して予め設定した動作状態のときに前記高画質化処理をバックグラウンドで実行することを特徴する付記1または2に記載の画像合成装置。
【0102】
(付記4)
前記高画質化処理は、
該高画質化処理を実行中に前記判定結果が予め設定した動作状態になったとき、高画質化処理を中止または中断し、
中止の場合は、途中結果を全て破棄し、前記ステータス監視部から再度実行の指示を受けたときに最初から高画質化処理をやり直し、
中断の場合途中経過を保持する、
ことを特徴する付記3に記載の画像合成装置。
【0103】
(付記5)
前記ビューア用画像および前記高画質画像を表示する画像表示部と、
前記中間データが存在するか否かを判断する最終画像判定部を備え、
最終画像判定部に中間データが存在しないと判断した場合に、前記画像表示部に前記高画質化処理が未完了であることを通知することを特徴する付記1または2に記載の画像合成装置。
【0104】
(付記6)
前記高画質化処理が未完了である場合に、即時に前記高画質化処理を実行するユーザインタフェースである再処理指示部を備えるためのことを特徴とする付記5に記載の画像合成装置。
【0105】
(付記7)
前記中間データ保持部を中間データ付加部として前記画像保持部に設け、前記画像保持部が保持した画像データにヘッダ領域があるとき、前記ヘッダ領域に前記中間データを保持することを特徴する付記1または2に記載の画像合成装置。
【0106】
(付記8)
前記ヘッダ領域に格納した前記中間データを前記高画質化処理が完了した後に削除することを特徴する付記7に記載の画像合成装置。
【0107】
(付記9)
複数の画像を合成する画像合成方法であって、
少なくとも前記複数の画像に基づいて被写体の動き検出をした検出結果を、中間データとして保持する中間データ保持ステップと、
前記複数の画像に対して合成画像であるビューア用画像を生成する画像合成ステップと、
前記ビューア用画像を保持する画像保持ステップと、
前記ビューア用画像と前記中間データとを用い高画質画像を生成する高画質化処理をする再処理ステップと、
を有することを特徴とした画像合成方法。
【0108】
(付記10)
前記中間データは、
前記画像を合成枚数に応じて領域分けした領域情報を有することを特徴とする付記9に記載の画像合成方法。
【0109】
(付記11)
前記再処理ステップは、
前記画像合成装置を備えた撮像装置の動作状態を検出し、前記動作状態が予め設定された動作状態であるか否かを判定するステータス監視部から前記判定結果を受信し、該判定結果が予め設定した動作状態のときに前記高画質化処理をバックグラウンドで実行することを特徴する付記9または10に記載の画像合成方法。
【0110】
(付記12)
前記高画質化処理は、
該高画質化処理を実行中に前記判定結果が予め設定した動作状態になったとき、高画質化処理を中止または中断し、
中止の場合は、途中結果を全て破棄し、前記ステータス監視部から再度実行の指示を受けたときに最初から高画質化処理をやり直し、
中断の場合途中経過を保持する、
ことを特徴する付記11に記載の画像合成方法。
【0111】
(付記13)
前記中間データのない場合に、前記高画質化処理が未完了であることを通知することを特徴する付記9または10に記載の画像合成方法。
【0112】
(付記14)
前記高画質化処理が未完了である場合に、即時に前記高画質化処理を実行する指示をすることを特徴とする付記13に記載の画像合成方法。
【0113】
(付記15)
画像データにヘッダ領域があるとき、前記ヘッダ領域に前記中間データを保持することを特徴する付記9または10に記載の画像合成方法。
【0114】
(付記16)
前記ヘッダ領域に格納した中間データを前記高画質化処理が完了した後に削除することを特徴する付記15に記載の画像合成方法。
【0115】
(付記17)
複数の画像を取得し合成画像を作成する画像処理装置のコンピュータに、
少なくとも前記複数の画像に基づいて被写体の動き検出をした検出結果を、中間データとして保持する中間データ保持ステップと、
前記複数の画像に対して合成画像であるビューア用画像を生成する画像合成ステップと、
前記ビューア用画像を保持する画像保持ステップと、
前記ビューア用画像と前記中間データとを用い高画質画像を生成する高画質化処理をする再処理ステップと、
をコンピュータに実行させることを特徴とする画像処理装置のプログラム。
【0116】
(付記18)
前記中間データは、前記画像を合成枚数に応じて領域分けした領域情報を有することを特徴とする付記17に記載の画像処理装置のプログラム。
【0117】
(付記19)
前記再処理ステップは、
前記画像合成装置を備えた撮像装置の動作状態を検出し、前記動作状態が予め設定された動作状態であるか否かを判定するステータス監視部から前記判定結果を受信し、該判定結果が予め設定した動作状態のときに前記高画質化処理をバックグラウンドで自動実行することを特徴とする付記18に記載の画像処理装置のプログラム。
【0118】
(付記20)
前記高画質化処理は、
該高画質化処理を実行中に前記判定結果が予め設定した動作状態になったとき、高画質化処理を中止または中断し、
中止の場合は、途中結果を全て破棄し、前記ステータス監視部から再度実行の指示を受けたときに最初から高画質化処理をやり直し、
中断の場合途中経過を保持することを特徴とする付記20に記載の画像処理装置のプログラム。
【0119】
(付記21)
前記中間データのない場合に、前記高画質化処理が未完了であることを通知することを
特徴とする付記17または18に記載の画像処理装置のプログラム。
【0120】
(付記22)
前記高画質化処理が未完了である場合に、即時に前記高画質化処理を実行することを特徴とする付記21に記載の画像処理装置のプログラム。
【0121】
(付記23)
画像データにヘッダ領域があるとき、前記ヘッダ領域に前記中間データを保持することを特徴する付記17または18に記載の画像処理装置のプログラム。
【0122】
(付記24)
前記ヘッダ領域に格納した中間データは前記高画質化処理が完了した後に削除することを特徴する付記23に記載の画像処理装置のプログラム。
【0123】
(付記25)
前記高画質化処理は、
非動き領域には輪郭強調処理を行い、動き領域にはノイズ除去処理を行うことを特徴とする請求項1に記載の画像処理装置。
【0124】
(付記26)
前記中間データは、
手ぶれ補正処理、パノラマ化処理、超解像処理により生成されたデータであることを特徴とする請求項1に記載の画像処理装置。
【図面の簡単な説明】
【0125】
【図1】本発明の原理を示す図である。
【図2】動き検出マップの原理を示す図である。
【図3】ディジタルカメラやカメラ付き携帯電話などに組み込まれる撮像装置の画像処理部の構成を示す図である。
【図4】実施例1の動作フローを示す図である。
【図5】実施例1の動作フローを示す図である。
【図6】実施例2の画像処理部の構成を示す図である。
【図7】実施例2の動作フローを示す図である。
【図8】実施例3の画像処理部の構成を示す図である。
【図9】実施例4の画像処理部の構成を示す図である。
【図10】高画質画像を生成していないことを通知する例を示す図である。
【図11】実施例5の画像処理部の構成を示す図である。
【図12】パノラマ化の合成例を示す図である。
【図13】パノラマ化の合成例を示す図である。
【図14】超解像化の合成例を示す図である。
【図15】動き検出マップを示す図である。
【図16】制御システムを示すブロック図である。
【図17】上段のブロック図は元画像1と元画像2を用いて画像合成部により合成してビューア画像を生成するとともに、元画像1と元画像2を用いて中間データ(動き検出マップ)を生成する構成を示した図であり、下段のデータは、元画像1の太線四角の範囲A、元画像2の太線四角の範囲B、ビューア画像の太線四角の範囲Dの画素の値を表し、中間データの太線四角の範囲Cのデータは、動き領域を1、非動き領域を0としてフラグデータを表している。
【図18】従来例を示す図である。
【符号の説明】
【0126】
1 画像処理部
2 画像撮影部
3 撮影画像保持部
4 位置ずれ検出部
5 被写体動き検出部
6 中間データ保持部
7 画像合成部
8 画像保持部
9 再処理部
10 ステータス監視部
61 画像処理部
62 再処理部
63 ワーク領域保持部
81 画像処理部
82 画像合成部
83 中間データ付加部
84 画像保持部
91 画像処理部
92 最終画像判定部
93 画像表示部
94 画像保持部
112 操作部
113 再処理指示部
114 再処理部
160 コンピュータシステム
161 記憶装置
162 媒体駆動装置
163 携帯可能記録媒体
164 通信回線
165 プログラムサーバ
166 記憶装置

【特許請求の範囲】
【請求項1】
複数の画像を合成する画像合成装置であって、
少なくとも前記複数の画像に基づいて被写体の動き検出をした検出結果を、中間データとして保持する中間データ保持部と、
前記複数の画像に対して合成画像であるビューア用画像を生成する画像合成部と、
前記ビューア用画像を保持する画像保持部と、
前記ビューア用画像と前記中間データとを用い高画質画像を生成する高画質化処理をする再処理部と、
を具備することを特徴とした画像合成装置。
【請求項2】
前記再処理部は、
前記画像合成装置を備えた撮像装置の動作状態を検出し、前記動作状態が予め設定された動作状態であるか否かを判定するステータス監視部から、前記判定結果を受信して予め設定した動作状態のときに前記高画質化処理をバックグラウンドで実行することを特徴する請求項1に記載の画像合成装置。
【請求項3】
前記高画質化処理は、
該高画質化処理を実行中に前記判定結果が予め設定した動作状態になったとき、高画質化処理を中止または中断し、
中止の場合は、途中結果を全て破棄し、前記ステータス監視部から再度実行の指示を受けたときに最初から高画質化処理をやり直し、
中断の場合途中経過を保持する、
ことを特徴する請求項2に記載の画像合成装置。
【請求項4】
前記ビューア用画像および前記高画質画像を表示する画像表示部と、
前記中間データが存在するか否かを判断する最終画像判定部を備え、
最終画像判定部が中間データが存在しないと判断した場合に、前記画像表示部に前記高画質化処理が未完了であることを通知することを特徴する請求項1に記載の画像合成装置。
【請求項5】
前記中間データ保持部を中間データ付加部として前記画像保持部に設け、前記画像保持部が保持した画像データにヘッダ領域があるとき、前記ヘッダ領域に前記中間データを保持することを特徴する請求項1に記載の画像合成装置。
【請求項6】
複数の画像を合成する画像合成方法であって、
少なくとも前記複数の画像に基づいて被写体の動き検出をした検出結果を、中間データとして保持する中間データ保持ステップと、
前記複数の画像に対して合成画像であるビューア用画像を生成する画像合成ステップと、
前記ビューア用画像を保持する画像保持ステップと、
前記ビューア用画像と前記中間データとを用い高画質画像を生成する高画質化処理をする再処理ステップと、
を有することを特徴とした画像合成方法。

【図1】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図15】
image rotate

【図16】
image rotate

【図2】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図17】
image rotate

【図18】
image rotate


【公開番号】特開2008−301043(P2008−301043A)
【公開日】平成20年12月11日(2008.12.11)
【国際特許分類】
【出願番号】特願2007−143298(P2007−143298)
【出願日】平成19年5月30日(2007.5.30)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】