JP3585168B2 - Image processing device - Google Patents

Image processing device Download PDF

Info

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
Application number
JP2001143768A
Other languages
Japanese (ja)
Other versions
JP2002229555A (en
Inventor
高幸 柴田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Axell Corp
Original Assignee
Axell Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Axell Corp filed Critical Axell Corp
Priority to JP2001143768A priority Critical patent/JP3585168B2/en
Publication of JP2002229555A publication Critical patent/JP2002229555A/en
Application granted granted Critical
Publication of JP3585168B2 publication Critical patent/JP3585168B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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 attribute memory 6a.
At this time, it is assumed that the drawing circuit 6d reads the data of the source image data att1 to att4 from the attribute memory 6a and synthesizes the images.
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 attribute memory 6a in the order, and performs the synthesis processing of the source image data on the display buffer 6b, so that the source image data att4 is displayed at the highest position.
[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 display buffer 6b.
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 display buffer 6b, the image data of the source image data att2 is overwritten on the image data of the source image data att1, and the image of the source image data att1 in the lower shaded area (1) is overwritten. Data will be lost.
[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 display buffer 6b. Similarly to the relationship between the source image data att1 and the source image data att2 described above, the image data of the hatched portions (2) to (3) of the source image data att1 in the display buffer 6b is overwritten, and the lower hatched portion is displayed. The image data of the source image data att1 of (2) to (3) is lost.
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 display buffer 6b. Since writing is performed, there is a disadvantage that useless access is made to the image memory 6c and the display buffer 6b.
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 display buffer 6b is overwritten, and a portion of the image data that is lost is deleted in advance. That is, the drawing circuit 6d omits the process of reading out the image data of the lost portion from the image memory 6c and the process of writing it into the display buffer 6b, thereby preventing unnecessary access and improving the overall processing speed.
[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 image memory 2a is constituted by a RAM (Random Access Memory), and stores a plurality of source image data in an uncompressed state. That is, the image memory 2a stores pixel data corresponding to each dot of the source image data.
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 image memory 2a. As shown in -C, pixel data for each dot for drawing an image is described in one window (rectangular area).
The source image data is stored in the image memory 2a by a source address relatively equal to an address displayed on the display screen of the display 2d, that is, an image area actually displayed on the display screen both horizontally and vertically. Are stored in the same rectangular address range (the addresses have the same width).
[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 image memory 2a, a display address indicating an area on the screen of the display 2d, a display priority, and translucent color data indicating that the source image data is translucent. Are stored. Here, the display priority indicates the order in which a plurality of source image data are displayed in an overlapping portion when they are combined. Therefore, the higher the value, the higher the value is displayed, and the lower pixel data of the source image data is overwritten and deleted.
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 color processing circuit 2r detects whether or not each source image data is translucent based on the data on whether or not the attribute data has a translucent color.
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 color processing circuit 2r, the pixel data of the source image data is translucent color. Is detected, the source image data is skipped and not used, and the pixel data of the source image data which is not translucent is sequentially read from the image memory 2a.
The vertical counter 2h is incremented every time a scanning signal is input from the display 2d, and as a counting result, the position (address, for example, the vertical address v0) of the scanning line on the display screen of the display 2d where the scanning signal is output. To vz) is output. Each time the vertical pointer v is incremented, the scanning line from which the pixel data displayed on the display screen is output is sequentially selected.
[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 display buffer 2e or the display buffer 2f, and outputs a detection signal vvld to the attribute conversion circuit 2m for each source image data.
The horizontal counter 2n increments a horizontal pointer h indicating a horizontal address on the display screen of the display device and sequentially outputs the incremented horizontal pointer h to the attribute conversion circuit 2m. Here, the horizontal pointer h indicates the address of each dot of the scanning line at the position indicated by the vertical pointer v, and selects the address of each dot by being incremented.
[0016]
The attribute conversion circuit 2m uses the detection signal vvld for each source data, the start address hs and the end address he in the horizontal direction, and the value of the horizontal pointer h output from the horizontal counter 2n to calculate each of the scan lines indicated by the pointer v. The display priorities of the source image data are compared, and the source image data displayed at the highest position (higher display priority) is selected from the comparison result, and the number and end address of the source image data are written to the TMP memory 2o.
At this time, when a plurality of source image data overlap, for example, between the vertical pointers v2 to v3-1, the attribute conversion circuit 2m displays the source image Att-B overlapping the source image data Att-C. In this case, the lower part of the source image data Att-C is divided into two divided image data Att-C: 1 and Att-C: 2 except for the overlapping part with the source image data Att-B.
That is, the attribute conversion circuit 2m removes the lower (lower display priority) source image data except for an area where the lower (lower display priority) source image data overlaps with the upper (higher display priority) source image data. Is divided into a plurality of divided image data.
[0017]
At this time, the attribute conversion circuit 2m divides the source image data Att-C having the area of the start address h1 and the end address h10-1, and then adds a new start address h1 and end address h3 to the divided image data Att-C: 1. -1 is obtained, a new start address h9 and an end address h10-1 are obtained for the divided image data Att-C: 2, and the display addresses (divided display addresses) of these divided image data are stored in the TMP memory 2o. It is stored together with the number shown.
The source address calculation circuit 21 calculates the source address of the divided image data in the image memory from the number of the source image data to be displayed stored in the TMP memory 2o and the display address range based on the attribute data. , And outputs this source address to the attribute controller 2k.
[0018]
For example, the source address calculation circuit 21 calculates the start address h1 (because the source image data does not reach the address h-1) and the end address h3-1 which are the display addresses of the divided image data Att-C: 1 in the vertical address v3. , As a start address x1 and an end address (x1 + h3-1-h1), which are source addresses.
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 address calculation circuit 21 so that the pixel data at the address indicated by the vertical pointer v and the horizontal pointer h is obtained. The image data is sequentially read from the image memory 2a via the image memory controller 2b, and the pixel data is written to the display buffer 2e or the display buffer 2f via the display buffer controller 2j.
[0019]
Here, the source address calculation circuit 21 converts the display address of the source image data into the source address based on the relationship between the source address and the display address in the attribute data.
For example, when the vertical pointer v indicates the vertical address v3 in the source image data att1, the source address calculating circuit 21 converts the address v3 into the vertical address y1 in the source address, and the horizontal pointer h If the address h1 in the horizontal direction is indicated, the address h1 is converted into the address x1 in the horizontal direction.
The image memory controller 2b increments the vertical pointer and the horizontal pointer h based on the vertical address and the horizontal address input from the attribute controller 2k, and sequentially increases the source image data used for synthesis from the image memory 2a. Is read out, and the read out pixel data is sequentially written to the display buffer 2e or the display buffer 2f at a position corresponding to the display address via the display buffer controller 1d.
[0020]
The display buffer 2e stores, in the display screen of the display 2d, pixel data of all the dots that can be taken by the horizontal pointer h in the scanning line indicated by the vertical pointer v on the display screen of the display 2d. Is temporarily stored. Further, the display buffer 2f stores all the dots that can be taken by the horizontal pointer h in the scanning line indicated by the vertical pointer v corresponding to the odd-numbered scanning lines in one frame of the display screen, that is, on the display screen of the display 2d. Pixel data is temporarily stored. For example, when one display buffer 2e outputs pixel data to a scanning line of an even address, pixel data to be output to an odd address of the image device is written to the other display buffer 2f. Here, the display buffer 2e and the display buffer 2f are each composed of a memory having an address corresponding to each dot arranged in the horizontal direction on the display screen of the display 2d, and the number of bits of data storage at each address is as follows. It corresponds to the number of bits of pixel data.
[0021]
Each time the attribute controller 2k reads the pixel data from the image memory 2a, the transmission color and translucent color processing circuit 2r reads the pixel data from the attribute memory 2i based on the data indicating whether or not the pixel data is the transmission color of the corresponding pixel data. It detects whether or not the pixel data is a transparent color, and stores the detection result as mark data in a mark memory in the attribute controller 2k. At this time, when the pixel data of the detected dot is not a transparent color, that is, when the pixel data of the dot to be detected is displayed on the display screen, the transmission color and translucent color processing circuit 2r associates the mark data with the address indicating the position of the dot. Write to mark memory (attach mark data).
That is, the attribute controller 2k writes the pixel data read from the image memory 2a to a corresponding address in the display buffer 2e or the display buffer 2f.
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 color processing circuit 2r does not write the mark data to the mark memory for the dot of this pixel data, and The controller 2k also does not write the read pixel data to the display buffer (the display buffer 2e or the display buffer 2f).
[0022]
That is, when the attribute controller 2k detects that the pixel data read by the transmissive color and translucent color processing circuit 2r is a transmissive color, the attribute controller 2k does not transfer the read pixel data to the display buffer (that is, without using it). delete).
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 image memory 2a corresponding to the address of this position, this pixel data is transmitted. The determination as to whether the color is a color is made in the transmission color and translucent color processing circuit 2r.
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 color processing circuit 2r detects that the read image data is not a transmission color.
[0023]
At this time, the transmission color and translucent color processing circuit 2r writes new mark data to the address of the mark memory corresponding to the address of the display buffer in which the pixel data is written, and updates the data content of the mark memory.
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 color processing circuit 2r and whether or not the pixel data is a transparent color. The process of writing all the pixel data in each source image data to the display buffer in the order of higher display priority until the mark data is written to all the addresses of the mark memory, or the scanning indicated by the vertical pointer v The process is repeatedly performed on the source image data of all non-translucent pixel data existing in the line.
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 image memory 2a.
[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 image memory 2a based on the display priority data written in the priority memory and the display priority of the translucent source image data. At this time, based on the attribute data, the attribute controller 2k performs the source image data of the translucent pixel data in the order of lower display priority.
[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 image memory 2a.
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 color processing circuit 2r only when the display priority of the read pixel data is higher than the display priority written in the priority memory. Output.
The transmissive color and translucent color processing circuit 2r is configured to correspond to the translucent pixel data read out (extracted) by the attribute controller 2k and the display buffer overlapping the pixel data by one of the two configurations described above. The translucent color calculation is performed based on the pixel data of the address to be set. Then, the transmissive color and translucent color processing circuit 2r looks at the pixel data of the display buffer through the translucent color (having the color of the translucent color and the color data expressing the lower image by the transparency). The pixel data is converted into pixel data, and the calculated pixel data is output to the attribute controller 2k as new pixel data.
[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 image memory 2a is the transmissive color in the source image data selected as the translucent color. To the attribute controller 2k. Then, upon receiving this notification, the attribute controller 2k does not overwrite the address of the display buffer corresponding to the pixel data detected as the transparent color.
Then, each time the scanning signal of the display 2d is input, the attribute controller 2k outputs the display image from the display buffer 2e or the display buffer 2f as source image data to be displayed on the scanning line indicated by the vertical pointer v on the screen of the display 2d. Output to 2d.
At this time, if the pixel data to be displayed on the scanning line of the odd address is written in the display buffer 2f, the attribute controller 2k displays the pixel data of the scanning line of the even address immediately before the odd address. The pixel data stored in the buffer 2e is output. The address of the immediately preceding scanning line used here is output to the display transmission controller 2c as a result of subtracting "1" from the address indicated by the vertical pointer v output from the vertical counter 2h. The display sending controller 2c writes the pixel data output from the display buffer 2e to the dots of the scanning line corresponding to the output address of the one-line delay 2g on the display screen of the display 2d. As a result, the display 2d displays the combined image.
[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 display buffer 2e or 2f. As can be seen from FIGS. 4 to 8, the horizontal axis indicates the address value, and the address values of the mark memory, the priority memory, and the display buffer correspond to each other.
Here, the image memory 2a of FIG. 1 stores the source image data Att-A, Att-D, Att-B, Att-E and Att-C shown in FIG. 2, and the attribute memory 2i stores the image data. It is assumed that attribute data for synthesizing the third image is stored.
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 vertical counter 2h increments and outputs a count value to the attribute controller 2k every time a scanning signal is input.
Thereby, the attribute controller 2k sets the value of the vertical pointer v on the display screen obtained from the count value from the vertical counter 2h within the range from the start address to the end address indicating the vertical area of each source image data. It is determined whether or not there is.
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 attribute conversion circuit 2m.
Then, the attribute conversion circuit 2m starts division processing by input processing of the detection signal vvld. However, since the source image data Att-C does not overlap with other source image data, the division of the source image address Att-C is performed. Not performed.
Next, the attribute controller 2k instructs the source address calculation circuit 21 to convert the address area of the display image data from the display address to the source address.
Then, the source address calculating circuit 21 converts the address v1 into the address y5 based on the relationship between the display address of the source image data Att-C in the attribute data and the source address, and furthermore, the horizontal address indicated by the horizontal pointer h. Translate h1 into address x1.
[0031]
The transmission color and translucent color processing circuit 2r uses the attribute controller 2k to read pixel data from the start address x1 to the end address x6 of the vertical pointer y2 sequentially read from the image memory 2a based on the source address. Is detected.
Here, the transmission color and translucent color processing circuit 2r does not write the mark data in the mark memory in the attribute controller 2k because the pixel data from the start address x1 to the end address x6 are all transmission colors.
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 image memory 2a into the display buffer 2f. (Since v1 indicated by the pointer v has a scan line of an odd address).
[0032]
Next, it is assumed that the vertical counter 2h is sequentially incremented by the input of the scanning signal, and the vertical pointer v of the count value becomes the scanning line of the even address at the position of the address vp.
At this time, in the attribute data, the source image data Att-A, Att-B, and Att-C overlap. For this reason, the attribute conversion circuit 2m divides the overlapping portion of each source image data based on the input of the detection signal vvld output from the attribute controller 2k.
As shown in FIG. 4, the attribute conversion circuit 2m does not divide the source image data Att-A in consideration of the display priority, and divides the source image data Att-B by the source image data Att-A. Att-B1 and divided image data Att-B2 are divided into two, and similarly, the source image data Att-C is divided into two by the source image data Att-B into divided image data Att-C1 and divided image data Att-C2. .
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 attribute conversion circuit 2m calculates a divided start address hs of each of the divided image data Att-B1, the divided image data Att-B2, the divided image data Att-C1, and the divided image data Att-C2. And the end address he are obtained, and the result is stored in the TMP memory 2o.
For example, the attribute conversion circuit 2m sets the start address hs and the end address he indicating the range of the divided image data Att-B1 as the start address h3 and the end address h4-1, and sets the horizontal range of the divided image data Att-B2. The indicated start address and end address are stored in the TMP memory 2o as the start address h8 and the end address h9-1.
The attribute conversion circuit 2m sets the start address hs and the end address he indicating the range of the divided image data Att-C1 to the start address h0 and the end address h3-1, and sets the start address hs and the end address h3-1 to indicate the range of the divided image data Att-C2. hs and the end address he are stored in the TMP memory 2o as the start address h9 and the end address h10-1.
[0034]
Then, the source address calculating circuit 21 extracts the divided image data based on the attribute data from the start address h3 and the end address h4-1 indicating the range of the divided image data Att-C1 stored in the TMP memory 2o. The start address xs and the end address xe indicating the horizontal range of the Att-C1 in the image memory 2a are calculated as the start address x1 and the end address (x1 + h4-1-h3), respectively.
Further, the source address calculation circuit 21 uses the start address h9 and the end address h10-1 indicating the range of the divided image data Att-C2 after division based on the attribute data to horizontally store the divided image data att-B2 in the image memory 1a. The start address and the end address indicating the range of the direction are calculated as a start address (x1 + h9-h1) and an end address (x1 + h10-1-h1).
Similarly, based on the address stored in the TMP memory 2o, the source address calculation circuit 21 generates a start address hs and an end address hs indicating the range of the divided image data att-B1 and the divided image data att-B2 in the image memory 2a. He is calculated as start address x1, end address (x1 + h4-1-h1), start address (x1 + h8-h1), and end address (x1 + h9-1-h1).
[0035]
Further, the source address calculation circuit 21 receives the source image data Att-A and the above-mentioned divided image data based on the attribute data from the source image data Att-A and the address vp indicated by the vertical pointer v of each divided image data. A vertical address of the divided image data in the image memory 2a is obtained.
For example, the source address calculation circuit 21 calculates a vertical address corresponding to the vertical address vp of the source image data Att-A as an address (y1 + vp-v3), and similarly calculates the divided image data Att-B1, An address corresponding to the address vp of the image data Att-B2 is calculated as an address (y3 + Vp-v2), and a vertical address corresponding to the address vp of the divided image data Att-C1 and the divided image data Att-C2 is calculated as an address (y5 + Vp). -V1).
[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 image memory 2a by incrementing the value of the pointer h.
At this time, the transmission color and translucent color processing circuit 2r determines whether the pixel data of each dot in the read divided image data is a transmission color.
Then, in the pixel data read by the attribute controller 2k, the transmission color and translucent color processing circuit 2r determines that the dots of the image data that are not the transmission colors are the pixels of the dots from the address h11 to the address h3-1 of the divided image data Att-C1. It detects that the data and the pixel data of the dots from the address h41 to the address h42-1 of the source image data Att-A, and writes the mark data in the mark memory corresponding to the address of each dot.
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 display buffer 2e with the pixel data of the dots from the horizontal address h11 to the address h3-1 of the divided image data Att-C1 at the position of the vertical pointer vp and the source image data Att. The pixel data of the dot from the address h41 to the address h42-1 in the horizontal direction of -A is written.
[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 display buffer 2e is started.
Since the attribute controller 2k performs the process of transferring the pixel data to the display buffer 2e, no mark data is described in the mark memory, and the attribute controller 2k performs a process from the address h4 to the address h41-1 below the source image data Att-A. The pixel data of the source pixel data Att-B corresponding to the dot is sequentially read from the image memory 2a by incrementing the value of the pointer h in the above address range.
Then, the transmission color and translucent color processing circuit 2r determines whether or not the pixel data of the dot is a transmission color, and determines whether the dot of the image data which is not the transmission color is the pixel data of the dot from address h44 to address h41-1. Is detected, and mark data is written in the mark memory in correspondence with the address of each dot.
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 display buffer 2e.
[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 display buffer 2e is started.
Since the attribute controller 2k performs the process of transferring the data to the display buffer 2e, the mark data is not described in the mark memory, and the address h3 to the address h44-1 below the source image data Att-A and Att-B are stored. And the pixel data of the source pixel data Att-C corresponding to the dots from the address h42 to the address h9-1 are read from the image memory 2a each time the value of the pointer h is incremented in the above address range.
[0039]
Then, the transmission color and translucent color processing circuit 2r determines whether or not the pixel data of the dot is a transmission color, and the dots of the image data that are not the transmission color are from address h3 to address h31-1, and from address h45. It detects that it is pixel data of dots from address h44-1 and from address h42 to address h46-1, and writes mark data corresponding to each dot address in the mark memory.
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 display buffer 2e.
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 address calculation circuit 21 from the display address in the attribute data, similarly to the above-described processing for reading the pixel data such as the source image data Att-A. The pixel data of the source image data Att-E is sequentially read from the image memory 2a via 2j.
At this time, the attribute conversion circuit 2m divides the source image data Att-E based on the display priority data stored in the priority memory.
That is, although the attribute conversion circuit 2m has an area from the start address h2 to the stop address h7-1, since the display priority is data “2”, the data of the display priority is “3” to “5” (address). Since h44 to address h42-1) are not displayed, the image data is divided into two parts: partial image data Att-E1 and partial image data Att-E2.
[0041]
Then, the attribute conversion circuit 2m sets the start address hs and the start address he of the divided partial image data Att-E1 and Att-E2 to the start address h2, the end address h44-1, and the start address h44-1. An address h42 and an end address h7-1 are obtained and stored in the TMP memory 2o in association with the partial image data.
Next, the source address calculation circuit 21 converts the start address h2 and the end address h44-1 of the partial image data Att-E1 stored in the TMP memory 2o into the start address in the source address of the image memory 2a based on the attribute data. x1 and converted to an end address (x1 + h44-1-h2) and output to the attribute controller 2k.
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 image memory 2a.
Then, each time the pixel data is read, the transmission color and translucent color processing circuit 2r determines whether the pixel data read by the attribute controller 2k is a transmission color.
[0042]
At this time, the transmission color and translucent color processing circuit 2r detects that all the pixel data read from the addresses from the address x1 to the address (x1 + h44-1-h2) are the transmission color data, and sends to the attribute controller 2k. Notice.
As a result, the attribute controller 2k does not perform the translucent color calculation and does not access the display buffer 2e.
Next, the source address calculation circuit 21 converts the start address h42 and the end address h7-1 of the partial image data Att-E2 stored in the TMP memory 2o into the start address in the source address of the image memory 2a based on the attribute data. (X1 + h42-h2) and the end address (x1 + h7-1-h2) and output to the attribute controller 2k.
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 image memory 2a.
At this time, in the transmission color and translucent color processing circuit 2r, in the display address, since the pixel data from the address h42 to the address h47-1 is not a translucent color but a translucent color, every time data is read in this range, the reading is performed. The translucent color calculation is performed based on the color data of the output pixel data and the pixel data at the address corresponding to the pixel data in the display buffer 2e.
[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 image memory 2a and the pixel data read from the display buffer 2e, and the result is obtained. The pixel data (C + E) is overwritten on the address in the display buffer 2e from which the pixel data has been read.
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 display buffer 2e because the transmissive color and translucent color processing circuit 2r detects pixel data read from the range from the address h47 to the address h7-1 as a transmissive color.
[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 attribute conversion circuit 2m divides the source image data Att-D based on the display priority data stored in the priority memory.
That is, although the attribute conversion circuit 2m has an area from the start address h2 to the stop address h7-1, the display priority is data "4", and therefore the display priority data is "5" (the address h41 to the address h42). Since the lower part of (-1 range) is not displayed, it is divided into partial image data Att-D1.
The attribute conversion circuit 2m obtains the start address hs and the start address he of the divided partial image data Att-D1 as the start address h5 and the end address h41-1 respectively, and stores the partial image data in the TMP memory 2o. It is stored in association with Att-D1.
[0045]
Next, the source address calculating circuit 21 converts the start address h5 and the end address h41-1 of the partial image data Att-D1 stored in the TMP memory 2o into the start address in the source address of the image memory 2a based on the attribute data. x1, and converted to an end address (x1 + h41-1-h5) and output to the attribute controller 2k.
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 image memory 2a.
Then, each time the pixel data is read, the transmission color and translucent color processing circuit 2r determines whether the pixel data read by the attribute controller 2k is a transmission color.
At this time, the transmission color and translucent color processing circuit 2r detects that all the pixel data read from the addresses from the address x1 to the address (x1 + h43-1-h2) are the transmission color data, and sends to the attribute controller 2k. Notice.
[0046]
As a result, the attribute controller 2k does not perform the translucent color calculation and does not access the display buffer 2e.
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 address calculating circuit 21 reads each time data is read in this range. The translucent color calculation is performed based on the color data of the output pixel data and the pixel data at the address corresponding to the pixel data in the display buffer 2e.
(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 image memory 2a one dot at a time, and the transparent and translucent color processing circuit 2r may sequentially determine whether the color is the transmissive color or the translucent color.
[0047]
If the attribute controller 2k determines that the pixel data read by the transmissive color and translucent color processing circuit 2r is a translucent color, the display priority of the read pixel data and the display priority of the corresponding address in the priority memory are determined. When the read pixel data is higher than the priority of the priority memory, a translucent color calculation may be performed on the read pixel data. )
Then, the attribute controller 2k performs a translucent color operation on the pixel data of the source image data Att-D read from the image memory 2a and the pixel data read from the display buffer 2e, and the result is obtained. The pixel data (B + D) is overwritten on the address in the display buffer 2e from which the pixel data has been read.
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 display buffer 2e or the display buffer 2f. From the source image data having the highest display priority to the source image data having the lowest display priority.
[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 display buffers 2e and 2f, the writing of the mark data already written in the mark memory is performed. Since the time for confirming the address of the dot overlaps the time for writing pixel data to the display buffers 2e and 2f, the access time to the mark memory is made faster than the access time to the display buffers 2e and 2f. It is necessary to skip and detect the area where the mark data is continuously written in.
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 color processing circuit 2r.
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 image memory 2a of the source image data having a lower display priority in the overlapping area of the plurality of source image data is Is not performed except that the source image data in the pixel data has the pixel data of the transparent color, and the access to the display buffer is skipped by detecting the mark data of the mark memory for the address where the pixel data is written, Since this is not performed thereafter, unnecessary access due to overwriting does not occur, and the time required for synthesizing the source image data can be reduced.
[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 image memory 2a and the size of the source image transferred to the display buffers 2e and 2f are enlarged or reduced in the horizontal and vertical directions. Even when the size of the data (the image displayed on the display screen) is different, the necessary source image data is obtained from the display area of the source image data on the display screen and the address of the image memory 2a based on the ratio of each size. It is possible to calculate an address in the image memory 2a. For this reason, the image processing apparatus of the present invention can be applied to an image processing apparatus having an enlargement and reduction function in either the horizontal direction or the vertical direction.
[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 buffers 2e and 2f in order from the source image data with a low display priority. In order to perform the translucent color calculation, the translucent color can be transmitted without any special awareness of the user in the superposition of the source image data Att-A, Att-B, Att-C, Att-D and Att-E. For example, a synthesized image can be generated in a state where a character viewed through a colored glass, such as a landscape, is almost natural.
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 display buffers 2e and 2f are written in order from the display priority, only the pixel data of the dots to be displayed (drawn) is written to the display buffer, and the access to the image memory 2a and the display buffer is performed. The number of times can be reduced, and the speed of generating an image to be displayed by synthesis can be increased.
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 display buffers 2e and 2f, the user does not pay special attention to the superimposition of the source image data Att-A, Att-B and Att-C, and the transmission color The composite image can be displayed without deleting the pixel data of the source image data below the source image data having the higher display priority, and there is an effect that the composite image of the character against the background can be easily composed.
[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 image memory 2a in FIG. 1 stores the source image data Att-A, Att-B, Att-C, Att-D, and Att-E shown in FIG.
The difference between the first and second embodiments is that the attribute conversion circuit 2m is changed to the attribute conversion circuit 3m, and the TMP memory 2o is changed to the TMP memory 3o.
When the attribute controller 2k reads the pixel data from the image memory 2a in units of scanning lines and transfers the pixel data to the display buffer (2e or 2f), or after the writing to the display buffer is completed, the attribute conversion circuit 3m performs the conversion of the source image data. Re-divide the divided image data.
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 image memory 2a are the same as those in the conventional example and the first embodiment. It is assumed that E, Att-B, Att-D, and Att-A are higher in this order (the source image data Att-A is the highest, and the source image data Att-C is the lowest).
[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 attribute conversion circuit 3m, and the TMP The description of the configuration and operation of the memory 3o is limited to the functions added to the attribute circuit 2m, the TMP memory 2o, and the attribute controller 2k of the first embodiment, and the description of the first embodiment in the attribute conversion circuit 3m and the TMP memory 3o is omitted. A description of the same functions as those of the attribute circuit 2m and the TMP memory 2o will be omitted by referring to the description of each of the attribute circuit 2m and the TMP memory 2o in the first embodiment.
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 attribute conversion circuit 3m and the TMP memory 3o will be sequentially described in detail.
[0056]
Each time the vertical counter 2h is incremented, that is, when the vertical pointer v indicates a new scanning line address, the attribute conversion circuit 3m sends the attribute conversion circuit 2m to the TMP memory 3o at the first stage of image processing. Similarly to the processing of the first embodiment in which the display addresses are stored, the source image data is divided into divided image data based on the display priority of the source image data, and the display address of each divided image data is stored in the TMP memory. The table 31 of 3o is stored in the same manner as the writing of the display address to the TMP memory 2o described with reference to FIG. 3 in the first embodiment.
Here, the attribute conversion circuit 3m calculates the display addresses (start address hs and end address he) of the divided image data obtained by dividing each source image data in the display on the display 2d shown in FIG. This is performed for each address range of the scanning line indicated by the vertical pointer v, which has a different combination of data overlap.
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 horizontal counter 2n. Then, the pixel data to be read from the image memory 2a is written to the display buffer 2e (or the display buffer 2f).
When writing the pixel data to the display buffer or after the writing to the display buffer is completed, the attribute conversion circuit 3m sets the display address of each divided image data stored in the table 31 of the TEM memory 3o. , That is, the divided image data generated by dividing each source image data according to the display priority.
[0057]
Here, when the attribute controller 2k is reading pixel data from the image memory 2a in accordance with the display address of each divided image data stored in the table 31 of the TMP memory 3o, the attribute conversion circuit 3m , In the table 31 (that is, for each range of the scanning line address of the display 2d shown in FIG. 3 in which the combination of the overlapping of each source address is different), it is higher than the source image data Att-B to be subdivided, that is, the display priority is highest. The address area of the divided image data (actually, undivided source image data Att-A) of the source image data Att-A having the highest degree overlaps with the source image data Att-B having the next highest display priority. Performs part detection.
[0058]
At this time, the attribute conversion circuit 3m determines between the start address hs and the end address he of the source image data Att-B in the table 31 based on the display address of each source image data in the attribute memory 2i (the display address on the display 2d). In the range, the determination as to whether or not there is an area of the source image data Att-A that overlaps with the source image data Att-B is performed by determining the start address hs and the end address he of each source image data on the scanning line of the display screen. This is performed by detecting an overlapping portion in the indicated range.
That is, the attribute conversion circuit 3m compares the start address hs of the source image data Att-B with the start address hs of the source image data Att-A in the range of the display address of the source image data Att-B, and If the data Att-B has a start address hs smaller than the source image data Att-A, the start address of the overlapping portion is set to the numerical value of the start address hs of the source image data Att-A, while the source image data Att-B is used. Is the start address hs larger than the source image data Att-A, the start address of the overlapping portion is set to the numerical value of the start address hs of the source image data Att-B.
[0059]
Further, the attribute conversion circuit 3m compares the end address he of the source image data Att4 with the end address he of the source image data Att-B in the range of the display address of the source image data Att-B. If the end address hs is larger than the source image data Att-A, the end address of the overlapping portion is set to the numerical value of the end address he of the source image data Att-A, while the source image data Att-B is the source image data Att-B. If the end address he is smaller than the data Att-A, the end address of the overlapping portion is set to the numerical value of the end address he of the source image data Att-B.
As a result, the attribute conversion circuit 3m detects an area indicated by the start address and the end address as an overlapping portion.
Then, the attribute conversion circuit 3m sets the overlapping portion as new divided image data of the source image data Att-B.
Accordingly, the attribute conversion circuit 3m sets the area of the overlap portion as new divided image data of the source image data Att-B, and generates a display address of the new partial image data, that is, the start address (in the display address). The range between the start address) and the end address (end address in the display address) is stored in the table 32 in the TMP memory 3o as the display address of the new divided image data of the source image data Att-B.
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 display buffer 2f), the attribute conversion circuit 3m reconfigures the display address in the table 31 of the TMP memory 3o (performs re-division). The source image data Att-B and the overlapping portion of the source image data Att-A having a higher display priority than the source image data Att-B are set as the divided image data of the new source image data Att-B. , The source image data Att-B is re-divided, that is, the display address is reconstructed for the partial image data of the source image data Att-B.
In the table 31 in the TMP memory 3o, the attribute conversion circuit 3m sets an area corresponding to the display address of the new divided image data of the source image data Att-B as an area of the pixel data of the source image data Att-B. I do.
[0061]
That is, the attribute conversion circuit 3m determines the display address of the partial image data in the table 31 in the TMP memory 3o and the source image data Att-B in the source image data Att-A detected at the display address of each source image data. Is an area of new divided image data of the source image data Att-B in the table 31 in the TMP memory 3o.
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 buffer 2e (or 2f), the attribute controller 2k transmits the pixel data from the image memory 2a corresponding to the display address generated by the subdivision stored in the table 32 of the TMP memory 3o. When the pixel data is being read, the attribute conversion circuit 3m determines in the table 31 the divided image data of the source image data Att-A and Att-B having a higher display priority than the source image data Att-C to be subdivided next. , And an overlap portion between the display address range and the source image data Att-C to be subdivided is detected, and the source image data Att-C is subdivided in the same manner as the above-described subdivision processing of the source image data Att-B. Perform processing.
[0062]
When transferring the pixel data to the buffer 2e (or 2f), the horizontal counter 2n performs a counting operation within the range of the display address of the table 32.
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 buffer 2e (or 2f), and writes the mark data in the mark memory. Not all pixel data that has not been read is not read from the image memory 2a, so that the read time can be reduced.
Therefore, the attribute controller 2k reads the pixel data from the image memory 2a corresponding to the display address in the same manner as in the first embodiment, but based on each table of the TMP memory 3o which is sequentially changed by the re-division processing. In order to perform the read operation, the display buffer 2e (or the display buffer 2f) is substantially re-divided into the transmission color region of the source image data above the divided image data newly generated by the division. Control to write the pixel data of the divided image data of the divided source image data is performed.
[0063]
That is, when sequentially performing the subdivision processing, the attribute conversion circuit 3m assigns the source image data to be subdivided to the second highest display priority in the table 31 generated first in the TMP memory 3o. The source image data is sequentially selected from the source image data of the first time and is set as the source image data to be re-divided.
Then, the attribute conversion circuit 3m performs the selected re-division based on the table 31 in which the display buffer of each divided image data generated corresponding to the display priority, which is first created in the TMP memory 3o, is described. The display address of the source image data to be subdivided is compared with the display address of the source image data having a higher display priority than the source image data to be subdivided. Then, an area of an overlapping portion with the source image data having a higher display priority than the source image data to be displayed is detected.
In the second embodiment, the attribute controller 2k and the attribute conversion circuit 3m perform processing on source image data existing on the scanning line indicated by the corresponding vertical pointer V of the display 2d, that is, processing on source image data not existing on this scanning line. Without performing the above processing, the above-described subdivision processing of the source image data is performed for each scanning line displayed on the display 2d based on the display address of each source image data in the attribute memory 2i, that is, in the table 31 of the TMP memory 3o. Until the processing of the source image data having the lowest display priority is completed, the processing is sequentially performed for each source image data having the high display priority.
[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 image memory 2a of FIG. It is assumed that attribute data for synthesizing the third image is stored.
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 vertical counter 2h is incremented, the display 2d Of the image forming the composite image displayed in one frame, that is, a source address in the image memory of each source image data used for synthesizing the image, and a display indicating a display position on the screen of the display 2d (image display device). Attribute data including an address, a display priority, and whether or not the color is translucent is stored.
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 vertical counter 2h increments and outputs the count value as a vertical pointer v to the attribute controller 2k.
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 vertical counter 2h within the range from the start address to the end address indicating the vertical area of each source image data. It is determined whether or not there is.
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 attribute conversion circuit 3m.
Then, the attribute conversion circuit 3m starts the division process by the input process of the detection signal vvld. However, based on the attribute data, the attribute conversion circuit 3m detects that the source image data Att-C does not overlap with other source image data, and The image address Att-C is not divided.
Next, the attribute controller 2k instructs the source address calculation circuit 21 to change the address area of the display image data from the display address indicating the display position on the display 2d shown in the table 31 of the TMP memory 3o in the image memory 2a. Instructs a process of converting to a source address indicating a storage location.
Then, the source address calculation circuit 21 converts the display address v1 (FIG. 3) into the source address y5 (FIG. 2) based on the relationship between the display address and the source address of the source image data Att-B in the attribute data. ), And converts the address h1 of the horizontal display address indicated by the horizontal pointer h into the address x1 of the source address.
[0067]
The transmission color and translucent color processing circuit 2r uses the attribute controller 2k to read pixel data from the start address x1 to the end address x6 of the vertical pointer y2 sequentially read from the image memory 2a based on the source address. Is detected.
Here, the transmission color and translucent color processing circuit 2r does not write the mark data in the mark memory in the attribute controller 2k because the pixel data from the start address x1 to the end address x6 are all transmission colors.
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 image memory 2a into the display buffer 2e. (Because v0 indicated by the pointer v is a scanning line of an even address).
[0068]
Next, it is assumed that the vertical counter 2h is sequentially incremented by the input of the scanning signal, and the vertical pointer v of the count value becomes a scanning line of an odd address at the position of the address vp.
The attribute conversion circuit 3m detects from the data in the attribute memory 2i that the images of the source image data Att-A to Att-C all overlap at the position of the address vp.
Therefore, the attribute conversion circuit 3m divides the overlapping portion of each source image data based on the input of the detection signal vvld output from the attribute controller 2k.
As shown in FIG. 4, the attribute conversion circuit 3m does not divide the source image data Att-A in consideration of the display priority, and divides the source image data Att-B by the source image data Att-A. Att-B1 and divided image data Att-B2 are divided into two, and similarly, the source image data Att-C is divided into two by the source image data Att-B into divided image data Att-C1 and divided image data Att-C2. .
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 attribute conversion circuit 3m calculates a divided start address hs of each of the divided image data Att-B1, the divided image data Att-B2, the divided image data Att-C1, and the divided image data Att-C2. And the end address he are obtained, and the result is stored in the table 31 of the TMP memory 3o.
For example, the attribute conversion circuit 3m sets the start address hs and the end address he indicating the range of the divided image data Att-B1 as the start address h3 and the end address h4-1, and sets the horizontal range of the divided image data Att-B2. The indicated start address and end address are stored in the table 31 of the TMP memory 3o as the start address h8 and the end address h9-1.
The attribute conversion circuit 3m sets the start address hs and the end address he indicating the range of the divided image data Att-C1 to the start address h1 and the end address h3-1, and sets the start address hs and the end address h3-1 to indicate the range of the divided image data Att-C2. hs and the end address he are stored in the table 31 of the TMP memory 3o as the start address h9 and the end address h10-1.
[0070]
Then, the source address calculation circuit 21 calculates the start address h3 and the end address h4-1 that indicate the range of the divided image data Att-C1 stored in the table 31 of the TMP memory 3o based on the attribute data. A start address xs and an end address xe indicating a horizontal range of the divided image data Att-C1 in the image memory 2a are calculated as a start address x1 and an end address (x1 + h4-1-h3), respectively.
Further, the source address calculation circuit 21 uses the start address h9 and the end address h10-1 indicating the range of the divided image data Att-C2 after the division to divide the divided image data Att-B2 in the image memory 1a based on the attribute data. The start address and the end address indicating the range of the direction are calculated as a start address (x1 + h9-h1) and an end address (x1 + h10-1-h1).
Similarly, the source address calculation circuit 21 calculates the start address hs indicating the range of the divided image data Att-B1 and the divided image data Att-B2 in the image memory 2a based on the addresses stored in the table 31 of the TMP memory 3o. And the end address he are calculated as a start address x1, an end address (x1 + h4-1-h1), a start address (x1 + h8-h1), and an end address (x1 + h9-1-h1).
[0071]
Further, the source address calculation circuit 21 receives the source image data Att-A and the above-mentioned divided image data based on the attribute data from the source image data Att-A and the address vp indicated by the vertical pointer v of each divided image data. A vertical address of the divided image data in the image memory 2a is obtained.
For example, the source address calculation circuit 21 calculates a vertical address corresponding to the vertical address vp of the source image data Att-A as an address (y1 + vp-v3), and similarly calculates the divided image data Att-B1, An address corresponding to the address vp of the image data Att-B2 is calculated as an address (y3 + Vp-v2), and a vertical address corresponding to the address vp of the divided image data Att-C1 and the divided image data Att-C2 is calculated as an address (y5 + Vp). -V1).
[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 image memory 2a by incrementing the value of the pointer h.
At this time, the transmission color and translucent color processing circuit 2r determines whether the pixel data of each dot in the read divided image data is a transmission color.
Then, in the pixel data read by the attribute controller 2k, the transmission color and translucent color processing circuit 2r determines that the dots of the image data that are not the transmission colors are the pixels of the dots from the address h11 to the address h3-1 of the divided image data Att-C1. It detects that the data and the pixel data of the dots from the address h41 to the address h42-1 of the source image data Att-A, and writes the mark data in the mark memory corresponding to the address of each dot.
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 display buffer 2e with the pixel data of the dots from the horizontal address h11 to the address h3-1 of the divided image data Att-C1 at the position of the vertical pointer vp and the source image data Att. The pixel data of the dot from the address h41 to the address h42-1 in the horizontal direction of -A is written.
[0073]
Also, at this time, when the attribute controller 2k reads the pixel data from the image memory 2a corresponding to the display address of the table 31, the attribute conversion circuit 3m outputs the source image having the second highest display priority in the table 31. The data, that is, the source image data Att-C is selected as the source image data to be subdivided.
Then, the attribute conversion circuit 3m detects a region of the source image data Att-A that has a higher display priority than the selected source image data Att-B and overlaps with the selected source image data Att-B, and determines the overlapping region. The source image data Att-B is re-divided by using new divided image data.
As a result, the attribute conversion circuit 3m stores the display address range (range between the start address hs and the end address he) of the new divided image data of the source image data Att-B after the redivision into a table in the TMP memory 3o. 32 is written (stored).
At this time, the attribute conversion circuit 3m sets the source image data Att-B in the display range of the source image data Att-B having the second highest display priority in the table 31, that is, in the range of the start address h3 to the end address h9-1. The detection of the area of the source image data Att-A having a higher display priority is started.
Here, the attribute conversion circuit 3m detects that the display address range of the source image data Att-A is included in the display address area of the source image data Att-B described above.
[0074]
That is, in the attribute conversion circuit 3m, the start address h4 of the source image data Att-A is larger than the start address h3 of the source image data Att-B, and the end address h8-1 of the source image data Att-A is the source image data Att-A. It is detected that B is smaller than the end address h9-1.
As a result, the attribute conversion circuit 3m sets the area from the address h4 to the address h8-1 of the overlapping portion of the source image data Att-A and the source image data Att-B to a new divided image of the source image data Att-B. The data is Att-B3.
Then, the attribute conversion circuit 3m generates, as new divided image data of the source image data Att-B, divided image data Att-B3 having a display address range of a start address h4 to an end address h8-1, and this display address. Is written in the table 32 in the TMP memory 3o.
At this time, as shown in FIG. 4, the attribute conversion circuit 3m overlaps the source image data Att-A with the source image data Att-B in the display address range of each divided image data in the table 31 in the TMP memory 3o. The part (the display address range of the divided image data Att-B3) is replaced with the divided image data Att-B3 (the area of the divided image data Att-B3 is overwritten).
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 address 2f is started.
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 image memory 2a for each display address corresponding to the pointer h output from the horizontal counter 2n.
At this time, the horizontal counter 2n performs a counting operation in the range of the display address of the divided image data Att-B3 of the table 32, that is, in the range of the start address h4 to the end address h8-1.
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 address calculation circuit 21. The pixel data of the dot to be read is read from the image memory 2a, and the pixel data is written into the display buffer 2f at an address corresponding to the display address.
[0076]
At this time, each time the pixel data of the dot is read from the image memory 2a, the attribute controller 2k uses the transmissive color and translucent color processing circuit 2r to determine whether or not the read pixel data is a transmissive color. Then, only the pixel data determined not to be the transmission color is written to the display buffer 2f at the address corresponding to the display address.
Then, the attribute controller 2k writes the mark data to the mark memory at an address corresponding to the address of the display buffer 2f where the pixel data has been written.
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 display buffer 2f.
[0077]
Further, at this time, when the attribute controller 2k is reading pixel data from the image memory 2a, the attribute conversion circuit 3m performs source image data having the third highest display priority to perform re-division in the table 31, that is, the source image data. The source image data Att-A and Att-B, which are higher in display priority than the source image data Att-C and overlap with the pixel data of the image data Att-C (actually, only the source image data Att-B) are used as a source. The area is changed to a new divided image data area of the image data Att-C, the source image data Att-C is re-divided, and the display address range of the new divided image data Att-C3 after the re-division is set to the start address h3. Write to the table 33 in the TMP memory 3o as the end address h9-1 .
[0078]
That is, in the table 31, the attribute conversion circuit 3m outputs the source image data Att between the start address h0 and the end address h5-1 in the display address range of the source image data Att-C having the third highest display priority. The detection of the source image data Att-A, Att-B having a higher display priority than -C or the region of the divided image data is started.
Here, the attribute conversion circuit 3m converts the source image data Att-B into a display address range (address h3 to address h9) of the source image data Att-C, as in the above-described subdivision of the source image data Att-B. (A range of -1) (overlapping portion is detected), and the area of the overlapping portion is set as a range of the display address of the new divided image data Att-C3 of the source image data Att-C.
Then, as shown in FIG. 9, the attribute conversion circuit 3m overlaps the source image data Att-B with the source image data Att-C in the display address range of each divided image data in the table 31 in the TMP memory 3o. Replace the existing portion (display address range of the divided image data Att-C3) with the divided image data Att-C3 (overwrite the area of the divided image data Att-C3).
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 address 2f is started.
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 horizontal counter 2n.
At this time, the horizontal counter 2n performs a counting operation in the range of the display address of the divided image data Att-C3 of the table 32, that is, in the range of the start address h3 to the end address h9-1.
Then, each time the attribute controller 2k detects a display address in which no mark data is described in the mark memory, the source address calculation circuit 21 converts the dot corresponding to the source address based on the source address converted from the display address. The pixel data is read from the image memory 2a, and the pixel data is written to the display buffer 2f at an address corresponding to the display address.
[0080]
At this time, each time the pixel data of the dot is read from the image memory 2a, the attribute controller 2k uses the transmissive color and translucent color processing circuit 2r to determine whether or not the read pixel data is a transmissive color. Then, only the pixel data determined not to be the transmission color is written to the display buffer 2f at the address corresponding to the display address.
Then, the attribute controller 2k writes the mark data to the mark memory at an address corresponding to the address of the display buffer 2f where the pixel data has been written.
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 display buffer 2f.
At this time, the attribute conversion circuit 3m detects that the source pixel data has the lowest display priority in the table 31, so that the attribute controller 2k reads the pixel data from the image memory 2a in the table 32. Since there is no source image data to be re-divided in step (1), the regions of the source image data Att-A, Att-B and Att-C are not extracted.
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 display buffer 2f for each pixel of the source image data which is not translucent. The data writing ends.
[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 attribute conversion circuit 3m can handle the semitransparent source image data based on the display priority even if the translucent source image data is divided image data. The divided display address (divided display address) is written in the table to be divided.
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 vertical counter 2h is incremented, and as a counting result, a vertical pointer v indicating the position of the scanning line on which the scanning signal is output on the display screen of the display 2d. Output as V23 + 1.
Accordingly, the attribute controller 2k writes the pixel data of the next scanning line to the display buffer 2e.
The image processing apparatus according to the present invention displays an image in which the source image data stored in the image memory 2a is superimposed on the display 2d by repeating the above-described processing.
[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 image memory 2a corresponding to the display address of each of the divided image data in the tables 31, 32, and 33 and the pixel data is written into the display buffer, the display priority is given secondly in the attribute memory 2i. In order from the source image data having the highest degree, the source image data to be subdivided is selected from among the plurality of source image data, and the image data to be subdivided, and the source image data having a higher display priority than the source image data. Is detected as a new divided image data of the source image data to be re-divided. By performing subdivision processing and sequentially writing the data in each table in the TMP memory 3o, the pixel data of the upper (higher display priority) source image data in the overlapping portion generated by combining a plurality of source image data is obtained. In the case of the transmission color, the process of transferring the pixel data of the dot to the display buffer 2e or the display buffer 2f is performed based on the mark data of the mark memory and the display address of each of the above tables. Pixel data that is not the transparent color of the source image data at the bottom can be written to the display buffer 2e (or 2f) without reading the data. This prevents unnecessary access to the image memory 2a and reduces image memory. Can reduce the number of times of reading the pixel data from the re-2a, it is possible to reduce the time required for synthesis of the source image data.
[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 display buffers 2e and 2f, the mark is already set. Since the time for confirming the address of the dot where the mark data written in the memory is written and the time for writing the pixel data in the display buffers 2e and 2f overlap, the access time to the mark memory is reduced with respect to the display buffers 2e and 2f. It is necessary to speed up the access time and to skip and detect the area in the mark memory where the mark data is continuously written.
[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 image memory 2 a of the source image data with a low display priority is performed with respect to the overlap region indicated by the oblique line. Only when the image data has the pixel data of the transparent color is performed, the access to the display buffer is skipped by detecting the mark data in the mark memory for the address where the pixel data is written, and thereafter, the access is performed. Therefore, useless access due to overwriting does not occur, and the time required for synthesizing the source image data can be reduced.
[0086]
In the above-described second embodiment, the size of the source image data in the image memory 2a and the size of the image displayed on the display screen are the same for the description.
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 image memory 2a and the display buffer. Even when the sizes of the source image data (images displayed on the display screen) transferred to 2e and 2f are different, the display area of the source image data on the display screen and the address of the image memory 2a are determined based on the ratio of each size. Thus, it is possible to calculate the address of the required source image data in the image memory 2a. For this reason, the image processing apparatus of the present invention can be applied to an image processing apparatus having an enlargement and reduction function in either the horizontal direction or the vertical direction.
[0087]
In the image processing apparatus according to the second embodiment, when generating an image by synthesizing a plurality of source image data, the attribute conversion circuit 3m divides the source image data based on an overlapping portion of each source image data. In order to write the divided image data into the display buffer 2e or 2f based on the display address of each divided image data written in each table of the TMP memory 3o after being re-divided, only the dots within the display address range of the re-divided divided image data are written. Is read from the image memory 2a and written into the display buffer, the number of accesses to the image memory 2a and the display buffer can be reduced, and the speed of generating an image to be displayed by synthesis can be increased. Is possible.
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 image memory 2a, resulting in unnecessary access time (access count). ) Is reduced and the speed of the image combining process is increased.
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 display buffers 2e and 2f, the display priority of the transmission color is displayed without any particular consciousness of the user in the superposition of the source image data Att-A, Att-B and Att-C. The display can be performed without deleting the pixel data of the source image data below the high-quality source image data, and there is an effect that a synthesized image of the character with respect to the background can be easily synthesized.
[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 display buffers 2e and 2f in the first and second embodiments, a frame memory capable of storing all the pixel data of one frame of the synthesized image displayed on the display screen is provided, and a portion of the source image data overlapping each other is provided. The third embodiment has a configuration in which pixel data is read from the image memory 2a while performing the above processing, and a composite image to be displayed is generated on the frame memory. At this time, the generated composite image is output to the display 2d every time the horizontal synchronization signal is input.
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 buffers 2e and 2f are sequentially arranged in order from the source image data having a low display priority. In order to perform the translucent color calculation, the user can use the translucent color without overlapping the source image data, including the source image data composed of the translucent color data, without any special awareness. For example, a composite image can be generated in a state in which a character viewed through colored glass is almost natural.
[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 image memory 2a of FIG.
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]
2a Image memory 2b Image memory controller
2c display sending controller 2d display
2e, 2f Display buffer 2g 1 line delay
2h Vertical counter 2i Attribute memory
2j Display buffer controller 2k Attribute controller
2l source address calculation circuit 2m, 3m attribute conversion circuit
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.
前記半透明色処理回路が、上記重なり部分において、半透明色以外のソース画像データの画素データが前記表示バッファに書き込まれた後、表示優先度の低いソース画像データから順に、上記半透明演算を行うことを特徴とする請求項1記載の画像表示装置。After the pixel data of the source image data other than the translucent color is written into the display buffer in the overlapping portion, the translucent color processing circuit performs the translucent operation in order from the source image data having the lower display priority. The image display device according to claim 1, wherein the image display is performed. 前記アトリビュートコントローラが、前記プライオリティメモリに記憶されている表示優先度に基づき、半透明のソース画像データより低い表示優先度の画素データを前記表示バッファから抽出し、抽出された画素データに対して上記半透明演算を行うことを特徴とする請求項1または請求項2に記載の画像表示装置。The attribute controller extracts, from the display buffer, pixel data having a display priority lower than that of the translucent source image data based on the display priority stored in the priority memory. 3. The image display device according to claim 1 , wherein a translucent operation is performed. 前記アドレス算出回路が、前記アトリビュートデータに基づき、前記分割画像データの表示アドレスを、ソースアドレスに変換することを特徴とする請求項1から請求項3のいずれかに記載の画像表示装置。4. The image display device according to claim 1 , wherein the address calculation circuit converts a display address of the divided image data into a source address based on the attribute data. 前記アトリビュートコントローラが、前記重なり部分の上部のソース画像データが透過色である場合、その透過色であるドットの下部の分割画像データにおけるドットを表示バッファに転送させる処理を、順次高い表示優先度のソース画像データから低い優先度のソース画像データに対して行うことを特徴とする請求項1から請求項4のいずれかに記載の画像処理装置。When the source image data above the overlapping portion is a transparent color, the attribute controller performs a process of transferring the dots in the divided image data below the dots being the transparent color to the display buffer in order of sequentially higher display priority. the image processing apparatus according to any one of claims 4 to perform for the source image data in the source image data of low priority claim 1, wherein. 前記アトリビュートコントローラが前記各分割画像データを表示バッファに転送するとき、前記アトリビュート変換回路が前記テンポラリメモリ内の分割画像データの表示優先度の高い順に再分割するソース画像データを選択し、この選択されたソース画像データと、このソース画像データより表示優先度の高いソース画像データとの重なり部分を検出し、この重なり部分に基づき再分割を行うことを特徴とする請求項1から請求項5のいずれかに記載の画像処理装置。When the attribute controller transfers each of the divided image data to the display buffer, the attribute conversion circuit selects the source image data to be re-divided in the descending order of the display priority of the divided image data in the temporary memory. source image data, detects the overlapping portion of the high source image data display priority than the source image data, any of claims 1 to 5, characterized in that the subdivision on the basis of the overlapping portion An image processing device according to any one of the above. 前記アトリビュート変換回路が、前記重なり部分を、前記選択されたソース画像データの新たな分割画像データとし、この新たな分割画像データの表示アドレスを生成して、前記テンポラリメモリに書き込むことを特徴とする請求項1から請求項6のいずれかに記載の画像処理装置。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 writes the display address in the temporary memory. The image processing apparatus according to claim 1 . 前記テンポラリメモリが前記表示アドレスを格納する複数のテーブルを有し、前記アトリビュート変換回路が、この各テーブル毎に、順次、再分割される新たな分割画像データを対応させ、対応するテーブルに、分割画像データの表示アドレスを格納することを特徴とする請求項1から請求項7のいずれかに記載の画像処理装置。The temporary memory has a plurality of tables for storing the display addresses. The image processing apparatus according to claim 1, wherein a display address of the image data is stored.
JP2001143768A 2000-11-29 2001-05-14 Image processing device Expired - Fee Related JP3585168B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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