以下、図面を参照して、本発明の実施形態を詳細に説明する。
実施の形態1.
本実施形態においては、擬似的に定義された2体のキャラクターを擬似的に対戦させることにより勝敗を決定するように情報を処理するゲーム装置を含むゲームシステムを例として説明する。本実施形態に係るゲームシステムにおいては、ユーザが手書きで紙媒体に描いた絵をスキャンすることにより生成された画像に基づいてキャラクターの画像が生成される。また、上記生成された画像に基づいてキャラクターの性能であるパラメータが生成され、ゲームが実行される。
図1は、本実施形態に係るゲーム装置1の運用形態を示す図である。図1に示すように、本実施形態に係るゲーム装置1は、画像を光学的に走査するスキャナ2に接続されている。また、ゲーム装置1は、インターネットなどのネットワークを介して画像情報DBサーバ3に接続されている。尚、図1に示す態様の他、ゲーム装置1と画像情報DBサーバ3とを一体の機器として構成しても良い。
次に、本実施形態に係るゲーム装置1及び画像情報DBサーバ3のハードウェア構成について説明する。図2は、本実施形態に係るゲーム装置1及び画像情報DBサーバ3のハードウェア構成を示すブロック図である。以下の説明においては、ゲーム装置1のハードウェア構成として説明するが、画像情報DBサーバ3も同様である。
図2に示すように、本実施形態に係るゲーム装置1は、一般的なサーバやPC(Personal Computer)等の情報処理端末と同様の構成を有する。即ち、本実施形態に係るゲーム装置1は、CPU(Central Processing Unit)10、RAM(Random Access Memory)20、ROM(Read Only Memory)30、HDD(Hard Disk Drive)40及びI/F50がバス80を介して接続されている。また、I/F50にはLCD(Liquid Crystal Display)60及び操作部70が接続されている。
CPU10は演算手段であり、ゲーム装置1全体の動作を制御する。RAM20は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、CPU10が情報を処理する際の作業領域として用いられる。ROM30は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。HDD40は、情報の読み書きが可能な不揮発性の記憶媒体であり、OS(Operating System)や各種の制御プログラム、アプリケーション・プログラム等が格納される。
I/F50は、バス80と各種のハードウェアやネットワーク等を接続し制御する。LCD60は、ユーザがゲーム装置1の状態を確認するための視覚的ユーザインタフェースである。操作部70は、キーボードやマウス等、ユーザがゲーム装置1に情報を入力するためのユーザインタフェースである。このように、本実施形態に係るゲーム装置1は、一般的なPC等の情報処理装置に、専用のソフトウェアをインストールすることによって実現される。
次に、図3を参照して、本実施形態に係るゲーム装置1について更に詳細に説明する。図3に示すように、本実施形態に係るゲーム装置1は、コントローラ100、ネットワークI/F110、入力デバイス120及びディスプレイモニタ130を有する。また、コントローラ100は、主制御部101、入出力制御部102、表示制御部103及びゲーム制御部104を有する。更に、ゲーム制御部104は、画像認識部141、画像修正部142、パラメータ生成部143、状態記憶部144、状態算出部145、状態解析部146、描画処理部147及び画像検索部148を有する。
ネットワークI/F110は、ゲーム装置1が他の機器と通信する際のインタフェースである。ネットワークI/F110は、例えばEthernet(登録商標)接続のインタフェースや、USB(Universal Serial Bus)接続のインタフェースによって実現され、図2に示すI/F50によって構成される。本実施形態において、ゲーム装置1は、スキャナ2からネットワークI/F110を介して画像情報を受信する。
入力デバイス120は、キーボードやマウス等、ユーザがゲーム装置1に対して命令を与え、操作するためのユーザインタフェースであり、図2に示すI/F50及び操作部70によって実現される。ディスプレイモニタ130は、ゲーム装置1において動画を表示する表示装置であり、図2に示すI/F50及びLCD60によって実現される。尚、LCD以外の表示装置として、例えばCRT(Cathode Ray Tube)等、既存の表示装置によっても実現可能である。
コントローラ100は、ソフトウェアとハードウェアとの組み合わせによって構成される。具体的には、図2に示すROM30やHDD40等の不揮発性記憶媒体に格納されたファームウェア等の制御プログラムが、RAM20にロードされ、CPU10の制御に従って構成されるソフトウェア制御部と集積回路などのハードウェアとによってコントローラ100が構成される。コントローラ100は、ゲーム装置1の動作を制御する制御部として機能する。
主制御部101は、コントローラ100に含まれる各部を制御する役割を担い、コントローラ100の各部に命令を与える。また、主制御部101は、入力デバイス120から入力された情報に基づき、コントローラ100に含まれる各部を制御する。入出力制御部102は、主制御部101の制御に従い、外部からネットワークI/F110に入力された情報の受信を制御する。本実施形態において、入出力制御部102は、スキャナ2からネットワークI/F102に入力された画像情報をゲーム制御部104に入力する。また、入出力制御部102は、画像情報DBサーバ3との情報の送受信を行なう。表示制御部103は、主制御部101の制御に従い、ディスプレイモニタ130を制御してゲーム制御部104によって処理されたゲームの状態をディスプレイモニタ130に表示させる。
ゲーム制御部104は、以下に説明する夫々の構成の動作により、入力された画像情報に基づいてゲームを実行する。画像認識部141は、入出力制御部102からゲーム制御部104に入力された画像情報を取得し、ゲームに登場するキャラクターの画像として認識する。また、画像認識部141は、取得した画像情報の特徴となる情報(以降、特徴情報とする)を抽出する。画像修正部142は、画像認識部141が認識した画像に修正を加え、ディスプレイモニタ130に表示するためのキャラクターの画像を生成する。
パラメータ生成部143は、画像認識部141によって認識された画像のキャラクターのゲームにおける性能であるパラメータを生成する。パラメータ生成部143は、画像認識部141によって抽出された特徴情報に基づき、上記パラメータを生成する。状態記憶部144は、パラメータ生成部143が生成したパラメータ及びゲーム中におけるキャラクターの状態に関する情報を記憶している。状態算出部145は、状態記憶部144に記憶された情報に基づき、次のキャラクターの状態、即ち、時間経過に伴って変化するゲームの状態を算出する。
状態解析部146は、状態算出部145によって算出された状態を解析し、ゲームの終了を判断する。描画処理部147は、ゲーム画面を描画するための描画情報を生成して出力する。描画処理部147は、描画情報の生成に際して、画像認識部141が認識したキャラクターの画像、状態記憶部144に記憶されているキャラクターの状態を示す情報及び状態解析部146による解析結果の情報を参照する。画像検索部148は、画像認識部141が認識した画像に類似する画像を画像情報DBサーバ3から取得する。画像検索部148の機能については後に詳述する。
次に、図4を参照して、本実施形態に係るスキャナ2について説明する。図4は、本実施形態に係るスキャナ2の全体構成を示すブロック図である。図4に示すように、本実施形態に係るスキャナ2は、コントローラ200、ADF(Auto Document Feeder:原稿自動搬送装置)201、スキャナユニット202、排紙トレイ203、ネットワークI/F204、ディスプレイパネル205及びHDD206を有する。また、コントローラ200は、主制御部211、エンジン制御部212、入出力制御部213、画像処理部214及びHDDコントローラ215を有する。尚、図4においては、電気的接続を実線の矢印で示しており、用紙若しくは文書束の流れを破線の矢印で示している。
ネットワークI/F204は、スキャナ2がゲーム装置1と通信する際のインタフェースである。スキャナ2がスキャンして生成した画像情報は、ネットワークI/F204を介してゲーム装置1に送信される。ディスプレイパネル205は、スキャナ2の状態を視覚的に表示する出力インタフェースであると共に、タッチパネルとしてユーザがスキャナ2を直接操作する際の入力インタフェースでもある。コントローラ200は、ゲーム装置1のコントローラ100と同様、ソフトウェアとハードウェアとの組み合わせによって構成され、スキャナ2を制御する制御部として機能する。
主制御部211は、コントローラ200に含まれる各部を制御する役割を担い、コントローラ200の各部に命令を与える。エンジン制御部212は、スキャナユニット202を制御する。入出力制御部213は、ディスプレイパネル205からユーザによって入力される操作情報を主制御部211に入力すると共に、主制御部211の命令に従ってディスプレイパネル205に情報表示を行い、またはネットワークI/F204を介して他の装置に情報を送信する。
画像処理部214は、主制御部211の制御に従い、スキャナユニット202から入力される撮像情報を処理し、画像情報を生成する。この画像情報とは、ユーザが手書で紙媒体に描画した絵をスキャンしたスキャン動作の結果物(結果情報)としてHDDコントローラ215を介してHDD206に格納され若しくはネットワークI/F204を介してゲーム装置1に送信される情報である。HDDコントローラ215は、主制御部211の制御に従い、HDD206への情報の記録若しくはHDD206からの情報の読み出しを制御する。
スキャナ2がスキャンを実行する場合、ユーザによるディスプレイパネル205の操作若しくはネットワークI/F204を介して入力されるスキャン実行命令の情報に応じて入出力制御部213が主制御部211にスキャン実行信号を送信する。主制御部211は、入出力制御部213から受信したスキャン実行信号に基づき、エンジン制御部212を制御する。エンジン制御部212は、ADF201を駆動し、ADF201にセットされた撮像対象原稿をスキャナユニット202に搬送する。また、エンジン制御部212は、スキャナユニット202を駆動し、ADF201から搬送される原稿を撮像する。また、ADF201に原稿がセットされておらず、スキャナユニット202に直接原稿がセットされた場合、スキャナユニット202は、エンジン制御部212の制御に従い、セットされた原稿を撮像する。即ち、スキャナユニット202が撮像部として動作する。
撮像動作においては、スキャナユニット202に含まれるCCD等の撮像素子が原稿を光学的に走査し、光学情報に基づいて撮像情報が生成される。エンジン制御部212は、スキャナユニット202が生成した撮像情報を画像処理部214に転送する。画像処理部214は、主制御部211の制御に従い、エンジン制御部212から受信した撮像情報に基づき画像情報を生成する。画像処理部214が生成した画像情報は順次HDD206等の記憶領域に一時的に保持される。画像処理部214によって生成され、HDD206に保持された画像情報は、ユーザの指示に応じてそのままHDD206に格納され若しくは入出力制御部213及びネットワークI/F204を介してゲーム装置1に送信される。
次に、画像情報DBサーバ3が記憶している情報について説明する。画像情報DBサーバ3は、ゲーム装置1において処理されるゲームのキャラクターの情報を記憶している。このキャラクターの情報には、ゲームに登場するキャラクターの画像情報及び画像の特徴を示す特徴情報が含まれる。即ち、画像情報DBサーバ3がキャラクター画像記憶部として機能する。画像情報DBサーバ3が記憶している情報の例を図5に示す。
図5に示すように、画像情報DBサーバ3は、夫々の画像を一意に識別するID、画像の特徴を示す特徴情報及び画像が格納されている記憶領域を示す格納パスの情報を関連付けて記憶している。上記特徴情報は、図5に示すように、色分布、輪郭量および濃淡の情報を含む。この特徴情報については、後に詳述する。また、上記格納パスの情報は、画像情報DBサーバ3内部の記憶領域を示す。
このようなゲーム装置1、スキャナ2及び画像情報DBサーバ3において、本実施形態にかかる要旨は、ゲーム装置1に入力された画像情報に基づいて画像検索を実行することにより画像情報DBサーバ3から画像情報を取得し、ゲームを実行することにある。以下、図面を参照して、本実施形態に係るゲーム装置1の動作について説明する。
図6は、本実施形態に係るゲーム装置1及びスキャナ2の動作を示すフローチャートである。図5に示すように、先ずはスキャナ2においてスキャンを実行し、画像情報を入力する(S601)。ここで、S601においてゲーム装置1のディスプレイモニタ130に表示されるGUI(Graphical User Interface)7を図7に示す。図7に示すように、本実施形態に係るゲームのGUIは、キャラクター表示部7a、キャラクター名表示部7b、パラメータ表示部7c、スキャン実行指示部7d及びゲーム開始指示部7eを有する。図7に示すGUI7は、当該GUI7を描画するための情報を描画処理部147が生成し、その情報に基づいて表示制御部103がディスプレイモニタ130を制御することにより表示される。
S601の画像情報の入力に際して、ユーザは、図7に示すように“スキャン”ボタンとして表示されているスキャン実行指示部7dをマウス等の入力デバイス120を操作してクリックする。これにより、ゲーム装置1からスキャナ2にスキャン実行命令が送信される。具体的には、ユーザによる入力デバイス120の操作によりスキャン実行指示部7dのクリックを認識した主制御部101が、入出力制御部102を制御し、ネットワークI/F110を介してスキャナ2にスキャン実行命令を送信する。
スキャン実行命令を受信したスキャナ2は、上述した処理によってADF201若しくはスキャナユニット202にセットされた原稿をスキャンし、画像情報を生成してゲーム装置1に送信する。これにより、ゲーム装置1に画像情報が入力される。ゲーム装置1に入力された画像情報は、ネットワークI/F110、入出力制御部102を介してゲーム制御部104の画像認識部141に入力される。即ち、スキャナ2、ネットワークI/F110及び入出力制御部102が画像情報入力部として機能する。また、画像認識部141が画像取得部として機能する。画像取得部は、図2に示すRAM20にロードされたプログラムがCPU10の制御に従って動作することにより構成される。
ゲーム装置1に画像情報が入力されると、画像認識部141、画像修正部142、パラメータ生成部143及び画像検索部148の機能により、ゲームに登場するキャラクターの画像が取得され、状態記憶部144に状態情報が記憶される(S602)。ここで、S602の処理について、図8を参照して更に詳細に説明する。
図8は、S602における動作を示すシーケンス図である。画像認識部141は、スキャナ2のスキャンによって生成された画像情報を入出力制御部102から取得する(S801)。画像認識部141は、画像情報を取得すると、その画像情報からキャラクターの画像を抽出する(S802)。即ち、画像認識部141が第1のキャラクター画像取得部として機能する。ここで、S802における抽出処理について、図9(a)、図9(b)を参照して説明する。
スキャナ2から図9(a)に示すような画像が入力された場合を考える。図9(a)において、斜線で示す部分は背景である。即ち、図9(a)に示す斜線部分は、ユーザによってキャラクターが描画されていない空白部分である。この場合、画像認識部141は、図9(a)に示す画像においてユーザによって描画された画像、即ち、キャラクターの上下端及び左右端を認識する。そして、認識された上下及び左右端よりも外側の範囲を消去する。これにより、図9(b)に示すにようにキャラクターの外接矩形が認識される。
図9(a)に示す状態のまま画像をゲームに登場させた場合、キャラクターの周囲に空白部分があるため、ゲーム画面における視覚効果が損なわれる。図9(b)に示すように画像の余白を消去することにより、このような課題を解決することができる。画像認識部141は、キャラクター画像を抽出すると、抽出したキャラクター画像の情報を画像修正部142に入力する。
画像修正部142は、画像認識部141からキャラクター画像の情報を取得すると、取得した画像を修正する(S803)。画像修正部142は、取得した画像を修正することにより、ディスプレイモニタ130に表示するキャラクターの画像を生成する。尚、画像認識部141が認識した画像とは、図9(b)に示す状態の画像である。ここで、画像修正部142による画像の修正処理について、図9(b)、図9(c)及び図10を用いて説明する。
図10に示すように、画像修正部142は、修正対象の画像(以降、対象画像とする)の背景が白か黒かを判断する(S1001)。尚、本実施形態においては、2値、即ち白黒画像を例として説明する。対象画像の背景が白である場合(S1001/YES)、画像修正部142は対象画像の収縮処理を行なう(S1002)。他方、対象画像の背景が黒である場合(S1001/NO)、画像修正部142は対象画像の膨張処理を行なう(S1002)。
ここで、図11(a)、図11(b)を参照して、画像の収縮処理及び膨張処理について説明する。画像の収縮処理とは、図11(a)に示すように、画像を画素毎に夫々解析し、対象とする画素(対象画素)の隣接する画素に1つでも黒があれば、その対象画素を黒にする処理である。他方、画像の膨張処理とは、図11(b)に示すように、画像を画素毎に夫々解析し、対象画素の隣接する画素に1つでも白があれば、その対象画素を白にする処理である。
即ち、画像修正部142は、対象画像を構成する画素を解析する画素解析手段及び画素の解析結果に応じて画素の情報を修正する画素修正手段とを含む。尚、図11(a)、(b)の例においては、上下左右に斜めも含めた8近傍の画素を判断する例を示したが、上下左右のみの4近傍の画素を判断するようにしても良い。
上述したように、本実施形態においては、ユーザが手書きで紙媒体に描画した絵をスキャンにより入力する。ユーザによって手書きで描画された絵は、線が細い場合や、薄くてかすれている場合が考えられる。このような絵をスキャンしてそのままキャラクターとして表示しても、ゲーム上で見辛くなることが考えられる。これに対して、上記収縮若しくは膨張処理を行なうことにより、図9(c)に示すように、キャラクターを構成する線を太くし、ユーザが手書きで書いた絵をゲーム中で見易く表示することが可能となる。
画像の収縮処理若しくは膨張処理が完了すると、画像修正部142は、画像の背景を透明化する処理を行い(S1004)処理を終了する。このような処理により、ユーザによって入力された画像情報を元とするキャラクター画像であって、実際にゲーム画面上に表示する画像(以降、入力キャラクター画像とする)が生成される。図9(a)、図9(b)に示す状態のまま画像をゲームに登場させた場合、キャラクターの周囲の白い部分も同時に描画されてしまう。背景を透明化することにより、ゲーム画面の背景とキャラクターとを適正に重ね合わせて表示することができる。尚、S1002の収縮処理若しくはS1003の膨張処理は、画像の状態に応じて複数回繰り返しても良い。画像修正部142は、生成した入力キャラクター画像を画像認識部141に送信する。
このように、本実施形態においては、画像認識部141及び画像修正部142の機能により、ゲーム画面であるGUIに表示すべきキャラクターの表示情報であるキャラクター情報が生成される。即ち、画像認識部141及び画像修正部142がキャラクター情報取得部として機能する。
図8の説明に戻る。画像認識部141は、画像修正部142から修正された画像の情報、即ち入力キャラクター画像を取得すると、取得した画像の特徴を抽出する(S804)。S804において抽出された情報は、入力キャラクター画像の特徴を示す特徴情報であり、第1の特徴情報として用いられる。即ち、画像認識部141が、特徴情報取得部として機能する。特徴情報取得部は、図2に示すRAM20にロードされたプログラムがCPU10の制御に従って動作することにより構成される。ここで、図12に、画像認識部141が抽出する画像の特徴情報(以降、画像特徴情報とする)を示す。図12に示すように、画像認識部141が抽出する画像特徴情報は、色分布情報、輪郭量情報及び濃淡情報を含む。
ここで、色分布情報とは、S803において取得した画像の色彩の分布に関する情報である。また、輪郭量情報とは、S803において取得した画像の輪郭の量に関する情報である。また、濃淡情報とは、S803において取得した画像の色彩の濃淡に関する情報である。画像認識部141は、図12に示すように抽出した特徴情報を画像検索部148に入力する。
画像検索部148は、画像認識部141から特徴情報を取得すると、取得した特徴情報に類似する特徴情報を有するキャラクター画像を画像情報DBサーバ3から取得する(S805)。S805において取得されるキャラクター画像は、入力キャラクター画像の特徴情報に基づいて取得されるキャラクター画像であり、第2のキャラクター画像である。即ち、画像検索部148が第2のキャラクター画像取得部として機能する。類似キャラクター情報取得部は、図2に示すRAM20にロードされたプログラムがCPU10の制御に従って動作することにより構成される。S805の処理について、図13を参照して説明する。S805の処理は、ゲーム装置1と画像情報DBサーバ3との情報の送受信によって実行される。
図13に示すように、先ず、ゲーム装置1が、画像検索部148の処理により、画像情報DBサーバ3に対して類似画像の検索要求を送信する(S1301)。S1301において送信される検索要求は、検索要求であることを示すヘッダ情報及び図12に示す特徴情報を含む。画像情報DBサーバ3は、ゲーム装置1から検索要求を受信する。即ち、画像情報DBサーバ3が特徴情報取得部として機能する。画像情報DBサーバ3は、特徴情報を取得すると、自身が記憶している画像情報と受信した検索要求に含まれる特徴情報との類似度を算出する(S1302)。即ち、画像情報DBサーバ3が類似度算出部として機能する。
S1302において、画像情報DBサーバ3は、図8のS804において抽出された特徴情報と自身が記憶している画像情報の特徴情報とを比較し、その類似度を算出する。即ち、図5に示す画像特徴情報が検索インデックス情報として用いられる。この類似度の算出方法としては既存の画像検索技術を用いることができる。
S1302の処理の結果生成される情報を図14に示す。図14に示すように、画像情報DBサーバ3は、S1302の処理により、自身が記憶している夫々の画像情報のIDとその画像情報について算出された類似度とを関連付けた情報を生成する。ここで、図14に示す類似度とは、画像情報DBサーバ3が記憶している夫々の画像情報の特徴情報とゲーム装置1から入力された特徴情報との類似度を示す情報である。
画像情報DBサーバ3は、図14に示す情報を類似度に基づいてソートする。そして類似度の最も高い画像を類似画像として決定する(S1303)。即ち、画像情報DBサーバ3が、第2のキャラクター画像決定部として機能する。画像情報DBサーバ3は、類似画像を決定すると、決定した類似画像の画像情報及び類似画像の特徴情報(以降、類似画像情報とする)をゲーム装置1に送信する(S1304)。即ち、画像情報DBサーバ3が第2のキャラクター画像出力部として機能する。S1304において送信される特徴情報は、第2のキャラクター画像の特徴を示す特徴情報であり、第2の特徴情報である。ゲーム装置1に類似画像情報が入力されると、画像検索部148が、入出力制御部102を介して類似画像情報を取得する(S1305)。図13に示す画像情報DBサーバ3の夫々の機能は、図2に示すRAM20にロードされたプログラムがCPU10の制御に従って動作することにより構成される。
図8の説明に戻る。画像検索部148は、類似画像情報を取得すると、画像認識部141に類似画像情報を入力する。画像認識部141は、類似画像情報を取得すると、パラメータ生成部143に特徴情報を入力する(S806)。S806においてパラメータ生成部143に入力される特徴情報とは、S804において抽出された特徴情報及び類似画像情報に含まれる類似画像の特徴情報である。また、画像認識部141は、入力キャラクター画像及び類似画像を描画処理部147に入力する(S807)。
パラメータ生成部143は、画像認識部141から入力された特徴情報に基づき、パラメータ生成処理を行なう(S808)。S808の処理において、パラメータ生成部143は、第1の特徴情報及び第2の特徴情報の夫々に基づいてパラメータ情報を生成する。即ち、S808の処理において生成される情報は、第1のパラメータ情報及び第2のパラメータ情報である。また、パラメータ生成部143が、第1のパラメータ情報取得部及び第2のパラメータ情報取得部として機能する。第1及び第2のパラメータ情報取得部は、図2に示すRAM20にロードされたプログラムがCPU10の制御に従って動作することにより構成される。
ここで、本実施形態において、パラメータ生成部143は、S804において抽出された特徴情報及び類似画像情報に含まれる類似画像の特徴情報の夫々についてパラメータ情報を生成する。即ち、本実施形態において、パラメータ生成部143は、第1及び第2のパラメータ情報取得部として機能する。尚、画像情報DBサーバ3が図5に示す情報に加えて若しくは特徴情報の替わりにキャラクターのパラメータ情報を記憶している場合も考えられる。この場合、画像情報DBサーバ3は、図13のS1304において特徴情報ではなくパラメータ情報を送信する。この場合、画像検索部148が、第2のパラメータ情報取得部として機能する。図15にパラメータ生成部143が生成するパラメータ情報を示す。図15に示すように、キャラクターの能力を示すパラメータ情報は、キャラクターの体力の情報、攻撃力の情報及び防御力の情報を含む。
実際のゲームの処理はユーザによる操作ではなく自動で実行され、2体のキャラクターが夫々の攻撃力によって相手のキャラクターの体力を減少させることにより実行される。即ち、図15に示すパラメータ情報のうち、“体力”は、夫々のキャラクターの耐久力であり、どれだけ対戦相手の攻撃に耐えることが可能であるかを示す。また、“攻撃力”は、夫々のキャラクターが対戦相手の体力を減少させる能力であり、どれだけ対戦相手の体力を早く減少させることができるかを示す、また“防御力”は、夫々のキャラクターが相手の攻撃を受ける際に、相手の攻撃力を減少させ、以って自己の体力の減少を抑える能力を示す。
パラメータ生成部143は、S808において、図12に示す特徴情報を所定の計算式に適用することにより、図15に示すパラメータ情報を生成する。S808においてパラメータ生成部143が実行する計算については、任意の計算方法を用いることが可能であり、説明を省略する。パラメータ生成部143は、生成したパラメータ情報を、状態記憶部144に入力する。これにより、状態記憶部144は、入力キャラクター画像及び類似画像に係る夫々のパラメータを、状態情報として記憶する(S809、S602)。
S809において状態記憶部144が記憶する情報を図16に示す。図16に示すように、状態記憶部144は、2体分のキャラクターのパラメータ情報を記憶する。即ち、入力キャラクター画像のキャラクターのパラメータ及び類似画像のキャラクターのパラメータである。また、状態記憶部144は、パラメータ生成部143によって入力されたパラメータ情報に加えて、残り体力情報及び攻撃側フラグ情報を記憶している。
これらの情報は、ゲーム中のキャラクターの状態を示す情報である。パラメータ情報が生成された段階においては、残り体力情報はパラメータ情報として生成された体力と同一である。また、攻撃側フラグ情報は、夫々のキャラクターが攻撃側であることを示すフラグ情報であり、“0”/“1”の1ビットの情報で示される。このような処理により、図6のS602における処理が完了する。
図6のS602の処理が完了することにより、ディスプレイモニタ130にゲーム画面のGUIが表示される。S602の処理の結果表示されるGUI7の例を図17に示す。図17に示すように、GUI7は、入力キャラクター画像及び類似画像を含む。また、図17に示すように、キャラクター表示部7aが、入力キャラクターの画像及び類似画像を表示する。また、キャラクター名表示部7bが、入力されたキャラクターの名称を表示する。また、パラメータ表示部7cが、図15に示すパラメータ情報を帯によって表示する。
図17に示すGUI7は、描画処理部147が生成する表示情報に基づいて表示される。描画処理部147は、図8のS807において取得した入力キャラクター画像及び類似画像に基づき、図17に示すGUI7を表示するための表示情報を生成する。
図6の説明に戻る。図17に示すようなGUIが表示され、ユーザが入力デバイス120を操作することによりゲーム開始指示部7eをクリックすると、ゲーム装置1がゲーム処理を開始する(S603)。ゲームが開始されると、状態記憶部144、状態算出部145、状態解析部146及び描画処理部147によってゲーム処理が実行される(S604)。S604のゲーム処理が完了したら(S605/YES)、処理を終了する。
ここで、図18を参照して、ゲーム処理について詳しく説明する。図18は、S604における詳しい処理を示すフローチャートである。ゲームが開始されると、状態解析部146は、状態記憶部144に記憶されている攻撃側フラグ情報を設定する(S1801)。具体的には、2体のキャラクターのうち、一方の攻撃側フラグを“1”とし、他方の攻撃側フラグを“0”とする。以降、状態記憶部144に記憶されている攻撃側フラグが“1”となっているキャラクターを攻撃側キャラクター、“0”となっているキャラクターを被攻撃側キャラクターとする。
次に、状態算出部145が、状態記憶部144に記憶された情報に基づいて攻撃側キャラクターが被攻撃側キャラクターに与えるダメージの値(ダメージ値)を計算する(S1802)。ここでいうダメージ値とは、被攻撃側キャラクターの残り体力の値を減少させる値である。S1802においては、攻撃側キャラクターの攻撃力の値から被攻撃側キャラクターの防御力の値を差し引くことによってダメージ値を算出する。
ダメージ値を算出すると、状態算出部145は、算出したダメージ値を被攻撃側キャラクターの残り体力の値から差し引くことにより、被攻撃側キャラクターの残り体力の値を計算する(S1803)。状態算出部145は、残り体力の値を計算すると、算出した残り体力の値を状態記憶部144に記憶されている被攻撃側キャラクターの残り体力情報に上書きして情報を更新する。
残り体力情報の更新が完了すると、描画処理部147は、GUI7において一方のキャラクター表示部7aに表示されている攻撃側キャラクターが、他方のキャラクター表示部7aに表示されている被攻撃側キャラクターの方に動き、そして元の位置に戻るようにGUI7の表示を制御しディスプレイモニタ130の描画を更新する(S1804)。また、描画処理部147は、状態記憶部144から残り体力情報を取得し、パラメータ表示部7cにおいて“体”として表示されている帯の長さを変更するように描画を更新する(S1804)。
描画処理部147は、S1804の処理において、上述したようなキャラクターの動きやパラメータ表示部7cの変化を表示させるような表示情報を生成し、表示制御部103に入力する。即ち、描画処理部147が、表示情報生成部として機能する。表示情報生成部は、図2に示すRAM20にロードされたプログラムがCPU10の制御に従って動作することにより構成される。
状態記憶部144の情報及びディスプレイモニタ130の表示が更新されると、状態解析部146は、状態記憶部144に記憶されているパラメータ情報のうち、いずれか一方のキャラクターの残り体力の値が0以下になったか否か判定する(S1805)。残り体力の値が0以下となっている場合(S1805/YES)、状態解析部146は、残り体力の値が0になっていない方のキャラクターを勝利キャラクターとして決定し、描画処理部147に対して勝利キャラクターを示す情報及び描画更新処理の命令を入力する。
描画処理部147は、状態解析部146から入力された情報に基づき、表示制御部103を制御してゲームの勝敗を示すようににディスプレイモニタ130の表示を更新し(S1806)、処理を終了する。他方、いずれのキャラクターの残り体力の値も0になっていない場合(S1805/NO)、ゲーム制御部104は、S1801からの処理を繰り返す。
このような処理により、本実施形態に係るゲームの処理が実行される。本実施形態においては、ユーザによる操作ではなく、上述したように状態記憶部144、状態算出部145及び状態解析部146の処理によってゲームが自動的に進行する。即ち、状態記憶部144、状態算出部145及び状態解析部146が連動してゲーム実行部として機能する。ゲーム実行部は、図2に示すRAM20にロードされたプログラムがCPU10の制御に従って動作することにより構成される。ゲーム実行部は、上述したように、第1のパラメータ情報と第2のパラメータ情報との優劣を決定するように、ゲームを実行する。これにより、描画した絵から生成されたパラメータのみに基づいてゲームが進行する。従って、ユーザの操作技量に影響されること無く、入力した画像のみで勝敗を決定することができる。
以上説明したように、本実施形態に係るゲーム装置1においては、スキャンによって入力された画像に基づいて画像検索を実行し、特徴が類似する画像を対戦相手のキャラクター画像として取得する。これにより、特徴の類似するキャラクターが対戦相手として選択されるため、ランダムに対戦相手を選択する場合よりも視覚効果の高いゲームを実行することが可能となる。
また、本実施形態においては、特徴量の類似する画像を対戦相手とし、特徴量に基づいてパラメータを算出するため、入力キャラクター画像のパラメータと類似画像のパラメータとが近い値となる。これにより、一方的なゲーム展開となることを防ぐことができる。
尚、上記の説明においては、図14に示すように、体力、攻撃力及び防御力の情報を、キャラクターの性能を示すパラメータ情報とする例を説明した。これは一例であり、他の要素を入れることも可能である。例えば、各キャラクターの攻撃が対戦相手のキャラクターに命中する確立を示す命中率や、各キャラクターの調子を示す情報をパラメータ情報として設定することも可能である。これらのパラメータは、上述した用に画像認識部141によって認識された画像に基づいて算出される。
また、上記の説明においては、図1に示すように、スキャナ2によってスキャンしたキャラクター画像を表示させてゲームを実行する例を説明した。この他、ペイントソフトを用いることにより、マウスやタブレット及びタッチペン等を操作してキャラクター画像を入力することも可能である。このような例について、図19を参照して説明する。
図19は、マウスやペンタブレット及びタッチペンを操作してキャラクター画像を入力する場合のゲーム装置1の機能構成を示すブロック図である。図19に示すゲーム装置1は、ゲーム制御部104において画像取得部として機能する画像認識部141が、入出力制御部102ではなく主制御部101から入力される情報に基づいて画像情報を取得する点が図3の例と異なる。
図19の例に係るゲーム装置1の動作は、図8において説明した動作と概ね同様である。ここで、図19の例に係るゲーム装置1は、図8のS801における画像情報の取得処理が実施の形態1の態様とは異なる。以下、本実施形態に係る画像入力処理について、説明する。図20は、図19の例に係る画像入力処理においてディスプレイモニタ130に表示されるゲームのGUI7を示す図である。図20に係るGUI7は、実施の形態1の態様において設けられていたスキャン実行指示部7dに替えて画像入力開始/完了指示部7fを有する。
本実施形態に係る画像情報の入力に際して、ユーザは、図20に示すように“入力開始”ボタンとして表示されている画像入力開始/完了指示部7fをマウス等の入力デバイス120を操作してクリックする。これにより、入力デバイス120として接続されているマウスやタブレット等の機器を用いて、図20に示すキャラクター表示部7aへの画像描画が可能となる。
キャラクター表示部7aへの画像描画処理においては、先ず、主制御部101がユーザによる入力デバイス120の操作情報を画像認識部141に入力する。ここで主制御部101から画像認識部141に入力される操作情報とは、ユーザがマウスやタブレット等を操作して図形を描画した位置、即ち座標の情報である。画像認識部141は、主制御部101から上記情報を取得すると、入力された座標情報を、画像を描画する描画情報に変換して描画処理部147に入力する。描画処理部147は、画像認識部141から入力された描画情報に基づき、表示制御部103を制御してディスプレイモニタ130の表示を更新させる。
尚、図20に示すように“入力開始”ボタンとして表示されていた画像入力開始/完了指示部7fは、クリックされてキャラクター表示部7aへの画像描画が可能な状態となると、“入力完了”ボタンとして表示が切り換わる。“入力完了”と表示されている状態の画像入力開始/完了指示部7fをクリックすることにより、キャラクター画像の入力が終了し、キャラクター表示部7aに描かれた画像がキャラクター画像として画像認識部141により認識される。
図19に示す例は、例えば携帯型ゲーム機等において、ディスプレイモニタ130の機能と入力デバイス120としてのタブレットの機能とを両方有するタッチパネル等でも実現可能であり、上記実施形態と同様の効果を得ることが可能となる。
また、上記の実施形態において、ゲーム装置1は、入力されたキャラクター画像に類似する画像を対戦相手のキャラクターとして取得する。この他、入力された画像に類似しない画像を取得するようにしても良い。この場合、図13の処理において、画像情報DBサーバ3は、算出された類似度の最も低い画像を非類似画像として決定し、ゲーム装置1に送信する。これにより、入力された画像とは特長の異なる相手を対戦相手とすることができる。
本実施形態の要旨は、入力された画像を条件として画像検索を実行し、その検索の結果抽出された画像を対戦相手として用いることである。従って、画像検索の結果に基づいて抽出する画像の決定に際しては、上記類似度の最も高い類似画像若しくは類似度の最も低い非類似画像に限らず、様々な態様をも用いることができる。
また、繰り返し、連続してゲームを行なう場合、一度類似画像として抽出されたキャラクター以外のキャラクターを対戦相手として抽出することが好ましい。これにより、毎回異なったキャラクターが対戦相手として抽出されるため、より幅広いゲームを提供することが可能となる。このような場合、ゲーム装置1は、図13のS1301において送信する検索要求に、抽出済みのキャラクターのIDを含める。これにより、画像情報DBサーバ3は、検索要求に含まれる抽出済みのキャラクターのIDに基づき、ゲーム装置1に送信する画像の決定に際して、既に抽出されたキャラクターを除外することが可能となる。尚、このような場合、画像情報DBサーバ3は、ゲーム装置1にキャラクター画像を送信する際に、そのキャラクターのIDも送信する必要がある。
また、ゲーム装置1は、図13のS1301において画像情報DBサーバ3に検索要求を送信する際、キャラクターの画像情報及びその特徴情報を送信するようにしても良い。この場合、画像情報DBサーバ3は、ゲーム装置1から受信したキャラクターの画像情報及び特徴情報を図5に示すように格納する。これにより、画像情報DBサーバ3に新たなキャラクター情報が登録される。これにより、類似画像として抽出されるキャラクターの画像の幅を広げることが可能となる。
実施の形態2.
実施の形態1においては、入力された画像を条件として画像検索を実行し、その結果得られた画像を対戦相手とする例が説明されている。しかしながら、画像検索の結果得られた画像は、対戦相手として用いる以外にも様々な態様が考えられる。本実施形態においては、画像検索の結果得られた画像を味方として用いる例を説明する。
本実施形態に係るゲーム装置1は、図1において説明した運用形態、図2において説明したハードウェア構成及び図3において説明した機能構成と概ね同様の構成を有する。また、本実施形態に係るゲーム装置1は、図6及び図8のフローチャートと同様の処理により動作する。本実施形態に係るゲーム装置1は、ゲーム画面のGUI及び類似画像として取得した画像の用い方が実施の形態1と異なる。
図21を参照して、本実施形態に係るGUI7について説明する。図21に示すように、本実施形態に係るGUI7は、キャラクター表示部7a、キャラクター名表示部7b及びパラメータ表示部7c(以降、キャラクター表示部とする。)を各4つ有する。図21に示すGUI7は、当該GUI7を描画するための情報を描画処理部147が生成し、その情報に基づいて表示制御部103がディスプレイモニタ130を制御することにより表示される。
本実施形態においては、図21に示すようにキャラクター表示部を4つ設けることにより、最大4つのキャラクターが対戦に参加する。対戦に参加する4つのキャラクターの取得態様が本実施形態の特徴である。本実施形態においても、図13において説明した例と同様に、ゲーム装置1がS804において抽出した特徴情報を含む検索要求を画像情報DBサーバ3に送信する。これにより、画像情報DBサーバ3が、図13の処理と同様に、類似度を算出する。
ここで、本実施形態に係る画像情報DBサーバ3は、類似度の最も高い画像を類似画像として決定する。また、画像情報DBサーバ3は、類似度の最も低い画像及び2番目に低い画像を非類似画像として決定する。そして、類似画像及び非類似画像をゲーム装置1に送信する。これにより、ゲーム装置1は、1つの類似画像及び2つの非類似画像を取得する。その後は、図8のS805と同様に処理が実行される。
ここで、本実施形態に係るゲーム装置1において、図8のS807においてキャラクター画像が入力された後のゲーム装置1のGUIを図22に示す。図22に示すように、本実施形態に係るゲーム装置1は、類似画像を味方キャラクターとして、非類似画像を対戦相手キャラクターとして夫々用いる。即ち、ゲーム装置1は、入力画像及び類似画像側の陣営と、非類似画像側の陣営とで対戦を行なうようにゲームを実行する。
次に、本実施形態に係るゲーム装置1のゲーム動作について、図23を参照して説明する。まず、状態解析部146は、状態記憶部144に記憶されている攻撃側フラグ情報を設定する(S2301)。具体的には、4体のキャラクターのうち、いずれか1体の攻撃側フラグを“1”とし、他のキャラクターの攻撃側フラグを“0”とする。
次に、状態算出部145が、状態記憶部144に記憶された情報に基づき、攻撃側キャラクターが被攻撃側キャラクターに与えるダメージの値(ダメージ値)を計算する(S2302)。尚、本実施形態においては、攻撃側キャラクターとは異なる陣営に属するキャラクターのいずれかを被攻撃キャラクターとする。
ダメージ値を算出すると、状態算出部145は、被攻撃側キャラクターの残り体力の値を計算する(S2303)。状態算出部145は、残り体力の値を計算すると、算出した残り体力の値を状態記憶部144に記憶されている被攻撃側キャラクターの残り体力情報に上書きして情報を更新する。そして、描画処理部147は、表示制御部103を制御し、ディスプレイモニタ130の描画を更新する(S2304)。
S2304の処理において、描画処理部147は、GUI7に表示されている攻撃側キャラクターが、被攻撃側キャラクターの方に動き、そして元の位置に戻るように表示情報を生成する。また、描画処理部147は、状態記憶部144から残り体力情報を取得し、パラメータ表示部7cにおいて“体”として表示されている帯の長さを変更するように描画を更新する(S2304)。
状態記憶部144の情報及びディスプレイモニタ130の表示が更新されると、状態解析部146は、状態記憶部144に記憶されているパラメータ情報のうち、攻撃を受けたキャラクターの残り体力の値が0以下になったか否か判定する(S2305)。残り体力の値が0以下となっている場合(S2305/YES)、状態解析部146は、そのキャラクターを敗北キャラクターとして決定し、描画処理部147に対して描画更新処理の命令を入力する。
描画処理部147は、状態解析部146から入力された情報(敗北キャラクターの情報)に基づき、表示制御部103を制御して、残り体力の値が0以下となったキャラクターを敗北キャラクターとするようにディスプレイモニタ130の表示を更新する(S2306)。
S2306の処理の後、一方の陣営のキャラクターが2体とも敗北キャラクターとなった場合(S2307/YES)、状態解析部146は、キャラクターが残っている方の陣営を勝利陣営として決定する。そして、状態解析部146は、描画処理部147に対して勝利陣営を示す情報及び描画更新処理の命令を入力する。描画処理部147は、状態解析部146から入力された情報に基づき、表示制御部103を制御してゲームの勝敗を示すようににディスプレイモニタ130の表示を更新し(S2308)、処理を終了する。
他方、いずれのキャラクターの残り体力の値も0になっていない場合(S2305/NO)若しくはいずれの陣営にもキャラクターが残っている場合(S2307/NO)、ゲーム制御部104は、S2301からの処理を繰り返す。このような処理により、本実施形態に係るゲームの処理が実行される。
本実施形態に係る画像情報DBサーバ3は、入力された画像に類似する類似画像及び類似しない非類似画像を抽出し、ゲーム装置1に送信する。ゲーム装置1は、類似画像を味方とし、非類似画像を敵とする。即ち、ゲーム装置1は、似たキャラクター同士が味方となり、似ていないキャラクターが敵同士となるようにゲームを実行する。換言すると、第1のパラメータ情報と第2のパラメータ情報との組み合わせと、他のパラメータ情報の組み合わせとの優劣を決定するようにゲームを実行する。これにより、視覚効果の高いゲームを提供することが可能となる。
尚、上記実施形態においては、図22において説明したように、2つの陣営に分かれて対戦する例を説明した。この他、陣営を分けず、4体のキャラクターが夫々別々で対戦するようにしても良い。この場合、画像検索部148は、類似度の高い画像、類似度の低い画像及び類似度の中程度の画像を抽出することができる。これにより、似ているキャラクター、似ていないキャラクターどちらでもないキャラクターが抽出され、視覚効果を高めることができる。
また、図6のS601において、2人のユーザが夫々画像を入力するようにしても良い。この場合、画像認識部141は、図8の801において、2つの画像情報を取得する。この場合、2つの画像情報が夫々入力キャラクター画像として用いられる。画像認識部141は、2つの特徴情報を画像検索部148に入力する。画像検索部148は、図13のS1301において、2つの特徴情報を含む検索要求を画像情報DBサーバ3に送信する。
画像情報DBサーバ3は、夫々の特徴情報について画像検索を実行し、夫々の特徴情報の類似画像を抽出する。画像情報DBサーバ3は、抽出した2つの類似画像をゲーム装置1に送信する。このような処理により、ユーザ同士の対戦を実行する場合において、各ユーザは類似画像を味方として対戦ゲームを行なうことができる。これにより、ユーザ同士の対戦ゲームにおいても、視覚効果を高めることができる。また、抽出される味方キャラクターによっても勝敗が左右されるため、勝敗決定要因の幅の広いゲームを提供することが可能となる。
実施の形態3.
実施の形態1、2においては、図1に示すように、ゲーム装置1が、ネットワークを介して接続されたスキャナ2から画像情報を取得して動作する例を説明した。本実施形態においては、ゲーム装置1の一態様として、スキャナ等の画像入力機能を有する画像処理装置をゲーム装置として構成する例を説明する。尚、実施の形態1、2と同様の符号を付す構成については実施の形態1と同一又は相当部を示し、説明を省略する。
図24は、本実施形態に係るゲーム装置としての画像処理装置4の構成を示すブロック図である。尚、画像処理装置4は、図2に示す構成と同様のハードウェア構成を有する。図24に示すように、本実施例に係る画像処理装置4は、コントローラ100、ADF(Auto Document Feeder:原稿自動搬送装置)111、スキャナユニット112、排紙トレイ113、ネットワークI/F110、ディスプレイパネル131、給紙テーブル114、プリントエンジン115及び排紙トレイ116を有する。本実施形態に係る画像処理装置4は、プリンタ、スキャナ、複写機及びファクシミリ等の機能を有するMFP(Multi Function Peripheral)として構成される。
また、コントローラ100は、主制御部101、入出力制御部102、操作表示制御部123、ゲーム制御部104、エンジン制御部105及び画像処理部106を有する。尚、図24においては、電気的接続を実線の矢印で示しており、用紙の流れを破線の矢印で示している。コントローラ100は、実施の形態1と同様に、ソフトウェアとハードウェアとの組み合わせによって構成される。
ディスプレイパネル131は、実施の形態1における入力デバイス120及びディスプレイモニタ130の機能を有する。即ち、ディスプレイパネル131は、画像処理装置4の状態を視覚的に表示する出力インタフェースであると共に、タッチパネルとしてユーザが画像処理装置4を直接操作する際の入力インタフェースでもある。
エンジン制御部105は、プリントエンジン115やスキャナユニット112等を制御若しくは駆動する駆動手段としての役割を担う。入出力制御部102は、ネットワークI/F110を介して入力される印刷ジョブ等の情報を主制御部111に入力する。また、入出力制御部102は、主制御部101の命令に従ってネットワークI/F110を介してネットワークに接続された他の装置に情報を送信する。
画像処理部106は、主制御部101の制御に従い、印刷ジョブに含まれる情報等に基づいて描画情報を生成する。この描画情報とは、プリントエンジン115が画像形成動作において形成すべき画像を描画するための情報である。また、画像処理部106は、スキャナユニット112から入力される撮像データを処理し、画像情報を生成する。この画像情報とは、スキャナ動作の結果物として図示しないHDDに格納され若しくはネットワークI/F110を介して他の情報端末に送信される情報である。本実施形態において、画像処理部106は、スキャンに応じて生成した画像情報をゲーム制御部104に入力する。
操作表示制御部123は、実施の形態1に係る表示制御部103と同様に、主制御部101の制御に従い、ディスプレイパネル131に情報を表示させる。また、操作表示制御部123は、ディスプレイパネル131からユーザによって入力される操作情報を主制御部111に入力する。ゲーム制御部104は、実施の形態1、2と同様の構成であり、図3若しくは図19と同様の構成を有する。
画像処理装置4がプリンタとして動作する場合は、まず、入出力制御部102がネットワークI/F110に接続されたUSBやLANを介して印刷ジョブを受信する。これにより、画像処理装置4において、印刷ジョブが発生する。印刷ジョブが発生すると、主制御部101は、印刷ジョブに含まれる画像情報を画像処理部106に入力する。画像処理部106は、主制御部101の命令に従い、入力された画像情報に基づいて描画情報を生成する。画像処理部106によって生成された描画情報は、HDD40に一時的に保持される。
エンジン制御部105は、主制御部101の制御に従い、給紙テーブル114を駆動して印刷用紙をプリントエンジン115に搬送する。また、エンジン制御部105は、HDD40に保持された描画情報を取得し、プリントエンジン115に入力する。プリントエンジン115は、エンジン制御部105から受信した描画情報に基づき、給紙テーブル114から搬送される用紙に対して画像形成を実行する。即ち、プリントエンジン115が画像形成部として動作する。プリントエンジン115の具体的態様としては、インクジェット方式による画像形成機構や電子写真方式による画像形成機構等を用いることが可能である。プリントエンジン115によって画像形成が施された文書は排紙トレイ116に排紙される。
画像処理装置4がスキャナとして動作する場合は、ユーザによるディスプレイパネル131の操作若しくはネットワークI/F110を介して入力されるスキャン実行指示に応じて、操作表示制御部123若しくは入出力制御部102が主制御部101にスキャン実行信号を送信する。主制御部101は、受信したスキャン実行信号に基づき、エンジン制御部105を制御する。エンジン制御部105は、ADF111を駆動し、ADF111にセットされた撮像対象原稿をスキャナユニット112に搬送する。
また、エンジン制御部105は、スキャナユニット112を駆動し、ADF111から搬送される原稿を撮像する。また、ADF111に原稿がセットされておらず、スキャナユニット112に原稿がセットされている場合、スキャナユニット112は、エンジン制御部105の制御に従い、セットされた原稿を撮像する。即ち、スキャナユニット112が撮像部として動作する。
撮像動作においては、スキャナユニット112に含まれるCCD等の撮像素子が原稿を光学的に走査し、光学情報に基づいて撮像情報が生成される。エンジン制御部105は、スキャナユニット112が生成した撮像情報を画像処理部106に転送する。画像処理部106は、主制御部101の制御に従い、エンジン制御部105から受信した撮像情報に基づき画像情報を生成する。画像処理部106が生成した画像情報はHDD40に一時的に保持される。
画像処理部106によって生成され、HDD40に保持された画像情報は、ユーザの指示に応じて格納され若しくは入出力制御部102及びネットワークI/F110を介して外部の情報端末に送信される。本実施形態においては、上記保持された画像情報は、ゲーム制御部104に入力される。また、画像処理装置4が複写機として動作する場合は、エンジン制御部105がスキャナユニット112から受信した撮像情報に基づき、画像処理部106が描画情報を生成する。その描画情報に基づいてプリンタ動作の場合と同様に、エンジン制御部105がプリントエンジン115を駆動する。
このような画像処理装置4においては、本実施形態は、実施の形態1、2において説明したゲーム動作を画像処理装置4が単体で実行可能であることが要旨の1つとなる。本実施形態に係る画像処理装置4がゲームを実行する際の動作は、図6において説明した動作と略同様である。ここで、実施形態においては、図6のS601の処理を実行する装置が、画像処理装置4であることが実施の形態1とは異なる。
即ち、本実施形態においては、上記説明したエンジン制御部105、画像処理部106及びスキャナユニット112が動作することにより生成された画像情報がゲーム制御部104の画像認識部141に入力される。即ち、スキャナユニット112、エンジン制御部105及び画像処理部106が画像情報入力部として機能する。以降の処理は、実施の形態1と同様に実行される。
尚、実施の形態1において入力デバイス120及びディスプレイモニタ130が果たしていた機能は、本実施形態においては、ディスプレイパネル131が果たす。即ち、ディスプレイパネル131が、図7に示されるようなGUIを表示する。また、ユーザは、ディスプレイパネル131に表示されたGUIをタッチすることにより、スキャンの実行指示やゲーム開始の指示の命令を入力する。
以上説明したように、本実施形態に係る画像処理装置4は、単体で実施の形態1、2において説明したゲームを実行可能である。従って、ゲーム装置とスキャナとを別個に用意する必要がない。また、ゲーム制御部104の機能を画像処理装置4に搭載することにより、付加価値を加えた画像処理装置を提供することが可能となる。
実施の形態4.
本実施形態においては、ネットワークを介して対戦が可能なゲームシステムの例を説明する。尚、実施の形態1〜3と同様の符号を付す構成については、同一又は相当部を示し、説明を省略する。
図25は、本実施形態に係るゲームシステムの運用形態の例を示す図である。本実施形態に係るゲームシステムは、PC6、スキャナ2、ゲームサーバ5及びMFP8を含む。PC6、ゲームサーバ5及びMFP8は、インターネット回線等の公衆回線網であるネットワーク9を介して通信可能に接続されている。本実施形態においては、ゲームサーバ5の処理により、PC6を操作しているユーザとMFP8を操作しているユーザとの間での対戦が可能となる。即ち、本実施形態においては、ネットワーク9を介しての対戦が可能となる。
PC6は、ユーザが操作する一般的な情報処理端末であり、図2において説明したハードウェア構成を有する。PC6は、スキャナ2と接続されている。これにより、PC6は、スキャナ2がスキャンして生成した画像情報を処理可能となる。MFP8は、プリンタ、スキャナ、複写機及びファクシミリ等の機能を有する複合機としての画像処理装置である。本実施形態に係るMFP8は、図24に示す画増処理装置4が有する構成のうち、ゲーム制御部104以外の構成を有する。ゲームサーバ5は、本実施形態においてゲーム装置として動作する。図26に本実施形態に係るゲームサーバ5の構成を示す。
図26に示すように、本実施形態に係るゲームサーバ5は、図3において説明したゲーム装置1と略同様の構成を有する。ここで、本実施形態に係るゲームサーバ5のゲーム制御部104は、画像検索部148に替えてログイン制御部149を更に有する。また、ゲームサーバ5は、ゲーム装置1が有する機能のうち、入力デバイス120、ディスプレイモニタ130及び表示制御部103の機能が省略されて構成されている。
ログイン制御部149は、実施の形態1に係る画像検索部148及び画像情報DBサーバ3の機能を有する。即ち、ログイン制御部149は、図5に示す情報を記憶している。更にログイン制御部149は、本実施形態に係るゲームシステムにおいて、PC6やMFP8からのアクセスを管理する。また、ログイン制御部149は、PC6やMFP8を操作しているユーザのログインに関する情報及びユーザによって入力されたキャラクターの画像情報を記憶している。
図27に、ログイン制御部149が図5に示す情報に加えて記憶している情報(以降、ログイン情報とする)の例を示す。図27に示すように、ログイン情報は、ユーザID、IPアドレス、パラメータ情報及び画像格納パスの情報を含む。ユーザIDは、PC6若しくはMFP8を操作してログインしているユーザを一意に識別する情報である。IPアドレスは、PC6、MFP8のネットワーク9におけるアドレスを示す情報である。
パラメータ情報は、夫々のユーザによって入力されたキャラクター画像のパラメータ情報であり、図15に示す情報と同様である。画像格納パスは、ログイン制御部149においてキャラクター画像情報が記憶されている記憶領域を示す情報である。ログイン制御部149は、ゲームシステムにログインしているユーザのログイン情報のみを記憶している。即ち、ログイン制御部149は、ゲームシステムからログアウトしたユーザのログイン情報を破棄する。
次に、本実施形態に係るゲームシステムの動作について説明する。図28は、本実施形態に係るゲームシステムの動作を示すシーケンス図である。図28においては、MFP8を操作するユーザが起点となって処理が実行される例を説明する。先ず、MFP8が、ユーザの操作に応じてゲームサーバ5からログイン画面を表示するための情報を取得し、MFP8のディスプレイパネルに表示する(S2801)。S2801において表示されるログイン画面のGUIの例を図29に示す。
図29に示すように、ログイン画面のGUIは、ユーザIDを入力する入力部と、スキャン及びログインの実行を指示するボタンを有する。ユーザは、ディスプレイパネル上に表示されたログイン画面のボタン部分をタッチすることにより、スキャン及びログインの実行を指示する。図29に示すGUIの情報には、MFP8のスキャナユニットを制御するためのコマンド情報も含まれる。
MFP8は、ユーザの指示に応じてスキャンを実行し、ゲームサーバ5に対してログイン要求を送信する(S2802)。MFP8が、S2802においてゲームサーバ5に送信する情報(以降、ログイン要求情報とする)の例を図30に示す。図30に示すように、ログイン要求情報は、ログイン要求であることを示すヘッダ情報、MFP8のIPアドレス情報及びスキャンによって生成された画像情報を含む。
入出力制御部102は、ネットワークI/F110が受信したログイン要求情報を取得する。入出力制御部102は、取得したログイン要求情報をゲーム制御部104のログイン制御部149に入力する。ログイン要求情報を受信したゲーム制御部104は、ログイン要求情報に含まれる画像情報に基づいてパラメータを生成する(S2803)。S2803の処理においては、図8のS802、S803、S804及びS808と同様の処理が実行される。
S2803の処理においては、先ず、ログイン制御部149が、受信したログイン要求情報に含まれる画像情報を画像認識部141に入力する。画像認識部141は、取得した画像情報を認識し、画像情報からキャラクターの画像を抽出する。(S802)。画像認識部141は、抽出したキャラクターの画像を画像修正部142に入力する。画像修正部142は、入力されたキャラクターの画像を修正する(S803)。画像修正部142は、修正したキャラクターの画像情報をログイン制御部149及び画像認識部141に入力する。
画像認識部141は、画像修正部142から入力されたキャラクターの画像の特徴を抽出する(S804)。パラメータ生成部143は、画像認識部141が特徴の抽出を完了すると、抽出された特徴に基づいてパラメータ情報を生成する(S808)。パラメータ生成部143は、生成したパラメータ情報をログイン制御部149に入力する。
ログイン制御部149は、MFP8から受信したログイン要求情報、画像認識部141から取得したキャラクター画像情報及びパラメータ生成部143から取得したパラメータ情報をログイン情報として記憶する。これにより、図27において説明したようなログイン情報が生成される。
ゲームサーバ5は、パラメータ情報の生成が完了すると、ログイン要求の送信元であるMFP8に対して、対戦相手の選択画面を表示させるための画面表示情報を送信する(S2804)。S2804において送信される画面表示情報は、ログイン制御部149が記憶している全てのログイン情報を含む。S2804においては、ログイン制御部149が画面表示情報を生成し、生成した画面表示情報を入出力制御部102に入力する。これにより、入出力制御部102が、ネットワークI/F110を介して、MFP8に画面表示情報を送信する。
MFP8は、ゲームサーバ5から画面表示情報を受信すると、ディスプレイパネルに対戦相手の選択画面を表示する(S2805)。ここで、S2805において表示される対戦相手の選択画面のGUIを図31に示す。図31に示すように、対戦相手の選択画面のGUIは、自キャラクターを表示する部分(以降、自キャラクター表示部とする)と、ゲームシステムにログインしているユーザ及びそのキャラクターを表示する部分(以降、相手キャラクター表示部とする)とを有する。これらの情報は、画面表示情報に含まれているログイン情報に基づいて表示されている。相手キャラクター表示部には、夫々キャラクター毎に対戦要求ボタンが設けられている。ユーザによってこの対戦要求ボタンがタッチされると、MFP8は、そのキャラクターとの対戦要求をゲームサーバ5に送信する(S2806)。
S2806において送信される情報には、対戦要求であることを示すヘッダ情報及び指定された対戦相手を識別する識別情報が含まれる。この識別情報としては、例えば上述したユーザIDを用いることができる。ゲームサーバ5は、対戦要求を受信すると、上記識別情報で指定されている対戦相手のIPアドレスを宛先として、対戦要求を通知する(S2807)。本実施形態においては、PC6を操作するユーザが対戦相手である場合を例とする。
PC6は、対戦要求の通知を受けると、要求を承諾するか否かの回答をユーザに入力させる画面をLCD等の表示部に表示する。PC6は、ユーザの操作に応じて、対戦要求の承諾通知をゲームサーバ5に送信する(S2808)。尚、PC6を操作しているユーザが対戦を拒否した場合、その時点で処理を終了する。ゲームサーバ5は、PC6から対戦要求の承諾通知を受けると、MFP8を操作するユーザのキャラクター画像及びPC6を操作するユーザのキャラクター画像を夫々条件として画像検索を実行する(S2809)。
上述したように、本実施形態に係るログイン制御部149は、実施の形態1に係る画像検索部148及び画像情報DBサーバ3の機能を含む。従って、S2809の処理においては、図13において説明した処理がログイン制御部149の内部において実行される。ゲームサーバ5は、S2809の処理により類似画像を取得すると、MFP8及びPC6に対してゲーム開始通知を送信する(S2810)。
ここで、S2410の処理においては、図22において説明したGUIを表示するための情報が送信される。ここで、本実施形態においては、実施の形態2において説明した態様と同様に、類似画像として取得されたキャラクターが味方となるように表示される。即ち、MFP8のキャラクター画像の類似画像として抽出されたキャラクターは、MFP8のキャラクターの味方として表示される。また、PC6のキャラクター画像の類似画像として抽出されたキャラクターは、PC6のキャラクター画像の類似画像として表示される。
また、S2410の処理においては、ログイン制御部149が、描画処理部147にキャラクター画像及びIPアドレス情報を入力する。ここで入力されるキャラクター画像は、対戦の対象となっているMFP8及びPC6からログインしているユーザのキャラクター画像並びに夫々の類似画像である。また、入力されるIPアドレス情報は、MFP8及びPC6のIPアドレス情報である。また、ログイン制御部149は、状態記憶部144にパラメータ情報を入力する。ここで入力されるパラメータ情報は、MFP8及びPC6からログインしているユーザのパラメータ情報及びS2809において取得された類似画像のキャラクターのパラメータ情報である。
描画処理部147は、ログイン制御部149から入力されたキャラクター画像及び状態記憶部144に記憶された情報に基づき、上記GUIを表示するための情報を生成する。そして、描画処理部147は、入力されたIPアドレス情報及び上記生成したGUIを表示するための情報を入出力制御部102に通知する。入出力制御部102は、通知されたIPアドレスを宛先として、上記GUIを表示するための情報を送信する。これにより、MFP8が、ゲーム画面を表示する(S2811)。また、PC6が、ゲーム画面を表示する(S2812)。
ゲームサーバ5は、ゲーム開始通知を送信すると、ゲーム処理を実行し、処理の情報をMFP8及びPC6に送信する(S2813)。S2813の処理においては、図23にと同様に処理が実行される。ここで、本実施形態において、描画処理部147は、図23のS2304、S2306及びS2308に対応する処理として、IPアドレス情報及び更新した表示情報を入出力制御部102に入力する。入出力制御部は、入力されたIPアドレスを宛先として、入力された表示情報を送信する。これにより、MFP8が、ゲーム画面を更新する(S2814)。また、PC6が、ゲーム画面を更新する(S2815)
このような処理により、本実施形態に係るゲームシステムの処理が完了する。本実施形態においては、ゲームサーバ5が、ネットワーク9を介してゲームを提供する。これにより、離れた位置にいるユーザ間での対戦が可能となる。従って、ユーザは、対戦相手を用意することなくゲームを楽しむことが可能となる。また、ゲームサーバ5を設けてログイン情報を管理することにより、各ユーザは、現在対戦可能な他のユーザの情報を図31に示す画面で容易に確認することができる。
尚、上記の説明においては、ゲームサーバ5が、ゲーム装置としての機能を提供するゲーム制御部104の全機能を有する例を説明した。この他、ゲームサーバ5は、ゲーム制御部104に含まれる構成のうち、上述したログイン制御部149のみを有するようにしても良い。この場合、ゲーム制御部104の他の機能は、図3若しくは図24において説明したように、PC6若しくはMFP8において提供される。このような例の動作について、図32に示す。図32は、ゲームサーバ5がログイン制御部149を有し、ログイン制御のみを実行する場合の動作を示すシーケンス図である。
図32の例の場合、S3201〜S3212までは図28のS2801〜S2812と同様に処理が実行される。MFP8は、S3211においてゲーム画面を表示した後、ゲーム処理を実行し、処理の情報をPC6に送信する(S3213)。MFP8は、S3213の処理においても、図28のS2813と同様に、図23において説明した処理を実行する。
そして、MFP8は、図23のS2304、S2306及びS2308に対応する処理として、自身の表示部に表示されたゲーム画面を更新する(S3214)。また、MFP8は、図23のS2304、S2306及びS2308に対応する処理として、PC6に対して更新した表示情報を送信する。PC6は、更新された表示情報を受信すると、ゲーム画面を更新する(S3215)。
ゲームサーバ5が実行すべき処理は、ゲームシステムを利用するユーザ数に応じて増加する。そして、ゲームサーバ5が実行すべき処理の量をゲームサーバ5の処理能力が上回ると、システムの障害が発生する可能性がある。図32の例においては、ゲームサーバ5が実行すべき処理を低減することが可能であるため、好ましい。
また、図32の例においては、対戦要求側であるMFP8がゲーム処理を実行する例を説明した。しかしながら、同一のパラメータに基づいて自動的にゲーム処理を実行すれば、同一の結果が得られるはずである。従って、図33に示すように、ゲーム開始の通知(S3310)以降は、MFP8、PC6の夫々がゲーム処理を実行するようにしても良い。この場合、ゲーム画面を更新するための表示情報を送信する必要がないため、ネットワーク負荷を低減することが可能となる。図32のシーケンス図は、図32の処理と略同一であるため、説明を省略する。
また、上記の説明においては、ゲームサーバ5がログイン制御部149の機能に基づいてユーザのログインを制御する例を説明した。これにより、ユーザは、図31において説明した画面を用いて対戦相手を選択することが可能となる。この他、予め対戦相手のIPアドレスが判明している場合、ゲームサーバ5を設けることなく上記と同様の効果を得ることも可能である。そのような例について、図34に示す。
図34は、PC6とMFP8との間で直接キャラクター情報を交換してゲームを実行する例を示すシーケンス図である。図34の例の場合、PC6、MFP8は、夫々図3、図24において説明したように、ゲーム制御部104の機能を有する。MFP8は、ユーザの指示に応じてスキャンを実行し、上述した処理と同様の処理によりパラメータ情報を生成する(S3401)。そして、MFP8は、ユーザから入力されたIPアドレスを宛先として、対戦要求を送信する(S3402)。
S3402において送信される対戦要求には、MFP8において生成されたキャラクター画像、パラメータ情報及びMFP8のIPアドレスの情報が含まれる。PC6は、対戦要求を受信すると、ユーザの操作に応じて、対戦要求の承諾通知を送信する(S3403)。S3403において送信される承諾通知には、PC6において生成されたキャラクター画像、パラメータ情報が含まれる。
MFP8は、PC6から承諾通知を受信すると、MFP8を操作するユーザのキャラクター画像及びPC6を操作するユーザのキャラクター画像を夫々条件として画像検索を実行し、類似画像を取得する(S3404)。MFP8は、類似画像を取得すると、PC6に対してゲーム開始通知を送信する(S3405)。S3405において送信される情報は、S2810と同様に、図22において説明したGUIを表示するための情報を含む。これにより、MFP8がゲーム画面を表示する(S3406)。また、PC6がゲーム画面を表示する(S30407)。
MFP8は、ゲーム画面を表示した後、ゲーム処理を実行し、処理の情報をPC6に送信する(S3408)。MFP8は、S3408の処理においても、図28のS2813と同様に、図23において説明した処理を実行する。そして、MFP8は、図23のS2304、S2306及びS2308に対応する処理として、自身の表示部に表示されたゲーム画面を更新する(S3409)。また、MFP8は、図23のS2304、S2306及びS2308に対応する処理として、PC6に対して更新した表示情報を送信する(S3408)。PC6は、更新された表示情報を受信すると、ゲーム画面を更新する(S3410)。
このような処理により、ゲームサーバ5を設けることなく、個人のユーザ間でのネットワークを介した対戦が可能となる。また、図35に示すように、図34のS3405以降は、MFP8、PC6の夫々で処理を実行するようにしても良い。この場合、図33の例と同様に、ゲーム画面を更新するための表示情報を送信する必要がないため、ネットワーク負荷を低減することが可能となる。図35のシーケンス図は、図34の処理と略同一であるため、説明を省略する。
尚、上記の説明においては、MFP8が処理の起点となる場合を例として説明した。この他、PC6が処理の起点となる場合であっても、上記と同様に処理を実行することが可能であり、同様の効果を得ることが可能である。
また、上記の説明においては、図5に示すように、既に格納されているキャラクターから類似画像若しくは非類似画像を抽出するために画像検索を実行する例を説明した。この他、画像情報DBサーバ3を設けず、ユーザによって入力されたキャラクター画像のみでゲームを実行する場合に、画像検索を用いることも考えられる。例えば、複数のキャラクターが対戦に参加する場合のチーム分けを画像の類似度に基づいて行っても良い。そのような例について、以下に説明する。
図36は、画像情報DBサーバ3を設けない場合におけるゲームシステムの運用形態を示す図である。近年、IEEE802.11b等の無線通信機能を有するモバイルPCや携帯型液晶ゲームが流通している。図36の例においては、そのような携帯型の情報端末6a〜6dを例として説明する。情報端末6a〜6dは、図19において説明したゲーム装置1と略同様の構成を有する。即ち、情報端末6a〜6dは、マウスやタブレット等を用いて若しくは情報端末の表示部をタッチペン若しくは指等でタッチすることにより直接画像情報を入力することが可能な情報端末である。また、情報端末6a〜6dは、実施の形態1に係る画像情報DBサーバ3や、本実施形態に係るログイン制御部149のように、画像の特徴の類似度を算出する機能、即ち画像検索機能を有する。
図36に示すように、情報端末6a〜6dは、搭載された無線通信機能により、アクセスポイント等を介することなく、相互に直接通信することが可能である。従って、図36の例においては、図34若しくは図35において説明した動作に準ずる形態でゲームが実行される。
次に、図36の例に係るゲームシステムの動作について説明する。図37は、図36の例に係るゲームシステムの動作を示すフローチャートである。まず、情報端末6a〜6dがセッションを確立する(S3701)。S3701の例においては、情報端末6a〜6dのうちいずれか1つが、親機となってセッションを募集するセッション募集信号を発信する。以下の説明においては、情報端末6aが親機となった場合を例とする。親機となった情報端末6a以外の情報端末6b〜6dは、情報端末6aから受信したセッション募集信号に対してセッション要求信号を返信する。これにより、情報端末6a〜6dの間にセッションが確立される。
次に、情報端末6a〜6dは、各情報端末の操作者であるユーザによって入力された画像を認識し、特徴情報を抽出する(S3702)。S3702の処理においては、まず、図19において説明したように、ユーザが、入力デバイス120を介して直接画像情報を入力する。そして、図8において説明したように、画像認識部141がキャラクター画像を抽出する(S802)。そして、画像修正部142がキャラクター画像を修正する(S803)。更に、画像認識部141が特徴情報を抽出する(S804)。
各情報端末6a〜6dは、S3702において抽出されたキャラクター画像及び特徴情報を、無線通信を介して他の情報端末に送信する。これにより、各情報端末6a〜6dは、他のユーザの入力に係るキャラクター画像及び特徴情報を取得する(S3703)。各情報端末6a〜6dは、S3703において取得した特徴情報に基づき、夫々のキャラクター画像の類似度を算出する。そして、各情報端末6a〜6dは、算出した類似度に基づいて情報端末6a〜6d夫々のキャラクターのチーム分けを行なう(S3704)。
S3704の処理において、情報端末6a〜6dは、図13において画像情報DBサーバ3の処理として説明したように、S3704において取得した特徴情報に基づいて画像の類似度を算出する。そして、情報端末6a〜6dは、算出した類似度の高いキャラクター同士が味方同士になるように、チーム分けを実行する。
例えば、図38に示すような類似度が算出された場合、類似度が最も高いのは情報端末6bと情報端末6dとの組み合わせである。しかしながら、情報端末6aと情報端末6cとの組み合わせは類似度が低い。このような場合、情報端末6a〜6dは、2組の類似度の合計が最も高くなるようにチーム分けを行なう。
図38の例においては、情報端末6aと情報端末6dを同じチームとし、情報端末6bと情報端末6cとを同じチームとすることにより、類似度の合計が“75”で最大となる。尚、類似度が低いキャラクター同士がチームになることを考慮せず、最も類似度が高いキャラクター同士を一方のチームとし、残りを他方のチームとしても良い。このような場合、図38の例においては、情報端末6bと情報端末6dとを同じチームとし、情報端末6aと情報端末6cとを同じチームとする。
尚、S3704の処理は、親機である情報端末6aのみが実行してその結果の情報を他の情報端末6b〜6cに送信するようにしても良いし、各情報端末6a〜6dが夫々独自に実行しても良い。各情報端末6a〜6dが夫々独自に実行する場合であっても、同一の情報に基づいて処理を実行する限り、同一の結果が得られる。従って、異なる情報端末において異なる結果となり、ゲーム処理に矛盾が生じることがない。
チーム分けが完了すると、情報端末6a〜6dは、キャラクター画像のパラメータを生成し、状態を記憶する(S3705)。S3705の処理においては、図8において説明したように、パラメータ生成部143がパラメータ情報を生成する。また、状態記憶部144が状態情報を記憶する。
S3705の処理においては、情報端末6a〜6dの入力に係る全キャラクターのパラメータが生成される。全キャラクターのパラメータ生成に際しては、例えば親機である情報端末6aが全キャラクターのパラメータを生成し、他の情報端末6b〜6dに送信する。または、情報端末6a〜6dが夫々全キャラクターのパラメータを生成する。更には、情報端末6a〜6dが、S3702において入力された画像情報に係るキャラクター、即ち、自己のキャラクターのパラメータを生成し、他の情報端末に送信するようにしてもよい。
情報端末6a〜6dは、S3705が完了すると、ゲームを開始する(S3706)。以降の処理は、図6において説明したS604以降と同様に実行される。図36の例においては、図34において説明したように、親機である情報端末6aがゲーム処理を実行し、処理結果を他の情報端末6b〜6dに送信する用にしても良い。また、図35において説明したように、各情報端末6a〜6dが、夫々処理を実行しても良い。
また、ゲーム処理の各ステップにおいて、処理を実行する情報端末が交代するようにしても良い。例えば、情報端末6a〜6dは、自己のキャラクターが攻撃側キャラクターである場合に、図18若しくは図23において説明した処理(以降、ゲーム処理とする)を実行する。そして、ゲーム処理を実行した情報端末は、他の情報端末に処理結果を送信する。これにより、他の情報端末は、状態情報及び画面表示を更新する。処理を終えた情報端末は、次に攻撃側フラグを取得する情報端末に攻撃側フラグの情報を送信する。これにより、攻撃側フラグを取得した情報端末が、ゲーム処理を実行する。このような構成により、各情報端末において重複した処理が実行されることなく、各情報端末に処理を分散することが可能となる。
尚、上記実施の形態1〜4においては、対戦ゲームを例として説明した。しかしながら、上記実施形態の要旨は、入力されたキャラクターの画像に基づいて画像検索を実行し、その結果をゲーム処理に反映させることにある。従って、対戦ゲーム以外のゲーム、例えばレースゲーム等においても適用可能であり、上記と同様の効果を得ることが可能である。尚、上記実施形態をレースゲームに適用する場合は、キャラクター画像に替えてレーシングカー画像に基づいて画像検索を実行する。