画像処理装置、ゲーム装置および画像処理方法
【課題】 実オブジェクトと仮想オブジェクトとを関連付けて表示させる画像処理技術を提供する。
【解決手段】 本発明の画像処理装置は、仮想オブジェクト同士が重なって表示される場合に、重なりによる不可視部分を少なくするように、仮想オブジェクトの表示を制御する。重畳判定部108が、表示する仮想オブジェクト同士が重畳するか否かを判定する。重畳が生じている場合、表示制御部120が、仮想オブジェクトの表示態様を調整することにより、仮想オブジェクト同士が重畳することにより生じる仮想オブジェクトの不可視部分を少なくする。
【解決手段】 本発明の画像処理装置は、仮想オブジェクト同士が重なって表示される場合に、重なりによる不可視部分を少なくするように、仮想オブジェクトの表示を制御する。重畳判定部108が、表示する仮想オブジェクト同士が重畳するか否かを判定する。重畳が生じている場合、表示制御部120が、仮想オブジェクトの表示態様を調整することにより、仮想オブジェクト同士が重畳することにより生じる仮想オブジェクトの不可視部分を少なくする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理技術に関し、特に実オブジェクトと仮想オブジェクトとを関連付けて表示させる技術に関する。
【背景技術】
【0002】
近年、2次元コードをカメラで撮像して認識し、2次元コードのパターンに基づいた所定の処理を実行する技術が普及している。そのような技術の1つとして、2次元バーコードをビデオカメラで撮像して、2次元バーコードに対応する3次元画像を表示装置に表示させる画像処理技術が提案されている(例えば、特許文献1参照)。特許文献1では、撮像した2次元バーコードの座標およびCCDビデオカメラの焦点距離をもとに、3次元オブジェクトを表示する空間上の座標を決定し、2次元バーコードに3次元オブジェクトを重畳させて表示する。
【特許文献1】特開2000−322602号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
特許文献1に開示された技術は、実世界のオブジェクトと仮想のオブジェクトとを組み合わせて表示させることで、優れた視覚効果を実現可能とする。しかしながら、特許文献1は、1つの2次元バーコードに対応付けて仮想オブジェクトを表示する技術を開示するのみであり、複数の2次元バーコードが存在するときの仮想オブジェクトの表示処理について意識するものではない。本発明者は、複数の2次元バーコードなどの実オブジェクトが実空間に存在するときの表示処理に注目し、このときの仮想オブジェクトの表示処理に工夫を凝らすことで、例えば、ゲーム分野などの分野に応用して、さらに優れた視覚効果を実現する可能性が秘められていることを見出した。
【0004】
本発明は、実オブジェクトと仮想オブジェクトとを関連付けて表示させる技術を提供することを目的とし、特に、ゲームなどの分野において、複数の仮想オブジェクトが存在するときに仮想オブジェクトの表示態様を制御する技術を提供することを目的とする。
【課題を解決するための手段】
【0005】
上記課題を解決するために、本発明のある態様は、画像処理装置に関する。この態様の画像処理装置は、実オブジェクトを識別するための識別情報と、仮想オブジェクトの3次元画像データとを対応付けて記憶する格納部と、撮像装置により撮像されたフレーム画像に含まれる複数の実オブジェクト画像の識別情報に対応付けられた複数の仮想オブジェクトの3次元画像データを格納部から読み出す読出部と、読み出された3次元画像データを用いて、仮想オブジェクトを、実オブジェクト画像の表示位置に関連付けて表示装置に表示させる表示制御部と、表示装置に表示する仮想オブジェクト同士が重畳するか否かを判定する重畳判定部とを備える。表示制御部は、重畳判定部により仮想オブジェクト同士が重畳することが判定された場合に、仮想オブジェクトの表示態様を調整することにより、仮想オブジェクト同士が重畳することにより生じる仮想オブジェクトの不可視部分を少なくする。ここで、実オブジェクトは、現実空間において有体物として存在する実在オブジェクトであり、また、仮想オブジェクトは、現実空間には存在せず、仮想空間においてデータで表現されるものを意味する。
【0006】
この画像処理装置によると、画面奥側に存在して不可視部分をもつ仮想オブジェクトまたは画面手前側に存在して不可視部分を形成する仮想オブジェクトの表示態様を調整することで、画面奥側に存在する仮想オブジェクトの不可視部分を少なくすることができる。
【0007】
本発明の別の態様は、画像処理装置に関する。この態様の画像処理装置は、撮像装置により撮像されたフレーム画像に含まれる複数の実オブジェクト画像の識別情報を取得する識別情報取得部と、仮想オブジェクトの3次元画像データを記憶する第1格納部と、仮想オブジェクトを表示する優先順位を記憶する第2格納部と、第2格納部に記憶された優先順位に基づいて、実オブジェクト画像と仮想オブジェクトとを対応付ける仮想オブジェクト割当部と、3次元画像データを用いて、複数の仮想オブジェクトを、仮想オブジェクト割当部により対応付けられた実オブジェクト画像の表示位置に関連付けて表示装置に表示させる表示制御部とを備える。
【0008】
この画像処理装置によると、実オブジェクト画像と仮想オブジェクトとを、表示の優先順位に基づいて対応付けるため、例えば、優先順位の高い仮想オブジェクトが、優先順位の低い仮想オブジェクトに隠れて見えなくなる事態を回避することができる。
【0009】
本発明のさらに別の態様は、ゲーム装置に関する。この態様のゲーム装置は、実オブジェクトを識別するための識別情報と、ゲームキャラクタの3次元画像データとを対応付けて記憶する格納部と、撮像装置により撮像されたフレーム画像に含まれる複数の実オブジェクト画像の識別情報に対応付けられた複数のゲームキャラクタの3次元画像データを格納部から読み出す読出部と、読み出された3次元画像データを用いて、ゲームキャラクタを、実オブジェクト画像の表示位置に関連付けて表示装置に表示させる表示制御部と、表示装置に表示するゲームキャラクタ同士が重畳するか否かを判定する重畳判定部とを備える。表示制御部は、重畳判定部によりゲームキャラクタ同士が重畳することが判定された場合に、ゲームキャラクタの表示態様を調整することにより、ゲームキャラクタ同士が重畳することにより生じるゲームキャラクタの不可視部分を少なくする。
【0010】
このゲーム装置によると、画面奥側に存在して不可視部分をもつゲームキャラクタまたは画面手前側に存在して不可視部分を形成するゲームキャラクタの表示態様を調整することで、画面奥側に存在するゲームキャラクタの不可視部分を少なくすることができる。
【0011】
本発明のさらに別の態様は、ゲーム装置に関する。この態様のゲーム装置は、撮像装置により撮像されたフレーム画像に含まれる複数の実オブジェクト画像の識別情報を取得する識別情報取得部と、ゲームキャラクタの3次元画像データを記憶する第1格納部と、ゲームキャラクタを表示する優先順位を記憶する第2格納部と、第2格納部に記憶された優先順位に基づいて、実オブジェクト画像とゲームキャラクタとを対応付けるゲームキャラクタ割当部と、3次元画像データを用いて、複数のゲームキャラクタを、ゲームキャラクタ割当部により対応付けられた実オブジェクト画像の表示位置に関連付けて表示装置に表示させる表示制御部とを備える。
【0012】
このゲーム装置によると、実オブジェクト画像とゲームキャラクタとを、表示の優先順位に基づいて対応付けるため、例えば、優先順位の高いゲームキャラクタが、優先順位の低いゲームキャラクタに隠れて見えなくなる事態を回避することができる。
【0013】
本発明のさらに別の態様は、実オブジェクトを識別するための識別情報と、仮想オブジェクトの3次元画像データとを対応付けて記憶する格納部から、撮像装置により撮像されたフレーム画像に含まれる複数の実オブジェクト画像の識別情報に対応付けられた複数の仮想オブジェクトの3次元画像データを読み出すステップと、表示装置に表示する仮想オブジェクト同士が重畳するか否かを判定するステップと、仮想オブジェクト同士が重畳することを判定した場合に、仮想オブジェクトの表示態様を調整することにより、仮想オブジェクト同士が重畳することにより生じる仮想オブジェクトの不可視部分を少なくするステップとを備える画像処理方法を提供する。
【0014】
本発明のさらに別の態様は、撮像装置により撮像されたフレーム画像に含まれる複数の実オブジェクト画像の識別情報を取得するステップと、仮想オブジェクトを表示する優先順位を記憶する格納部から優先順位を読み出すステップと、読み出した優先順位に基づいて実オブジェクト画像と仮想オブジェクトとを対応付けるステップと、複数の仮想オブジェクトの3次元画像データを用いて、複数の仮想オブジェクトを、それぞれ対応付けられた実オブジェクト画像の表示位置に関連付けて表示装置に表示させるステップとを備える画像処理方法を提供する。
【0015】
本発明のさらに別の態様は、コンピュータに、実オブジェクトを識別するための識別情報と、仮想オブジェクトの3次元画像データとを対応付けて記憶する格納部から、撮像装置により撮像されたフレーム画像に含まれる複数の実オブジェクト画像の識別情報に対応付けられた複数の仮想オブジェクトの3次元画像データを読み出させる機能と、表示装置に表示する仮想オブジェクト同士が重畳するか否かを判定させる機能と、仮想オブジェクト同士が重畳することを判定した場合に、仮想オブジェクトの表示態様を調整することにより、仮想オブジェクト同士が重畳することにより生じる仮想オブジェクトの不可視部分を少なくさせる機能とを実現させるためのプログラムを提供する。
【0016】
本発明のさらに別の態様は、コンピュータに、撮像装置により撮像されたフレーム画像に含まれる複数の実オブジェクト画像の識別情報を取得させる機能と、仮想オブジェクトを表示する優先順位を記憶する格納部から優先順位を読み出させる機能と、読み出させた優先順位に基づいて実オブジェクト画像と仮想オブジェクトとを対応付けさせる機能と、複数の仮想オブジェクトの3次元画像データを用いて、複数の仮想オブジェクトを、それぞれ対応付けられた実オブジェクト画像の表示位置に関連付けて表示装置に表示させる機能と、を実現させるためのプログラムを提供する。
【0017】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0018】
本発明によると、複数の仮想オブジェクトが存在するときに、仮想オブジェクトの表示態様を制御する技術を提供することができる。
【発明を実施するための最良の形態】
【0019】
本発明は、撮像装置により撮像された複数の実オブジェクト画像に関連付けて、複数の仮想オブジェクトを表示させる技術を提供する。実オブジェクトは、実在する1次元オブジェクト、2次元オブジェクトまたは3次元オブジェクトのいずれであってもよく、実オブジェクト自身を識別させるための特徴部分を有して構成されることが好ましい。例えば、実オブジェクトは、2次元で表現されたコード情報を特徴部分として有するカードなどの2次元オブジェクトであってもよく、またユニークな立体形状を特徴部分として有する3次元オブジェクトであってもよい。なお、2次元オブジェクトの2次元形状がユニークな特徴部分を構成してもよく、また3次元オブジェクトに特徴部分となるコード情報が貼り付けられていてもよい。仮想オブジェクトは、仮想空間において3次元的に表現される人、動物、物などの所謂キャラクタであってもよい。以下に示す実施例は、ゲームアプリケーションにおける画像処理技術に関し、ゲームアプリケーションに登場するゲームキャラクタを、仮想オブジェクトして採用している。
【0020】
図1は、本発明の実施例にかかるゲームシステム1の構成を示す。ゲームシステム1は、撮像装置2、画像処理装置10および出力装置6を備える。画像処理装置10は、画像解析装置20およびゲーム装置30を備える。画像解析装置20およびゲーム装置30は別装置として構成されてもよいが、一体として構成されてもよい。撮像装置2は、CCD撮像素子またはMOS撮像素子などから構成されるビデオカメラである。撮像装置2は実空間を所定の周期で撮像して、周期ごとのフレーム画像を生成する。撮像領域5は撮像装置2により撮像される範囲であり、撮像装置2の高さや向きを調整することで、撮像領域5の位置や大きさが調整される。ゲームプレイヤは、撮像領域5において、実オブジェクトであるゲームカード4を指で動かす。ゲームカード4は、自身を一意に識別するための特徴部分を有して構成される。
【0021】
出力装置6は、表示装置であるディスプレイ7を有する。出力装置6は、さらにスピーカ(図示せず)を有して構成されてもよい。画像処理装置10は、撮像装置2により撮像されたフレーム画像をディスプレイ7に表示させ、その際に、ゲームカード4上に仮想オブジェクトであるキャラクタを重畳するように表示制御する。図1の例では、撮像領域5に2枚のゲームカード4が存在し、ディスプレイ7には、それぞれのゲームカード4上にキャラクタが重畳表示されている。プレイヤは、ディスプレイ7を見ることで、ゲームカード4が撮像領域5に入っているか容易に確認でき、入っていない場合には、ゲームカード4の位置をずらしたり、また撮像装置2の向きを調整して、撮像装置2にゲームカード4を撮像させるようにする。
【0022】
実施例のゲームアプリケーションでは、プレイヤがゲームカード4に対して所定の操作を施すことにより、キャラクタを動作させる。このゲームアプリケーションの性質上、プレイヤにゲームカード4とキャラクタとの一体性を認識させることが好ましく、そのため、キャラクタの画像を、ゲームカード4に重ね合わせて表示させている。
【0023】
以上のキャラクタの動きは、画像処理装置10により制御される。まず、画像解析装置20は、撮像装置2において取得されたフレーム画像から、ゲームカード4の画像情報を抽出する。さらに、画像解析装置20は、ゲームカード4の画像情報から、ゲームカード4を識別するためのユニークな特徴部分を抽出する。このとき、画像解析装置20は、ゲームカード4の画像情報から、ゲームカード4の空間における位置情報、方向情報、距離情報などを決定する。
【0024】
図2は、ゲームカード4の表面の一例を示す。ゲームカード4の表面には、方向指示部11と識別部12とが印刷されている。方向指示部11は、ゲームカード4の前部を示すために設けられ、識別部12は、ゲームカード4を一意に識別するための特徴部分を表現するために設けられる。識別部12は、所定の区画内に複数のブロックを印刷して作成されたコード情報である。複数のブロックのうち、4角のブロックは複数のゲームカード4に共通して付与され、実質的には4角以外のブロックにより、特徴部分が形成される。4角のブロックは、撮像装置2からの距離を測定するために利用される。
【0025】
図1に戻って、画像解析装置20は、フレーム画像中のゲームカード4を認識すると、ゲームカード4の画像における4角のブロック間の長さをもとに、撮像装置2とゲームカード4との距離を計算して求める。また、画像解析装置20は、ゲームカード4の方向指示部11を検出して、フレーム画像においてゲームカード4が向いている方向を求める。この場合、方向指示部11が存在する方向が前方となり、キャラクタは、ゲームカード4上にて前方を向くように表示制御される。さらに、画像解析装置20は、識別部12の4角以外のブロックから、ゲームカード4の識別情報を取得する。
【0026】
画像解析装置20において画像解析された結果は、ゲーム装置30に送られる。なお、撮像装置2において撮像されたフレーム画像が、ゲーム装置30に送られて、ゲーム装置30側で画像解析を行ってもよい。この場合、画像処理装置10は、ゲーム装置30のみで構成されることになる。
【0027】
ゲーム装置30は、画像解析装置20における画像解析結果をもとに、ディスプレイ7の表示画面上で、キャラクタをゲームカード4の上に位置するように表示制御する。キャラクタは、ゲームカード4に対してゲームシーンごとに適宜割り当てられてもよい。この場合、ゲームシーンが切り替わると、表示されるキャラクタも切り替わることになる。
【0028】
図3は、画像解析装置20の構成を示す。画像解析装置20は、フレーム画像取得部40、実オブジェクト抽出部42、状態決定部44、識別情報取得部46、識別情報格納部48および送出部50を備える。識別情報格納部48は、実オブジェクトを識別するための特徴部分の情報と、実オブジェクトを識別するための識別情報とを対応付けて記憶する。具体的には、図2におけるゲームカード4の識別部12のパターン情報と、識別情報とを1対1に対応付けて記憶している。例えば、5枚のゲームカード4の同時使用を許可するゲームシステム1の場合、それぞれのゲームカード4に対して、1から5までの識別情報がそれぞれ割り当てられていてもよい。複数のゲームカード4のそれぞれを識別情報と紐付けすることで、個々のゲームカード4が認識可能となる。状態決定部44は、設定した座標系における実オブジェクトの状態を決定し、具体的には、ゲームカード4の位置を決定する位置決定部52、方向を決定する方向決定部54および撮像装置2からの焦点距離を決定する距離決定部56を有する。
【0029】
フレーム画像取得部40が、撮像装置2にて撮像された実空間のフレーム画像を取得する。ここでは、図1に示すように、撮像領域5に複数枚のゲームカード4が配置されている状態を想定する。撮像装置2は、周期的にフレーム画像を取得し、好適には1/60秒間隔でフレーム画像を生成する。
【0030】
実オブジェクト抽出部42は、フレーム画像から複数の実オブジェクト画像、すなわちゲームカード4の画像を抽出する。この処理は、画像情報を2進数のビット表現に変換し、このビット表現からゲームカード4の画像を抽出することで行われる。いわゆるドット処理であり、ビットのオンとオフを検出することで、画像抽出処理が行われてもよい。また、この処理は、既知の画像マッチング技術によって行ってもよい。その場合、実オブジェクト抽出部42は、マッチング処理のために、使用する実オブジェクトの画像情報をメモリ(図示せず)に予め登録しておく。予め登録した画像情報と撮像した画像情報とのマッチングをとることで、複数のゲームカード4の画像をフレーム画像から切り出すことができる。
【0031】
状態決定部44は、ゲームカード4を置いて動かすための台3のジオメトリ情報を予め検出しておき、さらに台3の表面を基準面として、その基準面上にゲームカード4を載せた姿勢のジオメトリ情報をゲームカード4の姿勢の初期状態として記録しておく。このジオメトリ情報は、撮像装置2を基準として生成されてもよい。状態決定部44は、台3に関して取得したジオメトリ情報から、台3の位置、姿勢などを撮像空間における座標データとして把握しておく。位置決定部52は、実オブジェクト画像の位置を決定する。具体的には、フレーム画像における実オブジェクト画像の中心点の座標を定める。なお、位置決定部52は、ゲームカード4の位置に加えて、ゲームカード4の基準面に対するゲームカード4の傾きおよび高さを、初期状態として記録したゲームカード4の姿勢からの相対的な状態量の差分、すなわち撮像空間における座標値の差分として求めてもよい。方向決定部54は、実オブジェクト画像の方向を定める。方向決定部54は、実オブジェクト画像の中から図2に示す方向指示部11を検出して、実オブジェクトの向きを定めてもよい。距離決定部56は、ゲームカード4の画像における識別部12の4角間の長さをもとに、撮像装置2とゲームカード4との距離を決定する。識別情報取得部46は、実オブジェクト画像から特徴部分を抽出して、識別情報格納部48から対応する識別情報を取得する。
【0032】
状態決定部44において決定された位置情報、方向情報、距離情報、および識別情報取得部46において取得された識別情報は、それぞれ関連付けされて送出部50からゲーム装置30に送られる。なお、この関連付けは、それぞれのゲームカード4ごとに行われる。また、本実施例では、撮像装置2により撮像されたフレーム画像をディスプレイ7に表示させるため、フレーム画像自体も送出部50からゲーム装置30に送られる。
【0033】
(実施例1)
図4は、ゲーム装置30の構成を示す。ゲーム装置30は、解析情報取得部100、ゲーム進行処理部102、キャラクタ決定部104、キャラクタ格納部106、重畳判定部108、優先順位格納部110および表示制御部120を備える。
【0034】
実施例1におけるゲーム装置30の処理機能は、CPU、メモリ、メモリにロードされたプログラムなどによって実現され、ここではそれらの連携によって実現される構成を描いている。プログラムは、ゲーム装置30に内蔵されていてもよく、また記録媒体に格納された形態で外部から供給されるものであってもよい。したがってこれらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者に理解されるところである。図示の例では、ゲーム装置30のCPUが、解析情報取得部100、ゲーム進行処理部102、キャラクタ決定部104、重畳判定部108、表示制御部120としての機能をもつ。
【0035】
解析情報取得部100は、画像解析装置20から、解析結果を受け取る。この解析結果は、実オブジェクトであるゲームカード4の位置情報、方向情報、距離情報、識別情報を含む。解析情報取得部100は、受け取った解析結果をゲーム進行処理部102に渡す。なお、解析情報取得部100は、撮像装置2からフレーム画像のデータを直接取得してもよい。この場合は、ゲーム装置30が、画像解析装置20における機能を有して、画像解析装置20に関して説明した処理と同様の処理を実行すればよい。
【0036】
ゲーム進行処理部102は、ゲームアプリケーション全体の処理を制御する。本実施例におけるゲームアプリケーションは、ゲーム進行が複数のステージから構成され、各ステージにおいて異なるゲームシーンが設定されている。プレイヤは、各ステージの終了条件をそれぞれ段階的にクリアしていき、最終ステージをクリアしたところで、ゲーム終了となる。ゲーム進行処理部102は、ゲームの進行状況を管理し、ゲームの開始直後やゲームステージの切替の時点において、キャラクタ決定部104に、次に開始されるゲームステージ名と、解析情報取得部100から送られてきた識別情報を伝える。キャラクタ格納部106は、ゲームステージごとに、ゲームカード4の識別情報とキャラクタの3次元画像データとを対応付けて記憶する。
【0037】
キャラクタ決定部104は、ゲームステージ名と複数の識別情報をもとに、複数の識別情報に対応付けられた複数のキャラクタの3次元画像データをキャラクタ格納部106から読み出し、ゲーム進行処理部102に供給する。なお、読み出した3次元画像データは、表示制御部120に直接供給されてもよい。ゲーム進行処理部102は表示制御部120に、3次元画像データと、ゲームカード4の位置情報、方向情報、距離情報を供給する。表示制御部120は、3次元画像データを用いて、キャラクタをゲームカード画像の表示位置に関連付けてディスプレイ7に表示させる。このとき、キャラクタは、ゲームカード画像の表示範囲内に表示される。なお、表示範囲内に表示するとは、キャラクタの最下部がゲームカード画像上に位置していることを意味する。
【0038】
具体的に、表示制御部120は、画像解析装置20から送られるフレーム画像を受け取り、ディスプレイ7に表示させる。また、表示制御部120は、ゲームカード画像の位置情報、方向情報、距離情報をもとにゲームカード画像の位置、向き、距離を認識し、3次元画像データを用いてディスプレイ7に表示するキャラクタの位置、向き、および大きさを決定する。表示制御部120は、通常の表示態様では、ゲームカード画像の中心点近傍に位置するように、キャラクタの表示位置を定める。
【0039】
プレイヤがゲームカード4を動かすと、フレーム画像の解析結果が画像解析装置20から解析情報取得部100に逐次送られる。表示制御部120は、ゲーム進行処理部102からキャラクタの3次元画像データと、ゲームカード4の位置情報、方向情報、距離情報を受け取り、ディスプレイ7におけるゲームカード画像の表示位置にキャラクタの画像が重なるように、キャラクタをゲームカード画像の動きに追従させる。これにより、ディスプレイ7では、キャラクタがゲームカード画像に常に乗っている表示態様となり、キャラクタとゲームカード4との一体感をプレイヤに認識させることができる。
【0040】
図5は、キャラクタ同士が重なって表示される例を示す。ここでは、画面手前側に存在するゲームカード4aのキャラクタ200aと、画面奥側に存在するゲームカード4bのキャラクタ200bとが重畳して示される。キャラクタ200aは「高い建物」であり、「人」であるキャラクタ200bは、キャラクタ200aの背後に存在するため、ほとんど見えない状態となっている。ゲームアプリケーションにおいて、主人公となるキャラクタは、建物などのキャラクタと比して小さく表示されることが多いため、実オブジェクト画像に関連付けてキャラクタを通常の表示位置でそのまま表示した場合には、図5に示すように、キャラクタが隠れてしまい、殆ど又は完全に不可視の状態になることもある。
【0041】
そこで実施例1では、画像の表示前に、キャラクタ同士の重なりを予め判定し、手前の仮想オブジェクトの背後にいるキャラクタが見えなくなるような場合には、画面の手前側または奥側のキャラクタの表示態様を調整する。これにより、背後のキャラクタの不可視部分を少なくして、円滑なゲーム進行を実現させる。そのため実施例1では、重畳判定部108が、ディスプレイ7に表示するキャラクタ同士が重畳するか否かを判定する。
【0042】
ゲーム進行処理部102は、キャラクタ決定部104により決定された複数のキャラクタの3次元画像データを受け取ると、3次元画像データ、位置情報、方向情報および距離情報をキャラクタごとに対応付けて、重畳判定部108に送る。重畳判定部108は、これらの情報をもとに複数のゲームカードを空間に配置して、それぞれの中心点に対応するキャラクタを配置する。重畳判定部108は、所定のカメラ視点から見た画像において、キャラクタ同士が重畳するか否かを判定する。例えば、カメラ視点から各キャラクタに線分を引いた場合に、線分が途中で他のキャラクタを通過するときには、そのキャラクタの手前に他のキャラクタが存在することが認識され、ディスプレイ7中で不可視部分が生じることが分かる。重畳判定部108は、重畳するキャラクタ名をゲーム進行処理部102に通知し、ゲーム進行処理部102は、キャラクタ同士が重なっていることを示す情報と、そのキャラクタ名を表示制御部120に伝える。表示制御部120は、重畳判定部108によりキャラクタ同士が重畳することが判定された場合に、キャラクタの表示態様を調整することにより、キャラクタ同士が重畳することにより生じるキャラクタの不可視部分を少なくする。
【0043】
表示制御部120は、ゲームカード画像の表示範囲内でキャラクタの表示位置を調整する。通常の表示状態では、キャラクタがゲームカード4の中心点を基準位置としてバランスを考慮して表示されているが、ゲームカード4内の所望の位置にキャラクタの表示位置を動かすことで、画面奥側に位置するキャラクタの不可視部分を少なくすることができる。なお、キャラクタの最下部は、必ずゲームカード画像上に配置されるようにする。このように、ゲームカード画像の表示範囲内にキャラクタの表示位置を限定することで、ゲームカード4とキャラクタとの関係を維持することができる。
【0044】
図6(a)は、キャラクタ200bをゲームカード4bの左側に動かした例を示す。表示制御部120は、重畳するキャラクタのうち、画面奥側に存在するキャラクタ200bの表示位置を調整して、キャラクタ200bの不可視部分を少なくする。図示のように、表示制御部120がキャラクタ200bの位置を調整することで、キャラクタ200bの可視部分は多くなり、プレイヤは、キャラクタ200bを視認して、ゲームを円滑に進行させることができる。
【0045】
図6(b)は、キャラクタ200bをゲームカード4bの左側に動かすとともに、キャラクタ200aをゲームカード4aの右側に動かした例を示す。表示制御部120は、重畳するキャラクタのうち、画面手前側に存在するキャラクタ200aの表示位置を調整して、画面奥側に存在するキャラクタ200bの不可視部分を少なくしてもよい。図6(a)と比較すると、キャラクタ200aを右側に動かすことで、キャラクタ200bの可視部分はさらに多くなり、プレイヤは、キャラクタ200bの全表示を視認して、ゲームを一層円滑に進行させることができる。
【0046】
図7は、画面手前側に存在するキャラクタ200aを半透明にした状態を示す。表示制御部120は、画面手前側に存在するキャラクタ200aの少なくとも一部分を、非表示または半透明の表示態様とすることで、画面奥側に存在するキャラクタ200bの不可視部分を少なくしてもよい。これにより、キャラクタの位置を変更することなく、キャラクタ200aの全体を視認可能な状態にすることができる。
【0047】
図8は、キャラクタ同士が重なって表示される別の例を示す。この例では、キャラクタ200bがキャラクタ200aに重なっている。これにより、建物の一部分が見えなくなっているが、表示制御部120は、キャラクタ200aの不可視部分につき、上記した表示制御は実行しない。
【0048】
複数のキャラクタには、表示の優先順位が予め設定されていることが好ましい。優先順位格納部110は、キャラクタを表示する優先順位を記憶する。「人」と「高い建物」のキャラクタに対しては、「人」の方が表示の優先順位を高く設定される。この優先順位を参照して、表示制御部120は、優先順位の高いキャラクタが優先順位の低いキャラクタの背後に位置した場合に、優先順位の高いキャラクタの不可視部分を少なくするようにキャラクタの表示態様を調整する。一方で、表示制御部120は、優先順位の低いキャラクタが優先順位の高いキャラクタの背後に位置した場合には、表示態様の調整を行わない。このような優先順位を設定することで、ゲーム進行上、重要なキャラクタについては、ゲームカード画像の位置にかかわらず、プレイヤが視認できるように表示制御することが可能となる。
【0049】
(実施例2)
図9は、ゲーム装置30の別の構成を示す。ゲーム装置30は、解析情報取得部100、ゲーム進行処理部102、キャラクタ割当部201、キャラクタ格納部202、優先順位格納部204、および表示制御部120を備える。
【0050】
実施例2におけるゲーム装置30の処理機能は、CPU、メモリ、メモリにロードされたプログラムなどによって実現され、ここではそれらの連携によって実現される構成を描いている。プログラムは、ゲーム装置30に内蔵されていてもよく、また記録媒体に格納された形態で外部から供給されるものであってもよい。したがってこれらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者に理解されるところである。図示の例では、ゲーム装置30のCPUが、解析情報取得部100、ゲーム進行処理部102、キャラクタ割当部201、表示制御部120としての機能をもつ。解析情報取得部100およびゲーム進行処理部102は、実施例1に関連して説明したものと同様の処理を実行する。
【0051】
ゲーム進行処理部102は、ゲームの進行状況を管理し、ゲームの開始直後やゲームステージの切替の時点において、キャラクタ割当部201に、次に開始されるゲームステージ名と、解析情報取得部100から送られてきた位置情報、方向情報、距離情報、識別情報を伝える。キャラクタ格納部202は、ゲームステージごとに、キャラクタの3次元画像データを記憶する。優先順位格納部204は、ゲームステージごとに、キャラクタを表示する優先順位を記憶する。優先順位は、ゲーム進行において重要なキャラクタほど高く設定される。
【0052】
キャラクタ割当部201は、優先順位格納部204に記憶された優先順位を読み出し、読み出した優先順位に基づいて、ゲームカード画像とキャラクタとを対応付ける。具体的に、キャラクタ割当部201は、優先順位の高いキャラクタが、優先順位の低いキャラクタと重なって不可視部分をもたないように、複数のキャラクタを複数のゲームカード画像に対応付ける。この対応付け処理を行うために、キャラクタ割当部201は、複数のゲームカード画像の表示位置に基づいて、ゲームカード画像とキャラクタとを対応付ける。
【0053】
図10は、2枚のゲームカードが配置された状態を示す。ゲームカード4aは、ゲームカード4bの手前に表示される。そのため、ゲームカード4bに配置されるキャラクタは、ゲームカード4aに配置される別のキャラクタにより不可視部分を形成されるおそれがある。
【0054】
そこで、キャラクタ割当部201は、優先順位の高いキャラクタをゲームカード4aに対応付け、優先順位の低いキャラクタをゲームカード4bに対応付ける。これにより、優先順位の高いキャラクタは、優先順位の低いキャラクタにより隠されない。なお、優先順位の高低は、相対的に定められる。
【0055】
キャラクタ割当部201は、優先順位の高い順に、キャラクタを画面手前側から配置される実オブジェクト画像から順に対応付けてもよい。すなわち、複数のキャラクタを、優先順位の高い順に画面手前から奥に向かって配置する。キャラクタは、相対的に奥側の位置するキャラクタによって不可視部分を形成されることはない。このような対応付けを行うことで、キャラクタの配置時には、優先順位の高いキャラクタが、優先順位の低いキャラクタにより隠されない状況を作り出すことができる。
【0056】
図11は、図10の2枚のゲームカードに対して、ゲームカード4aにキャラクタ「人」を、ゲームカード4bに「高い建物」をそれぞれ対応付けた状態を示す。優先順位格納部204において、「人」と「高い建物」の優先順位は、「人」の方が高く設定されている。「人」を手前のゲームカード4aに関連付けて表示することで、ゲーム中で重要な役割を担う「人」を、「高い建物」に隠されることなく、ディスプレイ7に表示することができる。
【0057】
キャラクタ割当部201は、キャラクタとゲームカード画像とを対応付けた後は、その対応関係を維持することが好ましい。キャラクタの割当を頻繁に実行すると、操作中のキャラクタが入れ替わることになるため、一度決定した対応付けは、原則としてそのゲームステージ中は維持する。なお、優先度の高いキャラクタが所定時間不可視の状態におかれるような特段の事情があるときは、キャラクタとゲームカード画像との対応付け処理を再実行するようにしてもよい。この対応付け処理を例外的に実行させることで、プレイヤが、重要なキャラクタをどうしても見つけることができない事態を解決することができる。
【0058】
なお、優先順位に基づいてキャラクタをゲームカード画像に割り当てることで、以下のメリットもある。例えば、ゲームステージにおいて、5つのキャラクタが用意されている場合に、本来であれば5枚のゲームカード4が撮像領域5に存在している必要があるが、1枚を紛失して4枚しかない状況も起こりうる。キャラクタとゲームカードとの対応が予め定められている場合、紛失したゲームカード4が重要なキャラクタに割り当てられていない場合は問題ないが、重要なキャラクタに割り当てられている場合には、ゲームの進行そのものが停止することになる。
【0059】
優先順位に基づいてキャラクタをゲームカード画像に動的に割り当てると、1番から4番までの優先順位のキャラクタがゲームカード画像に割り当てられ、優先順位の最も低いキャラクタがゲームカード画像に割り当てられないことになる。そのため、優先順位の最も低いキャラクタによる演出はなくなるものの、ゲームのメインストーリの進行を継続できることになるため、ゲームアプリケーションとして大きなメリットがある。特に、ゲームカード4は紛失しやすいことが想定されるため、キャラクタをゲームカード画像に動的に割り当てることは、紛失時の対応として非常に有効である。
【0060】
なお、キャラクタ割当部201は、フレーム画像に含まれるゲームカード画像の数が少なくなったとき、優先順位に基づいて、ゲームカード画像の識別情報とキャラクタとの対応付け処理を再実行してもよい。ゲーム中にゲームカード4が紛失したり、また識別部12の読み取りができなくなったような場合に、再度キャラクタとゲームカード画像とを対応付けることで、ゲーム進行を円滑に進めることが可能となる。
【0061】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0062】
例えば、キャラクタ割当部201は、優先順位の高いキャラクタを、画面中心に位置するゲームカード4に対応付けてもよい。ゲームの進行上、画面中心にメインキャラクタを位置させることが都合のよい場合に、キャラクタ割当部201が、画面中心を基準としたキャラクタの割当てを行うことが好ましい。このとき、実施例2におけるゲーム装置30は、実施例1における重畳判定部108を備えてもよい。重畳判定部108が、予めキャラクタ同士が重なり合わないことを判定した上で、キャラクタ割当部201が、優先順位の高いキャラクタを画面中心に位置するゲームカード4に対応付けてもよい。また、キャラクタ割当部201は、視点からの距離に応じてキャラクタをゲームカード4に割り当ててもよい。また、例えば2枚のゲームカード4が近接する場合に、ゲーム進行に重大な影響を及ぼす2つのキャラクタを、その2枚のゲームカード4に割り当て、ステージの開始とともに、それらのキャラクタ間で所定の共同動作を発生させるようにしてもよい。
【図面の簡単な説明】
【0063】
【図1】実施例にかかるゲームシステムの構成を示す図である。
【図2】ゲームカードの表面の一例を示す図である。
【図3】画像解析装置の構成を示す図である。
【図4】ゲーム装置の構成を示す図である。
【図5】キャラクタ同士が重なって表示される例を示す図である。
【図6】キャラクタをゲームカード上で動かした例を示す図である。
【図7】画面手前側に存在するキャラクタを半透明にした状態を示す図である。
【図8】キャラクタ同士が重なって表示される別の例を示す図である。
【図9】ゲーム装置の別の構成を示す図である。
【図10】2枚のゲームカードが配置された状態を示す図である。
【図11】キャラクタをゲームカードに対応付けた状態を示す図である。
【符号の説明】
【0064】
1・・・ゲームシステム、2・・・撮像装置、4・・・ゲームカード、5・・・撮像領域、7・・・ディスプレイ、10・・・画像処理装置、20・・・画像解析装置、30・・・ゲーム装置、40・・・フレーム画像取得部、42・・・実オブジェクト抽出部、44・・・状態決定部、46・・・識別情報取得部、48・・・識別情報格納部、50・・・送出部、52・・・位置決定部、54・・・方向決定部、56・・・距離決定部、100・・・解析情報取得部、102・・・ゲーム進行処理部、104・・・キャラクタ決定部、106・・・キャラクタ格納部、108・・・重畳判定部、110・・・優先順位格納部、120・・・表示制御部、201・・・キャラクタ割当部、202・・・キャラクタ格納部、204・・・優先順位格納部。
【技術分野】
【0001】
本発明は、画像処理技術に関し、特に実オブジェクトと仮想オブジェクトとを関連付けて表示させる技術に関する。
【背景技術】
【0002】
近年、2次元コードをカメラで撮像して認識し、2次元コードのパターンに基づいた所定の処理を実行する技術が普及している。そのような技術の1つとして、2次元バーコードをビデオカメラで撮像して、2次元バーコードに対応する3次元画像を表示装置に表示させる画像処理技術が提案されている(例えば、特許文献1参照)。特許文献1では、撮像した2次元バーコードの座標およびCCDビデオカメラの焦点距離をもとに、3次元オブジェクトを表示する空間上の座標を決定し、2次元バーコードに3次元オブジェクトを重畳させて表示する。
【特許文献1】特開2000−322602号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
特許文献1に開示された技術は、実世界のオブジェクトと仮想のオブジェクトとを組み合わせて表示させることで、優れた視覚効果を実現可能とする。しかしながら、特許文献1は、1つの2次元バーコードに対応付けて仮想オブジェクトを表示する技術を開示するのみであり、複数の2次元バーコードが存在するときの仮想オブジェクトの表示処理について意識するものではない。本発明者は、複数の2次元バーコードなどの実オブジェクトが実空間に存在するときの表示処理に注目し、このときの仮想オブジェクトの表示処理に工夫を凝らすことで、例えば、ゲーム分野などの分野に応用して、さらに優れた視覚効果を実現する可能性が秘められていることを見出した。
【0004】
本発明は、実オブジェクトと仮想オブジェクトとを関連付けて表示させる技術を提供することを目的とし、特に、ゲームなどの分野において、複数の仮想オブジェクトが存在するときに仮想オブジェクトの表示態様を制御する技術を提供することを目的とする。
【課題を解決するための手段】
【0005】
上記課題を解決するために、本発明のある態様は、画像処理装置に関する。この態様の画像処理装置は、実オブジェクトを識別するための識別情報と、仮想オブジェクトの3次元画像データとを対応付けて記憶する格納部と、撮像装置により撮像されたフレーム画像に含まれる複数の実オブジェクト画像の識別情報に対応付けられた複数の仮想オブジェクトの3次元画像データを格納部から読み出す読出部と、読み出された3次元画像データを用いて、仮想オブジェクトを、実オブジェクト画像の表示位置に関連付けて表示装置に表示させる表示制御部と、表示装置に表示する仮想オブジェクト同士が重畳するか否かを判定する重畳判定部とを備える。表示制御部は、重畳判定部により仮想オブジェクト同士が重畳することが判定された場合に、仮想オブジェクトの表示態様を調整することにより、仮想オブジェクト同士が重畳することにより生じる仮想オブジェクトの不可視部分を少なくする。ここで、実オブジェクトは、現実空間において有体物として存在する実在オブジェクトであり、また、仮想オブジェクトは、現実空間には存在せず、仮想空間においてデータで表現されるものを意味する。
【0006】
この画像処理装置によると、画面奥側に存在して不可視部分をもつ仮想オブジェクトまたは画面手前側に存在して不可視部分を形成する仮想オブジェクトの表示態様を調整することで、画面奥側に存在する仮想オブジェクトの不可視部分を少なくすることができる。
【0007】
本発明の別の態様は、画像処理装置に関する。この態様の画像処理装置は、撮像装置により撮像されたフレーム画像に含まれる複数の実オブジェクト画像の識別情報を取得する識別情報取得部と、仮想オブジェクトの3次元画像データを記憶する第1格納部と、仮想オブジェクトを表示する優先順位を記憶する第2格納部と、第2格納部に記憶された優先順位に基づいて、実オブジェクト画像と仮想オブジェクトとを対応付ける仮想オブジェクト割当部と、3次元画像データを用いて、複数の仮想オブジェクトを、仮想オブジェクト割当部により対応付けられた実オブジェクト画像の表示位置に関連付けて表示装置に表示させる表示制御部とを備える。
【0008】
この画像処理装置によると、実オブジェクト画像と仮想オブジェクトとを、表示の優先順位に基づいて対応付けるため、例えば、優先順位の高い仮想オブジェクトが、優先順位の低い仮想オブジェクトに隠れて見えなくなる事態を回避することができる。
【0009】
本発明のさらに別の態様は、ゲーム装置に関する。この態様のゲーム装置は、実オブジェクトを識別するための識別情報と、ゲームキャラクタの3次元画像データとを対応付けて記憶する格納部と、撮像装置により撮像されたフレーム画像に含まれる複数の実オブジェクト画像の識別情報に対応付けられた複数のゲームキャラクタの3次元画像データを格納部から読み出す読出部と、読み出された3次元画像データを用いて、ゲームキャラクタを、実オブジェクト画像の表示位置に関連付けて表示装置に表示させる表示制御部と、表示装置に表示するゲームキャラクタ同士が重畳するか否かを判定する重畳判定部とを備える。表示制御部は、重畳判定部によりゲームキャラクタ同士が重畳することが判定された場合に、ゲームキャラクタの表示態様を調整することにより、ゲームキャラクタ同士が重畳することにより生じるゲームキャラクタの不可視部分を少なくする。
【0010】
このゲーム装置によると、画面奥側に存在して不可視部分をもつゲームキャラクタまたは画面手前側に存在して不可視部分を形成するゲームキャラクタの表示態様を調整することで、画面奥側に存在するゲームキャラクタの不可視部分を少なくすることができる。
【0011】
本発明のさらに別の態様は、ゲーム装置に関する。この態様のゲーム装置は、撮像装置により撮像されたフレーム画像に含まれる複数の実オブジェクト画像の識別情報を取得する識別情報取得部と、ゲームキャラクタの3次元画像データを記憶する第1格納部と、ゲームキャラクタを表示する優先順位を記憶する第2格納部と、第2格納部に記憶された優先順位に基づいて、実オブジェクト画像とゲームキャラクタとを対応付けるゲームキャラクタ割当部と、3次元画像データを用いて、複数のゲームキャラクタを、ゲームキャラクタ割当部により対応付けられた実オブジェクト画像の表示位置に関連付けて表示装置に表示させる表示制御部とを備える。
【0012】
このゲーム装置によると、実オブジェクト画像とゲームキャラクタとを、表示の優先順位に基づいて対応付けるため、例えば、優先順位の高いゲームキャラクタが、優先順位の低いゲームキャラクタに隠れて見えなくなる事態を回避することができる。
【0013】
本発明のさらに別の態様は、実オブジェクトを識別するための識別情報と、仮想オブジェクトの3次元画像データとを対応付けて記憶する格納部から、撮像装置により撮像されたフレーム画像に含まれる複数の実オブジェクト画像の識別情報に対応付けられた複数の仮想オブジェクトの3次元画像データを読み出すステップと、表示装置に表示する仮想オブジェクト同士が重畳するか否かを判定するステップと、仮想オブジェクト同士が重畳することを判定した場合に、仮想オブジェクトの表示態様を調整することにより、仮想オブジェクト同士が重畳することにより生じる仮想オブジェクトの不可視部分を少なくするステップとを備える画像処理方法を提供する。
【0014】
本発明のさらに別の態様は、撮像装置により撮像されたフレーム画像に含まれる複数の実オブジェクト画像の識別情報を取得するステップと、仮想オブジェクトを表示する優先順位を記憶する格納部から優先順位を読み出すステップと、読み出した優先順位に基づいて実オブジェクト画像と仮想オブジェクトとを対応付けるステップと、複数の仮想オブジェクトの3次元画像データを用いて、複数の仮想オブジェクトを、それぞれ対応付けられた実オブジェクト画像の表示位置に関連付けて表示装置に表示させるステップとを備える画像処理方法を提供する。
【0015】
本発明のさらに別の態様は、コンピュータに、実オブジェクトを識別するための識別情報と、仮想オブジェクトの3次元画像データとを対応付けて記憶する格納部から、撮像装置により撮像されたフレーム画像に含まれる複数の実オブジェクト画像の識別情報に対応付けられた複数の仮想オブジェクトの3次元画像データを読み出させる機能と、表示装置に表示する仮想オブジェクト同士が重畳するか否かを判定させる機能と、仮想オブジェクト同士が重畳することを判定した場合に、仮想オブジェクトの表示態様を調整することにより、仮想オブジェクト同士が重畳することにより生じる仮想オブジェクトの不可視部分を少なくさせる機能とを実現させるためのプログラムを提供する。
【0016】
本発明のさらに別の態様は、コンピュータに、撮像装置により撮像されたフレーム画像に含まれる複数の実オブジェクト画像の識別情報を取得させる機能と、仮想オブジェクトを表示する優先順位を記憶する格納部から優先順位を読み出させる機能と、読み出させた優先順位に基づいて実オブジェクト画像と仮想オブジェクトとを対応付けさせる機能と、複数の仮想オブジェクトの3次元画像データを用いて、複数の仮想オブジェクトを、それぞれ対応付けられた実オブジェクト画像の表示位置に関連付けて表示装置に表示させる機能と、を実現させるためのプログラムを提供する。
【0017】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0018】
本発明によると、複数の仮想オブジェクトが存在するときに、仮想オブジェクトの表示態様を制御する技術を提供することができる。
【発明を実施するための最良の形態】
【0019】
本発明は、撮像装置により撮像された複数の実オブジェクト画像に関連付けて、複数の仮想オブジェクトを表示させる技術を提供する。実オブジェクトは、実在する1次元オブジェクト、2次元オブジェクトまたは3次元オブジェクトのいずれであってもよく、実オブジェクト自身を識別させるための特徴部分を有して構成されることが好ましい。例えば、実オブジェクトは、2次元で表現されたコード情報を特徴部分として有するカードなどの2次元オブジェクトであってもよく、またユニークな立体形状を特徴部分として有する3次元オブジェクトであってもよい。なお、2次元オブジェクトの2次元形状がユニークな特徴部分を構成してもよく、また3次元オブジェクトに特徴部分となるコード情報が貼り付けられていてもよい。仮想オブジェクトは、仮想空間において3次元的に表現される人、動物、物などの所謂キャラクタであってもよい。以下に示す実施例は、ゲームアプリケーションにおける画像処理技術に関し、ゲームアプリケーションに登場するゲームキャラクタを、仮想オブジェクトして採用している。
【0020】
図1は、本発明の実施例にかかるゲームシステム1の構成を示す。ゲームシステム1は、撮像装置2、画像処理装置10および出力装置6を備える。画像処理装置10は、画像解析装置20およびゲーム装置30を備える。画像解析装置20およびゲーム装置30は別装置として構成されてもよいが、一体として構成されてもよい。撮像装置2は、CCD撮像素子またはMOS撮像素子などから構成されるビデオカメラである。撮像装置2は実空間を所定の周期で撮像して、周期ごとのフレーム画像を生成する。撮像領域5は撮像装置2により撮像される範囲であり、撮像装置2の高さや向きを調整することで、撮像領域5の位置や大きさが調整される。ゲームプレイヤは、撮像領域5において、実オブジェクトであるゲームカード4を指で動かす。ゲームカード4は、自身を一意に識別するための特徴部分を有して構成される。
【0021】
出力装置6は、表示装置であるディスプレイ7を有する。出力装置6は、さらにスピーカ(図示せず)を有して構成されてもよい。画像処理装置10は、撮像装置2により撮像されたフレーム画像をディスプレイ7に表示させ、その際に、ゲームカード4上に仮想オブジェクトであるキャラクタを重畳するように表示制御する。図1の例では、撮像領域5に2枚のゲームカード4が存在し、ディスプレイ7には、それぞれのゲームカード4上にキャラクタが重畳表示されている。プレイヤは、ディスプレイ7を見ることで、ゲームカード4が撮像領域5に入っているか容易に確認でき、入っていない場合には、ゲームカード4の位置をずらしたり、また撮像装置2の向きを調整して、撮像装置2にゲームカード4を撮像させるようにする。
【0022】
実施例のゲームアプリケーションでは、プレイヤがゲームカード4に対して所定の操作を施すことにより、キャラクタを動作させる。このゲームアプリケーションの性質上、プレイヤにゲームカード4とキャラクタとの一体性を認識させることが好ましく、そのため、キャラクタの画像を、ゲームカード4に重ね合わせて表示させている。
【0023】
以上のキャラクタの動きは、画像処理装置10により制御される。まず、画像解析装置20は、撮像装置2において取得されたフレーム画像から、ゲームカード4の画像情報を抽出する。さらに、画像解析装置20は、ゲームカード4の画像情報から、ゲームカード4を識別するためのユニークな特徴部分を抽出する。このとき、画像解析装置20は、ゲームカード4の画像情報から、ゲームカード4の空間における位置情報、方向情報、距離情報などを決定する。
【0024】
図2は、ゲームカード4の表面の一例を示す。ゲームカード4の表面には、方向指示部11と識別部12とが印刷されている。方向指示部11は、ゲームカード4の前部を示すために設けられ、識別部12は、ゲームカード4を一意に識別するための特徴部分を表現するために設けられる。識別部12は、所定の区画内に複数のブロックを印刷して作成されたコード情報である。複数のブロックのうち、4角のブロックは複数のゲームカード4に共通して付与され、実質的には4角以外のブロックにより、特徴部分が形成される。4角のブロックは、撮像装置2からの距離を測定するために利用される。
【0025】
図1に戻って、画像解析装置20は、フレーム画像中のゲームカード4を認識すると、ゲームカード4の画像における4角のブロック間の長さをもとに、撮像装置2とゲームカード4との距離を計算して求める。また、画像解析装置20は、ゲームカード4の方向指示部11を検出して、フレーム画像においてゲームカード4が向いている方向を求める。この場合、方向指示部11が存在する方向が前方となり、キャラクタは、ゲームカード4上にて前方を向くように表示制御される。さらに、画像解析装置20は、識別部12の4角以外のブロックから、ゲームカード4の識別情報を取得する。
【0026】
画像解析装置20において画像解析された結果は、ゲーム装置30に送られる。なお、撮像装置2において撮像されたフレーム画像が、ゲーム装置30に送られて、ゲーム装置30側で画像解析を行ってもよい。この場合、画像処理装置10は、ゲーム装置30のみで構成されることになる。
【0027】
ゲーム装置30は、画像解析装置20における画像解析結果をもとに、ディスプレイ7の表示画面上で、キャラクタをゲームカード4の上に位置するように表示制御する。キャラクタは、ゲームカード4に対してゲームシーンごとに適宜割り当てられてもよい。この場合、ゲームシーンが切り替わると、表示されるキャラクタも切り替わることになる。
【0028】
図3は、画像解析装置20の構成を示す。画像解析装置20は、フレーム画像取得部40、実オブジェクト抽出部42、状態決定部44、識別情報取得部46、識別情報格納部48および送出部50を備える。識別情報格納部48は、実オブジェクトを識別するための特徴部分の情報と、実オブジェクトを識別するための識別情報とを対応付けて記憶する。具体的には、図2におけるゲームカード4の識別部12のパターン情報と、識別情報とを1対1に対応付けて記憶している。例えば、5枚のゲームカード4の同時使用を許可するゲームシステム1の場合、それぞれのゲームカード4に対して、1から5までの識別情報がそれぞれ割り当てられていてもよい。複数のゲームカード4のそれぞれを識別情報と紐付けすることで、個々のゲームカード4が認識可能となる。状態決定部44は、設定した座標系における実オブジェクトの状態を決定し、具体的には、ゲームカード4の位置を決定する位置決定部52、方向を決定する方向決定部54および撮像装置2からの焦点距離を決定する距離決定部56を有する。
【0029】
フレーム画像取得部40が、撮像装置2にて撮像された実空間のフレーム画像を取得する。ここでは、図1に示すように、撮像領域5に複数枚のゲームカード4が配置されている状態を想定する。撮像装置2は、周期的にフレーム画像を取得し、好適には1/60秒間隔でフレーム画像を生成する。
【0030】
実オブジェクト抽出部42は、フレーム画像から複数の実オブジェクト画像、すなわちゲームカード4の画像を抽出する。この処理は、画像情報を2進数のビット表現に変換し、このビット表現からゲームカード4の画像を抽出することで行われる。いわゆるドット処理であり、ビットのオンとオフを検出することで、画像抽出処理が行われてもよい。また、この処理は、既知の画像マッチング技術によって行ってもよい。その場合、実オブジェクト抽出部42は、マッチング処理のために、使用する実オブジェクトの画像情報をメモリ(図示せず)に予め登録しておく。予め登録した画像情報と撮像した画像情報とのマッチングをとることで、複数のゲームカード4の画像をフレーム画像から切り出すことができる。
【0031】
状態決定部44は、ゲームカード4を置いて動かすための台3のジオメトリ情報を予め検出しておき、さらに台3の表面を基準面として、その基準面上にゲームカード4を載せた姿勢のジオメトリ情報をゲームカード4の姿勢の初期状態として記録しておく。このジオメトリ情報は、撮像装置2を基準として生成されてもよい。状態決定部44は、台3に関して取得したジオメトリ情報から、台3の位置、姿勢などを撮像空間における座標データとして把握しておく。位置決定部52は、実オブジェクト画像の位置を決定する。具体的には、フレーム画像における実オブジェクト画像の中心点の座標を定める。なお、位置決定部52は、ゲームカード4の位置に加えて、ゲームカード4の基準面に対するゲームカード4の傾きおよび高さを、初期状態として記録したゲームカード4の姿勢からの相対的な状態量の差分、すなわち撮像空間における座標値の差分として求めてもよい。方向決定部54は、実オブジェクト画像の方向を定める。方向決定部54は、実オブジェクト画像の中から図2に示す方向指示部11を検出して、実オブジェクトの向きを定めてもよい。距離決定部56は、ゲームカード4の画像における識別部12の4角間の長さをもとに、撮像装置2とゲームカード4との距離を決定する。識別情報取得部46は、実オブジェクト画像から特徴部分を抽出して、識別情報格納部48から対応する識別情報を取得する。
【0032】
状態決定部44において決定された位置情報、方向情報、距離情報、および識別情報取得部46において取得された識別情報は、それぞれ関連付けされて送出部50からゲーム装置30に送られる。なお、この関連付けは、それぞれのゲームカード4ごとに行われる。また、本実施例では、撮像装置2により撮像されたフレーム画像をディスプレイ7に表示させるため、フレーム画像自体も送出部50からゲーム装置30に送られる。
【0033】
(実施例1)
図4は、ゲーム装置30の構成を示す。ゲーム装置30は、解析情報取得部100、ゲーム進行処理部102、キャラクタ決定部104、キャラクタ格納部106、重畳判定部108、優先順位格納部110および表示制御部120を備える。
【0034】
実施例1におけるゲーム装置30の処理機能は、CPU、メモリ、メモリにロードされたプログラムなどによって実現され、ここではそれらの連携によって実現される構成を描いている。プログラムは、ゲーム装置30に内蔵されていてもよく、また記録媒体に格納された形態で外部から供給されるものであってもよい。したがってこれらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者に理解されるところである。図示の例では、ゲーム装置30のCPUが、解析情報取得部100、ゲーム進行処理部102、キャラクタ決定部104、重畳判定部108、表示制御部120としての機能をもつ。
【0035】
解析情報取得部100は、画像解析装置20から、解析結果を受け取る。この解析結果は、実オブジェクトであるゲームカード4の位置情報、方向情報、距離情報、識別情報を含む。解析情報取得部100は、受け取った解析結果をゲーム進行処理部102に渡す。なお、解析情報取得部100は、撮像装置2からフレーム画像のデータを直接取得してもよい。この場合は、ゲーム装置30が、画像解析装置20における機能を有して、画像解析装置20に関して説明した処理と同様の処理を実行すればよい。
【0036】
ゲーム進行処理部102は、ゲームアプリケーション全体の処理を制御する。本実施例におけるゲームアプリケーションは、ゲーム進行が複数のステージから構成され、各ステージにおいて異なるゲームシーンが設定されている。プレイヤは、各ステージの終了条件をそれぞれ段階的にクリアしていき、最終ステージをクリアしたところで、ゲーム終了となる。ゲーム進行処理部102は、ゲームの進行状況を管理し、ゲームの開始直後やゲームステージの切替の時点において、キャラクタ決定部104に、次に開始されるゲームステージ名と、解析情報取得部100から送られてきた識別情報を伝える。キャラクタ格納部106は、ゲームステージごとに、ゲームカード4の識別情報とキャラクタの3次元画像データとを対応付けて記憶する。
【0037】
キャラクタ決定部104は、ゲームステージ名と複数の識別情報をもとに、複数の識別情報に対応付けられた複数のキャラクタの3次元画像データをキャラクタ格納部106から読み出し、ゲーム進行処理部102に供給する。なお、読み出した3次元画像データは、表示制御部120に直接供給されてもよい。ゲーム進行処理部102は表示制御部120に、3次元画像データと、ゲームカード4の位置情報、方向情報、距離情報を供給する。表示制御部120は、3次元画像データを用いて、キャラクタをゲームカード画像の表示位置に関連付けてディスプレイ7に表示させる。このとき、キャラクタは、ゲームカード画像の表示範囲内に表示される。なお、表示範囲内に表示するとは、キャラクタの最下部がゲームカード画像上に位置していることを意味する。
【0038】
具体的に、表示制御部120は、画像解析装置20から送られるフレーム画像を受け取り、ディスプレイ7に表示させる。また、表示制御部120は、ゲームカード画像の位置情報、方向情報、距離情報をもとにゲームカード画像の位置、向き、距離を認識し、3次元画像データを用いてディスプレイ7に表示するキャラクタの位置、向き、および大きさを決定する。表示制御部120は、通常の表示態様では、ゲームカード画像の中心点近傍に位置するように、キャラクタの表示位置を定める。
【0039】
プレイヤがゲームカード4を動かすと、フレーム画像の解析結果が画像解析装置20から解析情報取得部100に逐次送られる。表示制御部120は、ゲーム進行処理部102からキャラクタの3次元画像データと、ゲームカード4の位置情報、方向情報、距離情報を受け取り、ディスプレイ7におけるゲームカード画像の表示位置にキャラクタの画像が重なるように、キャラクタをゲームカード画像の動きに追従させる。これにより、ディスプレイ7では、キャラクタがゲームカード画像に常に乗っている表示態様となり、キャラクタとゲームカード4との一体感をプレイヤに認識させることができる。
【0040】
図5は、キャラクタ同士が重なって表示される例を示す。ここでは、画面手前側に存在するゲームカード4aのキャラクタ200aと、画面奥側に存在するゲームカード4bのキャラクタ200bとが重畳して示される。キャラクタ200aは「高い建物」であり、「人」であるキャラクタ200bは、キャラクタ200aの背後に存在するため、ほとんど見えない状態となっている。ゲームアプリケーションにおいて、主人公となるキャラクタは、建物などのキャラクタと比して小さく表示されることが多いため、実オブジェクト画像に関連付けてキャラクタを通常の表示位置でそのまま表示した場合には、図5に示すように、キャラクタが隠れてしまい、殆ど又は完全に不可視の状態になることもある。
【0041】
そこで実施例1では、画像の表示前に、キャラクタ同士の重なりを予め判定し、手前の仮想オブジェクトの背後にいるキャラクタが見えなくなるような場合には、画面の手前側または奥側のキャラクタの表示態様を調整する。これにより、背後のキャラクタの不可視部分を少なくして、円滑なゲーム進行を実現させる。そのため実施例1では、重畳判定部108が、ディスプレイ7に表示するキャラクタ同士が重畳するか否かを判定する。
【0042】
ゲーム進行処理部102は、キャラクタ決定部104により決定された複数のキャラクタの3次元画像データを受け取ると、3次元画像データ、位置情報、方向情報および距離情報をキャラクタごとに対応付けて、重畳判定部108に送る。重畳判定部108は、これらの情報をもとに複数のゲームカードを空間に配置して、それぞれの中心点に対応するキャラクタを配置する。重畳判定部108は、所定のカメラ視点から見た画像において、キャラクタ同士が重畳するか否かを判定する。例えば、カメラ視点から各キャラクタに線分を引いた場合に、線分が途中で他のキャラクタを通過するときには、そのキャラクタの手前に他のキャラクタが存在することが認識され、ディスプレイ7中で不可視部分が生じることが分かる。重畳判定部108は、重畳するキャラクタ名をゲーム進行処理部102に通知し、ゲーム進行処理部102は、キャラクタ同士が重なっていることを示す情報と、そのキャラクタ名を表示制御部120に伝える。表示制御部120は、重畳判定部108によりキャラクタ同士が重畳することが判定された場合に、キャラクタの表示態様を調整することにより、キャラクタ同士が重畳することにより生じるキャラクタの不可視部分を少なくする。
【0043】
表示制御部120は、ゲームカード画像の表示範囲内でキャラクタの表示位置を調整する。通常の表示状態では、キャラクタがゲームカード4の中心点を基準位置としてバランスを考慮して表示されているが、ゲームカード4内の所望の位置にキャラクタの表示位置を動かすことで、画面奥側に位置するキャラクタの不可視部分を少なくすることができる。なお、キャラクタの最下部は、必ずゲームカード画像上に配置されるようにする。このように、ゲームカード画像の表示範囲内にキャラクタの表示位置を限定することで、ゲームカード4とキャラクタとの関係を維持することができる。
【0044】
図6(a)は、キャラクタ200bをゲームカード4bの左側に動かした例を示す。表示制御部120は、重畳するキャラクタのうち、画面奥側に存在するキャラクタ200bの表示位置を調整して、キャラクタ200bの不可視部分を少なくする。図示のように、表示制御部120がキャラクタ200bの位置を調整することで、キャラクタ200bの可視部分は多くなり、プレイヤは、キャラクタ200bを視認して、ゲームを円滑に進行させることができる。
【0045】
図6(b)は、キャラクタ200bをゲームカード4bの左側に動かすとともに、キャラクタ200aをゲームカード4aの右側に動かした例を示す。表示制御部120は、重畳するキャラクタのうち、画面手前側に存在するキャラクタ200aの表示位置を調整して、画面奥側に存在するキャラクタ200bの不可視部分を少なくしてもよい。図6(a)と比較すると、キャラクタ200aを右側に動かすことで、キャラクタ200bの可視部分はさらに多くなり、プレイヤは、キャラクタ200bの全表示を視認して、ゲームを一層円滑に進行させることができる。
【0046】
図7は、画面手前側に存在するキャラクタ200aを半透明にした状態を示す。表示制御部120は、画面手前側に存在するキャラクタ200aの少なくとも一部分を、非表示または半透明の表示態様とすることで、画面奥側に存在するキャラクタ200bの不可視部分を少なくしてもよい。これにより、キャラクタの位置を変更することなく、キャラクタ200aの全体を視認可能な状態にすることができる。
【0047】
図8は、キャラクタ同士が重なって表示される別の例を示す。この例では、キャラクタ200bがキャラクタ200aに重なっている。これにより、建物の一部分が見えなくなっているが、表示制御部120は、キャラクタ200aの不可視部分につき、上記した表示制御は実行しない。
【0048】
複数のキャラクタには、表示の優先順位が予め設定されていることが好ましい。優先順位格納部110は、キャラクタを表示する優先順位を記憶する。「人」と「高い建物」のキャラクタに対しては、「人」の方が表示の優先順位を高く設定される。この優先順位を参照して、表示制御部120は、優先順位の高いキャラクタが優先順位の低いキャラクタの背後に位置した場合に、優先順位の高いキャラクタの不可視部分を少なくするようにキャラクタの表示態様を調整する。一方で、表示制御部120は、優先順位の低いキャラクタが優先順位の高いキャラクタの背後に位置した場合には、表示態様の調整を行わない。このような優先順位を設定することで、ゲーム進行上、重要なキャラクタについては、ゲームカード画像の位置にかかわらず、プレイヤが視認できるように表示制御することが可能となる。
【0049】
(実施例2)
図9は、ゲーム装置30の別の構成を示す。ゲーム装置30は、解析情報取得部100、ゲーム進行処理部102、キャラクタ割当部201、キャラクタ格納部202、優先順位格納部204、および表示制御部120を備える。
【0050】
実施例2におけるゲーム装置30の処理機能は、CPU、メモリ、メモリにロードされたプログラムなどによって実現され、ここではそれらの連携によって実現される構成を描いている。プログラムは、ゲーム装置30に内蔵されていてもよく、また記録媒体に格納された形態で外部から供給されるものであってもよい。したがってこれらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者に理解されるところである。図示の例では、ゲーム装置30のCPUが、解析情報取得部100、ゲーム進行処理部102、キャラクタ割当部201、表示制御部120としての機能をもつ。解析情報取得部100およびゲーム進行処理部102は、実施例1に関連して説明したものと同様の処理を実行する。
【0051】
ゲーム進行処理部102は、ゲームの進行状況を管理し、ゲームの開始直後やゲームステージの切替の時点において、キャラクタ割当部201に、次に開始されるゲームステージ名と、解析情報取得部100から送られてきた位置情報、方向情報、距離情報、識別情報を伝える。キャラクタ格納部202は、ゲームステージごとに、キャラクタの3次元画像データを記憶する。優先順位格納部204は、ゲームステージごとに、キャラクタを表示する優先順位を記憶する。優先順位は、ゲーム進行において重要なキャラクタほど高く設定される。
【0052】
キャラクタ割当部201は、優先順位格納部204に記憶された優先順位を読み出し、読み出した優先順位に基づいて、ゲームカード画像とキャラクタとを対応付ける。具体的に、キャラクタ割当部201は、優先順位の高いキャラクタが、優先順位の低いキャラクタと重なって不可視部分をもたないように、複数のキャラクタを複数のゲームカード画像に対応付ける。この対応付け処理を行うために、キャラクタ割当部201は、複数のゲームカード画像の表示位置に基づいて、ゲームカード画像とキャラクタとを対応付ける。
【0053】
図10は、2枚のゲームカードが配置された状態を示す。ゲームカード4aは、ゲームカード4bの手前に表示される。そのため、ゲームカード4bに配置されるキャラクタは、ゲームカード4aに配置される別のキャラクタにより不可視部分を形成されるおそれがある。
【0054】
そこで、キャラクタ割当部201は、優先順位の高いキャラクタをゲームカード4aに対応付け、優先順位の低いキャラクタをゲームカード4bに対応付ける。これにより、優先順位の高いキャラクタは、優先順位の低いキャラクタにより隠されない。なお、優先順位の高低は、相対的に定められる。
【0055】
キャラクタ割当部201は、優先順位の高い順に、キャラクタを画面手前側から配置される実オブジェクト画像から順に対応付けてもよい。すなわち、複数のキャラクタを、優先順位の高い順に画面手前から奥に向かって配置する。キャラクタは、相対的に奥側の位置するキャラクタによって不可視部分を形成されることはない。このような対応付けを行うことで、キャラクタの配置時には、優先順位の高いキャラクタが、優先順位の低いキャラクタにより隠されない状況を作り出すことができる。
【0056】
図11は、図10の2枚のゲームカードに対して、ゲームカード4aにキャラクタ「人」を、ゲームカード4bに「高い建物」をそれぞれ対応付けた状態を示す。優先順位格納部204において、「人」と「高い建物」の優先順位は、「人」の方が高く設定されている。「人」を手前のゲームカード4aに関連付けて表示することで、ゲーム中で重要な役割を担う「人」を、「高い建物」に隠されることなく、ディスプレイ7に表示することができる。
【0057】
キャラクタ割当部201は、キャラクタとゲームカード画像とを対応付けた後は、その対応関係を維持することが好ましい。キャラクタの割当を頻繁に実行すると、操作中のキャラクタが入れ替わることになるため、一度決定した対応付けは、原則としてそのゲームステージ中は維持する。なお、優先度の高いキャラクタが所定時間不可視の状態におかれるような特段の事情があるときは、キャラクタとゲームカード画像との対応付け処理を再実行するようにしてもよい。この対応付け処理を例外的に実行させることで、プレイヤが、重要なキャラクタをどうしても見つけることができない事態を解決することができる。
【0058】
なお、優先順位に基づいてキャラクタをゲームカード画像に割り当てることで、以下のメリットもある。例えば、ゲームステージにおいて、5つのキャラクタが用意されている場合に、本来であれば5枚のゲームカード4が撮像領域5に存在している必要があるが、1枚を紛失して4枚しかない状況も起こりうる。キャラクタとゲームカードとの対応が予め定められている場合、紛失したゲームカード4が重要なキャラクタに割り当てられていない場合は問題ないが、重要なキャラクタに割り当てられている場合には、ゲームの進行そのものが停止することになる。
【0059】
優先順位に基づいてキャラクタをゲームカード画像に動的に割り当てると、1番から4番までの優先順位のキャラクタがゲームカード画像に割り当てられ、優先順位の最も低いキャラクタがゲームカード画像に割り当てられないことになる。そのため、優先順位の最も低いキャラクタによる演出はなくなるものの、ゲームのメインストーリの進行を継続できることになるため、ゲームアプリケーションとして大きなメリットがある。特に、ゲームカード4は紛失しやすいことが想定されるため、キャラクタをゲームカード画像に動的に割り当てることは、紛失時の対応として非常に有効である。
【0060】
なお、キャラクタ割当部201は、フレーム画像に含まれるゲームカード画像の数が少なくなったとき、優先順位に基づいて、ゲームカード画像の識別情報とキャラクタとの対応付け処理を再実行してもよい。ゲーム中にゲームカード4が紛失したり、また識別部12の読み取りができなくなったような場合に、再度キャラクタとゲームカード画像とを対応付けることで、ゲーム進行を円滑に進めることが可能となる。
【0061】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0062】
例えば、キャラクタ割当部201は、優先順位の高いキャラクタを、画面中心に位置するゲームカード4に対応付けてもよい。ゲームの進行上、画面中心にメインキャラクタを位置させることが都合のよい場合に、キャラクタ割当部201が、画面中心を基準としたキャラクタの割当てを行うことが好ましい。このとき、実施例2におけるゲーム装置30は、実施例1における重畳判定部108を備えてもよい。重畳判定部108が、予めキャラクタ同士が重なり合わないことを判定した上で、キャラクタ割当部201が、優先順位の高いキャラクタを画面中心に位置するゲームカード4に対応付けてもよい。また、キャラクタ割当部201は、視点からの距離に応じてキャラクタをゲームカード4に割り当ててもよい。また、例えば2枚のゲームカード4が近接する場合に、ゲーム進行に重大な影響を及ぼす2つのキャラクタを、その2枚のゲームカード4に割り当て、ステージの開始とともに、それらのキャラクタ間で所定の共同動作を発生させるようにしてもよい。
【図面の簡単な説明】
【0063】
【図1】実施例にかかるゲームシステムの構成を示す図である。
【図2】ゲームカードの表面の一例を示す図である。
【図3】画像解析装置の構成を示す図である。
【図4】ゲーム装置の構成を示す図である。
【図5】キャラクタ同士が重なって表示される例を示す図である。
【図6】キャラクタをゲームカード上で動かした例を示す図である。
【図7】画面手前側に存在するキャラクタを半透明にした状態を示す図である。
【図8】キャラクタ同士が重なって表示される別の例を示す図である。
【図9】ゲーム装置の別の構成を示す図である。
【図10】2枚のゲームカードが配置された状態を示す図である。
【図11】キャラクタをゲームカードに対応付けた状態を示す図である。
【符号の説明】
【0064】
1・・・ゲームシステム、2・・・撮像装置、4・・・ゲームカード、5・・・撮像領域、7・・・ディスプレイ、10・・・画像処理装置、20・・・画像解析装置、30・・・ゲーム装置、40・・・フレーム画像取得部、42・・・実オブジェクト抽出部、44・・・状態決定部、46・・・識別情報取得部、48・・・識別情報格納部、50・・・送出部、52・・・位置決定部、54・・・方向決定部、56・・・距離決定部、100・・・解析情報取得部、102・・・ゲーム進行処理部、104・・・キャラクタ決定部、106・・・キャラクタ格納部、108・・・重畳判定部、110・・・優先順位格納部、120・・・表示制御部、201・・・キャラクタ割当部、202・・・キャラクタ格納部、204・・・優先順位格納部。
【特許請求の範囲】
【請求項1】
実オブジェクトを識別するための識別情報と、仮想オブジェクトの3次元画像データとを対応付けて記憶する格納部と、
撮像装置により撮像されたフレーム画像に含まれる複数の実オブジェクト画像の識別情報に対応付けられた複数の仮想オブジェクトの3次元画像データを格納部から読み出す読出部と、
読み出された3次元画像データを用いて、仮想オブジェクトを、実オブジェクト画像の表示位置に関連付けて表示装置に表示させる表示制御部と、
表示装置に表示する仮想オブジェクト同士が重畳するか否かを判定する重畳判定部とを備え、
表示制御部は、重畳判定部により仮想オブジェクト同士が重畳することが判定された場合に、仮想オブジェクトの表示態様を調整することにより、仮想オブジェクト同士が重畳することにより生じる仮想オブジェクトの不可視部分を少なくすることを特徴とする画像処理装置。
【請求項2】
表示制御部は、実オブジェクト画像の表示範囲内で仮想オブジェクトの表示位置を調整することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
表示制御部は、表示装置において重畳する仮想オブジェクトのうち、画面奥側に存在する仮想オブジェクトの表示位置を調整して、画面奥側に存在する仮想オブジェクトの不可視部分を少なくすることを特徴とする請求項1または2に記載の画像処理装置。
【請求項4】
表示制御部は、表示装置において重畳する仮想オブジェクトのうち、画面手前側に存在する仮想オブジェクトの表示位置を調整して、画面奥側に存在する仮想オブジェクトの不可視部分を少なくすることを特徴とする請求項1から3のいずれかに記載の画像処理装置。
【請求項5】
表示制御部は、画面手前側に存在する仮想オブジェクトの少なくとも一部分を、非表示または半透明の表示態様とすることで、画面奥側に存在する仮想オブジェクトの不可視部分を少なくすることを特徴とする請求項1または2に記載の画像処理装置。
【請求項6】
撮像装置により撮像されたフレーム画像に含まれる複数の実オブジェクト画像の識別情報を取得する識別情報取得部と、
仮想オブジェクトの3次元画像データを記憶する第1格納部と、
仮想オブジェクトを表示する優先順位を記憶する第2格納部と、
第2格納部に記憶された優先順位に基づいて、実オブジェクト画像と仮想オブジェクトとを対応付ける仮想オブジェクト割当部と、
3次元画像データを用いて、複数の仮想オブジェクトを、仮想オブジェクト割当部により対応付けられた実オブジェクト画像の表示位置に関連付けて表示装置に表示させる表示制御部と、
を備えることを特徴とする画像処理装置。
【請求項7】
仮想オブジェクト割当部は、複数の実オブジェクト画像の表示位置に基づいて、実オブジェクト画像と仮想オブジェクトとを対応付けることを特徴とする請求項6に記載の画像処理装置。
【請求項8】
仮想オブジェクト割当部は、優先順位の高い仮想オブジェクトが優先順位の低い仮想オブジェクトと重なって不可視部分をもたないように、複数の仮想オブジェクトを複数の実オブジェクト画像に対応付けることを特徴とする請求項6または7に記載の画像処理装置。
【請求項9】
仮想オブジェクト割当部は、優先順位の高い順に、仮想オブジェクトを画面手前側から配置される実オブジェクト画像に対応付けることを特徴とする請求項6から8のいずれかに記載の画像処理装置。
【請求項10】
仮想オブジェクト割当部は、仮想オブジェクトと実オブジェクトとを対応付けた後は、その対応関係を維持することを特徴とする請求項6から9のいずれかに記載の画像処理装置。
【請求項11】
仮想オブジェクト割当部は、フレーム画像に含まれる実オブジェクト画像の数が少なくなったとき、優先順位に基づいて、実オブジェクト画像と仮想オブジェクトとの対応付け処理を再実行することを特徴とする請求項6から9のいずれかに記載の画像処理装置。
【請求項12】
実オブジェクトを識別するための識別情報と、ゲームキャラクタの3次元画像データとを対応付けて記憶する格納部と、
撮像装置により撮像されたフレーム画像に含まれる複数の実オブジェクト画像の識別情報に対応付けられた複数のゲームキャラクタの3次元画像データを格納部から読み出す読出部と、
読み出された3次元画像データを用いて、ゲームキャラクタを、実オブジェクト画像の表示位置に関連付けて表示装置に表示させる表示制御部と、
表示装置に表示するゲームキャラクタ同士が重畳するか否かを判定する重畳判定部とを備え、
表示制御部は、重畳判定部によりゲームキャラクタ同士が重畳することが判定された場合に、ゲームキャラクタの表示態様を調整することにより、ゲームキャラクタ同士が重畳することにより生じるゲームキャラクタの不可視部分を少なくすることを特徴とするゲーム装置。
【請求項13】
撮像装置により撮像されたフレーム画像に含まれる複数の実オブジェクト画像の識別情報を取得する識別情報取得部と、
ゲームキャラクタの3次元画像データを記憶する第1格納部と、
ゲームキャラクタを表示する優先順位を記憶する第2格納部と、
第2格納部に記憶された優先順位に基づいて、実オブジェクト画像とゲームキャラクタとを対応付けるゲームキャラクタ割当部と、
3次元画像データを用いて、複数のゲームキャラクタを、ゲームキャラクタ割当部により対応付けられた実オブジェクト画像の表示位置に関連付けて表示装置に表示させる表示制御部と、
を備えることを特徴とするゲーム装置。
【請求項14】
実オブジェクトを識別するための識別情報と、仮想オブジェクトの3次元画像データとを対応付けて記憶する格納部から、撮像装置により撮像されたフレーム画像に含まれる複数の実オブジェクト画像の識別情報に対応付けられた複数の仮想オブジェクトの3次元画像データを読み出すステップと、
表示装置に表示する仮想オブジェクト同士が重畳するか否かを判定するステップと、
仮想オブジェクト同士が重畳することを判定した場合に、仮想オブジェクトの表示態様を調整することにより、仮想オブジェクト同士が重畳することにより生じる仮想オブジェクトの不可視部分を少なくするステップと、
を備えることを特徴とする画像処理方法。
【請求項15】
撮像装置により撮像されたフレーム画像に含まれる複数の実オブジェクト画像の識別情報を取得するステップと、
仮想オブジェクトを表示する優先順位を記憶する格納部から優先順位を読み出すステップと、
読み出した優先順位に基づいて実オブジェクト画像と仮想オブジェクトとを対応付けるステップと、
複数の仮想オブジェクトの3次元画像データを用いて、複数の仮想オブジェクトを、それぞれ対応付けられた実オブジェクト画像の表示位置に関連付けて表示装置に表示させるステップと、
を備えることを特徴とする画像処理方法。
【請求項16】
コンピュータに、
実オブジェクトを識別するための識別情報と、仮想オブジェクトの3次元画像データとを対応付けて記憶する格納部から、撮像装置により撮像されたフレーム画像に含まれる複数の実オブジェクト画像の識別情報に対応付けられた複数の仮想オブジェクトの3次元画像データを読み出させる機能と、
表示装置に表示する仮想オブジェクト同士が重畳するか否かを判定させる機能と、
仮想オブジェクト同士が重畳することを判定した場合に、仮想オブジェクトの表示態様を調整することにより、仮想オブジェクト同士が重畳することにより生じる仮想オブジェクトの不可視部分を少なくさせる機能と、
を実現させるためのプログラム。
【請求項17】
コンピュータに、
撮像装置により撮像されたフレーム画像に含まれる複数の実オブジェクト画像の識別情報を取得させる機能と、
仮想オブジェクトを表示する優先順位を記憶する格納部から優先順位を読み出させる機能と、
読み出させた優先順位に基づいて実オブジェクト画像と仮想オブジェクトとを対応付けさせる機能と、
複数の仮想オブジェクトの3次元画像データを用いて、複数の仮想オブジェクトを、それぞれ対応付けられた実オブジェクト画像の表示位置に関連付けて表示装置に表示させる機能と、
を実現させるためのプログラム。
【請求項18】
請求項16または17に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項1】
実オブジェクトを識別するための識別情報と、仮想オブジェクトの3次元画像データとを対応付けて記憶する格納部と、
撮像装置により撮像されたフレーム画像に含まれる複数の実オブジェクト画像の識別情報に対応付けられた複数の仮想オブジェクトの3次元画像データを格納部から読み出す読出部と、
読み出された3次元画像データを用いて、仮想オブジェクトを、実オブジェクト画像の表示位置に関連付けて表示装置に表示させる表示制御部と、
表示装置に表示する仮想オブジェクト同士が重畳するか否かを判定する重畳判定部とを備え、
表示制御部は、重畳判定部により仮想オブジェクト同士が重畳することが判定された場合に、仮想オブジェクトの表示態様を調整することにより、仮想オブジェクト同士が重畳することにより生じる仮想オブジェクトの不可視部分を少なくすることを特徴とする画像処理装置。
【請求項2】
表示制御部は、実オブジェクト画像の表示範囲内で仮想オブジェクトの表示位置を調整することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
表示制御部は、表示装置において重畳する仮想オブジェクトのうち、画面奥側に存在する仮想オブジェクトの表示位置を調整して、画面奥側に存在する仮想オブジェクトの不可視部分を少なくすることを特徴とする請求項1または2に記載の画像処理装置。
【請求項4】
表示制御部は、表示装置において重畳する仮想オブジェクトのうち、画面手前側に存在する仮想オブジェクトの表示位置を調整して、画面奥側に存在する仮想オブジェクトの不可視部分を少なくすることを特徴とする請求項1から3のいずれかに記載の画像処理装置。
【請求項5】
表示制御部は、画面手前側に存在する仮想オブジェクトの少なくとも一部分を、非表示または半透明の表示態様とすることで、画面奥側に存在する仮想オブジェクトの不可視部分を少なくすることを特徴とする請求項1または2に記載の画像処理装置。
【請求項6】
撮像装置により撮像されたフレーム画像に含まれる複数の実オブジェクト画像の識別情報を取得する識別情報取得部と、
仮想オブジェクトの3次元画像データを記憶する第1格納部と、
仮想オブジェクトを表示する優先順位を記憶する第2格納部と、
第2格納部に記憶された優先順位に基づいて、実オブジェクト画像と仮想オブジェクトとを対応付ける仮想オブジェクト割当部と、
3次元画像データを用いて、複数の仮想オブジェクトを、仮想オブジェクト割当部により対応付けられた実オブジェクト画像の表示位置に関連付けて表示装置に表示させる表示制御部と、
を備えることを特徴とする画像処理装置。
【請求項7】
仮想オブジェクト割当部は、複数の実オブジェクト画像の表示位置に基づいて、実オブジェクト画像と仮想オブジェクトとを対応付けることを特徴とする請求項6に記載の画像処理装置。
【請求項8】
仮想オブジェクト割当部は、優先順位の高い仮想オブジェクトが優先順位の低い仮想オブジェクトと重なって不可視部分をもたないように、複数の仮想オブジェクトを複数の実オブジェクト画像に対応付けることを特徴とする請求項6または7に記載の画像処理装置。
【請求項9】
仮想オブジェクト割当部は、優先順位の高い順に、仮想オブジェクトを画面手前側から配置される実オブジェクト画像に対応付けることを特徴とする請求項6から8のいずれかに記載の画像処理装置。
【請求項10】
仮想オブジェクト割当部は、仮想オブジェクトと実オブジェクトとを対応付けた後は、その対応関係を維持することを特徴とする請求項6から9のいずれかに記載の画像処理装置。
【請求項11】
仮想オブジェクト割当部は、フレーム画像に含まれる実オブジェクト画像の数が少なくなったとき、優先順位に基づいて、実オブジェクト画像と仮想オブジェクトとの対応付け処理を再実行することを特徴とする請求項6から9のいずれかに記載の画像処理装置。
【請求項12】
実オブジェクトを識別するための識別情報と、ゲームキャラクタの3次元画像データとを対応付けて記憶する格納部と、
撮像装置により撮像されたフレーム画像に含まれる複数の実オブジェクト画像の識別情報に対応付けられた複数のゲームキャラクタの3次元画像データを格納部から読み出す読出部と、
読み出された3次元画像データを用いて、ゲームキャラクタを、実オブジェクト画像の表示位置に関連付けて表示装置に表示させる表示制御部と、
表示装置に表示するゲームキャラクタ同士が重畳するか否かを判定する重畳判定部とを備え、
表示制御部は、重畳判定部によりゲームキャラクタ同士が重畳することが判定された場合に、ゲームキャラクタの表示態様を調整することにより、ゲームキャラクタ同士が重畳することにより生じるゲームキャラクタの不可視部分を少なくすることを特徴とするゲーム装置。
【請求項13】
撮像装置により撮像されたフレーム画像に含まれる複数の実オブジェクト画像の識別情報を取得する識別情報取得部と、
ゲームキャラクタの3次元画像データを記憶する第1格納部と、
ゲームキャラクタを表示する優先順位を記憶する第2格納部と、
第2格納部に記憶された優先順位に基づいて、実オブジェクト画像とゲームキャラクタとを対応付けるゲームキャラクタ割当部と、
3次元画像データを用いて、複数のゲームキャラクタを、ゲームキャラクタ割当部により対応付けられた実オブジェクト画像の表示位置に関連付けて表示装置に表示させる表示制御部と、
を備えることを特徴とするゲーム装置。
【請求項14】
実オブジェクトを識別するための識別情報と、仮想オブジェクトの3次元画像データとを対応付けて記憶する格納部から、撮像装置により撮像されたフレーム画像に含まれる複数の実オブジェクト画像の識別情報に対応付けられた複数の仮想オブジェクトの3次元画像データを読み出すステップと、
表示装置に表示する仮想オブジェクト同士が重畳するか否かを判定するステップと、
仮想オブジェクト同士が重畳することを判定した場合に、仮想オブジェクトの表示態様を調整することにより、仮想オブジェクト同士が重畳することにより生じる仮想オブジェクトの不可視部分を少なくするステップと、
を備えることを特徴とする画像処理方法。
【請求項15】
撮像装置により撮像されたフレーム画像に含まれる複数の実オブジェクト画像の識別情報を取得するステップと、
仮想オブジェクトを表示する優先順位を記憶する格納部から優先順位を読み出すステップと、
読み出した優先順位に基づいて実オブジェクト画像と仮想オブジェクトとを対応付けるステップと、
複数の仮想オブジェクトの3次元画像データを用いて、複数の仮想オブジェクトを、それぞれ対応付けられた実オブジェクト画像の表示位置に関連付けて表示装置に表示させるステップと、
を備えることを特徴とする画像処理方法。
【請求項16】
コンピュータに、
実オブジェクトを識別するための識別情報と、仮想オブジェクトの3次元画像データとを対応付けて記憶する格納部から、撮像装置により撮像されたフレーム画像に含まれる複数の実オブジェクト画像の識別情報に対応付けられた複数の仮想オブジェクトの3次元画像データを読み出させる機能と、
表示装置に表示する仮想オブジェクト同士が重畳するか否かを判定させる機能と、
仮想オブジェクト同士が重畳することを判定した場合に、仮想オブジェクトの表示態様を調整することにより、仮想オブジェクト同士が重畳することにより生じる仮想オブジェクトの不可視部分を少なくさせる機能と、
を実現させるためのプログラム。
【請求項17】
コンピュータに、
撮像装置により撮像されたフレーム画像に含まれる複数の実オブジェクト画像の識別情報を取得させる機能と、
仮想オブジェクトを表示する優先順位を記憶する格納部から優先順位を読み出させる機能と、
読み出させた優先順位に基づいて実オブジェクト画像と仮想オブジェクトとを対応付けさせる機能と、
複数の仮想オブジェクトの3次元画像データを用いて、複数の仮想オブジェクトを、それぞれ対応付けられた実オブジェクト画像の表示位置に関連付けて表示装置に表示させる機能と、
を実現させるためのプログラム。
【請求項18】
請求項16または17に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2006−72669(P2006−72669A)
【公開日】平成18年3月16日(2006.3.16)
【国際特許分類】
【出願番号】特願2004−254888(P2004−254888)
【出願日】平成16年9月1日(2004.9.1)
【出願人】(395015319)株式会社ソニー・コンピュータエンタテインメント (871)
【Fターム(参考)】
【公開日】平成18年3月16日(2006.3.16)
【国際特許分類】
【出願日】平成16年9月1日(2004.9.1)
【出願人】(395015319)株式会社ソニー・コンピュータエンタテインメント (871)
【Fターム(参考)】
[ Back to top ]