図面 (/)

技術 図形描画装置および図形描画プログラム

出願人 三菱電機株式会社
発明者 鳥居晃
出願日 2015年9月29日 (3年10ヶ月経過) 出願番号 2015-191149
公開日 2017年4月6日 (2年4ヶ月経過) 公開番号 2017-068419
状態 特許登録済
技術分野 イメージ処理・作成
主要キーワード 選択レイヤ 図形描画プログラム 図形描画装置 組込み機器 描画状態 描画プログラム 図形画像 表示画
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2017年4月6日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (10)

課題

ベクター図形ラスタライズする専用のハードウェアの無い組込み機器においても、無駄な重なり描画を省きスムーズなアニメーション表示を実現する図形描画装置および図形描画プログラムを提供する。

解決手段

アニメーションのない第1のベクター図形がアニメーションのある第2のベクター図形の描画に影響を与える場合には、第1のベクター図形のうち、第2のベクター図形の描画に影響を与えない部分をアニメーションのない他のベクター図形と1つにまとめたビットマップイメージを生成し、第2のベクター図形の描画に影響を与える部分のみで別のビットマップイメージを生成する。

概要

背景

ベクター図形は、輪郭を構成する直線または曲線頂点または制御点と、塗り潰し色等の属性で定義されており、ビットマップ形式のデータ(ラスタデータ)よりも小さいデータサイズで図形等を表現することができる。また、フレームごとに拡大、縮小、回転、平行移動等の座標変換を行うことによりアニメーション表示を行うことができる。ベクター図形を画面に表示する際にはラスタライズ処理を行い、ベクター図形データからビットマップイメージを生成する必要がある。ベクター図形データとは、ベクター図形を定義するためのデータである。

ベクター図形をアニメーション表示するには、フレームごとにラスタライズ処理を行う必要があるが、ベクター図形のラスタライズ処理は負荷の高い処理である。このため、組込み機器のようなCPU(Central Processing Unit)処理性能の低いシステムにおいて、1秒あたり30フレームあるいは60フレームなどのスムーズなアニメーション表示を実現するには、ベクター図形をラスタライズ処理する専用のハードウェアが必要となる。

これに対し、特許文献1は、ベクター図形をラスタライズする専用のハードウェアが無い場合に、ベクター図形のアニメーション表示を実現する方法を開示している。具体的には、事前にベクター図形データをラスタライズ処理してビットマップイメージを作成し、このビットマップイメージに加工を施して描画することにより、アニメーション表示を行う方法が提案されている。

概要

ベクター形をラスタライズする専用のハードウェアの無い組込み機器においても、無駄な重なり描画を省きスムーズなアニメーション表示を実現する形描画装置および形描画プログラムを提供する。アニメーションのない第1のベクター形がアニメーションのある第2のベクター形の描画に影響を与える場合には、第1のベクター形のうち、第2のベクター形の描画に影響を与えない部分をアニメーションのない他のベクター形と1つにまとめたビットマップイメージを生成し、第2のベクター形の描画に影響を与える部分のみで別のビットマップイメージを生成する。

目的

この発明は、上記のような問題点を解決するためになされたものであり、無駄な重なり描画を省き、スムーズなアニメーション表示を実現する図形描画装置を提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

ベクター図形を描画してアニメーション表示を行う図形描画装置であって、フレームごとに定義された前記ベクター図形の描画状態に基づいて、前記ベクター図形のラスタライズ処理方法を判断する判定部と、前記判定部が判断した前記ラスタライズ処理方法に基づいて前記ベクター図形をラスタライズ処理してビットマップイメージを作成するラスタライズ部と、前記ビットマップイメージを所定の状態に配置して前記ベクター図形を描画する描画部とを備え、前記判定部は、アニメーションのない第1のベクター図形がアニメーションのある第2のベクター図形の描画に影響を与えるか否かを判定し、前記第2のベクター図形の描画に影響を与える場合には、前記第1のベクター図形のうち、前記第2のベクター図形の描画に影響を与えない部分をアニメーションのない第3のベクター図形と1つにまとめたビットマップイメージを生成し、前記第2のベクター図形の描画に影響を与える部分のみで別のビットマップイメージを生成するよう前記ラスタライズ部に指示する図形描画装置。

請求項2

前記判定部は、第1のベクター図形の描画範囲が、前記第1のベクター図形が存在するレイヤーより下のレイヤーに存在する第2のベクター図形の描画範囲と重なる場合に、第1のベクター図形が第2のベクター図形の描画に影響を与えると判定することを特徴とする請求項1に記載の図形描画装置。

請求項3

前記判定部は、第1のベクター図形の描画範囲のうち、前記第1のベクター図形が存在するレイヤーより下のレイヤーに存在する第2のベクター図形の描画範囲と重ならない部分を前記第2のベクター図形の描画に影響を与えない部分、第2のベクター図形の描画範囲と重なる部分を前記第2のベクター図形の描画に影響を与える部分とすることを特徴とする請求項1に記載の図形描画装置。

請求項4

ベクター図形の画像を描画してアニメーション表示を行う処理をコンピュータに実行させる図形描画プログラムであって、フレームごとに定義された前記ベクター図形の描画状態に基づいて、アニメーションのない第1のベクター図形がアニメーションのある第2のベクター図形の描画に影響を与えるか否かを判定し、前記第2のベクター図形の描画に影響を与える場合には、前記第1のベクター図形のうち、前記第2のベクター図形の描画に影響を与えない部分をアニメーションのない第3のベクター図形と1つにまとめたビットマップイメージを生成し、前記第2のベクター図形の描画に影響を与える部分のみで別のビットマップイメージを生成するよう前記ラスタライズ部に指示する判定ステップと、前記判定部が判断した前記ラスタライズ処理方法に基づいて前記ベクター図形をラスタライズ処理してビットマップイメージを作成するラスタライズステップと、前記ビットマップイメージを所定の状態に配置して前記ベクター図形を描画する描画ステップとをコンピュータに実行させる図形描画プログラム。

技術分野

0001

この発明は、図形画像を描画してアニメーション表示を行う図形描画装置および図形描画装置プログラムに関する。

背景技術

0002

ベクター図形は、輪郭を構成する直線または曲線頂点または制御点と、塗り潰し色等の属性で定義されており、ビットマップ形式のデータ(ラスタデータ)よりも小さいデータサイズで図形等を表現することができる。また、フレームごとに拡大、縮小、回転、平行移動等の座標変換を行うことによりアニメーション表示を行うことができる。ベクター図形を画面に表示する際にはラスタライズ処理を行い、ベクター図形データからビットマップイメージを生成する必要がある。ベクター図形データとは、ベクター図形を定義するためのデータである。

0003

ベクター図形をアニメーション表示するには、フレームごとにラスタライズ処理を行う必要があるが、ベクター図形のラスタライズ処理は負荷の高い処理である。このため、組込み機器のようなCPU(Central Processing Unit)処理性能の低いシステムにおいて、1秒あたり30フレームあるいは60フレームなどのスムーズなアニメーション表示を実現するには、ベクター図形をラスタライズ処理する専用のハードウェアが必要となる。

0004

これに対し、特許文献1は、ベクター図形をラスタライズする専用のハードウェアが無い場合に、ベクター図形のアニメーション表示を実現する方法を開示している。具体的には、事前にベクター図形データをラスタライズ処理してビットマップイメージを作成し、このビットマップイメージに加工を施して描画することにより、アニメーション表示を行う方法が提案されている。

先行技術

0005

特開2007−18157号公報

発明が解決しようとする課題

0006

しかしながら、特許文献1による方式では、個々のベクター図形データをそれぞれ別々のビットマップイメージにラスタライズ処理して保持することになる。そのため、ベクター図形同士の重なりが多いコンテンツでは、ビットマップイメージの保持に必要なメモリ領域が膨大となり、また、アニメーション表示する際にビットマップイメージの貼り付けに要する処理時間が増えるなどの問題があった。

0007

この発明は、上記のような問題点を解決するためになされたものであり、無駄な重なり描画を省き、スムーズなアニメーション表示を実現する図形描画装置を提供することを目的とするものである。

課題を解決するための手段

0008

本発明は、ベクター図形を描画してアニメーション表示を行う図形描画装置であって、フレームごとに定義されたベクター図形の描画状態に基づいて、ベクター図形のラスタライズ処理方法を判断する判定部と、判定部が判断したラスタライズ処理方法に基づいてベクター図形をラスタライズ処理してビットマップイメージを作成するラスタライズ部と、ビットマップイメージを所定の状態に配置してベクター図形を描画する描画部とを備え、判定部は、アニメーションのない第1のベクター図形がアニメーションのある第2のベクター図形の描画に影響を与えるか否かを判定し、第2のベクター図形の描画に影響を与える場合には、第1のベクター図形のうち、第2のベクター図形の描画に影響を与えない部分をアニメーションのない第3のベクター図形と1つにまとめたビットマップイメージを生成し、第2のベクター図形の描画に影響を与える部分のみで別のビットマップイメージを生成するようラスタライズ部に指示する図形描画装置である。

0009

また、本発明は、ベクター図形の画像を描画してアニメーション表示を行う処理をコンピュータに実行させる図形描画プログラムであって、フレームごとに定義されたベクター図形の描画状態に基づいて、アニメーションのない第1のベクター図形がアニメーションのある第2のベクター図形の描画に影響を与えるか否かを判定し、第2のベクター図形の描画に影響を与える場合には、第1のベクター図形のうち、第2のベクター図形の描画に影響を与えない部分をアニメーションのない第3のベクター図形と1つにまとめたビットマップイメージを生成し、第2のベクター図形の描画に影響を与える部分のみで別のビットマップイメージを生成するようラスタライズ部に指示する判定ステップと、判定部が判断したラスタライズ処理方法に基づいてベクター図形をラスタライズ処理してビットマップイメージを作成するラスタライズステップと、ビットマップイメージを所定の状態に配置してベクター図形を描画する描画ステップとをコンピュータに実行させる図形描画プログラムでもある。

発明の効果

0010

本発明にかかる図形描画装置によれば、上記のように構成したことにより、ビットマップイメージを保持するためのメモリ領域を削減し、スムーズなアニメーション表示を実現することができる。

図面の簡単な説明

0011

本発明の実施の形態1における図形描画装置の構成例を示すブロック図である。
本発明の実施の形態1における図形描画装置のハードウェア構成例を示す図である。
本発明の実施の形態1におけるベクター図形の一例を示す説明図である。
本発明の実施の形態1におけるアニメーションデータの一例を示す説明図である。
アニメーション表示の一例を示す説明図である。
本発明の実施の形態1におけるビットマップアニメーションデータの一例を示す説明図である。
本発明の実施の形態1における図形描画装置の処理の流れを示すフローチャートである。
本発明の実施の形態1におけるビットマップイメージの一例を示す説明図である。
本発明の実施の形態1における描画処理の一例を示す説明図である。

実施例

0012

以下、本発明の画像処理装置および画像処理方法の実施の形態について、図面を用いて説明する。なお、各図において、同一または相当する部分には同一の符号を示す。

0013

実施の形態1.
まず、本発明の実施の形態1における図形描画装置10の構成について説明する。図1は、本発明の実施の形態1における図形描画装置10の構成の一例を示すブロック図である。

0014

図形描画装置10は、ベクター図形データ22とアニメーションデータ21とに基づいて、各ベクター図形のラスタライズ処理の方法を判定する判定部11、判定部11から指示される処理方法でベクター図形データをラスタライズ処理してビットマップイメージを作成するラスタライズ処理部12、ラスタライズ処理部で作成したビットマップイメージを貼り付け(合成し)、表示画面に表示する画像を作成する描画部13で構成される。また、図形描画装置10は、各種データを格納するためのメモリ20、および作成した画像を表示する表示装置(図示せず)と接続される。なお、以下では「ラスタライズ処理」のことを単に「ラスタライズ」という場合がある。

0015

ここで、ベクター図形データ22およびアニメーションデータ21について図を用いて説明する。図3は、ベクター図形データ22により定義されるベクター図形の一例を示す図である。図4は、アニメーションデータ21の一例を示す図である。

0016

ベクター図形データ22とは、ベクター図形を構成する輪郭の情報や塗り潰し色等の属性を定義したデータである。ベクター図形30,31,32,33,34,35,36,37は、それぞれ個別のベクター図形データ22により表される。なお、ベクター図形33の右側に記載されている破線の矢印は、ベクター図形33が右側に移動するアニメーションとして表示されることを表すものである。

0017

アニメーションデータ21とは、ベクター図形を描画してアニメーション表示を行うため、ベクター図形の識別子と、そのベクター図形を画面上に描画する位置とをフレームごとに定義したデータである。描画する位置は、座標変換行列(単に変換行列とも言う)により与えられるものとする。座標変換行列は、ベクター図形の描画位置だけでなくサイズ、回転量等、様々な描画状態を定義することができる。また、各ベクター図形の上下関係(画面に垂直な方向において、観察者に近い側を上、遠い側を下とする)を示すために、各ベクター図形を描画するレイヤーの情報も含まれる。図4の例では、レイヤー0が最も下の層、レイヤー7が最も上の層である。

0018

図示したアニメーションデータ21の1フレーム目では、レイヤー0にベクター図形30が変換行列A30で定義した状態に描画される。レイヤー1〜7についても同様に描画される。2フレーム目では、レイヤー3にベクター図形33が変換行列A33’で定義した状態に描画され、3フレーム目では、レイヤー3にベクター図形33が変換行列A33’’で定義した状態に描画される。つまり、1フレーム目では、全てのレイヤー0のベクター図形が描画され、2,3フレーム目では、レイヤー3のベクター図形のみ再描画される。これにより、ベクター図形33の描画状態がフレーム毎に変化し、アニメーション表示が実現される。

0019

このように、アニメーションデータ21では、変換行列、つまり描画状態が変化するベクター図形のみが再定義される。よって、アニメーションのあるベクター図形は、アニメーションデータ21に複数回現れる。

0020

図5は、図3,4に示したベクター図形データ22とアニメーションデータ21を用いてベクター図形を描画した結果を示す説明図である。図5(a)は1フレーム目の描画結果図5(b)は2フレーム目の描画結果、図5(c)は3フレーム目の描画結果をそれぞれ示す。図より、ベクター図形33の車が表示画面の左端から右端に向かって移動するアニメーション表示を実現していることが分かる。

0021

判定部11は、ベクター図形データ22とアニメーションデータ21とをメモリ20から読み出し、アニメーションデータ21で定義されるベクター図形の描画状態に基づいて、ベクター図形のラスタライズ処理の方法を判断する。具体的には、まず、判定部11は、アニメーションのないベクター図形(第1のベクター図形とする)がアニメーションのあるベクター図形(第2のベクター図形とする)の描画に影響を与えるか否かを判定する。第1のベクター図形が第2のベクター図形の描画に影響を与える場合には、第1のベクター図形のうち、第2のベクター図形の描画に影響を与えない部分をアニメーションのない他のベクター図形(第3のベクター図形とする)と1つにまとめたビットマップイメージを生成し、第2のベクター図形の描画に影響を与える部分のみで別のビットマップイメージを生成すると判定部11は判断する。判断結果は、判定部11からラスタライズ処理部12へ伝えられる。また、判定部11は、判断したラスタライズ処理の方法に応じてビットマップアニメーションデータ24を作成する。ビットマップアニメーションデータ24は、メモリ20に格納される。

0022

ここで、ビットマップアニメーションデータ24について説明する。図6は、ビットマップアニメーションデータ24の一例を示す図である。ビットマップアニメーションデータ24とは、判定部11で判断したラスタライズ処理の方法に応じて作成したビットマップイメージ23を描画してアニメーション表示を行うため、描画するレイヤー、ビットマップイメージの識別子、描画する位置を与える座標変換行列をフレームごとに定義したデータである。レイヤーおよび座標変換行列はアニメーションデータ21と同様に定義される。

0023

ラスタライズ処理部12は、判定部11から送られてくる指示に基づき、メモリ20から読み出したベクター図形データ22をラスタライズ処理してビットマップイメージ23を作成する。ビットマップイメージ23は、メモリ20に格納される。なお、「ラスタライズ処理部」のことを単に「ラスタライズ部」という場合がある。

0024

描画部13は、ビットマップアニメーションデータ24の定義に基づき、それぞれのビットマップイメージ23を変換行列で指定した所定の状態に配置し、ベクター図形を描画する。また、描画した結果を表示装置へ転送することにより、アニメーションの表示を行う。

0025

次に、図形描画装置10のハードウェア構成について説明する。図2(a)は実施の形態1における図形描画装置10のハードウェア構成例を示す図である。図2(b)は実施の形態1における図形描画装置10の他のハードウェア構成例を示す図である。

0026

図形描画装置10、判定部11、ラスタライズ処理部12、描画部13の機能は、処理回路(ProcessingCircuitry)により実現される。処理回路は、専用のハードウェアであっても、メモリに格納されるプログラムを実行するCPU(Central Processing Unit、マイクロプロセッサマイクロコンピュータともいう)であってもよい。

0027

図2(a)は、処理回路が専用のハードウェアである場合の構成を示す。処理回路60aは、表示装置62とバスで接続される。処理回路60aは、例えば、ASIC(Application Specific IntegratedCircuit)、FPGA(Field Programmable Gate Array)、またはこれらの組み合わせ等により実現される。図形描画装置10、判定部11、ラスタライズ処理部12、描画部13の機能をそれぞれ個別の処理回路60aで実現してもよいし、複数の機能をまとめて1つの処理回路60aで実現してもよい。例えば、描画部13におけるビットマップイメージの描画は、2Dグラフィックスのハードウェアを使用してもよいし、3Dグラフィックス(OpenglES)のテクスチャマッピング機能を使用して行ってもよい。

0028

図2(b)は、処理回路がCPUである場合の構成を示す。処理回路60aは、メモリ61および表示装置62とバスで接続される。図形描画装置10、判定部11、ラスタライズ処理部12、描画部13の機能は、ソフトウェアファームウェア、またはソフトウェアとファームウェアとの組み合わせ等により実現される。ソフトウェアやファームウェアはプログラムとして記述され、判定ステップ、ラスタライズ処理ステップ、描画ステップが結果的に実行されることになるプログラムは、メモリ61に格納される。処理回路60bは、メモリ61に記憶されたプログラムを読み出して実行することにより、判定部11、ラスタライズ処理部12、描画部13の各機能を実現する。プログラムを実行して得た画像は、処理回路60aから表示装置62へ転送される。

0029

なお、図形描画装置10、判定部11、ラスタライズ処理部12、描画部13の機能は、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。

0030

メモリ61は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)等が該当する。表示装置62は、液晶ディスプレイ等が該当する。メモリ61には、アニメーションデータ21、ベクター図形データ22、ビットマップイメージ23、ビットマップアニメーションデータ24が格納される。処理回路がCPUである場合には、プログラムも格納される。

0031

次に、実施の形態1における図形描画装置10の動作について説明する。図7は実施の形態1に係る図形描画装置100において、ベクター図形をラスタライズ処理してビットマップイメージを作成する処理の動作例を示すフローチャートである。処理は、一番下のレイヤーに存在するベクター図形から順に行われる。

0032

まず、判定部11は、メモリ20からアニメーションデータ21を読み出し、その内容から一番下のレイヤーを選択する(ステップS00)。以降の説明では、判定部11がその時点で選択しているレイヤーを選択レイヤーと言う場合がある。

0033

次に、判定部11は、アニメーションデータ21内を走査し、選択レイヤーに存在するベクター図形がアニメーションを含むか否か、つまり、アニメーション表示されるベクター図形が選択レイヤーに存在するか否かを判定する(ステップS01)。判定は、アニメーションデータ21の形式に応じた方法で適宜行えばよい。例えば、図4に示すアニメーションデータ21のように、描画位置を変更するベクター図形のみ再定義される場合には、アニメーションデータ21に複数回現れるベクター図形はアニメーションを含むと判断する。一方、1回しか現れないベクター図形はアニメーションを含まないと判断する。

0034

ステップS01において、選択レイヤーに存在するベクター図形がアニメーションを含むと判断した場合、判定部11は、そのベクター図形をラスタライズ処理して新しいビットマップイメージ23を作成するよう、ラスタライズ処理部12へ指示する。また、判定部11は、一連のアニメーション表示を行う際にそのベクター図形の描画が及ぶ範囲を求める(ステップS04)。ベクター図形の描画が及ぶ範囲とは、例えば、アニメーション表示されるベクター図形が、アニメーションの開始から終了までの間に描画される領域を全て含むような矩形領域(バウンディングボックス)で規定される。

0035

ステップS01において、選択レイヤーに存在するベクター図形がアニメーションを含まないと判断した場合、判定部11は、更に、選択レイヤーより下のレイヤーにアニメーションを含むベクター図形が存在するか否かを判定する(ステップS02)。

0036

ステップS02において、選択レイヤーより下のレイヤーにもアニメーションを含むベクター図形が存在しないと判断した場合、判定部11は、選択レイヤーに存在するベクター図形をラスタライズ処理してビットマップイメージ23を作成するようラスタライズ処理部12へ指示する。また、選択レイヤーより下のレイヤーで、今回と同様の判断に至ったベクター図形をラスタライズ処理して作成したビットマップイメージ23に、今回作成したビットマップイメージ23を上書きするよう、ラスタライズ処理部12へ指示する(ステップS05)。なお、選択レイヤーより下のレイヤーがない場合や、選択レイヤーより下のレイヤーに同様の判断に至ったベクター図形が存在しない場合には、上書きする代わりに、新しいビットマップイメージ23を作成する。

0037

ステップS02において、選択レイヤーより下のレイヤーにアニメーションを含むベクター図形が存在すると判断した場合、判定部11は、更に、選択レイヤーに存在しアニメーションを含まないベクター図形が、選択レイヤーより下のレイヤーに存在しアニメーションを含むベクター図形の描画に影響を与えるか否かを判断する(ステップS03)。影響を与えるとは、一方を描画し直したときに、他方の描画結果も変化することを意味する。よって、例えば、選択レイヤーに存在しアニメーションを含まないベクター図形の描画領域と、選択レイヤーより下のレイヤーに存在しアニメーションを含むベクター図形の描画領域との重なりの有無により、影響を与えるか否かを判断する。つまり、互いの描画領域に重なりがある場合には影響を与えると判断し、重なりがない場合には影響を与えないと判断する。なお、アニメーションを含むベクター図形の描画領域とは、1フレームのみの描画領域ではなく、ベクター図形の描画が及ぶ範囲を指す。

0038

ステップS03において、アニメーションを含むベクター図形の描画領域に重なりがないと判断した場合、判定部11は、選択レイヤーに存在するベクター図形に対してステップ05の処理を実行する。

0039

ステップS03において、アニメーションを含むベクター図形の描画領域に重なりがあると判断した場合、判定部11は、選択レイヤーに存在しアニメーションを含むベクター図形をラスタライズ処理して作成したビットマップイメージ23のうち、描画領域が重なる部分(影響を与える部分)は新しいビットマップイメージ23として作成し、描画領域が重ならない部分(影響を与えない部分)はステップ05と同様、選択レイヤーの下のレイヤーに存在しアニメーションを含まないベクター図形をラスタライズ処理して作成したビットマップイメージ23に上書きするよう、ラスタライズ処理部12へ指示する(ステップS06)。

0040

ラスタライズ処理部12は、判定部11からの指示に基づき、ベクター図形をラスタライズ処理してビットマップイメージ23を作成し、メモリ20に格納する。

0041

その後、判定部11は、アニメーションデータ21に含まれる全レイヤーのベクター図形に対する処理が終わったか否かを判断する(ステップS07)。具体的には、選択レイヤーが一番上のレイヤーの場合にはこの処理を終了し、そうでなければ選択レイヤーを1つ上のレイヤーに変更し(ステップS08)、ステップS01に戻る。

0042

上記の処理により、全てのレイヤーの処理が終了したら、判定部11は、メモリ20上にビットマップアニメーションデータ23を作成する。ビットマップアニメーションデータ23は、アニメーションデータ21に定義されているベクター図形のうち、上記の処理において、1つのビットマップイメージ23にまとめたベクター図形の定義を1つにまとめたものである。

0043

その後、描画処理部13は、ビットマップアニメーションデータ23に従い、フレームごとに指定されたビットマップイメージ23を指定された位置に変形して貼り付けることにより描画を行う。また、描画結果を表示装置へ転送することによりアニメーションの表示を行う。

0044

図形描画装置10の動作について、より詳細に説明する。

0045

ここでは、図5(a)〜(c)に示すように、図3に示す8つのベクター図形30〜37で構成され、ベクター図形33が左から右へ移動するアニメーション表示が行われる場合について説明する。図形描画装置10には、アニメーション表示を行うために、図3に示すベクター図形30〜37を定義するベクター図形データ22と、図4に示すアニメーションデータ21とが与えられる。図8(a)〜(d)は、処理中にメモリ20上のビットマップイメージ24が変化する様子、およびアニメーション表示した際にベクター図形の描画の及ぶ範囲を説明する説明図である。図9は、描画部13がビットマップイメージ24を所定の状態に配置する処理を説明する説明図である。

0046

まず、判定部11は、最初の処理対象として、レイヤー0を選択する。レイヤー0にはベクター図形30が存在する。判定部11は、アニメーションデータ21内を走査し、ベクター図形30がアニメーションを含むか否かを判定する。ベクター図形30は1フレーム目にのみ存在することから、判定部11は、ベクター図形30はアニメーションを含まないと判断し、ステップS02へ進む。

0047

判定部11は、更に、レイヤー0より下のレイヤーにアニメーションを含むベクター図形があるか否かを判断する。レイヤー0より下のレイヤーは無いので、判定部11は、レイヤー0より下のレイヤーにアニメーションを含むベクター図形はないと判断し、ステップS05へ進む。

0048

ラスタライズ部12は、判定部11からの指示に従い、ベクター図形30をラスタライズ処理するが、レイヤー0より下のレイヤーは存在しないので、ラスタライズ処理した結果を上書きするビットマップイメージがメモリ20上に存在しない。よって、ラスタライズ部12は、ベクター図形30をラスタライズ処理し、変換行列A30で与えられる位置に配置したビットマップイメージ40をメモリ20上に新たに作成する。このとき、ベクター図形30は、変換行列A30で与えられる位置に配置される。以上でレイヤー0の処理が終了する。

0049

次に、判定部11は、処理対象としてレイヤー0の1つ上のレイヤーであるレイヤー1を選択する。レイヤー1にはベクター図形31が存在する。判定部11は、アニメーションデータ21内を走査し、ベクター図形31がアニメーションを含むか否かを判定する。ベクター図形31は1フレーム目にのみ存在することから、判定部11は、ベクター図形31はアニメーションを含まないと判断し、ステップS02へ進む。

0050

判定部11は、更に、レイヤー1より下のレイヤーにアニメーションを含むベクター図形があるか否かを判断する。レイヤー1より下のレイヤー0に存在するベクター図形30はアニメーションを含まないので、判定部11は、レイヤー1より下のレイヤーにアニメーションを含むベクター図形はないと判断し、ステップS05へ進む。

0051

ラスタライズ部12は、判定部11からの指示に従い、ベクター図形31をラスタライズ処理し、レイヤー0に存在するベクター図形30をラスタライズ処理して作成したビットマップイメージ40に上書きする。このとき、ベクター図形31は、変換行列A31で与えられる位置に配置される。以上でレイヤー1の処理が終了する。

0052

次に、判定部11は、処理対象としてレイヤー2を選択する。レイヤー2にはベクター図形32が存在する。判定部11は、アニメーションデータ21内を走査し、ベクター図形32がアニメーションを含むか否かを判定する。ベクター図形32は1フレーム目にのみ存在することから、判定部11は、ベクター図形31はアニメーションを含まないと判断し、ステップS02へ進む。

0053

判定部11は、更に、レイヤー2より下のレイヤーにアニメーションを含むベクター図形があるか否かを判断する。レイヤー2より下のレイヤー0,1に存在するベクター図形30,31はアニメーションを含まないので、判定部11は、レイヤー2より下のレイヤーにアニメーションを含むベクター図形はないと判断し、ステップS05へ進む。

0054

ラスタライズ部12は、判定部11からの指示に従い、ベクター図形32をラスタライズ処理してビットマップイメージ40に上書きする。このとき、ベクター図形32は、変換行列A32で与えられる位置に配置される。以上でレイヤー2の処理が終了する。

0055

図8(a)は、レイヤー2の処理により作成されたビットマップイメージ40を示す図である。ビットマップイメージ40は、レイヤー0,1,2に存在するベクター図形30,31,32を1つにまとめたものである。

0056

次に、判定部11は、処理対象としてレイヤー3を選択する。レイヤー3にはベクター図形33が存在する。判定部11は、アニメーションデータ21内を走査し、ベクター図形33がアニメーションを含むか否かを判定する。ベクター図形33は1,2,3フレーム目に存在することから、判定部11は、ベクター図形33はアニメーションを含むと判断し、ステップS04へ進む。

0057

ラスタライズ部12は、判定部11からの指示に従い、ベクター図形33をラスタライズ処理し、ステップS05の処理で作成したビットマップイメージ40とは別領域にビットマップイメージ41を作成する。一方、判定部11は、アニメーションデータ21を走査し、アニメーションの開始から終了までの間に、画面上でベクター図形33の描画が及ぶ範囲42を求める。以上でレイヤー3の処理が終了する。

0058

図8(b)は、レイヤー3の処理により作成されたビットマップイメージ41と、ベクター図形33の描画の及ぶ範囲(描画範囲とも言う)42を示す図である。ベクター図形33の描画の及ぶ範囲は、例えば、アニメーション表示を行ったときにベクター図形33が描画される領域をすべて含む矩形により規定してもよい。

0059

次に、判定部11は、処理対象としてレイヤー4を選択する。レイヤー4にはベクター図形34が存在する。判定部11は、アニメーションデータ21内を走査し、ベクター図形34がアニメーションを含むか否かを判定する。ベクター図形34は1フレーム目にのみ存在することから、判定部11は、ベクター図形34はアニメーションを含まないと判断し、ステップS02へ進む。

0060

判定部11は、更に、レイヤー4より下のレイヤーにアニメーションを含むベクター図形があるか否かを判断する。レイヤー4より下のレイヤー3に存在するベクター図形33がアニメーションを含むので、判定部11は、レイヤー4より下のレイヤーにアニメーションを含むベクター図形があると判断し、ステップS03へ進む。

0061

判定部11は、更に、画面上でベクター図形34の描画範囲を求め、この範囲が、ステップS04で求めたベクター図形33の描画が及ぶ範囲42と重複するか否かを判定する。この例では、ベクター図形34の描画範囲とベクター図形33の描画範囲42とは重複しない。よって、判定部11は、ステップS05へ進む。

0062

ラスタライズ部12は、判定部11からの指示に従い、ベクター図形34をラスタライズ処理してビットマップイメージ40に上書きする。このとき、ベクター図形34は、変換行列A34で与えられる位置に配置される。以上でレイヤー4の処理が終了する。

0063

次に、判定部11は、処理対象としてレイヤー5を選択する。レイヤー5にはベクター図形35が存在する。ベクター図形35は、アニメーションを含まない。また、レイヤー5より下のレイヤー3にはアニメーションを含むベクター図形33があるが、ベクター図形35とベクター図形33との描画範囲は重複しない。よって、ラスタライズ部12は、レイヤー4の処理と同様、ベクター図形35をラスタライズ処理してビットマップイメージ40に上書きする。以上でレイヤー5の処理が終了する。

0064

次に、判定部11は、処理対象としてレイヤー6を選択する。レイヤー6にはベクター図形36が存在する。ベクター図形36は、アニメーションを含まない。また、レイヤー6より下のレイヤー3には、アニメーションを含むベクター図形33があるが、ベクター図形36とベクター図形33との描画範囲は重複しない。よって、ラスタライズ部12は、レイヤー4,5の処理と同様、ベクター図形36をラスタライズ処理してビットマップイメージ40に上書きする。以上でレイヤー6の処理が終了する。

0065

図8(c)は、レイヤー6の処理により作成されたビットマップイメージ40を示す図である。ビットマップイメージ40は、レイヤー0,1,2,4,5,6に存在するベクター図形30,31,32,34,35,36を1つにまとめたものである。

0066

最後に、判定部11は、処理対象として、一番下のレイヤーであるレイヤー7を選択する。レイヤー7にはベクター図形37が存在する。判定部11は、アニメーションデータ21内を走査し、ベクター図形37がアニメーションを含むか否かを判定する。ベクター図形37は1フレーム目にのみ存在することから、判定部11は、ベクター図形37はアニメーションを含まないと判断し、ステップS02へ進む。

0067

判定部11は、更に、レイヤー7より下のレイヤーにアニメーションを含むベクター図形があるか否かを判断する。レイヤー7より下のレイヤー3に存在するベクター図形33がアニメーションを含むので、判定部11は、レイヤー7より下のレイヤーにアニメーションを含むベクター図形があると判断し、ステップS03へ進む。

0068

判定部11は、更に、画面上でベクター図形37の描画範囲43を求め、この範囲がベクター図形33の描画範囲42と重複するか否かを判定する。この例では、ベクター図形37の描画範囲43とベクター図形33の描画範囲42とは一部重複する。よって、判定部11は、ステップS06へ進む。

0069

ラスタライズ部12は、判定部11からの指示に従い、ベクター図形37のうち、ベクター図形33の描画範囲42と重複しない部分をラスタライズ処理してビットマップイメージ40に上書きする。また、重複する部分をラスタライズ処理した結果を新たなビットマップイメージ43としてメモリ20上の別領域に作成する。以上で全てのレイヤーの処理が終了する。

0070

図8(d)は、レイヤー7の処理により作成されたビットマップイメージ40とビットマップイメージ43とを示す図である。ビットマップイメージ40は、ベクター図形30,31,32,34,35,36とベクター図形37の一部を1つにまとめたものである。

0071

すべてのレイヤーの処理が終了すると、判定部11は、メモリ20上にビットマップアニメーションデータ23を作成する。図6に示すように、ビットマップアニメーションデータ23は、上記の処理で作成したビットマップイメージ40,41,43を描画するレイヤー、および描画する位置を定義する変換行列をフレーム毎に定義する。レイヤー、変換行列は、ビットマップイメージの元となるベクター図形に基づいて設定される。例えば、ビットマップイメージ40は、それぞれのベクター図形をアニメーションデータ21の変換行列で定義される位置に上書きして作成したものなので、ビットマップイメージ40の変換行列A40は、ビットマップイメージ40を基準位置に描画するように与えられる。ビットマップイメージ41は、ベクター図形33のみラスタライズ処理したものなので、ビットマップイメージ41の変換行列A41は変換行列A33と同一となる。ビットマップイメージ43は、ベクター図形37の一部をラスタライズ処理したものなので、ビットマップイメージ43の変換行列A43は、ベクター図形37からベクター図形33を抜き出した位置に対応する分だけ、ベクター図形37の描画位置をずらした位置にビットマップイメージ43を描画するよう与えられる。

0072

その後、図9に示すように、ビットマップアニメーションデータ23で指定されたビットマップイメージ40,41,43を変換行列A40,41,43で定義される位置に貼り付けて合成することにより、表示画面に表示する画像50を描画する。画像50は表示装置に転送される。

0073

なお、上記の例では、ベクター図形30,31,32,34,35,36とベクター図形37の一部を1つにまとめた場合について説明したが、必ずしも全てを1つにまとめる必要はなく、ベクター図形37のうち、ベクター図形33のアニメーションに影響を与えない部分をベクター図形30,31,32,34,35,36の少なくとも1つとまとめることで、無駄な重なり描画を削減することができるものである。つまり、アニメーションのないベクター図形がアニメーションのあるベクター図形の描画に影響を与える場合に、アニメーションのないベクター図形のうち、アニメーションのあるベクター図形の描画に影響を与えない部分をアニメーションのない他のベクター図形と1つにまとめたビットマップイメージを生成することで、無駄な重なり描画を削減することができる。

0074

以上のように、本発明の実施の形態は、ベクター図形を描画してアニメーション表示を行う図形描画装置であって、フレームごとに定義されたベクター図形の描画状態に基づいて、ベクター図形のラスタライズ処理方法を判断する判定部と、判定部が判断したラスタライズ処理方法に基づいてベクター図形をラスタライズ処理してビットマップイメージを作成するラスタライズ部と、ビットマップイメージを所定の状態に配置してベクター図形を描画する描画部とを備え、判定部は、アニメーションのない第1のベクター図形がアニメーションのある第2のベクター図形の描画に影響を与えるか否かを判定し、第2のベクター図形の描画に影響を与える場合には、第1のベクター図形のうち、第2のベクター図形の描画に影響を与えない部分をアニメーションのない第3のベクター図形と1つにまとめたビットマップイメージを生成し、第2のベクター図形の描画に影響を与える部分のみで別のビットマップイメージを生成するようラスタライズ部に指示する図形描画装置である。

0075

このように、アニメーションを含むベクター図形の描画に影響を与えるベクター図形のうち、アニメーションを含むベクター図形と重なる領域については、その領域のみでビットマップイメージを作成し、重ならない領域については、アニメーションを含まない他のベクター図形とまとめて1つのビットマップイメージを作成するように構成することで、ビットマップイメージの容量を削減するとともに、ビットマップイメージの描画処理において無駄な重なり描画を削減し、高速なアニメーション表示を実現することができる。

0076

よって、ベクター図形をラスタライズする専用のハードウェアの無い組込み機器においても、無駄な重なり描画を省きスムーズなアニメーション表示を実現することができる。

0077

なお、上記の処理は、アニメーションを含むベクター図形22が1つの場合で説明したが、複数存在する場合も同様に適用することができる。

0078

10図形描画装置、11 判定部、12ラスタライズ処理部、13描画処理部、20メモリ、21アニメーションデータ、22ベクター図形データ、23ビットマップイメージ、24ビットマップアニメーションデータ、60a処理回路、60b 処理回路、61 メモリ、62表示装置。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ