説明

画像処理装置、画像処理方法、およびプログラム

【課題】パノラマ画像を容易に撮影することができるようにする。
【解決手段】ディジタルカメラ1にはX−Yアドレス型の撮像素子と、それぞれのラインの露光時に撮像素子に加えられた変位を検出するセンサが設けられている。その撮像素子においては、ライン単位で露光が行われ、ユーザは、露光を行うラインの切り替え方向と同じ方向にパンしながら撮影を行う。それぞれのラインの露光のタイミングが異なることによって、撮像結果の1枚の画像には、広い範囲の被写体が縮まった状態で取り込まれる。撮像結果の1枚の画像を、センサによって検出された変位に応じて拡大することによって1枚のパノラマ画像が生成される。本発明は、X−Yアドレス型の撮像素子と変位を検出するセンサが設けられている機器に適用することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理方法、およびプログラムに関し、特に、パノラマ画像を容易に撮影することができるようにした画像処理装置、画像処理方法、およびプログラムに関する。
【背景技術】
【0002】
従来より、パノラマ画像を撮影する方法として各種の方法が提案されている。
【0003】
例えば、広角レンズのように、広い範囲を撮影することが可能なレンズ構造を備えたカメラを用いてそれを実現する方法がある。また、レンズ全体を機械的に回転させる構成を備えたカメラを用いる方法もある。
【0004】
さらに、1つのパノラマ風景を構成する各シーンを取り込んだ複数の画像を撮影しておき、あとから、パーソナルコンピュータなどを用いて複数の画像を合成することによって1枚のパノラマ画像を得る方法がある。
【0005】
特許文献1には、撮影された複数枚の画像を、カメラが内蔵するジャイロセンサによって撮影時に検出された位置情報に基づいて組み合わせ、1枚のパノラマ画像を得るディジタルカメラが開示されている。
【特許文献1】特開2004−128683号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
上述した第1、および第2の方法によれば、パノラマ撮影専用の構造を備えたカメラを用意する必要があり、そのようなカメラは一般的に高価なものになる。また、専用のレンズ構造を備えたカメラによっては、広い範囲ではない通常の範囲の撮影と、パノラマ撮影とを両立して実現することが困難である。
【0007】
第3の方法によれば、当然、パーソナルコンピュータや画像を合成するための専用のソフトウエアが必要になり、1枚のパノラマ画像を得るための作業が煩雑になる。
【0008】
特許文献1に開示された技術によれば、専用のレンズ構造、カメラ構造、パーソナルコンピュータなどは必要ではなくなるものの、1枚のパノラマ画像を生成するための元になる複数の画像を保存しておくだけのメモリ領域をディジタルカメラに用意する必要があることから、メモリにコストがかかり、結果としてディジタルカメラ全体の価格が高くなる。
【0009】
本発明はこのような状況に鑑みてなされたものであり、パノラマ画像を容易に撮影することができるようにするものである。
【課題を解決するための手段】
【0010】
本発明の一側面の画像処理装置は、所定の一方向に並ぶ画素のラインを単位として、一方のラインから他方のラインに向けて、露光を行うラインを順次切り替えて撮像を行う撮像手段と、ライン単位で行われるそれぞれの露光時に生じた、前記撮像手段の位置の移動量を検出する検出手段と、ライン単位で行われた露光によって取り込まれたそれぞれの画像を、前記検出手段により検出されたそれぞれのラインによる露光時の前記移動量に基づいて拡大する画像処理手段とを備える。
【0011】
前記検出手段には、露光される被写体の範囲の切り替え方向と同じ方向である第1の方向の前記移動量を検出させることができる。
【0012】
前記検出手段には、前記第1の方向と直交する方向である第2の方向の前記移動量をさらに検出させることができる。この場合、前記画像処理手段には、さらに、ライン単位で行われた露光によって取り込まれたそれぞれの画像に現れる前記第2の方向の位置のずれを、前記検出手段により検出された前記第2の方向の前記移動量に基づいて補正させることができる。
【0013】
前記撮像手段による撮像中の筐体の移動方向を表す情報を表示させる表示制御手段をさらに設けることができる。
【0014】
前記検出手段により検出された前記移動量から求められる撮像中の筐体の移動速度が所定の範囲の速度でないとき、そのことを表す情報を表示させる表示制御手段をさらに設けることができる。
【0015】
本発明の一側面の画像処理方法またはプログラムは、所定の一方向に並ぶ画素のラインを単位として、一方のラインから他方のラインに向けて、露光を行うラインを順次切り替えて撮像を行い、ライン単位で行われるそれぞれの露光時に生じた、撮像手段の位置の移動量を検出し、ライン単位で行われた露光によって取り込まれたそれぞれの画像を、検出したそれぞれのラインによる露光時の前記移動量に基づいて拡大するステップを含む。
【0016】
本発明の一側面においては、所定の一方向に並ぶ画素のラインを単位として、一方のラインから他方のラインに向けて、露光を行うラインを順次切り替えて撮像が行われ、ライン単位で行われるそれぞれの露光時に生じた、撮像手段の位置の移動量が検出される。また、ライン単位で行われた露光によって取り込まれたそれぞれの画像が、検出されたそれぞれのラインによる露光時の移動量に基づいて拡大される。
【発明の効果】
【0017】
本発明の一側面によれば、パノラマ画像を容易に撮影することができる。
【発明を実施するための最良の形態】
【0018】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外には対応しないものであることを意味するものでもない。
【0019】
本発明の一側面の画像処理装置(例えば、図1のディジタルカメラ1)は、所定の一方向に並ぶ画素のラインを単位として、一方のラインから他方のラインに向けて、露光を行うラインを順次切り替えて撮像を行う撮像手段(例えば、図10の撮像素子21)と、ライン単位で行われるそれぞれの露光時に生じた、前記撮像手段の位置の移動量を検出する検出手段(例えば、図10の変位検出部32)と、ライン単位で行われた露光によって取り込まれたそれぞれの画像を、前記検出手段により検出されたそれぞれのラインによる露光時の前記移動量に基づいて拡大する画像処理手段(例えば、図10の画像加工部24)とを備える。
【0020】
本発明の一側面の画像処理方法またはプログラムは、所定の一方向に並ぶ画素のラインを単位として、一方のラインから他方のラインに向けて、露光を行うラインを順次切り替えて撮像を行い、ライン単位で行われるそれぞれの露光時に生じた、撮像手段の位置の移動量を検出し、ライン単位で行われた露光によって取り込まれたそれぞれの画像を、検出したそれぞれのラインによる露光時の前記移動量に基づいて拡大するステップ(例えば、図17のステップS7)を含む。
【0021】
以下、本発明の実施の形態について図を参照して説明する。
【0022】
図1は、本発明の一実施形態に係るディジタルカメラ1を用いたパノラマ撮影の例を示す図である。
【0023】
図1は、ユーザが右手でディジタルカメラ1を持ち、その正面を被写体Sに向けて構えている状態を示している。すなわち、図1において、一点鎖線Lはディジタルカメラ1の正面に設けられるレンズの光軸を示している。図1に示されるディジタルカメラ1の面は、正面を被写体に向けたときに撮影者側(ユーザ側)にくる面であるディジタルカメラ1の背面になる。
【0024】
ディジタルカメラ1の背面には、その広い範囲にわたってLCD(Liquid Crystal Display)などよりなるディスプレイ11が設けられる。撮影時、ディスプレイ11にはそのとき取り込まれている被写体が表示されるから、ユーザはディスプレイ11の表示を見て撮影を行うことができる。ディジタルカメラ1の背面には、各種の操作を行うときに操作されるボタンなどもディスプレイ11の周りに設けられる。
【0025】
後に詳述するように、ユーザは、パノラマ撮影を行うとき、例えば、図1の白抜き矢印に示されるようにディジタルカメラ1を所定の速度で水平方向に移動(パン)させながら、あるいは所定の速度で垂直方向に移動(チルト)させながら撮影を行う。
【0026】
ディジタルカメラ1にはジャイロセンサなどのセンサが内蔵されており、内蔵のセンサによる検出結果から求められた筐体の位置の移動量(変位量)に基づいて、撮影された1枚の画像が加工され、パノラマ画像が生成される。
【0027】
このように、ディジタルカメラ1においては、パノラマ画像の撮影が、広角のレンズや、レンズ全体を機械的に回転させる構成などのパノラマ撮影専用の構成を用いることなく実現される。ユーザは、パノラマ画像を得るために、パーソナルコンピュータや、画像を合成するための専用のソフトウエアを用意する必要もない。
【0028】
また、複数枚の画像が撮影され、それをつなぎ合わせて1枚のパノラマ画像が生成されるわけではないから、複数枚の画像を保持しておく分のメモリ領域をディジタルカメラ1に用意しておく必要がない。
【0029】
なお、まっすぐ立っているユーザを基準として水平方向(左右方向)に広い範囲を撮影するときにはディジタルカメラ1を水平方向に移動させながら撮影が行われるのに対し、垂直方向(上下方向)に広い範囲を撮影するときにはディジタルカメラ1を垂直方向に移動させながら撮影が行われる。
【0030】
図1においては、説明の便宜上、被写体Sは光軸L(一点鎖線L)を垂線とする面内にある長方形としている。被写体Sの左上、右上、左下、右下の位置をそれぞれ位置A,B,C,Dとして説明する。
【0031】
ディジタルカメラ1は、その撮像素子としてCMOS(Complementary Metal Oxide Semiconductor)などのX−Yアドレス型の固体撮像素子を有している。したがって、ディジタルカメラ1においては、撮像素子を構成する画素全体のうちの所定の画素に画素単位でアクセスすることができ、露光することによって得られた被写体Sのどの位置のデータからでも、後段の回路に出力することができる。
【0032】
CMOSは、原理的には1画素単位でアクセスすることが可能な素子であるが、ディジタルカメラ1に設けられる撮像素子においては、所定の一方向に並ぶ画素のラインを単位として、ライン毎に露光(データの読み出し)が行われる。
【0033】
図2は、露光の単位になる撮像素子のラインを示す図である。
【0034】
図2の実線矢印で示されるように、ディジタルカメラ1においては、例えば、図2の向きを基準として、撮像素子の一番上のラインから下のラインに向けて、あるいは、一番左側のラインから右側のラインに向けて、対象のラインを順次切り替えて、ライン単位で露光が行われる。
【0035】
露光を行うラインの切り替え方向によって、パノラマ撮影を行うときのディジタルカメラ1の移動方向が選択される(反対に、パノラマ撮影を行うときのディジタルカメラ1の移動方向によって、露光を行うラインの切り替え方向が選択される)。
【0036】
このように、ディジタルカメラ1においては、撮像素子における露光がライン単位で行われるから、図3に示されるように、それぞれのラインの露光期間には、露光開始時刻の差に応じた時間差が生じる。
【0037】
図3においては、横方向が時間方向であり、3つのうちの一番上の帯の長さは、図2の水平ラインiの露光期間Tを表す。中央の帯の長さは、水平ラインiの1ライン下の位置にある水平ラインi+1の露光期間Tを表し、一番下の帯の長さは、水平ラインi+1の1ライン下の位置にある水平ラインi+2の露光期間Tを表す。
【0038】
例えば、対象のラインが上のラインから下のラインに向けて順次切り替えられ、水平ライン毎に露光が行われた場合、図3に示されるように、それぞれの水平ラインの露光の開始時刻には時間Δt1だけ差が生じる。
【0039】
ディジタルカメラ1においては、このように、対象のラインを所定の方向に順次切り替えてライン単位で露光を行ったときに撮像結果の画像に現れる歪みを利用することによって、すなわち、いわゆるフォーカルプレーン現象を利用することによって、被写体の広い範囲の撮影(パノラマ撮影)が行われる。
【0040】
ここで、対象のラインを上のラインから下のラインに向けて切り替え、水平ライン単位で露光を行ったときに撮像結果の画像に現れる歪みについて説明する。
【0041】
図4乃至図6は、撮像素子上に結像した被写体の状態(撮像素子からの出力画像の状態)を示す図である。なお、ここでは、レンズによる被写体の反転は考慮していない。
【0042】
図4は、静止した状態で撮影を行ったときの被写体Sの例を示す図である。
【0043】
静止した状態で撮影を行ったとき、図4に示されるように、被写体Sは、撮像素子の取り込み範囲である1フレームの画面内に、その形のまま、長方形として取り込まれる。
【0044】
図5AおよびBは、ディジタルカメラ1を水平方向に移動させながら撮影を行ったときの被写体Sの例を示す図である。点線の四角形は、静止した状態で撮影を行ったときの被写体Sの範囲(図4)を示す。
【0045】
撮影の開始と同時に図の右方向へのパンが開始され、位置を変えながらそれぞれの水平ラインで露光が行われたとき、図5Aに示されるように、被写体Sの位置Cと位置Dの位置は、それぞれ、静止した状態で撮影を行ったときの位置から、パン方向と逆の方向である左方向に所定の量だけずれた位置になる。
【0046】
一方、撮影の開始と同時に図の左方向へのパンが開始され、位置を変えながらそれぞれの水平ラインで露光が行われたとき、図5Bに示されるように、被写体Sの位置Cと位置Dの位置は、それぞれ、静止した状態で撮影を行ったときの位置から、パン方向と逆の方向である右方向に所定の量だけずれた位置になる。
【0047】
このように、水平方向に位置を変えながら露光が行われた場合、パン方向(水平方向)と、露光を行うラインの切り替え方向(垂直方向)が異なるから、被写体Sは斜めに歪んで1フレームの画面内に取り込まれる。なお、このときの位置C、位置Dのずれ量は、位置A、位置Bを露光する水平ラインの露光時刻から、位置C、位置Dを露光する水平ラインの露光時刻までの間の移動量に応じた量になる。
【0048】
図6AおよびBは、ディジタルカメラ1を垂直方向に移動させながら撮影を行ったときの被写体Sの例を示す図である。点線の四角形は、静止した状態で撮影を行ったときの被写体Sの範囲(図4)を示す。
【0049】
撮影の開始と同時に図の上方向へのチルトが開始され、位置を変えながらそれぞれの水平ラインで露光が行われたとき、図6Aに示されるように、被写体Sの位置Cと位置Dの位置は、それぞれ、静止した状態で撮影を行ったときの位置から、チルト方向と逆の方向である下方向に所定の量だけずれた位置になる。
【0050】
一方、撮影の開始と同時に図の下方向へのチルトが開始され、位置を変えながらそれぞれの水平ラインで露光が行われたとき、図6Bに示されるように、被写体Sの位置Cと位置Dの位置は、それぞれ、静止した状態で撮影を行ったときの位置から、チルト方向と逆の方向である上方向に所定の量だけずれた位置になる。
【0051】
このように、垂直方向に位置を変えながら露光が行われた場合、チルト方向(垂直方向)と、露光を行うラインの切り替え方向(垂直方向)が同じであるから、被写体Sは斜めには歪まず、上下方向に伸びて、あるいは縮んで、1フレームの画面内に取り込まれる。
【0052】
図6Aと図6Bを較べて分かるように、露光を行うラインの切り替え方向と、ディジタルカメラ1の移動方向によっては、同じ大きさの被写体が、同じ大きさの撮像素子によって、1フレームの画面内に異なる大きさの被写体として取り込まれる。いい換えれば、露光を行うラインの切り替え方向とディジタルカメラ1の移動方向によっては、広さの異なる範囲が同じ大きさの撮像素子によって取り込まれる。
【0053】
ユーザがディジタルカメラ1を上方向に移動させながら撮影を行った場合、図6Aに示されるように被写体が伸びて露光されるため狭い範囲しか撮影することができないが、下方向に移動させながら撮影を行った場合、図6Bに示されるように被写体が縮んで露光されるため、静止した状態では撮影することができない範囲を含めて、広い範囲を撮影することができる。
【0054】
ディジタルカメラ1においては、このように広い範囲を撮影することができる方向に移動させながら撮影された1枚の画像を、適宜、ラインを補間するなどして加工し、拡大することによって1枚のパノラマ画像が得られる。
【0055】
ユーザは、水平ライン単位で行われる露光のラインの切り替え方向が図4の向きを基準として上のラインから下のラインに向かう方向である場合、その切り替え方向と同じ下方向にディジタルカメラ1を移動させながら撮影を行い、一方、垂直ライン単位で行われる露光のラインの切り替え方向が図4の向きを基準として左のラインから右のラインに向かう方向である場合、その切り替え方向と同じ右方向にディジタルカメラ1を移動させながら撮影を行うことになる(ユーザは、水平ライン単位で、あるいは垂直ライン単位で露光される被写体の範囲の切り替え方向と同じ方向にディジタルカメラ1を移動させながら撮影を行うことになる)。
【0056】
図7乃至図9を参照して、具体的な風景を被写体としたパノラマ撮影について説明する。
【0057】
図7は、撮影者であるユーザから見た風景の例を示す図である。
【0058】
図7の例においては、木、家、車などが被写体として示されている。図7の枠で囲んで示される範囲の風景が、右方向にパンしながら撮影される。
【0059】
上述したように、ディジタルカメラ1を用いたパノラマ撮影時のパン方向は、縮んだ被写体を取り込むことのできる方向であるから、図7の枠で囲んで示される風景を被写体としてパノラマ撮影を行う場合、露光は垂直ライン単位で行われ、その切り替え方向は、図7の左側の範囲を露光する垂直ラインから、右側の範囲を露光する垂直ラインに向かう方向になる。
【0060】
図8は、図7の風景を撮影することによって得られた画像の例を示す図である。
【0061】
右方向にパンしながら撮影が行われた場合、図8に示されるように、被写体である木、家、車は、それぞれ水平方向に縮んだ状態で1フレームの画像に収められる。パンしながら撮影が行われた場合、通常、手ぶれなどの影響が画像に現れるから、図8に示されるように、被写体である木、家、車は、単に水平方向に縮むだけでなく、所定の幅の縦長の範囲毎に垂直方向に例えば互い違いにずれた状態で1フレームの画像に収められる。
【0062】
ディジタルカメラ1においては、1枚のパノラマ画像を生成する際、縮んだ状態で取り込まれた被写体を水平方向に拡大することだけでなく、このように、垂直方向の位置のずれとして現れる手ぶれの影響を補正することも行われる。
【0063】
すなわち、ディジタルカメラ1には、撮像素子に加えられた水平方向の変位を検出するセンサだけでなく垂直方向の変位を検出するセンサも設けられており、その前者のセンサによる検出結果に基づいて、縮んだ状態で取り込まれた被写体を水平方向に拡大することが行われる。また、後者のセンサによる検出結果に基づいて、垂直方向の位置のずれを補正することが行われる。
【0064】
具体的には、水平方向の変位を検出するセンサにより、撮像素子の所定の位置にある第1の垂直ラインの露光と、第1の垂直ラインの次に露光が行われるラインである第2の垂直ラインの露光の間に検出された水平方向の変位に基づいて、第1の垂直ラインの露光によって得られた第1の風景と、第2の垂直ラインの露光によって得られた第2の風景の拡大率が求められ、求められた拡大率に基づいて、第1と第2の風景が、それぞれ、目的とするパノラマ画像のうちの所定のラインの風景として割り当てられる。第1と第2の垂直ラインの露光によって得られたそれぞれの風景は縦長の風景になる。
【0065】
なお、パン方向と逆の方向の変位が検出された場合、縮小率が求められ、求められた縮小率に基づいて、第1と第2の風景が、それぞれ、目的とするパノラマ画像のうちの所定のラインの風景として割り当てられる。
【0066】
また、垂直方向の変位を検出するセンサによる検出結果に基づいて、第1の風景と第2の風景の垂直方向の位置(位相)がそろえられ、目的とするパノラマ画像に収められる。
【0067】
このように、ディジタルカメラ1においては、水平方向、あるいは垂直方向の拡大(縮小)だけでなく、それと直交する方向に現れる位置のずれの補正も行われる。ユーザは、手ぶれの影響が補正されたパノラマ画像を得ることができる。
【0068】
以上のように、ディジタルカメラ1の移動方向が水平方向である場合には垂直方向の位置のずれの補正も行われるから、その補正用のマージン領域が必要になり、図8の実線で囲んで示す撮像画像全体のうち、点線で囲んで示す縮小画像の領域の外側の領域が、このマージン領域になる。1枚のパノラマ画像に写る範囲は、図8の点線で示す縮小画像に写っている範囲になる。
【0069】
図9は、パノラマ画像の例を示す図である。
【0070】
図8の点線で示す縮小画像を構成する、それぞれの垂直ラインにより取り込まれた風景(縦長の画像)を水平方向に拡大/縮小し、それぞれの風景の垂直方向の位置をそろえることにより、図9に示されるように、縮小画像に写っている範囲と同じ範囲の風景を含む1枚のパノラマ画像が修正後の画像として得られる。補正用のマージン領域を確保していることから、図9の枠内の被写体の範囲は、図7の枠内の被写体の範囲より、そのマージン領域の分だけ狭い範囲になる。
【0071】
以上のようにしてパノラマ撮影を行うディジタルカメラ1の一連の処理についてはフローチャートを参照して後述する。
【0072】
図10は、ディジタルカメラ1の構成例を示すブロック図である。図1に示される構成と同じ構成(ディスプレイ11)には同じ符号を付してある。
【0073】
図10に示されるように、ディジタルカメラ1は、撮像素子21、AFE(Analog Front End)22、信号処理部23、画像加工部24、入出力I/F部25、操作部26、コントローラ27、記録部28、記録メディア29、TG(Timing Generator)30、補正量演算部31、および変位検出部32から構成される。
【0074】
撮像素子21は、上述したようにX−Yアドレス型の固体撮像素子であり、TG30から供給される信号にしたがって、水平ライン単位、または垂直ライン単位で、レンズを介して入射する被写体からの光を受光(露光)して光電変換を行い、受光量に応じた電気信号としてのアナログの画像信号をAFE22に出力する。
【0075】
AFE22は、撮像素子21から供給された画像信号をデジタルの画像データに変換し、変換して得られた画像データを信号処理部23に出力する。
【0076】
信号処理部23は、AFE22から供給された画像データを対象として、ノイズを除去する処理、ホワイトバランス調整処理などを含む現像処理を行い、現像処理によって得られた画像データを画像加工部24に出力する。
【0077】
画像加工部24は、ディジタルカメラ1の撮影モードとしてパノラマ撮影モードが設定されているとき、信号処理部23からデータが供給された画像を、補正量演算部31から供給された補正パラメータに基づいて補正し、補正して得られたパノラマ画像を入出力I/F部25とコントローラ27に出力する。
【0078】
画像加工部24においては、被写体が縮んだ状態で写っている画像(縮小画像)を、縮んだ状態ではない、通常の状態の被写体が写っている画像に加工することが、ディジタルカメラ1の移動方向と同じ方向に対する補正として行われる。この補正には、補正量演算部31から供給された補正パラメータに含まれる拡大率、縮小率が用いられる。
【0079】
また、画像加工部24においては、手ぶれなどによってディジタルカメラ1の移動方向と直交する方向に現れる画像の位置のずれを補正することが、ディジタルカメラ1の移動方向と直交する方向に対する補正として行われる。この補正には、補正量演算部31から供給された補正パラメータに含まれる、ディジタルカメラ1の移動方向と直交する方向に撮像素子21に加えられた変位を表す情報が用いられる。
【0080】
画像加工部24は、ディジタルカメラ1の撮影モードとして通常撮影モードが設定されているとき、信号処理部23からデータが供給された画像をそのまま入出力I/F部25とコントローラ27に出力する。
【0081】
入出力I/F部25は、画像加工部24から供給された画像(パノラマ撮影モードでの撮影によって得られたパノラマ画像、通常撮影モードでの撮影によって得られた画像)、または、記録メディア29に記録されている撮影済みの画像をディスプレイ11に表示させる。撮影済みの画像は、記録部28により適宜読み出され、コントローラ27を介して入出力I/F部25に供給されてくる。
【0082】
また、入出力I/F部25は、操作部26に対するユーザの操作を受け付け、ユーザの操作の内容を表す情報をコントローラ27に出力する。
【0083】
操作部26は、ディジタルカメラ1の筐体表面に設けられる各種のボタンから構成される。例えば、撮影モードを切り替えるときに操作されるボタンや、シャッタボタンなどから構成される。
【0084】
コントローラ27は、画像加工部24から供給された画像を記録部28に出力し、記録メディア29に記録させる。また、コントローラ27は、記録メディア29から記録部28により読み出された撮影済みの画像を入出力I/F部25に出力し、ディスプレイ11に表示させる。
【0085】
コントローラ27は、ディジタルカメラ1の撮影モードとしてパノラマ撮影モードが選択されたとき、TG30を制御し、縮んだ状態の被写体を取り込むことができるように、ディジタルカメラ1の移動方向に応じて、水平方向、または垂直方向のライン単位で露光を行わせる。このとき、コントローラ27は、入出力I/F部25を制御し、撮影時のディジタルカメラ1の移動方向を表す矢印やメッセージなどの案内をディスプレイ11に表示させたりもする。
【0086】
記録部28は、コントローラ27から供給された画像を記録メディア29に記録させる。また、撮影済みの画像を表示することがユーザにより指示されたとき、記録部28は、その画像を記録メディア29から読み出し、読み出した画像をコントローラ27に出力する。
【0087】
記録メディア29はディジタルカメラ1に対して着脱可能なメモリカードなどである。
【0088】
TG30は、コントローラ27による制御にしたがって、それぞれのラインの露光のタイミングや、露光を行うラインの切り替えを制御し、撮像素子21からデータを読み出すための信号を撮像素子21に出力する。
【0089】
補正量演算部31は、変位検出部32により検出された変位に基づいて、縮小画像からパノラマ画像を生成するときに用いられる補正パラメータを生成し、生成した補正パラメータを画像加工部24に出力する。
【0090】
補正量演算部31により生成される補正パラメータには、縮小画像の所定のラインの風景を、目的とするパノラマ画像のどのラインの風景として割り当てるのかを表す拡大率、縮小率の情報や、撮像素子21に加えられた、ディジタルカメラ1の移動方向と直交する方向の変位を表す情報などが含まれる。
【0091】
変位検出部32は、撮像素子21の水平ラインと同じ方向と、撮像素子21の垂直ラインと同じ方向の2軸の角速度を検出するジャイロセンサなどを有している。変位検出部32は、センサの出力から撮像素子21に加えられた変位を検出し、検出した変位を表す情報を補正量演算部31に出力する。例えば、変位検出部32による変位の検出は、パノラマ撮影モードが設定されている状態でシャッタボタンが押されたときに開始され、撮像素子21による露光が終わるまで続けられる。
【0092】
変位検出部32においては、例えば、露光を行うラインの切り替え周波数と同じ周波数で変位の検出が行われる。これにより、それぞれのラインによる露光の間に生じた変位を検出することができ、検出された変位に応じて、露光によって得られたそれぞれの画像の補正量(拡大率、縮小率)を求めることが可能になる。
【0093】
なお、変位検出部32による変位の検出が、露光を行うラインの切り替え周波数と同じ周波数で行われず、低い周波数で行われる場合、検出された変位の量と検出の時間差から、それぞれのラインによる露光の間に生じた変位が補間などにより求められ、求められた変位が検出結果として用いられる。
【0094】
図11は、水平方向の変位量の例を示す図である。
【0095】
図11において、横軸は時刻を表し、縦軸は水平方向の変位を表す。
【0096】
撮影の開始と同時に適切な速度で水平方向にパンが行われた場合(露光は垂直ライン単位)、図11に示されるように、時間の経過に伴って、撮影開始時のディジタルカメラ1の位置を基準として変位xが次第に大きくなる。
【0097】
変位検出部32においては、所定の位置の垂直ラインである垂直ラインnの露光開始時刻における変位xと、垂直ラインnに続けて露光が行われる垂直ラインである垂直ラインn+1の露光開始時刻における変位xの差分が、垂直ラインnの露光時の水平方向の変位量Δxとして検出される。図11において、Δtは、垂直ラインnの露光開始時刻と垂直ラインn+1の露光開始時刻の差を表す。
【0098】
変位量Δx=0の場合、露光時に水平方向の変位が加えられていないため、その露光によって取り込まれた風景を、水平方向に拡大することなく、目的とするパノラマ画像の対応するラインに割り当てるような補正パラメータが補正量演算部31により生成される。
【0099】
例えば、図12に示されるように、ラインnの露光時と、ラインn+1の露光時のいずれにおいても変位量Δx=0であり、ラインnの露光によって風景Aが取り込まれ、続けて、ラインn+1の露光によって風景Bが取り込まれた場合、ラインnによって取り込まれた風景Aは、そのまま、目的とするパノラマ画像のラインnの風景として割り当てられる。また、ラインn+1によって取り込まれた風景Bも、そのまま、目的とするパノラマ画像のラインn+1の風景として割り当てられる。
【0100】
一方、変位量Δx≠0の場合、露光時に水平方向の変位が加えられているため、その露光によって取り込まれた風景を水平方向に拡大し、目的とするパノラマ画像の対応するラインに割り当てるような補正パラメータが補正量演算部31により生成される。
【0101】
例えば、図13に示されるように、ラインnの露光時の変位量が変位量Δx=0であり、図12の場合と同様にラインnの露光によって風景Aが取り込まれたが、ラインn+1の露光時に、変位量Δx=0のときには1ライン隣のラインn+2によって取り込まれる風景B’が取り込まれるような変位、すなわち、1ライン分の変位が生じたことから、ラインn+1の露光によってその風景B’が取り込まれた場合を考える。
【0102】
この場合、ラインnによって取り込まれた風景Aは、そのまま、目的とするパノラマ画像のラインnの風景として割り当てられる。
【0103】
また、ラインn+1によって取り込まれた風景B’は、目的とするパノラマ画像のラインn+1とn+2の風景として割り当てられる。すなわち、撮像素子21には1/2に縮小して露光したことになるため、補正パラメータの拡大率は2倍として求められる。
【0104】
このように、ライン毎に水平方向の拡大率、縮小率が求められることによって、パン速度が一定でない場合でも、適正に、縮小画像からパノラマ画像を生成することが可能になる。
【0105】
図14は、垂直方向の変位量の例を示す図である。
【0106】
図14において、横軸は時刻を表し、縦軸は垂直方向の変位を表す。
【0107】
水平方向にパンしながら撮影が行われた場合(露光は垂直ライン単位)、図14に示されるように、撮影者の手ぶれによって、例えば波状の変位yの検出結果が得られる。
【0108】
変位検出部32においては、所定の位置の垂直ラインである垂直ラインnの露光開始時刻における変位yと、垂直ラインnに続けて露光が行われる垂直ラインである垂直ラインn+1の露光開始時刻における変位yの差分が、垂直ラインnの露光時の垂直方向の変位量Δyとして検出される。図14において、Δtは、垂直ラインnの露光開始時刻と垂直ラインn+1の露光開始時刻の差を表す。
【0109】
変位量Δy=0の場合、露光時に垂直方向の変位が加えられていないため、その露光によって取り込まれた風景は、垂直方向の位置を補正することなく、目的とするパノラマ画像の対応するラインに割り当てられる。
【0110】
例えば、図15の左側に示されるように、ラインnの露光時と、ラインn+1の露光時のいずれにおいても変位量Δy=0であり、ラインnの露光によって風景Aが取り込まれ、続けて、ラインn+1の露光によって風景Bが取り込まれた場合、白抜き矢印の先に示されるように、ラインnによって取り込まれた風景Aは、垂直方向の位置を補正することなく、そのまま、目的とするパノラマ画像のラインnの風景として割り当てられる。また、ラインn+1によって取り込まれた風景Bも、そのまま、目的とするパノラマ画像のラインn+1の風景として割り当てられる。
【0111】
なお、図15の左側に示される2本の水平方向の点線は、図8の縮小画像を囲む上下の点線の枠に相当する線であり、右側に示される2本の水平方向の実線は、図9のパノラマ画像を囲む上下の実線の枠に相当する線である。図16においても同様である。
【0112】
一方、変位量Δy≠0の場合、露光時に変位が加えられているため、その露光によって取り込まれた風景は、垂直方向の位置を補正してから、目的とするパノラマ画像の対応するラインに割り当てられる。
【0113】
例えば、図16の左側に示されるように、ラインnの露光時の変位量が変位量Δy=0であり、図15の場合と同様にラインnの露光によって風景Aが取り込まれたが、ラインn+1の露光時に所定の大きさの変位Δyが生じたことから、ラインn+1の露光によって、風景Bが、風景Aを露光した画素の位置を基準として垂直方向にずれた位置の画素で取り込まれた場合を考える。
【0114】
この場合、図16の白抜き矢印の先に示されるように、ラインnによって取り込まれた風景Aは、垂直方向の位置を補正することなく、そのまま、目的とするパノラマ画像のラインnの風景として割り当てられる。
【0115】
また、ラインn+1によって取り込まれた風景Bは、垂直方向の位置を補正してから、パノラマ画像のラインn+1の風景として割り当てられる。補正には、マージン領域の画素によって取り込まれた風景が用いられる。
【0116】
このように、ライン毎に垂直方向の補正が行われることによって、手ぶれが生じた場合でも、適正に、縮小画像からパノラマ画像を生成することが可能となる。
【0117】
なお、図15、図16の説明においては、水平方向の補正を考慮していないが、実際には、図12、図13を参照して説明した水平方向の補正と、図15、図16を参照して説明した垂直方向の補正が組み合わせて用いられる。
【0118】
ここで、図17のフローチャートを参照して、図7のパノラマ風景を被写体としてパノラマ撮影を行うディジタルカメラ1の一連の処理について説明する。
【0119】
この処理は、例えば、ボタン操作によって、撮影モードとしてパノラマ撮影モードを設定することがユーザにより指示されたときに開始される。
【0120】
ステップS1において、入出力I/F部25は、ユーザによる撮影モードの設定操作を受け付け、受け付けた操作の内容を表す情報をコントローラ27に出力する。
【0121】
ステップS2において、コントローラ27は、ディジタルカメラ1内部の撮影モードをパノラマ撮影モードに設定する。パノラマ撮影モードが設定されたとき、撮像素子21による露光のタイミングの設定、露光の単位になるラインの方向の設定、被写体の露出の設定、フォーカスの設定が、パノラマ撮影用の設定に固定される。
【0122】
ステップS3において、コントローラ27は、入出力I/F部25を制御し、被写体に対して、パンしながら撮影を行うことをユーザに案内する画面をディスプレイ11に表示させる。例えば、パン方向を表す矢印などがディスプレイ11に表示される。
【0123】
ユーザによりシャッタボタンが押され、パンしながらの撮影が開始されたとき、変位検出部32は、ステップS4において、それぞれのラインによる露光の間に撮像素子21に加えられた変位の検出を開始し、それを、全てのラインでの露光が終了するまで続ける。検出結果を表す情報は変位検出部32から補正量演算部31に出力される。
【0124】
撮像素子21の全てのラインでの露光が終了したとき、補正量演算部31は、ステップS5において、変位検出部32による検出結果に基づいて、ユーザにより行われたパンの速度が適切な速度であるか否かを判定する。
【0125】
例えば、所定の速度の範囲があらかじめ設定されており、検出されたパン速度がその範囲内にある場合、適切な速度であるとして判定される。あらかじめ設定されている範囲の下限の速度よりパン速度が遅いときや、上限の速度よりパン速度が早いとき、適切でないパン速度であるとして判定される。
【0126】
パン速度が遅すぎる場合や早すぎる場合、図13を参照して説明したようにして所定のラインの露光によって取り込まれた風景を、パノラマ画像のラインの風景として割り当てたとしても、得られるパノラマ画像の画質が劣るものになることから、このような場合、パン速度は適切でないとして判定されることになる。
【0127】
補正量演算部31は、ステップS5において、ユーザにより行われたパンの速度が適切な速度ではないと判定した場合、ステップS3に戻り、それ以降の処理を行う。ユーザにより行われたパンの速度が適切な速度ではない場合、ディスプレイ11には、例えば、パン速度が速すぎることや遅すぎることをユーザに通知するメッセージや、パンしながらの撮影を再度行うことを案内するメッセージがコントローラ27によって表示される。
【0128】
なお、パン速度が適切な速度であるか否かを表す情報が、ユーザがパンを行っている最中にリアルタイムでディスプレイ11に表示されるようにしてもよい。
【0129】
一方、ステップS5において、ユーザにより行われたパンの速度が適切な速度であると判定した場合、ステップS6に進み、補正量演算部31は、変位検出部32により検出された変位量に基づいて、上述したようにしてパン方向と同じ方向の補正量(拡大率、縮小率)を求める。変位検出部32は、求めた補正量と、パン方向と直交する垂直方向の変位を含む補正パラメータを画像加工部24に出力する。
【0130】
ステップS7において、画像加工部24は、信号処理部23からデータが供給された縮小画像を、補正量演算部31から供給された補正パラメータに基づいて補正し、補正して得られたパノラマ画像をコントローラ27に出力する。補正パラメータに含まれる拡大率、縮小率に基づいて、縮小画像のそれぞれのラインが拡大、または縮小されて目的とするパノラマ画像のラインに割り当てられるとともに、補正パラメータに含まれる垂直方向の変位に基づいて、それぞれのラインの位置のずれが補正される。
【0131】
ステップS8において、コントローラ27は、画像加工部24から供給されたパノラマ画像を記録部28に出力し、記録メディア29に記録させる。その後、処理は終了される。
【0132】
以上の処理が行われることにより、ユーザは、パノラマ画像を、容易に撮影することができる。
【0133】
以上においては、図17のフローチャートを参照して、水平方向に広い範囲の撮影を行う場合について説明したが、垂直方向に広い範囲の撮影を行う場合、露光を行うラインの方向が水平方向になり、また、ラインの切り替え方向が垂直方向になる点を除いて同様の処理が行われる。
【0134】
上述したようなパノラマ撮影は、ディジタルスチルカメラだけでなく、X−Yアドレス型の撮像素子と、変位を検出するセンサが設けられている機器であれば、様々な機器において行われるようにすることが可能である。
【0135】
また、以上においては、ユーザにより行われたパンの速度があらかじめ設定された適切な速度ではない場合、パノラマ画像の生成は行われないものとしたが、ユーザにより行われているパンの速度に応じて、適宜、ライン単位で、露出のタイミングが調整されるようにしてもよい。例えば、パンの速度が遅いとき、そのときの露出の期間は長くなり、パンの速度が速いとき、そのときの露出の期間は短くなるように調整される。
【0136】
これにより、パノラマ画像を生成する元の画像として質の高い縮小画像を得ることが可能になる。
【0137】
以上においては、パノラマ画像を撮影するとき、ディジタルカメラ1を移動させる方向がユーザに案内されるものとしたが、移動方向がユーザにより選択され、それに応じて、水平方向のラインを単位として露光を行うのか、あるいは、垂直方向のラインを単位として露光を行うのかと、ラインの切り替え方向が選択されるようにしてもよい。
【0138】
これにより、ユーザは、自分のやりやすい方向にディジタルカメラ1を移動させて、パノラマ画像を撮影することができる。
【0139】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【0140】
図18は、上述した一連の処理をプログラムにより実行するパーソナルコンピュータの構成の例を示すブロック図である。
【0141】
CPU(Central Processing Unit)201は、ROM(Read Only Memory)202、または記憶部208に記憶されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)203には、CPU201が実行するプログラムやデータなどが適宜記憶される。これらのCPU201、ROM202、およびRAM203は、バス204により相互に接続されている。
【0142】
CPU201にはまた、バス204を介して入出力インターフェース205が接続されている。入出力インターフェース205には、キーボード、マウス、マイクロホンなどよりなる入力部206、ディスプレイ、スピーカなどよりなる出力部207が接続されている。CPU201は、入力部206から入力される指令に対応して各種の処理を実行し、処理の結果を出力部207に出力する。
【0143】
入出力インターフェース205に接続されている記憶部208は、例えばハードディスクからなり、CPU201が実行するプログラムや各種のデータを記憶する。通信部209は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
【0144】
入出力インターフェース205に接続されているドライブ210は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア211が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部208に転送され、記憶される。
【0145】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、図18に示すように、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア211、または、プログラムが一時的もしくは永続的に格納されるROM202や、記憶部208を構成するハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインターフェースである通信部209を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【0146】
なお、本明細書において、プログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【図面の簡単な説明】
【0147】
【図1】本発明の一実施形態に係るディジタルカメラを用いたパノラマ撮影の例を示す図である。
【図2】撮像素子のラインを示す図である。
【図3】撮像素子の露光期間の例を示す図である。
【図4】撮像結果の被写体の例を示す図である。
【図5】撮像結果の被写体の他の例を示す図である。
【図6】撮像結果の被写体のさらに他の例を示す図である。
【図7】風景を被写体としたパノラマ撮影の例を示す図である。
【図8】風景を被写体としたパノラマ撮影の例を示す他の図である。
【図9】風景を被写体としたパノラマ撮影の例を示すさらに他の図である。
【図10】ディジタルカメラの構成例を示すブロック図である。
【図11】水平方向の変位量の例を示す図である。
【図12】水平方向の補正の例を示す図である。
【図13】水平方向の補正の他の例を示す図である。
【図14】垂直方向の変位量の例を示す図である。
【図15】垂直方向の補正の例を示す図である。
【図16】垂直方向の補正の他の例を示す図である。
【図17】ディジタルカメラのパノラマ撮影処理について説明するフローチャートである。
【図18】パーソナルコンピュータの構成例を示すブロック図である。
【符号の説明】
【0148】
1 ディジタルカメラ, 11 ディスプレイ, 21 撮像素子, 24 画像加工部, 27 コントローラ, 31 補正量演算部, 32 変位検出部

【特許請求の範囲】
【請求項1】
所定の一方向に並ぶ画素のラインを単位として、一方のラインから他方のラインに向けて、露光を行うラインを順次切り替えて撮像を行う撮像手段と、
ライン単位で行われるそれぞれの露光時に生じた、前記撮像手段の位置の移動量を検出する検出手段と、
ライン単位で行われた露光によって取り込まれたそれぞれの画像を、前記検出手段により検出されたそれぞれのラインによる露光時の前記移動量に基づいて拡大する画像処理手段と
を備える画像処理装置。
【請求項2】
前記検出手段は、露光される被写体の範囲の切り替え方向と同じ方向である第1の方向の前記移動量を検出する
請求項1に記載の画像処理装置。
【請求項3】
前記検出手段は、前記第1の方向と直交する方向である第2の方向の前記移動量をさらに検出し、
前記画像処理手段は、さらに、ライン単位で行われた露光によって取り込まれたそれぞれの画像に現れる前記第2の方向の位置のずれを、前記検出手段により検出された前記第2の方向の前記移動量に基づいて補正する
請求項2に記載の画像処理装置。
【請求項4】
前記撮像手段による撮像中の筐体の移動方向を表す情報を表示させる表示制御手段をさらに備える
請求項1に記載の画像処理装置。
【請求項5】
前記検出手段により検出された前記移動量から求められる撮像中の筐体の移動速度が所定の範囲の速度でないとき、そのことを表す情報を表示させる表示制御手段をさらに備える
請求項1に記載の画像処理装置。
【請求項6】
撮像手段を備える画像処理装置の画像処理方法において、
所定の一方向に並ぶ画素のラインを単位として、一方のラインから他方のラインに向けて、露光を行うラインを順次切り替えて撮像を行い、
ライン単位で行われるそれぞれの露光時に生じた、前記撮像手段の位置の移動量を検出し、
ライン単位で行われた露光によって取り込まれたそれぞれの画像を、検出したそれぞれのラインによる露光時の前記移動量に基づいて拡大する
ステップを含む画像処理方法。
【請求項7】
撮像手段を備える画像処理装置によって撮像された画像の処理をコンピュータに実行させるプログラムにおいて、
所定の一方向に並ぶ画素のラインを単位として、一方のラインから他方のラインに向けて、露光を行うラインを順次切り替えて撮像を行い、
ライン単位で行われるそれぞれの露光時に生じた、前記撮像手段の位置の移動量を検出し、
ライン単位で行われた露光によって取り込まれたそれぞれの画像を、検出したそれぞれのラインによる露光時の前記移動量に基づいて拡大する
ステップを含むプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate


【公開番号】特開2007−214620(P2007−214620A)
【公開日】平成19年8月23日(2007.8.23)
【国際特許分類】
【出願番号】特願2006−29237(P2006−29237)
【出願日】平成18年2月7日(2006.2.7)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】