JP3422684B2 - Data processing method, and storage medium storing program according to the method - Google Patents

Data processing method, and storage medium storing program according to the method

Info

Publication number
JP3422684B2
JP3422684B2 JP9829098A JP9829098A JP3422684B2 JP 3422684 B2 JP3422684 B2 JP 3422684B2 JP 9829098 A JP9829098 A JP 9829098A JP 9829098 A JP9829098 A JP 9829098A JP 3422684 B2 JP3422684 B2 JP 3422684B2
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.)
Expired - Fee Related
Application number
JP9829098A
Other languages
Japanese (ja)
Other versions
JPH11272879A (en
Inventor
哲治 馬場
康雄 大場
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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/en
Publication of JPH11272879A publication Critical patent/JPH11272879A/en
Application granted granted Critical
Publication of JP3422684B2 publication Critical patent/JP3422684B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、一連のディジタル
データ列から、そのデータ列の形状を近似する自由曲線
を得ることのできるデータ処理方法、および該方法に係
るプログラムを格納した記憶媒体に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data processing method capable of obtaining a free curve approximating the shape of a data string from a series of digital data strings, and a storage medium storing a program according to the method.

【0002】[0002]

【従来の技術】一連のディジタルデータ列をあらかじめ
圧縮して保持しておき、必要になったときに、その圧縮
されたデータから元のディジタルデータ列を復元する技
術は、種々のデータ処理においてしばしば要求される技
術である。例えば、コンピュータグラフィックス(C
G)の映像製作、ゲーム製作、あるいはパソコンソフト
のCG映像製作などにおいて、あるキャラクタの動きを
表現するモーションダンプデータは、比較的大容量にな
るため、記憶するときにはそれを圧縮して記憶装置に格
納しておき、表示するときにその圧縮データから元のモ
ーションダンプデータを復元して表示する手法をとる。
2. Description of the Related Art A technique for preliminarily compressing and holding a series of digital data strings and restoring the original digital data string from the compressed data when needed is often used in various data processing. This is a required technology. For example, computer graphics (C
In G) video production, game production, CG video production of personal computer software, etc., the motion dump data expressing the movement of a certain character has a relatively large capacity, so when storing it, compress it to a storage device. The method is to store the data and restore the original motion dump data from the compressed data to display the compressed data.

【0003】以下、ゲーム製作における上述したような
モーションダンプデータの処理を例にして説明する。近
年、ゲーム(例えば、格闘ゲームなど)中のキャラクタ
の動きを表現するモーションダンプデータを実際に人が
同じ動きをして取り込む、いわゆるモーション・キャプ
チャ・システムが、知られている。これは例えば、人の
体の幾つかの測定点(関節部分など)に光を反射する物
体を付けておき、実際にその人の動きをビデオカメラで
撮影し、その物体の動きを捉えて、その測定点の3次元
座標上での変化や各軸回りの角度の変化をモーションダ
ンプデータとして取り込むものである。1つの測定点ご
とに位置座標や角度などの複数のパラメータを取り込む
ことになり、さらにそれぞれのパラメータは、例えば1
/60秒単位で1データを取り込むことになるので、数
秒間の動きであっても、モーションダンプデータ全体の
容量は大容量になることが多い。
Hereinafter, processing of the above-mentioned motion dump data in game production will be described as an example. 2. Description of the Related Art In recent years, a so-called motion capture system has been known in which a person actually takes in the motion dump data representing the motion of a character in a game (for example, a fighting game) by making the same motion. For example, an object that reflects light is attached to some measurement points (joints, etc.) of a human body, and the motion of that person is actually captured by a video camera, and the motion of that object is captured. The change in the three-dimensional coordinates of the measurement point and the change in the angle around each axis are captured as motion dump data. A plurality of parameters such as position coordinates and angles are taken in for each measurement point, and each parameter is, for example, 1
Since one data is fetched in a unit of / 60 seconds, the entire capacity of the motion dump data is often large even if the motion is for several seconds.

【0004】取り込んだモーションダンプデータは、C
D−ROMなどにゲームプログラムとともに格納し、ゲ
ームの進行に応じてキャラクタにその動きをさせる場面
になったとき、当該モーションダンプデータを読み出
し、それにしたがってキャラクタを表示しその動きをさ
せる。CD−ROMなどの記憶媒体の記憶容量には限り
があるので、できる限りモーションダンプデータの容量
は圧縮して格納したい。従来は、各フレーム(所定間隔
(例えば1/60秒)ごとに表示する1画面をフレーム
と呼ぶ)ごとのモーションダンプデータを差分圧縮して
記憶しておき、使用時に伸長復元して元のモーションダ
ンプデータを得る手法が採られていた。
The captured motion dump data is C
The motion dump data is stored in a D-ROM or the like together with the game program, and when the character moves in accordance with the progress of the game, the motion dump data is read, and the character is displayed and moved accordingly. Since the storage capacity of a storage medium such as a CD-ROM is limited, it is desirable to compress and store the capacity of motion dump data as much as possible. Conventionally, motion dump data for each frame (one screen displayed at a predetermined interval (for example, 1/60 seconds) is called a frame) is differentially compressed and stored, and is expanded and restored when used to restore the original motion. The method of obtaining dump data was adopted.

【0005】一方、ゲーム製作現場では、モーション・
キャプチャ・システムにより取り込んだモーションダン
プデータ(ここでは、1つのパラメータに着目)から幾
つかの特徴点(キーフレーム)を自動的に抽出し、抽出
したキーフレームデータから最適スプライン化を行なっ
て得た自由曲線を定義する係数を記憶媒体に格納してお
き、使用時にはその自由曲線から元のモーションダンプ
データを近似するデータ列を生成出力するCGソフトウ
エアが使用されている。
On the other hand, at the game production site, motion
Obtained by automatically extracting some feature points (keyframes) from the motion dump data (here, paying attention to one parameter) captured by the capture system, and performing optimal spline conversion from the extracted keyframe data. CG software is used which stores a coefficient defining a free curve in a storage medium and generates and outputs a data sequence approximating the original motion dump data from the free curve when used.

【0006】[0006]

【発明が解決しようとする課題】上述したデータを差分
圧縮して記憶しておき使用時に伸長復元して元のデータ
を得る手法によれば、元のデータを精度よく復元できる
が、データの圧縮度を上げるのに限度があるという不都
合がある。圧縮方式として他の方式を用いたとしても、
基本的にすべてのフレームが元通りに復元できるように
データを圧縮して保持する方式であり、圧縮度に限度が
あることには変わりがない。
According to the method of differentially compressing and storing the above-mentioned data and decompressing and restoring the data at the time of use to obtain the original data, the original data can be accurately restored. There is an inconvenience that there is a limit to increasing the degree. Even if another compression method is used,
Basically, this is a method of compressing and retaining data so that all frames can be restored to their original state, and there is no change in the degree of compression.

【0007】また、従来技術では、基本的に、モーショ
ンダンプデータを取り込むレートとそのモーションダン
プデータを表示するレートは同じであることが前提であ
った。例えば、1/60秒ごとに各フレームを取り込ん
だ場合は、表示するときも1/60秒ごとにそれらのフ
レームのデータを用いた表示を行なう、ということであ
る。しかし、近年のゲームなどでは多様な表示態様が要
求されることが少なくなく、例えば、ある動きをスロー
モーションで表示する場合などがある。スローモーショ
ンの場合、モーションダンプデータの取り込みのレート
と表示のレートが異なることになり、フレームとフレー
ムとの間を補間する必要が生じる。この場合、従来はフ
レームとフレームとの間を直線補間して表示していた。
そのため、動きがぎこちなくなってしまうという不都合
があった。
Further, in the prior art, it was basically assumed that the rate at which the motion dump data was taken in was the same as the rate at which the motion dump data was displayed. For example, when each frame is captured every 1/60 seconds, the display using the data of those frames is performed every 1/60 seconds when displaying. However, in recent games and the like, various display modes are often required, and for example, a certain motion may be displayed in slow motion. In the case of slow motion, the capture rate of motion dump data and the display rate are different, and it becomes necessary to interpolate between frames. In this case, conventionally, a frame is interpolated and displayed between frames.
Therefore, there is an inconvenience that the movement becomes awkward.

【0008】一方、従来のCGソフトでは、全フレーム
のモーションダンプデータを保持するのでなく、あらか
じめ幾つかの特徴点(キーフレーム)から求められた自
由曲線を保持し、使用時にはその自由曲線に基づいて元
のモーションダンプデータを近似するデータ列を出力す
るので、データの圧縮度は高くできる。しかし、現在使
用されているCGソフトでは、復元したデータと元のデ
ータとの乖離が大きく、実用上問題があることが多い。
以下、従来のCGソフトを使用した処理例について説明
する。
On the other hand, the conventional CG software does not retain the motion dump data of all frames, but retains a free curve obtained from some feature points (key frames) in advance, and based on the free curve when used. Since a data string that approximates the original motion dump data is output, the degree of data compression can be increased. However, in the CG software currently used, the difference between the restored data and the original data is large, and there are many problems in practical use.
Hereinafter, an example of processing using conventional CG software will be described.

【0009】図9は、人が実際にある動作を行なったと
きのある測定点のあるパラメータ(位置座標や角度)の
変化(例えば人の鎖骨の回転の動きなど)を示すモーシ
ョンダンプデータのグラフである。横軸は、時間すなわ
ちフレームを示し、ここでは100フレーム程度のモー
ションダンプデータの一部(横軸で75〜100フレー
ム辺りは省略)を示す。縦軸は、データ値を示す。図1
2は、図9のモーションダンプデータを従来のCGソフ
トで処理した例を示す。点線1201は入力したモーシ
ョンダンプデータを示すグラフである。1211や12
12は、CGソフトが自動的に抽出したキーフレームで
ある。ここでは、100フレーム程度のモーションダン
プデータに対し20フレーム程度のキーフレームを抽出
するように調整した(ただし、横軸で85〜100フレ
ーム辺りは省略)。各キーフレームの点には、レバーと
呼ばれる補助線1221や1222が表示されている。
実線1202は、これらのキーフレームから復元したデ
ータ列(最適スプライン化の結果である自由曲線)を示
す。この図から分かるように、元のデータを示す点線1
201と復元したデータ列を示す実線1202とに大き
な乖離が見られ、実用上の問題があることが分かる。も
ちろんキーフレームの数を多く設定すれば、高精度に元
のモーションダンプデータを復元できることは明らかで
あるが、その場合はデータの圧縮度を上げることができ
なくなる。
FIG. 9 is a graph of motion dump data showing a change (for example, a rotational movement of the clavicle of a person) of a certain parameter (positional coordinate or angle) at a certain measurement point when the person actually performs a certain action. Is. The horizontal axis indicates time, that is, a frame, and here, a part of the motion dump data of about 100 frames (around the horizontal axis of 75 to 100 frames is omitted) is shown. The vertical axis represents the data value. Figure 1
2 shows an example in which the motion dump data of FIG. 9 is processed by conventional CG software. A dotted line 1201 is a graph showing the input motion dump data. 1211 and 12
Reference numeral 12 is a key frame automatically extracted by the CG software. Here, adjustment was made so that key frames of about 20 frames were extracted from the motion dump data of about 100 frames (however, about 85 to 100 frames on the horizontal axis are omitted). At the points of each key frame, auxiliary lines 1221 and 1222 called levers are displayed.
A solid line 1202 shows a data string (free curve which is the result of the optimal spline) restored from these key frames. As can be seen from this figure, dotted line 1 showing the original data
There is a large discrepancy between 201 and the solid line 1202 indicating the restored data string, which shows that there is a practical problem. Of course, it is obvious that the original motion dump data can be restored with high accuracy by setting a large number of key frames, but in that case, the compression degree of the data cannot be increased.

【0010】本発明は、上述の従来形における問題点に
鑑み、一連のディジタルデータ列からそのデータ列の形
状を近似する自由曲線を生成する場合に、より少ないデ
ータで高精度に元のデータの形状を近似できるようにす
ることを目的とする。また、スローモーション表示を行
なう場合に、動きがぎこちなくなくなることのないよう
に、元のデータを近似できるようにすることを目的とす
る。
In view of the above-mentioned problems in the conventional form, the present invention uses a smaller amount of data and a high precision of the original data when a free curve approximating the shape of the data sequence is generated from a series of digital data sequences. The purpose is to be able to approximate the shape. Another object is to be able to approximate the original data so that the motion does not become awkward when performing slow motion display.

【0011】[0011]

【課題を解決するための手段】上記目的を達成するた
め、請求項1に係る発明は、処理装置上で所定のプログ
ラムを動作させることにより、一連のディジタルデータ
列から、該データ列の形状を近似する最適化自由曲線を
求めるデータ処理方法であって前記プログラムは、前
記一連のディジタルデータ列から、y軸方向のデータ値
はB−スプライン曲線の式で表現し、x軸方向はB−ス
プライン曲線のパラメータと線形関係になる式で表現し
た簡易B−スプライン曲線で表されるデータ構造の最適
化自由曲線を生成するものであることを特徴とする。
In order to achieve the above object, the invention according to claim 1 provides a predetermined program on a processing device.
By operating the ram, a series of digital data string, a data processing method for obtaining the optimized free curve approximating the shape of the data string, the program, before
From the series of digital data strings, the data value in the y-axis direction is expressed by the formula of the B-spline curve, and the x-axis direction is the simple B-spline curve expressed by the formula having a linear relationship with the parameter of the B-spline curve. the best of the table is the data structure
It is characterized by generating a free-form curve .

【0012】請求項2に係る発明は、請求項1におい
て、前記y軸方向のデータ値を表現するB−スプライン
曲線の式、該B−スプライン曲線の形状を決定するコ
ントロールポイントの始点および終点が前記一連のディ
ジタルデータ列の始点と終点に一致するように変形し
該変形した式で表現されるデータ構造の最適化自由曲線
を生成することを特徴とする。
[0012] The invention according to claim 2, in claim 1, the formula of B- spline curve representing the data values of the y-axis direction, the B- start and end points of the control points which determine the shape of the spline curve There deformed to match the start and end points of the previous SL series of digital data sequence,
Optimized free curve of data structure expressed by the modified formula
Is generated .

【0013】請求項3に係る発明は、請求項1におい
て、前記y軸方向のデータ値を表現するB−スプライン
曲線の式に対し、前記一連のディジタルデータ列の始点
の位置の前、および終点の位置の後に、新たにコントロ
ールポイントを設定し、該コントロールポイントのデー
タ値を、生成したB−スプライン曲線が前記一連のディ
ジタルデータ列の始点および終点を通るように設定した
ことを特徴とする。
According to a third aspect of the present invention, in the first aspect, with respect to the expression of the B-spline curve expressing the data value in the y-axis direction, before and after the position of the start point of the series of digital data strings. After the position of, a control point is newly set, and the data value of the control point is set so that the generated B-spline curve passes through the start point and end point of the series of digital data strings.

【0014】請求項4に係る発明は、一連のディジタル
データ列から、該データ列の形状を近似する最適化自由
曲線を求めるデータ処理方法において、前記一連のディ
ジタルデータ列から、始点、終点、最大点、最小点、極
大点、極小点、変曲点、および/または曲率半径の極小
点を、キーフレームとして自動抽出するキーフレーム抽
出ステップと、前記自動抽出したキーフレームから所定
の削減条件を満たすキーフレームを削減するキーフレー
ム削減ステップと、削減後に残ったキーフレームから元
のデータ列を近似する自由曲線であって、y軸方向のデ
ータ値はB−スプライン曲線の式で表現し、x軸方向は
B−スプライン曲線のパラメータと線形関係になる式で
表現した簡易B−スプライン曲線で表わす自由曲線を生
成する自由曲線生成ステップと、生成した自由曲線が所
定の近似度で元のデータ列を近似しているか否かを判定
する判定ステップと、前記判定ステップにより所定の近
似度で元のデータ列を近似していると判定された場合、
その自由曲線を定義するデータを記憶するステップとを
備えたことを特徴とする。
According to a fourth aspect of the present invention, in a data processing method for obtaining an optimized free curve that approximates the shape of a data string from a series of digital data strings, a start point, an end point, and a maximum are obtained from the series of digital data strings. A keyframe extracting step of automatically extracting points, minimum points, maximum points, minimum points, inflection points, and / or minimum points of curvature radius as keyframes, and a predetermined reduction condition from the automatically extracted keyframes A keyframe reduction step of reducing keyframes, and a free curve that approximates the original data string from the remaining keyframes after reduction, where the data values in the y-axis direction are expressed by the B-spline curve formula, and the x-axis A free curve generation for generating a free curve represented by a simple B-spline curve expressed by a formula whose direction has a linear relationship with the parameter of the B-spline curve. A step, a determination step of determining whether or not the generated free curve approximates the original data string with a predetermined degree of approximation, and an approximation of the original data string with a predetermined degree of approximation by the determination step. If judged,
Storing data defining the free-form curve.

【0015】請求項5に係る発明は、請求項1から4の
何れか1つに記載のデータ処理方法に係るプログラムを
格納した記憶媒体に関するものである。
The invention according to claim 5 relates to a storage medium storing a program according to the data processing method according to any one of claims 1 to 4.

【0016】[0016]

【発明の実施の形態】以下、図面を用いて本発明の実施
の形態を説明する。
BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described below with reference to the drawings.

【0017】図1は、本発明の第1の実施の形態に係る
データ処理装置のブロック構成を示す。本装置は、CP
U(中央処理装置)101、ランダムアクセスメモリ
(RAM)102、リードオンリメモリ(ROM)10
3、表示装置104、入力装置105、ハードディスク
106、モーション・キャプチャ・システム107、お
よびバスライン108を備えている。本装置は、例え
ば、汎用のワークステーションやパーソナルコンピュー
タにモーション・キャプチャ・システム107を接続し
たもので良い。
FIG. 1 shows a block configuration of a data processing apparatus according to the first embodiment of the present invention. This device is CP
U (central processing unit) 101, random access memory (RAM) 102, read only memory (ROM) 10
3, a display device 104, an input device 105, a hard disk 106, a motion capture system 107, and a bus line 108. This apparatus may be, for example, a general-purpose workstation or personal computer to which the motion capture system 107 is connected.

【0018】CPU101は、この装置全体の動作を制
御する処理装置である。RAM102は、CPU101
が実行するプログラムをロードする領域や処理対象デー
タのワーク領域などに使用するメモリである。ROM1
03は、BIOS(Basic Input/Output System)など
の基本的なソフトウエアや各種パラメータなどが格納さ
れている不揮発メモリである。表示装置104は、CP
U101の指示に応じて各種の情報を表示するディスプ
レイである。入力装置105は、ユーザが操作して本装
置に指示を与えるためのキーボードやマウスなどであ
る。ハードディスク106は、プログラムやデータを格
納する補助記憶装置である。モーション・キャプチャ・
システム107は、人の動きを撮影してモーションダン
プデータを取り込むシステムである。
The CPU 101 is a processing device that controls the operation of the entire device. RAM 102 is CPU 101
Is a memory used as an area for loading programs to be executed by, and a work area for data to be processed. ROM1
A non-volatile memory 03 stores basic software such as a BIOS (Basic Input / Output System) and various parameters. The display device 104 is a CP
It is a display that displays various kinds of information in response to an instruction from U101. The input device 105 is a keyboard, a mouse or the like that is operated by a user to give an instruction to the present device. The hard disk 106 is an auxiliary storage device that stores programs and data. Motion capture
The system 107 is a system that captures motion dump data by capturing a motion of a person.

【0019】ユーザは、入力装置105を操作すること
により、モーション・キャプチャ・システム107を動
作させ、モーションダンプデータを取り込むことができ
る。取り込んだモーションダンプデータは、いったんハ
ードディスク106に格納される。また、ユーザは、入
力装置105を操作することにより、このモーションダ
ンプデータの形状を高精度に近似する自由曲線を求め
て、結果としてデータ圧縮する処理(図2などを参照し
て後に詳述する)を行なうことができる。表示の際に
は、求めた自由曲線に基づいて、元のモーションダンプ
データを所定の精度で近似するデータ列を生成出力(復
元)できる。求めた自由曲線を定義する係数データは、
ハードディスク106に格納される。
By operating the input device 105, the user can operate the motion capture system 107 to capture the motion dump data. The captured motion dump data is temporarily stored in the hard disk 106. In addition, the user operates the input device 105 to obtain a free curve that approximates the shape of the motion dump data with high accuracy, and as a result, compresses the data (described later in detail with reference to FIG. 2 and the like). ) Can be done. At the time of display, a data string that approximates the original motion dump data with a predetermined accuracy can be generated and output (restored) based on the obtained free curve. The coefficient data that defines the obtained free curve is
It is stored in the hard disk 106.

【0020】この自由曲線を定義する係数データを読み
出して、例えばゲームプログラムとともにCD−ROM
などに格納する。そのCD−ROMをゲーム機に装着し
てゲームを実行しているとき、必要に応じてその自由曲
線に基づいてデータ列を生成出力する。この自由曲線
は、元のモーションダンプデータを所定の精度で近似し
たものであるので、このデータ列を用いてゲーム中のキ
ャラクタに所定の動作をさせることができる。
The coefficient data defining this free curve is read out, for example, a CD-ROM together with the game program.
Etc. When the game is executed by mounting the CD-ROM on a game machine, a data string is generated and output based on the free curve as needed. Since this free curve is an approximation of the original motion dump data with a predetermined accuracy, it is possible to cause the character in the game to perform a predetermined motion by using this data string.

【0021】なお、元のモーションダンプデータを近似
する自由曲線を求めてデータ圧縮する本発明に係るデー
タ処理方法を実現する処理プログラムは、CD−ROM
などの各種の記憶媒体で提供され、あらかじめハードデ
ィスク106にインストールされている。CPU101
は、このプログラムをRAM103上に読み出して実行
することによりその処理を実行する。
The processing program for realizing the data processing method according to the present invention for obtaining a free curve approximating the original motion dump data and compressing the data is a CD-ROM.
It is provided in various storage media such as, and is installed in the hard disk 106 in advance. CPU 101
Executes the processing by reading this program onto the RAM 103 and executing it.

【0022】次に、図1の装置で実行するデータ処理プ
ログラムの手順を説明する。図2は、図1の装置で実行
する最適キーフレームの決定と自由曲線によるデータ圧
縮の処理の流れの概要を示すフローチャートである。前
提として、ハードディスク106に処理対象のモーショ
ンダンプデータが格納されているものとする。
Next, the procedure of the data processing program executed by the apparatus of FIG. 1 will be described. FIG. 2 is a flowchart showing an outline of a flow of processing for determining an optimum key frame and compressing data by a free curve, which is executed by the apparatus of FIG. As a premise, it is assumed that the hard disk 106 stores the motion dump data to be processed.

【0023】図3は、図2の処理の処理対象であるモー
ションダンプデータの例を示す。モーションダンプデー
タは、モーション・キャプチャ・システム107によ
り、例えば人の体の幾つかの測定点の動きを取り込んだ
データであるから、その測定点ごとのデータ(例えば、
肩の動きを示すデータ、ひじの動きを示すデータ、手首
の動きを示すデータ、…など)からなる。1つの測定点
についてのデータは、その測定点の動きを表す幾つかの
パラメータ(例えば、3次元座標や座標軸回りの角度な
ど)ごとのデータからなる。1つのパラメータについて
のデータは、そのパラメータの所定時間ごとのフレーム
データからなる。図3に示したモーションダンプデータ
の例は、ある測定点のあるパラメータについてのデータ
(例えば、人の鎖骨の回転角度)を示すものである。横
軸はフレーム番号(すなわち、時間)iを示し、縦軸は
そのパラメータのデータ値yを示す。ここではデータの
数をn+1とし(したがって、iは0〜n)、フレーム
番号iのデータ値をyiで表す。以下では、このような
ある測定点のあるパラメータのデータに対する処理を説
明するが、他のパラメータのデータについての処理、お
よび他の測定点のパラメータのデータに対する処理も、
同様に行なわれる。
FIG. 3 shows an example of motion dump data which is the processing target of the processing of FIG. The motion dump data is the data captured by the motion capture system 107, for example, the movements of several measurement points of the human body, and therefore the data for each measurement point (for example,
Data showing the movement of the shoulder, data showing the movement of the elbow, data showing the movement of the wrist, etc.). The data for one measurement point is made up of data for each of several parameters (for example, three-dimensional coordinates, angle around the coordinate axis, etc.) indicating the movement of the measurement point. The data for one parameter consists of frame data for that parameter at predetermined time intervals. The example of the motion dump data shown in FIG. 3 shows data (for example, the rotation angle of the human clavicle) about a certain parameter at a certain measurement point. The horizontal axis shows the frame number (that is, time) i, and the vertical axis shows the data value y of the parameter. Here, the number of data is n + 1 (hence i is 0 to n), and the data value of the frame number i is represented by y i . In the following, a process for data of a certain parameter at such a measurement point will be described, but a process for data of another parameter and a process for data of a parameter at another measurement point are also
The same is done.

【0024】図2の処理では、まずステップ201で、
モーションダンプデータを読み出し、キーフレーム候補
点を抽出する。例えば、処理対象のモーションダンプデ
ータのうち、始点のフレームと終点のフレーム、最
大点のフレームと最小点のフレーム、極大点のフレー
ムと極小点のフレーム、変曲点のフレーム、および
曲率半径の極小点のフレームを抽出して、最初のキーフ
レーム(候補点)とする。ステップ201の後、ステッ
プ202で、抽出したキーフレームをフレーム番号順に
並べて整理する。次に、ステップ203で、所定の削減
条件を満たすキーフレームを削減し残りのキーフレーム
を残す。削減条件としては、例えば始点、終点、最大
点、および最小点などの重要なキーフレームを除き、そ
れ以外のキーフレームから、隣り合うフレームがキーフ
レームとして抽出されていてかつそれらのキーフレーム
のデータ値の差が所定値以下の場合に一方のキーフレー
ムを削減する、などの条件を用いる。
In the process of FIG. 2, first, in step 201,
The motion dump data is read and key frame candidate points are extracted. For example, among the motion dump data to be processed, the start point frame and end point frame, the maximum point frame and the minimum point frame, the maximum point frame and the minimum point frame, the inflection point frame, and the minimum radius of curvature. The point frame is extracted and used as the first key frame (candidate point). After step 201, in step 202, the extracted key frames are arranged and arranged in order of frame number. Next, in step 203, the keyframes satisfying the predetermined reduction condition are reduced and the remaining keyframes are left. As a reduction condition, for example, important keyframes such as the start point, the end point, the maximum point, and the minimum point are excluded, and adjacent frames are extracted as keyframes from other keyframes, and the data of those keyframes is extracted. Conditions such as reducing one key frame when the difference in value is less than or equal to a predetermined value are used.

【0025】次に、ステップ204では、ステップ20
2と同様にしてキーフレームをフレーム番号順に整理
(並び替え)する。ステップ205で、その時点で残っ
ているキーフレームデータに基づいて、元のモーション
ダンプデータ(図3)を近似する自由曲線を生成する。
以下、ステップ205の自由曲線の生成方法について詳
しく説明する。
Next, in step 204, step 20
In the same manner as in 2, the key frames are arranged (sorted) in the order of frame numbers. In step 205, a free curve approximating the original motion dump data (FIG. 3) is generated based on the key frame data remaining at that time.
The method of generating the free curve in step 205 will be described in detail below.

【0026】本発明では、真性のB−スプライン曲線の
式を若干変形したものである簡易B−スプライン曲線を
用いて自由曲線を表現する。図4は、簡易B−スプライ
ン曲線による表現例を示す。x軸はフレーム(時間軸)
を示し、y軸はデータ値を示す。各フレームのデータ値
に対し、401〜403などのように好適なキーフレー
ムi0,i1,i2,…,im,…を抽出し(キーフレーム
の点をコントロールポイントと呼ぶ)、該コントロール
ポイントのデータ値Q0,Q1,Q2,…,Qim,…を用
いて簡易B−スプライン曲線411,412を表現す
る。簡易B−スプライン曲線は、下記の数1の(1)〜
(5)式で表現される。
In the present invention, a free-form curve is represented by using a simple B-spline curve which is a slight modification of the equation of the true B-spline curve. FIG. 4 shows an example of representation by a simple B-spline curve. x-axis is frame (time axis)
, And the y-axis shows the data value. On the data values of each frame, suitable keyframe i 0, such as 401~403, i 1, i 2, ..., i m, ... ( referred to as a control point to point key frames) extracted and the The simple B-spline curves 411 and 412 are expressed using the control point data values Q 0 , Q 1 , Q 2 , ..., Q im . The simple B-spline curve is expressed by (1)-
It is expressed by equation (5).

【0027】[0027]

【数1】 [Equation 1]

【0028】数1の(1)〜(5)式の表現を下記数2
〜数4の(6)〜(12)式のように書き直す。
Expressions (1) to (5) of the equation 1 are expressed by the following equation 2
~ Rewrite as in Expressions (6) to (12).

【0029】[0029]

【数2】 [Equation 2]

【0030】[0030]

【数3】 [Equation 3]

【0031】[0031]

【数4】 [Equation 4]

【0032】数2〜数4の(6)〜(12)式により、
簡易B−スプライン曲線は下記数5の(13)式で表さ
れる。
From equations (6) to (12) of equations 2 to 4,
The simple B-spline curve is represented by the following equation (13).

【0033】[0033]

【数5】 [Equation 5]

【0034】この(13)式で元のモーションダンプデ
ータ(図3)を近似し、最小2乗法を用いて、誤差の2
乗の総和が最小になるように各コントロールポイントの
データ値Qmを決定する。その条件式は、次の数6で与
えられる。
The original motion dump data (FIG. 3) is approximated by the equation (13), and the error of 2 is calculated by using the least square method.
Th power sum determines the data value Q m of the control points so as to minimize. The conditional expression is given by the following Expression 6.

【0035】[0035]

【数6】 [Equation 6]

【0036】なお、ここでは重み係数wiを導入し、有
意と考えられるキーフレームは、他のフレームよりもそ
の重みを増して処理し、y(x)で与えられる近似式を
なるべくそれらのキーフレームのデータ値の近傍を通過
するようにしている。重み係数wiは、各フレームの有
意性(元のモーションダンプデータの形状を近似する上
で、どれ程の意味を持つかの度合い)に基づいて決定す
ればよいが、例えば、始点、終点、最大点、および最小
点はwi=10とし、極大点(最大点を除く)や極小点
(最小点を除く)はwi=5とし、変曲点はwi=2と
し、その他のキーフレームはwi=1とする、というよ
うに適宜決めればよい。
It should be noted that the weighting factor w i is introduced here, and the key frames considered to be significant are processed with their weights higher than those of other frames, and the approximation formula given by y (x) is processed as much as possible. It passes near the data value of the frame. The weighting factor w i may be determined based on the significance of each frame (how significant it is to approximate the shape of the original motion dump data). For example, the start point, the end point, The maximum and minimum points are w i = 10, the maximum points (excluding the maximum points) and the minimum points (excluding the minimum points) are w i = 5, and the inflection points are w i = 2, and other keys The frame may be appropriately determined such that w i = 1.

【0037】数6は変分問題であり、その停留原理は次
の数7で与えられる。すなわち、数7を解くことによ
り、数6の条件式を満たすQmを求めることができる。
The equation (6) is a variational problem, and its stopping principle is given by the following equation (7). That is, Q m that satisfies the conditional expression of Expression 6 can be obtained by solving Expression 7.

【0038】[0038]

【数7】 [Equation 7]

【0039】数7から下記の数8を導ける。From the equation 7, the following equation 8 can be derived.

【0040】[0040]

【数8】 [Equation 8]

【0041】数8を整理すると、下記の数9となる。The following Equation 9 can be obtained by rearranging Equation 8.

【0042】[0042]

【数9】 [Equation 9]

【0043】数9は、下記の数10の(18)式のよう
におくと、(19)式になる。
The equation (9) is given by the equation (18) of the following equation (10).

【0044】[0044]

【数10】 [Equation 10]

【0045】この(19)式は、Qm(m=0,1,
…,nm−1)についてのnm元連立一次方程式であるか
ら、これを解くことによりQmを求めることができる。
m(m=0,1,…,nm−1)が決定されれば、その
mを数5の(13)式に代入することにより、元のモ
ーションダンプデータ(図3)を近似する自由曲線(簡
易B−スプライン曲線)が求められたことになる。以上
のようにして、図2のステップ205の自由曲線の生成
が実行される。
This equation (19) is expressed by Q m (m = 0, 1,
..., because it is n m based on simultaneous linear equations for n m -1), it is possible to obtain the Q m by solving this.
Once Q m (m = 0, 1, ..., N m −1) is determined, the original motion dump data (FIG. 3) is approximated by substituting the Q m into Equation (13). The free curve (simple B-spline curve) to be obtained is obtained. As described above, the generation of the free curve in step 205 of FIG. 2 is executed.

【0046】ステップ205で自由曲線を求めた後、ス
テップ206で最適化の判定を行なう。最適化の判定
は、例えば、求めた自由曲線と元のモーションダンプデ
ータとの2乗平均誤差や最大乖離度を算出し、それらの
値が所定値以内に収まっているか(すなわち、所定の近
似度で元のモーションダンプデータを近似する自由曲線
が得られたか)を判断することなどにより行なえばよ
い。ステップ206でさらに最適化が必要と判断された
ら、再びステップ203に戻って、別の削減条件でキー
フレームを外す処理からやり直す。ステップ203〜2
06の処理は上述したのと同じである。ステップ206
で最適化がなされたと判断した場合は、その時点のコン
トロールポイントのデータ値Qmをハードディスク10
6に格納する。これらのデータは例えば、ゲームプログ
ラムとともにCD−ROMなどに格納し、ゲーム中に必
要に応じてその自由曲線に基づいて各フレームの表示デ
ータを生成して表示することにより、ゲーム中のキャラ
クタに所定の動作をさせることができる。
After obtaining the free curve in step 205, optimization is determined in step 206. The optimization determination is performed by, for example, calculating the root mean square error or the maximum deviation degree between the obtained free-form curve and the original motion dump data, and whether those values are within a predetermined value (that is, a predetermined approximation degree). And whether or not a free curve approximating the original motion dump data was obtained in.). If it is determined in step 206 that further optimization is necessary, the process returns to step 203 again, and the process is repeated from the process of removing the key frame under another reduction condition. Steps 203-2
The processing of 06 is the same as that described above. Step 206
If it is determined that the optimization has been performed in step 10, the data value Q m of the control point at that time is set to the hard disk 10
Store in 6. These data are stored in a CD-ROM or the like together with the game program, and display data of each frame is generated and displayed on the basis of the free curve thereof as needed during the game, so that the data can be displayed to the character in the game. Can be operated.

【0047】なお、簡易B−スプライン曲線は、真性の
B−スプライン曲線の式を簡易な形に変形したものであ
る。真性のB−スプライン曲線の式を数11に示す。
The simple B-spline curve is obtained by modifying the equation of the true B-spline curve into a simple form. The equation of the true B-spline curve is shown in Equation 11.

【0048】[0048]

【数11】 [Equation 11]

【0049】簡易B−スプライン曲線を表す数1の
(3)式と上記数11の式とを比較すれば分かるよう
に、真性B−スプラインではx軸方向のデータ値x
(η)がパラメータηの3次式で表現されているのに対
し、簡易B−スプライン曲線ではデータ値xをパラメー
タηと線形的に関係付けている。これにより、データ値
xとパラメータηとが1対1に対応し、計算は容易で速
く行なえるようになる。また、y軸方向のデータ値y
(η)については、真性B−スプラインの式をそのまま
簡易B−スプラインでも用いる。
As can be seen by comparing the equation (3) of the equation 1 representing the simplified B-spline curve and the equation of the above equation 11, in the true B-spline, the data value x in the x-axis direction is obtained.
While (η) is expressed by a cubic expression of the parameter η, the data value x is linearly related to the parameter η in the simplified B-spline curve. As a result, the data value x and the parameter η have a one-to-one correspondence, and the calculation can be performed easily and quickly. Also, the data value y in the y-axis direction
For (η), the equation of the intrinsic B-spline is used as it is for the simple B-spline.

【0050】従来のCGツールでは、主に3次エルミー
ト曲線による最適スプライン化圧縮が用いられていた。
この技術により得られる圧縮データとしては、最適スプ
ライン化のために選択されたキーフレームごとのフレー
ム番号、データの値、およびデータの傾きの3つのデー
タが1セットとなり、選択されたキーフレームの数だけ
必要となる。一方、上述の本発明の実施の形態で用いて
いるB−スプライン曲線によれば、最適スプライン化の
ために選択されたキーフレームごとのフレーム番号とデ
ータの値との2つのデータが1セットとなり、選択され
たキーフレームの数だけ必要となる。したがって、3次
エルミート曲線によるデータ圧縮に比べて圧縮率を改善
することができる。
In the conventional CG tool, the optimum spline compression based on the cubic Hermitian curve is mainly used.
As compressed data obtained by this technique, three data of the frame number for each key frame selected for the optimal spline, the value of the data, and the slope of the data become one set, and the number of selected key frames Only needed. On the other hand, according to the B-spline curve used in the above-described embodiment of the present invention, two sets of data, that is, the frame number and the data value for each key frame selected for the optimal spline are set. , You need as many keyframes as you have selected. Therefore, the compression ratio can be improved as compared with the data compression by the third-order Hermitian curve.

【0051】図7に上述の発明の実施の形態の技術を用
いて、正弦波の形状に近いモーションダンプデータ(黒
点で示してある)を近似した例を示す。701〜706
に示す点がキーフレームの位置のコントロールポイント
であり、711〜713はこれらのコントロールポイン
トを連結した直線である。720はこれらのコントロー
ルポイントから生成した簡易B−スプライン曲線を示
す。少ないコントロールポイントで高精度に元のデータ
を近似できることが分かる。なお、上記実施の形態の手
法では、生成した簡易B−スプライン曲線が元のモーシ
ョンダンプデータの始点721および終点722を通る
かどうかは不定である。また、始点および終点位置のコ
ントロールポイント701,706は、始点および終点
に一致しているわけではないので、始点および終点にお
けるデータ値は計算で求める必要がある。
FIG. 7 shows an example of approximating motion dump data (indicated by black dots) having a shape of a sine wave, using the technique of the above-described embodiment of the present invention. 701-706
The points indicated by are the control points at the positions of the key frames, and 711 to 713 are straight lines connecting these control points. 720 shows a simplified B-spline curve generated from these control points. It can be seen that the original data can be approximated with high accuracy with few control points. In the method of the above embodiment, it is uncertain whether the generated simple B-spline curve passes through the start point 721 and the end point 722 of the original motion dump data. Further, since the control points 701 and 706 at the start point and the end point do not coincide with the start point and the end point, the data values at the start point and the end point need to be calculated.

【0052】次に、上記の実施の形態に関する第1の変
形例を説明する。上記実施の形態の手法では、生成した
簡易B−スプライン曲線がモーションダンプデータの始
点および終点を必ず通るとは限らない。しかし、モーシ
ョンダンプデータの始点および終点のデータ値は、モー
ション上重要で有意な値といえるので、生成した簡易B
−スプライン曲線がモーションダンプデータの始点およ
び終点を必ず通るようにしたい。そこで、第1の変形例
では、モーションダンプデータの両端、すなわち始点の
キーフレーム位置のコントロールポイントQ0の前、お
よび終点のキーフレーム位置のコントロールポイントQ
nm-1の後に、コントロールポイントを追加し、これによ
り、生成した簡易B−スプライン曲線がモーションダン
プデータの始点および終点を必ず通るようにした。
Next, a first modification of the above embodiment will be described. In the method of the above embodiment, the generated simple B-spline curve does not always pass through the start point and the end point of the motion dump data. However, since the data values of the start point and the end point of the motion dump data are important and significant in terms of motion, the generated simple B
-I want to make sure that the spline curve passes through the start and end points of the motion dump data. Therefore, in the first modified example, both ends of the motion dump data, that is, before the control point Q 0 at the start keyframe position and at the end point of the control point Q 0.
A control point was added after nm-1 to ensure that the generated simple B-spline curve would pass the start and end points of the motion dump data.

【0053】具体的には、上記実施の形態の数1の
(1)式および(5)式を下記の数12の(1)’式お
よび(5)’式に置き換える。数1の(1)式および
(5)式と、数12の(1)’式および(5)’式との
違いは、Q-1とQnmの変数が追加されたことにある。
Specifically, the equations (1) and (5) of the above-mentioned embodiment are replaced by the equations (1) 'and (5)' of the following equation 12. The difference between the equations (1) and (5) of the equation 1 and the equations (1) ′ and (5) ′ of the equation 12 is that the variables of Q −1 and Q nm are added.

【0054】[0054]

【数12】 [Equation 12]

【0055】(2)〜(4)式は数1と同じものとすれ
ばよい。また、Q0〜Qm〜Qnm-1は上記実施の形態の手
法により求めることができる。
Equations (2) to (4) may be the same as equation (1). Further, Q 0 to Q m to Q nm-1 can be obtained by the method of the above embodiment.

【0056】(1)’式が始点(x=i0=0,y
(i0)=y0)を必ず通るためには、次の数13を満足
するようにQ-1の値を決めればよい。
Equation (1) 'is the starting point (x = i 0 = 0, y
In order to pass (i 0 ) = y 0 ), the value of Q −1 may be determined so as to satisfy the following expression 13.

【0057】[0057]

【数13】 [Equation 13]

【0058】同様に、(5)’式が終点(x=inm-1
0,y(inm-1)=ynm-1)を必ず通るためには、次の
数14を満足するようにQnmの値を決めればよい。
Similarly, the expression (5) 'is the end point (x = i nm-1 =
In order to pass 0, y (i nm-1 ) = y nm-1 ) without fail, the value of Q nm should be determined so as to satisfy the following equation (14).

【0059】[0059]

【数14】 [Equation 14]

【0060】以上により、新たなデータとして上述のQ
-1とQnmを追加することにより、簡易B−スプライン曲
線がモーションダンプデータの始点および終点を必ず通
るようにできる。
From the above, as the new data, the above-mentioned Q
By adding -1 and Q nm , the simple B-spline curve can be sure to pass through the start point and the end point of the motion dump data.

【0061】次に、上記の実施の形態に関する第2の変
形例を説明する。上記第1の変形例により簡易B−スプ
ライン曲線がモーションダンプデータの始点および終点
を必ず通るようにできる。しかし、第1の変形例では新
たにデータを追加しなければならず、圧縮率を上げる観
点からは、できればそのようなデータは追加したくな
い。また、生成した簡易B−スプライン曲線がモーショ
ンダンプデータの始点および終点を通ることは保証され
るが、その始点および終点におけるデータ値は計算で求
めなければならない。一方、ゲーム映像の制作において
は、モーション補間計算などで始点および終点のデータ
値を直接用いることが多く、必要であるときにコントロ
ールポイントのデータ値から始点や終点のデータ値を算
出するのでは面倒である。
Next, a second modification of the above embodiment will be described. According to the first modification, the simple B-spline curve can pass through the start point and the end point of the motion dump data without fail. However, in the first modified example, new data must be added, and from the viewpoint of increasing the compression rate, such data should not be added if possible. Further, although it is guaranteed that the generated simple B-spline curve passes through the start point and the end point of the motion dump data, the data values at the start point and the end point must be calculated. On the other hand, in the production of game images, the data values of the start point and the end point are often used directly in motion interpolation calculations, etc., and it is troublesome to calculate the data value of the start point and the end point from the data value of the control point when necessary. Is.

【0062】そこで、第2の変形例では、上記実施の形
態で用いた簡易B−スプラインの式を変形し、モーショ
ンダンプデータの始点および終点とコントロールポイン
トとが必ず一致するようにした。具体的には、上記数1
の(1)〜(5)式を、例えば下記の数15の(1)”
〜(5)”に変更することができる。
Therefore, in the second modified example, the simple B-spline equation used in the above embodiment is modified so that the start point and the end point of the motion dump data and the control point always match. Specifically, the above number 1
Expressions (1) to (5) are expressed by, for example, the following Expression 15 (1) ″
~ (5) ".

【0063】[0063]

【数15】 [Equation 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(η)=ηを加えた式である。
The equation (1) "of the equation 15 replaces Q 0 of the equation (1) of the equation 1 with the data value y 0 of the starting point, and further, the portion 3η 3 − of the coefficient of the second item is enclosed. 6η 2 +4 to f1
(Η) = - η + 1 is added, parts are enclosed in braces coefficients of the third item -3 (η-1) 3 -6 (η-1) 2 +4 to g1 of (η) = η-1 This is the added formula. The expression (2) "of the expression 15 is an expression in which Q 0 of the expression (2) of the expression 1 is replaced with the data value y 0 of the starting point. The expression (3)" of the expression 15 is the expression (3) of the expression 1. It is the same formula as the formula. The formula (4) ”of the equation 15 is
This is an expression in which Q nm-1 in the expression (4) of Expression 1 is replaced with the end point data value y n-1 . The formula (5) ”of the formula 15 is the formula (5) of the formula 1.
Q nm-1 in the equation is replaced with the data value y n -1 at the end point, and the part of the coefficient of the second item enclosed in parentheses 3 η 3 −6 η 2
Addition of f2 (η) =-η to +4, and the part enclosed in braces of the coefficient of the third item -3 (η-1) 3 -6 (η-1) 2
This is an expression obtained by adding g2 (η) = η to +4.

【0065】以上の式の変形は、η=0のとき(1)”
式が必ず始点のデータ値y0となり、η=inm-1のとき
(5)”式が必ず終点のデータ値yn-1となるようにし
たものである。また、B−スプラインではアフィン性を
保つために、各項の係数の和が1になるようにしなけれ
ばならないが、その条件を満たすように変形したもので
ある。これにより、始点および終点をコントロールポイ
ントとして扱うと同時に、始点および終点を必ず通るよ
うにできる。したがって、ゲーム映像の制作において不
可欠なモーション補間計算などのためのデータ(始点お
よび終点)を直接利用できる。
A modification of the above equation is that when η = 0, (1) "
The expression always becomes the data value y 0 at the start point, and when η = i nm−1 , the expression (5) ″ always becomes the data value y n−1 at the end point. Further, in the B-spline, the affine In order to maintain the property, the sum of the coefficient of each term must be 1. However, it is modified so that the condition is satisfied. Therefore, the data (start point and end point) for motion interpolation calculation, which is essential in game video production, can be directly used.

【0066】なお、上記数15の(1)”〜(5)”式
のように変形したことに伴い、数2〜数4の(6)〜
(12)式は、下記の数16〜数17の(6)”〜(1
2)”式に置き換える。その後は、(13)式以降の処
理と同様にすればよい。
It should be noted that, since the equations (1) "to (5)" in the above equation 15 are modified, the equations (6) to in the equations 2 to 4 are changed.
Expression (12) is expressed by the following Expressions 16 to 17 (6) ″ to (1
2) ", and thereafter, the process after the formula (13) may be performed in the same manner.

【0067】[0067]

【数16】 [Equation 16]

【0068】[0068]

【数17】 [Equation 17]

【0069】図8は、図7と同様の正弦波の形状に近い
モーションダンプデータ(黒点で示してある)を上記第
2の変形例の手法で近似した例を示す。801〜806
に示す点がキーフレームの位置のコントロールポイント
であり、811〜813はこれらのコントロールポイン
トを連結した直線である。820はこれらのコントロー
ルポイントから生成した簡易B−スプライン曲線を示
す。少ないコントロールポイントで高精度に元のデータ
を近似でき、さらに始点と終点をコントロールポイント
として扱うと同時に、始点および終点を必ず通るように
曲線が生成されていることが分かる。
FIG. 8 shows an example in which motion dump data (indicated by black dots) similar to the shape of a sine wave similar to that in FIG. 7 is approximated by the method of the second modification. 801 to 806
The points indicated by are control points at the positions of the key frames, and 811 to 813 are straight lines connecting these control points. 820 shows the simple B-spline curve generated from these control points. It can be seen that the original data can be approximated with high accuracy with a small number of control points, and the start point and end point are treated as control points, and at the same time, a curve is generated so as to pass through the start point and end point.

【0070】また図10に、発明が解決しようとする課
題の欄で説明した図9のモーションダンプデータを対象
として、上述した第2の変形例の手法で求めたコントロ
ールポイントを直線で連結したグラフを示す。黒丸の点
がコントロールポイントである。図11に、そのコント
ロールポイントから生成した簡易B−スプライン曲線を
示す。図から分かるように、少ないコントロールポイン
トで元のモーションダンプデータを高精度に近似する曲
線が得られることが分かる。
Further, FIG. 10 is a graph in which the control points obtained by the method of the second modification described above are connected by a straight line for the motion dump data of FIG. 9 described in the section of the problem to be solved by the invention. Indicates. The black dots are control points. FIG. 11 shows a simple B-spline curve generated from the control points. As can be seen from the figure, a curve that approximates the original motion dump data with high accuracy can be obtained with few control points.

【0071】次に、上記の実施の形態に関する第3の変
形例を説明する。上記実施の形態の手法ではキーフレー
ムは、始点、終点、最大点、最小点、極大点、極小点、
変曲点、および曲率半径の極小点を抽出してキーフレー
ムとしている。しかし、キーフレームが多く存在する部
分と少ない部分がある場合など、分布に偏りがある場合
がある。この場合、多い部分の不要と思われるキーフレ
ームを削除し、少ない部分にキーフレームを充当した
い。
Next, a third modification of the above embodiment will be described. In the method of the above-mentioned embodiment, the key frame has a start point, an end point, a maximum point, a minimum point, a maximum point, a minimum point,
The inflection point and the minimum point of the radius of curvature are extracted as a key frame. However, the distribution may be biased, such as when there are many keyframes and when there are few keyframes. In this case, I want to delete unnecessary keyframes in many parts and allocate keyframes in few parts.

【0072】そのため、第3の変形例では、モーション
ダンプデータを機械的に分割し、それぞれの区間で上記
実施の形態の手法で簡易B−スプライン曲線を生成す
る。そして、各区間で、生成した簡易B−スプライン曲
線と元のモーションダンプデータとの間で2乗平均誤差
を算出し、該2乗平均誤差が最小の区間のキーフレーム
(その区間のキーフレームの中で、生成した簡易B−ス
プライン曲線と元のモーションダンプデータとの誤差が
最も小さいキーフレームを選ぶ)をはずし、2乗平均誤
差が最大の区間に充当する(その区間のデータ誤差が最
も大きい個所にキーフレームを置く)。また、2乗平均
誤差が最小の区間以外の区間であって、指定された2乗
平均誤差の値より大きい2乗平均誤差を持つ区間に対し
ては、新たにキーフレームを追加する(その区間のデー
タ誤差が最も大きい個所にキーフレームを置く)。以上
により、キーフレームの分布の偏りを排除することがで
きる。
Therefore, in the third modification, the motion dump data is mechanically divided and the simple B-spline curve is generated in each section by the method of the above embodiment. Then, in each section, the root mean square error is calculated between the generated simple B-spline curve and the original motion dump data, and the key frame of the section having the smallest root mean square error (the key frame of the section Among them, select the keyframe with the smallest error between the generated simple B-spline curve and the original motion dump data, and apply it to the section where the root mean square error is the largest (the data error in that section is the largest). Put the keyframe in the place). A key frame is newly added to a section other than the section having the smallest mean squared error and having a mean squared error larger than the specified value of the mean squared error (that section Put the keyframe at the point where the data error is the largest). As described above, it is possible to eliminate the biased distribution of the key frames.

【0073】キーフレームの分布の偏りを排除する手法
としては、次の第4の変形例のようにしてもよい。第4
の変形例は、モーションダンプデータが大きく変化して
いる区間より平坦な区間に重点的にキーフレームを置く
ものである。
As a method of eliminating the biased distribution of the key frames, the following fourth modification may be adopted. Fourth
In the modified example, the key frame is placed in a flat section more intensively than a section in which the motion dump data greatly changes.

【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]をインクリメントする。
Specifically, in step 203 of FIG.
The keyframe reduction process is as follows. First
All keyframe candidate points (start point, end point, maximum point, maximum point
Initial values for small points, local maximum points, local minimum points, inflection points, etc.)
Flag value flag [m] (where m is the frame number after sorting)
And m = 0, 1, ..., Nm-1) is prepared. Next
Set the flag value flag [m] of the important keyframe to 4
It Here, the flag values of the start point and the end point are set to 4.
Next, the height difference between all adjacent keyframe candidates is
If there are more than one, a process of adding 1 to each flag value is performed. You
Nachi, | yim-Y im + 1│ ≧ α (ymax-Ymin) Is
It is determined whether or not it stands, and if it holds, flag [m] and fal
Increment g [m + 1].

【0075】図5(a)〜図5(h)は、それぞれフラ
グ値のパターンを示す。黒丸の点はキーフレームの点を
示す。この黒丸の上下の位置関係はそのキーフレームデ
ータ値の大小関係を示す(上側にある点のデータ値は大
きく、下側にある点のデータ値は小さい)。黒丸と黒丸
をつなぐ線分に付してある「大」は、これらの点が上記
条件|yim−yim+1|≧α(ymax−ymin)を満たす隣
り合うキーフレームであることを示す。「小」は、上記
条件を満たさない隣り合うキーフレームであることを示
す。黒丸の近傍に記載した「1」や「2」の数字は、そ
のキーフレームのフラグ値flag[m]を示す。
5 (a) to 5 (h) show patterns of flag values, respectively. Black dots indicate keyframe points. The positional relationship between the upper and lower black circles indicates the relative size of the keyframe data values (the data values at the upper points are large and the data values at the lower points are small). "Large" attached to the black circle and the line segment connecting the black circles means that these points are adjacent keyframes that satisfy the above condition | y im −y im + 1 | ≧ α (y max −y min ). Indicates. “Small” indicates that the key frames are adjacent key frames that do not satisfy the above conditions. The numbers "1" and "2" written near the black circles indicate the flag value flag [m] of the key frame.

【0076】さらに、あるキーフレーム候補点の近傍の
モーションダンプデータの平均点傾きを求め、それが条
件以下であればフラグ値に1を加える。図6に、そのよ
うなキーフレーム候補点601を示す。ここで、近似直
線式をy=a0+a1・xとおくと、最小2乗法により、
0,a1は次の数18で与えられる。以上のようにし
て、平坦な区間の中央付近のフラグ値を大きくしてや
り、その後、フラグ値が1以下のキーフレーム候補を削
減するようにする。
Further, the average point slope of the motion dump data in the vicinity of a certain key frame candidate point is obtained, and if it is below the condition, 1 is added to the flag value. FIG. 6 shows such a key frame candidate point 601. Here, when the approximate linear expression is y = a 0 + a 1 · x, the least squares method gives
a 0 and a 1 are given by the following equation 18. As described above, the flag value near the center of the flat section is increased, and then the key frame candidates having the flag value of 1 or less are reduced.

【0077】[0077]

【数18】 [Equation 18]

【0078】これにより、上記実施の形態では削減され
てしまう図6のキーフレーム601などが削減されなく
なるので、キーフレームの分布の偏りを無くすことがで
きる。
As a result, the key frames 601 and the like in FIG. 6, which are reduced in the above-described embodiment, are not reduced, so that the uneven distribution of the key frames can be eliminated.

【0079】[0079]

【発明の効果】以上説明したように、本発明によれば、
一連のディジタルデータ列からそのデータ列の形状を近
似する自由曲線を生成する場合に、簡易B−スプライン
曲線を用いているので、より少ないデータで高精度に元
のデータの形状を近似することができる。また、簡易B
−スプライン曲線がモーションダンプデータの始点およ
び終点を必ず通るようにできるので、複数のモーション
・スプライン・データを接合する際に連続的に接合でき
る。また、始点および終点をコントロールポイントとし
て扱うと同時に、始点および終点を必ず通るように曲線
を生成できるので、ゲーム映像の制作において不可欠な
モーション補間計算などのためのデータ(始点および終
点)を直接利用できる。さらに、キャラクタの異なる動
きのスムーズな補間による滑らかな連続モーションの生
成に利用できる。キャラクタの動きをスローモーション
再生する場合もスムーズな動きを実現できる。
As described above, according to the present invention,
Since a simple B-spline curve is used when a free curve that approximates the shape of a data string is generated from a series of digital data strings, the shape of the original data can be approximated with less data with high accuracy. it can. Also, simple B
-Because the spline curve can always pass through the start point and end point of the motion dump data, it is possible to join continuously when joining multiple motion spline data. In addition, the start point and the end point can be treated as control points, and at the same time, a curve can be generated so as to pass through the start point and the end point without fail, so data (start point and end point) for motion interpolation calculation, which is essential in game video production, can be directly used. it can. Furthermore, it can be used to generate smooth continuous motion by smooth interpolation of different movements of a character. Smooth motion can be realized even when the motion of the character is played back in slow motion.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の実施の形態に係るデータ処理装置のブ
ロック構成図
FIG. 1 is a block configuration diagram of a data processing device according to an embodiment of the present invention.

【図2】自由曲線によるデータ圧縮の処理の流れの概要
を示すフローチャート図
FIG. 2 is a flowchart showing an outline of a flow of data compression processing using a free curve.

【図3】処理対象であるモーションダンプデータの例を
示す図
FIG. 3 is a diagram showing an example of motion dump data to be processed.

【図4】簡易B−スプライン曲線の表現例を示す図FIG. 4 is a diagram showing a representation example of a simple B-spline curve.

【図5】フラグ値のパターンを示す図FIG. 5 is a diagram showing a pattern of flag values.

【図6】平坦部の中央部付近にキーフレームを設ける例
を示す図
FIG. 6 is a diagram showing an example in which a key frame is provided near the center of a flat portion.

【図7】簡易B−スプライン曲線補間の結果(その1)
を示す図
FIG. 7 is a result of simple B-spline curve interpolation (part 1).
Showing

【図8】簡易B−スプライン曲線補間の結果(その2)
であり、始点と終点を必ず通る例を示す図
FIG. 8 is a result of simple B-spline curve interpolation (part 2).
And a diagram showing an example in which the start point and the end point are always passed

【図9】モーションダンプデータの例を示す図FIG. 9 is a diagram showing an example of motion dump data.

【図10】コントロールポイントを直線で連結したグラ
フを示す図
FIG. 10 is a diagram showing a graph in which control points are connected by straight lines.

【図11】簡易B−スプライン曲線補間の結果の例を示
す図
FIG. 11 is a diagram showing an example of a result of simple B-spline curve interpolation.

【図12】従来のCGソフトによる3次エルミート曲線
補間例を示す図
FIG. 12 is a diagram showing an example of cubic Hermitian curve interpolation by conventional CG software.

【符号の説明】 101…CPU(中央処理装置)、102…ランダムア
クセスメモリ(RAM)、103…リードオンリメモリ
(ROM)、104…表示装置、105…入力装置、1
06…ハードディスク、107…モーション・キャプチ
ャ・システム。
[Explanation of Codes] 101 ... CPU (Central Processing Unit), 102 ... Random Access Memory (RAM), 103 ... Read Only Memory (ROM), 104 ... Display Device, 105 ... Input Device, 1
06 ... Hard disk, 107 ... Motion capture system.

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平3−127186(JP,A) 特開 平6−215094(JP,A) 特開 平6−318258(JP,A) 特開 平3−160579(JP,A) 特開 平4−71078(JP,A) 桜井明 外3名,”スプライン関数入 門”,東京電機大学出版局,1981年 6 月30日,第1版,p.4 (58)調査した分野(Int.Cl.7,DB名) G06T 13/00 G06F 17/17 G06T 11/20 CSDB(日本国特許庁)─────────────────────────────────────────────────── ─── Continuation of front page (56) Reference JP-A-3-127186 (JP, A) JP-A-6-215094 (JP, A) JP-A-6-318258 (JP, A) JP-A-3- 160579 (JP, A) JP-A-4-71078 (JP, A) Akira Sakurai, 3 persons, "Introduction to Spline Function", Tokyo Denki University Press, June 30, 1981, 1st edition, p. 4 (58) Fields investigated (Int.Cl. 7 , DB name) G06T 13/00 G06F 17/17 G06T 11/20 CSDB (Japan Patent Office)

Claims (5)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】処理装置上で所定のプログラムを動作させ
ることにより、一連のディジタルデータ列から、該デー
タ列の形状を近似する最適化自由曲線を求めるデータ処
理方法であって、 前記プログラムは、前記一連のディジタルデータ列か
ら、y軸方向のデータ値はB−スプライン曲線の式で表
現し、x軸方向はB−スプライン曲線のパラメータと線
形関係になる式で表現した簡易B−スプライン曲線で表
されるデータ構造の最適化自由曲線を生成するものであ
ることを特徴とするデータ処理方法。
1. A data processing method for obtaining an optimized free curve approximating the shape of a data sequence from a series of digital data sequences by operating a predetermined program on a processing device, wherein the program comprises: From the series of digital data strings, a data value in the y-axis direction is expressed by a B-spline curve formula, and an x-axis direction is expressed by a simple B-spline curve expressed by a formula having a linear relationship with the parameters of the B-spline curve. A data processing method, characterized in that an optimized free curve of a represented data structure is generated.
【請求項2】前記y軸方向のデータ値を表現するB−ス
プライン曲線の式を、該B−スプライン曲線の形状を決
定するコントロールポイントの始点および終点が前記一
連のディジタルデータ列の始点と終点に一致するように
変形し、該変形した式で表現されるデータ構造の最適化
自由曲線を生成する請求項1に記載のデータ処理方法。
2. The B-spline curve expression expressing the data value in the y-axis direction is defined by the starting point and the ending point of a control point that determines the shape of the B-spline curve. The data processing method according to claim 1, wherein the optimized free curve of the data structure represented by the modified equation is generated by transforming the optimized free curve.
【請求項3】前記y軸方向のデータ値を表現するB−ス
プライン曲線の式に対し、前記一連のディジタルデータ
列の始点の位置の前、および終点の位置の後に、新たに
コントロールポイントを設定し、該コントロールポイン
トのデータ値を、生成したB−スプライン曲線が前記一
連のディジタルデータ列の始点および終点を通るように
設定した請求項1に記載のデータ処理方法。
3. A control point is newly set before the position of the start point and after the position of the end point of the series of digital data strings with respect to the B-spline curve expression expressing the data value in the y-axis direction. The data processing method according to claim 1, wherein the data value of the control point is set so that the generated B-spline curve passes through the start point and the end point of the series of digital data strings.
【請求項4】一連のディジタルデータ列から、該データ
列の形状を近似する最適化自由曲線を求めるデータ処理
方法において、 前記一連のディジタルデータ列から、始点、終点、最大
点、最小点、極大点、極小点、変曲点、および/または
曲率半径の極小点を、キーフレームとして自動抽出する
キーフレーム抽出ステップと、 前記自動抽出したキーフレームから所定の削減条件を満
たすキーフレームを削減するキーフレーム削減ステップ
と、 削減後に残ったキーフレームから元のデータ列を近似す
る自由曲線であって、y軸方向のデータ値はB−スプラ
イン曲線の式で表現し、x軸方向はB−スプライン曲線
のパラメータと線形関係になる式で表現した簡易B−ス
プライン曲線で表わす自由曲線を生成する自由曲線生成
ステップと、 生成した自由曲線が所定の近似度で元のデータ列を近似
しているか否かを判定する判定ステップと、 前記判定ステップにより所定の近似度で元のデータ列を
近似していると判定された場合、その自由曲線を定義す
るデータを記憶するステップとを備えたことを特徴とす
るデータ処理方法。
4. A data processing method for obtaining an optimized free curve approximating the shape of a data string from a series of digital data strings, wherein a starting point, an end point, a maximum point, a minimum point, and a maximum are selected from the series of digital data strings. A keyframe extracting step of automatically extracting a point, a minimum point, an inflection point, and / or a minimum point of a radius of curvature as a keyframe; and a key for reducing keyframes satisfying a predetermined reduction condition from the automatically extracted keyframe. A frame reduction step and a free curve that approximates the original data string from the remaining key frames after reduction, where the data value in the y-axis direction is expressed by the formula of the B-spline curve, and the x-axis direction is the B-spline curve. A free curve generating step of generating a free curve represented by a simple B-spline curve expressed by an equation having a linear relationship with the parameter of And a determination step of determining whether or not the free-form curve approximates the original data string with a predetermined degree of approximation, and when it is determined by the determination step that the original data string is approximated with a predetermined degree of approximation And a step of storing data defining the free curve, the data processing method.
【請求項5】請求項1から4の何れか1つに記載のデー
タ処理方法に係るプログラムを格納したことを特徴とす
る記憶媒体。
5. A storage medium on which a program according to any one of claims 1 to 4 is stored.
JP9829098A 1998-03-25 1998-03-25 Data processing method, and storage medium storing program according to the method Expired - Fee Related JP3422684B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9829098A JP3422684B2 (en) 1998-03-25 1998-03-25 Data processing method, and storage medium storing program according to the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9829098A JP3422684B2 (en) 1998-03-25 1998-03-25 Data processing method, and storage medium storing program according to the method

Publications (2)

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

Family

ID=14215806

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9829098A Expired - Fee Related JP3422684B2 (en) 1998-03-25 1998-03-25 Data processing method, and storage medium storing program according to the method

Country Status (1)

Country Link
JP (1) JP3422684B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4617500B2 (en) * 2006-07-24 2011-01-26 株式会社国際電気通信基礎技術研究所 Lip sync animation creation device, computer program, and face model creation device
JP5932612B2 (en) 2012-11-16 2016-06-08 株式会社スクウェア・エニックス Information processing apparatus, control method, program, and recording medium
KR101636890B1 (en) * 2014-09-02 2016-07-06 동서대학교산학협력단 Method for generating CMF file using program module for generating camera motion frame in multimedia contents developing UNITY game engine
JP6526775B1 (en) * 2017-12-08 2019-06-05 株式会社スクウェア・エニックス Animation data compression program, animation data recovery program, animation data compression device, and animation data compression method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
桜井明 外3名,"スプライン関数入門",東京電機大学出版局,1981年 6月30日,第1版,p.4

Also Published As

Publication number Publication date
JPH11272879A (en) 1999-10-08

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
US7420564B2 (en) Shape and animation methods and systems using examples
JP5242386B2 (en) Large-scale mesh deformation using volume graph Laplacian
US7057619B2 (en) Methods and system for general skinning via hardware accelerators
US7570264B2 (en) Rig baking
JP3380231B2 (en) 3D skeleton data compression device
US7643026B2 (en) NURBS surface deformation apparatus and the method using 3D target curve
US20060017723A1 (en) Deformation of a computer-generated model
US8405676B2 (en) Techniques for interior coordinates
Alexe et al. Interactive modelling from sketches using spherical implicit functions
Peng et al. Interactive modeling of topologically complex geometric detail
JPH0776991B2 (en) NURBS data conversion method and apparatus
JP3422684B2 (en) Data processing method, and storage medium storing program according to the method
US20080266293A1 (en) Method for converting polygonal surfaces to levelsets
JPH06162159A (en) Method and device for processing graphic data
Togawa et al. Position-based keyframe selection for human motion animation
JP3408136B2 (en) Data processing device, data processing method, and storage medium storing program according to the method
Ahn et al. Out-of-core remeshing of large polygonal meshes
CN109801367B (en) Grid model characteristic editing method based on compressed manifold mode
JP4017467B2 (en) Triangular mesh data compression method and program
Chen et al. 3D model deformation along a parametric surface
Shum et al. On 3D shape synthesis
US7184039B2 (en) Computer-implemented method for generating coarse level meshes for multi-resolution surface editing
JP2002196878A (en) Recording medium, picture processor and its method

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