(57)【特許請求の範囲】
【請求項１】
描画結果を記憶するフレームバッファと、
前記フレームバッファよりも高速で、かつ記憶容量が小さい第１のテンポラリメモリおよび第２のテンポラリメモリと、
前記第１のテンポラリメモリに描画範囲を割り当て、割り当てた描画範囲に収まる限り、前記第１のテンポラリメモリに対して描画をおこなう第１の工程、描画を行う範囲が、前記第１のテンポラリメモリに割り当てた描画範囲から外れると、前記第１のテンポラリメモリと前記フレームバッファの間でブレンド処理をおこない、処理結果を前記フレームバッファに書き込みながら、前記第２のテンポラリメモリに、前記第１のテンポラリメモリに割り当てた描画範囲と異なる描画範囲を割り当て、割り当てた描画範囲に収まる限り、前記第２のテンポラリメモリに対して描画をおこなう第２の工程、描画を行う範囲が、前記第２のテンポラリメモリに割り当てた描画範囲から外れると、前記第２のテンポラリメモリと前記フレームバッファの間でブレンド処理をおこない、処理結果を前記フレームバッファに書き込みながら、前記第１のテンポラリメモリに、前記第２のテンポラリメモリに割り当てた描画範囲と異なる描画範囲を割り当て、割り当てた描画範囲に収まる限り、前記第１のテンポラリメモリに対して描画をおこなう第３の工程、以下第２の工程と第３の工程の交互の繰り返しを処理装置におこなわせるプログラムと、
前記プログラムを実行する前記処理装置と、
を具備することを特徴とする描画装置。
【請求項２】
描画結果を記憶するフレームバッファと、
前記フレームバッファよりも高速で、かつ記憶容量が小さい第１のテンポラリメモリおよび第２のテンポラリメモリと、
前記第１のテンポラリメモリに描画範囲を割り当て、割り当てた描画範囲に収まる限り、前記第１のテンポラリメモリに対して描画をおこなう第１の工程、
描画を行う範囲が、前記第１のテンポラリメモリに割り当てた描画範囲から外れると、前記第２のテンポラリメモリに、前記第１のテンポラリメモリに割り当てた描画範囲と異なる描画範囲を割り当て、割り当てた描画範囲に収まる限り、前記第２のテンポラリメモリに対して描画をおこなう第２の工程、
描画を行う範囲が、前記第１のテンポラリメモリに割り当てた描画範囲から外れると、前記第１のテンポラリメモリと前記フレームバッファの間でブレンド処理をおこない、処理結果を前記フレームバッファに書き込む第３の工程、
描画を行う範囲が、前記第２のテンポラリメモリに割り当てた描画範囲から外れると、前記第１のテンポラリメモリに、前記第２のテンポラリメモリに割り当てた描画範囲と異なる描画範囲を割り当て、割り当てた描画範囲に収まる限り、前記第１のテンポラリメモリに対して描画をおこなう第４の工程、
描画を行う範囲が、前記第２のテンポラリメモリに割り当てた描画範囲から外れると、前記第２のテンポラリメモリと前記フレームバッファの間でブレンド処理をおこない、処理結果を前記フレームバッファに書き込む第５の工程、
以下第２の工程から第５の工程の繰り返しを処理装置におこなわせるプログラムと、
前記プログラムを実行する前記処理装置と、
を具備することを特徴とする描画装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アルファブレンド機能を具えた描画装置および表示制御装置に関する。コンピュータシステムやカーナビゲーションシステムなどでは、フレームバッファに対して描画をおこなって画像データを記憶させた後、フレームバッファから表示画面分のデータを読み出してディスプレイに表示している。アルファブレンド処理（透過描画処理）は、二つの画像を半透明合成する機能である。
【背景技術】
【０００２】
一般に、フレームバッファには大きなメモリ空間が要求されるので、ＳＤＲＡＭ（シンクロナスＤＲＡＭ）等の安価で低速なメモリが用いられる。このような描画装置において、テンポラリメモリとして高速で高価なＳＲＡＭを小容量搭載し、そのテンポラリメモリに対して描画をおこない、その描画結果をテンポラリメモリからフレームバッファに書き出す構成のものがある。この描画装置では、高速なＳＲＡＭに対して描画をおこなうので、描画を高速におこなうことができる。
【０００３】
このようなテンポラリメモリを搭載した描画装置において、テンポラリメモリと、テンポラリメモリに対して描画をおこなう描画部を複数ずつ設け、それらを並列に動作させれば、より一層描画の高速化を図ることが可能であると考えられる。しかし、アルファブレンド処理では、以前の描画結果を参照する必要があるため、単純に描画部とテンポラリメモリを複数ずつ用意しただけでは、一方の描画部の描画結果をもう一方の描画部が参照する際に正しく動作しない。
【０００４】
そこで、第１５図に示すように、フレームバッファ１に対して一つのテンポラリメモリ２を設け、このテンポラリメモリ２に対して複数の描画部３，４がアクセスするという構成が考えられる。この場合、テンポラリメモリ２として用いられるＳＲＡＭは、同時に多くのアクセスを処理することができない。したがって、複数の描画部３，４が同時にテンポラリメモリ２にアクセスした場合に、いずれか一つの描画部３のアクセスを有効とし、そのアクセスが終了するまで他の描画部４のアクセスを待機させる必要があり、そのための調停部５が必要となる。
【０００５】
あるいは、第１６図に示すように、フレームバッファ１に対して複数のテンポラリメモリ６，７を設け、各テンポラリメモリ６，７に一つずつ描画部３，４を接続するとともに、各テンポラリメモリ６，７の内容をフレームバッファ１上で全く重ならない領域に限定するという構成が考えられる。この場合、描画する図形が全く重ならないことを予め判定する必要があるため、重複判定・分配部８が必要となる。
【０００６】
また、描画のアルファブレンド処理と表示の透過／非透過処理の両方をおこなう表示制御装置や、描画のアルファブレンド処理と表示のアルファブレンド処理の両方をおこなう表示制御装置がある。
【０００７】
表示の透過／非透過処理は、フレームバッファから複数の表示画面領域のデータを読み出し、画面相互間で透過／非透過処理をおこなうものである。この場合、特定の色を透過色とし、その色であるか否かによって透過するかしないかを切り替える方法（第１７図参照）や、色情報に透過率情報を加えておき、その透過率でもって表示の透過／非透過処理をおこなう方法がある。
【０００８】
第１７図では、（ａ）が描画アルファブレンド処理がない場合の透過処理画面であり、（ｂ）が被透過処理画面であり、（ｃ）が表示の透過／非透過処理結果を示す画面である。第１７図（ａ）の透過処理画面では、台形１１に三角形１２の下半部を埋め込んだような図柄が描かれている。第１７図（ｃ）では、その台形１１と三角形１２からなる図柄の周囲が、第１７図（ｂ）に示す背景１３，１４となっているが、台形１１と三角形１２は透けてはいない。
【０００９】
描画のアルファブレンド処理は、一つの画面内で、フレームバッファに描画された画像と、これから描画する画像との間でアルファブレンド処理をおこなうものである。描画には何も描かれていない状態の初期値があり、その初期値に対して描画をおこなう。一般的には、フレームバッファを予め０でクリアしておき、カラー値０、すなわち黒に対して描画をおこなう。
【００１０】
第１８図（ｂ）は、第１８図（ａ）に示す画像（第１７図（ａ）と同じ）に対して、三角形１２を描画アルファブレンド処理したものである。第１８図（ａ）では、三角形１２が透けていないので、台形１１や背景１５の、三角形１２と重なる部分は見えていない。それに対して、第１８図（ｂ）では、三角形１２が透けているので、三角形１２の上半部１６では背景１５の色や模様が薄く見え、三角形１２の下半部１７では台形１１の色や模様が薄く見えている。
【００１１】
表示のアルファブレンド処理は、描画処理がおこなわれる複数の画面間でブレンド処理をおこなうものである。フレームバッファから複数の表示画面領域のデータを読み出し、ブレンド画面と被ブレンド画面との間での処理となる。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、第１５図に示す構成の装置では、複数の描画部３，４が同時にテンポラリメモリ２にアクセスした場合に、調停部５により調停がおこなわれる。その結果、一つの描画部３のアクセスが有効となり、その他の描画部４は待機状態となるため、装置全体として描画の高速化を図ることができないという問題点がある。
【００１３】
また、第１６図に示す構成の装置では、重複判定・分配部８が、描画する図形が全く重ならないことを予め判定するのに時間がかかるため、装置全体として描画の高速化を図ることができないという問題点がある。
【００１４】
また、描画のアルファブレンド処理と表示のアルファブレンド処理の両方をおこなう場合、描画のアルファブレンド処理が黒に対しておこなわれるので、フレームバッファの描画結果は黒が透過される。この画面を表示ブレンド処理した場合、描画ブレンドの済んだ黒っぽい色が、ブレンド画面とされてしまう。表示の透過／非透過処理の場合でも、表示非透過部分が黒っぽい色になり、被透過画面とのブレンドはおこなわれない（第１９図参照）。
【００１５】
すなわち、第１９図では、（ａ）が描画アルファブレンド処理がある場合の透過処理画面であり、（ｂ）が被透過処理画面であり、（ｃ）が表示の透過／非透過処理結果を示す画面である。第１９図（ａ）の透過処理画面では、台形１１に三角形１２の下半部を埋め込んだような図柄において、三角形１２が透けているので、三角形１２の上半部１６では背景１５の色や模様が薄く見え、三角形１２の下半部１７では台形１１の色や模様が薄く見えている。第１９図（ｃ）では、その台形１１と三角形１２からなる図柄の周囲が、第１９図（ｂ）に示す背景１３，１４となっているが、三角形１２の上半部１６では第１９図（ａ）の背景１５の色や模様が薄く見えたままである。
【００１６】
本来ならば、三角形１２が透けるので、第１９図（ｄ）に示すように、三角形１２の上半部１８では第１９図（ｂ）の上半部の背景１３の色や模様が薄く見えなければならない。このように、従来は、描画のアルファブレンド処理と表示の透過／非透過処理の両方をおこなったり、あるいは描画のアルファブレンド処理と表示のアルファブレンド処理の両方をおこなうと、本来意図する画面とは異なる画面が表示されてしまうという問題点がある。
【００１７】
本発明は、上記問題点に鑑みてなされたものであって、複数の高速なテンポラリメモリに対する描画処理を同時におこなうことにより描画の高速化を図り、かつ、アルファブレンド処理時に、不整合を起こさずに正常な描画をおこなうことができる描画装置を提供することを目的とする。
【００１８】
また、本発明は、描画のアルファブレンド処理と表示の透過／非透過処理の両方をおこなっても、また描画のアルファブレンド処理と表示のアルファブレンド処理の両方をおこなっても、それぞれの処理が合成された表示結果を正しく得ることができる表示制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１９】
上記目的を達成するため、本発明にかかる描画装置は、低速で大容量のフレームバッファと、高速で、かつ記憶容量の小さいテンポラリメモリとを備える。そして、テンポラリメモリ描画部は、テンポラリメモリに既に記憶されている描画結果と、テンポラリメモリにこれから描画する描画結果とをブレンド処理し、そのブレンド処理結果をテンポラリメモリに格納する。フレームバッファ描画部は、フレームバッファに既に記憶されている描画結果と、テンポラリメモリに記憶されている描画結果とをブレンド処理し、そのブレンド処理結果をフレームバッファに格納する。
【００２０】
この発明において、テンポラリメモリ描画部は、つぎの構成となっている。すなわち、これからテンポラリメモリに描画する画像のカラーコードＣから、既にテンポラリメモリに描画されている画像のカラーコードＣtを減算する第１の減算器を有する。また、第１の減算器の演算結果に、これからテンポラリメモリに描画する画像のブレンド率αを乗算する第１の乗算器を有する。また、第１の乗算器の演算結果に、これからテンポラリメモリに描画する画像のカラーコードＣを加算し、その演算結果を、既にテンポラリメモリに描画されている画像の新たなカラーコードとする加算器を有する。また、１から、これからテンポラリメモリに描画する画像のブレンド率αを減算する第２の減算器を有する。また、第２の減算器の演算結果に、既にテンポラリメモリに描画されている画像のブレンド率αtを乗算し、その演算結果を、既にテンポラリメモリに描画されている画像の新たなブレンド率とする第２の乗算器を有する。
【００２１】
さらに、フレームバッファ描画部は、つぎの構成となっている。すなわち、フレームバッファに描画されている画像のカラーコードＣfに、テンポラリメモリに描画されている画像のブレンド率αｔを乗算する第３の乗算器を有する。また、第３の乗算器の演算結果に、テンポラリメモリに描画されている画像のカラーコードＣtを加算し、その演算結果を、フレームバッファに描画されている画像の新たなカラーコードとする第２の加算器を有する。
【００２２】
この発明によれば、テンポラリメモリ描画部が、テンポラリメモリに既に記憶されている描画結果と、テンポラリメモリにこれから描画する描画結果とをブレンド処理し、フレームバッファ描画部が、フレームバッファに既に記憶されている描画結果と、テンポラリメモリに記憶されている描画結果とをブレンド処理するので、高速描画が可能で、かつアルファブレンド処理を正常におこなうことができる。
【００２３】
また、上記目的を達成するため、本発明にかかる表示制御装置では、描画部は、フレームバッファに既に記憶されている描画結果と、フレームバッファにこれから描画する描画結果とをブレンド処理し、そのブレンド処理結果をフレームバッファに格納する。そして、表示制御部は、フレームバッファに既に記憶されている複数の描画結果を画素単位で透過もしくは非透過の処理をして合成する。
【００２４】
この発明において、描画部は、つぎの構成となっている。すなわち、これからフレームバッファに描画する画像のカラーコードＣから、既にフレームバッファに描画されている画像のカラーコードＣfを減算する第１の減算器を有する。また、第１の減算器の演算結果に、これからフレームバッファに描画する画像のブレンド率αを乗算する第１の乗算器を有する。また、第１の乗算器の演算結果に、これからフレームバッファに描画する画像のカラーコードＣを加算し、その演算結果を、既にフレームバッファに描画されている画像の新たなカラーコードとする加算器を有する。また、１から、これからフレームバッファに描画する画像のブレンド率αを減算する第２の減算器を有する。また、第２の減算器の演算結果に、既にフレームバッファに描画されている画像のブレンド率αfを乗算し、その演算結果を、既にフレームバッファに描画されている画像の新たなブレンド率とする第２の乗算器を有する。
【００２５】
さらに、表示制御部は、つぎの構成となっている。すなわち、被透過画面に描画されている画像のカラーコードＣdに、透過画面に描画されている画像のブレンド率αsを乗算する第３の乗算器を有する。また、第３の乗算器の演算結果に、透過画面に描画されている画像のカラーコードＣsを加算し、その演算結果を合成結果とする第２の加算器を有する。
【００２６】
この発明によれば、描画部が、フレームバッファに既に記憶されている描画結果と、フレームバッファにこれから描画する描画結果とをブレンド処理し、表示制御部が、フレームバッファに既に記憶されている複数の描画結果を画素単位で透過もしくは非透過の処理をして合成するので、描画のアルファブレンド処理とともに、表示の透過／非透過処理をおこなっても、それぞれの処理が合成された表示結果を正しく得ることができる。
【００２７】
また、上記目的を達成するため、本発明にかかる表示制御装置では、描画部は、フレームバッファに既に記憶されている描画結果と、フレームバッファにこれから描画する描画結果とをブレンド処理し、そのブレンド処理結果をフレームバッファに格納する。そして、表示制御部は、フレームバッファに既に記憶されている複数の描画結果をブレンド処理して合成する。
【００２８】
この発明において、描画部は、つぎの構成となっている。すなわち、これからフレームバッファに描画する画像のカラーコードＣから、既にフレームバッファに描画されている画像のカラーコードＣfを減算する第１の減算器を有する。また、第１の減算器の演算結果に、これからフレームバッファに描画する画像のブレンド率αを乗算する第１の乗算器を有する。また、第１の乗算器の演算結果に、これからフレームバッファに描画する画像のカラーコードＣを加算し、その演算結果を、既にフレームバッファに描画されている画像の新たなカラーコードとする加算器を有する。また、１から、これからフレームバッファに描画する画像のブレンド率αを減算する第２の減算器を有する。また、第２の減算器の演算結果に、既にフレームバッファに描画されている画像のブレンド率αfを乗算し、その演算結果を、既にフレームバッファに描画されている画像の新たなブレンド率とする第２の乗算器を有する。
【００２９】
さらに、表示制御部は、つぎの構成となっている。すなわち、被透過画面に描画されている画像のカラーコードＣdに、透過画面に描画されている画像のブレンド率αsを乗算する第３の乗算器を有する。また、透過画面に描画されている画像のカラーコードＣsから、第３の乗算器の演算結果を減算する第３の減算器を有する。また、第３の減算器の演算結果に、透過画面と被透過画面の表示透過率αxを乗算する第４の乗算器を有する。また、第４の乗算器の演算結果と、第３の乗算器の演算結果とを加算し、その演算結果を合成結果とする第２の加算器を有する。
【００３０】
この発明によれば、描画部が、フレームバッファに既に記憶されている描画結果と、フレームバッファにこれから描画する描画結果とをブレンド処理し、表示制御部が、フレームバッファに既に記憶されている複数の描画結果をブレンド処理して合成するので、描画のアルファブレンド処理とともに、表示のアルファブレンド処理をおこなっても、それぞれの処理が合成された表示結果を正しく得ることができる。
【発明を実施するための最良の形態】
【００３１】
以下に、本発明の実施の形態について図面を参照しつつ詳細に説明する。
【００３２】
（実施の形態１）
実施の形態１では、フレームバッファに対する演算と、テンポラリメモリに対する演算とを分離しておこなうので、まず、この演算の分離の仕方について説明する。
【００３３】
フレームバッファに既に描画されているカラーコードをＣFとし、１番目に描画するカラーコードをＣ1とする。そして、１番目に使用するブレンド率（０．０〜１．０）をα1とすると、既に描画されているフレームバッファカラーＣFと、１番目に描画するカラーＣ1とのブレンド結果Ｃ1Fは、つぎの（１）式で表される。
【００３４】
Ｃ1F＝α1Ｃ1＋（１−α1）ＣF  ・・・（１）
【００３５】
この（１）式で表されるブレンド処理によって、フレームバッファに既に描画されているカラーコードはＣ1Fとなる。つぎに、２番目に描画するカラーコードをＣ2とし、２番目に使用するブレンド率（０．０〜１．０）をα2とする。この場合、既に描画されているフレームバッファカラーＣ1Fと、２番目に描画するカラーＣ2とのブレンド結果Ｃ21Fは、つぎの（２）式で表される。
【００３６】
Ｃ21F＝α2Ｃ2＋（１−α2）Ｃ1F  ・・・（２）
【００３７】
この（２）式で表されるブレンド処理によって、フレームバッファに既に描画されているカラーコードはＣ21Fとなる。したがって、３番目に描画するカラーコードをＣ3とし、３番目に使用するブレンド率（０．０〜１．０）をα3とすると、既に描画されているフレームバッファカラーＣ21Fと、３番目に描画するカラーＣ3とのブレンド結果Ｃ321Fは、つぎの（３）式で表される。
【００３８】
Ｃ321F＝α3Ｃ3＋（１−α3）Ｃ21F  ・・・（３）
【００３９】
以下、省略するが、４番目以降に描画するカラーとのブレンド結果についても同様である。上述した（１）〜（３）式の演算をそれぞれつぎの（４）〜（６）式のように変形する。この演算の変形は、４番目以降に描画するカラーとのブレンド結果についても同様である。
【００４０】
Ｃ1F＝α1Ｃ1＋（１−α1）ＣF
＝Ｃ1'＋（１−α1）ＣF  ・・・（４）
Ｃ21F＝α2Ｃ2＋（１−α2）Ｃ1F
＝α2Ｃ2＋（１−α2）Ｃ1'＋（１−α2）（１−α1）ＣF
＝Ｃ21'＋（１−α2）（１−α1）ＣF  ・・・（５）
Ｃ321F＝α3Ｃ3＋（１−α3）Ｃ21F
＝α3Ｃ3＋（１−α3）Ｃ21'＋（１−α3）（１−α2）（１−α1）ＣF
＝Ｃ321'＋（１−α3）（１−α2）（１−α1）ＣF  ・・・（６）
【００４１】
上述したように演算を変形することにより、テンポラリメモリに対する演算Ｃ1'、Ｃ21'およびＣ321'と、フレームバッファに対する演算（１−α1）ＣF、（１−α2）（１−α1）ＣFおよび（１−α3）（１−α2）（１−α1）ＣFが分離される。したがって、テンポラリメモリが複数存在する場合、各テンポラリメモリで独立して、テンポラリメモリに対する演算Ｃ1'、Ｃ21'およびＣ321'をおこなうことができる。
【００４２】
そして、各描画段階においてテンポラリメモリに記録されるカラーコードとアルファ要素は、１回目の描画ではＣ1'と（１−α1）となり、２回目の描画ではＣ21'と（１−α2）（１−α1）となり、３回目の描画ではＣ321'と（１−α3）（１−α2）（１−α1）となる。以下、同様にして、テンポラリメモリに記録されるカラーコードとアルファ要素は上書きされていく。
【００４３】
テンポラリメモリに格納された描画情報、すなわちカラーコードおよびアルファ要素をそれぞれＣTおよびαTとすると、最終的にテンポラリメモリとフレームバッファとの間でおこなう演算は、つぎの（７）式で表される。
【００４４】
ＣTF＝ＣT＋αTＣF  ・・・（７）
【００４５】
上述したように、テンポラリメモリが複数存在する場合、テンポラリメモリに対する演算ＣTは、各テンポラリメモリで独立しておこなうことができる。ただし、複数のテンポラリメモリとフレームバッファとの間で上記（７）式の演算をおこなう際には、上記（７）式の演算対象となるテンポラリメモリの順番を、描画命令の順番に合わせる必要がある。
【００４６】
具体的に説明すると、たとえば１番目から５番目までの描画命令に基づく描画を第１のテンポラリメモリに対しておこない、６番目から１０番目までの描画命令に基づく描画を第２のテンポラリメモリに対しておこなう場合、それぞれのテンポラリメモリに対する演算ＣTは、並行しておこなうことができる。そして、テンポラリメモリとフレームバッファとの間の最終的な演算ＣTFについては、第１のテンポラリメモリについての演算を先におこない、そのあとに第２のテンポラリメモリについての演算をおこなうことにより、整合性を保つことができる。
【００４７】
つぎに、実施の形態１の具体的な構成について説明する。第１図は、実施の形態１の描画装置の概略構成を示すブロック図である。第１図に示すように、実施の形態１の描画装置２０は、ＳＤＲＡＭ等で構成されるフレームバッファ２１、フレームバッファ２１に対して描画をおこなうフレームバッファ描画部２２、ＳＲＡＭ等で構成される小容量（たとえば６４×６４ピクセル）で高速な第１のテンポラリメモリ２６、ＳＲＡＭ等で構成される小容量（たとえば６４×６４ピクセル）で高速な第２のテンポラリメモリ２７、第１のテンポラリメモリ２６に対して描画をおこなう第１のテンポラリメモリ描画部２３、第２のテンポラリメモリ２７に対して描画をおこなう第２のテンポラリメモリ描画部２４、および描画命令により描かれる図形が収まる範囲を、第１のテンポラリメモリ２６または第２のテンポラリメモリ２７に割り当てる分配部２５を備えている。
【００４８】
つぎに第１のテンポラリメモリ描画部２３および第２のテンポラリメモリ描画部２４の構成について説明する。ただし、第１のテンポラリメモリ描画部２３と第２のテンポラリメモリ描画部２４とは同一構成であるので、ここでは第１のテンポラリメモリ描画部２３について説明し、第２のテンポラリメモリ描画部２４については、符号を括弧書きにして説明を省略する。また、この説明においては、既にテンポラリメモリ２６，２７に描画されている画像のカラーコードおよびブレンド率をそれぞれＣtおよびαtとし、これからテンポラリメモリ２６，２７に描画する画像のカラーコードおよびブレンド率をそれぞれＣおよびαとする。
【００４９】
第２図は、第１のテンポラリメモリ描画部２３（第２のテンポラリメモリ描画部２４）の構成を示すブロック図である。第１のテンポラリメモリ描画部２３（第２のテンポラリメモリ描画部２４）は、第１の減算器３１、第１の乗算器３２、第１の加算器３３、第２の減算器３４および第２の乗算器３５を備えている。これら第１の減算器３１、第１の乗算器３２、第１の加算器３３、第２の減算器３４および第２の乗算器３５による演算によって、上述した各描画段階のカラーコードとアルファ要素、すなわちＣ1'と（１−α1）、Ｃ21'と（１−α2）（１−α1）、およびＣ321'と（１−α3）（１−α2）（１−α1）が求められる。
【００５０】
第１の減算器３１は、これからテンポラリメモリ２６（２７）に描画する画像のカラーコードＣから、既にテンポラリメモリ２６（２７）に描画されている画像のカラーコードＣtを減算する。第１の乗算器３２は、第１の減算器３１の演算結果に、これからテンポラリメモリ２６（２７）に描画する画像のブレンド率αを乗算する。
【００５１】
第１の加算器３３は、第１の乗算器３２の演算結果に、これからテンポラリメモリ２６（２７）に描画する画像のカラーコードＣを加算する。第１の加算器３３の演算結果Ｃt'は、既にテンポラリメモリ２６（２７）に描画されている画像の新たなカラーコードとして、テンポラリメモリ２６（２７）に格納され、この次のテンポラリメモリ２６（２７）に対する描画の際に、既にテンポラリメモリ２６（２７）に描画されている画像のカラーコードＣtとなる。
【００５２】
第２の減算器３４は、１から、これからテンポラリメモリ２６（２７）に描画する画像のブレンド率αを減算する。第２の乗算器３５は、第２の減算器３４の演算結果に、既にテンポラリメモリ２６（２７）に描画されている画像のブレンド率αtを乗算する。第２の乗算器３５の演算結果αt'は、既にテンポラリメモリ２６（２７）に描画されている画像の新たなブレンド率として、テンポラリメモリ２６（２７）に格納され、この次のテンポラリメモリ２６（２７）に対する描画の際に、既にテンポラリメモリ２６（２７）に描画されている画像のブレンド率αtとなる。
【００５３】
つぎに、フレームバッファ描画部２２の構成について説明する。この説明においては、テンポラリメモリ２６，２７に描画されている画像のカラーコードおよびブレンド率をそれぞれＣtおよびαtとし、フレームバッファ２１に描画されている画像のカラーコードをＣfとする。
【００５４】
第３図は、フレームバッファ描画部２２の構成を示すブロック図である。フレームバッファ描画部２２は、第３の乗算器３６および第２の加算器３７を備えている。これら第３の乗算器３６および第２の加算器３７による演算によって、前記（７）式の演算がおこなわれる。ただし、Ｃt＝ＣTであり、αT＝αtであり、Ｃf＝ＣFである。
【００５５】
第３の乗算器３６は、フレームバッファ２１に描画されている画像のカラーコードＣfに、テンポラリメモリ２６（または２７）に描画されている画像のブレンド率αtを乗算する。第２の加算器３７は、第３の乗算器３６の演算結果に、テンポラリメモリ２６（または２７）に描画されている画像のカラーコードＣtを加算する。第２の加算器３７の演算結果Ｃf'（前記（７）式のＣTF）は、フレームバッファ２１に描画されている画像の新たなカラーコードとして、フレームバッファ２１に格納され、この次のテンポラリメモリ２７（または２６）とフレームバッファ２１との間の最終的な演算をおこなう際に、フレームバッファ２１に描画されている画像のカラーコードＣfとなる。
【００５６】
つぎに、実施の形態１の描画装置２０の動作について説明する。まず、あらかじめ、第１のテンポラリメモリ２６および第２のテンポラリメモリ２７を、Ｃ＝０、α＝１．０でクリアしておく。このクリア処理は、第２図に示す第１のテンポラリメモリ描画部２３および第２のテンポラリメモリ描画部２４におけるブレンド処理動作において、初回動作時にＣt＝αＣ、αt＝（１−α）とするためである。
【００５７】
まず、分配部２５は、描画命令により描かれる図形が収まる範囲、たとえば６４×６４ピクセルの範囲を、第１のテンポラリメモリ２６に割り当てる。この第１のテンポラリメモリ２６に割り当てられた範囲を、便宜上、範囲Ａと表す。そして、分配部２５は、描画命令により描かれる図形が範囲Ａに収まる限り、描画命令を第１のテンポラリメモリ描画部２３に送りつづける。第１のテンポラリメモリ描画部２３は、送られてきた描画命令にしたがって、第１のテンポラリメモリ２６に対して描画処理をおこなう。
【００５８】
第１のテンポラリメモリ２６に対して描画処理をおこなっている途中で、描画命令により描かれる図形が範囲Ａから外れると、分配部２５は、その範囲Ａから外れた図形を含む新たな６４×６４ピクセルの範囲を、第２のテンポラリメモリ２７に割り当てる。このときの第１のテンポラリメモリ２６に記録されたカラーコードおよびアルファ要素を、それぞれＣ1Tおよびα1Tとする。また、このときに第２のテンポラリメモリ２６に割り当てられた範囲を、便宜上、範囲Ｂと表す。
【００５９】
そして、分配部２５は、描画命令により描かれる図形が範囲Ｂに収まる限り、描画命令を第２のテンポラリメモリ描画部２４に送りつづける。第２のテンポラリメモリ描画部２４は、送られてきた描画命令にしたがって、第２のテンポラリメモリ２７に対して描画処理をおこなう。一方、フレームバッファ描画部２２は、第１のテンポラリメモリ２６とフレームバッファ２１の間でブレンド処理をおこない、その結果をフレームバッファ２１に書き込む。
【００６０】
上述したように、第１のテンポラリメモリ２６に記録されたカラーコードおよびアルファ要素は、それぞれＣ1Tおよびα1Tである。フレームバッファ２１に書かれていたカラーコードをＣFとすると、第１のテンポラリメモリ２６とフレームバッファ２１との間のブレンド処理によって、フレームバッファ２１に新たに書かれるカラーコードＣ1Fは、つぎの（８）式で表される。
【００６１】
Ｃ1F＝Ｃ1T＋α1TＣF  ・・・（８）
【００６２】
第２のテンポラリメモリ２７に対して描画処理をおこなっている途中で、描画命令により描かれる図形が範囲Ｂから外れると、分配部２５は、その範囲Ｂから外れた図形を含む新たな６４×６４ピクセルの範囲を、第１のテンポラリメモリ２６に割り当てる。このときの第２のテンポラリメモリ２７に記録されたカラーコードおよびアルファ要素を、それぞれＣ2Tおよびα2Tとする。また、このときに第１のテンポラリメモリ２６に割り当てられた範囲を、便宜上、範囲Ｃと表す。
【００６３】
そして、分配部２５は、描画命令により描かれる図形が範囲Ｃに収まる限り、描画命令を第１のテンポラリメモリ描画部２３に送りつづける。第１のテンポラリメモリ描画部２３は、送られてきた描画命令にしたがって、第１のテンポラリメモリ２６に対して描画処理をおこなう。一方、フレームバッファ描画部２２は、第２のテンポラリメモリ２７とフレームバッファ２１の間でブレンド処理をおこない、その結果をフレームバッファ２１に書き込む。
【００６４】
上述したように、第２のテンポラリメモリ２７に記録されたカラーコードおよびアルファ要素は、それぞれＣ2Tおよびα2Tであり、フレームバッファ２１のカラーコードはＣ1Fである。したがって、フレームバッファ２１には、新たにつぎの（９）式で表されるカラーコードＣ2Fが書かれる。
【００６５】
Ｃ2F＝Ｃ2T＋α2TＣ1F  ・・・（９）
【００６６】
これ以降、上述した第１のテンポラリメモリ２６に対する描画処理と第２のテンポラリメモリ２７に対する描画処理を交互に繰り返す。
【００６７】
なお、上述した実施の形態１の描画装置２０の動作をソフトウェアで実現することもできる。この場合には、第４図に示すフローチャートのプログラムを図示しない処理装置が実行することにより、フレームバッファ描画部２２、第１のテンポラリメモリ描画部２３、第２のテンポラリメモリ描画部２４および分配部２５の機能が実現される。
【００６８】
第４図に示すフローチャートについて説明する。まず、プログラム１が実行されると、第１のテンポラリメモリ２６および第２のテンポラリメモリ２７をクリアした後、第１のテンポラリメモリ２６に範囲Ａを割り当てる（ステップＳ４０１）。そして、描画命令により描かれる図形が範囲Ａに収まる限り（ステップＳ４０２：Ｙｅｓ）、第１のテンポラリメモリ２６に対して描画処理をおこなう（ステップＳ４０３）。
【００６９】
第１のテンポラリメモリ２６に対して描画処理をおこなっている途中で、描画命令により描かれる図形が範囲Ａから外れると（ステップＳ４０２：Ｎｏ）、プログラム２に通知する（ステップＳ４０４）。プログラム２では、第２のテンポラリメモリ２７に範囲Ｂを割り当てる（ステップＳ４０６）。そして、描画命令により描かれる図形が範囲Ｂに収まる限り（ステップＳ４０７：Ｙｅｓ）、第２のテンポラリメモリ２７に対して描画処理をおこなう（ステップＳ４０８）。
【００７０】
一方、プログラム１では、第１のテンポラリメモリ２６とフレームバッファ２１の間でブレンド処理をおこない、その結果をフレームバッファ２１に書き込む（ステップＳ４０５）。他方、第２のテンポラリメモリ２７に対して描画処理をおこなっている途中で、描画命令により描かれる図形が範囲Ｂから外れると（ステップＳ４０７：Ｎｏ）、プログラム１に通知する（ステップＳ４０９）。
【００７１】
また、第２のテンポラリメモリ２７とフレームバッファ２１の間でブレンド処理をおこない、その結果をフレームバッファ２１に書き込む（ステップＳ４１０）。プログラム１では、第１のテンポラリメモリ２６に範囲Ｃを割り当て（ステップＳ４０１）、以降、ステップＳ４０２〜Ｓ４０５が実行される。
【００７２】
上述した実施の形態１によれば、第１のテンポラリメモリ２６および第２のテンポラリメモリ２７において、テンポラリメモリに既に記憶されている描画結果と、テンポラリメモリにこれから描画する描画結果とのブレンド処理を独立しておこなうことができ、またフレームバッファ２１に既に記憶されている描画結果と、各テンポラリメモリ２６，２７に記憶されている描画結果とのブレンド処理を、描画命令の順にしたがっておこなうので、高速描画が可能で、かつアルファブレンド処理を正常におこなうことができる。
【００７３】
（実施の形態２）
第５図は、実施の形態２の描画装置の概略構成を示すブロック図である。第５図に示すように、実施の形態２の描画装置４０は、フレームバッファ２１、フレームバッファ描画部２２、第１のテンポラリメモリ２６、第２のテンポラリメモリ２７、第１のテンポラリメモリ２６および第２のテンポラリメモリ２７に対して描画をおこなうテンポラリメモリ描画部４３、および第１のテンポラリメモリ２６または第２のテンポラリメモリ２７を択一的に選択する選択部４４，４５を備えている。
【００７４】
テンポラリメモリ描画部４３は、実施の形態１の第１のテンポラリメモリ描画部２３および第２のテンポラリメモリ描画部２４と同じである。したがって、テンポラリメモリ描画部４３の説明を省略する。なお、実施の形態２において実施の形態１と同様の構成については、実施の形態１と同一の符号を付して、その説明を省略する。
【００７５】
つぎに、実施の形態２の描画装置４０の動作について説明する。まず、あらかじめ、第１のテンポラリメモリ２６および第２のテンポラリメモリ２７を、Ｃ＝０、α＝１．０でクリアしておく。第１の選択部４４は、描画命令により描かれる図形が収まるたとえば６４×６４ピクセルの範囲（範囲Ａ）を、第１のテンポラリメモリ２６に割り当てる。そして、第１の選択部４４は、描画命令により描かれる図形が範囲Ａに収まる限り、第１のテンポラリメモリ２６を選択しつづける。それによって、テンポラリメモリ描画部４３は、送られてきた描画命令にしたがって、第１のテンポラリメモリ２６に対して描画処理をおこなう。
【００７６】
一方、第２の選択部４５により第２のテンポラリメモリ２７が選択される。そして、フレームバッファ描画部２２は、第２のテンポラリメモリ２７とフレームバッファ２１との間でブレンド処理をおこない、その結果をフレームバッファ２１に書き込む。
【００７７】
第１のテンポラリメモリ２６に対して描画処理をおこなっている途中で、描画命令により描かれる図形が範囲Ａから外れると、第２のテンポラリメモリ２７とフレームバッファ２１との間でおこなわれたブレンド処理結果がフレームバッファ２１に書き込まれた後、第１の選択部４４は、範囲Ａから外れた図形を含む新たな６４×６４ピクセルの範囲（範囲Ｂ）を、第２のテンポラリメモリ２７に割り当てる。このときの第１のテンポラリメモリ２６に記録されたカラーコードおよびアルファ要素を、それぞれＣ1Tおよびα1Tとする。
【００７８】
そして、第１の選択部４４は、描画命令により描かれる図形が範囲Ｂに収まる限り、第２のテンポラリメモリ２７を選択しつづける。それによって、テンポラリメモリ描画部４３は、送られてきた描画命令にしたがって、第２のテンポラリメモリ２７に対して描画処理をおこなう。
【００７９】
一方、第２の選択部４５により第１のテンポラリメモリ２６が選択される。そして、フレームバッファ描画部２２は、第１のテンポラリメモリ２６とフレームバッファ２１との間でブレンド処理をおこない、その結果をフレームバッファ２１に書き込む。フレームバッファ２１には、前記（８）式で表されるカラーコードＣ1Fが新たに書き込まれる。
【００８０】
第２のテンポラリメモリ２７に対して描画処理をおこなっている途中で、描画命令により描かれる図形が範囲Ｂから外れると、第１のテンポラリメモリ２６とフレームバッファ２１との間でおこなわれたブレンド処理結果がフレームバッファ２１に書き込まれた後、第１の選択部４４は、範囲Ｂから外れた図形を含む新たな６４×６４ピクセルの範囲（範囲Ｃ）を、第１のテンポラリメモリ２６に割り当てる。このときの第２のテンポラリメモリ２７に記録されたカラーコードおよびアルファ要素を、それぞれＣ2Tおよびα2Tとする。
【００８１】
そして、第１の選択部４４は、描画命令により描かれる図形が範囲Ｃに収まる限り、第１のテンポラリメモリ２６を選択しつづける。それによって、テンポラリメモリ描画部４３は、送られてきた描画命令にしたがって、第１のテンポラリメモリ２６に対して描画処理をおこなう。
【００８２】
一方、第２の選択部４５により第２のテンポラリメモリ２７が選択される。そして、フレームバッファ描画部２２は、第２のテンポラリメモリ２７とフレームバッファ２１との間でブレンド処理をおこない、その結果をフレームバッファ２１に書き込む。フレームバッファ２１には、前記（９）式で表されるカラーコードＣ2Fが新たに書き込まれる。
【００８３】
これ以降、上述した第１のテンポラリメモリ２６に対する描画処理と第２のテンポラリメモリ２７に対する描画処理を交互に繰り返す。
【００８４】
なお、上述した実施の形態２の描画装置４０の動作をソフトウェアで実現することもできる。この場合には、第６図に示すフローチャートのプログラムを図示しない処理装置が実行することにより、フレームバッファ描画部２２、テンポラリメモリ描画部４３および選択部４４，４５の機能が実現される。
【００８５】
第６図に示すフローチャートについて説明する。まず、プログラム１が実行されると、第１のテンポラリメモリ２６および第２のテンポラリメモリ２７をクリアした後、第１のテンポラリメモリ２６に範囲Ａを割り当てる（ステップＳ６０１）。そして、描画命令により描かれる図形が範囲Ａに収まる限り（ステップＳ６０２：Ｙｅｓ）、第１のテンポラリメモリ２６に対して描画処理をおこなう（ステップＳ６０３）。
【００８６】
第１のテンポラリメモリ２６に対して描画処理をおこなっている途中で、描画命令により描かれる図形が範囲Ａから外れると（ステップＳ６０２：Ｎｏ）、プログラム２に通知する（ステップＳ６０４）。プログラム２では、第１のテンポラリメモリ２６とフレームバッファ２１の間でブレンド処理をおこない、その結果をフレームバッファ２１に書き込む（ステップＳ６０９）。
【００８７】
一方、プログラム１では、第２のテンポラリメモリ２７に範囲Ｂを割り当てる（ステップＳ６０５）。そして、描画命令により描かれる図形が範囲Ｂに収まる限り（ステップＳ６０６：Ｙｅｓ）、第２のテンポラリメモリ２７に対して描画処理をおこなう（ステップＳ６０７）。
【００８８】
そして、第２のテンポラリメモリ２７に対して描画処理をおこなっている途中で、描画命令により描かれる図形が範囲Ｂから外れると（ステップＳ６０６：Ｎｏ）、プログラム２に通知する（ステップＳ６０８）。プログラム２では、第２のテンポラリメモリ２７とフレームバッファ２１の間でブレンド処理をおこない、その結果をフレームバッファ２１に書き込む（ステップＳ６１０）。一方、プログラム１では、第１のテンポラリメモリ２６に範囲Ｃを割り当て（ステップＳ６０１）、以降、ステップＳ６０２〜Ｓ６０８が実行される。
【００８９】
上述した実施の形態２によれば、第１のテンポラリメモリ２６および第２のテンポラリメモリ２７において、テンポラリメモリに既に記憶されている描画結果と、テンポラリメモリにこれから描画する描画結果とのブレンド処理をおこなうことができ、またフレームバッファ２１に既に記憶されている描画結果と、各テンポラリメモリ２６，２７に記憶されている描画結果とのブレンド処理を、描画命令の順にしたがっておこなうので、高速描画が可能で、かつアルファブレンド処理を正常におこなうことができる。
【００９０】
（実施の形態３）
実施の形態３では、フレームバッファに対する演算と、表示に対する演算とを分離しておこなうので、まず、この演算の分離の仕方について説明する。
【００９１】
フレームバッファに既に描画されているカラーコードをＣFとし、１番目に描画するカラーコードをＣ1とする。そして、１番目に使用するブレンド率（０．０〜１．０）をα1とすると、既に描画されているフレームバッファカラーＣFと、１番目に描画するカラーＣ1とのブレンド結果Ｃ1Fは、つぎの（１０）式で表される。
【００９２】
Ｃ1F＝α1Ｃ1＋（１−α1）ＣF  ・・・（１０）
【００９３】
この（１０）式で表されるブレンド処理によって、フレームバッファに既に描画されているカラーコードはＣ1Fとなる。つぎに、２番目に描画するカラーコードをＣ2とし、２番目に使用するブレンド率（０．０〜１．０）をα2とする。この場合、既に描画されているフレームバッファカラーＣ1Fと、２番目に描画するカラーＣ2とのブレンド結果Ｃ21Fは、つぎの（１１）式で表される。
【００９４】
Ｃ21F＝α2Ｃ2＋（１−α2）Ｃ1F  ・・・（１１）
【００９５】
この（１１）式で表されるブレンド処理によって、フレームバッファに既に描画されているカラーコードはＣ21Fとなる。したがって、３番目に描画するカラーコードをＣ3とし、３番目に使用するブレンド率（０．０〜１．０）をα3とすると、既に描画されているフレームバッファカラーＣ21Fと、３番目に描画するカラーＣ3とのブレンド結果Ｃ321Fは、つぎの（１２）式で表される。
【００９６】
Ｃ321F＝α3Ｃ3＋（１−α3）Ｃ21F  ・・・（１２）
【００９７】
以下、省略するが、４番目以降に描画するカラーとのブレンド結果についても同様である。上述した（１０）〜（１２）式の演算をそれぞれつぎの（１３）〜（１５）式のように変形する。この演算の変形は、４番目以降に描画するカラーとのブレンド結果についても同様である。
【００９８】
Ｃ1F＝α1Ｃ1＋（１−α1）ＣF
＝Ｃ1'＋（１−α1）ＣF  ・・・（１３）
Ｃ21F＝α2Ｃ2＋（１−α2）Ｃ1F
＝α2Ｃ2＋（１−α2）Ｃ1'＋（１−α2）（１−α1）ＣF
＝Ｃ21'＋（１−α2）（１−α1）ＣF  ・・・（１４）
Ｃ321F＝α3Ｃ3＋（１−α3）Ｃ21F
＝α3Ｃ3＋（１−α3）Ｃ21'＋（１−α3）（１−α2）（１−α1）ＣF
＝Ｃ321'＋（１−α3）（１−α2）（１−α1）ＣF  ・・・（１５）
【００９９】
上述したように演算を変形することにより、フレームバッファに対する２回目以降の演算Ｃ1'、Ｃ21'およびＣ321'と、フレームバッファの初期値に対する演算（１−α1）ＣF、（１−α2）（１−α1）ＣFおよび（１−α3）（１−α2）（１−α1）ＣFが分離される。したがって、フレームバッファに対する２回目以降の演算Ｃ1'、Ｃ21'およびＣ321'を、通常の描画処理としておこなうことができる。
【０１００】
そして、各描画段階においてフレームバッファに記録されるカラーコードとアルファ要素は、１回目の描画ではＣ1'と（１−α1）となり、２回目の描画ではＣ21'と（１−α2）（１−α1）となり、３回目の描画ではＣ321'と（１−α3）（１−α2）（１−α1）となる。以下、同様にして、フレームバッファに記録されるカラーコードとアルファ要素は上書きされていく。
【０１０１】
このような方式で描画ブレンド処理をおこなった画面の描画情報、すなわちカラーコードおよびアルファ要素をそれぞれＣSおよびαSとし、その画面を表示ブレンド画面とする。被表示ブレンド画面のカラーコードをＣDとすると、表示ブレンド処理でおこなう演算は、つぎの（１６）式で表される。つまり、描画初回のカラーＣFに対する演算を、被表示ブレンド画面のカラーＣDに対する演算に置き換えることになる。
【０１０２】
ＣSD＝ＣS＋αSＣD  ・・・（１６）
【０１０３】
つぎに、実施の形態３の具体的な構成について説明する。第７図は、実施の形態３の表示制御装置の概略構成を示すブロック図である。第７図に示すように、実施の形態３の表示制御装置５０は、透過画面のデータを格納する第１のフレームバッファ５１、被透過画面のデータを格納する第２のフレームバッファ５２、第１のフレームバッファ５１に対して描画をおこなう描画部５３、および第１のフレームバッファ５１の画素と第２のフレームバッファ５２の画素をブレンド処理し、そのブレンド処理結果をディスプレイ等の表示装置５５に表示する表示制御部５４を備えている。
【０１０４】
つぎに、描画部５３の構成について説明する。この説明においては、既に第１のフレームバッファ５１に描画されている画像のカラーコードおよびブレンド率をそれぞれＣfおよびαfとし、これから第１のフレームバッファ５１に描画する画像のカラーコードおよびブレンド率をそれぞれＣおよびαとする。
【０１０５】
第８図は、描画部５３の構成を示すブロック図である。描画部５３は、第１の減算器６１、第１の乗算器６２、第１の加算器６３、第２の減算器６４および第２の乗算器６５を備えている。これら第１の減算器６１、第１の乗算器６２、第１の加算器６３、第２の減算器６４および第２の乗算器６５による演算によって、上述した各描画段階のカラーコードとアルファ要素、すなわちＣ1'と（１−α1）、Ｃ21'と（１−α2）（１−α1）、およびＣ321'と（１−α3）（１−α2）（１−α1）が求められる。
【０１０６】
第１の減算器６１は、これから第１のフレームバッファ５１に描画する画像のカラーコードＣから、既に第１のフレームバッファ５１に描画されている画像のカラーコードＣfを減算する。第１の乗算器６２は、第１の減算器６１の演算結果に、これから第１のフレームバッファ５１に描画する画像のブレンド率αを乗算する。
【０１０７】
第１の加算器６３は、第１の乗算器６２の演算結果に、これから第１のフレームバッファ５１に描画する画像のカラーコードＣを加算する。第１の加算器６３の演算結果Ｃf'は、既に第１のフレームバッファ５１に描画されている画像の新たなカラーコードとして、第１のフレームバッファ５１に格納され、この次の第１のフレームバッファ５１に対する描画の際に、既に第１のフレームバッファ５１に描画されている画像のカラーコードＣfとなる。
【０１０８】
第２の減算器６４は、１から、これから第１のフレームバッファ５１に描画する画像のブレンド率αを減算する。第２の乗算器６５は、第２の減算器６４の演算結果に、既に第１のフレームバッファ５１に描画されている画像のブレンド率αfを乗算する。第２の乗算器６５の演算結果αf'は、既に第１のフレームバッファ５１に描画されている画像の新たなブレンド率として、第１のフレームバッファ５１に格納され、この次の第１のフレームバッファ５１に対する描画の際に、既に第１のフレームバッファ５１に描画されている画像のブレンド率αfとなる。
【０１０９】
つぎに表示制御部５４の構成について説明する。この説明においては、第１のフレームバッファ５１に描画されている透過画面のカラーコードおよびブレンド率をそれぞれＣsおよびαsとし、第２のフレームバッファ５２に描画されている被透過画面のカラーコードをＣdとする。
【０１１０】
第９図は、表示制御部５４の構成を示すブロック図である。表示制御部５４は、第３の乗算器６６および第２の加算器６７を備えている。これら第３の乗算器６６および第２の加算器６７による演算によって、前記（１６）式の演算がおこなわれる。ただし、Ｃs＝ＣSであり、αs＝αSであり、Ｃd＝ＣDである。
【０１１１】
第３の乗算器６６は、第２のフレームバッファ５２に描画されている画像のカラーコードＣdに、第１のフレームバッファ５１に描画されている画像のブレンド率αsを乗算する。第２の加算器６７は、第３の乗算器６６の演算結果に、第１のフレームバッファ５１に描画されている画像のカラーコードＣsを加算する。第２の加算器６７の演算結果Ｃsd（前記（１６）式のＣSD）は、表示装置５５に表示される。
【０１１２】
つぎに、実施の形態３の表示制御装置５０の動作について説明する。まず、あらかじめ、第１のフレームバッファ５１を、Ｃ＝０、α＝１．０でクリアしておく。このクリア処理は、第８図に示す描画部５３におけるブレンド処理動作において、初回動作時にＣf＝αＣ、αf＝（１−α）とするためである。
【０１１３】
まず、描画部５３は、第１のフレームバッファ５１（透過画面）に対して描画をおこなう。表示制御部５４は、第１のフレームバッファ５１に格納されているデータと第２のフレームバッファ５２（被透過画面）に格納されているデータを読み出し、画素毎に設けられた透過または非透過を制御するフラグ（以下、透過／非透過制御フラグとする）を確認する。
【０１１４】
そして、表示制御部５４は、透過／非透過制御フラグがオフである画素については、第２のフレームバッファ５２のデータを表示する。また、表示制御部５４は、透過／非透過制御フラグがオンである画素については、第１のフレームバッファ５１の画素データと第２のフレームバッファ５２の画素データをブレンド処理してから、表示装置５５に表示する。
【０１１５】
なお、上述した実施の形態３の表示制御装置５０の動作の一部をソフトウェアで実現することもできる。この場合には、第１０図に示すフローチャートのプログラムを図示しない処理装置が実行することにより、描画部５３の機能、すなわち描画のアルファブレンド処理が実現される。
【０１１６】
第１０図に示すフローチャートについて説明する。まず、第１のフレームバッファ５１をクリアした後、第１のフレームバッファ５１からカラーコードＣfおよびブレンド率αfを読み出す（ステップＳ１００１）。そして、つぎの（１７）式で表されるＣf'を求める（ステップＳ１００２）。また、つぎの（１８）式で表されるαf'を求める（ステップＳ１００３）。
【０１１７】
Ｃf'＝αＣ＋（１−α）Ｃf  ・・・（１７）
αf'＝αf（１−α）  ・・・（１８）
【０１１８】
ついで、（１７）式および（１８）式より得られたＣf'とαf'を、第１のフレームバッファ５１に書き込む（ステップＳ１００４）。以上の処理を、すべての画素について終了するまで、繰り返す（ステップＳ１００５）。その際、新たに第１のフレームバッファ５１に書き込まれたＣf'とαf'が、第１のフレームバッファ５１のカラーコードＣfおよびブレンド率αfとして読み出される。
【０１１９】
上述した実施の形態３によれば、描画部５３が、第１のフレームバッファ５１に既に記憶されている描画結果と、第１のフレームバッファ５１にこれから描画する描画結果とをブレンド処理し、表示制御部５４が、第１のフレームバッファ５１に記憶されている描画結果と、第２のフレームバッファ５２に記憶されている描画結果を画素単位で透過もしくは非透過の処理をして合成するので、描画のアルファブレンド処理とともに、表示の透過／非透過処理をおこなっても、それぞれの処理が合成された表示結果を正しく得ることができる。
【０１２０】
（実施の形態４）
実施の形態３では、表示制御部５４は、第１のフレームバッファ５１に記憶されている描画結果と、第２のフレームバッファ５２に記憶されている描画結果を画素単位で透過もしくは非透過の処理をして合成するとした。それに対して、実施の形態４では、表示制御部５４は、第１のフレームバッファ５１に記憶されている描画結果と、第２のフレームバッファ５２に記憶されている描画結果をブレンド処理して合成する。その他の構成は、実施の形態３と同じであるので、重複する説明を省略する。
【０１２１】
表示制御部５４の構成について説明する。この説明においては、第１のフレームバッファ５１に描画されている透過画面のカラーコードおよびブレンド率をそれぞれＣsおよびαsとし、第２のフレームバッファ５２に描画されている被透過画面のカラーコードをＣdとする。また、透過画面と被透過画面の表示透過率、すなわち表示のブレンド率をαxとする。
【０１２２】
第１１図は、表示制御部５４の構成を示すブロック図である。表示制御部５４は、第３の乗算器７１、第３の減算器７２、第４の乗算器７３および第２の加算器７４を備えている。これら第３の乗算器７１および第２の加算器７４による演算によって、前記（１６）式の演算がおこなわれる。ただし、Ｃs＝ＣSであり、αs＝αSであり、Ｃd＝ＣDである。
【０１２３】
第３の乗算器７１は、第２のフレームバッファ５２に描画されている画像のカラーコードＣdに、第１のフレームバッファ５１に描画されている画像のブレンド率αsを乗算する。第３の減算器７２は、第１のフレームバッファ５１に描画されている画像のカラーコードＣsから、第３の乗算器７１の演算結果を減算する。
【０１２４】
第４の乗算器７３は、第３の減算器７２の演算結果に、第１のフレームバッファ５１に描画されている画像のブレンド率αsを乗算する。第２の加算器７４は、第４の乗算器７３の演算結果に、第３の乗算器７１の演算結果を加算する。表示装置５５には、第２の加算器７４の出力Ｃsdが表示される。第２の加算器７４の演算結果Ｃsdは、つぎの（１９）式で表される。
【０１２５】
Ｃsd＝αxＣs＋（１−αx）αsＣd
＝αx（Ｃs−αsＣd）＋αsＣd  ・・・（１９）
【０１２６】
つぎに、実施の形態４の表示制御装置５０の動作について説明する。まず、あらかじめ、第１のフレームバッファ５１を、Ｃ＝０、α＝１．０でクリアしておく。描画部５３は、第１のフレームバッファ５１（透過画面）に対して描画をおこなう。表示制御部５４は、第１のフレームバッファ５１に格納されているデータと第２のフレームバッファ５２（被透過画面）に格納されているデータを読み出し、表示透過率αxでブレンド処理をおこなう。そして、表示制御部５４は、第１のフレームバッファ５１の画素データと第２のフレームバッファ５２の画素データを、表示透過率αxでブレンド処理した結果を表示する。
【０１２７】
なお、実施の形態４においても、上述した実施の形態３と同様に、第１０図に示すフローチャートのプログラムを図示しない処理装置が実行することにより、描画部５３の機能を実現することができる。第１０図に示すフローチャートについては、説明が重複するので、ここでは省略する。
【０１２８】
上述した実施の形態４によれば、描画部５３が、第１のフレームバッファ５１に既に記憶されている描画結果と、第１のフレームバッファ５１にこれから描画する描画結果とをブレンド処理し、表示制御部５４が、第１のフレームバッファ５１に記憶されている描画結果と、第２のフレームバッファ５２に記憶されている描画結果とをブレンド処理して合成するので、描画のアルファブレンド処理とともに、表示のアルファブレンド処理をおこなっても、それぞれの処理が合成された表示結果を正しく得ることができる。
【０１２９】
（実施の形態５）
第１２図は、実施の形態５の表示制御装置の概略構成を示すブロック図である。第１２図に示すように、実施の形態５の表示制御装置７０は、透過画面のデータを格納する第１のフレームバッファ５１、被透過画面のデータを格納する第２のフレームバッファ５２、第１のフレームバッファ５１に対して描画をおこなう描画部（第１の描画部）５３、第１のフレームバッファ５１の画素と第２のフレームバッファ５２の画素をブレンド処理する第２の描画部７１、第２の描画部７１のブレンド処理結果を格納する第３のフレームバッファ７２、第３のフレームバッファ７２に格納されたデータをディスプレイ等の表示装置５５に表示する表示制御部７３を備えている。
【０１３０】
以下、実施の形態５の表示制御装置７０が実施の形態３の表示制御装置５０と異なる構成についてのみ説明し、実施の形態３と同様の構成については実施の形態３と同一の符号を付して説明を省略する。第２の描画部７１は、実施の形態３の表示制御部５４と同じブレンド処理機能を備えている。つまり、第２の描画部７１は、図９に示す構成を備えている。実施の形態５では、表示制御部７３にはブレンド処理機能が設けられていない。
【０１３１】
つぎに、実施の形態５の表示制御装置７０の動作について説明する。まず、あらかじめ、第１のフレームバッファ５１を、Ｃ＝０、α＝１．０でクリアしておく。第１の描画部５３は、第１のフレームバッファ５１（透過画面）に対して描画をおこなう。第２の描画部７１は、第１のフレームバッファ５１に格納されているデータと第２のフレームバッファ５２（被透過画面）に格納されているデータを読み出し、画素毎に設けられた透過／非透過制御フラグを確認する。
【０１３２】
そして、第２の描画部７１は、透過／非透過制御フラグがオフである画素については、第２のフレームバッファ５２のデータを第３のフレームバッファ７２に格納する。また、第２の描画部７１は、透過／非透過制御フラグがオンである画素については、第１のフレームバッファ５１の画素データと第２のフレームバッファ５２の画素データをブレンド処理した結果を第３のフレームバッファ７２に格納する。表示制御部７３は、第３のフレームバッファ７２を読み出し、その内容をディスプレイ等の表示装置５５に表示する。
【０１３３】
なお、実施の形態５の表示制御装置７０の動作をソフトウェアで実現することもできる。この場合には、第１３図に示すフローチャートのプログラムを図示しない処理装置が実行することにより、第１の描画部５３および第２の描画部７１の機能が実現される。
【０１３４】
第１３図に示すフローチャートについて説明する。まず、第１のフレームバッファ５１をクリアした後、第１のフレームバッファ５１からカラーコードＣfおよびブレンド率αfを読み出す（ステップＳ１３０１）。そして、前記（１７）式で表されるＣf'を求める（ステップＳ１３０２）。また、前記（１８）式で表されるαf'を求める（ステップＳ１３０３）。
【０１３５】
ついで、前記（１７）式および前記（１８）式より得られたＣf'とαf'を、第１のフレームバッファ５１に書き込む（ステップＳ１３０４）。以上の処理を、すべての画素について終了するまで、繰り返す（ステップＳ１３０５）。その際、新たに第１のフレームバッファ５１に書き込まれたＣf'とαf'が、第１のフレームバッファ５１のカラーコードＣfおよびブレンド率αfとして読み出される。
【０１３６】
すべての画素について、第１のフレームバッファ５１にＣf'およびαf'を書き込む処理が終了したら（ステップＳ１３０５：Ｙｅｓ）、第１のフレームバッファ５１から透過画面のカラーコードＣsおよびブレンド率αsを読み出す（ステップＳ１３０６）。また、第２のフレームバッファ５２から被透過画面のカラーコードＣdを読み出す（ステップＳ１３０７）。ついで、つぎの（２０）式の演算をおこない、Ｃsdを求める（ステップＳ１３０８）。
【０１３７】
Ｃsd＝αsＣs＋（１−αs）Ｃd  ・・・（２０）
【０１３８】
そして、透過／非透過制御フラグが非透過になっていれば（ステップＳ１３０９：Ｎｏ）、第３のフレームバッファ７２にＣsdを書き込み（ステップＳ１３１０）、一方、透過／非透過制御フラグが透過になっていれば（ステップＳ１３０９：Ｙｅｓ）、第３のフレームバッファ７２にＣsdを書き込まない。すべての画素についての処理が終了するまで（ステップＳ１３１１）、ステップＳ１３０６〜Ｓ１３１１を繰り返す。
【０１３９】
上述した実施の形態５によれば、第１の描画部５３が、第１のフレームバッファ５１に既に記憶されている描画結果と、第１のフレームバッファ５１にこれから描画する描画結果とをブレンド処理し、第２の描画部７１が、第１のフレームバッファ５１に記憶されている描画結果と、第２のフレームバッファ５２に記憶されている描画結果を画素単位で透過もしくは非透過の処理をして合成するので、描画のアルファブレンド処理とともに、表示の透過／非透過処理をおこなっても、それぞれの処理が合成された表示結果を正しく得ることができる。
【０１４０】
（実施の形態６）
実施の形態６は、第１２図に示す実施の形態５の表示制御装置７０と同様の構成により、実施の形態４と同様の描画のアルファブレンド処理および表示のアルファブレンド処理をおこなうものである。全体の構成は第１２図に示す通りであるので、重複する説明を省略する。実施の形態６では、第２の描画部７１は、実施の形態３の表示制御部５４と同じブレンド処理機能を備えている。つまり、第２の描画部７１は、第１１図に示す構成を備えている。また、表示制御部７３にはブレンド処理機能が設けられていない。
【０１４１】
つぎに、実施の形態６の表示制御装置７０の動作について説明する。まず、あらかじめ、第１のフレームバッファ５１を、Ｃ＝０、α＝１．０でクリアしておく。第１の描画部５３は、第１のフレームバッファ５１（透過画面）に対して描画をおこなう。第２の描画部７１は、第１のフレームバッファ５１に格納されているデータと第２のフレームバッファ５２（被透過画面）に格納されているデータを読み出し、表示透過率αxでブレンド処理をおこなう。
【０１４２】
そして、第２の描画部７１は、第１のフレームバッファ５１の画素データと第２のフレームバッファ５２の画素データを、表示透過率αxでブレンド処理した結果を第３のフレームバッファ７２に格納する。表示制御部７３は、第３のフレームバッファ７２を読み出し、その内容をディスプレイ等の表示装置５５に表示する。
【０１４３】
なお、実施の形態６の表示制御装置７０の動作をソフトウェアで実現することもできる。この場合には、第１４図に示すフローチャートのプログラムを図示しない処理装置が実行することにより、第１の描画部５３および第２の描画部７１の機能が実現される。
【０１４４】
第１４図に示すフローチャートについて説明する。まず、第１のフレームバッファ５１をクリアした後、第１のフレームバッファ５１からカラーコードＣfおよびブレンド率αfを読み出す（ステップＳ１４０１）。そして、前記（１７）式で表されるＣf'を求める（ステップＳ１４０２）。また、前記（１８）式で表されるαf'を求める（ステップＳ１４０３）。
【０１４５】
ついで、前記（１７）式および前記（１８）式より得られたＣf'とαf'を、第１のフレームバッファ５１に書き込む（ステップＳ１４０４）。以上の処理を、すべての画素について終了するまで、繰り返す（ステップＳ１４０５）。その際、新たに第１のフレームバッファ５１に書き込まれたＣf'とαf'が、第１のフレームバッファ５１のカラーコードＣfおよびブレンド率αfとして読み出される。
【０１４６】
すべての画素について、第１のフレームバッファ５１にＣf'およびαf'を書き込む処理が終了したら（ステップＳ１４０５：Ｙｅｓ）、第１のフレームバッファ５１から透過画面のカラーコードＣsおよびブレンド率αsを読み出す（ステップＳ１４０６）。また、第２のフレームバッファ５２から被透過画面のカラーコードＣdを読み出す（ステップＳ１４０７）。ついで、前記（１９）式の演算をおこない、Ｃsdを求める（ステップＳ１４０８）。
【０１４７】
そして、第３のフレームバッファ７２にＣsdを書き込む（ステップＳ１４０９）。すべての画素についての処理が終了するまで（ステップＳ１４１０）、ステップＳ１４０６〜Ｓ１４１０を繰り返す。
【０１４８】
上述した実施の形態６によれば、第１の描画部５３が、第１のフレームバッファ５１に既に記憶されている描画結果と、第１のフレームバッファ５１にこれから描画する描画結果とをブレンド処理し、第２の描画部７１が、第１のフレームバッファ５１に記憶されている描画結果と、第２のフレームバッファ５２に記憶されている描画結果とをブレンド処理して合成するので、描画のアルファブレンド処理とともに、表示のアルファブレンド処理をおこなっても、それぞれの処理が合成された表示結果を正しく得ることができる。
【０１４９】
以上において本発明は、上述した各実施の形態に限らず、種々変更可能である。
【０１５０】
本発明によれば、高速描画が可能で、かつアルファブレンド処理を正常におこなうことが可能な描画装置が得られる。また、描画のアルファブレンド処理とともに、表示の透過／非透過処理や表示のアルファブレンド処理をおこなっても、それぞれの処理が合成された表示結果を正しく得ることが可能な表示制御装置が得られる。
【産業上の利用可能性】
【０１５１】
以上のように本発明は、アルファブレンド処理した描画結果を、不整合を起こさずに正常に高速で描画することに適している。
【図面の簡単な説明】
【０１５２】
【図１】第１図は、本発明の実施の形態１にかかる描画装置の概略構成を示すブロック図である。
【図２】第２図は、本発明の実施の形態１にかかる描画装置のテンポラリメモリ描画部の構成を示すブロック図である。
【図３】第３図は、本発明の実施の形態１にかかる描画装置のフレームバッファ描画部の構成を示すブロック図である。
【図４】第４図は、本発明の実施の形態１にかかる描画装置をソフトウェア処理によって実現する構成におけるプログラムの概略構成を示すフローチャートである。
【図５】第５図は、本発明の実施の形態２にかかる描画装置の概略構成を示すブロック図である。
【図６】第６図は、本発明の実施の形態２にかかる描画装置をソフトウェア処理によって実現する構成におけるプログラムの概略構成を示すフローチャートである。
【図７】第７図は、本発明の実施の形態３にかかる表示制御装置の概略構成を示すブロック図である。
【図８】第８図は、本発明の実施の形態３にかかる表示制御装置の描画部の構成を示すブロック図である。
【図９】第９図は、本発明の実施の形態３にかかる表示制御装置の表示制御部の構成を示すブロック図である。
【図１０】第１０図は、本発明の実施の形態３にかかる表示制御装置の一部をソフトウェア処理によって実現する構成におけるプログラムの概略構成を示すフローチャートである。
【図１１】第１１図は、本発明の実施の形態４にかかる表示制御装置の表示制御部の構成を示すブロック図である。
【図１２】第１２図は、本発明の実施の形態５にかかる表示制御装置の概略構成を示すブロック図である。
【図１３】第１３図は、本発明の実施の形態５にかかる描画装置をソフトウェア処理によって実現する構成におけるプログラムの概略構成を示すフローチャートである。
【図１４】第１４図は、本発明の実施の形態６にかかる描画装置をソフトウェア処理によって実現する構成におけるプログラムの概略構成を示すフローチャートである。
【図１５】第１５図は、従来の描画装置の概略構成を示すブロック図である。
【図１６】第１６図は、従来の描画装置の概略構成を示すブロック図である。
【図１７】第１７図は、描画アルファブレンド処理がない場合の表示透過／非透過処理結果を説明する模式図である。
【図１８】第１８図は、描画アルファブレンド処理した場合の描画結果を説明する模式図である。
【図１９】第１９図は、描画アルファブレンド処理がある場合の表示透過／非透過処理結果を説明する模式図である。
【図１】
0004268142.tif 000002
【図２】
0004268142.tif 000003
【図３】
0004268142.tif 000004
【図４】
0004268142.tif 000005
【図５】
0004268142.tif 000006
【図６】
0004268142.tif 000007
【図７】
0004268142.tif 000008
【図８】
0004268142.tif 000009
【図９】
0004268142.tif 000010
【図１０】
0004268142.tif 000011
【図１１】
0004268142.tif 000012
【図１２】
0004268142.tif 000013
【図１３】
0004268142.tif 000014
【図１４】
0004268142.tif 000015
【図１５】
0004268142.tif 000016
【図１６】
0004268142.tif 000017
【図１７】
0004268142.tif 000018
【図１８】
0004268142.tif 000019
【図１９】
0004268142.tif 000020