(57)【要約】【課題】比較的容易な手法によって２次元ベクトル形式のデータに対応する画像を３次元的に描画可能とする。【解決手段】情報処理装置は、２次元ベクトル形式のデータに含まれる図形データをパスデータに変換し（Ｓ４０１）、パスデータに含まれる前記図形データの座標値を所定の変換方法により新たな座標値に変換する（Ｓ４０３）。そして、情報処理装置は、座標値が変換されたパスデータに基づく描画処理を行う。【選択図】図４
2010282611.tif 000002
【特許請求の範囲】
【請求項１】
ベクトル形式の図形データから、該図形データに基づいて描画されるべき第１の画像の境界上の第１の座標データ群を生成する第１の生成手段と、
前記第１の画像を変形して第２の画像を得るための図形変換ルールを前記第１の座標データ群に適用することにより、第２の座標データ群を生成する第２の生成手段と、
前記第２の座標データ群に基づいて、前記第２の画像をビットマップ形式で描画する描画手段と、
を有することを特徴とする情報処理装置。
【請求項２】
ベクトル形式の図形データから、該図形データに基づいて描画されるべき第１の画像の境界上の第１の座標データ群を生成する第１の生成手段と、
前記第１の画像を変形して第２の画像を得るための図形変換ルールを前記第１の座標データ群に適用することにより、第２の座標データ群を生成する第２の生成手段と、
前記第２の座標データ群に基づいて、前記第２の画像を描画するための前記ベクトル形式の第２の図形データ群を出力する出力手段と、
を有することを特徴とする情報処理装置。
【請求項３】
前記第１の生成手段は、前記ベクトル形式の図形データの属性値に基づいて、前記第１の座標データ群を生成することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記第１の生成手段は、前記第１の座標データ群の座標値で囲まれる領域が単一色になるように前記第１の座標データ群を生成することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記図形変換ルールは、前記ベクトル形式の図形データを三次元座標変換することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記第１の生成手段は、所定の許容誤差ルールに基づいて、前記図形の境界上の第１の座標データ群を生成することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記第１の生成手段は、前記第１の座標データ群をパスデータとして生成することを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記ベクトル形式の図形データは、経路情報と線幅情報で定義される線データであって、前記第１の生成手段は、前記経路情報と線幅情報に基づいて前記第１の座標データを生成することを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記図形データに基づき、前記描画手段により第２の画像をアニメーションにより描画するか否かを判定する判定手段を更に有し、
前記判定手段によりアニメーションによる描画をすると判定された場合、前記第１の生成手段は、前記図形データのストロークについては第１の座標データ群を生成しないことを特徴とする請求項１に記載の情報処理装置。
【請求項１０】
ベクトル形式の図形データから、該図形データに基づいて描画されるべき第１の画像の境界上の第１の座標データ群を生成する第１の生成ステップと、
前記第１の画像を変形して第２の画像を得るための図形変換ルールを前記第１の座標データ群に適用することにより、第２の座標データ群を生成する第２の生成ステップと、
前記第２の座標データ群に基づいて、前記第２の画像をビットマップ形式で描画する描画ステップと、
を有することを特徴とする情報処理方法。
【請求項１１】
コンピュータを請求項１又は２に記載した各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ベクトル形式の図形データの画像を図形変換するための技術に関するものである。
【背景技術】
【０００２】
近年、表示機能を有する情報処理装置においては、表示画面の高精細化や多色化が進んでおり、それに伴い、視覚効果の高いグラフィカルユーザインタフェース（ＧＵＩ）が用いられるようになってきている。
【０００３】
従来、ＧＵＩにおける視覚効果として、仮想的な３次元空間に２次元ウィンドウを配置したように表示する方法が知られている（例えば、特許文献１参照）。また、２次元データを立体的に表示する方法も知られている（例えば、特許文献２参照）。
【０００４】
特許文献１に開示される技術は、２次元ウィンドウを３次元的に変換する手法としてテクスチャマッピングが用いられている。特許文献２に開示される技術は、文字や図形の２次元データを３次元的に変換する手法として２次元凸包の三角形分割が用いられている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−６５８０６号公報
【特許文献２】特開２００２−３５８５４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、テクスチャマッピングや三角形分割を用いた処理は、計算量が多いため処理時間がかかるという課題があった。テクスチャマッピングは、テクスチャを構成する各ピクセルの色情報を用いてマッピング先の色情報を算出する必要があり、図形オブジェクトが大きい程計算量が増加する。特に、元の図形データが２次元ベクトルデータである場合には、一旦テクスチャを作成した後で変換を行う必要があった。また、三角形分割を用いる場合には、元の図形を構成する線分が多くなると分割数が飛躍的に増加し計算量も増える。描画の処理時間が長くなる結果、例えばアニメーション表示においては、アニメーション速度が遅くなったり、コマ落ちが発生したりする場合があった。
【０００７】
そこで、本発明の目的は、ベクトル形式の図形データに基づいて描画されるべき第１の画像に対して図形変換ルールを適用することにより得られる第２の画像を低メモリ、及び低計算負荷により取得することにある。
【０００８】
また、本発明の目的は、例えばアニメーションのように高精細な描画を要しない場合には、高速な描画処理を可能とするとともに、アニメーションの遅延やフレーム落ちを極力避けることができるようにすることにある。
【課題を解決するための手段】
【０００９】
本発明の情報処理装置は、ベクトル形式の図形データから、該図形データに基づいて描画されるべき第１の画像の境界上の第１の座標データ群を生成する第１の生成手段と、前記第１の画像を変形して第２の画像を得るための図形変換ルールを前記第１の座標データ群に適用することにより、第２の座標データ群を生成する第２の生成手段と、前記第２の座標データ群に基づいて、前記第２の画像をビットマップ形式で描画する描画手段と、を有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、ベクトル形式の図形データに基づいて描画されるべき第１の画像に対して図形変換ルールを適用することにより得られる第２の画像を低メモリ、及び低計算負荷により取得することができる。
【００１１】
また、本発明によれば、高精細に描画しない場合には、図形データ変換手段やパスデータ生成手段の処理を実行しないようにして処理の軽減を図っている。従って、本発明によれば、例えばアニメーションのように高精細な描画を要しない場合には、高速な描画処理を可能とするとともに、アニメーションの遅延やフレーム落ちを極力避けることができる。
【図面の簡単な説明】
【００１２】
【図１】実施形態に係る情報処理装置の構成を示すブロック図である。
【図２】表示部に表示されるＧＵＩ画面の一例を示す図である。
【図３】図２に示すＧＵＩ画面を作成するためのＳＶＧデータの一部を示す図である。
【図４】第１の実施形態に係る情報処理装置の処理の手順を示すフローチャートである。
【図５】図４のフローチャートに示す処理を行う前のＳＶＧデータの一部を示す図である。
【図６】図５に示すＳＶＧデータにＳ４０１の処理を施した結果のデータを示す図である。
【図７】図６に示すデータにＳ４０２の処理を施した結果のデータを示す図である。
【図８】図４のフローチャートに示す処理を行う前のＳＶＧデータの一部を示す図である。
【図９】図８に示すデータにＳ４０２の処理を施した結果のデータを示す図である。
【図１０】Ｓ４０３で用いる座標変換形式である透視変換の概念を示す模式図である。
【図１１】図７に示すデータにＳ４０３の処理を施した結果を示す図である。
【図１２】図９に示すデータにＳ４０３の処理を施した結果を示す図である。
【図１３】図２及び図３に示すデータの各描画オブジェクトに対して、Ｓ４０１からＳ４０３の処理を施した場合の描画結果を示す図である。
【図１４】図４のＳ４０４及びＳ４０５で作成されたパスデータを示す図である。
【図１５】図２及び図３に示したデータに対して、図４に示すフローチャートの処理を行った後の描画結果を示す図である。
【図１６】第２の実施形態におけるアニメーション表示の例を示す図である。
【図１７】第２の実施形態に係る情報処理装置の処理の手順を示すフローチャートである。
【図１８】第４の実施形態において変換処理を行う前の矩形を示す図である。
【図１９】図１８に示した矩形およびその矩形の一部を変換した結果をＳＶＧで記述した一例である。
【図２０】図１８に示した矩形に対し、変換処理を行った後の描画結果を示した図である。
【図２１】第４の実施形態に係る情報処理装置の処理の手順を示すフローチャートである。
【図２２】類似色を囲む領域が一つのパスデータとなるように変換した場合の描画結果を示した図である。
【図２３】第５の実施形態に係る情報処理装置の処理の手順を示すフローチャートである。
【図２４】Ｓ２３０２およびＳ２３０３の処理を行った際の描画オブジェクトの変化を示した図である。
【発明を実施するための形態】
【００１３】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【００１４】
＜第１の実施形態＞
先ず、第１の実施形態について説明する。
図１は、第１の実施形態に係る情報処理装置の構成を示すブロック図である。図１において、ＣＰＵ１０１は、システム制御部であり、情報処理装置全体を制御する。ＲＯＭ１０２は、ＣＰＵ１０１の制御プログラムや各種固定データを格納する読取専用のメモリである。ＲＡＭ１０３は、ＳＲＡＭ、ＤＲＡＭ等で構成された書換え可能なメモリであり、プログラム制御変数等を格納するためのものである。各種設定パラメータ、各種ワーク用バッファ等もＲＡＭ１０３に格納されるものである。表示部１０４は、ＬＣＤ等を用いてオペレータに表示通知するためのものである。操作部１０５は、キーボードやポインティングデバイス等で構成され、オペレータが各種入力操作を行うためのものである。１０６は１０１〜１０５の各ユニットを通信可能に接続するシステムバスである。
【００１５】
図２は、表示部１０４に表示されるＧＵＩ画面の一例を示す図である。本実施形態における情報処理装置では、ＧＵＩ画面データとしてＳＶＧ（Scalable Vector Graphics）形式の図形データ（ＳＶＧデータ）を用いる。ＳＶＧはＸＭＬ（Extensible Markup Language）で記述された２次元ベクトル形式のグラフィックスフォーマットである。ＳＶＧデータにおいては、楕円はｅｌｌｉｐｓｅ要素、矩形はｒｅｃｔ要素といったように、描画オブジェクトがＸＭＬ要素で記述される。本情報処理装置では、ＧＵＩ画面を表示する際に、予めＲＯＭ１０２に保持したＳＶＧデータを解析し、そのＳＶＧデータと同じ情報を持つ内部データ形式に変換する。内部データ形式はＤＯＭ（Document Object Model）と呼ばれる形式である。本情報処理装置では、そのＤＯＭデータを画像データに変換した上で、表示部１０４に表示する。図２ではＧＵＩ画面を白黒２値で説明しているが、カラー画面であってもよい。
【００１６】
図３は、図２に示すＧＵＩ画面を作成するためのＳＶＧデータの一部を示す図である。ＳＶＧデータはベクトル形式のグラフィックスフォーマットであり、図３に示したように描画オブジェクトの形状、描画座標、大きさ、塗りつぶし色等を数値や文字列で表現できる。
【００１７】
例えば、図３に示すＳＶＧデータのうち、ｐａｔｈは線を意味し、ｃｉｒｃｌｅは円を意味する。また、ｐａｔｈ要素のｓｔｒｏｋｅ−ｗｉｄｔｈ属性はその線の太さを示し、ｐａｔｈ要素のｄ属性は、線を構成する曲線や線分を表現したものである。ｐａｔｈ要素のｄ属性の属性値に登場する数値は座標値であり、アルファベットは２次ベジェ曲線や３次ベジェ曲線、線分等を意味するコマンドである。ｃｉｒｃｌｅ要素にあるｆｉｌｌ属性はその円の色を示すものである。
【００１８】
図４は、本実施形態に係る情報処理装置の処理の手順を示すフローチャートである。本情報処理装置では、図３に示したＳＶＧデータを読み込み、内部データ形式のＤＯＭデータに変換する。図４のフローチャートに示す処理は、ＳＶＧデータをＤＯＭデータに変換した後の処理であり、そのＤＯＭデータを操作編集することによって行われるものである。本情報処理装置では、図４に示す処理を行うことによって、図２に示したＧＵＩに３次元的な視覚効果を加えて表示することが可能である。
【００１９】
ＳＶＧデータの場合、例えば、円を描画するためのｃｉｒｃｌｅ要素は、中心点の座標値と半径、塗り潰しの色等が指定されている。この中心点の座標値を変換し別の座標値にしたとしても、円は円のままであり、３次元的な変形を行った描画はできない。しかし、図４のフローチャートに示す処理により３次元的な表現で描画を行うことが可能となる。
【００２０】
図４に示す通り、先ずＣＰＵ１０１は、３次元的な表現を行う描画オブジェクトのストロークを、ストロークの塗り潰し領域を囲むパスデータに変換する（Ｓ４０１）。ここで、ストロークとは太さを有する線データ、即ち線の経路情報と線幅情報を有する線データのことであり、図３に示したＳＶＧデータのうちｐａｔｈ要素で示されるデータがこれに相当する。Ｓ４０１では、このようなストロークデータを複数の座標データを含む座標データ群を含むパスデータに変換（生成）するものである。パスデータとは、太さが０の線で囲まれた領域を示すデータのことであり、曲線を含んでいてもよい。また、パスデータは、その領域を塗り潰す色や透明度を指定できる。なお、本実施形態では、図に示したＳＶＧデータから、描画されるべき図２の画像の境界を表すパスデータを生成するとしたが、座標データ群を含む表現であればパスデータに限らず、例えばスキャンラインごとのエッジ座標群でも良い。なお、ステップＳ４０１は、第１の生成手段の処理例である。
【００２１】
次にＣＰＵ１０１は、描画オブジェクト（第１の画像）のパスデータを、線分のみで構成されたパスデータに変換する（Ｓ４０２）。最初のＳＶＧデータや、Ｓ４０１で変換したパスデータは、その中に曲線を含有し得るものであるが、Ｓ４０２の処理により、全ての曲線を線分のみで構成されたデータに変換する。曲線を線分に変換した場合は画質の劣化を伴う場合があるが、曲線を細かく分割した上で各微小曲線を近似した線分に置き換えれば画質の劣化は問題にならない。ＳＶＧデータにおいては、円を示すＣｉｒｃｌｅ要素のように、描画オブジェクトのパスデータが記述されていないものもあるが、その場合にはＳ４０２でパスデータを算出した上で線分からなるパスデータに変換する。また、所定の規則（許容誤差ルール）に基づいてパスデータの分割数を決定しても良い。Ｓ４０１やＳ４０２で生成されるパスデータの中の分割数（座標データ群の数）は小さければ小さいほど、全体の計算負荷は小さいものとなる一方で、近似精度は悪くなる。よって、許容誤差ルールは、表示部１０４の解像度、ＣＰＵ１０１の計算負荷、及びユーザの意思などによって決定されることとなる。
【００２２】
続いてＣＰＵ１０１は、各パスデータを構成する個々の座標値（ｘ，ｙ）を、三次元座標変換を行うための図形変換ルールによりそれぞれ新たな座標値（ｘ１，ｙ１）に変換する（Ｓ４０３）。即ち、図形変形ルールを第１の座標データ群に適用することにより、第２の座標データ群を生成することとなる。Ｓ４０３の処理は、各パスデータが３次元的に見えるよう座標変換を行うものであり、ここでは透視投影を用いた座標変換（透視変換）を行っている。なお、ステップＳ４０３は、第２の生成手段の処理例である。
【００２３】
そしてＣＰＵ１０１は、Ｓ４０１からＳ４０３の処理によって変換された描画オブジェクト（第２の画像）の変換後の描画領域と同じ領域を示すパスデータ（第２の図形データ群）を作成する（Ｓ４０４）。なお、ステップＳ４０４は、出力手段の処理例である。
【００２４】
最後にＣＰＵ１０１は、このパスデータを変換後の描画オブジェクトの上に重ねる（Ｓ４０５）。Ｓ４０５では、Ｓ４０４で作成したパスデータの塗り潰し色を背景色と同じにし、透明度のグラデーションをかける処理も行う。これにより、描画面より奥へ行くほど色が薄くなったり、奥へ行くほど暗くなったりといった効果が付与され、より３次元的な表現になる。
【００２５】
Ｓ４０１からＳ４０５の処理により新たなＤＯＭデータが作成される。Ｓ４０１からＳ４０５の処理は、３次元的な表現を行う描画オブジェクトを一つ一つ順に処理してもよいし、複数のオブジェクトを一括して処理してもよい。
【００２６】
図４に示すフローチャートの処理の後、ＣＰＵ１０１はＤＯＭデータを画像データにビットマップ形式に変換した上で、表示部１０４に表示する。すなわち、ＣＰＵ１０１は、Ｓ４０１〜Ｓ４０５によって生成されたパスデータに基づく画像を描画する処理を行い、表示部１０４に表示する。なお、本処理は、描画手段の処理例である。
【００２７】
図５から図９は、Ｓ４０１とＳ４０２の処理でＳＶＧデータが変化する様子を示す図である。図５から図９では、説明の便宜上、ＳＶＧ形式のテキストデータで示しているが、実際には図４のフローチャートで示す処理はＲＡＭ１０３に保持したＤＯＭデータを変更するものである。
【００２８】
図５は、図４のフローチャートに示す処理を行う前のＳＶＧデータの一部を示す図である。すなわち、図５はｐａｔｈ要素で記述されたＳＶＧデータの部分を示しており、これは太さのある線の描画を行うためのものである。
【００２９】
図６は、図５に示すＳＶＧデータにＳ４０１の処理を施した結果のデータを示す図である。図６に示すデータは、図５に示すデータと比較して見かけ上のデータ量は増えている。これは、太さを有するストロークデータを、その塗り潰し領域を囲むパスデータ（塗り潰し領域の境界上の座標データ群により構成されるデータ）に変換したためである。図５に示すデータでは、ｐａｔｈ要素のｓｔｒｏｋｅ−ｗｉｄｔｈ属性の値が「１０」であるが、これはストローク（線）の太さが１０ピクセルであることを意味する。図６に示すデータでは、ｓｔｒｏｋｅ−ｗｉｄｔｈ属性がなくなっているが、これは線の太さが０であることを意味する。また、図５に示すデータにあるｐａｔｈ要素のｓｔｒｏｋｅ属性の値「＃００００００」は線の色が黒色であることを意味し、図６に示すデータではｆｉｌｌ属性の値、すなわち塗り潰しの色に置き換わっている。なお、上記ストロークデータは、図形データの適用例となる構成である。
【００３０】
図７は、図６に示すデータにＳ４０２の処理を施した結果のデータを示す図である。図７に示すデータは、図６に示すデータと比較して見かけ上のデータ量は増えている。これは、３組又は４組の座標値で表現できるベジェ曲線を、許容誤差ルールに基づいて細かい線分に分割したためである。
【００３１】
図８は、図４のフローチャートに示す処理を行う前のＳＶＧデータの一部を示す図である。すなわち、図８はｃｉｒｃｌｅ要素で記述されたデータの部分を示しており、これは円の描画を行うためのものである。図８に示した通り、ＳＶＧデータにおいて円の記述は、中心点の座標と半径、塗り潰しの色等から構成される。
【００３２】
図９は、図８に示すデータにＳ４０２の処理を施した結果のデータを示す図である。図８のｃｉｒｃｌｅ要素は、ｓｔｒｏｋｅ−ｗｉｄｔｈ属性が記述されていない。これは、円周のストロークの幅が０であることを意味する。従ってＳ４０１の処理を行ってもデータは変わらない。
【００３３】
Ｓ４０２の処理の結果、図８のｃｉｒｃｌｅ要素は、図９ではｐａｔｈ要素に置き換えられている。図８に示すデータでは、円の半径等を記述しているのみで円周を示すパスデータは記述されていないが、Ｓ４０２の処理により円周のパスデータを計算した上で線分からなるパスデータに変換される。図９に示すデータのｄ属性の値は、円周を示すパスデータである。このパスデータは線分の集合により構成されている。
【００３４】
図１０は、Ｓ４０３で用いる座標変換形式である透視変換の概念を示す模式図である。図１０に示す仮想３次元空間内において、１００１は投影中心であり、閲覧者の視点に相当する。１００２は投影面（平面）であり、表示部１０４の画面に相当する。１００３は投影対象であり、本実施形態ではグラフィックスの描画オブジェクトに相当する。１００４は透視投影された描画オブジェクトであり、投影中心１００１と投影対象１００３の各座標とを結ぶ直線群と投影面１００２の交点で構成された描画オブジェクトである。Ｓ４０３の座標変換は、投影対象１００３の描画オブジェクトを構成する座標値を、投影面１００２上の描画オブジェクト１００４を構成する各座標値に変換するものである。なお、本実施形態では透視変換を用いているが、Ｓ４０３の処理では他の手法を用いて座標変換を行ってもよい。
【００３５】
図１１は、図７に示すデータにＳ４０３の処理を施した結果を示す図である。図１１（ａ）は、図７に示すデータに対してＳ４０３の処理を行った結果のデータである。図１１（ｂ）は、図１１（ａ）のデータを画面に描画した状態を示す図である。Ｓ４０３は個々の座標値をそれぞれ変換しているため、図７のデータと図１１のデータにあるｄ属性に記述された座標値の個数は一致している。図７に示したデータのｄ属性の値の冒頭にある「Ｍ３８．５，１２．５」という文字列は（ｘ，ｙ）＝（３８．５，１２，５）の座標をパスデータの起点にするという意味である。この座標値は、Ｓ４０３の処理の結果（ｘ，ｙ）＝（１０６，３２４）に変換されるため、図１１に示すデータのｄ属性の値の冒頭は「Ｍ１０６，３２４」となっている。このような変換を図７に示すデータのｄ属性に記述された各座標値に対して行った結果、図１１（ａ）に示すｐａｔｈ要素に変換される。その描画結果は、図１１（ｂ）に示したように、描画オブジェクトを奥行き方向（Ｚ方向）に倒したような形の３次元的な表示になる。図１１の１１０１に示すデータは、もともとは図２の２０２のデータであり、これにＳ４０１からＳ４０３の処理を加えることにより、図１１（ｂ）の描画結果が得られる。
【００３６】
図１２は、図９に示すデータにＳ４０３の処理を施した結果を示す図である。図１２（ａ）は、図９に示すデータに対してＳ４０３の処理を行った結果のデータである。図１２（ｂ）は、図１２（ａ）のデータを画面に描画した状態を示す図である。図９のデータと図１２のデータにあるｄ属性に記述された座標値の個数は一致している。図８のデータはｃｉｒｃｌｅ要素で記述された円のデータであったが、Ｓ４０２及びＳ４０３の処理が施された結果、図１２（ｂ）に示したような描画結果になる。図１２の１２０１に示すデータは、もともとは図２の２０１のデータであり、これにＳ４０１からＳ４０３の処理を施すことにより、図１２（ｂ）の描画結果が得られる。
【００３７】
図１３は、図２及び図３に示すデータの各描画オブジェクトに対して、Ｓ４０１からＳ４０３の処理を施した場合の描画結果を示す図である。図１３の１３０１に示すように、図２に示す各描画オブジェクトは、Ｓ４０１からＳ４０３の処理により、描画面を奥行き方向に倒したような形の３次元的な描画結果となる。
【００３８】
図１４は、図４のＳ４０４及びＳ４０５で作成されたパスデータを示す図である。図１４に示したｐａｔｈ要素の描画領域は、Ｓ４０１からＳ４０３までの変換を行った結果の描画領域（図１３の１３０１）と一致する。また、このｐａｔｈ要素は、背景色と同じ白色で塗り潰され、透明度のグラデーションがかけられている。塗り潰し色と透明度のグラデーションについては、図１４のｄｅｆｓ要素内に記述されている。透明度のグラデーションとは、描画領域内で徐々に透明度を変更した塗り潰しの方法である。ここでは、画面下の方に行くに従って、透明度が大きくなるようなグラデーションが記述されている。Ｓ４０４では図１４に示すデータのうちのｐａｔｈ要素が作成され、Ｓ４０５では図１４に示すデータのうちのｄｅｆｓ要素が作成され、それらは図１３に対応するＤＯＭデータに追加される。
【００３９】
図１５は、図２及び図３に示したデータに対して、図４に示すフローチャートの処理を行った後の描画結果を示す図である。図１５ではグラデーションを簡易的に表示している。図１５に示した通り、図１４のデータを加えることにより、図１３よりも奥行き感が増し、より３次元的に表現することが可能となる。本実施形態では、背景色と同じ色で塗り潰した例を示したが、例えば黒色で塗り潰して透明度のグラデーションをかけることにより、描画面より奥に行く程暗くなるような表示を行うことも可能である。
【００４０】
以上説明したように、２次元ベクトル形式のグラフィックスデータに対して、本実施形態で説明した処理を行うことにより、比較的容易な手法によって２次元ベクトル形式のグラフィックスデータに対応する画像の３次元的な描画を行うことが可能となる。本実施形態では、図２及び図３に示すデータの全ての描画オブジェクトに対して図４のフローチャートに示す処理を行ったが、一部の描画オブジェクトに対してのみ図４の処理を行うようにしてもよい。そのようにすれば、グラフィックスの一部が奥行き方向に倒れたような表現が可能となる。
【００４１】
＜第２の実施形態＞
次に、第２の実施形態について説明する。
第２の実施形態に係る情報処理装置の構成は、図１に示す第１の実施形態に係る情報処理装置の構成と同様である。本実施形態では、図２及び図３に示すグラフィックスを基にアニメーション表示を行う場合の例を説明する。
【００４２】
図１６は、本実施形態におけるアニメーション表示の例を示す図である。アニメーション開始時の時刻を０秒、アニメーション終了時の時刻を１秒とした場合、図１６の１６０１が０秒時の表示状態であり、１６０２は０．５秒時の状態、１６０３は１秒時の状態である。このような各時刻での表示をフレームと呼ぶ。本情報処理装置が１００ミリ秒単位で描画を行うと仮定すると、１６０１と１６０２の間には図１６に示した以外にも数フレームあることになる。１６０２と１６０３の間も同様である。図１６に示したアニメーションを行う場合には、各フレームで座標値の変換処理を行う必要がある。
【００４３】
図１７は、本実施形態に係る情報処理装置の処理の手順を示すフローチャートである。図１７に示す処理は、アニメーション開始後、すなわち０秒時より後のフレームの描画時に行われるものである。図１７に示した通り、まずＣＰＵ１０１は、現在描画しようとしているフレームがアニメーション中の描画データか否かを判断する（Ｓ１７０１）。描画時刻の値が０秒より大きく、且つ１秒より小さければ、アニメーション中のフレームと判断できる。なお、Ｓ１７０１は、判定手段の処理例である。
【００４４】
Ｓ１７０１においてアニメーション中の描画ではないと判断されれば、Ｓ１７０２からＳ１７０６の処理を行う。Ｓ１７０２からＳ１７０６の処理は、図４のＳ４０１からＳ４０５の処理と同様である。
【００４５】
Ｓ１７０１においてアニメーション中の描画であると判断されれば、ＣＰＵ１０１は、描画オブジェクトのパスデータを線分で構成されたパスデータに変換する（Ｓ１７０７）。そして、ＣＰＵ１０１は、各パスデータを構成する個々の座標値（ｘ，ｙ）を、所定の式によりそれぞれ新たな座標値（ｘ１，ｙ１）に変換する（Ｓ１７０８）。この座標変換の方法については、第１の実施形態で説明した方法と同様である。また、Ｓ１７０７及びＳ１７０８の処理は、それぞれＳ１７０３及び１７０４と同様である。ＣＰＵ１０１は、図１７のフローチャートに示す処理の後で表示部１０４に描画を行う。
【００４６】
図１７に示すように、アニメーション中にはＳ１７０２及びＳ１７０５に対応する処理を実行せず、アニメーション中の描画の処理を軽減することにより高速に描画処理を行うことが可能となる。これにより、アニメーションの遅延やフレーム落ちを極力避けることができる。アニメーション途中の表示品質に関しては、アニメーション中の各フレームは短時間の表示であるため、見た目の違和感は最小限に抑えられる。
【００４７】
本実施形態では、Ｓ１７０７やＳ１７０８の処理をアニメーション時において毎フレーム行うようにしているが、Ｓ１７０７の処理はアニメーション開始前に行うようにしてもよい。こうすることで、アニメーション中はＳ１７０８の処理のみを行えばよくなる。
【００４８】
また、本実施形態では、アニメーション中か否かで描画処理を軽減するかどうか（高精細に描画するか否か）を判断したが、それ以外の情報処理装置の状態やグラフィックスデータの種類によって判断してもよい。例えば、並列処理によりＣＰＵ１０１に大きな負荷がかかっている状態のときには描画処理を軽減するようにしてもよいし、変換する描画オブジェクトが多い場合に描画処理を軽減するようにしてもよい。
【００４９】
上述した実施形態では、表示部１０４を有する情報処理装置を例に説明したが、印刷装置、カメラ、複写機、スキャナ等、表示部を有するあらゆる装置に適用可能である。
【００５０】
＜第３の実施形態＞
次に、第３の実施形態について説明する。
第３の実施形態に係る情報処理装置の構成は、図１に示す第１の実施形態に係る情報処理装置の構成と同様である。第１の実施形態では、ステップＳ４０１からＳ４０５の処理により生成されたＤＯＭデータを画像データにビットマップ変換した上で表示部１０４に表示するとした。しかし、ビットマップ変換する前にステップＳ４０４で生成されたパスデータに基づいてＳＶＧデータを出力することも可能である。本実施形態によれば、図形変換ルールを適用した後のデータをビットマップとして保持せず、データサイズの小さいＳＶＧデータ（ベクトル形式のデータ）で保持することが可能となる。
【００５１】
＜第４の実施形態＞
次に、第４の実施形態について説明する。
第４の実施形態に係る情報処理装置の構成は、図１に示す第１の実施形態に係る情報処理装置の構成と同様である。
【００５２】
図１８（ａ）は変換処理を行う前の矩形を表した図である。同図では便宜上矩形の辺（枠線）を示しているが、実際にはこの図形に辺はなく矩形領域を塗り潰すのみである。図１８（ｂ）は図１８（ａ）に示した矩形の塗り潰し方を示した図である。この矩形は水平方向に色が変化するグラデーション状に塗り潰しを行うよう定義されている。図１８（ｂ）に示したとおり、矩形領域ａｂｉｈは色Ａで塗られ、以下同様に各矩形領域はＢ、Ｃ、Ｄ、Ｅ、Ｆの色で塗られる。図１８（ｂ）においては、説明の都合上、６色しか用いていないが、実際のグラデーション描画では一般により多くの色が用いられる。図１９（ａ）は、図１８に示した矩形をＳＶＧで記述した一例である。同図に示したとおり、ＳＶＧにおいては、矩形領域に対し、グラデーションによる塗り潰しを指定することが可能である。
【００５３】
図１９（ｂ）は、図１８に示した矩形に対し、形状を定義する各頂点座標に対し座標変換を施した例である。同図に示したとおり、形状を定義する部分は座標変換がなされているものの、グラデーションの定義には変化がないため、描画結果は後述する図２０（ｂ）のようになる。
【００５４】
図２０（ａ）は、図１８に示した矩形に対し、変換処理を行った後の描画結果を示した図である。ＳＶＧの場合、図１９（ｂ）に示したように矩形を構成する各座標値を変換しただけでは、図２０（ｂ）のように描画される。すなわち、図形の形状は台形状に変換されるが、塗り潰し方は水平方向に色が変化するグラデーションのままとなり、３次元的な描画効果としては不十分である。本実施形態においては、図２０（ｃ）のように各色の塗り潰し領域の形状も変化可能な方法を示す。
【００５５】
図２１は、本実施形態に係る描画オブジェクトを描画する際の処理の流れを示したフローチャートである。同図に示した通り、先ずＣＰＵ１０１は、対象となる描画オブジェクトを同じ色の領域を囲む１個以上のパスデータに変換する（Ｓ２１０１）。ここでは、図１８（ａ）に示した矩形を、ａｂｉｈ、ｂｃｊｉ、ｃｄｋｊ、ｄｅｌｋ、ｅｆｍｌ、ｆｇｎｍの６個のパスデータに変換する。このときパスデータ内の塗り潰し色は、それぞれＡ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆの色となる。
【００５６】
次に、ＣＰＵ１０１は、各パスデータを構成する個々の座標値を、３次元変換を加えた新たな座標値に変換する（Ｓ２１０２）。以下、Ｓ２１０３およびＳ２１０４の処理は、図４のＳ４０４、Ｓ４０５と同様である。
【００５７】
このように処理することにより、図２０（ｃ）の描画結果を得ることができ、より３次元的な表現が可能になる。
【００５８】
Ｓ２１０１においては、同一色を囲む領域に対し１つのパスデータとなるように変換したが、所定範囲の類似色を囲む領域が一つのパスデータとなるようにしてもよい。例えば、領域ａｂｉｈと領域ｂｃｊｉは本来異なる色であるが、これらを一つのパスデータａｃｊｈとし、ＡとＢの中間色で塗り潰すようにしても良い。そのようにすることにより、描画結果の画質は若干変化するが、Ｓ２１０２で座標変換を行う座標の個数を減らすことができ、より高速な処理が可能となる。
【００５９】
図２２は、類似色を囲む領域が一つのパスデータとなるように変換した場合の描画結果を示した図である。同図において、ＧはＡとＢの中間色、ＨはＣとＤの中間色、ＩはＥとＦの中間色である。
【００６０】
＜第５の実施形態＞
次に、第５の実施形態について説明する。
第５の実施形態に係る情報処理装置の構成は、図１に示す第１の実施形態に係る情報処理装置の構成と同様である。
【００６１】
図２３は、本実施形態における処理の流れを示したフローチャートである。同図に示したとおり、ＣＰＵ１０１は、先ず対象となる描画オブジェクトと重なる描画オブジェクトが存在するか否かを判断する（Ｓ２３０１）。ここで、重なる描画オブジェクトが存在すると判断されれば、ＣＰＵ１０１は、重なる描画オブジェクトを対象となる描画オブジェクトと一体の描画オブジェクトとみなすフラグを立てる（Ｓ２３０２）。すなわち、ＳＶＧの記述上は異なる描画オブジェクトである場合でも、重なり合っていれば一つの描画オブジェクトとみなして以降の処理を行う。Ｓ２３０１において、重なる描画オブジェクトが存在しないと判断された場合には、Ｓ２３０３の処理へ移行する。
【００６２】
以下、Ｓ２３０３〜Ｓ２３０６の処理は、図２１のＳ２１０１〜Ｓ２１０４の処理と同様である。
【００６３】
図２４は、Ｓ２３０２およびＳ２３０３の処理を行った際の描画オブジェクトの変化を示した図である。Ｓ２３０２の処理を行う前は、図２４（ａ）に示したように２個の矩形であり、一部が重なり合っている。これらの矩形が同一色である場合、Ｓ２３０２およびＳ２３０３の処理を行うことにより、図２４（ｂ）に示したように一つのパスデータに変換される。
【００６４】
このように処理を行うことにより、描画オブジェクトの個数を減らすことができる。また、多くの場合、このような処理を行うことによりパスデータを構成する頂点の合計個数を減らすことができる。頂点数を減らすことによりメモリ使用量を削減できる他、Ｓ２３０４で座標変換を行う個数も削減できることから、より高速な処理が可能となる。
【００６５】
上述した本発明の実施形態を構成する各手段の機能及び各ステップは、コンピュータのＲＡＭやＲＯＭ等に記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【図１】
2010282611.tif 000003
【図２】
2010282611.tif 000004
【図３】
2010282611.tif 000005
【図４】
2010282611.tif 000006
【図５】
2010282611.tif 000007
【図６】
2010282611.tif 000008
【図７】
2010282611.tif 000009
【図８】
2010282611.tif 000010
【図９】
2010282611.tif 000011
【図１０】
2010282611.tif 000012
【図１１】
2010282611.tif 000013
【図１２】
2010282611.tif 000014
【図１３】
2010282611.tif 000015
【図１４】
2010282611.tif 000016
【図１５】
2010282611.tif 000017
【図１６】
2010282611.tif 000018
【図１７】
2010282611.tif 000019
【図１８】
2010282611.tif 000020
【図１９】
2010282611.tif 000021
【図２０】
2010282611.tif 000022
【図２１】
2010282611.tif 000023
【図２２】
2010282611.tif 000024
【図２３】
2010282611.tif 000025
【図２４】
2010282611.tif 000026