(57)【特許請求の範囲】
【請求項１】
所定のパターンに従ってシャッターを開閉し撮像する撮像部により取得され、各々が格子状に整列した複数の画素により構成される複数の画像データを入力する画像入力手段と、
前記複数の画像データを撮像した際の前記撮像部におけるぶれ情報を入力する撮像情報入力手段であって、前記ぶれ情報は、前記複数の画像データにわたって生じている撮像時の拡縮ぶれの中心位置および拡縮率を含む、前記撮像情報入力手段と、
前記複数の画像データの各々について、各画素の座標値を、前記中心位置を原点とし前記拡縮率に基づいて決定される対数スケールの座標値に変換する第１変換手段と、
対数スケールの座標値で表現された複数の画像データに対し所定のシフトぶれ補正処理を施し１つの補正画像データを生成する生成手段と、
前記生成手段により生成された補正画像データの各画素の座標値を、前記中心位置を原点とした線形スケールの座標値に変換する第２変換手段と、
線形スケールの座標値に変換された補正画像データを出力する出力手段と、
を含み、
前記所定のシフトぶれ補正処理は、前記ぶれ情報により基づいて導出されるぶれの軌跡および前記所定のパターンの畳み込み演算の逆変換を含み、
前記第１変換手段は、前記複数の画像データの各々について、各画素の座標値を、極座標の座標値に変換した後、前記極座標における各画素の座標値の原点からの距離を前記対数スケールの座標値に変換し、
前記第２変換手段は、前記線形スケールの座標値に変換した後、直交座標の座標値に変換する
ことを特徴とする画像処理装置。
【請求項２】
前記複数の画像データの各々を、前記中心位置を基準とした直交座標の４つの象限の各々に位置する４つの部分画像データに分割する分割手段と、
前記分割手段により分割された部分画像データの各々について、前記第１変換手段、前記生成手段、前記第２変換手段、前記出力手段による処理を実行する制御手段と、
前記制御手段による制御により４つの象限の各々に対応して生成された補正部分画像データを結合して１つの補正画像データを生成する結合手段と、
をさらに含むことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記撮像部による撮像時のぶれを光学的に補償する光学防振手段をさらに含み、
前記ぶれ情報は、前記光学防振手段から前記撮像情報入力手段に入力されることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記撮像情報入力手段は、さらに、前記複数の画像データを撮像した際の前記撮像部における露光条件情報を入力し、
前記露光条件情報に基づいて、前記複数の画像データに含まれる２以上の画像データを選択する選択手段と、
前記選択手段により選択された画像データに対し、ピントが外れたことによるボケを補正する補正手段と、
前記補正手段により補正された画像データの各々について、前記第１変換手段、前記生成手段、前記第２変換手段、前記出力手段による処理を実行する第２制御手段と、
を含むことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項５】
所定のパターンに従ってシャッターを開閉し撮像する撮像部により取得され、各々が格子状に整列した複数の画素により構成される複数の画像データを処理する画像処理装置の制御方法であって、
前記複数の画像データを入力する画像入力工程と、
前記複数の画像データを撮像した際の前記撮像部におけるぶれ情報を入力する撮像情報入力工程であって、前記ぶれ情報は、前記複数の画像データにわたって生じている撮像時の拡縮ぶれの中心位置および拡縮率を含む、前記撮像情報入力工程と、
前記複数の画像データの各々について、各画素の座標値を、前記中心位置を原点とし前記拡縮率に基づいて決定される対数スケールの座標値に変換する第１変換工程と、
対数スケールの座標値で表現された複数の画像データに対し所定のシフトぶれ補正処理を施し１つの補正画像データを生成する生成工程と、
前記生成工程により生成された補正画像データの各画素の座標値を、前記中心位置を原点とした線形スケールの座標値に変換する第２変換工程と、
線形スケールの座標値に変換された補正画像データを出力する出力工程と、
を含み、
前記所定のシフトぶれ補正処理は、前記ぶれ情報により基づいて導出されるぶれの軌跡および前記所定のパターンの畳み込み演算の逆変換を含み、
前記第１変換工程では、前記複数の画像データの各々について、各画素の座標値を、極座標の座標値に変換した後、前記極座標における各画素の座標値の原点からの距離を前記対数スケールの座標値に変換し、
前記第２変換工程では、前記線形スケールの座標値に変換した後、直交座標の座標値に変換する
ことを特徴とする画像処理装置の制御方法。
【請求項６】
コンピュータを、請求項１乃至４の何れか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像時にぶれが発生した画像における画質劣化を軽減する画像処理技術に関するものである。
【背景技術】
【０００２】
近年の撮像装置の高画素化、高ズーム化に伴い、撮影時の手ぶれによる撮影画像の画像劣化が問題となってきている。この手ぶれの問題を解決するため、従来より手ぶれ補正機能付き撮像装置が広く使用されている。このような手ぶれ補正機能付き撮像装置では、手ぶれによるシフトベクトルを検出するセンサと、手ぶれを打ち消すようにレンズと撮像素子との相対的位置を制御する駆動装置とで光学的に手ぶれを相殺する光学式手ぶれ補正方式が一般的である。
【０００３】
一方、例えば特許文献１には、手ぶれによって劣化した画像を画像処理によって修整する技術が開示されている。具体的には、シャッターを予め符号化されたパターンに従って開閉し画像を取得する（この露光のパターンを”Coded Exposure”と呼ぶ）。そして、手ぶれによる画像の劣化過程をCoded Exposureパターンによる畳み込みと解釈し、逆フィルタを求め、画像処理を行なっている。
【０００４】
ところで、最近では撮像装置の小型、軽量化が図られたため撮像装置を片手で簡単に保持して撮影することが可能になった。片手で支えて撮影する場合、両手で支えて撮影する場合に比較し手ぶれも発生しやすくなっている。特にカメラ付携帯電話や、液晶表示モニターなどを一体化して備えたカメラでの撮影においては、従来のファインダーを覗くタイプのカメラと比べて奥行方向（前後）の手ぶれが発生し易くなる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−３１０７９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に開示される手法はの手法では画像全体のぶれ量が等しいシフトぶれの場合には画像処理でぶれ補正を行うことができるものの、画像の拡大・縮小など画像の画像内の位置によってぶれ量が異なる場合には適切な補正をすることができない。
【０００７】
本発明は、上述の問題点に鑑みなされたものであり、撮像時にぶれが発生した画像における画質劣化を軽減可能とする画像処理技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の画像処理装置は以下の構成を備える。すなわち、画像処理装置において、所定のパターンに従ってシャッターを開閉し撮像する撮像部により取得され、各々が格子状に整列した複数の画素により構成される複数の画像データを入力する画像入力手段と、前記複数の画像データを撮像した際の前記撮像部におけるぶれ情報を入力する撮像情報入力手段であって、前記ぶれ情報は、前記複数の画像データにわたって生じている撮像時の拡縮ぶれの中心位置および拡縮率を含む、前記撮像情報入力手段と、前記複数の画像データの各々について、各画素の座標値を、前記中心位置を原点とし前記拡縮率に基づいて決定される対数スケールの座標値に変換する第１変換手段と、対数スケールの座標値で表現された複数の画像データに対し所定のシフトぶれ補正処理を施し１つの補正画像データを生成する生成手段と、前記生成手段により生成された補正画像データの各画素の座標値を、前記中心座標を原点とした線形スケールの座標値に変換する第２変換手段と、線形スケールの座標値に変換された補正画像データを出力する出力手段と、を含み、前記所定のシフトぶれ補正処理は、前記ぶれ情報により基づいて導出されるぶれの軌跡および前記所定のパターンの畳み込み演算の逆変換を含み、前記第１変換手段は、前記複数の画像データの各々について、各画素の座標値を、極座標の座標値に変換した後、前記極座標における各画素の座標値の原点からの距離を前記対数スケールの座標値に変換し、前記第２変換手段は、前記線形スケールの座標値に変換した後、直交座標の座標値に変換する。
【発明の効果】
【０００９】
本発明によれば、撮像時にぶれが発生した画像における画質劣化を軽減可能とする画像処理技術を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】第１実施形態に係る画像処理装置のブロック図である。
【図２】第１実施形態に係る画像処理装置の動作フローチャートである。
【図３】拡縮ぶれの発生原理を示した図である。
【図４】第１実施形態のぶれ補正部の動作原理を示す概念図である。
【図５】通常の露光条件および当該露光条件におけるフィルタの周波数特性を示す図である。
【図６】コントロールされた露光条件および当該露光条件におけるフィルタの周波数特性を示す図である。
【図７】拡縮ぶれ補正処理を適用前後の画像の例を示す図である。
【図８】第２実施形態に係る画像処理装置のブロック図である。
【図９】画像分割部の動作を示す概念図である。
【図１０】第２実施形態に係る画像処理装置の動作フローチャートである。
【図１１】第３実施形態に係る画像処理装置のブロック図である。
【図１２】第３実施形態のぶれ補正部の動作原理を示す概念図である。
【図１３】第４実施形態に係る撮像装置のブロック図である。
【図１４】第５実施形態のぶれ補正部の動作原理を示す概念図である。
【図１５】画像データに補正に利用する情報を埋め込む例を示す図である。
【発明を実施するための形態】
【００１１】
以下に、図面を参照して、この発明の好適な実施の形態を詳しく説明する。なお、以下の実施の形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。
【００１２】
（第１実施形態）
本発明に係る画像処理装置の第１実施形態として、ぶれ補正回路（ぶれ補正部１００）を例に挙げて以下に説明する。なお、ここでは、拡縮ぶれは撮像データの左下を中心に発生している場合について説明する。
【００１３】
＜拡縮ぶれの発生原理＞
まず、カメラが被写体に対し前後に移動する（ぶれる）ことによって、画像において拡大・縮小となって表れるぶれが発生する仕組みについて述べる。なお、以降では、画像の拡大・縮小のぶれを”拡縮ぶれ”と呼称することにする。
【００１４】
図３は、被写体までの距離とカメラの焦点面に写る像の大きさの関係について示す。図３（ａ）は、撮像系を視点と仮想スクリーンでモデル化した場合の被写体の像の大きさを表している。視点から仮想スクリーンまでの距離をｆ、視点から被写体までの距離をＬ、被写体の大きさをＤ、仮想スクリーンに投影される像の大きさをｘとする。この時、相似形を用いることにより、ｘ：Ｄ＝ｆ：Ｌの関係から、ｘ＝Ｄｆ／Ｌを得る。
【００１５】
一方、図３（ｂ）はカメラが図３（ａ）に比べ、距離ΔＬだけ前に出た状況を表している。この時の像の大きさｘ’はｘを求めた場合と同様にｘ’＝Ｄｆ／（Ｌ−ΔＬ）となる。即ちカメラがΔＬだけ前に出る（被写体に近づく）ことによって、像の大きさはｘ’／ｘ＝Ｌ／（Ｌ−ΔＬ）と拡大される。以上、カメラが被写体に対し前後することによって像の拡大縮小が起きるメカニズムである。
【００１６】
＜装置構成＞
図１は、第１実施形態に係る画像処理装置（ぶれ補正部１００）のブロック図である。
【００１７】
１０１は、撮像装置によって撮影された撮像データが入力する撮像データ入力端子（画像入力手段）である。撮像データには、格子状に整列した複数の画素により構成される複数の画像データが含まれる。１０２は、座標系を直交座標から対数座標に変換するための対数座標変換部である。１０３は撮像装置の手ぶれによる拡縮倍率が記録されているぶれ倍率記録部である。１０４は撮影時の露光条件が記録されている露光条件記録部である。１０５はぶれ倍率記録部１０３、露光条件記録部１０４の情報を元にシフトぶれを補正するシフトぶれ補正部である。１０６は１０５で補正された画像データを対数座標から直交座標に変換する直交座標変換部である。１０７はぶれ情報が入力されるぶれ情報入力端子（撮像情報入力手段）である。１０８は露光条件の情報が入力する露光条件入力端子である。１０９は座標系の原点情報が入力される原点情報入力端子である。１１０は直交座標変換部１０４で得られたぶれ補正データを出力する出力端子である。なお、上述の各機能部は、専用のハードウェアにより実現してもよいし、ＣＰＵに所定のソフトウェアを実行させることにより実行しても良い。
【００１８】
＜ぶれ補正部１００の動作原理＞
以下、ぶれ補正部１００によるぶれ補正の処理について説明する。処理は、大まかに、拡縮ぶれからシフトぶれへの変換、および変換されたシフトぶれの補正に分類される。
【００１９】
一般に拡縮ぶれは、時刻ｔにおける時刻０に対するｘ方向の拡縮倍率をａ（ｔ）、ｙ方向の拡縮倍率をｂ（ｔ）と置くと（ｘ（ｔ），ｙ（ｔ））＝（ａ（ｔ）ｘ（０），ｂ（ｔ）ｙ（０））と書ける。時刻ｔ＝０におけるぶれのない画像を基準にし、時刻ｔに座標（ｘ，ｙ）に来る点を考える。この点は時刻０では座標（ｘ／ａ（ｔ），ｙ／ｂ（ｔ））にある。
このとき拡縮ぶれを表す式は以下のように書ける。
【００２０】
【数１】
0005486280.tif 000002
ここで、Ｉはぶれ補正処理が実施された画像、Ｉｂｌｕｒは拡縮により像がぶれた画像である。Ｔは露光時間である。ｈ（ｔ）は露光条件を決める関数であり、撮像装置のシャッターの開閉に該当する。ここではシャッターは予め符号化されたパターンに従って開閉し、ぶれ画像を取得するものとする。以下、この露光のパターンを”Coded Exposure”と呼称する。露光条件の詳細については後述する。
【００２１】
次に対数座標系を以下の式で定義する。
【００２２】
【数２】
0005486280.tif 000003
対数座標において、真数は正でなければならないため、ここでは、ｘ＞０，ｙ＞０の場合のみ考えるものとする。上述したように、原点は画像の左下に位置し、原点から右方向にｘ軸の正方向、原点から上方向にｙ軸の正方向を取るものとする。
式（２）を用いると、式（１）は
【００２３】
【数３】
0005486280.tif 000004
となる。
【００２４】
これは理論上の式であり、実際のデータはデジタルであるから、実空間から対数座標への変換を行うためには何らかの補間が必要になる。補間方法は任意のものを用いてよい。ここではバイキュービックを用いるものとする。
【００２５】
一方シフトぶれが発生した場合は、時刻ｔにおけるシフトベクトルを（ｕ（ｔ），ｖ（ｔ））とすると、（ｘ（ｔ），ｙ（ｔ））＝（ｘ（０）＋ｕ（ｔ），ｙ（０）＋ｖ（ｔ））と書くことができる。後述するように、シフトぶれを表す式は以下のように書くことができる。
【００２６】
【数４】
0005486280.tif 000005
【００２７】
式（３）と式（４）を比較すると、（ρ，ξ）は（ｘ，ｙ）に対応していることが分かる。また、（ｌｎ（ａ（ｔ）），ｌｎ（ｂ（ｔ）））は（ｕ（ｔ），ｖ（ｔ））に対応していることが分かる。
【００２８】
以上のことから、式（３）は時刻ｔに（ｌｎ（ａ（ｔ）），ｌｎ（ｂ（ｔ）））だけシフトするシフトぶれの式と同等である。シフトぶれは後述する手法によって補正することが可能である。
【００２９】
シフトぶれ補正を行い、対数座標におけるぶれ補正後の画像Ｉ（ρ，ξ）を求めたら、変換（ｘ，ｙ）＝（ｅｘｐ（ρ），ｅｘｐ（ξ））を行って座標系を対数座標系から直交座標に変換し、ぶれ補正後の画像Ｉ（ｘ，ｙ）を得る。
【００３０】
図４にぶれ補正部１００の動作を概念的に表した図を示す。まず拡縮ぶれを対数座標変換によって、シフトぶれに変換し、そのシフトぶれをデコンボリューションによって除去する。最後に直交座標に戻して拡縮ぶれを除去する。以上がぶれ補正部１００によって拡縮ぶれが補正できる原理である。
【００３１】
シフトぶれは、ｘ、ｓ、ｍを２次元ベクトルとし、時刻ｔにおけるカメラのシフトぶれベクトルをｓ（ｔ）、着目位置をｘ（ｔ）と置くと、
【００３２】
【数５】
0005486280.tif 000006
と書ける。ここで、撮影開始の時刻を時刻ｔ＝０とした。時刻ｔ＝０におけるぶれのない画像をＩとする。時刻ｔに座標ｍの点に位置する画素の時刻０における座標ベクトルｍ（０）は、式（５）よりｍ＝ｍ（０）＋ｓ（ｔ）となりｍ（０）＝ｍ−ｓ（ｔ）となる。ここで、ベクトルｍは成分が整数値の点、いわゆる格子点を表すものとする。着目画素ｍの点に寄与する画素値はベクトルｍ−ｓ（ｔ）における画素値Ｉ（ｍ−ｓ（ｔ））を時刻ｔ＝０から露光時間Ｔまで積分したものになるので、シフトぶれを表す式は以下のように書ける。
【００３３】
【数６】
0005486280.tif 000007
ここでｈ（ｔ）は露光条件を決める関数であり、Ｉｂｌｕｒはシフト運動によりぶれた画像である。なお、露光条件ｈ（ｔ）の詳細については後述する。シフトぶれが非整数値でも対応できるように、周期的補間Ｋｅｒｎｅｌφ（ｘ）を導入し、非整数値画素における画素値を以下のように定義する。
【００３４】
【数７】
0005486280.tif 000008
ここで、Ｚは整数の集合を現し、Ｚ／ＮＺは［０，１，２，・・・・，Ｎ−１］の集合を記号的に表したものである。但し０とＮを同一視するものとする。式（７）は「周期的」と言う条件以外は通常の補間の式と同一である。周期的補間Ｋｅｒｎｅｌにおける「周期的」とは以下の条件を満たすものとする。Ｍ，Ｎをそれぞれ画像の横、縦のサイズとすると、
【００３５】
【数８】
0005486280.tif 000009
補間Ｋｅｒｎｅｌを周期的にした理由については後述する。
式（７）を式（６）に代入すると、
【００３６】
【数９】
0005486280.tif 000010
と書くことができる。式（９）において、フィルタＫを
【００３７】
【数１０】
0005486280.tif 000011
と定義すると、式（９）は
【００３８】
【数１１】
0005486280.tif 000012
の形に書くことができ、巡回畳み込みの形に帰着する。ここで、補間Ｋｅｒｎｅｌを周期的にしたのは式（１１）において巡回畳み込み演算の形にするためである。式（１０）によって、ぶれの軌跡ｓ（ｔ）と、露光条件ｈ（ｔ）の情報から、フィルタＫを求めることができる。よってフィルタＫによるデコンボリューション（逆変換）を行えば式（１１）を用いてＩｂｌｕｒよりＩを求めることができる。以上の処理により（拡縮ぶれから変換された）シフトぶれが補正される。
【００３９】
＜露光条件ｈ（ｔ）＞
露光条件は時刻ｔの関数であるｈ（ｔ）によって設定される。この関数を設定するのは、式（３）によって生じるシフトぶれのぶれフィルタの周波数特性が特定の周波数で０になるのを避けるためである（以下この現象を”０落ち”と呼称する）。この現象が発生すると、逆フィルタが不定になり、正しく補正画像を求めることができなくなる。
【００４０】
例として、横方向に拡大運動をしている場合を考えてみる。ここでは横方向の拡縮倍率の時間依存性をｃ（ｔ）＝１＋０．０５ｔ（０≦ｔ≦１）とする。このとき、通常の露光条件を図５（ａ）に示す。これは露光時間Ｔの間だけシャッターを開き、その後閉じたものである。横軸は時間、縦軸はｈ（ｔ）の値である。この露光条件でシフトぶれのフィルタを式（１０）に基づいて算出し、その周波数特性を求めた例を図５（ｂ）に示す。図５（ｂ）において横軸は周波数、縦軸はフィルタの離散フーリエ変換の絶対値である。図５（ｂ）を見ると分かるようにフィルタの周波数特性が０になる周波数が存在し、０落ちが発生していることが分かる。
【００４１】
次に０落ちを避けるために、Coded Exposureを用いて露光条件ｈ（ｔ）をコントロールした例を図６（ａ）に示す。この露光条件で図５（ｂ）と同様のシフトぶれに関してシフトぶれのフィルタの周波数特性を求めた例を図６（ｂ）に示す。このように露光条件ｈ（ｔ）をコントロールすることによって、フィルタの周波数特性の値が０になることを防ぐことができる。
【００４２】
ここではシャッターの開閉状態を”０”または”１”として表現しコントロールしたが、シャッターを開いた時の開口量を調節して、ｈ（ｔ）の値を０〜１の間で連続的に変化させても良い。
【００４３】
＜装置の動作＞
図２は、画像処理装置１００の動作についてフローチャートに従って説明する。
【００４４】
ステップＳ２０１では、撮像データ入力端子１０１より撮像データを入力する。なお、ここでは、撮像時の拡縮ぶれは撮像データの左下を中心位置として発生していると仮定する。
【００４５】
ステップＳ２０２では、対数座標変換部１０２（第１変換手段）が、原点情報入力端子１０９から入力された所定の原点情報に基づいて、ステップＳ２０１で入力された撮像データを直交座標から対数座標に変換する。つまり、各画素の座標値を、拡縮ぶれの中心位置を原点とした対数スケールの座標値に変換する。なお、ここでは、拡縮ぶれは撮像データの左下を中心に発生していることから、原点は画像の左下に位置する。
【００４６】
ステップＳ２０３では、露光条件記録部１０４が露光条件入力端子１０８から撮影時間中の各時刻における露光条件の情報を取得する。そして、ステップＳ２０４では、ぶれ倍率記録部１０３がぶれ情報入力端子１０７から撮影時間中の各時刻におけるぶれ倍率の情報を取得する。
【００４７】
ステップＳ２０５では、シフトぶれ補正部１０５が、Ｓ２０３で得られた露光条件の情報、Ｓ２０４で得られたぶれ倍率の情報を元に対数座標上でのシフトぶれを補正する。そして、ステップＳ２０６では、直交座標変換部１０６（第２変換手段）が、シフトぶれ補正を行った後の画像データを対数座標から直交座標に変換する。つまり、各画素の座標値を、中心位置を原点とした線形スケールの座標値に変換する。ステップＳ２０７では、ステップＳ２０６により算出された結果を出力端子１１０より出力する。
【００４８】
上述の一連のステップにより、拡縮ぶれが低減された補正後の画像データが得られることになる。
【００４９】
図７は、補正処理の効果の例を示した図である。図７において、拡縮ぶれが発生した画像７０１、および拡縮ぶれを補正した画像７０２が例示的に示されている。図７を見ると、上述した処理により拡縮ぶれが低減された画像が得られていることが分かる。
【００５０】
以上説明したように、第１の実施形態に係る画像処理装置１００により、１枚の画像のみから拡縮倍率及び露光条件を用いて画像処理によって拡縮ぶれが低減された画像を得ることが可能となる。
【００５１】
なお、上述の説明では、露光条件の情報やぶれ倍率の情報を専用の端子から入力するとして説明したが、当該情報を画像データのヘッダに埋め込むよう構成してもよい。また、画像データのヘッダに埋め込む代わりに、画像データに対応するメタデータ（属性データ）として格納されたデータを利用するようにしても良い。図１５は、ぶれ情報が記録されているぶれ情報タグ１７０１および露光条件が記録されている露光条件タグ１７０２を有する画像ファイル１７００を例示的に示す図である。
【００５２】
（第２実施形態）
第２実施形態では、画像中の任意の位置に直交座標の座標系の原点がある場合について説明する。
【００５３】
＜装置構成＞
図８は、第２実施形態に係る画像処理装置（ぶれ補正部１０００）のブロック図である。１００１は撮像データが入力する撮像データ入力端子である。１００２は原点の位置情報を元に撮像画像を複数に分割する分割部、１００３は補正部１００で補正された画像データを合成する画像合成部である。１００４は拡縮中心情報が入力する中心情報入力端子である。１００５は画像合成部１００３で合成された画像データが出力される出力端子である。
【００５４】
＜ぶれ補正部１０００の動作原理＞
図９に画像分割部１００２および画像合成部１００３の動作の概念図を示す。図９において、左側が撮像画像であり、画像の中心に座標系の原点があるとする。画像分割部１００２は画像を図のようにＡ（ｘ＞０，ｙ＞０）、Ｂ（ｘ＜０，ｙ＞０）、Ｃ（ｘ＜０，ｙ＜０）、Ｄ（ｘ＞０，ｙ＜０）の４つの部分画像データ（つまり、直交座標の４つの象限）に分割する。そして、各々の領域でｘ＞０，ｙ＞０となるように以下のように座標軸を取り直す。具体的には、領域Ａ以外の各々の領域画像について、
領域Ｂでは（ｘ，ｙ）を（−ｘ，ｙ）
領域Ｃでは（ｘ，ｙ）を（−ｘ，−ｙ）
領域Ｄでは（ｘ，ｙ）を（ｘ，−ｙ）
にする変換を行う。このようにして、撮像データの左下を中心に拡縮ぶれが発生している４つの領域画像が得られることになる。
【００５５】
そして、各領域画像に対して第１実施形態と同様の補正処理を施す。その後、画像合成部１００３は、
補正後の領域Ｂでは（ｘ，ｙ）を（−ｘ，ｙ）
補正後の領域Ｃでは（ｘ，ｙ）を（−ｘ，−ｙ）
補正後の領域Ｄでは（ｘ，ｙ）を（ｘ，−ｙ）
にする座標変換を行う（つまり元の座標軸に戻す）。さらに４つの領域を１つの画像として合成することにより、拡縮ぶれが補正された１つの画像が得られることになる。
【００５６】
＜装置の動作＞
図１０は、ぶれ補正部１０００の動作についてフローチャートに従って説明する。
【００５７】
ステップＳ１２０１では、撮像データ入力端子１００１より撮像データを入力する。そして、ステップＳ１２０２では、画像分割部１００２が図９に従って各領域に分割する。なお、４つの領域に分割する際の原点（拡縮ぶれの中心）の情報はユーザから受け付けるよう構成してもよいし、ぶれ補正部１０００で決定するよう構成してもよい。
【００５８】
ステップＳ１２０３では、４つの各領域の拡縮ぶれを第１実施形態と同様にして補正し、ステップＳ１２０４では、画像合成部１００３（結合手段）が補正後の各領域（補正部分画像データ）を合成する。ステップＳ１２０５では、合成された補正画像データを出力端子１００５から出力する。
【００５９】
以上説明したように第２実施形態によれば、座標系の原点（拡縮ぶれの中心）が画像内の任意の点にあった場合であっても拡縮ぶれを補正することが可能になる。なお、上述の説明では、予め座標系の原点（拡縮ぶれの中心）を指定し、当該原点に基づいて処理を行なうよう説明したが。しかし、画像内の複数の点に関して上述の処理を行い複数の補正画像データを出力し、ユーザが当該複数の補正画像データの中から好適な補正画像データを選択するよう構成してもよい。
【００６０】
（第３実施形態）
第３実施形態では、拡縮ぶれと回転ぶれを同時に補正する画像処理装置について説明する。ただし、ｘ，ｙ軸方向の拡縮率は等しいと仮定する。なお、以下の説明では、第１実施形態との差分について説明する。
【００６１】
＜装置構成＞
図１１は、第３実施形態に係る画像処理装置（ぶれ補正部１３００）のブロック図である。１３０１は、座標系を直交座標から対数極座標に変換するための対数極座標変換部である。１３０２は撮像装置の手ぶれによる拡縮の倍率と、撮像時の回転角が記録されているぶれ情報記録部である。１３０３はシフトぶれ補正部１０５で補正された画像データを対数極座標から直交座標に変換する直交座標変換部である。つまり、対数座標の代わりに対数極座標を利用する点が第１実施形態と異なる。
【００６２】
＜ぶれ補正部１３００の動作原理＞
以下では、主に、第１実施形態に係るぶれ補正部１００の動作原理との差異のみ説明する。一般に拡縮回転ぶれは、時刻ｔにおけるぶれ倍率をａ（ｔ）、回転角をφ（ｔ）と置くと
【００６３】
【数１２】
0005486280.tif 000013
と書くことができる。
【００６４】
（ｘ，ｙ）＝ｒ（ｃｏｓΘ，ｓｉｎΘ）
により、直交座標から極座標（ｒ，Θ）に変換すると、式（１２）は（ｒ（ｔ），Θ（ｔ））＝（ａ（ｔ）ｒ（０），Θ（０）＋φ（ｔ））と書くことができる。
【００６５】
時刻ｔ＝０におけるぶれのない画像を基準にし、時刻ｔ＝０におけるぶれのない画像を基準にし、時刻ｔに極座標（ｒ，Θ）に来る点を考える。この点は時刻０では極座標（ｒ／ａ（ｔ），Θ−φ（ｔ））にある。このとき拡縮ぶれを表す式は以下のように書ける。
【００６６】
【数１３】
0005486280.tif 000014
各記号は第１実施形態と同様である。次にｒを対数座標系に変換する。η≡ｌｎ（ｒ）と定義すると、式（１３）は、
【００６７】
【数１４】
0005486280.tif 000015
となる。第１実施形態の場合と同様にシフトぶれの式（４）と比較すると、（η，Θ）が（ｘ，ｙ）に対応し、（ｌｎ（ａ（ｔ）），φ（ｔ））が（ｕ（ｔ），ｖ（ｔ））に対応していることが分かる。つまり、式（１４）は時刻ｔに以下の量だけシフトするシフトぶれの補正の式と同等である。
【００６８】
【数１５】
0005486280.tif 000016
よって第１実施形態と同様の方法を用いて式（１５）のシフトぶれ補正を行うことが可能であることが分かる。
【００６９】
第１実施形態と同様にシフトぶれ補正を行い、対数極座標におけるぶれ補正後の画像Ｉ（η，Θ）を求めた後、
（ｘ，ｙ）＝（ｅｘｐ（η）ｃｏｓΘ，ｅｘｐ（η）ｓｉｎΘ）
により、座標系を対数極座標から直交座標に変換し、ぶれ補正後の画像Ｉ（ｘ，ｙ）を得る。以上の処理により（拡縮回転ぶれから変換された）シフトぶれが補正される。
【００７０】
＜装置の動作＞
図１２は、ぶれ補正部１３００の動作を概念的に表した図である。まず拡縮回転ぶれを対数極座標変換によってシフトぶれに変換する。そして、変換されたシフトぶれをデコンボリューションによって除去する。最後に直交座標に戻して拡縮回転ぶれを除去する。
【００７１】
以上説明したように第３実施形態によれば、画像における拡縮ぶれと回転ぶれを補正することが可能になる。
【００７２】
（第４実施形態）
第４実施形態では、レンズシフト方式や撮像素子シフト方式など、撮像部による撮像時のぶれを光学的に補償する光学防振の機能を有する撮像装置について説明する。より具体的には、光学防振により補正しきれなかった残存のぶれ（拡縮ぶれなど）を、第１実施形態で説明したぶれ補正部１００による画像処理により補正する手法について説明する。
【００７３】
図１３は、第４実施形態に係る撮像装置（撮像部１５００）のブロック図である。
【００７４】
１５０１は撮影する被写体の反射光が入力される入力端子である。１５０２はレンズである。１５０３はシャッターである。１５０４は撮像素子である。１５０５はアナログ→デジタル変換部である。１５０６は露光条件を設定する露光条件設定部である。１５０７は撮像部１５００のぶれを検出する姿勢検出部である。１５０８は露光条件（露光条件情報）が出力される露光条件出力端子である。１５０９は撮像部１５００によって撮像された撮像データが出力される撮像データ出力端子である。１５１０は姿勢検出部１５０７によって検出されたぶれ情報を出力するぶれ情報出力端子である。
【００７５】
撮像部１５００において、ぶれは姿勢検出部１５０７によって検知されシフトぶれとその他のぶれに分けられる。姿勢検出部１５０７は動きを測定する装置でも良いし、複数画像を取得して、動きを推定する装置であっても良い。拡縮ぶれのぶれ倍率情報は撮像装置の前後の移動情報から算出する。前後の移動情報の取得法については、例えば特開２００６−３１９５７８に開示されている。
【００７６】
姿勢検出部１５０７で検出されたシフトぶれの情報は撮像素子１５０４に送られ、撮像素子１５０４自体が動くことにより、シフトぶれを補正する。撮像素子１５０４でシフトぶれを補正する以外に、レンズ１５０２によってシフトぶれを補正する方法もある。このように撮像部によってシフトぶれを補正できれば、撮像素子シフト方式、レンズシフト方式いずれの手法でも良い。
【００７７】
次に、ぶれ情報、露光条件がぶれ補正部１００に送られ、これらの情報を元に、ぶれ補正部１００が光学防振によりシフトぶれを除去した後、画像処理で残りのぶれを補正する。なお、第１実施形態に係るぶれ補正部１００の代わりに、第２実施形態に係るぶれ補正部１０００、若しくは第３実施形態に係るぶれ補正部１３００を使用するよう構成してもよい。
【００７８】
以上説明したように、第４実施形態によれば、シフトぶれは主に光学防振で補正し、光学防振では除去が困難なぶれに関しては画像処理によって補正する。このような構成とすることにより、シフトぶれとその他のぶれが混在するような複雑なぶれを好適に補正することが可能になる。
【００７９】
（第５実施形態）
第５実施形態では、時分割露光して連続撮影して得た画像から、予め用意した露光条件に沿って、２以上の画像を選択し加算合成することにより、露光条件を制御する撮像装置（ぶれ補正部）について説明する。
【００８０】
＜ぶれ補正部の動作原理＞
図１４は、第５実施形態のぶれ補正部の動作原理を示す概念図である。図１４（ａ）は時分割露光して連続撮影した画像を表している。図１４（ｂ）および図１４（ｃ）は、それぞれ時分割露光した画像を適宜選択して加算合成する様子を表している。
【００８１】
図１４（ｂ）および（ｃ）において、Ｉ（ｔ）は連続撮影した画像群を表し、ｈ（ｔ）は露光条件を表している。また画像Ｉ（ｔ）の下に記載されている数値が”０”の時は加算対象から除外し、”１”の時は加算対象とすることを表している。加算対象とする画像に対しては、画像処理によりピントが合った画像とする。ピントが合った画像の作成方法は任意のもので良いが、例えば特開２００１−２０８５２４に開示された技術を利用することが出来る。
【００８２】
時分割連続画像のうち、ある時刻の画像において、”Depth From Defocus”の手法を用いて画像のぼけ量から被写体までの距離を推定する。その距離情報と各時刻の拡縮倍率情報から、各時分割画像における被写体までの距離情報を算出する。そして、例えば特開平１１−３３７３１３に記載の技術を利用して、各時分割画像における距離情報を用いて、距離に応じたピンボケによるＰＳＦを算出し、デコンボリューションすることによりピンボケ補正を行う。
【００８３】
図１４（ｂ）および（ｃ）に例示されるように、時分割画像の選択の仕方によって様々なCoded Exposureパターンを生成され得るが、合成後の画像においてはピンボケが除去され、拡縮ぶれのみが残存する画像が生成される。そこで、当該合成後の画像に対し、上述の実施形態による画像処理を施す（第２制御手段）ことで拡縮ぶれが補正される。
【００８４】
以上説明したように、第５実施形態によれば、連続撮影した画像の内、ピンボケ補正を行いピントが合った画像を加算合成することにより、ピンボケおよび拡縮ぶれの双方をより好適に補正することが可能になる。一般に、拡縮ぶれが起こるような状況では、カメラが前後することによるピンボケが同時に発生するため当該技術は重要である。
【００８５】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005486280.tif 000017
【図２】
0005486280.tif 000018
【図３】
0005486280.tif 000019
【図４】
0005486280.tif 000020
【図５】
0005486280.tif 000021
【図６】
0005486280.tif 000022
【図８】
0005486280.tif 000023
【図９】
0005486280.tif 000024
【図１０】
0005486280.tif 000025
【図１１】
0005486280.tif 000026
【図１２】
0005486280.tif 000027
【図１３】
0005486280.tif 000028
【図１５】
0005486280.tif 000029
【図７】
0005486280.tif 000030
【図１４】
0005486280.tif 000031