(57)【要約】【課題】互いに上下の重なり関係を持った複数のレイヤで表される表示画面で、変化するレイヤの画像を更新する処理のみで、つぎの表示画面を生成できる画面表示装置を得ること。【解決手段】画像を構成する複数のレイヤの画素データをレイヤ毎に格納するレイヤ画面バッファ７と、レイヤ毎の画素データが透過色か非透過色かの状態を格納するレイヤ状態バッファ６と、レイヤ画面バッファ７に格納される複数のレイヤの画像データのうち非透過色の画素データを有する最も上側のレイヤの画素データを各画素毎に格納する表示画面バッファ２と、画素データに変更のあるレイヤを指定し、このレイヤ内で画素データの更新が必要な画素について、レイヤ画面バッファ７の対応するレイヤの画素データ、レイヤ状態バッファ６の対応するレイヤの画素レイヤ状態データおよび／または表示画面バッファ２の対応する画素データを更新する描画回路とを備える。【選択図】　　　図１
2004021119.tif 000002
【特許請求の範囲】
【請求項１】
表示装置に表示させる画像を構成する複数のレイヤの画素データをレイヤ毎に格納するレイヤ画面格納手段と、
前記レイヤ毎の画素データが透過色か非透過色かの画素レイヤ状態データを格納するレイヤ状態格納手段と、
透過色を含む画素データが記憶され、前記レイヤ画面格納手段に格納される複数のレイヤの画像データのうち非透過色の画素データを有する最も上側のレイヤの画素データを各画素毎に格納する表示画面格納手段と、
画素データに変更のあるレイヤを指定する書込みレイヤ指定手段と、前記指定されたレイヤ内で画素データの更新が必要な画素について、前記レイヤ画面格納手段の対応するレイヤの画素データおよび／または前記レイヤ状態格納手段の対応するレイヤの画素レイヤ状態データを更新するとともに、前記表示画面格納手段の対応する画素データを更新する更新手段とを有する描画回路と、
を備えることを特徴とする画面表示装置。
【請求項２】
表示装置に表示させる画像を構成する複数のレイヤの画素データをレイヤ毎に格納するレイヤ画面格納手段と、
前記レイヤ毎の画素データが透過色か非透過色かの画素レイヤ状態データを格納するレイヤ状態格納手段と、
を備え、透過色を含む画素データが記憶され、前記レイヤ画面格納手段に格納される複数のレイヤの画像データのうち非透過色の画素データを有する最も上側のレイヤの画素データを各画素毎に表示画面格納手段に格納する画面表示方法であって、
画素データに変更のあるレイヤを指定し、前記指定されたレイヤ内で画素データの更新が必要な画素について、前記レイヤ画面格納手段の対応するレイヤの画素データおよび／または前記レイヤ状態格納手段の対応するレイヤの画素レイヤ状態データを更新するとともに、前記表示画面格納手段の対応する画素データを更新することを特徴とする画面表示方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ＣＲＴや液晶表示装置等に出力する画素データを書き込む画面表示装置および画面表示方法に関し、特に、レイヤ構造を持たせることにより、２次元の平面上に表現されるあらゆる画像を、描画する場合に画像同士の重なりを保証しながら画面更新を行うことが可能な画面表示装置および画面表示方法に関するものである。
【０００２】
【従来の技術】
図２６は、従来の画面表示システムの構成を示すブロック図である。この従来の画面表示システムは、アドレス信号１１、制御信号１２およびデータ信号１３によって、画面の描画制御を行う中央演算処理装置（以下、ＣＰＵという）１、表示する画面の画素データを記憶するためのバッファメモリである表示画面バッファ２、表示画面バッファ２から取り出したデータに基づく表示画素データ信号１４により表示を行う表示デバイス３、および表示デバイス３への表示画素データ信号１４の出力制御と、そのための表示画面バッファ２からのデータの取り出しと、表示画面バッファ２へのＣＰＵ１からの制御との間の調停を行い、表示画面バッファ２を、表示画面バッファ用アドレス信号２１、表示画面バッファ用制御信号２２および表示画面バッファ用データ信号２３によって制御する表示コントローラ４を有する。
【０００３】
図２７は、従来の画面表示システムのＣＰＵ１からみたメモリマップ図を示している。この図において、９はメモリマップ全体を示しており、９１は表示画面バッファ２が配置された位置を示す表示画面バッファオフセットアドレスを示している。この表示画面バッファオフセットアドレス９１によって定められる位置に表示画面バッファ２のエリアが配置される。通常、表示画面バッファ２の内容は実際に表示される画面と１対１に対応している。
【０００４】
このような画面表示システムでは、一般的に、図２８に示すように表示画面１０は画素１００の集合として構成される。ここで、画素とはある１つの色、階調を表現することができる最小単位の大きさをさす。コンピュ−タ等による画面表示システムでは、１つの画素１００をあるビット数のデータとして表現するが、このとき、このビット数のデータを有する画素は２のビット数乗分の色、階調を表現することができる。例えば、８ビットの画素であれば２５６（＝２８）色のカラーを表現することができる。表示画面は、この画素が縦、横にマトリクス上に敷き詰められることによって構成される。例えば、縦４８０ドット×横６４０ドットのマトリクスで表示画面を構成することで、ＶＧＡ（Ｖｉｄｅｏ　Ｇｒａｐｈｉｃｓ　Ａｒｒａｙ）の解像度の表示画面を表現することができる。
【０００５】
また、表示画面は、画面の構成内容から複数の画像が組み合わされたものとして認識することができる。この明細書では、画像を任意の画素の集合として定義する。すなわち、画像は、任意のサイズ、任意の形状、画素単位で任意の色を有し、例えば、文字や文字列、木や車などの物体、または写真のような一つの画面など、２次元平面上に表される全ての物を含むものである。
【０００６】
つぎに、従来の画面表示システムにおける画面表示の動作について説明する。ここで、メモリマップ９上には、予め表示画面バッファ２の領域を表示画面バッファオフセットアドレス９１によって設定されているものとする。まず、ＣＰＵ１が、アドレス信号１１、制御信号１２およびデータ信号１３によって、表示画面バッファ２に対して、表示したい画像の画素データを書込む。
【０００７】
つづいて、表示コントローラ４が、表示画面バッファ用アドレス信号２１、表示画面バッファ用制御信号２２および表示画面バッファ用データ信号２３によって、表示画面バッファ２から画素データを取り出し、表示デバイス３に対して、表示デバイス３の走査タイミングに合わせた表示画素データ信号１４に変換して出力する。このとき、表示画面バッファ２に対する制御において、ＣＰＵ１からの書込み制御と、表示コントローラ４からの読出し制御とが非同期に行われている。そのため、表示画面バッファ２として完全非同期な２ポートを有する記憶デバイスを使用しない場合は、表示コントローラ４はこの間の調停も行う必要がある。すなわち、表示コントローラ４は、ＣＰＵ１からの書込み時には、アドレス信号１１、制御信号１２およびデータ信号１３を受けて、表示画面バッファ用アドレス信号２１、表示画面バッファ用制御信号２２および表示画面バッファ用データ信号２３に変換し、表示画面バッファ２に対して表示したい画像のデータを書込む処理を行い、そして表示画素データ信号１４を受けて表示デバイス３上に画像を表示させる。
【０００８】
つぎに、このような表示画面システムにおいて、複数の画像が、画面に対して奥行き方向で互いに重なり合い、前後の重なり関係を有する複数の画像が、その重なり状態を保ったまま、個々の画像が移動、変形、消去などの処理によって変化するようなアプリケーションを実現する場合の、ＣＰＵによる表示画面バッファ２への書込み動作を説明する。ここでは、図２４に示される画面から、図２５に示される画面に変化する場合を例に挙げて説明する。これらの図２４と図２５において、１０は表示画面全体を示し、１０１は山と月が示される背景画像としての画像を示し、１０２は横向きのヨットの画像を示し、１０３は波の画像を示し、１０４は「ヨット」という文字の画像を示し、そして１０５は前向きのヨットの画像を示している。
【０００９】
図２４の表示画面１０は、画像１０１〜１０４がこの順番に下から上に向かって、すなわち表示画面１０上で奥から手前に向かって重なって構成されている。また、図２５の表示画面１０は、図２４の表示画面１０において横向きのヨットの画像１０２が、前向きのヨットの画像１０５に変化したものであり、画像１０１、画像１０５、画像１０３および画像１０４が、この順番に表示画面１０上で奥から手前に向かって重なって構成されている。
【００１０】
これらの表示画面１０が表示デバイスに表示されるには、最初に、図２４に示されるようにＣＰＵ１は、第１に画像１０１を描画し、第２に画像１０２を描画し、第３に画像１０３を描画し、そして第４に画像１０４を描画する。そして、つぎに、再びＣＰＵ１は、第１に画像１０１を描画し、第２に画像１０５を描画し、第３に画像１０３を描画し、そして第４に画像１０４を描画する。このように、すべての画像を描画しなおすことによって、表示画面１０中の一部の画像を変化させる処理が実現される。
【００１１】
また、従来の表示画面システムにおいて、複数の画像が重なり合うような画面を表示する他の方法として、レイヤという概念を用いて表示画面を構成する方法が知られている。ここで、レイヤとは、下から上に順序を持って重なった複数の透明な層を意味するものである。この各レイヤに画像を描いて、透明な部分は下のレイヤの状態が透けて見えるようになっている。
【００１２】
図２９は、図２４の表示画面１０をレイヤで構成した場合を示している。７００〜７０３は、最下層からレイヤ０、レイヤ１、レイヤ２およびレイヤ３の４枚のレイヤをそれぞれ示している。
【００１３】
レイヤの概念を用いて表示画面を構成する場合には、まず、表示システムで必要となる重なり数分のレイヤを用意し、それぞれにレイヤに対して下から上に重ねるための順序付けを行う。図２９に示される例では、各レイヤ７００〜７０３は、表示画面１０と同様に画素が縦と横にマトリクス上に敷き詰められて構成される。
【００１４】
つぎに、透明な状態を表すために、画素データの一つを透過色として設定する。例えば、画素データが８ビットで構成される場合には、表現できる色の数は２５６（＝２８）色となるが、その内の一つを透過色として設定すると、表現できる色の数は２５５色となる。ただし、最下層のレイヤ０ではその下に透ける色がないため、透過色もそのまま一つの色として使用可能である。
【００１５】
このように定義された状態で、レイヤ７００〜７０３上に画像を描く。図２９では、レイヤ０は図２４の画像１０１に、レイヤ１は同じく画像１０２に、レイヤ２は同じく画像１０３に、そしてレイヤ３は同じく画像１０４に対応している。これらのレイヤ７００〜７０３において、画像がない部分は全て、画素データとして透過色が設定される。なお、画像自身の中に透過色がある場合はその部分は透明な状態であることになる。
【００１６】
全てのレイヤ７００〜７０３で同じ位置にある画素ごとに、最も上側のレイヤから最下層のレイヤに向かって順に画素データを透過色と比較し、透過色でない最初のレイヤの画素データが表示画面１０の画素データとなる。全ての画素位置に対して同じ処理を行い、画像１０１〜１０４が重なった表示画面１０の画面が実現される。
【００１７】
【発明が解決しようとする課題】
しかしながら、上述した従来の複数の画像を下から順に重ねて表示画像を作成する方法では、どちらも画面の一部の画像を変更する場合であっても、重なっているすべての画像を更新する必要がある。また、複数のレイヤで画像を構成する方法では、１枚のレイヤが変化した場合でも、すべての画素位置に対して最も上側のレイヤから最下層のレイヤに向かって順に画素データを透過色と比較し、透過色でない最も上側のレイヤの画素データを求める必要がある。したがって、どちらの表示画像を作成する方法でも重なる画像の数が多くなればなるほど、画像を表示させるための処理時間が増大してしまうという問題点があった。
【００１８】
この発明は上記に鑑みてなされたもので、複数の画像が重なって表示される表示画面を更新する場合に、すべての画像を更新することなく、表示画面の更新に要する時間を短縮してつぎの表示画面を生成することが可能な画面表示装置および画面表示方法を得ることを目的とする。
【００１９】
【課題を解決するための手段】
上記目的を達成するため、この発明にかかる画面表示装置は、表示装置に表示させる画像を構成する複数のレイヤの画素データをレイヤ毎に格納するレイヤ画面格納手段と、前記レイヤ毎の画素データが透過色か非透過色かの画素レイヤ状態データを格納するレイヤ状態格納手段と、透過色を含む画素データが記憶され、前記レイヤ画面格納手段に格納される複数のレイヤの画像データのうち非透過色の画素データを有する最も上側のレイヤの画素データを各画素毎に格納する表示画面格納手段と、画素データに変更のあるレイヤを指定する書込みレイヤ指定手段と、前記指定されたレイヤ内で画素データの更新が必要な画素について、前記レイヤ画面格納手段の対応するレイヤの画素データおよび／または前記レイヤ状態格納手段の対応するレイヤの画素レイヤ状態データを更新するとともに、前記表示画面格納手段の対応する画素データを更新する更新手段とを有する描画回路と、を備えることを特徴とする。
【００２０】
この発明によれば、レイヤ画面格納手段によって、表示装置に表示させる画像を構成する複数のレイヤの画素データがレイヤ毎に格納され、レイヤ状態格納手段によって、レイヤ毎の画素データが透過色か非透過色かの画素レイヤ状態データが格納される。また、表示画面格納手段によって、透過色を含む画素データが記憶され、レイヤ画面格納手段に格納される複数のレイヤの画像データのうち非透過色の画素データを有する最も上側のレイヤの画素データが各画素毎に格納される。そして、描画回路の書込みレイヤ指定手段によって、画素データに変更のあるレイヤが指定されると、描画回路の更新手段によって、指定されたレイヤ内で画素データの更新が必要な画素について、レイヤ画面格納手段の対応するレイヤの画素データおよび／またはレイヤ状態格納手段の対応するレイヤの画素レイヤ状態データが更新されるとともに、表示画面格納手段の対応する画素データが更新される。
【００２１】
つぎの発明にかかる画面表示方法は、表示装置に表示させる画像を構成する複数のレイヤの画素データをレイヤ毎に格納するレイヤ画面格納手段と、前記レイヤ毎の画素データが透過色か非透過色かの画素レイヤ状態データを格納するレイヤ状態格納手段と、を備え、透過色を含む画素データが記憶され、前記レイヤ画面格納手段に格納される複数のレイヤの画像データのうち非透過色の画素データを有する最も上側のレイヤの画素データを各画素毎に表示画面格納手段に格納する画面表示方法であって、画素データに変更のあるレイヤを指定し、前記指定されたレイヤ内で画素データの更新が必要な画素について、前記レイヤ画面格納手段の対応するレイヤの画素データおよび／または前記レイヤ状態格納手段の対応するレイヤの画素レイヤ状態データを更新するとともに、前記表示画面格納手段の対応する画素データを更新することを特徴とする。
【００２２】
この発明によれば、画素データに変更のあるレイヤを指定し、指定されたレイヤ内で画素データの更新が必要な画素について、レイヤ画面格納手段の対応するレイヤの画素データおよび／またはレイヤ状態格納手段の対応するレイヤの画素レイヤ状態データを更新するとともに、表示画面格納手段の対応する画素データを更新することによって、透過色を含む画素データが記憶され、レイヤ画面格納手段に格納される複数のレイヤの画像データのうち非透過色の画素データを有する最も上側のレイヤの画素データを各画素毎に表示画面格納手段に格納する画面表示方法が提供される。
【００２３】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる画面表示装置および画面表示方法の好適な実施の形態を詳細に説明する。
【００２４】
図１は、この発明にかかる画面表示装置の構成を示すブロック図である。図１において、画面表示装置は、画面の描画制御を行うＣＰＵ１、表示する画面の画素データを格納する表示画面バッファ２、表示画面バッファ２の画素データに基づいて表示を行う表示デバイス３、表示デバイス３への出力と、表示画面バッファ２を制御する表示コントローラ４、レイヤごとの画素データの画素の状態を格納するレイヤ状態バッファ６、画素データをレイヤごとに格納するレイヤ画面バッファ７、レイヤ状態バッファ６とレイヤ画面バッファ７を制御して表示画面バッファ２への描画を行う描画回路５を有する。
【００２５】
ＣＰＵ１は、アドレス信号１１、制御信号１２およびデータ信号１３によって表示画面の描画制御を行い、描画回路５に接続されている。
【００２６】
表示画面バッファ２は、表示する画面の画素データを格納するためのバッファメモリであり、表示コントローラ４と接続されている。ここで、この表示画面バッファ２は、特許請求の範囲の表示画面格納手段に対応している。
【００２７】
表示デバイス３は、表示画面バッファ２から取り出したデータに基づく表示画素データ信号１４によって表示を行い、表示コントローラ４と接続されている。
【００２８】
表示コントローラ４は、表示画面バッファ２と表示デバイス３と接続され、表示画面バッファ２からの画素データを取り出して、その画素データを表示画素データ信号１４として表示デバイス３への出力制御を行う。また、表示コントローラ４は、この表示画面バッファ２からの画素データの取り出しと、ＣＰＵ１から表示画面バッファ２への画素データの書込み制御との間の調停を行う。表示コントローラ４による表示画面バッファ２への制御は、表示画面バッファ用アドレス信号２１、表示画面バッファ用制御信号２２および表示画面バッファ用データ信号２３によって行われる。
【００２９】
レイヤ状態バッファ６は、描画回路５と接続され、表示する画面の各画素位置において、レイヤごとの画素データが透過であるか非透過であるかを示す画素レイヤ状態データを格納する。ここで、レイヤ状態バッファ６は、特許請求の範囲のレイヤ状態格納手段に対応している。
【００３０】
レイヤ画面バッファ７は、描画回路５と接続され、表示画面中に使用されるレイヤの画素データをレイヤごとに格納する。したがって、このレイヤ画面バッファ７は、表示画面中に使用されるレイヤの数の分だけ用意される。ここで、レイヤ画面バッファ７は、特許請求の範囲のレイヤ画面格納手段に対応している。
【００３１】
描画回路５は、ＣＰＵ１からのアドレス信号１１、制御信号１２およびデータ信号１３の入力を受けて、描画回路生成アドレス信号３１、描画回路生成制御信号３２および描画回路生成データ信号３３を出力する。そして、これらの信号３１〜３３によって、レイヤ状態バッファ６とレイヤ画面バッファ７を制御し、表示画面バッファ２への描画を行う。また、描画回路５は、表示画面バッファ２への描画の際に書込むレイヤを指定する書込みレイヤ指定レジスタ５１、画素データの一つを、該当する画素位置では該当する値となるレイヤを透過させる透過色として指定する透過色レジスタ５２を有する。なお、描画回路５が信号３１〜３３によってレイヤ状態バッファ６とレイヤ画面バッファ７を制御し、表示画面バッファ２へ描画を行う処理手段は、特許請求の範囲の更新手段に対応するものである。また、上記の書込みレイヤ指定レジスタ５１は特許請求の範囲の書込みレイヤ指定手段に対応し、透過色レジスタ５２は同じく透過色設定手段に対応している。
【００３２】
図２は、図１の画面表示装置中のＣＰＵ１からみたメモリマップを示している。この図２において、９はメモリマップ全体を示している。また、９１は表示画面バッファ２がメモリ上に配置される位置を示す表示画面バッファオフセットアドレスを示しており、この表示画面バッファオフセットアドレス９１によって定められるメモリ上の位置に表示画面バッファ２のエリアが配置される。９２はレイヤ状態バッファ６がメモリ上に配置される位置を示すレイヤ状態バッファオフセットアドレスを示しており、このレイヤ状態バッファオフセットアドレス９２によって定められるメモリ上の位置にレイヤ状態バッファ６のエリアが配置される。９３はレイヤ画面バッファ７がメモリ上に配置される位置を示すレイヤ画面バッファオフセットアドレスを示しており、表示画面を構成するレイヤの数だけ設定される。そして、このレイヤ画面バッファオフセットアドレス９３によって定められるメモリ上の位置に、各レイヤ画面バッファ７のエリアが配置される。なお、この図２では、画面はｎ＋１層（ｎは０以上の整数）のレイヤから構成され、レイヤ画面は、番号０から番号ｎの順に、下から上に重なるものとし、以下では、ｉを整数（０≦ｉ≦ｎ−１）とすると、番号ｉのレイヤ画面バッファ７を“レイヤｉ画面バッファ７”と表示している。
【００３３】
つぎに、図３のフローチャートを参照して、この画面表示装置における画面に対する画像の描画の動作手順を説明する。まず、ＣＰＵ１が描画回路５の透過色レジスタ５２に透過色を設定する（ステップＳ１）。ＣＰＵ１は、ステップＳ１の状態で、画像の描画が発生するまで待ち状態となる（ステップＳ２でＮｏの場合）。画像描画の発生の待ち状態から、ある画像の描画が発生した場合（ステップＳ２でＹｅｓの場合）には、ＣＰＵ１は描画回路５の書込みレイヤ指定レジスタ５１に画像を描画するレイヤ（以下、書込みレイヤという）の値を設定し（ステップＳ３）、その書込みレイヤ中における描画する画像の１画素の画素データの更新を行う（ステップＳ４）。その後、ＣＰＵ１は、書込みレイヤ中の画像の描画が完了したか否かを判定する（ステップＳ２４）。書込みレイヤ中の画像の描画が完了していない場合（ステップＳ２４でＮｏの場合）には、再びステップＳ４へ戻り、つぎの画素の画素データ更新を行う。一方、書込みレイヤの画像の描画が完了した場合（ステップＳ２４でＹｅｓの場合）には、再びステップＳ２へと戻り、画像の描画が発生するまで待ち状態となり、以上の動作処理が繰り返される。
【００３４】
つぎに、上述した図３のステップＳ３での描画回路５による１画素の更新の動作処理について、図４〜図５のフローチャートと図６〜図１３のタイミングチャートを参照しながらさらに詳細に説明する。図６〜図１３のタイミングチャートは、図４〜図５のフローチャートのステップＳ５〜Ｓ２３までに示される１つの画素データの表示画面バッファ２への描画動作について示すものである。また、図１４〜図２０は、予め、透過色と書込みレイヤが指定された状態で、書込み画素データを書込んだ場合の、表示デバイス３上に表示される表示画面、各レイヤの画素データおよびレイヤ状態バッファ６の画素レイヤ状態データについて描画前と描画後における変化の例を示している。これらの図１４〜図２０の例では、表示画面１０は、４つのレイヤ７００〜７０３から構成され、レイヤ１の画素データを更新する場合を示している。なお、これらの図１４〜図２０のレイヤ状態バッファ６において、“０”は透過を、“１”は非透過をそれぞれ示している。
【００３５】
まず、図６に示されるように、ＣＰＵ１がアドレス信号１１、制御信号１２およびデータ信号１３を用いて、１つの画素データの表示画面バッファ２への書込みを開始する。この画素データのことを、この明細書において、書込み画素データと呼ぶこととする。つづいて、描画回路５は、これらの信号１１〜１３を受けて、描画回路生成アドレス信号３１、描画回路生成制御信号３２および描画回路生成データ信号３３を用いて、レイヤ状態バッファ６から、書込みを行う画素の位置に対応する画素レイヤ状態データ、すなわち書込みを行う位置の画素が透過か非透過かの情報を読出す（ステップＳ５）。以上の動作が、タイミングｔ１のサイクルで実施される。
【００３６】
つぎに、書込み画素データが透過色と等しいかを判定する（ステップＳ６）。書き込み画素データが透過色と等しい場合（ステップＳ６でＹｅｓの場合）には、書込みレイヤ中の更新する位置の画素の状態が、ステップＳ５で読込んだ画素レイヤ状態データを参照して非透過であるか否かを判定する（ステップＳ７）。書込みレイヤ中の更新位置の画素の状態が非透過である場合（ステップＳ７でＹｅｓの場合）には、書込みレイヤの位置が、更新位置の画素と同じ位置の画素であって画素の状態が非透過である最も上側のレイヤの位置よりも下位か否かをステップＳ５で読込んだ画素レイヤ状態データを参照して判定する（ステップＳ９）。すなわち、書込みレイヤ指定レジスタ５１に格納されている書込みレイヤの値（番号）が、更新位置の画素と同じ位置であって画素の状態が非透過である最も上側のレイヤの値（番号）よりも小さいか否かをステップＳ５で読込んだ画素レイヤ状態データを参照して判定を行う。
【００３７】
書込みレイヤの位置と更新位置と同じ位置の画素であって非透過である最も上側のレイヤの位置が同じである場合（ステップＳ９でＮｏの場合）には、図５のＡ以下の処理および図７に示される処理が行われる。すなわち、タイミングｔ２のサイクルで、更新位置の画素に対応するレイヤ状態バッファ６の画素レイヤ状態データ（透過）を書込み（ステップＳ１２）、タイミングｔ３のサイクルで、更新位置と同じ位置の画素であって図形を有する（非透過である）最も上側のレイヤの画素データをレイヤ画面バッファ７から読出し（ステップＳ１３）、タイミングｔ４のサイクルで、表示画面バッファ２へステップ１３で読出した画素データを書込み（ステップＳ１４）、処理を終了する。図１４には、レイヤ１の黒色の画素データが透過色の書込み画素データに書き換えられている状態が示されている。描画前はレイヤ１が非透過の画素データを有する最も上側のレイヤであったので、描画後には、その下位のレイヤ０の画素が表示画面１０に表示されている。
【００３８】
一方、上述したステップＳ９で、書込みレイヤの位置が更新位置と同じ位置の画素であって非透過である最も上側のレイヤの位置よりも下位である場合（ステップＳ９でＹｅｓの場合）には、図５のＢ以下の処理および図８に示される処理が行われる。すなわち、タイミングｔ２のサイクルで、更新位置の画素に対応するレイヤ状態バッファ６の画素レイヤ状態データ（透過）を書込み（ステップＳ１５）、処理を終了する。図１５には、レイヤ１の黒色の画素データが透過色の書込み画素データに書き換えられている状態が示されている。しかし、描画前の非透過の画素データを有する最も上側のレイヤはレイヤ２であるので、レイヤ１が更新されても、表示画面１０上の表示に変化はない。
【００３９】
ステップＳ７で書込みレイヤ中の更新位置の画素の状態が透過である場合（ステップＳ７でＮｏの場合）には、更新位置の画素データに対して処理を行う必要がないので、そのまま処理を終了する（図９および図１６参照）。
【００４０】
つぎに、上述したステップＳ６で書込み画素データが透過色でない場合（ステップＳ６でＮｏの場合）には、書込みレイヤ中の更新する位置の画素の状態が、ステップＳ５で読込んだ画素レイヤ状態データを参照して非透過であるか否かを判定する（ステップＳ８）。書込みレイヤ中の更新位置の画素の状態が非透過である場合（ステップＳ８でＹｅｓの場合）には、書込みレイヤの位置が、更新位置の画素であって画素の状態が非透過である最も上側のレイヤの位置よりも下位か否かをステップＳ５で読込んだ画素レイヤ状態バッファ６を参照して判定する（ステップＳ１０）。すなわち、書込みレイヤ指定レジスタ５１に格納されている書込みレイヤの値（番号）が、更新位置の画素と同じ位置の画素であって画素の状態が非透過である最も上側のレイヤの値（番号）よりも小さいか否かをステップＳ５で読込んだ画素レイヤ状態データを参照して判定を行う。
【００４１】
書込みレイヤの位置と、更新位置と同じ位置の画素であって非透過である最も上側のレイヤの位置が同じである場合（ステップＳ１０でＮｏの場合）には、図５のＣ以下の処理および図１０に示される処理が行われる。すなわち、タイミングｔ２のサイクルで、書込みレイヤ指定レジスタ５１で指定された値のレイヤ画面バッファ７へ書込み画素データを書込み（ステップＳ１６）、タイミングｔ３のサイクルで、表示画面バッファ２へ書込み画素データを書込み（ステップＳ１７）、処理を終了する。図１７には、レイヤ１の黒色の画素データが右斜線の書込み画素データに書き換えられている状態が示されている。描画前の非透過の画素データを有する最も上側のレイヤはレイヤ１であるので、レイヤ１が更新された後には、表示画面１０上の表示は黒色の画素データから右斜線の画素データへと更新されている。
【００４２】
一方、上述したステップＳ１０で、書込みレイヤの位置が更新位置と同じ位置の画素であって非透過である最も上側のレイヤの位置よりも下位である場合（ステップＳ１０でＹｅｓの場合）には、図５のＤ以下の処理および図１１の処理が行われる。すなわち、タイミングｔ２のサイクルで、書込みレイヤ指定レジスタ５１で指定された値のレイヤ画面バッファ７へ書込み画素データを書込み（ステップＳ１８）、処理を終了する。図１８には、レイヤ１の黒色の画素データが右斜線の書込み画素データに書き換えられている状態が示されている。しかし、描画前の非透過の画素データを有する最も上側のレイヤはレイヤ２であるので、レイヤ１が更新されても、表示画面１０上の表示に変化はない。
【００４３】
また、上述したステップＳ８で、書込みレイヤ中の更新位置の画素の状態が透過である場合（ステップＳ８でＮｏの場合）には、書込みレイヤの位置が、更新位置の画素であって画素の状態が非透過である最も上側のレイヤの位置よりも下位か否かをステップＳ５で読込んだ画素レイヤ状態データを参照して判定する（ステップＳ１１）。すなわち、書込みレイヤ指定レジスタ５１に格納されている書込みレイヤの値（番号）が、更新位置の画素と同じ位置の画素であって画素の状態が非透過である最も上側のレイヤの値（番号）よりも小さいか否かをステップＳ５で読込んだ画素レイヤ状態データを参照して判定を行う。
【００４４】
書込みレイヤの位置が、更新位置と同じ位置の画素であって非透過である最も上側のレイヤの位置よりも小さい場合（ステップＳ１１でＹｅｓの場合）には、図５のＥ以下の処理および図１２に示される処理が行われる。すなわち、タイミングｔ２のサイクルで、書込みレイヤ指定レジスタ５１で指定された値のレイヤ画面バッファ７へ書込み画素データを書込み（ステップＳ１９）、タイミングｔ３のサイクルで、更新位置の画素に対応するレイヤ状態バッファ６の画素レイヤ状態データ（非透過）を書込み（ステップＳ２０）、処理を終了する。図１９には、レイヤ１の透過色の画素データが右斜線の書込み画素データに書き換えられている状態が示されている。しかし、描画前の非透過の画素データを有する最も上側のレイヤはレイヤ２であるので、レイヤ１が更新されても、表示画面１０上の表示に変化はない。
【００４５】
一方、上述したステップＳ１１で、書込みレイヤの位置が、更新位置と同じ位置の画素であって非透過である最も上側のレイヤの位置以上である場合（ステップＳ１１でＮｏの場合）には、図５のＦ以下の処理および図１３に示される処理が行われる。すなわち、タイミングｔ２のサイクルで、書込みレイヤ指定レジスタ５１で指定された値のレイヤ画面バッファ７へ書込み画素データを書込み（ステップＳ２１）、タイミングｔ３のサイクルで、更新位置の画素に対応するレイヤ状態バッファ６の画素レイヤ状態データ（非透過）を書込み（ステップＳ２２）、タイミングｔ４のサイクルで、表示画面バッファ２へ書込み画素データを書込み（ステップＳ２３）、更新位置における画素データの表示画面バッファ２への書込み処理を終了する。図２０には、レイヤ１の透過色の画素データが右斜線の書込み画素データに書き換えられている状態が示されている。描画前の非透過の画素データを有する最も上側のレイヤはレイヤ０であるので、レイヤ１が更新されると表示画面１０上にはレイヤ１の右斜線の画素データが表示される。
【００４６】
このように、この発明では、書込み画素データ、透過色および画素レイヤ状態データの状態によって場合分けを行い、それぞれの場合に対応した１画素の画素データの更新処理を行うことを特徴とする。
【００４７】
つぎに、上述した機能を有する描画回路５の具体例を示し、その動作を説明する。図２１〜図２３は、この発明にかかる描画回路の構成の一例を示している。
【００４８】
まず、５２は透過色レジスタを示し、透過色の値が設定される。また、５１は書込みレイヤ指定レジスタを示し、図形の描画が開始されると、書込みを行うレイヤの値が設定される。このとき、書込みレイヤ指定レジスタ５１のビットの大きさとしては、レイヤの数を表すことができるサイズを有する。
【００４９】
５３は２ビットのカウンタ回路を示し、５４はカウンタ回路５３のカウントのタイミングを制御するためのゲート回路を示している。これらは、描画回路５のサイクルの状態を生成するものであり、制御信号１２で描画回路５が選択されている間、ゲート回路５４のゲートが開き、カウンタ回路５３にカウンタクロックが入力されてカウントアップを行う。一方、制御信号１２で描画回路が非選択されていない間は、カウンタがセットされた状態となる。この動作によってカウンタ回路５３の出力が、１つの画素データを描画する場合の動作のサイクル状態を示す。
【００５０】
５５はレイヤ状態バッファ６の画素レイヤ状態データを保持するレイヤ状態バッファ画素レイヤ状態データレジスタを示し、５６はレイヤ状態バッファ画素レイヤ状態データレジスタ５５のラッチタイミングを制御するためのゲート回路である。カウンタ回路５３の出力であるサイクル状態と値“０”とを比較器６１によって比較し、等しい場合にゲート回路５６のゲートが開く。そして、レイヤ状態バッファ画素レイヤ状態データレジスタ５５にカウンタクロックが入力されて、描画回路生成データ信号３３上から、双方向バッファ８７を通るレイヤ状態バッファ６の画素レイヤ状態データがラッチされる。これによって、図４のフローチャートにおけるステップＳ５の動作が実現される。
【００５１】
５７はＣＰＵ１が書込む画素データを保持する書込み画素データレジスタを示し、５８は書込み画素データレジスタ５７のラッチタイミングを制御するためのゲート回路である。カウンタ回路５３の出力であるサイクル状態と値“０”とを比較器６１によって比較し、等しい場合にゲート回路５８のゲートが開き、書込み画素データレジスタ５７にカウンタクロックが入力されて、データ信号１３上からくる画素データがラッチされる。
【００５２】
５９はある位置における画素の状態が非透過である最も上側のレイヤのレイヤ画面バッファ７からの画素データを保持する有効最上層レイヤ画素データレジスタを示し、６０は有効最上層レイヤ画素データレジスタ５９のラッチタイミングを制御するためのゲート回路を示している。カウンタ回路５３の出力であるサイクル状態と値“２”とを比較器６２により比較し、等しい場合にゲート回路６０のゲートが開き、有効最上層レイヤ画素データレジスタ５９にカウンタクロックが入力される。そして、描画回路生成データ信号３３上から、双方向バッファ８７を通る該当画素位置で非透過である最も上側レイヤのレイヤ画面バッファ７の画素データがラッチされる。これによって、図４のフローチャートにおけるステップＳ１３の動作が実現される。
【００５３】
６３は比較器を示し、書込み画素データレジスタ５７の出力と透過色レジスタ５２の出力とを比較し、これらが等しい場合に“１”を、等しくない場合に“０”を出力する。これによって、図４のフローチャートにおけるステップＳ６の動作が実現される。
【００５４】
６４は比較器を示し、レイヤ状態バッファ画素レイヤ状態データレジスタ５５の出力の中で、書込みレイヤ指定レジスタ５１の値に基づいてセレクタ６５によって選択された出力と、“１”とを比較し、これらが等しい場合に“１”を、等しくない場合に“０”を出力する。これによって、図４のフローチャートにおけるステップＳ７，Ｓ８の動作が実現される。
【００５５】
６６は比較器を示し、デコーダ６７によって書込みレイヤ指定レジスタ５１の出力をデコードした値と、レイヤ状態バッファ画素レイヤ状態データレジスタ５５の出力とを比較し、書込みレイヤ指定レジスタ５１の出力をデコードした値が、レイヤ状態バッファ画素レイヤ状態データレジスタ５５の出力より大きい場合に“１”を、そうでない場合に“０”を出力する。
【００５６】
６８は比較器を示し、加算器７０で書込みレイヤ指定レジスタ５１の出力と値“１”とを加算した出力をデコーダ６９によってデコードした値と、レイヤ状態バッファ画素レイヤ状態データレジスタ５５の出力とを比較し、デコーダ６９からの出力が、レイヤ状態バッファ画素レイヤ状態データレジスタ５５の出力より大きい場合に“１”を、そうでない場合に“０”を出力する。
【００５７】
比較器６６と比較器６８によって図４のフローチャートにおけるステップＳ９〜Ｓ１１の動作が実現される。
【００５８】
７１は加算器を示し、レイヤ状態バッファ画素レイヤ状態データレジスタ５５の出力と、デコーダ７２によって書込みレイヤ指定レジスタ５１の出力をデコードした出力との加算を行う。これによって、書込みレイヤの画素レイヤ状態データが、透過の状態から非透過の状態に変化する場合の画素レイヤ状態データの更新データが生成される。
【００５９】
７３は減算器を示し、レイヤ状態バッファ画素レイヤ状態データレジスタ５５の出力から、デコーダ７４によって書込みレイヤ指定レジスタ５１の出力をデコードした出力の減算を行う。これによって、書込みレイヤの画素レイヤ状態データが、非透過の状態から透過の状態に変化する場合の画素レイヤ状態データの更新データが生成される。
【００６０】
７５はセレクタを示し、レイヤ画面バッファオフセットアドレス７７の中から、減算器７３の出力によって、その値が“２ｎ”〜“２ｎ＋１−１”の間となるｎで示されるレイヤｎ画面バッファオフセットアドレスを選択し出力する。値が０の時は、レイヤ０画面バッファオフセットアドレスを選択し出力する。値がマイナスの場合は任意の値が出力される。これによって、レイヤ状態バッファ画素レイヤ状態データレジスタ５５にラッチされた値から、非透過の最も上側のレイヤのレイヤ画面バッファオフセットアドレス７７が抽出される。
【００６１】
７６はセレクタを示し、レイヤ画面バッファオフセットアドレス７７の中から、書込みレイヤ指定レジスタ５１の値“ｐ”によって、この値ｐで示されるレイヤｐ画面バッファオフセットアドレスを選択し出力する。これによって、書込みレイヤ指定レジスタ５１に設定された値から、書込みレイヤのレイヤ画面バッファオフセットアドレスを抽出する。
【００６２】
７８はセレクタを示し、描画回路生成制御信号３２への出力を選択する。カウンタ回路５３、比較器６８，６６，６４，６３の出力をこの順序で２進数でみたときの値を１０進数に変換した値が、“０〜３，１０〜１３，４３”の場合に、リード（読出し）用の制御信号であるリード制御信号７９を出力し、“１６，１８，１９，２６〜２８，３２，４２，４４，５９，６０”の場合に、ライト（書込み）用の制御信号であるライト制御信号８０を出力し、それ以外の値の場合に、非アクセス状態を示す固定信号である非アクセス固定信号８１を出力する。
【００６３】
アドレス信号１１は、上位の表示画面バッファオフセットアドレス８４と下位の画素位置アドレス８３に分かれる。画素位置アドレス８３の大きさとしては、表示画面分の画素データを保存できるサイズとなる。
【００６４】
８２はセレクタを示し、描画回路生成アドレス信号３１への出力を選択する。カウンタ回路５３、比較器６８，６６，６４，６３の出力をこの順序で２進数でみたときの値を１０進数に変換した値が、“０〜３，１０〜１３，１９，２７，３２，４４”の場合にレイヤ状態バッファオフセットアドレス８５を選択し、“１６，１８，２６，２８”　の場合にセレクタ７６による出力を選択し、“４３”の場合にセレクタ７５による出力を選択し、“４２，５９，６０”の場合に表示画面バッファオフセットアドレス８４を選択し、それ以外の値の場合に任意の値を出力する。
【００６５】
８６はセレクタを示し、双方向バッファ８７を通して、描画回路生成データ信号３３への出力を選択する。カウンタ回路５３、比較器６８，６６，６４，６３の出力をこの順序で２進数でみたときの値を１０進数に変換した値が、“１９，２７”の場合に減算器７３の出力を選択し、“３２，４４”　の場合に加算器７１の出力を選択し、“１６，１８，２６，２８，４２，６０”の場合に書込み画素データレジスタ５７の出力を選択し、“５９”の場合に有効最上層レイヤ画素データレジスタ５９の出力を選択し、それ以外の値の場合に任意の値を出力する。
【００６６】
８７は双方向バッファを示し、描画回路生成データ信号３３の信号の方向を制御する。カウンタ回路５３、比較器６８，６６，６４，６３の出力をこの順序で２進数でみたときの値を１０進数に変換した値が、“１６，１８，１９，２６〜２８，３２，４２，４４，５９，６０”の場合に出力方向とし、それ以外の場合に入力方向とする。
【００６７】
このような回路構成によって、上述した図４〜図５の動作処理を実現することができる。
【００６８】
図２４と図２５は、この発明にかかる画面表示装置による画像を表示する場合の動作の一例を示している。まず、図２４の画面を表示するために、ＣＰＵ１は、第１に背景画像である画像１０１をレイヤ０の画面に描画し、第２に横向きのヨットの図形である図形１０２をレイヤ１の画面に描画し、第３に波の図形である図形１０３をレイヤ２画面に描画し、そして第４に「ヨット」という文字である図形１０４をレイヤ３画面に描画して、表示画面１０を表示する。つぎに、この図２４の表示画面の状態において、横向きのヨットの図形１０２を前向きのヨットの図形１０５に変更する処理を行うが、この場合には、図２４におけるレイヤ１の画面の図形１０２の領域を図２５の前向きのヨットの図形１０５に変更する処理を行う必要がある。そのためには、上述した方法によって、レイヤ１の変更前の画面の図形１０２の画素の一つ一つが変更後の図形１０５の画素に更新されていく。このようにして、更新された表示画面１０が図２５に示されている。このように、画面の変化する図形のみの描画で、画面の一部分を変化させることを実現できるので、描画にかかる処理負担を削減することができる。
【００６９】
【発明の効果】
以上説明したように、この発明によれば、表示装置に表示させる画像を構成する複数のレイヤの画素データをレイヤ毎に格納するレイヤ画面格納手段と、レイヤ毎の画素データが透過色か非透過色かの画素レイヤ状態データを格納するレイヤ状態格納手段と、画素データに変更のあるレイヤを指定し、指定されたレイヤ内で画素データの更新が必要な画素について、レイヤ画面格納手段の対応するレイヤの画素データおよび／またはレイヤ状態格納手段の対応するレイヤの画素レイヤ状態データを更新するとともに、表示画面格納手段の対応する画素データを更新する描画回路とを備えるように構成したので、画像の変化のあるレイヤのみを更新し、さらにそのレイヤの中の変化のある画素データのみを更新して、画像の描画にかかる処理負担を軽減し、画像を表示させるための処理時間を削減することができるという効果を有する。また、ある画素位置について、最上層のレイヤから最下層のレイヤに向かって順に画素データを透過色と比較し、透過色でない最上層のレイヤの画素データを求める必要がなくなり、画像を表示させるための処理時間を短縮することができるという効果を有する。
【００７０】
つぎの発明によれば、画素データに変更のあるレイヤを指定し、指定されたレイヤ内で画素データの更新が必要な画素について、レイヤ画面格納手段の対応するレイヤの画素データおよび／またはレイヤ状態格納手段の対応するレイヤの画素レイヤ状態データを更新するとともに、表示画面格納手段の対応する画素データを更新するようにしたので、画像の変化のあるレイヤのみを更新し、さらにそのレイヤの中の変化のある画素データのみを更新して、画像の描画にかかる処理負担を軽減し、画像を表示させるための処理時間を削減することができるという効果を有する。また、ある画素位置について、最上層のレイヤから最下層のレイヤに向かって順に画素データを透過色と比較し、透過色でない最上層のレイヤの画素データを求める必要がなくなり、画像を表示させるための処理時間を短縮することができるという効果を有する。
【図面の簡単な説明】
【図１】この発明による画面表示装置の構成を示すブロック図である。
【図２】この発明による画面表示装置のメモリマップを示す図である。
【図３】この発明による画面表示装置の描画動作を示すフローチャートである。
【図４】この発明による画素単位の描画動作を示すフローチャートである（その１）。
【図５】この発明による画素単位の描画動作を示すフローチャートである（その２）。
【図６】この発明による描画回路の画素データの書込み動作を示すタイミングチャートである。
【図７】この発明による描画回路の画素データの書込み動作を示すタイミングチャートである。
【図８】この発明による描画回路の画素データの書込み動作を示すタイミングチャートである。
【図９】この発明による描画回路の画素データの書込み動作を示すタイミングチャートである。
【図１０】この発明による描画回路の画素データの書込み動作を示すタイミングチャートである。
【図１１】この発明による描画回路の画素データの書込み動作を示すタイミングチャートである。
【図１２】この発明による描画回路の画素データの書込み動作を示すタイミングチャートである。
【図１３】この発明による描画回路の画素データの書込み動作を示すタイミングチャートである。
【図１４】書込み画素データの描画前後の表示画面、各レイヤの画素データおよびレイヤ状態バッファの状態を示す図である。
【図１５】書込み画素データの描画前後の表示画面、各レイヤの画素データおよびレイヤ状態バッファの状態を示す図である。
【図１６】書込み画素データの描画前後の表示画面、各レイヤの画素データおよびレイヤ状態バッファの状態を示す図である。
【図１７】書込み画素データの描画前後の表示画面、各レイヤの画素データおよびレイヤ状態バッファの状態を示す図である。
【図１８】書込み画素データの描画前後の表示画面、各レイヤの画素データおよびレイヤ状態バッファの状態を示す図である。
【図１９】書込み画素データの描画前後の表示画面、各レイヤの画素データおよびレイヤ状態バッファの状態を示す図である。
【図２０】書込み画素データの描画前後の表示画面、各レイヤの画素データおよびレイヤ状態バッファの状態を示す図である。
【図２１】この発明の描画回路の構成の一例を示す図である（その１）。
【図２２】この発明の描画回路の構成の一例を示す図である（その２）。
【図２３】この発明の描画回路の構成の一例を示す図である（その３）。
【図２４】表示画面の状態の例を示す図である。
【図２５】表示画面の状態の変化の例を示す図である。
【図２６】従来の画面表示システムの構成を示すブロック図である。
【図２７】従来の画面表示システムのメモリマップを示す図である。
【図２８】表示画面と画素の関係を示す図である。
【図２９】レイヤの構造を示す図である。
【符号の説明】
１　ＣＰＵ、２　表示画面バッファ、３　表示デバイス、４　表示コントローラ、５　描画回路、６　レイヤ状態バッファ、７　レイヤ画面バッファ、５１　書込みレイヤ指定レジスタ、５２　透過色レジスタ。
【図１】
2004021119.tif 000003
【図２】
2004021119.tif 000004
【図３】
2004021119.tif 000005
【図４】
2004021119.tif 000006
【図５】
2004021119.tif 000007
【図６】
2004021119.tif 000008
【図７】
2004021119.tif 000009
【図８】
2004021119.tif 000010
【図９】
2004021119.tif 000011
【図１０】
2004021119.tif 000012
【図１１】
2004021119.tif 000013
【図１２】
2004021119.tif 000014
【図１３】
2004021119.tif 000015
【図１４】
2004021119.tif 000016
【図１５】
2004021119.tif 000017
【図１６】
2004021119.tif 000018
【図１７】
2004021119.tif 000019
【図１８】
2004021119.tif 000020
【図１９】
2004021119.tif 000021
【図２０】
2004021119.tif 000022
【図２１】
2004021119.tif 000023
【図２２】
2004021119.tif 000024
【図２３】
2004021119.tif 000025
【図２４】
2004021119.tif 000026
【図２５】
2004021119.tif 000027
【図２６】
2004021119.tif 000028
【図２７】
2004021119.tif 000029
【図２８】
2004021119.tif 000030
【図２９】
2004021119.tif 000031