(第1の実施の形態)
以下、図面を参照して本発明の第1の実施の形態について説明する。図1は本発明の第1の実施の形態に係る画像形成装置10の構成を示す図である。本実施形態に係る画像形成装置10は、画像表示装置160に表示するオブジェクトの画像データを形成し、形成した画像データ(ラスタ画像、圧縮画像等)に更に合成等の処理を施して、複数のオブジェクトを含む表示画像の表示画像データを出力できる。ここで、オブジェクトとは、画像表示装置160に表示される図形やその他の画像等の単位画像を意味する。以下、詳細を説明する。
図1において、100は、描画制御部である。描画制御部100は、描画データの入力を受け付けて、判別手段である表示領域判別部110に対して描画データを転送する。また、描画制御部100は、転送した描画データの記述から、画像表示装置160の画像表示領域に表示される部分(表示部分)と表示されない部分(非表示部分)とを判別するように表示領域判別部110に指示を行う。
上記描画データは、PDLやSVG、又はこれらを解釈した中間言語等であり、1つ以上のオブジェクトを描画するための描画命令である。描画データは、例えばオブジェクト自身のエッジ情報やレベル情報を含む。また、描画データは、画像表示装置160の画像表示領域におけるオブジェクトの表示部分を判別するための判別情報として、オブジェクトの外形、表示位置及びオブジェクト同士のレイヤ(階層)の上下関係の情報を有している。描画制御部100は、表示部分を判別するための他の判別情報として、描画データと共に、画像表示装置160の画像表示領域を示す表示範囲情報も表示領域判別部110に提供する。
上記では、1つの独立したPDLやSVG等の描画データを描画する場合について説明したが、画像表示装置160に表示させる複数のオブジェクトを、それぞれが独立した描画データを描画することによって形成してもよい。この場合、描画制御部100は、画像表示領域の判別情報として、表示領域判別部110に対して、複数のオブジェクト間における表示優先順位を示す情報(表示優先順位情報)を更に提供する。そして、表示領域判別部110は、これら、画像表示装置160の表示範囲情報、描画データ自身が有する情報及びオブジェクト間の表示優先順位情報等から、各オブジェクトの表示部分と非表示部分とを判別する。なお、以下の説明においては、それぞれが独立した描画データによって複数のウインドウを表示させる場合について説明する。即ち、各ウインドウは、それぞれが独立した描画データによって形成されるオブジェクトである。
次に、図3Aを用いて、画像表示装置160の画像表示領域と複数のウインドウ(オブジェクト)との関係の一例について説明する。図3Aにおいて、300は、画像表示装置160における画像表示領域を示し、310、320及び330は、それぞれウインドウを示している。この例においては、ウインドウ310は、ウインドウ320よりも表示優先順位が高い。また、ウインドウ330は、その一部が画像表示領域300からはみ出す位置に表示されている。即ち、本例においては、ウインドウ320よりウインドウ310の方が高い表示優先順位であることが表示優先順位情報によって示されており、この表示優先順位情報とウインドウ310、320の描画データとに基づいて、ウインドウ310、320の表示部分と非表示部分とを判別することができる。また、表示範囲情報とウインドウ330の描画データとに基づいて、ウインドウ330の表示部分と非表示部分とを判別することができる。
更に、図3Bを用いて、表示部分及び非表示部分の表示領域判別部110による判別結果の一例について説明する。図3Bにおいて、ウインドウ320に関しては、表示部分321と、ウインドウ310の下に隠れた非表示部分322とに判別されたことを示している。また、ウインドウ330に関しては、表示部分331と、画像表示領域300外の非表示部分332とに判別されたことを示している。なお、ウインドウ310に関しては、その全ての領域が表示部分311と判別されたことを示している。
表示領域判別部110は、図3Bを用いて説明したような表示部分と非表示部分とに関する判別結果を描画データと共に描画データ分割部120に伝達する。描画データ分割部120は、表示部分と非表示部分とに関する判別結果報及び描画データを受けると、ウインドウ毎に描画データを表示部分の描画データと非表示部分の描画データとに分割し、描画データバッファ170に格納する。また、描画データ分割部120は、分割した描画データを格納した後、表示部分の描画データの描画データバッファ170における格納アドレスと非表示部分の描画データの描画データバッファ170における格納アドレスとを描画制御部100に伝達する。
描画制御部100は、描画データ分割部120より上記格納アドレスを受けると、描画部130に対して、表示部分のオブジェクト描画命令を発行するとともに、各描画データの格納アドレスを通知する。描画部130は、当該描画命令及び通知を受けると、描画データバッファ170より表示部分の描画データを読み出して描画を行なうことにより、表示部分の描画データそれぞれに対応する画像データを形成する。形成された画像データは、画像データバッファ180に格納される。描画部130は、画像データを格納した後、画像データバッファ180における各画像データの格納アドレスを描画制御部100に伝達する。即ち、描画部130は画像データ形成手段であるとともに、画像データを格納する格納手段を構成する。
ここで、図3Cを用いて、画像データバッファ180における画像データの格納状態について説明する。図3Cにおいて、画像データバッファ180の領域340は、表示部分の画像データの格納領域であり、画像データバッファ180の領域341は、非表示部分の画像データの格納領域である。本図に示すように、領域340には、図3Bを用いて説明した表示部分311、321及び331の画像データのみが格納されている。
描画制御部100は、画像データの格納アドレスを描画部130から受けると、表示画像形成部140に対して、画像表示装置160に実際に表示する画像データである表示画像データを形成するように命令を発行し、更に各画像データの格納アドレスを通知する。表示画像形成部140は、この命令及び通知を受けると、画像データバッファ180より表示部分の画像データを読み出して、合成等の処理をして表示画像データを形成し、該表示画像データを表示画像バッファ190に格納する。なお、表示画像バッファ190における表示画像データの格納アドレスは、表示画像形成部140から描画制御部100に対して伝達される。また、描画制御部100は、上記表示画像データを形成する命令等を発行する一方で、描画部130に対して非表示部分の描画データを描画するように命令等を発行する。
図3Dは、表示画像バッファ190における表示画像データの格納状態を模式的に示す図である。また、図3Fは、非表示部分の描画データが描画されることにより生成された画像データが、既に格納されていた表示部分の画像データとともに画像データバッファ180に格納された状態を模式的に示す図である。なお、非表示部分の画像データは、上述した描画制御部100からの命令を受けることにより、描画部130が非表示部分の描画データを描画することにより生成された画像データである。
描画制御部100は、表示画像形成部140から表示画像データの格納アドレスを受けると、画像表示部150に対して、画像表示装置160に表示画像を表示するように命令を発行するとともに、表示画像データの格納アドレスを通知する。
画像表示部150は、描画制御部100からの命令等を受けると、表示画像バッファ190から表示画像データを読み出し、画像表示装置160に表示画像データを転送して表示させる。なお、表示画像形成部140及び画像表示部150は表示制御手段を構成する。
以上のような、第1の実施の形態に係る画像形成装置10における一連の処理を、図2のフローチャートを用いて説明する。
まず、ステップS200において、描画制御部100は、描画データの入力を待ち、入力がされると、描画データを表示領域判別部110に転送する。
更に、ステップS201において、描画制御部100は、画像表示装置160の画像表示領域に関する表示範囲情報やウインドウ(オブジェクト)の表示優先順位情報も表示領域判別部110に転送する。
次に、ステップS202において、表示領域判別部110は、ステップS201で提供された情報を基に、ステップS200で入力された描画データの記述から、各オブジェクトの表示部分と非表示部分とを判別する。そして、表示領域判別部110は、表示部分及び非表示部分に関する判別結果を描画データと共に描画データ分割部120に送る。
次に、ステップS203において、描画データ分割部120は、ステップS202で受け取った判別結果を基に、描画データを表示部分の描画データと非表示部分の描画データとに分割して、描画データバッファ170に格納する。
次に、ステップS204において、描画部130は、描画制御部100から表示部分のオブジェクト描画命令を受け、描画データバッファ170より表示部分の描画データを読み出して描画を行い、画像データを形成する。そして、ステップS205において、描画部130は、表示部分の画像データを画像データバッファ180に格納する。なお、ここまでの処理で、画像表示装置160上に表示される表示部分の画像データの形成処理が終了する。
続いて、処理は、表示部分の表示画像データを形成するためのステップS208からの処理に移行するとともに、非表示部分の画像データを形成するためのステップS206からの処理に移行する。
ステップS206及びステップS207においては、描画部130は、描画制御部100から非表示部分のオブジェクト描画命令を受け、描画データバッファ170より非表示部分の描画データを読み出して描画を行い、画像データを形成する。そして、処理はステップS205に戻り、描画部130は、形成した非表示部分の画像データを画像データバッファ180に格納する。
次に、上記非表示部分の画像データ形成処理に並行して行われる表示画像データの形成処理について説明する。まず、ステップS208において、表示画像形成部140は、描画制御部100から表示画像データを形成するよう命令を受けることにより、画像データバッファ180から表示部分の画像データを読み出し、表示画像データを形成する。更に、ステップS209において、表示画像形成部140は、形成した表示画像データを表示画像バッファ190に格納して、ステップS210に進む。
次に、ステップS210において、画像表示部150は、表示画像バッファ190に格納された表示画像データを画像表示装置160に転送して、表示させる。
更に、表示画像データを表示中の処理については、まず、ステップS211において、描画制御部100は、表示画像データの表示中において新たな描画データが入力されたか否かを監視する。新たな描画データが入力された場合は、処理は、ステップS200に戻り、上述した一連の処理を行い、新たなオブジェクトの表示画像データを表示する。
一方、表示画像データの表示中において新たな描画データの入力がない場合、処理は、ステップS212に進む。ステップS212においては、描画制御部100は、現在表示されているオブジェクトの表示位置が、例えばマウス等の操作手段により移動されたか否かを監視する。即ち、描画制御部100は、オブジェクトの表示位置の変化を監視する監視手段を構成する。オブジェクトの表示位置の移動がない場合、処理はステップS210に移行して、現在の表示状態を維持する。オブジェクトの表示位置の移動が検知された場合、処理はステップS208に移行して、描画制御部100は、表示画像形成部140に対して、新たな表示画像データを形成するように指示を行う。
このとき、画像データバッファ180には、図3Fに示すように、既に形成済みの、表示部分311、321及び331の画像データ、並びに、非表示部分322及び332の画像データが格納されている。従って、表示画像形成部140は、オブジェクトの移動に応じて、画像データバッファ180より表示部分及び非表示部分の画像データを即座に読み出すことができるため、オブジェクトの移動に対応した表示画像データを迅速に形成することができる。このように、本実施の形態においては、オブジェクトの表示位置の移動があった場合、再度描画データを描画して、画像データを形成するステップS200〜S204の処理を行う必要がなく、表示画像データを形成することができる。従って、表示画像データを形成するまでの処理を高速化することができるとともに、処理の負荷を軽減することができる。
図3Eは、オブジェクトの移動表示の一例を示す図である。ここでは、マウス等の操作によりウインドウ310の表示位置が移動された場合を示している。このとき、表示画像形成部140は、図3Fに示した既に形成済みの、表示部分311、321及び331の画像データ、並びに、非表示部分322及び332の画像データを用いて、新たな表示画像データを形成する。図3Eに示すように、ウインドウ310の表示位置が変化した場合、表示部分311、321及び331の画像データの他、新たな表示部分323を含むようになった図3Fの非表示部分322の画像データも既に形成されている。図3Fに示した既に形成済みの、表示部分311、321及び331の画像データ、並びに、非表示部分322及び332の画像データを用いて、このようなウインドウ310の表示位置の移動に応じた表示画像データの生成を迅速に行なうことができる。
以上のように、本発明の第1の実施の形態においては、オブジェクトの表示部分の画像データを先に形成するようにしている。このように、表示部分に限定して画像データを先に形成することにより、オブジェクトが多数存在した場合においても、高速に表示部分の表示画像データを生成し、表示させることが可能となる。
また、表示部分の表示画像データの形成に並行して、非表示部分の画像データを形成するようにしている。従って、オブジェクトの表示位置が移動した場合においても、非表示部分の画像データが既に用意されているため、高速に応答して新たな表示画像データを表示することができる。
(第2の実施の形態)
次に、本発明の第2の実施の形態について説明する。図4は、本発明の第2の実施の形態に係る画像形成装置20の構成を示す図である。画像形成装置20において、第1の実施の形態に係る画像形成装置10と共通する部分については、同符号で示し、説明を省略する。また、本実施形態についても図3A〜Fを適宜流用して説明を行なう。
本実施の形態に係る画像形成装置20と第1の実施の形態に係る画像形成装置10との違いは、画像形成装置20が2つの描画部(描画部130及び描画部131)を有する点、及び、これら描画部130及び描画部131の負荷を監視する描画負荷監視部135(負荷監視手段)を有する点にある。描画部130及び描画部131は、第1の実施の形態と同様に、描画制御部100からオブジェクト描画命令を受け、描画データバッファ170より表示部分と非表示部分とに分割された描画データを読み出して描画を行い、画像データを形成する。
なお、本実施形態においては、描画部130及び描画部131の2つを有する構成としたが、2以上の描画部(画像データ形成手段及び格納手段)により構成されても構わない。また、描画部が2つ以上で構成される場合、各描画部は並列に動作する。即ち、本実施形態においては、複数の描画部それぞれに描画データを割り当てることにより複数の描画処理を同時に行い、画像データを形成することができる。
描画負荷監視部135は、描画部130及び描画部131の描画負荷を監視するものである。描画負荷監視部135には、描画制御部100により、予め任意の負荷閾値が設定されている。描画負荷監視部135は、描画部130及び描画部131のうち少なくとも何れか一方に当該負荷閾値を下回るものがあった場合、当該負荷閾値を下回った描画部を通知する情報を描画制御部100に伝達する。
描画制御部100は、描画負荷監視部135からの上記通知情報を受け取ると、負荷閾値を下回った描画部に対して、非表示部分の画像データを形成するように指示を与える。即ち、描画制御部100は、描画負荷監視部135の監視結果に基づいて、非表示部分の画像データを形成処理を制御する制御手段を構成する。
以下、第2の実施の形態に係る画像形成装置20における一連の処理を、図5のフローチャートを用いて説明する。
まず、ステップS500において、描画制御部100は、描画データの入力を待ち、描画データが入力されると、描画データを表示領域判別部110に転送する。
更に、ステップS501において、描画制御部100は、画像表示装置160の画像表示領域に関する表示範囲情報やウインドウ(オブジェクト)の表示優先順位情報も表示領域判別部110に転送する。
次に、ステップS502において、表示領域判別部110は、ステップS501で提供された情報を基に、ステップS500で入力された描画データの記述から、各オブジェクトの表示部分と非表示部分とを判別する。そして、表示領域判別部110は、表示部分及び非表示部分に関する判別結果を描画データと共に描画データ分割部120に送る。
次に、ステップS503において、描画データ分割部120は、ステップS502で受け取った判別結果を基に、描画データを表示部分の描画データと非表示部分の描画データとに分割して、描画データバッファ170に格納する。
次に、ステップS504において、描画部130及び描画部131は、描画制御部100から表示オブジェクト描画命令を受け、描画データバッファ170より表示部分の描画データを読み出して描画を行い、画像データを形成する。そして、ステップS505において、描画部130及び描画部131は、表示部分の画像データを画像データバッファ180に格納する。
ここで、ステップS504において描画部130及び描画部131に描画を行わせると共に、ステップS506において描画部130及び描画部131の描画負荷を描画負荷監視部135により監視させる。描画部130及び描画部131のうち少なくとも何れか一方に負荷閾値を下回るものがあった場合、負荷閾値を下回る描画部を通知する情報を描画制御部100に対して伝達する。
ステップS507において、描画制御部100は、負荷閾値を下回った情報を受けた場合には、負荷閾値を下回った描画部に対して、非表示部分の描画データの描画命令を行う。描画命令を受けた描画部は、ステップS504において非表示部分の画像データを形成し、ステップS505において形成した非表示部分の画像データを画像データバッファ180に格納する。つまり、ここでは、描画部130及び描画部131に対して負荷に関する判定を行い、非表示部分の画像データの形成を行なう余裕があると判定される描画部に対して、表示部分の画像データとともに非表示部分の画像データを形成させている。また、当初、描画部130及び描画部131に非表示部分の画像データを形成する処理を行う余裕がないと判定された場合においても、負荷監視部135によって負荷を逐次監視する。これにより、非表示部分の画像データを形成する余裕が確認できたら、その時点から非表示部分の画像データを形成させるようにする。
次に、ステップS508以降の表示画像データの形成処理及び表示処理について説明する。まず、ステップS508において、表示画像形成部140は、描画制御部100から表示画像データを形成するよう命令を受けると、画像データバッファ180から表示部分の画像データを読み出して、表示画像データを形成する。そして、表示画像形成部140は、ステップS509において、形成した表示画像データを表示画像バッファ190に格納する。
次に、ステップS510において、画像表示部150は、表示画像バッファ190に格納された表示画像データを画像表示装置160に転送して、表示させる。
更に、表示画像データを表示中の処理については、まず、ステップS511において、描画制御部100は、表示画像データの画像中において新たな描画データが入力されたか否かを監視する。新たな描画データが入力された場合は、処理は、ステップS500に戻り、上述した一連の処理を行い、新たなオブジェクトの表示画像データを表示する。
一方、表示画像データの表示中において新たな描画データの入力がない場合、処理は、ステップS512に進む。ステップS512においては、描画制御部100は、現在表示されているオブジェクトの表示位置が、例えばマウス等の操作により移動されたか否かを監視する。オブジェクトの表示位置が移動されていない場合、処理はステップS510に移行して、現在の表示状態を維持する。オブジェクトの表示位置の移動が検知された場合、処理はステップS508に移行して、描画制御部100は、表示画像形成部140に対して、新たな表示画像データを形成するように指示を行う。
このとき、画像データバッファ180には、第1の実施の形態同様、図3Fで示したように、既に形成済みの、表示部分311、321及び331の画像データ、並びに、非表示部分322及び332の画像データが格納されている。従って、表示画像形成部140は、オブジェクトの移動に応じて、画像データバッファ180より表示部分及び非表示部分の画像データを即座に読み出すことができるため、オブジェクトの移動に対応した表示画像データを迅速に形成することができる。このように、本実施の形態においては、オブジェクトの表示位置の移動があった場合、再度描画データを描画して、画像データを形成するステップS500〜S504の処理を行う必要がなく、表示画像データを形成することができる。従って、表示画像データを形成するまでの処理を高速化することができるとともに、処理の負荷を軽減することができる。
以上のように、本発明の第2の実施の形態においては、オブジェクトの表示部分の画像データを優先的に形成するようにしている。このように、表示部分の画像データを優先的に形成することにより、オブジェクトが多数存在した場合においても、高速に表示部分の表示画像データを生成し、表示させることが可能となる。
また、表示部分の画像データの形成に並行して、非表示部分の画像データを形成するようにしている。従って、オブジェクトの表示位置が移動した場合においても、非表示部分の画像データが既に用意されているため、高速に応答して新たな表示画像データを表示することができる。
更に、処理負荷の低い描画部に非表示部分の画像データを形成させるようにしているため、描画部の処理能力を有効に活用することができる。
(第3の実施の形態)
次に、本発明の第3の実施の形態について説明する。図6は、本発明の第3の実施の形態に係る画像形成装置30の構成を示す図である。画像形成装置30において、第1の実施の形態に係る画像形成装置10と共通する部分については、同符号で示し、説明を省略する。
本実施の形態に係る画像形成装置30と第1の実施の形態に係る画像形成装置10との違いは、画像形成装置10にアクティブオブジェクト情報受信部101、データ受信部102、オブジェクト優先順位判定部103及び時間計測部104を追加した点にある。以下、各部について説明する。
アクティブオブジェクト情報受信部101は、予め存在するアプリケーションソフトウェアのプログラムにより選択されて、指定されたオブジェクトを、アクティブオブジェクトとして描画制御部100に伝達するための情報(アクティブオブジェクト情報)を受信する。ここでいうアクティブオブジェクトとは、画像表示装置160に表示されるオブジェクトのうち時間の経過と共に移動等の変動をするオブジェクトのことをいう。
入力手段であるデータ受信部102は、次画面描画のためのデータ及び命令を受信して、その受信情報を描画制御部100に通知する。
優先順位判定手段であるオブジェクト優先順位判定部103は、表示領域判別部110から表示部分と非表示部分とに関する判別結果を受け取るとともに、アクティブオブジェクト情報受信部101からのアクティブオブジェクト情報を受け取る。そして、オブジェクト優先順位判定部103は、上記判別結果とアクティブオブジェクト情報とに基づいて、アクティブオブジェクトが次画面において移動したことにより出現する他のオブジェクトの非表示部分が優先的に形成されるようにする。即ち、オブジェクトの非表示部分のうち、アクティブオブジェクトに近いオブジェクトの非表示部分である程、優先順位を高くするようにして、形成順序に係る優先順位を順次設定する。
計測手段である時間計測部104は、予め設定された時間を計測する。予め設定される時間の一例としては、例えば、オブジェクトが動画やアニメーションである場合、その1フレームを表示する時間等が挙げられる。時間計測部104は、予め設定されている時間が経過すると、予め設定されている時間が経過したことを通知する情報を描画制御部100に対して伝達する。
なお、本実施の形態の概要を、図8に示す表示画像イメージを例にとって説明する。図8において、806は、毎画面の表示に割り当てられている時間Fを示す。807は、予め設定されている描画時間Tを示す。801は、毎画面のオブジェクトの表示部分の画像データ形成処理にかかる時間を示し、802は、毎画面のオブジェクトの非表示部分の画像データ形成処理にかかる時間を示す。
808は、1画面毎の画面状態を示す。805は、実際に見える画像表示装置160の画像表示領域を表し、804は、当該画像表示領域外を表している。ここでは、画像表示装置160に表示されたアクティブオブジェクトであるオブジェクトAが、時間F=0、1、2と経過するに従って移動していく場合を想定している。
以下、図8で示した表示画像イメージを出力する画像形成装置30における一連の処理を、図7のフローチャート及び図8〜10を用いながら説明する。
まず、ステップS700において、描画制御部100は、描画データの入力を待ち、入力がされると、描画データを表示領域判別部110に転送する。
更に、ステップS701において、描画制御部100は、画像表示装置160の画像表示領域に関する表示範囲情報やウインドウ(オブジェクト)の表示優先順位情報も表示領域判別部110に転送する。
次に、ステップS702において、表示領域判別部110は、ステップS701で提供された情報を基に、ステップS700で入力された描画データの記述から、各オブジェクトの表示部分と非表示部分とを判別する。そして、表示領域判別部110は、表示部分及び非表示部分に関する判別結果を描画データと共に描画データ分割部120に送る。
次に、ステップS703において、描画データ分割部120は、ステップS702で受け取った判別結果を基に、描画データを表示部分の描画データと非表示部分の描画データとに分割して、描画データバッファ170に格納する。描画データ分割部120は、描画データバッファ170へ描画データを格納した後、描画データバッファ170における表示部分の描画データの格納アドレスを表示制御部100に伝達する。
次に、ステップS704において、描画制御部100は、表示部分の描画データの格納アドレスを受けると、描画部130に対して表示部分の画像データを形成するようにオブジェクト描画命令を発行する。これを受けて、描画部130は、描画データバッファ170より表示部分の描画データを読み出して描画を行い、画像データを形成する。そして、ステップS705において、描画部130は、表示部分の画像データを画像データバッファ180に格納する。なお、ここまでの処理で、画像表示装置160上に表示される表示部分の画像データの形成処理が終了する。
続いて、処理は、表示部分の表示画像データを形成するためのステップS706からの処理に移行するとともに、非表示部分の画像データを形成するためのステップS707からの処理に移行する。
ステップS706においては、表示画像形成部140は、画像データバッファ180から表示部分の画像データを読み出し、表示画像データを形成する。そして、ステップS710において、表示画像形成部140は、形成した表示画像データを表示画像バッファ190に格納する。
次に、ステップS711において、画像表示部150は、表示画像バッファ190から表示部分の表示画像データを読み出し、画像表示装置160に転送して表示画像データを表示させる。
一方、ステップS707においては、アクティブオブジェクト情報受信部101は、アクティブオブジェクトを示すアクティブオブジェクト情報を受信し、描画制御部100に伝達する。ここでは、図8のオブジェクトAをアクティブオブジェクトとしている。
次に、オブジェクト優先順位判定部103は、表示領域判別部110から表示部分と非表示部分とに関する判別結果を受け取ると共に、描画制御部100からアクティブオブジェクト情報を受け取る。そして、ステップS708において、オブジェクト優先順位判定部103は、上記判別結果とアクティブオブジェクト情報とに基づいて、アクティブオブジェクトが次画面において移動することにより出現する、他のオブジェクトの非表示部分が優先的に描画されるように、非表示部分の描画データに対する優先順位を設定し、描画データ分割部120にその優先順位情報を伝達する。
ここで、描画に関する表示位置関係に基いた優先順位の設定について説明する。本実施の形態では、アクティブオブジェクトとその他のオブジェクトの非表示部分とのレイヤ(階層)が近い程、優先順位を高く設定することとする。なお、その他の指標として、エッジ情報からアクティブオブジェクトとその他オブジェクトの非表示部分との距離を算出したもの等も考えられるし、その両方を基準としてもよい。
アクティブオブジェクトが他のオブジェクトに隠されている場合、アクティブオブジェクトの非表示部分が最も高い優先度を持つ非表示部分となる。次に、アクティブオブジェクトによって隠されている非表示部分のうち、その非表示部分の存在する階層がアクティブオブジェクトに近いものから高い優先度を割り当てる。
図8のF=1の時点での処理を例に採って優先順位の設定方法について説明する。図9は、この時点における各オブジェクトの配置関係を示す図である。図9(a)において、アクティブオブジェクトはオブジェクトAである。901は、オブジェクトAの下にオブジェクトBが隠れることによって生じている非表示部分である。902は、オブジェクトA及びオブジェクトBの下にオブジェクトCが隠れることによって生じている非表示部分である。904は、オブジェクトDが画像表示装置160の画像表示領域外にはみ出すことによって生じている非表示部分である。
図9(b)は、図9(a)からオブジェクトAとオブジェクトBとを抜き出して示した図である。図9(c)は、図9(a)からオブジェクトA、オブジェクトB及びオブジェクトCを抜き出して示した図である。
本例においては、アクティブオブジェクトAに最も近いレイヤ(階層)に存在する非表示部分は非表示部分901である。よって、非表示部分901に最も高い優先順位0を設定する。次に、優先順位を設定する対象として非表示部分902と非表示部分904とが挙げられる。この際、オブジェクトAからのエッジ距離、即ち、オブジェクトAからの距離は非表示部分902の方が非表示部分904よりも近いので、非表示部分902に優先順位1、非表示部分904に優先順位2を設定する。
オブジェクト優先順位判定部103は、以上のようなオブジェクトの非表示部分の描画に関する優先順位情報を描画データ分割部120に伝達する。描画データ分割部120は、オブジェクト優先順位判定部103から優先順位情報を受け、描画データバッファ170に格納される非表示部分の各描画データに該当する優先順位情報を付与する。描画データ分割部120は、優先順位情報を付与した後、描画データバッファ170における非表示部分の描画データの格納アドレスを描画制御部100に伝達する。
ステップS709において、描画制御部100は、描画データ分割部120より描画データの格納アドレスを受けると、描画部130に対して非表示部分のオブジェクト描画命令を発行する。これを受けて、描画部130は、描画データバッファ170より非表示部分の描画データを読み出して描画を行い、画像データを形成する。その際に、優先順位情報により示される優先順位が高い描画データから描画処理を行なっていく。これにより、優先順位の高い描画データから先に画像データが形成されていくことになる。続いて、処理はステップS705に戻り、描画部130は、画像データバッファ180に非表示部分の画像データを格納する。
図10は、図8のF=1の時点における画像データバッファ180の画像データの格納状態を模式的に示す図である。格納領域1001には、オブジェクトA〜Dの表示部分の画像データが格納され、格納領域1002には、オブジェクトB、C及びDの非表示部分901、902及び904の画像データが格納されている。
再び図7のフローチャートの説明に戻る。ステップS711において、画像表示部150は、画像データバッファ180から表示部分の画像データを取得し、画像表示装置160に表示させる。
続くステップS712においては、描画制御部100は、時間計測部104及びデータ受信部102からの情報の受信を監視する。ここで、時間計測部104及びデータ受信部102から情報を受信した場合、描画制御部100は、描画部130に処理を中断するための命令を発行する(ステップS713)。即ち、描画部制御部100は、情報、具体的には所定時間の経過又は新規データ(次の表示画面に係るデータ)入力に関する情報の受信に応じて、画像データの形成処理を中止する制御手段を構成する。描画部130は、描画制御部100からの描画中断命令を受け取った場合、その時点で全ての描画データの描画処理が終了していなくとも処理を中断し、処理はステップS700に戻る。そして、ここまでに説明した処理に従い、再度、描画データの描画、画像データの形成、表示画像データの形成及び画像表示装置160での表示画像データの表示のための処理を行う。
なお、ステップS712において時間計測部104から受け取る情報は、予め設定された所定の描画時間Tが経過した場合にその旨を通知される情報である。また、ステップS712においてデータ受信部102から受け取る情報は、次画面描画のためのデータ及び命令(描画データ)が入力された場合に通知される情報である。
また、ステップS714においては、表示制御部100は、現在表示されているオブジェクトの表示位置が移動したか否かを監視する。オブジェクトの表示位置が移動していない場合、処理はステップS711に移行して、現在の表示状態を維持する。オブジェクトの表示位置が検知された場合、処理はステップS706に移行して、表示制御部100は、表示画像形成部140に対し、表示画像データを形成するように指示を行う。
以上のように、本発明の第3の実施の形態においては、オブジェクトの表示部分の画像データを先に形成するようにしている。このように、表示部分に限定して画像データを先に形成することにより、オブジェクトが多数存在した場合においても、高速に表示部分の表示画像データを生成し、表示させることが可能となる。
また、表示部分の表示画像データの形成に並行して、非表示部分の画像データを形成するようにしている。従って、オブジェクトの表示位置が移動した場合においても、非表示部分の画像データが既に用意されているため、高速に応答して新たな表示画像データを表示することができる。
また、時間計測部104やデータ受信部102からの情報を受信した場合、仮に描画データの描画処理が終了していなくても、描画処理を中断させるようにし、その時点まで形成された画像データを用いて次の画面表示を行なっている。これにより、オブジェクト数が増加した場合であっても、次の画面表示を高速に行なうことができる。
更に、描画データの描画処理の際には、アクティブオブジェクトに近い非表示部分の描画データ、即ち、アクティブオブジェクトの移動により非表示部分から表示部分に変わる可能性の高い描画データから優先的に描画処理を行なっている。これにより、上記のような描画処理の中断による高速化を図る場合でも、画面表示の品質を良好に保つことができる。
なお、第1〜3の実施の形態において説明した各機能手段は不図示のCPU、ROM、及びRAM等で構成される。具体的には、描画制御部100、表示領域判別部110、描画データ分割部120、描画部130及び描画部131、描画負荷監視部135、表示画像形成部140、及び画像表示部150の各機能は、CPU及びROMに記憶されたプログラムにより実現される。同様に、アクティブオブジェクト情報受信部101、データ受信部102、オブジェクト優先順位判定部103、及び時間計測部104の各機能もCPU及びROMに記憶されたプログラムにより実現される。また、描画データバッファ170、画像データバッファ180、及び表示画像バッファ190はRAM等の記録媒体の一部記憶領域に相当する構成である。また、画像表示装置160は、ディスプレイ等で構成される。
なお、本発明は、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を用いても良い。この場合には記憶媒体をシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによって本発明の目的が達成される。
この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
また、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(基本システム或いはオペレーティングシステム)等が実際の処理の一部又は全部を行う場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。この場合には、書き込まれたプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行ってもよい。
また、上述した第1〜3の実施の形態において、表示領域判別部110と描画データ分割部120とが分かれた構成について説明したが、これらが一体となって構成されていても構わない。