(57)【要約】【課題】複数の画像から切り出した短冊領域を連結して２次元パノラマ画像や３次元画像表示用画像を生成する構成において、カメラの動きに基づいて生成可能な合成画像を決定して決定した合成画像を生成する。【解決手段】複数画像から切り出した短冊領域を連結して２次元パノラマ画像や３次元画像用の左右目用画像を生成する構成において、画像撮影時の撮像装置の動きを解析し、２次元パノラマ画像や３次元画像を生成可能であるか否かを判定し、生成可能な合成画像を生成する。画像撮影時のカメラの回転運動量（θ）と、並進運動量（ｔ）に応じて、（ａ）３次元画像表示に適用する左目用合成画像と右目用合成画像の合成画像生成処理、または、（ｂ）２次元パノラマ画像の合成画像生成処理、または、（ｃ）合成画像生成の中止、これら（ａ）〜（ｃ）いずれかの処理態様を決定し、決定した処理を行う。また、ユーザに対する処理内容の通知や警告を実行する。【選択図】図１０
2012068380.tif 000002
【特許請求の範囲】
【請求項１】
異なる位置から撮影された複数の画像を入力し、各画像から切り出した短冊領域を連結して合成画像を生成する画像合成部を有し、
前記画像合成部は、
画像撮影時の撮像装置の動き情報に基づいて、
（ａ）３次元画像表示に適用する左目用合成画像と右目用合成画像の合成画像生成処理、または、
（ｂ）２次元パノラマ画像の合成画像生成処理、または、
（ｃ）合成画像生成の中止、
いずれかの処理態様を決定し、決定した処理を行う画像処理装置。
【請求項２】
前記画像処理装置は、
画像撮影時の撮像装置の回転運動量（θ）を取得または算出する回転運動量検出部と、
画像撮影時の撮像装置の並進運動量（ｔ）を取得または算出する並進運動量検出部を有し、
前記画像合成部は、
前記回転運動量検出部の検出した回転運動量（θ）と、前記並進運動量検出部の検出した並進運動量（ｔ）に基づいて処理態様を決定する請求項１に記載の画像処理装置。
【請求項３】
前記画像処理装置は、
前記画像合成部の決定情報に応じた警告または通知をユーザに提示する出力部を有する請求項１に記載の画像処理装置。
【請求項４】
前記画像合成部は、
前記回転運動量検出部の検出した回転運動量（θ）が０の場合、
３次元画像および２次元パノラマ画像の合成画像生成処理を中止する請求項２に記載の画像処理装置。
【請求項５】
前記画像合成部は、
前記回転運動量検出部の検出した回転運動量（θ）が０でなく、かつ前記並進運動量検出部の検出した並進運動量（ｔ）が０の場合、
２次元パノラマ画像の合成画像生成処理、または合成画像生成中止のいずれかを実行する請求項２に記載の画像処理装置。
【請求項６】
前記画像合成部は、
前記回転運動量検出部の検出した回転運動量（θ）が０でなく、かつ前記並進運動量検出部の検出した並進運動量（ｔ）も０でない場合、
３次元画像または、２次元パノラマ画像の合成画像生成処理のいずれかを実行する請求項２に記載の画像処理装置。
【請求項７】
前記画像合成部は、
前記回転運動量検出部の検出した回転運動量（θ）が０でなく、かつ前記並進運動量検出部の検出した並進運動量（ｔ）も０でない場合において、
θ・ｔ＜０である場合と、θ・ｔ＞０である場合において、
生成する３Ｄ画像のＬＲ画像を逆の設定とする処理を実行する請求項６に記載の画像処理装置。
【請求項８】
前記回転運動量検出部は、
画像処理装置の回転運動量を検出するセンサである請求項２に記載の画像処理装置。
【請求項９】
前記並進運動量検出部は、
画像処理装置の並進運動量を検出するセンサである請求項２に記載の画像処理装置。
【請求項１０】
前記回転運動量検出部は、
撮影画像の解析により画像撮影時の回転運動量を検出する画像解析部である請求項２に記載の画像処理装置。
【請求項１１】
前記並進運動量検出部は、
撮影画像の解析により画像撮影時の並進運動量を検出する画像解析部である請求項２に記載の画像処理装置。
【請求項１２】
撮像部と、請求項１〜１１いずれかに記載の画像処理を実行する画像処理部を備えた撮像装置。
【請求項１３】
画像処理装置において実行する画像処理方法であり、
画像合成部が、異なる位置から撮影された複数の画像を入力し、各画像から切り出した短冊領域を連結して合成画像を生成する画像合成ステップを実行し、
前記画像合成ステップは、
画像撮影時の撮像装置の動き情報に基づいて、
（ａ）３次元画像表示に適用する左目用合成画像と右目用合成画像の合成画像生成処理、または、
（ｂ）２次元パノラマ画像の合成画像生成処理、または、
（ｃ）合成画像生成の中止、
いずれかの処理態様を決定し、決定した処理を行うステップである画像処理方法。
【請求項１４】
画像処理装置において画像処理を実行させるプログラムであり、
画像合成部に、異なる位置から撮影された複数の画像を入力し、各画像から切り出した短冊領域を連結して合成画像を生成させる画像合成ステップを実行させ、
前記画像合成ステップにおいては、
画像撮影時の撮像装置の動き情報に基づいて、
（ａ）３次元画像表示に適用する左目用合成画像と右目用合成画像の合成画像生成処理、または、
（ｂ）２次元パノラマ画像の合成画像生成処理、または、
（ｃ）合成画像生成の中止、
いずれかの処理態様を決定し、決定した処理を行なわせるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、撮像装置、および画像処理方法、並びにプログラムに関する。さらに詳細には、カメラを移動させながら撮影した複数の画像を利用して３次元画像（３Ｄ画像）表示用の画像の生成処理を行う画像処理装置、撮像装置、および画像処理方法、並びにプログラムに関する。
【背景技術】
【０００２】
３次元画像（３Ｄ画像またはステレオ画像とも呼ばれる）を生成するためには、異なる視点からの画像、すなわち左目用画像と右目用画像を撮影することが必要となる。これらの異なる視点からの画像を撮影する方法は大別すると２通りに区分できる。
第１の手法は、複数のカメラユニットを用いて同時に異なる視点から被写体を撮像する、いわゆる多眼式カメラを用いた手法である。
第２の手法は、単一のカメラユニットを用いて撮像装置を移動させて、異なる視点からの画像を連続的に撮像する、いわゆる単眼式カメラを用いた手法である。
【０００３】
例えば、上記第１の手法に利用される多眼式カメラシステムは離間した位置にレンズを備え、異なる視点からの被写体を同時に撮影可能とした構成を持つ。しかし、このような多眼式カメラシステムは、複数のカメラユニットが必要なためカメラシステムが高価となるという問題がある。
【０００４】
これに対して、上記第２の手法に利用される単眼式カメラシステムは、従来型のカメラと同様の１つのカメラユニットを備えた構成でよい。１つのカメラユニットを備えたカメラを移動させて異なる視点からの画像を連続的に撮影し、複数の撮影画像を利用して３次元画像を生成するものである。
このように、単眼式カメラシステムを利用する場合、従来型のカメラと同様の１つのカメラユニットのみでよく比較的安価なシステムとして実現できる。
【０００５】
なお、単眼式カメラを移動しながら撮影した画像から被写体の距離情報を得る手法を開示した従来技術として、非特許文献１［「全方位視野の距離情報獲得」（電子情報通信学会論文誌，Ｄ−ＩＩ，Ｖｏｌ．Ｊ７４−Ｄ−ＩＩ，Ｎｏ．４，１９９１）］がある。なお、非特許文献２［「Ｏｍｎｉ−Ｄｉｒｅｃｔｉｏｎａｌ  Ｓｔｅｒｅｏ」ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎ  Ｏｎ  Ｐａｔｔｅｒｎ  Ａｎａｌｙｓｉｓ  Ａｎｄ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｌｌｉｇｅｎｃｅ，ＶＯＬ．１４，Ｎｏ．２，Ｆｅｂｒｕａｒｙ  １９９２］にも非特許文献１と同一の内容の報告が記載されている。
【０００６】
これらの非特許文献１，２は、カメラを回転台上の回転中心から一定距離、離間した円周上に固定して設置し、回転台を回転させながら連続的に画像を撮影して２本の垂直スリットを通して得られる２つの画像を用いて被写体の距離情報を得る手法を開示している。
【０００７】
また特許文献１（特開平１１−１６４３２６号公報）は、非特許文献１，２の構成と同様、カメラを回転台上の回転中心から一定距離おいて設置して回転させながら画像を撮影し、２本のスリットを通して得られる２つの画像を用いることで、３次元画像表示に適用する左目用のパノラマ画像と右目用のパノラマ画像を取得する構成を開示している。
【０００８】
このように、複数の従来技術において、カメラを回転させてスリットを通して得られる画像を用いることで、３次元画像表示に適用する左目用の画像と右目用の画像を取得することが可能であることが開示されている。
【０００９】
一方、カメラを移動させながら画像を撮影して、複数の撮影画像を連結することでパノラマ画像、すなわち２次元の横長画像を生成する手法が知られている。例えば特許文献２（特許第３９２８２２２号公報）や、特許文献３（特許第４２９３０５３号公報）などにパノラマ画像の生成手法が開示されている。
このように２次元のパノラマ画像の生成に際してもカメラの移動による複数の撮影画像が利用される。
【００１０】
上記非特許文献１，２や上記特許文献１は、パノラマ画像の生成処理と同様の撮影処理によって撮影された複数の画像を適用して、所定領域の画像を切り出して連結することで３次元画像としての左目用画像と右目用画像が得られる原理について説明している。
【００１１】
しかし、例えばユーザが手に持ったカメラを振り回す動作によってカメラを移動させて撮影した複数の撮影画像から所定領域の画像を切り出し、連結することによって３次元画像としての左目用画像と右目用画像、あるいは２次元パノラマ画像を生成する場合、ユーザによるカメラの移動態様によっては３次元画像表示用の左目用画像と右目用画像が生成できない場合がある。あるいは２次元パノラマ画像が生成できない場合が発生する。結果として意味のない画像データが記録データとしてメディアに記録されてしまい、再生時にユーザの意図に沿わない画像が再生されたり、あるいは再生不可といった事態が発生することがある。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開平１１−１６４３２６号公報
【特許文献２】特許第３９２８２２２号公報
【特許文献３】特許第４２９３０５３号公報
【非特許文献】
【００１３】
【非特許文献１】「全方位視野の距離情報獲得」（電子情報通信学会論文誌，Ｄ−ＩＩ，Ｖｏｌ．Ｊ７４−Ｄ−ＩＩ，Ｎｏ．４，１９９１）
【非特許文献２】「Ｏｍｎｉ−Ｄｉｒｅｃｔｉｏｎａｌ  Ｓｔｅｒｅｏ」ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎ  Ｏｎ  Ｐａｔｔｅｒｎ  Ａｎａｌｙｓｉｓ  Ａｎｄ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｌｌｉｇｅｎｃｅ，ＶＯＬ．１４，Ｎｏ．２，Ｆｅｂｒｕａｒｙ  １９９２
【発明の概要】
【発明が解決しようとする課題】
【００１４】
本発明は、例えば、上述の問題点に鑑みてなされたものであり、カメラを移動させて撮影した複数の画像から３次元画像表示に適用する左目用画像と右目用画像、あるいは２次元パノラマ画像を生成する構成において、カメラの回転や移動状態に応じて最適な画像生成処理を行い、あるいは２Ｄパノラマ画像や３Ｄ画像の生成ができない場合には、その旨をユーザに警告することを可能とした画像処理装置、撮像装置、および画像処理方法、並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明の第１の側面は、
異なる位置から撮影された複数の画像を入力し、各画像から切り出した短冊領域を連結して合成画像を生成する画像合成部を有し、
前記画像合成部は、
画像撮影時の撮像装置の動き情報に基づいて、
（ａ）３次元画像表示に適用する左目用合成画像と右目用合成画像の合成画像生成処理、または、
（ｂ）２次元パノラマ画像の合成画像生成処理、または、
（ｃ）合成画像生成の中止、
いずれかの処理態様を決定し、決定した処理を行う画像処理装置にある。
【００１６】
さらに、本発明の画像処理装置の一実施態様において、前記画像処理装置は、画像撮影時の撮像装置の回転運動量（θ）を取得または算出する回転運動量検出部と、画像撮影時の撮像装置の並進運動量（ｔ）を取得または算出する並進運動量検出部を有し、前記画像合成部は、前記回転運動量検出部の検出した回転運動量（θ）と、前記並進運動量検出部の検出した並進運動量（ｔ）に基づいて処理態様を決定する。
【００１７】
さらに、本発明の画像処理装置の一実施態様において、前記画像処理装置は、前記画像合成部の決定情報に応じた警告または通知をユーザに提示する出力部を有する。
【００１８】
さらに、本発明の画像処理装置の一実施態様において、前記画像合成部は、前記回転運動量検出部の検出した回転運動量（θ）が０の場合、３次元画像および２次元パノラマ画像の合成画像生成処理を中止する。
【００１９】
さらに、本発明の画像処理装置の一実施態様において、前記画像合成部は、前記回転運動量検出部の検出した回転運動量（θ）が０でなく、かつ前記並進運動量検出部の検出した並進運動量（ｔ）が０の場合、２次元パノラマ画像の合成画像生成処理、または合成画像生成中止のいずれかを実行する。
【００２０】
さらに、本発明の画像処理装置の一実施態様において、前記画像合成部は、前記回転運動量検出部の検出した回転運動量（θ）が０でなく、かつ前記並進運動量検出部の検出した並進運動量（ｔ）も０でない場合、３次元画像または、２次元パノラマ画像の合成画像生成処理のいずれかを実行する。
【００２１】
さらに、本発明の画像処理装置の一実施態様において、前記画像合成部は、前記回転運動量検出部の検出した回転運動量（θ）が０でなく、かつ前記並進運動量検出部の検出した並進運動量（ｔ）も０でない場合において、θ・ｔ＜０である場合と、θ・ｔ＞０である場合において、生成する３Ｄ画像のＬＲ画像を逆の設定とする処理を実行する。
【００２２】
さらに、本発明の画像処理装置の一実施態様において、前記回転運動量検出部は、画像処理装置の回転運動量を検出するセンサである。
【００２３】
さらに、本発明の画像処理装置の一実施態様において、前記並進運動量検出部は、画像処理装置の並進運動量を検出するセンサである。
【００２４】
さらに、本発明の画像処理装置の一実施態様において、前記回転運動量検出部は、撮影画像の解析により画像撮影時の回転運動量を検出する画像解析部である。
【００２５】
さらに、本発明の画像処理装置の一実施態様において、前記並進運動量検出部は、撮影画像の解析により画像撮影時の並進運動量を検出する画像解析部である。
【００２６】
さらに、本発明の第２の側面は、
撮像部と、請求項１〜１１いずれかに記載の画像処理を実行する画像処理部を備えた撮像装置にある。
【００２７】
さらに、本発明の第３の側面は、
画像処理装置において実行する画像処理方法であり、
画像合成部が、異なる位置から撮影された複数の画像を入力し、各画像から切り出した短冊領域を連結して合成画像を生成する画像合成ステップを実行し、
前記画像合成ステップは、
画像撮影時の撮像装置の動き情報に基づいて、
（ａ）３次元画像表示に適用する左目用合成画像と右目用合成画像の合成画像生成処理、または、
（ｂ）２次元パノラマ画像の合成画像生成処理、または、
（ｃ）合成画像生成の中止、
いずれかの処理態様を決定し、決定した処理を行うステップである画像処理方法にある。
【００２８】
さらに、本発明の第４の側面は、
画像処理装置において画像処理を実行させるプログラムであり、
画像合成部に、異なる位置から撮影された複数の画像を入力し、各画像から切り出した短冊領域を連結して合成画像を生成させる画像合成ステップを実行させ、
前記画像合成ステップにおいては、
画像撮影時の撮像装置の動き情報に基づいて、
（ａ）３次元画像表示に適用する左目用合成画像と右目用合成画像の合成画像生成処理、または、
（ｂ）２次元パノラマ画像の合成画像生成処理、または、
（ｃ）合成画像生成の中止、
いずれかの処理態様を決定し、決定した処理を行なわせるプログラムにある。
【００２９】
なお、本発明のプログラムは、例えば、様々なプログラム・コードを実行可能な情報処理装置やコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、情報処理装置やコンピュータ・システム上でプログラムに応じた処理が実現される。
【００３０】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【００３１】
本発明の一実施例の構成によれば複数の画像から切り出した短冊領域を連結して２次元パノラマ画像や３次元画像表示用画像を生成する構成において、カメラの動きに基づいて生成可能な合成画像を決定して決定した合成画像を生成する構成が実現される。複数画像から切り出した短冊領域を連結して２次元パノラマ画像や、３次元画像表示用の左目用合成画像と右目用合成画像を生成する構成において、画像撮影時の撮像装置の動き情報を解析して、２次元パノラマ画像や３次元画像を生成可能であるか否かを判定し、生成可能な合成画像の生成処理を行う。画像撮影時のカメラの回転運動量（θ）と、並進運動量（ｔ）に応じて、（ａ）３次元画像表示に適用する左目用合成画像と右目用合成画像の合成画像生成処理、または、（ｂ）２次元パノラマ画像の合成画像生成処理、または、（ｃ）合成画像生成の中止、これら（ａ）〜（ｃ）いずれかの処理態様を決定し、決定した処理を行う。また、ユーザに対する処理内容の通知や警告を実行する。
【図面の簡単な説明】
【００３２】
【図１】パノラマ画像の生成処理について説明する図である。
【図２】３次元（３Ｄ）画像表示に適用する左目用画像（Ｌ画像）と右目用画像（Ｒ画像）の生成処理について説明する図である。
【図３】３次元（３Ｄ）画像表示に適用する左目用画像（Ｌ画像）と右目用画像（Ｒ画像）の生成原理について説明する図である。
【図４】仮想撮像面を用いた逆モデルについて説明する図である。
【図５】パノラマ画像（３Ｄパノラマ画像）の撮影処理のモデルについて説明する図である。
【図６】パノラマ画像（３Ｄパノラマ画像）の撮影処理において撮影される画像と左目用画像および右目用画像の短冊の設定例について説明する図である。
【図７】短冊領域の連結処理と、３Ｄ左目用合成画像（３ＤパノラマＬ画像）および３Ｄ右目用合成画像（３ＤパノラマＲ画像）の生成処理例について説明する図である。
【図８】カメラを移動させながら連続撮像された複数の画像の各々から短冊領域を切り出して３Ｄ画像や２Ｄパノラマ画像を生成する場合の理想的なカメラの移動処理例について説明する図である。
【図９】カメラを移動させながら連続撮像された複数の画像の各々から短冊領域を切り出して３Ｄ画像や２Ｄパノラマ画像を生成することができなくなるカメラの移動処理例について説明する図である。
【図１０】本発明の画像処理装置の一実施例である撮像装置の構成例について説明する図である。
【図１１】本発明の画像処理装置の実行する画像撮影および合成処理シーケンスについて説明するフローチャートを示す図である。
【図１２】本発明の画像処理装置の実行する処理決定処理シーケンスについて説明するフローチャートを示す図である。
【図１３】回転運動量検出部２１１と、並進運動量検出部２１２の検出情報と、これらの検出情報に応じて決定される処理をまとめて示す図である。
【発明を実施するための形態】
【００３３】
以下、図面を参照しながら、本発明の画像処理装置、撮像装置、および画像処理方法、並びにプログラムについて説明する。説明は以下の項目順に行う。
１．パノラマ画像の生成と３次元（３Ｄ）画像生成処理の基本構成について
２．カメラ移動により撮影した複数画像の短冊領域を利用した３Ｄ画像生成における問題点
３．本発明の画像処理装置の構成例について
４．画像撮影および画像処理シーケンスについて
５．回転運動量検出部と、並進運動量検出部の具体的構成例について
６．回転運動量と並進運動量に基づく処理の切り替え例について
【００３４】
［１．パノラマ画像の生成と３次元（３Ｄ）画像生成処理の基本構成について］
本発明は、撮像装置（カメラ）を移動させながら連続的に撮影した複数の画像を用い、各画像から短冊状に切り出した領域（短冊領域）を連結して３次元（３Ｄ）画像表示に適用する左目用画像（Ｌ画像）と右目用画像（Ｒ画像）を生成する処理に関する。
【００３５】
なお、カメラを移動させながら連続的に撮影した複数の画像を用いて２次元のパノラマ画像（２Ｄパノラマ画像）を生成することを可能としたカメラは、すでに実現され利用されている。まず、２次元合成画像として生成されるパノラマ画像（２Ｄパノラマ画像）の生成処理について図１を参照して説明する。図１には、
（１）撮影処理
（２）撮影画像
（３）２次元合成画像（２Ｄパノラマ画像）
これらを説明する図を示している。
【００３６】
ユーザは、カメラ１０をパノラマ撮影モードにして、カメラ１０を手に持ち、シャッターを押して図１（１）に示すように左（Ａ点）から右（Ｂ点）にカメラを移動させる。カメラ１０はパノラマ撮影モード設定下でユーザによるシャッター押下を検出すると、連続的な画像撮影を実行する。例えば、数１０〜１００枚程度の画像を連続的に撮影する。
【００３７】
これらの画像が図１（２）に示す画像２０である。これら複数の画像２０は、カメラ１０を移動させながら連続撮影した画像であり、異なる視点からの画像となる。例えば１００枚の異なる視点から撮影された画像２０がメモリ上に順次記録される。カメラ１０のデータ処理部は、図１（２）に示す複数画像２０をメモリから読み出して、各画像からパノラマ画像を生成するための短冊領域を切り出して、切り出した短冊領域を連結する処理を実行して図１（３）に示す２Ｄパノラマ画像３０を生成する。
【００３８】
図１（３）に示す２Ｄパノラマ画像３０は、２次元（２Ｄ）の画像であり、単に、撮影画像の一部を切り出して連結することで横長にした画像である。図１（３）に示す点線が画像の連結部を示している。各画像２０の切り出し領域を短冊領域と呼ぶ。
【００３９】
本発明の画像処理装置あるいは撮像装置は、この図１に示すと同様の画像撮影処理、すなわち、図１（１）に示すようにカメラを移動させながら連続撮影した複数の画像を利用して３次元（３Ｄ）画像表示に適用する左目用画像（Ｌ画像）と右目用画像（Ｒ画像）を生成する。
【００４０】
この左目用画像（Ｌ画像）と右目用画像（Ｒ画像）を生成する処理の基本構成について図２を参照して説明する。
図２（ａ）には、図１（２）に示すパノラマ撮影において撮影された１枚の画像２０を示している。
【００４１】
３次元（３Ｄ）画像表示に適用する左目用画像（Ｌ画像）と右目用画像（Ｒ画像）は、図１を参照して説明した２Ｄパノラマ画像の生成処理と同様、この画像２０から所定の短冊領域を切り出して連結することで生成する。
ただし、切り出し領域とする短冊領域は、左目用画像（Ｌ画像）と右目用画像（Ｒ画像）とでは異なる位置とする。
【００４２】
図２（ａ）に示すように、左目用画像短冊（Ｌ画像短冊）５１と、右目用画像短冊（Ｒ画像短冊）５２は、切り出し位置が異なっている。図２には１つの画像２０についてのみ示しているが、図１（２）に示すカメラを移動させて撮影した複数の画像各々について、異なる切り出し位置の左目用画像短冊（Ｌ画像短冊）と、右目用画像短冊（Ｒ画像短冊）を各々設定する。
【００４３】
その後、左目用画像短冊（Ｌ画像短冊）のみを集めて連結することで、図２（ｂ１）３Ｄ左目用パノラマ画像（３ＤパノラマＬ画像）を生成することができる。
また、右目用画像短冊（Ｒ画像短冊）のみを集めて連結することで、図２（ｂ２）３Ｄ右目用パノラマ画像（３ＤパノラマＲ画像）を生成することができる。
【００４４】
このように、カメラを移動させながら撮影した複数画像各々からの切り出し位置を異ならせて設定した短冊を連結することで、３次元（３Ｄ）画像表示に適用する左目用画像（Ｌ画像）と右目用画像（Ｒ画像）を生成することが可能となる。図３を参照してこの原理について説明する。
【００４５】
図３には、カメラ１０を移動させて２つの撮影地点（ａ），（ｂ）において被写体８０を撮影した状況を示している。（ａ）地点では被写体８０の画像は、カメラ１０の撮像素子７０の左目用画像短冊（Ｌ画像短冊）５１に左側から見た画像が記録される。次に、カメラ１０が移動した（ｂ）地点では被写体８０の画像は、カメラ１０の撮像素子７０の右目用画像短冊（Ｒ画像短冊）５２に右側から見た画像が記録される。
【００４６】
このように、同一被写体に対する異なる視点からの画像が撮像素子７０の所定領域（短冊領域）に記録される。
これらを個別に抽出、すなわち、左目用画像短冊（Ｌ画像短冊）のみを集めて連結することで、図２（ｂ１）３Ｄ左目用パノラマ画像（３ＤパノラマＬ画像）が生成され、右目用画像短冊（Ｒ画像短冊）のみを集めて連結することで、図２（ｂ２）３Ｄ右目用パノラマ画像（３ＤパノラマＲ画像）が生成される。
【００４７】
なお、図３では、理解を容易にするためカメラ１０が被写体８０の左側から右側に被写体をクロスする移動の設定として示しているが、このようにカメラ１０が被写体８０をクロスする移動を行うことは必須ではない。カメラ１０の撮像素子７０の所定領域に異なる視点からの画像が記録できれば、３Ｄ画像表示に適用する左目用画像と右目用画像を生成することができる。
【００４８】
次に、図４を参照して、以下の説明において適用する仮想撮像面を用いた逆モデルについて説明する。図４には、
（ａ）画像撮影構成
（ｂ）順モデル
（ｃ）逆モデル
これらの各図を示している。
【００４９】
図４（ａ）に示す画像撮影構成は、図３を参照して説明したと同様のパノラマ画像の撮影時の処理構成を示す図である。
図４（ｂ）は、図４（ａ）に示す撮影処理において実際にカメラ１０内の撮像素子７０に撮り込まれる画像の例を示している。
撮像素子７０には、図４（ｂ）に示すように左目用画像７２、右目用画像７３が上下反転して記録される。このような反転した画像を利用して説明すると混乱しやすいため、以下の説明では、図４（ｃ）に示す逆モデルを利用して説明する。
なお、この逆モデルは撮像装置の画像の解説等においては頻繁に利用されるモデルである。
【００５０】
図４（ｃ）に示す逆モデルは、カメラの焦点に対応する光学中心１０２の前方に仮想撮像素子１０１を設定し、この仮想撮像素子１０１に被写体像が撮り込まれるものと想定している。図４（ｃ）に示すように仮想撮像素子１０１には、カメラ前方左側の被写体Ａ９１が左側、カメラ前方右側の被写体Ｂ９２が右側に撮り込まれ、上下も反転しない設定となり、実際の被写体の位置関係をそのまま反映している。すなわち、仮想撮像素子１０１上の画像は、実際の撮影画像と同じ画像データである。
【００５１】
以下の説明では、この仮想撮像素子１０１を用いた逆モデルを適用して説明を行う。
ただし、図４（ｃ）に示すように、仮想撮像素子１０１上では、左目用画像（Ｌ画像）１１１は、仮想撮像素子１０１上の右側に撮り込まれ、右目用画像（Ｒ画像）１１２は仮想撮像素子１０１上の左側に撮り込まる。
【００５２】
［２．カメラ移動により撮影した複数画像の短冊領域を利用した３Ｄ画像や２Ｄパノラマ画像生成における問題点］
次に、カメラ移動により撮影した複数画像の短冊領域を利用した３Ｄ画像や２Ｄパノラマ画像生成における問題点について説明する。
【００５３】
パノラマ画像（２Ｄ／３Ｄパノラマ画像）の撮影処理のモデルとして、図５に示す撮影モデルを想定する。図５に示すように、カメラ１００の光学中心１０２が回転中心である回転軸Ｐから距離Ｒ（回転半径）だけ離れた位置に設定されるようにカメラ１００を置く。
仮想撮像面１０１は光学中心１０２から、焦点距離ｆだけ回転軸Ｐから外側に設定される。
このような設定で、カメラ１００を回転軸Ｐ回りに右回り（ＡからＢ方向）に回転させて、連続的に複数枚の画像を撮影する。
【００５４】
各撮影ポイントにおいて、２Ｄパノラマ画像生成用短冊の他、左目用画像短冊１１１、右目用画像短冊１１２の各画像が仮想撮像素子１０１上に記録される。
記録画像は例えば図６に示すような構成となる。
図６は、カメラ１００によって撮影された画像１１０を示している。なお、この画像１１０は仮想撮像面１０１上の画像と同じである。
画像１１０に対して、図６に示すように画像中心部から左にオフセットさせて短冊状に切り抜いた領域（短冊領域）を右目用画像短冊１１２とし、右にオフセットさせて短冊状に切り抜いた領域（短冊領域）を左目用画像短冊１１１とする。
【００５５】
なお、図６には、２次元（２Ｄ）パノラマ画像生成時に利用する２Ｄパノラマ画像用短冊１１５を示している。
図６に示すように、２次元合成画像用の短冊である２Ｄパノラマ画像短冊１１５と左目用画像短冊１１１との距離、および２Ｄパノラマ画像短冊１１５と右目用画像短冊１１２との距離を、
「オフセット」、または「短冊オフセット」＝ｄ１，ｄ２
と定義する。
さらに、左目用画像短冊１１１と右目用画像短冊１１２との距離を、
「短冊間オフセット」＝Ｄ
と定義する。
なお、
短冊間オフセット＝（短冊オフセット）×２
Ｄ＝ｄ１＋ｄ２
となる。
【００５６】
短冊幅ｗは、２Ｄパノラマ画像短冊１１５と、左目用画像短冊１１１と、右目用画像短冊１１２ともすべて共通の幅ｗとなる。この短冊幅は、カメラの移動速度等によって変化する。カメラの移動速度が早い場合は短冊幅ｗが広くなり、遅い場合は狭くなる。この点については後段でさらに説明する。
【００５７】
短冊オフセットや短冊間オセットは様々な値に設定可能である。例えば短冊オフセットを大きくすれば、左目用画像と右目用画像の視差がより大きくなり、短冊オフセットを小さくすれば、左目用画像と右目用画像の視差が小さくなる。
【００５８】
短冊オフセット＝０とした場合は、
左目用画像短冊１１１＝右目用画像短冊１１２＝２Ｄパノラマ画像短冊１１５
となる。
この場合は、左目用画像短冊１１１を合成して得られる左目用合成画像（左目用パノラマ画像）と、右目用画像短冊１１２を合成して得られる右目用合成画像（右目用パノラマ画像）は全く同じ画像、すなわち、２Ｄパノラマ画像短冊１１５を合成して得られる２次元パノラマ画像と同じ画像となり、３次元画像表示には利用できなくなる。
なお、以下の説明では、短冊幅ｗや、短冊オフセット、短冊間オフセットの長さは画素数（ｐｉｘｅｌ）によって規定される値として説明する。
【００５９】
カメラ１００内のデータ処理部は、カメラ１００を移動させながら連続撮像された画像間の動きベクトルを求め、前述した短冊領域の絵柄が繋がるように位置あわせをしながら、各画像から切り出す短冊領域を順次決定し、各画像から切り出した短冊領域を連結する。
【００６０】
すなわち各画像から左目用画像短冊１１１のみを選択して連結合成して左目用合成画像（左目用パノラマ画像）を生成し、右目用画像短冊１１２のみを選択して連結合成して右目用合成画像（右目用パノラマ画像）を生成する。
【００６１】
図７（１）は短冊領域の連結処理例を示す図である。各画像の撮影時間間隔をΔｔとして、撮影時間：Ｔ＝０〜ｎΔｔの間にｎ＋１枚の画像を撮影したことを想定している。これらｎ＋１枚の各画像から取り出した短冊領域を連結する。
【００６２】
ただし、３Ｄ左目用合成画像（３ＤパノラマＬ画像）を生成する場合は、左目用画像短冊（Ｌ画像短冊）１１１のみを抽出して連結する。また、３Ｄ右目用合成画像（３ＤパノラマＲ画像）を生成する場合は、右目用画像短冊（Ｒ画像短冊）１１２のみを抽出して連結する。
【００６３】
このように左目用画像短冊（Ｌ画像短冊）１１１のみを集めて連結することで、図７（２ａ）３Ｄ左目用合成画像（３ＤパノラマＬ画像）が生成される。
また、右目用画像短冊（Ｒ画像短冊）１１２のみを集めて連結することで、図７（２ｂ）３Ｄ右目用合成画像（３ＤパノラマＲ画像）が生成される。
【００６４】
図６、図７を参照して説明したように、
画像１００に設定される/２Ｄパノラマ画像短冊１１５を合成して２次元パノラマ画像が生成される。さらに、
画像１００の中心から右側にオフセットした短冊領域をつなぎ合わせて、図７（２ａ）３Ｄ左目用合成画像（３ＤパノラマＬ画像）が生成される。
画像１００の中心から左側にオフセットした短冊領域をつなぎ合わせて、図７（２ｂ）３Ｄ右目用合成画像（３ＤパノラマＲ画像）が生成される。
【００６５】
これら２枚の画像には、先に図３を参照して説明したように、基本的に同じ被写体が写っているが、同じ被写体でも互いに異なる位置から撮像されているので、視差が生じている。これら視差を有する２つの画像を３Ｄ（ステレオ）画像を表示可能な表示装置に表示することで、撮像対象の被写体を立体的に表示することができる。
【００６６】
なお、３Ｄ画像の表示方式には様々な方式がある。
例えば、偏光フィルタや、色フィルタにより左右の眼各々によって観察する画像を分離するパッシブ眼鏡方式に対応する３Ｄ画像表示方式、あるいは、液晶シャッターを左右交互に開閉して観察する画像を左右の眼交互に時間的に分離するアクティブ眼鏡方式に対応する３Ｄ画像表示方式などがある。
上述した短冊連結処理によって生成された左目用画像、右目用画像は、これらの各方式に適用可能である。
【００６７】
上述したようにカメラを移動させながら連続撮像された複数の画像の各々から短冊領域を切り出して左目用画像と右目用画像を生成することで、異なる視点、すなわち左目位置と右目位置から観察した左目用画像、右目用画像を生成することができる。
【００６８】
しかし、カメラを移動させながら連続撮像された複数の画像の各々から短冊領域を切り出してもこのような３Ｄ画像や２Ｄパノラマ画像を生成できない場合がある。
【００６９】
具体的には、例えば図８（Ａ）に示すように、カメラが円弧状を光軸が交差しないように動く場合は、３Ｄ画像や２Ｄパノラマ画像を生成する短冊の切り出しが可能となる。
しかし、このような動き以外の動きを伴って撮影された画像からは３Ｄ画像や２Ｄパノラマ画像を生成する短冊の切り出しが不可能となる場合がある。
例えば、図９に示す（ｂ１）カメラが回転を伴わない並進運動のみを行う場合、あるいは、（ｂ２）カメラの移動に伴う光軸が交差するような円弧状に沿って移動する場合、このような場合である。
【００７０】
ユーザがカメラを持って振り回し動作などのカメラ移動を行う場合、図８に示すような理想的な軌跡を描くように移動させることは困難であり図９（ｂ１），（ｂ２）のような移動になってしまうこともある。
本発明は、このような様々な移動態様で画像が撮影された場合、カメラの回転動作や並進動作に応じて最適な画像生成処理を行い、あるいは２Ｄパノラマ画像や３Ｄ画像の生成ができない場合には、その旨をユーザに警告することを可能とした画像処理装置、撮像装置、および画像処理方法、並びにプログラムを提供することを目的とする。
以下、この処理の詳細について説明する。
【００７１】
［３．本発明の画像処理装置の構成例について］
まず、本発明の画像処理装置の一実施例である撮像装置の構成例について図１０を参照して説明する。
図１０に示す撮像装置２００は、先に図１を参照して説明したカメラ１０に相当し、例えばユーザが手に持ち、パノラマ撮影モードで複数の画像を連続撮影することが可能な構成を持つ。
【００７２】
被写体からの光はレンズ系２０１を経て撮像素子２０２に入射する．撮像素子２０２は例えばＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）やＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）センサによって構成される。
【００７３】
撮像素子２０２に入射した被写体像は、撮像素子２０２によって電気信号に変換される。なお、図示しないが、撮像素子２０２は所定の信号処理回路を有し、信号処理回路において変換された電気信号をさらにデジタル画像データに変換して、画像信号処理部２０３に供給する。
【００７４】
画像信号処理部２０３では、ガンマ補正や輪郭強調補正等の画像信号処理を行い、信号処理結果としての画像信号を表示部２０４に表示する。
さらに、画像信号処理部２０３の処理結果としての画像信号は、
合成処理に適用するための画像メモリである画像メモリ（合成処理用）２０５、
連続撮影された各画像間の移動量を検出するための画像メモリである画像メモリ（移動量検出用）２０６、
各画像間の移動量を算出する移動量算出部２０７、
これらの各部に提供される。
【００７５】
移動量検出部２０７は、画像信号処理部２０３から供給される画像信号とともに、画像メモリ（移動量検出用）２０６に保存された１フレーム前の画像を取得し、現在の画像と１フレーム前の画像の移動量を検出する。例えば連続して撮影された２つの画像を構成する画素間のマッチング処理、すなわち同一被写体の撮影領域を判別するマッチング処理を実行して、各画像間での移動した画素数を算出するものである。なお、基本的には被写体は静止していると仮定した処理を行う。移動被写体が存在する場合は、画像全体の動きベクトルと異なる動きベクトルが検出されるが、これらの移動被写体に対応する動きベクトルは検出対象外として処理を行う。すなわち、カメラ移動に伴って発生する画像全体の動きに対応する動きベクトル（ＧＭＶ：グローバルモーションベクトル）を検出する。
【００７６】
なお移動量は例えば移動画素数として算出する。画像ｎの移動量は、画像ｎと、先行画像ｎ−１との比較により実行し、検出された移動量（画素数）を画像ｎに対応する移動量として移動量メモリ２０８に格納する。
【００７７】
なお、画像メモリ（合成処理用）２０５には、連続撮影された画像の合成処理、すなわちパノラマ画像を生成するための画像を保存するメモリである。この画像メモリ（合成処理用）２０５は、パノラマ撮影モードで撮影された例えばｎ＋１枚の画像のすべての画像を保存する構成としてもよいが、例えば画像の端部を切り落とし、パノラマ画像の生成に必要となる短冊領域を確保できるような画像の中央領域のみを選択して保存しておく設定としてもよい。このような設定とすることで、必要とするメモリ容量を削減することが可能となる。
【００７８】
また、画像メモリ（合成処理用）２０５は、撮影画像データのみならず、焦点距離［ｆ］等の撮影パラメータ等も画像の属性情報として画像に対応づけて記録される。これ等のパラメータは画像データとともに画像合成部２２０に提供される。
【００７９】
回転運動量検出部２１１、並進運動量検出部２１２は、例えばそれぞれ撮像装置２００に備えられたセンサ、あるいは撮影画像の解析を行う画像解析部として公正される。
【００８０】
センサとして構成される場合、回転運動量検出部２１１は、カメラのピッチ／ロール／ヨーといったカメラの姿勢を検出する姿勢検出センサである。並進運動量検出部２１２は、カメラの移動情報として世界座標系に対する動きを検出する動き検出センサである。回転運動量検出部２１１の検出情報と、並進運動量検出部２１２の検出情報は、ともに画像合成部２２０に提供される。
【００８１】
なお、これらの回転運動量検出部２１１の検出情報と、並進運動量検出部２１２の検出情報は、画像の撮影時に撮影画像とともに撮影画像の属性情報として画像メモリ（合成処理用）２０５に格納し、画像メモリ（合成処理用）２０５から画像合成部２２０に合成対象の画像とともに検出情報を入力する構成としてもよい。
【００８２】
また、回転運動量検出部２１１と、並進運動量検出部２１２は、センサではなく画像解析処理を実行する画像解析部によって構成してもよい。回転運動量検出部２１１と、並進運動量検出部２１２は、撮影画像の解析によってセンサ検出情報と同様の情報を取得して、取得情報を画像合成部２２０に提供する。この場合、回転運動量検出部２１１と、並進運動量検出部２１２は、画像メモリ（移動量検出用）２０６から画像データを入力して画像解析を実行する。これらの処理の具体例については後段で説明する。
【００８３】
撮影終了後、画像合成部２２０は、画像メモリ（合成処理用）２０５から画像を取得し、さらにその他の必要情報を取得して、画像メモリ（合成処理用）２０５から取得した画像から短冊領域を切り出して連結する画像合成処理を実行する。この処理により、左目用合成画像と、右目用合成画像を生成する。
【００８４】
画像合成部２２０は、撮影終了後に、画像メモリ(合成処理用)２０５から撮影中に保存された複数の画像（あるいは部分画像）とともに、移動量メモリ２０８に保存された各画像対応の移動量、さらに回転運動量検出部２１１と、並進運動量検出部２１２の検出情報（センサ検出または画像解析によって取得された情報）を入力する。
【００８５】
画像合成部２２０は、これらの入力情報を用いて複数の連続撮影画像からの短冊切り出しと連結処理を行い、２Ｄパノラマ画像あるいは３Ｄ画像としての左目用合成画像（左目用パノラマ画像）と、右目用合成画像（右目用パノラマ画像）を生成する。さらに、各画像についてＪＰＥＧ等の圧縮処理を行った後、記録部（記録メディア）２２１に記録する。
【００８６】
なお、画像合成部２２０では、回転運動量検出部２１１と、並進運動量検出部２１２の検出情報（センサ検出または画像解析によって取得された情報）を入力して、処理態様を決定する。
具体的には、
（ａ）３Ｄパノラマ画像の生成
（ｂ）２Ｄパノラマ画像の生成
（ｃ）３Ｄ，２Ｄパノラマ画像のいずれも生成しない
これらのいずれかの処理を行う。
なお、（ａ）３Ｄパノラマ画像の生成する場合にも、検出情報に応じてＬＲ画（左目用画像と右目用画像）の反転等を行う場合がある。
さらに、（ｃ）３Ｄ，２Ｄパノラマ画像のいずれも生成しない場合にはユーザに対する警告出力処理等を実行する。
なお、これらの具体的処理例については後段で詳細に説明する。
【００８７】
記録部（記録メディア）２２１は、画像合成部２２０において合成された合成画像、すなわち、左目用合成画像（左目用パノラマ画像）と、右目用合成画像（右目用パノラマ画像を保存する。
記録部（記録メディア）２２１は、デジタル信号を記録可能な記録媒体であれば、どのような記録媒体でも良く、例えばハードディスク、光磁気ディスク、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、ＭＤ（Ｍｉｎｉ  Ｄｉｓｋ  ）、半導体メモリ、磁気テープといった記録媒体を用いることができる。
【００８８】
なお、図１０には示していないが、図１０に示す構成以外に撮像装置２００はユーザによる操作の可能なシャッターや、ズーム設定、モード設定処理などの各種入力を行なうための入力操作部、さらに、撮像装置２００において実行される処理の制御を行う制御部や、他の各構成部での処理のプログラム、パラメータを記録した記憶部（メモリ）等を有する。
【００８９】
図１０に示す撮像装置２００の各構成部の処理やデータ入出力は、撮像装置２００内の制御部の制御に従って行われる。制御部は、撮像装置２００内のメモリに予め格納されたプログラムを読み出して、プログラムに従って、撮影画像の取得、データ処理、合成画像の生成、生成した合成画像の記録処理、あるいは表示処理等、撮像装置２００において実行される処理の全般的な制御を実行する。
【００９０】
［４．画像撮影および画像処理シーケンスについて］
次に、図１１に示すフローチャートを参照して本発明の画像処理装置の実行する画像撮影および合成処理シーケンスの一例について説明する。
図１１に示すフローチャートに従った処理は、例えば図１０に示す撮像装置２００内の制御部の制御のもとに実行される。
図１１に示すフローチャートの各ステップの処理について説明する。
まず、画像処理装置（例えば撮像装置２００）は電源ＯＮにより、ハードウェアの診断や初期化を行った後、ステップＳ１０１へ移行する。
【００９１】
ステップＳ１０１では、各種の撮影パラメータを計算する。このステップＳ１０１では、例えば露出計により識別された明るさに関する情報を取得し、絞り値やシャッター速度等の撮影パラメータを計算する。
【００９２】
次にステップＳ１０２へ移行し、制御部は、ユーザによるシャッター操作が行われたか否かを判定する。なお、ここでは、既に３Ｄ画像パノラマ撮影モードに設定されているものとする。
３Ｄ画像パノラマ撮影モードではユーザのシャッター操作により複数毎の画像を連続撮影し、撮影画像から左目用画像短冊と右目用画像短冊を切り出して３Ｄ画像表示に適用可能な左目用合成画像（パノラマ画像）と右目用合成画像（パノラマ画像）を生成して記録する処理が実行される。
【００９３】
ステップＳ１０２において、制御部がユーザによるシャッター操作の検出がなされない場合は、ステップＳ１０１に戻る。
一方、ステップＳ１０２において、制御部がユーザによるシャッター操作があったことを検出するとステップＳ１０３に進む。
ステップＳ１０３において、制御部は、ステップＳ１０１において計算したパラメータに基づく制御を行い撮影処理を開始する。具体的には、例えば、図１０に示すレンズ系２０１の絞り駆動部の調整等を実行して、画像の撮影を開始する。
【００９４】
画像の撮影処理は、連続的に複数の画像を撮影する処理として行われる。図１０に示す撮像素子２０２から連続撮影画像各々に対応する電気信号が、順次読み出されて画像信号処理部２０３においてガンマ補正や輪郭強調補正等の処理が実行され、処理結果が表示部２０４に表示されるとともに、各メモリ２０５，２０６、移動量検出部２０７に順次、供給される。
【００９５】
次にステップＳ１０４に移行し、画像間移動量を算出する。この処理は、図１０に示す移動量検出部２０７の処理である。
移動量検出部２０７は、画像信号処理部２０３から供給される画像信号とともに、画像メモリ（移動量検出用）２０６に保存された１フレーム前の画像を取得し、現在の画像と１フレーム前の画像の移動量を検出する。
【００９６】
なお、ここで算出する移動量は、前述したように例えば連続して撮影された２つの画像を構成する画素間のマッチング処理、すなわち同一被写体の撮影領域を判別するマッチング処理を実行して、各画像間での移動した画素数を算出するものである。なお、基本的には被写体は静止していると仮定した処理を行う。移動被写体が存在する場合は、画像全体の動きベクトルと異なる動きベクトルが検出されるが、これらの移動被写体に対応する動きベクトルは検出対象外として処理を行う。すなわち、カメラ移動に伴って発生する画像全体の動きに対応する動きベクトル（ＧＭＶ：グローバルモーションベクトル）を検出する。
【００９７】
なお移動量は例えば移動画素数として算出する。画像ｎの移動量は、画像ｎと、先行画像ｎ−１との比較により実行し、検出された移動量（画素数）を画像ｎに対応する移動量として移動量メモリ２０８に格納する。
この移動利用保存処理がステップＳ１０５の保存処理に対応する。ステップＳ１０５では、ステップＳ１０４で検出した画像間の移動量を各連写画像のＩＤと関連付けて、図１０に示す移動量メモリ２０８に保存する。
【００９８】
次に、ステップＳ１０６に移行し、ステップＳ１０３において撮影され、画像信号処理部２０３において処理された画像を図１０に示す画像メモリ（合成処理用）２０５に格納する。なお、前述したように、画像メモリ（合成処理用）２０５は、パノラマ撮影モード（または３Ｄ画像パノラマ撮影モード）で撮影された例えばｎ＋１枚の画像のすべての画像を保存する構成としてもよいが、例えば画像の端部を切り落とし、パノラマ画像（３Ｄパノラマ画像）の生成に必要となる短冊領域を確保できるような画像の中央領域のみを選択して保存しておく設定としてもよい。このような設定とすることで、必要とするメモリ容量を削減することが可能となる。なお、画像メモリ（合成処理用）２０５には、ＪＰＥＧ等の圧縮処理を行った後、保存する構成としてもよい。
【００９９】
次にステップＳ１０７に移行し、制御部は、ユーザによるシャッターの押圧が継続しているか否を判定する。すなわち、撮影終了のタイミングを判別する。
ユーザによるシャッターの押圧が継続している場合は、撮影を継続させるべくステップＳ１０３へ戻り、被写体の撮像を繰り返す。
一方、ステップＳ１０７において、シャッターの押圧が終了していると判断すると、撮影の終了動作へ移行すべくステップＳ１０８へ進む。
【０１００】
パノラマ撮影モードでの連続画像撮影が終了すると、ステップＳ１０８において、画像合成部２２０は実行処理の決定を行う。すなわち、回転運動量検出部２１１と、並進運動量検出部２１２の検出情報（センサ検出または画像解析によって取得された情報）を入力して、処理態様を決定する。
具体的には、
（ａ１）３Ｄパノラマ画像の生成
（ａ２）３Ｄパノラマ画像の生成（ただしＬＲ画像の反転処理を伴う）
（ｂ）２Ｄパノラマ画像の生成
（ｃ）３Ｄ，２Ｄパノラマ画像のいずれも生成しない
これらのいずれかの処理を行う。
なお、（ａ１），（ａ２）に示すように３Ｄパノラマ画像の生成する場合にも、検出情報に応じてＬＲ画（左目用画像と右目用画像）の反転等を行う場合がある。
さらに、（ｃ）３Ｄ，２Ｄパノラマ画像のいずれも生成しない場合や、決定した処理に移行する場合等、各場面でユーザに対する通知、警告出力を実行する。
ステップＳ１０８の実行処理の決定の具体的処理例について、図１２に示すフローチャートを参照して説明する。
【０１０１】
ステップＳ２０１において、画像合成部２２０は回転運動量検出部２１１と、並進運動量検出部２１２の検出情報（センサ検出または画像解析によって取得された情報）を入力する。
【０１０２】
なお、回転運動量検出部２１１は、画像合成部２２０において画像合成処理対象となる画像を撮影した時点におけるカメラの回転運動量θを取得または算出し、この値を画像合成部２２０に出力する。なお、回転運動量検出部２１１の検出情報は、回転運動量検出部２１１から直接、画像合成部２２０に出力する設定としてもよいし、画像の属性情報として画像に併せてメモリに記録し、画像合成部２２０がメモリに記録値された値を取得する構成としてもよい。
【０１０３】
また、並進運動量検出部２１２は、画像合成部２２０において画像合成処理対象となる画像を撮影した時点におけるカメラの並進運動量ｔを取得または算出し、この値を画像合成部２２０に出力する。なお、並進運動量検出部２１２の検出情報は、並進運動量検出部２１２から直接、画像合成部２２０に出力する設定としてもよいし、画像の属性情報として画像に併せてメモリに記録し、画像合成部２２０がメモリに記録値された値を取得する構成としてもよい。
【０１０４】
なお、回転運動量検出部２１１と、並進運動量検出部２１２は、例えばセンサ、あるいは画像解析部によって構成される。これらの具体的構成例と処理例については後段で説明する。
【０１０５】
画像合成部２２０は、まず、ステップＳ２０２において、回転運動量検出部２１１の取得した画像撮影時のカメラの回転運動量：θが０に等しいか否かを判定する。なお、測定誤差等を考慮し、検出値が０に完全に等しくない場合でも予め設定した許容範囲内の差であれば０と判断するといった処理を行う構成としてもよい。
【０１０６】
ステップＳ２０２において画像撮影時のカメラの回転運動量：θ＝０と判定した場合は、ステップＳ２０３に進み、θ≠０と判定した場合は、ステップＳ２０５に進む。
【０１０７】
ステップＳ２０２において画像撮影時のカメラの回転運動量：θ＝０と判定した場合は、ステップＳ２０３に進み、２Ｄパノラマ画像、３Ｄパノラマ画像のいずれも生成不可能であることをユーザに通知する警告出力を行う。
なお、画像合成部２２０の決定情報は装置の制御部に出力され、制御部の制御の下に決定情報に応じた警告または通知が例えば表示部２０４に表示される。あるいはアラームの出力を行う構成としてもよい。
【０１０８】
カメラの回転運動量：θ＝０の場合とは、先に図９（ｂ１）を参照して説明した例に対応する。このような移動を伴う画像撮影を行った場合は、２Ｄパノラマ画像、３Ｄパノラマ画像のいずれも生成不可能であり、このことをユーザに通知する警告出力を行う。
この警告出力後、ステップＳ２０４に進み、画像の合成処理を行うことなく処理を終了する。
【０１０９】
一方、ステップＳ２０２において画像撮影時のカメラの回転運動量：θ≠０と判定した場合は、ステップＳ２０５に進み、並進運動量検出部２１２の取得した画像撮影時のカメラの並進運動量：ｔが０に等しいか否かを判定する。なお、測定誤差等を考慮し、検出値が０に完全に等しくない場合でも予め設定した許容範囲内の差であれば０と判断するといった処理を行う構成としてもよい。
【０１１０】
ステップＳ２０５において画像撮影時のカメラの並進運動量：ｔ＝０と判定した場合は、ステップＳ２０６に進み、ｔ≠０と判定した場合は、ステップＳ２０９に進む。
ステップＳ２０５において画像撮影時のカメラの並進運動量：ｔ＝０と判定した場合は、ステップＳ２０６に進み、３Ｄパノラマ画像の生成が不可能であることをユーザに通知する警告出力を行う。
【０１１１】
カメラの回転運動量：ｔ＝０の場合とは、カメラの並進運動量がない場合である。ただし、この場合は、ステップＳ２０２において回転運動量：θ≠０と判定されており、何らかの回転が行われた状態にある。この場合は、３Ｄパノラマ画像の生成はできないが、２Ｄパノラマ画像の生成は可能となる。
このことをユーザに通知する警告出力を行う。
【０１１２】
このステップＳ２０６における警告出力後、ステップＳ２０７に進み、２Ｄパノラマ画像の生成を行うか否かを判定する。この判定処理は、例えば、ユーザに対する問い合わせを実行してユーザ入力に基づく確認処理として実行する。あるいは、予め設定された情報に従って処理を決定する。
【０１１３】
ステップＳ２０７において、２Ｄパノラマ画像の生成を行うと判定した場合は、ステップＳ２０８において、２Ｄパノラマ画像の生成を実行する。
一方、ステップＳ２０７において、２Ｄパノラマ画像の生成を行わないと判定した場合は、ステップＳ２０４に進み、画像の合成処理を行うことなく処理を終了する。
【０１１４】
ステップＳ２０５において、画像撮影時のカメラの並進運動量：ｔ≠０と判定した場合は、ステップＳ２０９に進み、画像撮影時のカメラの回転運動量：θと、並進運動量：ｔとの乗算値：θ×ｔが０未満であるか否かを判定する。なお、カメラの回転運動量：θは、図５に示すように右回りを＋、カメラの並進運動量：ｔは、図５に示すように右方向の移動を＋としている。
【０１１５】
画像撮影時のカメラの回転運動量：θと、並進運動量：ｔとの乗算値：θ×ｔが０以上、すなわち、
θ・ｔ＜０
上記式が成立しない場合は、
（ａ１）θ＞０、かつ、ｔ＞０、
または、
（ａ２）θ＜０、かつ、ｔ＜０
上記（ａ１）または（ａ２）の場合である。
（ａ１）の場合は図５に示す例に対応する。（ａ２）の場合は、図５に示す例と、回転方向も逆であり、並進移動方向も逆の場合である。
【０１１６】
このような場合は、正常な３Ｄ画像用の左目用パノラマ画像（Ｌ画像）と、右目用パノラマ画像（Ｒ画像）の生成が可能となる。
【０１１７】
この場合、すなわち、ステップＳ２０９において、画像撮影時のカメラの回転運動量：θと、並進運動量：ｔとの乗算値：θ×ｔが０以上、すなわち、
θ・ｔ＜０
上記式が成立しないと判定した場合は、ステップＳ２１２に進み、正常な３Ｄ図像用の左目用パノラマ画像（Ｌ画像）と、右目用パノラマ画像（Ｒ画像）の生成処理を実行する。
【０１１８】
一方、ステップＳ２０９において、画像撮影時のカメラの回転運動量：θと、並進運動量：ｔとの乗算値：θ×ｔが０未満、すなわち、
θ・ｔ＜０
上記式が成立する場合は、
（ｂ１）θ＞０、かつ、ｔ＜０、
または、
（ｂ２）θ＜０、かつ、ｔ＞０
上記（ｂ１）または（ｂ２）の場合である。
この場合は、正常な３Ｄ画像用の左目用パノラマ画像（Ｌ画像）と、右目用パノラマ画像（Ｒ画像）を入れ替える処理を行う、すなわちＬＲ画像を入れ替えることで正常な３Ｄ画像用の左目用パノラマ画像（Ｌ画像）と、右目用パノラマ画像（Ｒ画像）を生成することが可能となる。
【０１１９】
この場合は、ステップＳ２１０に進む。ステップＳ２１０では、３Ｄパノラマ画像の生成を行うか否かを判定する。この判定処理は、例えば、ユーザに対する問い合わせを実行してユーザ入力に基づく確認処理として実行する。あるいは、予め設定された情報に従って処理を決定する。
【０１２０】
ステップＳ２１０において、３Ｄパノラマ画像の生成を行うと判定した場合は、ステップＳ２１１において、３Ｄパノラマ画像の生成を実行する。ただし、この場合の処理は、ステップＳ２１２における３Ｄパノラマ画像の生成処理と異なり、ステップＳ２１２における３Ｄパノラマ画像の生成処理と同様の処理シーケンスで生成した左目用画像（Ｌ画像）を右目用画像（Ｒ画像）とし、右目用画像（Ｒ画像）を左目用画像（Ｌ画像）とするＬＲ画像反転処理を実行する。
【０１２１】
ステップＳ２１０において、３Ｄパノラマ画像の生成を行わないと判定した場合は、ステップＳ２０７に進み、２Ｄパノラマ画像の生成を行うか否かを判定する。この判定処理は、例えば、ユーザに対する問い合わせを実行してユーザ入力に基づく確認処理として実行する。あるいは、予め設定された情報に従って処理を決定する。
【０１２２】
ステップＳ２０７において、２Ｄパノラマ画像の生成を行うと判定した場合は、ステップＳ２０８において、２Ｄパノラマ画像の生成を実行する。
一方、ステップＳ２０７において、２Ｄパノラマ画像の生成を行わないと判定した場合は、ステップＳ２０４に進み、画像の合成処理を行うことなく処理を終了する。
【０１２３】
このように、画像合成部２２０は、回転運動量検出部２１１と、並進運動量検出部２１２の検出情報（センサ検出または画像解析によって取得された情報）を入力して、処理態様を決定する。
この処理が、図１１のステップＳ１０８の処理として行われる。
【０１２４】
ステップＳ１０８の処理の終了後、図１１のステップＳ１０９に進む。ステップＳ１０９はステップＳ１０８の実行処理の決定に応じた分岐ステップを示している。図１２のフローを参照して説明したように、画像合成部２２０は、回転運動量検出部２１１と、並進運動量検出部２１２の検出情報（センサ検出または画像解析によって取得された情報）に応じて、
（ａ１）３Ｄパノラマ画像の生成（図１２のフローのステップＳ２１２）
（ａ２）３Ｄパノラマ画像の生成（ただしＬＲ画像の反転処理を伴う）（図１２のフローのステップＳ２１１）
（ｂ）２Ｄパノラマ画像の生成（図１２のフローのステップＳ２０８）
（ｃ）３Ｄ，２Ｄパノラマ画像のいずれも生成しない（図１２のフローのステップＳ２０４）
上記いずれかの処理を決定する。
【０１２５】
ステップＳ１０８の処理において、（ａ１）または（ａ２）の処理を決定した場合、すなわち、図１２に示すフローにおいてステップＳ２１１またはＳ２１２の３Ｄ画像合成処理を実行処理として決定した場合は、ステップＳ１１０に進む。
ステップＳ１０８の処理において、（ｂ）の処理を決定した場合、すなわち、図１２に示すフローにおいてステップＳ２０８の２Ｄ画像合成処理を実行処理として決定した場合は、ステップＳ１２１に進む。
ステップＳ１０８の処理において、（ｃ）の処理を決定した場合、すなわち、図１２に示すフローにおいてステップＳ２０４の画像合成処理なしを実行処理として決定した場合は、ステップＳ１１３に進む。
【０１２６】
ステップＳ１０８の処理において、（ｃ）の処理、すなわち、図１２に示すフローにおいてステップＳ２０４の画像合成処理なしを実行処理として決定した場合は、ステップＳ１１３に進み、画像合成を実行することなく、撮影された画像を記録部（記録メディア）２２１に記録して終了する。なお、この記録処理の前に、画像の記録を行うか否かのユーザ確認を実行して記録する意思がある場合にのみ記録する処理を行う構成としてもよい。
【０１２７】
ステップＳ１０８の処理において、（ｂ）の処理、すなわち、図１２に示すフローにおいてステップＳ２０８の２Ｄ画像合成処理を実行処理として決定した場合は、ステップＳ１２１に進み、各画像から２Ｄパノラマ画像生成用短冊を切り出して連結する２Ｄパノラマ画像生成処理としての画像合成処理を実行し、生成した２Ｄパノラマ画像を記録部（記録メディア）２２１に記録して終了する。
【０１２８】
ステップＳ１０８の処理において、（ａ１）または（ａ２）の処理、すなわち、図１２に示すフローにおいてステップＳ２１１またはＳ２１２の３Ｄ画像合成処理を実行処理として決定した場合は、ステップＳ１１０に進み、各画像か３Ｄパノラマ画像生成用短冊を切り出して連結する３Ｄパノラマ画像生成処理としての画像合成処理を実行する。
【０１２９】
まず、ステップＳ１１０において、画像合成部２２０は、３Ｄ画像とする左目用画像と右目用画像の短冊領域のオフセット量、すなわち左目用画像と右目用画像の短冊領域間の距離（短冊間オフセット）：Ｄを算出する。
【０１３０】
なお、先に図６を参照して説明したように、本明細書においては、２次元合成画像用の短冊である２Ｄパノラマ画像短冊１１５と左目用画像短冊１１１との距離、および２Ｄパノラマ画像短冊１１５と右目用画像短冊１１２との距離を、
「オフセット」、または「短冊オフセット」＝ｄ１，ｄ２とし、
左目用画像短冊１１１と右目用画像短冊１１２との距離を、
「短冊間オフセット」＝Ｄ
と定義している。
なお、
短冊間オフセット＝（短冊オフセット）×２
Ｄ＝ｄ１＋ｄ２
となる。
【０１３１】
ステップＳ１１０における左目用画像と右目用画像の短冊領域間の距離（短冊間オフセット）：Ｄと短冊オフセット：ｄ１，ｄ２の算出処理に際しては、例えば以下の条件を満足するようにオフセットを設定する。
（条件１）左目用画像短冊と右目用画像短冊の短冊の重なりが発生しない、
かつ、
（条件２）画像メモリ（合成処理用）２０５に格納される画像領域の外にはみ出ない、
これらの条件１，２を満足する設定とした短冊オフセットｄ１，ｄ２を算出する。
【０１３２】
ステップＳ１１０において、左目用画像と右目用画像の短冊領域間の距離である短冊間オフセットＤの算出が完了すると、ステップＳ１１１に進む。
【０１３３】
ステップＳ１１１では、撮影画像を利用した第１画像合成処理を行う。さらに、ステップＳ１１２に進み、撮影画像を利用した第２画像合成処理を行う。
これらステップＳ１１１〜Ｓ１１２の画像合成処理は、３Ｄ画像表示に適用する左目用合成画像と右目用合成画像の生成処理である。合成画像は例えばパノラマ画像として生成される。
【０１３４】
前述したように、左目用合成画像は、左目用画像短冊のみを抽出して連結する合成処理により生成される。右目用合成画像は、右目用画像短冊のみを抽出して連結する合成処理により生成される。これらの合成処理の結果、例えば図７（２ａ），（２ｂ）に示す２つのパノラマ画像が生成されることになる。
【０１３５】
ステップＳ１１１〜Ｓ１１２の画像合成処理は、ステップＳ１０２のシャッター押下判定がＹｅｓとなってからステップＳ１０７でシャッター押下終了が確認されるまでの連続画像撮影中に画像メモリ（合成処理用）２０５に保存された複数の画像（または部分画像）を利用して実行される。
【０１３６】
この合成処理に際して、画像合成部２２０は、複数の画像各々に関連づけられた移動量を移動量メモリ２０８から取得し、さらに、ステップＳ１１０において算出した短冊間オフセットＤ＝ｄ１＋ｄ２の値を入力する
【０１３７】
例えばステップＳ１１１では、オフセットｄ１を適用して左目用画像の短冊位置を決定し、ステップＳ１１２では、オフセットｄ１を適用して左目用画像の短冊位置を決定する。
なお、ｄ１＝ｄ２としてもよいが、必ずしもｄ１＝ｄ２とする必要はない。
Ｄ＝ｄ１＋ｄ２の条件を満足すればもｄ１，ｄ２の値は異なっていてもよい。
【０１３８】
画像合成部２２０は、
左目用合成画像を構成するための左目画像用短冊は、画像中央から右側へ所定量オフセットした位置に設定する。
右目用合成画像を構成するための右目画像用短冊は、画像中央から左側へ所定量オフセットした位置に設定する。
【０１３９】
画像合成部２２０は、この短冊領域の設定処理に際して、３Ｄ画像として成立する左目用画像と右目用画像の生成条件を満たすオフセット条件を満たすように短冊領域を決定する。
【０１４０】
画像合成部２２０は、各画像について左目用および右目用画像短冊を切り出して連結することで画像合成を行い、左目用合成画像と右目用合成画像を生成する。
なお、画像メモリ（合成処理用）２０５に保存された画像（または部分画像）がＪＰＥＧ等で圧縮されたデータである場合は、処理速度の高速化を図るため、ステップＳ１０４で求められた画像間の移動量に基づいて、ＪＰＥＧ等の圧縮を解凍する画像領域を、合成画像として利用する短冊領域のみに設定する適応的な解凍処理を実行する構成としてもよい。
【０１４１】
ステップＳ１１１、Ｓ１１２の処理によって、３Ｄ画像表示に適用する左目用合成画像と右目用合成画像が生成される。
【０１４２】
なお、
（ａ１）３Ｄパノラマ画像の生成（図１２のフローのステップＳ２１２）、
この処理を実行する場合は、上記の処理において生成した左目用画像（Ｌ画像）と右目用画像（Ｒ画像）をそのまま３Ｄ画像表示用のＬＲ画像としてメディアに記録する。
しかし、
（ａ２）３Ｄパノラマ画像の生成（ただしＬＲ画像の反転処理を伴う）（図１２のフローのステップＳ２１１）
この処理を実行する場合は、上記の処理において生成した左目用画像（Ｌ画像）と右目用画像（Ｒ画像）を、入れ替える知り、すなわち、上記の処理において生成した左目用画像（Ｌ画像）を右目用画像（Ｒ画像）とし、右目用画像（Ｒ画像）を左目用画像（Ｌ画像）として３Ｄ画像表示用のＬＲ画像として設定する。
【０１４３】
最後に、次にステップＳ１１３に移行し、ステップＳ１１１、Ｓ１１２で合成された画像を適切な記録フォーマット（例えば、ＣＩＰＡ  ＤＣ−００７  Ｍｕｌｔｉ−Ｐｉｃｔｕｒｅ  Ｆｏｒｍａｔ等）に従って生成し、記録部（記録メディア）２２１に格納する。
【０１４４】
以上のようなステップを実行すれば、３Ｄ画像表示に適用するための左目用、および右目用の２枚の画像が合成できる。
【０１４５】
［５．回転運動量検出部と、並進運動量検出部の具体的構成例について］
次に、回転運動量検出部２１１と、並進運動量検出部２１２の具体的構成の具体例について説明する。
【０１４６】
回転運動量検出部２１１はカメラの回転運動量を検出し、並進運動量検出部２１２はカメラの並進運動量を検出する。
これらの各検出部における検出構成の具体例として以下の３つの例について説明する。
（例１）センサによる検出処理例
（例２）画像解析による検出処理例
（例３）センサと画像解析の併用による検出処理例
以下、これらの処理例について順次説明する。
【０１４７】
（例１）センサによる検出処理例
まず、回転運動量検出部２１１と、並進運動量検出部２１２をセンサとして構成する例について説明する。
カメラの並進運動は、例えば加速度センサを用いることで検知することができる。あるいは、人工衛星からの電波を用いたＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）により緯度経度から算出することが可能である。なお、加速度センサを適用した並進運動量の検出処理については例えば特開２０００−７８６１４に開示されている。
【０１４８】
また、カメラの回転運動（姿勢）に関しては、地磁気センサを用いて、地磁気の方向を基準として方角を測定する方法や、重力の方向を基準として加速度計を応用して傾斜角を検出する方法や、振動ジャイロと加速度センサを組み合わせた角度センサを用いる方法や、角速度センサを用いて初期状態の基準となる角度から比較を行い算出する方法がある。
【０１４９】
このように、回転運動量検出部２１１としては地磁気センサ、加速度計、振動ジャイロ、加速度センサ、角度センサ、角速度センサ、これらのセンサまたは各センサの組み合わせによって構成することができる。
また、並進運動量検出部２１２は、加速度センサ、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）によって構成することが可能である。
これらのセンサの検出情報としての回転運動量と、並進運動量が直接、あるいは画像メモリ（合成処理用）２０５を介して画像合成部２１０に提供され、画像合成部２１０においてこれ等の検出値に基づいて合成処理の態様を決定する。
【０１５０】
（例２）画像解析による検出処理例
次に、回転運動量検出部２１１と、並進運動量検出部２１２をセンサではなく、撮影画像を入力して画像解析を実行する画像解析部として構成する例について説明する。
【０１５１】
本例は、図１０の回転運動量検出部２１１と、並進運動量検出部２１２は、画像メモリ（移動量検出用）２０５から合成処理対象となる画像データを入力して入力画像の解析を実行して、その画像が撮影された時点におけるカメラの回転成分と並進成分を取得する。
【０１５２】
具体的には、まず、合成対象となる連続撮影された画像からハリスコーナー検出器等を用いて特徴量を抽出する。さらに各画像の特徴量間のマッチングや、各画像を等間隔分割して分割領域単位のマッチング（ブロックマッチング）を用いることで、各画像間のオプティカルフローを算出する。さらにカメラモデルが透視投影像であることを前提として、非線形方程式を繰り返し法により解き、回転成分と並進成分を抽出することができる。なお、この手法については、例えば以下の文献に詳細が記載され、この手法を適用することが可能である。
（"Multi View Geometry in Computer Vision", Richard Hartley and Andrew Zisserman, Cambridge University Press）。
【０１５３】
あるいは、より簡便には、被写体を平面と仮定することで、オプティカルフローからホモグラフィー（Ｈｏｍｏｇｒａｐｈｙ）を算出し、回転成分と並進成分を算出する方法を適用してもよい。
【０１５４】
本処理例を実行する場合は、図１０の回転運動量検出部２１１と、並進運動量検出部２１２はセンサではなく画像解析部として構成される。回転運動量検出部２１１と、並進運動量検出部２１２は、画像メモリ（移動量検出用）２０５から合成処理対象となる画像データを入力して入力画像の解析を実行して画像撮影時におけるカメラの回転成分と並進成分を取得する。
【０１５５】
（例３）センサと画像解析の併用による検出処理例
次に、回転運動量検出部２１１と、並進運動量検出部２１２がセンサ機能と、画像解析部としての両機能を備え、センサ検出情報と画像解析情報の両者を取得する処理例について説明する。
ではなく、撮影画像を入力して画像解析を実行する画像解析部として構成する例について説明する。
【０１５６】
角速度センサにより得られた角速度データを基に角速度が０になるように連写画像を補正処理により並進運動だけを含む連写画像とし、加速度センサにより得られた加速度データと補正処理後の連写画像から並進運動を算出することができる。なお、この処理については、例えば特開２０００−２２２５８０号公報に開示されている
【０１５７】
本処理例は、回転運動量検出部２１１と、並進運動量検出部２１２中、並進運動量検出部２１２については角速度センサと画像解析部を備えた構成とし、これらの構成により、上記特開２０００−２２２５８０号公報に開示された手法を適用して画像撮影時の並進運動量を算出するものである。
【０１５８】
回転運動量検出部２１１については、上記（例１）センサによる検出処理例、または、（例２）画像解析による検出処理例、これらの知り例において説明したいずれかのセンサ構成、または画像解析部構成とする。
【０１５９】
［６．回転運動量と並進運動量に基づく処理の切り替え例について］
次に、カメラの回転運動量と並進運動量に基づく処理の切り替え例について説明する。
【０１６０】
先に図１２のフローチャートを参照して説明したように、画像合成部２２０は上述した回転運動量検出部２１１と、並進運動量検出部２１２における処理によって取得または算出された画像撮影時の撮像装置(カメラ)の回転運動量と並進運動量に基づいて、処理態様を変更する。
【０１６１】
具体的には、画像合成部２２０は、回転運動量検出部２１１と、並進運動量検出部２１２の検出情報（センサ検出または画像解析によって取得された情報）に応じて、
（ａ１）３Ｄパノラマ画像の生成（図１２のフローのステップＳ２１２）
（ａ２）３Ｄパノラマ画像の生成（ただしＬＲ画像の反転処理を伴う）（図１２のフローのステップＳ２１１）
（ｂ）２Ｄパノラマ画像の生成（図１２のフローのステップＳ２０８）
（ｃ）３Ｄ，２Ｄパノラマ画像のいずれも生成しない（図１２のフローのステップＳ２０４）
上記いずれかの処理を決定する。
【０１６２】
回転運動量検出部２１１と、並進運動量検出部２１２の検出情報と、これらの検出情報に応じて決定される処理をまとめた図を図１３に示す。
【０１６３】
カメラの回転運動量：θ＝０（Ｓｔａｔｅ４、Ｓｔａｔｅ５、あるいは、Ｓｔａｔｅ６）の場合は、２Ｄ合成も３Ｄ合成も正しく行えないため、警告を出す等のフィードバックをユーザに行い、画像合成処理を実行することなく、再度、撮影待機状態に戻る。
【０１６４】
カメラの回転運動量：θ≠０の場合で、かつ並進運動量：ｔ＝０（Ｓｔａｔｅ２、あるいは、Ｓｔａｔｅ８）の場合、３Ｄ撮影を行っても視差が得られないため、２Ｄ合成のみを行うか、警告を出す等のフィードバックをユーザに行い、待機状態に戻る。
【０１６５】
さらに、回転運動量：θ≠０、かつ並進運動量：ｔ≠０（ともにゼロでない場合）で、かつ、回転運動量：θと並進運動量：ｔ各々の符号が逆、すなわち、
θ・ｔ＜０
であれば（Ｓｔａｔｅ３、Ｓｔａｔｅ７）、２Ｄ合成も３Ｄ合成も可能である。ただし、カメラの光軸が交差する方向に撮影されるため、３Ｄ画像合成の場合は左画像と右画像の極性を逆にして記録することが必要となる。
この場合は、例えばいずれの画像を記録するかをユーザに問い合わせて確認した後、ユーザの希望する処理を実行する。ユーザがデータ記録を希望しない場合は、記録せずに待機状態に戻る。
【０１６６】
さらに、回転運動量：θ≠０、かつ並進運動量：ｔ≠０（ともにゼロでない場合）で、かつ、回転運動量：θと並進運動量：ｔ各々の符号が同じ、すなわち、
θ・ｔ＞０
であれば（Ｓｔａｔｅ１、Ｓｔａｔｅ９）、２Ｄ合成も３Ｄ合成も可能である。
この場合は、カメラの動きは想定する状態であるので、３Ｄ合成行い、待機状態に戻る。なお、この場合にも、２Ｄ画像、３Ｄ画像のいずれの画像を記録するかをユーザに問い合わせて確認した後、ユーザの希望する処理を実行する設定としてもよい。ユーザがデータ記録を希望しない場合は、記録せずに待機状態に戻る。
【０１６７】
このように、本発明の構成では、ユーザが様々な条件で撮影した画像を合成して３Ｄ画像としての左目用画像と右目用画像、あるいは２Ｄパノラマ画像を生成する構成において、カメラの回転運動量：θと並進運動量：ｔに基づいて生成可能な合成画像を判別して、生成可能な画像合成処理を実行し、またユーザに対する確認処理を実行してユーザの希望する画像合成処理を行う構成とした。
従って、ユーザの望む画像を確実に生成してメディアに記録することが可能となる。
【０１６８】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
【０１６９】
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０１７０】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【０１７１】
以上、説明したように、本発明の一実施例の構成によれば、複数の画像から切り出した短冊領域を連結して２次元パノラマ画像や３次元画像表示用画像を生成する構成において、カメラの動きに基づいて生成可能な合成画像を決定して決定した合成画像を生成する構成が実現される。複数画像から切り出した短冊領域を連結して２次元パノラマ画像や、３次元画像表示用の左目用合成画像と右目用合成画像を生成する構成において、画像撮影時の撮像装置の動き情報を解析して、２次元パノラマ画像や３次元画像を生成可能であるか否かを判定し、生成可能な合成画像の生成処理を行う。画像撮影時のカメラの回転運動量（θ）と、並進運動量（ｔ）に応じて、（ａ）３次元画像表示に適用する左目用合成画像と右目用合成画像の合成画像生成処理、または、（ｂ）２次元パノラマ画像の合成画像生成処理、または、（ｃ）合成画像生成の中止、これら（ａ）〜（ｃ）いずれかの処理態様を決定し、決定した処理を行う。また、ユーザに対する処理内容の通知や警告を実行する。
【符号の説明】
【０１７２】
１０  カメラ
２０  画像
２１  ２Ｄパノラマ画像用短冊
３０  ２Ｄパノラマ画像
５１  左目用画像短冊
５２  右目用画像短冊
７０  撮像素子
７２  左目用画像
７３  右目用画像
１００  カメラ
１０１  仮想撮像面
１０２  光学中心
１１０  画像
１１１  左目用画像短冊
１１２  右目用画像短冊
１１５  ２Ｄパノラマ画像用短冊
２００  撮像装置
２０１  レンズ系
２０２  撮像素子
２０３  画像信号処理部
２０４  表示部
２０５  画像メモリ（合成処理用）
２０６  画像メモリ（移動量検出用）
２０７  移動量検出部
２０８  移動量メモリ
２１１  回転運動量検出部
２１２  並進運動量検出部
２２０  画像合成部
２２１  記録部
【図１】
2012068380.tif 000003
【図２】
2012068380.tif 000004
【図３】
2012068380.tif 000005
【図４】
2012068380.tif 000006
【図７】
2012068380.tif 000007
【図１０】
2012068380.tif 000008
【図１１】
2012068380.tif 000009
【図１２】
2012068380.tif 000010
【図１３】
2012068380.tif 000011
【図５】
2012068380.tif 000012
【図６】
2012068380.tif 000013
【図８】
2012068380.tif 000014
【図９】
2012068380.tif 000015