JP5729761B2 - 表示システムおよび負荷分散方法 - Google Patents

表示システムおよび負荷分散方法 Download PDF

Info

Publication number
JP5729761B2
JP5729761B2 JP2011082783A JP2011082783A JP5729761B2 JP 5729761 B2 JP5729761 B2 JP 5729761B2 JP 2011082783 A JP2011082783 A JP 2011082783A JP 2011082783 A JP2011082783 A JP 2011082783A JP 5729761 B2 JP5729761 B2 JP 5729761B2
Authority
JP
Japan
Prior art keywords
unit
display device
information
received
display
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.)
Expired - Fee Related
Application number
JP2011082783A
Other languages
English (en)
Other versions
JP2012220986A (ja
Inventor
伸 三国
伸 三国
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Casio Mobile Communications Ltd
Original Assignee
NEC Casio Mobile Communications Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Casio Mobile Communications Ltd filed Critical NEC Casio Mobile Communications Ltd
Priority to JP2011082783A priority Critical patent/JP5729761B2/ja
Publication of JP2012220986A publication Critical patent/JP2012220986A/ja
Application granted granted Critical
Publication of JP5729761B2 publication Critical patent/JP5729761B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、複数の表示装置からなる表示システムおよび負荷分散方法に関する。
近年、現実の環境を撮影した画像に仮想的な物体像を重畳させた合成画像を表示する拡張現実表示技術が開発されている。
拡張現実表示技術は、現実の環境に設置されたマーカーにて定義された範囲を撮影する撮影部と、仮想的な物体像を描画するための処理を実行する演算部と、上述した合成画像を表示する表示部とを備えた表示装置を用いることで実現できる。また、拡張現実表示技術では、合成画像を複数の表示装置で共有することもできる。
このような拡張現実を実現するための技術が例えば、特許文献1、2および非特許文献1に開示されている。
これらの文献に開示されている技術では、平面状のマーカーを現実の環境に設置し、そのマーカーで拡張現実を実現する範囲を定義している。
特開2003−256876号公報 特開2010−170316号公報
「マーカー追跡に基づく拡張現実感システムとそのキャリブレーション」日本バーチャルリアリティ学会論文誌Vol.4 1999年
ここで、上述したような表示装置を複数備えた表示システムにおいて、その複数の表示装置のそれぞれを操作することで仮想的な物体像である仮想キャラクターを動作させ、拡張現実上で対戦型のゲームなどを行う場合を考えてみる。この場合、複数の表示装置のそれぞれにおいて、仮想キャラクターと、撮影された画像とを合成する必要がある。
仮想キャラクターは、表示装置を操作することで複雑な動作を行うこととなり、その複雑な動作に応じた物体像を描画するための処理を実行する表示装置の負荷量が非常に大きくなる可能性がある。
表示装置の負荷量が大きくなると、仮想キャラクターの動きに合わせて合成画像の表示を行うことが難しくなる。すなわち、拡張現実の合成画像を実用的な速度で表示することができなくなってしまうという問題点がある。
本発明は、仮想的な物体像の描画にかかる負荷量が大きな場合でも、拡張現実の合成画像を実用的な速度で表示することができる表示システムおよび負荷分散方法を提供することを目的とする。
上記目的を達成するために本発明の表示システムは、複数の表示装置からなる表示システムであって、
前記複数の表示装置のそれぞれは、
表示部と、
現実の環境の所定の範囲を撮影する撮影部と、
複数の種類の処理のそれぞれに対応付けられた複数の役割のいずれかの選択を受け付ける操作部と、
前記複数の役割のうち第1の役割が選択された場合、前記操作部に対する操作に応じて形状が変化する第1の物体像を描画するための処理を実行する演算部と、
前記選択された役割に対応する処理を当該表示装置が実行する際の負荷量を示す負荷量情報を、前記複数の表示装置のうち当該表示装置以外の表示装置である他表示装置へ送信し、当該他表示装置から送信された当該他表示装置の負荷量情報を受信する通信部と、を有し、
前記演算部は、前記通信部にて受信された当該他表示装置の負荷量情報が示す負荷量に、前記選択された役割に対応する処理を当該表示装置が実行する際の負荷量よりも小さなものがない場合、第2の物体像を描画するための処理を実行し、
前記通信部は、前記演算部における処理結果を前記他表示装置へ送信するとともに、当該他表示装置から送信された処理結果を受信し、
前記表示部は、前記撮影部にて撮影された画像と、前記演算部における処理結果に基づく物体像と、前記通信部にて受信された処理結果に基づく物体像とを重畳させることにより、前記第1および第2の物体像が前記所定の範囲上に配置された合成画像を表示する。
また、上記目的を達成するために本発明の負荷分散方法は、複数の表示装置からなる表示システムにおける負荷分散方法であって、
前記複数の表示装置のそれぞれが、
複数の種類の処理のそれぞれに対応付けられた複数の役割のいずれかの選択を受け付けるステップと、
前記選択された役割に対応する処理を当該表示装置が実行する際の負荷量を示す負荷量情報を、前記複数の表示装置のうち当該表示装置以外の表示装置である他表示装置へ送信し、当該他表示装置から送信された当該他表示装置の負荷量情報を受信するステップと、
現実の環境の所定の範囲を撮影するステップと、
前記複数の役割のうち第1の役割が選択された場合、当該表示装置に対する操作に応じて形状が変化する第1の物体像を描画するための処理を実行し、前記受信した当該他表示装置の負荷量情報が示す負荷量に、前記選択された役割に対応する処理を当該表示装置が実行する際の負荷量よりも小さなものがない場合、第2の物体像を描画するための処理を実行する演算ステップと、
前記演算ステップにおける処理結果を前記他表示装置へ送信するとともに、当該他表示装置から送信された処理結果を受信するステップと、
前記撮影された画像と、前記演算ステップにおける処理結果に基づく物体像と、前記受信した処理結果に基づく物体像とを重畳させることにより、前記第1および第2の物体像が前記所定の範囲上に配置された合成画像を表示するステップと、を有する。
本発明は以上説明したように構成されているので、仮想的な物体像の描画にかかる負荷量が大きな場合でも、拡張現実の合成画像を実用的な速度で表示することができる。
本発明の表示システムの第1の実施形態の構成を示す図である。 図1に示したマーカーを説明するための図であり、(a)はマーカーの外観図、(b)は(a)に示したマーカーの一構成例を示す図である。 図1に示したマーカーにて定義される所定の範囲を説明するための図であり、(a)はマーカーにて定義される所定の範囲を撮影した画像の一例を示す図、(b)はマーカーにて定義される所定の範囲を座標で表した座標系を示す図である。 図1に示した携帯端末の一構成例を示すブロック図である。 図1に示した携帯端末の外観の一例を示す図である。 図4に示した画像処理部が画像を解析する動作を説明するための図であり、(a)は画像中のマーカーを示す図、(b)は画像中のマーカーの位置を特定する方法を説明するための図、(c)は(b)において破線で囲まれた部分の拡大図である。 図4に示した画像処理部12が画像を解析する動作を説明するための図であり、(a)はボール部の影の付き方の一例を示す図、(b)は携帯端末とマーカーとの位置関係の一例を示す図である。 図1〜図7に示した表示システムにおいてゲームの機能を起動したときの携帯端末の動作を説明するためのフローチャートである。 図1〜図7に示した表示システムにおいて携帯端末を初期化する動作を説明するためのフローチャートであり、(a)は参加者用携帯端末を初期化する動作を説明するためのフローチャート、(b)は中継者用携帯端末を初期化する動作を説明するためのフローチャートである。 図1〜図7に示した表示システムにおいて参加者用携帯端末と中継者用携帯端末に共通する初期化の動作を説明するためのフローチャートである。 図1〜図7に示した表示システムにおいて携帯端末が検索用情報を受信したときの動作の一例を説明するためのフローチャートである。 図1〜図7に示した表示システムにおいて観客用携帯端末を初期化する動作の一例を説明するためのフローチャートである。 図1〜図7に示した表示システムにおいて携帯端末のそれぞれの状態の一例を示す図である。 図1〜図7に示した表示システムにおいて仮想キャラクターを描画するための処理と、仮想背景を描画するための処理とにおける動作を説明するためのフローチャートであり、(a)は仮想キャラクターを描画するための処理における動作を説明するためのフローチャート、(b)は仮想背景を描画するための処理における動作を説明するためのフローチャートである。 図1〜図7に示した表示システムにおいて頂点座標情報の送信側の動作と受信側の動作とを説明するためのフローチャートであり、(a)は頂点座標情報の送信側の動作を説明するためのフローチャート、(b)は頂点座標情報の受信側の動作を説明するためのフローチャートである。 図1〜図7に示した表示システムにおいて携帯端末が、受信した頂点座標情報を記憶するときの動作を説明するためのフローチャートである。 図1〜図7に示した表示システムにおいて視点・光源定義部に画像処理部における解析結果を記憶させるときの動作を説明するためのフローチャートである。 本発明の表示システムの第2の実施形態の構成を示す図である。 図1〜図7に示した表示システムにおいて観客用携帯端末を初期化する動作の他の例を説明するためのフローチャートである。 図1〜図7に示した表示システムにおいて携帯端末が検索用情報を受信したときの動作の他の例を説明するためのフローチャートである。 図1〜図7に示した表示システムにおいて携帯端末のそれぞれの状態の他の例を示す図である。
以下に、本発明の実施の形態について図面を参照して説明する。
(第1の実施形態)
図1は、本発明の表示システムの第1の実施形態の構成を示す図である。
本実施形態の表示システムは図1に示すように、表示装置である携帯端末10−1〜10−4を備えている。なお、図1においては携帯端末の数を4つとしているが、携帯端末の数は4つに限定されない。
まず、本実施形態の概要について説明する。
本実施形態では、現実の環境に設置されたマーカー50−1〜50−4にて拡張現実を実現する所定の範囲を定義している。なお、マーカーの数は4つに限定されない。また、図1に示す第1の物体像である仮想キャラクター51,52と、第2の物体像である仮想背景53,54とは、現実の環境に設置されたものではなく、携帯端末10−1〜10−4にて描画される仮想的な物体像である。
また、本実施形態では、携帯端末10−1〜10−4のいずれか2つを操作することで仮想キャラクター51,52を動作させるゲームを行うことを想定している。
そのゲームにおいて携帯端末10−1〜10−4のユーザーのそれぞれは、複数の種類の処理のそれぞれに対応付けられた複数の役割のいずれかを担うことになる。具体的には、携帯端末10−1〜10−4のユーザーのそれぞれは、仮想キャラクター51,52を動作させる第1の役割であるゲームの参加者か、拡張現実の合成画像を外部へ送信することでゲームの様子を中継する第2の役割である中継者か、ゲームの様子を観戦する第3の役割である観客かのいずれかの役割を担う。なお、上述した役割の種類および数は一例である。
以降、携帯端末10−1〜10−4のうち、ゲームの参加者が仮想キャラクター51,52を動作させるために操作する携帯端末のことを参加者用携帯端末という。なお、参加者用携帯端末では、仮想キャラクターを描画するための処理が実行される。また、携帯端末10−1〜10−4のうち、中継者が操作する携帯端末のことを中継者用携帯端末という。また、携帯端末10−1〜10−4のうち、観客が操作する携帯端末のことを観客用携帯端末という。
次に、図1に示したマーカー50−1〜50−4について説明する。上述した特許文献1、2および非特許文献に開示されている技術では、拡張現実を実現する範囲を定義するために、平面状のマーカーを用いていたが、本実施形態では、所定の形状を有する複数のマーカーを用いている。
図2は、図1に示したマーカー50−1を説明するための図であり、(a)はマーカー50−1の外観図、(b)は(a)に示したマーカー50−1の一構成例を示す図である。なお、マーカー50−2〜50−4のそれぞれも同様の構成である。
図1に示したマーカー50−1は図2(a)に示すように、球状のボール部50aと、支柱部50bと、第1円盤部50cと、第2円盤部50dと、土台部50eとを備えている。
なお、土台部50eの色は変えられるようになっている。本実施形態においては、マーカー50−1〜50−3の土台部50eの色が同じであり、マーカー50−4の土台部50eの色がマーカー50−1〜50−3の土台部50eの色と異なっているものとする。
また、図2(b)に示すようにボール部50aと第1円盤部50cと第2円盤部50dとの半径をRとし、第1円盤部50cと第2円盤部50dとの間隔をHとする。
図3は、図1に示したマーカー50−1〜50−4にて定義される所定の範囲を説明するための図であり、(a)はマーカー50−1〜50−4にて定義される所定の範囲を撮影した画像の一例を示す図、(b)はマーカー50−1〜50−4にて定義される所定の範囲を座標で表した座標系を示す図である。
図3では、マーカー50−1〜50−4にて定義される所定の範囲を太線で囲まれた範囲としている。
図3(b)では、マーカー50−1〜50−4にて定義される所定の範囲を座標として表した座標系において原点を図3(b)に示した座標とした場合のマーカー50−1の座標(座標A)とマーカー50−4の座標(座標B)を一例として示している。
次に、図1に示した携帯端末10−1〜10−4の構成について説明する。
図4は、図1に示した携帯端末10−1の一構成例を示すブロック図である。なお、携帯端末10−2〜10−4も同様の構成である。また、図5は、図1に示した携帯端末10−1の外観の一例を示す図である。
携帯端末10−1は図4に示すように、撮影部11と、画像処理部12と、制御部13と、通信部14と、操作部15と、表示画面16bを有する表示部16と、演算部17とを備えている。
以下に、図4を参照しながら携帯端末10−1の構成について説明するが、携帯端末10−1〜10−4の各部の動作は、参加者用携帯端末、中継者用携帯端末および観客用携帯端末のそれぞれに応じて異なる。そのため、各部の動作の詳細については、後述する動作フローで説明する。
撮影部11は、画像メモリ11aを備えている。撮影部11は、被写体を撮影することで画像を取得する。撮影部11は、取得した画像を示す撮影画像データを画像メモリ11aに記憶させる。そして、撮影部11は、画像メモリ11aに記憶させた撮影画像データを画像処理部12と表示部16とへ出力する。なお、撮影部11は図5に示すように、表示画面16bの反対側に存在する被写体を撮影できるように設置されている。従って、携帯端末10−1のユーザーは、携帯端末10−1を自分の体の前で保持することで、さらに前方にあるマーカー50−1〜50−4にて定義された所定の範囲を撮影することができる。
画像処理部12は、撮影部11から出力された撮影画像データを受け付け、受け付けた撮影画像データが示す画像を解析する。
ここで、画像処理部12における画像の解析について説明する。
図6は、図4に示した画像処理部12が画像を解析する動作を説明するための図であり、(a)は画像中のマーカーを示す図、(b)は画像中のマーカーの位置を特定する方法を説明するための図、(c)は(b)において破線で囲まれた部分の拡大図である。なお、撮影部11の画角は既知であるものとする。
まず、ボール部50aを構成する半径Rの球の画像中の半径が図6(a)に示すようにrであるとする。この場合、携帯端末10−1からボール部50aまでの現実の環境における距離Lはrを用いて算出することができる。
また、マーカーから距離Lだけ離れた位置からそのマーカーを撮影した場合に、第1円盤部50cと第2円盤部50dとの間の画像中の本来の間隔が図6(c)に示すようにhであるとする。しかし、実際には携帯端末は、マーカーを真横から撮影しているのではなく斜めから撮影している。そのため、第1円盤部50cと第2円盤部50dとの間の一部は、画像中では第1円盤部50cに遮られて見えないことになる。
この場合、第1円盤部50cと第2円盤部50dとの間の画像中の実際の間隔を図6(b)、(c)に示すようにd1であるとすると、d1を用いて図6(c)に示す角度θ1はd1を用いて算出することができる。同様に、d2を用いて角度θ2を算出することができる。
実際には角度θ1と角度θ2とは、ほぼ同じになる。従って、角度θ1と角度θ2とのどちらか一方、または、角度θ1と角度θ2との平均値を、図6(b)に示す角度θと見なすことができる。画像処理部12は、マーカー50−1〜50−4にて定義される所定の範囲に対する撮影部11の垂直方向の位置を角度θを用いて特定する。
ここで、マーカー50−1〜50−4にて定義される所定の範囲に対する撮影部11の水平方向の位置は、マーカー50−1〜50−4のそれぞれの画像中の位置を用いて特定することになる。そのためには、マーカー50−1〜50−4にて定義された所定の範囲を撮影している方向を考慮しなくてはならない。そのため、本実施形態では図1および図3に示したように、マーカー50−1〜マーカー50−4のうちマーカー50−4だけ土台部50eの色が異なる。従って、画像処理部12は、マーカー50−1〜50−4にて定義される所定の範囲に対する撮影部11の水平方向の位置を特定することができる。
このように、画像処理部12は、受け付けた画像中のマーカー50−1〜50−4のそれぞれの画像中の形状および形状に応じ、マーカー50−1〜50−4にて定義される所定の範囲に対する撮影部11の位置を特定する。これは、すなわち、マーカー50−1〜50−4にて定義される所定の範囲に対する携帯端末の位置を特定していることになる。そして、画像処理部12は、特定した位置を示す位置情報を制御部13へ出力する。
ここで、上述したようにマーカー50−1〜50−4のそれぞれのボール部50aは球状である。そのため、画像処理部12は、撮影された画像におけるボール部50aの影のつき方、すなわちボール部50aの色合いを解析することで光源の方向を特定することができる。
図7は、図4に示した画像処理部12が画像を解析する動作を説明するための図であり、(a)はボール部50aの影の付き方の一例を示す図、(b)は携帯端末とマーカーとの位置関係の一例を示す図である。
画像中のボール部50aの影の付き方は図7(a)に示すように、光源の方向に応じて異なる。具体的には、ボール部50aのうち、光源から近い部分の色合いは明るくなり、光源から遠い部分の色合いは暗くなる。そのため、画像処理部12は、画像中のボール部50aの色合いを解析することでマーカー50−1〜50−4にて定義された範囲における光源の方向を特定する。
また、本実施形態では、マーカー50−1〜50−4にて定義された所定の範囲を少なくとも2つの携帯端末で撮影することを想定している。そのため、図7(b)に示すように、例えば携帯端末10−1は、携帯端末10−1にて撮影された画像からは判別できない携帯端末10−2側におけるボール部50aの色合いを、携帯端末10−2から取得する。同様に、携帯端末10−2は、携帯端末10−2にて撮影された画像からは判別できない携帯端末10−1側におけるボール部50aの色合いを、携帯端末10−1から取得する。
具体的には画像処理部12は、特定した光源の方向を通知するための通知用光源情報を他の携帯端末へ送信する。また、画像処理部12は、他の携帯端末から送信された通知用光源情報を受信する。なお、通知用光源情報は、後述する通信部14を介して送受信される。そして、画像処理部12は、受信した通知用光源情報が示す光源の方向と、特定した光源の方向とから、マーカー50−1〜50−4にて定義された所定の範囲における全ての光源の方向と環境光(方向性の無い光)とを特定する。そして、画像処理部12は、特定した光源の方向と環境光とを示す光源情報を制御部13へ出力する。なお、画像処理部12から出力された位置情報と光源情報とは、後述する演算部17にて記憶される。
再度、図4を参照すると、操作部15は、キーパッド15aを備えている。操作部15は、ユーザーからのキーパッド15aの操作を受け付ける。そして、操作部15は、受け付けた操作に対応する情報を示す操作情報を制御部13へ出力する。なお、参加者用携帯端末のユーザーは、キーパッド15aを操作することで仮想キャラクター51,52を動作させる。
表示部16は、表示画像メモリ16aと、表示画面16bとを備えている。
表示画像メモリ16aは、撮影部11から出力された撮影画像データを受け付けて記憶する。また、表示画像メモリ16aは、後述する演算部17から出力され、仮想的な物体像を示す仮想物体画像データを記憶する。
表示画面16bは、表示画像メモリ16aに記憶された撮影画像データが示す画像と仮想物体画像データが示す画像と合成した画像を拡張現実の合成画像として表示する。
通信部14は、近距離通信部14aと、遠距離通信部14bとを備えている。
近距離通信部14aは、後述する演算部17に記憶された情報を取得し、取得した情報を近距離通信が可能な他の携帯端末へ送信する。また、近距離通信部14aは、近距離通信が可能な他の携帯端末等から送信された情報を受信し、受信した情報を演算部17等へ出力する。なお、近距離通信とは、例えば赤外線やBluetooth(登録商標)を用いた通信のことである。
遠距離通信部14bは、表示画像メモリ16aに記憶された撮影画像データと仮想物体画像データとを取得する。そして、遠距離通信部14bは、中継サーバー(不図示)からの要求に応じ、取得した撮影画像データと仮想物体画像データとをインターネット等を介してその中継サーバーへ送信する。これにより、表示画面16bに表示されている合成画像を外部に公開することができる。
制御部13は、携帯端末10−1の動作を制御するためのプログラムや各種のデータ等を予め記憶している。具体的には制御部13は、携帯端末10−1を識別する端末識別情報を記憶している。また、制御部13は、図1に示した仮想キャラクター51,52のような仮想キャラクターの形状を示す形状データを記憶している。形状データは、仮想キャラクターが例えば図1に示した仮想キャラクター51,52のように人型の物体である場合、頭や首、背骨、肩、腰、腕、脚等の人の体の複数の構成部位のそれぞれの形状を示している。なお、制御部13は、複数の仮想キャラクターのそれぞれに対応する複数の形状データを記憶している。また、形状データには、複数の構成部位のそれぞれの接続状態を示すデータも含まれる。さらに、制御部13は、仮想キャラクターの姿勢を決定するための姿勢データを記憶している。姿勢データは、例えば仮想キャラクターの背骨と腰との接続位置を図3(b)に示したような座標系における所定の座標とした場合に、その座標を基準とした頭の位置や、肩の位置の相対座標を示すデータである。つまり、マーカー50−1〜50−4にて定義される所定の範囲上の仮想キャラクターの位置や形状(姿勢)が、姿勢データに応じて決定されることになる。なお、制御部13は、複数の仮想キャラクターのそれぞれに対応する複数の姿勢データを記憶している。また、制御部13が予め記憶している姿勢データは初期値である。そして、制御部13は、操作部15から出力された操作情報に基づき、記憶している姿勢データを更新する。また、制御部13は、図1に示した仮想背景53,54のような仮想背景の形状を示す背景形状データを記憶している。背景形状データは、仮想背景が例えば図1に示した仮想背景53,54のような樹木である場合、樹木の幹や葉のそれぞれの形状を示している。また、背景形状データには、樹木の幹や葉の接続状態を示すデータも含まれる。さらに、制御部13は、仮想背景の配置を決定するための配置データを記憶している。配置データは例えば、仮想背景の幹の先端を図3(b)に示したような座標系における所定の座標とした場合に、その座標を基準した葉の相対座標を示すデータである。
演算部17は、仮想キャラクター演算部17aと、表示画像演算部17bと、仮想背景演算部17cとを備えている。
仮想キャラクター演算部17aは、形状記憶部17a−1と、姿勢定義部17a−2と、姿勢演算部17a−3とを備えている。
形状記憶部17a−1は、制御部13に記憶されている複数の形状データのうちのいずれかを記憶する。
姿勢定義部17a−2は、制御部13に記憶されている複数の姿勢データのうちのいずれかを記憶する。また、姿勢定義部17a−2は、制御部13にて更新された姿勢データを取得し、記憶している姿勢データに代えて、取得した姿勢データを記憶する。
姿勢演算部17a−3は、仮想キャラクター51,52を描画するための処理を実行する。具体的には姿勢演算部17a−3は、形状記憶部17a−1に記憶された形状データが示す形状を、姿勢定義部17a−2に記憶された姿勢データに基づいて変化させた多角形を生成する。そして、姿勢演算部17a−3は、生成した多角形の頂点座標を算出する。そして、姿勢演算部17a−3は、算出した頂点座標を示す頂点座標情報を表示画像演算部17bへ出力する。なお、この頂点座標情報が、仮想キャラクターを描画するための処理の処理結果となる。
仮想背景演算部17cは、形状記憶部17c−1と、配置定義部17c−2と、配置演算部17c−3とを備えている。
形状記憶部17c−1は、制御部13から出力された背景形状データを記憶する。
配置定義部17c−2は、制御部13から出力された配置データを記憶する。
配置演算部17c−3は、仮想背景53,54を描画するための処理を実行する。具体的には配置演算部17c−3は、配置定義部17c−2に記憶された配置データを例えば時間の経過をパラメータとして更新する。そして、配置演算部17c−3は、形状記憶部17c−1に記憶された背景形状データが示す形状を、配置定義部17c−2に記憶された配置データに基づいて変化させた多角形を生成する。そして、配置演算部17c−3は、生成した多角形の頂点座標を示す頂点座標情報を表示画像演算部17bへ出力する。なお、この頂点座標情報が、仮想背景を描画するための処理の処理結果となる。
表示画像演算部17bは、第1の記憶部17b−1と、第2の記憶部17b−2と、第3の記憶部17b−3と、表示画像演算部17b−4と、視点・光源定義部17b−5とを備えている。
第1の記憶部17b−1は、姿勢演算部17a−3から出力された頂点座標情報を受け付けて記憶する。なお、第1の記憶部17b−1は、携帯端末10−1のユーザーの役割によっては、近距離通信部14aから出力された頂点座標情報を受け付けて記憶する。
第2の記憶部17b−2は、近距離通信部14aから出力された頂点座標情報を受け付けて記憶する。
第3の記憶部17b−3は、配置演算部17c−3から出力された頂点座標情報を受け付けて記憶する。なお、第3の記憶部17b−3は、携帯端末10−1のユーザーの役割によっては、近距離通信部14aから出力された頂点座標情報を受け付けて記憶する。
視点・光源定義部17b−5は、画像処理部12から出力された位置情報と光源情報とを記憶する。
表示画像演算部17b−4は、第1の記憶部17b−1に記憶された頂点座標情報と、第2の記憶部17b−2に記憶された頂点座標情報と、第3の記憶部17b−3に記憶された頂点座標情報と、視点・光源定義部17b−5に記憶された位置情報および光源情報とを取得する。そして、表示画像演算部17b−4は、取得した位置情報に基づき、取得した頂点座標情報が示す頂点座標を、図3(b)に示したような座標系における座標に変換する。これにより、マーカー50−1〜50−4にて定義される所定の範囲における仮想キャラクター51,52と仮想背景53,54との配置位置および形状(姿勢)とが決定し、決定した配置位置と形状とを示す画像データが生成されたことになる。さらに、表示画像演算部17b−4は、生成された画像データに、取得した光源情報を反映させることで仮想物体画像データを生成する。そして、表示画像演算部17b−4は、生成した仮想物体画像データを表示部16へ出力する。
以下に、上記のように構成された表示システムの動作について説明する。
まず、図1〜図7に示した表示システムにおいてゲームの機能を起動したときの携帯端末の動作について説明する。
図8は、図1〜図7に示した表示システムにおいてゲームの機能を起動したときの携帯端末の動作を説明するためのフローチャートである。
ゲームの機能が起動されると、制御部13はまず、ゲームの参加者と、ゲームの中継者と、ゲームの観客とのうちのいずれかの役割を選択させるための画面を表示画面16bに表示させる(ステップS1)。
操作部15は、ユーザーから役割の選択を受け付ける(ステップS2)。そして、操作部15は、選択された役割を示す操作情報を制御部13へ出力する。
操作部15から出力された操作情報を受け付けた制御部13は、受け付けた操作情報がゲームの参加者を示しているかどうかを判定する。つまり、選択された役割がゲームの参加者であるかどうかを判定する(ステップS3)。
ステップS3における判定の結果、受け付けた操作情報がゲームの参加者を示している場合、参加者用携帯端末を初期化する動作が実行される(ステップS4)。なお、この動作の詳細については後述する。
次に、参加者用携帯端末と中継者用携帯端末とに共通する初期化をする動作が実行される(ステップS5)。なお、この動作の詳細についても後述する。
一方、ステップS3における判定の結果、受け付けた操作情報がゲームの参加者を示していない場合、受け付けた操作情報がゲームの中継者を示しているかどうかを判定する。つまり、選択された役割がゲームの中継者であるかどうかを判定する(ステップS6)。
ステップS6における判定の結果、受け付けた操作情報がゲームの中継者を示している場合、中継者用携帯端末を初期化する動作が実行される(ステップS7)。なお、この動作の詳細についても後述する。そして、ステップS5の動作へ移行する。
一方、ステップS6における判定の結果、受け付けた操作情報がゲームの中継者を示していない場合には、観客用携帯端末を初期化するための動作が実行される(ステップS8)。なお、この動作の詳細についても後述する。
図9は、図1〜図7に示した表示システムにおいて携帯端末を初期化する動作を説明するためのフローチャートであり、(a)は参加者用携帯端末を初期化する動作を説明するためのフローチャート、(b)は中継者用携帯端末を初期化する動作を説明するためのフローチャートである。
まず、図9(a)を参照しながら、参加者用携帯端末を初期化する動作について説明する。
制御部13は、仮想キャラクター演算部17aを起動させる(ステップS21)。
次に、制御部13は、複数の仮想キャラクターのいずれかを選択させるための画面を表示画面16bに表示させる(ステップS22)。
操作部15は、複数の仮想キャラクターのいずれかの選択をユーザーから受け付ける(ステップS23)。そして、操作部15は、選択された仮想キャラクターを示す操作情報を制御部13へ出力する。
操作部15から出力された操作情報を受け付けた制御部13は、複数の形状データのうち、受け付けた操作情報が示す仮想キャラクターに対応する形状データを仮想キャラクター演算部17aへ出力する。また、制御部13は、複数の姿勢データのうち、受け付けた操作情報が示す仮想キャラクターに対応する姿勢データを仮想キャラクター演算部17aへ出力する。
制御部13から出力された形状データを受け付けた仮想キャラクター演算部17aの形状記憶部17a−1は、受け付けた形状データを記憶する(ステップS24)。
また、制御部13から出力された姿勢データを受け付けた仮想キャラクター演算部17aの姿勢定義部17a−2は、受け付けた姿勢データを記憶する(ステップS25)。
次に、制御部13は、第1の記憶部17b−1への頂点座標情報の出力元を姿勢演算部17a−3に設定する(ステップS26)。
そして、制御部13は、第1の記憶部17b−1と近距離通信部14aとの間のデータ通信経路を活性化する(ステップS27)。
次に、図9(b)を参照しながら、中継者用携帯端末を初期化する動作について説明する。
制御部13は、中継サーバーのURL(Uniform Resouce Locator)の入力を受け付けるための画面を表示画面16bに表示させる(ステップS41)。
操作部15は、ユーザーからURLの入力を受け付ける(ステップS42)。
次に、制御部13は、遠距離通信部14bを起動させる(ステップS43)。
次に、制御部13は、遠距離通信部14bと表示画像メモリ16aとの間のデータ通信経路を活性化する(ステップS44)。
次に、制御部13は、第1の記憶部17b−1への頂点座標情報の出力元を近距離通信部14aに設定する(ステップS45)。これにより、中継者用携帯端末は、他の携帯端末から送信された頂点座標情報を取得することが可能となる。
図10は、図1〜図7に示した表示システムにおいて参加者用携帯端末と中継者用携帯端末に共通する初期化の動作を説明するためのフローチャートである。
制御部13は、近距離通信部14aを起動させる(ステップS61)。
次に、制御部13は、ユーザーからグループID(Identification)の入力を受け付けるための画面を表示画面16bに表示させる(ステップS62)。なお、グループIDとは、図1に示したようなマーカー50−1〜50−4にて定義される所定の範囲を共有する複数の携帯端末から構成されるグループを識別するものである。
操作部15は、ユーザーからグループIDの入力を受け付ける(ステップS63)。そして、操作部15は、受け付けたグループIDを示す操作情報を制御部13へ出力する。
操作部15から出力された操作情報を受け付けた制御部13は、受け付けた操作情報が示すグループIDを記憶する(ステップS64)。
そして、制御部13は、記憶したグループIDと、予め記憶している端末識別情報とを含む検索用情報を近距離通信部14aを介して送信する(ステップS65)。なお、検索用情報は、同一グループに属する携帯端末を検索するために用いられる情報である。
ここで、ステップS65にて送信された検索用情報の受信側の動作について説明する。
図11は、図1〜図7に示した表示システムにおいて携帯端末が検索用情報を受信したときの動作の一例を説明するためのフローチャートである。
近距離通信部14aは、検索用情報を受信する(ステップS65−1)。そして、近距離通信部14aは、受信した検索用情報を制御部13へ出力する。
近距離通信部14aから出力された検索用情報を受け付けた制御部13は、受け付けた検索用情報に含まれるグループIDと、記憶しているグループIDとが一致するかどうかを確認する(ステップS65−2)。
ステップS65−1における確認の結果、受け付けた検索用情報に含まれるグループIDと、記憶しているグループIDとが一致する場合、制御部13は、受け付けた検索用情報に含まれる端末識別情報を記憶する(ステップS65−3)。
そして、制御部13は、記憶している端末識別情報を含むグループ一致情報を近距離通信部14aを介して送信する(ステップS65−4)。
一方、ステップS65−1における確認の結果、受け付けた検索用情報に含まれるグループIDと、記憶しているグループIDとが一致しない場合、グループ不一致情報を近距離通信部14aを介して送信する(ステップS65−5)。
再度、図10を参照すると、近距離通信部14aは、グループ一致情報、グループ不一致情報を受信する(ステップS66)。そして、近距離通信部14aは、受信したグループ一致情報を制御部13へ出力する。
近距離通信部14aから出力されたグループ一致情報を受け付けた制御部13は、受け付けたグループ一致情報に含まれる端末識別情報を、同一のグループに属する携帯端末を識別するための同一グループ端末識別情報として記憶する(ステップS67)。
次に、制御部13は、図8に示したステップS2において選択された役割に対応する処理を実行する際の負荷量を算出する(ステップS68)。
そして、制御部13は、同一グループ端末識別情報にて識別される携帯端末へ算出した負荷量を示す負荷量情報を近距離通信部14aを介して送信する(ステップS69)。
また、制御部13は、同一グループの他の携帯端末から送信された負荷量情報を近距離通信部14aを介して受信する(ステップS70)。
そして、制御部13は、受信した負荷量情報が示す負荷量に、算出した負荷量よりも小さなものがあるかどうかを判定する(ステップS71)。
ステップS71における判定の結果、受信した負荷量情報が示す負荷量に、算出した負荷量よりも小さなものがない場合、制御部13は、仮想背景演算部17cを起動させる(ステップS72)。
次に、制御部13は、記憶している背景形状データと配置データとを仮想背景演算部17cへ出力する。
制御部13から出力された背景形状データを受け付けた仮想背景演算部17cの形状記憶部17c−1は、受け付けた背景形状データを記憶する(ステップS73)
また、制御部13から出力された配置データを受け付けた仮想背景演算部17cの配置定義部17c−2は、受け付けた配置データを記憶する(ステップS74)。
そして、制御部13は、撮影部11および画像処理部12を起動させる(ステップS75)。
一方、ステップS71における判定の結果、受信した負荷量情報が示す負荷量に、算出した負荷量よりも小さなものがある場合には、ステップS75の動作へ遷移する。
次に、図1〜図7に示した表示システムにおいて観客用携帯端末を初期化する動作について説明する。
図12は、図1〜図7に示した表示システムにおいて観客用携帯端末を初期化する動作の一例を説明するためのフローチャートである。
まず、制御部13は、仮想キャラクター演算部17aを停止させる(ステップS81)。
次に、制御部13は、第1の記憶部17b−1への頂点座標情報の出力元を近距離通信部14aに設定し(ステップS82)、近距離通信部14aを起動させる(ステップS83)。
そして、制御部13は、グループIDの入力を受け付けるための画面を表示画面16bに表示させる(ステップS84)。
操作部15は、ユーザーからグループIDの入力を受け付ける(ステップS85)。そして、操作部15は受け付けたグループIDを示す操作情報を制御部13へ出力する。
操作部15から出力された操作情報を受け付けた制御部13はまず、受け付けた操作情報が示すグループIDを記憶する(ステップS86)。
そして、制御部13は、記憶したグループIDと、予め記憶している端末識別情報とを含む検索用情報を生成し、生成した検索用情報を近距離通信部14aを介して送信する(ステップS87)。なお、検索用情報を受信した携帯端末の動作は、図11を参照しながら説明したのと同じである。
次に、近距離通信部14aは、上述したグループ一致情報、グループ不一致情報を受信する(ステップS88)。そして、近距離通信部14aは、受信したグループ一致情報を制御部13へ出力する。
近距離通信部14aから出力されたグループ一致情報を受け付けた制御部13は、受け付けたグループ一致情報に含まれる端末識別情報を同一グループ端末識別情報として記憶する(ステップS89)。
そして、制御部13は、撮影部11および画像処理部12を起動させる(ステップS90)。
なお、図12を参照しながら説明した観客用携帯端末の初期化は、他の携帯端末がゲームを開始した後にも実行することができる。すなわち、観客用携帯端末のユーザーは任意のタイミングでゲームの観客になることができる。
ここまで、図1〜図7に示した表示システムにおいて携帯端末を初期化する動作について説明した。
図13は、図1〜図7に示した表示システムにおいて携帯端末10−1〜10−4のそれぞれの状態の一例を示す図である。
図13は、携帯端末10−1が仮想キャラクター51を描画するための処理を実行する参加者用携帯端末であり、携帯端末10−2が仮想キャラクター52を描画するための処理を実行する参加者用携帯端末であり、携帯端末10−3が中継者用携帯端末であり、携帯端末10−4が観客用携帯端末である場合を示している。
また、図13は、携帯端末10−1,10−2の負荷量と、携帯端末10−3の負荷量とのうち、携帯端末10−3の負荷量が最も大きく、携帯端末10−2の負荷量が最も小さな場合を示している。この場合、携帯端末10−2が仮想背景53,54を描画するための処理を実行することになる。
次に、図1〜図7に示した表示システムにおいてゲームを開始した後の携帯端末の動作について説明する。
まず、仮想キャラクターを描画するための処理と、仮想背景を描画するための処理について説明する。
図14は、図1〜図7に示した表示システムにおいて仮想キャラクターを描画するための処理と、仮想背景を描画するための処理とにおける動作を説明するためのフローチャートであり、(a)は仮想キャラクターを描画するための処理における動作を説明するためのフローチャート、(b)は仮想背景を描画するための処理における動作を説明するためのフローチャートである。
まず、図14(a)を参照しながら仮想キャラクターを描画するための処理における動作について説明する。
操作部15は、ユーザーのキーパッド15aの操作を受け付ける(ステップS101)。そして、操作部15は、受け付けた操作内容を示す操作情報を制御部13へ出力する。
操作部15から出力された操作情報を受け付けた制御部13は、受け付けた操作情報に基づき、上述した図9(a)のステップS23にて選択された仮想キャラクターに対応する姿勢データを更新する(ステップS102)。
姿勢定義部17a−2は、制御部13に記憶された姿勢データを所定の間隔で取得する。
姿勢定義部17a−2は、記憶している姿勢データに代えて、取得した姿勢データを記憶する。これにより、姿勢定義部17a−2に記憶されている姿勢データが更新される(ステップS103)。
姿勢演算部17a−3は、形状記憶部17a−1に記憶された形状データが示す形状を、姿勢定義部17a−2に記憶された姿勢データに基づいて変化させた多角形を生成する(ステップS104)。
そして、姿勢演算部17a−3は、生成した多角形の頂点座標を算出する(ステップS105)。
次に、姿勢演算部17a−3は、算出した頂点座標を示す頂点座標情報を第1の記憶部17b−1に記憶させる(ステップS106)。
次に、近距離通信部14aは、第1の記憶部17b−1に記憶された頂点座標情報を取得する。
そして、近距離通信部14aは、取得した頂点座標情報を、制御部13に記憶された同一グループ端末識別情報にて識別される携帯端末へ送信する(ステップS107)。なお、この動作の詳細については後述する。また、頂点座標情報の受信側の携帯端末の動作についても後述する。
次に、図14(b)を参照しながら仮想背景を描画するための処理における動作について説明する。
配置演算部17c−3は、配置定義部17c−2に記憶されている配置データを例えば時間の経過をパラメータとして更新する(ステップS121)。
次に、配置演算部17c−3は、形状記憶部17c−1に記憶された背景形状データが示す形状を、配置定義部17c−2に記憶された配置データに基づいて変化させた多角形を生成する(ステップS122)。
次に、配置演算部17c−3は、生成した多角形の頂点座標を算出する(ステップS123)。
そして、配置演算部17c−3は、算出した頂点座標を示す頂点座標情報を第3の記憶部17b−3に記憶させる(ステップS124)。
次に、近距離通信部14aは、第3の記憶部17b−3に記憶された頂点座標情報を取得する。
そして、近距離通信部14aは、取得した頂点座標情報を、制御部13に記憶された同一グループ端末識別情報にて識別される携帯端末へ送信する(ステップS125)。
図15は、図1〜図7に示した表示システムにおいて頂点座標情報の送信側の動作と受信側の動作とを説明するためのフローチャートであり、(a)は頂点座標情報の送信側の動作を説明するためのフローチャート、(b)は頂点座標情報の受信側の動作を説明するためのフローチャートである。
まず、図15(a)を参照しながら、頂点座標情報の送信側の動作について説明する。
制御部13は、近距離通信部14aにて頂点座標情報が取得されると、取得された頂点座標情報が、仮想キャラクターの頂点座標情報であるか、仮想背景の頂点座標情報であるかを示す種別情報を生成する(ステップS141)。
次に、制御部13は、記憶している同一グループ端末識別情報にて識別される携帯端末のうちのいずれかを選択する(ステップS142)。
次に、制御部13は、近距離通信部14aを介し、生成した種別情報を、選択した携帯端末へ送信する(ステップS143)。
次に、近距離通信部14aは、種別情報を送信した送信先の携帯端末との間に通信経路を確立する(ステップS144)。
そして、近距離通信部14aは、確立した通信経路を介し、取得した頂点座標情報を送信する(ステップS145)。
次に、制御部13は、記憶している同一グループ端末識別情報にて識別される携帯端末のうち、未選択の携帯端末があるかどうかを確認する(ステップS146)。
ステップS146における確認の結果、同一グループ端末識別情報にて識別される携帯端末のうち、未選択の携帯端末がある場合、制御部13は、未選択の携帯端末のうちのいずれかを選択する(ステップS147)。そして、ステップS143の動作へ遷移する。
一方、ステップS146における確認の結果、同一グループ端末識別情報にて識別される携帯端末のうち、未選択の携帯端末がない場合には、処理を終了する。
なお、図15(a)に示したフローでは、同一グループ端末識別情報にて識別される携帯端末のそれぞれに順次、頂点座標情報を送信していた。このような方法ではなく、同一グループ端末識別情報にて識別されるすべての携帯端末に一斉に頂点座標情報を送信するようにしてもよい。但し、この場合、通信中にエラー等が発生したときには、エラー等が発生したフレームを破棄する必要がある。
次に、図15(b)を参照しながら、頂点座標情報の受信側の動作について説明する。
近距離通信部14aは、同一グループの他の携帯端末から送信された種別情報を受信する(ステップS161)。
次に、近距離通信部14aは、種別情報の送信元の携帯端末との間に通信経路を確立する(ステップS162)。
次に、近距離通信部14aは、確立した通信経路を介して頂点座標情報を受信する(ステップS163)。
そして、制御部13は、受信した種別情報が示す内容に応じ、表示画像演算部17bの第1〜第3の記憶部17b−1〜17b−3のいずれかに、近距離通信部14aにて受信された頂点座標情報を記憶させる(ステップS164)。
次に、受信した頂点座標情報を記憶するときの動作の詳細について説明する。
図16は、図1〜図7に示した表示システムにおいて携帯端末が、受信した頂点座標情報を記憶するときの動作を説明するためのフローチャートである。
制御部13は、近距離通信部14aにて受信された種別情報が仮想背景の頂点座標情報であることを示しているかどうかを確認する(ステップS181)。
ステップS181における確認の結果、近距離通信部14aにて受信された種別情報が仮想背景の頂点座標情報であることを示している場合、制御部13は、近距離通信部14aにて受信された頂点座標情報を第3の記憶部17b−3に記憶させる(ステップS182)。そして、処理を終了する。
一方、ステップS181における確認の結果、近距離通信部14aにて受信された種別情報が仮想背景の頂点座標情報でないことを示している場合、すなわち、仮想キャラクターの頂点座標情報であることを示している場合、制御部13は、近距離通信部14aにて受信された頂点座標情報の送信元の携帯端末以外から、仮想キャラクターの頂点座標情報を受信しているかどうかを確認する(ステップS183)。
ステップS183における確認の結果、近距離通信部14aにて受信された頂点座標情報の送信元の携帯端末以外から、仮想キャラクターの頂点座標情報を受信している場合、制御部13は、近距離通信部14aにて受信した頂点座標情報を第1の記憶部17b−1に記憶させる(ステップS184)。そして、処理を終了する。
一方、ステップS183における確認の結果、近距離通信部14aにて受信された頂点座標情報の送信元の携帯端末以外から、仮想キャラクターの頂点座標情報を受信していない場合、制御部13は、受信した頂点座標情報を第2の記憶部17b−2に記憶させる(ステップS185)。
次に、制御部13は、近距離通信部14aにて受信された頂点座標情報の送信元の携帯端末の端末識別情報を記憶する(ステップS186)。そして、処理を終了する。
この後、表示画像演算部17b−4は、第1の記憶部17b−1、第2の記憶部17b−2および第3の記憶部17b−3に記憶された頂点座標情報を取得し、取得した頂点座標情報から仮想物体画像データを生成する。このとき、表示画像演算部17b−4は上述したように、視点・光源定義部17b−5に記憶された解析結果に基づいて仮想物体画像データを生成する。
ここで、視点・光源定義部17b−5に画像処理部12における解析結果を記憶させるときの動作について説明する。
図17は、図1〜図7に示した表示システムにおいて視点・光源定義部17b−5に画像処理部12における解析結果を記憶させるときの動作を説明するためのフローチャートである。
まず、画像処理部12は、撮影部11から出力された撮影画像データを受け付ける。
撮影部11から出力された撮影画像データを受け付けた画像処理部12は、受け付けた撮影画像データが示す画像中のマーカー50−1〜50−4のそれぞれの位置と形状を認識する(ステップS201)。
次に、画像処理部12は、マーカー50−1〜50−4にて定義される所定の範囲を
座標で表した座標系を定義する(ステップS202)。
次に、画像処理部12は、ステップS201にて認識したマーカー50−1〜50−4のそれぞれの位置および形状から、マーカー50−1〜50−4にて定義される所定の範囲に対する撮影部11の水平位置と垂直位置とを特定する(ステップS203)。
また、画像処理部12は、受け付けた撮影画像データが示す画像中のボール部50aの色合いから光源の方向を特定する。
次に、画像処理部12は、近距離通信部14aから出力された通知用光源情報を受け付ける。
次に、画像処理部12は、受け付けた通知用光源情報が示す光源の方向と、特定した光源の方向とから、マーカー50−1〜50−4にて定義された所定の範囲のおける全ての光源の方向と環境光とを特定する(ステップS204)。
そして、画像処理部12は、光源の方向と環境光とを示す光源情報と、ステップS203にて特定された位置を示す位置情報とを制御部13へ出力する。
画像処理部12から出力された光源情報と位置情報とを受け付けた制御部13は、受け付けた位置情報と光源情報とを表示画像演算部17bの視点・光源定義部17b−5に記憶させる(ステップS205)。
この後、上述したように、表示画像演算部17b−4にて仮想物体画像データが生成される。なお、表示画像演算部17b−4における仮想物体画像データの生成は、予め決められた所定の間隔で実行してもよいし、上述したステップS205の動作が終了する度に実行してもよい。
そして、表示画像演算部17b−4にて生成された仮想物体画像データと、撮影部11から出力された撮影画像データとが表示画像メモリ16aに記憶される。表示画面16bは、表示画像メモリ16aに記憶された仮想物体画像データが示す画像と撮影画像データが示す画像とを重畳して拡張現実の合成画像として表示する。
このように本実施形態において携帯端末10−1〜10−4のそれぞれは、表示部16と、現実の環境の所定の範囲を撮影する撮影部11と、複数の種類の処理のそれぞれに対応付けられた複数の役割のいずれかの選択を受け付ける操作部15とを有する。
また、携帯端末10−1〜10−4のそれぞれは、複数の役割のうち第1の役割が選択された場合、操作部15に対する操作に応じて形状が変化する仮想キャラクターを描画するための処理を実行する演算部17を有する。
また、携帯端末10−1〜10−4のそれぞれは、選択された役割に対応する処理を実行する際の負荷量を示す負荷量情報を、携帯端末10−1〜10−4のうち当該携帯端末以外の他の携帯端末へ送信し、当該他の携帯端末から送信された負荷量情報を受信する通信部14を有する。
そして、演算部17は、通信部14にて受信された負荷量情報が示す負荷量に、選択された役割に対応する処理を実行する際の負荷量よりも小さなものがない場合、仮想背景を描画するための処理をさらに実行する。
また、通信部14は、演算部17における処理結果を他の携帯端末へ送信するとともに、当該他の携帯端末から送信された処理結果を受信する。
そして、表示部16は、撮影部11にて撮影された画像と、演算部17における処理結果に基づく物体像と、通信部14にて受信された処理結果に基づく物体像とを重畳させることで仮想キャラクターおよび仮想背景が所定の範囲上に配置された合成画像を表示する。
これにより、複数の携帯端末のそれぞれの負荷量が分散されることになる。
従って、仮想的な物体像の描画にかかる負荷量が大きな場合でも、拡張現実の合成画像を実用的な速度で表示することができる。
また、複数の携帯端末において拡張現実感を共有できるのはもちろんのこと、複数の携帯端末のうちのいずれかの携帯端末を操作することで変化する仮想的な物体像の形状や位置を、その複数の携帯端末で共有することができる。
また、本実施形態において撮影部11は、拡張現実を実現する所定の範囲を定義するマーカーとして、所定の形状を有する複数のマーカーを撮影している。
これにより、拡張現実を実現する所定の範囲を様々な大きさに変化させた合成画像を得ることができる。
また、マーカーを設置する場所の起伏等の影響をマーカーが受けることがないため、撮影された画像と、仮想的な物体像とを重畳する際の精度を一定に保つことができる。
(第2の実施形態)
図18は、本発明の表示システムの第2の実施形態の構成を示す図である。なお、本実施形態において携帯端末10−1〜10−4の構成は、図4に示したのと同様である。
図18を参照すると、本実施形態においては、仮想背景53,54以外にも多くの仮想背景が存在している。この場合、仮想背景を描画するための処理を実行する携帯端末の負荷量が非常に大きくなる。
本実施形態では、ゲームを開始したときには、携帯端末10−1が仮想キャラクター51を動作させるための参加者用携帯端末であり、携帯端末10−2が仮想キャラクター52を動作させるための参加者用携帯端末であり、携帯端末10−3が中継用携帯端末である場合を想定している。つまり、ゲームを開始したときには、観客用携帯端末が存在していない。また、仮想背景の描画は携帯端末10−1〜10−3のいずれかにおいて実行されているものとする。
このような状況において、ゲームを開始した後に携帯端末10−4を観客用携帯端末として追加する場合を考えてみる。この場合、観客用携帯端末を初期化する必要があるが、この初期化の動作は、上述した図12を参照しながら説明した動作とは異なる動作となる。
図19は、図1〜図7に示した表示システムにおいて観客用携帯端末を初期化する動作の他の例を説明するためのフローチャートである。
図19におけるステップS221〜S227までの動作は、図12におけるステップS81〜87までの動作と同じであるため、説明を省略する。
ここで、ステップS227において送信された検索用情報の受信側の動作について説明する。
図20は、図1〜図7に示した表示システムにおいて携帯端末が検索用情報を受信したときの動作の他の例を説明するためのフローチャートである。なお、本実施形態において検索用情報は、同一グループに属する携帯端末を検索するためだけではなく、携帯端末10−1〜10−4のうち仮想背景を描画するための処理を実行している携帯端末を検索するためにも用いられる情報である。
近距離通信部14aは、検索用情報を受信する(ステップS227−1)。そして、近距離通信部14aは、受信した検索用情報を制御部13へ出力する。
近距離通信部14aから出力された検索用情報を受け付けた制御部13は、受け付けた検索用情報に含まれるグループIDと、記憶しているグループIDとが一致するかどうかを確認する(ステップS227−2)。
ステップS227−1における確認の結果、受け付けた検索用情報に含まれるグループIDと、記憶しているグループIDとが一致する場合、制御部13は、受け付けた検索用情報に含まれる端末識別情報を記憶する(ステップS227−3)。
次に、制御部13は、第1の記憶部17b−1への頂点座標情報の出力元が姿勢演算部17a−3であるかどうかを確認する(ステップS227−4)。
ステップS227−4における確認の結果、第1の記憶部17b−1への頂点座標情報の出力元が姿勢演算部17a−3である場合、制御部13は、仮想背景演算部17cが起動しているかどうかを確認する(ステップS227−5)。
ステップS227−5における確認の結果、仮想背景演算部17cが起動している場合、制御部13は、その旨を示す実行情報をグループ一致情報に付加して近距離通信部14aを介して送信する(ステップS227−6)。
そして、制御部13は、仮想背景演算部17cを停止させ(ステップS227−7)、処理を終了する。
ここで、ステップS227−4における確認の結果、第1の記憶部17b−1への頂点座標情報の出力元が姿勢演算部17a−3でない場合、制御部13は、遠距離通信部14bが起動しているかどうかを確認する(ステップS227−8)。
ステップS227−8における確認の結果、遠距離通信部14bが起動している場合、ステップS227−5の動作へ遷移する。
一方、ステップS227−8における確認の結果、遠距離通信部14bが起動していない場合、制御部13は、実行情報を付加せずにグループ一致情報を近距離通信部14aを介して送信し(ステップS227−9)、処理を終了する。
なお、ステップS227−5における確認の結果、仮想背景演算部17cが起動していない場合にはステップS227−9の動作へ遷移する。
また、ステップS227−2における確認の結果、受け付けた検索用情報に含まれるグループIDと、記憶しているグループIDとが一致しない場合、制御部13は、不一致情報を近距離通信部14aを介して送信し(ステップS227−10)、処理を終了する。
再度、図19を参照すると、制御部13は、実行情報が付加されたグループ一致情報が近距離通信部14aにて受信されたかどうかを確認する(ステップS228)。
ステップS228における確認の結果、実行情報が付加されたグループ一致情報が受信されていない場合、制御部13は、実行情報が付加されていないグループ一致情報を受信したかどうかを確認する(ステップS229)。
ステップS229における確認の結果、実行情報が付加されていないグループ一致情報を受信した場合、制御部13は、グループ一致情報に含まれる端末識別情報を、同一グループ端末識別情報として記憶する(ステップS230)。
そして、制御部13は、撮影部11および画像処理部12を起動させる(ステップS231)。
ここで、ステップS228における確認の結果、実行情報が付加されたグループ一致情報が受信されている場合、制御部13は、仮想背景演算部17cを起動させる(ステップS232)。
次に、制御部13は、記憶している背景形状データと配置データとを仮想背景演算部17cへ出力する。
制御部13から出力された背景形状データを受け付けた仮想背景演算部17cの形状記憶部17c−1は、受け付けた背景形状データを記憶する(ステップS233)。
また、制御部13から出力された配置データを受け付けた仮想背景演算部17cの配置定義部17c−2は、受け付けた配置データを記憶する(ステップS234)。そして、ステップS230の動作へ遷移する。
なお、ステップS229における確認の結果、実行情報が付加されていないグループ一致情報を受信していない場合には、処理を終了する。
図19を参照しながら説明した動作が完了すると、携帯端末10−4が観客用携帯端末として動作することになる。このときの携帯端末10−1〜10−4のそれぞれの動作状態を以下の図21に示す。
図21は、図1〜図7に示した表示システムにおいて携帯端末10−1〜10−4のそれぞれの状態の他の例を示す図である。
図21と図13とを比較すると、図21に示した例では、観客用携帯端末(携帯端末10−4)の仮想背景演算部17cが起動していることがわかる。
なお、本実施形態では、ゲームの開始後に、観客用携帯端末が追加される場合について説明したが、ゲームの開始後に、例えば観客用携帯端末のユーザーがゲームの観戦を止めるというようなことも考えられる。
この場合、その観客用携帯端末が仮想背景を描画するための処理を実行しているとすると、その観客用携帯端末から、その観客用携帯端末と同一のグループに属する携帯端末に対してグループを外れることを示す情報を送信する。そして、その情報を受信した複数の携帯端末間で負荷量の比較を行い、負荷量が最も小さな携帯端末が、仮想背景を描画するための処理を実行するようにすればよい。
このように本実施形態において通信部14は、複数の役割のうち第3の役割が選択された場合、携帯端末10−1〜10−4のうち仮想背景を描画するための処理を実行している携帯端末を検索するための検索用情報を送信する。また、通信部14は、第3の役割が選択されていない場合、他の携帯端末から送信された検索用情報を受信する。
制御部13は、通信部14にて検索用情報が受信されると、演算部17にて仮想背景を描画するための処理を実行している場合、その旨を示す実行情報を当該受信された検索情報の送信元の携帯端末へ通信部14を介して送信する。それとともに制御部13は、仮想背景を描画するための処理の実行を停止させる。
演算部17は、他の携帯端末から送信された実行情報が通信部14にて受信されると、仮想背景を描画するための処理の実行を開始する。
これにより、複数の携帯端末のそれぞれの負荷量がさらに分散されることになり、仮想的な物体像の描画にかかる負荷量が大きな場合でも、拡張現実の合成画像を実用的な速度で表示することができるという効果をさらに確実に得ることができる。
10−1〜10−4 携帯端末
11 撮影部
11a 画像メモリ
12 画像処理部
13 制御部
14 通信部
14a 近距離通信部
14b 遠距離通信部
15 操作部
15a キーパッド
16 表示部
16a 表示画像メモリ
16b 表示画面
17 演算部
17a 仮想キャラクター演算部
17a−1,17c−1 形状記憶部
17a−2 姿勢定義部
17a−3 姿勢演算部
17b 表示画像演算部
17b−1 第1の記憶部
17b−2 第2の記憶部
17b−3 第3の記憶部
17b−4 表示画像演算部
17b−5 視点・光源定義部
17c 仮想背景演算部
17c−2 配置定義部
17c−3 配置演算部
18 画像処理部
50−1〜50−4 マーカー
50a ボール部
50b 支柱部
50c 第1円盤部
50d 第2円盤部
50e 土台部
51,52 仮想キャラクター
53,54 仮想背景

Claims (8)

  1. 複数の表示装置からなる表示システムであって、
    前記複数の表示装置のそれぞれは、
    表示部と、
    現実の環境の所定の範囲を撮影する撮影部と、
    複数の種類の処理のそれぞれに対応付けられた複数の役割のいずれかの選択を受け付ける操作部と、
    前記複数の役割のうち第1の役割が選択された場合、前記操作部に対する操作に応じて形状が変化する第1の物体像を描画するための処理を実行する演算部と、
    前記選択された役割に対応する処理を当該表示装置が実行する際の負荷量を示す負荷量情報を、前記複数の表示装置のうち当該表示装置以外の表示装置である他表示装置へ送信し、当該他表示装置から送信された当該他表示装置の負荷量情報を受信する通信部と、を有し、
    前記演算部は、前記通信部にて受信された当該他表示装置の負荷量情報が示す負荷量に、前記選択された役割に対応する処理を当該表示装置が実行する際の負荷量よりも小さなものがない場合、第2の物体像を描画するための処理を実行し、
    前記通信部は、前記演算部における処理結果を前記他表示装置へ送信するとともに、当該他表示装置から送信された処理結果を受信し、
    前記表示部は、前記撮影部にて撮影された画像と、前記演算部における処理結果に基づく物体像と、前記通信部にて受信された処理結果に基づく物体像とを重畳させることにより、前記第1および第2の物体像が前記所定の範囲上に配置された合成画像を表示する表示システム。
  2. 請求項1に記載の表示システムにおいて、
    前記通信部は、前記複数の役割のうち第2の役割が選択された場合、前記撮影部にて撮影された画像を示すデータと、前記通信部にて受信された処理結果に基づく物体像を示すデータとを外部へ送信する表示システム。
  3. 請求項1または請求項2に記載の表示システムにおいて、
    前記通信部は、前記複数の役割のうち第3の役割が選択された場合、前記複数の表示装置のうち前記第2の物体像を描画するための処理を実行している表示装置を検索するための検索用情報を送信し、前記第3の役割が選択されていない場合、前記他表示装置から送信された検索用情報を受信し、
    前記通信部にて検索用情報が受信されると、前記演算部にて前記第2の物体像を描画するための処理を実行している場合、その旨を示す実行情報を当該受信された検索情報の送信元の表示装置へ前記通信部を介して送信するとともに、当該処理の実行を停止させる制御部を有し、
    前記演算部は、前記他表示装置から送信された実行情報が前記通信部にて受信されると、前記第2の物体像を描画するための処理の実行を開始する表示システム。
  4. 請求項1乃至3のいずれか1項に記載の表示システムにおいて、
    前記所定の範囲は、所定の形状を有する複数のマーカーにて定義され、
    前記複数のマーカーのうちの少なくとも1つは、他のマーカーと異なる外観を有し、
    前記撮影部にて撮影された画像中の前記複数のマーカーのそれぞれの位置と形状とから当該表示装置の前記所定の範囲に対する位置を特定する画像処理部を有し、
    前記演算部は、当該演算部における処理結果に基づく物体像と、前記通信部にて受信された処理結果に基づく物体像との前記所定の範囲上の配置位置および形状を前記画像処理部にて特定された位置に応じて決定する表示システム。
  5. 複数の表示装置からなる表示システムにおける負荷分散方法であって、
    前記複数の表示装置のそれぞれが、
    複数の種類の処理のそれぞれに対応付けられた複数の役割のいずれかの選択を受け付けるステップと、
    前記選択された役割に対応する処理を当該表示装置が実行する際の負荷量を示す負荷量情報を、前記複数の表示装置のうち当該表示装置以外の表示装置である他表示装置へ送信し、当該他表示装置から送信された当該他表示装置の負荷量情報を受信するステップと、
    現実の環境の所定の範囲を撮影するステップと、
    前記複数の役割のうち第1の役割が選択された場合、当該表示装置に対する操作に応じて形状が変化する第1の物体像を描画するための処理を実行し、前記受信した当該他表示装置の負荷量情報が示す負荷量に、前記選択された役割に対応する処理を当該表示装置が実行する際の負荷量よりも小さなものがない場合、第2の物体像を描画するための処理を実行する演算ステップと、
    前記演算ステップにおける処理結果を前記他表示装置へ送信するとともに、当該他表示装置から送信された処理結果を受信するステップと、
    前記撮影された画像と、前記演算ステップにおける処理結果に基づく物体像と、前記受信した処理結果に基づく物体像とを重畳させることにより、前記第1および第2の物体像が前記所定の範囲上に配置された合成画像を表示するステップと、を有する負荷分散方法。
  6. 請求項5に記載の負荷分散方法において、
    前記複数の表示装置のそれぞれが、前記複数の役割のうち第2の役割が選択された場合、前記撮影された画像を示すデータと、前記受信した処理結果に基づく物体像を示すデータとを外部へ送信するステップをさらに有する負荷分散方法。
  7. 請求項5または請求項6に記載の負荷分散方法において、
    前記複数の表示装置のそれぞれが、
    前記複数の役割のうち第3の役割が選択された場合、前記複数の表示装置のうち前記第2の物体像を描画するための処理を実行している表示装置を検索するための検索用情報を送信し、前記第3の役割が選択されていない場合、前記他表示装置から送信された検索用情報を受信するステップと、
    前記検索用情報を受信すると、当該表示装置にて前記第2の物体像を描画するための処理を実行している場合、その旨を示す実行情報を当該受信した検索情報の送信元の表示装置へ送信するとともに、当該処理の実行を停止するステップと、
    前記他表示装置から送信された実行情報を受信すると、前記第2の物体像を描画するための処理の実行を開始するステップと、をさらに有する負荷分散方法。
  8. 請求項5乃至7のいずれか1項に記載の負荷分散方法において、
    前記所定の範囲は、所定の形状を有する複数のマーカーにて定義され、
    前記複数のマーカーのうちの少なくとも1つは、他のマーカーと異なる外観を有し、
    前記複数の表示装置のそれぞれが、前記撮影された画像中の前記複数のマーカーのそれぞれの位置と形状とから当該表示装置の前記所定の範囲に対する位置を特定するステップをさらに有し、
    前記演算ステップは、当該演算ステップにおける処理結果に基づく物体像と、前記受信した処理結果に基づく物体像との前記所定の範囲上の配置位置および形状を前記特定された位置に応じて決定するステップをさらに含む負荷分散方法。
JP2011082783A 2011-04-04 2011-04-04 表示システムおよび負荷分散方法 Expired - Fee Related JP5729761B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011082783A JP5729761B2 (ja) 2011-04-04 2011-04-04 表示システムおよび負荷分散方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011082783A JP5729761B2 (ja) 2011-04-04 2011-04-04 表示システムおよび負荷分散方法

Publications (2)

Publication Number Publication Date
JP2012220986A JP2012220986A (ja) 2012-11-12
JP5729761B2 true JP5729761B2 (ja) 2015-06-03

Family

ID=47272486

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011082783A Expired - Fee Related JP5729761B2 (ja) 2011-04-04 2011-04-04 表示システムおよび負荷分散方法

Country Status (1)

Country Link
JP (1) JP5729761B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4738870B2 (ja) * 2005-04-08 2011-08-03 キヤノン株式会社 情報処理方法、情報処理装置および遠隔複合現実感共有装置
JP4847192B2 (ja) * 2006-04-14 2011-12-28 キヤノン株式会社 画像処理システム、画像処理装置、撮像装置、及びそれらの制御方法
JP4870546B2 (ja) * 2006-12-27 2012-02-08 株式会社岩根研究所 レイヤー生成・選択機能を備えたcvタグ映像表示装置
JP4991515B2 (ja) * 2007-12-25 2012-08-01 キヤノン株式会社 画像処理システム、画像処理システムの制御方法及びコンピュータプログラム

Also Published As

Publication number Publication date
JP2012220986A (ja) 2012-11-12

Similar Documents

Publication Publication Date Title
US11562542B2 (en) Cross reality system with simplified programming of virtual content
Jo et al. ARIoT: scalable augmented reality framework for interacting with Internet of Things appliances everywhere
US10007349B2 (en) Multiple sensor gesture recognition
US10573060B1 (en) Controller binding in virtual domes
US10019849B2 (en) Personal electronic device with a display system
EP2691938B1 (en) Selective hand occlusion over virtual projections onto physical surfaces using skeletal tracking
CN102959616B (zh) 自然交互的交互真实性增强
Papagiannakis et al. A survey of mobile and wireless technologies for augmented reality systems
CN109298629B (zh) 在未绘制地图区域中引导移动平台的系统及方法
US20180321894A1 (en) Virtual content displayed with shared anchor
US8933931B2 (en) Distributed asynchronous localization and mapping for augmented reality
US10754418B1 (en) Using body surfaces for placing augmented reality content
CN103248810A (zh) 图像处理装置、图像处理方法和程序
US9912847B1 (en) Image capture guidance to reduce specular reflection effects
US10356393B1 (en) High resolution 3D content
US10740957B1 (en) Dynamic split screen
US10895913B1 (en) Input control for augmented reality applications
JP5729761B2 (ja) 表示システムおよび負荷分散方法
CN112711335B (zh) 虚拟环境画面的显示方法、装置、设备及存储介质
KR20230026228A (ko) 안무 학습 정보를 제공하기 위한 전자 장치 및 그 전자 장치에서의 동작 방법
WO2022111005A1 (zh) 虚拟现实设备及vr场景图像识别方法
Niemelä Mobile augmented reality client for citizen participation
US20240078734A1 (en) Information interaction method and apparatus, electronic device and storage medium
US20240087220A1 (en) Electronic device and method of providing content sharing based on object
CN117991967A (zh) 虚拟键盘交互方法、装置、设备、存储介质和程序产品

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140310

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20140515

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150120

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150218

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150310

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150402

R150 Certificate of patent or registration of utility model

Ref document number: 5729761

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees