JP2010136302A - 撮像装置、撮像方法、およびプログラム - Google Patents
撮像装置、撮像方法、およびプログラム Download PDFInfo
- Publication number
- JP2010136302A JP2010136302A JP2008312674A JP2008312674A JP2010136302A JP 2010136302 A JP2010136302 A JP 2010136302A JP 2008312674 A JP2008312674 A JP 2008312674A JP 2008312674 A JP2008312674 A JP 2008312674A JP 2010136302 A JP2010136302 A JP 2010136302A
- Authority
- JP
- Japan
- Prior art keywords
- image
- angular velocity
- sensor
- information
- imaging
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/2624—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects for obtaining an image which is composed of whole input images, e.g. splitscreen
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/698—Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
Abstract
【解決手段】撮像素子12と、撮像装置をスイープさせながら撮影した複数枚の撮影画像を、1枚に合成する機能を有する画像信号処理部161と、撮像装置の姿勢情報を得る姿勢センサ14と、姿勢センサ14の情報を処理する制御部162と、を有し、制御部162は、姿勢センサの検出情報に基づいてスイープ角速度の適正値を報知し、スイープ角速度が適正範囲を越えて速い場合には警告を発する。
【選択図】図1
Description
後者の場合、撮影は高速シャッタを用いる必要もある。
そこで用いられる技術は、カメラの動作方向と動作角速度を検出するとともに、その動作と逆向きに同角速度で光軸を動作させることにより、画像変化を打ち消し、あたかも1点を注視するかのごとく撮影する技術である。
ところが、手持ちでカメラをスイープさせながら撮影させる必要があるが、そのスイープ速度を適正な値に保たないと、十分な画像を得ることが困難である。
しかし、現行のカメラでは、スイープ速度を管理(監視)することができないことから、撮影直後に取り直しが必要か否かの判断を行うことができない。
また、姿勢センサで検出された撮像装置の姿勢情報が制御部に入力される。
制御部においては、姿勢センサの検出情報に基づいてスイープ角速度の適正値が報知される。そして、スイープ角速度が適正範囲を越えて速い場合には警告が発せられる。
カメラ装置10は、これらの多数、たとえば数千枚の画像をしわ寄せなく正確に合成し、いわゆるパノラマ画像を形成することができるように構成されている。
すなわち、カメラ装置10は、固定撮像素子、たとえばCMOSイメージセンサ(CIS)を搭載したデジタルカメラを縦または横方向に高速に振り回して撮影した画像を用いてパノラマ画を作成する機能を有している。
カメラ装置10を移動させながら複数枚の撮像画像を行い、取得した画像を合成することによってパノラマ画像を生成するにあたって、画像を集光するレンズ(シフトレンズ)の光軸をカメラの移動方向と角速度を打ち消すよう制御する。
これにより、カメラが動いていてもあたかも1点を注視するがごとく画像を撮影する。 この構成においては、固体撮像素子としてはCIS(CMOS Image Sensor)を用い、中心方向の一部のラインに対して上記の制御を行い撮像する。
すなわち、一部のラインの露光時間と読み出し時間を加えた期間に上記の光軸制御が行われ、それ以外の時間においては、光軸を中心付近に戻すような制御が行われる。その際のカメラの撮影方向はCISのラインに対して垂直方向とする。
そして、カメラ装置10は、CISの一部を短冊状に切り出し、その部分に対応した光軸制御を行うことにより、カメラが高速に動いても高いフレームレートで解像度を低下させずにパノラマを生成する。
カメラ装置10は、連続した画像を、画像認識技術で得られたフレームの移動情報と、姿勢センサからの移動情報を用いて空間的に配置する技術を採用している。
この画像認識では、情報を得られない部分を姿勢センサ情報で補い、姿勢センサ情報は画像認識の成功確認や失敗時の補助座標として用いる。空間的に配置された画像は1つのパノラマ画像として完成する。
この場合、カメラ装置10は、主として手持ちで略一点から方向を変えながら複数枚撮影するカメラとして構成される。
カメラ装置10は、3軸(または2軸)加速度センサと3軸(または2軸)角速度センサまたはそのいずれかを含む姿勢センサを有する。
カメラ装置10は、撮影された各画像にはどの方向を向いて撮影したかという姿勢の情報を同時に記録し、撮影された複数の画像をその場で1枚に合成する機能を有する。
カメラ装置10は、画像の重複領域を利用してブロックマッチング等の画像認識機能を使って相互の画像の相対位置関係を算出し、各種の姿勢センサのデータによる画像の位置関係を算出する。
そして、カメラ装置10は、算出した相対位置関係と画像の位置関係の双方の選択的協調によってより精度の高い画像の相対位置関係を算出する。
その後、カメラ装置10は、各画像の中心が向く方向、パン角(経度)とチルト角(緯度)および、その光軸のまわりに回転するロール角(傾斜)といった各画像の絶対位置関係を特定し、これを初期値として精密自動合成を行う。
カメラ装置10は、連続した画像の記録において、画像認識技術で得られたフレームの移動情報と、姿勢センサからの移動情報を対応する技術を採用している。
カメラ装置10は、片方だけでは不明な、画像のピクセル画角、姿勢センサの静止時の値、姿勢センサ値のピクセル画角対応といった情報を算出する。オフセット、ゲイン等のパラメータを有し、これを変更することによって実際の方向とほぼ一致させることができる。
カメラ装置10は、静止時の姿勢のデータを3軸(または2軸)加速度センサが重力の方向となす角としてスタティックに検出し、それを姿勢情報の初期値とする。
カメラ装置10は、カメラの縦方向、横方向の主に回転移動をたとえば3軸角速度センサを時間積分したもので計算し、各画像の撮影された時点の方向データとする。
カメラ装置10は、画像の重複領域を利用してブロックマッチング等の画像認識手段を使って相互の画像の位置関係を算出する。カメラ装置10は、相互の画像の位置関係を演算で求めると同時にその結果が正しいか正しくないかの判定も行う。
カメラ装置10は、ここで判定された結果が正しい場合、この情報でパラメータを校正する。
そして、カメラ装置10は、判定された結果が正しくない場合、既に校正されているパラメータによる姿勢センサの値を使って画像を配置していく。
カメラ装置10は、移動体による影響を検出した場合に警告を出して撮影のやり直しを促す機能を有する。
カメラ装置10は、移動体の検出に関し、重複率を50%以上として被写体のどの部分も少なくとも2枚の画像にまたがって写るようにし、隣接画像間の移動ベクトルの類似性で視差による影響や動被写体を検出する機能を有する。
すなわち、カメラ装置10は、移動体または視差による影響を検出した場合に警告を出して撮影のやり直しを促す。
広い範囲の被写体をさっと一振りで複数の短冊状画像を撮影して一枚に合成するカメラ装置10において、近距離の被写体がパララックスの影響をどの程度受けているかを検出し、カメラの視点を中心として撮影し直すことを促す。
カメラ装置10は、スイープ角速度(ユーザがカメラを振り回す速さ)の適正値を知らせる方法と、速すぎる場合に警告を出して撮影のやり直しを促す。
カメラ装置10は、表示装置18、たとえばLCDの画面に横軸に時間、縦軸に姿勢センサ(ジャイロセンサ)の出力(スイープ角速度)をグラフにして表示する。水平画角、水平画素数、シャッタ速度が設定されると最大スイープ角速度が決まるので、その 60%〜80% を適正範囲としてグラフに表示する。
光学系11は、通常のレンズ111、光軸可変素子としてのシフトレンズ112、およびメカニカルシャッタ113を含んで構成される。
シフトレンズ112は、画像を集光する機能に加えて、ドライバ15の駆動により光軸の方向を変更可能な機能を有している。
本実施形態では、CMOSイメージセンサを例として説明する。また、上述した第1の構成では、固体撮像素子としてCMOSイメージセンサが適用される。
撮像素子12は、半導体基板上にマトリクス状に配列した光センサにより光学系11による被写体像を検出して信号電荷を生成し、同信号電荷を垂直信号線や水平信号線を介して読み出して被写体の画像信号を出力する。
撮像素子12がCMOSイメージセンサにより形成される場合、電子シャッタとしてグローバルシャッタとローリングシャッタで露光制御が行われる。この露光制御は、システムコントローラ16により行われる。
姿勢センサ14は、たとえば3軸加速度センサ141と3軸角速度センサ142により構成される。
加速度センサ141は重力の方向となす角をスタティックに知ることができ、チルト角とロール角を検出することが可能である。しかし、パン角を検出することはできない。
そこで、移動角を知るためには角速度センサ142を用いる。これはジャイロセンサとも言われ、回転中の角速度が電圧信号として検出が可能であり、この電圧信号を積分すると角度になる。そして、3軸であることからパン角、チルト角、ロール角が検出できる。
そして、図3に示すように、精密合成処理部1611は、第1色補正機能部16111、合成機能部16112、および第2色補正機能部16113を含んで構成されている。
マイクロコンピュータ162は、姿勢センサ14の検出結果に応じて、画像を集光するレンズ(シフトレンズ)の光軸をカメラの移動方向と角速度を打ち消すよう制御する。
マイクロコンピュータ162は、固体撮像素子としてはCMOSイメージセンサを用いた場合に、中一部のラインの露光時間と読み出し時間を加えた期間に上記の光軸制御を行いそれ以外の時間においては、光軸を中心付近に戻すようにドライバ15を制御する。その際のカメラの撮影方向はCMOSイメージセンサのラインに対して垂直方向とする。
そして、マイクロコンピュータ162は、CMOSイメージセンサの一部を短冊状に切り出し、その部分に対応した光軸制御を行うことにより、カメラが高速に動いても高いフレームレートで解像度を低下させずにパノラマを生成するように制御する。
あるいは、画像信号処理部161は、撮像された隣り合う画像の動き成分を検出し、マイクロコンピュータ162はこの検出された動き成分に応じて光軸の変化量を制御することも可能である。
あるいは、マイクロコンピュータ162は、算出された回転角度および動き成分を用いて光軸の変化量を制御することも可能である。
画像信号処理部161およびマイクロコンピュータ162は、画像の重複領域を利用してブロックマッチング等の画像認識機能を使って相互の画像の相対位置関係を算出し、各種の姿勢センサのデータによる画像の位置関係を算出する。
マイクロコンピュータ162は、算出した相対位置関係と画像の位置関係の双方の選択的協調によってより精度の高い画像の相対位置関係を算出する。
その後、マイクロコンピュータ162は、各画像の中心が向く方向、パン角(経度)とチルト角(緯度)および、その光軸のまわりに回転するロール角(傾斜)といった各画像の絶対位置関係を特定する。
画像信号処理部161は、これを初期値として精密自動合成を行う。
マイクロコンピュータ162は、静止時の姿勢のデータを3軸(または2軸)加速度センサが重力の方向となす角としてスタティックに検出し、それを姿勢情報の初期値とする。
マイクロコンピュータ162は、カメラの縦方向、横方向の主に回転移動をたとえば3軸角速度センサ142を時間積分したもので計算し、各画像の撮影された時点の方向データとする。
マイクロコンピュータ162は、画像の重複領域を利用してブロックマッチング等の画像認識機能を使って相互の画像の位置関係を算出するが、相互の画像の位置関係を演算で求めると同時にその結果が正しいか正しくないかの判定も行う。
マイクロコンピュータ162は、ここで判定された結果が正しい場合、この情報でパラメータを校正する。
そして、マイクロコンピュータ162は、判定された結果が正しくない場合、既に校正されているパラメータによる姿勢センサの値を使って画像を配置していく。
マイクロコンピュータ162は、移動体の検出に関し、重複率を50%以上として被写体のどの部分も少なくとも2枚の画像にまたがって写るようにし、隣接画像間の移動ベクトルの類似性で視差による影響や動被写体を検出する。
すなわち、マイクロコンピュータ162は、移動体または視差による影響を検出した場合に警告を出して撮影のやり直しを促す。
マイクロコンピュータ162は、近距離の被写体がパララックスの影響をどの程度受けているかを検出し、カメラの視点を中心として撮影し直すことを促す。
マイクロコンピュータ162は、表示装置18、たとえばLCDの画面に横軸に時間、縦軸に姿勢センサ(ジャイロセンサ)の出力(スイープ角速度)をグラフにして表示する。水平画角、水平画素数、シャッタ速度が設定されると最大スイープ角速度が決まるので、その60%〜80%を適正範囲RNGとして、図4に示すようにグラフに表示する。
操作手順の概略は以下の通りである。
[1]操作部19のスタートボタンを押してカメラを回し、その後スタートボタンを離す。
[2]スタートボタンが押されている間のスィープ角速度が、図4に示すように、表示装置18の画面に表示される。
[3]適正範囲RNGより遅い場合には警告はないが、一瞬でも範囲を越えて速い場合には警告音が出る。
なお、第1〜第5の構成における主たる制御はシステムコントローラ16により行われる。
第1の構成では、固体撮像素子としてCMOSイメージセンサを適用することからフレーム/フィールドと言った考え方は存在せず、全てのラインを順次読み出すプログレッシブ方式となる。
また、図5の濃い短冊部30で示されるように、本実施形態では、マイクロコンピュータ162は、CMOSイメージセンサの撮像範囲のうち中心部から切り出される短冊に対して光軸制御を行っている。
(a)パララックスの影響は短冊の幅が狭いほど有利になる。
(b)CMOSイメージセンサの非同時読み出しの影響も短冊の幅が狭いほど有利になる。
(c)周辺減光の影響にも有利になる。
(d)レンズ歪の影響にも有利になる。
マイクロコンピュータ162は、固体撮像素子としてはCMOSイメージセンサを用いた場合に、中一部のラインの露光時間と読み出し時間を加えた期間に上記の光軸制御を行いそれ以外の時間においては、光軸を中心付近に戻すようにドライバ15を制御する。
CMOSイメージセンサの各ラインにおいて露光に引き続き電荷の読み出しが行われるが、あるラインについて読み出しが終了した後、次のラインの露光と電荷の読み出しが行われる。この動作を繰り返して短冊部の全ての電荷処理が行われる間、光軸制御が行われる。
たとえば、1ラインあたりの読み出し時間が7.8 msec/ラインのCMOSイメージセンサを使用し、シャッタ速度が1/1000秒(つまり露光時間が1msec)、短冊幅が200ラインの場合、図6の総読み出し時間は1.56msec、光軸制御時間は2.56msecとなる。これは各種パラメータを与えた場合に決まるぶれの画素数やフレームレートなどを計算した図22の条件[3]に相当する。ちなみに、撮影のフレームレートが60fps(1画像あたり約16.66msec)において、対応する特許文献1の図3における数値を当てはめてみると、Sonは2.56msecであり、Soff = 16.66-2.56 = 14.1(msec)となる。
また、光軸制御される限界角度については、特許文献1では±1.2(deg)であるが、本実施形態の場合、たとえば、±0.5°の範囲で可変であるところ、0度〜0.3度までの間を使用する。これは可変範囲の最大値の約60%である。
以下、本実施形態の精密合成の特徴的な機能部分を具体的に説明する。
換言すれば、第1色補正機能部16111は、原画像からレンズ歪み補正係数などにパラメータを抽出する。
そして、第1色補正機能部16111は、すべての部分画像に一様に周辺減光補正、コントラスト強調、彩度強調、ガンマ補正を行う。
合成機能部16112は、すべての境界について同時にBM結果の評価を行い、すべての境界の誤差が小さくなるように光軸の方向を更新して誤差を小さくしていき複数の画像の合成を精密に行う。
また、第2色補正機能部16113は、隣接する画像間の色の不連続を検知限界以下まで減少させるための色補正を行う。
つまり、空間的関数のシフトがスペクトル領域における位相のみ変化するというフーリエシフト定理に基づいて技術を採用している。
つまり、2つの関数f1およびf2が次の関係を満足しているとする。
f2(x、y)=f1(x+xt,y+yt)
F2(u,v)=F1(u,v)exp(−2πi(uxt+vyt))
実際、画像は、図7に示すように、2つの画像の相互電力スペクトルのようなビット雑音である。
したがって、相互電力スペクトル(CPS)のピークを探り出し、それからトランスレーション(平行移動)パラメータ(xt,yt)を引き出すことが望ましい。
図7(A)は2つの画像のステッチングの結果を示している。2次元のトランスレーションは、図7(B)に示すように、相互電力スペクトル(CPS)のピーク検出によって得られる。ここで、相互電力スペクトル(CPS)が読み可能であれば画像は完全に整合する。
ノイズの多い画像は、最高のピークを検出することが困難であることから、いくつかのピークから選択するようにしても良い。
ここで、BMは上述した相互電力スペクトル(CPS)のピークを引き出す機能を含む。
たとえば左下が第0の画像IM0、その右が第1の画像IM1、左上が第2の画像IM2、その右が第3の画像IM3とする。これらの画像IM0〜IM3は、隣接する画像間の境界で重なり部分を含むように配置される。
図8において、境界部分に配置した矩形で示すものがブロックBLKである。
このような配置条件で、BM(ブロックマッチング)を行う。
そして、上下左右の4つの境界BDR01,BDR02,BDR13,BDR23から、レンズ歪み、画角、チルト角などの情報を取り出す。
BMは、たとえば図9に示すように、一つの境界で3箇所について行う。
レンズ歪みがあると、BMの結果は図10に示すように弓なりになる。
チルト角が正しくないと、BMの結果は図11に示すような、図中の左右方向に傾いたような誤差が生じる。
レンズ歪みの中心が縦にずれていると、図12に示すように、上下の境界で左右の伸縮が起きる。左右の境界で上下の伸縮が起きているときは、レンズ歪みの中心が横にずれているときである。
上に向くにつれて画像が回転する場合、図13に示すように、上下方向に傾いたような誤差が生じる。メカニカルなチルト軸に対してカメラが正面を向いていないときに、図13のようになる。
これらの誤差が最小となるように各種パラメータを決める。
これにより、どこの4枚をつないでも、誤差を小さくすることができる。
この場合、基準画像を1枚決め、それ以外の画像を平行移動して最も誤差が小さくなる位置に収束させる。
平行移動で最適位置を求め、移動する。
この場合、ループを回す。
移動すべき量の総和を示すパラメータ fxy を 0.0 にする。
上下左右(縦横)のすべての画像について行う。
基準画像は動かさない。
BMの結果、隣接画像との位置関係が得られているのでこれに基づいて動かすべき量を計算する。
その方法は、真上と右隣のものを加え、真下と左隣のものを引いて平均を作り、f[y][x].x, f[y][x].y とする。
その80%を現在の画像の中心位置に加えて新しい画像の中心位置とする。
fxy に、すべての画像の移動すべき量の絶対値の総和を入れる。
この移動によって上下の位置関係、左右の位置関係がどう改善されるかを計算する。
fxy はこの移動を繰り返すことにより、だんだん小さくなる性質を持っている。
言い換えると、これ以上移動することができない状態に収束する。
fxy が十分小さくなったら終了する。
ここでは、4枚の画像について考察する。
第0の画像IM0は動かさない。すなわち、第0の画像IM0を基準画像とする。
BM(ブロックマッチング)の結果の横の成分を bx1[0]、bx1[1]、bx2[0]、bx2[1]とする。
縦の成分も独立に行うが、ここでは横のみを扱うことにする。
bx1は左右、bx2は上下である。[]の中の数字は0が下または左である。
基準画像IM0に対して右または上の画像が右または上にあるとき、BM結果は正の値となる。
今、極端な例として、一か所だけ異常な値があったときを想定し、bx1[0]=10、bx1[1]=0、bx2[0]=0、bx2[1]=0とする。
もし、第0の画像IM0と第1の画像IM1のBM結果から第1の画像IM1の位置を決め、第1の画像IM1と第3の画像IM3のBM結果から第3の画像IM3の位置を決める。そして、第2の画像IM2と第3の画像IM3のBM結果から第2の画像IM2の位置を決めていくと、第0の画像IM0と第2の画像IM2の位置関係に10画素という大きな値がしわ寄せとして生じてしまう。
xypos2()で隣接画像との位置関係から平行に移動すべき量を求める。
最初、第1の画像IM1は−5画素移動するべきと計算される。
move() で平行に移動する。
実際に移動させる量はその80%の4画素である。
第0の画像IM0以外の各画像IM1,IM2,IM3の移動量は pox[1]=4、pox[2]=0、pox[3]=0 となる。
このことにより、BM結果bx1[0]は10から6に変化する。
それに伴い、bx2[1]は0から4に変化する。
2回目、第1の画像IM1は−1画素移動するべきと計算される。
第3の画像IM3は−2画素移動するべきと計算される。
その80%、0.8を加算するとpox[1]=4.8となる。
以下、3回目、...と計算し、32回目に、移動すべき量の総和が fxy が 0.001画素を下回るため、終了となる。
このとき、平行に移動すべき画素数は7.5,2.5,5.0となり、各画像の位置関係も、
bx1[0]=10、bx1[1]=0、bx2[0]=0、bx2[1]=0であったものが、
bx1[0]=2.5、bx1[1]=-2.5、bx2[0]=-2.5、bx2[1]=2.5となって、誤差が分散されていることがわかる。
0 0 0.000000 0.000000
1 2 -0.000244 0.000000
2 2 -0.000244 0.000000
3 2 -0.000344 0.000000
n pox[n] poy[n] fz[n] 平行に移動すべき画素数
0 0.00 0.00
1 7.50 0.00
2 2.50 0.00
3 5.00 0.00
clrpos(); // 平行に移動すべき量[pixel] pox[],fzx[],rolla[] に 0 を入れる。
for (ii=0;ii<1000;ii++){
xypos2(); // 隣接画像との位置関係から平行に移動すべき量を求める。
if (fxy<0.001){break;}
move(); // 平行に移動する。
}
fprintf(inf,"ii=%3d, fxy=%8.5f fxy が 0.001 以下になったときの回数とその値\n",ii,fxy);
xypos(); // 隣接画像との位置関係から平行に移動すべき量を求める。
move(); // 平行に移動する。
dsppos(); // 補正量を表示する。
angle(); // 補正量を角度にし、 qq[n],pp[n] を更新する。
dsppos(); // 補正量を表示する。
dsperr(); // 各小画像対の誤差が 1 を超えるものを表示する。
step(); // qq[n],pp[n] からステップ角を作る。
−−プログラムの一部(ここまで)−−−−−−−−−−−−−−−−
void xypos2(){ // 隣接画像との位置関係から平行に移動すべき量 fx[n],fy[n] を求め、
// 平行に移動できないフラグ fz[n] を求める。(fprintf 削除)
int m,n,m2,n2,h,v,ix;
double cx,cy;
//fprintf(inf," n ix fx[n] fy[n]\n");
fxy=0;
for (v=0;v<ny;v++){ // すべての画像について
for (h=0;h<nx;h++){
m=(nx-1)*v+h; // 左右の境界
n=nx*v+h; // 上下の境界
ix=0;
if ((0<skip[h][v])||((v==(ny-1)/2)&&(h==(nx-1)/2))){ // 中央の画像と確定済みフラグの画像は動かさない。
fx[n]=0;fy[n]=0;fz[n]=4; // fz[n] は平行に移動できないフラグ
if (skip[h][v]==2){fz[n]=2;} // 確定済みフラグの画像は2とする。
}else{
cx=0;cy=0;
if (v!=0){ // 最下段ではないとき
n2=n-nx; // 真下
if (0<fok2[n2]){
ix++;
cx-=bx2[n2]; // 真下のものを引く
cy-=by2[n2];
}
}
if (v!=ny-1){ // 最上段ではないとき
if (0<fok2[n]){
ix++;
cx+=bx2[n]; // 自分のものをたす
cy+=by2[n];
}
}
if (h!=0){ // 最左端でないとき
m2=m-1; // 左隣り
if (0<fok1[m2]){
ix++;
cx-=bx1[m2]; // 左隣りのものを引く
cy-=by1[m2];
}
}
if (h!=nx-1){ // 最右端でないとき
if (0<fok1[m]){
ix++;
cx+=bx1[m]; // 自分のものをたす
cy+=by1[m];
}
}
if(ix==0){
fx[n]=0;fy[n]=0;fz[n]=1;
}else{
fx[n]=cx/ix;
fy[n]=cy/ix;
fz[n]=0;
}
fxy+=fabs(fx[n])+fabs(fy[n]);
}
}
}
}
//******************************************
void move(){ // 平行に移動する。
int m,n,h,v;
for (v=0;v<ny;v++){ // 画像の中心位置(画素)
for (h=0;h<nx;h++){
n=nx*v+h;
if (fz[n]==0){ // 周囲から隔絶されていないとき
pox[n]+=-fx[n]*0.8;
poy[n]+=-fy[n]*0.8;
}
}
}
for (v=0;v<ny;v++){ // 左右の位置関係
for (h=0;h<nx-1;h++){
m=nx*v+h;
n=(nx-1)*v+h;
bx1[n]+=-(fx[m]-fx[m+1])*0.8;
by1[n]+=-(fy[m]-fy[m+1])*0.8;
}
}
for (v=0;v<ny-1;v++){ // 上下の位置関係
for (h=0;h<nx;h++){
n=nx*v+h;
bx2[n]+=-(fx[n]-fx[n+nx])*0.8;
by2[n]+=-(fy[n]-fy[n+nx])*0.8;
}
}
}
//******************************************
合成する画像の数にかかわりなく、正確な合成を行うことが可能で、また、色ムラの発生を抑止することができる。
そして、レンズ歪補正係数を実写画像から抽出することができたため、厄介なキャリブレーションの作業が不要になり、精度も格段に向上する。
何千枚つないでもしわ寄せが出ない方法により、撮影枚数を気にすることなく、必要な範囲を必要な解像度で撮影することができるようになる。
連続撮影した画像の空間位置記録について説明する。
連続写真によるパノラマ撮影は、空間を分割して1枚の写真に収める作業となる。その写真からパノラマを作成する際に、撮影時の空間情報を用いて逆の演算を行うことで高精度なパノラマ写真とすることができる。
本実施形態では、写真を撮影する際にセンサと画像から撮影した空間の情報を計算し、その情報を写真1枚1枚に付与しておく事でパノラマ写真生成に役立てる。
たとえば、パノラマ撮影をする場合、一点に固定してモータでレンズを駆動させ撮影方向を変化させる。
この条件で撮影した写真は、撮影方向が異なるだけでカメラ装置10の位置つまり焦点位置は固定となる。よって、ここではとある一点から固定画角でその周囲を撮影した画像に限定する。
このような撮影方法の場合、撮影した空間の情報は以下の二つとなる。
すなわち、どこを狙って撮影したか(視線ベクトル)の情報と、視線ベクトルを軸とした回転角(ロール)の情報である。
空間を撮影した写真は1枚の面に投影される。
空間をパノラマ撮影すると考えたとき、全方位を扱うには撮影者の周辺に球が存在しそこに投影されると考えると画像処理が行い易い。この球を用いて視線ベクトルを定義することで座標空間も決定される。
カメラ装置10が存在する焦点位置を原点(0,0,0)とし、投影球を半径1と定義する。
水平時の正面方向はZ軸の1、f(0,0,1)とすると視線ベクトルは(0,0,0)からf(0,0,1)へ向かうベクトルとなる。
視線ベクトルは長さ1の単位ベクトルとなり、どこを向いても長さは1である。
視線ベクトルv1だけではフレームのロールが記録できないため、もう1つのロールベクトルv2を記録する。これは画像の上方向を示す情報で(v2-v1)が画像の上方向を示すベクトルとなる。
これにより、画像の撮影方向を2つのベクトル(投影球上の2点)で示すことができ、全方位で密度の差無く指し示すことができる。
撮影時の空間情報には相対情報と絶対情報の二種類が存在する。
パノラマ画像を作る目的においては、どこを向いて撮影した画像かという絶対的位置情報があれば良いのだが、確実な絶対情報が得られないため相対情報から積算したり、大雑把な絶対情報を使って補正としたりすることになる。
レンズ駆動型パノラマカメラにおいては、レンズを移動するシナリオは絶対情報だが、撮影時の揺れ、レンズ駆動時の誤差混入、姿勢感知センサの精度の荒さ等が相対情報として加算されるため精密な絶対値は計算で求めることになる。
今、画像認識と姿勢センサにより正確な相対情報が入手できたとする。
現在の画像フレームf1が1つ前の画像フレームf2より、位置的に(dx, dy)移動しており、フレームロールがrzだけロールしていた場合、画角からx軸y軸の回転量がrx,ryと計算できる。このときf1の視線ベクトルv1はf2の視線ベクトルv2が(rx, ry, rz)回転したことになる。
この情報を元に投影球上の絶対位置を求めていくのであるが、v2の位置から回転(rx, ry, rz)と求めていくのは少々計算が複雑となる。
そこで、最新の画像f1を真正面v1(0,0,1)と固定してしまい、f2以降投影球上に配置された画像を球ごと(-rx,-ry,-rz)だけ回転させてしまう。つまり、最新の画像f1を基準に、他を相対的に移動させる。
これを繰り返していくと、最後の画像の位置が(0,0,1)となるがそれ以外の全ての画像の絶対座標が求まっている。
ロールの情報もベクトルとして、視線とロール二つのベクトルにしたのはこの相対的回転(球の方を回転させること)が容易になるからである。
画像の空間配置のために相対情報だけを用いたが、実際には姿勢センサ14等により絶対的なロールや上下方向の傾き情報も入手できている。ただ、姿勢センサ14により得られる絶対情報はパノラマ写真の生成に必要な精度と比べ荒く、その値をそのまま使うのは困難である。
一方、相対情報は画像認識から得るため高い精度を持つが、それでも誤差は含まれる。相対情報で繋いでいくと積算誤差で若干の誤差が大きなずれとなって現れる。
そこで、姿勢センサ14による絶対情報をこの積算誤差が生じていないかの確認として用いる。
相対移動の空間展開処理の途中で、ある程度の間を空けつつ姿勢センサの絶対値と比較をしていく。あまりにも相対移動が姿勢センサの絶対値と離れてきていたら姿勢センサの絶対値を用いて補正を行う。そしてまたそこの位置から相対的に移動の積算を行っていく。
また、撮像素子12を通して撮影したフレーム間の画像比較と移動量を検出部43で検出する。
移動量積分部42と検出部43の出力から協調補正ロジック44で協調補正し、相対位置積分部45で相対位置を積分し、絶対位置情報を得る。
そして、その絶対位置情報を加速度センサ141の検出結果に基づいて絶対位置補正部46で補正し、配置部47でフレームの空間位置を決定し、配置する。
以上のような計算を撮影しながら行っていき、画像とともに撮影方向といった空間座標情報をメタデータとして同時に記録する。
このメタデータだけでもパノラマ写真を生成することができるが、後処理より精密な調整とオーサリングを行う際の基本データとしても用いることができる。
この方法を使うと正面付近のみならず、真上も真後ろも正しく表現でき、全方位、あるいは全天球撮影に対応させることができるようになる。
正面付近のみの場合でもより広角画面でも誤差なく仕上げることが可能になる。
無論、手持ち撮影に十分に対応することができ、高精細な画像を得ることができる。
連続撮影した画像による位置認識の補正について説明する。
連続撮影した写真に高精度な撮影位置情報を付与するために、本構成では、姿勢センサと画像認識を合わせた手法、いわゆる「ダイナミックキャリブレーション」を用いる。
連続撮影した写真を用いてパノラマ写真を合成する際、画に高周波成分が含まれず画から連続性を特定できない場合がある。
そのような場面では連続するフレームがどれくらい移動しているのかといった情報を得ることができず、パノラマ写真全体が生成できないことになる。
そういった場面においても位置情報を得られるよう、姿勢センサ14を併用し撮影中に移動情報、位置情報を写真と同時に記録する。
姿勢センサ14は3軸の角速度センサ142と同じく3軸の加速度センサ141を同時並列に用いる。
角速度センサ142で今どれくらいの速度でカメラを回転させているかをとらえ、加速度センサ141で水平方向の傾きを感知する。
できるだけ撮影した写真で移動情報を得ていくが、画の都合で画像認識ができないような場面では前フレームからの移動量を姿勢センサ14から得る。
全体としての姿勢センサ14の検出結果の変化量と、画像認識による移動量を比較し相互に影響することでより厳密な位置情報を得ることができる。
目的とするパノラマ写真撮影においては、姿勢センサ14の精度よりも画像の精度の方が高くなっている。姿勢センサ14の情報のみで位置情報としてしまうと、パノラマ写真として成り立たないほどの荒さとなってしまう。
精度としては期待せずに、本当に情報が取れないときの補佐とする様な使い方となる。
一般的な物理センサと同じように、姿勢センサも安定した値を出さず常に揺れている。 また、制止時のゼロ位置が状況によって変化するため、撮影前に静止状態を作り出しゼロ位置の値を計測する必要がある。その値の計測後はゼロ値からの変位でどれくらい移動したかを計測する。
本構成では、連続したパノラマ写真を撮影しながら、姿勢センサの情報もメタデータとして記録していく。
この方法では姿勢センサ14の揺れが大きすぎるため、後々パノラマ合成時にメタデータの情報が使いにくいという難点がある。
そこで、撮影時に画像認識によるメタデータを補正計算しながら記録していく。
そこで、本実施形態では、画像認識と姿勢センサからこの内部保持している空間情報をリアルタイムに補正更新していこうというのが、ダイナミックキャリブレーションである。
モータ駆動で移動シナリオが存在する場合は、予めおおよその撮影位置が分かっているが撮影中の揺れや移動までは考慮できない。そうした、撮影時の変化を検知するために姿勢センサ14を用いる。
姿勢センサ14で撮影時の変化を感知したら画像認識で実際の移動シナリオとどれだけずれたかを精査する。この際の精査基準に姿勢センサ14の移動量を用いると画像認識も容易となる。
こうして、期待する移動シナリオとの誤差が算出できたら、移動シナリオの値に加算し実際に撮影した位置情報を撮影写真のメタデータとして記録していく。
手作業によるスイープ撮影の場合は移動シナリオが存在しないため、毎フレームの撮影毎に前フレームと今フレームを画像認識による比較で移動量を算出する。
このときどれだけ動いたかが分かりにくいので、姿勢センサ14の情報からおおよその移動量を得てその値を元に画像認識を行うことで精度の良い移動量算出が行える。
もし画像認識が困難だった場合は姿勢センサから得た移動量を記録しておき後ほど前後のフレームの位置関係などと照らし合わせて座標を決定することになる。
角速度センサ142の検出信号、加速度センサ141の検出信号、および検出部51の検出信号を基に静止検出部52で静止検出を行い、静止時の角速度センサの基準値を得る。
そして、記録部53により基準値の決定を行い、その基準値をメモリ17に記録する。う。
また、撮像素子12を通して撮影したフレーム間の画像比較と移動量を検出部51で検出する。
移動量積分部55と検出部51の出力から協調補正ロジック56で協調補正し、高精度の相対移動情報を得る。
したがって、画像から認識する方法も姿勢センサで検出する方法も単独では満足な精度のものが得られなかったが、その両者を協調させるというこの技術により、精度と安定度を格段に向上させることが可能となる。
パノラマ写真を撮影する際、撮影位置が変動すると視差による非連続性が発生する。
視差による非連続性は撮影後の画像処理で補正することができない。
このため、パノラマ写真を撮影する場合、撮影者とカメラは特定の位置で静止しカメラの焦点が一箇所になるようその場で回転しながら写真を撮影する。
このとき、撮影後の異なる2枚の写真内で見た目の移動距離は撮影時の回転量に比例する。
写真がデジタル画像であり、そのサイズがピクセル数で表現できる場合、2枚の画像間で何ピクセルの移動であったかは撮影時どれくらいの回転移動距離があったか逆算することが可能であるが、このとき必要なパラメータとして画角がある。
画角とは、写真一枚に写っている左右幅もしくは上下幅が撮影空間で何度の範囲かを示す数値である。
画角は撮影前に計測し与えられるパラメータであり、撮影中は揺るがないものとする。
水平画角が30度であり、撮影したデジタル写真の横方向のピクセル数が1000ピクセルであった場合、1ピクセルあたりの撮影空間角は0.03度となる。つまり、2枚の写真間で800ピクセル移動していることが認識できたとき、実際の撮影は24度回転して撮影されたもの計算される。
この1ピクセルあたりの画角が最も重要な初期値として適用される。
写真2枚の撮影時回転量=写真2枚のピクセル上での移動量*1ピクセルあたりの画角
角速度センサは現在の角速度を出力する。
時間経過によって出力値が変動するため、角速度の変化を知ることができるが、その値が直接回転量を表してはいない。角速度センサから回転角を得るためには、積分値の単位を規定することが必要となる。
角速度センサを一定時間ごとに計測を行い、この計測間隔を重要なパラメータとして固定する。
計測した角速度を時間で積分し、その間に実際に回転した量を外部からの計測で知る必要がある。積分された角速度を実際に回転した量で除算し、1度あたりの角速度積分値を求める。
以降は、角速度積分値を1度あたりの角速度積分値で除算することで、比例的に回転移動量を求めることができる。
実際の1度あたりの角速度積分値は初期値としてあらかじめ計測して保持しておく。
角速度センサの出力は相対的な角速度であるが、すぐれた角速度センサでない限りその出力は環境によって変化する。その変化が実際の計測に影響を及ぼすので、計測の度に補正を行う必要がある。
パノラマ撮影に特化して、その補正を撮影したパノラマ写真からのフィードバックで自動的に行う処理を、ここではダイナミックキャリブレーションという。
角速度センサで、環境によって変動するには静止時零点位置と1度あたりの角速度積分値の二つである。それと相対移動により積分誤差の積み上げがあり、以上3項目の補正を行う。
図18は、角速度センサの零点補正処理のフローチャートである。
角速度センサ142の零点補正においては、図18のステップST1〜ST16の処理が行われる。
角速度センサ142が静止しているときの出力値が正確にわからないと角速度を検出することができない。ところが、この静止時の零点が温度等の環境によって変化してしまうことがある。
この零点ドリフトを画像マッチングの結果から補正していき、撮影時の正確な零点を求める。
スタート時の角速度センサ142の零点出力値は初期値としてあらかじめ設定されている値を用いる。
2フレーム間の画像マッチングを行い(ST1〜ST3)、マッチングが高周波成分を含んだたしかなものであり、かつ、X,Y,Z軸方向に移動がなかった場合、X,Y,Z軸方向の角度センサは零点を指しているものとして数値をサンプリングする。
このとき零点としてサンプリングされた値を用いて補正を行う(ST4〜ST15)。
なお、軸方向に移動が検出された場合は零点ではないためサンプリングを行わず、零点補正は行われない。
サンプルを行ったらサンプル数をインクリメントし、零点値を補正する。
補正は現在の零点値とサンプル値の差分をサンプル数で除算したものを加算し、平均値の算出とする。
図19は、角速度センサの移動量補正のフローチャートである。
角速度センサの移動量補正においては、図19のステップST21〜ST26の処理が行われる。
1度あたりの角速度積分値は、角速度センサの角速度積分値から回転角を求めるパラメータであるが温度等の環境によって変化してしまうことがある。
この1度あたりの角速度積分値を画像マッチングを行い(ST21〜ST23)、マッチングの結果から補正、更新していき、撮影中の正確な値を求める(ST24〜ST26)。
2フレーム間の画像マッチングを行い、マッチングが高周波成分を含んだ確かなものであった場合、画像マッチングによって得られたX軸、Y軸、Z軸それぞれの移動量とそのときの角速度積分値から1度あたりの角速度積分値を求める。
角速度センサは相対的な角移動量を出力する。
現在どの位置にいるかという絶対位置情報はそれまでの相対値を積分することで算出される。
その相対値にわずかなずれやノイズが含まれていた場合、積分する時間が長引くほど大きなずれを生じる可能性がある。
角速度センサは重力加速度の検出でY軸方向の回転(チルト)とZ軸方向の回転(ロール)の絶対値を得ることができるが、パノラマ撮影に対して大きな単位でしか検出できず有用度では角速度センサにおとる。
しかし、絶対値が出てくるというメリットから、定期的に相対移動距離の積分値と比較して積分値の補正、絶対値の補正を行うことができる。
加速度センサで十分検出できるくらいの絶対量を移動したら、そのタイミングで相対移動距離の積分値による絶対位置と比較して必要であれば補正を行う。
図20は、移動量の取得方法のフローチャートである。
移動量の取得方法においては、図20のステップST31〜ST35の処理が行われる。
角速度センサ142の解像度と、画像マッチングによる移動量の解像度では画像マッチングの方が遥かに精度の高い数値となる。このため、相対移動距離はできるだけ画像マッチングから算出できるものを用いる(ST33,ST34)。
一面が同色の空ならの高周波成分が含まれない画像間ではマッチングが取れないが、そのときは角速度センサ142の数値を用いて相対移動量を算出していく(ST33,ST35)。
図21は、撮影した写真から空間座標を割り当てる方法のフローチャートである。
撮影した写真から空間座標を割り当てる方法においては、図21のステップST41〜ST47の処理が行われる。
上記のように撮影したパノラマ写真すべてに、画像マッチングと角度センサから得た前フレームからの相対的回転移動量を求めることができる(ST41〜ST43)。
パノラマ写真を構成するためには、これら相対的回転移動量から絶対空間座標への割り当てを行う必要がある。
撮影した写真はすべて同じ画角なので、撮影した中央の点、つまりカメラが向いていたベクトルのみに注視して割り当てを考慮することができる。
前フレームとの相対的回転移動量というのは、このカメラが向いていた方向、撮影視線ベクトルが前フレームのベクトルとどれだけの角をなしているかと表現することもできる。
配置にあたって視線ベクトルだけに簡略化するとフレームZ軸方向の回転、つまりロールが取れなくなる。
そこで、フレームの真上Y軸上にずらしたベクトルをもう一つ用意することでフレームのロールを表現することにする。
この2つのベクトルがカメラの撮影方向とZ軸のロールを表し、回転処理を行ってもフレームの情報を保持し続ける。
空間に配置する際、新しいフレームは必ず空間正面位置a(0,0,1.0)には位置する。
相対的回転移動量が出ている場合は、その分だけ逆方向に前のフレームすべてを回転させてから空間正面位置a(0,0,1.0)を配置する(ST44〜ST46)。
前のフレームから移動ではなく、現在のフレームから過去のフレーム画どれだけ移動したかということを基準にしてあつかう。
今回撮影したフレームをAとし、前回撮影したフレームをBとする。
フレームAを基準にして、フレームBがどれだけ相対的回転移動したかを算出する(ST43)。
現在のAのカメラ位置からみてBのカメラ位置がX軸方向にrx、Y軸方向にry、Z軸方向にrzだけ回転移動したものだと算出されたらA以外過去に撮影されたフレームの撮影方向ベクトルおよびロール指標ベクトルすべてに、rx,ry,rzの回転をかける。
回転マトリクスは一般的な三次元空間のものでよい。
x2=x*cos(rx)-y*sin(rx)
y2=y*sin(rx)+z*cos(rx)
z2=z
x2=x*cos(ry)-z*sin(ry)
y2=y
z2=x*sin(ry)+z*cos(ry)
x2=x
y2=y*cos(rz)-z*sin(rz)
z2=y*sin(rz)+z*cos(rz)
最終的にすべてを適用し終えたとき、すべてのフレームは適した絶対座標を持ちうる。
だだし、最後のフレームが基準になっているので、任意のフレームを基準に相対移動する必要がある場合もある。
第4の構成では、視差による影響や移動体による影響を検出した場合に、表示装置18や発音部20により警告を出して撮影のやり直しを促す。
また、第4の構成では、移動体の検出に関し、重複率を50%以上として被写体のどの部分も少なくとも2枚の画像にまたがって写るようにし、隣接画像間の移動ベクトルの類似性で視差による影響や動被写体を検出する。
一般に広角のカメラの視点はレンズの直後にあり、カメラを手に持って手首を中心に回すのが理想的である。
こうしてカメラの視点を中心として撮影したものは近距離の被写体が含まれていても正しく合成することができる。
本実施形態のカメラ装置10は、複数の画像をすべて短冊状に撮影するのでカメラの視点から少々ずれた位置を中心として撮影してもその影響が出にくいという長所も持っている。
しかし、それでもカメラを手に持って肩を中心にして回して撮影した場合、カメラの視点よりかなり後方を中心として回すことになり、パララックスの影響を強く受ける。
すべてが遠方の景色なら殆ど問題ないが、近距離の被写体が含まれていると隣接画像との位置関係が遠距離の被写体と異なり、正しく合成することができない。
そこで、第4の構成では、パララックスの影響で正しい画像合成ができないことが検出された場合に、視点を中心にして回すように指示を出して撮り直しを促すことにしている。
視差の検出方法について説明する。
時間的に隣接する2枚の画像の重複する領域内で複数のブロックマッチング(BM)を行い、その結果の移動ベクトルを求める。
通常、正しくスイープされているとBM結果がほぼ同一のベクトルになる。
肩中心に回したとき、遠距離の景色の一部に近距離の被写体があると、異なるベクトルの値になる。
近距離の被写体と遠距離の被写体の境目では画像の変化が激しいため、BM結果は正しく得られない。この方法で視差を検出する。
以下の処理は、システムコントローラ16の画像信号処理部161とマイクロコンピュータ162により協働して行われる。
[ラフ合成]
カメラ装置10を左から右に向かって回転移動させ、120度程度の範囲を数10枚撮影する。
隣接する画像には同一の被写体が写っている領域(重複領域)が十分に存在する。
撮影時のカメラ装置10の動きが姿勢センサ14によって検出され、細かい時間間隔で記録されている。
このデータは撮影された画像と同期を取りながら記録されているので、精度はさほど高くないが、各画像がどの方向を向いて撮影されたのかを知ることができる。
この情報に基づいて各画像を経度緯度平面上に配置する。
この状態では隣接画像の重複領域は、100画素程度の画素はあるものの、ほぼ正しい位置に置かれている。
ここから精密自動合成のルーチンに入る。
重複領域内で複数の場所で動き検出(ME;動き探索)を行う。
ME、すなわち動き検出では、FFTによる位相限定相関法を用いている。これは、特徴点抽出法やその他の方法であっても適用可能である。
平行移動のみの場合は、MEは一つで良い。
MEが2個あれば互いの傾斜がわかる。
3個あれば、レンズ歪みの係数がわかる。
重複領域内に動くものがなく、遠景で手持ちでもその影響が生じない場合はMEの数は少なくても良い。
しかし、動くものがあったり、近距離で視差の影響があったりすると、MEの数が少ないと何が起こっているかを把握することができない。
そこで、重複領域内で可能な限り、多くのMEを行う。
多くのMEの結果の移動ベクトルがほぼ同じ値の場合、一方の画像を平行移動によって合わせこむことができる。
ほぼ同じ値でない場合でも、上部から下部にかけて一様に変化する場合、一方の画像を傾斜させることで合わせこむことができる。
しかし、異なるME結果が重複領域内に存在する場合、合成ができない。
その理由は、動く被写体が存在するか、近距離と遠距離の被写体が混在するときに視点を移動させながら撮影したかである。
最初はMEを行う画像を縮小して大まかに行う。
だんだん縮小率を下げ、最後は等倍の画像で行う。
MEのブロックサイズを変えたり、ブロックの中心間距離を狭くして、より詳細な移動ベクトルを取得できるようにする。
多くのMEの結果から正しいスイッチングが可能か否かを判断し、不可能の場合、その旨を表示して撮影のやり直しを促す。
可能な場合はそのままスイッチング処理を行い、合成結果を表示すると共に、記録媒体(メモリ)に記録する。
次に、移動被写体の振る舞いについて説明する。
時間的に隣接する2枚の画像の重複する領域内で複数のブロックマッチング(BM)を行い、その結果の移動ベクトルを求める。
移動の方向に応じたベクトルになり、静止部分との分離が可能である。
移動物体と静止被写体の境目では画像の変化が激しいため、BM結果は正しく得られない横にスイープしている場合、近距離の静止被写体による視差なのか、横に移動する被写体なのかを識別することができない。
そこで、視差と動被写体を区別しないで警告を発するようにする。
これを検出した場合、現在の技術ではこれを違和感なくステッチングすることができない。
そこで、本実施形態においては、「単に撮りなおし」、または「撮り方を変えて撮りなおし」を促すように警告を発する。
たとえば、「視差または移動体の影響が出ています。回転の半径を小さくして撮りなおしてください。」との警告を発する。
その結果、視差の影響が撮影直後にわかるため、撮りなおしができるようになる利点がある。
第5の構成では、スイープ角速度(ユーザがカメラを振り回す速さ)の適正値を知らせ、速すぎる場合に警告を出して撮影のやり直しを促す。
前述したように、マイクロコンピュータ162は、表示装置18、たとえばLCDの画面に横軸に時間、縦軸に姿勢センサ(ジャイロセンサ)の出力(スイープ角速度)をグラフにして表示する。
水平画角、水平画素数、シャッタ速度が設定されると最大スイープ角速度が決まるので、その60%〜80%を適正範囲RNGとして、図4に示すようにグラフに表示する。
操作手順の概略は以下の通りである。
[1]操作部19のスタートボタンを押してカメラを回し、その後スタートボタンを離す。
[2]スタートボタンが押されている間のスィープ角速度が、図4に示すように、表示装置18の画面に表示される。
[3]適正範囲RNGより遅い場合には警告はないが、一瞬でも範囲を越えて速い場合には警告音が出る。
露光時間、画素数、1ライン読み出し時間、画角、重複率、フレームレート等が決まったとき、ぶれの角度、ぶれの画素数、その他の問題が生じないためのスイープ速度を計算で求める方法について説明する。
3つの式で得られるスイープ速度の最も遅い値がその条件における最高角速度である。
[1]〜[6]は条件を変えた場合である。
以下に、図22の条件[1]を例にとって説明する。
nb2=vp・(ts+n・rs)・H/th
f=100/(100−k)・H・vp/n/th
vp=nb2・th/H/(ts+n・rs)[deg/sec]・・・(2)
vp=(100−k)/100・n・th・f/H ・・・(3)
また、ぶれの画素数nb2=19.9画素、長辺の画角th=50度、水平画素数H=3560画素とすれば、スイープ速度はvp=68[deg/sec]となる。
また、重複率k=20%、フレームレートf=15.13のときスイープ速度はvp=68[deg/sec]となる。
式(1)で得られたvpの値より速くスイープすると光学手振れ補正素子の動作限界を超える。
式(2)で得られたvpの値より速くスイープするとぶれの量が許容値を超える。
式(3)で得られたvpの値より速くスイープすると重複量が減り、場合いよっては重複しなくなる。
また、このようなプログラムは、半導体メモリ、磁気ディスク、光ディスク、フロッピー(登録商標)ディスク等の記録媒体、この記録媒体をセットしたコンピュータによりアクセスし上記プログラムを実行するように構成可能である。
Claims (9)
- 光学系を通して被写体像を撮像する撮像素子と、
撮像装置をスイープさせながら撮影した複数枚の撮影画像を、1枚に合成する機能を有する画像信号処理部と、
上記撮像装置の姿勢情報を得る姿勢センサと、
上記姿勢センサの情報を処理する制御部と、を有し、
上記制御部は、
上記姿勢センサの検出情報に基づいてスイープ角速度の適正値を報知し、当該スイープ角速度が適正範囲を越えて速い場合には警告を発する
撮像装置。 - 表示部を有し、
上記制御部は、
時間と上記スイープ角速度との関係を、上記適正範囲を含めて上記表示部に表示する
請求項1記載の撮像装置。 - 発音部を有し、
上記制御部は、
上記スイープ角速度が上記適正範囲を越えて速い場合には上記発音部により警告音を発する
請求項2記載の撮像装置。 - 上記適正範囲は、水平画角、水平画素数、シャッタ速度に応じて決定される最大スイープ角速度に基づいて設定されている
請求項1から3のいずれか一に記載の撮像装置。 - 撮像装置をスイープさせながら、光軸を変化させる光軸可変素子を含む光学系を通して撮像素子で被写体像を撮像するステップと、
上記撮像装置の姿勢情報を姿勢センサで得るステップと、
上記姿勢センサの検出情報に基づいてスイープ角速度の適正値を報知するステップと、
上記スイープ角速度が適正範囲を越えて速い場合には警告を発するステップと
を有する撮像方法。 - 時間と上記スイープ角速度との関係を、上記適正範囲を含めて表示部に表示する
請求項5記載の撮像方法。 - 上記スイープ角速度が上記適正範囲を越えて速い場合には発音部により警告音を発する
請求項6記載の撮像方法。 - 上記適正範囲は、水平画角、水平画素数、シャッタ速度に応じて決定される最大スイープ角速度に基づいて設定される
請求項5から7のいずれか一に記載の撮像方法。 - 撮像装置をスイープさせながら、光軸を変化させる光軸可変素子を含む光学系を通して撮像素子で被写体像を撮像する処理と、
上記撮像装置の姿勢情報を姿勢センサで得る処理と、
上記姿勢センサの検出情報に基づいてスイープ角速度の適正値を報知する処理と、
上記スイープ角速度が適正範囲を越えて速い場合には警告を発する処理と
を有する撮像処理をコンピュータに実行させるためのプログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008312674A JP2010136302A (ja) | 2008-12-08 | 2008-12-08 | 撮像装置、撮像方法、およびプログラム |
US12/588,821 US8379078B2 (en) | 2008-12-08 | 2009-10-29 | Imaging apparatus, imaging method, and program |
CN2009102538018A CN101753818B (zh) | 2008-12-08 | 2009-12-08 | 成像设备和成像方法 |
US13/538,564 US20120268555A1 (en) | 2008-12-08 | 2012-06-29 | Imaging apparatus, imaging method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008312674A JP2010136302A (ja) | 2008-12-08 | 2008-12-08 | 撮像装置、撮像方法、およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010136302A true JP2010136302A (ja) | 2010-06-17 |
JP2010136302A5 JP2010136302A5 (ja) | 2012-02-02 |
Family
ID=42230595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008312674A Pending JP2010136302A (ja) | 2008-12-08 | 2008-12-08 | 撮像装置、撮像方法、およびプログラム |
Country Status (3)
Country | Link |
---|---|
US (2) | US8379078B2 (ja) |
JP (1) | JP2010136302A (ja) |
CN (1) | CN101753818B (ja) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5163409B2 (ja) * | 2008-10-03 | 2013-03-13 | ソニー株式会社 | 撮像装置、撮像方法、およびプログラム |
JP4618370B2 (ja) * | 2008-12-08 | 2011-01-26 | ソニー株式会社 | 撮像装置、撮像方法、およびプログラム |
JP2010136302A (ja) * | 2008-12-08 | 2010-06-17 | Sony Corp | 撮像装置、撮像方法、およびプログラム |
US9113064B2 (en) * | 2009-11-05 | 2015-08-18 | Olympus Corporation | Image pickup apparatus and image acquisition method |
US20120200673A1 (en) * | 2010-06-15 | 2012-08-09 | Junichi Tagawa | Imaging apparatus and imaging method |
JP5548552B2 (ja) * | 2010-08-03 | 2014-07-16 | キヤノン株式会社 | 撮像装置 |
US20130002715A1 (en) * | 2011-06-28 | 2013-01-03 | Tidman James M | Image Sequence Reconstruction based on Overlapping Measurement Subsets |
TWI449408B (zh) * | 2011-08-31 | 2014-08-11 | Altek Corp | 三維影像擷取方法與裝置及三維影像顯示裝置 |
JP2013084029A (ja) * | 2011-10-06 | 2013-05-09 | Sony Corp | 表示制御装置 |
KR101856947B1 (ko) | 2011-10-07 | 2018-05-11 | 삼성전자주식회사 | 촬영장치, 움직임 추정장치, 영상 보정 방법, 움직임 추정방법 및 컴퓨터 판독가능 기록매체 |
US10306140B2 (en) * | 2012-06-06 | 2019-05-28 | Apple Inc. | Motion adaptive image slice selection |
JP5977611B2 (ja) * | 2012-07-24 | 2016-08-24 | オリンパス株式会社 | ブレ量検出装置、撮像装置及びブレ量検出方法 |
US10666860B2 (en) * | 2012-09-11 | 2020-05-26 | Ricoh Company, Ltd. | Image processor, image processing method and program, and imaging system |
JP6128389B2 (ja) * | 2013-01-24 | 2017-05-17 | パナソニックIpマネジメント株式会社 | 撮像装置 |
JP5794705B2 (ja) * | 2013-02-01 | 2015-10-14 | キヤノン株式会社 | 撮像装置、その制御方法及びプログラム |
CN104378540A (zh) * | 2013-08-12 | 2015-02-25 | 联想(北京)有限公司 | 图像采集方法、装置及电子设备 |
CN103702024B (zh) * | 2013-12-02 | 2017-06-20 | 宇龙计算机通信科技(深圳)有限公司 | 图像处理装置和图像处理方法 |
CN103685952B (zh) * | 2013-12-06 | 2017-07-14 | 宇龙计算机通信科技(深圳)有限公司 | 终端和图像处理方法 |
CN103763483A (zh) * | 2014-01-23 | 2014-04-30 | 贝壳网际(北京)安全技术有限公司 | 一种移动终端拍照防抖方法、装置以及移动终端 |
JP2015207802A (ja) * | 2014-04-17 | 2015-11-19 | ソニー株式会社 | 画像処理装置および画像処理方法 |
US9986155B2 (en) * | 2014-09-05 | 2018-05-29 | Htc Corporation | Image capturing method, panorama image generating method and electronic apparatus |
US9420177B2 (en) * | 2014-10-10 | 2016-08-16 | IEC Infrared Systems LLC | Panoramic view imaging system with laser range finding and blind spot detection |
WO2016125732A1 (ja) * | 2015-02-02 | 2016-08-11 | 光雄 中山 | 光学端末装置及びスキャンプログラム |
JP6598549B2 (ja) * | 2015-07-23 | 2019-10-30 | キヤノン株式会社 | 画像処理装置およびその制御方法、撮像装置およびその制御方法 |
CN110427020A (zh) * | 2015-09-16 | 2019-11-08 | 深圳市大疆灵眸科技有限公司 | 用于支持具有不同效果的摄影术的系统和方法 |
US10511824B2 (en) * | 2017-01-17 | 2019-12-17 | 2Sens Ltd. | System device and methods for assistance in capturing stereoscopic video or images |
CN110537365B (zh) * | 2017-04-28 | 2022-09-02 | 索尼公司 | 信息处理装置、信息处理方法、信息处理程序、图像处理装置以及图像处理系统 |
JP6545229B2 (ja) * | 2017-08-23 | 2019-07-17 | キヤノン株式会社 | 画像処理装置、撮像装置、画像処理装置の制御方法およびプログラム |
CN111567019B (zh) * | 2017-11-06 | 2021-09-28 | 株式会社尼康 | 记录介质以及电子设备 |
WO2019241909A1 (en) * | 2018-06-19 | 2019-12-26 | Hangzhou Taro Positioning Technology Co., Ltd. | Camera mobile device holder with stablization |
CN111366155B (zh) * | 2020-03-27 | 2022-10-14 | 西安应用光学研究所 | 基于机载光电系统的局域扫描方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08223481A (ja) * | 1995-02-16 | 1996-08-30 | Sony Corp | パノラマ静止画像作成装置 |
JP2000305207A (ja) * | 1999-04-21 | 2000-11-02 | Canon Inc | 電子スチルカメラ |
JP2008289095A (ja) * | 2007-05-21 | 2008-11-27 | Olympus Imaging Corp | 撮像装置、表示方法、及びプログラム |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5099694A (en) * | 1987-05-19 | 1992-03-31 | Canon Kabushiki Kaisha | Vibration detecting apparatus |
US5155597A (en) * | 1990-11-28 | 1992-10-13 | Recon/Optical, Inc. | Electro-optical imaging array with motion compensation |
JPH08256289A (ja) * | 1995-03-15 | 1996-10-01 | Canon Inc | 撮像装置 |
KR100215448B1 (ko) * | 1996-04-27 | 1999-08-16 | 윤종용 | 캠코더의 손떨림/이동속도 디스플레이장치 |
JP3928222B2 (ja) | 1997-09-09 | 2007-06-13 | ソニー株式会社 | 画像信号撮像および記録装置および方法 |
US6466701B1 (en) * | 1997-09-10 | 2002-10-15 | Ricoh Company, Ltd. | System and method for displaying an image indicating a positional relation between partially overlapping images |
JP3925299B2 (ja) | 2002-05-15 | 2007-06-06 | ソニー株式会社 | モニタリングシステムおよび方法 |
JP4497946B2 (ja) * | 2004-02-03 | 2010-07-07 | キヤノン株式会社 | 撮像装置 |
JP2005311789A (ja) * | 2004-04-22 | 2005-11-04 | Fuji Photo Film Co Ltd | デジタルカメラ |
JP4293053B2 (ja) * | 2004-05-19 | 2009-07-08 | ソニー株式会社 | 撮像装置及び方法 |
JP2006107366A (ja) * | 2004-10-08 | 2006-04-20 | Fujitsu Ltd | 生体情報入力装置,生体認証装置,生体情報処理方法,生体情報処理プログラムおよび同プログラムを記録したコンピュータ読取可能な記録媒体 |
GB2437218B (en) * | 2005-01-31 | 2009-12-09 | Lextar Pty Ltd | Video surveillance system controller |
JP2006217478A (ja) | 2005-02-07 | 2006-08-17 | Sony Ericsson Mobilecommunications Japan Inc | 画像撮影装置及び画像撮影方法 |
JP4353253B2 (ja) * | 2007-01-31 | 2009-10-28 | ソニー株式会社 | フレームレート制御装置とフレームレート制御方法および記録装置と撮像装置 |
KR100866230B1 (ko) * | 2007-04-12 | 2008-10-30 | 삼성전자주식회사 | 파노라마 사진 촬영 방법 |
WO2008137902A2 (en) * | 2007-05-07 | 2008-11-13 | Sentinel Ave Llc | Video fusion display systems |
JP2009017030A (ja) * | 2007-07-02 | 2009-01-22 | Sony Corp | 画像撮像装置、撮像制御方法 |
US20090128328A1 (en) * | 2007-11-21 | 2009-05-21 | Hsin-Fa Fan | Automatic monitoring system with a security system |
JP5163409B2 (ja) * | 2008-10-03 | 2013-03-13 | ソニー株式会社 | 撮像装置、撮像方法、およびプログラム |
JP2010136302A (ja) * | 2008-12-08 | 2010-06-17 | Sony Corp | 撮像装置、撮像方法、およびプログラム |
JP4770924B2 (ja) * | 2008-12-17 | 2011-09-14 | ソニー株式会社 | 撮像装置、撮像方法、およびプログラム |
JP5347716B2 (ja) * | 2009-05-27 | 2013-11-20 | ソニー株式会社 | 画像処理装置、情報処理方法およびプログラム |
-
2008
- 2008-12-08 JP JP2008312674A patent/JP2010136302A/ja active Pending
-
2009
- 2009-10-29 US US12/588,821 patent/US8379078B2/en not_active Expired - Fee Related
- 2009-12-08 CN CN2009102538018A patent/CN101753818B/zh not_active Expired - Fee Related
-
2012
- 2012-06-29 US US13/538,564 patent/US20120268555A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08223481A (ja) * | 1995-02-16 | 1996-08-30 | Sony Corp | パノラマ静止画像作成装置 |
JP2000305207A (ja) * | 1999-04-21 | 2000-11-02 | Canon Inc | 電子スチルカメラ |
JP2008289095A (ja) * | 2007-05-21 | 2008-11-27 | Olympus Imaging Corp | 撮像装置、表示方法、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20100141735A1 (en) | 2010-06-10 |
CN101753818A (zh) | 2010-06-23 |
CN101753818B (zh) | 2012-07-04 |
US20120268555A1 (en) | 2012-10-25 |
US8379078B2 (en) | 2013-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5163409B2 (ja) | 撮像装置、撮像方法、およびプログラム | |
JP4770924B2 (ja) | 撮像装置、撮像方法、およびプログラム | |
JP4962460B2 (ja) | 撮像装置、撮像方法、およびプログラム | |
JP4618370B2 (ja) | 撮像装置、撮像方法、およびプログラム | |
JP2010136302A (ja) | 撮像装置、撮像方法、およびプログラム | |
KR102526794B1 (ko) | 카메라 모듈, 고체 촬상 소자, 전자 기기 및 촬상 방법 | |
JP5659305B2 (ja) | 画像生成装置および画像生成方法 | |
JP5659304B2 (ja) | 画像生成装置および画像生成方法 | |
JP5769813B2 (ja) | 画像生成装置および画像生成方法 | |
JP5865388B2 (ja) | 画像生成装置および画像生成方法 | |
US20110234750A1 (en) | Capturing Two or More Images to Form a Panoramic Image | |
JP2010136302A5 (ja) | 撮像装置、撮像装置の制御方法、およびプログラム | |
JP3788714B2 (ja) | 撮像装置及びデジタルカメラ | |
CN106170061B (zh) | 摇摄指标显示设备和处理方法 | |
JP5248951B2 (ja) | カメラ装置、画像撮影支援装置、画像撮影支援方法、及び画像撮影支援プログラム | |
JP4517813B2 (ja) | パンニング撮影可能なカメラおよび動画像編集用プログラム | |
JP2011055084A (ja) | 撮像装置及び電子機器 | |
JP5424725B2 (ja) | 撮像装置、撮像装置の制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111208 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111208 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121004 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121009 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130219 |