JP3316758B2 - モルフィング処理装置、記憶媒体、および動画作成装置 - Google Patents
モルフィング処理装置、記憶媒体、および動画作成装置Info
- Publication number
- JP3316758B2 JP3316758B2 JP35372099A JP35372099A JP3316758B2 JP 3316758 B2 JP3316758 B2 JP 3316758B2 JP 35372099 A JP35372099 A JP 35372099A JP 35372099 A JP35372099 A JP 35372099A JP 3316758 B2 JP3316758 B2 JP 3316758B2
- Authority
- JP
- Japan
- Prior art keywords
- outline
- morphing
- unit
- outlines
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000009499 grossing Methods 0.000 claims description 116
- 238000000034 method Methods 0.000 claims description 105
- 230000008569 process Effects 0.000 claims description 82
- 238000000605 extraction Methods 0.000 claims description 18
- 230000001131 transforming effect Effects 0.000 claims description 13
- 239000000284 extract Substances 0.000 claims description 8
- 210000002784 stomach Anatomy 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 14
- 241000218645 Cedrus Species 0.000 description 8
- 239000013598 vector Substances 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000008707 rearrangement Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000029052 metamorphosis Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- NWONKYPBYAMBJT-UHFFFAOYSA-L zinc sulfate Chemical compound [Zn+2].[O-]S([O-])(=O)=O NWONKYPBYAMBJT-UHFFFAOYSA-L 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/80—2D [Two Dimensional] animation, e.g. using sprites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/44—Morphing
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Description
【0001】
【発明の属する技術分野】本発明は、直線や曲線からな
る文字または図形の輪郭に対してオブジェクト空間でモ
ルフィング(morphing)処理を行うモルフィング方法に
関する。
る文字または図形の輪郭に対してオブジェクト空間でモ
ルフィング(morphing)処理を行うモルフィング方法に
関する。
【0002】
【従来の技術】近年、コンピュータ・グラフィックスに
よる動画技術として、モルフィングを用いた画像処理が
広く利用されている。モルフィングは、画像上に設定し
た制御点を動かすことにより画像が歪む効果を得て、2
種類の図形を一方から他方へ滑らかに変形させる技術で
ある。
よる動画技術として、モルフィングを用いた画像処理が
広く利用されている。モルフィングは、画像上に設定し
た制御点を動かすことにより画像が歪む効果を得て、2
種類の図形を一方から他方へ滑らかに変形させる技術で
ある。
【0003】このモルフィング技術を用いて、ディスプ
レイ装置上に表示された文字を変形させることができれ
ば、例えばインターネットで情報配信に用いられるホー
ムページのような視覚効果が重視される文書において、
利用価値が高い。
レイ装置上に表示された文字を変形させることができれ
ば、例えばインターネットで情報配信に用いられるホー
ムページのような視覚効果が重視される文書において、
利用価値が高い。
【0004】ディスプレイ装置上に表示された文字をモ
ルフィングにより変形させる従来技術が、文献1「Adva
nced Animation and Rendering Techniques」(Alan Wa
tt,Mark Watt著、Addison-Wesley, 1992, pp.413)に開
示されている。文献1には、ベジェ曲線(Bezier curve
s)で定義された文字に関し、ベジェ曲線の制御点を線
形補間して変形する手法が記載されている。また、実際
の動作例として、文字「E」から文字「Z」に変換する
例が記載されている。
ルフィングにより変形させる従来技術が、文献1「Adva
nced Animation and Rendering Techniques」(Alan Wa
tt,Mark Watt著、Addison-Wesley, 1992, pp.413)に開
示されている。文献1には、ベジェ曲線(Bezier curve
s)で定義された文字に関し、ベジェ曲線の制御点を線
形補間して変形する手法が記載されている。また、実際
の動作例として、文字「E」から文字「Z」に変換する
例が記載されている。
【0005】しかし、文献1に開示された技術は、ベジ
ェ曲線だけで定義された文字を対象としており、True T
ype フォント等の一般的なアウトライン・フォントのよ
うに線分とベジェ曲線との組み合わせで構成された文字
にそのまま応用することができず、汎用性を欠く。ま
た、例示された文字「E」や文字「Z」のように輪郭線
が単一(single outline)の文字しか扱えない。すなわ
ち、文字「A」や文字「B」のように穴がある文字や漢
字のように画数の多い文字など、複数の輪郭線(multip
le outlines)で形成された文字を対象として使用する
ことができない。
ェ曲線だけで定義された文字を対象としており、True T
ype フォント等の一般的なアウトライン・フォントのよ
うに線分とベジェ曲線との組み合わせで構成された文字
にそのまま応用することができず、汎用性を欠く。ま
た、例示された文字「E」や文字「Z」のように輪郭線
が単一(single outline)の文字しか扱えない。すなわ
ち、文字「A」や文字「B」のように穴がある文字や漢
字のように画数の多い文字など、複数の輪郭線(multip
le outlines)で形成された文字を対象として使用する
ことができない。
【0006】また、文字の変形のみを対象としたもので
はないが、2次元のアウトライン曲線をモルフィングに
より変形させる従来技術が、例えば、文献2「A Physic
allyBased Approach to 2-D Shape Blending,」(T. W.
Sederberg他著、SIGGRAPHProceeding, 1992, pp.25-3
4)、文献3「2-D Shape Blending: An Intrinsic Solu
tion to the Vertex Path Problem,」(T. W. Sederber
g他著、SIGGRAPH Proceeding, 1993, pp.15-18)、文献
4「A Fuzzy Approach to Digital Image Warping,」
(Y. Zhang著、1996, July, pp.34-41)、文献5「Self
-intersection elimination in metamorphosis of two-
dimensional curves,」(T. Samoilov, G. Elber著、Th
e Visual Computer, 1988, Vol.14, pp.415-428)等の
論文に開示されている。
はないが、2次元のアウトライン曲線をモルフィングに
より変形させる従来技術が、例えば、文献2「A Physic
allyBased Approach to 2-D Shape Blending,」(T. W.
Sederberg他著、SIGGRAPHProceeding, 1992, pp.25-3
4)、文献3「2-D Shape Blending: An Intrinsic Solu
tion to the Vertex Path Problem,」(T. W. Sederber
g他著、SIGGRAPH Proceeding, 1993, pp.15-18)、文献
4「A Fuzzy Approach to Digital Image Warping,」
(Y. Zhang著、1996, July, pp.34-41)、文献5「Self
-intersection elimination in metamorphosis of two-
dimensional curves,」(T. Samoilov, G. Elber著、Th
e Visual Computer, 1988, Vol.14, pp.415-428)等の
論文に開示されている。
【0007】文献2及び文献3に開示された技術は、リ
ニア曲線またはポリラインなどの直線(辺)を組み合わ
せて形成された輪郭線において、隣接する辺のなす角度
及び長さをパラメータとして変形を行うアルゴリズムを
用いている。しかし、当該従来技術は、文字のように凹
凸の多い図形のモルフィングは困難である。文献4に開
示された技術は、多角形の2次元画像を歪ませてイメー
ジ空間でモルフィングさせる方法である。しかし、当該
従来技術は、イメージ空間で処理を行うため、輪郭がギ
ザギザになる(jaggy contour)場合がある。また、図
形の拡大縮小ができない(任意のスケールでモルフィン
グできない)。文献5は、モルフィングの途中で自己交
錯(self-intersection)を起こさないようにする二つ
のアルゴリズムを提案する。しかし、これらのアルゴリ
ズムは、二つの2次元閉曲線が位相的に類似しているこ
とが前提となっているため、変形の際に自己交錯を回避
できる図形が制限される。
ニア曲線またはポリラインなどの直線(辺)を組み合わ
せて形成された輪郭線において、隣接する辺のなす角度
及び長さをパラメータとして変形を行うアルゴリズムを
用いている。しかし、当該従来技術は、文字のように凹
凸の多い図形のモルフィングは困難である。文献4に開
示された技術は、多角形の2次元画像を歪ませてイメー
ジ空間でモルフィングさせる方法である。しかし、当該
従来技術は、イメージ空間で処理を行うため、輪郭がギ
ザギザになる(jaggy contour)場合がある。また、図
形の拡大縮小ができない(任意のスケールでモルフィン
グできない)。文献5は、モルフィングの途中で自己交
錯(self-intersection)を起こさないようにする二つ
のアルゴリズムを提案する。しかし、これらのアルゴリ
ズムは、二つの2次元閉曲線が位相的に類似しているこ
とが前提となっているため、変形の際に自己交錯を回避
できる図形が制限される。
【0008】
【発明が解決しようとする課題】上述したように、従来
のモルフィング技術は、文字のような複雑な図形の輪郭
を変形するために用いることが困難であった。すなわ
ち、文献4の従来技術のようにイメージ空間で処理を行
う場合、輪郭がギザギザになる場合があり、見栄えが良
くない。また、任意のスケールでモルフィングできない
ため、視覚効果が制限されてしまう。
のモルフィング技術は、文字のような複雑な図形の輪郭
を変形するために用いることが困難であった。すなわ
ち、文献4の従来技術のようにイメージ空間で処理を行
う場合、輪郭がギザギザになる場合があり、見栄えが良
くない。また、任意のスケールでモルフィングできない
ため、視覚効果が制限されてしまう。
【0009】イメージ空間ではなくオブジェクト空間で
ベクトルを用いて処理を行う場合であっても、文献1の
従来技術のように単一の輪郭線で表現できる図形しか扱
えないものや、文献2、文献3の従来技術のように凹凸
の多い図形には使用できないものなど、使用対象が制限
され、多種多様な図形に対して汎用的に用いることがで
きない。
ベクトルを用いて処理を行う場合であっても、文献1の
従来技術のように単一の輪郭線で表現できる図形しか扱
えないものや、文献2、文献3の従来技術のように凹凸
の多い図形には使用できないものなど、使用対象が制限
され、多種多様な図形に対して汎用的に用いることがで
きない。
【0010】さらに、図形の輪郭をモルフィングにより
変形する場合、自己交錯をいかにして回避するかという
ことが問題となる。これは、輪郭内部を特定の色で塗り
つぶすような場合、輪郭線が自己交錯を起こしている
と、うまく処理できない場合があるためである。しか
し、かかる問題の解決を試みる文献5の従来技術であっ
ても、自己交錯を回避できる図形が制限されるため、汎
用性に欠ける。
変形する場合、自己交錯をいかにして回避するかという
ことが問題となる。これは、輪郭内部を特定の色で塗り
つぶすような場合、輪郭線が自己交錯を起こしている
と、うまく処理できない場合があるためである。しか
し、かかる問題の解決を試みる文献5の従来技術であっ
ても、自己交錯を回避できる図形が制限されるため、汎
用性に欠ける。
【0011】本発明は以上のような技術的課題を解決す
るためになされたものであって、多種多様な図形の輪郭
線に対してベクトル空間でモルフィングによる画像処理
ができるようにすることを目的とする。具体的には、複
数の輪郭線で形成された図形に対してもモルフィングを
行えるようにする。また、凹凸の多い図形に対しても自
己交錯を起こすことなくモルフィングを行えるようにす
る。
るためになされたものであって、多種多様な図形の輪郭
線に対してベクトル空間でモルフィングによる画像処理
ができるようにすることを目的とする。具体的には、複
数の輪郭線で形成された図形に対してもモルフィングを
行えるようにする。また、凹凸の多い図形に対しても自
己交錯を起こすことなくモルフィングを行えるようにす
る。
【0012】更に、コンピュータのディスプレイ装置上
に表示された文字や文字列に対してもモルフィングによ
る画像処理ができるようにすることを他の目的とする
に表示された文字や文字列に対してもモルフィングによ
る画像処理ができるようにすることを他の目的とする
【0013】
【課題を解決するための手段】かかる目的のもと、本発
明は、二つの図形を一方から他方へ滑らかに変形させる
モルフィングを行うモルフィング処理装置において、モ
ルフィング処理の対象となる二つの対象図形を入力し、
この対象図形のアウトラインの集合を抽出するアウトラ
イン抽出部と、このアウトライン抽出部により対象図形
ごとに抽出されたアウトラインの集合のうち、それぞれ
特定の一つのアウトラインのみを残して他のアウトライ
ンを消滅させるアウトライン整理部と、このアウトライ
ン整理部により残された対象図形ごとの二つのアウトラ
インに対して、モルフィングの際に自己交錯を起こさな
いように平滑化処理を施す平滑化処理部と、この平滑化
処理部による平滑化処理の経過を反映させてモルフィン
グを実行するモルフィング実行部とを備えることを特徴
としている。
明は、二つの図形を一方から他方へ滑らかに変形させる
モルフィングを行うモルフィング処理装置において、モ
ルフィング処理の対象となる二つの対象図形を入力し、
この対象図形のアウトラインの集合を抽出するアウトラ
イン抽出部と、このアウトライン抽出部により対象図形
ごとに抽出されたアウトラインの集合のうち、それぞれ
特定の一つのアウトラインのみを残して他のアウトライ
ンを消滅させるアウトライン整理部と、このアウトライ
ン整理部により残された対象図形ごとの二つのアウトラ
インに対して、モルフィングの際に自己交錯を起こさな
いように平滑化処理を施す平滑化処理部と、この平滑化
処理部による平滑化処理の経過を反映させてモルフィン
グを実行するモルフィング実行部とを備えることを特徴
としている。
【0014】ここで、アウトライン整理部は、アウトラ
イン抽出部により対象図形ごとに抽出されたアウトライ
ンに関して、このアウトラインに対応したノードを持
ち、このアウトライン相互の関係を反映させたアウトラ
イン木を生成するアウトライン木生成部と、予め設定さ
れた規則に基づいて、アウトライン木生成部により対象
図形ごとに生成されたアウトライン木におけるノードの
うち、特定の一つのノードのみを残して他のノードを削
除するアウトライン木整理部とを備え、平滑化処理部
は、アウトライン整理部の処理において残されたノード
に対応するアウトラインを対象として、平滑化処理を行
うことを特徴としている。このようにすれば、アウトラ
イン木のノードを指定することにより、アウトライン木
の構成を考慮して所望のアウトラインを残すことができ
る点で好ましい。また、後述するように、アウトライン
木のノードにはアウトラインを囲むバウンディング・ボ
ックスについての情報が格納されるが、バウンディング
・ボックスの面積が最大であるノードを残すといった処
理も可能である。さらにここで、アウトライン木生成部
は、アウトライン抽出部により抽出された対象図形のア
ウトラインを入力し、この対象図形を構成する各アウト
ラインごとに当該アウトラインを囲むバウンディング・
ボックスを設定し、このバウンディング・ボックスの相
互関係に基づいてアウトライン木を生成することを特徴
としている。このようにすれば、対象図形を構成するア
ウトライン相互の関係を明瞭にすることができる点で好
ましい。また、バウンディング・ボックスの形状は任意
に選択することができるが、文字を対象図形とする場合
には、長方形とするのが扱いやすい。
イン抽出部により対象図形ごとに抽出されたアウトライ
ンに関して、このアウトラインに対応したノードを持
ち、このアウトライン相互の関係を反映させたアウトラ
イン木を生成するアウトライン木生成部と、予め設定さ
れた規則に基づいて、アウトライン木生成部により対象
図形ごとに生成されたアウトライン木におけるノードの
うち、特定の一つのノードのみを残して他のノードを削
除するアウトライン木整理部とを備え、平滑化処理部
は、アウトライン整理部の処理において残されたノード
に対応するアウトラインを対象として、平滑化処理を行
うことを特徴としている。このようにすれば、アウトラ
イン木のノードを指定することにより、アウトライン木
の構成を考慮して所望のアウトラインを残すことができ
る点で好ましい。また、後述するように、アウトライン
木のノードにはアウトラインを囲むバウンディング・ボ
ックスについての情報が格納されるが、バウンディング
・ボックスの面積が最大であるノードを残すといった処
理も可能である。さらにここで、アウトライン木生成部
は、アウトライン抽出部により抽出された対象図形のア
ウトラインを入力し、この対象図形を構成する各アウト
ラインごとに当該アウトラインを囲むバウンディング・
ボックスを設定し、このバウンディング・ボックスの相
互関係に基づいてアウトライン木を生成することを特徴
としている。このようにすれば、対象図形を構成するア
ウトライン相互の関係を明瞭にすることができる点で好
ましい。また、バウンディング・ボックスの形状は任意
に選択することができるが、文字を対象図形とする場合
には、長方形とするのが扱いやすい。
【0015】さらにアウトライン抽出部は、対象図形の
アウトラインに曲線が含まれている場合に、この曲線部
分を細分化して線分近似することを特徴としている。こ
のようにすれば、アウトラインを多角形として扱うこと
ができ、処理を一般化させることができるため、対象図
形の形状によらない処理を行うことが可能となる点で優
れている。さらにアウトライン抽出部は、対象図形とし
てアウトライン・フォントによる文字を入力し、この文
字のアウトラインを抽出することを特徴としている。こ
れにより、テキストを表示した文書に対して大きな視覚
的効果を与えることができる。尚、ドット・フォントに
対しても、前処理としてそのアウトラインを抽出するこ
とができれば、モルフィングの対象とすることができ
る。さらにアウトライン抽出部は、対象図形としてトゥ
ルータイプフォントによる文字を入力し、この文字のア
ウトラインを抽出することを特徴としている。これによ
り、パーソナルコンピュータにおいて広く利用されてい
るフォントに対してモルフィングを行うことができるた
め、汎用性が増す。
アウトラインに曲線が含まれている場合に、この曲線部
分を細分化して線分近似することを特徴としている。こ
のようにすれば、アウトラインを多角形として扱うこと
ができ、処理を一般化させることができるため、対象図
形の形状によらない処理を行うことが可能となる点で優
れている。さらにアウトライン抽出部は、対象図形とし
てアウトライン・フォントによる文字を入力し、この文
字のアウトラインを抽出することを特徴としている。こ
れにより、テキストを表示した文書に対して大きな視覚
的効果を与えることができる。尚、ドット・フォントに
対しても、前処理としてそのアウトラインを抽出するこ
とができれば、モルフィングの対象とすることができ
る。さらにアウトライン抽出部は、対象図形としてトゥ
ルータイプフォントによる文字を入力し、この文字のア
ウトラインを抽出することを特徴としている。これによ
り、パーソナルコンピュータにおいて広く利用されてい
るフォントに対してモルフィングを行うことができるた
め、汎用性が増す。
【0016】さらに平滑化処理部は、平滑化処理とし
て、アウトラインに対してラプラシアン・スムージング
を施すことを特徴としている。ラプラシアン・スムージ
ングは平滑化処理の一例であり、他の手法を用いること
も可能である。
て、アウトラインに対してラプラシアン・スムージング
を施すことを特徴としている。ラプラシアン・スムージ
ングは平滑化処理の一例であり、他の手法を用いること
も可能である。
【0017】さらにモルフィング実行部は、平滑化処理
部による平滑化処理の過程で生成されたアウトライン
を、タイムパラメータに沿って並べたシーケンスファイ
ルを生成するシーケンス生成部と、このシーケンス生成
部により生成されたシーケンスファイルに基づいてモル
フィングを実行するモルフィング実行部とを備えること
を特徴としている。このようにすれば、シーケンスファ
イルを辿ることにより自己交錯の発生しないモルフィン
グを実現できるのみならず、シーケンスファイルを逆に
辿ることにより、反対方向のモルフィングも容易に実現
できる点で優れている。なお、平滑化処理を行わなくて
もモルフィングの際に自己交錯が発生しない場合は、シ
ーケンスファイルとしては、アウトライン整理部にて残
された二つのアウトラインだけで構成することができ
る。
部による平滑化処理の過程で生成されたアウトライン
を、タイムパラメータに沿って並べたシーケンスファイ
ルを生成するシーケンス生成部と、このシーケンス生成
部により生成されたシーケンスファイルに基づいてモル
フィングを実行するモルフィング実行部とを備えること
を特徴としている。このようにすれば、シーケンスファ
イルを辿ることにより自己交錯の発生しないモルフィン
グを実現できるのみならず、シーケンスファイルを逆に
辿ることにより、反対方向のモルフィングも容易に実現
できる点で優れている。なお、平滑化処理を行わなくて
もモルフィングの際に自己交錯が発生しない場合は、シ
ーケンスファイルとしては、アウトライン整理部にて残
された二つのアウトラインだけで構成することができ
る。
【0018】また、本発明は、二つの図形を一方から他
方へ滑らかに変形させるモルフィングを行うモルフィン
グ処理装置において、モルフィング処理の対象となる二
つの対象図形のアウトラインを線分列として抽出するア
ウトライン抽出部と、このアウトライン抽出部により対
象図形ごとに抽出されたアウトラインに関して、このア
ウトラインに対応したノードを持ち、このアウトライン
相互の関係を反映させたアウトライン木を生成するアウ
トライン木生成部と、このアウトライン木生成部により
対象図形ごとに生成されたアウトライン木におけるノー
ドのうち、特定の一つのノードのみを残して他のノード
を削除するアウトライン木整理部と、このアウトライン
木整理部の処理を経た後にこのアウトライン木において
残されたノードに対応する二つのアウトラインにおける
頂点の数を一致させる頂点調整部と、この頂点調整部に
より頂点の数を一致させた二つのアウトラインに対し
て、モルフィングの際に自己交錯を起こさないように平
滑化処理を施すアウトライン編集部と、このアウトライ
ン編集部による平滑化処理の過程で生成されたアウトラ
インに関して、タイムパラメータに沿ったシーケンスフ
ァイルを生成するシーケンス生成部と、このシーケンス
生成部により生成されたシーケンスファイルに基づいて
モルフィングを実行し、ディスプレイ表示を行う表示制
御部とを含むことを特徴としている。
方へ滑らかに変形させるモルフィングを行うモルフィン
グ処理装置において、モルフィング処理の対象となる二
つの対象図形のアウトラインを線分列として抽出するア
ウトライン抽出部と、このアウトライン抽出部により対
象図形ごとに抽出されたアウトラインに関して、このア
ウトラインに対応したノードを持ち、このアウトライン
相互の関係を反映させたアウトライン木を生成するアウ
トライン木生成部と、このアウトライン木生成部により
対象図形ごとに生成されたアウトライン木におけるノー
ドのうち、特定の一つのノードのみを残して他のノード
を削除するアウトライン木整理部と、このアウトライン
木整理部の処理を経た後にこのアウトライン木において
残されたノードに対応する二つのアウトラインにおける
頂点の数を一致させる頂点調整部と、この頂点調整部に
より頂点の数を一致させた二つのアウトラインに対し
て、モルフィングの際に自己交錯を起こさないように平
滑化処理を施すアウトライン編集部と、このアウトライ
ン編集部による平滑化処理の過程で生成されたアウトラ
インに関して、タイムパラメータに沿ったシーケンスフ
ァイルを生成するシーケンス生成部と、このシーケンス
生成部により生成されたシーケンスファイルに基づいて
モルフィングを実行し、ディスプレイ表示を行う表示制
御部とを含むことを特徴としている。
【0019】ここで、アウトライン木生成部は、対象図
形を構成するアウトラインごとにこのアウトラインを囲
むバウンディング・ボックスを設定し、この対象図形の
全体を囲むバウンディング・ボックスを生成し、このバ
ウンディング・ボックスに対応させてアウトライン木の
ルート・ノードを生成し、このアウトラインごとに生成
されたバウンディング・ボックスを一つずつ選択し、選
択されたバウンディング・ボックスのアウトラインに対
応する子ノードを生成してルート・ノードの下に挿入す
ると共に、生成された所定の子ノードに対応するアウト
ラインを囲むバウンディング・ボックスが、既にルート
・ノードの下に挿入されている他の子ノードに対応する
アウトラインを囲むバウンディング・ボックスに完全に
含まれる場合に、この子ノードを他の子ノードの下に再
帰的に挿入することを特徴としている。これにより、対
象図形のアウトラインの幾何的な構造をアウトライン木
の構成に反映させることができる点で好ましい。
形を構成するアウトラインごとにこのアウトラインを囲
むバウンディング・ボックスを設定し、この対象図形の
全体を囲むバウンディング・ボックスを生成し、このバ
ウンディング・ボックスに対応させてアウトライン木の
ルート・ノードを生成し、このアウトラインごとに生成
されたバウンディング・ボックスを一つずつ選択し、選
択されたバウンディング・ボックスのアウトラインに対
応する子ノードを生成してルート・ノードの下に挿入す
ると共に、生成された所定の子ノードに対応するアウト
ラインを囲むバウンディング・ボックスが、既にルート
・ノードの下に挿入されている他の子ノードに対応する
アウトラインを囲むバウンディング・ボックスに完全に
含まれる場合に、この子ノードを他の子ノードの下に再
帰的に挿入することを特徴としている。これにより、対
象図形のアウトラインの幾何的な構造をアウトライン木
の構成に反映させることができる点で好ましい。
【0020】さらにこのアウトライン木整理部は、所定
の規則に基づいてどのノードを残すかを決定し、他のノ
ードに対応するアウトラインの各頂点を任意の一点に向
けて移動させて、最終的にディスプレイに表示しない点
とする処理を行うことを特徴としている。これにより、
不要なアウトラインが次第に消えていく様子を表示させ
ることができる。アウトラインを収束させる点の位置は
任意でよいが、バウンディング・ボックスの中心へ移動
させると視覚的にバランスがよく、好ましい。
の規則に基づいてどのノードを残すかを決定し、他のノ
ードに対応するアウトラインの各頂点を任意の一点に向
けて移動させて、最終的にディスプレイに表示しない点
とする処理を行うことを特徴としている。これにより、
不要なアウトラインが次第に消えていく様子を表示させ
ることができる。アウトラインを収束させる点の位置は
任意でよいが、バウンディング・ボックスの中心へ移動
させると視覚的にバランスがよく、好ましい。
【0021】さらにこの頂点調整部は、対象図形の二つ
のアウトラインにおける頂点列を、特定の位置を先頭に
し、かつ一定の方向にアウトラインを周回するように並
べ、並べ替えられた頂点列における各頂点の座標値を、
一定の範囲内の値を取るパラメータで表現し、二つのア
ウトラインにおけるパラメータ化された頂点列を比較
し、一方のアウトラインにおけるパラメータ化された頂
点を用いて他方のアウトラインに頂点を線形補間する操
作を相互に行うことを特徴としている。さらにここで、
この頂点調整部は、前記パラメータ化された頂点列を用
いて二つの前記アウトラインに頂点を線形補間する操作
において、前記パラメータに基づいて、一方のアウトラ
インに含まれる頂点に対応する点を他方のアウトライン
に追加する操作を相互に行うことを特徴としている。こ
のようにすれば、線形補間により得られた新たな頂点を
二つのアウトラインのファイル間でマージソートする必
要がない点で優れている。
のアウトラインにおける頂点列を、特定の位置を先頭に
し、かつ一定の方向にアウトラインを周回するように並
べ、並べ替えられた頂点列における各頂点の座標値を、
一定の範囲内の値を取るパラメータで表現し、二つのア
ウトラインにおけるパラメータ化された頂点列を比較
し、一方のアウトラインにおけるパラメータ化された頂
点を用いて他方のアウトラインに頂点を線形補間する操
作を相互に行うことを特徴としている。さらにここで、
この頂点調整部は、前記パラメータ化された頂点列を用
いて二つの前記アウトラインに頂点を線形補間する操作
において、前記パラメータに基づいて、一方のアウトラ
インに含まれる頂点に対応する点を他方のアウトライン
に追加する操作を相互に行うことを特徴としている。こ
のようにすれば、線形補間により得られた新たな頂点を
二つのアウトラインのファイル間でマージソートする必
要がない点で優れている。
【0022】
【0023】
【0024】また、本発明は、コンピュータに実行させ
るプログラムを当該コンピュータの入力手段が読取可能
に記憶した記憶媒体において、このプログラムは、デー
タファイル記憶手段からモルフィング処理の対象となる
二つの対象図形を読み出して入力し、この対象図形のア
ウトラインを線分列として抽出する手段と、この対象図
形ごとに抽出されたアウトラインに関して、このアウト
ラインに対応したノードを持ち、このアウトライン相互
の関係を反映させたアウトライン木を生成する手段と、
対象図形ごとに生成されたアウトライン木におけるノー
ドのうち、特定の一つのノードのみを残して他のノード
を削除する手段と、この対象図形ごとのアウトライン木
において残されたノードに対応する二つのアウトライン
における頂点の数を一致させる手段と、頂点の数を一致
させた二つのアウトラインに対して、モルフィングの際
に自己交錯を起こさないように平滑化処理を施す手段
と、この平滑化処理の過程で生成されたアウトラインに
関して、タイムパラメータに沿ったシーケンスファイル
を生成し、シーケンスファイル記憶手段に格納する手段
と、このシーケンスファイル記憶手段から所定のシーケ
ンスファイルを読み出し、読み出したシーケンスファイ
ルに基づいてディスプレイに表示された図形のモルフィ
ングを行う手段として、このコンピュータを機能させる
ことを特徴としている。このようにすれば、このプログ
ラムをロードしたコンピュータにおいて、自己交錯の起
こらないモルフィングを実現できる点で好ましい。
るプログラムを当該コンピュータの入力手段が読取可能
に記憶した記憶媒体において、このプログラムは、デー
タファイル記憶手段からモルフィング処理の対象となる
二つの対象図形を読み出して入力し、この対象図形のア
ウトラインを線分列として抽出する手段と、この対象図
形ごとに抽出されたアウトラインに関して、このアウト
ラインに対応したノードを持ち、このアウトライン相互
の関係を反映させたアウトライン木を生成する手段と、
対象図形ごとに生成されたアウトライン木におけるノー
ドのうち、特定の一つのノードのみを残して他のノード
を削除する手段と、この対象図形ごとのアウトライン木
において残されたノードに対応する二つのアウトライン
における頂点の数を一致させる手段と、頂点の数を一致
させた二つのアウトラインに対して、モルフィングの際
に自己交錯を起こさないように平滑化処理を施す手段
と、この平滑化処理の過程で生成されたアウトラインに
関して、タイムパラメータに沿ったシーケンスファイル
を生成し、シーケンスファイル記憶手段に格納する手段
と、このシーケンスファイル記憶手段から所定のシーケ
ンスファイルを読み出し、読み出したシーケンスファイ
ルに基づいてディスプレイに表示された図形のモルフィ
ングを行う手段として、このコンピュータを機能させる
ことを特徴としている。このようにすれば、このプログ
ラムをロードしたコンピュータにおいて、自己交錯の起
こらないモルフィングを実現できる点で好ましい。
【0025】
【0026】また、本発明は、ディスプレイ表示された
図形を滑らかに変形させるモルフィングを行うモルフィ
ング処理装置において、図形データを格納した記憶手段
からモルフィング処理の対象となる二つの対象図形を入
力し、この対象図形のアウトラインの集合を抽出するア
ウトライン抽出部と、前記アウトライン抽出部により前
記対象図形ごとに抽出された前記アウトラインの集合の
うち、それぞれ特定の一つのアウトラインのみを残して
他のアウトラインを消滅させるアウトライン整理部と、
このアウトライン整理部により残された対象図形ごとの
二つのアウトラインに対して、モルフィングの際に自己
交錯を起こさないように平滑化処理を施す平滑化処理部
と、この平滑化処理部による平滑化処理の経過を反映さ
せてモルフィングを実行するモルフィング実行部とを備
え、このアウトライン抽出部は、この記憶手段から任意
のm個の図形を要素とする図形列と任意のn個の図形を
要素とする図形列とを処理対象として入力し、この二つ
の図形列の要素を1対1で対応させると共に、この二つ
の図形列における要素の数が同一でない場合は、要素が
不足している方の図形列に、不足している要素の数だけ
ディスプレイ装置に表示されない円を設けて、他の図形
列における余っている要素に対応させ、対応付けられた
要素ごとにモルフィングを行うことにより、一方の図形
列から他方の図形列へ滑らかに変形させることを特徴と
している。これにより、多対多の図形列に対してモルフ
ィングができるため、汎用性が高まる点で好ましい。
図形を滑らかに変形させるモルフィングを行うモルフィ
ング処理装置において、図形データを格納した記憶手段
からモルフィング処理の対象となる二つの対象図形を入
力し、この対象図形のアウトラインの集合を抽出するア
ウトライン抽出部と、前記アウトライン抽出部により前
記対象図形ごとに抽出された前記アウトラインの集合の
うち、それぞれ特定の一つのアウトラインのみを残して
他のアウトラインを消滅させるアウトライン整理部と、
このアウトライン整理部により残された対象図形ごとの
二つのアウトラインに対して、モルフィングの際に自己
交錯を起こさないように平滑化処理を施す平滑化処理部
と、この平滑化処理部による平滑化処理の経過を反映さ
せてモルフィングを実行するモルフィング実行部とを備
え、このアウトライン抽出部は、この記憶手段から任意
のm個の図形を要素とする図形列と任意のn個の図形を
要素とする図形列とを処理対象として入力し、この二つ
の図形列の要素を1対1で対応させると共に、この二つ
の図形列における要素の数が同一でない場合は、要素が
不足している方の図形列に、不足している要素の数だけ
ディスプレイ装置に表示されない円を設けて、他の図形
列における余っている要素に対応させ、対応付けられた
要素ごとにモルフィングを行うことにより、一方の図形
列から他方の図形列へ滑らかに変形させることを特徴と
している。これにより、多対多の図形列に対してモルフ
ィングができるため、汎用性が高まる点で好ましい。
【0027】更に本発明によれば、次のようなモルフィ
ング処理装置を提供することができる。すなわち、モル
フィング処理の対象となる二つの対象文字を入力し、こ
の対象文字のアウトラインの集合を抽出するアウトライ
ン抽出部と、このアウトライン抽出部によりこの対象文
字ごとに抽出されたアウトラインの集合のうち、それぞ
れ特定の一つのアウトラインのみを残して他のアウトラ
インを消滅させるアウトライン整理部と、このアウトラ
イン整理部により残されたこの対象文字ごとの二つのア
ウトラインに対して、モルフィングの際に自己交錯を起
こさないように平滑化処理を施す平滑化処理部と、平滑
化処理部による平滑化処理の経過を反映させてモルフィ
ングを実行するモルフィング実行部とを備えることを特
徴としている。ここで、処理対象となる文字は、コンピ
ュータや専用ワードプロセッサ機などで用いられる文字
コードで特定されるような文字とすることができる。こ
れにより、キーボードから打ち込んだ文字をそのまま用
いてモルフィングさせることが可能となる。
ング処理装置を提供することができる。すなわち、モル
フィング処理の対象となる二つの対象文字を入力し、こ
の対象文字のアウトラインの集合を抽出するアウトライ
ン抽出部と、このアウトライン抽出部によりこの対象文
字ごとに抽出されたアウトラインの集合のうち、それぞ
れ特定の一つのアウトラインのみを残して他のアウトラ
インを消滅させるアウトライン整理部と、このアウトラ
イン整理部により残されたこの対象文字ごとの二つのア
ウトラインに対して、モルフィングの際に自己交錯を起
こさないように平滑化処理を施す平滑化処理部と、平滑
化処理部による平滑化処理の経過を反映させてモルフィ
ングを実行するモルフィング実行部とを備えることを特
徴としている。ここで、処理対象となる文字は、コンピ
ュータや専用ワードプロセッサ機などで用いられる文字
コードで特定されるような文字とすることができる。こ
れにより、キーボードから打ち込んだ文字をそのまま用
いてモルフィングさせることが可能となる。
【0028】さらにまた、本発明によれば、次のような
モルフィング処理装置を提供することができる。すなわ
ち、モルフィング処理の対象となる二つの対象フォント
を入力し、この対象フォントのアウトラインの集合を抽
出するアウトライン抽出部と、このアウトライン抽出部
によりこの対象フォントごとに抽出されたアウトライン
の集合のうち、それぞれ特定の一つのアウトラインのみ
を残して他のアウトラインを消滅させるアウトライン整
理部と、このアウトライン整理部により残されたこの対
象フォントごとの二つのアウトラインに対して、モルフ
ィングの際に自己交錯を起こさないように平滑化処理を
施す平滑化処理部と、この平滑化処理部による平滑化処
理の経過を反映させてモルフィングを実行するモルフィ
ング実行部とを備えることを特徴としている。このよう
な構成とすることにより、異なるフォントで表示された
文字や文字列に対してもモルフィングによる変形処理を
行うことが可能となる。
モルフィング処理装置を提供することができる。すなわ
ち、モルフィング処理の対象となる二つの対象フォント
を入力し、この対象フォントのアウトラインの集合を抽
出するアウトライン抽出部と、このアウトライン抽出部
によりこの対象フォントごとに抽出されたアウトライン
の集合のうち、それぞれ特定の一つのアウトラインのみ
を残して他のアウトラインを消滅させるアウトライン整
理部と、このアウトライン整理部により残されたこの対
象フォントごとの二つのアウトラインに対して、モルフ
ィングの際に自己交錯を起こさないように平滑化処理を
施す平滑化処理部と、この平滑化処理部による平滑化処
理の経過を反映させてモルフィングを実行するモルフィ
ング実行部とを備えることを特徴としている。このよう
な構成とすることにより、異なるフォントで表示された
文字や文字列に対してもモルフィングによる変形処理を
行うことが可能となる。
【0029】また、本発明は、二つの図形を一方から他
方へ滑らかに変形させるモルフィングを行うモルフィン
グ処理装置において、モルフィング処理の対象となる二
つの対象図形に関してこの対象図形を形成するアウトラ
インの集合を入力し、このアウトラインの各集合に対し
て、それぞれ特定の一つのアウトラインのみを残して他
のアウトラインを消滅させるアウトライン整理部と、こ
のアウトライン整理部により残されたこの対象図形ごと
の二つのアウトラインに対して、モルフィングの際に自
己交錯を起こさないように平滑化処理を施す平滑化処理
部と、この平滑化処理部による平滑化処理の経過を反映
させてモルフィングを実行するモルフィング実行部とを
備えることを特徴としている。このような構成とすれ
ば、アウトラインフォントのように自らアウトラインの
情報を持つ対象図形から直接アウトラインの情報を取得
して、モルフィングを行うことができる。
方へ滑らかに変形させるモルフィングを行うモルフィン
グ処理装置において、モルフィング処理の対象となる二
つの対象図形に関してこの対象図形を形成するアウトラ
インの集合を入力し、このアウトラインの各集合に対し
て、それぞれ特定の一つのアウトラインのみを残して他
のアウトラインを消滅させるアウトライン整理部と、こ
のアウトライン整理部により残されたこの対象図形ごと
の二つのアウトラインに対して、モルフィングの際に自
己交錯を起こさないように平滑化処理を施す平滑化処理
部と、この平滑化処理部による平滑化処理の経過を反映
させてモルフィングを実行するモルフィング実行部とを
備えることを特徴としている。このような構成とすれ
ば、アウトラインフォントのように自らアウトラインの
情報を持つ対象図形から直接アウトラインの情報を取得
して、モルフィングを行うことができる。
【0030】更にまた、本発明は、二つの図形を一方か
ら他方へ滑らかに変形させる動画を作成する動画作成装
置において、画像処理の対象となる二つの対象図形を入
力し、この対象図形のアウトラインの集合を抽出するア
ウトライン抽出部と、このアウトライン抽出部によりこ
の対象図形ごとに抽出されたアウトラインの集合のう
ち、それぞれ特定の一つのアウトラインのみを残して他
のアウトラインを消滅させるアウトライン整理部と、こ
のアウトライン整理部により残されたこの対象図形ごと
の二つのアウトラインに対して、一方のアウトラインか
ら他方のアウトラインへ変形する際に自己交錯を起こさ
ないように平滑化処理を施す平滑化処理部と、この平滑
化処理部による平滑化処理の経過を反映させて、この二
つの対象図形を一方から他方へ滑らかに変形させる動画
を作成する画像処理部とを備えることを特徴としてい
る。
ら他方へ滑らかに変形させる動画を作成する動画作成装
置において、画像処理の対象となる二つの対象図形を入
力し、この対象図形のアウトラインの集合を抽出するア
ウトライン抽出部と、このアウトライン抽出部によりこ
の対象図形ごとに抽出されたアウトラインの集合のう
ち、それぞれ特定の一つのアウトラインのみを残して他
のアウトラインを消滅させるアウトライン整理部と、こ
のアウトライン整理部により残されたこの対象図形ごと
の二つのアウトラインに対して、一方のアウトラインか
ら他方のアウトラインへ変形する際に自己交錯を起こさ
ないように平滑化処理を施す平滑化処理部と、この平滑
化処理部による平滑化処理の経過を反映させて、この二
つの対象図形を一方から他方へ滑らかに変形させる動画
を作成する画像処理部とを備えることを特徴としてい
る。
【0031】
【発明の実施の形態】以下、添付図面に示す実施の形態
に基づいてこの発明を詳細に説明する。図1は、本実施
の形態におけるモルフィング処理装置の全体構成を説明
するための図である。同図において、符号10はアウト
ライン抽出部であり、モルフィングによる画像処理の対
象である図形(以下、対象図形と称す)からアウトライ
ン(輪郭線)を抽出する。符号20はアウトライン木生
成部であり、対象図形を構成する各アウトラインをノー
ドとするアウトライン木を生成する。符号30はアウト
ライン木整理部であり、アウトライン木生成部20によ
り生成されたアウトライン木を整理して、一つのアウト
ライン木に対してルート・ノードと一つの子ノードのみ
を残す。符号40は頂点調整部であり、二つの対象図形
に関して、アウトライン木整理部30の処理により残さ
れた一つの子ノードのアウトラインにおける頂点の数を
一致させる。符号50はアウトライン編集部であり、頂
点調整部40により頂点の数を調整されたアウトライン
を、自己交錯が起こらないように変形する。符号60は
シーケンス生成部であり、アウトライン木生成部20か
らアウトライン編集部50までの各機能部による処理を
反映させたアウトラインのシーケンスファイルを生成す
る。符号70は、シーケンスファイル格納部であり、シ
ーケンス生成部60により生成されたシーケンスファイ
ルを格納する。符号80は、モルフィング・ビューアで
あり、シーケンスファイル格納部70からアウトライン
のシーケンスファイルを読み出し、当該シーケンスファ
イルに基づいてモルフィングを行い、ディスプレイ装置
に動画を表示する。
に基づいてこの発明を詳細に説明する。図1は、本実施
の形態におけるモルフィング処理装置の全体構成を説明
するための図である。同図において、符号10はアウト
ライン抽出部であり、モルフィングによる画像処理の対
象である図形(以下、対象図形と称す)からアウトライ
ン(輪郭線)を抽出する。符号20はアウトライン木生
成部であり、対象図形を構成する各アウトラインをノー
ドとするアウトライン木を生成する。符号30はアウト
ライン木整理部であり、アウトライン木生成部20によ
り生成されたアウトライン木を整理して、一つのアウト
ライン木に対してルート・ノードと一つの子ノードのみ
を残す。符号40は頂点調整部であり、二つの対象図形
に関して、アウトライン木整理部30の処理により残さ
れた一つの子ノードのアウトラインにおける頂点の数を
一致させる。符号50はアウトライン編集部であり、頂
点調整部40により頂点の数を調整されたアウトライン
を、自己交錯が起こらないように変形する。符号60は
シーケンス生成部であり、アウトライン木生成部20か
らアウトライン編集部50までの各機能部による処理を
反映させたアウトラインのシーケンスファイルを生成す
る。符号70は、シーケンスファイル格納部であり、シ
ーケンス生成部60により生成されたシーケンスファイ
ルを格納する。符号80は、モルフィング・ビューアで
あり、シーケンスファイル格納部70からアウトライン
のシーケンスファイルを読み出し、当該シーケンスファ
イルに基づいてモルフィングを行い、ディスプレイ装置
に動画を表示する。
【0032】アウトライン抽出部10は、対象図形を入
力し、そのアウトラインを線分の組み合わせとして抽出
する。対象図形の輪郭線に曲線が含まれている場合は、
当該曲線部分を細分化(tessellation)して線分近似す
ることにより、アウトラインを形成する線分列を得る。
これにより、対象図形の輪郭線が多角形で近似されるこ
ととなる。また、各線分はベクトルで表現される。本実
施の形態における対象図形の輪郭は単一のアウトライン
で形成される必要はない。すなわち、図形中に穴がある
場合や、いくつかの図形の組み合わせで構成される図形
についても、一つの対象図形として扱うことができる。
例えば、文字を対象図形とする場合、文字「B」は、外
側を囲むアウトラインと、中の二つの穴を形成する二つ
のアウトラインとで形成された図形である。また、文字
「杉」は、四つのアウトラインで形成された図形であ
る。なお、対象図形は、モルフィングによる変形前と変
形後の二つある。したがって、これら二つの対象図形に
関してそれぞれアウトラインの抽出を行う。
力し、そのアウトラインを線分の組み合わせとして抽出
する。対象図形の輪郭線に曲線が含まれている場合は、
当該曲線部分を細分化(tessellation)して線分近似す
ることにより、アウトラインを形成する線分列を得る。
これにより、対象図形の輪郭線が多角形で近似されるこ
ととなる。また、各線分はベクトルで表現される。本実
施の形態における対象図形の輪郭は単一のアウトライン
で形成される必要はない。すなわち、図形中に穴がある
場合や、いくつかの図形の組み合わせで構成される図形
についても、一つの対象図形として扱うことができる。
例えば、文字を対象図形とする場合、文字「B」は、外
側を囲むアウトラインと、中の二つの穴を形成する二つ
のアウトラインとで形成された図形である。また、文字
「杉」は、四つのアウトラインで形成された図形であ
る。なお、対象図形は、モルフィングによる変形前と変
形後の二つある。したがって、これら二つの対象図形に
関してそれぞれアウトラインの抽出を行う。
【0033】アウトライン木生成部20は、アウトライ
ン抽出部10により抽出された対象図形のアウトライン
を入力し、当該対象図形を構成する各アウトラインごと
に当該アウトラインを囲むバウンディング・ボックス
(bounding box)を設定し、当該バウンディング・ボッ
クスの相互関係に基づいてアウトライン木を生成する。
このアウトライン木の生成は、対象図形が必ず一つ以上
のアウトラインから構成されるという前提に基づいて行
われる。なお、バウンディング・ボックスの形状は長方
形が一般的であるが、他の形状であっても良い。以下の
説明では、長方形のバウンディング・ボックスを設定す
るものとして説明する。アウトライン木は、ルート・ノ
ードの下に各アウトラインに対応する子ノードを挿入す
ることにより形成される。各子ノードは、対応するアウ
トラインに関して、後述するアウトライン木の整理や頂
点の調整、アウトラインの編集等の処理に用いられる情
報を格納する。例えば、図8に示すように、delete fla
g(アウトライン木の整理の際に削除するかどうかを設
定するフラグ(整数))、num Point(アウトラインの
頂点の数(整数))、num Child(自ノードのしたに位
置する子ノードの数(整数))、outline(アウトライ
ンの各頂点における初期の座標値(実数配列))、defo
rm outline(アウトラインの各頂点におけるモルフィン
グ時に使用される座標値(実数配列))、xmin, xmax,
ymin, ymax(バウンディング・ボックスの座標(実
数))、child(自ノードの子ノードへのポインタ(ノ
ードへのポインタ配列))、cx, cy(バウンディング・
ボックスの中心の座標値(実数))等が格納される。図
9に文字「B」を対象図形とした場合のアウトライン木
を、図10に文字「杉」を対象図形とした場合のアウト
ライン木を示す。図9に示すように、文字「B」の穴の
ような上位のノードのバウンディング・ボックス中に完
全に含まれるアウトラインを持つノードは、当該上位の
ノードの子供になる。これに対し、図10に示すよう
に、文字「杉」複数のバウンディング・ボックスが並べ
て配置される関係にある場合は、各ノードが同じレベル
に位置することとなる。
ン抽出部10により抽出された対象図形のアウトライン
を入力し、当該対象図形を構成する各アウトラインごと
に当該アウトラインを囲むバウンディング・ボックス
(bounding box)を設定し、当該バウンディング・ボッ
クスの相互関係に基づいてアウトライン木を生成する。
このアウトライン木の生成は、対象図形が必ず一つ以上
のアウトラインから構成されるという前提に基づいて行
われる。なお、バウンディング・ボックスの形状は長方
形が一般的であるが、他の形状であっても良い。以下の
説明では、長方形のバウンディング・ボックスを設定す
るものとして説明する。アウトライン木は、ルート・ノ
ードの下に各アウトラインに対応する子ノードを挿入す
ることにより形成される。各子ノードは、対応するアウ
トラインに関して、後述するアウトライン木の整理や頂
点の調整、アウトラインの編集等の処理に用いられる情
報を格納する。例えば、図8に示すように、delete fla
g(アウトライン木の整理の際に削除するかどうかを設
定するフラグ(整数))、num Point(アウトラインの
頂点の数(整数))、num Child(自ノードのしたに位
置する子ノードの数(整数))、outline(アウトライ
ンの各頂点における初期の座標値(実数配列))、defo
rm outline(アウトラインの各頂点におけるモルフィン
グ時に使用される座標値(実数配列))、xmin, xmax,
ymin, ymax(バウンディング・ボックスの座標(実
数))、child(自ノードの子ノードへのポインタ(ノ
ードへのポインタ配列))、cx, cy(バウンディング・
ボックスの中心の座標値(実数))等が格納される。図
9に文字「B」を対象図形とした場合のアウトライン木
を、図10に文字「杉」を対象図形とした場合のアウト
ライン木を示す。図9に示すように、文字「B」の穴の
ような上位のノードのバウンディング・ボックス中に完
全に含まれるアウトラインを持つノードは、当該上位の
ノードの子供になる。これに対し、図10に示すよう
に、文字「杉」複数のバウンディング・ボックスが並べ
て配置される関係にある場合は、各ノードが同じレベル
に位置することとなる。
【0034】アウトライン木整理部30は、アウトライ
ン木生成部20により生成されたアウトライン木のう
ち、一つの子ノードのみを残して他の子ノードを消滅さ
せる。ノードの消滅は、消滅させる各ノードにおけるア
ウトラインの全ての頂点を、対応するバウンディング・
ボックスの中心に向けて移動させることにより、実現す
る。図11は、全体のタイムパラメータをtとし、時刻
T1から時刻T2までの間にノードkのアウトラインを
保持する座標変数 outline[k][2] がバウンディング・
ボックスの中心座標(cx, cy)に移動させる方法をC言
語風に記述したものである。この記述に基づき、ディス
プレイ装置において(x,y)を時刻[T1,T2]の
間に描画することで、ノードkで示される各ノードのア
ウトラインが、対応するバウンディング・ボックスの中
心に向かって収斂し、最終的にディスプレイ装置には表
示されない点となって消滅する。以上の操作によって、
アウトライン木が整理され、一つの対象図形に対して一
つのアウトラインのみが残ることとなる。これによっ
て、変形前後の二つの対象図形は、それぞれ一つの多角
形で表現されることとなる。すなわち、アウトラインを
構成する頂点がm個あるならば、m角形となる。ここ
で、対象図形を形成する複数のアウトラインのうち、ど
のアウトラインを残すかについては、任意に定めること
ができる。一般には、アウトラインごとに設定されてい
るバウンディング・ボックスの面積が最大のものを残す
ようにすれば、見栄えが良い。また、対象図形に応じて
特徴的な箇所のアウトラインを残すようにしても良い。
例えば、漢字などの文字を対象図形とする場合は、対象
図形となる文字の書き順を考慮して残すアウトラインを
決定することもできる。
ン木生成部20により生成されたアウトライン木のう
ち、一つの子ノードのみを残して他の子ノードを消滅さ
せる。ノードの消滅は、消滅させる各ノードにおけるア
ウトラインの全ての頂点を、対応するバウンディング・
ボックスの中心に向けて移動させることにより、実現す
る。図11は、全体のタイムパラメータをtとし、時刻
T1から時刻T2までの間にノードkのアウトラインを
保持する座標変数 outline[k][2] がバウンディング・
ボックスの中心座標(cx, cy)に移動させる方法をC言
語風に記述したものである。この記述に基づき、ディス
プレイ装置において(x,y)を時刻[T1,T2]の
間に描画することで、ノードkで示される各ノードのア
ウトラインが、対応するバウンディング・ボックスの中
心に向かって収斂し、最終的にディスプレイ装置には表
示されない点となって消滅する。以上の操作によって、
アウトライン木が整理され、一つの対象図形に対して一
つのアウトラインのみが残ることとなる。これによっ
て、変形前後の二つの対象図形は、それぞれ一つの多角
形で表現されることとなる。すなわち、アウトラインを
構成する頂点がm個あるならば、m角形となる。ここ
で、対象図形を形成する複数のアウトラインのうち、ど
のアウトラインを残すかについては、任意に定めること
ができる。一般には、アウトラインごとに設定されてい
るバウンディング・ボックスの面積が最大のものを残す
ようにすれば、見栄えが良い。また、対象図形に応じて
特徴的な箇所のアウトラインを残すようにしても良い。
例えば、漢字などの文字を対象図形とする場合は、対象
図形となる文字の書き順を考慮して残すアウトラインを
決定することもできる。
【0035】頂点調整部40は、アウトライン木整理部
30の処理により残された一つのアウトラインを入力
し、当該アウトラインにおける頂点の数を一致させる。
この処理を行うのは、二つの対象図形からそれぞれ取り
出された二つのアウトラインにおける頂点の数は異なる
のが普通であるため、そのままではモルフィングを行う
ことができない場合が多いからである。二つのアウトラ
インにおける頂点の数を一致させる処理は、次のように
して行う。まず、アウトラインを構成する頂点列を、特
定の位置の頂点を先頭にして、当該アウトライン上を一
定の方向に周回するように並べる。具体的には、例え
ば、Y座標の値が最大の頂点(複数ある場合はその中で
X座標の値が最大の頂点)を先頭にして頂点列を並べ
る。これにより、以下の処理の開始位置をバウンディン
グ・ボックスのほぼ右上に揃えておくことができ、かつ
後述する自己交錯を起こしにくくすることができる。な
お、開始位置をバウンディング・ボックスのほぼ右上に
揃えるとしたのは例示に過ぎず、任意の位置から開始す
るように設定することが可能である。
30の処理により残された一つのアウトラインを入力
し、当該アウトラインにおける頂点の数を一致させる。
この処理を行うのは、二つの対象図形からそれぞれ取り
出された二つのアウトラインにおける頂点の数は異なる
のが普通であるため、そのままではモルフィングを行う
ことができない場合が多いからである。二つのアウトラ
インにおける頂点の数を一致させる処理は、次のように
して行う。まず、アウトラインを構成する頂点列を、特
定の位置の頂点を先頭にして、当該アウトライン上を一
定の方向に周回するように並べる。具体的には、例え
ば、Y座標の値が最大の頂点(複数ある場合はその中で
X座標の値が最大の頂点)を先頭にして頂点列を並べ
る。これにより、以下の処理の開始位置をバウンディン
グ・ボックスのほぼ右上に揃えておくことができ、かつ
後述する自己交錯を起こしにくくすることができる。な
お、開始位置をバウンディング・ボックスのほぼ右上に
揃えるとしたのは例示に過ぎず、任意の位置から開始す
るように設定することが可能である。
【0036】次に、各アウトラインの全周の長さを求
め、各頂点の座標値を[0.0−1.0]のパラメータで表
現する。ここで、開始点のパラメータが0.0であり、
アウトラインを一周して戻ってきた同じ点のパラメータ
が1.0である。具体的には、アウトラインの全周の長
さをLとし、頂点の数をmとしたとき、パラメータpは
下記の数1で表される。
め、各頂点の座標値を[0.0−1.0]のパラメータで表
現する。ここで、開始点のパラメータが0.0であり、
アウトラインを一周して戻ってきた同じ点のパラメータ
が1.0である。具体的には、アウトラインの全周の長
さをLとし、頂点の数をmとしたとき、パラメータpは
下記の数1で表される。
【数1】 上式において、Diはi番目の頂点の座標値(xi, yi)
であり、|Di−Di-1|はi−1番目の頂点とi番目の
頂点との間の距離を表す。また、求まったパラメータp
は、浮動小数点で計算され、一般に0.0と1.0以外二
つのアウトライン上で一致するパラメータは発生しな
い。仮に一致するパラメータがあったとしても、後の計
算には影響しない。
であり、|Di−Di-1|はi−1番目の頂点とi番目の
頂点との間の距離を表す。また、求まったパラメータp
は、浮動小数点で計算され、一般に0.0と1.0以外二
つのアウトライン上で一致するパラメータは発生しな
い。仮に一致するパラメータがあったとしても、後の計
算には影響しない。
【0037】次に、一方のアウトラインにおけるパラメ
ータ化された頂点を用いて他方のアウトラインに頂点を
線形補間する操作を相互に行うことにより、二つのアウ
トラインにおける頂点の数を一致させる。線形補間の結
果を各アウトラインの頂点列に反映させるには、線形補
間により求められた座標値を各アウトラインの頂点列と
は別のファイルに書き出した後、パラメータ空間におい
て、パラメータをキーとしてマージソートを行う。ま
た、線形補間により求められた座標値を別ファイルに書
き出す変わりに、次のような手法を取ることもできる。
すなわち、一方のアウトライン(OL1と称す)のパラ
メータpiは、両端の0.0と1.0を除いて、一般に他
方のアウトライン(OL2と称す)には現れない。そこ
で、仮にpj-1<pi<pj(ただし、pj-1及びpjはア
ウトラインOL2の頂点のパラメータ)としたとき、ア
ウトラインOL2上のDj-1とDjとの間に、新しい頂点
として、下記の数2で表される頂点Di newを加える。な
お、当該処理によって新しく追加される頂点Di newは、
アウトラインOL2上に元々存在したDj-1とDjとの間
の線分上に設けられるため、正しくは頂点ではないが、
アウトラインOL1の頂点と対応させるために頂点とし
て扱う。言い換えれば、線分Dj-1−Di newと線分Di
new−Djとが平行であるものとして扱う。
ータ化された頂点を用いて他方のアウトラインに頂点を
線形補間する操作を相互に行うことにより、二つのアウ
トラインにおける頂点の数を一致させる。線形補間の結
果を各アウトラインの頂点列に反映させるには、線形補
間により求められた座標値を各アウトラインの頂点列と
は別のファイルに書き出した後、パラメータ空間におい
て、パラメータをキーとしてマージソートを行う。ま
た、線形補間により求められた座標値を別ファイルに書
き出す変わりに、次のような手法を取ることもできる。
すなわち、一方のアウトライン(OL1と称す)のパラ
メータpiは、両端の0.0と1.0を除いて、一般に他
方のアウトライン(OL2と称す)には現れない。そこ
で、仮にpj-1<pi<pj(ただし、pj-1及びpjはア
ウトラインOL2の頂点のパラメータ)としたとき、ア
ウトラインOL2上のDj-1とDjとの間に、新しい頂点
として、下記の数2で表される頂点Di newを加える。な
お、当該処理によって新しく追加される頂点Di newは、
アウトラインOL2上に元々存在したDj-1とDjとの間
の線分上に設けられるため、正しくは頂点ではないが、
アウトラインOL1の頂点と対応させるために頂点とし
て扱う。言い換えれば、線分Dj-1−Di newと線分Di
new−Djとが平行であるものとして扱う。
【数2】 かかる処理を、アウトラインOL1上の各頂点について
実行することによりアウトラインOL2上に新しい頂点
を加える。さらに、同様にして、アウトラインOL2上
の頂点のパラメータに基づいてアウトラインOL1上に
新しい頂点を加えることにより、アウトラインOL1と
アウトラインOL2の頂点の数が一致する。このような
処理を行えば、ファイル間のマージソートを行う必要が
ない。
実行することによりアウトラインOL2上に新しい頂点
を加える。さらに、同様にして、アウトラインOL2上
の頂点のパラメータに基づいてアウトラインOL1上に
新しい頂点を加えることにより、アウトラインOL1と
アウトラインOL2の頂点の数が一致する。このような
処理を行えば、ファイル間のマージソートを行う必要が
ない。
【0038】アウトライン編集部50は、頂点調整部4
0によって、頂点の数を一致させた二つのアウトライン
に対し、モルフィングを行った際に自己交錯が起きない
ように、必要に応じて平滑化処理を行う。すなわち、頂
点調整部40により頂点の数を一致させた段階のアウト
ラインを対象として単純にモルフィングを行うと、アウ
トラインの形状によっては自己交錯を起こしてしまう。
特に凹凸の多い複雑な形状のアウトラインでは自己交錯
を起こしやすい。変形の際に自己交錯が発生すると、単
に見た目が悪いだけでなく、アウトラインの内部を特定
の色で塗りつぶすような場合にうまく処理できない場合
がある。そこで、二つのアウトライン間のモルフィング
を行った際に自己交錯が起こる場合には、自己交錯が起
こらないような形に変形する。このために行う処理が平
滑化処理である。自己交錯を起こすことなくモルフィン
グを行うことができる条件は、アウトラインの形状が全
体的に外側へ緩やかな凸状になっていることである。例
えば円や四角形や三角形といった単純な形状が相当す
る。これに対し、任意の対象図形では、アウトライン上
に急激な凹凸部分があるような複雑な形状の場合があ
る。特に漢字などの文字を対象図形とする場合には複雑
な凹凸を持つ形状である場合が多い。そこで、当該アウ
トラインに対して、かかる凹凸を取り除くための平滑化
処理を行う。平滑化処理の具体例としては、信号処理で
用いられるラプラシアン・スムージング(Laplacian sm
oothing)を用いることができる。この手法によれば、
各頂点に対して平滑化処理による座標値Di’を得るた
め、下記の数3の演算を行う。
0によって、頂点の数を一致させた二つのアウトライン
に対し、モルフィングを行った際に自己交錯が起きない
ように、必要に応じて平滑化処理を行う。すなわち、頂
点調整部40により頂点の数を一致させた段階のアウト
ラインを対象として単純にモルフィングを行うと、アウ
トラインの形状によっては自己交錯を起こしてしまう。
特に凹凸の多い複雑な形状のアウトラインでは自己交錯
を起こしやすい。変形の際に自己交錯が発生すると、単
に見た目が悪いだけでなく、アウトラインの内部を特定
の色で塗りつぶすような場合にうまく処理できない場合
がある。そこで、二つのアウトライン間のモルフィング
を行った際に自己交錯が起こる場合には、自己交錯が起
こらないような形に変形する。このために行う処理が平
滑化処理である。自己交錯を起こすことなくモルフィン
グを行うことができる条件は、アウトラインの形状が全
体的に外側へ緩やかな凸状になっていることである。例
えば円や四角形や三角形といった単純な形状が相当す
る。これに対し、任意の対象図形では、アウトライン上
に急激な凹凸部分があるような複雑な形状の場合があ
る。特に漢字などの文字を対象図形とする場合には複雑
な凹凸を持つ形状である場合が多い。そこで、当該アウ
トラインに対して、かかる凹凸を取り除くための平滑化
処理を行う。平滑化処理の具体例としては、信号処理で
用いられるラプラシアン・スムージング(Laplacian sm
oothing)を用いることができる。この手法によれば、
各頂点に対して平滑化処理による座標値Di’を得るた
め、下記の数3の演算を行う。
【数3】 上式において、変数aは平滑化の速度を制御するパラメ
ータであり、通常は0.0から1.0までの値を取る。こ
のラプラシアン・スムージングを複数回適用することに
より、アウトラインが次第に平滑化され、凹部が取り除
かれることとなる。
ータであり、通常は0.0から1.0までの値を取る。こ
のラプラシアン・スムージングを複数回適用することに
より、アウトラインが次第に平滑化され、凹部が取り除
かれることとなる。
【0039】ここで、ラプラシアン・スムージングを繰
り返し適用していくと、アウトラインは最終的に円に近
づいていく。したがって、変形前後の二つの対象図形が
どのような形状であっても、各対象図形のアウトライン
がそれぞれほぼ円形になるまで平滑化を行えば、自己交
錯を起こすことなくモルフィングを行うことができる。
しかし、対象図形の形状に関わらずモルフィングの際に
アウトラインが円形に近づいてしまうのは、視覚的に好
ましくない。そこで、実際には、変形前後の二つの対象
図形におけるアウトラインに対してそれぞれ数回ラプラ
シアン・スムージングを適用し、円形に近づく前の途中
の段階で平滑化処理をうち切り、適度に平滑化された二
つのアウトラインに対してモルフィングを行う。なお、
どの段階で平滑化をうち切るかを決めるには、例えば、
試行的にモルフィングを行った結果をフィードバックし
て、自己交錯が起きなくなるまでラプラシアン・スムー
ジングを繰り返す方法を取ることができる。すなわち、
モルフィングを試行して自己交錯が起きないかどうかを
確認し、自己交錯が起きたならばラプラシアン・スムー
ジングを行って再びモルフィングを試行する。そして、
自己交錯が起きなければ、その時点で平滑化処理を止め
る。以上のような処理を行った後、アウトライン編集部
50は、二つの対象図形にそれぞれ対応する二つのアウ
トラインの集合を出力する。当該アウトラインの集合に
は、アウトライン編集部50に入力された初期段階のア
ウトラインと、ラプラシアン・スムージングを施すこと
により得られたアウトラインとが含まれる。ただし、ラ
プラシアン・スムージングにより得られたアウトライン
を全て出力する必要はなく、得られたアウトラインの数
に応じて、適当な段階の平滑化されたアウトラインを数
個出力すれば良い。また、最初にラプラシアン・スムー
ジングを行わずにモルフィングを試行した時点で自己交
錯が起きなかった場合は、平滑化処理を行う必要はな
い。この場合は、アウトライン編集部50に入力された
初期段階の二つのアウトラインが出力されることとな
る。
り返し適用していくと、アウトラインは最終的に円に近
づいていく。したがって、変形前後の二つの対象図形が
どのような形状であっても、各対象図形のアウトライン
がそれぞれほぼ円形になるまで平滑化を行えば、自己交
錯を起こすことなくモルフィングを行うことができる。
しかし、対象図形の形状に関わらずモルフィングの際に
アウトラインが円形に近づいてしまうのは、視覚的に好
ましくない。そこで、実際には、変形前後の二つの対象
図形におけるアウトラインに対してそれぞれ数回ラプラ
シアン・スムージングを適用し、円形に近づく前の途中
の段階で平滑化処理をうち切り、適度に平滑化された二
つのアウトラインに対してモルフィングを行う。なお、
どの段階で平滑化をうち切るかを決めるには、例えば、
試行的にモルフィングを行った結果をフィードバックし
て、自己交錯が起きなくなるまでラプラシアン・スムー
ジングを繰り返す方法を取ることができる。すなわち、
モルフィングを試行して自己交錯が起きないかどうかを
確認し、自己交錯が起きたならばラプラシアン・スムー
ジングを行って再びモルフィングを試行する。そして、
自己交錯が起きなければ、その時点で平滑化処理を止め
る。以上のような処理を行った後、アウトライン編集部
50は、二つの対象図形にそれぞれ対応する二つのアウ
トラインの集合を出力する。当該アウトラインの集合に
は、アウトライン編集部50に入力された初期段階のア
ウトラインと、ラプラシアン・スムージングを施すこと
により得られたアウトラインとが含まれる。ただし、ラ
プラシアン・スムージングにより得られたアウトライン
を全て出力する必要はなく、得られたアウトラインの数
に応じて、適当な段階の平滑化されたアウトラインを数
個出力すれば良い。また、最初にラプラシアン・スムー
ジングを行わずにモルフィングを試行した時点で自己交
錯が起きなかった場合は、平滑化処理を行う必要はな
い。この場合は、アウトライン編集部50に入力された
初期段階の二つのアウトラインが出力されることとな
る。
【0040】シーケンス生成部60は、アウトライン木
生成部20から出力されたアウトライン木とアウトライ
ン編集部50から出力されたアウトラインの集合とを用
いて、モルフィング処理全体のタイムパラメータtに沿
った当該変形処理の経過におけるアウトラインのシーケ
ンスファイルを生成する。すなわち、当該シーケンスフ
ァイルには、当該変形処理の各段階におけるアウトライ
ンがタイムパラメータtの順に並べられている。シーケ
ンス生成部60により生成されたアウトラインのシーケ
ンスファイルは、シーケンスファイル格納部70に格納
される。
生成部20から出力されたアウトライン木とアウトライ
ン編集部50から出力されたアウトラインの集合とを用
いて、モルフィング処理全体のタイムパラメータtに沿
った当該変形処理の経過におけるアウトラインのシーケ
ンスファイルを生成する。すなわち、当該シーケンスフ
ァイルには、当該変形処理の各段階におけるアウトライ
ンがタイムパラメータtの順に並べられている。シーケ
ンス生成部60により生成されたアウトラインのシーケ
ンスファイルは、シーケンスファイル格納部70に格納
される。
【0041】モルフィング・ビューア80は、シーケン
スファイル格納部70からシーケンスファイルを読み出
して、当該シーケンスファイルのアウトラインを当該タ
イムパラメータtに沿って再生しながら、各アウトライ
ンの間をモルフィングにより滑らかに変形させる動画を
ディスプレイ装置に表示する。これにより、ディスプレ
イ装置には、一方の対象図形から他方の対象図形へ、自
己交錯を起こすことなく滑らかに輪郭が変形する様子が
表示されることとなる。なお、ここではアウトラインの
シーケンスファイルをシーケンスファイル格納部70か
ら読み出すこととしたが、シーケンス生成部60から出
力されたシーケンスファイルを直接入力するようにして
も良い。
スファイル格納部70からシーケンスファイルを読み出
して、当該シーケンスファイルのアウトラインを当該タ
イムパラメータtに沿って再生しながら、各アウトライ
ンの間をモルフィングにより滑らかに変形させる動画を
ディスプレイ装置に表示する。これにより、ディスプレ
イ装置には、一方の対象図形から他方の対象図形へ、自
己交錯を起こすことなく滑らかに輪郭が変形する様子が
表示されることとなる。なお、ここではアウトラインの
シーケンスファイルをシーケンスファイル格納部70か
ら読み出すこととしたが、シーケンス生成部60から出
力されたシーケンスファイルを直接入力するようにして
も良い。
【0042】次に、本実施の形態の動作について説明す
る。上述したように、本実施の形態は、モルフィングに
よる変形処理の対象図形として任意の形状の図形に対し
て柔軟に対応することができる。ここでは、文字を対象
図形とした場合を例として説明する。また、対象図形で
ある文字は、コンピュータでディスプレイ表示やプリン
トアウトに一般的に用いられるアウトライン・フォント
であるものとする。なお、文字を対象図形とする場合、
対象図形である文字がドット・フォントであっても、前
処理として当該文字の輪郭線を抽出する処理が実現でき
れば本実施の形態による変形処理を行うことが可能であ
る。また、本動作例では、二つの文字を1対1で対応さ
せて一方から他方へ変形させる場合について説明する
が、m個の文字列とn個の文字列をm対nで対応させて
変形させることも可能である。このような多対多で変形
処理を行う場合に必要な特殊な処理については後述す
る。
る。上述したように、本実施の形態は、モルフィングに
よる変形処理の対象図形として任意の形状の図形に対し
て柔軟に対応することができる。ここでは、文字を対象
図形とした場合を例として説明する。また、対象図形で
ある文字は、コンピュータでディスプレイ表示やプリン
トアウトに一般的に用いられるアウトライン・フォント
であるものとする。なお、文字を対象図形とする場合、
対象図形である文字がドット・フォントであっても、前
処理として当該文字の輪郭線を抽出する処理が実現でき
れば本実施の形態による変形処理を行うことが可能であ
る。また、本動作例では、二つの文字を1対1で対応さ
せて一方から他方へ変形させる場合について説明する
が、m個の文字列とn個の文字列をm対nで対応させて
変形させることも可能である。このような多対多で変形
処理を行う場合に必要な特殊な処理については後述す
る。
【0043】図2は、本実施の形態のモルフィング処理
装置による全体的な処理の流れを説明するフローチャー
トである。図2を参照すると、まず、アウトライン抽出
部10により、フォントファイルから対象図形として選
択された二つの文字のフォントデータが読み出される。
そして、当該二つの文字のアウトラインが抽出される
(ステップ201)。ここで、当該文字のアウトライン
・フォントが、パーソナル・コンピュータでディスプレ
イ表示や印刷に広く用いられているTrue Type フォント
である場合、アウトラインの抽出は、例えばOpenGLにお
けるwglUseFontOutline関数やWindows(マイクロソフト
社の商標)オペレーティングシステムに用意されている
GetGlyphOutline関数等の既存のAPI(Application P
rogram Interface)を用いて行うことができる。この種
の関数を用いれば、所定のインデックスを与えると、対
応する文字のアウトライン構造として、アウトラインの
数、当該文字に含まれる点(アウトラインを構成する
点)、当該点の座標列(ベクトル列)、当該点に付随す
るフラグ列、アウトラインの終端点列等を得ることがで
きる。点に付随するフラグ列には、当該点が線分の端点
であるか2次元のベジェ曲線の制御点であるかを識別す
る情報が含まれる。True Type フォントでは、輪郭の真
っ直ぐな部分は線分で、滑らかな曲線部分は2次元のピ
ースワイズ・ベジェ曲線(piecewise Bezier curves)
で表現されている。アウトライン抽出部10は、このよ
うにして文字のアウトラインを取得し、かつベジェ曲線
で表現された部分を線分近似して出力する。なお、文字
の輪郭は複数のアウトラインで形成される場合が多いの
で、アウトライン抽出部10の出力はアウトラインの集
合となる(図1の{FX1}、{FX2}参照)。な
お、ここでは対象図形がTrue Type フォントである場合
について説明したが、Adobe社のType 1 フォントなどの
他のアウトライン・フォントに関しても固有のAPIを
用いればアウトラインの抽出が可能である。
装置による全体的な処理の流れを説明するフローチャー
トである。図2を参照すると、まず、アウトライン抽出
部10により、フォントファイルから対象図形として選
択された二つの文字のフォントデータが読み出される。
そして、当該二つの文字のアウトラインが抽出される
(ステップ201)。ここで、当該文字のアウトライン
・フォントが、パーソナル・コンピュータでディスプレ
イ表示や印刷に広く用いられているTrue Type フォント
である場合、アウトラインの抽出は、例えばOpenGLにお
けるwglUseFontOutline関数やWindows(マイクロソフト
社の商標)オペレーティングシステムに用意されている
GetGlyphOutline関数等の既存のAPI(Application P
rogram Interface)を用いて行うことができる。この種
の関数を用いれば、所定のインデックスを与えると、対
応する文字のアウトライン構造として、アウトラインの
数、当該文字に含まれる点(アウトラインを構成する
点)、当該点の座標列(ベクトル列)、当該点に付随す
るフラグ列、アウトラインの終端点列等を得ることがで
きる。点に付随するフラグ列には、当該点が線分の端点
であるか2次元のベジェ曲線の制御点であるかを識別す
る情報が含まれる。True Type フォントでは、輪郭の真
っ直ぐな部分は線分で、滑らかな曲線部分は2次元のピ
ースワイズ・ベジェ曲線(piecewise Bezier curves)
で表現されている。アウトライン抽出部10は、このよ
うにして文字のアウトラインを取得し、かつベジェ曲線
で表現された部分を線分近似して出力する。なお、文字
の輪郭は複数のアウトラインで形成される場合が多いの
で、アウトライン抽出部10の出力はアウトラインの集
合となる(図1の{FX1}、{FX2}参照)。な
お、ここでは対象図形がTrue Type フォントである場合
について説明したが、Adobe社のType 1 フォントなどの
他のアウトライン・フォントに関しても固有のAPIを
用いればアウトラインの抽出が可能である。
【0044】次に、アウトライン木生成部20により、
対象図形である文字のアウトライン木が生成される(図
2、ステップ202)。図3にアウトライン木生成部2
0による処理の詳細なアルゴリズムを示す。図3を参照
すると、まず、アウトライン抽出部10により抽出され
たアウトラインの集合{FX1}、{FX2}を入力し
て(ステップ301)、各文字の輪郭を形成する各アウ
トラインに対してバウンディング・ボックスを設定し、
その面積を計算する(ステップ302)。次に、アウト
ライン全体のバウンディング・ボックスを生成し、当該
バウンディング・ボックスに対応させてアウトライン木
のルート・ノードを生成する(ステップ303)。ここ
で、アウトライン全体のバウンディング・ボックスと
は、例えば漢字「杉」のように複数のバウンディング・
ボックスが並べて配置される関係にある場合に、それら
を全て包含するバウンディング・ボックスという意味で
ある。したがって、文字「B」のように最外郭のアウト
ラインに対応するバウンディング・ボックスが当該文字
のアウトラインの全部を包含する場合は、当該バウンデ
ィング・ボックスとアウトライン全体のバウンディング
・ボックスとは同一となる。また、ルート・ノードに
は、バウンディング・ボックスに関する情報(例えば、
図8に示す情報のうち、xmin,xmax, ymin, ymaxと、cx,
cy)のみが格納される。
対象図形である文字のアウトライン木が生成される(図
2、ステップ202)。図3にアウトライン木生成部2
0による処理の詳細なアルゴリズムを示す。図3を参照
すると、まず、アウトライン抽出部10により抽出され
たアウトラインの集合{FX1}、{FX2}を入力し
て(ステップ301)、各文字の輪郭を形成する各アウ
トラインに対してバウンディング・ボックスを設定し、
その面積を計算する(ステップ302)。次に、アウト
ライン全体のバウンディング・ボックスを生成し、当該
バウンディング・ボックスに対応させてアウトライン木
のルート・ノードを生成する(ステップ303)。ここ
で、アウトライン全体のバウンディング・ボックスと
は、例えば漢字「杉」のように複数のバウンディング・
ボックスが並べて配置される関係にある場合に、それら
を全て包含するバウンディング・ボックスという意味で
ある。したがって、文字「B」のように最外郭のアウト
ラインに対応するバウンディング・ボックスが当該文字
のアウトラインの全部を包含する場合は、当該バウンデ
ィング・ボックスとアウトライン全体のバウンディング
・ボックスとは同一となる。また、ルート・ノードに
は、バウンディング・ボックスに関する情報(例えば、
図8に示す情報のうち、xmin,xmax, ymin, ymaxと、cx,
cy)のみが格納される。
【0045】次に、設定されたバウンディング・ボック
スを、面積の大きいものから順にソートしてリストを作
成する(ステップ304)。次に、当該リストの先頭の
バウンディング・ボックスのアウトラインに着目して、
当該アウトラインに対応する子ノードを生成する(ステ
ップ305)。そして、当該子ノードをアウトライン木
に挿入する(ステップ306)。ここで、当該子ノード
におけるアウトラインのバウンディング・ボックスが、
既にアウトライン木に挿入されている他の子ノードにお
けるアウトラインのバウンディング・ボックスに完全に
含まれる場合、当該子ノードを当該他の子ノードの下に
再帰的に挿入する。次に、当該リストの要素が一つ(最
後にアウトライン木に挿入された子ノードに対応するバ
ウンディング・ボックス)だけかどうかを確認し、要素
が一つだけであれば処理を終了してアウトライン木を出
力する(ステップ307、309)。一方、当該リスト
の要素が複数ある場合は、先頭の要素(最後にアウトラ
イン木に挿入された子ノードに対応するバウンディング
・ボックス)を削除し、新しい先頭のバウンディング・
ボックスのアウトラインに着目して、同様の処理を行う
(ステップ307、308)。以上のようにして、アウ
トライン木生成部20から対象図形である二つの文字の
アウトライン木X1、X2が出力される。
スを、面積の大きいものから順にソートしてリストを作
成する(ステップ304)。次に、当該リストの先頭の
バウンディング・ボックスのアウトラインに着目して、
当該アウトラインに対応する子ノードを生成する(ステ
ップ305)。そして、当該子ノードをアウトライン木
に挿入する(ステップ306)。ここで、当該子ノード
におけるアウトラインのバウンディング・ボックスが、
既にアウトライン木に挿入されている他の子ノードにお
けるアウトラインのバウンディング・ボックスに完全に
含まれる場合、当該子ノードを当該他の子ノードの下に
再帰的に挿入する。次に、当該リストの要素が一つ(最
後にアウトライン木に挿入された子ノードに対応するバ
ウンディング・ボックス)だけかどうかを確認し、要素
が一つだけであれば処理を終了してアウトライン木を出
力する(ステップ307、309)。一方、当該リスト
の要素が複数ある場合は、先頭の要素(最後にアウトラ
イン木に挿入された子ノードに対応するバウンディング
・ボックス)を削除し、新しい先頭のバウンディング・
ボックスのアウトラインに着目して、同様の処理を行う
(ステップ307、308)。以上のようにして、アウ
トライン木生成部20から対象図形である二つの文字の
アウトライン木X1、X2が出力される。
【0046】次に、アウトライン木整理部30により、
アウトライン木の整理が行われる(図2、ステップ20
3)。図4にアウトライン木整理部30による処理の詳
細なアルゴリズムを示す。なお、ここでは、アウトライ
ン木の整理として、面積が最大のバウンディング・ボッ
クスのみを残すこととする。図4を参照すると、まず、
アウトライン木生成部20により生成されたアウトライ
ン木X1、X2を入力する(ステップ401)。そし
て、ルート・ノードと、ルート・ノードの直下にあるノ
ードのうちで最大の面積の子ノードにおけるdelete fla
gをオフとし、他の子ノードにおけるdelete flagをオン
とする(ステップ402)。次に、delete flagがオン
である子ノードをバウンディング・ボックスの中心に向
けて移動させ、最終的にディスプレイ装置に表示しない
点とすることにより行う。次に、以上のようにして残さ
れた単一の子ノードのアウトラインを出力する(ステッ
プ403)。以上のようにして、アウトライン木整理部
30から、対象図形である二つの文字に関して一つず
つ、面積が最大のバウンディング・ボックスのアウトラ
インOL1、OL2が出力される。
アウトライン木の整理が行われる(図2、ステップ20
3)。図4にアウトライン木整理部30による処理の詳
細なアルゴリズムを示す。なお、ここでは、アウトライ
ン木の整理として、面積が最大のバウンディング・ボッ
クスのみを残すこととする。図4を参照すると、まず、
アウトライン木生成部20により生成されたアウトライ
ン木X1、X2を入力する(ステップ401)。そし
て、ルート・ノードと、ルート・ノードの直下にあるノ
ードのうちで最大の面積の子ノードにおけるdelete fla
gをオフとし、他の子ノードにおけるdelete flagをオン
とする(ステップ402)。次に、delete flagがオン
である子ノードをバウンディング・ボックスの中心に向
けて移動させ、最終的にディスプレイ装置に表示しない
点とすることにより行う。次に、以上のようにして残さ
れた単一の子ノードのアウトラインを出力する(ステッ
プ403)。以上のようにして、アウトライン木整理部
30から、対象図形である二つの文字に関して一つず
つ、面積が最大のバウンディング・ボックスのアウトラ
インOL1、OL2が出力される。
【0047】次に、頂点調整部40により、アウトライ
ンOL1、OL2の頂点の数を一致させる処理が行われ
る(図2、ステップ204)。図5に、頂点調整部40
による処理の詳細なアルゴリズムを示す。図5を参照す
ると、まず、アウトラインOL1、OL2を入力し(ス
テップ501)、それぞれの頂点列を、Y座標の値が最
大の頂点(複数ある場合はその中でX座標の値が最大の
頂点)を先頭にして並べ替える(ステップ502)。こ
こでは、二つのアウトラインOL1、OL2の頂点列の
先頭がバウンディング・ボックスのほぼ右上に揃うよう
に並べ替えを行ったが、上述したように、先頭の位置を
バウンディング・ボックスのどこに設定しても良い。次
に、アウトラインOL1、OL2のそれぞれの全周の長
さを求め、各頂点の座標値を[0.0−1.0]のパラメー
タで表現する(ステップ503)。次に、一方のアウト
ラインにおけるパラメータ化された頂点を用いて、他方
のアウトラインに頂点を線形補間する操作を、相互に行
う(ステップ504)。これにより、二つのアウトライ
ンにおける頂点の数が一致する。次に、頂点の数が同じ
になった二つのアウトラインOL1’、OL2’を出力
する(ステップ505)。
ンOL1、OL2の頂点の数を一致させる処理が行われ
る(図2、ステップ204)。図5に、頂点調整部40
による処理の詳細なアルゴリズムを示す。図5を参照す
ると、まず、アウトラインOL1、OL2を入力し(ス
テップ501)、それぞれの頂点列を、Y座標の値が最
大の頂点(複数ある場合はその中でX座標の値が最大の
頂点)を先頭にして並べ替える(ステップ502)。こ
こでは、二つのアウトラインOL1、OL2の頂点列の
先頭がバウンディング・ボックスのほぼ右上に揃うよう
に並べ替えを行ったが、上述したように、先頭の位置を
バウンディング・ボックスのどこに設定しても良い。次
に、アウトラインOL1、OL2のそれぞれの全周の長
さを求め、各頂点の座標値を[0.0−1.0]のパラメー
タで表現する(ステップ503)。次に、一方のアウト
ラインにおけるパラメータ化された頂点を用いて、他方
のアウトラインに頂点を線形補間する操作を、相互に行
う(ステップ504)。これにより、二つのアウトライ
ンにおける頂点の数が一致する。次に、頂点の数が同じ
になった二つのアウトラインOL1’、OL2’を出力
する(ステップ505)。
【0048】次に、アウトライン編集部50により、ア
ウトラインの編集が行われる(図2、ステップ20
5)。この時、必要に応じてアウトラインへの平滑化処
理も行われる。図6にアウトライン編集部50による処
理の詳細なアルゴリズムを示す。なお、ここでは平滑化
処理としてラプラシアン・スムージング処理を行うこと
とする。図6を参照すると、まず、アウトラインOL
1’、OL2’を入力し(ステップ601)、二つのア
ウトラインに対してモルフィングを行って(ステップ6
02、603)、自己交錯が発生しないかどうかを調べ
る(ステップ604)。そして、自己交錯が発生した場
合は、各アウトラインにラプラシアン・スムージングを
行う(ステップ605)。次に、ラプラシアン・スムー
ジングを施されたアウトラインOL1(i)’、OL
2(j)’に対して、再びモルフィングを行う(ステップ
606、603)。以下、自己交錯が発生しなくなるま
で同様の処理を繰り返す。ここで、OL1(i)’は、i
回のラプラシアン・スムージングを施されたアウトライ
ンOL1’であることを示す。同様に、OL2(j)’
は、j回のラプラシアン・スムージングを施されたアウ
トラインOL2’であることを示す。また、パラメータ
mは、ステップ605において、アウトラインOL1
(i)’に対してm回のラプラシアン・スムージングを施
すことを示し、パラメータnは、アウトラインOL2
(j)’に対してn回のラプラシアン・スムージングを施
すことを示す。また、ステップ606のパラメータm、
nを更新する式、m=m+p(p≧1)、n=n+q
(q≧1)において、パラメータp及びパラメータqを
任意に設定することができる。これにより、モルフィン
グにおいて自己交錯が発生した場合に、各アウトライン
に対して何回ずつラプラシアン・スムージングを施すか
を設定することができる。
ウトラインの編集が行われる(図2、ステップ20
5)。この時、必要に応じてアウトラインへの平滑化処
理も行われる。図6にアウトライン編集部50による処
理の詳細なアルゴリズムを示す。なお、ここでは平滑化
処理としてラプラシアン・スムージング処理を行うこと
とする。図6を参照すると、まず、アウトラインOL
1’、OL2’を入力し(ステップ601)、二つのア
ウトラインに対してモルフィングを行って(ステップ6
02、603)、自己交錯が発生しないかどうかを調べ
る(ステップ604)。そして、自己交錯が発生した場
合は、各アウトラインにラプラシアン・スムージングを
行う(ステップ605)。次に、ラプラシアン・スムー
ジングを施されたアウトラインOL1(i)’、OL
2(j)’に対して、再びモルフィングを行う(ステップ
606、603)。以下、自己交錯が発生しなくなるま
で同様の処理を繰り返す。ここで、OL1(i)’は、i
回のラプラシアン・スムージングを施されたアウトライ
ンOL1’であることを示す。同様に、OL2(j)’
は、j回のラプラシアン・スムージングを施されたアウ
トラインOL2’であることを示す。また、パラメータ
mは、ステップ605において、アウトラインOL1
(i)’に対してm回のラプラシアン・スムージングを施
すことを示し、パラメータnは、アウトラインOL2
(j)’に対してn回のラプラシアン・スムージングを施
すことを示す。また、ステップ606のパラメータm、
nを更新する式、m=m+p(p≧1)、n=n+q
(q≧1)において、パラメータp及びパラメータqを
任意に設定することができる。これにより、モルフィン
グにおいて自己交錯が発生した場合に、各アウトライン
に対して何回ずつラプラシアン・スムージングを施すか
を設定することができる。
【0049】以上のようにして、モルフィングを行った
際に自己交錯が発生しなくなったならば、アウトライン
OL1’、OL2’のそれぞれに関して、ラプラシアン
・スムージングを行ったことにより得られたいくつかの
アウトラインの集合{OL1’}、{OL2’}を出力
する(ステップ604、607)。なお、アウトライン
OL1’、OL2’に対して複数回のラプラシアン・ス
ムージングを行った場合、必ずしもラプラシアン・スム
ージングを行って得られたアウトラインの全てを出力す
る必要はなく、得られたアウトラインを数個おきに取り
出して出力するようにしても良い。また、入力したアウ
トラインOL1’ 、OL2’が、ラプラシアン・スム
ージングを施すことなく、そのままで自己交錯を起こさ
ずにモルフィングできた場合(1回目のステップ604
の判断で自己交錯が発生しなかった場合)、出力される
アウトラインの集合の要素は、{OL1’}の要素がア
ウトラインOL1(0)’(=OL1’)だけであり、
{OL2’}の要素がアウトラインOL2(0)’(=O
L2’)だけである。
際に自己交錯が発生しなくなったならば、アウトライン
OL1’、OL2’のそれぞれに関して、ラプラシアン
・スムージングを行ったことにより得られたいくつかの
アウトラインの集合{OL1’}、{OL2’}を出力
する(ステップ604、607)。なお、アウトライン
OL1’、OL2’に対して複数回のラプラシアン・ス
ムージングを行った場合、必ずしもラプラシアン・スム
ージングを行って得られたアウトラインの全てを出力す
る必要はなく、得られたアウトラインを数個おきに取り
出して出力するようにしても良い。また、入力したアウ
トラインOL1’ 、OL2’が、ラプラシアン・スム
ージングを施すことなく、そのままで自己交錯を起こさ
ずにモルフィングできた場合(1回目のステップ604
の判断で自己交錯が発生しなかった場合)、出力される
アウトラインの集合の要素は、{OL1’}の要素がア
ウトラインOL1(0)’(=OL1’)だけであり、
{OL2’}の要素がアウトラインOL2(0)’(=O
L2’)だけである。
【0050】次に、シーケンス生成部60により、変形
処理全体におけるアウトラインのシーケンスファイルが
生成される(図2、ステップ206)。図7にシーケン
ス生成部60による処理の詳細なアルゴリズムを示す。
図7を参照すると、まず、アウトライン木生成部20か
ら出力されたアウトライン木X1、X2と、アウトライ
ン編集部50から出力されたアウトラインの集合{OL
1’}、{OL2’}とを入力する(ステップ70
1)。ここでは、アウトラインの集合{OL1’}には
r個のアウトラインが含まれ、アウトラインの集合{O
L2’}にはs個のアウトラインが含まれるものとす
る。次に、アウトライン木X1が2個以上の子ノードを
持つかどうかを調べる(ステップ702)。アウトライ
ン木X1に2個以上の子ノードがある場合は、時刻t1
を決めて、[t0,t1]の間に図8に示したdelete flagが
オンとなっている子ノードを消滅させる処理を行うこと
とし、当該アウトラインのシーケンスを作成する(ステ
ップ703)。これにより、アウトライン木X1に対応
する対象図形に関して、最初に対象図形から抽出された
状態のアウトライン(t0に対応)と、アウトライン木
X1を整理して残された子ノードに対応するアウトライ
ンだけで構成されるアウトライン(t1に対応)の二つ
のアウトラインについてのシーケンスが作成されること
となる。
処理全体におけるアウトラインのシーケンスファイルが
生成される(図2、ステップ206)。図7にシーケン
ス生成部60による処理の詳細なアルゴリズムを示す。
図7を参照すると、まず、アウトライン木生成部20か
ら出力されたアウトライン木X1、X2と、アウトライ
ン編集部50から出力されたアウトラインの集合{OL
1’}、{OL2’}とを入力する(ステップ70
1)。ここでは、アウトラインの集合{OL1’}には
r個のアウトラインが含まれ、アウトラインの集合{O
L2’}にはs個のアウトラインが含まれるものとす
る。次に、アウトライン木X1が2個以上の子ノードを
持つかどうかを調べる(ステップ702)。アウトライ
ン木X1に2個以上の子ノードがある場合は、時刻t1
を決めて、[t0,t1]の間に図8に示したdelete flagが
オンとなっている子ノードを消滅させる処理を行うこと
とし、当該アウトラインのシーケンスを作成する(ステ
ップ703)。これにより、アウトライン木X1に対応
する対象図形に関して、最初に対象図形から抽出された
状態のアウトライン(t0に対応)と、アウトライン木
X1を整理して残された子ノードに対応するアウトライ
ンだけで構成されるアウトライン(t1に対応)の二つ
のアウトラインについてのシーケンスが作成されること
となる。
【0051】次に、アウトライン木X1の子ノードが1
個である場合(ステップ702でYesの場合)、また
はステップ703でアウトライン木X1の子ノードを1
個に整理した後(ステップ702でNoの場合)、アウ
トラインの集合{OL1’}の要素の数に合わせて、r
個のタイムパラメータti、ti+1、…、ti+r-1におけ
るアウトラインのシーケンスを作成する(ステップ70
4)。ここで、各タイムパラメータの関係は、ti≦t
i+1≦…≦ti+r-1である。また、アウトライン木X1の
子ノードが元々1個であった場合(ステップ701でY
es)は、i=1である。そして、アウトライン木X1
の子ノードを1個に整理した場合(ステップ701でN
o)は、i=2である。次に、アウトラインの集合{O
L2’}の要素の数に合わせて、s個のタイムパラメー
タti+r、ti+r+1、…、ti+r+s-1におけるアウトライ
ンのシーケンスを作成する(ステップ705)。ここ
で、各タイムパラメータの関係は、ti+r≦ti+r+1≦…
≦ti+r+s-1である。次に、アウトライン木X2が2個
以上の子ノードを持つかどうかを調べる(ステップ70
6)。アウトライン木X2に2個以上の子ノードがある
場合は、時刻ti+p+qを決めて、[ti+p+q,tn]の間に図
8に示したdelete flagがオンとなっている子ノードを
消滅させる処理の逆プロセスを行うこととし、当該アウ
トラインのシーケンスを作成する(ステップ707)。
ここで、tn=1.0である。これにより、アウトライ
ン木X2に対応する対象図形に関して、アウトライン木
X2を整理して残された子ノードに対応するアウトライ
ンだけで構成されるアウトライン(ti+p+qに対応)
と、最初に対象図形から抽出された状態のアウトライン
(tnに対応)の二つのアウトラインについてのシーケ
ンスが作成されることとなる。以上の処理により、時刻
t0、t1、…、tn(t0≦t1≦…≦tn)におけるアウ
トラインのシーケンスファイルが作成され、出力される
(ステップ708)。出力されたシーケンスファイル
は、シーケンスファイル格納部70に格納される。
個である場合(ステップ702でYesの場合)、また
はステップ703でアウトライン木X1の子ノードを1
個に整理した後(ステップ702でNoの場合)、アウ
トラインの集合{OL1’}の要素の数に合わせて、r
個のタイムパラメータti、ti+1、…、ti+r-1におけ
るアウトラインのシーケンスを作成する(ステップ70
4)。ここで、各タイムパラメータの関係は、ti≦t
i+1≦…≦ti+r-1である。また、アウトライン木X1の
子ノードが元々1個であった場合(ステップ701でY
es)は、i=1である。そして、アウトライン木X1
の子ノードを1個に整理した場合(ステップ701でN
o)は、i=2である。次に、アウトラインの集合{O
L2’}の要素の数に合わせて、s個のタイムパラメー
タti+r、ti+r+1、…、ti+r+s-1におけるアウトライ
ンのシーケンスを作成する(ステップ705)。ここ
で、各タイムパラメータの関係は、ti+r≦ti+r+1≦…
≦ti+r+s-1である。次に、アウトライン木X2が2個
以上の子ノードを持つかどうかを調べる(ステップ70
6)。アウトライン木X2に2個以上の子ノードがある
場合は、時刻ti+p+qを決めて、[ti+p+q,tn]の間に図
8に示したdelete flagがオンとなっている子ノードを
消滅させる処理の逆プロセスを行うこととし、当該アウ
トラインのシーケンスを作成する(ステップ707)。
ここで、tn=1.0である。これにより、アウトライ
ン木X2に対応する対象図形に関して、アウトライン木
X2を整理して残された子ノードに対応するアウトライ
ンだけで構成されるアウトライン(ti+p+qに対応)
と、最初に対象図形から抽出された状態のアウトライン
(tnに対応)の二つのアウトラインについてのシーケ
ンスが作成されることとなる。以上の処理により、時刻
t0、t1、…、tn(t0≦t1≦…≦tn)におけるアウ
トラインのシーケンスファイルが作成され、出力される
(ステップ708)。出力されたシーケンスファイル
は、シーケンスファイル格納部70に格納される。
【0052】次に、モルフィング・ビューア80によ
り、シーケンスファイルに基づいてモルフィングが実行
される(図2、ステップ207)。すなわち、シーケン
スファイル格納部70からシーケンスファイルを読み出
して、タイムパラメータt0、t1、…、tnに沿って再
生しながら、各アウトラインの間をモルフィングにより
滑らかに変形させる動画をディスプレイ装置に表示す
る。これにより、アウトライン木X1に対応する文字
(対象図形)からアウトライン木X2に対応する文字
(対象図形)へ、自己交錯を起こすことなく滑らかに輪
郭が変形する様子が表示される。反対に、アウトライン
木X2に対応する文字からアウトライン木X1に対応す
る文字へ変形させる場合は、タイムパラメータをt0、
t1、…、tn逆に辿って再生し、各アウトラインの間を
モルフィングにより滑らかに変形させる動画をディスプ
レイ装置に表示する。なお、モルフィング・ビューア8
0が、シーケンスファイルにおける各アウトラインの間
を滑らかに変形させる動画を作成してディスプレイ装置
に表示する処理については、従来の一般的なモルフィン
グによる画像処理と同様であるため、説明を省略する。
り、シーケンスファイルに基づいてモルフィングが実行
される(図2、ステップ207)。すなわち、シーケン
スファイル格納部70からシーケンスファイルを読み出
して、タイムパラメータt0、t1、…、tnに沿って再
生しながら、各アウトラインの間をモルフィングにより
滑らかに変形させる動画をディスプレイ装置に表示す
る。これにより、アウトライン木X1に対応する文字
(対象図形)からアウトライン木X2に対応する文字
(対象図形)へ、自己交錯を起こすことなく滑らかに輪
郭が変形する様子が表示される。反対に、アウトライン
木X2に対応する文字からアウトライン木X1に対応す
る文字へ変形させる場合は、タイムパラメータをt0、
t1、…、tn逆に辿って再生し、各アウトラインの間を
モルフィングにより滑らかに変形させる動画をディスプ
レイ装置に表示する。なお、モルフィング・ビューア8
0が、シーケンスファイルにおける各アウトラインの間
を滑らかに変形させる動画を作成してディスプレイ装置
に表示する処理については、従来の一般的なモルフィン
グによる画像処理と同様であるため、説明を省略する。
【0053】以上のように、本実施の形態によれば、対
象図形のアウトラインを線分列として取り出し、適宜、
平滑化処理を行ってからモルフィングを行うため、処理
の対象となる図形の形状に制限がない。更に、対話的に
対象図形のアウトラインにおけるサンプル点を対応付け
させる必要もない。このため、汎用的に利用することが
できるものである。特に、文字のような複雑な形状の図
形に対しても自己交錯の起こらないモルフィングを実現
でき、アウトライン・フォント等のように文字のアウト
ラインを容易に抽出できるのであれば、ディスプレイ装
置に表示されている文字をモルフィングにより変形させ
ることができ、きわめて視覚的効果の高い文書を作成す
ることができる。
象図形のアウトラインを線分列として取り出し、適宜、
平滑化処理を行ってからモルフィングを行うため、処理
の対象となる図形の形状に制限がない。更に、対話的に
対象図形のアウトラインにおけるサンプル点を対応付け
させる必要もない。このため、汎用的に利用することが
できるものである。特に、文字のような複雑な形状の図
形に対しても自己交錯の起こらないモルフィングを実現
でき、アウトライン・フォント等のように文字のアウト
ラインを容易に抽出できるのであれば、ディスプレイ装
置に表示されている文字をモルフィングにより変形させ
ることができ、きわめて視覚的効果の高い文書を作成す
ることができる。
【0054】次に、本実施の形態による具体的な実施例
を説明する。図12は本実施の形態により文字「S」を
文字「C」に変形した際の経過を示す図である。この例
では、文字「S」、文字「C」のいずれも単一のアウト
ラインで形成されているため、アウトライン木整理部3
0による処理は行われない。図中、12−1から12−
4までの間に、文字「S」に対して数回のラプラシアン
・スムージングが施されている。また、12−8から1
2−6までの間に、文字「C」に対して数回のラプラシ
アン・スムージングが施されている。実際のディスプレ
イ表示では、12−1から12−8までの変形、及びそ
の逆プロセスである12−8から12−1までの変形
が、各状態の間を滑らかな動作で移行する動画として表
示される。
を説明する。図12は本実施の形態により文字「S」を
文字「C」に変形した際の経過を示す図である。この例
では、文字「S」、文字「C」のいずれも単一のアウト
ラインで形成されているため、アウトライン木整理部3
0による処理は行われない。図中、12−1から12−
4までの間に、文字「S」に対して数回のラプラシアン
・スムージングが施されている。また、12−8から1
2−6までの間に、文字「C」に対して数回のラプラシ
アン・スムージングが施されている。実際のディスプレ
イ表示では、12−1から12−8までの変形、及びそ
の逆プロセスである12−8から12−1までの変形
が、各状態の間を滑らかな動作で移行する動画として表
示される。
【0055】図13は本実施の形態により文字「B」を
文字「A」に変形した際の経過を示す図である。図中、
13−1、13−2は、文字「B」のうち、面積最大の
バウンディング・ボックスに対応するアウトライン、す
なわち最外郭のアウトラインだけを残して、他のアウト
ラインを消滅させる様子を示す。また、13−3、13
−4は、残された最外郭のアウトラインに対してラプラ
シアン・スムージングを施したことによる変形の様子を
示す。同様に、13−7、13−8は、文字「A」のう
ち、最外郭のアウトラインだけを残して他のアウトライ
ンを消滅させる処理の逆プロセスを示す。また、13−
5、13−6は、残された最外郭のアウトライン(13
−7の状態)に対してラプラシアン・スムージングを施
したことによる変形の逆プロセスを示す。実際のディス
プレイ表示では、13−1から13−8までの変形、及
びその逆プロセスである13−8から13−1までの変
形が、各状態の間を滑らかな動作で移行する動画として
表示される。
文字「A」に変形した際の経過を示す図である。図中、
13−1、13−2は、文字「B」のうち、面積最大の
バウンディング・ボックスに対応するアウトライン、す
なわち最外郭のアウトラインだけを残して、他のアウト
ラインを消滅させる様子を示す。また、13−3、13
−4は、残された最外郭のアウトラインに対してラプラ
シアン・スムージングを施したことによる変形の様子を
示す。同様に、13−7、13−8は、文字「A」のう
ち、最外郭のアウトラインだけを残して他のアウトライ
ンを消滅させる処理の逆プロセスを示す。また、13−
5、13−6は、残された最外郭のアウトライン(13
−7の状態)に対してラプラシアン・スムージングを施
したことによる変形の逆プロセスを示す。実際のディス
プレイ表示では、13−1から13−8までの変形、及
びその逆プロセスである13−8から13−1までの変
形が、各状態の間を滑らかな動作で移行する動画として
表示される。
【0056】図14は本実施の形態により文字「人」を
文字「山」に変形した際の経過を示す図である。この例
では、文字「人」、文字「山」のいずれも単一のアウト
ラインで形成されているため、アウトライン木整理部3
0による処理は行われない。図中、14−1から14−
3までの間に、文字「人」に対して数回のラプラシアン
・スムージングが施されている。また、14−8から1
4−4までの間に、文字「山」に対して数回のラプラシ
アン・スムージングが施されている。実際のディスプレ
イ表示では、14−1から14−8までの変形、及びそ
の逆プロセスである14−8から14−1までの変形
が、各状態の間を滑らかな動作で移行する動画として表
示される。
文字「山」に変形した際の経過を示す図である。この例
では、文字「人」、文字「山」のいずれも単一のアウト
ラインで形成されているため、アウトライン木整理部3
0による処理は行われない。図中、14−1から14−
3までの間に、文字「人」に対して数回のラプラシアン
・スムージングが施されている。また、14−8から1
4−4までの間に、文字「山」に対して数回のラプラシ
アン・スムージングが施されている。実際のディスプレ
イ表示では、14−1から14−8までの変形、及びそ
の逆プロセスである14−8から14−1までの変形
が、各状態の間を滑らかな動作で移行する動画として表
示される。
【0057】図15は本実施の形態により文字「青」を
文字「杉」に変形した際の経過を示す図である。図中、
15−1から15−4までは、文字「青」のうち、面積
最大のバウンディング・ボックスに対応するアウトライ
ンだけを残して、他のアウトラインを消滅させる様子を
示す。ここでは、文字「青」の上半分が残り、下の月の
部分が消滅される。また、15−5、15−6は、残さ
れた最外郭のアウトラインに対してラプラシアン・スム
ージングを施したことによる変形の様子を示す。同様
に、15−10から15−12までは、文字「杉」のう
ち、面積最大のバウンディング・ボックスに対応する木
偏の部分のアウトラインだけを残して他のアウトライン
を消滅させる処理の逆プロセスを示す。また、15−7
から15−9までは、残された木偏部分のアウトライン
(15−10の状態)に対してラプラシアン・スムージ
ングを施したことによる変形の逆プロセスを示す。実際
のディスプレイ表示では、15−1から15−12まで
の変形、及びその逆プロセスである15−12から15
−1までの変形が、各状態の間を滑らかな動作で移行す
る動画として表示される。
文字「杉」に変形した際の経過を示す図である。図中、
15−1から15−4までは、文字「青」のうち、面積
最大のバウンディング・ボックスに対応するアウトライ
ンだけを残して、他のアウトラインを消滅させる様子を
示す。ここでは、文字「青」の上半分が残り、下の月の
部分が消滅される。また、15−5、15−6は、残さ
れた最外郭のアウトラインに対してラプラシアン・スム
ージングを施したことによる変形の様子を示す。同様
に、15−10から15−12までは、文字「杉」のう
ち、面積最大のバウンディング・ボックスに対応する木
偏の部分のアウトラインだけを残して他のアウトライン
を消滅させる処理の逆プロセスを示す。また、15−7
から15−9までは、残された木偏部分のアウトライン
(15−10の状態)に対してラプラシアン・スムージ
ングを施したことによる変形の逆プロセスを示す。実際
のディスプレイ表示では、15−1から15−12まで
の変形、及びその逆プロセスである15−12から15
−1までの変形が、各状態の間を滑らかな動作で移行す
る動画として表示される。
【0058】図16は本実施の形態をフォントではなく
一般的な閉曲線に適用したものである。図示の例では、
犬の輪郭形状を模した図形(アウトライン)から鳥の輪
郭形状を模した図形(アウトライン)に変形した際の経
過を示す図である。この例では、いずれの図形も単一の
アウトラインで形成されているため、アウトライン木整
理部30による処理は行われない。図中、16−1から
16−4までの間に、犬の図形のアウトラインに対して
数回のラプラシアン・スムージングが施されている。ま
た、16−8から16−5までの間に、鳥の図形のアウ
トラインに対して数回のラプラシアン・スムージングが
施されている。実際のディスプレイ表示では、16−1
から16−8までの変形、及びその逆プロセスである1
6−8から16−1までの変形が、各状態の間を滑らか
な動作で移行する動画として表示される。
一般的な閉曲線に適用したものである。図示の例では、
犬の輪郭形状を模した図形(アウトライン)から鳥の輪
郭形状を模した図形(アウトライン)に変形した際の経
過を示す図である。この例では、いずれの図形も単一の
アウトラインで形成されているため、アウトライン木整
理部30による処理は行われない。図中、16−1から
16−4までの間に、犬の図形のアウトラインに対して
数回のラプラシアン・スムージングが施されている。ま
た、16−8から16−5までの間に、鳥の図形のアウ
トラインに対して数回のラプラシアン・スムージングが
施されている。実際のディスプレイ表示では、16−1
から16−8までの変形、及びその逆プロセスである1
6−8から16−1までの変形が、各状態の間を滑らか
な動作で移行する動画として表示される。
【0059】上記の動作例及び実施例では、二つの対象
図形を1対1で対応させて一方から他方へ変形させる場
合について説明したが、本実施の形態を用いて、m個の
文字列とn個の文字列をm対nで対応させて変形させる
ことも可能である。この場合、任意のm個の文字を要素
とする文字列と任意のn個の文字を要素とする文字列と
を処理対象として入力し、当該二つの文字列の要素であ
る各文字を1対1で対応させる。任意のm個の文字列と
任意のn個の文字列であるから、二つの文字列において
文字の数が異なる場合がある。この場合は、文字が不足
している方の文字列に、不足している文字の数だけ、デ
ィスプレイ装置に表示されない円を設けて、他方の文字
列における余っている文字に対応させる。そして、対応
付けられた要素ごとに、上述した1対1の場合と同様に
モルフィングを行う。このようにすれば、一方の文字列
から他方の文字列へ滑らかに変形させることができる。
図形を1対1で対応させて一方から他方へ変形させる場
合について説明したが、本実施の形態を用いて、m個の
文字列とn個の文字列をm対nで対応させて変形させる
ことも可能である。この場合、任意のm個の文字を要素
とする文字列と任意のn個の文字を要素とする文字列と
を処理対象として入力し、当該二つの文字列の要素であ
る各文字を1対1で対応させる。任意のm個の文字列と
任意のn個の文字列であるから、二つの文字列において
文字の数が異なる場合がある。この場合は、文字が不足
している方の文字列に、不足している文字の数だけ、デ
ィスプレイ装置に表示されない円を設けて、他方の文字
列における余っている文字に対応させる。そして、対応
付けられた要素ごとに、上述した1対1の場合と同様に
モルフィングを行う。このようにすれば、一方の文字列
から他方の文字列へ滑らかに変形させることができる。
【0060】文字とディスプレイ装置に表示されない円
との間の変形については、全般的な処理は文字どうしの
変形の場合と同様である。ただし、円に対してはラプラ
シアン・スムージングを施す必要はない。また、頂点調
整部40による処理において、文字(対象図形)のアウ
トラインにおける頂点に対応する点を当該円に追加する
場合、次のようにして点の座標を求める。すなわち、文
字のアウトラインの頂点を特定するパラメータpに対応
するパラメータとして、下記の数4に示すパラメータθ
を設定する。
との間の変形については、全般的な処理は文字どうしの
変形の場合と同様である。ただし、円に対してはラプラ
シアン・スムージングを施す必要はない。また、頂点調
整部40による処理において、文字(対象図形)のアウ
トラインにおける頂点に対応する点を当該円に追加する
場合、次のようにして点の座標を求める。すなわち、文
字のアウトラインの頂点を特定するパラメータpに対応
するパラメータとして、下記の数4に示すパラメータθ
を設定する。
【数4】 そして、当該パラメータpで特定された頂点に対応する
当該円における点の座標(xp, yp)を、当該円の半径を
r、中心座標を(x0, y0)として、下記の数5で求め
る。
当該円における点の座標(xp, yp)を、当該円の半径を
r、中心座標を(x0, y0)として、下記の数5で求め
る。
【数5】 以上のようにして、円の上に設けられた点と文字のアウ
トラインの頂点とが対応付けられるので、モルフィング
を行うことが可能となる。
トラインの頂点とが対応付けられるので、モルフィング
を行うことが可能となる。
【0061】実際のディスプレイ表示では、文字どうし
が対応付けられている箇所では、一方の文字から他方の
文字へ変形する。また、文字と上述したディスプレイ装
置に表示されない円とが対応付けられている箇所では、
文字が次第に小さくなって消えたり、何もないスペース
から文字が現れるように表示されることとなる。これ
は、視覚的には、上述した複数のアウトラインで構成さ
れる文字において、一つのアウトラインを残して他のア
ウトラインを消滅させる場合(図13及び図15参照)
と同様である。なお、ここでは複数の文字を含む文字列
どうしをモルフィングにより変形させる場合について説
明したが、文字以外の任意の図形を要素として含む図形
列を処理対象とすることもできる。
が対応付けられている箇所では、一方の文字から他方の
文字へ変形する。また、文字と上述したディスプレイ装
置に表示されない円とが対応付けられている箇所では、
文字が次第に小さくなって消えたり、何もないスペース
から文字が現れるように表示されることとなる。これ
は、視覚的には、上述した複数のアウトラインで構成さ
れる文字において、一つのアウトラインを残して他のア
ウトラインを消滅させる場合(図13及び図15参照)
と同様である。なお、ここでは複数の文字を含む文字列
どうしをモルフィングにより変形させる場合について説
明したが、文字以外の任意の図形を要素として含む図形
列を処理対象とすることもできる。
【0062】以上の動作例及び実施例では、二次元の図
形を対象としてモルフィングを行う方法について説明し
たが、本実施の形態は、3次元画像に対しても応用する
ことができる。すなわち、3次元画像を、ポリゴン等を
用いて近似し、表面を線分列で表現すれば、本実施の形
態による平滑化処理を行って、自己交錯のないモルフィ
ング処理を行うことが可能となる。
形を対象としてモルフィングを行う方法について説明し
たが、本実施の形態は、3次元画像に対しても応用する
ことができる。すなわち、3次元画像を、ポリゴン等を
用いて近似し、表面を線分列で表現すれば、本実施の形
態による平滑化処理を行って、自己交錯のないモルフィ
ング処理を行うことが可能となる。
【0063】
【発明の効果】以上説明したように、本発明によれば、
多種多様な図形の輪郭線に対してベクトル空間でモルフ
ィングによる画像処理ができるようにすることができ
る。具体的には、複数の輪郭線で形成された図形に対し
てもモルフィングを行うことができる。また、凹凸の多
い図形に対しても自己交錯を起こすことなくモルフィン
グを行うことができる。
多種多様な図形の輪郭線に対してベクトル空間でモルフ
ィングによる画像処理ができるようにすることができ
る。具体的には、複数の輪郭線で形成された図形に対し
てもモルフィングを行うことができる。また、凹凸の多
い図形に対しても自己交錯を起こすことなくモルフィン
グを行うことができる。
【0064】また、コンピュータのディスプレイ装置上
に表示された文字や文字列に対してもモルフィングによ
る画像処理を行うことができる。
に表示された文字や文字列に対してもモルフィングによ
る画像処理を行うことができる。
【図1】 本実施の形態におけるモルフィング処理装置
の全体構成を説明するための図である。
の全体構成を説明するための図である。
【図2】 本実施の形態のモルフィング処理装置による
全体的な処理の流れを説明するフローチャートである。
全体的な処理の流れを説明するフローチャートである。
【図3】 アウトライン木生成部20による処理の詳細
なアルゴリズムを説明するフローチャートである。
なアルゴリズムを説明するフローチャートである。
【図4】 アウトライン木整理部30による処理の詳細
なアルゴリズムを説明するフローチャートである。
なアルゴリズムを説明するフローチャートである。
【図5】 頂点調整部40による処理の詳細なアルゴリ
ズムを説明するフローチャートである。
ズムを説明するフローチャートである。
【図6】 アウトライン編集部50による処理の詳細な
アルゴリズムを説明するフローチャートである。
アルゴリズムを説明するフローチャートである。
【図7】 シーケンス生成部60による処理の詳細なア
ルゴリズムを説明するフローチャートである。
ルゴリズムを説明するフローチャートである。
【図8】 アウトライン木のノードに格納されるデータ
を例示して説明する図である。
を例示して説明する図である。
【図9】 文字「B」を対象図形とした場合のアウトラ
イン木を説明する図である。
イン木を説明する図である。
【図10】 文字「杉」を対象図形とした場合のアウト
ライン木を説明する図である。
ライン木を説明する図である。
【図11】 アウトラインを消滅させる方法をC言語風
に記述したものである。
に記述したものである。
【図12】 文字「S」を文字「C」に変形した際の経
過を説明する図である。
過を説明する図である。
【図13】 文字「B」を文字「A」に変形した際の経
過を説明する図である。
過を説明する図である。
【図14】 文字「人」を文字「山」に変形した際の経
過を説明する図である。
過を説明する図である。
【図15】 文字「青」を文字「杉」に変形した際の経
過を説明する図である。
過を説明する図である。
【図16】 犬の輪郭形状を模したアウトラインを鳥の
輪郭形状を模したアウトラインに変形した際の経過を説
明する図である。
輪郭形状を模したアウトラインに変形した際の経過を説
明する図である。
10…アウトライン抽出部、20…アウトライン木生成
部、30…アウトライン木整理部、40…頂点調整部、
50…アウトライン編集部、60…シーケンス生成部、
70…シーケンスファイル格納部、80…モルフィング
・ビューア
部、30…アウトライン木整理部、40…頂点調整部、
50…アウトライン編集部、60…シーケンス生成部、
70…シーケンスファイル格納部、80…モルフィング
・ビューア
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平11−219445(JP,A) 特開 平10−320571(JP,A) 特開 平8−255265(JP,A) 特開 平8−223556(JP,A) 特開 平8−55241(JP,A) 特開 平6−309430(JP,A) 特開 平5−266212(JP,A) 特開 平5−258018(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06T 13/00 JICSTファイル(JOIS)
Claims (19)
- 【請求項1】 二つの図形を一方から他方へ滑らかに変
形させるモルフィングを行うモルフィング処理装置にお
いて、 モルフィング処理の対象となる二つの対象図形を入力
し、当該対象図形のアウトラインの集合を抽出するアウ
トライン抽出部と、 前記アウトライン抽出部により前記対象図形ごとに抽出
された前記アウトラインの集合のうち、それぞれ特定の
一つのアウトラインのみを残して他のアウトラインを消
滅させるアウトライン整理部と、 前記アウトライン整理部により残された前記対象図形ご
との二つのアウトラインに対して、モルフィングの際に
自己交錯を起こさないように平滑化処理を施す平滑化処
理部と、 前記平滑化処理部による平滑化処理の経過を反映させて
モルフィングを実行するモルフィング実行部とを備える
ことを特徴とするモルフィング処理装置。 - 【請求項2】 前記アウトライン整理部は、 前記アウトライン抽出部により前記対象図形ごとに抽出
された前記アウトラインに関して、当該アウトラインに
対応したノードを持ち、当該アウトライン相互の関係を
反映させたアウトライン木を生成するアウトライン木生
成部と、 予め設定された規則に基づいて、前記アウトライン木生
成部により前記対象図形ごとに生成された前記アウトラ
イン木におけるノードのうち、特定の一つのノードのみ
を残して他のノードを削除するアウトライン木整理部と
を備え、 前記平滑化処理部は、前記アウトライン整理部の処理に
おいて残された前記ノードに対応する前記アウトライン
を対象として、平滑化処理を行うことを特徴とする請求
項1に記載のモルフィング処理装置。 - 【請求項3】 前記アウトライン木生成部は、前記アウ
トライン抽出部により抽出された前記対象図形のアウト
ラインを入力し、前記対象図形を構成する各アウトライ
ンごとに当該アウトラインを囲むバウンディング・ボッ
クスを設定し、当該バウンディング・ボックスの相互関
係に基づいてアウトライン木を生成することを特徴とす
る請求項2に記載のモルフィング処理装置。 - 【請求項4】 前記アウトライン抽出部は、前記対象図
形のアウトラインに曲線が含まれている場合に、当該曲
線部分を細分化して線分近似することを特徴とする請求
項1に記載のモルフィング処理装置。 - 【請求項5】 前記アウトライン抽出部は、前記対象図
形としてアウトライン・フォントによる文字を入力し、
当該文字のアウトラインを抽出することを特徴とする請
求項1に記載のモルフィング処理装置。 - 【請求項6】 前記アウトライン抽出部は、前記対象図
形としてトゥルータイプフォントによる文字を入力し、
当該文字のアウトラインを抽出することを特徴とする請
求項1に記載のモルフィング処理装置。 - 【請求項7】 前記平滑化処理部は、前記平滑化処理と
して、前記アウトラインにラプラシアン・スムージング
を施すことを特徴とする請求項1に記載のモルフィング
処理装置。 - 【請求項8】 前記モルフィング実行部は、 前記平滑化処理部による前記平滑化処理の過程で生成さ
れたアウトラインを、タイムパラメータに沿って並べた
シーケンスファイルを生成するシーケンス生成部と、 前記シーケンス生成部により生成された前記シーケンス
ファイルに基づいてモルフィングを実行するモルフィン
グ実行部とを備えることを特徴とする請求項1に記載の
モルフィング処理装置。 - 【請求項9】 二つの図形を一方から他方へ滑らかに変
形させるモルフィングを行うモルフィング処理装置にお
いて、 モルフィング処理の対象となる二つの対象図形のアウト
ラインを線分列として抽出するアウトライン抽出部と、 前記アウトライン抽出部により対象図形ごとに抽出され
たアウトラインに関して、当該アウトラインに対応した
ノードを持ち、当該アウトライン相互の関係を反映させ
たアウトライン木を生成するアウトライン木生成部と、 前記アウトライン木生成部により対象図形ごとに生成さ
れた前記アウトライン木におけるノードのうち、特定の
一つのノードのみを残して他のノードを削除するアウト
ライン木整理部と、 前記アウトライン木整理部の処理を経た後に前記アウト
ライン木において残さ れた前記ノードに対応する二つの
前記アウトラインにおける頂点の数を一致させる頂点調
整部と、 前記頂点調整部により頂点の数を一致させた二つの前記
アウトラインに対して、モルフィングの際に自己交錯を
起こさないように平滑化処理を施すアウトライン編集部
と、 前記アウトライン編集部による平滑化処理の過程で生成
されたアウトラインに関して、タイムパラメータに沿っ
たシーケンスファイルを生成するシーケンス生成部と、 前記シーケンス生成部により生成された前記シーケンス
ファイルに基づいてモルフィングを実行し、ディスプレ
イ表示を行う表示制御部とを含むことを特徴とするモル
フィング処理装置。 - 【請求項10】 前記アウトライン木生成部は、 前記対象図形を構成するアウトラインごとに当該アウト
ラインを囲むバウンディング・ボックスを設定し、 前記対象図形の全体を囲むバウンディング・ボックスを
生成し、当該バウンディング・ボックスに対応させてア
ウトライン木のルート・ノードを生成し、 前記アウトラインごとに生成された前記バウンディング
・ボックスを一つずつ選択し、選択された前記バウンデ
ィング・ボックスの前記アウトラインに対応する子ノー
ドを生成して前記ルート・ノードの下に挿入すると共
に、 生成された所定の子ノードに対応する前記アウトライン
を囲む前記バウンディング・ボックスが、既に前記ルー
ト・ノードの下に挿入されている他の子ノードに対応す
る前記アウトラインを囲む前記バウンディング・ボック
スに完全に含まれる場合に、当該子ノードを当該他の子
ノードの下に再帰的に挿入することを特徴とする請求項
9に記載のモルフィング処理装置。 - 【請求項11】 前記アウトライン木整理部は、 所定の規則に基づいてどの前記ノードを残すかを決定
し、 他の前記ノードに対応する前記アウトラインの各頂点を
任意の一点に向けて移動させて、最終的にディスプレイ
に表示しない点とすることを特徴とする請求項9に記載
のモルフィング処理装置。 - 【請求項12】 前記頂点調整部は、 前記二つのアウトラインにおける頂点列を、特定の位置
を先頭にし、かつ一定の方向に前記アウトラインを周回
するように並べ、 並べ替えられた前記頂点列における各頂点の座標値を、
一定の範囲内の値を取るパラメータで表現し、 前記二つのアウトラインにおけるパラメータ化された頂
点列を比較し、一方のアウトラインにおけるパラメータ
化された頂点を用いて他方のアウトラインに頂点を線形
補間する操作を相互に行うことを特徴とする請求項9に
記載のモルフィング処理装置。 - 【請求項13】 前記頂点調整部は、前記パラメータ化
された頂点列を用いて二つの前記アウトラインに頂点を
線形補間する操作において、前記パラメータに基づい
て、一方のアウトラインに含まれる頂点に対応する点を
他方のアウトラインに追加する操作を相互に行うことを
特徴とする請求項12に記載のモルフィング処理装置。 - 【請求項14】 コンピュータに実行させるプログラム
を当該コンピュータの入力手段が読取可能に記憶した記
憶媒体において、 前記プログラムは、 データファイル記憶手段からモルフィング処理の対象と
なる二つの対象図形を読み出して入力し、当該対象図形
のアウトラインを線分列として抽出する手段と、 前記対象図形ごとに抽出されたアウトラインに関して、
当該アウトラインに対応したノードを持ち、当該アウト
ライン相互の関係を反映させたアウトライン木を生成す
る手段と、 前記対象図形ごとに生成された前記アウトライン木にお
けるノードのうち、特定の一つのノードのみを残して他
のノードを削除する手段と、 前記対象図形ごとの前記アウトライン木において残され
た前記ノードに対応する二つの前記アウトラインにおけ
る頂点の数を一致させる手段と、 頂点の数を一致させた二つの前記アウトラインに対し
て、モルフィングの際に自己交錯を起こさないように平
滑化処理を施す手段と、 前記平滑化処理の過程で生成されたアウトラインに関し
て、タイムパラメータに沿ったシーケンスファイルを生
成し、シーケンスファイル記憶手段に格納する手段と、 前記シーケンスファイル記憶手段から前記シーケンスフ
ァイルを読み出し、当該シーケンスファイルに基づいて
ディスプレイに表示された図形のモルフィングを行う手
段として、 前記コンピュータを機能させることを特徴とする記憶媒
体。 - 【請求項15】 ディスプレイ表示された図形を滑らか
に変形させるモルフィングを行うモルフィング処理装置
において、 図形データを格納した記憶手段からモルフィング処理の
対象となる対象図形を入力し、当該対象図形のアウトラ
インの集合を抽出するアウトライン抽出部と、 前記アウトライン抽出部により前記対象図形ごとに抽出
された前記アウトラインの集合のうち、それぞれ特定の
一つのアウトラインのみを残して他のアウトラインを消
滅させるアウトライン整理部と、 前記アウトライン整理部により残された前記対象図形ご
との二つのアウトラインに対して、モルフィングの際に
自己交錯を起こさないように平滑化処理を施す平滑化処
理部と、 前記平滑化処理部による平滑化処理の経過を反映させて
モルフィングを実行するモルフィング実行部とを備え、 前記アウトライン抽出部は、 前記記憶手段から任意のm個の図形を要素とする図形列
と任意のn個の図形を要素とする図形列とを処理対象と
して入力し、当該二つの図形列の要素を1対1で対応さ
せると共に、 前記二つの図形列における要素の数が同一でない場合
は、要素が不足している方の前記図形列に、不足してい
る要素の数だけ前記ディスプレイ装置に表示されない円
を設けて、他の前記図形列における余っている要素に対
応させ、 対応付けられた前記要素ごとにモルフィングを行うこと
により、一方の図形列から他方の図形列へ滑らかに変形
させることを特徴とするモルフィング処理装置。 - 【請求項16】 二つの文字を一方から他方へ滑らかに
変形させるモルフィングを行うモルフィング処理装置に
おいて、 モルフィング処理の対象となる二つの対象文字を入力
し、当該対象文字のアウトラインの集合を抽出するアウ
トライン抽出部と、 前記アウトライン抽出部により前記対象文字ごとに抽出
された前記アウトラインの集合のうち、それぞれ特定の
一つのアウトラインのみを残して他のアウトラインを消
滅させるアウトライン整理部と、 前記アウトライン整理部により残された前記対象文字ご
との二つのアウトラインに対して、モルフィングの際に
自己交錯を起こさないように平滑化処理を施す平滑化処
理部と、 前記平滑化処理部による平滑化処理の経過を反映させて
モルフィングを実行するモルフィング実行部とを備える
ことを特徴とするモルフィング処理装置。 - 【請求項17】 二つのフォントを一方から他方へ滑ら
かに変形させるモルフィングを行うモルフィング処理装
置において、 モルフィング処理の対象となる二つの対象フォントを入
力し、当該対象フォントのアウトラインの集合を抽出す
るアウトライン抽出部と、 前記アウトライン抽出部により前記対象フォントごとに
抽出された前記アウトラインの集合のうち、それぞれ特
定の一つのアウトラインのみを残して他のアウトライン
を消滅させるアウトライン整理部と、 前記アウトライン整理部により残された前記対象フォン
トごとの二つのアウトラインに対して、モルフィングの
際に自己交錯を起こさないように平滑化処理を施す平滑
化処理部と、 前記平滑化処理部による平滑化処理の経過を反映させて
モルフィングを実行するモルフィング実行部とを備える
ことを特徴とするモルフィング処理装置。 - 【請求項18】 二つの図形を一方から他方へ滑らかに
変形させるモルフィングを行うモルフィング処理装置に
おいて、 モルフィング処理の対象となる二つの対象図形に関して
当該対象図形を形成するアウトラインの集合を入力し、
当該アウトラインの各集合に対して、それぞれ特定の一
つのアウトラインのみを残して他のアウトラインを消滅
させるアウトライン整理部と、 前記アウトライン整理部により残された前記対象図形ご
との二つのアウトラインに対して、モルフィングの際に
自己交錯を起こさないように平滑化処理を施す平滑化処
理部と、 前記平滑化処理部による平滑化処理の経過を反映させて
モルフィングを実行するモルフィング実行部とを備える
ことを特徴とするモルフィング処理装置。 - 【請求項19】 二つの図形を一方から他方へ滑らかに
変形させる動画を作成する動画作成装置において、 画像処理の対象となる二つの対象図形を入力し、当該対
象図形のアウトラインの集合を抽出するアウトライン抽
出部と、 前記アウトライン抽出部により前記対象図形ごとに抽出
された前記アウトラインの集合のうち、それぞれ特定の
一つのアウトラインのみを残して他のアウトラインを消
滅させるアウトライン整理部と、 前記アウトライン整理部により残された前記対象図形ご
との二つのアウトラインに対して、一方のアウトライン
から他方のアウトラインへ変形する際に自己交錯を起こ
さないように平滑化処理を施す平滑化処理部と、 前記平滑化処理部による平滑化処理の経過を反映させ
て、前記二つの対象図形を一方から他方へ滑らかに変形
させる動画を作成する画像処理部とを備えることを特徴
とする動画作成装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35372099A JP3316758B2 (ja) | 1999-12-13 | 1999-12-13 | モルフィング処理装置、記憶媒体、および動画作成装置 |
US09/734,137 US6573899B2 (en) | 1999-12-13 | 2000-12-11 | Morphing processing apparatus, method, storage medium, program transmission apparatus, and animation creation apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35372099A JP3316758B2 (ja) | 1999-12-13 | 1999-12-13 | モルフィング処理装置、記憶媒体、および動画作成装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001175881A JP2001175881A (ja) | 2001-06-29 |
JP3316758B2 true JP3316758B2 (ja) | 2002-08-19 |
Family
ID=18432772
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP35372099A Expired - Fee Related JP3316758B2 (ja) | 1999-12-13 | 1999-12-13 | モルフィング処理装置、記憶媒体、および動画作成装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6573899B2 (ja) |
JP (1) | JP3316758B2 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2352076B (en) * | 1999-07-15 | 2003-12-17 | Mitsubishi Electric Inf Tech | Method and apparatus for representing and searching for an object in an image |
KR100427180B1 (ko) * | 2001-12-12 | 2004-04-14 | 한국전자통신연구원 | 기하도형의 모핑방법 |
US20040025033A1 (en) * | 2002-08-02 | 2004-02-05 | Todd Luke B. | System and method for preventing unauthorized installation, use and reproduction of software |
KR100501907B1 (ko) | 2002-12-23 | 2005-07-25 | 한국전자통신연구원 | 방향지도를 이용한 기하도형의 모핑 방법 |
JP4630531B2 (ja) * | 2003-10-03 | 2011-02-09 | 株式会社メガチップス | 3d文字メールシステム |
US20050168485A1 (en) * | 2004-01-29 | 2005-08-04 | Nattress Thomas G. | System for combining a sequence of images with computer-generated 3D graphics |
WO2006053271A1 (en) * | 2004-11-12 | 2006-05-18 | Mok3, Inc. | Method for inter-scene transitions |
JP4760349B2 (ja) | 2005-12-07 | 2011-08-31 | ソニー株式会社 | 画像処理装置および画像処理方法、並びに、プログラム |
US7721209B2 (en) * | 2008-09-08 | 2010-05-18 | Apple Inc. | Object-aware transitions |
US20100064222A1 (en) | 2008-09-08 | 2010-03-11 | Apple Inc. | Object-aware transitions |
ES2651317T3 (es) | 2011-03-01 | 2018-01-25 | Dolphin Imaging Systems, Llc | Sistema y método para generar cambio de perfil utilizando datos de monitorización cefalométricos |
US8650005B2 (en) | 2011-04-07 | 2014-02-11 | Dolphin Imaging Systems, Llc | System and method for three-dimensional maxillofacial surgical simulation and planning |
US8417004B2 (en) | 2011-04-07 | 2013-04-09 | Dolphin Imaging Systems, Llc | System and method for simulated linearization of curved surface |
FR2991089B1 (fr) * | 2012-05-22 | 2014-05-16 | IFP Energies Nouvelles | Procede d'exploitation d'un milieu souterrain selon un schema d'exploitation defini par une representation optimisee |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5428717A (en) * | 1991-12-30 | 1995-06-27 | Xerox Corporation | Methods for converting concave polyhedra to their convex hulls |
US5448686A (en) * | 1992-01-02 | 1995-09-05 | International Business Machines Corporation | Multi-resolution graphic representation employing at least one simplified model for interactive visualization applications |
JPH06223147A (ja) * | 1993-01-27 | 1994-08-12 | Fujitsu Ltd | 図形表示処理システム |
JP3341170B2 (ja) * | 1993-04-26 | 2002-11-05 | カシオ計算機株式会社 | 図形形状変化装置 |
JP2739434B2 (ja) * | 1994-08-12 | 1998-04-15 | 株式会社エイ・ティ・アール通信システム研究所 | コンピュータグラフィックスにおける動作生成方法 |
JP2792454B2 (ja) * | 1995-02-09 | 1998-09-03 | 日本電気株式会社 | 動画検索システム |
JPH08255265A (ja) * | 1995-03-16 | 1996-10-01 | Fujitsu Ltd | 図形編集装置 |
US6014146A (en) * | 1997-05-05 | 2000-01-11 | Mitsubishi Electric Information Technology Center America, Inc. (Ita) | Shape manipulation system |
JPH11219445A (ja) * | 1998-02-03 | 1999-08-10 | Matsushita Electric Ind Co Ltd | 画像表示装置、画像表示方法、および画像表示プログラム記録媒体 |
JP2000020742A (ja) * | 1998-06-30 | 2000-01-21 | Toshiba Corp | 映像再生装置及び映像再生方法、並びに記録媒体 |
-
1999
- 1999-12-13 JP JP35372099A patent/JP3316758B2/ja not_active Expired - Fee Related
-
2000
- 2000-12-11 US US09/734,137 patent/US6573899B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6573899B2 (en) | 2003-06-03 |
JP2001175881A (ja) | 2001-06-29 |
US20010007451A1 (en) | 2001-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0950988B1 (en) | Three-Dimensional image generating apparatus | |
Hsu et al. | Drawing and animation using skeletal strokes | |
JP3316758B2 (ja) | モルフィング処理装置、記憶媒体、および動画作成装置 | |
Lu et al. | Decobrush: Drawing structured decorative patterns by example | |
US8249365B1 (en) | Methods and apparatus for directional texture generation using sample-based texture synthesis | |
US6504545B1 (en) | Animated font characters | |
US7307633B2 (en) | Statistical dynamic collisions method and apparatus utilizing skin collision points to create a skin collision response | |
US7412360B2 (en) | Method and apparatus for shape deformation and placement | |
Grabli et al. | Programmable style for NPR line drawing | |
US20150325022A1 (en) | Technique for processing a character string for graphical representation on a man/machine interface | |
EP0792499A1 (en) | Computer system for reconstructing 3d object using transormations between screen and model space | |
US6897863B2 (en) | System and method for hidden object removal | |
Liu et al. | Learning implicit glyph shape representation | |
KR102181161B1 (ko) | 영상 처리 방법 및 장치 | |
KR102573822B1 (ko) | 벡터 이미지의 화풍 변환 및 재생 방법 | |
Di Fiore et al. | A multi-level sketching tool for pencil-and-paper animation | |
Zheng et al. | Example-based brushes for coherent stylized renderings | |
JP4425734B2 (ja) | 隠線を消去したベクトルイメージを提供する方法 | |
Draper et al. | A Gestural Interface to Free-Form Deformation. | |
Rohmer et al. | Real-time continuous self-replicating details for shape deformation | |
Xie et al. | DragD3D: Vertex-based Editing for Realistic Mesh Deformations using 2D Diffusion Priors | |
Satherley et al. | Hypertexturing complex volume objects | |
Sumi et al. | A production method of reusing existing 2D animation sequences | |
EP1636759A1 (en) | Statistical dynamic collisions method and apparatus | |
JP3973868B2 (ja) | パラメトリック・モデリング・システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |