JP2009104011A - 描画処理を行う装置およびプログラム - Google Patents
描画処理を行う装置およびプログラム Download PDFInfo
- Publication number
- JP2009104011A JP2009104011A JP2007277130A JP2007277130A JP2009104011A JP 2009104011 A JP2009104011 A JP 2009104011A JP 2007277130 A JP2007277130 A JP 2007277130A JP 2007277130 A JP2007277130 A JP 2007277130A JP 2009104011 A JP2009104011 A JP 2009104011A
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- display
- image data
- sprite
- pixels
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Controls And Circuits For Display Device (AREA)
Abstract
【課題】 画素サイズよりも細かな精度でスプライトの表示位置を制御する。
【解決手段】 表示装置6は、R、G、Bのサブ画素からなる画素を面状に配列した画素配列を有する。描画装置1の画像データ処理部11は、表示対象であるスプライトの画像データと、画素配列におけるスプライトの目標表示位置を示す目標画素アドレスを発生する。書込制御部12は、目標画素アドレスを量子化して、表示装置6の画素配列においてスプライトの表示に用いる各画素の位置を示す各量子化画素アドレスを発生し、各量子化画素アドレスが示すフレームメモリ4内の各エリアにスプライトの画像データを書き込む。その際、スプライトの画像データと量子化画素アドレスとの対応関係を目標画素アドレスに基づいて表示色毎に独立に制御する。
【選択図】図1
【解決手段】 表示装置6は、R、G、Bのサブ画素からなる画素を面状に配列した画素配列を有する。描画装置1の画像データ処理部11は、表示対象であるスプライトの画像データと、画素配列におけるスプライトの目標表示位置を示す目標画素アドレスを発生する。書込制御部12は、目標画素アドレスを量子化して、表示装置6の画素配列においてスプライトの表示に用いる各画素の位置を示す各量子化画素アドレスを発生し、各量子化画素アドレスが示すフレームメモリ4内の各エリアにスプライトの画像データを書き込む。その際、スプライトの画像データと量子化画素アドレスとの対応関係を目標画素アドレスに基づいて表示色毎に独立に制御する。
【選択図】図1
Description
この発明は、スプライトの画像の描画処理を行う装置およびプログラムに関する。
周知の通り、描画装置は、ホストプロセッサからの指令に従い、キャラクタ等のスプライトの画像データを表示対象としてフレームメモリに書き込み、表示装置の表示画面上の任意の位置にスプライトの画像を表示させる装置である。この種の描画装置に対し、ホストプロセッサからスプライトのスクロール表示の指令が与えられる場合がある。この場合、描画装置は、スプライトの位置が一方向に小刻みに変化した複数の画像データを順次生成して、フレームメモリに順次書き込むことにより、表示装置に表示されるスプライトの画像をスクロールさせる。なお、この種のスクロールを伴う描画処理技術に関しては、例えば特許文献1に開示されている。
特開2007−41196号公報
ところで、表示装置は、一定の画素サイズの画素を縦横に並べた画素群により画像の表示を行う。このため、画素サイズの大きな表示装置では、スプライトの画素の表示位置の精度が低くなり、高精細な表示が困難になるという問題がある。この問題は、特にスプライトの表示画像のスクロールを行うような場合に顕著になる。すなわち、従来の描画装置では、如何に小刻みなピッチでスクロールを行うとしても、スプライトの表示画像を1画素サイズずつ移動させるのが限度であるため、表示装置の画素サイズが大きいと、スプライトの表示画像の移動が不連続に見え、スクロールが不自然になるのである。
この発明は、以上説明した事情に鑑みてなされたものであり、画素サイズよりも細かな精度でスプライトの表示位置の制御をすることが可能な描画装置およびプログラムを提供することを目的としている。
この発明は、第1〜第3の表示色の3個のサブ画素からなる画素を面状に配列した画素配列を有する表示装置の前記画素配列における各画素に対応付けて、当該画素の第1〜第3の表示色の各サブ画素を各々利用して表示される第1〜第3の表示色の各画像データを各々記憶するフレームメモリに対し、表示対象であるスプライトの第1〜第3の表示色の各画像データを各々書き込む描画処理手段であって、前記表示対象であるスプライトの各画素について、当該画素の第1〜第3の表示色の画像データと当該画素の前記表示装置の画素配列における目標表示位置を示す目標画素アドレスとを発生する画像データ処理手段と、前記表示対象であるスプライトの各画素の第1〜第3の表示色の画像データを、前記表示装置の画素配列内の各画素のいずれかに対応付けて前記フレームメモリに書き込む手段であって、前記スプライトの各画素について、当該画素の目標画素アドレスが示す目標表示位置にある3個のサブ画素であって、同一画素に属する第1〜第3の表示色の各サブ画素または隣接する複数の画素に分かれた第1〜第3の表示色の各サブ画素により当該画素の第1〜第3の表示色の画像データの表示が行われるように、前記スプライトの各画素の第1〜第3の表示色の各画像データとこれらの各画像データの表示に用いる前記表示装置の画素配列内の各画素との対応関係を表示色毎に独立して制御する書込制御手段とを具備する描画処理手段を具備することを特徴とする描画装置およびコンピュータを前記描画処理手段として機能させるコンピュータプログラムを提供する。
かかる発明によれば、画像データ処理手段は、表示装置に表示させるスプライトを構成する各画素について、各画素の第1〜第3の表示色の各画像データと各画素の表示装置の画素配列における目標表示位置を示す目標画素アドレスとを発生する。そして、書込制御手段は、表示対象であるスプライトの各画素の第1〜第3の表示色の画像データを、表示装置の画素配列内の各画素のいずれかに対応付けてフレームメモリに書き込む。その際に、書込制御手段は、スプライトの各画素について、当該画素の目標画素アドレスが示す目標表示位置にある3個のサブ画素であって、同一画素に属する第1〜第3の表示色の各サブ画素または隣接する複数の画素に分かれた第1〜第3の表示色の各サブ画素により当該画素の第1〜第3の表示色の画像データの表示が行われるように、スプライトの各画素の第1〜第3の表示色の各画像データとこれらの各画像データの表示に用いる表示装置の画素配列内の各画素との対応関係を表示色毎に独立して制御する。従って、スプライトを構成する各画素の各表示色成分の表示装置における表示位置を表示色毎に独立に制御することができ、1画素サイズよりも細かい精度での表示位置の制御が可能になる。
かかる発明によれば、画像データ処理手段は、表示装置に表示させるスプライトを構成する各画素について、各画素の第1〜第3の表示色の各画像データと各画素の表示装置の画素配列における目標表示位置を示す目標画素アドレスとを発生する。そして、書込制御手段は、表示対象であるスプライトの各画素の第1〜第3の表示色の画像データを、表示装置の画素配列内の各画素のいずれかに対応付けてフレームメモリに書き込む。その際に、書込制御手段は、スプライトの各画素について、当該画素の目標画素アドレスが示す目標表示位置にある3個のサブ画素であって、同一画素に属する第1〜第3の表示色の各サブ画素または隣接する複数の画素に分かれた第1〜第3の表示色の各サブ画素により当該画素の第1〜第3の表示色の画像データの表示が行われるように、スプライトの各画素の第1〜第3の表示色の各画像データとこれらの各画像データの表示に用いる表示装置の画素配列内の各画素との対応関係を表示色毎に独立して制御する。従って、スプライトを構成する各画素の各表示色成分の表示装置における表示位置を表示色毎に独立に制御することができ、1画素サイズよりも細かい精度での表示位置の制御が可能になる。
以下、図面を参照し、この発明の実施の形態を説明する。
図1は、この発明の一実施形態である描画装置1を含む画像処理システムの構成を示すブロック図である。この画像処理システムは、例えばパーソナルコンピュータの一部をなすものであり、描画装置1の他に、ホストプロセッサ2と、スプライトメモリ3と、フレームメモリ4と、表示制御装置5と、表示装置6とを有している。
図1は、この発明の一実施形態である描画装置1を含む画像処理システムの構成を示すブロック図である。この画像処理システムは、例えばパーソナルコンピュータの一部をなすものであり、描画装置1の他に、ホストプロセッサ2と、スプライトメモリ3と、フレームメモリ4と、表示制御装置5と、表示装置6とを有している。
本実施形態において、表示装置6は、液晶パネルとその駆動回路により構成されており、水平方向に並んだR、G、Bの各表示色のサブ画素からなる画素を縦横に配列した画素配列を有している。これらの各画素は、量子化画素アドレスの水平方向成分IXおよび垂直方向成分IY(以下、単に量子化画素アドレスIXおよびIYという)により、画素配列内における位置が特定される。
フレームメモリ4は、表示装置6に表示する画像データを記憶するメモリであり、RAM等により構成されている。このフレームメモリ4の記憶エリアは、Rプレーン4R、Gプレーン4G、Bプレーン4Bに分割されている。ここで、Rプレーン4Rは、表示装置6の画素配列における表示色Rのサブ画素の駆動に用いられる1画面分の表示色Rの画像データを記憶するエリア、Gプレーン4Gは、表示色Gのサブ画素の駆動に用いられる1画面分の表示色Gの画像データを記憶するエリア、Bプレーン4Bは、表示色Bのサブ画素の駆動に用いられる1画面分の表示色Bの画像データを記憶するエリアである。各プレーン4R、4G、4Bにおいて、各サブ画素の駆動に用いられるR、G、Bの各表示色の画像データは、そのサブ画素が属する画素の量子化画素アドレスIXおよびIYにより各々特定される。
表示制御装置5は、一定時間長のフレーム周期毎にフレームメモリ4に記憶されたR、G、Bの各表示色の画像データを読み出して表示装置6に与え、表示装置6に画像を表示させる制御を繰り返す。
スプライトメモリ3は、ゲームのキャラクタ等のスプライトの画像データを記憶するメモリであり、例えばROMにより構成されている。ホストプロセッサ2は、このスプライトメモリ3に記憶されたスプライトについての描画指令を描画装置1に与えるプロセッサである。この描画指令は、スプライトの拡大、縮小、回転の指令を伴う場合がある。また、描画指令は、スプライトの表示位置を移動させるべき旨のスクロール指令を伴う場合がある。
描画装置1は、ホストプロセッサ2からの描画指令に従い、スプライトメモリ3からスプライトの画像データを取得し、スプライトの画像データをフレームメモリ4に書き込むことにより、スプライトの画像を表示装置6に表示させる装置である。描画装置1は、描画処理部10を有する。そして、描画処理部10は、画像データ処理部11と、書込制御部12とを有する。好ましい態様において、描画装置1は、プロセッサであり、描画処理部10は、このプロセッサにより実行されるコンピュータプログラムである。他の好ましい態様では、描画処理部10は、デジタル信号処理を行う電子回路である。いずれの態様により描画処理部10を構成するかは当業者が任意に選択し得る事項である。
図2は、描画処理部10の構成およびその機能を示す図である。図2において、画像データ処理部11は、ホストプロセッサ2からスプライトの描画指令を受け取ったとき、そのスプライトの画像データをスプライトメモリ3から読み出す。そして、画像データ処理部11は、読み出したスプライトの画像データに対し、拡大、縮小または回転等の処理を施し、表示装置6に表示させるスプライトの各画素のR、G、Bの各表示色の画像データR(X、Y)、G(X、Y)、B(X、Y)と、表示装置6の画素配列におけるスプライトの各画素の目標表示位置を示す目標画素アドレスX、Yを発生する。ここで、目標画素アドレスX、Yは、表示装置6の画素配列における隣接画素間のピッチを1とし、画素配列の原点と画素配列上のスプライトの画素の目標表示位置との間の変位ベクトルの水平方向成分の大きさおよび垂直方向成分の大きさを各々表した実数データであり、各々整数部と小数部とからなる。目標画素アドレスX、Yのうち特にXを整数部と小数部とからなる実数データにしたのは、R、G、Bの各サブ画素の並び方向である水平方向でのスプライトの画像の目標表示位置を、画素サイズよりも細かなサブ画素サイズの精度で制御可能にするためである。
描画処理部10は、スプライトの描画指令の一部として、スクロール速度とスクロール方向の指定を伴ったスクロール指令をホストプロセッサ2から受け取る場合がある。この場合、画像データ処理部11は、指定されたスクロール方向に指定されたスクロール速度で移動するスプライトの画像の目標画素アドレスX、Yをフレーム周期毎に演算して出力する。
書込制御部12は、表示対象であるスプライトの各画素の第1〜第3の表示色の画像データR(X、Y)、G(X、Y)、B(X、Y)を、表示装置6の画素配列内の各画素のいずれかに対応付けてフレームメモリ4に書き込む装置であって、スプライトの各画素について、当該画素の目標画素アドレスX、Yが示す目標表示位置にある3個のサブ画素であって、同一画素に属する第1〜第3の表示色の各サブ画素または隣接する複数の画素に分かれた第1〜第3の表示色の各サブ画素により当該画素の第1〜第3の表示色の画像データの表示が行われるように、スプライトの各画素の第1〜第3の表示色の各画像データとこれらの各画像データの表示に用いる表示装置6の画素配列内の各画素との対応関係を表示色毎に独立して制御する。
さらに詳述すると、書込制御部12は、整数部と小数部からなる実数データである目標画素アドレスX、Yを量子化ステップ「1」により量子化し、目標画素アドレスX、Yの整数部INT(X)、INT(Y)を量子化画素アドレスIX、IYとする。そして、R、G、Bのうちの2色、具体的にはR、Gについて、各画素の目標画素アドレスXの量子化誤差である小数部FRAC(X)を3種類の閾値th1〜th3と比較する。そして、比較結果に基づき、スプライトの各画素の目標画素アドレスX、Yから得られる各量子化画素アドレスIX、IYと、各量子化画素アドレスIX、IYにより特定される画素配列内の各画素により表示されるスプライトの各画素の画像データR(X、Y)、G(X、Y)との対応関係を表示色毎に独立に制御する。ここで、閾値th1〜th3は、th1<th2<th3なる関係にあり、かつ、閾値th1およびth2が1/3=0.33…を各々の中央に置き、閾値th2およびth3が2/3=0.66…を各々の中央に置くような関係になっている。
まず、目標画素アドレスXの小数部FRAC(X)が閾値th1より大きく、閾値th2以下である場合には、書込制御部12は、スプライトの画像において画像データR(X、Y)が示す画素よりも1画素だけ左側の画素の画像データR(X−1、Y)を量子化画素アドレスIX、IYに対応付ける表示色Rの画像データRDとする。また、表示色G、Bについては、画像データG(X、Y)、B(X、Y)を量子化画素アドレスIX、IYに対応付ける表示色G、Bの画像データGD、BDとする。
次に、目標画素アドレスXの小数部FRAC(X)が閾値th2より大きく、閾値th3以下である場合には、書込制御部12は、スプライトの画像において画像データR(X、Y)、G(X、Y)が示す画素よりも1画素だけ左側の画素の画像データR(X−1、Y)、G(X−1、Y)を量子化画素アドレスIX、IYに対応付ける表示色R、Gの画像データRD、GDとする。また、表示色Bについては、画像データB(X、Y)を量子化画素アドレスIX、IYに対応付ける表示色Bの画像データBDとする。
そして、目標画素アドレスXの小数部FRAC(X)が以上述べた各範囲のいずれにも属さない場合、画像データR(X、Y)、B(X、Y)、G(X、Y)を量子化画素アドレスIX、IYに対応付ける表示色R、G、Bの画像データRD、GD、BDとする。
図3は、書込制御部12を電子回路により実現する場合の具体的構成例を示す回路図である。この例では、書込制御部12の前段の画像データ処理部11が、スプライトの画像を1画素ピッチで垂直方向に並んだ複数の水平線分に分解し、各水平線分を順次選択しつつ、水平線分上の各画素の画像データR(X、Y)、G(X、Y)、B(X、Y)を左端の画素から右端の画素に向けて順次発生するとともに、それらの各画素の目標表示位置を示す目標画素アドレスX、Yを順次発生することを前提としている。
図3において、レジスタ101〜104、111〜113、121〜123、131、133は、各々のクロック端子に表示装置6のフレーム周波数よりも十分に高い周波数(具体的にはフレーム周波数に対して表示装置6の全画素数を乗じた周波数よりも高い周波数)のクロックφが与えられており、各々に与えられる入力データにクロックφの1周期分の遅延を与える遅延素子として働く。
レジスタ101は、目標画素アドレスXの整数部INT(X)をクロックφにより取り込んで出力し、レジスタ102はこのレジスタ101の出力データをクロックφにより取り込み、量子化画素アドレスIXとしてフレームメモリ4に与える。同様にレジスタ103は、目標画素アドレスYの整数部INT(Y)をクロックφにより取り込んで出力し、レジスタ104はこのレジスタ103の出力データをクロックφにより取り込み、量子化画素アドレスIYとしてフレームメモリ4に与える。
コンパレータ105は、レジスタ103および104の各出力データを比較し、比較結果を示す信号を出力する。さらに詳述すると、前段の画像データ処理部11が、スプライトにおける同一水平線分上に並んだ一連の画素の目標画素アドレスX、Yを順次発生している期間は、レジスタ103に取り込まれる目標画素アドレスYの整数部INT(Y)とレジスタ104から出力される量子化画素アドレスIYとが同じになる。この場合、コンパレータ105は、レジスタ103および104の各出力データ間に不一致がないことを示す信号“0”を出力する。これに対し、前段の画像データ処理部11が、ある水平線分上の右端の画素の目標画素アドレスX、Yの発生を終え、その下の水平線分上の左端の画素から目標画素アドレスX、Yの発生を開始すると、レジスタ103に取り込まれる目標画素アドレスYの整数部INT(Y)とレジスタ104から出力される量子化画素アドレスIYとの間に不一致が生じる。この場合、コンパレータ105は、レジスタ103および104の各出力データ間に不一致が発生したことを示す信号“1”を出力する。
レジスタ111、121、131は、画像データR(X、Y)、G(X、Y)、B(X、Y)をクロックφにより取り込んで出力する。レジスタ113、123、133は、このレジスタ111、121、131から出力される画像データR(X、Y)、G(X、Y)、B(X、Y)を間接的にまたは直接的に受け取って、クロックφにより取り込み、画像データRD、GD、BDとしてフレームメモリ4に出力する。
さらに詳述すると、レジスタ111および113間には、レジスタ112、セレクタ114および115が介挿されている。レジスタ112は、レジスタ111の出力データにクロックφの1周期分の遅延を与えて出力する。従って、前段の画像データ処理部11が、ある水平線分上の一連の画素の画像データR(X、Y)を順次出力する間、レジスタ111は、画像データ処理部11から出力された最新の画像データR(X、Y)を取り込んで出力し、レジスタ112はレジスタ111が出力する画像データの1つ前の画像データ、すなわち、水平線分において左隣の画素の画像データR(X−1、Y)を出力する。セレクタ114は、コンパレータ105の出力信号が“0”である場合はレジスタ112の出力データを、“1”である場合はデータ「0」を選択して出力する。なお、コンパレータ105の出力信号が“1”である場合にデータ「0」を選択して出力するのは、この場合に画像データ処理部11が出力しているのはスプライトの水平線分の左端の画素の画像データであり、その左隣の画素の画像データが存在しないからである。セレクタ115は、目標画素アドレスXの小数部FRAC(X)が閾値th1以下である場合にレジスタ111が出力する画像データR(X、Y)を選択し、閾値th1より大きい場合にセレクタ114が出力する画像データR(X−1、Y)または「0」を選択し、レジスタ113に出力する。
レジスタ121および123間にも、レジスタ112、セレクタ114および115と同様な役割を果たすレジスタ122、セレクタ124および125が挿されている。レジスタ122は、レジスタ121の出力データにクロックφの1周期分の遅延を与えて出力する。従って、前段の画像データ処理部11が、ある水平線分上の一連の画素の画像データG(X、Y)を順次出力する間、レジスタ121は、画像データ処理部11から出力された最新の画像データG(X、Y)を取り込んで出力し、レジスタ122はレジスタ121が出力する画像データの1つ前の画像データ、すなわち、水平線分において左隣の画素の画像データG(X−1、Y)を出力する。セレクタ124は、コンパレータ105の出力信号が“0”である場合はレジスタ122の出力データを、“1”である場合はデータ「0」を選択して出力する。セレクタ125は、目標画素アドレスXの小数部FRAC(X)が閾値th2以下である場合にレジスタ121が出力する画像データG(X、Y)を選択し、閾値th2より大きい場合にセレクタ124が出力する画像データG(X−1、Y)または「0」を選択し、レジスタ123に出力する。
レジスタ131および133間には何も介挿されておらず、レジスタ131が出力する画像データB(X、Y)はレジスタ133に直接与えられる。
以上が図3に示す書込制御部12の構成の詳細である。
以上が図3に示す書込制御部12の構成の詳細である。
この書込制御部12によれば、スプライトの1つの画素の目標画素アドレスX、Yの整数部である量子化画素アドレスIX、IYがレジスタ102および104から出力されるとき、レジスタ113、123、133から出力される画像データRD、GD、BDの内容は、次のように目標画素アドレスXの小数部FRAC(X)に依存したものとなる。すなわち、既に図2を参照して説明したように、FRAC(X)が閾値th1より大きく、かつ、閾値th2以下である場合には画像データR(X−1、Y)、G(X、Y)、B(X、Y)が、閾値th2より大きく、かつ、閾値th3以下である場合には画像データR(X−1、Y)、G(X−1、Y)、B(X、Y)が、それ以外の場合には画像データR(X、Y)、G(X、Y)、B(X、Y)が画像データRD、GD、BDとしてフレームメモリ4に出力される。そして、各画像データRD、GD、BDは、フレームメモリ4の各プレーン4R、4G、4Bの各々において、量子化画素アドレスIX、IYにより指定される各エリアに各々書き込まれる。
以上のように、目標画素アドレスXの小数部FRAC(X)に基づいて、表示色毎に独立に画像データR(X、Y)、B(X、Y)、G(X、Y)と量子化画素アドレスIX、IYとの対応付け制御を行う結果、表示装置6では次のようなスプライトの画素の表示が行われる。
a.スプライトの画素の目標画素アドレスXの小数部FRAC(X)が例えば1/3=0.33…である場合、そのスプライトの画素の画像データG(X)およびB(X)は、表示装置6の画素配列において目標画素アドレスX、Yの整数部である量子化画素アドレスIX、IYに対応した画素の表示色G、Bの各サブ画素により表示され、そのスプライトの画素の画像データR(X)は、量子化画素アドレスIX、IYに対応した画素の右隣の画素の表示色Rのサブ画素により表示される。
b.スプライトの画素の目標画素アドレスXの小数部FRAC(X)が例えば2/3=0.66…である場合、そのスプライトの画素の画像データB(X)は、表示装置6の画素配列において目標画素アドレスX、Yの整数部である量子化画素アドレスIX、IYに対応した画素の表示色Bのサブ画素により表示され、そのスプライトの画素の画像データR(X)、G(X)は、量子化画素アドレスIX、IYに対応した画素の右隣の画素の表示色R、Gの各サブ画素により表示される。
c.スプライトの画素の目標画素アドレスXの小数部FRAC(X)が例えば0である場合、そのスプライトの画素の画像データR(X)、G(X)、B(X)は、表示装置6の画素配列において目標画素アドレスX、Yの整数部である量子化画素アドレスIX、IYに対応した画素の表示色R、G、Bの各サブ画素により表示される。
以上のように本実施形態では、画像データR(X)、G(X)、B(X)の表示に用いるサブ画素の位置を、目標画素アドレスXの小数部FRAC(X)に応じて、刻みに変化させることができる。従って、本実施形態によれば、水平方向におけるスプライトの表示位置を1サブ画素サイズ(1/3画素サイズ)の精度で制御することができる。
本実施形態の効果が顕著に現れるのは、描画装置1が表示装置6にスプライトのスクロール表示を行わせる場合の動作である。以下、従来技術との対比において、この効果を説明する。
図4(a)および(b)は、スプライトの画像を3フレーム周期当たり1画素のスクロール速度で水平方向にスクロールさせた場合において、表示装置6の画素配列に表示されるスプライトの一本の水平線分の画像の時間的変化を例示するものであり、図4(a)は従来技術の下での表示例、図4(b)は本実施形態における表示例を示している。なお、これらの図において、R(1)、G(1)、B(1)等は、スプライトを構成する1つの画素の各表示色の画像データを各々表しており、括弧内の数値は、同画素が水平線分内において左端から何番目の画素であるかを示すインデックスである。
従来技術の下では、図4(a)に示すように、3フレーム周期の間は、表示装置6の画素配列においてスプライトの表示画像は同一位置を占めるが、3フレーム周期の時間が経過し、次の3フレーム周期に切り換わるとき、表示装置6の画素配列においてスプライトの表示画像の占める位置が1画素分だけ右側に移動する。このような動作が3フレーム周期が経過する度に繰り返される。このため、表示装置6の画素サイズが大きいと、スプライトの表示画像が移動しては止まり、移動しては止まり、という具合に不連続に移動しているように見え、スクロールが不自然になる。
これに対し、本実施形態において、描画装置1の画像データ処理部11は、3フレーム周期当たり1画素のスクロール速度で水平方向にスプライトのスクロールを行うべき旨の指令がホストプロセッサ2から与えられた場合に、指示されたスクロール速度で移動するスプライトの画像の目標画素アドレスX、Yをフレーム周期毎に演算して出力する。そして、描画装置1の書込制御部12は、目標画素アドレスXの小数部FRAC(X)に基づき、スプライトの各画素の目標画素アドレスXから得られる各量子化画素アドレスIXに対応付けるスプライトの画素の画像データRD、GD、BD(図4(b)ではR(1)、G(1)、B(1)等)を1画素分だけシフトするか否かの切り換えを表示色毎に独立して制御する。このため、図4(b)に例示するように、表示装置6の画素配列においてスプライトの表示画像が占める位置を1フレーム周期当たり1/3画素ずつ移動させ、滑らかなスクロール表示を行わせることが可能となる。
以上のように、本実施形態によれば、画素サイズよりも細かなサブ画素サイズの精度でスプライトの表示位置の制御をすることができ、高精細のスプライト表示を行うことができる。また、本実施形態によれば、画素サイズよりも細かなサブ画素サイズの精度でスプライトの表示位置の制御をすることができるので、画素サイズが大きい場合でも滑らかで自然なスプライトのスクロール表示を実現することができる。
以上、この発明の一実施形態について説明したが、この発明には他にも実施形態があり得る。例えば次の通りである。
(1)上記実施形態では、表示装置6の画素配列において、1つの画素は水平方向に並んだR、G、Bのサブ画素により構成されたが、画素の構成は、このように各色のサブ画素が一列に並んだものでなくてもよい。例えば図5に示す例では、表示装置の画素配列は、正三角形の3頂点にR、G、Bの各色のサブ画素を配置した画素Pij(i=1、2、…、j=1、2、…)を縦横に配列した構成となっている。
この例において、スプライトの1つの画素の表示位置を例えば画素P12から画素P13に水平方向に移動させる操作を次の手順により行ってもよい。
a.画素P12の各サブ画素の駆動に用いられている画像データのうち表示色Bの画像データを画素P13の表示色Bのサブ画素の駆動に用いる。これにより画素P12の各サブ画素により表示されていたスプライトの画素が破線P12aにより囲まれたR、G、Bの各色のサブ画素により表示される。
b.次に画素P12の各サブ画素の駆動に用いられている画像データのうちB、Gの各色の画像データを画素P13のB、Gの各色のサブ画素の駆動に用いる。これにより画素P12の各サブ画素により表示されていたスプライトの画素が破線P12bにより囲まれたR、G、Bの各色のサブ画素により表示される。
c.次に画素P12の各サブ画素の駆動に用いられている全色の画像データを画素P13の全色のサブ画素の駆動に用いる。
以上の手順により、1画素サイズ分の表示位置の移動を3段階に分けて行うことができ、水平方向における表示位置の精度を高めることができる。
a.画素P12の各サブ画素の駆動に用いられている画像データのうち表示色Bの画像データを画素P13の表示色Bのサブ画素の駆動に用いる。これにより画素P12の各サブ画素により表示されていたスプライトの画素が破線P12aにより囲まれたR、G、Bの各色のサブ画素により表示される。
b.次に画素P12の各サブ画素の駆動に用いられている画像データのうちB、Gの各色の画像データを画素P13のB、Gの各色のサブ画素の駆動に用いる。これにより画素P12の各サブ画素により表示されていたスプライトの画素が破線P12bにより囲まれたR、G、Bの各色のサブ画素により表示される。
c.次に画素P12の各サブ画素の駆動に用いられている全色の画像データを画素P13の全色のサブ画素の駆動に用いる。
以上の手順により、1画素サイズ分の表示位置の移動を3段階に分けて行うことができ、水平方向における表示位置の精度を高めることができる。
また、同じ例において、スプライトの1つの画素の表示位置を例えば画素P22から画素P32に垂直方向に移動させる操作を次の手順により行ってもよい。
a.画素P22の各サブ画素の駆動に用いられている画像データのうち表示色B、Rの画像データを画素P32の表示色B、Rのサブ画素の駆動に用いる。これにより画素P22の各サブ画素により表示されていたスプライトの画素が破線P22aにより囲まれたR、G、Bの各色のサブ画素により表示される。
b.次に画素P22の各サブ画素の駆動に用いられている全色の画像データを画素P32の全色のサブ画素の駆動に用いる。
以上の手順により、1画素サイズ分の表示位置の移動を2段階に分けて行うことができ、垂直方向における表示位置の精度を高めることができる。
a.画素P22の各サブ画素の駆動に用いられている画像データのうち表示色B、Rの画像データを画素P32の表示色B、Rのサブ画素の駆動に用いる。これにより画素P22の各サブ画素により表示されていたスプライトの画素が破線P22aにより囲まれたR、G、Bの各色のサブ画素により表示される。
b.次に画素P22の各サブ画素の駆動に用いられている全色の画像データを画素P32の全色のサブ画素の駆動に用いる。
以上の手順により、1画素サイズ分の表示位置の移動を2段階に分けて行うことができ、垂直方向における表示位置の精度を高めることができる。
(2)上記実施形態では、目標画素アドレスX、Yを整数部および小数部からなる実数データとしたが、例えば画素配列内の各画素の位置を量子化画素アドレスIX、IYの3倍の解像度で表現した整数データとしてもよい。この場合、整数データである目標画素アドレスX、Yを量子化ステップ「3」により除算して量子化画素アドレスIX、IYとし、除算の余りを量子化誤差として取り扱えばよい。
(3)上記実施形態では、本発明をスクロール機能を有する描画装置に適用したが、本発明はスクロール機能を有しない描画装置にも適用可能である。
1……描画装置、10……描画処理部、11……画像データ処理部、12……書込制御部、2……ホストプロセッサ、3……スプライトメモリ、4……フレームメモリ、4R……Rプレーン、4G……Gプレーン、4B……Bプレーン、5……表示制御装置、6……表示装置。
Claims (4)
- 第1〜第3の表示色の3個のサブ画素からなる画素を面状に配列した画素配列を有する表示装置の前記画素配列における各画素に対応付けて、当該画素の第1〜第3の表示色の各サブ画素を各々利用して表示される第1〜第3の表示色の各画像データを各々記憶するフレームメモリに対し、表示対象であるスプライトの第1〜第3の表示色の各画像データを各々書き込む描画処理手段であって、
前記表示対象であるスプライトの各画素について、当該画素の第1〜第3の表示色の画像データと当該画素の前記表示装置の画素配列における目標表示位置を示す目標画素アドレスとを発生する画像データ処理手段と、
前記表示対象であるスプライトの各画素の第1〜第3の表示色の画像データを、前記表示装置の画素配列内の各画素のいずれかに対応付けて前記フレームメモリに書き込む手段であって、前記スプライトの各画素について、当該画素の目標画素アドレスが示す目標表示位置にある3個のサブ画素であって、同一画素に属する第1〜第3の表示色の各サブ画素または隣接する複数の画素に分かれた第1〜第3の表示色の各サブ画素により当該画素の第1〜第3の表示色の画像データの表示が行われるように、前記スプライトの各画素の第1〜第3の表示色の各画像データとこれらの各画像データの表示に用いる前記表示装置の画素配列内の各画素との対応関係を表示色毎に独立して制御する書込制御手段と
を具備する描画処理手段を具備することを特徴とする描画装置。 - 前記書込制御手段は、前記スプライトを構成する各画素の各目標画素アドレスを量子化して、前記表示装置の画素配列内のいずれかの画素の位置を各々示す複数の量子化画素アドレスを各々発生し、各画素の目標画素アドレスの量子化誤差に基づいて、スプライトの各画素の目標画素アドレスから得られる各量子化画素アドレスに対応付けるスプライトの各画素の第1〜第3の表示色の画像データを表示色毎に独立に制御することを特徴とする請求項1に記載の描画装置。
- 前記表示装置の画素配列内において第1〜第3の表示色の各サブ画素は一方向に並んで1つの画素を構成しており、前記書込制御手段は、前記目標画素アドレスにおける第1〜第3の表示色の各サブ画素の並び方向の成分に基づいて、前記スプライトの各画素の第1〜第3の表示色の各画像データと前記量子化画素アドレスの第1〜第3の表示色の各サブ画素の並び方向の成分との対応関係を表示色毎に独立に制御することを特徴とする請求項2に記載の描画装置。
- コンピュータを、
第1〜第3の表示色の3個のサブ画素からなる画素を面状に配列した画素配列を有する表示装置の前記画素配列における各画素に対応付けて、当該画素の第1〜第3の表示色の各サブ画素を各々利用して表示される第1〜第3の表示色の各画像データを各々記憶するフレームメモリに対し、表示対象であるスプライトの第1〜第3の表示色の各画像データを各々書き込む描画処理手段であって、
前記表示対象であるスプライトの各画素について、当該画素の第1〜第3の表示色の画像データと当該画素の前記表示装置の画素配列における目標表示位置を示す目標画素アドレスとを発生する画像データ処理手段と、
前記表示対象であるスプライトの各画素の第1〜第3の表示色の画像データを、前記表示装置の画素配列内の各画素のいずれかに対応付けて前記フレームメモリに書き込む手段であって、前記スプライトの各画素について、当該画素の目標画素アドレスが示す目標表示位置にある3個のサブ画素であって、同一画素に属する第1〜第3の表示色の各サブ画素または隣接する複数の画素に分かれた第1〜第3の表示色の各サブ画素により当該画素の第1〜第3の表示色の画像データの表示が行われるように、前記スプライトの各画素の第1〜第3の表示色の各画像データとこれらの各画像データの表示に用いる前記表示装置の画素配列内の各画素との対応関係を表示色毎に独立して制御する書込制御手段と
を具備する描画処理手段として機能させることを特徴とするコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007277130A JP2009104011A (ja) | 2007-10-25 | 2007-10-25 | 描画処理を行う装置およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007277130A JP2009104011A (ja) | 2007-10-25 | 2007-10-25 | 描画処理を行う装置およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009104011A true JP2009104011A (ja) | 2009-05-14 |
Family
ID=40705728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007277130A Pending JP2009104011A (ja) | 2007-10-25 | 2007-10-25 | 描画処理を行う装置およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009104011A (ja) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09212135A (ja) * | 1996-01-31 | 1997-08-15 | Sanyo Electric Co Ltd | 立体画像表示装置 |
JPH10222151A (ja) * | 1997-02-10 | 1998-08-21 | Shinsedai Kk | 走査型画像生成回路手段 |
JP2000506625A (ja) * | 1996-03-15 | 2000-05-30 | マイクロン・テクノロジイ・インコーポレーテッド | 圧縮され、ワード整合されたビットマップを高速ブロック転送する方法および装置 |
JP2000221931A (ja) * | 1999-02-02 | 2000-08-11 | Akai Electric Co Ltd | 画像表示方法 |
JP2002341859A (ja) * | 2001-05-17 | 2002-11-29 | Yamaha Corp | 画像表示装置 |
JP2004333619A (ja) * | 2003-05-01 | 2004-11-25 | Yamaha Corp | 画像表示装置 |
JP2006146179A (ja) * | 2004-10-20 | 2006-06-08 | Matsushita Electric Ind Co Ltd | 画像処理方法と画像処理装置と記憶媒体 |
JP2007200023A (ja) * | 2006-01-26 | 2007-08-09 | Sony Corp | 画像処理装置、及び、画像処理方法 |
-
2007
- 2007-10-25 JP JP2007277130A patent/JP2009104011A/ja active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09212135A (ja) * | 1996-01-31 | 1997-08-15 | Sanyo Electric Co Ltd | 立体画像表示装置 |
JP2000506625A (ja) * | 1996-03-15 | 2000-05-30 | マイクロン・テクノロジイ・インコーポレーテッド | 圧縮され、ワード整合されたビットマップを高速ブロック転送する方法および装置 |
JPH10222151A (ja) * | 1997-02-10 | 1998-08-21 | Shinsedai Kk | 走査型画像生成回路手段 |
JP2000221931A (ja) * | 1999-02-02 | 2000-08-11 | Akai Electric Co Ltd | 画像表示方法 |
JP2002341859A (ja) * | 2001-05-17 | 2002-11-29 | Yamaha Corp | 画像表示装置 |
JP2004333619A (ja) * | 2003-05-01 | 2004-11-25 | Yamaha Corp | 画像表示装置 |
JP2006146179A (ja) * | 2004-10-20 | 2006-06-08 | Matsushita Electric Ind Co Ltd | 画像処理方法と画像処理装置と記憶媒体 |
JP2007200023A (ja) * | 2006-01-26 | 2007-08-09 | Sony Corp | 画像処理装置、及び、画像処理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5091220B2 (ja) | テクスチャ情報をコード化するための方法および装置 | |
KR20150093592A (ko) | 디스플레이용 오버드라이브 프레임을 생성하는 방법 및 장치 | |
US6549207B1 (en) | Method and apparatus for dissolving image on display screen | |
US7535474B1 (en) | System and method for rotating rasterized image data | |
US7868898B2 (en) | Methods and apparatus for efficiently accessing reduced color-resolution image data | |
JPS62288984A (ja) | ビデオ表示装置 | |
JP4971442B2 (ja) | ピクセルデータ変換のための画像処理装置及び方法 | |
US20130300769A1 (en) | Image rotation control method and device | |
JP2005077522A (ja) | 画像処理装置および画像処理方法 | |
CN103065611A (zh) | 显示控制器和包括该显示控制器的显示装置 | |
JP2009104011A (ja) | 描画処理を行う装置およびプログラム | |
US20080055286A1 (en) | Method And Apparatus For Displaying Bitmap Images | |
JP4746912B2 (ja) | 画像信号処理回路および画像表示装置 | |
CN110087088B (zh) | 一种基于运动估计的数据存储方法、终端设备及存储介质 | |
WO2021035643A1 (zh) | 监视图像生成方法、装置、设备和系统、图像处理设备 | |
US20160163020A1 (en) | Image processor, method of operating the same, and application processor including the same | |
JP3729187B2 (ja) | 画像表示装置 | |
JPS62168280A (ja) | ベクトル描画装置 | |
JP2013195963A (ja) | 画像処理装置、集積回路装置及び画像表示システム | |
TW201719627A (zh) | 驅動電路及其運作方法 | |
JP2005115011A (ja) | 画像表示装置、画像表示方法、画像表示プログラムおよびこのプログラムを記録した記録媒体 | |
JP2007071940A (ja) | 表示用メモリ | |
CN114627228A (zh) | 序列帧图像展示方法、装置及存储介质 | |
JP2008242472A (ja) | 液晶表示装置の駆動回路および駆動方法 | |
CN116744099A (zh) | 图像处理方法、装置、电子设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100820 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120822 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120828 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20121225 |