(第13回NICOGRAPH/MULTIMEDIA論文コンテスト受賞) 西畑 実† 高倉 正樹† †シャープ(株)技術本部ソフトウェア研究所(執筆時点の所属) |
Vector-based Animation System "EVA" Minoru NISHIHATA,Masaki TAKAKURA Software Research Laboratories, Corporate Research and Developement Group, Sharp Corporation. |
アブストラクト |
ネットワークに適した新しいベクトルアニメーション方式EVA(*)を開発した。本方式では、各キーフレームの画像、複数の座標点を通る曲線によって囲まれたオブジェクト群によって表現する。また、各キーフレーム間で互いに対応するオブジェクトは、リンク情報によって関連づけられる。一方、再生側では、座標情報などをリアルタイムに補間計算することにより、キーフレーム間の中間画像を連続的に生成し、アニメーションとして表示する。生成される中間画像のコマ数はCPU速度、描画速度、および描画量などにより自動的に調整される。以上の方式により、EVAは、データ容量が小さい、任意のドットサイズで再生できる、CPU速度が異なるマシンでも同じ時間で再生できる(時間同期)という特長を持つ。本稿では、ネットワーク上でのアニメーション表現に適したEVAの仕組みについて述べる。 (*:EVA は Extended Vector Animation の略) |
1.開発の背景 アニメーションを作成するためにコンピュータを利用することは古くから研究されている。しかし、コンピュータの利用方法としては、大量のフレームをいかに効率的に作成するかという目的が主体であり、でき上がったアニメーションは、フィルム、テレビ放送、ビデオテープなどを用いて記録・伝送する方法が一般的であった。これらの媒体は動画を蓄積・伝送する十分な能力があるため、特に、データ量に起因する問題は発生していなかった。 しかし、近年、インターネットが急速に普及し、特に、World-Wide Web の仕組みにより、ネットワーク上でマルチメディア情報がやりとりされるようになると、データの伝送容量の問題が発生してきた。アニメーションは多くの画像を送る必要があり、容量が非常に大きくなってしまう。従来の動画圧縮の方法でアニメーションを圧縮すると、1分程度のアニメーションでも数MBの容量になってしまう。しかし、現在の一般的な通信回線上では、快適な応答性を考えると、1つのデータの容量は150KB〜200KB以下にすべきであると言われており、数コマ〜数十コマ程度のアニメーションを繰り返すレベルが現状である。 また、ネットワークには、解像度やCPU能力の異なる、数多くの種類の装置が同時に接続されており、共通なフォーマットであるテレビやビデオとは異なる問題点がある。 そこで、われわれは、ネットワークに適し、表現力が高く、ストーリーを伴うような長さのアニメ作品を個人が制作・発信できる新しいアニメーションシステムを開発した。 |
|
2.EVAの仕組み ネットワークアニメに必要な条件には次のようなものが考えられる。
|
|
つまり、従来の多くのコンピュータアニメーションでは、データ作成時にキーフレーム補間を行なっていたものを、再生時に行なうようにしたものである。キーフレームの図形はベクトルで表現されているため、拡大縮小が自由である。再生側でキーフレーム補間を行なうため、CPU性能に応じて生成するコマ数を調整し、同じ時間の進行に沿って再生することが可能になる。 図1にEVAのコンテンツの例を示す。この例では、次の条件で、毎秒約9コマの中間フレームが再生時に生成される。 アニメ部分解像度280×210ドット ディスプレイ解像度800×600ドット CPU Intel 社 Pentium R 100MHz OS Microsoft 社 Windows R 95 表示コントローラ CL-GD7543(SVGA) 色数:65536色 (参考)キーフレーム数 2 再生時間 3秒 総生成コマ数 約27コマ データ容量 4810 バイト また、EVAでは再生時にキーフレーム補間を高速に行なうための方法や、データを圧縮するための方法を新たに工夫した。 次に、EVAの基本的なデータ構造について説明する。 |
|
各キーフレームの画像は、図形オブジェクト群から構成される(図2)。ひとつのキーフレーム内の各オブジェクトは、重なり時における上下関係の順序が規定される。ひとつの図形オブジェクトは、輪郭を表現するための、順序付けられた複数の制御点(図3)および色彩などの付加情報を持つ。複数のキーフレームにわたる、意味的に同一な図形オブジェクト(たとえば髪の毛)は、ポインタによって互いに関連付けられ、また、キーフレームごとに、アニメーションの先頭を基準とした経過時間(予定経過時間)の情報を持つ(図4)。 ポインタによる関連づけは、アニメーション作成時において、あるキーフレームの図形オブジェクトを後続のキーフレームに同じ形のままコピーすることによって行なう。その後、後続のキーフレームの図形オブジェクトに対して、移動・変形などの操作を行ない、動きを表現する。(編集システムの詳細については、本稿の範囲外となるので、割愛する。) 次に、EVAの再生機構について説明する。 EVAでは、再生時にキーフレーム補間を行なうために、次の手順で処理を進める。
|
|
以上の処理により、キーフレームに保有する図形情報と予定経過時間情報に基づいて、CPU速度と描画量に応じた最大数の中間フレームをリアルタイムに生成する(図5)。 |
|
図形のキーフレーム補間には、従来より、より自然な中間形状を得るために、様々な方法が提案されている。2)3)4)5)6)8)9) EVA方式では、リアルタイム表示のために高速演算が要求されることから、現時点では最も単純な、前後のキーフレームの制御点間の線形補間を用いている。したがって、回転などの表現が難しく1)、比較的多数のキーフレームを用意する必要があるが、この点に関しては、ハードウェア性能の進歩とともに、改良すべき点としてあげられる。 参考として、図1のアニメでは、キーフレーム補間に要する時間が全体の処理時間の1%程度、また、図形の輪郭のスプライン曲線生成が20%程度、塗りつぶしなどの描画処理が55%程度である。 |
|
3.データの圧縮方法 前述のように、EVA方式では中間フレームの情報を保有しないことにより、データ量を小さくできるが、さらに、キーフレーム補間方式のアニメーションの特質に着目し、次のようなデータ圧縮を行なっている。
|
|
4.評価・実験 EVAの評価のためにサンプルアニメーション(図6、図7)をいくつかのアニメーション記録方式で表現し、データ容量の比較を行なった。
解像度:280×210 ドット、 色数:65536色(16 bit) 再生時間:6秒 秒間:6フレーム、合計:36フレーム 内容:人物及び背景が向きを変え、再び元の向きに戻るもの。(EVA 方式では1つのキーフレームあたり53個の図形オブジェクトで、3つのキーフレームからなる。) 方式2は、Compuserve 社のGIF89a 形式のアニメーション(Animated GIF )である。 方式3は、Apple Computer社10)のQuickTime (J1-2.1)のアニメーションモードの圧縮方式を用いたものである。 方式4は、Apple Computer社のQuickTime(J1-2.1)のビデオモードの圧縮方式を用いたものである。方式2〜4はビットマップ画像に対してある種の圧縮を行なっている。 方式5は、Macromedia 社7)のFlash (2.0 public beta)を用い、ShockWave Flash ムービー形式で出力したものである。これはベクトル方式であるが、実行時の、形状に対するキーフレーム補間は行なわない。 これらの場合のデータ量と伝送時間(理論値)の比較結果を表1に示す。伝送時間としては、現在、一般家庭で普及しているモデムを想定し、28800bps で伝送した場合で比較した。 |
方 式 | デ ー タ 量 |
転送速度 28800bpsとした場合の 伝送時間(理論値) |
(方式1)無圧縮のビットマップ | 80×210 × 2 bytes×36フレーム= 約 4.2 MB(理論値) | 約 20 分 |
(方式2) Animated GIF (256色に減色) |
172KB(計測値) | 約 49秒 |
(方式3) QuickTImeTM(J1-2.1) (アニメーションモード) |
476KB(計測値) | 約 2 分15 秒 |
(方式4) QuickTImeTM (J1-2.1) (ビデオモード) |
294KB(計測値) | 約 1分 24 秒 |
(方式5)Shockwave Flash (2.0 public beta) |
155KB(計測値) | 約 44 秒 |
EVA(当方式) ※当方式では再生フレーム数はCPU速度と描画量に依存する。 ※当方式では、ひとつのキーフレームは53個の図形オブジェクトで表現した。 |
7KB データ量を単純比較すると 方式1(4.2MB) の 1/600 方式2(172KB) の 1/25 方式3(476KB) の 1/68 方式4(294KB) の 1/42 方式5(155KB) の 1/22 |
約 1.8 秒 |
表1 各方式の比較結果 |
次に、画像の複雑さによるデータ量の違いについて述べる。 一般に、画像情報の圧縮においては、複雑な画像になるほど多くのデータ量が必要となり、圧縮率が低くなる。図7は、横軸を画像の複雑さとし、縦軸をデータ量として、対数目盛りのグラフによって各方式を比較したものである。画像の複雑さは、ここでは、図7の画像例に示すように、着色された長方形の図形オブジェクトの数によって表現している。すなわち、図形オブジェクトの数が多いほど複雑な画像と考える。(背景の白は図形オブジェクトの数に含めていない。)測定に使用した画像の図形オブジェクトの数は、2、8、32、128、512、2048、8192の7通りである。尚、当EVA方式では、キーフレームの形状から中間フレームの形状を生成することによって少容量を実現しているが、図7の実験では比較対象を1フレームのデータのみに限定し、キーフレーム補間によるデータ削減率を除外して測定したものである。 図7のグラフによると、図形オブジェクト数30個の付近(A点)では当EVA方式でデータ量が約1Kバイト, その他の方式では、3Kバイト から 8Kバイト の間である。したがって、EVA方式がキーフレーム数のn倍の中間フレームを生成すると仮定すると、A点では、単純計算で、他方式に対しデータ量が約 1/3n から 1/8n の間となる。(但し、他方式の中で、時間方向のデータ圧縮を行なうものは、データ量の差がこれより小さくなると考えられる。一方、この測定では表示部分の大きさを 280 × 210 ドットとしているが、当EVA方式やShockwave Flashのようなベクトル方式では、データ量がアニメーション表示部分の大きさに全く依存しないので、同じ形状であれば、表示部分が大きいほど、比較上は高効率となる。以下の例も同様。) 図7の図形オブジェクト数が500個を超える付近(B点)からEVA方式のデータ量がGIF89a方式を上回っている。したがって図形オブジェクト数が500n個を超える場合はGIF89a方式の方が圧縮効率が高くなっている。 同様に、図7で、図形オブジェクト数が2000n個を超える付近(C点)からEVAよりもQuickTime(2種のモードいずれも)の方が、圧縮効率が高くなっている。 |
|
次に、当EVA方式について、画像の複雑さと、1秒間に生成・表示するフレーム数の関係について述べる。EVA では、図形オブジェクト毎に描画する方式であるため、図形オブジェクトの数が多いほど秒間フレーム数が少なくなる。 図8は、1フレーム内の図形オブジェクトの数を横軸(対数目盛り)とし、秒間フレーム数を縦軸としたグラフである。ここで測定に用いたハードウェアは、CPU が Pentium 100MHz で、表示コントローラは CL-GD7543 (SVGA) 、表示色数は65536色であり、現時点では一般的な能力のパーソナルコンピュータといえる。図形オブジェクトは、図7と同様に、着色された長方形(2個から2048個の6通り)を用い、図8の画像例に示すように、キーフレーム1とキーフレーム2の間(1秒間)で、図形オブジェクト群が傾くアニメーションを用いた。また、画像の大きさは、図8の凡例に示すように、280×210ドットから 840×630ドットの間の4種類について測定した。 たとえば、280 × 210ドットでは、図形オブジェクトが128個(D点)の時、1秒間に約10フレームを生成・表示する。図形オブジェクトがこれより多くなると、秒間10フレーム以下となり、アニメーションの滑らかさが損なわれてくる。また、840×630 ドットでは、図形オブジェクトが2個(E点)であっても秒間10フレーム未満という結果となった。 尚、図8の実験では、図形オブジェクトどうしの重なりがなく、また、図形オブジェクトの総面積の比率を表示部分の50%に固定している。(たとえば、図8のキーフレーム1の例でわかる通り、着色された部分の比率が全体の50%である。)この比率が増えると、描画処理の負荷が大きくなるため、秒間フレーム数が減少する。別の実験によると、表示部分が280 × 210ドットの場合、図形オブジェクト数を変えずに、その総面積の和を2倍にした場合、秒間フレーム数の減少率は10%程度であった。 |
5.考察とまとめ 図形をベクトルで表現すること、および再生時のキーフレーム補間などにより、 当EVA方式において、数秒のアニメーションでは、概ね従来のビットマップ方式の静止画1枚分以下のデータ容量で保有することができ、ネットワークでの伝送に好適であることが確認された。現在の家庭用の標準的なネットワーク環境では、アニメーションの再生時間1分につき数秒から数十秒で伝送が可能となる。 すなわち、EVAにより、ストーリーを伴うような長いアニメ作品を個人が制作し、ネットワークを用いて発信できるような環境が実現可能になると考えられる。 但し、EVA方式に適するアニメーションと、そうでないアニメーションとがあり、 最後に、EVA方式に適する再生条件およびアニメーションデータについてまとめておく。 (再生条件1)現時点で一般的な能力のパーソナルコンピュータでの再生を想定する。 (たとえば、Pentium 100MHz および一般的な表示コントローラ) (再生条件2)アニメーションの表示部分は、秒間フレーム数の確保のため、横幅が500ドット程度まで、すなわち、たとえばWWWブラウザの内部の1ウィンドウで再生するような場合を想定する。 (アニメーションデータの条件)1フレームあたりの図形オブジェクトの数は、100個程度までとする。これより多くなると、秒間フレーム数が落ちてアニメーションの滑らかさが失われ、また、データ量が増えてベクトル方式の少容量メリットが減少する。したがって、実写のように複雑に書き込まれた画像には適さず、比較的単純な絵柄の、いわゆるCartoon のアニメーションに適する。 CPUや表示コントローラをはじめとするハードウェアの能力は、近年、著しく向上しつつあり、(再生条件1)以上の性能のハードウェアでは、さらに高度な表現力を得ることができる。逆にいえば、現時点では秒間フレーム数が十分でないような複雑なEVAデータであっても、将来、より高性能のハードウェア上では、EVAデータの修正を要することなく、より滑らかなアニメーションとして再生することが可能となる。 (参考)EVA 処理系は,下記URLにて試用可能 https://jp.sharp/sc/excite/evademo/evahome.htm |
参 考 文 献 |
|