(57)【要約】【課題】  ラインバッファ方式により複数のスプライトを描画する方法において、スプライトの表示優先順位を容易に変更できるようにする。【解決手段】  描画順位制御１０１は、ＳＡＴ（スプライト属性テーブル）１００に格納されたスプライトを、ＳＡＴ１００に格納された順に読み出して、スプライトの画像データをラインバッファ１０２に書き込むとともに、読み出したスプライト表示優先順位（DEPTH）をデプスバッファ１０３に書き込む。そして、描画順位制御１０１は、ＳＡＴ１００から読み出したスプライトの表示優先順位とデプスバッファ１０３に格納された表示優先順位とを比較し、表示優先順位がより高いスプライトを読み出した場合にのみ、ラインバッファ１０２の画像データを上書きする。【選択図】  図４
2005293024.tif 000002
【特許請求の範囲】
【請求項１】
複数のスプライト画像について、属性情報と表示優先順位とを格納するスプライト属性テーブルと、
表示画面に表示される画像データが書き込まれるラインバッファと、
前記ラインバッファに書き込まれた画像データの表示優先順位を格納する優先順位メモリと、
前記スプライト属性テーブルに格納された属性情報に従って前記スプライト画像の画像データを前記ラインバッファに書き込む描画手段と、を有し、
前記描画手段は、前記優先順位メモリに格納された表示優先順位に基づいて、前記ラインバッファに新たなスプライト画像の画像データを書き込むことにより、前記ラインバッファを更新すること、
を特徴とする画像処理装置。
【請求項２】
前記描画手段は、前記ラインバッファに画像データが書き込まれた状態において、前記ラインバッファに新たなスプライト画像の画像データを書き込んで前記ラインバッファを更新する場合に、前記優先順位メモリに格納された表示優先順位と、前記新たなスプライト画像の表示優先順位とを比較し、前記新たなスプライト画像の表示優先順位が前記優先順位メモリに格納された表示優先順位よりも優先されるべき順位であった場合にのみ、前記新たなスプライト画像の画像データを前記ラインバッファに書き込むことを特徴とする請求項１記載の画像処理装置。
【請求項３】
１または複数の背景画像について、属性情報と表示優先順位とを格納する背景画像属性テーブルを有し、
前記描画手段は、前記スプライト属性テーブルに格納された属性情報に従って前記スプライト画像の画像データを前記ラインバッファに書き込む処理、または、前記背景画像属性テーブルに格納された属性情報に従って前記背景画像の画像データを前記ラインバッファに書き込む処理を実行し、さらに、前記優先順位メモリに格納された表示優先順位に基づいて、前記ラインバッファに新たなスプライト画像の画像データまたは新たな背景画像の画像データを書き込むことにより、前記ラインバッファを更新する処理を実行するものであること、
を特徴とする請求項１または２記載の画像処理装置。
【請求項４】
複数のスプライト画像について、属性情報と表示優先順位とを格納するスプライト属性テーブルと、表示画面に表示される画像データが書き込まれるラインバッファと、前記ラインバッファに書き込まれた画像データの表示優先順位を格納する優先順位メモリと、を備えた画像処理装置において、
前記スプライト属性テーブルに格納された属性情報に従って前記スプライト画像の画像データを前記ラインバッファに書き込む処理と、
前記優先順位メモリに格納された表示優先順位に基づいて、前記ラインバッファに新たなスプライト画像の画像データを書き込むことにより、前記ラインバッファに前記新たなスプライト画像の画像データを書き込んで前記ラインバッファを更新する処理とを行うこと、
を特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示画面上に表示される２Ｄ画像を描画する画像処理装置、及び、画像処理方法に関する。
【背景技術】
【０００２】
背景とスプライト（キャラクタ）とを用いて表示画面上に２Ｄ（２次元）画像を表示する場合、スプライトが重なり合う位置において、どのスプライトを前側に描画するのかを決定するため、各スプライトには表示優先順位が設定されている。スプライトの表示優先順位は、通常、ＳＡＴ（Sprite Attribute Table：スプライト属性テーブル）と呼ばれるテーブルに格納される。
【０００３】
図５は、従来のスプライト描画方法の典型例について、表示優先順位に係る処理を模式的に示す図である。図５に示す例では、４つのスプライト（Sprite A、Sprite B、Sprite C、及びSprite D）を描画する。
図５（ａ）では、各スプライトの属性情報を格納するＳＡＴ１２１には、Sprite AがＳＡＴ０として格納され、Sprite BがＳＡＴ１として格納され、Sprite CがＳＡＴ２として格納され、Sprite DがＳＡＴ３として格納される。
【０００４】
これら４つのスプライトを描画する処理においては、ＳＡＴ１２１に格納された順に、Sprite A、Sprite B、Sprite C、及びSprite Dの各スプライトの画像データが読み出され、ラインバッファ１２２に書き込まれる。具体的には、まず、ＳＡＴ０としてＳＡＴ１２１に格納されたSprite Aの画像データがラインバッファ１２２に書き込まれ、次に、ＳＡＴ１として格納されたSprite Bの画像データがラインバッファ１２２に上書きされる。以下同様に、ＳＡＴ２として格納されたSprite C、ＳＡＴ３として格納されたSprite Dの画像データが、順次、ラインバッファ１２２に上書きされる。
【０００５】
このようにして、ＳＡＴ１２１に格納された全てのスプライトの画像データがラインバッファ１２２に書き込まれると、複数のスプライトが重なるピクセルにおいては、ＳＡＴ１２１において下側に格納されたスプライトの画像データが書き込まれている。
つまり、ＳＡＴ１２１において下側に格納されたスプライトの方が、より表示優先順位が高いことになる。そして、表示画面１２３には、ＳＡＴ１２１に格納された順序に従って、奥側からSprite A、Sprite B、Sprite C、Sprite Dの順に表示される。
【０００６】
ここで、表示画面１２３に表示される４つのスプライトの表示順を変更し、図５（ｂ）の表示画面１２３に示すように、奥側からSprite D、Sprite C、Sprite B、Sprite Aの順に表示する場合を考える。
【０００７】
ＳＡＴ１２１に格納されたスプライトの表示優先順位は、ＳＡＴ１２１に格納された順序に従うので、この場合、ＳＡＴ１２１に、ＳＡＴ０としてSprite Dを格納し、ＳＡＴ１としてSprite Cを格納し、ＳＡＴ２としてSprite Bを格納し、ＳＡＴ３としてSprite Aを格納することになる。つまり、表示画面１２３におけるスプライトの表示優先順位を、図５（ａ）に示す状態から図５（ｂ）に示す状態に変更したい場合は、ＳＡＴ１２１における各スプライトの順序を逆にする必要がある。
【０００８】
このように、従来のスプライト画像描画方法においては、スプライトの表示優先順位を変更するために、ＳＡＴ全体を書き換えるという負荷の大きな処理を行う必要があった。
【０００９】
そこで、スプライトの表示優先順位に係る処理を、さらに効率よく行うための提案がなされてきた（例えば、特許文献１参照。）。
【特許文献１】特開平１０−２５４４３０号公報
【００１０】
特許文献１に開示されたスプライト画像表示制御装置は、ＳＡＴをいったんＲＡＭに読み出し、ＲＡＭ上において、表示優先順位を基準としてＳＡＴをソートする。これにより、ソートされたＳＡＴに基づいて、高速にスプライトを描画できるとされている。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、特許文献１に開示されたスプライト画像表示制御装置は、結局、ＲＡＭ上においてＳＡＴの順序を変更する処理（ソート）を行うものである。従って、ＳＡＴにおけるスプライトの表示優先順位が変更された場合は、ＳＡＴを再びＲＡＭに読み出してソートする必要があり、スプライトの表示優先順位を変更する毎に、負荷の大きい処理が必要であった。
【００１２】
そこで、本発明は、ラインバッファ方式により複数のスプライトを描画する方法において、スプライトの表示優先順位を容易に変更できるようにすることを目的とする。
【課題を解決するための手段】
【００１３】
上記の目的を達成するために、本発明は、次のような特徴を備えている。なお、次に示す説明中、括弧書きにより実施の形態に対応する構成を一例として示す。符号等は、後述する図面参照符号等である。
【００１４】
本発明は、複数のスプライト画像について、属性情報と表示優先順位とを格納するスプライト属性テーブル（例えば、ＳＡＴ１３，１００）と、表示画面に表示される画像データが書き込まれるラインバッファ（例えば、ラインバッファ１７，１０２）と、前記ラインバッファに書き込まれた画像データの表示優先順位を格納する優先順位メモリ（例えば、デプスバッファ１８，１０３）と、前記スプライト属性テーブルに格納された属性情報に従って前記スプライト画像の画像データを前記ラインバッファに書き込む描画手段（例えば、ピクセル制御部１６、或いは、表示優先順位制御１０１）と、を有し、前記描画手段は、前記優先順位メモリに格納された表示優先順位に基づいて、前記ラインバッファに新たなスプライト画像の画像データを書き込むことにより、前記ラインバッファを更新することを特徴とする。
【００１５】
また、本発明において、前記描画手段が、前記ラインバッファに画像データが書き込まれた状態において、前記ラインバッファに新たなスプライト画像の画像データを書き込んで前記ラインバッファを更新する場合に、前記優先順位メモリに格納された表示優先順位と、前記新たなスプライト画像の表示優先順位とを比較し、前記新たなスプライト画像の表示優先順位が前記優先順位メモリに格納された表示優先順位よりも優先されるべき順位であった場合にのみ、前記新たなスプライト画像の画像データを前記ラインバッファに書き込むようにしても良い。
【００１６】
また、本発明において、１または複数の背景画像について、属性情報と表示優先順位とを格納する背景画像属性テーブル（例えば、ＢＡＴ１２）を有し、前記描画手段が、前記スプライト属性テーブルに格納された属性情報に従って前記スプライト画像の画像データを前記ラインバッファに書き込む処理、または、前記背景画像属性テーブルに格納された属性情報に従って前記背景画像の画像データを前記ラインバッファに書き込む処理を実行し、さらに、前記優先順位メモリに格納された表示優先順位に基づいて、前記ラインバッファに新たなスプライト画像の画像データまたは新たな背景画像の画像データを書き込むことにより、前記ラインバッファを更新する処理を実行するようにしても良い。
【発明の効果】
【００１７】
本発明によれば、複数のスプライト画像について、スプライト属性テーブルに属性情報と表示優先順位とが格納され、表示画面に表示される画像データがラインバッファに書き込まれ、ラインバッファに書き込まれた画像データの表示優先順位が優先順位メモリに格納される構成において、描画手段により、スプライト属性テーブルに格納された属性情報に従ってスプライト画像の画像データをラインバッファに書き込み、さらに、描画手段により、優先順位メモリに格納された表示優先順位に基づいて、ラインバッファに新たなスプライト画像の画像データを書き込むことによって、ラインバッファを更新するので、表示優先順位に従ってラインバッファに順次スプライトの画像データが書き込まれ、複数のスプライト画像を表示優先順位に従って表示することができる。すなわち、ラインバッファにスプライト画像の画像データが書き込まれた状態において、さらにラインバッファにスプライト画像の画像データを上書きする場合、表示優先順位に従って画像データが上書きされるので、表示優先順位に関係ない順序でスプライト画像の画像データを上書きしても、ラインバッファにおいては、常に表示優先順位に従って画像データが書き込まれる。これにより、複数のスプライト画像を描画する場合に、スプライト画像を処理する順序を考慮する必要がないので、例えば、スプライト画像の処理順序を調整する処理や、スプライト画像の属性情報をソートする処理のような、負荷の大きい処理を行う必要がない。従って、複数のスプライト画像を、表示優先順位に従って効率よく描画できる上、スプライト画像の表示優先順位が変更された場合にも、負荷の大きい処理を行うことなく、効率よく描画を行うことができる。
また、優先順位メモリは、ラインバッファに書き込まれた画像データの表示優先順位を格納できれば良いので、ラインバッファに書き込まれる画像データと同様に、１ライン分の情報を格納する容量があれば良い。このため、優先順位メモリを有する構成は、低コストで容易に実現可能である。
【００１８】
また、本発明において、描画手段が、ラインバッファに画像データが書き込まれた状態において、ラインバッファに新たなスプライト画像の画像データを書き込んでラインバッファを更新する場合に、優先順位メモリに格納された表示優先順位と、新たなスプライト画像の表示優先順位とを比較し、新たなスプライト画像の表示優先順位が優先順位メモリに格納された表示優先順位よりも優先されるべき順位であった場合にのみ、新たなスプライト画像の画像データをラインバッファに書き込む構成とした場合、ラインバッファには、常に優先して表示されるべきスプライト画像の画像データが書き込まれる。これにより、スプライト画像を処理する順序を調整する必要が全く無いので、負荷の大きい処理を一切行うことなく、複数のスプライト画像を、表示優先順位に従って効率よく描画できる。また、スプライト画像の表示優先順位が変更されても、負荷の大きい処理を行うことなく、容易に、変更後の表示優先順位に基づいてスプライト画像を描画できる。
【００１９】
また、本発明において、１または複数の背景画像について、属性情報と表示優先順位とを格納する背景画像属性テーブルを有し、描画手段が、スプライト属性テーブルに格納された属性情報に従ってスプライト画像の画像データをラインバッファに書き込む処理、または、背景画像属性テーブルに格納された属性情報に従って背景画像の画像データをラインバッファに書き込む処理を実行し、さらに、優先順位メモリに格納された表示優先順位に基づいて、ラインバッファに新たなスプライト画像の画像データまたは新たな背景画像の画像データを書き込むことにより、ラインバッファを更新する処理を実行する構成とした場合、スプライト画像だけでなく、背景画像についても、画像を処理する順序について一切調整をすることなく、表示優先順位に従って効率よく描画できる。
【発明を実施するための最良の形態】
【００２０】
本発明の実施の形態を説明するにあたって、まず、本発明の基本的概念について、図４に示す例を参照して説明する。
【００２１】
図４に示す例では、４つのスプライトを、所定の表示優先順位に従って表示画面に表示する。ＳＡＴ（Sprite Attribute Table：スプライト属性テーブル）１００には、４種類のスプライト（Sprite A、Sprite B、Sprite C、及びSprite D）について、各スプライトの属性情報及び奥行値（DEPTH）が格納される。
【００２２】
スプライトの奥行値とは、スプライトの表示優先順位を示す情報であり、奥行値が最も小さいスプライトは表示画面において一番奥側に表示され、奥行値が最も大きいスプライトは表示画面において一番前側に表示される。従って、複数のスプライトが重なる位置においては、奥行値が大きい方のスプライトが表示される。図４の例において、奥行値Ｄ０〜Ｄ３の大小関係は、Ｄ０＜Ｄ１＜Ｄ２＜Ｄ３とする。
【００２３】
表示優先順位制御１０１は、ＳＡＴ１００に格納された順、すなわち、ＳＡＴ０、ＳＡＴ１、ＳＡＴ２、ＳＡＴ３の順にスプライトを読み出して、スプライトの画像データをラインバッファ１０２に書き込むとともに、当該スプライトの奥行値をピクセル毎にデプスバッファ１０３に格納する。
【００２４】
ここで、既にラインバッファ１０２に画像データが書き込まれた状態で、新たなスプライトの画像データをラインバッファ１０２に書き込もうとする場合、表示優先順位制御１０１は、ＳＡＴ１００から読み出したスプライトの奥行値と、デプスバッファ１０３に格納された奥行値とを比較する。そして、新たに書き込もうとするスプライトの奥行値が、デプスバッファ１０３に格納された奥行値よりも大きい場合にのみ、ラインバッファ１０２に新たなスプライトの画像データを書き込む。一方、新たに書き込もうとするスプライトの奥行値が、デプスバッファ１０３に格納された奥行値よりも小さい場合は、ラインバッファ１０２への書き込みを行わない。このため、ラインバッファ１０２には、より前側に表示されるスプライトの画像データのみが次々と上書きされていくので、奥側に表示されるスプライト、すなわち実際には表示されないスプライトの画像データは書き込まれない。
【００２５】
ここで、スプライトの表示優先順位を変更する方法について検討する。
図４（ａ）に示す例と図４（ｂ）に示す例では、描画されるスプライトは同一であるが、スプライトの表示優先順位が異なっている。
図４（ａ）では、ＳＡＴ１００において、Sprite Cの奥行値はＤ２に設定され、Sprite Aの奥行値はＤ０に、Sprite Dの奥行値はＤ３に、Sprite Bの奥行値はＤ１に設定されている。このため、表示画面１０４においては、Sprite Aが最も奥に表示され、以下、Sprite B、Sprite C、Sprite Dの順に、前側に表示される。
【００２６】
ここで、各スプライトの表示優先順位を変更して、図４（ｂ）に示すように、表示画面１０４において奥側からSprite D、Sprite C、Sprite B、Sprite Aの順に表示されるようにしたい場合、ＳＡＴ１００におけるスプライトの順序は変更せず、各スプライトの奥行値のみを変更する処理を行う。
【００２７】
すなわち、表示画面１０４における表示優先順位に従って、ＳＡＴ１００に格納される奥行値を、Sprite Dの奥行値が最も小さく、Sprite Aの奥行値が最も大きくなるように変更する。
図４（ｂ）に示すＳＡＴ１００においては、Sprite Cの奥行値がＤ２からＤ１に変更され、Sprite Aの奥行値がＤ０からＤ３に変更され、Sprite Dの奥行値がＤ３からＤ０に変更され、Sprite Bの奥行値がＤ１からＤ２に変更される。つまり、ＳＡＴ１００における変更後の奥行値は、Sprite D＜Sprite C＜Sprite B＜Sprite Aとなっているから、表示画面１０４には、奥側から、Sprite D、Sprite C、Sprite B、Sprite Aの順に表示される。
なお、上記処理において、ＳＡＴ１００におけるスプライトの格納順序を変更する必要はないので、ＳＡＴ１００には、ＳＡＴ０としてSprite Cが格納され、ＳＡＴ１としてSprite Aが格納され、ＳＡＴ２としてSprite Dが格納され、ＳＡＴ３としてSprite Bが格納されたままである。
【００２８】
このように、本発明に係るスプライト描画方法によれば、各スプライトの表示優先順位（表示画面上における前後関係）を変更したい場合、ＳＡＴ１００における奥行値（DEPTH）を変更するだけで良く、ＳＡＴ１００全体の並べ替え等を行わないので、極めて簡単な処理で済むという利点を有する。
【００２９】
以下、本発明を適用した具体的な実施形態について、図１〜図３の各図を参照して説明する。
図１は、本発明を適用した実施の形態における描画装置１０の機能的構成を示すブロック図である。
【００３０】
図１に示す描画装置１０は、バスインターフェイス１１、ＢＡＴ（Background Attribute Table：背景属性テーブル）１２、ＳＡＴ１３、背景制御部１４、スプライト制御部１５、ピクセル制御部１６、ラインバッファ１７、デプスバッファ１８、画像出力部１９、及び表示装置２０の各部を備えて構成される。また、描画装置１０は、外部のＣＰＵ（Central Processing Unit）２１及びＲＡＭ（Random Access Memory）２２に対して、バスインターフェイス１１を介して接続される。
【００３１】
ＣＰＵ２１は、表示装置２０に表示すべき背景画像に関する属性情報及び奥行値を含むＢＡＴ、及び、スプライトに関する属性情報及び奥行値を含むＳＡＴを、バスインターフェイス１１を介して描画装置１０に出力し、ＢＡＴ１２及びＳＡＴ１３に格納させる。
ＲＡＭ２２は、表示装置２０に表示される背景及びスプライトの画像データを格納し、これら画像データを、バスインターフェイス１１を介して描画装置１０に出力する。
【００３２】
ＢＡＴ１２には、１以上の背景画像について、背景画像の画像データが格納されたＲＡＭ２２のアドレス、水平表示サイズ、垂直表示サイズ、カラーパレット等の各種属性情報を格納する。また、ＢＡＴ１２には、上記属性情報に対応づけて、各背景画像の表示優先順位が格納される。
ＳＡＴ１３は、１以上のスプライトについて、当該スプライトの画像データが格納されたＲＡＭ２２のアドレス、スプライトの水平位置及び垂直位置、水平表示サイズ、垂直表示サイズ、カラーパレット等の各種属性情報を格納する。また、ＳＡＴ１３には、上記属性情報に対応づけて、各スプライトの表示優先順位が格納される。
【００３３】
背景制御部１４は、ＢＡＴ１２に格納されたアドレスに従ってＲＡＭ２２から背景画像の画像データを読み込む。さらに、背景制御部１４は、ＢＡＴ１２に格納された属性情報に基づいて、背景画像の回転、縮小処理等を実行し、各ピクセルのラインバッファ１７に対するアドレスを生成して、各ピクセルの色データ、アドレス等を含む描画情報、及び、奥行値をピクセル制御部１６に出力する。
【００３４】
スプライト制御部１５は、ＳＡＴ１３に格納されたアドレスに基づいてＲＡＭ２２からスプライトの画像データを読み込む。さらにスプライト制御部１５は、ＳＡＴ１３に格納された属性情報に基づいてスプライトの回転、縮小処理等を実行し、各ピクセルのラインバッファ１７に対するアドレスを生成し、各ピクセルの色データ、アドレス等を含む描画情報、及び、奥行値をピクセル制御部１６に出力する。
【００３５】
ピクセル制御部１６は、背景制御部１４及びスプライト制御部１５から入力される情報に基づいて、奥行値を基準としてラインバッファ１７への描画データの書き込みを行う。
【００３６】
図２は、ピクセル制御部１６の動作を示すフローチャートである。
図２に示すように、ピクセル制御部１６は、背景制御部１４またはスプライト制御部１５から描画情報及び奥行値が入力されると、入力された奥行値をNEW_DEPTHとする（ステップＳ１１）。続いて、ピクセル制御部１６は、デプスバッファ１８に格納された奥行値を読み出して、PRE_DEPTHとする（ステップＳ１２）。
次に、ピクセル制御部１６は、NEW_DEPTHとPRE_DEPTHとを比較し、NEW_DEPTHが、PRE_DEPTHよりも、表示画面上における前側を示すか否かを判定する（ステップＳ１３）。
ここで、NEW_DEPTHが、PRE_DEPTHよりも前側を示す場合、ピクセル制御部１６は、ステップＳ１１で入力された描画情報に基づいてラインバッファ１７に画像データを書き込んで、ラインバッファ１７を更新し、さらに、ステップＳ１１で入力された奥行値すなわちNEW_DEPTHの値をデプスバッファ１８に格納させてデプスバッファ１８を更新し（ステップＳ１４）、ステップＳ１１に戻る。
一方、ステップＳ１３において、NEW_DEPTHがPRE_DEPTHよりも奥側を示す場合、ピクセル制御部１６は、ラインバッファ１７及びデプスバッファ１８を更新する処理を行わずにステップＳ１１に戻る。
【００３７】
従って、ピクセル制御部１６は、ラインバッファ１７に書き込まれている画像よりも前側に表示されるべき画像の描画情報が入力された場合にのみ、ラインバッファ１７を更新する。
【００３８】
図１に示すラインバッファ１７は、ピクセル制御部１６によって、表示画面上に表示する１ライン（水平ライン）分の画像データが書き込まれるバッファメモリである。デプスバッファ１８は、ラインバッファ１７に書き込まれた画像データの表示優先順位を格納するバッファメモリである。
【００３９】
画像出力部１９は、ラインバッファ１７に書き込まれた画像データに基づいて、表示装置２０の画面上に２Ｄ画像を表示する。
【００４０】
ここで、具体的な例を用いて描画装置１０の動作について説明する。図３は、描画装置１０の動作例を示す図表である。同図中、（ａ）はＢＡＴ１２の構成例を示し、（ｂ）はＳＡＴ１３の構成例を示し、（ｃ）は処理の手順を示す。なお、ＢＡＴ１２及びＳＡＴ１３には、背景画像及びスプライトの各種属性情報が格納されるが、図３においてはこれら属性情報の図示を省略する。
【００４１】
この例において、ＢＡＴ１２には、図３（ａ）に示すように、２つの背景画像bg 0、及びbg 1が、それぞれＢＡＴ０、ＢＡＴ１として格納される。背景画像bg 0の奥行値は３に設定され、背景画像bg 1の奥行値は１に設定されている。
また、ＳＡＴ１３には、図３（ｂ）に示すように４つのスプライトSprite 0、Sprite 1、Sprite 2、Sprite 3が、それぞれＳＡＴ０、ＳＡＴ１、ＳＡＴ２、ＳＡＴ３として格納される。Sprite 0の奥行値は２に設定され、Sprite 1の奥行値は１０に設定され、Sprite 2の奥行値は１２に設定され、Sprite 3の奥行値は８に設定されている。
【００４２】
図３に示す例において、奥行値は０〜１５の範囲で設定されており、奥行値が大きいほど、表示画面において前側に表示される。従って、最小の奥行値０は、表示画面上において最も奥に表示されることを示し、最大の奥行値１５は表示画面上において最も前に表示されることを示す。
【００４３】
図３（ｃ）には、図３（ａ）に示すＢＡＴ１２及び図３（ｂ）に示すＳＡＴ１３の構成に従って、背景及びスプライトを描画する処理を示す。
図３（ｃ）に示すように、まず、ＢＡＴ１２にＢＡＴ０として格納された背景画像bg 0の描画情報及び奥行値がピクセル制御部１６に入力されると、ピクセル制御部１６は、ラインバッファ１７に背景画像bg 0の画像データを書き込むとともに、デプスバッファ１８に、背景画像bg 0の奥行値３を格納する。
【００４４】
続いて、ピクセル制御部１６に、ＢＡＴ１２にＢＡＴ１として格納された背景画像bg 1の描画情報及び奥行値が入力される。ピクセル制御部１６は、図中矢印で示すように、デプスバッファ１８に格納された奥行値３と、入力された奥行値１とを比較する。ここで、入力された奥行値がデプスバッファ１８に格納された奥行値よりも小さいので、ピクセル制御部１６はラインバッファ１７及びデプスバッファ１８の更新を行わない。
このため、ＢＡＴ１の処理が終了した時点で、ラインバッファ１７には背景画像bg 0の画像データが書き込まれ、デプスバッファ１８には背景画像bg 0の奥行値３が格納されている。
【００４５】
次に、ＳＡＴ１３にＳＡＴ０として格納されたSprite 0の描画情報及び奥行値が、ピクセル制御部１６に入力される。ピクセル制御部１６は、図中矢印で示すように、デプスバッファ１８に格納された奥行値３と、入力された奥行値２とを比較する。ここで、入力された奥行値がデプスバッファ１８に格納された奥行値よりも小さいので、ピクセル制御部１６はラインバッファ１７及びデプスバッファ１８の更新を行わない。このため、ＳＡＴ０の処理が終了した時点で、ラインバッファ１７には背景画像bg 0の画像データが書き込まれ、デプスバッファ１８には背景画像bg 0の奥行値３が格納されている。
【００４６】
続いて、ＳＡＴ１３にＳＡＴ１として格納されたSprite 1の描画情報及び奥行値が、ピクセル制御部１６に入力される。ピクセル制御部１６は、図中矢印で示すように、デプスバッファ１８に格納された奥行値３と、入力された奥行値１０とを比較する。ここで、入力された奥行値がデプスバッファ１８に格納された奥行値よりも大きいので、ピクセル制御部１６は、ラインバッファ１７にSprite 1の画像データを書き込み、さらに、Sprite 1の奥行値をデプスバッファ１８に格納することにより、ラインバッファ１７及びデプスバッファ１８を更新する。
【００４７】
次に、ＳＡＴ１３にＳＡＴ２として格納されたSprite 2の描画情報及び奥行値が、ピクセル制御部１６に入力される。ピクセル制御部１６は、図中矢印で示すように、デプスバッファ１８に格納された奥行値１０と、入力された奥行値１２とを比較する。ここで、入力された奥行値がデプスバッファ１８に格納された奥行値よりも大きいので、ピクセル制御部１６は、ラインバッファ１７にSprite 2の画像データを書き込んでラインバッファ１７を更新し、さらに、Sprite 2の奥行値をデプスバッファ１８に格納することにより、デプスバッファ１８を更新する。
【００４８】
次に、ＳＡＴ１３にＳＡＴ３として格納されたSprite 3の描画情報及び奥行値が、ピクセル制御部１６に入力される。ピクセル制御部１６は、図中矢印で示すように、デプスバッファ１８に格納された奥行値１２と、入力された奥行値８とを比較する。ここで、入力された奥行値がデプスバッファ１８に格納された奥行値よりも小さいので、ピクセル制御部１６はラインバッファ１７及びデプスバッファ１８の更新を行わない。このため、ＳＡＴ３の処理が終了した時点で、ラインバッファ１７にはSprite 2の画像データが書き込まれており、デプスバッファ１８にはSprite 2の奥行値１２が格納されている。
【００４９】
以上のように、ＢＡＴ１２に格納された背景画像（bg 0、bg 1）、及び、ＳＡＴ１３に格納されたスプライト（Sprite 0、Sprite 1、Sprite 2、Sprite 3）の処理が完了すると、ラインバッファ１７には、奥行値が最も大きいSprite 2の画像データが書き込まれており、デプスバッファ１８にはSprite 2の奥行値が格納されている。
従って、図３（ｃ）に示す処理の終了後、画像出力部１９は、ラインバッファ１７に書き込まれているSprite 2の画像データを表示装置２０に表示する。
Sprite 2には、図３（ａ）に示すＢＡＴ１２及び図３（ｂ）に示すＳＡＴ１３において、最も大きな奥行値が設定されており、表示装置２０の表示画面において一番前に表示されるべき画像であるから、ラインバッファ１７には適切な画像データが書き込まれたことになる。
【００５０】
以上のように、本発明を適用した実施の形態における描画装置１０によれば、ラインバッファ１７に書き込まれた画像データの表示優先順位を格納するデプスバッファ１８を用いることにより、ＢＡＴ１２及びＳＡＴ１３について、ソート（並べ替え）やスキャン等の負荷の大きな処理を行うことなく、背景画像及びスプライトを、表示優先順位に従って描画できる。
【００５１】
また、図３（ｃ）に示す処理においては、ＢＡＴ１２及びＳＡＴ１３に格納された順序に従って背景画像及びスプライトが処理されるものとしたが、この処理の順序は、表示優先順位とは全く関係なく任意に決定できる。すなわち、背景画像及びスプライトは、各背景画像及び各スプライトに設定された奥行値のみに従って描画されるので、ＢＡＴ１２に背景画像が格納された順序やＳＡＴ１３にスプライトが格納された順序とは全く無関係である。
このため、ＢＡＴ１２に格納された背景画像の表示優先順位を変更したい場合は、ＢＡＴ１２における奥行値のみを変更すれば良く、ＳＡＴ１３に格納されたスプライトの表示優先順位を変更したい場合は、ＳＡＴ１３における奥行値のみを変更すれば良い。
これにより、スプライト及び背景画像の表示優先順位の変更を、大きな負荷を生じる処理を行うことなく、極めて容易に行うことができる。
【００５２】
さらに、デプスバッファ１８は、ラインバッファ１７に対応するピクセル数の画像データに関して、表示優先順位を格納することができれば良いので、実質的に１ライン（水平ライン）分の表示優先順位を格納する容量があれば十分であって、容易に実現可能である上、デプスバッファ１８を描画装置１０に設けるためのコスト負担は極めて小さい。つまり、描画装置１０は、低コストで、かつ容易に実現可能である。
【００５３】
なお、上記実施の形態においては、図３（ｃ）を参照して、ラインバッファ１７に複数の背景画像の画像データを書き込んだ後に複数のスプライト画像の画像データを書き込む処理について説明したが、本発明はこれに限定されるものではなく、例えば、スプライト画像の画像データを先にラインバッファ１７に書き込む処理を行ってから、背景画像の画像データを書き込む処理とすることも可能である。
また、描画装置１０において、ラインバッファ１７及びデプスバッファ１８を複数備える構成としても良く、その他の細部構成についても適宜変更可能であることは勿論である。
【図面の簡単な説明】
【００５４】
【図１】本発明を適用した実施の形態における描画装置の機能的構成を示すブロック図である。
【図２】図１に示す描画装置により実行される表示優先順位制御処理を示すフローチャートである。
【図３】図２に示す表示優先順位制御処理を説明するための図表であり、（ａ）はＢＡＴの構成例を示し、（ｂ）はＳＡＴの構成例を示し、（ｃ）は背景及びスプライトを描画する処理の手順を示す。
【図４】本発明に係るスプライト描画方法を模式的に示す図である。
【図５】従来のスプライト描画方法を模式的に示す図である。
【符号の説明】
【００５５】
１０  描画装置
１１  バスインターフェイス
１２  ＢＡＴ（背景属性テーブル）
１３  ＳＡＴ（スプライト属性テーブル）
１４  背景制御部
１５  スプライト制御部
１６  ピクセル制御部
１７  ラインバッファ
１８  デプスバッファ
１９  画像出力部
２０  表示装置
【図１】
2005293024.tif 000003
【図２】
2005293024.tif 000004
【図３】
2005293024.tif 000005
【図４】
2005293024.tif 000006
【図５】
2005293024.tif 000007