説明

画像処理装置および方法

【課題】 画像表示面の姿勢に基づく表示を行うための画像を撮像画像から作成する。
【解決手段】 撮像部と被写体との相対姿勢が異なる状態にて該撮像部を用いて該被写体を撮像することにより得られた複数の撮像画像データを取得する取得手段と、前記撮像画像の撮像時における前記撮像部と被写体との相対姿勢に応じた姿勢を有する表示画面に表示すべき画像データを、前記撮像画像データから作成する作成手段と、前記複数の撮像画像データから作成された複数の補正画像データを前記表示画面の姿勢情報に対応づけて格納する格納手段と、前記表示画面の姿勢情報を取得する姿勢情報取得手段と、前記表示画面の姿勢情報に応じて、前記格納された複数の補正画像から補正画像を選択する選択手段とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像表示面の姿勢に応じた画像を表示できるようにするためのものに関する。
【背景技術】
【0002】
従来、ディスプレイなどの画像表示面と視聴者との相対的な位置関係に応じて画像を切り換えて表示することで、画像中のシーンを立体的に提示する方法があった。この方法では、視聴者の視点位置に対する画像表示面の姿勢を基に表示画像を適切に生成・表示する必要がある。例えば、視点に対して画像表示面が正対する場合は正面から眺めた様子を表示し、画像表示面を傾けた場合はその傾きに応じた角度から眺めた様子を表示する必要がある。このための従来技術として、視点位置と画像表示面の位置関係に応じて設定したレンダリング領域に基づきレンダリング処理を行う方法が知られている(例えば特許文献1)。この技術は、仮想3次元空間において視聴者の視点位置から画像表示面の頂点への4つのベクトルを求め、これらのベクトルに囲まれる範囲をレンダリング領域として設定することにより、視聴者の位置に応じた画像生成処理を実行するものであった。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2001−216532号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1はコンピュータグラフィックスを対象とした技術であり、仮想的な3次元モデルが存在する場合にのみ適用可能である。そのため3次元モデルを持たない実写画像などに対しては適用できないという課題があった。
【0005】
本発明は、画像表示面の姿勢に基づく表示を行うための画像を撮像画像から作成できるようにすることを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するために、本発明は、撮像部と被写体との相対姿勢が異なる状態にて該撮像部を用いて該被写体を撮像することにより得られた複数の撮像画像データを取得する取得手段と、前記撮像画像の撮像時における前記撮像部と被写体との相対姿勢に応じた姿勢を有する表示画面に表示すべき画像データを、前記撮像画像データから作成する作成手段と、前記複数の撮像画像データから作成された複数の補正画像データを前記表示画面の姿勢情報に対応づけて格納する格納手段と、前記表示画面の姿勢情報を取得する姿勢情報取得手段と、前記表示画面の姿勢情報に応じて、前記格納された複数の補正画像から補正画像を選択する選択手段とを有することを特徴とする。
【発明の効果】
【0007】
本発明によれば、画像表示面の姿勢に基づく表示を行うための画像を撮像画像から作成することができる。さらに、本発明によれば、表示画面の姿勢を変えるという直観的な操作により被写体をさまざまな姿勢から観察することができる。
【図面の簡単な説明】
【0008】
【図1】画像処理装置のシステム構成を示すブロック図である。
【図2】概要機能構成を示す図である。
【図3】画像処理の流れを示すフローチャートである。
【図4】撮像画像を取得する処理の流れを示すフローチャートである。
【図5】被写体角度および表示面角度を説明する図である。
【図6】補正画像生成処理を説明する概念図である。
【図7】撮像画像および補正画像を説明する図である。
【図8】変形例における撮像する被写体角度を説明する図である。
【発明を実施するための形態】
【0009】
(実施例1)
本実施例では、まず被写体を異なる複数の角度から撮像し、得られた撮像画像に対してそれぞれ撮像時の角度に応じた補正処理を施して、複数の補正画像を生成する。そして、複数の補正画像の中から画像表示面の傾きに応じた補正画像を選択し、これを画像表示面に表示する。これにより、画像表示面を傾けて見た際に、その傾きに応じた角度から被写体を眺めた様子を良好に提示することを可能とする。なお、画像表示面とは出力デバイス113を用いて実際に画像が表示される面であり、例えばモニタの画面やプロジェクタで画像を投影するスクリーンである。
【0010】
まず、本実施例における画像処理装置のシステム構成例について、図1を用いて説明する。同図において、CPU101は、RAM102をワークメモリとして、ROM103及びハードディスクドライブ(HDD)105に格納されたプログラムを実行し、システムバス116を介して後述する各構成を制御する。これにより、後述する様々な処理が実行される。HDDインタフェイス(I/F)104は、HDD105や光ディスクドライブなどの二次記憶装置を接続する、例えばシリアルATA(SATA)等のインタフェイスである。CPU101は、HDDI/F104を介して、HDD105からのデータ読み出し、およびHDD105へのデータ書き込みが可能である。さらにCPU101は、HDD105に格納されたデータをRAM102に展開し、同様に、RAM102に展開されたデータをHDD105に保存することが可能である。そしてCPU101は、RAM102に展開したデータをプログラムとみなし、実行することができる。撮像インタフェイス(I/F)106は、デジタルカメラなどの撮像装置107を接続する、例えばUSBやIEEE1394などのシリアルバスインタフェイスである。CPU101は、撮像I/F106を介して撮像装置107を制御し、撮像装置に撮像させることが可能である。さらにCPU101は、撮像I/F106を介して撮像装置107から撮像したデータを読み込むことが可能である。姿勢制御インタフェイス(I/F)108は、ロボットアームやターンテーブルなどの姿勢制御装置109を接続する、例えばUSB、イーサネット(登録商標)、RS232Cなどのインタフェイスである。姿勢制御装置109には撮像装置107や照明装置、撮像対象である被写体が固定されており、CPU101は姿勢制御I/F108を介して姿勢制御装置109を制御することで、撮像装置107、照明装置、被写体の位置及び姿勢を変更可能である。入力インタフェイス(I/F)110は、キーボードやマウスなどの入力デバイス111を接続する、例えばUSBやIEEE1394等のシリアルバスインタフェイスである。CPU101は、入力I/F110を介して入力デバイス111からデータを読み込むことが可能である。出力インタフェイス(I/F)112は、モニタやプロジェクタなどの出力デバイス113を接続する、例えばDVIやHDMI等の映像出力インタフェースである。CPU101は、出力I/F112を介して出力デバイス113にデータを送り、表示を実行させることができる。姿勢検出装置115は出力デバイス113の画像表示面に取り付けられており、CPU101は姿勢検出I/F114を介して姿勢検出装置115から画像表示面の姿勢情報を読み込むことが可能である。
【0011】
次に、本実施例に係る一連の処理を行う際の概要機能構成について、図2を用いて説明する。
【0012】
図2における部201〜205の機能は、あらかじめ格納されているプログラムをCPUが実行することにより実現される。図2に示す処理は、被写体を撮像することにより得られる複数の撮像画像から複数の補正画像を生成する前処理(201から203による処理)と、表示パラメータに応じて表示画像を選択する表示処理(204および205による処理)とに分けられる。表示パラメータに応じてリアルタイムに表示画像を変更するためには、前処理をあらかじめ行い、複数の補正画像を格納しておく必要がある。撮像パラメータ入力部201は、被写体を撮像する際に用いる撮像パラメータ206を、入力デバイス111あるいはROM103、HDD105などの記憶装置から取得する。
【0013】
撮像制御部202は、撮像パラメータ206における被写体の姿勢情報に応じて撮像装置107および姿勢制御装置109を制御し、撮像パラメータ206における撮像条件に応じて撮像装置に被写体を撮像させ、複数の撮像画像207を取得する。
【0014】
さらに、画像処理部203は、撮像パラメータ206に基づき複数の撮像画像データ207のそれぞれを補正し、複数の補正画像データ208を生成し、撮像パラメータ206に対応させてHDD105に格納する。
【0015】
そして、表示パラメータ入力部204は、出力デバイス113の画像表示面の姿勢情報を含む表示パラメータ209を姿勢検出装置115から取得する。出力部205は、表示パラメータ209に基づき、HDD105に格納された複数の補正画像データ208から出力画像データ210を選択し、出力デバイス113に出力する。
【0016】
図3は、本実施例の画像処理装置における一連の処理の動作手順を示すフローチャートである。詳細には、図3のフローチャートに示す手順を記述したコンピュータ実行可能なプログラムを、ROM103あるいはHDD105からRAM102上に読み込んだ後に、CPU101によって該プログラムを実行することによって当該処理が実施される。
【0017】
図3(a)は図2における前処理の動作手順を示し、図3(b)は図2における表示処理の動作手順を示す。
【0018】
まず、ステップS301において、撮像パラメータ入力部201は複数の撮像パラメータ206を入力デバイス111から取得する。各撮像パラメータには、露光時間、レンズF値、センサ感度、画角、撮像素子の画素数などの撮像条件に加え、被写体の姿勢情報が含まれる。図5に示すように、被写体の姿勢情報とは、撮像部と被写体との相対姿勢を示す情報であり、撮像装置107の光軸と被写体120の基準方向(たとえば正面方向)とがなす角度である被写体角度θにより定義される。そして、本実施例では、被写体の姿勢情報は、撮像パラメータごとに異なる値(例えば、θ=−70°からθ=+70°までの間の1°刻みの値)が設定される。本実施例では、被写体120の前面の中心位置を基準位置とし、この基準位置を原点として撮像装置107の光軸と被写体120の基準方向(たとえば正面方向)とがなす角度を被写体角度としている。基準位置および基準方向は任意に設定可能である。また、被写体の姿勢情報は、撮像部と被写体との相対姿勢を示す情報であれば、他の定義に応じた情報でもかまわない。撮像パラメータ206は予めROM102やHDD105などの記憶装置に保持しておき、これを撮像パラメータ入力部201が取得するようにしてもよい。取得した撮像パラメータ206はRAM102などに記憶される。
【0019】
次にステップS302において、ステップS301で取得された撮像パラメータ206に応じて姿勢制御装置109および撮像装置107を制御して、撮像装置107に被写体120の撮像を行わせ、複数の撮像画像データ207を取得する。
【0020】
図4に示すフローチャートを用い、ステップ302で行われる処理の詳細を説明する。まずステップS401では、撮像パラメータに含まれる被写体角度θに応じて、姿勢制御装置109を制御し、被写体の姿勢を制御する。具体的には、撮像装置107の光軸に対して被写体120の正面方向がθだけ傾くように、姿勢制御装置109を用いて被写体を回転させる。
【0021】
次にステップS402では、撮像パラメータに含まれる露光時間、レンズF値、センサ感度などの撮像条件に応じて、撮像装置107に、ステップS401で姿勢を制御された被写体120を撮像させる。ステップS402において得られた撮像画像データ207は、ステップS403において撮像パラメータと対応付けてROM102やHDD105などの記憶装置に記憶される。以上、ステップS401からステップS403までの処理を撮像パラメータごとに行い、全ての撮像パラメータ206に対して撮像画像データ207を記憶すると、撮像処理を終了する。
【0022】
次にステップS303において、画像処理部203はステップS301で記憶された撮像パラメータ206の被写体角度θに基づきステップS302で記憶された撮像画像データ207を補正し、補正画像データ208を生成する。
【0023】
補正画像生成処理の詳細について、図6(a),(b)に示す概念図を用いて説明する。これらの概念図は、撮像画像データImgの大きさが幅W×高さH、補正画像データImg’の大きさが幅W’×高さH’である場合の例である。なお、図6は画像の上方からの図面である。補正画像データImg’の幅W’×高さH’の値は固定値としてもよいし、任意の値を設定できるようにしても良い。
【0024】
図6(a)の概念図はステップS302における撮像時の被写体120および撮像装置107の位置関係像画像データImgと補正画像データImg’との幾何関係を表している。被写体120上の点Pは、撮像画像データImg上の点Qを経て補正画像データImg’上の点Q’へ投影される。図6(a)に示すように、被写体角度がθになるように撮像装置107と被写体120が配置されている場合、被写体120上の点Pは、撮像画像データImg上の点Qに対応する。そして、図6(b)に示すように、視点Cと被写体120および視点Cと表示デバイス113の画像表示面のそれぞれが表示面角度θの位置関係にある場合は、撮像画像データImg上の点Qは、補正画像データImg’の点Q’に対応する。図6(b)における視点位置Cは図6(a)の撮像位置Cと同一である。ここで、補正画像データは出力デバイスにより表示させるので、画像表示面と補正画像は同一の位置・姿勢であると仮定できる。表示面角度がθである画像表示面に対応する補正画像データImg’は、被写体角度θに対応する撮影画像データImgから生成することができる。ここで、表示面角度とは視聴者の視線方向と画像表示面の正面方向とがなす角度を示す。
【0025】
まず補正画像データImg’の各画素について、下記の式(1)を用いて補正画像データImg’上での座標(u’,v’)に対応する撮像画像データImgの座標(u,v)を求める。
【0026】
【数1】

【0027】
ここで、Lは撮像装置107の画角σと撮像画像データImgの大きさW,Hから定まる定数であり、L’は画角σおよび被写体角度θと補正画像データImg’の大きさW’,H’から定まる定数である。これらの定数LおよびL’は、それぞれ図6(b)に示す点Cから撮像画像データImgまたは補正画像データImg’までの距離に相当する。また、撮像画像データImg上の点O(W/2,H/2),A(0,H/2),B(W/2,0)をそれぞれ補正画像データImg’上へ投影した点をO’,A’,B’としたとき、式(1)におけるu’,v’は、点A’から点O’までの距離、および、点B’から点O’までの距離である。式(1)におけるu’0, v’0は、点O’から補正画像Img’の原点までのオフセットに相当する。図7に撮像画像データImgおよび補正画像データImg’の例を示す。
【0028】
次に、得られた座標(u,v)における撮像画像データImg上の画素値を、補正画像データImg’上の座標(u’,v’)における画素値として記憶する。なお、式(1)により求めた座標(u,v)が非負の整数値とならない場合は、撮像画像データImg上における座標(u,v)の画素の周辺画素から補間演算により座標(u,v)の画素値を求め、これを補正画像データImg’上の座標’(u’,v’)における画素値として記憶すればよい。
【0029】
複数の撮像画像データ207の各々について、この画像処理を行うことにより、複数の補正画像データ208を得る。ステップS304において得られた補正画像データ208は、撮像パラメータ206すなわち被写体角度θと対応付けてRAM102やHDD105などの記憶装置に格納する。
【0030】
以上の処理により、本実施例の前処理が終了する。
【0031】
次に、図3(b)に示す表示処理を説明する。
【0032】
ステップS305において、表示パラメータ入力部204は姿勢検出装置115より出力デバイス113の画像表示面の姿勢情報を含む表示パラメータ209を取得する。ここで表示画面の姿勢情報とは、視聴者の視線方向と画像表示面の基準方向(たとえば正面方向)とがなす表示面角度φである。表示面角度φの例を図5に示す。本実施例では、視聴者の視線方向が画像表示面の基準方向(たとえば正面方向)とが一致しているという仮定し、視聴者の視線方向情報を使用せず、姿勢検出装置115により検出された出力デバイス113の画像表示面の姿勢情報から表示面角度をみちびきだす。取得した表示パラメータ209はRAM102などに記憶される。
【0033】
ステップS306において、出力部205はステップS304で記憶した表示パラメータ209に含まれる表示面角度φを基に、ステップS303で生成した複数の補正画像データ208の中から出力画像データ210を選択し、出力デバイス113に表示する。具体的には、補正画像データ208のそれぞれに対応付けられた撮像パラメータに含まれる被写体角度θを参照し、被写体角度θと表示面角度φとの差分絶対値が最も小さな補正画像データを出力画像210として選択する。そして、この出力画像データ210を出力デバイス113へ出力し、表示する。
【0034】
以上説明した処理制御を行うことで、画像表示面を傾けて見た際に、その傾きに応じた角度から被写体を眺めた様子を良好に提示することが可能となる。
【0035】
なお、ステップS305の表示パラメータ取得処理を定期的に行い、表示面角度φの値が変化する度にステップS306の出力画像データ210の選択を行うことにより、出力デバイス113の傾きの変化に応じて表示画像を逐次切り替えることが可能となる。
【0036】
なお、本実施例では複数の角度から被写体を撮影するために、撮像装置107を固定し姿勢制御装置109を用いて被写体を回転させたが、撮影方法はこれに限らない。例えば、被写体を固定し、相対的な位置関係が本実施例と同じになるようにロボットアームなどの姿勢制御装置109を用いて撮像装置107および照明の位置を変更してもかまわない。
【0037】
以上説明したように、本実施例によれば、視聴者が出力デバイスを113の姿勢を変化させることにより、視聴者は被写体の姿勢を変化させたような画像を観察することができる。図6(b)に示されるように、表示面角度がθになるように出力デバイスの姿勢を変化させることにより、あたかも被写体角度がθになるように被写体の姿勢を変化させた際の画像を確認することができる。視聴者は複雑な操作をすることなく直観的な操作により被写体をさまざまな姿勢から観察することができる。
【0038】
(変形例)
上記実施例では、一定角度刻みで被写体角度θを変化させ、被写体を撮像していた。しかしながらこの方法で撮影した撮像画像を用いて補正画像を生成した場合、被写体角度θが大きくなるにつれ隣接する補正画像間の差分が大きくなる。このため、表示面角度φの値が連続して変化し、これに応じて表示画像を切り換える場合に、出力デバイス113の傾きが大きくなるほど表示画像の切り換わりが滑らかではなくなる。
【0039】
変形例では上記の点を鑑み、滑らかに表示画像を切り換え可能な方法について説明する。具体的には、図8に示されるように、撮影時に被写体角度θが大きくなるほど角度の刻み幅が小さくなるように被写体角度を変化させる。これにより、被写体角度θが大きい場合であっても隣接する補正画像間の差分を小さくすることができる。本実施例で説明する処理は、表示画像を滑らかに切り換え可能にする効果を奏する
以下、実施例1と同じく図3に示すフローチャートを用い、各処理の詳細について説明する。まず、ステップS301において、撮像パラメータ入力部201は複数の撮像パラメータ206を入力デバイス111から取得する。各撮像パラメータには、露光時間、レンズF値、センサ感度、画角、撮像素子の画素数などの撮像条件に加え、被写体の姿勢情報が含まれる。ここで被写体の姿勢情報とは、撮像装置107の光軸と被写体の正面方向とがなす被写体角度θであり、撮像パラメータごとに異なる値が設定される。このとき、被写体角度θが大きくなるほど角度の刻み幅は小さく設定される。たとえば、|θ|≦40°の範囲では1°刻み、40°<|θ|≦60°の範囲では0.5°刻み、60°<|θ|≦70°の範囲では0.25°刻みで被写体角度θが設定される。被写体角度θの例を図5に示す。なお、撮像パラメータ206は予めROM102やHDD105などの記憶装置に保持しておき、これを撮像パラメータ入力部201が取得するようにしてもよい。取得した撮像パラメータ206はRAM102などに記憶される。以上のようにすることで、被写体角度θが大きいほど小さな刻み角度で撮影が可能となる。続くステップS302からステップS306までの処理は実施例1と同一であるため説明を省略する。
【0040】
以上により、ステップS303で生成する補正画像データ208の差分が小さくなるため、滑らかに出力画像210を切り換えることが可能となる。
【0041】
また、上記実施例および変形例では、被写体角度θごとに撮影された撮像画像データのそれぞれから、表示面角度に応じた補正画像データを作成していた。しかしながら、異なる被写体角度θにより撮影された撮像画像データから、他の被写体角度θから撮影した撮像画像データを推測し、補正画像データを作成するようにしてもかまわない。
【0042】
また、上記実施例および変形例では、撮像装置107と被写体120の相対姿勢を示すために被写体角度を用いたが、相対姿勢を示すことができれば他の情報を使用してもかまわない。たとえば、撮像装置と被写体の両方を姿勢を管理することができる座標系を設定しこの座標系における姿勢を示す情報を使用することができる。同様に、上記実施例および変形例では、画像表示面の姿勢情報として表示面角度θを使用したが、画像表示面の姿勢情報を示すことができれば他の情報を使用してもかまわない。たとえば、正面方向ではなく他の方向を基準とした表示面の角度情報でもかまわない。

【特許請求の範囲】
【請求項1】
撮像部と被写体との相対姿勢が異なる状態にて該撮像部を用いて該被写体を撮像することにより得られた複数の撮像画像データを取得する取得手段と、
前記撮像画像の撮像時における前記撮像部と被写体との相対姿勢に応じた姿勢を有する表示画面に表示すべき画像データを、前記撮像画像データから作成する作成手段と、
前記複数の撮像画像データから作成された複数の補正画像データを前記表示画面の姿勢情報に対応づけて格納する格納手段と、
前記表示画面の姿勢情報を取得する姿勢情報取得手段と、
前記表示画面の姿勢情報に応じて、前記格納された複数の補正画像から補正画像を選択する選択手段とを有することを特徴とする画像処理装置。
【請求項2】
撮像部と被写体との相対姿勢は、撮像部の光軸と被写体の基準方向とがなす角度で定義されることを特徴とする請求項1記載の画像処理装置。
【請求項3】
前記取得手段が取得する複数の撮影画像データにおいて、前記角度が大きい撮影画像データの数が前記角度が小さい撮影画像データの数に比べて多いことを特徴とする請求項2記載の画像処理装置。
【請求項4】
コンピュータを請求項1乃至3のいずれか1項に記載の画像処理装置として機能させるためのプログラム。
【請求項5】
撮像部と被写体との相対姿勢が異なる状態にて該撮像部を用いて該被写体を撮像することにより得られた複数の撮像画像データを取得し、
前記撮像画像の撮像時における前記撮像部と被写体との相対姿勢に応じた姿勢を有する表示画面に表示すべき画像データを、前記撮像画像データから作成し、
前記複数の撮像画像データから作成された複数の補正画像データを前記表示画面の姿勢情報に対応づけて格納し、
前記表示画面の姿勢情報を取得し、
前記表画面の姿勢情報に応じて、前記格納された複数の補正画像から補正画像を選択することを特徴とする画像処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2012−43345(P2012−43345A)
【公開日】平成24年3月1日(2012.3.1)
【国際特許分類】
【出願番号】特願2010−186069(P2010−186069)
【出願日】平成22年8月23日(2010.8.23)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】