(57)【特許請求の範囲】
【請求項１】
状態が変化し得る少なくとも１つ以上の物体からなるアニメーションを処理するアニメーション処理方法であって、
前記アニメーションの記録または伝送時に、
キーフレーム毎に、該キーフレームが前記アニメーションに提示される時間を示す情報を記録または伝送する時間情報記録／伝送ステップと、
前記キーフレーム毎に、該キーフレームに登場する前記各物体の状態情報を前記時間情報記録／伝送ステップにより記録または伝送された該キーフレームの時間情報に対応させて記録または伝送する状態情報記録／伝送ステップと、
前記キーフレーム毎に、該キーフレームに登場する前記各物体は他のキーフレーム中のいずれの物体が変化したものかを示すリンク情報を、前記状態情報記録／伝送ステップにより記録または伝送された該物体の状態情報に対応させて記録または伝送するリンク情報記録／伝送ステップとを備え、
前記状態情報記録／伝送ステップによる前記状態情報の記録または伝送の順番は、前記キーフレーム毎に該キーフレームに登場する前記各物体の該キーフレームにおける重なり合せの順序に一致することを特徴とする、アニメーション処理方法。
【請求項２】
状態が変化し得る少なくとも１つ以上の物体からなるアニメーションを処理するアニメーション処理方法であって、
前記アニメーションの記録または伝送時に、
前記１つ以上の物体のうち前記アニメーション中の複数のキーフレーム間で前記状態の変化の遅い中間物体を選択する選択ステップと、
前記選択された中間物体の状態情報を、該中間物体を含む前記キーフレームの前後のキーフレーム中の対応する物体の状態情報から補間可能な情報に変換する変換ステップと、
前記キーフレーム毎に、該キーフレームが前記アニメーションに提示される時間を示す情報を記録または伝送する時間情報記録／伝送ステップと、
前記キーフレーム毎に、該キーフレームに登場する前記各物体の状態情報および前記各中間物体の変換された状態情報を、前記時間情報記録／伝送ステップにより記録または伝送された該キーフレームの時間情報に対応させて記録または伝送する状態情報記録／伝送ステップと、
前記キーフレーム毎に、該キーフレームに登場する前記各物体および前記各中間物体は他のキーフレーム中のいずれの物体が変化したものかを示すリンク情報を、前記状態情報記録／伝送ステップにより記録または伝送された該物体の状態情報に対応させて記録または伝送するリンク情報記録／伝送ステップを備え、
前記状態情報記録／伝送ステップによる前記状態情報の記録または伝送の順番は前記キーフレーム毎に、該キーフレームに登場する前記各物体および前記各中間物体の該キーフレームにおける重なり合せの順序に一致することを特徴とする、アニメーション処理方法。
【請求項３】
前記アニメーション処理方法は、
前記記録または伝送された前記アニメーションを表示するための表示ステップをさらに含み、
前記表示ステップは、
前記アニメーションの任意時間毎に、
前記任意時間および該任意時間の直前のいずれかに該当する前記時間情報に対応の前記キーフレームを前キーフレームとして抽出する第１抽出ステップと、
前記任意時間および該任意時間の直後のいずれかに該当する前記時間情報に対応の前記キーフレームを後キーフレームとして抽出する第２抽出ステップと、
抽出された前記前キーフレーム中の記録または伝送された順序に従って、前記各物体および前記各中間物体の前記状態情報を、対応する前記抽出された前後キーフレーム中の物体の状態情報に基づき補間計算する補間ステップと、
前記補間ステップにより算出された前記状態情報に基づいて前記各物体および前記各中間物体を描画する描画ステップとを備えた、請求項２に記載のアニメーション処理方法。
【請求項４】
状態が変化し得る少なくとも１つ以上の物体からなるアニメーションを処理するアニメーション処理装置であって、
前記アニメーションの記録または伝送時に、
キーフレーム毎に、該キーフレームが前記アニメーションに提示される時間を示す情報を記録または伝送する時間情報記録／伝送手段と、
前記キーフレーム毎に、該キーフレームに登場する前記各物体の状態情報を前記時間情報記録／伝送手段により記録または伝送された該キーフレームの時間情報に対応させて記録または伝送する状態情報記録／伝送手段と、
前記キーフレーム毎に、該キーフレームに登場する前記各物体は他のキーフレーム中のいずれの物体が変化したものかを示すリンク情報を、前記状態情報記録／伝送手段により記録または伝送された該物体の状態情報に対応させて記録または伝送するリンク情報記録／伝送手段とを備え、
前記状態情報記録／伝送手段による前記状態情報の記録または伝送の順番は、前記キーフレーム毎に、該キーフレームに登場する前記各物体の該キーフレームにおける重なり合せの順序に一致することを特徴とする、アニメーション処理装置。
【請求項５】
状態が変化し得る少なくとも１つ以上の物体からなるアニメーションを処理するアニメーション処理装置であって、
前記アニメーションの記録または伝送時に、
前記１つ以上の物体のうち前記アニメーション中の複数のキーフレーム間で状態の変化の遅い中間物体を選択する選択手段と、
前記選択された中間物体の状態情報を、該中間物体を含む前記キーフレームの前後のキーフレーム中の対応する物体の状態情報から補間可能な情報に変換する変換手段と、
前記キーフレーム毎に、該キーフレームが前記アニメーションに提示される時間を示す情報を記録または伝送する時間情報記録／伝送手段と、
前記キーフレーム毎に、該キーフレームに登場する前記各物体の状態情報および前記各中間物体の変換された状態情報を前記時間情報記録／伝送手段により記録または伝送された該キーフレームの時間情報に対応させて記録または伝送する状態情報記録／伝送手段と、
前記キーフレーム毎に、該キーフレームに登場する前記各物体および前記各中間物体は他のキーフレーム中のいずれの物体が変化したものかを示すリンク情報を、前記状態情報記録／伝送手段により記録または伝送された該物体の状態情報に対応させて記録または伝送するリンク情報記録／伝送手段を備え、
前記状態情報記録／伝送手段による前記状態情報の記録または伝送の順番は前記キーフレーム毎に、該キーフレームに登場する前記各物体および前記各中間物体の該キーフレームにおける重なり合せの順序に一致することを特徴とする、アニメーション処理装置。
【請求項６】
前記状態情報記録／伝送手段による前記状態情報の記録または伝送の順番は、前記キーフレーム毎に、該キーフレームに登場する前記各物体および前記各中間物体の該キーフレームにおける重なり合せの順序に一致することを特徴とする、請求項５に記載のアニメーション処理装置。
【請求項７】
前記アニメーション処理装置は、前記記録または伝送された前記アニメーションを表示するための表示手段をさらに含み、
前記表示手段は、
前記アニメーションの任意時間毎に、
前記任意時間および該任意時間の直前のいずれかに該当する前記時間情報に対応の前記キーフレームを前キーフレームとして抽出する第１抽出手段と、
前記任意時間および該任意時間の直後のいずれかに該当する前記時間情報に対応の前記キーフレームを後キーフレームとして抽出する第２抽出手段と、
抽出された前記前キーフレーム中の記録または伝送された順序に従って、前記各物体および前記各中間物体の前記状態情報を、対応する前記抽出された前後キーフレーム中の物体の状態情報に基づき補間計算する補間手段と、
前記補間手段により算出された前記状態情報に基づいて前記各物体および前記各中間物体を描画する描画手段とを備えた、請求項５または６に記載のアニメーション処理装置。
【請求項８】
状態が変化し得る少なくとも１つ以上の物体からなるアニメーションを処理するアニメーション処理方法をコンピュータに実行させるためのアニメーション処理プログラムを記録したコンピュータで読取可能な記録媒体であって、
前記アニメーション処理方法は、前記アニメーションの記録または伝送時に、
キーフレーム毎に、該キーフレームが前記アニメーションに提示される時間を示す情報を記録または伝送する時間情報記録／伝送ステップと、
前記キーフレーム毎に、該キーフレームに登場する前記各物体の状態情報を前記時間情報記録／伝送ステップにより記録または伝送された該キーフレームの時間情報に対応させて記録または伝送する状態情報記録／伝送ステップと、
前記キーフレーム毎に、該キーフレームに登場する前記各物体は他のキーフレーム中のいずれの物体が変化したものかを示すリンク情報を、前記状態情報記録／伝送ステップにより記録または伝送された該物体の状態情報に対応させて記録または伝送するリンク情報記録／伝送ステップとを備え、
前記状態情報記録／伝送ステップによる前記状態情報の記録または伝送の順番は、前記キーフレーム毎に、該キーフレームに登場する前記各物体の該キーフレームにおける重なり合せの順序に一致することを特徴とする、アニメーション処理プログラムを記録したコンピュータで読取可能な記録媒体。
【請求項９】
状態が変化し得る少なくとも１つ以上の物体からなるアニメーションを処理するアニメーション処理方法をコンピュータに実行させるためのアニメーション処理プログラムを記録したコンピュータで読取可能な記録媒体であって、
前記アニメーション処理方法は前記アニメーションの記録または伝送時に、
前記１つ以上の物体のうち前記アニメーション中の複数のキーフレーム間で前記状態の変化の遅い中間物体を選択する選択ステップと、
前記選択された中間物体の状態情報を、該中間物体を含む前記キーフレームの前後のキーフレーム中の対応する物体の状態情報から補間可能な情報に変換する変換ステップと、
前記キーフレーム毎に、該キーフレームが前記アニメーションに提示される時間を示す情報を記録または伝送する時間情報記録／伝送ステップと、
前記キーフレーム毎に、該キーフレームに登場する前記各物体の状態情報および前記各中間物体の変換された状態情報を、前記時間情報記録／伝送ステップにより記録または伝送された該キーフレームの時間情報に対応させて記録または伝送する状態情報記録／伝送ステップと、
前記キーフレーム毎に、該キーフレームに登場する前記各物体および前記各中間物体は他のキーフレーム中のいずれの物体が変化したものかを示すリンク情報を、前記状態情報記録／伝送ステップにより記録または伝送された該物体の状態情報に対応させて記録または伝送するリンク情報記録／伝送ステップとを備え、前記状態情報記録／伝送ステップによる前記状態情報の記録または伝送の順番は前記キーフレーム毎に、該キーフレームに登場する前記各物体および前記各中間物体の該キーフレームにおける重なり合せの順序に一致することを特徴とする、アニメーション処理プログラムを記録したコンピュータで読取可能な記録媒体。
【請求項１０】
状態が変化し得る少なくとも１つ以上の物体からなるアニメーションを処理するためのアニメーションデータを記録したコンピュータで読取可能な記録媒体であって、
前記アニメーションデータは、
複数のキーフレームのそれぞれについてデータ群領域に記録され、
前記データ群領域のそれぞれは、
対応するキーフレームに登場する前記物体のそれぞれについて、該物体の状態情報と該物体は他のキーフレーム中のいずれの物体が状態変化したかを示すリンク情報とを対応付けて記録したデータ領域を有し、
前記データ群領域のそれぞれにおいて、前記データ領域のそれぞれは対応する前記キーフレームに登場する前記各物体の重なり合せの順序に従って記録されることを特徴とする、アニメーションデータを記録したコンピュータで読取可能な記録媒体。
【請求項１１】
状態が変化し得る少なくとも１つ以上の物体からなるアニメーションを処理するためのアニメーションデータを記録したコンピュータで読取可能な記録媒体であって、
前記アニメーションデータは、
複数のキーフレームのそれぞれについてデータ群領域に記録され、
前記データ群領域のそれぞれは、
対応するキーフレームに登場する前記物体のそれぞれについて、該物体の状態情報と該物体は他のキーフレーム中のいずれの物体が状態変化したかを示すリンク情報とを対応付けて記録したデータ領域を有し、
前記物体の状態情報として、該物体が登場する前記キーフレームの前後のキーフレーム中の対応する物体の前記状態情報から補間可能な情報が含まれて、前記状態情報の記録の順番は前記キーフレーム毎に、該キーフレームに登場する前記各物体および前記各中間物体の該キーフレームにおける重なり合せの順序に一致することを特徴とする、アニメーションデータを記録したコンピュータで読取可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明はコンピュータグラフィックスの手法を用いてアニメーションを作成し、そのデータを記録または伝送（以下、記録／伝送と称する）する場合に、アニメーションが有する情報量は保存しながら、記録／伝送のためのデータ量を縮小できるアニメーション処理方法、アニメーション処理装置、アニメーション処理プログラムを記録したコンピュータで読取可能な記録媒体およびアニメーションデータを記録したコンピュータで読取可能な記録媒体に関する。
【０００２】
【従来の技術】
アニメーションのような動きのある画像データは、非常に多くの画像（以下、フレームと呼ぶ）から成り立っており、各フレームの情報をそのままの形で記録しようとすると、非常に膨大なデータ容量が必要となる。したがって、アニメーションの情報量をなるべく落とさないようにデータ量を縮小して記録するための手法が提案されている。
【０００３】
一方、コンピュータグラフィックスによるアニメーションの製作技法の１つに、キーフレームアニメーションと呼ばれる手法がある。キーフレームアニメーションでは、アニメーションを時間的に変化する複数の「物体」の集まりとしてとらえる。アニメーションを作成するときには、すべてのフレームを作成することはせずに、物体の動きの要となるフレーム（以下、キーフレームと称す）のみ作成し、キーフレーム以外のフレーム（以下、中間フレームと呼ぶ）の物体は、キーフレームの物体に関するデータを補間計算することにより自動的に生成する。この補間方法については、特開昭６０−１９１３６６号公報に述べられる。
【０００４】
上述のキーフレームアニメーション法を用いてアニメーションのデータを記録／伝送すれば、わずかなキーフレームについての情報を記録／伝送するだけでアニメーション全体の情報を記録／伝送することができるとともに、記録／伝送するデータ量を圧倒的に減らすことが可能となる。しかし、キーフレーム中のデータを用いて補間計算して中間フレームのデータを自動生成するためにはキーフレーム対応でどの物体がどの物体に変化するかという情報が必要であり、単純にキーフレームの物体のデータだけを記録／伝送するだけでは補間処理が難しいという課題があった。
【０００５】
この課題を解決するために特開平８−２０２８９５号公報に記載の技術が提案された。この公報では、キーフレーム中の物体のデータ、キーフレームがアニメーション中で提示される時刻を示すデータおよび各キーフレーム中のどの物体とどの物体が対応しているかを示すリンク情報を用いてアニメーションデータを記録／伝送する方法が開示される。
【０００６】
また、特開平８−２０２８９５号公報では、変化する動きの速い物体と変化する動きの遅い物体を効率よく記録するために、離れたキーフレーム間のリンク情報を記録／伝送する方法が示される。
【０００７】
図１０（ａ）〜（ｄ）は、特開平８−２０２８９５号公報において記録／伝送される物体の重なり順位が変化しないアニメーションのキーフレームを示す図である。図１０（ａ）〜（ｄ）では、変化する動きの速い物体Ｂ（楕円）と、変化する動きの遅い物体Ａ（三角形）が混在したアニメーションの例である。
【０００８】
図１０（ａ）〜（ｄ）のそれぞれはキーフレームであり、各キーフレームがアニメーション中で提示される時刻ｔ０、ｔ１、ｔ２、およびｔ３のそれぞれに対応する。図中では、時刻ｔｉでの物体ＡとＢの状態ＡｉとＢｉとが示される。図中、変化する動きの速い物体Ｂは、それぞれのキーフレームで異なった形をしているが、変化する動きの遅い物体Ａは、時刻ｔ０から時刻ｔ３まで同じ変化の動き（ここでは移動）を続けている。
【０００９】
次の表１は図１０（ａ）〜（ｄ）のアニメーションにおける物体とキーフレームの時刻の関係を示す表である。
【００１０】
【表１】
0003581545.tif 000002
【００１１】
もし、物体Ａが状態Ａ０からＡ３までの変化の動きが遅く、かつ連続的に変化するものであれば、中間の状態Ａ１とＡ２は状態Ａ０とＡ３から計算される中間の状態で置換えても問題はない。そうすれば、状態Ａ１とＡ２に関する情報を記録／伝送する必要がなくなる。特開平８−２０２８９５号公報では、その方法の詳細が提示されている。
【００１２】
図１１は図１０（ａ）〜（ｄ）に示されるアニメーションに関するアニメーションデータを示す図である。特開平８−２０２８９５号公報では、中間の物体Ａに関する状態Ａ１とＡ２が記録／伝送されない場合、図１０（ａ）〜（ｄ）で示されるアニメーションは図１１のようなアニメーションデータで表現される。図１１のアニメーションデータはデータＤ１〜Ｄ１０を含み、これら各データはキーフレームの区切りを示すコマンドＫ、キーフレームの時刻ｔｉ、物体の状態ＡｉとＢｉを表わす物体の状態情報ＤＡｉおよびＤＢｉおよびリンク情報Ｌを含む。
【００１３】
リンク情報Ｌはキーフレーム間でどの物体とどの物体が対応しているかを数値で示す情報である。リンク情報Ｌが示す数値０は、対応する物体がそれより前のキーフレーム中の物体には対応していないことを示し、数値１は対応する物体が１つ前のデータ中の物体に対応していることを示す。たとえば図１１のデータＤ５の物体Ｂの状態情報に対応のリンク情報Ｌの数値１は、１つ前に現われた物体Ｂの状態情報ＤＢ０に対応していることを表わしている。また、データＤ９の物体の状態情報ＤＡ０に対応のリンク情報の数値４は、４つ前（ＤＢ２→ＤＢ１→ＤＢ０→ＤＡ０）の物体、すなわち物体の状態情報ＤＡ０に対応していることを示す。
【００１４】
図１１のアニメーションデータには、物体の状態Ａ１とＡ２の情報は含まれていないから、少ないデータで図１０（ａ）〜（ｄ）に示されるアニメーションを記録／伝送できる。
【００１５】
【発明が解決しようとする課題】
上述した特開平８−２０２８９５号公報に開示される記録／伝送方法では、変化する動きの速い物体と、変化する動きの遅い物体を効率よく記録／伝送することができるが、変化する動きの速い物体と、変化する動きの遅い物体の重なり関係が変化する場合に対応できないという課題が残る。
【００１６】
図１２（ａ）〜（ｄ）は物体の重なり関係が途中で変化するアニメーションを示す図である。図１２（ａ）〜（ｄ）のそれぞれは時刻ｔ０、ｔ１、ｔ２、およびｔ３のそれぞれにおけるキーフレームの内容を示す。
【００１７】
図１２（ａ）において物体Ｂは物体Ａの手前にある状態Ｂ０で示される。図１２（ｂ）と（ｄ）では、物体Ａと物体Ｂの重なりはないので、両者の前後関係は特定できない。図１２（ｃ）では物体Ｂは物体Ａの後ろに回っている状態Ｂ２で示される。
【００１８】
したがって、図１２（ｃ）においては物体Ｂが物体Ａの後ろにあるという情報が必要である。しかし、特開平８−２０２８９５号公報に開示の方法では、物体Ａと物体Ｂの重なり関係を示す情報は記録／伝送されないから、重なり関係の変化を表現することができない。また、これを表現しようとすると記録／伝送されるデータ量が増えてしまうという課題が残る。
【００１９】
それゆえこの発明の目的は、アニメーションの処理時に、アニメーションの有する情報量を保持しながら処理データ量を縮小して効率的なアニメーション処理を可能とするアニメーション処理方法、アニメーション処理装置、アニメーション処理プログラムを記録したコンピュータで読取可能な記録媒体およびアニメーションデータを記録したコンピュータで読取可能な記録媒体を提供することである。
【００２０】
【課題を解決するための手段】
請求項１に記載のアニメーション処理方法は、状態が変化し得る少なくとも１つ以上の物体からなるアニメーションを処理するアニメーション処理方法であって、アニメーションの記録または伝送時に、時間情報記録／伝送ステップと、状態情報記録／伝送ステップと、リンク情報記録／伝送ステップとを備える。
【００２１】
時間情報記録／伝送ステップはキーフレーム毎に、該キーフレームがアニメーションに提示される時間を示す情報を記録または伝送し、状態情報記録／伝送ステップは、キーフレーム毎に、該キーフレームに登場する各物体の状態情報を時間情報記録／伝送ステップにより記録または伝送された該キーフレームの時間情報に対応させて記録または伝送し、リンク情報記録／伝送ステップは、キーフレーム毎に該キーフレームに登場する各物体は他のキーフレーム中のいずれの物体が変化したものかを示すリンク情報を、状態情報記録／伝送ステップにより記録または伝送された該物体の状態情報に対応させて記録または伝送する。
【００２２】
そして、状態情報記録／伝送ステップによる状態情報の記録または伝送の順番はキーフレーム毎に、該キーフレームに登場する各物体の該キーフレームにおける重なり合せの順序に一致するよう構成される。
【００２３】
したがって、アニメーションの記録または伝送時に状態情報記録／伝送ステップによる各キーフレームにおける各物体の状態情報の記録または伝送の順序は該キーフレームに登場する各物体の重なり合せの順序に一致する。
【００２４】
それゆえに、各キーフレームにおける各物体の重なり合せの順序を記録または伝送するためのステップが省略されながらも、重なり合せの順序に関する情報は記録または伝送されるから、アニメーションの有する情報量は保持されながら処理データ量を縮小して効率的なアニメーション処理が可能となる。
【００２５】
請求項２に記載のアニメーション処理方法は、状態が変化し得る少なくとも１つ以上の物体からなるアニメーションを処理する方法でありアニメーションの記録または伝送時に、選択ステップと、変換ステップと、時間情報記録／伝送ステップと、状態情報記録／伝送ステップと、リンク情報記録／伝送ステップを備える。
【００２６】
選択ステップは１つ以上の物体のうちアニメーション中の複数のキーフレーム間で状態変化の遅い中間物体を選択する。
【００２７】
変換ステップでは、選択された中間物体の状態情報を、中間物体を含むキーフレームの前後のキーフレーム中の対応する物体の状態情報から補間可能な情報に変換する。
【００２８】
時間情報記録／伝送ステップはキーフレーム毎に、該キーフレームがアニメーションに提示される時間を示す情報を記録または伝送し、状態情報記録／伝送ステップはキーフレーム毎に、該キーフレームに登場する各物体の状態情報および各中間物体の変換された状態情報を時間情報記録／伝送ステップにより記録または伝送された該キーフレームの時間情報に対応させて記録または伝送し、リンク情報記録／伝送ステップはキーフレーム毎に、該キーフレームに登場する各物体および各中間物体は他のキーフレーム中のいずれの物体が変化したものかを示すリンク情報を、状態情報記録／伝送ステップにより記録または伝送された該物体の状態情報に対応させて記録または伝送する。
【００２９】
したがって、選択ステップによりキーフレーム中で、状態変化の遅い中間物体が選択されると、選択された中間物体の状態情報は変換ステップにより該キーフレームの前後のキーフレームの対応する物体の状態情報から補間可能な情報に変換されるので、アニメーションの記録または伝送時に中間物体についての状態情報に関するデータ量を減らすことができる。
【００３０】
それゆえに、時間情報記録／伝送ステップ、状態情報記録／伝送ステップならびにリンク情報記録／伝送ステップよりなるアニメーションの記録または伝送時にアニメーションの情報量は保持しながら処理データ量を縮小できて効率的なアニメーションの処理が可能となる。
【００３１】
請求項２に記載のアニメーション処理方法の状態情報記録／伝送ステップによる状態情報の記録または伝送の順番はキーフレーム毎に、該キーフレームに登場する各物体および各中間物体のキーフレームにおける重なり合せの順序に一致するよう構成される。
【００３２】
したがって、アニメーションの記録または伝送時に状態情報記録／伝送ステップによる各キーフレームにおける各物体の状態情報の記録または伝送の順序は該キーフレームに登場する各物体の重なり合せの順序に一致する。
【００３３】
それゆえに、各キーフレームにおける各物体の重なり合せの順序を記録または伝送するステップが省略されながらも、各物体の重なり合せの順序に関する情報は記録または伝送されるから、アニメーションの有する情報量は保持しながら処理データ量を縮小して効率的なアニメーション処理が可能となる。
【００３４】
請求項２に記載のアニメーション処理方法は記録または伝送されたアニメーションを表示するための表示ステップをさらに含み、この表示ステップはアニメーションの任意時間毎に、前キーフレームを抽出する第１抽出ステップと、後キーフレームを抽出する第２抽出ステップと、補間ステップと、描画ステップとを備える。
【００３５】
第１抽出ステップは任意時間および該任意時間の直前のいずれかに該当する時間情報に対応のキーフレームを前キーフレームとして抽出し、第２抽出ステップは任意時間および該任意時間の直後のいずれかに該当する時間情報に対応のキーフレームを後キーフレームとして抽出する。
【００３６】
そして、補間ステップは抽出された前キーフレーム中の記録または伝送された順序に従って各物体および各中間物体の状態情報を、対応する抽出された前後キーフレーム中の物体の状態情報に基づき補間計算し、描画ステップは補間ステップにより算出された状態情報に基づいて各物体および各中間物体を描画する。
【００３７】
したがって、表示ステップによる任意時間毎のアニメーションの表示時には、補間ステップにより任意の時間に該当のフレームに登場する各物体は記録または伝送された順序に従ってその状態情報が第１および第２抽出ステップで抽出されたキーフレーム中の対応する物体の状態情報から補間計算されて算出される。そして描画ステップでは算出された順序、すなわち記録または伝送された順序に従って物体を描画するので、各フレームにおいては元のアニメーションの物体の重なり合せの順序どおりに再現（描画）される。
【００３８】
それゆえに、記録または伝送されたアニメーションの表示時に、アニメーションの有する情報量、すなわち物体の重なり合せの順序は保持しながら処理データ量、すなわち物体の重なり合せの順序に関する特別なデータ処理は省略されて、アニメーション表示に関する効率的な処理が図られる。
【００３９】
前述の補間ステップは、前キーフレーム中の各物体および各中間物体の前キーフレーム以前の直近のキーフレーム中のリンク情報により対応付けられた物体の状態情報と、前キーフレーム中の各物体および各中間物体の後キーフレーム以後の直近のキーフレーム中のリンク情報により対応付けられた物体の状態情報に基づいて補間計算するよう構成されてもよい。
【００４０】
請求項４に記載のアニメーション処理装置は、状態が変化し得る少なくとも１つ以上の物体からなるアニメーションを処理する装置であって、アニメーションの記録または伝送時に時間情報記録／伝送手段と、状態情報記録／伝送手段と、リンク情報記録／伝送手段とを備える。
【００４１】
時間情報記録／伝送手段はキーフレーム毎に該キーフレームがアニメーションに提示される時間を示す情報を記録または伝送し、状態情報記録／伝送手段はキーフレーム毎に、該キーフレームに登場する各物体の状態情報を時間情報記録／伝送手段により記録または伝送された該キーフレームの時間情報に対応させて記録または伝送し、リンク情報記録／伝送手段はキーフレーム毎に、該キーフレームに登場する各物体は他のキーフレーム中のいずれの物体が変化したものかを示すリンク情報を、状態情報記録／伝送手段により記録または伝送された該物体の状態情報に対応させて記録または伝送する。
【００４２】
そして、状態情報記録／伝送手段による状態情報の記録または伝送の順番は、キーフレーム毎に、該キーフレームに登場する各物体の該キーフレームにおける重なり合せの順序に一致するよう構成される。
【００４３】
したがって、アニメーションの処理または伝送時に、状態情報記録／伝送手段による各キーフレームにおける各物体の状態情報の記録または伝送の順番は該キーフレームに登場する各物体の重なり合せの順序に一致する。
【００４４】
それゆえに、各キーフレームにおける各物体の重なり合せの順序を記録または伝送するための手段が出力されながらも、重なり合せの順序に関する情報は記録または伝送されるから、アニメーションの有する情報量を保持しながら処理データ量を縮小して効率的なアニメーション処理が可能となる。
【００４５】
請求項５に記載のアニメーション処理装置は状態が変化し得る少なくとも１つ以上の物体からなるアニメーションを処理する装置でありアニメーションの記録または伝送時に、選択手段と、変換手段と、時間情報記録／伝送手段と、状態情報記録／伝送手段と、リンク情報記録／伝送手段を備えて構成される。状態情報記録／伝送手段による前記状態情報の記録または伝送の順番は前記キーフレーム毎に、該キーフレームに登場する前記各物体および前記各中間物体の該キーフレームにおける重なり合せの順序に一致することを特徴とする。
【００４６】
選択手段は１つ以上の物体のうちアニメーション中の複数のキーフレーム間で状態変化の遅い中間物体を選択し、変換手段は選択された中間物体の状態情報を、中間物体を含むキーフレームの前後のキーフレーム中の対応する物体の状態情報から補間可能な情報に変換する。
【００４７】
そして、時間情報記録／伝送手段はキーフレーム毎に、該キーフレームがアニメーションに提示される時間を示す情報を記録または伝送し、状態情報記録／伝送手段はキーフレーム毎に、該キーフレームに登場する各物体の状態情報および各中間物体の変換された状態情報を時間情報記録／伝送手段により記録または伝送された該キーフレームの時間情報に対応させて記録または伝送する。そして、リンク情報記録／伝送手段は、キーフレーム毎に、該キーフレームに登場する各物体および各中間物体は他のキーフレーム中のいずれの物体が変化したものかを示すリンク情報を、状態情報記録／伝送手段により記録または伝送された該物体の状態情報に対応させて記録または伝送する。
【００４８】
したがって、選択手段によりキーフレーム中で状態変化の遅い中間物体が選択されると、選択された中間物体の状態情報は変換手段により該キーフレームの前後のキーフレームの対応する物体の状態情報から補間可能な情報に変化されるので、アニメーションの記録または伝送時に中間物体についての状態情報に関するデータ量を減らすことができる。
【００４９】
それゆえに、時間情報記録／伝送手段、状態情報記録／伝送状態ならびにリンク情報記録／伝送手段よりなるアニメーションの記録または伝送時にアニメーションの情報量は保持しながら処理データ量を縮小できて効率的なアニメーションの処理が可能となる。
【００５０】
請求項６に記載のアニメーション処理装置は請求項５の装置における状態情報記録／伝送手段による状態情報の記録または伝送の順番は、キーフレーム毎に該キーフレームに登場する各物体および各中間物体のキーフレームにおける重なり合せの順序に一致するよう構成される。
【００５１】
したがって、アニメーションの記録または伝送時に状態情報記録／伝送手段による各キーフレームにおける各物体の状態情報の記録または伝送の順番は該キーフレームに登場する各物体の重なり合せの順序に一致する。
【００５２】
それゆえに、各キーフレームにおける各物体の重なり合せの順序を記録または伝送するための手段が省略されながらも、各物体の重なり合せの順序に関する情報は記録または伝送されるから、アニメーションの有する情報量を保持しながらも処理データ量を縮小して効率的なアニメーション処理が可能となる。
【００５３】
請求項７に記載のアニメーション処理装置は、請求項５または６に記載のアニメーション処理装置がさらに記録または伝送されたアニメーションを表示するための表示手段を含み、この表示手段は、アニメーションの任意時間毎に、前キーフレームを抽出する第１抽出手段と、後キーフレームを抽出する第２抽出手段と、補間手段と、描画手段とを備えて構成される。
【００５４】
第１抽出手段は任意時間および該任意時間の直前のいずれかに該当する時間情報に対応のキーフレームを前キーフレームとして抽出し、第２抽出手段は任意時間および任意時間の直後のいずれかに該当する時間情報に対応のキーフレームを後キーフレームとして抽出する。そして、補間手段は抽出された前キーフレーム中の記録または伝送された順序に従って各物体および各中間物体の状態情報を、対応する抽出された前後キーフレーム中の物体の状態情報に基づき補間計算し、描画手段は補間手段により算出された状態情報に基づいて各物体および各中間物体を描画する。
【００５５】
したがって、表示手段による任意の時間毎のアニメーションの表示時には、任意の時間に該当のフレームに登場する各物体は記録または伝送された順番に従って補間手段によりその状態情報が第１および第２抽出手段で抽出された前後キーフレーム中の対応する物体の状態情報から補間計算されて算出される。そして描画手段が算出された順番で、すなわち記録または伝送された順番に従って物体を描画するので、各フレームにおいては元のアニメーションの物体の重なり合せの順序どおりに物体が描画される。
【００５６】
それゆえに、記録または伝送されたアニメーションの表示時に、アニメーションの有する情報量、すなわち物体の重なり合せの順序は保持しながら処理データ量、すなわち重なり合せの順序に関する特別なデータ処理は省略されて、アニメーション表示に関する効率的な処理が図られる。
【００５７】
前述の補間手段は、前キーフレーム中の各物体および各中間物体の前キーフレーム以前の直近のキーフレーム中のリンク情報により対応付けられた物体の状態情報と、前キーフレーム中の各物体および各中間物体の後キーフレーム以後の直近のキーフレーム中のリンク情報により対応付けられた物体の状態情報に基づいて補間計算するようにしてもよい。
【００５８】
請求項８に記載の状態が変化し得る少なくとも１つ以上の物体からなるアニメーションを処理するアニメーション処理方法をコンピュータに実行させるためのアニメーション処理プログラムを記録したコンピュータで読取可能な記録媒体は、アニメーション処理方法が、アニメーションの記録または伝送時に時間情報記録／伝送ステップと、状態情報記録／伝送ステップと、リンク情報記録／伝送ステップとを備える。
【００５９】
時間情報記録／伝送ステップはキーフレーム毎に、該キーフレームがアニメーションに提示される時間を示す情報を記録または伝送し、状態情報記録／伝送ステップはキーフレーム毎に、該キーフレームに登場する各物体の状態情報を時間情報記録／伝送ステップにより記録または伝送された該キーフレームの時間情報に対応させて記録または伝送し、リンク情報記録／伝送ステップはキーフレーム毎に、該キーフレームに登場する各物体は他のキーフレーム中のいずれの物体が変化したものかを示すリンク情報を、状態情報記録／伝送ステップにより記録または伝送された該物体の状態情報に対応させて記録または伝送する。そして、状態情報記録／伝送ステップによる状態情報の記録または伝送の順番は、キーフレーム毎に、該キーフレームに登場する各物体の該キーフレームにおける重なり合せの順序に一致するよう構成される。
【００６０】
したがって、アニメーションの記録または伝送時に状態情報記録／伝送ステップによる各キーフレームにおける各物体の状態情報の記録または伝送の順序は該キーフレームに登場する各物体の重なり合せの順序に一致する。
【００６１】
それゆえに、各キーフレームにおける各物体の重なり合せの順序を記録／伝送するステップが省略されながらも各物体の重なり合せの順序に関する情報は記録／伝送されるからアニメーションの有する情報量を保持しながらも処理データ量を縮小して効率的なアニメーション処理が可能となる。
【００６２】
請求項９に記載の状態が変化し得る少なくとも１つ以上の物体からなるアニメーションを処理するアニメーション処理方法をコンピュータに実行させるためのアニメーション処理プログラムを記録したコンピュータで読取可能な記録媒体は、アニメーション処理方法のアニメーションの記録または伝送時に、選択ステップと、変換ステップと、時間情報記録／伝送ステップと、状態情報記録／伝送ステップと、リンク情報記録／伝送ステップとを備える。
【００６３】
選択ステップは１つ以上の物体のうちアニメーション中の複数のキーフレーム間で状態変化の遅い中間物体を選択する。
【００６４】
変換ステップでは、選択された中間物体の状態情報を、中間物体を含むキーフレームの前後のキーフレーム中の対応する物体の状態情報から補間可能な情報に変換する。
【００６５】
時間情報記録／伝送ステップはキーフレーム毎に、該キーフレームがアニメーションに提示される時間を示す情報を記録または伝送し、状態情報記録／伝送ステップはキーフレーム毎に、該キーフレームに登場する各物体の状態情報および各中間物体の変換された状態情報を時間情報記録／伝送ステップにより記録または伝送された該キーフレームの時間情報に対応させて記録または伝送し、リンク情報記録／伝送ステップはキーフレーム毎に、該キーフレームに登場する各物体および各中間物体は他のキーフレーム中のいずれの物体が変化したものかを示すリンク情報を、状態情報記録／伝送ステップにより記録または伝送された該物体の状態情報に対応させて記録または伝送する。
【００６６】
したがって、選択ステップによりキーフレーム中で状態変化の遅い中間物体が選択されると、選択された中間物体の状態情報は選択ステップにより該キーフレームの前後のキーフレームに対応する物体の状態情報から補間可能な情報に変換されるので、アニメーションの記録または伝送時に中間物体についての状態情報に関するデータ量を減らすことができる。
【００６７】
それゆえに、時間情報記録／伝送ステップ、状態情報記録／伝送ステップならびにリンク情報記録／伝送ステップよりなるアニメーションの記録または伝送時においてアニメーションの情報量は保持しながら処理データ量を縮小できて効率的なアニメーションの処理が可能となる。
【００６８】
請求項９に記載の方法の状態情報記録／伝送ステップによる状態情報の記録／伝送の順番は、キーフレーム毎に、該キーフレームに登場する各物体および各中間物体のキーフレームにおける重なり合せの順序に一致するよう構成されてもよい。
【００６９】
したがって、アニメーションの処理または伝送時に状態情報記録／伝送ステップによる各キーフレームにおける各物体の状態情報の記録または伝送の順番は、該キーフレームに登場する各物体の重なり合せの順序に一致する。
それゆえに、各キーフレームにおける各物体の重なり合せの順序を記録または伝送するステップが省略されながらも、重なり合せの順序に関する情報は記録または伝送されるから、アニメーションの有する情報量を保持しながらも処理データ量を縮小して効率的な処理が可能となる。
【００７０】
状態が変化し得る少なくとも１つ以上の物体からなるアニメーションを処理するアニメーション処理方法をコンピュータに実行させるためのアニメーション処理プログラムを記録したコンピュータで読取可能な記録媒体においてアニメーション処理方法は、前述の請求項９に記載のアニメーション処理方法が記録または伝送されたアニメーションを表示するための表示ステップをさらに含み、この表示ステップは、アニメーションの任意時間毎に、前フレームを抽出する第１抽出ステップと、後フレームを抽出する第２抽出ステップと、補間ステップと、描画ステップとを備えてもよい。
【００７１】
第１抽出ステップは任意時間および任意時間の直前のいずれかに該当する時間情報に対応のキーフレームを前キーフレームとして抽出し、第２抽出ステップは任意時間および任意時間の直後のいずれかに該当する時間情報に対応のキーフレームを後キーフレームとして抽出する。そして補間ステップは抽出された前キーフレーム中の記録または伝送された順に従って、各物体および各中間物体の状態情報を、対応する抽出された前後キーフレーム中の物体の状態情報に基づき補間計算し、描画ステップは補間ステップにより算出された状態情報に基づいて各物体および各中間物体を描画する。
【００７２】
したがって、表示ステップによる任意時間毎のアニメーションの表示時には、補間ステップにより任意の時間に該当のフレームに登場する各物体は記録または伝送された順に従ってその状態情報が第１および第２抽出ステップで抽出されたキーフレーム中の対応する物体の状態情報から補間計算されて算出される。そして描画ステップでは算出された順序、すなわち記録または伝送された順序に従って物体を描画するので、各フレームにおいては元のアニメーションの物体の重なり合せの順序どおり物体が描画される。
【００７３】
それゆえに、記録または伝送されたアニメーションの表示時に、アニメーションの有する情報量、すなわち物体の重なり合せの順序に関する情報は保持しながら処理データ量、すなわち物体の重なり合せの順序に関する特別なデータ処理は省略され、アニメーション表示に関する効率的な処理が図られる。
【００７４】
前述の補間ステップは、前キーフレーム中の各物体および各中間物体の前キーフレーム以前の直近のキーフレーム中のリンク情報により対応付けられた物体の状態情報と、前キーフレーム中の各物体および各中間物体の後キーフレーム以後の直近のキーフレーム中のリンク情報により対応付けられた物体の状態情報に基づいて補間計算するように構成されてもよい。
【００７５】
請求項１０に記載の状態が変化し得る少なくとも１つ以上の物体からなるアニメーションを処理するためのアニメーションデータを記録したコンピュータで読取可能な記録媒体は、アニメーションデータが、複数のキーフレームのそれぞれについてデータ群領域に記録され、データ群領域のそれぞれは対応するキーフレームに登場する物体のそれぞれについて該物体の状態情報と該物体は他のキーフレーム中のいずれの物体が状態変化したかを示すリンク情報とを対応付けて記録したデータ領域を有し、さらにデータ群領域のそれぞれにおいて、データ領域のそれぞれは対応するキーフレームに登場する各物体の重なり合せの順序に従って記録されるよう構成される。
【００７６】
したがって、アニメーションデータの各データ群領域では、データ領域のそれぞれは対応する各キーフレームにおける各物体の重なり合せの順序に従って記録される。
【００７７】
それゆえに、各データ群領域の各データ領域を順次アクセスするだけで、すなわち特別なデータ処理を要することなく、重なり合せの順序に従って各物体の情報を得ることができて、アニメーションに関する情報量を十分に保持しながらもその処理データ量を縮小して、記憶媒体の容量削減と効率的な処理が可能となる。
【００７８】
請求項１１に記載の状態が変化し得る少なくとも１つ以上の物体からなるアニメーションを処理するためのアニメーションデータを記録したコンピュータで読取可能な記録媒体であって、アニメーションデータは、複数のキーフレームのそれぞれについてデータ群領域に記録され、データ群領域のそれぞれは、対応するキーフレームに登場する物体のそれぞれについて、該物体の状態情報と該物体は他のキーフレーム中のいずれの物体が状態変化したかを示すリンク情報とを対応付けて記録したデータ領域を有し、物体の状態情報として、該物体が登場するキーフレームの前後のキーフレーム中の対応する物体の状態情報から補間可能な情報が含まれるよう構成される。状態情報の記録の順番はキーフレーム毎に、該キーフレームに登場する各物体および各中間物体の該キーフレームにおける重なり合せの順序に一致する。
【００７９】
したがって、アニメーションデータ中の各物体の状態情報として、前後のキーフレーム中の対応する物体の状態情報から補間され得る情報、言換えれば縮小された情報が用いられる。
【００８０】
それゆえに、アニメーションデータはアニメーションに関する情報量は十分に保持しながらも、アニメーションデータに関する量は縮小されるから、記憶媒体の容量削減と効率的なアクセス処理を含むアニメーション処理が可能となる。
【００８１】
【発明の実施の形態】
以下、この発明の実施の形態について図面を参照し詳細に説明する。
【００８２】
図１は、この発明の実施の形態に適用されるアニメーションデータ記録／伝送処理装置のブロック構成図である。図においてアニメーションデータ記録／伝送処理装置は、該装置を集中的に制御および管理するためのＣＰＵ（中央処理装置の略）３を有し、ＣＰＵ３には、アニメーションデータを記録したり読出したりするためのハードディスクおよびフロッピーディスクなどからなる外部記憶装置１、アニメーションを表示するためのディスプレイ装置２、タブレット、デジタイザおよびマウスなどの座標入力装置４およびキーボード５が接続される。ＣＰＵ３はマイクロプロセッサなどの演算処理装置６、複数のプログラムＰＲおよびアニメーションデータＡＤなどを含む処理に必要な各種のデータを格納するためのメモリ７、ＣＰＵ３と前述した各外部装置およびデータ伝送のためのネットワーク９との接続を制御するためのインターフェイス回路８を含む。
【００８３】
図２は、図１のメモリ７のアニメーションデータＡＤのデータ構造の一例を示す図である。図２のアニメーションデータＡＤは図１２（ａ）〜（ｄ）に示されたアニメーションに対応するデータである。図２のデータ構造を有するアニメーションデータＡＤは外部記憶装置１に記録したり、ネットワーク９を経由して伝送したりするためのものである。
【００８４】
図２においてアニメーションデータＡＤは図１２（ａ）〜（ｄ）の各キーフレームの情報を格納したデータＫ０〜Ｋ３を含み、データＫｉ（ただしｉ＝０、１、２、３）のそれぞれは対応するキーフレームの時刻ｔｉ、物体の状態情報ＳＡｉとＳＢｉを含む。キーフレームの時刻ｔｉは、さまざまな表現方法が考えられるが、たとえば１０００分の１秒単位の数値で表現する方法がある。
【００８５】
物体の状態情報ＳＡｉおよびＳＢｉはそれぞれ物体ＡおよびＢの時刻ｔｉの各キーフレームにおける状態を示す情報であり、各キーフレームにおける物体の状態をデータにして示す状態データＤＡｉおよびＤＢｉのそれぞれと各キーフレームにおける物体のキーフレーム間での対応関係を示すリンク情報ＬＡｉおよびＬＢｉのそれぞれと、各キーフレームにおける物体相互の重なり順位関係を格納した順位情報ＲＡｉおよびＲＢｉのそれぞれを含む。
【００８６】
物体ＡとＢの状態データＤＡｉとＤＢｉの表現方法としては、たとえばコード表現がある。次に、物体が塗りつぶしポリゴンおよび曲線のそれぞれであった場合に各状態データをコード表現で示す。
【００８７】
（塗りつぶしポリゴンの状態データ表現例）
Ｐ  ｃ、ｐ、ｎ、ｘ１、ｙ１、ｘ２、ｙ２、…ｘｎ、ｙｎ
ここで、Ｐは物体が塗りつぶしポリゴンであることを示すコマンド、ｃはポリゴンの色番号、ｐは塗りつぶしパターンの番号、ｎはポリゴンの頂点数、ｘ１、ｙ１、ｘ２、ｙ２、…ｘｎ、ｙｎはポリゴンの各頂点の（ｘ，ｙ）座標である。なお、ここでは塗りつぶしパターンは各種パターンがメモリ７に予め登録されているものとする。
【００８８】
（曲線の状態データ表現例）
Ｌ  ｃ，ｗ，ｎ，ｘ１，ｙ１，ｘ２，ｙ２，…ｘｎ，ｙｎ
ここでＬは曲線であることを示すコマンド、ｃは曲線の色番号、ｗは曲線の太さ、ｎは曲線の点数、ｘ１、ｙ１、ｘ２、ｙ２、…ｘｎ、ｙｎは曲線を表わす点の（ｘ，ｙ）座標である。
【００８９】
リンク情報ＬＡｉおよびＬＢｉのそれぞれは他のキーフレームのデータＫｉ中の対応する物体の状態情報ＳＡｉおよびＳＢｉのそれぞれを特定するための情報であり、その表現方法としてはたとえば、対応する物体の状態情報ＳＡｉおよびＳＢｉのそれぞれが格納されたメモリ領域へのポインタにより表現する方法が考えられる。また、物体の状態情報ＳＡｉおよびＳＢｉのそれぞれに固有の識別番号や、物体の状態情報ＳＡｉおよびＳＢｉのそれぞれに対応した文字列により表現する方法も考えられる。
【００９０】
なお、図２では、物体の状態情報ＳＡ３およびＳＢ３のそれぞれにおいて物体ＡおよびＢのそれぞれは後ろのキーフレーム中の物体とはリンクしていないため、対応するリンク情報ＬＡ３およびＬＢ３のそれぞれは何もリンクしていないことを表わす「なし」が設定される。
【００９１】
物体の状態情報ＳＡｉおよびＳＢｉのそれぞれは対応するキーフレーム中に登場する物体の重なり順位を示す順位情報ＲＡｉおよびＲＢｉを含む。順位情報ＲＡｉおよびＲＢｉのそれぞれには数値が設定されて、その数値が小さいほど、対応する物体は該キーフレーム中で他の物体よりも重なりの順位が上であることを示す。
【００９２】
たとえば図１２（ａ）の時刻ｔ０のキーフレームにおいて状態Ｂ０の物体Ｂは状態Ａ０の物体Ａの上に重なっているため、状態Ｂ０の物体Ｂの順位情報ＲＢ０は１と設定され、状態Ａ０の物体Ａの順位情報ＲＡ０は２と設定される。また図１２（ｃ）の時刻ｔ２のキーフレームにおいて状態Ｂ２の物体Ｂは、状態Ａ２の物体Ａの下になるように両者が重ねられているため状態Ｂ２の物体Ｂの順位情報ＲＢ２は２と設定され状態Ａ２の物体Ａの順位情報ＲＡ２は１と設定される。また、図１２（ｂ）の時刻ｔ１のキーフレームでは物体ＡとＢとは重ねられていないが、時刻ｔ１から時刻ｔ２に変化する間に物体Ｂか物体Ａの下になるようにして両者が重なり合うよう移動するため時刻ｔ１のキーフレームにおいて物体Ｂの順位情報ＲＢ１は２と設定され物体Ａの順位情報ＲＡ１は１に設定される。図１２（ｄ）の時刻ｔ３のキーフレームにおける物体Ａと物体Ｂの重なり合せ状態は時刻ｔ２のキーフレームのそれと同じ状態としたので、状態Ｂ３の物体Ｂの順位情報ＲＢ３は２、状態Ａ３の物体Ａの順位情報ＲＡ３は１にそれぞれ設定される。
【００９３】
図３はこの発明の実施の形態によるアニメーションデータの記録／伝送処理の概略フローチャートである。このフローチャートは予め図１のメモリ７にプログラムＰＲにしてストアされＣＰＵ３の制御の下に実行される。
【００９４】
まず、ＣＰＵ３は外部入力に従いアニメーションの複数のキーフレームの中から変化する動きの遅い物体の中間状態を選択する（Ｓ１）。すなわち前後のキーフレームから補間処理が可能である物体の状態を選択する。図１２（ａ）〜（ｄ）のアニメーションでは状態Ａ１とＡ２が選択される。
【００９５】
ここで、中間状態を選択する方法としては図形編集が行なわれるときの図形選択のための公知の技術がそのまま使用される。たとえば、図１２（ａ）〜（ｄ）のようなキーフレームをディスプレイ装置２に表示して座標入力装置４およびそれによってコントロールされるディスプレイ装置２上のカーソルを用いて図形（物体の状態）を選択する。または、キーフレーム中の各図形（物体の状態）に番号を予め割り当てておき、キーボード５からその番号を入力して選択するようにしてもよい。または、キーボード５のボタンを押すことにより、キーフレーム中の図形（物体の状態）を順番に選択して、目的とする中間状態が選択されたときにＯＫのボタンを押すことで選択するようにしてもよい。このような図形選択の方法は既によく知られているので、その詳細は省略する。
【００９６】
次に、選択された中間の状態を「中間物体」に変換する（Ｓ２）。
ここで、中間物体とは、その内部状態が前後のキーフレームの対応する物体の状態情報（ＳＡｉまたはＳＢｉ）から計算される物体である。
【００９７】
図４は図２の物体の状態情報ＳＡ１とＳＡ２を中間物体を用いて変換したときのデータ構造例を示す図である。図４では物体の状態Ａ１とＡ２の対応する状態データＤＡ１とＤＡ２が「中間物体」という状態データに設定される。状態データとして「中間物体」を表現する方法としては、状態データＤＡｉまたはＤＢｉと同様にして中間物体というコマンドを定義し、それを用いて表現する。たとえば中間物体を「Ｘ」というコマンドで表現した例が次に示される。
【００９８】
（中間物体の状態データ表現例）
Ｘ
次に、図３のフローチャートにおいて、メモリ７のアニメーションデータＡＤが外部記憶装置１に記録またはネットワーク９を介して伝送される（Ｓ３）。
【００９９】
図５は、図３のアニメーションデータの記録／伝送処理のための詳細フローチャートである。図６は図５の処理フローチャートに従って記録／伝送されたアニメーションデータＲＡＤの一例を示す図であり、ここでは図１２（ａ）〜（ｄ）のアニメーションのデータを記録／伝送した場合のものが示される。図５のフローチャートは予めプログラムＰＲとしてメモリ７にストアされてＣＰＵ３の制御の下に実行される。
【０１００】
メモリ７のアニメーションデータＡＤは記録／伝送されると図６のアニメーションデータＲＡＤに変換される。アニメーションデータＲＡＤはデータ２０〜３１を含むキーフレームのデータ群５０〜５３を含む。データ２０、２３、２６および２９はキーフレームの区切りを示すコマンドＫに対応してキーフレームがアニメーション中で提示される時刻ｔｉを含む。その他のデータは物体の状態情報ＳＡｉおよびＳＢｉのそれぞれに対応して状態データＤＡｉおよびＤＢｉのそれぞれとリンク情報Ｌのそれぞれを含む。
【０１０１】
まず、ＣＰＵ３は変数ｋでメモリ７のアニメーションデータＡＤの最初のキーフレームデータＫ１を示す。次にＣＰＵ３は変数ｋで示されるキーフレームが存在するかどうかチェックする（Ｓ５）。キーフレームが存在しなければ終了する。
【０１０２】
キーフレームが存在する場合は、変数ｋで示されるキーフレームのデータＫ０の時刻ｔ０を記録／伝送する。ここで、まず、図６のコマンドＫと時刻ｔ０を含んだデータ２０が記録／伝送される（Ｓ６）。
【０１０３】
次に、キーフレーム中の物体の重ね合せ順位を示すための変数ｎに１を初期設定する（Ｓ７）。
【０１０４】
次に、変数ｋで示されるデータＫｉに変数ｎの設定値に対応する順位情報（ＲＡｉまたはＲＢｉ）を有する物体Ｎ（ＡまたはＢ）が存在するかどうかチェックする（Ｓ８）。物体Ｎが存在しなければ、変数ｎの数値に対応の順位情報（ＲＡｉまたはＲＢｉ）を有する中間の物体Ｎ、すなわち状態データ（ＤＡｉまたはＤＢｉ）が中間物体であるものが存在するかどうかがチェックされる（Ｓ９）。中間の物体Ｎが存在しなけれぱ、変数ｋは次のキーフレームのデータＫｉを指示するように変更されて（Ｓ２１）、同様に次のキーフレームについて処理が実行される。
【０１０５】
中間物体Ｎが存在する場合、または変数ｎの値に対応の順位情報（ＲＡｉまたはＲＢｉ）を有する物体Ｎ（ＡまたはＢ）が存在する場合は物体Ｎまたは中間の物体Ｎの状態データ（ＤＡｉまたはＤＢｉ）が記録／伝送される（Ｓ１０）。ここで、図６のアニメーションデータＲＡＤ中の状態データＤＢ０、ＤＡ０、Ｘ、ＤＢ１、ＤＢ２、ＤＡ３およびＤＢ３が記録／伝送される。
【０１０６】
次に、リンク情報Ｌに値０を初期設定して（Ｓ１１）、物体Ｎが変数ｋ−１で指示されるキーフレームのデータＫｉで示されるキーフレーム、すなわち直前のキーフレームの物体とリンクしているかを調べる（Ｓ１２）。リンクしている場合は、直前のキーフレームの物体の順位情報（ＲＡｉまたはＲＢｉ）を表わす変数ｍに値１を設定する（Ｓ１３）。リンクしていなければリンク情報Ｌの値を記録／伝送し（Ｓ１８）、変数ｎを１増加して（Ｓ２０）、次の順位情報を有する物体について以下同様に処理が繰返される。
【０１０７】
次に、変数ｍの設定値に対応する順位情報（ＲＡｉまたはＲＢｉ）を有する物体Ｍ（物体ＡまたはＢ）が直前のキーフレーム中に存在するかどうかチェックされる（Ｓ１４）。物体Ｍが存在しなければ、変数ｍに対応の順位情報（ＲＡｉまたはＲＢｉ）を有する中間の物体Ｍ、すなわち状態情報データ（ＤＡｉまたはＤＢｉ）が中間図形である物体が直前のキーフレーム中に存在するかどうかがチェックされる（Ｓ１５）。中間の物体Ｍが存在しなければ、リンク情報Ｌの値をリンク情報（ＬＡｉまたはＬＢｉ）として記録／伝送し（Ｓ１８）、変数ｎを１増加して（Ｓ２０）、次の順位情報を有する物体について以下同様に処理が繰返される。中間の物体Ｍが存在する場合はリンク情報Ｌを１増加させる（Ｓ１６）。
【０１０８】
この実施の形態では、対応する物体を指定するためのリンク情報Ｌは、１つ前のキーフレームの物体の重なり順位情報（ＲＡｉおよびＲＢｉ）を利用している。リンク情報の表現方法は、いろいろな方法であってよく、これに特定されるものではない。たとえば図１１で説明したようにデータ中のいくつ前の物体と対応しているかを表わす数値で表現されてもよい。
【０１０９】
リンク情報Ｌを１増加させると（Ｓ１６）、変数ｋで示されるキーフレーム中の物体Ｍが直前の、すなわち（ｋ−１）で示されるキーフレーム中の物体Ｎとリンクしているかを調べる（Ｓ１７）。リンクしている場合は、リンク情報Ｌを記録／伝送する（Ｓ１８）。ここで、図６のデータ２１、２２、２４、２５、２７、２８、３０および３１の中の状態データＤＡｉ、ＤＢｉおよびＸに対応のリンク情報Ｌを表わす数値が記録／伝送される。
【０１１０】
物体ＭとＮがリンクしていなければ（Ｓ１７でＮｏ）、変数ｍを１増加させ（Ｓ１９）、次の順位情報を有する物体Ｍについて以下同様に処理がおこなれる。リンク情報Ｌが記録／伝送された後は、変数ｋのキーフレームデータＫｉ中の物体の順位情報を表わす数値ｎを１増加させる（Ｓ２０）。そして次の順位情報を有する物体Ｎの処理を同様に行なう（Ｓ８〜）。
【０１１１】
変数ｋで示されるキーフレームのデータＫｉの物体についての処理がすべて終わったときには変数ｋの値を１増加させ（Ｓ２１）、次のキーフレームについて以下同様に処理が繰返される（Ｓ５〜）。
【０１１２】
図５のフローチャートに従えばアニメーションデータＡＤの各キーフレームデータＫｉについて物体の重なり順位情報（ＲＡｉまたはＲＢｉ）に対応する数値が小さいものから順に物体の状態データ（ＤＡｉ、ＤＢｉまたはＸ）が記録／伝送されるので、アニメーションデータＲＡＤの記憶装置１における記録順序／ネットワーク９を付した伝送順序が物体の重なり順位に対応する。
【０１１３】
図７（ａ）〜（ｄ）は図１２（ａ）〜（ｄ）のアニメーションにおいて、物体ＡとＢの重なり順位が変更しない場合のアニメーションを示す図である。図１２（ｃ）では、状態Ｂ２の物体Ｂは状態Ａ２の物体Ａの後ろにあったが、図１２（ｃ）に対応の図７（ｃ）では、物体Ｂは、物体Ａの前にある。図１２（ｃ）において物体Ｂが物体Ａの下となるように両者が重なっているため図１２（ｂ）では物体Ｂは物体Ａの下となるような重なり順位となる。図７（ｃ）においては、物体Ｂが物体Ａの手前となるように重なっているため図７（ｂ）では物体Ｂは物体Ａの手前となるような重なり順位となる。
【０１１４】
図８は、図７（ａ）〜（ｄ）のアニメーションが図５の処理手順に従って記録／伝送された場合のアニメーションデータＲＡＤを示す図である。図８のアニメーションデータＲＡＤはデータ３２〜４３を含むキーフレーム毎のデータ群６０〜６３を含む。データ３２、３５、３８および４１はキーフレームの区切りを示すコマンドＫに対応して該キーフレームがアニメーションで提示される時刻ｔｉを含む。その他のデータは物体の状態情報ＳＡｉおよびＳＢｉのそれぞれに対応して状態データＤＡｉおよびＤＢｉのそれぞれとリンク情報Ｌを含む。
【０１１５】
図６のデータ２４と２５のそれぞれは中間物体を表わす状態データＸとＤＢ１のそれぞれをこの順番で含んでいるが、対応する図８のデータ３６と３７のそれぞれは状態データＤＢ１とＸのそれぞれをこの順序で含んでいる。また、図６のデータ２７と２８のそれぞれは、中間物体を表わす状態データＸとＤＢ２のそれぞれをこの順番で含んでいるが、対応する図８のデータ３９と４０のそれぞれは状態データＤＢ２とＸのそれぞれをこの順序で含んでいる。このように、中間物体の状態データＸを中間物体でない通常の物体の状態データ（ＤＡｉまたはＤＢｉ）と組合せることにより、中間物体と通常の物体との重なり順位の違いを記録／伝送することができる。
【０１１６】
中間物体については前後のキーフレームの中間物体でない物体との対応関係から、実際の状態データを補間計算で求めることが可能となる。したがって、中間物体の状態データを記録／伝送する必要がなく、記録／伝送のためのデータ量を減らすことができる。それゆえに、記憶装置１に必要とされる容量の削減、ならびに伝送効率の向上が図られる。
【０１１７】
ここで、前後のキーフレームから記録／伝送されたアニメーションを再生するための補間処理を次に説明する。
【０１１８】
前後のキーフレームの各物体の情報に基づいて中間フレームにおける物体の状態データを作成する。ここで、説明のために前後のキーフレームをキーフレームｋ１とｋ２とし、キーフレームｋ１とｋ２のアニメーションおける提示時刻を時刻Ｔ（ｋ１）とＴ（ｋ２）とする。アニメーションを再生するということは、時刻Ｔ（ｋ１）から時刻Ｔ（ｋ２）まで変化する間のある時刻ｔにおけるフレームに登場する各物体の状態データを補間計算で求めるということである。この補間計算は次の式で表現される。
【０１１９】
ｘ（ｚ）＝（ｘ（ｚ，ｋ１）×（Ｔ（ｋ２）−ｔ）＋ｘ（ｚ，ｋ２）
×（ｔ−Ｔ（ｋ１）））／（Ｔ（ｋ２）−Ｔ（ｋ１））
ここで、ｘ（ｚ）は、時刻ｔにおける重なり順位ｚ番目の物体の状態データの１成分で、たとえば塗りつぶしポリゴンの頂点の各（ｘ，ｙ）座標などである。ｘ（ｚ，ｋ１）、ｘ（ｚ，ｋ２）は、時刻ｔにおいて重なり順位ｚ番目である物体に対応するキーフレームｋ１とｋ２の物体の状態データの１成分をそれぞれ示す。
【０１２０】
この式を用いることにより、中間フレームの前後で提示される２つのキーフレームの提示される時刻、そこにおける所望する物体の状態データおよび再生したい時刻ｔがわかれば、所望する物体の時刻ｔにおける状態データを求めることができる。
【０１２１】
この実施の形態では、キーフレーム中に状態データを持たない中間物体が存在するため、ｘ（ｚ，ｋ１）およびｘ（ｚ，ｋ２）が得られない場合がある。つまり、時刻ｔにおいて重なり順位ｚ番目である物体に対応するキーフレームｋ１とｋ２の物体が状態データを持たない中間物体であった場合である。その場合は、補間計算に次の式が用いられる。
【０１２２】
ｋｎ（ｚ）およびｋｍ（ｚ）が存在する場合
ｘ（ｚ）＝（ｘ（ｚ，ｋｎ（ｚ））×（Ｔ（ｋｍ（ｚ））−Ｔ）＋ｘ（ｚ，ｋｍ（ｚ））×（ｔ−Ｔ（ｋｎ（ｚ））））／（Ｔ（ｋｍ（ｚ））−Ｔ（ｋｎ（ｚ）））
ｋｍ（ｚ）が存在しｋｎ（ｚ）が存在しない場合
ｘ（ｚ）＝ｘ（ｚ，ｋｍ（ｚ））
ｋｎ（ｚ）が存在し、ｋｍ（ｚ）が存在しない場合
ｘ（ｚ）＝ｘ（ｚ，ｋｎ（ｚ））
ｋｎ（ｚ）およびｋｍ（ｚ）が存在しない場合
物体は存在しない。
【０１２３】
ここで、ｋｎ（ｚ）は、時刻ｔにおいて重なり順位ｚ番目である物体に対応する物体（ただし中間物体ではない）を含むキーフレームであって、キーフレームｋ１またはキーフレームｋ１より前の時刻ｔｉにあり最もキーフレームｋ１に近いキーフレームのデータを示す。
【０１２４】
ここで、ｋｍ（ｚ）は、時刻ｔにおいて重なり順位ｚ番目である物体に対応する物体（ただし中間物体でない）を含むキーフレームであって、キーフレームｋ２またはキーフレームｋ２より後ろの時刻ｔｉにあり最もキーフレームｋ２に近いキーフレームのデータを示す。
【０１２５】
図９はこの発明の実施の形態による記録／伝送されたアニメーションデータを用いて時刻ｔにおけるアニメーションの状態を描画するための処理フローチャートである。このフローチャートは予めプログラムＰＲとしてメモリ７にストアされてＣＰＵ３の制御の下に実行される。
【０１２６】
まず、ＣＰＵ３は記録／伝送されたアニメーションデータＲＡＤにおいて、時刻ｔと同じ時刻ｔｉまたはそれ以前の時刻ｔｉのキーフレームのうち最も時刻ｔに近いキーフレームを探し、そのデータをデータＫＤ１とする（Ｓ３０）。
【０１２７】
次に、時刻ｔと同じ時刻ｔｉまたはより後ろの時刻ｔｉのキーフレームのうち最も時刻ｔに近いキーフレームを探しそのデータをデータＫＤ２とする（Ｓ３１）。
【０１２８】
次に、物体の状態データを示す変数ｈにキーフレームデータＫＤ１に含まれる物体の状態データのうち、該キーフレーム中で最も奥に位置する物体の状態データを設定する（Ｓ３２）。
【０１２９】
次に、データＫＤ２に、変数ｈの物体の状態データとリンク情報Ｌで結ばれた物体のデータが存在するかどうかチェックする（Ｓ３３）。もし存在しなければ、後述するＳ５０の処理に移行するが、存在すれば、データＫＤ２の変数ｈの物体の状態データとリンク情報Ｌで結ばれた物体の状態データを変数ｊに設定する（Ｓ３４）。
【０１３０】
次に、変数ｎに変数ｈの内容を設定する（Ｓ３５）。
次に、変数ｎが中間物体の状態データであるかどうかを該データが“Ｘ”であるか否かでチェックする（Ｓ３６）。中間物体の状態データでなければ後述するＳ３９の処理に移行するが、中間物体の状態データであれば変数ｎの物体の状態データが変数ｎのキーフレームより前のキーフレームのデータ中の物体の状態データとリンク情報Ｌでリンクしているかどうかをチェックする（Ｓ３７）。リンクしていない場合は、後述するＳ３９の処理に移行する。
【０１３１】
リンクしていれば変数ｎに変数ｎの物体の状態データとリンクしている変数ｎのキーフレームより前のキーフレームのデータ中の物体の状態データを設定し（Ｓ３８）、前述のＳ３６の処理に戻り、変数ｎに新たに設定された物体の状態データに対応の物体が中間物体かどうかチェックし、以下、前にリンクしているリンク先が中間物体でない物体の状態データとなるまでＳ３６〜Ｓ３８の処理が繰返される。
【０１３２】
Ｓ３９の処理では変数ｍに変数ｊの内容を設定する。次に、変数ｍの内容が中間物体の状態データを示すかどうかを変数ｍの内容が“Ｘ”であるか否かでチェックし（Ｓ４０）、中間物体の状態データでなければ、後述するＳ４５の処理へ移行するが、中間物体の状態データであれば変数ｍの物体の状態データが変数ｍに対応のキーフレームより後のキーフレーム中のデータとリンク情報Ｌでリンクしているかどうかをチェックする（Ｓ４１）。
【０１３３】
リンクしている場合は変数ｍに、変数ｍの物体の状態データとリンクし、かつ変数ｍに対応のキーフレームのデータより前の時刻ｔｉのキーフレームのデータ中の物体の状態データを設定して、変数ｍに新たに設定された物体の状態データは中間物体のそれかどうかをチェックし（Ｓ４０）、以下、後ろにリンクしているリンク先が中間物体でない物体の状態データとなるまでＳ４０〜Ｓ４２の処理が繰返される。
【０１３４】
変数ｍに中間物体の状態データが設定される場合、変数ｎの内容が中間物体の状態データかどうかを該データが“Ｘ”であるか否かでチェックし、中間物体の状態データであれば、後述するＳ５０の処理に移行するが、中間物体の状態データでなければ、変数ｎの内容（物体の状態データ）に従って物体をディスプレイ装置２に描画し（Ｓ４４）、後述するＳ５０の処理に移行する。
【０１３５】
変数ｍに中間物体でない物体の状態データが設定される場合には、変数ｎに中間物体の状態データが設定されているかどうかを該データが“Ｘ”であるか否かによりチェックし（Ｓ４５）、中間物体の状態データでなければ、変数ｍおよび変数ｎのデータはともに中間物体の状態データでないので補間処理により得られる物体がディスプレイ装置２に描画される（Ｓ４７）。詳細には、まず、変数ｍおよび変数ｎに設定された物体の状態データのそれぞれを含むキーフレームデータのそれぞれの時刻ｔｉを求めて変数ＴｋｍおよびＴｋｎのそれぞれに設定し、次の補間計算式
ｘ＝（ｘ（ｎ）×（Ｔｋｍ−ｔ）＋ｘ（ｍ）×（ｔ−Ｔｋｎ））／（Ｔｋｍ−Ｔｋｎ）
に従って、補間計算を行ない、その結果に従い物体をディスプレイ装置２に描画する。
【０１３６】
ここで、ｘは物体の状態データの成分、ｘ（ｍ）は変数ｍに設定されたｘの値、ｘ（ｎ）は変数ｎに設定されたｘの値である。
【０１３７】
次に、キーフレームのデータＫＤ１において変数ｈに対応の物体より手前に物体があるかどうかをチェックする（Ｓ５０）。存在しない場合は一連の描画処理を終了し、存在する場合は変数ｈに変数ｈに対応の物体より１つ手前の物体の状態データを新たに指定し、前述したＳ３３の処理に移行する。
【０１３８】
図９のフローチャートに従えば、記録／伝送されたアニメーションデータＲＡＤは各キーフレーム毎に物体の重なり順序に従って物体の状態データが設定されるので時刻ｔのアニメーションの状態を、キーフレームのデータＫＤ１における物体の重なり順位に従ってディスプレイ装置２に描画することができる。すなわちＣＰＵ３は各キーフレームについての物体の状態データをアニメーションデータＲＡＤから順に読出すだけで、各キーフレームについて物体をその重なり順位に従って描画処理できる。なお、本実施の形態ではキーフレームのデータＫＤ１に中間物体の状態データが含まれている場合があるが、中間物体の重なり順位も前述と同様にキーフレームのデータＫＤ１に記録されているので、ＣＰＵ３はアニメーションデータＲＡＤから順にデータを読出すだけで、中間物体であってもフレーム中での重なり順位を正しくして描画することが可能になる。
【０１３９】
アニメーションデータＲＡＤでは物体の重なり順位に関するデータが省略されること、および中間物体のデータ“Ｘ”が用いられることにより、データＲＡＤに関する伝送効率が向上するとともに記憶媒体に関する容量削減が図られる。また記憶媒体のデータＲＡＤのアクセスに関する処理の効率化も図られる。
【図面の簡単な説明】
【図１】この発明の実施の形態に適用されるアニメーションデータ記録／伝送処理装置のブロック構成図である。
【図２】図１のメモリのアニメーションデータのデータ構造の一例を示す図である。
【図３】この発明の実施の形態によるアニメーションデータの記録／伝送処理の概略フローチャートである。
【図４】図２の物体の状態情報を中間物体を用いて変換したときのデータ構造例を示す図である。
【図５】図３のアニメーションデータの記録／伝送処理のための詳細フローチャートである。
【図６】図５の処理フローチャートに従って記録／伝送されたアニメーションデータの一例を示す図である。
【図７】（ａ）〜（ｄ）は図１２（ａ）〜（ｄ）のアニメーションにおいて、物体ＡとＢの重なり順位が変更しない場合のアニメーションを示す図である。
【図８】図７（ａ）〜（ｄ）のアニメーションが図５の処理手順に従って記録／伝送された場合のアニメーションデータを示す図である。
【図９】この発明の実施の形態による記録／伝送されたアニメーションデータを用いて時刻ｔにおけるアニメーションの状態を描画するための処理フローチャートである。
【図１０】（ａ）〜（ｄ）は、特開平８−２０２８９５号公報において記録／伝送される物体の重なり順位が変化しないアニメーションのキーフレームを示す図である。
【図１１】図１０（ａ）〜（ｄ）に示されるアニメーションに関するアニメーションデータを示す図である。
【図１２】（ａ）〜（ｄ）は物体の重なり関係が途中で変化するアニメーションを示す図である。
【符号の説明】
１  外部記憶装置
２  ディスプレイ装置
３  ＣＰＵ
４  座標入力装置
５  キーボード
６  演算処理装置
７  メモリ
８  インターフェイス回路
９  ネットワーク
ＲＡＤ  記録／伝送されるアニメーションデータ
ＡＤ  アニメーションデータ
ＰＲ  プログラム
Ｋｉ  データ
ｔｉ  キーフレームの時刻
ＳＡｉおよびＳＢｉ  物体ＡおよびＢの状態情報
ＤＡｉ，ＤＢｉおよびＸ  状態データ
Ｌ，ＬＡｉおよびＬＢｉ  リンク情報
ＲＡｉおよびＲＢｉ  順位情報
Ｋ  キーフレームの区切りを示すコマンド
なお、各図中同一符号は同一または相当部分を示す。
【図１】
0003581545.tif 000003
【図２】
0003581545.tif 000004
【図３】
0003581545.tif 000005
【図４】
0003581545.tif 000006
【図５】
0003581545.tif 000007
【図６】
0003581545.tif 000008
【図７】
0003581545.tif 000009
【図８】
0003581545.tif 000010
【図９】
0003581545.tif 000011
【図１０】
0003581545.tif 000012
【図１１】
0003581545.tif 000013
【図１２】
0003581545.tif 000014