(57)【要約】【課題】  仮想のキャラクター等を表示して操作する拡張現実型ゲームにおいて、拡張現実におけるキャラクター等の表示パターンのバリエーションを拡大することが可能な画像処理プログラム等を提供する。【解決手段】  カメラが撮影した画像に含まれる２つの多面体オブジェクトから識別用のコードを識別し、それぞれのコードに対応するキャラクターや道具等のモデルをクライアント端末のディスプレイに表示させる。２つのモデルの位置関係から接触等の状況が生じた際には、モデルの組合せに対応して表示されているモデルの画像に何らかの変化を生じさせる。例えば、ディスプレイに表示されている仮想のキャラクターに仮想の道具を接触させることによって、キャラクターに走る、転ぶなど様々な動作を行わせることが可能になる。【選択図】        図１
2010026818.tif 000002
【特許請求の範囲】
【請求項１】
カメラと接続されたコンピュータに、
前記カメラが撮影した画像ファイルから、第１の多面体オブジェクトの少なくとも１つの面に描かれた第１のコードを識別する第１の識別ステップと、
前記第１のコードに対応する第１のモデルの画像ファイルを、多面体オブジェクトの各面に描かれたコードに対応するモデルの画像データを格納するモデル情報格納部から読み出すステップと、
前記カメラが撮影した画像ファイルから、第２の多面体オブジェクトの少なくとも１つの面に描かれた第２のコードを識別する第２の識別ステップと、
前記第２のコードに対応する第２のモデルの画像データを、前記モデル情報格納部から読み出すステップと、
前記モデル情報格納部から読み出した画像データから第１のモデル及び第２のモデルを描画した表示画面を生成する生成ステップと、
前記表示画面を前記コンピュータのディスプレイに出力する出力ステップと、
前記第１の多面体オブジェクトと前記第２の多面体オブジェクトの位置関係、又は前記表示画面における第１のモデル及び第２のモデルの位置関係を演算して、前記位置関係が所定の条件に合致する場合には、前記表示画面において所定の処理を実行するステップと、
を実行させること特徴とする画像処理プログラム。
【請求項２】
前記第１の多面体オブジェクト、又は前記第２の多面体オブジェクトの少なくともいずれかの多面体オブジェクトの各面に描かれたコードは非点対称の形状であり、
前記コンピュータは、
前記第１の識別ステップ又は前記第２の識別ステップの少なくともいずれかのステップにおいて、前記第１のコード又は前記第２のコードの少なくともいずれかの向きを識別し、
前記生成ステップにおいて、前記第１のコード又は前記第２のコードについて識別された向きに対応する座標軸を設定して前記第１のモデル又は前記第２のモデルの少なくともいずれかのモデルを描画した表示画面を生成すること
を特徴とする請求項１記載の画像処理プログラム。
【請求項３】
前記コンピュータに、
前記第１の多面体オブジェクトの他の面に描かれた第３のコード、又は前記第２の多面体オブジェクトの他の面に描かれた第４のコードの少なくともいずれかのコードを識別するステップと、
前記第１のコードと前記第３のコードの位置関係が、前記コンピュータに記憶された前記第１の多面体オブジェクトの各面に描かれたコードの位置関係に一致するか、又は前記第２のコードと前記第４のコードの位置関係が、前記コンピュータに記憶された前記第２の多面体オブジェクトの各面に描かれたコードの位置関係に一致するかの少なくともいずれかの位置関係の一致を判断するステップと、
を実行させ、前記コンピュータは、
前記位置関係が一致すると判断されることを条件に、前記出力ステップにおいて、前記表示画面を前記コンピュータのディスプレイに出力すること
を特徴とする請求項１又は２記載の画像処理プログラム。
【請求項４】
前記第１の多面体オブジェクト、又は前記第２の多面体オブジェクトの少なくともいずれかの多面体オブジェクトの各面には、多面体オブジェクトの面に対応する多角形でコードを囲う縁が描かれており、
前記コンピュータは、
前記第１の識別ステップ又は前記第２の識別ステップの少なくともいずれかのステップにおいて、前記多角形に囲われたコードを前記第１のコード又は前記第２のコードとして識別すること
を特徴とする請求項１乃至３いずれかに記載の画像処理プログラム。
【請求項５】
多面体オブジェクトの各面に描かれたコードに対応するモデルの画像データを格納するモデル情報格納手段と、
カメラで撮影した画像ファイルから、第１の多面体オブジェクトの少なくとも１つの面に描かれた第１のコードを識別する第１の識別手段と、
前記第１のコードに対応する第１のモデルの画像データを、前記モデル情報格納手段から読み出す第１の読出手段と、
前記カメラで撮影した画像ファイルから、第２の多面体オブジェクトの少なくとも１つの面に描かれた第２のコードを識別する第２の識別手段と、
前記第２のコードに対応する第２のモデルの画像データを、前記モデル情報格納手段から読み出す第２の読出手段と、
前記モデル情報格納部から読み出した画像データから第１のモデル及び第２のモデルを描画した表示画面を生成する生成手段と、
前記表示画面を前記コンピュータのディスプレイに出力する出力手段と、
前記第１の多面体オブジェクトと前記第２の多面体オブジェクトの位置関係、又は前記表示画面における第１のモデル及び第２のモデルの位置関係を演算して、前記位置関係が所定の条件に合致する場合には、所定の処理を実行する手段と、
を備えることを特徴とする画像処理装置。
【請求項６】
前記第１の多面体オブジェクト、又は前記第２の多面体オブジェクトの少なくともいずれかの多面体オブジェクトの各面に描かれたコードは非点対称の形状であり、
前記第１の識別手段又は前記第２の識別手段の少なくともいずれかの手段は、前記第１のコード又は前記第２のコードの少なくともいずれかの向きを識別し、
前記生成手段は、前記第１のコード又は前記第２のコードについて識別された向きに対応する座標軸を設定して前記第１のモデル又は前記第２のモデルの少なくともいずれかのモデルを描画した表示画面を生成すること
を特徴とする請求項５記載の画像処理装置。
【請求項７】
前記第１の多面体オブジェクトの他の面に描かれた第３のコード、又は前記第２の多面体オブジェクトの他の面に描かれた第４のコードの少なくともいずれかのコードを識別する第３の識別手段と、
前記第１のコードと前記第３のコードの位置関係が、前記コンピュータに記憶された前記第１の多面体オブジェクトの各面に描かれたコードの位置関係に一致するか、又は前記第２のコードと前記第４のコードの位置関係が、前記コンピュータに記憶された前記第２の多面体オブジェクトの各面に描かれたコードの位置関係に一致するかの少なくともいずれかの位置関係の一致を判断する判断手段と、
を備えていて、
前記出力手段は、前記判断手段において位置関係が一致すると判断されることを条件に、前記表示画面を前記ディスプレイに出力すること
を特徴とする請求項５又は６記載の画像処理装置。
【請求項８】
前記第１の多面体オブジェクト、又は前記第２の多面体オブジェクトの少なくともいずれかの多面体オブジェクトの各面には、多面体オブジェクトの面に対応する多角形でコードを囲う縁が描かれており、
前記第１の識別手段又は前記第２の識別手段の少なくともいずれかの手段は、前記多角形に囲われたコードを前記第１のコード又は前記第２のコードとして識別すること
を特徴とする請求項５乃至７いずれかに記載の画像処理装置。
【請求項９】
カメラと接続されたコンピュータが、前記カメラが撮影した画像ファイルから、第１の多面体オブジェクトの少なくとも１つの面に描かれた第１のコードを識別する第１の識別ステップと、
前記コンピュータが、前記第１のコードに対応する第１のモデルの画像データを、多面体オブジェクトの各面に描かれたコードに対応するモデルの画像データを格納するモデル情報格納部から読み出すステップと、
前記コンピュータが、前記カメラが撮影した画像ファイルから、第２の多面体オブジェクトの少なくとも１つの面に描かれた第２のコードを識別する第２の識別ステップと、
前記コンピュータが、前記第２のコードに対応する第２のモデルの画像データを、前記モデル情報格納部から読み出すステップと、
前記コンピュータが、前記モデル情報格納部から読み出した画像データから第１のモデル及び第２のモデルを描画した表示画面を生成する生成ステップと、
前記表示画面を前記コンピュータのディスプレイに出力する出力ステップと、
前記コンピュータが、前記第１の多面体オブジェクトと前記第２の多面体オブジェクトの位置関係、又は前記表示画面における第１のモデル及び第２のモデルの位置関係を演算して、前記位置関係が所定の条件に合致する場合には、所定の処理を実行するステップと、
を有すること特徴とする画像処理方法。
【請求項１０】
前記第１の多面体オブジェクト、又は前記第２の多面体オブジェクトの少なくともいずれかの多面体オブジェクトの各面に描かれたコードは非点対称の形状であり、
前記第１の識別ステップ又は前記第２の識別ステップの少なくともいずれかのステップにおいて、前記コンピュータは、前記第１のコード又は前記第２のコードの少なくともいずれかの向きを識別し、
前記生成ステップにおいて、前記第１のコード又は前記第２のコードについて識別された向きに対応する座標軸を設定して前記第１のモデル又は前記第２のモデルの少なくともいずれかのモデルを描画した表示画面を生成すること
を特徴とする請求項９記載の画像処理方法。
【請求項１１】
前記コンピュータが、前記第１の多面体オブジェクトの他の面に描かれた第３のコード、又は前記第２の多面体オブジェクトの他の面に描かれた第４のコードの少なくともいずれかのコードを識別するステップと、
前記コンピュータが、前記第１のコードと前記第３のコードの位置関係が、前記コンピュータに記憶された前記第１の多面体オブジェクトの各面に描かれたコードの位置関係に一致するか、又は前記第２のコードと前記第４のコードの位置関係が、前記コンピュータに記憶された前記第２の多面体オブジェクトの各面に描かれたコードの位置関係に一致するかの少なくともいずれかの位置関係の一致を判断するステップと、
を有していて、
前記位置関係が一致すると判断されることを条件に、前記出力ステップにおいて、前記コンピュータは、前記表示画面を前記コンピュータのディスプレイに出力すること
を特徴とする請求項９又は１０記載の画像処理方法。
【請求項１２】
前記第１の多面体オブジェクト、又は前記第２の多面体オブジェクトの少なくともいずれかの多面体オブジェクトの各面には、多面体オブジェクトの面に対応する多角形でコードを囲う縁が描かれており、
前記第１の識別ステップ又は前記第２の識別ステップの少なくともいずれかのステップにおいて、前記コンピュータは、前記多角形に囲われたコードを前記第１のコード又は前記第２のコードとして識別すること
を特徴とする請求項９乃至１１いずれかに記載の画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キューブ等の多面体オブジェクトを用いてコンピュータのディスプレイに表示されたキャラクター等の画像等を操作するための画像処理プログラム、画像処理装置及び画像処理方法に関するものである。
【背景技術】
【０００２】
識別用のカードをカメラに読み取らせ、カードに対応するキャラクター等の画像をカメラによって撮影された映像にディスプレイ上で重ねて表示することによって、実空間に仮想空間が融合された、いわゆる拡張現実（ＡＲ）を実現することが可能になっている（例えば、特許文献１参照）。
【０００３】
この技術をカードゲームに適用して、カードゲームで使用するカード上に仮想のキャラクターをディスプレイ（モニタ）上に表示させるとともに、プレイヤーが仮想のキャラクターに接触する動きを行うと、キャラクターに何らかの変化を生じさせる発明が開示されている（例えば、特許文献２参照）。
【０００４】
【特許文献１】特開２０００−３２２６０２号公報
【特許文献２】特開２００５−２３０１５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献２記載の発明によると、カード上にキャラクターを表示させ、プレイヤーがこれに接触する動きを行うことによってキャラクターに設定されたパラメータを変化させることができるが、カードタイプのオブジェクトはカメラの位置によってはコードを識別するのが困難であることに加えて、カードには表裏両面をあわせても２つの面しか存在していないため、コードによって識別できる情報に制約があり、表示されるキャラクターに、例えば横向きに寝たり斜めに傾いたりといったバリエーションをもたせることが難しいという問題がある。
【０００６】
また、キャラクターに接触するのは実空間にいるプレイヤー自身の動きとなっているために、例えば、様々な仮想の道具を用いてキャラクターに接触したり、そこで用いられる道具によってキャラクターに異なる動きをさせたりといった、仮想空間において表示する対象物や対象物の動きのバリエーションを広げることにも制約がある。
【０００７】
本発明は、このような課題を解決するためになされたものであり、仮想のキャラクター等を表示して操作する拡張現実型ゲームにおいて、２以上のキューブ等の多面体オブジェクトを識別用のオブジェクトとして用いることによって、拡張現実におけるキャラクター等の表示パターンのバリエーションを拡大することが可能な、画像処理プログラム、画像処理装置及び画像処理方法を提供することを目的とするものである。
【課題を解決するための手段】
【０００８】
このような課題を解決する本発明は、カメラと接続されたコンピュータに、前記カメラが撮影した画像ファイルから、第１の多面体オブジェクトの少なくとも１つの面に描かれた第１のコードを識別する第１の識別ステップと、前記第１のコードに対応する第１のモデルの画像ファイルを、多面体オブジェクトの各面に描かれたコードに対応するモデルの画像データを格納するモデル情報格納部から読み出すステップと、前記カメラが撮影した画像ファイルから、第２の多面体オブジェクトの少なくとも１つの面に描かれた第２のコードを識別する第２の識別ステップと、前記第２のコードに対応する第２のモデルの画像データを、前記モデル情報格納部から読み出すステップと、前記モデル情報格納部から読み出した画像データから第１のモデル及び第２のモデルを描画した表示画面を生成する生成ステップと、前記表示画面を前記コンピュータのディスプレイに出力する出力ステップと、前記第１の多面体オブジェクトと前記第２の多面体オブジェクトの位置関係、又は前記表示画面における第１のモデル及び第２のモデルの位置関係を演算して、前記位置関係が所定の条件に合致する場合には、所定の処理を実行するステップと、を実行させること特徴とする画像処理プログラムである。
【０００９】
本発明では、２つの多面体オブジェクトから識別用のコードを読み取り、それぞれのコードに対応するキャラクターや道具等のモデルを表示するとともに、２つのモデルの位置関係から接触等の状況が生じた際には、所定の処理を実行して、表示されているモデルの画像や音声に何らかの変化を生じさせることができる。これによって、例えば、ディスプレイに表示されている仮想のキャラクターに仮想の道具を接触させることによって、キャラクターに様々な動作を行わせたり、キャラクターに声を出させたりといった、表示パターンのバリエーションを拡大することが可能になる。
【００１０】
尚、本発明において用いられる多面体オブジェクトには、一般にはキューブ（立方体）が用いられるが、四面体以上の多面体であれば特に限定されるものではない。また、多面体オブジェクトは多面体のみからなるものに限られず、棒の先端部分に多面体が形成されているオブジェクトなど、いずれかの部分に多面体を含むものであればよい。
【００１１】
また、表示画面に表示されるモデルも特に限定されるものではなく、人形や動物のようなキャラクターの画像であってもよいし、手や指などの体の一部、又は棒やボールなどの道具の画像であってもよい。これらの画像の変化の内容も特に限定されるものではなく、例えば表示されたキャラクターが走る、転ぶ、といった動作を行わせることができる。また、キャラクターに声や音を出させるといった音声処理を行うこととしてもよい。
【００１２】
また、前記第１の多面体オブジェクト、又は前記第２の多面体オブジェクトの少なくともいずれかの多面体オブジェクトの各面に描かれたコードは非点対称の形状であり、前記コンピュータは、前記第１の識別ステップ又は前記第２の識別ステップの少なくともいずれかのステップにおいて、前記第１のコード又は前記第２のコードの少なくともいずれかの向きを識別し、前記生成ステップにおいて、前記第１のコード又は前記第２のコードについて識別された向きに対応する座標軸を設定して前記第１のモデル又は前記第２のモデルの少なくともいずれかのモデルを描画した表示画面を生成することを特徴とすることもできる。
【００１３】
このように構成することによって、読み取られたコードの向きによってキャラクター等のモデルを描画する向きを設定しておき、多面体オブジェクトのどの面を上面にするかによって、キャラクター等のモデルを真っすぐに立たせたり、横向きや斜め向きに立たせたりすることができるので、表示パターンのバリエーションを拡大することが可能になる。
【００１４】
尚、ここで用いられるコードの形状は非点対称でコードの向きを特定できるものであれば特に限定されるものではなく、文字、符号、漫画のキャラクターや図形、二次元コードなど様々な形状のものを採用することができる。
【００１５】
さらに、本発明は、本発明は、前記コンピュータに、前記第１の多面体オブジェクトの他の面に描かれた第３のコード、又は前記第２の多面体オブジェクトの他の面に描かれた第４のコードの少なくともいずれかのコードを識別するステップと、前記第１のコードと前記第３のコードの位置関係が、前記コンピュータに記憶された前記第１の多面体オブジェクトの各面に描かれたコードの位置関係に一致するか、又は前記第２のコードと前記第４のコードの位置関係が、前記コンピュータに記憶された前記第２の多面体オブジェクトの各面に描かれたコードの位置関係に一致するかの少なくともいずれかの位置関係の一致を判断するステップと、を実行させ、前記コンピュータは、前記位置関係が一致すると判断されることを条件に、前記出力ステップにおいて、前記表示画面を前記コンピュータのディスプレイに出力することを特徴としてもよい。
【００１６】
このように、多面体オブジェクトの２以上の面からコードを読み取り、それぞれのコードの位置関係があらかじめコンピュータに記憶させておいた多面体オブジェクトの各面におけるコードの位置関係と一致するかを判断することによって、多面体オブジェクト上のコードが正確に読み取られたかを確認することが可能になる。尚、それぞれのコードの位置関係は、多面体オブジェクトの各面の位置関係に限られず、それぞれのコードの向きも含めて位置関係を確認することが好ましい。
【００１７】
さらに、本発明は、前記第１の多面体オブジェクト、又は前記第２の多面体オブジェクトの少なくともいずれかの多面体オブジェクトの各面には、多面体オブジェクトの面に対応する多角形でコードを囲う縁が描かれており、前記コンピュータは、前記第１の識別ステップ又は前記第２の識別ステップの少なくともいずれかのステップにおいて、前記多角形に囲われたコードを前記第１のコード又は前記第２のコードとして識別することを特徴としてもよい。
【００１８】
このように、多面体オブジェクトの各面に描かれたコードを多角形の縁で囲むことによって、カメラが撮影した画像から多面体オブジェクトや識別用のコードがある位置を特定することや、多角形の歪み方から多面体オブジェクトの各面のある位置を識別することが容易になる。
【００１９】
本発明は、本発明にかかる画像処理プログラムを備えた画像処理装置として特定することもできる。
【００２０】
本発明にかかる画像処理装置は、多面体オブジェクトの各面に描かれたコードに対応するモデルの画像データを格納するモデル情報格納手段と、カメラで撮影した画像ファイルから、第１の多面体オブジェクトの少なくとも１つの面に描かれた第１のコードを識別する第１の識別手段と、前記第１のコードに対応する第１のモデルの画像データを、前記モデル情報格納手段から読み出す第１の読出手段と、前記カメラで撮影した画像ファイルから、第２の多面体オブジェクトの少なくとも１つの面に描かれた第２のコードを識別する第２の識別手段と、前記第２のコードに対応する第２のモデルの画像データを、前記モデル情報格納手段から読み出す第２の読出手段と、前記モデル情報格納部から読み出した画像データから第１のモデル及び第２のモデルを描画した表示画面を生成する生成手段と、前記表示画面を前記コンピュータのディスプレイに出力する出力手段と、前記第１の多面体オブジェクトと前記第２の多面体オブジェクトの位置関係、又は前記表示画面における第１のモデル及び第２のモデルの位置関係を演算して、前記位置関係が所定の条件に合致する場合には、所定の処理を実行する手段と、を備えることを特徴とする画像処理装置である。
【００２１】
また、本発明にかかる画像処理装置は、前記第１の多面体オブジェクト、又は前記第２の多面体オブジェクトの少なくともいずれかの多面体オブジェクトの各面に描かれたコードは非点対称の形状であり、前記第１の識別手段又は前記第２の識別手段の少なくともいずれかの手段は、前記第１のコード又は前記第２のコードの少なくともいずれかの向きを識別し、前記生成手段は、前記第１のコード又は前記第２のコードについて識別された向きに対応する座標軸を設定して前記第１のモデル又は前記第２のモデルの少なくともいずれかのモデルを描画した表示画面を生成することを特徴とすることができる。
【００２２】
さらに、本発明にかかる画像処理装置は、前記第１の多面体オブジェクトの他の面に描かれた第３のコード、又は前記第２の多面体オブジェクトの他の面に描かれた第４のコードの少なくともいずれかのコードを識別する第３の識別手段と、前記第１のコードと前記第３のコードの位置関係が、前記コンピュータに記憶された前記第１の多面体オブジェクトの各面に描かれたコードの位置関係に一致するか、又は前記第２のコードと前記第４のコードの位置関係が、前記コンピュータに記憶された前記第２の多面体オブジェクトの各面に描かれたコードの位置関係に一致するかの少なくともいずれかの位置関係の一致を判断する判断手段と、を備えていて、前記出力手段は、前記判断手段において位置関係が一致すると判断されることを条件に、前記表示画面を前記ディスプレイに出力することを特徴としてもよい。
【００２３】
さらに、本発明にかかる画像処理装置は、前記第１の多面体オブジェクト、又は前記第２の多面体オブジェクトの少なくともいずれかの多面体オブジェクトの各面には、多面体オブジェクトの面に対応する多角形でコードを囲う縁が描かれており、前記第１の識別手段又は前記第２の識別手段の少なくともいずれかの手段は、前記多角形に囲われたコードを前記第１のコード又は前記第２のコードとして識別することを特徴としてもよい。
【００２４】
本発明は、本発明にかかる画像処理プログラムによって実行される画像処理方法として特定することもできる。
【００２５】
本発明にかかる画像処理方法は、カメラと接続されたコンピュータが、前記カメラが撮影した画像ファイルから、第１の多面体オブジェクトの少なくとも１つの面に描かれた第１のコードを識別する第１の識別ステップと、前記コンピュータが、前記第１のコードに対応する第１のモデルの画像データを、多面体オブジェクトの各面に描かれたコードに対応するモデルの画像データを格納するモデル情報格納部から読み出すステップと、前記コンピュータが、前記カメラが撮影した画像ファイルから、第２の多面体オブジェクトの少なくとも１つの面に描かれた第２のコードを識別する第２の識別ステップと、前記コンピュータが、前記第２のコードに対応する第２のモデルの画像データを、前記モデル情報格納部から読み出すステップと、前記コンピュータが、前記モデル情報格納部から読み出した画像データから第１のモデル及び第２のモデルを描画した表示画面を生成する生成ステップと、前記表示画面を前記コンピュータのディスプレイに出力する出力ステップと、前記コンピュータが、前記第１の多面体オブジェクトと前記第２の多面体オブジェクトの位置関係、又は前記表示画面における第１のモデル及び第２のモデルの位置関係を演算して、前記位置関係が所定の条件に合致する場合には、所定の処理を実行するステップと、を有すること特徴とする画像処理方法である。
【００２６】
また、本発明にかかる画像処理方法は、前記第１の多面体オブジェクト、又は前記第２の多面体オブジェクトの少なくともいずれかの多面体オブジェクトの各面に描かれたコードは非点対称の形状であり、前記第１の識別ステップ又は前記第２の識別ステップの少なくともいずれかのステップにおいて、前記コンピュータは、前記第１のコード又は前記第２のコードの少なくともいずれかの向きを識別し、前記生成ステップにおいて、前記第１のコード又は前記第２のコードについて識別された向きに対応する座標軸を設定して前記第１のモデル又は前記第２のモデルの少なくともいずれかのモデルを描画した表示画面を生成することを特徴とすることができる。
【００２７】
さらに、本発明にかかる画像処理方法は、前記コンピュータが、前記第１の多面体オブジェクトの他の面に描かれた第３のコード、又は前記第２の多面体オブジェクトの他の面に描かれた第４のコードの少なくともいずれかのコードを識別するステップと、前記コンピュータが、前記第１のコードと前記第３のコードの位置関係が、前記コンピュータに記憶された前記第１の多面体オブジェクトの各面に描かれたコードの位置関係に一致するか、又は前記第２のコードと前記第４のコードの位置関係が、前記コンピュータに記憶された前記第２の多面体オブジェクトの各面に描かれたコードの位置関係に一致するかの少なくともいずれかの位置関係の一致を判断するステップと、を有していて、前記位置関係が一致すると判断されることを条件に、前記出力ステップにおいて、前記コンピュータは、前記表示画面を前記コンピュータのディスプレイに出力することを特徴としてもよい。
【００２８】
さらに、本発明にかかる画像処理方法は、前記第１の多面体オブジェクト、又は前記第２の多面体オブジェクトの少なくともいずれかの多面体オブジェクトの各面には、多面体オブジェクトの面に対応する多角形でコードを囲う縁が描かれており、前記第１の識別ステップ又は前記第２の識別ステップの少なくともいずれかのステップにおいて、前記コンピュータは、前記多角形に囲われたコードを前記第１のコード又は前記第２のコードとして識別することを特徴としてもよい。
【発明の効果】
【００２９】
本発明によって、多面体オブジェクトから特定される２以上のモデルを表示し、それらの位置関係によってキャラクター等のモデルに様々な動作を行わせることによって、拡張現実におけるキャラクター等のモデルの表示パターンのバリエーションを拡大することが可能になる。
【００３０】
また、多面体オブジェクトから２以上の面にあるコードを読み取り、その位置関係を確認することによって、識別用のコードを読み取る精度を高めることができる。さらに、識別用のコードを多角形の縁で囲うことによって、多面体オブジェクトや識別用のコードがある位置の特定や、多面体オブジェクトの各面のある位置の識別が容易になる。
【発明を実施するための最良の形態】
【００３１】
本発明を実施するための最良の形態について、図面を用いて、以下に詳細に説明する。尚、以下の説明では、本発明を２つのキューブ（立方体）を用いてキャラクターに様々な動作を行わせるゲームに適用する例について説明するが、この実施例は本発明の実施形態の一例を示したものであって、本発明はかかる実施形態に限定されるものではなく、キューブ以外の他の多面体に適用することも可能である。
【００３２】
図１は、本発明の実施形態の概要を示す図である。図２は、図１の例において、ディスプレイに描画されたキャラクター等の一例を示す図である。図３は、本発明を実施するためのシステム構成を示すブロック図である。図４〜図６は、本発明において用いられるキューブ（多面体ジェクト）を展開した、それぞれ第１〜第３の例を示す図である。図７は、本発明において用いられるモデル情報に含まれるデータの一例を示す図である。図８は、本発明において用いられる動作情報に含まれるデータの一例を示す図である。図９〜図１３は、本発明にかかる画像表示プログラムによって描画されたキャラクターの一例を示す、それぞれ第１〜第５の図である。図１４は、本発明における多面体オブジェクトに描かれたコードの特定方法の一例を示すである。図１５は、本発明にかかる画像表示プログラムの処理フローを示すフローチャートである。図１６は、本発明にかかる画像表示プログラムにおけるモデルの特定から描画までの処理フローを示すフローチャートである。
【００３３】
図１は、本発明の実施形態の概要を示す図である。本発明にかかる画像表示プログラムは、パーソナルコンピュータ等のクライアント端末において実行される。クライアント端末にはＷｅｂカメラ等のカメラが接続されていて、各面に異なるコードが描かれた多面体オブジェクトを撮影する。
【００３４】
多面体オブジェクトには、キャラクターを識別するために用いられる第１の多面体オブジェクトと、キャラクターに何らかの動作を行わせる突き棒の先に取り付けられた第２の多面体オブジェクトがある。Ｗｅｂカメラでこれらの多面体オブジェクトを撮影すると、クライアント端末のディスプレイには撮影された多面体オブジェクトが表示されるとともに、第１の多面体オブジェクトから読み取られたコードに対応するモデルＡ（キャラクター）と、第２の多面体オブジェクトから読み取られたコードに対応するモデルａ（キャラクターを突く指先）が、実際の空間には存在していないのに図２に示したように重ねて表示される。
【００３５】
ここで、第１の多面体オブジェクトと第２の多面体オブジェクトが所定の距離に近づいて、モデルＡとモデルａが仮想空間（画面上）において接触した状態になると、モデルａ側の種別に対応して、モデルＡのキャラクターが走る、転ぶなどモデルＡに様々な動作を行わせたり、モデルＡに何らかの声や音を出させたりする。
【００３６】
これらのコードとモデルの対応付けに関する情報や、モデルの干渉によって実行される動作に関する情報は、データベースサーバに格納されている。データベースサーバは、インターネット等のネットワークを通じてクライアント端末と接続され、モデルを描画する際にデータベースサーバにアクセスすることとしてもよいし、データベースサーバからダウンロードした情報をクライアント端末に格納して、随時アップロードすることとしてもよい。又は、データベースサーバの機能をクライアント端末内に持たせて、スタンドアローンでモデルの描画を実行することとしてもよい。
【００３７】
図３は、本発明を実施するためのシステム構成を示している。本発明にかかる画像表示プログラムは、パーソナルコンピュータ等のクライアント端末１０に格納されていて、Ｗｅｂカメラ１８において撮影した映像を、多面体オブジェクト２０及び３０のコードを読み取って描画したモデルを重ねて、ディスプレイ１７に表示する。
【００３８】
クライアント端末１０には、パーソナルコンピュータの他にゲーム専用機等を用いることとしてもよいが、クライアント端末１０にはコンピュータプログラムを実行するために必要なＣＰＵとメインメモリ、ハードディスクが備えられている。クライアント端末１０で実行されるアプリケーション等のコンピュータプログラムは、ハードディスクから読み出されてメインメモリ等のメモリ領域をワーキングエリアとして機能させながら、ＣＰＵで演算処理を実行する。
【００３９】
クライアント端末１０に備えられたデータベースサーバ４０との通信を行うためのクライアントプログラム１１の他に、ディスプレイ１７に仮想現実（ＡＲ）を表示させるフレームワークを構成する３Ｄ描画エンジン１３、座標変換エンジン１４、コード認識エンジン１５及びカメラ制御エンジン１６は、いずれも上記のように実行されるプログラムである。
【００４０】
また、クライアント端末１０には、モデルの描画とモデルの動作に関する情報を格納するモデル・動作情報格納部１２として、ハードディスク等の記憶装置の所定の領域が割り当てられている。ここには、多面体オブジェクトに描かれたコードとこれを読み取った場合に表示するキャラクター等のモデルの対応付けや、モデルを描画する位置、向き、大きさ、モデルを表示するための画像データ、２以上のモデルが干渉した場合に実行する動作などに関する情報が格納されている。
【００４１】
これらの最新情報はデータベースサーバ４０のモデル情報格納部４２及び動作情報格納部４３に格納されていて、クライアントプログラム１１とサーバプログラム４１が呼応して、モデル・動作情報格納部１２の情報がアップデートされるように構成されている。
【００４２】
他の実施形態では、クライアント端末１０にはモデル・動作情報格納部１２を備えることなく、モデルを描画する際にはクライアントプログラム１１により都度データベースサーバ４０に問合せを行って、コードとモデルの対応付けに関する情報やモデルの画像データ等を呼び出すよう構成してもよい。さらに他の実施形態では、データベースサーバ４０を備えず、クライアント端末１０をスタンドアローンで利用して、コードとモデルの対応付けに関する情報やモデルの画像データ等はモデル・動作情報格納部１２から読み出したものを用いることとしてもよい。
【００４３】
多面体オブジェクト２０には、例えば、図４に示したキューブ（立方体）などのオブジェクトが用いられ、多面体オブジェクトの各面にはそれぞれ異なるコード（ここではＡ〜Ｆ）が描かれている。以下の例では、図４のキューブのＣのコードが描かれた面に、人形のキャラクターを表示するよう設定されているものとする。
【００４４】
図５も図４と同じコードが描かれた多面体オブジェクト２０の一例を示したものであるが、コードのある位置を認識しやすくするとともに、各面が斜めに撮影されたときの歪みの程度を把握して歪み分を補正して本来の多角形を復元しやすくするために、この例のように、多面体オブジェクトを構成する多面体形状（この例では正方形）の太線の縁でコードの周りを囲うことが好ましい。
【００４５】
図６は、突き棒の先に取り付けられた多面体オブジェクト３０の一例を示したものであるが、図５と同様にコード（ａ〜ｅ）の周りを多面体形状（この例では正方形）の太線の縁で囲うこととしている。尚、突き棒の先に取り付けるために１つの面にはコードが描画されていないが、この例のように、多面体オブジェクトの一部の面にはコードが描かれていないものであってもよい。
【００４６】
図７は、モデル情報格納部４２又はモデル・動作情報格納部１２に含まれるモデルを描画するために必要なデータの一例を示している。この例では、図４及び５の例に示したキューブにおいて、Ａ〜Ｆのいずれのコードが識別された場合であっても、同じ人形のキャラクターであるモデルＡが描画されるので、モデル・動作情報格納部１２からモデルＡを描画するための画像データが読み出されて表示される。但し、それぞれどのコードが識別されたかによって、モデルＡを描画する位置や向きが異なることになり、読み出した画像データもこれに対応して変形され、ディスプレイ１７に出力するために描画されることになる。
【００４７】
例えば、Ｘ、Ｙ、Ｚの３Ｄの座標軸に対して、Ｚ軸方向を正面にして頭をＹ軸方向に伸ばして人形のキャラクターであるモデルＡを描画することにすると、Ａのコードが識別された場合には、Ｚ軸を前方、Ｘ軸を右側、Ｙ軸を上方に設定して、図９の例に示したようにモデルＡを描画する。図７の例には、このような座標軸の設定に関する情報が含まれている。
【００４８】
ここでのモデルの描画は、クライアント端末１０の３Ｄ描画エンジン１３、座標変換エンジン１４、コード認識エンジン１５及びカメラ制御エンジン１６によって行われる。Ｗｅｂカメラ１８で撮影した多面体オブジェクト２０を含む画像ファイルを、カメラ制御エンジン１６で受け付ける。この画像ファイルをコード認識エンジン１５でスキャンして、画像ファイルの中から四辺形（キューブ以外の多面体であれば多面体に対応する多角形）を探す。この際に、図５の例のようにコードを太線の四辺形で囲っておくと、スムーズに四辺形を認識することができる。
【００４９】
四辺形が認識されると、四辺形の内部にあるコードも含めた画像を、元の多面体オブジェクト２０のキューブの各面と同一形状の正方形に復元する補正を行う。この際に、正方形に対する四辺形の歪みの角度から、各面がどの位置にあるか、正面に対してどの方向にどれだけ回転されているかを特定することもできる。
【００５０】
続いて、復元された正方形内部にある画像から、モデル・動作情報格納部１２に格納されたコードを検索して、その面に描かれているコードを認識するコードマッチングを実行する。図７の例において、Ａのコードが識別されたとすると、座標変換エンジン１４によってＡについて指定された座標軸が設定されて、設定された座標軸上に３Ｄ描画エンジン１３によってモデルＡが描画される。
【００５１】
ここでコード認識エンジン１５によってコードを特定する際には、コードの種別だけでなくコードの向きもあわせて識別される。Ａのコードが上向きではなく、横向きの状態にあると識別された場合には、図１０の例に示したように、モデルＡの人形のキャラクターは正面を向いて横に寝た状態で表示される。
【００５２】
図１１は、コード認識エンジン１５によってＢのコードが特定された例を示している。図７の例によると、Ｂのコードが識別された場合にも描画されるのはモデルＡであり、Ｚ軸を左側、Ｘ軸を前方、Ｙ軸を上方に設定して、図１１の例に示したようにモデルＡを描画する。すなわち図１０の例から変化させたとすると、キューブの回転にあわせて、９０度回転した状態のモデルＡが表示されることになる。
【００５３】
また、Ｂのコードが横向きであると識別された場合には、図１２の例に示したように、モデルＡの人形のキャラクターは左側面を正面に向けて横に寝た状態で表示される。すなわち図１１の例から変化させたとすると、キューブが横に倒されたことによって、そのまま横に寝た状態のモデルＡが表示されることになる。
【００５４】
さらに、最初に認識した四辺形を正方形に復元した際に、先に説明したとおり四辺形の歪みの角度から識別されたコードが正面からどれだけ回転されているかが特定された場合には、その回転された度数にあわせて基準となる座標軸も回転させて、回転された座標軸を基準にモデルＡを描画する。例えば、図１３の例であれば、図９の例から約４５度キューブが回転された状態となっているため、モデルＡの人形のキャラクターも正面から約４５度回転した状態で描画される。
【００５５】
ここで、撮影した画像ファイルからコード認識エンジン１５によって２以上のコードが特定される場合もある。図１４に示した例では、多面体オブジェクト２０のキューブからＡ、Ｂ、Ｃの３つのコードが特定されているが、例えば以下のように処理することができる。
【００５６】
Ａ、Ｂ、Ｃのコードが特定されたそれぞれの面では、最初に認識された四辺形から正方形への補正を行って、モデル・動作情報格納部１２に格納されたコードとのマッチングを行っている。ここで、マッチングの際に補正した画像から認識されるコードと本来のコードの一致度を指数として把握する。図１４の例では、Ａ、Ｂ、Ｃのコードそれぞれの一致度が、８０％、６０％、３０％となっている。
【００５７】
このうち、例えば最も一致度の高いコードを採用してモデルＡを描画することとしてもよいが、より精度の高い判断を行うためには、一致度が所定の閾値、例えば５０％を超えたコードを用いて、キューブ上のコードが正しく認識されているかを確認することとしてもよい。
【００５８】
２以上のコードを用いた際の確認方法は特に限定されるものではないが、簡易な方法としては、所定の閾値を超えたＡ、Ｂのコードの位置関係を確認し、これがモデル・動作情報格納部１２に格納された情報から把握できる多面体オブジェクト２０のキューブ各面に描かれたコードの位置関係と一致するかどうかから、キューブ上のコードが正しく認識されているかを確認することができる。例えば、上向きに表示されているＡのコードの左側にＢが認識されたとすると、Ａ、Ｂの本来の位置関係からそのような状態はあり得ないので認識エラーが生じていることになる。
【００５９】
その他の方法としては、例えば、Ａ、Ｂのそれぞれのコードを対象にモデルＡを描画するための座標軸を設定し、それぞれ設定された座標軸が一致するかどうか、厳密に一致しなくても相違が所定の閾値の範囲内に収まっているかどうかから、Ａ、Ｂのそれぞれのコードが正しく認識されているかを確認することもできる。両者の相違が所定の閾値の範囲内に収まっていると確認された場合には、モデルＡを描画する基準となる座標軸は、一致度の高いコードのものを採用することとしてもよいし、２つのコードから設定される座標軸の一致度を考慮した加重平均等から座標軸を設定することとしてもよい。
【００６０】
以上のような方法によって、キューブ上のコードが正しく認識されているかを確認し、正しく認識されていることを条件として描画したモデルＡを、３Ｄ描画エンジン１３によってディスプレイ１７に表示させる。
【００６１】
突き棒に取り付けられた多面体オブジェクト３０についても、同様に１又は２以上の面に描かれたコードを認識して、人形のキャラクターに何らかの動作を行わせるための指先や棒などのモデルａを描画する。ディスプレイ１７には、Ｗｅｂカメラ１８が撮影した現実空間には存在しないモデルＡとモデルａが３Ｄ描画エンジン１３によって描画され、これらが描かれた映像が表示される。
【００６２】
ここでモデルＡとモデルａを描画する際に、描画されたモデルＡとモデルａの距離が所定の範囲、例えば接触する範囲内にあることが確認されると、モデル・動作情報格納部１２に格納された動作情報に対応する動作を表示するために、ディスプレイ１７に表示されるモデルＡ又はモデルａの画像データに変更が加えられたり、モデルＡ又はモデルａが発したように音声が再生されたりする。
【００６３】
図８は、モデル・動作情報格納部１２に格納された動作情報に含まれるデータの一例を示したものであるが、２以上のモデルの組み合わせについて、ある動作を実行させるためのモデル間の距離の条件と、その条件に達した場合に人形のキャラクター等に実行させる動作が対応付けられている。このいずれかに該当する状態が生じると、対応する動作を表示させるための画像データがモデル・動作情報格納部１２から読み出され、動作に対応する画像が３Ｄ描画エンジン１３によって描画されてディスプレイ１７に表示されたり、対応する音声を再生させるための音声データがモデル・動作情報格納部１２から読み出され、音声がスピーカに再生されたりする。
【００６４】
尚、モデル間の距離を測定する方法は、各々のモデルを描画した上で描画されたモデル間の距離を演算することとしてもよいし、Ｗｅｂカメラ１８で撮影された画像ファイルで識別された多面体オブジェクト２０及び３０の距離を演算してモデル間の距離に代用することとしてもよい。
【００６５】
図１５及び図１６のフローチャートを用いて、本発明にかかる画像表示プログラムの処理フローについて整理する。
【００６６】
図１５のフローチャートは、本発明にかかる画像表示プログラムの全体の流れを示している。ゲームが開始されると、Ｗｅｂカメラ等のカメラによって多面体オブジェクトを含む画像の撮影を継続する。カメラが撮影した画像を所定のタイミングでスキャンして（Ｓ１）、その中に多面体オブジェクトの面の１つである多角形が存在しているかを、コードの周りを囲って描かれた縁の有無から確認する（Ｓ２）。
【００６７】
多角形の縁が存在しない場合は、さらに繰り返しカメラが撮影した画像のスキャンを継続する（Ｓ９）。多角形の縁が存在すると、多角形の縁の内部にあるコードも含めてこれを本来の多角形の形状に復元する処理を行い（Ｓ３）、多角形の内部にある画像を、コンピュータに格納された多面体オブジェクトに描かれたコードとそのコードから描画するモデルの対応付け等に関するデータとマッチングさせて（Ｓ４）、モデルを描画する条件を設定するためのコードを特定する（Ｓ５）。コードが特定されない場合には、まだ多面体オブジェクトがカメラの撮影範囲内に存在しないと判断され、さらに繰り返しカメラが撮影した画像のスキャンを継続する（Ｓ９）。
【００６８】
コードが特定された場合には、特定されたコードに対応するモデルを描画する（Ｓ６）。このコードの特定からモデルの描画までのフローの詳細は、図１６のフローチャートの例に示したとおりで、以下のように行われる。
【００６９】
コードマッチングによってコードが特定された場合には、複数のコードが一致する場合には（Ｓ５２）、それらのコードの位置関係や座標軸の角度等の整合性を確認する（Ｓ５３）。位置関係の整合性がとれない場合には、認識エラーとしてモデルの描画を行わず、繰り返しカメラが撮影した画像のスキャンを継続する（Ｓ９）。
【００７０】
１のコードしか特定できない場合、又は複数のコードが特定されて位置関係等の整合性がとれている場合には、特定されたコードに対応するモデルを描画するモデルとして選択して対応する画像データを読み出し（Ｓ６１）、そのモデルを描画するための条件をコードから特定する（Ｓ６２）。特定された条件に従って座標軸を設定し（Ｓ６３）、読み出した画像データからモデルの描画を実行する（Ｓ６４）。尚、座標軸に対するモデルの大きさについては、認識された多面体オブジェクトやコードの大きさに対応して決定することとすればよい。
【００７１】
モデルの描画が実行されると、描画された２以上のモデルについて、それらを描画した位置で接触するなど、双方に干渉が生じていないかを確認する（Ｓ７）。干渉が生じていなければ、描画したモデルはそのままにして、繰り返しカメラが撮影した画像のスキャンを継続する（Ｓ９）。
【００７２】
干渉が生じている場合には、モデルの組合せに対応する動作の画像データを読み出して、少なくともいずれか一方のモデルについての動作を描画する（Ｓ０８）。ここで行う処理は画像データの描画によってモデルに何らかの動作を行わせる処理に限られず、音声データを再生してモデルが声や音を発するものであってもよい。動作の描画等を行うと、さらに繰り返しカメラが撮影した画像のスキャンを継続する（Ｓ９）。
【図面の簡単な説明】
【００７３】
【図１】本発明の実施形態の概要を示す図である。
【図２】図１の例において、ディスプレイに描画されたキャラクター等の一例を示す図である。
【図３】本発明を実施するためのシステム構成を示すブロック図である。
【図４】本発明において用いられるキューブ（多面体ジェクト）を展開した第１の例を示す図である。
【図５】本発明において用いられるキューブ（多面体ジェクト）を展開した第２の例を示す図である。
【図６】本発明において用いられるキューブ（多面体ジェクト）を展開した第３の例を示す図である。
【図７】本発明において用いられるモデル情報に含まれるデータの一例を示す図である。
【図８】本発明において用いられる動作情報に含まれるデータの一例を示す図である。
【図９】本発明にかかる画像表示プログラムによって描画されたキャラクターの一例を示す第１の図である。
【図１０】本発明にかかる画像表示プログラムによって描画されたキャラクターの一例を示す第２の図である。
【図１１】本発明にかかる画像表示プログラムによって描画されたキャラクターの一例を示す第３の図である。
【図１２】本発明にかかる画像表示プログラムによって描画されたキャラクターの一例を示す第４の図である。
【図１３】本発明にかかる画像表示プログラムによって描画されたキャラクターの一例を示す第５の図である。
【図１４】本発明における多面体オブジェクトに描かれたコードの特定方法の一例を示すである。
【図１５】本発明にかかる画像表示プログラムの処理フローを示すフローチャートである。
【図１６】本発明にかかる画像表示プログラムにおけるモデルの特定から描画までの処理フローを示すフローチャートである。
【符号の説明】
【００７４】
１０  クライアント端末
１１  クライアントプログラム
１２  モデル・動作情報格納部
１３  ３Ｄ描画エンジン
１４  座標変換エンジン
１５  コード認識エンジン
１６  カメラ制御エンジン
１７  ディスプレイ
１８  Ｗｅｂカメラ
２０  多面体オブジェクト
３０  多面体オブジェクト（突き棒）
４０  データベースサーバ
４１  モデル情報格納部
４２  動作情報格納部
【図１】
2010026818.tif 000003
【図２】
2010026818.tif 000004
【図３】
2010026818.tif 000005
【図４】
2010026818.tif 000006
【図５】
2010026818.tif 000007
【図６】
2010026818.tif 000008
【図７】
2010026818.tif 000009
【図８】
2010026818.tif 000010
【図９】
2010026818.tif 000011
【図１０】
2010026818.tif 000012
【図１１】
2010026818.tif 000013
【図１２】
2010026818.tif 000014
【図１３】
2010026818.tif 000015
【図１４】
2010026818.tif 000016
【図１５】
2010026818.tif 000017
【図１６】
2010026818.tif 000018