JP3616241B2 - Animation display method and computer-readable recording medium recording animation display program - Google Patents

Animation display method and computer-readable recording medium recording animation display program Download PDF

Info

Publication number
JP3616241B2
JP3616241B2 JP35904197A JP35904197A JP3616241B2 JP 3616241 B2 JP3616241 B2 JP 3616241B2 JP 35904197 A JP35904197 A JP 35904197A JP 35904197 A JP35904197 A JP 35904197A JP 3616241 B2 JP3616241 B2 JP 3616241B2
Authority
JP
Japan
Prior art keywords
graphic
information
time
animation
display
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.)
Expired - Fee Related
Application number
JP35904197A
Other languages
Japanese (ja)
Other versions
JPH10275244A (en
Inventor
実 西畑
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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Priority to JP35904197A priority Critical patent/JP3616241B2/en
Publication of JPH10275244A publication Critical patent/JPH10275244A/en
Application granted granted Critical
Publication of JP3616241B2 publication Critical patent/JP3616241B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、コンピュータを用いて図形のアニメーションを再生するアニメーション再生方法に関し、特に、時系列内のキーとなるフレーム(キーフレーム)の画像をもとにして、キーフレーム間の画像を実時間で生成して再生するアニメーションの再生方法に関する。
【0002】
【従来の技術】
コンピュータを用いたアニメーションの再生方法として、時系列中のすべてのフレームの画像ではなく、キーとなる時刻におけるフレームの画像の座標データをもとにして、キーフレーム間のフレームを生成してアニメーションを再生する方法がある。
【0003】
図19を参照して、特開昭60−191366号公報において提案された従来の方法について説明する。この方法では、アニメーションのすべてのフレームの画像を記憶しておくわけではなく、特定のキーフレームの画像のみを予め記憶しておく。図19に示す図形362および364がそうしたキーフレームの図形であり、これらが互いに時間軸上で隣接したキーフレームに属する図形であるものとする。特開昭60−191366号公報では、この隣接するキーフレームの図形362および364の間の時間をn等分し、中間フレーム366、368および370(n=3と想定する。)の画像の中の対応する各点を、キーフレーム内の対応する画像図形362および364の間での線形補間によって求める。こうして、図19において矢印で示される方向に時間軸が進むものとすれば、まず図形362を含むキーフレームが、続いて中間の図形366、368および370をそれぞれ含む3つの中間フレームが、最後に図形364を含むキーフレームが表示されてアニメーションが再生されることになる。図形364を含むキーフレームを表示した後は、このキーフレームと、この次のキーフレームとの間で同様の補間計算を行ってアニメーション再生が行なわれる。
【0004】
【発明が解決しようとする課題】
このようなアニメーション再生方法は、アニメーション再生のために必要とされるデータ量が、すべてのフレームの情報を持つ場合と比較して遙かに少なくてすむという利点がある。従来はこのようなアニメーション再生方法を実現するのは困難であったが、近年のCPU(中央演算処理装置)の処理能力の向上により、実現されようとしている。しかし、この方法では中間フレームをCPUが演算により生成しているために、次のような問題点がある。
【0005】
図20を参照して、3つのフレーム382〜386が、上述した従来の方法における中間フレームに相当する場合を想定する。各フレームについて、描画に要する時間を0.1秒とする。すなわちこの3つのフレームを再生するのには、合計で0.3秒を必要とする。このアニメーションを、音声と並行として実時間で再生しようとすると次のような問題が生ずる。
【0006】
第1の問題点は、アニメーション作成時の想定よりも処理速度の遅いCPUでこのアニメーションを再生しようとした場合に生ずる。この場合には、図21に示すように、1フレームを描画するのに要する時間が0.1秒より長く、たとえば0.12秒を要する。そのためフレーム392〜396を順に再生していくと、再生時間が想定よりも長くかかることになり、しかも最初に想定された再生時間との遅れが徐々に大きくなる。一方で音声は、最初に想定された時間で再生される。結果として、表示される図形の動きと音声とのずれが次第に大きくなる。たとえば図21に示されるようにフレーム392、394および396と進むに従って、画面に再生される人物の口の形と音声とが合わないようになってしまう。
【0007】
第2の問題点は、第1の問題点とは逆に、アニメーション作成時の想定よりも処理能力の高いCPUでこのアニメーションを再生しようとした場合に生ずる。この場合図22に示されるように、フレーム402、404および406の各々を描画するのに要する時間が0.1秒よりも短く、たとえば0.06秒しか要しないことがあり得る。そのためアニメーションの再生時間が、アニメーション作成時の想定よりも短くなる。音声の再生速度が一定であるとすれば、図22に示される場合にも、動きと音声とのずれが生じる。この場合にはアニメーションの動きの方が音声よりも早くなる。
【0008】
以上述べたのはCPUの処理能力の相違により生ずる問題であった。しかしこのような問題は、各フレームごとに必要とされる描画量の変動によっても生じる。たとえば図23を参照して、フレーム412、414および416と、時間軸上を進むに従って、描画される図形が大きくなる場合を考える。こうした場合、図形が大きくなるほど描画に要する時間が長くなる。たとえばフレーム412の描画には0.1秒、フレーム414の描画には0.11秒、およびフレーム416の描画には0.12秒を要するものとする。この場合にも、フレーム414では0.01秒の遅れが生じ、フレーム416では0.01+0.02=0.03秒の描画の遅れが生じる。したがってこの場合にも、各フレームの再生タイミングが音声の再生タイミングとずれてしまう。
【0009】
このように音声と画面との同期に関する問題点を解決するために、先頭フレームを基準として、各フレームの描画処理の開始時刻を決めておくという方式も考えられる。しかしこの方式では次のような問題点が生ずる。この場合にも図20に示される例を想定する。
【0010】
まず図24を参照して、CPUの処理能力が、想定されたものよりも低い場合を考える。この場合、たとえば3つのフレーム422、424および426の各々について割当てられた描画時間は0.1秒と定まっている。CPUの処理速度が遅いと、この与えられた描画時間中にすべての描画を完了することができない場合がある。すると、図24のフレーム422、424または426に示されるように、各フレームが不完全なまま次のフレームの描画が始まってしまうという問題が生じる。
【0011】
逆にCPUの処理能力が想定された処理能力よりも高い場合には次のような問題が生ずる。図25を参照して、各フレーム432、434および436を処理能力の高いCPUで再生すると、たとえば各フレームの描画に要する時間が0.06秒しか必要としないことになる。各フレームの描画に割当てられた時間は0.1秒ずつである。したがって各フレームについて、描画処理が終了した後0.04秒の休止時間が生じることになる。この間にはCPUは遊んでしまう。CPUの処理能力を最大限に生かせば、図25に示されるような3枚のフレーム432、434および436だけではなく、図25に示されるように、たとえば5枚のフレーム442、444、446、448および450を再生することが可能なはずである。単位時間中に再生されるフレーム数が多いほどアニメーションの動きが滑らかとなることから、図25に示されるような休止時間の発生をできるだけ避け、図26に示されるような再生が行なえるようにした方が好ましい。
【0012】
また、このようなアニメーションの再生で処理すべき対象としては、図形の位置および大きさだけではなく、たとえば図形の色彩、透明度、図形を構成する線の太さ、たとえば図形を構成する線が破線である場合の、描画部分と非描画部分との比率、文字を表示する場合のフォントサイズなどについても適用できれば好ましい。また、単一の図形だけではなく、一群の基本図形からなる図形群の移動についても同様の処理を行なえると望ましい。これはグループの表示上の縮尺比率についても同様である。さらに、キーフレームから中間フレームを生成する際に、単純な動きだけではなく時間の進行に対して特定の変化を持たせたアニメーション再生を行なえるようにできれば、より好ましい。
【0013】
それゆえに請求項1に記載の発明および請求項2に記載の発明の目的は、アニメーションの再生速度を一定に保ちつつ、可能な限り多いフレーム数で、キーフレーム間の中間フレームを生成してアニメーションを再生することができるアニメーション再生方法を提供することである。
【0014】
請求項3〜10に記載の発明の目的は、請求項1または2に記載の発明の目的に加えて、それぞれ図形の特徴点の時系列変化、図形の色彩の時系列変化、図形の透明度の時系列変化、図形を構成する線の太さの時系列変化、図形を構成する線の、描画部分と非描画部分との比率の時系列変化、図形が文字である場合のフォントサイズの時系列変化、図形が、図形群である場合に、その図形群の基準点の時系列変化、同じく図形群の表示上の縮尺比率の時系列変化、をアニメーション表示することができるアニメーション再生方法を提供することである。
【0015】
請求項11〜13に記載の発明の目的は、請求項1または2に記載の発明の目的に加えて、アニメーションの動きに変化を与えることができるアニメーション再生方法を提供することである。
【0016】
【課題を解決するための手段】
請求項1に記載の発明に係るアニメーション表示方法は、コンピュータプログラムを用いて図形のアニメーションを表示装置上に表示するためのものであって、各々が、表示時刻を特定するための情報と、当該表示時刻に表示フレーム内に表示されるべき図形の特徴を特定するための図形情報とを含む、複数のキーフレーム情報をメモリ内に準備するステップと、現在の表示時刻を得るステップと、上記した複数のキーフレーム情報のうち、得られた表示時刻の前後の表示時刻をそれぞれ有する少なくとも2つのキーフレーム情報を選択するステップと、この少なくとも2つのキーフレーム情報にそれぞれ含まれる対応の図形情報の間で所定の補間計算を行なうことにより、当該得られた表示時刻において表示されるべき図形情報を作成するステップと、作成された図形情報に基づいて、当該得られた表示時刻におけるフレームを描画するステップと、上記した現在の表示時刻を得るステップと、選択するステップと、作成するステップと、表示するステップとを、所定時刻が経過するまで繰返すステップとを含んでいる。
【0017】
予め、複数のキーフレーム情報がメモリ内に準備された後、以下の繰返しが行なわれる。まず現在の表示時刻を得る。そしてこの前後の2つのキーフレーム情報を選択する。これら2つのキーフレーム情報に含まれる対応の図形情報の間で所定の補間演算を行なって、得られた表示時刻において表示されるべき図形情報を作成し描画する。1フレームをすべて描画しなければ次のフレームの図形情報の作成を行なわないので、各フレームを完全に描画することができる。また予め表示時刻が定められているわけではないので、処理能力の高いCPUの場合には多数の中間フレームを、処理能力の低いCPUでは少数の中間フレームを作成することになり、CPUの能力に応じたアニメーション表示を行なうことができる。
【0018】
請求項2に記載の発明に係るアニメーション表示方法は、請求項1に記載の発明の構成に加えて、複数のキーフレーム情報が、先頭に表示されるべきフレームに関する先頭キーフレーム情報を含んでいる。そしてこのアニメーション表示方法はさらに、アニメーション表示の開始時に、先頭キーフレーム情報に基づいて先頭のフレームを表示するステップを含む。また現在の表示時刻を得るステップは、1つのフレームの描画処理が完了したことに応答してタイマを参照し、その時点でのタイマの値を表示時刻として得るステップを含んでいる。
【0019】
先頭のフレームの描画処理が完了すると、その完了に応答して次のフレームの表示時刻が得られる。この表示時刻でのフレームの描画が完了すると、その完了に応答してさらに次の表示時刻が得られる。このようにして次々とあるフレームの描画処理が完了するとその完了の時点の表示時刻でのフレームの作成と描画が繰返し行なわれるので、遊び時間がなく、CPUの能力を最大限に利用することができる。
【0020】
請求項3〜請求項10に記載の発明は、請求項1または2に記載の発明の構成に加えて、図形情報が、図形の特徴点の座標情報、図形の色彩情報、図形の透明度の情報、図形を構成する線の太さの情報、図形を構成する線の、描画部分と非描画部分との比率の情報、文字フォントの大きさ、図形群の基準点の座標、図形群の表示上の縮尺比率をそれぞれ含んでいる。こうした図形情報の間での補間演算で中間フレームでの図形情報を作成し描画することにより、図形の変形または移動、図形の色彩の変化、図形の透明度の変化、図形の線の太さ、図形を構成する線の破線の態様、文字フォントの大きさ、図形群の移動、図形群の表示上の縮尺比率の変化を含んだアニメーションを作成することができる。
【0021】
請求項11に記載の発明に係るアニメーション表示方法は、請求項1または2に記載の発明の構成に加えて、作成するステップが、2つのキーフレーム情報にそれぞれ含まれる対応の図形情報の間で所定の線形計算により補間計算を行なうステップと、この補間計算により得られた図形情報を、予め定められた変換方法により変換するステップとを含む。
【0022】
一旦線形計算による補間計算で生成された図形情報にさらに変換を行なうことで、たとえば加速度を伴った動きなど、時間に対して非直線の動きを表現することが可能となる。すなわち、アニメーションにおいて、時間軸上で変化をつけることが可能になる。
【0023】
請求項12に記載の発明に係るアニメーション表示方法は、請求項11に記載の発明の構成に加えて、アニメーションの表示の開始に先立って、図形情報を変換するためのテーブルを準備するステップをさらに含んでいる。そして変換するステップは、作成するステップで作成された図形情報に対応する変換後の図形情報を、上記したテーブルからルックアップするステップを含む。
【0024】
このように、一旦補間計算により作成された図形情報を、テーブルを用いて変換し変換後の図形情報によってアニメーションを表示することで、時間軸上の恣意的な変化をアニメーション上で実現することができる。
【0025】
請求項13に記載の発明に係るアニメーション表示方法は、請求項11に記載の発明の構成に加えて、変換するステップが、作成するステップで作成された図形情報を所定の関数の変数に代入し、この関数の値を変換後の図形情報とするステップを含んでいる。
【0026】
線形計算による補間計算で得られた図形情報を、さらに所定の関数の変数に代入して変換するので、線形でない動きをもアニメーション上で実現することができる。さらにそのために必要なデータ量は少なくて済むという特徴がある。
【0027】
請求項14に記載の発明に係るアニメーション表示方法は、請求項12に記載の発明の構成に加えて、前記テーブルからルックアップするステップは、前記変換するためのテーブルは、識別するための番号を持ち、前記図形情報は、前記テーブルに対応づけるための番号を持つと共に、あらかじめ図形ごとに個別に対応づけられたテーブルからルックアップするステップを含んでいる。
【0028】
変換テーブルを複数個準備し、それぞれの図形情報に付加されたテーブル番号によって、それぞれ異なる変換テーブルからルックアップするステップを含んでいる。これにより、2つだけのキーフレーム間で、それぞれの図形に、より複雑な動きを表現させることが可能となる。さらにそのために多数のキーフレーム作成の手間を軽減し、必要なデータ量は少なくて済むという特徴がある。
【0029】
請求項15に記載のアニメーション表示プログラムを記録したコンピュータ読み取り可能な記録媒体は、コンピュータプログラムを用いて図形のアニメーションを表示装置上に表示するためのアニメーション表示プログラムを記録した記録媒体であって、各々が、表示時刻を特定するための情報と、当該表示時刻に表示フレーム内に表示されるべき図形の特徴を特定するための図形情報とを含む、複数のキーフレーム情報をメモリ内に準備するステップと、現在の表示時刻を得るステップと、前記複数のキーフレーム情報のうち、得られた表示時刻の前後の表示時刻をそれぞれ有する少なくとも2つのキーフレーム情報を選択するステップと、前記少なくとも2つのキーフレーム情報にそれぞれ含まれた対応の図形情報の間で所定の補間計算を行なうことにより、当該得られた表示時刻において表示されるべき図形情報を作成するステップと、作成された図形情報に基づいて、当該得られた表示時刻におけるフレームを表示装置上に表示するステップと、前記現在の表示時刻を得るステップと、前記選択するステップと、前記作成するステップと、前記表示するステップとを、所定時刻が経過するまで繰返すステップとを実現するためのアニメーション表示プログラムを記録したコンピュータ読み取り可能な記録媒体であることを特徴とする。
また、本発明は、表示させる時刻を特定するための時刻情報と表示させる図形を特定するための図形情報とを含む複数のキーフレーム情報に基づいてアニメーションを表示させるアニメーション表示方法であって、現在時刻を取得するステップと、上記複数のキーフレームのうち少なくとも2つのキーフレームに含まれる時刻情報及び図形情報と、上記取得された現在時刻とに基づいて所定の補間計算を行ない、現在時刻に対応して表示させる図形を特定するための図形情報を含む中間フレームを生成するステップと、上記生成された中間フレームを表示させるステップと、を有し、上記現在時刻は、上記中間フレームの表示が完了したことに応答して取得されることを特徴とするアニメーション表示方法を提供する。
また、本発明は、上記2つのキーフレームは、時間軸上でそれぞれ上記現在時刻の前後のキーフレームであることを特徴とするアニメーション表示方法を提供する。
た、本発明は、表示させる時刻を特定するための表示時刻と表示させる図形を特定するための図形情報とを含む複数のキーフレーム情報に基づいてアニメーションを表示させるアニメーション表示プログラムを記録したコンピュータ読み取り可能な記録媒体であって、現在時刻を取得するステップと、上記複数のキーフレームのうち少なくとも2つのキーフレームに含まれる時刻情報及び図形情報と、上記取得された現在時刻とに基づいて所定の補間計算を行ない、現在時刻に対応して表示させる図形を特定するための図形情報を含む中間フレームを生成するステップと、上記生成された中間フレームを表示させるステップと、を実行させ、上記現在時刻は、上記中間フレームの表示が完了したことに応答して取得されるアニメーション表示プログラムを記録したコンピュータ読取可能な記録媒体を提供する。
【0030】
【発明の実施の形態】
図1を参照して、本願発明のアニメーション表示方法はコンピュータ30により実現される。コンピュータ30は、所定のプログラムを実行することにより本願発明の各ステップの処理を実現するためのCPU32と、CPU32がアニメーション画像を書込むグラフィックメモリ36と、グラフィックメモリ36上の画像を表示するためのディスプレイ画面38と、CPU32に接続されたメモリ34と、時刻に関する情報をCPU32が得るためのタイマ40とを含んでいる。メモリ34は、複数のキーフレーム情報を記憶するキーフレーム情報記憶部42と、CPU32が実行する、本願発明のアニメーション表示方法を実現するためのプログラム情報を記憶するプログラム情報記憶部44とを含んでいる。
【0031】
図2を参照して、キーフレーム情報記憶部42は、複数個のキーフレーム情報62、64および66を含んでいる。なお通常キーフレームの数はこれよりも多いが、この例では説明を簡略にするためにキーフレームとして3つの場合のみを考えることとする。
【0032】
たとえば第1のキーフレーム情報62は、第1のキーフレームが表示されるべき時刻を特定するための情報、すなわちアニメーションの表示開始から第1のキーフレーム表示までの予定経過時間72と、予定経過時間72の経過後にフレーム上に表示されるべき図形の特徴を特定するための図形情報74、78および82とを含んでいる。第1のキーフレーム62が表示されるのはアニメーションの開始時であるため、第1のキーフレームでは予定経過時間=0である。各図形情報74、78および82はそれぞれ、後述する第2のキーフレームの対応する図形が格納された領域へのポインタ76、80および84を有している。図形情報の内容については図5を参照して後述する。
【0033】
同様にして第2のキーフレーム情報64は、予定経過時間92と、図形情報94、98、102および106とを含んでいる。第1のキーフレーム情報62の図形情報74、78および82のポインタ76、80および84はそれぞれ、第2のキーフレーム64の図形情報94、98および102の領域の先頭を指し示している。同様にして第2のキーフレーム情報64の図形情報94、98、102および106はポインタ96、100、104および108を有している。これらのうちポインタ96、100および108は、後述する第3のキーフレーム66の対応する図形情報の領域の先頭を指し示している。第3の図形情報102のポインタ104は、キーフレームが終端であることを示す値を格納している。
【0034】
同様にして第3のキーフレーム情報66は、予定経過時間112と、図形情報114、118および122とを含んでいる。第2のキーフレーム情報64のポインタ96、100および108はそれぞれ、この第3のキーフレーム情報66の図形情報114、118および122の領域の先頭を指し示している。図形情報114、118および122はそれぞれポインタ116、120および124を有しているが、本例ではこの第3のキーフレームが最終フレームであるものと仮定しているので、これらポインタはいずれも終端であることを示す値を格納している。
【0035】
図2に示されるキーフレーム情報62、64および66が表わすアニメーションの概略を図3に示す。図3を参照して、このアニメーションは、画面130内を、三角形132が移動するものである。この三角形132は、図3に示されるように画面130の左上から中央上部に1秒かけて平行移動し、さらにそこから画面130の右下位置に1.5秒をかけて平行移動するものとする。図3において実線で示されている三角形は、それぞれ図2に示される第1のキーフレーム情報62、第2のキーフレーム情報64および第3のキーフレーム情報66によって特定される図形の形状および位置を示している。既に述べたように第1のキーフレーム62の予定経過時間は0である。第2のキーフレームで表示される三角形位置まで三角形132が移動する所要時間が1秒、さらにそこから第3のキーフレーム上で三角形132が表示される位置までの所要時間が1.5秒であるから、図2に示される第2のキーフレーム64の予定経過時間92は「1秒」であり、第3のキーフレーム66の予定経過時間112は「1+1.5=2.5秒」である。
【0036】
図4(a)、(b)および(c)にそれぞれ、図2に示されるキーフレーム情報62、64および66によって特定されるキーフレームを示す。これら各キーフレームにおける三角形132の位置については既に述べたとおりである。
【0037】
図5を参照して、図2に示されるキーフレーム情報62、64および66の内容について、説明する。この場合図3に示されるように、表示される図形は三角形132の1つであるから、図形情報としては1番目の図形情報74、94および114(図2参照)のみを想定する。図5(a)を参照して、第1のキーフレーム情報62の意味は次のとおりである。
【0038】
「第1のキーフレームに対応する予定経過時間は0秒である。この第1のキーフレームの中には、図形情報74により特定される第1の図形が存在する。」
この第1の図形情報74の意味は、図5(a)に示される例では次のとおりである。
【0039】
「第1の図形は、3個の点を持つ閉多角形である。すなわちこの図形は三角形である。三角形の3頂点の座標はそれぞれ(1,2)(2,3)(1,4)である。この第1の図形に対応する図形は、第2のキーフレームの中にも存在しており、その図形情報は、図5(b)に示される第2のキーフレーム情報64内の第1の図形情報94である。」
同様にして図5(b)の第2のキーフレーム情報64の意味は次のとおりである。
【0040】
「第2のキーフレームに対応する予定経過時間は1秒である。第2のキーフレームの中には第1の図形が存在し、その図形情報は図形情報94である。この図形情報94により特定される図形は、第1のキーフレーム情報62内の第1の図形情報74により特定される図形と連続している。図形情報94により特定される図形は、三角形であり、その3頂点の座標は(5,2)(6,3)(5,4)である。第1の図形に対応する図形が第3のキーフレーム内にも存在しており、その位置はポインタ96により示されている。」
第3のキーフレーム情報66の意味は次のとおりである。
【0041】
「第3のキーフレームに対応する予定経過時間は2.5秒である。第3のキーフレームには図形情報114により特定される図形が存在しており、その図形は三角形である。その三角形の3頂点の座標はそれぞれ(10,6)(11,7)および(10,8)である。この図形は、第2のキーフレームの第1の図形から連続しているが、この第3のキーフレームで途切れている。」
図1に示されるプログラム情報記憶部44により記憶されており、CPU32により実行されることにより、特許請求の範囲に記載された各ステップの機能を実現するプログラムの制御の流れについて図6を参照して説明する。まずステップS1においてタイマ40(図1参照)が初期化される。本実施の形態では、初期化によりタイマ40の値が0にリセットされる。他の形態として、タイマ40は連続的に動作しており、この初期化時のタイマ40の値がメモリ34上の所定の領域に複写されて、以後の処理の基準値を示す値として利用されてもよい。
【0042】
なお通常は、図6に示される処理に先立って、キーフレーム情報が、図1に示されないハードディスクなどの外部記憶装置からメモリ34のキーフレーム情報記憶部42内にロードされる。
【0043】
続いてステップS2で、図5(a)に示される第1のキーフレーム情報62に基づき、1枚目のキーフレーム(図4(a))がグラフィックメモリ36(図1参照)上に描画される。ディスプレイ画面38(図1参照)は、グラフィックメモリ36に書込まれた第1のキーフレームを表示する。
【0044】
ところで、グラフィックメモリ36に図形を描画しその図形をディスプレイ画面38に描画する場合、描画対象となるメモリ領域と、表示中のデータが格納されているメモリ領域とを別にする方が、画面のちらつきを少なくできることが知られている。これを実現するためには2通りの方法が通常行なわれている。1つは、汎用メモリ上の領域をビットマップとみなしてここに図形を描画した後、描画された領域のデータをグラフィックメモリに高速に転送する方法である。他の1つは、グラフィックメモリを2画面分用意し、この2画面の双方に対して交互に図形を描画するとともに、描画が完了した領域の画面のみをディスプレイ画面に表示するという方法である。ここでは、いずれの方法を用いてもよい。どちらの方法を使用するにあたっても、そのための特有の処理を行なう必要があるが、それらは当業者の知識の範囲内であるから、ここではその詳細についは繰返さない。
【0045】
次にステップS3で、キーフレーム番号を格納するための作業用レジスタiに初期値1を設定する。以後、各レジスタxの値を「変数x」と呼ぶこととする。ステップS4で、変数tに、ステップS1からの経過時間を格納する。図6に示されるように、ステップS1でタイマを初期化してから、ステップS2およびS3の処理を行なっているので、ステップS4時点での経過時間は0ではない。実際には、ステップS2およびS3のうち、ステップS2で行なわれる描画処理が最も複雑な処理であるから、経過時間の大部分をステップS2の処理時間が占めている。
【0046】
以後、i番目のキーフレームの予定経過時間をP と呼ぶこととする。ステップS5で、i+1番目のキーフレーム(i=1であれば2番目のキーフレーム)の経過時間が変数t以下であるか否かについて判断を行なう。i=1の場合、Pi+1=P=1秒である(図5(b))。この条件が成立すれば制御はステップS6に、成立しなければ制御はステップS8にそれぞれ進む。仮にステップS5の処理が最初に行なわれるとき(i=1)のtの値が0.3秒とする。この値と、図5(b)に示される第2のキーフレーム情報64内での予定経過時間の情報(=1秒)とが比較される。この場合には条件は成立しないので制御はステップS8に進むことになる。
【0047】
ステップS8では、次に描画すべきフレームの位置づけを示す値hが次の式により計算される。
【0048】
【数1】

Figure 0003616241
【0049】
この場合の値hの示す位置を図解すると図7のようになる。図7に示されるように、t=0.3は、時間軸上で、第1のキーフレームの表示される時刻と、第2のキーフレームが表示される時刻との間であって、第1のキーフレームが表示される時刻から第2のキーフレームが表示される時刻に向かって30%の位置に相当する。そこで値hがこのtの位置づけを示しており、「次に描画すべき中間フレームの、時間軸上での位置づけ」を示しているものとする。
【0050】
i=1の場合であって、かつ上述のようにt=0.3と仮定すると、P=0、Pi+1=1であるから、h=0.3となる。
【0051】
続いてステップS9で、変数hで特定される時点に対応する中間フレームの各図形の各特徴値の座標が次のように計算される。これら各座標値を含めてi番目のキーフレームのすべての図形のパラメータをQと表わし、i+1番目のキーフレームでの対応するパラメータをQi+1と表わすと、パラメータQとパラメータQi+1に対応するパラメータをRとすると、Rは次のようにして計算される。
【0052】
【数2】
Figure 0003616241
【0053】
図3〜図5に示される例を用いて具体的に示すと次のようになる。
【0054】
【表1】
Figure 0003616241
【0055】
すなわち、経過時間t=0.3(秒)に対応する中間フレームに描かれるべき三角形の各頂点の座標、すなわち座標1、座標2および座標3はそれぞれ(2.2,2)(3.2,3)および(2.2,4)となる。
【0056】
このようにしてすべてのパラメータQについてRを求めて、このRの値を用いて中間フレームの全図形を描画する(ステップS10)。この全図形の描画が終了すると、処理はステップS4に戻る。すなわち、ある中間フレームの全図形を描画すると、その時点で次のフレームの描画を始めることとなり、その時点までの経過時間をステップS4で求めて以後の処理を繰返し実行する。
【0057】
ところで、ステップS10で行なわれる図形描画にも一定の処理時間が必要とされる。この例では、図4(a)および(b)に示されるように、第1のキーフレームと第2のキーフレームとで、描くべき図形自体は同じ三角形132である。t=0.3の時点で描くべき三角形も、たとえば図4(a)に示される初期状態(t=0)での三角形132と同一の大きさである。この場合にはt=0.3の時点での図形の描画量自体は、t=0の時点と変わっていない。この中間フレームを描くために要する時間もまた、t=0のときの値とほぼ同じ0.3秒となるであろう。したがって、ステップS4の2回目の実行での経過時間tはt=0.6となる。
【0058】
上述の繰返し処理において、ステップS5での判断がYESとなると処理はステップS6に進む。ステップS6では変数iに1を加算する。さらにステップS7で、加算後のiを用いてi+1が、当初用意されたキーフレームの数nよりも大きいか否かについての判断が行なわれる。この条件が成立しなければ制御はステップS5に進んで以下の処理を繰返し実行する。ステップS7の条件が成立すると、最後のキーフレームの予定経過時間を過ぎたということであるから、処理を終了する。
【0059】
上記した例では、中間フレームで描画されるべき描画量は変化しない。したがって各中間フレームの描画に要する時間は0.3秒である。またn=3である。したがってこの例で図6の処理を実行することにより、図8に示されるようなタイミングでフレームの描画が行なわれる。すなわちまずt=0で第1のキーフレームが描画される。さらにt=0.3、0.6および0.9の時点で、第1のキーフレームと第2のキーフレームとの間での補間計算から得られた中間フレームが描画される。さらにt=1.2、1.5、1.8、2.1、および2.4の時点で、第2のキーフレームと第3のキーフレームとの間での補間計算により得られた中間フレームが描画される。すなわち各時点を起点として合計9枚のフレームが描かれ、連続したアニメーションとして表現される。
【0060】
このときの画面130上に描かれる三角形132の軌跡を図9に、各図形の描かれる時点とともに示す。図9において、実線で示されているのがキーフレームの図形であり、破線で示されているのが中間フレームで描かれる図形である。図9に示される例で特徴となっているのは、キーフレームのうち最初のキーフレームはt=0の時点で描かれているが、他のキーフレーム(第2および第3のキーフレーム)は描画されていないということである。
【0061】
なお、図8および図9に示されるt=0〜2.4の0.3秒おきの各時点は、描画の開始の時刻を示している。実際に画面に表示されるまでには、各フレームの描画に対する所要時間が必要であるから、その分だけの遅れが生じる。
【0062】
上述の例では、アニメーション表示される三角形の大きさが変化せずただ移動のみする場合を示した。しかし、今までに示した装置およびプログラムを用いて、キーフレーム間で三角形の大きさが変化するようなアニメーションを表示することもできる。この場合には、上述の例のように三角形の大きさが変化しない場合と比較して、三角形の面積が変化するために、描画量が変わり中間フレームの描画に要する時間が変わってくる。したがって、全く同じ装置およびプログラムを用いても、見かけ上の動作が上述の例とは異なってくる。
【0063】
図10(a)〜(c)に、このアニメーションのための3つのキーフレームを示す。図10(a)に示すように、画面130の左上に、三角形134が描かれるのが第1のキーフレームである。図10(b)を参照して、第1のキーフレームの三角形134が大きくなり(2倍)、三角形136として表示されるのが第2のキーフレームである。図10(c)を参照して、三角形136が画面左上から画面右上に移動した後の状態が第3のキーフレームである。
【0064】
図11に、図10(a)〜(c)に示される3つのキーフレームに対応するキーフレームデータ162、164および166を示す。図11を参照して、第1のキーフレームのためのキーフレーム情報162は、経過時間(=0秒)と、三角形134を示す第1の図形情報174とを含んでいる。図形の種類は閉多角形であり点の数は3、すなわち三角形である。この三角形の3頂点は(1,2)(2,3)(1,4)という座標を有する。第1の図形情報174のポインタ176は、第2のキーフレームのキーフレーム情報164に含まれる第1の図形情報194の領域の先頭を示している。
【0065】
第2のキーフレームのキーフレーム情報164は、経過時間(=1秒)と、第2のキーフレームでの三角形136に対応する図形情報194とを含んでいる。図形情報194によれば、描画の種類は閉多角形であり、その点の数は3、すなわち三角形である。三角形の3つの頂点の座標はそれぞれ(1,1)(3,3)(1,5)である。ポインタ196は、第3のキーフレームのためのキーフレーム情報166の第1の図形情報214の領域の先頭を指し示している。
【0066】
第3のキーフレームのためのキーフレーム情報166は、予定経過時間(=2.5秒)と、第1の図形のための図形情報214とを含んでいる。第1の図形情報214によれば、図形の処理は閉多角形であり、その頂点の数は3、すなわち三角形である。この三角形の3頂点の座標はそれぞれ(8,1)(10,3)(8,5)である。第1の図形情報214のポインタ216は、この図形が第3のキーフレームで終端となっていることを示している。
【0067】
図10(a)および(b)を参照して、この間の時間では、三角形134が徐々に拡大され三角形136となるアニメーションが生成される。この例では、三角形の外形を描くのみであるものとすると、描くべき図形の大きさがa倍になると、その図形を描くための処理時間もほぼa倍となる。図10(a)(b)においては、描くべき図形は三角形134および136のみであるから、図10(b)に示される第2のキーフレームを描画するための処理時間は、図10(a)に示される第1のキーフレームを描画するための処理時間のほぼa倍となる。この例ではa=2であるから、第2のキーフレームの処理時間は第1のキーフレームのほぼ2倍である。但し前述したとおり、第2のキーフレームは実際には描画されない。
【0068】
なお、上述の例では三角形の外形を描くのみであるが、三角形の内部を特定の色で塗り潰す場合には、縮尺がa倍になると面積はa倍となるため、塗り潰しを行なうために必要な描画量がほぼa倍となる。したがって描画量の増加率は、図10(a)および(b)のように外形のみを描く場合よりも大きくなる。
【0069】
図10(b)および(c)を参照して、第2のキーフレームから第3のキーフレームの間は、拡大された三角形が平行移動するアニメーションが行なわれる。この場合、1フレーム当りに必要な描画量は変化しないので、1フレーム当りの描画時間も変化せず、第2のキーフレームの処理時間と同様の処理時間を各フレームに対して必要とする。
【0070】
すなわち、図10(a)〜(c)に示されるようにキーフレームからアニメーションの中間フレームを生成してアニメーション再生した場合、フレームの描画開始タイミングは図12に示すようになる。まず第1のキーフレームの描画を開始する(t=0)。第1のキーフレームの描画が、第1の例の場合と同様に0.3秒を要するものとすると、第2のキーフレームの描画はt=0.3の時点で開始される。図11に示される図形情報174および194によれば、第2のキーフレーム(t=1に相当)での三角形の大きさは、第1のキーフレームでの三角形134の大きさの2倍である。この間、三角形の拡大は線形的に行なわれるものとすれば、t=0.3の時点では、三角形134を1.3倍した大きさの三角形を描画する必要が生じる。この場合、0.3×1.3=0.39(秒)、すなわち約0.4秒の処理時間を要する。t=0.3の時点で描画処理を開始した中間フレームの処理はt=0.7の時点で終了する。さらにt=0.7に相当する時点での描画されるべき三角形の大きさは、図10(a)の三角形134を1.7倍した大きさとなる。その描画に要する時間は0.3×1.7=0.51(秒)、すなわち約0.5秒である。したがってこの中間フレームの描画はt=1.2秒の時点で終了し、次のフレームの描画が開始される。t=1.2秒の時点では描かれるべき三角形は既に図10(b)に示される三角形136の大きさとなり、これ以後その大きさには変化はない。したがって以後の描画に要する時間は一定である。この描画には、0.3×2=0.6秒を要する。このようにして各中間フレームの描画が開始されるタイミングを示したのが図12である。こうして、図12に示されるように、t=0、0.3、0.7、1.2、1.8および2.4に相当する時刻を起点とした6枚のフレームが描かれて連続したアニメーションとして表現される。
【0071】
図8と図12とを参照して、図8に示される例では各フレームを描画するための処理時間は一定であったのに対し、図12に示される例ではそれらは一定ではない。しかしいずれの場合にも、各キーフレームに保持されている予定経過時間情報に沿ってアニメーションの再生が行なわれ、かつ全体の再生時間も両者ともほぼ2.5秒となることがわかる。つまり、各フレーム当りの描画量が変化しても、その変化が全体のアニメーションの表示の進行には影響を与えないということがわかる。
【0072】
同様の考え方によれば、たとえばCPUの処理能力が2倍になった場合を考える。図8に示す例の場合、CPUの処理能力が2倍になれば、各フレームの描画が開始されるタイミングは図13に示されるように0.15秒おきとなり、全体で17枚のフレームが再生される。また図10に示される例を同じく処理能力が2倍のCPUで再生した場合、各フレームの描画の開始タイミングは図14に示されるようになる。この場合、第1のキーフレームから第2のキーフレームまでの間に中間フレームの描画に要する時間は徐々に増加するが、全体としては10枚のフレームでこのアニメーションを再生することができる。図8と図13とを参照すれば、同じアニメーションが、同じ時間経過に沿って再生されることがわかる。しかもこの場合には、この間に生成されるフレーム数がほぼ2倍となり、より滑らかなアニメーションを得ることができる。図12と図14とを比較しても同様である。したがって、アニメーションの作成時にどのような処理能力のCPUを想定していたとしても、また再生時に実際にどのような処理能力のCPUでこのアニメーションを再生したとしても、この方法によりアニメーションを再生する限り、同じ時間経過に沿って、かつCPUの処理能力に応じた滑らかさでアニメーションが再生されることになる。
【0073】
以上、図形の特徴点の座標が変化する場合について例とした示したが、同様の方法を用いて、データの中身を変えることにより、かつ図形を描画する場合に、データの内容に応じて異なる図形描画処理を行なうようにすれば、上述の実施の形態1のコンピュータおよびプログラムを用いて、図形の色、透明度、図形を構成する線の太さ、図形を構成する線が破線の場合の実線部と空白部との比率、図形が文字である場合のフォントのサイズ、図形が複数個の図形からなる図形群の場合に、この図形群の基準点の座標、同じく図形群の表示上の縮尺比率などを、各キーフレームごとに指定しておき、中間フレームをこれらキーフレームの対応する情報の間で行なう補間計算により得ることができる。
【0074】
たとえば図15(a)に、図形の種類が多角形の場合に考えられる図形情報262のデータ構造を示す。図15(b)に、図形の種類として一群の文字からなるテキストが指定された場合の図形情報264のデータ構造の例を示す。図15(c)には、図形の種類として図形群が指定された場合の図形情報266のデータ構造の例を示す。
【0075】
図15(a)を参照して、図形の種類が多角形の場合には、点の数と、点の数に応じた数の座標と、図形内部を塗り潰すべき色と、透明度と、図形を構成する線の太さと、その線種と、線種が破線である場合の実線部と空白部との比率を示すデータ等が格納される。たとえば色であれば、光の三原色である赤(R)、緑(G)、青(B)の数値により表現できる。連続した2つのキーフレーム中の図形の属性情報として、この(R、G、B)を指定しておけば、対応するデータの間での補間計算を行なって中間フレームの図形を塗り潰すべき色を特定する(R、G、B)を計算することができる。透明度、線の太さ、線種が破線の場合の実線部/空白部の比率などについても全く同様である。
【0076】
図15(b)を参照して、図形の種類がテキストである場合には、そのテキストを描画すべき座標(この場合にはテキストの基準位置の座標)と、テキスト内容と、テキストを表示すべきフォントの種類と、テキストを表示すべきフォントのサイズを示すフォントポイント数と、テキスト表示の色を指定する情報と、フォントを表示する際のそのフォントのスタイル(標準、イタリック体、ゴールド体など)と、テキスト中の文字間隔、行間隔、各行についての行揃えを示す情報、などが格納される。特に文字の場合、連続した2つのキーフレームの中のテキストの属性情報として、ポイントフォント数があれば、その値に対して補間計算を行なうことにより中間フレームで表示すべきテキストの文字の大きさを決定することができる。この場合、ポイント数が端数であってもそのポイント数に従った大きさの文字を表示できる場合には問題ないが、特定のポイント数の文字しか表示できない場合には、補間によって得られたポイント数に最も近いポイント数の文字を表示するようにしてもよい。
【0077】
図15(c)を参照して、図形情報266の種類が図形群の場合には、この情報266には、その図形群に含まれる図形の数と、各図形に対応する図形情報への、その図形の数に対応したポインタと、図形群全体を表示する際の基準点の座標と、図形群を表示する際の表示上の縮尺比率などが格納される。この場合のポインタは、この図形群の図形情報266が格納されているキーフレームの中に別の図形情報として格納されている個々の図形情報へのポインタである。図15(c)に示される例の場合、基準点座標、表示上の縮尺比率などを、隣接する2つのキーフレーム間の補間計算により求めることができる。
【0078】
次に、本発明の実施の形態2に係るアニメーション表示方法を実現するための装置について図16を参照して説明する。実施の形態1では、隣接する2つのキーフレーム間で対応する図形情報のうち対応する特徴データの間で線形計算による補間計算で中間フレームの図形情報の対応する特徴データを生成していた。実施の形態2の方法では、このようにして補間計算により得られた特徴データをさらに所定の方法で変換して、時間軸上での各図形の動きに、線形計算では得られない変化を与えることを特徴としている。
【0079】
図16に、実施の形態2の方法を実現するためのコンピュータ330のブロック図を示す。このコンピュータ330が図1に示される実施の形態1を実現するためのコンピュータ30と比較して異なるのは、メモリ34内に、実施の形態1のためのプログラムとは異なるプログラムを記憶したプログラム情報記憶部344と、上述のように一旦線形計算による補間計算により得られた図形の特徴データをさらに変換する際に用いられる変換テーブル346とを含んでいる点である。その他の点では図16に示されるコンピュータ330は図1に示されるコンピュータ30と同様である。同一の部品には同一の参照符号および名称を与えており、それらの機能も同一である。したがってここではそれらについての詳細は繰返さない。
【0080】
図17を参照して、変換テーブル346は、実施の形態1で説明された、「次に描画すべき中間フレームの位置づけ」を示す値hを予め計算し、そのhの各値に対して、その時点で実際の変化量としてとるべき値kを予め定め、hとkとの対をテーブルとして予め準備したものである。図17に示される変換テーブル346では、hに対してk=hの関係が想定されている。なお、kとしてhと上述したような関数関係を想定して変換テーブル346を作成してもよいが、変換テーブルを用いた場合には、必ずしもそうした関数関係に基づかず、アニメーション作成者の恣意的な意図によってkを定めることができ、それによって単純な関数では得られないような特殊な動きを実現することが可能になる。
【0081】
図27を参照して、このような変換テーブルを複数個準備し、それぞれの図形情報に付加されたテーブル番号によって、それぞれ異なる変換テーブルを対応付けることにより、キーフレームが2つだけであっても、それぞれの図形に、時間軸に対して異なる動きを表現させることが可能になる。なお、ここではテーブル番号=0は、変換テーブルを用いないということを表すものである。
【0082】
また、図28を参照して、テーブル番号1はkの変化量が次第に増加する加速度運動、テーブル番号2はkの値が0と1の間で振動する反復運動を表している。図29を参照して、等速で移動する飛行機の絵1001には変換テーブルを対応させないものとし、落下するリンゴの絵1002にはテーブル番号1すなわち加速度運動を対応させ、しゃべる人物の絵1003にはテーブル番号2すなわち反復運動を対応させるものとすると、キーフレーム1とキーフレーム2の2つのキーフレームだけで、3種類の異なる性質の動きを同時に実現することが可能となる。
【0083】
図18に、図16に示すプログラム情報記憶部344に格納されるプログラムの制御の流れを示す。図18に示すフローチャートが図6に示される実施の形態1のプログラムのフローチャートと異なるのは、ステップS8の後に、ステップS8で得られたhを、変換テーブル346を参照してkに変換するステップS11が含まれることと、図6のステップS9でhの代わりにkを用いてステップS9と同様の処理を行なうステップS12が挿入されていることとである。他の点では図18は図6に示されるフローチャートと全く同様である。
【0084】
このように、線形計算による補間計算により得られた値hを、変換テーブル346を用いてkに変換しkを用いて中間フレームの対応パラメータを計算して図形を生成する。こうした処理をたとえば図形の座標点に対して適用すると、たとえば加速度を伴った図形の動きなど、時間の進行に対して非直線の動きを表現することが可能になる。また、既に述べたようにテーブル346の内容を自由に設定できることから、時間に対して恣意的な動きを設定することができるという利点がある。また図形の色に対して適用すると、時間軸上で色が変化する特殊な効果を出すことができる。
【0085】
このように一旦hを計算した後、hを別の値kに変換する方法としては、テーブル変換ではなく或る関数の変数としてhを代入し、そのときの関数の値をkとすることも考えられる。たとえばk=hという演算を行なってkを得ることが考えられる。もちろんこの例は一例であり、他のどのような関数を用いてもよい。この場合、図18のステップS11で、上述の関数による変換を行なえばよい。この場合には、テーブル変換による場合と比較して、保有しなければならないデータ量がより少なくなるという利点がある。
【0086】
上述のように本発明によれば、隣接するキーフレームの対応する図形の対応するパラメータ間で補間を行なうことにより中間フレームを作成するキーフレーム補間方式のコンピュータアニメーションにおいて、CPU速度や1フレーム当り必要とされる描画量に依存せず、全体の再生時間を一定とすることが可能となる。そのため画像は、音声と同期して再生させることが容易となる。また、CPUの処理能力に応じて増加する中間フレーム数でアニメーションを再生することができ、かつCPUに遊び時間が発生することがないため、CPUの処理能力の増大に応じ過去に作成したデータを修正することなく、より滑らかなアニメーションを再生することができる。
【0087】
本発明におけるアニメーション表示プログラムは、磁気テープ又はCD−ROM等の記録媒体におって供給される。当該アニメーション表示プログラムはコンピュータ本体によって実行され、操作者はグラフィックディスプレイ装置を見ながらキーボードまたはマウスを操作することによってアニメーション表示を行う。また、アニメーション表示プログラムは他のコンピュータより通信回路を経由し、通信モデムを介してコンピュータ本体に供給されてもよい。
【図面の簡単な説明】
【図1】本発明を実現するためのコンピュータのブロック図である。
【図2】キーフレーム情報を模式的に示す図である。
【図3】アニメーションの一例を模式的に示す図である。
【図4】図3に示されるアニメーションを再生する上で必要とされるキーフレームの画像を示す図である。
【図5】図4に示されるキーフレームのためのキーフレーム情報を示す図である。
【図6】実施の形態1でのアニメーション表示方法を実現するためのプログラムのフローチャートである。
【図7】中間フレームの生成タイミングを模式的に示す図である。
【図8】描画量が一定の場合の、中間フレームの描画開始タイミングを模式的に示す図である。
【図9】図3に示されるアニメーションを再生する場合の、中間フレームの各図形を模式的に示す図である。
【図10】図形の描画量が変化するアニメーションのためのキーフレームを示す図である。
【図11】図10に示されるアニメーションのキーフレーム情報を示す図である。
【図12】図10に示されるキーフレームから再生されるアニメーションの、各フレームの描画開始タイミングを模式的に示す図である。
【図13】図3に示されるアニメーションを、処理能力の高いCPUで処理した場合の、各フレームの描画開始タイミングを模式的に示す図である。
【図14】図10に示されるアニメーションを、処理能力の高いCPUで処理した場合の、各フレームの描画開始タイミングを示す模式図である。
【図15】図形の色など、座標情報以外のデータを格納した図形情報の構成の例を示す図である。
【図16】本発明の実施の形態2を実現するためのコンピュータのブロック図である。
【図17】変換テーブルを模式的に示す図である。
【図18】実施の形態2の方法を実現するためのプログラムのフローチャートである。
【図19】従来のキーフレーム補間方式のアニメーションの原理を模式的に示す図である。
【図20】従来方式によるアニメーション表示の一例を示す図である。
【図21】従来技術によるキーフレーム補間方式のアニメーションの問題点を示すための図である。
【図22】従来技術によるキーフレーム補間方式のアニメーションの問題点を示すための図である。
【図23】従来技術によるキーフレーム補間方式のアニメーションの問題点を示すための図である。
【図24】従来技術によるキーフレーム補間方式のアニメーションの問題点を示すための図である。
【図25】従来技術によるキーフレーム補間方式のアニメーションの問題点を示すための図である。
【図26】従来技術によるキーフレーム補間方式のアニメーションの問題点を示すための図である。
【図27】本発明の実施の形態2における複数の変換テーブルを持つ場合のキーフレーム情報を模式的に示すための図である。
【図28】本発明の実施の形態2における複数の変換テーブルの例を示すための図である。
【図29】本発明の実施の形態2における複数の変換テーブルを利用したアニメーションのキーフレームの例を示すための図である。
【符号の説明】
30、330 コンピュータ
32 CPU
34 メモリ
36 グラフィックメモリ
38 ディスプレイ画面
40 タイマ
62、64、66、162、164、166 キーフレーム情報
346 変換テーブル[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an animation reproduction method for reproducing a graphic animation using a computer, and in particular, based on an image of a key frame (key frame) in a time series, an image between key frames is real-time. The present invention relates to an animation playback method for generating and playing back.
[0002]
[Prior art]
As a method of playing animation using a computer, animation is generated by generating a frame between key frames based on the coordinate data of the frame image at the key time, instead of all the frames in the time series. There is a way to play.
[0003]
A conventional method proposed in Japanese Patent Laid-Open No. 60-191366 will be described with reference to FIG. In this method, images of all frames of the animation are not stored, but only images of specific key frames are stored in advance. It is assumed that figures 362 and 364 shown in FIG. 19 are such key frame figures, and these belong to key frames adjacent to each other on the time axis. In Japanese Patent Application Laid-Open No. 60-191366, the time between the adjacent key frame figures 362 and 364 is divided into n equal parts, and the intermediate frames 366, 368 and 370 (assuming n = 3) are included. Are determined by linear interpolation between the corresponding image figures 362 and 364 in the key frame. Thus, assuming that the time axis advances in the direction indicated by the arrow in FIG. 19, first the key frame including the graphic 362, and then the three intermediate frames including the intermediate graphic 366, 368 and 370, respectively. The key frame including the figure 364 is displayed and the animation is reproduced. After the key frame including the figure 364 is displayed, the same interpolation calculation is performed between this key frame and the next key frame, and animation reproduction is performed.
[0004]
[Problems to be solved by the invention]
Such an animation reproduction method has an advantage that the amount of data required for animation reproduction is much smaller than that in the case of having information of all frames. Conventionally, it has been difficult to realize such an animation reproduction method, but it is about to be realized by improving the processing capability of a CPU (central processing unit) in recent years. However, this method has the following problems because the CPU generates intermediate frames by calculation.
[0005]
Referring to FIG. 20, it is assumed that three frames 382 to 386 correspond to intermediate frames in the conventional method described above. For each frame, the time required for drawing is 0.1 seconds. That is, it takes 0.3 seconds in total to reproduce these three frames. If this animation is played back in real time in parallel with the sound, the following problems occur.
[0006]
The first problem occurs when an attempt is made to reproduce this animation on a CPU that has a slower processing speed than expected when the animation was created. In this case, as shown in FIG. 21, the time required to draw one frame is longer than 0.1 seconds, for example, 0.12 seconds. Therefore, when the frames 392 to 396 are sequentially reproduced, the reproduction time takes longer than expected, and the delay from the initially assumed reproduction time gradually increases. On the other hand, the sound is played back at the initially assumed time. As a result, the difference between the movement of the displayed graphic and the sound becomes gradually larger. For example, as shown in FIG. 21, as the frames 392, 394, and 396 are advanced, the shape of the mouth of the person reproduced on the screen does not match the sound.
[0007]
Contrary to the first problem, the second problem occurs when an attempt is made to reproduce this animation with a CPU having a higher processing capability than assumed when the animation was created. In this case, as shown in FIG. 22, the time required to draw each of the frames 402, 404 and 406 may be shorter than 0.1 seconds, for example, only 0.06 seconds. For this reason, the animation playback time is shorter than expected when the animation is created. If the audio playback speed is constant, even in the case shown in FIG. 22, there is a difference between motion and audio. In this case, the animation moves faster than the voice.
[0008]
What has been described above is a problem caused by the difference in processing capability of CPUs. However, such a problem also arises due to fluctuations in the drawing amount required for each frame. For example, with reference to FIG. 23, consider a case where a figure to be drawn becomes larger as it advances on the time axis with frames 412, 414 and 416. In such a case, the larger the figure, the longer the time required for drawing. For example, it is assumed that drawing of frame 412 takes 0.1 seconds, drawing of frame 414 takes 0.11 seconds, and drawing of frame 416 takes 0.12 seconds. Also in this case, a delay of 0.01 seconds occurs in the frame 414, and a drawing delay of 0.01 + 0.02 = 0.03 seconds occurs in the frame 416. Therefore, also in this case, the reproduction timing of each frame is shifted from the audio reproduction timing.
[0009]
In order to solve the problem relating to the synchronization between the sound and the screen as described above, a method of determining the drawing processing start time of each frame on the basis of the first frame is also conceivable. However, this method has the following problems. Also in this case, the example shown in FIG. 20 is assumed.
[0010]
First, referring to FIG. 24, consider a case where the processing capability of the CPU is lower than that assumed. In this case, for example, the drawing time assigned to each of the three frames 422, 424 and 426 is determined to be 0.1 second. If the processing speed of the CPU is slow, it may not be possible to complete all drawing during the given drawing time. Then, as shown in a frame 422, 424, or 426 in FIG. 24, there arises a problem that drawing of the next frame starts with each frame being incomplete.
[0011]
On the other hand, when the processing capacity of the CPU is higher than the assumed processing capacity, the following problem occurs. Referring to FIG. 25, when each frame 432, 434, and 436 is played back by a CPU with high processing capability, for example, the time required to draw each frame is only 0.06 seconds. The time allocated for drawing each frame is 0.1 seconds. Therefore, for each frame, a pause time of 0.04 seconds occurs after the drawing process is completed. During this time, the CPU is idle. If the processing capacity of the CPU is maximized, not only the three frames 432, 434 and 436 as shown in FIG. 25 but also five frames 442, 444, 446, as shown in FIG. It should be possible to play 448 and 450. As the number of frames reproduced during a unit time increases, the movement of the animation becomes smoother. Therefore, the pause time as shown in FIG. 25 is avoided as much as possible, and the reproduction as shown in FIG. 26 can be performed. Is preferable.
[0012]
In addition, not only the position and size of a figure, but also the color and transparency of the figure, the thickness of the lines that make up the figure, for example, the lines that make up the figure are broken lines, It is preferable that the ratio between the drawn portion and the non-drawn portion, the font size when displaying characters, and the like can be applied. In addition, it is desirable that the same processing can be performed not only for a single figure but also for movement of a figure group composed of a group of basic figures. The same applies to the scale ratio on the group display. Furthermore, it is more preferable if an intermediate frame is generated from a key frame so that an animation can be reproduced with a specific change with respect to time as well as simple movement.
[0013]
Therefore, the object of the invention described in claim 1 and the object of the invention described in claim 2 is to generate an animation by generating intermediate frames between key frames with as many frames as possible while keeping the reproduction speed of animation constant. It is an object to provide an animation playback method that can play back video.
[0014]
In addition to the object of the invention described in claim 1 or 2, the object of the invention described in claims 3 to 10 is the time series change of the feature point of the figure, the time series change of the color of the figure, the transparency of the figure, respectively. Time-series change, time-series change of the thickness of the lines that make up the figure, time-series change of the ratio between the drawn and non-drawn parts of the lines that make up the figure, and the time-series of the font size when the figure is a character Provided is an animation reproduction method capable of displaying a time series change of a reference point of a figure group and a time series change of a scale ratio on the figure group when the figure is a figure group. That is.
[0015]
The object of the invention described in claims 11 to 13 is to provide an animation reproduction method capable of changing the motion of the animation in addition to the object of the invention described in claim 1 or 2.
[0016]
[Means for Solving the Problems]
An animation display method according to claim 1 is for displaying a graphic animation on a display device using a computer program, each of which includes information for specifying a display time, A step of preparing a plurality of key frame information in a memory including graphic information for specifying a feature of a graphic to be displayed in a display frame at a display time, a step of obtaining a current display time, and the above-described steps A step of selecting at least two pieces of key frame information each having display times before and after the obtained display time, and corresponding graphic information included in each of the at least two pieces of key frame information. The graphic information to be displayed at the obtained display time is created by performing a predetermined interpolation calculation in A step of drawing a frame at the obtained display time based on the created graphic information, a step of obtaining the current display time, a step of selecting, a step of creating, and a step of displaying And a step of repeating until a predetermined time elapses.
[0017]
After a plurality of key frame information is prepared in the memory in advance, the following repetition is performed. First, the current display time is obtained. Then, the two preceding and following key frame information is selected. A predetermined interpolation operation is performed between corresponding graphic information included in these two key frame information, and graphic information to be displayed at the obtained display time is created and drawn. Since drawing information for the next frame is not created unless one frame is drawn, each frame can be drawn completely. In addition, since the display time is not determined in advance, a large number of intermediate frames are created in the case of a CPU with high processing capability, and a small number of intermediate frames are created in a CPU with low processing capability. The corresponding animation can be displayed.
[0018]
In the animation display method according to the second aspect of the invention, in addition to the configuration of the invention according to the first aspect, the plurality of key frame information includes head key frame information relating to a frame to be displayed at the head. . The animation display method further includes a step of displaying the top frame based on the top key frame information at the start of the animation display. The step of obtaining the current display time includes the step of referring to the timer in response to the completion of the drawing process of one frame and obtaining the value of the timer at that time as the display time.
[0019]
When the drawing process of the first frame is completed, the display time of the next frame is obtained in response to the completion. When the drawing of the frame at this display time is completed, the next display time is obtained in response to the completion. When drawing processing for a certain frame is completed one after another in this way, frame creation and drawing at the display time at the time of completion are repeated, so there is no play time and the CPU's ability can be fully utilized. it can.
[0020]
In addition to the configuration of the invention described in claim 1 or 2, the graphic information includes coordinate information of graphic feature points, graphic color information, and graphic transparency information. , Information on the thickness of the lines that make up the figure, information on the ratio of the drawn and non-drawn parts of the lines that make up the figure, the size of the character font, the coordinates of the reference point of the figure group, Each of the scale ratios. By creating and drawing graphic information at an intermediate frame by interpolation between these graphic information, deformation or movement of the graphic, change in the color of the graphic, change in the transparency of the graphic, line thickness of the graphic, graphic It is possible to create an animation including changes in the broken lines of the lines, the size of the character font, the movement of the graphic group, and the change in the scale ratio on the graphic group display.
[0021]
In the animation display method according to the invention described in claim 11, in addition to the configuration of the invention described in claim 1 or 2, the creating step is performed between the corresponding graphic information included in each of the two key frame information. Interpolation calculation is performed by a predetermined linear calculation, and graphic information obtained by the interpolation calculation is converted by a predetermined conversion method.
[0022]
By further converting the graphic information generated by the interpolation calculation by linear calculation once, it becomes possible to express a non-linear movement with respect to time, such as a movement with acceleration. In other words, it is possible to change the animation on the time axis.
[0023]
In addition to the structure of the invention described in claim 11, the animation display method according to the invention described in claim 12 further includes the step of preparing a table for converting graphic information prior to the start of animation display. Contains. The converting step includes a step of looking up the converted graphic information corresponding to the graphic information created in the creating step from the above table.
[0024]
In this way, it is possible to realize arbitrary changes on the time axis on the animation by converting the graphic information once created by interpolation calculation using a table and displaying the animation with the converted graphic information. it can.
[0025]
In the animation display method according to the thirteenth aspect, in addition to the configuration of the invention according to the eleventh aspect, the converting step assigns the graphic information created in the creating step to a variable of a predetermined function. The step of using the value of this function as the converted graphic information is included.
[0026]
Since graphic information obtained by interpolation calculation by linear calculation is further substituted into a variable of a predetermined function for conversion, non-linear motion can be realized on animation. Furthermore, there is a feature that the amount of data required for this is small.
[0027]
In the animation display method according to the fourteenth aspect of the invention, in addition to the configuration of the invention of the twelfth aspect, in the step of looking up from the table, the conversion table includes a number for identifying. The graphic information has a number for associating with the table, and includes a step of looking up from a table individually associated with each graphic in advance.
[0028]
A step of preparing a plurality of conversion tables and looking up from different conversion tables according to the table number added to each graphic information is included. This makes it possible to express more complicated movements in each figure between only two key frames. For this reason, it is possible to reduce the time and effort required to create a large number of key frames and to reduce the amount of data required.
[0029]
A computer-readable recording medium recording the animation display program according to claim 15 is a recording medium recording an animation display program for displaying a graphic animation on a display device using the computer program, A step of preparing a plurality of key frame information in a memory including information for specifying a display time and graphic information for specifying a feature of a graphic to be displayed in the display frame at the display time A step of obtaining a current display time, a step of selecting at least two key frame information each having a display time before and after the obtained display time among the plurality of key frame information, and the at least two keys Predetermined interpolation calculation between corresponding graphic information included in each frame information A step of creating graphic information to be displayed at the obtained display time, and a step of displaying a frame at the obtained display time on a display device based on the created graphic information; A computer recording an animation display program for realizing the step of obtaining the current display time, the selecting step, the creating step, and the displaying step until a predetermined time elapses. It is a readable recording medium.
The present invention is also an animation display method for displaying an animation based on a plurality of key frame information including time information for specifying a time to be displayed and graphic information for specifying a graphic to be displayed. A predetermined interpolation calculation is performed based on the step of acquiring time, time information and graphic information included in at least two key frames of the plurality of key frames, and the acquired current time, and corresponds to the current time Generating an intermediate frame including graphic information for specifying a graphic to be displayed, and displaying the generated intermediate frame. The current time is acquired in response to the completion of the display of the intermediate frame. An animation display method characterized by the above is provided.
The present invention also provides an animation display method characterized in that the two key frames are key frames before and after the current time on the time axis, respectively.
Ma Further, the present invention is a computer readable recording an animation display program for displaying an animation based on a plurality of key frame information including a display time for specifying a display time and a graphic information for specifying a graphic to be displayed. A predetermined recording medium based on a step of acquiring a current time, time information and graphic information included in at least two key frames of the plurality of key frames, and the acquired current time Performing an interpolation calculation, generating an intermediate frame including graphic information for specifying a graphic to be displayed corresponding to the current time, and displaying the generated intermediate frame. The current time is acquired in response to the completion of the display of the intermediate frame. A computer-readable recording medium on which an animation display program is recorded is provided.
[0030]
DETAILED DESCRIPTION OF THE INVENTION
With reference to FIG. 1, the animation display method of the present invention is realized by a computer 30. The computer 30 executes a predetermined program to realize processing of each step of the present invention, a graphic memory 36 into which the CPU 32 writes an animation image, and an image on the graphic memory 36 for displaying. It includes a display screen 38, a memory 34 connected to the CPU 32, and a timer 40 for the CPU 32 to obtain information relating to time. The memory 34 includes a key frame information storage unit 42 that stores a plurality of key frame information, and a program information storage unit 44 that stores program information for realizing the animation display method of the present invention executed by the CPU 32. Yes.
[0031]
Referring to FIG. 2, key frame information storage unit 42 includes a plurality of key frame information 62, 64 and 66. Although the number of normal key frames is larger than this, in this example, only three cases are considered as key frames for the sake of simplicity.
[0032]
For example, the first key frame information 62 includes information for specifying a time at which the first key frame is to be displayed, that is, a scheduled elapsed time 72 from the start of animation display to the first key frame display, and a scheduled elapsed time. Graphic information 74, 78, and 82 for specifying the characteristics of the graphic to be displayed on the frame after the elapse of time 72 is included. Since the first key frame 62 is displayed at the start of the animation, the estimated elapsed time = 0 for the first key frame. Each graphic information 74, 78, and 82 has pointers 76, 80, and 84 to areas in which corresponding graphics of the second key frame described later are stored. The contents of the graphic information will be described later with reference to FIG.
[0033]
Similarly, the second key frame information 64 includes scheduled elapsed time 92 and graphic information 94, 98, 102 and 106. The pointers 76, 80, and 84 of the graphic information 74, 78, and 82 of the first key frame information 62 indicate the heads of the areas of the graphic information 94, 98, and 102 of the second key frame 64, respectively. Similarly, the graphic information 94, 98, 102 and 106 of the second key frame information 64 has pointers 96, 100, 104 and 108. Among these, pointers 96, 100, and 108 point to the beginning of the corresponding graphic information area of the third key frame 66 described later. The pointer 104 of the third graphic information 102 stores a value indicating that the key frame is the end.
[0034]
Similarly, the third key frame information 66 includes a scheduled elapsed time 112 and graphic information 114, 118, and 122. The pointers 96, 100, and 108 of the second key frame information 64 point to the heads of the graphic information 114, 118, and 122 areas of the third key frame information 66, respectively. The graphic information 114, 118, and 122 have pointers 116, 120, and 124, respectively. However, in this example, it is assumed that the third key frame is the last frame. A value indicating that is stored.
[0035]
FIG. 3 shows an outline of the animation represented by the key frame information 62, 64 and 66 shown in FIG. Referring to FIG. 3, this animation is such that triangle 132 moves within screen 130. As shown in FIG. 3, the triangle 132 translates from the upper left to the upper center of the screen 130 over 1 second, and further translates from there to the lower right position of the screen 130 over 1.5 seconds. To do. The triangles indicated by the solid lines in FIG. 3 are the shapes and positions of the figures specified by the first key frame information 62, the second key frame information 64, and the third key frame information 66 shown in FIG. Is shown. As already described, the estimated elapsed time of the first key frame 62 is zero. The time required for the triangle 132 to move to the triangle position displayed in the second key frame is 1 second, and the time required for the triangle 132 to be displayed on the third key frame is 1.5 seconds. Therefore, the scheduled elapsed time 92 of the second key frame 64 shown in FIG. 2 is “1 second”, and the scheduled elapsed time 112 of the third key frame 66 is “1 + 1.5 = 2.5 seconds”. is there.
[0036]
FIGS. 4A, 4B, and 4C show key frames specified by the key frame information 62, 64, and 66 shown in FIG. 2, respectively. The position of the triangle 132 in each key frame is as already described.
[0037]
The contents of the key frame information 62, 64 and 66 shown in FIG. 2 will be described with reference to FIG. In this case, as shown in FIG. 3, since the displayed graphic is one of the triangles 132, only the first graphic information 74, 94 and 114 (see FIG. 2) is assumed as graphic information. Referring to FIG. 5A, the meaning of the first key frame information 62 is as follows.
[0038]
“The scheduled elapsed time corresponding to the first key frame is 0 seconds. In the first key frame, the first graphic specified by the graphic information 74 exists.”
The meaning of the first graphic information 74 is as follows in the example shown in FIG.
[0039]
"The first figure is a closed polygon with three points. That is, this figure is a triangle. The coordinates of the three vertices of the triangle are (1, 2) (2, 3) (1, 4), respectively. The graphic corresponding to the first graphic also exists in the second key frame, and the graphic information is stored in the second key frame information 64 shown in FIG. First graphic information 94. "
Similarly, the meaning of the second key frame information 64 in FIG. 5B is as follows.
[0040]
“The estimated elapsed time corresponding to the second key frame is 1 second. The first graphic is present in the second key frame, and the graphic information is graphic information 94. The specified graphic is continuous with the graphic specified by the first graphic information 74 in the first key frame information 62. The graphic specified by the graphic information 94 is a triangle, and the three vertices thereof. The coordinates are (5, 2) (6, 3) (5, 4) A figure corresponding to the first figure is also present in the third key frame, and its position is indicated by a pointer 96. ing."
The meaning of the third key frame information 66 is as follows.
[0041]
“The estimated elapsed time corresponding to the third key frame is 2.5 seconds. The figure specified by the figure information 114 exists in the third key frame, and the figure is a triangle. The coordinates of the three vertices are (10, 6), (11, 7), and (10, 8), which are continuous from the first figure of the second key frame. Is broken at the keyframe.
Refer to FIG. 6 for the control flow of the program that is stored in the program information storage unit 44 shown in FIG. 1 and that is executed by the CPU 32 to realize the function of each step recited in the claims. I will explain. First, in step S1, the timer 40 (see FIG. 1) is initialized. In the present embodiment, the value of the timer 40 is reset to 0 by initialization. As another form, the timer 40 operates continuously, and the value of the timer 40 at the time of initialization is copied to a predetermined area on the memory 34 and used as a value indicating a reference value for subsequent processing. May be.
[0042]
Normally, prior to the processing shown in FIG. 6, key frame information is loaded into the key frame information storage unit 42 of the memory 34 from an external storage device such as a hard disk not shown in FIG.
[0043]
Subsequently, in step S2, based on the first key frame information 62 shown in FIG. 5A, the first key frame (FIG. 4A) is drawn on the graphic memory 36 (see FIG. 1). The The display screen 38 (see FIG. 1) displays the first key frame written in the graphic memory 36.
[0044]
By the way, when drawing a graphic in the graphic memory 36 and drawing the graphic on the display screen 38, it is more likely that the memory area to be drawn is separated from the memory area in which the data being displayed is stored. It is known that it can be reduced. In order to realize this, two methods are usually performed. One is a method in which an area on the general-purpose memory is regarded as a bitmap and a figure is drawn here, and then the data of the drawn area is transferred to the graphic memory at a high speed. The other is a method in which two screens of graphic memory are prepared, a figure is alternately drawn on both of the two screens, and only the screen of the area where the drawing is completed is displayed on the display screen. Here, any method may be used. In order to use either method, it is necessary to carry out specific processing for that purpose, but since these are within the knowledge of those skilled in the art, the details thereof will not be repeated here.
[0045]
In step S3, an initial value 1 is set in the work register i for storing the key frame number. Hereinafter, the value of each register x is referred to as “variable x”. In step S4, the elapsed time from step S1 is stored in the variable t. As shown in FIG. 6, since the processes in steps S2 and S3 are performed after the timer is initialized in step S1, the elapsed time at step S4 is not zero. Actually, among the steps S2 and S3, since the drawing process performed in step S2 is the most complicated process, the processing time of step S2 occupies most of the elapsed time.
[0046]
Thereafter, the estimated elapsed time of the i-th key frame is P i I will call it. In step S5, it is determined whether or not the elapsed time of the (i + 1) th key frame (the second key frame if i = 1) is equal to or less than the variable t. If i = 1, P i + 1 = P 2 = 1 second (FIG. 5B). If this condition is met, control proceeds to step S6, and if not, control proceeds to step S8. If the process of step S5 is first performed (i = 1), the value of t is 0.3 seconds. This value is compared with the information (= 1 second) of the scheduled elapsed time in the second key frame information 64 shown in FIG. In this case, since the condition is not satisfied, the control proceeds to step S8.
[0047]
In step S8, a value h indicating the position of the frame to be drawn next is calculated by the following equation.
[0048]
[Expression 1]
Figure 0003616241
[0049]
The position indicated by the value h in this case is illustrated in FIG. As shown in FIG. 7, t = 0.3 is between the time when the first key frame is displayed and the time when the second key frame is displayed on the time axis. This corresponds to a 30% position from the time when one key frame is displayed to the time when the second key frame is displayed. Therefore, it is assumed that the value h indicates the positioning of t, and indicates “the positioning of the next intermediate frame to be drawn on the time axis”.
[0050]
Assuming that i = 1 and t = 0.3 as described above, P i = 0, P i + 1 Since = 1, h = 0.3.
[0051]
Subsequently, in step S9, the coordinates of the feature values of each figure of the intermediate frame corresponding to the time point specified by the variable h are calculated as follows. The parameters of all figures in the i-th key frame including these coordinate values i And the corresponding parameter at the (i + 1) th key frame is Q i + 1 Is expressed as parameter Q i And parameter Q i + 1 If the parameter corresponding to is R, R is calculated as follows.
[0052]
[Expression 2]
Figure 0003616241
[0053]
More specifically, the example shown in FIGS. 3 to 5 is as follows.
[0054]
[Table 1]
Figure 0003616241
[0055]
That is, the coordinates of the vertices of the triangle to be drawn in the intermediate frame corresponding to the elapsed time t = 0.3 (seconds), that is, the coordinates 1, 2 and 3 are (2.2, 2) and (3.2), respectively. , 3) and (2.2, 4).
[0056]
In this way all parameters Q i R is obtained for all the frames, and all the graphics of the intermediate frame are drawn using the value of R (step S10). When all the graphics have been drawn, the process returns to step S4. That is, when all figures of an intermediate frame are drawn, drawing of the next frame is started at that time, and the elapsed time up to that time is obtained in step S4, and the subsequent processing is repeatedly executed.
[0057]
By the way, a certain processing time is required for the graphic drawing performed in step S10. In this example, as shown in FIGS. 4A and 4B, the figure to be drawn is the same triangle 132 in the first key frame and the second key frame. The triangle to be drawn at the time of t = 0.3 is also the same size as the triangle 132 in the initial state (t = 0) shown in FIG. In this case, the drawing amount of the figure at the time of t = 0.3 is not changed from that at the time of t = 0. The time taken to draw this intermediate frame will also be about 0.3 seconds, the same as the value at t = 0. Therefore, the elapsed time t in the second execution of step S4 is t = 0.6.
[0058]
In the above iterative process, when the determination in step S5 is YES, the process proceeds to step S6. In step S6, 1 is added to the variable i. Further, in step S7, it is determined whether i + 1 is larger than the number n of key frames prepared initially using i after addition. If this condition is not satisfied, control proceeds to step S5 and the following processing is repeatedly executed. If the condition of step S7 is satisfied, it means that the scheduled elapsed time of the last key frame has passed, so the process is terminated.
[0059]
In the above example, the drawing amount to be drawn in the intermediate frame does not change. Therefore, the time required for drawing each intermediate frame is 0.3 seconds. N = 3. Therefore, by executing the processing of FIG. 6 in this example, the frame is drawn at the timing shown in FIG. That is, first, the first key frame is drawn at t = 0. Further, at t = 0.3, 0.6, and 0.9, an intermediate frame obtained from the interpolation calculation between the first key frame and the second key frame is drawn. Further, at t = 1.2, 1.5, 1.8, 2.1, and 2.4, the intermediate values obtained by the interpolation calculation between the second key frame and the third key frame A frame is drawn. That is, a total of nine frames are drawn starting from each time point, and expressed as a continuous animation.
[0060]
The locus of the triangle 132 drawn on the screen 130 at this time is shown in FIG. 9 together with the time when each figure is drawn. In FIG. 9, the solid line shows the figure of the key frame, and the broken line shows the figure drawn by the intermediate frame. The example shown in FIG. 9 is characterized by the fact that the first key frame of the key frames is drawn at time t = 0, but other key frames (second and third key frames) are drawn. Is not drawn.
[0061]
Note that each time point every 0.3 seconds from t = 0 to 2.4 shown in FIG. 8 and FIG. 9 indicates the start time of drawing. A time required for drawing each frame is required until the image is actually displayed on the screen, and a delay corresponding to that time is generated.
[0062]
In the above-described example, the case where the size of the triangle displayed by animation does not change and only moves is shown. However, it is also possible to display an animation in which the size of a triangle changes between key frames using the apparatus and program shown so far. In this case, as compared with the case where the size of the triangle does not change as in the above example, the area of the triangle changes, so the drawing amount changes and the time required for drawing the intermediate frame changes. Therefore, even if exactly the same apparatus and program are used, the apparent operation differs from the above example.
[0063]
FIGS. 10A to 10C show three key frames for this animation. As shown in FIG. 10A, a triangle 134 is drawn on the upper left of the screen 130, which is the first key frame. Referring to FIG. 10B, the triangle 134 of the first key frame is enlarged (doubled), and the second key frame is displayed as the triangle 136. Referring to FIG. 10C, the state after the triangle 136 moves from the upper left corner of the screen to the upper right corner of the screen is the third key frame.
[0064]
FIG. 11 shows key frame data 162, 164, and 166 corresponding to the three key frames shown in FIGS. 10 (a) to 10 (c). Referring to FIG. 11, key frame information 162 for the first key frame includes an elapsed time (= 0 second) and first graphic information 174 indicating triangle 134. The type of figure is a closed polygon and the number of points is 3, that is, a triangle. The three vertices of this triangle have the coordinates (1, 2) (2, 3) (1, 4). The pointer 176 of the first graphic information 174 indicates the head of the area of the first graphic information 194 included in the key frame information 164 of the second key frame.
[0065]
The key frame information 164 of the second key frame includes elapsed time (= 1 second) and graphic information 194 corresponding to the triangle 136 in the second key frame. According to the graphic information 194, the type of drawing is a closed polygon, and the number of points is 3, that is, a triangle. The coordinates of the three vertices of the triangle are (1, 1) (3, 3) (1, 5), respectively. The pointer 196 points to the head of the area of the first graphic information 214 of the key frame information 166 for the third key frame.
[0066]
The key frame information 166 for the third key frame includes a scheduled elapsed time (= 2.5 seconds) and graphic information 214 for the first graphic. According to the first graphic information 214, the graphic processing is a closed polygon, and the number of vertices thereof is 3, that is, a triangle. The coordinates of the three vertices of the triangle are (8, 1) (10, 3) (8, 5), respectively. The pointer 216 of the first graphic information 214 indicates that this graphic ends at the third key frame.
[0067]
Referring to FIGS. 10A and 10B, during the time period between them, an animation in which triangle 134 is gradually enlarged and becomes triangle 136 is generated. In this example, assuming that only the outline of a triangle is drawn, when the size of a figure to be drawn is a times, the processing time for drawing the figure is also almost a times. In FIGS. 10A and 10B, only the triangles 134 and 136 are drawn, so the processing time for drawing the second key frame shown in FIG. The processing time for drawing the first key frame shown in FIG. In this example, since a = 2, the processing time of the second key frame is almost twice that of the first key frame. However, as described above, the second key frame is not actually drawn.
[0068]
In the above example, only the outline of the triangle is drawn. However, when the inside of the triangle is filled with a specific color, the area becomes a when the scale is increased by a. 2 Therefore, the drawing amount necessary for filling is almost a. 2 Doubled. Therefore, the increase rate of the drawing amount is larger than that in the case of drawing only the outer shape as shown in FIGS. 10 (a) and 10 (b).
[0069]
Referring to FIGS. 10B and 10C, an animation in which the enlarged triangle moves in parallel between the second key frame and the third key frame is performed. In this case, since the required drawing amount per frame does not change, the drawing time per frame does not change, and a processing time similar to the processing time of the second key frame is required for each frame.
[0070]
That is, as shown in FIGS. 10A to 10C, when an intermediate frame of animation is generated from a key frame and the animation is reproduced, the drawing start timing of the frame is as shown in FIG. First, drawing of the first key frame is started (t = 0). Assuming that drawing of the first key frame takes 0.3 seconds as in the case of the first example, drawing of the second key frame is started at time t = 0.3. According to the graphic information 174 and 194 shown in FIG. 11, the size of the triangle in the second key frame (corresponding to t = 1) is twice the size of the triangle 134 in the first key frame. is there. In the meantime, if the triangle enlargement is performed linearly, it is necessary to draw a triangle having a size 1.3 times the triangle 134 at the time t = 0.3. In this case, 0.3 × 1.3 = 0.39 (seconds), that is, a processing time of about 0.4 seconds is required. The processing of the intermediate frame that has started drawing processing at the time t = 0.3 ends at the time t = 0.7. Further, the size of the triangle to be drawn at the time corresponding to t = 0.7 is 1.7 times the size of the triangle 134 in FIG. The time required for the drawing is 0.3 × 1.7 = 0.51 (seconds), that is, about 0.5 seconds. Therefore, the drawing of this intermediate frame ends at the time t = 1.2 seconds, and drawing of the next frame is started. At t = 1.2 seconds, the triangle to be drawn is already the size of the triangle 136 shown in FIG. 10B, and the size does not change thereafter. Therefore, the time required for subsequent drawing is constant. This drawing requires 0.3 × 2 = 0.6 seconds. FIG. 12 shows the timing at which drawing of each intermediate frame is started in this way. Thus, as shown in FIG. 12, six frames starting from the time corresponding to t = 0, 0.3, 0.7, 1.2, 1.8, and 2.4 are drawn continuously. It is expressed as an animation.
[0071]
Referring to FIGS. 8 and 12, while the processing time for drawing each frame is constant in the example shown in FIG. 8, they are not constant in the example shown in FIG. However, in any case, it is understood that the animation is reproduced along the scheduled elapsed time information held in each key frame, and the total reproduction time is approximately 2.5 seconds. That is, it can be seen that even if the drawing amount per frame changes, the change does not affect the progress of the entire animation display.
[0072]
According to the same idea, for example, consider a case where the CPU processing capacity is doubled. In the case of the example shown in FIG. 8, if the processing capacity of the CPU is doubled, the drawing start timing of each frame is every 0.15 seconds as shown in FIG. Played. Also, when the example shown in FIG. 10 is reproduced by a CPU having twice the processing capacity, the drawing start timing of each frame is as shown in FIG. In this case, although the time required to draw the intermediate frame gradually increases from the first key frame to the second key frame, the animation can be reproduced with 10 frames as a whole. Referring to FIGS. 8 and 13, it can be seen that the same animation is reproduced along the same time. Moreover, in this case, the number of frames generated during this time is almost doubled, and a smoother animation can be obtained. The same applies when FIG. 12 is compared with FIG. Therefore, no matter what processing power CPU is assumed at the time of animation creation, and what processing power CPU is actually played back at the time of playback, as long as the animation is played back by this method, The animation is reproduced along the same time and with smoothness according to the processing capability of the CPU.
[0073]
As described above, the case where the coordinates of the feature points of the figure are changed is shown as an example. However, when the figure is drawn by changing the contents of the data using the same method, it differs depending on the contents of the data. If the graphic drawing process is performed, the solid line in the case where the color of the graphic, the transparency, the thickness of the line constituting the graphic, and the line constituting the graphic are broken lines are used by using the computer and the program of the first embodiment. The ratio of the part to the blank part, the font size when the figure is a character, the coordinates of the reference point of this figure group when the figure is a figure group consisting of multiple figures, and the display scale of the figure group as well A ratio or the like is designated for each key frame, and an intermediate frame can be obtained by interpolation calculation performed between corresponding information of these key frames.
[0074]
For example, FIG. 15A shows the data structure of graphic information 262 that can be considered when the graphic type is a polygon. FIG. 15B shows an example of the data structure of the graphic information 264 when text consisting of a group of characters is designated as the graphic type. FIG. 15C shows an example of the data structure of the graphic information 266 when a graphic group is designated as the graphic type.
[0075]
Referring to FIG. 15A, when the type of figure is a polygon, the number of points, the number of coordinates corresponding to the number of points, the color to be filled in the figure, the transparency, the figure Are stored, such as data indicating the thickness of the line constituting the line, its line type, and the ratio of the solid line part to the blank part when the line type is a broken line. For example, a color can be expressed by numerical values of red (R), green (G), and blue (B), which are the three primary colors of light. If this (R, G, B) is specified as the attribute information of the figure in two consecutive key frames, the color to be filled in the figure in the intermediate frame by performing interpolation calculation between the corresponding data (R, G, B) can be calculated. The same applies to the transparency, the thickness of the line, and the ratio of the solid line part / blank part when the line type is a broken line.
[0076]
Referring to FIG. 15B, when the type of figure is text, the coordinates for drawing the text (in this case, the coordinates of the reference position of the text), the text content, and the text are displayed. Font type, the number of font points indicating the size of the font to display the text, information specifying the text display color, and the style of the font when displaying the font (standard, italic, gold, etc.) ), Character spacing in the text, line spacing, information indicating line alignment for each line, and the like are stored. In particular, in the case of characters, if there is a point font number as text attribute information in two consecutive key frames, the size of the text characters to be displayed in the intermediate frame by performing interpolation calculation on the value Can be determined. In this case, even if the number of points is a fraction, there is no problem if characters of a size according to the number of points can be displayed, but when only characters of a specific number of points can be displayed, the points obtained by interpolation You may make it display the character of the number of points nearest to the number.
[0077]
Referring to FIG. 15C, when the type of graphic information 266 is a graphic group, this information 266 includes the number of graphics included in the graphic group and the graphic information corresponding to each graphic. The pointer corresponding to the number of figures, the coordinates of the reference point when displaying the entire graphic group, the scale ratio on the display when displaying the graphic group, and the like are stored. The pointer in this case is a pointer to individual graphic information stored as another graphic information in the key frame in which the graphic information 266 of this graphic group is stored. In the case of the example shown in FIG. 15C, the reference point coordinates, the scale ratio on display, and the like can be obtained by interpolation calculation between two adjacent key frames.
[0078]
Next, an apparatus for realizing the animation display method according to Embodiment 2 of the present invention will be described with reference to FIG. In the first embodiment, the feature data corresponding to the graphic information of the intermediate frame is generated by the interpolation calculation by linear calculation between the corresponding feature data among the graphic information corresponding between the two adjacent key frames. In the method of the second embodiment, the feature data obtained by the interpolation calculation in this way is further converted by a predetermined method, and a change that cannot be obtained by the linear calculation is given to the movement of each figure on the time axis. It is characterized by that.
[0079]
FIG. 16 shows a block diagram of a computer 330 for realizing the method of the second embodiment. The computer 330 differs from the computer 30 for realizing the first embodiment shown in FIG. 1 in that program information in which a program different from the program for the first embodiment is stored in the memory 34. The storage unit 344 and the conversion table 346 used when further converting the feature data of the figure once obtained by the interpolation calculation by the linear calculation as described above are included. In other respects, the computer 330 shown in FIG. 16 is the same as the computer 30 shown in FIG. The same parts are given the same reference numerals and names, and their functions are also the same. Therefore, details thereof will not be repeated here.
[0080]
Referring to FIG. 17, conversion table 346 calculates in advance a value h indicating “position of an intermediate frame to be drawn next” described in the first embodiment, and for each value of h, A value k to be taken as an actual change amount at that time is determined in advance, and a pair of h and k is prepared in advance as a table. In the conversion table 346 shown in FIG. 17, k = h with respect to h. 2 The relationship is assumed. Note that the conversion table 346 may be created assuming the function relationship as described above with h as k. However, when the conversion table is used, the conversion table 346 is not necessarily based on such a function relationship, and is arbitrarily determined by the animation creator. K can be determined according to the intention, and it is possible to realize a special movement that cannot be obtained by a simple function.
[0081]
Referring to FIG. 27, a plurality of such conversion tables are prepared, and different conversion tables are associated with each other according to the table number added to each graphic information, so that even if there are only two key frames, Each figure can express different movements with respect to the time axis. Here, the table number = 0 represents that the conversion table is not used.
[0082]
Referring to FIG. 28, table number 1 represents an acceleration motion in which the amount of change in k gradually increases, and table number 2 represents a repetitive motion in which the value of k oscillates between 0 and 1. Referring to FIG. 29, it is assumed that the conversion table does not correspond to the picture 1001 of the airplane moving at a constant speed, the table number 1, that is, the acceleration motion is made to correspond to the picture 1002 of the falling apple, and the talking picture 1003 Assuming that table number 2, ie, repetitive motion, is associated, only two key frames, key frame 1 and key frame 2, can simultaneously realize three different types of motion.
[0083]
FIG. 18 shows a control flow of a program stored in the program information storage unit 344 shown in FIG. The flowchart shown in FIG. 18 differs from the flowchart of the program of the first embodiment shown in FIG. 6 in that after step S8, h obtained in step S8 is converted to k with reference to conversion table 346. That is, S11 is included, and step S12 that performs the same processing as step S9 using k instead of h in step S9 of FIG. 6 is inserted. In other respects, FIG. 18 is exactly the same as the flowchart shown in FIG.
[0084]
In this way, the value h obtained by the interpolation calculation by the linear calculation is converted into k using the conversion table 346, and the figure is generated by calculating the corresponding parameter of the intermediate frame using k. When such processing is applied to, for example, a coordinate point of a figure, it becomes possible to express a non-linear movement with respect to the progress of time, such as a movement of a figure with acceleration. Moreover, since the contents of the table 346 can be set freely as described above, there is an advantage that an arbitrary movement can be set with respect to time. When applied to the color of a figure, a special effect that the color changes on the time axis can be produced.
[0085]
As a method of converting h to another value k after calculating h once in this way, h is substituted as a variable of a certain function instead of table conversion, and the value of the function at that time is set to k. Conceivable. For example, k = h 2 It is conceivable to obtain k by performing the above operation. Of course, this example is merely an example, and any other function may be used. In this case, the conversion using the above-described function may be performed in step S11 of FIG. In this case, there is an advantage that the amount of data that must be held is smaller than in the case of table conversion.
[0086]
As described above, according to the present invention, in computer animation of a key frame interpolation method in which an intermediate frame is created by interpolating between corresponding parameters of corresponding figures of adjacent key frames, CPU speed and necessary per frame are required. It is possible to make the entire reproduction time constant regardless of the drawing amount. Therefore, the image can be easily reproduced in synchronization with the sound. In addition, since animation can be played with an intermediate number of frames that increases according to the processing capacity of the CPU, and there is no play time in the CPU, data created in the past as the processing capacity of the CPU increases. A smoother animation can be played without modification.
[0087]
The animation display program in the present invention is supplied on a recording medium such as a magnetic tape or a CD-ROM. The animation display program is executed by the computer main body, and the operator performs animation display by operating the keyboard or mouse while looking at the graphic display device. The animation display program may be supplied to the computer main body via a communication modem from another computer via a communication circuit.
[Brief description of the drawings]
FIG. 1 is a block diagram of a computer for realizing the present invention.
FIG. 2 is a diagram schematically showing key frame information.
FIG. 3 is a diagram schematically illustrating an example of an animation.
4 is a diagram showing an image of a key frame required for reproducing the animation shown in FIG.
FIG. 5 is a diagram illustrating key frame information for the key frame shown in FIG. 4;
FIG. 6 is a flowchart of a program for realizing the animation display method in the first embodiment.
FIG. 7 is a diagram schematically illustrating generation timing of an intermediate frame.
FIG. 8 is a diagram schematically showing the drawing start timing of an intermediate frame when the drawing amount is constant.
FIG. 9 is a diagram schematically showing each figure of an intermediate frame when the animation shown in FIG. 3 is reproduced.
FIG. 10 is a diagram illustrating key frames for animation in which a drawing amount of a graphic changes.
11 is a diagram showing key frame information of the animation shown in FIG.
12 is a diagram schematically showing the drawing start timing of each frame of the animation reproduced from the key frame shown in FIG.
FIG. 13 is a diagram schematically showing the drawing start timing of each frame when the animation shown in FIG. 3 is processed by a CPU having high processing capability.
14 is a schematic diagram showing the drawing start timing of each frame when the animation shown in FIG. 10 is processed by a CPU with high processing capability. FIG.
FIG. 15 is a diagram illustrating an example of a configuration of graphic information in which data other than coordinate information such as a color of a graphic is stored.
FIG. 16 is a block diagram of a computer for realizing Embodiment 2 of the present invention.
FIG. 17 is a diagram schematically showing a conversion table.
FIG. 18 is a flowchart of a program for realizing the method of the second embodiment.
FIG. 19 is a diagram schematically showing the principle of a conventional key frame interpolation type animation.
FIG. 20 is a diagram illustrating an example of animation display according to a conventional method.
FIG. 21 is a diagram illustrating a problem with a key frame interpolation type animation according to the prior art.
FIG. 22 is a diagram illustrating a problem with a key frame interpolation type animation according to the prior art.
FIG. 23 is a diagram illustrating a problem with a key frame interpolation animation according to the prior art.
FIG. 24 is a diagram illustrating a problem with a key frame interpolation animation according to the prior art.
FIG. 25 is a diagram illustrating a problem with a key frame interpolation animation according to the prior art.
FIG. 26 is a diagram illustrating a problem with a key frame interpolation type animation according to the prior art.
FIG. 27 is a diagram schematically showing key frame information in the case of having a plurality of conversion tables in Embodiment 2 of the present invention.
FIG. 28 is a diagram illustrating an example of a plurality of conversion tables according to the second embodiment of the present invention.
FIG. 29 is a diagram illustrating an example of an animation key frame using a plurality of conversion tables according to the second embodiment of the present invention;
[Explanation of symbols]
30, 330 computers
32 CPU
34 memory
36 graphics memory
38 display screen
40 timer
62, 64, 66, 162, 164, 166 Key frame information
346 conversion table

Claims (18)

コンピュータプログラムを用いて図形のアニメーションを表示装置上に表示するためのアニメーション表示方法であって、
各々が、表示時刻を特定するための情報と、当該表示時刻に表示フレーム内に表示されるべき図形の特徴を特定するための図形情報とを含む、複数のキーフレーム情報をメモリ内に準備するステップと、
現在の表示時刻を得るステップと、
前記複数のキーフレーム情報のうち、得られた表示時刻の前後の表示時刻をそれぞれ有する少なくとも2つのキーフレーム情報を選択するステップと、
前記少なくとも2つのキーフレーム情報にそれぞれ含まれた対応の図形情報の間で所定の補間計算を行なうことにより、当該得られた表示時刻において表示されるべき図形情報を作成するステップと、
作成された図形情報に基づいて、当該得られた表示時刻におけるフレームを表示装置上に表示するステップと、
前記現在の表示時刻を得るステップと、前記選択するステップと、前記作成するステップと、前記表示するステップとを、所定時刻が経過するまで繰返すステップとを含む、アニメーション表示方法。
An animation display method for displaying a graphic animation on a display device using a computer program,
A plurality of key frame information, each including information for specifying a display time and graphic information for specifying a feature of a graphic to be displayed in the display frame at the display time, is prepared in the memory. Steps,
Obtaining the current display time;
Selecting at least two pieces of key frame information each having a display time before and after the obtained display time among the plurality of key frame information;
Creating graphic information to be displayed at the obtained display time by performing a predetermined interpolation calculation between corresponding graphic information respectively included in the at least two key frame information;
Based on the created graphic information, displaying a frame at the obtained display time on the display device;
An animation display method including the step of obtaining the current display time, the selecting step, the creating step, and the displaying step until a predetermined time elapses.
前記複数のキーフレーム情報は、先頭に表示されるべきフレームに関する先頭キーフレーム情報を含み、前記方法はさらに、アニメーション表示の開始時に、前記先頭キーフレーム情報に基づいて先頭フレームを表示するステップを含み、前記現在の表示時刻を得るステップは、1つのフレームの描画処理が完了したことに応答して、タイマを参照し、その時点でのタイマの値を表示時刻として得るステップを含む、請求項1に記載のアニメーション表示方法。The plurality of key frame information includes head key frame information regarding a frame to be displayed at the head, and the method further includes a step of displaying the head frame based on the head key frame information at the start of animation display. The step of obtaining the current display time includes a step of referring to a timer in response to completion of drawing processing of one frame and obtaining a value of the timer at that time as the display time. The animation display method described in 1. 前記図形情報が、図形の特徴点の座標情報を含む、請求項1または2に記載のアニメーション表示方法。The animation display method according to claim 1, wherein the graphic information includes coordinate information of feature points of the graphic. 前記図形情報が、図形の色彩情報を含む、請求項1または2に記載のアニメーション表示方法。The animation display method according to claim 1, wherein the graphic information includes color information of a graphic. 前記図形情報が、図形の透明度の情報を含む、請求項1または2に記載のアニメーション表示方法。The animation display method according to claim 1, wherein the graphic information includes information on a graphic transparency. 前記図形情報が、図形を構成する線の太さの情報を含む、請求項1または2に記載のアニメーション表示方法。The animation display method according to claim 1, wherein the graphic information includes information on a thickness of a line constituting the graphic. 前記図形情報が、図形を構成する線の、描画部分と非描画部分との比率の情報を含む、請求項1または2に記載のアニメーション表示方法。The animation display method according to claim 1, wherein the graphic information includes information on a ratio of a drawn part to a non-drawn part of a line constituting the graphic. 表示されるべき図形が文字であり、前記図形情報が、文字フォントの大きさの情報を含む、請求項1または2に記載のアニメーション表示方法。The animation display method according to claim 1, wherein the graphic to be displayed is a character, and the graphic information includes information on a size of a character font. 表示されるべき図形が複数個の図形を含む図形群であり、
前記図形情報が、図形群の基準点の座標を含む、請求項1または2に記載のアニメーション表示方法。
The figure to be displayed is a group of figures including a plurality of figures,
The animation display method according to claim 1, wherein the graphic information includes coordinates of a reference point of a graphic group.
表示されるべき図形が複数個の図形を含む図形群であり、
前記図形情報が、図形群の表示上の縮尺比率を含む、請求項1または2に記載のアニメーション表示方法。
The figure to be displayed is a group of figures including a plurality of figures,
The animation display method according to claim 1, wherein the graphic information includes a scale ratio on display of a graphic group.
前記作成するステップは、前記少なくとも2つのキーフレーム情報にそれぞれ含まれる対応の図形情報の間で所定の線形計算による補間計算を行なうステップと、
前記補間計算により得られた図形情報を、予め定められた変換方法により変換するステップを含む、請求項1または2に記載のアニメーション表示方法。
The creating step includes performing interpolation calculation by predetermined linear calculation between corresponding graphic information respectively included in the at least two key frame information;
The animation display method according to claim 1 , further comprising a step of converting graphic information obtained by the interpolation calculation by a predetermined conversion method.
アニメーションの表示の開始に先立って、前記図形情報を変換するためのテーブルを準備するステップをさらに含み、
前記変換するステップは、前記補間計算を行なうステップで作成された図形情報に対応する変換後の図形情報を前記テーブルからルックアップするステップを含む、請求項11に記載のアニメーション表示方法。
Preparing a table for converting the graphic information prior to the start of the animation display;
The animation display method according to claim 11, wherein the converting step includes a step of looking up the converted graphic information corresponding to the graphic information created in the interpolation calculation step from the table.
前記変換するステップは、前記補間計算を行なうステップで作成された図形情報を所定の関数の変数に代入し、前記所定の関数の値を変換後の図形情報とするステップを含む、請求項11に記載のアニメーション表示方法。The step of converting includes a step of substituting the graphic information created in the step of performing the interpolation calculation into a variable of a predetermined function, and using the value of the predetermined function as graphic information after conversion. The animation display method described. 前記テーブルからルックアップするステップは、
前記変換するためのテーブルは、識別するための番号を持ち、前記図形情報は、前記テーブルに対応づけるための番号を持つと共に、あらかじめ図形ごとに個別に対応づけられたテーブルからルックアップするステップを含む、請求項12に記載のアニメーション表示方法。
The step of looking up from the table comprises:
The table for conversion has a number for identification, and the graphic information has a number for associating with the table, and a step of looking up from a table individually associated with each graphic in advance. The animation display method according to claim 12, further comprising:
コンピュータプログラムを用いて図形のアニメーションを表示装置上に表示するためのアニメーション表示プログラムを記録した記録媒体であって、
各々が、表示時刻を特定するための情報と、当該表示時刻に表示フレーム内に表示されるべき図形の特徴を特定するための図形情報とを含む、複数のキーフレーム情報をメモリ内に準備するステップと、
現在の表示時刻を得るステップと、
前記複数のキーフレーム情報のうち、得られた表示時刻の前後の表示時刻をそれぞれ有する少なくとも2つのキーフレーム情報を選択するステップと、
前記少なくとも2つのキーフレーム情報にそれぞれ含まれた対応の図形情報の間で所定の補間計算を行なうことにより、当該得られた表示時刻において表示されるべき図形情報を作成するステップと、
作成された図形情報に基づいて、当該得られた表示時刻におけるフレームを表示装置上に表示するステップと、
前記現在の表示時刻を得るステップと、前記選択するステップと、前記作成するステップと、前記表示するステップとを、所定時刻が経過するまで繰返すステップとを実現するためのアニメーション表示プログラムを記録したコンピュータ読み取り可能な記録媒体。
A recording medium recording an animation display program for displaying a graphic animation on a display device using a computer program,
A plurality of key frame information each including information for specifying a display time and graphic information for specifying a feature of a graphic to be displayed in the display frame at the display time is prepared in the memory. Steps,
Obtaining the current display time;
Selecting at least two pieces of key frame information each having a display time before and after the obtained display time among the plurality of key frame information;
Creating graphic information to be displayed at the obtained display time by performing a predetermined interpolation calculation between corresponding graphic information respectively included in the at least two key frame information;
Based on the created graphic information, displaying a frame at the obtained display time on the display device;
A computer recording an animation display program for realizing the step of obtaining the current display time, the selecting step, the creating step, and the displaying step until a predetermined time elapses. A readable recording medium.
表示させる時刻を特定するための時刻情報と表示させる図形を特定するための図形情報とを含む複数のキーフレーム情報に基づいてアニメーションを表示させるアニメーション表示方法であって、
現在の表示時刻を得るステップと、
上記複数のキーフレームのうち少なくとも2つのキーフレームに含まれる時刻情報及び図形情報と、上記取得された現在時刻とに基づいて所定の補間計算を行ない、現在時刻に対応して表示させる図形を特定するための図形情報を含む中間フレームを生成するステップと、
上記生成された中間フレームを表示させるステップと、を有し、
上記現在時刻は、上記中間フレームの表示が完了したことに応答して取得されることを特徴とするアニメーション表示方法。
An animation display method for displaying an animation based on a plurality of key frame information including time information for specifying a time to be displayed and graphic information for specifying a graphic to be displayed,
Obtaining the current display time;
A predetermined interpolation calculation is performed based on the time information and graphic information included in at least two key frames of the plurality of key frames and the acquired current time, and a graphic to be displayed corresponding to the current time is specified. Generating an intermediate frame including graphic information for performing,
A step of displaying the generated intermediate frames, was closed,
The current time, animated wherein the Rukoto retrieved in response to the display of the intermediate frame has been completed.
上記2つのキーフレームは、時間軸上でそれぞれ上記現在時刻の前後のキーフレームであることを特徴とする請求項16に記載のアニメーション表示方法。The animation display method according to claim 16, wherein the two key frames are key frames before and after the current time on the time axis, respectively. 表示させる時刻を特定するための表示時刻と表示させる図形を特定するための図形情報とを含む複数のキーフレーム情報に基づいてアニメーションを表示させるアニメーション表示プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
現在の表示時刻を得るステップと、
上記複数のキーフレームのうち少なくとも2つのキーフレームに含まれる時刻情報及び図形情報と、上記取得された現在時刻とに基づいて所定の補間計算を行ない、現在時刻に対応して表示させる図形を特定するための図形情報を含む中間フレームを生成するステップと、
上記生成された中間フレームを表示させるステップと、を実行させ、
上記現在時刻は、上記中間フレームの表示が完了したことに応答して取得される、アニメーション表示プログラムを記録したコンピュータ読み取り可能な記録媒体。
A computer-readable recording medium recording an animation display program for displaying an animation based on a plurality of key frame information including a display time for specifying a display time and a graphic information for specifying a graphic to be displayed. And
Obtaining the current display time;
A predetermined interpolation calculation is performed based on the time information and graphic information included in at least two key frames of the plurality of key frames and the acquired current time, and a graphic to be displayed corresponding to the current time is specified. Generating an intermediate frame including graphic information for performing,
Displaying the generated intermediate frame, and
The current time, the display of the intermediate frame Ru is acquired in response to is complete, the computer-readable recording medium storing an animation display program.
JP35904197A 1997-01-29 1997-12-26 Animation display method and computer-readable recording medium recording animation display program Expired - Fee Related JP3616241B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP35904197A JP3616241B2 (en) 1997-01-29 1997-12-26 Animation display method and computer-readable recording medium recording animation display program

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP9-15413 1997-01-29
JP1541397 1997-01-29
JP35904197A JP3616241B2 (en) 1997-01-29 1997-12-26 Animation display method and computer-readable recording medium recording animation display program

Publications (2)

Publication Number Publication Date
JPH10275244A JPH10275244A (en) 1998-10-13
JP3616241B2 true JP3616241B2 (en) 2005-02-02

Family

ID=26351554

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35904197A Expired - Fee Related JP3616241B2 (en) 1997-01-29 1997-12-26 Animation display method and computer-readable recording medium recording animation display program

Country Status (1)

Country Link
JP (1) JP3616241B2 (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030023758A1 (en) * 2000-02-10 2003-01-30 Kohei Yoshikawa Server device, communication terminal, relay server, conversion rule management server, and recording medium storing program
JP3385320B2 (en) 2001-03-06 2003-03-10 シャープ株式会社 Animation playback terminal, animation playback method, and program therefor
JP3458108B1 (en) * 2002-05-15 2003-10-20 シャープ株式会社 Moving image generating apparatus, moving image generating method, moving image generating program, and computer-readable recording medium storing moving image generating program
JPWO2004019521A1 (en) 2002-07-31 2005-12-15 シャープ株式会社 Data communication device, intermittent communication method thereof, program describing the method, and recording medium recording the program
KR100822949B1 (en) 2006-12-07 2008-04-17 부산대학교 산학협력단 Animation image generating memethod and generation system using vector graphic based by multiple key-frame
KR100822948B1 (en) 2006-12-07 2008-04-17 부산대학교 산학협력단 Improved in-between animation image generation system using vector graphic
JP2008164894A (en) * 2006-12-28 2008-07-17 Sharp Corp Content display device
KR101436295B1 (en) * 2010-05-13 2014-09-02 에스케이플래닛 주식회사 Apparatus for displaying screen, method thereof and computer recordable medium storing the method
CN108242071A (en) * 2016-12-27 2018-07-03 方正国际软件(北京)有限公司 A kind of animation interpolation method and device
CN109964251B (en) * 2017-01-11 2023-07-21 株式会社和冠 Drawing device and drawing method
CN111739127B (en) * 2020-06-09 2024-08-02 广联达科技股份有限公司 Simulation method and simulation device for associated motion in mechanical linkage process

Also Published As

Publication number Publication date
JPH10275244A (en) 1998-10-13

Similar Documents

Publication Publication Date Title
JP7325535B2 (en) Animation rendering method, apparatus, computer readable storage medium, and computer equipment
US6414685B1 (en) Method of processing animation by interpolation between key frames with small data quantity
US6208360B1 (en) Method and apparatus for graffiti animation
JP3616241B2 (en) Animation display method and computer-readable recording medium recording animation display program
US20020027555A1 (en) Method of rendering motion blur image and apparatus therefor
EP0585298A1 (en) Animation
CN104580973A (en) Recording and playback method and device of virtual surgical simulation process
KR101656167B1 (en) Method, apparatus, device, program and recording medium for displaying an animation
JP2000107447A (en) Video game device, game image display method, and recording medium
GB2258790A (en) Animation
US20040174365A1 (en) Method and system for computer animation
JP2000149046A (en) Cure generation device and method, recording medium storing program and corresponding point setting method
JPWO2010018622A1 (en) Electronic paper terminal device, image display control program, and image display control method
JP2001209823A (en) Three-dimensional object deforming method for video game, video game device and computer readable recording medium with recorded program for video game
JP2916322B2 (en) Pseudo multiple scroll method
JP4815410B2 (en) Display device, display method, and program
Pepke Animation and the Examination of Behavior over Time
JPH10188026A (en) Method and storage medium for moving image preparation
JP3616242B2 (en) Animation information compression method and computer-readable recording medium recording animation information compression program
JP2001256508A (en) Method and device for animation generation, and computer readable recording medium recorded with program of animation generation method executable on computer
KR20070098364A (en) Apparatus and method for coding and saving a 3d moving image
JP2575705B2 (en) Architectural perspective drawing animation creation device
JP2949594B2 (en) Video display device
JP2004152132A (en) Image output method, image output device, image output program and computer-readable record medium
JP3829341B2 (en) Image processing device

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040330

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20040430

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040713

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040722

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20041019

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041104

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081112

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091112

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091112

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101112

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees