JP3408136B2 - Data processing device, data processing method, and storage medium storing program according to the method - Google Patents
Data processing device, data processing method, and storage medium storing program according to the methodInfo
- 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
Links
Landscapes
- Processing Or Creating Images (AREA)
- Complex Calculations (AREA)
- Image Generation (AREA)
Description
【0001】[0001]
【発明の属する技術分野】本発明は、一連のディジタル
データ列から幾つかの特徴点となるデータを取り出し、
取り出した複数の特徴点のデータを用いて元のデータ列
の形状を近似する自由曲線を得ることのできるデータ処
理装置、データ処理方法、および該方法に係るプログラ
ムを格納した記憶媒体に関する。TECHNICAL FIELD The present invention extracts some characteristic data from a series of digital data strings,
The present invention relates to a data processing device, a data processing method, and a storage medium that stores a program according to the method, which can obtain a free curve that approximates the shape of an original data string by using data of a plurality of extracted feature points.
【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】図19は、人が実際にある動作を行なった
ときのある測定点のあるパラメータ(位置座標や角度)
の変化(例えば人の鎖骨の回転の動きなど)を示すモー
ションダンプデータのグラフである。横軸は、時間すな
わちフレームを示し、ここでは100フレーム程度のモ
ーションダンプデータの一部(横軸で75〜100フレ
ーム辺りは省略)を示す。縦軸は、データ値を示す。図
22は、図19のモーションダンプデータを従来のCG
ソフトで処理した例を示す。点線2201は入力したモ
ーションダンプデータを示すグラフである。2211や
2212は、CGソフトが自動的に抽出したキーフレー
ムである。ここでは、100フレーム程度のモーション
ダンプデータに対し20フレーム程度のキーフレームを
抽出するように調整した(ただし、横軸で85〜100
フレーム辺りは省略)。各キーフレームの点には、レバ
ーと呼ばれる補助線2221や2222が表示されてい
る。実線2202は、これらのキーフレームから復元し
たデータ列(最適スプライン化の結果である自由曲線)
を示す。この図から分かるように、元のデータを示す点
線2201と復元したデータ列を示す実線2202とに
大きな乖離が見られ、実用上の問題があることが分か
る。もちろんキーフレームの数を多く設定すれば、高精
度に元のモーションダンプデータを復元できることは明
らかであるが、その場合はデータの圧縮度を上げること
ができなくなる。FIG. 19 shows parameters (positional coordinates and angles) at certain measurement points when a person actually performs a certain operation.
3 is a graph of motion dump data showing a change (for example, a rotational movement of a human clavicle). 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. FIG. 22 shows a conventional CG of the motion dump data of FIG.
An example of processing by software is shown. A dotted line 2201 is a graph showing the input motion dump data. 2211 and 2212 are key frames automatically extracted by the CG software. Here, adjustment was made so that key frames of about 20 frames were extracted from motion dump data of about 100 frames (however, 85 to 100 on the horizontal axis).
Around the frame is omitted). At the points of each key frame, auxiliary lines 2221 and 2222 called levers are displayed. A solid line 2202 is a data string restored from these keyframes (a free curve which is the result of optimal splining).
Indicates. As can be seen from this figure, there is a large discrepancy between the dotted line 2201 indicating the original data and the solid line 2202 indicating the restored data string, which indicates 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 takes out some feature points (key frames) of data from a series of digital data strings, and uses the retrieved feature point data to obtain the original data. An object of the present invention is to be able to approximate the original data with a smaller number of feature points and with high accuracy when restoring a data sequence that approximates the shape of the sequence. 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に係る発明は、一連のディジタルデータ列
から幾つかの特徴点となるデータを取り出し、取り出し
た複数の特徴点のデータを用いて元のデータ列の形状を
近似する最適化自由曲線を求めるデータ処理装置におい
て、前記一連のディジタルデータ列から、始点、終点、
最大点、最小点、極大点、極小点、変曲点、および/ま
たは曲率半径の極小点を、特徴点として自動抽出する特
徴点抽出手段と、前記自動抽出した特徴点から隣り合う
2点間のデータの差分が所定値未満であるような2点の
うちの一方の特徴点を削減する特徴点削減手段と、削減
後に残った特徴点から元のデータ列を近似する自由曲線
を生成する自由曲線生成手段と、生成した自由曲線が所
定の近似度で元のデータ列を近似しているか否かを判定
する判定手段と、前記判定手段により所定の近似度で元
のデータ列を近似していると判定された場合、その自由
曲線を定義するデータを記憶する手段とを備えたことを
特徴とする。In order to achieve the above object, the invention according to claim 1 takes out some characteristic data from a series of digital data sequences, and extracts a plurality of extracted characteristic data. In a data processing device for obtaining an optimized free curve approximating the shape of an original data string using, from the series of digital data strings, a start point, an end point,
The maximum point, the minimum point, the maximum point, the minimum point, the inflection point, and / or the minimum point of the radius of curvature are automatically extracted as feature points, and the feature point extracting means is adjacent to the automatically extracted feature points.
If the difference in data between two points is less than the specified value,
A feature point reducing means for reducing one of the feature points, a free curve generating means for generating a free curve approximating the original data string from the remaining feature points after the reduction, and the generated free curve with a predetermined degree of approximation. When determining that the original data string is approximated by a determining unit that determines whether the original data string is approximated, and the determining unit determines that the original data string is approximated by a predetermined degree of approximation, the data that defines the free curve is And means for storing.
【0012】[0012]
【0013】請求項2に係る発明は、請求項1におい
て、前記自由曲線生成手段が、各特徴点から生成した自
由曲線と元のデータとの誤差の2乗にその位置の重み係
数を掛け、その総和が最小になるように自由曲線を決定
する重み付き最小2乗法を用いることを特徴とする。According to a second aspect of the present invention, in the first aspect, the free curve generating means multiplies the square of the error between the free curve generated from each feature point and the original data by a weighting coefficient of the position, The method is characterized by using a weighted least squares method that determines a free-form curve so that the total sum is minimized.
【0014】請求項3に係る発明は、請求項1におい
て、前記特徴点削減手段が、操作者が入力したパラメー
タ値に応じた数に、特徴点の数を削減することを特徴と
する。請求項4に係る発明は、請求項1において、前記
特徴点抽出手段が、変曲点を自動抽出する際、始点、極
大点、極小点、および終点のうちの何れかの2点間に挟
まれている変曲点のうち、その変曲点を挟む2点の中央
に近い位置にある変曲点を特徴点として抽出するもので
あることを特徴とする。請求項5に係る発明は、請求項
1において、前記特徴点削減手段が、隣り合う2点間の
データの差分が所定値未満であるような2点のうちの一
方の特徴点を削減する代わりに、ある特徴点の前後の特
徴点とのデータ値の差が何れも所定値を超えない場合に
その特徴点を削減するものであることを特徴とする。請
求項6に係る発明は、請求項1において、前記特徴点抽
出手段が、始点、終点、極大点、および極小点に隣り合
う所定数の点について、
によりρ’を求め、このρ’が所定値以下になる点につ
いても特徴点として抽出するものであることを特徴とす
る。請求項7に係る発明は、請求項1において、前記自
由曲線生成手段が、ユーザによる高さを固定するか傾き
を固定するかの指定を受け、高さを固定する場合は高さ
を固定し傾きを変数として近似式を生成し、傾きを固定
する場合は傾きを固定し高さを変数として近似式を生成
して、自由曲線を生成するものであることを特徴とす
る。 According to a third aspect of the present invention, in the first aspect, the feature point reducing means reduces the number of feature points to a number corresponding to a parameter value input by an operator. The invention according to claim 4 is the same as in claim 1,
When the feature point extraction means automatically extracts inflection points,
It is sandwiched between any two points of the large point, the minimum point, and the end point.
Of the rare inflection points, the center of the two points that sandwich the inflection point
The inflection point located at a position close to is extracted as a feature point.
It is characterized by being. The invention according to claim 5 is the claim
1, the feature point reducing means is arranged between two adjacent points.
One of the two points where the data difference is less than the specified value
Instead of reducing one feature point,
If the difference in the data value from the point does not exceed the specified value
The feature is that the feature points are reduced. Contract
The invention according to claim 6 provides the feature point extraction according to claim 1.
The output means is adjacent to the start point, end point, maximum point, and minimum point.
For a given number of points, Ρ'is obtained by
The feature is that it is extracted as a feature point even if
It The invention according to claim 7 is the same as in claim 1,
The free curve generation means fixes the height by the user or
The height is fixed when the height is fixed.
Is fixed, the approximation formula is generated using the slope as a variable, and the slope is fixed.
If you want to change the slope, generate an approximate expression with the height as a variable.
And generate a free curve.
It
【0015】請求項8に係る発明は、請求項1におい
て、前記自由曲線生成手段が、隣り合う特徴点と特徴点
との間に、生成する自由曲線の次数での解を求めるのに
必要な数だけのデータがないときには、その間に仮想的
なデータをおいて自由曲線を生成することを特徴とす
る。請求項9に係る発明は、請求項1から8において、
前記自由曲線がエルミート曲線であることを特徴とす
る。 The invention according to claim 8 is the one according to claim 1, which is required for the free curve generating means to obtain a solution at an order of a free curve to be generated between adjacent feature points. When there is not enough data, the virtual curve is placed between them to generate a free curve. The invention according to claim 9 is the invention according to claims 1 to 8,
Characterized in that the free curve is a Hermitian curve
It
【0016】請求項10に係る発明は、一連のディジタ
ルデータ列から幾つかの特徴点となるデータを取り出
し、取り出した複数の特徴点のデータを用いて元のデー
タ列の形状を近似する最適化自由曲線を求めるデータ処
理方法において、前記一連のディジタルデータ列から、
始点、終点、最大点、最小点、極大点、極小点、変曲
点、および/または曲率半径の極小点を、特徴点として
自動抽出する特徴点抽出ステップと、前記自動抽出した
特徴点から隣り合う2点間のデータの差分が所定値未満
であるような2点のうちの一方の特徴点を削減する特徴
点削減ステップと、削減後に残った特徴点から元のデー
タ列を近似する自由曲線を生成する自由曲線生成ステッ
プと、生成した自由曲線が所定の近似度で元のデータ列
を近似しているか否かを判定する判定ステップと、前記
判定ステップにより所定の近似度で元のデータ列を近似
していると判定された場合、その自由曲線を定義するデ
ータを記憶するステップとを備えたことを特徴とする。According to a tenth aspect of the present invention, optimization data is obtained by extracting some characteristic point data from a series of digital data sequences and using the extracted plurality of characteristic point data to approximate the shape of the original data sequence. In the data processing method for obtaining a free curve, from the series of digital data strings,
A feature point extraction step of automatically extracting a start point, an end point, a maximum point, a minimum point, a maximum point, a minimum point, an inflection point, and / or a minimum point of the radius of curvature as a feature point, and a step of adjoining the automatically extracted feature points. Data difference between two matching points is less than the specified value
And a free curve generation step of generating a free curve approximating the original data string from the remaining feature points after the reduction, A determination step of determining whether the curve approximates the original data string with a predetermined degree of approximation, and if it is determined that the curve approximates the original data string with a predetermined degree of approximation, the Storing data defining a free-form curve.
【0017】[0017]
【0018】請求項11に係る発明は、請求項10にお
いて、前記自由曲線生成ステップが、各特徴点から生成
した自由曲線と元のデータとの誤差の2乗にその位置の
重み係数を掛け、その総和が最小になるように自由曲線
を決定する重み付き最小2乗法を用いることを特徴とす
る。According to an eleventh aspect of the present invention, in the tenth aspect , the free curve generating step multiplies a square of an error between the free curve generated from each feature point and the original data by a weighting factor of the position, The method is characterized by using a weighted least squares method that determines a free-form curve so that the total sum is minimized.
【0019】請求項12に係る発明は、請求項10にお
いて、前記特徴点削減ステップが、操作者が入力したパ
ラメータ値に応じた数に、特徴点の数を削減することを
特徴とする。請求項13に係る発明は、請求項10にお
いて、前記特徴点抽出ステップが、変曲点を自動抽出す
る際、始点、極大点、極小点、および終点のうちの何れ
かの2点間に挟まれている変曲点のうち、その変曲点を
挟む2点の中央に近い位置にある変曲点を特徴点として
抽出するものであることを特徴とする。請求項14に係
る発明は、請求項10において、前記特徴点削減ステッ
プが、隣り合う2点間のデータの差分が所定値未満であ
るような2点のうちの一方の特徴点を削減する代わり
に、ある特徴点の前後の特徴点とのデータ値の差が何れ
も所定値を超えない場合にその特徴点を削減するもので
あることを特徴とする。請求項15に係る発明は、請求
項10において、前記特徴点抽出ステップが、始点、終
点、極大点、および極小点に隣り合う所定数の点につい
て、
によりρ’を求め、このρ’が所定値以下になる点につ
いても特徴点として抽出するものであることを特徴とす
る。請求項16に係る発明は、請求項10において、前
記自由曲線生成ステップが、ユーザによる高さを固定す
るか傾きを固定するかの指定を受け、高さを固定する場
合は高さを固定し傾きを変数として近似式を生成し、傾
きを固定する場合は傾きを固定し高さを変数として近似
式を生成して、自由曲線を生成するものであることを特
徴とする。 According to a twelfth aspect of the present invention, in the tenth aspect , the feature point reducing step reduces the number of feature points to a number corresponding to a parameter value input by an operator. The invention according to claim 13 is the invention according to claim 10.
And the feature point extracting step automatically extracts inflection points.
Of the start point, the maximum point, the minimum point, and the end point
Of the inflection points sandwiched between these two points,
The inflection point near the center of the two points sandwiched is the characteristic point
It is characterized by being extracted. Claim 14
The invention according to claim 10 is the feature point reduction step according to claim 10.
The data difference between two adjacent points is less than the specified value.
Instead of reducing one of the two feature points
Is the difference in data value between the feature points before and after a certain feature point.
Also reduces the characteristic points when the specified value is not exceeded.
It is characterized by being. The invention according to claim 15 is a claim
In Item 10, the feature point extraction step includes a start point and an end point.
For a given number of points adjacent to a point, a local maximum, and a local minimum.
hand, Ρ'is obtained by
The feature is that it is extracted as a feature point even if
It The invention according to claim 16 is the same as that of claim 10,
Freeform curve generation step fixes the height by the user
If you want to fix the height of the
If the height is fixed and the slope is a variable, an approximate expression is generated.
When fixing the height, fix the inclination and approximate the height as a variable.
The feature is that it generates an expression and generates a free-form curve.
To collect.
【0020】請求項17に係る発明は、請求項10にお
いて、前記自由曲線生成ステップが、隣り合う特徴点と
特徴点との間に、生成する自由曲線の次数での解を求め
るのに必要な数だけのデータがないときには、その間に
仮想的なデータをおいて自由曲線を生成することを特徴
とする。請求項18に係る発明は、請求項10から17
において、前記自由曲線がエルミート曲線であることを
特徴とする。 According to a seventeenth aspect of the present invention, in the tenth aspect , the free curve generating step obtains a solution at a degree of the free curve to be generated between adjacent feature points.
When no number only data required for that is characterized by generating a free curve at a virtual data therebetween. The invention of claim 18 relates to claims 10 to 17
In, the free curve is Hermitian
Characterize.
【0021】請求項19に係る発明は、請求項10から
18の何れか1つに記載のデータ処理方法に係るプログ
ラムを格納したことを特徴とする記憶媒体である。The invention according to claim 19 is from claim 10
A storage medium having stored therein a program relating to the data processing method according to any one of 18 .
【0022】[0022]
【発明の実施の形態】以下、図面を用いて本発明の実施
の形態を説明する。BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described below with reference to the drawings.
【0023】図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.
【0024】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.
【0025】ユーザは、入力装置105を操作すること
により、モーション・キャプチャ・システム107を動
作させ、モーションダンプデータを取り込むことができ
る。取り込んだモーションダンプデータは、いったんハ
ードディスク106に格納される。また、ユーザは、入
力装置105を操作することにより、このモーションダ
ンプデータに対して、最適キーフレームを求め、その最
適キーフレームのデータから元のモーションダンプデー
タを高精度に近似する自由曲線を求めて、結果としてデ
ータ圧縮する処理(図2などを参照して後に詳述する)
を行なうことができる。最適キーフレームとはモーショ
ンダンプデータから選び出した複数の特徴点のデータ、
すなわちキーとなるフレームを意味する。表示の際に
は、これらの最適キーフレームから求めた自由曲線に基
づいて、元のモーションダンプデータを所定の精度で近
似するデータ列を生成出力(復元)できる。求めた自由
曲線を定義する係数データは、ハードディスク106に
格納される。By operating the input device 105, the user can operate the motion capture system 107 and capture the motion dump data. The captured motion dump data is temporarily stored in the hard disk 106. Further, the user operates the input device 105 to obtain the optimum key frame for this motion dump data, and obtains a free curve that approximates the original motion dump data with high accuracy from the data of the optimum key frame. As a result, data compression processing (detailed later with reference to FIG. 2 etc.)
Can be done. Optimal key frame is data of multiple feature points selected from motion dump data,
That is, it means a key frame. 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 free curve obtained from these optimum key frames. The coefficient data defining the obtained free curve is stored in the hard disk 106.
【0026】この自由曲線を定義する係数データを読み
出して、例えばゲームプログラムとともにCD−ROM
などに格納する。そのCD−ROMをゲーム機に装着し
てゲームを実行しているとき、必要に応じてその自由曲
線に基づいてデータ列を生成出力する。この自由曲線
は、元のモーションダンプデータを所定の精度で近似し
たものであるので、このデータ列を用いてゲーム中のキ
ャラクタに所定の動作をさせることができる。The coefficient data defining this free-form curve is read out and, 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.
【0027】なお、最適キーフレームを求めて自由曲線
の形でデータ圧縮する本発明に係るデータ処理方法を実
現する処理プログラムは、CD−ROMなどの各種の記
憶媒体で提供され、あらかじめハードディスク106に
インストールされている。CPU101は、このプログ
ラムをRAM103上に読み出して実行することにより
その処理を実行する。The processing program for realizing the data processing method according to the present invention for obtaining the optimum key frame and compressing the data in the form of a free curve is provided on various storage media such as a CD-ROM and stored in the hard disk 106 in advance. It is installed. The CPU 101 executes the processing by reading this program onto the RAM 103 and executing it.
【0028】次に、図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.
【0029】まずステップ201で、そのモーションダ
ンプデータを読み出し、キーフレーム候補点(特徴点)
を抽出する。具体的には、処理対象のモーションダンプ
データのうち、始点のフレームと終点のフレーム、
最大点のフレームと最小点のフレーム、極大点のフレ
ームと極小点のフレーム、および変曲点のフレームを
抽出して、最初のキーフレームとする。First, in step 201, the motion dump data is read out and key frame candidate points (feature points) are read.
To extract. Specifically, of the motion dump data to be processed, the start point frame and the end point frame,
The frame of the maximum point and the frame of the minimum point, the frame of the maximum point and the minimum point, and the frame of the inflection point are extracted as the first key frame.
【0030】ステップ201についてさらに詳細に説明
する。図3は、図2の処理の処理対象であるモーション
ダンプデータの例を示す。モーションダンプデータは、
モーション・キャプチャ・システム107により、例え
ば人の体の幾つかの測定点の動きを取り込んだデータで
あるから、その測定点ごとのデータ(例えば、肩の動き
を示すデータ、ひじの動きを示すデータ、手首の動きを
示すデータ、…など)からなる。1つの測定点について
のデータは、その測定点の動きを表す幾つかのパラメー
タ(例えば、3次元座標や座標軸回りの角度など)ごと
のデータからなる。1つのパラメータについてのデータ
は、そのパラメータの所定時間ごとのフレームデータか
らなる。図3に示したモーションダンプデータの例は、
ある測定点のあるパラメータについてのデータ(例え
ば、人の鎖骨の回転角度)を示すものである。横軸はフ
レーム番号(すなわち、時間)iを示し、縦軸はそのパ
ラメータのデータ値yを示す。ここではデータの数をn
+1とし(したがって、iは0〜n)、フレーム番号i
のデータ値をyiで表す。以下では、このようなある測
定点のあるパラメータのデータに対する処理を説明する
が、他のパラメータのデータについての処理、および他
の測定点のパラメータのデータに対する処理も、同様に
行なわれる。Step 201 will be described in more detail. FIG. 3 shows an example of motion dump data which is a processing target of the processing of FIG. Motion dump data is
The motion capture system 107 captures, for example, the movements of several measurement points of the human body, so that data for each measurement point (for example, data indicating shoulder movements, data indicating elbow movements). , Data indicating 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.
The data (for example, the rotation angle of a human clavicle) about a certain parameter at a certain measurement point is shown. 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 frame number i
The data value of i is represented by y i . Hereinafter, the processing for the data of a certain parameter at a certain measurement point will be described, but the processing for the data of another parameter and the processing for the data of the parameter at another measurement point are performed in the same manner.
【0031】図2に戻って、ステップ201では、図3
のようなモーションダンプデータに対し、以下の数1の
(a)〜(g)に示す点を最初のキーフレームとして抽
出する。なお、数1の(h)の曲率半径の極小点につい
ては、後述する第1の変形例で説明する。Returning to FIG. 2, in step 201, as shown in FIG.
With respect to such motion dump data, the points shown in (a) to (g) of the following equation 1 are extracted as the first key frame. In addition, the minimum point of the radius of curvature of (h) of Formula 1 will be described in a first modified example described later.
【0032】[0032]
【数1】 [Equation 1]
【0033】次に、ステップ202で、抽出した上記数
1の(a)〜(e)で与えられる始点、終点、極大点、
極小点、および変曲点をフレーム番号順に並べて整理す
る(最大値をとる最大点および最小値をとる最小点は、
極大点および極小点に含まれる)。整理した結果を、下
記の表1に示す。表1では、整列後フレーム番号mと当
初のフレーム番号iとデータ値yとを、縦に並べて対応
させて示してある。整列後フレーム番号mは、抽出され
たキーフレームに対して0から新たに付けたフレーム番
号である。当初のフレーム番号iは、元のモーションダ
ンプデータにおけるフレーム番号であり、整列後フレー
ム番号mに応じて決まるのでiの添字にmを付す。最初
に抽出されたキーフレームの数はnに添字m(0)を付
した記号で表すが、最初の抽出分であることを示すため
添字mには(0)を付けてある。Next, in step 202, the extracted start point, end point, and maximum point given by (a) to (e) of the above equation 1
Arrange the minimum points and inflection points in order of frame number (the maximum point that takes the maximum value and the minimum point that takes the minimum value are
Included in the maximum and minimum points). The organized results are shown in Table 1 below. In Table 1, the aligned frame number m, the initial frame number i, and the data value y are shown in a vertically aligned relationship. The aligned frame number m is a frame number newly added from 0 to the extracted key frame. The initial frame number i is the frame number in the original motion dump data and is determined according to the aligned frame number m, so the subscript i is appended with m. The number of key frames extracted first is represented by a symbol with a subscript m (0) added to n, but the subscript m is attached with (0) to indicate that it is the first extraction.
【0034】[0034]
【表1】 [Table 1]
【0035】次に、ステップ203で、所定の削減条件
を満たすキーフレームを削減し残りのキーフレームを残
す。具体的には、表1のように整理したキーフレームに
対して、所定のキーフレームの点を削減対象から除き、
それ以外のキーフレームの点について下記の数2の削減
条件を満たす極大点、極小点、および変曲点をキーフレ
ームから削減する。削減対象から除くキーフレームの点
は、始点と終点のみを削減対象から除く場合、並び
に、始点、終点、最大点、および最小点を削減対象か
ら除く場合の2つの場合をユーザが選択できるようにな
っている。Next, at step 203, the key frames satisfying a predetermined reduction condition are reduced and the remaining key frames are left. Specifically, with respect to the key frames arranged as shown in Table 1, points of predetermined key frames are excluded from the reduction target,
Regarding other points of the key frame, the maximum point, the minimum point, and the inflection point satisfying the reduction condition of the following Expression 2 are reduced from the key frame. For the points of the key frame to be excluded from the reduction target, the user can select two cases: only the start point and the end point are excluded from the reduction target, and the start point, the end point, the maximum point, and the minimum point are excluded from the reduction target. Has become.
【0036】[0036]
【数2】 [Equation 2]
【0037】数2の不等号の左辺は、図4に示すような
整列後フレーム番号m+1のキーフレームのデータ値と
整列後フレーム番号mのキーフレームのデータ値との差
Δymである。数2の削減条件は、このΔymが、キーフ
レームデータの最大値ymaxと最小値yminとの差にパラ
メータαを乗算した値より小さいとき、フレーム番号m
+1のキーフレームを削減する、ということである。本
装置のユーザは、入力装置105を操作することによ
り、数2のパラメータαを所望の値に設定することがで
きる。The left side of the inequality sign in Expression 2 is the difference Δy m between the data value of the key frame of the aligned frame number m + 1 and the data value of the key frame of the aligned frame number m as shown in FIG. The reduction condition of Expression 2 is that when this Δy m is smaller than the value obtained by multiplying the difference between the maximum value y max and the minimum value y min of the key frame data by the parameter α, the frame number m
This means reducing +1 keyframes. The user of this apparatus can set the parameter α of the equation 2 to a desired value by operating the input device 105.
【0038】αを大きくとれば、数2の削減条件により
削減されるキーフレームの数は多くなり後に残るキーフ
レームの数が少なくなるので、データ圧縮の効果は高く
なるが、少ないキーフレームから生成した自由曲線(後
述するステップ205で生成する)は一般的には近似の
精度(元のモーションダンプデータを近似する度合い)
が低くなる。一方、αを小さくとれば、数2の削減条件
により削減されるキーフレームの数は少なくなり後に残
るキーフレームの数が多くなるので(α=0とすれば、
削減されるキーフレームの数は0になり、表1のすべて
のキーフレームが残る)、データ圧縮の効果は低くなる
が、多くのキーフレームから生成した自由曲線は一般的
には近似の精度が高くなる。If α is made large, the number of key frames reduced by the reduction condition of Equation 2 increases, and the number of key frames remaining afterwards decreases, so that the data compression effect is enhanced, but the number of generated key frames is reduced. The free curve (generated in step 205 described later) is generally the accuracy of the approximation (the degree to which the original motion dump data is approximated).
Will be lower. On the other hand, if α is set to be small, the number of key frames that are reduced by the reduction condition of Equation 2 is reduced, and the number of key frames that remain afterwards is increased (if α = 0,
The number of reduced keyframes becomes 0, and all the keyframes in Table 1 remain), and the effect of data compression is low, but the free curve generated from many keyframes generally has an approximate accuracy. Get higher
【0039】したがって、例えばユーザは、始めはαを
比較的大きくとって処理を行ない、結果的に生成される
自由曲線の近似の精度が低かったときは、近似の精度が
所望の通りに高くなるようにαを小さくしていくという
ような操作および処理の形態をとることができる。逆
に、始めはαを小さくとって処理を行ない、そのときの
キーフレームの数が多すぎるときは、キーフレームの数
を減らすようにαを大きくしていくというような操作お
よび処理の形態をとることもできる。Therefore, for example, when the user performs processing with α set to be relatively large at first, and the accuracy of approximation of the free curve generated as a result is low, the accuracy of approximation becomes high as desired. As described above, it is possible to take a form of operation and processing such as decreasing α. On the other hand, if α is set small at first and the processing is performed, and if the number of keyframes at that time is too large, α is increased to reduce the number of keyframes. It can also be taken.
【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と表記するもの
とする。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. The organized results are shown in Table 2 below.
In Table 2, as in Table 1, the aligned frame number m, the initial frame number i, and the data value y are shown in a vertically aligned relationship. The frame number m after the alignment is the step 2
It is a frame number newly added from 0 to the key frame remaining after the reduction by 03. The number of keyframes after the first reduction is represented by the symbol n m (1) with the subscript m (1) added to n, to show that it is after the first reduction. (1) is attached to the subscript m.
However, in the following description, in order to simplify the notation, the number (1) of the number of keyframes n m (1) will be omitted and denoted as n m .
【0041】[0041]
【表2】 [Table 2]
【0042】次に、ステップ205で、その時点で残っ
ているキーフレームデータ(表2)に基づいて、元のモ
ーションダンプデータ(図3)を近似する自由曲線を生
成する。以下、自由曲線の生成方法について詳しく説明
する。Next, in step 205, a free curve approximating the original motion dump data (FIG. 3) is generated based on the key frame data (Table 2) remaining at that time. Hereinafter, a method of generating a free curve will be described in detail.
【0043】一般的に、キーフレーム(特徴点)の間隔
が等しい場合は、下記の数3の3次エルミート補間式で
近似する。図5に、数3の3次エルミート曲線の一部分
を示す。Generally, when the intervals between key frames (feature points) are equal, the approximation is performed by the cubic Hermite interpolation formula of the following expression 3. FIG. 5 shows a part of the cubic Hermitian curve of Expression 3.
【0044】[0044]
【数3】 [Equation 3]
【0045】しかし、本実施の形態で抽出したキーフレ
ームは、上記表2中の当初のフレーム番号iに示すよう
に一般的には等間隔ではない。そこで、上記数3の3次
エルミート曲線の式を下記の数4に示すように変換して
用いる。However, the key frames extracted in this embodiment are generally not evenly spaced, as shown in the original frame number i in Table 2 above. Therefore, the equation of the third-order Hermitian curve of the above equation 3 is converted into the following equation 4 and used.
【0046】[0046]
【数4】 [Equation 4]
【0047】上記数4の式を、数3に示したような一般
式の形式に表現し直すと、下記の数5のようになる。Reexpressing the equation (4) in the form of the general equation as shown in equation (3), the following equation (5) is obtained.
【0048】[0048]
【数5】 [Equation 5]
【0049】図6に、この3次エルミート曲線y(x)
の例を示す。この数5の式で、元のモーションダンプデ
ータ(図3)を近似し、最小2乗法を用いて、誤差の2
乗の総和が最小になるようにする。その条件式は、次の
数6で与えられる。FIG. 6 shows the cubic Hermitian curve y (x).
For example: The equation (5) is used to approximate the original motion dump data (FIG. 3), and the error of 2 is calculated using the method of least squares.
Try to minimize the sum of powers. The conditional expression is given by the following Expression 6.
【0050】[0050]
【数6】 [Equation 6]
【0051】数5の式を、数6の条件式に代入すると、
以下の数7の条件式が得られる。Substituting the expression of equation 5 into the conditional expression of equation 6,
The following conditional expression is obtained.
【0052】[0052]
【数7】 [Equation 7]
【0053】数7は変分問題であり、その停留原理は次
の数8で与えられる。すなわち、数8を解くことによ
り、数7の条件式を満たすQmとdmを求めることができ
る。Equation (7) is a variational problem, and its stopping principle is given by the following equation (8). That is, by solving Equation 8, Q m and d m that satisfy the conditional expression of Equation 7 can be obtained.
【0054】[0054]
【数8】 [Equation 8]
【0055】数8から下記の数9を導ける。From the equation 8, the following equation 9 can be derived.
【0056】[0056]
【数9】 [Equation 9]
【0057】この数9は、Qmとdm(m=0,1,…,
nm−1)についての2nm元連立一次方程式であるか
ら、これを解くことによりQmとdmを求めることができ
る。Qmとdm(m=0,1,…,nm−1)が決定され
れば、そのQmとdmを上述の数5に代入することによ
り、最小2乗法による3次エルミート曲線補間の最適化
が行なわれ、これにより表2に示されているキーフレー
ムデータに基づいて元のモーションダンプデータ(図
3)を近似する自由曲線(3次エルミート曲線)が求め
られたことになる。以上で、ステップ205の説明を終
える。This equation 9 is expressed by Q m and d m (m = 0, 1, ...,
Since it is a 2n m element simultaneous linear equation for n m −1), Q m and d m can be obtained by solving this. When Q m and d m (m = 0, 1, ..., N m −1) are determined, the Q m and d m are substituted into the above-mentioned equation 5 to obtain a cubic Hermitian curve by the least square method. The optimization of the interpolation is performed, whereby the free curve (third-order Hermitian curve) that approximates the original motion dump data (FIG. 3) is obtained based on the key frame data shown in Table 2. . This is the end of the description of step 205.
【0058】ステップ205で自由曲線を求めた後、ス
テップ206で最適化の判定を行なう。具体的には、次
の数10に示す2乗平均誤差εRMS、および数11に示
す最大乖離度εmaxを算出し、εRMS≦εRMS0かつεmax
≦εmax0であるか否かを判別する。εRMS0とεmax0は、
それぞれ、あらかじめ定められている所定値である。After the free curve is obtained in step 205, optimization is determined in step 206. Specifically, the root mean square error ε RMS shown in the following equation 10 and the maximum deviation degree ε max shown in the following equation 11 are calculated, and ε RMS ≦ ε RMS0 and ε max
It is determined whether or not ≦ ε max0 . ε RMS0 and ε max0 are
Each is a predetermined value determined in advance.
【0059】[0059]
【数10】 [Equation 10]
【0060】[0060]
【数11】 [Equation 11]
【0061】ステップ206でεRMS≦εRMS0かつεmax
≦εmax0が成立していないときは、再びステップ203
に戻って、別の削減条件でキーフレームを外す処理(表
1のキーフレームから削減する処理)からやり直す。ス
テップ203〜206の処理は上述したのと同じであ
る。ただし、第1回目の削減を行なった後のキーフレー
ムの数nm(1)の代わりに、第2回目の削減を行なった後
のキーフレームの数nm( 2)を用いる(上述の説明では、
キーフレームの数nm(1)を簡単にnmと表記して説明し
たので、このnmを第2回目の削減後のキーフレームの
数と読み替えればよい)。At step 206, ε RMS ≤ ε RMS0 and ε max
When ≦ ε max0 is not satisfied, the step 203 is performed again.
Returning to step 1, the processing is started again from the processing of removing the key frame (processing of reducing the key frame from Table 1) under another reduction condition. The processing of steps 203 to 206 is the same as described above. However, instead of the number n m (1) of key frames after the first reduction, the number n m ( 2) of key frames after the second reduction is used (the above description Then
Having described is indicated as simply n m the number n m (1) of the key frames, may be read as the n m and the number of key frames after the second round of reduction).
【0062】ステップ206でεRMS≦εRMS0かつεmax
≦εmax0が成立していたときは、誤差および乖離度が所
定値以下に収まった(すなわち、所定の近似度で元のモ
ーションダンプデータを近似する自由曲線が得られたと
いうこと)ということであるから、最適化がなされたと
して処理を終了する。その時点で残っているキーフレー
ムデータ(表2)は、最終的な最適キーフレームのデー
タとしてハードディスク106に格納する。また、求め
られた自由曲線を定義する係数データ(数5のQm,
dm,nm,im)もハードディスク106に格納する。
自由曲線の式そのものを格納するようにしてもよい。At step 206, ε RMS ≤ ε RMS0 and ε max
When ≦ ε max0 holds, it means that the error and the deviation are within the predetermined value (that is, the free curve that approximates the original motion dump data with the predetermined approximation is obtained). Therefore, the process is terminated because it is determined that the optimization is performed. The key frame data (Table 2) remaining at that time is stored in the hard disk 106 as the final optimum key frame data. Further, coefficient data that defines the obtained free curve (Q m in Equation 5,
d m, n m, i m ) is also stored in the hard disk 106.
The free-form curve formula itself may be stored.
【0063】下記の表3に、最終的に残ったキーフレー
ム(最適キーフレーム)の一覧を示す。表3では最適キ
ーフレームの数をnmとする。なお、ステップ206で
εRMS≦εRMS0かつεmax≦εmax0が成立していた場合で
も、ユーザは、その時点におけるキーフレームの数が満
足のいく範囲に入っていなかったとき、あるいは表示画
面上で元のモーションダンプデータとキーフレームから
生成した自由曲線とが乖離していると思われるときなど
には、意識的にステップ203に戻って処理をやり直す
ことができる。Table 3 below shows a list of finally remaining keyframes (optimal keyframes). In Table 3, the number of optimum keyframes is n m . Even if ε RMS ≤ ε RMS0 and ε max ≤ ε max0 are satisfied in step 206, the user may find that the number of key frames at that time is not within the satisfactory range or on the display screen. When it is considered that the original motion dump data and the free curve generated from the key frame deviate from each other, it is possible to intentionally return to step 203 and perform the process again.
【0064】[0064]
【表3】 [Table 3]
【0065】以上のようにして、図3のモーションダン
プデータから表3の最適キーフレームを求めることがで
き自由曲線が定義できた。この自由曲線に基づいて、い
つでも元のモーションダンプデータ(図3)を近似する
データ列を生成することができる。図3のデータは、例
えば人がある動きをしたときの所定測定点の所定パラメ
ータの変化を示すものであり、その測定点の他のパラメ
ータについても、また他の測定点のパラメータについて
も、同様にして最適キーフレームと自由曲線を求める。
求めた自由曲線を定義するデータは、例えば、ゲームプ
ログラムとともにCD−ROMなどに格納し、ゲーム中
に必要に応じてその自由曲線に基づいて各フレームの表
示データを生成して表示することにより、ゲーム中のキ
ャラクタに所定の動作をさせることができる。なお、1
つの動きを表現する複数のパラメータについて、同じフ
レーム位置をキーフレームとする必要はない。各パラメ
ータごとに、上述の処理で求めた最適キーフレームから
自由曲線を求めることができれば、その自由曲線から任
意のフレーム位置における当該パラメータのデータ値が
求められるからである。As described above, the optimum key frame of Table 3 can be obtained from the motion dump data of FIG. 3 and the free curve can be defined. Based on this free curve, a data string approximating the original motion dump data (FIG. 3) can be generated at any time. The data in FIG. 3 shows changes in a predetermined parameter at a predetermined measurement point when, for example, a person makes a motion, and the same applies to other parameters at that measurement point and also to parameters at other measurement points. To find the optimum keyframe and free curve.
The data defining the obtained free curve is stored in, for example, a CD-ROM together with the game program, and the display data of each frame is generated and displayed based on the free curve during the game as needed, It is possible to cause the character in the game to perform a predetermined action. 1
It is not necessary for the same frame position to be a key frame for a plurality of parameters expressing one movement. This is because if a free curve can be obtained from the optimum key frame obtained by the above-described processing for each parameter, the data value of the parameter at an arbitrary frame position can be obtained from the free curve.
【0066】以上で本発明の第1の実施の形態の説明を
終える。上記第1の実施の形態によれば、モーションダ
ンプデータのような一連のディジタルデータ列から、そ
のデータ列の形状を特徴付けるのに有意と思われる幾何
学的な特徴点(始点、終点、最大点、最小点、極大点、
極小点、および変曲点)を自動抽出してキーフレームの
候補点としているので、人手でキーフレーム設定を行な
うのとほぼ同じ感覚でキーフレームが設定でき、結果と
して、少ない特徴点で高精度に元のデータを近似できる
自由曲線を得ることができるような最適キーフレームを
抽出できる。This is the end of the description of the first embodiment of the present invention. According to the first embodiment described above, from a series of digital data strings such as motion dump data, geometrical characteristic points (start point, end point, maximum point) which are considered to be significant for characterizing the shape of the data string. , Minimum point, maximum point,
Since the minimum points and inflection points are automatically extracted and used as key frame candidate points, key frames can be set with almost the same feeling as manually setting key frames, resulting in high accuracy with few feature points. It is possible to extract the optimum keyframe that can obtain a free curve that can approximate the original data.
【0067】次に、本発明の第2の実施の形態について
説明する。第2の実施の形態に係るデータ処理装置の構
成およびデータ処理プログラムの処理手順は、上記第1
の実施の形態の図1および図2と同じであるので説明を
省略する。ただし、第2の実施の形態では、図2の処理
手順中、各フレームに重みの概念を加味して処理してい
る点が異なる。すなわち、上記第1の実施の形態では、
図2のステップ205で最小2乗法を用いて3次エルミ
ート曲線と元のモーションダンプデータとの各フレーム
ごとの誤差の2乗の総和が最小になるように3次エルミ
ート曲線を求めており、この場合、最小2乗法ではすべ
てのフレームを同じ重みで評価している。しかし、始
点、終点、最大点、および最小点などの非常に有意と考
えられるキーフレームに対しては、他のフレームよりも
その重みを増して処理し、y(x)で与えられる近似式
をなるべくそれらのキーフレームのデータ値の近傍を通
過するようにすることが望ましい。さらに、キーフレー
ム間でも重みが大きいものとそれ程でもないものがあ
る。そこで、第2の実施の形態では、最小2乗法で誤差
の2乗の総和が最小になるようにする条件式に重み係数
wiを導入する。具体的には、上記第1の実施の形態の
ステップ205で自由曲線を生成する際、最小2乗法の
条件式である数6の代わりに、下記の数12を用いる。Next, a second embodiment of the present invention will be described. The configuration of the data processing device and the processing procedure of the data processing program according to the second embodiment are the same as those in the first embodiment.
Since this is the same as FIG. 1 and FIG. 2 of the embodiment, description thereof will be omitted. However, the second embodiment differs in that each frame is processed in consideration of the concept of weight in the processing procedure of FIG. That is, in the above first embodiment,
In step 205 of FIG. 2, the cubic Hermitian curve is obtained by using the method of least squares so that the total sum of squares of the error of each frame between the cubic Hermitian curve and the original motion dump data is minimized. In this case, the least squares method evaluates all frames with the same weight. However, for key frames such as the start point, the end point, the maximum point, and the minimum point, which are considered to be very significant, the weighting is performed more than other frames, and the approximate expression given by y (x) is calculated. It is desirable to pass near the data values of those key frames as much as possible. Further, some keyframes have a large weight and some have a not so great weight. Therefore, in the second embodiment, the weighting factor w i is introduced into the conditional expression that minimizes the total sum of squared errors by the least squares method. Specifically, when generating a free-form curve in step 205 of the first embodiment, the following expression 12 is used instead of the expression 6 which is the conditional expression of the least square method.
【0068】[0068]
【数12】 [Equation 12]
【0069】重み係数wiは、各フレームの有意性(元
のモーションダンプデータの形状を近似する上で、どれ
程の意味を持つかの度合い)に基づいて決定する。例え
ば、以下の〜のようにすればよい。
第1次の有意性を持つフレーム、例えば、始点、終
点、最大点、および最小点:wi=10(さらに、始点
および終点は最大点および最小点よりも重要度が高いと
言えるので、始点および終点の重み係数を最大点および
最小点の重み係数より大きい値にしてもよい。)
第2次の有意性を持つフレーム、例えば、極大点(最
大点を除く)、および極小点(最小点を除く):wi=
5
第3次の有意性を持つフレーム、例えば、変曲点:w
i=2
その他のキーフレーム:wi=1The weighting factor w i is determined based on the significance of each frame (how significant it is in approximating the shape of the original motion dump data). For example, the following may be performed. Frames with first-order significance, eg start point, end point, maximum point, and minimum point: w i = 10 (further, since start point and end point are said to be more important than maximum point and minimum point, start point And the weighting factor of the end point may be larger than the weighting factor of the maximum point and the minimum point.) Frames having second-order significance, for example, the maximum point (excluding the maximum point) and the minimum point (the minimum point) Except): w i =
5 Frame with third-order significance, eg inflection point: w
i = 2 Other keyframes: w i = 1
【0070】数6の代わりに、重み係数を含む数12を
用いるため、ステップ205で自由曲線を求める際に用
いた数7〜数9は書き直す必要がある。すなわち、数7
〜数9の代わりに、下記の数13〜数15をそれぞれ使
用すればよい。Since Expression 12 including the weighting coefficient is used instead of Expression 6, it is necessary to rewrite Expressions 7 to 9 used when obtaining the free curve in step 205. That is, the number 7
~ Instead of Expression 9, the following Expressions 13 to 15 may be used respectively.
【0071】[0071]
【数13】 [Equation 13]
【0072】[0072]
【数14】 [Equation 14]
【0073】[0073]
【数15】 [Equation 15]
【0074】また、ステップ206の最適化の判定で
は、数10の2乗平均誤差εRMSおよび数11の最大乖
離度εmaxの代わりに、下記の数16の2乗平均誤差ε
RMSおよび数17の最大乖離度εmaxを用いる。Further, in the determination of optimization in step 206, instead of the root mean square error ε RMS of equation 10 and the maximum deviation degree ε max of equation 11, the root mean square error ε of equation 16 below is used.
The RMS and the maximum deviation degree ε max of Equation 17 are used.
【0075】[0075]
【数16】 [Equation 16]
【0076】[0076]
【数17】 [Equation 17]
【0077】以上のように、第2の実施の形態では、各
フレームに重みを持たせて処理するようにしているの
で、第1の実施の形態の効果に加え、近似式がより有意
なキーフレームデータの近傍を通るようにでき、結果と
して、より少ない特徴点でより高精度に元のデータを近
似できるような最適キーフレームを抽出できる。特に、
重み付き最小2乗法で最適な自由曲線を生成しているの
で、連続的で滑らかな自由曲線を得ることができ、この
実施の形態で説明しているようにキャラクタの動きを表
現するモーションダンプデータに適用したときには、ス
ムーズなキャラクタの動きを実現できる。さらに、キャ
ラクタの動きをスローモーション再生する場合もスムー
ズな動きを実現できる。As described above, in the second embodiment, each frame is processed by giving a weight to each frame. Therefore, in addition to the effect of the first embodiment, a key whose approximation formula is more significant is used. It is possible to pass through the vicinity of the frame data, and as a result, it is possible to extract an optimum key frame that can more accurately approximate the original data with fewer feature points. In particular,
Since the optimum free-form curve is generated by the weighted least squares method, a continuous and smooth free-form curve can be obtained, and the motion dump data expressing the motion of the character as described in this embodiment. When applied to, a smooth character movement can be realized. Furthermore, smooth motion can be realized when the motion of the character is reproduced in slow motion.
【0078】次に、上記第1および第2の実施の形態に
関する第1の変形例を説明する。上述の第1および第2
の実施の形態では、図2のステップ201で抽出するキ
ーフレーム候補点は数1に示す始点、終点、最大点、最
小点、極大点、極小点、および変曲点であるため、図7
の701に示すような曲率が大きい点(曲率半径が小さ
い点)は抽出されない。しかし、このような曲率が大き
い点は、元のモーションダンプデータを近似する際に有
意な点である。そこで、第1の変形例では、第1および
第2の実施の形態に対し、キーフレーム候補点として図
7に示すような曲率が大きい点を含める。Next, a first modification of the first and second embodiments will be described. First and second described above
7, the key frame candidate points extracted in step 201 of FIG. 2 are the start point, end point, maximum point, minimum point, maximum point, minimum point, and inflection point shown in FIG.
No. 701, a point with a large curvature (a point with a small radius of curvature) is not extracted. However, such a large curvature is a significant point when the original motion dump data is approximated. Therefore, in the first modified example, a point having a large curvature as shown in FIG. 7 is included as a key frame candidate point in the first and second embodiments.
【0079】図8は、モーションダンプデータにおける
曲率半径ρを示す図である。一般的に、関数f=f
(x)の曲率半径ρは次の数18で与えられる。FIG. 8 is a diagram showing the radius of curvature ρ in the motion dump data. In general, the function f = f
The radius of curvature ρ of (x) is given by the following equation 18.
【0080】[0080]
【数18】 [Equation 18]
【0081】数18を図8の記号を使って差分表示する
と、下記の数19になる。When the expression 18 is differentially displayed using the symbols in FIG. 8, the following expression 19 is obtained.
【0082】[0082]
【数19】 [Formula 19]
【0083】図9は、曲率半径ρに基づいて抽出する点
(フレーム)の例である。曲率半径により抽出するキー
フレーム候補点として、数20に示す2種類の点ρmin
とρh ollowとを用いる。すなわち、図2のステップ20
1で抽出するキーフレーム候補点として、上記数1の
(a)〜(g)のほか(h)に示す数20により抽出さ
れる点も含めるようにする。キーフレーム候補点の抽出
の後は、上記第1および第2の実施の形態の処理手順を
そのまま実行すればよい。FIG. 9 is an example of points (frames) to be extracted based on the radius of curvature ρ. As key frame candidate points to be extracted by the radius of curvature, two types of points ρ min shown in Expression 20
And ρ h ollow are used. That is, step 20 of FIG.
In addition to (a) to (g) in Equation 1 above, the points extracted by Equation 20 in (h) above are also included as key frame candidate points to be extracted in 1. After extraction of the key frame candidate points, the processing procedure of the first and second embodiments may be executed as it is.
【0084】[0084]
【数20】 [Equation 20]
【0085】この第1の変形例によれば、キーフレーム
候補点として、曲率が大きい点(曲率半径が小さい点)
を含めるようにしているので、結果として、より少ない
特徴点でより高精度に元のデータを近似できるような最
適キーフレームを求めることができる。According to this first modification, a point having a large curvature (a point having a small radius of curvature) is selected as a key frame candidate point.
Therefore, as a result, it is possible to obtain an optimum key frame that can more accurately approximate the original data with fewer feature points.
【0086】次に、上記第1および第2の実施の形態に
関する第2の変形例を説明する。上記第1および第2の
実施の形態では、図2のステップ201で変曲点を抽出
し、そのすべてをキーフレーム候補点に含めている。し
かし、始点、極大点、極小点、および終点のうちの何れ
かの2点間に挟まれている変曲点のうちでは、始点、極
大点、極小点、および終点に近い位置にある変曲点より
遠い位置にある変曲点の方が有意性が高いといえる。始
点、極大点、極小点、および終点は有意性が高いので、
近似式がこれらの点の近傍を通るように設定され、必然
的にこれらの点の近くにある変曲点の近傍を通るように
設定され、一方、始点、極大点、極小点、および終点か
ら遠い位置にある変曲点はその位置の近傍を通るように
近似式を設定するのが好ましいからである。Next, a second modification of the first and second embodiments will be described. In the first and second embodiments, inflection points are extracted in step 201 of FIG. 2 and all of them are included in key frame candidate points. However, among the inflection points sandwiched between any two of the start point, the maximum point, the minimum point, and the end point, the inflection points located near the start point, the maximum point, the minimum point, and the end point It can be said that the inflection point located farther than the point is more significant. Since the start point, maximum point, minimum point, and end point are highly significant,
Approximation formulas are set to pass near these points, and inevitably to pass near inflection points near these points, while from the start point, the maximum point, the minimum point, and the end point. This is because it is preferable to set an approximate expression so that an inflection point at a distant position passes near the position.
【0087】そこで、第2の変形例では、始点、極大
点、極小点、および終点のうちの何れかの2点間に挟ま
れている変曲点のうち、その変曲点を挟む2点の中央に
近い位置にある変曲点をキーフレーム候補点とする。例
えば、図10に示すように、極大点1001と極小点1
002との間に変曲点1011,1012,1013が
あった場合は、極大点1001と極小点1002との中
央に近い変曲点1012をキーフレーム候補点として残
すようにする。始点、極大点、極小点、および終点のう
ちの何れかの2点間に挟まれている変曲点のうち中央に
近い位置の変曲点を残して他は削減する処理は、図2の
ステップ201で行なえばよい。他の処理は、上記第1
およびおよび第2の実施の形態での処理をそのまま行な
えばよい。Therefore, in the second modification, among the inflection points sandwiched between any two points of the start point, the maximum point, the minimum point, and the end point, two points sandwiching the inflection point are included. The inflection point near the center of is the key frame candidate point. For example, as shown in FIG. 10, a maximum point 1001 and a minimum point 1
If there are inflection points 1011, 1012, and 1013 between 002 and 002, an inflection point 1012 near the center between the maximum point 1001 and the minimum point 1002 is left as a key frame candidate point. Of the inflection points sandwiched between any two of the start point, the maximum point, the minimum point, and the end point, the inflection point near the center is left and the others are reduced. It may be performed in step 201. Other processing is the same as the first processing described above.
And and and the processing in the second embodiment may be performed as it is.
【0088】また、ステップ201ではすべての変曲点
を抽出しておき、ステップ203でキーフレームを削減
する際に、始点、極大点、極小点、および終点のうちの
何れかの2点間に挟まれている変曲点のうち中央に近い
位置の変曲点を残す処理を行なうようにしてもよい。こ
の場合は、ステップ201で抽出した変曲点に優先度
(その変曲点を挟む始点、極大点、極小点、および終点
のうちの2点の中央に近いほど高い値をとるような優先
度)を付け、ステップ203ではその優先度が低い変曲
点から順に削減すればよい。さらに、上記第2の実施の
形態に本変形例を適用する場合は、始点、極大点、極小
点、および終点のうちの2点の中央に近い変曲点ほど大
きい重み係数となるようにして処理してもよい。In step 201, all inflection points are extracted, and when the number of key frames is reduced in step 203, between any two points of the start point, the maximum point, the minimum point, and the end point. A process of leaving an inflection point near the center among the inflection points sandwiched may be performed. In this case, the priority is given to the inflection point extracted in step 201 (the priority is such that the closer to the center of two points among the start point, the maximum point, the minimum point, and the end point sandwiching the inflection point, the higher the value becomes. ) Is added, and in step 203, the inflection points with lower priority may be sequentially deleted. Further, when the present modification is applied to the second embodiment, the inflection point closer to the center of two points among the start point, the maximum point, the minimum point, and the end point has a larger weighting coefficient. May be processed.
【0089】この第2の変形例によれば、より有意な変
曲点を優先的に最適キーフレームに残すことができるの
で、結果として、より少ない特徴点でより高精度に元の
データを近似できるような最適キーフレームを求めるこ
とができる。According to the second modified example, more significant inflection points can be preferentially left in the optimum key frame, and as a result, the original data can be approximated with fewer feature points and higher accuracy. It is possible to find the optimum key frame that can be obtained.
【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までずれることになり、不都合である。Next, a third modification of the first and second embodiments will be described. First and second described above
In the embodiment (and the first and second modified examples),
In step 203 of FIG. 2, the above-mentioned equation 2 is used as the reduction condition. Therefore, the point where the data value changes abruptly may not be extracted as the optimum key frame. Figure 11
An example is shown in. In the motion dump data of FIG. 11, the data value y i-1 of the key frame 1101 (frame number i-1) and the key frame 1102 (frame number i)
Small difference between the data value y i of the key frame 1102
Data value y i of (frame number i) and key frame 11
The difference from the data value y i + 1 of 03 (frame number i + 1) is large. In this case, the conditional expression | y i −y i-1 | <α of the above equation 2
If (y max −y min ) holds, the key frame 1
102 is reduced. However, the keyframe 1102
Is near the start point of the abrupt change from that position to the next key frame 1103, which is a significant point for approximating the shape of this motion dump data. If this point is reduced, the position of the key frame is left key frame 11
It will be up to 01, which is inconvenient.
【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
では、フラグ値のパターンに応じてキーフレームを削減
する。Therefore, in the third modification, the key frame reduction process in step 203 of FIG. 2 is replaced with the process of FIG. First, in step 1201, flag values flag [m] (m is a frame number after sorting in Table 1, m = 0, 1, ... For key frame candidate points (feature points) arranged as shown in Table 1 above. , Nm (0) −1) are all initialized to 0. Next, in step 1202, the flag value flag [m] of the important key frame is set to 2. Here, the flag value of the start point and the end point is set to 2 (the flag value of the maximum point and the minimum point may be set to 2 in addition to the start point and the end point, or the flag value of the start point / end point is set to 2). The user may be allowed to select whether to set the start point / end point / maximum point / minimum point flag value to 2). In step 1203, m = 0,1, ..., for each of the n m (0) -2, | y im -y im + 1 | ≧ α (y ma x -y min) whether to determine the true , If it is true, flag [m] and falg [m + 1] are incremented. Step 1204
Then, the number of key frames is reduced according to the flag value pattern.
【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を削減する。The processing of step 1204 will be described in detail. 13A to 13H 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 indicates that these points are the conditions | y im −y im + 1 | ≧ α (y max −y) in step 1203.
min ) indicates that the keyframes are adjacent to each other. “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 circle are the flag value flag [m] of the key frame.
Indicates. In step 1204, FIG.
Flag value fl of each key frame in the pattern of (h)
The number of keyframes in which ag [m] becomes 0 is reduced. That is,
The key frame 130 in the case of the pattern of FIG.
1, the key frame 13 in the case of the pattern of FIG.
02 and the key frames 1303 and 1304 in the case of the pattern of FIG.
【0093】これにより、単に数2の削減条件で判定す
ると削減されてしまう図11のキーフレーム1102な
どが削減されなくなる。上記のように処理することによ
り、あるキーフレームの前後のキーフレームとのデータ
値の差が共に「小」のときのみ、そのキーフレームが削
減されることになるからである。As a result, the key frame 1102 of FIG. 11 and the like, which would be reduced if the reduction conditions of Equation 2 are simply used, are not reduced. This is because the above processing reduces the number of keyframes only when the difference between the data values of the keyframes before and after the certain keyframe is “small”.
【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個にする)
というようにしてもよい。In step 1204, the flag value
Keyframes in which flag [m] is 0 are reduced, but as a reduction method, adjacent flag values flag [m] = flag [m + 1] =
When a 1, when the · i m + 1> i m +1, (i m + 1 + i m) / 2 keyframes candidate as a key frame close to, i m + 1 and i m is keyframe when from removing · i m + 1 = i m +1 is the i m + 1 or i keyframe either m (2 pieces of to one) may be called.
【0095】次に、上記第1および第2の実施の形態に
関する第4の変形例を説明する。上述の第1および第2
の実施の形態では、図2のステップ201で抽出するキ
ーフレーム候補点は数1に示す始点、終点、最大点、最
小点、極大点、極小点、および変曲点であるため、図1
4の1401や1402に示すような、データ値がほと
んど垂直に変化する場合の変化開始位置や終了位置に相
当する点が抽出されない。このような点は、元のモーシ
ョンダンプデータを近似する際に有意な点である。上記
の第1の変形例により曲率が大きい点を抽出すれば、図
14の1403や1404など、垂直に変化する開始位
置あるいは終了位置の近傍が抽出されるが、ほとんど垂
直に変化する形状を近似する観点から見れば、1403
や1404より1401や1402の方が有意といえ
る。Next, a fourth modification of the first and second embodiments will be described. First and second described above
2, the key frame candidate points extracted in step 201 of FIG. 2 are the start point, the end point, the maximum point, the minimum point, the maximum point, the minimum point, and the inflection point shown in Formula 1.
4, 1401 and 1402, points corresponding to the change start position and the end position when the data value changes almost vertically are not extracted. Such points are significant points when approximating the original motion dump data. If a point with a large curvature is extracted according to the first modification described above, the vicinity of a vertically changing start position or end position such as 1403 and 1404 in FIG. 14 is extracted, but an almost vertically changing shape is approximated. From the viewpoint of
It can be said that 1401 and 1402 are more significant than 1404.
【0096】そこで、第4の変形例では、始点、終点、
極大点、および極小点に隣り合う2点(キーフレームと
は限らず、モーションダンプデータで隣り合うフレー
ム)について、下記の数21によりρ’を求め、この
ρ’が最小になる点をも抽出する。Therefore, in the fourth modification, the start point, the end point,
For the maximum point and the two points adjacent to the minimum point (frames adjacent to each other in the motion dump data, not limited to the key frame), ρ ′ is calculated by the following equation 21, and the point at which this ρ ′ is the minimum is also extracted. To do.
【0097】[0097]
【数21】 [Equation 21]
【0098】数21では、曲率半径ρにその点の傾きθ
の余弦の2乗cos2θを掛けて絶対値をとっているので、
曲率半径ρが大きくてもcos2θが小さければρ’は小さ
くなる。したがって、垂直に変化する開始位置や終了位
置(例えば、図14の1401や1402)が抽出され
ることになる。具体的には、図2のステップ201でキ
ーフレーム候補点を抽出する際に、この処理を行なえば
よい。なお、ここでは始点、終点、極大点、および極小
点に隣り合う2点のみを処理対象としているが、始点、
終点、極大点、および極小点に隣り合う3点以上を処理
対象にしてもよい。また、それらの中でρ’が最小にな
る点のみを抽出しているが、ρ’が所定値以下になる複
数点を抽出するようにしてもよい。In the equation 21, the radius of curvature ρ is added to the inclination θ of the point.
Since the absolute value is obtained by multiplying the cosine squared of 2 by cos 2 θ,
Even if the radius of curvature ρ is large, ρ'is small if cos 2 θ is small. Therefore, the vertically changing start position and end position (for example, 1401 and 1402 in FIG. 14) are extracted. Specifically, this process may be performed when extracting the key frame candidate points in step 201 of FIG. Note that here, only two points adjacent to the start point, the end point, the maximum point, and the minimum point are processed, but the start point,
Three or more points adjacent to the end point, the maximum point, and the minimum point may be processed. Although only the point where ρ ′ is the smallest is extracted from those points, a plurality of points where ρ ′ is equal to or less than a predetermined value may be extracted.
【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)。Next, a fifth modified example of the first and second embodiments will be described. In the first and second embodiments, the free curve approximating the original motion dump data is obtained in step 205 of FIG. Specifically, Q m and d m are determined by the method of least squares so as to satisfy the conditions of Expressions 7 and 13, and an optimum cubic Hermitian curve is obtained. In this case, Q m and d m are treated as variables. As shown in FIG. 6 and Equation 3, Q m represents the function value (height) of the cubic Hermitian curve y that approximates the original motion dump data (that is, Q m = y (m)), d m Indicates the slope of the cubic Hermitian curve y (ie d m =
dy (m) / dx).
【0100】ところで、近似する対象であるモーション
ダンプデータによっては、あるキーフレームから次のキ
ーフレームまでの間の近似式で、両端のキーフレーム位
置における高さを近似式とモーションダンプデータとで
一致させたい場合がある。また、あるキーフレームから
次のキーフレームまでの間の近似式で、両端のキーフレ
ーム位置における傾きを近似式とモーションダンプデー
タとで一致させたい場合がある。By the way, depending on the motion dump data to be approximated, the heights at the key frame positions at both ends are matched by the approximate expression from one key frame to the next key frame. There are times when you want to let it. In addition, there is a case where it is desired to match the inclinations at the key frame positions at both ends with the approximate expression from one key frame to the next key frame between the approximate expression and the motion dump data.
【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を
変数として近似式を生成するということである。Therefore, in the fifth modification, the heights of the adjacent key frames designated by the user are fixed, and the function of generating an approximate expression using the inclination as a variable is provided. Specifically, when the approximate expression is obtained in step 205 of FIG. 2, when the user specifies the key frames of frame numbers m and m + 1, the heights Q m and Q m + 1 are Q m = y i.
It is fixed so that m and Q m + 1 = y im + 1, and the slopes d m and d m + 1
It means that an approximate expression is generated by using as a variable. Similarly, in the fifth modified example, regarding the adjacent keyframes designated by the user, the inclination is fixed, and the height is set as a variable,
It has a function to generate an approximate expression. Specifically, when the approximate expression is obtained in step 205 of FIG. 2, when the user has specified the key frames of frame numbers m and m + 1, the slopes d m and d m + 1 are set to d m = (the original Inclination at frame number i m of the motion dump data), d m + 1
= (Original motion dump data frame number i m + 1
Is fixed so that the approximate expression is generated with the heights Q m and Q m + 1 as variables.
【0102】この第5の変形例によれば、ユーザが高さ
あるいは傾きを一致させたいキーフレームについて、確
実に元のモーションダンプデータと高さあるいは傾きが
一致する近似式を生成することができる。According to the fifth modification, it is possible to reliably generate an approximate expression in which the height or the inclination matches the original motion dump data for the key frame the user wants to match the height or the inclination. .
【0103】次に、上記第1および第2の実施の形態に
関する第6の変形例を説明する。上記第1および第2の
実施の形態では、図2のステップ205で最小2乗法に
より数7や数13の条件式を満たすようにQmとdmを求
めて、元のモーションダンプデータを近似する3次エル
ミート曲線を求めている。ところで、元のモーションダ
ンプデータが細かく変動している場合には、元のモーシ
ョンダンプデータの隣り合う2つのフレームがキーフレ
ームになる場合や、1フレームを間に挟んだ2フレーム
がキーフレームになる場合がある。Next, a sixth modified example of the first and second embodiments will be described. In the first and second embodiments described above, in step 205 of FIG. 2, Q m and d m are calculated by the method of least squares so as to satisfy the conditional expressions of Formula 7 and Formula 13, and the original motion dump data is approximated. We are looking for a cubic Hermitian curve that does. By the way, when the original motion dump data is finely changed, two adjacent frames of the original motion dump data are key frames, or two frames sandwiching one frame are key frames. There are cases.
【0104】図15は、そのような例である。フレーム
番号iとi+1のフレームがキーフレーム1501,1
502になっており、これらの間にはフレームが存在し
ない。また、フレーム番号jとj+2のフレームがキー
フレーム1503,1504になっており、これらの間
には1つのフレーム1505しか存在しない。上述した
数7や数13の条件式では最適スプライン曲線として3
次エルミート曲線を用いているが、3次エルミート曲線
ではキーフレームとキーフレームとの間に最低2つのフ
レームが存在しないとそれらのキーフレーム間の最適解
が求まらないという問題がある(数9のマトリクスに0
行列が生じる)。FIG. 15 shows such an example. The frames with frame numbers i and i + 1 are key frames 1501 and 1
502, and there is no frame between them. Also, the frames with frame numbers j and j + 2 are key frames 1503 and 1504, and there is only one frame 1505 between them. In the above-mentioned conditional expressions of Expressions 7 and 13, the optimum spline curve is 3
Although the cubic Hermite curve is used, the cubic Hermitian curve has a problem that an optimal solution between the key frames cannot be obtained unless at least two frames exist between the key frames. 0 in matrix of 9
A matrix arises).
【0105】そこで、第6の変形例では、キーフレーム
間にフレームデータが無い場合や1つのみの場合に、そ
れらの間に補助的なフレームデータを追加して処理す
る。Therefore, in the sixth modified example, when there is no frame data between key frames or when there is only one frame, auxiliary frame data is added between them for processing.
【0106】図16は、キーフレーム間にフレームデー
タが無い場合の補間例を示す。フレーム番号iとi+1
のフレームがキーフレームPi,Pi+1である。元のモー
ションダンプデータには、これらのキーフレームPi,
Pi+1間にフレームデータが無い。そこで、Pi,Pi+1
間を直線補間し、この間を4等分して3つの補助フレー
ムデータ1601〜1603を発生させ、元のモーショ
ンダンプデータに追加する。補助フレームデータを追加
したモーションダンプデータを用いて、図2のステップ
205の条件式である数7や数13を満たすように3次
エルミート曲線を求める。なお、3次エルミート曲線を
用いる場合は、キーフレームPi,Pi+1間に2つの補助
フレームを追加すれば十分である。FIG. 16 shows an example of interpolation when there is no frame data between key frames. Frame numbers i and i + 1
Are the key frames P i and P i + 1 . The original motion dump data contains these key frames P i ,
There is no frame data between P i + 1 . Therefore, P i , P i + 1
By linearly interpolating the intervals, the intervals are equally divided into four, and three pieces of auxiliary frame data 1601-1603 are generated and added to the original motion dump data. Using the motion dump data to which the auxiliary frame data is added, a cubic Hermitian curve is obtained so as to satisfy the conditional expressions (7) and (13) in step 205 of FIG. When using a cubic Hermitian curve, it is sufficient to add two auxiliary frames between the key frames P i and P i + 1 .
【0107】図17は、キーフレーム間にフレームデー
タが1つの場合の補間例を示す。フレーム番号iとi+
2のフレームがキーフレームPi,Pi+2である。元のモ
ーションダンプデータには、これらのキーフレーム
Pi,Pi+2間に1つのフレームPi+1のみがある。そこ
で、Pi,Pi+1間とPi+1,Pi+2間とをそれぞれ直線補
間し、それらの間の中央位置に補助フレームデータ17
01と1702とを発生させ、元のモーションダンプデ
ータに追加する。補助フレームデータを追加したモーシ
ョンダンプデータを用いて、図2のステップ205の条
件式である数7や数13を満たすように3次エルミート
曲線を求める。FIG. 17 shows an example of interpolation when there is one frame data between key frames. Frame numbers i and i +
The second frame is key frames P i and P i + 2 . In the original motion dump data, there is only one frame P i + 1 between these key frames P i and P i + 2 . Therefore, linear interpolation is performed between P i and P i + 1 and between P i + 1 and P i + 2, and the auxiliary frame data 17 is placed at the center position between them.
01 and 1702 are generated and added to the original motion dump data. Using the motion dump data to which the auxiliary frame data is added, a cubic Hermitian curve is obtained so as to satisfy the conditional expressions (7) and (13) in step 205 of FIG.
【0108】上記第6の変形例によれば、キーフレーム
間にフレームデータが1つまたは無い場合でも、それら
のキーフレーム間を近似する最適スプライン曲線を求め
ることができる。According to the sixth modification, even if there is one or no frame data between keyframes, the optimum spline curve that approximates the keyframes can be obtained.
【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のパラメータαの値をユーザが設
定するための入力領域である。FIG. 18 is a screen display example in the above-described first and second embodiments (and the first to sixth modifications). In the figure, 1801 is a graph area for displaying the motion dump data to be processed and the extracted optimum key frame. The horizontal axis of this area 1801 shows a frame, and the vertical axis shows a data value. When the file name of the motion dump data stored in the hard disk 106 is designated, the motion dump data is read and each frame data is displayed in the area 1801 by a red dot (for example, 1802). It is also possible to display by connecting this point with a red straight line. 1803 indicates the file name of the read motion dump data,
Reference numeral 1804 indicates the number of frames. Reference numeral 1805 indicates the total number of extracted key frames and the degree of compression, and 1806 indicates the number 10
Alternatively, the mean square error ε RMS of Expression 16 is displayed, and 1807 is the maximum deviation ε max of Expression 11 or Expression 17.
Reference numeral 1808 is an input area for the user to set the value of the parameter α of the above-described equation 2.
【0110】1811は読み込んだモーションダンプデ
ータを表示することを指示するためのボタン、1812
は領域1808に設定されたα値から求めたキーフレー
ムでエルミート補間して得た自由曲線を表示(水色)す
ることを指示するためのボタンである。1813〜18
20は、それぞれ、モーションダンプデータの始点、終
点、最大点、最小点、極大点、極小点、変曲点、および
曲率半径の極小点を表示することを指示するボタンであ
る。1821はキーフレームの点を表示することを指示
するボタン、1822はキーフレームのフレーム番号を
表示することを指示するボタンである。Reference numeral 1811 denotes a button for instructing to display the read motion dump data, 1812
Is a button for instructing to display (light blue) the free curve obtained by Hermite interpolation with the key frame obtained from the α value set in the area 1808. 1813-18
20 is a button for instructing to display the start point, end point, maximum point, minimum point, maximum point, minimum point, inflection point, and minimum point of curvature radius of the motion dump data. Reference numeral 1821 is a button for instructing to display the points of the key frame, and 1822 is a button for instructing to display the frame number of the key frame.
【0111】ユーザが領域1808にαの値を設定する
と、上述の実施の形態および変形例のようにして最適キ
ーフレームと自由曲線(3次エルミート曲線)が求めら
れ、領域1801に表示される。数2の説明で述べたよ
うに、α値が大きいほどキーフレームの総数が少なくな
り、α=0のときはすべてのフレームがキーフレームの
候補となる。またユーザは、ボタン1811〜1822
を必要に応じてマウスでクリックすることにより、元の
モーションダンプデータとそれから求めたキーフレーム
の点とを確認したり、元のモーションダンプデータとキ
ーフレームから生成したエルミート曲線とを比較するこ
とができる。以上より、ユーザは、領域1808のα値
を調整して、所望の近似精度のエルミート曲線が得ら
れ、かつそのエルミート曲線を生成する最適キーフレー
ムの数が所定数になるようにできる。When the user sets the value of α in the area 1808, the optimum key frame and the free curve (third-order Hermitian curve) are obtained and displayed in the area 1801 as in the above-described embodiment and modification. As described in the explanation of Equation 2, the larger the value of α, the smaller the total number of key frames, and when α = 0, all the frames are candidates for the key frame. The user also has buttons 1811-1822.
You can check the original motion dump data and the key frame points obtained from it by clicking with the mouse as necessary, or you can compare the original motion dump data and the Hermitian curve generated from the key frame. it can. From the above, the user can adjust the α value of the region 1808 so that a Hermitian curve with a desired approximation accuracy can be obtained, and the number of optimum keyframes that generate the Hermitian curve becomes a predetermined number.
【0112】図20に、発明が解決しようとする課題の
欄で説明した図19のモーションダンプデータを対象と
して、上述した第2の実施の形態およびその変形例で説
明した方法で最適キーフレームを自動抽出した結果を示
す。黒丸の点が最適キーフレームである。図19のモー
ションダンプデータに対し、人手でキーフレームを設定
したのと同じ感覚で最適キーフレームが自動抽出されて
いる。最適キーフレームの数も、ほぼ必要最小限といえ
る。FIG. 20 shows the optimum keyframes for the motion dump data of FIG. 19 described in the section of the problem to be solved by the method described in the second embodiment and its modification. The result of automatic extraction is shown. The black circle points are the optimal keyframes. Optimal keyframes are automatically extracted from the motion dump data shown in FIG. 19 in the same manner as manually setting keyframes. It can be said that the optimal number of keyframes is almost the minimum required.
【0113】図21に、図20の最適キーフレームか
ら、図19のモーションダンプデータを近似する3次エ
ルミート曲線を生成した結果を示す。黒丸で元のモーシ
ョンダンプデータを示し、実線で生成した3次エルミー
ト曲線を示す。図から分かるように、これらはほぼ一致
している。図22の従来技術に比較して、少ない特徴点
で高精度に元のデータを近似できるようになっているこ
とが分かる。FIG. 21 shows the result of generating a cubic Hermitian curve approximating the motion dump data of FIG. 19 from the optimum key frame of FIG. The original motion dump data is shown by a black circle, and the cubic Hermitian curve generated by a solid line is shown. As can be seen from the figure, these are almost in agreement. It can be seen that the original data can be approximated with a small number of feature points with high accuracy as compared with the conventional technique shown in FIG.
【0114】なお、上記発明の実施の形態、およびその
変形例では、モーションダンプデータを近似する最適キ
ーフレームを例に説明したが、本発明は、これに限ら
ず、一般に一連のディジタルデータ列から幾つかの特徴
点となるデータを取り出し、取り出した複数の特徴点の
データを用いて元のデータ列の形状を近似するデータ列
を復元する際に適用可能である。In the above-described embodiment of the present invention and its modified example, the optimum key frame that approximates the motion dump data has been described as an example. However, the present invention is not limited to this, and in general, a series of digital data strings is used. The present invention can be applied when data of some feature points are taken out and data of a plurality of feature points taken out are used to restore a data string approximating the shape of the original data string.
【0115】[0115]
【発明の効果】以上説明したように、本発明によれば、
一連のディジタルデータ列から幾つかの特徴点(キーフ
レーム)となるデータを取り出し、取り出した特徴点の
データを用いて元のデータ列の形状を近似するデータ列
を復元する場合に、より少ない特徴点で高精度に元のデ
ータを近似することができるデータ処理装置、および方
法が提供される。特に、元のデータ列の形状を特徴付け
るのに有意と思われる幾何学的な特徴点(始点、終点、
最大点、最小点、極大点、極小点、変曲点、および/ま
たは曲率の極小点)を自動抽出して特徴点とするので、
人手で特徴点設定を行なうのとほぼ同じ感覚で特徴点の
抽出が行なえ、また元のデータ列との近似度の精度も高
い。さらに、重み付き最小2乗法を用いて自由曲線を求
めているので、連続的で滑らかな自由曲線を得ることが
でき、キャラクタの動きを表現するモーションダンプデ
ータに適用したときには、スムーズなキャラクタの動き
を実現できる。さらに、キャラクタの動きをスローモー
ション再生する場合もスムーズな動きを実現できる。As described above, according to the present invention,
Fewer features can be obtained when data that are some feature points (keyframes) are extracted from a series of digital data sequences and the data sequence that approximates the shape of the original data sequence is restored using the extracted feature point data. Provided are a data processing device and method capable of approximating the original data with high accuracy in terms of points. In particular, geometric feature points (start point, end point,
Since the maximum point, the minimum point, the maximum point, the minimum point, the inflection point, and / or the minimum point of curvature) are automatically extracted as the feature points,
Feature points can be extracted with the same feeling as setting the feature points manually, and the degree of approximation with the original data string is high. Furthermore, since the free-form curve is obtained by using the weighted least squares method, a continuous and smooth free-form curve can be obtained. Can be realized. Furthermore, smooth motion can be realized when the motion of the character is reproduced in slow motion.
【図1】本発明の第1の実施の形態に係るデータ処理装
置のブロック構成図FIG. 1 is a block configuration diagram of a data processing device according to a first embodiment of the present invention.
【図2】最適キーフレームの決定と自由曲線によるデー
タ圧縮の処理の流れの概要を示すフローチャート図FIG. 2 is a flowchart showing an outline of a flow of processing for determining an optimum key frame and data compression by a free curve.
【図3】処理対象であるモーションダンプデータの例を
示す図FIG. 3 is a diagram showing an example of motion dump data to be processed.
【図4】キーフレームデータ間の差分を表す図FIG. 4 is a diagram showing a difference between keyframe data.
【図5】一般的な3次エルミート曲線の例を示す図FIG. 5 is a diagram showing an example of a general cubic Hermitian curve.
【図6】発明の実施の形態で用いる3次エルミート曲線
の例jを示す図FIG. 6 is a diagram showing an example j of a cubic Hermitian curve used in the embodiment of the invention.
【図7】曲率が大きい点の例を示す図FIG. 7 is a diagram showing an example of a point having a large curvature.
【図8】曲率半径を示す図FIG. 8 is a diagram showing a radius of curvature.
【図9】曲率半径に基づいて抽出するフレームの例を示
す図FIG. 9 is a diagram showing an example of a frame extracted based on a radius of curvature.
【図10】変曲点の選びかたの変形例を示す図FIG. 10 is a diagram showing a modified example of selecting an inflection point.
【図11】キーフレーム位置が最適の場所から左にずれ
る例を示す図FIG. 11 is a diagram showing an example in which the key frame position is shifted to the left from the optimum position.
【図12】キーフレームの削減の処理手順(第3の変形
例)を示す図FIG. 12 is a diagram showing a processing procedure (third modification) for reducing key frames.
【図13】フラグ値のパターンを示す図FIG. 13 is a diagram showing a pattern of flag values.
【図14】データ値が垂直に変化する点の例を示す図FIG. 14 is a diagram showing an example of points at which data values change vertically.
【図15】キーフレーム間にフレームが1つまたは無い
例を示す図FIG. 15 is a diagram showing an example in which there is one frame or no key frames.
【図16】キーフレーム間にフレームデータが無い場合
の補間例を示す図FIG. 16 is a diagram showing an example of interpolation when there is no frame data between key frames.
【図17】キーフレーム間にフレームデータが1つの場
合の補間例を示す図FIG. 17 is a diagram showing an example of interpolation when there is one frame data between key frames.
【図18】本発明の実施の形態における画面表示例を示
す図FIG. 18 is a diagram showing a screen display example according to the embodiment of the present invention.
【図19】モーションダンプデータの例を示す図FIG. 19 is a diagram showing an example of motion dump data.
【図20】最適キーフレーム抽出結果を示す図FIG. 20 is a diagram showing an optimum key frame extraction result.
【図21】3次エルミート曲線補間の結果を示す図FIG. 21 is a diagram showing a result of cubic Hermitian curve interpolation.
【図22】従来のCGソフトによる3次エルミート曲線
補間例を示す図FIG. 22 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…モーション・キャプチ
ャ・システム。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)参考文献 特開 平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 ─────────────────────────────────────────────────── ─── Continuation of the front page (56) Reference JP-A-7-160870 (JP, A) JP-A-9-179992 (JP, A) JP-A-3-223977 (JP, A) JP-A-6- 282658 (JP, A) JP 3-174645 (JP, A) JP 7-296148 (JP, A) JP 9-147127 (JP, A) JP 59-98273 (JP, A) JP-A-6-180724 (JP, A) (58) Fields investigated (Int.Cl. 7 , DB name) G06T 13/00 G06F 17/17 G06T 11/20
Claims (19)
徴点となるデータを取り出し、取り出した複数の特徴点
のデータを用いて元のデータ列の形状を近似する最適化
自由曲線を求めるデータ処理装置において、 前記一連のディジタルデータ列から、始点、終点、最大
点、最小点、極大点、極小点、変曲点、および/または
曲率半径の極小点を、特徴点として自動抽出する特徴点
抽出手段と、 前記自動抽出した特徴点から隣り合う2点間のデータの
差分が所定値未満であるような2点のうちの一方の特徴
点を削減する特徴点削減手段と、 削減後に残った特徴点から元のデータ列を近似する自由
曲線を生成する自由曲線生成手段と、 生成した自由曲線が所定の近似度で元のデータ列を近似
しているか否かを判定する判定手段と、 前記判定手段により所定の近似度で元のデータ列を近似
していると判定された場合、その自由曲線を定義するデ
ータを記憶する手段とを備えたことを特徴とするデータ
処理装置。1. Data processing for extracting some feature point data from a series of digital data strings, and using the extracted data of a plurality of feature points to obtain an optimized free curve approximating the shape of the original data string. In the device, a feature point extraction for automatically extracting a start point, an end point, a maximum point, a minimum point, a maximum point, a minimum point, an inflection point, and / or a minimum point of a radius of curvature from the series of digital data strings as a feature point. Means and data between two adjacent points from the automatically extracted feature points
Feature point reducing means for reducing one of two feature points whose difference is less than a predetermined value, and free curve generating means for generating a free curve approximating the original data string from the feature points remaining after the reduction. And a determining unit that determines whether the generated free curve approximates the original data string with a predetermined degree of approximation, and the determining unit determines that the original data string is approximated with a predetermined degree of approximation. And a means for storing data defining the free-form curve of the data processing device.
成した自由曲線と元のデータとの誤差の2乗にその位置
の重み係数を掛け、その総和が最小になるように自由曲
線を決定する重み付き最小2乗法を用いることを特徴と
する請求項1に記載のデータ処理装置。2. The free curve generating means multiplies the square of the error between the free curve generated from each feature point and the original data by the weighting coefficient of the position, and calculates the free curve so that the total sum becomes minimum. The data processing apparatus according to claim 1, wherein a weighted least squares method for determining is used.
パラメータ値に応じた数に、特徴点の数を削減すること
を特徴とする請求項1に記載のデータ処理装置。3. The data processing apparatus according to claim 1, wherein the feature point reducing means reduces the number of feature points to a number corresponding to a parameter value input by an operator.
する際、始点、極大点、極小点、および終点のうちの何
れかの2点間に挟まれている変曲点のうち、その変曲点
を挟む2点の中央に近い位置にある変曲点を特徴点とし
て抽出するものであることを 特徴とする請求項1に記載
のデータ処理装置。 4. The feature point extracting means automatically extracts an inflection point.
What is the start point, the maximum point, the minimum point, and the end point?
Among the inflection points sandwiched between two points, that inflection point
The inflection point near the center of the two points that sandwich
The method according to claim 1, wherein the extraction is performed by
Data processing equipment.
データの差分が所定値未満であるような2点のうちの一
方の特徴点を削減する代わりに、ある特徴点の前後の特
徴点とのデータ値の差が何れも所定値を超えない場合に
その特徴点を削減するものであることを特徴とする請求
項1に記載のデータ処理装置。 5. The feature point reducing means is provided between two adjacent points.
One of the two points where the data difference is less than the specified value
Instead of reducing one feature point,
If the difference in the data value from the point does not exceed the specified value
Claims characterized by reducing the characteristic points
Item 1. The data processing device according to item 1.
点、および極小点に隣り合う所定数の点について、 によりρ’を求め、このρ’が所定値以下になる点につ
いても特徴点として抽出するものであることを特徴とす
る請求項1に記載のデータ処理装置。 6. The feature point extracting means includes a start point, an end point, and a maximum.
For a point and a certain number of points adjacent to the minimum point, Ρ'is obtained by
The feature is that it is extracted as a feature point even if
The data processing device according to claim 1.
さを固定するか傾きを固定するかの指定を受け、高さを
固定する場合は高さを固定し傾きを変数として近似式を
生成し、傾きを固定する場合は傾きを固定し高さを変数
として近似式を生成して、自由曲線を生成するものであ
ることを特徴とする請求項1に記載のデータ処理装置。 7. The free-form curve generating means sets a high
The height is fixed according to the specification whether to fix the height or the inclination.
To fix it, fix the height and use the slope as a variable to
If you want to generate and fix the inclination, fix the inclination and change the height.
To generate an approximate expression and generate a free curve.
The data processing device according to claim 1, wherein:
と特徴点との間に、生成する自由曲線の次数での解を求
めるのに必要な数だけのデータがないときには、その間
に仮想的なデータをおいて自由曲線を生成することを特
徴とする請求項1に記載のデータ処理装置。8. The free curve generation means obtains a solution in the degree of a free curve to be generated between adjacent feature points.
2. The data processing apparatus according to claim 1, wherein when there is not enough data to store the data, virtual data is placed between them to generate a free curve.
項1から8の何れか1つに記載のデータ処理装置。9. The data processing device according to claim 1, wherein the free curve is a Hermitian curve.
特徴点となるデータを取り出し、取り出した複数の特徴
点のデータを用いて元のデータ列の形状を近似する最適
化自由曲線を求めるデータ処理方法において、 前記一連のディジタルデータ列から、始点、終点、最大
点、最小点、極大点、極小点、変曲点、および/または
曲率半径の極小点を、特徴点として自動抽出する特徴点
抽出ステップと、 前記自動抽出した特徴点から隣り合う2点間のデータの
差分が所定値未満であるような2点のうちの一方の特徴
点を削減する特徴点削減ステップと、 削減後に残った特徴点から元のデータ列を近似する自由
曲線を生成する自由曲線生成ステップと、 生成した自由曲線が所定の近似度で元のデータ列を近似
しているか否かを判定する判定ステップと、 前記判定ステップにより所定の近似度で元のデータ列を
近似していると判定された場合、その自由曲線を定義す
るデータを記憶するステップとを備えたことを特徴とす
るデータ処理方法。10. Data processing for obtaining data of some feature points from a series of digital data sequences and obtaining an optimized free curve approximating the shape of the original data sequence by using the data of the plurality of feature points thus fetched. In the method, a feature point extraction for automatically extracting a start point, an end point, a maximum point, a minimum point, a maximum point, a minimum point, an inflection point, and / or a minimum point of a radius of curvature from the series of digital data strings as a feature point. Of the data between two adjacent points from the automatically extracted feature points
Feature point reduction step of reducing one of the two feature points whose difference is less than a predetermined value, and free curve generation step of generating a free curve approximating the original data string from the feature points remaining after the reduction And a determination step of determining whether the generated free curve approximates the original data string with a predetermined degree of approximation, and the determination step determines that the original data string is approximated with a predetermined degree of approximation. Storing the data defining the free-form curve, the data processing method.
から生成した自由曲線と元のデータとの誤差の2乗にそ
の位置の重み係数を掛け、その総和が最小になるように
自由曲線を決定する重み付き最小2乗法を用いることを
特徴とする請求項10に記載のデータ処理方法。11. The free curve generating step multiplies the square of the error between the free curve generated from each feature point and the original data by a weighting coefficient of the position, and calculates the free curve so that the total sum becomes minimum. The data processing method according to claim 10, wherein a weighted least squares method for determining is used.
力したパラメータ値に応じた数に、特徴点の数を削減す
ることを特徴とする請求項10に記載のデータ処理方
法。12. The data processing method according to claim 10, wherein the feature point reducing step reduces the number of feature points to a number corresponding to a parameter value input by an operator.
動抽出する際、始点、極大点、極小点、および終点のう
ちの何れかの2点間に挟まれている変曲点のうち、その
変曲点 を挟む2点の中央に近い位置にある変曲点を特徴
点として抽出するものであることを特徴とする請求項1
0に記載のデータ処理方法。 13. The feature point extracting step automatically detects inflection points.
When performing dynamic extraction, the starting point, maximum point, minimum point, and end point
Of the inflection points sandwiched between any two points,
Features an inflection point near the center of the two points that sandwich the inflection point
2. A point which is extracted as a point.
The data processing method described in 0.
点間のデータの差分が所定値未満であるような2点のう
ちの一方の特徴点を削減する代わりに、ある特徴点の前
後の特徴点とのデータ値の差が何れも所定値を超えない
場合にその特徴点を削減するものであることを特徴とす
る請求項10に記載のデータ処理方法。 14. The feature point reducing step includes two adjacent feature points.
A two-point case where the data difference between the points is less than a predetermined value.
Instead of reducing one feature point of
None of the differences in data values from the subsequent feature points exceed the specified value.
In that case, the feature points are reduced.
The data processing method according to claim 10.
点、極大点、および極小点に隣り合う所定数の点につい
て、 によりρ’を求め、このρ’が所定値以下になる点につ
いても特徴点として抽出するものであることを特徴とす
る請求項10に記載のデータ処理方法。 15. The feature point extracting step comprises a start point and an end point.
For a given number of points adjacent to a point, a local maximum, and a local minimum.
hand, Ρ'is obtained by
The feature is that it is extracted as a feature point even if
The data processing method according to claim 10.
よる高さを固定するか傾きを固定するかの指定を受け、
高さを固定する場合は高さを固定し傾きを変数として近
似式を生成し、傾きを固定する場合は傾きを固定し高さ
を変数として近似式を生成して、自由曲線を生成するも
のであることを特徴とする請求項10に記載のデータ処
理方法。 16. The free curve generation step is performed by a user.
According to the designation whether to fix the height or the inclination according to
When fixing the height, fix the height and use the slope as a variable.
If a similar equation is generated and the inclination is fixed, the inclination is fixed and the height is fixed.
Generate a free-form curve by generating an approximate expression using
Data processing according to claim 10, characterized in that
Reasoning method.
特徴点と特徴点との間に、生成する自由曲線の次数での
解を求めるのに必要な数だけのデータがないときには、
その間に仮想的なデータをおいて自由曲線を生成するこ
とを特徴とする請求項10に記載のデータ処理方法。17. The free curve generation step is performed between adjacent feature points with respect to the degree of the free curve to be generated .
If you don't have enough data to find a solution ,
11. The data processing method according to claim 10, wherein a free curve is generated with virtual data in between.
求項10から17の何れか1つに記載のデータ処理方
法。18. The data processing method according to claim 10, wherein the free curve is a Hermitian curve.
のデータ処理方法に係るプログラムを格納したことを特
徴とする記憶媒体。19. A storage medium characterized by storing a program according to the data processing method according to any one of claims 10 18.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3544398A JP3408136B2 (en) | 1998-02-02 | 1998-02-02 | Data processing device, data processing method, and storage medium storing program according to the method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3544398A JP3408136B2 (en) | 1998-02-02 | 1998-02-02 | Data processing device, data processing method, and storage medium storing program according to the method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11219447A JPH11219447A (en) | 1999-08-10 |
JP3408136B2 true JP3408136B2 (en) | 2003-05-19 |
Family
ID=12441985
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3544398A Expired - Fee Related JP3408136B2 (en) | 1998-02-02 | 1998-02-02 | Data processing device, data processing method, and storage medium storing program according to the method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3408136B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4692388B2 (en) * | 2006-05-24 | 2011-06-01 | ソニー株式会社 | Data processing apparatus and data processing method |
JP4536095B2 (en) * | 2007-09-04 | 2010-09-01 | 株式会社コナミデジタルエンタテインメント | Image processing program, image processing apparatus, and image processing control method |
-
1998
- 1998-02-02 JP JP3544398A patent/JP3408136B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11219447A (en) | 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 (en) | Image processing apparatus, image processing method, and recording medium | |
US9295913B2 (en) | Information processing devices, information processing method, and information processing means | |
JP3915272B2 (en) | Quantization method and recording medium recording quantization program | |
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 (en) | Data processing device, data processing method, and storage medium storing program according to the method | |
JP3237898B2 (en) | Image figure editing apparatus and processing method of image figure editing apparatus | |
US11461874B2 (en) | Graphics processing using matrices of transformations | |
JP3422684B2 (en) | Data processing method, and storage medium storing program according to the method | |
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 (en) | Triangular mesh data compression method and program | |
US6606090B2 (en) | Three-dimensional model analyzing apparatus | |
JPH11175765A (en) | Method and device for generating three-dimensional model and storage medium | |
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 (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 |