JP3408136B2 - データ処理装置、データ処理方法、および該方法に係るプログラムを格納した記憶媒体 - Google Patents

データ処理装置、データ処理方法、および該方法に係るプログラムを格納した記憶媒体

Info

Publication number
JP3408136B2
JP3408136B2 JP3544398A JP3544398A JP3408136B2 JP 3408136 B2 JP3408136 B2 JP 3408136B2 JP 3544398 A JP3544398 A JP 3544398A JP 3544398 A JP3544398 A JP 3544398A JP 3408136 B2 JP3408136 B2 JP 3408136B2
Authority
JP
Japan
Prior art keywords
point
data
points
feature
data processing
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
JP3544398A
Other languages
English (en)
Other versions
JPH11219447A (ja
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.)
Namco Ltd
Original Assignee
Namco Ltd
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 Namco Ltd filed Critical Namco Ltd
Priority to JP3544398A priority Critical patent/JP3408136B2/ja
Publication of JPH11219447A publication Critical patent/JPH11219447A/ja
Application granted granted Critical
Publication of JP3408136B2 publication Critical patent/JP3408136B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)
  • Complex Calculations (AREA)
  • Image Generation (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一連のディジタル
データ列から幾つかの特徴点となるデータを取り出し、
取り出した複数の特徴点のデータを用いて元のデータ列
の形状を近似する自由曲線を得ることのできるデータ処
理装置、データ処理方法、および該方法に係るプログラ
ムを格納した記憶媒体に関する。
【0002】
【従来の技術】一連のディジタルデータ列をあらかじめ
圧縮して保持しておき、必要になったときに、その圧縮
されたデータから元のディジタルデータ列を復元する技
術は、種々のデータ処理においてしばしば要求される技
術である。例えば、コンピュータグラフィックス(C
G)の映像製作、ゲーム製作、あるいはパソコンソフト
のCG映像製作などにおいて、あるキャラクタの動きを
表現するモーションダンプデータは、比較的大容量にな
るため、記憶するときにはそれを圧縮して記憶装置に格
納しておき、表示するときにその圧縮データから元のモ
ーションダンプデータを復元して表示する手法をとる。
【0003】以下、ゲーム製作における上述したような
モーションダンプデータの処理を例にして説明する。近
年、ゲーム(例えば、格闘ゲームなど)中のキャラクタ
の動きを表現するモーションダンプデータを実際に人が
同じ動きをして取り込む、いわゆるモーション・キャプ
チャ・システムが、知られている。これは例えば、人の
体の幾つかの測定点(関節部分など)に光を反射する物
体を付けておき、実際にその人の動きをビデオカメラで
撮影し、その物体の動きを捉えて、その測定点の3次元
座標上での変化や各軸回りの角度の変化をモーションダ
ンプデータとして取り込むものである。1つの測定点ご
とに位置座標や角度などの複数のパラメータを取り込む
ことになり、さらにそれぞれのパラメータは、例えば1
/60秒単位で1データを取り込むことになるので、数
秒間の動きであっても、モーションダンプデータ全体の
容量は大容量になることが多い。
【0004】取り込んだモーションダンプデータは、C
D−ROMなどにゲームプログラムとともに格納し、ゲ
ームの進行に応じてキャラクタにその動きをさせる場面
になったとき、当該モーションダンプデータを読み出
し、それにしたがってキャラクタを表示しその動きをさ
せる。CD−ROMなどの記憶媒体の記憶容量には限り
があるので、できる限りモーションダンプデータの容量
は圧縮して格納したい。従来は、各フレーム(所定間隔
(例えば1/60秒)ごとに表示する1画面をフレーム
と呼ぶ)ごとのモーションダンプデータを差分圧縮して
記憶しておき、使用時に伸長復元して元のモーションダ
ンプデータを得る手法が採られていた。
【0005】一方、ゲーム製作現場では、モーション・
キャプチャ・システムにより取り込んだモーションダン
プデータ(ここでは、1つのパラメータに着目)から幾
つかの特徴点(キーフレーム)を自動的に抽出し、抽出
したキーフレームデータから最適スプライン化を行なっ
て得た自由曲線を定義する係数を記憶媒体に格納してお
き、使用時にはその自由曲線から元のモーションダンプ
データを近似するデータ列を生成出力するCGソフトウ
エアが使用されている。
【0006】
【発明が解決しようとする課題】上述したデータを差分
圧縮して記憶しておき使用時に伸長復元して元のデータ
を得る手法によれば、元のデータを精度よく復元できる
が、データの圧縮度を上げるのに限度があるという不都
合がある。圧縮方式として他の方式を用いたとしても、
基本的にすべてのフレームが元通りに復元できるように
データを圧縮して保持する方式であり、圧縮度に限度が
あることには変わりがない。
【0007】また、従来技術では、基本的に、モーショ
ンダンプデータを取り込むレートとそのモーションダン
プデータを表示するレートは同じであることが前提であ
った。例えば、1/60秒ごとに各フレームを取り込ん
だ場合は、表示するときも1/60秒ごとにそれらのフ
レームのデータを用いた表示を行なう、ということであ
る。しかし、近年のゲームなどでは多様な表示態様が要
求されることが少なくなく、例えば、ある動きをスロー
モーションで表示する場合などがある。スローモーショ
ンの場合、モーションダンプデータの取り込みのレート
と表示のレートが異なることになり、フレームとフレー
ムとの間を補間する必要が生じる。この場合、従来はフ
レームとフレームとの間を直線補間して表示していた。
そのため、動きがぎこちなくなってしまうという不都合
があった。
【0008】一方、従来のCGソフトでは、全フレーム
のモーションダンプデータを保持するのでなく、あらか
じめ幾つかの特徴点(キーフレーム)から求められた自
由曲線を保持し、使用時にはその自由曲線に基づいて元
のモーションダンプデータを近似するデータ列を出力す
るので、データの圧縮度は高くできる。しかし、現在使
用されているCGソフトでは、復元したデータと元のデ
ータとの乖離が大きく、実用上問題があることが多い。
以下、従来のCGソフトを使用した処理例について説明
する。
【0009】図19は、人が実際にある動作を行なった
ときのある測定点のあるパラメータ(位置座標や角度)
の変化(例えば人の鎖骨の回転の動きなど)を示すモー
ションダンプデータのグラフである。横軸は、時間すな
わちフレームを示し、ここでは100フレーム程度のモ
ーションダンプデータの一部(横軸で75〜100フレ
ーム辺りは省略)を示す。縦軸は、データ値を示す。図
22は、図19のモーションダンプデータを従来のCG
ソフトで処理した例を示す。点線2201は入力したモ
ーションダンプデータを示すグラフである。2211や
2212は、CGソフトが自動的に抽出したキーフレー
ムである。ここでは、100フレーム程度のモーション
ダンプデータに対し20フレーム程度のキーフレームを
抽出するように調整した(ただし、横軸で85〜100
フレーム辺りは省略)。各キーフレームの点には、レバ
ーと呼ばれる補助線2221や2222が表示されてい
る。実線2202は、これらのキーフレームから復元し
たデータ列(最適スプライン化の結果である自由曲線)
を示す。この図から分かるように、元のデータを示す点
線2201と復元したデータ列を示す実線2202とに
大きな乖離が見られ、実用上の問題があることが分か
る。もちろんキーフレームの数を多く設定すれば、高精
度に元のモーションダンプデータを復元できることは明
らかであるが、その場合はデータの圧縮度を上げること
ができなくなる。
【0010】本発明は、上述の従来形における問題点に
鑑み、一連のディジタルデータ列から幾つかの特徴点
(キーフレーム)となるデータを取り出し、取り出した
特徴点のデータを用いて元のデータ列の形状を近似する
データ列を復元する場合に、より少ない特徴点で高精度
に元のデータを近似できるようにすることを目的とす
る。また、スローモーション表示を行なう場合に、動き
がぎこちなくなくなることのないように、元のデータを
近似できるようにすることを目的とする。
【0011】
【課題を解決するための手段】上記目的を達成するた
め、請求項1に係る発明は、一連のディジタルデータ列
から幾つかの特徴点となるデータを取り出し、取り出し
た複数の特徴点のデータを用いて元のデータ列の形状を
近似する最適化自由曲線を求めるデータ処理装置におい
て、前記一連のディジタルデータ列から、始点、終点、
最大点、最小点、極大点、極小点、変曲点、および/ま
たは曲率半径の極小点を、特徴点として自動抽出する特
徴点抽出手段と、前記自動抽出した特徴点から隣り合う
2点間のデータの差分が所定値未満であるような2点の
うちの一方の特徴点を削減する特徴点削減手段と、削減
後に残った特徴点から元のデータ列を近似する自由曲線
を生成する自由曲線生成手段と、生成した自由曲線が所
定の近似度で元のデータ列を近似しているか否かを判定
する判定手段と、前記判定手段により所定の近似度で元
のデータ列を近似していると判定された場合、その自由
曲線を定義するデータを記憶する手段とを備えたことを
特徴とする。
【0012】
【0013】請求項に係る発明は、請求項1におい
て、前記自由曲線生成手段が、各特徴点から生成した自
由曲線と元のデータとの誤差の2乗にその位置の重み係
数を掛け、その総和が最小になるように自由曲線を決定
する重み付き最小2乗法を用いることを特徴とする。
【0014】請求項に係る発明は、請求項1におい
て、前記特徴点削減手段が、操作者が入力したパラメー
タ値に応じた数に、特徴点の数を削減することを特徴と
する。請求項4に係る発明は、請求項1において、前記
特徴点抽出手段が、変曲点を自動抽出する際、始点、極
大点、極小点、および終点のうちの何れかの2点間に挟
まれている変曲点のうち、その変曲点を挟む2点の中央
に近い位置にある変曲点を特徴点として抽出するもので
あることを特徴とする。請求項5に係る発明は、請求項
1において、前記特徴点削減手段が、隣り合う2点間の
データの差分が所定値未満であるような2点のうちの一
方の特徴点を削減する代わりに、ある特徴点の前後の特
徴点とのデータ値の差が何れも所定値を超えない場合に
その特徴点を削減するものであることを特徴とする。請
求項6に係る発明は、請求項1において、前記特徴点抽
出手段が、始点、終点、極大点、および極小点に隣り合
う所定数の点について、 によりρ’を求め、このρ’が所定値以下になる点につ
いても特徴点として抽出するものであることを特徴とす
る。請求項7に係る発明は、請求項1において、前記自
由曲線生成手段が、ユーザによる高さを固定するか傾き
を固定するかの指定を受け、高さを固定する場合は高さ
を固定し傾きを変数として近似式を生成し、傾きを固定
する場合は傾きを固定し高さを変数として近似式を生成
して、自由曲線を生成するものであることを特徴とす
る。
【0015】請求項に係る発明は、請求項1におい
て、前記自由曲線生成手段が、隣り合う特徴点と特徴点
との間に、生成する自由曲線の次数での解を求めるのに
必要な数だけのデータがないときには、その間に仮想的
なデータをおいて自由曲線を生成することを特徴とす
る。請求項9に係る発明は、請求項1から8において、
前記自由曲線がエルミート曲線であることを特徴とす
る。
【0016】請求項10に係る発明は、一連のディジタ
ルデータ列から幾つかの特徴点となるデータを取り出
し、取り出した複数の特徴点のデータを用いて元のデー
タ列の形状を近似する最適化自由曲線を求めるデータ処
理方法において、前記一連のディジタルデータ列から、
始点、終点、最大点、最小点、極大点、極小点、変曲
点、および/または曲率半径の極小点を、特徴点として
自動抽出する特徴点抽出ステップと、前記自動抽出した
特徴点から隣り合う2点間のデータの差分が所定値未満
であるような2点のうちの一方の特徴点を削減する特徴
点削減ステップと、削減後に残った特徴点から元のデー
タ列を近似する自由曲線を生成する自由曲線生成ステッ
プと、生成した自由曲線が所定の近似度で元のデータ列
を近似しているか否かを判定する判定ステップと、前記
判定ステップにより所定の近似度で元のデータ列を近似
していると判定された場合、その自由曲線を定義するデ
ータを記憶するステップとを備えたことを特徴とする。
【0017】
【0018】請求項11に係る発明は、請求項10にお
いて、前記自由曲線生成ステップが、各特徴点から生成
した自由曲線と元のデータとの誤差の2乗にその位置の
重み係数を掛け、その総和が最小になるように自由曲線
を決定する重み付き最小2乗法を用いることを特徴とす
る。
【0019】請求項12に係る発明は、請求項10にお
いて、前記特徴点削減ステップが、操作者が入力したパ
ラメータ値に応じた数に、特徴点の数を削減することを
特徴とする。請求項13に係る発明は、請求項10にお
いて、前記特徴点抽出ステップが、変曲点を自動抽出す
る際、始点、極大点、極小点、および終点のうちの何れ
かの2点間に挟まれている変曲点のうち、その変曲点を
挟む2点の中央に近い位置にある変曲点を特徴点として
抽出するものであることを特徴とする。請求項14に係
る発明は、請求項10において、前記特徴点削減ステッ
プが、隣り合う2点間のデータの差分が所定値未満であ
るような2点のうちの一方の特徴点を削減する代わり
に、ある特徴点の前後の特徴点とのデータ値の差が何れ
も所定値を超えない場合にその特徴点を削減するもので
あることを特徴とする。請求項15に係る発明は、請求
項10において、前記特徴点抽出ステップが、始点、終
点、極大点、および極小点に隣り合う所定数の点につい
て、 によりρ’を求め、このρ’が所定値以下になる点につ
いても特徴点として抽出するものであることを特徴とす
る。請求項16に係る発明は、請求項10において、前
記自由曲線生成ステップが、ユーザによる高さを固定す
るか傾きを固定するかの指定を受け、高さを固定する場
合は高さを固定し傾きを変数として近似式を生成し、傾
きを固定する場合は傾きを固定し高さを変数として近似
式を生成して、自由曲線を生成するものであることを特
徴とする。
【0020】請求項17に係る発明は、請求項10にお
いて、前記自由曲線生成ステップが、隣り合う特徴点と
特徴点との間に、生成する自由曲線の次数での解を求め
のに必要な数だけのデータがないときには、その間に
仮想的なデータをおいて自由曲線を生成することを特徴
とする。請求項18に係る発明は、請求項10から17
において、前記自由曲線がエルミート曲線であることを
特徴とする。
【0021】請求項19に係る発明は、請求項10から
18の何れか1つに記載のデータ処理方法に係るプログ
ラムを格納したことを特徴とする記憶媒体である。
【0022】
【発明の実施の形態】以下、図面を用いて本発明の実施
の形態を説明する。
【0023】図1は、本発明の第1の実施の形態に係る
データ処理装置のブロック構成を示す。本装置は、CP
U(中央処理装置)101、ランダムアクセスメモリ
(RAM)102、リードオンリメモリ(ROM)10
3、表示装置104、入力装置105、ハードディスク
106、モーション・キャプチャ・システム107、お
よびバスライン108を備えている。本装置は、例え
ば、汎用のワークステーションやパーソナルコンピュー
タにモーション・キャプチャ・システム107を接続し
たもので良い。
【0024】CPU101は、この装置全体の動作を制
御する処理装置である。RAM102は、CPU101
が実行するプログラムをロードする領域や処理対象デー
タのワーク領域などに使用するメモリである。ROM1
03は、BIOS(Basic Input/Output System)など
の基本的なソフトウエアや各種パラメータなどが格納さ
れている不揮発メモリである。表示装置104は、CP
U101の指示に応じて各種の情報を表示するディスプ
レイである。入力装置105は、ユーザが操作して本装
置に指示を与えるためのキーボードやマウスなどであ
る。ハードディスク106は、プログラムやデータを格
納する補助記憶装置である。モーション・キャプチャ・
システム107は、人の動きを撮影してモーションダン
プデータを取り込むシステムである。
【0025】ユーザは、入力装置105を操作すること
により、モーション・キャプチャ・システム107を動
作させ、モーションダンプデータを取り込むことができ
る。取り込んだモーションダンプデータは、いったんハ
ードディスク106に格納される。また、ユーザは、入
力装置105を操作することにより、このモーションダ
ンプデータに対して、最適キーフレームを求め、その最
適キーフレームのデータから元のモーションダンプデー
タを高精度に近似する自由曲線を求めて、結果としてデ
ータ圧縮する処理(図2などを参照して後に詳述する)
を行なうことができる。最適キーフレームとはモーショ
ンダンプデータから選び出した複数の特徴点のデータ、
すなわちキーとなるフレームを意味する。表示の際に
は、これらの最適キーフレームから求めた自由曲線に基
づいて、元のモーションダンプデータを所定の精度で近
似するデータ列を生成出力(復元)できる。求めた自由
曲線を定義する係数データは、ハードディスク106に
格納される。
【0026】この自由曲線を定義する係数データを読み
出して、例えばゲームプログラムとともにCD−ROM
などに格納する。そのCD−ROMをゲーム機に装着し
てゲームを実行しているとき、必要に応じてその自由曲
線に基づいてデータ列を生成出力する。この自由曲線
は、元のモーションダンプデータを所定の精度で近似し
たものであるので、このデータ列を用いてゲーム中のキ
ャラクタに所定の動作をさせることができる。
【0027】なお、最適キーフレームを求めて自由曲線
の形でデータ圧縮する本発明に係るデータ処理方法を実
現する処理プログラムは、CD−ROMなどの各種の記
憶媒体で提供され、あらかじめハードディスク106に
インストールされている。CPU101は、このプログ
ラムをRAM103上に読み出して実行することにより
その処理を実行する。
【0028】次に、図1の装置で実行するデータ処理プ
ログラムの手順を説明する。図2は、図1の装置で実行
する最適キーフレームの決定と自由曲線によるデータ圧
縮の処理の流れの概要を示すフローチャートである。前
提として、ハードディスク106に処理対象のモーショ
ンダンプデータが格納されているものとする。
【0029】まずステップ201で、そのモーションダ
ンプデータを読み出し、キーフレーム候補点(特徴点)
を抽出する。具体的には、処理対象のモーションダンプ
データのうち、始点のフレームと終点のフレーム、
最大点のフレームと最小点のフレーム、極大点のフレ
ームと極小点のフレーム、および変曲点のフレームを
抽出して、最初のキーフレームとする。
【0030】ステップ201についてさらに詳細に説明
する。図3は、図2の処理の処理対象であるモーション
ダンプデータの例を示す。モーションダンプデータは、
モーション・キャプチャ・システム107により、例え
ば人の体の幾つかの測定点の動きを取り込んだデータで
あるから、その測定点ごとのデータ(例えば、肩の動き
を示すデータ、ひじの動きを示すデータ、手首の動きを
示すデータ、…など)からなる。1つの測定点について
のデータは、その測定点の動きを表す幾つかのパラメー
タ(例えば、3次元座標や座標軸回りの角度など)ごと
のデータからなる。1つのパラメータについてのデータ
は、そのパラメータの所定時間ごとのフレームデータか
らなる。図3に示したモーションダンプデータの例は、
ある測定点のあるパラメータについてのデータ(例え
ば、人の鎖骨の回転角度)を示すものである。横軸はフ
レーム番号(すなわち、時間)iを示し、縦軸はそのパ
ラメータのデータ値yを示す。ここではデータの数をn
+1とし(したがって、iは0〜n)、フレーム番号i
のデータ値をyiで表す。以下では、このようなある測
定点のあるパラメータのデータに対する処理を説明する
が、他のパラメータのデータについての処理、および他
の測定点のパラメータのデータに対する処理も、同様に
行なわれる。
【0031】図2に戻って、ステップ201では、図3
のようなモーションダンプデータに対し、以下の数1の
(a)〜(g)に示す点を最初のキーフレームとして抽
出する。なお、数1の(h)の曲率半径の極小点につい
ては、後述する第1の変形例で説明する。
【0032】
【数1】
【0033】次に、ステップ202で、抽出した上記数
1の(a)〜(e)で与えられる始点、終点、極大点、
極小点、および変曲点をフレーム番号順に並べて整理す
る(最大値をとる最大点および最小値をとる最小点は、
極大点および極小点に含まれる)。整理した結果を、下
記の表1に示す。表1では、整列後フレーム番号mと当
初のフレーム番号iとデータ値yとを、縦に並べて対応
させて示してある。整列後フレーム番号mは、抽出され
たキーフレームに対して0から新たに付けたフレーム番
号である。当初のフレーム番号iは、元のモーションダ
ンプデータにおけるフレーム番号であり、整列後フレー
ム番号mに応じて決まるのでiの添字にmを付す。最初
に抽出されたキーフレームの数はnに添字m(0)を付
した記号で表すが、最初の抽出分であることを示すため
添字mには(0)を付けてある。
【0034】
【表1】
【0035】次に、ステップ203で、所定の削減条件
を満たすキーフレームを削減し残りのキーフレームを残
す。具体的には、表1のように整理したキーフレームに
対して、所定のキーフレームの点を削減対象から除き、
それ以外のキーフレームの点について下記の数2の削減
条件を満たす極大点、極小点、および変曲点をキーフレ
ームから削減する。削減対象から除くキーフレームの点
は、始点と終点のみを削減対象から除く場合、並び
に、始点、終点、最大点、および最小点を削減対象か
ら除く場合の2つの場合をユーザが選択できるようにな
っている。
【0036】
【数2】
【0037】数2の不等号の左辺は、図4に示すような
整列後フレーム番号m+1のキーフレームのデータ値と
整列後フレーム番号mのキーフレームのデータ値との差
Δymである。数2の削減条件は、このΔymが、キーフ
レームデータの最大値ymaxと最小値yminとの差にパラ
メータαを乗算した値より小さいとき、フレーム番号m
+1のキーフレームを削減する、ということである。本
装置のユーザは、入力装置105を操作することによ
り、数2のパラメータαを所望の値に設定することがで
きる。
【0038】αを大きくとれば、数2の削減条件により
削減されるキーフレームの数は多くなり後に残るキーフ
レームの数が少なくなるので、データ圧縮の効果は高く
なるが、少ないキーフレームから生成した自由曲線(後
述するステップ205で生成する)は一般的には近似の
精度(元のモーションダンプデータを近似する度合い)
が低くなる。一方、αを小さくとれば、数2の削減条件
により削減されるキーフレームの数は少なくなり後に残
るキーフレームの数が多くなるので(α=0とすれば、
削減されるキーフレームの数は0になり、表1のすべて
のキーフレームが残る)、データ圧縮の効果は低くなる
が、多くのキーフレームから生成した自由曲線は一般的
には近似の精度が高くなる。
【0039】したがって、例えばユーザは、始めはαを
比較的大きくとって処理を行ない、結果的に生成される
自由曲線の近似の精度が低かったときは、近似の精度が
所望の通りに高くなるようにαを小さくしていくという
ような操作および処理の形態をとることができる。逆
に、始めはαを小さくとって処理を行ない、そのときの
キーフレームの数が多すぎるときは、キーフレームの数
を減らすようにαを大きくしていくというような操作お
よび処理の形態をとることもできる。
【0040】次に、ステップ204では、ステップ20
2と同様にしてキーフレームをフレーム番号順に整理
(並び替え)する。整理した結果を下記の表2に示す。
表2では、表1と同様に、整列後フレーム番号mと当初
のフレーム番号iとデータ値yとを、縦に並べて対応さ
せて示してある。整列後フレーム番号mは、ステップ2
03による削減の後に残ったキーフレームに対して0か
ら新たに付けたフレーム番号である。第1回目の削減を
行なった後のキーフレームの数はnに添字m(1)を付
した記号nm(1)で表すが、第1回目の削減を行なった後
であることを示すため添字mには(1)を付けてある。
ただし、下記の説明では、表記を簡単にするため、キー
フレームの数nm(1)の(1)を省略してnmと表記するもの
とする。
【0041】
【表2】
【0042】次に、ステップ205で、その時点で残っ
ているキーフレームデータ(表2)に基づいて、元のモ
ーションダンプデータ(図3)を近似する自由曲線を生
成する。以下、自由曲線の生成方法について詳しく説明
する。
【0043】一般的に、キーフレーム(特徴点)の間隔
が等しい場合は、下記の数3の3次エルミート補間式で
近似する。図5に、数3の3次エルミート曲線の一部分
を示す。
【0044】
【数3】
【0045】しかし、本実施の形態で抽出したキーフレ
ームは、上記表2中の当初のフレーム番号iに示すよう
に一般的には等間隔ではない。そこで、上記数3の3次
エルミート曲線の式を下記の数4に示すように変換して
用いる。
【0046】
【数4】
【0047】上記数4の式を、数3に示したような一般
式の形式に表現し直すと、下記の数5のようになる。
【0048】
【数5】
【0049】図6に、この3次エルミート曲線y(x)
の例を示す。この数5の式で、元のモーションダンプデ
ータ(図3)を近似し、最小2乗法を用いて、誤差の2
乗の総和が最小になるようにする。その条件式は、次の
数6で与えられる。
【0050】
【数6】
【0051】数5の式を、数6の条件式に代入すると、
以下の数7の条件式が得られる。
【0052】
【数7】
【0053】数7は変分問題であり、その停留原理は次
の数8で与えられる。すなわち、数8を解くことによ
り、数7の条件式を満たすQmとdmを求めることができ
る。
【0054】
【数8】
【0055】数8から下記の数9を導ける。
【0056】
【数9】
【0057】この数9は、Qmとdm(m=0,1,…,
m−1)についての2nm元連立一次方程式であるか
ら、これを解くことによりQmとdmを求めることができ
る。Qmとdm(m=0,1,…,nm−1)が決定され
れば、そのQmとdmを上述の数5に代入することによ
り、最小2乗法による3次エルミート曲線補間の最適化
が行なわれ、これにより表2に示されているキーフレー
ムデータに基づいて元のモーションダンプデータ(図
3)を近似する自由曲線(3次エルミート曲線)が求め
られたことになる。以上で、ステップ205の説明を終
える。
【0058】ステップ205で自由曲線を求めた後、ス
テップ206で最適化の判定を行なう。具体的には、次
の数10に示す2乗平均誤差εRMS、および数11に示
す最大乖離度εmaxを算出し、εRMS≦εRMS0かつεmax
≦εmax0であるか否かを判別する。εRMS0とεmax0は、
それぞれ、あらかじめ定められている所定値である。
【0059】
【数10】
【0060】
【数11】
【0061】ステップ206でεRMS≦εRMS0かつεmax
≦εmax0が成立していないときは、再びステップ203
に戻って、別の削減条件でキーフレームを外す処理(表
1のキーフレームから削減する処理)からやり直す。ス
テップ203〜206の処理は上述したのと同じであ
る。ただし、第1回目の削減を行なった後のキーフレー
ムの数nm(1)の代わりに、第2回目の削減を行なった後
のキーフレームの数nm( 2)を用いる(上述の説明では、
キーフレームの数nm(1)を簡単にnmと表記して説明し
たので、このnmを第2回目の削減後のキーフレームの
数と読み替えればよい)。
【0062】ステップ206でεRMS≦εRMS0かつεmax
≦εmax0が成立していたときは、誤差および乖離度が所
定値以下に収まった(すなわち、所定の近似度で元のモ
ーションダンプデータを近似する自由曲線が得られたと
いうこと)ということであるから、最適化がなされたと
して処理を終了する。その時点で残っているキーフレー
ムデータ(表2)は、最終的な最適キーフレームのデー
タとしてハードディスク106に格納する。また、求め
られた自由曲線を定義する係数データ(数5のQm
m,nm,im)もハードディスク106に格納する。
自由曲線の式そのものを格納するようにしてもよい。
【0063】下記の表3に、最終的に残ったキーフレー
ム(最適キーフレーム)の一覧を示す。表3では最適キ
ーフレームの数をnmとする。なお、ステップ206で
εRMS≦εRMS0かつεmax≦εmax0が成立していた場合で
も、ユーザは、その時点におけるキーフレームの数が満
足のいく範囲に入っていなかったとき、あるいは表示画
面上で元のモーションダンプデータとキーフレームから
生成した自由曲線とが乖離していると思われるときなど
には、意識的にステップ203に戻って処理をやり直す
ことができる。
【0064】
【表3】
【0065】以上のようにして、図3のモーションダン
プデータから表3の最適キーフレームを求めることがで
き自由曲線が定義できた。この自由曲線に基づいて、い
つでも元のモーションダンプデータ(図3)を近似する
データ列を生成することができる。図3のデータは、例
えば人がある動きをしたときの所定測定点の所定パラメ
ータの変化を示すものであり、その測定点の他のパラメ
ータについても、また他の測定点のパラメータについて
も、同様にして最適キーフレームと自由曲線を求める。
求めた自由曲線を定義するデータは、例えば、ゲームプ
ログラムとともにCD−ROMなどに格納し、ゲーム中
に必要に応じてその自由曲線に基づいて各フレームの表
示データを生成して表示することにより、ゲーム中のキ
ャラクタに所定の動作をさせることができる。なお、1
つの動きを表現する複数のパラメータについて、同じフ
レーム位置をキーフレームとする必要はない。各パラメ
ータごとに、上述の処理で求めた最適キーフレームから
自由曲線を求めることができれば、その自由曲線から任
意のフレーム位置における当該パラメータのデータ値が
求められるからである。
【0066】以上で本発明の第1の実施の形態の説明を
終える。上記第1の実施の形態によれば、モーションダ
ンプデータのような一連のディジタルデータ列から、そ
のデータ列の形状を特徴付けるのに有意と思われる幾何
学的な特徴点(始点、終点、最大点、最小点、極大点、
極小点、および変曲点)を自動抽出してキーフレームの
候補点としているので、人手でキーフレーム設定を行な
うのとほぼ同じ感覚でキーフレームが設定でき、結果と
して、少ない特徴点で高精度に元のデータを近似できる
自由曲線を得ることができるような最適キーフレームを
抽出できる。
【0067】次に、本発明の第2の実施の形態について
説明する。第2の実施の形態に係るデータ処理装置の構
成およびデータ処理プログラムの処理手順は、上記第1
の実施の形態の図1および図2と同じであるので説明を
省略する。ただし、第2の実施の形態では、図2の処理
手順中、各フレームに重みの概念を加味して処理してい
る点が異なる。すなわち、上記第1の実施の形態では、
図2のステップ205で最小2乗法を用いて3次エルミ
ート曲線と元のモーションダンプデータとの各フレーム
ごとの誤差の2乗の総和が最小になるように3次エルミ
ート曲線を求めており、この場合、最小2乗法ではすべ
てのフレームを同じ重みで評価している。しかし、始
点、終点、最大点、および最小点などの非常に有意と考
えられるキーフレームに対しては、他のフレームよりも
その重みを増して処理し、y(x)で与えられる近似式
をなるべくそれらのキーフレームのデータ値の近傍を通
過するようにすることが望ましい。さらに、キーフレー
ム間でも重みが大きいものとそれ程でもないものがあ
る。そこで、第2の実施の形態では、最小2乗法で誤差
の2乗の総和が最小になるようにする条件式に重み係数
iを導入する。具体的には、上記第1の実施の形態の
ステップ205で自由曲線を生成する際、最小2乗法の
条件式である数6の代わりに、下記の数12を用いる。
【0068】
【数12】
【0069】重み係数wiは、各フレームの有意性(元
のモーションダンプデータの形状を近似する上で、どれ
程の意味を持つかの度合い)に基づいて決定する。例え
ば、以下の〜のようにすればよい。 第1次の有意性を持つフレーム、例えば、始点、終
点、最大点、および最小点:wi=10(さらに、始点
および終点は最大点および最小点よりも重要度が高いと
言えるので、始点および終点の重み係数を最大点および
最小点の重み係数より大きい値にしてもよい。) 第2次の有意性を持つフレーム、例えば、極大点(最
大点を除く)、および極小点(最小点を除く):wi
5 第3次の有意性を持つフレーム、例えば、変曲点:w
i=2 その他のキーフレーム:wi=1
【0070】数6の代わりに、重み係数を含む数12を
用いるため、ステップ205で自由曲線を求める際に用
いた数7〜数9は書き直す必要がある。すなわち、数7
〜数9の代わりに、下記の数13〜数15をそれぞれ使
用すればよい。
【0071】
【数13】
【0072】
【数14】
【0073】
【数15】
【0074】また、ステップ206の最適化の判定で
は、数10の2乗平均誤差εRMSおよび数11の最大乖
離度εmaxの代わりに、下記の数16の2乗平均誤差ε
RMSおよび数17の最大乖離度εmaxを用いる。
【0075】
【数16】
【0076】
【数17】
【0077】以上のように、第2の実施の形態では、各
フレームに重みを持たせて処理するようにしているの
で、第1の実施の形態の効果に加え、近似式がより有意
なキーフレームデータの近傍を通るようにでき、結果と
して、より少ない特徴点でより高精度に元のデータを近
似できるような最適キーフレームを抽出できる。特に、
重み付き最小2乗法で最適な自由曲線を生成しているの
で、連続的で滑らかな自由曲線を得ることができ、この
実施の形態で説明しているようにキャラクタの動きを表
現するモーションダンプデータに適用したときには、ス
ムーズなキャラクタの動きを実現できる。さらに、キャ
ラクタの動きをスローモーション再生する場合もスムー
ズな動きを実現できる。
【0078】次に、上記第1および第2の実施の形態に
関する第1の変形例を説明する。上述の第1および第2
の実施の形態では、図2のステップ201で抽出するキ
ーフレーム候補点は数1に示す始点、終点、最大点、最
小点、極大点、極小点、および変曲点であるため、図7
の701に示すような曲率が大きい点(曲率半径が小さ
い点)は抽出されない。しかし、このような曲率が大き
い点は、元のモーションダンプデータを近似する際に有
意な点である。そこで、第1の変形例では、第1および
第2の実施の形態に対し、キーフレーム候補点として図
7に示すような曲率が大きい点を含める。
【0079】図8は、モーションダンプデータにおける
曲率半径ρを示す図である。一般的に、関数f=f
(x)の曲率半径ρは次の数18で与えられる。
【0080】
【数18】
【0081】数18を図8の記号を使って差分表示する
と、下記の数19になる。
【0082】
【数19】
【0083】図9は、曲率半径ρに基づいて抽出する点
(フレーム)の例である。曲率半径により抽出するキー
フレーム候補点として、数20に示す2種類の点ρmin
とρh ollowとを用いる。すなわち、図2のステップ20
1で抽出するキーフレーム候補点として、上記数1の
(a)〜(g)のほか(h)に示す数20により抽出さ
れる点も含めるようにする。キーフレーム候補点の抽出
の後は、上記第1および第2の実施の形態の処理手順を
そのまま実行すればよい。
【0084】
【数20】
【0085】この第1の変形例によれば、キーフレーム
候補点として、曲率が大きい点(曲率半径が小さい点)
を含めるようにしているので、結果として、より少ない
特徴点でより高精度に元のデータを近似できるような最
適キーフレームを求めることができる。
【0086】次に、上記第1および第2の実施の形態に
関する第2の変形例を説明する。上記第1および第2の
実施の形態では、図2のステップ201で変曲点を抽出
し、そのすべてをキーフレーム候補点に含めている。し
かし、始点、極大点、極小点、および終点のうちの何れ
かの2点間に挟まれている変曲点のうちでは、始点、極
大点、極小点、および終点に近い位置にある変曲点より
遠い位置にある変曲点の方が有意性が高いといえる。始
点、極大点、極小点、および終点は有意性が高いので、
近似式がこれらの点の近傍を通るように設定され、必然
的にこれらの点の近くにある変曲点の近傍を通るように
設定され、一方、始点、極大点、極小点、および終点か
ら遠い位置にある変曲点はその位置の近傍を通るように
近似式を設定するのが好ましいからである。
【0087】そこで、第2の変形例では、始点、極大
点、極小点、および終点のうちの何れかの2点間に挟ま
れている変曲点のうち、その変曲点を挟む2点の中央に
近い位置にある変曲点をキーフレーム候補点とする。例
えば、図10に示すように、極大点1001と極小点1
002との間に変曲点1011,1012,1013が
あった場合は、極大点1001と極小点1002との中
央に近い変曲点1012をキーフレーム候補点として残
すようにする。始点、極大点、極小点、および終点のう
ちの何れかの2点間に挟まれている変曲点のうち中央に
近い位置の変曲点を残して他は削減する処理は、図2の
ステップ201で行なえばよい。他の処理は、上記第1
およびおよび第2の実施の形態での処理をそのまま行な
えばよい。
【0088】また、ステップ201ではすべての変曲点
を抽出しておき、ステップ203でキーフレームを削減
する際に、始点、極大点、極小点、および終点のうちの
何れかの2点間に挟まれている変曲点のうち中央に近い
位置の変曲点を残す処理を行なうようにしてもよい。こ
の場合は、ステップ201で抽出した変曲点に優先度
(その変曲点を挟む始点、極大点、極小点、および終点
のうちの2点の中央に近いほど高い値をとるような優先
度)を付け、ステップ203ではその優先度が低い変曲
点から順に削減すればよい。さらに、上記第2の実施の
形態に本変形例を適用する場合は、始点、極大点、極小
点、および終点のうちの2点の中央に近い変曲点ほど大
きい重み係数となるようにして処理してもよい。
【0089】この第2の変形例によれば、より有意な変
曲点を優先的に最適キーフレームに残すことができるの
で、結果として、より少ない特徴点でより高精度に元の
データを近似できるような最適キーフレームを求めるこ
とができる。
【0090】次に、上記第1および第2の実施の形態に
関する第3の変形例を説明する。上述の第1および第2
の実施の形態(並びに第1および第2の変形例)では、
図2のステップ203で削減条件として上記数2を用い
ている。そのため、データ値が急激に変化する点が最適
キーフレームとして抽出されない場合がある。図11
に、その例を示す。図11のモーションダンプデータで
は、キーフレーム1101(フレーム番号i-1)のデー
タ値yi-1とキーフレーム1102(フレーム番号i)
のデータ値yiとの差が小さく、キーフレーム1102
(フレーム番号i)のデータ値yiとキーフレーム11
03(フレーム番号i+1)のデータ値yi+1との差が大き
い。この場合、上記数2の条件式|yi−yi-1|<α
(ymax−ymin)が成り立つとすると、キーフレーム1
102は削減される。しかし、キーフレーム1102
は、その位置から次のキーフレーム1103への急激な
変化の開始点付近であり、このモーションダンプデータ
の形状を近似するために有意な点である。この点が削減
されるとキーフレームの位置が左側のキーフレーム11
01までずれることになり、不都合である。
【0091】そこで、第3の変形例では、図2のステッ
プ203におけるキーフレームの削減処理を、図12の
処理に置き換える。まずステップ1201で、上述の表
1のように整理したキーフレーム候補点(特徴点)につ
いて、フラグ値flag[m](mは表1の整列後フレーム番
号であり、m=0,1,…,nm(0)−1)をすべて0に
初期化する。次に、ステップ1202で、重要なキーフ
レームのフラグ値flag[m]を2とする。ここでは、始点
および終点のフラグ値を2とする(なお、始点および終
点に加えて最大点および最小点のフラグ値を2にするよ
うにしてもよいし、始点/終点のフラグ値を2にする
か、始点/終点/最大点/最小点のフラグ値を2にする
かを、ユーザが選択できるようにしてもよい)。ステッ
プ1203では、m=0,1,…,nm(0)−2のそれぞ
れについて、|yim−yim+1|≧α(yma x−ymin)が
成り立つか否かを判定し、成り立つ場合はflag[m]およ
びfalg[m+1]をインクリメントする。ステップ1204
では、フラグ値のパターンに応じてキーフレームを削減
する。
【0092】ステップ1204の処理について詳しく説
明する。図13(a)〜図13(h)は、それぞれフラ
グ値のパターンを示す。黒丸の点はキーフレームの点を
示す。この黒丸の上下の位置関係はそのキーフレームデ
ータ値の大小関係を示す(上側にある点のデータ値は大
きく、下側にある点のデータ値は小さい)。黒丸と黒丸
をつなぐ線分に付してある「大」は、これらの点がステ
ップ1203の条件|yim−yim+1|≧α(ymax−y
min)を満たす隣り合うキーフレームであることを示
す。「小」は、上記条件を満たさない隣り合うキーフレ
ームであることを示す。黒丸の近傍に記載した「1」や
「2」の数字は、そのキーフレームのフラグ値flag[m]
を示す。ステップ1204では、図13(a)〜図13
(h)のパターン中の各キーフレームのうちフラグ値fl
ag[m]が0になるキーフレームを削減する。すなわち、
図13(d)のパターンのときのキーフレーム130
1、図13(g)のパターンのときのキーフレーム13
02、および、図13(h)のパターンのときのキーフ
レーム1303,1304を削減する。
【0093】これにより、単に数2の削減条件で判定す
ると削減されてしまう図11のキーフレーム1102な
どが削減されなくなる。上記のように処理することによ
り、あるキーフレームの前後のキーフレームとのデータ
値の差が共に「小」のときのみ、そのキーフレームが削
減されることになるからである。
【0094】なお、上記ステップ1204ではフラグ値
flag[m]が0になるキーフレームを削減しているが、削
減の方法としては、隣合うフラグ値flag[m]=flag[m+1]=
1となる場合に、 ・im+1>im+1のときは、(im+1+im)/2に近いキ
ーフレーム候補をキーフレームとし、im+1とimはキー
フレームから外す ・im+1=im+1のときは、im+1またはimのどちらかを
キーフレームとする(2個を1個にする) というようにしてもよい。
【0095】次に、上記第1および第2の実施の形態に
関する第4の変形例を説明する。上述の第1および第2
の実施の形態では、図2のステップ201で抽出するキ
ーフレーム候補点は数1に示す始点、終点、最大点、最
小点、極大点、極小点、および変曲点であるため、図1
4の1401や1402に示すような、データ値がほと
んど垂直に変化する場合の変化開始位置や終了位置に相
当する点が抽出されない。このような点は、元のモーシ
ョンダンプデータを近似する際に有意な点である。上記
の第1の変形例により曲率が大きい点を抽出すれば、図
14の1403や1404など、垂直に変化する開始位
置あるいは終了位置の近傍が抽出されるが、ほとんど垂
直に変化する形状を近似する観点から見れば、1403
や1404より1401や1402の方が有意といえ
る。
【0096】そこで、第4の変形例では、始点、終点、
極大点、および極小点に隣り合う2点(キーフレームと
は限らず、モーションダンプデータで隣り合うフレー
ム)について、下記の数21によりρ’を求め、この
ρ’が最小になる点をも抽出する。
【0097】
【数21】
【0098】数21では、曲率半径ρにその点の傾きθ
の余弦の2乗cos2θを掛けて絶対値をとっているので、
曲率半径ρが大きくてもcos2θが小さければρ’は小さ
くなる。したがって、垂直に変化する開始位置や終了位
置(例えば、図14の1401や1402)が抽出され
ることになる。具体的には、図2のステップ201でキ
ーフレーム候補点を抽出する際に、この処理を行なえば
よい。なお、ここでは始点、終点、極大点、および極小
点に隣り合う2点のみを処理対象としているが、始点、
終点、極大点、および極小点に隣り合う3点以上を処理
対象にしてもよい。また、それらの中でρ’が最小にな
る点のみを抽出しているが、ρ’が所定値以下になる複
数点を抽出するようにしてもよい。
【0099】次に、上記第1および第2の実施の形態に
関する第5の変形例を説明する。上記第1および第2の
実施の形態では、図2のステップ205で元のモーショ
ンダンプデータを近似する自由曲線を求めている。具体
的には、最小2乗法により数7や数13の条件を満たす
ようにQmとdmを決定して、最適な3次エルミート曲線
を得ている。この場合、Qmとdmは変数として処理して
いる。図6や数3に示したように、Qmは元のモーショ
ンダンプデータを近似する3次エルミート曲線yの関数
値(高さ)を示し(すなわち、Qm=y(m))、dm
3次エルミート曲線yの傾きを示す(すなわち、dm
dy(m)/dx)。
【0100】ところで、近似する対象であるモーション
ダンプデータによっては、あるキーフレームから次のキ
ーフレームまでの間の近似式で、両端のキーフレーム位
置における高さを近似式とモーションダンプデータとで
一致させたい場合がある。また、あるキーフレームから
次のキーフレームまでの間の近似式で、両端のキーフレ
ーム位置における傾きを近似式とモーションダンプデー
タとで一致させたい場合がある。
【0101】そこで、第5の変形例では、ユーザが指定
した隣り合うキーフレームに関して、高さを固定し、傾
きを変数として、近似式を生成する機能を有するように
した。具体的には、図2のステップ205で近似式を求
める場合、ユーザがフレーム番号mとm+1のキーフレ
ームを指定していたとき、高さQmとQm+1とをQm=yi
m,Qm+1=yim+1となるように固定し、傾きdmとdm+1
を変数として近似式を生成するということである。同様
に、第5の変形例では、ユーザが指定した隣り合うキー
フレームに関して、傾きを固定し、高さを変数として、
近似式を生成する機能を有するようにした。具体的に
は、図2のステップ205で近似式を求める場合、ユー
ザがフレーム番号mとm+1のキーフレームを指定して
いたとき、傾きdmとdm+1とをdm=(元のモーション
ダンプデータのフレーム番号imにおける傾き),dm+1
=(元のモーションダンプデータのフレーム番号im+1
における傾き)となるように固定し、高さQmとQm+1
変数として近似式を生成するということである。
【0102】この第5の変形例によれば、ユーザが高さ
あるいは傾きを一致させたいキーフレームについて、確
実に元のモーションダンプデータと高さあるいは傾きが
一致する近似式を生成することができる。
【0103】次に、上記第1および第2の実施の形態に
関する第6の変形例を説明する。上記第1および第2の
実施の形態では、図2のステップ205で最小2乗法に
より数7や数13の条件式を満たすようにQmとdmを求
めて、元のモーションダンプデータを近似する3次エル
ミート曲線を求めている。ところで、元のモーションダ
ンプデータが細かく変動している場合には、元のモーシ
ョンダンプデータの隣り合う2つのフレームがキーフレ
ームになる場合や、1フレームを間に挟んだ2フレーム
がキーフレームになる場合がある。
【0104】図15は、そのような例である。フレーム
番号iとi+1のフレームがキーフレーム1501,1
502になっており、これらの間にはフレームが存在し
ない。また、フレーム番号jとj+2のフレームがキー
フレーム1503,1504になっており、これらの間
には1つのフレーム1505しか存在しない。上述した
数7や数13の条件式では最適スプライン曲線として3
次エルミート曲線を用いているが、3次エルミート曲線
ではキーフレームとキーフレームとの間に最低2つのフ
レームが存在しないとそれらのキーフレーム間の最適解
が求まらないという問題がある(数9のマトリクスに0
行列が生じる)。
【0105】そこで、第6の変形例では、キーフレーム
間にフレームデータが無い場合や1つのみの場合に、そ
れらの間に補助的なフレームデータを追加して処理す
る。
【0106】図16は、キーフレーム間にフレームデー
タが無い場合の補間例を示す。フレーム番号iとi+1
のフレームがキーフレームPi,Pi+1である。元のモー
ションダンプデータには、これらのキーフレームPi
i+1間にフレームデータが無い。そこで、Pi,Pi+1
間を直線補間し、この間を4等分して3つの補助フレー
ムデータ1601〜1603を発生させ、元のモーショ
ンダンプデータに追加する。補助フレームデータを追加
したモーションダンプデータを用いて、図2のステップ
205の条件式である数7や数13を満たすように3次
エルミート曲線を求める。なお、3次エルミート曲線を
用いる場合は、キーフレームPi,Pi+1間に2つの補助
フレームを追加すれば十分である。
【0107】図17は、キーフレーム間にフレームデー
タが1つの場合の補間例を示す。フレーム番号iとi+
2のフレームがキーフレームPi,Pi+2である。元のモ
ーションダンプデータには、これらのキーフレーム
i,Pi+2間に1つのフレームPi+1のみがある。そこ
で、Pi,Pi+1間とPi+1,Pi+2間とをそれぞれ直線補
間し、それらの間の中央位置に補助フレームデータ17
01と1702とを発生させ、元のモーションダンプデ
ータに追加する。補助フレームデータを追加したモーシ
ョンダンプデータを用いて、図2のステップ205の条
件式である数7や数13を満たすように3次エルミート
曲線を求める。
【0108】上記第6の変形例によれば、キーフレーム
間にフレームデータが1つまたは無い場合でも、それら
のキーフレーム間を近似する最適スプライン曲線を求め
ることができる。
【0109】図18は、上述した第1および第2の実施
の形態(並びに第1〜第6の変形例)における画面表示
例である。同図において、1801は処理対象のモーシ
ョンダンプデータや抽出した最適キーフレームなどを表
示するグラフ領域である。この領域1801の横軸はフ
レームを示し、縦軸はデータ値を示す。ハードディスク
106に格納されているモーションダンプデータのファ
イル名を指定すると、そのモーションダンプデータが読
出され、各フレームデータが領域1801に赤色の点
(例えば、1802)で表示される。この点を赤色の直
線で連結した表示を行なうこともできる。1803は読
み込んだモーションダンプデータのファイル名を示し、
1804はそのフレーム数を示す。1805は抽出した
キーフレームの総数と圧縮度の表示、1806は数10
または数16の2乗平均誤差εRMSの表示、1807は
数11または数17の最大乖離度εmaxの表示である。
1808は上述の数2のパラメータαの値をユーザが設
定するための入力領域である。
【0110】1811は読み込んだモーションダンプデ
ータを表示することを指示するためのボタン、1812
は領域1808に設定されたα値から求めたキーフレー
ムでエルミート補間して得た自由曲線を表示(水色)す
ることを指示するためのボタンである。1813〜18
20は、それぞれ、モーションダンプデータの始点、終
点、最大点、最小点、極大点、極小点、変曲点、および
曲率半径の極小点を表示することを指示するボタンであ
る。1821はキーフレームの点を表示することを指示
するボタン、1822はキーフレームのフレーム番号を
表示することを指示するボタンである。
【0111】ユーザが領域1808にαの値を設定する
と、上述の実施の形態および変形例のようにして最適キ
ーフレームと自由曲線(3次エルミート曲線)が求めら
れ、領域1801に表示される。数2の説明で述べたよ
うに、α値が大きいほどキーフレームの総数が少なくな
り、α=0のときはすべてのフレームがキーフレームの
候補となる。またユーザは、ボタン1811〜1822
を必要に応じてマウスでクリックすることにより、元の
モーションダンプデータとそれから求めたキーフレーム
の点とを確認したり、元のモーションダンプデータとキ
ーフレームから生成したエルミート曲線とを比較するこ
とができる。以上より、ユーザは、領域1808のα値
を調整して、所望の近似精度のエルミート曲線が得ら
れ、かつそのエルミート曲線を生成する最適キーフレー
ムの数が所定数になるようにできる。
【0112】図20に、発明が解決しようとする課題の
欄で説明した図19のモーションダンプデータを対象と
して、上述した第2の実施の形態およびその変形例で説
明した方法で最適キーフレームを自動抽出した結果を示
す。黒丸の点が最適キーフレームである。図19のモー
ションダンプデータに対し、人手でキーフレームを設定
したのと同じ感覚で最適キーフレームが自動抽出されて
いる。最適キーフレームの数も、ほぼ必要最小限といえ
る。
【0113】図21に、図20の最適キーフレームか
ら、図19のモーションダンプデータを近似する3次エ
ルミート曲線を生成した結果を示す。黒丸で元のモーシ
ョンダンプデータを示し、実線で生成した3次エルミー
ト曲線を示す。図から分かるように、これらはほぼ一致
している。図22の従来技術に比較して、少ない特徴点
で高精度に元のデータを近似できるようになっているこ
とが分かる。
【0114】なお、上記発明の実施の形態、およびその
変形例では、モーションダンプデータを近似する最適キ
ーフレームを例に説明したが、本発明は、これに限ら
ず、一般に一連のディジタルデータ列から幾つかの特徴
点となるデータを取り出し、取り出した複数の特徴点の
データを用いて元のデータ列の形状を近似するデータ列
を復元する際に適用可能である。
【0115】
【発明の効果】以上説明したように、本発明によれば、
一連のディジタルデータ列から幾つかの特徴点(キーフ
レーム)となるデータを取り出し、取り出した特徴点の
データを用いて元のデータ列の形状を近似するデータ列
を復元する場合に、より少ない特徴点で高精度に元のデ
ータを近似することができるデータ処理装置、および方
法が提供される。特に、元のデータ列の形状を特徴付け
るのに有意と思われる幾何学的な特徴点(始点、終点、
最大点、最小点、極大点、極小点、変曲点、および/ま
たは曲率の極小点)を自動抽出して特徴点とするので、
人手で特徴点設定を行なうのとほぼ同じ感覚で特徴点の
抽出が行なえ、また元のデータ列との近似度の精度も高
い。さらに、重み付き最小2乗法を用いて自由曲線を求
めているので、連続的で滑らかな自由曲線を得ることが
でき、キャラクタの動きを表現するモーションダンプデ
ータに適用したときには、スムーズなキャラクタの動き
を実現できる。さらに、キャラクタの動きをスローモー
ション再生する場合もスムーズな動きを実現できる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係るデータ処理装
置のブロック構成図
【図2】最適キーフレームの決定と自由曲線によるデー
タ圧縮の処理の流れの概要を示すフローチャート図
【図3】処理対象であるモーションダンプデータの例を
示す図
【図4】キーフレームデータ間の差分を表す図
【図5】一般的な3次エルミート曲線の例を示す図
【図6】発明の実施の形態で用いる3次エルミート曲線
の例jを示す図
【図7】曲率が大きい点の例を示す図
【図8】曲率半径を示す図
【図9】曲率半径に基づいて抽出するフレームの例を示
す図
【図10】変曲点の選びかたの変形例を示す図
【図11】キーフレーム位置が最適の場所から左にずれ
る例を示す図
【図12】キーフレームの削減の処理手順(第3の変形
例)を示す図
【図13】フラグ値のパターンを示す図
【図14】データ値が垂直に変化する点の例を示す図
【図15】キーフレーム間にフレームが1つまたは無い
例を示す図
【図16】キーフレーム間にフレームデータが無い場合
の補間例を示す図
【図17】キーフレーム間にフレームデータが1つの場
合の補間例を示す図
【図18】本発明の実施の形態における画面表示例を示
す図
【図19】モーションダンプデータの例を示す図
【図20】最適キーフレーム抽出結果を示す図
【図21】3次エルミート曲線補間の結果を示す図
【図22】従来のCGソフトによる3次エルミート曲線
補間例を示す図
【符号の説明】
101…CPU(中央処理装置)、102…ランダムア
クセスメモリ(RAM)、103…リードオンリメモリ
(ROM)、104…表示装置、105…入力装置、1
06…ハードディスク、107…モーション・キャプチ
ャ・システム。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平7−160870(JP,A) 特開 平9−179992(JP,A) 特開 平3−223977(JP,A) 特開 平6−282658(JP,A) 特開 平3−174645(JP,A) 特開 平7−296148(JP,A) 特開 平9−147127(JP,A) 特開 昭59−98273(JP,A) 特開 平6−180724(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06T 13/00 G06F 17/17 G06T 11/20

Claims (19)

    (57)【特許請求の範囲】
  1. 【請求項1】一連のディジタルデータ列から幾つかの特
    徴点となるデータを取り出し、取り出した複数の特徴点
    のデータを用いて元のデータ列の形状を近似する最適化
    自由曲線を求めるデータ処理装置において、 前記一連のディジタルデータ列から、始点、終点、最大
    点、最小点、極大点、極小点、変曲点、および/または
    曲率半径の極小点を、特徴点として自動抽出する特徴点
    抽出手段と、 前記自動抽出した特徴点から隣り合う2点間のデータの
    差分が所定値未満であるような2点のうちの一方の特徴
    点を削減する特徴点削減手段と、 削減後に残った特徴点から元のデータ列を近似する自由
    曲線を生成する自由曲線生成手段と、 生成した自由曲線が所定の近似度で元のデータ列を近似
    しているか否かを判定する判定手段と、 前記判定手段により所定の近似度で元のデータ列を近似
    していると判定された場合、その自由曲線を定義するデ
    ータを記憶する手段とを備えたことを特徴とするデータ
    処理装置。
  2. 【請求項2】前記自由曲線生成手段は、各特徴点から生
    成した自由曲線と元のデータとの誤差の2乗にその位置
    の重み係数を掛け、その総和が最小になるように自由曲
    線を決定する重み付き最小2乗法を用いることを特徴と
    する請求項1に記載のデータ処理装置。
  3. 【請求項3】前記特徴点削減手段は、操作者が入力した
    パラメータ値に応じた数に、特徴点の数を削減すること
    を特徴とする請求項1に記載のデータ処理装置。
  4. 【請求項4】前記特徴点抽出手段は、変曲点を自動抽出
    する際、始点、極大点、極小点、および終点のうちの何
    れかの2点間に挟まれている変曲点のうち、その変曲点
    を挟む2点の中央に近い位置にある変曲点を特徴点とし
    て抽出するものであることを 特徴とする請求項1に記載
    のデータ処理装置。
  5. 【請求項5】前記特徴点削減手段は、隣り合う2点間の
    データの差分が所定値未満であるような2点のうちの一
    方の特徴点を削減する代わりに、ある特徴点の前後の特
    徴点とのデータ値の差が何れも所定値を超えない場合に
    その特徴点を削減するものであることを特徴とする請求
    項1に記載のデータ処理装置。
  6. 【請求項6】前記特徴点抽出手段は、始点、終点、極大
    点、および極小点に隣り合う所定数の点について、 によりρ’を求め、このρ’が所定値以下になる点につ
    いても特徴点として抽出するものであることを特徴とす
    る請求項1に記載のデータ処理装置。
  7. 【請求項7】前記自由曲線生成手段は、ユーザによる高
    さを固定するか傾きを固定するかの指定を受け、高さを
    固定する場合は高さを固定し傾きを変数として近似式を
    生成し、傾きを固定する場合は傾きを固定し高さを変数
    として近似式を生成して、自由曲線を生成するものであ
    ることを特徴とする請求項1に記載のデータ処理装置。
  8. 【請求項8】前記自由曲線生成手段は、隣り合う特徴点
    と特徴点との間に、生成する自由曲線の次数での解を求
    めるのに必要な数だけのデータがないときには、その間
    に仮想的なデータをおいて自由曲線を生成することを特
    徴とする請求項1に記載のデータ処理装置。
  9. 【請求項9】前記自由曲線がエルミート曲線である請求
    項1から8の何れか1つに記載のデータ処理装置。
  10. 【請求項10】一連のディジタルデータ列から幾つかの
    特徴点となるデータを取り出し、取り出した複数の特徴
    点のデータを用いて元のデータ列の形状を近似する最適
    化自由曲線を求めるデータ処理方法において、 前記一連のディジタルデータ列から、始点、終点、最大
    点、最小点、極大点、極小点、変曲点、および/または
    曲率半径の極小点を、特徴点として自動抽出する特徴点
    抽出ステップと、 前記自動抽出した特徴点から隣り合う2点間のデータの
    差分が所定値未満であるような2点のうちの一方の特徴
    点を削減する特徴点削減ステップと、 削減後に残った特徴点から元のデータ列を近似する自由
    曲線を生成する自由曲線生成ステップと、 生成した自由曲線が所定の近似度で元のデータ列を近似
    しているか否かを判定する判定ステップと、 前記判定ステップにより所定の近似度で元のデータ列を
    近似していると判定された場合、その自由曲線を定義す
    るデータを記憶するステップとを備えたことを特徴とす
    るデータ処理方法。
  11. 【請求項11】前記自由曲線生成ステップは、各特徴点
    から生成した自由曲線と元のデータとの誤差の2乗にそ
    の位置の重み係数を掛け、その総和が最小になるように
    自由曲線を決定する重み付き最小2乗法を用いることを
    特徴とする請求項10に記載のデータ処理方法。
  12. 【請求項12】前記特徴点削減ステップは、操作者が入
    力したパラメータ値に応じた数に、特徴点の数を削減す
    ることを特徴とする請求項10に記載のデータ処理方
    法。
  13. 【請求項13】前記特徴点抽出ステップは、変曲点を自
    動抽出する際、始点、極大点、極小点、および終点のう
    ちの何れかの2点間に挟まれている変曲点のうち、その
    変曲点 を挟む2点の中央に近い位置にある変曲点を特徴
    点として抽出するものであることを特徴とする請求項1
    0に記載のデータ処理方法。
  14. 【請求項14】前記特徴点削減ステップは、隣り合う2
    点間のデータの差分が所定値未満であるような2点のう
    ちの一方の特徴点を削減する代わりに、ある特徴点の前
    後の特徴点とのデータ値の差が何れも所定値を超えない
    場合にその特徴点を削減するものであることを特徴とす
    る請求項10に記載のデータ処理方法。
  15. 【請求項15】前記特徴点抽出ステップは、始点、終
    点、極大点、および極小点に隣り合う所定数の点につい
    て、 によりρ’を求め、このρ’が所定値以下になる点につ
    いても特徴点として抽出するものであることを特徴とす
    る請求項10に記載のデータ処理方法。
  16. 【請求項16】前記自由曲線生成ステップは、ユーザに
    よる高さを固定するか傾きを固定するかの指定を受け、
    高さを固定する場合は高さを固定し傾きを変数として近
    似式を生成し、傾きを固定する場合は傾きを固定し高さ
    を変数として近似式を生成して、自由曲線を生成するも
    のであることを特徴とする請求項10に記載のデータ処
    理方法。
  17. 【請求項17】前記自由曲線生成ステップは、隣り合う
    特徴点と特徴点との間に、生成する自由曲線の次数での
    解を求めるのに必要な数だけのデータがないときには、
    その間に仮想的なデータをおいて自由曲線を生成するこ
    とを特徴とする請求項10に記載のデータ処理方法。
  18. 【請求項18】前記自由曲線がエルミート曲線である請
    求項10から17の何れか1つに記載のデータ処理方
    法。
  19. 【請求項19】請求項10から18の何れか1つに記載
    のデータ処理方法に係るプログラムを格納したことを特
    徴とする記憶媒体。
JP3544398A 1998-02-02 1998-02-02 データ処理装置、データ処理方法、および該方法に係るプログラムを格納した記憶媒体 Expired - Fee Related JP3408136B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3544398A JP3408136B2 (ja) 1998-02-02 1998-02-02 データ処理装置、データ処理方法、および該方法に係るプログラムを格納した記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3544398A JP3408136B2 (ja) 1998-02-02 1998-02-02 データ処理装置、データ処理方法、および該方法に係るプログラムを格納した記憶媒体

Publications (2)

Publication Number Publication Date
JPH11219447A JPH11219447A (ja) 1999-08-10
JP3408136B2 true JP3408136B2 (ja) 2003-05-19

Family

ID=12441985

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3544398A Expired - Fee Related JP3408136B2 (ja) 1998-02-02 1998-02-02 データ処理装置、データ処理方法、および該方法に係るプログラムを格納した記憶媒体

Country Status (1)

Country Link
JP (1) JP3408136B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4692388B2 (ja) * 2006-05-24 2011-06-01 ソニー株式会社 データ処理装置およびデータ処理方法
JP4536095B2 (ja) * 2007-09-04 2010-09-01 株式会社コナミデジタルエンタテインメント 画像処理プログラム、画像処理装置及び画像処理制御方法

Also Published As

Publication number Publication date
JPH11219447A (ja) 1999-08-10

Similar Documents

Publication Publication Date Title
US6208360B1 (en) Method and apparatus for graffiti animation
Zelinka et al. Towards Real-Time Texture Synthesis with the Jump Map.
US7420564B2 (en) Shape and animation methods and systems using examples
JP4482778B2 (ja) 画像処理装置および画像処理方法、並びに記録媒体
US9295913B2 (en) Information processing devices, information processing method, and information processing means
JP3915272B2 (ja) 量子化方法,および量子化プログラムを記録した記録媒体
EP1008112A1 (en) Techniques for creating and modifying 3d models and correlating such models with 2d pictures
US7196707B2 (en) Tangent balancing
US7116844B2 (en) Method for generating vector data for a hand-drawn curve
US7999827B2 (en) Method and system for generating dynamic blocks
US6621924B1 (en) Contour extraction apparatus, a method thereof, and a program recording medium
Masood et al. A novel approach to polygonal approximation of digital curves
US6249607B1 (en) Similar-image retrieving apparatus, similar-image retrieving method and program storage medium
CA2285227A1 (en) Computer system process and user interface for providing intelligent scissors for image composition
US20010038390A1 (en) Image selection method, system and program
JP3408136B2 (ja) データ処理装置、データ処理方法、および該方法に係るプログラムを格納した記憶媒体
JP3237898B2 (ja) 画像図形編集装置および画像図形編集装置の処理方法
US11461874B2 (en) Graphics processing using matrices of transformations
JP3422684B2 (ja) データ処理方法、および該方法に係るプログラムを格納した記憶媒体
WO2003017206A9 (en) Automatic 3d modeling system and method
US6298155B1 (en) Apparatus and method for generating time-series data, apparatus and method for editing curves and recording medium having program recorded thereon
JP4017467B2 (ja) 三角形メッシュデータの圧縮方法及びプログラム
US6606090B2 (en) Three-dimensional model analyzing apparatus
JPH11175765A (ja) 3次元モデル作成方法、3次元モデル作成装置及び記憶媒体
JP2002196878A (ja) 記録媒体、画像処理装置および方法

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20080314

Year of fee payment: 5

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20090314

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090314

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100314

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100314

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100314

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110314

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110314

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120314

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120314

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130314

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20130314

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20140314

Year of fee payment: 11

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees