(57)【特許請求の範囲】
【請求項１】
ビデオゲームに使用されるデータをコンピュータ読み取り可能な記録媒体から読み込むためのデータ読込プログラムであって、
前記データを圧縮した状態で記憶されている圧縮データ及び前記データと同一の内容のデータを圧縮していない状態で記憶されている非圧縮データのうちのどちらを読み込むかをゲーム状態に応じて判断する判断手段と、
前記判断手段が前記圧縮データを読み込むと判断した場合、当該圧縮データを展開する展開手段と、
前記判断手段が圧縮データを読み込むと判断した場合、前記展開手段によって展開されたデータを読み込み、前記判断手段が非圧縮データを読み込むと判断した場合、前記非圧縮データを読み込む読込手段としてビデオゲーム装置を機能させることを特徴とするデータ読込プログラム。
【請求項２】
前記ゲーム状態は、現在実行されている第１のゲーム状態と、前記第１のゲーム状態の次に実行される第２のゲーム状態とを含み、
前記判断手段は、前記第１のゲーム状態における現処理負荷と、前記第２のゲーム状態において用いられる圧縮データの展開処理にかかる展開処理負荷とに基づいて前記圧縮データ及び前記非圧縮データのうちのどちらを読み込むかを判断することを特徴とする請求項１記載のデータ読込プログラム。
【請求項３】
前記ビデオゲームのゲーム状態ごとに各ゲーム状態に要する処理負荷をあらかじめ記憶する第１の記憶手段と、前記圧縮データごとに各圧縮データの展開処理に要する展開処理負荷をあらかじめ記憶する第２の記憶手段としてビデオゲーム装置をさらに機能させることを特徴とする請求項１又は２記載のデータ読込プログラム。
【請求項４】
前記ゲーム状態における処理負荷を計測する計測手段と、
前記計測手段によって計測された処理負荷を履歴として記憶する第３の記憶手段として前記ビデオゲーム装置をさらに機能させ、
前記判断手段は、前記履歴に基づいて前記圧縮データ及び前記非圧縮データのうちのどちらを読み込むかを判断することを特徴とする請求項１記載のデータ読込プログラム。
【請求項５】
ビデオゲームに使用されるデータをコンピュータ読み取り可能な記録媒体から読み込むデータ読込方法であって、
ビデオゲーム装置が、前記データを圧縮した状態で記憶されている圧縮データ及び前記データと同一の内容のデータを圧縮していない状態で記憶されている非圧縮データのうちのどちらを読み込むかをゲーム状態に応じて判断する判断ステップと、
ビデオゲーム装置が、前記判断ステップが前記圧縮データを読み込むと判断した場合、当該圧縮データを展開する展開ステップと、
ビデオゲーム装置が、前記判断ステップが圧縮データを読み込むと判断した場合、前記展開ステップによって展開されたデータを読み込み、前記判断ステップが非圧縮データを読み込むと判断した場合、前記非圧縮データを読み込む読込ステップとを含むことを特徴とするデータ読込方法。
【請求項６】
ビデオゲームに使用されるデータをコンピュータ読み取り可能な記録媒体から読み込むビデオゲーム装置であって、
前記データを圧縮した状態で記憶されている圧縮データ及び前記データと同一の内容のデータを圧縮していない状態で記憶されている非圧縮データのうちのどちらを読み込むかをゲーム状態に応じて判断する判断手段と、
前記判断手段が前記圧縮データを読み込むと判断した場合、当該圧縮データを展開する展開手段と、
前記判断手段が圧縮データを読み込むと判断した場合、前記展開手段によって展開されたデータを読み込み、前記判断手段が非圧縮データを読み込むと判断した場合、前記非圧縮データを読み込む読込手段とを備えることを特徴とするビデオゲーム装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ビデオゲームに使用されるデータを読み込むためのデータ読込プログラム、データ読込方法及びビデオゲーム装置に関するものである。
【０００２】
【従来の技術】
従来、ビデオゲームに用いられるデータは、主にＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどのコンピュータ読み取り可能な記録媒体によって提供され、このような記録媒体には、あらかじめデータを圧縮した状態で記録する場合と、データを圧縮せずに非圧縮の状態で記録する場合とがある。ビデオゲームの開発者は演算コストなどを考慮して、データを圧縮した状態で記録するか、非圧縮の状態で記録するかを決定する。記録媒体には、データを圧縮した状態の圧縮データ又はデータを圧縮しない非圧縮の状態の非圧縮データが記録されている。例えば、あるデータが圧縮した状態で記録されている場合、同じデータが非圧縮の状態で記録されていることはない。同様に、あるデータが非圧縮の状態で記録されている場合、同じデータが圧縮した状態で記録されていることはない。つまり、記録媒体には、一つのデータに関して圧縮又は非圧縮のうちのいずれかの状態でのみ記録されている。
【０００３】
【発明が解決しようとする課題】
データを圧縮データとして記録した場合、読み込むデータ量が非圧縮データに比べて少ないので記録媒体にアクセスする時間が短縮される。しかしながら、圧縮されたデータはメモリ上に展開する必要があり、データをメモリ上に展開しない場合に比べて余分に演算コストが必要となるという問題がある。また、圧縮されたデータをメモリ上に展開するための記憶領域の他に、圧縮されたデータ自身を記憶するための記憶領域が必要となる。
【０００４】
一方、データを非圧縮データとして記録した場合、データはメモリ上に展開する必要がなく、当該データを展開するための演算コストがかからない。しかしながら、データを非圧縮データとして記録した場合、指定したデータのファイルをそのまま読み込むので記録媒体に対するアクセス時間を含む読み取り時間がかかるという問題がある。
【０００５】
例えば、ゲーム開始前のあらかじめ決められたデモ画像を表示する場合等のように、あらかじめ演算処理装置にどれだけの処理負荷がかかるかがわかっていれば、圧縮データ及び非圧縮データのうちのどちらを用いるかを決定することができる。しかしながら、ビデオゲームでは演算処理装置にかかる処理負荷がゲーム状態に応じて異なり、圧縮データを用いるか、非圧縮データを用いるかをあらかじめ決めることは困難である。
【０００６】
例えば、画面に表示するキャラクタの数に応じて演算処理装置の処理負荷は異なり、表示するキャラクタが多い場合は、処理負荷は大きくなり、表示するキャラクタが少ない場合は、処理負荷は小さくなる。表示するキャラクタが多い場合は、非圧縮データを読み込んだ方が高速に読み込むことができ、表示するキャラクタが少ない場合は、圧縮データを読み込んだ方が高速に読み込むことができる。このような、表示されるキャラクタの数は、ユーザの技量によっても変化し、あらかじめ予測することは不可能である。そのため、従来のように圧縮データ又は非圧縮データのうちのいずれかの状態のみで記録する方法では、ゲーム状態に応じた適切なデータを読み込むことができなかった。
【０００７】
本発明は、上記の問題を解決するためになされたもので、圧縮データ及び非圧縮データの選択をゲーム状態に応じて行うことができ、高速にデータを読み込むことができるデータ読込プログラム、データ読込方法及びビデオゲーム装置を提供することを目的とするものである。
【０００８】
【課題を解決するための手段】
請求項１に記載の本発明は、ビデオゲームに使用されるデータをコンピュータ読み取り可能な記録媒体から読み込むためのデータ読込プログラムであって、
前記データを圧縮した状態で記憶されている圧縮データ及び前記データと同一の内容のデータを圧縮していない状態で記憶されている非圧縮データのうちのどちらを読み込むかをゲーム状態に応じて判断する判断手段と、
前記判断手段が前記圧縮データを読み込むと判断した場合、当該圧縮データを展開する展開手段と、
前記判断手段が圧縮データを読み込むと判断した場合、前記展開手段によって展開されたデータを読み込み、前記判断手段が非圧縮データを読み込むと判断した場合、前記非圧縮データを読み込む読込手段としてビデオゲーム装置を機能させることを特徴とする。
【０００９】
請求項１に記載の本発明に従えば、ビデオゲームに使用されるデータをコンピュータ読み取り可能な記録媒体から読み込むためのデータ読込プログラムは、データを圧縮した状態で記憶されている圧縮データ及び前記データと同一の内容のデータを圧縮していない状態で記憶されている非圧縮データのうちのどちらを読み込むかをゲーム状態に応じて判断する判断手段と、判断手段が圧縮データを読み込むと判断した場合、当該圧縮データを展開する展開手段と、判断手段が圧縮データを読み込むと判断した場合、展開手段によって展開されたデータを読み込み、判断手段が非圧縮データを読み込むと判断した場合、非圧縮データを読み込む読込手段としてビデオゲーム装置を機能させる。
【００１０】
すなわち、同一のデータが圧縮された状態の圧縮データ及び非圧縮の状態の非圧縮データとして記憶されており、判断手段によって圧縮データ及び非圧縮データのうちのどちらを読み込むかがゲーム状態に応じて判断され、判断手段によって圧縮データを読み込むと判断された場合、展開手段によって当該圧縮データが展開され、判断手段が圧縮データを読み込むと判断した場合、展開手段によって展開されたデータが読込手段によって読み込まれ、判断手段が非圧縮データを読み込むと判断した場合、非圧縮データが読込手段によって読み込まれる。
【００１１】
このように、１のデータに対して圧縮データと非圧縮データとの２種類のデータを記録しておき、圧縮データ及び非圧縮データのうちのどちらを読み込むかがゲーム状態に応じて判断される。圧縮データが読み込まれる場合、データが圧縮されているため、記録媒体にアクセスする時間を短縮することができ、非圧縮データが読み込まれる場合、データを展開する必要がないため、演算処理を短縮することができる。したがって、演算処理の処理負荷に余裕があるゲーム状態では圧縮データを選択し、処理負荷に余裕がないゲーム状態では非圧縮データを選択することで、ゲーム状態に適するデータを読み込むことができ、ゲームの進行処理の速度を落とさずに高速にデータを読み込むことができる。
【００１２】
請求項２に記載の本発明は、前記ゲーム状態は、現在実行されている第１のゲーム状態と、前記第１のゲーム状態の次に実行される第２のゲーム状態とを含み、
前記判断手段は、前記第１のゲーム状態における現処理負荷と、前記第２のゲーム状態において用いられる圧縮データの展開処理にかかる展開処理負荷とに基づいて前記圧縮データ及び前記非圧縮データのうちのどちらを読み込むかを判断することを特徴とする。
【００１３】
請求項２に記載の本発明に従えば、ゲーム状態は、現在実行されている第１のゲーム状態と、第１のゲーム状態の次に実行される第２のゲーム状態とを含み、判断手段によって、第１のゲーム状態における現処理負荷と、第２のゲーム状態において用いられる圧縮データの展開処理にかかる展開処理負荷とに基づいて圧縮データ及び非圧縮データのうちのどちらを読み込むかが判断される。
【００１４】
すなわち、現在実行されている第１のゲーム状態における演算処理装置の現処理負荷と、第１のゲーム状態の次に実行される第２のゲーム状態において用いられる圧縮データの展開処理にかかる演算処理装置の展開処理負荷とに基づいて圧縮データ及び非圧縮データのうちのどちらを読み込むかが判断されるため、第１のゲーム状態における処理負荷に応じて適切なデータを読み込むことができ、ゲームの進行処理の速度を落とさずに高速にデータを読み込むことができる。
【００１５】
請求項３に記載の本発明は、前記ビデオゲームのゲーム状態ごとに各ゲーム状態に要する処理負荷をあらかじめ記憶する第１の記憶手段と、前記圧縮データごとに各圧縮データの展開処理に要する展開処理負荷をあらかじめ記憶する第２の記憶手段としてビデオゲーム装置をさらに機能させることを特徴とする。
【００１６】
請求項３に記載の本発明に従えば、ビデオゲームのゲーム状態ごとに各ゲーム状態に要する処理負荷をあらかじめ記憶する第１の記憶手段と、圧縮データごとに各圧縮データの展開処理に要する展開処理負荷をあらかじめ記憶する第２の記憶手段としてビデオゲーム装置をさらに機能させる。
【００１７】
すなわち、ビデオゲームのゲーム状態ごとに各ゲーム状態に要する処理負荷をあらかじめ記憶しておくことによって、ビデオゲーム中にゲーム状態に要する処理負荷を計測する必要がなく、処理負荷を軽減することができる。
【００１８】
請求項４に記載の本発明は、前記ゲーム状態における処理負荷を計測する計測手段と、
前記計測手段によって計測された処理負荷を履歴として記憶する第３の記憶手段として前記ビデオゲーム装置をさらに機能させ、
前記判断手段は、前記履歴に基づいて前記圧縮データ及び前記非圧縮データのうちのどちらを読み込むかを判断することを特徴とする。
【００１９】
請求項４に記載の本発明に従えば、計測手段によって、ゲーム状態における処理負荷が計測され、計測手段によって計測された処理負荷が履歴として第３の記憶手段に記憶され、判断手段によって、第３の記憶手段に記憶されている履歴に基づいて圧縮データ及び非圧縮データのうちのどちらを読み込むかが判断される。
【００２０】
すなわち、ゲーム状態における処理負荷をリアルタイムに計測して圧縮ファイル及び非圧縮ファイルのうちのいずれか一方を読み込むことができるので、ゲーム状態に応じた適切なデータを読み込むことができ、ゲームの進行処理の速度を落とさずに高速にデータを読み込むことができる。
【００２１】
請求項５に記載の本発明は、ビデオゲームに使用されるデータをコンピュータ読み取り可能な記録媒体から読み込むデータ読込方法であって、
ビデオゲーム装置が、前記データを圧縮した状態で記憶されている圧縮データ及び前記データと同一の内容のデータを圧縮していない状態で記憶されている非圧縮データのうちのどちらを読み込むかをゲーム状態に応じて判断する判断ステップと、
ビデオゲーム装置が、前記判断ステップが前記圧縮データを読み込むと判断した場合、当該圧縮データを展開する展開ステップと、
ビデオゲーム装置が、前記判断ステップが圧縮データを読み込むと判断した場合、前記展開ステップによって展開されたデータを読み込み、前記判断ステップが非圧縮データを読み込むと判断した場合、前記非圧縮データを読み込む読込ステップとを含むことを特徴とする。
【００２２】
請求項５に記載の本発明に従えば、ビデオゲームに使用されるデータをコンピュータ読み取り可能な記録媒体から読み込むデータ読込方法は、ビデオゲーム装置が、データを圧縮した状態で記憶されている圧縮データ及び前記データと同一の内容のデータを圧縮していない状態で記憶されている非圧縮データのうちのどちらを読み込むかをゲーム状態に応じて判断する判断ステップと、ビデオゲーム装置が、判断ステップが圧縮データを読み込むと判断した場合、当該圧縮データを展開する展開ステップと、ビデオゲーム装置が、判断ステップが圧縮データを読み込むと判断した場合、展開ステップによって展開されたデータを読み込み、判断ステップが非圧縮データを読み込むと判断した場合、非圧縮データを読み込む読込ステップとを含む。
【００２３】
すなわち、同一のデータが圧縮された状態の圧縮データ及び非圧縮の状態の非圧縮データとして記憶されており、判断ステップによって圧縮データ及び非圧縮データのうちのどちらを読み込むかがゲーム状態に応じて判断され、判断ステップによって圧縮データを読み込むと判断された場合、展開ステップによって当該圧縮データが展開され、判断ステップが圧縮データを読み込むと判断した場合、展開ステップによって展開されたデータが読込ステップによって読み込まれ、判断ステップが非圧縮データを読み込むと判断した場合、非圧縮データが読込ステップによって読み込まれる。
【００２４】
このように、１のデータに対して圧縮データと非圧縮データとの２種類のデータを記録しておき、圧縮データ及び非圧縮データのうちのどちらを読み込むかがゲーム状態に応じて判断される。圧縮データが読み込まれる場合、データが圧縮されているため、記録媒体にアクセスする時間を短縮することができ、非圧縮データが読み込まれる場合、データを展開する必要がないため、演算処理を短縮することができる。したがって、演算処理の処理負荷に余裕があるゲーム状態では圧縮データを選択し、処理負荷に余裕がないゲーム状態では非圧縮データを選択することで、ゲーム状態に適するデータを読み込むことができ、ゲームの進行処理の速度を落とさずに高速にデータを読み込むことができる。
【００２５】
請求項６に記載の本発明は、ビデオゲームに使用されるデータをコンピュータ読み取り可能な記録媒体から読み込むビデオゲーム装置であって、
前記データを圧縮した状態で記憶されている圧縮データ及び前記データと同一の内容のデータを圧縮していない状態で記憶されている非圧縮データのうちのどちらを読み込むかをゲーム状態に応じて判断する判断手段と、
前記判断手段が前記圧縮データを読み込むと判断した場合、当該圧縮データを展開する展開手段と、
前記判断手段が圧縮データを読み込むと判断した場合、前記展開手段によって展開されたデータを読み込み、前記判断手段が非圧縮データを読み込むと判断した場合、前記非圧縮データを読み込む読込手段とを備えることを特徴とする。
【００２６】
請求項６に記載の本発明に従えば、ビデオゲームに使用されるデータをコンピュータ読み取り可能な記録媒体から読み込むビデオゲーム装置は、データを圧縮した状態で記憶されている圧縮データ及び前記データと同一の内容のデータを圧縮していない状態で記憶されている非圧縮データのうちのどちらを読み込むかをゲーム状態に応じて判断する判断手段と、判断手段が圧縮データを読み込むと判断した場合、当該圧縮データを展開する展開手段と、判断手段が圧縮データを読み込むと判断した場合、展開手段によって展開されたデータを読み込み、判断手段が非圧縮データを読み込むと判断した場合、非圧縮データを読み込む読込手段とを備える。
【００２７】
すなわち、同一のデータが圧縮された状態の圧縮データ及び非圧縮の状態の非圧縮データとして記憶されており、判断手段によって圧縮データ及び非圧縮データのうちのどちらを読み込むかがゲーム状態に応じて判断され、判断手段によって圧縮データを読み込むと判断された場合、展開手段によって当該圧縮データが展開され、判断手段が圧縮データを読み込むと判断した場合、展開手段によって展開されたデータが読込手段によって読み込まれ、判断手段が非圧縮データを読み込むと判断した場合、非圧縮データが読込手段によって読み込まれる。
【００２８】
このように、１のデータに対して圧縮データと非圧縮データとの２種類のデータを記録しておき、圧縮データ及び非圧縮データのうちのどちらを読み込むかがゲーム状態に応じて判断される。圧縮データが読み込まれる場合、データが圧縮されているため、記録媒体にアクセスする時間を短縮することができ、非圧縮データが読み込まれる場合、データを展開する必要がないため、演算処理を短縮することができる。したがって、演算処理の処理負荷に余裕があるゲーム状態では圧縮データを選択し、処理負荷に余裕がないゲーム状態では非圧縮データを選択することで、ゲーム状態に適するデータを読み込むことができ、ゲームの進行処理の速度を落とさずに高速にデータを読み込むことができる。
【００２９】
【発明の実施の形態】
以下、本発明の一実施の形態によるビデオゲーム装置について図面を参照しながら説明する。
【００３０】
図１は本発明の一実施の形態のビデオゲーム装置の構成を示すブロック図である。なお、以下の説明では、ビデオゲーム装置の一例として家庭用ビデオゲーム機を家庭用テレビジョンに接続することによって構成される家庭用ビデオゲーム装置について説明するが、本発明はこの例に特に限定されず、モニタが一体に構成された業務用ビデオゲーム装置、ビデオゲームプログラムを実行することによってビデオゲーム装置として機能するパーソナルコンピュータ等にも同様に適用することができる。
【００３１】
図１に示すビデオゲーム装置は家庭用ゲーム機１００及び家庭用テレビジョン２００を備える。家庭用ゲーム機１００には、ビデオゲームプログラム及びゲームデータが記録されたコンピュータ読み出し可能な記録媒体３００が装填され、ビデオゲームプログラム及びゲームデータが適宜読み出されてゲームが実行される。
【００３２】
家庭用ゲーム機１００は、ＣＰＵ（Central Processing Unit）１、バスライン２、グラフィックスデータ生成プロセッサ３、インターフェース回路（Ｉ／Ｆ）４、メインメモリ５、ＲＯＭ（Read Only Memory）６、伸張回路７、パラレルポート８、シリアルポート９、描画プロセッサ１０、音声プロセッサ１１、デコーダ１２、インターフェース回路１３、バッファ１４〜１６、記録媒体ドライブ１７、メモリ１８及びコントローラ１９を含む。家庭用テレビジョン２００はテレビジョンモニタ２１、増幅回路２２及びスピーカ２３を含む。
【００３３】
ＣＰＵ１はバスライン２およびグラフィックスデータ生成プロセッサ３に接続されている。バスライン２はアドレスバス、データバス及びコントロールバス等を含み、ＣＰＵ１、インターフェース回路４、メインメモリ５、ＲＯＭ６、伸張回路７、パラレルポート８、シリアルポート９、描画プロセッサ１０、音声プロセッサ１１、デコーダ１２及びインターフェース回路１３を相互に接続している。
【００３４】
描画プロセッサ１０はバッファ１４に接続される。音声プロセッサ１１はバッファ１５及び増幅回路２２に接続される。デコーダ１２はバッファ１６及び記録媒体ドライブ１７に接続される。インターフェース回路１３はメモリ１８及びコントローラ１９に接続される。
【００３５】
家庭用テレビジョン２００のテレビジョンモニタ２１は描画プロセッサ１０に接続される。スピーカ２３は増幅回路２２に接続される。なお、業務用ビデオゲーム装置の場合、テレビジョンモニタ２１、増幅回路２２及びスピーカ２３は、家庭用ゲーム機１００を構成する各ブロックとともに１つの筺体に収納される場合がある。
【００３６】
また、ビデオゲーム装置がパーソナルコンピュータやワークステーション等を核として構成されている場合、テレビジョンモニタ２１等はコンピュータ用のディスプレイに対応する。また、伸張回路７、描画プロセッサ１０及び音声プロセッサ１１等は、それぞれ記録媒体３００に記録されているプログラムデータの一部又はコンピュータの拡張スロットに搭載される拡張ボード上のハードウエアに対応する。また、インターフェース回路４、パラレルポート８、シリアルポート９及びインターフェース回路１３は、コンピュータの拡張スロットに搭載される拡張ボード上のハードウエアに対応する。また、バッファ１４〜１６はそれぞれメインメモリ５又は拡張メモリの各記憶エリアに対応する。
【００３７】
次に、図１に示す各構成要素について説明する。グラフィックスデータ生成プロセッサ３はＣＰＵ１のいわばコプロセッサとしての役割を果たす。すなわち、グラフィックスデータ生成プロセッサ３は座標変換や光源計算、例えば固定小数点形式の行列やベクトルの演算を並列処理によって行う。
【００３８】
グラフィックスデータ生成プロセッサ３が行う主な処理としては、ＣＰＵ１から供給される画像データの２次元又は仮想３次元空間内における各頂点の座標データ、移動量データ、回転量データ等に基づいて、所定の表示エリア上における処理対象画像のアドレスデータを求めてＣＰＵ１に返す処理、仮想的に設定された光源からの距離に応じて画像の輝度を計算する処理等がある。
【００３９】
インターフェース回路４は周辺デバイス、例えばマウスやトラックボール等のポインティングデバイス等のインターフェース用に用いられる。メインメモリ５はＲＡＭ（Random Access Memory）等で構成される。ＲＯＭ６にはビデオゲーム装置のオペレーティングシステムとなるプログラムデータが記憶されている。このプログラムはパーソナルコンピュータのＢＩＯＳ(Basic Input Output System)に相当する。
【００４０】
伸張回路７は動画に対するＭＰＥＧ(Moving Picture Experts Group)規格や静止画に対するＪＰＥＧ(Joint Photographic Experts Group)規格に準拠したイントラ符号化によって圧縮された圧縮画像に対して伸張処理を施す。伸張処理はデコード処理(VLC：Variable Length Codeによってエンコードされたデータのデコード)、逆量子化処理、ＩＤＣＴ(Inverse Discrete Cosine Transform)処理、イントラ画像の復元処理等を含む。
【００４１】
描画プロセッサ１０は所定時間Ｔ（例えば、１フレームでＴ＝1／60秒）ごとにＣＰＵ１が発行する描画命令に基づいてバッファ１４に対する描画処理を行う。
【００４２】
バッファ１４は例えばＲＡＭで構成され、表示エリア(フレームバッファ)と非表示エリアとに分けられる。表示エリアはテレビジョンモニタ２１の表示面上に表示するデータの展開エリアで構成される。非表示エリアはスケルトンを定義するデータ、ポリゴンを定義するモデルデータ、モデルに動きを行わせるアニメーションデータ、各アニメーションの内容を示すパターンデータ、テクスチャデータ及びカラーパレットデータ等の記憶エリアで構成される。
【００４３】
ここで、テクスチャデータは２次元の画像データである。カラーパレットデータはテクスチャデータ等の色を指定するためのデータである。ＣＰＵ１は、これらのデータを記録媒体３００から一度に又はゲームの進行状況に応じて複数回に分けて、予めバッファ１４の非表示エリアに記録する。
【００４４】
また、描画命令としては、ポリゴンを用いて立体的な画像を描画するための描画命令、通常の２次元画像を描画するための描画命令がある。ここで、ポリゴンは多角形の２次元仮想図形であり、例えば、三角形や四角形が用いられる。
【００４５】
ポリゴンを用いて立体的な画像を描画するための描画命令は、ポリゴン頂点座標データのバッファ１４の表示エリア上における記憶位置を示すポリゴン頂点アドレスデータ、ポリゴンに貼り付けるテクスチャのバッファ１４上における記憶位置を示すテクスチャアドレスデータ、テクスチャの色を示すカラーパレットデータのバッファ１４上における記憶位置を示すカラーパレットアドレスデータ及びテクスチャの輝度を示す輝度データのそれぞれに対して行われるものである。
【００４６】
上記のデータのうち表示エリア上のポリゴン頂点アドレスデータは、グラフィックスデータ生成プロセッサ３がＣＰＵ１からの仮想３次元空間上におけるポリゴン頂点座標データを移動量データ及び回転量データに基づいて座標変換することによって２次元上でのポリゴン頂点座標データに置換されたものである。輝度データはＣＰＵ１からの上記座標変換後のポリゴン頂点座標データによって示される位置から仮想的に配置された光源までの距離に基づいてグラフィックスデータ生成プロセッサ３によって決定される。
【００４７】
ポリゴン頂点アドレスデータはバッファ１４の表示エリア上のアドレスを示す。描画プロセッサ１０は３個のポリゴン頂点アドレスデータで示されるバッファ１４の表示エリアの範囲に対応するテクスチャデータを書き込む処理を行う。
【００４８】
ゲーム空間内におけるキャラクタ等の物体は、複数のポリゴンで構成される。ＣＰＵ１は各ポリゴンの仮想３次元空間上の座標データを対応するスケルトンのベクトルデータと関連させてバッファ１４に記憶する。そして、後述するコントローラ１９の操作によって、テレビジョンモニタ２１の表示画面上でキャラクタを移動させる等の場合において、キャラクタの動きを表現したり、キャラクタを見ている視点位置を変えるときに、以下の処理が行われる。
【００４９】
すなわち、ＣＰＵ１はグラフィックスデータ生成プロセッサ３に対してバッファ１４の非表示エリア内に保持している各ポリゴンの頂点の３次元座標データと、スケルトンの座標及びその回転量のデータから求められた各ポリゴンの移動量データ及び回転量データとを与える。
【００５０】
グラフィックスデータ生成プロセッサ３は各ポリゴンの頂点の３次元座標データと各ポリゴンの移動量データ及び回転量データとに基づいて各ポリゴンの移動後及び回転後の３次元座標データを順次求める。
【００５１】
このようにして求められた各ポリゴンの３次元座標データのうち水平及び垂直方向の座標データは、バッファ１４の表示エリア上のアドレスデータ、すなわちポリゴン頂点アドレスデータとして描画プロセッサ１０に供給される。
【００５２】
描画プロセッサ１０は３個のポリゴン頂点アドレスデータによって示されるバッファ１４の表示エリア上に予め割り当てられているテクスチャアドレスデータによって示されるテクスチャデータを書き込む。これによって、テレビジョンモニタ２１の表示画面上には、多数のポリゴンにテクスチャの貼り付けられた物体が表示される。
【００５３】
通常の２次元画像を描画するための描画命令は、頂点アドレスデータ、テクスチャアドレスデータ、テクスチャデータの色を示すカラーパレットデータのバッファ１４上における記憶位置を示すカラーパレットアドレスデータ及びテクスチャの輝度を示す輝度データに対して行われる。これらのデータのうち頂点アドレスデータは、ＣＰＵ１からの２次元平面上における頂点座標データをＣＰＵ１からの移動量データ及び回転量データに基づいてグラフィックスデータ生成プロセッサ３が座標変換することによって得られる。
【００５４】
音声プロセッサ１１は記録媒体３００から読み出されたＡＤＰＣＭ（AdaptiveDifferential Pulse Code Modulation）データをバッファ１５に記憶させ、バッファ１５に記憶されたＡＤＰＣＭデータが音源となる。
【００５５】
また、音声プロセッサ１１は、例えば、周波数４４．１ｋＨｚのクロック信号に基づき、バッファ１５からＡＤＰＣＭデータを読み出す。音声プロセッサ１１は、読み出したＡＤＰＣＭデータに対してピッチの変換、ノイズの付加、エンベロープの設定、レベルの設定及びリバーブの付加等の処理を施す。
【００５６】
記録媒体３００から読み出される音声データがＣＤ−ＤＡ(Compact Disk Digital Audio)等のＰＣＭ（Pulse Code Modulation）データの場合、音声プロセッサ１１はこの音声データをＡＤＰＣＭデータに変換する。また、ＰＣＭデータに対するプログラムによる処理は、メインメモリ５上において直接行われる。メインメモリ５上において処理されたＰＣＭデータは、音声プロセッサ１１に供給されてＡＤＰＣＭデータに変換される。その後、上述した各種処理が施され、音声がスピーカ２３から出力される。
【００５７】
記録媒体ドライブ１７としては、例えば、ＤＶＤ−ＲＯＭドライブ、ＣＤ−ＲＯＭドライブ、ハードディスクドライブ、光ディスクドライブ、フレキシブルディスクドライブ、シリコンディスクドライブ、カセット媒体読み取り機等が用いられる。この場合、記録媒体３００としては、ＤＶＤ−ＲＯＭ、ＣＤ−ＲＯＭ、ハードディスク、光ディスク、フレキシブルディスク、半導体メモリ等が用いられる。
【００５８】
記録媒体ドライブ１７は記録媒体３００から画像データ、音声データ及びプログラムデータを読み出し、読み出したデータをデコーダ１２に供給する。デコーダ１２は記録媒体ドライブ１７からの再生したデータに対してＥＣＣ(Error Correction Code)によるエラー訂正処理を施し、エラー訂正処理を施したデータをメインメモリ５又は音声プロセッサ１１に供給する。
【００５９】
メモリ１８としては、例えばカード型のメモリが用いられる。カード型のメモリは、例えばゲームを中断した場合において中断時点での状態を保持する等のように、中断時点での各種ゲームパラメータを保持するため等に用いられる。
【００６０】
コントローラ１９はユーザが種々の操作指令を入力するために使用する操作装置であり、ユーザの操作に応じた操作信号をＣＰＵ１に送出する。コントローラ１９には、第１ボタン１９ａ、第２ボタン１９ｂ、第３ボタン１９ｃ、第４ボタン１９ｄ、上方向キー１９Ｕ、下方向キー１９Ｄ、左方向キー１９Ｌ、右方向キー１９Ｒ、Ｌ１ボタン１９Ｌ１、Ｌ２ボタン１９Ｌ２、Ｒ１ボタン１９Ｒ１、Ｒ２ボタン１９Ｒ２、スタートボタン１９ｅ、セレクトボタン１９ｆ、左スティック１９ＳＬ及び右スティック１９ＳＲが設けられている。
【００６１】
上方向キー１９Ｕ、下方向キー１９Ｄ、左方向キー１９Ｌ及び右方向キー１９Ｒは、例えば、キャラクタやカーソルをテレビジョンモニタ２１の画面上で上下左右に移動させるコマンドをＣＰＵ１に与えるために使用される。
【００６２】
スタートボタン１９ｅは記録媒体３００からゲームプログラムをロードするようにＣＰＵ１に指示するため等に使用される。セレクトボタン１９ｆは記録媒体３００からメインメモリ５にロードされるゲームプログラムに関する各種選択をＣＰＵ１に指示するため等に使用される。
【００６３】
左スティック１９ＳＬ及び右スティック１９ＳＲを除くコントローラ１９の各ボタン及び各キーは、外部からの押圧力によって中立位置から押圧されるとオンになり、押圧力が解除されると上記中立位置に復帰してオフになるオンオフスイッチで構成される。
【００６４】
左スティック１９ＳＬ及び右スティック１９ＳＲは、いわゆるジョイスティックとほぼ同一構成のスティック型コントローラである。このスティック型コントローラは直立したスティックを有し、このスティックの所定位置を支点として前後左右を含む３６０°方向に亘って傾倒可能な構成になっている。左スティック１９ＳＬ及び右スティック１９ＳＲは、スティックの傾倒方向及び傾倒角度に応じて、直立位置を原点とする左右方向のｘ座標及び前後方向のｙ座標の値を操作信号としてインターフェース回路１３を介してＣＰＵ１に送出する。
【００６５】
なお、第１ボタン１９ａ、第２ボタン１９ｂ、第３ボタン１９ｃ、第４ボタン１９ｄ、Ｌ１ボタン１９Ｌ１、Ｌ２ボタン１９Ｌ２、Ｒ１ボタン１９Ｒ１及びＲ２ボタン１９Ｒ２は、記録媒体３００からロードされるゲームプログラムに応じて種々の機能に使用される。
【００６６】
次に、上記のビデオゲーム装置の概略動作について説明する。記録媒体３００が記録媒体ドライブ１７に装填されている場合、電源スイッチ（図示省略）がオンされてビデオゲーム装置に電源が投入されると、ＲＯＭ６に記憶されているオペレーティングシステムに基づいて、記録媒体３００からゲームプログラムを読み出すように、ＣＰＵ１は記録媒体ドライブ１７に指示する。これによって、記録媒体ドライブ１７は記録媒体３００から画像データ、音声データ及びプログラムデータを読み出す。読み出された画像データ、音声データ及びプログラムデータはデコーダ１２に供給され、デコーダ１２によってエラー訂正処理が各データに施される。
【００６７】
デコーダ１２によってエラー訂正処理が施された画像データは、バスライン２を介して伸張回路７に供給される。伸張回路７によって上述した伸張処理が行われた画像データはメインメモリ５に書き込まれた後、描画プロセッサ１０に供給され、描画プロセッサ１０によってバッファ１４の非表示エリアに書き込まれる。デコーダ１２によってエラー訂正処理が施された音声データは、メインメモリ５又は音声プロセッサ１１を介してバッファ１５に書き込まれる。デコーダ１２によってエラー訂正処理が施されたプログラムデータはメインメモリ５に書き込まれる。
【００６８】
以降、ＣＰＵ１は、メインメモリ５に記憶されているゲームプログラム及びユーザがコントローラ１９を用いて指示する内容に基づいてビデオゲームを進行させる。すなわち、ユーザがコントローラ１９を用いて指示する内容に基づいて、ＣＰＵ１は画像処理の制御、音声処理の制御及び内部処理の制御等を適宜行う。
【００６９】
画像処理の制御として、例えば、キャラクタに指示されるアニメーションに該当するパターンデータから各スケルトンの座標の計算又はポリゴンの頂点座標データの計算、得られた３次元座標データや視点位置データのグラフィックスデータ生成プロセッサ３への供給、グラフィックスデータ生成プロセッサ３が求めたバッファ１４の表示エリア上のアドレスデータや輝度データを含む描画命令の発行等が行われる。
【００７０】
音声処理の制御として、例えば、音声プロセッサ１１に対する音声出力コマンドの発行、レベル、リバーブ等の指定が行われる。内部処理の制御として、例えばコントローラ１９の操作に応じた演算等が行われる。
【００７１】
図２は図１に示すビデオゲーム装置の主要機能を示すブロック図である。図２に示すように、ビデオゲーム装置は、機能的には、プログラム実行部３１、圧縮データ記憶部３２、非圧縮データ記憶部３３、プログラム記憶部３４及びデータ記憶部３５を含む。
【００７２】
圧縮データ記憶部３２は、記録媒体３００等で実現され、データを、圧縮した状態の圧縮データとして記録している。データを圧縮する方法としては、公知の技術が用いられ、例えば、ＪＰＥＧ規格やＭＰＥＧ規格に準拠した圧縮方式、ＬＺＷ圧縮方式等が用いられる。
【００７３】
非圧縮データ記憶部３３は、記録媒体３００等で実現され、圧縮データと同一の内容のデータを圧縮していない状態の非圧縮データとして記録している。
【００７４】
プログラム実行部３１は、ＣＰＵ１等で実現され、ＣＰＵ１等がメインメモリ５に記憶されているデータ読込プログラムを実行することによって、データ判断部４１、データ展開部４２及びデータ読込部４３として機能する。
【００７５】
データ判断部４１は、圧縮データ及び非圧縮データのうちのどちらを読み込むかをゲーム状態に応じて判断する。データ展開部４２は、データ判断部４１によって圧縮データを読み込むと判断された場合、当該圧縮データを展開し、元のデータに復元する。なお、本実施の形態における伸張処理と展開処理とは同じ処理である。データ読込部４３は、データ判断部４１が圧縮データを読み込むと判断した場合、データ展開部４２によって展開されたデータをデータ記憶部３２に読み込み、データ判断部４１が非圧縮データを読み込むと判断した場合、非圧縮データをデータ記憶部３２に読み込む。
【００７６】
データ記憶部３５は、メインメモリ５等で実現され、データ読込部４３によって読み込まれたデータを記憶する。プログラム記憶部３４は、記録媒体ドライブ１７等で実現され、コンピュータ読み取り可能な記録媒体３００を含む。記録媒体３００は、ビデオゲームプログラムとしてデータ読込プログラムを記憶している。なお、記録媒体３００からデータ読込プログラムが読み取られ、当該プログラムがメインメモリ５に記録されている場合、メインメモリ５がプログラム記憶部３４として機能する。
【００７７】
なお、本実施の形態において、データ判断部４１は判断手段に相当し、データ展開部４２は展開手段に相当し、データ読込部４３は読込手段に相当に相当する。
【００７８】
図３は、図１に示すビデオゲーム装置によるデータ読込処理の一例を示すフローチャートである。なお、図３に示すデータ読込処理は、ＣＰＵ１等が記録媒体３００に記憶されているデータ読込プログラム等を実行することによって行われる処理である。なお、以下の処理に用いる変数now#loadingは、現在ファイルの読み込みが行われているか否かを判断するものであり、now#loading＝０の場合、現在ファイルの読み込みが行われていないことを表し、now#loading＝１の場合、現在ファイルの読み込みが行われていることを表す。
【００７９】
ステップＳ１において、ＣＰＵ１は変数now#loadingの初期化を行い、now#loading＝０とする。ステップＳ２において、ＣＰＵ１はゲーム進行処理を行う。ゲーム進行処理では、データ読込処理以外のビデオゲームを進行するための種々の処理が行われ、ＣＰＵ１は、ファイルの読み込み要求を発行する。ステップＳ３において、ＣＰＵ１は、now#loading＝１であるか否かを判断することで、現在ファイルの読み込みが行われているか否かを判断する。ここで、now#loading＝１である（現在ファイルの読み込みが行われている）と判断されると（ステップＳ３でＹＥＳ）、ステップＳ１２に移行し、now#loading＝１でない（現在ファイルの読み込みが行われていない）と判断されると（ステップＳ３でＮＯ）、ステップＳ４に移行する。
【００８０】
ステップＳ４において、ＣＰＵ１はファイルを読み込むか否かを判断する。すなわち、ＣＰＵ１はステップＳ２のゲーム進行処理でファイルの読み込み要求が発行されたか否かを判断する。ここで、ファイルを読み込むと判断されると（ステップＳ４でＹＥＳ）、ステップＳ５に移行し、ファイルを読み込まないと判断されると（ステップＳ４でＮＯ）、ステップＳ２に戻ることとなる。
【００８１】
ステップＳ５において、ＣＰＵ１は、読み込み要求のあったファイルに圧縮データを記録する圧縮ファイルが存在するか否かを判断する。ここで、圧縮ファイルが存在すると判断されると（ステップＳ５でＹＥＳ）、ステップＳ６に移行し、圧縮ファイルが存在しないと判断されると（ステップＳ５でＮＯ）、非圧縮データを記録する非圧縮ファイルを読み込むため、ステップＳ１０に移行する。
【００８２】
ステップＳ６において、ＣＰＵ１は、圧縮ファイル及び非圧縮ファイルのうちのどちらのファイルを読み込むかを判断する判断処理を行う。本実施の形態における判断処理方法は、ゲーム状態に応じてあらかじめ圧縮ファイル又は非圧縮ファイルの指定をすることによって行われる。例えば、ＣＰＵ１の処理負荷が少ないゲーム開始前は圧縮ファイルを読み込み、ＣＰＵ１の処理負荷が大きくなるゲーム開始後は非圧縮ファイルを読み込むようにあらかじめ指定する。また、画面内に表示されるキャラクタが５体より少ない場合、ＣＰＵ１の処理負荷が少ないため、圧縮ファイルを読み込むようにあらかじめ指定し、画面内に表示されるキャラクタが５体以上の場合、ＣＰＵ１の処理負荷が大きいため、非圧縮ファイルを読み込むようにあらかじめ指定する。なお、判断処理については図４を用いて後述する。
【００８３】
ステップＳ７において、ＣＰＵ１は、圧縮ファイルを読み込むか否かを判断する。ここで、圧縮ファイルを読み込むと判断されると（ステップＳ７でＹＥＳ）、ステップＳ８に移行し、圧縮ファイルを読み込まないと判断されると（ステップＳ７でＮＯ）、非圧縮ファイルを読み込むため、ステップＳ１０に移行する。
【００８４】
ステップＳ８において、ＣＰＵ１は非圧縮ファイルの拡張子の変更を行う。具体的には、非圧縮ファイルの拡張子に１文字付加することによって圧縮ファイルを指定する。ファイルは、ファイル名と拡張子とで構成される。ファイル名はファイルの名前を表し、拡張子はファイルの種類を表す。例えば、「ｆｉｌｅ＿ａ」というファイル名のファイルは、非圧縮ファイルでは「ｄａｔ」という拡張子で表され、圧縮ファイルでは「ｄａｔｐ」という拡張子で表される。記録媒体３００は、圧縮データを「ｆｉｌｅ＿ａ．ｄａｔｐ」というファイル名及び拡張子の圧縮ファイルで記録しており、非圧縮データを「ｆｉｌｅ＿ａ．ｄａｔ」というファイル名及び拡張子の非圧縮ファイルで記録している。圧縮ファイルを読み込む場合、ＣＰＵ１は、非圧縮ファイル「ｆｉｌｅ＿ａ．ｄａｔ」の拡張子である「ｄａｔ」に「ｐ」という１文字を付加することによって、読み込む圧縮ファイル「ｆｉｌｅ＿ａ．ｄａｔｐ」を特定する。このように、非圧縮ファイルの拡張子に１文字付加した圧縮ファイルを記録することによってデータを定義する際の重複をなくすことができる。
【００８５】
ステップＳ９において、ＣＰＵ１は、記録媒体３００からバッファ１６への圧縮ファイルの読み込みを開始し、ステップＳ１１に移行する。ステップＳ１０において、ＣＰＵ１は、記録媒体３００からメインメモリ５への非圧縮ファイルの読み込みを開始し、ステップＳ１１に移行する。ステップＳ１１において、ＣＰＵ１は、記録媒体３００からバッファ１６又はメインメモリ５へのファイルの読み込みが開始されているため、now#loading＝１として、ステップＳ２に戻る。
【００８６】
ステップＳ３において、now#loading＝１であると判断されると（ステップＳ３でＹＥＳ）、ステップＳ１２に移行する。ステップＳ１２において、ＣＰＵ１は、現在読み込み中のデータが圧縮データであるか否かを判断する。ここで、現在読み込み中のデータが圧縮データであると判断されると（ステップＳ１２でＹＥＳ）、ステップＳ１３に移行し、現在読み込み中のデータが圧縮データではなく、非圧縮データであると判断されると（ステップＳ１２でＮＯ）、ステップＳ１５に移行する。
【００８７】
ステップＳ１３において、ＣＰＵ１は、一定量の圧縮データをバッファ１６に読み込んだか否かを判断する。ここで、一定量の圧縮データをバッファ１６に読み込んだと判断されると（ステップＳ１３でＹＥＳ）、ステップＳ１４に移行し、一定量の圧縮データをバッファ１６に読み込んでいないと判断されると（ステップＳ１３でＮＯ）、一定量の圧縮データをバッファ１６に読み込むまで待機状態となる。なお、一定量の圧縮データをバッファ１６に読み込まずに、全ての圧縮データをバッファ１６に読み込んだ後、元のデータへの展開処理を行ってもよい。しかし、この場合、全ての圧縮データを読み込むための記憶領域が必要となるため、非効率的である。本実施の形態では、例えば２０セクタ（４０キロバイト）単位の一定量の圧縮データを一旦バッファ１６に読み込み、元のデータへの展開処理が行われる。
【００８８】
ステップＳ１４において、伸張回路７は、バッファ１６に読み込んだ一定量の圧縮データを元のデータに展開する。この際、圧縮データの圧縮方式に応じて展開処理する。ステップＳ１５において、ＣＰＵ１は、ステップＳ１２で圧縮データであると判断された場合、ステップＳ１４で展開されたデータをメインメモリ５に読み込み、ステップＳ１２で圧縮データでない（非圧縮データである）と判断された場合、非圧縮データをメインメモリ５に読み込む。
【００８９】
ステップＳ１６において、ＣＰＵ１は、指定されたファイルのデータを全て読み込んだか否かを判断する。ここで、指定されたファイル内のデータを全て読み込んだと判断されると（ステップＳ１６でＹＥＳ）、ステップＳ１７に移行し、指定されたファイルのデータを全て読み込んでいないと判断されると（ステップＳ１６でＮＯ）、ステップＳ２に戻り、ゲーム進行処理が行われる。
【００９０】
ステップＳ１７において、ＣＰＵ１は、ファイルの読み込みが終了したため、now#loading＝０として、ファイルの読み込み要求を終了してステップＳ４に移行する。そして、ステップＳ４において、ＣＰＵ１は、ファイルの読み込みが終了しているため、ファイルを読み込まないと判断し（ステップＳ４でＮＯ）、ステップＳ２に移行することとなり、ゲーム進行処理が行われる。
【００９１】
図４は、図３のステップＳ６における判断処理の一例を示すフローチャートである。なお、図４に示す判断処理は、ＣＰＵ１等が記録媒体３００に記憶されているデータ読込プログラム等を実行することによって行われる処理である。また、図４に示すフローチャートは、画面に表示するキャラクタの数に応じて圧縮データ及び非圧縮データのうちの一方を選択する場合の判断処理である。
【００９２】
ステップＳ１０１において、ＣＰＵ１は、現在画面に表示されているキャラクタの数を取得する。ここでのキャラクタとは、コンピュータによって動作が制御されているオブジェクトのことである。画面に表示するキャラクタが多くなると、ＣＰＵ１にかかる処理負荷が大きくなり、画面に表示するキャラクタが少なくなると、ＣＰＵ１にかかる処理負荷が小さくなる。
【００９３】
ステップＳ１０２において、ＣＰＵ１は、キャラクタの数が５体以上であるか否かを判断する。ここで、キャラクタの数が５体以上であると判断されると（ステップＳ１０２でＹＥＳ）、ステップＳ１０３に移行し、キャラクタの数が５体より少ないと判断されると（ステップＳ１０２でＮＯ）、ステップＳ１０４に移行する。なお、ここでの判断基準となるキャラクタの数は５体に限らず、ＣＰＵ１の処理速度に応じて適宜変更可能である。
【００９４】
ステップＳ１０３において、ＣＰＵ１は圧縮ファイルを読み込むと決定し、リターンする。ステップＳ１０４において、ＣＰＵ１は非圧縮ファイルを読み込むと決定し、リターンする。
【００９５】
このように、１のデータに対して圧縮データと非圧縮データとの２種類のデータを記録しておき、圧縮データ及び非圧縮データのうちのどちらを読み込むかがゲーム状態に応じて判断される。圧縮データが読み込まれる場合、データが圧縮されているため、記録媒体３００にアクセスする時間を短縮することができ、非圧縮データが読み込まれる場合、データを展開する必要がないため、演算処理を短縮することができる。したがって、演算処理の処理負荷に余裕があるゲーム状態（例えば表示されているキャラクタが５体より少ない）では圧縮データを選択し、処理負荷に余裕がないゲーム状態（例えば表示されているキャラクタが５体以上）では非圧縮データを選択することで、ゲーム状態に適した圧縮ファイル及び非圧縮ファイルのいずれか一方を読み込むことができ、ゲームの進行処理の速度を落とさずに高速にデータを読み込むことができる。
【００９６】
なお、本実施の形態では、画面に表示されるキャラクタの数に応じて圧縮データ及び非圧縮データのうちのいずれか一方を選択するとしたが、本発明は特にこれに限定されず、ビデオゲームにおけるゲームシーン又はステージに応じて圧縮データ及び非圧縮データのうちのいずれか一方を選択してもよい。例えば、演算量の少ないステージに関するステージデータを読み込む場合には圧縮ファイルを選択する。砂漠を表現するステージなどは、オブジェクトの数が少ないため、市街地などを表現するステージに比べて演算量は少なくてすむ。そこで、演算量の少ないステージでは圧縮データを選択するようにし、演算量の多いステージでは非圧縮データを選択するようにする。なお、ゲームシーンとはビデオゲームの一場面を表し、ステージとはビデオゲームをストーリーに応じて複数に分割したうちの一つのストーリーを表す。
【００９７】
次に、本発明の他の実施の形態について説明する。
【００９８】
図５は、本発明の他の実施の形態におけるビデオゲーム装置の主要機能を示すブロック図である。なお、図５において、図２と同一の構成については、同一の符号を付し、その説明を省略する。図５に示すように、ビデオゲーム装置は、機能的には、プログラム実行部３１、圧縮データ記憶部３２、非圧縮データ記憶部３３、プログラム記憶部３４、データ記憶部３５及びテーブルデータ記憶部３６を含む。
【００９９】
テーブルデータ記憶部３６は、メインメモリ５等で実現され、第１のテーブル記憶部６１及び第２のテーブル記憶部６２を含む。第１のテーブル記憶部６１は、ゲーム状態と、当該ゲーム状態における処理負荷とを対応付けてあらかじめ第１のテーブルとして記憶する。第２のテーブル記憶部６２は、圧縮データが記録されている圧縮ファイルのファイル名と、当該圧縮ファイルの展開処理にかかる展開処理負荷とを対応付けてあらかじめ第２のテーブルとして記憶する。
【０１００】
データ判断部４１は、現在実行されている第１のゲーム状態における現処理負荷と、第１のゲーム状態の次に実行される第２のゲーム状態において用いられる圧縮データの展開処理にかかる展開処理負荷とに基づいて圧縮データ及び非圧縮データのうちのどちらを読み込むかを判断する。第１のテーブル記憶部６１に記憶されている第１のゲーム状態に対応する処理負荷と、第２のテーブル記憶部６２に記憶されている第２のゲーム状態において用いられる圧縮データに対応する展開処理負荷とに基づいて圧縮データ及び非圧縮データのうちのどちらを読み込むかを判断する。
【０１０１】
なお、本実施の形態において、第１のテーブル記憶部６１は第１の記憶手段に相当し、第２のテーブル記憶部６２は第２の記憶手段に相当する。
【０１０２】
図６は、第１のテーブル及び第２のテーブルのデータ構造の一例を示す図である。図６（ａ）は、第１のテーブルのデータ構造の一例を示す図であり、図６（ｂ）は、第２のテーブルのデータ構造の一例を示す図である。
【０１０３】
第１のテーブル４００には、ゲーム状態４０１と処理負荷４０２とが対応付けられている。なお、処理負荷４０２はあらかじめ計測されたものであり、百分率で表される。ゲーム状態４０１には、図６（ａ）に示すように、タイトル画面、ゲームセレクト中、プレイヤセレクト中、「Now Loading」画面及び滑走中等がある。タイトル画面とは、ＣＰＵ１がタイトル画面を表示するゲーム状態を表す。プレイヤセレクト中とは、ＣＰＵ１がユーザによるプレイヤ（ユーザによって操作されるゲームに登場するキャラクタ）のセレクト（選択）を受け付けるゲーム状態を表す。「Now Loading」画面とは、ＣＰＵ１が記録媒体３００からメインメモリ５にデータを読み込む間に、「Now Loading」と表示するゲーム状態を表す。滑走中とは、スノーボーダーを模したキャラクタが雪面などの斜面を滑走している際のゲーム状態を表す。例えば、タイトル画面を表示する際にＣＰＵ１にかかる処理負荷のピーク値は１０％であり、ゲームセレクト中にＣＰＵ１にかかる処理負荷のピーク値は２０％であり、「Now Loading」画面を表示する際にＣＰＵ１にかかる処理負荷のピーク値は５％である。
【０１０４】
第２のテーブル４１０には、圧縮データを記録する圧縮ファイルのファイル名４１１と、この圧縮ファイルの展開処理負荷４１２とが対応付けられている。なお、展開処理負荷４１２はあらかじめ計測されたものであり、百分率で表す。圧縮ファイル名４１１には、図６（ｂ）に示すように、「ｆｉｌｅ＿ａ．ｄａｔｐ」、「ｆｉｌｅ＿ｂ．ｄａｔｐ」及び「ｆｉｌｅ＿ｃ．ｄａｔｐ」等がある。例えば、ＣＰＵ１が「ｆｉｌｅ＿ａ．ｄａｔｐ」という圧縮ファイルを展開する際にＣＰＵ１にかかる展開処理負荷のピーク値は５０％であり、ＣＰＵ１が「ｆｉｌｅ＿ｂ．ｄａｔｐ」という圧縮ファイルを展開する際にＣＰＵ１にかかる展開処理負荷のピーク値は８０％であり、ＣＰＵ１が「ｆｉｌｅ＿ｃ．ｄａｔｐ」という圧縮ファイルを展開する際にＣＰＵ１にかかる展開処理負荷のピーク値は３０％である。
【０１０５】
本発明の他の実施の形態における判断処理方法は、ゲーム状態毎の処理負荷と圧縮ファイル毎の展開処理負荷とをあらかじめ第１のテーブル４００及び第２のテーブル４１０として記憶しておき、現在実行されている第１のゲーム状態の処理負荷と、第１のゲーム状態の次に実行される第２のゲーム状態において用いられる圧縮ファイルの展開処理負荷とを合計して所定の値と比較する。第１のゲーム状態の処理負荷と第２のゲーム状態において用いられる圧縮ファイルの展開処理負荷との合計が所定の値より小さければ、圧縮ファイルを読み込み、所定の値以上であれば、非圧縮ファイルを読み込む。本実施の形態では、所定の値を１００％とし、第１のゲーム状態の処理負荷と第２のゲーム状態において用いられる圧縮ファイルの展開処理負荷との合計が１００％より小さければ、圧縮ファイルを読み込み、１００％以上であれば、非圧縮ファイルを読み込む。なお、所定の値は１００％に限らず、他の値でもよい。
【０１０６】
例えば、第１のゲーム状態が図６（ａ）に示すタイトル画面であり、第２のゲーム状態において用いられる圧縮ファイルが図６（ｂ）に示す「ｆｉｌｅ＿ｃ．ｄａｔｐ」である場合、タイトル画面の表示にかかる処理負荷と、「ｆｉｌｅ＿ｃ．ｄａｔｐ」の展開処理にかかる展開処理負荷との合計は４０％となり、１００％より小さいため、圧縮ファイルを読み込む。また、第１のゲーム状態が図６（ａ）に示す滑走中であり、第２のゲーム状態において用いられる圧縮ファイルが図６（ｂ）に示す「ｆｉｌｅ＿ｃ．ｄａｔｐ」である場合、滑走中の処理にかかる処理負荷と、「ｆｉｌｅ＿ｃ．ｄａｔｐ」の展開処理にかかる展開処理負荷との合計は１２０％となり、１００％以上となるため、非圧縮ファイルを読み込む。
【０１０７】
図７は、図３のステップＳ６における判断処理の他の実施の形態の一例を示すフローチャートである。なお、図７に示す判断処理は、ＣＰＵ１等が記録媒体３００に記憶されているデータ読込プログラム等を実行することによって行われる処理である。また、本発明の他の実施の形態におけるデータ読込処理は、図３のデータ読込処理の一例を示すフローチャートと同じであり、ステップＳ６における判断処理の内容が異なるため、ここでは、本発明の他の実施の形態における判断処理についてのみ説明する。
【０１０８】
ステップＳ２０１において、ＣＰＵ１は現在実行されている第１のゲーム状態を取得する。ステップＳ２０２において、ＣＰＵ１は、第１のテーブル記憶部６１に記憶されている第１のテーブル４００を参照して、第１のゲーム状態に対応する現処理負荷Ａを取得する。
【０１０９】
ステップＳ２０３において、ＣＰＵ１は、第２のテーブル記憶部６２に記憶されている第２のテーブル４１０を参照して、第１のゲーム状態の次に実行される第２のゲーム状態において用いられる圧縮ファイルの展開処理負荷Ｂを取得する。ステップＳ２０４において、ＣＰＵ１は、ステップＳ２０２において取得した現処理負荷Ａと、ステップＳ２０３において取得した展開処理負荷Ｂとを加算した加算値αを算出する。
【０１１０】
ステップＳ２０５において、ＣＰＵ１は、現処理負荷Ａと展開処理負荷Ｂとの加算値αが１００以上であるか否かを判断する。ここで、現処理負荷Ａと展開処理負荷Ｂとの加算値αが１００以上であると判断されると（ステップＳ２０５でＹＥＳ）、ステップＳ２０７に移行し、現処理負荷と展開処理負荷との加算値が１００より小さいと判断されると（ステップＳ２０５でＮＯ）、ステップＳ２０６に移行する。
【０１１１】
ステップＳ２０６において、ＣＰＵ１は圧縮ファイルを読み込むと決定し、リターンする。ステップＳ２０７において、ＣＰＵ１は非圧縮ファイルを読み込むと決定し、リターンする。
【０１１２】
このように、ゲーム状態と最大処理負荷とを対応付けて第１のテーブル４００としてあらかじめ記憶しておき、さらに、圧縮データと当該圧縮データの展開処理にかかる展開処理負荷とを第２のテーブル４１０としてあらかじめ対応付けて記憶しておく。そして、現在実行されている第１のゲーム状態の最大処理負荷と、第１のゲーム状態の次に実行される第２のゲーム状態において用いられる圧縮データの展開処理負荷とを合計した値が所定の値より小さい場合に圧縮データを読み込み、所定の値以上の場合に非圧縮データを読み込むことによって、ゲーム状態に応じて圧縮ファイル及び非圧縮ファイルのいずれか一方を読み込むことができる。
【０１１３】
また、ビデオゲームのゲーム状態ごとに各ゲーム状態に要する処理負荷をあらかじめ第１のテーブル４００として記憶しておくことによって、ビデオゲーム中にゲーム状態に要する処理負荷を計測する必要がなく、ＣＰＵ１の処理負荷を軽減することができる。
【０１１４】
次に、本発明のさらに他の実施の形態について説明する。
【０１１５】
図８は、本発明のさらに他の実施の形態におけるビデオゲーム装置の主要機能を示すブロック図である。なお、図８において、図２及び図５と同一の構成については、同一の符号を付し、その説明を省略する。図８に示すように、ビデオゲーム装置は、機能的には、プログラム実行部３１、圧縮データ記憶部３２、非圧縮データ記憶部３３、プログラム記憶部３４、データ記憶部３５及びテーブルデータ記憶部３６を含む。
【０１１６】
テーブルデータ記憶部３６は、メインメモリ５等で実現され、第２のテーブル記憶部６２及び第３のテーブル記憶部６３を含む。第３のテーブル記憶部６３は、後述する処理負荷計測部４４によって計測された１フレーム毎の処理負荷の履歴を記憶する。本実施の形態において、第３のテーブル記憶部６３は、３フレーム前までの処理負荷の履歴を記憶し、各フレームと、当該フレームにおける処理負荷とを対応付けて第３のテーブルとして記憶する。
【０１１７】
プログラム実行部３１は、ＣＰＵ１等で実現され、ＣＰＵ１等がメインメモリ５に記憶されているデータ読込プログラムを実行することによって、データ判断部４１、データ展開部４２、データ読込部４３及び処理負荷計測部４４として機能する。
【０１１８】
データ判断部４１は、第３のテーブル記憶部６３に記憶されている過去の処理負荷の履歴と、第２のテーブル記憶部６２に記憶されている次に用いる圧縮データの展開処理にかかる展開処理負荷とに基づいて圧縮データ及び非圧縮データのうちのどちらを読み込むかを判断する。処理負荷計測部４４は、ＣＰＵ１にかかる処理負荷を１フレーム毎に計測し、計測した処理負荷を第３のテーブル記憶部６３に記憶する。
【０１１９】
なお、本実施の形態において、処理負荷計測部４４は計測手段に相当し、第３のテーブル記憶部６３は第３の記憶手段に相当する。
【０１２０】
図９は、第３のテーブルのデータ構造の一例を示す図である。第３のテーブル４２０には、３フレーム前までの履歴４２１と処理負荷４２２とが対応付けられており、実行時に動的に生成される。なお、処理負荷４２２は百分率で表す。履歴４２１には、図３（ｃ）に示すように、３フレーム前までの処理負荷が記憶されている。１フレーム前の処理負荷は４０％であり、２フレーム前の処理負荷は４２％であり、３フレーム前の処理負荷は３９％である。
【０１２１】
本発明のさらに他の実施の形態における判断処理方法は、過去の処理負荷の履歴に基づいて圧縮データ及び非圧縮データのうちのどちらを読み込むかを判断する。まず、圧縮ファイルごとの展開処理負荷のピーク値を計測してあらかじめ第２のテーブル４１０として用意しておく。ＣＰＵ１は、フレーム毎の処理負荷の履歴を第３のテーブル４２０として記憶する。データの読み込み要求が発生した場合、ＣＰＵ１は、当該データを圧縮した圧縮ファイルの展開処理負荷を第２のテーブル４１０から検索し、第３のテーブル４２０における最大処理負荷を検索する。第３のテーブル４２０から検索した最大処理負荷と第２のテーブル４１０から検索した展開処理負荷とを合計して所定の値と比較する。第３のテーブル４２０から検索した最大処理負荷と第２のテーブル４１０から検索した展開処理負荷との合計が所定の値以下であれば、圧縮ファイルを読み込み、所定の値以上であれば、非圧縮ファイルを読み込む。本実施の形態では、所定の値を１００％とし、現在のゲーム状態の最大処理負荷と次に読み込む圧縮ファイルの展開処理負荷との合計が１００％より小さければ、圧縮ファイルを読み込み、１００％以上であれば、非圧縮ファイルを読み込む。
【０１２２】
なお、上記所定の値は１００％に限らず、他の値でもよい。例えば、圧縮ファイルの読み込み中にゲーム進行処理によって急激に処理負荷が増加する可能性がある。このような急激な処理負荷の増加を考慮して、所定の値を例えば８０％に設定する。所定の値を８０％に設定することによって、急激な処理負荷の増加にも対応することができ、例えば、ゲーム中に登場するキャラクタを急に増加させる場合等にも処理速度を落とすことなく対処することができる。
【０１２３】
例えば、図９に示すように、１フレーム前のＣＰＵ１の処理負荷が４０％であり、２フレーム前のＣＰＵ１の処理負荷が４２％であり、３フレーム前のＣＰＵ１の処理負荷が３９％であった場合、最大処理負荷は２フレーム前の処理負荷である４２％となる。そして、次に読み込む圧縮ファイルが「ｆｉｌｅ＿ｃ．ｄａｔｐ」である場合、「ｆｉｌｅ＿ｃ．ｄａｔｐ」の展開処理にかかる展開処理負荷は図６（ｂ）に示すように３０％である。次に読み込む圧縮ファイルの展開処理負荷である３０％と最大処理負荷である４２％とを合計すると７２％となり、所定の値である１００％より小さくなるため、圧縮ファイルが読み込まれることとなる。また、次に読み込む圧縮ファイルが「ｆｉｌｅ＿ｄ．ｄａｔｐ」である場合、「ｆｉｌｅ＿ｄ．ｄａｔｐ」の展開処理にかかる展開処理負荷は図６（ｂ）に示すように６０％である。次に読み込む圧縮ファイルの展開処理負荷である６０％と最大処理負荷である４２％とを合計すると１０２％となり、所定の値である１００％以上となるため、非圧縮ファイルが読み込まれることとなる。
【０１２４】
図１０は、図３のステップＳ６における判断処理のさらに他の実施の形態の一例を示すフローチャートである。なお、図１０に示す判断処理は、ＣＰＵ１等が記録媒体３００に記憶されているデータ読込プログラム等を実行することによって行われる処理である。また、本発明のさらに他の実施の形態におけるデータ読込処理は、図３のデータ読込処理の一例を示すフローチャートと同じであり、ステップＳ６における判断処理の内容が異なるため、ここでは、本発明のさらに他の実施の形態における判断処理についてのみ説明する。
【０１２５】
ステップＳ３０１において、ＣＰＵ１は、第３のテーブル記憶部６３に記憶されている第３のテーブル４２０を参照して、最大処理負荷Ｃを取得する。ＣＰＵ１は、第３のテーブル４２０における各フレームごとの処理負荷の履歴のうちの最大となる処理負荷を最大処理負荷Ｃとして取得する。
【０１２６】
ステップＳ３０２において、ＣＰＵ１は、第２のテーブル記憶部６２に記憶されている第２のテーブル４１０を参照して、次に読み込む圧縮ファイルの展開処理負荷Ｂを取得する。
【０１２７】
ステップＳ３０３において、ＣＰＵ１は、ステップＳ３０１において取得した最大処理負荷Ｃと、ステップＳ３０２において取得した展開処理負荷Ｂとを加算した加算値βを算出する。
【０１２８】
ステップＳ３０４において、ＣＰＵ１は、最大処理負荷Ｃと展開処理負荷Ｂとの加算値βが１００以上であるか否かを判断する。ここで、最大処理負荷Ｃと展開処理負荷Ｂとの加算値βが１００以上であると判断されると（ステップＳ３０４でＹＥＳ）、ステップＳ３０６に移行し、最大処理負荷Ｃと展開処理負荷Ｂとの加算値βが１００より小さいと判断されると（ステップＳ３０４でＮＯ）、ステップＳ３０５に移行する。
【０１２９】
ステップＳ３０５において、ＣＰＵ１は圧縮ファイルを読み込むと決定し、リターンする。ステップＳ３０６において、ＣＰＵ１は非圧縮ファイルを読み込むと決定し、リターンする。
【０１３０】
このように、圧縮データごとの展開処理にかかる展開処理負荷をあらかじめ計測して第２のテーブル４１０として用意しておき、例えば、各フレーム毎にかかった処理負荷の履歴を第３のテーブル４２０として動的に記憶する。そして、データの読み込み要求が発生した場合に、第３のテーブル４２０に記憶されている処理負荷の最大処理負荷と、これから読み込む圧縮データの展開処理負荷とを合計した値が所定の値以下の場合に圧縮データを読み込み、所定の値以上の場合に非圧縮データを読み込む。このようにして、ゲーム状態に応じて圧縮ファイル及び非圧縮ファイルのいずれか一方を読み込むことができる。
【０１３１】
なお、本発明のさらに他の実施の形態において、圧縮ファイルごとの展開処理負荷のピーク値を計測してあらかじめ第２のテーブル４１０として用意しておくとしたが、本発明は特にこれに限定されず、第２のテーブル４１０を必ずしも用意しておく必要はなく、第３のテーブル４２０のみを用意しておいてもよい。この場合、計測した処理負荷を第３のテーブル４２０として記憶し、データの読み込み要求が発生した場合に、第３のテーブル４２０に記憶されている処理負荷の最大処理負荷が所定の値以下の場合に圧縮データを読み込み、所定の値以上の場合に非圧縮データを読み込む。このようにして、ゲーム状態に応じて圧縮ファイル及び非圧縮ファイルのいずれか一方を読み込むことができる。
【０１３２】
なお、本実施の形態におけるコンピュータ読み取り可能な記録媒体は、全てのデータに関して圧縮データ及び非圧縮データの２種類のデータを記録してもよく、また、一部のデータに関して圧縮データ及び非圧縮データの２種類のデータを記録してもよい。
【０１３３】
また、本実施の形態では、圧縮ファイル及び非圧縮ファイルの判断処理方法として３つの判断処理方法を用いたが、本発明は特にこれに限定されず、いずれか１つの判断処理方法を用いてもよく、さらに、いずれか２つの判断処理方法を組み合わせて用いてもよい。
【０１３４】
また、処理負荷計測部４４は、現在のゲーム状態における現処理負荷を計測し、第１のテーブル記憶部６１に記憶されている各ゲーム状態に要する処理負荷を動的に変更してもよい。この場合、各ゲーム状態に要する処理負荷がリアルタイムに更新されるため、圧縮データ及び非圧縮データの断処理をさらに正確に行うことができ、ゲームの進行処理の速度を落とさずに高速にデータを読み込むことができる。
【０１３５】
また、本発明が適用されるビデオゲームの種類は特に限定されず、コンピュータ読み取り可能な記録媒体からデータを読み込むあらゆるビデオゲームに適用することができる。
【０１３６】
【発明の効果】
請求項１に記載の本発明によれば、演算処理の処理負荷に余裕があるゲーム状態では圧縮データを選択し、処理負荷に余裕がないゲーム状態では非圧縮データを選択することで、ゲーム状態に適するデータを読み込むことができ、ゲームの進行処理の速度を落とさずに高速にデータを読み込むことができる。
【０１３７】
請求項２に記載の本発明によれば、現在実行されている第１のゲーム状態における演算処理装置の現処理負荷と、第１のゲーム状態の次に実行される第２のゲーム状態において用いられる圧縮データの展開処理にかかる演算処理装置の展開処理負荷とに基づいて圧縮データ及び非圧縮データのうちのどちらを読み込むかが判断されるため、第１のゲーム状態における処理負荷に応じて適切なデータを読み込むことができ、ゲームの進行処理の速度を落とさずに高速にデータを読み込むことができる。
【０１３８】
請求項３に記載の本発明によれば、ビデオゲームのゲーム状態ごとに各ゲーム状態に要する処理負荷をあらかじめ記憶しておくことによって、ビデオゲーム中にゲーム状態に要する処理負荷を計測する必要がなく、処理負荷を軽減することができる。
【０１３９】
請求項４に記載の本発明によれば、ゲーム状態における処理負荷をリアルタイムに計測して圧縮ファイル及び非圧縮ファイルのうちのいずれか一方を読み込むことができるので、ゲーム状態に応じた適切なデータを読み込むことができ、ゲームの進行処理の速度を落とさずに高速にデータを読み込むことができる。
【０１４０】
請求項５に記載の本発明によれば、演算処理の処理負荷に余裕があるゲーム状態では圧縮データを選択し、処理負荷に余裕がないゲーム状態では非圧縮データを選択することで、ゲーム状態に適するデータを読み込むことができ、ゲームの進行処理の速度を落とさずに高速にデータを読み込むことができる。
【０１４１】
請求項６に記載の本発明によれば、演算処理の処理負荷に余裕があるゲーム状態では圧縮データを選択し、処理負荷に余裕がないゲーム状態では非圧縮データを選択することで、ゲーム状態に適するデータを読み込むことができ、ゲームの進行処理の速度を落とさずに高速にデータを読み込むことができる。
【図面の簡単な説明】
【図１】本発明の一実施の形態のビデオゲーム装置の構成を示すブロック図である。
【図２】図１に示すビデオゲーム装置の主要機能を示すブロック図である。
【図３】図１に示すビデオゲーム装置によるデータ読込処理の一例を示すフローチャートである。
【図４】図３のステップＳ６における判断処理の一例を示すフローチャートである。
【図５】本発明の他の実施の形態におけるビデオゲーム装置の主要機能を示すブロック図である。
【図６】第１のテーブル及び第２のテーブルのデータ構造の一例を示す図である。
【図７】図１に示すビデオゲーム装置によるデータ読込処理の他の実施の形態を示すフローチャートである。
【図８】本発明のさらに他の実施の形態におけるビデオゲーム装置の主要機能を示すブロック図である。
【図９】第３のテーブルのデータ構造の一例を示す図である。
【図１０】図１に示すビデオゲーム装置によるデータ読込処理のさらに他の実施の形態を示すフローチャートである。
【符号の説明】
１  ＣＰＵ
２  バスライン
３  グラフィックスデータ生成プロセッサ
４，１３  インターフェース回路
５  メインメモリ
６  ＲＯＭ
７  伸張回路
８  パラレルポート
９  シリアルポート
１０  描画プロセッサ
１１  音声プロセッサ
１２  デコーダ
１４，１５，１６  バッファ
１７  記録媒体ドライバ
１８  メモリ
１９  コントローラ
２１  テレビジョンモニタ
３１  プログラム実行部
３２  圧縮データ記憶部
３３  非圧縮データ記憶部
３４  プログラム記憶部
３５  データ記憶部
３６  テーブルデータ記憶部
４１  データ判断部
４２  データ展開部
４３  データ読込部
４４  処理負荷計測部
６１  第１のテーブル記憶部
６２  第２のテーブル記憶部
６３  第３のテーブル記憶部
【図１】
0003566953.tif 000002
【図２】
0003566953.tif 000003
【図３】
0003566953.tif 000004
【図４】
0003566953.tif 000005
【図５】
0003566953.tif 000006
【図６】
0003566953.tif 000007
【図７】
0003566953.tif 000008
【図８】
0003566953.tif 000009
【図９】
0003566953.tif 000010
【図１０】
0003566953.tif 000011