(57)【要約】【課題】  表示画面上にスプライトを表示する処理において、ＳＡＴの情報を参照する処理を効率化することにより、負荷の軽減及び高速化を図る。【解決手段】  メインメモリ１２に格納されたスプライトの画像をラインバッファ１０７，１０８に描画し、表示装置１５の表示画面上に表示する画像表示処理装置１００において、メインメモリ１２に格納されたＳＡＴ（スプライト属性テーブル）を、ＳＡＴ−ＲＡＭ１０２に転送し、さらに、並替処理部１０３によって各スプライトのＹ座標に基づいてＳＡＴをソートする並替処理を実行する。これにより、スプライトを描画する処理において、ソートされたＳＡＴを順番に参照すれば良く、全てのＳＡＴを検索する場合に比べて効率よく高速に処理を行える。【選択図】  図１
2005300974.tif 000002
【特許請求の範囲】
【請求項１】
スプライトの表示位置を示す位置情報を含むスプライト属性情報を複数格納する属性情報格納部と、
前記属性情報格納部に格納された複数のスプライト属性情報について、各スプライト属性情報に含まれる位置情報に基づいて参照順序を決定する整列処理手段とを備え、
前記属性情報格納部に格納されたスプライト属性情報を、前記整列処理手段により決定された参照順序に従って参照することにより、スプライトを描画すること、
を特徴とする画像表示処理装置。
【請求項２】
前記属性情報格納部には、複数の前記スプライト属性情報と、各スプライト属性情報の次に参照されるべきスプライト属性情報を指定するインデックス情報とが対応づけて格納され、
前記整列処理手段は、前記属性情報格納部に格納されたスプライト属性情報の参照順序を決定し、決定した参照順序に基づいて前記インデックス情報を設定または更新すること、
を特徴とする請求項１記載の画像表示処理装置。
【請求項３】
前記整列処理手段は、前記属性情報格納部に格納されたスプライト属性情報のうち、前記位置情報を含むスプライト属性情報についてのみ参照順序を決定し、決定した参照順序において末尾に位置するスプライト属性情報に対応する前記インデックス情報を、次に参照されるべきスプライト属性情報が存在しないことを示す内容に設定すること、を特徴とする請求項２記載の画像表示処理装置。
【請求項４】
前記属性情報格納部には、複数の前記スプライト属性情報を参照する際に最初に参照すべきスプライト属性情報を指定する開始スプライト情報が格納され、
前記整列処理手段は、前記属性情報格納部に格納された複数のスプライト属性情報について参照順序を決定した際に、前記開始スプライト情報を、決定した参照順序において先頭に位置するスプライトを示すよう設定し、
スプライトを描画する処理において、参照する必要のないスプライト属性情報が検出された場合には、当該スプライト属性情報を以後の処理において参照しないよう前記開始スプライト情報を更新すること、
を特徴とする請求項１から３のいずれかに記載の画像表示処理装置。
【請求項５】
スプライトの表示位置を示す位置情報を含むスプライト属性情報を属性情報格納部に複数格納し、
前記属性情報格納部に格納された複数のスプライト属性情報について、各スプライト属性情報に含まれる位置情報に基づいて参照順序を決定し、
前記属性情報格納部に格納されたスプライト属性情報を、決定された前記参照順序に従って参照することにより、スプライトを描画すること、
を特徴とする画像表示処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２Ｄ（２次元）画像を表示する画像表示処理装置、及び、この画像表示処理装置における画像表示処理方法に関する。
【背景技術】
【０００２】
背景とスプライト（キャラクタ）とを用いて表示画面上に２Ｄ（２次元）画像を表示する場合、ＳＡＴ（Sprite Attribute Table：スプライト属性テーブル）と呼ばれるテーブルに格納される情報に基づいて表示を行っていた。
【０００３】
通常、ＳＡＴは特定のスプライトに対応づけられており、当該スプライトの表示位置、サイズ、形状等の情報を含む。
従来、画面にスプライトを描画する処理においては、その画面に表示されるスプライトに係る全てのＳＡＴを検索し、各ＳＡＴに含まれるスプライトの表示位置、サイズ及び形状等の情報に基づいて、描画対象となるスプライトを特定していた。その後、描画対象のスプライトの画像データをメモリから取得して、描画エリア（バッファ）上に描画していた（例えば、特許文献１−２参照。）。
【０００４】
【特許文献１】特開昭６０−２１１４９４号公報
【特許文献２】特開昭６１−１６２０８４号公報
【０００５】
ラインバッファを用いて画面を水平走査線毎に描画・表示する場合、水平走査線毎に、どのスプライトが表示されるのかを特定しなければならないので、全てのスプライトについて、その表示位置やサイズ等の情報を取得する必要がある。従って、スプライトを描画する処理においては、全てのＳＡＴを検索する処理が必須であった。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところが、表示画面上に表示されるスプライトが多く、多数のＳＡＴが用いられる場合、全てのＳＡＴを検索すると多大な時間を要する上、処理の負荷が極めて大きいという問題があった。
【０００７】
本発明の目的は、表示画面上にスプライトを表示する処理において、ＳＡＴを検索・参照する処理を効率化することにより、負荷の軽減及び高速化を図ることにある。
【課題を解決するための手段】
【０００８】
上記の目的を達成するために、本発明は、次のような特徴を備えている。なお、次に示す説明中、括弧書きにより実施の形態に対応する構成を一例として示す。符号や名称等は、後述する図面参照符号や図中の名称等である。
【０００９】
本発明は、スプライトの表示位置を示す位置情報を含むスプライト属性情報（例えば、ＳＡＴ−０，…）を複数格納する属性情報格納部（例えば、ＳＡＴ−ＲＡＭ１０２）と、前記属性情報格納部に格納された複数のスプライト属性情報について、各スプライト属性情報に含まれる位置情報に基づいて参照順序を決定する整列処理手段（例えば、並替処理部１０３）とを備え、前記属性情報格納部に格納されたスプライト属性情報を、前記整列処理手段により決定された参照順序に従って参照することにより、スプライトを描画することを特徴とする。
【００１０】
また、本発明において、前記属性情報格納部に、複数の前記スプライト属性情報と、各スプライト属性情報の次に参照されるべきスプライト属性情報を指定するインデックス情報（例えば、NEXT SAT-INDEX）とが対応づけて格納され、前記整列処理手段が、前記属性情報格納部に格納されたスプライト属性情報の参照順序を決定し、決定した参照順序に基づいて前記インデックス情報を設定または更新する構成としても良い。
【００１１】
また、本発明において、前記整列処理手段が、前記属性情報格納部に格納されたスプライト属性情報のうち、前記位置情報を含むスプライト属性情報についてのみ参照順序を決定し、決定した参照順序において末尾に位置するスプライト属性情報に対応する前記インデックス情報を、次に参照されるべきスプライト属性情報が存在しないことを示す内容（例えば、ＳＡＴ−ｅｎｄ）に設定する構成としても良い。
【００１２】
また、本発明において、前記属性情報格納部には、複数の前記スプライト属性情報を参照する際に最初に参照すべきスプライト属性情報を指定する開始スプライト情報（例えば、START SAT番号）が格納され、前記整列処理手段が、前記属性情報格納部に格納された複数のスプライト属性情報について参照順序を決定した際に、前記開始スプライト情報を、決定した参照順序において先頭に位置するスプライトを示すよう設定し、スプライトを描画する処理において、参照する必要のないスプライト属性情報が検出された場合には、当該スプライト属性情報を以後の処理において参照しないよう前記開始スプライト情報を更新する構成としても良い。
【発明の効果】
【００１３】
本発明によれば、スプライトの表示位置を示す位置情報を含むスプライト属性情報を属性情報格納部に複数格納し、属性情報格納部に格納された複数のスプライト属性情報について、整列処理手段によって、各スプライト属性情報に含まれる位置情報に基づいて参照順序を決定し、整列処理手段により決定された参照順序に従って属性情報格納部に格納されたスプライト属性情報を参照することによってスプライトを描画するので、描画すべきスプライトに関するスプライト属性情報を効率よく参照できる。例えば、水平走査線毎にスプライトを描画する場合、属性情報格納部に格納されたスプライト属性情報について、スプライトの垂直位置に基づいて参照順序が決定されていれば、描画対象の水平走査線上に位置するスプライトに関するスプライト属性情報のみを選び出して参照できる。これにより、属性情報格納部に格納された全てのスプライト属性情報を検索する等の処理を行わず、必要なスプライト属性情報のみを効率よく参照することで、スプライトを描画する処理の負荷を著しく軽減し、処理速度を大幅に高速化できる。
【００１４】
また、本発明において、属性情報格納部に複数のスプライト属性情報と、各スプライト属性情報の次に参照されるべきスプライト属性情報を指定するインデックス情報とが対応づけて格納され、整列処理手段が、属性情報格納部に格納されたスプライト属性情報の参照順序を決定し、決定した参照順序に基づいてインデックス情報を設定または更新する構成とした場合、インデックス情報に従って順次スプライト属性情報を参照するだけで、効率よく高速にスプライト属性情報を参照できる。また、インデックス情報によって、属性情報格納部に格納されたスプライト属性情報の参照順序を示すことができるので、スプライト属性情報自体の配列順序等を変更する必要がない。インデックス情報は、次に参照されるべきスプライト属性情報を指定する情報を含んでいれば良いので、スプライト属性情報に比べて情報量が格段に少ない。従って、インデックス情報の処理は、スプライト属性情報自体の配列順序を変更する処理に比べて、非常に負荷が軽く、高速に実行可能である。また、スプライト属性情報の参照順序を変更する場合、インデックス情報を書き換えるだけで良い。これにより、スプライト属性情報の参照順序の決定および変更に要する処理が、少ないリソースで高速に実行できるようになる。
【００１５】
また、本発明において、整列処理手段が、属性情報格納部に格納されたスプライト属性情報のうち、位置情報を含むスプライト属性情報についてのみ参照順序を決定し、決定した参照順序において末尾に位置するスプライト属性情報に対応するインデックス情報を、次に参照されるべきスプライト属性情報が存在しないことを示す内容に設定する構成とした場合、位置情報を含むスプライト属性情報が全て参照された後に、速やかに処理を終了することができる。これにより、位置情報を含まず、実質的に意味を持たないスプライト属性情報を参照するという無駄な処理を省くことができるので、スプライトを描画する処理を極めて効率よく、高速に実行できる。
【００１６】
また、本発明において、属性情報格納部に、複数のスプライト属性情報を参照する際に最初に参照すべきスプライト属性情報を指定する開始スプライト情報が格納され、整列処理手段が、属性情報格納部に格納された複数のスプライト属性情報について参照順序を決定した際に、開始スプライト情報を、決定した参照順序において先頭に位置するスプライトを示すよう設定し、スプライトを描画する処理において、参照する必要のないスプライト属性情報が検出された場合に、当該スプライト属性情報を以後の処理において参照しないよう開始スプライト情報を更新する構成とした場合、開始スプライト情報に従ってスプライト属性情報を参照すれば、必要のないスプライト属性情報を無視して処理を実行することができる。これにより、無駄な処理を省き、スプライトを描画する処理の効率を向上させるとともに、高速化を図ることができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施の形態を図面に基づき説明する。
図１は、本発明を適用した実施の形態における画像表示装置１の機能的構成を示すブロック図である。
図１に示すように、画像表示装置１は、画像表示装置１の各部を制御するＣＰＵ（Central Processing Unit）１１、背景やスプライトの画像データ及びＳＡＴ等を含む各種データ及びプログラムを格納するメインメモリ１２、各種機能部（図示略）間の処理を制御するシーケンス制御部１４、表示装置１５、及び、画像表示処理装置１００を備えて構成される。
【００１８】
画像表示処理装置１００は、バスＩ／Ｆ１３を介してＣＰＵ１１及びメインメモリ１２との間で各種データを送受信することにより、ＣＰＵ１１による制御に従って、メインメモリ１２に格納されたＳＡＴを参照し、メインメモリ１２に格納された画像データに基づく描画を実行する。また、画像表示処理装置１００は、表示装置１５に接続されており、描画した画像に基づく映像信号を表示装置１５に出力し、表示装置１５の画面上に画像を表示させる。
【００１９】
画像表示処理装置１００は、ＳＡＴ転送部１０１、ＳＡＴ−ＲＡＭ（SAT-Random Access Memory）１０２、並替処理部１０３、スプライト制御部１０４、背景制御部１０５、色彩加工描画制御部１０６、ラインバッファ１０７，１０８、及びビデオ出力部１０９の各部を備えて構成される。
【００２０】
ＳＡＴ転送部１０１は、バスＩ／Ｆ１３を介してメインメモリ１２に接続され、メインメモリ１２内のＳＡＴをＳＡＴ−ＲＡＭ１０２に転送する。
ＳＡＴ−ＲＡＭ１０２は、ＳＡＴ転送部１０１により転送されるＳＡＴを一時的に格納する。
並替処理部１０３は、ＳＡＴ−ＲＡＭ１０２に格納されたＳＡＴに対して、後述する並替処理（図４）を実行する。
【００２１】
スプライト制御部１０４は、ＣＰＵ１１による制御に従って、ＳＡＴ−ＲＡＭ１０２に格納されたＳＡＴを参照することにより、処理対象の水平走査線上に位置するスプライトを特定する。そして、スプライト制御部１０４は、処理対象の水平走査線上に位置するスプライトの画像データをメインメモリ１２から読み出して、色彩加工描画制御部１０６に出力する。
【００２２】
背景制御部１０５は、ＣＰＵ１１による制御に従って、メインメモリ１２に格納されたＢＡＴ（Background Attribute Table：背景属性テーブル）（図示略）を参照し、描画すべき背景を決定し、この背景の画像データをメインメモリ１２から読み出して、色彩加工描画制御部１０６に出力する。
【００２３】
色彩加工描画制御部１０６は、スプライト制御部１０４から入力されるスプライトの画像データ、及び、背景制御部１０５から入力される背景の画像データに基づいて、ラインバッファ１０７又はラインバッファ１０８のいずれか一方に、背景及びスプライトを描画する。
【００２４】
ラインバッファ１０７，１０８は、いずれも、１水平走査線分の画像を一時的に格納するバッファメモリであって、交互に切り換えて使用される。
【００２５】
ビデオ出力部１０９は、ラインバッファ１０７又はラインバッファ１０８のいずれか一方にアクセスし、当該ラインバッファに描画された画像を読み出して映像信号を生成し、表示装置１５に出力する。
【００２６】
表示装置１５は、ＣＲＴ（Cathode Ray Tube）やＬＣＤ（Liquid Crystal Display）等の表示画面を備えた表示装置であり、ビデオ出力部１０９から入力される映像信号に基づいて各種画像を表示する。
【００２７】
ここで、画像表示処理装置１００におけるラインバッファ１０７とラインバッファ１０８との切り換えについて説明する。
上記のように、ラインバッファ１０７，１０８は、いずれも、１水平走査線分の画像に係るデータを格納するものであって、描画と、画像の読み出しとを同時に行うことができない。例えば、色彩加工描画制御部１０６がラインバッファ１０７に画像を描画している間は、ラインバッファ１０７から色彩加工描画制御部１０６によって画像を読み出すことはできない。
【００２８】
従って、画像表示処理装置１００においては、色彩加工描画制御部１０６により描画される側と、ビデオ出力部１０９により画像が読み出される側とを交互に切り換えることにより、連続して画像の描画及び表示が行えるようにしている。
すなわち、色彩加工描画制御部１０６がラインバッファ１０７に描画している間、ビデオ出力部１０９は、ラインバッファ１０８から画像を読み出す処理を行う。その後、ラインバッファ１０７に対する描画及びラインバッファ１０８からの画像読み出しが終了すると、ラインバッファ１０７とラインバッファ１０８とが切り換えられる。続いて、色彩加工描画制御部１０６がラインバッファ１０８に対して描画を行い、ビデオ出力部１０９がラインバッファ１０７の画像を読み出す。
【００２９】
なお、以下の説明においては、ラインバッファ１０７及びラインバッファ１０８のうち、ビデオ出力部１０９によって画像が読み出される側をラインバッファＡとし、色彩加工描画制御部１０６によって描画される側をラインバッファＢとする。従って、ある時点では、ラインバッファ１０７がラインバッファＡ、ラインバッファ１０８がラインバッファＢとなり、ラインバッファの切り換えが行われると、ラインバッファ１０８がラインバッファＡとなり、ラインバッファ１０７がラインバッファＢとなる。
【００３０】
図２は、画像表示処理装置１００の動作を示すフローチャートである。この図２に従って、画像表示処理装置１００の各部により実行される処理の概要を説明する。
まず、一画面の表示処理が開始されると（ステップＳ１１）、ＳＡＴ転送部１０１によって、メインメモリ１２に格納されたＳＡＴがＳＡＴ−ＲＡＭ１０２に転送される（ステップＳ１２）。その後、並替処理部１０３により、ＳＡＴ−ＲＡＭ１０２に格納されたＳＡＴに対する並替処理が実行される（ステップＳ１３）。
【００３１】
並替処理の後、ＳＡＴ−ＲＡＭ１０２に格納されたSTART SAT番号が初期化される（ステップＳ１４）。START SAT番号とは、後述するステップＳ１９の処理において、ＳＡＴ−ＲＡＭ１０２に格納されたＳＡＴを参照する場合に、最初に参照すべきＳＡＴを指定する情報である。
【００３２】
続いて、ラインバッファ１０７，１０８の初期化が行われ（ステップＳ１５）、表示装置１５に表示画面にラスター画像を表示するラスター表示処理が開始される（ステップＳ１６）。
【００３３】
ラスター表示処理においては、ラインバッファ１０７，１０８のうちラインバッファＡとなっている側に格納された画像がビデオ出力部１０９によって読み出され、表示装置１５に表示される（ステップＳ１７）。ここで、ラインバッファＡにおいては、ビデオ出力部１０９により画像が読み出されたラスターは、その都度初期化される。
【００３４】
また、ステップＳ１７の画像表示の実行中に、色彩加工描画制御部１０６によって、ラインバッファＢに対して背景が描画され（ステップＳ１８）、さらにスプライトが描画される（ステップＳ１９）。
【００３５】
ラインバッファＢへの描画が完了し、ラインバッファＡに格納された画像の表示が終了すると（ステップＳ２０；Ｙｅｓ）、ラインバッファＡ，Ｂ（ラインバッファ１０７，１０８）の切り換えが行われる（ステップＳ２１）。
【００３６】
ここで、一画面全部の表示が完了した場合は（ステップＳ２２；Ｙｅｓ）、ステップＳ１１に戻って次の画面の表示が行われる。
【００３７】
また、一画面全部の表示が完了していなければ（ステップＳ２２；Ｎｏ）、画像表示処理装置１００の動作はステップＳ１７に戻る。
そして、ステップＳ１８〜Ｓ１９において背景とスプライトが描画されたラインバッファＢの画像が、ビデオ出力部１０９によって読み出され、表示装置１５に表示される。また、次の水平走査線の画像がラインバッファＡに描画される。
【００３８】
なお、ステップＳ１８〜Ｓ１９において、ラインバッファＢへの描画を行っている間に、ラインバッファＡの画像の表示が終了した場合には、ラインバッファＢへの描画を中止し、ステップＳ２１に移行してラインバッファＡ，Ｂ（ラインバッファ１０７，１０８）を切り換えるようにしても良い。また、ラインバッファＡの画像の表示が終了した後、ラインバッファＢへの描画が終了してラインバッファＡ，Ｂが切り換えられるまでの間、信号を遅延させて、ラインバッファＡの画像の描画時間を長くすることも可能である。
【００３９】
図３は、図２のステップＳ１２において、メインメモリ１２に格納されたＳＡＴをＳＡＴ−ＲＡＭ１０２に転送する処理を詳細に示す図である。
メインメモリ１２においては、複数のスプライトに対応するＳＡＴが、各々ＳＡＴ番号（ＳＡＴ−０，…）が付されて格納される。これらのＳＡＴは、それぞれ、対応するスプライトの位置を示す情報、スプライトのサイズを示す情報、及びその他の情報（図示略）を含む。
【００４０】
本実施の形態では、表示装置１５の表示画面上において左上隅を原点とし、水平方向をＸ軸、垂直方向をＹ軸とするＸ−Ｙ座標系が設定された場合の、スプライトの左上端のＸ座標およびＹ座標によってスプライトの位置を示す。また、スプライトのサイズは横（Ｘ方向）及び縦（Ｙ方向）のラスター数によって示す。例えば、図３に示すＳＡＴ−４は、（Ｘ，Ｙ）＝（５０，３０）の位置に表示され、サイズが縦横８×８ラスターのスプライトに関する情報である。
なお、図３の例において、ＳＡＴ−５、及び、ＳＡＴ−１０以降のＳＡＴは未使用であり、対応するスプライトに関する情報を含まないものとする。
【００４１】
ＳＡＴ転送部１０１は、メインメモリ１２に格納されたＳＡＴのうち、処理対象の画面に係るＳＡＴを、そのままＳＡＴ−ＲＡＭ１０２に転送する。すなわち、ＳＡＴ−ＲＡＭ１０２には、メインメモリ１２に格納されたＳＡＴが、メインメモリ１２における配列順序と同じ順序で格納される。
【００４２】
また、ＳＡＴ−ＲＡＭ１０２にＳＡＴが転送される際には、各ＳＡＴの参照順序を示すNEXT SAT-INDEXが生成され、各ＳＡＴに対応づけられる。NEXT SAT-INDEXは、各ＳＡＴを参照した場合に次に参照するＳＡＴを指定する情報である。例えば、図３のＳＡＴ−０に対応するNEXT SAT-INDEXはＳＡＴ−１となっているので、ＳＡＴ−０が参照された場合は、次にＳＡＴ−１が参照される。また、ＳＡＴ−９に対応するNEXT SAT-INDEXはＳＡＴ−ｅｎｄとなっている。これは、ＳＡＴ−９を参照した後は参照すべきＳＡＴが無いことを示す。
【００４３】
さらに、ＳＡＴ−ＲＡＭ１０２には、ＳＡＴ−ＲＡＭ１０２に格納されたＳＡＴのうち、最初に参照するＳＡＴを指定するSTART SAT番号が格納される。図３に示す例では、START SAT番号はＳＡＴ−０となっている。
【００４４】
図４は、図２のステップＳ１３において、ＳＡＴ−ＲＡＭ１０２に格納されたＳＡＴを並べ替える並替処理を示す図である。
図４中左側に示す並替処理前の状態では、ＳＡＴ−ＲＡＭ１０２内のＳＡＴはメインメモリ１２における順序と同じ順序で格納され、NEXT SAT-INDEX及びSTART SAT番号は、いずれも、メインメモリ１２におけるＳＡＴの順序の通りに各ＳＡＴを参照することを示す内容となっている。
【００４５】
並替処理部１０３は、ＳＡＴ−ＲＡＭ１０２に格納されたＳＡＴについて並替処理を実行し、スプライトの位置を示すＹ座標（垂直方向の位置）に基づく各ＳＡＴの順序を決定する。この並替処理において、並替処理部１０３は、例えばバブルソート、シェルソート、ヒープソート、マージソート、クイックソート等の各種の整列アルゴリズムに基づく演算処理により実行可能である。なお、図４に示すＳＡＴ−５，１０等のように未使用のＳＡＴは、並替処理においては無視（除外）される。
【００４６】
そして、各ＳＡＴの順序を決定した後、並替処理部１０３は、決定した順序に基づいてSTART SAT番号及びNEXT SAT-INDEXを更新する。なお、並替処理部１０３は、ＳＡＴ自体の配列順序は変更しない。
【００４７】
図４に示す例において、ＳＡＴ−０〜１０をＹ座標の順に並べると、Ｙ座標の値が小さい方から順に、ＳＡＴ−３，９，０，８，６，７，２，１，４の通りに並ぶ。なお、ＳＡＴ−５，１０は未使用であるから、この順序からは除外される。
【００４８】
そして、図４中の右側に示す並替処理後の状態では、START SAT番号は、Ｙ座標が最も小さいＳＡＴ−３となっている。従って、スプライトを描画する処理においては、ＳＡＴ−０〜１０のうちＳＡＴ−３が最初に参照される。また、ＳＡＴ−３に対応するNEXT SAT-INDEXはＳＡＴ−９を示しているので、ＳＡＴ−３の次にはＳＡＴ−９が参照される。さらに、NEXT SAT-INDEXに従うと、ＳＡＴ−９の後は、ＳＡＴ−０，８，６，７，２，１，４の順にＳＡＴが参照される。なお、ＳＡＴ−４に対応するNEXT SAT-INDEXはＳＡＴ−ｅｎｄとなっているので、ＳＡＴ−４が参照された後は、ＳＡＴ−ＲＡＭ１０２内のＳＡＴの参照（検索）は終了される。
【００４９】
このように、並替処理部１０３は、ＳＡＴ−ＲＡＭ１０２に格納されたＳＡＴについて並替処理を実行し、例えばＹ座標の値が小さい順に各ＳＡＴの順序を決定し、決定した順序に従って各ＳＡＴが参照されるよう、START SAT番号及びNEXT SAT-INDEXを更新する。
【００５０】
図５〜図９は、図２のステップＳ１９においてＳＡＴが参照される処理を詳細に示す図である。なお、図５〜図９においては、未参照（参照されていない状態）のＳＡＴを通常の枠で示し、参照されたＳＡＴを二重枠で示し、参照された際に終了条件に合致すると判定され、処理されなかったＳＡＴを二重枠と斜線で示し、処理の対象外と判定されたＳＡＴを二重枠と網掛けで示す。
【００５１】
図５には、Ｙ座標が０（Ｙ＝０）の水平走査線を描画する例を示す。
まず、START SAT番号に従ってＳＡＴ−３が参照される。ここで、ＳＡＴ−３のＹ座標は１０であるから、ＳＡＴ−３はＹ＝０の水平走査線に表示する対象ではない。従って、ＳＡＴ−３が参照された時点で、終了条件に合致すると判定され、ＳＡＴを参照する処理は終了となる。
【００５２】
図６には、Ｙ座標が１０（Ｙ＝１０）の水平走査線を描画する例を示す。
最初にSTART SAT番号に従ってＳＡＴ−３が参照される。ＳＡＴ−３のＹ座標は１０であり、スプライトのサイズは８×８であるから、ＳＡＴ−３に対応するスプライトはＹ＝１０の水平走査線の表示対象であると判定され、当該水平走査線上に描画される。続いて、ＳＡＴ−３に対応するNEXT SAT-INDEXに従って、ＳＡＴ−９が参照される。ここで、ＳＡＴ−９のＹ座標は１４であるから、ＳＡＴ−９に対応するスプライトはＹ＝１０の水平走査線に表示する対象ではない。従って、ＳＡＴ−９が参照された時点で、終了条件に合致すると判定され、ＳＡＴを参照する処理は終了となる。
【００５３】
図７には、Ｙ座標が１８の水平走査線（Ｙ＝１８）を表示する例を示す。
最初にSTART SAT番号に従ってＳＡＴ−３が参照される。ここで、ＳＡＴ−３のＹ座標は１０であり、ＳＡＴ−３のスプライトのサイズは８×８であるから、ＳＡＴ−３に対応するスプライトは、Ｙ＝１０の水平走査線からＹ＝１７の水平走査線に表示されるものであり、Ｙ＝１８の水平走査線には表示されない。従って、ＳＡＴ−３は、Ｙ＝１８の水平走査線の表示対象外として判定される。
続いて、ＳＡＴ−３に対応するNEXT SAT-INDEXに従って、ＳＡＴ−９が参照される。ＳＡＴ−９のＹ座標は１４であり、スプライトのサイズは８×８であるから、ＳＡＴ−９に対応するスプライトは、Ｙ＝１８の水平走査線の表示対象であると判定され、当該水平走査線上に描画される。
次に、ＳＡＴ−９に対応するNEXT SAT-INDEXに従って、ＳＡＴ−０が参照される。ＳＡＴ−０のＹ座標は１８であり、スプライトのサイズは８×８であるから、ＳＡＴ−０に対応するスプライトは、Ｙ＝１８の水平走査線の表示対象であると判定され、当該水平走査線上に描画される。
続いて、ＳＡＴ−０に対応するNEXT SAT-INDEXに従って、ＳＡＴ−８が参照される。ＳＡＴ−８のＹ座標は２０であるから、ＳＡＴ−８に対応するスプライトはＹ＝１８の水平走査線に表示する対象ではない。従って、ＳＡＴ−８が参照された時点で、終了条件に合致すると判定され、ＳＡＴを参照する処理が終了される。
【００５４】
なお、Ｙ＝１８の水平走査線を描画する処理において、ＳＡＴ−３は表示対象外であると判定されたため、Ｙ＝１９以降の水平走査線を描画する処理において、ＳＡＴ−３を参照する必要はない。そこで、ＳＡＴ−３が表示対象外であると判定された後、START SAT番号が、ＳＡＴ−３の次以降に参照されるＳＡＴで、かつ、表示対象外でないＳＡＴ、すなわちＳＡＴ−９に設定される。
【００５５】
図８には、Ｙ座標が２１（Ｙ＝２１）の水平走査線を描画する例を示す。
最初にSTART SAT番号に従ってＳＡＴ−９が参照される。ＳＡＴ−９のＹ座標は１４であり、スプライトのサイズは８×８であるから、ＳＡＴ−９に対応するスプライトはＹ＝１４の水平走査線からＹ＝２１の水平走査線に表示されるものである。従って、ＳＡＴ−９に対応するスプライトは、Ｙ＝２１の水平走査線の表示対象であると判定され、当該水平走査線上に描画される。
次に、ＳＡＴ−９に対応するNEXT SAT-INDEXに従って、ＳＡＴ−０が参照される。ＳＡＴ−０のＹ座標は１８であり、スプライトのサイズは８×８であるから、ＳＡＴ−０に対応するスプライトはＹ＝２１の水平走査線の表示対象であると判定され、当該水平走査線上に描画される。
続いて、ＳＡＴ−０に対応するNEXT SAT-INDEXに従って、ＳＡＴ−８が参照される。ＳＡＴ−８のＹ座標は２０であり、スプライトのサイズは８×８であるから、ＳＡＴ−８に対応するスプライトはＹ＝２１の水平走査線の表示対象であると判定され、当該水平走査線上に描画される。
次に、ＳＡＴ−８に対応するNEXT SAT-INDEXに従って、ＳＡＴ−６が参照される。ＳＡＴ−６のＹ座標は２１であり、スプライトのサイズは８×８であるから、ＳＡＴ−６に対応するスプライトはＹ＝２１の水平走査線の表示対象であると判定され、当該水平走査線上に描画される。
続いて、ＳＡＴ−６に対応するNEXT SAT-INDEXに従って、ＳＡＴ−７が参照される。ＳＡＴ−７のＹ座標は２２であるから、ＳＡＴ−７に対応するスプライトは、Ｙ＝２１の水平走査線に表示する対象ではない。従って、ＳＡＴ−７が参照された時点で、終了条件に合致すると判定され、ＳＡＴを参照する処理は終了となる。
【００５６】
図９には、Ｙ座標が２２の水平走査線（Ｙ＝２２）を表示する例を示す。
最初にSTART SAT番号に従ってＳＡＴ−９が参照される。ここで、ＳＡＴ−９のＹ座標は１４であり、ＳＡＴ−９のスプライトのサイズは８×８であるから、ＳＡＴ−９に対応するスプライトは、Ｙ＝１４の水平走査線からＹ＝２１の水平走査線に表示されるものであり、Ｙ＝２２の水平走査線には表示されない。従って、ＳＡＴ−９は、表示対象外として判定され、次に、ＳＡＴ−９に対応するNEXT SAT-INDEXに従って、ＳＡＴ−０が参照される。ＳＡＴ−０のＹ座標は１８であり、スプライトのサイズは８×８であるから、Ｙ＝２２の水平走査線上に、ＳＡＴ−０に基づいてスプライトが描画される。
続いて、ＳＡＴ−０に対応するNEXT SAT-INDEXに従って、ＳＡＴ−８が参照される。ＳＡＴ−８のＹ座標は２０であり、スプライトのサイズは８×８であるから、Ｙ＝２２の水平走査線上に、ＳＡＴ−８に基づいてスプライトが描画される。
さらに、ＳＡＴ−８に対応するNEXT SAT-INDEXに従って、ＳＡＴ−６が参照される。ＳＡＴ−６のＹ座標は２１であり、スプライトのサイズは８×８であるから、Ｙ＝２２の水平走査線上に、ＳＡＴ−６に基づいてスプライトが描画される。
次に、ＳＡＴ−６に対応するNEXT SAT-INDEXに従って、ＳＡＴ−７が参照される。ＳＡＴ−７のＹ座標は２２であり、スプライトのサイズは８×８であるから、Ｙ＝２２の水平走査線上に、ＳＡＴ−７に基づいてスプライトが描画される。
さらに、ＳＡＴ−７に対応するNEXT SAT-INDEXに従って、ＳＡＴ−２が参照される。ここで、ＳＡＴ−２のＹ座標は２４であるから、Ｙ＝２２の水平走査線に表示する対象ではない。従って、ＳＡＴ−２が参照された時点で、終了条件に合致すると判定され、ＳＡＴを参照する処理が終了される。
【００５７】
なお、図９に示すＹ＝２２の水平走査線を描画する処理においては、ＳＡＴ−９が対象外であると判定される。従って、Ｙ＝２３以降の水平走査線を描画する処理において、ＳＡＴ−９を参照する必要が無いので、START SAT番号がＳＡＴ−０に更新される。
【００５８】
図１０は、ＳＡＴ−ＲＡＭ１０２内のＳＡＴを検索した場合の検索回数を示す図表である。
図１０に示す図表において、左端の項目「Ｙ座標」は検索対象の水平走査線のＹ座標を示し、項目「終了判定」は、ＳＡＴ−ＲＡＭ１０２のＳＡＴを参照する処理において終了条件に合致したＳＡＴの有無を示し、項目「START SAT更新」は、START SAT番号の更新が行われたか否かを示す。また、項目「検索回数」は、「未使用」でないＳＡＴについて、各ＳＡＴを検索（参照）した回数を示す。また、図１０の図表においては、各ＳＡＴの番号を項目として、各ＳＡＴが参照された回数を示す。
【００５９】
なお、図１０においては、ＳＡＴ−ＲＡＭ１０２内のＳＡＴの中から特定のＳＡＴを探して参照する処理を、１回の検索を行ったものとカウントする。また、一つのＳＡＴを参照し、そのＳＡＴが終了条件に合致した場合、当該ＳＡＴは未処理となるのでＳＡＴの参照回数は「０」とカウントされるが、ＳＡＴ−ＲＡＭ１０２において当該ＳＡＴを検索しているので、「検索回数」は「１」とカウントされる。
例えば、Ｙ＝１の水平走査線を描画する処理においては、図５を参照して説明したように、最初に参照されるＳＡＴ−３に対応するスプライトは当該水平走査線上に描画されない。従って、ＳＡＴ−３が終了条件に合致するとの判定のみが行われるので、図１０の図表においては、ＳＡＴ−３以下の全てのＳＡＴについて参照回数は「０」となり、検索回数としては「１」がカウントされる。
【００６０】
また、例えば、Ｙ＝１８の水平走査線を描画する処理においては、図７を参照して説明したように、ＳＡＴ−９及びＳＡＴ−０に対応するスプライトが表示対象と判定されるので、ＳＡＴ−９及びＳＡＴ−０について参照回数が「１」となる。さらに、ＳＡＴ−３が対象外であるとの判定、及び、ＳＡＴ−８が終了条件に合致するとの判定が行われており、これらの判定は検索回数にカウントされるので、検索回数の合計は「４」となる。また、ＳＡＴ−３が対象外であったためにSTART SAT番号を更新する処理を行っているので、「START SAT更新」は「１」となる。
【００６１】
図１０に示すように、Ｙ＝０の水平走査線からＹ＝３８の水平走査線まで、各水平走査線を描画する処理を行うと、検索回数は合計で１１１回となる。この回数は、従来の方法により、全ての水平走査線を描画する処理において、ＳＡＴ−ＲＡＭ１０２に格納された全てのＳＡＴを検索する場合に比べると、極めて少ない回数である。
【００６２】
さらに、Ｙ＝３８の水平走査線を描画する処理においては、ＳＡＴ−４に対応するスプライトが、対象外であると判定される。これは、ＳＡＴ−４のＹ座標が３０であり、スプライトのサイズが８×８だからである。すると、START SAT番号が更新されるが、図５〜９に示すように、ＳＡＴ−４に対応するNEXT SAT-INDEXはＳＡＴ−ｅｎｄとなっている。つまり、ＳＡＴ−４の後に参照すべきＳＡＴは無いので、START SAT番号はＳＡＴ−ｅｎｄに更新される。
【００６３】
これにより、Ｙ＝３９以降の水平走査線を描画する処理においては、START SAT番号がＳＡＴ−ｅｎｄとなっているので、表示対象のスプライトが無い。従って、ＳＡＴ−ＲＡＭ１０２内のＳＡＴを検索・参照するまでもなく、処理が終了される。この場合、START SAT番号が参照されるだけであるから、検索回数は０となる。
【００６４】
図３〜９に示す例においては、ＳＡＴ−ＲＡＭ１０２に格納されたＳＡＴのうち、ＳＡＴ−０〜４，６〜９の９個のみが、対応するスプライトの位置情報等を含んでおり、ＳＡＴ−５及びＳＡＴ−１０以降のＳＡＴは未使用であった。
ここで、ＳＡＴ−ＲＡＭ１０２において、ＳＡＴ−０〜２５５の２５６個のＳＡＴが格納され、ＳＡＴ−５及びＳＡＴ−１０〜２５５が未使用となっている場合を考えると、上述のように、Ｙ＝３９以降の水平走査線を描画する処理においては、検索回数は「０」となる。つまり、２５６個ものＳＡＴがＳＡＴ−ＲＡＭ１０２に格納されていても、検索回数は１１１回のみとなる。
なお、未使用のＳＡＴは、並替処理部１０３によって並替処理が行われる際に無視されるため、ＳＡＴ−ＲＡＭ１０２における容量を消費するのみで、処理の負荷を増大させる要因としては殆ど無視できる。
【００６５】
ところで、上記の場合、すなわち、ＳＡＴ−ＲＡＭ１０２において、ＳＡＴ−０〜２５５の２５６個のＳＡＴが格納され、ＳＡＴ−５及びＳＡＴ−１０〜２５５が未使用となっている場合において、従来の技術と同様に、ＳＡＴ−ＲＡＭ１０２内の全てのＳＡＴを検索するケースを想定する。このケースにおいて、例えば１画面中の水平走査線（垂直方向のラスター）の数が２４０であった場合、１画面を表示する処理においてＳＡＴを検索する回数は、下記式（１）に示す計算により、６１４４０回と求められる。
２５６×２４０＝６１４４０回…（１）
【００６６】
つまり、画像表示処理装置１００においては、従来の技術によりＳＡＴを検索・参照する場合に比べ、ＳＡＴを検索する回数が極めて少ない。これにより、スプライトを表示する際の処理の負荷を大幅に軽減し、処理速度を著しく高速化できる。
【００６７】
以上のように、本発明を適用した実施の形態における画像表示処理装置１００によれば、ＳＡＴ転送部１０１によってメインメモリ１２からＳＡＴ−ＲＡＭ１０２にＳＡＴを転送し、ＳＡＴ−ＲＡＭ１０２内のＳＡＴについて、並替処理部１０３によって並替処理を実行するので、スプライトを描画する処理においては、整列されたＳＡＴを順次参照すれば良い。従って、ＳＡＴ−ＲＡＭ１０２内のＳＡＴを必要か否かにかかわらず全て検索するといった場合に比べて、ＳＡＴの検索回数・参照回数を必要最小限の回数まで減らすことができ、スプライトの描画に係る処理を非常に効率よく、高速に実行できる。
【００６８】
また、並替処理部１０３は、並替処理において、各ＳＡＴに含まれるＹ座標に基づいてＳＡＴの順序を決定し、決定した順序に基づいてNEXT SAT-INDEX及びSTART SAT番号を更新し、ＳＡＴ自体を並べ替える処理は行わない。NEXT SAT-INDEXは、次に参照されるべきＳＡＴを指定する情報であるから、ＳＡＴ自体に比べて情報量が非常に少ない。このため、並替処理部１０３は、ＳＡＴの順序を決定する並替処理を、少ない負荷で高速に実行できる。さらに、並替処理部１０３は、未使用のＳＡＴを無視して並替処理を実行するので、実質的に意味を持たないＳＡＴを参照するという無駄な処理を省くことができ、スプライトを描画する処理を極めて効率よく高速に実行できる。
【００６９】
そして、スプライトを描画する場合には、START SAT番号及びNEXT SAT-INDEXに従ってＳＡＴ−ＲＡＭ１０２内のＳＡＴを参照することにより、各ＳＡＴが対応するスプライトが表示対象であるか否かを速やかに判定することが可能となる。
また、ＳＡＴを参照する際に、あるＳＡＴが対象外のＳＡＴであると判定された場合に、当該ＳＡＴを以降の処理で参照しないようSTART SAT番号が更新されるので、無駄な処理を省き、処理効率の向上及び高速化を図ることができる。
【００７０】
なお、上記実施の形態においては、メインメモリ１２及びＳＡＴ−ＲＡＭ１０２に格納される各ＳＡＴは、各々１のスプライトに対応するものとして説明したが、本発明はこれに限定されるものではなく、１つのスプライトを画面上における複数箇所に表示する場合等、１のスプライトに対して複数のＳＡＴを対応させる場合もあり、そのような場合においても、上記実施の形態と同様に、本発明を適用することが可能である。
また、上記実施の形態において、並替処理部１０３が実行する演算処理は、上述したバブルソート、シェルソート、ヒープソート、マージソート、及びクイックソートの整列アルゴリズムに従うものに限定されず、その他の演算処理を用いることも勿論可能である。
また、上記実施の形態においては、ある水平走査線に表示するスプライトを特定するため、ＳＡＴ−ＲＡＭ１０２内の各ＳＡＴに含まれるＹ座標およびスプライトのサイズに基づいて、当該ＳＡＴに対応するスプライトが表示対象であるか否かを判定する場合について説明したが、本発明はこれに限定されるものではなく、例えば、ＳＡＴに含まれるＹ座標と、スプライトのサイズと、スプライトの形状を示す情報とに基づいて上記判定を行うことも可能であり、また、ＳＡＴのＸ座標に基づいて上記判定を行うことも可能である。
さらに、画像表示装置１の具体的な実装方法については任意であり、画像表示処理装置１００を構成する各機能部を各々別個に実現しても良いし、複数の機能部を１のハードウェアにより実現しても良く、専用のハードウェアによって実現するか、ハードウェアとソフトウェアとの協働により実現するかについても任意に変更可能である。その他の具体的な細部構成についても、適宜変更可能であることは勿論である。
【図面の簡単な説明】
【００７１】
【図１】本発明の実施の形態における画像表示装置１の機能的構成を示すブロック図である。
【図２】図１に示す画像表示処理装置１００の動作を示すフローチャートである。
【図３】図２のステップＳ１２において、メインメモリ１２に格納されたＳＡＴをＳＡＴ−ＲＡＭ１０２に転送する処理を詳細に示す図である。
【図４】図２のステップＳ１３において、ＳＡＴ−ＲＡＭ１０２に格納されたＳＡＴを並べ替える並替処理を詳細に示す図である。
【図５】図２のステップＳ１９における処理を詳細に示す図である。
【図６】図２のステップＳ１９における処理を詳細に示す図である。
【図７】図２のステップＳ１９における処理を詳細に示す図である。
【図８】図２のステップＳ１９における処理を詳細に示す図である。
【図９】図２のステップＳ１９における処理を詳細に示す図である。
【図１０】図２のステップＳ１９の処理におけるＳＡＴの検索回数を示す図表である。
【符号の説明】
【００７２】
１  画像表示装置
１１  ＣＰＵ
１２  メインメモリ
１３  バスＩ／Ｆ
１４  シーケンス制御部
１５  表示装置
１００  画像表示処理装置
１０１  ＳＡＴ転送部
１０２  ＳＡＴ−ＲＡＭ
１０３  並替処理部
１０４  スプライト制御部
１０５  背景制御部
１０６  色彩加工描画制御部
１０７，１０８  ラインバッファ
１０９  ビデオ出力部
【図１】
2005300974.tif 000003
【図２】
2005300974.tif 000004
【図３】
2005300974.tif 000005
【図４】
2005300974.tif 000006
【図５】
2005300974.tif 000007
【図６】
2005300974.tif 000008
【図７】
2005300974.tif 000009
【図８】
2005300974.tif 000010
【図９】
2005300974.tif 000011
【図１０】
2005300974.tif 000012