JP2004005285A - 画像処理装置、画像処理方法および画像処理プログラム - Google Patents
画像処理装置、画像処理方法および画像処理プログラム Download PDFInfo
- Publication number
- JP2004005285A JP2004005285A JP2002160884A JP2002160884A JP2004005285A JP 2004005285 A JP2004005285 A JP 2004005285A JP 2002160884 A JP2002160884 A JP 2002160884A JP 2002160884 A JP2002160884 A JP 2002160884A JP 2004005285 A JP2004005285 A JP 2004005285A
- Authority
- JP
- Japan
- Prior art keywords
- graphic object
- drawing pattern
- sequence
- image processing
- numerical
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】2つ以上の図形オブジェクトを重ねて合成する際に、低負荷の処理で各図形オブジェクトを高画質で半透明表示させる。
【解決手段】描画パターン取得部32は、所定の数値列から順に生成した数値と、図形オブジェクトの合成時の透明度を示すアルファ値とを画素ごとに順に比較した結果を基に生成された描画パターン23を取得する。描画処理部33は、取得された描画パターン23に基づいて新たな図形オブジェクトの各画素またはそれ以前に描画されていた画像のいずれかを描画するか否かを判定して描画を行う。ここで、描画処理部33は、図形オブジェクト同士が重なって半透明表示される場合には、重なる各図形オブジェクトに対して相互相関係数の絶対値が小さい異なる数値列から生成された描画パターン23を使用して描画の判定を行う。
【選択図】 図1
【解決手段】描画パターン取得部32は、所定の数値列から順に生成した数値と、図形オブジェクトの合成時の透明度を示すアルファ値とを画素ごとに順に比較した結果を基に生成された描画パターン23を取得する。描画処理部33は、取得された描画パターン23に基づいて新たな図形オブジェクトの各画素またはそれ以前に描画されていた画像のいずれかを描画するか否かを判定して描画を行う。ここで、描画処理部33は、図形オブジェクト同士が重なって半透明表示される場合には、重なる各図形オブジェクトに対して相互相関係数の絶対値が小さい異なる数値列から生成された描画パターン23を使用して描画の判定を行う。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、背景上に2つ以上の図形オブジェクトを合成して描画するための画像処理装置、画像処理方法および画像処理プログラムに関し、特に、2つ以上の図形オブジェクト同士が重なる場合に対応した画像処理装置、画像処理方法および画像処理プログラムに関する。
【0002】
【従来の技術】
近年、画像のデジタル処理技術の発達に伴い、放送等の業務用画像処理装置の他、家庭用のPC(パーソナルコンピュータ)を用いても手軽に画像の編集や合成を行うことが可能となっている。
【0003】
画像を合成する場合に、複数の図形オブジェクトを互いに半透明な状態で同時に表示させることがよく行われる。このような半透明描画では、アルファブレンディングやディザ法といった手法が一般的に用いられている。アルファブレンディングでは、図形オブジェクトaに対して合成時の透明度を示すアルファ値(α:0≦α≦1)を与える。そして、この図形オブジェクトaを背景画像b上に合成する場合に、各ピクセルの色要素(R、G、B)についてそれぞれ次の式(1)、(2)および(3)を適用することにより、半透明描画を実現する。
【0004】
【数1】
R=R(a)・α+R(b)・(1−α) ………(1)
G=G(a)・α+G(b)・(1−α) ………(2)
B=B(a)・α+B(b)・(1−α) ………(3)
ただし、R(a)、G(a)およびB(a)はそれぞれ図形オブジェクトa上の当該ピクセルの各色要素、R(b)、G(b)およびB(b)はそれぞれ背景画像b上の当該ピクセルの各色要素を示す。
【0005】
しかし、このアルファブレンディングを用いた半透明描画処理では多くの乗除算演算が行われるため、高い処理能力が必要となる。このため、ソフトウェアによる高速な半透明描画を行う場合、特に動画表示やアニメーション表示を行う場合には、ディザ法が用いられることが多い。
【0006】
従来のディザ法では、画像表示面を例えば4×4画素や16×16画素といった範囲で区切り、それぞれの範囲内で規則的なパターンを設定する。そして、このパターンによるしきい値と図形オブジェクトのアルファ値とを比較して、その大小を基に、重なり合うピクセルについて、図形オブジェクトのピクセルを描画するか、背景画像のピクセルを描画するか、いずれの描画も行わないかについて判定する。これにより、全体として半透明の表示を擬似的に実現している。
【0007】
【発明が解決しようとする課題】
しかし、従来のディザ法では、0と1との間のアルファ値を有する図形オブジェクトが2つ以上重なった場合、互いの位置によって各パターンの極端な一致状態や完全な不一致状態等が発生する。例えば、各パターンが一致している場合、最終的に生成される画像では、2つの図形オブジェクトが存在するにも関わらず、1つの図形オブジェクトしか見ることができないという現象が発生することがある。逆に各パターンが完全に不一致である場合には、アルファ値による条件では本来、背景画像の一部が見えるはずであるにも関わらず、図形オブジェクトに隠れてしまって背景画像が見えないという現象が発生することがある。特に、これらの図形オブジェクトが相対的に移動している場合には、移動に応じた上記現象の発生によりフリッカー(ちらつき)が発生して、正常な表示ができなくなり、画質が劣化してしまう。
【0008】
本発明はこのような課題に鑑みてなされたものであり、2つ以上の図形オブジェクトを重ねて合成する際に、低負荷の処理で各図形オブジェクトを高画質で半透明表示させることが可能な画像処理装置を提供することを目的とする。
【0009】
また、本発明の他の目的は、2つ以上の図形オブジェクトを重ねて合成する際に、低負荷の処理で各図形オブジェクトを高画質で半透明表示させることが可能な画像処理方法を提供することである。
【0010】
さらに、本発明の他の目的は、2つ以上の図形オブジェクトを重ねて合成する処理をコンピュータに実行させる際に、低負荷の処理で各図形オブジェクトを高画質で半透明表示させることが可能な画像処理プログラムを提供することである。
【0011】
【課題を解決するための手段】
本発明では上記課題を解決するために、背景上に2つ以上の図形オブジェクトを合成して描画する画像処理装置において、所定の数値列から順次生成した数値と、前記図形オブジェクトの合成時の透明度を示すアルファ値とを画素ごとに順に比較した結果を基に生成された描画パターンを取得する描画パターン取得手段と、新たな前記図形オブジェクトを描画するごとに、取得された前記描画パターンに基づいて新たな前記図形オブジェクトの各画素またはそれ以前に描画されていた画像のいずれかを描画するか否かを判定して描画を行う描画処理手段とを有し、前記描画処理手段は、前記図形オブジェクト同士が重なって半透明表示される場合に、重なる前記各図形オブジェクトに対して相互相関係数の絶対値が小さい異なる前記数値列から生成された前記描画パターンを使用して描画の判定を行うことを特徴とする画像処理装置が提供される。
【0012】
ここで、描画パターン取得手段は、所定の数値列から順に生成した数値と、図形オブジェクトの合成時の透明度を示すアルファ値とを画素ごとに順に比較した結果を基に生成された描画パターンを取得する。描画処理手段は、取得された描画パターンに基づいて新たな図形オブジェクトの各画素またはそれ以前に描画されていた画像のいずれかを描画するか否かを判定して描画を行う。このように、描画パターンを用いて図形オブジェクトの描画の可不可を判定して合成割合を決定するため、処理負荷の大きい乗除算が必要とならない。また、描画処理手段は、図形オブジェクト同士が重なって半透明表示される場合に、重なる各図形オブジェクトに対して相互相関係数の絶対値が小さい異なる数値列から生成された描画パターンを使用して描画の判定を行う。従って、描画後の各図形オブジェクトの表示率をアルファ値に近づけることができる。
【0013】
また、本発明では、背景上に2つ以上の図形オブジェクトを合成して描画する画像処理方法において、所定の数値列から順次生成した数値と、前記図形オブジェクトの合成時の透明度を示すアルファ値とを画素ごとに順に比較した結果を基に生成された描画パターンを取得し、新たな前記図形オブジェクトを描画するごとに、取得された前記描画パターンに基づいて新たな前記図形オブジェクトの各画素またはそれ以前に描画されていた画像のいずれかを描画するか否かを判定して描画を行い、前記図形オブジェクト同士が重なって半透明表示される場合には、重なる前記各図形オブジェクトに対して相互相関係数の絶対値が小さい異なる前記数値列から生成された前記描画パターンを使用して描画の判定を行うことを特徴とする画像処理方法が提供される。
【0014】
このような画像処理方法では、所定の数値列から順次生成した数値と、図形オブジェクトの合成時の透明度を示すアルファ値とを画素ごとに順に比較した結果を基に生成された描画パターンを取得し、新たな図形オブジェクトを描画するごとに、取得された描画パターンに基づいて新たな図形オブジェクトの各画素またはそれ以前に描画されていた画像のいずれかを描画するか否かを判定して描画を行う。このように、描画パターンを用いて図形オブジェクトの描画の可不可を判定して合成割合を決定するため、処理負荷の大きい乗除算が必要とならない。また、描画の判定時において、図形オブジェクト同士が重なって半透明表示される場合には、重なる各図形オブジェクトに対して相互相関係数の絶対値が小さい異なる数値列から生成された描画パターンを使用して描画の判定を行う。従って、描画後の各図形オブジェクトの表示率をアルファ値に近づけることができる。
【0015】
さらに、本発明では、背景上に2つ以上の図形オブジェクトを合成して描画する処理をコンピュータに実行させる画像処理プログラムにおいて、所定の数値列から順次生成した数値と、前記図形オブジェクトの合成時の透明度を示すアルファ値とを画素ごとに順に比較した結果を基に生成された描画パターンを取得し、新たな前記図形オブジェクトを描画するごとに、取得された前記描画パターンに基づいて新たな前記図形オブジェクトの各画素またはそれ以前に描画されていた画像のいずれかを描画するか否かを判定して描画を行い、前記図形オブジェクト同士が重なって半透明表示される場合には、重なる前記各図形オブジェクトに対して相互相関係数の絶対値が小さい異なる前記数値列から生成された前記描画パターンを使用して描画の判定を行う処理を前記コンピュータに実行させることを特徴とする画像処理プログラムが提供される。
【0016】
このような画像処理プログラムを実行することにより、コンピュータは画像処理装置として機能する。この画像処理装置では、所定の数値列から順次生成した数値と、図形オブジェクトの合成時の透明度を示すアルファ値とを画素ごとに順に比較した結果を基に生成された描画パターンを取得し、新たな図形オブジェクトを描画するごとに、取得された描画パターンに基づいて新たな図形オブジェクトの各画素またはそれ以前に描画されていた画像のいずれかを描画するか否かを判定して描画を行う。このように、描画パターンを用いて図形オブジェクトの描画の可不可を判定して合成割合を決定するため、処理負荷の大きい乗除算が必要とならない。また、描画の判定時において、図形オブジェクト同士が重なって半透明表示される場合には、重なる各図形オブジェクトに対して相互相関係数の絶対値が小さい異なる数値列から生成された描画パターンを使用して描画の判定を行う。従って、描画後の各図形オブジェクトの表示率をアルファ値に近づけることができる。
【0017】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
図1は、本発明の実施の形態例である画像処理装置の構成を示す機能ブロック図である。
【0018】
図1に示す画像処理装置1は、背景画像データ21、図形オブジェクトデータ22および描画パターン23等を記憶する記憶部2と、各種の制御処理を行う制御処理部3と、生成される画像データを一時的に記憶する画像メモリ4と、生成された画像データを基にして画像表示のための処理を行うグラフィック処理部5と、外部から画像データ等の入力を受ける外部入力I/F6によって構成される。
【0019】
記憶部2に記憶された背景画像データ21は、画像合成時の背景となる画像のデータである。図形オブジェクトデータ22は、背景画像の上に合成される画像のデータであり、例えば図形の形状や色、その位置情報等により構成される。描画パターン23は、後述するように、所定の数値列を基にして合成時における画素ごとの描画・非描画を判定するために生成され、例えば“1”と“0”で構成される数値パターンとして実現される。この描画パターン23は、複数の異なる数値列を基にあらかじめ複数生成されて記憶部2に記憶される。なお、背景画像データ21および図形オブジェクトデータ22は、いずれも静止画像あるいは動画像のデータでもよい。記憶部2は、これらのデータを制御処理部3からの要求に応じて出力する。
【0020】
制御処理部3は、図形オブジェクト取得部31、描画パターン取得部32および描画処理部33を具備する。図形オブジェクト取得部31は、描画する図形オブジェクトデータ22を記憶部2から、または外部入力I/F6を通じて取得し、描画処理部33に対してそのデータを1画素ずつ出力する。描画パターン取得部32は、描画処理部33からの要求に応じて、記憶部2から描画パターン23を取得して、描画処理部33に供給する。
【0021】
描画処理部33は、記憶部2から、または外部入力I/F6を通じて背景画像データ21および図形オブジェクトデータ22の入力を受け、背景画像上に図形オブジェクトを合成表示する。例えば、合成する図形オブジェクトの透明度を示すアルファ値αが“1”の場合には、画面全体を画素ごとに走査し、図形オブジェクトデータ22の位置情報に基づいて図形オブジェクトを描画するか、あるいはそれ以前に描画されていた画像を描画するかを判定して描画処理を行う。
【0022】
また、合成する図形オブジェクトを半透明表示する場合(0<α<1の場合)には、描画パターン取得部32の取得した描画パターン23に従い、画素ごとの描画の判定を行って描画する。このとき、1つの図形オブジェクトの描画や1ライン分の描画ごと等の所定のタイミングで新たな描画パターン23を使用して判定を行う。さらに例えば、複数の画像オブジェクトが重なって半透明表示される場合には、少なくとも重なる各図形オブジェクトに対して、相互相関係数の絶対値が小さい異なる数値列から生成された描画パターン23を使用して描画の判定を行う。
【0023】
画像メモリ4は、例えば半導体によってなるRAM(Random Access Memory)によってなり、描画処理部33における描画処理中の画像データや処理結果の画像データを一時的に記憶する。
【0024】
グラフィック処理部5には、CRT(Cathode Ray Tube)またはLCD(Liquid Crystal Display)等によってなるモニタ51が接続されている。このグラフィック処理部5は、制御処理部3の描画処理部33の要求に従って、画像メモリ4に記憶された画像データに基づく画像をモニタ51の画面上に表示させる処理を行う。
【0025】
外部入力I/F6は、外部の画像出力機器や画像受信機器から背景画像データ21および図形オブジェクトデータ22等の入力を受けることができる。入力された背景画像データ21は描画処理部33に供給され、また図形オブジェクトデータ22は図形オブジェクト取得部31に供給される。
【0026】
なお図示しないが、画像処理装置1はこの他に、キーボードやマウス等の入力デバイスを通じて利用者からの操作入力を受ける入力部を具備している。
この画像処理装置1は例えば、プロセッサやRAM、ROM(Read Only Memory)等によって構成されるコンピュータ装置として実現される。この場合、制御処理部3はプロセッサ等により構成され、図形オブジェクトデータ22や描画パターン23の取得や画像の描画処理を行う処理プログラムが、例えばHDD(Hard Disk Drive)によってなる記憶部2から読み出され、制御処理部3で実行されることにより、制御処理部3内の各機能ブロックの処理が実現される。
【0027】
次に、描画パターン23の生成処理について説明する。
上述したように、画像処理装置1では、複数の異なる描画パターン23が記憶部2にあらかじめ記憶される。この描画パターン23は、所定の数値列から順に得た数値と、アルファ値との比較を基に生成され、描画処理部33において図形オブジェクトの半透明描画を行う際に使用される。従って、描画パターン23は最低限、0<α<1の範囲でアルファ値の取り得る段階ごとに用意される必要がある。
【0028】
図2は、描画パターン23を生成する処理の流れを示すフローチャートである。
図2では、1つの描画パターン23を生成する際の処理について示している。ここで、使用される数値列は所定の長さ(構成する数値の個数)を有しているものとする。また、数値列としては、この長さ、および数値が取り得る値域の中で、値が十分に均一に散らばっているものが使用される。ここで、例えば数値列を構成する各数値が7けたの2進数である場合には、0〜127の値域をとる。
【0029】
ステップS201において、描画パターン23の現在位置の更新を行う。具体的には描画パターン23上の位置を1画素分進める。ステップS202において、数値列から数値を順に1つ選択する。ステップS203において、アルファ値の値域が数値列の値域に一致するように、このとき設定されているアルファ値を変換し、アルファ値と数値との比較が可能なようにアルファ値を正規化する。
【0030】
ステップS204において、正規化されたアルファ値と、ステップS202で選択された数値とを比較する。そして、正規化されたアルファ値が数値以上である場合はステップS205に進み、描画パターン23上の現在位置に“1”をセットする。また、正規化されたアルファ値が数値未満である場合はステップS206に進み、現在位置に“0”をセットする。
【0031】
ステップS207において、数値列上の最後の数値要素に達したか否かを判断し、達していない場合はステップS201に進んで、現在位置を更新し、数値列の次の数値を選択して描画パターン23の設定を行う。また、数値列上の最後の数値要素に達していた場合は処理を終了する。
【0032】
このような処理により、1つのアルファ値に対応する描画パターン23が1つ生成される。生成された描画パターン23は、図形オブジェクトの半透明描画処理の際に使用されて、描画パターン23中の“1”が当該画素についてこのとき新たに描画している図形オブジェクトを描画することを示し、“0”が当該画素についてこの図形オブジェクトを描画せず、これ以前に描画されていた画像を描画することを示す。
【0033】
この後、同一または異なる数値列を用いて、別のアルファ値に対応する描画パターン23を生成する。さらに、同じアルファ値についても、異なる複数の数値列を用いて複数の描画パターン23を生成する。従って、数値列の種類の数にアルファ値の取り得る段階を乗じただけの数の描画パターン23を生成することができる。
【0034】
ところで、本発明では、複数の図形オブジェクト同士が重なって描画される際に高画質な画像が得られるように、数値列として、各数値の値が十分均一に散らばっているとともに、各数値列の相互相関係数が“0”に近いものが使用される。ここで、2つの数値列xiおよびyi(i=1,2,……,n)に対して、その間の相互相関係数rは、以下の式(4)によって表される。
【0035】
【数2】
【0036】
数値の値が均一に散らばり、かつ相互相関係数が低い数値列としては、例えば、熱雑音や白色雑音等の物理現象、特に電子回路上で得られる雑音から取得した数値列や、あるいは論理回路やソフトウェアを用いて生成される疑似雑音(PN:Pseudo Noise)符号による数値列等を用いることが可能である。疑似雑音符号としては、例えばM系列(Maximal−length sequences)符号やゴールド(Gold)符号等を用いることが可能である。なお、本実施の形態例での使用に適する疑似雑音符号については、後述することにする。
【0037】
なお、以上の描画パターン23の生成処理は、本実施の形態例では、画像処理装置1の外部の機器において行われ、生成された複数の描画パターン23が記憶部2にあらかじめ格納される。また、このような描画パターン23を生成する機能を画像処理装置の内部に設けて、必要に応じて数値列を生成し、この数値列を基に描画パターン23を生成してもよい。
【0038】
次に、この画像処理装置1において、背景画像上に複数の図形オブジェクトが半透明表示されるように合成する場合の処理について説明する。この場合、各図形オブジェクトのアルファ値αはともに0<α<1の条件で設定される。
【0039】
図3は、背景画像上に2つの図形オブジェクトが合成される場合の画面表示例を示す図である。
図3では、2つの図形オブジェクトAおよびBが、背景画像C上に合成表示された様子の例を示している。この例では、領域Xでは各図形オブジェクトAおよびBが重なっており、この領域Xでは背景画像C上に図形オブジェクトAおよびBの双方が半透明表示される。また、領域Y1およびY2では背景画像C上に図形オブジェクトAのみ、図形オブジェクトBのみがそれぞれ半透明表示される。
【0040】
ここで、図形オブジェクトAおよびB、背景画像Cの表示の前後関係を示すZオーダが、図形オブジェクトA、図形オブジェクトB、背景画像Cの順であるとすると、描画処理部33での描画処理は、このZオーダの逆順で行われる。まず、描画処理部33は、記憶部2から、または外部入力I/F6を通じて外部から、1フレーム分の背景画像データ21の入力を受け、このデータを画像メモリ4に記憶させる。次に、図形オブジェクトAおよびBに対応する図形オブジェクトデータ22をそれぞれ、記憶部2あるいは外部入力I/F6を通じて図形オブジェクト取得部31に順に取得させ、それぞれに対する描画処理を行う。
【0041】
なお、図形オブジェクトAおよびBの背景を、背景画像Cを用いずに白色画像(1フレームの画面全体のデータが“0”であること)とすることも可能である。
【0042】
図4は、各図形オブジェクトを描画する処理の流れを示すフローチャートである。
ステップS401において、新たに描画する図形オブジェクト(図3の例の場合は第1番目に図形オブジェクトB)のデータ(図形オブジェクトデータ22)を、図形オブジェクト取得部31が記憶部2から、または外部入力I/F6を通じて取得する。
【0043】
ステップS402において、取得した図形オブジェクトに設定されたアルファ値に対応する描画パターン23を、描画パターン取得部32が記憶部2から取得する。このとき、異なる数値列から生成された複数の描画パターン23を必要な数だけ取得しておく。これは、後のステップS403の描画処理において、画質を向上させるために、同じ描画パターン23はある程度ラインの間隔を開けて使用されるためである。
【0044】
なお、図形オブジェクト取得部31および描画パターン取得部32では、取得した図形オブジェクトデータ22および描画パターン23を、制御処理部3の内部あるいはこれに接続されたRAMに一旦保持し、後のステップS403において描画処理部33からの要求に応じてこれらのデータを順次描画処理部33に供給する。あるいは、ステップS403で描画処理部33からの要求を受けるたびに、必要な図形オブジェクトデータ22あるいは描画パターン23の各データを記憶部2から読み出して、描画処理部33に供給するようにしてもよい。
【0045】
ステップS403において、取得された図形オブジェクトデータ22および描画パターン23を基にして、描画処理部33が各画素に対する描画処理を行う。このステップS403の処理については図5で詳述する。
【0046】
ステップS404において、すべての図形オブジェクトについて描画処理が終了したか否かを判断し、終了していない場合はステップS401に戻る。図3の例の場合は、図形オブジェクトBの描画を行った後、図形オブジェクトAについて再びステップS401からの処理を行う。すべての図形オブジェクトの描画が終了すると、処理を終了する。
【0047】
図5は、図4のステップS403における各画素に対する描画処理の流れを示すフローチャートである。
ステップS501において、描画パターン取得部32によって取得された描画パターン23の1つを読み込む。ステップS502において、描画対象の画素を、画像上の新しいライン(水平方向)の先頭に移動する。
【0048】
ステップS503において、該当画素の描画パターン23の値が“1”であるか否かを判定し、“1”であった場合はステップS504に進む。ステップS504において、該当画素に対して、このとき新たに描画している図形オブジェクトデータ22を描画する。また、ステップS503で描画パターン23が“0”であった場合は、ステップS504をバイパスしてステップS505に進む。
【0049】
例えば、図3の場合では図形オブジェクトBの描画処理中では、これ以前に描画された画像として背景画像Cのデータが画像メモリ4に一時記憶されている。そして、ステップS503で描画パターン23が“1”である場合は、画像メモリ4上の背景画像Cのデータに対して、該当画素に図形オブジェクトBのデータを上書きする。また、描画パターン23が“0”である場合は、該当画素について背景画像Cのデータをそのまま残す。
【0050】
ステップS505において、画像上のすべての画素の描画が終了したか否かを判断する。終了していない場合はステップS506に進み、終了した場合はステップS508に進む。ステップS506において、描画パターン23をビットシフトする。続いてステップS507において、描画対象を次の画素に移動する。この後ステップS503に戻り、新たな画素について描画パターン23の数値を基に描画・被描画の判定を行う。これらのステップS503〜S507までの処理を繰り返して、1ライン分の描画を行う。
【0051】
ステップS508において、画像上のすべてのラインについて描画が終了したか否かを判断し、終了した場合は図4の処理に戻ってステップS404に進む。また、終了していない場合はステップS501に戻り、描画パターン取得部32から前回と異なる描画パターン23を読み込み、画像上の次のラインに対する描画処理を行う。
【0052】
以上の図4および図5の処理によって、図形オブジェクトが半透明表示された1フレーム分の画像が得られる。ところで、上記の半透明描画処理では、各画素について描画パターン23に基づいて描画・非描画を判定して描画を行っており、描画時に処理負荷の高い乗除算処理等が必要とされない。従って、例えばアルファブレンディングに比較して描画時の処理負荷がはるかに低く、処理能力の小さい機器でも容易に実時間での疑似半透明表示を行うことが可能である。
【0053】
また、上記の半透明描画処理では、半透明表示された図形オブジェクトが重なる場合に、重なる図形オブジェクト間では、異なる描画パターン23を使用して描画を行う。すなわち、これらの描画パターン23は、相互相関係数の小さい異なる数値列からそれぞれ生成されたものとなる。
【0054】
ここで、描画パターン23では、数値列上で値が均一に散らばった数値とアルファ値との比較に基づいて、描画・被描画を示す“1”“0”が設定されている。このため、描画パターン23内で“1”が現れる割合がアルファ値に近づき、かつ“1”が全体に渡って均一に散らばって現れる。
【0055】
また、図形オブジェクトが互いに重なっている領域では、それぞれで使用した描画パターン23の基となる各数値列の間で相関が低いために、双方の描画パターン23で“1”が重複する位置が、設定されたアルファ値に応じて描画パターン23内で安定的に現れ、集中的に“1”が重複する領域が生まれにくい。
【0056】
例えば、図3の例において、図形オブジェクトAおよびBに設定されたアルファ値がともに50%で、図形オブジェクトB、図形オブジェクトAの順で描画する場合を考える。この場合、各図形オブジェクトAおよびBが重なっている領域Xでは、図形オブジェクトAおよびBの各画素が領域X内の全画素のそれぞれ50%、25%に近い値となり、各図形オブジェクトAおよびBの画素がこの領域X内の全体でほぼ均一に存在するようになる。
【0057】
以上のように、互いに重なっている図形オブジェクトについて、相互相関係数が“0”に近い数値列が生成した異なる描画パターン23を使用して半透明描画することにより、各図形オブジェクトについて設定されたアルファ値に応じた合成割合を有する高画質な合成画像を得ることが可能となる。また、このような高画質な半透明表示を処理能力の低い機器でも容易に実現することができる。
【0058】
なお、図形オブジェクトの描画時において、隣接するラインや数本といった比較的近いラインについて常に同じ描画パターン23を用いて描画を行った場合は、図形オブジェクトまたはそれ以前の画像の画素が画面上に直線状や曲線状に現れてしまう。このため、図5のステップS501では所定のライン数の間、すべて異なる描画パターン23を読み込むようにし、同じ描画パターン23を再利用して描画するまでの間隔を所定ライン数だけあけることが望ましい。これにより、同じ図形オブジェクトや背景画像が描画される画素をライン間で分散させることができる。
【0059】
また、上述したように、重ねて描画される図形オブジェクト同士では同じ描画パターン23が使用されないので、複数の図形オブジェクトが重なるときには、重なって描画される図形オブジェクトの数に、同じ描画パターン23が再利用されるまでのライン数を乗じた数だけの異なる数値列を用意しておくことが望ましい。従って、画像処理装置1では、これらの数値列から生成された異なる描画パターン23が、記憶部2にあらかじめ記憶されることが望ましい。
【0060】
ここで、上記の画像処理装置1で使用される描画パターン23を生成する基となる数値列の好適な例として、論理回路やソフトウェアにより容易に生成可能な疑似雑音符号から得られる数値列を挙げる。また、この中でも特に、プリファードM系列およびプリファードGold系列といわれる符号系列を挙げる。
【0061】
図6は、プリファードM系列を生成する符号生成器対の例を示す図である。
M系列は、ある段数のシフトレジスタとフィードバックによって生成される符号系列のうち、その周期が最長になる系列である。シフトレジスタの段数をnとすると、その周期は2n−1となる。図6(A)は、M系列を生成する符号生成器の例を示しており、5段のシフトレジスタ61と、その複数個の段の状態の論理結合をシフトレジスタ61の入力にフィードバックする論理回路である排他的論理和回路62によって構成される。描画パターン23の基となる数値列としては、例えば、シフトレジスタ61を順にシフトしたときに得られるシフトレジスタ61上の数値(2進数)によって得ることができる。
【0062】
また、同じ周期を有するM系列の中に相互相関係数が最小となる3値をもつM系列の対は、プリファードペアなM系列と呼ばれる。または、これらのM系列はプリファードM系列と呼ばれる。図6(A)および(B)では、プリファードペアなM系列を生成することが可能な符号生成器の対を例示している。図6(A)の符号生成器は、出力値と3段目の値との排他的論理和を入力にフィードバックしてM系列を得ている。これに対し、図6(B)では、出力値と2段目の値との排他的論理和をとった値に、さらに3段目および4段目の値の排他的論理和を順次とった値を入力にフィードバックしている。
【0063】
プリファードペアなM系列間の相互相関係数(絶対値)の最大値rmaxは、次の式(5)によって近似される。
【0064】
【数3】
【0065】
描画パターン23の基となる数値列を生成する際には、例えば一般のモニタで出力される640画素×480画素以上の画像を想定した場合、好適な画質を得るためには5段以上のシフトレジスタを使用することが望ましい。例えば図6に示したような5段のシフトレジスタを用いたプリファードM系列符号の場合、周期は31で、相互相関係数の最大値は約0.25となる。同様に、7段のシフトレジスタを用いたプリファードM系列符号の場合、周期は127、相互相関係数の最大値は約0.125となる。
【0066】
次に、図7は、プリファードGold系列を生成する符号生成器の例を示す図である。
Gold系列は、基本的には周期の等しい2つのM系列を排他的論理和により合成することが得られる。さらに、プリファードペアなM系列を組み合わせて合成した場合は、プリファードGold系列と呼ばれる。図7では例として、図6(A)および(B)で示した各符号生成器を組み合わせたことにより、プリファードGold系列が得られる符号生成器を示している。
【0067】
プリファードGold系列では、M系列で実現される系列数と比較して多くの系列数が実現可能で、元のプリファードペアなM系列対を含めて2k+1の異なった符号系列が得られる。従って、周期を抑制しながらより多くの数値列を得ることができるため、図形オブジェクトを重ねる数が多い場合により好適である。
【0068】
また、プリファードGold系列の相互相関係数(絶対値)の最大値は、M系列の約2−1倍に抑制される。例えば、図6のような5段のシフトレジスタを用いて生成されたプリファードGold系列の場合、周期は31、相互相関係数の最大値は約0.35で、33個の系列が得られる。また、7段のシフトレジスタを用いた場合、周期は127、相互相関係数の最大値は約0.177で、129個の系列が得られる。描画パターン23の基として使用するためには、上記のプリファードM系列の場合と同様に5段以上のシフトレジスタを用いることが望ましいため、このために生成される数値列の相互相関係数を0.35以下とすることにより、本発明の効果を十分に得ることが可能となる。
【0069】
次に、重なって半透明表示される各図形オブジェクトの大きさや位置等が時間的に変化する場合の半透明描画処理について補足説明する。図8は、この場合の画面表示例を示す図である。
【0070】
図8の例では、図3の場合と同様に、半透明表示される図形オブジェクトAおよびB(ともに0<α<1)の一部の領域XXが重なっている。またこのうち、図形オブジェクトAは時間とともに拡大し、図形オブジェクトBは時間とともに位置が移動している。従って、これらが重なった領域XXも時間とともに変化する。
【0071】
図9は、重なった各図形オブジェクトの大きさや位置等が時間的に変化する場合の半透明描画処理の流れを示すフローチャートである。
図9に示す処理は、基本的に、重なる各図形オブジェクトが静止している場合の図4の処理において、図形オブジェクトデータを取得する前に、図形オブジェクトの現在の状態の算出を行い、時間経過とともにこの現在の状態のデータを更新しながら、その都度描画を行うことで実現されている。
【0072】
すなわち、ステップS901において、時間の更新を行う。ここでの時間は、例えばフレーム同期の時間を示す。ステップS902において、図形オブジェクトの現在の状態を算出する。例えば、図形オブジェクトの座標や拡大率等の情報が算出される。また、時間とともにアルファ値が変化する場合は、アルファ値の情報も取得する。
【0073】
ステップS903〜S906の処理は、図4におけるステップS401〜S404の処理に対応しており、ここでは説明を省略する。ここで、ステップS903での図形オブジェクトデータの取得処理は、これに先立つステップS902で算出された現在の状態の情報に基づいて行うことで、無駄な記憶部2へのアクセスを行うことなく、効率的な処理を行うことが可能となる。
【0074】
ステップS907において、図形オブジェクトの動きが終了したか否かを判断し、終了した場合は処理を終了する。また、終了していない場合はステップS901に戻り、再び時間を更新し、図形オブジェクトの現在の状態を算出して図形オブジェクトをあらためて描画する。これによって、図形オブジェクトの変化に応じた半透明描画が行われる。
【0075】
以上の処理により、重なった図形オブジェクトが時間経過とともに変化する場合でも、描画パターン23を使用した負荷の低い処理によって、設定されたアルファ値に応じた安定的な合成割合を有する合成画像を常に得ることができる。従って、フリッカーのない高画質な半透明表示を実現することが可能となる。
【0076】
以上の半透明描画処理は、アルファブレンディングと比較して大幅に処理負荷を軽減できることから、例えばパーソナルコンピュータ上等でソフトウェアによる高速な半透明描画を行う場合、特に動画表示やアニメーション表示を行う場合に適している。また、例えば、画面上のアイコン等に対して動きを伴う半透明表示等の各種視覚効果を与えたい場合等や、疑似2D効果を利用した印象的なGUI(Graphical User Interface)を実現する場合等に、上記の半透明描画処理を好適に用いることができる。
【0077】
なお、上記の実施の形態例では、描画パターン23をあらかじめ生成して記憶部2に記憶しておいた場合について説明したが、任意の数値列(任意の桁数、周期)を生成する手段、および生成された数値列を基にして描画パターン23を生成する手段を設けて、生成した描画パターン23を描画パターン取得部32に供給するようにしてもよい。この場合、図形オブジェクトを重ねる個数や装置の処理能力、画質等を考慮して最適な描画パターン23を生成し、これを使用して画像の描画を行うことが可能となる。
【0078】
また、上記の画像処理装置1の処理機能は、コンピュータによって実現することができる。その場合、画像処理装置1が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等がある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープ等がある。光ディスクには、DVD(Digital Versatile Disk)、DVD−RAM、CD−ROM(Compact Disk Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等がある。光磁気記録媒体には、MO(Magneto−Optical disk)等がある。
【0079】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROM等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0080】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0081】
【発明の効果】
以上説明したように、本発明の画像処理装置では、描画パターンを用いて図形オブジェクトの描画の可不可を判定して合成割合を決定するため、処理負荷の大きい乗除算が必要とならない。また、図形オブジェクト同士が重なって半透明表示される場合に、重なる各図形オブジェクトに対して相互相関係数の絶対値が小さい異なる数値列から生成された描画パターンを使用して描画の判定を行うため、描画後の各図形オブジェクトの表示率をアルファ値に近づけることができる。従って、2つ以上の図形オブジェクトが重なった場合に、低負荷の処理で各図形オブジェクトを高画質で半透明表示させることが可能となる。
【0082】
また、本発明の画像処理方法では、描画パターンを用いて図形オブジェクトの描画の可不可を判定して合成割合を決定するため、処理負荷の大きい乗除算が必要とならない。また、図形オブジェクト同士が重なって半透明表示される場合に、重なる各図形オブジェクトに対して相互相関係数の絶対値が小さい異なる数値列から生成された描画パターンを使用して描画の判定を行うため、描画後の各図形オブジェクトの表示率をアルファ値に近づけることができる。従って、2つ以上の図形オブジェクトが重なった場合に、低負荷の処理で各図形オブジェクトを高画質で半透明表示させることが可能となる。
【0083】
さらに、本発明の画像処理プログラムでは、描画パターンを用いて図形オブジェクトの描画の可不可を判定して合成割合を決定するため、処理負荷の大きい乗除算が必要とならない。また、図形オブジェクト同士が重なって半透明表示される場合に、重なる各図形オブジェクトに対して相互相関係数の絶対値が小さい異なる数値列から生成された描画パターンを使用して描画の判定を行うため、描画後の各図形オブジェクトの表示率をアルファ値に近づけることができる。従って、2つ以上の図形オブジェクトが重なった場合に、低負荷の処理で各図形オブジェクトを高画質で半透明表示させることが可能となる。
【図面の簡単な説明】
【図1】本発明の実施の形態例である画像処理装置の構成を示す機能ブロック図である。
【図2】描画パターンを生成する処理の流れを示すフローチャートである。
【図3】背景画像上に2つの図形オブジェクトが合成される場合の画面表示例を示す図である。
【図4】各図形オブジェクトを描画する処理の流れを示すフローチャートである。
【図5】各画素に対する描画処理の流れを示すフローチャートである。
【図6】プリファードM系列を生成する符号生成器対の例を示す図である。
【図7】プリファードGold系列を生成する符号生成器の例を示す図である。
【図8】重なって半透明表示される各図形オブジェクトの大きさや位置等が時間的に変化する場合の画面表示例を示す図である。
【図9】重なった各図形オブジェクトの大きさや位置等が時間的に変化する場合の半透明描画処理の流れを示すフローチャートである。
【符号の説明】
1……画像処理装置、2……記憶部、3……制御処理部、4……画像メモリ、
5……グラフィック処理部、6……外部入力I/F、21……背景画像データ、
22……図形オブジェクトデータ、23……描画パターン、31……図形オブジェクト取得部、32……描画パターン取得部、33……描画処理部、51……モニタ
【発明の属する技術分野】
本発明は、背景上に2つ以上の図形オブジェクトを合成して描画するための画像処理装置、画像処理方法および画像処理プログラムに関し、特に、2つ以上の図形オブジェクト同士が重なる場合に対応した画像処理装置、画像処理方法および画像処理プログラムに関する。
【0002】
【従来の技術】
近年、画像のデジタル処理技術の発達に伴い、放送等の業務用画像処理装置の他、家庭用のPC(パーソナルコンピュータ)を用いても手軽に画像の編集や合成を行うことが可能となっている。
【0003】
画像を合成する場合に、複数の図形オブジェクトを互いに半透明な状態で同時に表示させることがよく行われる。このような半透明描画では、アルファブレンディングやディザ法といった手法が一般的に用いられている。アルファブレンディングでは、図形オブジェクトaに対して合成時の透明度を示すアルファ値(α:0≦α≦1)を与える。そして、この図形オブジェクトaを背景画像b上に合成する場合に、各ピクセルの色要素(R、G、B)についてそれぞれ次の式(1)、(2)および(3)を適用することにより、半透明描画を実現する。
【0004】
【数1】
R=R(a)・α+R(b)・(1−α) ………(1)
G=G(a)・α+G(b)・(1−α) ………(2)
B=B(a)・α+B(b)・(1−α) ………(3)
ただし、R(a)、G(a)およびB(a)はそれぞれ図形オブジェクトa上の当該ピクセルの各色要素、R(b)、G(b)およびB(b)はそれぞれ背景画像b上の当該ピクセルの各色要素を示す。
【0005】
しかし、このアルファブレンディングを用いた半透明描画処理では多くの乗除算演算が行われるため、高い処理能力が必要となる。このため、ソフトウェアによる高速な半透明描画を行う場合、特に動画表示やアニメーション表示を行う場合には、ディザ法が用いられることが多い。
【0006】
従来のディザ法では、画像表示面を例えば4×4画素や16×16画素といった範囲で区切り、それぞれの範囲内で規則的なパターンを設定する。そして、このパターンによるしきい値と図形オブジェクトのアルファ値とを比較して、その大小を基に、重なり合うピクセルについて、図形オブジェクトのピクセルを描画するか、背景画像のピクセルを描画するか、いずれの描画も行わないかについて判定する。これにより、全体として半透明の表示を擬似的に実現している。
【0007】
【発明が解決しようとする課題】
しかし、従来のディザ法では、0と1との間のアルファ値を有する図形オブジェクトが2つ以上重なった場合、互いの位置によって各パターンの極端な一致状態や完全な不一致状態等が発生する。例えば、各パターンが一致している場合、最終的に生成される画像では、2つの図形オブジェクトが存在するにも関わらず、1つの図形オブジェクトしか見ることができないという現象が発生することがある。逆に各パターンが完全に不一致である場合には、アルファ値による条件では本来、背景画像の一部が見えるはずであるにも関わらず、図形オブジェクトに隠れてしまって背景画像が見えないという現象が発生することがある。特に、これらの図形オブジェクトが相対的に移動している場合には、移動に応じた上記現象の発生によりフリッカー(ちらつき)が発生して、正常な表示ができなくなり、画質が劣化してしまう。
【0008】
本発明はこのような課題に鑑みてなされたものであり、2つ以上の図形オブジェクトを重ねて合成する際に、低負荷の処理で各図形オブジェクトを高画質で半透明表示させることが可能な画像処理装置を提供することを目的とする。
【0009】
また、本発明の他の目的は、2つ以上の図形オブジェクトを重ねて合成する際に、低負荷の処理で各図形オブジェクトを高画質で半透明表示させることが可能な画像処理方法を提供することである。
【0010】
さらに、本発明の他の目的は、2つ以上の図形オブジェクトを重ねて合成する処理をコンピュータに実行させる際に、低負荷の処理で各図形オブジェクトを高画質で半透明表示させることが可能な画像処理プログラムを提供することである。
【0011】
【課題を解決するための手段】
本発明では上記課題を解決するために、背景上に2つ以上の図形オブジェクトを合成して描画する画像処理装置において、所定の数値列から順次生成した数値と、前記図形オブジェクトの合成時の透明度を示すアルファ値とを画素ごとに順に比較した結果を基に生成された描画パターンを取得する描画パターン取得手段と、新たな前記図形オブジェクトを描画するごとに、取得された前記描画パターンに基づいて新たな前記図形オブジェクトの各画素またはそれ以前に描画されていた画像のいずれかを描画するか否かを判定して描画を行う描画処理手段とを有し、前記描画処理手段は、前記図形オブジェクト同士が重なって半透明表示される場合に、重なる前記各図形オブジェクトに対して相互相関係数の絶対値が小さい異なる前記数値列から生成された前記描画パターンを使用して描画の判定を行うことを特徴とする画像処理装置が提供される。
【0012】
ここで、描画パターン取得手段は、所定の数値列から順に生成した数値と、図形オブジェクトの合成時の透明度を示すアルファ値とを画素ごとに順に比較した結果を基に生成された描画パターンを取得する。描画処理手段は、取得された描画パターンに基づいて新たな図形オブジェクトの各画素またはそれ以前に描画されていた画像のいずれかを描画するか否かを判定して描画を行う。このように、描画パターンを用いて図形オブジェクトの描画の可不可を判定して合成割合を決定するため、処理負荷の大きい乗除算が必要とならない。また、描画処理手段は、図形オブジェクト同士が重なって半透明表示される場合に、重なる各図形オブジェクトに対して相互相関係数の絶対値が小さい異なる数値列から生成された描画パターンを使用して描画の判定を行う。従って、描画後の各図形オブジェクトの表示率をアルファ値に近づけることができる。
【0013】
また、本発明では、背景上に2つ以上の図形オブジェクトを合成して描画する画像処理方法において、所定の数値列から順次生成した数値と、前記図形オブジェクトの合成時の透明度を示すアルファ値とを画素ごとに順に比較した結果を基に生成された描画パターンを取得し、新たな前記図形オブジェクトを描画するごとに、取得された前記描画パターンに基づいて新たな前記図形オブジェクトの各画素またはそれ以前に描画されていた画像のいずれかを描画するか否かを判定して描画を行い、前記図形オブジェクト同士が重なって半透明表示される場合には、重なる前記各図形オブジェクトに対して相互相関係数の絶対値が小さい異なる前記数値列から生成された前記描画パターンを使用して描画の判定を行うことを特徴とする画像処理方法が提供される。
【0014】
このような画像処理方法では、所定の数値列から順次生成した数値と、図形オブジェクトの合成時の透明度を示すアルファ値とを画素ごとに順に比較した結果を基に生成された描画パターンを取得し、新たな図形オブジェクトを描画するごとに、取得された描画パターンに基づいて新たな図形オブジェクトの各画素またはそれ以前に描画されていた画像のいずれかを描画するか否かを判定して描画を行う。このように、描画パターンを用いて図形オブジェクトの描画の可不可を判定して合成割合を決定するため、処理負荷の大きい乗除算が必要とならない。また、描画の判定時において、図形オブジェクト同士が重なって半透明表示される場合には、重なる各図形オブジェクトに対して相互相関係数の絶対値が小さい異なる数値列から生成された描画パターンを使用して描画の判定を行う。従って、描画後の各図形オブジェクトの表示率をアルファ値に近づけることができる。
【0015】
さらに、本発明では、背景上に2つ以上の図形オブジェクトを合成して描画する処理をコンピュータに実行させる画像処理プログラムにおいて、所定の数値列から順次生成した数値と、前記図形オブジェクトの合成時の透明度を示すアルファ値とを画素ごとに順に比較した結果を基に生成された描画パターンを取得し、新たな前記図形オブジェクトを描画するごとに、取得された前記描画パターンに基づいて新たな前記図形オブジェクトの各画素またはそれ以前に描画されていた画像のいずれかを描画するか否かを判定して描画を行い、前記図形オブジェクト同士が重なって半透明表示される場合には、重なる前記各図形オブジェクトに対して相互相関係数の絶対値が小さい異なる前記数値列から生成された前記描画パターンを使用して描画の判定を行う処理を前記コンピュータに実行させることを特徴とする画像処理プログラムが提供される。
【0016】
このような画像処理プログラムを実行することにより、コンピュータは画像処理装置として機能する。この画像処理装置では、所定の数値列から順次生成した数値と、図形オブジェクトの合成時の透明度を示すアルファ値とを画素ごとに順に比較した結果を基に生成された描画パターンを取得し、新たな図形オブジェクトを描画するごとに、取得された描画パターンに基づいて新たな図形オブジェクトの各画素またはそれ以前に描画されていた画像のいずれかを描画するか否かを判定して描画を行う。このように、描画パターンを用いて図形オブジェクトの描画の可不可を判定して合成割合を決定するため、処理負荷の大きい乗除算が必要とならない。また、描画の判定時において、図形オブジェクト同士が重なって半透明表示される場合には、重なる各図形オブジェクトに対して相互相関係数の絶対値が小さい異なる数値列から生成された描画パターンを使用して描画の判定を行う。従って、描画後の各図形オブジェクトの表示率をアルファ値に近づけることができる。
【0017】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
図1は、本発明の実施の形態例である画像処理装置の構成を示す機能ブロック図である。
【0018】
図1に示す画像処理装置1は、背景画像データ21、図形オブジェクトデータ22および描画パターン23等を記憶する記憶部2と、各種の制御処理を行う制御処理部3と、生成される画像データを一時的に記憶する画像メモリ4と、生成された画像データを基にして画像表示のための処理を行うグラフィック処理部5と、外部から画像データ等の入力を受ける外部入力I/F6によって構成される。
【0019】
記憶部2に記憶された背景画像データ21は、画像合成時の背景となる画像のデータである。図形オブジェクトデータ22は、背景画像の上に合成される画像のデータであり、例えば図形の形状や色、その位置情報等により構成される。描画パターン23は、後述するように、所定の数値列を基にして合成時における画素ごとの描画・非描画を判定するために生成され、例えば“1”と“0”で構成される数値パターンとして実現される。この描画パターン23は、複数の異なる数値列を基にあらかじめ複数生成されて記憶部2に記憶される。なお、背景画像データ21および図形オブジェクトデータ22は、いずれも静止画像あるいは動画像のデータでもよい。記憶部2は、これらのデータを制御処理部3からの要求に応じて出力する。
【0020】
制御処理部3は、図形オブジェクト取得部31、描画パターン取得部32および描画処理部33を具備する。図形オブジェクト取得部31は、描画する図形オブジェクトデータ22を記憶部2から、または外部入力I/F6を通じて取得し、描画処理部33に対してそのデータを1画素ずつ出力する。描画パターン取得部32は、描画処理部33からの要求に応じて、記憶部2から描画パターン23を取得して、描画処理部33に供給する。
【0021】
描画処理部33は、記憶部2から、または外部入力I/F6を通じて背景画像データ21および図形オブジェクトデータ22の入力を受け、背景画像上に図形オブジェクトを合成表示する。例えば、合成する図形オブジェクトの透明度を示すアルファ値αが“1”の場合には、画面全体を画素ごとに走査し、図形オブジェクトデータ22の位置情報に基づいて図形オブジェクトを描画するか、あるいはそれ以前に描画されていた画像を描画するかを判定して描画処理を行う。
【0022】
また、合成する図形オブジェクトを半透明表示する場合(0<α<1の場合)には、描画パターン取得部32の取得した描画パターン23に従い、画素ごとの描画の判定を行って描画する。このとき、1つの図形オブジェクトの描画や1ライン分の描画ごと等の所定のタイミングで新たな描画パターン23を使用して判定を行う。さらに例えば、複数の画像オブジェクトが重なって半透明表示される場合には、少なくとも重なる各図形オブジェクトに対して、相互相関係数の絶対値が小さい異なる数値列から生成された描画パターン23を使用して描画の判定を行う。
【0023】
画像メモリ4は、例えば半導体によってなるRAM(Random Access Memory)によってなり、描画処理部33における描画処理中の画像データや処理結果の画像データを一時的に記憶する。
【0024】
グラフィック処理部5には、CRT(Cathode Ray Tube)またはLCD(Liquid Crystal Display)等によってなるモニタ51が接続されている。このグラフィック処理部5は、制御処理部3の描画処理部33の要求に従って、画像メモリ4に記憶された画像データに基づく画像をモニタ51の画面上に表示させる処理を行う。
【0025】
外部入力I/F6は、外部の画像出力機器や画像受信機器から背景画像データ21および図形オブジェクトデータ22等の入力を受けることができる。入力された背景画像データ21は描画処理部33に供給され、また図形オブジェクトデータ22は図形オブジェクト取得部31に供給される。
【0026】
なお図示しないが、画像処理装置1はこの他に、キーボードやマウス等の入力デバイスを通じて利用者からの操作入力を受ける入力部を具備している。
この画像処理装置1は例えば、プロセッサやRAM、ROM(Read Only Memory)等によって構成されるコンピュータ装置として実現される。この場合、制御処理部3はプロセッサ等により構成され、図形オブジェクトデータ22や描画パターン23の取得や画像の描画処理を行う処理プログラムが、例えばHDD(Hard Disk Drive)によってなる記憶部2から読み出され、制御処理部3で実行されることにより、制御処理部3内の各機能ブロックの処理が実現される。
【0027】
次に、描画パターン23の生成処理について説明する。
上述したように、画像処理装置1では、複数の異なる描画パターン23が記憶部2にあらかじめ記憶される。この描画パターン23は、所定の数値列から順に得た数値と、アルファ値との比較を基に生成され、描画処理部33において図形オブジェクトの半透明描画を行う際に使用される。従って、描画パターン23は最低限、0<α<1の範囲でアルファ値の取り得る段階ごとに用意される必要がある。
【0028】
図2は、描画パターン23を生成する処理の流れを示すフローチャートである。
図2では、1つの描画パターン23を生成する際の処理について示している。ここで、使用される数値列は所定の長さ(構成する数値の個数)を有しているものとする。また、数値列としては、この長さ、および数値が取り得る値域の中で、値が十分に均一に散らばっているものが使用される。ここで、例えば数値列を構成する各数値が7けたの2進数である場合には、0〜127の値域をとる。
【0029】
ステップS201において、描画パターン23の現在位置の更新を行う。具体的には描画パターン23上の位置を1画素分進める。ステップS202において、数値列から数値を順に1つ選択する。ステップS203において、アルファ値の値域が数値列の値域に一致するように、このとき設定されているアルファ値を変換し、アルファ値と数値との比較が可能なようにアルファ値を正規化する。
【0030】
ステップS204において、正規化されたアルファ値と、ステップS202で選択された数値とを比較する。そして、正規化されたアルファ値が数値以上である場合はステップS205に進み、描画パターン23上の現在位置に“1”をセットする。また、正規化されたアルファ値が数値未満である場合はステップS206に進み、現在位置に“0”をセットする。
【0031】
ステップS207において、数値列上の最後の数値要素に達したか否かを判断し、達していない場合はステップS201に進んで、現在位置を更新し、数値列の次の数値を選択して描画パターン23の設定を行う。また、数値列上の最後の数値要素に達していた場合は処理を終了する。
【0032】
このような処理により、1つのアルファ値に対応する描画パターン23が1つ生成される。生成された描画パターン23は、図形オブジェクトの半透明描画処理の際に使用されて、描画パターン23中の“1”が当該画素についてこのとき新たに描画している図形オブジェクトを描画することを示し、“0”が当該画素についてこの図形オブジェクトを描画せず、これ以前に描画されていた画像を描画することを示す。
【0033】
この後、同一または異なる数値列を用いて、別のアルファ値に対応する描画パターン23を生成する。さらに、同じアルファ値についても、異なる複数の数値列を用いて複数の描画パターン23を生成する。従って、数値列の種類の数にアルファ値の取り得る段階を乗じただけの数の描画パターン23を生成することができる。
【0034】
ところで、本発明では、複数の図形オブジェクト同士が重なって描画される際に高画質な画像が得られるように、数値列として、各数値の値が十分均一に散らばっているとともに、各数値列の相互相関係数が“0”に近いものが使用される。ここで、2つの数値列xiおよびyi(i=1,2,……,n)に対して、その間の相互相関係数rは、以下の式(4)によって表される。
【0035】
【数2】
【0036】
数値の値が均一に散らばり、かつ相互相関係数が低い数値列としては、例えば、熱雑音や白色雑音等の物理現象、特に電子回路上で得られる雑音から取得した数値列や、あるいは論理回路やソフトウェアを用いて生成される疑似雑音(PN:Pseudo Noise)符号による数値列等を用いることが可能である。疑似雑音符号としては、例えばM系列(Maximal−length sequences)符号やゴールド(Gold)符号等を用いることが可能である。なお、本実施の形態例での使用に適する疑似雑音符号については、後述することにする。
【0037】
なお、以上の描画パターン23の生成処理は、本実施の形態例では、画像処理装置1の外部の機器において行われ、生成された複数の描画パターン23が記憶部2にあらかじめ格納される。また、このような描画パターン23を生成する機能を画像処理装置の内部に設けて、必要に応じて数値列を生成し、この数値列を基に描画パターン23を生成してもよい。
【0038】
次に、この画像処理装置1において、背景画像上に複数の図形オブジェクトが半透明表示されるように合成する場合の処理について説明する。この場合、各図形オブジェクトのアルファ値αはともに0<α<1の条件で設定される。
【0039】
図3は、背景画像上に2つの図形オブジェクトが合成される場合の画面表示例を示す図である。
図3では、2つの図形オブジェクトAおよびBが、背景画像C上に合成表示された様子の例を示している。この例では、領域Xでは各図形オブジェクトAおよびBが重なっており、この領域Xでは背景画像C上に図形オブジェクトAおよびBの双方が半透明表示される。また、領域Y1およびY2では背景画像C上に図形オブジェクトAのみ、図形オブジェクトBのみがそれぞれ半透明表示される。
【0040】
ここで、図形オブジェクトAおよびB、背景画像Cの表示の前後関係を示すZオーダが、図形オブジェクトA、図形オブジェクトB、背景画像Cの順であるとすると、描画処理部33での描画処理は、このZオーダの逆順で行われる。まず、描画処理部33は、記憶部2から、または外部入力I/F6を通じて外部から、1フレーム分の背景画像データ21の入力を受け、このデータを画像メモリ4に記憶させる。次に、図形オブジェクトAおよびBに対応する図形オブジェクトデータ22をそれぞれ、記憶部2あるいは外部入力I/F6を通じて図形オブジェクト取得部31に順に取得させ、それぞれに対する描画処理を行う。
【0041】
なお、図形オブジェクトAおよびBの背景を、背景画像Cを用いずに白色画像(1フレームの画面全体のデータが“0”であること)とすることも可能である。
【0042】
図4は、各図形オブジェクトを描画する処理の流れを示すフローチャートである。
ステップS401において、新たに描画する図形オブジェクト(図3の例の場合は第1番目に図形オブジェクトB)のデータ(図形オブジェクトデータ22)を、図形オブジェクト取得部31が記憶部2から、または外部入力I/F6を通じて取得する。
【0043】
ステップS402において、取得した図形オブジェクトに設定されたアルファ値に対応する描画パターン23を、描画パターン取得部32が記憶部2から取得する。このとき、異なる数値列から生成された複数の描画パターン23を必要な数だけ取得しておく。これは、後のステップS403の描画処理において、画質を向上させるために、同じ描画パターン23はある程度ラインの間隔を開けて使用されるためである。
【0044】
なお、図形オブジェクト取得部31および描画パターン取得部32では、取得した図形オブジェクトデータ22および描画パターン23を、制御処理部3の内部あるいはこれに接続されたRAMに一旦保持し、後のステップS403において描画処理部33からの要求に応じてこれらのデータを順次描画処理部33に供給する。あるいは、ステップS403で描画処理部33からの要求を受けるたびに、必要な図形オブジェクトデータ22あるいは描画パターン23の各データを記憶部2から読み出して、描画処理部33に供給するようにしてもよい。
【0045】
ステップS403において、取得された図形オブジェクトデータ22および描画パターン23を基にして、描画処理部33が各画素に対する描画処理を行う。このステップS403の処理については図5で詳述する。
【0046】
ステップS404において、すべての図形オブジェクトについて描画処理が終了したか否かを判断し、終了していない場合はステップS401に戻る。図3の例の場合は、図形オブジェクトBの描画を行った後、図形オブジェクトAについて再びステップS401からの処理を行う。すべての図形オブジェクトの描画が終了すると、処理を終了する。
【0047】
図5は、図4のステップS403における各画素に対する描画処理の流れを示すフローチャートである。
ステップS501において、描画パターン取得部32によって取得された描画パターン23の1つを読み込む。ステップS502において、描画対象の画素を、画像上の新しいライン(水平方向)の先頭に移動する。
【0048】
ステップS503において、該当画素の描画パターン23の値が“1”であるか否かを判定し、“1”であった場合はステップS504に進む。ステップS504において、該当画素に対して、このとき新たに描画している図形オブジェクトデータ22を描画する。また、ステップS503で描画パターン23が“0”であった場合は、ステップS504をバイパスしてステップS505に進む。
【0049】
例えば、図3の場合では図形オブジェクトBの描画処理中では、これ以前に描画された画像として背景画像Cのデータが画像メモリ4に一時記憶されている。そして、ステップS503で描画パターン23が“1”である場合は、画像メモリ4上の背景画像Cのデータに対して、該当画素に図形オブジェクトBのデータを上書きする。また、描画パターン23が“0”である場合は、該当画素について背景画像Cのデータをそのまま残す。
【0050】
ステップS505において、画像上のすべての画素の描画が終了したか否かを判断する。終了していない場合はステップS506に進み、終了した場合はステップS508に進む。ステップS506において、描画パターン23をビットシフトする。続いてステップS507において、描画対象を次の画素に移動する。この後ステップS503に戻り、新たな画素について描画パターン23の数値を基に描画・被描画の判定を行う。これらのステップS503〜S507までの処理を繰り返して、1ライン分の描画を行う。
【0051】
ステップS508において、画像上のすべてのラインについて描画が終了したか否かを判断し、終了した場合は図4の処理に戻ってステップS404に進む。また、終了していない場合はステップS501に戻り、描画パターン取得部32から前回と異なる描画パターン23を読み込み、画像上の次のラインに対する描画処理を行う。
【0052】
以上の図4および図5の処理によって、図形オブジェクトが半透明表示された1フレーム分の画像が得られる。ところで、上記の半透明描画処理では、各画素について描画パターン23に基づいて描画・非描画を判定して描画を行っており、描画時に処理負荷の高い乗除算処理等が必要とされない。従って、例えばアルファブレンディングに比較して描画時の処理負荷がはるかに低く、処理能力の小さい機器でも容易に実時間での疑似半透明表示を行うことが可能である。
【0053】
また、上記の半透明描画処理では、半透明表示された図形オブジェクトが重なる場合に、重なる図形オブジェクト間では、異なる描画パターン23を使用して描画を行う。すなわち、これらの描画パターン23は、相互相関係数の小さい異なる数値列からそれぞれ生成されたものとなる。
【0054】
ここで、描画パターン23では、数値列上で値が均一に散らばった数値とアルファ値との比較に基づいて、描画・被描画を示す“1”“0”が設定されている。このため、描画パターン23内で“1”が現れる割合がアルファ値に近づき、かつ“1”が全体に渡って均一に散らばって現れる。
【0055】
また、図形オブジェクトが互いに重なっている領域では、それぞれで使用した描画パターン23の基となる各数値列の間で相関が低いために、双方の描画パターン23で“1”が重複する位置が、設定されたアルファ値に応じて描画パターン23内で安定的に現れ、集中的に“1”が重複する領域が生まれにくい。
【0056】
例えば、図3の例において、図形オブジェクトAおよびBに設定されたアルファ値がともに50%で、図形オブジェクトB、図形オブジェクトAの順で描画する場合を考える。この場合、各図形オブジェクトAおよびBが重なっている領域Xでは、図形オブジェクトAおよびBの各画素が領域X内の全画素のそれぞれ50%、25%に近い値となり、各図形オブジェクトAおよびBの画素がこの領域X内の全体でほぼ均一に存在するようになる。
【0057】
以上のように、互いに重なっている図形オブジェクトについて、相互相関係数が“0”に近い数値列が生成した異なる描画パターン23を使用して半透明描画することにより、各図形オブジェクトについて設定されたアルファ値に応じた合成割合を有する高画質な合成画像を得ることが可能となる。また、このような高画質な半透明表示を処理能力の低い機器でも容易に実現することができる。
【0058】
なお、図形オブジェクトの描画時において、隣接するラインや数本といった比較的近いラインについて常に同じ描画パターン23を用いて描画を行った場合は、図形オブジェクトまたはそれ以前の画像の画素が画面上に直線状や曲線状に現れてしまう。このため、図5のステップS501では所定のライン数の間、すべて異なる描画パターン23を読み込むようにし、同じ描画パターン23を再利用して描画するまでの間隔を所定ライン数だけあけることが望ましい。これにより、同じ図形オブジェクトや背景画像が描画される画素をライン間で分散させることができる。
【0059】
また、上述したように、重ねて描画される図形オブジェクト同士では同じ描画パターン23が使用されないので、複数の図形オブジェクトが重なるときには、重なって描画される図形オブジェクトの数に、同じ描画パターン23が再利用されるまでのライン数を乗じた数だけの異なる数値列を用意しておくことが望ましい。従って、画像処理装置1では、これらの数値列から生成された異なる描画パターン23が、記憶部2にあらかじめ記憶されることが望ましい。
【0060】
ここで、上記の画像処理装置1で使用される描画パターン23を生成する基となる数値列の好適な例として、論理回路やソフトウェアにより容易に生成可能な疑似雑音符号から得られる数値列を挙げる。また、この中でも特に、プリファードM系列およびプリファードGold系列といわれる符号系列を挙げる。
【0061】
図6は、プリファードM系列を生成する符号生成器対の例を示す図である。
M系列は、ある段数のシフトレジスタとフィードバックによって生成される符号系列のうち、その周期が最長になる系列である。シフトレジスタの段数をnとすると、その周期は2n−1となる。図6(A)は、M系列を生成する符号生成器の例を示しており、5段のシフトレジスタ61と、その複数個の段の状態の論理結合をシフトレジスタ61の入力にフィードバックする論理回路である排他的論理和回路62によって構成される。描画パターン23の基となる数値列としては、例えば、シフトレジスタ61を順にシフトしたときに得られるシフトレジスタ61上の数値(2進数)によって得ることができる。
【0062】
また、同じ周期を有するM系列の中に相互相関係数が最小となる3値をもつM系列の対は、プリファードペアなM系列と呼ばれる。または、これらのM系列はプリファードM系列と呼ばれる。図6(A)および(B)では、プリファードペアなM系列を生成することが可能な符号生成器の対を例示している。図6(A)の符号生成器は、出力値と3段目の値との排他的論理和を入力にフィードバックしてM系列を得ている。これに対し、図6(B)では、出力値と2段目の値との排他的論理和をとった値に、さらに3段目および4段目の値の排他的論理和を順次とった値を入力にフィードバックしている。
【0063】
プリファードペアなM系列間の相互相関係数(絶対値)の最大値rmaxは、次の式(5)によって近似される。
【0064】
【数3】
【0065】
描画パターン23の基となる数値列を生成する際には、例えば一般のモニタで出力される640画素×480画素以上の画像を想定した場合、好適な画質を得るためには5段以上のシフトレジスタを使用することが望ましい。例えば図6に示したような5段のシフトレジスタを用いたプリファードM系列符号の場合、周期は31で、相互相関係数の最大値は約0.25となる。同様に、7段のシフトレジスタを用いたプリファードM系列符号の場合、周期は127、相互相関係数の最大値は約0.125となる。
【0066】
次に、図7は、プリファードGold系列を生成する符号生成器の例を示す図である。
Gold系列は、基本的には周期の等しい2つのM系列を排他的論理和により合成することが得られる。さらに、プリファードペアなM系列を組み合わせて合成した場合は、プリファードGold系列と呼ばれる。図7では例として、図6(A)および(B)で示した各符号生成器を組み合わせたことにより、プリファードGold系列が得られる符号生成器を示している。
【0067】
プリファードGold系列では、M系列で実現される系列数と比較して多くの系列数が実現可能で、元のプリファードペアなM系列対を含めて2k+1の異なった符号系列が得られる。従って、周期を抑制しながらより多くの数値列を得ることができるため、図形オブジェクトを重ねる数が多い場合により好適である。
【0068】
また、プリファードGold系列の相互相関係数(絶対値)の最大値は、M系列の約2−1倍に抑制される。例えば、図6のような5段のシフトレジスタを用いて生成されたプリファードGold系列の場合、周期は31、相互相関係数の最大値は約0.35で、33個の系列が得られる。また、7段のシフトレジスタを用いた場合、周期は127、相互相関係数の最大値は約0.177で、129個の系列が得られる。描画パターン23の基として使用するためには、上記のプリファードM系列の場合と同様に5段以上のシフトレジスタを用いることが望ましいため、このために生成される数値列の相互相関係数を0.35以下とすることにより、本発明の効果を十分に得ることが可能となる。
【0069】
次に、重なって半透明表示される各図形オブジェクトの大きさや位置等が時間的に変化する場合の半透明描画処理について補足説明する。図8は、この場合の画面表示例を示す図である。
【0070】
図8の例では、図3の場合と同様に、半透明表示される図形オブジェクトAおよびB(ともに0<α<1)の一部の領域XXが重なっている。またこのうち、図形オブジェクトAは時間とともに拡大し、図形オブジェクトBは時間とともに位置が移動している。従って、これらが重なった領域XXも時間とともに変化する。
【0071】
図9は、重なった各図形オブジェクトの大きさや位置等が時間的に変化する場合の半透明描画処理の流れを示すフローチャートである。
図9に示す処理は、基本的に、重なる各図形オブジェクトが静止している場合の図4の処理において、図形オブジェクトデータを取得する前に、図形オブジェクトの現在の状態の算出を行い、時間経過とともにこの現在の状態のデータを更新しながら、その都度描画を行うことで実現されている。
【0072】
すなわち、ステップS901において、時間の更新を行う。ここでの時間は、例えばフレーム同期の時間を示す。ステップS902において、図形オブジェクトの現在の状態を算出する。例えば、図形オブジェクトの座標や拡大率等の情報が算出される。また、時間とともにアルファ値が変化する場合は、アルファ値の情報も取得する。
【0073】
ステップS903〜S906の処理は、図4におけるステップS401〜S404の処理に対応しており、ここでは説明を省略する。ここで、ステップS903での図形オブジェクトデータの取得処理は、これに先立つステップS902で算出された現在の状態の情報に基づいて行うことで、無駄な記憶部2へのアクセスを行うことなく、効率的な処理を行うことが可能となる。
【0074】
ステップS907において、図形オブジェクトの動きが終了したか否かを判断し、終了した場合は処理を終了する。また、終了していない場合はステップS901に戻り、再び時間を更新し、図形オブジェクトの現在の状態を算出して図形オブジェクトをあらためて描画する。これによって、図形オブジェクトの変化に応じた半透明描画が行われる。
【0075】
以上の処理により、重なった図形オブジェクトが時間経過とともに変化する場合でも、描画パターン23を使用した負荷の低い処理によって、設定されたアルファ値に応じた安定的な合成割合を有する合成画像を常に得ることができる。従って、フリッカーのない高画質な半透明表示を実現することが可能となる。
【0076】
以上の半透明描画処理は、アルファブレンディングと比較して大幅に処理負荷を軽減できることから、例えばパーソナルコンピュータ上等でソフトウェアによる高速な半透明描画を行う場合、特に動画表示やアニメーション表示を行う場合に適している。また、例えば、画面上のアイコン等に対して動きを伴う半透明表示等の各種視覚効果を与えたい場合等や、疑似2D効果を利用した印象的なGUI(Graphical User Interface)を実現する場合等に、上記の半透明描画処理を好適に用いることができる。
【0077】
なお、上記の実施の形態例では、描画パターン23をあらかじめ生成して記憶部2に記憶しておいた場合について説明したが、任意の数値列(任意の桁数、周期)を生成する手段、および生成された数値列を基にして描画パターン23を生成する手段を設けて、生成した描画パターン23を描画パターン取得部32に供給するようにしてもよい。この場合、図形オブジェクトを重ねる個数や装置の処理能力、画質等を考慮して最適な描画パターン23を生成し、これを使用して画像の描画を行うことが可能となる。
【0078】
また、上記の画像処理装置1の処理機能は、コンピュータによって実現することができる。その場合、画像処理装置1が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等がある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープ等がある。光ディスクには、DVD(Digital Versatile Disk)、DVD−RAM、CD−ROM(Compact Disk Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等がある。光磁気記録媒体には、MO(Magneto−Optical disk)等がある。
【0079】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROM等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0080】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0081】
【発明の効果】
以上説明したように、本発明の画像処理装置では、描画パターンを用いて図形オブジェクトの描画の可不可を判定して合成割合を決定するため、処理負荷の大きい乗除算が必要とならない。また、図形オブジェクト同士が重なって半透明表示される場合に、重なる各図形オブジェクトに対して相互相関係数の絶対値が小さい異なる数値列から生成された描画パターンを使用して描画の判定を行うため、描画後の各図形オブジェクトの表示率をアルファ値に近づけることができる。従って、2つ以上の図形オブジェクトが重なった場合に、低負荷の処理で各図形オブジェクトを高画質で半透明表示させることが可能となる。
【0082】
また、本発明の画像処理方法では、描画パターンを用いて図形オブジェクトの描画の可不可を判定して合成割合を決定するため、処理負荷の大きい乗除算が必要とならない。また、図形オブジェクト同士が重なって半透明表示される場合に、重なる各図形オブジェクトに対して相互相関係数の絶対値が小さい異なる数値列から生成された描画パターンを使用して描画の判定を行うため、描画後の各図形オブジェクトの表示率をアルファ値に近づけることができる。従って、2つ以上の図形オブジェクトが重なった場合に、低負荷の処理で各図形オブジェクトを高画質で半透明表示させることが可能となる。
【0083】
さらに、本発明の画像処理プログラムでは、描画パターンを用いて図形オブジェクトの描画の可不可を判定して合成割合を決定するため、処理負荷の大きい乗除算が必要とならない。また、図形オブジェクト同士が重なって半透明表示される場合に、重なる各図形オブジェクトに対して相互相関係数の絶対値が小さい異なる数値列から生成された描画パターンを使用して描画の判定を行うため、描画後の各図形オブジェクトの表示率をアルファ値に近づけることができる。従って、2つ以上の図形オブジェクトが重なった場合に、低負荷の処理で各図形オブジェクトを高画質で半透明表示させることが可能となる。
【図面の簡単な説明】
【図1】本発明の実施の形態例である画像処理装置の構成を示す機能ブロック図である。
【図2】描画パターンを生成する処理の流れを示すフローチャートである。
【図3】背景画像上に2つの図形オブジェクトが合成される場合の画面表示例を示す図である。
【図4】各図形オブジェクトを描画する処理の流れを示すフローチャートである。
【図5】各画素に対する描画処理の流れを示すフローチャートである。
【図6】プリファードM系列を生成する符号生成器対の例を示す図である。
【図7】プリファードGold系列を生成する符号生成器の例を示す図である。
【図8】重なって半透明表示される各図形オブジェクトの大きさや位置等が時間的に変化する場合の画面表示例を示す図である。
【図9】重なった各図形オブジェクトの大きさや位置等が時間的に変化する場合の半透明描画処理の流れを示すフローチャートである。
【符号の説明】
1……画像処理装置、2……記憶部、3……制御処理部、4……画像メモリ、
5……グラフィック処理部、6……外部入力I/F、21……背景画像データ、
22……図形オブジェクトデータ、23……描画パターン、31……図形オブジェクト取得部、32……描画パターン取得部、33……描画処理部、51……モニタ
Claims (9)
- 背景上に2つ以上の図形オブジェクトを合成して描画する画像処理装置において、
所定の数値列から順次生成した数値と、前記図形オブジェクトの合成時の透明度を示すアルファ値とを画素ごとに順に比較した結果を基に生成された描画パターンを取得する描画パターン取得手段と、
新たな前記図形オブジェクトを描画するごとに、取得された前記描画パターンに基づいて新たな前記図形オブジェクトの各画素またはそれ以前に描画されていた画像のいずれかを描画するか否かを判定して描画を行う描画処理手段と、
を有し、前記描画処理手段は、前記図形オブジェクト同士が重なって半透明表示される場合に、重なる前記各図形オブジェクトに対して相互相関係数の絶対値が小さい異なる前記数値列から生成された前記描画パターンを使用して描画の判定を行うことを特徴とする画像処理装置。 - 前記描画処理手段において、前記図形オブジェクト同士が重なる場合に使用される前記描画パターンの基となる前記各数値列は、前記相互相関係数の絶対値が0.35以下であることを特徴とする請求項1記載の画像処理装置。
- 前記各数値列は疑似雑音符号列であることを特徴とする請求項2記載の画像処理装置。
- 複数の異なる前記描画パターンをあらかじめ保持して、前記描画パターン取得手段の要求に応じて前記描画パターンを出力する描画パターン保持手段をさらに有することを特徴とする請求項1記載の画像処理装置。
- 前記描画パターン保持手段は、前記アルファ値の取り得る所定の各段階において、異なる前記数値列を基に生成された複数の前記描画パターンを保持することを特徴とする請求項4記載の画像処理装置。
- 前記描画処理手段における新たな前記図形オブジェクトの描画のたびに異なる前記数値列を生成する数値列生成手段と、
前記数値列生成手段によって生成された前記数値列に基づく数値と、前記図形オブジェクトの前記アルファ値とを画素ごとに順に比較した結果を基に前記描画パターンを生成して前記描画パターン取得手段に出力する描画パターン生成手段と、
をさらに有することを特徴とする請求項1記載の画像処理装置。 - 前記描画パターンは、前記数値列から順次生成した前記数値がとる値域に前記アルファ値の値域を正規化した場合に、各画素について、正規化された前記アルファ値が前記数値以上のときに新たな前記図形オブジェクトを描画することを示し、正規化された前記アルファ値が前記数値未満のときに前記図形オブジェクトの非描画を示すことを特徴とする請求項1記載の画像処理装置。
- 背景上に2つ以上の図形オブジェクトを合成して描画する画像処理方法において、
所定の数値列から順次生成した数値と、前記図形オブジェクトの合成時の透明度を示すアルファ値とを画素ごとに順に比較した結果を基に生成された描画パターンを取得し、
新たな前記図形オブジェクトを描画するごとに、取得された前記描画パターンに基づいて新たな前記図形オブジェクトの各画素またはそれ以前に描画されていた画像のいずれかを描画するか否かを判定して描画を行い、前記図形オブジェクト同士が重なって半透明表示される場合には、重なる前記各図形オブジェクトに対して相互相関係数の絶対値が小さい異なる前記数値列から生成された前記描画パターンを使用して描画の判定を行う、
ことを特徴とする画像処理方法。 - 背景上に2つ以上の図形オブジェクトを合成して描画する処理をコンピュータに実行させる画像処理プログラムにおいて、
所定の数値列から順次生成した数値と、前記図形オブジェクトの合成時の透明度を示すアルファ値とを画素ごとに順に比較した結果を基に生成された描画パターンを取得し、
新たな前記図形オブジェクトを描画するごとに、取得された前記描画パターンに基づいて新たな前記図形オブジェクトの各画素またはそれ以前に描画されていた画像のいずれかを描画するか否かを判定して描画を行い、前記図形オブジェクト同士が重なって半透明表示される場合には、重なる前記各図形オブジェクトに対して相互相関係数の絶対値が小さい異なる前記数値列から生成された前記描画パターンを使用して描画の判定を行う、
処理を前記コンピュータに実行させることを特徴とする画像処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002160884A JP2004005285A (ja) | 2002-06-03 | 2002-06-03 | 画像処理装置、画像処理方法および画像処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002160884A JP2004005285A (ja) | 2002-06-03 | 2002-06-03 | 画像処理装置、画像処理方法および画像処理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004005285A true JP2004005285A (ja) | 2004-01-08 |
Family
ID=30430111
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002160884A Pending JP2004005285A (ja) | 2002-06-03 | 2002-06-03 | 画像処理装置、画像処理方法および画像処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004005285A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006343868A (ja) * | 2005-06-07 | 2006-12-21 | Canon Inc | 画像処理方法及び画像処理装置 |
JP2013531322A (ja) * | 2010-07-22 | 2013-08-01 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 多重画像の融合 |
CN110570497A (zh) * | 2019-08-19 | 2019-12-13 | 广东智媒云图科技股份有限公司 | 基于图层叠加的绘画方法、装置、终端设备及存储介质 |
-
2002
- 2002-06-03 JP JP2002160884A patent/JP2004005285A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006343868A (ja) * | 2005-06-07 | 2006-12-21 | Canon Inc | 画像処理方法及び画像処理装置 |
JP2013531322A (ja) * | 2010-07-22 | 2013-08-01 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 多重画像の融合 |
US9959594B2 (en) | 2010-07-22 | 2018-05-01 | Koninklijke Philips N.V. | Fusion of multiple images |
CN110570497A (zh) * | 2019-08-19 | 2019-12-13 | 广东智媒云图科技股份有限公司 | 基于图层叠加的绘画方法、装置、终端设备及存储介质 |
CN110570497B (zh) * | 2019-08-19 | 2023-06-13 | 广东智媒云图科技股份有限公司 | 基于图层叠加的绘画方法、装置、终端设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI279709B (en) | Method and system for generating a motion blur, and machine readable medium having stored therein a plurality of machine readable instructions | |
US4924415A (en) | Apparatus for modifying data stored in a random access memory | |
JP2007271908A (ja) | マルチ画像生成装置 | |
JP2837339B2 (ja) | 画像生成方法 | |
JP4707782B2 (ja) | 画像処理装置およびその方法 | |
KR20080100854A (ko) | 렌더링 처리 방법, 렌더링 처리 장치, 및 렌더링 처리 프로그램이 기록된 컴퓨터 판독가능 기록 매체 | |
JP2004005285A (ja) | 画像処理装置、画像処理方法および画像処理プログラム | |
JP4151234B2 (ja) | 画像合成処理装置 | |
GB2574721A (en) | Image rendering | |
JP2002010060A (ja) | 画像融合装置及び画像融合方法 | |
JPWO2011083531A1 (ja) | 表示領域制御装置、表示領域制御方法および集積回路 | |
JP2001159887A (ja) | 映像信号処理装置 | |
JP2012137988A (ja) | 情報処理装置、情報処理方法及び制御プログラム | |
JP3741053B2 (ja) | 画像処理装置 | |
JP2005115011A (ja) | 画像表示装置、画像表示方法、画像表示プログラムおよびこのプログラムを記録した記録媒体 | |
US7116339B2 (en) | Image rendering method using recursive interpolation | |
JP2001204962A (ja) | 画像表示プログラムを記録した記録媒体、画像表示方法及びゲーム装置 | |
JP3300058B2 (ja) | 電子グラフィックシステム | |
JP2002182639A (ja) | 画像処理装置 | |
JP2001195604A5 (ja) | ||
JP3642952B2 (ja) | 画像合成方法及び装置、並びに情報処理システム | |
JP2732172B2 (ja) | 映像表示装置 | |
JP4300181B2 (ja) | 表示画像生成装置、表示画像生成方法および表示画像生成プログラム | |
JP4563070B2 (ja) | ゲーム装置及びゲームプログラム | |
CN117649460A (zh) | 蒙版操作方法及其设备、存储介质、终端 |