(57)【特許請求の範囲】
【請求項１】
画像生成を行う画像生成システムであって、
一連の第１〜第Ｎの圧縮テクスチャを含む圧縮ムービーテクスチャのデータを記憶する記憶手段と、
圧縮ムービーテクスチャが含む一連の第１〜第Ｎの圧縮テクスチャを伸張する伸張手段と、
一連の第１〜第Ｎの圧縮テクスチャを伸張することで得られる一連の第１〜第Ｎの伸張テクスチャをオブジェクトに順次マッピングするテクスチャマッピング手段とを含み、
前記記憶手段に記憶される前記圧縮ムービーテクスチャのデータが、前記第１〜第Ｎの圧縮テクスチャの格納場所を指定するための指定データを含み、
前記テクスチャマッピング手段が、
前記指定データから第Ｋの圧縮テクスチャの格納場所を取得し、取得した格納場所にある第Ｋの圧縮テクスチャを伸張することにより得られる第Ｋの伸張テクスチャから順に第１のオブジェクトに対してテクスチャをマッピングすると共に、
前記指定データから第Ｌの圧縮テクスチャの格納場所を取得し、取得した格納場所にある第Ｌの圧縮テクスチャを伸張することにより得られる第Ｌの伸張テクスチャから順に第２のオブジェクトに対してテクスチャをマッピングすることを特徴とする画像生成システム。
【請求項２】
画像生成を行う画像生成システムであって、
一連の第１〜第Ｎの圧縮テクスチャを含む圧縮ムービーテクスチャのデータを記憶する記憶手段と、
圧縮ムービーテクスチャが含む一連の第１〜第Ｎの圧縮テクスチャを伸張する伸張手段と、
一連の第１〜第Ｎの圧縮テクスチャを伸張することで得られる一連の第１〜第Ｎの伸張テクスチャをオブジェクトに順次マッピングするテクスチャマッピング手段とを含み、
前記記憶手段に記憶される前記圧縮ムービーテクスチャのデータが、前記第１〜第Ｎの圧縮テクスチャの格納場所を指定するための指定データを含み、
前記テクスチャマッピング手段が、
前記指定データから第Ｉの圧縮テクスチャの格納場所と第Ｉ＋Ｊ（Ｊ≧２）の圧縮テクスチャの格納場所とを取得し、取得した格納場所にある第Ｉの圧縮テクスチャを伸張することで得られる第Ｉの伸張テクスチャの次に、取得した格納場所にある第Ｉ＋Ｊ（Ｊ≧２）の圧縮テクスチャを伸張することで得られる第Ｉ＋Ｊ（Ｊ≧２）の伸張テクスチャがマッピングされるように、前記第１〜第Ｎの伸張テクスチャを間引きしながらオブジェクトに順次マッピングすることを特徴とする画像生成システム。
【請求項３】
請求項１において、
前記第１、第２のオブジェクトが互いにオーバラップして配置されることを特徴とする画像生成システム。
【請求項４】
請求項３において、
前記第１のオブジェクトにマッピングされるテクスチャの非透明部分と前記第２のオブジェクトにマッピングされるテクスチャの非透明部分とが全ての再生フレームにおいてオーバラップするように、前記第１、第２のオブジェクトが配置されることを特徴とする画像生成システム。
【請求項５】
請求項１、３及び４のいずれかにおいて、
前記Ｋ、前記Ｌがランダムに設定されることを特徴とする画像生成システム。
【請求項６】
請求項２において、
所与のイベントの発生及び時間経過の少なくとも一方に応じて、前記Ｊが設定されることを特徴とする画像生成システム。
【請求項７】
一連の第１〜第Ｎの圧縮テクスチャを含む圧縮ムービーテクスチャのデータを記憶する記憶手段と、
圧縮ムービーテクスチャが含む一連の第１〜第Ｎの圧縮テクスチャを伸張する伸張手段と、
一連の第１〜第Ｎの圧縮テクスチャを伸張することで得られる一連の第１〜第Ｎの伸張テクスチャをオブジェクトに順次マッピングするテクスチャマッピング手段としてコンピュータを機能させるためのプログラムであって、
前記記憶手段に記憶される前記圧縮ムービーテクスチャのデータが、前記第１〜第Ｎの圧縮テクスチャの格納場所を指定するための指定データを含み、
前記テクスチャマッピング手段が、
前記指定データから第Ｋの圧縮テクスチャの格納場所を取得し、取得した格納場所にある第Ｋの圧縮テクスチャを伸張することにより得られる第Ｋの伸張テクスチャから順に第１のオブジェクトに対してテクスチャをマッピングすると共に、
前記指定データから第Ｌの圧縮テクスチャの格納場所を取得し、取得した格納場所にある第Ｌの圧縮テクスチャを伸張することにより得られる第Ｌの伸張テクスチャから順に第２のオブジェクトに対してテクスチャをマッピングすることを特徴とするプログラム。
【請求項８】
一連の第１〜第Ｎの圧縮テクスチャを含む圧縮ムービーテクスチャのデータを記憶する記憶手段と、
圧縮ムービーテクスチャが含む一連の第１〜第Ｎの圧縮テクスチャを伸張する伸張手段と、
一連の第１〜第Ｎの圧縮テクスチャを伸張することで得られる一連の第１〜第Ｎの伸張テクスチャをオブジェクトに順次マッピングするテクスチャマッピング手段としてコンピュータを機能させるためのプログラムであって、
前記記憶手段に記憶される前記圧縮ムービーテクスチャのデータが、前記第１〜第Ｎの圧縮テクスチャの格納場所を指定するための指定データを含み、
前記テクスチャマッピング手段が、
前記指定データから第Ｉの圧縮テクスチャの格納場所と第Ｉ＋Ｊ（Ｊ≧２）の圧縮テクスチャの格納場所とを取得し、取得した格納場所にある第Ｉの圧縮テクスチャを伸張することで得られる第Ｉの伸張テクスチャの次に、取得した格納場所にある第Ｉ＋Ｊ（Ｊ≧２）の圧縮テクスチャを伸張することで得られる第Ｉ＋Ｊ（Ｊ≧２）の伸張テクスチャがマッピングされるように、前記第１〜第Ｎの伸張テクスチャを間引きしながらオブジェクトに順次マッピングすることを特徴とするプログラム。
【請求項９】
請求項７において、
前記第１、第２のオブジェクトが互いにオーバラップして配置されることを特徴とするプログラム。
【請求項１０】
請求項９において、
前記第１のオブジェクトにマッピングされるテクスチャの非透明部分と前記第２のオブジェクトにマッピングされるテクスチャの非透明部分とが全ての再生フレームにおいてオーバラップするように、前記第１、第２のオブジェクトが配置されることを特徴とするプログラム。
【請求項１１】
請求項７、９及び１０のいずれかにおいて、
前記Ｋ、前記Ｌがランダムに設定されることを特徴とするプログラム。
【請求項１２】
請求項８において、
所与のイベントの発生及び時間経過の少なくとも一方に応じて、前記Ｊが設定されることを特徴とするプログラム。
【請求項１３】
コンピュータにより読み取り可能な情報記憶媒体であって、請求項７乃至１２のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像生成システム、プログラム及び情報記憶媒体に関する。
【０００２】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な３次元空間であるオブジェクト空間内において仮想カメラ（所与の視点）から見える画像を生成する画像生成システム（ゲームシステム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。ロールプレイングゲーム（ＲＰＧ）を楽しむことができる画像生成システムを例にとれば、プレーヤは、自身の分身であるキャラクタ（オブジェクト）を操作してオブジェクト空間内のマップ上で移動させ、敵キャラクタと対戦したり、他のキャラクタと対話したり、様々な町を訪れたりすることでゲームを楽しむ。
【０００３】
さて、この種の画像生成システムでは、ゲームのオープニング、幕間又はエンディングなどにおいて、プレーヤのゲーム意欲を盛り上げたりプレーヤの感動を高めるために、いわゆるムービー（動画）と呼ばれるものが再生される場合が多い。そして、ムービーのデータは、ＭＰＥＧ方式で圧縮されて情報記憶媒体に格納され、画像生成システムが有するハードウェアの伸張部（デコード部、データ伸張プロセッサ）により伸張（展開、デコード）されて再生される。
【０００４】
このムービーでは、ＣＧツールにより長時間をかけて制作された高品質なＣＧ映像や、現実世界においてカメラにより撮った実写映像を使用できるため、ポリゴン（プリミティブ）により構成された３次元オブジェクトをリアルタイムに動かすことで生成される映像に比べて、よりリアルで写実的な表現が可能になる。
【０００５】
しかしながら、このようなムービーは、ゲームのオープニング等での使用しか想定されていなかったため、画像生成システムが有するハードウェアの伸張部は、このムービーの圧縮データをひと繋がりのデータであるストリームとしてしか取り扱うことができなかった。即ち、圧縮ムービー・データを最初のフレームから順に最後のフレームまでベタで伸張、再生することしかできなかった。
【０００６】
また、沿革的にも、ＭＰＥＧ方式等では、圧縮データはひと繋がりのストリームとして取り扱われ、ベタでの伸張、再生しか想定されていなかった。
【０００７】
このため、ムービーは、ゲームのオープニング等の表現には向いているが、最初のフレームからしか再生できず任意のフレームの再生ができないため、状況がプレーヤの操作等により常に変化するようなリアルタイムなゲーム画像の生成には不向きであるという問題点があった。
【０００８】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、ムービーを用いた多様な画像表現を少ないデータ量で実現できる画像生成システム、プログラム及び情報記憶媒体を提供することにある。
【０００９】
【課題を解決するための手段】
上記課題を解決するために、本発明は、画像生成を行う画像生成システムであって、圧縮ムービーテクスチャが含む一連の第１〜第Ｎの圧縮テクスチャを伸張する伸張手段と、一連の第１〜第Ｎの圧縮テクスチャを伸張することで得られる一連の第１〜第Ｎの伸張テクスチャをオブジェクトに順次マッピングするテクスチャマッピング手段とを含み、前記テクスチャマッピング手段が、第１のオブジェクトに対しては、第Ｋの圧縮テクスチャを伸張することにより得られる第Ｋの伸張テクスチャから順にテクスチャをマッピングすると共に、第２のオブジェクトに対しては、第Ｌの圧縮テクスチャを伸張することにより得られる第Ｌの伸張テクスチャから順にテクスチャをマッピングすることを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム（情報記憶媒体又は搬送波に具現化されるプログラム）であって、上記手段をコンピュータに実現させる（上記手段としてコンピュータを機能させる）ことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより読み取り可能（使用可能）な情報記憶媒体であって、上記手段をコンピュータに実現させる（上記手段としてコンピュータを機能させる）ためのプログラムを含むことを特徴とする。
【００１０】
本発明によれば、一連の第１〜第Ｎの圧縮テクスチャが伸張され、得られた一連の第１〜第Ｎの伸張テクスチャがオブジェクトに順次（巡回的に）マッピングされるムービーテクスチャマッピングが行われる。
【００１１】
そして本発明では、第１のオブジェクトには第Ｋの伸張テクスチャから順にテクスチャがマッピングされる一方で、第２のオブジェクトには第Ｌの伸張テクスチャから順にテクスチャがマッピングされる。即ち、テクスチャの再生開始フレーム（伸張開始フレーム）がオブジェクト毎に異なったフレームに設定される。これにより、共通の圧縮ムービーテクスチャを用いながらも、各オブジェクトの画像の見え方が異なって見えるようになり、少ないデータ量で多様な画像表現が可能になる。
【００１２】
また本発明は、画像生成を行う画像生成システムであって、圧縮ムービーテクスチャが含む一連の第１〜第Ｎの圧縮テクスチャを伸張する伸張手段と、一連の第１〜第Ｎの圧縮テクスチャを伸張することで得られる一連の第１〜第Ｎの伸張テクスチャをオブジェクトに順次マッピングするテクスチャマッピング手段とを含み、前記テクスチャマッピング手段が、第Ｉの伸張テクスチャの次に第Ｉ＋Ｊ（Ｊ≧２）の伸張テクスチャがマッピングされるように、前記第１〜第Ｎの伸張テクスチャを間引きしながらオブジェクトに順次マッピングすることを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム（情報記憶媒体又は搬送波に具現化されるプログラム）であって、上記手段をコンピュータに実現させる（上記手段としてコンピュータを機能させる）ことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより読み取り可能（使用可能）な情報記憶媒体であって、上記手段をコンピュータに実現させる（上記手段としてコンピュータを機能させる）ためのプログラムを含むことを特徴とする。
【００１３】
本発明によれば、第Ｉの圧縮テクスチャを伸張することで得られる第Ｉの伸張テクスチャの次に、第Ｉ＋Ｊ（Ｊ≧２）の圧縮テクスチャを伸張することで得られる第Ｉ＋Ｊの伸張テクスチャがオブジェクトにマッピングされる間引き再生のムービーテクスチャマッピングが行われる。即ち、テクスチャの間引きフレーム数が種々のフレーム数に設定される。これにより、共通の圧縮ムービーテクスチャを用いながらも、オブジェクトにマッピングされるムービーテクスチャの再生スピードを異ならせることが可能になり、少ないデータ量で多様な画像表現が可能になる。
【００１４】
また本発明は、画像生成を行う画像生成システムであって、一連の第１〜第Ｎの圧縮テクスチャを含む圧縮ムービーテクスチャのデータを記憶する記憶手段と、圧縮ムービーテクスチャが含む一連の第１〜第Ｎの圧縮テクスチャを伸張する伸張手段と、一連の第１〜第Ｎの圧縮テクスチャを伸張することで得られる一連の第１〜第Ｎの伸張テクスチャをオブジェクトに順次マッピングするテクスチャマッピング手段とを含み、前記記憶手段に記憶される前記圧縮ムービーテクスチャのデータが、前記第１〜第Ｎの圧縮テクスチャの格納場所を指定するための指定データを含み、前記テクスチャマッピング手段が、前記指定データにより指定された圧縮テクスチャを伸張することにより得られる伸張テクスチャをオブジェクトにマッピングすることを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム（情報記憶媒体又は搬送波に具現化されるプログラム）であって、上記手段をコンピュータに実現させる（上記手段としてコンピュータを機能させる）ことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより読み取り可能（使用可能）な情報記憶媒体であって、上記手段をコンピュータに実現させる（上記手段としてコンピュータを機能させる）ためのプログラムを含むことを特徴とする。
【００１５】
本発明によれば、圧縮ムービーテクスチャのデータが、第１〜第Ｎの圧縮テクスチャの格納場所を指定するデータを含む。従って、この指定データを用いて、任意のフレームの圧縮テクスチャの伸張、再生が可能になり、少ないデータ量で多様な画像表現が可能になる。
【００１６】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記第１、第２のオブジェクトが互いにオーバラップして配置されることを特徴とする。このようにすれば、共通のムービーテクスチャのデータを用いながらも、第１、第２のオブジェクトの面積範囲を合わせた広い範囲の画像表現が可能になる。
【００１７】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記第１のオブジェクトにマッピングされるテクスチャの非透明部分と前記第２のオブジェクトにマッピングされるテクスチャの非透明部分とが全ての再生フレームにおいてオーバラップするように、前記第１、第２のオブジェクトが配置されることを特徴とする。このようにすれば、第１、第２のオブジェクトのテクスチャの非透明部分の間に隙間が生じないことが保証されるようになり、第１、第２のオブジェクトの集合で表される、広い範囲の表示物を表現できるようになる。
【００１８】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記Ｋ、前記Ｌがランダムに設定されることを特徴とする。このようにすれば、Ｋ、Ｌの設定値に応じて生成される画像の見え方が多様に変化するようになり、画像表現のバラエティ度を増すことができる。
【００１９】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、所与のイベントの発生及び時間経過の少なくとも一方に応じて、前記Ｊが設定されることを特徴とする。このようにすれば、イベント発生や時間経過に応じて画像の見え方が多様に変化するようになる。
【００２０】
また本発明は、画像生成を行う画像生成システムであって、一連の第１〜第Ｎの圧縮フレーム画像を含む圧縮ムービーのデータを記憶する記憶手段と、圧縮ムービーが含む一連の第１〜第Ｎの圧縮フレーム画像を伸張する伸張手段とを含み、前記記憶手段に記憶される前記圧縮ムービーのデータが、前記第１〜第Ｎの圧縮フレーム画像の格納場所を指定するための指定データを含み、前記指定データにより指定された圧縮フレーム画像を伸張することにより得られたフレーム画像を再生することを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム（情報記憶媒体又は搬送波に具現化されるプログラム）であって、上記手段をコンピュータに実現させる（上記手段としてコンピュータを機能させる）ことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより読み取り可能（使用可能）な情報記憶媒体であって、上記手段をコンピュータに実現させる（上記手段としてコンピュータを機能させる）ためのプログラムを含むことを特徴とする。
【００２１】
本発明によれば、圧縮ムービーのデータが、第１〜第Ｎの圧縮フレーム画像の格納場所を指定するデータを含む。従って、この指定データを用いて、任意のフレームの圧縮フレーム画像の伸張、再生が可能になり、少ないデータ量で多様な画像表現が可能になる。
【００２２】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて説明する。
【００２３】
１．構成
図１に、本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部１００を含めばよく（或いは処理部１００と記憶部１７０を含めばよく）、それ以外のブロックについては任意の構成要素とすることができる。
【００２４】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、マイク、或いは筺体などのハードウェアにより実現できる。
【００２５】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭなどのハードウェアにより実現できる。
【００２６】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などのハードウェアにより実現できる。処理部１００は、この情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本発明（本実施形態）の種々の処理を行う。即ち情報記憶媒体１８０には、本発明（本実施形態）の手段（特に処理部１００に含まれるブロック）をコンピュータに実現（実行、機能）させるためのプログラムが格納され、このプログラムは、例えば１又は複数のモジュール（オブジェクト指向におけるオブジェクトも含む）を含む。
【００２７】
なお、情報記憶媒体１８０に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部１７０に転送されることになる。また情報記憶媒体１８０には、本発明の処理を行うためのプログラム、画像データ、音データ、表示物の形状データ、本発明の処理を指示するための情報、或いはその指示に従って処理を行うための情報などを含ませることができる。
【００２８】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、或いはＨＭＤ（ヘッドマウントディスプレイ）などのハードウェアにより実現できる。
【００２９】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカなどのハードウェアにより実現できる。
【００３０】
携帯型情報記憶装置１９４は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などを考えることができる。
【００３１】
通信部１９６は、外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ、或いは通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００３２】
なお本発明（本実施形態）の各手段を実現（実行、機能）するためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０に配信するようにしてもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含まれる。
【００３３】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの各種の処理を行う。この場合、処理部１００は、記憶部１７０内の主記憶部１７２をワーク領域として使用して、各種の処理を行う。
【００３４】
ここで、処理部１００が行う処理としては、コイン（代価）の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクト（１又は複数のプリミティブ）の位置や回転角度（Ｘ、Ｙ又はＺ軸回り回転角度）を求める処理、オブジェクトを動作させる処理（モーション処理）、視点の位置（仮想カメラの位置）や視線角度（仮想カメラの回転角度）を求める処理、マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置する処理、ヒットチェック処理、ゲーム結果（成果、成績）を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバー処理などを考えることができる。
【００３５】
処理部１００は、移動・動作演算部１１０、仮想カメラ制御部１１２、オブジェクト空間設定部１１４、画像生成部１２０、音生成部１３０を含む。なお、処理部１００は、これらの全ての機能ブロックを含む必要はない。
【００３６】
ここで移動・動作演算部１１０は、キャラクタ、車などのオブジェクト（移動オブジェクト）の移動情報（位置、回転角度）や動作情報（オブジェクトの各パーツの位置、回転角度）を演算するものであり、例えば、操作部１６０によりプレーヤが入力した操作データやゲームプログラムなどに基づいて、オブジェクトを移動させたり動作（モーション、アニメーション）させたりする処理を行う。
【００３７】
より具体的には、移動・動作演算部１１０は、オブジェクトの位置や回転角度を例えば１フレーム（１／６０秒、１／３０秒等）毎に変化させる。例えば（ｋ−１）フレームでのオブジェクトの位置、回転角度をＰk-1、θk-1とし、オブジェクトの１フレームでの位置変化量（速度）、回転変化量（回転速度）を△Ｐ、△θとする。するとｋフレームでのオブジェクトの位置Ｐk、回転角度θkは例えば下式（１）、（２）のように求められる。
【００３８】
Ｐk＝Ｐk-1＋△Ｐ              （１）
θk＝θk-1＋△θ              （２）
仮想カメラ制御部１１２は、オブジェクト空間内の所与（任意）の視点での画像を生成するための仮想カメラを制御する処理を行う。即ち、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転（Ｘ、Ｙ、Ｚ軸回りでの回転）を制御する処理（視点位置や視線方向を制御する処理）等を行う。
【００３９】
例えば、仮想カメラにより移動オブジェクトを後方から撮影する場合には、移動オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転（仮想カメラの方向）を制御することが望ましい。この場合には、移動・動作演算部１１０で得られた移動オブジェクトの位置、方向又は速度などの情報に基づいて、仮想カメラを制御することになる。或いは、仮想カメラを、予め決められた移動経路で移動させながら予め決められた角度で回転させるようにしてもよい。この場合には、仮想カメラの位置（移動経路）や回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御することになる。
【００４０】
オブジェクト空間設定部１１４は、マップなどの各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト）をオブジェクト空間内に設定するための処理を行う。より具体的には、ワールド座標系でのオブジェクトの位置や回転角度（方向）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転）でオブジェクトを配置する。
【００４１】
画像生成部１２０は、処理部１００で行われる種々の処理の結果に基づいて画像処理を行い、ゲーム画像を生成し、表示部１９０に出力する。例えば、いわゆる３次元のゲーム画像を生成する場合には、まず、座標変換、クリッピング処理、透視変換、或いは光源計算等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブの構成点（頂点）に付与される位置座標、テクスチャ座標、色（輝度）データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（プリミティブデータ）に基づいて、ジオメトリ処理後のオブジェクト（１又は複数プリミティブ）の画像が、描画バッファ１７４（フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ）に描画される。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成されるようになる。
【００４２】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００４３】
画像生成部１２０は、伸張部１２２、テクスチャマッピング部１２４を含む。
【００４４】
ここで、伸張部１２２（展開部、デコード部）は、ＪＰＥＧ、ＭＰＥＧ等の圧縮方法で圧縮されたデータを伸張（展開、デコード）する処理を行う。より具体的には、ＭＰＥＧで圧縮された一連のＩピクチャを伸張する。
【００４５】
例えば、データ圧縮は以下のようにして実現できる。
【００４６】
即ち、まずデータが複数のマクロブロックに分割される。そして、分割された各ブロックに対して、ＤＣＴ（離散コサイン変換。広義には、アダマール変換、固有値変換等を含む直交変換）が施される。これにより、データが周波数（空間周波数）分解される。次に、ＤＣＴにより得られた各ＤＣＴ係数（広義には直交変換係数）が量子化される。そして、ハフマン符号化（エントロピー符号化、可変長符号化）が行われ、これにより圧縮データが得られる。
【００４７】
一方、データ伸張は以下のようにして実現できる。
【００４８】
即ち、まず圧縮データが情報記憶媒体１８０から読み込まれる。或いは、圧縮データがネットワーク（伝送ライン、通信回線）、通信部１９６を介して外部から読み込まれる。伸張部１２２は、この読み込まれた圧縮データに対してハフマン復号化（エントロピー復号化、可変長復号化）を行う。次に、伸張部１２２は、ハフマン復号化後のデータに対して逆量子化を行う。そして、逆ＤＣＴを行い、これにより伸張データが得られる。
【００４９】
なおＭＰＥＧ（ＭＰＥＧ２、ＭＰＥＧ４等）の場合に、例えば時間的相関関係を利用した予測符号化、予測復号化（動き補償フレーム間予測）を行ってもよい。
【００５０】
テクスチャマッピング部１２４は、テクスチャ記憶部１７６に記憶されるテクスチャをオブジェクトにマッピングするための処理を行う。
【００５１】
ここで本実施形態では、テクスチャ記憶部１７６が、一連の第１〜第Ｎの圧縮テクスチャ（広義には第１〜第Ｎの圧縮フレーム画像。以下の説明でも同様）を含む圧縮ムービーテクスチャ（広義には圧縮ムービー。以下の説明でも同様）のデータを記憶する。
【００５２】
そして伸張部１２２が、この圧縮ムービーテクスチャのデータに基づいて伸張処理を行い、テクスチャマッピング部１２４が、一連の第１〜第Ｎの圧縮テクスチャを伸張することで得られる一連の第１〜第Ｎの伸張テクスチャ（広義には第１〜第Ｎの伸張フレーム画像。以下の説明でも同様）をオブジェクトに順次マッピングするための処理を行う。
【００５３】
この時、本実施形態では、テクスチャ記憶部１７６に格納される圧縮ムービーテクスチャのデータに、第１〜第Ｎの圧縮テクスチャの格納場所（アドレス等）を指定するための指定データを含ませる。そして、この指定データを用いて、圧縮テクスチャの再生開始フレームをランダムに設定するランダム再生や、圧縮テクスチャの間引き再生等を実現する。
【００５４】
より具体的には、第１のオブジェクトに対しては、第Ｋの伸張テクスチャ、第Ｋ＋１の伸張テクスチャ、第Ｋ＋２の伸張テクスチャ・・・・第Ｎの伸張テクスチャ、第１の伸張テクスチャ、第２の伸張テクスチャ・・・・第Ｋ−１の伸張テクスチャというようにテクスチャをオブジェクトに巡回的にマッピングするランダム再生のムービー・テクスチャマッピングを行う。一方、第２のオブジェクトに対しては、第Ｌの伸張テクスチャ、第Ｌ＋１の伸張テクスチャ、第Ｌ＋２の伸張テクスチャ・・・・第Ｎの伸張テクスチャ、第１の伸張テクスチャ、第２の伸張テクスチャ・・・・第Ｌ−１の伸張テクスチャというようにテクスチャをオブジェクトに巡回的にマッピングするランダム再生のムービーテクスチャマッピングを行う。
【００５５】
或いは、第Ｉの伸張テクスチャの次に第Ｉ＋Ｊ（Ｊ≧２）の伸張テクスチャがマッピングされるように、第１〜第Ｎの伸張テクスチャを間引きしながらオブジェクトに巡回的にマッピングする間引き再生のムービーテクスチャマッピングを行う。
【００５６】
なお、マッピングされる伸張テクスチャの開始フレームが異なるオブジェクトを３つ以上設けてもよい。また、ランダム再生を行いながら更に間引き再生を行うようにしてもよい。
【００５７】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【００５８】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて生成してもよい。
【００５９】
２．本実施形態の特徴
次に本実施形態の特徴について図面を用いて説明する。なお、以下では、炎や水面の表現に本発明を適用した場合を主に例にとり説明するが、本発明は、炎や水面表現以外の他の画像表現（草原、樹木、煙又は雲等）にも適用できる。
【００６０】
２．１  ランダム再生のムービーテクスチャマッピング
本実施形態では波や水面のリアルな表現のために、ムービーテクスチャマッピングの手法を採用している。
【００６１】
このムービーテクスチャマッピングでは図２に示すように、炎や水面の絵柄を表す一連の圧縮テクスチャＣＴＥＸ１〜Ｎ（圧縮フレーム画像）を用意する。そして、これらのＣＴＥＸ１〜Ｎを一連の伸張テクスチャＥＴＥＸ１〜Ｎ（伸張フレーム画像）に伸張し、炎や水面のオブジェクトＯＢに順次マッピングする（巡回的にマッピングする）。
【００６２】
このムービーテクスチャマッピングによれば、オブジェクトにマッピングされるテクスチャが時間経過（フレーム更新）に伴い順次変化するようになるため、静的なテクスチャをマッピングする場合に比べて、より変化に富んだ画像を生成できる。
【００６３】
また、このムービーテクスチャマッピングによれば、ＣＧツールにより長時間をかけて制作された高品質なＣＧ映像や、現実世界においてカメラにより撮った実写映像を、テクスチャとして使用できるため、よりリアルで写実的な表現が可能になる。
【００６４】
更に、圧縮テクスチャＣＴＥＸ１〜Ｎは圧縮された状態で情報記憶媒体に記憶されたりネットワークを介して転送されることになるため、情報記憶媒体の使用記憶容量やネットワークの通信容量の節約を図ることができる。
【００６５】
しかしながら、図２のムービーテクスチャマッピング手法では、圧縮テクスチャＣＴＥＸ１〜Ｎをひと繋がりのデータ（ストリーム）としてしか取り扱うことができず、常に、ＣＴＥＸ１から順に伸張され、ＥＴＥＸ１から順にオブジェクトＯＢにマッピングされてしまうという問題点がある。即ち、再生開始フレームが最初のフレームであるＣＴＥＸ１（ＥＴＥＸ１）に常に固定されてしまい、得られる画像が今一つ単調になってしまうという問題点がある。
【００６６】
そこで本実施形態では、再生開始フレームをランダム（任意）に設定できるムービーテクスチャマッピング手法を採用している。
【００６７】
より具体的には図３に示すように、オブジェクトＯＢ１に対してはフレームＫを再生開始フレームに設定してムービーテクスチャマッピングを行う一方で、オブジェクトＯＢ２に対してはフレームＫとは異なるフレームＬを再生開始フレームに設定してムービーテクスチャマッピングを行う。
【００６８】
例えばオブジェクトＯＢ１に対しては、フレームＫの圧縮テクスチャＣＴＥＸＫを伸張することにより得られる伸張テクスチャＥＴＥＸＫから順にムービーテクスチャマッピングを行う。即ち、ＥＴＥＸＫ、ＥＴＥＸＫ＋１、ＥＴＥＸＫ＋２・・・・・・ＥＴＥＸＮ−１、ＥＴＥＸＮ、ＥＴＥＸ１、ＥＴＥＸ２・・・・ＥＴＥＸＫ−２、ＥＴＥＸＫ−１、ＥＴＥＸＫ・・・・というようにテクスチャをオブジェクトＯＢに巡回的にマッピングする。
【００６９】
一方、オブジェクトＯＢ２に対しては、フレームＬの圧縮テクスチャＣＴＥＸＬを伸張することにより得られる伸張テクスチャＥＴＥＸＬから順にムービーテクスチャマッピングを行う。即ち、ＥＴＥＸＬ、ＥＴＥＸＬ＋１、ＥＴＥＸＬ＋２・・・・・・ＥＴＥＸＮ−１、ＥＴＥＸＮ、ＥＴＥＸ１、ＥＴＥＸ２・・・・ＥＴＥＸＬ−２、ＥＴＥＸＬ−１、ＥＴＥＸＬ・・・・というようにテクスチャをオブジェクトＯＢに巡回的にマッピングする。
【００７０】
このようにすることで、同じ圧縮テクスチャＣＴＥＸ１〜Ｎを用いながらも、オブジェクトＯＢ１、ＯＢ２の画像の見え方が異なって見えるようになり、少ないデータ量で画像表現のバラエティ度を増すことができる。
【００７１】
図４（Ａ）、（Ｂ）、（Ｃ）に、本実施形態で使用される各フレームのムービーテクスチャの画像例を示す。これらのムービーテクスチャは炎を表現するテクスチャであり、これらのムービーテクスチャを連続して再生することで、炎がゆらゆらと揺れながら燃えている様子をリアルに表現できる。
【００７２】
本実施形態では図５（Ａ）に示すように、図４（Ａ）、（Ｂ）、（Ｃ）のムービーテクスチャがマッピングされるオブジェクトＯＢ１、ＯＢ２、ＯＢ３（少なくとも２個以上のオブジェクト）を互いにオーバラップさせて配置している。そして、これらのオブジェクトＯＢ１、ＯＢ２、ＯＢ３にマッピングされるムービーテクスチャの再生開始フレームをオブジェクト毎に異ならせている。
【００７３】
即ち、オブジェクトＯＢ１に対してはフレームＫを再生開始フレームとしてムービーテクスチャマッピングを行い、ＯＢ１の隣のオブジェクトＯＢ２に対してはフレームＬを再生開始フレームとしてムービーテクスチャマッピングを行う。また、ＯＢ２の隣のオブジェクトＯＢ３に対してはフレームＭを再生開始フレームとしてムービーテクスチャマッピングを行う。
【００７４】
このようにすることで、広い範囲を占める炎（図４（Ａ）、（Ｂ）、（Ｃ）の約３倍の範囲の炎）を表現でき、生成される画像のバラエティ度を増すことができる。しかも、オブジェクトＯＢ１、ＯＢ２、ＯＢ３間では共通の圧縮ムービーテクスチャが用いられるため、テクスチャの使用記憶容量を節約しながらリアルで多様な画像を生成できるようになる。
【００７５】
また、本実施形態では、図５（Ｂ）に示すように、オブジェクトＯＢ１にマッピングされるテクスチャの非透明部分（半透明部分又は不透明部分）とオブジェクトＯＢ２にマッピングされるテクスチャの非透明部分とが、全ての再生フレーム（第１〜第Ｎのフレーム）においてオーバラップするようにオブジェクトＯＢ１、ＯＢ２を配置している。同様に、オブジェクトＯＢ２にマッピングされるテクスチャの非透明部分とオブジェクトＯＢ３にマッピングされるテクスチャの非透明部分とが、全ての再生フレームにおいてオーバラップするようにオブジェクトＯＢ２、ＯＢ３を配置している。
【００７６】
このようにすれば、ムービーテクスチャマッピングによりムービーテクスチャを順次再生していった場合にも、オブジェクトＯＢ１に描かれた炎（不透明部分）とＯＢ２に描かれた炎の間や、オブジェクトＯＢ２に描かれた炎とＯＢ３に描かれた炎の間に隙間が生じないことが保証されるようになる。従って、これらの小さな炎の集合が１つの大きな炎であるかのような錯覚をプレーヤに与えることができ、広い範囲を占める大きな炎を少ないデータ量で表現できるようになる。
【００７７】
更に本実施形態では、図５（Ｃ）に示すように、オブジェクトＯＢ１、ＯＢ２、ＯＢ３の再生開始フレームＫ、Ｌ、Ｍをランダムに設定するようにしている。
【００７８】
このようにすれば、Ｋ、Ｌ、Ｍの設定のされ方によって、異なった見え方をする炎を表現できるようになり、画像表現のバラエティ度を更に増すことができる。即ち、例えばＫ＝１０、Ｌ＝１８、Ｍ＝３０と設定された場合の炎の見え方と、Ｋ＝５、Ｌ＝２０、Ｍ＝３５と設定された場合の炎の見え方は、全く異なったものとなる。従って、Ｋ、Ｌ、Ｍの設定の仕方で、ほとんど無限大に近い種類の炎を表現できるようになる。
【００７９】
また、このＫ、Ｌ、Ｍを、イベントの発生及び時間経過の少なくとも一方に応じて設定するようにすれば、更に多様な炎の表現を実現できるようになる。
【００８０】
図６（Ａ）、（Ｂ）、（Ｃ）に、図４（Ａ）、（Ｂ）、（Ｃ）のムービーテクスチャを再生開始フレームを異ならせながら複数（少なくとも２以上）のオブジェクトにマッピングすることで生成された炎の画像の例を示す。
【００８１】
このように本実施形態によれば、図４（Ａ）、（Ｂ）、（Ｃ）に示すような小さな炎のテクスチャを用意するだけで、広い範囲を占める炎をリアルに表現でき、これまでにない画像表現を実現できるようになる。
【００８２】
なお、本実施形態の手法は、図６（Ａ）、（Ｂ）、（Ｃ）に示すような炎の画像表現のみならず、広い草原、樹木、流水、煙、雲などの画像表現にも好適な手法となる。
【００８３】
２．２  テクスチャの間引き再生（再生スピードの変化）
本実施形態では、ムービーテクスチャの任意のフレームを再生する手法を利用して、間引き再生のムービーテクスチャマッピングを実現している。
【００８４】
より具体的には、圧縮テクスチャＣＴＥＸＩを伸張することで得られる伸張テクスチャＥＴＥＸＩの次に、圧縮テクスチャＣＴＥＸＩ＋Ｊ（Ｊ≧２）を伸張することで得られる伸張テクスチャＥＴＥＸＩ＋Ｊがマッピングされるように、伸張テクスチャＥＴＥＸ１〜Ｎを間引きしながらオブジェクトＯＢに順次マッピングしている。
【００８５】
例えば図７では、伸張テクスチャＥＴＥＸＩ、ＥＴＥＸＩ＋２、ＥＴＥＸＩ＋４、ＥＴＥＸＩ＋６・・・・・ＥＴＥＸＮ、ＥＴＥＸ２・・・・・ＥＴＥＸＩ−２、ＥＴＥＸＩ・・・・というように、伸張テクスチャＥＴＥＸ１〜Ｎを間引きしながらオブジェクトＯＢに巡回的にマッピングしている。
【００８６】
このようにすれば、間引きフレーム数に相当するＪ−１を変化させることで、ムービーテクスチャの再生スピードを多様に変化させることができる。
【００８７】
例えばＪ＝２に設定すれば、間引き再生のムービーテクスチャマッピングを行わない場合の２倍のスピードでムービーテクスチャを再生でき、Ｊ＝３に設定すれば、３倍のスピードでムービーテクスチャを再生できるようになる。従って、共通の圧縮ムービーテクスチャを用いながらも、Ｊの設定値に応じてオブジェクトＯＢの見え方が異なって見えるようになり、少ないデータ量で画像表現のバラエティ度を増すことができる。
【００８８】
図８（Ａ）、（Ｂ）、（Ｃ）に、本実施形態で使用される各フレームのムービーテクスチャの画像例を示す。これらのムービーテクスチャは水面（波）を表現するテクスチャであり、これらのムービーテクスチャを連続して再生することで、水面での水の流れをリアルに表現できる。
【００８９】
本実施形態では、図８（Ａ）、（Ｂ）、（Ｃ）に示すようなムービーテクスチャを水面オブジェクト（波オブジェクト）にマッピングすることで、図９（Ａ）に示すような水面（波）のリアルな画像の生成に成功している。
【００９０】
より具体的には、図９（Ｂ）に示すように、水面オブジェクトを複数のポリゴンの集合で構成する。そして、これらの各ポリゴン（広義にはプリミティブ）に対して図８（Ａ）、（Ｂ）、（Ｃ）に示すムービーテクスチャをマッピングして、水面を表現する。なお、図８（Ａ）、（Ｂ）、（Ｃ）のムービーテクスチャの上下左右の辺での画像は、隣に他のポリゴン（ムービーテクスチャ）が配置された場合にも矛盾が生じないような絵柄の画像になっている。
【００９１】
更に本実施形態では、所与のイベントの発生及び時間経過の少なくとも一方に応じてＪ（間引きフレーム数）を設定することで、よりリアルな画像表現を実現している。
【００９２】
例えば図１０（Ａ）に示すように、ゲームステージ１ではＪ＝１に設定し、ＥＴＥＸ１、ＥＴＥＸ２、ＥＴＥＸ３・・・・ＥＴＥＸＮ−１、ＥＴＥＸＮ、ＥＴＥＸ１・・・・というようにテクスチャがオブジェクトにマッピングされる間引き無しのムービーテクスチャマッピングを行う。これにより、水の流れが静かな水面を表現できるようになる。
【００９３】
一方、図１０（Ｂ）に示すように、ゲームステージ２への移行イベントが発生した場合には、ＥＴＥＸ１、ＥＴＥＸ３、ＥＴＥＸ５・・・・ＥＴＥＸＮ−３、ＥＴＥＸＮ−１、ＥＴＥＸ１、ＥＴＥＸ３・・・・というようにテクスチャがオブジェクトにマッピングされる間引き再生のムービーテクスチャマッピング（Ｊ＝２）を行う。これにより、やや荒れた水面（水の流れがやや激しい水面）を表現できるようになる。
【００９４】
また、図１０（Ｃ）に示すように、ゲームステージ３への移行イベントが発生した場合には、ＥＴＥＸ１、ＥＴＥＸ４、ＥＴＥＸ７・・・・ＥＴＥＸＮ−５、ＥＴＥＸＮ−２、ＥＴＥＸ１、ＥＴＥＸ４・・・・というようにテクスチャがオブジェクトにマッピングされる間引き再生のムービーテクスチャマッピング（Ｊ＝３）を行う。これにより、荒れた水面（水の流れが激しい水面）を表現できるようになる。
【００９５】
或いは、時間経過に伴いＪの設定値を例えばＪ＝１、２、３というように変化させれば、時間経過に伴い水面が、静かな水面から荒れた水面に変化して行く様子をリアルに表現できるようになる。
【００９６】
なお、Ｊの設定値を変化させる所与のイベントとしては、ゲームステージ変化イベント、ゲーム場面変化イベント、燃えイベント、爆発イベント、ヒットイベント、発射イベント、衝突イベント、消滅イベント、光照射イベント、敵ボスの登場イベント、オブジェクト生成イベント、オブジェクト変形イベント、アイテム取得イベント、ゲームパラメータ更新イベント、ゲームスコア更新イベント又は仮想カメラ変更イベント等、種々のイベントを考えることができる。
【００９７】
また、時間経過は、フレーム更新のタイミング（表示部に出力する垂直同期信号ＶＳＹＮＣがアクティブになるタイミング）でカウント値（カウント値の変数）をカウントアップすることで計測してもよいし、画像生成システムが有するリアルタイムクロックのタイマを用いて計測してもよい。
【００９８】
２．３  データ構造
さて、本実施形態では前述のようなランダム再生のムービーテクスチャマッピングや間引き再生のムービーテクスチャマッピングを実現するために、図１１に示すようなデータ構造の圧縮ムービーテクスチャ・データを利用している。
【００９９】
この圧縮ムービーテクスチャ・データは、ヘッダ・ブロック（圧縮ムービーテクスチャ・データの制御データ）、フレームデータアドレス・ブロック（圧縮テクスチャの格納場所を指定するためのデータ）、フレームデータ・ブロック（圧縮テクスチャのデータ。ＭＰＥＧのＩピクチャのデータ）を有する。
【０１００】
ここで、ヘッダ・ブロックは、圧縮ムービーテクスチャ・データのデータサイズや、フレーム幅（テクスチャの幅方向のテクセル数）や、フレーム高さ（テクスチャの高さ方向のテクセル数）や、ムービーテクスチャのフレーム数などのデータを含む。
【０１０１】
また、フレームデータアドレス・ブロックは、フレームデータ・ブロックでの各圧縮テクスチャＣＴＥＸ１〜Ｎ（フレーム１〜Ｎ）のアドレス（格納場所を指定するためのデータ。先頭アドレス）や、各ＣＴＥＸ１〜Ｎのデータサイズや、フレームデータ・ブロックでのエンドコードのアドレスを含む。
【０１０２】
また、フレームデータ・ブロックは、ＣＴＥＸ１〜Ｎ（フレーム１〜Ｎ）のデータ（画像データ）や、各フレームの区切りコードや、フレームデータ・ブロックのエンドコードを含む。
【０１０３】
本実施形態では、圧縮テクスチャＣＴＥＸ１〜Ｎ（フレーム１〜Ｎ）のデータから、図１１に示すようなデータ構造の圧縮ムービーテクスチャ・データを作成し、この圧縮ムービーテクスチャ・データを利用することで、前述したランダム再生のムービーテクスチャマッピングや間引き再生のムービーテクスチャマッピングを実現している。
【０１０４】
例えば、ランダム再生のムービーテクスチャマッピングを行う場合には、再生すべき圧縮テクスチャのアドレス（格納場所）をフレームデータアドレス・ブロックから取得し、そのアドレスにある圧縮テクスチャを伸張部で伸張して、オブジェクトにマッピングすればよい。この時、例えば、隣り合うオブジェクト間では、異なる再生フレームを指定して伸張テクスチャをマッピングするようにする。
【０１０５】
また、間引き再生のムービーテクスチャマッピングを行う場合には、フレーム番号ＩをＪ（≧２）ずつインクリメントしながら、再生すべき圧縮テクスチャのアドレスをフレームデータアドレス・ブロックから取得し、そのアドレスにある圧縮テクスチャを伸張部で伸張して、オブジェクトにマッピングすればよい。
【０１０６】
以上のように図１１のデータ構造の圧縮ムービーテクスチャ・データを用いれば、これまではひと繋がりのデータとしてしか取り扱うことができなかった圧縮ムービーテクスチャ・データを、フレーム単位で管理できるようになる。従って、任意のフレームの圧縮テクスチャ（フレーム画像）を伸張して利用できるようになり、圧縮テクスチャのランダム再生や間引き再生を簡素な処理で実現できるようになる。
【０１０７】
なお、図１１のデータ構造の圧縮ムービーテクスチャ・データは、ゲームプログラムの開発時に予め作成しておき情報記憶媒体に記録しておいてもよいし、ゲーム開始時やゲームステージ開始時にリアルタイムに作成してもよい。
【０１０８】
３．本実施形態の処理
次に、本実施形態の処理の詳細例について、図１２〜図１５のフローチャートを用いて説明する。
【０１０９】
図１２は、本実施形態の基本処理について説明するためのフローチャートである。
【０１１０】
まず、圧縮ムービーテクスチャ・データ（図１１参照）を格納する領域を図１６のＲＡＭ２２０に確保する（ステップＳ１）。そして図１６のＡ１に示すように、情報記憶媒体２３０（ＣＤ、ＤＶＤ又はハードディスク等）から圧縮ムービーテクスチャ・データを読み込み、確保したＲＡＭ２２０上の領域ＲＧにロードする（ステップＳ２）。
【０１１１】
次に、圧縮テクスチャＣＴＥＸＩ（フレームＩ）のアドレスＡＤＩ、データサイズＳＺＩを、領域ＲＧにロードされた圧縮ムービーテクスチャ・データの中のフレームデータアドレス・ブロック（図１１参照）から取得する（ステップＳ３）。
【０１１２】
次に、メインプロセッサ２００が、圧縮テクスチャＣＴＥＸＩのアドレスＡＤＩ、ＣＴＥＸＩのデータサイズＳＺＩを指定すると共に、伸張テクスチャＥＴＥＸＩを格納するアドレスＡＤＩ’、ＥＴＥＸＩのデータサイズＳＺＩ’を指定して、ＤＭＡコントローラ２０２によるＤＭＡ転送を起動する（ステップＳ４）。これにより図１６のＡ２に示すように、アドレスＡＤＩに格納されている圧縮テクスチャＣＴＥＸＩがデータ伸張プロセッサ２０４（伸張部）に転送される。
【０１１３】
次に、メインプロセッサ２００がデータ伸張プロセッサ２０４に対して伸張（デコード）命令を発行する（ステップＳ５）。これにより、図１６のＡ３に示すように、圧縮テクスチャＣＴＥＸＩが伸張され、得られた伸張テクスチャＥＴＥＸＩがステップＳ４で指定されたアドレスＡＤＩ’に格納される。
【０１１４】
次に、図１６のＡ４に示すように、アドレスＡＤＩ’の伸張テクスチャＥＴＥＸＩをＶＲＡＭ２１２に転送する（ステップＳ６）。そして、描画プロセッサ２１０がこの転送された伸張テクスチャＥＴＥＸＩをオブジェクトにマッピングする（ステップＳ７）。そして最後に、フレーム番号Ｉが１だけインクリメントされて（ステップＳ８）、ステップＳ３に処理が戻る。
【０１１５】
図１３は、図３のランダム再生のムービーテクスチャマッピングについて説明するためのフローチャートである。
【０１１６】
まず、圧縮ムービーテクスチャ・データを格納する領域を図１７のＲＡＭ２２０に確保する（ステップＳ１１）。そして図１７のＢ１に示すように、情報記憶媒体２３０から圧縮ムービーテクスチャ・データを読み込み、確保したＲＡＭ２２０上の領域ＲＧにロードする（ステップＳ１２）。
【０１１７】
次に、オブジェクトＯＢ１用の再生（伸張）開始フレームＫをランダムに決定すると共に、オブジェクトＯＢ２用の再生開始フレームＬをランダムに決定する（ステップＳ１３、Ｓ１４）。
【０１１８】
次に、圧縮テクスチャＣＴＥＸＫ（フレームＫ）のアドレスＡＤＫ、データサイズＳＺＫを、領域ＲＧにロードされた圧縮ムービーテクスチャ・データの中のフレームデータアドレス・ブロックから取得する（ステップＳ１５）。
【０１１９】
次に、メインプロセッサ２００が、圧縮テクスチャＣＴＥＸＫのアドレスＡＤＫ、ＣＴＥＸＫのデータサイズＳＺＫを指定すると共に、伸張テクスチャＥＴＥＸＫを格納するアドレスＡＤＫ’、ＥＴＥＸＫのデータサイズＳＺＫ’を指定して、ＤＭＡコントローラ２０２によるＤＭＡ転送を起動する（ステップＳ１６）。これにより図１７のＢ２に示すように、アドレスＡＤＫに格納されている圧縮テクスチャＣＴＥＸＫがデータ伸張プロセッサ２０４に転送される。
【０１２０】
次に、メインプロセッサ２００がデータ伸張プロセッサ２０４に対して伸張命令を発行する（ステップＳ１７）。これにより、図１７のＢ３に示すように、圧縮テクスチャＣＴＥＸＫが伸張され、得られた伸張テクスチャＥＴＥＸＫがアドレスＡＤＫ’に格納される。
【０１２１】
次に、図１７のＢ４に示すようにアドレスＡＤＫ’の伸張テクスチャＥＴＥＸＫをＶＲＡＭ２１２に転送する（ステップＳ１８）。
【０１２２】
次に、圧縮テクスチャＣＴＥＸＬ（フレームＬ）のアドレスＡＤＬ、データサイズＳＺＬを、領域ＲＧにロードされた圧縮ムービーテクスチャ・データの中のフレームデータアドレス・ブロックから取得する（図１４のステップＳ１９）。
【０１２３】
次に、メインプロセッサ２００が、圧縮テクスチャＣＴＥＸＬのアドレスＡＤＬ、ＣＴＥＸＬのデータサイズＳＺＬを指定すると共に、伸張テクスチャＥＴＥＸＬを格納するアドレスＡＤＬ’、ＥＴＥＸＬのデータサイズＳＺＬ’を指定して、ＤＭＡコントローラ２０２によるＤＭＡ転送を起動する（ステップＳ２０）。これにより図１７のＢ５に示すように、アドレスＡＤＬに格納されている圧縮テクスチャＣＴＥＸＬがデータ伸張プロセッサ２０４に転送される。
【０１２４】
次に、メインプロセッサ２００がデータ伸張プロセッサ２０４に対して伸張命令を発行する（ステップＳ２１）。これにより、図１７のＢ６に示すように、圧縮テクスチャＣＴＥＸＬが伸張され、得られた伸張テクスチャＥＴＥＸＬがアドレスＡＤＬ’に格納される。
【０１２５】
次に、図１７のＢ７に示すように、アドレスＡＤＬ’の伸張テクスチャＥＴＥＸＬをＶＲＡＭ２１２に転送する（ステップＳ２２）。
【０１２６】
次に、描画プロセッサ２１０が、ステップＳ１８で転送された伸張テクスチャＥＴＥＸＫをオブジェクトＯＢ１にマッピングすると共に、ステップ２２で転送された伸張テクスチャＥＴＥＸＬをオブジェクトＯＢ２にマッピングする（ステップＳ２３）。そして最後に、フレーム番号Ｋ、Ｌが１だけインクリメントされて（ステップ２４）、図１３のステップＳ１５に処理が戻る。
【０１２７】
図１５は、図７の間引き再生のムービーテクスチャマッピングについて説明するためのフローチャートである。
【０１２８】
図１５のステップＳ２１、Ｓ２２、Ｓ２４〜Ｓ２８は、図１２のステップＳ１〜Ｓ７とほぼ同一の処理となる。そして、図１５と図１２の相違点は、図１５ではステップＳ２３でイベント発生又は時間経過に応じた間引きフレーム数Ｊ−１を設定していると共に、ステップＳ２９でＩをＪ（≧２）ずつインクリメントしている点である。このようにすることで、Ｊ−１個のフレーム数が間引きされるムービーテクスチャマッピングを実現できる。
【０１２９】
４．ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図１８を用いて説明する。
【０１３０】
メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介して転送されたプログラム、或いはＲＯＭ９５０（情報記憶媒体の１つ）に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などの種々の処理を実行する。
【０１３１】
コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、オブジェクトを移動させたり動作（モーション）させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【０１３２】
ジオメトリプロセッサ９０４は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ９００で動作するプログラムが、その処理をジオメトリプロセッサ９０４に指示する。
【０１３３】
データ伸張プロセッサ９０６は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、ＭＰＥＧ方式等で圧縮された動画像を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ＲＯＭ９５０、ＣＤ９８２に格納されたり、或いは通信インターフェース９９０を介して外部から転送される。
【０１３４】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ（プリミティブ面）で構成されるオブジェクトの描画（レンダリング）処理を高速に実行するものである。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０の機能を利用して、オブジェクトデータを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると、描画プロセッサ９１０は、これらのオブジェクトデータやテクスチャに基づいて、Ｚバッファなどを利用した陰面消去を行いながら、オブジェクトをフレームバッファ９２２に高速に描画する。また、描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行うことができる。そして、１フレーム分の画像がフレームバッファ９２２に書き込まれると、その画像はディスプレイ９１２に表示される。
【０１３５】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などの高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ９３２から出力される。
【０１３６】
ゲームコントローラ９４２（レバー、ボタン、筺体、パッド型コントローラ又はガン型コントローラ等）からの操作データや、メモリカード９４４からのセーブデータ、個人データは、シリアルインターフェース９４０を介してデータ転送される。
【０１３７】
ＲＯＭ９５０にはシステムプログラムなどが格納される。なお、業務用ゲームシステムの場合には、ＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納されることになる。なお、ＲＯＭ９５０の代わりにハードディスクを利用するようにしてもよい。
【０１３８】
ＲＡＭ９６０は、各種プロセッサの作業領域として用いられる。
【０１３９】
ＤＭＡコントローラ９７０は、プロセッサ、メモリ（ＲＡＭ、ＶＲＡＭ、ＲＯＭ等）間でのＤＭＡ転送を制御するものである。
【０１４０】
ＣＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＣＤ９８２（情報記憶媒体）を駆動し、これらのプログラム、データへのアクセスを可能にする。
【０１４１】
通信インターフェース９９０は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース９９０に接続されるネットワークとしては、通信回線（アナログ電話回線、ＩＳＤＮ）、高速シリアルバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他の画像生成システムとの間でのデータ転送が可能になる。
【０１４２】
なお、本発明の各手段は、その全てを、ハードウェアのみにより実現（実行）してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【０１４３】
そして、本発明の各手段をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、本発明の各手段をハードウェアを利用して実現するためのプログラムが格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０等は、その指示と渡されたデータとに基づいて、本発明の各手段を実現することになる。
【０１４４】
図１９（Ａ）に、本実施形態を業務用ゲームシステム（画像生成システム）に適用した場合の例を示す。プレーヤは、ディスプレイ１１００、１１０１上に映し出されたゲーム画像を見ながら、ガン型コントローラ１１０２、１１０３などを操作してゲームを楽しむ。内蔵されるシステムボード（サーキットボード）１１０６には、各種プロセッサ、各種メモリなどが実装される。そして、本発明の各手段を実現するためのプログラム（データ）は、システムボード１１０６上の情報記憶媒体であるメモリ１１０８に格納される。以下、このプログラムを格納プログラム（格納情報）と呼ぶ。
【０１４５】
図１９（Ｂ）に、本実施形態を家庭用のゲームシステム（画像生成システム）に適用した場合の例を示す。プレーヤはディスプレイ１２００に映し出されたゲーム画像を見ながら、ガン型コントローラ１２０２、１２０４などを操作してゲームを楽しむ。この場合、上記格納プログラム（格納情報）は、本体システムに着脱自在な情報記憶媒体であるＣＤ１２０６、或いはメモリカード１２０８、１２０９などに格納されている。
【０１４６】
図１９（Ｃ）に、ホスト装置１３００と、このホスト装置１３００とネットワーク１３０２（ＬＡＮのような小規模ネットワークや、インターネットのような広域ネットワーク）を介して接続される端末１３０４-１〜１３０４-n（ゲーム機、携帯電話）とを含むシステムに本実施形態を適用した場合の例を示す。この場合、上記格納プログラム（格納情報）は、例えばホスト装置１３００が制御可能な磁気ディスク装置、磁気テープ装置、メモリなどの情報記憶媒体１３０６に格納されている。端末１３０４-１〜１３０４-nが、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置１３００からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末１３０４-１〜１３０４-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置１３００がゲーム画像、ゲーム音を生成し、これを端末１３０４-１〜１３０４-nに伝送し端末において出力することになる。
【０１４７】
なお、図１９（Ｃ）の構成の場合に、本発明の各手段を、ホスト装置（サーバー）と端末とで分散して実現するようにしてもよい。また、本発明の各手段を実現するための上記格納プログラム（格納情報）を、ホスト装置（サーバー）の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【０１４８】
またネットワークに接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムをネットワークに接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であると共に家庭用ゲームシステムとの間でも情報のやり取りが可能なセーブ用情報記憶装置（メモリカード、携帯型ゲーム装置）を用いることが望ましい。
【０１４９】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【０１５０】
例えば圧縮ムービーのデータに第１〜第Ｎの圧縮フレーム画像の格納場所を指定するためのデータ（フレームデータアドレス・ブロック）を含ませる発明（図１１参照）は、図３、図７のランダム再生（伸張）、間引き再生のムービーテクスチャマッピングに適用するのに特に有効な発明であるが、これら以外の画像生成手法にも適用できる。
【０１５１】
また、圧縮ムービーテクスチャ（圧縮ムービー）のデータ構造も図１１で説明した構造に限定されず、少なくとも、圧縮ムービーテクスチャ（圧縮ムービー）のデータと、第１〜第Ｎの圧縮テクスチャ（第１〜第Ｎの圧縮フレーム画像）の格納場所を指定するためのデータを含むものであればよい。
【０１５２】
また、伸張手段や記憶手段の構成も図１６、図１７で説明した構成に限定されるものではない。
【０１５３】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の１の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【０１５４】
また、本発明は種々のゲーム（格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等）に適用できる。
【０１５５】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々の画像生成システム（ゲームシステム）に適用できる。
【図面の簡単な説明】
【図１】本実施形態の画像生成システムの機能ブロック図の例である。
【図２】ムービーテクスチャマッピングについて説明するための図である。
【図３】ランダム再生のムービーテクスチャマッピングについて説明するための図である。
【図４】図４（Ａ）、（Ｂ）、（Ｃ）は、炎を表現するムービーテクスチャの例を示す図である。
【図５】図５（Ａ）、（Ｂ）、（Ｃ）は、ランダム再生でムービーテクスチャがマッピングされるオブジェクトの配置例等について説明するための図である。
【図６】図６（Ａ）、（Ｂ）、（Ｃ）は、本実施形態により生成された炎の画像の例について示す図である。
【図７】間引き再生のムービーテクスチャマッピングについて説明するための図である。
【図８】図８（Ａ）、（Ｂ）、（Ｃ）は、水面（波）を表現するムービーテクスチャの例を示す図である。
【図９】図９（Ａ）、（Ｂ）は、本実施形態により生成された水面の画像の例について示す図である。
【図１０】図１０（Ａ）、（Ｂ）、（Ｃ）は、間引きフレーム数をイベントの発生や時間経過に伴い変化させる手法について説明するための図である。
【図１１】圧縮ムービーテクスチャ・データのデータ構造の例を示す図である。
【図１２】本実施形態の処理の詳細例について示すフローチャートである。
【図１３】本実施形態の処理の詳細例について示すフローチャートである。
【図１４】本実施形態の処理の詳細例について示すフローチャートである。
【図１５】本実施形態の処理の詳細例について示すフローチャートである。
【図１６】本実施形態の処理の詳細例について説明するための図である。
【図１７】本実施形態の処理の詳細例について説明するための図である。
【図１８】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図１９】図１９（Ａ）、（Ｂ）、（Ｃ）は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【符号の説明】
ＣＴＥＸ１〜Ｎ  圧縮テクスチャ
ＥＴＥＸ１〜Ｎ  伸張テクスチャ
ＯＢ、ＯＢ１、ＯＢ２、ＯＢ３  オブジェクト
１００  処理部
１１０  移動・動作演算部
１１２  仮想カメラ制御部
１１４  オブジェクト空間設定部
１２０  画像生成部
１２２  伸張部
１２４  テクスチャマッピング部
１３０  音生成部
１６０  操作部
１７０  記憶部
１７２  主記憶部
１７４  描画バッファ
１７６  テクスチャ記憶部
１８０  情報記憶媒体
１９０  表示部
１９２  音出力部
１９４  携帯型情報記憶装置
１９６  通信部
【図１】
0004610747.tif 000002
【図２】
0004610747.tif 000003
【図３】
0004610747.tif 000004
【図４】
0004610747.tif 000005
【図５】
0004610747.tif 000006
【図６】
0004610747.tif 000007
【図７】
0004610747.tif 000008
【図８】
0004610747.tif 000009
【図９】
0004610747.tif 000010
【図１０】
0004610747.tif 000011
【図１１】
0004610747.tif 000012
【図１２】
0004610747.tif 000013
【図１３】
0004610747.tif 000014
【図１４】
0004610747.tif 000015
【図１５】
0004610747.tif 000016
【図１６】
0004610747.tif 000017
【図１７】
0004610747.tif 000018
【図１８】
0004610747.tif 000019
【図１９】
0004610747.tif 000020