JPH06507742A - 動画作成装置 - Google Patents

動画作成装置

Info

Publication number
JPH06507742A
JPH06507742A JP4510508A JP51050892A JPH06507742A JP H06507742 A JPH06507742 A JP H06507742A JP 4510508 A JP4510508 A JP 4510508A JP 51050892 A JP51050892 A JP 51050892A JP H06507742 A JPH06507742 A JP H06507742A
Authority
JP
Japan
Prior art keywords
line
subset
data
frame
curve
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP4510508A
Other languages
English (en)
Inventor
ベレンド,アンドリュー ルイス チャールズ
ウィリアムズ,マーク ジョナサン
ブロックルハースト,マイケル ジョン
ジョーンズ,ギャビン ティモシー
ホウキンズ,スチュアート フィリップ
Original Assignee
ケンブリッジ アニメーション システムズ リミテッド
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
Priority claimed from GB9110945A external-priority patent/GB2256118A/en
Priority claimed from GB9117409A external-priority patent/GB2258790A/en
Priority claimed from PCT/GB1991/002124 external-priority patent/WO1992009966A1/en
Application filed by ケンブリッジ アニメーション システムズ リミテッド filed Critical ケンブリッジ アニメーション システムズ リミテッド
Publication of JPH06507742A publication Critical patent/JPH06507742A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。

Description

【発明の詳細な説明】 動画作成装置 兄■9分野 この発明は、例えば漫画映画などの、動画化された一連の画像を制作するための 装!およびその方法に関するものである。
茸量技街の脱去 従来の動画を作成する方法は手描きによるものであり、→のフレームをいちいち 手で描き、これを比較的速い速度で連続して再生すると動きのある画像が形成さ れるようになされたものであった(典型的なフレーム速度は1砂崩たり24.2 5或いは30フレームである。ただし、場合によっては同一のフレームが2回反 復される)。短い動画の場合ですら、数千フレームもの多くのフレームを手で描 く必要があるから、このように多(のフレームを手で描くには熟練した動画作成 者とその助手による大がかりなチームが必要である。今日においても、はとんど 全ての動画作成は、依然としてこのようにして行われているのである。
動画作成の主要な工程は以下のようなものである。
1、 「キー・フレーム の− この工程では、上級動画作成者によって全動画列の中の重要なポイントにおける 各登場キャラクタの描画が行われる。
2、r日百 −′1nbetweeninこの工程では、通常の技能を有する画 像作成者(上級画像作成者はどには技能がない)によって、隣接するキー・フレ ームとキー・フレームとの間のフレームが、目視による内挿によって作成される 。
3・」之ヱ乞力各上り この工程では、一連のキー・フレームおよびそれらの中間フレームをフィルムま たはビデオ・テープに録画し、これを再生して間違いがないかを確認する。もし 、必要があれば、この時点でフレームが再度描き直される。もし、間違いがない 場合には、鉛筆による下図をクリア・セルに転換し、インクでトレースし、必要 な色づけを行って、さらにキャラクタを所望の背景の中に置いて、フィルムある いはビデオ・テープに録画する。
このような方法で動画を作成するには、真人な量の絵を描(必要があり、そのた めには多くの時間と費用とが必要となる。そのため、動画作成処理の一部を自動 化しようとの試みがなされてきた。インクによるトレースと色づけは非常にうま く自動化がなされており、これによっである程度の人員数と時間の節減が可能と なった。
また、内挿あるいは中間画像作成についても、自動化の提案がすでに行われてい る。このような提案による方法では、上級動画作成者によって作成されたキー・ フレームを適当な入力手段によってスキャンして、例えばプログラムされたコン ピュータなどの画像処理装置に入力して、それぞれのキー・フレームを対応する 内部表現として記憶する。2つのキー・フレームの対応する点あるいは線、また はその他の対応する部分をマニュアル操作によって識別し、各中間フレームの類 似する点、線、あるいは類似部分を記憶されている2つの隣接キー・フレームか ら内挿して作成することにより、指定された部分についての一連の中間画像フレ ームが生成される。次に、指定された点や部分以外の残りの部分についてフレー ムを完成させる。
しかしながら、このような提案はどれもうまくいっていない、その理由は原画か ら導出した2つのキー・フレームにおいて、それらの間の対応部分をEl+する ことが極めて難しいからである。同一の動画作者によって描かれた2つのキー・ フレームは人間の目には類似して見えるかもしれないが、実際には2つの線の間 で、個々の点は異なっており、画像処理装置では、このような差異と、動きによ る差異、すなわち意図的な差異との違いを認識することができないのである。す なわち、実際に差異が存在し、それらの差異の中間点を内挿でめるべきなのが、 または、そのような差異は単なる偶発的なものであるのかを識別することができ ない。
英国特許出願9110945.4と9117409.4と他の出願(これら全て の出願は参照され、全て本願に組込まれている)を優先権主張している我々の最 初の国際特許出願GB91102122と対応する米国特許出願は従来の問題の 多(を解決する動画システムを説明している。
動画アニメーションの従来の作成における上述した段階において、上級の画像作 成者が各フレームの人物の形状をラフに描画する。このラフな形状は本質的な輪 郭だけを含み、それは青色の鉛筆で描かれてもよい。この青色の鉛筆で描かれた 図形のつながりを比較することにより、動画作成者は、その人物の全体的な動き を作図することができる。
上級画像作成者がその図形を描いてしまうと、助手は各フレーム(キーフレーム 及び中間フレーム)の詳細な特徴(例えば顔の特徴)を付加し、必要とする全て を含む黒色の線の画像を作成する。それから、この青色の鉛筆で描かれた線と完 全な黒の線とを含む画像は、青色を再生しない複写機を用いて複写される。
アニメーションの1分の間には1500枚の絵が必要で、そのうち300枚はキ ーフレームであるため、同じ人物の同じような姿勢の絵を真人な数描く必要があ る。
上述した我々の国際特許出願では、各人物のための大量の線は各キーフレームで 表わされ、動作作成者が編集画面上でキーフレームを作成する。この大量の線は 新しいフレームが作成される度に編集される必要がある。これは不便で、しかも 動画作成者の貴重な時間を無駄にするものである。
したがって、−態様として、編集されるフレームが、動画作成者が編集する線画 として表示される動画システムを提供する。各線画は第1の方法で表示さ江編集 のために操作される第1のサブセット(subset)ラインと、異なる方法で 表示されるか、あるいは表示されない第2のサブセットラインとを含み、この動 画システムは第1のサブセットラインの位置の変化に従って第2のサブセットラ インの位置を変化させる。
例えば、第2のサブセットラインは、画像の編集を簡単にするために選択的に表 示されなくてもよい。
好ましくは、第2のサブセットラインの各ラインは、第1のサブセットラインの 少なくとも1つのラインとリンクされており、第1のサブセットラインの動きは 、対応してリンクされている第2のサブセットラインの1ラインの所定の動きを 導いている。
第1のサブセットラインを動画作成者によって描かれた「青色の画像」に対応さ せ、第2のサブセットは助手あるいは「仕上げ画家」によって付加された詳細部 分に対応させてもよい。しカルながら本発明によれば、青色の鉛筆の線で詳細な 線を移動させることにより、アニメーションにおける仕事量を減少させ、各キー フレームに詳細な線を付加するために必要な編集量を大幅に減少することができ る。
このような動画システムによれば、動画作成者は、単に第1のサブセットライン の曲線を変更するだけで、1つのキーフレームを編集して新たなキーフレームを 作成できる。好適な実施例によれば、全てのキーフレームは、キーフレームで使 用されるであろう全てのラインを含む共通のテンプレートフレームから作成され 、動画作成者はそのテンプレートを複写し、第1のサブセットラインを編集して 新たなキーフレームを作成できる。
線画における複数のラインが一緒に移動するコンビエータ・グラフィック装置が 知られている。そのような装置には、与えられた矩形成はフィールド内の全ての ラインを同時に処理できるものもあり、全てのラインに対して変換を行うことが できるものもある0例えば、個々に定義された境界線でエリアが定義され、その エリア内の全てのラインが、ゴムシートの表面に書かれているかのように、その 境界線を曲げることにより影響されるであろう。しかし、境界線が曲りを制御す るために使用されていると、これらラインは直接操作されない、また、そのエリ ア内のラインは、個々に処理されることはできない。より単純なシステムでは、 複数の曲線が単一のグループとして指示され、全てが共に移動され、あるいは簡 単な変換の対象となる。このような単純なシステムでは、ラインの形状を変化( アニメーションには重要である)させることは不可能である。
他の態様によれば、本発明は動画のシーケンスを作成できる装置を提供する。
この装置は、各絵に対して、それぞれの絵を複数のラインを定義するデータとし て複数の絵を定義するデータを記憶する手段を備える。この装置は、絵の中の第 1のサブセットラインの位置を定義する第1のラインデータな記憶し、その絵に おける第2のサブセットラインの位置と、第2のラインと少なくとも1つの第1 のラインとの間の相関を示すリンクデータを定義する第2のラインデータを記憶 する。この装置は更に、第1のラインデータを補正する手段と、その第1のライ ンデータの補正と、リンクデータに基づいて第2のラインデータを作成する手段 を有する。
後に記述するように、あるいは後に請求の範囲において定義するように本発明は 、これら以外の他の好適な態様および実施例を有し、これらの実施例を単独ある いは組み合わせて用いることにより、高速で、簡単に用いることができるキャラ クタ動画のための自動動画システムを得ることができる。
また、本発明の多くの態様は動画以外の他の分野(例えば、計算機支援設計など )、或は単一の静止画の作成にも採用することもできることは明らかであろう以 下に、添付図面を参照しながら、本発明をさらに詳細に説明するが、これらは単 なる例示であって、本発明がこれらに限定されるわけではない。
図面の簡単な説男 図1a〜図1eは曲線の近似方法を示す図である。
図28及び図2bは3次助変数曲綿に用いられる制御変数を変化させると、とよ うな結果が得られるかを示した図である。
図3は本発明の一実施例の装置を示すブロック図である。
図4は本発明の他の実施例の装置を示すブロック図である。
図5は本発明のさらに他の実施例の装置を示すブロック図である。
図68は、この実施例の装置のメモリに記憶される情報を示す図であり、図6b はこの情報によって表される曲線を示す図である。
図7は、これらの実施例において表示を行う場合の処理を示す概略図である。
図8は、図7に示した装置の動作の概略を示す流れ図である。
図9は、図68に示したデータの編集処理動作の概略を示すブロック図である図 1Oは、図9に示した装置の処理動作の概略を示す流れ図である。
図11は、上記実施例の装置のユーザによってなされる一連の処理の概略を示す 流れ図である。
図12は、データがリンクされたリストとしてどのようにメモリ中に記憶される かを、概略的に示したブロック図である。
図13a〜図13eは、図12の要素中に記憶されるデータを、さらに詳細に示 した図である。
図14は、メモリに記憶されている、表示画像に対応するデータについて、さら に詳細に示した図である。
図15はリンクされたリストとしてメモリ中に記憶されている図14の情報につ いて、概略を示した図である。
図16は上記実施例における、画像記憶装置の中味を概略的に示したブロック図 である。
図17は上記実施例における表示装置の表示領域を示す概略図である。
図18は表示領域の中の関連する表示の様子を示した図である。
図19a〜図19cは、可能な表示形式例を示した図である。
図20は編集中における表示の様子を示した図である。
図21は上記実施例における表示領域の様子を概略的にさらに示した図である図 22は、本発明の1実施例による、動画像フレームを内挿する方法を概略的に示 した図である。
図23は、図22の方法の一部について、概略的に示した図である。
図24は、この実施例において、キー・フレームを内挿フレームに変換する方法 について、概略的に示した図である。
図25は、この実施例において、キー・フレームを削除する方法について、概略 的に示した図である。
図26は、この実施例において、キー・フレームを動かす方法について、概略的 に示した図である。
図27a〜図27dは、図22〜図26の動作に対応してモニタ装置に表示され る表示結果を概略的に示した図である。
図28a〜図28dは、制御点の曲線から曲線への変換を行うと、その結果がモ ニタ160上でどのように表示されるかを概略的に示した図である。
図29a〜図29dはこれに対応して生じる、メモリ121の内容の変化を示し た図である。
図30は、フレームの内挿あるいは追加のための準備を行う方法を概略的に示し た図である。
図31は、フレームを1つに足し合わして、合成フレームを生成する方法を概略 的に示した図である。
図32は、フレームの内挿または合成において、曲線の点位置を導出する方法を 概略的に示した図である。
図33は、本発明のこの実施例において、lプロセッサ中に具備されている機能 要素の説明図である。
図34は、本発明の実施例において、表示装置上の接続された線を表わした図で ある。
図35は、図34の接続された線に対応するメモ1月20内のデータ配列を説明 する図である。
図36は、図34の表示を発生させる方法を概略的に示すフローチャートである 。
図37は図34に対応し、図36に従って第1の方法の効果を概略的に示す図で ある。
図38は、図36に従って第2の方法の効果を概略的に示す図である。
図39は、図36の処理の前後において、他の実施例の表示装置上で他の2つを 接続する1本の線を概略的に示した図である。
図40は、図37に示された効果を発生する図36の処理をより詳細に示す図で ある。
図41は、図39に示された表示を作成する図36の処理をより詳細に示す図で ある。
図42は、本発明の他の実施例に係る、図41の処理の他の方法によって作成さ れた表示例を示す図である。
図43は、本発明の更に他の実施例に係り、その更に他の方法による効果を説明 する図である。
図44は、図41の方法の他の方法を用いた発明の実施例によって作成された表 示例を示す図である。
図45は、多くの他の線に接続された1本の縁を構成する表示例を示す図である 。
図46は本発明の更に他の実施例により提供された表示例を示す図である。
図47Aは、本発明の他の態様に係る第1のモードで作成された表示例を示す図 である。
図47Bは、その態様に従った第2のモードで作成された表示例を示す図である 。そして 図48は、図47に示された発明の態様によって達成された処理シーケンスを概 略的に示すフローチャートである。
ゝ arawtric curves 本発明を詳細に議論する前に助変数曲線について簡単に説明する。この曲線は熟 練した技術者には、通常の一般知識の一部として知られているものであり、例え ば、P、バーガー(P、 Burger)およびり、ギリーズ(D、G11li es) (−uジソン・ウニズリ−(Edison Wesley) 、I S BN 0−201−17439−1.1989)による「対話的コンビエータ・ グラフィックス(Interactive CoIIputer Graphi cs) Jにおいて、あるいは、モルガン・カウフマン(Morgan Kau fmann1社から刊行されているRoH,バートルズ(R,H,Bartel s)、J、C,ビーティ(J、C,Beaty)、およびB。
A、バースキ(B、A、 Barsky) (I SBN 0−934613− 27−3 )による[コンピュータ・グラフィックおよび幾何学的モデルに用い るスプライン入門(An 1ntroduction to 5plines  for Use in Col1puter Graphics and Ge ow+etric Mode撃撃奄獅■j Jに 説明されている(上記の2つをここに参照併合する)。
図IAを参照すると、これは、フリーハンドで描かれた、かなり滑らかな曲線を 示している。図IBは、曲線を表す1つの方法として、直線セグメントを点とを 次々に結んで描いてい(やり方を示したものである。しかし、この方法で曲線を 線分で十分に模擬するには、図1cに示されているように、多くの線分が必要と なる。
別の方法として、点と点との間を次々に曲線セグメントで結んでいくことによっ て所望の曲線を表現するやり方がある0図1Dに示したように、隣接する曲線セ グメントの接続点における傾きが互いに同じとなるようにすることによって、曲 線を滑らかに接続していくことができる。
よ(知られている1つの曲線近似法は、近似曲線として3次曲線を採用する方法 であり、この方法では、座標変数Xおよびyを、それぞれtをパラメータとする 3次多項式を用いて表わす0通常、パラメータの値は、0と1との間に入るよう になされる。従って、各曲線セグメントは1次のように表される;x = a  * t ” + b m t″+CIl t+a、 (1)3’=ay t”  +b、t” +c、t+d、 (2)各セグメントは、2つの端点を持っており 、これらの端点においては、それぞれ1=0およびt=1となる。従って、1= 0となる端点の座標は Xo =cL、yo ’=dyとなり、一方、t=1の 端点における座標は、以下のようになる:X + = a++ + bm +  Cm + dv (3)3/ l = ay + by + Cy + dv  (4)もし必要ならば、各セグメントが隣のセグメントと連続的な曲線として結 がるように、これらの端点における曲線セグメントの傾きを固定あるいは予め定 めらている値とすることができる。
端点と端点との間の曲線の形状は、端点における傾きを与えることによって部分 的に定めることができるが、さらに完全に形状を指定する情報を視覚的にわかり やすく表現する別の方法がある。すなわち、各端点において接線ベクトルを導入 して、その接線ベクトルの長さを用いるのである。2つの端点の間の曲線は、そ の端点においである決まった傾きを持つように端点に束縛固定されていると考え ることができる。このとき、接線ベクトルの長さを変えると、端点から接線の方 向へ引っ張り出される曲線の長さが接線ベクトルの長さに比例して変化する。
すなわち、接線ベクトルの長さが長げれば長いほど、曲線は、より広い範囲でそ の接線に添う傾向を示す、接線ベクトルは上記の方程式(1)〜(4)から導き 出すことができ、逆に接線ベクトルを与えると方程式が定まる。例えば、ベジェ 接線ベクトルの端点が、1=0における端点の座標がxo + yxで表され、 またt=1の端点の座標が、xs、y、で表されているとき、係数a、 b、  c、 dは次のように与えられる。
d、、 =xo (同様に d、=y、) (5)bx =3 <xo −2x * +Xs )(byQ様) (6)cx =3 (Xs Xo ) (Cyも 同様) (7)am =3x* −Xo −3xm +X+ (atも同様)  (8)曲線方程式を変数tについて微分すると次の形の式となる:c+2bt+ 3at” (9) 1=0及びt=iの点における微分値はそれぞれ、以下のようになる。
3 (x+ −Xs ) =c、 + 2 bx + 38ffi3 (y+  :fx ) =Cy + 2 by + 3 ayこれらの方程式から、検査に よって次のことがわかる。即ち、ベジェ制御点(Xs + V寓)、(xs 、  ys )における接線の長さは、実際の接線ベクトルの長さの173となる。
実際の接線ベクトルを採用することも可能であるが、ベジェ接線ベクトル(方向 は同一であるが、長さが1/3であるベクトル)を採用した方が数学的に便利で ある。
いわゆる、エルミート(lermite)形式で3次方程式を表すと、曲線セグ メントを定義するのに用いられるデータは端点の座標、各端点に右ける接線ベク トルの傾き、および各接線ベクトルの長さである。一方、ベジェ・フォーマット では、曲線セグメントを定義するデータとして、端点の座標、および各接線ベク トルの先端点の座標とを用いる。エルミート形式とベジェ形式との間の変換は、 単なる極座櫟形式から直交座標形式への変換、あるいはその逆の変換である。
図2Aは接線ベクトルの角度を一定としたままで、大きさ、或は長さを変化させ ると、どのような効果が得られるかを示したものである。図かられかるように、 接線ベクトルの長さに応じて、曲線が接線ベクトルの方向に引き出されるような 効果がある。
一方、図2Bは、接線ベクトルの大きさを一定に保ったままで、その角度を変え たときに、どのような結果が得られるかを示したものである。
他の型の3次曲線を用いる方法も知られている0例えば、2つの端点と、その中 間に存在するが曲線が通過しないような複数の制御点によって定義されるB−ス プライン方法がある。しかし、多くの応用においては、ベジェ曲線による表現が 用いられている。その理由は、これが比較的容易に取り扱えることにある。例え ば、近似された曲線を既存の曲線に適合させようとするとき、曲線上の任意の点 の座標およびその点における接線の角度は直接に測定が可能であり、また指定が できる。多くのレーザプリンタの制御に用いられいるボストスクリプト(Pos tScriptlのコマンド言語は、この曲線表現を採用しており、曲線セグメ ントの端点の座標を定義する値と、それに対応する接線ベクトルの端点の座標を 定義する値とが用いられている。
一般に、滑らかな曲線が、上記のような端点を数多く定義することによって得ら れる。このとき、各曲線セグメントは隣接する曲線セグメントと端点を互いに共 有することになる。もし、曲線を滑らかとする必要があるときには、その共有端 点において、それぞれの曲線セグメントに対して定義される接線の角度が同一と なるようにする必要がある。但し、接線ベクトルの長さは互いに同一とする必要 は一般にはない。
しかし、端点における接線の角度をその端点と接続されている2つのセグメント の間で互いに異なったものとすることにより、図1eに示したように、曲がり方 が不連続であるような曲線を表すことも可能である。
ここでの目的において、このような曲線表現形式を用いることの主要な利点は、 少数の係数あるいは制御点を用いるだけで、滑らかで、肉太な曲線を定義するこ とができ、また、曲線全体にわたる真人な再計算をすることなしに、曲線の修正 を行うことができるということである。
なお、各点が3次元座標を有している場合には、3次元3次スプラインを指定す るために2に関する方程式が必要となるが、これは上記の方程式から検分によっ て容易に導き出すことができる。
本発明を実施するための装置について以下に説明する。
K19概整説男 図3に示されているように5本発明の1実施例による装置は、コンピュータ10 0を有しており、このコンピュータ100は中央演算装置110と、CPU11 0のプログラムを記憶し、また読み出し書き込み可能な作業メモリとしても動作 する記憶装置120と、生成すべきあるいは処理すべき像の各点とそれぞれに対 応関連づけられた一連の記憶場所を有するフレーム記憶装置130と、外部装置 から読み込みあるいは外部装置へ書き出しをするための入出力ボートを有する入 出力制御装置140とを備えており、これらはすべて、共通並列データ・アドレ スバス150を介して互いに結合されている。
また、装置には、コンピュータ100に接続されたモニタ160が備えられてお り、その表示内容はCPUll0の制御の下にフレーム記憶装置130によって 更新される。さらに、少なくとも1つのユーザ入力装置170a、170bが備 えられている。170bは、典型的にはキーボード170bであり、これによっ てコマンドの入力、または像の生成あるいは像の処理動作の開始、終了、記憶な どの周辺動作を制御するための制御信号の入力を行う。また、170aは、典型 的には、位置検出入力装置であり、例えばスタイラスとディジタイズ・タブレッ トとを組み合わせたもの、あるいはマウス、またはモニタ160上のタッチセン シティブスクリーンや、トラックボール装置、ジョイスティックなどが用いられ る0位置検出入力装置170aからの信号に応じてカーソル記号がコンピュータ 100から発生され、このカーソル記号がモニタ160上に表示される。これに より、像の生成あるいは処理を行うときユーザは、モニタ160上で像を詳細に 観察して、像の点または領域を選択あるいは指定することができる。
分解能を十分に高くすると、1フレ一ム分の1つの像に関連するデータ量は大き なものとなるので、好適には、例えば、ハードディスク装置などの大容量記憶装 置180を備え、これを用いて長期間の像の保存を行う。また、好適には、大容 量記憶装置180はフロッピディスクドライブ、あるいは大容量テープドライブ などの交換可能な媒体による記憶装置を具備しており、これによってコンピュー タ100への、或いはコンピュータ100がらのデータ転送がなされる。
好適には、入出力装置140には更に、生成された像を恒久的に見ることが可能 な形式で出力記録を供給するためのプリンタ190が接続されている。この出力 は、透明紙あるいは通常の紙に対してなされるようにできる。また、好適にはフ ィルム記録装置196および/あるいはビデオレコーダ197、および連続した 一連のフレームから成る適当にフォーマットされた動画像出力を生成する手段と が備えられている。
例えばスライドなどの像をスキャンし、これに対応するビデオ信号をコンピュー タ100に対して入力するためのスキャナなどの画像入力装置195を備えるよ うにすることもできる。
図4を参照する。本発明の1実施例の動画像作成システムは、図3に示したコン ピュータ100を備えており、このコンピュータは動画像作成者が作業をするた めの作業端末となる。また、この動画像作成システムは、内挿装置101、再生 装!I03、および描画装置105からなる3つの異なる画像列処理を実行でき るようになされている。内挿装置については、本発明が主に係わるものであるが 、→の画像フレームを生成するためのものである。再生装置103は、既に生成 されて記憶されている→の画像列を呼び出し、この画像列を動画として動画作成 者作業端末装置のモニタ160上に表示する。仕上げ描画装置105は像に色づ けを行い、また線表現の表現具合(例えば厚さ)を変更する。この仕上げ描画装 置105は、好適には、我々の以前の出願9110945.4および本発明と同 日に出願され同じ優先権主張をしている我々のPCT出願PCT/GB9110 2/24.そして我々のPCT出願PCT/GB92・・・同じ優先権主張の基 に本発明と同日に出願された(代理人資料番号5130799)に開示されてい るようにして動作する。
図5を参照する。本発明による大規模な動画像生産のための1実施例では、複数 の作業端末110a−110cが備えられており、別々の異なるユーザが与えれ な動画像列の中の異なる部分を制御用プロセッサを備えたディスクドライブ装置 などの共通の大規模記憶装置180(ファイルサーバ)を共用しながら作成する ことができるようになされている。なお、この大規模記憶装置180は、作業端 末にイーサネットなどのローカルエリアネットワーク(LAN)を介して接続さ れている。
通常、仕上げ描画処理は、本発明による各フレームに対する内挿処理と比較して さらに多(のビクセル演算を必要とするから、独立したプロセッサ110d〜1 10f(典型的には少数)を備えて、これらをローカルエリアネットワークを介 して作業端末110a〜110cと接続させ、仕上げ描画処理作業を実行するよ うにすることが望ましい。このようすることによって、より簡易なコンピュータ を動画作成者作業端末110a〜110cに用いることも可能となる。また、こ れらは、例えば数値演算コプロセッサ及び/或いは高級なグラフィックスエンジ ンなどを備えていなくともよい。あるいは、同一のプロセッサを必要に応じて描 画プロセッサと作業端末とで使い分けるようにしてもよい、この場合、制御手段 を備えさせて、各プロッセサの現在の負荷を判定し、負荷を割り当てて与えたり 、作業端末のタスクをネットワークに接続されているプロセッサに与えて処理負 荷を管理する(例えば、バランスをとる)ようにすることができる。
上記図3及び図4の実施例を実現するのにふされしいコンピュータ100の1つ の例は、米国ネクストコンピュータ社(NaXTCoa+puter、 Inc l製のネクストディメンジョン(Nextdieension)カラーボードを 備えたネクストキューブ(NexTCUBE)コンピュータである。この装置構 成を用いると、フォーマット化された出力を直接にビデオカセットレコーダある いはその他のビデオ記憶装置に対して出力することができ、また、逆にビデオ入 力信号を受け取ることができる。さらに、このコンピュータはディスク記憶装置 】80に記憶させる際に画像圧縮を行うための手段、またこのようにして記憶さ れた画像を伸長して表示させる手段を有している。
本発明のこの実施例においては、対象物の線画が表示フレームに表示されて、ま た/あるいは記憶されている制御点データ(好適には、データは上記のベジェ形 式で記憶されている)を参照しながら編集が行われる。言い換えれば、記憶され ている表示フレームの表現はライン表示を構成するラインセグメントを定義する 複数の制御点から構成されている。
図6aを参照する。メモ1月20は作業メモリ領域121を有しており、この領 域に対してデータが書き込まれる(例えば、ランダムアクセスメモリ領域)。
図6bに示すように、モニタ160に表示された画像は少なくとも1つのライン Aを含んでおり、このラインは3つの制御点A、、ん、Asによって定義される 3次曲線によって描かれる。この線画を表すための対応する画像フレームデータ は、作業メモリ121の中のフレームテーブル122に曲線列(曲線l、曲線2 等)として記憶されており、これら曲線列の各々はそれぞれ制御点列(点1、点 2、点3)によって定義されている。各制御点はその制御点が表示される領域の 位置を表す位置データ(xl 、 3’+ )と、制御点の両側の曲線セグメン トに関する2つの接線の先端点を定義する接線データ(X□g y++++ X fl+ 3’r1)とによって表される。接線先端点データ(x*++ y□、  Xr++ yr+)は、接線の先端の位置を定義する位置データX、Yとして 記憶される。あるいは、制御点からのオフセット量x、yとして記憶するように もできる。
モニタ160は通常はラスクスキャン型が用いられる。従って、モニタ160に はラスタスキャン画像を供給する必要があり、先に議論したように、メモリマツ プされた画像記憶装置130から供給される。従って、ライン表示出力発生手段 111を備えていることが必要であり、これによってフレームを構成する曲線セ グメントを表す記憶データを読み出し、これに対応して、複数のビクセルから構 成されるタスク画像データを生成して、画像記憶装置130に記憶する。白黒表 示装置を用いた場合には、各ビクセルデータは1ビット或いは短いビット数しか 必要としない。
従って、図7に示したライン表示ジェネレータ111はメモリ122にアクセス して、記憶されているデータを読出し、また、画像記憶装置130にビクセルデ ータを書き込む。図8に示したように、このライン表示ジェネレータは中間点位 置を算出し、画像記憶装置130の中の曲線上に存在するビクセルに対応する記 憶場所を「暗」にセットし、その他の全ての記憶場所を「明」にセットする。
画像記憶装置130の内容は、モニタ160上に表示される。実際には、ライン 表示出力発生手段111は、メモリ120のプログラム記憶領域に記憶されたプ ログラムによって制御されて動作するCPUll0によって構成される。コンピ ュータ100が、上言己のネクストコンピュータによって構成されている場合に は、ライン表示出力発生手段111はオペレーティングシステムの中に具備され ている[ボストスクリプト(PostScript) J表示コマンド言語の制 御の下に動作するCPUll0によって構成される。
さて、上記の装置によって行われる基本的な動作について、いくつかを次に説明 する。
2とニムの編塞 後に、さらに詳細に議論するように本発明の好適な実施例では、ユーザがフレー ムを編集することを可能とする手段が備えられている。フレームの編集は、既存 のライン軌道を変更することと、或いは(変更に比べるとまれであるが)新たな ラインを付は加えることによって行われる。従って、フレームテーブル122に 保存されているデータを修正することができるようになっており、また好適には 画像記憶装置130に記憶されている画像データも修正することができ、ユーザ はこれら変更結果を見ることができるようになされている。テーブル122に記 憶されているフレームデータを修正するための手段をユーザに提供する最良の方 法はユーザが位置検出入力装置170aを用いて、モニタ160のスクリーンに 表示されたフレーム画像を直接的に修正することができるようにすることだとい うことがわかっている。
皿喚愚J舷l墓 この実施例においては、図9に示されているように、ユーザは例えばマウスなど の位置検出入力装置170aを操作し、この位置検出入力装置170aを動がす ことによって、動きの方向と大きさとを示す信号を発生させる。この信号は、装 置入出力制御器140によって検出され、これに対応する信号がカーカ装置制御 装置112(実際は、CPUll0が、記憶されているプログラムの制御の下に 処理を行う)に供給される。カーソル位置制御装置112は、記憶されているx 、y座標表現によるカーソルの現在位置データを保持しながら、装置入出力制御 器140からの信号に従って、記憶されているカーソル位置を更新する。カーソ ル位置制御装置112は、画像記憶装置130にアクセスして記憶されているカ ーソル位置に対応する画像データを修正し、モニタ160上にカーソル位置記号 りを表示する。このようにして、ユーザは入力装置170aを動かすことによっ て、カーソル位置記号りの表示位置を移動させることができる。
好適な実施例においては、ライン表示ジェネレータ111は編集モードにおいて 、ラインAに対応するデータを画像記憶装置130に書き込むだけでなく、制御 点データを表示できるようにすることも可能なようになされている。従って。
各制御点A+ 、Avに対して、ライン表示ジェネレータ111は制御点記号( 例えば、黒の滴点)を表すデータを、制御点の座櫟x、yに対応する画像記憶装 置のアドレス位置に書き込む。
さらに、ライン表示ジェネレータ111は、好適には、各制御点に対し、これに 対応させて第2の制御点記号E、(或いは、このような記号を2つ)を、点A、 から制御点接線データによって定義される直線に沿って移動した点に相当する位 置、即ち、位!X□、y□、および/またはX r + + 3’ t +に発 生させる。好適には、接線そのものを表す2点A1およびE、の間の直線が同様 にして生成される。
新たな曲線Aを入力するには、ユーザはそのようにしたいのだという意志を示す 信号(例えば、キーボード170bからコマンドをタイプすることによって、ま たは、カーソル記号を制御メニュー表示の所定の領域に移動させることによって )を発生させ、カーソル記号dを表示装置160上の所望の位置に移動させる0 次いで、位置検出入力装置170aを操作して、所望の点に到達したことを示す 制御信号を発生させる。カーソル位置制御装置112は、カーソル現在位置デー タをフレームテーブル122に制御点位置座樟として与える。また、これに対応 して表示ジェネレータ111は制御点記号を表すデータを、画像配憶装置130 に制御点座標に対応するアドレス位置に対して書き込む。次にユーザは、接線先 端位置情報を例えば、キーボード170bを介して、または、後に述べるような 方法で入力する。第2の経路制御点がこのようにして定義されテーブル122に 記憶されると、これに対応して監視画像ジェネレータ111は中間画像点を画像 記憶装置1.30に書き込むことによって、これらの間のラインセグメントを監 視表示装りに表示させる。
(以下余白) 図10に示したように、監視表示装置上に表示されているラインAの経路又は形 状を修正するには、ユーザは入力装置170aを操作してカーソル位置記号りを 移動させ、表示装置160上の制御点記号A1またはElのいずれかと一致させ る。ユーザは制御信号を発生させて(例えば、マウス入力装置170aを[クリ ック(click) Jさせる)、カーソルが所望の位置にあることを示す、デ バイス入出力コントローラ140はこれに応答して、制御信号をカーソル位置制 御装置112に供給する。カーソル位置制御装置112はカーソル位置データを 監視画像エディタ113(実際には、CPUll0が記憶されているプログラム の制御の下にこの機能を果たす)に供給し、ここで、記憶されているカーソル位 置と、点Aの位置(X、Y)および点Eの位置(xe 、y@ )とを各位置に 対して比較する。
カーソル位置が位置Aあるいは接線先端位置Eのどれかと一致していると判断さ れると、次に画像エディタ113が、更新されたカーソル位置をカーソルコント ローラから受け取り、カーソル記号がそれと一致している点A1に対応する点デ ータを修正し、その点をその後のカーソルの動きに対して追随させて移動させる 。
カーソルが曲線Aの点A、の位置にある場合に、ユーザが入力装置!170aの 操作を行うと、ラインテーブル122の中の位置データ(x+ 、Yl )が修 正される。しかし、接線データ(x*+、y□)は影響を受けずに元のままとな っている。一方、カーソルが接線先端点E+の位置にあるときに、ユーザが入力 装置170aを操作した場合には、メモリ120の中のフレームテーブル122 の接線先端点データが変更され、一方、制御点位置データ(x、y)は影響を受 けない。
いずれの場合も、それぞれ上記のような修正がラインテーブル122の内容の内 容に対して行われてから、画像ジェネレータ111は、今問題となっている制御 点によって影響を受けたラインセグメントを、画像記憶装置130に再生成し、 モニタ160上のライン表示を変更する。
一旦、ラインが所望の位置に修正されると、ユーザはさらに制御信号を発生させ る(例えば、マウス入力装置170aを「クリック」させる)。すると、監視画 像エディタ113はメモ1月20の内容の修正を停止する。一方、カーソル制御 装置112は記憶されているカーソル位置の更新を続行して行う。
この方法を用いてライン表示を修正すると、非常に簡単にすばやくできることが 確認されている。
2゛−百 の 1日 本発明による好適な実施例の装置によって実行される、ユーザが動画画像列を定 義できるようにするための処理は、以下のように行われる。
1、 百と べき・ の− 例えば、キャラクタ等。後にさらに詳細に説明するように、この実施例の装置で は、動画とすべきキャラクタまたは対象を位相幾何学的表現を用いて定義するこ とが可能である。
2、ヱニニヱに二△Q定義 既に定義されているキャラクタを特定の形状で表示し、動画像列の中の離れたフ レームに対応させてキャラクタの向きや、位置を定める。
3:巴逓ヱにエム9作成 上記のようにして作成されたキー・フレームから、複数の中間フレームを作成し てその対象物を操作する。
4、表示2編! キー・フレーム及び内挿されたフレーム列、またはその画像が表示され1編集さ れても良い。
5、再生 フレーム列をビデオ画像に相当する一定の表示速度(1砂崩たり24.25又は 30フレーム)で連続的に表示装置に表示し、ユーザが動画列画像を見ることが できるようにする。画像列は、関連する音響トラックとともに再生することもで き、タイミングについて、および同期がうまく取れているかについて評価を行う 。
6、 L比m画(Rendering)フレームあるいは画像列に対して色づけ 、及び/又は陰影づけ、及び/又は所望の背景との合成を行い、ビデオ画像列と して完成させる。
2゛−システムの の この実施例の1つの典型的な動作シーケンスを図11に示す。まず最初に、ユー ザは動画とすべきキャラクタ或いは対象を作成する。対象物の形状を変えること は可能であるが、しかし、その下地になっているトポロジー(topology )は一定のままに維持される。従って、ユーザは最初の「テンプレート(tem plate) J 、即ち下地となるトポロジーのデータを作成する。このテン プレートは、すべてラインで構成されている(従って、全て制御点によって定義 されている)キャラクタ或いは対象物の画像であり、後に最終動画像中に用いよ うとしているキャラクタ或いは対象物について作成する。このテンプレートの画 像すなわちフレームは、後にさらに詳細に説明するように、好適には位置検出入 力装置170a(例えば「マウス」)を用いてモニタ160上に表示させながら 作成する。以下に詳しく説明するように、テンプレートフレームは、最初の“青 色の鉛筆による線”あるいは接触していない曲線であることを示すデータと一緒 に記憶された第1サブセット曲線と、二次的な“黒鉛筆による線”あるいは接触 した曲線であることを示すデータと一緒に記憶された第2サブセット曲線とを含 んでいてもよい。
この段階で、テンプレートデータ(曲線制御点、及び、テンプレートをラベル付 けする識別データ)を大容量記憶装置180に記憶しておくことが望ましい。
また、ユーザはテンプレートを新たに作成せずに、記憶されているテンプレート を大容量記憶装置180から呼び出して用いることもできる。
次の段階で、多数のキー・フレームを作成する0手描きで動画像を作成する場合 におけるのと同様に、キー・フレームは時間的に間を置いて動画とすべき対象の キャラクタあるいは物体の形状や位置が変化したものをフレームとして作成した ものである。従って、各キー・フレームは、時々刻々と生起するフレーム画像列 の同一の点同士が対応するようなデータを有していることになる。
キー・フレームは対応するテンプレートから直接に作成することができる。即ち 、テンプレートを構成している制御点データを複写し、この複写された制御点デ ータを編集して元のテンプレートと異なったキー・フレームを作成する。好適に は、編集は、先の場合と同様に位置検出入力装置170aを用い、編集結果をモ ニタ160上で見ながら対話的に実行される。こうして編集された制御点デー夕 はキー・フレームデータを構成する。キー・フレームは既存のフレームを複写す ることによって同様に作成することもできる。この場合には、テンプレートフレ ームを間接的に複写したことになる。
以下に詳しく説明するように、キーフレームの作成は最初の曲線の最初の操作に よって成され、その後、もし必要ならば、そのシステムによって自動的に生成さ れた二次的な曲線の位置を再編集する。最初の曲線の編集において、最初の曲線 のみがモニタ160に表示され、編集される。
この時点で、キー・フレームを大容量記憶装置180に保存しておくのば便利で あろう。好適には、キー・フレーム制御点データは、ある与えられた該当フレー ムデータと、テンプレート中のそれに対応するデータとの差を表すオフセットデ ータによって構成される。このようにすると、テンプレートを修正したとき、キ ー・フレームを個々に修正する必要がない、このような表現方式のその他の利点 については後に議論する。
このようにして作成されたキー・フレーム、あるいは大容量記憶装置180から 呼び出されたキー・フレームから、次にこれらの中間のフレーム(内挿フレーム )を導出するための処理を行う、各内挿フレームは、先の場合と同様に画像フレ ームを構成する曲線あるいは直線を定義する制御点の集合によって構成される。
各内挿フレームの各制御点は、その内挿フレームがある2つのキー・フレームの 間に内挿しようとしているものであるとするとき、それらの2つのキー・フレー ムの制御点の間の点となるように導出される。内挿フレーム数は、その間に内挿 しようとしている2つのキー・フレームの時間間隔に依存する。
次に、ユーザは内挿されたフレーム列がどのようになっているかを見てみる。
典型的には、キー・フレームは1秒以下の時間間隔を有し、その間に30枚以下 の内挿フレームが生成される(もちろん、時間間隔をもっと大きくとることも可 能である)。従って、い(つかのキー・フレームと、それらの間に内挿されたフ レームの像をモニタ160のスクリーン上に同時に表示することが可能である。
ユーザは、この段階で内挿フレーム列を大容量記憶装置180に記憶することも できるし、あるいは、内挿フレーム列に何らかの修正を施すこともできる。
第1の修正は、キー・フレームの生起時刻を変更することである。この場合、キ ー・フレーム自身は描き直されないで、内挿数が変更される。従って、内挿がや り直される。あるいは、ユーザは、キー・フレームを編集することもできる。
次に、ユーザは(後に議論するように)このような直接的な内挿では良い結果か えられず、新たなキー・フレームを既存の2つのキー・フレームの間に挿入する 必要があるかどうかを判定する。この新たなキー・フレームの挿入は内挿で得ら れたフレームをキー・フレームに変換することによって達成できる(後にさらに 詳細に議論する)。
典型的には、次の段階で、フレーム列を動画として見てみて、タイミングおよび 外観が正しくできているかどうかを調べる。つまり、装置で各キー・フレームお よび内挿されたフレーム列を順番に短い時間間隔をおいて表示していく、フレー ム列を「普通の」走行速度で表示しようと思えば、フレーム間隔は1/24゜1 /25或いは1/30秒である。しかし、好適には、ユーザはフレーム反復速度 を変更して、フレーム列をスローモーションとして見ることもできるようになさ れている。好適には、ユーザはまたフレーム列の中から短い副フレーム列を指定 して、その短い副フレームだけを順方向にあるいは逆方向に何度も動画として見 てみることもできる。もし、フレーム列がうまくできていない場合には、先のよ うに、ユーザはキー・フレームの外観あるいは時間位置を編集するか、または、 キー・フレームの追加・削除を行う。次に、典型的には、画像列のフレームを構 成している制御点データを後の使用のために大容量記憶装置180に保存するさ らに、フレームに色づけ、および/または、塗り込み、および/または、既存の 背景への組み込み(「仕上げ描画」)を行ってから、対応するラスク画像フレー ムを作成し、これをカラーモニタ上に表示したり、あるいはビデオテープレコー ダに保存したり、または圧縮符号化して大容量記憶装置180に保存する。
図11および以下の説明から、上記の→の作業は、ユーザが各段階で行うことが できるオプションのすべてについて述べたわけでは決してないことは明かであろ う。
メモリ120へのデータの雷 上記のことから、装置を用いて、いろいろな異なる種類のデータを評価し、記憶 することによって、完全な動画画像列を作成完成していく必要があることは明か であろう。次に、データのアレンジのやり方の例を以下に説明する。
完成されたときの動画はいろいろなキャラクタを含んでいるであろうし、また、 いろいろな区分、画像列から成っているであろう。図13aに示したように、完 成した個々の動画(図12及び図13において「エポック(epoch) Jと 記されている)に対して、データのテーブル1000を定義し、このテーブルに 動画画像列の識別名(表題)を表すデータサウンドトラック関連データ、および 連続したフレームからなる画像列1100,1200.1300.1400につ いてのテーブルを記述する0画像列は連続的に生起する0画像列のリンクされた リストを作業メモリ121にに記憶しておくのが便利である。言い換えれば、総 合動画テーブルは画像列テーブル1100.・・・の中の最初の〔また、好適に は、最後のものも)位置を謁男11するデータをメモリ121中に記憶しており 、一方、各画像列テーブル1100.・・・は次の画像列テーブル(好適には、 前の画像列テーブルについても)のアドレスを識別するデータを保持している。
例えば、漫画における動画では、キャラクタまたは対象物のいくつかの部分を、 その部分だけを部分的に同時に、また、事実上独立に動かすことが極(普通のこ ととして行われている。例えば、キャラクタが、歩きながら、同時に話すといっ たことである0本発明の好適な実施例においては、同一のテンプレートの異なっ た部分に対して独立した動作を定義することが可能なようになされている。これ は、テンプレートの異なった部分に対して、別々に独立したキー・フレームとそ れらの間の内挿フレームとを作成し、これらを別々に編集して所望の動作をさせ るようにし、最後にこれらを以下に説明するように併合することによって達成で きる。キー・フレームとその内挿フレームから成るそれぞれの集合は、それぞれ の集合ごとに時刻によって順序づけられているフレーム列を形成しているが、以 下では、「画像列」という用語を併合されたフレームの列に対してのみ用いるこ ととし、また、テンプレートの個々の部分に対して独立に形成され後に画像列と して1つに併合される一連のフレームの集合(キー・フレームと内挿フレーム) に対しては「タイムライン」という用語を用いることとする。もちろん、対象物 全体を同時に動かすような場合には、1つのタイムラインが最終的な画像列を形 成することになる。
従って、一般には、図13bに示されているように、各画像列テーブル1100 は、その画像列が動画を作成するのにどのテンプレートフレームを用いたのかを 定義するデータ、画像列110oがどの動画すなわちエポック1000に対応し ているのかを示すデータ(例えばポインタ)、合成されたすなわち併合された画 像列(リンクされたフレームのリストとして記憶するのが便利である)で構成さ れるフレームテーブルの集合(曲線群)、タイムラインテーブルの集合1110 .1120,1130.・・・(以下に説明する)、現在表示されているタイム ラインを定義するデータ、および、望ましくは、現在表示されているタイムライ ンを除いたすべての併合タイムラインの和で構成されているフレームの集合また は曲線群とで構成されている。これによって、現在表示されているタイムライン を容易に編集することができ、次いで編集が終わったタイムラインを「基礎(b ase)」フレーム列に併合して既存の合成画像列と置き換えることができる。
また、合成画像列の長さ、最初フレームアドレス、最後のフレームアドレスも記 憶される同様に、図13cに示したように、各タイムラインテーブル1110, 1120、・・・によって、一連のフレームデータテーブルが定義され、望まし くは、これらは、キー・フレーム1111,1112,1113.・・・のリン クされたリストとして記憶される。
図13dに示したように、各キー・フレームデータテーブル1111.1112 .1113はフレームテーブル122を指し示すポインタと、さらにその他のデ ータとからなる。この中には、そのキー・フレームから次のキー・フレームの間 に内挿されている内挿フレームを定義する内挿フレームテーブルのリスト指し示 すポインタも含まれている。フレームテーブル122は、記憶されているフレー ムの種類を示すインディケータと関連づけられており、この場合では、フレーム テーブル122がキー・フレームであることを示している。さらに、キー・フレ ーム番号(即ち、タイムライン1110のキー・フレームの中の順番)を定義す るデータが記憶されている。
図13eに示したように、各キー・フレーム1111に対する内挿フレームデ− タテ−プルIIIIA、IIIIB、IIIIG、・・・は、それぞれ、フレー ム曲線群データテーブル122を指し示すポインタを有している。また、それぞ れ、次のキー・フレーム1112にどの程度に依存するのかを定義する内挿係数 (典型的には0−1)を有している。こうして、連続した内挿フレーム1111 A、IIIIB、lllIC,・・・に対して、内挿係数は、0に近い値から1 に近い値へとだんだんと増大する。内挿フレーム1111A及びキー・フレーム 1111は、それぞれ、タイムライン1110におけるその位置、および画像列 1100における位置を定義するフレーム番号を保持している。フレーム番号は 互いに1/24.1/25、又は1/30秒(或いは、その他の任意の所望のフ レーム反復速度を採用できる)の時間間隔で時間的に連続している点に対応した 番号である。
図14及び図15は図68のフレームテーブル122の配列について、さらに詳 細に示したものである。各フレームテーブル122は、フレームに描かれている 対象物或いはキャラクタ(位相的にテンプレートと対応している)を構成する直 線あるいは曲線の集合のリストを含んでいる。テンプレート、キー・フレームお よび内挿フレームは、すべて同様にフレームテーブル122によって表現される 。直線あるいは曲線はリンクされた曲線テーブル2100,2200,2300 .2400のリストとして与えるようにするのが便利であり、これらの各曲線テ ーブルは曲線制御点のリスト2110.2120.2130 (これもリンクさ れたリストとして記憶するのが便利である)で構成される。
各制御点2110は、制御点座標を示す位置データと、制御点接線先端座標を示 す位置データとから成る0次の制御点までの曲線セグメントは、属性制御点(後 にさらに詳細に説明する)を含むことができ、これによって仕上げ描画処理にお ける色や透明度などの属性値を制御したり、あるいは、以下に議論するように内 挿を行う際の適合性が得られるようにする。その際、その間で定義されているキ ー・フレームの間においてこれらの属性制御点の位置も内挿してお(ことが望ま しい。
従って、制御点2110.・・・は次の曲線制御点までの曲線セグメントの属性 制御点のリストあるいはテーブルを含んでいる。各属性制御点テーブル項目はそ の点によって制御される属性値(例えば、ライン色或いは透明度)を定義するデ ータを含むようにすることができる。また、属性制御点のラインセグメントに沿 った位置を定義するデータを含み、これにはその点におけるパラメータtの値を 用いるのが便利である。属性制御点についてのさらに詳細については前述参照し た他の出願に記述されている。
フレームデータ、タイムラインデータおよび画像列データを記憶するのに、上記 のようなリンクされたリスト配列を使用しなければならないというわけではない が、こうすることによって、フレームや画像列あるいは副画像列の、どちらかの 側でリンクを置き換えたり、リンクを破ったりすることによって個々のフレーム 、画像列または副画像列を時間とともに動くようにすることができるので、特に 好適なのである。
装置の稼働中、上記のすべてのデータテーブルは、通常、作業メモリ121に常 駐する 二二之1旦旦上5の人足 上記のことから分かるように、かなりの量のデータが装置を使用する際に装置に よって保持されており、また、そのデータはユーザにとっては直ちには、理解で きないような形式で保持されていることが明かであろう、従って、どのようにし てデータをモニタ160を介してユーザに示し、またモニタ160を介してユー ザがどのようにしてデータを修正することができるのかは非常に重要なことであ り、これが本発明の装置の主要な棲能的性能に影響を与える。
まず、1つのフレーム表示装置および、記憶されているフレーム(内挿フレーム またはキー・フレーム)のどれを表示するのかを指定する手段とを備えるのが望 ましい。単独の1フレームを表示するには、表示ジェネレータ111は対応する フレームテーブル122を読み取って、それに対応する画像データを画像バッフ ァ130に対して出力し、これが表示される。
以下に説明するように、2種類のタイプのフレーム表示が設けられていてもよ( ,1つ目のタイプでは最初の曲線のみが表示され、2つ目のタイプでは全ての曲 線が表示される。
従って、図16に示したように、好適には、複数の画像バッファ130a、13 0cを画像記憶装置130に備えるようにする。その中の1つのバッファ130 aは表示バッファで構成され、これによってモニタ160上への表示を行う(表 示装置にマツプされている)。他のバッファ130b、130c、・・・によっ てコンピュータ技術として一般に知られている「ウィンドウズ(windows ) Jがサポートされ、これらの各々のバッファはモニタ160の表示の任意の 部分に形成されるラスク画像に対応する画像データを含んでいる。フレームバッ ファ130b、130c、・・・に保持されている画像はバッファ130aに結 合され、その大きさ、位置および順序(即ち、ウィンドウズによって重ね書きさ れる領域)が多くの市販パーソナルコンピュータのオペレーティングシステムに おけるのと同様にしてユーザのキーボード170b或いはマウス170aの操作 によって定められる。これは良く知られており、本発明の一部をなすものではな い。
従って、図17に示したように、モニタ160上の表示は、バッファ130b〜 130eのどれかと、或いはこれら全部と対応する表示領域160b〜160e を有する。好適には、ユーザがこれらの領域の中の1つ、或いはい(つかを選択 するための手段(入力手段170及びCPUll0)が備えられている。
以上に説明したように、バッファ130bは画像列の中から選択された1枚のフ レームに対応する画像データを有している。
同様に、バッファ130cは1枚のフレーム画像を保持できるサイズを有し、そ の画像は記憶されたテンプレートに対応する画像である。
バッファ130dは、連続したフレーム番号を有し、タイムラインまたは画像列 のどの部分であるのかを後に詳細に説明する方法で表すようになされた連続した フレーム(キー・フレームおよび内挿フレーム)の合成画像から成る画像を記憶 する。
バッファ130eは、複数の棒グラフ画像を記憶するようになされており、各棒 グラフはそれぞれバッファ130dの画像の中の1つのフレームに対応しており 、それぞれの棒グラフは対応するフレームの内挿係数の値を棒の長さとして表す ようになっている。
これに対応する表示例の様子を図18に示した。ここで、暗い像がキー・フレー ムに対応し、灰色の像が内挿フレームに対応している。この実施例では、ある与 えられたフレームを3つの異なるやり方で同時に表示することができるというこ とがわかるであろう、即ち、第1に、画像記憶装置130bの内容に対応して表 示領域160bに1つの独立した表示ができる。第2に、画像記憶装置130d に対応して画像列表示160dに画像列の一部を表示することができる。第3に 、画像がそこに含まれているタイムラインを表す棒グラフの棒を表示領域160 eに画像バッファ130eに対応させて表すことができる。
図19a〜図19cを参照する0画像列バッファ130dに保持されている画像 はいろいろな形式で表示することが可能である。第1の形式では、図18a及び 図18bに示されているように、バッファ130dに書き込むことによって画像 列の画像がその画像列を構成している各フレームに対応するラスク画像データと して生成され、表示装置160dにフレーム画像が次々に表示されていく、ただ し、ある程度の重なりをもたせるようになされており、各フレーム画像はバッフ ァ130dに記憶されている直前のフレームと部分的に重ね書きされる。フレー ム画像は、必要ならば、次々と置き換えていく代わりに、重畳させて表示するよ うにもできる。
図19cは他の実施例を示したものであり、この実施例では、各フレーム画像は バッファ130dに重なりを持たせずに空間的に別々の部分に書き込まれる。
この実施例については、図18にも示されている0図19cの表示形式では、対 象物を連続したフレームの中の対応する部分を取り出して互いに近くの位置に表 示するので、動きを観察するのに都合がよい、一方、図19aの表現形式を用い ると、各フレームをもっと明瞭に調べることができる0本発明の好適な実施例で は、これらのモードを選択するための手段(例えば、キーボード170b)を有 している。また、図19cに示したモードでは、連続したフレーム画像同士の間 での置き換えが可能となっている。
図20を参照する。この図は、フレームを編集する場合のフレーム表示領域16 0bのフレーム表示を示したものである。フレームを選択することによって、ユ ーザが編集の意志を示すと(キーボード170b或いは位置検出入力装置170 aを操作することによって行われる)、表示ジェネレータ111はフレーム画像 データをフレームバッファ130bに対して出力するだけでな(、記号(例えば ドツト)を曲線制御点に出力する。好適には、接線の先端、および、さらに好適 には接線の長さを示すI勧5表示される。さらに、カーソル記号(「+」で示さ れている)が表示され、これによってユーザはフレーム画像を先に説明したよう に位置検出入力装置170bを用いて編集することができる。
図21を参照する0表示領域160eには、タイムラインバッファ130eに保 持されている棒グラフデータ画像が表示される。それぞれの棒はある1つのタイ ムライン中のフレーム(キー・フレーム或いは内挿フレーム)と関連をもってい る。棒の長さは内挿フレームに関する内押係数を表しており、キー・フレームは (その定義どおり)内挿されていないから、キー・フレームに対応する棒の長さ は最大値か最小値かいずれかとなる。タイムライン画像160e及び、それに対 応するバッファ130eは、まず、ユーザに画像列領域160dに情報の大要を 示し、次に特別に簡単な方法でタイムラインを編集することができるようになっ ており、その、タイムライン編集の結果を全体として見ることができ、位置検出 入力装置j170aを用いてカーソル記号を表示160eの中の選択したい棒の 位置にもっていき、適当な制御信号を発生させる。
そのような修正の1つのタイプは、ある与えられた内挿フレームの内挿係数を変 更することである。この場合には、そのフレームに対応する棒の高さが、ユーザ のカーソル位置記号操作に応じて変化し、これに応じて、対応するフレームテー ブル1llaに記憶されている内挿値が修正される。まず、互いに隣同士となっ ているキー・フレームの間の連続したフレームの内挿係数の値が、通常は線形数 列である徐々に変化する数列に従って変化する。ただし、線形数列を用いずに任 意の予め定められた曲lI(通常は単調に変化する)に応じて変化するようにも できる。金棒の高さが2つの色で表示されるようにしておくことが望ましく、あ る値を境にして棒の高さは、この2つの間で変わる。このとき、キー・フレーム の棒を示す色(そのフレーム番号によってキー・フレームかどうかが判定される )は交互に変わることになる。内挿フレームに対する棒の高さは、あるキー・フ レームの後ろの部分では内挿係数に従って増大し、次のキー・フレームの後ろで は逆に内挿係数とともに減少してい(ようになっており、鋸の歯状の変化ではな (次第に大きくなり次に次第に減少する。この方がユーザにはわかりやすい。
このような数列を用いることによって、ユーザは直ちに画像列を生成してそれを 見ることができ、これは、それぞれの内挿値を個々に指定しなければならない方 法と比較してずっと簡単である。はとんどの場合、同じ数列(例えば、線形内挿 )を採用することができることが見いだされている。しかし、ある与えられたフ レームに対して、 (描き直したり、フレームを編集することなしに)単に内挿 値を変更するだけで画像列を修正できるようにしておくと非常に便利である。こ の修正は、位置検出入力装置170aを用いて、棒グラフ画像をオンスクリーン 操作することによって非常に便利に達成できる。
他のタイプの修正はフレームまたはフレーム列の時間軸における移動である。
これは、位置検出入力装置170aを用いて、図表による視覚化された手段によ って達成される。また、ユーザは1つあるいは複数のフレームを指定して、フレ ームをタイムラインに沿ってカーソル記号を用いて所望の位置まで移動する。こ の場合、装置はユーザが選択したフレームのフレーム番号を変更し、必要に応じ て新たな中間フレームを生成(或いは古いフレームを削除)するようになされて いる、さらに詳細については後に説明する。
な についての!日 1つの具体的な動作についてそれを実行する方法の例を以下に述べる。
テンプレートフレームの ユーザは新しいテンプレートを作成したい旨を示す信号を、キーボード170b または位置検出入力装置1170aを用い、典型的にはモニタ160上に表示さ れたオプションメニュー(恒久的に表示しておくようにもできる)の中から選択 することによって発生させる。
こうしてCPUll0によって作業メモ1月21の中にテンプレートテーブルが 作成される。このテーブルはフレームテーブル122と、フレームがテンプレー トであることを示すデータとから構成される。テンプレートフレームは、それ自 身は画像列の中には採用されないので画像列番号は必要でない。ユーザは典型的 には、キーボード170bを介してそのテンプレートに関する名前を示す信号を 発生させ、この信号は作業メモリ121中に記憶される。テンプレート表示領域 160cがモニタ160上に作成される。また、カーソル記号が表示領域160 cの中に表示され、ユーザはテンプレート作成作業に進むことができる。テンプ レート作成において、ユーザは以下のオプションの中から適当なものを選択する ことができる。
折り艷凹榎の作成 カーソルの現在位置によって第1の制御点のx、 y座標を与える。この点にお ける接線の長さはOに設定される。これらの値は、フレームテーブル122に書 き込まれる。カーソル位置は連続的にモニタされて第2の制御点位置の座標が与 えられる。この値はテーブル122においてカーソルの動きにつれて連続的に更 新されていき、ユーザが制御信号を発生すると(所望の位置に到達すると)、こ の第2の制御点の座標は固定確定される。第1と第2の制御点の間のラインが連 続的にラインジェネレータ111によってテンプレートバッファ130Cの中に 生成されて、テンプレート表示領域160c上に表示される。これによって、ユ ーザは第2の制御点が正しい位置に作成されたかどうかを判定することができる 、第2の制御点接線の長さは、同様に、初期値として0に設定される。
制御点9條工 図10を参照しながら、上述したようにして行われる。
新見い制御点Ω■加 曲線中に、制御点をさらに挿入して、曲線のセグメントを2つに分割することに より、さらに複雑な曲線を作成することができる。即ち、ユーザは、テンプレー ト表示領域160cに表示された曲線に沿ってカーソル記号を所望の位置まで移 動させ、キーボード170bあるいは位置検出入力装置170aを介して信号を 発生する(例えば、マウスを「クリック」させる)、すると、カーソルの現在位 置座標が読み取られる0次いで、そのカーソルの現在位置に相当する点をはさん でその両側に、曲線に沿って位置する2つの制御点がjli5511されてめら れる。
カーソルの現在位置座標を用いて3次方程式を解(ことによって、カーソルの現 在位置におけるパラメータtの値がめられる。新しい制御点レコード2110が そのテンプレートに対するフレームテーブル122中に作成され、この新しい制 御点レコードには、曲線上の隣接する2つの制御点を指し示すポインタが含まれ ている0周囲の制御点データレコード中の「次の制御点」および「前の制御点」 のポインタフィールドが新しい制御点を指し示すように修正される。新しい制御 点における接線の傾き及び大きさが算出され、新しい制御点レコードに記憶され る。新しい制御点はその点を通過する曲線の形状を変えるために編集を行うこと もできる。
釧助と1跡 ユーザによって適当な信号が発生されると、カーソルが位置している場所の制御 点が、カーソルの現在位置座標を用いてテーブル122の中で探し出されて対応 する制御点レコードが削除される6曲線セグメント上の隣接する制御点の「次の 制御点」フィールドおよび「前の制御点」フィールドが互いに互いを指し示すよ うに修正されて、削除された制御点への参照が取り除かれる。
ラインセグメントを追加・編集することによって、所望のライン画像がテンプレ ート表示領域160c上に形成される。また、対応する曲線データ群がテンプレ ートに対応するラベルが付けられたフレームテーブル122に記憶される。
直接にテンプレートの形状を変える上記の処理に加えて、ユーザは、属性制御点 を附加して最終的に描画される画像の属性を制御することもできる。これは、表 示装置160上に表示されている曲線セグメントに沿ってカーソル記号を所望の 点まで移動させてから、適当な制御信号を発生する(例えば、キーボード170 bの適当なキーを押す)ことによって実現される。すると、カーソルの現在位置 を用いて、新しい属性制御点レコードを挿入しようとしている属性制御点リスト に対して、曲線に沿ったその1つ前の曲率制御点がめられて、周囲の属性制御点 ポインタが、それに従って変更される。パラメータtの値がめられて、属性制御 点レコードに記録される。また、ユーザは、後に使用するために、その点の属性 値に関するデータを入力することもできる(以前の我々の英国特許出願9110 945.4、および上に引用したPCT出願PCT/GB91102124及び PCT出願PCT/GB92/・・・1代理人参照番号5130799に記載さ れているように行う)。
所望のテンプレートが作成が終了すると、典型的には、テンプレートテーブル1 22の内容が大容量記憶装置180に保存されて、そのテンプレートに対する名 前或いは識別データ(例えばファイル名)を用いて再呼び出しが可能なようにな される。
上二三ム:プ4昨或 キー・フレームを構成する曲線の集合は編集してキー・フレームテーブルに保存 することができ、テンプレートに関して上記に説明したのと同様なやり方で対応 する画像が、フレームバッファ130bから読み取られてフレーム表示領域16 0bに表示される0画像列中におけるキー・フレームの生起時刻点も重要である 。従って、キー・フレームがどの画像列或いはタイムラインに属しているかを表 すデータ、その画像列中において、キー・フレームが他のキー・フレームに対し てどのような相対位置にあるのかを示すデータ、及び画像列或いはタイムライン 中のそのキー・フレームの絶対位置(フレーム番号)を表すデータを記憶してお く必要がある。
これらのデータは、ユーザによってキーボード170bを介して入力することが できる。或いは、もしカーソル・トラッカ112によってカーソルが表示領域1 60eに表示されている棒グラフ画像のある棒の位置にあることがEl+された ときには、それに対応するフレーム番号がキー・フレームに割り当てられる。こ のようなデータ人力が何もなされなかった場合には、装置は、好適には、現在量 も大きいフレーム番号に1を足したフレーム番号をキー・フレームに対して割り 当て、またキー・フレーム番号としては、最大のキー・フレーム番号に1を足し たものを割り当てて、そのフレームを既存のタイムラインの最後に加える。
次に、新しいキー・フレームテーブル122がメモ1月20中に作成され、CP Ull0によってテンプレートフレームテーブルの内容が新しいキー・フレーム テーブルにコピーされ、新しいキー・フレームがテンプレートと同一となるよう になされる。新しいキー・フレームのメモリ120におけるアドレスがタイムラ イン中の隣接するキー・フレームの1次のキー・フレーム」ポインタに代入され る。また、メモリ中のその他のポインタに対して、キー・フレームが新たに追加 されたことを反映できるように必要なセットアツプがなされる。
(以下余白) タイムライン画像バッファ130eが修正されて、表示領域160eのキー・フ レーム位置に新しい棒が表示される。さらに、前のキー・フレームに対して内挿 されたフレームがあった場合には、これを再計算する(後にさらに詳細に説明す る)。後に続くキー・フレームがある場合には、そのキー・フレームに対する一 式の内挿フレームがやはり再計算されて、それに対応するメモリ120中の内挿 フレームデータテーブルのリストが新しいキー・フレームを指し示すようにセッ トアツプされる。次に、画像列バッファが更新されて新しい内挿フレームを含む ようになされ、これに応じてモニタ160上の表示領域160dの画像が、タイ ムライン棒グラフ表示領域160eにおける場合と同様にして変更される。
Δ腫 上記のように、キー・フレームが作成されたり修正されたり、あるいは削除され たり、または時間的に移動された場合には、変更部分の両側の内挿フレームを再 計算する必要がある0図22に示すように、まず、CPUll0によってタイム ライン中にすぐ直前のキー・フレームが存在するかどうかがチェックされる(ボ ックス2201)、もし、存在している場合には、言い換えれば、問題としてい るキー・フレームがタイムラインの最初のフレームでない場合には、2つのキー ・フレームのフレーム番号がどれだけ離れているかをめ(ボックス2202)、 内挿フレームの数がこれと等しくなるように設定する。次に、図23に示した内 挿ルーチンを実行して、前のキー・フレームからの内挿を行う(ボックス220 3)。
図23に示したように、前のキー・フレームの内挿フレームのリストの長さを調 べて(ボックス2301)、もし新たな内挿フレーム数を、リスト中の現在の数 とは違ったものとする必要があるときには、あるいは、リストが存在しないとき には、現在のリストを削除して、必要な長さの新しいリストを作成する(メモリ のボックス2302)、次に、リスト中のそれぞれの内挿フレームに内挿係数を 割り当てる(ボックス2303)、その際に、線形内挿を行う場合には、n個の 要素からなるリスト中のi番目のリスト要素(即ち、前のキー・フレームから数 えてi番目のフレーム)に対してL=i/nの内挿係数を割り当てる。また、非 線形内挿の場合には、F(i/n)を割り当てる。ただし、Fは非線形関数であ る。使用可能な非線形関数の1つはS状関数である。すなわち、両端部では平坦 な関数となっており、中間では単調に増加する。この関数を用いると、キー・フ レームに対してゆっくりとした速度で内挿が行われ、キー・フレームに対して滑 らかに変化していく。また、同様な滑らかな変化を行わせるようなその他の関数 も可能である。
次に(ボックス2304)、各内挿フレームに対して曲線データが導出され、関 連する内挿フレームテーブルに記憶される。各キー・フレームは同じテンプレー トから導出されているので、同じ数の曲線制御点を有している。内挿係数りを有 するようなある与えられた内挿フレームに対して、CPUll0は、前のキー・ フレームの第1の曲線制御点と、後のキー・フレームの第1の曲線制御点とを読 み取り、これら2つの値の中間の値を内挿フレームの第1の曲線制御点に対して 割り当てる。具体的には、内挿点のX+y位置は次のように導出する。
x:x+ ci−L)+X* し ただし、X、は前のフレーム(内挿フレームが属しているリストにおいて前のフ レーム)であり、X、は後ろのフレームである。同様に、y座標は次のようにま た、制御点における接線の先端点の座榎が全く同じやり方でめられる。
好適な実施例では、Lは1よりも大きな値を取ることが許されている。これによ って、キャラクタを[オーバシュート(overshoot) Jさせることが でき、望ましい視覚効果を漫画動画で得ることができる。この場合では、 (1 −L)の項は0にセットされても良い。オーバシュートをさせるには、内挿を、 例えば、8フレームをL=Oから1.2で行い、これに続く次の2つのフレーム を1.2から1.0で行う。
次に、CPUll0は2つのキー・フレームの中の次の制御点に進み、2つのキ ー・フレームの中のすべての曲線のすべての制御点が内挿されて、対応する制御 点が内挿フレームに作成されるまで処理を続ける。CPUll0は次の内挿フレ ームを選択し、対応するより大きな内挿係数で同じ処理を繰り返す。
図22に戻り、次に(ボックス2204)、CPUI 10は(例えば、タイム ラインテーブル1110に保持されているポインタを参照することにより)後続 のキー・フレームがタイムラインの中に存在するかどうかを判定する。そして、 もし存在すれば、(言い換えれば、もしそのキー・フレームがタイムランの最後 のフレームでないならば)ボックス2202の処理を繰り返し、また図23に示 した処理を再び実行して(ボックス2206)そのキー・フレームとその後のキ ー・フレームとの間にフレームを内挿する。対応する内挿フレームテーブルの計 算が終了すると、CPUll0はタイムライン画像バッファ130eに保持され ているデータを修正し、新しい内挿係数を反映させて表示領域160eを更新す る(ボックス2207)。
同様にして、新しい内挿値に対応して新しい画像が画像列記憶装置130dに作 成され、画像列表示領域160dが更新される。
フレームのキー・フレームへの゛ もし、内挿された画像列が満足できるものでなかった場合には(3次元で動いて いる対象物の画像列を表示する場合にときにそのようなことが起こる。というの は内挿は2次元で行われるからである)、画像列を改善する1つの便利な方法は 内挿フレームの中の1つをキー・フレームに変換して、そのキー・フレームを所 望のものとなるように編集することである。そのような意志を表明するには、ユ ーザは例えばカーソル記号をタイムライン表示領域160eの棒の位置まで移動 させ、適当な制御信号を発生させる(例えば、マウス170aを2回「クリック 」させる)。すると、CPUll0はカーソル位置をElルて、対応する内挿フ レームのフレーム番号をめる0次に、CPUll0は、その内挿フレームに対す るフレームテーブルを読み取り、キー・フレームリストから内挿されたフレーム が元々保存されていた位置にキー・フレームを配置する(ボックス2401)。
次に(ボックス2402)、図24に示したように、CPUll0は新しいキー ・フレームデータテーブルを作成し、キー・フレームにその内挿フレームが前に 属していたキー・フレーム番号の次のキー・フレーム番号を割り当てる。ただし 、フレーム番号は元のままに維持される0次に、内挿フレームテーブル122の 曲線データを新しいキー・フレームテーブルに複写し、内挿フレームテーブルを 削除する。
新しいキー・フレームへの参照データをタイムラインテーブル中の内挿フレーム の親キー・フレームの後に保持されているキー・フレームのリストに代入する( ボックス2403)。次に、新しいキー・フレームがフレーム表示領域160b に表示するために選択されて(ボックス2404) 、対応する画像データがフ レーム画像バッファ130d中に生成され、モニタ160上に表示される(ボッ クス2405)、フレームの表示中には好適には図20に示したように、編集の ための曲線制御点と接線も同時に表示される。
新しいキー・フレームを挿入したのにともない、タイムラインテーブルに保存さ れているリストの中の後続のキー・フレームに対して再番号付けが行われ、各々 1だけ番号が増加される(ボックス2406)、次に、図22の内挿処理が実行 され(ボックス2407)、これに対応して画像列記憶装置130dが修正され 、更新された画像列が表示領域160dに表示される(ボックス2408)。
線形内挿の場合には、他の内挿フレームの図形の様子は新しいキー・フレームの 編集が終了するまではもとのままで変化しないが、それぞれに対する内挿係数は すでに修正されている。
ヱニニヱ旦二ムΩ削除 もし可能であれば、キー・フレームの数を最lj市艮にとどめて、画像列の計算 が簡単となるようにするのが望ましい。従って、時には、キー・フレームを削除 することができるようになっており、その際には新たに互いに隣接することとな った2つのキー・フレームの間で内挿が行われる0図25に示したように、ユー ザがキー・フレームを削除したい旨を示す信号を発すると(例えば、カーソル記 号を対応する棒グラフ表示領域160eの棒の位置まで移動させ、位置検出入力 装置170eまたはキーボードを用いて適当な制御信号を発する)、CPU11 0は対象となったキー・フレームのキー・フレーム番号を読み取り、タイムライ ンデータテーブルにアクセスする。タイムラインテーブルに保存されているリス トの中の後続のキー・フレームのキー・フレーム番号が1ずつ減少される(ボッ クス2501)。次に現在のキー・フレームテーブルをメモ1月21から削除す る(ボックス2502)。キー・フレームテーブルにリストされている全ての内 挿フレームテーブルが同様に削除される。
CPU11.Oはキー・フレームリスト中にもっと前のキー・フレームが存在す るかどうかをテストする(ボックス2503)、もし、そのキー・フレームがタ イムラインの最初のキー・フレームであれば、さらにしなければならない作業は 、単に画像データを画像列バッファ130d中に再作成し、画像列表示160d を更新しくボックス2505)、また同様にタイムラインバッファ130eと表 示領域160e修正しくボックス2504)、また、削除されたキー・フレーム およびそれからの内挿されたフレームへの参照を抹消することだけである。また 、後続のフレームは時間的に後にシフトされる。
一方、もし削除されたキー・フレームが画像列のより後ろの方に位置していたの であれば、CPUll0は図23に示された内挿処理を削除されたキー・フレー ムの前のキー・フレームから、タイムライン上でその新たな後続フレームとなっ たキー・フレームまでの間で実行する(ボックス250B)。
後続のキー・フレームのフレーム番号がまだ変更されていないので、キー・フレ ームは内挿フレームと(ボックス2507)置き換えられて表示される。画像列 記憶装置130d中の画像列および棒グラフ画像バッファ130e中の棒グラフ 画像がCPUll0によって更新され(ボックス2505)、これに対応してモ ニタ160が再表示される。
ヱニニ7L/二ム例移動 内挿画像列の時間的な長さを変えるため、あるいは画像列の順序を並べ変えるた め、好適な実施例においては、ユーザが特定のキー・フレームを指定して画像列 中での生起時刻(例えばフレーム番号)を変更することができるようになされて いる。
典型的には、ユーザはキー・ボード170bまたは位置検出入力装置170aを 介してカーソル記号を棒グラフ表示領域160eの所望のキー・フレームの棒ま で移動させて適当な制御信号を入力することによってキー・フレームを移動させ たい旨の意志を示し、次いで、カーソル記号を所望の新しいキー・フレーム位置 まで移動させる。
図26に示したように、CPUll0はカーソル記号の位置から、新しい位置に 対応するフレーム番号をめ、そのめたフレーム番号が隣接するキー・フレームを 越えて移動していないかどうかを調べる(ボックス2601)。もし、フレーム がどちらの隣接するキー・フレームを越えて移動していない場合には、キー・フ レームのフレーム番号を新しい位置に対応するフレーム番号に変更しくボックス 2602)、図22の内挿ルーチンを実行する(ボックス2603)。もし、キ ー・フレームが隣接するキー・フレームのフレーム番号と丁度同じとなる位置に 移動されている場合には、その位置に前に存在していたキー・フレームを削除し くボックス2604)、キー・フレームリストを修正して、その位置に存在して いたキー・フレームへの参照を抹消する。次いで、キー・フレームリスト中の後 続するすべてのキー・フレームのキー・フレーム番号をデクリメントさせる(ボ ックス2605)、その後、CPUll0は、上記の場合と同様に、該キー・フ レームに新しいフレーム番号を割り当て、図22の処理を用いて内挿を行う(ボ ックス2602.2603)。
もし、キー・フレームがどちらかの隣接キー・フレームを越えて移動している場 合には、CPUll0は、まず(ボックス2606)そのキー・フレームをキー ・フレームリストから削除し、隣接キー・フレームのポインタをリンクさせる。
次いで、図23の内挿ルーチンを実行して、削除したキー・フレームの位置的に 前となるキー・フレームに対する内挿フレームを再生成する(ボックス2607 )。
次に、ボックス2608において、CPUll0は該キー・フレームをキー・フ レームリスト中において選択したキー・フレームをそこに移動しようとしている 新しいフレーム位置或いはその直前の位置に配置する。もし、すでに選択したキ ー・フレームをそこに移動させようとしている位置にキー・フレームが存在して いる場合には、CPUll0は、そのキー・フレームのレコードを削除する(ボ ックス2609)、次に、キー・フレームテーブル中の「以前の」及び「次の」 ポインタを修正することによって、タイムテーブル中に保持されているキー・フ レームリスト中の以前のキー・フレーム位置の直後に、選択されたキー・フレー ムを挿入する(ボックス2610)。
旧位置および折位置の間のキー・フレームのキー・フレーム番号をディクリメン トさせて(ボックス2611)、新しいキー・フレーム順序が反映されるように する。さらに、もし、該キー・フレームがその位置の既存のキー・フレームと置 き換えられた場合には、後続のキー・フレームについてもやはりデクリメントを 行う。その後、CPUll0は上記の場合と同様に、キー・フレーム番号を更新 しくボックス2602)、新しい内挿フレームを該キー・フレームとそのどちら かの側に隣接するキー・フレーム作成しくボックス2603)、画像列バッファ 130dと表示160dの再生成を行い、また、これに対応してタイムラインバ ッファ130eおよび表示領域160eの再生成を行う(ボックス2612)好 適な実施例においては、CPUll0は連続したフレームのブロックを時間的に 移動させる命令を受け付けることができるようになされている。この実施例の上 記の処理と本質的に同じ処理が、これらのフレームの各々に対して繰り返される 。
処理主題Ω例 図27a〜図27d及び図18を参照しながら、上記の処理によってどのような 結果が得られるかを説明する。
図27aに示すように、ユーザは位置検出入力装置を用いてカーソル記号をモニ タ160の棒グラフ表示領域160eの次の空の位置へ移動させて、その位置に 新しいキー・フレームを作成したい旨を示す制御信号を発生させる。
CPU110は、上述したように、テンプレート(または既存のキー・フレーム )を複写して新しいキー・フレームテーブルをメモリ121中に作成する0画像 列表示バッファ130dが再生成され、これに対応して表示領域160に新しい キー・フレームが画像列の最後に表示される。棒グラフ表示領域160eにも同 様に新しいキー・フレームの棒が表示される。
また好適には、装置は既存のキー・フレームを複写して新しいキー・フレームを 作成することができるようにもなされている。この場合には、ユーザは位置検出 入力装置170aを用いてカーソル記号を適当な位置に移動させることによって 、複写したい既存のキー・フレームの指定を行う、入力装置を介して適当な制御 信号が発生されると、CPUll0はテンプレートテーブルを複写するのではな (、指定されたキー・フレームテーブルの曲線データを複写して新しいキー・フ レームテーブルの曲線データを作成する。
次に図27bに示したように、ユーザは今、作成されたキー・フレームを時間的 に4フレ一ム分だけ後ろに移動させたい旨の意志を示す入力信号を発生させる、 すると、CPUll0は、図26の中央のパスのルーチンを実行し、4つの内挿 されたフレームを前に位置するキー・フレームの内挿フレームリスト中に加える 0画像列表示160d及びタイムライン表示160eが上記のようにして更新さ れる。
図27cに示したように、ユーザが前に位置するキー・フレームを削除したい旨 を示す信号を発すると、CPUll0は図25のルーチンの実行を行う、このど き、最後の2つのキー・フレームは本質的に同じものとなっているから、これら の2つのキー・フレームの間に内挿されるキー・フレームも同様に同じように見 える。
図27dに示したように、次にユーザは中間に内挿されたフレームの1つをキー ・フレームに変換して編集できるようにしたい旨の意志を示す信号を発生させる 。すると、CPtJlloは図24のルーチンを実行して表示160dおよび1 60eを更新する。
フレームへの たな の゛ 上記の実施例においては、各キー・フレーム(および各内挿されたフレームも) の曲線はすべて、テンプレートフレームに存在する曲線制御点によって定義され た曲線だけで構成されている。制御点および新しい曲線をテンプレートに追加す る方法については、すでにいままで説明した。
まず上述したように、各キー・フレームはそれと本質的に同じであるテンプレー トの曲線データと同じ曲線データによって構成されている。しかしながら、しば しばユーザが、ある与久られたキー・フレームに対するテンプレートのある一部 分を削除したいと思うことが起こる。例えば、対象物が回転したときには、対象 物の他の部分に隠されて多くのラインが見えなくなってしまう。従って、回転し た対象物に対応するキー・フレームはこれらのラインを含んでいる必要がない従 って、ユーザは制御点(および/または曲線)のどれかをキー・フレームから削 除することできるようになされており、これに対応してフレームテーブル122 中のポインタは削除された点および曲線への参照を抹消するようにリセットされ る。この場合、CPUll0は他のキー・フレームあるいはテンプレートフレー ムテーブルに対しては影響を与えないようになされている。また、フレームテー ブル122中のポインタの再配置は残存の制御点および曲線とそれらに対応する テンプレートの集合との間の対応性に影響を与えない、それぞれの制御点および 曲線は、依然として、CPUがどのテンプレート集合のどの特定の点と対応して いるのかを明確にEllできるようになっている。
このように、異なる別々のフレームがテンプレートの集合の異なる別々のサブセ ットに対応するようにさせることが可能である。また、特定のキー・フレームを 準備するに当たり、ユーザがいくつかの制御点からなる制御点または曲線をさら に追加したいと思うことが起こるがもじれない、直接にそのようなことを行うと 、テンプレート集合に対応する部分がない点を導入する結果となってしまう。
また、特定のキー・フレームに直接的に結果を得るために、テンプレート集合を 編集しなければならないのは不便である。従って、好適な実施例においては、装 置はユーザがテンプレートフレームにおけるのと同じやり方でさらに制御点をキ ー・フレームに追加することができるようになされている。そのようにできるよ うにするため、CPUll0は、対応する制御点をテンプレートフレームテーブ ルに加えるようになされている。従って、テンプレートフレームテーブルは必ず 各キー・フレームに保持されている点のスーパセットとなっている。
ある1つのフレームが、よけいに制御点あるいは曲線を含んでいるようなときで も、フレーム間での内挿を行うこと、および異なるタイムラインのフレームを足 し合わせて合成フレームを作成することが依然として可能である。
フレーム間の内挿処理と、足し合わせ処理を行うには、いずれも、曲線制御点間 で1対lの対応性が取れていることが必要である。従って、これらの処理のどち らかを実行するには、まずその間で内挿を実行しようとしているフレームあるい は互いに1つに足し合わせを行おうとしているフレームにおいて、点の数が同じ となるようにして2つのフレームに適合性をもたせることが必要である。これを 達成するための方法を図28及び図29に示した。
図28aに、曲線がフレーム表示領域160aにどのように表示されるかが示さ れている。曲線の形状は対応する曲線の接線によって示される2つの制御点A1 、A2によって定義される。2つの制御点A1とA2との間に、3つの属性制御 点Bl、B2.B3が曲線セグメント上に表されている。図29は、作業メモI J 121中に保存されている対応する曲線テーブル2100を示したものであ る。このテーブルは2つの曲線制御点レコードを含んでおり、第1のものはA1 に対応し、A2に対応する次のレコードを指し示すようになされている。また、 Alに対応する曲線制御点レコードは属性制御点レコードのリストを指し示すよ うになされており、その属性制御点レコードの第1のものはBlに対応しており 、さらにこれがB2に対応する属性別@声ルコードを指し示し、これが同様にし てさらにB3に対応する属性制御点レコードを指し示すようになされている。
図28bに示したように、ユーザが選択した属性制御点B2を、曲線の同じ点の 曲率制御点に変換したい旨を示す制御信号を発生させると、CPUll0は、新 しい曲線制御点レコードA3を曲線テーブル2100中に生成する。点A1に対 応するレコードは新しいレコードを指し示すように変更され、またこの新しいレ コードはさらにA2を指し示すようになされる。B2に対応する属性制御点レコ ードは属性制御点リストから削除される。新しい制御点A3に対して保存される 制御点データは、その属性制御点が占めていた曲線の位置に対応するようになさ れ、また接線が新しい制御点におけるその接線の傾きが属性制御点B2において 宵していた傾きと同じになるように引かれる。また、3つの曲率制御点Al。
A2.A3における接線の長さが、曲線の形状が変化せずにもとのままに維持さ れるようにめられる0図28bから制御点A1及びA2における接線の長さが、 変更されたことがわかろう、一方、角度は変化していない。従って、新しい先端 点データがA1及びA2に対応するレコードにCPUll0によって書き込まれ る。
属性制御点B3は、A1に対する曲率制御点レコードリストから削除されてA2 のリストに加えられる。
属性制御点Bl、B3の曲線に沿った位置を定義する位置データが曲線セグメン トA1〜A3およびA3−A2の範囲で再計算されて新しいデータが属性制御点 レコードBl、B3に保存される。
新しい曲率制御点A3の生成が終了すると、次に、ユーザはこの実施例の装置を 用いて、上に述べたように、制御点データを変更することによって曲線の形状を 修正することができる。特に、図28cに示されているように、接線の角度が異 なった方向を向(ように先端点を設定すると、その点では曲線の接続が不連続的 となる。
図28dに示したように、もし、必要な場合には、この実施例の装置は、制御点 を属性制御点に変換することができるようになされている。この場合、制御点レ コード八3が削除され、A1のレコードに記憶されているポインタが、A2のレ コードを指し示すように修正される。新しい属性制御点B2に対して新しい属性 制御点レコードが作成される。B2及びB3の属性点レコードがA1の曲率制御 点レコードのために保持されているリスト中に追加される。曲線がCPtJll oによって再計算され、3つの属性制御点に対して位置データが修正される。
本発明のこの実施例では、対応する属性制御点がテンプレートフレームに存在す るときには、キー・フレームはそのキー・フレームを導出した元のテンプレート が含んでいた曲率制御点よりも更に多くの曲率制御点を含むことが許されている 。従って、2つのフレームを足し合わせようとするとき、あるいは2のフレーム の間で内挿を実行しようとするとき、そのうちの1のフレームが他方のフレーム が有していないような曲率制御点を有していることが起こりえる。しかし、他方 のフレームは同じテンプレートから導き出したものであるから、対応する属性制 御点を含んでいる。従って、図30に示したように、CPUll0は、対応する 曲率制御点が他のフレーム中に存在しないような曲率制御点が存在しているとき には、対応する属性制御点を他方のフレームに配置して、その点を先に図288 及び図28b及び図29a、図29bを参照しながら説明したように、曲率制御 点に変換することができるようになされている。こうして、2つのフレームは互 いに対応するようになり、足し合わせたり、上述したようにその間の内挿を実施 したりすることができるようになる。
並ダ1タイムラインのフレームの Aわせ上に述べたように、好適な実施例の1 つの利点は、対象物の異なる部分を別々に独立に動画として動かすことができ、 この別々の副画像列(タイムライン)を足し合わせて1つにすることができると いうことである。このようなことが可能なのは、異なるタイムラインのすべての フレームが同じトポロジーを有しているからであり、即ち、これらのフレームが すべて同じ共通のテンプレートテーブルのサブセットとなっているからである。
以下に議論するように、フレームを足し合わせる処理は内挿の処理と似ている。
ただし、内挿においては、予め定められた比で2つのフレームが足し合わされる のに対し、2つのフレームの足し合わせの場合では一般に(必ずそうしなければ ならないわけではないが)各フレームを等しい比で足し合わせる。
本質的には、CPUll0は異なったタイムラインの同じ時刻に生起する2つの (あるいは一般的には複数の)フレームを配置し、存在する各フレームの対応す る曲線制御点を取り出して合成フレームを導出する。これらの座標の値から、テ ンプレートフレームの対応する点の座標の値が減算され、キー・フレームの制御 点の座標値とそれに対応するテンプレートフレームの座標値との差を定義する差 分座標値がめられる。
次に、各フレームにおける対応する制御点に対する差分座標が1つに足し合わさ れて、合成フレームのその制御点に対する差分座標の和が形成され、これにテン プレートの対応する制御点の絶対座標が加えられて合成制御点座標が導出される 。
こうして、異なるタイムラインの時間整列されたフレームの対応する制御点とテ ンプレートとの差のベクトル加算と、対応するテンプレート制御点座標を足した ものに各合成制御点は対応している。
更に一般的には、予め定められた一定値で重み付けされたベクトル差の和を形成 させ、合成フレームがある1つのタイムラインからのフレームの方に、他のタイ ムラインからのフレームよりもより強く依存するようにすることも可能である。
同様に、演算のしかたを、タイムラインのフレームの座標をまず1つに足し合わ せ、次にこの和からテンプレート座標の予め定められた倍数を差し引きするよう にすることも、もちろん可能である。
このようにして、画像列の異なるタイムラインのテンプレートからの偏位置の和 に対応する合成フレーム列が形成される。
図31に示したように、複数のフレームを足し合わせる1つの方法は以下の通り である。まず、以後、差分テーブルと呼ぶことにする新しいフレームテーブルが 、足し合わせようとしている各フレームに対して、CPUll0によって一時的 にメモリ121に作成される。各フレームの各曲線制御点の座標値をテンプレー トテーブル中に記憶されている対応する座標値から差し引き、この座標の差をそ のフレームに対応する差分フレームテーブル中に保存する0足し合わせしようと している全てのフレームに対して差分テーブルのセットアツプが終了すると、図 30の処理に従って、この差分テーブルが互いに適合性がとれたものとなるよう にする。
次に、CPUll0は結果フレームテーブルをメモリ110の中に作成する。
更にCPUll0はテンプレートテーブルを読み取り、各曲線レコードに対して 、その曲線レコードがどれかの差分フレームの中に存在するかどうかのチェック を行う。もし、対応する曲線がどの差分フレームにも存在しない場合には、CP U110はテンプレートテーブルの中の次の曲線に進む、もし、対応する曲線が すべての差分フレームに存在する場合には、画像列の各曲線制御点に対して、差 分座標テーブルの中の対応する制御点の差分座標の和が取られ、その結果がテン プレートテーブルの対応する点の座標に足し合わされ、結果テーブルに保存され る。次いで、テンプレートテーブル中の次の曲線が処理される。
もし、曲線が、足し合わせようとしている全てのフレーム中に存在しないときに は、CPUll0は足し合わせようとしているどれかのフレームがキー・フレー ムであるかどうかを調べ、もし、そうならば問題となっている曲線がキー・フレ ーム中にあるかどうかどうかを調べる。もしあるならば、その曲線が存在してい るそのフレームに対して差分座標の和がとられ、これが先の場合と同様にテンプ レート座標と加え合わされる。もし、曲線が存在していないときには、言い換え れば、その曲線が内挿されたフレーム中だけに存在する場合には、その曲線は結 果フレームテーブルから削除される。
テンプレートテーブル中の全ての曲線についてCPUll0の検討が終了すると 、今や、結果フレームテーブルは必要なすべての曲線制御点を含んでいることに なる。この段階で、cpuiioは全ての属性点の位置を、図32に示したよう に、まず結果フレームテーブル中の各曲線を取り出し、次に各属性点を検討する ことによってめる。もし、足し合わせようとしている曲線のすべてに属性点が存 在している場合には、CPUll0は、属性点位置パラメータに対して、あるい は、属性点レコードに記憶されている任意の属性データ(例えば線幅又は不明瞭 な輪郭)に対して随意、平均化した値、あるいは内挿値をめる。次に、内挿値( 例えば平均値)を結果テーブル中に記憶する。
もし、属性点が足し合わせようとしているフレームの全てに存在しない場合には 、属性、尭が存在するフレームがキー・フレームでなければ、CPUll0はテ ンプレート中の位置の値に等しい値を属性点が存在しないフレームの各々に対し て割り当て、更に全てのフレーム値の間に新しい位置を、上記のように内挿させ る。
好適には、属性点位置の内挿は、対応する2つの内挿フレームの2つの助変数位 置データの値の間で単純に内挿させたようなものではなく、内挿フレーム中の対 応する曲線セグメントの長さをめることによってめるようになされている。また 実際の曲線セグメントの長さは必要な内挿比に分割され、これに対応する曲線上 の位置がめられ、さらに、その位置における対応するパラメータtの値がめられ て、これが内挿属性点位置として記憶される。
もし属性点がキー・フレーム中に存在する場合には、そのキー・フレームの属性 点位置データは、内挿フレームより導き出された位置よりも重要であるので。
これを結果テーブル中に保存する。
上に述べたように、好適には、各画像列に対して、フレームテーブルの集合から 成る現在の合成画像列が、対応する基礎画像列とともに保持される。ここで、基 礎画像列はフレームテーブルのさらなる集合に対応したものとなっており、また 、この基礎画像列は編集のため、現在表示しているタイムラインではなく、上に 議論したように、すべてのタイムラインの合成和である。現在のタイムラインの 編集が終了すると、そのタイムラインを単に基礎合成画像列に足し合わすだけで 、新しい合成画像列が生成される。従って、必要な演算量が節減できる。
内挿および足し合わせの処理は非常に似たように見えるであろう、上記の実施例 においては、わかりやすくするために、フレーム間の内挿、およびテンプレート とのフレーム差分の和とについて述べた。一方、フレーム差分を用いて内挿を行 うことも可能であり(その結果をテンプレートフレーム座標と足し合わせる)、 また、フレームの足し合わせも可能である(テンプレート座標を差し引く、或い は更にそれを倍にする)。実際には、便宜上、メモリ121は絶対点座樟として フレームテーブルを記憶するか、或いはテンプレートテーブルの対応する座標か らの差を示す座標としてフレームテーブルを記憶するかのどちらかである。図3 0〜図32に示された処理も同様に適用可能であり、好適には、必要な変更を加 えて内挿に適用される。
五生鋏置上旦旦 本発明の1実施例においては、再生装置103は、記憶された適当なプログラム の下で動作するCPUll0を具備している。
1つの実施例では、再生装置は画像列を最終的に表示しようとしているのと同じ フレーム反復速度(24,25或いは30Hz)に対応する速度でフレームを表 示し、オペレータが画像列を現実的な速度で見ることができるようになされてい る。しかしながら、好適には、再生装置103は、キー・ボードあるいは他の入 力装置からの、再生速度を指定する入力命令を受け付けることもできるように適 合されている。これは、オペレータが画像列の中の重要な部分をスローモーショ ンで見るために、また、全体をさっと調べるために画像列をすばや(動かして見 るのに非常に有用である。
他の実施例においては、再生装置103は、(キーボード170b、或いは更に 好適にはタイムライン表示協働する位置検出入力装置170aから)画像列中の どこからどこまでを再生すべきかを指定するための最初のおよび/または最後の フレームを指定する入力信号を受け付けるようになされている。これによって才 へレータは、画像列の特定の部分を再生するように指定することができる。する と、再生装置103は指定された最初と最後のフレームの間の各フレームを順番 に表示していく。もし、再生装置103が開始フレームと終了フレームとの間を 一定のサイクルで繰り返すようになされていると特に便利である。これは、画像 列を最初のフレームから最後のフレームまで繰り返し表示するか、或いは画像列 を順方向に(開始フレームから終了フレームへ)表示した後に、逆方向に(最後 のフレームから最初のフレームへ)表示するようになされる。これは、オペレー タが正しくないフレーム、或いは→のフレームの存在場所を見つけ出して編集す るために特別に有用である。
もし、cpuiloが十分に高速に動作するのであれば、再生装置113をメモ 1月20にアクセスするように構成し、表示ジェネレータ111が画像列の指定 された最初と最後のフレームの間の各フレームに対応する各フレームテーブル1 22に対して順番にアクセスしていくようにすることが可能である。しかし、現 在利用できる多くのCPUは、フレーム全体を実時間で生成するだけの能力を有 していない。従って、そうする代わりに、再生装置103は、表示すべき各フレ ームに対してラスク画像を生成するための初期処理だけを行って、表示ジェネレ ータ111に順番に各フレームテーブル122にアクセスさせ、画像を画像記憶 装置130に生成させる。各画像が生成されると、再生装置103は画像を大容 量記憶装置180(例えばハードディスク)に記憶する。この点に関しては、コ ンピュータは、画像を圧縮符号化してハードディスクに記憶する画像圧縮手段を 有していることが望ましい。というのは、さもないと、比較的短い画像列に対応 する画像データの分量でさえも極めて大きいものとなってしまうからである。
1つの画像データあるいは複数のフレームの大容量記憶装置180への保存が終 了すると、再生装置103は、各フレームに対応する画像データをアクセスし、 所望のフレーム反復速度で画像記憶装置130をリフレッシュすることによって 画像列の表示を行うようになされている。オペレータが再生をやめたい旨を示す 信号を発すると、再生された画像列のフレームに対応する画像データファイルを 大容量記憶装置180から削除して使用メモリ量を削減することも可能である。
好適な実施例においては、再生装置103は、画像列の準備の初期の段階におい て、再生画像列をカラー画像として見ることができるように、および/または、 背景の中にはめ込んだ状態で見ることができるように、以下に議論するように描 画装置105によって各フレームに対して描き入れを行うことができるようにな されている。
画像列或いはその一部分を再生して見終わった後に、画像列の編集を行うことが 多くの場合型まれる。この場合、オペレータは、CPUll0に対して再生を停 止して編集を着手するように命令を発する。
し百Rer1derer105 仕上げ描画装置105も、記憶されたプログラムの下に動作するCPUll0を 有し、あるいはこれとは異なる独立したコンピュータ100を備えるようにする こともできる。いずれの場合においても、仕上げ描画処理は、従来技術における のと同様に、画像を色づけし、及び/或いは、画像を背景と混合する処理である 。従って、仕上げ描画装置105は、仕上げ描画処理をすべきフレームに対応す るテーブル122に記憶されているデータを読み取り、予め記憶された色、及び /又は、背景情報に応じたフレームに対する処理を行う、特に、先に議論したよ うに、属性制御点に色やその他の属性情報(例えば、透明度)を含ませて記憶さ せることができる。仕上げ描画の方法については、我々の英国出願第91109 45.4とPCT出願PCT/GB91102124および本出願と同日に出願 されたPCT出願PCT/GB92/・・・(代理人資料番号5130799) に記載されており、これらの全てをここに参照併合する。
・り およびその の 先に述べたように、属性制御点がいくつかの目的のために採用されている。第1 に、属性の値を設定して、後の仕上げ描画に用いることができる。こうすると単 に個々のキー・フレームに対してのみ指定するだけで、仕上げ描画に必要な非常 に多くの情報が指定できる。キー・フレームの間に内挿されたフレームに対して は、自動的に正しい位置に挿入される。第2は、属性制御点を用いることによっ て、余分な曲線制御点を有することができるようにすることができる。これによ り、必要な部分の複雑さを増大させることができるようになる。その際でも、フ レーム間の位相的な対応性を維持することができる。
また、他の出願も同様に除外されるものでなく、属性値は曲線を定義するのに使 用されている点の個々に設定される必要がなく、曲率の制御点に設けられても良 い。曲線セグメント上の点にも属性を定義することができる融通性を備えるよう にしておくのが非常に好適である。
本発明によれば、我々の国際特許出願GB91102124に記述されているよ うに、装置は、ラインの経路を制御する限られた数の制御点によってラインを定 義することができるようになされており、またライン上の予め定められた点にお ける属性あるいは特徴的な特性を指定することができるようになされており、こ のような点を用いて、曲線或は曲線構造がある直線に接続される点をマークする ことができる。
図3を参照すると、1本のラインが他のラインにリンクされているか、或はそれ とともに、1つのアセンブリを形成しているかを示すフラグが記憶されて、2つ が監視表示装置160に接続されて表示されるようにもできる。この場合は、あ る対象をスケーリングの移動や他の変更(例えば他のアフィン変換により)を行 うと、他のパラメータ(例えば、位置)が監視表示エディタ113により自動的 に対応して補正される。
好ましくは、図34に示すように、リンクされたラインは共に、接合された経路 とともに監視表示器160に表示される。接合部では制御点記号Jが表示され、 この記号は経路を接続するための経路制御点を表わしているが、接合された経路 には特に影響を与えない。対象図形の接触点の変更することは、接合された経路 に沿ったものに制限される。
(以下余白) 図35に示すように、表示されているこの点に関するデータは2つの独立したラ インテーブルに記憶されている。補助ラインテーブル122bに記憶されたデー タは通常、位置座標と接線端部位置データを表わしているのに対し、これが接触 しているラインに関するテーブル122aに記憶されたデータは、位置を示す値 (そのラインに関連しており、好ましくはそのラインに沿った位置で補間された パラメータの値)と、接触しているライン或は補助ラインに対応するラインテー ブル122bのメモリ120内のアドレスである。
従って、例えばエディタ113により接続点が変化されると、監視表示エディタ 113は最初に接続されたラインテーブル122a内の接触、蝶のパラメトリッ ク位置を変更し、次に記憶されたベースアドレスを用いて、接触したラインテー ブル122bをアクセスする。そして接触点の実際の位置座標を計算し、対応す る量により、接触したラインの曲線制御点の座標x、yを修正する。
あるラインがいかように移動或は変換されても、いつでもエディタ113は本実 施例では同様に動作し、そのラインの接触点の実際の位置を再計算する。そして 、それらの点で接触した接触線のラインテーブル122bをアクセスする。そし て、それに対応させて、図6Bに示すようにこのテーブル中の曲線制御点を修正 する。そしてライン発生器はモニタ160上の表示を変更する。
第1の実施例では、図34に示すように、接触した(結付けられた)曲線Bは曲 MAのJで示すように1点でのみ接触している。曲11Aが変更される(形状が 移動或は変更され)と、エディタ113は最初にラインテーブル122aから曲 線A上の接触点Jの位■標を計算する。この座標は曲線B上の対応する点に対す る新たな座標である。好ましくは(必ずしも必要でないカリ、この点は曲IBの 曲線制御点である。この場合は、テーブル122aへの入力はテーブル122b の制御点入力を指示すれば良い。この点の位置の以前の値はテーブル122bか ら読出され、元の位置と新たな位置との間の座標の差はエディタ113により計 算される。
それから、エディタ113は残りの曲線制御点と、接線先端の座標データのそれ ぞれを順番にテーブル122bより読出し、座標の差を加算する。そして、結果 として生じたシフトされた座標データをテーブル122bに戻す、このシフトさ れたラインはその後、表示される。
各曲線テーブル122は調べられ、接触状態フラグ901が読出される(図35 に示す)、この接触状態フラグ901は、曲線が他の曲線(例えば図34の曲線 B)に接触されているのを示している。この場合、その位置は、それが接触して いる曲線の位置で指示され、或は曲線が接触していないかが指示される。
接触していない曲線のみを補関することにより、フレーム間で発生することがで きるであろう、エディタ113はそれから、各補間フレームに対して新たな接触 した曲線テーブルを発生する。しかし上述したように、接触する、或は接触しな い全ての曲線を補関し、それからその補間が曲線間の接触を分離するようなフレ ームを個々に編集し、或いは新たなキーフレームを追加して分離を少なくするの が望ましい。
第2のラインが接触しているラインに沿った接触点位置が、上述した、そして我 々が以前出願した国際特許出願GB91102124におけるように、他の属性 、点の方法で編集されても良い。接触点のそのような変更の後、エディタ113 は上述したように接触したライン制御点の位置を再計算する。
接触した曲線Bの位置を補正する上述の方法は、図38に例示されたような空間 で、その形状と傾きを変更することなく、曲線Bを効果的にシフトする。これは 多くの応用のために望ましいことである。
2つのラインの間の接触(結び付き)は、上述と同様の方法で、接触しないライ ンに1つの属性、尭を付加するか、或は削除することにより形成され、或は結び 付きが壇される。そのラインに沿ったその属性点位置も同様にユーザにより編集 可能である。接触属性点を削除することにより結び付きがなくなった後、テーブ ル122bのフラグ901の状態は変更され、そのラインはこれ以降、接触して いないラインとして処理される。接触点を移動した後、テーブル122Bは上述 のように再度計算される。
2つのライン間の接触(結び付き)には2つのラインが実際に空間内で合ってい る必要がないことは理解できるであろう。他の実施例によれば、非接触のライン に関して記憶された属性点は、属性点に関連した第2のラインの位置を定義する データを記憶している(例えば、非接触曲線の接触点と、接触した曲線の制御点 との座標差を特定する位置オフセットデータ)、そして、エディタ113は、こ の位置データを計算に入れて接触した曲線の位置を計算する。
更なる実施例では、エディタ113は、それが接触している曲線の傾きの変数で 、接触した曲線の傾きを変えるように構成されている0図37(図34に対応す る)は、これを例示する。この実施例では、エディタ113は接触点の位置を計 算するだけでな(、その位置で接線を計算する0元の接線の値が保持され、エデ ィタ113は接線が回転した角度を計算する(言換えれば、元の接線と現接線の 間の角度の差)。そして上述のように、接触点によって成された位置の移動によ り最初にその位置を変更し、それから図40に示したように、接触点での接線に よって成された回転量と同じ量だけ、接触点の周りにシフトした位置を回転する ことにより、接触した曲線の制御点位置をめる。
更に他の実施例では、接触した線は2点で、2つの異なる曲線或は同じ曲線の2 つの部分に接触しても良い。
図39は1つの曲線が2点(この場合は、いずれかの端点が曲線制御点である) で2つの他の曲線に接触している0図39Bでは、2つの接触点が編集され、位 置が変更されている。接触した曲線が2つの点で接触したままであれば、新に接 触した曲線位置データは、それが接触している両方の曲線への変更を考慮して計 算される必要がある。
この実施例では、図41より、接触した曲線が補間されたとき、或は線画がユー ザによって編集されたときは、図39に示すように、二重に接触している画像内 であれば、エディタ113は先ずラインテーブル122より、どの曲線かを判別 する。接触していない曲線及び一点で接触している曲線は、上述の実施例で説明 したように処理される。」に接触した曲線のそれぞれに対し、第1のステップで は、それが接触している曲線のそれぞれの曲線上における、上述の実施例の接触 属性点の位置を決定する。これら2つの接触点位置は、図39に示すように、こ れら曲線を連結する直線を規定する。
補間或は編集前の2つの属性点の位置は、図39Aに示すように、第1のライン を規定し、そして編集の後では、第2の異なるラインを規定している。最初にエ ディタ113は、接触点座標を用いて、2つの接触点を通るラインy=mx+C を規定する定数mとCを計算する。次に、2つの端点間のラインの合計長が、2 つの接続点のXとy座標の差の2乗の和の平方根により計算される。次に、エデ ィタ113は制御点の位置のそれぞれ、及び接続している曲線に沿った接線の端 点の位置と、2つの接触点を結ぶ直線との間の最小距離を計算する(言換えれば 、各点を結ぶラインとの距離)。これは既に、最小距離は関連している制御点を 結ぶラインの和泉方向の距離として計算されている。各制御点に対して、最小距 離の値は一時的に保存される。エディタ113はまた接触している曲線上の各制 御点を通る各垂線が、そのラインと出会う点におけるライン方向への距離を計算 する(言換えれば、このライン方向の各制御点或いは接線までの距離)。そして 、これで合計長を分割し、そのライン方向の各制御点の分数で表わされた長さを 提供する。
このように、接触している曲線の各制御点に対し、接触している点同士を接続す るラインからの距離が、そのラインに沿った距離とともに一時的に記憶される次 に、エディタ113は、図39Bに示したように、接触していないラインの編集 酸は補間の後で得られた、新たな接触点を通る新たなラインの係数mとCを計算 する。この新たなラインの全長もまた計算され、各制御点の記憶された分数の距 離に新たなライン長をかけて、その新たなラインに沿った対応する距離を計算す ることにより、接触した曲線の各制御点の位置が計算される。それから、その点 から垂線方向に、記憶されている離れた距離の点を新たな制御点位置とするまた 、そのラインの全長に対する分数の形で、そのラインよりの距離を記憶するよう にもできる。そして、エディタ113が新たなライン長を、その分数に掛けるこ とにより、その接触した曲線の形状を劣化な(維持することができる(スケーリ ング時は除く)。
上述した実施例は、接触した曲線をスムーズなままに維持し、それが接触してい る2つの曲線との位置関係を補正するのに効果がある。しかしながら、図39B より明らかなように、接触している曲線が、それが接触している曲線との角度が 保持されていない、多くの線画においては、このことが所望する最終的な結果に 導かないこともありえる。もちろん、人間のオペレータが、その接触する曲線を 迅速に編集できるであろう(例えば、各補間フレームにおいて)。そして、この ことは各補間されたフレームにおいて、接触した曲線を全(書き直すよりも、よ り効果的であろう。しかしながら、本発明の更なる実施例では、エディタ113 は接触した曲線を、その接続している領域で、その接触した曲線の角度位置と、 それが接触している曲線の角度との関係を保持したままで補正するように動作す る。
図42を参照すると、そのよりな一実施例として、2つの接触点間の最初の直線 が上述のように計算されているが、編集(或は補間)の後、新たなI泉を計算す るだけでなく、その直線の両端部での新たな接触点での接線角度の変化により指 示された、その端部での曲率を有するように計算される。この接触した曲線の制 御点の位置は、この曲線のラインに沿った距離を用いてめられる。
より詳しくは、この実施例では、エディタ113は最初に、各接触していない曲 線上の接触点の位置と、各接触点での曲線に対する接線をめる。それから、接触 点での曲線の接線と連結している直線との間の角度が、各接触点で計算される。
以前と同様に、エディタ113は接触点の新たな位置を見出し、その接触点のそ れぞれで、非接触の曲線に対する新たな接線を計算する。
それから、2つの接触点をつなげる新たな曲線が計算され、この新たな曲線は図 42Bに示すように、各接触点で、編集の前に直線であったのと同じ量だけ非接 触曲線の接線を回転させた接線角を有している。例えば、曲線は、最初の直線の 長さの173の長さの接線を有するベジェ曲線として計算されても良い。こうし て、非接触の曲線の接線の如何なる回転も、2つの接触、の間をつなぐラインの 端点の接線の回転と結果的に等しくなる。前述の実施例において、新たな制御点 の位置をめたように、2つの接触点をつなぐ新たな曲線に沿った接触した曲線の 制御点の間隔が使用される0図42Bに示すように、もし非接触の曲線の1つを 編集する効果が2つの接触点の間のラインを曲げることであれば、その接触した 曲線の制御点、及び接触している曲線が、その後で曲げられる。
この実施例では、接触した曲線の接線の端点の位置が異なるように修正されるの で、以前は扇形であった部分が分離されることがある。これにより、接触してい た曲線が監視スクリーン上で再生されるとき、このラインの切れ目となって表示 されることになる。これは一般的には見えて望ましくないものであり、結果的に 本発明の好適な実施例では、エディタ113は各制御点で接線が角度を変えられ るのを防止している0本実施例では、このことは、エディタ113が接線の端点 の位置のみを再計算し、それから接線の2つの端点の間の直線上にあるバス制御 点の位置を、好ましくは、修正前の2つの接線長の比と同じ比でそのラインを2 つに分割した距離で補間することにより達成される。
更なる実施例では、エディタ113は、以下のように空間的な変換(spati al transformation)を適用して新たな制御点の位置をめるよ うに構成されている。
最初、エディタ113は、図43AのPlで示すように、編集の前に、接触した 曲線のための全ての制御点を含む空間のバッチ(断片)をめる。便宜上、2つの 接触点を接続する直線に平行な両辺と、それら接触点を通る両辺に垂直な2つの 端辺とを有し、この接続線に平行な2つの辺は、その接続線から曲線が最大離れ た広い範囲を定義している(言換えれば、曲線の“境界の箱”)、このエリアP 1内の各制御点の位置は、両辺を1対の座標(u、 v)となる座標軸として用 い、それぞれの辺の全長に対する分数の長さで表わす。これにより、最も下の角 の座標は(0,0)で、最も上部の角の座標は(1,1)となる。
次に、前述の実施例のように、修正後の各接触点で、接触した曲線の接線の回転 がまた計算される。それから新たな表面エリアP2がめられ、その2つの端辺は 接触点、を結んで、2つの接触点を結ぶ新たな直線に垂直となる。他の2つの辺 は平行なベジェ曲線であり、曲った接続ラインに平行で、接触点の接触していな い曲線の接線の角度の回転に合わせるように、接続している直線の端点を回転す ることにより計算される(図42を参照して上述したように)。
従って、エディタ113は、2つの直線と、2wA集後のエリアP、を定義する 2つのベジェ曲線を定義する係数をめる。
これらの係数は、各制御点の座標(u、 v)と接線の端点とにコーンズバッチ (Coons patch )変換を適用するのに用いられる。このコーンズパ ツチ変換は、例えばアカデミツク・プレスより発行されたl5BNO−12−2 49051−7、スジエラルド・ファリン(Gerald Farin)による [コンピュータによる幾何設計のための曲線と表面の実用ガイドJ (Curv es and 5urfaces for computer aided g eometric design、 a practical guide)  (第2版)の例えば、バラグラフ20.2に説明されている。こうして計算され 変換された座標は、接触した曲線の各制御点の新たなエリアP、内の位置を与え る。
他の実施例である図44を参照すると、最初のバッチP、は前述の実施例と同じ であるが、新に計算されたP、は真直な2つの端辺を有し、各端辺は接触点で接 触していない曲線の接線の回転に対応する量だけ回転される。前述のように、他 の2つの辺は、図42を参照して説明したように、接線の端部を回転することに より計算された2つの接触点の間の曲線に対応している。バッチP、の2つの他 の端辺は今はもはや平行でないので、2つの辺は、端辺間をつなぐのに必要なよ うに回転され、長さが変更されている。
これら実施例では、前述の実施例のように、エディタ113は好ましくは各接触 、慨て平行な接線の破損を防止している(例えば前述のように、接線の端点を変 換し、2つのバッチの間のバッチ制御点を補間することにより)。
同様に、制御点を含む領域の形状の変化を考慮して制御点の位置を変換する他の 方法を用いてもよい。
図45を参照する。1つの曲線は2つの点以外で接触しても良い、この場合は、 二重に接触した曲線セグメント或は1つ接触した曲線セグメントのいずれの接触 であるかを決定する。またエディタ113は好ましくは、上述した実施例の1つ に従って順番に各セグメントを処理するように構成されてもよい、これにより、 接線が平行でな(なるような接触点で不連続にすることができる。この問題は、 適当な編集を行うことにより克服できるような、比較的人間のオペレータにとっ て簡単なものである。或は逆に、エディタ113が接触点で接線を互いに平行に できるように構成されていてもよい(例えば、平均化された傾きで)。
図46を参照すると、エディタ113は、ユーザが制御点で、制御点が接触して いる曲線と一緒に移動せず、空間的に固定されていることを示すフラグを定義す ることができるようにしてもよい。このような固定点は、更なる接触点のように 効果的に働く。固定7屯の位置及びその固定へでの接線(いずれも固定されてい る)は、叙述の実施例の接触点及び接触した接線の代わりに採用される。或は固 定点の位置を使用し、その接線が無視されてもよい。
更に接触した1つの曲線は、1つの接触した曲線に接続されても良(、この場合 には、第2の曲線の位置は最初の曲線の位置に依るので、最初に第1の接触した 曲線の新たな曲線制御点位置を計算し、それから、これより前述の実施%Iで説 明したように、第2の曲線制御点位置がエディタ113&こよって計算される。
従って、接触した曲線が引かれる順序は階層を定義してしする。明ら力)&こ、 曲糸泉Cま0以て知られているその位置に基づく曲線の位置にくるので、ある曲 線Gまそれ自体に接触されるべきではない。従って、この階層における循環番ま 認められなし)。
このような階層構造の応用例としては、動画のキャラクタの顔の構築力Sある。
顔の輪郭は身体に結合されている。髪は、その顔の輪郭の上部をこ結合される。
イ氏部の顎の輪郭は顔の輪郭の底部に結合される。顎の先のライン、下倶11の 唇のラインは顎の下側の輪郭に結合される。鼻と目は、ある1つの結合点で、顔 の輪郭と目の距離を規定する離れた位置関係で、顔の輪郭の両サイドに結合され る。これにより、目はデフォルメされることなく、単に顔のな力)で変イヒしな カ咥ら移動するだけである1孔は目に結合され、まゆは額と目に結合される。他 の特徴も同様に階層的に構築される。こうして、階層の]にあるライン(%Iえ 4f身体のライン)を移動させると、エディタ113は階層の下層にある(伊1 え4f顔のライン)全てのラインを移動させる。これにより、人間の動画作成者 の負士旦を大幅をこ軽減できる。
また、接触した曲線のそれぞれと、接続されるべき曲線の間の座標変換を特定す ることにより、我々の初期の国際特許出願GB91102122!こお番ブる三 次元構造に関連した記述のように、曲線の接続に関して階層的な構造を設むすで もよい。これにより、操作に要する時間及び最初にラインを編集する時間を減ら すことができる。
第1のサブセット曲線(非接触曲線)の変更に応じて第2のサブセット曲皐泉( 接触した曲線)を操作する上述の実施例が、“青鉛筆”モードでの動イ乍を提供 するために採用されることを以下に説明する。
図47を参照すると、図47aのキーフレーム或はテンプレートライン画(象と して、キャラクタの本質的な輪郭を規定している1組の曲線力)ら成る動画キャ ラクタのモニタ160上の画像が示されている。図47bでは、点線で表わされ た図47aの曲線を有する、そのキャラクタの最終的な形状が示されている0図 478の“青鉛筆”の輪郭は最終的な画像で再生されるであろう“黒鉛筆”の輪 郭が配置されるあたりの構成を表わしていることがわかるであろう。この“青鉛 筆”の線の中には最終的な画像で見えるように要求されるものもあるが、それ以 外は見えなくても良いものである。
本発明の実施例では、オペレータは線画の第1のサブセットラインを直接操作す るものとし、第2のサブセットを第1のサブセットに接触するものとして特定で き、例えば上述の実施例を用いて、第1のサブセットをエディタ113により操 作することにより、第2のサブセットラインは自動的に操作される。第1と第2 サブセツトラインは線画発生器111により異なって処理される。本実施例では 、線画発生器111はユーザの要求に応じて2つのモードで動作できる。これに はユーザは、キーボード170Bを使用してモード変更コマンドを入力すること により選択するか、或は入力装置170Aをディスプレイの適当な位置に位置付 けることにより選択できる。第1のモードでは、第1のサブセットライン(青鉛 筆の線)のみがディスプレイ160上に表示され、第2のモードでは第2のサブ セットライン(そして、選択的に第1サブセツトラインも)が表示される。こう して、線画発生器111は各曲線のラインテーブル122をチェックし、曲線が 接触していることを示すフラグ901がセットされているかをチェックする。
第1のモード(青鉛筆)では、そのラインの線画が発生されない。従って、上述 の実施例で説明したように、ユーザは表示された第1のサブセット曲線を自由に 編集及び操作し、表示エディタ113は表示されていない接触した曲線のための 曲線テーブルを更新する。これにより、雑然としたラインを表示することな(簡 単に操作できる鮮明な表示が得られる。動画作成者により、画像が第1のモード で所望の形状に編集されると(例えばキーフレームを作成する)、図47bに示 すように、接触した曲線が目で見える第2のモード(動作作成者、或はその助手 、或は仕上げ画家により)で表示されてもよい。そして接触した曲線の位置を少 し変更する場合は、表示エディタ113を用いて上述のように実施される。
この態様として、詳細の度合いのい(つかのレベルを提供することができるであ ろう。例えば、骨格の第1のサブセット曲線が操作されるフレームワークレベル 、キャラクタの輪郭(骨格の曲線に接触した曲線)が編集される輪郭レベル、輪 郭の曲線或は骨格の曲線に接触した詳細な曲線が編集される詳細レベルがあり、 これら3つのサブセット曲線のそれぞれは、対応するディスプレイに個々に表示 されても良く、或は第1のサブセットのみ、第1と第2のサブセット、これら全 てのサブセットの曲線を表示する3つのモードを設けてもよい、この実施例では 、動画作成者は1つのフレームを編集して、単に1つのフレームの曲線を操作し 、エディタ113が、人間の介在無く、輪郭及びその輪郭に接触した詳細部分の 形状を結果的に変更して、1本の足の動きのような簡単で大きなスケールの動き を提供できる。
本発明のこの態様の趣旨は、個々の表示モードを提供することにあり、第1のモ ードでは1つの組のラインが操作されて、第2のモードで表示される第2セツト のラインの外観に影響を与えている。この態様は上述の説明では曲線を接続する 方法を参照して説明したが、曲線をグループ化する、例えば好適ではないが、従 来の技術を用いても実現できる。同様に、ライン以外の画像部分も表示され、操 作されてもよい。
同様に、詳細部分のレベルが隠されているが、画像の表示された部分に基づいて 自動的に編集される編集可能な画像を提供する他の応用例における利点に付いて も理解されるであろう。そのような動画以外への応用例もまた本発明の範囲に含 まれるものである。
(以下余白) F/(i、 3゜ F/(i、 9゜ F/(i、 16゜ F/6.77゜ F/6.7B。
F/6.20゜ F/15 、27b F/627c F/6.27d F/(530゜ ビ゛子′オ赫画196j97 Flc134゜ F/6.42 F16.4.3 F/(Jy、4−4 \す 1m++++1++I 1−1++1++ N−ρCT/GB 9210092 7国際調査報告

Claims (24)

    【特許請求の範囲】
  1. 1.出力画像を作成するための装置であって、画像を複数のラインで表示する手 段と、前記ラインに関連するラインデータを記憶する記憶手段と、記憶されたデ ータより表示されたラインを発生するライン作成手段と、記憶されたデータを編 集して前記表示画像を変更する編集手段とを備え、前記ラインは第1サブセット のラインと第2サブセットラインとを有し、前記ライン作成手段は前記第2サブ セットラインの表示とは異なる第1サブセットラインの表示を発生し、前記第1 サブセットラインの記憶されたデータの編集後、前記編集手段は前記第2のサブ セットラインを表示する前に、記憶されている前記第2サブセットラインのデー タを修正することを特徴とする装置。
  2. 2.請求項1に記載の装置であって、前記ライン作成手段は2つのモードで動作 可能であり、第1のモードでは第1サブセットラインが表示されて第2サブセッ トラインが表示されず、第2のモードでは第2サブセットラインが表示され、そ してこれら2つのモードを選択する選択手段が設けられている。
  3. 3.請求項1に記載の装置であって、前記記憶手段は前記第2サブセットライン の各々を特定のライン或は第1サブセットラインのラインとリンクさせるリンク データを記憶している。
  4. 4.請求項1に記載の装置であって、前記線画は動画列のキーフレームを含む。
  5. 5.請求項4に記載の装置であって、前記記憶手段はテンプレート画像を定義す るデータを記憶し、前記テンプレート画像から各キーフレームを作成する手段を 有する。
  6. 6.請求項1に記載の装置であって、ラインデータは各ラインを定義する制御点 から離れた点の座標データを含む。
  7. 7.請求項6に記載の装置であって、前記制御点はライン上にあり、前記データ はまた各制御点におけるラインの接線を定義するデータを含む。
  8. 8.請求項3に記載の装置であって、前記リンクデータは、前記第2サブセット ラインの各ラインに対し、第2サブセットラインが定義されている位置を参照し て、第1サブセットのライン或いは各ライン方向の相対距離で、第1サブセット の1ライン或は複数ラインに沿った点を特定する接触点データを含む。
  9. 9.請求項1に記載の装置であって、前記編集手段による第1サブセットのライ ンのラインデータの修正後、前記編集手段により、第1サブセットラインを参照 して定義された位置の第2サブセットラインのラインデータを修正する。
  10. 10.請求項1に記載の装置であって、第3サブセットラインを更に含み、その 位置は第2サブセットラインの位置に基づいて定義される。
  11. 11.出力画像を発生する装置であって、複数のラインで画像を表示する表示手 段と、前記ラインに関連したラインデータを記憶する記憶手段と、前記表示手段 に表示するために前記記憶されたラインデータより表示されるラインを発生する ライン発生手段と、 前記記憶されたラインデータを編集して表示される画像を変更する編集手段とを 有し、 前記ラインは第1サブセットラインと第2サブセットラインとを含み、前記記憶 手段は第2サブセットラインのそれぞれと第1サブセットラインの所定のライン 或は複数ラインとをリンクするリンクデータを記憶し、前記編集手段は前記リン クデータを読出して、前記第2サブセットラインを表示する前に第2サブセット ラインの記憶されたデータを修正することを特徴とする装置。
  12. 12.請求項11に記載の装置であって、前記ラインデータは第1サブセットラ インのそれぞれのラインを定義する制御点から離れた点座標データを含む。
  13. 13.請求項12に記載の装置であって、前記ラインデータはまた第2サブセッ トラインのそれぞれのラインを定義する制御点から離れた点座標データを含み、 第2サブセットラインの1つがリンクしている第1サブセットラインの各ライン のラインデータを修正した後、前記編集手段は第2サブセットラインの点座標デ ータを修正する。
  14. 14.請求項12に記載の装置であって、制御点はそのライン上にあり、前記ラ インデータは各制御点でそのラインの接線を定義するデータを含む。
  15. 15.請求項11に記載の装置であって、第2サブセットラインの各ラインが、 第2サブセットラインの1ラインに対して、定義されている第2サブセットライ ンのあるラインの位置を参照して第1サブセットの1ライン或は複数ラインに沿 った点を特定する接触点データを含む。
  16. 16.請求項15に記載の装置であって、前記接触点データは前記第1サブセッ トラインの各ラインに沿った相対的な距離で定義される。
  17. 17.請求項15に記載の装置であって、第1サブセットラインの1ラインの編 集の後、前記編集手段は定義されている点の画像の空間的位置を決定し、前記定 義された点を参照して定義されている第2サブセットラインのラインのための記 憶されたデータを修正する。
  18. 18.請求項17に記載の装置であって、前記編集手段は定義されている点の位 置の変化を決定し、前記変化に基づいて前記第2サブセットの曲線を定義する点 の座標を変化させる。
  19. 19.請求項17に記載の装置であって、前記編集手段は、定義された点での第 1サブセットの曲線の方向への変化に基づいて第2サブセットの曲線の点の空間 座標を回転させる。
  20. 20.請求項17に記載の装置であって、第2サブセットの曲線は第1サブセッ トの曲線と二度接触し、前記編集手段は、2つの定義されている点の座標に基づ いて、接合点での第2サブセットの曲線の記憶されたデータを変更する。
  21. 21.請求項20に記載の装置であって、前記編集手段は、第2サブセットの曲 線と各定義された点での第1サブセットの曲線との間の一定の予め定められた角 度関係を保持するように、記憶された第2サブセットの曲線のデータを修正する 。
  22. 22.請求項20に記載の装置であって、前記編集手段は、定義された点の間に ある空間エリア内に第2サブセットの曲線を定義している制御点データの座標に 空間変換操作をもたらす。
  23. 23.請求項11に記載の装置であって、前記サブセットは排他的ではなく、第 2サブセットのラインは第2及び第1サブセットライン内で他のラインにリンク され、第2のサブセットラインがリンクされている全てのラインを修正した後、 第2サブセットの各ラインの記憶されたデータが修正される。
  24. 24.画像の第1の部分が表示されて編集され、第2の部分は第1の部分にリン クされて表示されることなく、第1の部分の変化に応じて編集されることを特徴 とする画像処理装置。
JP4510508A 1991-05-21 1992-05-21 動画作成装置 Pending JPH06507742A (ja)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
GB9110945A GB2256118A (en) 1991-05-21 1991-05-21 Image synthesis and processing
GB9110945.4 1991-05-21
GB9117409.4 1991-08-12
GB9117409A GB2258790A (en) 1991-08-12 1991-08-12 Animation
GB91/02122 1991-11-29
PCT/GB1991/002124 WO1992009966A1 (en) 1990-11-30 1991-11-29 Image synthesis and processing
PCT/GB1991/002122 WO1992009965A1 (en) 1990-11-30 1991-11-29 Animation
GB91/02124 1991-11-29
PCT/GB1992/000927 WO1992021095A1 (en) 1990-11-30 1992-05-21 Animation

Publications (1)

Publication Number Publication Date
JPH06507742A true JPH06507742A (ja) 1994-09-01

Family

ID=27450617

Family Applications (2)

Application Number Title Priority Date Filing Date
JP4510508A Pending JPH06507742A (ja) 1991-05-21 1992-05-21 動画作成装置
JP4510509A Pending JPH06507743A (ja) 1991-05-21 1992-05-21 画像合成及び処理

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP4510509A Pending JPH06507743A (ja) 1991-05-21 1992-05-21 画像合成及び処理

Country Status (2)

Country Link
US (2) US5598182A (ja)
JP (2) JPH06507742A (ja)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69525117T2 (de) * 1994-09-13 2002-06-27 Canon Kk Ecke-zu-Ecke-Mischung
JPH08202850A (ja) * 1995-01-26 1996-08-09 Sony Corp 紙の繊維構造データ作成方法、紙の繊維構造データ作成装置、紙の繊維構造データ、にじみ描画方法及びにじみ描画装置
US6137471A (en) * 1995-07-24 2000-10-24 L-3 Communications Corporation High speed graphics fill of liquid crystal display
JP3706189B2 (ja) * 1996-03-15 2005-10-12 富士写真フイルム株式会社 画像データの補間処理方法およびその方法を使用した装置
JPH09326990A (ja) * 1996-06-07 1997-12-16 Matsushita Electric Ind Co Ltd 映像編集装置
JP4291892B2 (ja) * 1996-12-06 2009-07-08 株式会社セガ 画像処理装置およびその方法
US7616198B2 (en) * 1998-02-20 2009-11-10 Mental Images Gmbh System and computer-implemented method for modeling the three-dimensional shape of an object by shading of a two-dimensional image of the object
US6208360B1 (en) * 1997-03-10 2001-03-27 Kabushiki Kaisha Toshiba Method and apparatus for graffiti animation
US6025850A (en) * 1997-03-28 2000-02-15 Adobe Systems Incorporated Object boundaries identified in a raster image by a user selecting positions on the raster image and then using cost functions to predict likelihood of pixels near the position being on a boundary path
GB9807097D0 (en) 1998-04-02 1998-06-03 Discreet Logic Inc Processing image data
JP2000251086A (ja) * 1999-02-26 2000-09-14 Sony Corp 曲線生成装置及び方法、並びにプログラム提供媒体
US6681043B1 (en) * 1999-08-16 2004-01-20 University Of Washington Interactive video object processing environment which visually distinguishes segmented video object
US6911980B1 (en) * 1999-12-10 2005-06-28 Adobe Systems Incorporated Manipulation of curves and surfaces
GB0007974D0 (en) * 2000-04-01 2000-05-17 Discreet Logic Inc Processing image data
US6456297B1 (en) * 2000-05-10 2002-09-24 Adobe Systems Incorporated Multipole brushing
US7109998B2 (en) * 2001-10-03 2006-09-19 Sun Microsystems, Inc. Stationary semantic zooming
US7263227B2 (en) * 2002-04-25 2007-08-28 Microsoft Corporation Activity detector
US7110596B2 (en) * 2002-04-25 2006-09-19 Microsoft Corporation System and method facilitating document image compression utilizing a mask
US7024039B2 (en) * 2002-04-25 2006-04-04 Microsoft Corporation Block retouching
US7392472B2 (en) * 2002-04-25 2008-06-24 Microsoft Corporation Layout analysis
US7043079B2 (en) 2002-04-25 2006-05-09 Microsoft Corporation “Don't care” pixel interpolation
US7164797B2 (en) * 2002-04-25 2007-01-16 Microsoft Corporation Clustering
US7120297B2 (en) * 2002-04-25 2006-10-10 Microsoft Corporation Segmented layered image system
US7385612B1 (en) 2002-05-30 2008-06-10 Adobe Systems Incorporated Distortion of raster and vector artwork
US7002573B2 (en) * 2003-01-16 2006-02-21 1914 Holding Company Method and system for converting engineering data into 3D modeling data
GB2406028A (en) * 2003-09-11 2005-03-16 Autodesk Canada Inc Tangent handle adjustment for Bezier curves
JP4652252B2 (ja) * 2006-02-28 2011-03-16 株式会社ミツトヨ 画像測定システム、画像測定方法及び画像測定プログラム
US8601392B2 (en) 2007-08-22 2013-12-03 9224-5489 Quebec Inc. Timeline for presenting information
US8069404B2 (en) * 2007-08-22 2011-11-29 Maya-Systems Inc. Method of managing expected documents and system providing same
JP2011223218A (ja) * 2010-04-07 2011-11-04 Sony Corp 画像処理装置、画像処理方法、及びプログラム
US10289657B2 (en) 2011-09-25 2019-05-14 9224-5489 Quebec Inc. Method of retrieving information elements on an undisplayed portion of an axis of information elements
US9519693B2 (en) 2012-06-11 2016-12-13 9224-5489 Quebec Inc. Method and apparatus for displaying data element axes
US9646080B2 (en) 2012-06-12 2017-05-09 9224-5489 Quebec Inc. Multi-functions axis-based interface
JP6311379B2 (ja) * 2014-03-17 2018-04-18 株式会社リコー 表示装置、表示方法およびプログラム
US9740310B2 (en) * 2015-05-22 2017-08-22 Adobe Systems Incorporated Intuitive control of pressure-sensitive stroke attributes
CA3007166A1 (en) 2017-06-05 2018-12-05 9224-5489 Quebec Inc. Method and apparatus of aligning information element axes
US10424086B2 (en) * 2017-11-16 2019-09-24 Adobe Inc. Oil painting stroke simulation using neural network
EP3738074A4 (en) * 2018-01-08 2021-10-13 Immersion Networks, Inc. PROCESSES AND APPARATUS FOR THE PRODUCTION OF REGULAR REPRESENTATIONS OF A MOVEMENT OF ENTRY IN TIME AND SPACE
US11763507B2 (en) * 2018-12-05 2023-09-19 Sony Group Corporation Emulating hand-drawn lines in CG animation
US11579076B2 (en) * 2020-09-25 2023-02-14 Samsung Electronics Co., Ltd. Method and apparatus for correcting error of optical sensor, apparatus for estimating bio-information

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4189743A (en) * 1976-12-20 1980-02-19 New York Institute Of Technology Apparatus and method for automatic coloration and/or shading of images
US4514818A (en) * 1980-12-04 1985-04-30 Quantel Limited Video image creation system which simulates drafting tool
US4620287A (en) * 1983-01-20 1986-10-28 Dicomed Corporation Method and apparatus for representation of a curve of uniform width
US4739317A (en) * 1984-03-30 1988-04-19 International Business Machines Corporation Draw graphics capabilities
US4683468A (en) * 1985-03-11 1987-07-28 International Business Machines Corp. Method for manipulation of graphic sub-objects in an interactive draw graphic system
JPH0785271B2 (ja) * 1986-06-27 1995-09-13 株式会社日立製作所 形状モデリング方法
US4897638A (en) * 1987-02-27 1990-01-30 Hitachi, Ltd. Method for generating character patterns with controlled size and thickness
DE3821322A1 (de) * 1988-06-24 1990-01-04 Rolf Prof Dr Walter Verfahren zur steuerung einer grafischen ausgabevorrichtung
JP2747002B2 (ja) * 1989-04-20 1998-05-06 株式会社東芝 直線ショートベクトル列によって表された形状の直線部と曲線部の切り分け方法
US5155805A (en) * 1989-05-08 1992-10-13 Apple Computer, Inc. Method and apparatus for moving control points in displaying digital typeface on raster output devices
GB9002479D0 (en) * 1990-02-05 1990-04-04 Crosfield Electronics Ltd Electronic image processing system
BE1004117A5 (fr) * 1990-04-20 1992-09-29 Neurones Procede et dispositif de memorisation et d'animation de donnees.

Also Published As

Publication number Publication date
US5598182A (en) 1997-01-28
JPH06507743A (ja) 1994-09-01
US5754183A (en) 1998-05-19

Similar Documents

Publication Publication Date Title
JPH06507742A (ja) 動画作成装置
WO1992021095A1 (en) Animation
US5583980A (en) Time-synchronized annotation method
US7199805B1 (en) Method and apparatus for titling
EP0950988B1 (en) Three-Dimensional image generating apparatus
US5729704A (en) User-directed method for operating on an object-based model data structure through a second contextual image
US6208360B1 (en) Method and apparatus for graffiti animation
US5652851A (en) User interface technique for producing a second image in the spatial context of a first image using a model-based operation
US6072479A (en) Multimedia scenario editor calculating estimated size and cost
US7577902B2 (en) Systems and methods for annotating pages of a 3D electronic document
US20110102424A1 (en) Storyboard generation method and system
JPH0816820A (ja) 3次元アニメーション作成装置
GB2258790A (en) Animation
Akeo et al. Computer Graphics System for Reproducing Three‐Dimensional Shape from Idea Sketch
JP3002972B2 (ja) 3次元画像処理装置
CN114257735A (zh) 图像处理装置、图像处理方法和存储介质
US6118460A (en) Virtual pseudo-human figure generating system
JP2714100B2 (ja) 動画作成方法
JP2001109901A (ja) アニメーション作成装置および方法、ならびにアニメーション作成プログラムを記録したコンピュータで読取可能な記録媒体
JPH10188026A (ja) 動画像作成方法および動画像作成用記憶媒体
GB2277856A (en) Computer generating animated sequence of pictures
Chen et al. Autocompletion of repetitive stroking with image guidance
Remley Jr Computer Graphics and Animation
JP2001111952A (ja) アニメーション処理方法および装置、ならびにアニメーション処理プログラムを記録したコンピュータで読取可能な記録媒体
JPS63169688A (ja) 文書作成装置