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

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

Info

Publication number
JP2019146157A
JP2019146157A JP2018237897A JP2018237897A JP2019146157A JP 2019146157 A JP2019146157 A JP 2019146157A JP 2018237897 A JP2018237897 A JP 2018237897A JP 2018237897 A JP2018237897 A JP 2018237897A JP 2019146157 A JP2019146157 A JP 2019146157A
Authority
JP
Japan
Prior art keywords
display
projection plane
image
plane
image processing
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
Application number
JP2018237897A
Other languages
English (en)
Inventor
正俊 石井
Masatoshi Ishii
正俊 石井
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to US16/277,910 priority Critical patent/US10935878B2/en
Publication of JP2019146157A publication Critical patent/JP2019146157A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Transforming Electric Information Into Light Information (AREA)

Abstract

【課題】 入力画像から表示システムに表示するための表示画像を生成する際に、違和感の少ない表示画像を生成する。【解決手段】 表示部を有する表示システムに表示するための表示画像を生成する画像処理装置であって、入力画像を撮像装置が撮像した際の、前記撮像装置の撮像方向に関する情報を取得する取得手段と、仮想空間における前記入力画像と前記投影面との、前記撮像方向に関する情報に応じた関係を用いて、前記表示部に表示するための表示画像を生成する生成手段を有することを特徴とする。【選択図】 図2

Description

本発明は、画像を表示する表示システムのための表示画像を生成する技術に関する。
従来、画像を表示する表示システムの一つとして、鑑賞者の視野を覆うように配置された表示画面に画像を表示することで、鑑賞者に高い臨場感を与えるシステムが知られている。撮像装置で撮像することにより得られる画像は、平面に投影された撮像画像であり、広視野な表示システムに表示するために、撮像画像に対して表示システムに応じた画像処理を施す必要がある。
特許文献1は、鑑賞者に凹面を向けた球面状の広視野角のスクリーンに画像を表示する方法について記載している。特許文献1に記載された方法によれば、平面状の画像を球面形状に貼り付けるマッピング処理を行うことで、スクリーンに表示する画像を生成している。
特開2007−318754号公報
撮像画像を撮像した際の撮像装置の姿勢方向は、表示システムにおいて表示された画像の鑑賞者の視線方向と一致していることが望ましい。しかしながら必ずしも、撮像時には表示システムにおける視線方向を考慮して撮像していない。そのため例えば、特許文献1に記載された方法においては、水平方向の姿勢により撮像された画像を、球面状にそのままマッピングすると、撮像画像において地面に相当する領域が球面上の上方に表示されてしまう。このように従来においては、撮像画像を取得した際の撮像装置の姿勢を考慮して、表示システムに表示するための表示画像を生成していなかったため、不自然な表示画像が生成されてしまう場合があった。
そこで本発明は、入力画像から表示システムに表示するための表示画像を生成する際に、違和感の少ない表示画像を生成することを目的とする。
上記課題を解決するため本願発明は、表示部を有する表示システムに表示するための表示画像を生成する画像処理装置であって、入力画像を撮像装置が撮像した際の、前記撮像装置の撮像方向に関する情報を取得する取得手段と、仮想空間における前記入力画像と前記投影面との、前記撮像方向に関する情報に応じた関係を用いて、前記表示部に表示するための表示画像を生成する生成手段を有することを特徴とする。
入力画像から表示システムに表示するための表示画像を生成する際に、違和感の少ない表示画像を生成することが可能となる。
画像処理装置のハードウェア構成を示す図 画像処理装置の機能構成を示すブロック図 画像処理装置において実行される処理の流れを示すフローチャート 表示システムの例を示す図 投影面設定処理の流れを示すフローチャート 表示画像生成処理の流れを示すフローチャート 視点位置と表示部と平面投影面と円筒投影面との位置関係を示す図 円筒投影面の回転を示す図 平面投影面と入力画像との対応関係を示す図 表示部と平面投影面と円筒投影面との関係を示す図 仮想カメラの配置を示す図 入力画像と表示画像を示す図 円筒投影面の向きを調整するためのGUIを示す図 円筒投影面の向きの調整処理の流れを示すフローチャート
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の実施形態は本発明を必ずしも限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
<第1実施形態>
本実施形態では、画像を表示可能な平面状のディスプレイを3つ、鑑賞者の視野を覆うように配置することで、広視野な画像を表示する表示システムのための画像処理装置を例に説明する。図4は、本実施形態が想定する表示システムの例を示す。本実施形態における表示システムにおいては、センターディスプレイ401、左ディスプレイ402、右ディスプレイ403の3つのディスプレイにより、画像を表示する表示部が構成される。センターディスプレイ401、左ディスプレイ402、右ディスプレイ403は、上方から見たときに等脚台形を描くように配置されている。各ディスプレイは例えば、液晶ディスプレイなどの自発光デバイスを用いる。センターディスプレイ401は、鑑賞者の正面に配置されている。左ディスプレイ402は、センターディスプレイ401の鑑賞者から見て左側の端と接し、かつセンターディスプレイ401とのなす角が角度θscを有するように配置されている。同様に右ディスプレイ403は、センターディスプレイ401の鑑賞者から見て右側の端と接し、かつセンターディスプレイ401とのなす角が角度θscを有するように配置されている。従って3つのディスプレイは、各ディスプレイ面からの法線が交点をもつように、配置される。そして各ディスプレイ面の交点側に、それぞれに対応する表示画像を表示する。このように3つの平面状の表示画面(ディスプレイ)を配置することで、表示部が鑑賞者の視野を覆う。この表示システムに画像を表示すると、鑑賞者に対して、表示されている画像を撮像した場にいるかのような臨場感を与えることができる。本実施形態では、図4に示す表示システムに表示する表示画像を生成する画像処理装置について、説明する。
なお、本実施形態において、鑑賞者が表示システムにおける表示部(3つのディスプレイ)に表示された画像を見込む角度を、表示角と呼ぶ。また、各ディスプレイに表示する表示画像は、いずれも共通の入力画像から生成される。つまり本実施形態では、1台の撮像装置(例えば、デジタルカメラ)を用いて撮影した入力画像に基づいて、3つの表示画像が生成されることになる。
図1は、本実施形態における画像処理装置のハードウェア構成を示す。CPU101は、RAM102をワークメモリとして、ROM103及びハードディスクドライブ(HDD)105に格納されたプログラムを実行し、システムバス100を介して後述する各構成を制御する。これにより、後述する様々な処理が実行される。HDDI/F104は、例えばシリアルATA(SATA)等のインタフェイスであり、HDD105や光ディスクドライブなどの二次記憶装置を接続する。CPU101は、HDDI/F104を介して、HDD105からのデータ読み出し、およびHDD105へのデータ書き込みが可能である。さらにCPU101は、HDD105に格納されたデータをRAM102に展開し、同様に、RAM102に展開されたデータをHDD105に保存することが可能である。そしてCPU101は、RAM102に展開したデータをプログラムとみなし、実行することができる。入力I/F106は、例えばUSBやIEEE1394等のシリアルバスインタフェイスであり、キーボードやマウスなどの入力デバイス107を接続する。CPU101は、入力I/F106を介して入力デバイス107からデータを読み込むことが可能である。出力I/F108は、例えばDVIやHDMI(登録商標)等の映像出力インタフェイスであり、液晶ディスプレイやプロジェクタなどの出力デバイス109を接続する。CPU101は、出力I/F108を介して出力デバイス109にデータを送り、表示を実行させることができる。本実施形態において出力デバイス109は、図4に示す表示部を有する表示システムである。
図2は、本実施形態における画像処理装置の機能構成を示すブロック図である。図2(a)において画像処理装置は、投影面設定部201、画像取得部202、表示装置情報取得部203、視点位置情報取得部204、撮像パラメータ取得部205、表示画像生成部206、画像出力部207を有する。
投影面設定部201は、入力画像から表示システムにおける各ディスプレイに表示する表示画像を生成するための2つの投影面を設定する。本実施形態では、入力画像に対応した平面状の仮想的な投影面(以降、平面投影面と呼ぶ)と、円筒形の仮想的な投影面(以降、円筒投影面と呼ぶ)を用いて、入力画像から3つの表示画像を生成する。そこで投影面設定部201は、平面投影面と円筒投影面を設定する。平面投影面は、入力画像のアスペクト比と撮像によって得られた入力画像を撮像した際の撮像画角に応じて設定される。円筒投影面は自由曲面により構成された形状の投影面であり、ここでは円筒の側面の一部を切り出した形状である。円筒投影面は、平面が水平方向に湾曲した面ともいえる。円筒投影面は、上方から見た形状が、表示システムにおける3つのディスプレイが描くような角のある形状(等脚台形の一部)とは異なり、滑らかな線分によって描かれた弧である。投影面設定部201は、表示システムにおける各ディスプレイのサイズや位置関係に応じて円筒投影面を生成する。本実施形態において投影面設定部201はさらに、入力画像を撮像した際の撮像装置の姿勢と視点位置に応じて、生成した円筒投影面を仮想空間に配置する。
画像取得部202は、撮像することで得られた画像を取得し、入力画像として表示画像生成部206に出力する。
表示システム情報取得部203は、表示システムにおける表示部(ここではディスプレイ)に関する情報を取得する。本実施形態では、ディスプレイの数、各ディスプレイ面の形状、大きさ、複数のディスプレイの位置関係を示す情報を取得するものとする。
視点情報取得部204は、鑑賞者の視点位置を示す視点情報を取得する。視点情報とは、表示システムにおける画像表示部を鑑賞する際の、鑑賞者の視点の3次元的な位置を示す情報である。本実施形態においては、鑑賞者が鑑賞する前に、事前に表示システムに表示する表示画像を生成するものとする。ただし図4に示す表示システムにおいては、表示角が変わると、各ディスプレイに表示する表示画像も変わる。表示角は、鑑賞者がどの程度ディスプレイから離れた位置からディスプレイを鑑賞するかに応じて異なる。そこで本実施形態では、事前に表示画像を生成するために、どの位置から鑑賞者が鑑賞するかを想定しておく必要がある。本実施形態では、鑑賞者がディスプレイを鑑賞するのに望ましい視点位置を視点情報として取得することで、視点位置を特定しておくものとする。
撮像パラメータ取得部205は、撮像により入力画像を取得した際に設定されていた、撮像装置の撮像パラメータを取得する。撮像パラメータ取得部205は、入力画像に付帯されたメタデータに基づいて、撮像パラメータを取得することができる。あるいは、入力デバイス107からユーザが入力した情報に基づいて、撮像パラメータを取得する形態としてもよい。
表示画像生成部206は、視点位置と各ディスプレイとの位置関係に基づいて、1つの入力画像から、各ディスプレイに表示する表示画像を生成する。表示画像生成部206の詳細については、後述する。画像出力部207は、生成された3つの表示画像を、各ディスプレイに出力する。
以下、本実施形態の画像処理装置が実行する処理の流れについて説明する。図3は、本実施形態における画像処理の流れを示すフローチャートである。CPU101は、ROM103又はHDD104に格納された図3に示すフローチャートを実現するプログラムを読み出して、RAM102をワークエリアとして実行する。これによりCU101は、図2に示す各機能構成としての役割を果たす。なお、以降のフローチャートにおいては各工程(ステップ)を「S」と表記することとする。
S301において画像取得部202は、HDD105に記憶された撮像画像を表す撮像画像データを入力画像として取得し、RAM102に格納する。
S302において撮像パラメータ取得部205は、撮像画像データに付帯されたメタデータから、撮像パラメータを取得する。本実施形態において撮像パラメータ取得部205は、撮像時の撮影画角やレンズの射影方法を特定する情報を撮像パラメータとして取得する。本実施形態では、一般的なレンズで使用される中心射影方式のレンズを介して入力画像が撮像されたものとする。また、入力画像を撮像した際の撮像装置の姿勢を示す姿勢情報も、撮像パラメータとして取得する。ここでは、姿勢情報は撮像装置に内蔵された姿勢センサを介して取得するものとする。姿勢情報は、撮像装置の撮像方向が地面となす角(仰角)を取得するために、用いられる。
S303において表示システム情報取得部203は、表示システムにおける画像表示部に関する表示システム情報を取得する。本実施形態において、表示システム情報取得部203は、画像を表示するディスプレイの数、各ディスプレイ面の形状、大きさ、各ディスプレイの配置を示す情報を取得する。本実施形態においては、図4に示すように、ディスプレイの数は3台である。各ディスプレイの形状は、平面で、幅Wsc、高さHscの矩形である。3つのディスプレイの配置は、センターディスプレイと右ディスプレイとの間の開き角、およびセンターディスプレイと左ディスプレイとの間の開き角がいずれも角度θscである。また、視点位置から3つのディスプレイにより構成される表示部を鑑賞した時の見込み角(表示角)は2φとする。これらの表示システム情報は、ユーザの指示に基づいて入力デバイス107からRAM102へ取得する。あるいは、これらの情報をあらかじめ表示システム情報のパッケージとしてHDD105に保持しておき、HDD105から必要に応じて選択するようにしても良い。
S304において視点情報取得部204は、ユーザの指示に基づいて入力デバイス107から視点情報を取得する。本実施形態では視点情報取得部204は、センターディスプレイ401の画面における中心位置からの距離Dviewを視点情報として取得する。
S305において投影面設定部201は、表示画像を生成する際に使用する平面投影面と円筒投影面を設定する。投影面の設定処理の詳細は後述する。
S306において表示画像生成部206は、各ディスプレイに表示する表示画像を示す表示画像データを生成する。表示画像生成処理の詳細は後述する。
S307において画像出力部207が生成された各ディスプレイに対応する表示画像をRAM102から出力I/F108を介して出力デバイス109に出力する。あるいは、生成された表示画像をHDD105に記憶するようにしてもよい。
<投影面設定処理>
次に、投影面設定処理について詳細に説明する。投影面設定処理では、表示画像生成処理において使用する2つの投影面を設定する。第1の投影面は、平面状の投影面であり、入力画像を仮想空間上に配置するための投影面である。第2の投影面は、円筒状の投影面であり、入力画像を、表示部の構成に投影するための投影面である。第2の投影面は、入力画像を表示部の構成(形状)に近似する役割を有する。本実施形態における表示部は、3つのディスプレイが上から見たときに角度を有するように配置されている。各ディスプレイに対して平面投影面から直接対応づけて各ディスプレイの表示画像を生成すると、視点位置から画像を鑑賞した時に、2つのディスプレイが隣接する境界付近において被写体が折れ曲がったように見えてしまう。これは視点に対する被写体との距離が、表示部との距離に変換されてしまうためである。そこで本実施形態では、平面投影面(第1の投影面)を円筒投影面(第2の投影面)に投影して画像に基づいて、各ディスプレイの表示画像が生成される。すなわち第2の投影面は、平面よりは3つのディスプレイによって描かれる形状に類似しており、かつ、上方から見たときに角のない形状の投影面であることが望ましい。円筒投影面上の点と視点位置との距離は、水平方向において滑らかに変化する。このような第2の投影面上に平面投影面を対応付けると、視点位置から円筒投影面に投影された画像を鑑賞しているように、表示画像が表示部に表示される。その結果、2つのディスプレイが隣接する境界付近においても被写体が折れ曲がってみえる現象を抑制することができる。さらに投影面設定処理においては、入力画像の撮像時の撮像装置の姿勢情報に基づいて、円筒投影面を仮想空間に配置する。
図5は、投影面設定部201が実行する投影面設定処理の詳細を示すフローチャートである。以下フローチャートの各ステップについて説明する。
S501において投影面設定部201は、第1の投影面として平面投影面を生成する。平面投影面は、撮像画像と同じアスペクト比である矩形の平面により構成される。また投影面設定部201は、視点位置から平面投影面を見た際の見込み角が、撮影画角と一致するように、平面投影面のサイズと位置を算出し、仮想空間上に配置する。
図7は、視点位置と表示部と仮想的な投影面との関係を示す図である。仮想空間において、視点位置を原点とするXYZ3次元座標を定義する。このような仮想空間において、平面投影面はXY平面に平行で、かつZ軸が平面投影面の中心を通るような位置に配置される。なお表示部を表す平面を仮想空間上に配置すると、原点(視点位置)とセンターディスプレイの中心位置との距離がDviewとなるように、表示部の各ディスプレイは配置されることになる。つまりセンターディスプレイの中心座標は(0,0,Dview)である。3つのディスプレイは、Z軸を中心に左右対称になるように配置されている。ここで、入力画像における水平方向の撮影画角の半画角をθとすると、図7に示す通り視点位置からの平面投影面に対する見込み角の半画角はθとなる。
S502において投影面設定部201は、視点位置から表示部を見た際の見込み角である表示角を取得する。図4に示すように、本実施形態では視点位置と左ディスプレイの左端の上下中央の点を結ぶ直線と、視点位置と右ディスプレイの右端の上下中央の点を結ぶ直線の間の角度を、水平方向の表示角とする。なお、表示角を2φとすると、角度φは表示角の1/2の角度である。
S503において投影面設定部201は、円筒投影面の弧の中心角を、S502において取得した表示角2φにより設定する。
S504において投影面設定部201は、第二の投影面として円筒形仮想投影面を生成する。円筒投影面は、円筒の側面をS503において設定された中心角で切り出した形状となる。投影面設定部201はまず、生成した円筒投影面を、円筒の中心と視点位置が一致するように仮想空間上に配置される。その際、円筒投影面の高さは、円周の長さと高さの比が平面投影面の幅と高さとの比と一致するように設定しておく。S504において円筒投影面は、高さ方向がY軸と平行になるように配置される。
S504において投影面設定部201は、撮影時の撮像装置(以降、カメラとも表記する)の姿勢に応じて、円筒投影面の仰角方向の向きを設定する。図8は、撮影時のカメラの光軸の向きと円筒投影面の向きの関係を示す図である。図8に示すように、例えば撮影時のカメラがZ軸に対して角度αだけ下方向を向いていた場合、視点位置を中心として円筒投影面をX軸回りに角度αだけ回転させる。これにより、撮影時のカメラの光軸と円筒投影面は直交関係となり、円筒投影面はXY平面に対して傾きを持つように配置される。図7は、カメラの光軸がZ軸と平行な方向を向いていた場合、つまりカメラが水平を保って撮影していた場合の例を示している。この場合は、円筒投影面の中心をZ軸が通るような位置関係となり、平面投影面と円筒投影面はいずれも、XY平面に平行となるように配置される。
<表示画像生成処理>
ここで表示画像生成処理について詳細に説明する。表示画像生成部206は、仮想空間において視点位置に配置された仮想カメラにより円筒投影面をレンダリングすることで、各ディスプレイに対応する表示画像を生成する。
図2(b)は、表示画像生成部206の詳細な構成を示すブロック図である。第1算出部2061は、入力画像と平面投影面との対応関係を算出する。第2算出部2063は、平面投影面と円筒投影面との対応関係を算出する。仮想カメラ設定部2062は、複数のディスプレイそれぞれに対応する仮想カメラを仮想空間上に設定する。本実施形態が想定する表示システムにおいては、ディスプレイは3台あるので、仮想カメラも3つ設定する。レンダリング処理部2064は、各仮想カメラについて、入力画像と平面投影面との対応関係、平面投影面と円筒投影面との対応関係を用いて、仮想カメラに結像する画像の各画素の画素値を算出することで、表示画像を生成する。
図6は、本実施形態における表示画像生成処理の詳細を示すフローチャートである。
S601において第1算出部2061は、仮想空間における平面投影面の各頂点の3次元座標と入力画像の画素位置を示す2次元座標の間の対応付けを行う。これは、一般的なCGレンダリングにおけるUVマッピングと同様の処理である。中心射影のレンズを介して撮像された入力画像を用いる場合、図8に示すように、平面投影面の四隅の座標それぞれを、入力画像の四隅の画素位置を示す座標と対応付ける。ここでは、入力画像において、左上の画素を原点(0,0)とするUV座標系により各画素の画素位置を示すものとする。第1算出部2061は、入力画像における各頂点のUV座標を取得し、平面投影面の各頂点の3次元座標と対応づける。四隅以外の各画素のUV座標については、線形補間により算出する。なお、魚眼レンズのようにレンズの射影方式が等距離射影や等立体角射影の場合は、中心射影で再投影を行ってから同様の処理を行えばよい。
S602において第2算出部2063は、仮想空間において円筒投影面と平面投影面との対応関係を算出する。図9は、図7を上方から見たXZ平面(Y=0)を示す図である。平面投影面の幅をWflat、高さをHflatとする。円筒投影面上の点SにおけるX座標をxs、Z座標をzとすると、点Sにおける角度φは式(1)〜(3)により表すことができる。なお角度φは、点Sが円筒投影面の左端上の点Sである時の角度が0度であるものとする。
Figure 2019146157
Figure 2019146157
φ=φ else if x=0 式(3)
点SがXZ平面における第3象限にある(x<0)場合、点Sと原点を結ぶ線分とX軸と原点を結ぶ線分とのなす角から、円筒投影面の左端上の点Sと原点を結ぶ線分とX軸と原点を結ぶ線分とのなす角を減算することで、角度φを算出できる。また、点SがXZ平面における第1象限にある(x>0)場合は、表示角2φから式(1)により算出される角度を減算することで、角度φを算出できる。点SがZ軸上(xs=0)にある場合は、角度φは表示角の半分φとなる。
次に、平面投影面上の点S’のX座標x’について考える。平面投影面上の点は、円筒投影面に対応づけられる。本実施形態において平面投影面上の各点は、円筒投影面において対応する点が均等になるように対応づける。この時、平面投影面上における点S’と点S’の長さに対する平面投影面の幅の比と、円筒投影面において点S’に対応する点Sから点Sまでの弧の長さに対する円筒投影面の弧の長さとの比は、式(4)の通りに一致する。
Figure 2019146157
従って点S’のX座標x’は、角度φによって式(5)の通りに表される。
Figure 2019146157
第2算出部2063は、式(5)における角度φにxの位置に応じて式(1)、式(2)、式(3)を代入することにより、平面投影面上の点x’を円筒投影面上の点xにより算出できる。このようにして第2算出部2063は、円筒投影面と平面投影面のX座標を対応付ける対応関係を算出する。
次に高さ方向であるY座標の対応付けについて説明する。円筒投影面の高さをHcurveとする。円筒投影面上の点SにおけるY座標をyとし、平面投影面上の点S’のY座標をy’とする。X座標の場合と同様、平面投影面における下辺から点S’までの高さに対する平面投影面の高さとの比と、円筒投影面における下辺から点Sまでの高さに対する円筒投影面の高さとの比は、式(6)の通り一致する。
Figure 2019146157
従って点S’のY座標yは、式(7)により表される。
Figure 2019146157
第2算出部2063は、式(7)により円筒投影面と平面投影面のY座標を対応づける対応関係を算出する。
最後にZ座標は、平面投影面が平面であるため、平面投影面上のどの点においてもZ座標は変わらない。よって、円筒投影面のZ座標は、投影面設定処理において設定された平面投影面のZ座標と一致する。
なお、ここでは、カメラの光軸がZ軸と一致している場合における円筒投影面と平面投影面の各点の3次元座標の対応付けに関して説明した。カメラの光軸の向きに応じて円筒投影面を角度αだけ仰角方向に回転させて設定した場合は、この回転分を考慮して座標の対応付けを行うようにする。具体的には、式(8)により座標(x,y,z)をこの回転角αに応じてX軸を中心に回転させた座標(xs2,ys2,zs2)を算出する。なお回転方向は、円筒投影面を設定した時とは逆方向となる。
Figure 2019146157
そして、式(6)、式(7)におけるyの代わりにys2を用いて円筒投影面と平面投影面の3次元座標の対応付けを行う。X座標に関しては、回転による影響はないため変更する必要はない。Z座標に関しては、平面投影面が平面であるため、平面投影面上のどの点においてもZ座標は変わらない。よって、回転の有無にかかわらず円筒投影面のZ座標は、常に投影面設定処理において設定された平面投影面のZ座標と一致する。
S603において仮想カメラ設定部2062は、表示画像のレンダリング処理に使用する仮想カメラの位置と向きを設定する。図10は、本実施形態における仮想カメラの位置と向きを説明するための図である。仮想カメラ設定部2062は、各ディスプレイに対応した計3台の仮想カメラを用意する。具体的にはセンターディスプレイに対しては仮想カメラA、左ディスプレイに対しては仮想カメラB、右ディスプレイに対しては仮想カメラCを仮想空間上に設定する。それぞれの仮想カメラの位置は、視点位置、つまり円筒投影面の中心とする。仮想カメラの向きは、それぞれの仮想カメラに対応するディスプレイの中心に対して仮想カメラの光軸が向くように設定される。
S604において仮想カメラ設定部2062は、仮想カメラの画角を設定する。仮想カメラ設定部2062は、各仮想カメラに対応するディスプレイを視点位置から見た際の見込み角を各仮想カメラの画角として設定する。
S605においてレンダリング処理部2064は、3台の仮想カメラそれぞれについてレンダリング処理を実行し、表示画像を表す表示画像データを生成する。具体的にはまず、仮想カメラが仮想空間上で撮像した時に得られる画像の各画素に投影される円筒投影面上の3次元座標を算出する。次にS602において算出した平面投影面と円筒投影面との対応関係に基づいて、円筒投影面上の3次元座標を平面投影面上の3次元座標に変換する。さらにS601において算出した平面投影面と入力画像との対応関係に基づいて、平面投影上の3次元座標を入力画像上の位置に変換する。これにより、仮想カメラにより得られる画像の画素が、入力画像上の位置に対応づく。
レンダリング処理部2064は、算出した入力画像上の位置に基づいてサンプリングすることで、仮想カメラにより得られる画像における画素の画素値を算出する。具体的には、レンダリング処理部2064は、算出した入力画像における位置の周囲4画素の画素値を取得する。レンダリング処理部2064は、入力画像から取得した4画素の画素値に対して、算出した位置に応じた補間演算を実行することにより、仮想カメラにより得られる画像における画素の画素値を決定する。各仮想カメラの全ての画素に対して行うことで、各ディスプレイに表示する表示画像が生成される。
以上の通り本実施形態では、3つの表示画面(ディスプレイ)に表示する表示画像を、1つの入力画像に基づいて生成した。そのため、複数の表示画面間にそれぞれの表示画像を生成した時に、各表示画面が自然とつながり、鑑賞者はまるでそのシーンにいるかのように感じられるような表示システムを実現できる。また、平面投影面と円筒投影面の2つの投影面を用いて、入力画像から表示画像を生成した。これにより、まず、仮想空間上の平面投影面を、表示角に合わせて拡張するように円筒投影面に対応づけることができ、鑑賞者に広視野な画像を表示するための表示画像を生成することが可能となる。特に、複数の平面ディスプレイにより鑑賞者の視野を覆うように配置した表示部に広視野な画像を表示した場合に、ディスプレイが隣接する境界近傍において、被写体が折れ曲がるように感じさせることのない、自然な表示画像を表示部に提供することができる。
また本実施形態において、入力画像を表示部の構成に近似する役割である円筒投影面の向きを、カメラ姿勢に応じて設定した。例えば、スポーツスタジアムなどにおいてシーンを俯瞰するようにカメラにより撮影した方が、シーンの全体を撮像できるため好ましい場合がある。この時、カメラ姿勢は下方を向いている。このように撮影された入力画像を投影して表示画像を生成すると、カメラにおける投影面と被写体との位置関係が、表示部に対する視点位置と表示部に表示される表示画像における被写体との位置関係として維持される。その結果、鑑賞者が表示システムを鑑賞した際に、違和感のある画像になってしまう場合がある。特に、スポーツスタジアムにおける地面のように明らかに水平であるはずの面が、表示システムにおいては傾斜のある斜面のように見えてしまったり、直立しているはずの被写体が前傾しているように見えてしまったりする。
そこで本実施形態では、2つの投影面のうち円筒投影面を、入力画像のカメラ姿勢に応じた向きにおいて仮想空間に配置する。図12は、本実施形態における入力画像と表示画像を説明する図である。図12(a)は、入力画像においてセンターディスプレイ401の表示画像に対応する領域を示す。領域1202は、平面投影面および円筒投影面を平行に配置した場合に表示画像としてレンダリングされる領域である。図12(b)は、領域1202に基づいて生成された表示画像1204を示す。一方、円筒投影面のみを図8に示すように傾けてレンダリング処理をすると、領域1203が表示画像に対応することになる。図12(c)は、円筒投影面のみを図8に示すように傾けてレンダリング処理した結果得られる表示画像1206を示す。表示画像1206における被写体1207は、表示画像1204における被写体1205と比べると、下方に位置し、かつ被写体の垂直方向の高さが小さくなる。また、鑑賞者から見たときの被写体1207の上方の距離は、被写体1205の上方の距離よりも遠くに感じられる。つまり、表示画像の上部から下部に向かって被写体の横幅が広がるような画像となる。この時、本実施形態によれば、画像における下部にある被写体ほど横幅は広がる。例えば、円筒投影面を傾けずに生成した表示画像上の被写体が正方形であった場合、円筒投影面を傾けて生成した表示画像上の被写体は台形となる。被写体が正方形の場合、表示画像を生成する際に、円筒投影面傾ける角度を大きくするほど、台形における高さは短くなり、かつ上底はより短く、下底はより長くなる。
以上のように、入力画像から表示部に表示するための表示画像を生成する際に、2つの投影面を用いること、および入力画像を撮像した際のカメラ姿勢に基づいて何れか一方の投影面を傾けることにより、違和感のない自然な表示画像を生成することができる。
なお本実施形態では、CPU101がプログラムを実行することで図2に示す各構成を実現するソフトウェアを例に説明した。しかしながら図2に示す各構成の一部またはすべてを、専用の処理回路によって実現することもできる。
<第2実施形態>
第1実施形態では、平面投影面と円筒投影面の2つの投影面を使用し、撮影時のカメラ姿勢に応じて円筒投影面の向きを設定したが、本実施形態では、ユーザが円筒投影面の向きを調整する例について説明する。例えば、撮影時のカメラ姿勢に誤差が含まれる場合、カメラ姿勢通りに円筒投影面の向きを制御したとしても表示画像に違和感が残ってしまう場合がある。あるいは、水平に見えて欲しい被写体の水平がそもそも出ていないような場合にも同様に表示画像に違和感が残ってしまう。そこで本実施形態では、撮影時のカメラ姿勢に応じて設定された円筒投影面の向きをユーザがさらに調整するための方法について説明する。
第1実施形態では、出力デバイス109として、図4に示す表示部を有する表示システムが接続されていた。本実施形態では、さらに一般的なPC(パーソナルコンピュータ)用ディスプレイが接続されているものとする。ユーザは、このPC用ディスプレイに表示されたGUIを操作することにより円筒投影面の向きを調整することができる。
図13は、ユーザが円筒投影面の向きを調整するためのGUI(グラフィカルユーザインターフェース)を示している。CPU101がPCディスプレイに図13に示すGUIを表示させる。ユーザは、図13に示すGUIにおいてスライダー1302を左右に操作することにより、円筒投影面の傾きを調整することができる。投影面設定部201は、ユーザにより調整されるスライダーの位置に応じて、円筒投影面の傾きαの情報を受けつける。また投影面設定部201は、スライダーの位置に応じて、投影面の傾きの値をテキストボックス1303に表示させる。あるいは、ユーザはテキストボックス1303に直接値を入力することもできる。その場合投影面設定部201は、入力された値を円筒投影面の傾きαとして投影面設定部201に入力する。なお、スライダーやテキストボックスの初期値は撮影時のカメラ姿勢から設定された円筒投影面の傾きαとする。また、ユーザが調整をキャンセルできるように、リセットボタンを配置し、ユーザがこれを押すとスライダー1302やテキストボックス1303の設定が初期値に戻るようにしてもよい。
図13は、プレビュー領域1301の初期画面として、仮想空間におけるYZ面に円筒投影面を設置した画像を表示している。ユーザがスライダー1302やテキストボックス1303を介して円筒投影面の傾きαを調整すると、プレビュー領域1301にその結果がグラフィカルに表示され、視覚的にどの程度円筒投影面が傾いたのかを確認することができる。図13はYZ面を示す2次元表示の例を示しているが、ユーザが例えばマウス操作などで視点位置を変更できるようにすることでプレビュー領域1301に対して3次元的な表示を行うようにしてもよい。あるいは、円筒投影面ではなく、生成した表示画像をプレビュー領域1301に表示するようにしてもよい。
さらに、ユーザが出力ボタン1304を押すと、ユーザがGUIを介して設定した円筒投影面の傾きαを用いて生成された表示画像が出力される。
次に、図14のフローチャートを用いて、GUI操作による円筒投影面の向きの調整処理について説明する。
S1401において投影面設定部201は、ユーザによるGUI操作の待機を行う。S1402において、投影面設定部201は、ユーザによるGUI操作が行われたかどうかを判定する。具体的にはスライダー1302、あるいはテキストボックス1303が操作されたかどうかを判定する。もし、操作が行われた場合はS1403へと進み、そうでない場合はS1401へ戻ってGUI操作の待機を行う。
S1403において、投影面設定部201は、スライダー1302およびテキストボックス1303の値を取得することで、ユーザがGUIを介して設定した円筒投影面の傾きαを取得する。
S1404において、投影面設定部201は、S1403で取得した円筒投影面の傾きαに基づいてプレビュー領域1301の表示を更新する。これにより、ユーザは投影面の傾き具合を視覚的に確認することが可能となる。
S1405において、投影面設定部201は、出力ボタンがユーザにより押されたかどうかを判定する。もし押された場合はS1406へ進み、そうでない場合はS1401へ戻ってGUI操作の待機を行う。
S1406において、表示画像生成部206は、撮影時のカメラ姿勢に基づいて設定された円筒投影面の傾きの代わりにS1403で取得した円筒投影面の傾きを用いて、各ディスプレイに表示する表示画像を示す表示画像データを生成する。処理の詳細は第1実施形態の図6のフローチャートと同様であるため説明を省略する。
以上の通り本実施形態では、ユーザがGUIを介して円筒投影面の向きを調整する例について説明した。これにより、撮影時のカメラ姿勢に誤差が含まれる場合や、水平に見えて欲しい被写体の水平がそもそも出ていないような場合に、円筒投影面の向きを微調整することで違和感の少ない表示画像を生成することが可能となる。
<変形例>
上述の実施形態において、円筒投影面の向きを設定する処理を含む投影面設定処理の後に、表示画像を生成した。このような投影面設定処理は、第1実施形態が想定する表示システムに表示する表示画像を初めて生成する際には必要となる。ただし、例えば、表示システムおよび撮像装置が固定して設置された場合、投影面設定処理は必ずしも必要としない。例えば、上述の実施形態により、ユーザは投影面の傾きを調整し、所望の表示画像を生成できたとする。ユーザにより投影面を調整された仮想空間を示す情報をROM103やHDD105に保存しておく。また、表示画像を生成する際にS601において算出した入力画像と平面投影面との対応関係を示す情報やS602において算出した平面投影面と円筒投影面との対応関係を示す情報も、同様に保存しておく。
その後、以前表示画像を生成した際に投影面設定処理によって設定された仮想空間を用いてもよい。この場合は、図5に示す処理は必要なく、S304の次にS306に進めばよい。また、S601やS602それぞれについては、算出処理の代わりに、保存された入力画像と平面投影面との対応関係を示す情報や平面投影面と円筒投影面との対応関係を示す情報を読み出す処理を実行すればよい。当然、平面投影面と円筒投影面との対応関係は、所望の角度に傾けて円筒投影面を設置した際に算出された対応関係であるため、違和感の少ない表示画像が生成されることになる。これにより、表示システムの表示形態や撮像装置の撮像方向に大きな変動がない場合は、より簡易に表示画像を生成することができる。
また、前に表示画像を生成する際に算出し保存された情報を用いて表示画像を生成した場合に、再度ユーザから円筒投影面の傾きを調整する指示を入力された場合には、保存しておいた仮想空間を示す情報を読み出して調整すればよい。読み出した仮想空間には、撮像画角や視点情報に応じた平面投影面や、所望の表示画像となるよう傾けて設定された円筒投影面が配置される。
<その他の実施形態>
なお、上述の実施形態では、撮像装置の姿勢情報は姿勢センサから取得する例について説明したが、入力画像から撮像装置の姿勢情報を推定するようにしてもよい。これには例えば、三次元位置が既知である実空間の自然特徴点(ランドマーク)と入力画像中の自然特徴点を対応付けることで、撮像装置の位置及び姿勢を推定するような公知の手法を用いることができる。あるいは、地面に正円が描かれたシーンを撮影している場合には、その正円がどのような楕円になっているかを検出することにより、地面に対する撮像装置の姿勢を推定することもできる。
なお、上述の実施形態では、平面投影面と円筒投影面の2つの投影面を使用し、撮影時のカメラ姿勢に応じて円筒投影面の向きを制御した。例えば、入力画像をレンダリングするために用いる投影面として、平面投影面のみ用いてもよい。この場合、撮影時のカメラ姿勢に応じて平面投影面の向きを制御することで、同様の効果を得ることができる。その際、図6のS602で行った円筒投影面と平面投影面の各点の3次元座標の対応付けを省略して、直接平面投影面の3次元座標から入力画像の画素位置を算出すればよい。
なお本実施形態における鑑賞者が視点位置から表示部を見込む角度を示す表示角とは、入力画像において表示に使用する範囲と捉えることもできる。
また上述の実施形態において、第2の投影面として、円筒投影面と呼ぶ投影面を設定した。円筒投影面は、図7に示すように、平面を、視点に対する水平方向に湾曲した可展面である。第2の投影面は、視点に対して平面である入力画像と、表示部との中間的な形状の面であることが望ましい。
また上述の実施形態において、表示画像を表示する表示システムにおいて、3つのディスプレイにより表示部を構成する場合を例に説明した。表示部は、自発光型ディスプレイ以外にも、プロジェクタにより画像を投影するスクリーンを用いてもよい。この場合表示システムとしては、複数のスクリーンそれぞれに対応する複数のプロジェクタを、各スクリーンに表示画像を投影できるように設置する。あるいは、複数のプロジェクタが白い壁に投影する表示システムにも上記の実施形態を適用することができる。画像を投影する壁を上方から見たときに、図4に示すディスプレイと同様の形状になっている場合、円筒投影面を用いて表示画像を生成することで同様の効果を得ることができる。なおこの場合白い壁に対して画像が投影される領域を、表示部とみなして表示システム情報を取得する。
またセンターディスプレイ401、左ディスプレイ402、右ディスプレイ403に対して1つの共通する円筒投影面を使用する例について説明した。これにより異なるディスプレイ間でも違和感のない表示を可能とする表示画像を生成できる。しかしながら、例えば、3面のディスプレイそれぞれに対して異なる曲面を持つ投影面を設定するようにしてもよい。この場合、3つの円筒投影面が滑らかに接続するように、構成されていることが望ましい。
また上述の実施形態では、図4に示すように鑑賞者に対して大型のディスプレイを用いた表示部を例に説明した。しかしながら、例えば複数の平面上の表示画面を用いて、頭部のみを覆う程度の大きさの表示部であっても、同様の表示システムを構成できる。例えば、ヘッドマウントディスプレイなどである。この場合も、表示部を構成する表示画面が平面であり、画像を表示する側に各表示画面の法線が交点を持つように配置することで、臨場感のある広視野な画像を表示することができる。このような表示システムに対しても、上述の実施形態と同様、共通の入力画像1つから各表示画面の表示画像を生成する。さらに、仮想空間において、入力画像を投影する平面投影面の他、円筒投影面を用いてレンダリングすることで、違和感のない広視野な画像を生成できる。
また前述の実施形態において視点情報は、望ましい鑑賞者の位置を指定することにより、特定された。しかしながら例えば、実際に鑑賞者の位置を検出し、実際に表示システムを鑑賞している鑑賞者に応じて視点情報を設定してもよい。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
201 投影面設定部
202 画像取得部
203 表示システム情報取得部
204 視点情報取得部
205 撮像パラメータ取得部
206 表示画像生成部
207 画像出力部

Claims (14)

  1. 表示部を有する表示システムに表示するための表示画像を生成する画像処理装置であって、
    入力画像を撮像装置が撮像した際の、前記撮像装置の撮像方向に関する情報を取得する取得手段と、
    仮想空間における前記入力画像と投影面との、前記撮像方向に関する情報に応じた関係を用いて、前記表示部に表示するための表示画像を生成する生成手段を有することを特徴とする画像処理装置。
  2. 前記撮像装置の仰角方向の傾きに応じた向きで設定された投影面が、前記仮想空間において前記入力画像と対応づけられていることを特徴とする請求項1に記載の画像処理装置。
  3. さらに、前記撮像装置の撮像方向に関する情報に基づいて、前記仮想空間に前記投影面を設定する設定手段を有し、
    前記生成手段は、前記設定手段により設定された投影面を用いて、前記入力画像と前記投影面との関係を算出することを特徴とする請求項1または2に記載の画像処理装置。
  4. 前記取得手段は、前記撮像装置の撮像方向に関する情報として、前記撮像装置の姿勢情報を前記撮像装置から取得することを特徴とする請求項1乃至3の何れか一項に記載の画像処理装置。
  5. 前記設定手段は、前記姿勢情報に基づいて前記仮想空間における前記投影面の向きを制御することを特徴とする請求項4に記載の画像処理装置。
  6. 前記設定手段は、前記撮像装置の光軸に直交するように前記投影面の向きを設定することを特徴とする請求項3または4に記載の画像処理装置。
  7. 前記設定手段は、前記撮像装置が下方を向いていたことを示す場合、前記投影面を前記仮想空間において表示画像を生成するための視点位置に対して上方を向くように、前記仮想空間に配置することを特徴とする請求項3乃至6の何れか一項に記載の画像処理装置。
  8. 前記表示部は、画像を表示可能な平面状の表示画面が複数、配置された構成であり、
    前記設定手段は、前記投影面として、前記入力画像に対応する平面の第1の投影面と、曲面で構成された前記第1の投影面とは異なる第2の投影面とを設定し、
    前記第1の投影面と前記第2の投影面のうち、前記第2の投影面のみ前記姿勢情報に応じた向きになるように前記仮想空間に配置することを特徴とする請求項3乃至7の何れか一項に記載の画像処理装置。
  9. 前記生成手段は、前記撮像装置が撮像した画像を、垂直方向の高さが短くなり、下部ほど横幅が広がるように変換することにより、前記表示画像を生成することを特徴とする請求項1乃至8の何れか一項に記載の画像処理装置。
  10. さらに前記設定手段は、ユーザにより前記投影面の傾きを調整するための指示を受けつけ、前記指示に応じて前記投影面の傾きを調整することを特徴とする請求項3乃至7の何れか一項に記載の画像処理装置。
  11. 表示部を有する表示システムに表示するための表示画像を生成する画像処理装置であって、
    前記表示部は、画像を表示可能な平面状の表示画面が複数、配置された構成であり、
    前記入力画像に対応する平面の第1の投影面と、曲面で構成された前記第1の投影面とは異なる第2の投影面とが設定された仮想空間における、前記入力画像と前記第1の投影面と前記第2の投影面との対応関係を用いて、前記複数の表示画面それぞれに表示するための複数の表示画像を生成する生成手段を有し、前記対応関係は、前記仮想空間において、前記第1の投影面はXY平面に平行に配置され、前記第2の投影面はXY平面に対して傾きを持つよう配置されていることを特徴とする画像処理装置。
  12. コンピュータを請求項1乃至11のいずれか1項に記載の画像処理装置として機能させるためのプログラム。
  13. 表示部を有する表示システムに表示するための表示画像を生成する画像処理方法であって、
    入力画像を撮像装置が撮像した際の、前記撮像装置の撮像方向に関する情報を取得し、仮想空間における前記入力画像と前記投影面との、前記撮像方向に関する情報に応じた関係を用いて、前記表示部に表示するための表示画像を生成することを特徴とする画像処理方法。
  14. 表示部を有する表示システムに表示するための表示画像を生成する画像処理方法であって、
    前記表示部は、画像を表示可能な平面状の表示画面が複数、配置された構成であり、
    仮想空間においてとXY平面に平行に配置された、前記入力画像に対応する平面の第1の投影面と、前記仮想空間においてXY平面に対して傾きを持つよう配置され、曲面で構成された前記第1の投影面とは異なる第2の投影面と、
    前記入力画像との対応関係を用いて、前記複数の平面画面それぞれに表示するための複数の表示画像を生成することを特徴とする画像処理方法。
JP2018237897A 2018-02-20 2018-12-20 画像処理装置、画像処理方法およびプログラム Pending JP2019146157A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/277,910 US10935878B2 (en) 2018-02-20 2019-02-15 Image processing apparatus, image processing method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018028178 2018-02-20
JP2018028178 2018-02-20

Publications (1)

Publication Number Publication Date
JP2019146157A true JP2019146157A (ja) 2019-08-29

Family

ID=67772837

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018237897A Pending JP2019146157A (ja) 2018-02-20 2018-12-20 画像処理装置、画像処理方法およびプログラム

Country Status (1)

Country Link
JP (1) JP2019146157A (ja)

Similar Documents

Publication Publication Date Title
KR102539427B1 (ko) 화상 처리장치, 화상 처리방법, 및 기억매체
US10863154B2 (en) Image processing apparatus, image processing method, and storage medium
JP6488591B2 (ja) 画像処理装置、画像処理方法、及びプログラム
KR20060113514A (ko) 화상 처리 장치 및 화상 처리 방법, 프로그램, 및 기록매체
JP7164968B2 (ja) 画像処理装置、画像処理装置の制御方法及びプログラム
US11962946B2 (en) Image processing apparatus, display system, image processing method, and medium
US11477432B2 (en) Information processing apparatus, information processing method and storage medium
JP6310898B2 (ja) 画像処理装置、情報処理装置、および画像処理方法
CN113170070A (zh) 影像显示装置和方法
JP7296712B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP2016162392A (ja) 3次元画像処理装置および3次元画像処理システム
JP6852295B2 (ja) 画像処理装置、画像処理方法、および画像処理プログラム
JP6990694B2 (ja) プロジェクタ、マッピング用データ作成方法、プログラム及びプロジェクションマッピングシステム
US10935878B2 (en) Image processing apparatus, image processing method, and program
JP6719596B2 (ja) 画像生成装置、及び画像表示制御装置
WO2019163449A1 (ja) 画像処理装置、画像処理方法およびプログラム
JP2019146157A (ja) 画像処理装置、画像処理方法およびプログラム
JP2019146010A (ja) 画像処理装置、画像処理方法およびプログラム
US20240203012A1 (en) Electronic device for generating three-dimensional photo based on images acquired from plurality of cameras, and method therefor
JP2019146004A (ja) 画像処理装置、画像処理方法およびプログラム
JP7118383B1 (ja) 表示システム、表示方法、及び表示プログラム
JP2019144958A (ja) 画像処理装置、画像処理方法およびプログラム
JP2023179864A (ja) 視点変換装置及びそのプログラム
JP2024087977A (ja) 投影制御装置、投影システム、投影制御方法及びプログラム
Ahlborn et al. Design and implementation of a foveal projection display