JP3505360B2 - Animation creation device and recording medium - Google Patents

Animation creation device and recording medium

Info

Publication number
JP3505360B2
JP3505360B2 JP21343697A JP21343697A JP3505360B2 JP 3505360 B2 JP3505360 B2 JP 3505360B2 JP 21343697 A JP21343697 A JP 21343697A JP 21343697 A JP21343697 A JP 21343697A JP 3505360 B2 JP3505360 B2 JP 3505360B2
Authority
JP
Japan
Prior art keywords
stroke
interpolation
input
constraint
animation
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
JP21343697A
Other languages
Japanese (ja)
Other versions
JPH1153569A (en
Inventor
康晋 山内
明 森下
直子 梅木
美和子 土井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP21343697A priority Critical patent/JP3505360B2/en
Priority to US09/038,932 priority patent/US6208360B1/en
Priority to EP98301771A priority patent/EP0865003B1/en
Priority to KR1019980008914A priority patent/KR100339764B1/en
Priority to DE69826167T priority patent/DE69826167T2/en
Publication of JPH1153569A publication Critical patent/JPH1153569A/en
Application granted granted Critical
Publication of JP3505360B2 publication Critical patent/JP3505360B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、例えば、CGアニ
メーションの作成・編集に関する制御を行う装置に関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an apparatus for controlling, for example, creation / editing of CG animation.

【0002】[0002]

【従来の技術】パーソナルコンピュータ(PC)の処理
性能の向上は、PC上でリアルタイムのコンピュータグ
ラフィック・アニメーション(CGアニメーション)を
扱うことを可能にしつつある。これに伴い、PC上で動
作する各種のCGアプリケーションが増加し、一般個人
が、CGコンテンツを作成・鑑賞する機会も増えつつあ
る。そのような機会の増加に伴い、PC上でCGアニメ
ーションを作成するための各種のアプリケーションが考
案されている。
2. Description of the Related Art Improving the processing performance of personal computers (PCs) is making it possible to handle real-time computer graphic animations (CG animations) on PCs. Along with this, the number of various CG applications operating on a PC is increasing, and the number of opportunities for general individuals to create and appreciate CG content is also increasing. With the increase in such opportunities, various applications for creating CG animation on a PC have been devised.

【0003】PC上でCGアニメーションを作成する手
段としては、3次元座標データセットをベースとするも
の(3次元CGアニメーション)と、ビットマップデー
タセットをベースとするもの(2次元CGアニメーショ
ン)がある。
Means for creating a CG animation on a PC include those based on a three-dimensional coordinate data set (three-dimensional CG animation) and those based on a bitmap data set (two-dimensional CG animation). .

【0004】この中で、ビッマップデータセットをベー
スとしてCGアニメーションを作成する場合において
は、各々のシーン毎に対応したビットマップデータセッ
トを用意し、それらのビットマップデータを切り替えな
がら表示することで、CGアニメーションの表示を行
う。表示したい各々の表示オブジェクトに対応した、ス
プライトと呼ばれる複数のビットマップデータを用意
し、それらのスプライトを重ね合わせて表示すること
で、1つのシーンを構成することもある。この場合、各
々のシーン毎にスプライトの表示位置を変更したり、各
々のシーンに対応した複数のスプライトを切り替えなが
ら表示することで、アニメーションの生成を行うことに
なる。
Among these, in the case of creating a CG animation based on a bitmap data set, a bitmap data set corresponding to each scene is prepared, and these bitmap data are displayed while being switched. , Display CG animation. One scene may be configured by preparing a plurality of bitmap data called sprites corresponding to each display object to be displayed and displaying the sprites in an overlapping manner. In this case, an animation is generated by changing the display position of the sprite for each scene or by switching and displaying a plurality of sprites corresponding to each scene.

【0005】2次元CGアニメーションは、ビットマッ
プデータセットから構成されるために、単に絵を描くと
いう操作だけで、各々のシーンを作成することができ
る。そのため、手間さえかければ、誰にでも作成するこ
とができる。また、ビットマップイメージを表示するだ
けなので、アニメーションを再生する際の処理量は、各
シーンの表示オブジェクトの細かさや複雑さ(ビットマ
ップイメージの内容)にし関係なく一定となる。
Since the two-dimensional CG animation is composed of a bitmap data set, each scene can be created by simply drawing a picture. Therefore, anyone can create it as long as it takes time. Further, since only the bitmap image is displayed, the processing amount when the animation is reproduced is constant regardless of the fineness and complexity of the display object of each scene (contents of the bitmap image).

【0006】しかし、ユーザの意図したとおりの複雑な
動きを持った2次元CGアニメーションの作成には、一
枚一枚のビットマップイメージを作成する作業が必要と
なるために、その作成には膨大な手間がかかることにな
る。もちろん、少数のビットマップイメージのみを作成
し、スプライトとして単に動かす、あるいは、切り替え
て表示するだけの2次元CGアニメーションならば、さ
ほどの手間をかけずに作成できるが、結果として、かな
り単純なアニメーションしか表示できないことになる。
However, in order to create a two-dimensional CG animation having a complicated motion as intended by the user, it is necessary to create each bit map image. It will take a lot of trouble. Of course, a two-dimensional CG animation that only creates a small number of bitmap images and moves them as sprites, or switches and displays them can be created without much effort, but as a result, it is a fairly simple animation. Only that can be displayed.

【0007】仮に、膨大なビットマップイメージを作成
できたとしても、すべてのビットマップデータを保存す
るためには、かなりのサイズの記憶装置が必要となる。
そして、それらのデータを効率よく圧縮するには、オブ
ジェクティブMPEG等のエンコード機能を有する専用
のハードウェアも必要となる。
Even if a huge amount of bitmap images can be created, a storage device of a considerable size is required to store all the bitmap data.
To efficiently compress such data, dedicated hardware having an encoding function such as Objective MPEG is also required.

【0008】これに対して、原画像となる一枚のビット
マップイメージを変形させることで、異なるシーンを生
成することができる「ワーピング」と呼ばれる手段があ
る。図28に示すように、ワーピングにおいては、原画
像上にコントロールポイントと呼ばれる制御点を格子状
に配置し、各々のコントロールポイントの位置を変更し
て、コントロールポイントで囲まれた領域に位置してい
るビットマップイメージを、コントロールポイントで囲
まれた領域の変化に合わせて変形することで、新しいシ
ーンを生成することになる。
On the other hand, there is a means called "warping" which can generate different scenes by deforming one bit map image as an original image. As shown in FIG. 28, in warping, control points called control points are arranged in a grid on the original image, the positions of the control points are changed, and the control points are located in the area surrounded by the control points. By transforming the existing bitmap image according to the change of the area surrounded by the control points, a new scene will be generated.

【0009】しかし、ワーピング手段は、あくまでもコ
ントロールポイントで囲まれたメッシュ状の四角形領域
の変形によって新しいシーンを作り出す手段なので、作
り出すことのできるシーンには、かなりの制約が存在す
る。例えば、コントロールポイントの可動範囲は、隣接
したコントロールポイントで囲まれた領域に限定される
ので、図29に示すように、人物像の手に対応したイメ
ージ領域のみを大きく移動させることは極めて困難であ
る。さらに、移動させた手の部分が顔の部分にオーバラ
ップするような場合に、顔に対応したイメージ領域の形
状を元のままに保つことは出来ない。
However, since the warping means is a means for creating a new scene only by deforming a mesh-shaped rectangular area surrounded by control points, there are considerable restrictions on the scenes that can be created. For example, since the movable range of the control points is limited to the area surrounded by the adjacent control points, it is extremely difficult to greatly move only the image area corresponding to the hand of the human figure, as shown in FIG. is there. Further, when the moved hand portion overlaps the face portion, the shape of the image area corresponding to the face cannot be kept as it is.

【0010】これを回避するためには、原画像を手の部
分、顔の部分等の複数のパーツからなるスプライトに分
離されていなければならないが、そのため、既存の一枚
のビットマップ原画像を利用するためには、事前にビッ
トマップ原画像を、複数のスプライトに分割しておく作
業が必要とあり、かなり煩雑な前処理を行わなければな
らない。
In order to avoid this, the original image must be separated into sprites composed of a plurality of parts such as a hand part and a face part. Therefore, one existing bitmap original image is In order to use it, it is necessary to divide the original bitmap image into a plurality of sprites in advance, and it is necessary to perform a considerably complicated preprocessing.

【0011】思い通りのシーンでなくても、とにかく無
理にワーピング処理を行うとしても、手の関節運動のよ
うなCGアニメーションを作成するためには、膨大な数
のコントロールポイントを一つ一つ操作する必要があ
る。その際には、手の形状のバランスを変えない等の保
存されるべき条件を考慮しながら、各々のコントロール
ポイントの位置を移動させる必要があるために、実用的
な手段とは言い難い。
Even if the scene is not exactly the way one desires, even if the warping process is forcibly performed, a huge number of control points are operated one by one in order to create a CG animation like a joint motion of a hand. There is a need. In that case, it is difficult to call it a practical means because it is necessary to move the position of each control point while considering the condition to be saved such as not changing the balance of the shape of the hand.

【0012】「ワーピング」を応用した手段である、
「モーフィング」と呼ばれる手段では、二枚のビットマ
ップイメージの補間イメージを生成することで、異なる
イメージを生成することができる。図30(a)に示す
ように、モーフィングにおいては、2枚のビットマップ
イメージのそれぞれに、双方のビットマップイメージの
対応し合う位置関係を示すためのコントロールポイント
を指定する必要がある。図30(b)においては、シー
ンAとシーンBの手の位置を対応づけるコントロールポ
イントa1、b1を指定しているが、コントロールポイ
ントa1とb1を結んだ直線上に内分点m1を決定し、
シーンAではa1→m1、シーンBにおいてはb1→m
1にコントロールポイントを変更した上で、ワーピング
処理を施すことで、双方のシーンの手の位置をほぼ同じ
位置に移動させることができる。そして、生成された2
つのワーピング・シーンを、適切な比率でブレンドする
ことによって、自動的に補間シーンを生成することが可
能となる。
A means to which "warping" is applied,
A method called "morphing" can generate different images by generating an interpolated image of two bitmap images. As shown in FIG. 30A, in morphing, it is necessary to specify a control point for each of the two bitmap images so as to indicate the corresponding positional relationship between the two bitmap images. In FIG. 30 (b), the control points a1 and b1 that correlate the hand positions of the scene A and the scene B are designated, but the interior division point m1 is determined on the straight line connecting the control points a1 and b1. ,
A1 → m1 in scene A, b1 → m in scene B
By changing the control point to 1 and then performing the warping process, the positions of the hands of both scenes can be moved to almost the same position. And the generated 2
By blending two warping scenes at an appropriate ratio, it is possible to automatically generate an interpolated scene.

【0013】ここで、内分点m1をa1→b1の直線上
に沿って、少しづつ移動させながら中間シーンを作成し
て連続表示すると、それがシーンAからシーンBに向か
って変化するCGアニメーションとなる。
Here, when an intermediate scene is created and continuously displayed while moving the interior division point m1 along the straight line a1 → b1 little by little, the CG animation changes from scene A to scene B. Becomes

【0014】しかし、モーフィング手段は、あくまでも
ワーピング手段を応用したものなので、作り出すことの
できるシーンには、ワーピング手段と同様の制約が存在
する。例えば、ワーピング手段におけるコントロールポ
イントの可動範囲の制約から、手を広げているシーンと
手を交差させているシーンをモーフィングさせたとして
も、自然なアニメーションを生成することはできない。
さらに、2枚の画像間で、同じ位置を示すコントロール
ポイントを、必ず1対1に対応して設定する必要がある
ので、多数のコントロールを設定した場合になどには、
その対応関係を把握するだけでも、かなりの手間になっ
てしまう。
However, since the morphing means is an application of the warping means to the last, there are restrictions similar to those of the warping means in the scenes that can be created. For example, due to the restriction of the movable range of the control point in the warping means, even if the scene where the hand is opened and the scene where the hand is crossed are morphed, a natural animation cannot be generated.
Furthermore, it is necessary to set the control points indicating the same position between the two images in a one-to-one correspondence, so when setting a large number of controls, etc.
Even just grasping the correspondences would be quite troublesome.

【0015】さらに、他の関節運動のようなCGアニメ
ーションを作成するためには、手の曲がり具合だけが異
なる、2つのビットマップイメージを用意して、双方の
ビットマップイメージの位置関係をコントロールポイン
トとして指定するという操作を行う必要もある上に、自
然なアニメーションを実現するためには、かなりの数の
コントロールポイントを1つ1つ指定する必要があるた
めに、実用的な手段とは言い難い。
Further, in order to create a CG animation like another joint motion, two bitmap images differing only in the degree of hand bending are prepared, and the positional relationship between the two bitmap images is controlled. It is difficult to say that it is a practical means because it is necessary to specify a considerable number of control points one by one in order to realize a natural animation in addition to the operation of specifying .

【0016】誰もが、直感的かつ簡便な操作だけで、C
Gアニメーションを生成するためには、1枚のビットマ
ップ画像から、あらゆる動きを有するアニメーションを
生成する手段が望まれるが、前述したように、ビットマ
ップデータセットをベースとする、従来のCGアニメー
ション作成手段では、このような要求を満たすことはで
きなかった。
Anyone can use the intuitive and simple operation
In order to generate a G animation, a means for generating an animation having all motions from one bitmap image is desired, but as described above, conventional CG animation creation based on a bitmap data set. Means could not meet such demands.

【0017】[0017]

【発明が解決しようとする課題】以上述べたように、ビ
ットマップデータセットをベースとする、従来のCGア
ニメーション作成装置では、原画像となる一枚のビット
マップ画像、あるいは、原画像を構成する一枚のスプラ
イトとしてのビットマップ画像に、直感的かつ簡便な操
作を行うだけで、任意の動きを有するCGアニメーショ
ンを生成することはできなかった。
As described above, in the conventional CG animation creating apparatus based on the bitmap data set, one bitmap image serving as the original image or the original image is constructed. It was not possible to generate a CG animation having an arbitrary motion only by performing an intuitive and simple operation on a bitmap image as one sprite.

【0018】いま、人間の手の関節運動を行うCGアニ
メーションを作成する場合を考えてみる。3次元CGア
ニメーションをベースとする手法では、手の形状を表す
3次元座標データをセットした人体モデル(スケルトン
モデル)を作成し、動きは、各関節角についてインバー
ス・キネマティクス(逆動力学)という逆演算を計算す
ることで生成していた。これらの処理は非常に負荷が重
く、リアルタイム処理を求めるインタラクティブなアニ
メーションは不可能であった。
Now, let us consider the case of creating a CG animation that performs joint motion of a human hand. In the method based on 3D CG animation, a human body model (skeleton model) in which 3D coordinate data representing the shape of a hand is set is created, and the motion is called inverse kinematics (inverse dynamics) for each joint angle. It was generated by calculating the inverse operation. These processes are very heavy, and interactive animation that requires real-time processing was impossible.

【0019】上記のような動きをビットマップ・データ
セットをベースにして、手の動きを表現するストローク
ベースのアニメーションを行うとすると、全体形状が保
存されないため、不自然な伸び縮みを伴うアニメーショ
ンとなってしまう。このような人間が日頃目にしている
題材(手の運動)を対象にアニメーションを作成しよう
とした場合、これは奇妙に映る。
If a stroke-based animation for expressing the movement of the hand is performed based on the above-mentioned movement based on the bitmap data set, the whole shape is not saved, so that the animation is unnatural. turn into. If you try to create an animation for a subject (hand movement) that these humans usually see, this looks strange.

【0020】一方、アニメーションのキーフレームを小
刻みにとれば、上で述べたような不自然さは、目立たな
くなるが、それらしく見せるためのキーフレーム設定ノ
ウハウや、アニメーション作成過程が増えることにな
り、直感的な操作でアニメーションを作成することがで
きなくなる。また、始点ストロークおよび終点ストロー
クを定義して、その間の補間ストロークの生成は、自動
的に行うようにすると、複雑なアニメーションを表現す
るためには満足のいくものではなかった。
On the other hand, if the keyframes of the animation are broken into small pieces, the above-mentioned unnaturalness becomes inconspicuous, but the keyframe setting know-how to make it look like that and the animation creation process increase. You will not be able to create animations with intuitive operations. In addition, if a start point stroke and an end point stroke are defined and an interpolation stroke between them is automatically generated, it is not satisfactory for expressing a complicated animation.

【0021】従来、レンジファインダなどの測距デバイ
スを使って取得した3次元形状データを格子状に画面に
表示すると、格子の空間的な粗密の関係から、形状の凸
凹を認識することが出来た。しかし、これは、形状の把
握が目的であり、格子状態を時間的に変化させること
で、アニメーションを作成するような用途は考えられて
いない。
Conventionally, when three-dimensional shape data obtained by using a distance measuring device such as a range finder is displayed on a screen in a grid pattern, the unevenness of the shape can be recognized from the spatial density of the grid. . However, this is for the purpose of grasping the shape, and the use of creating animation by changing the lattice state with time is not considered.

【0022】また、キーフレーム間のストローク状態
を、時間的、空間的に制御することは、不可能であった
ため、アニメーション形状はかなり制約されたものとな
っていた。特にストロークに割り付けられたビットマッ
プイメージのマッピング方法を、ストロークの形状、及
び位置に応じて変えるということはできなかった。
Further, since it is impossible to control the stroke state between key frames temporally and spatially, the animation shape is considerably restricted. In particular, the mapping method of the bitmap image assigned to the stroke cannot be changed according to the shape and position of the stroke.

【0023】そこで、本発明は、上記問題点に鑑み、原
画像となる1枚のビットマップ画像、あるいは、原画像
を構成する1枚のスプライトとしてのビットマップ画像
に、対象となるビットマップ画像の一連の動きを表現す
るストロークを入力するという、直感的かつ簡便な操作
を行うだけで、任意の動きを有するアニメーションを容
易に生成できるアニメーション作成装置を提供すること
を目的とする。
In view of the above problems, the present invention provides a target bitmap image for one bitmap image serving as an original image or one sprite bitmap image forming the original image. It is an object of the present invention to provide an animation creating apparatus that can easily generate an animation having an arbitrary motion only by performing an intuitive and simple operation of inputting a stroke that expresses a series of motions.

【0024】また、キーフレーム間の補間ストローク形
状、およびそれに応じたビットマップ・イメージのマッ
ピングを時間的、空間的に変化させることで、3次元的
な画像効果を伴うような表現力の高いアニメーションを
作成することができるアニメーション作成装置を提供す
ることを目的とする。
Also, by changing the interpolation stroke shape between key frames and the mapping of the bitmap image according to it in time and space, a highly expressive animation accompanied by a three-dimensional image effect. It is an object of the present invention to provide an animation creating device capable of creating an animation.

【0025】[0025]

【課題を解決するための手段】本発明のアニメーション
作成装置は、複数のフレーム画像間を補間する画像を生
成することによりアニメーションを作成するアニメーシ
ョン作成装置であって、前記フレーム画像のそれぞれに
1または複数のストロークを入力する第1の入力手段
と、この第1の入力手段で入力されたストロークを前記
複数のフレーム画像間で補間する際のストロークの変化
形状の制約情報(例えば、制約ストローク、制約関数)
を入力する第2の入力手段と、前記複数のフレーム画像
間で前記第1の入力手段で入力されたストロークを補間
する際の補間位置と前記制約情報と前記第1の入力手段
で入力されたストロークとに基づき補間ストロークを生
成する生成手段と、を具備したことにより、入力された
キーストローク間の補間ストロークをその両端点の位置
を規定する制約ストロークに基づいて生成するので、キ
ーストロークおよびその近傍の全体形状を保存して、自
然な動きを有するアニメーションが容易に生成できる。
Animation of the present invention
The creation device is an animation creation device that creates an animation by creating an image that interpolates between a plurality of frame images, and a first input unit that inputs one or a plurality of strokes to each of the frame images, Constraint information (e.g., constraint stroke, constraint function) of the stroke change shape when the stroke input by the first input means is interpolated between the plurality of frame images.
A second input unit for inputting a stroke, an interpolation position for interpolating a stroke input by the first input unit between the plurality of frame images, the constraint information, and the first input unit. And a generating means for generating an interpolation stroke based on the stroke and the keystroke and the keystroke because the interpolation stroke between the input keystrokes is generated based on the constrained stroke that defines the positions of both end points thereof. By saving the entire shape of the neighborhood, animations with natural movement can be easily generated.

【0026】また、本発明のアニメーション作成装置
は、複数のフレーム画像間を補間する画像を生成するこ
とによりアニメーションを作成するアニメーション作成
装置であって、前記フレーム画像のそれぞれに1または
複数のストロークを入力する第1の入力手段と、前記複
数のフレーム画像間で対応付けられた前記第1の入力手
段で入力されたストロークのそれぞれを所定の長さの単
位ベクトルに量子化する量子化手段と、前記第1の入力
手段で入力されたストロークを前記複数のフレーム画像
間で補間する際のストロークの変化形状を制約する制約
条件を入力する第2の入力手段と、前記対応付けられた
ストローク間を補間する際の補間位置と前記制約情報と
前記対応付けられたストロークの対応する単位ベクトル
とに基づき補間ベクトルを生成し、その生成された補間
ベクトルに基づき前記対応付けられたストローク間を補
間する補間ストロークを生成する生成手段と、を具備し
たことにより、生成される補間ストロークを制約関数を
用いて変形して、例えば、もりあがりや凹凸といった3
次元的な視覚効果を促すアニメーションを容易に生成す
ることができる。
Also, the animation creating apparatus of the present invention
Is an animation creating apparatus for creating an animation by creating an image that interpolates between a plurality of frame images, the first creating means inputting one or a plurality of strokes to each of the frame images; Quantizing means for quantizing each of the strokes input by the first input means associated with each other between the frame images into a unit vector of a predetermined length, and the stroke input by the first input means. Second input means for inputting a constraint condition for constraining a change shape of a stroke when interpolating between the plurality of frame images, an interpolation position for interpolating between the associated strokes, and the constraint information. An interpolation vector is generated based on the corresponding unit vector of the associated stroke, and based on the generated interpolation vector Generating means for generating an interpolated strokes interpolating between serial associated stroke, by provided with the, deforms with constraint function interpolation stroke produced, for example, 3 such swelling and uneven
It is possible to easily generate an animation that promotes a three-dimensional visual effect.

【0027】さらに、本発明のアニメーション作成装置
、前記第1の入力手段で入力されたストローク近傍の
領域の画像を前記生成手段で生成された補間ストローク
の位置および形状に応じて、移動あるいは変形、あるい
は移動および変形して前記フレーム画像に合成すること
により前記フレーム画像間を補間する画像を生成する補
間画像生成手段をさらに具備したことにより、入力され
たキーストローク間の補間ストロークをその両端点の位
置を規定する制約ストロークに基づいて生成するので、
キーストロークおよびその近傍の全体形状を保存して、
自然な動きを有するアニメーションが容易に生成でき
る。また、生成される補間ストロークを制約関数を用い
て変形して、例えば、もりあがりや凹凸といった3次元
的な視覚効果を促すアニメーションを容易に生成するこ
とができる。また、切り出されたストローク近傍の画像
を補間ストロークにマッピングする際に変形、ぼかし等
の処理を施すことで、特殊な映像効果を持たせた表現力
のあるアニメーションも容易に作成することができる。
Furthermore, the animation creating apparatus of the present invention
Is moved or deformed, or moved and deformed, in accordance with the position and shape of the interpolation stroke generated by the generation means, into an image of the region near the stroke input by the first input means to form the frame image. By further comprising interpolation image generation means for generating an image that interpolates between the frame images by synthesizing, an interpolation stroke between input keystrokes is generated based on a constraint stroke that defines the positions of both end points thereof. Because
Save the keystroke and the entire shape around it,
Animations with natural movements can be easily generated. In addition, the generated interpolation stroke can be transformed using a constraint function to easily generate an animation that promotes a three-dimensional visual effect such as rising and unevenness. In addition, when an image near the cut out stroke is mapped to an interpolation stroke, by performing processing such as deformation and blurring, it is possible to easily create an expressive animation having a special video effect.

【0028】[0028]

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

【0029】(第1の実施形態)まず、線画(複数のス
トロークと呼ばれる線分から構成される画像)のアニメ
ーションを作成する場合について説明する。
(First Embodiment) First, the case of creating an animation of a line drawing (an image composed of a plurality of line segments called a plurality of strokes) will be described.

【0030】図1は、本発明の第1の実施形態に係るア
ニメーション作成装置の構成例を概略的に示したもので
ある。図1に示すように、アニメーション作成装置は、
キーフレームに登録するストロークの入力等を行うキー
ストローク入力手段1と、ストロークを任意の長さの単
位ベクトルに分解(量子化)するキーストローク量子化
手段2と、単位ベクトルを記憶する単位ベクトル記憶手
段3と、キーストローク入力手段1にて入力されたキー
ストロークをキーフレーム間で補間するために生成され
る補間ストロークの変形を制約する制約ストロークを入
力するための制約ストローク入力手段4と、キーフレー
ム間を補間する補間フレーム数を入力するための補間フ
レーム数入力手段5と、制約ストロークを補間フレーム
数と同じ数だけの単位ベクトルに分解(量子化)する制
約ストローク量子化手段5と、キーストロークの単位ベ
クトルと制約ストロークの単位ベクトルに基づきキーフ
レーム間を補間する補間ベクトルを生成する補間ベクト
ル生成手段7と、生成されたアニメーション等を所定の
表示装置に表示する画像提示手段8とから構成される。
FIG. 1 schematically shows a configuration example of an animation creating apparatus according to the first embodiment of the present invention. As shown in FIG. 1, the animation creation device
A keystroke input means 1 for inputting a stroke to be registered in a keyframe, a keystroke quantization means 2 for decomposing (quantizing) a stroke into a unit vector of an arbitrary length, and a unit vector storage for storing the unit vector. Means 3, constraint stroke input means 4 for inputting a constraint stroke that constrains deformation of an interpolation stroke generated for interpolating the keystroke input by the keystroke input means 1 between keyframes, and a key Interpolation frame number input means 5 for inputting the number of interpolation frames for interpolating between frames, constraint stroke quantization means 5 for decomposing (quantizing) constraint strokes into the same number of unit vectors as the number of interpolation frames, and a key Interpolate between keyframes based on stroke unit vector and constraint stroke unit vector An interpolation vector generation means 7 for generating an interpolation vector, and the generated animation, etc. from the image presentation means 8 which is displayed on a predetermined display device.

【0031】ここで、以下の説明において用いる用語の
説明を行う。
Here, terms used in the following description will be explained.

【0032】キーフレームとは、ユーザがキーストロー
ク入力手段1を介して動きの変化をキーストロークとし
て入力した線画(アニメーションの骨格をなす(曲)線
分から構成される)である。
A key frame is a line drawing (consisting of (curved) line segments forming the skeleton of an animation) which the user has input as a key stroke of a change in movement through the key stroke input means 1.

【0033】補間フレームとは、キーフレーム間に補間
されるフレーム画像である。
The interpolation frame is a frame image interpolated between key frames.

【0034】補間ストロークとは、キーストロークをキ
ーフレーム間で補間する際に補間ベクトル生成手段7で
生成された補間ベクトルから構成されるストロークであ
る。
The interpolation stroke is a stroke composed of the interpolation vector generated by the interpolation vector generating means 7 when the key stroke is interpolated between the key frames.

【0035】再生間隔とは、補間フレーム間の再生時間
間隔である。
The reproduction interval is a reproduction time interval between interpolation frames.

【0036】このような構成により、キーストローク入
力手段1で各キーフレームに動きの変化を示すキースト
ロークを入力し、制約ストローク入力手段4を介して補
間ストロークの変形を制約する制約ストロークが入力さ
れると、キーストロークと制約ストロークに基づきキー
フレーム間を補間する補間ストロークを生成することに
より、アニメーションを作成するようになっている。
With such a configuration, the keystroke input means 1 inputs a keystroke indicating a change in movement to each key frame, and the constrained stroke input means 4 inputs a constrained stroke for constraining the deformation of the interpolation stroke. Then, an animation is created by generating an interpolation stroke that interpolates between key frames based on the key stroke and the constraint stroke.

【0037】次に、図1のアニメーション作成装置の処
理動作について、図2〜図5を参照して説明する。
Next, the processing operation of the animation creating apparatus of FIG. 1 will be described with reference to FIGS.

【0038】図2〜図5は、図1のアニメーション作成
装置の全体の処理動作を示したフローチャートである。
2 to 5 are flowcharts showing the overall processing operation of the animation creating apparatus of FIG.

【0039】まず、キーフレーム番号i(i=0〜
n)、補間フレーム数f、再生間隔tの初期化を行って
(ステップS1)、入力待ち状態に移行する(ステップ
S2)。このとき、ユーザは、画像の読込指示(ステッ
プS3)、キーストロークの入力の指示(ステップS
4)、制約ストロークの入力指示(ステップS5)、ア
ニメーションの再生指示(ステップS6)、補間フレー
ム数入力手段5を介しての補間フレーム数fの指示(ス
テップS7)、終了指示(ステップS8)、その他の処
理の指示(ステップS9)が行える。
First, the key frame number i (i = 0 to 0)
n), the number of interpolated frames f and the reproduction interval t are initialized (step S1), and the state shifts to the input waiting state (step S2). At this time, the user gives an image reading instruction (step S3) and a keystroke input instruction (step S3).
4), constraint stroke input instruction (step S5), animation playback instruction (step S6), interpolation frame number f instruction via interpolation frame number input means 5 (step S7), end instruction (step S8), Other processing instructions (step S9) can be given.

【0040】ユーザがキーストロークの入力指示を行っ
た場合(ステップS4)について、図3に示すフローチ
ャートを参照して説明する。
The case where the user gives a keystroke input instruction (step S4) will be described with reference to the flowchart shown in FIG.

【0041】まず、i=0番目のキーフレームに対する
指示であるなら(ステップS21)、そのキーフレーム
に入力されるストローク番号jを初期化する(ステップ
S22)。ストローク番号は、ユーザにより入力される
複数のストロークを識別するための識別子である。
First, if the instruction is for the i = 0th key frame (step S21), the stroke number j input to the key frame is initialized (step S22). The stroke number is an identifier for identifying a plurality of strokes input by the user.

【0042】ユーザは、キーストローク入力手段1のユ
ーザインターフェイスを介して、例えば、マウス、タブ
レットなどを使い、用意したビットマップイメージ上の
アニメーションを行わせたい部分に骨格にあたるストロ
ーク(曲線)を描くことで所望のストロークを次々入力
し、その都度、各ストロークにはストローク番号が付さ
れる(ステップS23〜ステップS24)。
The user draws a stroke (curve) corresponding to the skeleton at a portion on the prepared bitmap image to be animated, using a mouse, a tablet or the like via the user interface of the keystroke input means 1. Then, desired strokes are input one after another, and each time a stroke number is attached to each stroke (step S23 to step S24).

【0043】1キーフレームのキーストローク入力が終
了すると(ステップS24)、キーストローク量子化手
段2で入力された各キーストロークを一定の長さの単位
ベクトルに分解(量子化)する(ステップS25)。例
えば、図6(a)に示すようにキーフレーム番号i=0
のキーフレーム(第1のキーフレーム)に登録されたキ
ーストローク21をキーストローク量子化手段2で量子
化すると、図6(b)に示すように単位ベクトル23a
〜23cが生成される。
When the keystroke input for one keyframe is completed (step S24), each keystroke input by the keystroke quantization means 2 is decomposed (quantized) into a unit vector of a fixed length (step S25). . For example, as shown in FIG. 6A, the key frame number i = 0
When the keystroke quantization means 2 quantizes the keystroke 21 registered in the keyframe (first keyframe) of the unit vector 23a, a unit vector 23a is generated as shown in FIG. 6B.
~ 23c is generated.

【0044】キーストローク量子化手段2で生成された
キーストロークの単位ベクトルは単位ベクトル記憶手段
3に記憶される(ステップS26)。単位ベクトル記憶
手段3には、例えば図7に示すように、各キーフレーム
毎に、そのキーフレームの識別子であるキーフレーム番
号(i)、そのキーフレームに入力されたストロークの
識別子であるストローク番号(j)、そのストロークの
単位ベクトルの識別子(Vjhi、h=1、2、3…)
を要素とする配列として格納される。単位ベクトル識別
子は、ストローク描画開始端点から順に番号h(=1、
2、3…)を付しておく。
The unit vector of the keystroke generated by the keystroke quantization means 2 is stored in the unit vector storage means 3 (step S26). In the unit vector storage means 3, for example, as shown in FIG. 7, for each key frame, a key frame number (i) which is an identifier of the key frame, and a stroke number which is an identifier of a stroke input to the key frame. (J), the identifier of the unit vector of the stroke (Vjhi, h = 1, 2, 3, ...)
It is stored as an array whose elements are. The unit vector identifiers are numbers h (= 1, 1,
2, 3, ...)

【0045】キーフレーム番号i=0以降のキーフレー
ムについてストローク入力を行う場合(ステップS2
1)、すなわち、キーフレーム番号i=0上に登録され
た各キーストロークを変形させるためのキーストローク
を入力する場合、まず、ストローク表示番号kの初期化
を行うとともに、キーフレーム番号iを1つインクリメ
ントして、例えば、キーフレーム番号i=1のキーフレ
ーム(第2のキーフレーム)のキーストロークの入力待
ちとなる(ステップS28)。そして、その1つ前のキ
ーフレーム番号(i−1)のキーフレーム(この場合、
キーフレーム番号i=0のキーフレーム(第1のキーフ
レーム))を所定の表示装置に表示する。このとき、第
1のキーフレームに描かれた各ストロークに付されたス
トローク番号をストローク表示番号kとする。第1のキ
ーフレーム上のストローク表示番号kのキーストローク
に対応する第2のキーフレーク上のキーストロークの入
力のを際には、そのk番目のキーストロークの表示色を
変えたり、点滅表示するなどして、ユーザに対し、第1
のキーフレームのk番目のキーストロークに対応する第
2のキーフレームのキーストロークの入力を促す(ステ
ップS29)。ユーザは、例えば、図6(a)に示すよ
うに、第1のキーフレームのキーストローク21に対応
する第2のキーフレームのキーストローク22を入力す
る(ステップS30)。このとき、第1のキーフレーム
のk番目のキーストロークに対応する第2のキーフレー
ムのキーストロークが複数個あってもよい。ユーザによ
り、第2のキーフレームに第1のキーフレームのk番目
のキーストロークに対応するキーストロークの入力の終
了が指示されると(ステップS31)、第1のキーフレ
ーム上の次の表示番号k+1のキーストロークが強調表
示されて、ユーザに対し、第1のキーフレームのk+1
番目のキーストロークに対応する第2のキーフレームの
キーストロークの入力を促すとともに、先のキーストロ
ーク(すなわち、k番目のストローク)のキーストロー
クに対応して入力された第2のキーフレームのキースト
ロークをキーストローク量子化手段2で単位ベクトルに
分割し(図6(b)参照)、単位ベクトル記憶手段3に
記憶する(ステップS32)。
When stroke input is performed with respect to keyframes after the keyframe number i = 0 (step S2)
1) That is, when inputting a keystroke for transforming each keystroke registered on the keyframe number i = 0, first, the stroke display number k is initialized and the keyframe number i is set to 1 The number is incremented by one and, for example, a keystroke of the keyframe with the keyframe number i = 1 (second keyframe) is awaited (step S28). Then, the key frame of the key frame number (i-1) immediately before that (in this case,
The key frame with the key frame number i = 0 (first key frame) is displayed on a predetermined display device. At this time, the stroke number given to each stroke drawn on the first key frame is set as the stroke display number k. When the keystroke on the second keyflake corresponding to the keystroke of the stroke display number k on the first keyframe is input, the display color of the kth keystroke is changed or blinking is displayed. For example,
The input of the keystroke of the second keyframe corresponding to the kth keystroke of the keyframe is prompted (step S29). The user inputs the keystroke 22 of the second keyframe corresponding to the keystroke 21 of the first keyframe, for example, as shown in FIG. 6A (step S30). At this time, there may be a plurality of keystrokes of the second keyframe corresponding to the kth keystroke of the first keyframe. When the user instructs the second keyframe to end the input of the keystroke corresponding to the kth keystroke of the first keyframe (step S31), the next display number on the first keyframe is displayed. The k + 1 keystrokes are highlighted to prompt the user for k + 1 of the first keyframe.
The keystroke of the second keyframe corresponding to the th keystroke is prompted, and the key of the second keyframe input corresponding to the keystroke of the previous keystroke (that is, the kth stroke). The stroke is divided into unit vectors by the keystroke quantization means 2 (see FIG. 6B) and stored in the unit vector storage means 3 (step S32).

【0046】第1のキーフレームのキーストロークに対
応する第2のキーフレームのキーストロークの単位ベク
トルは、図7に示すように、例えば、第1のキーフレー
ムのj=1のキーストロークの単位ベクトルの配列の最
後に飛び先アドレス「p1」が追加されて、アドレス
「p1」からキーフレーム番号(i=1)、ストローク
番号(j=1)、単位ベクトル識別子(Vjhi、h=
1、2、3…)を要素とする配列として格納される。
The unit vector of the keystroke of the second keyframe corresponding to the keystroke of the first keyframe is, for example, as shown in FIG. 7, the unit of the keystroke j = 1 of the first keyframe. A jump destination address "p1" is added to the end of the vector array, and a key frame number (i = 1), a stroke number (j = 1), a unit vector identifier (Vjhi, h =) from the address "p1".
(1, 2, 3, ...) are stored as an array having elements as elements.

【0047】第1のキーフレーム上に描かれた全てのキ
ーストロークに対し、上記ステップS29〜ステップS
32の処理を繰り返す(ステップS33)。
For all the keystrokes drawn on the first keyframe, the steps S29 to S are executed.
The process of 32 is repeated (step S33).

【0048】次に、ユーザが制約ストロークの入力指示
を行った場合(ステップS5)について、図4に示すフ
ローチャートを参照して説明する。
Next, a case where the user gives an instruction to input a restricted stroke (step S5) will be described with reference to the flowchart shown in FIG.

【0049】制約ストローク入力手段4は、キーストロ
ーク入力手段1で入力されたキーストロークが変形して
いく際の制約を表すストロークを入力するためのもので
あり、例えば、キーストロークの端点を沿わせたい経路
に沿って、ビットマップイメージ上にストロークを描く
ことで入力する。
The constraint stroke input means 4 is for inputting a stroke representing a constraint when the keystroke input by the keystroke input means 1 is deformed. For example, the end points of the keystroke are set along the stroke. Input by drawing strokes on the bitmap image along the desired path.

【0050】まず、キーフレームが1つしかない場合に
ついて、制約ストロークの入力を示す(I=0)。第1
のキーフレームに登録されているキーストロークが所定
の表示装置に表示されて、制約ストロークの入力待ちと
なる(ステップS41)。制約ストロークが入力される
度に各制約ストロークには制約ストローク番号gが付さ
れる(ステップS42〜ステップS43)。gが1つイ
ンクリメントされて、次のキーストロークが順次強調表
示されて制約ストロークの入力が促される。ここで、全
てのキーストロークに対する制約ストロークの入力の終
了が指示がなされると、制約ストローク量子化手段6で
は、補間フレーム数入力手段5を介して指定された補間
フレーム数fと同じ数の単位ベクトルに各制約ストロー
クを量子化し、制約ストロークの単位ベクトルを記憶す
る(ステップS44〜ステップS45)。
First, in the case where there is only one key frame, input of a constraint stroke is shown (I = 0). First
The keystroke registered in the keyframe is displayed on a predetermined display device, and the input of a constraint stroke is awaited (step S41). Each time a constraint stroke is input, a constraint stroke number g is attached to each constraint stroke (steps S42 to S43). g is incremented by 1 and the next keystroke is sequentially highlighted to prompt the input of a constraint stroke. Here, when an instruction is given to end the input of the constraint strokes for all the keystrokes, the constraint stroke quantization unit 6 has the same number of units as the interpolation frame number f designated via the interpolation frame number input unit 5. Each constraint stroke is quantized into a vector and the unit vector of the constraint stroke is stored (step S44 to step S45).

【0051】次に、キーフレームが複数ある場合につい
て、制約ストロークの入力を示す(ステップS41)。
ストローク表示番号kの初期化を行い(ステップS4
6)、1つ前のキーフレームと現キーフレームの最初の
対応関係にあるキーストロークが所定の表示装置に表示
される。ここで、表示された対応関係にあるキーストロ
ークに対し、制約ストロークの入力待ちとなる(ステッ
プS47)。ユーザは、この最初の対応関係にあるキー
ストロークに対して制約ストロークを入力すると、kが
1つインクリメントされて、次の対応関係にあるキース
トロークが順次強調表示され、このキーストロークに対
する制約ストロークの入力が促される(ステップS48
〜ステップS49)。全ての対応関係にあるキーストロ
ークへの制約ストロークの入力の終了が指示がなされる
と、制約ストローク量子化手段6では、補間フレーム数
入力手段5を介して指定された補間フレーム数fと同じ
数の単位ベクトルに各制約ストロークを量子化して、制
約ストロークの単位ベクトルを記憶する(ステップS5
0)。
Next, in the case where there are a plurality of key frames, the input of the constraint stroke is shown (step S41).
The stroke display number k is initialized (step S4
6) The keystroke having the first correspondence between the previous key frame and the current key frame is displayed on a predetermined display device. Here, the input of a restricted stroke is awaited for the displayed key strokes in the corresponding relationship (step S47). When the user inputs a constrained stroke for the keystroke having the first correspondence, k is incremented by 1, and the keystrokes having the next correspondence are sequentially highlighted. Input is prompted (step S48)
-Step S49). When it is instructed to finish inputting the constraint strokes to all the keystrokes having the corresponding relationship, the constraint stroke quantizing means 6 causes the same number as the interpolation frame number f designated through the interpolation frame number input means 5. Quantize each constraint stroke into the unit vector of (1) and store the unit vector of the constraint stroke (step S5).
0).

【0052】次に、ユーザがアニメーションの再生指示
を行った場合(ステップS6)、すなわち、補間フレー
ムの生成について、図5に示すフローチャートを参照し
て説明する。
Next, the case where the user gives an instruction to reproduce the animation (step S6), that is, the generation of the interpolation frame will be described with reference to the flowchart shown in FIG.

【0053】補間フレームを生成するために用いるキー
フレームの番号s、生成する処理対象の補間フレームの
番号t、処理対象のキーストロークの番号u等を初期化
する(ステップS61)。そして、前述の例にならえ
ば、第1および第2のキーフレームに登録された対応関
係にあるキーストロークの単位ベクトルをキーストロー
ク番号の若いものから順に単位ベクトル記憶手段3から
取り出して補間ベクトストロークを順次生成していく
(ステップS62)。
The number s of the key frame used to generate the interpolation frame, the number t of the interpolation frame to be generated, the number u of the key stroke to be processed, etc. are initialized (step S61). Then, according to the above-mentioned example, the unit vectors of the keystrokes having the corresponding relationships registered in the first and second keyframes are taken out from the unit vector storage means 3 in order from the smallest keystroke number, and the interpolated vector strokes are obtained. Are sequentially generated (step S62).

【0054】まず、制約ストロークを第1のキーフレー
ムから第2のキーフレームまでに各キーストロークの端
点が、アニメーション過程で通る軌跡として定義した場
合の補間ベクトル生成手段7における補間ベクトルの生
成手順について、図8、図9を参照して説明する。
First, regarding the procedure for generating the interpolation vector in the interpolation vector generation means 7 when the constrained stroke is defined as the trajectory through which the end points of each keystroke from the first key frame to the second key frame pass in the animation process. , FIG. 8 and FIG. 9.

【0055】図8(a)に示すように、第1のキーフレ
ームのキーストローク(第1のキーストローク)31
と、それに対応する第2のキーフレームのキーストロー
ク(第2のキーストローク)32とがあり、キーストロ
ーク31と32の補間ストロークを生成する際の制約ス
トロークが、それぞれの端点同士を結ぶ制約ストローク
33、34にて示されているとする。
As shown in FIG. 8A, the keystroke (first keystroke) 31 of the first keyframe 31
And a keystroke (second keystroke) 32 of the second keyframe corresponding thereto, and the constraint stroke at the time of generating the interpolation stroke of the keystrokes 31 and 32 is the constraint stroke connecting the respective end points. It is assumed that these are indicated by 33 and 34.

【0056】このとき、制約ストローク量子化手段6で
生成された制約ストローク単位ベクトルを、第1および
第2のキーストローク端点より、順次つなぎ合わせるこ
とにより、補間ストロークの端点位置を定義する(ステ
ップS63)。すなわち、図8(b)に示すように、補
間フレーム数入力手段5から入力された補間フレーム数
fが「2」であるとき、制約ストローク33、34のそ
れぞれの端点間をf+1=3等分して制約ストロークを
量子化する。2つの補間ストロークのうち、第1の補間
ストロークの端点は、制約ストローク33、34をそれ
ぞれ第1のキーストローク31の端点から1対2に内分
する点35a、36aとなり、第2の補間ストロークの
端点は制約ストローク33、34を第1のキーストロー
ク31の端点から2対1に内分する点35b、36bと
なる。ここで、第1のキーストローク31の始点と終点
を結び第1のキーストロークのベースライン37とし、
第1の補間ストロークの端点35a、36aとを結び第
1の補間ストロークのベースラインとし、第2の補間ス
トロークの端点35b、36bとを結び第2の補間スト
ロークのベースラインとし、第2のキーストローク32
の始点と終点とを結び第2のキーストロークのベースラ
インとする。
At this time, the end point position of the interpolation stroke is defined by sequentially connecting the restricted stroke unit vectors generated by the restricted stroke quantization means 6 from the first and second keystroke end points (step S63). ). That is, as shown in FIG. 8B, when the interpolation frame number f input from the interpolation frame number input means 5 is “2”, the interval between the end points of the constraint strokes 33 and 34 is equally divided by f + 1 = 3. And quantize the constraint stroke. Of the two interpolation strokes, the end points of the first interpolation stroke are points 35a and 36a that internally divide the constraint strokes 33 and 34 from the end points of the first keystroke 31 in a one-to-two manner. End points are points 35b and 36b that internally divide the constraint strokes 33 and 34 into 2 to 1 from the end points of the first keystroke 31. Here, the starting point and the ending point of the first keystroke 31 are connected to form a baseline 37 of the first keystroke,
The endpoints 35a and 36a of the first interpolation stroke are linked to form the baseline of the first interpolation stroke, and the endpoints 35b and 36b of the second interpolation stroke are linked to form the baseline of the second interpolation stroke, and the second key Stroke 32
The starting point and the ending point of are linked to form the baseline of the second keystroke.

【0057】次に、キーストローク量子化手段2により
求められた第1のキーフレームのキーストローク(第1
のキーストローク)、それに対応する第2のキーフレー
ムのキーストローク(第2のキーストローク)のそれぞ
れを構成する単位ベクトルについて、対応する2つの単
位ベクトルを、第1のキーストローク、第2のキースト
ローク、および補間ストロークの端点間を結んだベース
ライン長を考慮して、対象の補間フレームの位置に対応
した比率でベクトル合成を行い、補間ベクトルを求め
る。その具体例を図9に示す。第1のキーストローク5
1の単位ベクトルVsとそれに対応する第2のキースト
ローク53の単位ベクトルVeとがあるとする。指定さ
れた補間フレーム数fが「2」であるとき、第2の補間
ストローク55を生成する場合について説明する。ま
ず、制約ストローク57、58のそれぞれの端点間をf
+1=3等分して、第2の補間ストロークの端点59
a、59bを求め、第1のキーストロークのベースライ
ン52、第2のキーストロークのベースライン54、第
2の補間ストロークのベースライン56を求める。この
とき、第2の補間ストロークの位置に対応した比率S
は、S=2/3 となる。
Next, the keystroke (first keyframe) of the first keyframe obtained by the keystroke quantization means 2
Keystroke) of the second keyframe and the corresponding unit vector of the second keyframe of the second keyframe (second keystroke). In consideration of the stroke and the baseline length connecting the end points of the interpolation stroke, vector synthesis is performed at a ratio corresponding to the position of the target interpolation frame, and the interpolation vector is obtained. A specific example is shown in FIG. First keystroke 5
It is assumed that there is one unit vector Vs and the corresponding unit vector Ve of the second keystroke 53. A case where the second interpolation stroke 55 is generated when the designated number f of interpolation frames is “2” will be described. First, f between the end points of the constraint strokes 57 and 58 is
+ 1 = 3 equally divided and the end point 59 of the second interpolation stroke
a and 59b are obtained, and a first keystroke baseline 52, a second keystroke baseline 54, and a second interpolation stroke baseline 56 are obtained. At this time, the ratio S corresponding to the position of the second interpolation stroke
Is S = 2/3.

【0058】まず、第1のキーストロークの単位ベクト
ルVsと第1のキーストロークのベースライン52の長
さLsと第2の補間ストロークのベースライン56の長
さLxと比率Sとを用いて、式(1)より単位ベクトル
Vs’を求める。
First, using the unit vector Vs of the first keystroke, the length Ls of the baseline 52 of the first keystroke, the length Lx of the baseline 56 of the second interpolation stroke, and the ratio S, The unit vector Vs' is obtained from the equation (1).

【0059】 Vs’=(1−S)・(Lx/Ls)・Vs …(1) 次に、第2のキーストロークの単位ベクトルVeと第2
のキーストロークのベースライン54の長さLeと第2
の補間ストロークのベースライン56の長さLxと比率
Sとを用いて、式(2)より単位ベクトルVe’を求め
る。
Vs ′ = (1−S) · (Lx / Ls) · Vs (1) Next, the unit vector Ve of the second keystroke and the second
Of the key stroke baseline 54 of the
Using the length Lx of the baseline 56 of the interpolation stroke and the ratio S, the unit vector Ve ′ is obtained from the equation (2).

【0060】 Ve’= S・(Lx/Le)・Ve …(2) 第2の補間ストローク55の単位ベクトルVxは、単位
ベクトルVs’、Ve’を合成して、すなわち、式
(3)から求めることができる。
Ve ′ = S · (Lx / Le) · Ve (2) The unit vector Vx of the second interpolation stroke 55 is a combination of the unit vectors Vs ′ and Ve ′, that is, from the equation (3). You can ask.

【0061】 Vx=Vs’+Ve’ …(3) なお、第1のキーストロークを構成する単位ベクトルの
数と第2のキーストロークを構成する単位ベクトル数が
一致しない場合、それぞれの単位ベクトル数が同じにな
るように、キーストローク量子化手段2でキーストロー
クの再分割を行い、単位ベクトル記憶手段3における単
位ベクトルの情報を更新しておく。
Vx = Vs ′ + Ve ′ (3) If the number of unit vectors forming the first keystroke and the number of unit vectors forming the second keystroke do not match, the number of each unit vector is The keystroke quantization means 2 redistributes the keystrokes so that they are the same, and the unit vector information in the unit vector storage means 3 is updated.

【0062】図9に示したように求めることができる第
2の補間ストロークの単位ベクトルVxを、補間ストロ
ークの端点位置から単位ベクトルの識別子の若い順にベ
クトルを合成することで、補間ストローク55を生成す
る(図10参照)。
Interpolation stroke 55 is generated by synthesizing the unit vector Vx of the second interpolation stroke, which can be obtained as shown in FIG. 9, from the end point position of the interpolation stroke in ascending order of the unit vector identifier. (See FIG. 10).

【0063】上記のようにして、第1および第2のキー
フレームの全ての対応関係にあるキーストローク間で生
成された補間ストロークを画像呈示手段8で表示するこ
とを、補間フレーム数f回繰り返し、これをさらに全て
のキーフレーム間(第2(i=1)および第3(i=
2)のキーフレーム間、第3(i=2)および第4(i
=3)のキーフレーム間…)で繰り返すことで、アニメ
ーションを作成する(ステップS64〜ステップS7
0)。
As described above, displaying the interpolation strokes generated between all the corresponding keystrokes of the first and second keyframes by the image presenting means 8 is repeated f times for the number of interpolation frames. , Between all keyframes (second (i = 1) and third (i =
Between keyframes 2), 3rd (i = 2) and 4th (i
= 3) between key frames ...) to create an animation (steps S64 to S7).
0).

【0064】なお、上記第1の実施形態では、制約スト
ロークを、生成される補間ストロークの両端点の位置を
規定する場合について説明したが、この場合に限らず、
補間ストロークの中心点の位置を規定するような制約ス
トロークも考えられる。この場合、図8の補間ストロー
クのベースラインと生成する際に、第1および第2のキ
ーフレームの対応する2つのキーストロークのそれぞれ
の両端点間を結ぶ線分の補間フレーム数fに基づき等分
点と、補間ストロークの中心位置を規定する制約ストロ
ークの位置から各補間ストロークのベースラインを求め
ればよい。
In the first embodiment described above, a case has been described in which the constraint strokes define the positions of the end points of the generated interpolation stroke, but the present invention is not limited to this case.
A constraint stroke that defines the position of the center point of the interpolation stroke is also conceivable. In this case, when generating with the baseline of the interpolation stroke of FIG. 8, based on the number f of interpolation frames of the line segment connecting the respective end points of the corresponding two keystrokes of the first and second keyframes, etc. The baseline of each interpolation stroke may be obtained from the minutiae and the position of the restricted stroke that defines the center position of the interpolation stroke.

【0065】以上説明したように、上記第1の実施形態
によれば、キーフレームに入力された1または複数のキ
ーストロークを複数のキーフレーム画像間で補間する際
のストロークの変化形状を制約する制約ストローク(具
体的には、例えば、生成される補間ストロークの両端点
の位置を規定するもの)が入力されると、複数のキーフ
レーム画像間でストロークを補間する際の補間位置と制
約ストロークとキーストロークとに基づき補間ストロー
クを生成することにより、入力されたキーストローク間
の補間ストロークをその両端点の位置を規定する制約ス
トロークに基づいて生成するので、キーストロークおよ
びその近傍の全体形状を保存して、自然な動きを有する
アニメーションが容易に生成できる。
As described above, according to the first embodiment, the stroke changing shape when interpolating one or a plurality of keystrokes input to a keyframe among a plurality of keyframe images is restricted. When a constrained stroke (specifically, for example, one that defines the positions of both end points of the generated interpolated stroke) is input, the interpolated position and the constrained stroke when interpolating the stroke between a plurality of key frame images are input. By generating the interpolation stroke based on the keystroke, the interpolation stroke between the input keystrokes is generated based on the constrained strokes that define the positions of both end points, so the entire shape of the keystroke and its vicinity is saved. Thus, an animation having natural movement can be easily generated.

【0066】(第2の実施形態)図11は、本発明の第
2の実施形態にかかるアニメーション作成装置の構成例
を概略的に示したものである。なお、図1と同一部分に
は同一符号を付し、異なる部分について説明する。図1
1に示すアニメーション作成装置は、キーストローク入
力手段1と、キーストローク管理手段11と、ストロー
ク形状変形手段12と、補間フレーム数入力手段5と、
制約関数入力手段13と、制約関数管理手段14と、補
間ストローク生成手段7と、画像呈示手段8とから構成
される。
(Second Embodiment) FIG. 11 schematically shows a configuration example of an animation creating apparatus according to a second embodiment of the present invention. The same parts as those in FIG. 1 are designated by the same reference numerals, and different parts will be described. Figure 1
The animation creating apparatus shown in FIG. 1 includes a keystroke input unit 1, a keystroke management unit 11, a stroke shape deforming unit 12, an interpolation frame number input unit 5, and
The constraint function input unit 13, the constraint function management unit 14, the interpolation stroke generation unit 7, and the image presentation unit 8 are included.

【0067】キーストローク入力手段1は、アニメーシ
ョンのキーフレームに登録する複数のキーストロークを
入力するためのものであり、マウス、あるいはタブレッ
トなどを使い、用意したビットマップイメージ上のアニ
メーションを行わせたい部分に骨格にあたるストローク
(曲線)を描くことで入力する。図12(a)に示すよ
うに、第1のキーフレームにキーストローク61が登録
され、それに対応して第2のキーフレームにキーストロ
ーク62が登録されたとする。キーストローク入力手段
1で入力されたキーストローク61、62は、図12
(b)に示すように、Bezier曲線や、B−spl
ine曲線のようなパラメータ曲線で近似され、その制
御点情報(キーストローク61では制御点63a、63
b、63c、キーストローク62では制御点64a、6
4b、64c)はストローク識別子とともに、キースト
ローク管理手段11に登録される。このように、入力さ
れたキーストロークをこのようなパラメータ曲線で近似
して求められた点の集合と見なし管理することにより、
後述するようなキーストロークの変形および合成および
制御関数とも演算が容易に行える。
The keystroke input means 1 is for inputting a plurality of keystrokes to be registered in a key frame of animation, and it is desired to perform animation on a prepared bitmap image using a mouse or a tablet. Input by drawing a stroke (curve) that corresponds to the skeleton in the part. As shown in FIG. 12A, it is assumed that the keystroke 61 is registered in the first keyframe and the keystroke 62 is registered in the second keyframe correspondingly. The keystrokes 61 and 62 input by the keystroke input means 1 are shown in FIG.
As shown in (b), Bezier curve and B-spl
It is approximated by a parameter curve such as an ine curve, and its control point information (in the keystroke 61, the control points 63a, 63
b, 63c, keystroke 62, control points 64a, 6
4b and 64c) are registered in the keystroke management means 11 together with the stroke identifier. In this way, by treating the input keystroke as a set of points found by approximating with such a parameter curve,
Calculations can be easily performed with keystroke deformation and combination and control functions as will be described later.

【0068】キーストローク管理手段11には、例え
ば、図13に示すように、各キーフレーム毎にそのキー
フレームの識別子であるキーフレーム番号(i)、その
キーフレームに入力されたストロークの識別子であるス
トローク番号(j)、そのストロークの制御点ベクトル
の識別子(Vjhi、h=1、2、3…)を要素とする
配列として格納される。制御点ベクトルの識別子は、ス
トローク描画開始端点から順に番号h(=1、2、3
…)を付しておく。
For example, as shown in FIG. 13, the keystroke management means 11 uses the keyframe number (i), which is the identifier of the keyframe for each keyframe, and the identifier of the stroke input to the keyframe. It is stored as an array having a certain stroke number (j) and the identifier (Vjhi, h = 1, 2, 3 ...) Of the control point vector of that stroke as an element. The control point vector identifiers are numbers h (= 1, 2, 3) in order from the stroke drawing start end point.
...) is added.

【0069】第1のキーフレームのキーストロークに対
応する第2のキーフレームのキーストロークが入力され
ると、図13に示すように、例えば、第1のキーフレー
ムのj=1のキーストロークの制御点ベクトルの配列の
最後に飛び先アドレス「p1」が追加されて、アドレス
「p1」からキーフレーム番号(i=1)、ストローク
番号(j=1)、制御点ベクトル識別子(Vjhi、h
=1、2、3…)を要素とする配列として格納される。
When the keystroke of the second keyframe corresponding to the keystroke of the first keyframe is input, as shown in FIG. 13, for example, the keystroke of j = 1 of the first keyframe is input. The jump destination address “p1” is added to the end of the control point vector array, and the key frame number (i = 1), stroke number (j = 1), control point vector identifier (Vjhi, h) from the address “p1”.
= 1, 2, 3 ...) are stored as an array having elements.

【0070】制約関数入力手段13は、キーフレーム入
力手段1により入力されたキーストロークをキーフレー
ム間で補間するために生成される補間ストロークの変形
を制約するための制約関数を入力するためのものであ
る。この制約関数は、補間フレームの位置tおよびスト
ローク位置sに対応する1次元のパラメータで記述され
るものである。制約関数の種類としては、例えば、Be
zier曲線や、B−spline曲線等がある。これ
らの近似曲線のうち、所望のものを制約関数入力手段1
3から指定する。そして、補間フレーム数入力手段5か
ら入力される補間フレーム数に応じた補間フレームの位
置t、およびストローク位置sとをパラメータとする各
キーストロークの制御点に対応する、所望の近似曲線の
制約関数が求まる。この制約関数は、例えば、ストロー
クの動きに速度をつけたいときに用いることができる。
The constraint function input means 13 is for inputting a constraint function for constraining the deformation of the interpolation stroke generated for interpolating the keystrokes input by the keyframe input means 1 between keyframes. Is. This constraint function is described by a one-dimensional parameter corresponding to the position t and the stroke position s of the interpolation frame. As the type of the constraint function, for example, Be
There are a Zier curve, a B-spline curve, and the like. Of these approximate curves, the desired one is the constraint function input means 1
Specify from 3. Then, the constraint function of the desired approximate curve corresponding to the control point of each keystroke with the position t of the interpolation frame and the stroke position s according to the number of interpolation frames input from the interpolation frame number input means 5 as parameters. Is required. This constraint function can be used, for example, when it is desired to add speed to the movement of a stroke.

【0071】制約関数管理手段14には、図14に示す
ように、各キーフレーム毎にそのキーフレームの識別子
であるキーフレーム番号(i)、そのキーフレームに入
力されたストロークの識別子であるストローク番号
(j)、そのストロークの位置sと補間フレームの位置
tに基づく制約関数の実体へのポインタ(Fjhi
(s、t)、h=1、2、3…)を要素とする配列とし
て格納される。
As shown in FIG. 14, the constraint function management means 14 stores, for each key frame, a key frame number (i) which is the identifier of the key frame, and a stroke which is the identifier of the stroke input to the key frame. The pointer (Fjhi) to the substance of the constraint function based on the number (j), the position s of the stroke, and the position t of the interpolation frame.
It is stored as an array having (s, t), h = 1, 2, 3, ...

【0072】第1のキーフレームのキーストロークに対
応する第2のキーフレームのキーストロークが入力され
て、別の制約関数を提要する場合、図14に示すよう
に、例えば、第1のキーフレームのj=1のキーストロ
ークの制約関数へのポインタの配列の最後に飛び先アド
レス「p1」が追加されて、アドレス「p1」からキー
フレーム番号(i=1)、ストローク番号(j=1)、
制約関数へのポインタ(Fjhi(s、t)、h=1、
2、3…)を要素とする配列として格納される。
When the keystroke of the second keyframe corresponding to the keystroke of the first keyframe is input and another constraint function is required, as shown in FIG. 14, for example, the first keyframe is used. The jump destination address "p1" is added to the end of the array of pointers to the keystroke constraint function of j = 1, and the keyframe number (i = 1) and stroke number (j = 1) are added from the address "p1". ,
A pointer to the constraint function (Fjhi (s, t), h = 1,
2, 3, ...) are stored as an array having elements as elements.

【0073】なお、制約関数入力手段13にて入力され
る制約関数は、第1の実施形態にて説明したように制約
ストロークを入力し、それをBezier曲線や、B−
spline曲線のようなパラメータ曲線で近似して、
その制御点に基づく制約関数を制約関数管理手段14に
登録するようにしてもよい。
The constraint function input means 13 inputs the constraint stroke as described in the first embodiment, and uses it as a Bezier curve or B-
By approximating with a parameter curve such as a spline curve,
A constraint function based on the control point may be registered in the constraint function management means 14.

【0074】ストローク形状変形手段12では、補間フ
レームの位置に応じてキーストローク形状を変形し、補
間ストローク生成手段7では、変形されたキーストロー
クから補間ストロークを合成し、さらに、その合成され
た補間ストロークに図14に示したように制約関数管理
手段14に記憶された制約関数を適用して補間ストロー
クを生成する。
The stroke shape transforming means 12 transforms the keystroke shape in accordance with the position of the interpolation frame, and the interpolation stroke generating means 7 synthesizes the interpolation strokes from the transformed keystrokes, and further, the synthesized interpolation. As shown in FIG. 14, the constraint function stored in the constraint function management unit 14 is applied to the stroke to generate an interpolation stroke.

【0075】次に、補間ストロークの生成手順について
図15〜図16を参照して説明する。図15(a)に示
すように、第1のキーフレームのキーストローク71と
それに対応する第2のキーフレームのキーストローク7
2とがあり、補間フレーム数f=2で、第1のキーフレ
ームから第2のキーフレームを含めて全部で4枚のフレ
ームから構成されるアニメーションを作成するとき、そ
の4フレーム中の2番目のフレーム、すなわち、フレー
ム位置t=2の補間ストロークを生成する場合を例にと
り説明する。
Next, the procedure for generating the interpolation stroke will be described with reference to FIGS. As shown in FIG. 15A, the keystroke 71 of the first keyframe and the corresponding keystroke 7 of the second keyframe.
2 and the number of interpolation frames is f = 2, and when an animation composed of a total of four frames including the first key frame to the second key frame is created, the second of the four frames is generated. The frame will be described as an example, that is, the case where the interpolation stroke at the frame position t = 2 is generated.

【0076】まず、キーストローク71の端点76a、
76bおよびキーストローク72の端点77a、77b
をそれぞれ互いに結んだ線分において、補間フレーム数
入力手段5から入力された補間フレーム数f=2である
ので、キーストローク71、72のそれぞれの端点間を
f+1=3等分し、キーストローク71の端点76a、
76bからそれぞれ1対2に内分する点78a、78b
がフレーム位置t=2の補間ストローク(第1の補間ス
トローク)の端点として求める。なお、フレーム位置t
=3の第2の補間ストロークの端点は、キーストローク
71の端点76a、76bからそれぞれ2対1に内分す
る点となる。ここで、第1のキーストローク71の始点
と終点を結び第1のキーストロークのベースライン73
とし、第1の補間ストロークの端点78a、78aとを
結び第1の補間ストロークのベースライン75とし、第
2のキーストローク72の始点と終点とを結び第2のキ
ーストロークのベースライン74とする。
First, the end points 76a of the keystroke 71,
76b and end points 77a, 77b of the keystroke 72
Since the number of interpolation frames input from the interpolation frame number input unit 5 is f = 2 in the line segment connecting each of the two, the end points of the keystrokes 71 and 72 are equally divided into f + 1 = 3, and the keystroke 71 End point 76a of
Points 78a and 78b that are internally divided from 76b in a ratio of 1: 2
Is determined as the end point of the interpolation stroke (first interpolation stroke) at the frame position t = 2. The frame position t
The end points of the second interpolation stroke of = 3 are points that are internally divided into 2 to 1 from the end points 76a and 76b of the key stroke 71. Here, the starting point and the ending point of the first keystroke 71 are connected, and the baseline 73 of the first keystroke
The end points 78a and 78a of the first interpolation stroke are connected to form a baseline 75 of the first interpolation stroke, and the start point and the end point of the second keystroke 72 are connected to form a baseline 74 of the second keystroke. .

【0077】ストローク形状変形手段12では、図15
(b)に示すように、第1のキーストロークのベースラ
イン73および第2のキーストロークのベースライン7
4が、先に求めた第1の補間ストロークのベースライン
75に一致するように、第1のキーストローク71およ
び第2のキーストローク72に対して回転処理を施す。
そして、キーストローク71、72の端点間の距離を補
間ストロークの端点78a、78b間の距離と同じにす
るために、拡大・縮小などの処理をキーストローク7
1、キーストローク72に対して施す。その方法として
は次の2つが考えられ、そのいずれかを用いればよい。
In the stroke shape deforming means 12, FIG.
As shown in (b), the first keystroke baseline 73 and the second keystroke baseline 7
The rotation processing is performed on the first keystroke 71 and the second keystroke 72 so that 4 matches the baseline 75 of the first interpolation stroke previously obtained.
Then, in order to make the distance between the end points of the keystrokes 71 and 72 the same as the distance between the end points 78a and 78b of the interpolation stroke, the keystroke 7 is performed.
1. The key stroke 72 is applied. The following two methods are conceivable, and either one may be used.

【0078】(1)図16(a)に示すように、補間ス
トロークのベースライン75の長さをa、キーストロー
クのベースラインの長さをbとすると、補間ストローク
のベースラインの長さに合わせてキーストロークを補間
ストロークのベースライン方向(x方向)、およびそれ
に垂直な方向(y方向)にそれぞれb/a倍して相似的
に拡大・縮小する変形操作する方法。
(1) As shown in FIG. 16A, when the length of the interpolation stroke baseline 75 is a and the length of the key stroke baseline is b, the length of the interpolation stroke baseline is In addition, a method of performing a transformation operation in which key strokes are multiplied by b / a in the baseline direction (x direction) of the interpolation stroke and the direction (y direction) perpendicular to the interpolation strokes, and the key strokes are enlarged / reduced similarly.

【0079】(2)図16(b)に示すように、補間ス
トロークのベースラインの長さに合わせてキーストロー
クを補間ストロークのベースライン方向(x方向)のみ
にb/a倍して拡大・縮小する変形操作する方法。
(2) As shown in FIG. 16 (b), the keystroke is enlarged by b / a only in the interpolation stroke baseline direction (x direction) in accordance with the length of the interpolation stroke baseline. A method of transforming to reduce.

【0080】補間フレーム生成手段7では、この変形操
作後の第1のキーフレームのキーストロークと第2のキ
ーフレームのキーストロークのそれぞれの振幅値を補間
ストロークのベースライン75に沿って、補間フレーム
のフレーム位置t=2に対応する比率で足し合わせるこ
とで、補間ストロークを生成する。すなわち、図15
(c)に示すように、第1のキーフレームのキーストロ
ークを「2」、第2のキーフレームのキーストロークを
「1」の比率で、それぞれの振幅値を足し合わせればよ
い。そして、制約関数管理手段14に登録されている制
約関数に、現在処理対象の補間フレームの位置t(=
2)をパラメータとして与え、その制約関数を上で求め
た補間ストロークに適用して、変形された補間ストロー
クを生成する。
In the interpolation frame generation means 7, the amplitude values of the keystrokes of the first keyframe and the keystrokes of the second keyframe after this deformation operation are calculated along the interpolation stroke base line 75. Interpolation strokes are generated by adding up at a ratio corresponding to the frame position t = 2. That is, FIG.
As shown in (c), the keystrokes of the first keyframe may be "2" and the keystrokes of the second keyframe may be added at a ratio of "1", and the respective amplitude values may be added. Then, the constraint function registered in the constraint function management means 14 is added to the position t (=
2) is given as a parameter, and the constraint function is applied to the interpolation stroke obtained above to generate a modified interpolation stroke.

【0081】第1および第2のキーフレームの全ての対
応関係にあるキーストローク間で生成された補間ストロ
ークを画像呈示手段8で表示することを、補間フレーム
数f回繰り返し、これをさらに全てのキーフレーム間
(第2(i=1)および第3(i=2)のキーフレーム
間、第3(i=2)および第4(i=3)のキーフレー
ム間…)で繰り返すことで、アニメーションを作成する
図17に示すように、図11の構成にさらに、第1の実
施形態で説明した制約ストローク入力手段4、制約スト
ローク量子化手段6を追加してアニメーション生成装置
を構成してもよい。この場合、図18(a)に示すよう
に、制約ストローク入力手段4から第1のキーフレーム
と第2のキーフレームとの間でキーストローク81が変
形していく際の制約を表す制約ストローク83a、83
bをキーストローク81の端点を沿わせたい経路に沿っ
て入力する。その後、図8の説明と同様に、制約ストロ
ーク量子化手段6で制約ストロークの量子化を行い、補
間ストロークの端点とベースラインを求める。すなわ
ち、制約ストロークを補間ストロークのベースラインを
求めるために用いる。そして、ストローク形状変形手段
12で、前述したように、第1のキーフレームのストロ
ーク81、第2のキーフレームのキーストローク82の
形状を変形し、補間ストローク生成手段7で、この変形
操作後の第1のキーフレームのキーストロークと第2の
キーフレームのキーストロークのそれぞれの振幅値を補
間ストロークのベースラインに沿って、補間フレームの
フレーム位置tに対応する比率で足し合わせることで、
補間ストロークを生成する。
Displaying the interpolated strokes generated between all the keystrokes in the first and second keyframes in the corresponding relationship by the image presenting means 8 is repeated f times for the number of interpolated frames, and this is further performed for all of them. By repeating between keyframes (between the second (i = 1) and third (i = 2) keyframes, between the third (i = 2) and fourth (i = 3) keyframes ...), As shown in FIG. 17 for creating an animation, the animation generating apparatus may be configured by adding the constraint stroke input means 4 and the constraint stroke quantization means 6 described in the first embodiment to the configuration of FIG. Good. In this case, as shown in FIG. 18A, a constraint stroke 83a indicating a constraint when the keystroke 81 is deformed between the first keyframe and the second keyframe from the constraint stroke input means 4. , 83
Input b along the path that the end point of the keystroke 81 is desired to follow. After that, similarly to the description of FIG. 8, the constraint stroke quantization unit 6 quantizes the constraint stroke to obtain the end points and the baseline of the interpolation stroke. That is, the constraint stroke is used to find the baseline of the interpolation stroke. Then, as described above, the stroke shape deforming means 12 deforms the shapes of the stroke 81 of the first key frame and the key stroke 82 of the second key frame, and the interpolation stroke generating means 7 deforms the shape after the deformation operation. By adding the amplitude values of the keystrokes of the first keyframe and the keystrokes of the second keyframe along the baseline of the interpolation stroke at a ratio corresponding to the frame position t of the interpolation frame,
Generate interpolation strokes.

【0082】図18(b)は、補間ストロークのベース
ラインの長さに合わせてキーストローク81、82を補
間ストロークのベースライン方向およびそれに垂直な方
向に相似的に拡大・縮小する変形操作を行って、その変
形後のキーストロークを合成して補間ストローク84
a、84bを生成した場合を示している。
In FIG. 18B, a modification operation is performed in which key strokes 81 and 82 are similarly scaled up / down in the direction of the baseline of the interpolation stroke and in the direction perpendicular thereto in accordance with the length of the baseline of the interpolation stroke. Then, the keystrokes after the transformation are combined to interpolate the stroke 84.
The case where a and 84b are generated is shown.

【0083】図18(c)は、補間ストロークのベース
ラインの長さに合わせてキーストローク81、82を補
間ストロークのベースライン方向のみ拡大・縮小する変
形操作を行って、その変形後のキーストロークを合成し
て補間ストローク85a、85bを生成した場合を示し
ている。
FIG. 18 (c) shows that the keystrokes 81 and 82 are deformed in accordance with the length of the interpolation stroke baseline so that the keystrokes 81 and 82 are enlarged / reduced only in the direction of the interpolation stroke baseline. Is generated to generate interpolation strokes 85a and 85b.

【0084】次に、制約関数の適用方法の他の例につい
て図19を参照して説明する。
Next, another example of the method of applying the constraint function will be described with reference to FIG.

【0085】図19において、第1のキーフレームのキ
ーストローク91および第2のキーフレームのキースト
ローク92はそれぞれ平行で長さも同じ線分であるた
め、生成される補間ストロークはキーストローク91、
92の相方に平行で長さも等しい線分になる(基準補間
ストローク93a、93b、93c、93d、93
e)。 このとき、制約関数として補間フレームの位置
t(生成される全ての補間フレームのうちの何枚目の補
間フレームであるかを示すもの)、および、補間ストロ
ークの一方の端点位置からの距離sをパラメータとした
sin関数ベースの制約関数F(s、t)を、例えば、
次式(4)に示すように定義する。
In FIG. 19, since the keystroke 91 of the first keyframe and the keystroke 92 of the second keyframe are parallel and line segments having the same length, the generated interpolation stroke is the keystroke 91,
The line segment is parallel to the other side of 92 and has the same length (reference interpolation strokes 93a, 93b, 93c, 93d, 93).
e). At this time, the position t of the interpolation frame (which indicates which interpolation frame of all the generated interpolation frames is generated) as a constraint function, and the distance s from one end point position of the interpolation stroke The constraint function F (s, t) based on the sin function with the parameter is, for example,
It is defined as shown in the following equation (4).

【0086】 F(s、t)=(Lf/2)sin (2(f−t)π)・sin ((Ls−s)π ) f:補間フレーム数 Lf:第1のキーフレームと第2のキーフレームのキーストローク 間の距離 Ls:キーフレームの長さ …(4) 式(4)の制約関数を制約関数入力手段13から指定し
て、上で求めた基準補間ストローク93a〜93eに足
し合わせることで、基準補間ストロークを変形させ、補
間ストローク94a〜94eを生成する。
F (s, t) = (Lf / 2) sin (2 (f−t) π) · sin ((Ls−s) π) f: Number of interpolation frames Lf: First key frame and second Distance between keystrokes of keyframe of Ls: length of keyframe (4) The constraint function of the equation (4) is specified from the constraint function input means 13 and added to the reference interpolation strokes 93a to 93e obtained above. By matching, the reference interpolation stroke is deformed, and the interpolation strokes 94a to 94e are generated.

【0087】この足し合わせ効果は、キーストローク管
理手段11に記憶してあるキーストローク形状を表現す
る制御点(曲線制御パラメータ)に対して、制約関数を
適用しても同じような変形効果を生成することができ
る。このような変形により魚眼レンズを通してみるよう
な効果をもつアニメーションを生成することができる。
This addition effect produces the same deformation effect even if a constraint function is applied to the control points (curve control parameters) expressing the keystroke shape stored in the keystroke management means 11. can do. By such a modification, an animation having an effect of looking through a fisheye lens can be generated.

【0088】上記のようにして生成した補間ストローク
を画像呈示手段で表示することを、総補間フレーム数繰
り返すことで、アニメーションを作成する。
An animation is created by repeating the display of the interpolation stroke generated as described above by the image presenting means for the total number of interpolation frames.

【0089】(第3の実施形態)図20は、本発明の第
3の実施形態に係るアニメーション作成装置の構成例を
概略的に示したものである。なお、図1と同一部分には
同一符号を付し、異なる部分について説明する。すなわ
ち、図20に示すアニメーション作成装置は、図1の示
したアニメーション作成装置の構成に、第2の実施形態
で説明した制約関数入力手段13、制約関数管理手段1
4が追加されていて、補間ベクトル生成手段7で補間ス
トロークを構成する補間ベクトルを生成する際に、例え
ば、生成した補間ベクトルに、キーストロークの単位ベ
クトル分割数に応じた制約関数を適用して変形してから
それらを合成し、補間ストロークを生成するようになっ
ている。
(Third Embodiment) FIG. 20 schematically shows a configuration example of an animation creating apparatus according to a third embodiment of the present invention. The same parts as those in FIG. 1 are designated by the same reference numerals, and different parts will be described. That is, the animation creating apparatus shown in FIG. 20 is the same as the animation creating apparatus shown in FIG. 1 except that the constraint function input means 13 and the constraint function managing means 1 described in the second embodiment are used.
4 is added, and when the interpolation vector generating means 7 generates the interpolation vector forming the interpolation stroke, for example, a constraint function according to the number of divisions of the keystroke unit vector is applied to the generated interpolation vector. After transformation, they are combined and an interpolation stroke is generated.

【0090】以上説明したように、上記第2および第3
の実施形態によれば、キーフレームに入力された1また
は複数のキーストロークを複数のキーフレーム画像間で
補間する際のストロークの変化形状を制約する制約関数
が入力されると、複数のキーフレーム画像間でストロー
クを補間する際の補間位置と制約関数とキーストローク
とに基づき補間ストロークを生成することにより、生成
される補間ストロークを制約関数を用いて変形して、例
えば、もりあがりや凹凸といった3次元的な視覚効果を
促すアニメーションを容易に生成することができる。
As described above, the second and third
According to the embodiment of the present invention, when a constraint function that constrains a changing shape of a stroke when one or a plurality of keystrokes input to a keyframe is interpolated between a plurality of keyframe images is input, the plurality of keyframes are input. By generating an interpolation stroke based on an interpolation position when interpolating a stroke between images, a constraint function, and a keystroke, the generated interpolation stroke is transformed using the constraint function, and, for example, three points, such as rising and unevenness, are generated. It is possible to easily generate an animation that promotes a three-dimensional visual effect.

【0091】(第4の実施形態)次に、一般的な領域の
ある原画像に基づきアニメーションを作成する場合につ
いて説明する。
(Fourth Embodiment) Next, a case of creating an animation based on an original image having a general area will be described.

【0092】図21は、本発明の第4の実施形態に係る
アニメーション作成装置の構成例を概略的に示したもの
である。なお、図1と同一部分には同一符号を付し、異
なる部分について説明する。すなわち、図1に示したア
ニメーション作成装置にイメージチャンク記憶手段1
5、イメージチャンク生成手段16が追加されている。
FIG. 21 schematically shows a configuration example of an animation creating device according to the fourth embodiment of the present invention. The same parts as those in FIG. 1 are designated by the same reference numerals, and different parts will be described. That is, the image chunk storage means 1 is added to the animation creating apparatus shown in FIG.
5. The image chunk generation means 16 is added.

【0093】キーストローク入力手段1は、アニメーシ
ョンのキーフレームに登録する複数のキーストロークを
入力するためのものであり、マウス、あるいはタブレッ
トなどを使い、用意したビットマップイメージ上のアニ
メーションを行わせたい部分に骨格にあたるストローク
(曲線)を描くことで入力する。
The keystroke input means 1 is for inputting a plurality of keystrokes to be registered in a key frame of animation, and it is desired to use a mouse or a tablet to perform animation on a prepared bitmap image. Input by drawing a stroke (curve) that corresponds to the skeleton in the part.

【0094】キーストローク入力手段1により入力され
た複数のキーストロークは、キーストローク量子化手段
2により、一定の長さを有する単位ベクトルに分解さ
れ、単位ベクトル記憶手段に登録される。同時に図22
のステップS27に示すように単位ベクトル近傍の領域
の画像を切り出してイメージチャンクとして、イメージ
チャンク記憶手段15に登録する。
The plurality of keystrokes input by the keystroke input means 1 are decomposed by the keystroke quantization means 2 into unit vectors having a fixed length and registered in the unit vector storage means. At the same time, FIG.
As shown in step S27, the image in the region near the unit vector is cut out and registered in the image chunk storage means 15 as an image chunk.

【0095】ここで、ストロークの量子化とイメージチ
ャンクの抽出について説明する。図23(a)にユーザ
により描かれたキーストローク101を示す。キースト
ローク101を例えば長さ「1」の単位ベクトル102
a〜102cに量子化した場合を図23(b)に示す。
さらに、原画像中から抽出された、キーストロークの各
単位ベクトル102a〜102cに沿った所定の大きさ
の画像領域(イメージチャンク)103a〜103cの
一例を図23(c)に示す。
Here, the quantization of strokes and the extraction of image chunks will be described. FIG. 23A shows a keystroke 101 drawn by the user. A keystroke 101 is, for example, a unit vector 102 of length "1".
FIG. 23B shows a case where quantization is performed into a to 102c.
Further, FIG. 23C shows an example of image regions (image chunks) 103a to 103c of a predetermined size along the unit vectors 102a to 102c of the key strokes, which are extracted from the original image.

【0096】単位ベクトル記憶手段3では、各単位ベク
トルに対応するイメージチャンクの実体、あるいは実体
を指すポインタをストローク識別子および単位ベクトル
識別子と関連づけて(例えば、対応関係にあるストロー
ク識別子と単位ベクトル識別子を1つのユニークIDで
表す)登録しておく。単位ベクトル識別子は、前述同様
ストローク描画開始端点から順に番号付けしておく。
In the unit vector storage means 3, the substance of the image chunk corresponding to each unit vector or the pointer pointing to the substance is associated with the stroke identifier and the unit vector identifier (for example, the stroke identifier and the unit vector identifier in the correspondence relationship are associated with each other). Registered with one unique ID). The unit vector identifiers are numbered in order from the stroke drawing start end point as described above.

【0097】次に、原画像からのイメージチャンクの抽
出と、その抽出されたイメージチャンクと単位ベクトル
の対応付けについて図24を参照して説明する。
Next, the extraction of image chunks from the original image and the correspondence between the extracted image chunks and unit vectors will be described with reference to FIG.

【0098】図24に示すように、画像呈示手段8に呈
示された原画像に対し、ユーザが動きを付けたい部分に
その骨格的なキーストロークを入力すると、キーストロ
ーク量子化手段2では、そのキーストロークの量子化を
行い、単位ベクトル列を生成し、その単位ベクトルのデ
ータは、単位ベクトル記憶手段3にそのデータそのも
の、あるいは、各単位ベクトルのデータの記憶領域への
ポインタが単位ベクトル識別子(ユニークID)ととも
に記憶される。さらに、原画像から、キーストロークの
各単位ベクトル周辺の画像領域を切り出し、回転(アフ
ィン変換)、正規化を行いイメージチャンクを生成す
る。このようにして生成された各チャンクには、それぞ
れ対応する単位ベクトルのユニークIDが付され、イメ
ージチャンク記憶手段15に、チャンクの画像データそ
のもの、あるいはチャンクの画像データの記憶領域への
ポインタが記憶される。
As shown in FIG. 24, when the user inputs a skeletal keystroke to the portion to which the original image presented by the image presenting means 8 is to be moved, the keystroke quantizing means 2 outputs the keystroke. The keystroke is quantized to generate a unit vector sequence, and the data of the unit vector is stored in the unit vector storage means 3 itself or a pointer to the storage area of the data of each unit vector is a unit vector identifier ( It is stored together with the unique ID). Further, an image area around each unit vector of the keystroke is cut out from the original image, rotated (affine transformation) and normalized to generate an image chunk. Each chunk generated in this way is assigned a unique ID of a corresponding unit vector, and the image chunk storage means 15 stores the image data of the chunk itself or a pointer to the storage area of the image data of the chunk. To be done.

【0099】制約ストローク入力手段4は、第1の実施
形態と同様、キーフレーム入力手段1により入力された
ストローク形状が変形していく際の制約を表すストロー
クを入力するためのものであり、キーストロークの端点
を沿わせたい経路に沿って、ビットマップイメージ上に
制約ストロークを描くことで入力する。
Similar to the first embodiment, the restricted stroke input means 4 is for inputting a stroke representing a restriction when the stroke shape input by the key frame input means 1 is deformed. Input by drawing a constrained stroke on the bitmap image along the path you want the end points of the stroke to follow.

【0100】補間フレーム数入力手段5は、第1の実施
形態と同様、キーフレーム間の補間フレーム数fを入力
するためのものである。
The interpolation frame number input means 5 is for inputting the interpolation frame number f between key frames, as in the first embodiment.

【0101】制約ストローク入力手段4により入力され
た制約ストロークは、制約ストローク量子化手段6によ
り、補間フレーム数入力手段5で入力された補間フレー
ム数fと同じ数だけの単位ベクトルに分解し、制約スト
ローク単位ベクトルが生成さえる。
The constrained stroke input by the constrained stroke input means 4 is decomposed by the constrained stroke quantization means 6 into the same number of unit vectors as the interpolated frame number f input by the interpolated frame number input means 5, and constrained. A stroke unit vector is generated.

【0102】ここで、キーストロークの入力された2枚
のキーフレームからその間を補間する補間フレームを生
成する処理について、図25を参照して説明する。な
お、ここでは、補間数f=1、すなわち、2つのキーフ
レーム間に生成される補間フレームが1枚の場合につい
て示している。
Here, a process for generating an interpolation frame for interpolating between two key frames to which a keystroke is input will be described with reference to FIG. Here, the number of interpolations f = 1, that is, the case where the number of interpolation frames generated between two key frames is one is shown.

【0103】図25に示すように、単位ベクトル記憶手
段3に記憶された第1のキーフレーム上のキーストロー
クを量子化して得られた単位ベクトル231a〜231
dのデータと、同じく単位ベクトル記憶手段3に記憶さ
れた、第1のキーフレームのストロークに対応する第2
のキーフレーム上のストロークを量子化して得られた単
位ベクトル241a〜241dのデータと、制約ストロ
ーク量子化手段6で生成された制約ストローク単位ベク
トルとを基に、補間ベクトル生成手段で補間ベクトルを
生成する手順は、第1の実施形態の図8〜図10の説明
と同様である。
As shown in FIG. 25, unit vectors 231a to 231 obtained by quantizing the keystrokes on the first keyframe stored in the unit vector storage means 3.
The data of d and the second corresponding to the stroke of the first key frame, which is also stored in the unit vector storage unit 3.
Based on the data of the unit vectors 241a to 241d obtained by quantizing the strokes on the key frame and the constrained stroke unit vector generated by the constrained stroke quantization unit 6, the interpolated vector generation unit generates the interpolated vector. The procedure to be performed is similar to the description of FIGS. 8 to 10 of the first embodiment.

【0104】補間ベクトルが生成されると、イメージチ
ャンク生成手段16では、イメージチャンク記憶手段1
5からその補間ベクトルに対応するキーフレームの単位
ベクトルのユニークIDに対応付けられて記憶されたイ
メージチャンクを読み出して、そのイメージチャンクを
補間ベクトルの位置、および形状に応じて、移動、また
は変形、あるいは移動かつ変形して画像呈示手段8に保
存されているキーフレームに画像に合成することにより
補間フレームを生成する。なお、補間ベクトルにマッピ
ングするイメージチャンクに、補間ストロークを構成す
る単位ベクトルの角速度に応じてぼかし処理を加えるこ
とで、モーションブラーと同様の映像効果を持たせた速
度感のあるアニメーションも容易に作成することができ
る。
When the interpolation vector is generated, the image chunk generation means 16 causes the image chunk storage means 1 to operate.
5, the image chunk stored in association with the unique ID of the unit vector of the key frame corresponding to the interpolation vector is read out, and the image chunk is moved or deformed according to the position and shape of the interpolation vector, Alternatively, an interpolation frame is generated by moving and transforming the image and combining it with the key frame stored in the image presenting means 8 to form an image. In addition, by adding blurring processing to the image chunk that maps to the interpolation vector according to the angular velocity of the unit vector that forms the interpolation stroke, you can easily create a speedy animation with the same video effect as motion blur. can do.

【0105】(第5の実施形態)図26に示すように、
図17の構成にさらに、第4の実施形態で説明したイメ
ージチャンク生成手段16、イメージチャンク記憶手段
15を追加してアニメーション生成装置を構成してもよ
い。そして、キーストローク近傍の画像領域をイメージ
チャンクとして切り出すと、それをキーストローク管理
手段11に登録されているキーストロークに対応付けて
イメージチャンク記憶手段15に登録する。ストローク
形状変形手段12にてストロークの形状を変形する際や
補間ストローク生成手段7で補間ストロークを生成する
際に、イメージチャンク生成手段16はイメージチャン
ク記憶手段15から対応のイメージチャンクを読み出し
て、移動、または変形、あるいは移動かつ変形してキー
フレーム画像に合成することにより補間フレームを生成
する。
(Fifth Embodiment) As shown in FIG.
The image generation apparatus may be configured by adding the image chunk generation means 16 and the image chunk storage means 15 described in the fourth embodiment to the configuration of FIG. Then, when the image area in the vicinity of the keystroke is cut out as an image chunk, it is registered in the image chunk storage means 15 in association with the keystroke registered in the keystroke management means 11. When transforming the shape of the stroke by the stroke shape transforming means 12 or generating the interpolation stroke by the interpolation stroke generating means 7, the image chunk generating means 16 reads the corresponding image chunk from the image chunk storing means 15 and moves it. , Or deformed, or moved and deformed to be combined with the key frame image to generate an interpolated frame.

【0106】同様に、図20の構成にさらに第4の実施
形態で説明したイメージチャンク生成手段16、イメー
ジチャンク記憶手段15を追加してアニメーション生成
装置を構成してもよい。その他の組み合わせ形態も前述
同様にして実現可能である。
Similarly, the animation generating apparatus may be configured by adding the image chunk generating means 16 and the image chunk storing means 15 described in the fourth embodiment to the configuration of FIG. Other combinations can be realized as described above.

【0107】以上説明したように、上記第4および第5
の実施形態によれば、キーフレームに入力された1また
は複数のキーストロークを複数のキーフレーム画像間で
補間する際のストロークの変化形状を制約する制約スト
ロークおよびまたは制約関数が入力されると、複数のキ
ーフレーム画像間でストロークを補間する際の補間位置
と制約ストロークおよびまたは制約関数とキーストロー
クとに基づき補間ストロークを生成し、キーストローク
近傍の領域の画像を生成された補間ストロークの位置お
よび形状に応じて、移動あるいは変形、あるいは移動お
よび変形してキーフレームに合成することによりキーフ
レーム画像間を補間する補間フレーム画像を生成するこ
とにより、入力されたキーストローク間の補間ストロー
クをその両端点の位置を規定する制約ストロークに基づ
いて生成するので、キーストロークおよびその近傍の全
体形状を保存して、自然な動きを有するアニメーション
が容易に生成できる。また、生成される補間ストローク
を制約関数を用いて変形して、例えば、もりあがりや凹
凸といった3次元的な視覚効果を促すアニメーションを
容易に生成することができる。また、補間ストロークに
マッピングするイメージに補間ストロークを構成する単
位ベクトルの角速度に応じてぼかし処理を加えること
で、モーションブラーと同様の映像効果を持たせた速度
感のあるアニメーションも容易に作成することができ
る。
As described above, the fourth and fifth
According to an embodiment of the present invention, when a constrained stroke and / or a constrained function for constraining a change shape of a stroke when interpolating one or a plurality of keystrokes input to a keyframe among a plurality of keyframe images are input, An interpolation stroke is generated based on an interpolation position and a constraint stroke and / or a constraint function and a keystroke when a stroke is interpolated between a plurality of keyframe images, and an image of a region near the keystroke is generated and the position of the generated interpolation stroke and Depending on the shape, move or transform, or move and transform to synthesize keyframes to create an interpolated frame image that interpolates between keyframe images. Since it is generated based on the constraint stroke that defines the position of the point, Save the overall shape of keystrokes and its vicinity, animation can be easily created with natural movement. In addition, the generated interpolation stroke can be transformed using a constraint function to easily generate an animation that promotes a three-dimensional visual effect such as rising and unevenness. In addition, by adding blurring processing to the image to be mapped to the interpolation stroke according to the angular velocity of the unit vector constituting the interpolation stroke, it is possible to easily create a speedy animation with the same video effect as motion blur. You can

【0108】(第6の実施形態)上記第1〜第5の実施
形態に記載したアニメーション作成手法は、コンピュー
タに実行させることのできるプログラムとしてフロッピ
ーディスク、ハードディスク、CD−ROM、半導体メ
モリなどの記録媒体に格納して配布することもできる。
(Sixth Embodiment) In the animation creating methods described in the first to fifth embodiments, a computer-executable program is recorded on a floppy disk, a hard disk, a CD-ROM, a semiconductor memory or the like. It can also be stored in a medium and distributed.

【0109】図27に本発明にかかるアニメーション作
成手法を実現するためのコンピュータシステムの構成を
示す。このコンピュータシステムは、例えば、パーソナ
ルコンピュータであり、演算処理を司るCPU1001
と、キーボード、ポインティングデバイスおよびマウス
などの入力部1002と、ディスプレイおよびスピーカ
などの出力部1003と、主記憶としてのROM100
4およびRAM1005と、外部記憶装置としてのハー
ドディスク装置1006、フロッピーディスク装置10
07および光ディスク装置1008をバス1009によ
り接続して構成されている。
FIG. 27 shows the configuration of a computer system for realizing the animation creating method according to the present invention. This computer system is, for example, a personal computer, and a CPU 1001 that controls arithmetic processing.
An input unit 1002 such as a keyboard, a pointing device and a mouse, an output unit 1003 such as a display and a speaker, and a ROM 100 as a main memory.
4, a RAM 1005, a hard disk device 1006 as an external storage device, and a floppy disk device 10.
07 and the optical disk device 1008 are connected by a bus 1009.

【0110】ここで、ハードディスク装置1006、フ
ロッピーディスク装置1007および光ディスク装置1
008のいずれかの記録媒体に、上述した実施形態で説
明したアニメーション作成手法を実行するためのプログ
ラムおよび画像データが格納される。そして、このプロ
グラムに従って、入力部1001から入力されるキース
トローク、制約ストローク、制約関数等、記録媒体から
よみだされた画像データに対して、CPU1001でア
ニメーション作成処理(その概略は、図2〜図5、図2
2に示したフローチャート参照)が実行され、その結果
成されたアニメーションが出力部003から出力され
る。このようにすることにより、通常のパーソナルコン
ピュータを用いて本発明のアニメーション作成処理を実
施することができる。
Here, the hard disk device 1006, the floppy disk device 1007 and the optical disk device 1
A program and image data for executing the animation creating method described in the above-described embodiment is stored in any of the recording media 008. Then, according to this program, the CPU 1001 performs an animation creating process on the image data read from the recording medium such as the keystrokes, the constraint strokes, the constraint functions, etc. input from the input unit 1001. 5, Figure 2
2) is executed, and the resulting animation is output from the output unit 003. By doing so, the animation creating process of the present invention can be carried out using a normal personal computer.

【0111】[0111]

【発明の効果】以上説明したように、本発明によれば、
原画像となる1枚のビットマップ画像、あるいは、原画
像を構成する1枚のスプライトとしてのビットマップ画
像に、対象となるビットマップ画像の一連の動きを表現
するストロークや、そのストロークの形状の制約情報を
入力するという、直感的かつ簡便な操作を行うだけで、
自然で、しかも、もりあがりや凹凸等の3次元的な視覚
効果をもつような複雑な動きを有するアニメーションも
容易に生成できる。
As described above, according to the present invention,
A stroke that represents a series of movements of a target bitmap image or a shape of the stroke is added to one bitmap image that is the original image or one bitmap image that is a sprite that constitutes the original image. Just enter the constraint information, which is an intuitive and simple operation.
It is also possible to easily generate an animation having a complicated movement that is natural and has a three-dimensional visual effect such as a bumpy or uneven surface.

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

【図1】本発明の第1の実施形態にかかるアニメーショ
ン作成装置の構成例を概略的に示した図。
FIG. 1 is a diagram schematically showing a configuration example of an animation creating device according to a first embodiment of the present invention.

【図2】アニメーション作成装置の全体の処理動作を説
明するためのフローチャート。
FIG. 2 is a flowchart for explaining the overall processing operation of the animation creating device.

【図3】キーストロークの入力処理動作を説明するため
のフローチャート。
FIG. 3 is a flowchart for explaining a keystroke input processing operation.

【図4】制約ストロークの入力処理動作を説明するため
のフローチャート。
FIG. 4 is a flowchart for explaining a restriction stroke input processing operation.

【図5】アニメーションの再生処理動作を説明するため
のフローチャート。
FIG. 5 is a flowchart for explaining an animation reproduction processing operation.

【図6】キーストロークの量子化について説明するため
の図。
FIG. 6 is a diagram for explaining quantization of keystrokes.

【図7】単位ベクトル記憶手段における単位ベクトルの
記憶例を示した図。
FIG. 7 is a diagram showing a storage example of a unit vector in a unit vector storage means.

【図8】制約ストロークとキーストロークから補間スト
ロークを生成する手順を説明するための図。
FIG. 8 is a diagram for explaining a procedure for generating an interpolation stroke from a constraint stroke and a key stroke.

【図9】単位ベクトル合成による補間ベクトルの生成方
法について説明するための図。
FIG. 9 is a diagram for explaining a method of generating an interpolation vector by combining unit vectors.

【図10】生成された補間ベクトルから補間ストローク
を生成する方法を説明するための図。
FIG. 10 is a diagram for explaining a method of generating an interpolation stroke from the generated interpolation vector.

【図11】本発明の第2の実施形態に係るアニメーショ
ン作成装置の構成例を概略的に示した図。
FIG. 11 is a diagram schematically showing a configuration example of an animation creating device according to a second embodiment of the present invention.

【図12】キーストロークを所定のパラメータ曲線で近
似する処理を説明するための図。
FIG. 12 is a diagram for explaining a process of approximating a keystroke with a predetermined parameter curve.

【図13】キーストローク管理手段におけるキーストロ
ークの制御点の記憶例を示した図。
FIG. 13 is a diagram showing an example of storage of keystroke control points in the keystroke management means.

【図14】制約関数管理手段における制約関数の記憶例
を示した図。
FIG. 14 is a diagram showing a storage example of a constraint function in a constraint function management means.

【図15】キーストロークをそのキーストローク間を補
間する際の補間位置に応じて変形および合成して補間ス
トロークを生成する方法を説明するための図。
FIG. 15 is a diagram for explaining a method of deforming and synthesizing a keystroke according to an interpolation position when interpolating between the keystrokes to generate an interpolation stroke.

【図16】キーストロークの変形方法を説明するための
図。
FIG. 16 is a diagram for explaining a keystroke modification method.

【図17】制約ストロークと制約関数とに基づき補間ス
トロークを生成するアニメーション作成装置の構成例を
示した図。
FIG. 17 is a diagram showing a configuration example of an animation creating device that creates an interpolation stroke based on a constraint stroke and a constraint function.

【図18】制約ストロークと制約関数とに基づき補間ス
トロークを生成する場合を具体的に説明するための図。
FIG. 18 is a diagram for specifically explaining a case where an interpolation stroke is generated based on a constraint stroke and a constraint function.

【図19】制約関数を用いて補間ストロークを生成する
場合の一具体例を示した図。
FIG. 19 is a diagram showing a specific example of generating an interpolation stroke using a constraint function.

【図20】本発明の第3の実施形態に係るアニメーショ
ン作成装置の構成例を概略的に示した図で、第2の実施
形態に係るアニメーション作成装置の構成の変形例を示
している。
FIG. 20 is a diagram schematically showing a configuration example of an animation creating device according to a third embodiment of the present invention, showing a modified example of the configuration of the animation creating device according to the second embodiment.

【図21】本発明の第4の実施形態に係るアニメーショ
ン作成装置の構成例を概略的に示した図。
FIG. 21 is a diagram schematically showing a configuration example of an animation creating device according to a fourth embodiment of the present invention.

【図22】第4の実施形態に係るアニメーション作成装
置のキーストローク入力処理について説明するためのフ
ローチャート。
FIG. 22 is a flowchart for explaining keystroke input processing of the animation creating device according to the fourth embodiment.

【図23】ストロークの量子化とイメージチャンクの抽
出について説明するための図。
FIG. 23 is a diagram for explaining stroke quantization and image chunk extraction.

【図24】原画像からのイメージチャンクの抽出と、そ
の抽出されたイメージチャンクと単位ベクトルの対応付
けについて説明するための図。
FIG. 24 is a diagram for explaining extraction of an image chunk from an original image and correspondence between the extracted image chunk and a unit vector.

【図25】キーストロークの入力された2枚のキーフレ
ームからその間を補間する補間フレームを生成する処理
について説明するための図。
FIG. 25 is a diagram for explaining a process of generating an interpolation frame that interpolates between two key frames in which keystrokes are input.

【図26】本発明の第5の実施形態に係るアニメーショ
ン作成装置の構成例を概略的に示した図で、第4の実施
形態に係るアニメーション作成装置の構成の変形例を示
している。
FIG. 26 is a diagram schematically showing a configuration example of an animation creating device according to a fifth embodiment of the present invention, showing a modified example of the configuration of the animation creating device according to the fourth embodiment.

【図27】本発明のアニメーションを作成するためのプ
ログラムを実行するコンピュータシステムの構成例を示
した図。
FIG. 27 is a diagram showing a configuration example of a computer system that executes a program for creating an animation of the present invention.

【図28】従来のアニメーション作成装置におけるワー
ピングによるアニメーションの生成について説明するた
めの図。
FIG. 28 is a diagram for explaining the generation of an animation by warping in the conventional animation creating device.

【図29】ワーピングにより作成されたアニメーション
の一例を示した図。
FIG. 29 is a diagram showing an example of an animation created by warping.

【図30】従来のアニメーション作成装置におけるモー
フィングによるアニメーションの作成について説明する
ための図。
FIG. 30 is a diagram for explaining the creation of an animation by morphing in a conventional animation creating device.

【符号の説明】[Explanation of symbols]

1…キーストローク入力手段 2…キーストローク量子化手段 3…単位ベクトル記憶手段 4…制約ストローク入力手段 5…補間フレーム数入力手段 6…制約ストローク量子化手段 7…補間ベクトル生成手段 8…画像提示手段 11…キーストローク管理手段 12…ストローク形状変形手段 13…制約関数入力手段 14…制約関数管理手段 、15…イメージチャンク記憶手段 16…イメージチャンク生成手段 1. Keystroke input means 2 ... Keystroke quantization means 3 ... Unit vector storage means 4 ... Constraint stroke input means 5 ... Interpolation frame number input means 6 ... Constraint stroke quantization means 7 ... Interpolation vector generation means 8 ... Image presenting means 11 ... Keystroke management means 12: Stroke shape deforming means 13 ... Constraint function input means 14 ... Constraint function management means , 15 ... Image chunk storage means 16 ... Image chunk generation means

───────────────────────────────────────────────────── フロントページの続き (72)発明者 土井 美和子 神奈川県川崎市幸区小向東芝町1番地 株式会社東芝研究開発センター内 (56)参考文献 特開 平9−223242(JP,A) 岡村一美・中川正樹,ペンインタフェ ースを用いた簡易動画作成システム,情 報処理学会研究報告 96−HI−67,日 本,社団法人情報処理学会,1996年 7 月11日,p17−22 (58)調査した分野(Int.Cl.7,DB名) G06T 13/00 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Miwako Doi 1 Komukai Toshiba-cho, Komukai-shi, Kawasaki-shi, Kanagawa, Toshiba Research and Development Center, Ltd. Kazumi and Masaki Nakagawa, Simple Movie Creation System Using Pen Interface, Research Report of Information Processing Society of Japan 96-HI-67, Nihon, Information Processing Society of Japan, July 11, 1996, p17-22 ( 58) Fields investigated (Int.Cl. 7 , DB name) G06T 13/00

Claims (10)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 複数のフレーム画像間を補間する画像を
生成することによりアニメーションを作成するアニメー
ション作成装置であって、 前記フレーム画像のそれぞれに1または複数のストロー
クを入力する第1の入力手段と、 この第1の入力手段で入力されたストロークを前記複数
のフレーム画像間で補間する際のストロークの変化形状
の制約情報として、当該ストロークの変化形状を制約す
る制約ストロークと制約関数のうちの少なくとも一方を
入力する第2の入力手段と、 前記複数のフレーム画像間で前記第1の入力手段で入力
されたストロークを補間する際の補間位置と前記制約情
報と前記第1の入力手段で入力されたストロークとに基
づき補間ストロークを生成する生成手段と、 を具備したことを特徴とするアニメーション作成装置。
1. An animation creating apparatus for creating an animation by creating an image that interpolates between a plurality of frame images, comprising first input means for inputting one or a plurality of strokes to each of the frame images. At least one of a constraint stroke and a constraint function for constraining the changed shape of the stroke as constraint information of the changed shape of the stroke when the stroke input by the first input means is interpolated between the plurality of frame images. A second input means for inputting one of the plurality of frame images, an interpolation position for interpolating a stroke input by the first input means between the plurality of frame images, the constraint information, and the first input means. And an animation generating means for generating an interpolation stroke based on the stroke Location.
【請求項2】 前記生成手段は、前記第1の入力手段で
入力されたストロークをそのストローク間を補間する際
の補間位置と前記制約情報とに基づき変形および合成し
て補間ストロークを生成することを特徴とする請求項1
記載のアニメーション作成装置。
2. The generating unit deforms and combines the strokes input by the first input unit based on the interpolation position and the constraint information when the strokes are interpolated to generate an interpolated stroke. Claim 1 characterized by the above-mentioned.
The described animation creation device.
【請求項3】 複数のフレーム画像間を補間する画像を
生成することによりアニメーションを作成するアニメー
ション作成装置であって、 前記フレーム画像のそれぞれに1または複数のストロー
クを入力する第1の入力手段と、 前記複数のフレーム画像間で対応付けられた前記第1の
入力手段で入力されたストロークのそれぞれを所定の長
さの単位ベクトルに量子化する量子化手段と、 前記第1の入力手段で入力されたストロークを前記複数
のフレーム画像間で補間する際のストロークの変化形状
を制約する制約条件として、当該ストロークの変化形状
を制約する制約ストロークと制約関数のうちの少なくと
も一方を入力する第2の入力手段と、 前記対応付けられたストローク間を補間する際の補間位
置と前記制約情報と前記対応付けられたストロークの対
応する単位ベクトルとに基づき補間ベクトルを生成し、
その生成された補間ベクトルに基づき前記対応付けられ
たストローク間を補間する補間ストロークを生成する生
成手段と、 を具備したことを特徴とするアニメーション作成装置。
3. An animation creating apparatus for creating an animation by creating an image that interpolates between a plurality of frame images, comprising first input means for inputting one or a plurality of strokes to each of the frame images. A quantizing means for quantizing each of the strokes input by the first input means associated with the plurality of frame images into a unit vector of a predetermined length; and input by the first input means The changed shape of the stroke is used as a constraint condition for restricting the changed shape of the stroke when the generated stroke is interpolated between the plurality of frame images.
At least one of the constraint strokes and constraint functions that constrain
Second input means for inputting one of them, and an interpolation vector is generated based on an interpolation position when interpolating between the associated strokes, the constraint information, and a corresponding unit vector of the associated strokes. ,
An animation creating apparatus comprising: a creating unit that creates an interpolation stroke that interpolates between the associated strokes based on the created interpolation vector.
【請求項4】 前記制約情報は、前記第1の入力手段で
入力されたストロークを前記複数のフレーム画像間で補
間する際のストロークの変化形状を制約する制約ストロ
ークであることを特徴とする請求項3記載のアニメーシ
ョン作成装置。
4. The constraint information is a constraint stroke that constrains a changing shape of a stroke when the stroke input by the first input means is interpolated between the plurality of frame images. Item 3. The animation creating device according to item 3.
【請求項5】 前記制約情報は、前記第1の入力手段で
入力されたストロークを前記複数のフレーム画像間で補
間する際のストロークの変化形状を制約する制約関数で
あることを特徴とする請求項3記載のアニメーション作
成装置。
5. The constraint information is a constraint function that constrains a stroke changing shape when the stroke input by the first input means is interpolated between the plurality of frame images. Item 3. The animation creating device according to item 3.
【請求項6】 前記制約情報は、前記第1の入力手段で
入力されたストロークを前記複数のフレーム画像間で補
間する際のストロークの変化形状を制約する制約ストロ
ークおよび制約関数であることを特徴とする請求項3記
載のアニメーション作成装置。
6. The constraint information is a constraint stroke and a constraint function that constrain a changing shape of the stroke when the stroke input by the first input means is interpolated between the plurality of frame images. The animation creating apparatus according to claim 3.
【請求項7】 前記第1の入力手段で入力されたストロ
ーク近傍の領域の画像を前記生成手段で生成された補間
ストロークの位置および形状に応じて、移動あるいは変
形、あるいは移動および変形して前記フレーム画像に合
成することにより前記フレーム画像間を補間する画像を
生成する補間画像生成手段をさらに具備したことを特徴
とする請求項1または3記載のアニメーション作成装
置。
7. An image of a region near a stroke input by the first input means is moved or deformed, or moved and deformed according to the position and shape of the interpolation stroke generated by the generation means, The animation creating apparatus according to claim 1 or 3, further comprising: an interpolation image creating unit that creates an image that interpolates between the frame images by synthesizing the frame images.
【請求項8】 複数のフレーム画像間を補間する画像を
生成することによりアニメーションを作成するプログラ
ムを記録した機械読み取り可能な記録媒体であって、 前記フレーム画像のそれぞれに入力された1または複数
のストロークを前記複数のフレーム画像間で補間する際
のストロークの変化形状の制約情報として、ストローク
の変化形状を制約する制約ストロークと制約関数のうち
の少なくとも一方が入力されると、前記複数のフレーム
画像間で前記ストロークを補間する際の補間位置と前記
制約情報と前記ストロークとに基づき補間ストロークを
生成する生成手段を実行するプログラムを記録した記録
媒体。
8. A machine-readable recording medium in which a program for creating an animation by generating an image that interpolates between a plurality of frame images is recorded, wherein one or a plurality of the frame images input to each of the frame images are recorded. When at least one of a constraint stroke and a constraint function for constraining a stroke change shape is input as constraint information of a stroke change shape when a stroke is interpolated between the plurality of frame images, the plurality of frame images A recording medium recording a program that executes a generation unit that generates an interpolation stroke based on an interpolation position when interpolating the stroke between the strokes, the constraint information, and the stroke.
【請求項9】 複数のフレーム画像間を補間する画像を
生成することによりアニメーションを作成するプログラ
ムを記録した機械読み取り可能な記録媒体であって、 前記フレーム画像のそれぞれに1または複数のストロー
クが入力されると、前記複数のフレーム画像間で対応付
けられた前記ストロークのそれぞれを所定の長さの単位
ベクトルに量子化する量子化手段と、 前記ストロークを前記複数のフレーム画像間で補間する
際のストロークの変化形状を制約する制約条件として、
当該ストロークの変化形状を制約する制約ストロークと
制約関数のうちの少なくとも一方が入力されると、前記
対応付けられたストローク間を補間する際の補間位置と
前記制約情報と前記対応付けられたストロークの対応す
る単位ベクトルとに基づき補間ベクトルを生成し、その
生成された補間ベクトルに基づき前記対応付けられたス
トローク間を補間する補間ストロークを生成する生成手
段と、 を実行するプログラムを記録した記録媒体。
9. A machine-readable recording medium recording a program for creating an animation by generating an image that interpolates between a plurality of frame images, wherein one or a plurality of strokes are input to each of the frame images. Then, a quantizing means for quantizing each of the strokes associated with each other among the plurality of frame images into a unit vector of a predetermined length, and a case of interpolating the stroke between the plurality of frame images As a constraint condition that restricts the changing shape of the stroke ,
A constraint stroke that constrains the changing shape of the stroke
When at least one of the constraint functions is input, an interpolation vector is generated based on an interpolation position when interpolating between the associated strokes, the constraint information, and a corresponding unit vector of the associated strokes. And a recording medium recording a program for executing an interpolation stroke that interpolates between the associated strokes based on the generated interpolation vector.
【請求項10】 前記入力されたストローク近傍の領域
の画像を前記生成手段で生成された補間ストロークの位
置および形状に応じて、移動あるいは変形、あるいは移
動および変形して前記フレーム画像に合成することによ
り前記フレーム画像間を補間する画像を生成する補間画
像生成手段を実行するプログラムをさらに記録した請求
項8または9記載の記録媒体。
10. An image of a region near the input stroke is moved or deformed, or moved and deformed in accordance with the position and shape of the interpolation stroke generated by the generating means, and is combined with the frame image. The recording medium according to claim 8 or 9, further comprising a program for executing an interpolation image generating unit that generates an image for interpolating between the frame images.
JP21343697A 1997-03-10 1997-08-07 Animation creation device and recording medium Expired - Fee Related JP3505360B2 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP21343697A JP3505360B2 (en) 1997-08-07 1997-08-07 Animation creation device and recording medium
US09/038,932 US6208360B1 (en) 1997-03-10 1998-03-09 Method and apparatus for graffiti animation
EP98301771A EP0865003B1 (en) 1997-03-10 1998-03-10 Method and apparatus for graffiti animation
KR1019980008914A KR100339764B1 (en) 1997-03-10 1998-03-10 A method and apparatus for drawing animation
DE69826167T DE69826167T2 (en) 1997-03-10 1998-03-10 Method and device for graffiti animation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21343697A JP3505360B2 (en) 1997-08-07 1997-08-07 Animation creation device and recording medium

Publications (2)

Publication Number Publication Date
JPH1153569A JPH1153569A (en) 1999-02-26
JP3505360B2 true JP3505360B2 (en) 2004-03-08

Family

ID=16639207

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21343697A Expired - Fee Related JP3505360B2 (en) 1997-03-10 1997-08-07 Animation creation device and recording medium

Country Status (1)

Country Link
JP (1) JP3505360B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007174690A (en) * 2007-01-26 2007-07-05 Monolith Co Ltd Image encoding method, image decoding method, image encoding device and image decoding device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
岡村一美・中川正樹,ペンインタフェースを用いた簡易動画作成システム,情報処理学会研究報告 96−HI−67,日本,社団法人情報処理学会,1996年 7月11日,p17−22

Also Published As

Publication number Publication date
JPH1153569A (en) 1999-02-26

Similar Documents

Publication Publication Date Title
KR100339764B1 (en) A method and apparatus for drawing animation
Wolberg Recent advances in image morphing
US6867787B1 (en) Character generator and character generating method
US4600919A (en) Three dimensional animation
Burtnyk et al. Interactive skeleton techniques for enhancing motion dynamics in key frame animation
Milliron et al. A framework for geometric warps and deformations
US5692117A (en) Method and apparatus for producing animated drawings and in-between drawings
US5742294A (en) Method and apparatus for synthesizing images
JPH1091809A (en) Operating method for function arithmetic processor control machine
JPH0816820A (en) Three-dimensional animation generation device
JP2001344612A (en) Method and device for preparing animation, and computer-readable recording medium recorded with animation preparing program
JPH0877387A (en) Video presenting device
JP2000149046A (en) Cure generation device and method, recording medium storing program and corresponding point setting method
JP3505360B2 (en) Animation creation device and recording medium
JPH0973559A (en) Morphing editing device
JP3505361B2 (en) Animation creation device and recording medium
JP3507647B2 (en) Animation creation device and animation creation method
JP3732158B2 (en) Method and apparatus for displaying a three-dimensional shape model
JP2714100B2 (en) How to make a video
JP3533754B2 (en) Image synthesis device
JP2784097B2 (en) Image synthesizer
JP3683927B2 (en) Computer graphic production system and control method thereof
JP3511301B2 (en) Surface data generation method
JP2949594B2 (en) Video display device
JPH0935082A (en) Image processing method and image processor

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20031209

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20031215

LAPS Cancellation because of no payment of annual fees