(57)【特許請求の範囲】
【請求項１】
複数の表示装置からなる表示システムであって、
前記複数の表示装置のそれぞれは、
表示部と、
現実の環境の所定の範囲を撮影する撮影部と、
複数の種類の処理のそれぞれに対応付けられた複数の役割のいずれかの選択を受け付ける操作部と、
前記複数の役割のうち第１の役割が選択された場合、前記操作部に対する操作に応じて形状が変化する第１の物体像を描画するための処理を実行する演算部と、
前記選択された役割に対応する処理を当該表示装置が実行する際の負荷量を示す負荷量情報を、前記複数の表示装置のうち当該表示装置以外の表示装置である他表示装置へ送信し、当該他表示装置から送信された当該他表示装置の負荷量情報を受信する通信部と、を有し、
前記演算部は、前記通信部にて受信された当該他表示装置の負荷量情報が示す負荷量に、前記選択された役割に対応する処理を当該表示装置が実行する際の負荷量よりも小さなものがない場合、第２の物体像を描画するための処理を実行し、
前記通信部は、前記演算部における処理結果を前記他表示装置へ送信するとともに、当該他表示装置から送信された処理結果を受信し、
前記表示部は、前記撮影部にて撮影された画像と、前記演算部における処理結果に基づく物体像と、前記通信部にて受信された処理結果に基づく物体像とを重畳させることにより、前記第１および第２の物体像が前記所定の範囲上に配置された合成画像を表示する表示システム。
【請求項２】
請求項１に記載の表示システムにおいて、
前記通信部は、前記複数の役割のうち第２の役割が選択された場合、前記撮影部にて撮影された画像を示すデータと、前記通信部にて受信された処理結果に基づく物体像を示すデータとを外部へ送信する表示システム。
【請求項３】
請求項１または請求項２に記載の表示システムにおいて、
前記通信部は、前記複数の役割のうち第３の役割が選択された場合、前記複数の表示装置のうち前記第２の物体像を描画するための処理を実行している表示装置を検索するための検索用情報を送信し、前記第３の役割が選択されていない場合、前記他表示装置から送信された検索用情報を受信し、
前記通信部にて検索用情報が受信されると、前記演算部にて前記第２の物体像を描画するための処理を実行している場合、その旨を示す実行情報を当該受信された検索情報の送信元の表示装置へ前記通信部を介して送信するとともに、当該処理の実行を停止させる制御部を有し、
前記演算部は、前記他表示装置から送信された実行情報が前記通信部にて受信されると、前記第２の物体像を描画するための処理の実行を開始する表示システム。
【請求項４】
請求項１乃至３のいずれか１項に記載の表示システムにおいて、
前記所定の範囲は、所定の形状を有する複数のマーカーにて定義され、
前記複数のマーカーのうちの少なくとも１つは、他のマーカーと異なる外観を有し、
前記撮影部にて撮影された画像中の前記複数のマーカーのそれぞれの位置と形状とから当該表示装置の前記所定の範囲に対する位置を特定する画像処理部を有し、
前記演算部は、当該演算部における処理結果に基づく物体像と、前記通信部にて受信された処理結果に基づく物体像との前記所定の範囲上の配置位置および形状を前記画像処理部にて特定された位置に応じて決定する表示システム。
【請求項５】
複数の表示装置からなる表示システムにおける負荷分散方法であって、
前記複数の表示装置のそれぞれが、
複数の種類の処理のそれぞれに対応付けられた複数の役割のいずれかの選択を受け付けるステップと、
前記選択された役割に対応する処理を当該表示装置が実行する際の負荷量を示す負荷量情報を、前記複数の表示装置のうち当該表示装置以外の表示装置である他表示装置へ送信し、当該他表示装置から送信された当該他表示装置の負荷量情報を受信するステップと、
現実の環境の所定の範囲を撮影するステップと、
前記複数の役割のうち第１の役割が選択された場合、当該表示装置に対する操作に応じて形状が変化する第１の物体像を描画するための処理を実行し、前記受信した当該他表示装置の負荷量情報が示す負荷量に、前記選択された役割に対応する処理を当該表示装置が実行する際の負荷量よりも小さなものがない場合、第２の物体像を描画するための処理を実行する演算ステップと、
前記演算ステップにおける処理結果を前記他表示装置へ送信するとともに、当該他表示装置から送信された処理結果を受信するステップと、
前記撮影された画像と、前記演算ステップにおける処理結果に基づく物体像と、前記受信した処理結果に基づく物体像とを重畳させることにより、前記第１および第２の物体像が前記所定の範囲上に配置された合成画像を表示するステップと、を有する負荷分散方法。
【請求項６】
請求項５に記載の負荷分散方法において、
前記複数の表示装置のそれぞれが、前記複数の役割のうち第２の役割が選択された場合、前記撮影された画像を示すデータと、前記受信した処理結果に基づく物体像を示すデータとを外部へ送信するステップをさらに有する負荷分散方法。
【請求項７】
請求項５または請求項６に記載の負荷分散方法において、
前記複数の表示装置のそれぞれが、
前記複数の役割のうち第３の役割が選択された場合、前記複数の表示装置のうち前記第２の物体像を描画するための処理を実行している表示装置を検索するための検索用情報を送信し、前記第３の役割が選択されていない場合、前記他表示装置から送信された検索用情報を受信するステップと、
前記検索用情報を受信すると、当該表示装置にて前記第２の物体像を描画するための処理を実行している場合、その旨を示す実行情報を当該受信した検索情報の送信元の表示装置へ送信するとともに、当該処理の実行を停止するステップと、
前記他表示装置から送信された実行情報を受信すると、前記第２の物体像を描画するための処理の実行を開始するステップと、をさらに有する負荷分散方法。
【請求項８】
請求項５乃至７のいずれか１項に記載の負荷分散方法において、
前記所定の範囲は、所定の形状を有する複数のマーカーにて定義され、
前記複数のマーカーのうちの少なくとも１つは、他のマーカーと異なる外観を有し、
前記複数の表示装置のそれぞれが、前記撮影された画像中の前記複数のマーカーのそれぞれの位置と形状とから当該表示装置の前記所定の範囲に対する位置を特定するステップをさらに有し、
前記演算ステップは、当該演算ステップにおける処理結果に基づく物体像と、前記受信した処理結果に基づく物体像との前記所定の範囲上の配置位置および形状を前記特定された位置に応じて決定するステップをさらに含む負荷分散方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の表示装置からなる表示システムおよび負荷分散方法に関する。
【背景技術】
【０００２】
近年、現実の環境を撮影した画像に仮想的な物体像を重畳させた合成画像を表示する拡張現実表示技術が開発されている。
【０００３】
拡張現実表示技術は、現実の環境に設置されたマーカーにて定義された範囲を撮影する撮影部と、仮想的な物体像を描画するための処理を実行する演算部と、上述した合成画像を表示する表示部とを備えた表示装置を用いることで実現できる。また、拡張現実表示技術では、合成画像を複数の表示装置で共有することもできる。
【０００４】
このような拡張現実を実現するための技術が例えば、特許文献１、２および非特許文献１に開示されている。
【０００５】
これらの文献に開示されている技術では、平面状のマーカーを現実の環境に設置し、そのマーカーで拡張現実を実現する範囲を定義している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−２５６８７６号公報
【特許文献２】特開２０１０−１７０３１６号公報
【非特許文献】
【０００７】
【非特許文献１】「マーカー追跡に基づく拡張現実感システムとそのキャリブレーション」日本バーチャルリアリティ学会論文誌Ｖｏｌ.４  １９９９年
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ここで、上述したような表示装置を複数備えた表示システムにおいて、その複数の表示装置のそれぞれを操作することで仮想的な物体像である仮想キャラクターを動作させ、拡張現実上で対戦型のゲームなどを行う場合を考えてみる。この場合、複数の表示装置のそれぞれにおいて、仮想キャラクターと、撮影された画像とを合成する必要がある。
【０００９】
仮想キャラクターは、表示装置を操作することで複雑な動作を行うこととなり、その複雑な動作に応じた物体像を描画するための処理を実行する表示装置の負荷量が非常に大きくなる可能性がある。
【００１０】
表示装置の負荷量が大きくなると、仮想キャラクターの動きに合わせて合成画像の表示を行うことが難しくなる。すなわち、拡張現実の合成画像を実用的な速度で表示することができなくなってしまうという問題点がある。
【００１１】
本発明は、仮想的な物体像の描画にかかる負荷量が大きな場合でも、拡張現実の合成画像を実用的な速度で表示することができる表示システムおよび負荷分散方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するために本発明の表示システムは、複数の表示装置からなる表示システムであって、
前記複数の表示装置のそれぞれは、
表示部と、
現実の環境の所定の範囲を撮影する撮影部と、
複数の種類の処理のそれぞれに対応付けられた複数の役割のいずれかの選択を受け付ける操作部と、
前記複数の役割のうち第１の役割が選択された場合、前記操作部に対する操作に応じて形状が変化する第１の物体像を描画するための処理を実行する演算部と、
前記選択された役割に対応する処理を当該表示装置が実行する際の負荷量を示す負荷量情報を、前記複数の表示装置のうち当該表示装置以外の表示装置である他表示装置へ送信し、当該他表示装置から送信された当該他表示装置の負荷量情報を受信する通信部と、を有し、
前記演算部は、前記通信部にて受信された当該他表示装置の負荷量情報が示す負荷量に、前記選択された役割に対応する処理を当該表示装置が実行する際の負荷量よりも小さなものがない場合、第２の物体像を描画するための処理を実行し、
前記通信部は、前記演算部における処理結果を前記他表示装置へ送信するとともに、当該他表示装置から送信された処理結果を受信し、
前記表示部は、前記撮影部にて撮影された画像と、前記演算部における処理結果に基づく物体像と、前記通信部にて受信された処理結果に基づく物体像とを重畳させることにより、前記第１および第２の物体像が前記所定の範囲上に配置された合成画像を表示する。
【００１３】
また、上記目的を達成するために本発明の負荷分散方法は、複数の表示装置からなる表示システムにおける負荷分散方法であって、
前記複数の表示装置のそれぞれが、
複数の種類の処理のそれぞれに対応付けられた複数の役割のいずれかの選択を受け付けるステップと、
前記選択された役割に対応する処理を当該表示装置が実行する際の負荷量を示す負荷量情報を、前記複数の表示装置のうち当該表示装置以外の表示装置である他表示装置へ送信し、当該他表示装置から送信された当該他表示装置の負荷量情報を受信するステップと、
現実の環境の所定の範囲を撮影するステップと、
前記複数の役割のうち第１の役割が選択された場合、当該表示装置に対する操作に応じて形状が変化する第１の物体像を描画するための処理を実行し、前記受信した当該他表示装置の負荷量情報が示す負荷量に、前記選択された役割に対応する処理を当該表示装置が実行する際の負荷量よりも小さなものがない場合、第２の物体像を描画するための処理を実行する演算ステップと、
前記演算ステップにおける処理結果を前記他表示装置へ送信するとともに、当該他表示装置から送信された処理結果を受信するステップと、
前記撮影された画像と、前記演算ステップにおける処理結果に基づく物体像と、前記受信した処理結果に基づく物体像とを重畳させることにより、前記第１および第２の物体像が前記所定の範囲上に配置された合成画像を表示するステップと、を有する。
【発明の効果】
【００１４】
本発明は以上説明したように構成されているので、仮想的な物体像の描画にかかる負荷量が大きな場合でも、拡張現実の合成画像を実用的な速度で表示することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の表示システムの第１の実施形態の構成を示す図である。
【図２】図１に示したマーカーを説明するための図であり、（ａ）はマーカーの外観図、（ｂ）は（ａ）に示したマーカーの一構成例を示す図である。
【図３】図１に示したマーカーにて定義される所定の範囲を説明するための図であり、（ａ）はマーカーにて定義される所定の範囲を撮影した画像の一例を示す図、（ｂ）はマーカーにて定義される所定の範囲を座標で表した座標系を示す図である。
【図４】図１に示した携帯端末の一構成例を示すブロック図である。
【図５】図１に示した携帯端末の外観の一例を示す図である。
【図６】図４に示した画像処理部が画像を解析する動作を説明するための図であり、（ａ）は画像中のマーカーを示す図、（ｂ）は画像中のマーカーの位置を特定する方法を説明するための図、（ｃ）は（ｂ）において破線で囲まれた部分の拡大図である。
【図７】図４に示した画像処理部１２が画像を解析する動作を説明するための図であり、（ａ）はボール部の影の付き方の一例を示す図、（ｂ）は携帯端末とマーカーとの位置関係の一例を示す図である。
【図８】図１〜図７に示した表示システムにおいてゲームの機能を起動したときの携帯端末の動作を説明するためのフローチャートである。
【図９】図１〜図７に示した表示システムにおいて携帯端末を初期化する動作を説明するためのフローチャートであり、（ａ）は参加者用携帯端末を初期化する動作を説明するためのフローチャート、（ｂ）は中継者用携帯端末を初期化する動作を説明するためのフローチャートである。
【図１０】図１〜図７に示した表示システムにおいて参加者用携帯端末と中継者用携帯端末に共通する初期化の動作を説明するためのフローチャートである。
【図１１】図１〜図７に示した表示システムにおいて携帯端末が検索用情報を受信したときの動作の一例を説明するためのフローチャートである。
【図１２】図１〜図７に示した表示システムにおいて観客用携帯端末を初期化する動作の一例を説明するためのフローチャートである。
【図１３】図１〜図７に示した表示システムにおいて携帯端末のそれぞれの状態の一例を示す図である。
【図１４】図１〜図７に示した表示システムにおいて仮想キャラクターを描画するための処理と、仮想背景を描画するための処理とにおける動作を説明するためのフローチャートであり、（ａ）は仮想キャラクターを描画するための処理における動作を説明するためのフローチャート、（ｂ）は仮想背景を描画するための処理における動作を説明するためのフローチャートである。
【図１５】図１〜図７に示した表示システムにおいて頂点座標情報の送信側の動作と受信側の動作とを説明するためのフローチャートであり、（ａ）は頂点座標情報の送信側の動作を説明するためのフローチャート、（ｂ）は頂点座標情報の受信側の動作を説明するためのフローチャートである。
【図１６】図１〜図７に示した表示システムにおいて携帯端末が、受信した頂点座標情報を記憶するときの動作を説明するためのフローチャートである。
【図１７】図１〜図７に示した表示システムにおいて視点・光源定義部に画像処理部における解析結果を記憶させるときの動作を説明するためのフローチャートである。
【図１８】本発明の表示システムの第２の実施形態の構成を示す図である。
【図１９】図１〜図７に示した表示システムにおいて観客用携帯端末を初期化する動作の他の例を説明するためのフローチャートである。
【図２０】図１〜図７に示した表示システムにおいて携帯端末が検索用情報を受信したときの動作の他の例を説明するためのフローチャートである。
【図２１】図１〜図７に示した表示システムにおいて携帯端末のそれぞれの状態の他の例を示す図である。
【発明を実施するための形態】
【００１６】
以下に、本発明の実施の形態について図面を参照して説明する。
【００１７】
（第１の実施形態）
図１は、本発明の表示システムの第１の実施形態の構成を示す図である。
【００１８】
本実施形態の表示システムは図１に示すように、表示装置である携帯端末１０−１〜１０−４を備えている。なお、図１においては携帯端末の数を４つとしているが、携帯端末の数は４つに限定されない。
【００１９】
まず、本実施形態の概要について説明する。
【００２０】
本実施形態では、現実の環境に設置されたマーカー５０−１〜５０−４にて拡張現実を実現する所定の範囲を定義している。なお、マーカーの数は４つに限定されない。また、図１に示す第１の物体像である仮想キャラクター５１，５２と、第２の物体像である仮想背景５３，５４とは、現実の環境に設置されたものではなく、携帯端末１０−１〜１０−４にて描画される仮想的な物体像である。
【００２１】
また、本実施形態では、携帯端末１０−１〜１０−４のいずれか２つを操作することで仮想キャラクター５１，５２を動作させるゲームを行うことを想定している。
【００２２】
そのゲームにおいて携帯端末１０−１〜１０−４のユーザーのそれぞれは、複数の種類の処理のそれぞれに対応付けられた複数の役割のいずれかを担うことになる。具体的には、携帯端末１０−１〜１０−４のユーザーのそれぞれは、仮想キャラクター５１，５２を動作させる第１の役割であるゲームの参加者か、拡張現実の合成画像を外部へ送信することでゲームの様子を中継する第２の役割である中継者か、ゲームの様子を観戦する第３の役割である観客かのいずれかの役割を担う。なお、上述した役割の種類および数は一例である。
【００２３】
以降、携帯端末１０−１〜１０−４のうち、ゲームの参加者が仮想キャラクター５１，５２を動作させるために操作する携帯端末のことを参加者用携帯端末という。なお、参加者用携帯端末では、仮想キャラクターを描画するための処理が実行される。また、携帯端末１０−１〜１０−４のうち、中継者が操作する携帯端末のことを中継者用携帯端末という。また、携帯端末１０−１〜１０−４のうち、観客が操作する携帯端末のことを観客用携帯端末という。
【００２４】
次に、図１に示したマーカー５０−１〜５０−４について説明する。上述した特許文献１、２および非特許文献に開示されている技術では、拡張現実を実現する範囲を定義するために、平面状のマーカーを用いていたが、本実施形態では、所定の形状を有する複数のマーカーを用いている。
【００２５】
図２は、図１に示したマーカー５０−１を説明するための図であり、（ａ）はマーカー５０−１の外観図、（ｂ）は（ａ）に示したマーカー５０−１の一構成例を示す図である。なお、マーカー５０−２〜５０−４のそれぞれも同様の構成である。
【００２６】
図１に示したマーカー５０−１は図２（ａ）に示すように、球状のボール部５０ａと、支柱部５０ｂと、第１円盤部５０ｃと、第２円盤部５０ｄと、土台部５０ｅとを備えている。
【００２７】
なお、土台部５０ｅの色は変えられるようになっている。本実施形態においては、マーカー５０−１〜５０−３の土台部５０ｅの色が同じであり、マーカー５０−４の土台部５０ｅの色がマーカー５０−１〜５０−３の土台部５０ｅの色と異なっているものとする。
【００２８】
また、図２（ｂ）に示すようにボール部５０ａと第１円盤部５０ｃと第２円盤部５０ｄとの半径をＲとし、第１円盤部５０ｃと第２円盤部５０ｄとの間隔をＨとする。
【００２９】
図３は、図１に示したマーカー５０−１〜５０−４にて定義される所定の範囲を説明するための図であり、（ａ）はマーカー５０−１〜５０−４にて定義される所定の範囲を撮影した画像の一例を示す図、（ｂ）はマーカー５０−１〜５０−４にて定義される所定の範囲を座標で表した座標系を示す図である。
【００３０】
図３では、マーカー５０−１〜５０−４にて定義される所定の範囲を太線で囲まれた範囲としている。
【００３１】
図３（ｂ）では、マーカー５０−１〜５０−４にて定義される所定の範囲を座標として表した座標系において原点を図３（ｂ）に示した座標とした場合のマーカー５０−１の座標（座標Ａ）とマーカー５０−４の座標（座標Ｂ）を一例として示している。
【００３２】
次に、図１に示した携帯端末１０−１〜１０−４の構成について説明する。
【００３３】
図４は、図１に示した携帯端末１０−１の一構成例を示すブロック図である。なお、携帯端末１０−２〜１０−４も同様の構成である。また、図５は、図１に示した携帯端末１０−１の外観の一例を示す図である。
【００３４】
携帯端末１０−１は図４に示すように、撮影部１１と、画像処理部１２と、制御部１３と、通信部１４と、操作部１５と、表示画面１６ｂを有する表示部１６と、演算部１７とを備えている。
【００３５】
以下に、図４を参照しながら携帯端末１０−１の構成について説明するが、携帯端末１０−１〜１０−４の各部の動作は、参加者用携帯端末、中継者用携帯端末および観客用携帯端末のそれぞれに応じて異なる。そのため、各部の動作の詳細については、後述する動作フローで説明する。
【００３６】
撮影部１１は、画像メモリ１１ａを備えている。撮影部１１は、被写体を撮影することで画像を取得する。撮影部１１は、取得した画像を示す撮影画像データを画像メモリ１１ａに記憶させる。そして、撮影部１１は、画像メモリ１１ａに記憶させた撮影画像データを画像処理部１２と表示部１６とへ出力する。なお、撮影部１１は図５に示すように、表示画面１６ｂの反対側に存在する被写体を撮影できるように設置されている。従って、携帯端末１０−１のユーザーは、携帯端末１０−１を自分の体の前で保持することで、さらに前方にあるマーカー５０−１〜５０−４にて定義された所定の範囲を撮影することができる。
【００３７】
画像処理部１２は、撮影部１１から出力された撮影画像データを受け付け、受け付けた撮影画像データが示す画像を解析する。
【００３８】
ここで、画像処理部１２における画像の解析について説明する。
【００３９】
図６は、図４に示した画像処理部１２が画像を解析する動作を説明するための図であり、（ａ）は画像中のマーカーを示す図、（ｂ）は画像中のマーカーの位置を特定する方法を説明するための図、（ｃ）は（ｂ）において破線で囲まれた部分の拡大図である。なお、撮影部１１の画角は既知であるものとする。
【００４０】
まず、ボール部５０ａを構成する半径Ｒの球の画像中の半径が図６（ａ）に示すようにｒであるとする。この場合、携帯端末１０−１からボール部５０ａまでの現実の環境における距離Ｌはｒを用いて算出することができる。
【００４１】
また、マーカーから距離Ｌだけ離れた位置からそのマーカーを撮影した場合に、第１円盤部５０ｃと第２円盤部５０ｄとの間の画像中の本来の間隔が図６（ｃ）に示すようにｈであるとする。しかし、実際には携帯端末は、マーカーを真横から撮影しているのではなく斜めから撮影している。そのため、第１円盤部５０ｃと第２円盤部５０ｄとの間の一部は、画像中では第１円盤部５０ｃに遮られて見えないことになる。
【００４２】
この場合、第１円盤部５０ｃと第２円盤部５０ｄとの間の画像中の実際の間隔を図６（ｂ）、（ｃ）に示すようにｄ１であるとすると、ｄ１を用いて図６（ｃ）に示す角度θ１はｄ１を用いて算出することができる。同様に、ｄ２を用いて角度θ２を算出することができる。
【００４３】
実際には角度θ１と角度θ２とは、ほぼ同じになる。従って、角度θ１と角度θ２とのどちらか一方、または、角度θ１と角度θ２との平均値を、図６（ｂ）に示す角度θと見なすことができる。画像処理部１２は、マーカー５０−１〜５０−４にて定義される所定の範囲に対する撮影部１１の垂直方向の位置を角度θを用いて特定する。
【００４４】
ここで、マーカー５０−１〜５０−４にて定義される所定の範囲に対する撮影部１１の水平方向の位置は、マーカー５０−１〜５０−４のそれぞれの画像中の位置を用いて特定することになる。そのためには、マーカー５０−１〜５０−４にて定義された所定の範囲を撮影している方向を考慮しなくてはならない。そのため、本実施形態では図１および図３に示したように、マーカー５０−１〜マーカー５０−４のうちマーカー５０−４だけ土台部５０ｅの色が異なる。従って、画像処理部１２は、マーカー５０−１〜５０−４にて定義される所定の範囲に対する撮影部１１の水平方向の位置を特定することができる。
【００４５】
このように、画像処理部１２は、受け付けた画像中のマーカー５０−１〜５０−４のそれぞれの画像中の形状および形状に応じ、マーカー５０−１〜５０−４にて定義される所定の範囲に対する撮影部１１の位置を特定する。これは、すなわち、マーカー５０−１〜５０−４にて定義される所定の範囲に対する携帯端末の位置を特定していることになる。そして、画像処理部１２は、特定した位置を示す位置情報を制御部１３へ出力する。
【００４６】
ここで、上述したようにマーカー５０−１〜５０−４のそれぞれのボール部５０ａは球状である。そのため、画像処理部１２は、撮影された画像におけるボール部５０ａの影のつき方、すなわちボール部５０ａの色合いを解析することで光源の方向を特定することができる。
【００４７】
図７は、図４に示した画像処理部１２が画像を解析する動作を説明するための図であり、（ａ）はボール部５０ａの影の付き方の一例を示す図、（ｂ）は携帯端末とマーカーとの位置関係の一例を示す図である。
【００４８】
画像中のボール部５０ａの影の付き方は図７（ａ）に示すように、光源の方向に応じて異なる。具体的には、ボール部５０ａのうち、光源から近い部分の色合いは明るくなり、光源から遠い部分の色合いは暗くなる。そのため、画像処理部１２は、画像中のボール部５０ａの色合いを解析することでマーカー５０−１〜５０−４にて定義された範囲における光源の方向を特定する。
【００４９】
また、本実施形態では、マーカー５０−１〜５０−４にて定義された所定の範囲を少なくとも２つの携帯端末で撮影することを想定している。そのため、図７（ｂ）に示すように、例えば携帯端末１０−１は、携帯端末１０−１にて撮影された画像からは判別できない携帯端末１０−２側におけるボール部５０ａの色合いを、携帯端末１０−２から取得する。同様に、携帯端末１０−２は、携帯端末１０−２にて撮影された画像からは判別できない携帯端末１０−１側におけるボール部５０ａの色合いを、携帯端末１０−１から取得する。
【００５０】
具体的には画像処理部１２は、特定した光源の方向を通知するための通知用光源情報を他の携帯端末へ送信する。また、画像処理部１２は、他の携帯端末から送信された通知用光源情報を受信する。なお、通知用光源情報は、後述する通信部１４を介して送受信される。そして、画像処理部１２は、受信した通知用光源情報が示す光源の方向と、特定した光源の方向とから、マーカー５０−１〜５０−４にて定義された所定の範囲における全ての光源の方向と環境光（方向性の無い光）とを特定する。そして、画像処理部１２は、特定した光源の方向と環境光とを示す光源情報を制御部１３へ出力する。なお、画像処理部１２から出力された位置情報と光源情報とは、後述する演算部１７にて記憶される。
【００５１】
再度、図４を参照すると、操作部１５は、キーパッド１５ａを備えている。操作部１５は、ユーザーからのキーパッド１５ａの操作を受け付ける。そして、操作部１５は、受け付けた操作に対応する情報を示す操作情報を制御部１３へ出力する。なお、参加者用携帯端末のユーザーは、キーパッド１５ａを操作することで仮想キャラクター５１，５２を動作させる。
【００５２】
表示部１６は、表示画像メモリ１６ａと、表示画面１６ｂとを備えている。
【００５３】
表示画像メモリ１６ａは、撮影部１１から出力された撮影画像データを受け付けて記憶する。また、表示画像メモリ１６ａは、後述する演算部１７から出力され、仮想的な物体像を示す仮想物体画像データを記憶する。
【００５４】
表示画面１６ｂは、表示画像メモリ１６ａに記憶された撮影画像データが示す画像と仮想物体画像データが示す画像と合成した画像を拡張現実の合成画像として表示する。
【００５５】
通信部１４は、近距離通信部１４ａと、遠距離通信部１４ｂとを備えている。
【００５６】
近距離通信部１４ａは、後述する演算部１７に記憶された情報を取得し、取得した情報を近距離通信が可能な他の携帯端末へ送信する。また、近距離通信部１４ａは、近距離通信が可能な他の携帯端末等から送信された情報を受信し、受信した情報を演算部１７等へ出力する。なお、近距離通信とは、例えば赤外線やＢｌｕｅｔｏｏｔｈ（登録商標）を用いた通信のことである。
【００５７】
遠距離通信部１４ｂは、表示画像メモリ１６ａに記憶された撮影画像データと仮想物体画像データとを取得する。そして、遠距離通信部１４ｂは、中継サーバー（不図示）からの要求に応じ、取得した撮影画像データと仮想物体画像データとをインターネット等を介してその中継サーバーへ送信する。これにより、表示画面１６ｂに表示されている合成画像を外部に公開することができる。
【００５８】
制御部１３は、携帯端末１０−１の動作を制御するためのプログラムや各種のデータ等を予め記憶している。具体的には制御部１３は、携帯端末１０−１を識別する端末識別情報を記憶している。また、制御部１３は、図１に示した仮想キャラクター５１，５２のような仮想キャラクターの形状を示す形状データを記憶している。形状データは、仮想キャラクターが例えば図１に示した仮想キャラクター５１，５２のように人型の物体である場合、頭や首、背骨、肩、腰、腕、脚等の人の体の複数の構成部位のそれぞれの形状を示している。なお、制御部１３は、複数の仮想キャラクターのそれぞれに対応する複数の形状データを記憶している。また、形状データには、複数の構成部位のそれぞれの接続状態を示すデータも含まれる。さらに、制御部１３は、仮想キャラクターの姿勢を決定するための姿勢データを記憶している。姿勢データは、例えば仮想キャラクターの背骨と腰との接続位置を図３（ｂ）に示したような座標系における所定の座標とした場合に、その座標を基準とした頭の位置や、肩の位置の相対座標を示すデータである。つまり、マーカー５０−１〜５０−４にて定義される所定の範囲上の仮想キャラクターの位置や形状（姿勢）が、姿勢データに応じて決定されることになる。なお、制御部１３は、複数の仮想キャラクターのそれぞれに対応する複数の姿勢データを記憶している。また、制御部１３が予め記憶している姿勢データは初期値である。そして、制御部１３は、操作部１５から出力された操作情報に基づき、記憶している姿勢データを更新する。また、制御部１３は、図１に示した仮想背景５３，５４のような仮想背景の形状を示す背景形状データを記憶している。背景形状データは、仮想背景が例えば図１に示した仮想背景５３，５４のような樹木である場合、樹木の幹や葉のそれぞれの形状を示している。また、背景形状データには、樹木の幹や葉の接続状態を示すデータも含まれる。さらに、制御部１３は、仮想背景の配置を決定するための配置データを記憶している。配置データは例えば、仮想背景の幹の先端を図３（ｂ）に示したような座標系における所定の座標とした場合に、その座標を基準した葉の相対座標を示すデータである。
【００５９】
演算部１７は、仮想キャラクター演算部１７ａと、表示画像演算部１７ｂと、仮想背景演算部１７ｃとを備えている。
【００６０】
仮想キャラクター演算部１７ａは、形状記憶部１７ａ−１と、姿勢定義部１７ａ−２と、姿勢演算部１７ａ−３とを備えている。
【００６１】
形状記憶部１７ａ−１は、制御部１３に記憶されている複数の形状データのうちのいずれかを記憶する。
【００６２】
姿勢定義部１７ａ−２は、制御部１３に記憶されている複数の姿勢データのうちのいずれかを記憶する。また、姿勢定義部１７ａ−２は、制御部１３にて更新された姿勢データを取得し、記憶している姿勢データに代えて、取得した姿勢データを記憶する。
【００６３】
姿勢演算部１７ａ−３は、仮想キャラクター５１，５２を描画するための処理を実行する。具体的には姿勢演算部１７ａ−３は、形状記憶部１７ａ−１に記憶された形状データが示す形状を、姿勢定義部１７ａ−２に記憶された姿勢データに基づいて変化させた多角形を生成する。そして、姿勢演算部１７ａ−３は、生成した多角形の頂点座標を算出する。そして、姿勢演算部１７ａ−３は、算出した頂点座標を示す頂点座標情報を表示画像演算部１７ｂへ出力する。なお、この頂点座標情報が、仮想キャラクターを描画するための処理の処理結果となる。
【００６４】
仮想背景演算部１７ｃは、形状記憶部１７ｃ−１と、配置定義部１７ｃ−２と、配置演算部１７ｃ−３とを備えている。
【００６５】
形状記憶部１７ｃ−１は、制御部１３から出力された背景形状データを記憶する。
【００６６】
配置定義部１７ｃ−２は、制御部１３から出力された配置データを記憶する。
【００６７】
配置演算部１７ｃ−３は、仮想背景５３，５４を描画するための処理を実行する。具体的には配置演算部１７ｃ−３は、配置定義部１７ｃ−２に記憶された配置データを例えば時間の経過をパラメータとして更新する。そして、配置演算部１７ｃ−３は、形状記憶部１７ｃ−１に記憶された背景形状データが示す形状を、配置定義部１７ｃ−２に記憶された配置データに基づいて変化させた多角形を生成する。そして、配置演算部１７ｃ−３は、生成した多角形の頂点座標を示す頂点座標情報を表示画像演算部１７ｂへ出力する。なお、この頂点座標情報が、仮想背景を描画するための処理の処理結果となる。
【００６８】
表示画像演算部１７ｂは、第１の記憶部１７ｂ−１と、第２の記憶部１７ｂ−２と、第３の記憶部１７ｂ−３と、表示画像演算部１７ｂ−４と、視点・光源定義部１７ｂ−５とを備えている。
【００６９】
第１の記憶部１７ｂ−１は、姿勢演算部１７ａ−３から出力された頂点座標情報を受け付けて記憶する。なお、第１の記憶部１７ｂ−１は、携帯端末１０−１のユーザーの役割によっては、近距離通信部１４ａから出力された頂点座標情報を受け付けて記憶する。
【００７０】
第２の記憶部１７ｂ−２は、近距離通信部１４ａから出力された頂点座標情報を受け付けて記憶する。
【００７１】
第３の記憶部１７ｂ−３は、配置演算部１７ｃ−３から出力された頂点座標情報を受け付けて記憶する。なお、第３の記憶部１７ｂ−３は、携帯端末１０−１のユーザーの役割によっては、近距離通信部１４ａから出力された頂点座標情報を受け付けて記憶する。
【００７２】
視点・光源定義部１７ｂ−５は、画像処理部１２から出力された位置情報と光源情報とを記憶する。
【００７３】
表示画像演算部１７ｂ−４は、第１の記憶部１７ｂ−１に記憶された頂点座標情報と、第２の記憶部１７ｂ−２に記憶された頂点座標情報と、第３の記憶部１７ｂ−３に記憶された頂点座標情報と、視点・光源定義部１７ｂ−５に記憶された位置情報および光源情報とを取得する。そして、表示画像演算部１７ｂ−４は、取得した位置情報に基づき、取得した頂点座標情報が示す頂点座標を、図３（ｂ）に示したような座標系における座標に変換する。これにより、マーカー５０−１〜５０−４にて定義される所定の範囲における仮想キャラクター５１，５２と仮想背景５３，５４との配置位置および形状（姿勢）とが決定し、決定した配置位置と形状とを示す画像データが生成されたことになる。さらに、表示画像演算部１７ｂ−４は、生成された画像データに、取得した光源情報を反映させることで仮想物体画像データを生成する。そして、表示画像演算部１７ｂ−４は、生成した仮想物体画像データを表示部１６へ出力する。
【００７４】
以下に、上記のように構成された表示システムの動作について説明する。
【００７５】
まず、図１〜図７に示した表示システムにおいてゲームの機能を起動したときの携帯端末の動作について説明する。
【００７６】
図８は、図１〜図７に示した表示システムにおいてゲームの機能を起動したときの携帯端末の動作を説明するためのフローチャートである。
【００７７】
ゲームの機能が起動されると、制御部１３はまず、ゲームの参加者と、ゲームの中継者と、ゲームの観客とのうちのいずれかの役割を選択させるための画面を表示画面１６ｂに表示させる（ステップＳ１）。
【００７８】
操作部１５は、ユーザーから役割の選択を受け付ける（ステップＳ２）。そして、操作部１５は、選択された役割を示す操作情報を制御部１３へ出力する。
【００７９】
操作部１５から出力された操作情報を受け付けた制御部１３は、受け付けた操作情報がゲームの参加者を示しているかどうかを判定する。つまり、選択された役割がゲームの参加者であるかどうかを判定する（ステップＳ３）。
【００８０】
ステップＳ３における判定の結果、受け付けた操作情報がゲームの参加者を示している場合、参加者用携帯端末を初期化する動作が実行される（ステップＳ４）。なお、この動作の詳細については後述する。
【００８１】
次に、参加者用携帯端末と中継者用携帯端末とに共通する初期化をする動作が実行される（ステップＳ５）。なお、この動作の詳細についても後述する。
【００８２】
一方、ステップＳ３における判定の結果、受け付けた操作情報がゲームの参加者を示していない場合、受け付けた操作情報がゲームの中継者を示しているかどうかを判定する。つまり、選択された役割がゲームの中継者であるかどうかを判定する（ステップＳ６）。
【００８３】
ステップＳ６における判定の結果、受け付けた操作情報がゲームの中継者を示している場合、中継者用携帯端末を初期化する動作が実行される（ステップＳ７）。なお、この動作の詳細についても後述する。そして、ステップＳ５の動作へ移行する。
【００８４】
一方、ステップＳ６における判定の結果、受け付けた操作情報がゲームの中継者を示していない場合には、観客用携帯端末を初期化するための動作が実行される（ステップＳ８）。なお、この動作の詳細についても後述する。
【００８５】
図９は、図１〜図７に示した表示システムにおいて携帯端末を初期化する動作を説明するためのフローチャートであり、（ａ）は参加者用携帯端末を初期化する動作を説明するためのフローチャート、（ｂ）は中継者用携帯端末を初期化する動作を説明するためのフローチャートである。
【００８６】
まず、図９（ａ）を参照しながら、参加者用携帯端末を初期化する動作について説明する。
【００８７】
制御部１３は、仮想キャラクター演算部１７ａを起動させる（ステップＳ２１）。
【００８８】
次に、制御部１３は、複数の仮想キャラクターのいずれかを選択させるための画面を表示画面１６ｂに表示させる（ステップＳ２２）。
【００８９】
操作部１５は、複数の仮想キャラクターのいずれかの選択をユーザーから受け付ける（ステップＳ２３）。そして、操作部１５は、選択された仮想キャラクターを示す操作情報を制御部１３へ出力する。
【００９０】
操作部１５から出力された操作情報を受け付けた制御部１３は、複数の形状データのうち、受け付けた操作情報が示す仮想キャラクターに対応する形状データを仮想キャラクター演算部１７ａへ出力する。また、制御部１３は、複数の姿勢データのうち、受け付けた操作情報が示す仮想キャラクターに対応する姿勢データを仮想キャラクター演算部１７ａへ出力する。
【００９１】
制御部１３から出力された形状データを受け付けた仮想キャラクター演算部１７ａの形状記憶部１７ａ−１は、受け付けた形状データを記憶する（ステップＳ２４）。
【００９２】
また、制御部１３から出力された姿勢データを受け付けた仮想キャラクター演算部１７ａの姿勢定義部１７ａ−２は、受け付けた姿勢データを記憶する（ステップＳ２５）。
【００９３】
次に、制御部１３は、第１の記憶部１７ｂ−１への頂点座標情報の出力元を姿勢演算部１７ａ−３に設定する（ステップＳ２６）。
【００９４】
そして、制御部１３は、第１の記憶部１７ｂ−１と近距離通信部１４ａとの間のデータ通信経路を活性化する（ステップＳ２７）。
【００９５】
次に、図９（ｂ）を参照しながら、中継者用携帯端末を初期化する動作について説明する。
【００９６】
制御部１３は、中継サーバーのＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｃｅ  Ｌｏｃａｔｏｒ）の入力を受け付けるための画面を表示画面１６ｂに表示させる（ステップＳ４１）。
【００９７】
操作部１５は、ユーザーからＵＲＬの入力を受け付ける（ステップＳ４２）。
【００９８】
次に、制御部１３は、遠距離通信部１４ｂを起動させる（ステップＳ４３）。
【００９９】
次に、制御部１３は、遠距離通信部１４ｂと表示画像メモリ１６ａとの間のデータ通信経路を活性化する（ステップＳ４４）。
【０１００】
次に、制御部１３は、第１の記憶部１７ｂ−１への頂点座標情報の出力元を近距離通信部１４ａに設定する（ステップＳ４５）。これにより、中継者用携帯端末は、他の携帯端末から送信された頂点座標情報を取得することが可能となる。
【０１０１】
図１０は、図１〜図７に示した表示システムにおいて参加者用携帯端末と中継者用携帯端末に共通する初期化の動作を説明するためのフローチャートである。
【０１０２】
制御部１３は、近距離通信部１４ａを起動させる（ステップＳ６１）。
【０１０３】
次に、制御部１３は、ユーザーからグループＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）の入力を受け付けるための画面を表示画面１６ｂに表示させる（ステップＳ６２）。なお、グループＩＤとは、図１に示したようなマーカー５０−１〜５０−４にて定義される所定の範囲を共有する複数の携帯端末から構成されるグループを識別するものである。
【０１０４】
操作部１５は、ユーザーからグループＩＤの入力を受け付ける（ステップＳ６３）。そして、操作部１５は、受け付けたグループＩＤを示す操作情報を制御部１３へ出力する。
【０１０５】
操作部１５から出力された操作情報を受け付けた制御部１３は、受け付けた操作情報が示すグループＩＤを記憶する（ステップＳ６４）。
【０１０６】
そして、制御部１３は、記憶したグループＩＤと、予め記憶している端末識別情報とを含む検索用情報を近距離通信部１４ａを介して送信する（ステップＳ６５）。なお、検索用情報は、同一グループに属する携帯端末を検索するために用いられる情報である。
【０１０７】
ここで、ステップＳ６５にて送信された検索用情報の受信側の動作について説明する。
【０１０８】
図１１は、図１〜図７に示した表示システムにおいて携帯端末が検索用情報を受信したときの動作の一例を説明するためのフローチャートである。
【０１０９】
近距離通信部１４ａは、検索用情報を受信する（ステップＳ６５−１）。そして、近距離通信部１４ａは、受信した検索用情報を制御部１３へ出力する。
【０１１０】
近距離通信部１４ａから出力された検索用情報を受け付けた制御部１３は、受け付けた検索用情報に含まれるグループＩＤと、記憶しているグループＩＤとが一致するかどうかを確認する（ステップＳ６５−２）。
【０１１１】
ステップＳ６５−１における確認の結果、受け付けた検索用情報に含まれるグループＩＤと、記憶しているグループＩＤとが一致する場合、制御部１３は、受け付けた検索用情報に含まれる端末識別情報を記憶する（ステップＳ６５−３）。
【０１１２】
そして、制御部１３は、記憶している端末識別情報を含むグループ一致情報を近距離通信部１４ａを介して送信する（ステップＳ６５−４）。
【０１１３】
一方、ステップＳ６５−１における確認の結果、受け付けた検索用情報に含まれるグループＩＤと、記憶しているグループＩＤとが一致しない場合、グループ不一致情報を近距離通信部１４ａを介して送信する（ステップＳ６５−５）。
【０１１４】
再度、図１０を参照すると、近距離通信部１４ａは、グループ一致情報、グループ不一致情報を受信する（ステップＳ６６）。そして、近距離通信部１４ａは、受信したグループ一致情報を制御部１３へ出力する。
【０１１５】
近距離通信部１４ａから出力されたグループ一致情報を受け付けた制御部１３は、受け付けたグループ一致情報に含まれる端末識別情報を、同一のグループに属する携帯端末を識別するための同一グループ端末識別情報として記憶する（ステップＳ６７）。
【０１１６】
次に、制御部１３は、図８に示したステップＳ２において選択された役割に対応する処理を実行する際の負荷量を算出する（ステップＳ６８）。
【０１１７】
そして、制御部１３は、同一グループ端末識別情報にて識別される携帯端末へ算出した負荷量を示す負荷量情報を近距離通信部１４ａを介して送信する（ステップＳ６９）。
【０１１８】
また、制御部１３は、同一グループの他の携帯端末から送信された負荷量情報を近距離通信部１４ａを介して受信する（ステップＳ７０）。
【０１１９】
そして、制御部１３は、受信した負荷量情報が示す負荷量に、算出した負荷量よりも小さなものがあるかどうかを判定する（ステップＳ７１）。
【０１２０】
ステップＳ７１における判定の結果、受信した負荷量情報が示す負荷量に、算出した負荷量よりも小さなものがない場合、制御部１３は、仮想背景演算部１７ｃを起動させる（ステップＳ７２）。
【０１２１】
次に、制御部１３は、記憶している背景形状データと配置データとを仮想背景演算部１７ｃへ出力する。
【０１２２】
制御部１３から出力された背景形状データを受け付けた仮想背景演算部１７ｃの形状記憶部１７ｃ−１は、受け付けた背景形状データを記憶する（ステップＳ７３）
また、制御部１３から出力された配置データを受け付けた仮想背景演算部１７ｃの配置定義部１７ｃ−２は、受け付けた配置データを記憶する（ステップＳ７４）。
【０１２３】
そして、制御部１３は、撮影部１１および画像処理部１２を起動させる（ステップＳ７５）。
【０１２４】
一方、ステップＳ７１における判定の結果、受信した負荷量情報が示す負荷量に、算出した負荷量よりも小さなものがある場合には、ステップＳ７５の動作へ遷移する。
【０１２５】
次に、図１〜図７に示した表示システムにおいて観客用携帯端末を初期化する動作について説明する。
【０１２６】
図１２は、図１〜図７に示した表示システムにおいて観客用携帯端末を初期化する動作の一例を説明するためのフローチャートである。
【０１２７】
まず、制御部１３は、仮想キャラクター演算部１７ａを停止させる（ステップＳ８１）。
【０１２８】
次に、制御部１３は、第１の記憶部１７ｂ−１への頂点座標情報の出力元を近距離通信部１４ａに設定し（ステップＳ８２）、近距離通信部１４ａを起動させる（ステップＳ８３）。
【０１２９】
そして、制御部１３は、グループＩＤの入力を受け付けるための画面を表示画面１６ｂに表示させる（ステップＳ８４）。
【０１３０】
操作部１５は、ユーザーからグループＩＤの入力を受け付ける（ステップＳ８５）。そして、操作部１５は受け付けたグループＩＤを示す操作情報を制御部１３へ出力する。
【０１３１】
操作部１５から出力された操作情報を受け付けた制御部１３はまず、受け付けた操作情報が示すグループＩＤを記憶する（ステップＳ８６）。
【０１３２】
そして、制御部１３は、記憶したグループＩＤと、予め記憶している端末識別情報とを含む検索用情報を生成し、生成した検索用情報を近距離通信部１４ａを介して送信する（ステップＳ８７）。なお、検索用情報を受信した携帯端末の動作は、図１１を参照しながら説明したのと同じである。
【０１３３】
次に、近距離通信部１４ａは、上述したグループ一致情報、グループ不一致情報を受信する（ステップＳ８８）。そして、近距離通信部１４ａは、受信したグループ一致情報を制御部１３へ出力する。
【０１３４】
近距離通信部１４ａから出力されたグループ一致情報を受け付けた制御部１３は、受け付けたグループ一致情報に含まれる端末識別情報を同一グループ端末識別情報として記憶する（ステップＳ８９）。
【０１３５】
そして、制御部１３は、撮影部１１および画像処理部１２を起動させる（ステップＳ９０）。
【０１３６】
なお、図１２を参照しながら説明した観客用携帯端末の初期化は、他の携帯端末がゲームを開始した後にも実行することができる。すなわち、観客用携帯端末のユーザーは任意のタイミングでゲームの観客になることができる。
【０１３７】
ここまで、図１〜図７に示した表示システムにおいて携帯端末を初期化する動作について説明した。
【０１３８】
図１３は、図１〜図７に示した表示システムにおいて携帯端末１０−１〜１０−４のそれぞれの状態の一例を示す図である。
【０１３９】
図１３は、携帯端末１０−１が仮想キャラクター５１を描画するための処理を実行する参加者用携帯端末であり、携帯端末１０−２が仮想キャラクター５２を描画するための処理を実行する参加者用携帯端末であり、携帯端末１０−３が中継者用携帯端末であり、携帯端末１０−４が観客用携帯端末である場合を示している。
【０１４０】
また、図１３は、携帯端末１０−１，１０−２の負荷量と、携帯端末１０−３の負荷量とのうち、携帯端末１０−３の負荷量が最も大きく、携帯端末１０−２の負荷量が最も小さな場合を示している。この場合、携帯端末１０−２が仮想背景５３，５４を描画するための処理を実行することになる。
【０１４１】
次に、図１〜図７に示した表示システムにおいてゲームを開始した後の携帯端末の動作について説明する。
【０１４２】
まず、仮想キャラクターを描画するための処理と、仮想背景を描画するための処理について説明する。
【０１４３】
図１４は、図１〜図７に示した表示システムにおいて仮想キャラクターを描画するための処理と、仮想背景を描画するための処理とにおける動作を説明するためのフローチャートであり、（ａ）は仮想キャラクターを描画するための処理における動作を説明するためのフローチャート、（ｂ）は仮想背景を描画するための処理における動作を説明するためのフローチャートである。
【０１４４】
まず、図１４（ａ）を参照しながら仮想キャラクターを描画するための処理における動作について説明する。
【０１４５】
操作部１５は、ユーザーのキーパッド１５ａの操作を受け付ける（ステップＳ１０１）。そして、操作部１５は、受け付けた操作内容を示す操作情報を制御部１３へ出力する。
【０１４６】
操作部１５から出力された操作情報を受け付けた制御部１３は、受け付けた操作情報に基づき、上述した図９（ａ）のステップＳ２３にて選択された仮想キャラクターに対応する姿勢データを更新する（ステップＳ１０２）。
【０１４７】
姿勢定義部１７ａ−２は、制御部１３に記憶された姿勢データを所定の間隔で取得する。
【０１４８】
姿勢定義部１７ａ−２は、記憶している姿勢データに代えて、取得した姿勢データを記憶する。これにより、姿勢定義部１７ａ−２に記憶されている姿勢データが更新される（ステップＳ１０３）。
【０１４９】
姿勢演算部１７ａ−３は、形状記憶部１７ａ−１に記憶された形状データが示す形状を、姿勢定義部１７ａ−２に記憶された姿勢データに基づいて変化させた多角形を生成する（ステップＳ１０４）。
【０１５０】
そして、姿勢演算部１７ａ−３は、生成した多角形の頂点座標を算出する（ステップＳ１０５）。
【０１５１】
次に、姿勢演算部１７ａ−３は、算出した頂点座標を示す頂点座標情報を第１の記憶部１７ｂ−１に記憶させる（ステップＳ１０６）。
【０１５２】
次に、近距離通信部１４ａは、第１の記憶部１７ｂ−１に記憶された頂点座標情報を取得する。
【０１５３】
そして、近距離通信部１４ａは、取得した頂点座標情報を、制御部１３に記憶された同一グループ端末識別情報にて識別される携帯端末へ送信する（ステップＳ１０７）。なお、この動作の詳細については後述する。また、頂点座標情報の受信側の携帯端末の動作についても後述する。
【０１５４】
次に、図１４（ｂ）を参照しながら仮想背景を描画するための処理における動作について説明する。
【０１５５】
配置演算部１７ｃ−３は、配置定義部１７ｃ−２に記憶されている配置データを例えば時間の経過をパラメータとして更新する（ステップＳ１２１）。
【０１５６】
次に、配置演算部１７ｃ−３は、形状記憶部１７ｃ−１に記憶された背景形状データが示す形状を、配置定義部１７ｃ−２に記憶された配置データに基づいて変化させた多角形を生成する（ステップＳ１２２）。
【０１５７】
次に、配置演算部１７ｃ−３は、生成した多角形の頂点座標を算出する（ステップＳ１２３）。
【０１５８】
そして、配置演算部１７ｃ−３は、算出した頂点座標を示す頂点座標情報を第３の記憶部１７ｂ−３に記憶させる（ステップＳ１２４）。
【０１５９】
次に、近距離通信部１４ａは、第３の記憶部１７ｂ−３に記憶された頂点座標情報を取得する。
【０１６０】
そして、近距離通信部１４ａは、取得した頂点座標情報を、制御部１３に記憶された同一グループ端末識別情報にて識別される携帯端末へ送信する（ステップＳ１２５）。
【０１６１】
図１５は、図１〜図７に示した表示システムにおいて頂点座標情報の送信側の動作と受信側の動作とを説明するためのフローチャートであり、（ａ）は頂点座標情報の送信側の動作を説明するためのフローチャート、（ｂ）は頂点座標情報の受信側の動作を説明するためのフローチャートである。
【０１６２】
まず、図１５（ａ）を参照しながら、頂点座標情報の送信側の動作について説明する。
【０１６３】
制御部１３は、近距離通信部１４ａにて頂点座標情報が取得されると、取得された頂点座標情報が、仮想キャラクターの頂点座標情報であるか、仮想背景の頂点座標情報であるかを示す種別情報を生成する（ステップＳ１４１）。
【０１６４】
次に、制御部１３は、記憶している同一グループ端末識別情報にて識別される携帯端末のうちのいずれかを選択する（ステップＳ１４２）。
【０１６５】
次に、制御部１３は、近距離通信部１４ａを介し、生成した種別情報を、選択した携帯端末へ送信する（ステップＳ１４３）。
【０１６６】
次に、近距離通信部１４ａは、種別情報を送信した送信先の携帯端末との間に通信経路を確立する（ステップＳ１４４）。
【０１６７】
そして、近距離通信部１４ａは、確立した通信経路を介し、取得した頂点座標情報を送信する（ステップＳ１４５）。
【０１６８】
次に、制御部１３は、記憶している同一グループ端末識別情報にて識別される携帯端末のうち、未選択の携帯端末があるかどうかを確認する（ステップＳ１４６）。
【０１６９】
ステップＳ１４６における確認の結果、同一グループ端末識別情報にて識別される携帯端末のうち、未選択の携帯端末がある場合、制御部１３は、未選択の携帯端末のうちのいずれかを選択する（ステップＳ１４７）。そして、ステップＳ１４３の動作へ遷移する。
【０１７０】
一方、ステップＳ１４６における確認の結果、同一グループ端末識別情報にて識別される携帯端末のうち、未選択の携帯端末がない場合には、処理を終了する。
【０１７１】
なお、図１５（ａ）に示したフローでは、同一グループ端末識別情報にて識別される携帯端末のそれぞれに順次、頂点座標情報を送信していた。このような方法ではなく、同一グループ端末識別情報にて識別されるすべての携帯端末に一斉に頂点座標情報を送信するようにしてもよい。但し、この場合、通信中にエラー等が発生したときには、エラー等が発生したフレームを破棄する必要がある。
【０１７２】
次に、図１５（ｂ）を参照しながら、頂点座標情報の受信側の動作について説明する。
【０１７３】
近距離通信部１４ａは、同一グループの他の携帯端末から送信された種別情報を受信する（ステップＳ１６１）。
【０１７４】
次に、近距離通信部１４ａは、種別情報の送信元の携帯端末との間に通信経路を確立する（ステップＳ１６２）。
【０１７５】
次に、近距離通信部１４ａは、確立した通信経路を介して頂点座標情報を受信する（ステップＳ１６３）。
【０１７６】
そして、制御部１３は、受信した種別情報が示す内容に応じ、表示画像演算部１７ｂの第１〜第３の記憶部１７ｂ−１〜１７ｂ−３のいずれかに、近距離通信部１４ａにて受信された頂点座標情報を記憶させる（ステップＳ１６４）。
【０１７７】
次に、受信した頂点座標情報を記憶するときの動作の詳細について説明する。
【０１７８】
図１６は、図１〜図７に示した表示システムにおいて携帯端末が、受信した頂点座標情報を記憶するときの動作を説明するためのフローチャートである。
【０１７９】
制御部１３は、近距離通信部１４ａにて受信された種別情報が仮想背景の頂点座標情報であることを示しているかどうかを確認する（ステップＳ１８１）。
【０１８０】
ステップＳ１８１における確認の結果、近距離通信部１４ａにて受信された種別情報が仮想背景の頂点座標情報であることを示している場合、制御部１３は、近距離通信部１４ａにて受信された頂点座標情報を第３の記憶部１７ｂ−３に記憶させる（ステップＳ１８２）。そして、処理を終了する。
【０１８１】
一方、ステップＳ１８１における確認の結果、近距離通信部１４ａにて受信された種別情報が仮想背景の頂点座標情報でないことを示している場合、すなわち、仮想キャラクターの頂点座標情報であることを示している場合、制御部１３は、近距離通信部１４ａにて受信された頂点座標情報の送信元の携帯端末以外から、仮想キャラクターの頂点座標情報を受信しているかどうかを確認する（ステップＳ１８３）。
【０１８２】
ステップＳ１８３における確認の結果、近距離通信部１４ａにて受信された頂点座標情報の送信元の携帯端末以外から、仮想キャラクターの頂点座標情報を受信している場合、制御部１３は、近距離通信部１４ａにて受信した頂点座標情報を第１の記憶部１７ｂ−１に記憶させる（ステップＳ１８４）。そして、処理を終了する。
【０１８３】
一方、ステップＳ１８３における確認の結果、近距離通信部１４ａにて受信された頂点座標情報の送信元の携帯端末以外から、仮想キャラクターの頂点座標情報を受信していない場合、制御部１３は、受信した頂点座標情報を第２の記憶部１７ｂ−２に記憶させる（ステップＳ１８５）。
【０１８４】
次に、制御部１３は、近距離通信部１４ａにて受信された頂点座標情報の送信元の携帯端末の端末識別情報を記憶する（ステップＳ１８６）。そして、処理を終了する。
【０１８５】
この後、表示画像演算部１７ｂ−４は、第１の記憶部１７ｂ−１、第２の記憶部１７ｂ−２および第３の記憶部１７ｂ−３に記憶された頂点座標情報を取得し、取得した頂点座標情報から仮想物体画像データを生成する。このとき、表示画像演算部１７ｂ−４は上述したように、視点・光源定義部１７ｂ−５に記憶された解析結果に基づいて仮想物体画像データを生成する。
【０１８６】
ここで、視点・光源定義部１７ｂ−５に画像処理部１２における解析結果を記憶させるときの動作について説明する。
【０１８７】
図１７は、図１〜図７に示した表示システムにおいて視点・光源定義部１７ｂ−５に画像処理部１２における解析結果を記憶させるときの動作を説明するためのフローチャートである。
【０１８８】
まず、画像処理部１２は、撮影部１１から出力された撮影画像データを受け付ける。
【０１８９】
撮影部１１から出力された撮影画像データを受け付けた画像処理部１２は、受け付けた撮影画像データが示す画像中のマーカー５０−１〜５０−４のそれぞれの位置と形状を認識する（ステップＳ２０１）。
【０１９０】
次に、画像処理部１２は、マーカー５０−１〜５０−４にて定義される所定の範囲を
座標で表した座標系を定義する（ステップＳ２０２）。
【０１９１】
次に、画像処理部１２は、ステップＳ２０１にて認識したマーカー５０−１〜５０−４のそれぞれの位置および形状から、マーカー５０−１〜５０−４にて定義される所定の範囲に対する撮影部１１の水平位置と垂直位置とを特定する（ステップＳ２０３）。
【０１９２】
また、画像処理部１２は、受け付けた撮影画像データが示す画像中のボール部５０ａの色合いから光源の方向を特定する。
【０１９３】
次に、画像処理部１２は、近距離通信部１４ａから出力された通知用光源情報を受け付ける。
【０１９４】
次に、画像処理部１２は、受け付けた通知用光源情報が示す光源の方向と、特定した光源の方向とから、マーカー５０−１〜５０−４にて定義された所定の範囲のおける全ての光源の方向と環境光とを特定する（ステップＳ２０４）。
【０１９５】
そして、画像処理部１２は、光源の方向と環境光とを示す光源情報と、ステップＳ２０３にて特定された位置を示す位置情報とを制御部１３へ出力する。
【０１９６】
画像処理部１２から出力された光源情報と位置情報とを受け付けた制御部１３は、受け付けた位置情報と光源情報とを表示画像演算部１７ｂの視点・光源定義部１７ｂ−５に記憶させる（ステップＳ２０５）。
【０１９７】
この後、上述したように、表示画像演算部１７ｂ−４にて仮想物体画像データが生成される。なお、表示画像演算部１７ｂ−４における仮想物体画像データの生成は、予め決められた所定の間隔で実行してもよいし、上述したステップＳ２０５の動作が終了する度に実行してもよい。
【０１９８】
そして、表示画像演算部１７ｂ−４にて生成された仮想物体画像データと、撮影部１１から出力された撮影画像データとが表示画像メモリ１６ａに記憶される。表示画面１６ｂは、表示画像メモリ１６ａに記憶された仮想物体画像データが示す画像と撮影画像データが示す画像とを重畳して拡張現実の合成画像として表示する。
【０１９９】
このように本実施形態において携帯端末１０−１〜１０−４のそれぞれは、表示部１６と、現実の環境の所定の範囲を撮影する撮影部１１と、複数の種類の処理のそれぞれに対応付けられた複数の役割のいずれかの選択を受け付ける操作部１５とを有する。
【０２００】
また、携帯端末１０−１〜１０−４のそれぞれは、複数の役割のうち第１の役割が選択された場合、操作部１５に対する操作に応じて形状が変化する仮想キャラクターを描画するための処理を実行する演算部１７を有する。
【０２０１】
また、携帯端末１０−１〜１０−４のそれぞれは、選択された役割に対応する処理を実行する際の負荷量を示す負荷量情報を、携帯端末１０−１〜１０−４のうち当該携帯端末以外の他の携帯端末へ送信し、当該他の携帯端末から送信された負荷量情報を受信する通信部１４を有する。
【０２０２】
そして、演算部１７は、通信部１４にて受信された負荷量情報が示す負荷量に、選択された役割に対応する処理を実行する際の負荷量よりも小さなものがない場合、仮想背景を描画するための処理をさらに実行する。
【０２０３】
また、通信部１４は、演算部１７における処理結果を他の携帯端末へ送信するとともに、当該他の携帯端末から送信された処理結果を受信する。
【０２０４】
そして、表示部１６は、撮影部１１にて撮影された画像と、演算部１７における処理結果に基づく物体像と、通信部１４にて受信された処理結果に基づく物体像とを重畳させることで仮想キャラクターおよび仮想背景が所定の範囲上に配置された合成画像を表示する。
【０２０５】
これにより、複数の携帯端末のそれぞれの負荷量が分散されることになる。
【０２０６】
従って、仮想的な物体像の描画にかかる負荷量が大きな場合でも、拡張現実の合成画像を実用的な速度で表示することができる。
【０２０７】
また、複数の携帯端末において拡張現実感を共有できるのはもちろんのこと、複数の携帯端末のうちのいずれかの携帯端末を操作することで変化する仮想的な物体像の形状や位置を、その複数の携帯端末で共有することができる。
【０２０８】
また、本実施形態において撮影部１１は、拡張現実を実現する所定の範囲を定義するマーカーとして、所定の形状を有する複数のマーカーを撮影している。
【０２０９】
これにより、拡張現実を実現する所定の範囲を様々な大きさに変化させた合成画像を得ることができる。
【０２１０】
また、マーカーを設置する場所の起伏等の影響をマーカーが受けることがないため、撮影された画像と、仮想的な物体像とを重畳する際の精度を一定に保つことができる。
【０２１１】
（第２の実施形態）
図１８は、本発明の表示システムの第２の実施形態の構成を示す図である。なお、本実施形態において携帯端末１０−１〜１０−４の構成は、図４に示したのと同様である。
【０２１２】
図１８を参照すると、本実施形態においては、仮想背景５３，５４以外にも多くの仮想背景が存在している。この場合、仮想背景を描画するための処理を実行する携帯端末の負荷量が非常に大きくなる。
【０２１３】
本実施形態では、ゲームを開始したときには、携帯端末１０−１が仮想キャラクター５１を動作させるための参加者用携帯端末であり、携帯端末１０−２が仮想キャラクター５２を動作させるための参加者用携帯端末であり、携帯端末１０−３が中継用携帯端末である場合を想定している。つまり、ゲームを開始したときには、観客用携帯端末が存在していない。また、仮想背景の描画は携帯端末１０−１〜１０−３のいずれかにおいて実行されているものとする。
【０２１４】
このような状況において、ゲームを開始した後に携帯端末１０−４を観客用携帯端末として追加する場合を考えてみる。この場合、観客用携帯端末を初期化する必要があるが、この初期化の動作は、上述した図１２を参照しながら説明した動作とは異なる動作となる。
【０２１５】
図１９は、図１〜図７に示した表示システムにおいて観客用携帯端末を初期化する動作の他の例を説明するためのフローチャートである。
【０２１６】
図１９におけるステップＳ２２１〜Ｓ２２７までの動作は、図１２におけるステップＳ８１〜８７までの動作と同じであるため、説明を省略する。
【０２１７】
ここで、ステップＳ２２７において送信された検索用情報の受信側の動作について説明する。
【０２１８】
図２０は、図１〜図７に示した表示システムにおいて携帯端末が検索用情報を受信したときの動作の他の例を説明するためのフローチャートである。なお、本実施形態において検索用情報は、同一グループに属する携帯端末を検索するためだけではなく、携帯端末１０−１〜１０−４のうち仮想背景を描画するための処理を実行している携帯端末を検索するためにも用いられる情報である。
【０２１９】
近距離通信部１４ａは、検索用情報を受信する（ステップＳ２２７−１）。そして、近距離通信部１４ａは、受信した検索用情報を制御部１３へ出力する。
【０２２０】
近距離通信部１４ａから出力された検索用情報を受け付けた制御部１３は、受け付けた検索用情報に含まれるグループＩＤと、記憶しているグループＩＤとが一致するかどうかを確認する（ステップＳ２２７−２）。
【０２２１】
ステップＳ２２７−１における確認の結果、受け付けた検索用情報に含まれるグループＩＤと、記憶しているグループＩＤとが一致する場合、制御部１３は、受け付けた検索用情報に含まれる端末識別情報を記憶する（ステップＳ２２７−３）。
【０２２２】
次に、制御部１３は、第１の記憶部１７ｂ−１への頂点座標情報の出力元が姿勢演算部１７ａ−３であるかどうかを確認する（ステップＳ２２７−４）。
【０２２３】
ステップＳ２２７−４における確認の結果、第１の記憶部１７ｂ−１への頂点座標情報の出力元が姿勢演算部１７ａ−３である場合、制御部１３は、仮想背景演算部１７ｃが起動しているかどうかを確認する（ステップＳ２２７−５）。
【０２２４】
ステップＳ２２７−５における確認の結果、仮想背景演算部１７ｃが起動している場合、制御部１３は、その旨を示す実行情報をグループ一致情報に付加して近距離通信部１４ａを介して送信する（ステップＳ２２７−６）。
【０２２５】
そして、制御部１３は、仮想背景演算部１７ｃを停止させ（ステップＳ２２７−７）、処理を終了する。
【０２２６】
ここで、ステップＳ２２７−４における確認の結果、第１の記憶部１７ｂ−１への頂点座標情報の出力元が姿勢演算部１７ａ−３でない場合、制御部１３は、遠距離通信部１４ｂが起動しているかどうかを確認する（ステップＳ２２７−８）。
【０２２７】
ステップＳ２２７−８における確認の結果、遠距離通信部１４ｂが起動している場合、ステップＳ２２７−５の動作へ遷移する。
【０２２８】
一方、ステップＳ２２７−８における確認の結果、遠距離通信部１４ｂが起動していない場合、制御部１３は、実行情報を付加せずにグループ一致情報を近距離通信部１４ａを介して送信し（ステップＳ２２７−９）、処理を終了する。
【０２２９】
なお、ステップＳ２２７−５における確認の結果、仮想背景演算部１７ｃが起動していない場合にはステップＳ２２７−９の動作へ遷移する。
【０２３０】
また、ステップＳ２２７−２における確認の結果、受け付けた検索用情報に含まれるグループＩＤと、記憶しているグループＩＤとが一致しない場合、制御部１３は、不一致情報を近距離通信部１４ａを介して送信し（ステップＳ２２７−１０）、処理を終了する。
【０２３１】
再度、図１９を参照すると、制御部１３は、実行情報が付加されたグループ一致情報が近距離通信部１４ａにて受信されたかどうかを確認する（ステップＳ２２８）。
【０２３２】
ステップＳ２２８における確認の結果、実行情報が付加されたグループ一致情報が受信されていない場合、制御部１３は、実行情報が付加されていないグループ一致情報を受信したかどうかを確認する（ステップＳ２２９）。
【０２３３】
ステップＳ２２９における確認の結果、実行情報が付加されていないグループ一致情報を受信した場合、制御部１３は、グループ一致情報に含まれる端末識別情報を、同一グループ端末識別情報として記憶する（ステップＳ２３０）。
【０２３４】
そして、制御部１３は、撮影部１１および画像処理部１２を起動させる（ステップＳ２３１）。
【０２３５】
ここで、ステップＳ２２８における確認の結果、実行情報が付加されたグループ一致情報が受信されている場合、制御部１３は、仮想背景演算部１７ｃを起動させる（ステップＳ２３２）。
【０２３６】
次に、制御部１３は、記憶している背景形状データと配置データとを仮想背景演算部１７ｃへ出力する。
【０２３７】
制御部１３から出力された背景形状データを受け付けた仮想背景演算部１７ｃの形状記憶部１７ｃ−１は、受け付けた背景形状データを記憶する（ステップＳ２３３）。
【０２３８】
また、制御部１３から出力された配置データを受け付けた仮想背景演算部１７ｃの配置定義部１７ｃ−２は、受け付けた配置データを記憶する（ステップＳ２３４）。そして、ステップＳ２３０の動作へ遷移する。
【０２３９】
なお、ステップＳ２２９における確認の結果、実行情報が付加されていないグループ一致情報を受信していない場合には、処理を終了する。
【０２４０】
図１９を参照しながら説明した動作が完了すると、携帯端末１０−４が観客用携帯端末として動作することになる。このときの携帯端末１０−１〜１０−４のそれぞれの動作状態を以下の図２１に示す。
【０２４１】
図２１は、図１〜図７に示した表示システムにおいて携帯端末１０−１〜１０−４のそれぞれの状態の他の例を示す図である。
【０２４２】
図２１と図１３とを比較すると、図２１に示した例では、観客用携帯端末（携帯端末１０−４）の仮想背景演算部１７ｃが起動していることがわかる。
【０２４３】
なお、本実施形態では、ゲームの開始後に、観客用携帯端末が追加される場合について説明したが、ゲームの開始後に、例えば観客用携帯端末のユーザーがゲームの観戦を止めるというようなことも考えられる。
【０２４４】
この場合、その観客用携帯端末が仮想背景を描画するための処理を実行しているとすると、その観客用携帯端末から、その観客用携帯端末と同一のグループに属する携帯端末に対してグループを外れることを示す情報を送信する。そして、その情報を受信した複数の携帯端末間で負荷量の比較を行い、負荷量が最も小さな携帯端末が、仮想背景を描画するための処理を実行するようにすればよい。
【０２４５】
このように本実施形態において通信部１４は、複数の役割のうち第３の役割が選択された場合、携帯端末１０−１〜１０−４のうち仮想背景を描画するための処理を実行している携帯端末を検索するための検索用情報を送信する。また、通信部１４は、第３の役割が選択されていない場合、他の携帯端末から送信された検索用情報を受信する。
【０２４６】
制御部１３は、通信部１４にて検索用情報が受信されると、演算部１７にて仮想背景を描画するための処理を実行している場合、その旨を示す実行情報を当該受信された検索情報の送信元の携帯端末へ通信部１４を介して送信する。それとともに制御部１３は、仮想背景を描画するための処理の実行を停止させる。
【０２４７】
演算部１７は、他の携帯端末から送信された実行情報が通信部１４にて受信されると、仮想背景を描画するための処理の実行を開始する。
【０２４８】
これにより、複数の携帯端末のそれぞれの負荷量がさらに分散されることになり、仮想的な物体像の描画にかかる負荷量が大きな場合でも、拡張現実の合成画像を実用的な速度で表示することができるという効果をさらに確実に得ることができる。
【符号の説明】
【０２４９】
１０−１〜１０−４    携帯端末
１１    撮影部
１１ａ    画像メモリ
１２    画像処理部
１３    制御部
１４    通信部
１４ａ    近距離通信部
１４ｂ    遠距離通信部
１５    操作部
１５ａ    キーパッド
１６    表示部
１６ａ    表示画像メモリ
１６ｂ    表示画面
１７    演算部
１７ａ    仮想キャラクター演算部
１７ａ−１，１７ｃ−１    形状記憶部
１７ａ−２    姿勢定義部
１７ａ−３    姿勢演算部
１７ｂ    表示画像演算部
１７ｂ−１    第１の記憶部
１７ｂ−２    第２の記憶部
１７ｂ−３    第３の記憶部
１７ｂ−４    表示画像演算部
１７ｂ−５    視点・光源定義部
１７ｃ    仮想背景演算部
１７ｃ−２    配置定義部
１７ｃ−３    配置演算部
１８    画像処理部
５０−１〜５０−４    マーカー
５０ａ    ボール部
５０ｂ    支柱部
５０ｃ    第１円盤部
５０ｄ    第２円盤部
５０ｅ    土台部
５１，５２    仮想キャラクター
５３，５４    仮想背景
【図１】
0005729761.tif 000002
【図４】
0005729761.tif 000003
【図５】
0005729761.tif 000004
【図８】
0005729761.tif 000005
【図９】
0005729761.tif 000006
【図１０】
0005729761.tif 000007
【図１１】
0005729761.tif 000008
【図１２】
0005729761.tif 000009
【図１３】
0005729761.tif 000010
【図１４】
0005729761.tif 000011
【図１５】
0005729761.tif 000012
【図１６】
0005729761.tif 000013
【図１７】
0005729761.tif 000014
【図１８】
0005729761.tif 000015
【図１９】
0005729761.tif 000016
【図２０】
0005729761.tif 000017
【図２１】
0005729761.tif 000018
【図２】
0005729761.tif 000019
【図３】
0005729761.tif 000020
【図６】
0005729761.tif 000021
【図７】
0005729761.tif 000022