自由視点映像表示装置
【課題】所定経路上の移動視点から見た任意方向の視界を動画として提示し、ユーザに高い臨場感を与える。
【解決手段】全方位画像格納部110には、経路上を移動しながら撮影したパノラマ画像がフレーム単位で格納され、ルート情報格納部130には、経路上の各ノードとブランチを示すルート情報が格納され、対応関係情報格納部120には、各フレームとルート上の1点との対応関係が格納される。データ更新部170は、ユーザの入力操作に基づいて、格納部150,160内の現在地および視線方向を逐次更新する。画像切出部140は、対応関係情報を参照して現在地に対応するフレームのパノラマ画像を読み出し、視線方向の視界を構成する視野画像を切り出す。ルートマップ作成部180は、経路の平面図に、現在地および視線方向を示す指標を重畳したルートマップを作成する。画像表示部190は視野画像とルートマップを並べて表示する。
【解決手段】全方位画像格納部110には、経路上を移動しながら撮影したパノラマ画像がフレーム単位で格納され、ルート情報格納部130には、経路上の各ノードとブランチを示すルート情報が格納され、対応関係情報格納部120には、各フレームとルート上の1点との対応関係が格納される。データ更新部170は、ユーザの入力操作に基づいて、格納部150,160内の現在地および視線方向を逐次更新する。画像切出部140は、対応関係情報を参照して現在地に対応するフレームのパノラマ画像を読み出し、視線方向の視界を構成する視野画像を切り出す。ルートマップ作成部180は、経路の平面図に、現在地および視線方向を示す指標を重畳したルートマップを作成する。画像表示部190は視野画像とルートマップを並べて表示する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自由視点映像表示装置に関し、特に、所定の経路に沿って移動する視点から見た任意方向の視界を表示する技術に関する。
【背景技術】
【0002】
魚眼レンズや全方位ミラーを装着したカメラを用いると、周囲360°の視界をもつ全方位画像を撮影することができる。予め、このような全方位画像を用意しておけば、視聴者の希望する任意の視点位置から任意の方向を観察した画像を提示するサービスを提供することができる。
【0003】
たとえば、下記の特許文献1には、情報提供センターに全方位画像を用意しておき、視聴者の求めに応じて、端末装置の画面上に任意視点から任意方向を観察した画像を表示させるための画像データを送信する技術が開示されている。また、グーグル株式会社(本社:米国カリフォルニア州のGoogle Inc. )は、「ストリートビュー」と称して、インターネットを利用して道路上の任意視点から任意方向を観察した景色を表示するサービスを提供している。
【0004】
一方、特許文献2には、一般的なデジタルカメラを用いて撮影された複数の画像をつなぎ合わせて全方位画像を作成する装置において、個々の画像の撮影方向をリアルタイムで検知し、撮影された画像をリアルタイムで読み出して表示する技術が開示されている。この装置を利用すれば、撮影者は、全方位の空間のうち、どの領域が撮影済みであり、どの領域が未撮影であるかを、リアルタイムで認識することができる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2001−008232号公報
【特許文献2】特開2010−199971号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
全方位画像を利用した従来の画像表示装置は、あくまでも静止画像を提示することを目的とした装置であり、ユーザが任意の視点を指定し、任意の視線方向を指定すると、指定に応じた静止画像が提示されるものである。すなわち、ユーザは、希望どおりの視点位置から希望どおりの方向を眺めた画像を得ることが可能であるが、提示されるのはあくまでも静止画像である。もちろん、グーグル社の「ストリートビュー」などでは、道路に沿って視点位置を移動させることも可能であるが、視点位置は道路上に離散的に設定された特定点に限定されるため、ユーザに提示されるのは、離散的な視点から見た複数の静止画像にすぎない。
【0007】
このように、全方位画像を利用した画像表示を行ったとしても、表示される画像が静止画像である限り、ユーザに十分な臨場感を与えることはできない。ユーザの立場からは、あくまでも特定の視点から撮影した静止画像を眺めているだけであり、「自分が実際にその景色の中に存在する」という臨場感を味合うことはできない。
【0008】
そこで本発明は、所定の経路に沿って移動する視点から見た任意方向の視界を動画として提示し、ユーザに高い臨場感を与えることが可能な自由視点映像表示装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
(1) 本発明の第1の態様は、所定の経路に沿って移動する視点から見た任意方向の視界を表示する自由視点映像表示装置において、
経路に沿って移動しながら全方位カメラを用いて撮影した360°の視界をもつ全方位画像を、フレーム単位で格納する全方位画像格納部と、
経路を構成する複数のノードの各位置を示す位置情報と、これらノード間を接続するブランチを示す接続情報と、によって構成されるルート情報を格納するルート情報格納部と、
全方位画像格納部に格納されている全方位画像の個々のフレームと、ルート情報格納部に格納されているルート情報におけるノードもしくはブランチ上の1点と、の対応関係を示す対応関係情報を格納する対応関係情報格納部と、
経路上の現在地を示す現在地データを格納する現在地データ格納部と、
視線方向を示す視線方向データを格納する視線方向データ格納部と、
ユーザの入力操作に基づいて、現在地が経路上で移動するように現在地データを更新する現在地更新処理と、視線方向が変化するように視線方向データを更新する視線方向更新処理と、を行うデータ更新部と、
現在地データによって示される現在地に対応する現在地フレームを、対応関係情報を参照することにより認識し、全方位画像格納部から現在地フレームの全方位画像を読み出し、読み出した全方位画像から、視線方向データによって示される視線方向の視界を構成する視野画像を切り出す画像切出部と、
現在値データおよび視線方向データに基づいて、経路の平面図に、現在地および視線方向を示す指標を重畳したルートマップを作成するルートマップ作成部と、
視野画像とルートマップとを並べて表示する画像表示部と、
を設けるようにしたものである。
【0010】
(2) 本発明の第2の態様は、上述の第1の態様に係る自由視点映像表示装置において、
全方位画像格納部が、魚眼レンズもしくは全方位ミラーを装着した全方位カメラを用いて、所定の水平面より上方に位置する半球状視界を撮影して得られる歪曲円形画像から、仰角が所定の基準値以下の領域を切り出し、これに歪み補正を施すことにより得られる矩形状のパノラマ画像を全方位画像として格納するようにしたものである。
【0011】
(3) 本発明の第3の態様は、上述の第1の態様に係る自由視点映像表示装置において、
全方位画像格納部が、仮想の経路を示す三次元CG画像に基づいて作成された矩形状のパノラマ画像を全方位画像として格納するようにしたものである。
【0012】
(4) 本発明の第4の態様は、上述の第1〜第3の態様に係る自由視点映像表示装置において、
ルート情報格納部が、二次元座標系上における個々のノードの座標値を示す位置情報と、全ノード中の任意の2ノードの組み合わせについて、それぞれ相互間を接続する直線状のブランチが存在するか否かを示す接続情報と、によって構成されるルート情報を格納し、
現在地データ格納部が、二次元座標系上における現在地の座標値を示す現在地データを格納するようにしたものである。
【0013】
(5) 本発明の第5の態様は、上述の第4の態様に係る自由視点映像表示装置において、
視線方向データ格納部が、二次元座標系の所定の基準軸に対する方位角φ(0°≦φ<360°)を視線方向データとして格納し、
画像切出部が、読み出した全方位画像から、方位角「φ−Δ/2」〜「φ+Δ/2」の範囲内の視界(ただし、Δは所定の切出角度)を構成する視野画像を切り出すようにしたものである。
【0014】
(6) 本発明の第6の態様は、上述の第1〜第5の態様に係る自由視点映像表示装置において、
全方位画像格納部が、一連のフレーム番号が付与されたフレーム単位の画像を格納し、
対応関係情報格納部が、個々のノードに対応するフレームのフレーム番号を特定する対応関係情報を格納し、
画像切出部が、現在地がノードである場合には、当該ノードに対応するフレーム番号が付与されたフレームを現在地フレームと認識し、現在地がブランチ上の中間地点である場合には、当該ブランチの両端に位置する一対のノードに対応する一対のフレーム番号に基づく線形補間により求めたフレーム番号が付与されたフレームを現在地フレームと認識するようにしたものである。
【0015】
(7) 本発明の第7の態様は、上述の第1〜第6の態様に係る自由視点映像表示装置において、
データ更新部が、
前進ボタンと、後退ボタンと、左向きボタンと、右向きボタンと、を有するコントローラを備え、
前進ボタンが押されている間、現在地が経路上を所定の進行方向に所定速度で移動するように現在地データを更新し、後退ボタンが押されている間、現在地が経路上を進行方向とは逆方向に所定速度で移動するように現在地データを更新し、左向きボタンが押されている間、視線方向が所定速度で左向きに変化するように視線方向データを更新し、右向きボタンが押されている間、視線方向が所定速度で右向きに変化するように視線方向データを更新するようにしたものである。
【0016】
(8) 本発明の第8の態様は、上述の第7の態様に係る自由視点映像表示装置において、
データ更新部が、
現在地を含むブランチの始点ノードから終点ノードに至る進行方向ベクトルを設定する機能を有し、進行方向ベクトルが示す方向を進行方向として現在地更新処理を行い、
現在地がいずれかのノードに到達したときに、現在地更新処理を一時停止し、到達ノードを始点とする新たなブランチをユーザに選択させ、到達ノードを始点ノード、選択されたブランチのもう一方の端点を終点ノードとする新たな進行方向ベクトルの設定を行ってから現在地更新処理を再開するようにしたものである。
【0017】
(9) 本発明の第9の態様は、上述の第8の態様に係る自由視点映像表示装置において、
データ更新部が、現在地がいずれかのノードに到達したときに、視野画像上に到達ノードを始点とする新たなブランチの方向を示す方向マーカを表示させ、
コントローラが、特定の方向マーカを選択する操作を行うためのマーカ選択ボタンを更に有し、
データ更新部が、マーカ選択ボタンによって選択された方向マーカに対応するブランチを、ユーザが選択したブランチとするようにしたものである。
【0018】
(10) 本発明の第10の態様は、上述の第8または第9の態様に係る自由視点映像表示装置において、
ルート情報格納部が、直線状のブランチの集合によって構成される経路を示すルート情報を格納しており、
データ更新部が、第1のブランチから第2のブランチへ進んだときに、進行方向ベクトルを基準とした視線方向が一定となるように、第1のブランチと第2のブランチのなす角度θに基づいて視線方向データを更新する処理を行うようにしたものである。
【0019】
(11) 本発明の第11の態様は、上述の第1〜第10の態様に係る自由視点映像表示装置を、コンピュータに専用のプログラムを組み込むことにより構成したものである。
【発明の効果】
【0020】
本発明に係る自由視点映像表示装置によれば、所定の経路に沿って移動する視点から見た任意方向の視界を動画として提示することができる。ユーザは、データ更新部に対する入力操作により、経路上を自由に動きまわることができ、視線方向を自由に変更することができる。このため、ユーザには、当該経路に沿って実際に自分が移動しているような高い臨場感を与えることが可能になる。また、現在地および視線方向に応じた画像とともに、現在地および視線方向を示すルートマップが表示されるため、ユーザは、自分の現在地と視線方向を容易に認識することができる。
【図面の簡単な説明】
【0021】
【図1】本発明の基本的な実施形態に係る自由視点映像表示装置の構成を示すブロック図である。
【図2】図1に示す装置による提示対象となる美術館の平面図である(ハッチングは壁面を示す)。
【図3】図2に示す美術館の参観経路を構成するノードとブランチを示す平面図である。
【図4】図3に示すノードとブランチをXY二次元座標上に表した例を示す平面図である。
【図5】図1に示す装置におけるルート情報格納部130内に格納されるルート情報Rの一例を示す図である。
【図6】図5に示すルート情報Rを実フォーマットで示す図である。
【図7】図1に示す全方位画像格納部110内に格納される全方位画像の撮影装置の一例を示す側面図である。
【図8】図7に示す撮影装置を用いて撮影された歪曲円形画像の平面図である。
【図9】図7に示す撮影装置を用いて撮影された歪曲円形画像に基づいて作成された矩形状のパノラマ画像(全方位画像)の一例を示す平面図である。
【図10】図1に示す装置における対応関係情報格納部120内に格納される対応関係情報の役割を示す図である。
【図11】ブランチ上の中間地点について、対応するフレームを決定する線形補間プロセスを示す平面図である。
【図12】図1に示す装置における対応関係情報格納部120内に格納される対応関係情報Cの一例を示す図である。
【図13】図12に示す対応関係情報Cを実フォーマットで示す図である。
【図14】図3の経路上に現在地Pおよび視線方向φ(方位角)を定義した例を示す平面図である。
【図15】図14に示す現在地Pに対応するフレームF0452から、方位角φ=90°の視線方向に対応する視野画像Q(P,φ)を切り出す作業を示す平面図である。
【図16】図1に示す装置における画像表示部190によって表示された画像の一例を示す平面図である。
【図17】図16に示す画像における現在地を示す指標Iおよび視線方向を示す指標Jの拡大図である。
【図18】図1に示す装置におけるデータ更新部170の一部を構成するコントローラの上面図である。
【図19】図3の経路上をノードN5からノードN2に向かって移動している状態を示す平面図である。
【図20】現在地が図19に示すノードN2に到達した際に、視野画像表示領域G2内に方向マーカが表示された状態を示す平面図である(G2内の視野画像自身は表示を省略)。
【図21】図1に示す装置におけるデータ更新部170が保持する進行方向ベクトルの設定変更例を示す図である。
【図22】進行方向ベクトルの設定変更とともに視線方向を更新する実施例を示す平面図である。
【発明を実施するための形態】
【0022】
以下、本発明を図示する実施形態に基づいて説明する。
【0023】
<<< §1. 基本的な実施形態に係る装置の構成 >>>
図1は、本発明の基本的な実施形態に係る自由視点映像表示装置の構成を示すブロック図である。図示のとおり、この装置は、全方位画像を格納する全方位画像格納部110、対応関係情報を格納する対応関係情報格納部120、ルート情報を格納するルート情報格納部130、全方位画像から視野画像を切り出す画像切出部140、現在地データを格納する現在地データ格納部150、視線方向データを格納する視線方向データ格納部160、現在地データおよび視線方向データを更新するデータ更新部170、ルートマップを作成するルートマップ作成部180、視野画像とルートマップとを表示する画像表示部190によって構成されている。
【0024】
もっとも、実際には、これらの各構成要素はコンピュータおよびその周辺機器を利用して構成することができる。すなわち、各格納部110,120,130,150,160は、コンピュータ用のメモリやディスク装置などの記憶装置によって構成することができ、画像切出部140およびルートマップ作成部180は、所定のプログラムに基づいて動作するコンピュータのプロセッサによって構成することができ、データ更新部170は、当該プロセッサおよびユーザインターフェイスを備えたコンピュータ用の入力装置によって構成することができ、画像表示部190は、コンピュータ用のディスプレイ装置およびその制御装置によって構成することができる。したがって、実用上は、この自由視点映像表示装置は、コンピュータ機器に所定のプログラムを組み込むことによって構成される。
【0025】
この装置は、所定の経路に沿って移動する視点から見た任意方向の視界を表示する機能を有する装置であり、表示対象となる経路は、屋外であっても、屋内であってもかまわない。したがって、この装置は、たとえば、様々な史跡や観光地の景色をディスプレイ画面上に提示し、ユーザに、あたかも当該史跡や観光地内を自由に歩き回って見学しているような体験をさせることが可能である。以下の説明では、便宜上、図2に示すような平面図で示される間取りをもった美術館の館内をユーザに提示する単純な例について、上記各構成要素の機能を述べることにする。
【0026】
ここでは、この図2に示す美術館が、絵画と彫刻を展示するための実在の施設であり、図示のとおり、入口から入館した参観者は、内部の回廊を自由に歩き回りながら展示物を鑑賞し、出口から退館するものとしよう。図2にハッチングを施した部分は、回廊の壁面を示しており、絵画は、この壁面に展示されているものとする。また、回廊の床には、適宜、彫刻が置かれているものとする。図1に示す自由視点映像表示装置は、基本的には、この実在の美術館の館内を撮影した画像をユーザに提示するための装置ということになるが、ユーザが、館内を自由に歩き回りながら、視線を任意の方向に向けて観察した状態をシミュレートし、動画として提示する機能を有している。
【0027】
そのために、本発明では、提示対象となる施設の経路を、ノードとブランチとによって表現し、ルート情報として取り扱うことにする。図3は、図2に示す美術館の参観経路を構成するノードとブランチを示す平面図であり、個々の黒点はノード、個々の直線はブランチ、個々の破線は実際の経路の輪郭を示している。図示のとおり、この例では、6個のノードN1〜N6と、6本のブランチB12〜B56とが定義されている。各ブランチは、2つのノードを接続する単位経路であり、ここでは便宜上、ノードNiとNjとを結ぶブランチを、ブランチBijという符号で示している。たとえば、ブランチB12は、ノードN1とN2とを結ぶ単位経路である。
【0028】
経路上のどの位置にノードを定義し、どのノード間にブランチを定義するかは、この装置の設計者の判断に委ねられるが、一般的には、経路の分岐点、曲がり角、端点にノードを定義し、実際の経路に応じて、必要なノード間にブランチを定義すればよい。図示の例の場合、各ブランチはいずれも直線をなすが、実在の経路が曲線を含む場合には、曲線からなるブランチを定義してもかまわない。ただ、ブランチが直線であれば、その両端点のノードを特定するだけで当該ブランチも特定されるので、実用上は、すべてのブランチを直線によって構成するのが好ましい。実在の経路が曲線を含む場合には、複数のノードとこれらを結ぶ直線からなる折れ線によって擬似的に曲線を近似すればよい。
【0029】
ここでは、経路を構成する複数のノードの各位置を示す位置情報と、これらノード間を接続するブランチを示す接続情報と、によって構成される情報をルート情報Rと呼ぶことにする。図1に示す装置におけるルート情報格納部130は、このようなルート情報を格納する構成要素である。各ノードの位置情報は、実際には、座標値として与えられる。図4は、図3に示すノードとブランチをXY二次元座標上に表した例を示す平面図である。各ノードN1〜N6の符号に括弧書きで示した一対の座標は、当該ノードのX座標値およびY座標値である。たとえば、N1(10,60)は、ノードN1の位置座標が(10,60)であることを示している。
【0030】
図5は、図4に示す具体的な経路についてのルート情報Rを示す図である。このルート情報Rは、経路を構成する複数のノードN1〜N6の各位置を示す位置情報と、これらノード間を接続するブランチを示す接続情報と、によって構成される。図示の例の場合、ノードの位置情報は、XY二次元座標系上における個々のノードの座標値を示す情報によって構成される。すなわち、図5の上段に示す位置情報は、図4の各ノードN1〜N6のXY座標値を示している。
【0031】
一方、ブランチの接続情報は、全ノード中の任意の2ノードの組み合わせについて、それぞれ相互間を接続する直線状のブランチが存在するか否かを示す情報によって構成されている。たとえば、図5の下段に示す接続情報は、横方向に6つのノードN1〜N6の欄が設けられ、縦方向にも6つのノードN1〜N6の欄が設けられ、合計36個の要素をもつ行列に「0」または「1」なる数字が記載されている。ここで、「0」は、当該2ノードの組み合わせについて相互間を接続する直線状のブランチが存在しないことを示し、「1」は、そのようなブランチが存在することを示している。
【0032】
たとえば、第1行目には、「010000」なる数字が記載されているが、これは、ノード「N1−N2」という組み合わせについては相互間を接続する直線状のブランチB12が存在するが、ノード「N1−N1」,「N1−N3」,「N1−N4」,「N1−N5」,「N1−N6」という組み合わせについては相互間を接続する直線状のブランチが存在しないことを示している。ここで、行列の対角要素は、同一ノードの組み合わせを示しているので必ず「0」になる。図4に示す経路における各ノードのブランチを介した接続関係を参照すれば、図5の下段に示す接続情報が、図4の経路を示していることが容易に理解できよう。
【0033】
図1に示す装置におけるルート情報格納部130は、この図5に示すようなルート情報Rを格納する機能を有している。すなわち、ルート情報格納部130は、経路を構成する複数のノードの各位置を示す位置情報と、これらノード間を接続するブランチを示す接続情報と、によって構成されるルート情報Rを格納する構成要素ということになる。なお、図5に示すルート情報Rには、説明の便宜上、冗長な情報が付加されている。実際には、ルート情報格納部130には、図6に示すような実フォーマットで記述されたルート情報Rが格納される。
【0034】
図6に示すルート情報Rは、実質的に図5に示すルート情報Rと同じ内容を示すものである。すなわち、第1行目の数字「6」は全ノード数を示すものであり、続く第2〜7行目は、図5の上段に示す座標値の部分のみを示すものであり、続く第8〜13行目は、図5の下段に示す行列の各要素の部分のみを示すものである。もちろん、この図6に示す実フォーマットは、一例を示すものであり、ルート情報Rの実フォーマットとしては、この他にも様々な形式のものを採用することができる。
【0035】
一方、図1に示す装置における全方位画像格納部110には、図2に示す美術館の参観経路に沿って移動しながら全方位カメラを用いて撮影した360°の視界をもつ全方位画像が、フレーム単位で格納される。このような全方位画像を準備するにあたっては、すべてのブランチに沿った撮影画像が得られるのであれば、撮影を行う順序は任意である。
【0036】
図7は、このような全方位画像の撮影装置の一例を示す側面図である。この撮影装置は、図示のとおり、魚眼レンズ10、ビデオカメラ20、データ処理ユニット30、台車40によって構成され、360°の視界をもつ画像を撮影可能な全方位カメラとして機能する。図7に示すように、魚眼レンズ10は、この装置の最上部に配置され、所定の水平面より上方に位置する半球状視界の像をビデオカメラ20の撮像面に形成する。このような構成を採ると、ビデオカメラ20の撮像面には、図8に示すような歪曲円形画像が結像する(ハッチングを施したドーナツ状部分とその内部の白地の円形部分との両方が、魚眼レンズ10で撮影した歪曲円形画像になる。)。この歪曲円形画像の中心にある天頂点Hは、図7に示す撮影装置の鉛直上方の位置にある点(回廊の天井に相当)になり、この歪曲円形画像の外周は、図7に示す撮影装置による撮影視野(周囲360°の視野)の下端位置に相当する。
【0037】
ここに示す実施例の場合、絵画と彫刻を展示した美術館の館内が表示対象となっているため、天頂点Hの近傍にある白地の円形部分の画像(回廊の天井部分の画像に相当)は利用せず、図にハッチングを施したドーナツ状の領域のみを利用することにする。図9は、図8に示す歪曲円形画像から、仰角が所定の基準値以下の領域(図にハッチングを施した領域)を切り出し、これに歪み補正を施すことにより得られる矩形状のパノラマ画像を示す平面図である。このパノラマ画像の下辺に示す0°〜360°の方位角は、図8の歪曲円形画像の円周上に示された0°〜360°の方位角に対応する。すなわち、この図9に示すパノラマ画像は、図7に示す魚眼レンズ10の位置に視点をおき、周囲360°を眺めた画像ということになる。
【0038】
ビデオカメラ20で撮影された歪曲円形画像のデータは、データ処理ユニット30へ送られる。データ処理ユニット30は、コンピュータによって構成され、歪曲円形画像のデータは、ハードディスク装置内に格納される。また、ここに示す実施例の場合、データ処理ユニット30は、この歪曲円形画像からパノラマ画像を作成する処理を行う機能を有している。したがって、図8に示すような歪曲円形画像は、データ処理ユニット30内で図9に示すようなパノラマ画像に変換され、ハードディスク装置内に格納される。ここに示す実施例の場合、このようにして得られたパノラマ画像を全方位画像として用いることになる。
【0039】
図8に示す歪曲円形画像が歪んだドーナツ状の画像であるのに対して、図9に示すパノラマ画像は矩形状の画像であるため、データ処理ユニット30は、歪み補正を伴う画像変換処理を行う必要がある。このような画像変換処理は公知の技術であるため、ここでは詳しい説明は省略する。なお、通常、このような歪み補正を伴う画像変換処理を行っても、歪みを完全に除去することは困難であるので、得られるパノラマ画像にも若干の歪みが残ることになるが、実用上支障のないレベルまでの歪み補正が可能である。
【0040】
以上、図7に示す撮影装置を経路上の1地点に設置し、その周囲のパノラマ画像を得る手順を説明したが、この撮影装置を所定経路に沿って移動させながら、ビデオカメラ20により動画撮影を行えば、図9に示すようなパノラマ画像(全方位画像)を1フレームとして、連続した複数フレームから構成される動画データが得られることになる。図1に示す装置における全方位画像格納部110には、参観経路に沿って移動しながら上記全方位カメラを用いて撮影したパノラマ画像がフレーム単位で格納される。
【0041】
前述したとおり、すべてのブランチに沿った撮影画像が得られれば、撮影の順序は任意であるが、ここでは、説明の便宜上、図3に示す経路において、ノードN1→N2(ブランチB12)、ノードN2→N3(ブランチB23)、ノードN3→N6(ブランチB36)、ノードN6→N5(ブランチB56)、ノードN5→N4(ブランチB45)、ノードN2→N5(ブランチB25)の順に、台車40を一定速度で移動させながら撮影を行い、一連のフレーム番号F0000〜F2400が付された合計2401枚のパノラマ画像(全方位画像)からなる動画が得られたものとしよう。
【0042】
全方位画像格納部110には、このような合計2401枚のパノラマ画像が、フレーム単位で格納されており、画像切出部140は、任意のフレーム番号が付与された1枚のパノラマ画像を読み出すことができる。これら2401枚のパノラマ画像は、それぞれ経路上の特定の地点において撮影された全方位画像ということになり、それぞれ特定の地点に対応づけられる。対向関係情報格納部120に格納されている対向関係情報は、このような対応関係を示す情報である。
【0043】
たとえば、図10に示すように、ノードNから下方に伸びるブランチBに沿って、図7に示す撮影装置を移動させながら撮影を行ったとすると、図示のとおり、ノードNではフレームF0000、中間地点M1ではフレームF0001、中間地点M2ではフレームF0002、中間地点M3ではフレームF0003、... というように、それぞれの位置で撮影したパノラマ画像(全方位画像)が各フレームとして得られることになる。台車40を一定速度で移動させれば、ブランチ上に等間隔で定義された個々の地点について、それぞれパノラマ画像のフレームが対応づけられる。
【0044】
ここで、第i番目のフレームFiが撮影された中間地点Miと、第(i+1)番目のフレームF(i+1)が撮影された中間地点M(i+1)との距離は、ビデオカメラ20のフレーム撮影間隔と台車40の移動速度とに応じて決定される。たとえば、1秒間に30フレームという撮影間隔(人間の眼が動画として認識可能な撮影間隔であればよい。)で撮影すれば、台車40が1秒間に進む距離の間に30フレーム分のパノラマ画像が対応づけられることになる。
【0045】
結局、対応関係情報格納部120内に格納される対応関係情報とは、全方位画像格納部110に格納されているパノラマ画像(全方位画像)の個々のフレームF0000,F0001,F0002,F0003,... と、ルート情報格納部130に格納されているルート情報Rにおける「ノード」もしくは「ブランチ上の1点」と、の対応関係を示す情報ということになる。すなわち、原理的には、全方位画像格納部110に、フレームF0000〜F2400という合計2401枚のフレームが格納されていた場合には、これらのフレームのそれぞれについて、ルート上の「ノード」もしくは「ブランチ上の1点」を対応づける情報が対応関係情報として用意されることになる。
【0046】
ただ、ここに示す実施例の場合、台車40を一定速度で移動させながら全方位画像の撮影を行っているため、対応関係情報格納部120には、個々のノードに対応するフレームのフレーム番号を特定する対応関係情報のみを格納し、ノード間の中間地点に対応するフレームのフレーム番号については、線形補間によって求めるようにしている。
【0047】
図11は、ブランチ上の中間地点について、対応するフレームを決定する線形補間プロセスを示す平面図である。この例では、3つのノードN1,N2,N3と、ノードN1,N2間を接続するブランチおよびノードN2,N3間を接続するブランチが示されている。ここでは、台車40をノードN1からN2を経てN3まで等速度で移動させることにより、フレームF0000〜F0700という合計701枚の全方位画像が得られたものとし、ノードN1に対応する撮影画像がフレームF0000、ノードN2に対応する撮影画像がフレームF0200、ノードN3に対応する撮影画像がフレームF0700であったものとしよう。
【0048】
この場合、対応関係情報としては、3つのノードN1,N2,N3に、それぞれフレーム番号F0000,F0200,F0700が対応することを示す情報を用意しておけば十分である。そうすれば、図示する中間地点Maに対応するフレーム番号は、その両端に位置する一対のノードN1,N2に対応する一対のフレーム番号F0000,F0200に基づく線形補間により求めることが可能であり、図示する中間地点Mbに対応するフレーム番号は、その両端に位置する一対のノードN2,N3に対応する一対のフレーム番号F0200,F0700に基づく線形補間により求めることが可能である。
【0049】
図12は、図3に示す具体的な経路について撮影されたフレームF0000〜F2400という合計2401枚のフレームについて、対応関係情報格納部120内に格納される対応関係情報Cの一例を示す図であり、左欄に示された一対のノード間のブランチに、右欄に示されたフレーム番号が対応することを示している。たとえば、1行目には、ノードN1,N2間のブランチB12に対して、フレームF0000〜F0200という合計201枚の全方位画像が対応することを示している。この図12に示す対応関係情報Cは、実質的に、6つのブランチB12,B23,B36,B56,B45,B25の両端点のノードに対応づけられたフレーム番号を示しているだけであり、全2401枚のフレームのすべてに対応地点を定義した対応関係情報を用意する場合に比べて、情報量は大幅に節約される。
【0050】
図13は、図12に示す対応関係情報Cを実フォーマットで示す図であり、各行ごとに、それぞれノード番号を示す2つの数字とフレーム番号を示す2つの数字を並べたものになっている。たとえば、第1行目の「1,2,0,200」は、図12の表における第1行目の情報に対応し、ノードN1,N2間のブランチに、フレーム番号F0000〜F0200が対応することを示している。実際には、対応関係情報格納部120には、図13に示すような実フォーマットで記述された対応関係情報Cが格納される。もちろん、この図13に示す実フォーマットは、一例を示すものであり、対応関係情報Cの実フォーマットとしては、この他にも様々な形式のものを採用することができる。
【0051】
<<< §2. 基本的な実施形態に係る装置の動作 >>>
続いて、図1に示す自由視点映像表示装置の動作を説明する。§1で述べたとおり、現在地データ格納部150には、経路上の現在地を示す現在地データが格納され、視線方向データ格納部160には、視線方向を示す視線方向データが格納される。ここで、「現在地」とは、この映像表示装置による映像表示の提供を受けるユーザについて、経路上の仮想位置を示すものであり、「視線方向」とは、この仮想位置にいるユーザの仮想の視線方向を示すものである。初期状態では、たとえば、図3のノードN1の位置に「現在地」を設定し、図の右方向に「視線方向」を設定するなどしておけばよい。
【0052】
図14は、図3の経路上に現在地Pおよび視線方向φ(方位角)を定義した例を示す平面図である。この例では、現在地Pは、ノードN2,N3間を接続するブランチB23上の中間地点に定義されており、XY座標値P(x,y)として表現することができる。したがって、ここに示す実施例の場合、現在地データ格納部150には、XY二次元座標系上における現在地PのXY座標値P(x,y)を示すデータが、現在地データとして格納されることになる。
【0053】
一方、この実施例の場合、視線方向(視野ベクトルE)は、図14の右上に示されているような方位角φで表される。すなわち、この例の場合、現在地P上に、Y軸正方向を向いた基準軸を設定し、この基準軸に対する角度を方位角φ(0°≦φ<360°)と定義し、視線方向を示すパラメータとして用いている。したがって、ここに示す実施例の場合、視線方向データ格納部160には、XY二次元座標系の所定の基準軸(Y軸正方向に向かう軸)に対する方位角φ(0°≦φ<360°)が視線方向データとして格納されることになる。
【0054】
この方位角φは、現在地Pにいる仮想ユーザが、どの方向に視線(視野ベクトルE)を向けているかを示すパラメータであり、図14に示す例の場合、φ=0°の場合は、Y軸正方向に視線を向けており、φ=90°の場合は、X軸正方向に視線を向けており、φ=180°の場合は、Y軸負方向に視線を向けており、φ=270°の場合は、X軸負方向に視線を向けていることになる。
【0055】
このように、現在地Pと視線方向(方位角)φが定まれば、画像切出部140によって、現在地Pから方位角φの方向を眺めた状態の視野画像Q(P,φ)を切り出すことができる。すなわち、画像切出部140は、まず、現在地データによって示される現在地Pに対応する現在地フレームを、対応関係情報Cを参照することにより認識し、全方位画像格納部110から現在地フレームの全方位画像を読み出す。
【0056】
ここに示す実施例の場合、対応関係情報格納部120には、個々のノードに対応するフレームのフレーム番号を特定する対応関係情報Cが格納されている。したがって、画像切出部140は、現在地Pがノード上にある場合には、当該ノードに対応するフレーム番号が付与されたフレームを現在地フレームと認識することができる。これに対して、現在地Pがブランチ上の中間地点である場合には、図11で説明したように、当該ブランチの両端に位置する一対のノードに対応する一対のフレーム番号に基づく線形補間により求めたフレーム番号が付与されたフレームを現在地フレームと認識することになる。
【0057】
もちろん、全方位画像を構成する各フレームは、経路上の離散的な撮影地点において撮影された画像であり、現在地Pは、必ずしもこれらの離散的な撮影地点のいずれかに一致するわけではない。したがって、実際には、画像切出部140は、現在地Pに最も近い地点に対応づけられたフレームを読み出してくればよい。
【0058】
図15に示すフレームF0452は、このようにして画像切出部140が読み出した全方位画像の一例を示す平面図である。この全方位画像は、図14に示す現在地P(ブランチB23上のほぼ中央の地点)に対応するフレームであり、現在地Pにいる仮想ユーザが、周囲をひとまわり見回したときに観察されるパノラマ画像ということになる。画像切出部140は、この読み出した全方位画像から、視線方向データφによって示される視線方向の視界を構成する視野画像を切り出す処理を行う。
【0059】
図15に太線で囲って示す視野画像Q(P,φ)は、方位角φ=90°、すなわち、図14に示す現在地Pにいる仮想ユーザが、X軸正方向に視線を向けている場合に切り出される画像を示すものである。画像切出部140は、読み出した全方位画像(フレームF0452)から、方位角「φ−Δ/2」〜「φ+Δ/2」の範囲内の視界を構成する視野画像を切り出す処理を行えばよい。ここで、Δは所定の切出角度であり、切り出された視野画像Qの横幅に相当する角度になる。図示の例の場合、方位角φ=90°という設定であるため、φ=90°の位置を中心にして、横幅Δに相当する視野画像の切り出しが行われている。
【0060】
このように、現在地データ格納部150に格納されている現在地データPおよび視線方向データ格納部160に格納されている視線方向データ(方位角φ)は、視野画像Q(P,φ)の内容を決定する上で重要な役割を果たす。そして、これらのデータP,φは、データ更新部170によって適宜更新されることになる。すなわち、データ更新部170は、ユーザの入力操作に基づいて、現在地Pが経路上で移動するように現在地データを更新する現在地更新処理と、視線方向が変化するように視線方向データを更新する視線方向更新処理と、を行う機能を有している。
【0061】
たとえば、図14に示す例において、現在地PのX座標値が徐々に増加するような現在地更新処理を行うと、現在地Pは、ブランチB23上を図の右方向へ移動してゆくことになり、ユーザには、そのような移動中の視野画像が提示される。すなわち、画像切出部140が全方位画像格納部110から読み出す全方位画像のフレームは、F0452,F0453,F0454,... と変わってゆくことになる。また、図14に示す例において、方位角φが徐々に増加するような視線方向更新処理を行うと、現在地Pにいる仮想ユーザの視線方向は、時計まわりに回転することになり、図15に太線で示す切出枠は、図の右方向へと移動してゆくことになる。
【0062】
一方、ルートマップ作成部180は、現在値データPおよび視線方向データ(方位角)φに基づいて、経路の平面図に、現在地および視線方向を示す指標を重畳したルートマップMを作成する機能を有している。経路の平面図は、ルート情報格納部130内に格納されているルート情報Rに基づいて作成することができるので、その上に、現在地および視線方向を示す指標を重畳する処理を行うことにより、ルートマップMを作成することができる。なお、経路の平面図については、予め画像データとしてルート情報格納部130内に用意しておくようにしてもかまわない。
【0063】
画像表示部190は、画像切出部140が切り出した視野画像Q(P,φ)と、ルートマップ作成部180が作成したルートマップMとを、ディスプレイ画面上に並べて表示する機能を有している。図16は、画像表示部190によって表示された画像の一例を示す平面図である。この例の場合、表示画像は、タイトル表示領域G1、視野画像表示領域G2、ルートマップ表示領域G3の3つの領域によって構成されている。タイトル表示領域G1には、「<○○美術館> 絵画の回廊」なるタイトル文字が表示されており、現在表示中の施設名が特定されている。そして、視野画像表示領域G2には、画像切出部140が切り出した視野画像Q(P,φ)が表示され、ルートマップ表示領域G3には、ルートマップ作成部180が作成したルートマップMが表示されている。
【0064】
上述したとおり、ルートマップMは、経路の平面図に、現在地および視線方向を示す指標を重畳した地図であり、図16に示す例の場合、現在地指標Iとして二重円が描かれ、視線方向指標Jとして扇形が描かれている。図17は、図16に示す画像における現在地指標Iおよび視線方向指標Jの拡大図である。現在地指標Iは、仮想ユーザの経路上の位置を示すものであり、視線方向指標Jは、ユーザの視野の方向を示すものである。図17に破線で示す矢印Eは、視線方向ベクトルであり、仮想ユーザの視線方向を直接示している。視線方向指標Jは、この視線方向ベクトルEを中心線とする扇形の図形であり、仮想ユーザの視野の領域を大まかに示している。もちろん、現在地指標Iおよび視線方向指標Jの形態は図示の形態に限定されるものではなく、実用上は、必要に応じて、経路の平面図とは異なる色彩で表示するのが好ましい。
【0065】
図16に示すとおり、視野画像表示領域G2上の視野画像Q(P,φ)と、ルートマップ表示領域G3上のルートマップMとは、同一画面上に並んで表示されるため、ユーザは、自分が現在、ルートマップM上のどの位置に、どの方向を向いて立っているかを直観的に認識することができ、現在表示されている視野画像Q(P,φ)が、どの位置をどの方向に眺めた画像であるかを把握することができる。しかも、ユーザは、データ更新部170に対して所望の操作入力を与えることにより、現在地Pが経路上で移動するように現在地を更新することができ、また、視線方向が変化するように視線方向を更新することができる。したがって、あたかも、仮想の経路上を歩きながら、所望の方向を観察する疑似体験をすることができる。
【0066】
ここに示す例の場合、ユーザは、図2に示した実在の美術館の回廊を自由に歩き回りながら、視野画像表示領域G2上に動画として提示される視野画像Q(P,φ)を見て、絵画や彫刻を擬似的に鑑賞することができる。しかも、現在地や視線方向を、ルートマップ表示領域G3上のルートマップMにより確認することができる。かくして、この自由視点映像表示装置は、所定の経路に沿って移動する視点から見た任意方向の視界を動画として提示し、ユーザに高い臨場感を与えることができる。
【0067】
<<< §3. データ更新部の具体的な構成例 >>>
ここでは、データ更新部170の具体的な構成例を述べる。ここで述べる実施例の場合、データ更新部170は、図18に例示するようなコントローラ175と、このコントローラを制御するコンピュータによって構成される。このコントローラ175は、コンピュータゲーム用の入力機器として利用されている一般的な装置であり、右側に5つのボタンB1〜B5、中央に3つのボタンB6〜B8、左側に1つのボタンB9が設けられている。
【0068】
データ更新部170の役割は、ユーザの入力操作に基づいて、現在地更新処理と視線方向更新処理とを行うことであるが、コントローラ175は、これら更新処理を行うための入力操作を受け付ける機能を有している。具体的には、図示のボタンB1は前進ボタン、ボタンB2は後退ボタン、ボタンB3は左向きボタン、ボタンB4は右向きボタンとして機能する。
【0069】
ここで、前進ボタンB1と後退ボタンB2とは、現在地更新処理の入力操作に利用され、前進ボタンB1が押されている間、現在地が経路上を所定の進行方向に所定速度で移動するように現在地データの更新が行われ、後退ボタンB2が押されている間、現在地が経路上を進行方向とは逆方向に所定速度で移動するように現在地データの更新が行われる。データ更新部170は、ボタンB1,B2が押されているか否かを検知し、押されている場合には、現在地データ格納部150内に格納されている現在地データを更新する処理を行う。たとえば、経路上の進行方向が、X軸正方向に設定されていた場合、前進ボタンB1が押されている間、現在地P(x,y)のX座標値を所定速度で増加させる更新を行い、後退ボタンB2が押されている間、現在地P(x,y)のX座標値を所定速度で減少させる更新を行う。
【0070】
一方、左向きボタンB3と右向きボタンB4とは、視線方向更新処理の入力操作に利用され、左向きボタンB3が押されている間、視線方向が所定速度で左向きに変化するように視線方向データの更新が行われ、右向きボタンB4が押されている間、視線方向が所定速度で右向きに変化するように視線方向データの更新が行われる。データ更新部170は、ボタンB3,B4が押されているか否かを検知し、押されている場合には、視線方向データ格納部160内に格納されている視線方向データを更新する処理を行う。たとえば、視線方向を示す方位角φが90°に設定されていた場合、ボタンB3が押されている間、方位角φを89°,88°,87°,... と減少させる処理(0°に達した場合は、360°から減少させる処理)を行い、ボタンB4が押されている間、方位角φを91°,92°,93°,... と増加させる処理(360°に達した場合は、0°から増加させる処理)を行う。
【0071】
こうして、ユーザは、ボタンB1〜B4を操作することにより、美術館の回廊を構成する仮想空間内を自由に歩き回り、任意の方向に視線を向けることができる。たとえば、図16に示す例において、進行方向が、X軸正方向に設定されていた場合、前進ボタンB1を押し続けると、現在地Pは、表示領域G3内のルートマップM上における右方向へと所定速度で移動し、後退ボタンB2を押し続けると、現在地PはルートマップM上における左方向へと所定速度で移動する。したがって、表示領域G2には、前進したり、後退したりする状態を示す視野画像Q(P,φ)の動画映像が表示されることになる。また、左向きボタンB3を押し続けると、ルートマップM上の視線方向指標Jは反時計回りに回転し、右向きボタンB4を押し続けると、時計回りに回転する。したがって、表示領域G2には、左を向いたり、右を向いたりする状態を示す視野画像Q(P,φ)の動画映像が表示されることになる。
【0072】
もちろん、各ボタンから指を離せば、仮想空間内でのユーザの動作は停止し、表示領域G2には静止画像としての視野画像Q(P,φ)が表示されることになるので、ユーザは絵画や彫刻をゆっくりと鑑賞することができる。このように、本発明に係る自由視点映像表示装置を用いれば、仮想空間上ではあるが、ユーザに対して極めて臨場感の高い体験をさせることができる。
【0073】
なお、現在地Pや視線方向(方位角φ)の変更速度は、仮想空間内でのユーザの動作速度に対応するものになるので、適切な速度を予め設定しておけばよい。たとえば、ここに示す実施例の場合、美術館の回廊を歩いて鑑賞する体験を与えるものなので、現在地Pの変更速度は、仮想空間内をゆっくりと歩く程度の速度に設定し、方位角φの変更速度は、仮想のユーザがゆっくりと首をまわす程度の速度に設定すればよい。もちろん、各ボタンをn回クリックした後に押し続けると、n倍速モードになる、というように、ユーザの操作に応じて変更速度が可変となるようにしてもかまわない。
【0074】
ところで、ここに示す実施例の場合、前進ボタンB1は所定の進行方向に進む指示、後退ボタンB2は当該進行方向とは逆方向に進む指示を与えるボタンになっているが、ここでいう「進行方向」とは、「視線方向」とは異なるものである。ユーザは仮想空間内のブランチに沿って移動することになるが、ここでいう「進行方向」とは、この移動中のブランチに沿って移動するためのいずれか一方向を意味する。たとえば、図14に示す例の場合、現在地PはブランチB23上に位置し、ユーザは、ブランチB23に沿って移動中である。この場合、「進行方向」は、ノードN2からN3に向かう方向か、逆に、ノードN3からN2に向かう方向か、のいずれかに設定される。
【0075】
そこで、ここに示す実施例では、データ更新部170に、進行方向ベクトルを設定する機能をもたせ、現時点での「進行方向」を認識できるようにしている。進行方向ベクトルは、現在地Pを含むブランチの始点ノードから終点ノードに至るベクトルであり、たとえば、図14に示す例において、ユーザがブランチB23上をノードN2からN3に向かう方向に移動する場合は、ノードN2が始点ノード、ノードN3が終点ノードとなり、進行方向ベクトルは「N2→N3」のように表現できる。逆に、ノードN3からN2に向かう方向に移動する場合の進行方向ベクトルは「N3→N2」になる。
【0076】
データ更新部170は、この進行方向ベクトルが示す方向を進行方向として現在地更新処理を行う。したがって、図14に示す例において、進行方向ベクトル「N2→N3」が設定されているときに前進ボタンB1を押し続けると、現在地Pが終点ノードN3に向かって移動するように現在地データの更新が行われ、後退ボタンB2を押し続けると、現在地Pが始点ノードN2に向かって移動するように現在地データの更新が行われる。この現在地更新処理は、視線方向データ(方位角φ)とは無関係に行われるので、たとえ、φ=270°のとき(視線が始点ノードN2の方向を向いているとき)であっても、進行方向ベクトル「N2→N3」が設定されているときに前進ボタンB1を押し続けると、現在地Pは終点ノードN3に向かって移動することになる。
【0077】
このように、進行方向ベクトルは、移動中のブランチごとに設定されるべきものなので、ノードを介して別なブランチへ乗り換えた場合、新たな進行方向ベクトルを設定する必要がある。また、複数のブランチが接続されているノードに到達した場合には、いずれのブランチに進行するかによって、設定すべき進行方向ベクトルは異なる。そこで、ここに示す実施例の場合、データ更新部170は、現在地Pがいずれかのノードに到達したときに現在地更新処理を一時停止し、到達ノードを始点とする新たなブランチをユーザに選択させ、当該到達ノードを始点ノード、選択されたブランチのもう一方の端点を終点ノードとする新たな進行方向ベクトルの設定を行ってから現在地更新処理を再開する機能を有している。
【0078】
ここでは、図19を参照しながら、分岐を伴う経路において、データ更新部170が行う具体的な現在地更新処理および進行方向ベクトル設定処理を説明する。いま、図19において、ユーザが仮想空間上のブランチB25を、ノードN5からN2に向かって進行中であるものとする。この場合、データ更新部170内に設定されている進行方向ベクトルは「N5→N2」になる。ここで、ユーザが、図18に示すコントローラ175を手にして、前進ボタンB1を押し続けると、現在地Pは、図示する地点P1,P2,P3と移動してゆく。ここで、地点P3はノードN2の位置である。なお、図示の例では、視線方向が進行方向に一致する方向(方位角φ=0°)に設定されているので、視野画像表示領域G2には、正面に進んでゆく動画が表示されることになる(視線ベクトルEが、進行方向ベクトルに一致する)。
【0079】
このように、現在地Pがいずれかのノードに到達すると、データ更新部170は、現在地更新処理を一時停止する。したがって、ユーザが前進ボタンB1を押し続けていたとしても、ノードに到達した時点でユーザの経路上での移動は停止する。図示の例の場合、現在地PがノードN2に到達した時点で現在地更新処理は中止され、現在地PはノードN2に留まることになる。現在地更新処理は、ユーザが、到達ノードN2を始点とする新たなブランチを選択する操作を行うまで保留される。なお、視線方向更新処理は継続して行われるので、ユーザは、ボタンB3,B4を操作することにより、ノードN2の位置において、周囲を見回す操作を行うことができ、新たなブランチを選択するための情報を得ることができる。
【0080】
ここに示す実施例の場合、新たなブランチを選択させるために、視野画像表示領域G2内に方向マーカを表示させ、ユーザにいずれかの方向マーカを選択させる方法を採っている。すなわち、データ更新部170は、現在地Pがいずれかのノードに到達したときに、視野画像Q(P,φ)上に到達ノードを始点とする新たなブランチの方向を示す方向マーカDを表示させる機能を有している。図1において、ルートマップ作成部180からデータ更新部170に向かう矢印は、ルート情報R(ノードの位置情報とブランチの接続情報)がデータ更新部170に与えられることを示している。データ更新部170は、このルート情報Rを参照して、現在地Pがいずれかのノードに到達したことを認識することができ、また、当該到達ノードを始点とする新たなブランチを認識することができる。
【0081】
図19に示す例の場合、到達ノードN2を始点とする新たなブランチは、B12,B23,B25の3本である。ここで、ブランチB25は、これまで移動してきたブランチであるが、到達ノードN2からブランチB25へ引き返すことも可能なので、ブランチB25も選択肢の中に入ることになる。図20は、ノードN2に到達した時点の表示画面を示す平面図である(G2内の視野画像自身は省略)。図20に示す方向マーカD1,D2,D3は、この3本のブランチB12,B23,B25に対応するものであり、ユーザがいずれかの方向マーカを選択する操作入力を行うと、選択された方向マーカに対応するブランチが、新たなブランチとして選択される。
【0082】
この実施例では、コントローラ175に、特定の方向マーカを選択する操作を行うためのマーカ選択ボタンを設けている。すなわち、図18において、ボタンB5がマーカ選択ボタンであり、ユーザが、このマーカ選択ボタンB5を押すたびに、方向マーカの選択が切り替わるようになっている。図20に示す例では、方向マーカD1のみにハッチングを施して示してあるが、これは方向マーカD1のみが強調表示(たとえば、色を変えるとか、輝度を変えるとか、ブリンクさせるとかすればよい)されていることを示している。ユーザがマーカ選択ボタンB5を押すと、強調表示の対象となる方向マーカが、たとえば、D1→D2→D3→D1→... のように順に切り替わってゆく。
【0083】
こうして、ユーザは、マーカ選択ボタンB5を押すことにより、所望の方向マーカを強調表示させることができる。そして、特定の方向マーカが強調表示されている時に、前進ボタンB1を押すと、当該方向マーカの選択が行われることになる。データ更新部170は、こうしてマーカ選択ボタンB5によって選択された方向マーカに対応するブランチを、ユーザが選択したブランチとして、新たな進行方向ベクトルを設定し、現在地更新処理を再開する。
【0084】
図21は、データ更新部170が保持する進行方向ベクトルの設定変更例を示す図である。図19に示すように、ユーザがブランチB25をノードN5からN2に向かって進行している場合、データ更新部170が保持する進行方向ベクトルは「N5→N2」であるが、ノードN2に到達すると、旧進行方向ベクトル「N5→N2」から新進行方向ベクトルに設定変更する処理が行われる。このとき、新進行方向ベクトルの候補は、図示のとおり、「N2→N1」,「N2→N3」,「N2→N5」の3通りであり、それぞれ方向マーカD1,D2,D3に対応する。したがって、たとえば、ユーザが方向マーカD2を選択したとすると、新進行方向ベクトル「N2→N3」が設定される。このベクトルは、図19に示すブランチB23を、始点ノードN2から終点ノードN3に進むことを示すものである。
【0085】
このように、ここに示す実施例の場合、ノードに到達するたびに現在地更新を一時停止し、ユーザに新たなブランチを選択させてから現在地更新を再開するようにしたため、対象となる経路がノードにおいて分岐を伴うものであっても、ユーザは自由意志で任意の方向に移動することができる。
【0086】
なお、図20に示す方向マーカD1,D2,D3は、図19のノードN2において表示されるマーカであり、T字路を構成する3つのブランチを選択するためのものである。したがって、たとえば、L字路を構成するノードN3では、2つの方向マーカのみが表示されることになり、十字路を構成するノードがあれば、4つの方向マーカが表示されることになる。データ更新部170には、ルート情報Rとして、各ノードについてのブランチの接続情報が与えられているので、個々のノードごとに適切な方向マーカの表示を行うことができる。
【0087】
また、各ノードにおいて、ユーザは視線方向を変えて周囲を見回すことができるので、データ更新部170は、視線方向データ(方位角φ)を参照して、視野画像Q(P,φ)のどの位置にどの方向マーカを重畳表示するかを判断し、視野画像Q(P,φ)上の適切な位置に各方向マーカを重畳する処理を行う必要がある。更に、実用上は、各方向マーカの形状として、ユーザに対しておおまかな進行方向を示唆することができる形状を採用するのが好ましい。図20に示す例では、方向マーカD1およびD2は、左方向および右方向への進行を示唆できるように三角形とし、方向マーカD3は背面方向への進行を示唆できるように楕円形としている。
【0088】
以上、ノードにおいて、進行方向ベクトルの設定を変更する処理の一例を述べたが、実用上は、進行方向ベクトルの設定変更処理とともに視線方向を更新する処理も併せて行うのが好ましい。たとえば、図19に示す例において、ユーザがブランチB25に沿ってノードN2に到達した後、図20に示す方向マーカD2を選択して、ブランチB23をノードN3に向けて移動した場合を考えてみる。この場合、進行方向ベクトルが「N5→N2」から「N2→N3」に変更されることは、既に述べたとおりである。また、現在地Pの移動経路も、ブランチB25からブランチB23へと変遷することになる。ただ、視線方向については、ユーザが自発的に、左向きボタンB3や右向きボタンB4を操作して変更しない限り、ノードN2を通過した前後で変わりはない。
【0089】
たとえば、図19に示す例の場合、ブランチB25を移動中の視線ベクトルEが図の上方(方位角φ=0°)であったとすると、ブランチB23に侵入したときの視線方向も同じ方向のままである。これは、ブランチB25を移動中は、視線を進行方向に向けていたのに、ブランチB23に侵入した後は、顔を左向きにして、視線を回廊の壁面に向けて移動することを意味する。もちろん、ユーザは、右向きボタンB4を押すことにより、視線を進行方向に向けることができるが、通常、人間は顔を進行方向に向けて歩行するのが自然であるので、曲がり角を曲がったときに、進行方向ベクトルのみが変更され、視線ベクトルが変更されないのは不自然である。
【0090】
このような問題を解決するには、進行方向ベクトルの変更処理とともに視線方向更新処理を行うようにすればよい。ここに示す実施例の場合、ルート情報格納部130には、直線状のブランチの集合によって構成される経路を示すルート情報Rが格納されており、すべてのブランチは直線によって構成されている。そこで、データ更新部170が、第1のブランチから第2のブランチへ進んだときに、進行方向ベクトルを基準とした視線方向が一定となるように、第1のブランチと第2のブランチのなす角度θに基づいて視線方向データを更新する処理を行うようにすればよい。
【0091】
図22は、このような更新処理の具体的な方法を説明するための平面図である。この例では、XY二次元座標系上に、5つのノードN11,N12,N13,N14,N15が定義されており、ノードN11,N12,N13が第1の直線(Y軸に平行)、ノードN14,N12,N15が第2の直線を構成し、両直線は交差角θで交差している。ここで、ノードN11からN12に向かって進行中のユーザが、ノードN12に到達した後、ノードN12からN15に進行する場合を考えてみよう。この場合、進行方向ベクトルは、ノードN12を通過することにより、「N11→N12」から「N12→N15」に変更される。すなわち、図22の右下に示すように、進行方向ベクトルをそれぞれV(N11→N12),V(N12→N15)と表せば、両ベクトルのなす角度は交差角θになる。
【0092】
一方、ノードN11からN12へ向かうブランチ上の任意の地点P1において、視線ベクトルE1が図示のような方向を向き、視線方向を示す方位角がφ1に設定されており、当該方位角φ1を維持したままノードN12に到達したものとしよう。この場合、ノードN12からN15へ向かうブランチに入った地点P2における視線ベクトルE2が図示のような向きに自動修正されれば、ユーザにとって自然な視線方向を維持することができる。すなわち、ノードN12の角を曲がる前、ユーザの視線は進行方向に対して斜め右方向を向いていたので、ノードN12の角を曲がった後も、視線が進行方向に対して斜め右方向を向いていれば自然である(もちろん、進行方向を向いていた場合は、角を曲がった後も進行方向を向いていることになる)。
【0093】
視線ベクトルE2を図示の方向に向けるためには、ノードN12を通過後の方位角φ2を、φ2=φ1+θに設定すればよい。すなわち、第1のブランチから第2のブランチへ進んだときに、それぞれの進行方向ベクトルを基準とした視線方向が一定となるように、第1のブランチと第2のブランチのなす角度θに基づいて視線方向データを更新する処理を行えばよい。進行方向ベクトルV(N11→N12)を基準とすれば、視線ベクトルE1は角度φ1だけ右方向に向いており、進行方向ベクトルV(N12→N15)を基準とすれば、視線ベクトルE2はやはり角度φ1だけ右方向に向いていることになる。
【0094】
<<< §4. いくつかの変形例 >>>
以上、本発明に係る自由視点映像表示装置を基本的な実施形態に基づいて説明したが、ここでは、いくつかの変形例を掲げておく。
【0095】
(1) 全方位画像の作成法
§1では、図7に示すような撮影装置を用いた撮影により得られた歪曲円形画像から、仰角が所定の基準値以下の領域を切り出し、これに歪み補正を施すことにより全方位画像(パノラマ画像)を得る例を示したが、もちろん、全方位画像の作成に用いる装置は、図7に示す撮影装置に限定されるものではない。たとえば、図7に示す撮影装置では、魚眼レンズ10を用いてビデオカメラの撮像面に歪曲円形画像を形成していたが、魚眼レンズ10の代わりに全方位ミラーなどを利用してもかまわない。
【0096】
また、§1では、実在の施設を撮影した実写画像に基づいて全方位画像を作成する例を示したが、コンピュータ上に仮想の施設を作成し、この仮想施設内の仮想経路を示す三次元CG画像に基づいて作成された画像を全方位画像として用いるようにしてもよい。この場合、全方位画像格納部110内には、仮想の経路を示す三次元CG画像に基づいて作成された矩形状のパノラマ画像が全方位画像として格納されることになる。
【0097】
(2) 曲線からなる経路
これまで述べた実施例は、いずれも直線状のブランチのみからなる経路を用いた例であるが、本発明は、曲線状の経路を含む施設についても適用可能である。具体的には、曲線状の経路については、複数のノードとこれらを結ぶ直線からなる折れ線によって近似すれば、これまでどおり、直線状のブランチのみからなる経路として取り扱うことができる。もちろん、一対のノード間をベジェ曲線などで結ぶ曲線状のブランチを定義することも可能である。この場合、曲線上の任意の点の位置を、0〜1の媒介変数によって示すようにすれば、対応するフレームを求めるための補間演算も支障なく行うことができる。
【0098】
(3) 仰角の調整
これまで述べた実施例では、視線方向を示すパラメータとして、方位角φのみを用いているが、更に仰角Ψというパラメータを追加することも可能である。この場合、視線ベクトルEは、方位角φと仰角Ψとによって定まることになる。このように仰角Ψをパラメータとして利用する場合、画像切出部140による切出枠は、方位角φと仰角Ψとの双方に応じて定まる。したがって、たとえば、図15に示す例の場合、太線で示す切出枠の縦寸法をより短く設定し、この切出枠の横方向位置を方位角φに基づいて定め、縦方向位置を仰角Ψに基づいて定めればよい。また、コントローラ175には、上向きボタンや下向きボタンなど、仰角Ψを変更する指示を与えるためのボタンを設けておけばよい。
【0099】
(4) コントローラの構成
図18に示すコントローラ175は、データ更新部170の一部を構成する機器としての一例を示すものであり、実用上は、この他にも様々な形態の機器をコントローラとして利用することが可能である。特に、操作ボタンなどの形態や配置は、設計上、自由に設定可能である。§3では、ボタンB6〜B9の役割についての説明はなされていないが、これらのボタンには、たとえば、移動速度を設定する機能や、上述した仰角Ψを設定する機能など、様々な機能を割り当てることができる。
【0100】
また、ボタンの代わりに、ジョイスティックを用いることも可能である。たとえば、1本のジョイスティックを前方に倒すと前進指示、後方に倒すと後退指示、左方に倒すと左向き指示、右方に倒すと右向き指示を与えるようにすれば、ボタンB1〜B4の代わりに用いることができる。更に、傾斜角度に基づいて、移動速度を変化させるような使い方もできる。
【0101】
(5) 視線方向と進行方向との連携
これまで述べた実施例では、進行方向ベクトルは、ノードに到達したときにのみ設定されるようになっており、1つのブランチを移動中に視線方向を変えても、進行方向ベクトルは変化しない仕様になっていたが、視線方向に応じて進行方向ベクトルを逆転させるような運用を採ることも可能である。
【0102】
たとえば、進行方向ベクトルに対する視線ベクトルのなす角度が90°を越えた場合、あるいは145°を越えた場合、というような臨界条件を予め設定しておき、当該臨界条件を越えた場合に進行方向ベクトルを反転させるようにしておけば、前進ボタンを押し続けながらユーザが後ろを振り返ったような場合、進行方向ベクトルが反転し、これまでとは逆向きに(振り返った方向に)移動するようになる。このような運用を行えば、人間の行動により近い、臨場感をもった疑似体験を提供することができる。
【符号の説明】
【0103】
10:魚眼レンズ
20:ビデオカメラ
30:データ処理ユニット
40:台車
110:全方位画像格納部
120:対応関係情報格納部
130:ルート情報格納部
140:画像切出部
150:現在地データ格納部
160:視線方向データ格納部
170:データ更新部
175:コントローラ
180:ルートマップ作成部
190:画像表示部
B:ブランチ
B1〜B9:ボタン
B12〜B56:ブランチ
C:対応関係情報
D,D1〜D3:方向マーカ
E,E1,E2:視線ベクトル
F0000〜F2400:フレーム(フレーム番号)
G1:タイトル表示領域
G2:視野画像表示領域
G3:ルートマップ表示領域
H:天頂点
I:現在地指標
J:視線方向指標
M:ルートマップ
M1〜M5,Ma,Mb:中間地点
N1〜N15:ノード
O:座標系の原点
P,P1〜P3:現在地/現在地データ(XY座標値)
Q(P,φ):視野画像
R:ルート情報
V:進行方向ベクトル
X:座標軸
Y:座標軸
Δ:切出角度
φ,φ1,φ2:視線方向/視線方向データ(方位角)
θ:ブランチ間の交差角度
【技術分野】
【0001】
本発明は、自由視点映像表示装置に関し、特に、所定の経路に沿って移動する視点から見た任意方向の視界を表示する技術に関する。
【背景技術】
【0002】
魚眼レンズや全方位ミラーを装着したカメラを用いると、周囲360°の視界をもつ全方位画像を撮影することができる。予め、このような全方位画像を用意しておけば、視聴者の希望する任意の視点位置から任意の方向を観察した画像を提示するサービスを提供することができる。
【0003】
たとえば、下記の特許文献1には、情報提供センターに全方位画像を用意しておき、視聴者の求めに応じて、端末装置の画面上に任意視点から任意方向を観察した画像を表示させるための画像データを送信する技術が開示されている。また、グーグル株式会社(本社:米国カリフォルニア州のGoogle Inc. )は、「ストリートビュー」と称して、インターネットを利用して道路上の任意視点から任意方向を観察した景色を表示するサービスを提供している。
【0004】
一方、特許文献2には、一般的なデジタルカメラを用いて撮影された複数の画像をつなぎ合わせて全方位画像を作成する装置において、個々の画像の撮影方向をリアルタイムで検知し、撮影された画像をリアルタイムで読み出して表示する技術が開示されている。この装置を利用すれば、撮影者は、全方位の空間のうち、どの領域が撮影済みであり、どの領域が未撮影であるかを、リアルタイムで認識することができる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2001−008232号公報
【特許文献2】特開2010−199971号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
全方位画像を利用した従来の画像表示装置は、あくまでも静止画像を提示することを目的とした装置であり、ユーザが任意の視点を指定し、任意の視線方向を指定すると、指定に応じた静止画像が提示されるものである。すなわち、ユーザは、希望どおりの視点位置から希望どおりの方向を眺めた画像を得ることが可能であるが、提示されるのはあくまでも静止画像である。もちろん、グーグル社の「ストリートビュー」などでは、道路に沿って視点位置を移動させることも可能であるが、視点位置は道路上に離散的に設定された特定点に限定されるため、ユーザに提示されるのは、離散的な視点から見た複数の静止画像にすぎない。
【0007】
このように、全方位画像を利用した画像表示を行ったとしても、表示される画像が静止画像である限り、ユーザに十分な臨場感を与えることはできない。ユーザの立場からは、あくまでも特定の視点から撮影した静止画像を眺めているだけであり、「自分が実際にその景色の中に存在する」という臨場感を味合うことはできない。
【0008】
そこで本発明は、所定の経路に沿って移動する視点から見た任意方向の視界を動画として提示し、ユーザに高い臨場感を与えることが可能な自由視点映像表示装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
(1) 本発明の第1の態様は、所定の経路に沿って移動する視点から見た任意方向の視界を表示する自由視点映像表示装置において、
経路に沿って移動しながら全方位カメラを用いて撮影した360°の視界をもつ全方位画像を、フレーム単位で格納する全方位画像格納部と、
経路を構成する複数のノードの各位置を示す位置情報と、これらノード間を接続するブランチを示す接続情報と、によって構成されるルート情報を格納するルート情報格納部と、
全方位画像格納部に格納されている全方位画像の個々のフレームと、ルート情報格納部に格納されているルート情報におけるノードもしくはブランチ上の1点と、の対応関係を示す対応関係情報を格納する対応関係情報格納部と、
経路上の現在地を示す現在地データを格納する現在地データ格納部と、
視線方向を示す視線方向データを格納する視線方向データ格納部と、
ユーザの入力操作に基づいて、現在地が経路上で移動するように現在地データを更新する現在地更新処理と、視線方向が変化するように視線方向データを更新する視線方向更新処理と、を行うデータ更新部と、
現在地データによって示される現在地に対応する現在地フレームを、対応関係情報を参照することにより認識し、全方位画像格納部から現在地フレームの全方位画像を読み出し、読み出した全方位画像から、視線方向データによって示される視線方向の視界を構成する視野画像を切り出す画像切出部と、
現在値データおよび視線方向データに基づいて、経路の平面図に、現在地および視線方向を示す指標を重畳したルートマップを作成するルートマップ作成部と、
視野画像とルートマップとを並べて表示する画像表示部と、
を設けるようにしたものである。
【0010】
(2) 本発明の第2の態様は、上述の第1の態様に係る自由視点映像表示装置において、
全方位画像格納部が、魚眼レンズもしくは全方位ミラーを装着した全方位カメラを用いて、所定の水平面より上方に位置する半球状視界を撮影して得られる歪曲円形画像から、仰角が所定の基準値以下の領域を切り出し、これに歪み補正を施すことにより得られる矩形状のパノラマ画像を全方位画像として格納するようにしたものである。
【0011】
(3) 本発明の第3の態様は、上述の第1の態様に係る自由視点映像表示装置において、
全方位画像格納部が、仮想の経路を示す三次元CG画像に基づいて作成された矩形状のパノラマ画像を全方位画像として格納するようにしたものである。
【0012】
(4) 本発明の第4の態様は、上述の第1〜第3の態様に係る自由視点映像表示装置において、
ルート情報格納部が、二次元座標系上における個々のノードの座標値を示す位置情報と、全ノード中の任意の2ノードの組み合わせについて、それぞれ相互間を接続する直線状のブランチが存在するか否かを示す接続情報と、によって構成されるルート情報を格納し、
現在地データ格納部が、二次元座標系上における現在地の座標値を示す現在地データを格納するようにしたものである。
【0013】
(5) 本発明の第5の態様は、上述の第4の態様に係る自由視点映像表示装置において、
視線方向データ格納部が、二次元座標系の所定の基準軸に対する方位角φ(0°≦φ<360°)を視線方向データとして格納し、
画像切出部が、読み出した全方位画像から、方位角「φ−Δ/2」〜「φ+Δ/2」の範囲内の視界(ただし、Δは所定の切出角度)を構成する視野画像を切り出すようにしたものである。
【0014】
(6) 本発明の第6の態様は、上述の第1〜第5の態様に係る自由視点映像表示装置において、
全方位画像格納部が、一連のフレーム番号が付与されたフレーム単位の画像を格納し、
対応関係情報格納部が、個々のノードに対応するフレームのフレーム番号を特定する対応関係情報を格納し、
画像切出部が、現在地がノードである場合には、当該ノードに対応するフレーム番号が付与されたフレームを現在地フレームと認識し、現在地がブランチ上の中間地点である場合には、当該ブランチの両端に位置する一対のノードに対応する一対のフレーム番号に基づく線形補間により求めたフレーム番号が付与されたフレームを現在地フレームと認識するようにしたものである。
【0015】
(7) 本発明の第7の態様は、上述の第1〜第6の態様に係る自由視点映像表示装置において、
データ更新部が、
前進ボタンと、後退ボタンと、左向きボタンと、右向きボタンと、を有するコントローラを備え、
前進ボタンが押されている間、現在地が経路上を所定の進行方向に所定速度で移動するように現在地データを更新し、後退ボタンが押されている間、現在地が経路上を進行方向とは逆方向に所定速度で移動するように現在地データを更新し、左向きボタンが押されている間、視線方向が所定速度で左向きに変化するように視線方向データを更新し、右向きボタンが押されている間、視線方向が所定速度で右向きに変化するように視線方向データを更新するようにしたものである。
【0016】
(8) 本発明の第8の態様は、上述の第7の態様に係る自由視点映像表示装置において、
データ更新部が、
現在地を含むブランチの始点ノードから終点ノードに至る進行方向ベクトルを設定する機能を有し、進行方向ベクトルが示す方向を進行方向として現在地更新処理を行い、
現在地がいずれかのノードに到達したときに、現在地更新処理を一時停止し、到達ノードを始点とする新たなブランチをユーザに選択させ、到達ノードを始点ノード、選択されたブランチのもう一方の端点を終点ノードとする新たな進行方向ベクトルの設定を行ってから現在地更新処理を再開するようにしたものである。
【0017】
(9) 本発明の第9の態様は、上述の第8の態様に係る自由視点映像表示装置において、
データ更新部が、現在地がいずれかのノードに到達したときに、視野画像上に到達ノードを始点とする新たなブランチの方向を示す方向マーカを表示させ、
コントローラが、特定の方向マーカを選択する操作を行うためのマーカ選択ボタンを更に有し、
データ更新部が、マーカ選択ボタンによって選択された方向マーカに対応するブランチを、ユーザが選択したブランチとするようにしたものである。
【0018】
(10) 本発明の第10の態様は、上述の第8または第9の態様に係る自由視点映像表示装置において、
ルート情報格納部が、直線状のブランチの集合によって構成される経路を示すルート情報を格納しており、
データ更新部が、第1のブランチから第2のブランチへ進んだときに、進行方向ベクトルを基準とした視線方向が一定となるように、第1のブランチと第2のブランチのなす角度θに基づいて視線方向データを更新する処理を行うようにしたものである。
【0019】
(11) 本発明の第11の態様は、上述の第1〜第10の態様に係る自由視点映像表示装置を、コンピュータに専用のプログラムを組み込むことにより構成したものである。
【発明の効果】
【0020】
本発明に係る自由視点映像表示装置によれば、所定の経路に沿って移動する視点から見た任意方向の視界を動画として提示することができる。ユーザは、データ更新部に対する入力操作により、経路上を自由に動きまわることができ、視線方向を自由に変更することができる。このため、ユーザには、当該経路に沿って実際に自分が移動しているような高い臨場感を与えることが可能になる。また、現在地および視線方向に応じた画像とともに、現在地および視線方向を示すルートマップが表示されるため、ユーザは、自分の現在地と視線方向を容易に認識することができる。
【図面の簡単な説明】
【0021】
【図1】本発明の基本的な実施形態に係る自由視点映像表示装置の構成を示すブロック図である。
【図2】図1に示す装置による提示対象となる美術館の平面図である(ハッチングは壁面を示す)。
【図3】図2に示す美術館の参観経路を構成するノードとブランチを示す平面図である。
【図4】図3に示すノードとブランチをXY二次元座標上に表した例を示す平面図である。
【図5】図1に示す装置におけるルート情報格納部130内に格納されるルート情報Rの一例を示す図である。
【図6】図5に示すルート情報Rを実フォーマットで示す図である。
【図7】図1に示す全方位画像格納部110内に格納される全方位画像の撮影装置の一例を示す側面図である。
【図8】図7に示す撮影装置を用いて撮影された歪曲円形画像の平面図である。
【図9】図7に示す撮影装置を用いて撮影された歪曲円形画像に基づいて作成された矩形状のパノラマ画像(全方位画像)の一例を示す平面図である。
【図10】図1に示す装置における対応関係情報格納部120内に格納される対応関係情報の役割を示す図である。
【図11】ブランチ上の中間地点について、対応するフレームを決定する線形補間プロセスを示す平面図である。
【図12】図1に示す装置における対応関係情報格納部120内に格納される対応関係情報Cの一例を示す図である。
【図13】図12に示す対応関係情報Cを実フォーマットで示す図である。
【図14】図3の経路上に現在地Pおよび視線方向φ(方位角)を定義した例を示す平面図である。
【図15】図14に示す現在地Pに対応するフレームF0452から、方位角φ=90°の視線方向に対応する視野画像Q(P,φ)を切り出す作業を示す平面図である。
【図16】図1に示す装置における画像表示部190によって表示された画像の一例を示す平面図である。
【図17】図16に示す画像における現在地を示す指標Iおよび視線方向を示す指標Jの拡大図である。
【図18】図1に示す装置におけるデータ更新部170の一部を構成するコントローラの上面図である。
【図19】図3の経路上をノードN5からノードN2に向かって移動している状態を示す平面図である。
【図20】現在地が図19に示すノードN2に到達した際に、視野画像表示領域G2内に方向マーカが表示された状態を示す平面図である(G2内の視野画像自身は表示を省略)。
【図21】図1に示す装置におけるデータ更新部170が保持する進行方向ベクトルの設定変更例を示す図である。
【図22】進行方向ベクトルの設定変更とともに視線方向を更新する実施例を示す平面図である。
【発明を実施するための形態】
【0022】
以下、本発明を図示する実施形態に基づいて説明する。
【0023】
<<< §1. 基本的な実施形態に係る装置の構成 >>>
図1は、本発明の基本的な実施形態に係る自由視点映像表示装置の構成を示すブロック図である。図示のとおり、この装置は、全方位画像を格納する全方位画像格納部110、対応関係情報を格納する対応関係情報格納部120、ルート情報を格納するルート情報格納部130、全方位画像から視野画像を切り出す画像切出部140、現在地データを格納する現在地データ格納部150、視線方向データを格納する視線方向データ格納部160、現在地データおよび視線方向データを更新するデータ更新部170、ルートマップを作成するルートマップ作成部180、視野画像とルートマップとを表示する画像表示部190によって構成されている。
【0024】
もっとも、実際には、これらの各構成要素はコンピュータおよびその周辺機器を利用して構成することができる。すなわち、各格納部110,120,130,150,160は、コンピュータ用のメモリやディスク装置などの記憶装置によって構成することができ、画像切出部140およびルートマップ作成部180は、所定のプログラムに基づいて動作するコンピュータのプロセッサによって構成することができ、データ更新部170は、当該プロセッサおよびユーザインターフェイスを備えたコンピュータ用の入力装置によって構成することができ、画像表示部190は、コンピュータ用のディスプレイ装置およびその制御装置によって構成することができる。したがって、実用上は、この自由視点映像表示装置は、コンピュータ機器に所定のプログラムを組み込むことによって構成される。
【0025】
この装置は、所定の経路に沿って移動する視点から見た任意方向の視界を表示する機能を有する装置であり、表示対象となる経路は、屋外であっても、屋内であってもかまわない。したがって、この装置は、たとえば、様々な史跡や観光地の景色をディスプレイ画面上に提示し、ユーザに、あたかも当該史跡や観光地内を自由に歩き回って見学しているような体験をさせることが可能である。以下の説明では、便宜上、図2に示すような平面図で示される間取りをもった美術館の館内をユーザに提示する単純な例について、上記各構成要素の機能を述べることにする。
【0026】
ここでは、この図2に示す美術館が、絵画と彫刻を展示するための実在の施設であり、図示のとおり、入口から入館した参観者は、内部の回廊を自由に歩き回りながら展示物を鑑賞し、出口から退館するものとしよう。図2にハッチングを施した部分は、回廊の壁面を示しており、絵画は、この壁面に展示されているものとする。また、回廊の床には、適宜、彫刻が置かれているものとする。図1に示す自由視点映像表示装置は、基本的には、この実在の美術館の館内を撮影した画像をユーザに提示するための装置ということになるが、ユーザが、館内を自由に歩き回りながら、視線を任意の方向に向けて観察した状態をシミュレートし、動画として提示する機能を有している。
【0027】
そのために、本発明では、提示対象となる施設の経路を、ノードとブランチとによって表現し、ルート情報として取り扱うことにする。図3は、図2に示す美術館の参観経路を構成するノードとブランチを示す平面図であり、個々の黒点はノード、個々の直線はブランチ、個々の破線は実際の経路の輪郭を示している。図示のとおり、この例では、6個のノードN1〜N6と、6本のブランチB12〜B56とが定義されている。各ブランチは、2つのノードを接続する単位経路であり、ここでは便宜上、ノードNiとNjとを結ぶブランチを、ブランチBijという符号で示している。たとえば、ブランチB12は、ノードN1とN2とを結ぶ単位経路である。
【0028】
経路上のどの位置にノードを定義し、どのノード間にブランチを定義するかは、この装置の設計者の判断に委ねられるが、一般的には、経路の分岐点、曲がり角、端点にノードを定義し、実際の経路に応じて、必要なノード間にブランチを定義すればよい。図示の例の場合、各ブランチはいずれも直線をなすが、実在の経路が曲線を含む場合には、曲線からなるブランチを定義してもかまわない。ただ、ブランチが直線であれば、その両端点のノードを特定するだけで当該ブランチも特定されるので、実用上は、すべてのブランチを直線によって構成するのが好ましい。実在の経路が曲線を含む場合には、複数のノードとこれらを結ぶ直線からなる折れ線によって擬似的に曲線を近似すればよい。
【0029】
ここでは、経路を構成する複数のノードの各位置を示す位置情報と、これらノード間を接続するブランチを示す接続情報と、によって構成される情報をルート情報Rと呼ぶことにする。図1に示す装置におけるルート情報格納部130は、このようなルート情報を格納する構成要素である。各ノードの位置情報は、実際には、座標値として与えられる。図4は、図3に示すノードとブランチをXY二次元座標上に表した例を示す平面図である。各ノードN1〜N6の符号に括弧書きで示した一対の座標は、当該ノードのX座標値およびY座標値である。たとえば、N1(10,60)は、ノードN1の位置座標が(10,60)であることを示している。
【0030】
図5は、図4に示す具体的な経路についてのルート情報Rを示す図である。このルート情報Rは、経路を構成する複数のノードN1〜N6の各位置を示す位置情報と、これらノード間を接続するブランチを示す接続情報と、によって構成される。図示の例の場合、ノードの位置情報は、XY二次元座標系上における個々のノードの座標値を示す情報によって構成される。すなわち、図5の上段に示す位置情報は、図4の各ノードN1〜N6のXY座標値を示している。
【0031】
一方、ブランチの接続情報は、全ノード中の任意の2ノードの組み合わせについて、それぞれ相互間を接続する直線状のブランチが存在するか否かを示す情報によって構成されている。たとえば、図5の下段に示す接続情報は、横方向に6つのノードN1〜N6の欄が設けられ、縦方向にも6つのノードN1〜N6の欄が設けられ、合計36個の要素をもつ行列に「0」または「1」なる数字が記載されている。ここで、「0」は、当該2ノードの組み合わせについて相互間を接続する直線状のブランチが存在しないことを示し、「1」は、そのようなブランチが存在することを示している。
【0032】
たとえば、第1行目には、「010000」なる数字が記載されているが、これは、ノード「N1−N2」という組み合わせについては相互間を接続する直線状のブランチB12が存在するが、ノード「N1−N1」,「N1−N3」,「N1−N4」,「N1−N5」,「N1−N6」という組み合わせについては相互間を接続する直線状のブランチが存在しないことを示している。ここで、行列の対角要素は、同一ノードの組み合わせを示しているので必ず「0」になる。図4に示す経路における各ノードのブランチを介した接続関係を参照すれば、図5の下段に示す接続情報が、図4の経路を示していることが容易に理解できよう。
【0033】
図1に示す装置におけるルート情報格納部130は、この図5に示すようなルート情報Rを格納する機能を有している。すなわち、ルート情報格納部130は、経路を構成する複数のノードの各位置を示す位置情報と、これらノード間を接続するブランチを示す接続情報と、によって構成されるルート情報Rを格納する構成要素ということになる。なお、図5に示すルート情報Rには、説明の便宜上、冗長な情報が付加されている。実際には、ルート情報格納部130には、図6に示すような実フォーマットで記述されたルート情報Rが格納される。
【0034】
図6に示すルート情報Rは、実質的に図5に示すルート情報Rと同じ内容を示すものである。すなわち、第1行目の数字「6」は全ノード数を示すものであり、続く第2〜7行目は、図5の上段に示す座標値の部分のみを示すものであり、続く第8〜13行目は、図5の下段に示す行列の各要素の部分のみを示すものである。もちろん、この図6に示す実フォーマットは、一例を示すものであり、ルート情報Rの実フォーマットとしては、この他にも様々な形式のものを採用することができる。
【0035】
一方、図1に示す装置における全方位画像格納部110には、図2に示す美術館の参観経路に沿って移動しながら全方位カメラを用いて撮影した360°の視界をもつ全方位画像が、フレーム単位で格納される。このような全方位画像を準備するにあたっては、すべてのブランチに沿った撮影画像が得られるのであれば、撮影を行う順序は任意である。
【0036】
図7は、このような全方位画像の撮影装置の一例を示す側面図である。この撮影装置は、図示のとおり、魚眼レンズ10、ビデオカメラ20、データ処理ユニット30、台車40によって構成され、360°の視界をもつ画像を撮影可能な全方位カメラとして機能する。図7に示すように、魚眼レンズ10は、この装置の最上部に配置され、所定の水平面より上方に位置する半球状視界の像をビデオカメラ20の撮像面に形成する。このような構成を採ると、ビデオカメラ20の撮像面には、図8に示すような歪曲円形画像が結像する(ハッチングを施したドーナツ状部分とその内部の白地の円形部分との両方が、魚眼レンズ10で撮影した歪曲円形画像になる。)。この歪曲円形画像の中心にある天頂点Hは、図7に示す撮影装置の鉛直上方の位置にある点(回廊の天井に相当)になり、この歪曲円形画像の外周は、図7に示す撮影装置による撮影視野(周囲360°の視野)の下端位置に相当する。
【0037】
ここに示す実施例の場合、絵画と彫刻を展示した美術館の館内が表示対象となっているため、天頂点Hの近傍にある白地の円形部分の画像(回廊の天井部分の画像に相当)は利用せず、図にハッチングを施したドーナツ状の領域のみを利用することにする。図9は、図8に示す歪曲円形画像から、仰角が所定の基準値以下の領域(図にハッチングを施した領域)を切り出し、これに歪み補正を施すことにより得られる矩形状のパノラマ画像を示す平面図である。このパノラマ画像の下辺に示す0°〜360°の方位角は、図8の歪曲円形画像の円周上に示された0°〜360°の方位角に対応する。すなわち、この図9に示すパノラマ画像は、図7に示す魚眼レンズ10の位置に視点をおき、周囲360°を眺めた画像ということになる。
【0038】
ビデオカメラ20で撮影された歪曲円形画像のデータは、データ処理ユニット30へ送られる。データ処理ユニット30は、コンピュータによって構成され、歪曲円形画像のデータは、ハードディスク装置内に格納される。また、ここに示す実施例の場合、データ処理ユニット30は、この歪曲円形画像からパノラマ画像を作成する処理を行う機能を有している。したがって、図8に示すような歪曲円形画像は、データ処理ユニット30内で図9に示すようなパノラマ画像に変換され、ハードディスク装置内に格納される。ここに示す実施例の場合、このようにして得られたパノラマ画像を全方位画像として用いることになる。
【0039】
図8に示す歪曲円形画像が歪んだドーナツ状の画像であるのに対して、図9に示すパノラマ画像は矩形状の画像であるため、データ処理ユニット30は、歪み補正を伴う画像変換処理を行う必要がある。このような画像変換処理は公知の技術であるため、ここでは詳しい説明は省略する。なお、通常、このような歪み補正を伴う画像変換処理を行っても、歪みを完全に除去することは困難であるので、得られるパノラマ画像にも若干の歪みが残ることになるが、実用上支障のないレベルまでの歪み補正が可能である。
【0040】
以上、図7に示す撮影装置を経路上の1地点に設置し、その周囲のパノラマ画像を得る手順を説明したが、この撮影装置を所定経路に沿って移動させながら、ビデオカメラ20により動画撮影を行えば、図9に示すようなパノラマ画像(全方位画像)を1フレームとして、連続した複数フレームから構成される動画データが得られることになる。図1に示す装置における全方位画像格納部110には、参観経路に沿って移動しながら上記全方位カメラを用いて撮影したパノラマ画像がフレーム単位で格納される。
【0041】
前述したとおり、すべてのブランチに沿った撮影画像が得られれば、撮影の順序は任意であるが、ここでは、説明の便宜上、図3に示す経路において、ノードN1→N2(ブランチB12)、ノードN2→N3(ブランチB23)、ノードN3→N6(ブランチB36)、ノードN6→N5(ブランチB56)、ノードN5→N4(ブランチB45)、ノードN2→N5(ブランチB25)の順に、台車40を一定速度で移動させながら撮影を行い、一連のフレーム番号F0000〜F2400が付された合計2401枚のパノラマ画像(全方位画像)からなる動画が得られたものとしよう。
【0042】
全方位画像格納部110には、このような合計2401枚のパノラマ画像が、フレーム単位で格納されており、画像切出部140は、任意のフレーム番号が付与された1枚のパノラマ画像を読み出すことができる。これら2401枚のパノラマ画像は、それぞれ経路上の特定の地点において撮影された全方位画像ということになり、それぞれ特定の地点に対応づけられる。対向関係情報格納部120に格納されている対向関係情報は、このような対応関係を示す情報である。
【0043】
たとえば、図10に示すように、ノードNから下方に伸びるブランチBに沿って、図7に示す撮影装置を移動させながら撮影を行ったとすると、図示のとおり、ノードNではフレームF0000、中間地点M1ではフレームF0001、中間地点M2ではフレームF0002、中間地点M3ではフレームF0003、... というように、それぞれの位置で撮影したパノラマ画像(全方位画像)が各フレームとして得られることになる。台車40を一定速度で移動させれば、ブランチ上に等間隔で定義された個々の地点について、それぞれパノラマ画像のフレームが対応づけられる。
【0044】
ここで、第i番目のフレームFiが撮影された中間地点Miと、第(i+1)番目のフレームF(i+1)が撮影された中間地点M(i+1)との距離は、ビデオカメラ20のフレーム撮影間隔と台車40の移動速度とに応じて決定される。たとえば、1秒間に30フレームという撮影間隔(人間の眼が動画として認識可能な撮影間隔であればよい。)で撮影すれば、台車40が1秒間に進む距離の間に30フレーム分のパノラマ画像が対応づけられることになる。
【0045】
結局、対応関係情報格納部120内に格納される対応関係情報とは、全方位画像格納部110に格納されているパノラマ画像(全方位画像)の個々のフレームF0000,F0001,F0002,F0003,... と、ルート情報格納部130に格納されているルート情報Rにおける「ノード」もしくは「ブランチ上の1点」と、の対応関係を示す情報ということになる。すなわち、原理的には、全方位画像格納部110に、フレームF0000〜F2400という合計2401枚のフレームが格納されていた場合には、これらのフレームのそれぞれについて、ルート上の「ノード」もしくは「ブランチ上の1点」を対応づける情報が対応関係情報として用意されることになる。
【0046】
ただ、ここに示す実施例の場合、台車40を一定速度で移動させながら全方位画像の撮影を行っているため、対応関係情報格納部120には、個々のノードに対応するフレームのフレーム番号を特定する対応関係情報のみを格納し、ノード間の中間地点に対応するフレームのフレーム番号については、線形補間によって求めるようにしている。
【0047】
図11は、ブランチ上の中間地点について、対応するフレームを決定する線形補間プロセスを示す平面図である。この例では、3つのノードN1,N2,N3と、ノードN1,N2間を接続するブランチおよびノードN2,N3間を接続するブランチが示されている。ここでは、台車40をノードN1からN2を経てN3まで等速度で移動させることにより、フレームF0000〜F0700という合計701枚の全方位画像が得られたものとし、ノードN1に対応する撮影画像がフレームF0000、ノードN2に対応する撮影画像がフレームF0200、ノードN3に対応する撮影画像がフレームF0700であったものとしよう。
【0048】
この場合、対応関係情報としては、3つのノードN1,N2,N3に、それぞれフレーム番号F0000,F0200,F0700が対応することを示す情報を用意しておけば十分である。そうすれば、図示する中間地点Maに対応するフレーム番号は、その両端に位置する一対のノードN1,N2に対応する一対のフレーム番号F0000,F0200に基づく線形補間により求めることが可能であり、図示する中間地点Mbに対応するフレーム番号は、その両端に位置する一対のノードN2,N3に対応する一対のフレーム番号F0200,F0700に基づく線形補間により求めることが可能である。
【0049】
図12は、図3に示す具体的な経路について撮影されたフレームF0000〜F2400という合計2401枚のフレームについて、対応関係情報格納部120内に格納される対応関係情報Cの一例を示す図であり、左欄に示された一対のノード間のブランチに、右欄に示されたフレーム番号が対応することを示している。たとえば、1行目には、ノードN1,N2間のブランチB12に対して、フレームF0000〜F0200という合計201枚の全方位画像が対応することを示している。この図12に示す対応関係情報Cは、実質的に、6つのブランチB12,B23,B36,B56,B45,B25の両端点のノードに対応づけられたフレーム番号を示しているだけであり、全2401枚のフレームのすべてに対応地点を定義した対応関係情報を用意する場合に比べて、情報量は大幅に節約される。
【0050】
図13は、図12に示す対応関係情報Cを実フォーマットで示す図であり、各行ごとに、それぞれノード番号を示す2つの数字とフレーム番号を示す2つの数字を並べたものになっている。たとえば、第1行目の「1,2,0,200」は、図12の表における第1行目の情報に対応し、ノードN1,N2間のブランチに、フレーム番号F0000〜F0200が対応することを示している。実際には、対応関係情報格納部120には、図13に示すような実フォーマットで記述された対応関係情報Cが格納される。もちろん、この図13に示す実フォーマットは、一例を示すものであり、対応関係情報Cの実フォーマットとしては、この他にも様々な形式のものを採用することができる。
【0051】
<<< §2. 基本的な実施形態に係る装置の動作 >>>
続いて、図1に示す自由視点映像表示装置の動作を説明する。§1で述べたとおり、現在地データ格納部150には、経路上の現在地を示す現在地データが格納され、視線方向データ格納部160には、視線方向を示す視線方向データが格納される。ここで、「現在地」とは、この映像表示装置による映像表示の提供を受けるユーザについて、経路上の仮想位置を示すものであり、「視線方向」とは、この仮想位置にいるユーザの仮想の視線方向を示すものである。初期状態では、たとえば、図3のノードN1の位置に「現在地」を設定し、図の右方向に「視線方向」を設定するなどしておけばよい。
【0052】
図14は、図3の経路上に現在地Pおよび視線方向φ(方位角)を定義した例を示す平面図である。この例では、現在地Pは、ノードN2,N3間を接続するブランチB23上の中間地点に定義されており、XY座標値P(x,y)として表現することができる。したがって、ここに示す実施例の場合、現在地データ格納部150には、XY二次元座標系上における現在地PのXY座標値P(x,y)を示すデータが、現在地データとして格納されることになる。
【0053】
一方、この実施例の場合、視線方向(視野ベクトルE)は、図14の右上に示されているような方位角φで表される。すなわち、この例の場合、現在地P上に、Y軸正方向を向いた基準軸を設定し、この基準軸に対する角度を方位角φ(0°≦φ<360°)と定義し、視線方向を示すパラメータとして用いている。したがって、ここに示す実施例の場合、視線方向データ格納部160には、XY二次元座標系の所定の基準軸(Y軸正方向に向かう軸)に対する方位角φ(0°≦φ<360°)が視線方向データとして格納されることになる。
【0054】
この方位角φは、現在地Pにいる仮想ユーザが、どの方向に視線(視野ベクトルE)を向けているかを示すパラメータであり、図14に示す例の場合、φ=0°の場合は、Y軸正方向に視線を向けており、φ=90°の場合は、X軸正方向に視線を向けており、φ=180°の場合は、Y軸負方向に視線を向けており、φ=270°の場合は、X軸負方向に視線を向けていることになる。
【0055】
このように、現在地Pと視線方向(方位角)φが定まれば、画像切出部140によって、現在地Pから方位角φの方向を眺めた状態の視野画像Q(P,φ)を切り出すことができる。すなわち、画像切出部140は、まず、現在地データによって示される現在地Pに対応する現在地フレームを、対応関係情報Cを参照することにより認識し、全方位画像格納部110から現在地フレームの全方位画像を読み出す。
【0056】
ここに示す実施例の場合、対応関係情報格納部120には、個々のノードに対応するフレームのフレーム番号を特定する対応関係情報Cが格納されている。したがって、画像切出部140は、現在地Pがノード上にある場合には、当該ノードに対応するフレーム番号が付与されたフレームを現在地フレームと認識することができる。これに対して、現在地Pがブランチ上の中間地点である場合には、図11で説明したように、当該ブランチの両端に位置する一対のノードに対応する一対のフレーム番号に基づく線形補間により求めたフレーム番号が付与されたフレームを現在地フレームと認識することになる。
【0057】
もちろん、全方位画像を構成する各フレームは、経路上の離散的な撮影地点において撮影された画像であり、現在地Pは、必ずしもこれらの離散的な撮影地点のいずれかに一致するわけではない。したがって、実際には、画像切出部140は、現在地Pに最も近い地点に対応づけられたフレームを読み出してくればよい。
【0058】
図15に示すフレームF0452は、このようにして画像切出部140が読み出した全方位画像の一例を示す平面図である。この全方位画像は、図14に示す現在地P(ブランチB23上のほぼ中央の地点)に対応するフレームであり、現在地Pにいる仮想ユーザが、周囲をひとまわり見回したときに観察されるパノラマ画像ということになる。画像切出部140は、この読み出した全方位画像から、視線方向データφによって示される視線方向の視界を構成する視野画像を切り出す処理を行う。
【0059】
図15に太線で囲って示す視野画像Q(P,φ)は、方位角φ=90°、すなわち、図14に示す現在地Pにいる仮想ユーザが、X軸正方向に視線を向けている場合に切り出される画像を示すものである。画像切出部140は、読み出した全方位画像(フレームF0452)から、方位角「φ−Δ/2」〜「φ+Δ/2」の範囲内の視界を構成する視野画像を切り出す処理を行えばよい。ここで、Δは所定の切出角度であり、切り出された視野画像Qの横幅に相当する角度になる。図示の例の場合、方位角φ=90°という設定であるため、φ=90°の位置を中心にして、横幅Δに相当する視野画像の切り出しが行われている。
【0060】
このように、現在地データ格納部150に格納されている現在地データPおよび視線方向データ格納部160に格納されている視線方向データ(方位角φ)は、視野画像Q(P,φ)の内容を決定する上で重要な役割を果たす。そして、これらのデータP,φは、データ更新部170によって適宜更新されることになる。すなわち、データ更新部170は、ユーザの入力操作に基づいて、現在地Pが経路上で移動するように現在地データを更新する現在地更新処理と、視線方向が変化するように視線方向データを更新する視線方向更新処理と、を行う機能を有している。
【0061】
たとえば、図14に示す例において、現在地PのX座標値が徐々に増加するような現在地更新処理を行うと、現在地Pは、ブランチB23上を図の右方向へ移動してゆくことになり、ユーザには、そのような移動中の視野画像が提示される。すなわち、画像切出部140が全方位画像格納部110から読み出す全方位画像のフレームは、F0452,F0453,F0454,... と変わってゆくことになる。また、図14に示す例において、方位角φが徐々に増加するような視線方向更新処理を行うと、現在地Pにいる仮想ユーザの視線方向は、時計まわりに回転することになり、図15に太線で示す切出枠は、図の右方向へと移動してゆくことになる。
【0062】
一方、ルートマップ作成部180は、現在値データPおよび視線方向データ(方位角)φに基づいて、経路の平面図に、現在地および視線方向を示す指標を重畳したルートマップMを作成する機能を有している。経路の平面図は、ルート情報格納部130内に格納されているルート情報Rに基づいて作成することができるので、その上に、現在地および視線方向を示す指標を重畳する処理を行うことにより、ルートマップMを作成することができる。なお、経路の平面図については、予め画像データとしてルート情報格納部130内に用意しておくようにしてもかまわない。
【0063】
画像表示部190は、画像切出部140が切り出した視野画像Q(P,φ)と、ルートマップ作成部180が作成したルートマップMとを、ディスプレイ画面上に並べて表示する機能を有している。図16は、画像表示部190によって表示された画像の一例を示す平面図である。この例の場合、表示画像は、タイトル表示領域G1、視野画像表示領域G2、ルートマップ表示領域G3の3つの領域によって構成されている。タイトル表示領域G1には、「<○○美術館> 絵画の回廊」なるタイトル文字が表示されており、現在表示中の施設名が特定されている。そして、視野画像表示領域G2には、画像切出部140が切り出した視野画像Q(P,φ)が表示され、ルートマップ表示領域G3には、ルートマップ作成部180が作成したルートマップMが表示されている。
【0064】
上述したとおり、ルートマップMは、経路の平面図に、現在地および視線方向を示す指標を重畳した地図であり、図16に示す例の場合、現在地指標Iとして二重円が描かれ、視線方向指標Jとして扇形が描かれている。図17は、図16に示す画像における現在地指標Iおよび視線方向指標Jの拡大図である。現在地指標Iは、仮想ユーザの経路上の位置を示すものであり、視線方向指標Jは、ユーザの視野の方向を示すものである。図17に破線で示す矢印Eは、視線方向ベクトルであり、仮想ユーザの視線方向を直接示している。視線方向指標Jは、この視線方向ベクトルEを中心線とする扇形の図形であり、仮想ユーザの視野の領域を大まかに示している。もちろん、現在地指標Iおよび視線方向指標Jの形態は図示の形態に限定されるものではなく、実用上は、必要に応じて、経路の平面図とは異なる色彩で表示するのが好ましい。
【0065】
図16に示すとおり、視野画像表示領域G2上の視野画像Q(P,φ)と、ルートマップ表示領域G3上のルートマップMとは、同一画面上に並んで表示されるため、ユーザは、自分が現在、ルートマップM上のどの位置に、どの方向を向いて立っているかを直観的に認識することができ、現在表示されている視野画像Q(P,φ)が、どの位置をどの方向に眺めた画像であるかを把握することができる。しかも、ユーザは、データ更新部170に対して所望の操作入力を与えることにより、現在地Pが経路上で移動するように現在地を更新することができ、また、視線方向が変化するように視線方向を更新することができる。したがって、あたかも、仮想の経路上を歩きながら、所望の方向を観察する疑似体験をすることができる。
【0066】
ここに示す例の場合、ユーザは、図2に示した実在の美術館の回廊を自由に歩き回りながら、視野画像表示領域G2上に動画として提示される視野画像Q(P,φ)を見て、絵画や彫刻を擬似的に鑑賞することができる。しかも、現在地や視線方向を、ルートマップ表示領域G3上のルートマップMにより確認することができる。かくして、この自由視点映像表示装置は、所定の経路に沿って移動する視点から見た任意方向の視界を動画として提示し、ユーザに高い臨場感を与えることができる。
【0067】
<<< §3. データ更新部の具体的な構成例 >>>
ここでは、データ更新部170の具体的な構成例を述べる。ここで述べる実施例の場合、データ更新部170は、図18に例示するようなコントローラ175と、このコントローラを制御するコンピュータによって構成される。このコントローラ175は、コンピュータゲーム用の入力機器として利用されている一般的な装置であり、右側に5つのボタンB1〜B5、中央に3つのボタンB6〜B8、左側に1つのボタンB9が設けられている。
【0068】
データ更新部170の役割は、ユーザの入力操作に基づいて、現在地更新処理と視線方向更新処理とを行うことであるが、コントローラ175は、これら更新処理を行うための入力操作を受け付ける機能を有している。具体的には、図示のボタンB1は前進ボタン、ボタンB2は後退ボタン、ボタンB3は左向きボタン、ボタンB4は右向きボタンとして機能する。
【0069】
ここで、前進ボタンB1と後退ボタンB2とは、現在地更新処理の入力操作に利用され、前進ボタンB1が押されている間、現在地が経路上を所定の進行方向に所定速度で移動するように現在地データの更新が行われ、後退ボタンB2が押されている間、現在地が経路上を進行方向とは逆方向に所定速度で移動するように現在地データの更新が行われる。データ更新部170は、ボタンB1,B2が押されているか否かを検知し、押されている場合には、現在地データ格納部150内に格納されている現在地データを更新する処理を行う。たとえば、経路上の進行方向が、X軸正方向に設定されていた場合、前進ボタンB1が押されている間、現在地P(x,y)のX座標値を所定速度で増加させる更新を行い、後退ボタンB2が押されている間、現在地P(x,y)のX座標値を所定速度で減少させる更新を行う。
【0070】
一方、左向きボタンB3と右向きボタンB4とは、視線方向更新処理の入力操作に利用され、左向きボタンB3が押されている間、視線方向が所定速度で左向きに変化するように視線方向データの更新が行われ、右向きボタンB4が押されている間、視線方向が所定速度で右向きに変化するように視線方向データの更新が行われる。データ更新部170は、ボタンB3,B4が押されているか否かを検知し、押されている場合には、視線方向データ格納部160内に格納されている視線方向データを更新する処理を行う。たとえば、視線方向を示す方位角φが90°に設定されていた場合、ボタンB3が押されている間、方位角φを89°,88°,87°,... と減少させる処理(0°に達した場合は、360°から減少させる処理)を行い、ボタンB4が押されている間、方位角φを91°,92°,93°,... と増加させる処理(360°に達した場合は、0°から増加させる処理)を行う。
【0071】
こうして、ユーザは、ボタンB1〜B4を操作することにより、美術館の回廊を構成する仮想空間内を自由に歩き回り、任意の方向に視線を向けることができる。たとえば、図16に示す例において、進行方向が、X軸正方向に設定されていた場合、前進ボタンB1を押し続けると、現在地Pは、表示領域G3内のルートマップM上における右方向へと所定速度で移動し、後退ボタンB2を押し続けると、現在地PはルートマップM上における左方向へと所定速度で移動する。したがって、表示領域G2には、前進したり、後退したりする状態を示す視野画像Q(P,φ)の動画映像が表示されることになる。また、左向きボタンB3を押し続けると、ルートマップM上の視線方向指標Jは反時計回りに回転し、右向きボタンB4を押し続けると、時計回りに回転する。したがって、表示領域G2には、左を向いたり、右を向いたりする状態を示す視野画像Q(P,φ)の動画映像が表示されることになる。
【0072】
もちろん、各ボタンから指を離せば、仮想空間内でのユーザの動作は停止し、表示領域G2には静止画像としての視野画像Q(P,φ)が表示されることになるので、ユーザは絵画や彫刻をゆっくりと鑑賞することができる。このように、本発明に係る自由視点映像表示装置を用いれば、仮想空間上ではあるが、ユーザに対して極めて臨場感の高い体験をさせることができる。
【0073】
なお、現在地Pや視線方向(方位角φ)の変更速度は、仮想空間内でのユーザの動作速度に対応するものになるので、適切な速度を予め設定しておけばよい。たとえば、ここに示す実施例の場合、美術館の回廊を歩いて鑑賞する体験を与えるものなので、現在地Pの変更速度は、仮想空間内をゆっくりと歩く程度の速度に設定し、方位角φの変更速度は、仮想のユーザがゆっくりと首をまわす程度の速度に設定すればよい。もちろん、各ボタンをn回クリックした後に押し続けると、n倍速モードになる、というように、ユーザの操作に応じて変更速度が可変となるようにしてもかまわない。
【0074】
ところで、ここに示す実施例の場合、前進ボタンB1は所定の進行方向に進む指示、後退ボタンB2は当該進行方向とは逆方向に進む指示を与えるボタンになっているが、ここでいう「進行方向」とは、「視線方向」とは異なるものである。ユーザは仮想空間内のブランチに沿って移動することになるが、ここでいう「進行方向」とは、この移動中のブランチに沿って移動するためのいずれか一方向を意味する。たとえば、図14に示す例の場合、現在地PはブランチB23上に位置し、ユーザは、ブランチB23に沿って移動中である。この場合、「進行方向」は、ノードN2からN3に向かう方向か、逆に、ノードN3からN2に向かう方向か、のいずれかに設定される。
【0075】
そこで、ここに示す実施例では、データ更新部170に、進行方向ベクトルを設定する機能をもたせ、現時点での「進行方向」を認識できるようにしている。進行方向ベクトルは、現在地Pを含むブランチの始点ノードから終点ノードに至るベクトルであり、たとえば、図14に示す例において、ユーザがブランチB23上をノードN2からN3に向かう方向に移動する場合は、ノードN2が始点ノード、ノードN3が終点ノードとなり、進行方向ベクトルは「N2→N3」のように表現できる。逆に、ノードN3からN2に向かう方向に移動する場合の進行方向ベクトルは「N3→N2」になる。
【0076】
データ更新部170は、この進行方向ベクトルが示す方向を進行方向として現在地更新処理を行う。したがって、図14に示す例において、進行方向ベクトル「N2→N3」が設定されているときに前進ボタンB1を押し続けると、現在地Pが終点ノードN3に向かって移動するように現在地データの更新が行われ、後退ボタンB2を押し続けると、現在地Pが始点ノードN2に向かって移動するように現在地データの更新が行われる。この現在地更新処理は、視線方向データ(方位角φ)とは無関係に行われるので、たとえ、φ=270°のとき(視線が始点ノードN2の方向を向いているとき)であっても、進行方向ベクトル「N2→N3」が設定されているときに前進ボタンB1を押し続けると、現在地Pは終点ノードN3に向かって移動することになる。
【0077】
このように、進行方向ベクトルは、移動中のブランチごとに設定されるべきものなので、ノードを介して別なブランチへ乗り換えた場合、新たな進行方向ベクトルを設定する必要がある。また、複数のブランチが接続されているノードに到達した場合には、いずれのブランチに進行するかによって、設定すべき進行方向ベクトルは異なる。そこで、ここに示す実施例の場合、データ更新部170は、現在地Pがいずれかのノードに到達したときに現在地更新処理を一時停止し、到達ノードを始点とする新たなブランチをユーザに選択させ、当該到達ノードを始点ノード、選択されたブランチのもう一方の端点を終点ノードとする新たな進行方向ベクトルの設定を行ってから現在地更新処理を再開する機能を有している。
【0078】
ここでは、図19を参照しながら、分岐を伴う経路において、データ更新部170が行う具体的な現在地更新処理および進行方向ベクトル設定処理を説明する。いま、図19において、ユーザが仮想空間上のブランチB25を、ノードN5からN2に向かって進行中であるものとする。この場合、データ更新部170内に設定されている進行方向ベクトルは「N5→N2」になる。ここで、ユーザが、図18に示すコントローラ175を手にして、前進ボタンB1を押し続けると、現在地Pは、図示する地点P1,P2,P3と移動してゆく。ここで、地点P3はノードN2の位置である。なお、図示の例では、視線方向が進行方向に一致する方向(方位角φ=0°)に設定されているので、視野画像表示領域G2には、正面に進んでゆく動画が表示されることになる(視線ベクトルEが、進行方向ベクトルに一致する)。
【0079】
このように、現在地Pがいずれかのノードに到達すると、データ更新部170は、現在地更新処理を一時停止する。したがって、ユーザが前進ボタンB1を押し続けていたとしても、ノードに到達した時点でユーザの経路上での移動は停止する。図示の例の場合、現在地PがノードN2に到達した時点で現在地更新処理は中止され、現在地PはノードN2に留まることになる。現在地更新処理は、ユーザが、到達ノードN2を始点とする新たなブランチを選択する操作を行うまで保留される。なお、視線方向更新処理は継続して行われるので、ユーザは、ボタンB3,B4を操作することにより、ノードN2の位置において、周囲を見回す操作を行うことができ、新たなブランチを選択するための情報を得ることができる。
【0080】
ここに示す実施例の場合、新たなブランチを選択させるために、視野画像表示領域G2内に方向マーカを表示させ、ユーザにいずれかの方向マーカを選択させる方法を採っている。すなわち、データ更新部170は、現在地Pがいずれかのノードに到達したときに、視野画像Q(P,φ)上に到達ノードを始点とする新たなブランチの方向を示す方向マーカDを表示させる機能を有している。図1において、ルートマップ作成部180からデータ更新部170に向かう矢印は、ルート情報R(ノードの位置情報とブランチの接続情報)がデータ更新部170に与えられることを示している。データ更新部170は、このルート情報Rを参照して、現在地Pがいずれかのノードに到達したことを認識することができ、また、当該到達ノードを始点とする新たなブランチを認識することができる。
【0081】
図19に示す例の場合、到達ノードN2を始点とする新たなブランチは、B12,B23,B25の3本である。ここで、ブランチB25は、これまで移動してきたブランチであるが、到達ノードN2からブランチB25へ引き返すことも可能なので、ブランチB25も選択肢の中に入ることになる。図20は、ノードN2に到達した時点の表示画面を示す平面図である(G2内の視野画像自身は省略)。図20に示す方向マーカD1,D2,D3は、この3本のブランチB12,B23,B25に対応するものであり、ユーザがいずれかの方向マーカを選択する操作入力を行うと、選択された方向マーカに対応するブランチが、新たなブランチとして選択される。
【0082】
この実施例では、コントローラ175に、特定の方向マーカを選択する操作を行うためのマーカ選択ボタンを設けている。すなわち、図18において、ボタンB5がマーカ選択ボタンであり、ユーザが、このマーカ選択ボタンB5を押すたびに、方向マーカの選択が切り替わるようになっている。図20に示す例では、方向マーカD1のみにハッチングを施して示してあるが、これは方向マーカD1のみが強調表示(たとえば、色を変えるとか、輝度を変えるとか、ブリンクさせるとかすればよい)されていることを示している。ユーザがマーカ選択ボタンB5を押すと、強調表示の対象となる方向マーカが、たとえば、D1→D2→D3→D1→... のように順に切り替わってゆく。
【0083】
こうして、ユーザは、マーカ選択ボタンB5を押すことにより、所望の方向マーカを強調表示させることができる。そして、特定の方向マーカが強調表示されている時に、前進ボタンB1を押すと、当該方向マーカの選択が行われることになる。データ更新部170は、こうしてマーカ選択ボタンB5によって選択された方向マーカに対応するブランチを、ユーザが選択したブランチとして、新たな進行方向ベクトルを設定し、現在地更新処理を再開する。
【0084】
図21は、データ更新部170が保持する進行方向ベクトルの設定変更例を示す図である。図19に示すように、ユーザがブランチB25をノードN5からN2に向かって進行している場合、データ更新部170が保持する進行方向ベクトルは「N5→N2」であるが、ノードN2に到達すると、旧進行方向ベクトル「N5→N2」から新進行方向ベクトルに設定変更する処理が行われる。このとき、新進行方向ベクトルの候補は、図示のとおり、「N2→N1」,「N2→N3」,「N2→N5」の3通りであり、それぞれ方向マーカD1,D2,D3に対応する。したがって、たとえば、ユーザが方向マーカD2を選択したとすると、新進行方向ベクトル「N2→N3」が設定される。このベクトルは、図19に示すブランチB23を、始点ノードN2から終点ノードN3に進むことを示すものである。
【0085】
このように、ここに示す実施例の場合、ノードに到達するたびに現在地更新を一時停止し、ユーザに新たなブランチを選択させてから現在地更新を再開するようにしたため、対象となる経路がノードにおいて分岐を伴うものであっても、ユーザは自由意志で任意の方向に移動することができる。
【0086】
なお、図20に示す方向マーカD1,D2,D3は、図19のノードN2において表示されるマーカであり、T字路を構成する3つのブランチを選択するためのものである。したがって、たとえば、L字路を構成するノードN3では、2つの方向マーカのみが表示されることになり、十字路を構成するノードがあれば、4つの方向マーカが表示されることになる。データ更新部170には、ルート情報Rとして、各ノードについてのブランチの接続情報が与えられているので、個々のノードごとに適切な方向マーカの表示を行うことができる。
【0087】
また、各ノードにおいて、ユーザは視線方向を変えて周囲を見回すことができるので、データ更新部170は、視線方向データ(方位角φ)を参照して、視野画像Q(P,φ)のどの位置にどの方向マーカを重畳表示するかを判断し、視野画像Q(P,φ)上の適切な位置に各方向マーカを重畳する処理を行う必要がある。更に、実用上は、各方向マーカの形状として、ユーザに対しておおまかな進行方向を示唆することができる形状を採用するのが好ましい。図20に示す例では、方向マーカD1およびD2は、左方向および右方向への進行を示唆できるように三角形とし、方向マーカD3は背面方向への進行を示唆できるように楕円形としている。
【0088】
以上、ノードにおいて、進行方向ベクトルの設定を変更する処理の一例を述べたが、実用上は、進行方向ベクトルの設定変更処理とともに視線方向を更新する処理も併せて行うのが好ましい。たとえば、図19に示す例において、ユーザがブランチB25に沿ってノードN2に到達した後、図20に示す方向マーカD2を選択して、ブランチB23をノードN3に向けて移動した場合を考えてみる。この場合、進行方向ベクトルが「N5→N2」から「N2→N3」に変更されることは、既に述べたとおりである。また、現在地Pの移動経路も、ブランチB25からブランチB23へと変遷することになる。ただ、視線方向については、ユーザが自発的に、左向きボタンB3や右向きボタンB4を操作して変更しない限り、ノードN2を通過した前後で変わりはない。
【0089】
たとえば、図19に示す例の場合、ブランチB25を移動中の視線ベクトルEが図の上方(方位角φ=0°)であったとすると、ブランチB23に侵入したときの視線方向も同じ方向のままである。これは、ブランチB25を移動中は、視線を進行方向に向けていたのに、ブランチB23に侵入した後は、顔を左向きにして、視線を回廊の壁面に向けて移動することを意味する。もちろん、ユーザは、右向きボタンB4を押すことにより、視線を進行方向に向けることができるが、通常、人間は顔を進行方向に向けて歩行するのが自然であるので、曲がり角を曲がったときに、進行方向ベクトルのみが変更され、視線ベクトルが変更されないのは不自然である。
【0090】
このような問題を解決するには、進行方向ベクトルの変更処理とともに視線方向更新処理を行うようにすればよい。ここに示す実施例の場合、ルート情報格納部130には、直線状のブランチの集合によって構成される経路を示すルート情報Rが格納されており、すべてのブランチは直線によって構成されている。そこで、データ更新部170が、第1のブランチから第2のブランチへ進んだときに、進行方向ベクトルを基準とした視線方向が一定となるように、第1のブランチと第2のブランチのなす角度θに基づいて視線方向データを更新する処理を行うようにすればよい。
【0091】
図22は、このような更新処理の具体的な方法を説明するための平面図である。この例では、XY二次元座標系上に、5つのノードN11,N12,N13,N14,N15が定義されており、ノードN11,N12,N13が第1の直線(Y軸に平行)、ノードN14,N12,N15が第2の直線を構成し、両直線は交差角θで交差している。ここで、ノードN11からN12に向かって進行中のユーザが、ノードN12に到達した後、ノードN12からN15に進行する場合を考えてみよう。この場合、進行方向ベクトルは、ノードN12を通過することにより、「N11→N12」から「N12→N15」に変更される。すなわち、図22の右下に示すように、進行方向ベクトルをそれぞれV(N11→N12),V(N12→N15)と表せば、両ベクトルのなす角度は交差角θになる。
【0092】
一方、ノードN11からN12へ向かうブランチ上の任意の地点P1において、視線ベクトルE1が図示のような方向を向き、視線方向を示す方位角がφ1に設定されており、当該方位角φ1を維持したままノードN12に到達したものとしよう。この場合、ノードN12からN15へ向かうブランチに入った地点P2における視線ベクトルE2が図示のような向きに自動修正されれば、ユーザにとって自然な視線方向を維持することができる。すなわち、ノードN12の角を曲がる前、ユーザの視線は進行方向に対して斜め右方向を向いていたので、ノードN12の角を曲がった後も、視線が進行方向に対して斜め右方向を向いていれば自然である(もちろん、進行方向を向いていた場合は、角を曲がった後も進行方向を向いていることになる)。
【0093】
視線ベクトルE2を図示の方向に向けるためには、ノードN12を通過後の方位角φ2を、φ2=φ1+θに設定すればよい。すなわち、第1のブランチから第2のブランチへ進んだときに、それぞれの進行方向ベクトルを基準とした視線方向が一定となるように、第1のブランチと第2のブランチのなす角度θに基づいて視線方向データを更新する処理を行えばよい。進行方向ベクトルV(N11→N12)を基準とすれば、視線ベクトルE1は角度φ1だけ右方向に向いており、進行方向ベクトルV(N12→N15)を基準とすれば、視線ベクトルE2はやはり角度φ1だけ右方向に向いていることになる。
【0094】
<<< §4. いくつかの変形例 >>>
以上、本発明に係る自由視点映像表示装置を基本的な実施形態に基づいて説明したが、ここでは、いくつかの変形例を掲げておく。
【0095】
(1) 全方位画像の作成法
§1では、図7に示すような撮影装置を用いた撮影により得られた歪曲円形画像から、仰角が所定の基準値以下の領域を切り出し、これに歪み補正を施すことにより全方位画像(パノラマ画像)を得る例を示したが、もちろん、全方位画像の作成に用いる装置は、図7に示す撮影装置に限定されるものではない。たとえば、図7に示す撮影装置では、魚眼レンズ10を用いてビデオカメラの撮像面に歪曲円形画像を形成していたが、魚眼レンズ10の代わりに全方位ミラーなどを利用してもかまわない。
【0096】
また、§1では、実在の施設を撮影した実写画像に基づいて全方位画像を作成する例を示したが、コンピュータ上に仮想の施設を作成し、この仮想施設内の仮想経路を示す三次元CG画像に基づいて作成された画像を全方位画像として用いるようにしてもよい。この場合、全方位画像格納部110内には、仮想の経路を示す三次元CG画像に基づいて作成された矩形状のパノラマ画像が全方位画像として格納されることになる。
【0097】
(2) 曲線からなる経路
これまで述べた実施例は、いずれも直線状のブランチのみからなる経路を用いた例であるが、本発明は、曲線状の経路を含む施設についても適用可能である。具体的には、曲線状の経路については、複数のノードとこれらを結ぶ直線からなる折れ線によって近似すれば、これまでどおり、直線状のブランチのみからなる経路として取り扱うことができる。もちろん、一対のノード間をベジェ曲線などで結ぶ曲線状のブランチを定義することも可能である。この場合、曲線上の任意の点の位置を、0〜1の媒介変数によって示すようにすれば、対応するフレームを求めるための補間演算も支障なく行うことができる。
【0098】
(3) 仰角の調整
これまで述べた実施例では、視線方向を示すパラメータとして、方位角φのみを用いているが、更に仰角Ψというパラメータを追加することも可能である。この場合、視線ベクトルEは、方位角φと仰角Ψとによって定まることになる。このように仰角Ψをパラメータとして利用する場合、画像切出部140による切出枠は、方位角φと仰角Ψとの双方に応じて定まる。したがって、たとえば、図15に示す例の場合、太線で示す切出枠の縦寸法をより短く設定し、この切出枠の横方向位置を方位角φに基づいて定め、縦方向位置を仰角Ψに基づいて定めればよい。また、コントローラ175には、上向きボタンや下向きボタンなど、仰角Ψを変更する指示を与えるためのボタンを設けておけばよい。
【0099】
(4) コントローラの構成
図18に示すコントローラ175は、データ更新部170の一部を構成する機器としての一例を示すものであり、実用上は、この他にも様々な形態の機器をコントローラとして利用することが可能である。特に、操作ボタンなどの形態や配置は、設計上、自由に設定可能である。§3では、ボタンB6〜B9の役割についての説明はなされていないが、これらのボタンには、たとえば、移動速度を設定する機能や、上述した仰角Ψを設定する機能など、様々な機能を割り当てることができる。
【0100】
また、ボタンの代わりに、ジョイスティックを用いることも可能である。たとえば、1本のジョイスティックを前方に倒すと前進指示、後方に倒すと後退指示、左方に倒すと左向き指示、右方に倒すと右向き指示を与えるようにすれば、ボタンB1〜B4の代わりに用いることができる。更に、傾斜角度に基づいて、移動速度を変化させるような使い方もできる。
【0101】
(5) 視線方向と進行方向との連携
これまで述べた実施例では、進行方向ベクトルは、ノードに到達したときにのみ設定されるようになっており、1つのブランチを移動中に視線方向を変えても、進行方向ベクトルは変化しない仕様になっていたが、視線方向に応じて進行方向ベクトルを逆転させるような運用を採ることも可能である。
【0102】
たとえば、進行方向ベクトルに対する視線ベクトルのなす角度が90°を越えた場合、あるいは145°を越えた場合、というような臨界条件を予め設定しておき、当該臨界条件を越えた場合に進行方向ベクトルを反転させるようにしておけば、前進ボタンを押し続けながらユーザが後ろを振り返ったような場合、進行方向ベクトルが反転し、これまでとは逆向きに(振り返った方向に)移動するようになる。このような運用を行えば、人間の行動により近い、臨場感をもった疑似体験を提供することができる。
【符号の説明】
【0103】
10:魚眼レンズ
20:ビデオカメラ
30:データ処理ユニット
40:台車
110:全方位画像格納部
120:対応関係情報格納部
130:ルート情報格納部
140:画像切出部
150:現在地データ格納部
160:視線方向データ格納部
170:データ更新部
175:コントローラ
180:ルートマップ作成部
190:画像表示部
B:ブランチ
B1〜B9:ボタン
B12〜B56:ブランチ
C:対応関係情報
D,D1〜D3:方向マーカ
E,E1,E2:視線ベクトル
F0000〜F2400:フレーム(フレーム番号)
G1:タイトル表示領域
G2:視野画像表示領域
G3:ルートマップ表示領域
H:天頂点
I:現在地指標
J:視線方向指標
M:ルートマップ
M1〜M5,Ma,Mb:中間地点
N1〜N15:ノード
O:座標系の原点
P,P1〜P3:現在地/現在地データ(XY座標値)
Q(P,φ):視野画像
R:ルート情報
V:進行方向ベクトル
X:座標軸
Y:座標軸
Δ:切出角度
φ,φ1,φ2:視線方向/視線方向データ(方位角)
θ:ブランチ間の交差角度
【特許請求の範囲】
【請求項1】
所定の経路に沿って移動する視点から見た任意方向の視界を表示する自由視点映像表示装置であって、
前記経路に沿って移動しながら全方位カメラを用いて撮影した360°の視界をもつ全方位画像を、フレーム単位で格納する全方位画像格納部と、
前記経路を構成する複数のノードの各位置を示す位置情報と、これらノード間を接続するブランチを示す接続情報と、によって構成されるルート情報を格納するルート情報格納部と、
前記全方位画像格納部に格納されている全方位画像の個々のフレームと、前記ルート情報格納部に格納されている前記ルート情報におけるノードもしくはブランチ上の1点と、の対応関係を示す対応関係情報を格納する対応関係情報格納部と、
前記経路上の現在地を示す現在地データを格納する現在地データ格納部と、
視線方向を示す視線方向データを格納する視線方向データ格納部と、
ユーザの入力操作に基づいて、前記現在地が前記経路上で移動するように前記現在地データを更新する現在地更新処理と、前記視線方向が変化するように前記視線方向データを更新する視線方向更新処理と、を行うデータ更新部と、
前記現在地データによって示される現在地に対応する現在地フレームを、前記対応関係情報を参照することにより認識し、前記全方位画像格納部から前記現在地フレームの全方位画像を読み出し、読み出した全方位画像から、前記視線方向データによって示される視線方向の視界を構成する視野画像を切り出す画像切出部と、
前記現在値データおよび前記視線方向データに基づいて、前記経路の平面図に、現在地および視線方向を示す指標を重畳したルートマップを作成するルートマップ作成部と、
前記視野画像と前記ルートマップとを並べて表示する画像表示部と、
を備えることを特徴とする自由視点映像表示装置。
【請求項2】
請求項1に記載の自由視点映像表示装置において、
全方位画像格納部が、魚眼レンズもしくは全方位ミラーを装着した全方位カメラを用いて、所定の水平面より上方に位置する半球状視界を撮影して得られる歪曲円形画像から、仰角が所定の基準値以下の領域を切り出し、これに歪み補正を施すことにより得られる矩形状のパノラマ画像を全方位画像として格納することを特徴とする自由視点映像表示装置。
【請求項3】
請求項1に記載の自由視点映像表示装置において、
全方位画像格納部が、仮想の経路を示す三次元CG画像に基づいて作成された矩形状のパノラマ画像を全方位画像として格納することを特徴とする自由視点映像表示装置。
【請求項4】
請求項1〜3のいずれかに記載の自由視点映像表示装置において、
ルート情報格納部が、二次元座標系上における個々のノードの座標値を示す位置情報と、全ノード中の任意の2ノードの組み合わせについて、それぞれ相互間を接続する直線状のブランチが存在するか否かを示す接続情報と、によって構成されるルート情報を格納し、
現在地データ格納部が、前記二次元座標系上における現在地の座標値を示す現在地データを格納することを特徴とする自由視点映像表示装置。
【請求項5】
請求項4に記載の自由視点映像表示装置において、
視線方向データ格納部が、二次元座標系の所定の基準軸に対する方位角φ(0°≦φ<360°)を視線方向データとして格納し、
画像切出部が、読み出した全方位画像から、方位角「φ−Δ/2」〜「φ+Δ/2」の範囲内の視界(ただし、Δは所定の切出角度)を構成する視野画像を切り出すことを特徴とする自由視点映像表示装置。
【請求項6】
請求項1〜5のいずれかに記載の自由視点映像表示装置において、
全方位画像格納部が、一連のフレーム番号が付与されたフレーム単位の画像を格納し、
対応関係情報格納部が、個々のノードに対応するフレームのフレーム番号を特定する対応関係情報を格納し、
画像切出部が、現在地がノードである場合には、当該ノードに対応するフレーム番号が付与されたフレームを現在地フレームと認識し、現在地がブランチ上の中間地点である場合には、当該ブランチの両端に位置する一対のノードに対応する一対のフレーム番号に基づく線形補間により求めたフレーム番号が付与されたフレームを現在地フレームと認識することを特徴とする自由視点映像表示装置。
【請求項7】
請求項1〜6のいずれかに記載の自由視点映像表示装置において、
データ更新部が、
前進ボタンと、後退ボタンと、左向きボタンと、右向きボタンと、を有するコントローラを備え、
前記前進ボタンが押されている間、現在地が経路上を所定の進行方向に所定速度で移動するように現在地データを更新し、前記後退ボタンが押されている間、現在地が経路上を前記進行方向とは逆方向に所定速度で移動するように現在地データを更新し、前記左向きボタンが押されている間、視線方向が所定速度で左向きに変化するように視線方向データを更新し、前記右向きボタンが押されている間、視線方向が所定速度で右向きに変化するように視線方向データを更新することを特徴とする自由視点映像表示装置。
【請求項8】
請求項7に記載の自由視点映像表示装置において、
データ更新部が、
現在地を含むブランチの始点ノードから終点ノードに至る進行方向ベクトルを設定する機能を有し、前記進行方向ベクトルが示す方向を進行方向として現在地更新処理を行い、
現在地がいずれかのノードに到達したときに、現在地更新処理を一時停止し、到達ノードを始点とする新たなブランチをユーザに選択させ、前記到達ノードを始点ノード、選択されたブランチのもう一方の端点を終点ノードとする新たな進行方向ベクトルの設定を行ってから現在地更新処理を再開することを特徴とする自由視点映像表示装置。
【請求項9】
請求項8に記載の自由視点映像表示装置において、
データ更新部が、現在地がいずれかのノードに到達したときに、視野画像上に到達ノードを始点とする新たなブランチの方向を示す方向マーカを表示させ、
コントローラが、特定の方向マーカを選択する操作を行うためのマーカ選択ボタンを更に有し、
データ更新部が、前記マーカ選択ボタンによって選択された方向マーカに対応するブランチを、ユーザが選択したブランチとすることを特徴とする自由視点映像表示装置。
【請求項10】
請求項8または9に記載の自由視点映像表示装置において、
ルート情報格納部が、直線状のブランチの集合によって構成される経路を示すルート情報を格納しており、
データ更新部が、第1のブランチから第2のブランチへ進んだときに、進行方向ベクトルを基準とした視線方向が一定となるように、前記第1のブランチと前記第2のブランチのなす角度θに基づいて視線方向データを更新する処理を行うことを特徴とする自由視点映像表示装置。
【請求項11】
請求項1〜10のいずれかに記載の自由視点映像表示装置としてコンピュータを機能させるプログラム。
【請求項1】
所定の経路に沿って移動する視点から見た任意方向の視界を表示する自由視点映像表示装置であって、
前記経路に沿って移動しながら全方位カメラを用いて撮影した360°の視界をもつ全方位画像を、フレーム単位で格納する全方位画像格納部と、
前記経路を構成する複数のノードの各位置を示す位置情報と、これらノード間を接続するブランチを示す接続情報と、によって構成されるルート情報を格納するルート情報格納部と、
前記全方位画像格納部に格納されている全方位画像の個々のフレームと、前記ルート情報格納部に格納されている前記ルート情報におけるノードもしくはブランチ上の1点と、の対応関係を示す対応関係情報を格納する対応関係情報格納部と、
前記経路上の現在地を示す現在地データを格納する現在地データ格納部と、
視線方向を示す視線方向データを格納する視線方向データ格納部と、
ユーザの入力操作に基づいて、前記現在地が前記経路上で移動するように前記現在地データを更新する現在地更新処理と、前記視線方向が変化するように前記視線方向データを更新する視線方向更新処理と、を行うデータ更新部と、
前記現在地データによって示される現在地に対応する現在地フレームを、前記対応関係情報を参照することにより認識し、前記全方位画像格納部から前記現在地フレームの全方位画像を読み出し、読み出した全方位画像から、前記視線方向データによって示される視線方向の視界を構成する視野画像を切り出す画像切出部と、
前記現在値データおよび前記視線方向データに基づいて、前記経路の平面図に、現在地および視線方向を示す指標を重畳したルートマップを作成するルートマップ作成部と、
前記視野画像と前記ルートマップとを並べて表示する画像表示部と、
を備えることを特徴とする自由視点映像表示装置。
【請求項2】
請求項1に記載の自由視点映像表示装置において、
全方位画像格納部が、魚眼レンズもしくは全方位ミラーを装着した全方位カメラを用いて、所定の水平面より上方に位置する半球状視界を撮影して得られる歪曲円形画像から、仰角が所定の基準値以下の領域を切り出し、これに歪み補正を施すことにより得られる矩形状のパノラマ画像を全方位画像として格納することを特徴とする自由視点映像表示装置。
【請求項3】
請求項1に記載の自由視点映像表示装置において、
全方位画像格納部が、仮想の経路を示す三次元CG画像に基づいて作成された矩形状のパノラマ画像を全方位画像として格納することを特徴とする自由視点映像表示装置。
【請求項4】
請求項1〜3のいずれかに記載の自由視点映像表示装置において、
ルート情報格納部が、二次元座標系上における個々のノードの座標値を示す位置情報と、全ノード中の任意の2ノードの組み合わせについて、それぞれ相互間を接続する直線状のブランチが存在するか否かを示す接続情報と、によって構成されるルート情報を格納し、
現在地データ格納部が、前記二次元座標系上における現在地の座標値を示す現在地データを格納することを特徴とする自由視点映像表示装置。
【請求項5】
請求項4に記載の自由視点映像表示装置において、
視線方向データ格納部が、二次元座標系の所定の基準軸に対する方位角φ(0°≦φ<360°)を視線方向データとして格納し、
画像切出部が、読み出した全方位画像から、方位角「φ−Δ/2」〜「φ+Δ/2」の範囲内の視界(ただし、Δは所定の切出角度)を構成する視野画像を切り出すことを特徴とする自由視点映像表示装置。
【請求項6】
請求項1〜5のいずれかに記載の自由視点映像表示装置において、
全方位画像格納部が、一連のフレーム番号が付与されたフレーム単位の画像を格納し、
対応関係情報格納部が、個々のノードに対応するフレームのフレーム番号を特定する対応関係情報を格納し、
画像切出部が、現在地がノードである場合には、当該ノードに対応するフレーム番号が付与されたフレームを現在地フレームと認識し、現在地がブランチ上の中間地点である場合には、当該ブランチの両端に位置する一対のノードに対応する一対のフレーム番号に基づく線形補間により求めたフレーム番号が付与されたフレームを現在地フレームと認識することを特徴とする自由視点映像表示装置。
【請求項7】
請求項1〜6のいずれかに記載の自由視点映像表示装置において、
データ更新部が、
前進ボタンと、後退ボタンと、左向きボタンと、右向きボタンと、を有するコントローラを備え、
前記前進ボタンが押されている間、現在地が経路上を所定の進行方向に所定速度で移動するように現在地データを更新し、前記後退ボタンが押されている間、現在地が経路上を前記進行方向とは逆方向に所定速度で移動するように現在地データを更新し、前記左向きボタンが押されている間、視線方向が所定速度で左向きに変化するように視線方向データを更新し、前記右向きボタンが押されている間、視線方向が所定速度で右向きに変化するように視線方向データを更新することを特徴とする自由視点映像表示装置。
【請求項8】
請求項7に記載の自由視点映像表示装置において、
データ更新部が、
現在地を含むブランチの始点ノードから終点ノードに至る進行方向ベクトルを設定する機能を有し、前記進行方向ベクトルが示す方向を進行方向として現在地更新処理を行い、
現在地がいずれかのノードに到達したときに、現在地更新処理を一時停止し、到達ノードを始点とする新たなブランチをユーザに選択させ、前記到達ノードを始点ノード、選択されたブランチのもう一方の端点を終点ノードとする新たな進行方向ベクトルの設定を行ってから現在地更新処理を再開することを特徴とする自由視点映像表示装置。
【請求項9】
請求項8に記載の自由視点映像表示装置において、
データ更新部が、現在地がいずれかのノードに到達したときに、視野画像上に到達ノードを始点とする新たなブランチの方向を示す方向マーカを表示させ、
コントローラが、特定の方向マーカを選択する操作を行うためのマーカ選択ボタンを更に有し、
データ更新部が、前記マーカ選択ボタンによって選択された方向マーカに対応するブランチを、ユーザが選択したブランチとすることを特徴とする自由視点映像表示装置。
【請求項10】
請求項8または9に記載の自由視点映像表示装置において、
ルート情報格納部が、直線状のブランチの集合によって構成される経路を示すルート情報を格納しており、
データ更新部が、第1のブランチから第2のブランチへ進んだときに、進行方向ベクトルを基準とした視線方向が一定となるように、前記第1のブランチと前記第2のブランチのなす角度θに基づいて視線方向データを更新する処理を行うことを特徴とする自由視点映像表示装置。
【請求項11】
請求項1〜10のいずれかに記載の自由視点映像表示装置としてコンピュータを機能させるプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【公開番号】特開2013−90257(P2013−90257A)
【公開日】平成25年5月13日(2013.5.13)
【国際特許分類】
【出願番号】特願2011−231272(P2011−231272)
【出願日】平成23年10月21日(2011.10.21)
【出願人】(000002897)大日本印刷株式会社 (14,506)
【Fターム(参考)】
【公開日】平成25年5月13日(2013.5.13)
【国際特許分類】
【出願日】平成23年10月21日(2011.10.21)
【出願人】(000002897)大日本印刷株式会社 (14,506)
【Fターム(参考)】
[ Back to top ]