(57)【要約】【課題】パノラマ画像を容易に撮影することができるようにする。【解決手段】ディジタルカメラ１にはＸ−Ｙアドレス型の撮像素子と、それぞれのラインの露光時に撮像素子に加えられた変位を検出するセンサが設けられている。その撮像素子においては、ライン単位で露光が行われ、ユーザは、露光を行うラインの切り替え方向と同じ方向にパンしながら撮影を行う。それぞれのラインの露光のタイミングが異なることによって、撮像結果の１枚の画像には、広い範囲の被写体が縮まった状態で取り込まれる。撮像結果の１枚の画像を、センサによって検出された変位に応じて拡大することによって１枚のパノラマ画像が生成される。本発明は、Ｘ−Ｙアドレス型の撮像素子と変位を検出するセンサが設けられている機器に適用することができる。【選択図】図１
2007214620.tif 000002
【特許請求の範囲】
【請求項１】
所定の一方向に並ぶ画素のラインを単位として、一方のラインから他方のラインに向けて、露光を行うラインを順次切り替えて撮像を行う撮像手段と、
ライン単位で行われるそれぞれの露光時に生じた、前記撮像手段の位置の移動量を検出する検出手段と、
ライン単位で行われた露光によって取り込まれたそれぞれの画像を、前記検出手段により検出されたそれぞれのラインによる露光時の前記移動量に基づいて拡大する画像処理手段と
を備える画像処理装置。
【請求項２】
前記検出手段は、露光される被写体の範囲の切り替え方向と同じ方向である第１の方向の前記移動量を検出する
請求項１に記載の画像処理装置。
【請求項３】
前記検出手段は、前記第１の方向と直交する方向である第２の方向の前記移動量をさらに検出し、
前記画像処理手段は、さらに、ライン単位で行われた露光によって取り込まれたそれぞれの画像に現れる前記第２の方向の位置のずれを、前記検出手段により検出された前記第２の方向の前記移動量に基づいて補正する
請求項２に記載の画像処理装置。
【請求項４】
前記撮像手段による撮像中の筐体の移動方向を表す情報を表示させる表示制御手段をさらに備える
請求項１に記載の画像処理装置。
【請求項５】
前記検出手段により検出された前記移動量から求められる撮像中の筐体の移動速度が所定の範囲の速度でないとき、そのことを表す情報を表示させる表示制御手段をさらに備える
請求項１に記載の画像処理装置。
【請求項６】
撮像手段を備える画像処理装置の画像処理方法において、
所定の一方向に並ぶ画素のラインを単位として、一方のラインから他方のラインに向けて、露光を行うラインを順次切り替えて撮像を行い、
ライン単位で行われるそれぞれの露光時に生じた、前記撮像手段の位置の移動量を検出し、
ライン単位で行われた露光によって取り込まれたそれぞれの画像を、検出したそれぞれのラインによる露光時の前記移動量に基づいて拡大する
ステップを含む画像処理方法。
【請求項７】
撮像手段を備える画像処理装置によって撮像された画像の処理をコンピュータに実行させるプログラムにおいて、
所定の一方向に並ぶ画素のラインを単位として、一方のラインから他方のラインに向けて、露光を行うラインを順次切り替えて撮像を行い、
ライン単位で行われるそれぞれの露光時に生じた、前記撮像手段の位置の移動量を検出し、
ライン単位で行われた露光によって取り込まれたそれぞれの画像を、検出したそれぞれのラインによる露光時の前記移動量に基づいて拡大する
ステップを含むプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、およびプログラムに関し、特に、パノラマ画像を容易に撮影することができるようにした画像処理装置、画像処理方法、およびプログラムに関する。
【背景技術】
【０００２】
従来より、パノラマ画像を撮影する方法として各種の方法が提案されている。
【０００３】
例えば、広角レンズのように、広い範囲を撮影することが可能なレンズ構造を備えたカメラを用いてそれを実現する方法がある。また、レンズ全体を機械的に回転させる構成を備えたカメラを用いる方法もある。
【０００４】
さらに、１つのパノラマ風景を構成する各シーンを取り込んだ複数の画像を撮影しておき、あとから、パーソナルコンピュータなどを用いて複数の画像を合成することによって１枚のパノラマ画像を得る方法がある。
【０００５】
特許文献１には、撮影された複数枚の画像を、カメラが内蔵するジャイロセンサによって撮影時に検出された位置情報に基づいて組み合わせ、１枚のパノラマ画像を得るディジタルカメラが開示されている。
【特許文献１】特開２００４−１２８６８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述した第１、および第２の方法によれば、パノラマ撮影専用の構造を備えたカメラを用意する必要があり、そのようなカメラは一般的に高価なものになる。また、専用のレンズ構造を備えたカメラによっては、広い範囲ではない通常の範囲の撮影と、パノラマ撮影とを両立して実現することが困難である。
【０００７】
第３の方法によれば、当然、パーソナルコンピュータや画像を合成するための専用のソフトウエアが必要になり、１枚のパノラマ画像を得るための作業が煩雑になる。
【０００８】
特許文献１に開示された技術によれば、専用のレンズ構造、カメラ構造、パーソナルコンピュータなどは必要ではなくなるものの、１枚のパノラマ画像を生成するための元になる複数の画像を保存しておくだけのメモリ領域をディジタルカメラに用意する必要があることから、メモリにコストがかかり、結果としてディジタルカメラ全体の価格が高くなる。
【０００９】
本発明はこのような状況に鑑みてなされたものであり、パノラマ画像を容易に撮影することができるようにするものである。
【課題を解決するための手段】
【００１０】
本発明の一側面の画像処理装置は、所定の一方向に並ぶ画素のラインを単位として、一方のラインから他方のラインに向けて、露光を行うラインを順次切り替えて撮像を行う撮像手段と、ライン単位で行われるそれぞれの露光時に生じた、前記撮像手段の位置の移動量を検出する検出手段と、ライン単位で行われた露光によって取り込まれたそれぞれの画像を、前記検出手段により検出されたそれぞれのラインによる露光時の前記移動量に基づいて拡大する画像処理手段とを備える。
【００１１】
前記検出手段には、露光される被写体の範囲の切り替え方向と同じ方向である第１の方向の前記移動量を検出させることができる。
【００１２】
前記検出手段には、前記第１の方向と直交する方向である第２の方向の前記移動量をさらに検出させることができる。この場合、前記画像処理手段には、さらに、ライン単位で行われた露光によって取り込まれたそれぞれの画像に現れる前記第２の方向の位置のずれを、前記検出手段により検出された前記第２の方向の前記移動量に基づいて補正させることができる。
【００１３】
前記撮像手段による撮像中の筐体の移動方向を表す情報を表示させる表示制御手段をさらに設けることができる。
【００１４】
前記検出手段により検出された前記移動量から求められる撮像中の筐体の移動速度が所定の範囲の速度でないとき、そのことを表す情報を表示させる表示制御手段をさらに設けることができる。
【００１５】
本発明の一側面の画像処理方法またはプログラムは、所定の一方向に並ぶ画素のラインを単位として、一方のラインから他方のラインに向けて、露光を行うラインを順次切り替えて撮像を行い、ライン単位で行われるそれぞれの露光時に生じた、撮像手段の位置の移動量を検出し、ライン単位で行われた露光によって取り込まれたそれぞれの画像を、検出したそれぞれのラインによる露光時の前記移動量に基づいて拡大するステップを含む。
【００１６】
本発明の一側面においては、所定の一方向に並ぶ画素のラインを単位として、一方のラインから他方のラインに向けて、露光を行うラインを順次切り替えて撮像が行われ、ライン単位で行われるそれぞれの露光時に生じた、撮像手段の位置の移動量が検出される。また、ライン単位で行われた露光によって取り込まれたそれぞれの画像が、検出されたそれぞれのラインによる露光時の移動量に基づいて拡大される。
【発明の効果】
【００１７】
本発明の一側面によれば、パノラマ画像を容易に撮影することができる。
【発明を実施するための最良の形態】
【００１８】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外には対応しないものであることを意味するものでもない。
【００１９】
本発明の一側面の画像処理装置（例えば、図１のディジタルカメラ１）は、所定の一方向に並ぶ画素のラインを単位として、一方のラインから他方のラインに向けて、露光を行うラインを順次切り替えて撮像を行う撮像手段（例えば、図１０の撮像素子２１）と、ライン単位で行われるそれぞれの露光時に生じた、前記撮像手段の位置の移動量を検出する検出手段（例えば、図１０の変位検出部３２）と、ライン単位で行われた露光によって取り込まれたそれぞれの画像を、前記検出手段により検出されたそれぞれのラインによる露光時の前記移動量に基づいて拡大する画像処理手段（例えば、図１０の画像加工部２４）とを備える。
【００２０】
本発明の一側面の画像処理方法またはプログラムは、所定の一方向に並ぶ画素のラインを単位として、一方のラインから他方のラインに向けて、露光を行うラインを順次切り替えて撮像を行い、ライン単位で行われるそれぞれの露光時に生じた、撮像手段の位置の移動量を検出し、ライン単位で行われた露光によって取り込まれたそれぞれの画像を、検出したそれぞれのラインによる露光時の前記移動量に基づいて拡大するステップ（例えば、図１７のステップＳ７）を含む。
【００２１】
以下、本発明の実施の形態について図を参照して説明する。
【００２２】
図１は、本発明の一実施形態に係るディジタルカメラ１を用いたパノラマ撮影の例を示す図である。
【００２３】
図１は、ユーザが右手でディジタルカメラ１を持ち、その正面を被写体Ｓに向けて構えている状態を示している。すなわち、図１において、一点鎖線Ｌはディジタルカメラ１の正面に設けられるレンズの光軸を示している。図１に示されるディジタルカメラ１の面は、正面を被写体に向けたときに撮影者側（ユーザ側）にくる面であるディジタルカメラ１の背面になる。
【００２４】
ディジタルカメラ１の背面には、その広い範囲にわたってLCD(Liquid Crystal Display)などよりなるディスプレイ１１が設けられる。撮影時、ディスプレイ１１にはそのとき取り込まれている被写体が表示されるから、ユーザはディスプレイ１１の表示を見て撮影を行うことができる。ディジタルカメラ１の背面には、各種の操作を行うときに操作されるボタンなどもディスプレイ１１の周りに設けられる。
【００２５】
後に詳述するように、ユーザは、パノラマ撮影を行うとき、例えば、図１の白抜き矢印に示されるようにディジタルカメラ１を所定の速度で水平方向に移動（パン）させながら、あるいは所定の速度で垂直方向に移動（チルト）させながら撮影を行う。
【００２６】
ディジタルカメラ１にはジャイロセンサなどのセンサが内蔵されており、内蔵のセンサによる検出結果から求められた筐体の位置の移動量（変位量）に基づいて、撮影された１枚の画像が加工され、パノラマ画像が生成される。
【００２７】
このように、ディジタルカメラ１においては、パノラマ画像の撮影が、広角のレンズや、レンズ全体を機械的に回転させる構成などのパノラマ撮影専用の構成を用いることなく実現される。ユーザは、パノラマ画像を得るために、パーソナルコンピュータや、画像を合成するための専用のソフトウエアを用意する必要もない。
【００２８】
また、複数枚の画像が撮影され、それをつなぎ合わせて１枚のパノラマ画像が生成されるわけではないから、複数枚の画像を保持しておく分のメモリ領域をディジタルカメラ１に用意しておく必要がない。
【００２９】
なお、まっすぐ立っているユーザを基準として水平方向（左右方向）に広い範囲を撮影するときにはディジタルカメラ１を水平方向に移動させながら撮影が行われるのに対し、垂直方向（上下方向）に広い範囲を撮影するときにはディジタルカメラ１を垂直方向に移動させながら撮影が行われる。
【００３０】
図１においては、説明の便宜上、被写体Ｓは光軸Ｌ（一点鎖線Ｌ）を垂線とする面内にある長方形としている。被写体Ｓの左上、右上、左下、右下の位置をそれぞれ位置Ａ，Ｂ，Ｃ，Ｄとして説明する。
【００３１】
ディジタルカメラ１は、その撮像素子としてCMOS(Complementary Metal Oxide Semiconductor)などのＸ−Ｙアドレス型の固体撮像素子を有している。したがって、ディジタルカメラ１においては、撮像素子を構成する画素全体のうちの所定の画素に画素単位でアクセスすることができ、露光することによって得られた被写体Ｓのどの位置のデータからでも、後段の回路に出力することができる。
【００３２】
CMOSは、原理的には１画素単位でアクセスすることが可能な素子であるが、ディジタルカメラ１に設けられる撮像素子においては、所定の一方向に並ぶ画素のラインを単位として、ライン毎に露光（データの読み出し）が行われる。
【００３３】
図２は、露光の単位になる撮像素子のラインを示す図である。
【００３４】
図２の実線矢印で示されるように、ディジタルカメラ１においては、例えば、図２の向きを基準として、撮像素子の一番上のラインから下のラインに向けて、あるいは、一番左側のラインから右側のラインに向けて、対象のラインを順次切り替えて、ライン単位で露光が行われる。
【００３５】
露光を行うラインの切り替え方向によって、パノラマ撮影を行うときのディジタルカメラ１の移動方向が選択される（反対に、パノラマ撮影を行うときのディジタルカメラ１の移動方向によって、露光を行うラインの切り替え方向が選択される）。
【００３６】
このように、ディジタルカメラ１においては、撮像素子における露光がライン単位で行われるから、図３に示されるように、それぞれのラインの露光期間には、露光開始時刻の差に応じた時間差が生じる。
【００３７】
図３においては、横方向が時間方向であり、３つのうちの一番上の帯の長さは、図２の水平ラインｉの露光期間Ｔを表す。中央の帯の長さは、水平ラインｉの１ライン下の位置にある水平ラインｉ＋１の露光期間Ｔを表し、一番下の帯の長さは、水平ラインｉ＋１の１ライン下の位置にある水平ラインｉ＋２の露光期間Ｔを表す。
【００３８】
例えば、対象のラインが上のラインから下のラインに向けて順次切り替えられ、水平ライン毎に露光が行われた場合、図３に示されるように、それぞれの水平ラインの露光の開始時刻には時間Δｔ1だけ差が生じる。
【００３９】
ディジタルカメラ１においては、このように、対象のラインを所定の方向に順次切り替えてライン単位で露光を行ったときに撮像結果の画像に現れる歪みを利用することによって、すなわち、いわゆるフォーカルプレーン現象を利用することによって、被写体の広い範囲の撮影（パノラマ撮影）が行われる。
【００４０】
ここで、対象のラインを上のラインから下のラインに向けて切り替え、水平ライン単位で露光を行ったときに撮像結果の画像に現れる歪みについて説明する。
【００４１】
図４乃至図６は、撮像素子上に結像した被写体の状態（撮像素子からの出力画像の状態）を示す図である。なお、ここでは、レンズによる被写体の反転は考慮していない。
【００４２】
図４は、静止した状態で撮影を行ったときの被写体Ｓの例を示す図である。
【００４３】
静止した状態で撮影を行ったとき、図４に示されるように、被写体Ｓは、撮像素子の取り込み範囲である１フレームの画面内に、その形のまま、長方形として取り込まれる。
【００４４】
図５ＡおよびＢは、ディジタルカメラ１を水平方向に移動させながら撮影を行ったときの被写体Ｓの例を示す図である。点線の四角形は、静止した状態で撮影を行ったときの被写体Ｓの範囲（図４）を示す。
【００４５】
撮影の開始と同時に図の右方向へのパンが開始され、位置を変えながらそれぞれの水平ラインで露光が行われたとき、図５Ａに示されるように、被写体Ｓの位置Ｃと位置Ｄの位置は、それぞれ、静止した状態で撮影を行ったときの位置から、パン方向と逆の方向である左方向に所定の量だけずれた位置になる。
【００４６】
一方、撮影の開始と同時に図の左方向へのパンが開始され、位置を変えながらそれぞれの水平ラインで露光が行われたとき、図５Ｂに示されるように、被写体Ｓの位置Ｃと位置Ｄの位置は、それぞれ、静止した状態で撮影を行ったときの位置から、パン方向と逆の方向である右方向に所定の量だけずれた位置になる。
【００４７】
このように、水平方向に位置を変えながら露光が行われた場合、パン方向（水平方向）と、露光を行うラインの切り替え方向（垂直方向）が異なるから、被写体Ｓは斜めに歪んで１フレームの画面内に取り込まれる。なお、このときの位置Ｃ、位置Ｄのずれ量は、位置Ａ、位置Ｂを露光する水平ラインの露光時刻から、位置Ｃ、位置Ｄを露光する水平ラインの露光時刻までの間の移動量に応じた量になる。
【００４８】
図６ＡおよびＢは、ディジタルカメラ１を垂直方向に移動させながら撮影を行ったときの被写体Ｓの例を示す図である。点線の四角形は、静止した状態で撮影を行ったときの被写体Ｓの範囲（図４）を示す。
【００４９】
撮影の開始と同時に図の上方向へのチルトが開始され、位置を変えながらそれぞれの水平ラインで露光が行われたとき、図６Ａに示されるように、被写体Ｓの位置Ｃと位置Ｄの位置は、それぞれ、静止した状態で撮影を行ったときの位置から、チルト方向と逆の方向である下方向に所定の量だけずれた位置になる。
【００５０】
一方、撮影の開始と同時に図の下方向へのチルトが開始され、位置を変えながらそれぞれの水平ラインで露光が行われたとき、図６Ｂに示されるように、被写体Ｓの位置Ｃと位置Ｄの位置は、それぞれ、静止した状態で撮影を行ったときの位置から、チルト方向と逆の方向である上方向に所定の量だけずれた位置になる。
【００５１】
このように、垂直方向に位置を変えながら露光が行われた場合、チルト方向（垂直方向）と、露光を行うラインの切り替え方向（垂直方向）が同じであるから、被写体Ｓは斜めには歪まず、上下方向に伸びて、あるいは縮んで、１フレームの画面内に取り込まれる。
【００５２】
図６Ａと図６Ｂを較べて分かるように、露光を行うラインの切り替え方向と、ディジタルカメラ１の移動方向によっては、同じ大きさの被写体が、同じ大きさの撮像素子によって、１フレームの画面内に異なる大きさの被写体として取り込まれる。いい換えれば、露光を行うラインの切り替え方向とディジタルカメラ１の移動方向によっては、広さの異なる範囲が同じ大きさの撮像素子によって取り込まれる。
【００５３】
ユーザがディジタルカメラ１を上方向に移動させながら撮影を行った場合、図６Ａに示されるように被写体が伸びて露光されるため狭い範囲しか撮影することができないが、下方向に移動させながら撮影を行った場合、図６Ｂに示されるように被写体が縮んで露光されるため、静止した状態では撮影することができない範囲を含めて、広い範囲を撮影することができる。
【００５４】
ディジタルカメラ１においては、このように広い範囲を撮影することができる方向に移動させながら撮影された１枚の画像を、適宜、ラインを補間するなどして加工し、拡大することによって１枚のパノラマ画像が得られる。
【００５５】
ユーザは、水平ライン単位で行われる露光のラインの切り替え方向が図４の向きを基準として上のラインから下のラインに向かう方向である場合、その切り替え方向と同じ下方向にディジタルカメラ１を移動させながら撮影を行い、一方、垂直ライン単位で行われる露光のラインの切り替え方向が図４の向きを基準として左のラインから右のラインに向かう方向である場合、その切り替え方向と同じ右方向にディジタルカメラ１を移動させながら撮影を行うことになる（ユーザは、水平ライン単位で、あるいは垂直ライン単位で露光される被写体の範囲の切り替え方向と同じ方向にディジタルカメラ１を移動させながら撮影を行うことになる）。
【００５６】
図７乃至図９を参照して、具体的な風景を被写体としたパノラマ撮影について説明する。
【００５７】
図７は、撮影者であるユーザから見た風景の例を示す図である。
【００５８】
図７の例においては、木、家、車などが被写体として示されている。図７の枠で囲んで示される範囲の風景が、右方向にパンしながら撮影される。
【００５９】
上述したように、ディジタルカメラ１を用いたパノラマ撮影時のパン方向は、縮んだ被写体を取り込むことのできる方向であるから、図７の枠で囲んで示される風景を被写体としてパノラマ撮影を行う場合、露光は垂直ライン単位で行われ、その切り替え方向は、図７の左側の範囲を露光する垂直ラインから、右側の範囲を露光する垂直ラインに向かう方向になる。
【００６０】
図８は、図７の風景を撮影することによって得られた画像の例を示す図である。
【００６１】
右方向にパンしながら撮影が行われた場合、図８に示されるように、被写体である木、家、車は、それぞれ水平方向に縮んだ状態で１フレームの画像に収められる。パンしながら撮影が行われた場合、通常、手ぶれなどの影響が画像に現れるから、図８に示されるように、被写体である木、家、車は、単に水平方向に縮むだけでなく、所定の幅の縦長の範囲毎に垂直方向に例えば互い違いにずれた状態で１フレームの画像に収められる。
【００６２】
ディジタルカメラ１においては、１枚のパノラマ画像を生成する際、縮んだ状態で取り込まれた被写体を水平方向に拡大することだけでなく、このように、垂直方向の位置のずれとして現れる手ぶれの影響を補正することも行われる。
【００６３】
すなわち、ディジタルカメラ１には、撮像素子に加えられた水平方向の変位を検出するセンサだけでなく垂直方向の変位を検出するセンサも設けられており、その前者のセンサによる検出結果に基づいて、縮んだ状態で取り込まれた被写体を水平方向に拡大することが行われる。また、後者のセンサによる検出結果に基づいて、垂直方向の位置のずれを補正することが行われる。
【００６４】
具体的には、水平方向の変位を検出するセンサにより、撮像素子の所定の位置にある第１の垂直ラインの露光と、第１の垂直ラインの次に露光が行われるラインである第２の垂直ラインの露光の間に検出された水平方向の変位に基づいて、第１の垂直ラインの露光によって得られた第１の風景と、第２の垂直ラインの露光によって得られた第２の風景の拡大率が求められ、求められた拡大率に基づいて、第１と第２の風景が、それぞれ、目的とするパノラマ画像のうちの所定のラインの風景として割り当てられる。第１と第２の垂直ラインの露光によって得られたそれぞれの風景は縦長の風景になる。
【００６５】
なお、パン方向と逆の方向の変位が検出された場合、縮小率が求められ、求められた縮小率に基づいて、第１と第２の風景が、それぞれ、目的とするパノラマ画像のうちの所定のラインの風景として割り当てられる。
【００６６】
また、垂直方向の変位を検出するセンサによる検出結果に基づいて、第１の風景と第２の風景の垂直方向の位置（位相）がそろえられ、目的とするパノラマ画像に収められる。
【００６７】
このように、ディジタルカメラ１においては、水平方向、あるいは垂直方向の拡大（縮小）だけでなく、それと直交する方向に現れる位置のずれの補正も行われる。ユーザは、手ぶれの影響が補正されたパノラマ画像を得ることができる。
【００６８】
以上のように、ディジタルカメラ１の移動方向が水平方向である場合には垂直方向の位置のずれの補正も行われるから、その補正用のマージン領域が必要になり、図８の実線で囲んで示す撮像画像全体のうち、点線で囲んで示す縮小画像の領域の外側の領域が、このマージン領域になる。１枚のパノラマ画像に写る範囲は、図８の点線で示す縮小画像に写っている範囲になる。
【００６９】
図９は、パノラマ画像の例を示す図である。
【００７０】
図８の点線で示す縮小画像を構成する、それぞれの垂直ラインにより取り込まれた風景（縦長の画像）を水平方向に拡大／縮小し、それぞれの風景の垂直方向の位置をそろえることにより、図９に示されるように、縮小画像に写っている範囲と同じ範囲の風景を含む１枚のパノラマ画像が修正後の画像として得られる。補正用のマージン領域を確保していることから、図９の枠内の被写体の範囲は、図７の枠内の被写体の範囲より、そのマージン領域の分だけ狭い範囲になる。
【００７１】
以上のようにしてパノラマ撮影を行うディジタルカメラ１の一連の処理についてはフローチャートを参照して後述する。
【００７２】
図１０は、ディジタルカメラ１の構成例を示すブロック図である。図１に示される構成と同じ構成（ディスプレイ１１）には同じ符号を付してある。
【００７３】
図１０に示されるように、ディジタルカメラ１は、撮像素子２１、AFE(Analog Front End)２２、信号処理部２３、画像加工部２４、入出力I/F部２５、操作部２６、コントローラ２７、記録部２８、記録メディア２９、TG(Timing Generator)３０、補正量演算部３１、および変位検出部３２から構成される。
【００７４】
撮像素子２１は、上述したようにＸ−Ｙアドレス型の固体撮像素子であり、TG３０から供給される信号にしたがって、水平ライン単位、または垂直ライン単位で、レンズを介して入射する被写体からの光を受光（露光）して光電変換を行い、受光量に応じた電気信号としてのアナログの画像信号をAFE２２に出力する。
【００７５】
AFE２２は、撮像素子２１から供給された画像信号をデジタルの画像データに変換し、変換して得られた画像データを信号処理部２３に出力する。
【００７６】
信号処理部２３は、AFE２２から供給された画像データを対象として、ノイズを除去する処理、ホワイトバランス調整処理などを含む現像処理を行い、現像処理によって得られた画像データを画像加工部２４に出力する。
【００７７】
画像加工部２４は、ディジタルカメラ１の撮影モードとしてパノラマ撮影モードが設定されているとき、信号処理部２３からデータが供給された画像を、補正量演算部３１から供給された補正パラメータに基づいて補正し、補正して得られたパノラマ画像を入出力I/F部２５とコントローラ２７に出力する。
【００７８】
画像加工部２４においては、被写体が縮んだ状態で写っている画像（縮小画像）を、縮んだ状態ではない、通常の状態の被写体が写っている画像に加工することが、ディジタルカメラ１の移動方向と同じ方向に対する補正として行われる。この補正には、補正量演算部３１から供給された補正パラメータに含まれる拡大率、縮小率が用いられる。
【００７９】
また、画像加工部２４においては、手ぶれなどによってディジタルカメラ１の移動方向と直交する方向に現れる画像の位置のずれを補正することが、ディジタルカメラ１の移動方向と直交する方向に対する補正として行われる。この補正には、補正量演算部３１から供給された補正パラメータに含まれる、ディジタルカメラ１の移動方向と直交する方向に撮像素子２１に加えられた変位を表す情報が用いられる。
【００８０】
画像加工部２４は、ディジタルカメラ１の撮影モードとして通常撮影モードが設定されているとき、信号処理部２３からデータが供給された画像をそのまま入出力I/F部２５とコントローラ２７に出力する。
【００８１】
入出力I/F部２５は、画像加工部２４から供給された画像（パノラマ撮影モードでの撮影によって得られたパノラマ画像、通常撮影モードでの撮影によって得られた画像）、または、記録メディア２９に記録されている撮影済みの画像をディスプレイ１１に表示させる。撮影済みの画像は、記録部２８により適宜読み出され、コントローラ２７を介して入出力I/F部２５に供給されてくる。
【００８２】
また、入出力I/F部２５は、操作部２６に対するユーザの操作を受け付け、ユーザの操作の内容を表す情報をコントローラ２７に出力する。
【００８３】
操作部２６は、ディジタルカメラ１の筐体表面に設けられる各種のボタンから構成される。例えば、撮影モードを切り替えるときに操作されるボタンや、シャッタボタンなどから構成される。
【００８４】
コントローラ２７は、画像加工部２４から供給された画像を記録部２８に出力し、記録メディア２９に記録させる。また、コントローラ２７は、記録メディア２９から記録部２８により読み出された撮影済みの画像を入出力I/F部２５に出力し、ディスプレイ１１に表示させる。
【００８５】
コントローラ２７は、ディジタルカメラ１の撮影モードとしてパノラマ撮影モードが選択されたとき、TG３０を制御し、縮んだ状態の被写体を取り込むことができるように、ディジタルカメラ１の移動方向に応じて、水平方向、または垂直方向のライン単位で露光を行わせる。このとき、コントローラ２７は、入出力I/F部２５を制御し、撮影時のディジタルカメラ１の移動方向を表す矢印やメッセージなどの案内をディスプレイ１１に表示させたりもする。
【００８６】
記録部２８は、コントローラ２７から供給された画像を記録メディア２９に記録させる。また、撮影済みの画像を表示することがユーザにより指示されたとき、記録部２８は、その画像を記録メディア２９から読み出し、読み出した画像をコントローラ２７に出力する。
【００８７】
記録メディア２９はディジタルカメラ１に対して着脱可能なメモリカードなどである。
【００８８】
TG３０は、コントローラ２７による制御にしたがって、それぞれのラインの露光のタイミングや、露光を行うラインの切り替えを制御し、撮像素子２１からデータを読み出すための信号を撮像素子２１に出力する。
【００８９】
補正量演算部３１は、変位検出部３２により検出された変位に基づいて、縮小画像からパノラマ画像を生成するときに用いられる補正パラメータを生成し、生成した補正パラメータを画像加工部２４に出力する。
【００９０】
補正量演算部３１により生成される補正パラメータには、縮小画像の所定のラインの風景を、目的とするパノラマ画像のどのラインの風景として割り当てるのかを表す拡大率、縮小率の情報や、撮像素子２１に加えられた、ディジタルカメラ１の移動方向と直交する方向の変位を表す情報などが含まれる。
【００９１】
変位検出部３２は、撮像素子２１の水平ラインと同じ方向と、撮像素子２１の垂直ラインと同じ方向の２軸の角速度を検出するジャイロセンサなどを有している。変位検出部３２は、センサの出力から撮像素子２１に加えられた変位を検出し、検出した変位を表す情報を補正量演算部３１に出力する。例えば、変位検出部３２による変位の検出は、パノラマ撮影モードが設定されている状態でシャッタボタンが押されたときに開始され、撮像素子２１による露光が終わるまで続けられる。
【００９２】
変位検出部３２においては、例えば、露光を行うラインの切り替え周波数と同じ周波数で変位の検出が行われる。これにより、それぞれのラインによる露光の間に生じた変位を検出することができ、検出された変位に応じて、露光によって得られたそれぞれの画像の補正量（拡大率、縮小率）を求めることが可能になる。
【００９３】
なお、変位検出部３２による変位の検出が、露光を行うラインの切り替え周波数と同じ周波数で行われず、低い周波数で行われる場合、検出された変位の量と検出の時間差から、それぞれのラインによる露光の間に生じた変位が補間などにより求められ、求められた変位が検出結果として用いられる。
【００９４】
図１１は、水平方向の変位量の例を示す図である。
【００９５】
図１１において、横軸は時刻を表し、縦軸は水平方向の変位を表す。
【００９６】
撮影の開始と同時に適切な速度で水平方向にパンが行われた場合（露光は垂直ライン単位）、図１１に示されるように、時間の経過に伴って、撮影開始時のディジタルカメラ１の位置を基準として変位ｘが次第に大きくなる。
【００９７】
変位検出部３２においては、所定の位置の垂直ラインである垂直ラインｎの露光開始時刻における変位ｘと、垂直ラインｎに続けて露光が行われる垂直ラインである垂直ラインｎ＋１の露光開始時刻における変位ｘの差分が、垂直ラインｎの露光時の水平方向の変位量Δｘとして検出される。図１１において、Δｔは、垂直ラインｎの露光開始時刻と垂直ラインｎ＋１の露光開始時刻の差を表す。
【００９８】
変位量Δｘ＝０の場合、露光時に水平方向の変位が加えられていないため、その露光によって取り込まれた風景を、水平方向に拡大することなく、目的とするパノラマ画像の対応するラインに割り当てるような補正パラメータが補正量演算部３１により生成される。
【００９９】
例えば、図１２に示されるように、ラインｎの露光時と、ラインｎ＋１の露光時のいずれにおいても変位量Δｘ＝０であり、ラインｎの露光によって風景Ａが取り込まれ、続けて、ラインｎ＋１の露光によって風景Ｂが取り込まれた場合、ラインｎによって取り込まれた風景Ａは、そのまま、目的とするパノラマ画像のラインｎの風景として割り当てられる。また、ラインｎ＋１によって取り込まれた風景Ｂも、そのまま、目的とするパノラマ画像のラインｎ＋１の風景として割り当てられる。
【０１００】
一方、変位量Δｘ≠０の場合、露光時に水平方向の変位が加えられているため、その露光によって取り込まれた風景を水平方向に拡大し、目的とするパノラマ画像の対応するラインに割り当てるような補正パラメータが補正量演算部３１により生成される。
【０１０１】
例えば、図１３に示されるように、ラインｎの露光時の変位量が変位量Δｘ＝０であり、図１２の場合と同様にラインｎの露光によって風景Ａが取り込まれたが、ラインｎ＋１の露光時に、変位量Δｘ＝０のときには１ライン隣のラインｎ＋２によって取り込まれる風景Ｂ’が取り込まれるような変位、すなわち、１ライン分の変位が生じたことから、ラインｎ＋１の露光によってその風景Ｂ’が取り込まれた場合を考える。
【０１０２】
この場合、ラインｎによって取り込まれた風景Ａは、そのまま、目的とするパノラマ画像のラインｎの風景として割り当てられる。
【０１０３】
また、ラインｎ＋１によって取り込まれた風景Ｂ’は、目的とするパノラマ画像のラインｎ＋１とｎ＋２の風景として割り当てられる。すなわち、撮像素子２１には１／２に縮小して露光したことになるため、補正パラメータの拡大率は２倍として求められる。
【０１０４】
このように、ライン毎に水平方向の拡大率、縮小率が求められることによって、パン速度が一定でない場合でも、適正に、縮小画像からパノラマ画像を生成することが可能になる。
【０１０５】
図１４は、垂直方向の変位量の例を示す図である。
【０１０６】
図１４において、横軸は時刻を表し、縦軸は垂直方向の変位を表す。
【０１０７】
水平方向にパンしながら撮影が行われた場合（露光は垂直ライン単位）、図１４に示されるように、撮影者の手ぶれによって、例えば波状の変位ｙの検出結果が得られる。
【０１０８】
変位検出部３２においては、所定の位置の垂直ラインである垂直ラインｎの露光開始時刻における変位ｙと、垂直ラインｎに続けて露光が行われる垂直ラインである垂直ラインｎ＋１の露光開始時刻における変位ｙの差分が、垂直ラインｎの露光時の垂直方向の変位量Δｙとして検出される。図１４において、Δｔは、垂直ラインｎの露光開始時刻と垂直ラインｎ＋１の露光開始時刻の差を表す。
【０１０９】
変位量Δｙ＝０の場合、露光時に垂直方向の変位が加えられていないため、その露光によって取り込まれた風景は、垂直方向の位置を補正することなく、目的とするパノラマ画像の対応するラインに割り当てられる。
【０１１０】
例えば、図１５の左側に示されるように、ラインｎの露光時と、ラインｎ＋１の露光時のいずれにおいても変位量Δｙ＝０であり、ラインｎの露光によって風景Ａが取り込まれ、続けて、ラインｎ＋１の露光によって風景Ｂが取り込まれた場合、白抜き矢印の先に示されるように、ラインｎによって取り込まれた風景Ａは、垂直方向の位置を補正することなく、そのまま、目的とするパノラマ画像のラインｎの風景として割り当てられる。また、ラインｎ＋１によって取り込まれた風景Ｂも、そのまま、目的とするパノラマ画像のラインｎ＋１の風景として割り当てられる。
【０１１１】
なお、図１５の左側に示される２本の水平方向の点線は、図８の縮小画像を囲む上下の点線の枠に相当する線であり、右側に示される２本の水平方向の実線は、図９のパノラマ画像を囲む上下の実線の枠に相当する線である。図１６においても同様である。
【０１１２】
一方、変位量Δｙ≠０の場合、露光時に変位が加えられているため、その露光によって取り込まれた風景は、垂直方向の位置を補正してから、目的とするパノラマ画像の対応するラインに割り当てられる。
【０１１３】
例えば、図１６の左側に示されるように、ラインｎの露光時の変位量が変位量Δｙ＝０であり、図１５の場合と同様にラインｎの露光によって風景Ａが取り込まれたが、ラインｎ＋１の露光時に所定の大きさの変位Δｙが生じたことから、ラインｎ＋１の露光によって、風景Ｂが、風景Ａを露光した画素の位置を基準として垂直方向にずれた位置の画素で取り込まれた場合を考える。
【０１１４】
この場合、図１６の白抜き矢印の先に示されるように、ラインｎによって取り込まれた風景Ａは、垂直方向の位置を補正することなく、そのまま、目的とするパノラマ画像のラインｎの風景として割り当てられる。
【０１１５】
また、ラインｎ＋１によって取り込まれた風景Ｂは、垂直方向の位置を補正してから、パノラマ画像のラインｎ＋１の風景として割り当てられる。補正には、マージン領域の画素によって取り込まれた風景が用いられる。
【０１１６】
このように、ライン毎に垂直方向の補正が行われることによって、手ぶれが生じた場合でも、適正に、縮小画像からパノラマ画像を生成することが可能となる。
【０１１７】
なお、図１５、図１６の説明においては、水平方向の補正を考慮していないが、実際には、図１２、図１３を参照して説明した水平方向の補正と、図１５、図１６を参照して説明した垂直方向の補正が組み合わせて用いられる。
【０１１８】
ここで、図１７のフローチャートを参照して、図７のパノラマ風景を被写体としてパノラマ撮影を行うディジタルカメラ１の一連の処理について説明する。
【０１１９】
この処理は、例えば、ボタン操作によって、撮影モードとしてパノラマ撮影モードを設定することがユーザにより指示されたときに開始される。
【０１２０】
ステップＳ１において、入出力I/F部２５は、ユーザによる撮影モードの設定操作を受け付け、受け付けた操作の内容を表す情報をコントローラ２７に出力する。
【０１２１】
ステップＳ２において、コントローラ２７は、ディジタルカメラ１内部の撮影モードをパノラマ撮影モードに設定する。パノラマ撮影モードが設定されたとき、撮像素子２１による露光のタイミングの設定、露光の単位になるラインの方向の設定、被写体の露出の設定、フォーカスの設定が、パノラマ撮影用の設定に固定される。
【０１２２】
ステップＳ３において、コントローラ２７は、入出力I/F部２５を制御し、被写体に対して、パンしながら撮影を行うことをユーザに案内する画面をディスプレイ１１に表示させる。例えば、パン方向を表す矢印などがディスプレイ１１に表示される。
【０１２３】
ユーザによりシャッタボタンが押され、パンしながらの撮影が開始されたとき、変位検出部３２は、ステップＳ４において、それぞれのラインによる露光の間に撮像素子２１に加えられた変位の検出を開始し、それを、全てのラインでの露光が終了するまで続ける。検出結果を表す情報は変位検出部３２から補正量演算部３１に出力される。
【０１２４】
撮像素子２１の全てのラインでの露光が終了したとき、補正量演算部３１は、ステップＳ５において、変位検出部３２による検出結果に基づいて、ユーザにより行われたパンの速度が適切な速度であるか否かを判定する。
【０１２５】
例えば、所定の速度の範囲があらかじめ設定されており、検出されたパン速度がその範囲内にある場合、適切な速度であるとして判定される。あらかじめ設定されている範囲の下限の速度よりパン速度が遅いときや、上限の速度よりパン速度が早いとき、適切でないパン速度であるとして判定される。
【０１２６】
パン速度が遅すぎる場合や早すぎる場合、図１３を参照して説明したようにして所定のラインの露光によって取り込まれた風景を、パノラマ画像のラインの風景として割り当てたとしても、得られるパノラマ画像の画質が劣るものになることから、このような場合、パン速度は適切でないとして判定されることになる。
【０１２７】
補正量演算部３１は、ステップＳ５において、ユーザにより行われたパンの速度が適切な速度ではないと判定した場合、ステップＳ３に戻り、それ以降の処理を行う。ユーザにより行われたパンの速度が適切な速度ではない場合、ディスプレイ１１には、例えば、パン速度が速すぎることや遅すぎることをユーザに通知するメッセージや、パンしながらの撮影を再度行うことを案内するメッセージがコントローラ２７によって表示される。
【０１２８】
なお、パン速度が適切な速度であるか否かを表す情報が、ユーザがパンを行っている最中にリアルタイムでディスプレイ１１に表示されるようにしてもよい。
【０１２９】
一方、ステップＳ５において、ユーザにより行われたパンの速度が適切な速度であると判定した場合、ステップＳ６に進み、補正量演算部３１は、変位検出部３２により検出された変位量に基づいて、上述したようにしてパン方向と同じ方向の補正量（拡大率、縮小率）を求める。変位検出部３２は、求めた補正量と、パン方向と直交する垂直方向の変位を含む補正パラメータを画像加工部２４に出力する。
【０１３０】
ステップＳ７において、画像加工部２４は、信号処理部２３からデータが供給された縮小画像を、補正量演算部３１から供給された補正パラメータに基づいて補正し、補正して得られたパノラマ画像をコントローラ２７に出力する。補正パラメータに含まれる拡大率、縮小率に基づいて、縮小画像のそれぞれのラインが拡大、または縮小されて目的とするパノラマ画像のラインに割り当てられるとともに、補正パラメータに含まれる垂直方向の変位に基づいて、それぞれのラインの位置のずれが補正される。
【０１３１】
ステップＳ８において、コントローラ２７は、画像加工部２４から供給されたパノラマ画像を記録部２８に出力し、記録メディア２９に記録させる。その後、処理は終了される。
【０１３２】
以上の処理が行われることにより、ユーザは、パノラマ画像を、容易に撮影することができる。
【０１３３】
以上においては、図１７のフローチャートを参照して、水平方向に広い範囲の撮影を行う場合について説明したが、垂直方向に広い範囲の撮影を行う場合、露光を行うラインの方向が水平方向になり、また、ラインの切り替え方向が垂直方向になる点を除いて同様の処理が行われる。
【０１３４】
上述したようなパノラマ撮影は、ディジタルスチルカメラだけでなく、Ｘ−Ｙアドレス型の撮像素子と、変位を検出するセンサが設けられている機器であれば、様々な機器において行われるようにすることが可能である。
【０１３５】
また、以上においては、ユーザにより行われたパンの速度があらかじめ設定された適切な速度ではない場合、パノラマ画像の生成は行われないものとしたが、ユーザにより行われているパンの速度に応じて、適宜、ライン単位で、露出のタイミングが調整されるようにしてもよい。例えば、パンの速度が遅いとき、そのときの露出の期間は長くなり、パンの速度が速いとき、そのときの露出の期間は短くなるように調整される。
【０１３６】
これにより、パノラマ画像を生成する元の画像として質の高い縮小画像を得ることが可能になる。
【０１３７】
以上においては、パノラマ画像を撮影するとき、ディジタルカメラ１を移動させる方向がユーザに案内されるものとしたが、移動方向がユーザにより選択され、それに応じて、水平方向のラインを単位として露光を行うのか、あるいは、垂直方向のラインを単位として露光を行うのかと、ラインの切り替え方向が選択されるようにしてもよい。
【０１３８】
これにより、ユーザは、自分のやりやすい方向にディジタルカメラ１を移動させて、パノラマ画像を撮影することができる。
【０１３９】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０１４０】
図１８は、上述した一連の処理をプログラムにより実行するパーソナルコンピュータの構成の例を示すブロック図である。
【０１４１】
CPU(Central Processing Unit)２０１は、ROM(Read Only Memory)２０２、または記憶部２０８に記憶されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)２０３には、CPU２０１が実行するプログラムやデータなどが適宜記憶される。これらのCPU２０１、ROM２０２、およびRAM２０３は、バス２０４により相互に接続されている。
【０１４２】
CPU２０１にはまた、バス２０４を介して入出力インターフェース２０５が接続されている。入出力インターフェース２０５には、キーボード、マウス、マイクロホンなどよりなる入力部２０６、ディスプレイ、スピーカなどよりなる出力部２０７が接続されている。CPU２０１は、入力部２０６から入力される指令に対応して各種の処理を実行し、処理の結果を出力部２０７に出力する。
【０１４３】
入出力インターフェース２０５に接続されている記憶部２０８は、例えばハードディスクからなり、CPU２０１が実行するプログラムや各種のデータを記憶する。通信部２０９は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
【０１４４】
入出力インターフェース２０５に接続されているドライブ２１０は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア２１１が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部２０８に転送され、記憶される。
【０１４５】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、図１８に示すように、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory)，DVD(Digital Versatile Disc)を含む）、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア２１１、または、プログラムが一時的もしくは永続的に格納されるROM２０２や、記憶部２０８を構成するハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインターフェースである通信部２０９を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【０１４６】
なお、本明細書において、プログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【図面の簡単な説明】
【０１４７】
【図１】本発明の一実施形態に係るディジタルカメラを用いたパノラマ撮影の例を示す図である。
【図２】撮像素子のラインを示す図である。
【図３】撮像素子の露光期間の例を示す図である。
【図４】撮像結果の被写体の例を示す図である。
【図５】撮像結果の被写体の他の例を示す図である。
【図６】撮像結果の被写体のさらに他の例を示す図である。
【図７】風景を被写体としたパノラマ撮影の例を示す図である。
【図８】風景を被写体としたパノラマ撮影の例を示す他の図である。
【図９】風景を被写体としたパノラマ撮影の例を示すさらに他の図である。
【図１０】ディジタルカメラの構成例を示すブロック図である。
【図１１】水平方向の変位量の例を示す図である。
【図１２】水平方向の補正の例を示す図である。
【図１３】水平方向の補正の他の例を示す図である。
【図１４】垂直方向の変位量の例を示す図である。
【図１５】垂直方向の補正の例を示す図である。
【図１６】垂直方向の補正の他の例を示す図である。
【図１７】ディジタルカメラのパノラマ撮影処理について説明するフローチャートである。
【図１８】パーソナルコンピュータの構成例を示すブロック図である。
【符号の説明】
【０１４８】
１  ディジタルカメラ，  １１  ディスプレイ，  ２１  撮像素子，  ２４  画像加工部，  ２７  コントローラ，  ３１  補正量演算部，  ３２  変位検出部
【図１】
2007214620.tif 000003
【図２】
2007214620.tif 000004
【図３】
2007214620.tif 000005
【図４】
2007214620.tif 000006
【図５】
2007214620.tif 000007
【図６】
2007214620.tif 000008
【図７】
2007214620.tif 000009
【図８】
2007214620.tif 000010
【図９】
2007214620.tif 000011
【図１０】
2007214620.tif 000012
【図１１】
2007214620.tif 000013
【図１２】
2007214620.tif 000014
【図１３】
2007214620.tif 000015
【図１４】
2007214620.tif 000016
【図１５】
2007214620.tif 000017
【図１６】
2007214620.tif 000018
【図１７】
2007214620.tif 000019
【図１８】
2007214620.tif 000020