(57)【要約】【課題】ラスタライズ処理の負荷を軽減して、描画速度を高速化し、コマ落ちを軽減するアニメーション表示を行うことができるようにする。【解決手段】ベクタデータで記述されたアニメーションデータに基づいて、前記ベクタデータをラスタライズ処理してビットマップデータを生成し、前記生成したビットマップデータを所定の時刻に表示する処理を繰り返してアニメーションを表示させる画像処理装置であって、前記アニメーションにおいて、実際に描画する解像度より小さくラスタライズ処理を行うラスタライズ手段と、前記ラスタライズ手段によってラスタライズされたビットマップデータを、実際に描画する解像度に伸張して描画する描画手段とを有する。【選択図】図１
2009253604.tif 000002
【特許請求の範囲】
【請求項１】
ベクタデータで記述されたアニメーションデータに基づいて、前記ベクタデータをラスタライズ処理してビットマップデータを生成し、前記生成したビットマップデータを所定の時刻に表示する処理を繰り返してアニメーションを表示させる画像処理装置であって、
前記アニメーションにおいて、実際に描画する解像度より小さくラスタライズ処理を行うラスタライズ手段と、
前記ラスタライズ手段によってラスタライズされたビットマップデータを、実際に描画する解像度に伸張して描画する描画手段とを有することを特徴とする画像処理装置。
【請求項２】
前記ラスタライズ手段及び前記描画手段は、描画領域内の特定の領域に適用することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記アニメーションの終了時には、実際に描画する解像度でラスタライズ処理を行うことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
ベクタデータで記述されたアニメーションデータに基づいて、前記ベクタデータをラスタライズ処理してビットマップデータを生成し、前記生成したビットマップデータを所定の時刻に表示する処理を繰り返してアニメーションを表示させる画像処理方法であって、
前記アニメーションにおいて、実際に描画する解像度より小さくラスタライズ処理を行うラスタライズ工程と、
前記ラスタライズ工程においてラスタライズされたビットマップデータを、実際に描画する解像度に伸張して描画する描画工程とを有することを特徴とする画像処理方法。
【請求項５】
請求項４に記載の画像処理方法の各工程をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置、画像処理方法及びプログラムに関し、特に、アニメーション表示を行うために用いて好適な技術に関する。
【背景技術】
【０００２】
アニメーション表示を実現する装置において、アニメーション表示は、ベクタデータをラスタライズ処理してビットマップデータを生成し、生成したビットマップデータを順次ＶＲＡＭに転送することにより実現できる。
【０００３】
一般に、ベクタデータで記述されたアニメーションデータの表示は、ベクタデータの複雑度や表示する装置の性能に大きく左右される。ベクタデータが単純な場合、または装置の性能が高い場合には、ラスタライズ処理に要する時間が少なくてすむのでスムーズにアニメーション表示を行うことができる。
【０００４】
これに対して、ベクタデータが複雑になるにつれて、また、装置の性能の低下に伴って、ラスタライズ処理に要する時間が増大し、所望のアニメーション表示結果が得られないことがある。具体的には、ベクタデータのオブジェクト数が増えるとその分ラスタライズ処理が増大し、また、各オブジェクトの領域が大きくなると、ラスタライズ処理が増大する。このようなことが原因となり、所定のフレームレートより、フレームに表示すべきビットマップデータの作成にかかる時間の方が大きくなる。これによって、いわゆるコマ落ちになったり、また、アニメーション表示の速度が遅くなったりするといった問題が生じる。
【０００５】
そこで、アニメーション表示をスムーズに表示できるようにするものがある。例えば、アニメーションオブジェクトの運動ベクトルを解析して、アニメーションオブジェクトの軌跡を写し込む処理を施すことによって、アニメーション表示を自然に見せる手法が提案されている（例えば、特許文献１参照）。
【０００６】
【特許文献１】特開平７−２５４０７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記の方法では、アニメーションデータを解析する処理と、解析結果から、新たに軌跡を写し込んだデータを生成する処理とが必要であり、標準的なアニメーション表示より処理が増大するという問題があった。
【０００８】
本発明は前述の問題点に鑑み、ラスタライズ処理の負荷を軽減して、描画速度を高速化し、コマ落ちを軽減するアニメーション表示を行うことができるようにすることを目的としている。
【課題を解決するための手段】
【０００９】
本発明の画像処理装置は、ベクタデータで記述されたアニメーションデータに基づいて、前記ベクタデータをラスタライズ処理してビットマップデータを生成し、前記生成したビットマップデータを所定の時刻に表示する処理を繰り返してアニメーションを表示させる画像処理装置であって、前記アニメーションにおいて、実際に描画する解像度より小さくラスタライズ処理を行うラスタライズ手段と、前記ラスタライズ手段によってラスタライズされたビットマップデータを、実際に描画する解像度に伸張して描画する描画手段とを有することを特徴とする。
【００１０】
本発明の画像処理方法は、ベクタデータで記述されたアニメーションデータに基づいて、前記ベクタデータをラスタライズ処理してビットマップデータを生成し、前記生成したビットマップデータを所定の時刻に表示する処理を繰り返してアニメーションを表示させる画像処理方法であって、前記アニメーションにおいて、実際に描画する解像度より小さくラスタライズ処理を行うラスタライズ工程と、前記ラスタライズ工程においてラスタライズされたビットマップデータを、実際に描画する解像度に伸張して描画する描画工程とを有することを特徴とする。
【００１１】
本発明のプログラムは、前記画像処理方法の各工程をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、ベクタデータで記述されたアニメーションの表示において、ラスタライズ領域を変更するので、描画速度を向上させて、スムーズなアニメーション表示を行うことができる。
【発明を実施するための最良の形態】
【００１３】
（第１の実施形態）
以下、本発明の実施形態について図面を参照しながら説明する。
図１は、本実施形態の画像処理装置の構成例を示すブロック図である。
図１において、本実施形態の画像処理装置は、画像処理装置全体の制御を行うＣＰＵ１０１と、プログラムやアニメーションデータを格納するＲＯＭ１０２とを有する。また、本実施形態の画像処理装置は、ワークエリアとしてのＲＡＭ１０３と、アニメーションを表示するための表示装置１０４とを有する。
【００１４】
図２は、解像度縮小ラスタライズ処理を行い、表示装置１０４上のＶＲＡＭに転送する際に、伸張処理を行う様子を示す説明図である。図２（ａ）は、ベクタデータを本来描画すべき描画領域内の描画解像度に従ってラスタライズ処理した場合のビットマップデータの例を示す図である。
【００１５】
本実施形態では、図２（ｂ）に示すように、描画解像度の縦幅を半分にした上で、ラスタライズ処理を行う。そして、ＶＲＡＭに転送する際に、図２（ｃ）に示すように、ラスタライズ処理したビットマップデータの１ライン目をＶＲＡＭの１ライン目に転送する。ＶＲＡＭの２ライン目は、直前に転送された１ライン目のデータをコピーする。続いて、縮小ラスタライズされた結果の２ライン目をＶＲＡＭの３ライン目に転送し、ＶＲＡＭの４ライン目は、直前に転送された３ライン目のデータをコピーする。以下同様に、２ライン周期で、縮小ラスタライズされた結果の転送と、ＶＲＡＭの１ラインコピーとを繰り返す。
【００１６】
本実施形態では、ラスタライズ処理の解像度を縦幅に半分にするようにしたが、他の方法で解像度を縮小してもよい。例えば、ラスタライズ処理の解像度を縦幅に３分の１や４分の１にしてもよいし、さらには、横幅を所定分だけ縮小させてもよい。
【００１７】
図３は、ベクタデータ（ＳＶＧ形式）で記述されたアニメーションデータを示す図である。以下、アニメーションデータの詳細について説明する。図３に示すアニメーションデータは、描画対象となる領域は縦４００、横３００であり、領域内の座標（１５０，１５０）を中心として、半径３０の円があることを意味している。また、円は赤色で塗りつぶされており、この円が描画開始１秒後にアニメーションを開始して、アニメーション開始１秒後まで半径が３０から６０に拡大する。そして、アニメーションは終了して拡大された状態が維持されることを意味している。
【００１８】
図４は、描画処理を適用する領域を指定する方法を示す図であり、円オブジェクトがアニメーションを行うものである。図４において、１フレームの描画後、２フレームを描画する際、再描画する領域は、１フレームでのアニメーションオブジェクトと２フレームでのアニメーションオブジェクトとの両方を包含する矩形領域とする。以下、具体的な計算方法を示す。
【００１９】
図４（ａ）及び図４（ｂ）の描画領域において、原点を左上端とする。
図４（ａ）におけるアニメーションオブジェクトを包含する領域が（ｘ１＿ｍｉｎ，ｙ１＿ｍｉｎ）を左上端とし、（ｘ１＿ｍａｘ，ｙ１＿ｍａｘ）を右下端とする矩形領域とする。このとき、
ｘ１＿ｍｉｎ＝ｃｘ１−ｒ１、
ｙ１＿ｍｉｎ＝ｃｙ１−ｒ１、
ｘ１＿ｍａｘ＝ｃｘ１＋ｒ１、
ｙ１＿ｍａｘ＝ｃｙ１＋ｒ１、
と得られる。
【００２０】
次に、図４（ｂ）におけるアニメーションオブジェクトを包含する領域が（ｘ２＿ｍｉｎ，ｙ２＿ｍｉｎ）を左上端とし、（ｘ２＿ｍａｘ，ｙ２＿ｍａｘ）を右下端とする矩形領域とする。このときも同様に、
ｘ２＿ｍｉｎ＝ｃｘ２−ｒ２、
ｙ２＿ｍｉｎ＝ｃｙ２−ｒ２、
ｘ２＿ｍａｘ＝ｃｘ２＋ｒ２、
ｙ２＿ｍａｘ＝ｃｙ２＋ｒ２、
と得られる。
【００２１】
以上のように得られた、各フレームにおけるオブジェクトを包含する矩形領域から図４（ｂ）における再描画領域を次のように求める。
再描画領域の左上端の座標を（ｘ＿ｍｉｎ，ｙ＿ｍｉｎ）とし、右下端の座標を（ｘ＿ｍａｘ，ｙ＿ｍａｘ）とする。このとき、
ｘ＿ｍｉｎ＝Ｍｉｎ（ｘ１＿ｍｉｎ，ｘ２＿ｍｉｎ）、
ｙ＿ｍｉｎ＝Ｍｉｎ（ｙ１＿ｍｉｎ，ｙ２＿ｍｉｎ）、
ｘ＿ｍａｘ＝Ｍａｘ（ｘ１＿ｍａｘ，ｘ２＿ｍａｘ）、
ｙ＿ｍａｘ＝Ｍａｘ（ｙ１＿ｍａｘ，ｙ２＿ｍａｘ）、
となる。ただし、ａ≦ｂのとき、Ｍｉｎ（ａ，ｂ）＝ａ、Ｍａｘ（ａ，ｂ）＝ｂであり、ａ＞ｂのとき、Ｍｉｎ（ａ，ｂ）＝ｂ、Ｍａｘ（ａ，ｂ）＝ａとして計算される。図４に示す例では、図４（ｃ）に示すような、太点線で囲まれた矩形領域が特定の再描画領域となる。
【００２２】
なお、再描画領域を指定する他の方法としては、事前に予め表示させたいフレームレートに従った各時刻におけるラスタライズ結果の、隣接するフレームを比較することによって得ることができる。具体的には、隣接するフレームの全画素を比較し、違いのある画素をすべて包含するような矩形領域とすればよい。
【００２３】
図５は、本実施形態における描画処理手順の一例を示すフローチャートである。以下、図６及び図７に示すアニメーション例を参照しながら処理の流れを説明する。図６及び図７に示すアニメーションは、図３に示すＳＶＧデータをラスタライズしたものである。円オブジェクトが１フレーム（描画処理開始１秒後）に示す状態から拡大開始し、２フレーム（描画処理開始１．５秒後）、３フレーム（描画処理開始２秒後）と拡大して、アニメーションが終了する。つまり、２フレーム／秒のフレームレートで描画する。
【００２４】
まず、ステップＳ５０１において、現在表示すべきフレームにアニメーション中のオブジェクトが含まれているか否かを、アニメーションデータを分析して判別する。ステップＳ５０１では、まずアニメーション描画処理開始からの経過時間ｔ［秒］を取得する。そして、各アニメーション要素の時間に関する属性値からアニメーション中か否かを判別する。図３のＳＶＧデータでは、ｂｅｇｉｎ属性が１０００ｍｓ、ｄｕｒ属性が１０００ｍｓなので、ｔ＝１からｔ＝２までがアニメーション中となる。
【００２５】
ステップＳ５０１の処理によりアニメーション中のオブジェクトが存在する場合には、ステップＳ５０２において、再描画すべき領域を上述の方法のいずれかにより計算する。２フレームでは、１フレームのオブジェクトをすべて包含するように拡大するため、２フレームにおけるオブジェクトを包含する矩形領域が再描画領域となる。図６（ｂ）及び図７（ｂ）に示す例では、２フレームでは、ｔ＝１．５なのでｒ＝４５となり、再描画領域は左上端（１０５，１０５）、右下端（１９５，１９５）となる。
【００２６】
次に、ステップＳ５０３において、計算した再描画領域をクロップ処理する。ここで、クロップする領域と、実際の描画領域とのマッピング情報を記憶する。マッピング情報は、実際の描画領域の左上端（１０５，１０５）とクロップ領域の縦幅（９０）と横幅（９０）などの情報であり、これらの情報を記憶する。
【００２７】
さらに、ステップＳ５０４において、クロップした領域について、上述した方法により、解像度を縦に半分（縦幅４５）にしたラスタライズ処理を行う。２フレームにおける再描画領域、解像度縮小ラスタライズ結果は、図７（ｂ）に示している。
【００２８】
次に、ステップＳ５０５において、ラスタライズ処理の結果得られるビットマップデータを、クロップ領域と実際の描画領域のマッピング情報を元に、ＶＲＡＭに転送して、上述の方法により、解像度を伸張して描画する。
【００２９】
次に、ステップＳ５０６において、３フレームにおいて処理を終了したか否かを判断する。この判断の結果、処理が終了していない場合は、ステップＳ５０１に戻り、３フレームにおいても同様の処理を行う。図６（ｃ）及び図７（ｃ）に、３フレームの場合の例を示す。一方、ステップＳ５０６の判断の結果、３フレームにおいて処理が終了した場合は、次のステップＳ５０７に進む。
【００３０】
次に、ステップＳ５０７において、３フレームでアニメーションが終了するため、４フレームでは、解像度を縮小せずに、通常のラスタライズ処理を行う。この際、再描画領域は、直前のフレームである３フレームにおける再描画領域と同一である。そして、ステップＳ５０８において、ラスタライズ結果に対して通常の描画処理を行い、処理を終了する。
【００３１】
本実施形態としては、アニメーションの終了状態描画処理時（３フレーム）において通常のラスタライズ処理を行うようにしてもよい。以上の処理によって、アニメーション中のオブジェクトのラスタライズ処理に要する時間を軽減して描画速度を向上させることができる。したがって、アニメーションの終了時には、通常のラスタライズ処理を行うことにより、描画の品質を回復させることができる。
【００３２】
（本発明に係る他の実施形態）
前述した本発明の実施形態における画像処理装置を構成する各手段、並びに画像処理方法の各工程は、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【００３３】
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００３４】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図５に示すフローチャートに対応したプログラム）を、システムまたは装置に直接、または遠隔から供給する場合も含む。そして、そのシステムまたは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【００３５】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００３６】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【００３７】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスクなどがある。さらに、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ）などもある。
【００３８】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する方法がある。そして、前記ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【００３９】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００４０】
また、その他の方法として、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記録媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００４１】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。さらに、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００４２】
さらに、その他の方法として、まず記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。そして、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００４３】
【図１】本発明の実施形態に係る画像処理装置の構成例を示すブロック図である。
【図２】本発明の実施形態における解像度を縮小させてラスタライズする処理と実際に描画する解像度に伸張する処理とを示す説明図である。
【図３】本発明の実施形態におけるアニメーションデータの例を示す図である。
【図４】本発明の実施形態における再描画領域を指定する様子を示す説明図である。
【図５】本発明の実施形態における描画処理手順の一例を示すフローチャートである。
【図６】本発明の実施形態における描画手順を説明する図である。
【図７】本発明の実施形態における描画手順及び座標を説明する図である。
【符号の説明】
【００４４】
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  表示装置
【図１】
2009253604.tif 000003
【図２】
2009253604.tif 000004
【図３】
2009253604.tif 000005
【図４】
2009253604.tif 000006
【図５】
2009253604.tif 000007
【図６】
2009253604.tif 000008
【図７】
2009253604.tif 000009