JP3735187B2 - 時系列データの符号化と編集を行うデータ変換装置および方法 - Google Patents

時系列データの符号化と編集を行うデータ変換装置および方法 Download PDF

Info

Publication number
JP3735187B2
JP3735187B2 JP23057797A JP23057797A JP3735187B2 JP 3735187 B2 JP3735187 B2 JP 3735187B2 JP 23057797 A JP23057797 A JP 23057797A JP 23057797 A JP23057797 A JP 23057797A JP 3735187 B2 JP3735187 B2 JP 3735187B2
Authority
JP
Japan
Prior art keywords
data
motion data
editing
matrix
motion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP23057797A
Other languages
English (en)
Other versions
JPH1166043A (ja
Inventor
芳晴 前田
バーデット エティエンヌ
訓治 高山
信也 細木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP23057797A priority Critical patent/JP3735187B2/ja
Priority to US09/019,301 priority patent/US6359621B1/en
Publication of JPH1166043A publication Critical patent/JPH1166043A/ja
Application granted granted Critical
Publication of JP3735187B2 publication Critical patent/JP3735187B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)
  • Complex Calculations (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、物体の運動データのような時系列データを符号化して効率的に保存し、符号化された時系列データを編集して再利用するデータ変換装置およびその方法に関する。
【0002】
【従来の技術とその問題点】
近年、コンピュータ・グラフィックス(CG)やビデオゲーム、および、アニメーションや映画などの分野で、しばしば、人型や動物型などの仮想的キャラクター(以下、単にキャラクターと記す)が用いられている。そして、画面上に表示されたキャラクターを自由自在に動かし、“走る”とか“立ち上がる”など様々な動作を表現することが要望されている。
【0003】
このような要望に対して、コンピュータを利用してキャラクターの身体の運動データを生成し編集する技術が開発されてきている。ここで、運動データとは、例えば、モーション・キャプチャー・システムなどの運動計測技術を用いて計測された、身体の関節角度や手足・頭の位置などの時系列データに相当する。
【0004】
コンピュータを利用して画面上のキャラクターの動きを生成する方法には、大きく分けて、次の3つの方法が考えられる。
(1)生物らしい自然な動きを生成するアルゴリズムを開発し、これによってキャラクター・モデルの動きを生成する方法
(2)従来のアニメーション作成過程にコンピュータを利用し、CGで適当な時間間隔毎の静止画を作成したり、中割りを自動生成したりする方法
(3)人間などの生物の実際の動きを計測装置によって運動データとして取り込み、3次元(3D)キャラクター・モデルに計測した運動データを再現(playback)させる方法
第1の方法は、生物らしい自然な動きを生成するアルゴリズムが開発できれば、多種多様な運動を自由自在に作成できる。また、キャラクターの身体サイズなどの物理特性の変化にも対応できるなどの非常に優れた利点を持っている。しかし、有効なアルゴリズムを開発すること自体が極めて困難であり、さらにキャラクターの精密なダイナミクス・モデルを必要とするなどの問題もある。このため、現状では限定された運動に対してアルゴリズムやダイナミクス・モデルが開発されているのみであり、多種多様な運動を生成できるようになるにはまだまだ研究が必要である。
【0005】
また、第2の方法は、現在もっとも利用されている方法である。この方法では、動作の種類毎に膨大な数の静止画が必要であり、多くの時間と労力を要する。また、生物らしい自然な動きを表現できるかどうかは、画像製作者の能力に依存している。
【0006】
一方、第3の方法は、生物の実際の運動を計測して、その結果をコンピュータを利用してプレイバックするので、キャラクターに生物らしい自然な動きを行わせることができる。しかし、この方法では、例えば、“歩く”とか“走る”などの動作毎に、実際の動作を計測して記録することが必要になる。なぜなら、記録していない動作は再現できないからである。
【0007】
したがって、キャラクターに様々な動作を行わせる場合には、あらかじめ多数の運動データを計測し、記録しておかなければならず、それらを保存しておくために膨大な記憶容量が必要となる。さらに、計測した運動データは、実際に動作を行った計測対象の身体サイズや状況に依存するので、キャラクターや状況が変われば運動データを再度計測し直すことが必要になる。このように、第3の方法では、運動データが膨大な記憶容量を必要とすること、および、運動データの再利用性が低いことが問題点である。
【0008】
本発明の課題は、上記のような第3の方法を利用したプレイバック技術において、運動データを効率良く保存し、その再利用性を向上させるデータ変換装置およびその方法を提供することである。
【0009】
【課題を解決するための手段】
図1は、本発明のデータ変換装置の原理図である。図1のデータ変換装置は、本発明の第1および第2の原理のデータ変換装置を含む。
【0010】
第1の原理のデータ変換装置は、コンピュータを用いて実現され、近似手段1および格納手段2を備える。そして、任意の生物を含む任意の物体の運動を計測して得られた時系列の運動データを保存し、その運動データを用いた情報処理を行う。
【0011】
近似手段1は、上記運動データを任意の基底関数の重み付き加算で近似表現し、その重み付き加算の重み係数の配列を生成する。格納手段2は、その重み係数の配列を上記運動データに対応する符号データとして格納する。
【0012】
近似手段1は、例えば、B−スプライン関数のような滑らかで局所的な基底関数を用いて、その重み付き加算により得られる曲線で運動データを近似的に表現する。そして、各基底関数の重み係数を、運動データを表現する離散的な符号として、格納手段2に格納する。
【0013】
格納手段2に保存された符号データを重み係数として、基底関数の重み付き加算を行えば、元の運動データを容易に復元することができる。基底関数の関数形はあらかじめ決まっており、入力される運動データの形状によって変化することはない。このため、必要とされる一組の基底関数を表すデータを保持しておけば、それを任意の運動データの復元に用いることができる。
【0014】
また、重み係数の配列データは、一般に、計測された運動データよりはるかに少ないデータ量で表現することができる。したがって、運動データをそのまま保存する場合より、記憶容量を大幅に削減することが可能になる。
【0015】
また、第2の原理のデータ変換装置は、コンピュータを用いて実現され、格納手段2、符号化手段3、編集手段4、復元手段5、および出力手段6を備える。そして、任意の物体の運動を計測して得られた時系列の運動データを用いて、仮想的なキャラクターの画像を出力するための情報処理を行う。
【0016】
符号化手段3は、上記運動データを符号化して符号データを生成し、格納手段2は、その符号データを格納する。編集手段4は、格納手段2からその符号データを取り出して、それを編集し、新たな符号データを生成する。復元手段5は、新たな符号データに対応する運動データを復元し、出力手段6は、復元された運動データを用いて上記キャラクターの画像を生成し、それを出力する。
【0017】
符号化手段3は、例えば、上述した第1の原理の近似手段1と同様の方法で運動データを符号化し、データ量を削減して、格納手段2に格納する。編集手段4は、符号データに対して、座標変換、時間に関する変換、空間に関する変換、分割、連結、融合、手動による重み係数の調節、ダイナミクスを利用した変換などの編集処理を施すことで、符号データを変更する。これにより、元の運動データと異なる運動を表現する新たな符号データが生成される。
【0018】
復元手段5は、こうして生成された新たな符号データに、符号化処理と逆の処理を施して、対応する新たな運動データを生成する。そして、出力手段6は、その運動データに基づいて、キャラクターの運動を表現する動画を生成し、それを出力する。これにより、入力された運動データとは異なる運動をキャラクターに行わせることが可能になり、運動データの再利用性が向上する。
【0019】
また、本発明の別のデータ変換装置は、コンピュータを用いて実現され、近似手段1、格納手段2、編集手段4、復元手段5、および出力手段6を備える。そして、任意の物体の運動を計測して得られた時系列の運動データを保存し、その運動データを用いた情報処理を行う。
近似手段1は、複数個のサンプリング時刻におけるm次元の運動データの計測値を要素とする行列Yを、重み係数の行列Wと、一定の時間間隔で配置されたB−スプライン関数の複数個のサンプリング時刻における値を要素とする行列Aとの積の形式で近似表現したとき、運動データのサンプリング間隔とB−スプライン関数の時間間隔を用いて行列Aの各要素を設定し、運動データの計測値を用いて行列Yの各要素を設定して、行列Wを求める。格納手段2は、得られた行列Wを運動データの計測値に対応する符号データとして格納する。編集手段4は、格納手段2から符号データを取り出し、その符号データを編集して、新たな符号データを生成し、復元手段5は、新たな符号データに対応する運動データを復元する。出力手段6は、復元された運動データを用いて仮想的なキャラクターの画像を生成し、出力する。
例えば、図1の近似手段1、符号化手段3、編集手段4、復元手段5は、後述する図7のCPU(中央処理装置)21とメモリ22に対応し、格納手段2は記憶装置25に対応し、出力手段6はディスプレイ装置24′に対応する。
【0020】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施の形態を詳細に説明する。
本発明では、運動データを効率良く保存するために符号化を行い、その再利用性を高めるために、符号化された運動データ(符号化運動データ)の編集を行う。ここで、符号化運動データとは、時系列データの一種である運動データを、本発明の方法によって符号化した結果の符号データを指す。
【0021】
図2は、本発明の実施形態のデータ変換装置における運動の計測から再現までの処理過程を示している。このデータ変換装置は、人間などの生物の実際の動きを計測装置によって取り込み、ディスプレイ画面上のキャラクター・モデルにそれを再現させる。この処理過程には、運動の計測(P1)、運動データの符号化(P2)、符号化運動データの保存(P3)、符号化運動データの読み出し(P4)、符号化運動データの編集(P5)、符号化運動データから運動データの復元(P6)、およびキャラクターの運動の再現(P7)の情報処理が含まれる。
【0022】
本発明は、これらの処理のうち、特に、運動データの符号化、符号化運動データの編集、および運動データの復元に特徴を有する。処理P2の符号化では、運動データを効率良く保存して膨大な記憶容量の問題を解決するため、運動データを符号化する。また、処理P5の編集では、運動データの再利用性を高めるために、符号化運動データに対して編集を行う。この編集処理では、運動データの座標変換、連結、分割、変形、移動などを可能にする。また、処理P6の復元では、処理P2と逆の処理を行って運動データを復元する。
【0023】
また、他の処理P1、P3、P4、およびP7に関しては、既存の技術を利用することができる。ここで、処理P1〜P7について簡単に説明しておく。
運動の計測(P1)
人間などの身体運動を計測するためには様々な方法が開発されており、例えば、次のような計測方法が挙げられる(持丸正明:運動計測技術の動向と課題、バイオメカニズム学会誌、Vol.20, No.1, pp.23-32, 1996)。
(a)ゴニオメータを利用する電気角度計測手法
(b)ビデオカメラ等を利用する光学式電子計測手法
(c)磁気センサによる手法
(d)加速度計や超音波センサによる手法
これらのうちどの計測方法を利用するかは、計測対象や利用分野に依存する。しかし、どの方法を用いたとしても、計測される運動データは、関節の角度や身体上の特定部分の位置をある一定のサンプリング間隔で記録した時系列データとなる。
【0024】
運動データの符号化(P2)
計測した運動データをプレイバックすることによってキャラクターに様々な動作を行わせる場合、あらかじめ多数の運動データを計測し、保存しておかなければならない。多数の動作を含んだ運動データを記憶するためには、膨大な記憶容量が必要となる。そこで、本発明では、運動データを符号化することによってデータ圧縮を行い、効率的に運動データを保存できるようにする。これによって、多数の運動データを記録するために必要な記憶容量を削減することができる。
【0025】
符号化処理は、時系列として計測された運動データを、ある滑らかさを持つ局所的な基底関数の重み付き加算で近似表現し、その重み係数の配列だけを記録することによって行われる。
【0026】
図3は、運動データの符号化処理のフローチャートである。データ変換装置は、まず、適当なサンプリング間隔で計測された運動データを入力し(ステップS1)、滑らかで局所的な基底関数を利用してそれらを近似表現する(ステップS2)。次に、基底関数の重み係数の配列を生成し(ステップS3)、それを符号化運動データとして保存して(ステップS4)、処理を終了する。この符号化運動データは、図2の記憶装置11に保存される。
【0027】
ここで、計測のサンプリング間隔をδt[sec]とし、近似表現を行うための基底関数の時間間隔をΔt=nδt[sec]とすると、この符号化によって、データの記憶量をn分の1に圧縮することができる。例えば、δt=0.01[sec]、Δt=0.1[sec]ならば、データ量は10分の1に圧縮される。
【0028】
図4のグラフは、運動データの符号化の例を示している。図4において、曲線が計測対象の現実の運動軌跡を表し、曲線上の点が一定のサンプリング間隔で計測された位置データの値を表す。これらの値を時間の指標と共に記録した時系列データが運動データである。また、×印の点が各基底関数の重み係数に対応し、これらの重み係数の配列が符号化運動データとなる。
【0029】
符号化運動データの保存と取り出し(P3、P4)
符号化運動データは、局所的な基底関数の重み係数の配列、すなわち数を要素とする配列で表現される。この重み係数の配列をハードディスクなどの記憶装置11に保存すること、および、記憶装置11から取り出すことは容易である。
【0030】
運動データの編集(P5)
運動データの再利用性を向上させるため、運動データの編集が実現される。編集は時系列の運動データそのものではなく、符号化運動データに対して行われる。データの再利用性を向上させることは、運動データの記憶容量を減少させる利点も合せ持っている。
【0031】
符号化運動データの編集では、例えば、次のような各種機能を設ける。
(a)座標変換(キネマティック変換)
(b)時間に関する変換
(c)空間に関する変換
(d)分割、連結、融合
(e)手動による重み係数の調節
(f)ダイナミクスを利用した変換
これらの編集機能の詳細については後述するが、このような機能を利用して、例えば、幾つかの運動データを材料にして新しい運動データを作り出すことができる。したがって、少ない量の運動データから様々な動作を再現することができるようになる。
【0032】
以上のような符号化運動データの編集は、グラフィカルなインタフェースを介して、ユーザとの対話形式でインタラクティブに行われる。このため、編集後のキャラクターの動作が即座に画面上に表示され、ユーザはその仕上がり具合を視覚的に判断しながら、編集作業を進めることができる。
【0033】
運動データの復元(P6)
符号化運動データから時系列形式の運動データへの復元処理は、符号化の逆の処理により行われる。すなわち、上述の基底関数を符号化運動データで重み付き加算すれば、時系列の運動データを復元できる。このとき、符号化運動データは必ずしも編集されている必要はなく、処理P2で得られたデータをそのまま用いてもよい。
【0034】
運動の再現(P7)
運動データを時系列形式に復元した後、キャラクターの3次元キネマティク・モデルにあてはめて関節角度などを設定すれば、運動データをキャラクターに再現させることができる。
【0035】
本実施形態のデータ変換装置としては、例えば、図5に示すような情報処理装置(コンピュータ)が用いられる。図5の情報処理装置は、CPU21、メモリ22、入力装置23、出力装置24、外部記憶装置25、媒体駆動装置26、ネットワーク接続装置27、および計測装置28を備え、それらはバス29により互いに接続されている。
【0036】
メモリ22には、処理に用いられるプログラムとデータが格納される。メモリ22としては、例えばROM(read only memory)、RAM(random access memory)等が用いられる。CPU21は、メモリ22を利用してプログラムを実行することにより、データ変換装置の各処理を行う。
【0037】
入力装置23は、例えば、キーボード、ポインティングデバイス、タッチパネルなどであり、必要な指示や情報の入力に用いられる。また、出力装置24は、例えば、ディスプレイやプリンタ等であり、キャラクターの動作やユーザへの問い合せ事項を出力する。
【0038】
外部記憶装置25は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク(magneto-optical disk)装置などであり、符号化運動データを保存する。この外部記憶装置25に、上述のプログラムとデータを保存しておき、必要に応じて、それらをメモリ22にロードして使用することもできる。外部記憶装置25は、図2の記憶装置11として用いられる。
【0039】
媒体駆動装置26は、可搬記録媒体30を駆動し、その記録内容にアクセスする。可搬記録媒体30としては、メモリカード、フロッピーディスク、CD−ROM(compact disk read only memory )、光ディスク、光磁気ディスクなど、任意のコンピュータ読み取り可能な記録媒体が用いられる。この可搬記録媒体30に上述のプログラムとデータを格納しておき、必要に応じて、それらをメモリ22にロードして使用することもできる。
【0040】
ネットワーク接続装置27は、LAN(local area network)などの任意のネットワーク(回線)を介して外部の装置と通信する。これにより、必要に応じて、上述のプログラムとデータを外部の装置から受け取り、それらをメモリ22にロードして使用することもできる。また、計測装置28は、例えば、ゴニオメータ、ビデオカメラ、磁気センサ、加速度計、超音波センサなどであり、運動データの計測に用いられる。
【0041】
図6は、図5の情報処理装置にプログラムとデータを供給することのできるコンピュータ読み取り可能な記録媒体を示している。可搬記録媒体30や外部のデータベース31に保存されたプログラムとデータは、メモリ22にロードされる。そして、CPU21は、そのデータを用いてそのプログラムを実行し、必要な処理を行う。
【0042】
図5の情報処理装置を用いて、図2のような処理を行うデータ変換装置の構成を示すと、図7のようになる。図7において、入力された運動データは、メモリ22上でCPU21の符号化部32により符号化され、符号化運動データに変換されて、記憶装置25に保存される。保存された符号化運動データはメモリ22上に読み出された後、CPU21の編集部33により編集され、ディスプレイ装置24′の画面に表示される。ディスプレイ装置24′は、図5の出力装置24に対応する。
【0043】
次に、図8から図22までを参照しながら、図2に示した処理過程の中で、本発明に特に関係する部分、すなわち、運動データの符号化処理と符号化運動データの編集処理の具体例について説明する。
【0044】
運動データの符号化では、時系列として計測された運動データを、ある滑らかさを持つ局所的な基底関数の重み付き加算で近似表現し、基底関数の重み係数の配列を符号化運動データとする。
【0045】
これまでの人間の運動の計測と解析の研究により、人の腕の運動がある種類の滑らかさの規範を満たすように実行されているとする仮説が提案されている。ここで、滑らかさの規範とは、例えば、jerk最小規範やトルク変化最小規範などを指し、jerkとは加速度の時間微分を指す。したがって、本実施形態の符号化方法のように、運動データを滑らかさを持った基底関数の重み付き加算で近似表現することは妥当であると考えられる。ここでは、このような基底関数の一例として、等間隔の節点を有する正規化されたB−スプライン関数を用いることにする。
【0046】
ここで、等間隔の非多重の節点を有する正規化されたB−スプライン関数を計算するためのアルゴリズムについて説明する。このアルゴリズムは、一般的なB−スプライン関数を安定に計算するために、de Boor およびCox によって提案されたアルゴリズム(C. de Boor: A Practical Guide to Splines. Springer-Verlag, 1978 )を単純化することにより導出される。
【0047】
p個の非多重の実数の節点s=s1 ,...,sp (ただし、s1 <・・・<sp )を有するk次のスプライン関数Sk (s)=Sk (s;s1 ,...,sp )は、次の2つの条件を満たす実関数として定義される(T.N.E.GRerille. Ed.: Theory and Applications of Spline Functions. Academic Press, 1969)。
【0048】
第1の条件は、i=0,...,pに対する各区間(si ,si+1 )において、Sk (s)がsに関する高々k次の多項式であることである。また、第2の条件は、区間(−∞,+∞)においてSk (s)はCk-1 級に属すること、すなわち、j=1,...,k−1に対してSk (s)のj階の導関数が存在し、連続であることである。ただし、s0 =−∞およびsp+1 =+∞とする。
【0049】
B−スプライン関数は局所的かつ最小の台を有する、スプライン関数の基底として定義される。すなわち、任意のスプライン関数は対応するB−スプライン関数の線形結合によって構成することができる。
【0050】
de Boor およびCox によるアルゴリズムを変形することによって、等間隔の非多重の節点s=0,...,k+1を有する正規化されたk次のB−スプライン関数Bk (s;0,...,k+1)は、
【0051】
【数1】
Figure 0003735187
【0052】
のように計算することができる。ここで、関数N0,k (s),...,Nk,k (s)は再帰的に、
【0053】
【数2】
Figure 0003735187
【0054】
のように定義され、関係
【0055】
【数3】
Figure 0003735187
【0056】
を満たす。
このとき、等間隔の非多重の節点s=l,...,m+k−1を有する正規化されたk次のスプライン関数Sk (s;l,...,m+k−1)は、対応するB−スプライン関数Bk (s−(l−k)),...,Bk (s−(m+k−2))の線形結合として、定数cl-k+1 ,...,cm+k-1 を適切に選択することにより、
【0057】
【数4】
Figure 0003735187
【0058】
のように記述することができる。(1)式に示されるB−スプライン関数の局所的な性質により、(4)式は、
【0059】
【数5】
Figure 0003735187
【0060】
のように変形でき、さらに、
【0061】
【数6】
Figure 0003735187
【0062】
と変形できる。
特に、cl-k+1 =・・・=cm+k-1 =1の場合には、(3)式により、(6)式は、
【0063】
【数7】
Figure 0003735187
【0064】
となり、それゆえ、
【0065】
【数8】
Figure 0003735187
【0066】
となる。
以下では、まず、このような性質を持つk次のB−スプライン関数を用いた任意の関数の近似表現について簡単に説明し、次に、B−スプライン関数の重み係数を利用した運動データの符号化方法を説明する。そして、最後に、具体的な例として、等間隔の正規化された3次のB−スプライン関数を用いた場合を示す。
【0067】
ある滑らかな関数f(t)(0≦t≦T)を等間隔Δtの正規化されたB−スプライン関数を用いて近似的に表現することを考える。いま、変数tを間隔Δtで離散化し、離散点をt=iΔt(iは整数)と記すことにする。
【0068】
このとき、関数f(t)は等間隔Δtで配置された(N+k)個のk次のB−スプライン関数B(k) (t)を利用して、次式のように近似表現することができる。
【0069】
【数9】
Figure 0003735187
【0070】
ただし、B(k) (t)はk次のB−スプライン関数である。また、B(k) i (t)はB(k) (t)をiΔtだけ平行移動した関数であり、次式で与えられる。
(k) i (t)=B(k) (t−iΔt) (10)
また、Nは、
N=T/Δt (11)
を満たすものとし、wi (i=−k,...,N−1)はB−スプライン関数B(k) i (t)の重みを表す係数である。
【0071】
図8は、位置を表す関数x(t)を、等間隔の3次のB−スプライン関数B(3) (t)を用いて近似表現した例を示している。この場合、関数x(t)は、いくつかのB−スプライン関数B(3) i (t)の線形結合として表される。
【0072】
また、関数f(t)がm次元の関数である場合、(9)式は次のように表現される。
【0073】
【数10】
Figure 0003735187
【0074】
ただし、
f(t)=[f1 (t),...,fm (t)]T (13)
(f(t)はm次元の縦ベクトル)
(k) (t)=[B(k) -k(t),...,B(k) N-1 (t)]T (14)
(b(k) (t)は(N+k)次元の縦ベクトル)
i =[wi,1 ,...,wi,m T (15)
(wi はm次元の縦ベクトル)
W=[w-k,...,wN-1 ] (16)
(Wはm×(N+k)の行列)
である。
【0075】
本発明の符号化では、計測によって得られた運動データを(12)式のようにB−スプライン関数を用いて近似表現して、B−スプライン関数の重み係数の行列W=[w-k,...,wN-1 ]を運動データの符号化結果とする。以下に、運動データからW=[w-k,...,wN-1 ]を求めるまでの処理過程を示す。
【0076】
運動データの計測では、関節角度や身体上の特定部位の位置などのm個の値が計測され、記録されると仮定する。計測対象が行った運動の軌跡をy(t)∈Rm (0≦t≦T,tは時刻)とし、この運動をサンプリング間隔δtで計測した結果をy(0),y(δt),y(2δt),...,y(Mδt)とする。ただし、
δt=Δt/n (17)
T=M・δt=N・Δt (18)
の関係が成り立つとする。サンプリング点の総数は(M+1)個である。
【0077】
(12)式より、サンプル時刻t=i・δt(i=0,...,M)での運動y(t)は、k次のB−スプライン関数を利用して、次式のように近似表現できる。
【0078】
【数11】
Figure 0003735187
【0079】
したがって、時刻0からTまでのある1つの動作を行ったときに計測された運動データは、
【0080】
【数12】
Figure 0003735187
【0081】
と近似表現できる。ただし、
【0082】
【数13】
Figure 0003735187
【0083】
である。行列Wは(16)式で定義されている。
(21)式の行列Yは運動データから構成され、(22)式の行列Aはサンプリング間隔δtとB−スプライン関数の間隔Δtから計算できる。これらの行列Y、Aを(20)式に代入した後、それを行列Wについて解くことは、既存の方法で実行できる。既存の方法としては、例えば、擬似逆行列(一般化逆行列)を利用する方法やガウス消去法などがある。
【0084】
一例として、擬似逆行列を利用する方法を示すと、行列Aの擬似逆行列A+ =AT (AAT -1を使用して、行列Wは、
W=YA+ T (AAT -1 (23)
のように求められる。
【0085】
図9は、(20)式に基づく運動データの符号化処理の詳細フローチャートである。データ変換装置は、まず、ユーザから指定されたサンプリング間隔δtとB−スプライン関数の間隔Δtを設定し(ステップS11)、それらの値を用いて行列Aの各要素を設定する(ステップS12)。
【0086】
次に、サンプリング間隔δtで、運動データy(0),y(δt),y(2δt),...,y(Mδt)を計測し(ステップS13)、(21)式の行列Yの各要素を設定する(ステップS14)。次に、行列Y、Aを(20)式に代入し(ステップS15)、それを解いて、行列W=[w-k,...,wN-1 ]を求める(ステップS16)。そして、この行列Wを符号化運動データとする。
【0087】
ここで、wi (i=−k,...,N−1)の下付添え字iは運動の時刻を表すのではなく、i番目のB−スプライン関数B(k) i (t)の係数ベクトルであることを表している。(17)式が成り立つとき、このような符号化処理により、運動データのデータ量をn分の1に圧縮することができる。
【0088】
ところで、本実施形態の符号化処理では、位置や関節角度などの運動データy(t)を(19)式で近似表現することを利用している。(19)式を時間微分すると、
【0089】
【数14】
Figure 0003735187
【0090】
が得られる。
したがって、y(t)が位置データである場合、(24)、(25)式より、速度 外1 と加速度 外2 を同一の符号化運動データW=[w-k,...,
【0091】
【外1】
Figure 0003735187
【0092】
【外2】
Figure 0003735187
【0093】
N-1 ]を用いて表現することができる。つまり、符号化運動データとして行列Wだけを記録しておけば、(19)、(24)、(25)式によって、位置、速度、加速度のすべてを再現することができる。同様に、y(t)が角度データである場合は、(24)、(25)式によって、符号化運動データWから角速度、角加速度を再現することができる。
【0094】
このように、B−スプライン関数を用いた符号化によれば、B−スプライン関数の時間微分を用いることで、符号化運動データから、元の運動データのみならずその時間微分のデータも再現することができる。したがって、少ない記憶容量でより多くのデータを再現できるという利点がある。
【0095】
さらに、人間の腕の運動に関する研究によれば、その運動軌跡を等間隔の3次のB−スプライン関数を利用してうまく近似できることが報告されている(E.Burdet: Algorithms of Human Motor Control and their Implementation in Robotics. PhD thesis No.11692, 外3 (ETH)-Zuerich, 1996 )。そこで、次に
【0096】
【外3】
Figure 0003735187
【0097】
、3次のB−スプライン関数を用いた場合について、具体的な符号化の例を示すことにする。
等間隔Δtの非多重の4個の節点t=0,Δt,2Δt,3Δtを持つ正規化された3次のB−スプライン関数B(3) (t;0,Δt,2Δt,3Δt)は、(2)式より、次のように定義される。
【0098】
【数15】
Figure 0003735187
【0099】
ただし、関数N3-j,3 (t)(j=0,1,2,3)は以下の通りである。
【0100】
【数16】
Figure 0003735187
【0101】
いま、t=(j+e)Δt(0≦e≦1)とすると、(26)式より、(19)式は次のように変形できる。
【0102】
【数17】
Figure 0003735187
【0103】
ただし、関数bi (s)(i=0,1,2,3,0≦s≦1)は次のように定義される。
【0104】
【数18】
Figure 0003735187
【0105】
以上より、等間隔の3次のB−スプライン関数を利用した場合、行列Aは次のように簡単に計算することができる。
【0106】
【数19】
Figure 0003735187
【0107】
ただし、Δt=nδtである。
(31)式の行列Dは、関数bi (s)(i=0,1,2,3,0≦s≦1)と計測サンプリング間隔δt、および、B−スプライン関数の間隔Δtを決定することによって事前に計算することができる。したがって、(30)式の行列Aは、計測した運動データに依存しない定数行列とみなすことができる。
【0108】
次に、運動データの編集処理について説明する。運動データの編集が可能になることにより、その再利用性が向上する。編集処理は、運動データそのものに対してではなく、すべて、符号化運動データに対して行われる。したがって、保存してある符号化運動データを時系列の運動データに復元することなく、符号化運動データのままで直接編集を行うことができる。
【0109】
本実施形態のデータ変換装置には、
(a)座標変換(キネマティック変換)
(b)時間に関する変換
(c)空間に関する変換
(d)分割、連結、融合
(e)手動による重み係数の調節
(f)ダイナミクスを利用した変換
などの編集機能が備えられている。
【0110】
これらの編集機能を用いたデータ変換の一例を図示すると、図10に示すようになる。例えば、直交座標系における符号化運動データは、(a)の適当な座標変換により、関節座標系における符号化運動データに変換される。また、関節座標系における符号化運動データは、(f)のダイナミクスを利用した変換により、関節トルクを表現する符号化運動データに変換される。そして、これらの符号化運動データは、それぞれ、(b)、(c)、(d)、(e)などの各種の編集処理により、さらに加工することができる。
【0111】
図11は、符号化運動データの編集処理のフローチャートである。データ変換装置は、まず、編集対象の符号化運動データを記憶装置から取り出し(ステップS21)、ユーザの指示に従ってそれを編集する(ステップS22)。次に、編集結果をディスプレイ画面に表示して、ユーザによる評価を待つ(ステップS23)。
【0112】
編集結果の表示方法には、大きく分けて2つの方法がある。第1の方法は、編集された符号化運動データから運動データを復元して、その時間変化をグラフで表示する方法である。第2の方法は、復元された運動データからキャラクターの動作を再現して表示する方法である。第2の方法は、第1の方法に比べて編集結果が評価しやすいという利点があるが、第1の方法よりも多くの処理を必要とする。どちらの表示方法を選ぶかは、ユーザにより指定される。
【0113】
次に、データ変換装置は、同じデータの編集を続けるかどうかをユーザに問合せ(ステップS24)、ユーザが編集続行の指示を入力すると、ステップS22以降の処理を繰り返す。また、ユーザが編集終了の指示を入力すると、次に、他のデータを用いた編集を行うかどうかをユーザに問合せる(ステップS25)。ここで、ユーザが編集続行の指示を入力すると、ステップS21以降の処理を繰り返し、編集終了の指示を入力すると、処理を終了する。
【0114】
次に、上述の各種編集機能の詳細を順に説明する。
(a)座標変換(キネマティック変換)
一般に、ある一つの身体運動は直交座標と関節座標など複数の座標系を使って表現することができる。ここで、直交座標は、ある時刻の身体の特定部位(例えば、頭、手先、関節など)の空間内位置によって身体姿勢を表現する座標であり、一方、関節座標は、身体中の関節の角度によって身体姿勢を表現する座標である。
【0115】
人間の運動を計測するためによく利用されるモーション・キャプチャー・システムにおいて、ビデオカメラや磁気センサを利用したシステムでは、運動が直交座標で計測され、一方、ゴニオメータを利用したシステムでは、運動が関節座標で計測される。また、運動データを再現する際、コンピュータ内に仮想的に構成した人体モデルを動かすためには、一つの運動を関節座標と直交座標の両方で表現することが有効である。したがって、ある運動データを直交座標と関節座標の両方で表現するため、2つの座標間の座標変換が必要となる。
【0116】
ある一つの姿勢が直交座標ではx=[x1 ,...,xm ]と表現され、関節座標ではq=[q1 ,...,qm ]と表現されたとすると、2つの座標の間には、
【0117】
【数20】
Figure 0003735187
【0118】
の関係が成り立つ。ここで、(32)式のhは非線形のベクトル関数であり、関節座標qから直交座標xへの変換を表す。また、(33)式のh-1は、hの逆変換を表す。このとき、速度に関しては、次式が成り立つ。
【0119】
【数21】
Figure 0003735187
【0120】
ここで、Jは関数hのヤコビ行列であり、J# は広く逆行列を意味する。J# としては、 外4 (以下、qドットと記す)と 外5 (以下、xドットと記す
【0121】
【外4】
Figure 0003735187
【0122】
【外5】
Figure 0003735187
【0123】
)の次元が等しい場合にはJ-1が使用され、qドットの次元がxドットの次元より大きい場合には、例えば、擬似逆行列JT (JJT -1などが使用される。後者の場合の逆行列としては、状況や使用目的に応じて部分的に修正されたいくつかの行列がこれまでに提案されており、それらを利用することができる。
【0124】
いま、ある運動を表す符号化運動データが、直交座標ではX=[x-k,...,xN-1 ]、関節座標ではQ=[q-k,...,qN-1 ]と表現されたとする。このとき、(24)、(34)、(35)式より、2つの座標で表現した符号化運動データの間には、次式のような関係が成り立つ。
【0125】
【数22】
Figure 0003735187
【0126】
ここで、(32)、(34)式のx、qは、符号化前の運動データを表すのに対して、(36)式のxi 、qi は、符号化運動データを表すことに注意を要する。また、(36)式のJ(q(iΔt))、J# (q(iΔt))は、それぞれ、(34)式のJ(q)、(35)式のJ# (q)にt=iΔtを代入して得られる行列である。
(b)時間に関する変換
時間に関する変換は、運動の開始時刻を遅らせたり、運動時間を伸長または短縮したりする機能を持つ。ここでは、運動開始時刻の遅延演算と運動時間の伸縮演算の2種類の演算を示す。これら時間に関するすべての演算は、直交座標と関節座標のどちらでも実行できる。
【0127】
いま、ある運動データy(t)(0≦t≦T)を符号化した結果をW=[w-k,w-k+1,...,wN-1 ]とし、T=NΔtであるとする。このとき、運動開始の時刻をjΔtだけ遅らせる遅延演算Delay(W,j)(j=−k,...,N−1)は、演算結果をVとして、次のように作用する。
【0128】
【数23】
Figure 0003735187
【0129】
すなわち、この演算は、符号化運動データWの前半にj個のw-kを新たに付け加えて、運動の初期値にjΔtの間だけ留まるようにする変換である。
図12は、0≦t≦8[sec]の区間における変換前の運動データ(例えば、位置データ)の一例を示している。この運動データを、Δt=1.0、N=8として、3次のB−スプライン関数B(3) i (t)(i=−3,...,7)を用いて符号化すると、次のような符号化運動データが得られる。
【0130】

=[w-3,w-2,w-1,w0 ,w1 ,w2 ,w3 ,w4 ,w5 ,w6 ,w7
=[0,0,0,1,2.7,3.5,2.7,1,0,0,0] (38)
図12の区間0≦t≦8には、係数w0 、w1 、w2 、w3 、w4 によりそれぞれ重み付けられたB−スプライン関数w0 (3) 0 (t)、w1 (3) 1 (t)、w2 (3) 2 (t)、w3 (3) 3 (t)、w4 (3) 4 (t)の関数形が示されている。
【0131】
(38)式の符号化運動データに、開始の時刻を6秒間だけ遅らせる遅延演算Delay(W,6)を作用させると、(37)式より、変換後の符号化運動データは次のようになる。
【0132】
Figure 0003735187
(39)式の符号化運動データにより重み付けされたB−スプライン関数と、それらの総和として得られる運動データを図示すると、図13のようになる。図13では、図12の運動データの区間が0≦t≦14に拡張され、最初の6秒間は位置が変化していないことが分かる。
【0133】
また、運動時間の伸縮演算TemporalScale(W,λ)は、運動時間Tをλ倍に伸縮する変換を表す。ただし、λは実数である。演算結果をVとすると、この演算は次のように作用する。
【0134】
【数24】
Figure 0003735187
【0135】
ただし、 外6 (以下、Nハットと記す)は、
【0136】
【外6】
Figure 0003735187
【0137】
【数25】
Figure 0003735187
【0138】
を満たし、B−スプライン関数の係数vi (i=−k,...,Nハット−1)は、
【0139】
【数26】
Figure 0003735187
【0140】
を満たす。(42)式を満たすvi (i=−k,...,Nハット−1)を求めるには、右辺を関数y(t)とみなして、(19)式に基づく図9の符号化処理を実行すればよい。
【0141】
例えば、(38)式の符号化運動データに対して、運動時間を2倍に伸張する演算TemporalScale(W,2)を作用させると、(42)式より、変換後の符号化運動データは次のようになる。
【0142】
Figure 0003735187
(43)式の符号化運動データにより重み付けされたB−スプライン関数と、それらの総和として得られる運動データを図示すると、図14のようになる。図14では、図12の運動時間が16秒間に伸張されていることが分かる。
(c)空間に関する変換
空間に関する変換として、平行移動、回転、および拡大縮小(ただし、運動時間Tは不変)について説明する。これらの変換は、主に直交座標での符号化運動データに対して行われる。いま、符号化運動データW=[w-k,...,wN-1 ]について、wi ∈Rm であるものとする。
【0143】
このとき、運動データをδw∈Rm だけ平行移動する演算Translate(W,δw)によって、符号化運動データWは次のような符号化運動データVに変換される。
【0144】
【数27】
Figure 0003735187
【0145】
例えば、(38)式の符号化運動データに対して、運動データを1.0だけ平行移動する演算Translate(W,2)を作用させると、(44)式より、変換後の符号化運動データは次のようになる。
【0146】

=[v-3,v-2,v-1,v0 ,v1 ,v2 ,v3 ,v4 ,v5 ,v6 ,v7
=[1,1,1,2,3.7,4.5,3.7,2,1,1,1] (45)
(45)式の符号化運動データにより重み付けされたB−スプライン関数と、それらの総和として得られる運動データを図示すると、図15のようになる。図15では、図12の運動データが1.0だけ上方に平行移動していることが分かる。
【0147】
また、直交座標の原点に関して角度qだけ回転する演算Rotation (W,q)によって、符号化運動データWは次のような符号化運動データVに変換される。
【0148】
【数28】
Figure 0003735187
【0149】
ただし、R(q)は、係数ベクトルwi を原点に関して角度qだけ回転させる回転行列である。例えば、直交座標が2次元の場合は、次の行列R(q)が用いられる。
【0150】
【数29】
Figure 0003735187
【0151】
また、運動時間は変えないで運動データのサイズだけをλ倍する演算SpatialScale (W,λ)によって、符号化運動データWは次のような符号化運動データVに変換される。
【0152】
【数30】
Figure 0003735187
【0153】
例えば、(38)式の符号化運動データに対して、運動データのサイズを2倍にする演算SpatialScale (W,2)を作用させると、(48)式より、変換後の符号化運動データは次のようになる。
【0154】

=[v-3,v-2,v-1,v0 ,v1 ,v2 ,v3 ,v4 ,v5 ,v6 ,v7
=[0,0,0,2,5.4,7,5.4,2,0,0,0] (49)
(49)式の符号化運動データにより重み付けされたB−スプライン関数と、それらの総和として得られる運動データを図示すると、図16のようになる。図16では、図12の運動データのサイズが全体的に2倍になっていることが分かる。
(d)分割、連結、融合
次に、1つの符号化運動データを2つに分割したり、逆に複数の符号化運動データから新しい符号化運動データを作り出す編集機能について説明する。ここでは、符号化運動データの2種類の分割演算、複数の符号化運動データの連結演算、および融合演算について示す。
【0155】
符号化運動データW=[w-k,...,wN-1 ]を、第j列の係数ベクトルwj と第(j+1)列の係数ベクトルwj+1 の間で2つの符号化運動データに分割する演算Cut1(W,j)によって、符号化運動データWは次のように変換される。
【0156】
【数31】
Figure 0003735187
【0157】
ここで、wj は第j番目のB−スプライン関数B(k) j (t)の重み係数に対応している。この分割演算を作用させる運動データの例として、図17に示すようなものを考える。
【0158】
図17の運動データは、0≦t≦15[sec]の区間で計測されている。この運動データを、Δt=1.0、N=15として、3次のB−スプライン関数B(3) i (t)(i=−3,...,14)を用いて符号化すると、次のような符号化運動データが得られる。
【0159】
Figure 0003735187
図17の区間0≦t≦15には、係数w-3、w-2、w-1、w0 、w1 、w2 、w3 、w4 、w5 、w6 、w7 、w8 、w9 、w10、w11、w12、w13、w14によりそれぞれ重み付けられたB−スプライン関数w-3(3) -3(t)、w-2(3) -2(t)、w-1(3) -1(t)、w0 (3) 0 (t)、w1 (3) 1 (t)、w2 (3) 2 (t)、w3 (3) 3 (t)、w4 (3) 4 (t)、w5 (3) 5 (t)、w6 (3) 6 (t)、w7 (3) 7 (t)、w8 (3) 8 (t)、w9 (3) 9 (t)、w10(3) 10(t)、w11(3) 11(t)、w12(3) 12(t)、w13(3) 13(t)、w14(3) 14(t)の関数形が示されている。
【0160】
(51)式の符号化運動データに、w4 とw5 の間で分割する演算Cut1(W,4)を作用させると、(50)式より、変換後の符号化運動データは次のようになる。
【0161】
Figure 0003735187
(52)式の符号化運動データW(1) により重み付けされたB−スプライン関数と、それらの総和として得られる運動データを図示すると、図18のようになる。また、符号化運動データW(2) により重み付けされたB−スプライン関数と、それらの総和として得られる運動データを図示すると、図19のようになる。図18および図19の運動データは、図17の運動データを2つに分割した結果を表している。
【0162】
また、符号化運動データWを時刻t=jΔtで2つの符号化運動データに分割する演算Cut2(W,j)によって、符号化運動データWは次のように変換される。
【0163】
【数32】
Figure 0003735187
【0164】
例えば、(51)式の符号化運動データに、時刻t=7Δt=7で分割する演算Cut2(W,7)を作用させると、(53)式より、変換後の符号化運動データは次のようになる。
【0165】
Figure 0003735187
(54)式の符号化運動データW(1) により重み付けされたB−スプライン関数と、それらの総和として得られる運動データを図示すると、図20のようになる。また、符号化運動データW(2) により重み付けされたB−スプライン関数と、それらの総和として得られる運動データを図示すると、図21のようになる。図20および図21の運動データは、図17の運動データを2つに分割した結果を表している。
【0166】
演算Cut1により得られた図18の運動データと、演算Cut2により得られた図20の運動データを比較すると、前者は図17の運動データの時刻t=7の値を含んでいないのに対して、後者はその値を含んでいることが分かる。このように、演算Cut2は、分割時刻の前後の係数ベクトルを分割後の符号化運動データW(1) とW(2) の両方に残しているため、元の運動データの分割点付近の形状を保存しながら、符号化運動データを分割することができる。
【0167】
また、次のような2つの符号化運動データ
【0168】
【数33】
Figure 0003735187
【0169】
を連結して1つの符号化運動データを作る演算Connect(W(1) ,W(2) )によって、以下のような新しい符号化運動データVが作成される。
【0170】
【数34】
Figure 0003735187
【0171】
例えば、(52)式の符号化運動データW(1) とW(2) に、演算Connect(W(1) ,W(2) )を作用させると、(56)式より、(51)式の符号化運動データWが生成される。
【0172】
また、(55)式の2つの符号化運動データを融合して(重ね合わせて)1つの符号化運動データを作る演算Fusion (W(1) ,W(2) )によって、以下のような新しい符号化運動データVが作成される。
【0173】
【数35】
Figure 0003735187
【0174】
ただし、(57)式ではN=max(N1 ,N2 )である。N1 とN2 が異なる場合、(57)式の符号化運動データW(1) とW(2) のうちで、運動時間が短い方の不足分の係数ベクトルとして0ベクトルを補足して計算する。例えば、N1 =N2 +jのときは、(57)式は次のようになる。
【0175】
【数36】
Figure 0003735187
【0176】
例えば、(52)式の符号化運動データW(1) とW(2) に、演算Fusion (W(1) ,W(2) )を作用させると、(57)式より、次のような符号化運動データが生成される。
【0177】
Figure 0003735187
(59)式の符号化運動データにより重み付けされたB−スプライン関数と、それらの総和として得られる運動データを図示すると、図22のようになる。図22の運動データは、図18および図19の運動データを融合した結果を表している。
(e)手動による重み係数の調節
演算Modify (W,j,δw)は、運動軌跡の部分的な調節や修正を行うため、符号化運動データW=[w-k,...,wN-1 ]の一つの係数ベクトルwj(j=−k,...,N−1)にベクトルδwを加算する演算である。この演算によって、符号化運動データWは次のように変換される。
【0178】
【数37】
Figure 0003735187
【0179】
一般に、符号化運動データは滑らかな局所的基底関数であるB−スプライン関数の係数ベクトルの配列であるので、ある一つの係数ベクトルの値を変化させても、その影響は局所的に留まる。また、全体の運動軌跡は常に滑らかなままである。
(f)ダイナミクスを利用した変換
逆ダイナミクスを利用した変換は、位置、速度、および加速度などの運動を表現する符号化運動データを、関節トルクを表現する符号化運動データへ変換する。逆に、順ダイナミクスを利用した変換は、関節トルクを表現する符号化運動データを、運動を表現する符号化運動データに変換する。
【0180】
ところで、人間の腕の運動軌跡が、運動を実行する関節トルクの変化が最小となるように計画されているとする学説がある(Y.Uno, M.Kawato, and R.Suzuki: Formation and Control of Optimal Trajectory in Human Multijoint Arm Movement. Minimum Torque-Change Model. Biol. Cybern. Vol.61, pp.89-101, 1989 )。
【0181】
この学説は、腕の運動を引き起こしている関節トルクの時間波形が滑らかであることを主張している。したがって、運動を表現する符号化運動データを関節トルクの符号化運動データに変換し、その後、関節トルクの符号化運動データに対して、上述したような各種の滑らかな編集処理を実行することにより、運動の自然さを保ったままの編集が可能になる。ここで、滑らかな編集処理とは、編集後の運動データが滑らかであることを意味する。
【0182】
いま、運動を表現する符号化運動データをW=[w-k,...,wN-1 ]、関節トルクを表現する符号化運動データをU=[u-k,...,uN-1 ]とする。このとき、WをUに変換する逆ダイナミクスの演算InverseDynamics (W)は、次のように記述される。
【0183】
U=InverseDynamics (W) (61)
また、UをWに変換する順ダイナミクスの演算ForwardDynamics (U)は、次のように記述される。
【0184】
W=ForwardDynamics (U) (62)
以上説明したような各種編集機能を用いた作業は、グラフィカル・ユーザ・インタフェース(GUI)を利用して行われる。すなわち、編集対象の符号化運動データの指定や編集機能の選択および値の設定などは、画面上のボタンなどで表現される編集機能をマウスなどのポインティングデバイスを用いて指示することにより行われる。そして、ディスプレイ装置は、編集中および編集結果の運動を画面上に表示し、常に、編集状況をユーザにわかりやすく伝達する。
【0185】
本実施形態では、運動データを近似するための基底関数として、現時点で最適と考えられるB−スプライン関数を用いているが、一般には、他の任意の関数を用いることができる。例えば、基底関数としてRBF(radical base function )を用いてもよい。また、人物や動物などの生物だけでなく、自動車、航空機、ロボットなどの任意の動く物体を、運動データの計測対象とすることができる。
【0186】
【発明の効果】
本発明によれば、時系列データとして与えられる運動データを符号化することで、運動データを効率的に保存することが可能になる。また、符号化された運動データに対して様々な編集を行い、与えられた運動データとは異なる新しい運動データを生成することもできる。したがって、運動データの再利用性が向上する。
【図面の簡単な説明】
【図1】本発明のデータ変換装置の原理図である。
【図2】運動データの処理過程を示す図である。
【図3】符号化処理の概略フローチャートである。
【図4】第1の運動データを示す図である。
【図5】情報処理装置の構成図である。
【図6】記録媒体を示す図である。
【図7】データ変換装置の構成図である。
【図8】等間隔の3次のB−スプライン関数を示す図である。
【図9】符号化処理の詳細フローチャートである。
【図10】符号化運動データの変換を示す図である。
【図11】編集処理のフローチャートである。
【図12】第2の運動データを示す図である。
【図13】遅延された運動データを示す図である。
【図14】伸張された運動データを示す図である。
【図15】平行移動後の運動データを示す図である。
【図16】拡大された運動データを示す図である。
【図17】第3の運動データを示す図である。
【図18】第1の分割された運動データを示す図である。
【図19】第2の分割された運動データを示す図である。
【図20】第3の分割された運動データを示す図である。
【図21】第4の分割された運動データを示す図である。
【図22】融合した運動データを示す図である。
【符号の説明】
1 近似手段
2 格納手段
3 符号化手段
4 編集手段
5 復元手段
6 出力手段
11 記憶装置
21 CPU
22 メモリ
23 入力装置
24 出力装置
24′ ディスプレイ装置
25 外部記憶装置
26 媒体駆動装置
27 ネットワーク接続装置
28 計測装置
29 バス
30 可搬記録媒体
31 データベース
32 符号化部
33 編集部

Claims (8)

  1. 任意の物体の運動を計測して得られた時系列の運動データを保存し、該運動データを用いた情報処理を行うデータ変換装置であって、
    複数個のサンプリング時刻におけるm次元の運動データの計測値を要素とする行列Yを、重み係数の行列Wと、一定の時間間隔で配置されたB−スプライン関数の該複数個のサンプリング時刻における値を要素とする行列Aとの積の形式で近似表現したとき、該運動データのサンプリング間隔と該B−スプライン関数の時間間隔を用いて行列Aの各要素を設定し、該運動データの計測値を用いて行列Yの各要素を設定して、行列Wを求める近似手段と、
    得られた行列Wを前記運動データの計測値に対応する符号データとして格納する格納手段と
    前記格納手段から前記符号データを取り出し、該符号データを編集して、新たな符号データを生成する編集手段と、
    前記新たな符号データに対応する運動データを復元する復元手段と、
    復元された運動データを用いて仮想的なキャラクターの画像を生成し、出力する出力手段と
    を備えることを特徴とする、コンピュータを用いたデータ変換装置。
  2. 前記近似手段は、行列Yに行列Aの擬似逆行列を乗算して、行列Wを求めることを特徴とする請求項1記載のデータ変換装置。
  3. 前記編集手段は、第1の座標系で記述された前記符号データを第2の座標系で記述された符号データに変換する座標変換手段を含むことを特徴とする請求項記載のデータ変換装置。
  4. 前記編集手段は、運動の開始時刻を遅らせるデータ変換と、運動時間を伸張するデータ変換と、運動時間を短縮するデータ変換のうち、少なくとも一つの変換を行う時間変換手段を含むことを特徴とする請求項記載のデータ変換装置。
  5. 前記編集手段は、前記符号データの平行移動と回転とサイズ変更のうち少なくとも一つのデータ変換を行う空間変換手段を含むことを特徴とする請求項記載のデータ変換装置。
  6. 前記編集手段は、前記符号データの分離と連結と融合のうち少なくとも一つのデータ変換を行う変換手段を含むことを特徴とする請求項記載のデータ変換装置。
  7. 前記編集手段は、前記符号データに含まれる任意の重み係数を変更する係数調節手段を含むことを特徴とする請求項記載のデータ変換装置。
  8. 前記符号化手段による符号化処理と前記編集手段による編集処理のうち少なくとも一方を、グラフィカル・ユーザ・インタフェースを介してユーザとの対話形式で行うインタフェース手段をさらに備えることを特徴とする請求項記載のデータ変換装置。
JP23057797A 1997-08-27 1997-08-27 時系列データの符号化と編集を行うデータ変換装置および方法 Expired - Fee Related JP3735187B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP23057797A JP3735187B2 (ja) 1997-08-27 1997-08-27 時系列データの符号化と編集を行うデータ変換装置および方法
US09/019,301 US6359621B1 (en) 1997-08-27 1998-02-05 Data converting device for encoding and editing time series data and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23057797A JP3735187B2 (ja) 1997-08-27 1997-08-27 時系列データの符号化と編集を行うデータ変換装置および方法

Publications (2)

Publication Number Publication Date
JPH1166043A JPH1166043A (ja) 1999-03-09
JP3735187B2 true JP3735187B2 (ja) 2006-01-18

Family

ID=16909932

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23057797A Expired - Fee Related JP3735187B2 (ja) 1997-08-27 1997-08-27 時系列データの符号化と編集を行うデータ変換装置および方法

Country Status (2)

Country Link
US (1) US6359621B1 (ja)
JP (1) JP3735187B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6181371B1 (en) * 1995-05-30 2001-01-30 Francis J Maguire, Jr. Apparatus for inducing attitudinal head movements for passive virtual reality
JP2001266159A (ja) * 2000-03-17 2001-09-28 Toshiba Corp 物体領域情報生成方法及び物体領域情報生成装置並びに近似多角形生成方法及び近似多角形生成装置
JP4011327B2 (ja) * 2000-11-15 2007-11-21 株式会社レクサー・リサーチ 表示オブジェクト提供装置、表示オブジェクト提供方式及び表示オブジェクト提供プログラム
KR100478721B1 (ko) * 2002-07-15 2005-03-24 한국과학기술원 동작 혼합에 기반한 가상 캐릭터의 온라인 보행 동작생성방법
US7009561B2 (en) * 2003-03-11 2006-03-07 Menache, Llp Radio frequency motion tracking system and method
US7162647B2 (en) * 2004-03-11 2007-01-09 Hitachi, Ltd. Method and apparatus for cryptographic conversion in a data storage system
US7995065B2 (en) * 2005-09-23 2011-08-09 Samsung Electronics Co., Ltd. Animation reproducing apparatus and method
US9569086B2 (en) * 2007-12-12 2017-02-14 Nokia Technologies Oy User interface having realistic physical effects

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2995745B2 (ja) * 1989-03-31 1999-12-27 ソニー株式会社 動き情報抽出装置
US5053760A (en) * 1989-07-17 1991-10-01 The Grass Valley Group, Inc. Graphics path prediction display
US5093907A (en) * 1989-09-25 1992-03-03 Axa Corporation Graphic file directory and spreadsheet
US5347306A (en) * 1993-12-17 1994-09-13 Mitsubishi Electric Research Laboratories, Inc. Animated electronic meeting place

Also Published As

Publication number Publication date
US6359621B1 (en) 2002-03-19
JPH1166043A (ja) 1999-03-09

Similar Documents

Publication Publication Date Title
Boulic et al. Combined direct and inverse kinematic control for articulated figure motion editing
KR101998059B1 (ko) 캐릭터 애니메이션용 모션 리타겟팅 방법 및 장치
Yamane et al. Natural motion animation through constraining and deconstraining at will
US7515155B2 (en) Statistical dynamic modeling method and apparatus
US7307633B2 (en) Statistical dynamic collisions method and apparatus utilizing skin collision points to create a skin collision response
JP3548226B2 (ja) イメージの整合およびモーフィングのための有限要素法
Capell et al. Physically based rigging for deformable characters
Holden et al. Learning an inverse rig mapping for character animation
JP2008238396A (ja) ロボットのモーションの発生及び制御のための装置ならびに方法
JP7490142B2 (ja) 姿勢の脱曖昧化
JP3735187B2 (ja) 時系列データの符号化と編集を行うデータ変換装置および方法
Togawa et al. Position-based keyframe selection for human motion animation
Choi et al. Processing motion capture data to achieve positional accuracy
JPH05298422A (ja) 多関節構造体の動作生成方法
Thalmann et al. Computer animation
Guo et al. Controlling movement using parametric frame space interpolation
JP4358752B2 (ja) 統計力学的衝突の方法と装置
Zhuang et al. A modern approach to intelligent animation: theory and practice
WO2020183962A1 (ja) 情報処理装置、および情報処理方法、並びにプログラム
Menon et al. Perception and Motion Planning for Unknotting/untangling of Ropes of Finite Thickness
Abdulali et al. Haptic Software Design
Chuang et al. Cartoon Animation and Morphing with Wavelet Curve Descriptor
Boulic et al. A comparison of design strategies for 3D human motions
Gibet et al. Models with Biological Relevance to Control Anthropomorphic Limbs: A Survey
Jagersand Model Free View Synthesis of an Articulated Agent

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040810

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040917

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050607

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050706

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050812

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20051018

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051021

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20081028

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20091028

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091028

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101028

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101028

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20111028

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111028

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121028

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121028

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20131028

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees