(57)【要約】      （修正有）【課題】ベクトル形式の図形データに基づいて描画されるべき画像に対して座標変換ルールを適用することにより座標変換後の画像データを取得する際の計算負荷を低減する。【解決手段】第１の画像を変換して第２の画像を得るための座標変換ルールを第１の座標データ群に対して適用することにより得られる第２の座標データ群に基づいて、第２の画像をビットマップ形式により描画する場合の第１の計算負荷と、第１の座標データ群に基づいて第１の画像をビットマップ形式により描画し、座標変換ルールを描画された第１の画像の各ビットマップに対して適用することにより第２の画像をビットマップ形式により描画する場合の第２の計算負荷とを算出する。そして、算出結果に応じた描画処理を行う。【選択図】図４
2012108825.tif 000002
【特許請求の範囲】
【請求項１】
ベクトル形式の図形データから、該図形データに基づいて描画されるべき第１の画像の境界線上の第１の座標データ群を生成する第１生成手段と、
（Ａ）前記第１の画像を変換して第２の画像を得るための座標変換ルールを前記第１の座標データ群に対して適用することにより得られる第２の座標データ群に基づいて、前記第２の画像をビットマップ形式により描画する場合の第１の計算負荷と、（Ｂ）前記第１の座標データ群に基づいて前記第１の画像をビットマップ形式により描画し、前記座標変換ルールを該描画された前記第１の画像の各ビットマップに対して適用することにより前記第２の画像をビットマップ形式により描画する場合の第２の計算負荷とを算出する算出手段と、
前記第１の計算負荷が前記第２の計算負荷よりも小さい場合、前記第１の画像を変換して第２の画像を得るための座標変換ルールを第１の座標データ群に対して適用することにより得られる前記第２の座標データ群に基づいて前記第２の画像をビットマップ形式により描画する第１描画手段と、
前記第２の計算負荷が前記第１の計算負荷よりも小さい場合、前記第１の座標データ群に基づいて前記第１の画像をビットマップ形式により描画し、前記座標変換ルールを該描画された前記第１の画像の各ビットマップに対して適用することにより前記第２の画像をビットマップ形式により描画する第２描画手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記第１の計算負荷は、前記第１の座標データ群の座標データ数に基づいて算出されることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１の計算負荷は、前記第２の画像を包含する領域のピクセル数に基づいて算出されることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記第２の計算負荷は、前記第１の画像を包含する領域のピクセル数と前記第２の画像を包含する領域のピクセル数とに基づいて算出されることを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記座標変換ルールは、前記ベクトル形式の図形データを３次元の座標変換することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
ベクトル形式の図形データから、該図形データに基づいて描画されるべき第１の画像の境界線上の第１の座標データ群を生成する第１生成工程と、
（Ａ）前記第１の画像を変換して第２の画像を得るための座標変換ルールを前記第１の座標データ群に対して適用することにより得られる第２の座標データ群に基づいて、前記第２の画像をビットマップ形式により描画する場合の第１の計算負荷と、（Ｂ）前記第１の座標データ群に基づいて前記第１の画像をビットマップ形式により描画し、前記座標変換ルールを該描画された前記第１の画像の各ビットマップに対して適用することにより前記第２の画像をビットマップ形式により描画する場合の第２の計算負荷とを算出する算出工程と、
前記第１の計算負荷が前記第２の計算負荷よりも小さい場合、前記第１の画像を変換して第２の画像を得るための座標変換ルールを第１の座標データ群に対して適用することにより得られる前記第２の座標データ群に基づいて前記第２の画像をビットマップ形式により描画する第１描画工程と、
前記第２の計算負荷が前記第１の計算負荷よりも小さい場合、前記第１の座標データ群に基づいて前記第１の画像をビットマップ形式により描画し、前記座標変換ルールを該描画された前記第１の画像の各ビットマップに対して適用することにより前記第２の画像をビットマップ形式により描画する第２描画工程と
を有することを特徴とする情報処理方法。
【請求項７】
コンピュータを請求項１の手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ベクトル形式の図形データで示される画像を座標変換するための技術に関するものである。
【背景技術】
【０００２】
近年、表示機能を有する情報処理装置において、表示画面の高精細化や多色化が進んでおり、それに伴い、視覚効果の高いグラフィカルユーザインタフェース（ＧＵＩ）が用いられるようになってきている。ＧＵＩにおける視覚効果として、仮想的な３次元空間内に２次元ウィンドウを配置したように表示する方法が知られている。特許文献１には、仮想的な３次元空間内の２次元ウィンドウを３次元的に座標変換する際、２次元ウィンドウを示すビットマップのそれぞれを３次元的に座標変換することが記載されている。この手法はテクスチャマッピングと呼ばれている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−６５８０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
テクスチャマッピングは、テクスチャを構成する各ピクセルの色情報を用いてマッピング先の色情報を算出する必要があり、図形オブジェクトが大きい程計算量が増大する。特に、元の図形データが２次元ベクトルデータである場合には、一旦テクスチャビットマップを作成した後で各ピクセルに対して座標変換を行う必要があった。従って、テクスチャマッピングを用いた処理は、計算負荷が大きいという問題があった。
そこで、本発明の目的は、ベクトル形式の図形データに基づいて描画されるべき画像に対して座標変換ルールを適用して座標変換後の画像データを取得する際の計算負荷を低減させることである。
【課題を解決するための手段】
【０００５】
本発明の情報処理装置は、ベクトル形式の図形データから、該図形データに基づいて描画されるべき第１の画像の境界線上の第１の座標データ群を生成する第１生成手段と、（Ａ）前記第１の画像を変換して第２の画像を得るための座標変換ルールを前記第１の座標データ群に対して適用することにより得られる第２の座標データ群に基づいて、前記第２の画像をビットマップ形式により描画する場合の第１の計算負荷と、（Ｂ）前記第１の座標データ群に基づいて前記第１の画像をビットマップ形式により描画し、前記座標変換ルールを該描画された前記第１の画像の各ビットマップに対して適用することにより前記第２の画像をビットマップ形式により描画する場合の第２の計算負荷とを算出する算出手段と、前記第１の計算負荷が前記第２の計算負荷よりも小さい場合、前記第１の画像を変換して第２の画像を得るための座標変換ルールを第１の座標データ群に対して適用することにより得られる前記第２の座標データ群に基づいて前記第２の画像をビットマップ形式により描画する第１描画手段と、前記第２の計算負荷が前記第１の計算負荷よりも小さい場合、前記第１の座標データ群に基づいて前記第１の画像をビットマップ形式により描画し、前記座標変換ルールを該描画された前記第１の画像の各ビットマップに対して適用することにより前記第２の画像をビットマップ形式により描画する第２描画手段とを有することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、ベクトル形式の図形データに基づいて描画されるべき画像に対して座標変換ルールを適用して座標変換後の画像データを取得する際の計算負荷を低減させることができる。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態に係る情報処理装置の構成を示すブロック図
【図２】表示部に表示されるＧＵＩ画面の一例を示す図
【図３】図２に示すＧＵＩ画面を作成するためのＳＶＧデータの一部を示す図
【図４】第１および第２の実施形態に係る情報処理装置の処理の手順を示すフローチャート
【図５】図４のフローチャートに示す処理を行う前のＳＶＧデータの一部を示す図
【図６】図５に示すＳＶＧデータにＳ４０１の処理を施した結果のデータを示す図
【図７】図６に示すデータにＳ４０２の処理を施した結果のデータを示す図
【図８】図７に示すデータにＳ４０５の処理を施した結果のデータを示す図
【図９】図２に示すＳＶＧデータを座標系に示した図
【図１０】図９に示すＳＶＧデータに第１の座標変換を施した後の描画結果を示す図
【図１１】第３の実施形態に係る情報処理装置の処理の手順を示すフローチャート
【図１２】第４の実施形態に係る情報処理装置の処理の手順を示すフローチャート
【発明を実施するための形態】
【０００８】
＜第１の実施形態＞
○全体構成
先ず、第１の実施形態について説明する。
図１は、第１の実施形態に係る情報処理装置の構成を示すブロック図である。図１において、ＣＰＵ１０１は、システム制御部であり、情報処理装置全体を制御する。ＲＯＭ１０２は、ＣＰＵ１０１の制御プログラムや各種固定データを格納する読取専用のメモリである。ＲＡＭ１０３は、ＳＲＡＭ、ＤＲＡＭ等で構成された書換え可能なメモリであり、プログラム制御変数等を格納するためのものである。各種設定パラメータ、各種ワーク用バッファ等もＲＡＭ１０３に格納されるものである。表示部１０４は、ＬＣＤ等を用いてオペレータに表示通知するためのものである。操作部１０５は、キーボードやポインティングデバイス等で構成され、オペレータが各種入力操作を行うためのものである。１０６は１０１〜１０５の各ユニットを通信可能に接続するシステムバスである。
【０００９】
図２は、表示部１０４に表示されるＧＵＩ画像の一例を示す図である。本実施形態における情報処理装置では、ＧＵＩ画面データとしてＳＶＧ（Ｓｃａｌａｂｌｅ  Ｖｅｃｔｏｒ  Ｇｒａｐｈｉｃｓ）形式の図形データ（ＳＶＧデータ）を用いる。ＳＶＧはＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）で記述された２次元ベクトル形式のグラフィックスフォーマットである。ＳＶＧデータにおいては、楕円はｅｌｌｉｐｓｅ要素、矩形はｒｅｃｔ要素といったように、描画オブジェクトがＸＭＬ要素で記述される。本情報処理装置は、ＧＵＩ画面を表示する際に、予めＲＯＭ１０２に保持したＳＶＧデータを解析し、同じ情報を持つ内部データ形式に変換する。内部データ形式はＤＯＭ（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）と呼ばれる形式である。本情報処理装置は、そのＤＯＭデータを画像データに変換した上で、表示部１０４に表示する。図２では、ＧＵＩ画像を白黒２値で説明しているが、カラー画面であってもよい。
【００１０】
図３は、図２に示すＧＵＩ画面を作成するためのＳＶＧデータの一部を示す図である。ＳＶＧデータはベクトル形式のグラフィックスフォーマットであり、図３に示したように描画オブジェクトの形状、描画座標、大きさ、塗り潰し色等を数値や文字列で表現できる。
【００１１】
例えば、図３に示すＳＶＧデータのうち、ｐａｔｈは線を意味し、ｃｉｒｃｌｅは円を意味する。またｐａｔｈ要素のｓｔｒｏｋｅ−ｗｉｄｔｈ属性はその線の太さを示し、ｐａｔｈ要素のｄ属性は、線を構成する曲線や線分を表現したものである。ｐａｔｈ要素のｄ属性の属性値に登場する数値は座標値であり、アルファベットは２次ベジェ曲線や３次ベジェ曲線、線分等を意味するコマンドである。ｃｉｒｃｌｅ要素にあるｆｉｌｌ属性はその円の色を示すものである。
【００１２】
○全体のフロー
図４は、２次元のベクトル形式の図形データで示される画像を３次元的に座標変換するための技術情報処理装置の処理の手順を示すフローチャートである。以下、一例を示す。本情報処理装置は、図３に示したＳＶＧデータを読み込み、内部データ形式のＤＯＭに変換する。図４のフローチャートに示す処理は、ＳＶＧデータをＤＯＭデータに変換した後の処理を示している。図４中の各処理はＤＯＭデータを操作（編集）することにより実現される。本情報処理装置は、図２に示したＧＵＩ画像（２次元データ）に対して３次元的な座標変換ルールにより示される３次元的な視覚効果を加えて表示することが可能となる。なお、座標変換ルールは、操作部１０５によりユーザーからの指示に基づいて入力される。
【００１３】
先ずＣＰＵ１０１は、３次元的な表現を行う描画オブジェクトのストロークを、ストロークの塗り潰し領域を囲むパスデータに変換する（Ｓ４０１）。ここで、ストロークとは太さを有する線データのことであり、図３に示したＳＶＧデータのうちｐａｔｈ要素で示されるデータがこれに相当する。Ｓ４０１では、このようなストロークデータを複数の座標データを含む座標データ群を含むパスデータに変換（生成）するものである。パスデータとは、太さが０の線で囲まれた領域を示すデータのことであり、曲線を含んでいてもよい。また、パスデータは、その領域を塗り潰す色や透明度を指定できる。なお、本実施形態では、図３に示したＳＶＧデータから、描画されるべき図２の画像の境界を表すパスデータを生成するとしたが、座標データ群を含む表現であればパスデータに限らず、例えばスキャンラインごとのエッジ座標群でも良い。
【００１４】
次にＣＰＵ１０１は、描画オブジェクトのパスデータを、線分のみで構成されたパスデータに変換する（Ｓ４０２）。このパスデータは描画オブジェクトの境界線上の座標データにより構成されるデータである。最初のＳＶＧデータや、Ｓ４０１で変換したパスデータは、その中に曲線を含有し得るものであるが、Ｓ４０２の処理により、全ての曲線を線分のみで構成されるデータにより近似する。曲線を線分に変換した場合は画質の劣化を伴う場合があるが、曲線を細かく分割した上で各微小曲線を近似した線分に置き換えれば画質の劣化は問題にならない。
【００１５】
ＳＶＧデータにおいては、円を示すＣｉｒｃｌｅ要素のように、描画オブジェクトのパスデータが記述されていないものもあるが、その場合にはＳ４０２において線分からなるデータに変換する。また、所定の規則（許容誤差ルール）に基づいてパスデータの分割数を決定しても良い。Ｓ４０１やＳ４０２で生成されるパスデータの中の分割数（座標データ群の数）は小さければ小さいほど、全体の計算負荷は小さいものとなる一方で、近似精度は悪くなる。よって、許容誤差ルールは、表示部１０４の解像度、ＣＰＵ１０１の計算負荷、及びユーザの意思などによって決定されることとなる。
【００１６】
続いてＣＰＵ１０１は、第１の描画手段による処理コストＣ１と第２の描画手段による処理コストＣ２を算出する（Ｓ４０３）。第１の描画手段による処理コストＣ１及び第２の描画手段による処理コストＣ２の算出方法については、後述する。
【００１７】
続いてＣＰＵ１０１は、より処理負荷の小さな処理を選択するために、第１の描画手段による処理コストＣ１と第２の描画手段による処理コストＣ２を比較する（Ｓ４０４）。第１の描画手段による処理コストＣ１が第２の描画手段による処理コストＣ２よりも小さい場合はＳ４０５へ進み、第１の描画手段による処理コストＣ１が第２の描画手段による処理コストＣ２よりも小さくない場合はＳ４０７へ進む。
【００１８】
Ｓ４０５において、Ｓ４０２で生成されたパスデータを構成する個々の座標値（Ｘ０、Ｙ０）を座標変換ルールに従って座標変換を行い、新たな座標値により構成されるパスデータを取得する。そして、Ｓ４０６にて、Ｓ４０６において生成された新たなパスデータに基づいてＲＡＭ１０３中の描画用バッファにビットマップ形式で画像データを生成する（描画する）。以上のＳ４０５，及びＳ４０６の処理は第１の描画手段により実行される。
【００１９】
一方で、第１の描画手段による処理コストＣ１が第２の描画手段による処理コストＣ２よりも大きい場合は、Ｓ４０７に進み、以下の処理を実行する。即ち、Ｓ４０２で生成されたパスデータからビットマップ形式で画像データを生成しＲＡＭ１０３にあるオフスクリーンバッファに書き込む。そして、Ｓ４０８において、オフスクリーンバッファにあるビットマップのそれぞれを座標変換ルールに従ってＲＡＭ１０３中の描画用バッファにビットマップを生成する（描画する）。以上のＳ４０７，及びＳ４０８の処理は第２の描画手段により実行される。
【００２０】
Ｓ４０６又はＳ４０８に続き、Ｓ４０９において、表示部１０４は描画用バッファに描画されているビットマップをに表示する。
【００２１】
なお、Ｓ４０４にて第１の描画手段による処理コストＣ１が第２の描画手段による処理コストＣ２よりも小さいか否かの判断基準に基づいて判断したが、判断基準はこれに限らない。例えば、判断基準として、第１の描画手段による処理コストＣ１が第２の描画手段による処理コストＣ２以下か否かとしても良い。
【００２２】
○処理コストの算出方法
まず、第１の描画手段による処理コストＣ１の算出方法を説明する。第１の描画手段による処理コストＣ１は、Ｓ４０５とＳ４０６での処理に必要なコストである。Ｓ４０５においてパスデータを構成する個々の座標値（ｘ０，ｙ０）を座標変換ルールに従って新たな座標値（ｘ１，ｙ１）に変換する。ここで、Ｓ４０１、Ｓ４０２の処理を施した後の座標データ群における座標データ数をＰとし、一座標データ当たりの座標変換コストをＭとすると、Ｓ４０５の処理コストはＰ×Ｍとなる。ここで、座標変換ルールを示す第１の座標変換の行列を
【００２３】
【数１】
2012108825.tif 000003
【００２４】
とすると、座標変換後の座標（ｘ１、ｙ１）は
【００２５】
【数２】
2012108825.tif 000004
【００２６】
で求められる。即ち、一つの座標を座標変換するための座標変換コストＭは乗算４回と和算４回となる。続いてＳ４０６において、Ｓ４０５にて変換された座標値（ｘ１、ｙ１）により構成されるパスデータから描画用バッファにビットマップ形式の画像データを描画する。ここで、パスデータからビットマップ描画する際の処理コストは、パスデータの複雑度に応じて変化する。また、この処理コストは描画領域の大きさに応じても変化する。これは描画領域が大きくなると、色を指定すべき描画領域におけるピクセル数が増大していくためである。以下、パスデータからビットマップをオフスクリーンに描画する際の一ピクセル当たりの処理コストをＶとする。パスデータをビットマップに変換するための一つの方法は、パスデータと各スキャンラインとの交点情報を保持し、スキャンライン毎に交点間を塗り潰すことで実現できる。この方法の場合、Ｖは、スキャンラインを辿りながら交点情報からピクセルの色値を取得する際の一ピクセル当たりの処理コストとなる。
【００２７】
Ｓ４０５による座標変換後のＳＶＧデータを包含する矩形領域のピクセル数をＳ２とすると、Ｓ４０６の処理コストは、Ｖ×Ｓ２となる。よって、第１の描画手段における処理コストＣ１は、Ｐ×Ｍ及びＶ×Ｓ２の関数となり、
Ｃ１＝ｆ（Ｐ×Ｍ，Ｖ×Ｓ２）      （２）
で表わされる。ｆ（）は、例えば、二つの入力値（Ｐ×ＭとＶ×Ｓ２）の重み付き加算計算を示す関数などである。ここで、座標変換後のＳＶＧデータを包含する矩形領域のピクセル数Ｓ２の計算方法を、図９と図１０を例に説明する。図９は、図２に示すＳＶＧデータをｘｙ座標系に示した図である。図１０は、図９の図形に対して座標変換を行った結果を示したものである。Ｓ２は矩形の面積として計算すればよい。ここでは、矩形を２つの三角形に分割し、各三角形の面積を計算することで矩形の面積を算出する。矩形Ａ’Ｂ’Ｃ’Ｄ’を三角形Ａ’Ｂ’Ｃ’と三角形Ａ’Ｄ’Ｃ’に分割する。線分Ａ’Ｂ’の長さをａ、線分Ｂ’Ｃ’の長さをｂ、線分Ｃ’Ａ’の長さをｃとすると、三角形Ａ’Ｂ’Ｃ’の面積Ｓは、ヘロンの公式を利用して
【００２８】
【数３】
2012108825.tif 000005
【００２９】
で求められる。三角形Ａ’Ｄ’Ｃ’の面積も同様に求めることができ、それらを合計したものがＳ２となる。
【００３０】
また、以下に第２の描画手段による処理コストＣ２の算出方法を説明する。第２の描画手段による処理コストＣ２は、Ｓ４０７とＳ４０８での処理に必要なコストである。
【００３１】
Ｓ４０７において、Ｓ４０２において生成された線分で構成されたパスデータをオフスクリーンにビットマップ描画する。オフスクリーンに必要なピクセル数は、ＳＶＧデータを包含する矩形領域と一致し、Ｓ１とする。パスデータからビットマップをオフスクリーンに描画する際の一ピクセル当たりの処理コストはＶであるので、Ｓ４０７の処理コストはＶ×Ｓ１となる。続いて、Ｓ４０８では、オフスクリーン上の各ビットマップに対して座標変換を施して描画用メモリにビットマップ形式の画像データを描画する。なお、オフスクリーンは、ＲＡＭ１０３上に確保された仮想的なスクリーン用のメモリ領域であり、オフスクリーンへの描画結果は表示部１０４には反映されない。Ｓ４０８の描画処理においては、座標変換後の領域の各ピクセルについて、座標変換ルールを逆適用（逆行列をかける）することで、オフスクリーン上のピクセルを算出し、そのピクセルの色情報を取得して描画する。このとき、算出したオフスクリーン上のピクセルから色を決定する方法は、一般に画像補間法として知られ、ｎｅａｒｅｓｔ  ｎｅｉｇｈｂｏｒ法やｂｉ−ｌｉｎｅａｒ法などがある。本実施形態では画像補間方法の内容を問わない。また、座標変換後の領域内の座標値（ｘａ，ｙａ）から参照されるオフスクリーンの座標値（ｘｂ，ｙｂ）は
【００３２】
【数４】
2012108825.tif 000006
【００３３】
で求められる。逆行列を予め計算しておけば、１回逆行列をかける処理コストは上記の１回あたりの座標変換コストＭと一致する。座標変換後のピクセル数は、第１の描画手段における座標変換後のＳＶＧデータを包含する矩形領域のピクセル数Ｓ２と一致する。さらに、本処理では、算出したピクセル毎にピクセルの色情報を取得する必要があるため、算出されたピクセルの色情報を取得するコスト（補間計算に必要なコストを含む）をＧとするとＳ４０８の処理コストはＳ２×（Ｍ＋Ｇ）となる。よって、第２の描画手段における処理コストＣ２は、Ｖ２×Ｓ１とＳ２×（Ｍ＋Ｇ）との関数となり、
Ｃ２＝ｇ（Ｖ２×Ｓ１、Ｓ２×（Ｍ＋Ｇ））    ・・・（５）
で表わされる。ｇ（）は、例えば、二つの入力値（Ｖ２×Ｓ１とＳ２×（Ｍ＋Ｇ））の重み付き加算計算を示す関数などである。
一般に、ＳＶＧデータのパスデータが複雑になるとＣ１が増大する。これは、座標変換前のパスデータ中の座標データ数Ｐが増大するためである。また、座標変換後の図形のピクセル数Ｓ２が座標変換前の図形のピクセル数Ｓ１より大きい場合はＣ２が増大する。これは、座標変換後における図形の色情報を取得するための補間演算が必要なピクセル数Ｓ２が増えるためである。
【００３４】
○座標変換の処理例
図５から図８は、Ｓ４０１、Ｓ４０２、Ｓ４０５の処理でＳＶＧデータが変化する様子を示す図である。図５から図８では、便宜上、ＳＶＧ形式のテキストデータで示しているが、実際には図４のフローチャートで示す処理はＲＡＭ１０３に保持したＤＯＭデータを変更するものである。
【００３５】
図５は、図４のフローチャートに示す処理を行う前のＳＶＧデータの一部を示す図である。即ち、図５はｐａｔｈ要素で記述されたＳＶＧデータの部分を示しており、これは太さのある線の描画を行うためのものである。
【００３６】
図６は、図５に示すＳＶＧデータにＳ４０１の処理を施した結果のデータを示す図である。図６に示すデータは、図５に示すデータと比較して見かけ上のデータ量は増えている。これは、太さを有するストロークデータを、その塗り潰し領域を囲むパスデータ（塗り潰し領域の境界線上の座標データにより構成されるデータ）に変換したためである。図５に示すデータは、ｐａｔｈ要素のｓｔｒｏｋｅ−ｗｉｄｔｈ属性の値が「１０」であるが、これは、ストローク（線）の太さが１０ピクセルであることを意味する。図６に示すデータでは、ｓｔｒｏｋｅ−ｗｉｄｔｈ属性がなくなっているが、これは線の太さが０であることを意味する。また、図５に示すデータであるｐａｔｈ要素のｓｔｒｏｋｅ属性の値「＃００００００」は線の色が黒色であることを意味し、図６に示すデータではｆｉｌｌ属性の値、即ち塗り潰しの色に置き換わっている。なお、上記ストロークデータは、図形データの適用例となる構成である。
【００３７】
図７は、図６に示すデータにＳ４０２の処理を施した結果のデータを示す図である。図７に示すデータは、図６に示すデータと比較して見かけ上のデータ量は増えている。これは、３組又は４組の座標値で表現できるベジェ曲線を、許容誤差ルールに基づいて細かい線分に分割したためである。
【００３８】
図８は、図７に示すデータにＳ４０５の処理を施した結果を示す図である。Ｓ４０５は個々の座標値をそれぞれ変換しているため、図７のデータと図８のデータにあるｄ属性に記述された座標値の個数は一致している。図７に示したデータのｄ属性の冒頭にある「Ｍ３８．５，１２．５」という文字列は（ｘ，ｙ）＝（３８．５，１２．５）の座標をパスデータの起点にするという意味である。この座標値は、Ｓ４０５の処理の結果（ｘ，ｙ）＝（１０６，３２４）に変換されているため、図８に示すデータのｄ属性の冒頭は「Ｍ１０６，３２４」となっている。このような変換を図７に示すデータのｄ属性に記述された各座標値に対して行った結果、図８に示すｐａｔｈ要素に変換される。
【００３９】
○本発明の効果
以上のとおり、本実施形態によれば、第１の描画手段による処理コストＣ１と第２の描画手段による処理コストＣ２とを比較し、より処理コストの小さい描画手段を選択して描画することができる。これにより、ベクトル形式の図形データに基づいて描画されるべき画像に対して座標変換ルールを適用して座標変換後の画像データを取得する際の計算負荷を低減させることができる。
【００４０】
＜第２の実施形態＞
次に第２の実施形態について説明する。
第２の実施形態に係る情報処理装置の構成は、図１に示す第１の実施形態に係る情報処理装置の構成と同様である。本実施形態では、図１１に示すフローを基に説明する。
【００４１】
Ｓ１２０１からＳ１２０２までは、図４に示すフローのＳ４０１とＳ４０２と同じである。Ｓ１２０３において、線分で構成されたパスデータの頂点数がある値を超えた場合には、テクスチャマッピングによる描画手段を選択するようにする。
【００４２】
本実施形態によれば、パスデータが非常に複雑になった場合には、パスデータの各頂点を座標変換する処理コストが増大するのを防ぐことができる。
【００４３】
＜第３の実施形態＞
次に第３の実施形態について説明する。
第４の実施形態に係る情報処理装置の構成は、図１に示す第１の実施形態に係る情報処理装置の構成と同様である。本実施形態では、図１２に示すフローを基に説明する。
【００４４】
Ｓ１３０１からＳ１３０２までは、図４に示すフローのＳ４０１とＳ４０２と同じである。
Ｓ１３０３においてＳＶＧデータが装飾効果を含む場合には、従来のテクスチャによる描画手段を選択するようにする。
【００４５】
本実施形態によれば、ＳＶＧデータにグラデーション効果やフィルタ効果などの装飾効果が付与されている場合は、テクスチャマッピングによる描画手段を行うことによって、望ましい描画結果を得られるようになる。
【００４６】
上述した本発明の実施形態を構成する各手段及び各ステップは、コンピュータのＲＡＭやＲＯＭ等に記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【図１】
2012108825.tif 000007
【図２】
2012108825.tif 000008
【図３】
2012108825.tif 000009
【図４】
2012108825.tif 000010
【図５】
2012108825.tif 000011
【図６】
2012108825.tif 000012
【図７】
2012108825.tif 000013
【図８】
2012108825.tif 000014
【図９】
2012108825.tif 000015
【図１０】
2012108825.tif 000016
【図１１】
2012108825.tif 000017
【図１２】
2012108825.tif 000018