情報処理装置、情報処理方法およびプログラム
【課題】ベクトル形式の図形データに基づいて描画されるべき画像に対して座標変換ルールを適用することにより座標変換後の画像データを取得する際の計算負荷を低減する。
【解決手段】第1の画像を変換して第2の画像を得るための座標変換ルールを第1の座標データ群に対して適用することにより得られる第2の座標データ群に基づいて、第2の画像をビットマップ形式により描画する場合の第1の計算負荷と、第1の座標データ群に基づいて第1の画像をビットマップ形式により描画し、座標変換ルールを描画された第1の画像の各ビットマップに対して適用することにより第2の画像をビットマップ形式により描画する場合の第2の計算負荷とを算出する。そして、算出結果に応じた描画処理を行う。
【解決手段】第1の画像を変換して第2の画像を得るための座標変換ルールを第1の座標データ群に対して適用することにより得られる第2の座標データ群に基づいて、第2の画像をビットマップ形式により描画する場合の第1の計算負荷と、第1の座標データ群に基づいて第1の画像をビットマップ形式により描画し、座標変換ルールを描画された第1の画像の各ビットマップに対して適用することにより第2の画像をビットマップ形式により描画する場合の第2の計算負荷とを算出する。そして、算出結果に応じた描画処理を行う。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ベクトル形式の図形データで示される画像を座標変換するための技術に関するものである。
【背景技術】
【0002】
近年、表示機能を有する情報処理装置において、表示画面の高精細化や多色化が進んでおり、それに伴い、視覚効果の高いグラフィカルユーザインタフェース(GUI)が用いられるようになってきている。GUIにおける視覚効果として、仮想的な3次元空間内に2次元ウィンドウを配置したように表示する方法が知られている。特許文献1には、仮想的な3次元空間内の2次元ウィンドウを3次元的に座標変換する際、2次元ウィンドウを示すビットマップのそれぞれを3次元的に座標変換することが記載されている。この手法はテクスチャマッピングと呼ばれている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平11−65806号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
テクスチャマッピングは、テクスチャを構成する各ピクセルの色情報を用いてマッピング先の色情報を算出する必要があり、図形オブジェクトが大きい程計算量が増大する。特に、元の図形データが2次元ベクトルデータである場合には、一旦テクスチャビットマップを作成した後で各ピクセルに対して座標変換を行う必要があった。従って、テクスチャマッピングを用いた処理は、計算負荷が大きいという問題があった。
そこで、本発明の目的は、ベクトル形式の図形データに基づいて描画されるべき画像に対して座標変換ルールを適用して座標変換後の画像データを取得する際の計算負荷を低減させることである。
【課題を解決するための手段】
【0005】
本発明の情報処理装置は、ベクトル形式の図形データから、該図形データに基づいて描画されるべき第1の画像の境界線上の第1の座標データ群を生成する第1生成手段と、(A)前記第1の画像を変換して第2の画像を得るための座標変換ルールを前記第1の座標データ群に対して適用することにより得られる第2の座標データ群に基づいて、前記第2の画像をビットマップ形式により描画する場合の第1の計算負荷と、(B)前記第1の座標データ群に基づいて前記第1の画像をビットマップ形式により描画し、前記座標変換ルールを該描画された前記第1の画像の各ビットマップに対して適用することにより前記第2の画像をビットマップ形式により描画する場合の第2の計算負荷とを算出する算出手段と、前記第1の計算負荷が前記第2の計算負荷よりも小さい場合、前記第1の画像を変換して第2の画像を得るための座標変換ルールを第1の座標データ群に対して適用することにより得られる前記第2の座標データ群に基づいて前記第2の画像をビットマップ形式により描画する第1描画手段と、前記第2の計算負荷が前記第1の計算負荷よりも小さい場合、前記第1の座標データ群に基づいて前記第1の画像をビットマップ形式により描画し、前記座標変換ルールを該描画された前記第1の画像の各ビットマップに対して適用することにより前記第2の画像をビットマップ形式により描画する第2描画手段とを有することを特徴とする。
【発明の効果】
【0006】
本発明によれば、ベクトル形式の図形データに基づいて描画されるべき画像に対して座標変換ルールを適用して座標変換後の画像データを取得する際の計算負荷を低減させることができる。
【図面の簡単な説明】
【0007】
【図1】第1の実施形態に係る情報処理装置の構成を示すブロック図
【図2】表示部に表示されるGUI画面の一例を示す図
【図3】図2に示すGUI画面を作成するためのSVGデータの一部を示す図
【図4】第1および第2の実施形態に係る情報処理装置の処理の手順を示すフローチャート
【図5】図4のフローチャートに示す処理を行う前のSVGデータの一部を示す図
【図6】図5に示すSVGデータにS401の処理を施した結果のデータを示す図
【図7】図6に示すデータにS402の処理を施した結果のデータを示す図
【図8】図7に示すデータにS405の処理を施した結果のデータを示す図
【図9】図2に示すSVGデータを座標系に示した図
【図10】図9に示すSVGデータに第1の座標変換を施した後の描画結果を示す図
【図11】第3の実施形態に係る情報処理装置の処理の手順を示すフローチャート
【図12】第4の実施形態に係る情報処理装置の処理の手順を示すフローチャート
【発明を実施するための形態】
【0008】
<第1の実施形態>
○全体構成
先ず、第1の実施形態について説明する。
図1は、第1の実施形態に係る情報処理装置の構成を示すブロック図である。図1において、CPU101は、システム制御部であり、情報処理装置全体を制御する。ROM102は、CPU101の制御プログラムや各種固定データを格納する読取専用のメモリである。RAM103は、SRAM、DRAM等で構成された書換え可能なメモリであり、プログラム制御変数等を格納するためのものである。各種設定パラメータ、各種ワーク用バッファ等もRAM103に格納されるものである。表示部104は、LCD等を用いてオペレータに表示通知するためのものである。操作部105は、キーボードやポインティングデバイス等で構成され、オペレータが各種入力操作を行うためのものである。106は101〜105の各ユニットを通信可能に接続するシステムバスである。
【0009】
図2は、表示部104に表示されるGUI画像の一例を示す図である。本実施形態における情報処理装置では、GUI画面データとしてSVG(Scalable Vector Graphics)形式の図形データ(SVGデータ)を用いる。SVGはXML(Extensible Markup Language)で記述された2次元ベクトル形式のグラフィックスフォーマットである。SVGデータにおいては、楕円はellipse要素、矩形はrect要素といったように、描画オブジェクトがXML要素で記述される。本情報処理装置は、GUI画面を表示する際に、予めROM102に保持したSVGデータを解析し、同じ情報を持つ内部データ形式に変換する。内部データ形式はDOM(Document Object Model)と呼ばれる形式である。本情報処理装置は、そのDOMデータを画像データに変換した上で、表示部104に表示する。図2では、GUI画像を白黒2値で説明しているが、カラー画面であってもよい。
【0010】
図3は、図2に示すGUI画面を作成するためのSVGデータの一部を示す図である。SVGデータはベクトル形式のグラフィックスフォーマットであり、図3に示したように描画オブジェクトの形状、描画座標、大きさ、塗り潰し色等を数値や文字列で表現できる。
【0011】
例えば、図3に示すSVGデータのうち、pathは線を意味し、circleは円を意味する。またpath要素のstroke−width属性はその線の太さを示し、path要素のd属性は、線を構成する曲線や線分を表現したものである。path要素のd属性の属性値に登場する数値は座標値であり、アルファベットは2次ベジェ曲線や3次ベジェ曲線、線分等を意味するコマンドである。circle要素にあるfill属性はその円の色を示すものである。
【0012】
○全体のフロー
図4は、2次元のベクトル形式の図形データで示される画像を3次元的に座標変換するための技術情報処理装置の処理の手順を示すフローチャートである。以下、一例を示す。本情報処理装置は、図3に示したSVGデータを読み込み、内部データ形式のDOMに変換する。図4のフローチャートに示す処理は、SVGデータをDOMデータに変換した後の処理を示している。図4中の各処理はDOMデータを操作(編集)することにより実現される。本情報処理装置は、図2に示したGUI画像(2次元データ)に対して3次元的な座標変換ルールにより示される3次元的な視覚効果を加えて表示することが可能となる。なお、座標変換ルールは、操作部105によりユーザーからの指示に基づいて入力される。
【0013】
先ずCPU101は、3次元的な表現を行う描画オブジェクトのストロークを、ストロークの塗り潰し領域を囲むパスデータに変換する(S401)。ここで、ストロークとは太さを有する線データのことであり、図3に示したSVGデータのうちpath要素で示されるデータがこれに相当する。S401では、このようなストロークデータを複数の座標データを含む座標データ群を含むパスデータに変換(生成)するものである。パスデータとは、太さが0の線で囲まれた領域を示すデータのことであり、曲線を含んでいてもよい。また、パスデータは、その領域を塗り潰す色や透明度を指定できる。なお、本実施形態では、図3に示したSVGデータから、描画されるべき図2の画像の境界を表すパスデータを生成するとしたが、座標データ群を含む表現であればパスデータに限らず、例えばスキャンラインごとのエッジ座標群でも良い。
【0014】
次にCPU101は、描画オブジェクトのパスデータを、線分のみで構成されたパスデータに変換する(S402)。このパスデータは描画オブジェクトの境界線上の座標データにより構成されるデータである。最初のSVGデータや、S401で変換したパスデータは、その中に曲線を含有し得るものであるが、S402の処理により、全ての曲線を線分のみで構成されるデータにより近似する。曲線を線分に変換した場合は画質の劣化を伴う場合があるが、曲線を細かく分割した上で各微小曲線を近似した線分に置き換えれば画質の劣化は問題にならない。
【0015】
SVGデータにおいては、円を示すCircle要素のように、描画オブジェクトのパスデータが記述されていないものもあるが、その場合にはS402において線分からなるデータに変換する。また、所定の規則(許容誤差ルール)に基づいてパスデータの分割数を決定しても良い。S401やS402で生成されるパスデータの中の分割数(座標データ群の数)は小さければ小さいほど、全体の計算負荷は小さいものとなる一方で、近似精度は悪くなる。よって、許容誤差ルールは、表示部104の解像度、CPU101の計算負荷、及びユーザの意思などによって決定されることとなる。
【0016】
続いてCPU101は、第1の描画手段による処理コストC1と第2の描画手段による処理コストC2を算出する(S403)。第1の描画手段による処理コストC1及び第2の描画手段による処理コストC2の算出方法については、後述する。
【0017】
続いてCPU101は、より処理負荷の小さな処理を選択するために、第1の描画手段による処理コストC1と第2の描画手段による処理コストC2を比較する(S404)。第1の描画手段による処理コストC1が第2の描画手段による処理コストC2よりも小さい場合はS405へ進み、第1の描画手段による処理コストC1が第2の描画手段による処理コストC2よりも小さくない場合はS407へ進む。
【0018】
S405において、S402で生成されたパスデータを構成する個々の座標値(X0、Y0)を座標変換ルールに従って座標変換を行い、新たな座標値により構成されるパスデータを取得する。そして、S406にて、S406において生成された新たなパスデータに基づいてRAM103中の描画用バッファにビットマップ形式で画像データを生成する(描画する)。以上のS405,及びS406の処理は第1の描画手段により実行される。
【0019】
一方で、第1の描画手段による処理コストC1が第2の描画手段による処理コストC2よりも大きい場合は、S407に進み、以下の処理を実行する。即ち、S402で生成されたパスデータからビットマップ形式で画像データを生成しRAM103にあるオフスクリーンバッファに書き込む。そして、S408において、オフスクリーンバッファにあるビットマップのそれぞれを座標変換ルールに従ってRAM103中の描画用バッファにビットマップを生成する(描画する)。以上のS407,及びS408の処理は第2の描画手段により実行される。
【0020】
S406又はS408に続き、S409において、表示部104は描画用バッファに描画されているビットマップをに表示する。
【0021】
なお、S404にて第1の描画手段による処理コストC1が第2の描画手段による処理コストC2よりも小さいか否かの判断基準に基づいて判断したが、判断基準はこれに限らない。例えば、判断基準として、第1の描画手段による処理コストC1が第2の描画手段による処理コストC2以下か否かとしても良い。
【0022】
○処理コストの算出方法
まず、第1の描画手段による処理コストC1の算出方法を説明する。第1の描画手段による処理コストC1は、S405とS406での処理に必要なコストである。S405においてパスデータを構成する個々の座標値(x0,y0)を座標変換ルールに従って新たな座標値(x1,y1)に変換する。ここで、S401、S402の処理を施した後の座標データ群における座標データ数をPとし、一座標データ当たりの座標変換コストをMとすると、S405の処理コストはP×Mとなる。ここで、座標変換ルールを示す第1の座標変換の行列を
【0023】
【数1】
【0024】
とすると、座標変換後の座標(x1、y1)は
【0025】
【数2】
【0026】
で求められる。即ち、一つの座標を座標変換するための座標変換コストMは乗算4回と和算4回となる。続いてS406において、S405にて変換された座標値(x1、y1)により構成されるパスデータから描画用バッファにビットマップ形式の画像データを描画する。ここで、パスデータからビットマップ描画する際の処理コストは、パスデータの複雑度に応じて変化する。また、この処理コストは描画領域の大きさに応じても変化する。これは描画領域が大きくなると、色を指定すべき描画領域におけるピクセル数が増大していくためである。以下、パスデータからビットマップをオフスクリーンに描画する際の一ピクセル当たりの処理コストをVとする。パスデータをビットマップに変換するための一つの方法は、パスデータと各スキャンラインとの交点情報を保持し、スキャンライン毎に交点間を塗り潰すことで実現できる。この方法の場合、Vは、スキャンラインを辿りながら交点情報からピクセルの色値を取得する際の一ピクセル当たりの処理コストとなる。
【0027】
S405による座標変換後のSVGデータを包含する矩形領域のピクセル数をS2とすると、S406の処理コストは、V×S2となる。よって、第1の描画手段における処理コストC1は、P×M及びV×S2の関数となり、
C1=f(P×M,V×S2) (2)
で表わされる。f()は、例えば、二つの入力値(P×MとV×S2)の重み付き加算計算を示す関数などである。ここで、座標変換後のSVGデータを包含する矩形領域のピクセル数S2の計算方法を、図9と図10を例に説明する。図9は、図2に示すSVGデータをxy座標系に示した図である。図10は、図9の図形に対して座標変換を行った結果を示したものである。S2は矩形の面積として計算すればよい。ここでは、矩形を2つの三角形に分割し、各三角形の面積を計算することで矩形の面積を算出する。矩形A’B’C’D’を三角形A’B’C’と三角形A’D’C’に分割する。線分A’B’の長さをa、線分B’C’の長さをb、線分C’A’の長さをcとすると、三角形A’B’C’の面積Sは、ヘロンの公式を利用して
【0028】
【数3】
【0029】
で求められる。三角形A’D’C’の面積も同様に求めることができ、それらを合計したものがS2となる。
【0030】
また、以下に第2の描画手段による処理コストC2の算出方法を説明する。第2の描画手段による処理コストC2は、S407とS408での処理に必要なコストである。
【0031】
S407において、S402において生成された線分で構成されたパスデータをオフスクリーンにビットマップ描画する。オフスクリーンに必要なピクセル数は、SVGデータを包含する矩形領域と一致し、S1とする。パスデータからビットマップをオフスクリーンに描画する際の一ピクセル当たりの処理コストはVであるので、S407の処理コストはV×S1となる。続いて、S408では、オフスクリーン上の各ビットマップに対して座標変換を施して描画用メモリにビットマップ形式の画像データを描画する。なお、オフスクリーンは、RAM103上に確保された仮想的なスクリーン用のメモリ領域であり、オフスクリーンへの描画結果は表示部104には反映されない。S408の描画処理においては、座標変換後の領域の各ピクセルについて、座標変換ルールを逆適用(逆行列をかける)することで、オフスクリーン上のピクセルを算出し、そのピクセルの色情報を取得して描画する。このとき、算出したオフスクリーン上のピクセルから色を決定する方法は、一般に画像補間法として知られ、nearest neighbor法やbi−linear法などがある。本実施形態では画像補間方法の内容を問わない。また、座標変換後の領域内の座標値(xa,ya)から参照されるオフスクリーンの座標値(xb,yb)は
【0032】
【数4】
【0033】
で求められる。逆行列を予め計算しておけば、1回逆行列をかける処理コストは上記の1回あたりの座標変換コストMと一致する。座標変換後のピクセル数は、第1の描画手段における座標変換後のSVGデータを包含する矩形領域のピクセル数S2と一致する。さらに、本処理では、算出したピクセル毎にピクセルの色情報を取得する必要があるため、算出されたピクセルの色情報を取得するコスト(補間計算に必要なコストを含む)をGとするとS408の処理コストはS2×(M+G)となる。よって、第2の描画手段における処理コストC2は、V2×S1とS2×(M+G)との関数となり、
C2=g(V2×S1、S2×(M+G)) ・・・(5)
で表わされる。g()は、例えば、二つの入力値(V2×S1とS2×(M+G))の重み付き加算計算を示す関数などである。
一般に、SVGデータのパスデータが複雑になるとC1が増大する。これは、座標変換前のパスデータ中の座標データ数Pが増大するためである。また、座標変換後の図形のピクセル数S2が座標変換前の図形のピクセル数S1より大きい場合はC2が増大する。これは、座標変換後における図形の色情報を取得するための補間演算が必要なピクセル数S2が増えるためである。
【0034】
○座標変換の処理例
図5から図8は、S401、S402、S405の処理でSVGデータが変化する様子を示す図である。図5から図8では、便宜上、SVG形式のテキストデータで示しているが、実際には図4のフローチャートで示す処理はRAM103に保持したDOMデータを変更するものである。
【0035】
図5は、図4のフローチャートに示す処理を行う前のSVGデータの一部を示す図である。即ち、図5はpath要素で記述されたSVGデータの部分を示しており、これは太さのある線の描画を行うためのものである。
【0036】
図6は、図5に示すSVGデータにS401の処理を施した結果のデータを示す図である。図6に示すデータは、図5に示すデータと比較して見かけ上のデータ量は増えている。これは、太さを有するストロークデータを、その塗り潰し領域を囲むパスデータ(塗り潰し領域の境界線上の座標データにより構成されるデータ)に変換したためである。図5に示すデータは、path要素のstroke−width属性の値が「10」であるが、これは、ストローク(線)の太さが10ピクセルであることを意味する。図6に示すデータでは、stroke−width属性がなくなっているが、これは線の太さが0であることを意味する。また、図5に示すデータであるpath要素のstroke属性の値「#000000」は線の色が黒色であることを意味し、図6に示すデータではfill属性の値、即ち塗り潰しの色に置き換わっている。なお、上記ストロークデータは、図形データの適用例となる構成である。
【0037】
図7は、図6に示すデータにS402の処理を施した結果のデータを示す図である。図7に示すデータは、図6に示すデータと比較して見かけ上のデータ量は増えている。これは、3組又は4組の座標値で表現できるベジェ曲線を、許容誤差ルールに基づいて細かい線分に分割したためである。
【0038】
図8は、図7に示すデータにS405の処理を施した結果を示す図である。S405は個々の座標値をそれぞれ変換しているため、図7のデータと図8のデータにあるd属性に記述された座標値の個数は一致している。図7に示したデータのd属性の冒頭にある「M38.5,12.5」という文字列は(x,y)=(38.5,12.5)の座標をパスデータの起点にするという意味である。この座標値は、S405の処理の結果(x,y)=(106,324)に変換されているため、図8に示すデータのd属性の冒頭は「M106,324」となっている。このような変換を図7に示すデータのd属性に記述された各座標値に対して行った結果、図8に示すpath要素に変換される。
【0039】
○本発明の効果
以上のとおり、本実施形態によれば、第1の描画手段による処理コストC1と第2の描画手段による処理コストC2とを比較し、より処理コストの小さい描画手段を選択して描画することができる。これにより、ベクトル形式の図形データに基づいて描画されるべき画像に対して座標変換ルールを適用して座標変換後の画像データを取得する際の計算負荷を低減させることができる。
【0040】
<第2の実施形態>
次に第2の実施形態について説明する。
第2の実施形態に係る情報処理装置の構成は、図1に示す第1の実施形態に係る情報処理装置の構成と同様である。本実施形態では、図11に示すフローを基に説明する。
【0041】
S1201からS1202までは、図4に示すフローのS401とS402と同じである。S1203において、線分で構成されたパスデータの頂点数がある値を超えた場合には、テクスチャマッピングによる描画手段を選択するようにする。
【0042】
本実施形態によれば、パスデータが非常に複雑になった場合には、パスデータの各頂点を座標変換する処理コストが増大するのを防ぐことができる。
【0043】
<第3の実施形態>
次に第3の実施形態について説明する。
第4の実施形態に係る情報処理装置の構成は、図1に示す第1の実施形態に係る情報処理装置の構成と同様である。本実施形態では、図12に示すフローを基に説明する。
【0044】
S1301からS1302までは、図4に示すフローのS401とS402と同じである。
S1303においてSVGデータが装飾効果を含む場合には、従来のテクスチャによる描画手段を選択するようにする。
【0045】
本実施形態によれば、SVGデータにグラデーション効果やフィルタ効果などの装飾効果が付与されている場合は、テクスチャマッピングによる描画手段を行うことによって、望ましい描画結果を得られるようになる。
【0046】
上述した本発明の実施形態を構成する各手段及び各ステップは、コンピュータのRAMやROM等に記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【技術分野】
【0001】
本発明は、ベクトル形式の図形データで示される画像を座標変換するための技術に関するものである。
【背景技術】
【0002】
近年、表示機能を有する情報処理装置において、表示画面の高精細化や多色化が進んでおり、それに伴い、視覚効果の高いグラフィカルユーザインタフェース(GUI)が用いられるようになってきている。GUIにおける視覚効果として、仮想的な3次元空間内に2次元ウィンドウを配置したように表示する方法が知られている。特許文献1には、仮想的な3次元空間内の2次元ウィンドウを3次元的に座標変換する際、2次元ウィンドウを示すビットマップのそれぞれを3次元的に座標変換することが記載されている。この手法はテクスチャマッピングと呼ばれている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平11−65806号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
テクスチャマッピングは、テクスチャを構成する各ピクセルの色情報を用いてマッピング先の色情報を算出する必要があり、図形オブジェクトが大きい程計算量が増大する。特に、元の図形データが2次元ベクトルデータである場合には、一旦テクスチャビットマップを作成した後で各ピクセルに対して座標変換を行う必要があった。従って、テクスチャマッピングを用いた処理は、計算負荷が大きいという問題があった。
そこで、本発明の目的は、ベクトル形式の図形データに基づいて描画されるべき画像に対して座標変換ルールを適用して座標変換後の画像データを取得する際の計算負荷を低減させることである。
【課題を解決するための手段】
【0005】
本発明の情報処理装置は、ベクトル形式の図形データから、該図形データに基づいて描画されるべき第1の画像の境界線上の第1の座標データ群を生成する第1生成手段と、(A)前記第1の画像を変換して第2の画像を得るための座標変換ルールを前記第1の座標データ群に対して適用することにより得られる第2の座標データ群に基づいて、前記第2の画像をビットマップ形式により描画する場合の第1の計算負荷と、(B)前記第1の座標データ群に基づいて前記第1の画像をビットマップ形式により描画し、前記座標変換ルールを該描画された前記第1の画像の各ビットマップに対して適用することにより前記第2の画像をビットマップ形式により描画する場合の第2の計算負荷とを算出する算出手段と、前記第1の計算負荷が前記第2の計算負荷よりも小さい場合、前記第1の画像を変換して第2の画像を得るための座標変換ルールを第1の座標データ群に対して適用することにより得られる前記第2の座標データ群に基づいて前記第2の画像をビットマップ形式により描画する第1描画手段と、前記第2の計算負荷が前記第1の計算負荷よりも小さい場合、前記第1の座標データ群に基づいて前記第1の画像をビットマップ形式により描画し、前記座標変換ルールを該描画された前記第1の画像の各ビットマップに対して適用することにより前記第2の画像をビットマップ形式により描画する第2描画手段とを有することを特徴とする。
【発明の効果】
【0006】
本発明によれば、ベクトル形式の図形データに基づいて描画されるべき画像に対して座標変換ルールを適用して座標変換後の画像データを取得する際の計算負荷を低減させることができる。
【図面の簡単な説明】
【0007】
【図1】第1の実施形態に係る情報処理装置の構成を示すブロック図
【図2】表示部に表示されるGUI画面の一例を示す図
【図3】図2に示すGUI画面を作成するためのSVGデータの一部を示す図
【図4】第1および第2の実施形態に係る情報処理装置の処理の手順を示すフローチャート
【図5】図4のフローチャートに示す処理を行う前のSVGデータの一部を示す図
【図6】図5に示すSVGデータにS401の処理を施した結果のデータを示す図
【図7】図6に示すデータにS402の処理を施した結果のデータを示す図
【図8】図7に示すデータにS405の処理を施した結果のデータを示す図
【図9】図2に示すSVGデータを座標系に示した図
【図10】図9に示すSVGデータに第1の座標変換を施した後の描画結果を示す図
【図11】第3の実施形態に係る情報処理装置の処理の手順を示すフローチャート
【図12】第4の実施形態に係る情報処理装置の処理の手順を示すフローチャート
【発明を実施するための形態】
【0008】
<第1の実施形態>
○全体構成
先ず、第1の実施形態について説明する。
図1は、第1の実施形態に係る情報処理装置の構成を示すブロック図である。図1において、CPU101は、システム制御部であり、情報処理装置全体を制御する。ROM102は、CPU101の制御プログラムや各種固定データを格納する読取専用のメモリである。RAM103は、SRAM、DRAM等で構成された書換え可能なメモリであり、プログラム制御変数等を格納するためのものである。各種設定パラメータ、各種ワーク用バッファ等もRAM103に格納されるものである。表示部104は、LCD等を用いてオペレータに表示通知するためのものである。操作部105は、キーボードやポインティングデバイス等で構成され、オペレータが各種入力操作を行うためのものである。106は101〜105の各ユニットを通信可能に接続するシステムバスである。
【0009】
図2は、表示部104に表示されるGUI画像の一例を示す図である。本実施形態における情報処理装置では、GUI画面データとしてSVG(Scalable Vector Graphics)形式の図形データ(SVGデータ)を用いる。SVGはXML(Extensible Markup Language)で記述された2次元ベクトル形式のグラフィックスフォーマットである。SVGデータにおいては、楕円はellipse要素、矩形はrect要素といったように、描画オブジェクトがXML要素で記述される。本情報処理装置は、GUI画面を表示する際に、予めROM102に保持したSVGデータを解析し、同じ情報を持つ内部データ形式に変換する。内部データ形式はDOM(Document Object Model)と呼ばれる形式である。本情報処理装置は、そのDOMデータを画像データに変換した上で、表示部104に表示する。図2では、GUI画像を白黒2値で説明しているが、カラー画面であってもよい。
【0010】
図3は、図2に示すGUI画面を作成するためのSVGデータの一部を示す図である。SVGデータはベクトル形式のグラフィックスフォーマットであり、図3に示したように描画オブジェクトの形状、描画座標、大きさ、塗り潰し色等を数値や文字列で表現できる。
【0011】
例えば、図3に示すSVGデータのうち、pathは線を意味し、circleは円を意味する。またpath要素のstroke−width属性はその線の太さを示し、path要素のd属性は、線を構成する曲線や線分を表現したものである。path要素のd属性の属性値に登場する数値は座標値であり、アルファベットは2次ベジェ曲線や3次ベジェ曲線、線分等を意味するコマンドである。circle要素にあるfill属性はその円の色を示すものである。
【0012】
○全体のフロー
図4は、2次元のベクトル形式の図形データで示される画像を3次元的に座標変換するための技術情報処理装置の処理の手順を示すフローチャートである。以下、一例を示す。本情報処理装置は、図3に示したSVGデータを読み込み、内部データ形式のDOMに変換する。図4のフローチャートに示す処理は、SVGデータをDOMデータに変換した後の処理を示している。図4中の各処理はDOMデータを操作(編集)することにより実現される。本情報処理装置は、図2に示したGUI画像(2次元データ)に対して3次元的な座標変換ルールにより示される3次元的な視覚効果を加えて表示することが可能となる。なお、座標変換ルールは、操作部105によりユーザーからの指示に基づいて入力される。
【0013】
先ずCPU101は、3次元的な表現を行う描画オブジェクトのストロークを、ストロークの塗り潰し領域を囲むパスデータに変換する(S401)。ここで、ストロークとは太さを有する線データのことであり、図3に示したSVGデータのうちpath要素で示されるデータがこれに相当する。S401では、このようなストロークデータを複数の座標データを含む座標データ群を含むパスデータに変換(生成)するものである。パスデータとは、太さが0の線で囲まれた領域を示すデータのことであり、曲線を含んでいてもよい。また、パスデータは、その領域を塗り潰す色や透明度を指定できる。なお、本実施形態では、図3に示したSVGデータから、描画されるべき図2の画像の境界を表すパスデータを生成するとしたが、座標データ群を含む表現であればパスデータに限らず、例えばスキャンラインごとのエッジ座標群でも良い。
【0014】
次にCPU101は、描画オブジェクトのパスデータを、線分のみで構成されたパスデータに変換する(S402)。このパスデータは描画オブジェクトの境界線上の座標データにより構成されるデータである。最初のSVGデータや、S401で変換したパスデータは、その中に曲線を含有し得るものであるが、S402の処理により、全ての曲線を線分のみで構成されるデータにより近似する。曲線を線分に変換した場合は画質の劣化を伴う場合があるが、曲線を細かく分割した上で各微小曲線を近似した線分に置き換えれば画質の劣化は問題にならない。
【0015】
SVGデータにおいては、円を示すCircle要素のように、描画オブジェクトのパスデータが記述されていないものもあるが、その場合にはS402において線分からなるデータに変換する。また、所定の規則(許容誤差ルール)に基づいてパスデータの分割数を決定しても良い。S401やS402で生成されるパスデータの中の分割数(座標データ群の数)は小さければ小さいほど、全体の計算負荷は小さいものとなる一方で、近似精度は悪くなる。よって、許容誤差ルールは、表示部104の解像度、CPU101の計算負荷、及びユーザの意思などによって決定されることとなる。
【0016】
続いてCPU101は、第1の描画手段による処理コストC1と第2の描画手段による処理コストC2を算出する(S403)。第1の描画手段による処理コストC1及び第2の描画手段による処理コストC2の算出方法については、後述する。
【0017】
続いてCPU101は、より処理負荷の小さな処理を選択するために、第1の描画手段による処理コストC1と第2の描画手段による処理コストC2を比較する(S404)。第1の描画手段による処理コストC1が第2の描画手段による処理コストC2よりも小さい場合はS405へ進み、第1の描画手段による処理コストC1が第2の描画手段による処理コストC2よりも小さくない場合はS407へ進む。
【0018】
S405において、S402で生成されたパスデータを構成する個々の座標値(X0、Y0)を座標変換ルールに従って座標変換を行い、新たな座標値により構成されるパスデータを取得する。そして、S406にて、S406において生成された新たなパスデータに基づいてRAM103中の描画用バッファにビットマップ形式で画像データを生成する(描画する)。以上のS405,及びS406の処理は第1の描画手段により実行される。
【0019】
一方で、第1の描画手段による処理コストC1が第2の描画手段による処理コストC2よりも大きい場合は、S407に進み、以下の処理を実行する。即ち、S402で生成されたパスデータからビットマップ形式で画像データを生成しRAM103にあるオフスクリーンバッファに書き込む。そして、S408において、オフスクリーンバッファにあるビットマップのそれぞれを座標変換ルールに従ってRAM103中の描画用バッファにビットマップを生成する(描画する)。以上のS407,及びS408の処理は第2の描画手段により実行される。
【0020】
S406又はS408に続き、S409において、表示部104は描画用バッファに描画されているビットマップをに表示する。
【0021】
なお、S404にて第1の描画手段による処理コストC1が第2の描画手段による処理コストC2よりも小さいか否かの判断基準に基づいて判断したが、判断基準はこれに限らない。例えば、判断基準として、第1の描画手段による処理コストC1が第2の描画手段による処理コストC2以下か否かとしても良い。
【0022】
○処理コストの算出方法
まず、第1の描画手段による処理コストC1の算出方法を説明する。第1の描画手段による処理コストC1は、S405とS406での処理に必要なコストである。S405においてパスデータを構成する個々の座標値(x0,y0)を座標変換ルールに従って新たな座標値(x1,y1)に変換する。ここで、S401、S402の処理を施した後の座標データ群における座標データ数をPとし、一座標データ当たりの座標変換コストをMとすると、S405の処理コストはP×Mとなる。ここで、座標変換ルールを示す第1の座標変換の行列を
【0023】
【数1】
【0024】
とすると、座標変換後の座標(x1、y1)は
【0025】
【数2】
【0026】
で求められる。即ち、一つの座標を座標変換するための座標変換コストMは乗算4回と和算4回となる。続いてS406において、S405にて変換された座標値(x1、y1)により構成されるパスデータから描画用バッファにビットマップ形式の画像データを描画する。ここで、パスデータからビットマップ描画する際の処理コストは、パスデータの複雑度に応じて変化する。また、この処理コストは描画領域の大きさに応じても変化する。これは描画領域が大きくなると、色を指定すべき描画領域におけるピクセル数が増大していくためである。以下、パスデータからビットマップをオフスクリーンに描画する際の一ピクセル当たりの処理コストをVとする。パスデータをビットマップに変換するための一つの方法は、パスデータと各スキャンラインとの交点情報を保持し、スキャンライン毎に交点間を塗り潰すことで実現できる。この方法の場合、Vは、スキャンラインを辿りながら交点情報からピクセルの色値を取得する際の一ピクセル当たりの処理コストとなる。
【0027】
S405による座標変換後のSVGデータを包含する矩形領域のピクセル数をS2とすると、S406の処理コストは、V×S2となる。よって、第1の描画手段における処理コストC1は、P×M及びV×S2の関数となり、
C1=f(P×M,V×S2) (2)
で表わされる。f()は、例えば、二つの入力値(P×MとV×S2)の重み付き加算計算を示す関数などである。ここで、座標変換後のSVGデータを包含する矩形領域のピクセル数S2の計算方法を、図9と図10を例に説明する。図9は、図2に示すSVGデータをxy座標系に示した図である。図10は、図9の図形に対して座標変換を行った結果を示したものである。S2は矩形の面積として計算すればよい。ここでは、矩形を2つの三角形に分割し、各三角形の面積を計算することで矩形の面積を算出する。矩形A’B’C’D’を三角形A’B’C’と三角形A’D’C’に分割する。線分A’B’の長さをa、線分B’C’の長さをb、線分C’A’の長さをcとすると、三角形A’B’C’の面積Sは、ヘロンの公式を利用して
【0028】
【数3】
【0029】
で求められる。三角形A’D’C’の面積も同様に求めることができ、それらを合計したものがS2となる。
【0030】
また、以下に第2の描画手段による処理コストC2の算出方法を説明する。第2の描画手段による処理コストC2は、S407とS408での処理に必要なコストである。
【0031】
S407において、S402において生成された線分で構成されたパスデータをオフスクリーンにビットマップ描画する。オフスクリーンに必要なピクセル数は、SVGデータを包含する矩形領域と一致し、S1とする。パスデータからビットマップをオフスクリーンに描画する際の一ピクセル当たりの処理コストはVであるので、S407の処理コストはV×S1となる。続いて、S408では、オフスクリーン上の各ビットマップに対して座標変換を施して描画用メモリにビットマップ形式の画像データを描画する。なお、オフスクリーンは、RAM103上に確保された仮想的なスクリーン用のメモリ領域であり、オフスクリーンへの描画結果は表示部104には反映されない。S408の描画処理においては、座標変換後の領域の各ピクセルについて、座標変換ルールを逆適用(逆行列をかける)することで、オフスクリーン上のピクセルを算出し、そのピクセルの色情報を取得して描画する。このとき、算出したオフスクリーン上のピクセルから色を決定する方法は、一般に画像補間法として知られ、nearest neighbor法やbi−linear法などがある。本実施形態では画像補間方法の内容を問わない。また、座標変換後の領域内の座標値(xa,ya)から参照されるオフスクリーンの座標値(xb,yb)は
【0032】
【数4】
【0033】
で求められる。逆行列を予め計算しておけば、1回逆行列をかける処理コストは上記の1回あたりの座標変換コストMと一致する。座標変換後のピクセル数は、第1の描画手段における座標変換後のSVGデータを包含する矩形領域のピクセル数S2と一致する。さらに、本処理では、算出したピクセル毎にピクセルの色情報を取得する必要があるため、算出されたピクセルの色情報を取得するコスト(補間計算に必要なコストを含む)をGとするとS408の処理コストはS2×(M+G)となる。よって、第2の描画手段における処理コストC2は、V2×S1とS2×(M+G)との関数となり、
C2=g(V2×S1、S2×(M+G)) ・・・(5)
で表わされる。g()は、例えば、二つの入力値(V2×S1とS2×(M+G))の重み付き加算計算を示す関数などである。
一般に、SVGデータのパスデータが複雑になるとC1が増大する。これは、座標変換前のパスデータ中の座標データ数Pが増大するためである。また、座標変換後の図形のピクセル数S2が座標変換前の図形のピクセル数S1より大きい場合はC2が増大する。これは、座標変換後における図形の色情報を取得するための補間演算が必要なピクセル数S2が増えるためである。
【0034】
○座標変換の処理例
図5から図8は、S401、S402、S405の処理でSVGデータが変化する様子を示す図である。図5から図8では、便宜上、SVG形式のテキストデータで示しているが、実際には図4のフローチャートで示す処理はRAM103に保持したDOMデータを変更するものである。
【0035】
図5は、図4のフローチャートに示す処理を行う前のSVGデータの一部を示す図である。即ち、図5はpath要素で記述されたSVGデータの部分を示しており、これは太さのある線の描画を行うためのものである。
【0036】
図6は、図5に示すSVGデータにS401の処理を施した結果のデータを示す図である。図6に示すデータは、図5に示すデータと比較して見かけ上のデータ量は増えている。これは、太さを有するストロークデータを、その塗り潰し領域を囲むパスデータ(塗り潰し領域の境界線上の座標データにより構成されるデータ)に変換したためである。図5に示すデータは、path要素のstroke−width属性の値が「10」であるが、これは、ストローク(線)の太さが10ピクセルであることを意味する。図6に示すデータでは、stroke−width属性がなくなっているが、これは線の太さが0であることを意味する。また、図5に示すデータであるpath要素のstroke属性の値「#000000」は線の色が黒色であることを意味し、図6に示すデータではfill属性の値、即ち塗り潰しの色に置き換わっている。なお、上記ストロークデータは、図形データの適用例となる構成である。
【0037】
図7は、図6に示すデータにS402の処理を施した結果のデータを示す図である。図7に示すデータは、図6に示すデータと比較して見かけ上のデータ量は増えている。これは、3組又は4組の座標値で表現できるベジェ曲線を、許容誤差ルールに基づいて細かい線分に分割したためである。
【0038】
図8は、図7に示すデータにS405の処理を施した結果を示す図である。S405は個々の座標値をそれぞれ変換しているため、図7のデータと図8のデータにあるd属性に記述された座標値の個数は一致している。図7に示したデータのd属性の冒頭にある「M38.5,12.5」という文字列は(x,y)=(38.5,12.5)の座標をパスデータの起点にするという意味である。この座標値は、S405の処理の結果(x,y)=(106,324)に変換されているため、図8に示すデータのd属性の冒頭は「M106,324」となっている。このような変換を図7に示すデータのd属性に記述された各座標値に対して行った結果、図8に示すpath要素に変換される。
【0039】
○本発明の効果
以上のとおり、本実施形態によれば、第1の描画手段による処理コストC1と第2の描画手段による処理コストC2とを比較し、より処理コストの小さい描画手段を選択して描画することができる。これにより、ベクトル形式の図形データに基づいて描画されるべき画像に対して座標変換ルールを適用して座標変換後の画像データを取得する際の計算負荷を低減させることができる。
【0040】
<第2の実施形態>
次に第2の実施形態について説明する。
第2の実施形態に係る情報処理装置の構成は、図1に示す第1の実施形態に係る情報処理装置の構成と同様である。本実施形態では、図11に示すフローを基に説明する。
【0041】
S1201からS1202までは、図4に示すフローのS401とS402と同じである。S1203において、線分で構成されたパスデータの頂点数がある値を超えた場合には、テクスチャマッピングによる描画手段を選択するようにする。
【0042】
本実施形態によれば、パスデータが非常に複雑になった場合には、パスデータの各頂点を座標変換する処理コストが増大するのを防ぐことができる。
【0043】
<第3の実施形態>
次に第3の実施形態について説明する。
第4の実施形態に係る情報処理装置の構成は、図1に示す第1の実施形態に係る情報処理装置の構成と同様である。本実施形態では、図12に示すフローを基に説明する。
【0044】
S1301からS1302までは、図4に示すフローのS401とS402と同じである。
S1303においてSVGデータが装飾効果を含む場合には、従来のテクスチャによる描画手段を選択するようにする。
【0045】
本実施形態によれば、SVGデータにグラデーション効果やフィルタ効果などの装飾効果が付与されている場合は、テクスチャマッピングによる描画手段を行うことによって、望ましい描画結果を得られるようになる。
【0046】
上述した本発明の実施形態を構成する各手段及び各ステップは、コンピュータのRAMやROM等に記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【特許請求の範囲】
【請求項1】
ベクトル形式の図形データから、該図形データに基づいて描画されるべき第1の画像の境界線上の第1の座標データ群を生成する第1生成手段と、
(A)前記第1の画像を変換して第2の画像を得るための座標変換ルールを前記第1の座標データ群に対して適用することにより得られる第2の座標データ群に基づいて、前記第2の画像をビットマップ形式により描画する場合の第1の計算負荷と、(B)前記第1の座標データ群に基づいて前記第1の画像をビットマップ形式により描画し、前記座標変換ルールを該描画された前記第1の画像の各ビットマップに対して適用することにより前記第2の画像をビットマップ形式により描画する場合の第2の計算負荷とを算出する算出手段と、
前記第1の計算負荷が前記第2の計算負荷よりも小さい場合、前記第1の画像を変換して第2の画像を得るための座標変換ルールを第1の座標データ群に対して適用することにより得られる前記第2の座標データ群に基づいて前記第2の画像をビットマップ形式により描画する第1描画手段と、
前記第2の計算負荷が前記第1の計算負荷よりも小さい場合、前記第1の座標データ群に基づいて前記第1の画像をビットマップ形式により描画し、前記座標変換ルールを該描画された前記第1の画像の各ビットマップに対して適用することにより前記第2の画像をビットマップ形式により描画する第2描画手段と
を有することを特徴とする情報処理装置。
【請求項2】
前記第1の計算負荷は、前記第1の座標データ群の座標データ数に基づいて算出されることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記第1の計算負荷は、前記第2の画像を包含する領域のピクセル数に基づいて算出されることを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記第2の計算負荷は、前記第1の画像を包含する領域のピクセル数と前記第2の画像を包含する領域のピクセル数とに基づいて算出されることを特徴とする請求項1に記載の情報処理装置。
【請求項5】
前記座標変換ルールは、前記ベクトル形式の図形データを3次元の座標変換することを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
【請求項6】
ベクトル形式の図形データから、該図形データに基づいて描画されるべき第1の画像の境界線上の第1の座標データ群を生成する第1生成工程と、
(A)前記第1の画像を変換して第2の画像を得るための座標変換ルールを前記第1の座標データ群に対して適用することにより得られる第2の座標データ群に基づいて、前記第2の画像をビットマップ形式により描画する場合の第1の計算負荷と、(B)前記第1の座標データ群に基づいて前記第1の画像をビットマップ形式により描画し、前記座標変換ルールを該描画された前記第1の画像の各ビットマップに対して適用することにより前記第2の画像をビットマップ形式により描画する場合の第2の計算負荷とを算出する算出工程と、
前記第1の計算負荷が前記第2の計算負荷よりも小さい場合、前記第1の画像を変換して第2の画像を得るための座標変換ルールを第1の座標データ群に対して適用することにより得られる前記第2の座標データ群に基づいて前記第2の画像をビットマップ形式により描画する第1描画工程と、
前記第2の計算負荷が前記第1の計算負荷よりも小さい場合、前記第1の座標データ群に基づいて前記第1の画像をビットマップ形式により描画し、前記座標変換ルールを該描画された前記第1の画像の各ビットマップに対して適用することにより前記第2の画像をビットマップ形式により描画する第2描画工程と
を有することを特徴とする情報処理方法。
【請求項7】
コンピュータを請求項1の手段として機能させるためのプログラム。
【請求項1】
ベクトル形式の図形データから、該図形データに基づいて描画されるべき第1の画像の境界線上の第1の座標データ群を生成する第1生成手段と、
(A)前記第1の画像を変換して第2の画像を得るための座標変換ルールを前記第1の座標データ群に対して適用することにより得られる第2の座標データ群に基づいて、前記第2の画像をビットマップ形式により描画する場合の第1の計算負荷と、(B)前記第1の座標データ群に基づいて前記第1の画像をビットマップ形式により描画し、前記座標変換ルールを該描画された前記第1の画像の各ビットマップに対して適用することにより前記第2の画像をビットマップ形式により描画する場合の第2の計算負荷とを算出する算出手段と、
前記第1の計算負荷が前記第2の計算負荷よりも小さい場合、前記第1の画像を変換して第2の画像を得るための座標変換ルールを第1の座標データ群に対して適用することにより得られる前記第2の座標データ群に基づいて前記第2の画像をビットマップ形式により描画する第1描画手段と、
前記第2の計算負荷が前記第1の計算負荷よりも小さい場合、前記第1の座標データ群に基づいて前記第1の画像をビットマップ形式により描画し、前記座標変換ルールを該描画された前記第1の画像の各ビットマップに対して適用することにより前記第2の画像をビットマップ形式により描画する第2描画手段と
を有することを特徴とする情報処理装置。
【請求項2】
前記第1の計算負荷は、前記第1の座標データ群の座標データ数に基づいて算出されることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記第1の計算負荷は、前記第2の画像を包含する領域のピクセル数に基づいて算出されることを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記第2の計算負荷は、前記第1の画像を包含する領域のピクセル数と前記第2の画像を包含する領域のピクセル数とに基づいて算出されることを特徴とする請求項1に記載の情報処理装置。
【請求項5】
前記座標変換ルールは、前記ベクトル形式の図形データを3次元の座標変換することを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
【請求項6】
ベクトル形式の図形データから、該図形データに基づいて描画されるべき第1の画像の境界線上の第1の座標データ群を生成する第1生成工程と、
(A)前記第1の画像を変換して第2の画像を得るための座標変換ルールを前記第1の座標データ群に対して適用することにより得られる第2の座標データ群に基づいて、前記第2の画像をビットマップ形式により描画する場合の第1の計算負荷と、(B)前記第1の座標データ群に基づいて前記第1の画像をビットマップ形式により描画し、前記座標変換ルールを該描画された前記第1の画像の各ビットマップに対して適用することにより前記第2の画像をビットマップ形式により描画する場合の第2の計算負荷とを算出する算出工程と、
前記第1の計算負荷が前記第2の計算負荷よりも小さい場合、前記第1の画像を変換して第2の画像を得るための座標変換ルールを第1の座標データ群に対して適用することにより得られる前記第2の座標データ群に基づいて前記第2の画像をビットマップ形式により描画する第1描画工程と、
前記第2の計算負荷が前記第1の計算負荷よりも小さい場合、前記第1の座標データ群に基づいて前記第1の画像をビットマップ形式により描画し、前記座標変換ルールを該描画された前記第1の画像の各ビットマップに対して適用することにより前記第2の画像をビットマップ形式により描画する第2描画工程と
を有することを特徴とする情報処理方法。
【請求項7】
コンピュータを請求項1の手段として機能させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2012−108825(P2012−108825A)
【公開日】平成24年6月7日(2012.6.7)
【国際特許分類】
【出願番号】特願2010−258601(P2010−258601)
【出願日】平成22年11月19日(2010.11.19)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成24年6月7日(2012.6.7)
【国際特許分類】
【出願日】平成22年11月19日(2010.11.19)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]