説明

コンピュータグラフィックスにおける可変精度のデータ圧縮伸長方式および該方式を用いたゲーム機

【課題】CGポリゴンモデルのモデルデータの圧縮・伸長処理において、処理におけるデータのサイズを大幅に小さくし、データの読み込み,転送速度を速くすることにより処理速度の向上を図ることができるデータ圧縮伸長方式および該方式のゲーム機を提供する。
【解決手段】外部圧縮装置2で例えば32ビット浮動小数点方式の元データの絶対値の最大値を32ビットより小さいビットの整数値の絶対値の最大値で割って圧縮率を求める。すべての元データについて上記圧縮率で割り算を行い整数データを得、これらを圧縮データとして外部記憶装置3に格納する。データ伸長処理ではメモリ部4に圧縮データを読み込み上記圧縮とは逆の演算を行うことにより32ビット浮動少数点の元データに展開する。所定の3D描画処理が行われてモニタ9に表示される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータグラフィックスにおけるデータ圧縮伸長方式、さらに詳しくいえば、ゲーム機のCGポリゴンモデル作成に適したデータの圧縮伸長方式に関する。
【背景技術】
【0002】
ゲーム機などで用いられるCGポリゴンモデルのモデルデータは一般的に以下の構成要素が必要である。図5に三角形で示した簡単なポリゴンモデルの一例を示す。
・頂点データ(3頂点分):ポリゴン面を構成する。
・法線データ(3頂点分もしくは1頂点分):面の向きを表す。
・面のカラー(3頂点分もしくは1頂点分):面の塗りつぶす色データである。
・テクスチャデータ(3頂点分):テクスチャのどの部分を使用するかのデータである。
なお、法線データ,面のカラー,テクスチャデータは必要でない場合もあり得る。
上記データがすべて必要であって、すべてを浮動小数点形式で持った場合の1頂点あたりの使用メモリ量は、32ビット浮動小数点形式の場合(一般的な浮動小数点形式)、
(頂点(XYZ)3+法線(XYZ)3+カラー(RGB)3+テクスチャ(ST)2)×32ビット=352ビットとなる。
16ビット整数形式の場合は上記の半分になるので、176ビット(22バイト)、8ビット整数形式の場合はさらに上記の半分になるので、88ビット(11バイト)となる。
【0003】
さて、詳細なCGモデルをポリゴンモデルで作成する場合、ポリゴンデータは一般的に上記浮動小数点形式のデータ列で管理している。
この浮動小数点形式は、正数・負数を表す符号ビットと仮数部と指数部によって表されるもので、指数部により小数点位置を決定するので、小数点以下の精度を上げることが可能であり、小数点を含む数値を表すのに適している形式である。
浮動小数点形式に対して整数形式という方法がある。全ビットを整数部とし、小数部を持たない方法である。
この方法の利点は、整数だけに関していえば最も少ないサイズで大きな数字を表すことが可能であるという点にある(例えば8ビットの場合,0〜255、16ビットの場合,0〜65535まで可能である)。
浮動小数点形式の欠点は、仮数部の精度を考慮すると必要なメモリ量が多くなりがちである点が上げられる。
【0004】
特許文献1は、ポリゴンの頂点データに対する圧縮を簡易に行い、伸長処理もプロセッサに過大な負荷を与えることのないデータ圧縮・伸長方法を提案している。
これは複数のポリゴンの頂点を複数の頂点集合に分割し、頂点集合毎に基準点を決め、頂点集合毎に各頂点の位置情報として当該頂点の座標と基準点の座標との差分データを、所定のスケール値に対する大きさを示す整数値として求めるものである。したがって、圧縮データは頂点集合毎の基準点の座標データおよび差分データであり、各頂点とその基準点との距離は十分小さく各成分を整数値で表現するものであり、整数型データから浮動小数点型データへの変換とスケール値との乗算で伸長を行うものである。
この差分方式は、差分の部分で精度を上げることができるが、記述も2行となってデータ量も増加し処理も遅くなる。
【特許文献1】特開2002−8060号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
ゲーム機におけるCGポリゴンモデルのモデルデータは、上記のように高精度の処理の必要性は少なく、データの圧縮によってデータ量を減少し、データ処理速度を向上させることが求められる。上記差分方式では、高精度で圧縮,伸長処理ができるが、ゲーム機におけるCGポリゴンモデルの処理には不向きである。
本発明の目的は、CGポリゴンモデルのモデルデータの圧縮・伸長処理において、処理におけるデータのサイズを大幅に小さくし、データの読み込み,転送速度を速くすることにより処理速度の向上を図ることができるコンピュータグラフィックスにおける可変精度のデータ圧縮伸長方式を提供することにある。
本発明の他の目的は、上記圧縮伸長方式を適用し、画像表示部に表示される3D画像が圧縮前の元データに比較し無視できる品質で再生でき、メモリ部の容量の減少を図るとともにポリゴンモデル作成処理に伴う転送や処理速度の向上を図ることができるゲーム機を提供することにある。
【課題を解決するための手段】
【0006】
前記目的を達成するために本発明の請求項1は、所定のビット数で表される浮動小数点方式の元データについて絶対値の最大値を求める手段と、前記絶対値の最大値を、前記所定のビット数より小さいビット数で表される整数値の最大値で割ることにより圧縮率を求める圧縮率算出手段と、浮動小数点方式の元データのすべてを前記圧縮率で割ることにより各浮動小数点方式の元データを整数データ形式に変換する整数データ変換手段と、元データ復元のため、前記整数データと前記圧縮率を含めた圧縮データを作成する圧縮データ作成手段とを有することを特徴とする。
本発明の請求項2は、請求項1記載の発明において前記圧縮データを読み込む手段と、前記圧縮データから一頂点分の圧縮されたデータの構成要素を取り出す手段と、前記一頂点分のデータの構成要素毎に、整数値に圧縮率を掛けることによって元データに伸長し、CG表示に必要な諸計算を行い、これを繰り返すことにより圧縮データを伸長する伸長手段とを有することを特徴とする。
本発明の請求項3は、請求項1または2記載の発明において所定のビット数で表される浮動小数点方式の元データは、32ビットであり、前記所定のビット数より小さいビット数の整数値は、16ビットまたは8ビットであることを特徴とする。
本発明の請求項4は、CGポリゴンデータを記憶し、該CGポリゴンデータの3D描画処理を行うゲーム機において、前記CGポリゴンデータを前記圧縮方式で圧縮し、該圧縮データを記憶する記憶手段と、ゲーム実行に際し、前記記憶手段内の圧縮データを前記伸長方式で伸長し、描画処理して画像表示する画像処理手段とを有することを特徴とする。
【発明の効果】
【0007】
上記構成によれば、CG表示に必要な計算処理に最小限の処理を追加することにより、データのサイズを大幅に小さくできる。データサイズを小さくすることにより消費メモリを節約でき、データの読み込み、転送速度を速くすることができ、ゲーム機などにおける3D描画処理に適した圧縮・伸長処理方式を提供できる。
【発明を実施するための最良の形態】
【0008】
以下、図面を参照して本発明の実施の形態を詳しく説明する。
図1は、本発明によるコンピュータグラフィックスにおける可変精度のデータ圧縮伸長方式を説明するためのブロック図である。
外部圧縮装置2では、浮動小数点方式の元データが本発明による圧縮方式によって圧縮処理される。これによって例えば32ビット浮動小数点形式のポリゴンデータがサイズが小さい8ビット,16ビットの整数データに変換される。この整数データ(圧縮データ)は外部記憶装置3に記憶され、メインバス10を介して内部のメモリ部4に転送される。CPU1では圧縮データの展開(伸長)処理が行われ3D描画処理がされてグラフィック回路8を介してモニタ9にポリゴンデータの3D表示が行われる。
【0009】
なお、このブロックの装置がゲーム機であれば、入力装置5はプレイヤがゲーム開始,実行に際し、必要な操作を行うパットなどであり、ボタン,方向選択レバーなどで構成されている。サウンド回路6,スピーカ7は、待ち受け時の音楽や所定の指示を与える音声出力,警告音などを発する。
図2は、CPU内の処理の詳細を説明するためのブロック図である。
CPU1はメモリ部4より圧縮データ1aを読み込み、展開装置1bで圧縮処理の逆変換(伸長処理)を行って、32ビットの浮動小数点形式の元のデータ(ポリゴンデータ)1cに戻す。このポリゴンデータは3D描画装置1dによって3D描画演算処理されグラヒィック回路8で映像信号に変換されてモニタ9に3D画像が表示される。
【0010】
図3は、本発明による圧縮方式を説明するための頂点座標モデルの概略図である。
元の圧縮前のデータは32ビット浮動小数点方式で、8ビット,16ビットの整数データに変換する例である。
3つの頂点A,B,Cで表現されるモデルの各頂点は座標位置x,y,z,テクスチャ座標U,V,法線データX,Y,Z,カラーデータR,B,Gで表される。
ここで、座標位置,テクスチャ座標については16ビットを、法線データ,カラーデータについては8ビットをそれぞれ割り当てるとする。法線データ,カラーデータを16ビットよりさらに小さい8ビット表示にしたのは、描画精度,色彩の表現において、座標位置,テクスチャ座標に対して表示ビット数を小さくしても、座標位置,テクスチャー座標と同様、誤差は少なく元のデータの再現性について大きな影響を与えることが少ないからである。
【0011】
この結果、ビット数は(16×5+8×6)×3=384ビットで表現されることとなる。元のデータの32ビット浮動小数点方式は32×11×3=1056ビットであるので、384/1056=0.36(36%)までデータサイズが小さくなる。
ちなみに、ゲームのデータは0に近い場合が多い(データの分布範囲が狭い)。多くても100〜1000の単位である。したがって、このようにデータサイズを小さくしても誤差の影響は画像再現では微々たるものである。
【0012】
外部圧縮装置2において、頂点Aの座標位置データが(3.14159,4.15,0.8)である場合を例にすると、上記データの内、絶対値で最も大きいデータの探索を各データを比較することにより行う。最も大きい値は4.15である。つぎに4.15を16ビットの整数値の最も大きい数値32767で割り算を行う。16ビット整数形式で表せる数値は最大65535であり、最上位ビットを+−の符号とした場合の+最大値は32767になる。その結果、4.15/32767=0.000126651が算出される。
したがって、元データの絶対値の最大値を、元データのビット数とは少ない整数の絶対値の最大値で割ることにより、整数値1あたりの元データの割合を求めることができる。すなわち、これが圧縮率であり、圧縮,復元の際のキーデータとなる。
【0013】
上記の例は頂点Aの3つのデータから絶対値の最大値を探索する例であるが、座標位置データのすべてに対しては、座標位置データの全範囲から絶対値の最大値を求めることとなる。同様にテクスチャー座標については16ビットで、法線データ,カラーデータについては8ビットの整数値の最大値で割り算してそれぞれの圧縮率を求める。
つぎに座標位置データの他のデータを上記圧縮率(圧縮率の小数点8桁以上は切り捨てた数値)で割り、整数データ(小数点以下は切り捨てた数値)に変換する。
上記例については、
3.14159/0.0001266=24815
4.15/0.0001266=32767
0.8/0.0001266=6319
の整数値となる。
すべての座標位置データについて同様に上記圧縮率で割り算を行い整数データを得る。
なお、圧縮処理を8ビット整数形式で行う法線データ,カラーデータの場合は、8ビットの整数値の最も大きい数値は127であるので、該数値を用いることとなる。
圧縮データには各項目毎の圧縮率と全てのデータについての整数データが含まれる。
【0014】
伸長処理は展開装置1bで行われる。
画像表示のため伸長する場合、整数データ形式の圧縮データ1aをメモリ部4より読み込み、上記圧縮とは逆の演算を行う。すなわち座標位置データ,テクスチャ座標については16ビット整数データ×圧縮率を実行することにより32ビット浮動少数点の元データが復元される。法線データ,カラーデータについては8ビット整数データ×圧縮率を実行することにより32ビット浮動少数点の元データが復元される。
【0015】
以上の実施の形態は32ビット浮動小数点形式を16ビット,8ビット整数形式データに変換する例を説明したが、元データが64ビット浮動少数点の場合は、32ビット,16ビット,8ビット整数データ方式にすることも可能てある。さらに、座標位置データ,テクスチャ座標は16ビット整数形式,法線データ,カラーデータは8ビット整数形式データでする場合の例について説明したが、各項目の性格によって整数データを表すビット数をそれぞれ異なる(圧縮率が異なる)ものにしても良い。
【0016】
図4は、本発明による圧縮伸長方式をゲーム機に適用した場合の実施の形態を示すブロック図である。
待ち受け状態ではCPU20からサウンド処理部27にコマンドが送られ、スピーカ28より待ち受け用の音楽などが流れている。
コイン投入部2よりコインが投入されると、コイン関連装置23はコイン投入を検知し、これを入出力制御装置24を介してCPU20に伝達する。CPU20は、画像表示部7の待ち受け画面をゲーム開始画面に変え、ゲーム開始に伴うキャラクタなどの選択画面を表示する。プレイヤが操作部21によって、主人公キャラクタ,相手キャラクタ(格闘ゲームの場合)を選択しスタートボタンを押すと、ゲーム制御部20aはゲームを開始する。
【0017】
磁気カード15にはプレイヤのID,名前,生年月日,ゲームの登録情報などが格納されている。磁気カード15の読み書き制御はカード制御部31で行われ、磁気カード15から読み込まれた情報はCPU20に送られる。データ管理サーバ装置14の記憶部14aには、登録されたプレイヤ毎に前回以前のゲーム経過情報その他の情報が記憶されている。
プレイヤが磁気カード15を挿入すると、CPU20はプレイヤを認識し、上記選択画面で継続ゲームを選択した場合、入出力制御装置24を介してデータ管理サーバ装置14の記憶部14aより認識されたプレイヤのゲーム経過情報を読み出し、ゲーム開始画面にゲーム途中の画面を表示する。かかる場合にはキャラクタなどを選択することなくゲームが開始される。
【0018】
ROM29にはゲームプログラムとともに本発明方式のポリゴンモデルの圧縮データ(8ビット,16ビットの整数データ)が書き込まれている。
ゲーム開始にともない、データ読出部20bは圧縮データをRAM30に転送する。図1における外部記憶装置3はROM29に、メモリ部4はRAM30にそれぞれ相当するものである。展開(伸長)処理部20cはRAM30より圧縮データを読み出し、8ビット,16ビット整数データ×圧縮率を実行することにより32ビット浮動少数点の元データに展開する。3D描画処理部20dは展開された32ビット浮動少数点のポリゴンデータをジオメトリ処理およびレンダリング処理する。ジオメトリ処理は展開されたポリゴンデータの座標データを高速に処理するもので、ポリゴンデータのモデルの移動,回転等に対する処理が行われ、クリッピング,透視変換などが行われる。レンダリング処理では陰面処理およびシェーディング処理などが行われる。
【0019】
ジオメトリ処理およびレンダリング処理されたポリゴンデータは、画像処理部26で映像信号に変換されて画像表示部7に表示される。図1におけるグラフィック回路8は画像表示部26に相当するものである。。
ゲーム機内のROM29,RAM30およびCPU20の間で転送されるポリゴンデータは8ビット,16ビットの整数データでサイズが小さいため転送速度は速く、CPU20内での展開も簡単な演算なため処理速度も速い。
本発明方式の圧縮では原点座標からかなり離れたモデルデータは元データの絶対値の最大値が大きくなると精度に問題が生ずるが、ゲーム機ではもともと大きなデータ範囲はとらず、また、画面外に出たポリゴンについては描画処理を行なわないので、精度について問題が生ずることはなく、データサイズが小さく、メモリ容量を少なくでき、上述のように各回路間の転送やCPU内の転送および処理速度が速くなるという利点がある。
【産業上の利用可能性】
【0020】
CGポリゴンデータによってポリゴンモデルを作成する画像情報処理装置やゲーム機などに用いられる。
【図面の簡単な説明】
【0021】
【図1】本発明によるコンピュータグラフィックスにおける可変精度のデータ圧縮伸長方式を説明するためのブロック図である。
【図2】CPU内の処理の詳細を説明するためのブロック図である。
【図3】本発明による圧縮方式における頂点座標のモデルの概略図である。
【図4】本発明方式をゲーム機に適用した場合の実施の形態を示すブロック図である。
【図5】従来の圧縮方式を説明するための頂点モデルの概略図てある。
【符号の説明】
【0022】
1 CPU
2 外部圧縮装置
3 外部記憶装置
4 メモリ部
5 入力装置
6 サウンド
7 スピーカ
8 グラフィック回路
9 モニタ
10 メインバス
13 カード読み取り部
1a 圧縮データ
1b 展開装置(伸長装置)
1c 元データ
1d 3D描画装置
20a ゲーム制御部
20b データ読出部
20c 展開処理部
20d 3D描画部

【特許請求の範囲】
【請求項1】
所定のビット数で表される浮動小数点方式の元データについて絶対値の最大値を求める手段と、
前記絶対値の最大値を、前記所定のビット数より小さいビット数で表される整数値の最大値で割ることにより圧縮率を求める圧縮率算出手段と、
浮動小数点方式の元データのすべてを前記圧縮率で割ることにより各浮動小数点方式の元データを整数データ形式に変換する整数データ変換手段と、
元データ復元のため、前記整数データと前記圧縮率を含めた圧縮データを作成する圧縮データ作成手段と、
を有することを特徴とするコンピュータグラフィックスにおける可変精度のデータ圧縮方式。
【請求項2】
前記圧縮データを読み込む手段と、
前記圧縮データから一頂点分の圧縮されたデータの構成要素を取り出す手段と、
前記一頂点分のデータの構成要素毎に、整数データに圧縮率を掛けることによって元データに伸長し、CG表示に必要な諸計算を行い、これを繰り返すことにより圧縮データを伸長する伸長手段と、
を有することを特徴とする請求項1記載のコンピュータグラフィックスにおける可変精度のデータ伸長方式。
【請求項3】
所定のビット数で表される浮動小数点方式の元データは、32ビットであり、
前記所定のビット数より小さいビット数の整数値は、16ビットまたは8ビットであることを特徴とする請求項1または2記載のコンピュータグラフィックスにおける可変精度のデータ圧縮伸長方式。
【請求項4】
CGポリゴンデータを記憶し、該CGポリゴンデータの3D描画処理を行うゲーム機において、
前記CGポリゴンデータを前記圧縮方式で圧縮し、該圧縮データを記憶する記憶手段と、
ゲーム実行に際し、前記記憶手段内の圧縮データを前記伸長方式で伸長し、描画処理して画像表示する画像処理手段と、
を有することを特徴とするゲーム機。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2006−235858(P2006−235858A)
【公開日】平成18年9月7日(2006.9.7)
【国際特許分類】
【出願番号】特願2005−47656(P2005−47656)
【出願日】平成17年2月23日(2005.2.23)
【出願人】(306019111)株式会社タイトー (475)
【Fターム(参考)】