(57)【要約】【目的】  フレームメモリの１画素当たりのビット数を、表示される画像の画質に合わせて最適化できる画像処理装置を提供する。【構成】  フレームメモリ６３を備え、このフレームメモリ６３に書き込まれた画像データを順次読み出して、画像表示用データとする。フレームメモリ６３に書き込まれた画像データが、各画素が第１のビット数で書き込まれた画像データか、各画素が第１のビット数とは異なる第２のビット数で書き込まれた画像データかを認識する認識手段４２を備える。フレームメモリ６３から、画像データを、各画素が第１のビット数であるとして読み出す第１の画像データ読み出し手段６４と、フレームメモリ６３から、画像データを、各画素が第２のビット数であるとして読み出す第２の画像データ読み出し手段６５とを設ける。認識手段からの認識情報に基づいて、第１の画像データ読み出し手段６４と、第２の画像データ読み出し手段６５とを切り換える手段を設ける。【選択図】図１
2004170998.tif 000002
【特許請求の範囲】
【請求項１】
フレームメモリを備え、このフレームメモリに書き込まれた画像データを順次読み出して、画像表示用データとするようにする装置において、
前記フレームメモリに書き込まれた画像データが、各画素が第１のビット数で書き込まれた画像データか、各画素が前記第１のビット数とは異なる第２のビット数で書き込まれた画像データかを認識する認識手段と、
前記フレームメモリから、画像データを、各画素が前記第１のビット数であるとして読み出す第１の画像データ読み出し手段と、
前記フレームメモリから、画像データを、各画素が前記第２のビット数であるとして読み出す第２の画像データ読み出し手段と、
前記認識手段からの認識情報に基づいて、前記第１の画像データ読み出し手段と、前記第２の画像データ読み出し手段とを切り換える手段とを備えることを特徴とする画像処理装置。
【請求項２】
フレームメモリと、
前記フレームメモリ上において、描画命令にしたがって描画を行い、各画素が第１のビット数からなる描画画像データを前記フレームメモリに生成する描画手段と、
前記フレームメモリに、このフレームメモリに転送されてきた画像データを順次に書き込む画像データ書き込み手段と、
前記転送されてきた画像データが、その各画素が前記第１のビット数で構成されたものであるか、その各画素が前記第１のビット数より大きい第２のビット数で構成されたものであるかを認識する認識手段と、
前記フレームメモリから、画像データを、各画素が前記第１のビット数であるとして読み出す第１の画像データ読み出し手段と、
前記フレームメモリから、画像データを、各画素が前記第２のビット数であるとして読み出す第２の画像データ読み出し手段と、
前記認識手段からの認識情報に基づいて、前記第１の画像データ読み出し手段と、前記第２の画像データ読み出し手段とを切り換える手段とを備えることを特徴とする画像処理装置。
【請求項３】
前記フレームメモリに転送されてくるのは、動画あるいは静止画の画像データであり、当該画像データが前記第１のビット数で構成されるときに、この画像データと、前記描画画像データとの合成を行う手段を設けてなる請求項２に記載の画像処理装置。
【請求項４】
前記描画命令は、操作入力手段からの操作入力に応じたものであるゲーム機の構成とされてなる請求項２または請求項３に記載の画像処理装置。
【発明の詳細な説明】
【産業上の利用分野】
【０００１】
この発明は、表示用のフレームメモリを備える画像処理装置に関し、特に、圧縮されて伝送された画像データやコンピュータグラフィックスでの描画データにより画像を生成するビデオゲーム機やグラフィックコンピュータなど高い可視化（ビジュアライゼーション）性能が要求される場合に好適なものである。
【背景技術】
【０００２】
例えばコンピュータグラフィックスにおいて、通常、３Ｄ（３ディメンション＝３次元）グラフィックスシステムと呼ばれるものは、現実感のある物体（描画対象の物体をオブジェクトと称する）を描画するに際して、まず、オブジェクトの表面を複数のポリゴン（描画装置が扱う図形の最小単位（三角形や四角形）をポリゴンという）に分解し、各ポリゴンを、モニター表示画面に対応したフレームメモリ（フレームバッファメモリ）に、順に、描画して、フレームメモリに描画画像データを格納し、これを読み出して前記モニター表示画面に表示することで、立体的に見える画像を再構成する。
【０００３】
上記のような３Ｄグラフィックスシステムと並列に、例えば画像データがデータ圧縮されて記録さているＣＤ−ＲＯＭディスクなどの２次記憶装置と画像伸長装置を組み合わせたデジタル動画再生システムを搭載することがある。デジタル動画再生システムは、３Ｄグラフィックスシステムよりは対話性は劣るものの、３Ｄグラフィックスシステムでは表現が困難な画像も容易に再生できる利点を有するので、背景画画面に使用するなど、３Ｄグラフィックスシステムを補うものとして使用されるものである。
【０００４】
ところで、従来、この種の表示用のフレームメモリ（フレームバッファ）を備える画像処理装置では、フレームメモリに書き込まれる画像データのピクセル（画素）のビット数は、一般に固定である。例えば、ゲーム機などでは、３Ｄグラフィックスによる描画は、それほど高画質を要求しないので、３原色データＲ（赤）、Ｇ（緑）、Ｂ（青）からなる１画素当たりのビット数は、Ｒ、Ｇ、Ｂそれぞれ５ビットで、１５ビット／画素とされ、３２０００色の発色の解像度に固定されている。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
以上のように、従来は、フレームメモリの１画素当たりのビット数は固定であるため、上記のように、３Ｄグラフィックスシステムと、デジタル動画再生システムとを組み合わせたシステムにおいて、動画を再生して表示するときに、フレームメモリの容量に余裕があったとしても、１５ビット／画素とされ、３２０００色の発色の解像度しか得られなかった。
【０００６】
この動画の表示を考慮して、フレームメモリの１画素当たりのビット数を、例えばＲ、Ｇ、Ｂそれぞれ８ビットで、２４ビット／画素として、１６７０万色を表示できるように固定することが考えられるが、これではフレームメモリの表示用のメモリ領域が大きくなり、このビット数は３Ｄグラフィックスの描画画像には不要であることを考え合わせると、非効率的であった。
【０００７】
この発明は、以上の点にかんがみ、フレームメモリの１画素当たりのビット数を、表示される画像の画質に合わせて最適化することが可能な画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、この発明の画像処理装置は、後述の実施例の参照符号を対応させると、
フレームメモリ６３を備え、このフレームメモリ６３に書き込まれた画像データを順次読み出して、画像表示用データとするようにする装置において、
フレームメモリ６３に書き込まれた画像データが、各画素が第１のビット数で書き込まれた画像データか、各画素が前記第１のビット数とは異なる第２のビット数で書き込まれた画像データかを認識する認識手段６１と、
フレームメモリ６３から、画像データを、各画素が前記第１のビット数であるとして読み出す第１の画像データ読み出し手段６４と、
前記フレームメモリから、画像データを、各画素が前記第２のビット数であるとして読み出す第２の画像データ読み出し手段６５と、
前記認識手段からの認識情報に基づいて、前記第１の画像データ読み出し手段と、前記第２の画像データ読み出し手段とを切り換える切換手段ＳＷ１，ＳＷ２とを備えること
を特徴とする。
【発明の効果】
【０００９】
以上説明したように、この発明によれば、フレームメモリの１画素当たりのビット数を、表示される画像の画質に応じて最適化することができ、フレームメモリを効率的に使用できる。
【００１０】
しかも、この発明においては、フレームメモリから画像データを読み出す回路を、画質に応じたビット数／画素に応じて切り換えるようにするため、フレームメモリ自体は、ビット数の変化の影響を受けることはなく、フレームメモリとして特殊のものを使用する必要はない。
【００１１】
また、この発明をゲーム機に適用した場合には、描画命令による画像に加えて、高画質の動画や静止画が、適宜、映出されるため、より臨場感のあるゲームの画面を得ることができる。
【作用】
【００１２】
上記の構成のこの発明によれば、認識手段６１は、フレームメモリに、画像データが、第１のビット数で書き込まれたのか、第２のビット数で書き込まれたのかを認識している。
【００１３】
そして、この認識手段６１の認識情報に基づいて、フレームメモリ６３から読み出される画像データが、第１のビット数／画素のものであるときには、切換手段ＳＷ１、ＳＷ２が切り換えられて、第１の画像データ読み出し手段６４が選択され、フレームメモリ６３から画像データが読み出される。また、フレームメモリ６３から読み出される画像データが、第２のビット数／画素のものであるときには、切換手段ＳＷ１、ＳＷ２が切り換えられて、第２の画像データ読み出し手段６５が選択され、フレームメモリ６３から画像データが読み出される。
【００１４】
こうして、フレームメモリ６３に書き込み／読み出しされる画像データは、画質に合わせて最適化することができる。
【実施例】
【００１５】
以下、この発明の一実施例について図面を参照しながら説明する。図１は、この発明の一実施例の画像処理装置の構成例を示すもので、この例は３Ｄグラフィック機能と、デジタル動画再生機能とを備えるゲーム機の実施例である。
【００１６】
図１において、４１はシステムバス（メインバス）である。このシステムバス４１には、ＣＰＵ４２、メインメモリ４３、ソーティングコントローラ４５が接続されている。
【００１７】
システムバス４１には、また、画像伸長装置部５１が、入力用のＦＩＦＯバッファメモリ（以下、ＦＩＦＯバッファメモリをＦＩＦＯバッファと略称する）５４及び出力用のＦＩＦＯバッファ５５を介して接続されている。また、ＣＤ−ＲＯＭデコーダ５２がＦＩＦＯバッファ５６を介して、描画装置部６１がＦＩＦＯバッファ６２を介して、それぞれシステムバス４１に接続されている。
【００１８】
描画装置部６１には、フレームメモリ６３が接続されている。このフレームメモリ６３に、後述するようにして、描画命令により形成された描画画像のデータが書き込まれ、また、画像伸長装置部５１で伸長デコードされた画像データが書き込まれ、画像モニター装置６７に、その再生画像が表示される。
【００１９】
また、７１は操作入力手段としてのコントロールパッドで、インターフェース７２を介してシステムバス４１に接続されている。さらに、システムバス４１には、ゲーム機としての立ち上げを行うためのプログラムが格納されているブートＲＯＭ７３が接続されている。
【００２０】
ＣＰＵ４２は、装置全体の管理を行なう。この例の装置においては、フレームメモリ６３からの表示画像データを、Ｒ、Ｇ、Ｂそれぞれ５ビットの、１５ビット／画素の画像データ（以下、これを第１のビット数の画像データという）とする第１のモード（以下、これを通常モードという）と、Ｒ、Ｇ、Ｂそれぞれ８ビットの、２４ビット／画素の画像データ（以下、これを第２のビット数の画像データという）とする第２のモード（以下、これを高解像度モードという）の２つのモードを選択することができるようにされており、ＣＰＵ４２は、そのモード切り換えを行う。
【００２１】
また、このＣＰＵ４２は、物体を多数のポリゴンの集まりとして描画する場合の処理の一部を行う。すなわち、ＣＰＵ４２は、後述もするように、１画面分の描画画像を生成するための描画命令例をメインメモリ４３上に作成する。
【００２２】
また、このＣＰＵ４２は、キャッシュメモリ４６を有し、ＣＰＵインストラクションの一部は、システムバス４１からフェッチすることなく実行できる。さらに、ＣＰＵ４２には、描画命令を作成する際にポリゴンについての座標変換演算を行なうための座標演算装置部４４が、ＣＰＵ内部コプロセッサとして設けられている。座標演算装置部４４は、３次元座標変換及び３次元から表示画面上の２次元への変換の演算を行なう。
【００２３】
このように、ＣＰＵ４２は、内部に命令キャッシュ４６と座標演算装置部４４を有しているため、その処理をシステムバス４１を使用しなくても、ある程度行うことができるため、システムバス４１を開放しやすい。
【００２４】
ＣＤ−ＲＯＭデコーダ５２は、ＣＤ−ＲＯＭドライバ５３に接続されており、ＣＤ−ＲＯＭドライバ５３に装着されたＣＤ−ＲＯＭディスクに記録されているデータをデコードする。ＣＤ−ＲＯＭディスクには、アプリケーションプログラム（例えばゲームのプログラム）や、例えば離散コサイン変換（ＤＣＴ）により画像圧縮された動画や静止画の画像データ、ポリゴンを修飾するためのテクスチャー画像の画像データが記録されている。ＣＤ−ＲＯＭディスクのアプリケーションプログラムには、ポリゴン描画命令が含まれている。ＦＩＦＯバッファ５６は、ＣＤ−ＲＯＭディスクの記録データの１セクタ分の容量を有する。
【００２５】
画像伸長装置部５１は、ＣＤ−ＲＯＭディスクから再生された圧縮画像データの伸長処理を行なうもので、ハフマン符号のデコーダと、逆量子化回路と、逆離散コサイン変換回路のハードウエアを備える。ハフマン符号のデコーダの部分は、ＣＰＵ４２がソフトウエアとしてその処理を行うようにしてもよい。
【００２６】
この例においては、画像伸長装置部５１は、圧縮画像データを、１５ビット／画素の第１のビット数の画像データに伸長するデコード処理モードと、２４ビット／画素の第２のビット数の画像データに伸長するデコード処理モードとの、２つのモードにおけるデコード処理を行うことができる。ＣＰＵ４２は、モード切り換え指示を画像伸長装置部５１に対して行う。このモード切り換え指示により、通常モードのときには、画像伸長装置部５１は、圧縮画像データを、第１のビット数の画像データにデコードし、高解像度モードのときには、第２のビット数の画像データにデコードする。
【００２７】
この例の場合、画像伸長装置部５１は、後述の図７に示すように、１枚（１フレーム）の画像を、例えば１６×１６ピクセル（画素）程度の小領域（これを以下マクロブロックと称する）に分割して、このマクロブロック単位で画像伸長デコードを行う。そして、このマクロブロック単位でメインメモリ４３との間でデータ転送が行われる。したがって、ＦＩＦＯバッファ５４及び５５は、マクロブロック分の容量を備えるものとされている。
【００２８】
描画装置部６１には、ローカルバス１１を介してフレームメモリ６３が接続されている。描画装置部６１は、ＦＩＦＯバッファ６２を介してメインメモリ４３から転送されてくる描画命令を実行して、その結果をフレームメモリ６３に書き込む。この描画命令による描画の実行は、通常モードでのみ行われる。そして、描画画像データは、１５ビット／画素の第１のビット数の画像データである。なお、ＦＩＦＯバッファ６２は、１描画命令分のメモリ容量を有する。
【００２９】
フレームメモリ６３は、描画画像や動画画像を記憶して表示用とする画像メモリ領域と、テクスチャー画像を記憶するテクスチャー領域と、カラールックアップテーブル（色変換テーブルＣＬＵＴ）が格納されるテーブルメモリ領域とを備える。カラールックアップテーブルは、通常モード用と、高解像度モード用の２種が用意されるものである。通常モード用は、高解像度モード用の一部を使用することもできる。
【００３０】
図２は、フレームメモリ６３のメモリ空間を示すものである。フレームメモリ６３は、カラムとロウの２次元アドレスでアドレシングされる。この２次元アドレス空間のうち、領域ＡＴがテクスチャー領域とされる。このテクスチャー領域ＡＴには、複数種類のテクスチャーパターンを配置することができる。ＡＣは色変換テーブルＣＬＵＴのテーブルメモリ領域である。
【００３１】
後述するように、色変換テーブルＣＬＵＴのデータは、ＣＤ−ＲＯＭディスクからＣＤ−ＲＯＭデコーダ５２を通じて、ソーティングコントローラ４５により、フレームメモリ６３に転送される。ＣＤ−ＲＯＭディスクのテクスチャー画像のデータは、画像伸長装置部５１によりデータ伸長され、メインメモリ４３を介してフレームメモリ６３に転送される。
【００３２】
また、図２において、ＡＤは画像メモリ領域であり、描画するエリアと、表示するエリアの２面分のフレームバッファ領域を備えている。この例では、現在表示用として用いているフレームバッファ領域を表示バッファ、描画を行っているフレームバッファ領域を描画バッファと呼ぶこととする。この場合、一方を描画バッファとして描画を行っている間は、他方は表示バッファとして用い、描画が終了したら、両バッファを互いに切り換える。この描画バッファと表示バッファの切り換えは、描画終了時に、垂直同期に合わせて行う。
【００３３】
この例においては、フレームメモリ６３の表示バッファから読み出しのために、２つの読み出し回路（アンパック回路）が用意される。すなわち、アンパック回路６４は、通常モード用の読み出し回路であって、１５ビット／１画素（２バイト／１画素と考えることもできる）として、画像データを、１５ビット毎にフレームメモリ６３の表示バッファから読み出す。また、アンパック回路６５は、高解像度モード用の読み出し回路であって、２４ビット／１画素（３バイト／１画素）として、画像データを、２４ビット毎にフレームメモリ６３の表示バッファから読み出す。
【００３４】
これらアンパック回路６４及び６５は、スイッチＳＷ１及びＳＷ２により切り換えられる。このスイッチＳＷ１及びＳＷ２は、説明のためのものであって、実際的には、これらアンパック回路６４及び６５の動作オン／オフが切り換え制御信号より切り換えられる。
【００３５】
これらアンパック回路６４及び６５の切り換えは、描画装置部６１からの切り換え制御信号より行われる。描画装置部６１には、ＣＰＵ４２からモード切り換え指示が与えられるので、描画装置部６１は、これに基づいてスイッチＳＷ１，ＳＷ２の切り換え制御信号を形成する。ＣＰＵ４２からのモード切り換え指示は、フレームメモリ６３の画像メモリ領域ＡＤの表示バッファ領域と描画バッファ領域との切り換え時に与えられる。フレームメモリ６３への画像データの書き込み時には、現在書き込んでいるのは、第１のビット数の画像データか、第２の画像データかをＣＰＵ４２が認識しており、描画装置部６１は、単に、転送されてきた画像データをフレームメモリ６３の描画バッファに順次に書き込むだけでよい。
【００３６】
以上のようにして、アンパック回路６４あるいはアンパック回路６５により読み出された画像データは、Ｄ／Ａコンバータ６６によりアナログ画像信号に変換され、画像モニター装置６７に出力され、その画面に表示される。なお、Ｄ／Ａコンバータ６６は、モード切り換えに応じて、入力画像データＲ，Ｇ，Ｂのビット数が変わるので、それに応じた切り換え処理が行われるものである。
【００３７】
ソーティングコントローラ４５は、いわゆるＤＭＡコントローラと同様の機能を備え、メインメモリ４３と画像伸長装置部５１との間での画像データの転送を行ったり、メインメモリ４３から描画装置部６１に描画命令列を転送したりするもので、転送装置部を構成している。このソーティングコントローラ４５は、ＣＰＵ４２やコントロールパッド７１などの他の装置がシステムバス４１を開放している間隙をぬって、ＣＰＵ４２の介在なしに前記の転送処理を行う。この場合、ＣＰＵ４２がシステムバス４１の開放をソーティングコントローラ４５に知らせるようにすることもできるし、ソーティングコントローラ４５が強制的にＣＰＵ４２にバスの開放を要求するようにすることもできる。
【００３８】
メインメモリ４３は、動画や静止画の画像データに対しては、圧縮された画像データのメモリ領域と、伸長デコード処理された伸長画像データのメモリ領域とを備えている。また、メインメモリ４３は、描画命令列などのグラフィックスデータのメモリ領域（これを以下パケットバッファという）を備える。
【００３９】
このパケットバッファは、ＣＰＵ４２による描画命令列の設定と、描画命令列の描画装置部６１への転送とに使用され、ＣＰＵ４２と、描画装置部６１とが共有することになる。ＣＰＵ４２と、描画装置部６１とで処理を並列に動作するようにするため、この例では、描画命令列の設定用のパケットバッファ（以下、これを設定パケットバッファという）と、転送用のパケットバッファ（以下、これを実行パケットバッファという）との２つのパケットバッファが用意されており、一方を設定パケットバッファとしているときには、他方は実行パケットバッファとして使用し、実行パケットバッファで実行が終了したら、２つのパケットバッファの機能を交換するようにしている。
【００４０】
この装置の処理について以下に説明する。
【００４１】
［ＣＤ−ＲＯＭディスクからのデータの取り込み］
図１の例の装置（ゲーム機）に電源が投入され、ＣＤ−ＲＯＭディスクが装填されると、ブートＲＯＭ７３のゲームを実行するためのいわゆる初期化処理をするためのプログラムがＣＰＵ４２により実行される。そして、ＣＤ−ＲＯＭディスクの記録データが取り込まれる。このとき、ＣＤ−ＲＯＭディスクの各セクタのユーザーデータ中の識別用情報ＩＤに基づいて各ユーザーデータのデコード処理がなされ、データのチェックが行われる。このチェック結果により、ＣＰＵ４２は、各ＩＤで示される内容の再生データに応じた処理を実行する。
【００４２】
すなわち、ＣＤ−ＲＯＭディスクから、圧縮画像データ、描画命令及びＣＰＵ４２が実行するプログラムが、ＣＤ−ＲＯＭドライバ５３、ＣＤ−ＲＯＭデコーダ５２を介して読み出され、ソーティングコントローラ４５によってメインメモリ４３にロードされる。そして、ロードされたデータのうち、色変換テーブルの情報は、フレームメモリ６３の領域ＣＬＵＴに転送される。
【００４３】
［描画命令列についての処理と転送］
物体の面を構成するポリゴンは、３次元的な奥行きの情報であるＺデータに従って奥行き方向の深い位置にあるポリゴンから順に描画することにより、２次元画像表示面に立体的に画像を表示することができる。ＣＰＵ４２は、このように奥行き方向の深い位置にあるポリゴンから順に、描画装置部６１で描画が行われるようにするための描画命令列をメインメモリ４３上に作成する。
【００４４】
ところで、コンピュータグラフィックスでは、Ｚデータを各ピクセル毎にメモリに記憶しておいてポリゴンの表示優先順位を決定するようにする、いわゆるＺバッファ法を用いている。しかし、このＺバッファ法では、Ｚデータを記憶するために大容量メモリを使用しなければならない。そこで、この例では、次のようにしてポリゴンの表示優先順位を決定する処理をＣＰＵ４２が行うようにする。
【００４５】
このため、この例では、ポリゴン描画命令ＩＰは、図３Ａに示すような構造となっている。すなわち、ポリゴン描画命令ＩＰは、ポリゴン描画データＰＤの前に、ヘッダを備えており、このヘッダ部分は、タグＴＧとコマンド識別コードＣＯＤＥとを備えている。
【００４６】
タグＴＧには、次の描画命令が格納されているメインメモリ４３上のアドレスが書き込まれる。コマンド識別コードＣＯＤＥには、その描画命令がどのような内容のものであるかを示す識別データＩＤＰと、その描画命令にとって必要な他の情報を含む。ポリゴン描画データＰＤは、ポリゴンの頂点座標などのデータからなる。描画命令ＩＰが、例えば四角形ポリゴンの描画命令であって、そのポリゴンの中を１色でマッピングする場合には、識別データＩＤＰは、それを示すものとなっており、必要な他の情報としては、マッピングする色データが記述される。
【００４７】
図３Ｂは、この四角形ポリゴンの描画命令の場合で、ポリゴン描画データＰＤに、４点の座標（Ｘ０，Ｙ０），（Ｘ１，Ｙ１），（Ｘ２，Ｙ２），（Ｘ３，Ｙ３）が記述されており、コマンド識別コードＣＯＤＥに、そのポリゴンの中を１色でマッピングするための３原色の色データ（Ｒ，Ｇ，Ｂ）を含んでいる。
【００４８】
ＣＰＵ４２は、コントロールパッド７１からのユーザーの操作入力に基づいて、物体や視点の動きを計算し、メインメモリ４３上にポリゴン描画命令列を作成する。ついで、Ｚデータによって、ポリゴン描画命令列のタグを、表示順序の通りに書き換える。このとき、メインメモリ４３上の各描画命令のアドレスは、変更せずに、タグのみを書き換える。
【００４９】
この描画命令列が完成すると、ソーティングコントローラ４５は、各描画命令のタグＴＧを順番にたどって、１描画命令毎に、メインメモリ４３から描画装置部６１に転送する。このため、ＦＩＦＯバッファ６２は、１描画命令分の容量を備えていればよい。
【００５０】
描画装置部６１では、送られてきたデータが、既にソートされた状態にあるので、図４に示すようにして、ポリゴン描画命令ＩＰ１，ＩＰ２，ＩＰ３，…，ＩＰｎを、そのタグＴＧ１，ＴＧ２，ＴＧ３，…，ＴＧｎに従って順次実行してフレームメモリ６３の画像メモリ領域ＡＤに結果を格納する。
【００５１】
このポリゴン描画の際、データは、描画装置部６１の勾配計算ユニットに送られ、勾配計算が行なわれる。勾配計算は、ポリゴン描画で多角形の内側をマッピングデータで埋めていく際、マッピングデータの平面の傾きを求める計算である。テクスチャーの場合はテクスチャー画像データでポリゴンが埋められ、また、グーローシェーディングの場合は輝度値でポリゴンが埋められる。
【００５２】
物体の表面を構成するポリゴンにテクスチャーを貼り付ける場合には、テクスチャー領域ＡＴのテクスチャーデータが２次元写像変換される。例えば、図５Ａに示すようなテクスチャーパターンＴ１，Ｔ２，Ｔ３は、図５Ｂに示すような物体の各面のポリゴンに適合するように、２次元スクリーン上の座標に変換される。このように写像変換されたテクスチャーパターンＴ１，Ｔ２，Ｔ３が図５Ｃに示すように、物体ＯＢ１の表面に貼り付けられる。そして、これが、画像メモリ領域ＡＤに配置され、画像表示モニター６５の表示画面上に表示される。
【００５３】
静止画テクスチャーの場合には、メインメモリ４３上のテクスチャーパターンが、描画装置部６１を介して、フレームメモリ６３上のテクスチャー領域ＡＴに転送される。描画装置部６１は、これをポリゴンに貼り付ける。これにより、物体に静止画のテクスチャーが実現される。この静止画のテクスチャーパターンのデータは、ＣＤ−ＲＯＭディスクに記録しておくことができる。
【００５４】
さらに、動画のテクスチャーが可能である。動画テクスチャーの場合には、後述するように、画像伸長装置部５１で伸長デコードされた動画データはフレームメモリ６３上のテクスチャー領域ＡＴに送られる。テクスチャー領域ＡＴは、フレームメモリ６３内に設けられているので、テクスチャーパターン自身も、フレーム毎に書き換えることが可能である。このように、テクスチャー領域ＡＴに動画を送ると、テクスチャーが１フレーム毎に動的に書き換えられて変化する。このテクスチャー領域ＡＴの動画により、ポリゴンへのテクスチャーマッピングを行えば、動画のテクスチャーが実現される。
【００５５】
［圧縮画像データの伸長及び転送］
メインメモリ４３の入力データのうち、圧縮画像データは、ＣＰＵ４２がハフマン符号のデコード処理を行った後、再びＣＰＵ４２によりメインメモリ４３に書き込まれる。そして、ソーティングコントローラ４５は、このハフマン符号のデコード処理後の画像データをメインメモリ４３からＦＩＦＯバッファ５４を介して画像伸長装置部５１に転送する。これに先立ち、ＣＰＵ４２から画像伸長装置部５１には、通常モードでのデコードを行うか、高解像度モードでのデコードを行うかの指示が与えられる。画像伸長装置部５１は、逆量子化の処理と、逆ＤＣＴの処理を行って、ＣＰＵ４２からの指示にしたがったモードで画像データの伸長デコード処理を行う。
【００５６】
伸長された画像データは、ソーティングコントローラ４５が、ＦＩＦＯバッファ５５を介してメインメモリ４３に転送する。この場合、画像伸長装置部５１は、前述したように、マクロブロック単位で画像データの伸長処理を行う。このため、メインメモリ４３からは前記マクロブロック単位の圧縮データが入力用ＦＩＦＯバッファ５４に、ソーティングコントローラ４５により転送される。そして、画像伸長装置部５１は、１マクロブロックの伸長デコード処理が終了すると、その結果の伸長画像データを出力用ＦＩＦＯバッファ５５に入れると共に、入力用ＦＩＦＯバッファ５４から次のマクロブロックの圧縮データを取り出して、伸長デコード処理を行う。
【００５７】
ソーティングコントローラ４５は、システムバス４１が開放されていて、かつ、画像伸長装置部５１の出力用ＦＩＦＯバッファ５５が空でなければ、１マクロブロックの伸長画像データをメインメモリ４３に転送し、次の１マクロブロックの圧縮画像データをメインメモリ４３から画像伸長装置部５１の入力用ＦＩＦＯバッファ５４に転送する。
【００５８】
ＣＰＵ４２は、伸長された画像データのマクロブロックが一定量、メインメモリ４３に蓄積された時点で、当該伸長データを描画装置部６１を介してフレームメモリ６３に転送する。この際に、伸長画像データがフレームメモリ６３の画像メモリ領域ＡＤに転送されれば、そのまま背景動画像として画像モニター装置６５で表示されることになる。また、フレームメモリ６３のテクスチャー領域ＡＴに転送される場合もある。このテクスチャー領域ＡＴの画像データは、テクスチャー画像として、ポリゴンの修飾に使用される。
【００５９】
この場合に、背景動画像に描画画像が合成されるときには、その背景動画像の画像データは、通常モードの第１のビット数の画像データとして伸長デコードされ、フレームメモリ６３に転送される。また、伸長された画像データがテクスチャー領域ＡＴに転送される場合も同様に、通常モードの第１のビット数の画像データとして伸長デコードされる。描画画像のデータは第１のビット数で形成されるからである。そして、描画画像と合成されない背景画の場合には、高解像度の第２のビット数の画像データとして伸長デコードされる。
【００６０】
なお、画像伸長装置部５１で伸長デコードされた画像データを、メインメモリ４３からフレームメモリ６３に転送する場合には、この例においては、以下に示すような転送命令を使用する。このように、伸長画像データを転送命令形式に変換するのは、ＣＰＵ４２で行う。
【００６１】
すなわち、図６は、この転送命令の構造を示す図である。この転送命令は、描画命令とほぼ同様の形式を有するもので、先頭にタグＴＧを備え、その次に識別データＩＤＰを備える。タグＴＧは、描画命令と同様に、次の描画命令あるいは転送命令が格納されているメインメモリ４３のアドレス値からなる。識別データＩＤＰには、これが伸長画像データの転送命令であること示すデータが記述される。
【００６２】
そして、図６において、次のデータ「Ｈ」と「Ｗ」は、転送する伸長データ領域の高さ及び幅を示すものである。この転送領域の高さ及び幅は、１フレーム分の画面における領域に対応している。また、データ「Ｘ」と「Ｙ」は、転送先の座標を示している。この座標は、転送領域が矩形であるので、その矩形領域の左上の座標を示している。そして、この座標は、転送先がフレームメモリ６３の画像メモリ領域ＡＤ内であれば、その領域ＡＤ内の座標であり、テクスチャー領域ＡＴ内であれば、その領域ＡＴ内の座標である。
【００６３】
この伸長画像データの転送命令の場合、以上のタグＴＧから座標「Ｘ」、「Ｙ」まではヘッダであり、識別データＩＤＰからヘッダの大きさが識別される。識別データＩＤＰから座標「Ｘ」、「Ｙ」までは、図３の描画命令のコマンド識別コードＣＯＤＥに対応する。
【００６４】
このヘッダに続いて伸長画像データの画素データＰＩＸ０、ＰＩＸ１、ＰＩＸ２、…、ＰＩＸｎが、この転送命令に含まれる。前述したように、各画素データは、通常モードでは１５ビットであり、高解像度モードでは２４ビットである。そして、この転送命令の単位で、ソーティングコントローラ４５により、メインメモリ４３から描画装置部６１を介してフレームメモリ６３に伸長画像データが転送される。
【００６５】
ところで、上述したように、画像伸長装置部５１は、１フレームの画像を横×縦＝１６×１６画素からなるマクロブロックに分割してマクロブロック単位で伸長デコードを行っている。今、例えば、１フレームが横×縦＝３２０×２４０の画素からなる画像を想定した場合、図７に示すように、１フレームは、３００個のマクロブロックに分けられる。
【００６６】
この３００個のマクロブロックを描画装置部６１に転送するに当たって、マクロブロック単位で転送命令を作成した場合には、ヘッダ部分のオーバーヘッドが大き過ぎるものとなる。そこで、この例では、図８に示すように、縦方向の１列の複数個（図８では１５個）のマクロブロックを繋げて、これを転送命令で送る単位とするようにしている。
【００６７】
１フレームの最初の転送命令の例を図９に示す。すなわち、図９では、座標「Ｘ」「Ｙ」が「０」「０」となっている。次の転送命令では、その座標「Ｘ」「Ｙ」が「１６」「０」となる。
【００６８】
このように、伸長画像データも、描画命令と同様の形式の転送命令形式に変換したので、タグＴＧを利用することにより、ポリゴンの描画命令と、転送命令とを混在させてソーティングコントローラ４５による転送ならびに、描画装置部６１によるフレームメモリ６３での画像の描画、生成を実行することができる。
【００６９】
［フレームメモリ６３からの画像データ読み出し処理の説明］
まず、ＣＰＵ４２は、フレームメモリ６３の画像メモリ領域ＡＤの一方のフレームバッファ領域Ａ（表示バッファとなっている）の画像データを画像モニター装置６７に出力するように描画装置部６１に対して命令を出す。このとき、通常モードか、高解像度モードかを指示するモード切り換え制御信号も、ＣＰＵ４２は、描画装置部６１に送る。
【００７０】
通常モードが指定されたときは、描画装置部６１は、スイッチＳＷ１及びＳＷ２をＮ側に切り換え、アンパック回路６４を選択する。このとき、フレームメモリ６３の画像メモリ領域ＡＤの表示バッファには、図１０Ａで楕円で囲んで示すように、画素データＰＩＸのそれぞれは１５ビット（２バイト）毎に書き込まれた状態となっている。
【００７１】
アンパック回路６４は、前述したように、フレームメモリ６３の画像メモリ領域ＡＤの表示バッファから１５ビット（２バイト）毎に画像データを読み出し、読み出した画像データをＤ／Ａコンバータ６６に順次転送してアナログ画像信号に変換する。これにより、画像モニター装置６７の画面には、その再生画像が映出される。この例の場合、この通常モードで表示されるのは、(1)描画画像のみ、(2)描画されたポリゴンにテクスチャー画像が張り付けられた合成画像、(3)伸長デコードにより得られた１５ビット／画素の動画または静止画からなる背景画中に多数のポリゴンとして描画された描画画像が合成されたもの、(4)伸長デコードにより得られた１５ビット／画素の動画または静止画のみ、などである。
【００７２】
高解像度モードが指定されたときは、描画装置部６１は、スイッチＳＷ１及びＳＷ２をＨ側に切り換え、アンパック回路６５を選択する。このとき、フレームメモリ６３の画像メモリ領域ＡＤの表示バッファには、図１０Ｂで楕円で囲んで示すように、画素データＰＩＸのそれぞれは２４ビット（３バイト）毎に書き込まれた状態となっている。
【００７３】
アンパック回路６５は、フレームメモリ６３の画像メモリ領域ＡＤの表示バッファから２４ビット（３バイト）毎に画像データを読み出し、読み出した画像データをＤ／Ａコンバータ６６に順次転送してアナログ画像信号に変換する。これにより、画像モニター装置６７の画面には、その再生画像が映出される。この例の場合、この高解像度モードで表示されるのは、伸長デコードにより得られた２４ビット／画素の動画または静止画である。
【００７４】
この一方のフレームバッファＡの画像データの読み出しの間に、ＣＰＵ４２は、次に描画装置部６１に転送するデータをメインメモリ４３において生成する。描画命令列の生成の場合には、コントロールパッド７１の操作入力を読み込み、この操作入力に応じて、メインメモリ４３の一方のパケットバッファ（設定パケットバッファとなっている）の描画命令列の座標値を更新すると共に、描画命令列の各描画命令のタグを書き換える。伸長画像データの場合には、前述したような転送命令形式のデータに変換する。１５ビット／画素の伸長画像データか、２４ビット／画素の伸長画像データかは、ＣＰＵ４２が認識している。
【００７５】
そして、ＣＰＵ４２による描画命令生成処理あるいは伸長画像データの転送命令形式への変更処理の間隙をぬって、ソーティングコントローラ４５により、他方のフレームバッファ領域Ｂ（描画バッファとなっている）には、メインメモリ４３から描画命令列あるいは伸長画像データが転送される。このとき転送されるデータが描画命令列か、１５ビット／画素の伸長画像データか、２４ビット／画素の伸長画像データかは、ＣＰＵ４２が認識していることになる。
【００７６】
次に、メインメモリ４３からの描画命令列や転送命令列がすべて描画装置部６１に転送されたとき、ＣＰＵ４２は、フレームメモリ６３の他方のフレームバッファ領域Ｂを表示バッファとして、これより描画画像データや伸長画像データを読み出して、画像モニター装置６５に出力するように、描画装置部６１に対して命令を出す。このとき、前述と同様に、通常モードか、高解像度モードかを指示するモード切り換え制御信号も、ＣＰＵ４２は、描画装置部６１に送るので、描画装置部６１は、前述と同様にして、スイッチＳＷ１及びＳＷ２の切り換えを行い、通常モードと高解像度モードに応じた読み出し処理を行う。なお、このとき、同時に、フレームメモリ６３のフレームバッファ領域Ａは描画バッファに切り換えられる。
【００７７】
そして、他方のフレームバッファ領域Ｂを表示バッファ領域として画像データを読み出している間に、前述したようにして、ＣＰＵ４２は、次に描画装置部６１に転送するデータをメインメモリ４３において生成する。そして、ＣＰＵ４２による描画命令生成処理あるいは伸長画像データの転送命令形式への変更処理の間隙をぬって、ソーティングコントローラ４５により、一方のフレームバッファ領域Ａ（描画バッファとなっている）には、メインメモリ４３から描画命令列あるいは伸長画像データが転送される。
【００７８】
以上の動作を繰り返し行うことにより、動きのある画像が表示できる。しかも、通常モードと高解像度モードとに応じてアンパック回路６４、６５を切り換えて、フレームメモリ６３に書き込まれている画像データの画質に応じた読み出し処理が行われるものである。
【００７９】
なお、以上の説明では、１画素当たりのビット数が２通りの場合を例にとったが、３通り以上の場合であっても、同様にこの発明を適用できることはいうまでもない。
【００８０】
また、以上の例では、ＣＤ−ＲＯＭディスクに画像データやアプリケーションプログラムを記録したが、記録媒体としては、例えば磁気ディスク、メモリカードのような半導体メモリなどの他の記録媒体を使用することもできる。
【００８１】
また、画像のデータ圧縮方法としては、ＤＣＴを使用したが、その他、種々の画像データ圧縮方法を使用することができる。
【図面の簡単な説明】
【００８２】
【図１】この発明による画像処理装置の一実施例のブロック図である。
【図２】この発明の一実施例におけるメモリ領域の説明のための図である。
【図３】この発明の一実施例におけるポリゴン描画命令の例を示す図である。
【図４】この発明の一実施例におけるポリゴンの描画表示順序を説明するための図である。
【図５】テクスチャーマッピングの説明のための図である。
【図６】この発明の一実施例における画像データの転送時のデータ構造の例を説明するための図である。
【図７】１フレームの画像の例を示す図である。
【図８】この発明の一実施例における画像データの転送単位を説明するための図である。
【図９】この発明の一実施例における画像データの転送時のデータ構造の例を示す図である。
【図１０】この発明の一実施例における１画素当たりのビット数の複数の例を説明するための図である。
【符号の説明】
【００８３】
４１      システムバス
４２      ＣＰＵ
４３      メインメモリ
４４      座標演算装置部
４５      ソーティングコントローラ
４６      キャッシュメモリ
５１      画像伸長装置部
５２      ＣＤ−ＲＯＭデコーダ
５３      ＣＤ−ＲＯＭドライバ
５４、５５  ＦＩＦＯバッファ
６１      描画装置部
６２      ＦＩＦＯバッファ
６３      フレームメモリ
６５      画像表示モニター装置
７１      コントロールパッド
ＡＤ      画像メモリ領域
ＡＴ      テクスチャー領域
ＰＩＸ    画素
【図１】
2004170998.tif 000003
【図２】
2004170998.tif 000004
【図３】
2004170998.tif 000005
【図４】
2004170998.tif 000006
【図５】
2004170998.tif 000007
【図６】
2004170998.tif 000008
【図７】
2004170998.tif 000009
【図８】
2004170998.tif 000010
【図９】
2004170998.tif 000011
【図１０】
2004170998.tif 000012
【手続補正書】
【提出日】平成15年12月15日(2003.12.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
フレームメモリと、
前記フレームメモリに画像データを書き込む描画処理手段と、
前記フレームメモリに書き込まれた画像データを、各画素が第１のビット数であるとして読み出す第１の画像データ読み出し手段と、
前記フレームメモリに書き込まれた画像データを、各画素が第２のビット数であるとして読み出す第２の画像データ読み出し手段と、
前記フレームメモリから前記画像データの読み出しを行う読み出し手段を、前記第１の画像データ読み出し手段および前記第２の画像データ読み出し手段のいずれか一方から他方へ、前記描画処理手段からの切り換え指示に基づいて切り換える第１の切り換え手段と、を備える画像処理装置。
【請求項２】
前記フレームメモリから読み出された画像データをアナログ画像信号に変換するＤ／Ａ変換器と、
前記Ｄ／Ａ変換器に対するデータの供給元を、前記第１の画像データ読み出し手段および前記第２の画像データ読み出し手段のいずれか一方から他方へ、前記切り換え指示に基づいて切り換える第２の切り換え手段と、をさらに備える請求項１記載の画像処理装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
上記課題を解決するため、この発明の画像処理装置は、フレームメモリと、前記フレームメモリに画像データを書き込む描画処理手段と、前記フレームメモリに書き込まれた画像データを、各画素が第１のビット数であるとして読み出す第１の画像データ読み出し手段と、前記フレームメモリに書き込まれた画像データを、各画素が第２のビット数であるとして読み出す第２の画像データ読み出し手段と、前記フレームメモリから前記画像データの読み出しを行う読み出し手段を、前記第１の画像データ読み出し手段および前記第２の画像データ読み出し手段のいずれか一方から他方へ、前記描画処理手段からの切り換え指示に基づいて切り換える第１の切り換え手段と、を備える。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
好適な実施形態では、前記フレームメモリから読み出された画像データをアナログ画像信号に変換するＤ／Ａ変換器と、前記Ｄ／Ａ変換器に対するデータの供給元を、前記第１の画像データ読み出し手段および前記第２の画像データ読み出し手段のいずれか一方から他方へ、前記切り換え指示に基づいて切り換える第２の切り換え手段と、をさらに備えてもよい。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】削除
【補正の内容】
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】削除
【補正の内容】