JP6919334B2 - 画像処理装置、画像処理方法、プログラム - Google Patents

画像処理装置、画像処理方法、プログラム Download PDF

Info

Publication number
JP6919334B2
JP6919334B2 JP2017104825A JP2017104825A JP6919334B2 JP 6919334 B2 JP6919334 B2 JP 6919334B2 JP 2017104825 A JP2017104825 A JP 2017104825A JP 2017104825 A JP2017104825 A JP 2017104825A JP 6919334 B2 JP6919334 B2 JP 6919334B2
Authority
JP
Japan
Prior art keywords
image
dimensional sphere
coordinates
motion
captured image
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.)
Active
Application number
JP2017104825A
Other languages
English (en)
Other versions
JP2018201123A (ja
Inventor
和史 松下
和史 松下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2017104825A priority Critical patent/JP6919334B2/ja
Priority to US15/967,947 priority patent/US10645284B2/en
Publication of JP2018201123A publication Critical patent/JP2018201123A/ja
Application granted granted Critical
Publication of JP6919334B2 publication Critical patent/JP6919334B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/50Constructional details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/282Image signal generators for generating image signals corresponding to three or more geometrical viewpoints, e.g. multi-view systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/681Motion detection
    • H04N23/6811Motion detection based on the image signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/682Vibration or motion blur correction
    • H04N23/683Vibration or motion blur correction performed by a processor, e.g. controlling the readout of an image memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Studio Devices (AREA)
  • Image Processing (AREA)
  • Stereoscopic And Panoramic Photography (AREA)
  • Adjustment Of Camera Lenses (AREA)

Description

本発明は、画像処理装置、画像処理方法、及びプログラムに関する。
魚眼レンズや超広角レンズなどの広角レンズを複数使用して360度の全方位(以下、全天球という。)を1回の撮像操作で撮像する全天球撮像装置が知られている。全天球撮像装置は、各々のレンズを通過した光を撮像素子に結象させ、得られた各部分画像を画像処理によって結合することで全天球画像を生成する。例えば、180度を超える画角を有する2つの広角レンズを用いて、全天球画像を生成することができる。
全天球撮像装置はデジタルカメラの一形態であるが、撮像された画像が手ぶれの影響を受け画質が低下する場合がある。手ぶれによる画質の低下を抑制するため、デジタルカメラには光学式の手ぶれ補正機構が搭載される場合がある(例えば、特許文献1参照。)。また、手ぶれによる画質の低下を抑制するため、デジタルカメラには電子式の手ぶれ補正機構が搭載される場合がある(例えば、特許文献2参照。)。
しかしながら、いずれの手ぶれ補正の方式も全天球画像のような広角画像の手ぶれ補正には適切でないという問題がある。まず、光学式の手ぶれ補正機構はジャイロセンサなどでデジタルカメラの移動を検出し、移動を打ち消すようにレンズ又は撮像素子をモータで移動させる方式であるため、デジタルカメラのサイズ(筐体)が大きくなってしまう。また、電子式の手ぶれ補正機構は撮像素子の一部を使って連続的に取得した画像を比較して手ぶれが少なくなるように撮像素子の一部から画像を切り出す方式である。しかし、全天球画像の場合、広い撮像範囲で高い解像度を実現するため撮像素子の全体で撮像するので、撮像素子の一部から画像を切り出すような画像処理は困難である。
本発明は、上記課題に鑑み、広角画像の画質劣化を抑制する画像処理装置を提供することを目的とする。
本発明は、広角レンズを使用して撮像された撮像画像を取得する撮像画像取得手段と、
画像処理装置の運動を検出する運動検出手段と、前記撮像画像を少なくとも一部に曲面を有する広角画像に変換して前記運動検出手段が検出した運動に応じた補正量を算出し、前記補正量で前記撮像画像を補正する補正手段と、を有し、
前記補正手段は、前記撮像画像を立体球に変換し、前記補正手段は、三次元空間の点を広角レンズで撮像された前記立体球の点に投影する透視投影変換と逆の変換を、第一の立体球の点に行い、前記運動検出手段が検出した運動のx、y、z成分により運動前の前記三次元空間の点を運動後の三次元空間の点に変換し、運動後の三次元空間の点に前記透視投影変換を行い第二の立体球の点を算出し、前記第二の立体球の点を、前記運動検出手段が検出した運動に応じて変更された前記立体球の座標とすることを特徴とする画像処理装置を提供する。
広角画像の画質劣化を抑制する画像処理装置を提供することができる。
全天球撮像装置による手ぶれ補正の概略を説明する図の一例である。 全天球撮像装置の断面図の一例である。 全天球撮像装置のハードウェア構成図の一例である。 全天球撮像装置及び端末装置を模式的に示す図の一例である。 全天球撮像装置と端末装置の機能をブロック状に示す機能ブロック図の一例である。 画像処理ブロックの機能を説明する図の一例である。 全天球撮像装置の全体的な動作手順を示すフローチャート図の一例である。 魚眼レンズを用いた撮像システムにおける射影関係を説明する図である。 全天球フォーマットの画像データのデータ構造を説明する図である。 部分画像の平面座標と球面座標を対応づける変換テーブルを説明する図である。 2つの魚眼レンズで撮像された2つの部分画像の球面座標系へのマッピングを説明する図である。 重複領域の位置合わせを説明する図の一例である。 2つの魚眼レンズで撮像された2つの部分画像の球面座標系へのマッピングを説明する図である。 ぶれ補正を説明する図の一例である。 ぶれ補正部がぶれ補正を行う手順を示すフローチャート図の一例である。 合成用変換テーブルの逆引きに関する処理を説明する図である。 ベクトルwの算出方法を説明する図の一例である。 重み付けテーブルを説明する図の一例を示す。 重み付けテーブルの選択画面の一例を示す図である。 重み付け情報の入力画面の一例を示す図である。 手ぶれ補正の実験を説明する図の一例である。 手ぶれ補正の効果を説明する図の一例である。
以下、本発明を実施するための形態の一例として、画像処理装置及び画像処理装置が行う画像処理方法について図面を参照しながら説明する。
<処理の概略>
図1は、全天球撮像装置100による手ぶれ補正の概略を説明する図の一例である。図1(a)は手ぶれ補正の考え方を説明するため平面の画像における手ぶれ補正を示す。全天球撮像装置100が時刻tと時刻t+1のそれぞれで周囲を撮像し、ベクトルvで表される移動量だけ移動した。説明を容易にするためベクトルvは平行移動であるとする。時刻t1の全天球撮像装置100と点Pg1,点Pg2との距離をそれぞれL1,L2とする。
時刻tに撮像された画像391における点Pg1と点Pg2は、時刻t+1に撮像された画像392で距離L1とL2に応じた分だけ平行移動している。当然ながら点Pg1の移動量の方が点Pg2の移動量より大きい。したがって、手ぶれによる点Pg1,Pg2のズレを補正するには、画像392に示すようにベクトルvとは反対方向に距離L1,L2に応じて点Pg1,Pg2を平行移動すればよい。手ぶれにより全天球撮像装置100が回転した場合も同様であり、ベクトルvで表される回転に応じた方向に距離L1,L2に応じて点Pg1,Pg2を回転させれば手ぶれによる点Pg1,Pg2のズレを補正できると考えられる。
図1(b)は広角レンズで撮像された全天球画像の手ぶれ補正を説明する図の一例である。全天球撮像装置100が撮像する全天球画像は三次元の立体球303である。このため画像392のように補正することは困難である。すなわち、手ぶれにより全天球撮像装置100が移動することは立体球が移動することになるが、立体球303がベクトルvで平行移動したとしても、全天球画像が展開された平面画像304には全周囲360度の被写体が撮像されているため、平面画像304の各点が平行移動することにはならない。例えば、立体球303の経度方向に180度離れた点A,点Bはどちらもベクトルvで移動するが、平面画像304は立体球303を平面に展開した画像なので平面画像の点A,点Bは逆向きに移動する(実際は点A、Bの取り方によって移動方向は種々に変化する)。したがって、平面画像304の状態で全天球撮像装置100が手ぶれ補正することは困難である。
そこで、本実施形態の全天球撮像装置100は全天球画像を球面座標で表した状態で手ぶれ補正を行う。球面座標は厳密には二次元であるが、湾曲しているため三次元の立体球303の状態で手ぶれ補正することになる。全天球撮像装置100はベクトルvで表される全天球撮像装置100の運動(平行移動及び回転)により立体球303の画像がどのように変化するかを示すベクトルwを推定する。全天球撮像装置100の運動は姿勢センサにより求められる。ベクトルwは手ぶれによる画像の変化を表すので、ベクトルwは画像の変化を低減する全天球画像の補正量に相当する。具体的には撮像後の画像と球面座標の全天球画像の対応を変更する。ただし、被写体との距離が考慮される。その後、補正量を反映させられた状態で撮像後の画像から全天球画像を生成することで手ぶれが抑制された全天球画像が得られる。
このように、全天球撮像装置100の三次元の運動を姿勢センサ等で取得し、取得した運動による手ぶれの補正量を立体球の状態で推定するので、平面画像と同様の手ぶれ補正が困難な広角画像においても手振れを抑制することができる。したがって、光学式の手ぶれ補正機構及び電子的な手ぶれ補正機構を適用する必要がない。
<用語について>
撮像画像を取得するとは、撮像画像を撮像する処理に限られず、撮像された撮像画像を外部から取得する場合を含む。
画像処理装置の運動とは、三次元空間における画像処理装置の平行移動と回転の少なくとも一方をいう。
少なくとも一部に曲面を有する広角画像とは、少なくとも一部が湾曲した平面をいう。例えば立体球の一部が挙げられるが、完全な球に限られず湾曲していればよい。
<構成例>
図2は、本実施形態による全天球撮像装置100の断面図である。全天球撮像装置100は全天球カメラ等と呼ばれる撮像装置である。全天球撮像装置100は、撮像体11と、撮像体11及びコントローラやバッテリなどの部品を保持する筐体15と、筐体15に設けられたシャッター・ボタン14とを備える。 図2に示す撮像体11は、2つの結像光学系12A,12Bと、CCD(Charge Coupled Device)センサやCMOS(Complementary Metal Oxide Semiconductor)センサなどの2つの固体撮像素子13A,13Bを含む。1組の結像光学系12と固体撮像素子13をそれぞれ撮像光学系19A,19Bと称する。
結像光学系12は、例えば6群7枚の魚眼レンズを有しており、魚眼レンズは180度(=360度/n;n=2)より大きい全画角を有する。より好適には、185度以上の画角を有し、更に好適には190度以上の画角を有する。
2つの結像光学系12A、12Bの光学素子(レンズ、プリズム、フィルタ及び開口絞り)は、固体撮像素子13A,13Bに対し相対的に位置が定められる。結像光学系12A、12Bの光学素子の光軸が、対応する固体撮像素子13A,13Bの受光領域の中心部に直交し、かつ、受光領域が対応する魚眼レンズの結像面となるように位置決めされている。
図2の全天球撮像装置100では、結像光学系12A、12Bは同一仕様であり、互いの光軸が一致するように、互いに逆向きに組み合わせられる。固体撮像素子13A、13Bは受光した光を画像信号に変換し、図3に示す画像処理ブロック116に出力する。動画として撮像される各画像をフレームと称する場合がある。
後述するように、固体撮像素子13A,13Bでそれぞれ撮像された画像は、合成処理されてこれにより立体角4π〔sr:ステラジアン〕の画像(すなわち「全天球画像」)が生成される。全天球画像は、撮像地点から見渡すことのできる全ての方向を撮像したものとなる。本実施形態では全天球画像が生成されるとして説明するが、水平方向のみ広角(例えば、90度〜360度)に撮像されたいわゆるパノラマ画像であってもよい。また、全天球画像は360度の全景のうちの一部を撮像した画像であってもよい。 また、全天球画像は静止画でもよいし、動画でもよい。
図3は、全天球撮像装置100のハードウェア構成図の一例である。全天球撮像装置100はバス142を介して接続された、CPU(Central Processing Unit)112と、ROM(Read Only Memory)114と、動画圧縮ブロック118と、映像出力インタフェース129と、画像処理ブロック116と、DRAM(Dynamic Random Access Memory)インタフェース120と、外部ストレージインタフェース122と、外部センサインタフェース124と、USBインタフェースと、シリアルブロック128とを有する。
CPU112は、ROM114に記憶されたプログラムを実行して全天球撮像装置100の各部の動作及び全体動作を制御する。ROM114は、CPU112が解読可能なコードで記述された制御プログラムや各種パラメータを記憶する。
動画圧縮ブロック118は、MPEG−4 AVC/H.264などの符号化方法で動画圧縮し、また、伸張するコーデック・ブロックである。動画圧縮ブロック118は、画像処理ブロックが生成した全天球画像の動画データを保存するため、及び、保存された動画データを再生出力するために用いられる。
映像出力インタフェース129は、外部ディスプレイと接続するためのHDMI(High-Definition Multimedia Interface。HDMIは登録商標。)などのインタフェースである。画像処理ブロック116が生成した画像(外部ストレージへの記録前、記録中、又は、記録済みの画像)を外部ディスプレイなどに出力することができる。
画像処理ブロック116は、2つの固体撮像素子13A、13Bと接続され、それぞれで撮像された画像の画像信号を取得する。画像処理ブロック116は、ISP(Image Signal Processor)などを含み構成され、固体撮像素子13A、13Bから入力された画像信号に対し、シェーディング補正、ベイヤー補間、ホワイト・バランス補正、及び、ガンマ補正などを行う。 画像処理ブロック116は、更に、複数の固体撮像素子13A,13Bから上記処理を経て取得された複数の画像を合成処理し、これにより、上記した全天球画像を生成する処理を行う。
DRAMインタフェースはDRAM132と接続され、DRAM132へのデータの書き込み及び読み出しを行う。DRAM132はCPU112がプログラムを実行する際のワークメモリとなり、また、画像処理ブロック116が画像処理を行う際に画像が一時的に記憶される。
外部ストレージインタフェース122には、メモリカードスロットに挿入されたメモリカードなどの外部ストレージ134が接続される。 外部ストレージインタフェース122は、外部ストレージ134に対する読み書きを制御する。
外部センサインタフェース124には姿勢センサ136が接続されている。姿勢センサ136は、加速度センサ、ジャイロセンサ、及び、地磁気センサの1つ以上の組み合わせで構成され、全天球撮像装置100に生じた運動を特定するために用いられる。
例えば、3軸の加速度センサは、3軸方向それぞれの加速度を検出する。3軸のジャイロセンサは、3軸を中心とする回転の角速度を検出する。地磁気センサは、磁界の向き(東西南北の方位)を計測することができる。地磁気センサは電子コンパスと呼ばれる場合がある。これらのセンサの出力を単独で又は組み合わせることにより、全天球撮像装置100の移動量や姿勢(手ぶれ補正に使用される)が与えられる。更に、姿勢センサ136のうち加速度センサから得られる情報は全天球画像の天頂補正を施すために使用される。
USBインタフェース126には、USBコネクタ138が接続される。 USBインタフェース126は、USBコネクタ138を介して接続されるパーソナル・コンピュータなどの外部機器とのUSB通信を制御する。
シリアルブロック128は、パーソナル・コンピュータなどの外部機器とのシリアル通信を制御し、無線NIC(Network Interface Card)140が接続される。
なお、映像が入出力されるインタフェースとして、外部ストレージインタフェース122、USBインタフェース126、シリアルブロック128,及び映像出力インタフェース129が示されているが、映像の入出力は特定の規格に限定されずに行われる。例えば、他の実施形態では、有線LAN(Local Area Network)などの有線通信、Bluetooth(登録商標)やワイヤレスUSBなどの他の無線通信、DisplayPort(登録商標)やVGA(Video Graphics Array)などの他の映像出力インタフェースを介して、外部機器と接続されてもよい。
なお、電源スイッチの操作によって通電状態になると、ROM114のプログラムがDRAM132にロードされる。CPU112は、DRAM132に読み込まれたプログラムにしたがって、図3にブロックで示される各部の動作を制御すると共に、制御に必要なデータをDRAM上に一時的に保存する。これにより、全天球撮像装置100の後述する各機能部及び処理が実現される。
<全天球撮像装置100と共に使用される端末装置について>
図4(a)は、全天球撮像装置100及び端末装置50を模式的に示す。全天球撮像装置100はディスプレイを有していないため、画像データを表示するため端末装置50と共に使用される場合が多い。全天球撮像装置100と端末装置50はUSBケーブルなどの有線接続の他、無線LANやBluetooth(登録商標)などの無線で互いに通信する。
端末装置50は、一例としては、PC(Personal Computer)、スマートフォン、タブレット端末、PDA(Personal Digital Assistant)、携帯電話、ウェアラブル型の情報処理端末等が挙げられる。
端末装置50では、全天球撮像装置100のアプリケーションソフトウェアが動作しており、全天球撮像装置100が撮像した画像データを端末装置50が受信して、ディスプレイに表示する。また、端末装置50が受け付けた各種の設定を端末装置50が全天球撮像装置100に送信する。
図4(b)は端末装置50のハードウェア構成図の一例を示す。端末装置50は、例えば図4に示すようなハードウェア構成により実現される。端末装置50は、CPU201、RAM202、入力装置203、外部I/F204、SSD(Solid State Drive)205、ROM206、表示装置207、通信I/F208、及び、近距離無線通信装置209などを備え、それぞれがバスBで相互に接続されている。
CPU201は、ROM206やSSD205などの記憶装置からプログラム205pやデータをRAM202上に読み出し、処理を実行することで、端末装置50全体の制御や機能を実現する演算装置である。
入力装置203は、例えば、タッチパネルであり、端末装置50に各操作信号を入力するのに用いられる。なお、入力装置203は、キーボードやマウスなどであってもよい。
外部I/F204は、外部装置とのインタフェースである。外部装置には、記録媒体204aなどがある。記録媒体204aには、本実施形態の表示方法を実現するプログラムが格納され得る。端末装置50は外部I/F204を介して、記録媒体204aの読み取り及び/又は書き込みを行うことができる。
記録媒体204aは、例えば、SDメモリカード(SD Memory card)などの記録媒体である。記録媒体204aは、USBメモリ(Universal Serial Bus memory)、DVD(Digital Versatile Disk)、CD(Compact Disk)、フレキシブルディスクなどの記録媒体であってもよい。
SSD205は、プログラム205pやデータを格納している不揮発性の記憶装置である。格納されるプログラム205pやデータには、例えば端末装置50全体を制御する基本ソフトウェアであるOS(Operating System)や、OS上において各種機能を提供するアプリなどがある。SSD205は格納しているプログラムやデータを所定のファイルシステム及び/又はDB(データベース)により管理している。なお、端末装置50は、SSD205の代わりに又はSSD205と併せて、HDD(Hard Disk Drive)等を備えていてもよい。
RAM202は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。ROM206は、電源を切ってもプログラムやデータを保持することができる不揮発性の記憶装置である。ROM206には、端末装置50の起動時に実行されるBIOS(Basic Input/Output System)、OS設定、及びネットワーク設定などのプログラムやデータが格納されている。
表示装置207は、例えば、LCD(Liquid Crystal Display)などであり、端末装置50による処理結果を表示する。
通信I/F208は、端末装置50をネットワークに接続するためのインタフェースである。また、通信I/F208は、携帯電話網やインターネット等に接続するためのインタフェースであってもよい。具体的には、無線LANの通信装置、携帯電話網を介した通信装置などである。
近距離無線通信装置209は、例えば、Bluetooth(登録商標)、NFC(Near Filed Communication)等の通信規格にしたがった通信装置である。NFCの場合、ICカードのリーダ・ライタなどと呼ばれる場合がある。これにより、端末装置50は、近距離無線通信装置209を介して全天球撮像装置100とデータ通信を行うことができる。
図5は、全天球撮像装置100と端末装置50の機能をブロック状に示す機能ブロック図の一例である。全天球撮像装置100は、通信部21、操作受付部22、及び、基本機能部23を有する。通信部21は、端末装置50と各種の情報の送受信を行う。本実施形態では画像データを端末装置50に送信したり、端末装置50から各種の設定を受信したりする。通信部21は、図3のCPU112がROM114に記憶されたプログラムを実行し無線NIC140を制御すること等により実現される。
操作受付部22は電源のオン/オフ、シャッターの押下などユーザの操作を受け付ける。操作受付部22は図3のCPU112がROM114に記憶されたプログラムを実行すること等により実現される。
基本機能部23は、全天球撮像装置100が撮像装置として有する基本的な機能を提供する。すなわち、画像データの生成を行う。基本機能部は図3のCPU112がROM114に記憶されたプログラムを実行し画像処理ブロック116、動画圧縮ブロック118を制御すること等により実現される。
全天球撮像装置100は図3のROM114及びDRAM132の少なくとも一方により実現される記憶部29を有する。この記憶部29には後述する変換テーブル24、合成用変換テーブル25、及び、重み付けテーブル26が記憶されている。詳細は後述されるが、変換テーブル24は部分画像のx、y座標と球面座標(θ、φ)とを対応付ける。合成用変換テーブル25は2つの部分画像のつなぎ合わせと天頂補正によりx、y座標とθ、φ座標との対応が変更された変換テーブルである。重み付けテーブル26は被写体との距離に応じて手ぶれ補正の程度を変更するためのテーブルである。
一方、端末装置50は通信部31、操作受付部32、及び、表示制御部33を有している。端末装置50が有する他の機能は本実施形態の説明に支障がないないとして省略されている。
通信部31は、全天球撮像装置100と各種の情報の送受信を行う。本実施形態では画像データを全天球撮像装置100から受信したり、各種の設定を送信したりする。通信部31は、図4(b)のCPU201がSSD205に記憶されたプログラム205pを実行し通信I/F208を制御すること等により実現される。
操作受付部32は端末装置50に対するユーザの各種の操作を受け付ける。本実施形態では後述する重み付けテーブルに関する設定を受け付ける。操作受付部32は図4(b)のCPU201がSSD205に記憶されたプログラム205pを実行し入力装置203を制御すること等により実現される。
表示制御部33はアプリケーションソフトウェアが作成する各種の画面を表示装置207に表示する。本実施形態では画像データ及び設定画面を表示する。表示制御部33は図4(b)のCPU201がSSD205に記憶されたプログラム205pを実行し表示装置207を制御すること等により実現される。
<画像処理ブロック>
続いて、図6(a)(b)を用いて全天球撮像装置100の画像処理ブロック116について説明する。全天球撮像装置100は種々の画像処理を行う画像処理装置である。図6(a)は手ぶれ補正機能を有さない画像処理ブロック116の機能ブロック図の一例であり、図6(b)は手ぶれ補正機能を有する画像処理ブロック116の機能ブロック図の一例である。図6(b)に示す手ぶれ補正部44が追加されても、後述するように手ぶれ補正部44の有無は後段の全天球画像生成部45の処理に影響を与えない。
図6(a)(b)の画像処理ブロック116はASIC、FPGA、LSIなどのハード的な回路により実現されることが想定される。
<全体の動作手順>
図7は、全天球撮像装置100の全体的な動作手順を示すフローチャート図の一例である。
ステップS10:固体撮像素子13A,13Bがそれぞれ周囲の被写体を撮像することで2つの部分画像が得られる。つなぎ合わせ処理部42は変換テーブルを使って2つの部分画像をつなぎ合わせる。
ステップS20:つなぎ合わせにより1つの全天球画像が得られるため、重力加速度が作用する方向に基づき天頂補正部43が天頂補正する。具体的には、全天球画像の向きが回転されるため変換テーブルが回転させられる。これにより合成用変換テーブルを生成する。
ステップS30:次に、手ぶれ補正部44が手ぶれ補正を行う。具体的には、手ぶれ補正により合成用変換テーブルの部分画像のx、y座標と球面座標(θ、φ)の対応を補正する。
ステップS40:全天球画像生成部45は合成用変換テーブルを用いて全天球画像を生成する。
<<撮像画像取得部41>>
以下、全天球撮像装置100の機能と動作手順の詳細を説明する。
撮像画像取得部41は上記した2つの固体撮像素子13A,13Bを制御し、それぞれからの撮像画像(部分画像)を取得する。
図8は、魚眼レンズを用いた撮像システムにおける射影関係を説明する図である。本実施形態において、1つ魚眼レンズで撮像された画像は、撮像地点から概ね半球分の方位を撮像したものとなる。また、魚眼レンズは、図8(a)に示すように、光軸311に対する入射角度φに対応した像高hで画像生成される。像高hと入射角度φとの関係は、所定の投影モデルに応じた射影関数で決定される。射影関数は、魚眼レンズの性質によって異なるが、等距離射影方式と呼ばれる投影モデルの魚眼レンズでは、fを焦点距離として、下式(1)で表現される。
Figure 0006919334

上記投影モデルの他の例として、中心投影方式(h=f・tanφ)、立体射影方式(h=2f・tan(φ/2))、等立体角射影方式(h=2f・sin(φ/2))及び正射影方式(h=f・sinφ)を挙げることができる。いずれの方式においても、光軸311からの入射角度φと焦点距離fに対応して結像の像高hが決定される。また、本実施形態では、画像対角線よりもイメージサークル径が小さな、いわゆる円周魚眼レンズの構成を採用するものとし、得られる部分画像は、図8(b)に示すように、撮像範囲の概ね半球分が投影されたイメージサークル全体を含む平面画像となる。
<<つなぎ合わせ処理部42>>
続いて、図9〜11を参照しながらつなぎ合わせ処理部42の処理について説明する。図9は、本実施形態で用いられる全天球フォーマット340の画像データのデータ構造を説明する図である。図9に示すように、全天球フォーマット340の画像データは、所定の軸に対するなす角度に対応する垂直角度φと、上記軸周りの回転角に対応する水平角度θとを座標とした画素値の配列として表現される。水平角度θは、0〜360度(−180度〜+180度とも表現できる。)の範囲となり、垂直角度φは、0〜180度(同様に−90度〜+90度とも表現できる。)の範囲となる。各座標値(θ,φ)は、撮像地点を中心とした全方位を表す球面上の各点と対応付けられており、全方位が全天球画像上にマッピングされる。魚眼レンズで撮像された画像の平面座標と、全天球フォーマット340の球面上の座標との関係は、図8で説明したような射影関数を用いることによって対応付けることができる。
図10は、部分画像の平面座標と球面座標を対応づける変換テーブル24を説明する図である。図10(a)は変換テーブルの一例を示す。図10(b)は変換テーブル24による対応付けを模式的に示す。図10(a)(b)に示すように、変換テーブル24は各魚眼レンズごとに、補正後画像の座標値(θ,φ)と、該座標値(θ,φ)にマッピングされる補正前の部分画像の座標値(x、y)とを対応付ける情報を、全座標値(θ,φ)(θ=0,・・・360度,φ=0,・・・180度)に対して保持する。図10の例では、1画素が担当する角度は、φ方向及びθ方向いずれも1/10度であり、変換テーブル24は、各魚眼レンズについて、3600×1800の対応関係を示す情報を有することになる。
つなぎ合わせ処理で使用される変換テーブル24は、事前に全天球撮像装置100の製造元等がレンズ設計データなどを元に、図8で説明したレンズの射影関係に基づき、放射歪曲及び偏心歪曲等に起因した理想的なレンズモデルからの歪みを補正した上で計算して作成される。なお、変換テーブル24は、平面座標系で表現される部分画像(x,y)から、球面座標系で表現される画像(θ,φ)への射影を規定する1以上の関数の係数データとしてもよい。
図11は、2つの魚眼レンズ0,1で撮像された2つの部分画像0,1の球面座標系へのマッピングを説明する図である。図11(a)はレンズ0,1と光軸311を示し、図11(b)は位置検出用補正画像0,1の重複領域を示すと共に、部分画像0,1と位置検出用補正画像0,1と球面座標系との対応を示す。
魚眼レンズ0,1で撮像された2つの部分画像0,1は、変換テーブル24により全天球フォーマット340上に展開される。魚眼レンズ0により撮像された部分画像0は、典型的には、全天球のうちの概ね上半球にマッピングされ、魚眼レンズ1により撮像された部分画像1は、全天球のうちの概ね下半球にマッピングされる。全天球フォーマット340で表現された部分画像0及び部分画像1は、魚眼レンズの全画角が180度を超えるため、それぞれ半球からはみ出し、その結果、位置検出用補正画像0及び位置検出用補正画像1を重ね合わせると、画像間で撮像範囲が重複する重複領域330が発生する。
変換テーブル24により部分画像から全天球フォーマット340へ変換されるだけでは、重複領域330で画像にズレが生じる。変換テーブル24は計算により作成されているに過ぎず、全天球撮像装置100の製造時に魚眼レンズの取り付け誤差等が生じるためである。そこで、図12に示すように重複領域330の位置合わせが行われる。
図12は、重複領域330の位置合わせを説明する図の一例である。全天球フォーマット340のうち部分画像0に対応する部分を位置検出用補正画像0と称し、部分画像1に対応する部分を位置検出用補正画像1と称する。図12のテンプレート用画像300は、位置検出用補正画像1の重複領域330の画像であり、探索用画像310は、位置検出用補正画像0の重複領域330の画像である。重複領域330にはマッチング用のブロック302、312が生成される(各ブロックには枝番−1から−6が付されている)。ブロック・サイズは、重複領域330の縦よりも短い辺の正方形である(長方形でもよくその他の多角形でもよい)。つなぎ合わせ処理部42は、重複領域330に所定の生成間隔でブロック302,312を生成する。ブロック・サイズ及び生成間隔は、マッチングの所望の精度及び処理量を勘案して定めればよい。
ブロック・サイズをW画素×H画素とし、テンプレート用画像300のブロック302の生成開始座標を(sx,sy)とし、生成間隔を図示するstep画素とすると、図12に示すような態様で複数のブロック302−1〜302−6が生成される。テンプレート用画像300のブロック302はテンプレート(ひな形)となる。テンプレートのブロック302の数は、全天球画像の幅サイズ=3600画素を生成間隔(step)で割った値の整数値となる。
ここで生成された複数のブロック302−1〜302−6により、探索用画像310のブロック312−1〜312−6が探索される。なお、全天球フォーマット340のθ座標の両端(0度及び360度)はつながっているため、ブロックの生成やテンプレートマッチングの際は、右端の隣は左端として、左端の隣は右端として取り扱うことができる。
ブロック302−1〜302−6と最も位置するブロック312−1〜312−6の位置は分かっていないので、つなぎ合わせ処理部42は、テンプレート用画像300のブロック302の特徴量を算出し、探索用画像310の対応する位置314で特徴量を算出する。特徴量の類似度を算出し、step幅の範囲で水平方向に1画素シフトしながら類似度を算出することを繰り返す。step幅の範囲で特徴量が最も類似したシフト量が位置検出用補正画像1と位置検出用補正画像0の重複領域がマッチングした位置(ブロック312−1〜312−6)である。
なお、図12ではθ方向にシフトさせていたが、ブロックをφ方向にもシフトさせることでθ及びφ方向に最も類似度が高いマッチング位置を特定できる。つなぎ合わせ処理部42は部分画像0の変換テーブルの座標値(θ,φ)に対して、シフト量(Δθ,Δφ)を対応付ける。θ方向にのみシフトした場合、Δφはゼロでよい。部分画像1の歪み補正に用いた変換テーブルについては対応付けを変える必要はない。
こうすることで2つの部分画像0、1が最も合致する位置で2つの部分画像0,1をつなぎ合わせることができる。
<<天頂補正部43>>
図11に示したように上記の変換テーブルは、光軸311が球面(魚眼レンズ)の極を向き、画像間の重複部分が球面の赤道近傍に射影され、全天球フォーマット340の上下方向と、撮像されたシーンの天頂方向が一致していない。
天頂補正部43は、全天球撮像装置100の姿勢を検出し、生成される全天球画像の天頂方向が所定の基準方向に一致するようにするための補正処理を実行する。ここで、所定の基準方向とは、典型的には、鉛直方向であり、重力加速度が作用する方向である。全天球画像の天頂方向が鉛直方向(天頂方向)に一致するよう補正することにより、特に動画像において、閲覧時に視野の変更を行う場合でもユーザに三次元酔いなどの違和感を与えないようにすることが可能となる。
天頂補正部43は、修正された変換テーブルの座標を回転することによって、合成用変換テーブル25を生成する。
図13は、2つの魚眼レンズで撮像された2つの部分画像の球面座標系へのマッピングを説明する図である。天頂補正部43は、回転座標変換により、座標値(θg,φg)に対応する、つなぎ位置検出用の球面座標系の座標値(θd,φd)を求める。回転座標変換により、図11に示すような、一方のレンズ光学系の光軸311を軸とした水平角度θd及び垂直角度φdの座標軸の定義から、図13に示すような、光軸311に垂直な軸を基準とした水平角度θg及び垂直角度φgの定義に変換される。式(2)はこの回転座標変換を表す。
座標(θg,φg)は画像合成用の球面座標系の球面座標である。三次元直交座標(xg,yg,zg)は(θg,φg)に対応する三次元直交座標である。座標(θd,φd)はつなぎ合わせ処理に用いられた球面座標である。三次元直交座標(xd,yd,zd)は(θd,φd)に対応する三次元直交座標である。式(2)の係数βは、三次元直交座標におけるx軸周りの回転座標変換を規定する回転角である。本実施形態では、光軸と重力加速度のなす角(約90度)である。
Figure 0006919334
式(2)により座標(θg,φg)と座標(θd,φd)の対応が求められるため、天頂補正部43は変換テーブル24の球面座標(θ、φ)を座標(θd,φd)で検索し、変換テーブル24の球面座標(θ、φ)を座標(θg,φg)で置き換える。これにより合成用変換テーブル25を生成する。
これにより、合成用変換テーブル25では、光軸が球面の赤道上に射影され、全天球フォーマット340の上下方向と、撮像されたシーンの天頂方向とが一致する。
<<全天球画像生成部45>>
全天球画像生成部45はつなぎ合わせ処理部42及び天頂補正部43の処理結果が反映された状態で、撮像された2つの部分画像0,1から全天球画像を生成する。上記のように、2つの部分画像0,1から全天球画像を生成するための変換テーブル24が予め存在し、つなぎ合わせ処理部42は、この変換テーブル24に対し、つなぎ位置検出の結果を反映させる。天頂補正部43は変換テーブル24に対し天頂補正の結果を反映させ合成用変換テーブル25を生成する。そして、全天球画像生成部45は、これらの処理結果が反映された合成用変換テーブル25を用いて、2つの部分画像から全天球画像を生成する。
<ぶれ補正部44>
ぶれ補正部44は、天頂補正部43が補正した合成用変換テーブルの球面座標(θ、φ)を、ぶれを抑制するように補正する。したがって、全天球画像生成部45が合成用変換テーブルを使って全天球画像を生成できることに変わりはなく、ぶれ補正部44の追加は天頂補正部43及び全天球画像生成部45に影響しない。
図14は、ぶれ補正を説明する図の一例である。図14(a)は撮像時刻が異なる時系列のフレームN、N+1を示す。点PgはフレームN,N+1に共通に撮像されており、フレームN、N+1の異なる点p、p′に写っている。したがって、フレームN+1のp′をフレームNのpに一致させれば手ぶれを補正できる。なお、フレームN、N+1はそれぞれ全天球撮像装置100と見なすことができ、全天球撮像装置100の運動を表すベクトルvはフレームNとN+1の位置と姿勢の違いを表す。
全天球撮像装置100がベクトルvで表される運動を行った場合、フレームNとN+1では全天球画像のある点がベクトルwで移動したように見える。図14(b)はベクトルwを示す。ベクトルwは点PからP′への有向線分でありベクトルwが長いほど手ぶれが大きいことが分かる。ベクトルwが生じなかったように補正されるのでベクトルwは補正量に相当する。ベクトルwの算出方法については図17にて説明する。
図15は、ぶれ補正部44がぶれ補正を行う手順を示すフローチャート図の一例である。
ぶれ補正部44は、全天球撮像装置100の運動を表すベクトルvを算出する(S301)。ベクトルvは姿勢センサ(加速度センサ、ジャイロセンサ)により求まる。加速度センサが検出する加速度を2回、定積分することで移動量を求められる。同様にジャイロセンサが検出する角速度を2回、定積分することで回転角を求められる。積分範囲は、フレームNを撮像してからフレームN+1が撮像されるまでの時間である。
次に、ぶれ補正部44は合成用変換テーブル25を用いて部分画像0,1の座標(x、y)を球面座標の点pに変換する(S302)。すなわち、魚眼レンズで固体撮像素子13A,13Bに投影された部分画像0,1の座標(第一の平面座標)を球面座標の点pに変換する。この変換は天頂補正された合成用変換テーブル25をそのまま用いればよい。
次に、ぶれ補正部44はベクトルvに対応するベクトルwを算出する(S303)。詳細は図17にて説明する。
次に、ぶれ補正部44は点pにベクトルwを加えて点p´を決定する(S304)。p´は球面上に存在する。
次に、ぶれ補正部44は点p´を部分画像0,1の座標(x´, y´)に変換する(S305)。これは合成用変換テーブル25を逆引きすることにより行われる。図16を用いて説明する。座標(x´, y´)は第二の平面座標の一例である。
図16は、合成用変換テーブル25の逆引きに関する処理を説明する図である。上記のように点p´が求められるので、対応する座標(xp´,yp´)が逆引きされる。この座標(xp´,yp´)が点pのθp、φpと対応付けられることで手ぶれが低減されるので、合成用変換テーブルの座標(xp´,yp´)を点pに対応する座標(xp、yp)で置き換える。
(θp、φp)と(θp´、φp´)との差、又は、座標(xp、yp)と座標(xp´,yp´)の差はベクトルwの長さに相当しており、これらの差は補正量ということができる。
このようにして生成された合成用変換テーブル25は全天球画像生成部45に送出され、全天球画像生成部45により部分画像から全天球画像が生成される。
<<ベクトルwの算出>>
図17はベクトルwの算出方法を説明する図の一例である。説明の便宜上、回転成分(姿勢の変化)がない場合を図示するが、回転成分がある場合も同様に計算できる。
全天球撮像装置100がベクトルvで運動したものとする。図17の各符号の意味は以下のとおりである。
p(x、y、z):フレームN(時刻t)に点Pgが写っている三次元空間の座標
p′′(x′′、y′′、z′′):フレームN+1(時刻t+1)に点Pgが写っている三次元空間の座標
Pg(Xg、Yg、Zg):被写体の三次元空間の座標(運動前の三次元空間の点)
ベクトルv:全天球撮像装置100の運動を表すベクトル
vx、vy、vz:グローバル座標におけるベクトルvのx成分、y成分、z成分
Pg′(Xg′、Yg′、Zg′):被写体の三次元空間の座標(運動後の三次元空間の点)
グローバル座標系で全天球撮像装置100がベクトルvで移動する場合、点pはvx、vy、vz移動したことになる。したがって、Pg′(Xg′、Yg′、Zg′)をグローバル座標における被写体の位置とすると各成分は以下のように表せる。
Xg′=Xg−vx
Yg′=Yg−vy
Zg′=Zg−vz
ここで、Pgからpへの変換は一般に透視投影行列Pを使って、
p=PPg …(3)
で表される。Pは全天球撮像装置100において既知の透視投影変換を表す行列である。
Figure 0006919334
時刻t+1に被写体Pgが写っている点p′′もPg′に透視投影行列Pを掛けて得られるはずである。
p′′=PPg′ …(5)
式(3)を参照すると、PgはpにP-1(逆行列)を掛けることで求められる。したがって、式(3)よりPgの各成分xg、yg、zgが求められる。また、vx、vy、vzも分かっているので、xg′、yg′、zg′も算出できる。これによりPg′が求められた。
以上により、式(5)からp′′を算出できる。ベクトルwはpとp′′の差分として算出される。このように、本実施形態の全天球撮像装置100は、部分画像を三次元空間の立体球に変換してベクトルvに応じて立体球の点Pが移動した移動量をベクトルwとして求める。
しかしながら、p′′は必ずしも球面上に存在しないので、球面座標(θ、φ)で表すことができないおそれがある。全天球画像は半径r=1なので、p′′(x′′、y′′、z′′)をr=1となる球面上の点に補正する。x′′、y′′、z′′を定数n倍する。nは半径r=1であることを利用して、n=1/√(x′′+、y′′+z′′)である。
次に、P′′は直交座標系で表されているので、極座標(r、θ、φ)に変換する。ただしr=1である。
θ = arctan(y′′/x′′)
φ = arccos(z′′)
となる。
以上のようにして、点p′′を球面上の点に補正でき、点pが点p′に移動する際のベクトルwが求められる。
なお、式(5)でp′′を算出したが、Pやベクトルvが正確であればp′′がp′と一致するか又は一致すると見なしてよい。この場合は、ベクトルwを算出することなくp′′を部分画像0,1の座標(x´, y´)に変換できる(図14のS305)。したがって、必ずしもベクトルwを算出する必要はない。
<被写体との距離を考慮した手ぶれ補正>
図1にて説明したように被写体との距離によって手ぶれの影響の大きさが異なる。しかしながら、全天球撮像装置100が距離センサを有していない場合は少なくない。そこで、予め重み付けテーブル26を用意しておくことが考えられる。
図18は、重み付けテーブル26を説明する図の一例を示す。図18(a)は撮像シーンを模式的に示している。一般的な室内では机350等が置かれており、全天球撮像装置100から机350までの距離は最も短く、壁との距離は全天球撮像装置100の置かれた位置によって異なるが中程度で、天井までの距離が最も長い場合が多いと推測される。したがって、緯度(φ)方向では、φが大きくなるほど距離が長くなる傾向にあると言える。
天頂方向のφを0度、地方向のφを180度と定義する。距離が短いほど手ぶれの補正量が大きいので、φが大きいほど大きくなる重み付け情報が定められればよい。重み付け情報は0から1の範囲であるとする。すなわち、0では手ぶれ補正を行わず、0.5では50%の手ぶれ補正を行い、1では100%の手ぶれ補正を行うことを意味する。
図18(b)は重み付けテーブル26の一例を示す。図18(c)は重み付けテーブル26におけるθとφの取り方を示す。図18(c)ではφ=0が天頂方向、φ=180度が地方向であるので、φが大きくなるほど重み付け情報が大きくなっている。
手ぶれ補正部44は、ベクトルwを算出する際、vx、vy、vzに0〜1の値を乗じる。φが大きいほどベクトルwが大きくなるので(φが小さいほどベクトルwが小さくなる)、φが大きい被写体ほど大きく手ぶれ補正することができる。
<<重み付けテーブルの選択>>
ユーザが撮像シーンに応じた重み付けテーブル26を選択してもよい。全天球撮像装置100と被写体までの距離は撮像シーンによりある程度、類似性がある。例えば、屋内では図18(a)で説明した傾向がある。一方、屋外では壁がないし、地方向の距離も屋内よりも長くなる傾向ある。一方、車内のような狭い空間では、上下左右のどちらの方向でも全天球撮像装置100と被写体との距離が短い。
図19は重み付けテーブル26の選択画面401の一例を示す。全天球撮像装置100は端末装置50と無線で通信する。端末装置50では全天球撮像装置100のアプリケーションが動作しており、重み付けテーブル26の選択画面401を表示する。重み付けテーブル26の選択画面には屋内ボタン402、屋外ボタン403、及び、狭い空間ボタン404がそれぞれ表示されており、ユーザは撮像シーンを考慮していずれかのボタンを押下する。端末装置50はユーザの操作を受け付けて、選択された撮像シーンを全天球撮像装置100に送信する。これにより、全天球撮像装置100は撮像シーンに適切な重み付けテーブル26を採用して手ぶれ補正することができる。
<<ユーザによる重み付け情報の入力>>
図20に示すようにユーザが重み付けテーブル26に重み付け情報を入力してもよい。図20は、重み付け情報の入力画面410を示す。図示するように端末装置50はいったん撮像した全天球画像(図20では正距円筒図)を表示する。端末装置50は全天球画像を点線などでメッシュ420に区切って表示する。ユーザはメッシュ420ごとに全天球撮像装置100との距離を判断し、距離情報として遠ボタン411、中ボタン412、近ボタン413のいずれかを押下してからメッシュ420を押下する。こうすることで、全天球画像の球面座標(θ、φ)と遠、中、近を対応付けることができる。
端末装置50は球面座標(θ、φ)と遠、中、近の対応付けを全天球撮像装置100に送信する。全天球撮像装置100は、遠を0、中を0.5、近を1に対応付けて重み付けテーブル26を作成する。
なお、ユーザは全てのメッシュ420を遠、中、近のいずれかと対応付けることまでは要求されない。全天球撮像装置100は遠、中、近のいずれかと対応付けていないメッシュを補間することで、重み付け情報を算出する。
図20のようにユーザが重み付け情報を入力すれば、撮像シーンにより適した重み付けテーブル26が得られるので、手ぶれ補正により画質が向上しやすくなる。
<<距離の測定>>
全天球撮像装置100が被写体までの距離を測定して、距離に応じた重み付けテーブル26を作成してもよい。例えば、全天球撮像装置100がLRF(Laser Range Finder )を搭載する。あるいは、ステレオカメラなど距離を測定するセンサを搭載する。全天球撮像装置100は測定された距離を元に、重み付けテーブル26を作成する。すなわち、一定以上の遠方の被写体との距離を最大にして最大の距離の重み付け情報を0,最小の距離の重み付け情報を1に設定し、その間の重み付け情報を距離によって決定する。
距離の測定により重み付け情報が決定されれば、より正確な重み付けテーブル26が得られるので、手ぶれ補正により画質が向上しやすくなる。
<手ぶれ補正の画質向上例>
図21,図22を用いて手ぶれ補正の効果について説明する。図21は手ぶれ補正の実験を説明する図である。机350の上に全天球撮像装置100が固定されている。全天球撮像装置100は動画を撮像しながら、実験者が机350を床に平行に移動させる。全天球撮像装置100の撮像範囲に動く物体は存在しないため、全天球撮像装置100に平行移動の手ぶれが生じたことを再現できる。
図22は、手ぶれ補正の効果を説明する図である。まず、実験者は手ぶれ後のある時刻の全天球画像1を用意する。次に、実験者はこの全天球画像に本実施形態で説明した手ぶれ補正を行い、全天球画像2を生成する。図22(a)は参考に示した撮影環境の全天球画像である。図22(b)は全天球画像1と全天球画像2の差分画像である。差分がない画素は黒画素になり、差分がある画素は白画素になる。
全天球撮像装置100の撮像範囲に動く物体は存在しないため、差分が生じれば手ぶれ補正による画像の変化を示す。図22に示すように、手ぶれ補正により差分が得られており、本実施形態の手ぶれ補正が有効であることが分かる。
<まとめ>
以上説明したように、本実施形態の全天球撮像装置100は、全天球撮像装置100の三次元の運動を姿勢センサ等で取得し、取得した運動による手ぶれの補正量を三次元(球面座標)の状態で推定するので、平面画像と同様の手ぶれ補正が困難な広角画像においても手振れを抑制することができる。したがって、光学式の手ぶれ補正機構及び電子的な手ぶれ補正機構を適用する必要がない。
<その他の適用例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
例えば、本実施形態では画像処理ブロック116がハードウェア回路であると説明したが、画像処理ブロック116の機能をソフトウェアで実現してもよい。また、画像処理ブロック116の機能を全天球撮像装置100でなく端末装置50等が有していてもよい。また、全天球撮像装置100をクライアント、端末装置50をサーバとしてサーバが手ぶれ補正を行ってもよい。
また、端末装置50が全天球撮像装置100として使用されてもよい。この場合、端末装置50に外付けで2つの魚眼レンズが接続される。端末装置50は本実施形態の手ぶれ補正を行うことができる。このように、全天球撮像装置100は情報処理装置でもよい。
また、図6(b)の構成では天頂補正の後に手ぶれ補正を行っていたが、天頂補正の前に手部ぶれ補正を行ってもよい。この場合、天頂補正が行われていないので、距離情報を考慮することが困難になる。したがって、重み付けテーブルは予め写りこむ被写体が決まっているものとして作成される。例えば、台に固定された全天球撮像装置100が、台と共に移動されながら撮像する場合は、重み付けテーブルを予め用意できる。
また、本実施形態ではジャイロセンサで姿勢を検出したが、地磁気センサにより鉛直方向を軸とする全天球撮像装置100の向きを検出することもできる。
また、以上の実施例で示した図6などの構成例は、全天球撮像装置100の処理の理解を容易にするために、主な機能に応じて分割したものである。しかし、各処理単位の分割の仕方や名称によって本願発明が制限されることはない。全天球撮像装置100の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、1つの処理単位が更に多くの処理を含むように分割することもできる。
なお、撮像画像取得部41は撮像画像取得手段の一例であり、姿勢センサ136は運動検出手段の一例であり、手ぶれ補正部44は補正手段の一例である。合成用変換テーブル25は対応情報の一例であり、Pgは第一の立体球の点の一例であり、Pg′は第二の立体球の点の一例である。
24 変換テーブル
25 合成用変換テーブル
26 重み付けテーブル
41 撮像画像取得部
42 つなぎ合わせ処理部
43 天頂補正部
44 補正部
45 全天球画像生成部
50 端末装置
100 全天球撮像装置
特開2003‐110929号公報 特開平04‐088761号公報

Claims (13)

  1. 広角レンズを使用して撮像された撮像画像を取得する撮像画像取得手段と、
    画像処理装置の運動を検出する運動検出手段と、
    前記撮像画像を少なくとも一部に曲面を有する広角画像に変換して前記運動検出手段が検出した運動に応じた補正量を算出し、前記補正量で前記撮像画像を補正する補正手段と、
    を有し、
    前記補正手段は、前記撮像画像を立体球に変換し、
    前記補正手段は、三次元空間の点を広角レンズで撮像された前記立体球の点に投影する透視投影変換と逆の変換を、第一の立体球の点に行い、
    前記運動検出手段が検出した運動のx、y、z成分により運動前の前記三次元空間の点を運動後の三次元空間の点に変換し、
    運動後の三次元空間の点に前記透視投影変換を行い第二の立体球の点を算出し、
    前記第二の立体球の点を、前記運動検出手段が検出した運動に応じて変更された前記立体球の座標とすることを特徴とする画像処理装置。
  2. 広角レンズを使用して撮像された撮像画像を取得する撮像画像取得手段と、
    画像処理装置の運動を検出する運動検出手段と、
    前記撮像画像を少なくとも一部に曲面を有する広角画像に変換して前記運動検出手段が検出した運動に応じた補正量を算出し、前記補正量で前記撮像画像を補正する補正手段と、
    を有し、
    前記補正手段は、前記撮像画像を立体球に変換し、
    前記撮像画像の平面座標と前記立体球の球面座標を対応付ける対応情報を参照して、前記撮像画像の第一の平面座標を前記立体球に変換し、
    前記立体球の座標を前記運動検出手段が検出した運動に応じて変更し、
    変更された前記立体球の座標が前記対応情報において対応付けられた第二の平面座標を、前記第一の平面座標が対応付けられていた前記球面座標で置き換え、
    前記補正手段は、前記球面座標に対し前記補正手段による補正の程度を示す重み付けが対応付けられた重み付け情報を参照し、
    前記球面座標に対応付けられた重み付けで前記立体球の座標を前記運動検出手段が検出した運動に応じて変更することを特徴とする画像処理装置。
  3. 前記補正手段は、前記撮像画像を立体球に変換して前記運動検出手段が検出した運動に応じて前記立体球の点が移動した移動量を算出し、前記移動量に基づいて算出した前記補正量で前記撮像画像を補正する請求項1に記載の画像処理装置。
  4. 前記補正手段は、前記撮像画像の平面座標と前記立体球の球面座標を対応付ける対応情報を参照して、前記撮像画像の第一の平面座標を前記立体球に変換し、
    前記立体球の座標を前記運動検出手段が検出した運動に応じて変更し、
    変更された前記立体球の座標が前記対応情報において対応付けられた第二の平面座標を、前記第一の平面座標が対応付けられていた前記球面座標で置き換えることを特徴とする請求項3に記載の画像処理装置。
  5. 前記補正手段は、前記第一の立体球の点と前記第二の立体球の点の差分を算出し、前記第一の立体球の点に前記差分を加えて得られる点を前記第二の立体球の球面上に補正する請求項1に記載の画像処理装置。
  6. 前記補正手段は、前記第一の立体球の点と前記第二の立体球の点との差分を算出し、
    前記第一の立体球の点に前記差分を加えた点を、前記運動検出手段が検出した運動に応じて変更された前記立体球の座標として、
    立体球の座標が前記対応情報において対応付けられた前記第二の平面座標を、前記第一の平面座標が対応付けられていた前記球面座標で置き換える請求項4に記載の画像処理装置。
  7. 前記重み付け情報は、前記球面座標に応じて推測される被写体との距離を考慮して決定されており、
    前記距離が短いほど大きく、前記距離が長いほど小さい重み付けが前記球面座標に対し対応付けられていることを特徴とする請求項2に記載の画像処理装置。
  8. 前記重み付け情報は撮像シーンに応じて予め定められており、
    前記補正手段は、ユーザが選択した前記撮像シーンに応じた前記重み付け情報を参照して前記撮像画像を補正することを特徴とする請求項2又は7に記載の画像処理装置。
  9. 前記画像処理装置が撮像した画像がメッシュで区切って表示された際に、ユーザによりメッシュごとに入力された距離情報に応じて前記重み付け情報を生成することを特徴とする請求項2又は7に記載の画像処理装置。
  10. 撮像画像取得手段が、広角レンズを使用して撮像された撮像画像を取得するステップと、
    運動検出手段が、画像処理装置の運動を検出するステップと、
    補正手段が、前記撮像画像を少なくとも一部に曲面を有する広角画像に変換して前記運動検出手段が検出した運動に応じた補正量を算出し、前記補正量で前記撮像画像を補正するステップと、を有し、
    前記補正手段は、前記撮像画像を立体球に変換し、
    前記補正手段は、三次元空間の点を広角レンズで撮像された前記立体球の点に投影する透視投影変換と逆の変換を、第一の立体球の点に行い、
    前記運動検出手段が検出した運動のx、y、z成分により運動前の前記三次元空間の点を運動後の三次元空間の点に変換し、
    運動後の三次元空間の点に前記透視投影変換を行い第二の立体球の点を算出し、
    前記第二の立体球の点を、前記運動検出手段が検出した運動に応じて変更された前記立体球の座標とすることを特徴とする画像処理方法。
  11. 撮像画像取得手段が、広角レンズを使用して撮像された撮像画像を取得するステップと、
    運動検出手段が、画像処理装置の運動を検出するステップと、
    補正手段が、前記撮像画像を少なくとも一部に曲面を有する広角画像に変換して前記運動検出手段が検出した運動に応じた補正量を算出し、前記補正量で前記撮像画像を補正するステップと、を有し、
    前記補正手段は、前記撮像画像を立体球に変換し、
    前記撮像画像の平面座標と前記立体球の球面座標を対応付ける対応情報を参照して、前記撮像画像の第一の平面座標を前記立体球に変換し、
    前記立体球の座標を前記運動検出手段が検出した運動に応じて変更し、
    変更された前記立体球の座標が前記対応情報において対応付けられた第二の平面座標を、前記第一の平面座標が対応付けられていた前記球面座標で置き換え、
    前記補正手段は、前記球面座標に対し前記補正手段による補正の程度を示す重み付けが対応付けられた重み付け情報を参照し、
    前記球面座標に対応付けられた重み付けで前記立体球の座標を前記運動検出手段が検出した運動に応じて変更することを特徴とする画像処理方法。
  12. 情報処理装置を、
    広角レンズを使用して撮像された撮像画像を取得する撮像画像取得手段と、
    画像処理装置の運動を検出する運動検出手段と、
    前記撮像画像を少なくとも一部に曲面を有する広角画像に変換して前記運動検出手段が検出した運動に応じた補正量を算出し、前記補正量で前記撮像画像を補正する補正手段、
    として機能させ、
    前記補正手段は、前記撮像画像を立体球に変換し、
    前記補正手段は、三次元空間の点を広角レンズで撮像された前記立体球の点に投影する透視投影変換と逆の変換を、第一の立体球の点に行い、
    前記運動検出手段が検出した運動のx、y、z成分により運動前の前記三次元空間の点を運動後の三次元空間の点に変換し、
    運動後の三次元空間の点に前記透視投影変換を行い第二の立体球の点を算出し、
    前記第二の立体球の点を、前記運動検出手段が検出した運動に応じて変更された前記立体球の座標とするプログラム。
  13. 情報処理装置を、
    広角レンズを使用して撮像された撮像画像を取得する撮像画像取得手段と、
    画像処理装置の運動を検出する運動検出手段と、
    前記撮像画像を少なくとも一部に曲面を有する広角画像に変換して前記運動検出手段が検出した運動に応じた補正量を算出し、前記補正量で前記撮像画像を補正する補正手段、
    として機能させ、
    前記補正手段は、前記撮像画像を立体球に変換し、
    前記撮像画像の平面座標と前記立体球の球面座標を対応付ける対応情報を参照して、前記撮像画像の第一の平面座標を前記立体球に変換し、
    前記立体球の座標を前記運動検出手段が検出した運動に応じて変更し、
    変更された前記立体球の座標が前記対応情報において対応付けられた第二の平面座標を、前記第一の平面座標が対応付けられていた前記球面座標で置き換え、
    前記補正手段は、前記球面座標に対し前記補正手段による補正の程度を示す重み付けが対応付けられた重み付け情報を参照し、
    前記球面座標に対応付けられた重み付けで前記立体球の座標を前記運動検出手段が検出した運動に応じて変更するプログラム。
JP2017104825A 2017-05-26 2017-05-26 画像処理装置、画像処理方法、プログラム Active JP6919334B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017104825A JP6919334B2 (ja) 2017-05-26 2017-05-26 画像処理装置、画像処理方法、プログラム
US15/967,947 US10645284B2 (en) 2017-05-26 2018-05-01 Image processing device, image processing method, and recording medium storing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017104825A JP6919334B2 (ja) 2017-05-26 2017-05-26 画像処理装置、画像処理方法、プログラム

Publications (2)

Publication Number Publication Date
JP2018201123A JP2018201123A (ja) 2018-12-20
JP6919334B2 true JP6919334B2 (ja) 2021-08-18

Family

ID=64401498

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017104825A Active JP6919334B2 (ja) 2017-05-26 2017-05-26 画像処理装置、画像処理方法、プログラム

Country Status (2)

Country Link
US (1) US10645284B2 (ja)
JP (1) JP6919334B2 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102598082B1 (ko) * 2016-10-28 2023-11-03 삼성전자주식회사 영상 표시 장치, 모바일 장치 및 그 동작방법
KR20180051288A (ko) * 2016-11-08 2018-05-16 삼성전자주식회사 디스플레이 장치 및 그 제어 방법
US10999602B2 (en) 2016-12-23 2021-05-04 Apple Inc. Sphere projected motion estimation/compensation and mode decision
US11259046B2 (en) 2017-02-15 2022-02-22 Apple Inc. Processing of equirectangular object data to compensate for distortion by spherical projections
US10924747B2 (en) 2017-02-27 2021-02-16 Apple Inc. Video coding techniques for multi-view video
US11093752B2 (en) 2017-06-02 2021-08-17 Apple Inc. Object tracking in multi-view video
US10754242B2 (en) 2017-06-30 2020-08-25 Apple Inc. Adaptive resolution and projection format in multi-direction video
US20190005709A1 (en) * 2017-06-30 2019-01-03 Apple Inc. Techniques for Correction of Visual Artifacts in Multi-View Images
WO2019070300A1 (en) * 2017-10-06 2019-04-11 Google Llc SYSTEMS AND METHODS FOR IMAGE SWITCHING
JP6413035B1 (ja) * 2018-01-18 2018-10-24 株式会社ほぼ日 プログラム、情報処理装置及び情報処理方法
US10593014B2 (en) * 2018-03-26 2020-03-17 Ricoh Company, Ltd. Image processing apparatus, image processing system, image capturing system, image processing method
US20190306420A1 (en) * 2018-03-31 2019-10-03 Takashi Okaki Image processing apparatus, image capturing system, image processing method, and recording medium
US11423570B2 (en) * 2018-12-26 2022-08-23 Intel Corporation Technologies for fusing data from multiple sensors to improve object detection, identification, and localization
JP7405131B2 (ja) * 2019-02-21 2023-12-26 ソニーグループ株式会社 画像処理装置、画像処理方法、プログラム
JP7192592B2 (ja) 2019-03-15 2022-12-20 株式会社リコー 撮像装置、画像通信システム、画像処理方法、プログラム
WO2021181965A1 (ja) * 2020-03-09 2021-09-16 ソニーグループ株式会社 画像処理装置、画像処理方法、プログラム
TWI788838B (zh) * 2021-05-07 2023-01-01 宏茂光電股份有限公司 球座標至極座標轉換方法
CN115082322B (zh) * 2022-07-26 2022-11-15 腾讯科技(深圳)有限公司 图像处理方法和装置、图像重建模型的训练方法和装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01109970A (ja) 1987-10-23 1989-04-26 Matsushita Electric Ind Co Ltd 動画ぶれ除去装置
EP0831644A3 (en) * 1996-09-20 2000-01-12 Sony Corporation Image shake discriminator and stabilizer
JP2000010141A (ja) * 1998-06-26 2000-01-14 Ricoh Co Ltd 手振れ補正機能付きデジタルカメラ
US8427538B2 (en) * 2004-04-30 2013-04-23 Oncam Grandeye Multiple view and multiple object processing in wide-angle video camera
JP2006059202A (ja) * 2004-08-20 2006-03-02 Iwate Univ 撮像装置及び画像補正方法
KR100882011B1 (ko) * 2007-07-29 2009-02-04 주식회사 나노포토닉스 회전 대칭형의 광각 렌즈를 이용하여 전방위 영상을 얻는 방법 및 장치
JP5779968B2 (ja) 2010-05-19 2015-09-16 リコーイメージング株式会社 天体自動追尾撮影方法及びカメラ
JP5859958B2 (ja) * 2010-11-11 2016-02-16 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 画像処理装置、画像処理方法、およびプログラム
JP5442164B2 (ja) * 2011-03-08 2014-03-12 三菱電機株式会社 移動体周辺映像補正装置
JP2013214947A (ja) * 2012-03-09 2013-10-17 Ricoh Co Ltd 撮像装置、撮像システム、画像処理方法、情報処理装置、及びプログラム
JP2014016451A (ja) 2012-07-09 2014-01-30 Ricoh Co Ltd 撮像装置、手振れ補正量算出方法、手振れ補正量算出プログラム
US10063774B2 (en) * 2013-08-28 2018-08-28 Ricoh Company, Ltd. Image processing apparatus, image processing method, and imaging system
JP6434209B2 (ja) * 2013-12-20 2018-12-05 株式会社リコー 画像生成装置、画像生成方法、およびプログラム
JP2016021600A (ja) 2014-07-11 2016-02-04 株式会社リコー 画像符号化装置、画像処理装置、画像送受信システム、画像符号化方法及び制御プログラム
JP2016105534A (ja) * 2014-12-01 2016-06-09 株式会社ザクティ 撮像装置、及び撮像装置システム
JP5920507B1 (ja) 2015-03-10 2016-05-18 株式会社リコー 画像処理システム、画像処理方法およびプログラム
JP2017011657A (ja) 2015-06-26 2017-01-12 キヤノン株式会社 撮像装置
JP2017208619A (ja) * 2016-05-16 2017-11-24 株式会社リコー 画像処理装置、画像処理方法、プログラム及び撮像システム

Also Published As

Publication number Publication date
US10645284B2 (en) 2020-05-05
JP2018201123A (ja) 2018-12-20
US20180343388A1 (en) 2018-11-29

Similar Documents

Publication Publication Date Title
JP6919334B2 (ja) 画像処理装置、画像処理方法、プログラム
JP6927382B2 (ja) 撮像システム、方法、プログラム、動画表示装置および画像処理装置。
JP5920507B1 (ja) 画像処理システム、画像処理方法およびプログラム
JP5846549B1 (ja) 画像処理システム、画像処理方法、プログラム、撮像システム、画像生成装置、画像生成方法およびプログラム
CN107113376B (zh) 一种图像处理方法、装置及摄像机
JP6398472B2 (ja) 画像表示システム、画像表示装置、画像表示方法、およびプログラム
JP7192592B2 (ja) 撮像装置、画像通信システム、画像処理方法、プログラム
JP2017208619A (ja) 画像処理装置、画像処理方法、プログラム及び撮像システム
JP2013214947A (ja) 撮像装置、撮像システム、画像処理方法、情報処理装置、及びプログラム
JP2017017689A (ja) 全天球動画の撮影システム、及びプログラム
US20210233209A1 (en) Image processing device, image processing system, imaging device, image processing method, and recording medium storing program code
JP2022130180A (ja) 画像処理方法、プログラム、画像処理装置および画像処理システム
US11196929B2 (en) Signal processing device, imaging device, and signal processing method
JP2019110434A (ja) 画像処理装置、画像処理システムおよびプログラム
JP6824143B2 (ja) 撮像装置、撮像システム、画像処理方法、情報処理装置、及びプログラム
US20240135499A1 (en) Image processing apparatus, imaging apparatus, image processing method
JP6256513B2 (ja) 撮像システム、撮像装置、方法およびプログラム
JP2019080174A (ja) 画像処理装置、撮像システム、通信システム、画像処理方法、およびプログラム
JP2017227957A (ja) 情報処理装置、および、情報処理システム
JP2019185757A (ja) 画像処理装置、撮影システム、画像処理方法、及びプログラム
JP6610741B2 (ja) 画像表示システム、画像表示装置、画像表示方法、およびプログラム
JP7439398B2 (ja) 情報処理装置、プログラム及び情報処理システム
JP6879350B2 (ja) 画像表示システム、画像表示装置、画像表示方法、およびプログラム
JP7484242B2 (ja) 画像処理装置、画像処理方法、撮像装置、画像処理システムおよびプログラム
JP7358938B2 (ja) 通信端末、画像通信システム、表示方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200907

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201204

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210622

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210705

R151 Written notification of patent or utility model registration

Ref document number: 6919334

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151