(57)【特許請求の範囲】
【請求項１】
複数の描画命令により描画されるそれぞれの画像データを合成して表示画面に表示する画像処理装置であって、
前記複数の描画命令から、前記表示画面における最背面から最前面へ配置される画像データの順番に個々の描画命令を取得する取得手段と、
前記描画命令により描画される画像データが静止画像と複数のフレームを含む動画像とのうちいずれであるかを判定する判定手段と、
前記静止画像の合成結果の表示に使用される色値データを保持し、前記動画像の表示に使用される動画重畳比率を該動画像ごとに保持する保持手段と、
前記保持手段が保持する前記色値データと前記動画重畳比率とを更新する更新手段と、
合成された画像データを表現する色値データを前記表示画面に表示する表示手段と
を備え、
前記更新手段は、前記順番の描画命令で描画される画像データごとに、
該画像データの透過率に基づいて前記保持手段に保持されているそれぞれの動画重畳比率を更新し、
該画像データが静止画像であると判定された場合に該静止画像の色値データ及び透過率に基づいて前記保持手段に保持される色値データを更新し、
該画像データが動画像であると判定された場合に該動画像の透過率に基づいて前記保持手段が保持する色値データを更新し、該透過率を該動画像の動画重畳比率としてさらに前記保持手段に保持し、
前記表示手段は、
前記保持手段に保持される色値データを表示し、
前記動画像におけるフレームごとの色値データに前記保持手段に保持される該動画像に応じた前記動画重畳比率を乗算して算出される色値データを、レンダリング処理が終了した動画像の順に表示中の色値データに加算して前記表示画面に表示する
ことを特徴とする画像処理装置。
【請求項２】
複数の描画命令により描画されるそれぞれの画像データを合成して表示画面に表示する画像処理装置の制御方法であって、
取得手段が、前記複数の描画命令から、前記表示画面における最背面から最前面へ配置される画像データの順番に個々の描画命令を取得する取得工程と、
判定手段が、前記描画命令により描画される画像データが静止画像と複数のフレームを含む動画像とのうちいずれであるかを判定する判定工程と、
保持手段が、前記静止画像の合成結果の表示に使用される色値データを保持し、前記動画像の表示に使用される動画重畳比率を該動画像ごとに保持する保持工程と、
前記保持工程で保持される前記色値データと前記動画重畳比率とを、更新手段が更新する更新工程と、
表示手段が、合成された画像データを表現する色値データを前記表示画面に表示する表示工程と
を備え、
前記更新工程は、前記順番の描画命令で描画される画像データごとに、
該画像データの透過率に基づいて前記保持工程で保持されたそれぞれの動画重畳比率を更新し、
該画像データが静止画像であると判定された場合に該静止画像の色値データ及び透過率に基づいて前記保持手段に保持される色値データを更新し、
該画像データが動画像であると判定された場合に該動画像の透過率に基づいて前記保持手段が保持する色値データを更新し、該透過率を該動画像の動画重畳比率としてさらに前記保持工程で保持し、
前記表示工程は、
前記保持工程で保持された色値データを表示し、
前記動画像におけるフレームごとの色値データに前記保持工程で保持された該動画像に応じた前記動画重畳比率を乗算して算出される色値データを、レンダリング処理が終了した動画像の順に表示中の色値データに加算して前記表示画面に表示する
ことを特徴とする画像処理装置の制御方法。
【請求項３】
コンピュータを請求項１に記載の画像処理装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２以上の画像データを合成した合成画像データを出力する画像処理技術に関し、特に画像データを半透明の状態で重ね合わせるように表示する画像処理技術に関する。
【背景技術】
【０００２】
近年、テレビ放送を受像するディスプレイは多機能化している。種々の設定を行うために、例えばディスプレイ画面上に静止画像で構成されたメニュー画面が表示される。ディスプレイ本体やリモコンからのユーザ操作に応じて上記メニュー画面を遷移させながら設定作業を補助するような制御がよく行われる。さらに、ディスプレイの大画面化やテレビ放送波のデジタル化などに伴い、一つのディスプレイ画面上に、テレビ受信画像に代表される複数の異なる動画像を同時に表示することが行われる。
【０００３】
このように、一つのディスプレイ画面上に複数の静止画像及び動画像を同時に表示すると、複数の画像の表示領域が競合する場合がある。すなわち、ディスプレイ画面上の奥行方向(以降、Ｚ方向という)に対して層を成すので、画像の表示領域が重なり合う場合がある。このような表示領域の重なりが生じる場合の表示方法として、一方の画像の下に他方の画像が透けて見えるような感覚を与える方法が知られている。このような表示方法を実現するための画像データの合成方法はアルファブレンディングと呼ばれている。２以上の画像データを指定された合成比率で合成することにより、合成比率に応じた半透明の度合いで複数の画像を重畳して表示することができる。
【０００４】
アルファブレンディングでは、他の画像に重畳して表示する画像データａに対して合成時の透明度を示す透過率αを与える。そして、この画像データａを背面に表示される画像データｂに合成する場合に、例えば各ピクセルの色値データ（Ｒ，Ｇ，Ｂ）についてそれぞれ以下の式１０１乃至式１０３を適用することにより、半透明描画を実現する。
0005408906.tif 000002
ここで、Ｒは赤の色値、Ｇは緑の色値、及びＢは青の色値である。色値は例えば８ビットで表現され、０以上２５５以下の整数値を取りうる。また、（Ｒ（ａ），Ｇ（ａ），Ｂ（ａ））は画像データａの色値データである。（Ｒ（ｂ），Ｇ（ｂ），Ｂ（ｂ））は、背面画像データｂの色値データである。各色値データは画像データをレンダリング処理することによって得られる。
【０００５】
また、透過率αは、０≦α≦１の範囲の任意の値であり、α＝０の場合に重畳する画像データが完全透明になり、α＝１の場合に完全不透明となる。
【０００６】
このアルファブレンディングを用いた画像合成方法については、既に種々の方法が提案されている（特許文献１、特許文献２）。
【０００７】
また、３以上の画像データを合成する場合には、式１０１乃至式１０３を繰り返して適用することにより、各ピクセルの色値データを算出する。すなわち、ディスプレイのＺ方向において最も背面に配置される画像データより順に画像データＩ０，Ｉ１，Ｉ２…とする。最初に画像データＩ０を背面画像データｂとし、画像データＩ１を重畳する画像データａとして上記の式１０１乃至式１０３を適用する。その後、算出された色値データを持つ画像データを新たな背面画像ｂとし、画像データＩ２を重畳する画像データａとして、式１０１乃至式１０３を適用する。
【０００８】
上記の手順に従うと、３以上の画像データを合成する場合には、ディスプレイのＺ方向の配置順（以下、Ｚオーダーという）に逐次合成処理を実施することになる。そのため、ある画像データの背面に配置される一連の画像データの合成処理が終了してからでないと、当該画像データを合成することができない。画像データから色値データを算出するレンダリング処理は一定の時間を必要とする。そのため、一つの合成画像を得るために要する時間に、重畳する静止画像の枚数分のレンダリング処理時間と、同じく重畳する動画像の枚数分のレンダリング処理時間とが単純に加算される。その結果、フレームレートが低下するという問題が生じる。
【０００９】
上記課題を解決するための技術も提案されている。特許文献３に記載の技術では、描画コマンドを処理する静止画像生成部出力とビデオデータを出力するビデオデータ生成部出力とを、描画コマンドに含まれる透過データをもとに切り替えて出力する。これにより、高速な合成が可能となる。また、特許文献４に記載の技術では、動画用のフレームバッファと静止画用のフレームバッファとを完全に分離し、ウインドウシステムの制御によって重ね合わせる。
【００１０】
しかしながら、上記技術では、重畳されるすべての画像データに対して各ピクセルにおける色値データを保持するメモリ領域が必要となるという課題がある。
【００１１】
さらに、上記メモリ使用量を減少させるために、静止画像のレンダリング結果を共通のメモリ領域に重畳して出力する手法が考えられる。この手法では、レンダリング処理された複数の静止画像データの重畳結果を得るために必要となるメモリ領域は、１画像データ分ですむ。しかし、例えば静止画像と動画像とが交互に重畳されるように配置される一連の画像データ群をアルファブレンディングする際に、Ｚオーダー順と画像データの合成順とが一致しない。そのため、正しい合成画像データを得ることができない。
【特許文献１】特開２００１−２８５７４５号公報
【特許文献２】特開２００６−１０６９８９号公報
【特許文献３】特開平０６−３３５０２２号公報
【特許文献４】特開平０７−０７２８５０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
本発明は、上記事情に鑑みなされたものであり、複数の画像データを単一の画像データに合成する画像処理装置において、動画の変化に対応可能であり、なおかつ完全なアルファブレンディングを比較的高速・安価に実現することを目的とする。
【課題を解決するための手段】
【００１３】
本発明に係る画像処理装置は、複数の描画命令により描画されるそれぞれの画像データを合成して表示画面に表示する画像処理装置であって、前記複数の描画命令から、前記表示画面における最背面から最前面へ配置される画像データの順番に個々の描画命令を取得する取得手段と、前記描画命令により描画される画像データが静止画像と複数のフレームを含む動画像とのうちいずれであるかを判定する判定手段と、前記静止画像の合成結果の表示に使用される色値データを保持し、前記動画像の表示に使用される動画重畳比率を該動画像ごとに保持する保持手段と、前記保持手段が保持する前記色値データと前記動画重畳比率とを更新する更新手段と、合成された画像データを表現する色値データを前記表示画面に表示する表示手段とを備え、前記更新手段は、前記順番の描画命令で描画される画像データごとに、該画像データの透過率に基づいて前記保持手段に保持されているそれぞれの動画重畳比率を更新し、該画像データが静止画像であると判定された場合に該静止画像の色値データ及び透過率に基づいて前記保持手段に保持される色値データを更新し、該画像データが動画像であると判定された場合に該動画像の透過率に基づいて前記保持手段が保持する色値データを更新し、該透過率を該動画像の動画重畳比率としてさらに前記保持手段に保持し、前記表示手段は、前記保持手段に保持される色値データを表示し、前記動画像におけるフレームごとの色値データに前記保持手段に保持される該動画像に応じた前記動画重畳比率を乗算して算出される色値データを、レンダリング処理が終了した動画像の順に表示中の色値データに加算して前記表示画面に表示することを特徴とする。
【発明の効果】
【００１４】
本発明により、動画の変化に対応可能であり、なおかつ完全なアルファブレンディングを比較的高速・安価に実現することが可能となる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態について添付の図面を用いて説明する。
【００１６】
＜第１の実施形態＞
図１は本実施形態における画像処理装置１００の構成の一例を説明するブロック図である。
【００１７】
画像処理装置１００は描画制御部１１０、動画重畳比率計算部１２０、動画描画部１３０、及び合成部１５０を備える。
【００１８】
描画制御部１１０は描画命令分離部１１１、静止画像レンダリング処理部１１２、及び動画透過率取得部１１３を備える。描画命令分離部１１１は、一連の動画描画命令及び一連の静止画描画命令を含む描画命令を取得し、これを個々の描画命令に分解する。描画命令の処理対象が静止画像であるときには静止画像レンダリング処理部１１２に処理を依頼する。描画命令の処理対象が動画像であった場合には、画像データの重ね合わせの順番であるＺオーダー及び動画描画命令を動画透過率取得部１１３及び動画描画部１３０に出力する。ここで、動画重畳比率とは、ステップＳ５１６において動画像を静止画像に重ね合わせて表示する際に、当該動画像の色値データに乗算する値である。
【００１９】
静止画像レンダリング処理部１１２は、描画命令分離部１１１から受け取る静止画描画命令をレンダリング処理して静止画像の色値データと透過率とを取得する。この結果を元に、静止画描画結果テーブル１４０に保持される色値データを更新する。また、透過率を動画重畳比率計算部１２０に出力する。また、動画透過率取得部１１３から動画像の透過率αを受け取った場合には、静止画描画結果テーブル１４０に保持する色値データを更新する。
【００２０】
動画透過率取得部１１３は、描画命令分離部１１１の出力した動画描画命令から動画像の透過率αを取得し、透過率αとＺオーダーとを動画重畳比率計算部１２０に出力し、透過率αを静止画像レンダリング処理部１１２に出力する。
【００２１】
動画重畳比率計算部１２０は、動画透過率取得部１１３が出力するＺオーダー及び動画透過率を用いて動画重畳比率テーブル１２１を更新する。
【００２２】
動画描画部１３０は、描画命令分離部１１１が出力する動画描画命令に従って動画データを処理し、処理済の動画像とＺオーダーとを合成部１５０に出力する。
【００２３】
合成部１５０は、静止画描画結果テーブル１４０が保持する静止画像の色値データを出力する。また、動画描画部１３０が出力する動画フレームの色値データに、動画重畳比率テーブル１２１から取得した動画重畳比率を乗算して出力する。
【００２４】
図２は画像処理装置１００のハードウェアの構成の一例を示すブロック図である。なお、図２は、本発明の実施形態に対応する画像処理装置１００の構成を実現するための最小限の構成を示しており、画像処理装置１００に係るその他の機構については説明の簡単のために省略している。
【００２５】
マイクロプロセッサであるＣＰＵ２０１は、ＲＯＭ２０３、ハードディスク（ＨＤ）２１２、外部メモリドライブ２１１にセットされた記憶メディアに記憶されたプログラムやデータなどに基づき、画像処理装置１００を制御する。
【００２６】
ＲＡＭ２０２は、ＣＰＵ２０１のワークエリアとして機能し、ＲＯＭ２０３やＨＤ２１２等に格納されたプログラムを保持する。また、静止画描画結果テーブル１４０や動画重畳比率テーブル１２１を保持する。
【００２７】
ＲＯＭ２０３、外部メモリドライブ２１１にセットされた記憶メディア或いは、ＨＤ２１２には、後述するフローチャートに示されるような、ＣＰＵ２０１により実行されるプログラムなどが記憶されている。
【００２８】
２０５はキーボードコントローラ（ＫＢＣ）で、キーボード（ＫＢ）２０９や図示しないマウスなどのポインティングデバイスからの入力を制御する。２０６はディスプレイコントローラ（ＤＰＣ）で、ディスプレイ２１０の表示を制御する。ディスプレイ２１０には合成部１５０から出力された合成画像データが表示される。２０７はディスクコントローラ（ＤＫＣ）で、ＨＤ２１２および外部メモリドライブ２１１のアクセスを制御し、それらの記憶メディアに対して各種プログラム、並びに、フォントデータ、ユーザファイルおよび編集ファイルなどの各種データを読み書きする。２０８はプリンタコントローラ（ＰＲＴＣ）で、所定の双方向性インタフェイス２２１を介してプリンタ２２２に接続され、プリンタ２２２との間の通信制御を実行する。
【００２９】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０２上に割り当てられた表示情報領域あるいは専用のビデオメモリ（ＶＲＡＭ）へのアウトラインフォントの展開（ラスタライズ）処理を実行し、ディスプレイ２１０上での表示を可能にする。また、ＣＰＵ２０１は、ディスプレイ２１０上のマウスカーソルなどにより指示されるコマンドに基づいて、登録された種々のウィンドウを開き、種々のデータ処理を実行する。
【００３０】
続いて、図３を用いて画像データの合成について説明する。図３は、画像データの合成結果の一例を説明する図である。合成された画像データは、合成部１５０からディスプレイコントローラ２０６出力され、ディスプレイ２１０に表示される。
【００３１】
図３に示す合成画像データ３００は、静止画像３０１，３０２及び３０４並びに動画像３０３を合成したものである。静止画像３０１は、例えばディスプレイ２１０全面に渡る表示画面に表示される背景画像である。静止画像３０２及び動画像３０３は、例えばそれぞれデジタル放送波を受信して得られるデータ放送画面およびテレビ画面である。静止画像３０４は、例えばリモコンなどを入力インタフェイスとするユーザ操作に応じて表示されるメニュー画面である。
【００３２】
図３に示される複数の画像データは、ディスプレイ２１０の奥行方向、すなわちＺ方向において背面から順に、画像データ３０１、３０２、３０３、及び３０４の順に重畳して表示されるとする。また、各画像データのＺオーダーについては、例えばＺ方向において背面から順に番号を振ることとする。図３において、画像データ３０１、３０２、３０３、及び３０４のＺオーダーをそれぞれ０、１、２、及び３とする。
【００３３】
図４は、図３に示した各画像データのパラメータ一覧４００であり、行４０１乃至行４０４がそれぞれ画像データ３０１から画像データ３０４までに対応する。列４０５、４０６はそれぞれ、画像データの合成画像上での表示位置の左上、右下の座標を示す。ここでは一例として図３に示すような合成画像の左上を起点として横方向にx座標を、縦方向にy座標を設定する。この座標系において、各画像データにおける左上の座標を始点、右下の座標を終点とする。列４０７は、画像データの透過率を示す。画像データ３０１乃至３０３は透過率が１．０、すなわち完全不透明な画像であることを示し、画像２０４は透過率が０．８、すなわち奥に位置する画像を０．２の割合で透過することを示す。ここで、図４に示す値は、それぞれ本画像処理装置での処理過程で個別に得られる。例えば静止画像の透過率は、静止画描画命令を静止画像レンダリング処理部１１２がレンダリング処理した結果として得られる。列４０８はＺオーダーの値であり、前述した値が設定される。
【００３４】
図３において、ピクセル３０５を含む画像データは画像データ３０１のみである。そのため、ピクセル３０５の色値データ（Ｒ，Ｇ，Ｂ）は画像データ３０１のピクセル３０５における色値データのみによって定まる。ピクセル３０６を含む画像データには、画像データ３０１、３０２、及び３０３がある。しかし、これらの画像のうちでＺオーダーが最大である画像データ３０３の透過率αは１である。つまり、画像データ３０３は完全不透明であるため、ピクセル３０６における色値データは、画像データ３０３の色値データのみによって定まる。一方、画像データ３０４には、１未満の透過率が設定されているため、ピクセル３０７、３０８、及び３０９において、画像データ３０４の色値データとその奥に位置するそれぞれの画像データの色値データとが合成される。色値データの合成には式１０１乃至式１０３を用いる。
【００３５】
画像データの合成について、式１０１乃至１０３と式２０１乃至２０３を用いて説明する。式１０１乃至１０３は二つの画像データを合成した場合の色値データを算出する式の一例である。画像データａの手前に透過度αの画像データｂを重畳して表示するとする。式１０１乃至１０３において（Ｒ，Ｇ，Ｂ）は合成画像データの色値データである。（Ｒ（ａ），Ｇ（ａ），Ｂ（ａ））、（Ｒ（ｂ），Ｇ（ｂ），Ｂ（ｂ））はそれぞれ画像データａ、画像データｂの色値データである。透過度αの値が大きいほど、背面に位置する画像データａの色値データの影響が大きくなり、透明度αの値が小さいほど、手前に位置する画像データｂの色値データの影響が大きくなる。色値データはピクセルごとに異なる値を取ることができ、透過度もピクセルごとに異なる値となっても良い。
【００３６】
以下の式２０１乃至２０３は複数の画像データを合成した結果の色値データを算出する式の一例である。
0005408906.tif 000003
ここでは、Ｎ＋１枚の画像データＩ０，…，ＩＮ（Ｎは１以上の整数）を合成するとし、それぞれの画像データのＺオーダーは０，…，Ｎであるとする。つまり、Ｉ０が最背面に表示され、ＩＮが最前面に表示されるとする。このとき、合成画像データの色値データ（Ｒ，Ｇ，Ｂ）は式２０１乃至式２０３で与えられる。ここで、（Ｒｋ，Ｇｋ，Ｂｋ）及びαｋは画像データＩｋの色値データ及び透過率である。ただし、ｋは０以上Ｎ以下の整数である。これらの定義は以下に登場する数式でも同様とする。
【００３７】
複数の画像データを合成する場合には、まずＺオーダーの小さい順に画像データを二つ選択して、式１０１乃至式１０３を適用して色値データを算出する。例えば、画像データＩ０と画像データＩ１とを合成する。合成画像データに、Ｚオーダーが次に小さい画像データＩ２を合成する。この操作をＺオーダーが最大の画像データＩＮまで繰り返す。その結果、合成画像データの色値データ（Ｒ，Ｇ，Ｂ）は式２０１乃至式２０３のようになる。
【００３８】
画像データＩｋを構成しないピクセルにおいては、便宜的にαｋ＝０とする。このように定義することにより、任意の位置のピクセルの色値データを式２０１乃至式２０３によって表すことができる。
【００３９】
続いて、図５乃至図１１を用いて本実施形態における画像処理装置１００の動作について説明する。
【００４０】
図５は、本実施形態における画像処理装置の描画処理の一例を説明するフローチャートである。このフローチャートはＲＯＭ２０３に書き込まれたコンピュータプログラムをＣＰＵ２０１が実行することで処理される。
【００４１】
ステップＳ５０１で、描画制御部１１０は、一連の動画描画命令及び一連の静止画描画命令を含む描画命令を取得する。動画描画命令及び静止画描画命令は単一の命令であっても良いし、複数の命令であっても良い。
【００４２】
ステップＳ５０２で、描画命令分離部１１１は、取得した描画命令を個々の動画描画命令と個々の静止画描画命令とに分離する。
【００４３】
分離後の動画描画命令には、動画レンダリング処理の開始指示、Ｚオーダー、及び当該処理に必要な動画処理パラメータ群を含む。さらに、動画処理パラメータ群には、例えば動画マスク情報、該動画の動画ソース入力パス情報、サイズ情報、基点座標情報、回転・変倍・移動などの変形を表現するアフィン変換パラメータ、及び色空間情報などを含む。
【００４４】
また、分離後の静止画描画命令には、静止画像レンダリング処理の開始指示、描画オブジェクト情報、及び描画時に必要となる静止画像処理パラメータ群を含む。さらに、描画オブジェクト情報には、例えばテキスト、基本図形、パス情報、リンク情報、及びアニメーション指示などを含む。また、静止画像処理パラメータ群には、例えばオブジェクトの基点座標やサイズ、線幅、線種、及び色情報などを含む。
【００４５】
ステップＳ５０２において分離後の描画命令の数だけステップＳ５０３乃至ステップＳ５１２の処理を繰り返す。図３に示す合成画像データ３００は四つの画像データが合成されているため、繰り返し数は４となる。
【００４６】
ステップＳ５０４で、描画制御部１１０は、分離後の描画命令であって、まだこのステップにおいて選択されていないものの中からＺオーダーが最小である描画命令を一つ選択する。選択された描画命令を以下では単に選択描画命令と表す。
【００４７】
Ｚオーダーは明示的に指定しても良いし、明示的に指定しなくても良い。Ｚオーダーを明示的に指定する場合には、例えば一連の描画命令に対するパラメータの一つとしてＺオーダーを指定する。これにより、画像の重ね合わせ順序の変更に対する柔軟な対応が可能となる。Ｚオーダーを明示的に指定しない場合には、例えば分離後の描画命令の入力順にＺオーダーを付加する。これにより、描画制御部が取得する一連の描画命令に対して特別なパラメータ入力を必要とせずにＺオーダーを決定できる。
【００４８】
図３に示す例では、最初に画像データ３０１が選択され、次に画像データ３０２が選択される。
【００４９】
ステップＳ５０５で、描画制御部１１０は、選択描画命令が静止画描画命令であるか否かを判定する。静止画描画命令であると判定された場合（ステップＳ５０５において「ＹＥＳ」）には、ステップＳ５０６に移行する。動画描画命令であると判定された場合（ステップＳ５０５において「ＮＯ」）には、ステップＳ５０９に移行する。図３に示す合成画像データ３００を表示する場合は、画像データ３０１、３０２及び３０４を描画する描画命令が選択された場合には、ステップＳ５０６に移行する。また、画像データ３０３を描画する描画命令が選択された場合には、ステップＳ５０９に移行する。
【００５０】
静止画描画命令に対しては、ステップＳ５０６乃至ステップＳ５０８の処理が行われる。
【００５１】
ステップＳ５０６で、静止画像レンダリング処理部１１２は、選択された静止画描画命令に対するレンダリング処理を行う。以下、選択された静止画描画命令を単に選択静止画描画命令と表す。レンダリング処理の結果として、選択静止画描画命令により描画される静止画像の描画位置、ピクセルごとの色値データ及び透過率が得られる。
【００５２】
ステップＳ５０７で、静止画像レンダリング処理部１１２は、静止画描画結果テーブル１４０を更新する。
【００５３】
図６を用いて静止画描画結果テーブル１４０について説明する。図６は静止画描画結果テーブル１４０の構成の一例を説明する図である。合成座標６０１は合成画像データにおけるピクセルの座標を表す。色値データ６０２は各ピクセルにおける色値データ（Ｒ，Ｇ，Ｂ）を表す。色値データ６０２が静止画像に基づく色値データのみを保持するように本フローチャートは構成される。
【００５４】
静止画描画結果テーブル１４０の更新は、式１０１乃至式１０３に基づいて行う。ここで、（Ｒ（ａ），Ｇ（ａ），Ｂ（ａ））及びαにはステップＳ５０６において取得した選択静止画像の色値データ及び透過率を用いる。また、（Ｒ（ｂ），Ｇ（ｂ），Ｂ（ｂ））には静止画描画結果テーブル１４０に保持されている色値データ６０２を用いる。静止画描画結果テーブル１４０に保持される各ピクセルの色値データ６０２は０に初期化しておく。
【００５５】
静止画描画結果テーブル１４０の更新は、合成画像上のピクセルごとに行う。その際、選択静止画描画命令により描画される静止画像に含まれるピクセルについてのみ色値データ６０２を更新すればよい。以下、選択静止画描画命令により描画される画像データを単に選択静止画像と表す。
【００５６】
図５に戻り、ステップＳ５０８で、静止画像レンダリング処理部１１２は動画重畳比率計算部１２０に対して選択静止画像の透過率を出力する。この透過率を用いて動画重畳比率計算部１２０は動画重畳比率テーブル１２１を更新する。動画重畳比率テーブル１２１の更新の詳細については後述する。なお、ステップＳ５０７とステップＳ５０８とを入れ替えて処理することも可能であり、この場合も本フローチャートは同一の結果が得られる。
【００５７】
動画描画命令に対しては、ステップＳ５０９乃至ステップＳ５１１の処理が行われる。
【００５８】
ステップＳ５０９で、描画命令分離部１１１は動画描画部１３０と動画透過率取得部１１３とに対して動画描画命令及びＺオーダーを出力する。動画描画部１３０は、取得した動画描画命令及びＺオーダーに基づいて動画データを処理し、処理済動画データをＺオーダーとともに合成部１５０に出力する。処理済動画データには表示する色値データが含まれる。
【００５９】
ステップＳ５１０で、動画透過率取得部１１３は、選択された動画描画命令から透過率を取得し、これを動画重畳比率計算部１２０に出力する。以下、選択された動画描画命令を単に選択動画描画命令と表し、選択動画描画命令により描画される動画像を単に選択動画像と表す。動画重畳比率計算部１２０は、受け取った透過率を用いて動画重畳比率テーブル１２１を更新する。動画重畳比率テーブル１２１の更新の詳細については後述する。
【００６０】
ステップＳ５１１で、動画透過率取得部１１３は静止画像レンダリング処理部１１２に対して、選択動画像の透過率αを出力する。静止画像レンダリング処理部１１２は、上述したステップＳ５０７における処理と同様に、式１０１乃至式１０３に基づいて静止画描画結果テーブル１４０を更新する。ただし、選択動画像の色値データをＲ＝Ｇ＝Ｂ＝０として式を適用する。静止画描画結果テーブル１４０の色値データ６０２に静止画像に基づく色値データ６０２のみを保持するようにするためである。
【００６１】
以上によりステップＳ５０３乃至ステップＳ５１２のループが終了する。このループの終了時点では、静止画描画結果テーブル１４０の色値データ６０２には以下に示す色値データ（ＲＧ３０１，ＧＧ３０２，ＢＧ３０３）が保持される。
0005408906.tif 000004
上記の式３０１乃至３０３は、静止画描画結果テーブル１４０に保持される色値データの一例を説明する数式である。色値データ（ＲＧ，ＧＧ，ＢＧ）は、式２０１乃至２０３に示すＮ＋１枚の画像データを合成した場合の色値データにおいて、静止画像のみに基づく色値データを抽出した値に等しい。ステップＳ５１１において、選択動画像の色値データをすべて０に設定したためである。
【００６２】
続いて、図７を用いて図５に示すステップＳ５１０の詳細を説明する。図７は、動画描画命令の処理時に、動画重畳比率を更新する処理の一例を説明するフローチャートである。このフローチャートによる処理はＲＯＭ２０３に書き込まれたコンピュータプログラムをＣＰＵ２０１が実行することで処理される。
【００６３】
ステップＳ７０１で、動画透過率取得部１１３は、選択動画描画命令から透過率を取得し、動画重畳比率テーブル１２１に選択動画像に対応するエントリ列を追加する。選択動画像に含まれるピクセルの動画重畳比率に、取得した透過率を設定する。一方、選択動画像に含まれないピクセルの動画重畳比率に０を設定する。
【００６４】
動画重畳比率テーブル１２１の構成例を図８と図９とを用いて説明する。
【００６５】
図８は動画重畳比率テーブル１２１の構成例を説明する図である。合成座標８０１は合成座標系でのピクセルの位置を表す。動画重畳比率８０２は、ピクセルごとの動画重畳比率を表す。動画重畳比率８０２は合成される動画像ごとにエントリ列が作成される。図８に示す動画重畳比率テーブル１２１の構成例では、ピクセルごとに動画重畳比率を保持する。そのため、合成される画像データが多く、なおかつ各画像データの透過率が詳細に設定されている場合において好ましい構成となる。
【００６６】
図９は動画重畳比率テーブル１２１の別の構成例を説明する図である。合成座標９０１は合成座標系での領域を表す。動画重畳比率９０２は、各領域に含まれるピクセルの動画重畳比率を表す。図９にて表現される内容は図８の内容に等しい。図９に示す動画重畳比率テーブル１２１の構成例では、一定の領域ごとにまとめて動画重畳比率を保持する。そのため、保持に必要なＲＡＭ２０２の容量が少なく、比較的単純な合成パターンの画像描画命令を処理する場合において好ましい構成となる。
【００６７】
ステップＳ７０１において、選択動画描画命令から透過率を取得する処理は以下のように行う。動画透過率取得部１１３は、受け取った動画描画命令から動画マスク生成命令を分離し、これを実行して透過率を取得する。ここで、分離される動画マスク生成命令が、すでに動画の出力領域に合致する形で計算済みの動画マスク情報を含んでいる場合には、動画透過率取得部１１３はこれを実行して透過率を取得する。また、分離される動画マスク生成命令が、動画像に一定の透過率を与える動画透過率情報を含んでいる場合には、動画透過率取得部１１３は動画透過率情報を動画の出力領域に合致する形に計算して透過率を取得する。また、分離される動画マスク生成命令が、動画マスクを生成するための一連の動画マスク生成命令群で構成されている場合には、動画透過率取得部１１３は動画マスク生成命令群を実行して透過率を取得する。さらに、動画透過率取得部１１３が描画命令分離部１１１から受け取った動画描画命令の中に、動画マスク情報、動画透過率情報及び動画マスク生成命令群が含まれない場合には、動画透過率取得部１１３は該動画像の透過率が１であると計算する。
【００６８】
続いて、選択動画描画命令よりＺオーダーが小さな動画像の数だけステップＳ７０２乃至ステップＳ７０６を繰り返す。
【００６９】
ステップＳ７０３で、選択動画描画命令により描画される動画像よりもＺオーダーが小さな動画像の中から、新たな動画像を一つ選択する。この動画像を選択動画像Ｂとし、ステップＳ５０４で選択された動画描画命令により描画される動画像を選択動画像Ａとする。
【００７０】
ステップＳ７０４で、選択動画像Ａと選択動画像Ｂとがピクセルを共有するか否かを判定する。共有する場合にはステップＳ７０４に移行する。共有しない場合にはステップＳ７０６に移行する。
【００７１】
ステップＳ７０５で、選択動画像Ａと選択動画像Ｂとが共有するピクセルについて、選択動画像Ｂのエントリ列における動画重畳比率に１−αを乗算する。ここで、αは選択動画像Ａの透過率である。
【００７２】
以上のステップＳ７０２乃至ステップＳ７０６の処理を繰り返すことで、各動画像のピクセルごとの動画重畳比率が更新される。
【００７３】
続いて、図１０を用いて図５に示すステップＳ５０８の詳細を説明する。図１０は、静止画描画命令の処理時に、動画重畳比率テーブル１２１を更新する処理の一例を説明するフローチャートである。このフローチャートによる処理はＲＯＭ２０３に書き込まれたコンピュータプログラムをＣＰＵ２０１が実行することで処理される。
【００７４】
ステップＳ１００１で、動画重畳比率計算部１２０は、静止画像レンダリング処理部１１２から、選択静止画像描写命令の透過率を取得する。
【００７５】
選択静止画描画命令よりもＺオーダーが小さな動画像の数だけステップＳ１００２乃至ステップＳ１００６の処理を繰り返す。
【００７６】
ステップＳ１００３で、選択静止画描画命令よりＺオーダーが小さな動画像の中から、まだこのステップにおいて選択されていない動画像を一つ選択する。
【００７７】
ステップＳ１００４で、動画重畳比率計算部１２０は、選択静止画像と選択動画像とがピクセルを共有するか否かを判定する。共有する場合にはステップＳ１００５に移行し、共有しない場合にはステップＳ１００６に移行する。
【００７８】
ステップＳ１００５で、動画重畳比率計算部１２０は、選択静止画像と選択動画像とが共有するピクセルについて、選択動画像のエントリ列における動画重畳比率に１−αを乗算する。ここで、αは選択静止画像の透過率である。
【００７９】
以上の処理により、ステップＳ５０３乃至ステップＳ５１２のループ終了時点では、以下に示す動画重畳比率が動画重畳比率テーブル１２１に保持される。
0005408906.tif 000005
上記の式４０１及び４０２は動画重畳比率の結果の一例を説明する数式である。ただし、ｘｋは画像データＩｋの動画重畳比率である。動画重畳比率のエントリ列８０２は動画像についてのみ作成される。そこで、便宜的に静止画像Ｉｋについてはｘｋ＝０とおく。
【００８０】
図５に戻り、ステップＳ５１３で、合成部１５０は、静止画描画結果テーブル１４０に保持されている色値データ６０２に基づいて合成画像データを出力し、ディスプレイ２１０に表示する。
【００８１】
ステップＳ５０２において分離された動画描画命令の数だけステップＳ５１４乃至ステップＳ５１７の処理を繰り返す。図３に示す例では、動画像は画像データ３０３のみであるため、繰り返し数は１となる。
【００８２】
ステップＳ５１５で、合成部１５０は、動画描画部１３０が出力した処理済動画像を一つ選択する。
【００８３】
ステップＳ５１６で、合成部１５０は、選択された処理済動画像を、ステップＳ５１２において表示した静止画像の合成結果に重畳して表示する。処理の詳細については後述する。
【００８４】
以上がステップＳ５１４乃至ステップＳ５１７のループで処理される。このループの終了時点で、すべての静止画像と動画像とを合成した画像データがディスプレイ２１０に表示される。
【００８５】
最後に、図１１を用いて図５に示すステップＳ５１６の詳細を説明する。図１１は、動画像を重畳して表示する処理の一例を説明するフローチャートである。このフローチャートによる処理はＲＯＭ２０３に書き込まれたコンピュータプログラムをＣＰＵ２０１が実行することで処理される。
【００８６】
ステップＳ１１０１で、合成部１５０は、動画描画部１３０が出力したＺオーダーと等しいＺオーダーを持つ動画像の動画重畳比率を動画重畳比率テーブル１２１から取得する。
【００８７】
ステップＳ１１０２で、合成部１５０は、選択された処理済動画出力のフレームが持つ色値データに取得した動画重畳比率を乗算する。
【００８８】
ステップＳ１１０３で、合成部１５０は、乗算された結果の色値データを表示中の合成画像データの色値データに加算して、ディスプレイ２１０に表示する。
【００８９】
上記処理の結果、ステップＳ５１４乃至ステップＳ５１７のループ終了時点で、以下の式５０１乃至式５０３により規定される（Ｒ，Ｇ，Ｂ）の色値データがディスプレイ２１０に出力される。
0005408906.tif 000006
式５０１乃至５０３は合成部１５０が出力する色値データの一例を説明する数式である。これは、式２０１乃至式２０３に示すＮ＋１枚の画像をＺオーダーの小さい順に合成した結果に等しい。さらに本実施形態において、ステップＳ５１４乃至ステップＳ５１７の処理の順序はＺオーダーに依存しない。
【００９０】
以上より、本実施形態では、画像データの有するＺオーダーに依存せず、レンダリング処理が終了した処理済動画出力から順に合成処理を実施することができる。その結果、レンダリング処理に比較的長い時間を必要とする動画像が存在する場合にも、その動画像以降に重畳される予定で、既にレンダリング処理が終了している他の処理済動画出力の合成処理を先行して実施することが可能となる。したがって、より高速なアルファブレンディング処理が実現可能となる。
【００９１】
［その他の実施形態］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００９２】
また、本発明の目的は、前述した機能を実現するコンピュータプログラムのコードを記録した記憶媒体を、システムに供給し、そのシステムがコンピュータプログラムのコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたコンピュータプログラムのコード自体が前述した実施形態の機能を実現し、そのコンピュータプログラムのコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムのコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。
【００９３】
さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたコンピュータプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込む。そして、そのコンピュータプログラムのコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。
【００９４】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するコンピュータプログラムのコードが格納されることになる。
【図面の簡単な説明】
【００９５】
【図１】本発明の実施形態における画像処理装置１００の構成の一例を説明するブロック図である。
【図２】本発明の実施形態における画像処理装置１００のハードウェアの構成の一例を示すブロック図である。
【図３】本発明の実施形態における画像データの合成結果の一例を説明する図である。
【図４】合成画像データ３００を構成する各画像データのパラメータ一覧４００である。
【図５】本発明の実施形態における本実施形態における画像処理装置の描画処理の一例を説明するフローチャートである。
【図６】本発明の実施形態における静止画描画結果テーブル１４０の構成の一例を説明する図である。
【図７】本発明の実施形態における動画描画命令の処理時に、動画重畳比率を更新する処理の一例を説明するフローチャートである。
【図８】本発明の実施形態における動画重畳比率テーブル１２１の構成例を説明する図である。
【図９】本発明の実施形態における動画重畳比率テーブル１２１の別の構成例を説明する図である。
【図１０】本発明の実施形態における静止画描画命令の処理時に、動画重畳比率テーブル１２１を更新する処理の一例を説明するフローチャートである。
【図１１】本発明の実施形態における動画像を重畳して表示する処理の一例を説明するフローチャートである。
【符号の説明】
【００９６】
１００  画像処理装置
１１０  描画制御部
１１１  描画命令分離部
１１２  静止画像レンダリング処理部
１１３  動画透過率取得部
１２０  動画重畳比率計算部
１２１  動画重畳比率テーブル
１３０  動画描画部
１４０  静止画描画結果テーブル
１５０  合成部
【図１】
0005408906.tif 000007
【図２】
0005408906.tif 000008
【図３】
0005408906.tif 000009
【図４】
0005408906.tif 000010
【図５】
0005408906.tif 000011
【図６】
0005408906.tif 000012
【図７】
0005408906.tif 000013
【図８】
0005408906.tif 000014
【図９】
0005408906.tif 000015
【図１０】
0005408906.tif 000016
【図１１】
0005408906.tif 000017