(57)【要約】【課題】撮像装置の省メモリ化および画像処理を高速化することのできる技術を提供する。【解決手段】撮像装置１において、ＪＰＥＧ符号化部３が、撮像素子から取得した複数の画像データについてそれぞれ圧縮してＪＰＥＧデータを作成する。符号保持部４が、複数のＪＰＥＧデータを保持する。サムネイル作成部５が、画像データからサムネイルを作成する。サムネイル保持部６が、サムネイルを保持する。特徴点検出部７が、サムネイルから特徴点を抽出する。部分画像復号部８が、複数のＪＰＥＧデータの中から特徴点を含む領域についてそれぞれ復号する。ずれ量算出部１０が、復号された各領域における特徴点の位置情報を取得し、位置情報に基づいて複数のＪＰＥＧデータ間のずれ量を算出する。【選択図】図１
2008042657.tif 000002
【特許請求の範囲】
【請求項１】
撮像素子から取得した複数の画像データについてそれぞれ圧縮して圧縮データを作成する圧縮手段と、
前記複数の圧縮データを保持する圧縮データ保持手段と、
前記画像データからサムネイルを作成するサムネイル作成手段と、
前記サムネイルを保持するサムネイル保持手段と、
前記サムネイルから特徴点を抽出する抽出手段と、
前記複数の圧縮データの中から前記特徴点を含む領域についてそれぞれ復号する復号手段と、
前記復号された各領域における前記特徴点の位置情報を取得し、該位置情報に基づいて前記複数の圧縮データ間のずれ量を算出する算出手段と
を備えたことを特徴とする撮像装置。
【請求項２】
前記サムネイル作成手段は、前記複数の圧縮データのうちの１つの圧縮データに対応する１つのサムネイルを作成する
ことを特徴とする請求項１記載の撮像装置。
【請求項３】
前記復号手段は、前記サムネイルに対応する圧縮データから復号する領域よりも、該圧縮データ以外の圧縮データから復号する領域を大きくとる
ことを特徴とする請求項２記載の撮像装置。
【請求項４】
前記サムネイル作成手段は、前記第１および第２の圧縮データにそれぞれ対応する第１および第２のサムネイルを作成し、
前記抽出手段は、前記第１および第２のサムネイルから前記特徴点をそれぞれ抽出し、
前記復号手段は、前記第１および第２のサムネイルから抽出した特徴点間の位置のずれに基づいて、前記第１および第２の圧縮データから、各特徴点を含む領域について復号する
ことを特徴とする請求項１記載の撮像装置。
【請求項５】
前記復号手段により復号される領域は、８Ｍ×８Ｎ画素（Ｍ，Ｎは自然数）から構成される
ことを特徴とする請求項１記載の撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置に関し、特に、画像間のずれを補正するための技術に関する。
【背景技術】
【０００２】
従来から、デジタルカメラで撮影した複数の静止画像を合成する際に、画像間のずれを補正するための各種技術が提供されてきている。手振れによる画像間のずれを補正する技術は、暗所で撮影した画像を処理するのに適している。これは、暗所においては撮影に要する露光時間が長くなるために、より手振れが生じ易いためである。具体的には、手振れをハードウェアにより補正する方法と、ソフトウェアにより補正する方法とがある。ハードウェアにより手振れを補正する方法としては、レンズを実際の移動方向と逆に動かすレンズシフト方式やＣＣＤ（Charge Coupled Device）シフト方式等がある。
【０００３】
ソフトウェアにより手振れを補正する技術に関しては、入力された画像を複数段階に縮小し、より下層レベル縮小画像を使って大まかに求めた大域移動量を利用して、上層レベルで局所移動量を求める際の走査ブロックを構築することにより、２枚目の画像上に設定する走査ブロックを小さくすることのできる技術について提供されている（例えば、特許文献１）。また、複数の画像データを用いて合成処理を行う場合に、合成画像それぞれにサムネイルを作成して格納することにより、複数のデジタル画像データからの合成処理を高速化することのできる技術についても提供されている（例えば、特許文献２）。
【０００４】
ここで、ソフトウェアによる手振れ補正技術のうち、従来における画像間のずれ量算出方法に関して更に説明する。図１７は、従来技術に係るずれ量算出処理を示したフローチャートである。図１７のフローチャートに示すように、従来は、複数の画像についてずれ量を算出してからずれを補正して合成画像を作成する際に、撮像装置から取得した複数の画像データをメモリに取得して、それぞれの画像における特徴点（エッジ）を検出することにより、ずれ量を算出していた。
【０００５】
この他、ソフトウェアを用いた手振れ補正技術に関しては、手振れをソフトウェアで検出する技術等が提供されている（例えば、特許文献３）。
【特許文献１】特開２００４−３４３４８３号公報
【特許文献２】特開２００４−２３４６２４号公報
【特許文献３】特開２００５−１９７９１１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記レンズシフト方式やＣＣＤシフト方式は、いずれもレンズやＣＣＤ等のハードを移動させるためのハードウェアをカメラに追加する必要があり、コスト高となるという問題がある。また、これらの手振れ補正のための手段は、衝撃に弱く故障し易いという問題がある。
【０００７】
ソフトウェアにより手振れ補正方法に関しては、上記の通り、１枚目の画像と２枚目の画像とを合成する前に各画像を位置合わせする必要がある。そこで、例えば１枚目の画像から特徴点を抽出して２枚目の画像におけるその特徴点に対応する位置を求め、画像間の位置の差分からずれ量を算出する。かかるずれ量算出方法においては、特徴点の抽出やこれに対応する位置の検出については画像全体について処理する必要がある。しかし、デジタルカメラの高画素化により、複数枚の画像を格納するためのメモリも大規模化する傾向にあり、コスト高の要因となっている。また、デジタルカメラの高画素化に伴い、手振れ補正のための処理量も増大することにより、処理に要する時間が長期化するという問題がある。
【０００８】
本発明は、撮像装置の省メモリ化および画像処理を高速化することのできる技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明に係る撮像装置は、撮像素子から取得した複数の画像データについてそれぞれ圧縮して圧縮データを作成する圧縮手段と、前記複数の圧縮データを保持する圧縮データ保持手段と、前記画像データからサムネイルを作成するサムネイル作成手段と、前記サムネイルを保持するサムネイル保持手段と、前記サムネイルから特徴点を抽出する抽出手段と、前記複数の圧縮データの中から前記特徴点を含む領域についてそれぞれ復号する復号手段と、前記復号された各領域における前記特徴点の位置情報を取得し、該位置情報に基づいて前記複数の圧縮データ間のずれ量を算出する算出手段とを備えた構成とする。
【００１０】
合成すべき複数の画像については、圧縮して保持する。ずれ量の算出には、まずサムネイルから予め特徴点を抽出しておき、圧縮データのうち、サムネイルから抽出した特徴点に対応する領域のみ復号する。復号されたデータを用いて圧縮データごとに特徴点の位置情報を取得し、ずれ量を算出する。ずれ量を算出するための処理を全て画像全体について行う必要がなく、また、処理中一時的に保持されるデータは圧縮データであるため、ずれ量算出のために確保すべきメモリ容量を小さく抑えることができ、また、処理速度を向上させることができる。
【００１１】
前記サムネイル作成手段は、前記複数の圧縮データのうちの１つの圧縮データに対応する１つのサムネイルを作成することとしてもよい。この場合、前記復号手段は、前記サムネイルに対応する圧縮データから復号する領域よりも、該圧縮データ以外の圧縮データから復号する領域を大きくとることが好ましい。
【００１２】
あるいは、前記サムネイル作成手段は、前記第１および第２の圧縮データにそれぞれ対応する第１および第２のサムネイルを作成し、前記抽出手段は、前記第１および第２のサムネイルから前記特徴点をそれぞれ抽出し、前記復号手段は、前記第１および第２のサムネイルから抽出した特徴点間の位置のずれに基づいて、前記第１および第２の圧縮データから、各特徴点を含む領域について復号することとしてもよい。
【００１３】
更には、前記復号手段により復号される領域は、８Ｍ×８Ｎ画素（Ｍ，Ｎは自然数）から構成されることとしてもよい。例えば圧縮データがＪＰＥＧ（Joint Photographic Experts Group）フォーマットである場合等に、無駄な処理を排して高速化を図ることができる。
【発明の効果】
【００１４】
本発明によれば、撮像装置において複数の画像を合成する処理を実行する際に、確保すべきメモリ容量を小さく抑え、また、処理を高速化することが可能とされる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の好適な実施の形態について、図面を参照しながら詳細に説明する。
図１は、本発明に係る撮像装置のブロック図である。図１の撮像装置１は、単独であるいは携帯電話に組み込まれて使用され、連続して撮影した画像間のずれを補正するための手振れ補正機能を備えている。撮像装置１は、ＣＣＤカメラ２、符号化部３、符号保持部４、サムネイル作成部５、サムネイル保持部６、特徴点検出部７、部分画像復号部８、部分画像保持部９およびずれ量算出部１０を含んで構成される。
【００１６】
ＣＣＤカメラ２は、被写体を撮影する。符号化部３は、例えばＣＣＤカメラ２において取得した生データをＪＰＥＧ、ＰＮＧ（Portable Network Graphics）、ＴＩＦＦ（Tagged Image File Format）等の圧縮データに変換する。以下、ＪＰＥＧフォーマットのデータに変換する例について説明する。符号保持部４は、符号化部３において符号化したデータを保持する。
【００１７】
サムネイル作成部５は、生データからサムネイルを作成する。サムネイル保持部６は、作成したサムネイルを保持する。特徴点検出部７は、サムネイルから特徴点を抽出する。
部分画像復号部８は、特徴点検出部７において検出された、サムネイル中の特徴点についての情報を基に、符号化データを部分的に復号する。部分画像保持部９は、復号した部分画像のデータを保持する。ずれ量算出部１０は、復号した部分画像データを用いて、符号保持部４に保持されている画像間のずれ量を算出する。
【００１８】
なお、図１においては、手振れ補正処理に関する構成を示しており、他の構成については割愛している。例えば、ずれ量算出部１０において符号化データ間のずれ量を算出すると、算出結果は不図示の画像合成部に与えられ、符号保持部４に保持されている複数の符号化データについて、手振れ補正された合成画像が作成される。
【００１９】
図２は、撮像装置１による手振れ補正処理を示したフローチャートである。まず、ステップＳ１で複数の画像を撮影する。複数の画像とは、例えば、２枚以上の写真を連写等して得られた画像を言う。ステップＳ２で、画像中の像のずれ量を算出する。図１において述べたように、本実施形態においては、複数のＪＰＥＧデータ間のずれ量を、サムネイルから抽出した特徴点を基に算出する。ステップＳ３で、ＪＰＥＧデータ間のずれを補正して、合成画像を作成し、処理を終了する。
【００２０】
このように、図１に示す撮像装置１は、ずれ量算出処理（ステップＳ２の処理）においてはＪＰＥＧデータ全体をまとめて復号して画像間の比較を行うのではなく、符号化データを部分的に復号して使用する。また、画像合成処理（ステップＳ３の処理）においてはＪＰＥＧデータ同士を合成する。以下、ずれ量の算出方法について、具体的に説明する。
【００２１】
図３は、複数の画像データからずれ量を算出する処理の概要を説明するための図である。撮像装置１から２枚の画像を連続して取得した場合を示している。１枚目画像と２枚目画像とでは、通常は手振れ等が生じるため、画像中の像の位置座標は完全には一致しない。このため、像の位置座標の不一致を考慮せずに単純に画像を重ね合わせると、像が多重化することになる。そこで、合成画像において多重化のないシャープな像を得るために、１枚目画像と２枚目画像とで像の位置のずれ量を求め、例えば１枚目画像に２枚目画像が重なるように、２枚目画像をずれ量分移動させてから合成する。
【００２２】
図４は、特徴点の位置からずれ量を算出する処理を説明するための図である。ここでは、特徴点が４点抽出された場合を例に説明する。
図４中では左側に示す画像において４つの特徴点Ｔ１、Ｔ２、Ｔ３およびＴ４の位置座標を求めると、図４中では右側に示す画像において、左側に示す画像の特徴点Ｔ１〜Ｔ４にそれぞれ対応する特徴点Ｔ１´〜Ｔ４´とすると、各特徴点のずれ量ΔＴｉ（ｉ＝１、２、３および４）は、ＴｉおよびＴｉ´の相対座標で表される。
【００２３】
図４においては、２つの画像間で並進および回転によるずれが生じている場合を示している。画像間のずれが平行移動のみで補正できる場合は各特徴点についてずれ量（ｄｘｉ、ｄｙｉ）を求める。回転移動も含む場合は、例えばアフィン変換係数を用いてずれ量を求める。
【００２４】
図５は、部分画像の復号処理の概要を説明するための図である。本実施形態においては、上記特徴点をサムネイルから抽出する。そして、サムネイルから抽出された特徴点に対応する箇所を、合成すべき圧縮データであるＪＰＥＧデータから求め、その部分周辺についてのみ複合する。復号した部分画像からそれぞれ特徴点を求め、図４を参照して述べたように各特徴点の位置を比較することにより、１枚目画像と２枚目画像とのずれ量を算出する。
【００２５】
なお、図４および図５の例においては特徴点が４つの場合について説明したが、当然これには限定されない。しかし、より多くの特徴点を用いてずれ量を算出することで、１枚目画像と２枚目画像との間で対応付ける特徴点の取り違え等によるずれ量算出の精度の低下を防止することができる。
【００２６】
図６は、本実施形態に係る手振れ補正処理において使用するデータを説明するための図である。図６中、上段にはＣＣＤカメラ２が取得した画像データを圧縮（符号化）してＪＰＥＧデータを得る処理を、下段には、ＣＣＤカメラ２が取得した画像データからサムネイルを作成する処理を示す。図６の例においては、下段右側のサムネイルは、２枚の画像のうち一方、ここでは１枚目画像についてのみ作成される場合を示している。
【００２７】
１枚の生データの容量を約６ＭＢとすると、圧縮率を１／１０とすると、３枚の画像を合成するために必要なメモリは６×（１／１０）×３＝１．８ＭＢとなる。従来においては合成画像を作成するためには生データをメモリに一時保持しており、そのためには６×３＝１８ＭＢの容量が必要であった場合と比較して、省メモリ化されている。また、サムネイルについても、例えば１２８×９６画素の大きさであるため、手振れ補正処理を実行するために確保しておくべきメモリ容量が小さく抑えられる。
【００２８】
図７は、画像間のずれ量を算出するまでの流れを示した図である。図中の画像１および２はそれぞれＪＰＥＧデータの１枚目画像および２枚目画像に相当し、サムネイルは、画像１を作成する基とされた生データを用いて作成されていることとする。
【００２９】
１枚目画像および２枚目画像について、それぞれ所定の大きさのブロック単位で取り出して復号し、ソーベル（Sobel）フィルタ等の公知技術を用いて画像中のエッジを検出する。検出されたエッジについて、更にサムネイルの特徴点に対応する点が存在するか否かについて判定し、復号データ中の特徴点を抽出する。
【００３０】
ある特徴点についての１枚目画像および２枚目画像中における位置座標は、他のエッジから抽出された特徴点と比較して、互いに近接していると考えることができる。このことを利用して、実施例では、１枚目画像から特徴点が抽出されると、２枚目画像中のこれに対応する部分を検索して、２枚目画像における特徴点を抽出している。
【００３１】
２枚目画像から取り出す特徴点近傍の部分画像については、１枚目画像から取り出した部分画像よりも大きく設定しておくことが好ましい。すなわち、１ブロックの大きさの１枚目画像から抽出された特徴点について２枚目画像から抽出するには、１枚目画像と同様に１つの画像を複数に分割して部分的に復号して特徴点を検索する必要がある。しかし、手振れにより１枚目画像と２枚目画像との間で像の位置にずれがある場合は、同じ大きさの画素を取り出していては２枚目画像から対応する特徴点が検出されない場合があるため、２枚目画像については１枚目よりも取り出す画素を大きくするものである。
【００３２】
なお、図７においては画像全体を示しているが、実際は、上記の通りブロック単位でデータを取り出して、ブロックごとに処理を行っている。
図８は、サムネイルから圧縮データの部分画像を取り出す処理を説明するための図である。１枚目の圧縮データに対応するサムネイルから特徴点を４点抽出したとする。このうち、１つの特徴点Ｒ１（ｘ１、ｙ１）について例に取って説明する。
【００３３】
１枚目画像および２枚目画像の符号化データうち、それぞれ特徴点Ｒ１に相当する領域を取り出す。このとき、２枚目画像から取り出す部分画像の領域に関し、２つの画像間では像の位置にずれがあるため、必ずしも１枚目画像と同一の領域内に特徴点があるとは限らない点を考慮に入れて、１枚目画像の部分画像の領域よりも広く取ることが好ましい。
【００３４】
図９は、圧縮データの部分画像間で特徴点を比較する処理を説明するための図である。それぞれの圧縮データから、サムネイルの特徴点Ｒ１に対応する特徴点Ｔ１およびＴ１´を抽出する。そして、図８を参照して説明したように、サムネイルと対応付けられていない方の圧縮データについては、より広い領域から部分画像として復号化すべき範囲を指定する。
【００３５】
範囲を指定された部分についてのみ復号し、１枚目と２枚目とで比較をする。残りの３つの特徴点Ｒ２、Ｒ３、Ｒ４についても同様の処理を行い、２枚目画像が１枚目画像と重ねるために移動させるべき量、すなわちずれ量を算出する。
【００３６】
図１０は、サムネイルを１枚作成する場合におけるずれ量算出のための処理全体を示したフローチャートである。図１０に示す一連の処理は、例えばＣＣＤカメラ２から連続して画像データを取得したことを認識すると、これを契機として開始される。
【００３７】
まず、ステップＳ１１で、取得した複数の画像データについて、圧縮データを作成してメモリに格納する。ステップＳ１２で、１枚目画像についてのサムネイルを作成し、メモリに格納する。
【００３８】
ステップＳ１３で、サムネイルから特徴点（Ｒｎ）を抽出する。ソーベルフィルタを用いてエッジを検出し、そのエッジから特徴点を抽出する処理については、上記の通りである。
【００３９】
ステップＳ１４で、サムネイルから抽出された特徴点Ｒｎに対応する位置付近を、圧縮データである１枚目画像および２枚目画像から、部分的に復号化する。ステップＳ１５で、復号化した１枚目画像についての部分画像から、特徴点（Ｔｎ）を抽出する。そして、ステップＳ１６で、１枚目画像から抽出した特徴点Ｔｎが、２枚目画像においてはどの位置にあるか探索する。
【００４０】
ステップＳ１７で、サムネイルから抽出された全ての特徴点Ｒｎについて、圧縮データ中の位置を求め終えたか否かを判定する。全ての特徴点Ｒｎについて処理が完了していない場合は、ステップＳ１４に戻り、全特徴点Ｒｎに対応する圧縮データ中の特徴点の位置を求め終えるまで処理を繰り返す。
【００４１】
全特徴点Ｒｎについて処理が完了した場合は、ステップＳ１７からステップＳ１８に進み、先にステップＳ１５およびステップＳ１６で求めた結果に基づいて、ずれ量を算出し、処理を終了する。
【００４２】
図１１は、符号化処理を示したフローチャートであり、上記ステップＳ１１で格納される、ＪＰＥＧデータを作成する処理を具体的に示している。なお、図１１の処理は、一般的な符号化処理を示すものである。
【００４３】
まず、ステップＳ２１で、ＣＣＤカメラ２において取得したデータが図１の符号化部３に入力され、ステップＳ２２で、入力された画像データを縦８×横８画素に分割する。このステップＳ２２の処理については、後述する。そして、ステップＳ２３で、２次元ＤＣＴ変換（Discrete Cosine Transform）により、分割した８×８のブロック単位で周波数領域に変換する。ステップＳ２４で、線型量子化して情報量を落とし、ステップＳ２５で、ハフマン符号化によりエントロピー符号化を行い、ステップＳ２６で得られた符号を出力する。ステップＳ２７で、８×８に分割した全ブロックについて符号化が終了したか否かを判定し、全ブロックについて符号化が完了するまで、ブロックごとにステップＳ２２からステップＳ２６の処理を繰り返す。全ブロックについて符号化を終えると、処理を終了する。
【００４４】
図１２は、復号化処理を示したフローチャートであり、上記ステップＳ１４の処理を詳細に示すものである。
まず、ステップＳ３１で、符号データが入力されると、ステップＳ３２で、サムネイルの特徴点Ｒｎの位置等を示す特徴点情報を格納したメモリ領域のアドレスが部分画像復号部８に入力される。
【００４５】
ステップＳ３３で、ブロック単位でハフマン復号を行い、ステップＳ３４で、線型逆量子化し、ステップＳ３５で、２次元逆ＤＣＴ変換する。そして、ステップＳ３６で、復号した８×８のブロックはステップＳ３２のアドレスが指す領域に格納された特徴点近辺であるか否かを判定する。すなわち、サムネイルから抽出された特徴点Ｒｎに対応する特徴点Ｔｎが、復号されたブロック中に含まれるか否かを判定する。ブロック中に特徴点Ｔｎが抽出された場合は、ステップＳ３７で復元画像を部分画像として出力するが、特徴点Ｔｎが検出されなかった場合は、特に処理を行わない。
【００４６】
そして、ステップＳ３８に進み、全符号データについて、復号処理が完了したか否かを判定する。復号処理が未実行のブロックが存在する場合はステップＳ３３に戻り、全ブロックについてステップＳ３３からステップＳ３７の一連の処理を実行する。全てのブロックについて復号処理が完了すると、処理を終了する。
【００４７】
図１１および図１２の符号化／復号化処理においては、８×８画素を１ブロックとして処理している。次に、部分画像の大きさについて説明する。
図１３は、ＪＰＥＧのブロックと特徴点近傍領域とを模式的に示した図である。ＪＰＥＧフォーマットのデータは、ラスタスキャン方式で符号化／復号化される。このため、例えば図１３において斜線部分から特徴点が抽出されたとする。このとき、斜線部分は水平方向０番ブロックから２番ブロックにかかるため、０番から２番のブロックの部分画像についてのみ保持し、３番ブロックより右側の部分画像については、ずれ量算出には使用しない領域であると判断して破棄することができる。これにより、省メモリ化を図ることが可能とされる。
【００４８】
更には、ＪＰＥＧデータの処理の起点と特徴点近傍領域の始点とが一致し、且つ特徴点近傍領域はＪＰＥＧのブロックサイズ（８×８画素）の倍数で表されるサイズ（８Ｍ×８Ｎ、Ｍ，Ｎは自然数）であることが好ましい。例えば復号領域の縦方向をＪＰＥＧのブロックサイズと一致させ、横方向をそれの整数倍とすることで、復号したデータに特徴点が含まれる場合、処理すべきデータ量を最低限に抑制することが可能となる。言い換えると、図１３の例のように、復号領域のサイズがＪＰＥＧのブロックサイズと無関係に設定されている場合は、ある範囲を取り出して復号するためには縦方向は０列から２列目、横方向は０番から２番のＪＰＥＧのブロックを復号する必要がある。例えば続けて同サイズを復号して特徴点を調べるためには、縦方向に関しては２列目のブロック、横方向は２番のブロックについて、再度復号する必要があり、処理量が多くなる。そこで、復号領域をＪＰＥＧのブロックサイズと一致させることにより、処理すべきデータ量を抑制し、処理の高速化を図ることができる。
【００４９】
なお、一度に復号すべき領域の範囲に関して、横方向については（上記Ｎの値を）大きめに取ることが好ましい。１つの復号領域からずれ量を求めることで、複数に分割された復号領域からずれ量を求める場合と比較して、より正確にずれ量を求め得る。
【００５０】
上記実施形態に係るずれ量算出方法によれば、手振れ補正のために合成すべき画像データは、ＪＰＥＧ等の圧縮データが使用される。このため、手振れ補正処理のために確保しておくべきメモリ容量を小さく抑えることが可能とされる。また、圧縮画像間の像のずれ量を算出するために、予めサムネイルを用いて特徴点を抽出しておき、圧縮データ中におけるその特徴点に相当する部分について復号してずれ量を算出している。圧縮データ全体を復号する必要がないため、かかる処理のために要するメモリ領域を小さくすることができる。更には、サムネイルから抽出した特徴点の位置に基づいて、圧縮データの復号すべき領域を検索することが可能であるため、処理の高速化を図ることができる。
【００５１】
以上、１枚のサムネイルを用いて特徴点を抽出し、ずれ量を求める方法について説明してきた。次に、サムネイルが複数存在する場合のずれ量算出方法ついて説明する。
図１４は、第２の実施形態に係る手振れ補正処理において使用するデータを説明するための図である。図１４中、上段は図６の上段と同様、圧縮データであるＪＰＥＧデータを表しており、上記の実施形態と同様である。図１４の下段には、ＣＣＤカメラ２から取得した画像データごとに作成したサムネイルを示す。
【００５２】
図１５は、第２の実施形態に係るずれ量算出方法を説明するための図である。画像データごとに作成したサムネイルについて、それぞれ特徴点Ｒｎを抽出するための処理を実行する点で上記実施形態と異なる。
【００５３】
すなわち、１枚目画像および２枚目画像に対応するサムネイル１および２について、それぞれ特徴点ＲｎおよびＲｎ´を抽出する。そして、１枚目画像のＪＰＥＧデータについては、サムネイル１から抽出した特徴点Ｒｎに対応する特徴点Ｔｎを求め、２枚目画像のＪＰＥＧデータについては、サムネイル２から抽出した特徴点Ｒｎに対応する特徴点Ｔｎ´を求める。
【００５４】
図１６は、サムネイルを２枚作成する場合におけるずれ量算出のための処理全体を示したフローチャートである。図１０に示す処理と異なる点を中心に説明する。
ステップＳ４１において１枚目画像および２枚目画像について圧縮データを作成し、メモリに格納する処理はステップＳ１１と同様である。ステップＳ４２で、１枚目画像および２枚目画像それぞれに対応するサムネイル（サムネイル１および２）を作成し、メモリに格納する。ステップＳ４３で、サムネイル１および２からそれぞれ特徴点ＲｎおよびＲｎ´を抽出する。そして、ステップＳ４４で、サムネイル１と２との間で特徴点間のずれ量を算出する。
【００５５】
ステップＳ４５で、２つのサムネイルから抽出された特徴点間の対応付けに基づいて、１枚目画像および２枚目画像の圧縮データからそれぞれ対応する領域を復号する。ステップＳ４６以降の処理は、図１０のステップＳ１５以降の処理にそれぞれ対応している。なお、ステップＳ４６において１枚目画像から求められた特徴点Ｔｎに対応する２枚目画像の特徴点Ｔｎ´を探索する処理（ステップＳ４７の処理）においては、先にステップＳ４４でサムネイル間の特徴点ＲｎおよびＲｎ´について求めたずれ量を参照して行う点で第１の実施形態と異なる。
【００５６】
このように、第２の実施形態に係るずれ量算出方法によれば、画像データごとにサムネイルを作成し、サムネイルから抽出した特徴点からサムネイル間のずれ量を予め算出しておく。そして、算出したサムネイル間のずれ量に基づいて、圧縮データにおける特徴点を探索する。サムネイルは比較的容量が小さいため、上記第１の実施形態における省メモリ化の効果を失わずに、ずれ量算出処理の精度を向上させることができる。
【００５７】
なお、上記においては連写により得られた複数の静止画像のずれ量を求めて手振れを修正する方法について述べているが、これには限らない。例えば、パノラマ写真等を撮影するためのモザイキングにおいても上記の技術を利用することが可能である。モザイキングをするためには画像を統合する前にデータを一時的に保持しておく必要があるが、圧縮データを使用することで、確保しておくべきメモリ容量を小さくすることができる。
【００５８】
（付記１）
撮像素子から取得した複数の画像データについてそれぞれ圧縮して圧縮データを作成する圧縮手段と、
前記複数の圧縮データを保持する圧縮データ保持手段と、
前記画像データからサムネイルを作成するサムネイル作成手段と、
前記サムネイルを保持するサムネイル保持手段と、
前記サムネイルから特徴点を抽出する抽出手段と、
前記複数の圧縮データの中から前記特徴点を含む領域についてそれぞれ復号する復号手段と、
前記復号された各領域における前記特徴点の位置情報を取得し、該位置情報に基づいて前記複数の圧縮データ間のずれ量を算出する算出手段と
を備えたことを特徴とする撮像装置。
（付記２）
前記算出されたずれ量に基づいて補正された、前記複数の圧縮データを合成する合成手段と、
を更に備えたことを特徴とする付記１記載の撮像装置。
（付記３）
前記サムネイル作成手段は、前記複数の圧縮データのうちの１つの圧縮データに対応する１つのサムネイルを作成する
ことを特徴とする付記１記載の撮像装置。
（付記４）
前記復号手段は、前記サムネイルに対応する圧縮データから復号する領域よりも、該圧縮データ以外の圧縮データから復号する領域を大きくとる
ことを特徴とする付記３記載の撮像装置。
（付記５）
前記サムネイル作成手段は、前記第１および第２の圧縮データにそれぞれ対応する第１および第２のサムネイルを作成し、
前記抽出手段は、前記第１および第２のサムネイルから前記特徴点をそれぞれ抽出し、
前記復号手段は、前記第１および第２のサムネイルから抽出した特徴点間の位置のずれに基づいて、前記第１および第２の圧縮データから、各特徴点を含む領域について復号する
ことを特徴とする付記１記載の撮像装置。
（付記６）
前記復号手段により復号される領域は、８Ｍ×８Ｎ画素（Ｍ，Ｎは自然数）から構成される
ことを特徴とする付記１記載の撮像装置。
（付記７）
前記復号手段は、ＹＵＶフォーマットからなる圧縮データのうち、輝度信号成分についてのみ復号する
ことを特徴とする付記１記載の撮像装置。
（付記８）
複数の画像間のずれ量を算出するためのずれ量算出プログラムであって、
撮像素子から取得した複数の画像データについてそれぞれ圧縮して圧縮データを作成して保持し、
前記画像データからサムネイルを作成して保持し、
前記サムネイルから特徴点を抽出し、
前記複数の圧縮データの中から前記特徴点を含む領域についてそれぞれ復号し、
前記復号された各領域における前記特徴点の位置情報を取得し、該位置情報に基づいて前記複数の圧縮データ間のずれ量を算出する
からなる処理をコンピュータに実行させることを特徴とするずれ量算出プログラム。
【図面の簡単な説明】
【００５９】
【図１】本発明に係る撮像装置のブロック図である。
【図２】手振れ補正処理を示したフローチャートである。
【図３】複数の画像データからずれ量を算出する処理の概要を説明するための図である。
【図４】特徴点の位置からずれ量を算出する処理を説明するための図である。
【図５】部分画像の復号処理の概要を説明するための図である。
【図６】第１の実施形態に係る手振れ補正処理において使用するデータを説明するための図である。
【図７】画像間のずれ量を算出するまでの流れを示した図である。
【図８】サムネイルから圧縮データの部分画像を取り出す処理を説明するための図である。
【図９】圧縮データの部分画像間で特徴点を比較する処理を説明するための図である。
【図１０】第１の実施形態に係るずれ量算出処理を示したフローチャートである。
【図１１】符号化処理を示したフローチャートである。
【図１２】復号化処理を示したフローチャートである。
【図１３】ＪＰＥＧのブロックと特徴点近傍領域とを模式的に示した図である。
【図１４】第２の実施形態に係る手振れ補正処理において使用するデータを説明するための図である。
【図１５】第２の実施形態に係るずれ量算出方法を説明するための図である。
【図１６】第２の実施形態に係るずれ量算出処理を示したフローチャートである。
【図１７】従来技術に係るずれ量算出処理を示したフローチャートである。
【符号の説明】
【００６０】
１      撮像装置
２      ＣＣＤカメラ
３      ＪＰＥＧ符号化部
４      符号保持部
５      サムネイル作成部
６      サムネイル保持部
７      特徴点検出部
８      部分画像復号部
９      部分画像保持部
１０      ずれ量算出部
【図１】
2008042657.tif 000003
【図２】
2008042657.tif 000004
【図４】
2008042657.tif 000005
【図１０】
2008042657.tif 000006
【図１１】
2008042657.tif 000007
【図１２】
2008042657.tif 000008
【図１６】
2008042657.tif 000009
【図１７】
2008042657.tif 000010
【図３】
2008042657.tif 000011
【図５】
2008042657.tif 000012
【図６】
2008042657.tif 000013
【図７】
2008042657.tif 000014
【図８】
2008042657.tif 000015
【図９】
2008042657.tif 000016
【図１３】
2008042657.tif 000017
【図１４】
2008042657.tif 000018
【図１５】
2008042657.tif 000019