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