(57)【特許請求の範囲】
【請求項１】
コンピュータを用いて複数個のキーフレーム間を補間することにより中間フレームが生成され表示されるアニメーションのためのキーフレーム情報を圧縮する、コンピュータを用いたアニメーション情報の圧縮方法であって、
各キーフレーム情報は、対応のキーフレームにおいて表示されるべき物体に関する物体情報を含み、
前記物体情報は、当該物体の状態情報と、当該キーフレーム情報に対して予め定める関係を有するキーフレーム情報内の対応する物体情報へのリンク情報とを含み、
基準となるキーフレーム情報を媒体に出力する第１の出力ステップと、
直前のキーフレーム情報の出力の終了に応答して次のキーフレーム情報を読込み、読込まれたキーフレーム情報内の各物体情報と、当該読込まれたキーフレーム情報に対して前記予め定める関係を有するキーフレーム情報内の対応の物体情報とを比較して、リンク情報と、相違のある状態情報についての相違量とのみを含んだ物体情報を含んだ圧縮後のキーフレーム情報を前記媒体に出力する第２の出力ステップと、
前記第２の出力ステップを、圧縮すべきキーフレーム情報のすべてを圧縮するまで繰返すステップとを含む、アニメーション情報の圧縮方法。
【請求項２】
前記予め定める関係を有するキーフレーム情報は、各キーフレーム情報の出力前に既に前記媒体に出力済みのキーフレーム情報である、請求項１に記載のアニメーション情報の圧縮方法。
【請求項３】
前記媒体は記憶媒体である、請求項１または２に記載のアニメーション情報の圧縮方法。
【請求項４】
前記媒体は通信媒体である、請求項１または２に記載のアニメーション情報の圧縮方法。
【請求項５】
コンピュータを用いて複数個のキーフレーム間を補間することにより中間フレームが生成され表示されるアニメーションのためのキーフレーム情報を圧縮する、コンピュータを用いたアニメーション情報の圧縮方法であって、
各キーフレーム情報は、対応のキーフレームにおいて表示されるべき物体に関する物体情報を含み、前記物体情報は、当該物体の状態情報と、当該キーフレーム情報に対して予め定める関係を有するキーフレーム情報内の対応する物体情報へのリンク情報とを含み、基準となるキーフレーム情報を媒体に出力する第１の出力ステップと、
直前のキーフレーム情報の出力の終了に応答して次のキーフレーム情報を読込み、読込まれたキーフレーム情報内の各物体情報について、当該物体情報に対応の物体と並行移動の関係にある物体の物体情報を含むキ−フレ−ム情報を検索して、当該並行移動の関係にある物体情報を含むキ−フレ−ム情報を特定する情報と、リンク情報と、並行移動量とを含んだ物体情報を含んだ圧縮後のキーフレーム情報を前記媒体に出力する第２の出力ステップと、
前記第２の出力ステップを、圧縮すべきキーフレーム情報のすべてを圧縮するまで繰返すステップとを含む、アニメーション情報の圧縮方法。
【請求項６】
コンピュータを用いて複数個のキーフレーム間を補間することにより中間フレームが生成され表示されるアニメーションのためのキーフレーム情報を圧縮する、コンピュータを用いたアニメーション情報の圧縮プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
各キーフレーム情報は、対応のキーフレームにおいて表示されるべき物体に関する物体情報を含み、
前記物体情報は、当該物体の状態情報と、当該キーフレーム情報に対してより前に出力されたキーフレーム情報内の対応する物体情報へのリンク情報とを含み、
基準となるキーフレーム情報を読込み、媒体に出力する第１の出力ステップと、
直前のキーフレーム情報の出力の終了に応答して次のキーフレーム情報を読込み、読込まれたキーフレーム情報内の各物体情報と、当該読込まれたキーフレーム情報に対して前記より前に出力されたキーフレーム情報内の対応の物体情報とを比較して、リンク情報と、相違のある状態情報についての相違量とのみを含んだ物体情報を含んだ圧縮後のキーフレーム情報を前記媒体に出力する第２の出力ステップと、
前記第２の出力ステップを、圧縮すべきキーフレーム情報のすべてを圧縮するまで繰返すステップとを実現させるためのアニメーション情報の圧縮プログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明はコンピュータグラフィックスを用いて予め作成されたアニメーションのデータを記録または伝送するためのアニメーション処理方法に関し、特に、キーフレーム情報間の中間フレームを補間により生成してアニメーションを表示する際の、キーフレーム情報を圧縮するための方法に関する。
【０００２】
【従来の技術】
アニメーションのような動きのある画像データは非常に多くの画像（フレームと呼ぶ）から成り立っている。各フレームの情報をそのままの形で記録しようとすると、膨大なデータ容量が必要となる。したがって、これらの動画像情報を、情報量をなるべく落とさないようにデータ量を圧縮し記録または伝送するための、いわゆる動画像圧縮の手法が提案されている。
【０００３】
動画をカメラから入力したりディスプレイに出力したりする場合、いわゆるラスタスキャン手法が採用されることが多い。ラスタスキャン手法とは、各フレームを複数の水平の走査線に分解し、各走査線を上から順に、かつ左から右に走査していく手法である。このため動画像圧縮の手法は一般にラスタスキャン画像を対象とする場合が多い。
【０００４】
コンピュータグラフィックスの手法により生成されたアニメーションもまた、ディスプレイ表示されるときにはラスタスキャンによる走査線情報に変換される。そのためアニメーションのデータを記録する場合、従来は、複数枚のラスタスキャン画像を圧縮して記録する方法が採用されている。たとえば、特開昭６１−１９８８７７号公報には、ラスタスキャンによる走査線情報を圧縮するときに、コンピュータアニメーション特有の条件を利用して圧縮率を上昇させるデータ圧縮技法が開示されている。
【０００５】
一方、コンピュータグラフィックスによるアニメーションの製作技法の１つに、キーフレームアニメーションと呼ばれる手法がある。キーフレームアニメーションでは、アニメーションを時間的に変化する複数の「物体」の集まりとして捉える。アニメーションを作成するときには、すべてのフレームを作成することはせずに、まず動きの要となるフレーム（「キーフレーム」と呼ぶ。）のみを作成する。次にキーフレーム以外のフレーム（「中間フレーム」と呼ぶ。）の物体を、キーフレームに含まれる物体を補間計算することにより自動的に生成する。この補間方法は特開昭６０−１９１３６６号公報に開示されている。
【０００６】
このキーフレーム手法を用いたアニメーションは、すべてのフレームではなく、そのうちの一部のキーフレームに関する情報のみからアニメーションを再生できる。そのためすべてのフレームの情報を作成し記録する場合と比較して、データ量が圧倒的に少ないという利点がある。このためたとえば、必要とされる記憶媒体の容量を削減でき、また伝送時間も少なくて済む。
【０００７】
ところで、キーフレームの情報から中間フレームを補間して自動生成するためには、どの物体がどの物体に変化するかという情報が必要である。そのため前述の特開昭６０−１９１３６６号公報には、物体の対応づけの手法が開示されている。キーフレームの情報とともにこの対応づけに関するデータも記録／伝送しておく必要がある。
【０００８】
図８（ａ）〜（ｄ）に、あるアニメーションの４つのキーフレームを時系列に従って示す。以下、従来技術においてこの図８に示されるアニメーションのキーフレームに含まれる物体の情報をどのように記録しておくか、について説明する。キーフレームの物体の情報を記録するためには、たとえば特開平５−１０１１６０号公報が開示するように、各物体が各キーフレームにおいてどのような状態にあるかを示すデータ（状態情報）を、たとえば図９に表形式で示すように予め準備しておく必要がある。
【０００９】
図８（ａ）では、物体Ａ０〜Ａ２、Ｂ０〜Ｂ３、Ｅ２およびＥ３は塗り潰しポリゴンである。物体Ｃ１、Ｃ２および物体Ｄ１〜Ｄ３は曲線である。図８（ａ）〜（ｄ）にそれぞれ示されるキーフレームは、アニメーション中の時刻ｔ０、ｔ１、ｔ２およびｔ３のタイミングで提示されるものとする。
【００１０】
図８（ａ）〜（ｄ）を見るとわかるように、物体Ａ０、Ａ１およびＡ２は１つの物体の変化を示す。この物体を物体Ａと呼ぶこととする。同様に物体Ｂ０〜Ｂ３は同一の物体Ｂの変化を示す。物体Ｅ２およびＥ３は１つの物体Ｅの変化を示す。物体Ｃ１およびＣ２は１つの物体Ｃの、物体Ｄ１〜Ｄ３は他の１つの物体Ｄの変化をそれぞれ示す。
【００１１】
図９は、時刻ｔ０〜ｔ３に対応する各キーフレームに登場する物体と、各キーフレームにおける各物体の状態とを示している。図９では、各列が各時刻に対応のキーフレームを示し、各行がアニメーションに登場する物体に対応する。図９の表中の各要素は、そのキーフレームにおける各物体の状態情報を示す。説明の便宜のため、各物体を指す符号Ａ０〜Ａ２、Ｂ０〜Ｂ３、Ｃ１、Ｃ２、Ｄ１〜Ｄ３、Ｅ２およびＥ３などはそれぞれ、各時刻における物体Ａ〜Ｅの状態情報をも指すものとする。また図９に示される表中で、空白の欄は、その時刻にはその物体が画面に登場しないということを示している。
【００１２】
ここでは、物体としてはアニメーションの中に登場する図形を想定している。しかし物体としては図形以外にさまざまな形式が考えられる。たとえば図形でも線、ポリゴン、円、立体図形などが考えられる他、文字、音や音楽の大きさ、画質のパラメータ、表示ウィンドウの位置、サイズ、線の太さ、色、光源の位置および視点の位置などである。
【００１３】
たとえば、あるキーフレームにおいて効果音を鳴らしたい場合にはそのキーフレームに効果音を物体として登場させる。あるキーフレームにおいて、アニメーションを表示するウィンドウの位置やサイズを変更したい場合には、そのウィンドウパラメータをそのキーフレームに入れる。このように、アニメーションの中で使われるさまざまな数値パラメータは、すべて本願明細書中での「物体」として取扱うこと、特にその物体の状態を表わす状態値として取扱うことができる。
【００１４】
図９に表形式で示されるようなデータが予め準備されていれば、任意の時刻の中間フレームの画像を、その時刻の前後のキーフレーム（前後１個、または前後複数個のキーフレーム）についてのキーフレーム情報に記述された物体の状態情報を補間して算出することができる。この補間方法については、特開昭６１−１９１３６６号公報に開示されている。補間計算の方法として公知の技術には、線形補間や、スプラインなどの曲線近似を用いる補間方法がある。
【００１５】
ところで図９に示されるようなデータを実際に記憶媒体等に記録するフォーマットの一例を図１０に示す。図１０を参照して、アニメーション情報１００は、複数のキーフレーム情報１０２、１０４、…を含む。たとえばキーフレーム情報１０２は、そのキーフレームが提示されるべき時刻と、そのキーフレーム内で提示されるべき物体に関する物体情報とを含む。各物体情報は、物体の識別番号と、物体の状態情報とを含んでいる。他のキーフレーム情報１０４等についても同様である。
【００１６】
たとえば図９に示されるデータを図１０に示されるフォーマットで記録したアニメーション情報を図１１に示す。図１１を参照して、アニメーション情報１１０は、キーフレーム情報１１２、１１４、１１６および１１８を含む。これらキーフレーム情報に対応するキーフレームは、時刻ｔ０、ｔ１、ｔ２およびｔ３でそれぞれ提示されるべきものである。
【００１７】
たとえばキーフレーム情報１１２は、時刻ｔ０で提示されるべき物体の物体情報を含んでいる。
【００１８】
第１の物体情報（ａ，Ａ０）のうち「ａ」は、この物体情報が物体Ａに関するものであることを示す識別番号、「Ａ０」は、時刻ｔ０での物体Ａの状態情報を、それぞれ示す。また第２の物体情報（ｂ，Ｂ０）のうち「ｂ」は、この物体情報が物体Ｂに関するものであることを示す識別番号、「Ｂ０」は、この物体情報が物体Ｂの時刻ｔ０での状態情報であることをそれぞれ示す。図１１に示される各符号の意味については、以上の説明および図８〜図１０から当業者には自明である。したがってここではそれらについての詳細な説明は繰返さない。
【００１９】
各キーフレームの時刻（ｔ０〜ｔ３）および識別番号についてはさまざまな表現方法で記録することができる。たとえば時刻については１０００分の１秒単位の数値で表現することができる。また識別番号としては、異なる物体に対して重複することがない、０以上の数字で表現する方法がある。
【００２０】
物体の状態情報の表現方法も種々存在する。たとえばコマンドを利用した物体の状態情報の表現方法がある。コマンドを利用した塗り潰しポリゴンの状態情報の表現例を次に示す。
【００２１】
Ｐ  ｐ１，ｐ２，ｐ３，ｘ１，ｙ１，ｘ２，ｙ２，・・・ｘｎ，ｙｎ
ここで、Ｐは、この物体が塗り潰しポリゴンであることを示すコマンドである。パラメータｐ１〜ｐ３はそれぞれ、このポリゴンの色番号、塗り潰しパターンの番号、ポリゴンの頂点数をそれぞれ表わす。ｘ１、ｙ１、ｘ２、ｙ２、…，ｘｎ、ｙｎ（ｎ＝ｐ３）は、ポリゴンの頂点の各々のｘ座標およびｙ座標である。なお、以下の説明では、ポリゴンの塗り潰しパターンとして、予め各種のパターンが登録されており、パラメータｐ２はそのうちのどれかを番号で指定するものとする。
【００２２】
同様にコマンドを用いて曲線をコード形式で表現した例として次のようなものがある。
【００２３】
Ｌ  ｐ１，ｐ２，ｐ３，ｘ１，ｙ１，ｘ２，ｙ２，・・・ｘｎ，ｙｎ
ここで、Ｌはこの物体が曲線であることを示すコマンドであり、パラメータｐ１〜ｐ３はそれぞれ、曲線の色番号、曲線の太さ、曲線の特徴点の点数をそれぞれ示す。ｘ１、ｙ１、ｘ２、ｙ２、…、ｘｎ、ｙｎ（ｎ＝ｐ３）は、曲線の特徴点の座標である。
【００２４】
「物体」として、前述のように図形以外にさまざまなものが考えられるが、これらはそれぞれ、物体の種類を識別するコマンドを先頭にし、かつそのコマンドにより定められるパラメータ列からなるフォーマットでコード化することができる。
【００２５】
図１２に、他のアニメーション例として、いわゆるビジネスプレゼンテーションに関するものを示す。図１２（ａ）〜（ｄ）はそれぞれキーフレームを示す。図１２において物体Ｆ０〜Ｆ３は背景である物体Ｆであって、すべてのキーフレームで同じ状態である。物体Ｇ１〜Ｇ３は「プレゼンテーション」という文字からなる物体Ｇであって、図１２（ｂ）〜（ｄ）の３つのキーフレームにおいて同じ状態である。物体Ｈ２およびＨ３は「項目１」という文字からなる物体Ｈであって、物体Ｈ２では背景に色がついた状態であり、物体Ｈ３では背景は白となっている。物体Ｉ３は、「項目２」という文字からなる物体Ｉであって、図１２（ｄ）に示されるキーフレームのみにおいて表示され、その背景には色がついている。
【００２６】
図１２に示されるアニメーションを再生するためのキーフレーム情報を図９と同様の表形式で示すと図１３のようになる。図１３と図１２との関係は、図９と図８との関係と同様である。したがってここではその詳細については繰返さないことにする。
【００２７】
図１３に示されるデータを従来の方法で表現した例を図１４に示す。図１４を参照して、アニメーション情報１３０は、４つのキーフレーム情報１３２、１３４、１３６および１３８を含んでいる。これらは図１２（ａ）〜（ｄ）に示されるキーフレームにそれぞれ対応する。たとえばキーフレーム情報１３２は図１２（ａ）に示すキーフレームを表わすものであって、表示時刻であるｔ０と、背景となる物体Ｆ０に関する図形情報（ｆ，Ｆ０）とを含んでいる。図形情報（ｆ，Ｆ０）のうち「ｆ」は図形Ｆ０〜Ｆ３で表わされる物体Ｆの識別番号を、「Ｆ０」は、物体Ｆの、このキーフレームでの時刻における状態情報である。
【００２８】
他のキーフレーム情報の構造もキーフレーム情報１３２と同様である。
【００２９】
さらに他のアニメーションの例を図１５に示す。図１５（ａ）〜（ｄ）に示されるアニメーションは、繰返しを含んでいることが特徴である。図１５に示されるアニメーションは鳥の羽ばたきを示すものである。図１５（ａ）〜（ｄ）において物体Ｊ０〜Ｊ３は鳥の胴体を、物体Ｋ０〜Ｋ３は鳥の翼を、それぞれ表わしている。図１５を参照してわかるように、物体Ｊ０〜Ｊ３はすべてのキーフレームにおいて同じ形である。また物体Ｋ０およびＫ２は同じ形状であり、物体Ｋ１およびＫ３もまた同じ形状である。このようにアニメーション中には、繰返しが多く現われることがよくある。
【００３０】
図１５に示されるアニメーションをテーブル形式で示すと図１６に示されるようになる。図１６と図１５との関係は図９と図８との関係と同様である。したがってここではその詳細については繰返さないこととする。
【００３１】
図１６に示されるデータを記録する形態を図１７に示す。図１７を参照して、このアニメーション情報１５０は、４つのキーフレーム情報１５２、１５４、１５６および１５８を含む。これらキーフレーム情報はそれぞれ図１５（ａ）〜（ｄ）のキーフレームを示している。たとえばキーフレーム情報１５２は図１５（ａ）のキーフレームに対応するものであって、このキーフレームの表示時刻ｔ０と、２つの物体Ｊ０およびＫ０についての物体情報とを含んでいる。これらのうち物体情報（ｊ，Ｊ０）の「ｊ」は物体Ｊを示す識別番号であり、「Ｊ０」は物体Ｊの状態がＪ０であることを示す。他のキーフレーム情報１５４〜１５８も同様の意味を持っている。
【００３２】
【発明が解決しようとする課題】
アニメーションの中でも、図１２に示されるようないわゆるビジネスプレゼンテーション用のアニメーションは、多くの場合画面全体はあまり変化せず、画面に新しい項目が順番に追加されていく場合が多い。このようなアニメーションを、既に述べたようなキーフレームアニメーション方式を用いて記録すると、一旦画面に出現した後何ら変化しない物体であっても、以後のすべてのキーフレームに物体情報として記録する必要がある。キーフレームアニメーションでは、隣接するキーフレーム間で補間をする関係上、要となる時間における物体の状態をすべて記録する必要があることから、これは当然のことである。しかしこのような記録方式を用いれば、データ量が非常に大きくなるという問題点があった。特に各物体の状態情報そのものが大きなデータである場合、アニメーション情報を記録するために必要な記憶容量は、キーフレームの数と物体の数と１物体当りのデータ量との積に比例すると考えられるので、必要となるデータ量が加速度的に増大するという問題があった。
【００３３】
また図１５に示されるようなアニメーションでは、キーフレームアニメーション方式の特性上、以前に出現した物体と同一の形状を有する物体であっても、出現する各キーフレームごとにそのデータを記録する必要がある。この場合にも、いわゆるビジネスプレゼンテーション用のアニメーションと同様に、アニメーション情報を記録する際に必要となる記憶容量が非常に大きくなるという問題点があった。
【００３４】
このような問題点は、アニメーション情報を記録する場合だけではなく、ネットワークを通じて他のコンピュータに伝送する場合にも同様にあてはまる。
【００３５】
それゆえに請求項１〜９に記載の発明の目的は、キーフレームアニメーション方式を用いたアニメーション情報をより効率高く圧縮できる、アニメーション情報の圧縮方法を提供することである。
【００３６】
また、請求項１０に記載の発明の目的は、キーフレームアニメーション方式を用いたアニメーション情報をより効率高く圧縮できる、アニメーション情報の圧縮プログラムを記録したコンピュータ読み取り可能な記録媒体を提供することである。
【００３７】
【課題を解決するための手段】
【００４４】
請求項１に記載の発明に係るアニメーション情報の圧縮方法は、コンピュータを用いて複数個のキーフレーム間を補間することにより中間フレームが生成され表示されるアニメーションのためのキーフレーム情報を圧縮する、コンピュータを用いた方法である。各キーフレーム情報は、対応のキーフレームにおいて表示されるべき物体に関する物体情報を含む。物体情報は、当該物体の状態情報と、当該キーフレーム情報に対して予め定める関係を有するキーフレーム情報内の対応する物体情報へのリンク情報とを含んでいる。
【００４５】
この方法は、基準となるキーフレーム情報を媒体に出力する第１の出力ステップと、直前のキーフレーム情報の出力の終了に応答して次のキーフレーム情報を読込み、読込まれたキーフレーム情報内の各物体情報と、読込まれたキーフレーム情報に対して予め定める関係を有するキーフレーム情報内の対応の物体情報とを比較して、リンク情報と、相違のある状態情報についての相違量とのみを含んだ物体情報を含んだ圧縮後のキーフレーム情報を媒体に出力する第２の出力ステップと、この第２の出力ステップを、圧縮すべきキーフレーム情報のすべてを圧縮するまで繰返すステップとを含んでいる。
【００４６】
この方法では、圧縮後のキーフレーム情報の物体情報には、リンク情報と、その物体情報の属するキーフレーム情報に対して予め定める関係を有するキーフレーム情報内の対応の物体情報とを比較した結果、相違のある状態情報についての相違量のみが含まれている。相違のない状態情報は含まれていない。また、相違のある状態情報の場合、アニメーションの特質として、その相違量は、状態情報の値そのものよりも小さくなることが多い。したがってこの方法によればアニメーション情報のデータ量を従来方法に比して遙かに小さくすることができる。
【００４７】
請求項２に記載の発明に係るアニメーション情報の圧縮方法は、請求項５に記載の発明の構成に加えて、予め定める関係を有するキーフレーム情報が、当該キーフレーム情報の出力前に既に媒体に出力済みのキーフレーム情報であることを特徴とする。キーフレーム情報を出力した後、当該キーフレーム情報を記憶しておけば、後のキーフレーム情報との比較をするために改めてキーフレーム情報を読込む必要がない。そのためキーフレーム間の比較処理を速やかに行なうことができる。
【００４８】
請求項３に記載の発明に係るアニメーション情報の圧縮方法は、請求項５または６に記載の発明の構成に加えて、アニメーション情報が出力される媒体が記憶媒体であることを特徴とする。アニメーション情報のために必要とされるデータ量が少なくて済むので、記憶媒体の容量を削減することができる。
【００４９】
請求項４に記載の発明に係るアニメーション情報の圧縮方法は、請求項５または６に記載の発明の構成に加えて、アニメーション情報が出力される媒体が通信媒体であることを特徴とする。アニメーション情報のためのデータ量を削減することができるので、従来方法と比較してより少ないデータ量を送信するだけで同一の情報量を有するアニメーションを再生することができる。
【００５０】
請求項５に記載の発明に係るアニメーション情報の圧縮方法は、コンピュータを用いて複数個のキーフレーム間を補間することにより中間フレームが生成され表示されるアニメーションのためのキーフレーム情報を圧縮する、コンピュータを用いたアニメーション情報の圧縮方法である。各キーフレーム情報は、対応のキーフレームにおいて表示されるべき物体に関する物体情報を含む。物体情報は、当該物体の状態情報と、当該キーフレーム情報に対して予め定める関係を有するキーフレーム情報内の対応する物体情報へのリンク情報とを含む。
【００５１】
この方法は、基準となるキーフレーム情報を媒体に出力する第１の出力ステップと、直前のキーフレーム情報の出力の終了に応答して次のキーフレーム情報を読込み、読込まれたキーフレーム情報内の各物体情報について、当該物体情報と並行移動の関係にある物体情報を含むキ−フレ−ム情報を検索して、当該並行移動の関係にある物体情報を含むキ−フレ−ム情報を特定する情報と、リンク情報と、並行移動量とを含んだ物体情報を含んだ圧縮後のキーフレーム情報を媒体に出力する第２の出力ステップと、この第２の出力ステップを、圧縮すべきキーフレーム情報のすべてを圧縮するまで繰返すステップとを含む。
【００５２】
この方法では、圧縮後のキーフレーム情報の物体情報には、リンク情報と、その物体情報に対応する物体と並行移動の関係にある物体の物体情報を含んだキーフレーム情報を特定する情報と、並行移動量とが含まれている。並行移動の関係にある物体の物体情報と、並行移動量とから、処理対象となるキーフレーム内の当該物体の座標情報を復元できる。当該物体の座標情報の全てを物体情報ないに記録する場合と比較して、必要なデータ量は削減される。
【００５３】
また、並行移動の関係にある物体間の並行移動量は、アニメーションの特質として、物体の座標の値そのものよりも小さくなることが多い。したがってこの方法によればアニメーション情報のデータ量を従来方法に比して遙かに小さくすることができる。
【００５４】
請求項６に記載の発明に係る記録媒体は、コンピュータを用いて複数個のキーフレーム間を補間することにより中間フレームが生成され表示されるアニメーションのためのキーフレーム情報を圧縮する、ことを機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体である。各キーフレーム情報は、対応のキーフレームにおいて表示されるべき物体に関する物体情報を含む。物体情報は、当該物体の状態情報と、当該キーフレーム情報に対してより前に出力されたキーフレーム情報内の対応する物体情報へのリンク情報とを含んでいる。
【００５５】
この記録媒体は、基準となるキーフレーム情報を読込み、媒体に出力する第１の出力ステップと、直前のキーフレーム情報の出力の終了に応答して次のキーフレーム情報を読込み、読込まれたキーフレーム情報内の各物体情報と、当該読込まれたキーフレーム情報に対してより前に出力されたキーフレーム情報内の対応の物体情報とを比較して、リンク情報と、相違のある状態情報についての相違量とのみを含んだ物体情報を含んだ圧縮後のキーフレーム情報を媒体に出力する第２の出力ステップと、この第２の出力ステップを、圧縮すべきキーフレーム情報のすべてを圧縮するまで繰返すステップとを実現させるためのアニメーション情報の圧縮プログラムを記録したコンピュータ読み取り可能な記録媒体を含む。
【００５６】
ここで、アニメーション情報の圧縮プログラムを記録したコンピュータ読み取り可能な記録媒体として、請求項１に対応したものを記載したが、本発明はこれに限定されるものではなく、いずれの請求項に対しても、実現可能である。
【００５７】
【発明の実施の形態】
実施の形態１
図１に、本願発明に係る方法を実施するためのアニメーション情報圧縮装置の概略のブロック図を示す。図１を参照して、この装置３０は、ネットワーク４２に接続されたコンピュータ３２と、アニメーション情報を記録しておき、コンピュータ３２からの入出力要求に応答して記録または出力するための、ハードディスク、フロッピィディスク等からなる外部記憶装置３４と、コンピュータ３２に接続され、アニメーションを表示するためのディスプレイ装置３６と、必要なコマンドやデータを入力するためのキーボード４０と、タブレット、ディジタイザ、マウスなどからなる座標入力装置３８とを含んでいる。
【００５８】
コンピュータ３２は、後述するフローチャートに従った制御構造を有するプログラムを実行することにより、本願発明に係る方法を実現するための、マイクロプロセッサなどからなる演算処理装置５０と、演算処理装置５０とネットワーク４２や他の周辺機器との間のインタフェース回路４８と、演算処理装置５０が実行するプログラムや、処理に必要なデータを格納するためのメモリ５２とを含んでいる。
【００５９】
アニメーション情報の圧縮プログラムは、磁気テープまたはＣＤ−ＲＯＭ等の記録媒体によって供給される。このアニメーション情報の圧縮プログラムはコンピュータ本体３２によって実行され、操作者はディスプレイ装置３６を見ながら、キーボード４０またはマウスを操作することによってアニメーション情報の圧縮を行う。また、アニメーション情報の圧縮プログラムは他のコンピュータによりネットワーク４２を通じてコンピュータ本体５２に供給されてもよい。
【００６０】
この装置３０の動作は、通常のコンピュータの動作と同様である。すなわちメモリ５２に格納されている命令を演算処理装置５０が逐次読出して実行し、プログラムの制御構造に従って、実行する命令と、その命令が処理するデータと、データの格納先および読出先などを変更していくことにより、後述する機能が実現される。コンピュータ一般の動作については当業者の知識範囲内であるから、ここではその詳細については繰返さない。
【００６１】
以下の例ではまず、図１２に示されるプレゼンテーションのアニメーションのためのアニメーション情報を圧縮する場合を説明する。この場合の必要とされるデータの基本的枠組みは図１３に示されるとおりであり、予め図１４に示されるデータが準備されているものとする。本実施の形態では、図１４に示されるデータを図２に示される形式に変換することにより、アニメーション情報を圧縮する。なお、以下の説明では一旦図１４のようなアニメーション情報が準備された後これを圧縮する場合を例として説明するが、図１４に示されるデータを作成することなく、直接図２に示されるデータ形式のアニメーション情報を作成するようにしてもよい。
【００６２】
図２を参照して、本願発明の方法によって出力されるアニメーション情報６０は、４つのキーフレーム情報６２、６４、６６および６８を含む。これらキーフレーム情報６２、６４、６６および６８はそれぞれ、図１２（ａ）〜（ｄ）のキーフレームに対応するものである。
【００６３】
キーフレーム情報６２は、アニメーションの先頭のキーフレームに対応するものである。本実施の形態ではこのキーフレーム情報６２は、図１４に示されるキーフレーム情報１３２と同じものである。このキーフレーム情報６２は、後続するキーフレームを圧縮するための基準となる。
【００６４】
キーフレーム情報６４は、図１２（ｂ）に示されるキーフレームに対応する。キーフレーム情報６４は、このキーフレームが表示される時刻ｔ１と、背景となる物体Ｆ１に関する図形情報（ｆ，  ）と、「プレゼンテーション」という文字からなる図形Ｇ１に関する図形情報（ｇ，Ｇ１）とを含んでいる。
【００６５】
図形情報（ｆ，  ）のうち「ｆ」は、図１４に示されたものと同様であって、この物体情報が図１２に示される物体Ｆ０〜Ｆ３により示されている物体Ｆであことを示す識別番号である。この図形情報で特徴的なことは、図１４に示される例では「Ｆ１」として示されていた、図１２（ｂ）の背景の物体Ｆ１の状態情報が含まれておらず、単なる空白（データのない状態）となっている点である。これは、このキーフレーム情報６４において、物体Ｆの状態が、キーフレーム情報６２内の物体Ｆに関する状態情報Ｆ０と同一であることを示している。こうして、前フレームと同一の状態情報を有する物体情報に関しては、物体間の対応（リンク）を示す識別番号のみを記録する。これにより、物体情報を表現するために必要なデータ量が、前フレームと同一の状態情報を有する物体に関しては全く省略することができる。したがって、前フレームと同一の状態情報のあるアニメーションでは、それを記録または伝送するためのデータ量を大幅に減らすことが可能になる。なお、アニメーションの復元時には、状態情報のないものについては、直前のキーフレームの対応の状態情報を使用すればよい。
【００６６】
アニメーション情報６４内の図形情報（ｇ，Ｇ１）は、図１２（ｂ）に示される「プレゼンテーション」という文字からなる物体Ｇ１に対応するものである。物体Ｇ１は、図１２（ｃ）（ｄ）にそれぞれ出現する物体Ｇ２およびＧ３に対応し、物体Ｇを示すものであるが、図１２（ｂ）に示されるキーフレームで初めて出現する。したがってキーフレーム情報６４内には物体Ｇの状態情報Ｇ１がその識別番号ｇとともにそのまま格納されている。
【００６７】
キーフレーム情報６６では次の特徴がある。図１２（ｃ）に示されるように、背景の物体Ｆ（Ｆ２）、「プレゼンテーション」という文字からなる物体Ｇ（Ｇ２）は前のキーフレームと全く同じである。したがってそれぞれの物体情報は（ｆ，  ）、（ｇ，  ）となり、前フレームと同一の状態情報は記録されない。また「項目１」という文字からなる物体Ｈ２（物体Ｈ）はこのキーフレームで初めて出現するので、その物体情報（ｈ，Ｈ２）が記録される。
【００６８】
物体情報６８で特徴的なのは、物体ＦおよびＧについては前キーフレームと全く状態が変化していないからそれぞれ物体情報（ｆ，  ）、（ｇ，  ）としてしか記録されていないのに対し、物体Ｈの状態が、図１２（ｃ）に示される物体Ｈ２から図１２（ｄ）に示される物体Ｈ３のように、文字の背景情報のみが変化しているので、その文字の背景情報のみを含んだ物体情報Ｈ３が記録されている点である。また物体Ｉについてはこのキーフレームで初めて出現しているので、その物体情報がすべて記録されている。
【００６９】
このように、前フレームと同一の状態である物体に関しては、その状態情報を全く記録せず、また前フレームの対応する物体と一部の状態情報のみが相違する物体に関しては、その相違する物体情報のみを記録する。これにより、各物体の状態情報のうち、前フレームと同一の状態情報を記録する必要がないため、アニメーション情報を記録／伝送するための記憶容量または伝送量が少なくて済むという効果がある。
【００７０】
図３に、図１に示される装置において図１４に示されるようなアニメーション情報１３０から図２に示されるような圧縮後のアニメーション情報６０を作成するためのプログラムについて図３を参照して説明する。まずステップＳ１（以下「ステップ」という呼称は省略する。）では、処理対象となるキーフレームの順番を表わす変数ｋを最初のキーフレームを示す値に設定する。この変数ｋで示されるキーフレームを以下「キーフレームｋ」と表記することとする。
【００７１】
次にＳ２で、キーフレームｋの中身が存在するかどうかをチェックする。キーフレームｋが存在しなければ処理を終了する。キーフレームｋが存在する場合には処理はステップＳ３に進む。
【００７２】
Ｓ３では、キーフレームｋに対応するキーフレーム情報に含まれる「表示時刻」の情報を、記録または伝送する。本明細書中では、記録または伝送をまとめて「出力する」と呼ぶことにする。この場合、出力先の媒体が記憶媒体であるか伝送媒体であるかの相違があるだけであり、図３に示されるプログラムの制御構造大枠は全く変わらない。ここで送信されるデータは、たとえば図２に示されるキーフレーム情報６２内の表示時刻「ｔ０」である。
【００７３】
次にＳ４で、キーフレームｋ内の物体を特定するための変数ｉを、キーフレームｋ内の最初の物体を示す値に設定する。以下、変数ｉで指し示される物体を「物体ｉ」と表記する。
【００７４】
Ｓ５では、物体ｉが当該キーフレーム内に存在するか否かがチェックされる。物体ｉが当該キーフレーム内に存在しなければ制御はＳ１４に進む。Ｓ１４以下の処理については後述する。物体ｉが存在する場合には、制御はＳ６に進む。
【００７５】
Ｓ６では、物体ｉが直前のキーフレームｋ−１内の物体とリンクしているか否かについて判断する。具体的には、物体ｉと同一の識別番号を有している物体情報が、キーフレームｋ−１に対応するキーフレーム情報内に存在しているか否かについて判断する。物体ｉが前のキーフレームｋ−１内の物体とリンクしている場合には制御はＳ７に移る。リンクしていない場合には制御はＳ１２に移る。
【００７６】
Ｓ７では、キーフレームｋ−１に対応するキーフレーム情報の中で、物体ｉに対応した物体、すなわち物体ｉとリンクした物体を検索し、この物体を物体ｊとする。
【００７７】
Ｓ８では、物体ｉと物体ｊとの状態を比較する。もし両者の状態が全く同じであれば、制御はＳ９に進む。両者の状態が一部でも異なる場合には制御はＳ１０に進む。
【００７８】
Ｓ９では、物体ｉの識別番号のみを出力し制御をＳ１３に移す。Ｓ８およびＳ９の処理によって、たとえば図２に示されるキーフレーム情報６４内の物体情報（ｆ，  ）が作成される。
【００７９】
Ｓ１０では、物体ｉと物体ｊとの、色情報以外の情報を相互に比較する。もし、色情報以外の状態がすべて同じであれば制御はＳ１１に進み、他の場合には制御はＳ１２に進む。
【００８０】
Ｓ１１では、物体ｉの色情報と、識別番号とを出力する。この処理によりたとえば図２に示されるキーフレーム情報６８内の物体情報（ｈ，Ｈ３）が作成される。Ｓ１１の後、制御はＳ１３に進む。
【００８１】
Ｓ１２では、物体ｉのすべての状態情報と、物体ｉの識別番号とを出力する。これにより作成されるデータはたとえば図２のキーフレーム情報６２内の物体情報（ｆ，Ｆ１）、キーフレーム情報６４内の物体情報（ｇ，Ｇ１）、キーフレーム情報６６内の物体情報（ｈ，Ｈ２）、およびキーフレーム情報６８内の物体情報（ｉ，Ｉ３）などである。
【００８２】
Ｓ１３では、物体ｉを、キーフレームｋ内の次の物体に設定し制御をＳ５に戻す。
【００８３】
一方Ｓ５で物体ｉが存在していないと判断された場合制御はＳ１４に進むが、Ｓ１４では、キーフレームｋを次のキーフレームに設定して制御をＳ２に戻す。
【００８４】
図３に示される制御構造を有するプログラムでは、先頭のキーフレームについては、それより先のキーフレームが存在していないため、Ｓ６における判断の結果が必ずＮＯとなりＳ１２ですべての物体情報の状態情報が出力される。２番目以後のキーフレーム情報についてＳ２〜Ｓ１４の処理が繰返し実行され、処理すべきキーフレーム情報が存在しなくなると処理が終了する。この処理により、前述したように直前のキーフレーム内の、対応する物体情報と全く同じ状態を有する物体情報についてはその識別番号のみが記録される。また一部の状態情報のみが異なる物体情報では、その異なる状態情報のみが記録される。
【００８５】
これにより、アニメーション情報のデータ量が従来と比して著しく削減され、記憶するときの記憶容量および伝送する際の伝送量を少なくすることができる。
【００８６】
実施の形態２
上記した実施の形態１では、物体の色情報以外の情報がすべて同じ場合のときには、物体の色情報と識別番号とだけを出力している。しかし既に述べたように、色情報以外の他の情報に対しても、本発明の方法を同じように適用することができる。実施の形態２はそうした例である。
【００８７】
この処理の対象となる情報として、物体の色情報、物体を構成する線の種類（線種）の情報、物体の塗り潰しパターン（塗種）の情報、物体の座標情報などが考えられる。図４に、そうした情報を処理するプログラムの制御構造に対応するフローチャートを示す。
【００８８】
なおこのプログラムを実行するための装置は、図１に示す実施の形態１のための装置をそのまま利用することができる。すなわちこの処理は一般的なコンピュータを用いて実現することができる。
【００８９】
図４を参照して、まずＳ２１では、キーフレームｋを最初のキーフレームに設定する。
【００９０】
Ｓ２２で、キーフレームｋに対応するキーフレーム情報の中身が存在するかどうかをチェックする。対応するキーフレーム情報が存在しなければ処理を終了する。対応するキーフレーム情報が存在する場合には制御はＳ２３に進む。
【００９１】
Ｓ２３では、キーフレームｋの表示時刻を出力する。すなわちキーフレームｋに対応するキーフレーム情報内の「表示時刻」で示されるデータを出力する。
【００９２】
Ｓ２４で、物体ｉをキーフレームｋの最初の物体に設定する。
【００９３】
Ｓ２５では、物体ｉがキーフレームｋ内に存在するか否かをチェックする。物体ｉが存在しなければ制御はＳ３９に進む。物体ｉが存在する場合には制御はＳ２６に進む。
【００９４】
Ｓ２６では、物体ｉが前のキーフレームｋ−１内の物体とリンクしているか否かを調べる。物体ｉが前のキーフレームｋ−１内の物体とリンクしている場合は制御はＳ２７に移る。リンクしていない場合には制御はＳ３７に進む。
【００９５】
Ｓ２７では、キーフレームｋ−１に対応するキーフレーム情報の中に存在する、物体ｉに対応した物体、すなわち物体ｉとリンクされた物体を検索し、これを物体ｊとする。
【００９６】
Ｓ２８では、物体ｉの識別番号の情報のみを出力する。
【００９７】
Ｓ２９では、物体ｉと物体ｊとの座標情報を相互に比較する。座標情報が同じであれば制御はＳ３１に進む。座標情報が異なる場合には制御はＳ３０に進む。
【００９８】
Ｓ３０では、物体ｉの座標情報を出力する。制御はその後Ｓ３１に進む。Ｓ２９およびＳ３０での処理により、物体ｉと、この物体ｉがリンクされている物体ｊとの座標情報に違いがある場合だけ、物体ｉの座標情報が出力される。座標情報に違いがない場合には座標情報は出力されない。再生する側では、座標情報がない物体に関しては、その物体にリンクされた物体の座標情報と同一の座標情報と判断してアニメーションを再生する。
【００９９】
Ｓ３１では、物体ｉと物体ｊとの色情報を比較する。色情報が同じであれば制御はＳ３３に進む。色情報が異なる場合には制御はＳ３２に進む。
【０１００】
Ｓ３２では、物体ｉの色情報を出力する。その後制御はＳ３３に進む。Ｓ３１およびＳ３２での処理により、物体ｉと、この物体ｉとリンクされた物体ｊとの色情報に違いがある場合だけ、物体ｉの色情報が出力される。
【０１０１】
Ｓ３３では、物体ｉと物体ｊとの線種情報を比較する。線種情報が双方同一であれば制御はＳ３５に進む。線種情報が異なる場合には制御はＳ３４に進む。
【０１０２】
Ｓ３４では、物体ｉの線種情報を出力する。制御はその後Ｓ３５に進む。Ｓ３３およびＳ３４の処理により、物体ｉと、この物体ｉとリンクされた物体ｊとの線種情報に違いがある場合だけ、物体ｉの線種情報が出力される。
【０１０３】
Ｓ３５では、物体ｉと物体ｊとの塗種情報が比較される。塗種情報が同一であれば制御はＳ３８に進む。塗種情報が異なる場合には制御はＳ３６に進む。
【０１０４】
Ｓ３６では、物体ｉの塗種情報を出力する。その後制御はＳ３８に進む。Ｓ３５およびＳ３６での処理により、物体ｉと、この物体ｉにリンクされた物体ｊとの塗種情報に違いがある場合だけ、物体ｉの塗種情報が出力される。
【０１０５】
Ｓ３７では、物体ｉの状態情報と、識別番号とを出力する。その後制御はＳ３８に進む。
【０１０６】
Ｓ３８では、物体ｉを、キーフレームｋ内の次の物体に設定する。制御はその後Ｓ２５に戻される。
【０１０７】
Ｓ３９では、キーフレームｋを次のキーフレームに設定し制御をＳ２２に戻す。
【０１０８】
以下、Ｓ２２〜Ｓ３９の処理が繰返し行なわれる。この例でも、最初のキーフレーム情報に対する処理では、Ｓ２６での判断の答えが必ずＮＯとなるため、すべての物体の識別番号とすべての状態情報とが記録される。２番目以降のキーフレームでは、Ｓ２９〜Ｓ３６の処理によって、リンクされた物体と異なる状態情報のみが記録される。こうした処理により、アニメーション情報のデータ量が削減され、記憶容量またはデータの伝送容量を小さくすることができる。
【０１０９】
以上述べた例では、多角形の属性情報を挙げて説明がなされている。しかし、本発明は多角形に対してのみ適用可能なわけではなく、他のさまざまな物体の属性情報に対して適用することもできる。また図４に示されるフローチャートでは、多角形の属性の処理のみを扱うものとなっているが、上述したように多角形以外の多くの種類の物体の情報を扱う場合にも、図４に示されるフローチャートに基づき容易に対処することができる。たとえば図４に示されるＳ２８とＳ２９との間に、物体の種類による分岐処理を設け、Ｓ２９〜Ｓ３６の処理を、物体の種類ごとに用意すればよい。
【０１１０】
たとえば、文字の色、文字の装飾属性、グラデーションの方向、音の強さ、光の強さなど、物体の種類に応じてさまざまな属性が考えられる。これら属性の状態情報が、リンクされた物体間で同一である場合にその状態情報を出力しないことにより、データ量を削減することができる。再生する側では、このように伝送されてこない情報が存在する場合には、その物体とリンクされた物体の状態情報を用いてキーフレーム情報を再現することができる。
【０１１１】
実施の形態３
実施の形態１および２では、あるキーフレーム内の物体情報につき、そのキーフレームの直前に出力されたキーフレーム毎の、その物体とリンクされた物体の物体情報とを比較し、その結果によって出力する情報の内容を変えていた。しかし、キーフレーム間の物体情報の比較によるデータ圧縮は、この手法のみに限定されるわけではない。たとえば図１５に示されるアニメーションの場合、図１５（ａ）および（ｃ）では物体Ｊ０およびＪ２の形状が同一、物体Ｋ０およびＫ２の形状が同一である。一方で図１５（ｂ）および（ｃ）を比較した場合、物体Ｊ１およびＪ２の形状は同一であるが、物体Ｋ１の形状は物体Ｋ２の形状とは同一ではない。したがって物体の形状のみを考えた場合、図１５に示される例では図１５（ｃ）のキーフレームと比較するのは図１５（ｂ）ではなく図１５（ａ）に示されるものとする方がより効率的な圧縮が行なえる。
【０１１２】
この実施の形態３では、あるキーフレーム内の物体情報と、そのキーフレームとは異なる他のキーフレーム内の物体情報とを比較し、両者の相違が僅かとなる、または同一となるキーフレームがあれば、そのキーフレームの番号を処理対象のキーフレームの当該物体情報内に記録する。こうすることにより、記録しなければならない状態情報が削減されることが期待できるので、アニメーション情報をより効率的に圧縮することができる。以下そうした手法を利用した実施の形態３について説明する。
【０１１３】
この手法は、特に図１５に示されるような繰返しが現われるアニメーションに対して有効である。アニメーションには繰返し処理がしばしば現われるので、この手法は広い範囲のアニメーションに対して効果的である。
【０１１４】
図５に、この実施の形態３の方法によって図１７に示されるアニメーション情報１５０を圧縮した後のアニメーション情報を模式的に示す。図５を参照してこのアニメーション情報８０は、キーフレーム情報８２、８４、８６および８８を含んでいる。これらキーフレーム情報はそれぞれ図１５（ａ）〜（ｄ）に対応する。
【０１１５】
キーフレーム情報８２は、図１７に示されるキーフレーム情報１５２と同一である。したがってここではその詳細については繰返さない。
【０１１６】
キーフレーム情報８４は、図１７に示されるキーフレーム情報１５４とほぼ同一であるが、１番目の物体の物体情報（ｊ，Ｊ１）が（ｊ，Ｘ１）となっている点のみが異なる。Ｘ１は、図１５（ｂ）に示される物体Ｊ１が、図１５（ａ）に示される物体Ｊ０に対して移動した相対移動量を表現したデータである。Ｘ１はたとえば次のような形式のデータで記録できる。
【０１１７】
Ｒ  ｐ１，ｐ２，ｐ３
ここでＲは、このデータが、物体のキーフレーム間における相対移動を示すものであることを示すコマンドであり、ｐ１は、いくつ前のキーフレーム中の物体が相対移動したかを示す数値、ｐ２およびｐ３は所定のｘ座標およびｙ座標に関するその物体の移動距離である。ｐ２およびｐ３は、図１５に示されるように物体が画面内を移動するようなアニメーションの場合、物体の座標をそのまま記録する場合と比較して非常に小さなサイズとなることが多い。したがってアニメーション情報をより効率的に圧縮することが可能になる。
【０１１８】
キーフレーム情報８４における第２の物体についての物体情報（ｋ，Ｋ１）は、物体Ｋ１がこのキーフレームで初めて出現しているため、図１７に示す例と変わらない。
【０１１９】
以下、キーフレーム情報８６では物体Ｊ２およびＫ２に関する情報がそれぞれ（ｊ，Ｘ２）、（ｋ，Ｙ２）として示される。またキーフレーム情報８８では物体Ｊ３およびＫ３の物体情報がそれぞれ（ｊ，Ｘ３）、（ｋ，Ｙ３）としてそれぞれ示される。ここでＸ２、Ｘ３、Ｙ２、Ｙ３はＸ１と同様に、それぞれの物体の、相対移動の情報を表現したデータであり、その表現形式は前述したＸ１と同様である。たとえば図４に示される例ではＸ１、Ｘ２、Ｘ３、Ｙ２、Ｙ３は図６に示されるような記号で表現することができる。
【０１２０】
図１５を参照して、物体Ｊ１、Ｊ２およびＪ３はそれぞれ、１つ前のキーフレームの物体Ｊ０、Ｊ１およびＪ２が移動したものである。したがって比較対象となるキーフレームはいずれも１つ前のキーフレームであり、図６においてＸ１、Ｘ２およびＸ３の記号「Ｒ」の次の数値はいずれも「１」となっている。（ｘ１，ｙ１）（ｘ２，ｙ２）（ｘ３，ｙ３）はそれぞれ、物体Ｊ０に対するＪ１の変位、物体Ｊ１に対する物体Ｊ２の変位、物体Ｊ２に対する物体Ｊ３の変位である。
【０１２１】
一方、物体Ｋ２およびＫ３は、それぞれ２つ前のキーフレームの物体Ｋ０およびＫ１が移動したものである。したがってこの場合、比較対象のキーフレームは２つ前のキーフレームである。Ｙ２およびＹ３の記号「Ｒ」の次の数値は、図６に示されるように「２」となっている。（ｘ４，ｙ４）（ｘ５，ｙ５）はそれぞれ、物体Ｋ０からＫ２への変位および物体Ｋ１からＫ３までの変位を示している。このように物体の状態情報のうち、たとえばその位置について、比較対象となるキーフレームを定め、そのキーフレームに対する物体の変位のみを記録することで、物体情報のデータ量を削減することが可能になる。再生する側では、物体情報に含まれる、比較対象となる物体情報が含まれるキーフレームを特定する情報と、当該物体情報に含まれている変位情報とから、そのキーフレームにおける当該物体の座標を求めてキーフレームを再現することが可能である。
【０１２２】
図５に示されるようなデータを作成するためのプログラム、すなわち実施の形態３に係るアニメーション情報の圧縮方法を実現するためのプログラムについて、図７を参照して説明する。Ｓ４１では、キーフレームｋを最初のキーフレームに設定する。
【０１２３】
Ｓ４２では、キーフレームｋに対応するキーフレーム情報の中身が存在するか否かをチェックする。対応するキーフレーム情報が存在しなければ処理を終了する。対応するキーフレーム情報が存在する場合には制御はＳ４３に進む。
【０１２４】
Ｓ４３では、当該キーフレーム情報に含まれる、キーフレームｋの表示時刻を出力する。ここで出力されるデータはたとえば、図５に示される時刻ｔ０、ｔ１、ｔ２およびｔ３などである。
【０１２５】
Ｓ４４で、物体ｉをキーフレームｋ内の最初の物体に設定する。
【０１２６】
続いてＳ４５で、物体ｉが存在するか否かをチェックする。物体ｉが存在しなければ制御はＳ５３に進む。物体ｉが存在する場合には制御はＳ４６に進む。
【０１２７】
Ｓ４６では、物体ｉと比較する物体ｊを、とりあえず物体ｉとする。また、物体ｉの相対移動量の基準となるキーフレームの、当該キーフレームに対する相対位置を計算するための数値Ｌを０とする。この後制御はＳ４７に進む。
【０１２８】
Ｓ４７では、物体ｊとリンクした物体が、物体ｊの含まれるキーフレームより前のキーフレームに存在するかどうかを調べる。物体ｊとリンクした物体が存在しない場合には制御はＳ５１に進む。存在する場合には制御はＳ４８に進む。
【０１２９】
Ｓ４８では、物体ｊとリンクした物体を新たに物体ｊとする。Ｌの値に１を加算する。
【０１３０】
続いてＳ４９では、物体ｉと物体ｊとにつき、物体ｉが物体ｊを移動させたものかどうかを判定する。この判定方法としては次の方法を使用する。まず物体ｉと物体ｊとの座標以外の情報がすべて全く同じかどうかを調べる。もしこれらが一致しなければ、物体ｉが物体ｊを移動させたものではないと判定する。もし座標以外の情報が同じ場合には、座標の数が同じかどうかを比較する。座標の数が同じでなければ物体ｉは物体ｊを移動させたものではないと判定する。座標数が両者同じ場合には、物体ｉの座標点と物体ｊの対応する座標点との差を調べる。対応する座標点ごとに計算したｘ座標の差およびｙ座標の差がすべての点に対して同じであれば、物体ｉは物体ｊを移動させたものであると判定する。それ以外の場合にはそうではないと判定する。物体ｉが物体ｊを移動させたものであると判定された場合には制御はＳ５０に進む。それ以外の場合には制御はＳ４７に戻る。
【０１３１】
Ｓ５０では、物体ｉが物体ｊをどれだけ移動させたものであるかという情報と、物体ｉから数えていくつ前にリンクした物体を移動させたものであるかという情報Ｌの値とを出力する。その後制御はＳ５２に進む。この処理により、図５に示される物体情報（ｊ，Ｘ１）、（ｊ，Ｘ２）、（ｋ，Ｙ２）、（ｊ，Ｘ３）、および（ｋ，Ｙ３）が出力される。
【０１３２】
一方Ｓ４７における判断の結果がＮＯである場合には制御はＳ５１に進むが、Ｓ５１では、物体ｉの識別番号と状態情報とを出力し、制御をＳ５２に進める。図５に示される例のうち、（ｊ，Ｊ０）（ｋ，Ｋ０）および（ｋ，Ｋ１）がこのＳ５１の処理で出力される。
【０１３３】
Ｓ５２では、物体ｉをキーフレームｋ内の次の物体に設定する。制御はＳ４５に戻り、Ｓ４５以下の処理が繰返される。
【０１３４】
Ｓ４５で、キーフレームｋ内に物体ｉが存在しないと判断された場合、制御はＳ５３に進むが、Ｓ５３では、キーフレームｋを次のキーフレームに設定し、制御をＳ４２に戻す。以下、Ｓ４２以降の処理が繰返される。
【０１３５】
【発明の効果】
以上述べたように本発明のアニメーション情報の圧縮方法を用いると、ビジネスプレゼンテーションのためのアニメーションのように、新しい項目が順番に現われてくるようなアニメーションにおいて、先に出現した物体を何度も記録または伝送する必要がない。そのためすべてのキーフレームを記録または伝送する必要がある従来方式と比べて、アニメーション情報を記録または伝送するためのデータ量が非常に小さくなる。
【０１３６】
また、繰返しの多いアニメーションの場合に、一度出現した物体を何度もキーフレーム情報内に記録する必要はない。そのためすべてのキーフレーム内のすべての物体情報を記録または伝送する従来方式と比べて、アニメーション情報のデータ量が非常に小さくなる。そのため、従来は利用することができなかった小容量の記録メディア、たとえばフロッピィディスクやＩＣ（集積回路）カードなどにもアニメーションを記録することができる。またその裏返しの効果として、一定の容量の記憶メディアの中に、従来以上の大量のアニメーションデータを記録しておくことができるので、従来よりも多いアニメーション情報を含んだ辞書やマニュアル等を電子的な媒体に記録することができる。
【０１３７】
同様に、アニメーションのデータ量を非常に小さくできるため、アニメーション情報を伝送する際の伝送容量が少なくて済む。たとえば１回に伝送可能なデータ量に制限があって、従来の方式によるアニメーション情報を伝送することができなかった場合でも、本発明による圧縮方法により圧縮したアニメーション情報を伝送することが可能になる。また同じアニメーションを再生するためのアニメーション情報を伝送する場合に、本願発明の方法によって圧縮したアニメーション情報を伝送する場合には、従来の方法で準備したアニメーション情報を伝送する場合と比較して、伝送に要する時間が非常に短くなるという効果がある。
【図面の簡単な説明】
【図１】本願発明に係るアニメーション情報の圧縮方法を実現するための装置の概略ブロック図である。
【図２】実施の形態１でのアニメーション情報のデータ形式を模式的に示す図である。
【図３】実施の形態１を実現するためのプログラムのフローチャートである。
【図４】実施の形態２の方法を実現するためのプログラムのフローチャートである。
【図５】実施の形態３でのアニメーション情報のデータ形式を模式的に示す図である。
【図６】実施の形態３での相対移動の記号表現の例を模式的に示す図である。
【図７】実施の形態３の方法を実現するためのプログラムのフローチャートである。
【図８】キーフレーム方式によるアニメーションのキーフレームを模式的に示す図である。
【図９】図８に示されるキーフレーム情報を表形式で示す図である。
【図１０】図９に示されるデータを従来形式で記録する際のデータ形式を模式的に示す図である。
【図１１】図１０に示されるデータ形式に従って図９に示されるデータを記録した際のデータ内容を模式的に示す図である。
【図１２】プレゼンテーションアニメーションのキーフレームを模式的に示す図である。
【図１３】図１２に示されるキーフレームのためのキーフレーム情報を表形式で示す図である。
【図１４】図１３に示されるキーフレーム情報を従来方式に従って記録した場合のデータ構造を示す図である。
【図１５】繰返しが多数現われるアニメーションの一例のキーフレームを模式的に示す図である。
【図１６】図１５に示されるキーフレームのためのキーフレーム情報を表形式で示す図である。
【図１７】図１６に示されるキーフレーム情報からなるアニメーション情報のデータ形式を模式的に示す図である。
【符号の説明】
３０  アニメーション情報圧縮装置
３２  コンピュータ
３４  外部記憶装置
３６  ディスプレイ装置
３８  座標入力装置
４０  キーボード
４２  ネットワーク
【図１】
0003616242.tif 000002
【図２】
0003616242.tif 000003
【図３】
0003616242.tif 000004
【図４】
0003616242.tif 000005
【図５】
0003616242.tif 000006
【図６】
0003616242.tif 000007
【図７】
0003616242.tif 000008
【図８】
0003616242.tif 000009
【図９】
0003616242.tif 000010
【図１０】
0003616242.tif 000011
【図１１】
0003616242.tif 000012
【図１２】
0003616242.tif 000013
【図１３】
0003616242.tif 000014
【図１４】
0003616242.tif 000015
【図１５】
0003616242.tif 000016
【図１６】
0003616242.tif 000017
【図１７】
0003616242.tif 000018