(58)【調査した分野】(Int.Cl.,DB名)
撮像素子が撮像した被写体をマーカとして、仮想的な3次元空間における3次元イメージを実空間中に投影した場合に観察される映像を提示するHMDに提示させるAR(Augmented Reality)イメージを生成するARイメージ生成部と、
第1のマーカと第2のマーカとはともに、仮想的な3次元空間における位置、向き、または傾きが変化する映像中の撮像された被写体であり、第1のマーカに紐付けられた第1ARイメージ、第2のマーカに紐付けられた第2ARイメージは、それぞれ第1のマーカ、第2のマーカの位置、向き、または傾きの変化に連動して位置や向き、傾きが変化する複数のポリゴンで構成されるオブジェクトであり、第1のマーカに紐付けられた第1ARイメージと、第2のマーカに紐付けられた第2ARイメージとの間の、仮想的な3次元空間における近接度を取得する近接度取得部と、
前記近接度取得部が取得した近接度をもとに、第1ARイメージまたは第2ARイメージとの間に生じる相互作用を算出する相互作用演出部とを含み、
前記近接度取得部は、仮想的な3次元空間中における第1ARイメージおよび第2ARイメージ間の位置関係に応じて、第1ARイメージを構成する複数のポリゴンのうち、第2ARイメージとの距離が最短のポリゴンの位置座標を第1ARイメージの距離測定基準点として採用し、第2ARイメージを構成する複数のポリゴンのうち、第1ARイメージとの距離が最短のポリゴンの位置座標を第2ARイメージの距離測定基準点として採用し、仮想的な3次元空間中における第1ARイメージおよび第2ARイメージの距離測定基準点を用いて、仮想的な3次元空間中における第1ARイメージおよび第2ARイメージの大きさを反映する値を用いることなく、第1ARイメージおよび第2ARイメージ間の距離を求めることにより、仮想的な3次元空間における第1ARイメージおよび第2ARイメージ間の近接度を求め、
前記ARイメージ生成部は、前記相互作用演出部が算出した相互作用に応じて、第1ARイメージまたは第2ARイメージの少なくともいずれか一方のイメージを変化させることを特徴とする映像処理装置。
前記属性管理部は、相互作用演出部が算出した相互作用に応じて第1ARイメージまたは第2ARイメージに付与れた属性を変化させることを特徴とする請求項2に記載の映像処理装置。
前記属性管理部が管理する属性に含まれる物理特性は、前記仮想的な3次元空間におけるARイメージの位置座標、速度、加速度、または質量のうち少なくともひとつを含み、
前記相互作用演出部は、前記近接度取得部が取得した近接度をもとに、第1ARイメージの物理特性と第2ARイメージの物理特性とを変化させることを特徴とする請求項2または3に記載の映像処理装置。
前記ARイメージ生成部は、所定時間が経過した後、仮想の物理的または化学的な現象が起きた場合、当初のARイメージをもとに別のARイメージを新たに生成することを特徴とする請求項1から5のいずれかに記載の映像処理装置。
前記ARイメージ生成部は、前記属性管理部が管理する属性に含まれる物理特性の単位時間あたりの変化量が所定のしきい値を上回る場合、当該属性を付与された当初のARイメージをもとに別のARイメージを新たに生成することを特徴とする請求項2から5のいずれかに記載の映像処理装置。
前記ARイメージ生成部は、前記当初のARイメージをもとに前記別のARイメージを新たに生成する際、新しく生成されたARイメージを前記当初のARイメージが紐付けられた元のマーカーに紐付けることを特徴とする請求項6または7に記載の映像処理装置。
前記ARイメージ生成部は、前記当初のARイメージをもとに前記別のARイメージを新たに生成する際、新しく生成されたARイメージを位置情報を用いた別のマーカーに紐付けることを特徴とする請求項6または7に記載の映像処理装置。
仮想的な3次元空間における3次元イメージを実空間中に投影した場合に観察される映像を提示するHMDと、当該HMDを装着するユーザの視野を含む領域にある被写体を撮像する撮像素子とを備える立体映像観察デバイスに提示させる、前記撮像素子が撮像した被写体をマーカとするARイメージを生成するステップと、
第1のマーカと第2のマーカとはともに、仮想的な3次元空間における位置、向き、または傾きが変化する映像中の撮像された被写体であり、第1のマーカに紐付けられた第1ARイメージ、第2のマーカに紐付けられた第2ARイメージは、それぞれ第1のマーカ、第2のマーカの位置、向き、または傾きの変化に連動して位置や向き、傾きが変化する複数のポリゴンで構成されるオブジェクトであり、第1のマーカに紐付けられた第1ARイメージと、第2のマーカに紐付けられた第2ARイメージとの間の、仮想的な3次元空間における近接度を取得するステップと、
取得した近接度をもとに、第1ARイメージまたは第2ARイメージとの間に生じる相互作用を算出するステップと、
算出した相互作用に応じて、第1ARイメージまたは第2ARイメージの少なくともいずれか一方のイメージを変化させるステップとをプロセッサに実行させ、
前記近接度を取得するステップは、仮想的な3次元空間中における第1ARイメージおよび第2ARイメージ間の位置関係に応じて、第1ARイメージを構成する複数のポリゴンのうち、第2ARイメージとの距離が最短のポリゴンの位置座標を第1ARイメージの距離測定基準点として採用し、第2ARイメージを構成する複数のポリゴンのうち、第1ARイメージとの距離が最短のポリゴンの位置座標を第2ARイメージの距離測定基準点として採用し、仮想的な3次元空間中における第1ARイメージおよび第2ARイメージの距離測定基準点を用いて、仮想的な3次元空間中における第1ARイメージおよび第2ARイメージの大きさを反映する値を用いることなく、第1ARイメージおよび第2ARイメージ間の距離を求めることにより、仮想的な3次元空間における第1ARイメージおよび第2ARイメージ間の近接度を求めることを特徴とする映像処理方法。
仮想的な3次元空間における3次元イメージを実空間中に投影した場合に観察される映像を提示するHMDと、当該HMDを装着するユーザの視野を含む領域にある被写体を撮像する撮像素子とを備える立体映像観察デバイスに提示させる、前記撮像素子が撮像した被写体をマーカとするARイメージを生成する機能と、
第1のマーカと第2のマーカとはともに、仮想的な3次元空間における位置、向き、または傾きが変化する映像中の撮像された被写体であり、第1のマーカに紐付けられた第1ARイメージ、第2のマーカに紐付けられた第2ARイメージは、それぞれ第1のマーカ、第2のマーカの位置、向き、または傾きの変化に連動して位置や向き、傾きが変化する複数のポリゴンで構成されるオブジェクトであり、第1のマーカに紐付けられた第1ARイメージと、第2のマーカに紐付けられた第2ARイメージとの間の、仮想的な3次元空間における近接度を取得する機能と、
取得した近接度をもとに、第1ARイメージまたは第2ARイメージとの間に生じる相互作用を算出する機能と、
算出した相互作用に応じて、第1ARイメージまたは第2ARイメージの少なくともいずれか一方のイメージを変化させる機能とをコンピュータに実現させ、
前記近接度を取得する機能は、仮想的な3次元空間中における第1ARイメージおよび第2ARイメージ間の位置関係に応じて、第1ARイメージを構成する複数のポリゴンのうち、第2ARイメージとの距離が最短のポリゴンの位置座標を第1ARイメージの距離測定基準点として採用し、第2ARイメージを構成する複数のポリゴンのうち、第1ARイメージとの距離が最短のポリゴンの位置座標を第2ARイメージの距離測定基準点として採用し、仮想的な3次元空間中における第1ARイメージおよび第2ARイメージの距離測定基準点を用いて、仮想的な3次元空間中における第1ARイメージおよび第2ARイメージの大きさを反映する値を用いることなく、第1ARイメージおよび第2ARイメージ間の距離を求めることにより、仮想的な3次元空間における第1ARイメージおよび第2ARイメージ間の近接度を求めることを特徴とするプログラム。
【発明を実施するための形態】
【0014】
本発明の実施の形態の概要を述べる。本発明の実施の形態は、ユーザの操作によって移動された3次元イメージが別の3次元イメージに近づいたとき、その近接度をもとに、3次元イメージ間の仮想的な相互作用を演出し、3次元イメージに反映させる。また、相互作用とは例えば3次元イメージ間の接触や衝突等であり、相互作用の前後における3次元イメージの仮想的な速度や加速度等の属性に応じて、3次元イメージを変化させて提示する。
【0015】
図1は、実施の形態に係る映像提示システム100の全体構成を模式的に示す図である。実施の形態に係る映像提示システム100は、立体映像観察デバイス200、3次元モニタ300、および情報処理装置400を含む。
【0016】
立体映像観察デバイス200は、光学透過型HMDである。ここで立体映像観察デバイス200は、後述する3次元モニタ300を観察するための光学シャッタ(図示せず)を備えてもよい。光学シャッタは3次元モニタ300の視差画像の切替と同期して、左右のシャッタを開閉する。より具体的には、3次元モニタ300が左目用の視差画像を表示しているときは、右目用のシャッタを閉じるとともに左目用のシャッタを開け、立体映像観察デバイス200を装着するユーザに左目用の視差画像を提示する。反対に、3次元モニタ300が右目用の視差画像を表示しているときは、左目用のシャッタを閉じるとともに右目用のシャッタを開け、ユーザに右目用の視差画像を提示する。光学シャッタは、例えば既知の液晶シャッタを用いて実現できる。
【0017】
立体映像観察デバイス200は、シャッタ切替のための同期信号を受信する。同期信号は、3次元モニタ300または情報処理装置400に設けられた図示しない信号送信部から、例えば赤外光等を用いて無線で伝達される。
【0018】
3次元モニタ300は、フレームシーケンシャル方式で立体映像を表示する。人間の左右の目は6cm程度離れているため、左目から見える映像と右目から見える映像には視差が生じる。人間の脳は、左右の目で知覚した視差画像を、奥行きを認識するためのひとつの情報として利用しているといわれている。そのため、左目で知覚される視差画像と右目で知覚される視差画像とをそれぞれの目に投影すると、人間には奥行きを持った映像として認識される。3次元モニタ300は、左目用の視差画像と右目用の視差画像とを交互に時分割で表示する。3次元モニタ300は、液晶テレビやプラズマディスプレイ、有機ELモニタ等の既知の提示デバイスを用いて実現できる。
【0019】
情報処理装置400は、映像提示システム100で提示するための立体映像や上述した同期信号を取得する。情報処理装置400の例としては、例えば据置型のゲーム機や携帯ゲーム機等である。情報処理装置400は内蔵するプロセッサを用いて立体映像や同期信号を生成したり、図示しないネットワークインタフェースを介して、サーバ等の他の情報処理装置から立体映像を取得したりする。
【0020】
図2は、実施の形態に係る立体映像観察デバイス200の外観の一例を模式的に示す図である。立体映像観察デバイス200は、立体映像を提示する提示部202、撮像素子204、および種々のモジュールを収納する筐体206を含む。
【0021】
提示部202は、ユーザの目に立体映像を提示する光学透過型HMDと、光学透過型HMDを透過する外界の光の透過率を変更する液晶シャッタとを含む。撮像素子204は、立体映像観察デバイス200を装着するユーザの視野を含む領域にある被写体を撮像する。このため、撮像素子204は、立体映像観察デバイス200をユーザが装着したとき、ユーザの眉間のあたりに配置されるように設置されている。撮像素子204は、例えばCCD(Charge Coupled Device)イメージセンサやCMOS(Complementary Metal Oxide Semiconductor)イメージセンサ等の既知の固体撮像素子を用いて実現できる。
【0022】
筐体206は、めがね形状の立体映像観察デバイス200におけるフレームの役割を果たすとともに、立体映像観察デバイス200が利用する様々なモジュール(図示せず)を収納する。立体映像観察デバイス200が利用するモジュールとは、光学透過型HMDを実現するためのホログラム導光板を含む光学エンジン、液晶シャッタを駆動するためのドライバや同期信号受信部、その他Wi−Fi(登録商標)モジュール等の通信モジュール、電子コンパス、加速度センサ、傾きセンサ、GPS(Global Positioning System)センサ、および照度センサ等である。これらのモジュールは例示であり、また立体映像観察デバイス200はこれらのモジュールを必ずしも全て搭載する必要はない。いずれのモジュールを搭載するかは、立体映像観察デバイス200が想定する利用シーンに応じて決定すればよい。
【0023】
図2は、めがね型の立体映像観察デバイス200を例示する図である。立体映像観察デバイス200の形状は、この他にも帽子形状、ユーザの頭部を一周して固定されるベルト形状、ユーザの頭部全体を覆うヘルメット形状等さまざまなバリエーションが考えられるが、いずれの形状の立体映像観察デバイス200も本発明の実施の形態に含まれることは、当業者であれば容易に理解される。
【0024】
図3は、実施の形態に係る映像処理装置500の内部構成を模式的に示す図である。実施の形態に係る映像処理装置500は、上述した情報処理装置400の一部として実現される。あるいは、インターネット等のネットワークを介して情報処理装置400に送信するための立体映像を生成するサーバ内に実現されてもよいし、立体映像観察デバイス200や3次元モニタ300に内蔵されてもよい。あるいはさらに、映像処理装置500は独立したひとつの装置であってもよい。以下では、実施の形態に係る映像処理装置500は、上述した情報処理装置400の一部として実現されることを前提に説明する。
【0025】
実施の形態に係る映像処理装置500は、コンテント実行部510、映像生成部520、出力部530、属性管理部540、マーカ特定部550、近接度取得部560、および相互作用演出部570を含む。
【0026】
コンテント実行部510は、例えばゲームアプリケーションや、地図情報を提供するアプリケーション等、映像処理装置500の処理対象となる映像を含むコンテントを実行する。コンテント実行部510は、コンテントを実行することにより、仮想的な3次元空間中に立体映像観察デバイス200に表示させる3次元オブジェクトを設定する。
【0027】
ここで本明細書における「オブジェクト」とは、3次元CGにおける描画の要素となるポリゴン(polygon)の集合であって、各ポリゴンが共通の座標軸を持ち、ひとまとまりとして意味を持つものである。具体的には、木や家、車などの物体を表現するポリゴンの集合体や、ユーザの操作対象となるキャラクタ等の人物や生物を表現するポリゴンの集合体である。「オブジェクト」を構成するポリゴンの集合は共通の座標軸をもっているため、仮想的な3次元空間中において位置や向きを特定することができる。
【0028】
例えば「木」を表すオブジェクトが根本から切り倒されることを表現する場合、仮想的な3次元空間中に直立していた「木」は、根本を中心軸として3次元空間中で次第に傾けて描画される。この時「木」のオブジェクトを構成するポリゴンの各座標は、中心軸を中心とする回転の座標変換を計算することによって求めることができる。これらの操作は、拡大、縮小のスケール変換と合わせて、既知の4×4の変換行列を用いる線形変換の演算によって実現できる。
【0029】
映像生成部520は、コンテント実行部510が仮想的な3次元空間中に設定した3次元オブジェクトをもとに、立体映像観察デバイス200に表示させる立体映像を生成する。具体的には、コンテント実行部510が仮想的な3次元空間中に設定した3次元オブジェクトの左目用の視差画像と右目用の視差画像とを生成する。
【0030】
マーカ特定部550は、立体映像観察デバイス200に備えられた撮像素子204が流し撮りする映像を取得し、映像中のマーカを特定する。ここで「マーカ」とは、例えばオブジェクトを生成するオブジェクト取得部502が利用する情報であって、仮想的な3次元空間に生成する画像の位置を特定できる情報である。マーカの具体例としては、例えばモニタに表示された画像や動画、カードや紙に印刷された画像、円や星形等の特定形状の物体、特定の色、人物や動物のシルエットや顔、GPS等による特定の位置情報が示す位置などである。マーカとして、例えば円錐のような3次元の物体が用いられる場合には、マーカの3次元空間における「向き」が特定できる。このような場合、画像を生成すべき位置のみならず、生成する画像の向きも特定できる。
【0031】
マーカにはARイメージが関連づけられることが多い。ここで「ARイメージ」とは、マーカに関連づけられたオブジェクトであって、そのマーカの位置、向き、または傾きの変化に連動して位置や向き、傾きが変化するオブジェクトである。例えば、紙に印刷されたバーコードをマーカとして、速度ベクトルv
1で移動する「ボール」のARイメージが関連づけられているとする。このとき、ユーザがマーカを速度ベクトルv
2で移動させたとすると、「ボール」はマーカに連動して動くため、速度ベクトルv
1と速度ベクトルv
2との合成ベクトルv
3の向きおよび速さで移動する。このように、映像生成部520が生成するオブジェクトには、マーカに関連づけられたARイメージも含む。このため、映像生成部520は、オブジェクト生成部524、ARイメージ生成部526、および制御部522を含む。
【0032】
制御部522は、オブジェクト生成部524とARイメージ生成部526との動作を統括的に制御する。制御部522は、コンテント実行部510が仮想的な3次元空間中に設定した3次元オブジェクトの情報、およびユーザに提示する映像を生成するための視線方向を取得し、オブジェクト生成部524に視差画像を生成させる。オブジェクト生成部524は、制御部522の制御の下、視差画像を生成して後述する出力部530に出力する。
【0033】
ARイメージ生成部526は、制御部522の制御の下、マーカ特定部550が特定したマーカに関連づけられているARイメージを生成する。
図4は、マーカ710とそのマーカに紐付けられたARイメージ712とを含む映像を例示する図である。
図4は、ユーザの腕702が握っている棒状の握り部および球状の物体からなるマーカ710を例示している。当然のことながら、ユーザの腕702は実在する。また、マーカ710も実在する物体である。
図4に示すように、3次元空間にはx軸、y軸、およびz軸による直交座標系602が設定されている。直交座標系602は、オブジェクト生成部524およびARイメージ生成部526が仮想的な3次元空間に設定する座標系と一致する。
【0034】
なお、直交座標系602のx軸とy軸とが張るxy平面と、3次元モニタ300の表示領域とが平行となるように、直交座標系602を設定するのが好ましい。より具体的には、直交座標系602のx軸とy軸とが張るxy平面上に3次元モニタ300の表示領域が重なるように、直交座標系602の原点Oが設定されるのが好ましい。また、直交座標系602のz軸は、3次元モニタ300の表示領域に対して立体映像観察デバイス200を装着するユーザの視点側が負のz座標値、3次元モニタ300の表示領域に対して視点と反対側が正のz座標値となるように設定されるのが好ましい。
【0035】
図4に示す例では、ARイメージ712は炎を表現するオブジェクトである。ARイメージ生成部526がマーカ710と関連づけて生成するARイメージ712もオブジェクトであるため、位置座標が定められている。ARイメージ生成部526は、上述の直交座標系602ではなく、ARイメージ712を関連づけるマーカ710の位置に応じて定まる点を原点として設定された座標系704にしたがって、ARイメージ712を生成する。このため、ユーザがマーカ710の位置や向き、傾きを変更すると、ARイメージ712が基準とする座標系704も変更する。座標系704が変更されると、それに伴ってARイメージ712の位置および向きも変更される。なお、ARイメージ712が基準とする座標系704の原点は、必ずしも関連するマーカと重なる位置になくてもよい。
【0036】
このように、ARイメージ生成部526が生成するオブジェクトであるARイメージは、マーカ710の動きと連動して動く。そこで、近接度取得部560が、異なるふたつのARイメージ同士の近接度、すなわちたつのARイメージ間の距離を計算して取得する。
【0037】
図5は、異なるふたつのARイメージ間の近接度を説明するための図であり、立体映像観察デバイス200を装着したユーザに提示される映像の一例を示す図である。
図5は、3種類のマーカ710、714、および300と、それらに対応付けられた3種類のARイメージ716、718、および720を示している。ここでマーカ714は紙に印刷された画像であり、マーカ300は3次元モニタ300における表示領域がマーカとなっている。マーカ710に関連づけられたARイメージ716は光り輝く仮想的な刀身であり、マーカ714に関連づけられたARイメージ718は、円錐形のオブジェクトである。また、マーカ300に関連づけられたARイメージ720は、3次元モニタ300から飛来し3次元モニタ300から離れる方向に移動する球状のオブジェクトである。
【0038】
各ARイメージには、ARイメージ間の距離を計測するために定められた距離計測基準点が定められている。
図5に示す例では、ARイメージ716の距離計測基準点は符号722で示されている。同様に、ARイメージ718およびARイメージ720の距離計測基準点は、それぞれ符号724および726で示されている。距離計測基準点は、ARイメージ716を構成するポリゴンの表面やARイメージ716付近に存在すればどのような点でもよいが、一例として、近接度取得部560は、ARイメージ716を構成する複数のポリゴンの重心位置に距離計測基準点を設定する。これにより、オブジェクトを構成するポリゴンが複数あったとしてもオブジェクトの位置座標をひとつの座標で表すことができるので、計算コストの抑制と処理速度の向上とが期待できる。
【0039】
各ARイメージには、ARイメージ間の衝突を判定するために定められた衝突判定基準半径も定められている。例えば
図5に示す例において、ARイメージ716の衝突判定基準半径がr
1であり、ARイメージ720の衝突判定基準半径がr
2であるとする。また、ARイメージ716の距離計測基準点の座標が(x
1,y
1,z
1)であり、ARイメージ720の距離計測基準点の座標が(x
2,y
2,z
2)であるとする。このとき近接度取得部560は、次の式(1)で示す式の値Eを評価する。
E=(x
1−x
2)
2+(y
1−y
2)
2+(z
1−z
2)
2−(r
1+r
2)
2 (1)
【0040】
式(1)において、E=0の場合、ARイメージ716の距離計測基準点とARイメージ720の距離計測基準点との間のユークリッド距離Lが、ARイメージ716の衝突判定基準半径r
1とARイメージ720衝突判定基準半径r
2との和に等しいことを意味する。このとき、近接度取得部560は、ARイメージ716とARイメージ720とが「接している」とみなす。また、式(1)においてE<0の場合、ARイメージ716の衝突判定基準半径r
1とARイメージ720の衝突判定基準半径r
2との和が、ARイメージ716の距離計測基準点とARイメージ720の距離計測基準点との間のユークリッド距離Lよりも大きいことを意味する。この場合、近接度取得部560は、ARイメージ716とARイメージ720とが「離れている」とみなす。反対に、式(1)においてE>0の場合、ARイメージ716の衝突判定基準半径r
1とARイメージ720の衝突判定基準半径r
2との和が、ARイメージ716の距離計測基準点とARイメージ720の距離計測基準点との間のユークリッド距離Lよりも小さいことを意味する。この場合、近接度取得部560は、ARイメージ716とARイメージ720とが「重なっている」とみなす。このように、近接度取得部560が取得するEの値は、ふたつのARイメージ間の近接度を表現する値として利用することができる。
【0041】
ここで各ARイメージの衝突判定基準半径は、3次元空間中におけるARイメージの大きさを反映する値であればよく、例えば、距離計測基準点からARイメージを構成するポリゴンまでの距離をもとに設定すればよい。より具体的には、距離計測基準点からARイメージを構成する各ポリゴンまでの距離の平均値、距離の最大値または最小値等を、そのARイメージの衝突判定基準半径として採用すればよい。
【0042】
図3の説明に戻り、相互作用演出部570は、近接度取得部560が取得した近接度をもとに、ふたつの異なるARイメージ間に生じる相互作用を算出する。ここで「相互作用」とは、ARイメージ間に生じる仮想の物理的あるいは化学的な相互作用と、CGを用いた視覚効果(Visual Effects;VFX)とを含む概念である。前者の例は、剛体同士の衝突における運動量保存則や、軟体同士の衝突であれば両者が結合する現象、あるいは一方のARイメージが燃焼している場合に、燃焼していなかった他方のARイメージに炎が移るといった現象である。後者の例は、一方のARイメージがあらゆるものを切断する刀身である場合にそのARイメージに触れた別のARイメージが切断されるといった効果や、一方のARイメージがあらゆるものを透過する属性が付加されている場合に、他方のARイメージと干渉することなく重なるといった効果である。
【0043】
属性管理部540は、ARイメージ生成部526が生成するARイメージそれぞれに付与される仮想的な物理特性や視覚効果を示す情報を含む属性を管理する。ここで属性管理部540が管理する属性は、相互作用演出部570が算出する相互作用に応じて変化する。具体的に、属性管理部540が管理する属性に含まれる物理特性は、ARイメージの3次元空間における位置座標、速度ベクトル、加速度ベクトル、質量、ARイメージの剛性、色、温度、燃焼しているか否か、発光しているか否か、上述した距離計測基準点および衝突基準半径を含む。これらの物理特性は例示であり、属性管理部540は、これらの物理特性を必ずしも全て管理する必要はない。どのような物理特性を管理するかは、コンテント実行部510が再生するコンテントが想定する利用シーンに応じて決定すればよい。
【0044】
相互作用演出部570は、近接度取得部560が取得した近接度をもとに、ふたつのARイメージの物理特性を変化させる。より具体的には、相互作用演出部570は、近接度取得部560が取得した近接度をもとに相互作用を算出し、属性管理部540が、相互作用演出部570が算出した相互作用に応じてARイメージに付与された属性を変化させる。ARイメージ生成部526は、ARイメージの属性が変化したときに生成するイメージを変化させる。
【0045】
例えば
図5に示す例において、3次元モニタ300から飛来して3次元モニタ300から離れる方向に移動する球状のオブジェクトであるARイメージ720が、3次元空間上で静止している円錐形のオブジェクトであるARイメージ718に衝突する場合を考える。このとき近接度取得部560がARイメージ720とARイメージ718との間の近接度を計算し、両者が接したと判断したとする。相互作用演出部570は、ARイメージ720に属性である質量および速度ベクトルと、ARイメージ718の属性である質量および速度ベクトルとをもとに、運動量保存則と運動エネルギー保存則とを適用して、衝突後の両者の速度ベクトルを算出する。
【0046】
属性管理部540は、ARイメージ718およびARイメージ720の属性中の速度ベクトルを、相互作用演出部570が算出した速度ベクトルで書き換える。ARイメージ生成部526は、属性管理部540が書き換えた速度ベクトルにしたがって、ARイメージ718およびARイメージ720が移動するようにARイメージ718およびARイメージ720を変化させる。
【0047】
図6は、異なるふたつのARイメージ間の相互作用を例示する図であり、立体映像観察デバイス200を装着したユーザに提示される映像の一例を示す図である。
図6に示す例では、マーカ710に関連づけられた炎を表すARイメージ712が、紙のマーカ728に関連づけられた爆弾を表すARイメージ730の導火線に近接している。
図6に示す例ではARイメージ730の導火線に火はついていないが、ユーザがマーカ710を動かすことによって、ARイメージ712がARイメージ730の導火線とが十分に近接したと、近接度取得部560が判断したとする。このとき、相互作用演出部570は、ARイメージ730の導火線が着火したとみなし、属性管理部540はARイメージ730の属性を「燃焼していない」から「燃焼している」に変化させる。この結果、ARイメージ生成部526は、ARイメージ730の導火線に火がついて、時間とともに短くなるようにARイメージ730を変化させる。
【0048】
図6に示す例において、所定時間が経過した後に爆弾本体が着火したとする。この時、ARイメージ生成部526は、爆弾を表すARイメージ730は、爆発によっていくつかの破片に分裂されたように生成される。このように、ARイメージ生成部526は、ひとつのARイメージから別のARイメージを新しく生成することもある。ひとつのARイメージから別のARイメージを新しく生成する場合の別の例としては、ピストルを表すARイメージから銃弾を発射するイメージを生成する場合があげられる。あるいは、
図6に示す例においてユーザがマーカ710を高速で移動させたとする。この時、マーカ710の移動に応じてARイメージ712の移動ベクトルおよび加速度ベクトルが変化するが、これらの物理特性の単位時間あたりの変化量が所定のしきい値を上回る場合、ARイメージ生成部526は、ARイメージ712とは別の新たなARイメージを生成してもよい。これにより、ユーザの操作に応じて炎が分裂して飛び出るといった演出が可能となる。
【0049】
ここで、ひとつのARイメージから別のARイメージを新しく生成する場合、新しく生成されるARイメージはもととなるマーカに関連づけられてもよいし、位置情報を用いた別のマーカであってもよい。
【0050】
図7は、実施の形態に係る映像処理装置500による相互作用演出処理の流れを示すフローチャートである。本フローチャートにおける処理は、例えば映像処理装置500の電源が投入されたときに開始する。
【0051】
近接度取得部560は、マーカ特定部550が特定した第1のマーカに関連づけられた第1ARイメージの位置座標、距離計測基準点、および衝突基準半径を取得する(S2)。近接度取得部560はさらに、マーカ特定部550が特定した第2のマーカに関連づけられた第2ARイメージの位置座標、距離計測基準点、および衝突基準半径も取得する(S4)
【0052】
続いて近接度取得部560は、上述の式(1)にしたがって、第1ARイメージと第2ARイメージとの間の近接度を取得する(S6)。相互作用演出部570は、近接度取得部560が取得した近接度をもとに、第1ARイメージと第2ARイメージとの間の相互作用を計算する(S8)。
【0053】
属性管理部540は、相互作用演出部570が算出した相互作用をもとに、第1ARイメージと第2ARイメージとの属性を変更する(S10)。ARイメージ生成部526は、属性管理部540がした属性変更を、第1ARイメージと第2ARイメージとに反映させる(S12)。ARイメージ生成部526が属性変更をイメージとに反映させると、本フローチャートにおける処理は終了する。
【0054】
以上の構成による映像提示システム100の利用シーンは以下のとおりである。立体映像観察デバイス200を装着して映像提示システム100を利用するユーザが、マーカを移動させることによってマーカに関連づけられたARイメージを移動させ、別のARイメージに近づける。ARイメージ生成部526は相互作用演出部570による相互作用をARイメージに反映させる。これにより、異なるマーカに対するARイメージの接触や衝突等の近接度、およびそのときのARイメージの速度や加速度等の属性に応じて、ARイメージやコンテント実行部510が再生するコンテントの内容に変化を反映させることができる。例えばマーカの加速度を考慮することにより、そのマーカに関連づけられた鞭のARイメージをマーカの動きに応じてしならせる表現などが可能となる。また、ARイメージに付与された特殊な視覚効果を演出することも可能となる。
【0055】
以上説明したように、実施の形態に係る映像提示システム100によれば、特定の対象物に紐付けて生成される画像間の相互作用を演出する技術を提供することができる。より具体的には、複数のARイメージが相互に影響し合うアプリケーションや、マーカの動きをARイメージに反映させることが可能となる。
【0056】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0057】
(第1の変形例)
上記では、オブジェクトの距離計測基準点としてオブジェクトを構成するポリゴンの重心を採用する場合について説明したが、距離計測基準点はポリゴンの重心の座標には限られない。例えば、オブジェクトを構成するポリゴンのうちひとつのポリゴンの位置座標を代表で用いてもよい。このとき、代表で用いるポリゴンをオブジェクト間の位置関係に応じて適応的に変更してもよい。具体的には、オブジェクトを構成する複数のポリゴンのうち、別のオブジェクトとの距離が最短のポリゴンの位置座標をオブジェクトの座標として採用してもよい。これにより、例えばオブジェクト同士の衝突判定の計算を上述の式(1)を用いることなく、容易かつ正確にすることができる。
【0058】
(第2の変形例)
上記では、映像提示システム100が3次元モニタ300を含む場合について説明したが、本発明の実施の形態において3次元モニタ300は必須ではなく、立体映像の出力先が立体映像観察デバイス200中の光学透過型HMDだけであっても本発明の実施の形態が成立することは当業者であれば容易に理解できることである。
【0059】
(第3の変形例)
上記では、ARイメージ同士が接する場合の相互作用を主に説明したが、ARイメージ同士が接しない場合であっても相互作用は算出される。例えば、ユーザがマーカを動かして扇子を表すARイメージを、紙切れを表すARイメージに向かって扇ぐ場合、扇子を表すARイメージと紙切れを表すARイメージとは接しなくても、両者が十分に近接すれば、紙切れを表すARイメージが吹き飛ぶという相互作用が演出される。このように、相互作用はARイメージ同士の近接度に応じて定まる。
【0060】
(第4の変形例)
上記では、近接度取得部560は異なるふたつのARイメージ間の近接度を取得する場合について説明した、近接度取得部560が算出する近接度は、異なるふたつのARイメージ間の近接度に限らず、あるARイメージとマーカとの間の近接度を求めてもよい。以下、この場合について説明する。
【0061】
図8は、あるARイメージとマーカとの間の近接度を説明するための図である。
図8に示す例においては、ユーザはマーカ710を操り、マーカ710に関連づけられているARイメージ732を、3次元モニタ300の表示領域に表示されているキャラクタ302に当てることを試みる。
図8に示す例はゲームアプリケーションの例であり、ユーザは雷を表すARイメージ732を敵キャラであるキャラクタ302に当てて攻撃することが想定されている。
【0062】
上述したように、3次元モニタ300の表示領域もひとつのマーカである。近接度取得部560は、ARイメージ732と、マーカである3次元モニタ300の表示領域に表示されている部分的な映像であるキャラクタ302との間で近接度を取得する。すなわち、近接度取得部560は、ARイメージとマーカとの間の近接度を計算する。これにより、例えばコンテント実行部510が再生するコンテントが従来型の2次元のコンテントであり、3次元モニタ300の表示領域に表示される映像が従来型の2次元の映像であったとしても、3次元のARイメージとの相互作用を演出することが可能となる。