JP3585168B2 - Image processing device - Google Patents
Image processing device Download PDFInfo
- Publication number
- JP3585168B2 JP3585168B2 JP2001143768A JP2001143768A JP3585168B2 JP 3585168 B2 JP3585168 B2 JP 3585168B2 JP 2001143768 A JP2001143768 A JP 2001143768A JP 2001143768 A JP2001143768 A JP 2001143768A JP 3585168 B2 JP3585168 B2 JP 3585168B2
- Authority
- JP
- Japan
- Prior art keywords
- image data
- address
- display
- data
- source
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Processing (AREA)
- Controls And Circuits For Display Device (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、画像メモリに蓄積された複数の画像データを合成して画面に表示させる画像処理装置に係わるものである。
【0002】
【従来の技術】
近年、マイクロコンピュータやメモリが低価格化されてきたことにより、家庭電化製品やゲーム等において画像処理が可能となり、表示画面に多様の画像が表示されるようになっている。
上述した画像処理において、複数の画像データを合成して作成した1画面を時系列に表示させて、動画像を形成する手法がある。
ここで用いられる従来の画像処理装置は、1つのアトリビュートが示すソース画像データを、このソース画像データの表示情報であるアトリビュートデータに基づき、表示バッファの表示領域に全て書き込む。
このとき、上記画像処理装置は、表示優先度の低いソース画像データから順に、画像の合成に用いられる全てのソース画像に対して繰り返し行ない、表示させる全体の画像を構成する。
【0003】
以下、図9を用いて上述の画像の合成処理について簡単に説明する。
描画回路6dは、ソース画像データを蓄積している画像メモリ6cから必要な複数のソース画像データを読み出し、これらのソース画像データのアトリビュートデータを、アトリビュートメモリ6aから読み出す。
このとき、描画回路6dは、アトリビュートメモリ6aから、ソース画像データatt1〜att4までのデータを読み出し、画像の合成を行うとする。
ここで、各ソース画像データのプライオリティ、すなわち、表示優先順位は、ソース画像データatt1〜att4の順に高くなっているとする。
このため、描画回路6dは、アトリビュートメモリ6aからソース画像データatt1〜att4の順に読み出して、表示バッファ6b上においてソース画像データの合成処理を行うので、ソース画像データatt4を最も上位に表示させる。
【0004】
このとき、描画回路6dは、ソース画像データatt1の画像メモリ6cにおいて描画されているアドレス値を、表示画面上においてソース画像データatt1を描画する位置を示すアドレス値に変換して、ソース画像データatt1を表示バッファ6bに一時的に格納する。
次に、描画回路6dは、ソース画像データatt2を画像メモリ6cから読みだし、上述したソース画像データatt1と同様の処理を行う。
このとき、表示バッファ6bにおける斜線部▲1▼において、ソース画像データatt1の画像データの上に、ソース画像データatt2の画像データが上書きされ、下部の斜線部▲1▼のソース画像データatt1の画像データは消失してしまう。
【0005】
そして、描画回路6dは、続けて、ソース画像データatt3〜att4までの、ソース画像データの合成処理を行ない、表示バッファ6bにおいてバッファ全体の画像を構成する。また、上述のソース画像データatt1とソース画像データatt2との関係と同様に、表示バッファ6bにおけるソース画像データatt1の斜線部▲2▼〜▲3▼の画像データは、上書きされ、下部の斜線部▲2▼〜▲3▼のソース画像データatt1の画像データは消失してしまう。
このとき、斜線部▲1▼〜▲3▼に示す、表示優先度の高いソース画像データにより上書きされ、表示されないソース画像データatt1の画像データも、画像メモリ6cから読み出され、表示バッファ6bに書き込みを行うため、画像メモリ6cや表示バッファ6bに対して無駄なアクセスを行う欠点があった。
上記欠点の対策としては、描画回路6dが、各ソース画像データのアトリビュートデータに基づいて、予め、より表示優先度の高いソース画像データと重なるソース画像データを、この重なる部分を除去する形状に分割し、表示バッファ6bにおいてデータが上書きされ、消失してしまう画像データの部分を予め削除してしまう手法が考えられる。すなわち、描画回路6dは、消失してしまう部分の画像データを画像メモリ6cから読み出す処理,及び表示バッファ6bに書き込む処理を省略し、無駄なアクセスを防止し、全体の処理速度を向上させる。
【0006】
【発明が解決しようとする課題】
しかしながら、上述した予め上書きされる部分を削除する手法は、優先度の高いソース画像データが半透明色の部分を有している場合においても、操作者が意識して半透明色の画素データから構成されるソース画像データの合成処理を行わないと、優先度の低いソース画像データが上記半透明色の部分と重なる画素データを削除してしまう問題がある。
すなわち、半透明色の画素データの下部の画素データは、優先度が低くても、半透明色の色の影響を受けた状態で表示されなければならないデータであり、上書きされてしまっては合成に必要な画素データが失われてしまうこととなる。
本発明はこのような背景の下になされたもので、表示優先度の高いソース画像データにより上書きされ表示されない画像データを予め検出し、画像メモリや表示バッファに対する無駄なアクセスを行なわず、かつ表示優先度が高くても半透明色の部分の下部に位置する優先度の低い画像データを半透明色の色の影響を受けた状態で表示させる画像処理装置を提供する。
【0007】
【課題を解決するための手段】
本発明の画像表示装置は、複数のソース画像データを格納する画像メモリと、前記画像メモリに格納されたソース画像データに対応して、該ソース画像データ毎の該画像メモリにおけるソースアドレス、画像表示装置の画面における表示アドレス、及び表示優先度を含むアトリビュートデータを格納するアトリビュートメモリと、複数のソース画像データが重なるとき、下部のソース画像データの重なり部分を除き、該ソース画像データを分割画像データに分割し、生成された分割表示アドレスをテンポラリメモリに書き込む処理を行うアトリビュート変換回路と、前記分割画像データの分割アドレスから、画像メモリにおけるソースアドレスを算出し、該ソースアドレスを前記アトリビュートコントローラへ出力するソースアドレス算出回路と、このソースアドレスに基づき、前記画像メモリから、ソース画像データの画素データを読み出す画像メモリコントローラと、前記画像メモリコントローラが読み出すソース画像データの画素データを、表示バッファに書き込むとともに、この画素データ毎の表示優先度を内部のプライオリティメモリへ書き込むアトリビュートコントローラと、前記アトリビュートデータに基づき、ソース画像データの各画素データが半透明色であるか否かを検出する半透明色処理回路とを具備し、前記半透明色処理回路が、半透明色の一の画素データと、この一の画素データの下部に位置する、前記表示バッファに書き込まれている他の画素データとに基づき、半透明色の下部の画像を表現する新たな画素データを求める半透明演算を行い、前記アトリビュートコントローラがこの新しい画素データを、前記表示バッファにおける前記他の画素データの位置に書き込むことを特徴とする。
【0008】
本発明の画像表示装置は、複数のソース画像データを格納する画像メモリと、前記画像メモリからソース画像データを読み出す画像メモリコントローラと、前記画像メモリコントローラが読み出すソース画像データを一時蓄積する表示バッファと、前記画像メモリに格納されたソース画像データに対応して、該ソース画像データ毎の該画像メモリにおけるソースアドレス、画像表示装置の画面における表示アドレス、及び表示優先度を含むアトリビュートデータを格納するアトリビュートメモリと、前記アトリビュートメモリからアトリビュートデータを読み出すアトリビュートコントローラと、複数のソース画像データが重なるとき、下部のソース画像データの重なり部分を除き、該ソース画像データを分割画像データに分割するアトリビュート変換回路と、前記分割画像データの画像メモリにおける分割された分割画像データのソースアドレスを算出し、該ソースアドレスを前記アトリビュートコントローラへ出力するソースアドレス算出回路と、前記アトリビュートデータに基づき、ソース画像データが半透明色であるか否かを検出する半透明色処理回路とを具備し、前記半透明色処理回路が、半透明色の一の画素データと、この一の画素データの下部に位置する、前記表示バッファに書き込まれている他の画素データとに基づき、半透明色の下部の画像を表現する新たな画素データを求める半透明演算を行い、アトリビュートコントローラがこの新しい画素データを、前記表示バッファにおける前記他の画素データの位置に書き込むことを特徴とする。
【0009】
本発明の画像表示装置は、前記半透明色処理回路が、上記重なり部分において、半透明色以外のソース画像データの画素データが前記表示バッファに書き込まれた後、表示優先度の低いソース画像データから順に、上記半透明演算を行うことを特徴とする。
本発明の画像表示装置は、前記アトリビュートコントローラが、前記プライオリティメモリに記憶されている表示優先度に基づき、半透明のソース画像データより低い表示優先度の画素データを前記表示バッファから抽出し、抽出された画素データに対して上記半透明演算を行うことを特徴とする。
本発明の画像表示装置は、前記アドレス算出回路が、前記アトリビュートデータに基づき、前記分割画像データの表示アドレスを、ソースアドレスに変換することを特徴とする。
【0010】
本発明の画像表示装置は、前記アトリビュートコントローラが、前記重なり部分の上部のソース画像データが透過色である場合、その透過色であるドットの下部の分割画像データにおけるドットを表示バッファに転送させる処理を、順次高い表示優先度のソース画像データから低い優先度のソース画像データに対して行うことを特徴とする。
本発明の画像表示装置は、前記アトリビュートコントローラが前記各分割画像データを表示バッファに転送するとき、前記アトリビュート変換回路が前記テンポラリメモリ内の分割画像データの表示優先度の高い順に再分割するソース画像データを選択し、この選択されたソース画像データと、このソース画像データより表示優先度の高いソース画像データとの重なり部分を検出し、この重なり部分に基づき再分割を行うことを特徴とする。
本発明の画像表示装置は、前記アトリビュート変換回路が、前記重なり部分を、前記選択されたソース画像データの新たな分割画像データとし、この新たな分割画像データの表示アドレスを生成して、前記テンポラリメモリに書き込むことを特徴とする。
本発明の画像表示装置は、前記テンポラリメモリが前記表示アドレスを格納する複数のテーブルを有し、前記アトリビュート変換回路が、この各テーブル毎に、順次、再分割される新たな分割画像データを対応させ、対応するテーブルに、分割画像データの表示アドレスを格納することを特徴とする。
【0011】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態について説明する。
<第1の実施形態>
図1は本発明の第1(及び第2)の実施形態による画像処理装置の構成を示すブロック図である。この図において、画像メモリ2aは、RAM(Random Access Memory)で構成されており、複数のソース画像データが非圧縮状態で格納されている。すなわち、画像メモリ2aには、ソース画像データの各ドットに対応する画素データが格納されている。
ここで、ソース画像データは、例えば、画像メモリ2a内に記憶されたソース画像データ構成の概念を示す図2における、ソース画像データAtt−A,Att−D,Att−B,Att−E及びAtt−Cの様に、1つのウィンドウ(矩形の領域)内に画像を描画する各ドット毎の画素データが記述された構成となっている。
また、上記ソース画像データは、画像メモリ2aにおいて、ディスプレイ2dの表示画面に表示された場合のアドレスと相対的に等しいソースアドレスにより、すなわち、水平・垂直ともに実際に表示画面に表示される画像領域と同様の矩形状のアドレス範囲(アドレスの幅が一致している)に記憶されている。
【0012】
アトリビュートメモリ2iには、画像処理装置から垂直同期信号が入力される毎に、1フレーム(1画面)に画像表示される合成画像を形成するデータ、すなわち、画像の合成に使用する各ソース画像データ毎の画像メモリ2aにおけるデータ領域を示すソースアドレス,ディスプレイ2dの画面上における領域を示す表示アドレス,表示優先度,半透明色のソース画像データであることを示す半透明色データ等を含むアトリビュートデータ等が格納される。ここで、表示優先度とは、複数のソース画像データを合成したときに重なり合う部分において表示される順番を示している。このため、値が高いほど上部に表示され、その下部のソース画像データの画素データは上書きされて削除されてしまう。
ここで、上記ソースアドレスは、各々、ソース画像データの水平方向の領域を示すスタートアドレスxs及びエンドアドレスxeと、ソース画像データの垂直方向の領域の開始を示すスタートアドレスysから構成され、ソース画像データの領域内の画素データ毎にアクセスが可能に設定されている。
例えば、ソース画像アドレスAtt−Aのソースアドレスは、水平方向の領域の範囲として、スタートアドレスx1からエンドアドレスx3−1が設定され、垂直方向の領域の範囲としてスタートアドレスy1が設定されている。
【0013】
また、上記表示アドレスは、ソース画像データの垂直方向の領域を示すスタートアドレスhs及びエンドアドレスheと、ソース画像データの水平方向を示すスタートアドレスvs及びエンドアドレスveとから構成され、領域内の画素データ毎にアクセスが可能に設定されている。
例えば、ソース画像アドレスAtt−Aの表示アドレスは、水平方向のアドレスの領域の範囲として、スタートアドレスh4からエンドアドレスh8−1が設定され、また、垂直方向のアドレスの領域の範囲として、スタートアドレスv3からエンドアドレスv7−1が設定されている。
このとき、アトリビュートコントローラ2kは、アトリビュートデータにおける半透明データに基づき、半透明色でないソース画像データ(att−A,att−B及びatt−C)を検出し、これらの画像処理を行い、半透明色のソース画像データ(att−D及びatt−E)の画像処理を、半透明色でないソース画像データの処理が終了した後に行う。
【0014】
透過色及び半透明色処理回路2rは、アトリビュートデータの有する半透明色であるか否かのデータに基づき、各ソース画像データが半透明であるか否かを検出する。
すなわち、アトリビュートコントローラ2kは、表示優先度の高い順にソース画像データの画素データの読み出しを行うが、透過色及び半透明色処理回路2rの検出結果に基づき、ソース画像データの画素データが半透明色であることを検出すると、このソース画像データをスキップして使用せず、半透明色でないソース画像データの画素データを、順次、画像メモリ2aから読み出す。
垂直カウンタ2hは、ディスプレイ2dから走査信号が入力される毎にインクリメントされ、計数結果として、ディスプレイ2dの表示画面上の走査信号の出力される走査線の位置(アドレス、例えば、垂直方向のアドレスv0〜vz等)を示す垂直ポインタvを出力する。この垂直ポインタvがインクリメントされる毎に、表示画面上に表示される画素データの出力される走査線が、順次選択される。
【0015】
アトリビュートコントローラ2kは、上記垂直ポインタvの示すアドレスが、アトリビュートメモリ2iに記憶された各々のソース画像データの表示アドレスにおける垂直方向の領域を示すスタートアドレスvsからエンドアドレスveまでの範囲にあるか否かの判定を行い、表示バッファ2eまたは表示バッファ2fに転送する画素データの有無を検出し、ソース画像データ毎に、検出信号vvldをアトリビュート変換回路2mへ出力している。
水平カウンタ2nは、表示装置の表示画面における水平方向のアドレスを示す水平ポインタhを、インクリメントして、順次アトリビュート変換回路2mへ出力している。ここで、水平ポインタhは、垂直ポインタvの示す位置の走査線の各ドットのアドレスを示しており、インクリメントされることにより、各ドットのアドレスを選択する。
【0016】
アトリビュート変換回路2mは、各ソースデータ毎の検出信号vvld,水平方向のスタートアドレスhs及びエンドアドレスheと、水平カウンタ2nから出力される水平ポインタhとの値により、ポインタvの示す走査線における各ソース画像データの表示優先度を比較し、この比較結果からもっとも上位に表示される(表示優先度の高い)ソース画像データを選択してソース画像データの番号及びエンドアドレスをTMPメモリ2oへ書き込む。
このとき、アトリビュート変換回路2mは、複数のソース画像データが重なるとき、例えば、垂直ポインタv2からv3−1の間で、ソース画像データAtt−Cの上にソース画像Att−Bが重なって表示される場合、下部のソース画像データのAtt−Cがソース画像データAtt−Bとの重なり部分を除いて、2つの分割画像データAtt−C:1及びAtt−C:2に分割する。
すなわち、アトリビュート変換回路2mは、下部(表示優先度の低い)のソース画像データの、上部(表示優先度の高い)のソース画像データとの重なり部分の領域を除いて、この下部のソース画像データを複数の分割画像データに分割する。
【0017】
このとき、アトリビュート変換回路2mは、スタートアドレスh1及びエンドアドレスh10−1の領域を有するソース画像データAtt−Cを分割後に、分割画像データAtt−C:1に新たなスタートアドレスh1及びエンドアドレスh3−1を求め、分割画像データAtt−C:2に新たなスタートアドレスh9及びエンドアドレスh10−1を求めて、これら分割画像データの表示アドレス(分割表示アドレス)をTMPメモリ2oにソース画像データを示す番号と共に記憶する。
ソースアドレス算出回路2lは、アトリビュートデータに基づき、TMPメモリ2oに格納されている表示されるソース画像データの番号と、その表示アドレスの範囲とから、分割画像データの画像メモリにおけるソースアドレスを算出し、このソースアドレスをアトリビュートコントローラ2kへ出力する。
【0018】
例えば、ソースアドレス算出回路2lは、垂直アドレスv3において、分割画像データAtt−C:1の表示アドレスであるスタートアドレスh1(ソース画像データがアドレスh−1まで無いため)及びエンドアドレスh3−1を、ソースアドレスであるスタートアドレスx1及びエンドアドレス(x1+h3−1−h1)として算出(演算)して出力する。
アトリビュートコントローラ2kは、ソースアドレス算出回路2lの求めたソースアドレスに基づき、分割画像データのスタートアドレスysから水平ポインタhをインクリメントすることにより、垂直ポインタvと水平ポインタhの示すアドレスの画素データを、画像メモリ2aから画像メモリコントローラ2bを介して順次読み込み、表示バッファコントローラ2jを介して表示バッファ2eまたは表示バッファ2fにこの画素データを書き込む。
【0019】
ここで、ソースアドレス算出回路2lは、アトリビュートデータにおけるソースアドレスと表示アドレスとの関係に基づき、ソース画像データの表示アドレスをソースアドレスに変換する。
例えば、ソースアドレス算出回路2lは、ソース画像データatt1において、垂直ポインタvが垂直方向のアドレスv3を示していると、このアドレスv3をソースアドレスにおける垂直方向のアドレスy1へ変換し、水平ポインタhが水平方向のアドレスh1を示していると、このアドレスh1を水平方向のアドレスx1に変換する。
画像メモリコントローラ2bは、アトリビュートコントローラ2kから入力される垂直方向のアドレス及び水平方向のアドレスに基づき、垂直ポインタ及び水平ポインタhがインクリメントして、順次、画像メモリ2aから合成に利用されるソース画像データのドット単位の画素データを読み出し、表示バッファコントローラ1dを介して、順次、表示バッファ2eまたは表示バッファ2fの表示アドレスに対応した位置に、読み出された画素データを書き込む。
【0020】
表示バッファ2eには、表示画面の1フレームにおける偶数番号の走査線に対応する、すなわちディスプレイ2dの表示画面上において、垂直ポインタvが示す走査線における水平ポインタhの取りうる全てのドットの画素データが一時的に蓄積される。また、表示バッファ2fには、表示画面の1フレームにおける奇数番号の走査線に対応する、すなわちディスプレイ2dの表示画面上において、垂直ポインタvが示す走査線における水平ポインタhの取りうる全てのドットの画素データが一時的に蓄積される。例えば、偶数アドレスの走査線に一方の表示バッファ2eが画素データを出力しているとき、他方の表示バッファ2fには次に画像装置の奇数アドレスに出力する画素データが書き込まれている。ここで、表示バッファ2e及び表示バッファ2fは、各々ディスプレイ2dの表示画面において、水平方向に配置された各ドットと対応したアドレスを有するメモリから構成されており、各アドレスにおけるデータ記憶のビット数は画素データのビット数に対応している。
【0021】
透過色及び半透明色処理回路2rは、アトリビュートコントローラ2kが画素データを画像メモリ2aから読み出す毎に、アトリビュートメモリ2iにおいて対応する画素データの透過色か否かを示すデータに基づき、読み出された画素データが、透過色であるか否かを検出し、検出結果をアトリビュートコントローラ2k内のマークメモリにマークデータとして記憶させる。このとき、透過色及び半透明色処理回路2rは、検出するドットの画素データが透過色で無い場合、すなわち表示画面に表示する場合、マークデータをこのドットの位置を示すアドレスに対応させて上記マークメモリに書き込む(マークデータを添付する)。
すなわち、アトリビュートコントローラ2kは、画像メモリ2aから読み出した上記画素データを、表示バッファ2eまたは表示バッファ2fの対応するアドレスに書き込む。
ここで、マークメモリは、「垂直ポインタvの示すアドレスの走査線における水平ポインタhの取りうる範囲(ディスプレイ2dの表示画面の水平方向)のドット数×1ビット」の容量を有しており、各ビットのアドレスと表示バッファのアドレスとは対応している。
一方、透過色及び半透明色処理回路2rは、画素データが透過色である場合、すなわち、表示画面に表示しない場合、この画素データのドットに対してマークメモリにマークデータを書き込まず、かつアトリビュートコントローラ2kも読み出した画素データを表示バッファ(表示バッファ2eまたは表示バッファ2f)に書き込まない。
【0022】
つまり、アトリビュートコントローラ2kは、透過色及び半透明色処理回路2rが読み出した画素データが透過色であることを検出した場合、読み出した画素データを、表示バッファに転送しない(すなわち、使用せずに削除する)。
詳細に説明すると、アトリビュートコントローラ2kは、マークメモリにおいてマークデータが書き込まれていない位置を確認し、この位置のアドレスに対応する画像メモリ2aのアドレスから画像データを読み出す毎に、この画素データが透過色であるか否かの判定を透過色及び半透明色処理回路2rにおいて行う。
アトリビュートコントローラ2kは、透過色及び半透明色処理回路2rにおける判定の結果、読み出した画像データが透過色で無いことが検出された場合、読み出した画素像データを、表示バッファに書き込む。
【0023】
このとき、透過色及び半透明色処理回路2rは、画素データが書き込まれた表示バッファのアドレスに対応するマークメモリのアドレスに、新たにマークデータを書き込み、マークメモリのデータ内容を更新する。
すなわち、アトリビュートコントローラ2kは、画素データが透過色であるか否かの透過色及び半透明色処理回路2rの判定結果に基づき、表示バッファに画素データを書き込むか否かの判断を、各ドット毎に、各ソース画像データにおける画素データ全てに対して行い、表示優先度の高い順に表示バッファに書き込む処理を、マークメモリの全てのアドレスにマークデータが書き込まれるまで、または、垂直ポインタvの示す走査線に存在する、全ての半透明色でない画素データのソース画像データに対して繰り返して行う。
このとき、アトリビュートコントローラ2kは、マークデータが書き込まれているマークメモリのアドレスに対応するアドレスの画素データを、画像メモリ2aから読み出す処理自体を行わない。
【0024】
また、各表示バッファに画素データを書き込む毎に、アトリビュートコントローラ2kの内部に設けられたプライオリティメモリに、この画素データの属するソース画像データの表示優先度のデータを書き込む。
ここで、上記プライオリティメモリは、「垂直ポインタvの示すアドレスの走査線における水平ポインタhの取りうる範囲(ディスプレイ2dの表示画面の水平方向)のドット数×表示優先度を示すビット数」の容量を有しており、各ドットのアドレスと、表示バッファのアドレスとは対応している。
アトリビュートコントローラ2kは、マークメモリの全てのアドレスにマークデータが書き込まれた場合、または、垂直ポインタvの示す走査線に存在する全ての半透明色でない画素データのソース画像データの処理が終了した場合、半透明色のソース画像データの処理を開始する。
そして、アトリビュートコントローラ2kは、プライオリティメモリに書き込まれている表示優先度のデータと、半透明色のソース画像データの表示優先度とに基づき、画像メモリ2aから画素データを読み出す。このとき、アトリビュートコントローラ2kは、アトリビュートデータに基づき、半透明色である画素データのソース画像データを、表示優先度の低い順番に行う。
【0025】
アトリビュートコントローラ2kは、プライオリティメモリに書き込まれている表示優先度のデータに基づき、半透明色のソース画像データを読み込むときに、このソース画像データより表示優先度の低いソース画像データと重なる部分の画素データのみを、画像メモリ2aから読み出す。
ここで、アトリビュートコントローラ2kは、半透明色のソース画像データの画素データを読み込むときに、ポインタhをインクリメントし、順次、1ドットづつ全ての画素データを画像メモリから読み出し、画素データを1ドット読み出す毎に、読み出した画素データの表示優先度と、この画素データのアドレスに対応してプライオリティメモリに書き込まれている表示優先度とを比較する構成とすることも可能である。
【0026】
このとき、アトリビュートコントローラ2kは、読み出した画素データの表示優先度が、プライオリティメモリに書き込まれている表示優先度に対して高いときのみ、読み出した画素データを透過色及び半透明色処理回路2rへ出力する。
そして、透過色及び半透明色処理回路2rは、上述の2つの構成のいずれかにより、アトリビュートコントローラ2kが読み出した(抽出した)半透明色の画素データと、この画素データに重なる表示バッファの対応するアドレスの画素データとに基づき半透明色演算を行う。そして、透過色及び半透明色処理回路2rは、表示バッファの画素データを、半透明色を通して見た状態の(半透明色の色及び透明度により、下部の画像を表現する色のデータを有する)画素データに変換し、演算した結果の画素データを新たな画素データとして、アトリビュートコントローラ2kへ出力する。
【0027】
これにより、アトリビュートコントローラ2kは、透過色及び半透明色処理回路2から入力される半透明色演算の結果の画像データを、半透明色演算を行うために読み出した画像データのアドレスに上書きする。
このとき、透過色及び半透明色処理回路2は、半透明色として選択されたソース画像データにおいて、画像メモリ2aから読み出された画素データが透過色である場合、半透明色演算を行わずに、透過色であることをアトリビュートコントローラ2kへ通知する。そして、アトリビュートコントローラ2kは、この通知を受けると、透過色と検出された画素データに対応する表示バッファのアドレスに上書きを行わない。
そして、アトリビュートコントローラ2kは、ディスプレイ2dの走査信号が入力される毎に、ディスプレイ2dの画面上における垂直ポインタvの示す走査線に表示されるソース画像データとして、表示バッファ2eまたは表示バッファ2fからディスプレイ2dへ出力する。
このとき、アトリビュートコントローラ2kは、奇数アドレスの走査線に表示する画素データが表示バッファ2fに書き込まれていると、この奇数アドレスの1つ前の偶数アドレスの走査線の各ドットに対して、表示バッファ2eに記憶されている画素データが出力される。また、ここで用いられる1つ前の走査線のアドレスは、垂直カウンタ2hの出力する垂直ポインタvの示すアドレスから「1」を差し引いた結果として表示送出コントローラ2cへ出力される。表示送出コントローラ2cは、表示バッファ2eから出力される画素データを、ディスプレイ2dの表示画面における、1ラインディレイ2gの出力するアドレスに対応する走査線のドットに書き込む。これにより、ディスプレイ2dは、合成された画像の表示を行う。
【0028】
次に、図1〜図8を参照し、第1の実施形態の動作例を説明する。図4〜図8は、マークメモリ,プライオリティメモリ及び表示バッファの各々に、マークデータ、表示優先度データ,画素データが記憶される遷移を示す概念図である。すなわち、図4〜図8は、ディスプレイ2dへ転送される画素データが、表示バッファ2eまたは2fに形成される流れを示す概念図である。図4〜図8からも判るように、横軸がアドレス値を示しており、マークメモリ,プライオリティメモリ及び表示バッファのアドレス値は対応している。
ここで、図1の画像メモリ2aには、図2に示すソース画像データAtt−A,Att−D,Att−B,Att−E及びAtt−Cが記憶されており、アトリビュートメモリ2iには図3の画像を合成するアトリビュートデータが格納されているとする。
また、表示優先度は、ソース画像データAtt−Aが最も高く、続いて、ソース画像データAtt−D,Att−B,Att−Eの順に低くなり、ソース画像データatt−Cが最も低いとする。各ソース画像データの表示優先度のデータは、ソース画像データAtt−Aが「5」で、ソース画像データAtt−Dが「4」で、ソース画像データAtt−Bが「3」で、ソース画像データAtt−Eが「2」で、ソース画像データAtt−Cが「1」である。表示優先度は、数字の大きい方が高く設定されている。
【0029】
アトリビュートメモリ2iには、ディスプレイ2dから垂直同期信号が入力されると、表示画面において次に表示される図3に示す画像のアトリビュートデータが転送され、格納される。
そして、垂直カウンタ2hは、走査信号が入力される毎に、インクリメントして計数値をアトリビュートコントローラ2kへ出力する。
これにより、アトリビュートコントローラ2kは、垂直カウンタ2hからの計数値から求められる表示画面上の垂直ポインタvの値が、各ソース画像データの垂直方向の領域を示すスタートアドレスからエンドアドレスまでの範囲内にあるか否かの判定を行う。
ここで、アトリビュートコントローラ2kは、垂直ポインタvがソース画像アドレスのスタートアドレスv1となると、すなわち、垂直ポインタvの値がアドレスv1となると、ソース画像データAtt−Cのデータ領域の範囲となったことを検出する。
【0030】
これにより、アトリビュートコントローラ2kは、アトリビュート変換回路2mに対して、検出信号vvldを出力する。
そして、アトリビュート変換回路2mは、検出信号vvldの入力処理により、分割処理を開始するが、ソース画像データAtt−Cが他のソース画像データと重なり合っていないため、ソース画像アドレスAtt−Cの分割を行わない。
次に、アトリビュートコントローラ2kは、ソースアドレス算出回路2lに対して、表示画像データのアドレス領域を、表示アドレスからソースアドレスへ変換する処理を指示する。
そして、ソースアドレス算出回路2lは、アトリビュートデータにおけるソース画像データAtt−Cの表示アドレスとソースアドレスとの関係に基づき、アドレスv1をアドレスy5に変換し、かつ、水平ポインタhの示す水平方向のアドレスh1をアドレスx1に変換する。
【0031】
また、透過色及び半透明色処理回路2rは、アトリビュートコントローラ2kが上記ソースアドレスに基づき、画像メモリ2aから順次読み出される、垂直ポインタy2におけるスタートアドレスx1からエンドアドレスx6までの画素データを、透過色か否かの検出を行う。
ここで、透過色及び半透明色処理回路2rは、スタートアドレスx1からエンドアドレスx6までの画素データが全て透過色であるので、アトリビュートコントローラ2k内のマークメモリにマークデータを書き込まない。
したがって、アトリビュートコントローラ2kは、ポインタv1に対応する走査線のドットに表示する画素データが無いことを検出し、画像メモリ2aから読み出したスタートアドレスx1からエンドアドレスx6までの画素データを、表示バッファ2fに書き込まない(ポインタvの示すv1は奇数アドレスの走査線あるため)。
【0032】
次に、垂直カウンタ2hが走査信号の入力により順次インクリメントされ、計数値の垂直ポインタvがアドレスvpの位置の偶数アドレスの走査線となったとする。
このとき、アトリビュートデータにおいて、ソース画像データAtt−A,Att−B及びAtt−Cが重なり合っている。このため、アトリビュート変換回路2mは、アトリビュートコントローラ2kの出力する検出信号vvldの入力に基づき、各ソース画像データの重なり合った部分の分割を行う。
アトリビュート変換回路2mは、図4において示すように、表示優先度を考慮して、ソース画像データAtt−Aを分割せず、ソース画像データAtt−Bをソース画像データAtt−Aにより、分割画像データAtt−B1及び分割画像データAtt−B2へ2分割し、同様に、ソース画像データAtt−Cをソース画像データAtt−Bにより、分割画像データAtt−C1及び分割画像データAtt−C2へ2分割する。
ここで、図4〜図8において、白抜きの長方形で示されている領域が画像表示(描画)されるドット(画素データが透過色でない)の部分を示し、実線で示されている領域が画像表示されないドット(画素データが透過色である)の部分を示している。
【0033】
そして、図4に示す様に、アトリビュート変換回路2mは、分割画像データAtt−B1,分割画像データAtt−B2,分割画像データAtt−C1及び分割画像データAtt−C2各々の分割後のスタートアドレスhs及びエンドアドレスheを求め、この結果をTMPメモリ2oへ格納する。
例えば、アトリビュート変換回路2mは、分割画像データAtt−B1の範囲を示すスタートアドレスhs及びエンドアドレスheを、スタートアドレスh3及びエンドアドレスh4−1とし、分割画像データAtt−B2の水平方向の範囲を示すスタートアドレス及びエンドアドレスを、スタートアドレスh8及びエンドアドレスh9−1としてTMPメモリ2oへ格納する。
また、アトリビュート変換回路2mは、分割画像データAtt−C1の範囲を示すスタートアドレスhs及びエンドアドレスheを、スタートアドレスh0及びエンドアドレスh3−1とし、分割画像データAtt−C2の範囲を示すスタートアドレスhs及びエンドアドレスheを、スタートアドレスh9及びエンドアドレスh10−1としてTMPメモリ2oへ格納する。
【0034】
そして、ソースアドレス算出回路2lは、TMPメモリ2oに記憶されている、分割後の分割画像データAtt−C1の範囲を示すスタートアドレスh3及びエンドアドレスh4−1から、アトリビュートデータに基づき、分割画像データAtt−C1の画像メモリ2aにおける水平方向の範囲を示すスタートアドレスxs及びエンドアドレスxeを、各々スタートアドレスx1,エンドアドレス(x1+h4−1−h3)と演算する。
また、ソースアドレス算出回路2lは、分割後の分割画像データAtt−C2の範囲を示すスタートアドレスh9及びエンドアドレスh10−1から、アトリビュートデータに基づき、分割画像データatt−B2の画像メモリ1aにおける水平方向の範囲を示すスタートアドレス及びエンドアドレスを、各々スタートアドレス(x1+h9−h1),エンドアドレス(x1+h10−1−h1)と演算する。
同様に、ソースアドレス算出回路2lは、TMPメモリ2oに記憶されているアドレスに基づき、分割画像データatt−B1及び分割画像データatt−B2の画像メモリ2aでの範囲を示すスタートアドレスhs及びエンドアドレスheを、各々スタートアドレスx1,エンドアドレス(x1+h4−1−h1)及びスタートアドレス(x1+h8−h1),エンドアドレス(x1+h9−1−h1)と演算する。
【0035】
また、ソースアドレス算出回路2lは、ソース画像データAtt−A及び分割後の各分割画像データの垂直ポインタvの示すアドレスvpから、アトリビュートデータに基づき、ソース画像データAtt−A及び分割後の上記各分割画像データの画像メモリ2aにおける垂直方向のアドレスを求める。
例えば、ソースアドレス算出回路2lは、ソース画像データAtt−Aの垂直方向のアドレスvpに対応する垂直方向のアドレスをアドレス(y1+vp−v3)と演算し、同様に、分割画像データAtt−B1,分割画像データAtt−B2のアドレスvpに対応するアドレスをアドレス(y3+Vp−v2)と演算し、分割画像データAtt−C1及び分割画像データAtt−C2のアドレスvpに対応する垂直方向のアドレスをアドレス(y5+Vp−v1)と演算する。
【0036】
そして、アトリビュートコントローラ2kは、この時点で、より高い表示優先度を有する画像データと重ならない分割画像データAtt−C1,Att−B1,Att−B2,Att−C2と、ソース画像データAtt−Aの各々のアドレスvp及びポインタhとで選択されるドットの画素データを、ポインタhの値をインクリメントして画像メモリ2aから、順次読み出す。
このとき、透過色及び半透明色処理回路2rは、読み出した分割画像データにおける各ドットの画素データが透過色か否かの判定を行う。
そして、透過色及び半透明色処理回路2rは、アトリビュートコントローラ2kの読み出した画素データにおいて、透過色でない画像データのドットが分割画像データAtt−C1のアドレスh11〜アドレスh3−1までのドットの画素データと、ソース画像データAtt−Aのアドレスh41〜アドレスh42−1までのドットの画素データとであることを検出し、マークメモリに各ドットのアドレスに対応させマークデータを書き込む。
また、アトリビュートコントローラ2kは、プライオリティメモリに各ドットのアドレスに対応させ表示優先度のデータ「5」を書き込む。
これにより、アトリビュートコントローラ2kは、表示バッファ2eに対して、垂直ポインタvpの位置における分割画像データAtt−C1の水平方向のアドレスh11〜アドレスh3−1までのドットの画素データと、ソース画像データAtt−Aの水平方向のアドレスh41〜アドレスh42−1までのドットの画素データとを書き込む。
【0037】
次に、図5に示すように、アトリビュートコントローラ2kは、マークメモリにおいてマークデータが書き込まれていない水平ポインタhのアドレスがあることを検出し、マークデータの書き込まれていないアドレスにおいて、ソース画素データAtt−Aの次に表示優先度の高いソース画素データAtt−Bの垂直ポインタvpの位置のドットの画素データを表示バッファ2eに転送するための前処理を開始する。
アトリビュートコントローラ2kは、表示バッファ2eに画素データを転送する処理を行うため、マークメモリにマークデータが記載されておらず、ソース画像データAtt−Aの下部にあるアドレスh4からアドレスh41−1までのドットに対応するソース画素データAtt−Bの画素データを、ポインタhの値を上記のアドレスの範囲において各々インクリメントして、画像メモリ2aから順次読み出す。
そして、透過色及び半透明色処理回路2rは、上記ドットの画素データが透過色か否かの判定を行い、透過色でない画像データのドットがアドレスh44からアドレスh41−1までのドットの画素データとであることを検出し、マークメモリに各ドットのアドレスに対応させてマークデータを書き込む。
また、アトリビュートコントローラ2kは、プライオリティメモリに各ドットのアドレスに対応させ表示優先度のデータ「3」を書き込む。
これにより、アトリビュートコントローラ2kは、変更されたマークメモリのマークデータのアドレス、すなわち、垂直ポインタvの示すアドレスvpの位置におけるソース画像データAtt−Bのアドレスh44〜アドレス41−1までのドットの画素データを表示バッファ2eの対応する位置に書き込む。
【0038】
次に、図6に示すように、アトリビュートコントローラ2kは、マークメモリにおいてマークデータが書き込まれていない水平ポインタhのアドレスがあることを検出し、マークデータの書き込まれていないアドレスにおいて、ソース画素データAtt−Bの次に表示優先度の高いソース画素データAtt−Cの垂直ポインタvpの位置のドットの画素データを表示バッファ2eに転送するための前処理を開始する。
アトリビュートコントローラ2kは、表示バッファ2eに転送する処理を行うため、マークメモリにマークデータが記載されておらず、ソース画像データAtt−A及びAtt−Bの下部にあるアドレスh3からアドレスh44−1までと、アドレスh42からアドレスh9−1までのドットに対応するソース画素データAtt−Cの画素データを、ポインタhの値を上記のアドレスの範囲において各々インクリメントする毎に画像メモリ2aから読み出す。
【0039】
そして、透過色及び半透明色処理回路2rは、上記ドットの画素データが透過色か否かの判定を行い、透過色でない画像データのドットがアドレスh3からアドレスh31−1までと、アドレスh45からアドレスh44−1までと、アドレスh42からアドレスh46−1までとのドットの画素データであることを検出し、マークメモリに各ドットのアドレスに対応させマークデータを書き込む。
また、アトリビュートコントローラ2kは、プライオリティメモリに各ドットのアドレスに対応させ表示優先度のデータ「1」を書き込む。
これにより、アトリビュートコントローラ2kは、変更されたマークメモリのマークデータのアドレス、すなわち、垂直ポインタvの示すアドレスvpの位置におけるソース画像データAtt−Cのアドレスh3からアドレスh31−1までと、アドレスh45からアドレスh44−1までと、アドレスh42からアドレスh46−1までとのドットの画素データを表示バッファ2eの対応する位置に書き込む。
そして、アトリビュートコントローラ2kは、ソース画像データが重なり合う部分において、マークメモリにおけるマークデータの有無に基づき、上述した書き込み処理を、アトリビュートデータにおける表示優先度を判定することにより、表示優先度が最も高いソース画像データから最も表示優先度の低いソース画像データの順に、全ての半透明色でない画素データから構成されるソース画像データに対して行う。
【0040】
次に、アトリビュートコントローラ2kは、全ての半透明色でないソース画像データAtt−A,Att−B,Att−Cの画像処理が終了したことを検出すると、半透明色の画素データで構成されたソース画像データAtt−D,Att−Eを用いた画像処理を行う。
このとき、アトリビュートコントローラ2kは、半透明色のソース画像データの画像処理において、表示優先度の低いソース画像データAtt−Eを用いた半透明色演算から開始する。
図7において、アトリビュートコントローラ2kは、上述したソース画像データAtt−A等の画素データの読み込み処理と同様に、ソースアドレス算出回路2lが、アトリビュートデータにおける表示アドレスから算出するソースアドレスにより、画像メモリコントローラ2jを介して、ソース画像データAtt−Eの画素データを画像メモリ2aから、順次読み出す。
また、このとき、アトリビュート変換回路2mは、プライオリティメモリに記憶されている表示優先度のデータに基づき、ソース画像データAtt−Eの分割を行う。
すなわち、アトリビュート変換回路2mは、スタートアドレスh2からストップアドレスh7−1の領域を有するが、表示優先度がデータ「2」なので、表示優先度のデータが「3」〜「5」の部分(アドレスh44からアドレスh42−1の範囲)が表示されないため、部分画像データAtt−E1と部分画像データAtt−E2との2つに分割される。
【0041】
そして、アトリビュート変換回路2mは、分割して生成した部分画像データAtt−E1と部分画像データAtt−E2とのスタートアドレスhs及びスタートアドレスheを各々、スタートアドレスh2,エンドアドレスh44−1と、スタートアドレスh42,エンドアドレスh7−1と求め、TMPメモリ2oへ、部分画像データに対応させて記憶させる。
次に、ソースアドレス算出回路2lは、TMPメモリ2oに記憶されている部分画像データAtt−E1のスタートアドレスh2,エンドアドレスh44−1を、アトリビュートデータに基づき、画像メモリ2aのソースアドレスにおけるスタートアドレスx1,エンドアドレス(x1+h44−1−h2)に変換し、アトリビュートコントローラ2kへ出力する。
これにより、アトリビュートコントローラ2kは、水平ポインタhをスタートアドレスx1,エンドアドレス(x1+h44−1−h2)の間でインクリメントさせ、順次画像メモリ2aから画素データを読み出す。
そして、透過色及び半透明色処理回路2rは、画素データを読み出す毎に、アトリビュートコントローラ2kの読み出した画素データが透過色か否かの判定を行う。
【0042】
このとき、透過色及び半透明色処理回路2rは、アドレスx1からアドレス(x1+h44−1−h2)までのアドレスから読み出された画素データが全て透過色データあることを検出し、アトリビュートコントローラ2kへ通知する。
これにより、アトリビュートコントローラ2kは、半透明色演算を行わず、表示バッファ2eに対するアクセスを行わない。
次に、ソースアドレス算出回路2lは、TMPメモリ2oに記憶されている部分画像データAtt−E2のスタートアドレスh42,エンドアドレスh7−1を、アトリビュートデータに基づき、画像メモリ2aのソースアドレスにおけるスタートアドレス(x1+h42−h2),エンドアドレス(x1+h7−1−h2)に変換し、アトリビュートコントローラ2kへ出力する。
次に、アトリビュートコントローラ2kは、水平ポインタhをスタートアドレス(x1+h42−h2),エンドアドレス(x1+h7−1−h2)の間でインクリメントさせ、順次画像メモリ2aから画素データを、順次読み出す。
このとき、透過色及び半透明色処理回路2rは、表示アドレスにおいて、アドレスh42からアドレスh47−1までが画素データが透過色でなく半透明色なので、この範囲でデータが読み出される毎に、読み出された画素データと、表示バッファ2eにおけるこの画素データに対応するアドレスの画素データとの、色のデータにより半透明色演算を行う。
【0043】
そして、アトリビュートコントローラ2kは、画像メモリ2aから読み出されたソース画像データAtt−Eの画素データと、表示バッファ2eから読み出された画素データとの半透明色演算を行い、結果として得られた画素データ(C+E)を、この画素データを読み出した表示バッファ2eにおけるアドレスに上書きする。
このとき、アトリビュートコントローラ2kは、プライオリテイメモリにおいて、半透明色演算の行われた画素データ(C+E)に対応するアドレスの表示優先度を、ソース画像データAtt−Eのデータ「2」に書き換える。
また、透過色及び半透明色処理回路2rがアドレスh47からアドレスh7−1までの範囲から読み出される画素データを、透過色として検出するため、アトリビュートコントローラ2kは、表示バッファ2eに対するアクセスを行わない。
【0044】
次に、図8において、アトリビュートコントローラ2kは、ソース画像データAtt−Eの画像処理が終了した後、次に表示優先度の高いソース画像データAtt−Dの画像処理を行う。
このとき、アトリビュート変換回路2mは、プライオリティメモリに記憶されている表示優先度のデータに基づき、ソース画像データAtt−Dの分割を行う。
すなわち、アトリビュート変換回路2mは、スタートアドレスh2からストップアドレスh7−1の領域を有するが、表示優先度がデータ「4」なので、表示優先度のデータが「5」の部分(アドレスh41からアドレスh42−1の範囲)の下部が表示されないため、部分画像データAtt−D1に分割される。
そして、アトリビュート変換回路2mは、分割して生成した部分画像データAtt−D1のスタートアドレスhs及びスタートアドレスheを各々、スタートアドレスh5,エンドアドレスh41−1と求め、TMPメモリ2oへ、部分画像データAtt−D1に対応させて記憶させる。
【0045】
次に、ソースアドレス算出回路2lは、TMPメモリ2oに記憶されている部分画像データAtt−D1のスタートアドレスh5,エンドアドレスh41−1を、アトリビュートデータに基づき、画像メモリ2aのソースアドレスにおけるスタートアドレスx1,エンドアドレス(x1+h41−1−h5)に変換し、アトリビュートコントローラ2kへ出力する。
これにより、アトリビュートコントローラ2kは、水平ポインタhをスタートアドレスx1,エンドアドレス(x1+h41−1−h5)の間でインクリメントさせ、順次画像メモリ2aから画素データを読み出す。
そして、透過色及び半透明色処理回路2rは、画素データを読み出す毎に、アトリビュートコントローラ2kの読み出した画素データが透過色か否かの判定を行う。
このとき、透過色及び半透明色処理回路2rは、アドレスx1からアドレス(x1+h43−1−h2)までのアドレスから読み出された画素データが全て透過色データあることを検出し、アトリビュートコントローラ2kへ通知する。
【0046】
これにより、アトリビュートコントローラ2kは、半透明色演算を行わず、表示バッファ2eに対するアクセスを行わない。
次に、ソースアドレス算出回路2lは、表示アドレスにおいて、表示アドレスにおいて、アドレスh43からアドレスh41−1までが画素データが透過色でなく半透明色なので、この範囲でデータが読み出される毎に、読み出された画素データと、表示バッファ2eにおけるこの画素データに対応するアドレスの画素データとの、色のデータにより半透明色演算を行う。
(このとき、上述したように、アトリビュートコントローラ2kは、半透明色のソース画像データを分割せずに、水平ポインタhをインクリメントさせ、スタートアドレスh5からエンドアドレスh6−1の間の全ての画素データを、画像メモリ2aから1ドットづつ読み出し、順次、透過色及び半透明色のいずれかであるかの判定を、透明色及び半透明色処理回路2rに行わせる構成を用いることも可能である。
【0047】
そして、アトリビュートコントローラ2kは、透過色及び半透明色処理回路2rが読み出した画素データを半透明色と判定した場合、この読み出した画素データの表示優先度とプライオリティメモリの対応するアドレスの表示優先度とを比較して、読み出した画素データがプライオリティメモリの優先度より高い場合に、この読み出した画素データに対する半透明色演算を行うようにしてもよい。)
そして、アトリビュートコントローラ2kは、画像メモリ2aから読み出されたソース画像データAtt−Dの画素データと、表示バッファ2eから読み出された画素データとの半透明色演算を行い、結果として得られた画素データ(B+D)を、この画素データを読み出した表示バッファ2eにおけるアドレスに上書きする。
このとき、アトリビュートコントローラ2kは、プライオリテイメモリにおいて、半透明色演算の行われた画素データ(B+D)に対応するアドレスの表示優先度を、ソース画像データAtt−Dのデータ「4」に書き換える。
そして、アトリビュートコントローラ2kは、ソース画像データが重なり合う部分において、プライオリテイメモリにおける表示優先度のデータに基づき、上述した半透明色演算処理を、アトリビュートデータにおける表示優先度を判定することにより、表示優先度が低いソース画像データから表示優先度の高いソース画像データの順に、全ての半透明色の画素データから構成されるソース画像データに対して行う。
【0048】
上述したように、アトリビュートコントローラ2kは、複数のソース画像データを合成して画像を生成するときに、複数のソース画像データの重なり部分が生じると、これらのソース画像データが半透明色の画素データで構成されているかいないかの判定を行い、半透明色の画素データで構成されていない第1のソース画像データのグループと、半透明色の画素データで構成された第2のソース画像データとのグループとに分け、この上記第1のソース画像データのグループの画像処理の後に、上記第2のソース画像データのグループの画像処理を行う。
また、アトリビュートコントローラ2kは、上記第1のソース画像データのグループの画像処理において、複数のソース画像データの重なり部分において、上部の(表示優先度の高い)ソース画像データの画素データが透過色であり、かつ、この透過色のドットの下部の(表示優先度の低い)ソース画像データの画素データが透過色でない場合、この下部のドットの画素データを表示バッファ2eまたは表示バッファ2fに転送する処理を、最も高い表示優先度を有するソース画像データから最も低い表示優先度のソース画像データまで、重なりあった部分を有する全てのソース画像に対して行う。
【0049】
なお、上述の第1の実施形態の構成において、アトリビュートコントローラ2kにおけるマークラムに対するアクセス速度と、表示バッファ2e及び2fに対するアクセス速度とが同様であると、すでにマークメモリに書き込まれているマークデータの書き込まれたドットのアドレスを確認する時間と、表示バッファ2e及び2fに画素データを書き込む時間とが重なるため、マークメモリへのアクセスタイムを表示バッファ2e及び2fに対するアクセスタイムに対して高速化し、マークメモリにおいてマークデータが連続して書き込まれている領域をスキップして検出することが必要である。
また、アトリビュートコントローラ2kは、上記第2のソース画像データのグループの画像処理において、表示優先度の低いソース画像データから、表示優先度の高いソース画像データの順に、表示バッファに書き込まれたデータとの半透明色演算処理を、透過色及び半透明色処理回路2rに対して行わせる。
このとき、アトリビュートコントローラ2kは、半透明演算処理の行われた表示バッファの画素データを、半透明色演算の結果として得られた画素データにより上書きする。
【0050】
以上の動作を垂直カウンタの値が表示アドレスの垂直ポインタvの取りうる範囲、すなわち表示画面の走査線数分を繰り返し、すべての走査線の描画を完了することで1画面(1フレーム)の画像が構成される。
なお、上述した第1の実施形態では、説明のために、ソース画像データの数を5として説明したが、同様の回路をソースデータの数だけ用意することで、合成に使用するソース画像データの数を適時増加させることが可能である。
また、1走査線の時間内にソース画像データの分割処理と描画(表示メモリへの書き込み)とを同時に完了する様にしているが、さらに1走査線分のディレイ、及びTMPメモリ2oと同容量のTMPメモリを設けることで、ソース画像データの分割処理をディ示プレイ2dへの表示の2走査線分前に行い、描画を1走査線分前のタイミングで行うようにしても良い。
上述したように、表示画面に表示される図2の画像を合成するソース画像データにおいて、複数のソース画像データの重なり領域に関して、表示優先度が低いソース画像データの画像メモリ2aに対するアクセスは、上部にあるソース画像データが透過色の画素データを有する以外には行われず、表示バッファに対するアクセスは、画素データが書き込まれたアドレスに対して、マークメモリのマークデータが検出されることでスキップされ、以降行われないために重ね書きによる無駄なアクセスが生じず、ソース画像データの合成にかかる時間を削減することができる。
【0051】
また、上述した第1の実施形態では、説明のために、画像メモリ1aにおけるソース画像データのサイズと、表示画面に画像表示される画像のサイズとを同一として説明を行っている。
しかしながら、第1の実施形態の画像処理装置は、水平方向及び垂直方向の寸法の拡大または縮小が行われ、画像メモリ2aにおけるソース画像データのサイズと、表示バッファ2e及び2fに転送されるソース画像データ(表示画面に表示される画像)のサイズが異なる場合にも、各サイズの比率に基づき、表示画面におけるソース画像データの表示領域と画像メモリ2aのアドレスとから、必要となるソース画像データの画像メモリ2aにおけるアドレスを算出することが可能である。このため、本願発明の画像処理装置は、水平方向及び垂直方向またはいずれかの拡大及び縮小機能を有した画像処理装置に対しても応用することが可能である。
【0052】
第1の実施形態による画像処理装置は、表示優先度の高いソース画像データにおける画素データが半透明色である場合、低い表示優先度のソース画像データから順にバッファ2e及び2fの画素データに対して、半透明色演算を行うため、ソース画像データAtt−A,Att−B,Att−C,Att−D及びAtt−Eの重ね合わせにおいて、使用者が特に意識することなく、半透明色を通した風景等、例えば色ガラスを通して見るキャラクタが自然に近い状態で合成画像を生成できる。
また、画像処理装置は、半透明色の画素データから構成されていないソース画像データの合成処理を行った後に、この合成から得られた画像の画素データに対して、表示優先度の低い半透明色の画素データを用いた半透明色演算を行うため、半透明色のソース画像データより優先度の低いソース画像データの画素データを誤って削除することなく、操作者が意識せずに半透明色のソース画像データを含む複数のソース画像データの合成処理を行うことが可能となる。
さらに、第1の実施形態による画像処理装置は、半透明色の画素データと、表示バッファにおいて、この画素データと重なる位置のアドレスに記憶されている画素データとの半透明色演算を行うときに、プライオリティメモリに書き込まれた表示優先度に基づき、半透明色の画素データより低い表示優先度の画素データを表示バッファから読み出すため、半透明色演算が必要ないアドレスの画素データの読み出し、及び表示バッファへの演算結果の書き込み等のアクセスを省くことができるため、半透明色のあるソース画像データを含んだ画像合成処理を高速化することが可能である。
【0053】
加えて、第1の実施形態による画像処理装置は、複数のソース画像データを合成して画像を生成するとき、各ソース画像データの重なりあった部分に基づき、ソース画像データを分割画像データに分割し、各表示優先度の高いものから表示バッファ2e及び2fに書き込んでいくため、画像表示(描画)されるドットの画素データのみを、表示バッファに書き込むこととなり、画像メモリ2a及び表示バッファに対するアクセス回数を削減することができ、画像表示される画像を合成により生成する速度を高速化することが可能である。
これにより、第1の実施形態による画像処理装置は、半透明色の画素データから構成されていない3つのソース画像データデータatt−A,att−B及びatt−Cにおいて、表示優先度の低いソース画像データを順に表示バッファ1cに重ね書きしていく手法と同様の画像が得られるとともに、重ね書きした場合に消えてしまう下部のドットのデータの読み出しを画像メモリ1aから読み出すことが無く、無駄なアクセス時間(アクセス回数)を削減し、画像の合成処理を高速化する効果がある。
また、さらに、第1の実施形態による画像処理装置は、表示優先度の高いソース画像データにおけるの画素データが透過色である場合、この画素データの下部に位置する次に表示優先度の高いソース画像データのドットの画像データを表示バッファ2e及び2fに書き込むため、ソース画像データAtt−A,Att−B及びAtt−Cの重ね合わせにおいて、使用者が特に意識することなく、かつ、透過色の表示優先度の高いソース画像データの下部にあるソース画像データの画素データを削除すること無く合成画像を表示することが可能となり、背景に対するキャラクタの合成画像などが容易に合成できる効果がある。
【0054】
<第2の実施形態>
次に、本発明の第2の実施形態による画像処理装置の説明を行う。
第2の実施形態による画像処理装置の構成は、図1に示す第1の実施形態による画像処理装置の構成と同様である。
以下の説明において、図1の画像メモリ2aには、図2に示すソース画像データAtt−A,Att−B,Att−C,Att−D,Att−Eが格納されているとする。
第1及び第2の実施形態の異なる点は、アトリビュート変換回路2mがアトリビュート変換回路3mに、TMPメモリ2oがTMPメモリ3oへ変更されている点である。
アトリビュート変換回路3mは、アトリビュートコントローラ2kが画像メモリ2aから、走査線単位で画素データを読み出し表示バッファ(2eまたは2f)へ転送するとき、または、表示バッファへの書き込みの終了後に、ソース画像データの分割画像データの再分割を行う。
TMPメモリ3oは、内部に複数のテーブル(以下に示すテーブル31及び32等の複数のテーブル)の記憶領域を有しており、処理中に再分割後の分割画像データの表示アドレスを順次書き込んで行き、垂直同期信号の入力タイミングでリセットされる。
また、以下に示すTMPメモリ3oにおける各テーブルの表示アドレスの記憶形式は、図3に示すTMPメモリ2oと同様である。
以下の説明において、画像メモリ2aに格納されているソース画像データAtt−A〜Att−Eの表示優先度は、従来例及び第1の実施形態と同様に、ソース画像データAtt−C,Att−E,Att−B,Att−D,Att−Aの順に高くなっている(ソース画像データAtt−Aが最も高く,ソース画像データAtt−Cが最も低い)とする。
【0055】
また、第1の実施形態と第2の実施形態とにおける同様な機能の構成要素には同一の符号を付け説明を省略し、第2の実施形態において、アトリビュートコントローラ2k,アトリビュート変換回路3m及びTMPメモリ3oの構成及び動作の説明を、第1の実施形態のアトリビュート回路2m,TMPメモリ2o,アトリビュートコントローラ2kに追加された機能のみとし、アトリビュート変換回路3m及びTMPメモリ3oにおける第1の実施形態のアトリビュート回路2m,TMPメモリ2oと同様な機能についての説明を、第1の実施形態におけるアトリビュート回路2m,TMPメモリ2o各々の説明を参照することとして省略する。
特に、第2の実施形態において、他のソース画像データと重なり合う、半透明色のソース画像データ、例えばソース画像データAtt−D,Att−Eに基づく半透明演算を含めた半透明色処理に対しては、第1の実施形態における処理と同様であり、第1の実施形態の説明において詳細に記述されているため、以下の第2の実施形態に対する説明では触れない。
以下、順次、アトリビュート変換回路3m及びTMPメモリ3oの詳細な説明を行う。
【0056】
アトリビュート変換回路3mは、垂直カウンタ2hがインクリメントされる毎に、すなわち、垂直ポインタvが新たな走査線のアドレスを示したとき、画像処理の最初の段階において、アトリビュート変換回路2mがTMPメモリ3oへ表示アドレスを記憶させた第1の実施形態の処理と同様に、ソース画像データの表示優先度に基づき、これらソース画像データを分割画像データに分割し、その各分割画像データの表示アドレスをTMPメモリ3oのテーブル31に、第1の実施形態で図3を用いて説明した、TMPメモリ2oへの表示アドレスの書き込みと同様に記憶させる。
ここで、アトリビュート変換回路3mは、各ソース画像データの分割後の分割画像データの表示アドレス(スタートアドレスhs及びエンドアドレスhe)の算出を、図3に示すディスプレイ2dでの表示において、各ソース画像データの重なりの組み合わせの異なる、垂直ポインタvの示す走査線のアドレスの範囲毎に行う。
そして、アトリビュートコントローラ2kは、TEMメモリ3o内のテーブル31に示される、ディスプレイ2dに表示される実質的な表示画像データである各分割画像データの表示アドレスに基づき、水平カウンタ2nのインクリメント動作毎に、表示バッファ2e(または表示バッファ2f)へ、画像メモリ2aから読み出す画素データを書き込む。
この表示バッファへの画素データの書き込みを行っているとき、または表示バッファへの書き込みの終了後に、アトリビュート変換回路3mは、TEMメモリ3oのテーブル31に記憶されている、各分割画像データの表示アドレスの再構成、すなわち表示優先度に従い、各ソース画像データを分割して生成した分割画像データの再分割を行う。
【0057】
ここで、アトリビュートコントローラ2kが、TMPメモリ3oのテーブル31に格納されている各分割画像データの表示アドレスに対応して、画像メモリ2aから画素データの読み出しを行っているとき、アトリビュート変換回路3mは、テーブル31において(すなわち、各ソースアドレスの重なりの組み合わせの異なる、図3に示すディスプレイ2dの走査線のアドレスの範囲毎に)、再分割するソース画像データAtt−Bより高い、すなわち最も表示優先度の高いソース画像データAtt−Aの分割画像データ(実際には、分割されていないソース画像データAtt−A)のアドレス領域と、次に表示優先度の高いソース画像データAtt−Bとの重なり部分の検出を行う。
【0058】
このとき、アトリビュート変換回路3mは、アトリビュートメモリ2iにおける各ソース画像データの表示アドレスに基づき、テーブル31において、ソース画像データAtt−Bのスタートアドレスhsとエンドアドレスheとの間(ディスプレイ2dにおける表示アドレスの範囲)で、このソース画像データAtt−Bと重なるソース画像データAtt−Aの領域があるか否かの判定を、表示画面の走査線における各ソース画像データのスタートアドレスhs及びエンドアドレスheの示す範囲における重なり部分の検出により行う。
すなわち、アトリビュート変換回路3mは、ソース画像データAtt−Bの表示アドレスの範囲において、ソース画像データAtt−Bのスタートアドレスhsとソース画像データAtt−Aのスタートアドレスhsとの比較を行い、ソース画像データAtt−Bの方がソース画像データAtt−Aより小さいスタートアドレスhsであれば、重なり部分の開始アドレスをソース画像データAtt−Aのスタートアドレスhsの数値とし、一方、ソース画像データAtt−Bの方がソース画像データAtt−Aより大きいスタートアドレスhsであれば、重なり部分の開始アドレスをソース画像データAtt−Bのスタートアドレスhsの数値とする。
【0059】
また、アトリビュート変換回路3mは、ソース画像データAtt−Bの表示アドレスの範囲において、ソース画像データのエンドアドレスheとソース画像データAtt4のエンドアドレスheとの比較を行い、ソース画像データAtt−Bの方がソース画像データAtt−Aより大きいエンドアドレスhsであれば、重なり部分の終端アドレスをソース画像データAtt−Aのエンドアドレスheの数値とし、一方、ソース画像データAtt−Bの方がソース画像データAtt−Aより小さいエンドアドレスheであれば、重なり部分の終端アドレスをソース画像データAtt−Bのエンドアドレスheの数値とする。
これにより、アトリビュート変換回路3mは、上記開始アドレスと上記終端アドレスとで示される領域を重なり部分として検出する。
そして、アトリビュート変換回路3mは、上記重なり部分を、ソース画像データAtt−Bの新たな分割画像データとする。
これにより、アトリビュート変換回路3mは、上記重なり部分の領域を、ソース画像データAtt−Bの新たな分割画像データとし、新たな部分画像データの生成された表示アドレス,すなわち上記開始アドレス(表示アドレスにおけるスタートアドレス)と上記終端アドレス(表示アドレスにおけるエンドアドレス)との範囲を、ソース画像データAtt−Bの新たな分割画像データの表示アドレスとして、TMPメモリ3o内のテーブル32へ格納する。
したがって、このとき、TMPメモリ内のテーブル32には、ソース画像データAtt−Bの新たな分割画像データの表示アドレス(スタートアドレスhs及びエンドアドレスhe)のみが記憶されている。
【0060】
すなわち、アトリビュートコントローラ2kが各分割画像データを表示バッファ2E(または表示バッファ2f)に転送するとき、アトリビュート変換回路3mは、TMPメモリ3oのテーブル31における表示アドレスの再構成を行う(再分割を行う)ソース画像データAtt−Bと、このソース画像データAtt−Bより表示優先度の高いソース画像データAtt−Aとの重なり部分を、新たなソース画像データAtt−Bの分割画像データとすることにより、ソース画像データAtt−Bの再分割、すなわちソース画像データAtt−Bの部分画像データに対して表示アドレスの再構成を行う。
また、アトリビュート変換回路3mは、TMPメモリ3o内のテーブル31において、ソース画像データAtt−Bの新たな分割画像データの表示アドレスに対応する領域を、ソース画像データAtt−Bの画素データの領域とする。
【0061】
すなわち、アトリビュート変換回路3mは、TMPメモリ3o内のテーブル31の部分画像データの表示アドレス,及び各ソース画像データの表示アドレスにおいて検出された、ソース画像データAtt−Aにおけるソース画像データAtt−Bとの重なり部分を、TMPメモリ3o内のテーブル31におけるソース画像データAtt−Bの新たな分割画像データの領域とする。
これにより、TMPメモリ3o内のテーブル31においては、ソース画像データAtt−Bの全ての表示アドレスの領域が示され、ソース画像データAtt−Bと重なっていないソース画像データAtt−Aの領域が新たに分割画像データとして残り、他の分割画像データの表示アドレスに対する範囲の変更は無い。
次に、アトリビュートコントローラ2kが、バッファ2e(または2f)に画素データを転送するため、TMPメモリ3oのテーブル32に格納されている再分割により生成された表示アドレスに対応して、画像メモリ2aから画素データを読み出しているとき、アトリビュート変換回路3mは、テーブル31において、次に再分割を行うソース画像データAtt−Cより表示優先度の高いソース画像データAtt−A,Att−Bの分割画像データの表示アドレスの範囲と、再分割を行うソース画像データAtt−Cとの重なり部分を検出し、上述したソース画像データAtt−Bの再分割処理と同様に各ソース画像データAtt−Cの再分割処理を行う。
【0062】
このバッファ2e(または2f)に画素データを転送するとき、水平カウンタ2nは、テーブル32の表示アドレスの範囲内においてカウント動作を行う。
すなわち、アトリビュートコントローラ2kは、新たに生成された分割画像データの表示アドレスの範囲のみの画素データを、バッファ2e(または2f)へ対しての書き込み処理を行うこととなり、マークメモリにおけるマークデータの書かれていない全ての画素データを、画像メモリ2aから読み出すわけではないので、読み出し時間を短縮することができる。
したがって、アトリビュートコントローラ2kは、第1の実施形態と同様に表示アドレスに対応して画像メモリ2aから画素データの読み出し処理を行うが、再分割処理により順次変更されるTMPメモリ3oの各テーブルに基づいた読み出しを行うため、実質的に、表示バッファ2e(または表示バッファ2f)に対して、再分割して新たに生成される分割画像データの上部にあるソース画像データの透過色の領域に、再分割されたソース画像データの分割画像データの画素データを書き込む制御を行うこととなる。
【0063】
すなわち、アトリビュート変換回路3mは、順次、再分割の処理を行うとき、再分割の対象となるソース画像データを、TMPメモリ3o内に最初に生成したテーブル31の中で、2番目に高い表示優先度のソース画像データから順番に選択し、再分割するソース画像データとする。
そして、アトリビュート変換回路3mは、TMPメモリ3oにおける最初に作成された、表示優先度に対応して生成された各分割画像データの表示バッファが記載されたテーブル31に基づき、選択された再分割するソース画像データの表示アドレスと、この再分割するソース画像データより表示優先度の高いソース画像データの表示アドレスとを比較して、選択された再分割するソース画像データの表示アドレスと、この再分割するソース画像データより表示優先度の高いソース画像データとの重なり部分の領域を検出する。
第2の実施形態において、アトリビュートコントローラ2k及びアトリビュート変換回路3mは、ディスプレイ2dの対応する垂直ポインタVの指し示す走査線に存在するソース画像データにおいて、すなわち、この走査線に存在しないソース画像データに対する処理を行わずに、上述したソース画像データの再分割処理を、アトリビュートメモリ2iにおける各ソース画像データの表示アドレスに基づき、ディスプレイ2dに表示される走査線毎に、すなわちTMPメモリ3oのテーブル31に存在する最も低い表示優先度のソース画像データの処理が終了するまで、高い表示優先度のソース画像データ毎に順次行う。
【0064】
次に、図1〜図8を参照し、第2の実施形態の動作例を説明する。ここで、図1の画像メモリ2aには、図2に示すソース画像データAtt−A,Att−B,Att−C,Att−D及びAtt−Eが記憶されており、アトリビュートメモリ2iには図3の画像を合成するアトリビュートデータが格納されているとする。
アトリビュートメモリ2iには、第1の実施形態の画像処理装置と同様に、ディスプレイ2dに供給される垂直同期信号が入力され、垂直カウンタ2hが出力する垂直ポインタvがインクリメントされる毎に、ディスプレイ2dの1フレームに画像表示される合成画像を形成するデータ、すなわち、画像の合成に使用する各ソース画像データの画像メモリにおけるソースアドレス,ディスプレイ2d(画像表示装置)の画面上における表示位置を示す表示アドレス,表示優先度,半透明色であるか否かなどを含むアトリビュートデータなどが格納される。
また、表示優先度は、ソース画像データAtt−Aが最も高く、以下、ソース画像データAtt−D,Att−B,Att−Eの順に高く、ソース画像データAtt−Cが最も低いとする。
【0065】
アトリビュートメモリ2iには、ディスプレイ2dから垂直同期信号が入力されると、表示画面に次に表示される図2に示す画像のアトリビュートデータが転送され、格納される。
そして、垂直カウンタ2hは、走査信号が入力される毎に、インクリメントして計数値を垂直ポインタvとして、アトリビュートコントローラ2kへ出力する。
このとき、アトリビュートコントローラ2kは、アトリビュートメモリ2iのアトリビュートデータに基づき、半透明色でないソース画像データAtt−A,Att−B及びAtt−Cに対する表示バッファ(2eまたは2f)への書き込み処理から開始する。
これにより、アトリビュートコントローラ2kは、垂直カウンタ2hからの計数値から求められる表示画面上の垂直ポインタvの値が、各ソース画像データの垂直方向の領域を示すスタートアドレスからエンドアドレスまでの範囲内にあるか否かの判定を行う。
ここで、アトリビュートコントローラ2kは、垂直ポインタvがソース画像アドレスのスタートアドレスv1となると、すなわち、垂直ポインタvの値がアドレスv1となると、ソース画像データAtt−Cのデータ領域の範囲となったことを検出する。
【0066】
これにより、アトリビュートコントローラ2kは、アトリビュート変換回路3mに対して、検出信号vvldを出力する。
そして、アトリビュート変換回路3mは、検出信号vvldの入力処理により、分割処理を開始するが、アトリビュートデータに基づき、ソース画像データAtt−Cが他のソース画像データと重なり合っていないことを検出し、ソース画像アドレスAtt−Cの分割を行わない。
次に、アトリビュートコントローラ2kは、ソースアドレス算出回路2lに対して、表示画像データのアドレス領域を、TMPメモリ3oのテーブル31に示される、ディスプレイ2dにおける表示位置を示す表示アドレスから、画像メモリ2aにおける記憶位置を示すソースアドレスへ変換する処理を指示する。
そして、ソースアドレス算出回路2lは、アトリビュートデータにおけるソース画像データAtt−Bの、表示アドレスとソースアドレスとの関係に基づき、表示アドレスのアドレスv1(図3)を、ソースアドレスのアドレスy5(図2)に変換し、かつ、水平ポインタhの示す水平方向の表示アドレスのアドレスh1を、ソースアドレスのアドレスx1に変換する。
【0067】
また、透過色及び半透明色処理回路2rは、アトリビュートコントローラ2kが上記ソースアドレスに基づき、画像メモリ2aから順次読み出される、垂直ポインタy2におけるスタートアドレスx1からエンドアドレスx6までの画素データを、透過色か否かの検出を行う。
ここで、透過色及び半透明色処理回路2rは、スタートアドレスx1からエンドアドレスx6までの画素データが全て透過色であるので、アトリビュートコントローラ2k内のマークメモリにマークデータを書き込まない。
したがって、アトリビュートコントローラ2kは、ポインタv1に対応する走査線のドットに表示する画素データが無いことを検出し、画像メモリ2aから読み出したスタートアドレスx1からエンドアドレスx6までの画素データを、表示バッファ2eに書き込まない(ポインタvの示すv0は偶数アドレスの走査線であるため)。
【0068】
次に、垂直カウンタ2hが走査信号の入力により順次インクリメントされ、計数値の垂直ポインタvがアドレスvpの位置の奇数アドレスの走査線となったとする。
アトリビュート変換回路3mは、このアドレスvpの位置において、アトリビュートメモリ2iのデータから、ソース画像データAtt−A〜Att−Cの画像が全て重なり合っていることを検出する。
このため、アトリビュート変換回路3mは、アトリビュートコントローラ2kの出力する検出信号vvldの入力に基づき、各ソース画像データの重なり合った部分の分割を行う。
アトリビュート変換回路3mは、図4において示すように、表示優先度を考慮して、ソース画像データAtt−Aを分割せず、ソース画像データAtt−Bをソース画像データAtt−Aにより、分割画像データAtt−B1及び分割画像データAtt−B2へ2分割し、同様に、ソース画像データAtt−Cをソース画像データAtt−Bにより、分割画像データAtt−C1及び分割画像データAtt−C2へ2分割する。
ここで、図4〜図8において、白抜きの長方形で示されている領域が画像表示(描画)されるドット(画素データが透過色でない)の部分を示し、実線で示されている領域が画像表示されないドット(画素データが透過色である)の部分を示している。
【0069】
そして、図4に示す様に、アトリビュート変換回路3mは、分割画像データAtt−B1,分割画像データAtt−B2,分割画像データAtt−C1及び分割画像データAtt−C2各々の分割後のスタートアドレスhs及びエンドアドレスheを求め、この結果をTMPメモリ3oのテーブル31へ格納する。
例えば、アトリビュート変換回路3mは、分割画像データAtt−B1の範囲を示すスタートアドレスhs及びエンドアドレスheを、スタートアドレスh3及びエンドアドレスh4−1とし、分割画像データAtt−B2の水平方向の範囲を示すスタートアドレス及びエンドアドレスを、スタートアドレスh8及びエンドアドレスh9−1としてTMPメモリ3oのテーブル31へ格納する。
また、アトリビュート変換回路3mは、分割画像データAtt−C1の範囲を示すスタートアドレスhs及びエンドアドレスheを、スタートアドレスh1及びエンドアドレスh3−1とし、分割画像データAtt−C2の範囲を示すスタートアドレスhs及びエンドアドレスheを、スタートアドレスh9及びエンドアドレスh10−1としてTMPメモリ3oのテーブル31へ格納する。
【0070】
そして、ソースアドレス算出回路2lは、TMPメモリ3oのテーブル31に記憶されている、分割後の分割画像データAtt−C1の範囲を示すスタートアドレスh3及びエンドアドレスh4−1から、アトリビュートデータに基づき、分割画像データAtt−C1の画像メモリ2aにおける水平方向の範囲を示すスタートアドレスxs及びエンドアドレスxeを、各々スタートアドレスx1,エンドアドレス(x1+h4−1−h3)と演算する。
また、ソースアドレス算出回路2lは、分割後の分割画像データAtt−C2の範囲を示すスタートアドレスh9及びエンドアドレスh10−1から、アトリビュートデータに基づき、分割画像データAtt−B2の画像メモリ1aにおける水平方向の範囲を示すスタートアドレス及びエンドアドレスを、各々スタートアドレス(x1+h9−h1),エンドアドレス(x1+h10−1−h1)と演算する。
同様に、ソースアドレス算出回路2lは、TMPメモリ3oのテーブル31に記憶されているアドレスに基づき、分割画像データAtt−B1及び分割画像データAtt−B2の画像メモリ2aでの範囲を示すスタートアドレスhs及びエンドアドレスheを、各々スタートアドレスx1,エンドアドレス(x1+h4−1−h1)及びスタートアドレス(x1+h8−h1),エンドアドレス(x1+h9−1−h1)と演算する。
【0071】
また、ソースアドレス算出回路2lは、ソース画像データAtt−A及び分割後の各分割画像データの垂直ポインタvの示すアドレスvpから、アトリビュートデータに基づき、ソース画像データAtt−A及び分割後の上記各分割画像データの画像メモリ2aにおける垂直方向のアドレスを求める。
例えば、ソースアドレス算出回路2lは、ソース画像データAtt−Aの垂直方向のアドレスvpに対応する垂直方向のアドレスをアドレス(y1+vp−v3)と演算し、同様に、分割画像データAtt−B1,分割画像データAtt−B2のアドレスvpに対応するアドレスをアドレス(y3+Vp−v2)と演算し、分割画像データAtt−C1及び分割画像データAtt−C2のアドレスvpに対応する垂直方向のアドレスをアドレス(y5+Vp−v1)と演算する。
【0072】
そして、アトリビュートコントローラ2kは、この時点で、より高い表示優先度を有する画像データと重ならない分割画像データAtt−C1,Att−B1,Att−B2,Att−C2と、ソース画像データAtt−Aの各々のアドレスvp及びポインタhとで選択されるドットの画素データを、ポインタhの値をインクリメントして画像メモリ2aから、順次読み出す。
このとき、透過色及び半透明色処理回路2rは、読み出した分割画像データにおける各ドットの画素データが透過色か否かの判定を行う。
そして、透過色及び半透明色処理回路2rは、アトリビュートコントローラ2kの読み出した画素データにおいて、透過色でない画像データのドットが分割画像データAtt−C1のアドレスh11〜アドレスh3−1までのドットの画素データと、ソース画像データAtt−Aのアドレスh41〜アドレスh42−1までのドットの画素データとであることを検出し、マークメモリに各ドットのアドレスに対応させマークデータを書き込む。
また、アトリビュートコントローラ2kは、プライオリティメモリに各ドットのアドレスに対応させ、各画素データの表示優先度のデータ「5」,「1」を書き込む。
これにより、アトリビュートコントローラ2kは、表示バッファ2eに対して、垂直ポインタvpの位置における分割画像データAtt−C1の水平方向のアドレスh11〜アドレスh3−1までのドットの画素データと、ソース画像データAtt−Aの水平方向のアドレスh41〜アドレスh42−1までのドットの画素データとを書き込む。
【0073】
また、このとき、アトリビュート変換回路3mは、テーブル31の表示アドレスに対応して、アトリビュートコントローラ2kが画素データを画像メモリ2aから読み出すとき、テーブル31のなかで2番目に表示優先度の高いソース画像データ、すなわちソース画像データAtt−Cを、再分割するソース画像データとして選択する。
そして、アトリビュート変換回路3mは、この選択されたソース画像データAtt−Bと重なり合う、このソース画像データAtt−Bより表示優先度の高いソース画像データAtt−Aの領域を検出し、この重なり合う領域を、ソース画像データAtt−Bの新たな分割画像データとすることで再分割を行う。
これにより、アトリビュート変換回路3mは、再分割後のソース画像データAtt−Bの新たな分割画像データの表示アドレスの範囲(スタートアドレスhsとエンドアドレスheとの範囲)を、TMPメモリ3o内のテーブル32へ書き込む(格納する)。
このとき、アトリビュート変換回路3mは、テーブル31において2番目に表示優先度の高いソース画像データAtt−Bの表示範囲、すなわちスタートアドレスh3〜エンドアドレスh9−1の範囲で、ソース画像データAtt−Bより表示優先度の高いソース画像データAtt−Aの領域の検出を開始する。
ここで、アトリビュート変換回路3mは、ソース画像データAtt−Aの表示アドレスの範囲が上述したソース画像データAtt−Bの表示アドレスの領域に含まれていることを検出する。
【0074】
すなわち、アトリビュート変換回路3mは、ソース画像データAtt−Aのスタートアドレスh4がソース画像データAtt−Bのスタートアドレスh3より大きく、ソース画像データAtt−Aのエンドアドレスh8−1がソース画像データAtt−Bのエンドアドレスh9−1より小さいことを検出する。
これにより、アトリビュート変換回路3mは、ソース画像データAtt−Aとソース画像データAtt−Bとの重なり部分のアドレスh4からアドレスh8−1までの領域を、ソース画像データAtt−Bの新たな分割画像データAtt−B3とする。
そして、アトリビュート変換回路3mは、ソース画像データAtt−Bの新たな分割画像データとして、表示アドレスの範囲がスタートアドレスh4〜エンドアドレスh8−1の分割画像データAtt−B3を生成し、この表示アドレスの範囲をTMPメモリ3o内のテーブル32に書き込む。
このとき、アトリビュート変換回路3mは、図4に示すように、TMPメモリ3o内のテーブル31における各分割画像データの表示アドレスの範囲において、ソース画像データAtt−Aがソース画像データAtt−Bと重なっている部分(分割画像データAtt−B3の表示アドレス範囲)を、分割画像データAtt−B3と置換する(分割画像データAtt−B3の領域を上書きする)。
これにより、実質的に、図5に示す上記テーブル31には、ソース画像データAtt−B(分割画像データAtt−B1,Att−B2,Att−B3の表示アドレスの範囲が加算されたもの)の表示アドレスの範囲と、分割画像Att−C1及び分割画像データacc−C2の表示アドレスの範囲とが記憶されている。
【0075】
次に、アトリビュートコントローラ2kは、図5に示すマークメモリの状態において、マークデータが書き込まれていない水平ポインタhのアドレスがあることを検出し、マークデータの書き込まれていないアドレスに対応する表示バッファ2fのアドレスに、画素データを書き込む処理を開始する。
そして、アトリビュートコントローラ2kは、テーブル32に書き込まれている分割画像データAtt−B3の表示アドレスの範囲の画素データを、テーブル32の表示アドレスの範囲、すなわち分割画像データAtt−B3の表示アドレスの範囲(スタートアドレスh4〜エンドアドレスh8−1まで)において、水平カウンタ2nの出力するポインタhに対応する表示アドレス毎に、画像メモリ2aから読み出す。
このとき、水平カウンタ2nは、テーブル32の分割画像データAtt−B3の表示アドレスの範囲内、すなわちスタートアドレスh4〜エンドアドレスh8−1の範囲においてカウント動作を行う。
そして、アトリビュートコントローラ2kは、マークメモリにマークデータが記載されていない表示アドレスを検出する毎に、ソースアドレス算出回路2lがこのテーブル32の表示アドレスから変換したソースアドレスに基づき、このソースアドレスに対応するドットの画素データを画像メモリ2aから読み出し、この画素データを表示バッファ2fの上記表示アドレスに対応するアドレスに書き込む処理を行う。
【0076】
このとき、アトリビュートコントローラ2kは、上記ドットの画素データが画像メモリ2aから読み出される毎に、透過色及び半透明色処理回路2rにより、この読み出された画素データが透過色か否かの判定を行い、透過色でないと判定された画素データのみを、表示バッファ2fの上記表示アドレスに対応するアドレスに書き込む。
そして、アトリビュートコントローラ2kは、マークメモリに対して、画素データが書き込まれた表示バッファ2fのアドレスに対応するアドレスにマークデータを書き込む。
また、アトリビュートコントローラ2kは、プライオリティメモリに各ドットのアドレスに対応させ、各画素データの表示優先度のデータ「3」を書き込む。
これにより、アトリビュートコントローラ2kは、変更されたマークメモリのマークデータのアドレス、すなわち、垂直ポインタvの示すアドレスvpの位置におけるソース画像データAtt−Bのアドレスh44〜アドレスh41−1までのドットの画素データを表示バッファ2fの対応する位置に書き込む。
【0077】
また、このとき、アトリビュート変換回路3mは、アトリビュートコントローラ2kが画素データを画像メモリ2aから読み出しを行っているとき、テーブル31において再分割を行う3番目に表示優先度の高いソース画像データ、すなわちソース画像データAtt−Cの画素データと重なり合う、ソース画像データAtt−Cより表示優先度の高いソース画像データAtt−A,Att−Bの領域(実際にはソース画像データAtt−Bのみ)を、ソース画像データAtt−Cの新たな分割画像データの領域に変更し、ソース画像データAtt−Cの再分割を行い、再分割後の新たな分割画像データAtt−C3の表示アドレスの範囲をスタートアドレスh3〜エンドアドレスh9−1として、TMPメモリ3o内のテーブル33へ書き込む。
【0078】
すなわち、アトリビュート変換回路3mは、テーブル31において、3番目に表示優先度の高いソース画像データAtt−Cの表示アドレスの範囲のスタートアドレスh0〜エンドアドレスh5−1のあいだにある、ソース画像データAtt−Cより表示優先度の高いソース画像データAtt−A,Att−Bまたはこれらの分割画像データの領域の検出を開始する。
ここで、アトリビュート変換回路3mは、上述したソース画像データAtt−Bの再分割のときと同様に、ソース画像データAtt−Bがソース画像データAtt−Cの表示アドレスの範囲(アドレスh3〜アドレスh9−1の範囲)にあることを検出し(重なり合う部分を検出し)、この重なり部分の領域を、ソース画像データAtt−Cの新たな分割画像データAtt−C3の表示アドレスの範囲とする。
そして、アトリビュート変換回路3mは、図9に示すように、TMPメモリ3o内のテーブル31における各分割画像データの表示アドレスの範囲において、ソース画像データAtt−Bがソース画像データAtt−Cと重なっている部分(分割画像データAtt−C3の表示アドレス範囲)を、分割画像データAtt−C3と置換する(分割画像データAtt−C3の領域を上書きする)。
これにより、実質的に、図9に示す上記テーブル31には、ソース画像データAtt−C(分割画像データAtt−C1,Att−C2,Att−C3の表示アドレスの範囲が加算されたもの)の表示アドレスの範囲のみが記憶されている。
【0079】
次に、アトリビュートコントローラ2kは、図9に示すマークメモリの状態において、マークデータが書き込まれていない水平ポインタhのアドレスがあることを検出し、マークデータの書き込まれていないアドレスに対応する表示バッファ2fのアドレスに、画素データを書き込む処理を開始する。
そして、アトリビュートコントローラ2kは、テーブル33に書き込まれている分割画像データの画素データを、水平カウンタ2nの出力するポインタhに対応する表示アドレス毎に読み出す。
このとき、水平カウンタ2nは、テーブル32の分割画像データAtt−C3の表示アドレスの範囲内、すなわちスタートアドレスh3〜エンドアドレスh9−1の範囲においてカウント動作を行う。
そして、アトリビュートコントローラ2kは、マークメモリにマークデータが記載されていない表示アドレスを検出する毎に、ソースアドレス算出回路2lがこの表示アドレスから変換したソースアドレスに基づき、このソースアドレスに対応するドットの画素データを画像メモリ2aから読み出し、この画素データを表示バッファ2fの上記表示アドレスに対応するアドレスに書き込む処理を行う。
【0080】
このとき、アトリビュートコントローラ2kは、上記ドットの画素データが画像メモリ2aから読み出される毎に、透過色及び半透明色処理回路2rにより、この読み出された画素データが透過色か否かの判定を行い、透過色でないと判定された画素データのみを、表示バッファ2fの上記表示アドレスに対応するアドレスに書き込む。
そして、アトリビュートコントローラ2kは、マークメモリに対して、画素データが書き込まれた表示バッファ2fのアドレスに対応するアドレスにマークデータを書き込む。
また、アトリビュートコントローラ2kは、プライオリティメモリに各ドットのアドレスに対応させ、各画素データの表示優先度のデータ「1」を書き込む。
【0081】
これにより、アトリビュートコントローラ2kは、変更されたマークメモリのマークデータのアドレス、すなわち、垂直ポインタvの示すアドレスvpの位置における部分画像データAtt−C3のアドレスh45〜アドレス45−1,アドレスh42〜アドレスh47−1の各範囲のドットの画素データを表示バッファ2fの対応する位置に書き込む。
また、このとき、アトリビュート変換回路3mは、テーブル31においてソース画素データが最も低い表示優先度であることを検出することにより、アトリビュートコントローラ2kが画素データを画像メモリ2aから読み出すとき、テーブル32のなかで再分割するソース画像データが無いため、ソース画像データAtt−A,Att−B,Att−Cの領域の抽出を行わない。
また、最も表示優先度の低いソース画像データに達しない場合でも、マークメモリの全てのアドレスにデータが書き込まれれば、アトリビュートコントローラ2kは、表示バッファ2fに対する、半透明色でないソース画像データの各画素データの書き込みを終了する。
【0082】
次に、アトリビュートコントローラ2kは、全ての半透明色で無いソース画像データAtt−A,Att−B及びAtt−Cの画像処理が終了したことを検出すると、半透明色の画素データで構成されたソース画像データAtt−D及びAtt−Eを用いた画像処理を行う。これ以降の、半透明色のソース画像データを用いた画像処理は、第1の実施形態に記述と同様のため、説明を省略する。
また、この半透明のソース画像データの画像処理を行うとき、アトリビュート変換回路3mは、表示優先度に基づき、半透明色のソース画像データを分割画像データとした場合にも、TMPメモリ3oの対応するテーブルに、分割後の表示アドレス(分割表示アドレス)を書き込むこととなる。
そして、半透明色のソース画像データの画像処理が終了した後、新たな画像処理が開始される。
すなわち、垂直カウンタ2hは、ディスプレイ2dから次の走査信号が入力されると、インクリメントされ、計数結果として、ディスプレイ2dの表示画面上の走査信号の出力される走査線の位置を示す垂直ポインタvをV23+1として出力する。
これにより、アトリビュートコントローラ2kは、次の走査線の画素データの書き込みを表示バッファ2eに対して行う。
そして、本願発明の画像処理装置は、上述した処理を繰り返すことにより、ディスプレイ2dに、画像メモリ2aに記憶されているソース画像データを重ね合わせた画像の表示を行う。
【0083】
上述したように、第2の実施形態によるアトリビュートコントローラ2kは、第1の実施形態の効果に加えて、複数のソース画像データを合成して画像を生成するときに、各走査線毎において、順次、テーブル31,32,33の各分割画像データの表示アドレスに対応して、画像メモリ2aから画素データを読み出し、表示バッファにこの画素データの書き込みを行うとき、アトリビュートメモリ2iで2番目に表示優先度の高いソース画像データから順に、複数のソース画像データのなかから再分割するソース画像データを選択し、この再分割する画像データと、このソース画像データより高い表示優先度を有するソース画像データとの重なり部分を検出し、この重なり部分を再分割するソース画像データの新たな分割画像データとして、再分割処理を行い、順次TMPメモリ3o内の各テーブルに書き込んでいくことにより、複数のソース画像データの合成により生じる重なり部分において、上部の(表示優先度の高い)ソース画像データの画素データが透過色である場合、このドットの画素データを表示バッファ2eまたは表示バッファ2fに転送する処理を、マークメモリのマークデータ及び上記各テーブルの表示アドレスに基づき行うため、画像メモリ2aから必要以上の画素データを読むことなく、下部にあるソース画像データの透過色でない画素データを、表示バッファ2e(または2f)に対して書き込みことが可能なため、従来の様に表示バッファにおける画素データの重ね書きを防止することで、画像メモリ2aに対する不必要なアクセスを削減し、画像メモリ2aから画素データを読み出す回数を減少させることができ、ソース画像データの合成にかかる時間を削減することができる。
【0084】
なお、上述の第2の実施形態の構成においても、第1の実施形態と同様に、アトリビュートコントローラ2kにおけるマークラムに対するアクセス速度と、表示バッファ2e及び2fに対するアクセス速度とが同様であると、すでにマークメモリに書き込まれているマークデータの書き込まれたドットのアドレスを確認する時間と、表示バッファ2e及び2fに画素データを書き込む時間とが重なるため、マークメモリへのアクセスタイムを表示バッファ2e及び2fに対するアクセスタイムに対して高速化し、マークメモリにおいてマークデータが連続して書き込まれている領域をスキップして検出することが必要である。
【0085】
以上の動作を垂直カウンタの値が表示アドレスの垂直ポインタvの取りうる範囲、すなわち表示画面の走査線数分を繰り返し、すべての走査線の描画を完了することで1画面(1フレーム)の画像が構成される。
なお、上述した第2の実施形態では、説明のために、ソース画像データの数を4及び3として説明したが、同様の回路をソースデータの数だけ用意することで、合成に使用するソース画像データの数を適時増加させることが可能である。
また、1走査線の時間内にソース画像データの分割処理と描画(表示メモリへの書き込み)とを同時に完了する様にしているが、さらに1走査線分のディレイ、及びTMPメモリ3oと同容量のTMPメモリを設けることで、ソース画像データの分割処理をディ示プレイ2dへの表示の2走査線分前に行い、描画を1走査線分前のタイミングで行うようにしても良い。
上述したように、図2の表示画面に表示される画像を合成するソース画像データにおいて、斜線で示す重なり領域に関して、表示優先度が低いソース画像データの画像メモリ2aに対するアクセスは、上部にあるソース画像データが透過色の画素データを有する以外には行われず、表示バッファに対するアクセスは、画素データが書き込まれたアドレスに対して、マークメモリのマークデータが検出されることでスキップされ、以降行われないために重ね書きによる無駄なアクセスが生じず、ソース画像データの合成にかかる時間を削減することができる。
【0086】
また、上述した第2の実施形態では、説明のために、画像メモリ2aにおけるソース画像データのサイズと、表示画面に画像表示される画像のサイズとを同一として説明を行っている。
しかしながら、第1の実施形態と同様に、第2の実施形態の画像処理装置は、水平方向及び垂直方向の寸法の拡大または縮小が行われ、画像メモリ2aにおけるソース画像データのサイズと、表示バッファ2e及び2fに転送されるソース画像データ(表示画面に表示される画像)のサイズが異なる場合にも、各サイズの比率に基づき、表示画面におけるソース画像データの表示領域と画像メモリ2aのアドレスとから、必要となるソース画像データの画像メモリ2aにおけるアドレスを算出することが可能である。このため、本願発明の画像処理装置は、水平方向及び垂直方向またはいずれかの拡大及び縮小機能を有した画像処理装置に対しても応用することが可能である。
【0087】
また、第2の実施形態による画像処理装置は、複数のソース画像データを合成して画像を生成するとき、各ソース画像データの重なりあった部分に基づき、アトリビュート変換回路3mがソース画像データを分割及び再分割してTMPメモリ3oの各テーブルに書き込んだ各々の分割画像データの表示アドレスにより、表示バッファ2eまたは2fに書き込んでいくため、再分割された分割画像データの表示アドレスの範囲のみのドットの画素データを、画像メモリ2aから読み出して表示バッファに書き込むこととなり、画像メモリ2a及び表示バッファに対するアクセス回数を削減することができ、画像表示される画像を合成により生成する速度を高速化することが可能である。
これにより、第2の実施形態による画像処理装置は、3つのソース画像データデータAtt−A,Att−B及びAtt−Cにおいて、表示優先度の低いソース画像データから順に、画素データを表示バッファ1cに重ね書きしていく従来の手法と同様の画像が得られるとともに、重ね書きした場合に消えてしまう下部のドットのデータの読み出しを画像メモリ2aから読み出すことが無く、無駄なアクセス時間(アクセス回数)を削減し、画像の合成処理を高速化する効果がある。
さらに、第2の実施形態による画像処理装置は、表示優先度の高いソース画像データにおけるドットの画素データが透過色である場合、順次、このドットの下部に位置する次に表示優先度の高いソース画像データのドットの画像データを表示バッファ2e及び2fに書き込むため、ソース画像データAtt−A,Att−B及びAtt−Cの重ね合わせにおいて、使用者が特に意識することなく、透過色の表示優先度の高いソース画像データの下部にあるソース画像データの画素データを削除すること無く表示することが可能となり、背景に対するキャラクタの合成画像などが容易に合成できる効果がある。
【0088】
以上、本発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等があっても本発明に含まれる。
例えば、第1及び第2の実施形態における表示バッファ2e及び2fに代え、表示画面に表示される1フレームの合成画像の全ての画素データを格納できるフレームメモリを設け、重なりあうソース画像データの部分の処理を行いつつ画像メモリ2aから画素データを読み込み、表示する合成画像をこのフレームメモリ上に生成する構成を第3の実施形態とする。このとき、生成された合成画像は、水平同期信号が入力される毎にディスプレイ2dへ出力される。
この第3の実施形態において、フレームメモリへのデータの書き込み以外の動作は、上述した第1及び第2の実施形態の画像処理装置と同様である。
この第3の実施形態によれば、第1及び第2の実施形態と同様の効果が得られる。
【0089】
【発明の効果】
本発明の画像処理装置によれば、表示優先度の高いソース画像データにおける画素データが半透明色である場合、低い表示優先度のソース画像データから順にバッファ2e及び2fの画素データに対して、半透明色演算を行うため、半透明色の画素データから構成されるソース画像データを含む複数のソース画像データの重ね合わせにおいて、使用者が特に意識することなく、半透明色を通した風景等、例えば色ガラスを通して見るキャラクタが自然に近い状態で合成画像を生成できる。
【図面の簡単な説明】
【図1】本発明の第1及び第2の実施形態による画像処理装置の構成を示すブロック図である。
【図2】表示装置に表示される画像データを示す概念図である。
【図3】図1の画像メモリ2aに書き込まれる画像を示す概念図である。
【図4】第1及び第2の実施形態の画像処理装置の動作例を説明する概念図である。
【図5】第1及び第2の実施形態の画像処理装置の動作例を説明する概念図である。
【図6】第1及び第2の実施形態の画像処理装置の動作例を説明する概念図である。
【図7】第1及び第2の実施形態の画像処理装置の動作例を説明する概念図である。
【図8】第1及び第2の実施形態の画像処理装置の動作例を説明する概念図である。
【図9】従来例による画像処理装置の構成を示す概念図である。
【符号の説明】
2a 画像メモリ 2b 画像メモリコントローラ
2c 表示送出コントローラ 2d ディスプレイ
2e,2f 表示バッファ 2g 1ラインディレイ
2h 垂直カウンタ 2i アトリビュートメモリ
2j 表示バッファコントローラ 2k アトリビュートコントローラ
2l ソースアドレス算出回路 2m,3m アトリビュート変換回路
2n 水平カウンタ 2o,3o TMPメモリ
2r 透過色及び半透明色処理回路[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an image processing apparatus that combines a plurality of image data stored in an image memory and displays the combined image data on a screen.
[0002]
[Prior art]
In recent years, as microcomputers and memories have been reduced in price, image processing has become possible in home appliances, games, and the like, and various images have been displayed on display screens.
In the above-described image processing, there is a method of forming a moving image by displaying one screen created by combining a plurality of pieces of image data in chronological order.
The conventional image processing apparatus used here writes all the source image data indicated by one attribute to the display area of the display buffer based on the attribute data which is the display information of the source image data.
At this time, the image processing apparatus repeats the process for all the source images used for synthesizing the images in order from the source image data having the lower display priority, thereby forming the entire image to be displayed.
[0003]
Hereinafter, the above-described image combining process will be briefly described with reference to FIG.
The drawing circuit 6d reads a plurality of necessary source image data from the image memory 6c storing the source image data, and reads attribute data of the source image data from the
At this time, it is assumed that the drawing circuit 6d reads the data of the source image data att1 to att4 from the
Here, it is assumed that the priority of each source image data, that is, the display priority is higher in the order of the source image data att1 to att4.
Therefore, the drawing circuit 6d reads out the source image data att1 to att4 from the
[0004]
At this time, the drawing circuit 6d converts the address value of the source image data att1 drawn in the image memory 6c into an address value indicating the position where the source image data att1 is drawn on the display screen, and converts the source image data att1. Is temporarily stored in the
Next, the drawing circuit 6d reads the source image data att2 from the image memory 6c and performs the same processing as the above-described source image data att1.
At this time, in the shaded area (1) in the
[0005]
Then, the drawing circuit 6d continuously performs a process of synthesizing the source image data of the source image data att3 to att4, and forms an image of the entire buffer in the
At this time, the image data of the source image data att1, which is overwritten by the display image priority and is not displayed, which is indicated by the hatched portions {circle around (1)} to {3}, is also read out from the image memory 6c and stored in the
As a countermeasure against the above drawback, the drawing circuit 6d previously divides the source image data overlapping with the source image data having higher display priority into a shape for removing the overlapping portion based on the attribute data of each source image data. However, a method is conceivable in which data in the
[0006]
[Problems to be solved by the invention]
However, the above-described method of deleting the portion to be overwritten in advance is performed by the operator consciously from the translucent pixel data even when the high-priority source image data has a translucent color portion. If the composed processing of the source image data is not performed, there is a problem in that pixel data in which the source image data having a low priority overlaps with the translucent color portion is deleted.
That is, the pixel data below the translucent pixel data is data that must be displayed under the influence of the translucent color even if the priority is low. Will be lost.
The present invention has been made under such a background, and detects in advance image data which is overwritten by source image data having a high display priority and is not displayed, without performing unnecessary access to an image memory or a display buffer and displaying the image data. Provided is an image processing apparatus for displaying low priority image data located below a translucent portion even when the priority is high, under the influence of the translucent color.
[0007]
[Means for Solving the Problems]
An image display device according to the present invention includes: an image memory for storing a plurality of source image data; and a source address in the image memory for each of the source image data corresponding to the source image data stored in the image memory. When a plurality of source image data overlap with an attribute memory storing attribute data including a display address and a display priority on a screen of the apparatus, the source image data is divided into divided image data except for an overlapping portion of the lower source image data. And an attribute conversion circuit for performing a process of writing the generated divided display address to the temporary memory; and calculating a source address in the image memory from the divided address of the divided image data, and outputting the source address to the attribute controller. Source address calculation times If, based on this source address, from the image memory, the image memory controller for reading pixel data of the source image data, source image data by the image memory controller readsPixel dataTo the display bufferIn addition to writing, the display priority for each pixel data is written to an internal priority memory.An attribute controller, and a translucent color processing circuit that detects whether each pixel data of the source image data is translucent based on the attribute data, wherein the translucent color processing circuit is New pixel data representing a translucent lower image is obtained based on one pixel data and another pixel data written in the display buffer, which is located below the one pixel data. A semi-transparent operation is performed, and the attribute controller writes the new pixel data at the position of the other pixel data in the display buffer.
[0008]
An image display device according to the present invention includes an image memory that stores a plurality of source image data, an image memory controller that reads source image data from the image memory, and a display buffer that temporarily stores source image data read by the image memory controller. An attribute storing attribute data including a source address in the image memory, a display address on a screen of an image display device, and a display priority for each of the source image data corresponding to the source image data stored in the image memory; A memory, an attribute controller for reading attribute data from the attribute memory, and an attribute controller for dividing the source image data into divided image data when a plurality of source image data overlap, excluding an overlapping portion of the lower source image data; A source address calculating circuit that calculates a source address of the divided image data in the image memory of the divided image data, and outputs the source address to the attribute controller. A translucent color processing circuit for detecting whether the image data is a translucent color, wherein the translucent color processing circuit includes one pixel data of the translucent color and a lower part of the one pixel data. Based on the other pixel data that is located in the display buffer and based on the other pixel data, a semi-transparent operation is performed to find new pixel data representing an image below the translucent color, and the attribute controller converts this new pixel data into The data is written to the position of the other pixel data in the display buffer.
[0009]
In the image display device of the present invention, after the translucent color processing circuit writes the pixel data of the source image data other than the translucent color into the display buffer in the overlapping portion, the source image data having a lower display priority is displayed. Characterized in that the translucent operation is performed in order from.
BookIn the image display device of the present invention, the attribute controller extracts, from the display buffer, pixel data having a lower display priority than the translucent source image data based on the display priority stored in the priority memory. The above-mentioned translucency operation is performed on the pixel data obtained.
In the image display device according to the present invention, the address calculation circuit converts a display address of the divided image data into a source address based on the attribute data.
[0010]
In the image display device according to the present invention, when the attribute image controller is configured such that, when the source image data above the overlapping portion is a transparent color, the attribute controller determines a dot in the divided image data below the dot being the transparent color.Transfer to display bufferProcess, Sequentially from higher display priority source image data to lower priority source image dataIt is characterized in that it is performed for
In the image display device according to the present invention, when the attribute controller transfers each of the divided image data to a display buffer, the attribute conversion circuit re-divides the source image in the descending order of display priority of the divided image data in the temporary memory. Data is selected, an overlap portion between the selected source image data and source image data having a higher display priority than the source image data is detected, and re-division is performed based on the overlap portion.
In the image display device of the present invention, the attribute conversion circuit sets the overlapping portion as new divided image data of the selected source image data, generates a display address of the new divided image data, and It is characterized in that writing to a memory is performed.
In the image display device of the present invention, the temporary memory has a plurality of tables for storing the display addresses, and the attribute conversion circuit corresponds to the new divided image data to be sequentially re-divided for each of the tables. The display address of the divided image data is stored in a corresponding table.
[0011]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
<First embodiment>
FIG. 1 is a block diagram showing a configuration of an image processing apparatus according to the first (and second) embodiment of the present invention. In this figure, an
Here, the source image data is, for example, the source image data Att-A, Att-D, Att-B, Att-E and Att in FIG. 2 showing the concept of the source image data configuration stored in the
The source image data is stored in the
[0012]
Each time a vertical synchronization signal is input from the image processing device, the attribute memory 2i stores data forming a composite image displayed in one frame (one screen), that is, each source image data used for image synthesis. Attribute data including a source address indicating a data area in each
Here, each of the source addresses includes a start address xs and an end address xe indicating a horizontal area of the source image data, and a start address ys indicating a start of the vertical area of the source image data. Access is set for each pixel data in the data area.
For example, in the source address of the source image address Att-A, a start address x1 to an end address x3-1 are set as a range of a horizontal area, and a start address y1 is set as a range of a vertical area.
[0013]
The display address is composed of a start address hs and an end address he indicating the vertical direction of the source image data, and a start address vs and an end address ve indicating the horizontal direction of the source image data. Access is set for each data.
For example, as the display address of the source image address Att-A, the start address h4 to the end address h8-1 are set as the range of the horizontal address area, and the start address is set as the range of the vertical address area. An end address v7-1 is set from v3.
At this time, the attribute controller 2k detects source image data (att-A, att-B, and att-C) that are not semi-transparent based on the semi-transparent data in the attribute data, performs image processing on these, and performs translucency. The image processing of the color source image data (att-D and att-E) is performed after the processing of the source image data that is not translucent.
[0014]
The transmission color and translucent
That is, the attribute controller 2k reads the pixel data of the source image data in descending order of the display priority, and based on the detection result of the transmissive color and translucent
The
[0015]
The attribute controller 2k determines whether or not the address indicated by the vertical pointer v is within the range from the start address vs. the end address ve indicating the vertical area in the display address of each source image data stored in the attribute memory 2i. It determines whether there is pixel data to be transferred to the
The
[0016]
The
At this time, when a plurality of source image data overlap, for example, between the vertical pointers v2 to v3-1, the
That is, the
[0017]
At this time, the
The source
[0018]
For example, the source
The attribute controller 2k increments the horizontal pointer h from the start address ys of the divided image data on the basis of the source address obtained by the source
[0019]
Here, the source
For example, when the vertical pointer v indicates the vertical address v3 in the source image data att1, the source
The
[0020]
The
[0021]
Each time the attribute controller 2k reads the pixel data from the
That is, the attribute controller 2k writes the pixel data read from the
Here, the mark memory has a capacity of “the number of dots in the range (horizontal direction of the display screen of the display 2d) that the horizontal pointer h can take in the scanning line of the address indicated by the vertical pointer v × 1 bit”, The address of each bit corresponds to the address of the display buffer.
On the other hand, when the pixel data is a transparent color, that is, when the pixel data is not displayed on the display screen, the transmission color and translucent
[0022]
That is, when the attribute controller 2k detects that the pixel data read by the transmissive color and translucent
More specifically, the attribute controller 2k checks a position in the mark memory where no mark data is written, and every time image data is read from an address of the
The attribute controller 2k writes the read pixel image data to the display buffer when the result of the determination in the transmission color and translucent
[0023]
At this time, the transmission color and translucent
That is, the attribute controller 2k determines whether or not to write the pixel data into the display buffer on a dot-by-dot basis based on the determination result of the translucent
At this time, the attribute controller 2k does not perform the process of reading the pixel data at the address corresponding to the address of the mark memory where the mark data is written from the
[0024]
Each time pixel data is written to each display buffer, the display priority data of the source image data to which the pixel data belongs is written to a priority memory provided inside the attribute controller 2k.
Here, the priority memory has a capacity of “the number of dots within the range (horizontal direction of the display screen of the display 2d) that the horizontal pointer h can take in the scanning line of the address indicated by the vertical pointer v × the number of bits indicating the display priority”. , And the address of each dot corresponds to the address of the display buffer.
The attribute controller 2k determines whether the mark data has been written to all the addresses of the mark memory, or has completed the processing of the source image data of all non-translucent pixel data existing on the scanning line indicated by the vertical pointer v. , The processing of the source image data of the translucent color is started.
The attribute controller 2k reads pixel data from the
[0025]
When reading the translucent source image data on the basis of the display priority data written in the priority memory, the attribute controller 2k determines a pixel in a portion overlapping with the source image data having a lower display priority than the source image data. Only data is read from the
Here, when reading the pixel data of the source image data of the translucent color, the attribute controller 2k increments the pointer h, sequentially reads all the pixel data one dot at a time from the image memory, and reads one pixel data. Each time, the display priority of the read pixel data may be compared with the display priority written in the priority memory corresponding to the address of the pixel data.
[0026]
At this time, the attribute controller 2k sends the read pixel data to the transmission color and translucent
The transmissive color and translucent
[0027]
As a result, the attribute controller 2k overwrites the image data of the result of the translucent color calculation input from the transmissive color and translucent color processing circuit 2 with the address of the image data read for performing the translucent color calculation.
At this time, the transmissive color and translucent color processing circuit 2 does not perform the translucent color calculation when the pixel data read from the
Then, each time the scanning signal of the display 2d is input, the attribute controller 2k outputs the display image from the
At this time, if the pixel data to be displayed on the scanning line of the odd address is written in the
[0028]
Next, an operation example of the first embodiment will be described with reference to FIGS. 4 to 8 are conceptual diagrams showing transitions in which mark data, display priority data, and pixel data are stored in each of the mark memory, the priority memory, and the display buffer. That is, FIGS. 4 to 8 are conceptual diagrams showing a flow in which pixel data transferred to the display 2d is formed in the
Here, the
Further, the display priority is assumed to be highest in the source image data Att-A, subsequently lower in the order of the source image data Att-D, Att-B, Att-E, and lower in the source image data att-C. . The display priority data of each source image data is such that the source image data Att-A is “5”, the source image data Att-D is “4”, the source image data Att-B is “3”, and the source image data Att-B is “3”. The data Att-E is “2” and the source image data Att-C is “1”. The display priority is set higher for larger numbers.
[0029]
When the vertical synchronization signal is input from the display 2d, the attribute memory 2i transfers and stores the attribute data of the image shown next in FIG. 3 on the display screen.
The
Thereby, the attribute controller 2k sets the value of the vertical pointer v on the display screen obtained from the count value from the
Here, when the vertical pointer v becomes the start address v1 of the source image address, that is, when the value of the vertical pointer v becomes the address v1, the attribute controller 2k determines that the range of the data area of the source image data Att-C has been reached. Is detected.
[0030]
Thereby, the attribute controller 2k outputs the detection signal vvld to the
Then, the
Next, the attribute controller 2k instructs the source
Then, the source
[0031]
The transmission color and translucent
Here, the transmission color and translucent
Therefore, the attribute controller 2k detects that there is no pixel data to be displayed on the dot of the scanning line corresponding to the pointer v1, and stores the pixel data from the start address x1 to the end address x6 read from the
[0032]
Next, it is assumed that the
At this time, in the attribute data, the source image data Att-A, Att-B, and Att-C overlap. For this reason, the
As shown in FIG. 4, the
Here, in FIGS. 4 to 8, an area indicated by a white rectangle indicates a dot (pixel data is not a transparent color) portion to be image-displayed (drawn), and an area indicated by a solid line indicates A dot (pixel data is a transparent color) that is not displayed as an image is shown.
[0033]
Then, as shown in FIG. 4, the
For example, the
The
[0034]
Then, the source
Further, the source
Similarly, based on the address stored in the TMP memory 2o, the source
[0035]
Further, the source
For example, the source
[0036]
At this time, the attribute controller 2k determines whether the divided image data Att-C1, Att-B1, Att-B2, Att-C2 that does not overlap with the image data having the higher display priority, and the source image data Att-A. The pixel data of the dot selected by each address vp and the pointer h is sequentially read from the
At this time, the transmission color and translucent
Then, in the pixel data read by the attribute controller 2k, the transmission color and translucent
The attribute controller 2k writes the display priority data "5" in the priority memory in correspondence with the address of each dot.
As a result, the attribute controller 2k provides the
[0037]
Next, as shown in FIG. 5, the attribute controller 2k detects that there is an address of the horizontal pointer h in which no mark data has been written in the mark memory, and detects the source pixel data in the address where no mark data has been written. The pre-processing for transferring the pixel data of the dot at the position of the vertical pointer vp of the source pixel data Att-B having the second highest display priority after Att-A to the
Since the attribute controller 2k performs the process of transferring the pixel data to the
Then, the transmission color and translucent
Further, the attribute controller 2k writes the display priority data "3" in the priority memory in correspondence with the address of each dot.
As a result, the attribute controller 2k determines the address of the changed mark data in the mark memory, that is, the pixel of the dot from the address h44 to the address 41-1 of the source image data Att-B at the position of the address vp indicated by the vertical pointer v. The data is written to the corresponding position in the
[0038]
Next, as shown in FIG. 6, the attribute controller 2k detects that there is an address of the horizontal pointer h in which no mark data has been written in the mark memory, and in the address where the mark data has not been written, the source pixel data The pre-processing for transferring the pixel data of the dot at the position of the vertical pointer vp of the source pixel data Att-C having the second highest display priority after Att-B to the
Since the attribute controller 2k performs the process of transferring the data to the
[0039]
Then, the transmission color and translucent
Further, the attribute controller 2k writes the display priority data "1" in the priority memory in correspondence with the address of each dot.
As a result, the attribute controller 2k determines the address of the changed mark data in the mark memory, that is, from the address h3 to the address h31-1 of the source image data Att-C at the position of the address vp indicated by the vertical pointer v, and the address h45. To the address h44-1 and the pixel data of the dots from the address h42 to the address h46-1 are written in the corresponding positions of the
Then, the attribute controller 2k determines the display priority in the attribute data by performing the above-described writing processing based on the presence / absence of the mark data in the mark memory in the portion where the source image data overlaps. The processing is performed on the source image data composed of all non-translucent pixel data in order from the image data to the source image data having the lowest display priority.
[0040]
Next, upon detecting that the image processing of all the non-translucent source image data Att-A, Att-B, Att-C has been completed, the attribute controller 2k, the source controller configured with the pixel data of the translucent color Image processing using the image data Att-D and Att-E is performed.
At this time, in the image processing of the translucent color source image data, the attribute controller 2k starts with the translucent color calculation using the source image data Att-E having a low display priority.
In FIG. 7, the attribute controller 2k uses an image memory controller based on the source address calculated by the source
At this time, the
That is, although the
[0041]
Then, the
Next, the source
Accordingly, the attribute controller 2k increments the horizontal pointer h between the start address x1 and the end address (x1 + h44-1-h2), and sequentially reads out pixel data from the
Then, each time the pixel data is read, the transmission color and translucent
[0042]
At this time, the transmission color and translucent
As a result, the attribute controller 2k does not perform the translucent color calculation and does not access the
Next, the source
Next, the attribute controller 2k increments the horizontal pointer h between the start address (x1 + h42-h2) and the end address (x1 + h7-1-h2), and sequentially reads pixel data from the
At this time, in the transmission color and translucent
[0043]
Then, the attribute controller 2k performs a translucent color operation on the pixel data of the source image data Att-E read from the
At this time, the attribute controller 2k rewrites, in the priority memory, the display priority of the address corresponding to the pixel data (C + E) on which the translucent color operation has been performed to the data “2” of the source image data Att-E.
The attribute controller 2k does not access the
[0044]
Next, in FIG. 8, after the image processing of the source image data Att-E ends, the attribute controller 2k performs image processing of the source image data Att-D having the next highest display priority.
At this time, the
That is, although the
The
[0045]
Next, the source
As a result, the attribute controller 2k increments the horizontal pointer h between the start address x1 and the end address (x1 + h41-1-h5), and sequentially reads pixel data from the
Then, each time the pixel data is read, the transmission color and translucent
At this time, the transmission color and translucent
[0046]
As a result, the attribute controller 2k does not perform the translucent color calculation and does not access the
Next, in the display address, since the pixel data from the address h43 to the address h41-1 is not a transparent color but a translucent color in the display address, the source
(At this time, as described above, the attribute controller 2k increments the horizontal pointer h without dividing the translucent source image data, and sets all pixel data between the start address h5 and the end address h6-1. May be read from the
[0047]
If the attribute controller 2k determines that the pixel data read by the transmissive color and translucent
Then, the attribute controller 2k performs a translucent color operation on the pixel data of the source image data Att-D read from the
At this time, the attribute controller 2k rewrites, in the priority memory, the display priority of the address corresponding to the pixel data (B + D) on which the translucent color operation has been performed to the data “4” of the source image data Att-D.
Then, the attribute controller 2k determines the display priority in the attribute data by performing the above-described semi-transparent color calculation processing based on the display priority data in the priority memory in the portion where the source image data overlaps, thereby displaying the display priority in the attribute data. The processing is performed on the source image data composed of all translucent pixel data in order from the source image data having the lower degree to the source image data having the higher display priority.
[0048]
As described above, when a plurality of source image data overlap each other when a plurality of source image data are combined to generate an image, the attribute controller 2k converts the source image data into translucent pixel data. The first source image data group that is not composed of translucent pixel data and the second source image data that is composed of translucent pixel data are determined. After the image processing of the group of the first source image data, the image processing of the group of the second source image data is performed.
In the image processing of the group of the first source image data, the attribute controller 2k sets the pixel data of the upper (higher display priority) source image data in the overlapping portion of the plurality of source image data in a transparent color. If the pixel data of the source image data below (with a lower display priority) the dot of the transparent color is not a transparent color, the pixel data of the dot below this is transferred to the
[0049]
In the configuration of the first embodiment described above, if the access speed to the mark ram in the attribute controller 2k is the same as the access speed to the
In the image processing of the group of the second source image data, the attribute controller 2k stores the data written in the display buffer in order from the source image data having the lower display priority to the source image data having the higher display priority. Is performed by the transmissive color and translucent
At this time, the attribute controller 2k overwrites the pixel data in the display buffer on which the translucent operation has been performed with the pixel data obtained as a result of the translucent operation.
[0050]
The above operation is repeated for the range in which the value of the vertical counter can be taken by the vertical pointer v of the display address, that is, for the number of scanning lines on the display screen, and by completing the drawing of all the scanning lines, an image of one screen (one frame) is obtained. Is configured.
In the above-described first embodiment, the number of source image data is set to 5 for the sake of explanation. However, the same circuit is prepared by the number of source data, so that the number of source image data to be used for synthesis is increased. The number can be increased in a timely manner.
In addition, the division processing and the drawing (writing to the display memory) of the source image data are simultaneously completed within the time of one scanning line. However, the delay of one scanning line and the same capacity as the TMP memory 2o are performed. By providing the TMP memory described above, the source image data may be divided two scan lines before the display on the display 2d, and the drawing may be performed one scan line before.
As described above, in the source image data for compositing the image of FIG. 2 displayed on the display screen, the access to the
[0051]
In the above-described first embodiment, for the sake of explanation, the size of the source image data in the image memory 1a is the same as the size of the image displayed on the display screen.
However, in the image processing apparatus according to the first embodiment, the size of the source image data in the
[0052]
When the pixel data in the source image data with a high display priority is a semi-transparent color, the image processing device according to the first embodiment performs the processing on the pixel data in the
Further, the image processing apparatus performs a process of synthesizing the source image data that is not composed of the translucent color pixel data, and then applies the translucent image data having a low display priority to the pixel data of the image obtained by the synthesis. Because the translucent color calculation using the pixel data of the color is performed, the pixel data of the source image data having a lower priority than the translucent color source image data is not mistakenly deleted, and the operator is not consciously translucent. It is possible to perform a synthesis process of a plurality of source image data including color source image data.
Further, the image processing apparatus according to the first embodiment performs a translucent color calculation between pixel data of a translucent color and pixel data stored in an address of a position overlapping the pixel data in the display buffer. In order to read out from the display buffer pixel data having a lower display priority than the translucent color pixel data based on the display priority written in the priority memory, read and display the pixel data at an address which does not require translucent color calculation. Since the access such as writing of the operation result to the buffer can be omitted, it is possible to speed up the image synthesis processing including the source image data having the translucent color.
[0053]
In addition, the image processing apparatus according to the first embodiment divides source image data into divided image data based on an overlapped portion of each source image data when generating an image by combining a plurality of source image data. Since the
As a result, the image processing apparatus according to the first embodiment provides a low-priority source for the three source image data data att-A, att-B, and att-C that are not composed of translucent pixel data. An image similar to the method of sequentially overwriting image data in the display buffer 1c can be obtained, and the data of the lower dot that disappears when overwritten is not read from the image memory 1a, which is wasteful. This has the effect of reducing the access time (the number of accesses) and speeding up the image synthesis processing.
Further, when the pixel data in the source image data having a high display priority is a transparent color, the image processing apparatus according to the first embodiment further comprises a source located below the pixel data having a high display priority. Since the image data of the dots of the image data is written into the
[0054]
<Second embodiment>
Next, an image processing apparatus according to a second embodiment of the present invention will be described.
The configuration of the image processing apparatus according to the second embodiment is the same as the configuration of the image processing apparatus according to the first embodiment shown in FIG.
In the following description, it is assumed that the
The difference between the first and second embodiments is that the
When the attribute controller 2k reads the pixel data from the
The TMP memory 3o has a storage area for a plurality of tables (a plurality of tables such as tables 31 and 32 shown below) therein, and sequentially writes display addresses of the divided image data after re-division during processing. And reset at the input timing of the vertical synchronizing signal.
The storage format of the display address of each table in the following TMP memory 3o is the same as that of the TMP memory 2o shown in FIG.
In the following description, the display priorities of the source image data Att-A to Att-E stored in the
[0055]
Also, components having the same functions in the first embodiment and the second embodiment are denoted by the same reference numerals, and description thereof is omitted. In the second embodiment, the attribute controller 2k, the
In particular, in the second embodiment, for translucent color processing including translucent operation based on translucent color source image data, for example, source image data Att-D, Att-E, which overlaps with other source image data. The processing is the same as that in the first embodiment, and is described in detail in the description of the first embodiment, and thus will not be described in the following description of the second embodiment.
Hereinafter, the
[0056]
Each time the
Here, the
Then, based on the display address of each of the divided image data, which is the substantial display image data displayed on the display 2d, shown in the table 31 in the TEM memory 3o, the attribute controller 2k is provided for each increment operation of the
When writing the pixel data to the display buffer or after the writing to the display buffer is completed, the
[0057]
Here, when the attribute controller 2k is reading pixel data from the
[0058]
At this time, the
That is, the
[0059]
Further, the
As a result, the
Then, the
Accordingly, the
Therefore, at this time, only the display addresses (start address hs and end address he) of the new divided image data of the source image data Att-B are stored in the table 32 in the TMP memory.
[0060]
That is, when the attribute controller 2k transfers each divided image data to the display buffer 2E (or the
In the table 31 in the TMP memory 3o, the
[0061]
That is, the
Thereby, in the table 31 in the TMP memory 3o, the area of all display addresses of the source image data Att-B is shown, and the area of the source image data Att-A which does not overlap with the source image data Att-B is newly added. Remains as divided image data, and there is no change in the range for the display addresses of other divided image data.
Next, in order to transfer the pixel data to the
[0062]
When transferring the pixel data to the
That is, the attribute controller 2k writes the pixel data of only the display address range of the newly generated divided image data to the
Therefore, the attribute controller 2k reads the pixel data from the
[0063]
That is, when sequentially performing the subdivision processing, the
Then, the
In the second embodiment, the attribute controller 2k and the
[0064]
Next, an operation example of the second embodiment will be described with reference to FIGS. Here, the source image data Att-A, Att-B, Att-C, Att-D and Att-E shown in FIG. 2 are stored in the
As in the image processing apparatus of the first embodiment, a vertical synchronization signal supplied to the display 2d is input to the attribute memory 2i, and each time the vertical pointer v output from the
Further, it is assumed that the display priority is highest in the source image data Att-A, higher in the order of the source image data Att-D, Att-B, and Att-E, and lowest in the source image data Att-C.
[0065]
When a vertical synchronization signal is input from the display 2d, the attribute memory 2i transfers and stores the attribute data of the image shown in FIG. 2 to be displayed next on the display screen.
Then, every time a scanning signal is input, the
At this time, based on the attribute data in the attribute memory 2i, the attribute controller 2k starts the process of writing the non-translucent source image data Att-A, Att-B, and Att-C into the display buffer (2e or 2f). .
Thereby, the attribute controller 2k sets the value of the vertical pointer v on the display screen obtained from the count value from the
Here, when the vertical pointer v becomes the start address v1 of the source image address, that is, when the value of the vertical pointer v becomes the address v1, the attribute controller 2k determines that the range of the data area of the source image data Att-C has been reached. Is detected.
[0066]
Thereby, the attribute controller 2k outputs the detection signal vvld to the
Then, the
Next, the attribute controller 2k instructs the source
Then, the source
[0067]
The transmission color and translucent
Here, the transmission color and translucent
Therefore, the attribute controller 2k detects that there is no pixel data to be displayed on the dot of the scanning line corresponding to the pointer v1, and stores the pixel data from the start address x1 to the end address x6 read from the
[0068]
Next, it is assumed that the
The
Therefore, the
As shown in FIG. 4, the
Here, in FIGS. 4 to 8, an area indicated by a white rectangle indicates a dot (pixel data is not a transparent color) portion to be image-displayed (drawn), and an area indicated by a solid line indicates A dot (pixel data is a transparent color) that is not displayed as an image is shown.
[0069]
Then, as shown in FIG. 4, the
For example, the
The
[0070]
Then, the source
Further, the source
Similarly, the source
[0071]
Further, the source
For example, the source
[0072]
At this time, the attribute controller 2k determines whether the divided image data Att-C1, Att-B1, Att-B2, Att-C2 that does not overlap with the image data having the higher display priority, and the source image data Att-A. The pixel data of the dot selected by each address vp and the pointer h is sequentially read from the
At this time, the transmission color and translucent
Then, in the pixel data read by the attribute controller 2k, the transmission color and translucent
Further, the attribute controller 2k writes the display priority data "5" and "1" of each pixel data in the priority memory in correspondence with the address of each dot.
As a result, the attribute controller 2k provides the
[0073]
Also, at this time, when the attribute controller 2k reads the pixel data from the
Then, the
As a result, the
At this time, the
Here, the
[0074]
That is, in the
As a result, the
Then, the
At this time, as shown in FIG. 4, the
As a result, the table 31 shown in FIG. 5 substantially has the source image data Att-B (the range of display addresses of the divided image data Att-B1, Att-B2, and Att-B3 added). The display address range and the display address ranges of the divided image Att-C1 and the divided image data acc-C2 are stored.
[0075]
Next, in the state of the mark memory shown in FIG. 5, the attribute controller 2k detects that there is an address of the horizontal pointer h to which no mark data is written, and displays the display buffer corresponding to the address to which no mark data is written. The process of writing pixel data to the
Then, the attribute controller 2k converts the pixel data in the display address range of the divided image data Att-B3 written in the table 32 into the display address range of the table 32, that is, the display address range of the divided image data Att-B3. At the start address h4 to the end address h8-1, the display is read from the
At this time, the
Each time the attribute controller 2k detects a display address in which no mark data is described in the mark memory, the attribute controller 2k responds to the source address based on the source address converted from the display address in the table 32 by the source
[0076]
At this time, each time the pixel data of the dot is read from the
Then, the attribute controller 2k writes the mark data to the mark memory at an address corresponding to the address of the
The attribute controller 2k writes the display priority data "3" of each pixel data in the priority memory in correspondence with the address of each dot.
As a result, the attribute controller 2k determines the address of the changed mark data in the mark memory, that is, the pixel of the dot from the address h44 to the address h41-1 of the source image data Att-B at the position of the address vp indicated by the vertical pointer v. The data is written to the corresponding position in the
[0077]
Further, at this time, when the attribute controller 2k is reading pixel data from the
[0078]
That is, in the table 31, the
Here, the
Then, as shown in FIG. 9, the
Accordingly, the table 31 shown in FIG. 9 substantially has the source image data Att-C (the sum of the display address ranges of the divided image data Att-C1, Att-C2, and Att-C3 added). Only the range of display addresses is stored.
[0079]
Next, in the state of the mark memory shown in FIG. 9, the attribute controller 2k detects that there is an address of the horizontal pointer h to which no mark data is written, and displays the display buffer corresponding to the address to which no mark data is written. The process of writing pixel data to the
Then, the attribute controller 2k reads the pixel data of the divided image data written in the table 33 for each display address corresponding to the pointer h output from the
At this time, the
Then, each time the attribute controller 2k detects a display address in which no mark data is described in the mark memory, the source
[0080]
At this time, each time the pixel data of the dot is read from the
Then, the attribute controller 2k writes the mark data to the mark memory at an address corresponding to the address of the
Further, the attribute controller 2k writes the display priority data “1” of each pixel data in the priority memory in correspondence with the address of each dot.
[0081]
As a result, the attribute controller 2k sets the address of the changed mark data in the mark memory, that is, the address h45 to the address 45-1, and the address h42 to the address of the partial image data Att-C3 at the position of the address vp indicated by the vertical pointer v. The pixel data of the dots in each range of h47-1 is written to the corresponding position in the
At this time, the
Even if the source image data having the lowest display priority is not reached, if the data is written to all the addresses of the mark memory, the attribute controller 2k can control the
[0082]
Next, upon detecting that the image processing of all non-translucent source image data Att-A, Att-B, and Att-C has been completed, the attribute controller 2k is configured with the translucent pixel data. Image processing using the source image data Att-D and Att-E is performed. The subsequent image processing using the translucent color source image data is the same as that described in the first embodiment, and a description thereof will not be repeated.
Further, when performing image processing on the translucent source image data, the
Then, after the image processing of the translucent source image data is completed, new image processing is started.
That is, when the next scanning signal is input from the display 2d, the
Accordingly, the attribute controller 2k writes the pixel data of the next scanning line to the
The image processing apparatus according to the present invention displays an image in which the source image data stored in the
[0083]
As described above, in addition to the effects of the first embodiment, the attribute controller 2k according to the second embodiment sequentially generates, by synthesizing a plurality of source image data, an image for each scanning line. When the pixel data is read from the
[0084]
In the configuration of the second embodiment, as in the first embodiment, if the access speed to the mark ram in the attribute controller 2k is the same as the access speed to the
[0085]
The above operation is repeated for the range in which the value of the vertical counter can be taken by the vertical pointer v of the display address, that is, for the number of scanning lines on the display screen, and by completing the drawing of all the scanning lines, an image of one screen (one frame) is obtained. Is configured.
In the above-described second embodiment, the number of source image data has been described as 4 and 3 for the sake of explanation. It is possible to increase the number of data in a timely manner.
In addition, the division processing of the source image data and the drawing (writing to the display memory) are simultaneously completed within the time of one scanning line. However, the delay of one scanning line and the same capacity as the TMP memory 3o are performed. By providing the TMP memory described above, the source image data may be divided two scan lines before the display on the display 2d, and the drawing may be performed one scan line before.
As described above, in the source image data for synthesizing the image displayed on the display screen in FIG. 2, the access to the
[0086]
In the above-described second embodiment, the size of the source image data in the
However, as in the first embodiment, the image processing apparatus according to the second embodiment performs enlargement or reduction in the horizontal and vertical dimensions, and the size of the source image data in the
[0087]
In the image processing apparatus according to the second embodiment, when generating an image by synthesizing a plurality of source image data, the
As a result, the image processing apparatus according to the second embodiment converts the pixel data of the three source image data Att-A, Att-B and Att-C in the display buffer 1c in order from the source image data having the lower display priority. An image similar to the conventional method of overwriting is obtained, and data of a lower dot which disappears when overwriting is not read from the
Further, when the pixel data of a dot in the source image data having a high display priority is a transparent color, the image processing apparatus according to the second embodiment sequentially arranges a source located below the dot and having a next highest display priority. Since the image data of the dots of the image data is written into the
[0088]
As described above, the embodiment of the present invention has been described in detail with reference to the drawings. However, the specific configuration is not limited to this embodiment, and even if there is a design change or the like without departing from the gist of the present invention. Included in the present invention.
For example, instead of the
In the third embodiment, operations other than writing data to the frame memory are the same as those of the image processing apparatuses of the first and second embodiments described above.
According to the third embodiment, the same effects as those of the first and second embodiments can be obtained.
[0089]
【The invention's effect】
According to the image processing apparatus of the present invention, when the pixel data in the source image data having a high display priority is a semi-transparent color, the pixel data in the
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of an image processing apparatus according to first and second embodiments of the present invention.
FIG. 2 is a conceptual diagram showing image data displayed on a display device.
FIG. 3 is a conceptual diagram showing an image written in an
FIG. 4 is a conceptual diagram illustrating an operation example of the image processing apparatuses according to the first and second embodiments.
FIG. 5 is a conceptual diagram illustrating an operation example of the image processing apparatuses according to the first and second embodiments.
FIG. 6 is a conceptual diagram illustrating an operation example of the image processing apparatuses according to the first and second embodiments.
FIG. 7 is a conceptual diagram illustrating an operation example of the image processing apparatuses according to the first and second embodiments.
FIG. 8 is a conceptual diagram illustrating an operation example of the image processing apparatuses according to the first and second embodiments.
FIG. 9 is a conceptual diagram showing a configuration of an image processing apparatus according to a conventional example.
[Explanation of symbols]
2c display sending controller 2d display
2e,
2h Vertical counter 2i Attribute memory
2j Display buffer controller 2k Attribute controller
2l source
2n horizontal counter 2o, 3o TMP memory
2r Transmission color and translucent color processing circuit
Claims (8)
複数のソース画像データが重なるとき、下部のソース画像データの重なり部分を除き、該ソース画像データを分割画像データに分割し、生成された分割表示アドレスをテンポラリメモリに書き込む処理を行うアトリビュート変換回路と、
前記分割画像データの分割アドレスから、画像メモリにおけるソースアドレスを算出し、該ソースアドレスを前記アトリビュートコントローラへ出力するソースアドレス算出回路と、
このソースアドレスに基づき、前記画像メモリから、ソース画像データの画素データを読み出す画像メモリコントローラと、
前記画像メモリコントローラが読み出すソース画像データの画素データを、表示バッファに書き込むとともに、この画素データ毎の表示優先度を内部のプライオリティメモリへ書き込むアトリビュートコントローラと、
前記アトリビュートデータに基づき、ソース画像データの各画素データが半透明色であるか否かを検出する半透明色処理回路と
を具備し、前記半透明色処理回路が、半透明色の一の画素データと、この一の画素データの下部に位置する、前記表示バッファに書き込まれている他の画素データとに基づき、半透明色の下部の画像を表現する新たな画素データを求める半透明演算を行い、前記アトリビュートコントローラがこの新しい画素データを、前記表示バッファにおける前記他の画素データの位置に書き込むことを特徴とする画像処理装置。An image memory for storing a plurality of source image data, and a source address in the image memory for each of the source image data, a display address on a screen of an image display device, and a source address corresponding to the source image data stored in the image memory. An attribute memory for storing attribute data including a display priority;
An attribute conversion circuit for performing processing of dividing the source image data into divided image data when a plurality of source image data overlap, excluding an overlapping portion of the lower source image data, and writing the generated divided display address to a temporary memory; ,
A source address calculation circuit that calculates a source address in an image memory from a divided address of the divided image data, and outputs the source address to the attribute controller;
An image memory controller that reads pixel data of source image data from the image memory based on the source address;
An attribute controller for writing the pixel data of the source image data read by the image memory controller to a display buffer and writing the display priority of each pixel data to an internal priority memory ;
A semi-transparent color processing circuit for detecting whether each pixel data of the source image data is a semi-transparent color based on the attribute data, wherein the semi-transparent color processing circuit Based on the data and the other pixel data written in the display buffer, which is located below the one pixel data, a translucent operation for finding new pixel data representing an image of a translucent lower part is performed. The image processing apparatus, wherein the attribute controller writes the new pixel data to the position of the other pixel data in the display buffer.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001143768A JP3585168B2 (en) | 2000-11-29 | 2001-05-14 | Image processing device |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000362960 | 2000-11-29 | ||
JP2000-362960 | 2000-11-29 | ||
JP2001143768A JP3585168B2 (en) | 2000-11-29 | 2001-05-14 | Image processing device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002229555A JP2002229555A (en) | 2002-08-16 |
JP3585168B2 true JP3585168B2 (en) | 2004-11-04 |
Family
ID=26604820
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001143768A Expired - Fee Related JP3585168B2 (en) | 2000-11-29 | 2001-05-14 | Image processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3585168B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006108967A (en) * | 2004-10-04 | 2006-04-20 | Dainippon Printing Co Ltd | Method and device for creating plate-making data on which overprint processing is performed |
-
2001
- 2001-05-14 JP JP2001143768A patent/JP3585168B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002229555A (en) | 2002-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5946051A (en) | Method and apparatus for enabling a user to access data network applications from a television system | |
JP4263190B2 (en) | Video composition circuit | |
KR100313693B1 (en) | Programmable display device | |
US20130009965A1 (en) | Animation display device | |
US6552750B1 (en) | Apparatus for improving the presentation of graphics data on a television display | |
JP4672821B2 (en) | Method and apparatus using line buffer for interpolation as pixel lookup table | |
JPH11250270A (en) | Picture processor | |
JP3585168B2 (en) | Image processing device | |
JP3612035B2 (en) | Image processing device | |
JPH07262367A (en) | Apparatus and method for processing of digital image signal | |
JPH04174497A (en) | Display controlling device | |
KR100386045B1 (en) | Video signal processing circuit | |
JP3838900B2 (en) | Multi-screen display device and display method thereof | |
JP3862976B2 (en) | Display mechanism | |
JP4124015B2 (en) | Image display device | |
JPS6031355A (en) | Facsimile equipment | |
JP2007292857A (en) | Image processor and image processing method | |
JP2820068B2 (en) | Image data synthesis display device | |
JP2005128689A (en) | Image drawing device | |
JPS6292071A (en) | Control system for magnified display | |
JPH06324669A (en) | Device and method for composite display control | |
JPH041356B2 (en) | ||
TWI484472B (en) | Method and apparatus for displaying images | |
JP3099480B2 (en) | High-speed graphic drawing method and apparatus | |
JP2713938B2 (en) | Display control device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040217 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040402 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20040427 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20040609 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040713 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040730 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3585168 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100813 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110813 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120813 Year of fee payment: 8 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120813 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120813 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120813 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120813 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130813 Year of fee payment: 9 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130813 Year of fee payment: 9 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |