JP4156291B2 - アニメーション作成/編集装置 - Google Patents

アニメーション作成/編集装置 Download PDF

Info

Publication number
JP4156291B2
JP4156291B2 JP2002218621A JP2002218621A JP4156291B2 JP 4156291 B2 JP4156291 B2 JP 4156291B2 JP 2002218621 A JP2002218621 A JP 2002218621A JP 2002218621 A JP2002218621 A JP 2002218621A JP 4156291 B2 JP4156291 B2 JP 4156291B2
Authority
JP
Japan
Prior art keywords
command
animation
operation command
editing
interference
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002218621A
Other languages
English (en)
Other versions
JP2004062434A (ja
Inventor
幸彦 古本
直行 野崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2002218621A priority Critical patent/JP4156291B2/ja
Priority to US10/626,658 priority patent/US20040119717A1/en
Publication of JP2004062434A publication Critical patent/JP2004062434A/ja
Application granted granted Critical
Publication of JP4156291B2 publication Critical patent/JP4156291B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/21Collision detection, intersection

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、現実世界を反映するアニメーションの作成や編集に好適な装置及びプログラムに関する。
【0002】
【従来の技術】
例えば、装置の組み立てのように動きのある事象を説明する場合、従来は複数の図を使用していたが、近年はアニメーションによる動画を利用するようになってきている。
【0003】
アニメーションは、連続する大量の画像を高速に切り替えることにより動きを表現している。アニメーションを作成する場合は、通常、一度作成したアニメーションを繋ぎ合わせたり、アニメーションの前後を入れ替えたりするなどの編集作業が発生する。従来のアニメーション編集システムでは、編集対象のアニメーションに対してアニメーションを構成する画像を挿入/削除/移動することによって、編集作業を実施している。
【0004】
【発明が解決しようとする課題】
従来のアニメーションは、大量の画像の集合でしかないため、例えば、装置の組み立て手順を説明するアニメーションを作成する場合、矛盾するシーン(例えば、ある部位の蓋を閉じたシーンの後に その部位に部品を組み込むシーンが続く)や不連続なシーン(例えば、組み立て対象の装置に部品を近づけたシーンの直後に、既にその部品が該装置に付設しているシーンが続く)を作成可能であった。
【0005】
しかしながら、ゲームや漫画などのような虚構が許される世界とは異なり、装置の組み立て手順などのような現実世界の出来事を説明するアニメーションにおいては、上記のような矛盾したシーンや不連続なシーンが存在することは望ましくない。
【0006】
しかしながら、従来のアニメーション編集システムは、そのような矛盾シーンや不連続なシーンを作成しようとした場合、それを排除したり解消したりするサポート機能を備えていなかった。このため、一度作成したアニメーションを再生し、そのアニメーションを目視しながら上記のようなシーンをチェックする編集作業が必要であった。
【0007】
本発明の目的は、現実世界を忠実に反映するアニメーションを作成する際に、現実世界とは矛盾するシーンや不自然に見える不連続シーンなどを排除したり解消するアニメーション作成/編集装置を提供することである。
【0008】
【課題を解決するための手段】
本発明の第1の態様のアニメーション作成/編集装置は、三次元モデル格納手段及び操作命令編集手段を備えている。
【0009】
三次元モデル格納手段は、アニメーションの画像を構成するオブジェクトを三次元モデル情報として格納する。操作命令編集手段は、前記オブジェクトに対する操作命令であるオブジェクト操作命令と視点操作命令から構成される操作命令系列を作成/編集することによりアニメーションの作成/編集を行なう。
【0010】
このように、第1の態様のアニメーション作成/編集装置によれば、三次元モデル情報と、それに対するオブジェクト操作命令及び視点操作命令を使用してアニメーションを作成/編集できるため、アニメーション表示用のデータ量を大幅に削減できると共に高速かつ効率的にアニメーションを作成/編集できる。
【0011】
本発明の第2の態様のアニメーション作成/編集装置は、第1の態様のアニメーション作成/編集装置が備える手段に加え、干渉検出手段と干渉回避手段をさらに備える。
【0012】
干渉検出手段は、前記オブジェクト操作命令の実行によるオブジェクト同士間の干渉の発生を検出する。干渉回避手段は、該干渉検出手段により前記干渉の発生が検出された場合、前記干渉を回避するオブジェクト操作命令を生成する。
【0013】
第2の態様のアニメーション作成/編集装置によれば、オブジェクト同士が干渉するシーンの作成を事前に検出し、その干渉を回避するシーンを作成できる。
【0014】
本発明の第3の態様のアニメーション作成/編集装置は、第1の態様のアニメーション作成/編集装置が備える手段に加え、不連続検出手段と補完命令生成手段をさらに備える。
【0015】
不連続検出手段は、前記視点操作命令または前記オブジェクト操作命令の実行による不連続なシーンの発生を検出する。補完命令生成手段は、該不連続検出手段により不連続なシーンが発生することが検出された場合、その不連続なシーン間を補完するシーンを生成するためのオブジェクト操作命令または視点操作命令を生成する。
【0016】
第3の態様のアニメーション作成/編集装置によれば、不連続なシーンを生じるアニメーションの作成を防止できると共に、その不連続を解消するシーンを自動生成できる
本発明の第4の態様のアニメーション作成/編集装置においては、前記三次元モデル情報は、オブジェクト間の拘束条件を保持している。そして、第1の態様のアニメーション作成/編集装置が備える手段に加え、拘束検出手段をさらに備える。
【0017】
拘束検出手段は、前記拘束条件に違反するオブジェクト操作命令をエラーとして検出する。
第4の態様のアニメーション作成/編集装置によれば、前記拘束条件に反するオブジェクト操作命令をエラーとすることにより、現実世界を反映しないシーンを含むアニメーションの作成を防止できる。
【0018】
本発明の第5の態様のアニメーション作成/編集装置は、第1の態様のアニメーション作成/編集装置が備える手段に加え、編集ルール格納手段と操作命令編集手段を、さらに備える。
【0019】
編集ルール格納手段は、アニメーション編集時において、前記操作命令系列に対しオブジェクト操作命令の挿入/削除/移動を行なう際に守るべき編集ルールを格納している。操作命令編集手段は、前記編集ルールを参照して、前記操作命令系列に対し、前記編集ルールに違反するオブジェクト操作命令の挿入/削除/移動の操作が行なわれた場合、その操作を防止/回避する。
【0020】
第5の態様のアニメーション作成/編集装置によれば、編集ルールを適用することによって、現実世界を正しく反映していないアニメーションの編集を防止/回避できる。
【0021】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施形態を説明する。
図1は、本実施形態のアニメーション作成/編集装置の構成を示すブロック図である。
【0022】
同図に示すアニメーション作成/編集システム(アニメーション作成/編集装置)10は、三次元モデル格納部(3Dモデル格納部)11、操作命令格納部12、命令系列選択部13、編集ルール格納部14、オブジェクト操作部15、視点操作部16、拘束検出部17、干渉検出部18、干渉回避部19、不連続検出部26、補完命令生成部20、操作命令編集部21、操作入力部22、画像作成部23、アニメーション格納部24及びアニメーション表示部25から構成される。これらの構成要素11〜25の内、構成要素11、12、14〜23は、互いにバス29で接続されている。
【0023】
三次元モデル格納部11は、アニメーションの画像を構成するオブジェクト(アニメーションに登場する人物,物体等)の形状・構成などを定義する三次元モデル情報を格納する。三次元モデル格納部11は、オブジェクト間の拘束条件(あるオブジェクトが別のオブジェクトに拘束されており、単独では移動できない関係や、オブジェクトの移動方向や移動可能な範囲に関する制限など)を保持している。本実施形態では、オブジェクトの移動は、この拘束条件に従った範囲内でのみ可能であり、拘束条件に従がわないオブジェクト移動命令は拘束検出部17によってエラーとして検出される。
【0024】
操作命令格納部12は、視点やオブジェクトに関する一連の操作命令(命令系列)を複数格納する。命令系列選択部13は、操作命令格納部12に格納されている複数の該命令系列の中から一つ選択する。
【0025】
編集ルール格納部14は。アニメーション編集時のルールを格納する。このルールには、以下のようなものがある。
(1) オブジェクト移動命令を命令系列に挿入する場合、対象オブジェクトは分解された状態でなければならない。
【0026】
(2) 命令系列内でオブジェクト移動/回転命令を移動する場合、対象オブジェクトの拘束変更(分解/組み立て)命令との順序を崩さずに移動する。
【0027】
(3) 命令系列にオブジェクトの可動範囲の変更命令を挿入する場合、可動方向が設定されていなければならない。
(4) 命令系列にオブジェクトの可動範囲の変更命令を挿入する場合、対象オブジェクトに対する移動命令で可動範囲を超えて移動する命令があってはならない。
【0028】
オブジェクト操作部15は、ユーザからのオブジェクト操作命令の入力を受けて、仮想空間中でオブジェクトを操作する。このとき、干渉検出部18が該操作に伴うオブジェクト間の干渉をチェックし、干渉が生じる場合は干渉回避部19が干渉が解消される方向にオブジェクト移動方向を修正することによって、干渉を回避させる。干渉回避が不可能であった場合にはそのオブジェクト操作命令はエラーとなる。また、オブジェクトが干渉せずに移動可能であった場合には、命令系列選択部13を経由して、上記オブジェクト操作命令が操作命令格納部12内の当該命令系列に格納される。また、オブジェクト操作部15は、オブジェクトの拘束削除操作も行なう。この拘束削除操作は、該オブジェクトが属していたツリーからそのオブジェクトを外す操作によって実施される。これにより、例えば、そのオブジェクトが親オブジェクトの拘束から解放される。
【0029】
視点操作部16は、ユーザからの視点操作命令の入力を受けて、仮想空間における視点を移動させる。仮想空間における視点の移動は自由に可能である。ユーザが視点操作を行なった場合、その視点操作内容は命令系列選択部13を経由して操作命令格納部12内の当該命令系列に格納される。
【0030】
拘束検出部17は、上述したように三次元モデル格納部11に格納されている拘束条件を参照して、該拘束条件に反するオブジェクト操作命令をエラーとして検出する。
【0031】
干渉検出部18は、上述したように、オブジェクト操作部15が仮想空間中でオブジェクトを操作する際、オブジェクト間で干渉が生じるかチェックする。
干渉回避部19は、干渉検出部18によってオブジェクト操作によりオブジェクト間で干渉が生じると判断された場合、その干渉が回避される方向にオブジェクトの操作を変更させる。
【0032】
不連続検出部26は、視点操作命令やオブジェクト操作命令を行なったとき、不連続なシーンの発生を検出する。
補完命令生成部20は、不連続検出部26により不連続なシーンの発生が検出されたとき、その不連続を補完するシーン(画像)を生成するための操作命令を生成する。補完命令生成部20は、該操作命令を、不連続前後のシーンの視点/オブジェクトの位置を基に生成する。
【0033】
操作命令編集部21は、アニメーションの作成や編集をする。アニメーションの作成は、三次元モデル情報40に格納されているオブジェクト(親オブジェクトや子オブジェクトなど)に対するオブジェクト操作命令や視点操作命令を順次生成しながら、それらの操作命令の連なりである操作命令系列(命令系列)を作成し、その操作命令系列を命令系列選択部13を介して操作命令格納部12に格納することにより行なわれる。また、編集は、操作命令格納部12に格納されている命令系列(一連の操作命令)に対し、オブジェクト操作命令や視点操作命令を挿入/削除/移動することにより行なわれる。操作命令編集部21は、この編集時において、編集ルール格納部14に格納されている編集ルールを参照し、編集ルールに矛盾する編集操作が行なわれると判断した場合には、矛盾を引き起こす操作命令を矛盾を回避する操作命令に変換するか、またはその編集操作をエラーとする。例えば、オブジェクトの移動命令を、オブジェクトの拘束解除以前のタイミングに移動しようとした場合には、そのオブジェクトの拘束解除命令も一緒に移動させることにより、矛盾を回避させる。
【0034】
操作入力部22は、ユーザが視点やオブジェクトの操作命令を入力するための装置であり、例えば、キーボードやマウスなどのポインティングデバイスを備える。
【0035】
視点操作命令には、視点の移動/回転、ズームイン、パンアウト等がある。また、オブジェクト操作命令には、オブジェクトの移動/回転、構成変更、属性(可動方向、可動範囲、表示属性、操作禁止属性など)変更などがある。
【0036】
また、これらの命令書式は、例えば、以下のようになっている。
(1) 視点移動
MoneCamera 方位角 天頂角 視半径 注視点
(2) オブジェクト移動
Move オブジェクトID x増分 y増分 z増分
(3) オブジェクト回転
Rotate オブジェクトID 軸 角度
(4) 構成変更
Joint オブジェクトID 親オブジェクトID 可動方向 可動範囲
画像作成部(画像生成部)23は、三次元モデル格納部11に格納された三次元モデル情報と命令系列選択部13によって選択された操作命令格納部12内に格納された命令系列とからアニメーション画像を生成する。画像作成部23は、この生成したアニメーション画像をアニメーション表示部25を介して表示させるか、またはアニメーション格納部24に格納する。
【0037】
アニメーション格納部24は、画像作成部23によって生成されたアニメーション画像を格納する記憶装置であり、ハードディスクやDVD−RAM等である。
【0038】
アニメーション表示部25は、画像作成部23によって生成されたアニメーション画像を再生する表示装置であり、CRTディスプレイ、液晶表示装置、プラズマディスプレイ等である。
【0039】
図2は、三次元モデル格納部11に格納される三次元モデル情報のデータ構造の一例を示す図である。
同図に示すように、オブジェクト(例えば、一つの装置)を表現する三次元モデル情報40は、木構造(ツリー構造)となっている。三次元モデル情報40は、最上位階層(根)の三次元構成情報(3D構成情報)50、第2階層の三次元構成情報(3D構成情報)60−1,60−2及び第3階層の三次元形状情報(3D形状情報)71(71−1,71−2、71−3、71−4、71−5、・・・)、72(72−1,72−2、72−3、72−4、72−5、・・・)から構成されている。
【0040】
三次元構成情報50は、子オブジェクト(例えば、装置のユニット)として2つの三次元構成情報60(60ー1,60−2)を有している。また、三次元構成情報60ー1は、子オブジェクトとして複数の三次元形状情報71(71−1、71−2,71−3,71−4,71−5、・・・)を有している。また、三次元構成情報60ー2は、子オブジェクト(例えば、ユニットを構成する部品)として三次元形状情報72(72−1,72−2,72−3、72−4,72−5、・・・)を有している。
【0041】
三次元構成情報50は、下記の情報を有する。
・ 相対位置/方向
・ 構成(子オブジェクト)
・ 可動方向/範囲
三次元構成情報50の子オブジェクトである三次元構成情報60(60−1,60ー2)も、三次元構成情報50と同様な構成となっており、下記の情報を有する。
【0042】
・ 相対位置/方向
・ 構成(子オブジェクト)
・ 可動方向/範囲
三次元構成情報60の子オブジェクトである三次元形状情報70(71,72)は、下記の情報を有する。
【0043】
・ 相対位置/方向
・ 属性(表示、操作禁止等
ここで、上位層の相対位置/方向の変化は、下位階層の相対位置/方向に反映される。また、前述した干渉検出部18によるオブジェクト間の干渉チェックは、三次元構成情報50、三次元構成情報60及び三次元形状情報71,72の相対位置/方向情報を基に行なわれる。尚、図2に示す三次元モデル情報40は、あくまでも一例であり、さらに多階層の構成であってもよい。
【0044】
図3は、図2に示す三次元モデル情報40によって表現されるオブジェクトの一例を示す図である。
図3に示すノートパソコン(ノート型パーソナルコンピュータ)100は、全体が三次元構成情報50で表現され、各ユニットが三次元構成情報60で表現される。また、各ユニットの各構成部品(キーボード、CD、HDD,バッテリー等)が三次元形状情報70で表現される。
【0045】
図4は、上記構成のアニメーション編集システム10による編集動作を説明するフローチャートである。尚、このフローチャートの処理が開始されるに先立って、ユーザにより編集対象となるアニメーションに対応する(操作命令格納部12に格納されている)命令系列が選択されているものとする。
【0046】
まず、ユーザが操作入力部22を介して入力が行なわれると(ステップS1)、その入力が「操作命令編集」(命令系列内の操作命令に対する挿入/削除/移動)であるか判断する(ステップS2)。
【0047】
そして。操作命令編集であれば、操作命令編集部21が編集ルール格納部14に格納されている編集ルールを参照して、ユーザに指示された操作命令が編集ルールに矛盾していないか判断し(ステップS3)、矛盾していれば上記操作命令をエラーとする(ステップS4)。
【0048】
一方、ステップS3で矛盾していないと判断すると、ユーザ入力がオブジェクト操作命令であるか判断し(ステップS5)、オブジェクト操作命令であれば、拘束検出部17が三次元モデル格納部11を参照して、▲1▼オブジェクト操作命令の対象オブジェクトが拘束条件を保持しており、該オブジェクト操作命令による該対象オブジェクトの移動が該拘束条件に反するものであるか、または▲2▼オブジェクト操作命令の対象オブジェクトが拘束条件を保持していなければ、該オブジェクト操作命令による対象オブジェクトの移動が拘束範囲(移動可能な範囲)内であるか判断する(ステップS6)。そして、拘束検出部17は、前記オブジェクト操作命令が上記▲1▼または▲2▼の条件に反していれば、そのオブジェクト操作命令をエラーとする(ステップS7)。
【0049】
ところで、本実施形態では拘束されていないオブジェクトは、他のオブジェクトに干渉しない限り、仮想空間内で自由に移動することができる。また、拘束されているオブジェクトも、拘束条件に反しない範囲で、かつ他のオブジェクトに干渉しなければ移動することができる。また、さらに、この干渉チェック機能は解除することも可能である。これは、例えば、木材に釘を打つようなシーンでは木材(第1のオブジェクト)と釘(第2のオブジェクト)が干渉することは現実に行なわれるので、このようなシーンを作成する場合には干渉チェック機能を解除する必要があるからである。
【0050】
ステップS6でオブジェクト操作命令がエラーでないと判断されると、「仮想空間内でオブジェクト移動」処理(以後、簡略化して「オブジェクト移動処理」と表現する)を実行する(ステップS8)。このオブジェクト移動処理は、干渉検出部18により干渉チェックを行ないながら、オブジェクト操作命令の対象オブジェクトが他のオブジェクトと干渉しないように、該対象オブジェクトを移動させる処理である。このオブジェクト移動処理の詳細は後述する。
【0051】
ステップS5でオブジェクト操作命令でないと判断された場合(視点操作命令であると判断された場合)またはステップS8の処理に続いて、不連続検出部26により、オブジェクト操作命令または視点操作命令の実行によって不連続なシーンが発生するか否か検出することにより、不連続なシーンの発生のため補完命令を生成することが必要であるか判断する(ステップS9)。そして、補完命令の作成が必要であると判断すると、補完命令生成部20を起動し、補完命令生成部20に上記不連続シーンを解消させるための補完命令生成処理を実行させる(ステップS10)。
【0052】
この補完命令生成処理によって生成された補完命令は当該操作命令系列に挿入され(ステップS11)、ステップS3に戻る。一方、ステップS8で挿入された命令は、命令系列選択部13を介して操作命令格納部12内の当該命令系列に格納される(ステップS12)。 また、ステップS9で補完命令の作成が必要ないと判断されたオブジェクト操作命令または視点操作命令も、命令系列選択部13を介して操作命令格納部12内の当該命令系列内に格納される(ステップS12)。
【0053】
ここで、ステップS10〜S12の処理について補足説明する。例えば、操作命令系列の命令Aと命令Bとの間にユーザの入力した命令X0を挿入し、命令Aと命令X0の実行の間、及び命令X0と命令Bの実行の間に不連続なシーンが発生したとする。この場合、前記補完命令生成処理において、補完命令生成部20が命令Aと命令X0の間に補完命令X1が、命令X0と命令Bの間に補完命令X2を生成する。このとき、ユーザが入力した命令X0は操作命令格納部12に格納される(ステップS12)が、補完命令生成部20によって生成された補完命令X1,X2は当該操作命令系列に挿入され(ステップS11)、ステップS3に戻って、挿入される命令の前後が“不連続でない(該命令の実行の前後で不連続なシーンが発生しない)”と判断されるまで再帰的に処理が繰り返される。
【0054】
図5は、図4のフローチャートのステップS8の「オブジェクト移動処理」の詳細フローチャートである。
まず、オブジェクト操作命令にしたがって対象オブジェクトを仮想空間内で移動させる(ステップS21)。干渉検出部18は、三次元モデル格納部11内の各オブジェクトの位置情報等を基に上記対象オブジェクトを移動させると他のオブジェクトとの間に干渉が発生するか判断する(ステップS22)。
【0055】
そして、干渉が発生すると判断すると、干渉回避部19がその干渉を解消可能か判断し(ステップS23)、干渉回避部19は解消が可能であると判断すると、前記対象オブジェクトの移動方向を調整し(ステップS24)、ステップS21に戻る。ステップS21では、オブジェクト操作部15が、前記対象オブジェクトをステップS24で調整された移動方向に移動させる。
【0056】
一方、ステップS23で干渉回避部19は前記対象オブジェクトを他のオブジェクトと干渉させずに移動させることが不可能であると判断すると、前記ユーザ入力されたオブジェクト操作命令をエラーとする(ステップS25)。
【0057】
また、ステップS22で干渉検出部18が前記対象オブジェクトを移動させても他のオブジェクトとの間で干渉が発生しないと判断すると、オブジェクト操作部15が前記対象オブジェクトの移動が完了したか判断し(ステップS26)、まだ前記対象オブジェクトの移動が完了していないと判断すると(ステップS26)、ステップS21に戻る。一方、ステップS26でオブジェクト操作部15が前記対象オブジェクトの移動が完了したと判断すると処理を修了する。
【0058】
このようにして、オブジェクト操作命令の実行により対象オブジェクトを移動させる場合、その移動により他のオブジェクトとの間で前記対象オブジェクトが干渉を起こさないように前記対象オブジェクトを移動させる。この場合、オブジェクト操作命令をそのまま実行しても前記干渉が発生しなければ、そのオブジェクト操作命令は操作命令格納部12内の当該命令系列に格納させる。しかし、オブジェクト操作命令を実行すると前記干渉が発生する場合には、前記干渉が回避されるように前記対象オブジェクトの移動方向を調整する。そして、その移動方向の調整により前記干渉が解消されれば、ユーザ入力されたオブジェクト操作命令の移動方向を前記調整により得られた移動方向に変え、その移動方向が変更させられたオブジェクト操作命令を操作命令格納部12内の当該命令系列に格納する。
【0059】
図6は、図4のフローチャートのステップS10の「補完命令生成処理」の詳細フローチャートである。
補完命令生成部20は、まず、移動対象(オブジェクトまたは視点)の移動直前の位置を取得し(ステップS31)、続いて、前記移動対象の移動直後の位置を取得する(ステップS32)。
【0060】
そして、補完命令生成部20は、前記移動対象の移動直前と移動直後の位置の差を求め、その差が規定値より大であるか判断し(ステップS34)、規定値より大であれば、前記移動の直前と直後の中間位置へ前記移動対象を移動させる命令を挿入し(ステップS35)、ステップS31に戻る。
【0061】
一方、ステップS34で前記位置の差が規定値以下であれば、補完を修了する。
このようにして、シーンが不連続となるオブジェクト操作命令または視点操作命令の実行に際しては、その不連続を解消する移動命令(オブジェクト移動命令または視点移動命令)をシーンが不連続とならない数だけ、当該命令系列に自動的に生成・挿入する。
【0062】
図7は、本実施形態のアニメーション編集システム10によるアニメーション再生(表示)処理を説明するフローチャートである。
このフローチャートの処理は、ユーザが、操作入力部22を介して、あるアニメーションの再生命令を入力することにより実行される。
【0063】
命令系列選択部13は、ユーザにより指定されたアニメーションに対応する命令系列を操作命令格納部12から選択する(ステップS41)。画像作成部23は、命令系列選択部13により選択された命令系列を取得し(ステップS42)、三次元モデル格納部11から前記命令系列の各操作命令の操作対象となっているオブジェクトの三次元モデル情報を取得する(ステップS43)。そして、画像作成部23は、前記命令系列の一連の操作命令を順に実行しながらアニメーション画像を生成する(ステップS44)。画像作成部23は、操作命令を実行する際に、操作対象となっているオブジェクトの三次元モデル情報を利用する。
【0064】
画像作成部23は、生成したアニメーション画像をアニメーション表示部25を介して表示させる(ステップS45)。
次に、アニメーション編集システム10により実行可能な各種オブジェクト操作を説明する 以下の説明では、図8に示す、仮想空間内にノートPC300がオブジェクトとして配置された画像200をオリジナル画像として、このオリジナル画像200に対して各種操作を施す例を説明する。
{視点移動}
図8に示すオリジナル画像200に対し、ノートPC300に対する視点移動操作を施すことにより図9に示すようにノートPC300を背面から見た画像210を作成できる。
{表示属性変更}
図8に示すオリジナル画像200に対し、ノートPC300の筐体のアッパーカバー310を非表示にする表示属性変更操作を施すことにより、図10に示すようにアッパーカバー310が表示されず、そのカバー310に覆われていた内部が表示される画像220を作成できる。
{オブジェクト回転}
図8に示すオリジナル画像200に対し、オブジェクト回転操作を施すことにより、図11に示すようにノートPC300のLCD(Liquid Cristal Display)部320を閉じる方向に回転させた画像230を作成できる。
{拘束解除}
図8に示すオリジナル画像200に対し、キーボード330をノートPC300の拘束から解除する操作を施すことにより、図12に示すように、キーボード330がノートPC300から分解された画像240を作成することができる(三次元モデル格納部11に格納されているノートPC300のオブジェクトのツリーからキーボード300のオブジェクトを外すことができる)。
{オブジェクト移動}
図12に示す画像240に対し、オブジェクト移動操作を施すことにより、図13に示すように図12において分解されたキーボード330を上に移動したが像250を作成することができる。
【0065】
次に、図4のフローチャートに示す処理によってアニメーションを作成する具体例を、図14〜図35を参照しながら説明する。
この具体例では、ノートPCを分解するアニメーションを取り上げる。
【0066】
操作入力部22からのユーザ入力によって、画像作成部23は三次元モデル格納部11からノートPCのオブジェクトに関する三次元モデル情報を読み出し、図14に示すノートPC500が表示された画像400をアニメーション表示部25に表示させる。以下に述べる図15〜図36に示す画像はいずれも画像作成部23によってアニメーション表示部25に表示される画像である。また、それぞれの画像におけるノートPCの画像(オブジェクト)に対する操作命令は、操作入力部22を介してユーザから入力されるものである。
【0067】
図14に示す画像400に対し、ノートPC500の視点を下側移動させる視点移動命令が入力されると、図17に示す画像403が表示される前に、図15と図16に示す2枚の画像401,402が表示される。画像401と画像402を表示させるための視点移動命令は補完命令生成部20によって補完される。これは、図4のフローチャートのステップS8からステップS11の処理によって実施される。
【0068】
図17に示す画像403に対し、ノートPC500のバッテリー510のオブジェクトを、ノートPC500のオブジェクトから拘束削除(拘束解除)する命令が入力されると、バッテリー510のオブジェクトがノートPC500のオブジェクトのツリーから外される。図18に示す画像404は、バッテリー510のオブジェクトがノートPC500のオブジェクトから分解された状態にある画像である。
【0069】
このバッテリー510の拘束削除の可否は、図4のフローチャートのステップS6で判断される。
図18に示す画像404に対し、バッテリー510を左下方に移動するオブジェクト移動命令が入力されると、図19に示すように、ノートPC500の本体からバッテリー510が外され、その位置が左下方に移動した画像405が表示される。 このバッテリー510の移動は、図4のフローチャートのステップS8で実施される。
【0070】
図19に示す画像405に対し、バッテリー510のオブジェクトの表示属性を非表示にする操作命令が入力されると、図20に示すように、画像405からバッテリー510の表示が消えた画像406が表示される。
【0071】
図20に示す画像406に対し、ノートPC500のオブジェクトからCD(コンパクトディスク)520のオブジェクトの拘束を削除する命令が入力されると、CD520のオブジェクトがノートPC500のオブジェクトのツリーから外される。
【0072】
図21に示す画像407に対し、CD520を左下方に移動させるオブジェクト移動命令が入力されると、図22に示すように、CD520がノートPC500の本体から外され左下方に移動した画像408が表示される。
【0073】
図22に示す画像408に対し、CD520のオブジェクトを非表示にする表示属性変更命令を入力すると、図23に示すように、画像408からCD520が消去された画像409が表示される。
【0074】
図23に示す画像409に対し、視点ズームアップ命令を入力すると、図24に示すように、画像409に表示されているノートPC500の画像サイズが上記視点ズームアップ命令で指定されたズーム倍率で拡大された図25に示す画像411が表示される。
【0075】
図24に示す画像410に対し、HDD(ハードディスクドライブ)のカバー532を固定している4本のネジ531のオブジェクトをノートPC500のオブジェクトの拘束から削除する拘束削除命令が入力されると、ノートPC500のオブジェクトから上記4本のネジ531のオブジェクトが外される。そして、図25に示す画像411が表示される。
【0076】
図25に示す画像411に対し、4本のネジ531を鉛直方向に移動するオブジェクト移動命令が入力されると、図26に示すように、ノートPC500のHDDのカバー532を固定してた4本のネジ531が外され、それらが鉛直方向に前記オブジェクト移動命令によって指定された距離だけ移動した画像412が表示される。
【0077】
図26に示す画像412に対し、4本のネジ531のオブジェクトの表示属性を非表示にする属性変更命令が入力されると、図27に示すように、画像412から4本のネジ531を消去した画像413が表示される。
【0078】
図27に示す画像413に対し、HDDカバー532のオブジェクトをノートPC500のオブジェクトの拘束から削除する拘束削除命令が入力されると、図28に示すHDDカバー532のオブジェクトがノートPC500のオブジェクトの拘束から削除された画像414が表示される。このとき、HDDカバー532のオブジェクトは、ノートPC500のオブジェクトのツリーから削除されている。
【0079】
図28に示す画像414に対し、HDDカバー532を上方に移動させるオブジェクト移動命令を入力すると、図29に示すように、HDDカバー532がノートPC500の本体の上方に移動した画像415が表示される。
【0080】
図29に示す画像415に対し、HDDカバー532のオブジェクトの表示属性を非表示にする表示属性変更命令を入力すると、図30に示すように、画像415からHDDカバー532の画像が消去された画像416が表示される。
【0081】
図30に示す画像416に対し、ノートPC500に対する視点をその右側面方向に変化させるような視点移動命令を入力すると、図31に示すように、ノートPC500に対する注視点が、その右側面の中心にある画像417が表示される。
【0082】
図31に示す画像417に対し、ノートPC500のオブジェクトからHDDユニット534のオブジェクトの拘束を削除する拘束削除命令を入力すると、図32に示すように、HDDユニット534のオブジェクトがノートPC500のオブジェクトからの拘束が削除された画像418が表示される。
【0083】
図32に示す画像418に対し、ユーザがHDDユニット534を真横に移動させるオブジェクト移動命令を入力すると、干渉検出部18によってHDDユニット534を真横に移動すると、ノートPC500のHDDユニット534の収容部の右側面部535と干渉してしまうことが検出される。このため、干渉回避部19により、HDDユニット534を上方に移動させるオブジェクト移動命令が作成・実行される(図4のフローチャートのステップS8の処理)。このことにより、図33に示すように、HDDユニット534がノートPC500の上方に移動した画像419が表示される。
【0084】
図33に示す画像419に対し、前述した画像418においてHDDユニット534を真横に移動させるユーザ入力のオブジェクト移動命令が実行され、図34に示すように、HDDユニット534がノートPC500の上方を真横に移動した画像420が表示される。
【0085】
画像420におけるHDDユニット534の移動は、前記ユーザ入力のオブジェクト移動命令の指示ではないため、図35に示すように、ノートPC500に装着されていたHDDユニット534が、その装着位置の真横に移動した画像422が表示される。この画像422は、ユーザの指示に従がった画像であり、システムによって自動的に生成される。
【0086】
このように、本実施形態では、ユーザの指示したオブジェクト移動命令に従がって対象オブジェクトを移動した場合、その対象オブジェクトが他のオブジェクトと干渉する場合には、その干渉を回避するように前記対象オブジェクトを移動方向を変えて移動させ、その後、ユーザの指示に沿った方向に前記対象オブジェクトを移動させるようにしている。
【0087】
図36は、図15〜図35に示された画像401〜422をシーンとして含むアニメーションを作成する過程において作成される操作命令系列を示す図である。図36に示す操作命令命令列600は、命令系列選択部13を介して操作命令格納部12に格納される。同図において、破線で囲まれた命令がシステムによって補完または挿入された命令である。
【0088】
図14に示す画像400に対し視点移動命令603が入力されると、図15、16の画像401,402を補完するために、視点移動命令603(図17の画像403を表示させる命令)の前に視点移動命令601,602がシステムによって自動作成される。このため、操作命令系列600の最初の部分は視点移動命令601〜603となる。
【0089】
続いて、図18乃至図20の画像404〜406を表示させるために入力されたバッテリー拘束削除命令604、バッテリー移動命令605及び表示属性変更命令(バッテリー非表示命令)606が、視点移動命令603の後に加わる。
【0090】
次に、図21乃至図23に示す画像407〜409を表示させるために入力されたCD拘束解除命令607、CD移動命令608及び表示属性変更命令( CD非表示命令)609がバッテリー非表示命令606の後に追加される。
【0091】
さらに続いて、図24〜図32に示す画像410〜417を表示させる入力された視点ズーム命令610、ネジ拘束削除命令611、ネジ移動命令612、表示属性変更命令(ネジ非表示命令)613、HDDカバー拘束削除命令614、HDDカバー移動命令615、表示属性変更命令(HDDカバー非表示命令)616、視点移動命令617及びHDDユニット拘束削除命令618がCD非表示命令609の後に追加される。
【0092】
次に、画像417が表示されているとき、HDDユニット534を、図35に示す画像422のように真横に移動させるHDDユニット移動命令620が入力されるが、この場合、上述したようにHDDユニット534をそのまま真横に移動させるとノートPC500の一部と干渉を起こすので、この干渉を回避するために、図33に示すようにHDDユニット534を真上に移動させる画像419を生成させるHDDユニット移動命令619が干渉回避部19によって作成され、この命令619がHDDユニット拘束削除命令618の後に追加される。この後、HDDユニット移動命令619の後に前記入力されたHDDユニット移動命令620が実行され、図34に示す画像420が表示されることになる。
【0093】
このため、操作命令系列600において、HDDユニット移動命令619の後にHDDユニット移動命令620が追加される。そして、図35に示すように、ユーザが当初望んだようにHDDユニット534を真横に移動させた画像422を生成するために、干渉回避部19がHDDユニット移動命令620の後にHDDユニット移動命令621を追加する。
【0094】
以上のようにして、図15〜図35に示す一連の画像401〜422から成るアニメーションを表示するための操作命令系列600が、ユーザ入力及びアニメーション編集システム10によって作成され、操作命令格納部12に格納される。
【0095】
次に、オブジェクト操作命令の入力によりエラーが生じる例を説明する。
まず、オブジェクト移動命令の入力でエラーが生じる例を、図37及び図38を参照しながら説明する。
【0096】
図37に示す画像431は、図24の画像410に示されたノートPC500を少しズームアップした画像である。この画像431に示すノートPC500は、HDDカバー532が4本のネジ531(1本のネジ531は不図示)で止められている。
【0097】
画像431に対し、ノートPC500のオブジェクトからHDDユニット534(不図示)のオブジェクトの拘束を削除する命令を入力する。この入力後の画像が、図38に示す画像432である。この画像432が表示されている状態で、ユニット534を移動するオブジェクト移動命令を入力すると、この時点ではHDDカバー532が、まだ外れていないため、干渉検出部18による干渉チェックでエラーと判断され、HDDユニット534は移動できない。
【0098】
次に、可動範囲の属性変更命令の入力によりエラーが生じる例を説明する。
図39に示す画像435は、LCD部536(不図示)を有する蓋537が閉じたノートPC500の状態を示す画像である。このとき、LCD部536の可動範囲は0〜120度までと設定(制限)されているとする。画像435が表示されている状態で、LCD部536を120度まで回転させる(開く)オブジェクト回転命令を入力する。このことにより、図40に示すように、LCD部536が120度開いた状態のノートPC500の画像436が表示される。
【0099】
画像436が表示されている状態で、LCD部536の可動範囲を0〜90度に変更する属性変更命令を入力すると、拘束検出部17がLCD部536が既に120度まで開いていることを検出し、該属性変更命令をエラーとする。したがって、この場合にはLCD部536の可動範囲は変更できない。
【0100】
また、本実施形態では、補完命令生成部20が生成した補完命令がエラーとなる場合もある。例えば、補完命令として生成したオブジェクト操作命令の実行で干渉が生じ、オブジェクトを移動できないような場合には、そのオブジェクト操作命令はエラーとなる(図5のフローチャート参照)。
【0101】
次に、ユーザ入力のオブジェクト操作命令を実行すると干渉エラーとなるが、補完命令生成部20が補完命令を作成することにより、干渉を回避可能な例を説明する。
【0102】
図41は、蓋537が少し開いた状態にあるノートPC500を示す画像441が表示された画面を示している。この画像441に対し、キーボード538を上に移動するオブジェクト操作命令が入力されたとする。
【0103】
このオブジェクト操作命令を実行すると、画像441が図42に示す画像442に変化する。画像442では、キーボード538を上に移動することによってキーボード538が蓋537と干渉している。この干渉は干渉検出部18によって検出され、干渉回避部19によって、この干渉を回避する操作命令が自動的に作成される。
【0104】
まず、干渉回避部19は、キーボード538を移動可能な方向(手前方向)に、蓋537との干渉が避けられる距離(蓋537の奥行き)だけ移動させるオブジェクト操作命令を作成・実行する。これにより、図43に示すように、キーボード53が、その後端が蓋537の前端に等しい位置まで手前方向に移動した画像443が表示される。
【0105】
次に、干渉回避部19は、画像443に対し、キーボード538を上に移動させるオブジェクト操作命令を作成・実行する。これにより、図44の画像444に示すように、キーボード538が蓋537のフック537aに干渉する。
【0106】
干渉回避部19は、画像444に対し、キーボード538をそれが移動可能な方向(手前方向)に、前記干渉を避ける距離(フック537aのサイズ)だけ移動させるオブジェクト操作命令を作成・実行する。これにより、図45に示すように、キーボード538が手前方向にフック537aのサイズだけ移動した画像455が表示される。
【0107】
続いて、干渉回避部19は、キーボード538をユーザが指定した高さまで移動させるオブジェクト操作命令を作成・実行する。これにより、図46に示すように、キーボード538が蓋537のフック537aに干渉することなく、ユーザの指定した高さまで移動した画像456が表示される。
【0108】
さらに、続いて、干渉回避部19は、キーボード538を、画像433及び画像455で移動した距離だけ逆方向(後方)に移動させるオブジェクト操作命令を作成・実行する。これにより、図47に示すように、キーボード538が画像441での位置からユーザの指定した位置まで上方に移動した画像457が表示される。
【0109】
このように、ユーザ入力のオブジェクト操作命令を実行した場合、操作対象のオブジェクトを命令の通りに実行すると干渉が発生する場合には、その干渉を回避させるように前記対象オブジェクトを操作した後、前記対象オブジェクトをユーザが指定した位置まで移動させる。
【0110】
上述した干渉回避の例では、干渉回避を2回まで試みている。この干渉回避処理は、干渉を回避する迂回経路を試行錯誤的に探索する処理なので、その処理時間はシステムのCPUの計算能力等に依存することになる。したがって、干渉回避の試行錯誤を何回をまで実施するかは実装依存となる。このため、試行錯誤を1回までしか行わないような干渉回避処理を実装したシステムにおいては、上述した例の場合、キーボード538がフック537aに干渉した時点で、回避不可と判定され、キーボード538の移動命令はエラーとなる。この場合、例えば、ユーザに上記移動命令の入力エラーを報知するダイアログ・ボックスが表示される。干渉回避の迂回路が見つかるまで何回も繰り返すのは、処理時間と計算コストを考慮した場合、現実的ではないので、干渉回避処理をシステムに実装する場合には、干渉回避の試行錯誤回数を適当な回数に制限することになす。
【0111】
本実施形態のアニメーション編集システム10では、上述のようにして作成したアニメーション表示用の操作命令系列600を編集することが可能である。この編集は、図48に示す編集画面を介して行うことができる。
【0112】
同図に示すように、編集画面700は二次元状にセル711が配列されたシート710を有している。1つのセル711が1つの操作命令に対応しており、シート710の各列のセル711には同時に実行される操作命令のアイコンが表示される。また、アニメーション再生時には、左の列のセル711に表示された操作命令から順に実行される(左列から右列へと順次実行される)。編集図面700は、図36に示す操作命令系列600の編集画面であり、左端の列の上端のセル711には「再生開始指示命令」のアイコンが表示されている。また、2列目以降の列に付記された601〜621の符号は、それらの各列が図36に示す操作命令601〜621に対応することを示すものである。尚、実際に、アニメーションとして再生する場合には、操作命令の間(シート710の列と列の間に相当)に何枚もの画像が入るようになっている。
【0113】
次に、図49を参照しながら図36に示す操作命令系列600の編集の一例を説明する。同図は、編集ルール格納部14に格納された編集ルールの適用例を説明する図である。
【0114】
同図は、CD移動命令608をバッテリー拘束削除命令604の前に移動する編集操作を示している。ユーザが、CD移動命令608を単独でバッテリー拘束削除命令604の前に移動しようとすると、この命令604がCD拘束削除命令607の前に実行されるため前述した編集ルールに矛盾することになる。このため、操作命令編集部21が編集ルールを適用して、CD拘束削除命令607とCD移動命令608を、バッテリー拘束削除命令604の前に移動させる。
【0115】
ところで、CD移動命令608をバッテリー拘束削除命令604の前に移動する操作は、操作入力部22を介して「操作命令の移動」を選択し、次に操作入力部22のマウスを操作して、CD移動命令608のアイコンが表示されたセル711(第9列目の上端のセル711)をバッテリー拘束削除命令604のアイコンが表示されたセル711(第5列目の上端のセル711)上までドラッグすることにより行う。
【0116】
次に、本実施形態のアニメーション編集システム10によるアニメーション編集の具体例を説明する。この具体例は、ノートPCを分解する(ノートPCからHDDユニットを取り出す)アニメーションの編集例である。
【0117】
まず、ノートPC500のオブジェクトを三次元モデル格納部11から読み込み、図50に示すように、右側面方向から見たノートPC500全体が仮想空間上に配置された画像801を表示させる。
【0118】
次に、画像801に対し、視点をノートPC500の裏側に移動させる命令を入力し、図51に示すようにノートPC500の裏側が表示された画像801を表示させる。
【0119】
ところで、上記のようにノートPC500を反転させる画像をアニメーションとして表示させる場合、回転距離が大きいため、画像801と画像802との間に、いくつかの視点移動命令がアニメーション編集システム10によって補完される。この結果、操作命令編集部21により、図63に示すように3個の視点移動命令の操作命令系列901が生成される。
【0120】
次に、HDDユニット534の拘束を削除する構成変更命令(拘束削除命令)を入力し、HDDユニット534のオブジェクトをノートPC500のオブジェクトのツリーから外す。図52に示す画像803は、HDDユニット534がノートPC500の拘束から解放された状態にあるノートPC500を示す。
【0121】
この結果、操作命令編集部21により、図64に示すように、前記操作命令系列901に拘束削除命令(HDDユニット534の拘束削除命令)が追加された操作命令系列902が作成される。
【0122】
続いて、画像803に対し、HDDユニット534を移動するオブジェクト移動命令を入力すると、この場合、HDDユニット534のカバー(HDDカバー)532が閉まっているため、干渉検出部18による干渉チェックに引っかかる。このため、干渉回避部19が干渉回避を試みるが、回避経路が見つからないため前記オブジェクト移動命令はエラーとなる。
【0123】
このため、ネジ531(不図示)とHDDカバー532について拘束削除、移動及び非表示の命令を入力する。これにより、図53、図54及び図55に示す画像804,805及び806が順次表示される。画像805はHDDカバー532が移動した状態を示しており、画像806はその移動したHDDカバー532が非表示となった状態を示している。
【0124】
この結果、操作命令編集部21は、図65に示すように、前記操作命令系列902に(ネジ531とHDDカバー532の)拘束削除命令、(ネジ531とHDDカバー532の)移動命令、(ネジ531とHDDカバー532の)非表示命令が追加された操作命令系列903を生成する。
【0125】
次に、画像806に対し、HDDユニット534を左方向に移動する命令を入力すると、干渉検出部18によりHDDユニット534を左方向に移動すると、HDDユニット534がノートPC500のHDDユニット534収容部と干渉を起こすことが検出される。この場合、HDDユニット534は上方向に移動可能であるため、干渉回避部19はHDDユニット534を上方向に移動させる移動命令を生成する。そして、この移動命令の実行により、図56に示すように、HDDユニット534が上方向に移動した画像807が表示される。
【0126】
次に、干渉回避部19は、HDDユニット534をユーザの指定した距離だけ左方向に移動させる移動命令を生成する。この移動命令の実行により、図57に示すように、HDDユニット534が左方向に移動した画像808が表示される。
【0127】
干渉回避部19は、続いて、上記干渉回避のため上方向に移動した距離だけ、HDDユニット534を下方に移動させる移動命令を生成する。この移動命令の実行により、図58に示すように、HDDユニット534がユーザが指定した位置まで移動したままで移動した画像809が表示される。
【0128】
以上の結果、仮想空間内で、HDDユニット534をユーザ入力の移動命令で指定された位置まで移動させることに成功したので、操作命令編集部21は、図65の操作命令系列903に、干渉回避部19が生成した(HDDユニット534の上方向への)移動命令、(HDDユニット534の左方向への)移動命令及び(HDDユニット534の下方向への)移動命令が追加された操作命令系列904を作成する。
【0129】
ここで、図59に示すように、HDDユニット534を移動する前のシーンの画像806(図55参照)に戻る。この画像806の表示は、図58に示す画像809が表示されている状態で、その表示画面上方に配置された巻き戻しボタン1001と停止ボタン1002を操作入力部22のマウスでクリックすることにより可能である。すなわち、まず、巻き戻しボタン1001をクリックし、画像806が表示されたら停止ボタン1002をクリックすればよい。
【0130】
画像806を再表示させた状態で、視点移動命令を入力し、図60に示すように、ノートPC500全体が仮想空間の左上方に移動した画像810を表示させる。
【0131】
この結果、操作命令編集部21は、図67に示すように、図66に示す操作令系列904の非表示命令と移動命令(上)の間に上記視点移動命令が挿入された操作命令系列905を作成する。
【0132】
図60に示す画像810に対しズームアップ命令を入力し、図61に示すようにノートPC500の右側面が拡大表示された画像811を表示させる。
この結果、操作命令編集部21は、図68に示すように、図67に示す操作命令系列905の視点移動命令と移動命令(上)の間にズーム(ズームアップ)命令が挿入された操作命令系列906を作成する。
【0133】
続いて、ユーザは、図62に示す画像813を表示させ、HDDユニット534が所望する位置に移動したことを最終確認する。
ここで、画像811から画像812を表示させる操作方法を、図69を参照しながら説明する。
【0134】
図69は、画像811が表示された画面を示している。
同図に示す画面1000において、画像811の左上方には、アニメーション再生制御用のボタン1001〜1007が配置されている。各ボタンの機能は、以下のとおりである。
【0135】
1001・・・操作命令系列の先頭の命令までまき戻す
1002・・・操作命令系列の操作命令を逆順に再生する
1003・・・操作命令系列の操作命令を順に再生する
1004・・・再生を停止する
1005・・・操作命令系列の最終命令の後ろまで早送りする
1006・・・操作命令系列の操作命令を1命令分、逆方向に巻き戻す
1007・・・操作命令系列の操作命令を1命令分、順方向に早送りする
画像811が表示されている状態から画像812を表示させるには、例えば、ボタン1003をマウスでクリックする。このことにより、操作命令系列906の移動命令(上)、移動命令(左)、移動命令(下)と順次実行され、最終的に画像812が表示される。
【0136】
ところで、本実施形態のアニメーション編集システム10では、例えば、図69に示すように画面の左側にノートPC500の階層オブジェクト構成を示すツリー1100が表示される。同図に示すツリー1100において、Spaceは仮想空間を示し、この下にノートPC500のオブジェクト(notePC)やHDDに関するオブジェクトの集合のオブジェクト(hdd_asm)が連結され、それらのオブジェクトの下に、さらに、下位階層階のオブジェクト(lower_coner_asm,pt-main-x_asmなど)が連結される。
【0137】
操作対象のオブジェクトは、上記ツリー1100からでも、その左側に表示される画像(画像811等)からでも選択できる。画像で操作する場合は、操作入力部22のマウスのクリックやドラッグなどの操作でオブジェクトを直接操作できる。一方、ツリー1100で操作する場合には、図70に示すダイアログ・ボックス1200を開き、このダイアログ・ボックス1200を介して間接的に操作する。
【0138】
同図に示すダイアログ・ボックス1200のタイトルバーには“部品操作”が表示され、その下に、「移動」、「回転」、「回転調節」、「スライド関節」のボタンが配置されている。また、X,Y,Zの各方向を指定するためのボタンや、オブジェクト移動や視点移動の移動速度を設定するためのボックスなども設けられている。
【0139】
以上述べたように、本実施形態のアニメーション10は、以下のような機能を備えている。
(1) アニメーションを構成するオブジェクト(アニメーションに登場する人物や物体)を画像としてではなく三次元モデルとして保持し、仮想空間中のい視点の移動、または仮想空間中のオブジェクトの移動、またはそれら両方からなる一連の操作命令によってアニメーションを作成できる。
(2) 視点やオブジェクトに対する操作命令を編集することによって、アニメーションを編集できる。
(3) 編集ルールを保持し、その編集ルールを厳守することにより、現実世界と矛盾するアニメーションを生成する編集操作を防止/回避できる。
(4) アニメーションを構成するオブジェクトの拘束条件を保持し、オブジェクトを移動する際に、その拘束条件を満たすかチェックすることにより、現実世界に不適当なアニメーションが作成/編集されるのを防止できる。
(5) 仮想空間中でのオブジェクト移動時に、オブジェクト間の干渉をチェックする機能を備える。また、該干渉が生じた場合には、該干が回避されるようにオブジェクトを移動させる機能を備える。
(6) アニメーションの編集時に、挿入/削除/移動されたシーンとその前後のシーンの間に不連続が生じる場合、不連続となる直前のシーンの位置から直後のシーンの位置まで視点またはオブジェクトを移動する命令を補完することにより、上記不連続を解消させる。
(7) 複数の操作命令系列を操作命令格納部12に格納しておき、編集/再生時に、それらの中から一つの操作命令系列を選択することができる。
【0140】
(付記1) アニメーションの画像を構成するオブジェクトを三次元モデル情報として格納する三次元モデル格納手段と、
前記オブジェクトに対する操作命令であるオブジェクト操作命令と視点操作命令から構成される操作命令系列を作成/編集することにより、アニメーションを作成/編集する操作命令編集手段と、
を備えたことを特徴とするアニメーション作成/編集装置。
【0141】
(付記2) 前記オブジェクト操作命令の実行によるオブジェクト同士間の干渉の発生を検出する干渉検出手段と、
該干渉検出手段により前記干渉の発生が検出された場合、前記干渉を回避するオブジェクト操作命令を生成する干渉回避手段を、
さらに備えたことを特徴とする付記1記載のアニメーション作成/編集装置。
【0142】
(付記3) 前記視点操作命令または前記オブジェクト操作命令の実行による不連続なシーンの発生を検出する不連続検出手段と、
該不連続検出手段により不連続なシーンが発生することが検出された場合、その不連続なシーン間を補完するシーンを生成するためのオブジェクト操作命令または視点操作命令を生成する補完命令生成手段を、
さらに備えることを特徴とする付記1記載のアニメーション作成/編集装置。
【0143】
(付記4) 前記三次元モデル情報は、オブジェクト間の拘束条件を保持しており、
前記拘束条件に違反するオブジェクト操作命令をエラーとして検出する拘束検出手段を、さらに備えることを特徴とする付記1記載のアニメーション作成/編集装置。
【0144】
(付記5) アニメーション編集時において、前記操作命令系列に対しオブジェクト操作命令の挿入/削除/移動を行なう際に守るべき編集ルールを格納している編集ルール格納手段と、
前記編集ルールを参照して、前記操作命令系列に対し、前記編集ルールに違反するオブジェクト操作命令の挿入/削除/移動の操作が行なわれた場合、その操作を防止/回避する操作命令編集手段を、
さらに備えることを特徴とする付記1記載のアニメーション作成/編集装置。
【0145】
(付記6) アニメーションの画像を構成するオブジェクトを三次元モデル情報として第1の格納手段に格納する機能と、
前記オブジェクトに対する操作命令であるオブジェクト操作命令と視点操作命令から構成される操作命令系列を作成/編集することにより、アニメーションを作成/編集する機能と、
をコンピュータに実行させるプログラム。
【0146】
(付記7) 前記オブジェクト操作命令の実行によるオブジェクト同士間の干渉の発生を検出する機能と、
前記干渉の発生が検出された場合、前記干渉を回避するオブジェクト操作命令を生成する機能を、
さらにコンピュータに実行mさせる付記6記載のプログラム。
【0147】
(付記8) 前記視点操作命令または前記オブジェクト操作命令の実行による不連続なシーンの発生を検出する機能と、
該不連続なシーンが発生することが検出された場合、その不連続なシーン間を補完するシーンを生成するためのオブジェクト操作命令または視点操作命令を生成する機能を、
さらにコンピュータに実行させる付記6記載のプログラム。
【0148】
(付記9) 前記三次元モデル情報に、オブジェクト間の拘束条件を保持させる機能と、
前記拘束条件に違反するオブジェクト操作命令をエラーとして検出する機能をさらにコンピュータに実行させる付記6記載のプログラム。
【0149】
(付記10) アニメーション編集時において、前記操作命令系列に対しオブジェクト操作命令の挿入/削除/移動を行なう際に守るべき編集ルールを第2の格納手段に格納する機能と、
前記編集ルールを参照して、前記操作命令系列に対し、前記編集ルールに違反するオブジェクト操作命令の挿入/削除/移動の操作が行なわれた場合、その操作を防止/回避する機能を、
さらにコンピュータに実行させる付記6記載のプログラム。
【0150】
【発明の効果】
以上、説明したように、本発明によれば、以下のような効果が得られる。
(1) アニメーションの作成/編集時に、操作対象のオブジェクトの拘束チェックや干渉チェックを行うので、現実世界において妥当なアニメーションを効率的に作成できる。
(2) ユーザがアニメーションを編集する際に、予め作成しておいた編集ルールを適用することによって、現実世界を正しく反映しているアニメーションを、その妥当性を維持したまま編集できる。
(3) 不連続なシーンを自動的に補完するので、シーンの飛躍がない分かりやすいアニメーションを効率的に作成できる。
【0151】
上記(1)〜(3)の効果は、製品の組み立て/分解などの各種作業を指示するアニメーションを作成する場合に、特に、有益である。
(4) アニメーションを、オブジェクトの操作命令や視点操作命令の命令系列として作成するため、複数のアニメーションを作成する場合でも、複数の操作命令系列を作成・保持するだけでよいので、アニメーション保持用のデータ量を従来手法よりも大幅に削減できる。
(5) アニメーションを再生する際、三次元モデルで表現されたオブジェクトを、オブジェクト操作命令と視点操作命令によって仮想空間中で動かしながらアニメーションを生成していくため、スロー再生/高速再生も滑らかに再生できる。
【図面の簡単な説明】
【図1】本発明の実施形態のアニメーション編集システムのシステム構成を示すブロック図である。
【図2】三次元モデル格納部に格納される三次元モデル情報のデータ構造を示す図である。
【図3】三次元モデル情報によって表現されるオブジェクトの具体例を示す図である。
【図4】本実施形態のアニメーション編集システムの全体動作を説明するフローチャートである。
【図5】図4の「仮想空間でオブジェクト移動処理」の詳細フローチャートである。
【図6】図4の「補完命令生成処理」の詳細フローチャートである。
【図7】本実施形態のアニメーション再生(表示)処理を説明するフローチャートである。
【図8】本実施形態により表示されるオリジナル画像を示す図である。
【図9】図8のオリジナル画像200に対して視点移動操作を施すことによって得られる画像を示す図である。
【図10】図8のオリジナル画像に対して表示属性変更操作を施すことによって得られる画像を示す図である。
【図11】図8のオリジナル画像に対してオブジェクト回転を施すことによって得られる画像を示す図である。
【図12】図8のオリジナル画像に対して表示属性変更操作を施すことによって得られる画像を示す図である。
【図13】図12の画像に対して、オブジェクト回転操作を施すことによって得られる画像を示す図である。
【図14】アニメーション作成の具体例を説明する図(その1)である。
【図15】アニメーション作成の具体例を説明する図(その2)である。
【図16】アニメーション作成の具体例を説明する図(その3)である。
【図17】アニメーション作成の具体例を説明する図(その4)である。
【図18】アニメーション作成の具体例を説明する図(その5)である。
【図19】アニメーション作成の具体例を説明する図(その6)である。
【図20】アニメーション作成の具体例を説明する図(その7)である。
【図21】アニメーション作成の具体例を説明する図(その8)である。
【図22】アニメーション作成の具体例を説明する図(その9)である。
【図23】アニメーション作成の具体例を説明する図(その10)である。
【図24】アニメーション作成の具体例を説明する図(その11)である。
【図25】アニメーション作成の具体例を説明する図(その12)である。
【図26】アニメーション作成の具体例を説明する図(その13)である。
【図27】アニメーション作成の具体例を説明する図(その14)である。
【図28】アニメーション作成の具体例を説明する図(その15)である。
【図29】アニメーション作成の具体例を説明する図(その16)である。
【図30】アニメーション作成の具体例を説明する図(その17)である。
【図31】アニメーション作成の具体例を説明する図(その18)である。
【図32】アニメーション作成の具体例を説明する図(その19)である。
【図33】アニメーション作成の具体例を説明する図(その20)である。
【図34】アニメーション作成の具体例を説明する図(その21)である。
【図35】アニメーション作成の具体例を説明する図(その22)である。
【図36】図15〜図35のアニメーション作成操作によって生成された操作命令系列の内容を示す図である。
【図37】オブジェクト移動命令でエラーが生じる例を説明する図(その1)である。
【図38】オブジェクト移動命令でエラーが生じる例を説明する図(その2)である。
【図39】可動範囲の属性変更命令でエラーが生じる例を説明する図(その1)である。
【図40】可動範囲の属性変更命令でエラーが生じる例を説明する図(その2)である。
【図41】干渉回避可能な例を説明する図(その1)である。
【図42】干渉回避可能な例を説明する図(その2)である。
【図43】干渉回避可能な例を説明する図(その3)である。
【図44】干渉回避可能な例を説明する図(その4)である。
【図45】干渉回避可能な例を説明する図(その5)である。
【図46】干渉回避可能な例を説明する図(その6)である。
【図47】干渉回避可能な例を説明する図(その7)である。
【図48】図36の操作命令系列の編集画面の例を示す図である。
【図49】本実施形態のアニメーション編集システムによるアニメーションの編集操作を説明する図(その1)である。
【図50】本実施形態のアニメーション編集システムによるアニメーションの編集操作を説明する図(その2)である。
【図51】本実施形態のアニメーション編集システムによるアニメーションの編集操作を説明する図(その3)である。
【図52】本実施形態のアニメーション編集システムによるアニメーションの編集操作を説明する図(その4)である。
【図53】本実施形態のアニメーション編集システムによるアニメーションの編集操作を説明する図(その5)である。
【図54】本実施形態のアニメーション編集システムによるアニメーションの編集操作を説明する図(その6)である。
【図55】本実施形態のアニメーション編集システムによるアニメーションの編集操作を説明する図(その7)である。
【図56】本実施形態のアニメーション編集システムによるアニメーションの編集操作を説明する図(その8)である。
【図57】本実施形態のアニメーション編集システムによるアニメーションの編集操作を説明する図(その9)である。
【図58】本実施形態のアニメーション編集システムによるアニメーションの編集操作を説明する図(その10)である。
【図59】本実施形態のアニメーション編集システムによるアニメーションの編集操作を説明する図(その11)である。
【図60】本実施形態のアニメーション編集システムによるアニメーションの編集操作を説明する図(その12)である。
【図61】本実施形態のアニメーション編集システムによるアニメーションの編集操作を説明する図(その13)である。
【図62】本実施形態のアニメーション編集システムによるアニメーションの編集操作を説明する図(その14)である。
【図63】図51に示す画像を編集した時点で生成された操作命令系列を示す図である。
【図64】図52に示す画像を編集した時点で生成された操作命令系列を示す図である。
【図65】図55に示す画像を編集した時点で生成された操作命令系列を示す図である。
【図66】図58に示す画像を編集した時点で生成された操作命令系列を示す図である。
【図67】図60に示す画像を編集した時点で生成された操作命令系列を示す図である。
【図68】図61に示す画像を編集した時点で生成された操作命令系列を示す図である。
【図69】図61に示す画像から図62に示す画像を表示させるための操作を説明する図である。
【図70】操作対象のオブジェクトを操作するためのダイアログ・ボックスを示す図である。
【符号の説明】
10 アニメーション作成/編集システム(アニメーション作成/編集装置)
11 三次元モデル格納部
12 操作命令格納部
13 命令系列選択部
14 編集ルール格納部
15 オブジェクト操作部
16 視点操作部
17 拘束検出部
18 干渉検出部
19 干渉回避部
20 操作命令編集部
22 操作入力部
23 画像作成部
24 アニメーション格納部
25 アニメーション表示部
40 三次元モデル情報
50 三次元構成情報(上位)
60 三次元構成情報(下位)
71,72 三次元形状情報
600 操作命令系列
700 操作命令系列の編集画面
1200 ダイアログ・ボックス

Claims (4)

  1. アニメーションの画像を構成するオブジェクトを三次元モデル情報として格納する三次元モデル格納手段と、
    前記オブジェクトに対する操作命令であるオブジェクト操作命令と視点操作命令から構成される操作命令系列を作成/編集することにより、アニメーションを作成/編集する操作命令編集手段と、
    前記視点操作命令または前記オブジェクト操作命令の実行によって、移動対象である前記オブジェクトまたは視点の移動直前の位置と直後の位置の差が規定値よりも大きくなる場合、不連続なシーンの発生として検出する不連続検出手段と、
    前記不連続検出手段により不連続なシーンが発生することが検出された場合、前記移動対象の前記移動直前の位置と前記直後の位置の中間位置へ、前記移動対象を移動させる前記オブジェクト操作命令または前記視点操作命令を生成する補完命令生成手段と、
    を備えたことを特徴とするアニメーション作成/編集装置。
  2. 前記オブジェクト操作命令の実行によるオブジェクト同士間の干渉の発生を検出する干渉検出手段と、
    前記干渉検出手段により前記干渉の発生が検出された場合、前記干渉を回避するオブジェクト操作命令を生成する干渉回避手段と、
    前記干渉回避手段が予め決められた試行回数以内に、干渉回避可能な前記オブジェクト操作命令を生成できなかった場合、前記干渉回避手段を停止させる干渉回避制限手段と
    備えたことを特徴とする請求項1記載のアニメーション作成/編集装置。
  3. 前記三次元モデル情報は、オブジェクト間の拘束条件を保持しており、
    前記拘束条件に違反するオブジェクト操作命令をエラーとして検出する拘束検出手段を、さらに備えることを特徴とする請求項1記載のアニメーション作成/編集装置。
  4. アニメーション編集時において、前記操作命令系列に対しオブジェクト操作命令の挿入/削除/移動を行なう際に守るべき編集ルールを格納している編集ルール格納手段と、
    前記編集ルールを参照して、前記操作命令系列に対し、前記編集ルールに違反するオブジェクト操作命令の挿入/削除/移動の操作が行なわれた場合、その操作を防止/回避する操作命令編集手段を、
    さらに備えることを特徴とする請求項1記載のアニメーション作成/編集装置。
JP2002218621A 2002-07-26 2002-07-26 アニメーション作成/編集装置 Expired - Fee Related JP4156291B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002218621A JP4156291B2 (ja) 2002-07-26 2002-07-26 アニメーション作成/編集装置
US10/626,658 US20040119717A1 (en) 2002-07-26 2003-07-25 Animation creating/editing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002218621A JP4156291B2 (ja) 2002-07-26 2002-07-26 アニメーション作成/編集装置

Publications (2)

Publication Number Publication Date
JP2004062434A JP2004062434A (ja) 2004-02-26
JP4156291B2 true JP4156291B2 (ja) 2008-09-24

Family

ID=31939754

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002218621A Expired - Fee Related JP4156291B2 (ja) 2002-07-26 2002-07-26 アニメーション作成/編集装置

Country Status (2)

Country Link
US (1) US20040119717A1 (ja)
JP (1) JP4156291B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7737977B2 (en) * 2004-05-14 2010-06-15 Pixar Techniques for automatically maintaining continuity across discrete animation changes
US9129077B2 (en) * 2004-09-03 2015-09-08 Siemen Product Lifecycle Management Software Inc. System and method for predicting human posture using a rules-based sequential approach
US8629875B2 (en) * 2010-11-09 2014-01-14 Qualcomm Incorporated Constraint systems and methods for manipulating non-hierarchical objects
US9177408B2 (en) * 2011-06-15 2015-11-03 Lucasfilm Entertainment Company Ltd. Modifying an animation having a constraint
WO2013074926A1 (en) 2011-11-18 2013-05-23 Lucasfilm Entertainment Company Ltd. Path and speed based character control
US10528224B2 (en) * 2014-12-10 2020-01-07 Rakuten, Inc. Server, display control method, and display control program
US10379524B2 (en) * 2015-06-26 2019-08-13 The Boeing Company Management of a display of an assembly model
JP7152023B2 (ja) * 2019-03-29 2022-10-12 公立大学法人札幌市立大学 アニメーション編集プログラム

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2256567B (en) * 1991-06-05 1995-01-11 Sony Broadcast & Communication Modelling system for imaging three-dimensional models
EP0595895B1 (en) * 1991-07-23 1997-12-29 BRITISH TELECOMMUNICATIONS public limited company Method and device for frame interpolation of a moving image
US5450540A (en) * 1992-12-16 1995-09-12 Apple Computer, Inc. Graphical interface for interacting constrained actors
JP2915826B2 (ja) * 1995-07-11 1999-07-05 富士通株式会社 干渉チェック装置
US5745738A (en) * 1996-05-29 1998-04-28 Microsoft Corporation Method and engine for automating the creation of simulations for demonstrating use of software
US5933150A (en) * 1996-08-06 1999-08-03 Interval Research Corporation System for image manipulation and animation using embedded constraint graphics
US6246420B1 (en) * 1996-10-11 2001-06-12 Matsushita Electric Industrial Co., Ltd. Movement data connecting method and apparatus therefor
JP3689226B2 (ja) * 1997-03-13 2005-08-31 富士通株式会社 分解経路生成装置
US5999195A (en) * 1997-03-28 1999-12-07 Silicon Graphics, Inc. Automatic generation of transitions between motion cycles in an animation
JP3383563B2 (ja) * 1997-12-18 2003-03-04 富士通株式会社 物体移動シミュレーション装置
JPH11213179A (ja) * 1998-01-23 1999-08-06 Sony Corp 共有仮想空間提供装置および方法、並びに提供媒体
JP4099273B2 (ja) * 1998-09-25 2008-06-11 富士通株式会社 アニメーション作成装置及び方法並びにアニメーション作成プログラムを記録したコンピュータ読取り可能な記録媒体
US6629065B1 (en) * 1998-09-30 2003-09-30 Wisconsin Alumni Research Foundation Methods and apparata for rapid computer-aided design of objects in virtual reality and other environments
US6753865B1 (en) * 1999-06-30 2004-06-22 Realnetworks, Inc. System and method for generating video frames and post filtering
US6545740B2 (en) * 1999-12-22 2003-04-08 Texas Instruments Incorporated Method and system for reducing motion artifacts
JP3854033B2 (ja) * 2000-03-31 2006-12-06 株式会社東芝 機構シミュレーション装置及び機構シミュレーションプログラム
DE10106023A1 (de) * 2001-02-09 2002-08-29 Fraunhofer Ges Forschung Verfahren und Vorrichtung zur Kollisionserkennung von Objekten
US6657629B2 (en) * 2001-02-28 2003-12-02 Pixar Animation Studios Collision flypapering: a method for defining realistic behavior for simulated objects in computer animation
WO2003071488A1 (en) * 2002-02-19 2003-08-28 Siemens Corporate Research, Inc. Collision detection method for deformable objects in a scene
US6798416B2 (en) * 2002-07-17 2004-09-28 Kaydara, Inc. Generating animation data using multiple interpolation procedures

Also Published As

Publication number Publication date
US20040119717A1 (en) 2004-06-24
JP2004062434A (ja) 2004-02-26

Similar Documents

Publication Publication Date Title
KR101661772B1 (ko) 소스 객체로부터 적어도 하나의 타겟 객체로의 애니메이션 효과들의 복사
US11132820B2 (en) Graph expansion mini-view
JP4064489B2 (ja) 時間事象指定機能を使用したマルチメディア・アプリケーション開発シーケンス・エディタのための方法およびシステム
US7954066B2 (en) Interface engine providing a continuous user interface
US7369130B2 (en) Method and apparatus for editing image data, and computer program product of editing image data
JP3378759B2 (ja) スペーサ・ツールを使用したマルチメディア・アプリケーション開発シーケンス・エディタのための方法およびシステム
US7804503B2 (en) Animating objects using metadata
RU2378698C2 (ru) Модель определения ключевого кадра атрибута сопряженных объектов
EP2330517A2 (en) Media manager with integrated browsers
JPH1031662A (ja) 同期ツールを使用したマルチメディア・アプリケーション開発シーケンス・エディタのための方法およびシステム
US20060031776A1 (en) Multi-planar three-dimensional user interface
WO1999054879A1 (en) System and method for accessing and manipulating time-based data
JP3212287B2 (ja) 物体断面表示装置及び方法並びにプログラム記録媒体
JP4156291B2 (ja) アニメーション作成/編集装置
JPH07200243A (ja) アイコン選択制御装置
US20070201816A1 (en) Editing device and method, program, and recording medium
JP2713147B2 (ja) マルチメディアプレゼンテーション編集方法
JP4010761B2 (ja) 動画像情報の編集方法
JP2008522275A (ja) コンテンツ編集のためのユーザインタフェース
KR101971900B1 (ko) Gui 기반의 프로그램 개발 환경 제공 방법 및 이를 위한 컴퓨터 프로그램
USRE48596E1 (en) Interface engine providing a continuous user interface
JP5221576B2 (ja) 動画像再生表示装置,動画像再生表示方法,動画像再生表示プログラムおよびその記録媒体
JP4068915B2 (ja) 映像データ編集装置及び編集方法
JP2008077432A (ja) ファイルの管理方法および情報処理装置
JP2001109901A (ja) アニメーション作成装置および方法、ならびにアニメーション作成プログラムを記録したコンピュータで読取可能な記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050606

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080311

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080512

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080708

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080709

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

Free format text: PAYMENT UNTIL: 20110718

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4156291

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110718

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120718

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120718

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130718

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees