(57)【要約】【課題】従来のベクターグラフィックスによるアニメーション描画は、前フレームからの変更があった部品だけでなく、背面部品も描画し直す必要があり、前フレームとの相異が一部分でも、画面全てを描画し直す場合が多い。【解決手段】ベクターグラフィックスでのアニメーション描画と、描画アニメーションの表示データとを出力するアニメーション描画装置で、外部メモリに格納された現フレーム描画リストと前フレーム描画リストの変更点を検出し、描画更新するフレームバッファの領域を描画領域判定手段で判定し、更新領域が閾値より小の時は、更新領域内のみをベクターグラフィックス描画手段で描画し表示用フレームバッファへコピーし、大の時は、同描画手段で全画面を描画して描画用フレームバッファと表示用フレームバッファを切り替え、表示用フレームバッファを表示読出し手段で読み出し表示装置へ出力する。【選択図】図１
2013045401.tif 000002
【特許請求の範囲】
【請求項１】
ベクターグラフィックスによりアニメーションの描画をし、描画したアニメーションを表示装置に表示するためのデータを出力するアニメーション描画装置において、
現フレームのベクター図形部品の描画法を定義した描画リストと、１つ前のフレームのベクター図形部品の描画法を定義した前フレーム描画リストと、コマンドと制御点のＸＹ座標値でベクター図形の輪郭を定義したベクタ図形データとが格納され、描画用と表示用の機能切り替えが可能な２フレーム分のバッファのメモリ領域を有する外部メモリに格納された現フレームの描画リストと前フレーム描画リストとを比較してその変更点を検出し、描画更新すべきフレームバッファ上の領域を判定する描画領域判定手段と、
外部メモリに格納された現在のフレームの描画リストおよびベクター図形データから、フレームバッファへ１フレーム分の描画が可能なベクターグラフィックス描画手段と、
描画用フレームバッファ上の所定の矩形領域の画像を表示用フレームバッファ領域へコピーする矩形転送手段と、
表示用フレームバッファの描画結果を読み出して表示装置へと出力する表示読出し手段と、
上記描画領域判定手段、ベクターグラフィックス描画手段、矩形転送手段、表示読出し手段を制御する制御手段とを備え、
上記描画領域判定手段は、描画リストと前フレーム描画リストとの間で変更のあるベクター図形データについて、指定された変換行列により制御点座標に座標変換処理を施し、座標変換後の制御点座標の最小値および最大値から描画更新領域を求め、
上記制御手段は、上記ベクターグラフィックス描画手段に対して上記描画領域判定手段にて求めた描画更新領域について描画を行う指示を出す、
ことを特徴とするアニメーション描画装置。
【請求項２】
上記描画領域判定手段は、描画更新領域を求めた後に、現在のフレームの描画リストを、次のフレームにおいて前フレーム描画リストとして使用するため外部メモリの前フレーム描画リストの領域へコピーすることを特徴とする請求項１記載のアニメーション描画装置。
【請求項３】
上記制御手段は、上記描画領域判定手段にて求めた描画更新領域が予め定められた閾値よりも小さい場合には、上記ベクターグラフィックス描画手段に対して描画用フレームバッファの描画更新領域内のみ描画を行うよう指示し、描画完了後に描画用フレームバッファの描画更新領域内の描画像を表示用フレームバッファへコピーするよう上記矩形転送手段へ指示することを特徴とする請求項１または２に記載のアニメーション描画装置。
【請求項４】
上記制御手段は、上記描画領域判定手段にて求めた描画更新領域が予め定められた閾値よりも大きい場合には、上記ベクターグラフィックス描画手段に対して描画用フレームバッファ全面に対して描画を行う用指示し、描画完了後に描画用フレームバッファと表示用フレームバッファを切替えることを特徴とする請求項１または２に記載のアニメーション描画装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ベクターグラフィックスによるアニメーションの描画をし、その描画したアニメーションを表示装置に表示するためのデータを出力するアニメーション描画装置に関するものである。
【背景技術】
【０００２】
グラフィックスの描画および画面表示の際に、描画の途中結果が画面へ表示されることを防ぐために、一旦ワーク領域に対して描画を行い、表示のためのフレームバッファへコピーを行う方法がある。
また、フレームバッファを２面分持ち、一方を描画用フレームバッファとして書込みを行い、他方を表示用フレームバッファとして読出しを行い、描画完了後に描画用フレームバッファと表示用フレームバッファを切替えるダブルバッファ方式がある。
前者のワーク領域に描画を行った後に表示用フレームバッファへコピーする方式では、描画面積が大きいほどコピー処理のための処理時間が大きくなるという問題がある。
また、後者のダブルバッファ方式では、フレームバッファ全面に描画を行い、表示と描画を切替えるため、画面の一部のみが変化する場合には前者の方式よりも効率が悪いという問題がある。
そこで、描画結果の面積により、両方式を選択的に切替える方法が提案されている。（たとえば特許文献１）
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９―００９４０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ベクターグラフィックスにより画面を描画する際には、画面を構成する部品となるベクター図形を、背面に位置するものから順次上書きして描画する必要がある。このため、ベクターグラフィックスを使用したアニメーションを描画する場合、前フレームから変更のあった部品だけではなく、その背面に位置する部品から順に描画し直す必要がある。また、画面の最背面には画面サイズ分の背景となる図形が存在する場合が多く、この場合には前フレームと異なる部品が一部分であっても、画面を構成するすべての部品を描画し直すことになる。このような場合は、描画結果の面積は画面の大部分を占めることになるため、描画結果の面積により処理を切り替える従来の特許文献１による方式では効果が無いという問題点があった。
この発明は上記のような問題点を解決するためになされたもので、ベクターグラフィックスのアニメーション描画において、効率良く描画することができるアニメーション描画装置を得ることを目的とする。
【課題を解決するための手段】
【０００５】
この発明に係るアニメーション描画装置は、
ベクターグラフィックスによりアニメーションの描画をし、描画したアニメーションを表示装置に表示する信号データを出力するアニメーション描画装置において、
現フレームのベクター図形部品の描画法を定義した描画リストと、１つ前のフレームのベクター図形部品の描画法を定義した前フレーム描画リストと、コマンドと制御点のＸＹ座標値でベクター図形の輪郭を定義したベクタ図形データとが格納され、描画用と表示用の機能切り替えが可能な２フレーム分のバッファのメモリ領域を有する外部メモリに格納された現フレームの描画リストと前フレーム描画リストとを比較して変更点を検出し、描画更新すべきフレームバッファ上の領域を判定する描画領域判定手段と、
外部メモリに格納された現在のフレームの描画リストおよびベクター図形データから、フレームバッファへ１フレーム分の描画が可能なベクターグラフィックス描画手段と、
描画用フレームバッファ上の所定の矩形領域の画像を表示用フレームバッファ領域へコピーする矩形転送手段と、
表示用フレームバッファの描画結果を読み出して表示装置へと出力する表示読出し手段と、
上記描画領域判定手段、ベクターグラフィックス描画手段、矩形転送手段、表示読出し手段を制御する制御手段とを備え、
上記描画領域判定手段は、描画リストと前フレーム描画リストとの間で変更のあるベクター図形データについて、指定された変換行列により制御点座標に座標変換処理を施し、座標変換後の制御点座標の最小値および最大値から描画更新領域を求め、
上記制御手段は、上記描画領域判定手段にて求めた描画更新領域について、上記ベクターグラフィックス描画手段に対して描画指示を出すものである。
【発明の効果】
【０００６】
この発明に係るアニメーション描画装置によれば、
外部メモリに格納された現フレームの描画リストと前フレームの描画リストを比較し、変更のあった部品についてベクター図形データの制御点座標に座標変換処理を行い、座標変換後の制御点座標の最小値および最大値から描画更新領域を求めることにより、実際に各部品を描画する前に更新領域を求めることができ、描画更新領域が所定の閾値よりも小さい場合には描画更新領域内のみを描画して描画結果を表示用フレームバッファへコピーし、描画更新領域が閾値よりも大きい場合には全画面を描画して描画用フレームバッファと表示用フレームバッファを切り替えるように制御することで、両方式の効率の良い方を動的に選択できるため、効率よくアニメーション描画を行うことができるという効果がある。
【図面の簡単な説明】
【０００７】
【図１】この発明の実施の形態１によるアニメーション描画装置を示す構成図である。
【図２】この発明によるアニメーション描画装置で描画されるアニメーションの説明図である。
【図３】ベクター図形データの構造を示す説明図である。
【図４】描画リストの構造を示す説明図である。
【図５】１フレーム目における描画領域判定部の動作説明図である。
【図６】１フレーム目におけるベクターグラフィックス描画部の描画内容および画面表示用の説明図である。
【図７】２フレーム目における描画領域判定部の動作説明図である。
【図８】２フレーム目におけるベクターグラフィックス描画部の描画内容および画面表示用の説明図である。
【図９】３フレーム目における描画領域判定部の動作説明図である。
【図１０】３フレーム目におけるベクターグラフィックス描画部の描画内容および画面表示用の説明図である。
【図１１】４フレーム目における描画領域判定部の動作説明図である。
【図１２】４フレーム目におけるベクターグラフィックス描画部の描画内容および画面表示用の説明図である。
【発明を実施するための形態】
【０００８】
実施の形態１．
図１はこの発明の実施の形態1によるアニメーション描画装置を示す構成図である。
図１において、１０はアニメーション描画装置、１７は各種データを保持するための外部メモリ、１２は外部メモリ１７上の描画リストを読出し、描画更新すべき領域を求める描画領域判定部、１３は外部メモリ１７上の描画リストおよびベクター図形データから、フレームバッファへ描画を行うベクターグラフィックス描画部、１４はフレームバッファ上の矩形領域のイメージを別の領域へコピーする矩形転送処理部、１５はフレームバッファの画像を読出して出力する表示読出し部、１１はアニメーション描画装置１０を構成する各ブロックの動作を制御する制御部、１６はアニメーション描画装置１０へ命令を出すＣＰＵ（Central Processing Unit）、１８は画像を表示するための表示装置である。
【０００９】
次に動作について説明する。
ここでは、例として図２に示す内容のアニメーションを描画するものとする。
図２（ａ）は１フレーム目を示し、ベクター図形として定義される各部品２１、２２、２３、２４、２５を描画し、図２（ｂ）の２フレーム目には部品２４を回転・縮小して移動、図２（ｃ）の３フレーム目は部品２２を移動、部品２３を回転、図２（ｄ）の４フレーム目は部品２２、２３、２５を移動させる場合の例である。
初期状態として、外部メモリ１７上の２面分のフレームバッファは、フレームバッファＡが描画用、フレームバッファＢが表示用となっており、何れも別途指定された背景色で初期化されているものとする。
【００１０】
まず、ＣＰＵ１６は、あらかじめベクター図形データを外部メモリ１７へ格納しておく。図３はベクター図形データの構造を示したものである。ベクター図形は図形の輪郭を直線やベジェ曲線で構成したものであり、コマンド（MoveToやLineToなど）と頂点または制御点（以下両者を合わせて制御点という）のＸＹ座標値で輪郭を定義する。また、図形の描画色を指定するデータも持つ。
また、ＣＰＵ１６は、１フレーム目を描画するための描画リストをあらかじめ外部メモリ１７へ格納しておく。図４は描画リストの構造を示したものである。描画リストはどの部品（ベクター図形）をどのように描画するかを定義したデータである。どの部品を描画するかは、ベクター図形データへのポインタで指定し、どのように描画するかは変換行列により指定する。この例では変換行列は３×２の行列とし、ベクター図形の制御点のＸＹ座標に対し下記の式で適用することにより、拡大、縮小、回転、平行移動などの座標変換を指示するものである。
【００１１】
【数１】
2013045401.tif 000003
【００１２】
描画リストは１フレーム全ての描画内容を含むものである。例として示した１フレーム目の描画内容（図２（ａ））は部品２１，２２，２３，２４，２５の５つの部品を描画するものであるため、この描画を行うための描画リストは、図４に示すように部品２１，２２，２３，２４，２５それぞれに対するポインタと変換行列で構成される。また、各部品の描画順序は、描画リストの先頭から順に描画されるものである。
【００１３】
描画に必要なベクター図形データおよび描画リストを外部メモリ１７へ格納したら、ＣＰＵ１６はアニメーション描画装置１０に対して描画開始を指示する。これにより、アニメーション描画装置１０は、１フレーム分の描画処理を開始する。
図５は１フレーム目における描画領域判定部１２の動作を説明するための図である。制御部１１はまず、描画領域判定部１２に対して処理を開始するよう指示を出す。描画領域判定部１２は、制御部１１から処理開始の指示を受けると、外部メモリ１７から描画リスト（図５（ａ））と前フレーム描画リスト（図５（ｂ））を読み出す。描画リストはＣＰＵ１６が設定したものであり、前フレーム描画リストは初期状態では無効データが格納されているものとする。
【００１４】
次に、描画領域判定部１２は、描画リストと前フレーム描画リストの内容を比較し、変更箇所を検出する。図５の場合は前フレーム描画リストが無効データであるため、部品２１，２２，２３，２４，２５の全てについて変更があるものと判断する。
次に、描画領域判定部１２は、変更のある部品についてベクター図形データを読み出し、制御点のＸＹ座標に対して、描画リストで指定された変換行列を使用して座標変換処理を行う。すなわち、部品２１のベクター図形データの制御点のＸＹ座標に対しは、変換行列（Ａ１，Ｂ１，Ｃ１，Ｄ１，Ｅ１，Ｆ１）を使用して座標変換処理を行う。また、部品２２のベクター図形データの制御点のＸＹ座標に対しては、変換行列（Ａ２，Ｂ２，Ｃ２，Ｄ２，Ｅ２，Ｆ２）を使用して座標変換処理を行う。同様に、部品２３，２４，２５に対してもそれぞれのベクター図形データに基づき座標変換処理を行う。
【００１５】
この際に、描画領域判定部１２は、座標変換後の制御点のＸＹ座標の最小値および最大値を判定し、保持しておく。これにより、部品２１，２２，２３，２４，２５の全てのベクター図形の座標変換処理を完了した時点で保持している制御点のＸＹ座標の最小値と最大値で構成される矩形領域が、描画を更新すべき領域（図５（ｃ））となる。
描画領域判定部１２は、描画更新領域を求めたら、描画リストの内容を前フレーム描画リストの領域へとコピーする。その後、制御部１１に対して描画更新領域の情報を出力し、動作を終了する。
制御部は１１、描画領域判定部１２から描画更新領域の情報を受け取ったら、その領域の大きさが閾値よりも大きいか否を判定する。例として閾値をフレームバッファ領域の半分の大きさとして説明する。図５（ｃ）の例では描画更新領域の大きさが閾値よりも大きいため、制御部１１は、フレームバッファ全画に描画を行うようベクターグラフィックス描画部１３に対して指示を出す。
【００１６】
図６は１フレーム目におけるベクターグラフィックス描画部１３の描画内容、および画面表示を説明するための図である。
ベクターグラフィックス描画部１３は、制御部１１からの指示により１フレーム分の描画を開始する。この際に、制御部１１からフレームバッファ全面に描画するよう指示されているため、別途指示された背景色でフレームバッファ全面を初期化した後に、描画リストの内容に従いベクター図形データデータに座標変換処理を施し、画素データを生成して描画を行う。この際の初期化および描画は、描画用となっているフレームバッファＡに対して行う（図６（ａ））。
ベクターグラフィックス描画部１３における１フレーム分の描画が完了したら、制御部１１は、描画更新領域が閾値よりも大きいことから、描画用フレームバッファと表示用フレームバッファを切替えるよう指示を出す（図６（ｂ））。すなわち、表示読出し部１５に対し、フレームバッファＡを読み出すよう指示を出す。そして、アニメーション描画装置１０は、１フレーム分の描画処理を完了とする。
【００１７】
その後、表示読出し部１５は制御部１１からの指示に従いフレームバッファＡの内容を読出し、表示装置１８へ出力する。これにより、１フレーム目の描画結果が表示装置１８に表示される。
ＣＰＵ１６は、アニメーション描画装置１０における１フレーム目の描画処理が完了したら、次に２フレーム目の描画のために描画リストの更新を行う。例として示した２フレーム目の描画内容（図２（ｂ））は、１フレーム目の描画内容から部品２４を回転・縮小して移動させたものである。このため、描画リストの部品２４に対応する変換行列の値を更新する。
描画リストの更新が終わったら、ＣＰＵ１６はアニメーション描画装置１０に対して描画開始を指示する。これにより、アニメーション描画装置１０は、１フレーム分の描画処理を開始する。
【００１８】
図７は２フレーム目における描画領域判定部１２の動作を説明するための図である。制御部１１はまず、描画領域判定部１２に対して処理を開始するよう指示を出す。描画領域判定部１２は、制御部１１から処理開始の指示を受けると、外部メモリ１７から描画リスト（図７（ａ））と前フレーム描画リスト（図７（ｂ））を読み出す。描画リスト（図７（ａ））はＣＰＵ１６が更新したものであり、前フレーム描画リスト（図７（ｂ））は１フレーム目の描画リストをコピーしたものである。
【００１９】
次に、描画領域判定部１２は、描画リストと前フレーム描画リストの内容を比較し、変更箇所を検出する。図７の場合は部品２４について変更があるものと判断する。
次に、描画領域判定部１２は、変更のある部品についてベクター図形データを読み出し、制御点のＸＹ座標に対して、描画リストや前フレーム描画リストで指定された変換行列を使用して座標変換処理を行う。すなわち、部品２４のベクター図形データの制御点のＸＹ座標に対し、描画リストで指定された変換行列（Ａ４’，Ｂ４’，Ｃ４’，Ｄ４’，Ｅ４’，Ｆ４’）を使用して座標変換処理を行う。また同様に、部品２４のベクター図形データの制御点のＸＹ座標に対し、前フレーム描画リストで指定された変換行列（Ａ４，Ｂ４，Ｃ４，Ｄ４，Ｅ４，Ｆ４）を使用して座標変換処理を行う。同様に、部品２３，２４，２５に対してもそれぞれ座標変換処理を行う。
【００２０】
この際に、描画領域判定部１２は、座標変換後の制御点のＸＹ座標の最小値および最大値を判定し、保持しておく。これにより、変更のあった部品２４のベクター図形の座標変換処理を完了した時点で保持している制御点のＸＹ座標の最小値と最大値で構成される矩形領域が、描画を更新すべき領域となる（図７（ｃ））。
描画領域判定部１２は、描画更新領域を求めたら、描画リストの内容を前フレーム描画リストの領域へとコピーする。その後、制御部１１に対して描画更新領域の情報を出力し、動作を終了する。
【００２１】
制御部１１は、描画領域判定部１２から描画更新領域の情報を受け取ったら、その領域の大きさが閾値よりも大きいか否を判定する。図７（ｃ）の例では描画更新領域の大きさが閾値よりも小さいため、制御部１１は、描画更新領域内のみに描画を行うようベクターグラフィックス描画部１３に対して指示を出す。
【００２２】
図８は２フレーム目におけるベクターグラフィックス描画部１３の描画内容、および画面表示を説明するための図である。
ベクターグラフィックス描画部１３は、制御部１１からの指示により１フレーム分の描画を開始する。この際に、制御部１１から描画更新領域内のみに描画するよう指示されているため、フレームバッファの初期化およびベクター図形の描画は描画更新領域内のみに対して行う。この際の初期化および描画は、描画用となっているフレームバッファＢに対して行う（図８（ａ））。
ベクターグラフィックス描画部１３における１フレーム分の描画が完了したら、制御部１１は、描画更新領域が閾値よりも小さいことから、矩形転送処理部１４に対し描画用フレームバッファの描画結果を表示用フレームバッファへコピーするよう指示を出す。矩形転送処理部１４は、制御部１１からの指示に従い、描画用であるフレームバッファＢの描画更新領域内の画像を、表示用であるフレームバッファＡへとコピーする。そして、矩形転送処理部１４における処理が完了したら、アニメーション描画装置１０は、１フレーム分の描画処理を完了とする。
【００２３】
表示読出し部１５はフレームバッファＡの内容を読出し、表示装置１８へ出力する。これにより、２フレーム目の描画結果が表示装置に表示される（図８（ｂ））。
ＣＰＵ１６は、アニメーション描画装置１０における２フレーム目の描画処理が完了したら、次に３フレーム目の描画のために描画リストの更新を行う。例として示した３フレーム目の描画内容（図２（ｃ））は、２フレーム目の描画内容から部品２２を移動し、部品２３を回転させたものである。このため、描画リストの部品２２および部品２３に対応する変換行列の値を更新する。
描画リストの更新が終わったら、ＣＰＵ１６はアニメーション描画装置１０に対して描画開始を指示する。これにより、アニメーション描画装置１０は、１フレーム分の描画処理を開始する。
【００２４】
図９は３フレーム目における描画領域判定部１２の動作を説明するための図である。制御部１１はまず、描画領域判定部１２に対して処理を開始するよう指示を出す。描画領域判定部１２は、制御部１１から処理開始の指示を受けると、外部メモリ１７から描画リスト（図９（ａ））と前フレーム描画リスト（図９（ｂ））を読み出す。描画リスト（図９（ａ））はＣＰＵ１６が更新したものであり、前フレーム描画リスト（図９（ｂ））は２フレーム目の描画リストをコピーしたものである。
次に、描画領域判定部１２は、描画リストと前フレーム描画リストの内容を比較し、変更箇所を検出する。図９の場合は部品２２，２３について変更があるものと判断する。
【００２５】
次に、描画領域判定部１２は、変更のある部品についてベクター図形データを読み出し、制御点のＸＹ座標に対して、描画リストや前フレーム描画リストで指定された変換行列を使用して座標変換処理を行う。すなわち、部品２２および部品２３のベクター図形データの制御点のＸＹ座標に対し、描画リストや前フレーム描画リストで指定された変換行列を使用して座標変換処理を行う。
この際に、描画領域判定部１２は、座標変換後の制御点のＸＹ座標の最小値および最大値を判定し、保持しておく。これにより、変更のあった部品２２，２３のベクター図形の座標変換処理を完了した時点で保持している制御点のＸＹ座標の最小値と最大値で構成される矩形領域が、描画を更新すべき領域となる（図９（ｃ））。
【００２６】
描画領域判定部１２は、描画更新領域を求めたら、描画リストの内容を前フレーム描画リストの領域へとコピーする。その後、制御部１１に対して描画更新領域の情報を出力し、動作を終了する。
制御部は１１、描画領域判定部１２から描画更新領域の情報を受け取ったら、その領域の大きさが閾値よりも大きいか否を判定する。図９（ｃ）の例では描画更新領域の大きさが閾値よりも小さいため、制御部１１は、描画更新領域内のみに描画を行うようベクターグラフィックス描画部１３に対して指示を出す。
【００２７】
図１０は３フレーム目におけるベクターグラフィックス描画部１３の描画内容、および画面表示を説明するための図である。
ベクターグラフィックス描画部１３は、制御部１１からの指示により１フレーム分の描画を開始する。この際に、制御部１１から描画更新領域内のみに描画するよう指示されているため、フレームバッファの初期化およびベクター図形の描画は描画更新領域内のみに対して行う。この際の初期化および描画は、描画用となっているフレームバッファＢに対して行う（図１０（ａ））。
【００２８】
ベクターグラフィックス描画部１３における１フレーム分の描画が完了したら、制御部１１は、描画更新領域が閾値よりも小さいことから、矩形転送処理部１４に対し描画用フレームバッファの描画結果を表示用フレームバッファへコピーするよう指示を出す。矩形転送処理部１４は、制御部１１からの指示に従い、描画用であるフレームバッファＢの描画更新領域内の画像を、表示用であるフレームバッファＡへとコピーする。そして、矩形転送処理部１４における処理が完了したら、アニメーション描画装置１０は、１フレーム分の描画処理を完了とする。
表示読出し部１５はフレームバッファＡの内容を読出し、表示装置１８へ出力する。これにより、３フレーム目の描画結果が表示装置に表示される（図１０（ｂ））。
【００２９】
ＣＰＵ１６は、アニメーション描画装置１０における３フレーム目の描画処理が完了したら、次に４フレーム目の描画のために描画リストの更新を行う。例として示した４フレーム目の描画内容（図２（ｄ））は、３フレーム目の描画内容から部品２２、２３，２５を移動したものである、このため、描画リストの部品２２、２３，２５に対応する変換行列の値を更新する。
描画リストの更新が終わったら、ＣＰＵ１６はアニメーション描画装置１０に対して描画開始を指示する。これにより、アニメーション描画装置１０は、１フレーム分の描画処理を開始する。
【００３０】
図１１は４フレーム目における描画領域判定部１２の動作を説明するための図である。制御部１１はまず、描画領域判定部１２に対して処理を開始するよう指示を出す。描画領域判定部１２は、制御部１１から処理開始の指示を受けると、外部メモリ１７から描画リスト（図１１（ａ））と前フレーム描画リスト（図１１（ｂ））を読み出す。描画リスト（図１１（ａ））はＣＰＵ１６が更新したものであり、前フレーム描画リスト（図１１（ｂ））は３フレーム目の描画リストをコピーしたものである。
次に、描画領域判定部１２は、描画リストと前フレーム描画リストの内容を比較し、変更箇所を検出する。図１１の場合は部品２２，２３、２５について変更があるものと判断する。
次に、描画領域判定部１２は、変更のある部品についてベクター図形データを読み出し、制御点のＸＹ座標に対して、描画リストや前フレーム描画リストで指定された変換行列を使用して座標変換処理を行う。すなわち、部品２２、２３、２５のベクター図形データの制御点のＸＹ座標に対し、描画リストや前フレーム描画リストで指定された変換行列を使用して座標変換処理を行う。
この際に、描画領域判定部１２は、座標変換後の制御点のＸＹ座標の最小値および最大値を判定し、保持しておく。これにより、変更のあった部品２２、２３、２５のベクター図形の座標変換処理を完了した時点で保持している制御点のＸＹ座標の最小値と最大値で構成される矩形領域が、描画を更新すべき領域（図１１（ｃ））となる。
【００３１】
描画領域判定部１２は、描画更新領域を求めたら、描画リストの内容を前フレーム描画リストの領域へとコピーする。その後、制御部１１に対して描画更新領域の情報を出力し、動作を終了する。
制御部１１は、描画領域判定部１２から描画更新領域の情報を受け取ったら、その領域の大きさが閾値よりも大きいか否を判定する。図１１（ｃ）の例では描画更新領域の大きさが閾値よりも大きいため、制御部１１は、フレームバッファ全画に描画を行うようベクターグラフィックス描画部１３に対して指示を出す。
【００３２】
図１２は４フレーム目におけるベクターグラフィックス描画部１３の描画内容、および画面表示を説明するための図である。
ベクターグラフィックス描画部１３は、制御部１１からの指示により１フレーム分の描画を開始する。この際に、制御部１１からフレームバッファ全面に描画するよう指示されているため、別途指示された背景色でフレームバッファ全面を初期化した後に、描画リストの内容に従いベクター図形に座標変換処理を施し、画素データを生成して描画を行う。この際の初期化および描画は、描画用となっているフレームバッファＢに対して行う（図１２（ａ））。
【００３３】
ベクターグラフィックス描画部１３における１フレーム分の描画が完了したら、制御部１１は、描画更新領域が閾値よりも大きいことから、描画用フレームバッファと表示用フレームバッファを切替えるよう指示を出す（図１２（ｂ））。すなわち、表示読出し部１５に対し、フレームバッファＢを読み出すよう指示を出す。そして、アニメーション描画装置１０は、１フレーム分の描画処理を完了とする。
その後、表示読出し部１５は制御部１１からの指示に従いフレームバッファＢの内容を読出し、表示装置１８へ出力する。これにより、４フレーム目の描画結果が表示装置に表示される。
【００３４】
以上のように、描画リストと前フレーム描画リストを比較し、変更のあった部品についてベクター図形データの制御点座標に座標変換を行い、その最小値と最大値から描画更新領域を求めることにより、実際に各部品を描画する前に更新領域を求めることができる。
また、描画更新領域が閾値よりも小さい場合には描画更新領域内のみを描画して描画結果を表示用フレームバッファへコピーし、描画更新領域が閾値よりも大きい場合には全画面を描画して描画用フレームバッファと表示用フレームバッファを切り替えるように制御することで、両方式の効率の良い方を動的に選択できるため、効率よくアニメーション描画を行うことができるという効果がある。
【産業上の利用可能性】
【００３５】
この発明は、情報端末機器への利用可能であり、特に携帯電話機や携帯情報端末機等に適用されるとその効果が大である。
【符号の説明】
【００３６】
１０；アニメーション描画装置、１１；制御部、１２；描画領域判定部、１３；ベクターグラフィックス描画部、１４；矩形転送処理部、１５；表示読出し部、１６；ＣＰＵ（Central Processing Unit），１７；外部メモリ、１８；表示装置。
【図１】
2013045401.tif 000004
【図２】
2013045401.tif 000005
【図３】
2013045401.tif 000006
【図４】
2013045401.tif 000007
【図５】
2013045401.tif 000008
【図６】
2013045401.tif 000009
【図７】
2013045401.tif 000010
【図８】
2013045401.tif 000011
【図９】
2013045401.tif 000012
【図１０】
2013045401.tif 000013
【図１１】
2013045401.tif 000014
【図１２】
2013045401.tif 000015