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

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

Info

Publication number
JPH11272879A
JPH11272879A JP9829098A JP9829098A JPH11272879A JP H11272879 A JPH11272879 A JP H11272879A JP 9829098 A JP9829098 A JP 9829098A JP 9829098 A JP9829098 A JP 9829098A JP H11272879 A JPH11272879 A JP H11272879A
Authority
JP
Japan
Prior art keywords
data
point
curve
motion
spline curve
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.)
Granted
Application number
JP9829098A
Other languages
English (en)
Other versions
JP3422684B2 (ja
Inventor
Tetsuji Baba
哲治 馬場
Yasuo Oba
康雄 大場
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 JP9829098A priority Critical patent/JP3422684B2/ja
Publication of JPH11272879A publication Critical patent/JPH11272879A/ja
Application granted granted Critical
Publication of JP3422684B2 publication Critical patent/JP3422684B2/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)

Abstract

(57)【要約】 【課題】一連のディジタルデータ列からそのデータ列の
形状を近似する自由曲線を生成する場合に、より少ない
データで高精度に元のデータの形状を近似できるように
することを目的とする。また、スローモーション表示を
行なう場合に、動きがぎこちなくなくなることのないよ
うに、元のデータを近似できるようにすることを目的と
する。 【解決手段】一連のディジタルデータ列の形状を近似す
る最適化自由曲線を、y軸方向のデータ値はB−スプラ
イン曲線の式で表現し、x軸方向はB−スプライン曲線
のパラメータと線形関係になる式で表現した簡易B−ス
プライン曲線で表す。特に、元のディジタルデータ列の
始点と終点に対応する簡易B−スプライン曲線のコント
ロールポイントが、そのディジタルデータ列の始点と終
点に一致するようにする。

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】図9は、人が実際にある動作を行なったと
きのある測定点のあるパラメータ(位置座標や角度)の
変化(例えば人の鎖骨の回転の動きなど)を示すモーシ
ョンダンプデータのグラフである。横軸は、時間すなわ
ちフレームを示し、ここでは100フレーム程度のモー
ションダンプデータの一部(横軸で75〜100フレー
ム辺りは省略)を示す。縦軸は、データ値を示す。図1
2は、図9のモーションダンプデータを従来のCGソフ
トで処理した例を示す。点線1201は入力したモーシ
ョンダンプデータを示すグラフである。1211や12
12は、CGソフトが自動的に抽出したキーフレームで
ある。ここでは、100フレーム程度のモーションダン
プデータに対し20フレーム程度のキーフレームを抽出
するように調整した(ただし、横軸で85〜100フレ
ーム辺りは省略)。各キーフレームの点には、レバーと
呼ばれる補助線1221や1222が表示されている。
実線1202は、これらのキーフレームから復元したデ
ータ列(最適スプライン化の結果である自由曲線)を示
す。この図から分かるように、元のデータを示す点線1
201と復元したデータ列を示す実線1202とに大き
な乖離が見られ、実用上の問題があることが分かる。も
ちろんキーフレームの数を多く設定すれば、高精度に元
のモーションダンプデータを復元できることは明らかで
あるが、その場合はデータの圧縮度を上げることができ
なくなる。
【0010】本発明は、上述の従来形における問題点に
鑑み、一連のディジタルデータ列からそのデータ列の形
状を近似する自由曲線を生成する場合に、より少ないデ
ータで高精度に元のデータの形状を近似できるようにす
ることを目的とする。また、スローモーション表示を行
なう場合に、動きがぎこちなくなくなることのないよう
に、元のデータを近似できるようにすることを目的とす
る。
【0011】
【課題を解決するための手段】上記目的を達成するた
め、請求項1に係る発明は、一連のディジタルデータ列
から、該データ列の形状を近似する最適化自由曲線を求
めるデータ処理方法において、前記最適化自由曲線を、
y軸方向のデータ値はB−スプライン曲線の式で表現
し、x軸方向はB−スプライン曲線のパラメータと線形
関係になる式で表現した簡易B−スプライン曲線で表す
ことを特徴とする。
【0012】請求項2に係る発明は、請求項1におい
て、前記y軸方向のデータ値を表現するB−スプライン
曲線の式が、該B−スプライン曲線の形状を決定するコ
ントロールポイントの始点および終点が、前記一連のデ
ィジタルデータ列の始点と終点に一致するように変形し
たものであることを特徴とする。
【0013】請求項3に係る発明は、請求項1におい
て、前記y軸方向のデータ値を表現するB−スプライン
曲線の式に対し、前記一連のディジタルデータ列の始点
の位置の前、および終点の位置の後に、新たにコントロ
ールポイントを設定し、該コントロールポイントのデー
タ値を、生成したB−スプライン曲線が前記一連のディ
ジタルデータ列の始点および終点を通るように設定した
ことを特徴とする。
【0014】請求項4に係る発明は、一連のディジタル
データ列から、該データ列の形状を近似する最適化自由
曲線を求めるデータ処理方法において、前記一連のディ
ジタルデータ列から、始点、終点、最大点、最小点、極
大点、極小点、変曲点、および/または曲率半径の極小
点を、キーフレームとして自動抽出するキーフレーム抽
出ステップと、前記自動抽出したキーフレームから所定
の削減条件を満たすキーフレームを削減するキーフレー
ム削減ステップと、削減後に残ったキーフレームから元
のデータ列を近似する自由曲線であって、y軸方向のデ
ータ値はB−スプライン曲線の式で表現し、x軸方向は
B−スプライン曲線のパラメータと線形関係になる式で
表現した簡易B−スプライン曲線で表わす自由曲線を生
成する自由曲線生成ステップと、生成した自由曲線が所
定の近似度で元のデータ列を近似しているか否かを判定
する判定ステップと、前記判定ステップにより所定の近
似度で元のデータ列を近似していると判定された場合、
その自由曲線を定義するデータを記憶するステップとを
備えたことを特徴とする。
【0015】請求項5に係る発明は、請求項1から3の
何れか1つに記載のデータ処理方法に係るプログラムを
格納した記憶媒体に関するものである。
【0016】
【発明の実施の形態】以下、図面を用いて本発明の実施
の形態を説明する。
【0017】図1は、本発明の第1の実施の形態に係る
データ処理装置のブロック構成を示す。本装置は、CP
U(中央処理装置)101、ランダムアクセスメモリ
(RAM)102、リードオンリメモリ(ROM)10
3、表示装置104、入力装置105、ハードディスク
106、モーション・キャプチャ・システム107、お
よびバスライン108を備えている。本装置は、例え
ば、汎用のワークステーションやパーソナルコンピュー
タにモーション・キャプチャ・システム107を接続し
たもので良い。
【0018】CPU101は、この装置全体の動作を制
御する処理装置である。RAM102は、CPU101
が実行するプログラムをロードする領域や処理対象デー
タのワーク領域などに使用するメモリである。ROM1
03は、BIOS(Basic Input/Output System)など
の基本的なソフトウエアや各種パラメータなどが格納さ
れている不揮発メモリである。表示装置104は、CP
U101の指示に応じて各種の情報を表示するディスプ
レイである。入力装置105は、ユーザが操作して本装
置に指示を与えるためのキーボードやマウスなどであ
る。ハードディスク106は、プログラムやデータを格
納する補助記憶装置である。モーション・キャプチャ・
システム107は、人の動きを撮影してモーションダン
プデータを取り込むシステムである。
【0019】ユーザは、入力装置105を操作すること
により、モーション・キャプチャ・システム107を動
作させ、モーションダンプデータを取り込むことができ
る。取り込んだモーションダンプデータは、いったんハ
ードディスク106に格納される。また、ユーザは、入
力装置105を操作することにより、このモーションダ
ンプデータの形状を高精度に近似する自由曲線を求め
て、結果としてデータ圧縮する処理(図2などを参照し
て後に詳述する)を行なうことができる。表示の際に
は、求めた自由曲線に基づいて、元のモーションダンプ
データを所定の精度で近似するデータ列を生成出力(復
元)できる。求めた自由曲線を定義する係数データは、
ハードディスク106に格納される。
【0020】この自由曲線を定義する係数データを読み
出して、例えばゲームプログラムとともにCD−ROM
などに格納する。そのCD−ROMをゲーム機に装着し
てゲームを実行しているとき、必要に応じてその自由曲
線に基づいてデータ列を生成出力する。この自由曲線
は、元のモーションダンプデータを所定の精度で近似し
たものであるので、このデータ列を用いてゲーム中のキ
ャラクタに所定の動作をさせることができる。
【0021】なお、元のモーションダンプデータを近似
する自由曲線を求めてデータ圧縮する本発明に係るデー
タ処理方法を実現する処理プログラムは、CD−ROM
などの各種の記憶媒体で提供され、あらかじめハードデ
ィスク106にインストールされている。CPU101
は、このプログラムをRAM103上に読み出して実行
することによりその処理を実行する。
【0022】次に、図1の装置で実行するデータ処理プ
ログラムの手順を説明する。図2は、図1の装置で実行
する最適キーフレームの決定と自由曲線によるデータ圧
縮の処理の流れの概要を示すフローチャートである。前
提として、ハードディスク106に処理対象のモーショ
ンダンプデータが格納されているものとする。
【0023】図3は、図2の処理の処理対象であるモー
ションダンプデータの例を示す。モーションダンプデー
タは、モーション・キャプチャ・システム107によ
り、例えば人の体の幾つかの測定点の動きを取り込んだ
データであるから、その測定点ごとのデータ(例えば、
肩の動きを示すデータ、ひじの動きを示すデータ、手首
の動きを示すデータ、…など)からなる。1つの測定点
についてのデータは、その測定点の動きを表す幾つかの
パラメータ(例えば、3次元座標や座標軸回りの角度な
ど)ごとのデータからなる。1つのパラメータについて
のデータは、そのパラメータの所定時間ごとのフレーム
データからなる。図3に示したモーションダンプデータ
の例は、ある測定点のあるパラメータについてのデータ
(例えば、人の鎖骨の回転角度)を示すものである。横
軸はフレーム番号(すなわち、時間)iを示し、縦軸は
そのパラメータのデータ値yを示す。ここではデータの
数をn+1とし(したがって、iは0〜n)、フレーム
番号iのデータ値をyiで表す。以下では、このような
ある測定点のあるパラメータのデータに対する処理を説
明するが、他のパラメータのデータについての処理、お
よび他の測定点のパラメータのデータに対する処理も、
同様に行なわれる。
【0024】図2の処理では、まずステップ201で、
モーションダンプデータを読み出し、キーフレーム候補
点を抽出する。例えば、処理対象のモーションダンプデ
ータのうち、始点のフレームと終点のフレーム、最
大点のフレームと最小点のフレーム、極大点のフレー
ムと極小点のフレーム、変曲点のフレーム、および
曲率半径の極小点のフレームを抽出して、最初のキーフ
レーム(候補点)とする。ステップ201の後、ステッ
プ202で、抽出したキーフレームをフレーム番号順に
並べて整理する。次に、ステップ203で、所定の削減
条件を満たすキーフレームを削減し残りのキーフレーム
を残す。削減条件としては、例えば始点、終点、最大
点、および最小点などの重要なキーフレームを除き、そ
れ以外のキーフレームから、隣り合うフレームがキーフ
レームとして抽出されていてかつそれらのキーフレーム
のデータ値の差が所定値以下の場合に一方のキーフレー
ムを削減する、などの条件を用いる。
【0025】次に、ステップ204では、ステップ20
2と同様にしてキーフレームをフレーム番号順に整理
(並び替え)する。ステップ205で、その時点で残っ
ているキーフレームデータに基づいて、元のモーション
ダンプデータ(図3)を近似する自由曲線を生成する。
以下、ステップ205の自由曲線の生成方法について詳
しく説明する。
【0026】本発明では、真性のB−スプライン曲線の
式を若干変形したものである簡易B−スプライン曲線を
用いて自由曲線を表現する。図4は、簡易B−スプライ
ン曲線による表現例を示す。x軸はフレーム(時間軸)
を示し、y軸はデータ値を示す。各フレームのデータ値
に対し、401〜403などのように好適なキーフレー
ムi0,i1,i2,…,im,…を抽出し(キーフレーム
の点をコントロールポイントと呼ぶ)、該コントロール
ポイントのデータ値Q0,Q1,Q2,…,Qim,…を用
いて簡易B−スプライン曲線411,412を表現す
る。簡易B−スプライン曲線は、下記の数1の(1)〜
(5)式で表現される。
【0027】
【数1】
【0028】数1の(1)〜(5)式の表現を下記数2
〜数4の(6)〜(12)式のように書き直す。
【0029】
【数2】
【0030】
【数3】
【0031】
【数4】
【0032】数2〜数4の(6)〜(12)式により、
簡易B−スプライン曲線は下記数5の(13)式で表さ
れる。
【0033】
【数5】
【0034】この(13)式で元のモーションダンプデ
ータ(図3)を近似し、最小2乗法を用いて、誤差の2
乗の総和が最小になるように各コントロールポイントの
データ値Qmを決定する。その条件式は、次の数6で与
えられる。
【0035】
【数6】
【0036】なお、ここでは重み係数wiを導入し、有
意と考えられるキーフレームは、他のフレームよりもそ
の重みを増して処理し、y(x)で与えられる近似式を
なるべくそれらのキーフレームのデータ値の近傍を通過
するようにしている。重み係数wiは、各フレームの有
意性(元のモーションダンプデータの形状を近似する上
で、どれ程の意味を持つかの度合い)に基づいて決定す
ればよいが、例えば、始点、終点、最大点、および最小
点はwi=10とし、極大点(最大点を除く)や極小点
(最小点を除く)はwi=5とし、変曲点はwi=2と
し、その他のキーフレームはwi=1とする、というよ
うに適宜決めればよい。
【0037】数6は変分問題であり、その停留原理は次
の数7で与えられる。すなわち、数7を解くことによ
り、数6の条件式を満たすQmを求めることができる。
【0038】
【数7】
【0039】数7から下記の数8を導ける。
【0040】
【数8】
【0041】数8を整理すると、下記の数9となる。
【0042】
【数9】
【0043】数9は、下記の数10の(18)式のよう
におくと、(19)式になる。
【0044】
【数10】
【0045】この(19)式は、Qm(m=0,1,
…,nm−1)についてのnm元連立一次方程式であるか
ら、これを解くことによりQmを求めることができる。
m(m=0,1,…,nm−1)が決定されれば、その
mを数5の(13)式に代入することにより、元のモ
ーションダンプデータ(図3)を近似する自由曲線(簡
易B−スプライン曲線)が求められたことになる。以上
のようにして、図2のステップ205の自由曲線の生成
が実行される。
【0046】ステップ205で自由曲線を求めた後、ス
テップ206で最適化の判定を行なう。最適化の判定
は、例えば、求めた自由曲線と元のモーションダンプデ
ータとの2乗平均誤差や最大乖離度を算出し、それらの
値が所定値以内に収まっているか(すなわち、所定の近
似度で元のモーションダンプデータを近似する自由曲線
が得られたか)を判断することなどにより行なえばよ
い。ステップ206でさらに最適化が必要と判断された
ら、再びステップ203に戻って、別の削減条件でキー
フレームを外す処理からやり直す。ステップ203〜2
06の処理は上述したのと同じである。ステップ206
で最適化がなされたと判断した場合は、その時点のコン
トロールポイントのデータ値Qmをハードディスク10
6に格納する。これらのデータは例えば、ゲームプログ
ラムとともにCD−ROMなどに格納し、ゲーム中に必
要に応じてその自由曲線に基づいて各フレームの表示デ
ータを生成して表示することにより、ゲーム中のキャラ
クタに所定の動作をさせることができる。
【0047】なお、簡易B−スプライン曲線は、真性の
B−スプライン曲線の式を簡易な形に変形したものであ
る。真性のB−スプライン曲線の式を数11に示す。
【0048】
【数11】
【0049】簡易B−スプライン曲線を表す数1の
(3)式と上記数11の式とを比較すれば分かるよう
に、真性B−スプラインではx軸方向のデータ値x
(η)がパラメータηの3次式で表現されているのに対
し、簡易B−スプライン曲線ではデータ値xをパラメー
タηと線形的に関係付けている。これにより、データ値
xとパラメータηとが1対1に対応し、計算は容易で速
く行なえるようになる。また、y軸方向のデータ値y
(η)については、真性B−スプラインの式をそのまま
簡易B−スプラインでも用いる。
【0050】従来のCGツールでは、主に3次エルミー
ト曲線による最適スプライン化圧縮が用いられていた。
この技術により得られる圧縮データとしては、最適スプ
ライン化のために選択されたキーフレームごとのフレー
ム番号、データの値、およびデータの傾きの3つのデー
タが1セットとなり、選択されたキーフレームの数だけ
必要となる。一方、上述の本発明の実施の形態で用いて
いるB−スプライン曲線によれば、最適スプライン化の
ために選択されたキーフレームごとのフレーム番号とデ
ータの値との2つのデータが1セットとなり、選択され
たキーフレームの数だけ必要となる。したがって、3次
エルミート曲線によるデータ圧縮に比べて圧縮率を改善
することができる。
【0051】図7に上述の発明の実施の形態の技術を用
いて、正弦波の形状に近いモーションダンプデータ(黒
点で示してある)を近似した例を示す。701〜706
に示す点がキーフレームの位置のコントロールポイント
であり、711〜713はこれらのコントロールポイン
トを連結した直線である。720はこれらのコントロー
ルポイントから生成した簡易B−スプライン曲線を示
す。少ないコントロールポイントで高精度に元のデータ
を近似できることが分かる。なお、上記実施の形態の手
法では、生成した簡易B−スプライン曲線が元のモーシ
ョンダンプデータの始点721および終点722を通る
かどうかは不定である。また、始点および終点位置のコ
ントロールポイント701,706は、始点および終点
に一致しているわけではないので、始点および終点にお
けるデータ値は計算で求める必要がある。
【0052】次に、上記の実施の形態に関する第1の変
形例を説明する。上記実施の形態の手法では、生成した
簡易B−スプライン曲線がモーションダンプデータの始
点および終点を必ず通るとは限らない。しかし、モーシ
ョンダンプデータの始点および終点のデータ値は、モー
ション上重要で有意な値といえるので、生成した簡易B
−スプライン曲線がモーションダンプデータの始点およ
び終点を必ず通るようにしたい。そこで、第1の変形例
では、モーションダンプデータの両端、すなわち始点の
キーフレーム位置のコントロールポイントQ0の前、お
よび終点のキーフレーム位置のコントロールポイントQ
nm-1の後に、コントロールポイントを追加し、これによ
り、生成した簡易B−スプライン曲線がモーションダン
プデータの始点および終点を必ず通るようにした。
【0053】具体的には、上記実施の形態の数1の
(1)式および(5)式を下記の数12の(1)’式お
よび(5)’式に置き換える。数1の(1)式および
(5)式と、数12の(1)’式および(5)’式との
違いは、Q-1とQnmの変数が追加されたことにある。
【0054】
【数12】
【0055】(2)〜(4)式は数1と同じものとすれ
ばよい。また、Q0〜Qm〜Qnm-1は上記実施の形態の手
法により求めることができる。
【0056】(1)’式が始点(x=i0=0,y
(i0)=y0)を必ず通るためには、次の数13を満足
するようにQ-1の値を決めればよい。
【0057】
【数13】
【0058】同様に、(5)’式が終点(x=inm-1
0,y(inm-1)=ynm-1)を必ず通るためには、次の
数14を満足するようにQnmの値を決めればよい。
【0059】
【数14】
【0060】以上により、新たなデータとして上述のQ
-1とQnmを追加することにより、簡易B−スプライン曲
線がモーションダンプデータの始点および終点を必ず通
るようにできる。
【0061】次に、上記の実施の形態に関する第2の変
形例を説明する。上記第1の変形例により簡易B−スプ
ライン曲線がモーションダンプデータの始点および終点
を必ず通るようにできる。しかし、第1の変形例では新
たにデータを追加しなければならず、圧縮率を上げる観
点からは、できればそのようなデータは追加したくな
い。また、生成した簡易B−スプライン曲線がモーショ
ンダンプデータの始点および終点を通ることは保証され
るが、その始点および終点におけるデータ値は計算で求
めなければならない。一方、ゲーム映像の制作において
は、モーション補間計算などで始点および終点のデータ
値を直接用いることが多く、必要であるときにコントロ
ールポイントのデータ値から始点や終点のデータ値を算
出するのでは面倒である。
【0062】そこで、第2の変形例では、上記実施の形
態で用いた簡易B−スプラインの式を変形し、モーショ
ンダンプデータの始点および終点とコントロールポイン
トとが必ず一致するようにした。具体的には、上記数1
の(1)〜(5)式を、例えば下記の数15の(1)”
〜(5)”に変更することができる。
【0063】
【数15】
【0064】数15の(1)”式は、数1の(1)式の
0を始点のデータ値y0に置き換え、さらに第2項目の
係数の括弧で囲まれている部分3η3−6η2+4にf1
(η)=−η+1を加え、第3項目の係数の中括弧で囲
まれている部分−3(η−1)3−6(η−1)2+4に
g1(η)=η−1を加えた式である。数15の
(2)”式は、数1の(2)式のQ0を始点のデータ値
0に置き換えた式である。数15の(3)”式は、数
1の(3)式と同じ式である。数15の(4)”式は、
数1の(4)式のQnm-1を終点のデータ値yn-1に置き
換えた式である。数15の(5)”式は、数1の(5)
式のQnm-1を終点のデータ値yn-1に置き換え、さらに
第2項目の係数の括弧で囲まれている部分3η3−6η2
+4にf2(η)=−ηを加え、第3項目の係数の中括
弧で囲まれている部分−3(η−1)3−6(η−1)2
+4にg2(η)=ηを加えた式である。
【0065】以上の式の変形は、η=0のとき(1)”
式が必ず始点のデータ値y0となり、η=inm-1のとき
(5)”式が必ず終点のデータ値yn-1となるようにし
たものである。また、B−スプラインではアフィン性を
保つために、各項の係数の和が1になるようにしなけれ
ばならないが、その条件を満たすように変形したもので
ある。これにより、始点および終点をコントロールポイ
ントとして扱うと同時に、始点および終点を必ず通るよ
うにできる。したがって、ゲーム映像の制作において不
可欠なモーション補間計算などのためのデータ(始点お
よび終点)を直接利用できる。
【0066】なお、上記数15の(1)”〜(5)”式
のように変形したことに伴い、数2〜数4の(6)〜
(12)式は、下記の数16〜数17の(6)”〜(1
2)”式に置き換える。その後は、(13)式以降の処
理と同様にすればよい。
【0067】
【数16】
【0068】
【数17】
【0069】図8は、図7と同様の正弦波の形状に近い
モーションダンプデータ(黒点で示してある)を上記第
2の変形例の手法で近似した例を示す。801〜806
に示す点がキーフレームの位置のコントロールポイント
であり、811〜813はこれらのコントロールポイン
トを連結した直線である。820はこれらのコントロー
ルポイントから生成した簡易B−スプライン曲線を示
す。少ないコントロールポイントで高精度に元のデータ
を近似でき、さらに始点と終点をコントロールポイント
として扱うと同時に、始点および終点を必ず通るように
曲線が生成されていることが分かる。
【0070】また図10に、発明が解決しようとする課
題の欄で説明した図9のモーションダンプデータを対象
として、上述した第2の変形例の手法で求めたコントロ
ールポイントを直線で連結したグラフを示す。黒丸の点
がコントロールポイントである。図11に、そのコント
ロールポイントから生成した簡易B−スプライン曲線を
示す。図から分かるように、少ないコントロールポイン
トで元のモーションダンプデータを高精度に近似する曲
線が得られることが分かる。
【0071】次に、上記の実施の形態に関する第3の変
形例を説明する。上記実施の形態の手法ではキーフレー
ムは、始点、終点、最大点、最小点、極大点、極小点、
変曲点、および曲率半径の極小点を抽出してキーフレー
ムとしている。しかし、キーフレームが多く存在する部
分と少ない部分がある場合など、分布に偏りがある場合
がある。この場合、多い部分の不要と思われるキーフレ
ームを削除し、少ない部分にキーフレームを充当した
い。
【0072】そのため、第3の変形例では、モーション
ダンプデータを機械的に分割し、それぞれの区間で上記
実施の形態の手法で簡易B−スプライン曲線を生成す
る。そして、各区間で、生成した簡易B−スプライン曲
線と元のモーションダンプデータとの間で2乗平均誤差
を算出し、該2乗平均誤差が最小の区間のキーフレーム
(その区間のキーフレームの中で、生成した簡易B−ス
プライン曲線と元のモーションダンプデータとの誤差が
最も小さいキーフレームを選ぶ)をはずし、2乗平均誤
差が最大の区間に充当する(その区間のデータ誤差が最
も大きい個所にキーフレームを置く)。また、2乗平均
誤差が最小の区間以外の区間であって、指定された2乗
平均誤差の値より大きい2乗平均誤差を持つ区間に対し
ては、新たにキーフレームを追加する(その区間のデー
タ誤差が最も大きい個所にキーフレームを置く)。以上
により、キーフレームの分布の偏りを排除することがで
きる。
【0073】キーフレームの分布の偏りを排除する手法
としては、次の第4の変形例のようにしてもよい。第4
の変形例は、モーションダンプデータが大きく変化して
いる区間より平坦な区間に重点的にキーフレームを置く
ものである。
【0074】具体的には、図2のステップ203におけ
るキーフレームの削減処理を、以下のようにする。まず
すべてのキーフレーム候補点(始点、終点、最大点、最
小点、極大点、極小点、変曲点など)について、初期値
が0であるフラグ値flag[m](mは整列後フレーム番号
であり、m=0,1,…,nm−1)を用意する。次
に、重要なキーフレームのフラグ値flag[m]を4とす
る。ここでは、始点および終点のフラグ値を4とする。
次に、すべての隣合うキーフレーム候補の高さの差が条
件以上あれば各フラグ値に1を加える処理を行なう。す
なわち、|yim−y im+1|≧α(ymax−ymin)が成り
立つか否かを判定し、成り立つ場合はflag[m]およびfal
g[m+1]をインクリメントする。
【0075】図5(a)〜図5(h)は、それぞれフラ
グ値のパターンを示す。黒丸の点はキーフレームの点を
示す。この黒丸の上下の位置関係はそのキーフレームデ
ータ値の大小関係を示す(上側にある点のデータ値は大
きく、下側にある点のデータ値は小さい)。黒丸と黒丸
をつなぐ線分に付してある「大」は、これらの点が上記
条件|yim−yim+1|≧α(ymax−ymin)を満たす隣
り合うキーフレームであることを示す。「小」は、上記
条件を満たさない隣り合うキーフレームであることを示
す。黒丸の近傍に記載した「1」や「2」の数字は、そ
のキーフレームのフラグ値flag[m]を示す。
【0076】さらに、あるキーフレーム候補点の近傍の
モーションダンプデータの平均点傾きを求め、それが条
件以下であればフラグ値に1を加える。図6に、そのよ
うなキーフレーム候補点601を示す。ここで、近似直
線式をy=a0+a1・xとおくと、最小2乗法により、
0,a1は次の数18で与えられる。以上のようにし
て、平坦な区間の中央付近のフラグ値を大きくしてや
り、その後、フラグ値が1以下のキーフレーム候補を削
減するようにする。
【0077】
【数18】
【0078】これにより、上記実施の形態では削減され
てしまう図6のキーフレーム601などが削減されなく
なるので、キーフレームの分布の偏りを無くすことがで
きる。
【0079】
【発明の効果】以上説明したように、本発明によれば、
一連のディジタルデータ列からそのデータ列の形状を近
似する自由曲線を生成する場合に、簡易B−スプライン
曲線を用いているので、より少ないデータで高精度に元
のデータの形状を近似することができる。また、簡易B
−スプライン曲線がモーションダンプデータの始点およ
び終点を必ず通るようにできるので、複数のモーション
・スプライン・データを接合する際に連続的に接合でき
る。また、始点および終点をコントロールポイントとし
て扱うと同時に、始点および終点を必ず通るように曲線
を生成できるので、ゲーム映像の制作において不可欠な
モーション補間計算などのためのデータ(始点および終
点)を直接利用できる。さらに、キャラクタの異なる動
きのスムーズな補間による滑らかな連続モーションの生
成に利用できる。キャラクタの動きをスローモーション
再生する場合もスムーズな動きを実現できる。
【図面の簡単な説明】
【図1】本発明の実施の形態に係るデータ処理装置のブ
ロック構成図
【図2】自由曲線によるデータ圧縮の処理の流れの概要
を示すフローチャート図
【図3】処理対象であるモーションダンプデータの例を
示す図
【図4】簡易B−スプライン曲線の表現例を示す図
【図5】フラグ値のパターンを示す図
【図6】平坦部の中央部付近にキーフレームを設ける例
を示す図
【図7】簡易B−スプライン曲線補間の結果(その1)
を示す図
【図8】簡易B−スプライン曲線補間の結果(その2)
であり、始点と終点を必ず通る例を示す図
【図9】モーションダンプデータの例を示す図
【図10】コントロールポイントを直線で連結したグラ
フを示す図
【図11】簡易B−スプライン曲線補間の結果の例を示
す図
【図12】従来のCGソフトによる3次エルミート曲線
補間例を示す図
【符号の説明】 101…CPU(中央処理装置)、102…ランダムア
クセスメモリ(RAM)、103…リードオンリメモリ
(ROM)、104…表示装置、105…入力装置、1
06…ハードディスク、107…モーション・キャプチ
ャ・システム。

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】一連のディジタルデータ列から、該データ
    列の形状を近似する最適化自由曲線を求めるデータ処理
    方法において、 前記最適化自由曲線を、y軸方向のデータ値はB−スプ
    ライン曲線の式で表現し、x軸方向はB−スプライン曲
    線のパラメータと線形関係になる式で表現した簡易B−
    スプライン曲線で表すことを特徴とするデータ処理方
    法。
  2. 【請求項2】前記y軸方向のデータ値を表現するB−ス
    プライン曲線の式が、該B−スプライン曲線の形状を決
    定するコントロールポイントの始点および終点が、前記
    一連のディジタルデータ列の始点と終点に一致するよう
    に変形したものである請求項1に記載のデータ処理方
    法。
  3. 【請求項3】前記y軸方向のデータ値を表現するB−ス
    プライン曲線の式に対し、前記一連のディジタルデータ
    列の始点の位置の前、および終点の位置の後に、新たに
    コントロールポイントを設定し、該コントロールポイン
    トのデータ値を、生成したB−スプライン曲線が前記一
    連のディジタルデータ列の始点および終点を通るように
    設定した請求項1に記載のデータ処理方法。
  4. 【請求項4】一連のディジタルデータ列から、該データ
    列の形状を近似する最適化自由曲線を求めるデータ処理
    方法において、 前記一連のディジタルデータ列から、始点、終点、最大
    点、最小点、極大点、極小点、変曲点、および/または
    曲率半径の極小点を、キーフレームとして自動抽出する
    キーフレーム抽出ステップと、 前記自動抽出したキーフレームから所定の削減条件を満
    たすキーフレームを削減するキーフレーム削減ステップ
    と、 削減後に残ったキーフレームから元のデータ列を近似す
    る自由曲線であって、y軸方向のデータ値はB−スプラ
    イン曲線の式で表現し、x軸方向はB−スプライン曲線
    のパラメータと線形関係になる式で表現した簡易B−ス
    プライン曲線で表わす自由曲線を生成する自由曲線生成
    ステップと、 生成した自由曲線が所定の近似度で元のデータ列を近似
    しているか否かを判定する判定ステップと、 前記判定ステップにより所定の近似度で元のデータ列を
    近似していると判定された場合、その自由曲線を定義す
    るデータを記憶するステップとを備えたことを特徴とす
    るデータ処理方法。
  5. 【請求項5】請求項1から3の何れか1つに記載のデー
    タ処理方法に係るプログラムを格納したことを特徴とす
    る記憶媒体。
JP9829098A 1998-03-25 1998-03-25 データ処理方法、および該方法に係るプログラムを格納した記憶媒体 Expired - Fee Related JP3422684B2 (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JPH11272879A true JPH11272879A (ja) 1999-10-08
JP3422684B2 JP3422684B2 (ja) 2003-06-30

Family

ID=14215806

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP3422684B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008140364A (ja) * 2006-07-24 2008-06-19 Advanced Telecommunication Research Institute International リップシンクアニメーション作成装置、コンピュータプログラム及び顔モデル生成装置
EP2733672A1 (en) 2012-11-16 2014-05-21 Square Enix Co., Ltd. Information processing apparatus, control method, program, and recording medium
KR20160027781A (ko) * 2014-09-02 2016-03-10 동서대학교산학협력단 멀티미디어 컨텐츠 개발용 유니티 게임엔진에서의 카메라 모션 프레임 생성 프로그램모듈, 그리고 이를 이용한 cmf 파일 생성 방법
JP2019102025A (ja) * 2017-12-08 2019-06-24 株式会社スクウェア・エニックス アニメーションデータ圧縮プログラム、アニメーションデータ復元プログラム、アニメーションデータ圧縮装置、及びアニメーションデータ圧縮方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008140364A (ja) * 2006-07-24 2008-06-19 Advanced Telecommunication Research Institute International リップシンクアニメーション作成装置、コンピュータプログラム及び顔モデル生成装置
JP4617500B2 (ja) * 2006-07-24 2011-01-26 株式会社国際電気通信基礎技術研究所 リップシンクアニメーション作成装置、コンピュータプログラム及び顔モデル生成装置
EP2733672A1 (en) 2012-11-16 2014-05-21 Square Enix Co., Ltd. Information processing apparatus, control method, program, and recording medium
JP2014102578A (ja) * 2012-11-16 2014-06-05 Square Enix Co Ltd 情報処理装置、制御方法、プログラム、及び記録媒体
US9111388B2 (en) 2012-11-16 2015-08-18 Square Enix Co., Ltd. Information processing apparatus, control method, and recording medium
KR20160027781A (ko) * 2014-09-02 2016-03-10 동서대학교산학협력단 멀티미디어 컨텐츠 개발용 유니티 게임엔진에서의 카메라 모션 프레임 생성 프로그램모듈, 그리고 이를 이용한 cmf 파일 생성 방법
JP2019102025A (ja) * 2017-12-08 2019-06-24 株式会社スクウェア・エニックス アニメーションデータ圧縮プログラム、アニメーションデータ復元プログラム、アニメーションデータ圧縮装置、及びアニメーションデータ圧縮方法

Also Published As

Publication number Publication date
JP3422684B2 (ja) 2003-06-30

Similar Documents

Publication Publication Date Title
US6208360B1 (en) Method and apparatus for graffiti animation
US6307554B1 (en) Apparatus and method for generating progressive polygon data, and apparatus and method for generating three-dimensional real-time graphics using the same
US6236403B1 (en) Modeling and deformation of 3-dimensional objects
US7643026B2 (en) NURBS surface deformation apparatus and the method using 3D target curve
US7570264B2 (en) Rig baking
JP3380231B2 (ja) 3次元スケルトンデータ圧縮装置
US8593455B2 (en) Method and system for compressing and decoding mesh data with random accessibility in three-dimensional mesh model
JP2008544413A (ja) 体積グラフラプラシアンを使用する大規模メッシュ変形
Anastacio et al. Modeling plant structures using concept sketches
US7116844B2 (en) Method for generating vector data for a hand-drawn curve
JP3422684B2 (ja) データ処理方法、および該方法に係るプログラムを格納した記憶媒体
Zorin Modeling with multiresolution subdivision surfaces
JP3250841B2 (ja) 図形データの処理方法及び装置
Togawa et al. Position-based keyframe selection for human motion animation
Draper et al. A Gestural Interface to Free-Form Deformation.
JP3408136B2 (ja) データ処理装置、データ処理方法、および該方法に係るプログラムを格納した記憶媒体
JP4546755B2 (ja) 解析モデルの作成支援装置
JP3505361B2 (ja) アニメーション作成装置および記録媒体
Ahn et al. Out-of-core remeshing of large polygonal meshes
JP2003281566A (ja) 画像処理装置および方法、記録媒体、並びにプログラム
JP2000215315A (ja) 図形分類方法、図形検索方法、図形分類検索システム及び記録媒体
JP2972047B2 (ja) スイープ立体生成装置
CN114820596B (zh) 基于联合模型的弯曲染色体图像拉直方法
JP3511301B2 (ja) 曲面データ生成方法
JP3505360B2 (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 (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080425

Year of fee payment: 5

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20090425

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100425

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100425

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100425

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110425

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110425

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120425

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130425

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20130425

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20140425

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees