(57)【要約】【課題】  音に反応して振動する物体の動きをリアルに表現することができるプログラム、情報記憶媒体及び画像生成システムを提供する。【解決手段】  フレームレートより高いサンプリングレートでサンプリングされた音データが再生出力される際に、その音データに対応するデータであって、フレームレートでサンプリングされた振動データに基づいて、オブジェクトを構成する頂点を移動させる頂点シェーディングを行ってオブジェクト空間における所与の視点から見える画像を生成する。【選択図】      図２
2007087030.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクト空間における所与の視点から見える画像を生成するためのプログラムであって、
フレームレートより高いサンプリングレートでサンプリングされた音データを記憶する音データ記憶部と、
前記音データに対応するデータであって、前記フレームレートでサンプリングされた振動データを記憶する振動データ記憶部と、
前記音データが再生出力される際に、その再生フレームに対応する前記振動データを取得して、その振動データに基づいて、オブジェクトを構成する頂点を移動させる頂点シェーディングを行う画像生成部として、
コンピュータを機能させることを特徴とするプログラム。
【請求項２】
請求項１において、
前記音データを取得して、その音データの再生フレームに対応する前記振動データを生成する振動データ生成部としてコンピュータを機能させ、
前記振動データ生成部が、
第Ｎの再生フレームにおいて再生出力される前記音データの複数のサンプリングデータのフィルタリング処理を行って、前記第Ｎの再生フレームに対応する前記振動データを生成することを特徴とするプログラム。
【請求項３】
請求項２において、
前記振動データ生成部が、
前記第Ｎの再生フレームにおいて再生出力される前記音データの複数のサンプリングデータを平均化する処理を前記フィルタリング処理として行うことを特徴とするプログラム。
【請求項４】
請求項２において、
前記振動データ生成部が、
前記第Ｎの再生フレームにおいて再生出力される前記音データの複数のサンプリングデータの中から振幅が最大あるいは最小のサンプリングデータを抽出する処理を前記フィルタリング処理として行うことを特徴とするプログラム。
【請求項５】
請求項２〜４のいずれかにおいて、
前記振動データ生成部が、
音検出部の検出音を前記フレームレートより高いサンプリングレートでサンプリングした音データを取得し、取得した前記検出音に対応する音データに基づいて前記振動データを生成することを特徴とするプログラム。
【請求項６】
請求項２〜５のいずれかにおいて、
前記振動データ生成部が、
第Ｎの再生フレーム用の前記音データに対応する前記振動データを、少なくとも第Ｎ−１の再生フレームが終了するまでに生成することを特徴とするプログラム。
【請求項７】
請求項１〜６のいずれかにおいて、
前記画像生成部が、
前記振動データと前記オブジェクトに対応して設定された属性データとに基づいて、該オブジェクトの頂点を移動させる頂点シェーディングを行うことを特徴とするプログラム。
【請求項８】
請求項１〜７のいずれかにおいて、
前記画像生成部が、
前記振動データの補間処理によって前記オブジェクトを構成する複数の頂点の移動情報を求め、該移動情報に基づいて各頂点を移動させる頂点シェーディングを行うことを特徴とするプログラム。
【請求項９】
請求項１〜７のいずれかにおいて、
前記画像生成部が、
前記振動データと前記オブジェクトを構成する各頂点に対して予め設定された移動ベクトルとに基づいて該各頂点の移動情報を求め、該移動情報に基づいて各頂点を移動させる頂点シェーディングを行うことを特徴とするプログラム。
【請求項１０】
コンピュータにより読取可能な情報記憶媒体であって、請求項１〜９のいずれかに記載のプログラムを記憶することを特徴とする情報記憶媒体。
【請求項１１】
オブジェクト空間における所与の視点から見える画像を生成するための画像生成システムであって、
フレームレートより高いサンプリングレートでサンプリングされた音データを記憶する音データ記憶部と、
前記音データに対応するデータであって、前記フレームレートでサンプリングされた振動データを記憶する振動データ記憶部と、
前記音データが再生出力される際に、その再生フレームに対応する前記振動データを取得して、その振動データに基づいて、オブジェクトを構成する頂点を移動させる頂点シェーディングを行う画像生成部と、
を含むことを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体及び画像生成システムに関する。
【背景技術】
【０００２】
従来より、キャラクタなどのオブジェクトが配置設定されるオブジェクト空間（仮想的な３次元空間）において仮想カメラ（所与の視点）から見える画像を生成する画像生成システム（ゲームシステム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。
【０００３】
このような画像生成システムでは、プレーヤの仮想現実感を高めるために、例えばスピーカの振動板（コーン）などのように複雑な振動（脈動）を行うオブジェクトの動きについても実際に再生出力される音に対応させてリアルに表現できることが望まれている。
【特許文献１】特開２００１−２６９４８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、上記事情に鑑みてなされたものであり、音に反応して振動する物体の動きをリアルに表現することができるプログラム、情報記憶媒体及び画像生成システムを提供することにある。
【課題を解決するための手段】
【０００５】
本発明は、オブジェクト空間における所与の視点から見える画像を生成するための画像生成システムであって、フレームレートより高いサンプリングレートでサンプリングされた音データを記憶する音データ記憶部と、前記音データに対応するデータであって、前記フレームレートでサンプリングされた振動データを記憶する振動データ記憶部と、前記音データが再生出力される際に、その再生フレームに対応する前記振動データを取得して、その振動データに基づいて、オブジェクトを構成する頂点を移動させる頂点シェーディングを行う画像生成部と、を含む画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータにより読取可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【０００６】
本発明によれば、音データの再生フレームに対応した振動データを用いてオブジェクトを構成する頂点を移動させることによって、オブジェクトを変形させる。これにより、再生される音の変化に合わせて物体が振動する様子をリアルに表現することができるようになる。
【０００７】
また本発明の画像生成システムでは、前記音データを取得して、その音データの再生フレームに対応する前記振動データを生成する振動データ生成部を含み、前記振動データ生成部が、第Ｎの再生フレームにおいて再生出力される前記音データの複数のサンプリングデータのフィルタリング処理を行って、前記第Ｎの再生フレームに対応する前記振動データを生成するようにしてもよい。また本発明のプログラム及び情報記憶媒体では、上記振動データ生成部としてコンピュータを機能させるようにしてもよい。このようにすれば、同一の再生フレーム内で再生出力される音データに含まれる複数のサンプリングデータから、その再生フレームにおいてオブジェクトを変形させるのに好適な振動データを得ることができる。
【０００８】
また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記振動データ生成部が、前記第Ｎの再生フレームにおいて再生出力される前記音データの複数のサンプリングデータを平均化する処理を前記フィルタリング処理として行うようにしてもよい。このようにすれば、音データの低周波成分を振動データとして抽出することができ、例えば、ウーファーの振動板が振動する様子をリアルに表現することができるようになる。
【０００９】
また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記振動データ生成部が、前記第Ｎの再生フレームにおいて再生出力される前記音データの複数のサンプリングデータの中から振幅が最大あるいは最小のサンプリングデータを抽出する処理を前記フィルタリング処理として行うようにしてもよい。このようにすれば、簡便な処理で音データから振動データを生成することができる。例えば、振幅が最大となるサンプリングデータと振幅が最小になるサンプリングデータを複数の再生フレームにおいて交互に抽出するようにすれば、振動データを得ることができる。
【００１０】
また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記振動データ生成部が、音検出部の検出音を前記フレームレートより高いサンプリングレートでサンプリングした音データを取得し、取得した前記検出音に対応する音データに基づいて前記振動データを生成するようにしてもよい。このようにすれば、マイクなどに自由に入力された音に応じてオブジェクトを変形させて、物体が振動する様子をリアルに表現することができる。
【００１１】
また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記振動データ生成部が、第Ｎの再生フレーム用の前記音データに対応する前記振動データを、少なくとも第Ｎ−１の再生フレームが終了するまでに生成するようにしてもよい。このようにすれば、音データの再生のタイミングとオブジェクトの振動の様子とのズレを軽減することができ、リアルタイムに近い状態で音に反応した物体の振動の様子を表現することができるようになる。
【００１２】
また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記画像生成部が、前記振動データと前記オブジェクトに対応して設定された属性データとに基づいて、該オブジェクトの頂点を移動させる頂点シェーディングを行うようにしてもよい。このようにすれば、物体の硬さや振動特性などの違いに応じてその振動の様子が異なるように表現することができる。
【００１３】
また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記画像生成部が、前記振動データの補間処理によって前記オブジェクトを構成する複数の頂点の移動情報を求め、該移動情報に基づいて各頂点を移動させる頂点シェーディングを行うようにしてもよい。このようにすれば、複数の頂点について１つの振動データから異なる移動情報を求めることができ、物体の振動の様子を多様に表現することができるようになる。
【００１４】
また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記画像生成部が、前記振動データと前記オブジェクトを構成する各頂点に対して予め設定された移動ベクトルとに基づいて該各頂点の移動情報を求め、該移動情報に基づいて各頂点を移動させる頂点シェーディングを行うようにしてもよい。このようにすれば、複数の頂点について１つの振動データから異なる移動情報を求めることができ、物体の振動の様子を多様に表現することができるようになる。
【発明を実施するための最良の形態】
【００１５】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００１６】
１．構成
図１に本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図１の構成要素（各部）の一部を省略した構成としてもよい。
【００１７】
入力部１６０は、プレーヤがオブジェクト（例えば、プレーヤキャラクタ）の操作データを入力するためのものである。入力部１６０は、操作部１６２と音検出部１６４とを含み、操作部１６２は、例えば、レバー、ボタン、ステアリング、タッチパネル型ディスプレイなどにより実現できる。音検出部１６４は、例えば、マイク（マイクロフォン）により実現できる。記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。
【００１８】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００１９】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００２０】
携帯型情報記憶装置１９４は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などがある。通信部１９６は外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００２１】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（あるいは記憶部１７０）に配信してもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００２２】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部１００は記憶部１７０内の主記憶部１７２をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００２３】
処理部１００は、オブジェクト空間設定部１１０、移動・動作処理部１１２、仮想カメラ制御部１１４、振動データ生成部１１６、画像生成部１２０、音生成部１３０を含む。なおこれらの一部を省略する構成としてもよい。
【００２４】
オブジェクト空間設定部１１０は、キャラクタ、建物、球場、車、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００２５】
移動・動作処理部１１２は、オブジェクト（キャラクタ、車、又は飛行機等）の移動・動作演算（移動・動作シミュレーション）を行う。即ち操作部１６０によりプレーヤが入力した操作データや、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、モデルオブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させる処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（パーツオブジェクトの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００２６】
仮想カメラ制御部１１４は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置や視線方向を制御する処理）を行う。
【００２７】
例えば仮想カメラによりオブジェクト（例えばキャラクタ、ボール、車）を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動・動作処理部１１２で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【００２８】
振動データ生成部１１６は、音データを取得して、その音データの再生フレームに対応する振動データを生成する処理を行う。生成された振動データは、振動データ記憶部１７８に記憶される。音データは、音データ記憶部１７６から取得する。音データ記憶部１７６には、音検出部１６４の検出音に対応する音データや情報記憶媒体１８０から読み出された音データが記憶されている。この音データは、描画処理の単位期間であるフレームレート（例えば、１／６０秒）よりも十分に高いサンプリングレートでサンプリングされたデータである。例えば、情報記憶媒体１８０となりうるＣＤやＤＶＤのＰＣＭデータを例に取ると、サンプリングレートは、１／４４１００秒（４４．１ｋＨｚ）である。なお、マイクなどの音検出部１６４から音を取得する場合には、振動データ生成部１１６は、音検出部１６４での検出音に対応する音データから振動データを生成する場合においては、音検出部１６４の検出音をフレームレートより高いサンプリングレートでサンプリングした音データを音データ記憶部１７６にバッファリングしておき、その検出音に対応する音データを取得する。このようにすれば、マイクなどに自由に入力された音に応じてオブジェクトを変形させて、物体が振動する様子をリアルに表現することができる。
【００２９】
また振動データ生成部１１６は、取得した音データに含まれる複数のサンプリングデータのフィルタリング処理によって振動データを生成する。フィルタリング処理としては、例えば、１フレーム内で再生される音データのサンプリングデータを平均化する処理や、１フレーム内で再生される音データのサンプリングデータの中から振幅が最大のサンプリングデータと振幅が最小のサンプリングデータとを交互に抽出する処理がある。
【００３０】
画像生成部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まずオブジェクトの各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含む頂点リストが入力され、入力された頂点リストに含まれる頂点データに基づいて、頂点シェーディング（広義には、頂点処理）が行われる。なお頂点シェーディングを行う際に、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うこともできる。頂点シェーディングでは、頂点シェーダプログラム（広義には、第１のシェーダプログラム）に従って、頂点の移動処理や、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、あるいは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更（更新、調整）する。そして、頂点シェーディング後の頂点データに基づいてラスタライズ（走査変換）が行われ、フレーム画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセルシェーディング（広義には、ピクセル処理、フラグメント処理）が行われる。ピクセルシェーディングでは、ピクセルシェーダプログラム（第２のシェーダプログラム）に従って、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、フレーム画像のピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ１７４（ピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ）に出力（描画）する。すなわち、ピクセルシェーディングでは、フレーム画像の画像情報（色、法線、輝度、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像（フレーム画像）が生成される。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として１画面に表示できるようにフレーム画像を生成することができる。
【００３１】
画像生成部１２０は、頂点シェーダ部１２２、ピクセルシェーダ部１２４を含む。なお、これらの一部を省略する構成としてもよい。
【００３２】
頂点シェーダ部１２２は、頂点単位で行われる処理である頂点シェーディングを実行するプログラマブルシェーダの一種である。特に、頂点シェーダ部１２２は、音データが音出力部１９２から再生出力される際に、その再生フレームに対応する振動データを振動データ記憶部１７８から取得して、取得された振動データに基づいて、オブジェクトを構成する頂点を移動(変位)させる頂点シェーディングを行う。具体的には、振動データ及び必要に応じて頂点毎に設定される他のパラメータを含む各頂点の移動情報に基づいて移動後（変位後）の各頂点の位置座標を求めて、求められた位置座標に各頂点を移動させる処理を行う。
【００３３】
移動情報は、頂点の移動後の位置座標を求めるに際して、頂点の移動量（移動距離）および移動方向を与える情報である。この移動情報において、頂点の移動量は、振動データによって与えることができる。このときオブジェクトを構成する１又は複数の頂点を代表頂点（基準頂点）として予め設定しておき、代表頂点およびその周囲の頂点の移動量を振動データの補間処理によって得ることができる。また予め頂点データの中に各頂点の移動量を決定するための係数（移動量係数）を設定しておき、その係数と振動データとの乗算処理によって、各頂点の移動量を得ることができる。また予め頂点データの中に各頂点の移動量及び移動方向を決定するための基準移動ベクトルを設定しておき、そのベクトルデータと振動データとによって、各頂点の移動量及び移動方向を得ることができる。なお基準移動ベクトルは、その大きさが正規化（単位ベクトル化）されているものであってもよい。この場合には、基準移動ベクトルによって頂点の移動方向のみが与えられる。また移動情報に含まれるパラメータとしては、上記の他に属性データが挙げられる。属性データは、物体の固有振動数（共振周波数）、あるいは物体の弾性係数（堅さ、柔らかさ）など物体の振動のしやすさを与えるためのデータである。例えば金属からなる物体は振動しにくく、紙などの物体は振動しやすいなどといったオブジェクトのマテリアルに応じて、その振動の様子を変化させるためのパラメータとして属性データを利用することができる。
【００３４】
ピクセルシェーダ部１２４では、テクスチャマッピング、隠面消去処理、αブレンディングなどを行うことができる。
【００３５】
テクスチャマッピングは、記憶部１７０のテクスチャ領域（図示省略）に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定（付与）されるテクスチャ座標等を用いて記憶部１７０のテクスチャ領域からテクスチャ（色、α値などの表面プロパティ）を読み出す。そして、２次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理やバイリニア補間（テクセル補間）などを行う。
【００３６】
隠面消去処理としては、描画ピクセルのＺ値（奥行き情報）が格納されるＺバッファ（奥行きバッファ）を用いたＺバッファ法（奥行き比較法、Ｚテスト）による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Ｚバッファに格納されるＺ値を参照する。そして参照されたＺバッファのＺ値と、プリミティブの描画ピクセルでのＺ値とを比較し、描画ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、その描画ピクセルの描画処理を行うとともにＺバッファのＺ値を新たなＺ値に更新する。
【００３７】
αブレンディング（α合成）は、α値（Ａ値）に基づく半透明合成処理（通常αブレンディング、加算αブレンディング又は減算αブレンディング等）のことである。例えば通常αブレンディングの場合には下式（１）〜（３）の処理が行われる。
【００３８】
ＲＱ＝（１−α）×Ｒ１＋α×Ｒ２    （１）
ＧＱ＝（１−α）×Ｇ１＋α×Ｇ２    （２）
ＢＱ＝（１−α）×Ｂ１＋α×Ｂ２    （３）
また、加算αブレンディングの場合には下式（４）〜（６）の処理が行われる。
【００３９】
ＲＱ＝Ｒ１＋α×Ｒ２                （４）
ＧＱ＝Ｇ１＋α×Ｇ２                （５）
ＢＱ＝Ｂ１＋α×Ｂ２                （６）
また、減算αブレンディングの場合には下式（７）〜（９）の処理が行われる。
【００４０】
ＲＱ＝Ｒ１−α×Ｒ２                （７）
ＧＱ＝Ｇ１−α×Ｇ２                （８）
ＢＱ＝Ｂ１−α×Ｂ２                （９）
ここで、Ｒ１、Ｇ１、Ｂ１は、描画バッファ１７４に既に描画されている画像（元画像）のＲＧＢ成分であり、Ｒ２、Ｇ２、Ｂ２は、描画バッファ１７４に描画すべき画像のＲＧＢ成分である。また、ＲＱ、ＧＱ、ＢＱは、αブレンディングにより得られる画像のＲＧＢ成分である。なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【００４１】
ここで先に述べた頂点シェーダ部１２２やピクセルシェーダ部１２４は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダの一種である。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることでポリゴン描画の処理内容の自由度が高く、従来のハードウェアによる固定的な画像生成処理に比べて表現力を大幅に向上させることができる。
【００４２】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００４３】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００４４】
２．本実施形態の手法
２．１  音データに応じたオブジェクトの変形手法
本実施形態では、音出力部から再生出力される音データに応じてオブジェクトの頂点を移動させて、オブジェクトを変形させることにより、物体が振動する様子を表現する手法を採用する。
【００４５】
例えば、図２（Ａ）に示すようなスピーカのモデルオブジェクトＭＯＢの場合には、振動板（コーン）のパーツオブジェクトＰＯＢを変形させて、再生出力される音データに同期した振動板の振動の様子を表現することができる。例えば、振動板のパーツオブジェクトＰＯＢを構成する頂点を、音データに対応する振動データに基づいて、図２（Ｂ）及び図２（Ｃ）に示すように、振動板が縮む方向（＋（正）の振動方向）と膨らむ方向（−（負）の振動方向）とに移動させることにより振動板が振動している様子が表現できる。
【００４６】
例えば、振動板が縮む方向にパーツオブジェクトＰＯＢを変形させる場合には、図３（Ａ）に示すように、パーツオブジェクトＰＯＢを構成する頂点を基準移動ベクトルの向きを移動方向として移動させる。また例えば、振動板が縮む方向にパーツオブジェクトＰＯＢを移動させる場合にはおいても、図３（Ｂ）に示すように、パーツオブジェクトＰＯＢを構成する頂点を基準移動ベクトルの向きを移動方向として移動させる。図３（Ａ）に示す場合と図３（Ｂ）に示す場合とでは、振動方向が異なるため、基準移動ベクトルは互いに逆の向きで与えられる。基準移動ベクトルは、各頂点に対して１つだけ設定しておけばよく、一方の振動方向に移動させる場合を正の方向とし、他方の振動方向に移動させる場合を負の方向とすれば、振動方向の極性に応じて、正方向あるいは負方向に設定したベクトルを反転させることで、負方向あるいは正方向の基準移動ベクトルを与えることができる。振動方向の設定については、後述にて別途説明する。
【００４７】
また図３（Ａ）及び図３（Ｂ）に示す各場合において、頂点の移動量は、基準移動ベクトルの大きさと振動データから得られる振動量とを乗算した結果より得ることができる。ここで、基準移動ベクトルの大きさは、頂点の移動量を決めるための移動係数を表している。この移動係数は、基準移動ベクトルとは別のパラメータによって与えるようにしてもよい。なお、基準移動ベクトルは、法線ベクトルのように、その大きさを正規化（単位ベクトル化）したものであってもよい。この場合には、基準移動ベクトルによって、各頂点の移動方向のみが与えられる。
【００４８】
具体的には、図４（Ａ）に示すように、正側（＋側）の振動方向（広義には、第１の振動方向）に対する基準移動ベクトルと負側（−側）の振動方向（広義には、第２の振動方向）に対する基準移動ベクトルとを、元のモデルの面（ポリゴン、プリミティブ）に対して鏡像反転（フリップ）した関係を有するように設定することができる。このようにすれば、元のモデルに対して大きく膨張変化する部分の偏り（むら）を抑えることができる。また簡易モデルで振動表現を行う場合には、図４（Ｂ）に示すように、オブジェクトの各頂点に与えられる法線方向の単位ベクトル（法線ベクトル）を基準移動ベクトルとすることもできる。この場合には、正側（＋側）の振動方向（広義には、第１の振動方向）に対する基準移動ベクトルと負側（−側）の振動方向（広義には、第２の振動方向）に対する基準移動ベクトルとが、元のモデルの面（ポリゴン、プリミティブ）に対して単純に反転した関係を有していればよい。
【００４９】
また移動係数は、振動データによって得られる振動量の影響度を表す係数である。例えば、移動量を大きくする必要がある頂点については大きい移動係数（例えば、１）を設定し、頂点の移動量を小さくする必要がある頂点にについては小さい移動係数（例えば、１未満）に設定すると、振動板の縮み具合や膨らみ具合をリアルに表現することができる。言い換えれば、振動板の真ん中付近の頂点は、移動係数を高めに設定しておき、端部の頂点は、移動係数を低めに設定しておくことができる。なお移動係数は、任意の値域で設定できる。
【００５０】
このように頂点の移動量を決めるための移動係数を振動データから得られる振動量とは別に設定すれば、１つの振動データから複数の頂点の移動量を決めることができるようになる。なお頂点毎に移動係数を設定することなく、１の振動データから各頂点の移動量を求める手法は、他にも考えられる。例えば、補間処理を用いる手法である。この場合には、移動量を大きくする必要がある１又は複数の頂点を代表頂点（基準頂点）として設定しておく。この場合には、代表頂点については、振動データから得られる振動量を頂点の移動量として用いる。そして代表頂点の周囲の頂点については、代表頂点からの距離に応じて代表頂点に与えられた振動量を補間して求めた補間振動量を、その頂点の移動量として求めることができる。
【００５１】
また振動板の材質（マテリアル）に応じた振動の様子を表現するためには、上述したパラメータとは別に属性データを設定することもできる。この属性データとしては、固有振動数（共振周波数）や弾性係数などが考えられる。例えば、固有振動数（共振周波数）を属性データとして設定しておけば、ある特定の周波数帯の音データが再生出力される場合に、その振動が増幅される様子を表現することができるようになる。
【００５２】
次に、図５（Ａ）〜図５（Ｃ）にスピーカの振動板付近のパーツオブジェクトの振動を詳細に表現する場合の例を示す。図５（Ａ）は、手前側（＋側、正側）への振動量（振幅）が最大のときを示し、図５（Ｂ）は、ニュートラル状態（無振動状態、振幅ゼロ状態）を示し、図５（Ｃ）は、奥側（−側、負側）への振動量（振幅）が最大のときを示している。
【００５３】
振動板付近のパーツオブジェクトとしては、コーン（振動板）、センターキャップ、エッジなどが含まれる。このモデルでは、センターキャップを構成する頂点を音データから抽出した振動データに基づいて求めた移動量Δｄ（＋Δｄ、−Δｄ）だけ前後（手前・奥）に移動させるとともに、コーンを構成する頂点を移動させている。この場合、コーンおよびセンターキャップを構成する各頂点を移動させる方向を設定する基準移動ベクトルは、共通化することができる。もちろん各頂点毎に個別に設定するようにしてもよいが、基準移動ベクトルを共通化することにより、メモリの消費量を節約することができる。また各頂点の移動量を定める移動係数は、頂点毎に与えることができる。例えば、コーンを構成する頂点については、エッジ付近の頂点の移動量は小さくなり、センターキャップ付近の頂点の移動量は大きくなるように移動係数を設定することができる。
【００５４】
また図５（Ａ）〜図５（Ｃ）に示す詳細モデルにおいて、コーン部分の変形（頂点の移動）は、図３（Ａ）及び図３（Ｂ）に示す態様としてもよい。このようにすれば、視覚的な効果が向上し、コーンが振動していることが認識できるように表現することができる。
【００５５】
またよりリアルな表現を実現するために、エッジ部分を振動させるようにしてもよく、さらにコーン部分にマッピングされるテクスチャの模様を単色ではなく、コーン部分のポリゴンの伸び縮みが把握できるような模様（色、線など）のテクスチャを用いるようにしてもよい。
【００５６】
２．２  振動データの生成手法
本実施形態では、音データの再生フレーム内で出力される音データの複数のサンプリングデータをフィルタリングすることにより音データに対応する振動データを生成する手法を採用している。なお、振動データは、リアルタイムに生成してもよいし、予め生成しておいたものをバッファリングしておくこともできる。なおリアルタイムに振動データを生成する場合には、予め音データを数フレーム分バッファリングしておき、その再生フレームよりも前のフレームにおいて振動データを生成しておくことが望ましい。このようにすれば、音データの再生フレームが到来したときに、その再生フレームで再生出力される音データに対応した振動データを用いて頂点の移動処理を行うことができ、実際に再生出力される音データとオブジェクトの変形による物体の振動の様子とのズレを軽減することができる。
【００５７】
図６（Ａ）に音データの例を示す。この音データは、フレームレートよりも高いサンプリングレートでサンプリングされたサンプリングデータ群からなり、１フレーム内に複数のサンプリングデータが含まれている。この場合に、各サンプリングデータの音量情報を振動データとすることも考えられる。しかし、オブジェクトの描画処理は、フレームレート単位で行われるため、このサンプリングレートに忠実に追従した画像を生成することは極めて困難である。またＣＤやＤＶＤ等に記録された音データの場合は、そのサンプリングレートが４４．１ＫＨｚとフレームレート（６０Ｈｚ）に比べて非常に高いものであるため、現実のスピーカの振動を再現しようとしても人間の目には、その振動の様子が認識できない。
【００５８】
そこで、本実施形態では、１再生フレーム内で再生出力される音データの複数のサンプリングデータをフィルタリング処理することにより、オブジェクトの頂点を移動させるための振動データを生成している。
【００５９】
具体的には、各再生フレームＦ１〜Ｆ９において再生出力される音データのサンプリングデータ群を平均化する処理によって、図６（Ｂ）に示すように、音データの低周波成分を抽出して、振動データを生成することができる。言い換えれば、サンプリングデータ群の音量情報を累積加算して、その加算値をサンプリング点の数で除算することにより、各再生フレームＦ１〜Ｆ９における音量情報の平均音量を算出し、その平均音量を振動データとして求めることができる。このとき、任意のしきい値音量を設定しておくことで、しきい値音量を上回る平均音量の振動データは、正の振動方向の振動量を表すデータとして扱い、しきい値を下回る平均音量の振動データは負の振動方向の振動量を表すデータとして扱うことができる。すなわち、平均音量からしきい値音量を減算することによって、振動データに極性を与えることができる。また平均音量としきい値音量との差分の絶対値を各振動方向への振動量とすることができる。そして、この振動データの極性に応じて頂点の移動方向が正負いずれの振動方向となるべきかを決定することができる。
【００６０】
この手法によれば、音データの低周波成分を振動データとして抽出することによって、例えば、ウーファーの振動板が振動する様子をリアルに表現することができる。
【００６１】
また振動データを生成する手法としては、図６（Ｃ）に示すように、各再生フレームＦ１〜Ｆ９内で再生出力される音データに含まれるサンプリングデータ群の中から最大音量のサンプリングデータと最小音量のサンプリングデータを１再生フレーム毎に交互に検出して、最大音量と最小音量との差分を振幅とする振動データを生成することができる。すなわち、この手法では、振動データのピークを検出するピークフィルタリングをしていることになる。なおこの手法においても、任意のしきい値音量を設定しておくことで、振動データに極性をもたせることができ、各再生フレームＦ１〜Ｆ９における振動データに対応する音量情報としきい値音量との差分を各振動方向への振動量とすることができる。このようにすれば、大きな振幅を有する振動データを生成することができる。
【００６２】
３．本実施形態の処理
次に、本実施形態の詳細な処理例について図７〜図９のフローチャートを用いて説明する。
【００６３】
図７に示すように、まずフレーム更新（１／６０秒）のタイミングか否かを判断する（ステップＳ１０）。そしてフレーム更新のタイミングである場合には（ステップＳ１０でＹＥＳ）、音データ記憶部にバッファリングされた音データのうち１フレーム分のサンプリングデータを取得する（ステップＳ１１）。次に、振動データの生成処理を行う（ステップＳ１２）。すなわち、図６（Ｂ）あるいは図６（Ｃ）で示したように、複数のサンプリングデータの平均化処理やピーク検出処理を行うフィルタリングを行って、振動データを得る。
【００６４】
次に、頂点シェーダ用及びピクセルシェーダ用のシェーダプログラムの転送とシェーダプログラムを実行して描画処理を行うために必要な各種パラメータの設定及び転送を行う（ステップＳ１３、Ｓ１４）。例えば、基準移動ベクトルや振動データ、必要に応じて属性データをパラメータとして描画プロセッサに転送する。そして、モデルオブジェクトの頂点リストを描画プロセッサへ転送し（ステップＳ１５）、ステップＳ１３で転送した頂点シェーダプログラム及びピクセルシェーダプログラムを順次を実行する（ステップＳ１６、Ｓ１７）。
【００６５】
また振動データを再生フレーム前に生成してバッファリングしておく場合には、図８に示すフローチャートに従って処理を行う。
【００６６】
まずフレーム更新（１／６０秒）のタイミングか否かを判断する（ステップＳ１０ａ）。そしてフレーム更新のタイミングである場合には（ステップＳ１０ａでＹＥＳ）、振動データ記憶部にバッファリングされた現在のフレーム（本フレーム）に対応する振動データを取得する（ステップＳ１１ａ）。
【００６７】
次に、頂点シェーダ用及びピクセルシェーダ用のシェーダプログラムの転送とシェーダプログラムを実行して描画処理を行うために必要な各種パラメータの設定及び転送を行う（ステップＳ１２ａ、Ｓ１３ａ）。そして、モデルオブジェクトの頂点リストを描画プロセッサへ転送し（ステップＳ１４ａ）、ステップＳ１３ａで転送した頂点シェーダプログラム及びピクセルシェーダプログラムを順次を実行する（ステップＳ１５ａ、Ｓ１６ａ）。
【００６８】
その後、次フレーム用の振動データの生成を行う。具体的には、音データ記憶部にバッファリングされた音データ群から次フレームの１フレーム分のサンプリングデータを取得する（ステップＳ１７ａ）。そして取得したサンプリングデータ群をフィルタリング処理することにより次フレーム用の振動データを生成し（ステップＳ１８ａ）、生成された振動データを振動データ記憶部にバッファリングして処理を終了する。
【００６９】
ところで、頂点シェーダでは、図９に示すフローチャートに沿って頂点シェーディングを行う。まず転送された頂点リストに含まれる各頂点について、頂点移動処理の対象となる頂点かどうかを判断する（ステップＳ２０）、頂点移動処理の対象となる頂点である場合には（ステップＳ２０でＹＥＳ）、振動データの極性に基づいて、頂点の振動方向を決定する（ステップＳ２１）。すなわち、図２（Ｂ）及び図２（Ｃ）、図４（Ａ）及び図４（Ｂ）あるいは図５（Ａ）及び図５（Ｃ）に示したように正（＋）の振動方向なのか、負（−）の振動方向なのかを判定して、基準移動ベクトルの向きを決定する。次に振動データ、振動方向、および各頂点に設定された基準移動ベクトルに基づいて頂点の移動後の座標を求め、求められた座標に従って頂点を移動させる（ステップＳ２２）。すなわち、マトリクス演算（ベクトル演算）によって、頂点の位置座標を変換する処理を行う。次に、透視変換等のジオメトリ処理によって座標系の変換処理を行い、頂点のスクリーン座標を計算する（ステップＳ２３）。このときテクスチャ座標の設定なども行われる。最終的には、作成された頂点データをピクセルシェーダ側に転送して（ステップＳ２４）、頂点シェーダプログラムを終了する。
【００７０】
４．ハードウェア構成
図１０に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ９００は、ＤＶＤ９８２（情報記憶媒体。ＣＤでもよい。）に格納されたプログラム、通信インターフェース９９０を介してダウンロードされたプログラム、或いはＲＯＭ９５０に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、マトリクス演算（ベクトル演算）を高速に実行する。例えばオブジェクトを移動させたり動作（モーション）させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【００７１】
ジオメトリプロセッサ９０４は、メインプロセッサ９００上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ９０６は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセラレートする。これにより、オープニング画面やゲーム画面において、ＭＰＥＧ方式等で圧縮された動画像を表示できる。
【００７２】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を実行する。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０を利用して、描画データ（頂点データや他のパラメータ）を描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると描画プロセッサ９１０は、描画データやテクスチャに基づいて、Ｚバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ９２２に描画する。また描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエイリアシング、シェーディング処理なども行う。頂点シェーダやピクセルシェーダなどのプログラマブルシェーダも描画プロセッサ９１０に実装されており、本実施形態の手法を実現するシェーダプログラムに従って、頂点データの作成・変更（更新）やピクセル（あるいはフラグメント）の描画色の決定を行う。１フレーム分の画像がフレームバッファ９２２に書き込まれるとその画像はディスプレイ９１２に表示される。
【００７３】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などのゲーム音を生成し、スピーカ９３２を介して出力する。ゲームコントローラ９４２やメモリカード９４４からのデータはシリアルインターフェース９４０を介して入力される。
【００７４】
ＲＯＭ９５０にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納される。なおＲＯＭ９５０の代わりにハードディスクを利用してもよい。ＲＡＭ９６０は各種プロセッサの作業領域となる。ＤＭＡコントローラ９７０は、プロセッサ、メモリ間でのＤＭＡ転送を制御する。ＤＶＤドライブ９８０（ＣＤドライブでもよい。）は、プログラム、画像データ、或いは音データなどが格納されるＤＶＤ９８２（ＣＤでもよい。）にアクセスする。通信インターフェース９９０はネットワーク（通信回線、高速シリアルバス）を介して外部との間でデータ転送を行う。
【００７５】
なお本実施形態の各部（各手段）の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【００７６】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【００７７】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。また頂点の移動手法、あるいは振動データの生成手法も、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。
【００７８】
また本実施の形態では、スピーカの振動板の振動の様子を表現する場合を例に採り説明したが、本発明はこれに限定されず、例えば、スピーカなどから出力される大音量の音でガラスが振動する様子を表現する場合などにも適用することもできる。また本実施の形態では、モデルオブジェクトを構成するパーツオブジェクトの頂点を移動させる場合を説明したが、モデルオブジェクトの全体の頂点を移動させる場合にも本実施形態の手法は適用することができる。
【００７９】
また本発明は種々のゲーム（格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等）に適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【００８０】
【図１】本実施形態の画像生成システムの機能ブロック図。
【図２】図２（Ａ）〜図２（Ｃ）は、本実施形態の手法の説明図。
【図３】図３（Ａ）及び図３（Ｂ）は、本実施形態の手法の説明図。
【図４】図４（Ａ）及び図４（Ｂ）は、本実施形態の手法の説明図。
【図５】図５（Ａ）〜図５（Ｃ）は、本実施形態の手法の説明図。
【図６】図６（Ａ）〜図６（Ｃ）は、本実施形態の手法の説明図。
【図７】本実施形態の具体的な処理例を示すフローチャート。
【図８】本実施形態の具体的な処理例を示すフローチャート。
【図９】本実施形態の具体的な処理例を示すフローチャート。
【図１０】ハードウェア構成例。
【符号の説明】
【００８１】
ＭＯＢ  モデルオブジェクト、ＰＯＢ  パーツオブジェクト、
１００  処理部、
１１０  オブジェクト空間設定部、１１２  移動・動作処理部、
１１４  仮想カメラ制御部、１１６  振動データ生成部、
１２０  画像生成部、１２２  頂点シェーダ部、１２４  ピクセルシェーダ部、
１３０  音生成部、１６０  入力部、１６２  操作部、１６４  音検出部、
１７０  記憶部、
１７２  主記憶部、１７４  描画バッファ、
１７６  音データ記憶部、１７８  振動データ記憶部、
１８０  情報記憶媒体、１９０  表示部、１９２  音出力部、
１９４  携帯型情報記憶装置、１９６  通信部
【図１】
2007087030.tif 000003
【図２】
2007087030.tif 000004
【図３】
2007087030.tif 000005
【図４】
2007087030.tif 000006
【図５】
2007087030.tif 000007
【図６】
2007087030.tif 000008
【図７】
2007087030.tif 000009
【図８】
2007087030.tif 000010
【図９】
2007087030.tif 000011
【図１０】
2007087030.tif 000012