JP2007018157A - 画像処理装置 - Google Patents

画像処理装置 Download PDF

Info

Publication number
JP2007018157A
JP2007018157A JP2005197564A JP2005197564A JP2007018157A JP 2007018157 A JP2007018157 A JP 2007018157A JP 2005197564 A JP2005197564 A JP 2005197564A JP 2005197564 A JP2005197564 A JP 2005197564A JP 2007018157 A JP2007018157 A JP 2007018157A
Authority
JP
Japan
Prior art keywords
animation
image processing
processing apparatus
vector data
rendering
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2005197564A
Other languages
English (en)
Inventor
Satoshi Imaizumi
聡 今泉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2005197564A priority Critical patent/JP2007018157A/ja
Publication of JP2007018157A publication Critical patent/JP2007018157A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

【課題】 アニメーションを含んだベクタデータの描画において、アニメーション中の描画速度を高めることを目的とする。
【解決手段】 ベクタデータから変換したラスタデータを記憶領域に記憶して、アニメーション中の描画に用いる。
【選択図】 図1

Description

本発明は、画像を表示するための画像生成装置に関する。
ベクタデータを用いた画像はラスタデータを用いた画像と比較して、拡大、縮小、変形をしても滑らかな画像で表現できる。それは、ベクタデータは色、大きさ、形、位置など画像を構成する情報を記録しているためである。また、記録容量もラスタデータより少なくてすむという特徴がある。
実際に、ベクタデータを描画するには、ベクタデータから出力領域の各ピクセルについて、どの色で表示するかの計算を行っている。つまり、描画する際にはラスタデータに変換されるということになる。
また、ベクタデータによりアニメーションを実現することができて、その実現方法は、アニメーション中に前後フレーム間で描画結果の変化するオブジェクト(以下、アニメーションオブジェクトとする)について、アニメーション中の各フレームにおいて、ベクタデータをラスタデータに変換して描画を行う。このアニメーション表示方法を第1アニメーション表示方法とする。
また、アニメーションを描画する時に、アニメーションオブジェクトの描画速度を高める手法として、アニメーションオブジェクトのラスタデータを別領域に記憶しておき、アニメーション中の各フレームにおいて、記憶したラスタデータにアニメーションシナリオに従って移動、変形などの加工を施して描画することでアニメーション表示を行うものがある。この手法はスプライトベースのアニメーションである。これを第2アニメーション表示方法とする。
又、従来例としては、例えば特許文献1をあげることが出来る。
特開2001−230972号公報
しかしながら、前記第1アニメーション表示方法では、アニメーション中の各フレームにおいて、ベクタデータからラスタデータに変換して描画する必要があり、出力の解像度に応じて、また、アニメーションオブジェクトの描画領域に応じて、各ピクセルの描画に必要な情報に関する計算が増大する。
また、アニメーション開始時にアニメーションオブジェクトを別領域に記憶して、アニメーション中に用いる前記第2アニメーション表示方法をベクタデータで表されたアニメーションに適用できれば、アニメーションの描画速度を高めることが期待できる。しかし、一般に、前記第2アニメーション表示方法は、予めどのオブジェクトがアニメーションオブジェクトであるかや、アニメーションの内容を知っておく必要があるが、ベクタデータから、ベクタデータ中のどのオブジェクトをアニメーションオブジェクトとして抽出してラスタデータとして記憶領域に記憶するかの判断手段は持ち合わせていない。そのため、本発明のように、ベクタデータで表されたアニメーションの描画にそのまま適用することは出来ない。
本発明は上述の問題に鑑みてなされたもので、前記第2アニメーション表示方法をベクタデータに適用させるものである。ベクタデータ内のアニメーションオブジェクトの識別をして、アニメーションオブジェクトのアニメーション内容の識別を行い、アニメーションオブジェクトのアニメーション開始時のラスタデータを記憶領域に保存し、アニメーション中は記憶領域中のラスタデータを利用することによってベクタデータで表されたアニメーションの描画速度を高めることを目的とする。
さらに、基本的な描画方法である前記第1アニメーション表示方法と、高速に描画できる前記第2アニメーション表示方法を場合に応じて的確に使い分けることによって、高速かつ見た目にも違和感のないアニメーションを実現することを目的とする。
上記の目的を達成するために、本発明の請求項1記載の画像処理装置は、アニメーションを含んだベクタデータを読み込んでグラフィックを描画するための画像処理装置であって、前記ベクタデータを描画するためにラスタデータにデータ変換する手段と、アニメーション中に、前記アニメーションオブジェクトを識別する手段と、アニメーション中に、前記アニメーションオブジェクトについて、前記ベクタデータ内に記述されたアニメーションシナリオを識別する手段と、アニメーション中に、前記アニメーションオブジェクトについて、アニメーション開始時に前記ベクタデータから変換したラスタデータを記憶領域に記憶し、記憶したラスタデータをアニメーション表示中の各フレームの描画に用いるアニメーション表示手段と、アニメーション中に、前記アニメーションシナリオに従って、前記記憶領域に記憶したラスタデータを加工して描画する手段を有することを特徴とする。
本発明の請求項2記載の画像処理装置は、請求項1において、一度前記ベクタデータをレンダリング処理した後に、次のレンダリング処理を行う際、前回のレンダリング処理時とレンダリング処理結果が変化しない描画領域に関しては、前記ベクタデータをラスタデータに変換することなく、前回のレンダリング処理結果を用いてレンダリング処理を行う手段を有することを特徴とする。
本発明の請求項3記載の画像処理装置は、アニメーション中に、前記アニメーションオブジェクトについて、アニメーション表示中の各フレームにおいて、ベクタデータをラスタデータに変換して描画する第1アニメーション表示手段と、アニメーション中に、前記アニメーションオブジェクトについて、アニメーション開始時にベクタデータから変換したラスタデータを記憶領域に記憶し、記憶したラスタデータをアニメーション表示中の各フレームの描画に用いる第2アニメーション表示手段と、アニメーション中に、前記アニメーションオブジェクトを描画する手段として、前記第1あるいは第2アニメーション表示手段のいずれか一方を選択して適用する描画方法選択手段と、アニメーション中に、前記アニメーションオブジェクトを描画する手段として、前記第1アニメーション表示手段から、前記第2アニメーション表示手段に切り替える手段と、アニメーション中に、前記アニメーションオブジェクトを描画する手段として、前記第2アニメーション表示手段から、前記第1アニメーション表示手段に切り替える描画方法切り替え手段とを有することを特徴とする。
本発明の請求項4記載の画像処理装置は、請求項3において、前記描画方法選択手段は、前記前後フレーム間で描画結果の変化するオブジェクトの大きさを基に選択することを特徴とする。
本発明の請求項5記載の画像処理装置は、請求項3において、前記描画方法選択手段は、アニメーションの種類を基に選択することを特徴とする。
本発明の請求項6記載の画像処理装置は、請求項3において、前記描画方法切り替え手段は、ベクタデータ等を記憶するメモリの使用可能残量を基に選択することを特徴とする。
本発明の請求項7記載の画像処理装置は、請求項3において、前記第2アニメーション表示手段は、前記前後フレーム間で描画結果の変化するオブジェクトのアニメーション開始時からの変倍率に応じて、適宜ベクタデータからラスタデータを再度記憶領域に記憶し、以後のアニメーションの描画には再度記憶したラスタデータを利用することを特徴とする。
本発明は、ベクタデータで表されたアニメーションを表示する際に、前述した2つのアニメーション表示方法を、条件によって使い分け、または切り替えることによって、ベクタデータのアニメーション表示時の各フレームにおける描画速度を高め、全体として見た目にも違和感のないアニメーション表示を実現することができる。
以下に、本発明の詳細を、実施形態に基づいて図面を参照しながら説明する。また、具体例として、ベクタデータであってアニメーションを実現できる図5に示すSVGファイルを取り上げて説明していく。
図1は本発明の実施形態に係る画像処理装置の構成を示すブロック図である。
同図において、CPU101は、システム制御部であり、装置全体を制御する。ROM102は、CPUの制御プログラムや各種固定データを格納するものである。RAM103は、SRAM、DRAM等で構成され、プログラム制御変数等を格納するためのものである。また、本実施例におけるベクタデータ、ラスタデータ等もRAM103に格納されるものである。
図2は、本発明の実施形態に係るシステム全体の流れを示すフローチャートである。
同図において、まず、ベクタデータを読み込み(S201)、RAM102に保存する。続いて、ベクタデータを解析してアニメーションの表示方法を判定する(S202)。ベクタデータの解析においては、アニメーションオブジェクトの数や出現順序、出現頻度、各アニメーションオブジェクトのアニメーションの種類などが解析される。ここで、あるオブジェクトAとオブジェクトBがあるとき、描画処理ではオブジェクトBよりオブジェクトAが前面にあって、オブジェクトAが移動などのアニメーションを行ってオブジェクトBの上を通過するような場合、アニメーション中の前後フレームでオブジェクトBも描画結果が異なるが、このような場合、オブジェクトAはアニメーションオブジェクトだが、オブジェクトBはアニメーションオブジェクトとしない。つまり、アニメーションオブジェクトの定義は、ある単一または単一グループのオブジェクトに注目し、そのオブジェクトのみを描画したと仮定したときに、前後フレームで描画結果が異なるオブジェクトとする。
図5のSVGファイルについて、その詳細の説明をする。まず描画領域として横幅20cm、縦幅15cmの矩形領域を確保し、その左上端を座標(0,0)、右下端を座標(2000,1500)となる座標系設定する。また描画開始時には、座標(300,100)を左上端とし、横幅300、縦幅100の長方形が描画される。描画開始後1秒後にアニメーションを開始して1.5秒後までの間に、長方形の左上端を固定して、横幅1500、縦幅1300まで拡大してアニメーションを終了する。
S202で、ベクタデータ内のすべてのアニメーションにおいて、アニメーション表示方法の判定がなされると、次のステップに進み描画処理をする(S203)。描画処理では、まず、ベクタデータの初期状態をラスタデータに変換して描画を行う。アニメーション開始までは描画しても描画結果に変化がないので再描画は行わない。しかし、描画を一定間隔で行わないと表示されなくなるようなシステムにおいては、アニメーション開始以前においても必要に応じて描画を行う。図5のSVGファイルにおいては、初期状態として座標(300,100)を左上端とし、横幅300、縦幅100なる長方形を描画した後、1秒後までは何も処理は行われない。
S203の処理内では、アニメーションが開始される毎にアニメーション処理を行う。図2のフローチャートでは単一のアニメーション処理のループがあるが、異なるアニメーション処理は同時に起きても、時間的な重なりをもって起きてもよい。図5のSVGファイルにおいては、アニメーションは長方形の拡大のみである。
アニメーションが開始されるとアニメーション処理のステップ(S205)に移る。図5のSVGファイルでは、描画開始から1秒後にアニメーションが開始して(S204)、0.5秒間のアニメーションを行った後、描画開始から1.5秒後にアニメーションを終了する。
ベクタデータに記述されたすべてのアニメーション表示が終了すると、描画を終了する(S206)。描画を終了する条件は特に記述していないが、アニメーション終了時点で描画を終了してもよいし、アニメーション終了後、再び何らかの処理が続けられる場合などでは、外部から何らかの処理命令があるまでアニメーション終了時の描画結果を維持してもよい。
図3は、図2のアニメーション表示方法判定処理(S202)の内容を詳細に示したフローチャートである。ここでは、2つの条件によってアニメーションの表示方法を判定する。
一つ目の条件は、アニメーションオブジェクトの大きさが所定の範囲内にあるかどうかの判定(S301)である。この条件に当てはまる場合には次の条件判定のステップ(S302)に進む。条件に当てはまらない場合には、第1のアニメーション表示方法と判定する。この条件の判定基準は、アニメーションオブジェクトがアニメーション開始からアニメーション終了まで、一時たりともある一定の大きさを超えない場合には、所定の範囲内となる。本実施例においては、特に大きさの定義をしていないが、オブジェクトの面積や、縦幅、横幅などと定義してもよい。
二つ目の条件はアニメーションの種類が所定の範囲内にあるかどうかの判定(S302)である。この条件の当てはまる場合には第2のアニメーション表示方法と判定し、当てはまらない場合には、第1のアニメーション表示方法と判定する。この条件の判定基準として、所定の範囲内のアニメーションとは、座標系と平行方向の伸縮かその組み合わせによる形状変化を除いた形状の変化や、色、透明度の変化を伴わない、縦横比を維持した拡大、縮小、回転、平行移動、またはそれらの組み合わせのときとする。図5のSVGファイルのアニメーションにおいては、x軸、y軸に関する拡大なので、所定の範囲内のアニメーション処理となる。
各々のアニメーションオブジェクトについて、判定したアニメーション表示方法に従ってアニメーション処理を行う。図4はアニメーション表示方法判定で、第2のアニメーション表示方法と判定された場合のアニメーション処理の詳細を示したフローチャート図である。以下、図4の処理について説明する。
アニメーションを開始すると、はじめにアニメーションオブジェクト部分のベクタデータをラスタデータに変換して描画する。このとき、アニメーション開始時点ですでに、アニメーションオブジェクトが描画されている場合には、この処理は省略してもよい。図5のSVGファイルにおいては、アニメーション開始時にはすでにアニメーションオブジェクトとなる長方形は描画されている。続いて、ラスタデータを記憶するためのメモリの残量による分岐処理(S402)を行う。メモリの残量が所定の範囲内にある場合には、メモリ残量に応じてラスタデータの解像度を調節してメモリに記憶する。ここで、ラスタデータを描画した解像度のままで保存するときの容量よりもメモリ残量が大きい場合には、描画したままの解像度で保存し、そうでない場合には、メモリ残量に収まるようなラスタデータの解像度を計算して、メモリに収まる解像度に調節する。また、メモリ残量が所定の範囲内という条件は、アニメーションオブジェクトの現在の解像度とメモリの残量の関係から計算される。つまり、メモリ残量の条件は、アニメーションオブジェクトの解像度によって変化する。
メモリ残量が所定の範囲内にない場合には、ラスタデータを保存せず、次フレームもベクタデータをラスタデータに変換して描画を行う(S404)。そしてまたS402の条件へ戻るという流れである。
S403でラスタデータをメモリに記憶すると、S405の処理に移る。次フレームはメモリに記憶した保存したラスタデータをアニメーションシナリオに従って加工を施したものを描画する。
S406でアニメーションの終了を検出し、アニメーションが終了した場合にはアニメーション処理を終了する。図5のSVGファイルにおいては、描画開始から1.5秒後にS406の処理を行った時には、アニメーション終了と判定し、アニメーション処理を終了する。
また、S407では変倍率による条件分岐処理を行う。変倍率は、特に拡大を伴うアニメーションのときに、メモリに保存されているラスタデータの解像度とアニメーションオブジェクトを現時点でラスタデータに変換したと仮定したときの解像度から計算される値である。変倍率がある閾値を超えた場合には、その時点でのアニメーションオブジェクトのベクタデータをラスタデータに変換して次フレームの描画を行い(S404)、S402の処理に移る。逆に、閾値を超えない場合には、S405に移って引き続きメモリに記憶されているラスタデータを用いて次フレームの描画を行う。
本発明のシステム全体図である。 本発明の実施例による全体の処理の流れを示すフローチャートである。 本発明の実施例による、アニメーション時の描画方法を決定する手順を示すフローチャートである。 本発明の実施例によるアニメーション処理の詳細を示すブロック図である。 本発明の実施例による、アニメーションを含むSVGファイルのソースである。
符号の説明
101 CPU
102 ROM
103 RAM
104 表示部

Claims (7)

  1. アニメーションを含んだベクタデータを読み込んでグラフィックを描画するための画像処理装置であって、
    前記ベクタデータを描画するためにラスタデータに変換する手段と、
    アニメーション中に、前後フレーム間で描画結果の変化するオブジェクトを識別する手段と、
    アニメーション中に、前記前後フレーム間で描画結果の変化するオブジェクトについて、前記ベクタデータ内に記述されたアニメーションシナリオを識別する手段と、
    アニメーション中に、前記前後フレーム間で描画結果の変化するオブジェクトについて、アニメーション開始時に前記ベクタデータから変換したラスタデータを記憶領域に記憶し、記憶したラスタデータをアニメーション表示中の各フレームの描画に用いるアニメーション表示手段と、
    アニメーション中に、前記アニメーションシナリオに従って、前記記憶領域に記憶したラスタデータを加工して描画する手段を有することを特徴とする画像処理装置。
  2. 請求項1記載の画像処理装置において、
    一度前記ベクタデータをレンダリング処理した後に、次のレンダリング処理を行う際、前回のレンダリング処理時とレンダリング処理結果が変化しない描画領域に関しては、前記ベクタデータをラスタデータに変換することなく、前回のレンダリング処理結果を用いてレンダリング処理を行う手段を有することを特徴とする画像処理装置。
  3. アニメーションを含んだベクタデータを読み込んでグラフィックを描画するための画像処理装置であって、
    アニメーション中に、前記前後フレーム間で描画結果の変化するオブジェクトについて、アニメーション表示中の各フレームにおいて、ベクタデータをラスタデータに変換して描画する第1アニメーション表示手段と、
    アニメーション中に、前記前後フレーム間で描画結果の変化するオブジェクトについて、アニメーション開始時にベクタデータから変換したラスタデータを記憶領域に記憶し、記憶したラスタデータをアニメーション表示中の各フレームの描画に用いる第2アニメーション表示手段と、
    アニメーション中に、前記前後フレーム間で描画結果の変化するオブジェクトを描画する手段として、前記第1あるいは第2アニメーション表示手段のいずれか一方を選択して適用する描画方法選択手段と、
    アニメーション中に、前記前後フレーム間で描画結果の変化するオブジェクトを描画する手段として、前記第1アニメーション表示手段から、前記第2アニメーション表示手段に切り替える手段と、
    アニメーション中に、前記前後フレーム間で描画結果の変化するオブジェクトを描画する手段として、前記第2アニメーション表示手段から、前記第1アニメーション表示手段に切り替える描画方法切り替え手段とを有することを特徴とする画像処理装置。
  4. 請求項3記載の画像処理装置において、
    前記描画方法選択手段は、前記前後フレーム間で描画結果の変化するオブジェクトの大きさを基に選択することを特徴とする画像処理装置。
  5. 請求項3記載の画像処理装置において、
    前記描画方法選択手段は、アニメーションの種類を基に選択すること特徴とする画像処理装置。
  6. 請求項3記載の画像処理装置において、
    前記描画方法切り替え手段は、ベクタデータ等を記憶するメモリの使用可能残量を基に選択することを特徴とする画像処理装置。
  7. 請求項3記載の画像処理装置において、
    前記第2アニメーション表示手段は、前記前後フレーム間で描画結果の変化するオブジェクトのアニメーション開始時からの変倍率に応じて、適宜ベクタデータからラスタデータを再度記憶領域に記憶し、以後のアニメーションの描画には再度記憶したラスタデータを利用することを特徴とする画像処理装置。
JP2005197564A 2005-07-06 2005-07-06 画像処理装置 Withdrawn JP2007018157A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005197564A JP2007018157A (ja) 2005-07-06 2005-07-06 画像処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005197564A JP2007018157A (ja) 2005-07-06 2005-07-06 画像処理装置

Publications (1)

Publication Number Publication Date
JP2007018157A true JP2007018157A (ja) 2007-01-25

Family

ID=37755291

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005197564A Withdrawn JP2007018157A (ja) 2005-07-06 2005-07-06 画像処理装置

Country Status (1)

Country Link
JP (1) JP2007018157A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017068419A (ja) * 2015-09-29 2017-04-06 三菱電機株式会社 図形描画装置および図形描画プログラム
US11007592B2 (en) 2015-07-30 2021-05-18 Denso Aircool Corporation Heat exchanger and method for producing same
JP2022535669A (ja) * 2019-06-11 2022-08-10 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド アニメーションレンダリング方法、装置、コンピュータ読み取り可能な記憶媒体、及びコンピュータ機器

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11007592B2 (en) 2015-07-30 2021-05-18 Denso Aircool Corporation Heat exchanger and method for producing same
JP2017068419A (ja) * 2015-09-29 2017-04-06 三菱電機株式会社 図形描画装置および図形描画プログラム
JP2022535669A (ja) * 2019-06-11 2022-08-10 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド アニメーションレンダリング方法、装置、コンピュータ読み取り可能な記憶媒体、及びコンピュータ機器
JP7325535B2 (ja) 2019-06-11 2023-08-14 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド アニメーションレンダリング方法、装置、コンピュータ読み取り可能な記憶媒体、及びコンピュータ機器
US11783522B2 (en) 2019-06-11 2023-10-10 Tencent Technology (Shenzhen) Company Limited Animation rendering method and apparatus, computer-readable storage medium, and computer device

Similar Documents

Publication Publication Date Title
WO2020248951A1 (zh) 动画渲染方法、装置、计算机可读存储介质和计算机设备
JP4770878B2 (ja) 情報表示装置及びプログラム
JP5351971B2 (ja) モーションベクトルを決定するための方法、装置及びソフトウエア
JP2013058147A (ja) 画像処理装置及び方法、並びにプログラム
JP2007018157A (ja) 画像処理装置
JP2011165173A (ja) 情報処理装置、情報処理装置の動作方法、および記憶媒体
JP2006520963A (ja) 直接推定を用いた三角形レンダリング
JP2013045401A (ja) アニメーション描画装置
JP2006520963A5 (ja)
US20150242988A1 (en) Methods of eliminating redundant rendering of frames
JP4827659B2 (ja) 画像処理装置、画像処理方法、及びコンピュータプログラム
JP2003066943A (ja) 画像処理装置及びプログラム
US9019304B2 (en) Image processing apparatus and control method thereof
JP2010259116A (ja) コスト関数演算方法、コスト関数演算装置及びその補間方法
JP2009205537A (ja) 表示装置、表示方法及びプログラム
JP2008017065A (ja) 電子黒板装置および電子黒板装置における画像処理方法並びにそのプログラム
JP4890425B2 (ja) マンガのコマ画像のためのマスク画像の作成方法及びプログラム
JP6120561B2 (ja) 図形描画装置及び図形描画プログラム
JP2006106983A (ja) 表示装置及び表示方法
JP2003303355A (ja) 3次元形状処理装置、3次元形状処理方法、プログラム及び記憶媒体
Lee et al. Fast seam carving using partial update and divide and conquer method
JP4152383B2 (ja) ナビゲーションシステム
JP2006331209A (ja) 図形描画装置及びプログラム
CN117834999A (zh) 一种基于第三方视频库调用的窗口变换方法、设备及介质
CN117934266A (zh) 一种基于Canvas的2D图像渲染方法、系统及介质

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20081007