(57)【要約】【課題】  画素サイズよりも細かな精度でスプライトの表示位置を制御する。【解決手段】  表示装置６は、Ｒ、Ｇ、Ｂのサブ画素からなる画素を面状に配列した画素配列を有する。描画装置１の画像データ処理部１１は、表示対象であるスプライトの画像データと、画素配列におけるスプライトの目標表示位置を示す目標画素アドレスを発生する。書込制御部１２は、目標画素アドレスを量子化して、表示装置６の画素配列においてスプライトの表示に用いる各画素の位置を示す各量子化画素アドレスを発生し、各量子化画素アドレスが示すフレームメモリ４内の各エリアにスプライトの画像データを書き込む。その際、スプライトの画像データと量子化画素アドレスとの対応関係を目標画素アドレスに基づいて表示色毎に独立に制御する。【選択図】図１
2009104011.tif 000002
【特許請求の範囲】
【請求項１】
第１〜第３の表示色の３個のサブ画素からなる画素を面状に配列した画素配列を有する表示装置の前記画素配列における各画素に対応付けて、当該画素の第１〜第３の表示色の各サブ画素を各々利用して表示される第１〜第３の表示色の各画像データを各々記憶するフレームメモリに対し、表示対象であるスプライトの第１〜第３の表示色の各画像データを各々書き込む描画処理手段であって、
前記表示対象であるスプライトの各画素について、当該画素の第１〜第３の表示色の画像データと当該画素の前記表示装置の画素配列における目標表示位置を示す目標画素アドレスとを発生する画像データ処理手段と、
前記表示対象であるスプライトの各画素の第１〜第３の表示色の画像データを、前記表示装置の画素配列内の各画素のいずれかに対応付けて前記フレームメモリに書き込む手段であって、前記スプライトの各画素について、当該画素の目標画素アドレスが示す目標表示位置にある３個のサブ画素であって、同一画素に属する第１〜第３の表示色の各サブ画素または隣接する複数の画素に分かれた第１〜第３の表示色の各サブ画素により当該画素の第１〜第３の表示色の画像データの表示が行われるように、前記スプライトの各画素の第１〜第３の表示色の各画像データとこれらの各画像データの表示に用いる前記表示装置の画素配列内の各画素との対応関係を表示色毎に独立して制御する書込制御手段と
を具備する描画処理手段を具備することを特徴とする描画装置。
【請求項２】
前記書込制御手段は、前記スプライトを構成する各画素の各目標画素アドレスを量子化して、前記表示装置の画素配列内のいずれかの画素の位置を各々示す複数の量子化画素アドレスを各々発生し、各画素の目標画素アドレスの量子化誤差に基づいて、スプライトの各画素の目標画素アドレスから得られる各量子化画素アドレスに対応付けるスプライトの各画素の第１〜第３の表示色の画像データを表示色毎に独立に制御することを特徴とする請求項１に記載の描画装置。
【請求項３】
前記表示装置の画素配列内において第１〜第３の表示色の各サブ画素は一方向に並んで１つの画素を構成しており、前記書込制御手段は、前記目標画素アドレスにおける第１〜第３の表示色の各サブ画素の並び方向の成分に基づいて、前記スプライトの各画素の第１〜第３の表示色の各画像データと前記量子化画素アドレスの第１〜第３の表示色の各サブ画素の並び方向の成分との対応関係を表示色毎に独立に制御することを特徴とする請求項２に記載の描画装置。
【請求項４】
コンピュータを、
第１〜第３の表示色の３個のサブ画素からなる画素を面状に配列した画素配列を有する表示装置の前記画素配列における各画素に対応付けて、当該画素の第１〜第３の表示色の各サブ画素を各々利用して表示される第１〜第３の表示色の各画像データを各々記憶するフレームメモリに対し、表示対象であるスプライトの第１〜第３の表示色の各画像データを各々書き込む描画処理手段であって、
前記表示対象であるスプライトの各画素について、当該画素の第１〜第３の表示色の画像データと当該画素の前記表示装置の画素配列における目標表示位置を示す目標画素アドレスとを発生する画像データ処理手段と、
前記表示対象であるスプライトの各画素の第１〜第３の表示色の画像データを、前記表示装置の画素配列内の各画素のいずれかに対応付けて前記フレームメモリに書き込む手段であって、前記スプライトの各画素について、当該画素の目標画素アドレスが示す目標表示位置にある３個のサブ画素であって、同一画素に属する第１〜第３の表示色の各サブ画素または隣接する複数の画素に分かれた第１〜第３の表示色の各サブ画素により当該画素の第１〜第３の表示色の画像データの表示が行われるように、前記スプライトの各画素の第１〜第３の表示色の各画像データとこれらの各画像データの表示に用いる前記表示装置の画素配列内の各画素との対応関係を表示色毎に独立して制御する書込制御手段と
を具備する描画処理手段として機能させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、スプライトの画像の描画処理を行う装置およびプログラムに関する。
【背景技術】
【０００２】
周知の通り、描画装置は、ホストプロセッサからの指令に従い、キャラクタ等のスプライトの画像データを表示対象としてフレームメモリに書き込み、表示装置の表示画面上の任意の位置にスプライトの画像を表示させる装置である。この種の描画装置に対し、ホストプロセッサからスプライトのスクロール表示の指令が与えられる場合がある。この場合、描画装置は、スプライトの位置が一方向に小刻みに変化した複数の画像データを順次生成して、フレームメモリに順次書き込むことにより、表示装置に表示されるスプライトの画像をスクロールさせる。なお、この種のスクロールを伴う描画処理技術に関しては、例えば特許文献１に開示されている。
【特許文献１】特開２００７−４１１９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、表示装置は、一定の画素サイズの画素を縦横に並べた画素群により画像の表示を行う。このため、画素サイズの大きな表示装置では、スプライトの画素の表示位置の精度が低くなり、高精細な表示が困難になるという問題がある。この問題は、特にスプライトの表示画像のスクロールを行うような場合に顕著になる。すなわち、従来の描画装置では、如何に小刻みなピッチでスクロールを行うとしても、スプライトの表示画像を１画素サイズずつ移動させるのが限度であるため、表示装置の画素サイズが大きいと、スプライトの表示画像の移動が不連続に見え、スクロールが不自然になるのである。
【０００４】
この発明は、以上説明した事情に鑑みてなされたものであり、画素サイズよりも細かな精度でスプライトの表示位置の制御をすることが可能な描画装置およびプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００５】
この発明は、第１〜第３の表示色の３個のサブ画素からなる画素を面状に配列した画素配列を有する表示装置の前記画素配列における各画素に対応付けて、当該画素の第１〜第３の表示色の各サブ画素を各々利用して表示される第１〜第３の表示色の各画像データを各々記憶するフレームメモリに対し、表示対象であるスプライトの第１〜第３の表示色の各画像データを各々書き込む描画処理手段であって、前記表示対象であるスプライトの各画素について、当該画素の第１〜第３の表示色の画像データと当該画素の前記表示装置の画素配列における目標表示位置を示す目標画素アドレスとを発生する画像データ処理手段と、前記表示対象であるスプライトの各画素の第１〜第３の表示色の画像データを、前記表示装置の画素配列内の各画素のいずれかに対応付けて前記フレームメモリに書き込む手段であって、前記スプライトの各画素について、当該画素の目標画素アドレスが示す目標表示位置にある３個のサブ画素であって、同一画素に属する第１〜第３の表示色の各サブ画素または隣接する複数の画素に分かれた第１〜第３の表示色の各サブ画素により当該画素の第１〜第３の表示色の画像データの表示が行われるように、前記スプライトの各画素の第１〜第３の表示色の各画像データとこれらの各画像データの表示に用いる前記表示装置の画素配列内の各画素との対応関係を表示色毎に独立して制御する書込制御手段とを具備する描画処理手段を具備することを特徴とする描画装置およびコンピュータを前記描画処理手段として機能させるコンピュータプログラムを提供する。
かかる発明によれば、画像データ処理手段は、表示装置に表示させるスプライトを構成する各画素について、各画素の第１〜第３の表示色の各画像データと各画素の表示装置の画素配列における目標表示位置を示す目標画素アドレスとを発生する。そして、書込制御手段は、表示対象であるスプライトの各画素の第１〜第３の表示色の画像データを、表示装置の画素配列内の各画素のいずれかに対応付けてフレームメモリに書き込む。その際に、書込制御手段は、スプライトの各画素について、当該画素の目標画素アドレスが示す目標表示位置にある３個のサブ画素であって、同一画素に属する第１〜第３の表示色の各サブ画素または隣接する複数の画素に分かれた第１〜第３の表示色の各サブ画素により当該画素の第１〜第３の表示色の画像データの表示が行われるように、スプライトの各画素の第１〜第３の表示色の各画像データとこれらの各画像データの表示に用いる表示装置の画素配列内の各画素との対応関係を表示色毎に独立して制御する。従って、スプライトを構成する各画素の各表示色成分の表示装置における表示位置を表示色毎に独立に制御することができ、１画素サイズよりも細かい精度での表示位置の制御が可能になる。
【発明を実施するための最良の形態】
【０００６】
以下、図面を参照し、この発明の実施の形態を説明する。
図１は、この発明の一実施形態である描画装置１を含む画像処理システムの構成を示すブロック図である。この画像処理システムは、例えばパーソナルコンピュータの一部をなすものであり、描画装置１の他に、ホストプロセッサ２と、スプライトメモリ３と、フレームメモリ４と、表示制御装置５と、表示装置６とを有している。
【０００７】
本実施形態において、表示装置６は、液晶パネルとその駆動回路により構成されており、水平方向に並んだＲ、Ｇ、Ｂの各表示色のサブ画素からなる画素を縦横に配列した画素配列を有している。これらの各画素は、量子化画素アドレスの水平方向成分ＩＸおよび垂直方向成分ＩＹ（以下、単に量子化画素アドレスＩＸおよびＩＹという）により、画素配列内における位置が特定される。
【０００８】
フレームメモリ４は、表示装置６に表示する画像データを記憶するメモリであり、ＲＡＭ等により構成されている。このフレームメモリ４の記憶エリアは、Ｒプレーン４Ｒ、Ｇプレーン４Ｇ、Ｂプレーン４Ｂに分割されている。ここで、Ｒプレーン４Ｒは、表示装置６の画素配列における表示色Ｒのサブ画素の駆動に用いられる１画面分の表示色Ｒの画像データを記憶するエリア、Ｇプレーン４Ｇは、表示色Ｇのサブ画素の駆動に用いられる１画面分の表示色Ｇの画像データを記憶するエリア、Ｂプレーン４Ｂは、表示色Ｂのサブ画素の駆動に用いられる１画面分の表示色Ｂの画像データを記憶するエリアである。各プレーン４Ｒ、４Ｇ、４Ｂにおいて、各サブ画素の駆動に用いられるＲ、Ｇ、Ｂの各表示色の画像データは、そのサブ画素が属する画素の量子化画素アドレスＩＸおよびＩＹにより各々特定される。
【０００９】
表示制御装置５は、一定時間長のフレーム周期毎にフレームメモリ４に記憶されたＲ、Ｇ、Ｂの各表示色の画像データを読み出して表示装置６に与え、表示装置６に画像を表示させる制御を繰り返す。
【００１０】
スプライトメモリ３は、ゲームのキャラクタ等のスプライトの画像データを記憶するメモリであり、例えばＲＯＭにより構成されている。ホストプロセッサ２は、このスプライトメモリ３に記憶されたスプライトについての描画指令を描画装置１に与えるプロセッサである。この描画指令は、スプライトの拡大、縮小、回転の指令を伴う場合がある。また、描画指令は、スプライトの表示位置を移動させるべき旨のスクロール指令を伴う場合がある。
【００１１】
描画装置１は、ホストプロセッサ２からの描画指令に従い、スプライトメモリ３からスプライトの画像データを取得し、スプライトの画像データをフレームメモリ４に書き込むことにより、スプライトの画像を表示装置６に表示させる装置である。描画装置１は、描画処理部１０を有する。そして、描画処理部１０は、画像データ処理部１１と、書込制御部１２とを有する。好ましい態様において、描画装置１は、プロセッサであり、描画処理部１０は、このプロセッサにより実行されるコンピュータプログラムである。他の好ましい態様では、描画処理部１０は、デジタル信号処理を行う電子回路である。いずれの態様により描画処理部１０を構成するかは当業者が任意に選択し得る事項である。
【００１２】
図２は、描画処理部１０の構成およびその機能を示す図である。図２において、画像データ処理部１１は、ホストプロセッサ２からスプライトの描画指令を受け取ったとき、そのスプライトの画像データをスプライトメモリ３から読み出す。そして、画像データ処理部１１は、読み出したスプライトの画像データに対し、拡大、縮小または回転等の処理を施し、表示装置６に表示させるスプライトの各画素のＲ、Ｇ、Ｂの各表示色の画像データＲ（Ｘ、Ｙ）、Ｇ（Ｘ、Ｙ）、Ｂ（Ｘ、Ｙ）と、表示装置６の画素配列におけるスプライトの各画素の目標表示位置を示す目標画素アドレスＸ、Ｙを発生する。ここで、目標画素アドレスＸ、Ｙは、表示装置６の画素配列における隣接画素間のピッチを１とし、画素配列の原点と画素配列上のスプライトの画素の目標表示位置との間の変位ベクトルの水平方向成分の大きさおよび垂直方向成分の大きさを各々表した実数データであり、各々整数部と小数部とからなる。目標画素アドレスＸ、Ｙのうち特にＸを整数部と小数部とからなる実数データにしたのは、Ｒ、Ｇ、Ｂの各サブ画素の並び方向である水平方向でのスプライトの画像の目標表示位置を、画素サイズよりも細かなサブ画素サイズの精度で制御可能にするためである。
【００１３】
描画処理部１０は、スプライトの描画指令の一部として、スクロール速度とスクロール方向の指定を伴ったスクロール指令をホストプロセッサ２から受け取る場合がある。この場合、画像データ処理部１１は、指定されたスクロール方向に指定されたスクロール速度で移動するスプライトの画像の目標画素アドレスＸ、Ｙをフレーム周期毎に演算して出力する。
【００１４】
書込制御部１２は、表示対象であるスプライトの各画素の第１〜第３の表示色の画像データＲ（Ｘ、Ｙ）、Ｇ（Ｘ、Ｙ）、Ｂ（Ｘ、Ｙ）を、表示装置６の画素配列内の各画素のいずれかに対応付けてフレームメモリ４に書き込む装置であって、スプライトの各画素について、当該画素の目標画素アドレスＸ、Ｙが示す目標表示位置にある３個のサブ画素であって、同一画素に属する第１〜第３の表示色の各サブ画素または隣接する複数の画素に分かれた第１〜第３の表示色の各サブ画素により当該画素の第１〜第３の表示色の画像データの表示が行われるように、スプライトの各画素の第１〜第３の表示色の各画像データとこれらの各画像データの表示に用いる表示装置６の画素配列内の各画素との対応関係を表示色毎に独立して制御する。
【００１５】
さらに詳述すると、書込制御部１２は、整数部と小数部からなる実数データである目標画素アドレスＸ、Ｙを量子化ステップ「１」により量子化し、目標画素アドレスＸ、Ｙの整数部ＩＮＴ（Ｘ）、ＩＮＴ（Ｙ）を量子化画素アドレスＩＸ、ＩＹとする。そして、Ｒ、Ｇ、Ｂのうちの２色、具体的にはＲ、Ｇについて、各画素の目標画素アドレスＸの量子化誤差である小数部ＦＲＡＣ（Ｘ）を３種類の閾値ｔｈ１〜ｔｈ３と比較する。そして、比較結果に基づき、スプライトの各画素の目標画素アドレスＸ、Ｙから得られる各量子化画素アドレスＩＸ、ＩＹと、各量子化画素アドレスＩＸ、ＩＹにより特定される画素配列内の各画素により表示されるスプライトの各画素の画像データＲ（Ｘ、Ｙ）、Ｇ（Ｘ、Ｙ）との対応関係を表示色毎に独立に制御する。ここで、閾値ｔｈ１〜ｔｈ３は、ｔｈ１＜ｔｈ２＜ｔｈ３なる関係にあり、かつ、閾値ｔｈ１およびｔｈ２が１／３＝０．３３…を各々の中央に置き、閾値ｔｈ２およびｔｈ３が２／３＝０．６６…を各々の中央に置くような関係になっている。
【００１６】
まず、目標画素アドレスＸの小数部ＦＲＡＣ（Ｘ）が閾値ｔｈ１より大きく、閾値ｔｈ２以下である場合には、書込制御部１２は、スプライトの画像において画像データＲ（Ｘ、Ｙ）が示す画素よりも１画素だけ左側の画素の画像データＲ（Ｘ−１、Ｙ）を量子化画素アドレスＩＸ、ＩＹに対応付ける表示色Ｒの画像データＲＤとする。また、表示色Ｇ、Ｂについては、画像データＧ（Ｘ、Ｙ）、Ｂ（Ｘ、Ｙ）を量子化画素アドレスＩＸ、ＩＹに対応付ける表示色Ｇ、Ｂの画像データＧＤ、ＢＤとする。
【００１７】
次に、目標画素アドレスＸの小数部ＦＲＡＣ（Ｘ）が閾値ｔｈ２より大きく、閾値ｔｈ３以下である場合には、書込制御部１２は、スプライトの画像において画像データＲ（Ｘ、Ｙ）、Ｇ（Ｘ、Ｙ）が示す画素よりも１画素だけ左側の画素の画像データＲ（Ｘ−１、Ｙ）、Ｇ（Ｘ−１、Ｙ）を量子化画素アドレスＩＸ、ＩＹに対応付ける表示色Ｒ、Ｇの画像データＲＤ、ＧＤとする。また、表示色Ｂについては、画像データＢ（Ｘ、Ｙ）を量子化画素アドレスＩＸ、ＩＹに対応付ける表示色Ｂの画像データＢＤとする。
【００１８】
そして、目標画素アドレスＸの小数部ＦＲＡＣ（Ｘ）が以上述べた各範囲のいずれにも属さない場合、画像データＲ（Ｘ、Ｙ）、Ｂ（Ｘ、Ｙ）、Ｇ（Ｘ、Ｙ）を量子化画素アドレスＩＸ、ＩＹに対応付ける表示色Ｒ、Ｇ、Ｂの画像データＲＤ、ＧＤ、ＢＤとする。
【００１９】
図３は、書込制御部１２を電子回路により実現する場合の具体的構成例を示す回路図である。この例では、書込制御部１２の前段の画像データ処理部１１が、スプライトの画像を１画素ピッチで垂直方向に並んだ複数の水平線分に分解し、各水平線分を順次選択しつつ、水平線分上の各画素の画像データＲ（Ｘ、Ｙ）、Ｇ（Ｘ、Ｙ）、Ｂ（Ｘ、Ｙ）を左端の画素から右端の画素に向けて順次発生するとともに、それらの各画素の目標表示位置を示す目標画素アドレスＸ、Ｙを順次発生することを前提としている。
【００２０】
図３において、レジスタ１０１〜１０４、１１１〜１１３、１２１〜１２３、１３１、１３３は、各々のクロック端子に表示装置６のフレーム周波数よりも十分に高い周波数（具体的にはフレーム周波数に対して表示装置６の全画素数を乗じた周波数よりも高い周波数）のクロックφが与えられており、各々に与えられる入力データにクロックφの１周期分の遅延を与える遅延素子として働く。
【００２１】
レジスタ１０１は、目標画素アドレスＸの整数部ＩＮＴ（Ｘ）をクロックφにより取り込んで出力し、レジスタ１０２はこのレジスタ１０１の出力データをクロックφにより取り込み、量子化画素アドレスＩＸとしてフレームメモリ４に与える。同様にレジスタ１０３は、目標画素アドレスＹの整数部ＩＮＴ（Ｙ）をクロックφにより取り込んで出力し、レジスタ１０４はこのレジスタ１０３の出力データをクロックφにより取り込み、量子化画素アドレスＩＹとしてフレームメモリ４に与える。
【００２２】
コンパレータ１０５は、レジスタ１０３および１０４の各出力データを比較し、比較結果を示す信号を出力する。さらに詳述すると、前段の画像データ処理部１１が、スプライトにおける同一水平線分上に並んだ一連の画素の目標画素アドレスＸ、Ｙを順次発生している期間は、レジスタ１０３に取り込まれる目標画素アドレスＹの整数部ＩＮＴ（Ｙ）とレジスタ１０４から出力される量子化画素アドレスＩＹとが同じになる。この場合、コンパレータ１０５は、レジスタ１０３および１０４の各出力データ間に不一致がないことを示す信号“０”を出力する。これに対し、前段の画像データ処理部１１が、ある水平線分上の右端の画素の目標画素アドレスＸ、Ｙの発生を終え、その下の水平線分上の左端の画素から目標画素アドレスＸ、Ｙの発生を開始すると、レジスタ１０３に取り込まれる目標画素アドレスＹの整数部ＩＮＴ（Ｙ）とレジスタ１０４から出力される量子化画素アドレスＩＹとの間に不一致が生じる。この場合、コンパレータ１０５は、レジスタ１０３および１０４の各出力データ間に不一致が発生したことを示す信号“１”を出力する。
【００２３】
レジスタ１１１、１２１、１３１は、画像データＲ（Ｘ、Ｙ）、Ｇ（Ｘ、Ｙ）、Ｂ（Ｘ、Ｙ）をクロックφにより取り込んで出力する。レジスタ１１３、１２３、１３３は、このレジスタ１１１、１２１、１３１から出力される画像データＲ（Ｘ、Ｙ）、Ｇ（Ｘ、Ｙ）、Ｂ（Ｘ、Ｙ）を間接的にまたは直接的に受け取って、クロックφにより取り込み、画像データＲＤ、ＧＤ、ＢＤとしてフレームメモリ４に出力する。
【００２４】
さらに詳述すると、レジスタ１１１および１１３間には、レジスタ１１２、セレクタ１１４および１１５が介挿されている。レジスタ１１２は、レジスタ１１１の出力データにクロックφの１周期分の遅延を与えて出力する。従って、前段の画像データ処理部１１が、ある水平線分上の一連の画素の画像データＲ（Ｘ、Ｙ）を順次出力する間、レジスタ１１１は、画像データ処理部１１から出力された最新の画像データＲ（Ｘ、Ｙ）を取り込んで出力し、レジスタ１１２はレジスタ１１１が出力する画像データの１つ前の画像データ、すなわち、水平線分において左隣の画素の画像データＲ（Ｘ−１、Ｙ）を出力する。セレクタ１１４は、コンパレータ１０５の出力信号が“０”である場合はレジスタ１１２の出力データを、“１”である場合はデータ「０」を選択して出力する。なお、コンパレータ１０５の出力信号が“１”である場合にデータ「０」を選択して出力するのは、この場合に画像データ処理部１１が出力しているのはスプライトの水平線分の左端の画素の画像データであり、その左隣の画素の画像データが存在しないからである。セレクタ１１５は、目標画素アドレスＸの小数部ＦＲＡＣ（Ｘ）が閾値ｔｈ１以下である場合にレジスタ１１１が出力する画像データＲ（Ｘ、Ｙ）を選択し、閾値ｔｈ１より大きい場合にセレクタ１１４が出力する画像データＲ（Ｘ−１、Ｙ）または「０」を選択し、レジスタ１１３に出力する。
【００２５】
レジスタ１２１および１２３間にも、レジスタ１１２、セレクタ１１４および１１５と同様な役割を果たすレジスタ１２２、セレクタ１２４および１２５が挿されている。レジスタ１２２は、レジスタ１２１の出力データにクロックφの１周期分の遅延を与えて出力する。従って、前段の画像データ処理部１１が、ある水平線分上の一連の画素の画像データＧ（Ｘ、Ｙ）を順次出力する間、レジスタ１２１は、画像データ処理部１１から出力された最新の画像データＧ（Ｘ、Ｙ）を取り込んで出力し、レジスタ１２２はレジスタ１２１が出力する画像データの１つ前の画像データ、すなわち、水平線分において左隣の画素の画像データＧ（Ｘ−１、Ｙ）を出力する。セレクタ１２４は、コンパレータ１０５の出力信号が“０”である場合はレジスタ１２２の出力データを、“１”である場合はデータ「０」を選択して出力する。セレクタ１２５は、目標画素アドレスＸの小数部ＦＲＡＣ（Ｘ）が閾値ｔｈ２以下である場合にレジスタ１２１が出力する画像データＧ（Ｘ、Ｙ）を選択し、閾値ｔｈ２より大きい場合にセレクタ１２４が出力する画像データＧ（Ｘ−１、Ｙ）または「０」を選択し、レジスタ１２３に出力する。
【００２６】
レジスタ１３１および１３３間には何も介挿されておらず、レジスタ１３１が出力する画像データＢ（Ｘ、Ｙ）はレジスタ１３３に直接与えられる。
以上が図３に示す書込制御部１２の構成の詳細である。
【００２７】
この書込制御部１２によれば、スプライトの１つの画素の目標画素アドレスＸ、Ｙの整数部である量子化画素アドレスＩＸ、ＩＹがレジスタ１０２および１０４から出力されるとき、レジスタ１１３、１２３、１３３から出力される画像データＲＤ、ＧＤ、ＢＤの内容は、次のように目標画素アドレスＸの小数部ＦＲＡＣ（Ｘ）に依存したものとなる。すなわち、既に図２を参照して説明したように、ＦＲＡＣ（Ｘ）が閾値ｔｈ１より大きく、かつ、閾値ｔｈ２以下である場合には画像データＲ（Ｘ−１、Ｙ）、Ｇ（Ｘ、Ｙ）、Ｂ（Ｘ、Ｙ）が、閾値ｔｈ２より大きく、かつ、閾値ｔｈ３以下である場合には画像データＲ（Ｘ−１、Ｙ）、Ｇ（Ｘ−１、Ｙ）、Ｂ（Ｘ、Ｙ）が、それ以外の場合には画像データＲ（Ｘ、Ｙ）、Ｇ（Ｘ、Ｙ）、Ｂ（Ｘ、Ｙ）が画像データＲＤ、ＧＤ、ＢＤとしてフレームメモリ４に出力される。そして、各画像データＲＤ、ＧＤ、ＢＤは、フレームメモリ４の各プレーン４Ｒ、４Ｇ、４Ｂの各々において、量子化画素アドレスＩＸ、ＩＹにより指定される各エリアに各々書き込まれる。
【００２８】
以上のように、目標画素アドレスＸの小数部ＦＲＡＣ（Ｘ）に基づいて、表示色毎に独立に画像データＲ（Ｘ、Ｙ）、Ｂ（Ｘ、Ｙ）、Ｇ（Ｘ、Ｙ）と量子化画素アドレスＩＸ、ＩＹとの対応付け制御を行う結果、表示装置６では次のようなスプライトの画素の表示が行われる。
【００２９】
ａ．スプライトの画素の目標画素アドレスＸの小数部ＦＲＡＣ（Ｘ）が例えば１／３＝０．３３…である場合、そのスプライトの画素の画像データＧ（Ｘ）およびＢ（Ｘ）は、表示装置６の画素配列において目標画素アドレスＸ、Ｙの整数部である量子化画素アドレスＩＸ、ＩＹに対応した画素の表示色Ｇ、Ｂの各サブ画素により表示され、そのスプライトの画素の画像データＲ（Ｘ）は、量子化画素アドレスＩＸ、ＩＹに対応した画素の右隣の画素の表示色Ｒのサブ画素により表示される。
【００３０】
ｂ．スプライトの画素の目標画素アドレスＸの小数部ＦＲＡＣ（Ｘ）が例えば２／３＝０．６６…である場合、そのスプライトの画素の画像データＢ（Ｘ）は、表示装置６の画素配列において目標画素アドレスＸ、Ｙの整数部である量子化画素アドレスＩＸ、ＩＹに対応した画素の表示色Ｂのサブ画素により表示され、そのスプライトの画素の画像データＲ（Ｘ）、Ｇ（Ｘ）は、量子化画素アドレスＩＸ、ＩＹに対応した画素の右隣の画素の表示色Ｒ、Ｇの各サブ画素により表示される。
【００３１】
ｃ．スプライトの画素の目標画素アドレスＸの小数部ＦＲＡＣ（Ｘ）が例えば０である場合、そのスプライトの画素の画像データＲ（Ｘ）、Ｇ（Ｘ）、Ｂ（Ｘ）は、表示装置６の画素配列において目標画素アドレスＸ、Ｙの整数部である量子化画素アドレスＩＸ、ＩＹに対応した画素の表示色Ｒ、Ｇ、Ｂの各サブ画素により表示される。
【００３２】
以上のように本実施形態では、画像データＲ（Ｘ）、Ｇ（Ｘ）、Ｂ（Ｘ）の表示に用いるサブ画素の位置を、目標画素アドレスＸの小数部ＦＲＡＣ（Ｘ）に応じて、刻みに変化させることができる。従って、本実施形態によれば、水平方向におけるスプライトの表示位置を１サブ画素サイズ（１／３画素サイズ）の精度で制御することができる。
【００３３】
本実施形態の効果が顕著に現れるのは、描画装置１が表示装置６にスプライトのスクロール表示を行わせる場合の動作である。以下、従来技術との対比において、この効果を説明する。
【００３４】
図４（ａ）および（ｂ）は、スプライトの画像を３フレーム周期当たり１画素のスクロール速度で水平方向にスクロールさせた場合において、表示装置６の画素配列に表示されるスプライトの一本の水平線分の画像の時間的変化を例示するものであり、図４（ａ）は従来技術の下での表示例、図４（ｂ）は本実施形態における表示例を示している。なお、これらの図において、Ｒ（１）、Ｇ（１）、Ｂ（１）等は、スプライトを構成する１つの画素の各表示色の画像データを各々表しており、括弧内の数値は、同画素が水平線分内において左端から何番目の画素であるかを示すインデックスである。
【００３５】
従来技術の下では、図４（ａ）に示すように、３フレーム周期の間は、表示装置６の画素配列においてスプライトの表示画像は同一位置を占めるが、３フレーム周期の時間が経過し、次の３フレーム周期に切り換わるとき、表示装置６の画素配列においてスプライトの表示画像の占める位置が１画素分だけ右側に移動する。このような動作が３フレーム周期が経過する度に繰り返される。このため、表示装置６の画素サイズが大きいと、スプライトの表示画像が移動しては止まり、移動しては止まり、という具合に不連続に移動しているように見え、スクロールが不自然になる。
【００３６】
これに対し、本実施形態において、描画装置１の画像データ処理部１１は、３フレーム周期当たり１画素のスクロール速度で水平方向にスプライトのスクロールを行うべき旨の指令がホストプロセッサ２から与えられた場合に、指示されたスクロール速度で移動するスプライトの画像の目標画素アドレスＸ、Ｙをフレーム周期毎に演算して出力する。そして、描画装置１の書込制御部１２は、目標画素アドレスＸの小数部ＦＲＡＣ（Ｘ）に基づき、スプライトの各画素の目標画素アドレスＸから得られる各量子化画素アドレスＩＸに対応付けるスプライトの画素の画像データＲＤ、ＧＤ、ＢＤ（図４（ｂ）ではＲ（１）、Ｇ（１）、Ｂ（１）等）を１画素分だけシフトするか否かの切り換えを表示色毎に独立して制御する。このため、図４（ｂ）に例示するように、表示装置６の画素配列においてスプライトの表示画像が占める位置を１フレーム周期当たり１／３画素ずつ移動させ、滑らかなスクロール表示を行わせることが可能となる。
【００３７】
以上のように、本実施形態によれば、画素サイズよりも細かなサブ画素サイズの精度でスプライトの表示位置の制御をすることができ、高精細のスプライト表示を行うことができる。また、本実施形態によれば、画素サイズよりも細かなサブ画素サイズの精度でスプライトの表示位置の制御をすることができるので、画素サイズが大きい場合でも滑らかで自然なスプライトのスクロール表示を実現することができる。
【００３８】
以上、この発明の一実施形態について説明したが、この発明には他にも実施形態があり得る。例えば次の通りである。
【００３９】
（１）上記実施形態では、表示装置６の画素配列において、１つの画素は水平方向に並んだＲ、Ｇ、Ｂのサブ画素により構成されたが、画素の構成は、このように各色のサブ画素が一列に並んだものでなくてもよい。例えば図５に示す例では、表示装置の画素配列は、正三角形の３頂点にＲ、Ｇ、Ｂの各色のサブ画素を配置した画素Ｐｉｊ（ｉ＝１、２、…、ｊ＝１、２、…）を縦横に配列した構成となっている。
【００４０】
この例において、スプライトの１つの画素の表示位置を例えば画素Ｐ１２から画素Ｐ１３に水平方向に移動させる操作を次の手順により行ってもよい。
ａ．画素Ｐ１２の各サブ画素の駆動に用いられている画像データのうち表示色Ｂの画像データを画素Ｐ１３の表示色Ｂのサブ画素の駆動に用いる。これにより画素Ｐ１２の各サブ画素により表示されていたスプライトの画素が破線Ｐ１２ａにより囲まれたＲ、Ｇ、Ｂの各色のサブ画素により表示される。
ｂ．次に画素Ｐ１２の各サブ画素の駆動に用いられている画像データのうちＢ、Ｇの各色の画像データを画素Ｐ１３のＢ、Ｇの各色のサブ画素の駆動に用いる。これにより画素Ｐ１２の各サブ画素により表示されていたスプライトの画素が破線Ｐ１２ｂにより囲まれたＲ、Ｇ、Ｂの各色のサブ画素により表示される。
ｃ．次に画素Ｐ１２の各サブ画素の駆動に用いられている全色の画像データを画素Ｐ１３の全色のサブ画素の駆動に用いる。
以上の手順により、１画素サイズ分の表示位置の移動を３段階に分けて行うことができ、水平方向における表示位置の精度を高めることができる。
【００４１】
また、同じ例において、スプライトの１つの画素の表示位置を例えば画素Ｐ２２から画素Ｐ３２に垂直方向に移動させる操作を次の手順により行ってもよい。
ａ．画素Ｐ２２の各サブ画素の駆動に用いられている画像データのうち表示色Ｂ、Ｒの画像データを画素Ｐ３２の表示色Ｂ、Ｒのサブ画素の駆動に用いる。これにより画素Ｐ２２の各サブ画素により表示されていたスプライトの画素が破線Ｐ２２ａにより囲まれたＲ、Ｇ、Ｂの各色のサブ画素により表示される。
ｂ．次に画素Ｐ２２の各サブ画素の駆動に用いられている全色の画像データを画素Ｐ３２の全色のサブ画素の駆動に用いる。
以上の手順により、１画素サイズ分の表示位置の移動を２段階に分けて行うことができ、垂直方向における表示位置の精度を高めることができる。
【００４２】
（２）上記実施形態では、目標画素アドレスＸ、Ｙを整数部および小数部からなる実数データとしたが、例えば画素配列内の各画素の位置を量子化画素アドレスＩＸ、ＩＹの３倍の解像度で表現した整数データとしてもよい。この場合、整数データである目標画素アドレスＸ、Ｙを量子化ステップ「３」により除算して量子化画素アドレスＩＸ、ＩＹとし、除算の余りを量子化誤差として取り扱えばよい。
【００４３】
（３）上記実施形態では、本発明をスクロール機能を有する描画装置に適用したが、本発明はスクロール機能を有しない描画装置にも適用可能である。
【図面の簡単な説明】
【００４４】
【図１】この発明の一実施形態である描画装置１を含む画像処理システムの構成を示すブロック図である。
【図２】同描画装置１の描画処理部１０の構成および機能を示すブロック図である。
【図３】同描画処理部１０の書込制御部１２の具体的構成例を示す回路図である。
【図４】スプライトの画像のスクロール表示を行う場合を例に従来技術と対比して同実施形態の効果を示す図である。
【図５】本発明による描画装置が適用可能な表示装置の画素の構成と同表示装置におけるスプライトの画像の表示位置の制御の他の例を示す図である。
【符号の説明】
【００４５】
１……描画装置、１０……描画処理部、１１……画像データ処理部、１２……書込制御部、２……ホストプロセッサ、３……スプライトメモリ、４……フレームメモリ、４Ｒ……Ｒプレーン、４Ｇ……Ｇプレーン、４Ｂ……Ｂプレーン、５……表示制御装置、６……表示装置。
【図１】
2009104011.tif 000003
【図２】
2009104011.tif 000004
【図３】
2009104011.tif 000005
【図４】
2009104011.tif 000006
【図５】
2009104011.tif 000007