(57)【要約】【課題】ユーザレスポンスがよく最終的に記録する画像の品質も高画質に保つことができ、メモリ容量を小さくできる画像合成装置と画像合成方法および画像合成プログラムを提供する。【解決手段】少なくとも複数の画像に基づいて被写体の動き検出をした検出結果を、中間データとして保持する中間データ保持部と、複数の画像に対して合成画像であるビューア用画像を生成する画像合成部と、ビューア用画像を保持する画像保持部と、ビューア用画像と中間データを用い高画質画像を生成する高画質化処理をする再処理部と、を具備する画像合成装置と画像合成方法および画像合成プログラムである。【選択図】図１
2008301043.tif 000002
【特許請求の範囲】
【請求項１】
複数の画像を合成する画像合成装置であって、
少なくとも前記複数の画像に基づいて被写体の動き検出をした検出結果を、中間データとして保持する中間データ保持部と、
前記複数の画像に対して合成画像であるビューア用画像を生成する画像合成部と、
前記ビューア用画像を保持する画像保持部と、
前記ビューア用画像と前記中間データとを用い高画質画像を生成する高画質化処理をする再処理部と、
を具備することを特徴とした画像合成装置。
【請求項２】
前記再処理部は、
前記画像合成装置を備えた撮像装置の動作状態を検出し、前記動作状態が予め設定された動作状態であるか否かを判定するステータス監視部から、前記判定結果を受信して予め設定した動作状態のときに前記高画質化処理をバックグラウンドで実行することを特徴する請求項１に記載の画像合成装置。
【請求項３】
前記高画質化処理は、
該高画質化処理を実行中に前記判定結果が予め設定した動作状態になったとき、高画質化処理を中止または中断し、
中止の場合は、途中結果を全て破棄し、前記ステータス監視部から再度実行の指示を受けたときに最初から高画質化処理をやり直し、
中断の場合途中経過を保持する、
ことを特徴する請求項２に記載の画像合成装置。
【請求項４】
前記ビューア用画像および前記高画質画像を表示する画像表示部と、
前記中間データが存在するか否かを判断する最終画像判定部を備え、
最終画像判定部が中間データが存在しないと判断した場合に、前記画像表示部に前記高画質化処理が未完了であることを通知することを特徴する請求項１に記載の画像合成装置。
【請求項５】
前記中間データ保持部を中間データ付加部として前記画像保持部に設け、前記画像保持部が保持した画像データにヘッダ領域があるとき、前記ヘッダ領域に前記中間データを保持することを特徴する請求項１に記載の画像合成装置。
【請求項６】
複数の画像を合成する画像合成方法であって、
少なくとも前記複数の画像に基づいて被写体の動き検出をした検出結果を、中間データとして保持する中間データ保持ステップと、
前記複数の画像に対して合成画像であるビューア用画像を生成する画像合成ステップと、
前記ビューア用画像を保持する画像保持ステップと、
前記ビューア用画像と前記中間データとを用い高画質画像を生成する高画質化処理をする再処理ステップと、
を有することを特徴とした画像合成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置で撮影した複数の静止画像を合成する画像処理に係り、特に、手ぶれ補正などの画像を重ね合わせて元画像には無い効果を得る技術に関する。
【背景技術】
【０００２】
今日、短露光の連写画像を合成することにより手ぶれのない画像を生成する手ぶれ補正技術が開発されている。例えば、合成後の画像に対して、合成枚数に応じた処理方法やパラメータを切り替えることにより、高画質な画像を生成する方法が開発されている。
【０００３】
上記手ぶれ補正を行う方法には、ハードウェアによる方法とソフトウェアによる方法がある。例えば、ディジタルカメラにおける手ぶれは、露光中に手が動くことでセンサ（例えばＣＭＯＳセンサ）上に到達する光が時間経過とともにずれることで発生する。このような手ぶれを抑止する光学式手ぶれ補正として（センサシフト式あるいはレンズシフト式）がある。この光学式手ぶれ補正は、手の動きに連動してセンサやレンズを動かして光路を曲げる専用のハードウェアを用いて、手の動きに関わらずセンサ上に到達する光のずれを抑えている。
【０００４】
一方、ソフトウェアで手ぶれを低減する方式もある。手ぶれは露光時間中の手の動きによりぶれが発生するため、露光時間を短くすればぶれは抑えられる。
ところが、露光時間が短くなれば光量が少なくなるため画像全体が暗くなる。そのため、画像全体を明るくする必要がある。そこで、センサの感度を上げ、画素値をソフト的に大きな値に変えている（ゲインアップ）。
【０００５】
ところが、ゲインアップをするとノイズも一緒に大きくしてしまうため、短時間露光＋ゲインアップを行う方法はノイズが多い画像となってしまう。
そこで、ソフトウェア手ぶれ補正では、短時間露光＋ゲインアップ画像を複数枚連写し、各画像の被写体の位置合わせをし、その各画像を重ね合わせることでノイズ成分を検出し、検出結果に基づいてノイズの低減をしている。つまり、ノイズがなければ、重ね合わせた各画像の対応する画素位置の画素値は同じであるが、ノイズはランダムに発生するため同じ画素位置でも同じ画素値にはならない。このような原理を利用してノイズ成分を検出してノイズの低減をしている。
【０００６】
また、各画像を重ね合わせて画素値を平均化することによりノイズ成分のみを低減する方法もある。
ところが、上記複数枚画像を重ね合わせてノイズなどを低減する場合、被写体に動きがあると、被写体動きの領域がテレビのゴーストのように多重化してしまう。そこで、位置ずれを合わせた後、被写体動きの有無を検知し、被写体動きのある領域と無い領域とで処理を変える方法が提案されている。
【０００７】
この方法では、例えば被写体の動きの無い領域は従来通りの合成を行い、被写体動きのある領域は１枚の画像だけを使う。このようにすることにより、被写体動きによる多重化を抑制することができる。
【０００８】
しかし、上記のように撮影したのちに画像の位置合わせをして上記に示した一連の処理を全て行い、最終的に高画質で処理画像を保存すると図１２に示す（１）のように画像処理に時間がかかっていまいユーザレスポンスが悪くなる。
【０００９】
そこで、図１８に示す従来例（２）〜（４）や特許文献１〜３に示す方法が提案されている。
（２）利用者には簡易処理をしたビューア用画像（保存画像）を表示し、最終的に保存する画像はビューア用画像を生成する処理とは別の処理をする。この場合、ビューア用画像は低画質で保存する。最終保存する画像は長時間かけて高画質で保存する。ところが、ビューア用画像と高画質の画像を生成する処理を、例えば１個のＣＰＵで行うと（１）よりもビューア用画像を生成する処理を行う分処理時間が長くなる。また、２つのＣＰＵを用いてビューア用の処理と高画質用の処理を並列に行うと処理時間は短縮されるが、ＣＰＵやその周辺回路などのサイズが増大して撮像装置が大きくなってしまう。
【００１０】
（３）利用者がストレスを感じない時間で完了するよう処理を簡易化して終了する。最終的に保存する画像を短時間で低画質で保存する。
（４）利用者がストレスを感じない時間で低画質のビューア用画像を生成して保存し、その後、そのビューア用画像に基づいてバックグラウンドで処理を実施する。（４）のバックグランドで行う高画質生成の処理は、（１）（２）に示した高画質画像を生成する処理ではなく、ビューア用画像を高画質にするための処理である。ビューア用画像から最終的に保存する画像を生成するため、（１）（２）のように高画質ではないが、中程度の画質を最終的に保存することができる。
【００１１】
また、特許文献１によれば連写画像で画像合成処理を行う際、合成処理前に１枚画像を明るくし、明るくした画像をビューア表示する提案がされている。
特許文献２によれば、複数枚撮影した画像から、特徴点を抽出して各画像間の変異量を求める処理において、基準画像を少なくとも２分割して一方の領域内の特徴点から変異量を求める提案がされている。
【００１２】
特許文献３によれば、連写画像を合成する際に動き領域を検出し、動き領域を略一致させて合成する。つまり、動き領域を略一致させることで、動いている物体の一連の動きを多重画像として保持する方法が提案されている。
【００１３】
また、特許文献４、５などの提案もされている。
しかしながら、ディジタルカメラやカメラ付き携帯電話などの撮像装置により撮影した直後に、利用者に撮影内容を確認させるために画像を出力する場合、合成処理を行った後の高画質画像を提供しようとすると出力に時間がかかりユーザレスポンスが悪くなる。そこで、ユーザレスポンスを良くするために処理を後回しにすると提供画像の画質が悪くなるという問題がある。
【００１４】
また、撮像装置により取得した複数静止画像を合成することにより手ぶれを補正して１枚の画像を得るには、合成処理に時間がかかるとともに、大きなリソース（メモリ容量、ディスク容量など）も必要となる。
【特許文献１】特開２００６−０５４６９８号公報
【特許文献２】特開２００４−２１９７６５号公報
【特許文献３】特開２００６−０２５３１２号公報
【特許文献４】特開２００６−１３９７５８号公報
【特許文献５】特開２００３−１０８４１６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
本発明は上記のような実情に鑑みてなされたものであり、ユーザレスポンスがよく最終的に記録する画像の品質も高画質に保つことができ、メモリ容量を小さくできる画像合成装置と画像合成方法および画像合成プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１６】
本発明の態様のひとつである複数の画像を合成する画像合成装置であって、少なくとも前記複数の画像に基づいて被写体の動き検出をした検出結果を、中間データとして保持する中間データ保持部と、前記複数の画像に対して合成画像であるビューア用画像を生成する画像合成部と、前記ビューア用画像を保持する画像保持部と、前記ビューア用画像と前記中間データとを用い高画質画像を生成する高画質化処理をする再処理部と、を具備する構成である。
【００１７】
画像合成において、領域ごとに合成に使用する枚数を決定し、画像合成を行う。合成後、画像保存時に該合成枚数情報を画像とともに保存する。
本発明では、画像合成時に生成した被写体動き領域と非動き領域との検出結果を中間データとして保持しておくことで、保存画像から被写体動き領域と非動き領域を容易に分離して異なる処理をさせることができる。
【００１８】
また、高画質化処理時に使用する中間データは、動き領域、非動き領域の判定結果情報（以下、動き検出マップと称する）を用いることで、高画質化処理時に動き領域、非動き領域の再判定を行うことなく動き領域、非動き領域とで異なる処理を行うことができる
動き検出結果があれば元連写画像を保持する必要がないので、使用するリソースを大幅に削減できる。
【００１９】
バックグラウンド処理は、画像を格納している組み込み機器が予め定めたステータス状態になったときに自動的に実施することで、ユーザの操作なしに、また、組み込み機器上で実施する他処理を圧迫することなく、処理を実施することができる。例えば携帯電話の場合、通話中や他プログラム実行中にはバックグラウンド処理を行わないことで他処理への負荷をかけることなく、最終画像の高画質化を実現できる。
【００２０】
バックグラウンド処理前は、簡単な処理で生成した保存画像しかユーザに提示できないため、ユーザはその画像を見て品質が悪いと評価してしまう可能性がある。そこで、画像表示時にバックグラウンド処理開始前の画像には、最終処理前であることを示すアイコンを表示する。中間データがあるか否かを検出し、中間データがある場合は最終画像前であることをユーザに通知する。
【００２１】
その際、ユーザにはその画像の最終品質を早く確認したいとの要求があると考える。キー、あるいはメニューにバックグラウンド処理の即時処理実行を割り当て、ユーザの操作でバックグラウンド処理と同様の高品質化のための高画質化処理を直ちに実施する。
【００２２】
中間データは、保存画像のヘッダ領域に格納することで、中間データと保存画像との対応関係を保持するファイル管理なしに、中間データを管理できる。例えばＪＰＥＧやＥｘｉｆなどの画像作成者が任意の情報を格納できる領域（コメントフィールド）に中間データを格納することで、ファイルフォーマットの互換性を維持したまま、中間データを保持できる。
【００２３】
中間データを保持する分、一時的に画像ファイルのデータ量が増加する。この中間データは二値データであるため、単純なランレングス法などでデータ圧縮しても良い。この中間データは、バックグラウンド処理が終了して最終画像が得られれば不要なデータである。バックグラウンド処理を実行し、終了した際の最終画像からは中間データを削除することで、最終的なファイルサイズの増加を抑えることができる。
【発明の効果】
【００２４】
本発明によれば、ユーザレスポンスがよく最終的に記録する画像の品質も高画質に保つことができ、さらにメモリ容量を小さくすることができる。
【発明を実施するための最良の形態】
【００２５】
以下図面に基づいて、本発明の実施形態について詳細を説明する。
（原理説明）
図１に本発明の原理図を示す。
【００２６】
図１に示す連写画像は利用者が撮像装置により撮影した複数枚の画像である。保存画像（低画質）はビューア用画像である。中間データはビューア用画像から最終的に保存する高画質画像を生成するために用いるデータである。
【００２７】
まず、被写体を比較的短い露光時間ｔｅで撮影して時系列に複数の画像を連写して取得する。例えば、図２に示すように画像１、画像２を連写により取得する。この時、露光時間ｔｅやゲイン値ｇ等の撮影時パラメータも取得する。
【００２８】
次に、画像１と画像２の全体の位置合わせを行い、さらに動き検出処理を行い、被写体の動き領域を検出して動き判定結果を保存する。ここで、画像３に示す白の領域が非動き領域、黒の領域が動き領域である。
【００２９】
その後、時間的に後に撮影された画像２から、動き判定結果で動き領域と判定された領域を除外し、画像１に合成して合成画像を得る。上記処理により連写画像に基づいて短時間でビューア用画像（第１の保存画像）を生成して利用者にビューア用画像を表示する。
【００３０】
動き領域と非動き領域の検出処理は、撮影時パラメータに応じて、閾値ｄ_exposureまたは閾値ｄ_gainを決定する。閾値ｄ_exposureは露光時間ｔｅに応じて決定される、また閾値ｄ_gainはゲイン値ｇに応じて決定される。
【００３１】
画像データ（画像１、画像２）の二つのフレームの対応する個々の画素（ｘ，ｙ）の差分値Δａを算出する。そして、差分値Δａを、閾値ｄ_gainまたは閾値ｄ_exposureを用いて判定する。差分値Δａ＞閾値ｄ_gain、または差分値Δａ＞閾値ｄ_exposureならば、当該画素（ｘ，ｙ）を動き領域と見なす。また、差分値Δａ≦閾値ｄ_gain、または差分値Δａ≦閾値ｄ_exposureならば、当該画素（ｘ，ｙ）を非動き領域と見なす。この処理を、画像１、画像２の全画素（領域）について実行してビューア用画像を生成する。
【００３２】
その際に、作成した中間データをいったん保持し、最終的に保存する画像を生成する際に使用する。ここで、中間データとは高画質画像を生成する際に生成されるデータである。例えば、画像合成時に生成した動き領域と非動き領域との検出結果（画像３）などである。
【００３３】
また、中間データには、画像３の動き領域と非動き領域ごとに合成枚数を合成枚数情報として保持されている。動き領域には合成枚数が少なく画像品質が低い領域となり、非動き領域は合成枚数が多く画像品質が高い領域となる。
【００３４】
図１８に示した従来例（４）のビューア用画像（保存画像（低画質））は画像合成後であるため、保存画像（高画質）作成の際に、ビューア用画像のみから動き領域と非動き領域を容易に分離して異なる処理をすることができない。つまり、一枚の画像に対して動き領域と非動き領域とで異なる処理をする場合、一枚の画像から動き領域と非動き領域を検出する必要があるが、それは困難である。
【００３５】
次に、ビューア用画像と中間データを生成後、バックグランドにおいて高画質画像を得るための処理を実施する。
多重写しの障害等のない合成画像であるビューア用画像を高画質にするため、中間データに基づいて高画質画像を生成するための処理が行われる。このとき、動き領域と非動き領域では異なる高画質画像を生成する処理が行われる。
【００３６】
上記のようにすることにより、連写画像を合成してビューア用画像と中間データを生成し、さらにビューア用画像と中間データから高画質画像を生成することができる。
（実施例１）
図３に本発明であるディジタルカメラやカメラ付き携帯電話などに組み込まれる撮像装置の画像処理部１の構成を示す。
【００３７】
画像処理部１は、画像撮影部２、撮影画像保持部３、位置ずれ検出部４、被写体動き検出部５、中間データ保持部６（動き検出結果保持部）、画像合成部７、画像保持部８、再処理部９、ステータス監視部１０から構成される。撮影後に利用者に表示するビューア用画像処理とそのビューア用画像に基づいて最終的に保存する高画質画像の生成を行う。
【００３８】
画像撮影部２は、被写体を撮影するため撮影レンズから絞り機能を備えるシャッターなどを介して光学像を電気信号に変換する撮像素子に取り込み、Ａ／Ｄ変換器により撮像素子から出力されるアナログ信号出力をディジタル信号に変換する。また、一回の撮影をする際、手振れを生じない程度のシャッター速度により画像を連写撮影して複数枚の画像を取得する。
【００３９】
撮影画像保持部３は、画像撮影部２で撮影した複数の画像を保持する。例えば、撮影画像保持部３に２枚連写であれば画像を２枚保持するが、３枚連写、４枚連写の場合には、３枚、４枚の画像も撮影画像保持部３に保持する。
【００４０】
位置ずれ検出部４では、例えば２枚連写であれば２枚画像の位置ずれ量を検出する。位置ずれの検出としてはテンプレートマッチング法などがある。
２枚連写して撮影画像保持部３に保持した画像１と画像２を合成して一枚の画像を生成する場合について説明する。まず、画像１内の特定の画素からなる微小領域を特徴点として保持し、その特徴点が画像２内のどこにあるかを走査して検出する。画像１の特徴点の位置と検出した画像２の特徴点の位置との差分を算出して位置ずれ量とする。
【００４１】
また、代表的なずれ量検出の方法として、モラベックオペレータなどもある（参考文献：コンピュータ画像処理  田村秀行編著  オーム社出版局 p２４３）。
被写体動き検出部５では、このように画像間のずれ量を算出したのち、位置を合わせた後の画像同士の画素値の差分を、予め設定した閾値と比較することにより被写体の動きを検出することができる。
【００４２】
ずれ量を合わせた画像で、対応する位置の画素間の差分（例えばＹＵＶのＹの差分）を算出し、差分と予め設定した閾値（例えば、ΔＹ＝２０〜２５）を比較して閾値に達しているか否かを判定する。閾値に達しているとき、該画素を動き領域とみなす。
【００４３】
ここで、図２の画像３に示すように１画素ごとに動きあり（例えば"１"、図中の黒）と動きなし（例えば"０"、図中の白）の値を保持するが、この動き検出結果である中間データ（動き検出マップ）があれば元連写画像を保持する必要がないので、使用するリソースを大幅に削減できる（原画像３枚は１画素あたり９バイト、動き検出結果は１画素あたり１ビットなので、リソース量は１／７２でよい）。
【００４４】
中間データ保持部６は、１画素ごとの動き検出結果を例えば図２に示すような中間データとして保持する。
画像合成部７は画像合成処理を実施する。このとき中間データを用いてよいし、用いなくてもよい。中間データを用いる場合は中間データ保持部６に保持した動き検出マップに従って、例えば、図２では動き領域は画像１の画素値を使用し、非動き領域は画像１と画像２の合成結果を使用する。
【００４５】
画像保持部８は、上記画像合成部７によって合成した画像をいったん保持する。
再処理部９では、ステータス監視部１０からの高画質化処理の実行指示を受けて、画像保持部８の画像データ（ビューア用画像）と中間データ保持部６の動き検出マップ（中間データ）を用いて高画質化処理を行う。具体的には、非動き領域には輪郭強調処理を行い、動き領域にはノイズ除去処理などを行う。
【００４６】
ステータス監視部１０は、撮像装置が組み込まれているディジタルカメラやカメラ付き携帯電話のステータスを監視し、予め設定した状態（例えば必要最低限のプログラムしか動作していないか、ＣＰＵ負荷が設定値以下であるかなど）を監視し、予め設定した状態に達したときは再処理部９に高画質化処理の実行指示を出す。
【００４７】
高画質化処理終了後、再処理部９は最終的に保存する高画質の画像を画像保持部８のビューア用画像に上書きして格納する。
次に動作説明をする。
【００４８】
図４に本発明の動作フロー図を示す。
ステップＳ４１では画像を連写撮影する。画像撮影部２により被写体を連続撮影して複数枚の撮影画像を取得し、撮影画像保持部３に保存する。
【００４９】
ステップＳ４２では画像を合成する。撮影画像保持部３に保存した複数の撮影画像を位置ずれ検出部４により位置ずれを検出して、被写体動き検出部５により位置を合わせた後の画像同士の画素値の差分を、予め設定した閾値と比較することにより被写体の動きを検出する。そして、画像合成部では後述する中間データ保持部６に保持した中間データ（動き検出マップ）に従って、画像合成処理を実施する。
【００５０】
ステップＳ４３（中間データ保持ステップ）では合成時の中間データを中間データ保持部６に保持する。
ステップＳ４４（画像合成ステップ）では合成画像を保持する。画像保持部８には画像合成部７で生成したビューア用画像をいったん保持する。利用者はビューア用画像を見ることができる。
【００５１】
ステップＳ４５（再処理ステップ）ではバックグランドにおいて中間画像を用いて保存した画像を高画質化処理する。検出結果保持部６に保存した中間データである動き領域、非動き領域の判定結果情報を用いてビューア用画像を高画質画像に変換する。このように中間データを保持しているため、高画質化処理時に動き領域、非動き領域の再判定を行うことなく動き領域、非動き領域とで異なる処理を行うことができる。処理として、例えば１）動き領域ではノイズ除去（ぼかし）、非動き領域では輪郭強調（シャープ化）をする。２）動き領域では微小動き領域の除去（非動き領域への変更）、非動き領域では何もしないなどが考えられる。
【００５２】
ステップＳ４６ではビューア用画像や中間データを削除して最終的に保存する高画質画像に更新する。
また、変形例としてバックグラウンドで実行する処理は、合成画像を格納している撮像
装置が予め定めたステータス状態になったときに自動的に実施することで、利用者の操作なしに、また、組み込み機器上で実施する他処理を圧迫することなく、処理を実施することができる。
【００５３】
例えば、携帯電話の場合、通話中や他プログラム実行中にはバックグラウンド処理を行わないことで他処理への負荷をかけることなく、最終的に保存する画像の高画質化を実現できる。
【００５４】
図５の動作フロー図を用いて動作説明をする。
ステップＳ５１ではステップＳ４１と同様に連写撮影をして複数画像を取得する。
ステップＳ５２では画像合成枚数を決定する。ステップＳ４２に示したように位置ずれ量を検出後に、動き領域と非動き領域を検出して、動き領域と非動き領域に画像合成情報を割付する。
【００５５】
ステップＳ５３ではステップＳ５２で決定した各領域の合成枚数に基づいて画像合成を実施する。ステップＳ５４では各画素の合成枚数を記憶する。
ステップＳ５５では全画素の走査を終了したかを判定する。全画素について画像合成が完了していればステップＳ５６に移行する。完了していなければステップＳ５２に移行する。
【００５６】
ステップＳ５６では上記ステップＳ５３で生成した合成画像であるビューア用画像と、生成の際に用いた中間データを保存する。
図１７に示す図は、図５のＳ５６や、後述する図７のＳ７６で出力する中間データの具体的なデータ例を示した図である。
【００５７】
図１７の上段のブロック図は、元画像１と元画像２を用いて画像合成部により合成してビューア画像を生成するとともに、元画像１と元画像２を用いて中間データ（動き検出マップ）を生成する構成を示した図である。
【００５８】
また、図１７の下段のデータは、元画像１の太線四角の範囲Ａ、元画像２の太線四角の範囲Ｂ、ビューア画像の太線四角の範囲Ｄの画素の値を表し、中間データの太線四角の範囲Ｃのデータは、動き領域を０、非動き領域を１としてフラグデータを表している。例えば、ビューア画像は、非動き領域であれば元画像１の値に、動き領域であれば元画像１と元画像２との中間値に基づき、画素の値を算出する。
【００５９】
ステップＳ５７では撮像装置のステータスを検出する。例えば、携帯電話の場合、電話の着信などユーザの操作なしに別処理が行われる場合がある。バックグラウンド処理中に撮像装置の状態が予め定めた状態に移行したときや、予め定めた状態でなくなったとき（バックグラウンド処理以外のスレッドが新規に起動したとき）などにバックグラウンド処理を中止、あるいは中断する。撮像装置のＣＰＵなどが空状態であれば最終的に保存する画像を作成するためにステップＳ５８に移行する。空状態でなければ他の処理が完了するまでステップＳ５７でループして待機する。
【００６０】
ステップＳ５８では最終的に保存する画像を作成する。
ステップＳ５９では中間データを削除し、ビューア用画像には保存する高画質画像を更新する。
【００６１】
上記により、バックグラウンド処理中に撮像装置の状態が予め定めた状態に移行したとき（例えば、電話の着信を受けたとき）や、予め定めた状態でなくなったとき（バックグラウンド処理以外のスレッドが新規に起動したとき）などにバックグラウンド処理を中止
、あるいは中断することで、負荷なしに新規処理（電話の通話など）を実行できる。
【００６２】
（実施例２）
図６に示す本発明である実施例２は、前述の中断の場合の途中結果を格納するワーク領域保持部６３を実施例１で説明した図３に追加した構成である。
【００６３】
再処理部６２は、画像合成装置を備えた撮像装置の動作状態を検出し、動作状態が予め設定された動作状態であるか否かを判定するステータス監視部１０から、判定結果を受信して予め設定した動作状態のときに高画質化処理をバックグラウンドで自動実行する。
【００６４】
つまり、高画質化処理実施中に利用者が撮像装置を操作することや電話の着信があった場合などに、ステータス監視部１０は中断信号を再処理部６２に出力する。再処理部６２は実施例１で説明した再処理部９と同じであるがワーク領域保持部６３を備えている（または接続されている）。そして、再処理部６２では中断信号を受けた場合、高画質化処理を中断あるいは中止する。中断の場合、途中経過をワーク領域保持部６３に保持しておき、再度、ステータス監視部１０から実行の指示を受けたときに処理を継続する。中止の場合は、途中結果を全て破棄し、ステータス監視部１０から再度実行の指示を受けたときには、最初から高画質化処理をやり直す。
【００６５】
次に、実施例２の動作について図７のフロー図を用いて説明する。
図７に示すステップＳ７１〜Ｓ７７は、図５に示したステップＳ５１〜Ｓ５７の処理と同じ処理である。
【００６６】
ステップＳ７８では再処理部６２において最終画像を作成するために動き領域と非動き領域ごとの画素に対して高画質にするための処理を行う。
ステップＳ７９では、最終的に保存する高画質画像の作成が完了したかを判断する。ビューア用画像の全ての画素に対して処理が完了したかを判定し、完了していればステップＳ７１１に移行する。完了していなければステップＳ７１０に移行する。
【００６７】
ステップＳ７１０では、ステータス監視部１０から中断信号が出力されているかを判定し、中断信号が出力されていればステップＳ７１２に移行する。中断信号が出力されていなければステップＳ７８に移行する。
【００６８】
ステップＳ７１１はステップＳ５９と同じである。
ステップＳ７１２では、再処理部６２（ワーク領域保持部６３）が中断信号を受けた場合、処理を中断あるいは中止し、中断の場合、途中経過をワーク領域保持部６３に保持しておき、再度、ステータス監視部１０から実行の指示を受けたときに処理を継続する。中止の場合は、途中結果を全て破棄し、ステータス監視部１０から再度実行の指示を受けたときには、最初から処理をやり直す。再処理部６２に出力する。
【００６９】
上記によりバックグラウンド処理中に撮像装置の状態が予め定めた状態に移行したとき（例えば、電話の着信を受けたとき）や、予め定めた状態でなくなったとき（バックグラウンド処理以外のスレッドが新規に起動したとき）などにバックグラウンド処理を中止、あるいは中断することで、負荷なしに新規処理（電話の通話など）を実行できる。
【００７０】
（実施例３）
図８に示す本発明である実施例３の画像処理部８１は、画像撮影部２、撮影画像保持部３、位置ずれ検出部４、被写体動き検出部５、画像合成部８２、中間データ付加部８３、画像保持部８４、再処理部９、ステータス監視部１０から構成される。撮影後に利用者に表示するビューア用画像処理とそのビューア用画像に基づいて最終的に保存する高画質画
像の生成を行う。
【００７１】
実施例３では、実施例１または実施例２に示した中間データ（動き検出マップなど）を別領域に保持せず画像合成部８２の有する中間データ付加部８３に送信し、中間データ付加部８３により画像合成部８２で合成した合成画像のヘッダ領域に中間データ（動き検出マップ）を格納して画像保持部８に保持する。つまり、中間データ保持部６を中間データ付加部８３に設けて中間データの保存場所をヘッダ領域にした構成とする。
【００７２】
このように、中間データは保存画像１のヘッダ領域に格納することで、中間データと保存画像１との対応関係を保持する管理ファイルなしに、中間データを管理することができる。
【００７３】
例えば、画像フォーマットであるＪＰＥＧやＥｘｉｆなどには、画像作成者が任意の情報を格納できる領域（コメントフィールド）があり、この領域をヘッダ領域として利用して中間データを格納することで、ファイルフォーマットを変更することなく互換性を維持したまま、中間データを保持することができる。
【００７４】
画像保持部８４は、画像保持部８と同じようにビューア用画像をいったん保存することができるが中間データを保持することもできる。
上記のようにすることにより、中間データ保持部６を設けなくてよいため、中間データと保存データとを対応づける管理テーブルや管理機構が不要になる。ハードウェアで構成する場合であれば回路規模を削減でき、ソフトウェアにより実現するのであればメモリサイズを小さくすることが可能である。
【００７５】
（実施例４）
図９、１０を用い本発明である実施例４の説明をする。実施例４に示す画像処理部９１は、実施例３に示した構成に、さらに画像が最終画像（高画質化処理された画像）かどうかを判定する最終画像判定部９２を有し、その判定結果に基づいた画像を画像表示部９３に表示する。
【００７６】
最終画像判定部９２は、画像保持部９４内に中間データ（動き検出マップ）があるかどうかを検出することで、最終画像かどうかを判定できる。最終画像でなかった場合、最終画像でないことを利用者に通知する。
【００７７】
本発明では、利用者が意識せずに高画質な保存画像を提供できるという効果がある。しかし、バックグラウンド処理前は、簡単な処理で生成したビューア用画像しか利用者に提示できないため、利用者はその画像を見て品質が悪いと評価してしまう可能性がある。そこで、画像表示時にバックグラウンド処理開始前の画像には、最終処理前であることを示すアイコンを表示する。中間データがあるか否かを検出し、中間データがある場合は最終画像前であることを利用者に通知する。
【００７８】
図１０に高画質画像を生成していないことを通知する例を示す。例えば、携帯電話であれば表示場面にアイコンなどを表示する（図１０では手形のアイコンを示している）。ここで、本例ではアイコンを示したがこれに限るものではなく利用者に通知することができればよい。
【００７９】
（実施例５）
次に、利用者にはその画像の最終品質を早く確認したいとの要求があると考えられ、操作キーあるいは表示メニューにバックグラウンド処理の即時処理実行を割り当て、利用者の操作でバックグラウンド処理と同様の高品質化のための高画質化処理を直ちに実施する
。
【００８０】
図１１を用いて本発明である実施例５の説明をする。実施例５では実施例４の構成にさらに再処理指示部１１３を設け、操作部１１２から利用者の指示に従って再処理指示部１１３は再処理部１１４に高画質化処理の指示をする。ここで、再処理部１１４は再処理部９と同じであるが再処理指示部１１３からの信号を受信して直ちにビューア用画像から高画質画像を生成する。
【００８１】
ここで、操作部１１２は操作キー（携帯電話やディジタルカメラなどの操作部（ボタンスイッチ））としてもよいし、画面に割り当てソフトウェアにより制御してもよい。
なお、図示しないが、操作による高画質化処理実行とステータス監視による高画質化処理実行を混在してもよい。利用者が指示する場合は直ちに高画質化処理を実行し、指示しないときは機器の状態が特定の状態になったときに自動的にバックグラウンドで処理を実行する。
【００８２】
なお、上記実施例１〜５において中間データが保持されるため、一時的に画像ファイルのデータ量が増加する。例えば、ＶＧＡ（６４０×４８０画素）の画像に動き領域検出結果を中間データとして格納する場合、１画素あたり１ビットの情報を格納するため、３８，４００バイト（３０７，２００ビット）の二値データを保持する必要がある。この分、ファイルサイズは増加する。
【００８３】
例えば、中間データが二値データであれば、単純なランレングス法などでデータ圧縮してもよい。また、中間データは、バックグラウンド処理が終了して最終画像が得られれば不要なデータであるので、バックグラウンド処理を実行し、終了した際の最終画像からは中間データを削除することで、最終的なファイルサイズの増加を抑えることができる。
【００８４】
（変形例）
次に、画像を位置合わせして重ね合わせることにより、ビューア用画像と高画質画像を得ることのできるアプリケーションについて説明する。例えば、（１）手ぶれ補正、（２）パノラマ化、（３）超解像などの処理によれば、複数画像の共通領域（重なり合う領域）から特徴点を抽出して、位置合わせをして合成する処理であるが、それぞれ目的が異なる。
【００８５】
（１）手ぶれ補正は、同一位置の画素を重ね合わせることで、短露光時間によって生じるノイズを低減する。（２）パノラマ化は、共通領域をのりしろに、広角画像を作成する。（３）超解像は、微妙にずれた画素を用いることで、高精度な補間画素を算出して高解像度化する。
【００８６】
このようにどの画像処理も、合成に用いる複数画像は同じ画像であることを前提にしている。被写体に動きがあった場合、多重化などの不具合が生じる、精度が落ちるなどの問題がある。
【００８７】
パノラマ化と超解像についても手ぶれ補正の場合と同様に、動き検出を行い、動き検出結果ほかを中間データとして保持し、バックグランドで中間データを用いて高品質化の処理を実施することが考えられる。
【００８８】
以下、パノラマ化の場合の例を示す。
パノラマ化では、共通領域をのりしろに画像を合成する。図１２に示すパノラマ合成の例では、元画像１（図１２（ａ））の左側と元画像２（図1（ｂ））の右側が共通領域になる（図1（ｃ））。共通領域を用いて２つの画像のずれ量を算出して合成すると、例え
ば図１２（ｄ）のように、車が切れてしまったような画像ができる。
【００８９】
そこで、共通領域の動き検出をし、共通領域は元画像1の左側、元画像２の右側とする。
図１３（ａ）の動き検出マップでは、影が左側面に達しているので、この動きのある被写体は２枚目画像にある物体であるということが分かる。そこで、動き領域（車）の線に沿って２枚目画像の動き領域範囲をくり抜いて、図1２（ｄ）のパノラマ合成画像の共通領域に上書きすれば、図１３（ｃ）のような、車が切れない不自然でない画像を作成することができる。
【００９０】
この場合、中間データとして保持する画像は、動き検出マップ（図１３（ａ））、２枚目共通領域（図１３（ｂ））になる。また、切り抜いて張り付けただけの場合、輪郭が浮かび上がるなどの不自然な画像になる可能性もあるので、重ね合わせの境界をぼかす（２画像の合成重みをゆるやかに変動させて合成する）などの処理をすれば、より自然な画像を作成することができる。
【００９１】
以下、超解像の場合の例を示す。
超解像での画像合成は、手ぶれ補正と同じである。図１４に示すように、解像度の高い画像を生成する。
【００９２】
図１４のように、動きがなければ問題ないが、被写体動きがある画像の場合、被写体動きのある領域が多重化する。また、画素の補間演算結果がおかしくなるなどの弊害が発生する。そのため、手ぶれ補正と同様、動きのある領域を検出し、非動き領域は２画像を用いて補間（フレーム間補間）を行い、動きのある領域は一方の画像のみを用いて補間（フレーム内補間）を行う。フレーム内補間はフレーム間補間よりも精度が低く、画像内に高品質な領域と高品質な領域が混在する。フレーム内補間の品質を上げるためには、複雑な処理（例えばバイキュービックによる補間など）を行う必要がある。
【００９３】
そこで、最初のステップでは図１４（ｃ）の動き領域は単純なコピーによる拡大を行い、図１５に示す動き検出マップを中間データとして保持する。ビューアの表示には縮小画像が用いられるため、共通領域がコピー拡大であっても、品質の差が分かりにくくなる。また、コピーなので、高速に処理を終了できる。後刻、動き検出マップを元に、動き領域の画素（コピー拡大された領域）からバイキュービックなどで精度の高い補間計算を行って動き領域の高品質化を行う。
【００９４】
また、ＰＣなどを利用して、上記実施例に示した動作やステップをソースとする所定のプログラム（多チャンネルデータ転送プログラム）を、メモリ（ＲＯＭなど）に保存し、起動時にコンピュータに書き込み、上記ステップを実行することができる。
【００９５】
また、単体のコンピュータ（ＣＰＵ、ＦＰＧＡなどの情報処理装置を含む）などを用い、上記実施例に示したステップをソースとする所定のプログラムを、メモリ（ＲＯＭなど）に保存し、起動時に該コンピュータに書き込み、上記ステップを実行することができる。
【００９６】
また、前述したようなフローチャートの処理を標準的なコンピュータ（例えば画像処理装置など）のＣＰＵに行わせるための制御プログラムを作成してコンピュータ読み取り可能な記録媒体に記録させておき、そのプログラムを記録媒体からコンピュータに読み込ませてＣＰＵで実行させるようにしても、本発明の実施は可能である。
【００９７】
記録させた制御プログラムをコンピュータシステムで読み取ることの可能な記録媒体の
例を図１６に示す。このような記録媒体としては、例えば、コンピュータシステム１６０に内蔵若しくは外付けの付属装置として備えられるＲＯＭやハードディスク装置などの記憶装置１６１、コンピュータシステム１６０に備えられる媒体駆動装置１６２へ挿入することによって記録された制御プログラムを読み出すことのできるフレキシブルディスク、ＭＯ（光磁気ディスク）、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなどといった携帯可能記録媒体１６３等が利用できる。
【００９８】
また、記録媒体は通信回線１６４を介してコンピュータシステム１６０と接続される、プログラムサーバ１６５として機能するコンピュータシステムが備えている記憶装置１６６であってもよい。この場合には、制御プログラムを表現するデータ信号で搬送波を変調して得られる伝送信号を、プログラムサーバ１６５から伝送媒体である通信回線１６４を通じてコンピュータシステム１６０へ伝送するようにし、コンピュータシステム１６０では受信した伝送信号を復調して制御プログラムを再生することでこの制御プログラムをコンピュータシステム１６０のＣＰＵで実行できるようになる。
【００９９】
また、本発明は、上記実施の形態に限定されるものでなく、本発明の要旨を逸脱しない範囲内で種々の改良、変更が可能である。
（付記１）
複数の画像を合成する画像合成装置であって、
少なくとも前記複数の画像に基づいて被写体の動き検出をした検出結果を、中間データとして保持する中間データ保持部と、
前記複数の画像に対して合成画像であるビューア用画像を生成する画像合成部と、
前記ビューア用画像を保持する画像保持部と、
前記ビューア用画像と前記中間データとを用い高画質画像を生成する高画質化処理をする再処理部と、
を具備することを特徴とした画像合成装置。
【０１００】
（付記２）
前記中間データは、
前記画像を合成枚数に応じて領域分けした領域情報を含むことを特徴とする付記１に記載の画像合成装置。
【０１０１】
（付記３）
前記再処理部は、
前記画像合成装置を備えた撮像装置の動作状態を検出し、前記動作状態が予め設定された動作状態であるか否かを判定するステータス監視部から、前記判定結果を受信して予め設定した動作状態のときに前記高画質化処理をバックグラウンドで実行することを特徴する付記１または２に記載の画像合成装置。
【０１０２】
（付記４）
前記高画質化処理は、
該高画質化処理を実行中に前記判定結果が予め設定した動作状態になったとき、高画質化処理を中止または中断し、
中止の場合は、途中結果を全て破棄し、前記ステータス監視部から再度実行の指示を受けたときに最初から高画質化処理をやり直し、
中断の場合途中経過を保持する、
ことを特徴する付記３に記載の画像合成装置。
【０１０３】
（付記５）
前記ビューア用画像および前記高画質画像を表示する画像表示部と、
前記中間データが存在するか否かを判断する最終画像判定部を備え、
最終画像判定部に中間データが存在しないと判断した場合に、前記画像表示部に前記高画質化処理が未完了であることを通知することを特徴する付記１または２に記載の画像合成装置。
【０１０４】
（付記６）
前記高画質化処理が未完了である場合に、即時に前記高画質化処理を実行するユーザインタフェースである再処理指示部を備えるためのことを特徴とする付記５に記載の画像合成装置。
【０１０５】
（付記７）
前記中間データ保持部を中間データ付加部として前記画像保持部に設け、前記画像保持部が保持した画像データにヘッダ領域があるとき、前記ヘッダ領域に前記中間データを保持することを特徴する付記１または２に記載の画像合成装置。
【０１０６】
（付記８）
前記ヘッダ領域に格納した前記中間データを前記高画質化処理が完了した後に削除することを特徴する付記７に記載の画像合成装置。
【０１０７】
（付記９）
複数の画像を合成する画像合成方法であって、
少なくとも前記複数の画像に基づいて被写体の動き検出をした検出結果を、中間データとして保持する中間データ保持ステップと、
前記複数の画像に対して合成画像であるビューア用画像を生成する画像合成ステップと、
前記ビューア用画像を保持する画像保持ステップと、
前記ビューア用画像と前記中間データとを用い高画質画像を生成する高画質化処理をする再処理ステップと、
を有することを特徴とした画像合成方法。
【０１０８】
（付記１０）
前記中間データは、
前記画像を合成枚数に応じて領域分けした領域情報を有することを特徴とする付記９に記載の画像合成方法。
【０１０９】
（付記１１）
前記再処理ステップは、
前記画像合成装置を備えた撮像装置の動作状態を検出し、前記動作状態が予め設定された動作状態であるか否かを判定するステータス監視部から前記判定結果を受信し、該判定結果が予め設定した動作状態のときに前記高画質化処理をバックグラウンドで実行することを特徴する付記９または１０に記載の画像合成方法。
【０１１０】
（付記１２）
前記高画質化処理は、
該高画質化処理を実行中に前記判定結果が予め設定した動作状態になったとき、高画質化処理を中止または中断し、
中止の場合は、途中結果を全て破棄し、前記ステータス監視部から再度実行の指示を受けたときに最初から高画質化処理をやり直し、
中断の場合途中経過を保持する、
ことを特徴する付記１１に記載の画像合成方法。
【０１１１】
（付記１３）
前記中間データのない場合に、前記高画質化処理が未完了であることを通知することを特徴する付記９または１０に記載の画像合成方法。
【０１１２】
（付記１４）
前記高画質化処理が未完了である場合に、即時に前記高画質化処理を実行する指示をすることを特徴とする付記１３に記載の画像合成方法。
【０１１３】
（付記１５）
画像データにヘッダ領域があるとき、前記ヘッダ領域に前記中間データを保持することを特徴する付記９または１０に記載の画像合成方法。
【０１１４】
（付記１６）
前記ヘッダ領域に格納した中間データを前記高画質化処理が完了した後に削除することを特徴する付記１５に記載の画像合成方法。
【０１１５】
（付記１７）
複数の画像を取得し合成画像を作成する画像処理装置のコンピュータに、
少なくとも前記複数の画像に基づいて被写体の動き検出をした検出結果を、中間データとして保持する中間データ保持ステップと、
前記複数の画像に対して合成画像であるビューア用画像を生成する画像合成ステップと、
前記ビューア用画像を保持する画像保持ステップと、
前記ビューア用画像と前記中間データとを用い高画質画像を生成する高画質化処理をする再処理ステップと、
をコンピュータに実行させることを特徴とする画像処理装置のプログラム。
【０１１６】
（付記１８）
前記中間データは、前記画像を合成枚数に応じて領域分けした領域情報を有することを特徴とする付記１７に記載の画像処理装置のプログラム。
【０１１７】
（付記１９）
前記再処理ステップは、
前記画像合成装置を備えた撮像装置の動作状態を検出し、前記動作状態が予め設定された動作状態であるか否かを判定するステータス監視部から前記判定結果を受信し、該判定結果が予め設定した動作状態のときに前記高画質化処理をバックグラウンドで自動実行することを特徴とする付記１８に記載の画像処理装置のプログラム。
【０１１８】
（付記２０）
前記高画質化処理は、
該高画質化処理を実行中に前記判定結果が予め設定した動作状態になったとき、高画質化処理を中止または中断し、
中止の場合は、途中結果を全て破棄し、前記ステータス監視部から再度実行の指示を受けたときに最初から高画質化処理をやり直し、
中断の場合途中経過を保持することを特徴とする付記２０に記載の画像処理装置のプログラム。
【０１１９】
（付記２１）
前記中間データのない場合に、前記高画質化処理が未完了であることを通知することを
特徴とする付記１７または１８に記載の画像処理装置のプログラム。
【０１２０】
（付記２２）
前記高画質化処理が未完了である場合に、即時に前記高画質化処理を実行することを特徴とする付記２１に記載の画像処理装置のプログラム。
【０１２１】
（付記２３）
画像データにヘッダ領域があるとき、前記ヘッダ領域に前記中間データを保持することを特徴する付記１７または１８に記載の画像処理装置のプログラム。
【０１２２】
（付記２４）
前記ヘッダ領域に格納した中間データは前記高画質化処理が完了した後に削除することを特徴する付記２３に記載の画像処理装置のプログラム。
【０１２３】
（付記２５）
前記高画質化処理は、
非動き領域には輪郭強調処理を行い、動き領域にはノイズ除去処理を行うことを特徴とする請求項１に記載の画像処理装置。
【０１２４】
（付記２６）
前記中間データは、
手ぶれ補正処理、パノラマ化処理、超解像処理により生成されたデータであることを特徴とする請求項１に記載の画像処理装置。
【図面の簡単な説明】
【０１２５】
【図１】本発明の原理を示す図である。
【図２】動き検出マップの原理を示す図である。
【図３】ディジタルカメラやカメラ付き携帯電話などに組み込まれる撮像装置の画像処理部の構成を示す図である。
【図４】実施例１の動作フローを示す図である。
【図５】実施例１の動作フローを示す図である。
【図６】実施例２の画像処理部の構成を示す図である。
【図７】実施例２の動作フローを示す図である。
【図８】実施例３の画像処理部の構成を示す図である。
【図９】実施例４の画像処理部の構成を示す図である。
【図１０】高画質画像を生成していないことを通知する例を示す図である。
【図１１】実施例５の画像処理部の構成を示す図である。
【図１２】パノラマ化の合成例を示す図である。
【図１３】パノラマ化の合成例を示す図である。
【図１４】超解像化の合成例を示す図である。
【図１５】動き検出マップを示す図である。
【図１６】制御システムを示すブロック図である。
【図１７】上段のブロック図は元画像１と元画像２を用いて画像合成部により合成してビューア画像を生成するとともに、元画像１と元画像２を用いて中間データ（動き検出マップ）を生成する構成を示した図であり、下段のデータは、元画像１の太線四角の範囲Ａ、元画像２の太線四角の範囲Ｂ、ビューア画像の太線四角の範囲Ｄの画素の値を表し、中間データの太線四角の範囲Ｃのデータは、動き領域を１、非動き領域を０としてフラグデータを表している。
【図１８】従来例を示す図である。
【符号の説明】
【０１２６】
１  画像処理部
２  画像撮影部
３  撮影画像保持部
４  位置ずれ検出部
５  被写体動き検出部
６  中間データ保持部
７  画像合成部
８  画像保持部
９  再処理部
１０  ステータス監視部
６１  画像処理部
６２  再処理部
６３  ワーク領域保持部
８１  画像処理部
８２  画像合成部
８３  中間データ付加部
８４  画像保持部
９１  画像処理部
９２  最終画像判定部
９３  画像表示部
９４  画像保持部
１１２  操作部
１１３  再処理指示部
１１４  再処理部
１６０  コンピュータシステム
１６１  記憶装置
１６２  媒体駆動装置
１６３  携帯可能記録媒体
１６４  通信回線
１６５  プログラムサーバ
１６６  記憶装置
【図１】
2008301043.tif 000003
【図３】
2008301043.tif 000004
【図４】
2008301043.tif 000005
【図５】
2008301043.tif 000006
【図６】
2008301043.tif 000007
【図７】
2008301043.tif 000008
【図８】
2008301043.tif 000009
【図９】
2008301043.tif 000010
【図１０】
2008301043.tif 000011
【図１１】
2008301043.tif 000012
【図１５】
2008301043.tif 000013
【図１６】
2008301043.tif 000014
【図２】
2008301043.tif 000015
【図１２】
2008301043.tif 000016
【図１３】
2008301043.tif 000017
【図１４】
2008301043.tif 000018
【図１７】
2008301043.tif 000019
【図１８】
2008301043.tif 000020