(57)【特許請求の範囲】
【請求項１】
複数のソース画像データを格納する画像メモリと、
前記画像メモリに格納されたソース画像データに対応して、該ソース画像データ毎の該画像メモリにおけるソースアドレスおよび画像表示装置の画面における表示アドレスを含むアトリビュートデータを格納するアトリビュートメモリと、
複数のソース画像データが重なるとき、下部のソース画像データの重なり部分を除き、該ソース画像データを分割画像データに分割し、各分割画像データの分割表示アドレスを算出して、テンポラリメモリに格納するアトリビュート変換回路と、
前記表示アドレスから前記分割画像データの画像メモリにおけるソースアドレスを算出し、該ソースアドレスを出力するソースアドレス算出回路と、
前記ソースアドレスに基づき、前記画像メモリからソース画像データを読み出す画像メモリコントローラと、
前記アトリビュートデータに基づき、読み出されたソース画像データの各画素データが透過色であるか否かを検出する透過色検出回路と、
優先度の高い順に、透過色でないと検出されたソース画像データの画素データを、表示アドレスに対応させて表示バッファに格納するアトリビュートコントローラと、
表示バッファに格納された画素データを前記表示装置に出力する表示送出コントローラとを具備し、
前記透過色検出回路は、アトリビュートコントローラが表示バッファに画素データを格納するとき、画素データが透過色でない場合、
アトリビュートコントローラ内のマークメモリにマークデータを書き込み、
また、前記アトリビュートコントローラは、前記マークメモリにマークデータが書き込まれている場合、このマークデータが書き込まれたアドレスに対応するアドレスの画素データの読み出しを前記画像メモリから行なわず、前記マークメモリにマークデータが書き込まれていない場合、この書き込まれていないアドレスに対応する前記バッファメモリの領域に、下部の分割画像データの画素データの書き込み処理行うことを特徴とする画像処理装置。
【請求項２】
前記アトリビュート変換回路が、前記ソース画像データの分割処理を、前記表示バッファに１ライン分のドットの画像データを書き込む毎に行うことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記アドレス算出回路が、前記アトリビュートデータに基づき、前記分割画像データの表示アドレスを、ソースアドレスに変換することを特徴とする請求項１または請求項２に記載の画像処理装置。
【請求項４】
前記アトリビュートコントローラが、前記重なり部分の上部のソース画像データが透過色である場合、その透過色である画素データの下部の分割画像データにおける画素データを表示バッファへ転送させる処理を、順次高い表示優先度のソース画像データから低い優先度のソース画像データに対して行うことを特徴とする請求項１から請求項３のいずれかに記載の画像処理装置。
【請求項５】
前記アトリビュートコントローラが分割表示アドレスで示された範囲の前記各分割画像データを前記表示バッファに転送することを特徴とする請求項１から請求項４のいずれかに記載の画像処理装置。
【請求項６】
前記アトリビュート変換回路が、アトリビュート変換回路が前記テンポラリメモリ内の分割画像データの表示優先度の高い順に、再分割するソース画像データを選択し、選択されたソース画像データと、このソース画像データより表示優先度の高いソース画像データとの重なり部分を検出し、この前記重なり部分を、前記選択されたソース画像データの新たな分割画像データとし、この新たな分割画像データの表示アドレスを生成して、前記テンポラリメモリに書き込むことを特徴とする請求項１から請求項５のいずれかに記載の画像処理装置。
【請求項７】
前記テンポラリメモリが前記表示アドレスを格納する複数のテーブルを有し、前記アトリビュート変換回路が、この各テーブル毎に、順次、再分割される新たな分割画像データを対応させ、対応するテーブルに、分割画像データの表示アドレスを格納することを特徴とする請求項１から請求項６のいずれかに記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像メモリに蓄積された複数の画像データを合成して画面に表示させる画像処理装置に係わるものである。
【０００２】
【従来の技術】
近年、マイクロコンピュータやメモリが低価格化されてきたことにより、家庭電化製品やゲーム等において画像処理が可能となり、表示画面に多様の画像が表示されるようになっている。
上述した画像処理において、複数の画像データを合成して作成した１画面を時系列に表示させて、動画像を形成する手法がある。
ここで用いられる従来の画像処理装置は、１つのアトリビュートが示すソース画像データを、このソース画像データの表示情報であるアトリビュートデータに基づき、表示バッファの表示領域に全て書き込む。
このとき、上記画像処理装置は、表示優先度の低いソース画像データから順に、画像の合成に用いられる全てのソース画像に対して繰り返し行ない、表示させる全体の画像を構成する。
【０００３】
以下、図１０を用いて上述の画像の合成処理について簡単に説明する。
描画回路６ｄは、ソース画像データを蓄積している画像メモリ６ｃから必要な複数のソース画像データを読み出し、これらのソース画像データのアトリビュートデータを、アトリビュートメモリ６ａから読み出す。
このとき、描画回路６ｄは、アトリビュートメモリ６ａから、ソース画像データａｔｔ１〜ａｔｔ４までのデータを読み出し、画像の合成を行うとする。
ここで、各ソース画像データのプライオリティ、すなわち、表示優先順位は、ソース画像データａｔｔ１〜ａｔｔ４の順に高くなっているとする。
このため、描画回路６ｄは、アトリビュートメモリ６ａからソース画像データａｔｔ１〜ａｔｔ４の順に読み出して、表示バッファ６ｂ上においてソース画像データの合成処理を行うので、ソース画像データａｔｔ４を最も上位に表示させる。
【０００４】
このとき、描画回路６ｄは、ソース画像データａｔｔ１の画像メモリ６ｃにおいて描画されているアドレス値を、表示画面上においてソース画像データａｔｔ１を描画する位置を示すアドレス値に変換して、ソース画像データａｔｔ１を表示バッファ６ｂに一時的に格納する。
次に、描画回路６ｄは、ソース画像データａｔｔ２を画像メモリ６ｃから読みだし、上述したソース画像データａｔｔ１と同様の処理を行う。
このとき、表示バッファ６ｂにおける斜線部▲１▼において、ソース画像データａｔｔ１の画像データの上に、ソース画像データａｔｔ２の画像データが上書きされ、下部の斜線部▲１▼のソース画像データａｔｔ１の画像データは消失してしまう。
【０００５】
そして、描画回路６ｄは、続けて、ソース画像データａｔｔ３〜ａｔｔ４までの、ソース画像データの合成処理を行ない、表示バッファ６ｂにおいてバッファ全体の画像を構成する。また、上述のソース画像データａｔｔ１とソース画像データａｔｔ２との関係と同様に、表示バッファ６ｂにおけるソース画像データａｔｔ１の斜線部▲２▼〜▲３▼の画像データは、上書きされ、下部の斜線部▲２▼〜▲３▼のソース画像データａｔｔ１の画像データは消失してしまう。
このとき、斜線部▲１▼〜▲３▼に示す、表示優先度の高いソース画像データにより上書きされ、表示されないソース画像データａｔｔ１の画像データも、画像メモリ６ｃから読み出され、表示バッファ６ｂに書き込みを行うため、画像メモリ６ｃや表示バッファ６ｂに対して無駄なアクセスを行う欠点があった。
上記欠点の対策としては、描画回路６ｄが、各ソース画像データのアトリビュートデータに基づいて、予め、より表示優先度の高いソース画像データと重なるソース画像データを、この重なる部分を除去する形状に分割し、表示バッファ６ｂにおいてデータが上書きされ、消失してしまう画像データの部分を予め削除してしまう手法が考えられる。すなわち、描画回路６ｄは、消失してしまう部分の画像データを画像メモリ６ｃから読み出す処理，及び表示バッファ６ｂに書き込む処理を省略し、無駄なアクセスを防止し、全体の処理速度を向上させる。
【０００６】
【発明が解決しようとする課題】
しかしながら、上述した予め上書きされる部分を削除する手法は、優先度の高いソース画像データが透過色の部分を有している場合においても、優先度の低いソース画像データの上記透過色の部分と重なる画像データを削除してしまう問題がある。
すなわち、透過色の下部のデータは、優先度が低くても、表示されなければならないデータであり、削除してしまっては合成に必要な画像データが失われてしまうこととなる。
本発明はこのような背景の下になされたもので、表示優先度の高いソース画像データにより上書きされ表示されない画像データを予め検出し、画像メモリや表示バッファに対する無駄なアクセスを行なわず、かつ表示優先度が高くても透過色の部分の下部に位置する優先度の低い画像データを表示させる画像処理装置を提供する。
【０００７】
【課題を解決するための手段】
本発明の画像処理装置は、複数のソース画像データを格納する画像メモリと前記画像メモリに格納されたソース画像データに対応して、該ソース画像データ毎の該画像メモリにおけるソースアドレスおよび画像表示装置の画面における表示アドレスを含むアトリビュートデータを格納するアトリビュートメモリと、複数のソース画像データが重なるとき、下部のソース画像データの重なり部分を除き、該ソース画像データを分割画像データに分割し、各分割画像データの分割表示アドレスを算出して、テンポラリメモリに格納するアトリビュート変換回路と、前記表示アドレスから前記分割画像データの画像メモリにおけるソースアドレスを算出し、該ソースアドレスを出力するソースアドレス算出回路と、前記ソースアドレスに基づき、前記画像メモリからソース画像データを読み出す画像メモリコントローラと、前記アトリビュートデータに基づき、読み出されたソース画像データの各画素データが透過色であるか否かを検出する透過色検出回路と、優先度の高い順に、透過色でないと検出されたソース画像データの画素データを、表示アドレスに対応させて表示バッファに格納するアトリビュートコントローラと、表示バッファに格納された画素データを前記表示装置に出力する表示送出コントローラとを具備し、前記透過色検出回路は、アトリビュートコントローラが表示バッファに画素データを格納するとき、画素データが透過色でない場合、アトリビュートコントローラ内のマークメモリにマークデータを書き込み、また、前記アトリビュートコントローラは、前記マークメモリにマークデータが書き込まれている場合、このマークデータが書き込まれたアドレスに対応するアドレスの画素データの読み出しを前記画像メモリから行なわず、前記マークメモリにマークデータが書き込まれていない場合、この書き込まれていないアドレスに対応する前記バッファメモリの領域に、下部の分割画像データの画素データの書き込み処理行うことを特徴とする。
本発明の画像処理装置は、複数のソース画像データを格納する画像メモリと、前記画像メモリからソース画像データを読み出す画像メモリコントローラと、前記画像メモリコントローラが読み出すソース画像データを一時蓄積する表示バッファと、前記画像メモリに格納されたソース画像データに対応して、該ソース画像データ毎の該画像メモリにおけるソースアドレス及び画像表示装置の画面における表示アドレスを含むアトリビュートデータを格納するアトリビュートメモリと、前記アトリビュートメモリからアトリビュートデータを読み出すアトリビュートコントローラと、複数のソース画像データが重なるとき、下部のソース画像データの重なり部分を除き、該ソース画像データを分割画像データに分割するアトリビュート変換回路と、前記分割画像データの画像メモリにおける分割された分割画像データのソースアドレスを算出し、該ソースアドレスを前記アトリビュートコントローラへ出力するソースアドレス算出回路と、前記アトリビュートデータに基づき、前記重なり部分における上部のソース画像データが透過色であるか否かを検出する透過色検出回路とを具備し、前記アトリビュートコントローラが、前記重なり部分の上部のソース画像データが透過色で無い場合、その下部の分割画像データを削除し、前記重なり部分の上部のソース画像データに透過色のドットが含まれる場合、その透過色であるドットの下部のソース画像データにおけるドットを表示させることを特徴とする。
【０００８】
本発明の画像処理装置は、前記アトリビュート変換回路が、前記ソース画像データの分割処理を、前記表示バッファに１ライン分のドットの画像データを書き込む毎に行うことを特徴とする。
本発明の画像処理装置は、前記アドレス算出回路が、前記アトリビュートデータに基づき、前記分割画像データの表示アドレスを、ソースアドレスに変換することを特徴とする。
本発明の画像処理装置は、前記アトリビュートコントローラが、前記重なり部分の上部のソース画像データが透過色である場合、その透過色である画素データの下部の分割画像データにおける画素データを表示バッファへ転送させる処理を、順次高い表示優先度のソース画像データから低い優先度のソース画像データに対して行うことを特徴とする。
本発明の画像処理装置は、前記アトリビュートコントローラが分割表示アドレスで示された範囲の前記各分割画像データを前記表示バッファに転送することを特徴とする。
本発明の画像処理装置は、前記アトリビュート変換回路が、アトリビュート変換回路が前記テンポラリメモリ内の分割画像データの表示優先度の高い順に、再分割するソース画像データを選択し、選択されたソース画像データと、このソース画像データより表示優先度の高いソース画像データとの重なり部分を検出し、この前記重なり部分を、前記選択されたソース画像データの新たな分割画像データとし、この新たな分割画像データの表示アドレスを生成して、前記テンポラリメモリに書き込むことを特徴とする。
本発明の画像処理装置は、前記テンポラリメモリが前記表示アドレスを格納する複数のテーブルを有し、前記アトリビュート変換回路が、この各テーブル毎に、順次、再分割される新たな分割画像データを対応させ、対応するテーブルに、分割画像データの表示アドレスを格納することを特徴とする。
【０００９】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態について説明する。
＜第１の実施形態＞
図１は本発明の第１の実施形態による画像処理装置の構成を示すブロック図である。この図において、画像メモリ２ａは、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）で構成されており、複数のソース画像データが非圧縮状態で格納されている。すなわち、画像メモリ２ａには、ソース画像データ、すなわちディスプレイ２ｄの表示画面に表示するキャラクタや風景などの画像の各ドットに対応した画素データが格納されている（以下、ソース画像データの画素とする）。
ここで、ソース画像データは、例えば、ソース画像データａｔｔ１〜ａｔｔ４の様に、１つのウィンドウ（矩形の領域）内に画像を描画する各ドット毎の画素データが記述された構成となっている。
そして、各ソース画像データのプライオリティ、すなわち、表示優先順位は、ソース画像データａｔｔ１〜ａｔｔ４の順に高くなっているとする。
また、上記ソース画像データは、画像メモリ２ａにおいて、ディスプレイ２ｄの表示画面に表示された場合のアドレスと相対的に等しいソースアドレスにより、すなわち、水平・垂直ともに実際に表示画面に表示される画像領域と同様の矩形状のアドレス範囲（アドレスの幅が一致している）に記憶されている。
【００１０】
アトリビュートメモリ２ｉには、画像処理装置から垂直同期信号が入力される毎に、１フレーム（１画面）に画像表示される合成画像を形成するデータ、すなわち、画像の合成に使用する各ソース画像データ毎の画像メモリ２ａにおけるデータ領域を示すソースアドレス，ディスプレイ２ｄ（画像表示装置）の画面上における領域を示す表示アドレス，表示優先度等を含むアトリビュートデータ等が格納される。ここで、表示優先度とは、複数のソース画像データを合成したときに重なり合う部分において表示される順番を示している。このため、値が高いほど上部に表示され、その下部のソース画像データの画素データは上書きされて削除されてしまう。
ここで、上記ソースアドレスは、各々、ソース画像データの水平方向の領域を示すスタートアドレスｘｓ及びエンドアドレスｘｅと、ソース画像データの垂直方向の領域の開始を示すスタートアドレスｙｓから構成され、これらのアドレスに基づき、ソース画像データの領域内の画素データ毎にアクセスが可能に設定されている。
例えば、ソース画像アドレスａｔｔ１のソースアドレスは、水平方向の領域の範囲として、スタートアドレスｘ１からエンドアドレスｘ５が設定され、垂直方向の領域の範囲としてスタートアドレスｙ１が設定されている。
【００１１】
また、上記表示アドレスは、ソース画像データの垂直方向の領域を示すスタートアドレスｈｓ及びエンドアドレスｈｅと、ソース画像データの水平方向を示すスタートアドレスｖｓ及びエンドアドレスｖｅとから構成され、領域内の画素データ毎にアクセスが可能に設定されている。
例えば、ソース画像アドレスａｔｔ１の表示アドレスは、水平方向のアドレスの領域の範囲として、スタートアドレスｈ１からエンドアドレスｈ６が設定され、また、垂直方向のアドレスの領域の範囲として、スタートアドレスｖ３からエンドアドレスｖ７が設定されている。
垂直カウンタ２ｈは、ディスプレイ２ｄから走査信号が入力される毎にインクリメントされ、計数結果として、ディスプレイ２ｄの表示画面上の走査信号の出力される走査線の位置（アドレス、例えば、垂直方向のアドレスｖ０〜ｖｅ等）を示す垂直ポインタｖを出力する。この垂直ポインタｖがインクリメントされる毎に、表示画面上に表示される画素データの出力される走査線が、順次選択される。アトリビュートコントローラ２ｋは、アトリビュートデータを読み出し、上記垂直ポインタｖの示すアドレスが、アトリビュートメモリ２ｉに記憶された各々のソース画像データの表示アドレスにおける垂直方向の領域を示すスタートアドレスｖｓからエンドアドレスｖｅまでの範囲にあるか否かの判定を行い、表示バッファ２ｅまたは表示バッファ２ｆに転送する画素データの有無を検出し、ソース画像データ毎に、検出信号ｖｖｌｄをアトリビュート変換回路２ｍへ出力している。
水平カウンタ２ｎは、表示装置の表示画面における水平方向のアドレスを示す水平ポインタｈを、インクリメントして、順次アトリビュート変換回路２ｍへ出力している。ここで、水平ポインタｈは、垂直ポインタｖの示す位置の走査線の各ドットのアドレスを示しており、インクリメントされることにより、各ドットのアドレスを指定する。
【００１２】
アトリビュート変換回路２ｍは、各ソースデータ毎の検出信号ｖｖｌｄ，水平方向のスタートアドレスｈｓ及びエンドアドレスｈｅと、水平ポインタｈとの値により、ポインタｖの示す走査線における各ソース画像データの表示優先度を比較し、この比較結果からもっとも表示優先度の高い、すなわち上位に表示されるソース画像データを選択してソース画像データの番号及びエンドアドレスをＴＭＰメモリ２ｏへ書き込む。
このとき、アトリビュート変換回路２ｍは、複数のソース画像データが重なるとき、例えば、垂直ポインタｖ３からｖ４−１の間で、ソース画像データａｔｔ１の上にソース画像ａｔｔ２及びａｔｔ３が重なって表示される場合、下部のソース画像データのａｔｔ１の重なり部分▲１▼及び▲２▼の部分を除いて、ソース画像データａｔｔ１を２つの分割画像データａｔｔ１：１及びａｔｔ１：２に分割する。
すなわち、アトリビュート変換回路２ｍは、下部の（表示優先度の低い）ソース画像データの、上位の（表示優先度の高い）ソース画像データとの重なり部分の領域を除いて、この下部のソース画像データを分割画像データに分割する。
【００１３】
このとき、アトリビュート変換回路２ｍは、スタートアドレスｈ１及びエンドアドレスｈ６の領域を有するソース画像データａｔｔ１を分割後に、分割画像データａｔｔ１：１に新たなスタートアドレスｈ１及びエンドアドレスｈ２−１を求め、分割画像データａｔｔ１：２に新たなスタートアドレスｈ４及びエンドアドレスｈ５−１、すなわち新たな表示アドレス（分割表示アドレス）を求めて、これらのアドレスをＴＭＰメモリ２ｏにソース画像データを示す番号と共に記憶する。
ソースアドレス算出回路２ｌは、ＴＭＰメモリ２ｏに格納されている表示されるソース画像データの番号と、その表示アドレスの範囲とから、分割画像データの画像メモリにおけるソースアドレスを算出し、このソースアドレスをアトリビュートコントローラ２ｋへ出力する。
例えば、ソースアドレス算出回路２ｌは、垂直アドレスｖ３において、分割画像データａｔｔ１：１の表示アドレスであるスタートアドレスｈ１（ソース画像データがアドレスｈ−１まで無いため）及びエンドアドレスｈ２−１を、ソースアドレスであるスタートアドレスｘ１及びエンドアドレス（ｘ１＋ｈ２−１−ｈ１）として算出（演算）して出力する。
アトリビュートコントローラ２ｋは、ソースアドレス算出回路２ｌの求めたソースアドレスに基づき、分割画像データのスタートアドレスｙｓから水平ポインタｈをインクリメントすることにより、垂直ポインタｖと水平ポインタｈの示すアドレスの画素データを、画像メモリ２ａから画像メモリコントローラ２ｂを介して順次読み込み、表示バッファコントローラ２ｊを介して表示バッファ２ｅまたは表示バッファ２ｆにこの画素データを書き込む。
【００１４】
ここで、ソースアドレス算出回路２ｌは、アトリビュートデータにおけるソースアドレスと表示アドレスとの関係に基づき、ソース画像データの表示アドレスをソースアドレスに変換する。
例えば、ソースアドレス算出回路２ｌは、ソース画像データａｔｔ１において、素直ポインタｖが垂直方向のアドレスｖ３を示していると、このアドレスｖ３をソースアドレスにおける垂直方向のアドレスｙ１へ変換し、水平ポインタｈが水平方向のアドレスｈ１を示していると、このアドレスｈ１を水平方向のアドレスｘ１に変換する。
画像メモリコントローラ２ｂは、アトリビュートコントローラ２ｋから入力される垂直方向のアドレス及び水平方向のアドレスに基づき、垂直ポインタ及び水平ポインタｈがインクリメントして、順次、画像メモリ２ａから合成に利用されるソース画像データのドット単位の画素データを読み出し、表示バッファコントローラ１ｄを介して、順次、表示バッファ２ｅまたは表示バッファ２ｆの表示アドレスに対応した位置に、読み出された画素データを書き込む。
【００１５】
表示バッファ２ｅには、表示画面の１フレームにおける偶数番号の走査線に対応する、すなわちディスプレイ２ｄの表示画面上において、垂直ポインタｖが示す走査線における水平ポインタｈの取りうる全てのドットの画素データが一時的に蓄積される。また、表示バッファ２ｆには、表示画面の１フレームにおける奇数番号の走査線に対応する、すなわちディスプレイ２ｄの表示画面上において、垂直ポインタｖが示す走査線における水平ポインタｈの取りうる全てのドットの画素データが一時的に蓄積される。例えば、偶数アドレスの走査線に一方の表示バッファ２ｅが画素データを出力しているとき、他方の表示バッファ２ｆには次に画像装置の奇数アドレスに出力する画素データが書き込まれている。ここで、表示バッファ２ｅ及び表示バッファ２ｆは、各々ディスプレイ２ｄの表示画面において、水平方向に配置された各ドットの位置のアドレス（走査線における各ドットの位置を示すアドレス）と対応したアドレスを有するメモリから構成されており、各アドレスにおけるデータ記憶のビット数は画素データのビット数に対応している。
【００１６】
透過色検出回路２ｒは、アトリビュートコントローラ２ｋが画素データを画像メモリ２ａから読み出す毎に、アトリビュートメモリ２ｉにおいて対応する画素データの透過色か否かを示すデータに基づき、読み出された画素データが、透過色であるか否かを検出し、検出結果をアトリビュートコントローラ２ｋ内のマークメモリにマークデータとして記憶させる。このとき、透過色検出回路２ｒは、検出するドットの画素データが透過色で無い場合、すなわち表示画面に表示する場合、マークデータをこのドットの位置を示すアドレスに対応させて上記マークメモリに書き込む（マークデータを添付する）。
このとき、アトリビュートコントローラ２ｋは、画像メモリ２ａから読み出した上記画素データを、表示バッファ２ｅまたは表示バッファ２ｆの対応するアドレスに書き込む。
ここで、マークメモリは、「垂直ポインタｖの示すアドレスの走査線における水平ポインタｈの取りうる範囲（ディスプレイ２ｄの表示画面の水平方向）のドット数×１ビット」の容量を有しており、各ビットのアドレスと表示バッファのアドレスとは対応している。
一方、透過色検出回路２ｒは、画素データが透過色である場合、すなわち、表示画面に表示しない場合、この画素データのドットに対してマークメモリにマークデータを書き込まず、かつアトリビュートコントローラ２ｋも読み出した画素データを表示バッファ（特に指定しない場合は、表示バッファ２ｅまたは表示バッファ２ｆのいずれか）に書き込まない。
【００１７】
つまり、アトリビュートコントローラ２ｋは、透過色検出回路２ｒが読み出した画素データが透過色であることを検出した場合、読み出した画素データを、表示バッファに転送しない（すなわち、使用せずに削除する）。
詳細に説明すると、アトリビュートコントローラ２ｋは、マークメモリにおいてマークデータが書き込まれていない位置を確認し、この位置のアドレスに対応する画像メモリ２ａのアドレスから画像データを読み出す毎に、この画素データが透過色であるか否かの判定を透過色検出回路２ｒにおいて行う。
アトリビュートコントローラ２ｋは、透過色検出回路２ｒにおける判定の結果、読み出した画像データが透過色で無いことが検出された場合、読み出した画素像データを、表示バッファに書き込む。
このとき、透過色検出回路２ｒは、画素データが書き込まれた表示バッファのアドレスに対応するマークメモリのアドレスに、新たにマークデータを書き込み、マークメモリのデータ内容を更新する。
すなわち、アトリビュートコントローラ２ｋは、画素データが透過色であるか否かの透過色検出回路２ｒの判定結果に基づき、表示バッファに画素データを書き込むか否かの判断を、各ドット毎に、各ソース画像データにおける画素データ全てに対して行い、表示優先度の高い順に表示バッファに書き込む処理を、マークメモリの全てのアドレスにマークデータが書き込まれるまで、または、垂直ポインタｖの示す走査線に存在する全てのソース画像データに対して繰り返して行う。
このとき、アトリビュートコントローラ２ｋは、マークデータが書き込まれているマークメモリのアドレスに対応するアドレスの画素データを、画像メモリ２ａから読み出す処理自体を行わない。
【００１８】
そして、アトリビュートコントローラ２ｋは、ディスプレイ２ｄの走査信号が入力される毎に、ディスプレイ２ｄの画面上における垂直ポインタｖの示す走査線に表示されるソース画像データとして、表示バッファ２ｅまたは表示バッファ２ｆからディスプレイ２ｄへ出力する。
このとき、アトリビュートコントローラ２ｋは、奇数アドレスの走査線に表示する画素データが表示バッファ２ｆに書き込まれていると、この奇数アドレスの１つ前の偶数アドレスの走査線の各ドットに対して、表示バッファ２ｅに記憶されている画素データが出力される。また、ここで用いられる１つ前の走査線のアドレスは、垂直カウンタ２ｈの出力する垂直ポインタｖの示すアドレスから「１」を差し引いた結果として表示出力コントローラ２ｃへ出力される。
表示コントローラ２ｃは、表示バッファ２ｅから出力される画素データを、ディスプレイ２ｄの表示画面における、１ラインディレイ２ｇの出力するアドレスに対応する走査線のドットに書き込む。これにより、ディスプレイ２ｄは、合成された画像の表示を行う。
【００１９】
次に、図３にアトリビュート変換回路２ｍの詳細な構成を示すブロック図を示す。この図において、水平表示判断回路４ｅ，４ｆ，４ｇ及び４ｈは、アトリビュートコントローラ２ｋ（図１）から各々のソース画像データに対応した検出信号ｖｖｌｄが入力されており、かつ、水平ポインタｈが各ソース画像データの水平方向のスタートアドレス及びエンドアドレスの範囲内にあるか否かの判定を行い、範囲に含まれていれば検出結果信号を「Ｈ」レベルで出力する。
ここで、水平表示判断回路４ｅ，４ｆ，４ｇ及び４ｈには、アトリビュートコントローラ２ｋから各々ソース画像データａｔｔ４，ａｔｔ３，ａｔｔ２，ａｔｔ１の検出信号ｖｖｌｄとスタートアドレスｈｓとエンドアドレスｈｅとが入力されている。
プライオリティエンコーダ４ｌは、端子Ｔ１〜Ｔ４（プライオリティエンコーダ４ｌの１〜４）において「Ｈ」レベルが入力されている中から、最も表示優先度の大きい入力のコード（ソース画像データの番号）を出力する（プライオリティとしては、Ｔ４＞Ｔ３＞Ｔ２＞Ｔ１＞Ｔ０の順になっている）。これにより、アトリビュート変換回路２ｍは、水平ポインタｈの示すドットの位置において、最も表示優先度の高いソース画像データの判別が行える。なお、プライオリティエンコーダ４ｌは、どのソース画像データもポインタｈの指すドットに無い場合、「０」を出力する。
端子Ｔ１〜Ｔ４には、各々ソース画像データａｔｔ１，ａｔｔ２，ａｔｔ３，ａｔｔ４の上記検出結果信号が入力される。端子Ｔ０には「Ｈ」レベルが入力されている。
【００２０】
また、水平カウンタ２nがクロックにより水平ポインタｈをインクリメントし、ドットの水平方向のアドレスを変更する毎に、フリップフロップ４iは、この水平ポインタｈの値を上記クロック毎に保持する。また、このとき、フリップフロップ４jは、プライオリティエンコーダ４lの出力するソース画像データを示す番号のコードを、上記クロックにより保持する。このため、フリップフロップ４j及び４iには、クロックが入力されて値が変化する前のソース画像データの番号，水平ポインタｈの値が各々保持されている。
イクスクルーシブオア４kは、プライオリティエンコーダ４lの出力するソース画像データの番号と、フリップフロップ４jに保持されたソース画像データの番号（例えば、ソース画像データatt1の数字の「1」をアトリビュート番号とする。「０」は表示されるソース画像データの無い部分を示す。）とが異なる場合に「Ｈ」レベルのｗｒ信号を出力する。これにより、アトリビュート変換回路２mは、表示画面上に表示されるソース画像データが変化したことを検出する。
【００２１】
このとき、アトリビュート変換回路２ｍは、ｗｒ信号が「Ｈ」レベルとなったとき、フリップフロップ４ｉ及びフリップフロップ４ｊの各々のデータをＴＭＰメモリ２ｏへ、図４に示すデータテーブルのフォーマットにおいて、分割画像データを構成する１走査線毎に、ＴＭＰメモリ２ｏにおける各メモリアドレス（図４のデータテーブル）に書き込むことにより、表示画面に表示されるソース画像データの番号及びその表示範囲を求める（提供する）。
すなわち、アトリビュート変換回路２ｍは、垂直ポインタｖの示す走査線毎に、複数のソース画像データが重なって表示される部分において、各ソース画像データの表示優先度に基づいて、重なり部分で最も高い表示優先度を有するソース画像データを検出する事により、下部のソース画像データの表示する部分を分割することとなる。そして、アトリビュート変換回路２ｍは、分割後の各分割画像データの領域の範囲（分割表示アドレス）を示すスタートアドレスｈｓ及びエンドアドレスｈｅを求め、ＴＭＰメモリ２ｏへ書き込む。
【００２２】
次に、図１〜図９を参照し、第１の実施形態の動作例を説明する。図５は、図１の表示バッファ２e及び２fに、順次格納される画像、すなわちディスプレイ２dの表示画面に表示される複数のソース画像データが合成された画像の概念図である。図６は、各々画像メモリ２aに格納されるソース画像データを示している図７〜図９は、表示バッファ２e及び２fに転送される画素データを形成する流れを示す概念図である。ここで、図１の画像メモリ２aには、図６に示すソース画像データatt-A，att-B及びatt-Cが記憶されており、アトリビュートメモリ2iには図５の画像を合成するアトリビュートデータが格納されているとする
また、表示優先度は、ソース画像データatt-Aが最も高く、ソース画像データtt-Cが最も低いとする。このとき、図３のプライオリティエンコーダ４lにおいては、ソース画像データatt-A，att-B及びatt-Cに対応する水平表示判断回路の出力が各々端子Ｔ４，Ｔ３及びＴ２に入力され、端子Ｔ１及び端子Ｔ０には「Ｈ」レベルの電圧が入力されている。
【００２３】
アトリビュートメモリ２iには、ディスプレイ２dから垂直同期信号が入力されると、表示画面に次に表示される図５に示す画像のアトリビュートデータが転送され、格納される。
そして、垂直カウンタ２hは、走査信号が入力される毎に、インクリメントして計数値をアトリビュートコントローラ２kへ出力する。これにより、アトリビュートコントローラ２kは、垂直カウンタ２hからの計数値から求められる表示画面上の垂直ポインタｖの値が、各ソース画像データの垂直方向の領域を示すスタートアドレスからエンドアドレスまでの範囲内にあるか否かの判定を行う。
ここで、アトリビュートコントローラ２kは、垂直ポインタｖがソース画像アドレスのスタートアドレスv0となると、すなわち、垂直ポインタｖの値がアドレスv0となると、ソース画像データatt-Bのデータ領域の範囲となったことを検出する。
【００２４】
これにより、アトリビュートコントローラ２kは、アトリビュート変換回路2mに対して、検出信号vvldを出力する。
そして、アトリビュート変換回路２mは、検出信号vvldの入力処理により、分割処理を開始するが、アトリビュートデータに基づき、ソース画像データatt-Bが他のソース画像データと重なり合っていないことを検出し、ソース画像アドレスatt-Bの分割を行わない。
次に、アトリビュートコントローラ２kは、ソースアドレス算出回路２lに対して、表示画像データのアドレス領域を、表示アドレスからソースアドレスへ変換する処理を指示する。
そして、ソースアドレス算出回路２lは、アトリビュートデータにおけるソース画像データatt-Bの表示アドレスとソースアドレスとの関係に基づき、アドレスv0をアドレスy2に変換し、かつ、水平ポインタhの示す水平方向のアドレスh1をアドレスx0に変換する。
【００２５】
また、透過色検出回路２ｒは、アトリビュートコントローラ２ｋが上記ソースアドレスに基づき、画像メモリ２ａから順次読み出される、垂直ポインタｙ２におけるスタートアドレスｘ０からエンドアドレスｘ２までの画素データを、透過色か否かの検出を行う。
ここで、透過色検出回路２ｒは、スタートアドレスｘ０からエンドアドレスｘ２までの画素データが全て透過色であるので、アトリビュートコントローラ２ｋ内のマークメモリにマークデータを書き込まない。
したがって、アトリビュートコントローラ２ｋは、ポインタｖ０に対応する走査線のドットに表示する画素データが無いことを検出し、画像メモリ２ａから読み出したスタートアドレスｘ０からエンドアドレスｘ２までの画素データを、表示バッファ２ｅに書き込まない（ポインタｖの示すｖ０は偶数アドレスの走査線であるため）。
【００２６】
次に、垂直カウンタ２ｈが走査信号の入力により順次インクリメントされ、計数値の垂直ポインタｖがアドレスｖ２３の位置の奇数アドレスの走査線となったとする。
このとき、アトリビュートメモリ２ｉに記憶されたアトリビュートデータにおいて、ソース画像データａｔｔ−Ａ，ａｔｔ−Ｂ及びａｔｔ−Ｃの全てが重なり合っている。
このため、アトリビュート変換回路２ｍは、各ソース画像データの重なり合った部分の分割を行う。
アトリビュート変換回路２ｍは、図７において示すように、表示優先度を考慮して、ソース画像データａｔｔ−Ａを分割せず、ソース画像データａｔｔ−Ｂをソース画像データａｔｔ−Ａにより、分割画像データａｔｔ−Ｂ１及び分割画像データａｔｔ−Ｂ２へ２分割し、同様に、ソース画像データａｔｔ−Ｃをソース画像データａｔｔ−Ｂにより、分割画像データａｔｔ−Ｃ１及び分割画像データａｔｔ−Ｃ２へ２分割する。
ここで、図７〜図９において、白抜きの長方形で示されている領域が画像表示（描画）されるドット（画素データが透過色でない）の部分を示し、実線で示されている領域が画像表示されないドット（画素データが透過色である）の部分を示している。
【００２７】
そして、図７に示す様に、アトリビュート変換回路２ｍは、分割画像データａｔｔ−Ｂ１，分割画像データａｔｔ−Ｂ２，分割画像データａｔｔ−Ｃ１及び分割画像データａｔｔ−Ｃ２各々の分割後のスタートアドレスｈｓ及びエンドアドレスｈｅを求め、この結果をＴＭＰメモリ２ｏへ格納する。
例えば、アトリビュート変換回路２ｍは、分割画像データａｔｔ−Ｂ１の範囲を示すスタートアドレスｈｓ及びエンドアドレスｈｅを、スタートアドレスｈ１及びエンドアドレスｈ２−１とし、分割画像データａｔｔ−Ｂ２の水平方向の範囲を示すスタートアドレス及びエンドアドレスを、スタートアドレスｈ３及びエンドアドレスｈ４としてＴＭＰメモリ２ｏへ格納する。
また、アトリビュート変換回路２ｍは、分割画像データａｔｔ−Ｃ１の範囲を示すスタートアドレスｈｓ及びエンドアドレスｈｅを、スタートアドレスｈ０及びエンドアドレスｈ１−１とし、分割画像データａｔｔ−Ｃ２の範囲を示すスタートアドレスｈｓ及びエンドアドレスｈｅを、スタートアドレスｈ４及びエンドアドレスｈ５−１としてＴＭＰメモリ２ｏへ格納する。
【００２８】
そして、ソースアドレス算出回路２ｌは、ＴＭＰメモリ２ｏに記憶されている、分割後の各分割画像データの範囲を示すスタートアドレスｈ１及びエンドアドレスｈ２−１から、アトリビュートデータのソースアドレス及び表示アドレスに基づき、分割画像データａｔｔ−Ｂ１の画像メモリ２ａにおける水平方向の範囲を示すスタートアドレスｘｓ及びエンドアドレスｘｅを、各々スタートアドレスｘ０，エンドアドレス（ｘ０＋ｈ２−１−ｈ１）と演算する。
また、ソースアドレス算出回路２ｌは、分割後の各分割画像データの範囲を示すスタートアドレスｈ３及びエンドアドレスｈ４から、アトリビュートデータに基づき、分割画像データａｔｔ−Ｂ２の画像メモリ２ａにおける水平方向の範囲を示すスタートアドレス及びエンドアドレスを、各々スタートアドレス（ｘ０＋ｈ３−ｈ１），エンドアドレス（ｘ０＋ｈ４−ｈ１）と演算する。
同様に、ソースアドレス算出回路２ｌは、分割画像データａｔｔ−Ｂ１及び分割画像データａｔｔ−Ｂ２の画像メモリ２ａでの範囲を示すスタートアドレスｈｓ及びエンドアドレスｈｅを、各々スタートアドレスｘ０，エンドアドレス（ｘ０＋ｈ１−１−ｈ０）及びスタートアドレス（ｘ０＋ｈ４−ｈ０），エンドアドレス（ｘ０＋ｈ５−１−ｈ０）と演算する。
【００２９】
また、ソースアドレス算出回路２ｌは、ソース画像データａｔｔ−Ａ及び分割後の各分割画像データの垂直ポインタの示すアドレスｖ２３から、アトリビュートデータに基づき、ソース画像データａｔｔ−Ａ及び分割後の上記各分割画像データの画像メモリ２ａにおける垂直方向のアドレスを求める。
例えば、ソースアドレス算出回路２ｌは、ソース画像データａｔｔ−Ａの垂直方向のアドレスｖ２３に対応する垂直方向のアドレスをアドレス（ｙ０＋ｖ２３−ｖ２）と演算し、同様に、分割画像データａｔｔ−Ｂ１，分割画像データａｔｔ−Ｂ２のアドレスｖ２３に対応するアドレスをアドレス（ｙ２＋Ｖ２３−ｖ０）と演算し、分割画像データａｔｔ−Ｃ１及び分割画像データａｔｔ−Ｃ２のアドレスｖ２３に対応する垂直方向のアドレスをアドレス（ｙ４＋Ｖ２３−ｖ１）と演算する。
【００３０】
そして、アトリビュートコントローラ２ｋは、この時点で、より高い表示優先度を有する画像データと重ならない分割画像データａｔｔ−Ｃ１，ａｔｔ−Ｂ１，ａｔｔ−Ｂ２，ａｔｔ−Ｃ２と、ソース画像データａｔｔ−Ａの各々のアドレスｖ２３及びポインタｈとで選択されるドットの画素データを、ポインタｈの値をインクリメントする毎に画像メモリ２ａから読み出す。
このとき、透過色検出回路２ｒは、読み出した分割画像データにおける各ドットの画素データが透過色か否かの判定を行う。
そして、透過色検出回路２ｒは、アトリビュートコントローラ２ｋの読み出した画素データにおいて、透過色でない画像データのドットが分割画像データａｔｔ−Ｃ１のアドレスｈ０１〜アドレスｈ１−１までのドットの画素データと、ソース画像データａｔｔ−Ａのアドレスｈ２３〜アドレスｈ２４−１までのドットの画素データとであることを検出し、マークメモリに各ドットのアドレスに対応させマークデータを書き込む。
これにより、アトリビュートコントローラ２ｋは、表示バッファ２ｆに対して、垂直ポインタｖ２３の位置における分割画像データａｔｔ−Ｃ１の水平方向のアドレスｈ０１〜アドレスｈ１−１までのドットの画素データと、ソース画像データａｔｔ−Ａの水平方向のアドレスｈ２３〜アドレスｈ２４−１までのドットの画素データとを書き込む。
【００３１】
次に、図８に示すように、アトリビュートコントローラ２kは、マークメモリにおいてマークデータが書き込まれていない水平ポインタｈのアドレスがあることを検出し、マークデータの書き込まれていないアドレスにおいて、ソース画素データatt-Aの次に表示優先度の高いソース画素データatt-Bの垂直ポインタv23の位置のドットの画素データを表示バッファ２fに転送するための前処理を開始する。
アトリビュートコントローラ２kは、表示バッファ２fに転送する処理を行うため、マークメモリにマークデータが記載されておらず、ソース画像データatt-Aの下部にあるアドレスh2からアドレスh23−1までと、アドレスh24からアドレスh3−1までのドットに対応するソース画素データatt-Bの画素データを、ポインタｈの値を上記のアドレスの範囲において各々インクリメントする毎に画像メモリ2aから読み出す。
そして、透過色検出回路２rは、読み出された上記ドットの画素データが透過色か否かの判定を行い、透過色でない画像データのドットがアドレスh22からアドレスh23−1までのドットの画素データとであることを検出し、マークメモリに各ドットのアドレスに対応させてマークデータを書き込む。
これにより、アトリビュートコントローラ２kは、変更されたマークメモリのマークデータのアドレス、すなわち、垂直ポインタｖの示すアドレスv23の位置におけるソース画像データatt-Bのアドレスh22〜アドレス23−1までのドットの画素データを表示バッファ２fの対応する位置に書き込む。
【００３２】
次に、図９に示すように、アトリビュートコントローラ２ｋは、マークメモリにおいてマークデータが書き込まれていない水平ポインタｈのアドレスがあることを検出し、マークデータの書き込まれていないアドレスにおいて、ソース画素データａｔｔ−Ｂの次に表示優先度の高いソース画素データａｔｔ−Ｃの垂直ポインタｖ２３の位置のドットの画素データを表示バッファ２ｆに転送するための前処理を開始する。
アトリビュートコントローラ２ｋは、表示バッファ２ｆに転送する処理を行うため、マークメモリにマークデータが記載されておらず、ソース画像データａｔｔ−Ａ及びａｔｔ−Ｂの下部にあるアドレスｈ１からアドレスｈ２２までと、アドレスｈ２５からアドレスｈ４までまでのドットに対応するソース画素データａｔｔ−Ｃの画素データを、ポインタｈの値を上記のアドレスの範囲において各々インクリメントする毎に画像メモリ２ａから読み出す。
【００３３】
このとき、透過色検出回路２ｒは、読み出した分割画像データにおける各ドットの画素データが透過色か否かの判定を行う。
そして、透過色回路２ｒは、上記ドットの画素データが透過色か否かの判定を行い、透過色でない画像データのドットがアドレスｈ１からアドレスｈ１１−１までと、アドレスｈ２１からアドレスｈ２２−１までと、アドレスｈ２４からアドレスｈ２５−１までとのドットの画素データであることを検出し、マークメモリに各ドットのアドレスに対応させマークデータを書き込む。
これにより、アトリビュートコントローラ２ｋは、変更されたマークメモリのマークデータのアドレス、すなわち、垂直ポインタｖの示すアドレスｖ２３の位置におけるソース画像データａｔｔ−Ｃのアドレスｈ１からアドレスｈ１１−１までと、アドレスｈ２１からアドレスｈ２２−１までと、アドレスｈ２４からアドレスｈ２５−１までとのドットの画素データを表示バッファ２ｆの対応する位置に書き込む。
そして、アトリビュートコントローラ２ｋは、ソース画像データが重なり合う部分において、マークメモリにおけるマークデータの有無に基づき、上述した書き込み処理を、表示優先度が最も高いソース画像データから最も表示優先度の低いソース画像データの順に、全てのソース画像データに対して行う。
【００３４】
上述したように、アトリビュートコントローラ２kは、複数のソース画像データを合成して画像を生成するときに、複数のソース画像データの重なり部分が生じると、上部の（表示優先度の高い）ソース画像データにおいて画素データが透過色であり、かつ、この透過色のドットの下部の（表示優先度の低い）ソース画像データのドットの画素データが透過色でない場合、このドットの画素データを表示バッファ２eまたは表示バッファ２fに転送する処理を、最も高い表示優先度を有するソース画像データから最も低い表示優先度のソース画像データまで、重なりあった部分を有する全てのソース画像に対して行う。
なお、上述の第１の実施形態の構成において、アトリビュートコントローラ２kにおけるマークラムに対するアクセス速度と、表示バッファ２e及び２fに対するアクセス速度とが同様であると、すでにマークメモリに書き込まれているマークデータの書き込まれたドットのアドレスを確認する時間と、表示バッファ２e，２fに画素データを書き込む時間とが重なるため、マークメモリへのアクセスタイムを表示バッファ２e及び２fに対するアクセスタイムに対して高速化し、マークメモリにおいてマークデータが連続して書き込まれている領域をスキップして検出することが必要である。
【００３５】
以上の動作を垂直カウンタの値が表示アドレスの垂直ポインタｖの取りうる範囲、すなわち表示画面の走査線数分を繰り返し、すべての走査線の描画を完了することで１画面（１フレーム）の画像が構成される。
なお、上述した第１の実施形態では、説明のために、ソース画像データの数を４及び３として説明したが、同様の回路をソースデータの数だけ用意することで、合成に使用するソース画像データの数を適時増加させることが可能である。
また、１走査線の時間内にソース画像データの分割処理と描画（表示メモリへの書き込み）とを同時に完了する様にしているが、さらに１走査線分のディレイ、及びＴＭＰメモリ２ｏと同容量のＴＭＰメモリを設けることで、ソース画像データの分割処理をディ示プレイ２ｄへの表示の２走査線分前に行い、描画を１走査線分前のタイミングで行うようにしても良い。
上述したように、図２の表示画面に表示される画像を合成するソース画像データにおいて、斜線で示す重なり領域に関して、表示優先度が低いソース画像データの画像メモリ２ａに対するアクセスは、上部にあるソース画像データが透過色の画素データを有する以外には行われず、表示バッファに対するアクセスは、画素データが書き込まれたアドレスに対して、マークメモリのマークデータが検出されることでスキップされ、以降行われないために重ね書きによる無駄なアクセスが生じず、ソース画像データの合成にかかる時間を削減することができる。
【００３６】
また、上述した第１の実施形態では、説明のために、画像メモリ２aにおけるソース画像データのサイズと、表示画面に画像表示される画像のサイズとを同一として説明を行っている。
しかしながら、第１の実施形態の画像処理装置は、水平方向及び垂直方向の寸法の拡大または縮小が行われ、画像メモリ２aにおけるソース画像データのサイズと、表示バッファ２e，２fに転送されるソース画像データ（表示画面に表示される画像）のサイズが異なる場合にも、各サイズの比率に基づき、表示画面におけるソース画像データの表示領域と画像メモリ２aのアドレスとから、必要となるソース画像データの画像メモリ２aにおけるアドレスを算出することが可能である。このため、本願発明の画像処理装置は、水平方向及び垂直方向またはいずれかの拡大及び縮小機能を有した画像処理装置に対しても応用することが可能である。
【００３７】
また、第１の実施形態による画像処理装置は、複数のソース画像データを合成して画像を生成するとき、各ソース画像データの重なりあった部分に基づき、ソース画像データを分割画像データに分割し、各表示優先度の高いものから表示バッファ２ｅ及び２ｆに書き込んでいくため、画像表示（描画）されるドットの画素データのみを、表示バッファに書き込むこととなり、画像メモリ２ａ及び表示バッファに対するアクセス回数を削減することができ、画像表示される画像を合成により生成する速度を高速化することが可能である。
これにより、第１の実施形態による画像処理装置は、３つのソース画像データデータａｔｔ−Ａ，ａｔｔ−Ｂ及びａｔｔ−Ｃにおいて、表示優先度の低いソース画像データを順に表示バッファ１ｃに重ね書きしていく手法と同様の画像が得られるとともに、重ね書きした場合に消えてしまう下部のドットのデータの読み出しを画像メモリ２ａから読み出すことが無く、無駄なアクセス時間（アクセス回数）を削減し、画像の合成処理を高速化する効果がある。
さらに、第１の実施形態による画像処理装置は、表示優先度の高いソース画像データにおけるドットの画素データが透過色である場合、このドットの下部に位置する次に表示優先度の高いソース画像データのドットの画像データを表示バッファ２ｅ及び２ｆに書き込むため、ソース画像データａｔｔ−Ａ，ａｔｔ−Ｂ及びａｔｔ−Ｃの重ね合わせにおいて、使用者が特に意識することなく、透過色の表示優先度の高いソース画像データの下部にあるソース画像データの画素データを削除すること無く表示することが可能となり、背景に対するキャラクタの合成画像などが容易に合成できる効果がある。
【００３８】
＜第２の実施形態＞
次に、本発明の第２の実施形態による画像処理装置の説明を行う。
第２の実施形態による画像処理装置の構成は、図１に示す第１の実施形態による画像処理装置の構成と同様である。
以下の説明において、図１の画像メモリ２ａには、図６に示すソース画像データａｔｔ−Ａ，ａｔｔ−Ｂ，ａｔｔ−Ｃが格納されているとする。
第１及び第２の実施形態の異なる点は、アトリビュート変換回路２ｍがアトリビュート変換回路３ｍに、ＴＭＰメモリ２ｏがＴＭＰメモリ３ｏへ変更されている点である。
アトリビュート変換回路３ｍは、アトリビュートコントローラ２ｋが画像メモリ２ａから、走査線単位で画素データを読み出し表示バッファ（２ｅまたは２ｆ）へ転送するとき、または、表示バッファへの書き込みの終了後に、ソース画像データの分割画像データの再分割を行う。
ＴＭＰメモリ３ｏは、内部に複数のテーブル（以下に示すテーブル３１及び３２等の複数のテーブル）の記憶領域を有しており、処理中に再分割後の分割画像データの表示アドレスを順次書き込んで行き、垂直同期信号の入力タイミングでリセットされる。
また、以下に示すＴＭＰメモリ３ｏにおける各テーブルの表示アドレスの記憶形式は、図４に示すＴＭＰメモリ２ｏと同様である。
以下の説明において、画像メモリ２ａに格納されているソース画像データａｔｔ−Ａ〜ａｔｔ−Ｃの表示優先度は、従来例及び第１の実施形態と同様に、ソース画像データａｔｔ−Ｃ〜ａｔｔ−Ａの順に高くなっている（ソース画像データａｔｔ−Ａが最も高く，ソース画像データａｔｔ−Ｃが最も低い）とする。
【００３９】
また、第１の実施形態と第２の実施形態とにおける同様な機能の構成要素には同一の符号を付け説明を省略し、第２の実施形態において、アトリビュート変換回路３ｍ及びＴＭＰメモリ３ｏの構成及び動作の説明を、第１の実施形態のアトリビュート回路２ｍ，ＴＭＰメモリ２ｏに追加された機能のみを、アトリビュートコントローラ２ｊの動作を含めて説明し、アトリビュート変換回路３ｍ及びＴＭＰメモリ３ｏにおける第１の実施形態のアトリビュート回路２ｍ，ＴＭＰメモリ２ｏと同様な機能についての説明を、第１の実施形態におけるアトリビュート回路２ｍ，ＴＭＰメモリ２ｏ各々の説明を参照することとして省略する。
アトリビュート変換回路３ｍは、垂直カウンタ２ｈがインクリメントされる毎に、すなわち、垂直ポインタｖが新たな走査線のアドレスを示したとき、画像処理の最初の段階において、アトリビュート変換回路２ｍがＴＭＰメモリ３ｏへ表示アドレスを記憶させた第１の実施形態の処理と同様に、ソース画像データの表示優先度に基づき、これらソース画像データを分割画像データに分割し、その表示アドレスをＴＭＰメモリ３ｏのテーブル３１に、図４を用いて第１の実施形態で説明したＴＭＰメモリ２ｏへの書き込みと同様に記憶させる。
ここで、アトリビュート変換回路３ｍは、各ソース画像データの分割後の分割画像データの表示アドレス（スタートアドレスｈｓ及びエンドアドレスｈｅ）の算出を、図５に示すディスプレイ２ｄでの表示において、各ソース画像データの重なりの組み合わせの異なる、垂直ポインタｖの示す走査線のアドレスの範囲毎に行う。
そして、アトリビュートコントローラ２ｋは、ＴＥＭメモリ３ｏ内のテーブル３１に示される、ディスプレイ２ｄに表示される実質的な表示画像データである各分割画像データの表示アドレスに基づき、水平カウンタ２ｎのインクリメント動作毎に、表示バッファ２ｅ（または表示バッファ２ｆ）へ、画像メモリ２ａから読み出す画素データを書き込む。
この表示バッファへの画素データの書き込みを行っているとき、または表示バッファへの書き込みの終了後に、アトリビュート変換回路３ｍは、ＴＥＭメモリ３ｏのテーブル３１に記憶されている、各分割画像データの表示アドレスの再構成、すなわち表示優先度に従い、各ソース画像データを分割して生成した分割画像データの再分割を行う。
【００４０】
ここで、アトリビュートコントローラ２ｋが、ＴＭＰメモリ３ｏのテーブル３１に格納されている各分割画像データの表示アドレスに対応して、画像メモリ２ａから画素データの読み出しを行っているとき、アトリビュート変換回路３ｍは、テーブル３１において（すなわち、図５に示すディスプレイ２ｄの走査線のアドレス毎に）、再分割するソース画像データａｔｔ−Ｂより高い、すなわち最も表示優先度の高いソース画像データａｔｔ−Ａの分割画像データ（実際には、分割されていないソース画像データａｔｔ−Ａ）のアドレス領域と、次に表示優先度の高いソース画像データａｔｔ−Ｂとの重なり部分の検出を行う。
このとき、アトリビュート変換回路３ｍは、アトリビュートメモリ２ｉにおける各ソース画像データの表示アドレスに基づき、テーブル３１において、ソース画像データａｔｔ−Ｂのスタートアドレスｈｓとエンドアドレスｈｅとの間（表示アドレスの範囲）で、このソース画像データａｔｔ−Ｂと重なるソース画像データａｔｔ−Ａの領域があるか否かの判定を、表示画面の走査線における各ソース画像データのスタートアドレスｈｓ及びエンドアドレスｈｅの示す範囲における重なり部分の検出により行う。
すなわち、アトリビュート変換回路３ｍは、ソース画像データａｔｔ−Ｂの表示アドレスの範囲において、ソース画像データａｔｔ−Ｂのスタートアドレスｈｓとソース画像データａｔｔ−Ａのスタートアドレスｈｓとの比較を行い、ソース画像データａｔｔ−Ｂの方がソース画像データａｔｔ−Ａより小さいスタートアドレスｈｓであれば、重なり部分の開始アドレスをソース画像データａｔｔ−Ａのスタートアドレスｈｓの数値とし、一方、ソース画像データａｔｔ−Ｂの方がソース画像データａｔｔ−Ａより大きいスタートアドレスｈｓであれば、重なり部分の開始アドレスをソース画像データａｔｔ−Ｂのスタートアドレスｈｓの数値とする。
また、アトリビュート変換回路３ｍは、ソース画像データａｔｔ−Ｂの表示アドレスの範囲において、ソース画像データのエンドアドレスｈｅとソース画像データａｔｔ４のエンドアドレスｈｅとの比較を行い、ソース画像データａｔｔ−Ｂの方がソース画像データａｔｔ−Ａより大きいエンドアドレスｈｓであれば、重なり部分の終端アドレスをソース画像データａｔｔ−Ａのエンドアドレスｈｅの数値とし、一方、ソース画像データａｔｔ−Ｂの方がソース画像データａｔｔ−Ａより小さいエンドアドレスｈｅであれば、重なり部分の終端アドレスをソース画像データａｔｔ−Ｂのエンドアドレスｈｅの数値とする。
これにより、アトリビュート変換回路３ｍは、上記開始アドレスと上記終端アドレスとで示される領域を重なり部分として検出する。
そして、アトリビュート変換回路３ｍは、上記重なり部分を、ソース画像データａｔｔ−Ｂの新たな分割画像データとする。
これにより、アトリビュート変換回路３ｍは、上記重なり部分の領域を、ソース画像データａｔｔ−Ｂの新たな分割画像データとし、新たな部分画像データの生成された表示アドレスの範囲のみを、ＴＭＰメモリ３ｏ内のテーブル３２へ格納する。
したがって、このとき、ＴＭＰメモリ内のテーブル３２には、ソース画像データａｔｔ−Ｂの新たな分割画像データの表示アドレス（スタートアドレスｈｓ及びエンドアドレスｈｅ）のみが記憶されている。
【００４１】
すなわち、アトリビュートコントローラ２ｋが各分割画像データを表示バッファ２Ｅ（または表示バッファ２ｆ）に転送するとき、アトリビュート変換回路３ｍは、ＴＭＰメモリ３ｏのテーブル３１における表示アドレスの再構成を行う（再分割を行う）ソース画像データａｔｔ−Ｂと、このソース画像データａｔｔ−Ｂより表示優先度の高いソース画像データａｔｔ−Ａとの重なり部分を、新たなソース画像データａｔｔ−Ｂの分割画像データとすることにより、ソース画像データａｔｔ−Ｂの再分割、すなわちソース画像データａｔｔ−Ｂの部分画像データに対して表示アドレスの再構成を行う。
また、アトリビュート変換回路３ｍは、ＴＭＰメモリ３ｏ内のテーブル３１において、ソース画像データａｔｔ−Ｂの新たな分割画像データの表示アドレスに対応する領域を、ソース画像データａｔｔ−Ｂの画素データの領域とする。
すなわち、アトリビュート変換回路３ｍは、ＴＭＰメモリ３ｏ内のテーブル３１の部分画像データの表示アドレス，及び各ソース画像データの表示アドレスにおいて検出された、ソース画像データａｔｔ−Ａにおけるソース画像データａｔｔ−Ｂとの重なり部分を、ＴＭＰメモリ３ｏ内のテーブル３１におけるソース画像データａｔｔ−Ｂの新たな分割画像データの領域とする。
これにより、ＴＭＰメモリ３ｏ内のテーブル３１においては、ソース画像データａｔｔ−Ｂの全ての表示アドレスの領域が示され、ソース画像データａｔｔ−Ｂと重なっていないソース画像データａｔｔ−Ａの領域が新たに分割画像データとして残り、他の分割画像データの表示アドレスに対する範囲の変更は無い。
次に、アトリビュートコントローラ２ｋが、バッファ２ｅ（または２ｆ）に画素データを転送するため、ＴＭＰメモリ３ｏのテーブル３２に格納されている再分割により生成された表示アドレスに対応して、画像メモリ２ａから画素データを読み出しているとき、アトリビュート変換回路３ｍは、テーブル３１において、次に再分割を行うソース画像データａｔｔ−Ｃより表示優先度の高いソース画像データａｔｔ−Ａ，ａｔｔ−Ｂの分割画像データの表示アドレスの範囲と、再分割を行うソース画像データａｔｔ−Ｃとの重なり部分を検出し、上述したソース画像データａｔｔ−Ｂの再分割処理と同様に各ソース画像データａｔｔ−Ｃの再分割処理を行う。
【００４２】
このバッファ２ｅ（または２ｆ）に画素データを転送するとき、水平カウンタ２ｎは、テーブル３２の表示アドレスの範囲内においてカウント動作を行う。
すなわち、アトリビュートコントローラ２ｋは、新たに生成された分割画像データの表示アドレスの範囲のみの画素データを、バッファ２ｅ（または２ｆ）へ対しての書き込み処理を行うこととなり、マークメモリにおけるマークデータの書かれていない全ての画素データを、画像メモリ２ａから読み出すわけではないので、読み出し時間を短縮することができる。
したがって、アトリビュートコントローラ２ｋは、第１の実施形態と同様に表示アドレスに対応して画像メモリ２ａから画素データの読み出し処理を行うが、再分割処理により順次変更されるＴＭＰメモリ３ｏの各テーブルに基づいた読み出しを行うため、実質的に、表示バッファ２ｅ（または表示バッファ２ｆ）に対して、再分割して新たに生成される分割画像データの上部にあるソース画像データの透過色の領域に、再分割されたソース画像データの分割画像データの画素データを書き込む制御を行うこととなる。
【００４３】
すなわち、アトリビュート変換回路３ｍは、順次、再分割の処理を行うとき、再分割の対象となるソース画像データを、ＴＭＰメモリ３ｏ内に最初に生成したテーブル３１の中で、２番目に高い表示優先度のソース画像データから順番に選択し、再分割するソース画像データとする。
そして、アトリビュート変換回路３ｍは、ＴＭＰメモリ３ｏにおける最初に作成された、表示優先度に対応して生成された各分割画像データの表示バッファが記載されたテーブル３１に基づき、選択された再分割するソース画像データの表示アドレスと、この再分割するソース画像データより表示優先度の高いソース画像データの表示アドレスとを比較して、選択された再分割するソース画像データの表示アドレスと、この再分割するソース画像データより表示優先度の高いソース画像データとの重なり部分の領域を検出する。
第２の実施形態において、アトリビュートコントローラ２ｋ及びアトリビュート変換回路３ｍは、ディスプレイ２ｄの対応する垂直ポインタＶの指し示す走査線に存在するソース画像データにおいて、すなわち、この走査線に存在しないソース画像データに対する処理を行わずに、上述したソース画像データの再分割処理を、アトリビュートメモリ２ｉにおける各ソース画像データの表示アドレスに基づき、ディスプレイ２ｄに表示される走査線毎に、すなわちＴＭＰメモリ３ｏのテーブル３１に存在する最も低い表示優先度のソース画像データの処理が終了するまで、高い表示優先度のソース画像データ毎に順次行う。
【００４４】
次に、図１〜図９を参照し、第２の実施形態の動作例を説明する。ここで、図１の画像メモリ２ａには、図６に示すソース画像データａｔｔ−Ａ，ａｔｔ−Ｂ及びａｔｔ−Ｃが記憶されており、アトリビュートメモリ２ｉには図５の画像を合成するアトリビュートデータが格納されているとする。
アトリビュートメモリ２ｉには、第１の実施形態の画像処理装置と同様に、ディスプレイ２ｄに供給される垂直同期信号が入力され、垂直カウンタ２ｈが出力する垂直ポインタｖがインクリメントされる毎に、ディスプレイ２ｄの１フレームに画像表示される合成画像を形成するデータ、すなわち、画像の合成に使用する各ソース画像データの画像メモリにおけるソースアドレス，ディスプレイ２ｄ（画像表示装置）の画面上における表示位置を示す表示アドレス，表示優先度などを含むアトリビュートデータなどが格納される。
また、表示優先度は、ソース画像データａｔｔ−Ａが最も高く、ソース画像データａｔｔ−Ｃが最も低いとする。このとき、図３のプライオリティエンコーダ４ｌにおいては、ソース画像データａｔｔ−Ａ，ａｔｔ−Ｂ及びａｔｔ−Ｃに対応する水平表示判断回路の出力が各々端子Ｔ４，Ｔ３及びＴ２に入力され、端子Ｔ１及び端子Ｔ０には「Ｈ」レベルの電圧が入力されている。
【００４５】
アトリビュートメモリ２ｉには、ディスプレイ２ｄから垂直同期信号が入力されると、表示画面に次に表示される図５に示す画像のアトリビュートデータが転送され、格納される。
そして、垂直カウンタ２ｈは、走査信号が入力される毎に、インクリメントして計数値をアトリビュートコントローラ２ｋへ出力する。
これにより、アトリビュートコントローラ２ｋは、素直カウンタ２ｈからの計数値から求められる表示画面上の垂直ポインタｖの値が、各ソース画像データの垂直方向の領域を示すスタートアドレスからエンドアドレスまでの範囲内にあるか否かの判定を行う。
ここで、アトリビュートコントローラ２ｋは、垂直ポインタｖがソース画像アドレスのスタートアドレスｖ０となると、すなわち、垂直ポインタｖの値がアドレスｖ０となると、ソース画像データａｔｔ−Ｂのデータ領域の範囲となったことを検出する。
【００４６】
これにより、アトリビュートコントローラ２ｋは、アトリビュート変換回路２ｍに対して、検出信号ｖｖｌｄを出力する。
そして、アトリビュート変換回路３ｍは、検出信号ｖｖｌｄの入力処理により、分割処理を開始するが、アトリビュートデータに基づき、ソース画像データａｔｔ−Ｂが他のソース画像データと重なり合っていないことを検出し、ソース画像アドレスａｔｔ−Ｂの分割を行わない。
次に、アトリビュートコントローラ２ｋは、ソースアドレス算出回路２ｌに対して、表示画像データのアドレス領域を、ＴＭＰメモリ３ｏのテーブル３１に示される、ディスプレイ２ｄにおける表示位置を示す表示アドレスから、画像メモリ２ａにおける記憶位置を示すソースアドレスへ変換する処理を指示する。
そして、ソースアドレス算出回路２ｌは、アトリビュートデータにおけるソース画像データＡｔｔ−Ｂの、表示アドレスとソースアドレスとの関係に基づき、表示アドレスのアドレスｖ０（図５）を、ソースアドレスのアドレスｙ２（図６）に変換し、かつ、水平ポインタｈの示す水平方向の表示アドレスのアドレスｈ１を、ソースアドレスのアドレスｘ０に変換する。
【００４７】
また、透過色検出回路２ｒは、アトリビュートコントローラ２ｋが上記ソースアドレスに基づき、画像メモリ２ａから順次読み出される、垂直ポインタｙ２におけるスタートアドレスｘ０からエンドアドレスｘ２までの画素データを、透過色か否かの検出を行う。
ここで、透過色検出回路２ｒは、スタートアドレスｘ０からエンドアドレスｘ２までの画素データが全て透過色であるので、アトリビュートコントローラ２ｋ内のマークメモリにマークデータを書き込まない。
したがって、アトリビュートコントローラ２ｋは、ポインタｖ０に対応する走査線のドットに表示する画素データが無いことを検出し、画像メモリ２ａから読み出したスタートアドレスｘ０からエンドアドレスｘ２までの画素データを、表示バッファ２ｅに書き込まない（ポインタｖの示すｖ０は偶数アドレスの走査線であるため）。
【００４８】
次に、垂直カウンタ２ｈが走査信号の入力により順次インクリメントされ、計数値の垂直ポインタｖがアドレスｖ２３の位置の奇数アドレスの走査線となったとする。
アトリビュート変換回路３ｍは、このアドレスｖ２３の位置において、アトリビュートメモリ２ｉのデータから、ソース画像データａｔｔ−Ａ，ａｔｔ−Ｂ及びａｔｔ−Ｃの画像が全て重なり合っていることを検出する。
このため、アトリビュート変換回路３ｍは、上記各ソース画像データの重なり合った部分の分割を行う。
アトリビュート変換回路３ｍは、図７において示すように、表示優先度を考慮して、ソース画像データａｔｔ−Ａを分割せず、ソース画像データａｔｔ−Ｂをソース画像データａｔｔ−Ａにより、分割画像データａｔｔ−Ｂ１及び分割画像データａｔｔ−Ｂ２へ２分割し、同様に、ソース画像データａｔｔ−Ｃをソース画像データａｔｔ−Ｂにより、分割画像データａｔｔ−Ｃ１及び分割画像データａｔｔ−Ｃ２へ２分割する。
ここで、図７〜図９において、白抜きの長方形で示されている領域が画像表示（描画）されるドット（画素データが透過色でない）の部分を示し、実線で示されている領域が画像表示されないドット（画素データが透過色である）の部分を示している。
【００４９】
そして、図７に示す様に、アトリビュート変換回路３ｍは、ディスプレイ２ｄのアドレスｖ２３の位置の奇数アドレスの走査線に表示される分割画像データａｔｔ−Ｂ１，分割画像データａｔｔ−Ｂ２，分割画像データａｔｔ−Ｃ１及び分割画像データａｔｔ−Ｃ２各々の分割後のスタートアドレスｈｓ及びエンドアドレスｈｅを求め、この結果をＴＭＰメモリ３ｏ内のテーブル３１へ格納する。
例えば、アトリビュート変換回路３ｍは、分割画像データａｔｔ−Ｂ１の範囲を示すスタートアドレスｈｓ及びエンドアドレスｈｅを、スタートアドレスｈ１及びエンドアドレスｈ２−１とし、分割画像データａｔｔ−Ｂ２の水平方向の範囲を示すスタートアドレス及びエンドアドレスを、スタートアドレスｈ３及びエンドアドレスｈ４として上記テーブル３１へ格納する。
また、アトリビュート変換回路３ｍは、分割画像データａｔｔ−Ｃ１の範囲を示すスタートアドレスｈｓ及びエンドアドレスｈｅを、スタートアドレスｈ０及びエンドアドレスｈ１−１とし、分割画像データａｔｔ−Ｃ２の範囲を示すスタートアドレスｈｓ及びエンドアドレスｈｅを、スタートアドレスｈ４及びエンドアドレスｈ５−１としてテーブル３１へ格納する。
【００５０】
そして、ソースアドレス算出回路２ｌは、ＴＭＰメモリ３ｏ内のテーブル３１に記憶されている、分割後の各分割画像データの範囲を示すスタートアドレスｈ１及びエンドアドレスｈ２−１から、アトリビュートデータに基づき、分割画像データａｔｔ−Ｂ１の画像メモリ２ａにおける水平方向の範囲を示すスタートアドレスｘｓ及びエンドアドレスｘｅを、各々スタートアドレスｘ０，エンドアドレス（ｘ０＋ｈ２−１−ｈ１）と演算する。
また、ソースアドレス算出回路２ｌは、分割後の各分割画像データの範囲を示すスタートアドレスｈ３及びエンドアドレスｈ４から、アトリビュートデータに基づき、分割画像データａｔｔ−Ｂ２の画像メモリ２ａにおける水平方向の範囲を示すスタートアドレス及びエンドアドレスを、各々スタートアドレス（ｘ０＋ｈ３−ｈ１），エンドアドレス（ｘ０＋ｈ４−ｈ１）と演算する。
同様に、ソースアドレス算出回路２ｌは、分割画像データａｔｔ−Ｂ１及び分割画像データａｔｔ−Ｂ２の画像メモリ２ａでの範囲を示すスタートアドレスｈｓ及びエンドアドレスｈｅを、各々スタートアドレスｘ０，エンドアドレス（ｘ０＋ｈ１−１−ｈ０）及びスタートアドレス（ｘ０＋ｈ４−ｈ０），エンドアドレス（ｘ０＋ｈ５−１−ｈ０）と演算する。
【００５１】
また、ソースアドレス算出回路２ｌは、ソース画像データａｔｔ−Ａ及び分割後の各分割画像データの垂直ポインタの示すアドレスｖ２３から、アトリビュートデータに基づき、ソース画像データａｔｔ−Ａ及び分割後の上記各分割画像データの画像メモリ２ａにおける垂直方向のアドレスを求める。
例えば、ソースアドレス算出回路２ｌは、ソース画像データａｔｔ−Ａの垂直方向のアドレスｖ２３に対応する垂直方向のアドレスをアドレス（ｙ０＋ｖ２３−ｖ２）と演算し、同様に、分割画像データａｔｔ−Ｂ１，分割画像データａｔｔ−Ｂ２のアドレスｖ２３に対応するアドレスをアドレス（ｙ２＋Ｖ２３−ｖ０）と演算し、分割画像データａｔｔ−Ｃ１及び分割画像データａｔｔ−Ｃ２のアドレスｖ２３に対応する垂直方向のアドレスをアドレス（ｙ４＋Ｖ２３−ｖ１）と演算する。
【００５２】
そして、アトリビュートコントローラ２ｋは、この時点で、より高い表示優先度を有する画像データと重ならない分割画像データａｔｔ−Ｃ１，ａｔｔ−Ｂ１，ａｔｔ−Ｂ２，ａｔｔ−Ｃ２と、ソース画像データａｔｔ−Ａの各々のアドレスｖ２３及びポインタｈとで選択されるドットの画素データを、水平カウンタ２ｎがポインタｈ（水平ポインタｈ）の値をインクリメントする毎に画像メモリ２ａから読み出す。
このとき、透過色検出回路２ｒは、読み出した分割画像データにおける各ドットの画素データが透過色か否かの判定を行う。
そして、透過色検出回路２ｒは、アトリビュートコントローラ２ｋの読み出した画素データにおいて、透過色でない画像データのドットが分割画像データａｔｔ−Ｃ１のアドレスｈ０１〜アドレスｈ１−１までのドットの画素データと、ソース画像データａｔｔ−Ａのアドレスｈ２３〜アドレスｈ２４−１までのドットの画素データとであることを検出し、マークメモリに各ドットの表示アドレスに対応させマークデータを書き込む。
これにより、アトリビュートコントローラ２ｋは、表示バッファ２ｆに対して、垂直ポインタｖ２３の位置における分割画像データａｔｔ−Ｃ１の水平方向のアドレスｈ０１〜アドレスｈ１−１までのドットの画素データと、ソース画像データａｔｔ−Ａの水平方向のアドレスｈ２３〜アドレスｈ２４−１までのドットの画素データとを書き込む。
【００５３】
また、このとき、アトリビュート変換回路３ｍは、テーブル３１の表示アドレスに対応して、アトリビュートコントローラ２ｋが画素データを画像メモリ２ａから読み出すとき、テーブル３１のなかで２番目に表示優先度の高いソース画像データ、すなわちソース画像データａｔｔ−Ｂを、再分割するソース画像データとして選択する。
そして、アトリビュート変換回路３ｍは、この選択されたソース画像データａｔｔ−Ｂと重なり合う、このソース画像データａｔｔ−Ｂより表示優先度の高いソース画像データａｔｔ−Ａの領域を検出し、この重なり合う領域を、ソース画像データａｔｔ−Ｂの新たな分割画像データとすることで再分割を行う。
これにより、アトリビュート変換回路３ｍは、再分割後のソース画像データａｔｔ−Ｂの新たな分割画像データの表示アドレスの範囲（スタートアドレスｈｓとエンドアドレスｈｅとの範囲）を、ＴＭＰメモリ３ｏ内のテーブル３２へ書き込む（格納する）。
このとき、アトリビュート変換回路３ｍは、テーブル３１において２番目に表示優先度の高いソース画像データａｔｔ−Ｂの表示範囲、すなわちスタートアドレスｈ１〜エンドアドレスｈ４−１の範囲で、ソース画像データａｔｔ−Ｂより表示優先度の高いソース画像データａｔｔ−Ａの領域の検出を開始する。
ここで、アトリビュート変換回路３ｍは、ソース画像データａｔｔ−Ａの表示アドレスの範囲が上述したソース画像データａｔｔ−Ｂの表示アドレスの領域に含まれていることを検出する。
すなわち、アトリビュート変換回路３ｍは、ソース画像データａｔｔ−Ａのスタートアドレスｈ２がソース画像データａｔｔ−Ｂのスタートアドレスｈ１より大きく、ソース画像データａｔｔ−Ａのエンドアドレスｈ３−１がソース画像データａｔｔ−Ｂのエンドアドレスｈ４−１より小さいことを検出する。
これにより、アトリビュート変換回路３ｍは、ソース画像データａｔｔ−Ａとソース画像データａｔｔ−Ｂとの重なり部分のアドレスｈ２からアドレスｈ３−１までの領域を、ソース画像データａｔｔ−Ｂの新たな分割画像データａｔｔ−Ｂ３とする。
そして、アトリビュート変換回路３ｍは、ソース画像データａｔｔ−Ｂの新たな分割画像データとして、表示アドレスの範囲がスタートアドレスｈ２〜エンドアドレスｈ３−１の分割画像データａｔｔ−Ｂ３を生成し、この表示アドレスの範囲をＴＭＰメモリ３ｏ内のテーブル３２に書き込む。
このとき、アトリビュート変換回路３ｍは、図８に示すように、ＴＭＰメモリ３ｏ内のテーブル３１における各分割画像データの表示アドレスの範囲において、ソース画像データａｔｔ−Ａがソース画像データａｔｔ−Ｂと重なっている部分（分割画像データａｔｔ−Ｂ３の表示アドレス範囲）を、分割画像データａｔｔ−Ｂ３と置換する（分割画像データａｔｔ−Ｂ３の領域を上書きする）。
これにより、実質的に、図８に示す上記テーブル３１には、ソース画像データａｔｔ−Ｂ（分割画像データａｔｔ−Ｂ１，ａｔｔ−Ｂ２，ａｔｔ−Ｂ３の表示アドレスの範囲が加算されたもの）の表示アドレスの範囲と、分割画像ａｔｔ−Ｃ１及び分割画像データａｃｃ−Ｃ２の表示アドレスの範囲とが記憶されている。
【００５４】
次に、アトリビュートコントローラ２ｋは、図８に示すマークメモリの状態において、マークデータが書き込まれていない水平ポインタｈのアドレスがあることを検出し、マークデータの書き込まれていないアドレスに対応する表示バッファ２ｆのアドレスに、画素データを書き込む処理を開始する。
そして、アトリビュートコントローラ２ｋは、テーブル３２に書き込まれている分割画像データａｔｔ−Ｂ３の表示アドレスの範囲の画素データを、テーブル３２の表示アドレスの範囲、すなわち分割画像データａｔｔ−Ｂ３の表示アドレスの範囲（スタートアドレスｈ２〜エンドアドレスｈ３−１まで）において、水平カウンタ２ｎの出力するポインタｈに対応する表示アドレス毎に、画像メモリ２ａから読み出す。
このとき、水平カウンタ２ｎは、テーブル３２の分割画像データａｔｔ−Ｂ３の表示アドレスの範囲内、すなわちスタートアドレスｈ２〜エンドアドレスｈ３−１の範囲においてカウント動作を行う。
そして、アトリビュートコントローラ２ｋは、マークメモリにマークデータが記載されていない表示アドレスを検出する毎に、ソースアドレス算出回路２ｌがこのテーブル３２の表示アドレスから変換したソースアドレスに基づき、このソースアドレスに対応するドットの画素データを画像メモリ２ａから読み出し、この画素データを表示バッファ２ｆの上記表示アドレスに対応するアドレスに書き込む処理を行う。
【００５５】
このとき、アトリビュートコントローラ２ｋは、上記ドットの画素データが画像メモリ２ａから読み出される毎に、透過色検出回路２ｒにより、この読み出された画素データが透過色か否かの判定を行い、透過色でないと判定された画素データのみを、表示バッファ２ｆの上記表示アドレスに対応するアドレスに書き込む。
また、アトリビュートコントローラ２ｋは、マークメモリに対して、画素データが書き込まれた表示バッファ２ｆのアドレスに対応するアドレスにマークデータを書き込む。
これにより、アトリビュートコントローラ２ｋは、変更されたマークメモリのマークデータのアドレス、すなわち、垂直ポインタｖの示すアドレスｖ２３の位置におけるソース画像データａｔｔ−Ｂのアドレスｈ２２〜アドレスｈ２３−１までのドットの画素データを表示バッファ２ｆの対応する位置に書き込む。
【００５６】
また、このとき、アトリビュート変換回路３ｍは、アトリビュートコントローラ２ｋが画素データを画像メモリ２ａから読み出しを行っているとき、テーブル３１において再分割を行う３番目に表示優先度の高いソース画像データ、すなわちソース画像データａｔｔ−Ｃの画素データと重なり合う、ソース画像データａｔｔ−Ｃより表示優先度の高いソース画像データａｔｔ−Ａ，ａｔｔ−Ｂの領域（実際にはソース画像データａｔｔ−Ｂのみ）を、ソース画像データａｔｔ−Ｃの新たな分割画像データの領域に変更し、ソース画像データａｔｔ−Ｃの再分割を行い、再分割後の新たな分割画像データａｔｔ−Ｃ３の表示アドレスの範囲をスタートアドレスｈ１１〜エンドアドレスｈ４−１として、ＴＭＰメモリ３ｏ内のテーブル３３へ書き込む。
すなわち、アトリビュート変換回路３ｍは、テーブル３１において、３番目に表示優先度の高いソース画像データａｔｔ−Ｃの表示アドレスの範囲のスタートアドレスｈ０〜エンドアドレスｈ５−１のあいだにある、ソース画像データａｔｔ−Ｃより表示優先度の高いソース画像データａｔｔ−Ａ，ａｔｔ−Ｂまたはこれらの分割画像データの領域の検出を開始する。
ここで、アトリビュート変換回路３ｍは、上述したソース画像データａｔｔ−Ｂの再分割のときと同様に、ソース画像データａｔｔ−Ｂがソース画像データａｔｔ−Ｃの表示バッファの範囲（アドレスｈ１１〜アドレスｈ４−１の範囲）にあることを検出し（重なり合う部分を検出し）、この重なり部分の領域を、ソース画像データａｔｔ−Ｃの新たな分割画像データａｔｔ−Ｃ３の表示アドレスの範囲とする。
そして、アトリビュート変換回路３ｍは、図９に示すように、ＴＭＰメモリ３ｏ内のテーブル３１における各分割画像データの表示アドレスの範囲において、ソース画像データａｔｔ−Ｂがソース画像データａｔｔ−Ｃと重なっている部分（分割画像データａｔｔ−Ｃ３の表示アドレス範囲）を、分割画像データａｔｔ−Ｃ３と置換する（分割画像データａｔｔ−Ｃ３の領域を上書きする）。
これにより、実質的に、図９に示す上記テーブル３１には、ソース画像データａｔｔ−Ｃ（分割画像データａｔｔ−Ｃ１，ａｔｔ−Ｃ２，ａｔｔ−Ｃ３の表示アドレスの範囲が加算されたもの）の表示アドレスの範囲のみが記憶されている。
【００５７】
次に、アトリビュートコントローラ２kは、図９に示すマークメモリの状態において、マークデータが書き込まれていない水平ポインタｈのアドレスがあることを検出し、マークデータの書き込まれていないアドレスに対応する表示バッファ２ｆのアドレスに、画素データを書き込む処理を開始する。
そして、アトリビュートコントローラ２ｋは、テーブル３３に書き込まれている分割画像データの画素データを、水平カウンタ２ｎの出力するポインタｈに対応する表示アドレス毎に読み出す。
このとき、水平カウンタ２ｎは、テーブル３２の分割画像データatt-C3の表示アドレスの範囲内、すなわちスタートアドレスh11〜エンドアドレスh4−1の範囲においてカウント動作を行う。
そして、アトリビュートコントローラ２kは、マークメモリにマークデータが記載されていない表示アドレスを検出する毎に、ソースアドレス算出回路２lがこの表示アドレスから変換したソースアドレスに基づき、このソースアドレスに対応するドットの画素データを画像メモリ２aから読み出し、この画素データを表示バッファ２ｆの上記表示アドレスに対応するアドレスに書き込む処理を行う。
【００５８】
このとき、アトリビュートコントローラ２ｋは、上記ドットの画素データが画像メモリ２ａから読み出される毎に、透過色検出回路２ｒにより、この読み出された画素データが透過色か否かの判定を行い、透過色でないと判定された画素データのみを、表示バッファ２ｆの上記表示アドレスに対応するアドレスに書き込む。
また、アトリビュートコントローラ２ｋは、マークメモリに対して、画素データが書き込まれた表示バッファ２ｆのアドレスに対応するアドレスにマークデータを書き込む。
これにより、アトリビュートコントローラ２ｋは、変更されたマークメモリのマークデータのアドレス、すなわち、垂直ポインタｖの示すアドレスｖ２３の位置における部分画像データａｔｔ−Ｃ１のアドレスｈ１〜アドレス１１−１，アドレスｈ２１〜アドレスｈ２２−１，アドレスｈ２４〜アドレスｈ２５−１の各範囲のドットの画素データを表示バッファ２ｆの対応する位置に書き込む。
【００５９】
また、このとき、アトリビュート変換回路３ｍは、テーブル３１においてソース画素データが最も低い表示優先度であることを検出することにより、アトリビュートコントローラ２ｋが画素データを画像メモリ２ａから読み出すとき、テーブル３２のなかで再分割するソース画像データが無いため、ソース画像データａｔｔ−Ａ，ａｔｔ−Ｂ，ａｔｔ−Ｃの領域の抽出を行わない。
また、最も表示優先度の低いソース画像データに達しない場合でも、マークメモリの全てのアドレスにデータが書き込まれれば、アトリビュートコントローラ２ｋは、表示バッファ２ｆに対する画素データの書き込みを終了する。
そして、垂直カウンタ２ｈは、ディスプレイ２ｄから次の走査信号が入力されると、インクリメントされ、計数結果として、ディスプレイ２ｄの表示画面上の走査信号の出力される走査線の位置を示す垂直ポインタｖをＶ２３＋１として出力する。
これにより、アトリビュートコントローラ２ｋは、次の走査線の画素データの書き込みを表示バッファ２ｅに対して行う。
そして、本願発明の画像処理装置は、上述した処理を繰り返すことにより、ディスプレイ２ｄに、画像メモリ２ａに記憶されているソース画像データを重ね合わせた画像の表示を行う。
【００６０】
上述したように、第２の実施形態によるアトリビュートコントローラ２ｋは、複数のソース画像データを合成して画像を生成するときに、各走査線毎において、テーブル３１の各分割画像データの表示アドレスに対応して、画像メモリ２ａから画素データを読み出し、表示バッファにこのがぞデータの書き込みを行うとき、アトリビュートメモリ２ｉで２番目に表示優先度の高いソース画像データから順に、複数のソース画像データのなかから再分割するソース画像データを選択し、この再分割する画像データと、このソース画像データより高い表示優先度を有するソース画像データとの重なり部分を検出し、この重なり部分を再分割するソース画像データの新たな分割画像データとして、再分割処理を行い、順次ＴＭＰメモリ３ｏ内の各テーブルに書き込んでいくことにより、複数のソース画像データの合成により生じる重なり部分において、上部の（表示優先度の高い）ソース画像データの画素データが透過色である場合、このドットの画素データを表示バッファ２ｅまたは表示バッファ２ｆに転送する処理を、マークメモリのマークデータ及び上記各テーブルの表示アドレスに基づき行うため、画像メモリ２ａから必要以上の画素データを読むことなく、下部にあるソース画像データの透過色でない画素データを、表示バッファ２ｅ（または２ｆ）に対して書き込みことが可能なため、従来の様に表示バッファにおける画素データの重ね書きを防止することで、画像メモリ２ａに対する不必要なアクセスを削減し、画像メモリ２ａから画素データを読み出す回数を減少させることができ、ソース画像データの合成にかかる時間を削減することができる。
【００６１】
なお、上述の第２の実施形態の構成においても、第１の実施形態と同様に、アトリビュートコントローラ２ｋにおけるマークラムに対するアクセス速度と、表示バッファ２ｅ及び２ｆに対するアクセス速度とが同様であると、すでにマークメモリに書き込まれているマークデータの書き込まれたドットのアドレスを確認する時間と、表示バッファ２ｅ及び２ｆに画素データを書き込む時間とが重なるため、マークメモリへのアクセスタイムを表示バッファ２ｅ及び２ｆに対するアクセスタイムに対して高速化し、マークメモリにおいてマークデータが連続して書き込まれている領域をスキップして検出することが必要である。
【００６２】
以上の動作を垂直カウンタの値が表示アドレスの垂直ポインタｖの取りうる範囲、すなわち表示画面の走査線数分を繰り返し、すべての走査線の描画を完了することで１画面（１フレーム）の画像が構成される。
なお、上述した第２の実施形態では、説明のために、ソース画像データの数を４及び３として説明したが、同様の回路をソースデータの数だけ用意することで、合成に使用するソース画像データの数を適時増加させることが可能である。
また、１走査線の時間内にソース画像データの分割処理と描画（表示メモリへの書き込み）とを同時に完了する様にしているが、さらに１走査線分のディレイ、及びＴＭＰメモリ２ｏと同容量のＴＭＰメモリを設けることで、ソース画像データの分割処理をディ示プレイ２ｄへの表示の２走査線分前に行い、描画を１走査線分前のタイミングで行うようにしても良い。
上述したように、図２の表示画面に表示される画像を合成するソース画像データにおいて、斜線で示す重なり領域に関して、表示優先度が低いソース画像データの画像メモリ２ａに対するアクセスは、上部にあるソース画像データが透過色の画素データを有する以外には行われず、表示バッファに対するアクセスは、画素データが書き込まれたアドレスに対して、マークメモリのマークデータが検出されることでスキップされ、以降行われないために重ね書きによる無駄なアクセスが生じず、ソース画像データの合成にかかる時間を削減することができる。
【００６３】
また、上述した第２の実施形態では、説明のために、画像メモリ２ａにおけるソース画像データのサイズと、表示画面に画像表示される画像のサイズとを同一として説明を行っている。
しかしながら、第１の実施形態と同様に、第２の実施形態の画像処理装置は、水平方向及び垂直方向の寸法の拡大または縮小が行われ、画像メモリ２ａにおけるソース画像データのサイズと、表示バッファ２ｅ及び２ｆに転送されるソース画像データ（表示画面に表示される画像）のサイズが異なる場合にも、各サイズの比率に基づき、表示画面におけるソース画像データの表示領域と画像メモリ２ａのアドレスとから、必要となるソース画像データの画像メモリ２ａにおけるアドレスを算出することが可能である。このため、本願発明の画像処理装置は、水平方向及び垂直方向またはいずれかの拡大及び縮小機能を有した画像処理装置に対しても応用することが可能である。
【００６４】
また、第２の実施形態による画像処理装置は、複数のソース画像データを合成して画像を生成するとき、各ソース画像データの重なりあった部分に基づき、アトリビュート変換回路２ｍがソース画像データを分割及び再分割してＴＭＰメモリ３oの各テーブルに書き込んだ各々の分割画像データの表示アドレスにより、表示バッファ２eまたは２fに書き込んでいくため、再分割された分割画像データの表示アドレスの範囲のみのドットの画素データを、画像メモリ２ａから読み出して表示バッファに書き込むこととなり、画像メモリ２a及び表示バッファに対するアクセス回数を削減することができ、画像表示される画像を合成により生成する速度を高速化することが可能である。
これにより、第２の実施形態による画像処理装置は、３つのソース画像データデータatt-A，att-B及びatt-Cにおいて、表示優先度の低いソース画像データから順に、画素データを表示バッファ１cに重ね書きしていく従来の手法と同様の画像が得られるとともに、重ね書きした場合に消えてしまう下部のドットのデータの読み出しを画像メモリ２aから読み出すことが無く、無駄なアクセス時間（アクセス回数）を削減し、画像の合成処理を高速化する効果がある。
さらに、第２の実施形態による画像処理装置は、表示優先度の高いソース画像データにおけるドットの画素データが透過色である場合、順次、このドットの下部に位置する次に表示優先度の高いソース画像データのドットの画像データを表示バッファ２e，２fに書き込むため、ソース画像データatt-A，att-B及びatt-Cの重ね合わせにおいて、使用者が特に意識することなく、透過色の表示優先度の高いソース画像データの下部にあるソース画像データの画素データを削除すること無く表示することが可能となり、背景に対するキャラクタの合成画像などが容易に合成できる効果がある。
【００６５】
以上、本発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等があっても本発明に含まれる。
例えば、第１及び第２の実施形態における表示バッファ２ｅ及び２ｆに代え、表示画面に表示される１フレームの合成画像の全ての画素データを格納できるフレームメモリを設け、重なりあうソース画像データの部分の処理を行いつつ画像メモリ２ａから画素データを読み込み、表示する合成画像をこのフレームメモリ上に生成する構成を第３の実施形態とする。このとき、生成された合成画像は、水平同期信号が入力される毎にディスプレイ２ｄへ出力される。
この第３の実施形態において、フレームメモリへのデータの書き込み以外の動作は、上述した第１及び第２の実施形態の画像処理装置と同様である。
この第３の実施形態によれば、第１及び第２の実施形態と同様の効果が得られる。
【００６６】
【発明の効果】
本発明の画像処理装置によれば、表示優先度の高いソース画像データにおけるドットの画素データが透過色である場合、このドットの下部に位置する次に表示優先度の高いソース画像データのドットの画像データを表示バッファに書き込む処理を行うため、複数のソース画像データの重ね合わせにおいて、背景に対するキャラクタの合成などが容易に実現できる効果がある。
【図面の簡単な説明】
【図１】本発明の第１及び第２の実施形態による画像処理装置の構成を示すブロック図である。
【図２】表示装置に表示される画像データを示す概念図である。
【図３】図１の画像メモリ２ａに書き込まれる画像を示す概念図である。
【図４】図１におけるＴＭＰメモリ２ｏ（またはＴＭＰメモリ３ｏにおけるテーブル３１，３２，３３）の記憶フォーマットを示す図である。
【図５】表示装置に表示される画像データを示す概念図である。。
【図６】図１の画像メモリ２ａに書き込まれる画像を示す概念図である。
【図７】第１及び第２の実施形態の画像処理装置の動作例を説明する概念図である。
【図８】第１及び第２の実施形態の画像処理装置の動作例を説明する概念図である。
【図９】第１及び第２の実施形態の画像処理装置の動作例を説明する概念図である。
【図１０】従来例による画像処理装置の構成を示す概念図である。
【符号の説明】
２ａ  画像メモリ                  ２ｂ  画像メモリコントローラ
２ｃ  表示送出コントローラ        ２ｄ  ディスプレイ
２ｅ，２ｆ  表示バッファ            ２ｇ  １ラインディレイ
２ｈ  垂直カウンタ                ２ｉ  アトリビュートメモリ
２ｊ  表示バッファコントローラ    ２ｋ  アトリビュートコントローラ
２ｌ  ソースアドレス算出回路      ２ｍ，３ｍ  アトリビュート変換回路
２ｎ  水平カウンタ                ２ｏ，３ｏ  ＴＭＰメモリ
２ｒ  透過色検出回路
【図１】
0003612035.tif 000002
【図２】
0003612035.tif 000003
【図３】
0003612035.tif 000004
【図４】
0003612035.tif 000005
【図５】
0003612035.tif 000006
【図６】
0003612035.tif 000007
【図７】
0003612035.tif 000008
【図８】
0003612035.tif 000009
【図９】
0003612035.tif 000010
【図１０】
0003612035.tif 000011