(57)【特許請求の範囲】
【請求項１】
複数の層のそれぞれに対して設けられた複数のフレームバッファの画像データを読み込み、重ね合わせて表示する画像処理装置において、
前記複数のフレームバッファのそれぞれに割り当てられた第１透過属性を格納するフレームバッファ情報格納部と、
前記複数のフレームバッファのそれぞれに対応して設けられる一時透過属性保持部と、
前記複数のフレームバッファの少なくとも一のフレームバッファに対応して設けられ、前記第１透過属性とは独立の第２透過属性が割り当てられたメモリアクセスマスク領域のマスク情報を格納するマスク情報格納部と、
前記マスク情報内のマスク領域を示す情報を参照して、画像データが、前記メモリアクセスマスク領域内にあるか否かを判定するマスク領域内外判定部と、を有し、
前記画像データが前記メモリアクセスマスク領域内にあると判定された場合には、前記メモリアクセスマスク領域に割り当てられた前記第２透過属性を前記一時透過属性保持部に保持し、前記画像データが前記メモリアクセスマスク領域内にないと判定された場合には、前記フレームバッファに対応する前記フレームバッファ情報格納部に格納された前記第１透過属性を前記一時透過属性保持部に保持し、更に、
前記一時透過属性保持部に保持された前記第１透過属性または前記第２透過属性に基づいて、前記対応するフレームバッファから画像データを読み込む画像データ読み込み部と、
前記一時透過属性保持部に保持された前記第１透過属性または前記第２透過属性に基づいて重ね合わせ処理を行う重ね合わせ処理部と、
を有することを特徴とする画像処理装置。
【請求項２】
前記重ね合わせ処理部は、前記画像データが前記メモリアクセスマスク領域内にあり、前記メモリアクセスマスク領域に割り当てられた前記第２透過属性が透明である場合、前記画像データ読み込み部での前記画像データの読み込みを抑止することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記重ね合わせ処理部は、前記画像データが前記メモリアクセスマスク領域内にあり、前記メモリアクセスマスク領域に割り当てられた前記第２透過属性が半透明である場合、前記画像データが属する層の下層側の前記フレームバッファにおいて対応する前記画像データとの混色処理を行うことを特徴とする請求項１記載の画像処理装置。
【請求項４】
前記重ね合わせ処理部は、前記画像データが前記メモリアクセスマスク領域内にあり、前記メモリアクセスマスク領域に割り当てられた前記第２透過属性が不透明である場合、前記画像データが属する層の下層側の前記フレームバッファにおいて、前記画像データ読み込み部での対応する前記画像データの読み込みを抑止することを特徴とする請求項１記載の画像処理装置。
【請求項５】
前記メモリアクセスマスク領域は、一の前記フレームバッファに対して複数設定され、前記マスク情報格納部は、複数設定された前記メモリアクセスマスク領域に対してそれぞれの優先度を保持することを特徴とする請求項１記載の画像処理装置。
【請求項６】
前記一のフレームバッファに対して複数設定された前記メモリアクセスマスク領域の少なくとも２つが、少なくとも部分的に重なり合い、それぞれの前記第２透過属性が異なっている場合、重なり合った部分の透過属性として、前記優先度の高い前記メモリアクセスマスク領域の前記第２透過属性が選択されること特徴とする請求項５記載の画像処理装置。
【請求項７】
複数の前記フレームバッファの重ね順を保持する重ね順保持部と、
各層における前記画像データが存在する前記フレームバッファの前記第１透過属性に応じて実効的な最下層を検出する実効最下層検出部と、を有し、
前記画像データ読み込み部は、前記最下層と判定された前記フレームバッファから上層側の前記フレームバッファの前記画像データのみ読み込むことを特徴とする請求項１記載の画像処理装置。
【請求項８】
前記実効最下層検出部は、前記重ね順を参照して、最上層から順に、前記画像データが、前記メモリアクセスマスク領域内にある場合には、前記メモリアクセスマスク領域に割り当てられた前記第２透過属性を判定し、前記メモリアクセスマスク領域外にある場合には前記フレームバッファの前記第１透過属性を判定し、前記第１透過属性または前記第２透過属性が最初に不透明であると判定された層を前記最下層とすることを特徴とする請求項７記載の画像処理装置。
【請求項９】
複数の層のそれぞれに対して設けられた複数のフレームバッファの画像データを読み込み、重ね合わせて表示する画像処理装置において、
前記複数のフレームバッファのそれぞれに割り当てられた第１透過属性を格納するフレームバッファ情報格納部と、
前記複数のフレームバッファのそれぞれに対応して設けられる一時透過属性保持部と、
前記複数のフレームバッファの少なくとも一のフレームバッファに対応して設けられ、前記第１透過属性とは独立の第２透過属性が割り当てられたメモリアクセスマスク領域のマスク情報を格納するマスク情報格納部と、
前記マスク情報内のマスク領域を示す情報を参照して、画像データが、前記メモリアクセスマスク領域内にあるか否かを判定するマスク領域内外判定部と、
前記画像データが前記メモリアクセスマスク領域内にないと判定された場合には前記フレームバッファ情報格納部に格納された前記第１透過属性に基づいて、前記画像データが前記メモリアクセスマスク領域内にあると判定された場合には前記マスク情報格納部に格納された前記第２透過属性に基づいて、対応する前記フレームバッファから画像データを読み込む画像データ読み込み部と、
前記第１透過属性または前記第２透過属性に基づいて重ね合わせ処理を行う重ね合わせ処理部と、を有し、
前記メモリアクセスマスク領域は、一の前記フレームバッファに対して複数設定され、前記マスク情報格納部は、複数設定された前記メモリアクセスマスク領域に対してそれぞれの優先度を保持し、
前記一のフレームバッファに対して複数設定された前記メモリアクセスマスク領域の少なくとも２つが、少なくとも部分的に重なり合い、それぞれの前記第２透過属性が異なっている場合、重なり合った部分の透過属性として、前記優先度の高い前記メモリアクセスマスク領域の前記第２透過属性が選択されることを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置に関し、特にそれぞれが１つの層に対応した複数のフレームバッファの画像データを読み込み、重ね合わせて表示する画像処理装置に関する。
【背景技術】
【０００２】
従来、表示装置に複数のウィンドウを重畳表示させる場合、下記の２種類に大別される方法を用いて画像を表示していた。第１の方法は、シングルバッファやダブルバッファで構成される単一層のフレームバッファに、各ウィンドウの画像の描画やコピーを行って画像に色を書き込み、その結果を読み出して表示装置に出力する方法である。パーソナルコンピュータやワークステーションのウィンドウシステム、ゲーム機が代表的である。第２の方法は、例えば、グラフィックスメモリ中に確保された複数層のフレームバッファの画像データをそれぞれ読み出して重畳し、表示装置に出力する方法である。カーナビゲーションや産業用機器などの組み込みシステムにおけるディスプレイシステムが代表的である。
【０００３】
第１の方法を代表するパーソナルコンピュータやワークステーションにおいては、単一層のフレームバッファ中に複数のウィンドウが存在する場合でも、各ウィンドウは一般的に不透明で相互に独立しているため、ウィンドウ同士が重なり合う領域を自動的に検出するだけで、上層のウィンドウの陰に隠れて見えない下層のウィンドウ画素の無駄な描画を抑止する機能を実現できた。またゲーム機においてメニューや得点などを半透明で重ねて表示する場合でも、３ＤＣＧは一般に毎フレーム再描画が必要になるため、単一層のフレームバッファにウィンドウを毎フレームコピーして合成する方法を採用しても無駄にはならなかった。
【０００４】
これに対し第２の方法を代表するカーナビゲーションにおいては、ウィンドウ中に不透明領域、透明領域、半透明領域が混在する使用例は珍しくなく、重畳された下層のフレームバッファに属するウィンドウであっても、上層から透けて見える場合があるため、下層側のウィンドウの画素でも省略せずにグラフィックスメモリから読み込む必要があった。
【０００５】
また、２Ｄ地図のようなコンテンツでは、毎フレーム再描画するのではなく、描画済み画面をスクロールさせて何フレーム分も再利用する手法が多用されていた。従って、単一層のフレームバッファにウィンドウを毎フレームコピーして合成する方法では、画面の再利用性が損なわれるため、各ウィンドウを異なる層のフレームバッファに分配し、描画やスクロールを層ごとに独立に実行し、表示装置に表示する直前に、グラフィックスＬＳＩ（Large Scale Integration circuit）側で各層を重畳混色処理する手法が採用された。
【０００６】
また、第２の方法において、各層のフレームバッファ単位あるいはウィンドウ単位で、透明、不透明、半透明のいずれかの属性あるいは透過率値を付与し、それに応じて重畳混色処理の方法を切替える手法が存在した（例えば特許文献１参照）。さらには、各層の画素単位で透明、不透明、半透明のいずれかの属性あるいは透過率値を切替え、グラデーションのように細密な重畳混色処理を行う手法も存在した（例えば特許文献２参照）。
【０００７】
しかし、ウィンドウ単位で不透明、透明、半透明のいずれかの均一な透過属性を設定する手法では、上層側に配置されるウィンドウの画像中に、例えば、不透明領域、透明領域、半透明領域が混在していた場合、半透明領域を正しく表示させるためには、ウィンドウの透過属性を半透明に設定する必要があった。この結果、上層側に配置されるウィンドウの画像中の不透明領域に関しては、その領域の画素座標に対応する下層側の画素を読み込む必要がないにも係わらず、無条件に無駄な画素の読み込みが発生していた。逆に、上層側に配置されているウィンドウ画像中の透明領域に関しては、その領域の画素座標に対応する下層側の画素のみ読み込めばよく、上層側におけるウィンドウ画像中の透明領域の画素は読み込む必要がないにも係わらず、無条件に無駄な画素の読み込みが発生するという問題があった。
【０００８】
また、画素単位で不透明、透明、半透明のいずれかの透過属性あるいは透過率値を設定する方式においては、上層側に配置されるウィンドウの画像に、不透明領域、透明領域、半透明領域がどのように分布していようとも、透過属性あるいは透過率値を、無条件に１画素ずつ逐次に判定する必要があった。この結果、上層側に配置されるウィンドウ画像中の不透明領域に関しては、その領域の画素座標に対応する下層側の画素を読み込む必要がないにも係わらず、無条件に無駄な画素の読み込みが発生していた。逆に、上層側に配置されるウィンドウ画像中の透明領域に関しては、その領域の画素座標に対応する下層側の画素のみを読み込めばよく、上層側におけるウィンドウ画像中の透明領域画素は読み込む必要がないにも係わらず、無条件に無駄な画素読み込みが発生するという問題があった。
【特許文献１】特開平４−４５４８７号公報
【特許文献２】特開平５−２２５３２８号公報
【発明の開示】
【０００９】
本発明はこのような点に鑑みてなされたものであり、グラフィックスメモリ装置への無駄なメモリアクセスを減少可能な画像処理装置を提供することを目的とする。
上記目的を達成するために、複数の層のそれぞれに対して設けられた複数のフレームバッファの画像データを読み込み、重ね合わせて表示する、以下のような画像処理装置が提供される。
【００１０】
この画像処理装置は、前記複数のフレームバッファのそれぞれに割り当てられた第１透過属性を格納するフレームバッファ情報格納部と、前記複数のフレームバッファのそれぞれに対応して設けられる一時透過属性保持部と、前記複数のフレームバッファの少なくとも一のフレームバッファに対応して設けられ、前記第１透過属性とは独立の第２透過属性が割り当てられたメモリアクセスマスク領域のマスク情報を格納するマスク情報格納部と、前記マスク情報内のマスク領域を示す情報を参照して、画像データが、前記メモリアクセスマスク領域内にあるか否かを判定するマスク領域内外判定部と、を有し、前記画像データが前記メモリアクセスマスク領域内にあると判定された場合には、前記メモリアクセスマスク領域に割り当てられた前記第２透過属性を前記一時透過属性保持部に保持し、前記画像データが前記メモリアクセスマスク領域内にないと判定された場合には、前記フレームバッファに対応する前記フレームバッファ情報格納部に格納された前記第１透過属性を前記一時透過属性保持部に保持し、更に、前記一時透過属性保持部に保持された前記第１透過属性または前記第２透過属性に基づいて、前記対応するフレームバッファから画像データを読み込む画像データ読み込み部と、前記一時透過属性保持部に保持された前記第１透過属性または前記第２透過属性に基づいて重ね合わせ処理を行う重ね合わせ処理部と、を有する。
【００１１】
また、上記目的を達成するために、複数の層のそれぞれに対して設けられた複数のフレームバッファの画像データを読み込み、重ね合わせて表示する、以下のような画像処理装置が提供される。
【００１２】
この画像処理装置は、前記複数のフレームバッファのそれぞれに割り当てられた第１透過属性を格納するフレームバッファ情報格納部と、前記複数のフレームバッファのそれぞれに対応して設けられる一時透過属性保持部と、前記複数のフレームバッファの少なくとも一のフレームバッファに対応して設けられ、前記第１透過属性とは独立の第２透過属性が割り当てられたメモリアクセスマスク領域のマスク情報を格納するマスク情報格納部と、前記マスク情報内のマスク領域を示す情報を参照して、画像データが、前記メモリアクセスマスク領域内にあるか否かを判定するマスク領域内外判定部と、前記画像データが前記メモリアクセスマスク領域内にないと判定された場合には前記フレームバッファ情報格納部に格納された前記第１透過属性に基づいて、前記画像データが前記メモリアクセスマスク領域内にあると判定された場合には前記マスク情報格納部に格納された前記第２透過属性に基づいて、対応する前記フレームバッファから画像データを読み込む画像データ読み込み部と、前記第１透過属性または前記第２透過属性に基づいて重ね合わせ処理を行う重ね合わせ処理部と、を有し、前記メモリアクセスマスク領域は、一の前記フレームバッファに対して複数設定され、前記マスク情報格納部は、複数設定された前記メモリアクセスマスク領域に対してそれぞれの優先度を保持し、前記一のフレームバッファに対して複数設定された前記メモリアクセスマスク領域の少なくとも２つが、少なくとも部分的に重なり合い、それぞれの前記第２透過属性が異なっている場合、重なり合った部分の透過属性として、前記優先度の高い前記メモリアクセスマスク領域の前記第２透過属性が選択される。
【００１３】
開示の画像処理装置によれば、無駄なメモリアクセスを減少させることができる。
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
図１は、本発明の実施の形態の画像処理装置の原理を示す図である。
本発明の実施の形態の画像処理装置１０は、例えば、ＶＲＡＭ（Video Random Access Memory）などのグラフィックスメモリ装置２０から、それぞれが１つの層に対応した複数のフレームバッファ２１−１、２１−２、２１−３の画像データ（以下画素の画像データまたは単に画素という場合もある）を読み込み、重ね合わせて表示する装置であり、画像データ読み込み部１１と、マスク情報格納部１２と、マスク領域内外判定部１３と、重ね合わせ処理部１４とを有する。
【００１５】
画像データ読み込み部１１は、透明、半透明または不透明といった透過属性が割り当てられた、複数のフレームバッファ２１−１、２１−２、２１−３または、フレームバッファ２１−１、２１−２、２１−３に属するウィンドウ２２−１、２２−２、２２−３から画像データを走査して読み込む。
【００１６】
ウィンドウ２２−１、２２−２、２２−３とは、フレームバッファ２１−１、２１−２、２１−３が提供する画面領域よりも小さな領域であり、一様な透過属性または画素ごとに透過属性が設定されている。なお、ここでは、各層に１つずつウィンドウ２２−１、２２−２、２２−３を有している場合について示しているが、これ以上であっても以下であってもよい。また、上記では説明を簡略化するためフレームバッファ２１−１、２１−２、２１−３を３層に留めているが、２層でもよいしさらに多くの層を用いてもよい。
【００１７】
マスク情報格納部１２は、このフレームバッファ２１−１、２１−２、２１−３またはウィンドウ２２−１、２２−２、２２−３上に定義され、独立の透過属性が割り当てられたメモリアクセスマスク領域（以下マスク領域と略す）２３ａ、２３ｂ、２３ｃ、２３ｄのマスク情報を格納する。マスク領域２３ａ、２３ｂ、２３ｃ、２３ｄとは、１つの層における画像データの中で、透過属性が同一となる領域、ということもできる。
【００１８】
マスク領域２３ａ、２３ｂ、２３ｃ、２３ｄは、フレームバッファ２１−１、２１−２、２１−３またはウィンドウ２２−１、２２−２、２２−３上に定義され、１つのウィンドウ２２−１、２２−２、２２−３内に複数設定してもよい。マスク情報とは、マスク領域２３ａ、２３ｂ、２３ｃ、２３ｄの透過属性や、大きさや位置の情報、優先度（後述する）などである。これらのマスク情報は、画像処理装置１０がフレームバッファ２１−１、２１−２、２１−３から画像データを読み込む前に、マスク情報格納部１２に格納される。
【００１９】
マスク領域内外判定部１３は、マスク情報を参照して、画像データ読み込み部１１において走査中の画像データが、マスク領域２３ａ、２３ｂ、２３ｃ、２３ｄ内にあるか否かを判定する。
【００２０】
重ね合わせ処理部１４は、走査中の画像データがマスク領域２３ａ、２３ｂ、２３ｃ、２３ｄ内にある場合には、フレームバッファ２１−１、２１−２、２１−３またはウィンドウ２２−１、２２−２、２２−３の透過属性に係わらず、マスク領域２３ａ、２３ｂ、２３ｃ、２３ｄに割り当てられた透過属性に応じた重ね合わせ処理を行う。また、走査中の画像データがマスク領域２３ａ、２３ｂ、２３ｃ、２３ｄ外にあれば、読み込む画像データが属するフレームバッファ２１−１、２１−２、２１−３またはウィンドウ２２−１、２２−２、２２−３の透過属性に応じた重ね合わせ処理を行う。そして重ね合わせ処理によって得られたデータを表示装置３０に出力して表示させる。なお、図示を省略したが、フレームバッファ２１−１、２１−２、２１−３またはウィンドウ２２−１、２２−２、２２−３の、透過属性、大きさや位置の情報、または重ね順の情報なども画像処理装置１０が予め格納している。
【００２１】
以下画像処理装置１０の動作を説明する。
なお、以下では、フレームバッファ２１−１（第１層）を最上層、フレームバッファ２１−２（第２層）を中層、フレームバッファ２１−３（第３層）を最下層とした場合について説明する。
【００２２】
また、フレームバッファ２１−１、２１−２の透過属性は一様であって透明であり、フレームバッファ２１−３の透過属性も一様であって不透明であるとする。また、ウィンドウ２２−１、２２−２、２２−３の透過属性は不透明であるとする。また、マスク領域２３ａは透明、マスク領域２３ｂは半透明、マスク領域２３ｃ、２３ｄは不透明であるとする。
【００２３】
画像データ読み込み部１１によって、フレームバッファ２１−１、２１−２、２１−３またはウィンドウ２２−１、２２−２、２２−３から画像データを読み込む場合、マスク領域内外判定部１３は、マスク情報格納部１２に格納されたマスク情報を参照して、走査中の画像データが、マスク領域２３ａ、２３ｂ、２３ｃ、２３ｄ内にあるか否かを判定する。ここで、重ね合わせ処理部１４は、走査中の画像データがマスク領域２３ａ、２３ｂ、２３ｃ、２３ｄ内にある場合には、フレームバッファ２１−１、２１−２、２１−３またはウィンドウ２２−１、２２−２、２２−３の透過属性に係わらず、マスク領域２３ａ、２３ｂ、２３ｃ、２３ｄに割り当てられた透過属性に応じた重ね合わせ処理を行う。走査中の画像データがマスク領域２３ａ、２３ｂ、２３ｃ、２３ｄ外にある場合には、フレームバッファ２１−１、２１−２、２１−３またはウィンドウ２２−１、２２−２、２２−３の透過属性を参照して重ね合わせ処理を行い、その結果得られたデータを表示装置３０に出力する。
【００２４】
例として、１の画素を描画する際の、最上層のフレームバッファ２１−１から順に、対応する画素の画像データを読み込み、重ね合わせ処理を行う場合について具体的に説明する。画像データ読み込み部１１において走査中の最上層の画素２４ａは、マスク領域２３ａの範囲外であり、フレームバッファ２１−１の透過属性は透明であるので、画像データ読み込み部１１は画素２４ａを読み込まない。中層において画素２４ａに対応した座標を有する画素２４ｂは、マスク領域２３ｃの範囲内にあるので、中層のフレームバッファ２１−２の透過属性によらずマスク領域２３ｃの透過属性が参照される。マスク領域２３ｃの透過属性は不透明であるので、画像データ読み込み部１１はその下の最下層のフレームバッファ２１−３またはウィンドウ２２−３において、その画素２４ｂと対応する位置の画素の読み込みを行わない。これにより、重ね合わせ処理部１４は、最下層のフレームバッファの画像データとの重ね合わせを行わず、画素２４ｂを出力する。また、最上層の画素２５ａも同様に、マスク領域２３ａの範囲外であり、フレームバッファ２１−１の透過属性が透明であるので、画像データ読み込み部１１は画素２５ａを読み込まない。中層において画素２５ａに対応した座標を有する画素２５ｂは、マスク領域２３ｂの範囲内にあるので、そのマスク領域２３ｂが定義されているウィンドウ２２−２の透過属性によらずマスク領域２３ｂの透過属性が参照される。マスク領域２３ｂの透過属性は半透明であるので、重ね合わせ処理部１４は、その下の最下層のフレームバッファ２１−３において、画素２５ａ、２５ｂに対応した座標を有する画素２５ｃとの混色処理を行い、その結果得られたデータを出力する。一方、最上層の画素２６ａは、マスク領域２３ａの範囲内にあるので、マスク領域２３ａが定義されているウィンドウ２２−１の透過属性によらずマスク領域２３ａの透過属性が参照される。マスク領域２３ａの透過属性は透明であるので、画像データ読み込み部１１は画素２６ａを読み込まない。中層において、画素２６ａに対応した座標を有する画素２６ｂはマスク領域２３ｂの範囲外であってウィンドウ２２−２に属す。ウィンドウ２２−２の透過属性は不透明であるので、画像データ読み込み部１１は最下層の画像データの読み込みは行わず、重ね合わせ処理部１４は画素２６ｂを出力する。
【００２５】
なお、ここでは、本発明の原理を説明するため最上層からの重ね合わせ処理について説明したが、通常行われる最下層からの重ね合わせによる混色処理を行う場合の処理については後述する。
【００２６】
このように、本発明の実施の形態の画像処理装置１０によれば、各層のフレームバッファ２１−１、２１−２、２１−３またはウィンドウ２２−１、２２−２、２２−３内部で、画像データ読み込みのためのメモリアクセスを特定領域のみに限定することができる。特に、最上層からの重ね合わせ処理の場合は、画像データ読み込み部１１は、ある画素を描画する際、その画素に対応する画像データを上位の層から順次読み込むとともに、マスク情報により透過属性が不透明となっている層より下位の層は画像データを読み込まない。また、重ね合わせ処理部１４は、マスク情報により透過属性が不透明となっている層より下位の層の画像データについては重ね合わせを行わない。その結果、無駄なメモリアクセスを減少させ、メモリバンド幅の利用効率を向上することができる。
【００２７】
以下本発明の実施の形態の詳細を説明する。
図２は、画像処理システムの構成例を示す図である。
図２で示す画像処理システムは、グラフィックスＬＳＩ１００と、ＶＲＡＭ２００と、表示装置３００と、グラフィックスＬＳＩ１００を制御するＣＰＵ（Central Processing Unit）３０１と、ＣＰＵ３０１の動作領域であるメインメモリ３０２とを有している。
【００２８】
グラフィックスＬＳＩ１００は、複数の層に対応したマスク制御部１１０−１、１１０−２、…、１１０−ｎを有している。また、実効的な最下層を検出する実効最下層検出部１２０と、一時的な画素色を保持する一時画素色レジスタ１２１と、メモリコントローラ１２３と、重ね合わせ処理部１２４とを有している。
【００２９】
各マスク制御部１１０−１〜１１０−ｎには、複数のマスク領域の情報を格納するマスク情報格納部１１１−１、１１１−２、…、１１１−ｍが存在する。また、マスク領域内外判定部１１２、後述するマスク優先度判定部１１３、マスク領域の透過属性を判定するマスク透過属性判定部１１４、フレームバッファやウィンドウの透過属性や位置や大きさなどの情報を格納したフレームバッファ／ウィンドウ情報格納部１１５、層の一時的な透過属性を保持する一時透過属性レジスタ１１６を有している。
【００３０】
また、各マスク情報格納部１１１−１〜１１１−ｍは、マスク領域が設定されたマスク領域設定レジスタ１１１ａ、マスク領域の透過属性が設定されたマスク透過属性設定レジスタ１１１ｂと、後述するマスク優先度が設定されたマスク優先度設定レジスタ１１１ｃを有している。
【００３１】
また、重ね合わせ処理部１２４は、層の重ね合わせ順を保持する重ね順保持部１２４ａと、混色処理を行う混色処理部１２４ｂとを有している。
ＶＲＡＭ２００には、複数の層に対応したフレームバッファ２０１−１、２０１−２、…、２０１−ｎが確保されている。
【００３２】
グラフィックスＬＳＩ１００は、このフレームバッファ２０１−１〜２０１−ｎの画像データを読み込んで、重ね合わせ処理を行い表示装置３００に出力する。表示装置３００は、例えば、ＬＣＤ（Liquid Crystal Display）やＣＲＴ（Cathode Ray Tube）などである。
【００３３】
なお、グラフィックスＬＳＩ１００は、図１で示した画像処理装置１０に対応しており、メモリコントローラ１２３は画像データ読み込み部１１の機能を行う。また、図２では、図１で示したマスク情報格納部１２と、マスク領域内外判定部１３とを層ごとの各マスク制御部１１０−１〜１１０−ｎ内に有している。ＶＲＡＭ２００は、図１のグラフィックスメモリ装置２０に対応している。
【００３４】
次に、グラフィックスＬＳＩ１００の動作を説明する。
なお以下では、ＶＲＡＭ２００に格納された３層のフレームバッファ２０１−１、２０１−２、２０１−３の画像データを読み込んで重ね合わせ画像を表示する際の処理について説明する。
【００３５】
図３、図４、図５は、ＶＲＡＭに格納された３層のフレームバッファの画像データの例を模式的に示した図であり、図３は第１層のフレームバッファの画像データ、図４は第２層のフレームバッファの画像データ、図５は第３層のフレームバッファの画像データを示す図である。
【００３６】
図３の第１層は、ボタン４０１−１、４０１−２、…、４０１−１４を有したフレームバッファ２０１−１の画像データであり、図４の第２層は、２つの図形４０２−１、４０２−２を有したフレームバッファ２０１−２の画像データであり、図５の第３層は、例えば、背景として用いられるフレームバッファ２０１−３の画像データである。なお、これらのフレームバッファ２０１−１、２０１−２、２０１−３をウィンドウと考えてもよい。
【００３７】
図６は、３層のフレームバッファの画像データを重ね合わせて得られる画像を模式的に示した図である。
ここでは、第１層のボタン４０１−１〜４０１−１４を半透明とし、第２層の図形４０２−１、４０２−２を不透明とし、第３層のフレームバッファ２０１−３を不透明として重ね合わせしたときの図を示している。
【００３８】
以下では、図６のような重ね合わせ画像を表示するときの処理について説明する。
図７は、第１層のフレームバッファの画像データに対してマスク領域を重ねた模式図である。また、図８は、第１層のマスク情報格納部に格納されるマスク情報を示す図である。
【００３９】
マスク領域４１１は、矩形などの図形で設定する。そしてその位置は、図形の頂点座標をもとに定義する。図７のように、フレームバッファ２０１−１の横方向座標軸及び縦方向座標軸に平行に配置し、そのマスク領域４１１の対角をなす２頂点の横方向座標と縦方向座標を利用して位置と形状を定義すると、４個の数値の組のみで位置と大きさを確定できる。ここでのマスク領域４１１は、第１層において、グラフィックスＬＳＩ１００が読み込む必要のない画像データの範囲を指定しているので、透過属性は透明である。
【００４０】
このようなマスク領域４１１は予めフレームバッファ２０１−１に対して設定されており、そのマスク情報が、図８のようにグラフィックスＬＳＩ１００のマスク情報格納部に格納される。すなわちマスク領域４１１の左上定義座標と、右下定義座標がマスク領域設定レジスタに、透過属性がマスク透過属性設定レジスタに格納される（後述するマスク優先度についてはここでは不問としている）。
【００４１】
図９は、第２層のフレームバッファの画像データに対してマスク領域を重ねた模式図である。また、図１０は、第２層のマスク領域格納部に格納されるマスク情報を示す図である。
【００４２】
第２層のフレームバッファ２０１−２では、図形４０２−１、４０２−２に合わせてマスク領域４１２、４１３、４１４、４１５を設定している。この場合、図形４０２−１、４０２−２が不透明であるので、マスク領域４１２、４１３、４１４、４１５の透過属性としては、不透明を割り当てる。これらのマスク情報は、第２層のマスク制御部１１０−２におけるそれぞれのマスク情報格納部に図１０のように格納する。
【００４３】
これらのマスク情報をもとに、本発明の実施の形態のグラフィックスＬＳＩ１００は、以下のような処理を行う。
図１１は、グラフィックスＬＳＩの処理の全体を示すフローチャートである。
【００４４】
ここでは、走査を開始してから１フレーム分の走査が完了するまでの処理を示している。
走査を開始すると、層の重ね合わせ処理を行い（ステップＳ１）、重ね合わせの結果得られたデータを現在の画素として表示装置３００に表示する（ステップＳ２）。次に、ステップＳ１、Ｓ２の処理を全画素（画面全体ではなく１本のラスターに属する全画素）について完了したか否かを判定して（ステップＳ３）、全画素について処理が完了していない場合には、次の画素へ進み（ステップＳ４）、ステップＳ１からの処理を繰り返す。全画素の走査が完了した場合には、全ラスターについての走査が完了したか否かを判定し（ステップＳ５）、完了していない場合には、次のラスターに進み（ステップＳ６）、ステップＳ１からの処理を繰り返す。全ラスターについての走査が完了した場合に１フレームの走査が完了する。
【００４５】
図１２は、重ね合わせ処理の詳細を示すフローチャートである。
なお、以下では、最下層から重ね合わせ処理を始める場合について説明する。
まず、重ね順保持部１２４ａを参照して、走査中の画素が最下層のフレームバッファ２０１−３のものか否かを判断する（ステップＳ１０）。まず始めは最下層の画素を評価するので、混色処理部１２４ｂは、メモリコントローラ１２３にフレームバッファ２０１−３から対応する画素を読み込ませ（ステップＳ１１）、この画素の画素色を一時画素色レジスタ１２１に保持し、ステップＳ２０の処理に進む（ステップＳ１２）。最下層の画像データの評価が終わると、全層の評価が完了したか否かの判定処理（ステップＳ２０）を行うが、この場合、“ＮＯ”であるので上層の評価に進む（ステップＳ２１）。第２層において、走査している画素がマスク領域４１２、４１３、４１４、４１５内にあるか否かを第２層のマスク制御部１１０−２におけるマスク領域内外判定部が、マスク領域設定レジスタを参照して判定する（ステップＳ１３）。ここで、走査中の画素が図９で示した第２層のマスク領域４１２、４１３、４１４、４１５内であれば、マスク透過属性判定部１１４は、図１０で示したようなマスク情報格納部を参照してその画素が存在するマスク領域４１２、４１３、４１４、４１５の透過属性を判定する（ステップＳ１４）。マスク領域４１２、４１３、４１４、４１５外であれば、第２層のマスク制御部１１０−２におけるフレームバッファ／ウィンドウ情報格納部を参照して、その画素が存在する第２層のフレームバッファ２０１−２の透過属性を判定する（ステップＳ１５）。なお、判定結果となる一時的な透過属性は、第２のマスク制御部１１０−２の一時透過属性レジスタに保持される。混色処理部１２４ｂは、透過属性が不透明の場合には、メモリコントローラ１２３により前述したように走査中の画素を読み込ませ（ステップＳ１１）、この画素の画素色で一時画素色レジスタ１２１を更新する（ステップＳ１２）。透過属性が透明の場合には、混色処理部１２４ｂは、メモリコントローラ１２３による画素の読み込みを抑止し、一時画素色レジスタ１２１の更新は行わずステップＳ２０の処理に進む（ステップＳ１６）。透過属性が半透明の場合には、混色処理部１２４ｂはメモリコントローラ１２３に走査中の画素を読み込ませ（ステップＳ１７）、一時画素色レジスタ１２１に保持されている画素色（図では一時画素色と表記している）との混色処理を行い（ステップＳ１８）、得られた画素色で一時画素色レジスタ１２１を更新する（ステップＳ１９）。以上のような処理を次の最上層についても繰り返し、最終的な画素色を決定する。
【００４６】
図１３は、ある画素におけるマスク領域内外判定処理と透過属性の判定処理の具体例を説明する図であり、図１４は、マスク制御部での判定結果を示す図である。
ある瞬間に走査中の画素座標４２１、４２２、４２３、４２４において、マスク領域内にあるのかマスク領域外にあるのかを判定した例である。第１層では画素座標４２１、４２４はマスク領域外にあるので、第１層のマスク制御部１１０−１の一時透過属性レジスタ１１６には、フレームバッファ２０１−１の透過属性（画素座標４２１はボタン上なので半透明、画素座標４２４は透明）が保持される。画素座標４２２、４２３はマスク領域４１１の内にあるので、一時透過属性レジスタ１１６に保持される一時透過属性は、マスク領域４１１の透過属性である“透明”となる。一方、第２層では、画素座標４２１、４２２はマスク領域外にあるので、第２層のマスク制御部１１０−２の一時透過属性レジスタには、フレームバッファ２０１−２の透過属性（透明）が保持される。また、画素座標４２３はマスク領域４１４内、画素座標４２４はマスク領域４１５内に存在するので、マスク領域４１４、４１５の透過属性である“不透明”が保持される。
【００４７】
このように、上記の図１２のような重ね合わせの処理によれば、走査中の画像データの透過属性が透明の場合にメモリコントローラ１２３の画像データの読み込みを省略することができる。
【００４８】
以上の説明では、１つの層におけるマスク領域は重なることなく設定した場合について示したが、複数のマスク領域同士を重ね合わせてもよい。その場合、図２で示したグラフィックスＬＳＩ１００のマスク優先度判定部１１３が使用される。
【００４９】
以下、マスク領域同士を重ね合わせた場合のグラフィックスＬＳＩ１００の処理を説明する。
なお、以下では前述と同様に、ＶＲＡＭ２００に格納された図３、図４、図５で示した３層のフレームバッファ２０１−１、２０１−２、２０１−３の画像データをもとに、図６のような重ね合わせ画像を表示するときの処理について説明する。
【００５０】
図１５は、第１層のフレームバッファの画像データに対して複数のマスク領域同士を重ねた模式図である。また、図１６は、第１層のマスク情報格納部に格納されるマスク情報を示す図である。
【００５１】
第１層では、フレームバッファ２０１−１の全体を覆うマスク領域４３１と、ボタン４０１−１〜４０１−７を覆うマスク領域４３２と、ボタン４０１−８〜４０１−１４を覆うマスク領域４３３とを設定している。ここで、マスク領域４３１の透過属性は透明、マスク領域４３２、４３３の透過属性は半透明である。マスク領域４３１に対して、マスク領域４３２、４３３が重なっている。このような場合、走査中の画素に対してどちらの透過属性を採用すればいいかを決定するための優先度を付与する。ここでは、マスク領域４３１の優先度を２位として、マスク領域４３２、４３３の優先度はそれより上位である１位とする。
【００５２】
このようなマスク情報を、図１６のように、マスク情報格納部に予め格納する。すなわちマスク領域４３１、４３２、４３３の左上定義座標と右下定義座標とをマスク領域設定レジスタに、透過属性をマスク透過属性設定レジスタに、優先度をマスク優先度設定レジスタに格納する。
【００５３】
図１７は、第２層のフレームバッファの画像データに対して複数のマスク領域同士を重ねた模式図である。また、図１８は、第２層のマスク領域格納部に格納されるマスク情報を示す図である。
【００５４】
第２層では、図形４０２−１を覆うようにマスク領域４３４と、マスク領域４３５を重ね合わせて設定し、図形４０２−２を覆うようなマスク領域４３６を設定し、マスク領域４３６の中で図形４０２−２を含まない領域に対してマスク領域４３７を設定している。ここで、マスク領域４３４、４３５、４３６の透過属性は不透明、マスク領域４３７の透過属性は透明である。ここで、マスク領域４３４、４３５はともに不透明であるので、マスク領域４３４、４３５内を走査中の画素はどちらの透過属性を参照してもよい。ここでは、ともに優先度を１位とする。また、マスク領域４３７内の画素の読み込みは必要ないので、マスク領域４３６の優先度を２位として、マスク領域４３７の優先度をそれより上位である１位とする。これらのマスク情報は、第２層のマスク制御部１１０−２におけるそれぞれのマスク情報格納部に図１８のように格納する。
【００５５】
これらのマスク情報をもとに、本発明の実施の形態のグラフィックスＬＳＩ１００は、以下のような重ね合わせ処理を行う。なお、全体の処理は、図１１と同様である。
図１９は、複数のマスク領域同士が重なっている場合の、重ね合わせ処理の詳細を示すフローチャートである。
【００５６】
まず、重ね順保持部１２４ａを参照して、走査中の画像データが最下層のフレームバッファ２０１−３のものか否かを判断する（ステップＳ３０）。まず始めは最下層の画像データを評価するので、混色処理部１２４ｂは、メモリコントローラ１２３にフレームバッファ２０１−３から対応する画像データを読み込ませ（ステップＳ３１）、この画像データを一時画素色レジスタ１２１に保持し、ステップＳ３９の処理に進む（ステップＳ３２）。最下層の画像データの評価が終わると、全層の評価が完了したか否かの判定処理（ステップＳ３９）を行うが、この場合、“ＮＯ”であるので上層の評価に進む（ステップＳ４０）。第２層において、第２層のマスク制御部１１０−２におけるマスク優先度判定部にてマスク優先度判定処理を行う（ステップＳ３３）。マスク優先度判定処理後、混色処理部１２４ｂは、一時的な透過属性が保持された一時透過属性レジスタを参照して、一時透過属性を判定する（ステップＳ３４）。混色処理部１２４ｂは、透過属性が不透明の場合には、前述したように走査中の画素を読み込ませ（ステップＳ３１）、この画素の画素色で一時画素色レジスタ１２１を更新する（ステップＳ３２）。透過属性が透明の場合には、メモリコントローラ１２３の画素の読み込みを抑止し、一時画素色レジスタ１２１の更新は行わずステップＳ３９の処理に進む（ステップＳ３５）。透過属性が半透明の場合には、走査中の画素を読み込ませ（ステップＳ３６）、一時画素色レジスタ１２１に保持されている画素色（図では一時画素色と表記している）との混色処理を行い（ステップＳ３７）、得られたデータで一時画素色レジスタ１２１を更新する（ステップＳ３８）。以上のような処理を次の最上層についても繰り返し、最終的な画素色を決定する。
【００５７】
図２０は、マスク優先度判定処理の詳細を示すフローチャートである。
マスク優先度判定処理では、同一層において複数（ｍ個）設定したマスク領域の番号をｍとすると、まずｍ＝０に初期化し（ステップＳ５０）、一時的に保持するマスク優先度（以下一時マスク優先度という）を最低に初期化し（ステップＳ５１）、現在の層におけるフレームバッファの透過属性で一時透過属性を初期化する（ステップＳ５２）。なお、これらステップＳ５０、Ｓ５１、Ｓ５２の処理の順序は入れ替わってもよく、並列処理してもよい。
【００５８】
続いて、現在の画素座標が、マスク番号ｍに相当するマスク領域内か否かを判定する（ステップＳ５３）。もしマスク番号ｍに相当するマスク領域の外であれば、ステップＳ５６の処理に進む。現在の画素座標が、マスク領域内にある場合、現在保持されている一時マスク優先度と、マスク番号ｍのマスク領域に設定された優先度とを比較する（ステップＳ５４）。もしマスク番号ｍのマスク優先度のほうが高ければ、マスク番号ｍのマスク領域の優先度をもって一時マスク優先度を更新し、マスク番号ｍのマスク領域の透過属性で一時透過属性を更新する（ステップＳ５５）。その後、現在の層に属する全てのマスク領域の評価が完了したか否かを判定し（ステップＳ５６）、完了していればマスク優先度判定処理を終了し、完了していなければ次のｍ＝ｍ＋１として次のマスク領域へ進む（ステップＳ５７）。
【００５９】
このようなマスク優先度判定処理により、現在の画素座標における、もっとも優先度の高いマスク領域の透過属性が、ある層における一時透過属性レジスタに保持される。現在の画素座標がいずれのマスク領域にも属さない場合には、初期化時に一時透過属性レジスタに保持したフレームバッファの透過属性がそのまま残る。このようにして確定した一時透過属性を、図１９の一時透過属性判定処理（ステップＳ３４）で用いる。
【００６０】
図２１は、ある画素におけるマスク領域内外判定処理と優先度判定処理と透過属性の判定結果の具体例を説明する図であり、図２２は、マスク制御部での判定結果を示す図である。
【００６１】
ある瞬間に走査中の画素座標４４１、４４２、４４３、４４４において、マスク領域内外判定部によりマスク領域内にあるのかマスク領域外にあるのかを判定し、マスク優先度判定部によりマスク領域の優先度を判定して、一時透過属性を決定する例を示している。
【００６２】
第１層において、画素座標４４１は、マスク領域４３１、４３２内にある。マスク優先度判定部は、図２０の処理により、採用されたマスク領域４３２の透過属性である“半透明”を一時透過属性として、一時透過属性レジスタに保持させる。画素座標４４２、４４３は、マスク領域４３１内である。この場合、マスク領域４３１の透過属性である“透明”が一時透過属性となる。画素座標４４４は、マスク領域４３１、４３３内にある。マスク優先度判定部は、図２０の処理により、採用されたマスク領域４３３の透過属性である“半透明”が一時透過属性となる。
【００６３】
一方、第２層において、画素座標４４１はマスク領域外であるので、一時透過属性は第２層のフレームバッファ２０１−２の透過属性（透明）となる。また画素座標４４２は、マスク領域４３４、４３５内にある。マスク領域４３４、４３５の優先度は等しいので、マスク優先度判定部は、図２０の処理により、マスク番号が小さいほうのマスク領域４３４を採用し、その透過属性である“不透明”を一時透過属性とする。画素座標４４３は、マスク領域４３６、４３７内にある。マスク優先度判定部は、図２０の処理により、優先度が高いマスク領域４３７を採用し、その透過属性である“透明”を一時透過属性とする。画素座標４４４は、１つのマスク領域４３６内にあるので、一時透過属性はマスク領域４３６の透過属性である“不透明”となる。
【００６４】
このようにすることにより、透過属性の異なるマスク領域同士が重なり合うような配置が許容されるようになり、より柔軟なマスク領域の配置を定義できる。この結果、複雑な形状の図形も効率よくマスク領域で囲めるようになり、ＶＲＡＭ２００への無駄なメモリアクセスをさらに減少できる。
【００６５】
なお、図１５では、異なる透過属性を持つマスク領域の重なり合いを説明するため、第１層のフレームバッファ２０１−１全体をマスク領域４３１であえて囲んだが、第１層のフレームバッファ２０１−１の透過属性を透明にすれば、マスク領域４３１が無くとも結果は同等である。また、図１７のマスク領域４３４、４３５の優先度はともに１位としたが、両者の透過属性はともに不透明なので、マスク領域４３１より優先度を高く設定しさえすれば、マスク領域４３４、４３５の優先度が異なっていてもよく、どちらの優先度が高いかは不問である。さらに、図１７では、マスク領域４３４、４３５、４３６を、第２層の不透明な図形４０２−１、４０２−２の外側から囲むように配置した。このような場合、マスク領域の透過属性が不透明であっても、マスク領域４３４、４３５、４３６と図形４０２−１、４０２−２との隙間を、透明として適切に扱う必要がある。しかしながら、それは一般的によく利用されている公知の技術により実現可能であり、ここでは説明を省略する。
【００６６】
以上の図１２、図１９で示した重ね合わせ処理では、最下層から重ね合わせ処理をするため、ある層において透過属性が不透明の領域があっても、その下の層の画像データの読み込みを抑止できない。以下では、これを抑止するための処理について説明する。
【００６７】
この処理を行うために、図２に示したグラフィックスＬＳＩ１００の実効最下層検出部１２０の機能が用いられる。
以下、実効最下層検出部１２０を用いた重ね合わせ処理を説明する。なお、全体の処理は、図１１と同様である。
【００６８】
また、ここではまず、前述してきたマスク領域を用いない場合について説明する。
図２３は、実効最下層の検出機能を用いた重ね合わせ処理の詳細を示すフローチャートである。
【００６９】
まず、ＶＲＡＭ２００に格納されているフレームバッファ２０１−１〜２０１−ｎにおいて、最上層からの順序をレイヤー番号ｋで示す。最上層の場合はｋ＝０である。この重ね合わせ順序は、重ね順保持部１２４ａにより保持されている。
【００７０】
重ね合わせ処理が開始すると、レイヤー番号ｋを０に初期化して、最上層のフレームバッファ２０１−１を参照できるようにする（ステップＳ６０）。続いて、走査中の画素におけるレイヤー番号ｋの層（フレームバッファまたはウィンドウ）の透過属性を判定する（ステップＳ６１）。もしレイヤー番号ｋの層の透過属性が半透明あるいは透明であったり、透明色が有効である場合は、レイヤー番号ｋの層が最下層か否かを判定する（ステップＳ６２）。最下層でない場合、レイヤー番号ｋを増加（ｋ＝ｋ＋１）して１つ下層に進みステップＳ６１からの処理を繰り返す（ステップＳ６３）。レイヤー番号ｋの層の透過属性が不透明であったり、最下層である場合には、レイヤー番号ｋの層を実効最下層に設定する（ステップＳ６４）。なお、透明色というのは、一般的によく利用されているものであり、ある層の透明色が有効に設定されていると、その層のフレームバッファのある画素色が透明色に一致した場合、その画素は透明とみなされ、下層の画素色が表示される。
【００７１】
レイヤー番号ｋの層が実効最下層として確定した後、レイヤー番号ｋの層の透過属性に応じて異なる方法で、重ね合わせ処理が行われる。図２３で示すステップＳ６６〜Ｓ７２の処理は、図１９などで示した処理と同様であるので説明を省略する。ただ、重ね合わせ処理に利用する始めの層として、実際の最下層ではなく、ステップＳ６４までの処理で設定した実効最下層を採用する点が異なる。すなわちステップＳ７３の処理では、ｋ＝ｋ−１としてレイヤー番号ｋの実効最下層から上の層へ処理を進める。
【００７２】
このような処理によれば、実効最下層が実際の最下層よりも上層である場合に、実効最下層よりも下層のフレームバッファの画像データを読み込む必要がなくなり、ＶＲＡ２００への無駄なメモリアクセスを抑制できる。
【００７３】
なお、各層の画面上での配置と大きさが全て等しい場合には、実効最下層の抽出処理は画素ごとに行う必要はないので、グラフィックスＬＳＩ１００の、全体の処理である図１１の画素走査処理内で行う必要はない。しかしながら、各層の画面上での配置と大きさが異なり、ウィンドウ上に部分的に表示され、層が重ならない領域が発生する場合は、画素座標によって実効最下層が異なる場合がある。このような場合には、走査画素ごとに実効最下層を抽出する。
【００７４】
次に、実効最下層とマスク領域を用いた場合の処理について説明する。
図２４は、実効最下層とマスク領域を用いた重ね合わせ処理を示すフローチャートである。
【００７５】
図のように、マスク優先度判定処理及び実効最下層検出処理（ステップＳ８０）と、混色処理（ステップＳ８１）とからなる。
図２５は、マスク優先度判定処理及び実効最下層検出処理の詳細のフローチャートである。
【００７６】
処理を開始すると、まず、レイヤー番号ｋを０に初期化して最上層のフレームバッファ２０１−１を参照できるようにする（ステップＳ９０）。次に、レイヤー番号ｋの層において、図２０で示したマスク優先度判定処理を行い、走査中の画素における一時透過属性を決定する（ステップＳ９１）。続いて、図２３のステップＳ５１〜Ｓ５４と同様の処理を行い、実効最下層を検出する（ステップＳ９２〜Ｓ９５）。なお、ステップＳ９２の透過属性の判定処理では、マスク領域の透過属性を考慮したレイヤー番号ｋの層の、一時透過属性が用いられる。図２５の処理を完了すると、実効最下層と、実効最下層より上層の各層の一時透過属性が確定する。
【００７７】
図２６は、混色処理の詳細を示すフローチャートである。
図２６で示す混色処理（ステップＳ１００〜Ｓ１０８）は、図２３で示したステップＳ６５〜Ｓ７３と同様の処理を行っている。ただし、ステップＳ１００の透過属性判定処理では、レイヤー番号ｋの層の透過属性ではなく、マスク領域の透過属性を考慮したレイヤー番号ｋの層の一時透過属性が用いられる。
【００７８】
以上のように、実効最下層とマスク領域を用いて重ね合わせ処理を行うことにより、ＶＲＡＭ２００へのメモリアクセスを大幅に削減することができる。
なお、上記では、説明を簡略化するために主に３層の重ね合わせ処理について示したが、実際には更に多くの層を用いてもよい。
【産業上の利用可能性】
【００７９】
本発明は、例えば、複数のウィンドウを重畳表示させるカーナビゲーション装置などに適用される。
上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
【図面の簡単な説明】
【００８０】
【図１】本発明の実施の形態の画像処理装置の原理を示す図である。
【図２】画像処理システムの構成例を示す図である。
【図３】第１層のフレームバッファの画像データの例を模式的に示した図である。
【図４】第２層のフレームバッファの画像データの例を模式的に示した図である。
【図５】第３層のフレームバッファの画像データの例を模式的に示した図である。
【図６】３層のフレームバッファの画像データを重ね合わせて得られる画像を模式的に示した図である。
【図７】第１層のフレームバッファの画像データに対してマスク領域を重ねた模式図である。
【図８】第１層のマスク情報格納部に格納されるマスク情報を示す図である。
【図９】第２層のフレームバッファの画像データに対してマスク領域を重ねた模式図である。
【図１０】第２層のマスク領域格納部に格納されるマスク情報を示す図である。
【図１１】グラフィックスＬＳＩの処理の全体を示すフローチャートである。
【図１２】重ね合わせ処理の詳細を示すフローチャートである。
【図１３】ある画素におけるマスク領域内外判定処理と透過属性の判定処理の具体例を説明する図である。
【図１４】マスク制御部での判定結果を示す図である。
【図１５】第１層のフレームバッファの画像データに対して複数のマスク領域同士を重ねた模式図である。
【図１６】第１層のマスク情報格納部に格納されるマスク情報を示す図である。
【図１７】第２層のフレームバッファの画像データに対して複数のマスク領域同士を重ねた模式図である。
【図１８】第２層のマスク領域格納部に格納されるマスク情報を示す図である。
【図１９】複数のマスク領域同士が重なっている場合の、重ね合わせ処理の詳細を示すフローチャートである。
【図２０】マスク優先度判定処理の詳細を示すフローチャートである。
【図２１】ある画素におけるマスク領域内外判定処理と優先度判定処理と透過属性の判定結果の具体例を説明する図である。
【図２２】マスク制御部での判定結果を示す図である。
【図２３】実効最下層の検出機能を用いた重ね合わせ処理の詳細を示すフローチャートである。
【図２４】実効最下層とマスク領域を用いた重ね合わせ処理を示すフローチャートである。
【図２５】マスク優先度判定処理及び実効最下層検出処理の詳細のフローチャートである。
【図２６】混色処理の詳細を示すフローチャートである。
【符号の説明】
【００８１】
１０  画像処理装置
１１  画像データ読み込み部
１２  マスク情報格納部
１３  マスク領域内外判定部
１４  重ね合わせ処理部
２０  グラフィックスメモリ装置
２１−１、２１−２、２１−３  フレームバッファ
２２−１、２２−２、２２−３  ウィンドウ
２３ａ、２３ｂ、２３ｃ、２３ｄ  メモリアクセスマスク領域
２４ａ、２４ｂ、２５ａ、２５ｂ、２５ｃ、２６ａ、２６ｂ  画素
３０  表示装置
【図１】
0004522404.tif 000002
【図２】
0004522404.tif 000003
【図３】
0004522404.tif 000004
【図４】
0004522404.tif 000005
【図５】
0004522404.tif 000006
【図６】
0004522404.tif 000007
【図７】
0004522404.tif 000008
【図８】
0004522404.tif 000009
【図９】
0004522404.tif 000010
【図１０】
0004522404.tif 000011
【図１１】
0004522404.tif 000012
【図１２】
0004522404.tif 000013
【図１３】
0004522404.tif 000014
【図１４】
0004522404.tif 000015
【図１５】
0004522404.tif 000016
【図１６】
0004522404.tif 000017
【図１７】
0004522404.tif 000018
【図１８】
0004522404.tif 000019
【図１９】
0004522404.tif 000020
【図２０】
0004522404.tif 000021
【図２１】
0004522404.tif 000022
【図２２】
0004522404.tif 000023
【図２３】
0004522404.tif 000024
【図２４】
0004522404.tif 000025
【図２５】
0004522404.tif 000026
【図２６】
0004522404.tif 000027