(57)【要約】【課題】直感的に理解しやすい情報を制御情報に変換することができるプログラム、情報記憶媒体、情報変換システムを提供する。【解決手段】画像データを構成する各画素のうち、第１の判定条件を満たす始点画素を抽出した後に、第２の判定条件を満たす終点画素を抽出するまで、第３の判定条件を満たす特定画素を順次抽出する処理を行い、抽出された画素の位置情報を制御情報として出力する処理を行う。【選択図】図２
2009205522.tif 000002
【特許請求の範囲】
【請求項１】
画像データを制御情報に変換するためのプログラムであって、
画像データを構成する画素の色情報が所定条件を満たすか否かを判断し、所定条件を満たす画素を抽出する処理を行う抽出部と、
抽出された画素の位置情報を制御情報として出力する処理を行う出力部として、コンピュータを機能させ、
前記抽出部が、
画像データを構成する各画素のうち、第１の判定条件を満たす始点画素を抽出した後に、第２の判定条件を満たす終点画素を抽出するまで、第３の判定条件を満たす特定画素を順次抽出することを特徴とするプログラム。
【請求項２】
請求項１において、
前記抽出部が、
前記始点画素を抽出した後に、前記終点画素を抽出するまで直前に抽出された画素に隣接する画素を抽出することを特徴とするプログラム。
【請求項３】
請求項１又は２において、
オブジェクト空間において、抽出された画素の位置情報を用いてオブジェクトを移動させる移動演算を行う移動演算部として、コンピュータを更に機能させることを特徴とするプログラム。
【請求項４】
請求項３において、
前記移動演算部が、
始点画素から終点画素までの各画素の抽出順に応じて、抽出された画素の位置情報に基づきオブジェクト空間における所与の平面上に前記オブジェクトを移動させると共に、抽出された画素の色情報に基づき当該平面に鉛直な軸方向に前記オブジェクトを移動させることを特徴とするプログラム。
【請求項５】
請求項１〜４のいずれかにおいて、
オブジェクト空間において、抽出された画素の位置情報を用いてオブジェクトを配置させる処理を行うオブジェクト空間配置部として、コンピュータを更に機能させることを特徴とするプログラム。
【請求項６】
請求項５において、
前記オブジェクト空間配置部が、
始点画素から終点画素までの各画素の位置情報に応じて、オブジェクト空間における所与の平面上の配置位置を求めると共に、始点画素から終点画素までの各画素の色情報に基づき当該平面に鉛直な軸方向における配置位置を求めることを特徴とするプログラム。
【請求項７】
請求項１〜６のいずれかにおいて、
前記出力部が、
始点画素から終点画素までの各画素の位置情報を、パターンデータとして出力する処理を行うことを特徴とするプログラム。
【請求項８】
コンピュータにより読取可能な情報記憶媒体であって、請求項１〜７のいずれかに記載のプログラムを記憶することを特徴とする情報記憶媒体。
【請求項９】
画像データを制御情報に変換するための情報変換システムであって、
画像データを構成する画素の色情報が所定条件を満たすか否かを判断し、所定条件を満たす画素を抽出する処理を行う抽出部と、
抽出された画素の位置情報を制御情報として出力する処理を行う出力部とを含み、
前記抽出部が、
画像データを構成する各画素のうち、第１の判定条件を満たす始点画素を抽出した後に、第２の判定条件を満たす終点画素を抽出するまで、第３の判定条件を満たす特定画素を順次抽出することを特徴とする情報変換システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体、情報変換システムに関する。
【背景技術】
【０００２】
従来から、データ変換を行う種々の情報変換システム（コンバータ）が存在する。例えば、予め決められたデータ構造で記載された文書データを、別の書式に変換するファイルコンバータが存在する（特許文献１）。
【０００３】
しかし、従来の情報変換システムは、変換元になるデータは特定のデータ構造によって記載されることが強いられ直感的に理解できないという問題がある。
【特許文献１】特開２００６−１４６５３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、直感的に理解しやすい情報を制御情報に変換することができるプログラム、情報記憶媒体、情報変換システムを提供することにある。
【課題を解決するための手段】
【０００５】
（１）本発明は、
画像データを制御情報に変換するためのプログラムであって、
画像データを構成する画素の色情報が所定条件を満たすか否かを判断し、所定条件を満たす画素を抽出する処理を行う抽出部と、
抽出された画素の位置情報を制御情報として出力する処理を行う出力部として、コンピュータを機能させ、
前記抽出部が、
画像データを構成する各画素のうち、第１の判定条件を満たす始点画素を抽出した後に、第２の判定条件を満たす終点画素を抽出するまで、第３の判定条件を満たす特定画素を順次抽出することを特徴とするプログラムに関する。
【０００６】
ここで、色情報とは、広義には色相、明度、彩度で識別できる情報である。例えば、色情報は、ＲＧＢカラー画像におけるＲＧＢの各成分の画素値、グレースケール画像における明るさを示す。
【０００７】
本発明によれば、予め所定条件を満たす色情報によって始点画素から終点画素までの軌跡が描画された画像データを用意すれば、制御情報を得ることができる。つまり、視覚的かつ直感的に理解し易いデータを用いて制御情報を得るための情報変換を行うことができる。
【０００８】
（２）また、本発明のプログラム、情報記憶媒体、及び情報変換システムは、
前記抽出部が、
前記始点画素を抽出した後に、前記終点画素を抽出するまで直前に抽出された画素に隣接する画素を抽出してもよい。
【０００９】
本発明によれば、処理負荷を軽減して効率よく画素を抽出することができる。
【００１０】
（３）また、本発明のプログラム、情報記憶媒体、及び情報変換システムは、
オブジェクト空間において、抽出された画素の位置情報を用いてオブジェクトを移動させる移動演算を行う移動演算部として、コンピュータを更に機能させるようにしてもよい。
【００１１】
本発明によれば、オブジェクトの移動軌跡を予め理解できる変換元のデータを用意することができる。
【００１２】
（４）また、本発明のプログラム、情報記憶媒体、及び情報変換システムは、
前記移動演算部が、
始点画素から終点画素までの各画素の抽出順に応じて、抽出された画素の位置情報に基づきオブジェクト空間における所与の平面上に前記オブジェクトを移動させると共に、抽出された画素の色情報に基づき当該平面に鉛直な軸方向に前記オブジェクトを移動させるようにしてもよい。
【００１３】
本発明によれば、画像データの軌跡に応じてオブジェクトを移動させることができる。また、画素の位置情報だけでなく色情報を用いることで、３次元の移動を制御することができる。
【００１４】
（５）また、本発明のプログラム、情報記憶媒体、及び情報変換システムは、
オブジェクト空間において、抽出された画素の位置情報を用いてオブジェクトを配置させる処理を行うオブジェクト空間配置部として、コンピュータを更に機能させるようにしてもよい。
【００１５】
本発明によれば、オブジェクトの配置位置を予め理解できる変換元のデータを用意することができる。
【００１６】
（６）また、本発明のプログラム、情報記憶媒体、及び情報変換システムは、
前記オブジェクト空間配置部が、
始点画素から終点画素までの各画素の位置情報に応じて、オブジェクト空間における所与の平面上の配置位置を求めると共に、始点画素から終点画素までの各画素の色情報に基づき当該平面に鉛直な軸方向における配置位置を求めるようにしてもよい。
【００１７】
本発明によれば、画像データの軌跡に沿ってオブジェクトを配置させることができる。また、画素の位置情報だけでなく色情報を用いることで、３次元にオブジェクトを配置させることができる。
【００１８】
（７）また、本発明のプログラム、情報記憶媒体、及び情報変換システムは、
前記出力部が、
始点画素から終点画素までの各画素の位置情報を、パターンデータとして出力する処理を行うようにしてもよい。
【００１９】
本発明によれば、所定条件を満たす色情報によって始点画素から終点画素までの軌跡単位でパターンデータを用意することができる。
【発明を実施するための最良の形態】
【００２０】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００２１】
１．構成
図１に本実施形態の情報変換システム（ゲーム装置、画像生成装置）の機能ブロック図の例を示す。なお、本実施形態では、図１の構成要素（各部）の一部を省略した構成としてもよい。
【００２２】
操作部１６０は、プレーヤがオブジェクトの入力データ（操作データ）を入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。
【００２３】
また、操作部１６０は、加速度センサや撮像部、或いは角速度を検出するジャイロセンサを備えた入力機器によってプレーヤからの入力データを入力できるものでもよい。例えば、入力装置は、プレーヤが把持して動かすものであってもよいし、プレーヤが身につけて動かすものであってもよい。また、入力装置には、プレーヤが把持する刀型コントローラや銃型コントローラ、あるいはプレーヤが身につける（プレーヤが手に装着する）グローブ型コントローラなど実際の道具を模して作られたコントローラも含まれる。また入力装置には、入力装置と一体化されているゲーム装置、携帯型ゲーム装置、携帯電話なども含まれる。
【００２４】
例えば、入力機器に備えられた加速度センサは、３軸（Ｘ軸、Ｙ軸、Ｚ軸）の加速度を検出する。すなわち、加速度センサは、上下方向、左右方向、及び、前後方向の加速度を検出することができる。なお、加速度センサは、５ｍｓｅｃ毎に加速度を検出している。また、加速度センサは、１軸、２軸、６軸の加速度を検出するものであってもよい。また、入力機器に備えられた加速度センサによって検出された加速度（例えば、重力加速度）に基づいて、入力機器の傾き（傾きの方向、大きさ）を求めてもよい。なお、加速度センサから検出された加速度は、入力機器の通信部によってゲーム装置（本体装置）に送信される。
【００２５】
また、入力機器に備えられた撮像部は、赤外線フィルタ、レンズ、撮像素子（イメージセンサ）、画像処理回路を含む。赤外線フィルタは、入力装置の前方に配置され、表示部１９０に関連付けられて配置されている光源から入射する光から赤外線のみを通過させる。レンズは、赤外線フィルタを透過した赤外線を集光して撮像素子へ出射する。撮像素子は、例えば、ＣＭＯＳセンサやＣＣＤのような固体撮像素子であり、レンズが集光した赤外線を撮像して撮像画像を生成する。撮像素子で生成された撮像画像は、画像処理回路で処理される。例えば、撮像素子から得られた撮像画像を処理して高輝度部分を検知し、撮像画像における光源の位置情報（特定位置）を検出する。なお、光源が複数存在する場合には、撮像画像上の位置情報を複数検出する。また、複数の光源を利用して撮像画像上の位置情報を複数検出し、検出された位置情報の基準軸からの回転角度（傾き）を求め、光源に対する入力機器自体の傾きを求めてもよい。なお、検出した撮像画像上の位置情報は、通信部によって、本体装置に送信される。
【００２６】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。なお、オブジェクトデータ記憶部１７３は、オブジェクトのオブジェクトデータが記憶される。また、本実施形態では、記憶部１７０に、画像データ１７６、制御情報１７７を記憶している。
【００２７】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）を記憶することができる。また、本実施形態では、情報記憶媒体１８０に画像データ、制御情報を記憶してもよい。
【００２８】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００２９】
通信部１９６は外部（例えば他の情報変換システム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００３０】
なお、サーバが有する情報記憶媒体や記憶部に記憶されている本実施形態の各部としてコンピュータを機能させるためのプログラムやデータを、ネットワークを介して受信し、受信したプログラムやデータを情報記憶媒体１８０や記憶部１７０に記憶してもよい。このようにプログラムやデータを受信して情報変換システムを機能させる場合も本発明の範囲内に含む。
【００３１】
処理部１００（プロセッサ）は、操作部１６０からの入力データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。
【００３２】
この処理部１００は記憶部１７０内の主記憶部１７１をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００３３】
処理部１００は、オブジェクト空間配置部１１０、移動・動作演算部１１１、仮想カメラ制御部１１２、抽出部１１４、出力部１１６、描画部１２０、音生成部１３０を含む。なおこれらの一部を省略する構成としてもよい。
【００３４】
オブジェクト空間配置部１１０は、プレーヤキャラクタ、敵キャラクタ、建物、球場、車、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。
【００３５】
ここでオブジェクト空間とは、いわゆる仮想２次元空間、仮想３次元空間の両方を含む。２次元空間とは、例えば２次元座標（Ｘ，Ｙ）においてオブジェクトが配置される空間であり、３次元空間とは、例えば３次元座標（Ｘ，Ｙ，Ｚ）においてオブジェクトが配置される空間である。
【００３６】
そして、オブジェクト空間を２次元空間とした場合には、複数のオブジェクトそれぞれについて設定された優先順位に基づいてオブジェクトを配置するようにしてもよい。例えば、マップ上を真上からみたときには、プレーヤキャラクタが最前に表示されるように優先順位を設定する。
【００３７】
またオブジェクト空間を３次元空間とした場合には、ワールド座標系にオブジェクトを配置する。また、例えば、ワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義であり、例えば、ワールド座標系でのＸ、Ｙ、Ｚ軸の各軸の正方向からみて時計回りに回る場合における回転角度）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００３８】
また、本実施形態のオブジェクト空間配置部１１０は、オブジェクト空間において、抽出された画素の位置情報を用いてオブジェクトを配置させる処理を行ってもよい。かかる場合には、始点画素から終点画素までの各画素の位置情報に応じて、オブジェクト空間における所与の平面上の配置位置を求めると共に、始点画素から終点画素までの各画素の色情報に基づき当該平面に鉛直な軸方向における配置位置を求めるようにしてもよい。
【００３９】
移動・動作演算部１１１は、オブジェクトの移動・動作演算を行う。すなわち操作部１６０によりプレーヤが入力した入力データや、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させたりする処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（オブジェクトを構成する各パーツの位置、或いは回転角度）を、１フレーム（例えば、１／６０秒）毎に順次求める処理を行う。なおフレームは、オブジェクトの移動・動作処理や画像生成処理を行う時間の単位である。
【００４０】
特に、本実施形態の移動・動作演算部１１１は、移動演算部１１１ａを含む。移動演算部１１１ａは、オブジェクト空間において、抽出された画素の位置情報を用いてオブジェクトを移動させる移動演算を行う。かかる場合には、始点画素から終点画素までの各画素の抽出順に応じて、抽出された画素の位置情報に基づきオブジェクト空間における所与の平面上にオブジェクトを移動させると共に、抽出された画素の色情報に基づき当該平面に鉛直な軸方向にオブジェクトを移動させる。
【００４１】
仮想カメラ制御部１１２は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、３次元の画像を生成する場合には、ワールド座標系における仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（例えば、Ｘ、Ｙ、Ｚ軸の各軸の正方向からみて時計回りに回る場合における回転角度）を制御する処理を行う。要するに、視点位置、視線方向、画角を制御する処理を行う。また、仮想カメラ制御部１１２は、仮想カメラを、予め決められた回転角度で回転させてもよい。この場合には、仮想カメラの位置又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【００４２】
例えば仮想カメラによりオブジェクト（例えば、プレーヤキャラクタ）を後方から撮影する場合には、オブジェクトの位置、向きの変化に仮想カメラが追従するように、仮想カメラの位置、仮想カメラの向きを制御する。この場合には、移動・動作演算部１１１で得られたオブジェクトの位置、向き又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた向きに設定したり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は向きを特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【００４３】
抽出部１１４は、画像データを構成する画素の色情報が所定条件を満たすか否かを判断し、所定条件を満たす画素を抽出する処理を行う。具体的には、画像データを構成する各画素のうち、第１の判定条件を満たす始点画素を抽出した後に、第２の判定条件を満たす終点画素を抽出するまで、第３の判定条件を満たす特定画素を順次抽出する。なお、抽出部１１４は、始点画素を抽出した後に、終点画素を抽出するまで直前に抽出された画素に隣接する画素を抽出する。
【００４４】
出力部１１６は、抽出された画素の位置情報を制御情報として出力する処理を行う。フレームレートに応じて、始点画素から終点画素までの軌跡を構成する画素を逐次出力してもよいし、始点画素から終点画素までの各画素の位置情報を、パターンデータとして出力してもよい。
【００４５】
描画部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。描画部１２０が生成する画像は、いわゆる２次元画像であってもよいし、いわゆる３次元画像であってもよい。
【００４６】
２次元画像を生成する場合には、真上から見たときのマップの全体又は一部の画像を生成する。例えば、オブジェクト（スプライト）毎に優先度を設定し、設定された優先度が低いオブジェクトから順に描画する。オブジェクト同士が重なる場合には、優先度の高いオブジェクトを上書きして描画するようにする。
【００４７】
いわゆる３次元ゲーム画像を生成する場合には、まずオブジェクト（モデル）の各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値
等）を含むオブジェクトデータ（モデルデータ）が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理（頂点シェーダによるシェーディング）が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。
【００４８】
頂点処理では、頂点処理プログラム（頂点シェーダプログラム、第１のシェーダプログラム）に従って、頂点の移動処理や、座標変換、例えばワールド座標変換、視野変換（カメラ座標変換）、クリッピング処理、透視変換（投影変換）、ビューポート変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更（更新、調整）する。
【００４９】
そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（ピクセルシェーダによるシェーディング、フラグメント処理）が行われる。ピクセル処理では、ピクセル処理プログラム（ピクセルシェーダプログラム、第２のシェーダプログラム）に従って、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ１７４（ピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ、レンダリングターゲット）に出力（描画）する。すなわち、ピクセル処理では、画像情報（色、法線、輝度、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として１画面に表示できるように画像を生成することができる。
【００５０】
なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【００５１】
そして描画部１２０は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【００５２】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後（透視投影変換後）のオブジェクトデータ（オブジェクトの頂点の位置座標、テクスチャ座標、色データ（輝度データ）、法線ベクトル、或いはα値等）は、オブジェクトデータ記憶部１７３に保存される。
【００５３】
テクスチャマッピングは、記憶部１７０のテクスチャ記憶部１７４に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定（付与）されるテクスチャ座標等を用いて記憶部１７０のテクスチャ記憶部１７４からテクスチャ（色（ＲＧＢ）、α値などの表面プロパティ）を読み出す。そして、２次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【００５４】
隠面消去処理としては、描画ピクセルのＺ値（奥行き情報）が格納されるＺバッファ１７５（奥行きバッファ）を用いたＺバッファ法（奥行き比較法、Ｚテスト）による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Ｚバッファ１７５に格納されるＺ値を参照する。そして参照されたＺバッファ１７５のＺ値と、プリミティブの描画ピクセルでのＺ値とを比較し、描画ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、その描画ピクセルの描画処理を行うとともにＺバッファ１７５のＺ値を新たなＺ値に更新する。
【００５５】
αブレンディング（α合成）は、α値（Ａ値）に基づく半透明合成処理（通常αブレンディング、加算αブレンディング又は減算αブレンディング等）のことである。
【００５６】
なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【００５７】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００５８】
なお、本実施形態の情報変換システムがゲーム処理を行う場合には、ゲーム演算部によって、種々のゲーム演算処理を行うようにしてもよい。例えば、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、ゲームステージ毎のクリア条件を満たすか否かを判定する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理、最終ステージをクリアした場合にはエンディングを進行させる処理などがある。また、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の情報変換システム（ゲーム装置、携帯電話）を用いて分散処理を行ってもよい。
【００５９】
２．本実施形態の手法
図２は、本実施形態の情報変換システムの概要を示すフローチャートである。本実施形態の情報変換システムは、アルゴリズムパターンコンバータによって、予め用意された画像データを読み込んで、画像データをパターンデータ（例えば、移動パターン、配置パターン）に変換する処理を行い、パターンデータを用いてゲーム処理を行うものである。
【００６０】
本実施形態のアルゴリズムパターンコンバータは、画像データから、始点（始点画素）と終点（終点画素）とを含む軌跡を抽出して、パターンデータを出力（作成）する処理を行う。ここでパターンデータは、ゲーム処理に用いられる制御情報であり、例えば軌跡を構成する各画素の位置座標（Ｘ，Ｙ）や、色情報をパターンデータとすることができる。そして、本実施形態の情報変換システムは、変換されたパターンデータを用いて、ゲーム空間に存在するオブジェクトを移動させる処理、オブジェクトを配置させる処理を行っている。
【００６１】
つまり、本実施形態の情報変換システムは、画像データをパターンデータに情報変換を行うものであって、画像データ上で予め所定の色情報によって描画された軌跡を、ゲーム空間内でのオブジェクトの移動や配置の軌跡に対応づけるものである。以下、具体的に処理内容について説明する。
【００６２】
（１）画像データ
本実施形態の画像データの各画素はＲ（赤）、Ｇ（緑）、Ｂ（青）の３原色それぞれの画素値をもっているＲＧＢカラー画像である。
【００６３】
図３は本実施形態の画像データの一例を示す。画像データは、始点、終点を含む複数の画素からなる軌跡Ｌ１と、軌跡Ｌ１以外の画素とからなる。本実施形態では、軌跡を構成する画素と軌跡以外の画素とを区別するために、軌跡を構成する画素と軌跡以外の画素との色情報とを異ならせている。
【００６４】
例えば、図４に示すように、ＲＧＢの各成分の値にしきい値を設定し、軌跡と軌跡以外の画素を識別している。ＲＧＢの各成分それぞれのしきい値を６４に設定した場合には、軌跡を構成する各画素のＲＧＢの各成分の値を０〜６３の値域に設定し、軌跡以外の画素のＲＧＢの各成分の値を６４〜２５５の値域に設定した画像データを用意する。なお、ＲＧＢの各成分それぞれのしきい値は、同一の値にしてもよいし、異ならせてもよい。
【００６５】
また、本実施形態では、軌跡を構成する画素のうち、始点、終点、始点と終点以外の特定画素を識別するために、始点、終点、特定画素それぞれに互いに異なる色情報を設定している。例えば、図３の例によれば始点Ｐ０のＲＧＢの各成分の値を（Ｒ，Ｇ，Ｂ）＝（０，０，１）、終点ＰｎのＲＧＢの各成分の値を（Ｒ，Ｇ，Ｂ）＝（０，１，０）に設定し、特定画素Ｐ１〜Ｐ（ｎ−１）のＲＧＢの各成分の値を（Ｒ，Ｇ，Ｂ）＝（０，０，０）に設定する。
【００６６】
（２）アルゴリズムパターンコンバータ
本実施形態では、上述した画像データをゲームの種々の処理で用いられるパターンデータ（制御情報）に変換する処理を行っている。本実施形態では、始点から終点へ向かう軌跡を抽出し、抽出順に配列された軌跡を構成する各画素の２次元の座標値（Ｘ，Ｙ）をパターンデータとして出力する処理を行っている。
【００６７】
このようにすれば、画像データをパターンデータに変換することによって、パターンデータに格納された画素の座標値（Ｘ，Ｙ）に基づいて、ゲーム空間に存在するオブジェクトを移動させる処理、配置させる処理を行うことができる。
【００６８】
つまり、本実施形態によれば、画像作成者が考慮したオブジェクトの移動軌跡を、直感的かつ視覚的に画像データに表現することができ、その画像データを移動制御や配置制御の制御情報に変換することができる。
【００６９】
次に、軌跡の抽出処理（走査処理）について説明する。本実施形態では、まず、画像データの各画素のうち、始点となる画素を抽出する処理を行う。上述の例によればＲＧＢの各成分の値（Ｒ，Ｇ，Ｂ）＝（０，０，１）となる画素を抽出する。具体的に説明すると、例えば、ラスタスキャン（画像データの左上を起点に、左端から右に画素を調べ、右端についたら、行を１つ下げて左端から右に画素を調べる走査手法）によって、ＲＧＢの各成分の値（Ｒ，Ｇ，Ｂ）＝（０，０，１）となる画素を追跡する。
【００７０】
そして、始点の抽出後、終点を抽出するまで、始点及び終点以外の軌跡を示す特定画素を抽出する。上述の例によれば、終点の色情報（Ｒ，Ｇ，Ｂ）＝（０，１，０）を抽出するまで、特定画素の色情報である（Ｒ，Ｇ，Ｂ）＝（０，０，０）を抽出する処理を行う。例えば、軌跡を識別するためのＲＧＢの各成分の値が０〜６３の値である画素を抽出する処理を行い、さらに、抽出した画素の色情報が終点の色情報（Ｒ，Ｇ，Ｂ）＝（０，１，０）であるか否かを判断し、終点画素であると判断した場合には、抽出処理を終了する。
【００７１】
次に、抽出する処理の詳細を説明する。例えば、図５（Ａ）に示すように、注目画素（現在抽出された画素）がＰ５である場合には、次に抽出する画素は、画素Ｐ５に隣接する画素（画素Ｐ５の周囲の画素）であって画素Ｐ５の直前に抽出された画素Ｐ１以外の画素（Ｐ２、Ｐ３、Ｐ４、Ｐ６、Ｐ７、Ｐ８、Ｐ９）から、軌跡を識別するためのＲＧＢの各成分の値が０〜６３の値である画素を抽出する処理を行う。例えば、画素Ｐ２、Ｐ３、Ｐ４、Ｐ６、Ｐ８、Ｐ９のＲＧＢの各成分の値が６４〜２５５であり、画素Ｐ７の色情報が（Ｒ，Ｇ，Ｂ）＝（０，０，０）である場合には、画素Ｐ７を次の特定画素として抽出する処理を行う。
【００７２】
なお、注目画素に隣接する画素とは、注目画素に対して上下左右の画素を示す４近傍、注目画素に対して上下左右の画素を示す４近傍に斜め方向の近傍を加えた８近傍のいずれも含む。
【００７３】
また、図５（Ｂ）に示すように、注目画素Ｐ５に隣接する画素（画素Ｐ５の周囲の画素）であって画素Ｐ５の直前に抽出された画素Ｐ１以外の画素（Ｐ２、Ｐ３、Ｐ４、Ｐ６、Ｐ７、Ｐ８、Ｐ９）のうち、軌跡を識別するためのＲＧＢの各成分の値が０〜６３の値である画素が複数存在する場合には、進入方向を特定し、進入方向に基づいて、次の特定画素、終点の色情報を有する画素を抽出する処理を行う。つまり、進入方向に基づき次に抽出すべき画素の方向を予測して、次の画素を抽出する。
【００７４】
例えば、図５（Ｂ）を用いて説明すると、画素Ｐ５の直前に抽出した画素Ｐ１と、さらに画素Ｐ１の直前に抽出された画素Ｐ１０とから、進入方向は、画素Ｐ１０から画素Ｐ５へ向かう方向であると特定できる。したがって、注目画素Ｐ５に対して次に抽出すべき画素はＰ９であると予測する。
【００７５】
つまり、画素Ｐ２、Ｐ３、Ｐ４、Ｐ６、Ｐ８のＲＧＢの各成分の値が６４〜２５５であり、画素Ｐ７、Ｐ９の色情報が（Ｒ，Ｇ，Ｂ）＝（０，０，０）である場合には、画素Ｐ９が次に抽出する画素となる。なお、予測した画素が、ＲＧＢの各成分の値が０〜６３の値でない場合には、予測した画素に近い画素から優先的に、ＲＧＢの各成分の値が０〜６３の値である画素か否かを判断し、特定画素、或いは終点を抽出する処理を行う。
【００７６】
このように、本実施形態では始点を抽出してから終点を抽出するまで、特定画素を順次抽出し、画素を抽出する度に、画素の位置座標をパターンデータ（データファイル）に順次記録する処理を行う。なお、本実施形態では抽出順に、抽出された画素の位置座標をパターンデータに記録する処理を行う。
【００７７】
（３）移動制御
そして、本実施形態では作成されたパターンデータに記録されている画素の位置情報に基づいて、オブジェクト空間に存在するオブジェクトを移動させる処理を行う。
【００７８】
例えば、図６に示すように、３次元のオブジェクト空間（ゲーム空間の一例）において、パターンファイルに格納された位置情報（Ｘ，Ｙ）を順次読み込む。そして、読み込み順に、位置情報（Ｘ，Ｙ）をオブジェクト空間（ビュー座標系）の位置座標（ｘ，ｙ）に対応づけて、オブジェクトＯＢを移動させる処理を行う。このようにすれば、画像データの軌跡Ｌ１に応じた移動軌跡Ｌ１´を描くように、オブジェクトＯＢを移動させることができる。
【００７９】
なお、オブジェクト空間における奥行き方向（ｚ軸方向）の移動制御については、ｚ値を所定値に設定して、（ｘ，ｙ）の平面上でオブジェクトＯＢを移動させるように制御してもよいし、奥行き方向の移動速度を予め定義して、定義された奥行き方向の移動速度に基づき、視点に対して手前側、或いは視点に対して奥側に、オブジェクトＯＢを移動させるように制御してもよい。
【００８０】
また、本実施形態では、予め複数の互いに異なる画像データを用意し、それぞれの画像データをパターンデータに変換する処理を行い、いずれかのパターンデータを用いて移動制御を行うようにしてもよい。
【００８１】
また、オブジェクトを、始点画素から終点画素までの位置情報に基づく移動制御を繰り返し行うようにしてもよい。
【００８２】
（４）配置制御
また、本実施形態で作成されたパターンデータに記録されている画素の位置情報に基づいて、オブジェクト空間にオブジェクトを配置させる処理を行うようにしてもよい。
【００８３】
例えば、３次元のオブジェクト空間において、パターンファイルに格納された位置情報（Ｘ，Ｙ）を読み込み、読み込んだ位置情報（Ｘ，Ｙ）を、オブジェクト空間（ビュー座標系）の位置座標（ｘ，ｙ）に対応づけて、オブジェクトを配置させる処理を行う。例えば、読み込んだ全ての位置情報（Ｘ，Ｙ）に対応する位置座標（ｘ，ｙ）にオブジェクトを配置させる。このようにすれば、画像データの軌跡Ｌ１に応じた軌跡を描くように、オブジェクトを配置させるように制御することができる。
【００８４】
なお、オブジェクト空間における奥行き方向の配置位置については、ｚ値を予め所定値に設定してもよい。
【００８５】
（５）付加情報
本実施形態では、画像データの軌跡を示す画素において、さらに付加情報を示す色情報を特定してゲーム処理を行ってもよい。つまり、軌跡である画素を抽出する度に、画素の位置情報に加えて、当該画素の色情報をパターンデータに記録し、ゲーム処理において位置情報と色情報とに基づいて、移動制御や、配置制御、イベントプログラムの実行処理を行う。このようにすれば、画像データに移動軌跡、配置軌跡等の情報だけでなく、種々の意味を持たせることができる。
【００８６】
まず、本実施形態では、軌跡を構成する各画素について、始点、終点、特定画素だけでなく、付加情報を識別するために、色情報を次のように設定している。
【００８７】
例えば、始点を示すＲＧＢの各成分を（Ｒ，Ｇ，Ｂ）のうち、緑成分（Ｇ）、青成分（Ｂ）に基づいて、始点、終点、特定画素のそれぞれを識別し、赤成分（Ｒ）に基づいて、奥行き値を設定するようにする。例えば、始点の緑、青成分を（Ｇ，Ｂ）＝（１，０）に設定し、終点の緑、青成分を（Ｇ，Ｂ）＝（０，１）に設定し、特定画素の緑、青成分を（Ｇ，Ｂ）＝（０，０）に設定する。そして、軌跡（始点、終点、特定画素）の赤成分（Ｒ）を用いて、付加情報を示す色情報を設定する。
【００８８】
より具体的に付加情報を用いた画像データを用いる場合の処理について説明する。
【００８９】
まず、オブジェクト空間におけるオブジェクトを移動させる際の奥行き情報を付加情報とする場合は、軌跡を構成する各画素の赤成分の色を０〜１０の値に設定する。例えば、赤成分の値が１である場合には仮想カメラに対して手前側、赤成分の色が１０である場合には、仮想カメラに対して奥側になるように赤成分の色を設定する。
【００９０】
そして、画像データから軌跡を構成する各画素を抽出し、抽出された画素の位置情報と色情報とをパターンデータに記録する処理を行う。そして、パターンデータを用いてゲーム処理を行う際に、パターンデータに格納された位置情報（Ｘ，Ｙ）を順次読み込み、さらに、読み込んだ位置情報（Ｘ，Ｙ）に対応する色情報の赤成分の値に基づいてオブジェクト空間における奥行き値を求める。例えば、赤成分の値域を、ビューボリュームの奥行き範囲に対応付けて、奥行き値を求める。
【００９１】
そして、位置情報（Ｘ，Ｙ）に対応するオブジェクト空間における位置座標（ｘ，ｙ）と、求めた奥行き値（ｚ）とに基づいて、オブジェクトＯＢを３次元に移動させる処理を行う。
【００９２】
また、オブジェクト空間におけるオブジェクトを移動させる際の移動速度を付加情報とする場合には、軌跡を構成する各画素の赤成分の色を１１〜２０の値に設定する。例えば、赤成分の値が１１である場合には移動速度が最小速度（例えば、時速０ｋｍ）になるように設定し、赤成分の色が２０である場合には移動速度が最大速度（例えば、時速１００ｋｍ）になるように、赤成分の値を設定する。
【００９３】
そして、奥行き値の情報を取得する場合と同様に、パターンデータに格納された位置情報（Ｘ，Ｙ）を順次読み込み、読み込んだ位置情報（Ｘ，Ｙ）に対応する色情報の赤成分の値に基づいてオブジェクトの移動速度を求める。例えば、赤成分の値域（１１〜２０）を、移動速度の値域（時速０ｋｍ〜時速１００ｋｍ）に対応させて、移動速度を求める。そして、位置情報（Ｘ，Ｙ）に対応するオブジェクト空間における位置座標（ｘ，ｙ）と、求めた移動速度に基づいて、オブジェクトを移動させる処理を行う。
【００９４】
また、軌跡を構成する画素のうち特定の画素Ｐｉにおいて、イベントプログラムを実行する命令を付加情報とする場合には、画素Ｐｉの赤成分の色を２１の値に設定する。
【００９５】
そして、画像データから軌跡を構成する各画素を抽出し、抽出された画素の位置情報と色情報とをパターンデータに記録する処理を行う。そして、パターンデータを用いてゲーム処理を行う際に、パターンデータに格納された位置情報（Ｘ，Ｙ）を順次読み込み、読み込んだ色情報の赤成分の値が２１である場合、つまり画素Ｐｉの色情報を読み込んだ際に、イベントプログラムを実行する処理を行う。例えば、予め用意された効果音を出力させるイベントプログラムを実行する。このようにすれば、色情報の赤成分の値が２１である画素Ｐｉの位置情報に基づき、オブジェクトを移動させた場合に、効果音等を出力させることができる。
【００９６】
また、画像データ１を変換した第１のパターンデータの特定の画素Ｐｋから、画像データ２を変換した第２のパターンデータに移行させる実行命令を付加情報とする場合には、画素Ｐｋの色情報の赤成分の値を２２に設定する。
【００９７】
例えば、図７に示すように、画像データ１の軌跡上の画素Ｐｋの色情報の赤成分の値を２２に設定した画像データを用意する。そして、ゲーム処理において、パターンデータから赤成分の値が２２である画素Ｐｋの色情報を読み込んだ場合には、画像データ２を変換した第２のパターンデータに移行し、第２のパターンデータの始点Ｐ０´から順次位置情報、色情報を読み込むように制御してもよい。
【００９８】
以上のように、予め決められた付加情報に応じて、軌跡を構成する各画素の色情報を設定することによって種々の処理を行うことができる。
【００９９】
なお、上述した色情報は赤成分の値を異ならせて、付加情報を識別しているが、ＲＧＢの各成分のいずれかを異ならせて、付加情報を識別できるようにしてもよい。つまり、軌跡を構成する画素、軌跡以外の画素とを区別するために色情報を設定し、さらに、始点、終点、特定画素を識別する色情報を設定すると共に、付加情報のそれぞれを識別した色情報を定義し（付加情報が複数存在する場合には、付加情報それぞれに異なる色情報を定義し）、定義された色情報に基づき画像データを用意し、画像データをパターンデータに変換する処理を行う。
【０１００】
３．応用例
（１）画像データの応用例
本実施形態では、撮影部（例えばビデオカメラ）によって、撮影した画像を画像データとして用いてもよい。
【０１０１】
具体的には、プレーヤが、背景（軌跡と判定されない色情報）と認識される色を有する紙に、始点、終点、特定画素それぞれの色情報と認識される色で軌跡を描いた図案を作成する。そして、プレーヤが作成した図案を撮影部によって撮影し、撮影した画像データをパターンデータに変換する処理を行う。
【０１０２】
また、プレーヤがコントローラ、タッチパネル型ディスプレイ（入力機器の一例）を用いてプレーヤが所与の軌跡を描くことができる場合には、背景（軌跡と判定されない色情報）と認識される色を有する画像データ上に、プレーヤが指示した指示位置に基づき、始点、終点、特定画素、付加情報それぞれの色情報で指示した軌跡を描画し、軌跡が描画された画像データを用いてパターンデータを作成してもよい。
【０１０３】
このようにすれば、予め画像データを記憶させなくても、撮影部によって撮影した画像データ等を用いてパターンデータを作成することができる。また、プレーヤの意図した軌跡によって、オブジェクトを移動させたり、配置させることが可能になる。
【図面の簡単な説明】
【０１０４】
【図１】本実施形態の情報変換システムの機能ブロック図の例。
【図２】本実施形態の処理のフローチャート。
【図３】図３は、画像データの説明図。
【図４】図４は、色情報の説明図。
【図５】図５（Ａ）（Ｂ）は、追跡手法の説明図。
【図６】図６は、ゲーム処理の説明図。
【図７】図７は、パターンデータの移行の説明図。
【符号の説明】
【０１０５】
１００  処理部、
１１０  オブジェクト空間配置部、
１１１  移動・動作演算部、
１１１ａ  移動演算部、
１１２  仮想カメラ制御部、
１１４  抽出部、
１１６  出力部、
１２０  描画部、１３０  音生成部、
１６０  操作部、
１７０  記憶部、
１７１  主記憶部、
１７２  描画バッファ、
１７３  オブジェクトデータ記憶部、
１７４  テクスチャ記憶部、
１７５  ｚバッファ、
１７６  画像データ、
１７７  制御情報、
１８０  情報記憶媒体、１９０  表示部、１９２  音出力部、１９６  通信部
【図１】
2009205522.tif 000003
【図２】
2009205522.tif 000004
【図５】
2009205522.tif 000005
【図６】
2009205522.tif 000006
【図７】
2009205522.tif 000007
【図３】
2009205522.tif 000008
【図４】
2009205522.tif 000009