説明

情報処理装置、情報処理装置の動作方法、および記憶媒体

【課題】画像を表すデータから各オブジェクトの展開し、当該オブジェクトを再現する時間を短縮するために、画像を構成する複数のオブジェクトのそれぞれを表すベクタデータのうち、予めラスタ形式のデータに変換するデータを効率よく決定する。
【解決手段】画像を構成する複数のオブジェクトのそれぞれを表すベクタデータを処理する情報処理装置であって、ベクタデータを、それぞれのオブジェクトに展開する処理を伴う処理時間を取得する取得部と、取得部で取得された処理時間に基づいて、複数のオブジェクトのそれぞれを表すベクタデータを用いて画像を再現する時間を特定する特定部と、特定部で特定された時間が所定の閾値を超過する場合、取得部で取得された各処理時間と、特定部で特定された時間と、所定の閾値とに基づいて、複数のオブジェクトを表すベクタデータうち、予めラスタ形式のデータに変換するものを決定する決定部と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は画像を構成する複数のオブジェクト(図形)を表すベクタデータの一部を、ラスタ形式のデータに変換する情報処理装置、情報処理装置の動作方法、および記憶媒体に関する。
【背景技術】
【0002】
近年、組み込み機器に表示する画像の表現力が増してきており、機器上で動画や表現力豊かなユーザインタフェース(UI)を表示することは一般的となりつつある。このような動画やUIを実現する画像形式として、ベクタ画像がある。ベクタ画像とは、描く線や面といったオブジェクトの形を数値を用いて表現した画像である。そしてベクタ画像を表すデータ(ベクタデータ)は、同等の画像を表すラスタ形式のデータ(ラスタデータ)よりもデータサイズが小さくいことが知られている。また、ベクタデータは、様々な表示効果やアニメーション表示を表現できることが知られている。尚、表示効果とは、例えば、ぼかし表現やドロップシャドウであり、アニメーション表示とは、例えば、拡大縮小、回転のことをいう。
【0003】
しかし、ベクタデータ内に表示効果やアニメーション表示が表現されていた場合、当該ベクタデータから、設定された表示効果やアニメーション表示を伴う各オブジェクトの展開に要する処理には、比較的長い時間を要する。したがって、従来、ベクタデータのうち、展開する処理を伴う処理時間に、比較的長い時間を要するオブジェクトを表すデータを、ピクセル(画素)の集まりで表現されたラスタ形式のデータ画像に変換することが行われていた。しかしながら、ベクタデータをラスタデータに変換した場合、一般的にデータサイズが大きくなるため、画像を構成する複数のオブジェクトを表すベクタデータのうち、予めラスタデータに変換するデータを注意深く決める必要があった。
【0004】
上記処理時間を軽減するため、表示効果を施すオブジェクトに対し、表示効果を施す前のオブジェクトをラスタ化することで、描画する際に、オブジェクトをラスタ化する処理を省く方法が知られている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−015700号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1において提案された方法は、処理に時間のかかるグラデーションやフィルタ効果(例えば、ぼかし、ドロップシャドウなど)を適用した状態でラスタ化を行っていない。そのため、効果的に処理時間を低減させることはできないという課題がある。
【0007】
上記の課題に鑑み、本発明は、画像を表すデータから各オブジェクトの展開し、当該オブジェクトを再現する時間を短縮するために、画像を構成する複数のオブジェクトのそれぞれを表すベクタデータのうち、予めラスタ形式のデータに変換するデータを効率よく決定することを目的とする。
【課題を解決するための手段】
【0008】
上記の目的を達成する本発明に係る情報処理装置は、
画像を構成する複数のオブジェクトのそれぞれを表すベクタデータを処理する情報処理装置であって、
前記ベクタデータを、それぞれのオブジェクトに展開する処理を伴う処理時間を取得する取得手段と、
前記取得手段で取得された処理時間に基づいて、前記複数のオブジェクトのそれぞれを表すベクタデータを用いて前記画像を再現する時間を特定する特定手段と、
前記特定手段で特定された時間が所定の閾値を超過する場合、前記取得手段で取得された各処理時間と、前記特定手段で特定された時間と、前記所定の閾値とに基づいて、前記複数のオブジェクトを表すベクタデータうち、予めラスタ形式のデータに変換するものを決定する決定手段と、
を備えることを特徴とする。
【発明の効果】
【0009】
本発明によれば、画像を構成する複数のオブジェクトのそれぞれを表すベクタデータのうち、予めラスタデータに変換するデータを効率よく決定することができる。
【図面の簡単な説明】
【0010】
【図1】(a)本発明に係るベクタ画像変換装置の構成を示す図、(b)本発明に係るハードウェア構成の一例を示すブロック図。
【図2】第1実施形態に係るベクタデータの一例を示す図。
【図3】第1実施形態に係るベクタデータの描画結果の一例を示す図。
【図4】第1実施形態に係るベクタデータ内のオブジェクトの情報を示すテーブルの一例を示す図。
【図5】第1実施形態に係る全体の処理の流れを示すフローチャート。
【図6】第1実施形態に係るベクタデータをラスタデータに変換する処理を示すフローチャート。
【図7】第2実施形態に係るベクタデータをラスタデータに変換する処理を示すフローチャート。
【図8】第3実施形態に係るベクタデータをラスタデータに変換する処理を示すフローチャート。
【図9】第1実施形態に係るベクタデータのデータサイズと画像を再現する時間の閾値の一例を示す図。
【図10】第1実施形態に係るベクタデータのデータサイズと画像を再現する時間の測定値の一例を示す図。
【発明を実施するための形態】
【0011】
(第1実施形態)
図1(a)を参照して、本発明に係るベクタ画像変換装置(情報処理装置)の構成について説明する。本発明に係るベクタ画像変換装置100は、ラスタ化部分決定部101と、画像変換部102を備える。ベクタ画像変換装置100には、ベクタデータ105を含む画像103が入力される。そして、ベクタデータ106とラスタデータ107を含む画像104を出力する。ベクタデータ105、ベクタデータ106はベクタ形式の表現で記述されたデータである。同様にラスタデータ107はラスタ形式の表現で記述されたデータである。ラスタ化部分決定部101は、入力された画像103が持つベクタデータ105の中でラスタデータに変換する部分を決定する。画像変換部102は、ラスタ化部分決定部により決定された部分をラスタデータに変換する処理を行い、画像104を出力する。
【0012】
図1(b)を参照して、本発明に係るベクタ画像変換装置のハードウェア構成の一例を示すブロック図について説明する。CPU151は、各種処理のための演算や論理判断等を行い、バス155に接続された各構成要素を制御する。本ベクタ画像変換装置100には、プログラムメモリとデータメモリを含むメモリが搭載されている。プログラムメモリには、CPUによる制御のためのプログラムを格納する。メモリはROM152であっても良く、外部記憶装置などからプログラムがロードされるRAM153であっても良い。記憶装置154は、データやプログラムを記憶しておくための不揮発性メモリやハードディスクなどの記憶装置である。ベクタ画像変換装置100は、記憶装置154に格納された画像103、画像104等に対し変換処理を行う。
【0013】
図2を参照して、本実施形態に係るベクタ画像変換装置100に入力する画像が持つベクタデータの一例について説明する。ここではベクタデータ200はベクタ形式のフォーマットの一つであるSVGで記述されている。しかし、ベクタデータのフォーマットは、ベクタ形式であれば特に限定されない。ベクタデータはオブジェクトの定義と、オブジェクトに適用する効果の定義とに分類することができる。図の202、203、204、205、206、207は複数のオブジェクトそれぞれの定義を表し、201はオブジェクト202に適用する効果の定義を表す。これらのオブジェクト及び効果には、要素に付加されたID属性により便宜上名前を付けている。以後オブジェクト及び効果はこの名前を使って呼称する。202はBackground、203はLogo、204はIcon1、205はIcon2、206はIcon3、207はIcon4と称する。また、201はBG_Gradientと称する。Icon1、Icon2,Icon3,Icon4はおよびBackgroundは、rect要素で定義され、描画時は矩形が表示される。また、Logoは、text要素で定義され、描画時は文字列が表示される。オブジェクトの中でIcon1、Icon2、Icon3、Icon4には、さらに、時間経過に応じてオブジェクトに変化を与えるアニメーション定義(図2中の例えば15行目に記載のanimateTransform要素)が付加されている。BG_Gradient(201)はBackground(202)の塗りの部分に対してグラデーション効果を与える記述がなされている。
【0014】
図2のベクタデータ200を0秒後、0.2秒後、1秒後、1.3秒後、1.5秒後に描画した結果をそれぞれ図3(a)〜図3(e)に示す。
【0015】
図3(a)に示すように、0秒後の描画結果の背景にあたる矩形301はベクタデータに定義されたBackground(202)に対応し、文字列302はLogo(203)に対応する。図3(b)から図3(e)に示す矩形301、文字列302は図3(a)と同様である。図3(b)に示すように、0.2秒後の描画結果の矩形403、404、405、及び406は、それぞれベクタデータのIcon1(204)、Icon2(205)、Icon3(206)、及びIcon4(207)に対応する。これらのオブジェクトは画面の表示領域の外から移動して0.2秒で図の位置に描画される。
【0016】
図3(c)に示すように、1秒後の描画結果において、Icon1、Icon2、Icon3、及びIcon4はさらに移動し、それぞれ503、504、505、及び506の位置に描画される。Icon2、Icon3、Icon4はこの位置で移動を停止する。図3(d)の1.3秒後の描画結果において、Icon1は503の位置からさらに移動及び拡大を行い、603の位置に描画される。図3(e)の1.5秒後の描画結果において、Icon1は603の位置からさらに移動及び拡大を続け、703の位置で移動及び拡大を停止した形で描画される。
【0017】
図4を参照して、複数のフレームにおいて注目するオブジェクトを表すベクタデータから、当該注目オブジェクトを展開する処理を伴う処理時間のうち最大の処理時間とアニメーションの種類とを表すオブジェクト情報テーブルの一例について説明する。ここで複数のフレームそれぞれとは、画面に表示する画像を定期的に更新する際の各画像のことを表し、最大の処理時間とは、各フレームの中で最も展開を伴う処理に時間がかかったフレームの処理時間を指す。尚、展開を伴う処理時間とは、ベクタデータを読み込んでから、ディスプレイ等に各オブジェクトを表示可能な状態に変換するまでの時間であり、オブジェクト毎に取得される。また、処理時間は、ベクタデータを読み込んでからディスプレイ等の設定された位置にオブジェクトを表示可能な状態に変換するまでの時間でもよい。
【0018】
図4に示す処理時間はベクタデータに基づいて計算され、取得される。尚、取得された処理時間に関する情報は、RAM153に保存される。ここで801から806はそれぞれ図2で示したオブジェクトBackground、Logo、Icon1、Icon2、Icon3、Icon4に対応する。
【0019】
各オブジェクトについついて、取得されたオブジェクトの1フレームあたりの処理時間で最大のものが807から812である。また、813から818は、各オブジェクトが行うアニメーションの種類である。Background、Logoはアニメーションを行わず、Icon1は移動及び拡大を行い、Icon2からIcon4は移動のみを行う。
【0020】
図5は、本実施形態に係る全体処理動作の流れの一例を示すフローチャートである。本フローチャートを用いて、ベクタデータ200を変換処理の流れを示す。ステップS901において、CPU151は画像を表すベクタデータのデータサイズ及び当該ベクタデータを用いて画像の再現する処理に要する時間を特定する。尚、ベクタデータのデータサイズとは、ベクタデータが格納されたROMや記憶装置上におけるベクタデータのデータサイズである。また、画像を再現する処理に要する時間は画像をラスタライズし、描画バッファに書き込むまでの時間である。即ち、画像を再現する処理に要する時間とは、画像を構成する複数のオブジェクトのそれぞれを表すベクタデータを用いて前記画像を再現する時間であり、前述した処理時間に基づいて特定される。尚、ベクタデータから再現された画像を使用する機器と、ベクタデータをオブジェクトに展開するベクタ画像変換処理を行う機器が異なる場合は、画像を使用する機器におけるベクタデータのデータサイズと処理時間に基づいて、画像を再現する処理に要する時間を特定しても良い。また、画像を使用する機器とベクタ画像変換処理を行う機器が同じ場合は、ベクタデータを予めベクタ画像変換処理によって変換しておいても良いし、ベクタデータを展開する直前にベクタ変換処理を行っても良い。
【0021】
ベクタデータから画像を再現する直前に変換する場合は、機器の実行状況に合わせた処理を行う。例えば、機器に負荷がかかっている場合は、展開する処理を伴う処理時間の計測値が長くなり、負荷がかかっていない場合は展開する処理を伴う処理時間の計測値は短くなる。
【0022】
ステップS902において、CPU151はステップS901において計測した画像のデータサイズが、指定された画像のデータサイズ(閾値)を満たすかどうかを判定する。閾値以下を満たす場合(ステップS902;YES)はステップS903に進む。一方、満たさない場合(ステップS902;NO)はステップS904に進む。ステップS903において、CPU151はステップS901において計測した画像を再現する処理に要する時間が、指定された所定の閾値を満たすかどうかを判定する。尚、所定の閾値は、各フレームを定期的に切り替える時間間隔に応じて設定され、例えば、各フレームを定期的に切り替える時間間隔以下の時間であるものとする。そして画像を再現する処理に要する時間が、閾値以下である場合(ステップS903;YES)は処理を終了する。一方、画像を再現する処理に要する時間が、所定の閾値を超過する場合(ステップS902;NO)はステップS905に進む。ここで、一般的にデータサイズの大きいオブジェクトほど、ベクタデータをオブジェクトに展開する処理を伴う処理時間が長くなることが知られている。そこで、ステップS904において、データサイズの上限超えの主な要因となっているオブジェクトをユーザに知らせるべく、CPU151はベクタデータ内の各オブジェクトについて、ベクタデータをオブジェクトに展開する処理を伴う処理時間を計測し、当該処理時間の最も長いオブジェクトを提示する。尚、予め計測されたベクタデータをオブジェクトに展開する処理を伴う処理時間がRAM153等に保持されている場合、当該保持された情報を参照して、処理時間の最も長いオブジェクトを提示してもよい。ステップS904では、図4に示すオブジェクト情報テーブル800を生成し、この中で最もベクタデータをオブジェクトに展開する処理を伴う処理時間のかかるオブジェクトであるBackground(900μs)を提示する。これにより、例えばユーザがBackgroundを他のオブジェクトに変更するなどの処理を行うことにより、画像のデータサイズが上限を超えないように修正することが可能となる。ステップS905では、提示されたオブジェクトを表すベクタデータを当該提示されたオブジェクトを表すラスタデータに変換するラスタ化処理を行う。その後、ステップS901にループして同様の処理を行う。
【0023】
次に図6を参照して本実施形態に係るラスタ化処理(図5におけるステップS905の詳細な処理)の流れの一例について説明する。ステップS1001において、画像に含まれる複数のオブジェクトのそれぞれを表すベクタデータについて、CPU151はベクタデータをオブジェクトに展開する処理を伴う処理時間の計測とアニメーションの種類の取得を行い、ステップS1002に進む。このステップS1002において図4に示すオブジェクト情報テーブル800が生成される。ステップS1002において、ベクタデータの中で再描画の必要のない静止したオブジェクトを全て取得し、ステップS1003に進む。静止したオブジェクトはオブジェクト情報テーブル内のアニメーションを行っていないオブジェクトに対応するため、Background801とLogo802が取得されることになる。
【0024】
ステップS1003では、取得したオブジェクトの中で最もベクタデータをオブジェクトに展開する処理を伴う処理時間の長いオブジェクトを表すベクタデータをラスタデータに変換する。さらに、ベクタデータをラスタデータに変換するラスタ化処理を終了する。ラスタデータに変換する際は、画像に含まれる複数のオブジェクトのうち、注目するオブジェクトを表すベクタデータに基づいてBMPやJPEG、PNG等のラスタ形式のデータを生成し、注目するオブジェクトを表すベクタデータに相当する記述を、生成されたラスタデータを参照する記述に置き換えて、記憶媒体に保持する処理を行う。尚、変換するラスタデータの形式は、画像を使用する機器で描画できる形式であればいずれの形式であっても良い。また、ステップS1002において、オブジェクトBackground801とLogo802を取得した場合は、Background801が900μsと最もベクタデータをオブジェクトに展開する処理を伴う処理時間が長いため、Background801をラスタデータに変換する。
【0025】
次に、図9を参照して、ベクタデータのデータサイズと画像を構成する複数のオブジェクトのそれぞれを表すベクタデータを用いて画像を再現する処理に要する時間の閾値の一例について説明する。これらの閾値は画像を表示する機器のROMやRAMの容量、フレームレートに基づいてユーザが指定する。図9に示す閾値はRAM153に保存される。図10(a)〜図10(c)を参照して、ベクタデータのデータサイズと画像を構成する複数のオブジェクトのそれぞれを表すベクタデータを用いて画像を再現する処理に要する時間の測定値の一例について説明する。これらの値は、画像を実際に表示する機器において算出した値である。尚、この値は、実機の仕様を基にシミュレーションを行うことによって算出してもよい。
【0026】
続いて、本実施形態における処理の流れを説明する。図9のベクタデータのデータサイズの閾値と画像を構成する複数のオブジェクトのそれぞれを表すベクタデータを用いて画像を再現する処理に要する時間の閾値については予めRAM153にロードされるものとする。まずステップS901において、実機環境におけるベクタデータ全体のサイズと画像を構成する複数のオブジェクトのそれぞれを表すベクタデータを用いて画像を再現する処理に要する時間を計測する。ここで計測された値は図10(a)で示すように、ベクタデータのデータサイズが60KB、画像を構成する複数のオブジェクトのそれぞれを表すベクタデータを用いて画像を再現する処理に要する時間が2200μsと計測される。ステップS902において、計測されたベクタデータのデータサイズ60KBが閾値200KBを満たすため、ステップS903に移行する。ステップS903において、計測された画像を構成する複数のオブジェクトのそれぞれを表すベクタデータを用いて画像を再現する処理に要する時間2200μsが閾値の1500μsを満たさないため、ステップS905すなわち図6のステップS1001に移行する。ステップS1001では画像を構成する複数のオブジェクトのそれぞれを表すベクタデータに基づいて、図4に示すオブジェクト情報テーブルを生成する。S1002において、オブジェクトBackground801とLogo802を取得した場合は、S1003において、最も描画時間の長いBackground801がラスタデータに変換される。
【0027】
オブジェクトBackground801を変換する際は、例えば、縦130ピクセル、横120ピクセルのラスタ形式のデータをベクタデータから生成する。そして、rect要素を、生成されたラスタデータを参照するimage要素に置き換える処理を行う。具体的には図2の202の部分を、image要素を使った下記の記述に置き換える。
【0028】
<image id="Background" x="-60" y="-65" width="120" height="130"
xlink:href="Backgound.bmp">
なお、Backgound.bmpは202に基づいて生成したビットマップ形式のファイルである。
【0029】
再びステップS901に戻り、実機環境における画像全体のサイズと描画時間を計測する。ここで計測された値は図10(b)で示すように、画像を表すデータであって、ベクタデータとラスタデータを指定するデータを含むデータのサイズが160KB、画像を構成する複数のオブジェクトのそれぞれを表すベクタデータとラスタデータを用いて画像を再現する処理に要する時間が1200μsと計測される。続いてステップS902において、計測された画像を表すデータのデータサイズ160KBが閾値200KBを満たすため、S903に移行する。ステップS903において、計測された画像を構成する複数のオブジェクトのそれぞれを表すベクタデータとラスタデータを用いて画像を再現する処理に要する時間1200μsが閾値の1500μsを満たすため、処理を終了する。一方、ステップS901において、計測される値が図10(c)で示すように、画像を表すデータのデータサイズが220KB、画像を構成する複数のオブジェクトのそれぞれを表すベクタデータとラスタデータを用いて画像を再現する処理に要する時間が1200μsと計測された場合は、ステップS902において、計測された画像を表すデータのデータサイズ220KBが閾値200KBを満たさないため、S904に移行する。ステップS904において、図4に示されるオブジェクト情報テーブルの中で最も描画に時間のかかるオブジェクトはBackground(900μs)であるため、Backgroundが描画時間のボトルネックであることをユーザに提示する。
【0030】
以上のように、本実施形態に係る構成では、指定された画像を表すデータのデータサイズ及び画像を再現する処理に要する時間が所定の条件を満たすように以下の処理を実行する。即ち、画像を構成する複数のオブジェクトのそれぞれを表すベクタデータのうち、再描画が必要ない静止したオブジェクトを表すベクタデータを優先的にラスタデータ化する。そのため、ベクタデータを画像のデータサイズの増大を抑えると共に、画像を再現する処理に要する時間を短縮することができる。
【0031】
また、所定の条件を満たすことが困難である場合であっても、最も描画に時間のかかるオブジェクトを提示することによって、ユーザに手動で画像を変換する際の有益な情報を与えることができる。
【0032】
また、本実施形態では、Backgroundを表すベクタデータを、ラスタデータに変換する処理について説明したが、画像を再現する時間が所定の閾値以内となるよう以下の処理を実行しても良い。即ち、予めラスタ形式のデータに変換するベクタデータの個数が少なくなるよう複数のオブジェクトを表すベクタデータの少なくとも一部を、前述した処理時間が長いオブジェクトを表すベクタデータから順に、予めラスタ形式のデータに変換する。
【0033】
(第2実施形態)
本実施形態に係る全体処理の流れは第1実施形態で示した図5と同様である。図7を参照して、第2実施形態に係るラスタ化処理(ステップS905)の流れの一例について説明する。ステップS1101の処理は、図6におけるステップS1001と同様である。ステップS1102では、ステップS1101で生成されたオブジェクト情報テーブルに基づいて静止しているオブジェクト及び、移動のみのオブジェクトを取得する。ステップS1103では、ステップS1102で取得したベクタデータの中で最もベクタデータをオブジェクトに展開する処理を伴う処理時間が長いオブジェクトのアニメーション情報に基づいて、そのオブジェクトが画面内で移動を行うオブジェクトであれば(ステップS1103;YES)、ステップS1105に進む。一方、移動しないのであれば(ステップS1103;NO)、ステップS1104に進む。ステップS1104の処理は図6のステップS1003と同様の処理である。ステップS1105において、ステップS1003と同様に、ステップS1103で取得したオブジェクトの静止した状態の絵をラスタデータに変換してベクタ形式のデータと置き換える。なお、移動時には同一のラスタデータが使用される。
【0034】
その際、移動の記述は、ベクタ形式の記述を使って表現する。図4のオブジェクト情報テーブル800を例にとって説明する。図4から、静止するオブジェクト及び移動のみのオブジェクトとしてBackground、Logo、Icon2、Icon3、Icon4を取得する。これらのオブジェクトから構成される画像を再現する時間が所定の閾値を満たさない間は、ベクタデータをオブジェクトに展開する処理を伴う処理の長いオブジェクトを示すベクタデータから順にラスタデータに変換処理される。すなわち、Background(900μs)、Icon3(230μs)、Icon4(215μs)、Icon2(210μs)、Logo(100μs)の順である。
【0035】
以上のように、本実施形態に係る構成では、指定されたベクタデータのデータサイズ及び画像を再現する時間を満たすように、オブジェクトを表すベクタデータをラスタデータに変換する。そのため、画像を表すデータサイズの増大を抑えることができると共に、画像を再現する時間を短縮することができる。さらに、本実施形態では、移動するオブジェクトに関してもデータ量の増大が抑えられたラスタデータに変換することができる。また、移動するオブジェクトの場合、アニメーション前、アニメーション中、アニメーション後全てで同じラスタ画像を使用することによって、データサイズを抑えることもできる。
【0036】
(第3実施形態)
本実施形態に係る全体処理の流れは第1実施形態で示した図5と同様である。図8を参照して、本実施形態に係るラスタ化処理の流れの一例について説明する。ステップS1201の処理は、図6におけるステップS1001と同様である。ステップS1202において、ステップS1201で生成されたオブジェクト情報テーブル800に基づいて静止しているオブジェクト、移動のみのオブジェクト、及び、移動と拡大縮小のみのオブジェクトを取得する。ステップS1203において、ステップS1202で取得したベクタデータの中で最もベクタデータをオブジェクトに展開する処理を伴う処理時間が長いオブジェクトのアニメーション情報に基づいて、そのオブジェクトが画面内で移動のみを行うオブジェクトであれば(ステップS1203;YES)ステップS1205に進む。それ以外の場合(ステップS1203;NO)はステップS1204に進む。ステップS1204においては、最もベクタデータをオブジェクトに展開する処理を伴う処理時間が長いオブジェクトのアニメーション情報に基づいて、そのオブジェクトが画面内で拡大縮小を行うオブジェクトであれば(ステップS1204;YES)、ステップS1206に進む。それ以外の場合(ステップS1203;NO)はステップS1207に進む。
【0037】
ステップS1205の処理は図7のステップS1105と同様である。ステップS1206において、ステップS1104同様、ステップS1202で取得したオブジェクトが静止した状態であるときの絵をラスタデータに変換し、ベクタ形式の記述と置き換える。すなわち、最もベクタデータをオブジェクトに展開する処理を伴う処理時間が長いオブジェクトを最大拡大時の大きさのラスタデータに変換し、拡大縮小時のオブジェクトにこのラスタデータを使用する。すなわち、拡大縮小時には同一のラスタデータが使用される。
【0038】
ラスタデータの解像度は、オブジェクトをアニメーションの中で最も大きいデータサイズに拡大した際に、十分鮮明度を持つ高さに設定する。また、アニメーションの記述は、ベクタ形式の記述を使って表現する。ステップS1207は、ステップS1104の処理と同様である。
【0039】
図4のオブジェクト情報テーブル800を例にとって説明する。図4から、静止するオブジェクト及び移動のみのオブジェクト、移動と拡大縮小のみのオブジェクトとしてBackground、Logo、Icon1、Icon2、Icon3、Icon4を取得する。これらのオブジェクトは、画像を再現する時間の所定の閾値を満たさない間は、ベクタデータをオブジェクトに展開する処理を伴う処理時間の長いオブジェクトを示すベクタデータから順にラスタデータに変換処理される。すなわち、Background(900μs)、Icon3(230μs)、Icon1(220μs)、Icon4(215μs)、Icon2(210μs)、Logo(100μs)の順である。
【0040】
以上のように、本実施形態に係る構成では、画像を表すデータサイズ、画像を再現する時間が所定の条件を満たすように、ベクタデータをラスタデータに変換するため、データサイズの増大を抑えると共に、描画時間を短縮することができる。さらに、本実施形態では、移動及び拡大縮小するオブジェクトに関しても少ないデータ量でラスタデータに変換することができる。なお、拡大縮小するオブジェクトをラスタデータに変換する際には、最大拡大時の大きさのラスタデータに変換する。よって、アニメーションにより拡大縮小する場合でも画質の劣化を抑えることができる。
【0041】
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

【特許請求の範囲】
【請求項1】
画像を構成する複数のオブジェクトのそれぞれを表すベクタデータを処理する情報処理装置であって、
前記ベクタデータを、それぞれのオブジェクトに展開する処理を伴う処理時間を取得する取得手段と、
前記取得手段で取得された処理時間に基づいて、前記複数のオブジェクトのそれぞれを表すベクタデータを用いて前記画像を再現する時間を特定する特定手段と、
前記特定手段で特定された時間が所定の閾値を超過する場合、前記取得手段で取得された各処理時間と、前記特定手段で特定された時間と、前記所定の閾値とに基づいて、前記複数のオブジェクトを表すベクタデータうち、予めラスタ形式のデータに変換するものを決定する決定手段と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記取得手段は、前記処理時間として、前記ベクタデータを読み込んでから表示手段にオブジェクトを表示可能な状態に変換するまでの時間を取得することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記取得手段は、前記処理時間として、前記ベクタデータを読み込んでから表示手段の設定された位置にオブジェクトを表示可能な状態に変換するまでの時間を取得することを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記取得手段は、前記処理時間として、前記ベクタデータを読み込んでから表示手段の設定された位置にオブジェクトを表示可能な状態に変換するまでの最大の処理時間を取得することを特徴とする請求項1に記載の情報処理装置。
【請求項5】
前記特定手段は、前記再現する時間として、前記画像を構成する複数のオブジェクトを表すベクタデータを読み込んでから表示手段の所定の位置に所定の大きさで前記オブジェクトそれぞれを表示可能な状態に変換するまでの時間を特定することを特徴とする請求項1に記載の情報処理装置。
【請求項6】
前記決定手段は、前記再現する時間が前記所定の閾値以内であり、かつ予めラスタ形式のデータに変換するベクタデータの個数が少なくなるよう、前記複数のオブジェクトを表すベクタデータうち、予めラスタ形式のデータに変換するものを決定することを特徴とする請求項1に記載の情報処理装置。
【請求項7】
前記決定手段は、前記複数のオブジェクトを表すベクタデータうち、前記処理時間が長いオブジェクトを表すベクタデータから順に、予めラスタ形式のデータに変換するデータとして決定することを特徴とする請求項6に記載の情報処理装置。
【請求項8】
前記決定手段は、前記複数のオブジェクトを表すベクタデータうちの少なくとも一部については、前記処理時間が長いオブジェクトを表すベクタデータから順に、予めラスタ形式のデータに変換するデータとして決定することを特徴とする請求項6に記載の情報処理装置。
【請求項9】
更に、前記決定手段で決定されたベクタデータから変換されたラスタ形式のデータと、前記決定手段で決定されなかったベクタデータとから、前記画像を表すデータを構成するデータを生成する生成手段と、
前記生成手段で生成されたデータを保持する保持手段と、
を備えることを特徴とする請求項1に記載の情報処理装置。
【請求項10】
取得手段と、特定手段と、決定手段とを備え、画像を構成する複数のオブジェクトのそれぞれを表すベクタデータを処理する情報処理装置の動作方法であって、
前記取得手段が、前記ベクタデータを、それぞれのオブジェクトに展開する処理を伴う処理時間を取得する取得工程と、
前記特定手段が、前記取得工程で取得された処理時間に基づいて、前記複数のオブジェクトのそれぞれを表すベクタデータを用いて前記画像を再現する時間を特定する特定工程と、
前記決定手段が、前記特定工程で特定された時間が所定の閾値を超過する場合、前記取得工程で取得された各処理時間と、前記特定工程で特定された時間と、前記所定の閾値とに基づいて、前記複数のオブジェクトを表すベクタデータうち、予めラスタ形式のデータに変換するものを決定する決定工程と、
を備えることを特徴とする動作方法。
【請求項11】
請求項10に記載の動作方法をコンピュータに実行させるためのプログラムを記憶したコンピュータで読み取り可能な記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2011−165173(P2011−165173A)
【公開日】平成23年8月25日(2011.8.25)
【国際特許分類】
【出願番号】特願2010−261725(P2010−261725)
【出願日】平成22年11月24日(2010.11.24)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】