首页> 中国专利> 计算机图形动画装置及计算机图形动画方法

计算机图形动画装置及计算机图形动画方法

摘要

本发明公开一种能够用少量适当的数据实现多样的动画,形状或分层结构的追加或消除能够容易地进行的计算机图形动画装置。动画控制部1进行形状数据的指定、分层结构数据的指定、部件表的指定和状态信息的指定。并且,人物状态计算部3从形状数据保存部5中获取形状数据,从分层结构保存部4中获取分层结构数据,从部件表保存部2中获取部件表,从动作数据保存部6获取状态信息中记载的动作数据;根据分层结构数据将与部件番号相对应获取的动作数据的变更为上述形状数据。然后,三维绘画部7对变更的形状数据进行三维绘画处理生成图像,在显示部9中显示图像。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2010-08-04

    未缴年费专利权终止 IPC(主分类):G06T15/70 授权公告日:20070711 申请日:20030313

    专利权的终止

  • 2007-07-11

    授权

    授权

  • 2005-05-18

    实质审查的生效

    实质审查的生效

  • 2003-09-24

    公开

    公开

说明书

技术领域

本发明涉及一种三维计算机图形动画领域的装置,特别是具有人物(character)等的分层结构的复杂物体的三维计算机图形动画(graphics animation)装置。

背景技术

以前,在用三维计算机制图(以下简称3DCG)将动物或人等人物生成动画图像时,使用顺序运动学和基于骨架法的关节角的主画面法(参照例如非专利文献1)作为广义的主画面法。下面用图2至图4简单说明这些方法。

对于图2所示的人物形状,定义如图3所示的骨架结构,但它们用图4所示的具有分层结构的链接表达。

人物的动作,用图3的骨架结构的路径方向和移动生成身体整体的动作,通过骨架结构在关节部的局部坐标的变换生成身体的局部动作。通过移动其表面形状使其与该骨架结构的动作相一致就成为人物的动作。作为关节位置上的局部坐标系的变换,一般用4×4矩阵,虽然能表达关节处的回转或平行移动,但一般使关节没有平行移动的自由度而只有旋转的自由度。这一回转角叫作关节角。使这些变换按照从路径到骨架结构的链接依次进行决定身体各部位的状态,作为在路径的坐标系(一般取宇宙坐标系)中的动作表示,根据其身体部位的动作决定身体整体的位置和方向,这样的方法称为顺序运动学。它们在各时刻(每一显示帧频)的重复,就成为作为随时间而动表达的动画。并且,虽然在上述非专利文献1中,必须要有与帧频相一致的关节角数据,但关节角的主画面法只将其抽样时刻的关节角数据(关键数据)作为数据保存,在此以外的时刻的关节角用关键数据的插值计算法算出。

下面,综述一下对以前进行的、使用了这种方法的动作数据的生成方法及动画控制(参照例如非专利文献2)的阐述。

(1)设计计算机图形人物(以下简称CG人物),指定骨架结构(分层结构)做成形状数据。

(2)生成关键时刻的CG人物中的身体状态(姿态)(同时加上面部表情)。

(3)用主画面法决定各时刻的CG人物的形状,在适当的照明和照相数据下再现,连续显示它们生成3D CG动画。

并且,如图5所示,包括面部表情的身体整体的动作按照生成数据时一样生成一连串的3D CD动画。并且,在该文献中还对使用了形态学的方法作为生成包括嘴唇动作的面部表情的方法(称为脸部动画)进行了说明。并且,作为表达其他的表情或嘴唇动作的方法,还有做一些面部结构,对它们进行结构变换生成面部表情这样的方法。

【非专利文献1】

中岛正之主编《三维CG》,尖端技术入门系列,电视学会编,奥姆出版社出版,1994年,P143~161

【非专利文献2】

乔治·玛埃斯特里著,松田晃一他译《数字人物动画》,普兰蒂斯霍尔出版,1999年

一般,为了与3D CG人物动画时,特别是游戏等人机对话的应用程序相对应,大多使用根据图10(a)所示的状态变换图反复进行动作变换、生成一连串的CG人物的动作的方法。在使用上述以前的方法时,图10(a)的基本状态或动作A、……、动作E用上述第2以前示例中所描述的3D CD动画生成方法制成。并且,如图10(a)所示的那样,包括基本状态的6种动作状态根据状态变换不断地变换。如果要生成伴随更多多样性的动作,就需要相应的动作数据,增大了数据量。

而且,在有例如“甩手走路”动作和“坐到椅子上”的动作时,如果不重新将该动作的整体做成1个动作合并到状态变换中,则“甩手坐到椅子上”这样的动作就不出现在CG人物的动作中。这种状况在包含表情动作时更明显,在即使身体动作相同而面部表情不同时,所有的面部表情都必须做成与每一个身体动作统一的动作。当然,做成动作数据时的工作可以再利用身体动作中的,因此可以省略,但数据量不能削减。在例如存储环境少的仪器时,由于这样的数据量的增加是致命的,因此为了减少数据量,就不得不减少动作的种类,其结果是感觉不到CG人物动作的多样性,使用者很快就厌烦了。

其次,实际的人的动作常常会出现握持物体,特别是道具等这样的情况。但是,这样的现实世界中经常容易发生的事情如果用以前的CG人物的动画方法来进行,存在以下问题。

第一个问题,由于握持物体的状态与没有握持的状态其骨架结构是不同的,因此必须要有未握持状态下的形状数据和握持状态下的形状数据,物的种类有多少,CG人物数据就需要多少。第二问题,由于上述骨架结构不同,即使身体动作数据相同,也必须要有握持物体状态下与未握持物体状态下的2种动作。因此,即使同样的动作,形状数据和动作数据也差不多变成2倍的数据量。在这样的状态下,如果要实现上述那样的包括表情动作的动作的多样性,数据量就爆炸性地增加。

发明内容

本发明就是鉴于上述问题,其目的就是要提供一种极力排除造成上述问题的原因的数据的冗余性、能够以比以前少的合适的数据量实现多样的CG人物动画的计算机图形动画装置。

并且,本发明的另一个目的是实现能够容易地进行握有附属部件、物体这样的形状或者分层结构等的追加或消除的计算机图形动画装置。

技术方案

为了解决上述问题,本发明的显示人物的图像的计算机图形动画装置,其特征在于,包括:保存分层结构数据的分层结构保存装置,该分层结构数据为表示构成所述人物的多个部位的分层结构的数据;保存部件表的部件表保存装置,该部件表表示将所述多个部位的集合作为一个部件、在对应的多个部件中该部件与所述部位的对应关系;动作数据保存装置,保存使动作分别与登记在所述部件表中的多个部件相对应的动作数据;动画控制装置,进行所述动作数据、所述部件表及所述分层结构数据的指定;人物状态计算装置,根据遵从所述动画控制装置的输入的所述动作数据、所述部件表及所述分层结构数据,计算出表示所述人物的形状随时间的变化的形状数据。

并且,本发明的计算机图形动画装置还包括输入与所述三维人物的动作有关的事件信息的动画控制装置,该动画控制装置根据输入的所述事件信息的种类进行所述动作数据、所述部件表及所述分层结构数据的指定,所述人物状态计算装置根据所述动画控制装置的输入算出表示所述人物的形状随时间的变化的形状数据。

并且,本发明不仅能够实现上述那样的计算机图形动画装置,而且能够实现将包括该动画装置的装置作为步骤的计算机图形动画方法。

并且,不必说,能够实现用计算机等实现所述动画方法的程序,能够通过CD-ROM等记录媒体或通讯网络等传输媒体使该程序流通。

发明效果

通过以上的构成,本发明的骨架结构导入独立部件这一新概念,用部件表能够生成动作数据与部件分割的个数进行组合的多样的CG人物的动作。并且,由于是部件表能够变换的结构,因此不仅进一步增加了其多样性,而且能够与形状或分层结构本身的追加或消除的变更相对应。

并且,本发明的动画装置,将构成CG人物的多个部位的集合作为部件,给每个部件付与数据控制CG人物整体的动作。因此,不必同时给构成CG人物的所有的部位付与数据,能够用少量的数据量进行CG人物整体动作的变更。

因此,本发明就是要解决以前的问题,能够极力排除引起问题的很大原因的数据冗余性,能够用比以前少的适当的数据量实现多样的CG人物的动画。而且通过使形状或分层结构的追加或消除能够容易地进行,对于握有物体这样的在日常的动作中很平常、但在以前的技术中难以实现的计算机图形动画(以下简称CG动画)图像的生成也能够容易地进行。通过以上的叙述,本发明的效果已经明显,可以得出在CG动画技术领域是非常重要的发明这一结论。

附图说明

图1 表示基于本发明的实施形态的计算机图形动画装置的构成的方框图

图2 人物形状和姿势的矢量说明图

图3 骨架结构(无棒)的说明图

图4 图3的分层结构(无棒)的说明图

图5 主画面动画的说明图

图6 基于结构的表情动作的说明图

图7 骨架结构(有棒)的说明图

图8 图7的分层结构(有棒)的说明图

图9 本发明的部件表的说明图

图10 (a)本发明的身体动作模式数据的说明图

     (b)本发明的表情模式数据的说明图

     (c)本发明的棒的作模式数据的说明图

图11 (a)本发明的动作变换或部件表的变换的说明图

     (b)本发明的动作变换或部件表的变换的说明图

图12 用多个部件进行CG人物的动作变换时的参考图

图13 具有本发明的计算机图形动画装置的功能的移动电话的示意图

本发明的实施形态

下面参照图面说明本发明的第1实施形态的计算机图形动画装置。

本发明的计算机图形动画装置为将三维CG人物分割成几个部件(part),通过控制各个部件的动作来控制CG人物整体动作的装置。

图1表示了本发明的第1实施形态的计算机图形动画装置的构成,由用于输入事件信息并根据该事件信息进行动画的控制的、将各种数据通知给人物状态计算部3的动画控制部1;管理保存部件表的部件表保存部2;从形状数据保存部5等获取数据、进行人物的形状数据的变换的人物状态计算部3;将规定CG人物的骨架结构的分层结构数据作为地址管理保存的分层结构保存部4;用地址管理保存CG人物或部件的形状数据的形状数据保存部5;用地址或动作标识符(以下简称动作ID)管理保存用于进行CG人物或部件的动画的动作数据的动作数据保存部6;进行图像生成处理、进行CG动画的绘图的三维绘画部7;用地址或ID管理保存CG绘图所必需的结构数据的结构数据保存部8;显示CG动画的显示部9构成。

下面详细说明如上所述构成的本发明的实施形态中的计算机图形动画装置。

首先从保存数据开始说明。

分层结构保存部4用地址管理保存着指定需要进行CG人物动画的CG人物(在以下的说明中有时省略CG而单称为人物)的骨架结构的分层结构数据。在例如人的骨架结构时,虽然有图3所示的骨架结构,但它们可以指定为具有图4所示那样的联结结构的分层结构数据。在CG领域中有时也将该分层结构数据称为现场(シ-ン)图表。并且,在如图7所示的那样手上握有棒等物体时,具有图3所示那样的骨架结构的人物,必需规定将棒作为骨架结构的一部分。

虽然与图7相对应的分层结构数据表示在图8中,但由于除棒以外的结构与图3所示的骨架结构完全相同,因此棒可以规定作为图3所示的骨架结构的部件。在这样有追加的部件时,可以将成为部件(棒)的分层结构数据的路径的根源的分层结构中的连接处(在图7的棒的情况下为右手)作为指定的部件的分层结构数据来指定。因此,这里保存的分层结构数据有以下3种:(1)作为根源的分层结构数据,(2)部件的分层结构数据,(3)由规定了隶属关系的数据、作为根源的分层结构数据的地址和部件的分层结构数据的地址构成的分层结构数据。

并且,分层结构保存部4保存表示这些分层结构数据的种类的标识符和分层结构数据。因此,不必分别拥有图4和图8所示的分层结构数据。在访问分层结构数据时,首先根据标识符判别种类,如果类型为上述(1)或(2)则直接获取分层结构数据,如果类型为上述(3)则获取隶属关系和表示实体所在的地址,然后获取实体的分层结构数据,根据隶属关系的描述构筑整体的分层结构数据。

形状数据保存部5用地址管理保存CG人物和部件的形状数据。CG人物的形状数据为与上述骨架结构相对应,如图2所示那样覆盖骨架,对于人来说相当于皮肤或衣服这样的数据,由头部、上肢、躯干、下肢等形状部分构成,它们与上述分层结构数据相对应被分层。

并且,形状数据包括对应的分层结构数据的分层结构保存部4中的地址和识别各形状部分与分层结构数据中的哪个相对应的标识符。部件的形状数据时也一样。

各形状部分通常称为表面(surface)模型,用近似的多边形面的集合体表示物体表面,由三维空间内的顶点坐标、该顶点上的法线矢量成分(在光源辉度计算时必需)、结构坐标(在进行结构变换时必需)的标志化了的点的阵列数据和表示与其相关的方向的相位数据(例如,顶点标志依次写着1、2、3时表示以点1、2、3为顶点的三角形)构成,而且包含各面的反射率(扩散反射率、镜面反射率)或环境光强度、物体的颜色等属性数据。

并且,在CG人物用结构变换身上穿着的衣服或脸等来表示时,CG人物的形状数据的该部件中明确表示了使用的结构(texture)在结构数据保存部8中的地址。

动作数据保存部6用地址或动作ID管理保存用于进行CG人物或部件的动画的动作数据。虽然在本实施形态中,以CG人物为例说明具有分层结构的物体的动作数据,但对于其他的具有分层结构时的物体也同样能够实施。

在CG人物的情况下,动作可以分为身体动作和面部表情动作,因此,在本实施形态中,动作数据有身体动作数据和面部表情动作数据2种。

为了能在通常的CG人物动画中进行,该身体动作数据用分层结构数据的路径(身体的代表点,图2所示的P)上的位置数据和方向数据(图2所示的姿势矢量)表示身体整体在三维空间中各时刻的位置和姿势。路径(P)的位置数据可以直接作为位置数据表示,但一般用初始时刻的位置矢量和表示在各时刻的移动量的移动矢量来表示。而对于方向,用路径(P)所定义的局部坐标系的旋转变换来指定,具体地,它们用围绕三维空间内的3个坐标轴的旋转角度,或者用表示旋转的中心轴的矢量成分和围绕该矢量旋转的角度来表示。该路径的动作数据用图4或图5所示的分层结构数据的动作部位标识符m0来识别。

并且,身体各部分(上下肢、躯干等)的动作用围绕骨架结构中各关节定义的局部坐标系的坐标轴旋转的角度的时间系列数据表示。由于骨架结构的关节相当于分层结构数据的连接部,因此各连接部被付与图4所示的动作部位的标识符(动作ID)m0、m1、m2、……m27。因此,在以前的动画技术中,这些m0、m1、……m27的多变量时间系列数据的集合就成为身体动作数据。在以上的m0、m1、……m27的这些路径或关节部的局部坐标系上的变换系中,变换CG人物的形状数据,生成各时刻的CG人物所处的位置和方向、CG人物的身体的姿态,进行三维绘画处理,通过一定时间连续地进行这些处理,能够实现CG动画。

而在如图5所示的使用主画面动画技术时,并未拥有所有画面的身体动作数据,而是用随时间跳跃的时间系列数据(f0、f5、f10……),它们之间的时刻(f1~f4、f6~f9……)的动作数据用插值计算进行,因此随时间跳跃的上述平行移动量和角度的时间系列数据成为身体动作数据。

如观察实际的人能够判断的那样,面部表情可以分解成眼、脸颊和嘴等的动作。在例如图4的骨架结构中,表情动作可以分解为眨眼动作、脸颊动作、嘴唇动作和眉的动作。它们为依脸型而决定的动作。

虽然表情的生成方法用通常进行的面部动画技术,但也有例如将脸的形状改变的方法或重新粘贴脸的结构的方法。

在这种将脸的形状改变的方法中,脸的形状数据中的与生成表情的眉、眼和嘴等的端点相对应的顶点坐标的移动量的时间系列数据为表情动作数据。这些移动量可以根据脸的肌肉模式用模拟计算计算出来。当进行变换的顶点横跨多个变换系时,也可以使用所谓包络(ェンベロ-プ)方法,该方法将与各变换相对应的加权付与顶点,在各变换系中算出临时变换了的多个顶点,将它们变换成考虑了加权的平均的坐标。

图6为重新粘贴脸部结构生成表情时的说明图。在重新粘贴结构生成表情时,将多个笑的表情或哭的表情的结构以及其中间阶段的结构编档保存,在内部进行ID管理。在利用这样的结构时,用ID从归档保存的结构中选择各时刻生成表情所必需的数据,在脸部进行结构变换生成表情。因此,身体动作数据时的时间系列参数(画面番号或时间)与管理用的ID相对应。这些归档保存的结构数据就是用于生成表情的表情动作数据。

并且,对于上述改变脸部形状进行的方法或重新粘贴(はりかぇる)脸部结构的方法中的任何一种方法,都与骨架结构相对应具有动作数据,因此与身体动作时一样,用动作标识符识别。例如,在图4中,标识符m28、……m34的标识符为表情动作标识符。

并且,虽然在本实施形态中说明的是用上述归档(ァ-カィビング)保存的结构变换生成面部表情的情况,但在用改变形状或包络方法进行面部动画时,也可以通过使用与身体动作相同的方法相对应。

并且,虽然在本实施形态中使分层结构数据与上述形状数据和动作数据分开、彼此独立,但通过适当处理形状数据的描述方法或动作数据的描述方法,也可以使其包含在形状数据或动作数据中。即,由于形状数据是由部件构成的,因此可以将其部件的标识符和利用了该标识符、表示隶属关系的标识符插入到数据中,或对于动作数据也一样,可以将动作标识符和利用了该标识符、表示隶属关系的标识符插入。例如,当形状部件的标识符1、标识符2存在隶属关系时,可以将根源的标识符1记入到标识符2的部件数据的标题部或属性描述部。

在部件表保存部2中,用部件表番号或地址管理保存着部件表。如图9所示,该部件表为将部件ID和动作ID组作为数据保存的表。由于本发明中的部件ID是与上述分层结构的联结结构独立定义的,因此对于一个部件ID指定了多个动作ID的集合(动作ID组)。

例如,图9的部件表0相对于图4所示的CG人物的分层结构指定了从部件0到部件4。并且,部件0包括路径(m0)和脊椎根部(m1),部件1包括左大腿(m2)、右踝节(m7)等,部件2包括左脖颈关节(m8)、上颈椎(m27)等,部件3包括脸的嘴唇(m28)和左右脸颊(m29、m30),部件4包括左右眼(m31、m32)和左右眉(m33、m34)。

并且,在图9所示的部件表1中,相对于图8的分层结构指定了部件0到部件5,部件0包括路径(m0)和脊椎根部(m1),部件1包括上下颈椎(m26、m27),部件2包括身体左侧部分的左大腿(m2)、左脖颈关节(m8)等,部件3包括身体右侧部分的右大腿(m5)、右脖颈关节(m17)等,部件4包括脸部的嘴唇(m28)和左右脸颊(m29、m30),部件5包括左右眼(m31、m32)和左右眉(m33、m34)。

并且,在图9所示的部件表2中,相对于图8的分层结构指定了部件0到部件5,部件0包括路径(m0)和脊椎根部(m1),部件1包括左大腿(m2)、右踝节(m7)等,部件2包括左脖颈关节(m8)、上颈椎(m27)等,部件3包括嘴唇(m28)和左右脸颊(m29、m30),部件4包括左右眼(m31、m32)和左右眉(m33、m34),部件5包括棒(m35)。

并且,在图7及图8中,图9的部件表2中的CG人物部件的每个分区用虚线表示。部件0包括路径(m0)和脊椎根部(m1),部件1包括左大腿(m2)、左膝(m3)、左踝节(m4)、右大腿(m5)、右膝(m6)和右踝节(m7),部件2包括左脖颈关节(m8)、左肩(m9)、左肘(m10)、左手腕(m11)、左手手指(m12~m16)、右脖颈关节(m17)、右肩(m18)、右肘(m19)、右手腕(m20)、右手手指(m21~m25)、下颈椎(m26)及上颈椎(m27);部件3包括嘴唇(m28)及左右脸颊(m29、m30);部件4包括左右眼(m31、m32)及左右眉(m33、m34);部件5包括棒(m35)。

这样,本发明的计算机图形动画装置通过将构成CG人物的多个部位中的2个以上的集合分割成部件,分别对这些部件付与动作数据等控制CG人物整体的动作。因此,不必像以前的主画面动画控制那样为了表达CG动画的一个动作而给所有的部位付与数据,而是通过以各部件独立的形式将数据付与人物状态计算部3,可以计算出表示CG人物的形状随时间而改变的形状数据。

例如,在表达“笑着走”这样的CG人物时,以前的动画装置必须将“笑着走”这样的数据同时付与构成CG人物的所有的部位,而在本发明中,通过使CG人物为包含多个部位的部件的集合,可以将“笑”动作数据和“走”动作数据分别付与各部件,可以改变每个部件的形状。因此,不必给所有的部位付与新数据,能够极力排除数据的冗余,能够用少的适当的数据量实现多样的CG人物动画。

而且,在CG动画中,虽然可以通过给构成人物的所有部位付与数据来表达多样的动作,但在本发明的动画装置中,不是简单地给CG人物的所有部位付与数据使动作复杂化,而是通过给每个作为构成部位的集合的部件付与数据来表达具有CG人物整体意义的动作。

这样如果使用部件表,可以从每个部件ID不同的动作数据中选择动作数据。并且,在只有一个部件ID时,就成为与以前的主画面动画控制等价的情况。并且,部件ID数的最大值与动作ID数相等。

结构数据保存部8用地址或ID管理保存CG绘画所必须的结构数据。保存的结构数据有归档保存的用于生成上述表情动作的结构数据、形状数据附带的用于衣服、作为背景等使用的数据。通常,在三原色或亮度色差信号等形式的彩色图像时以压缩或者非压缩的状态保存。但在被压缩保存时,在进行结构变换之前需进行解压。

接下来对本实施形态中的动画图像的生成处理进行说明。动画控制部1预先通知或者保持用于生成CG动画图像的CG人物的形状数据的地址、附属部件的形状数据的地址、CG人物和附属部件的分层结构数据的地址、使用的部件表的地址、后述身体动作模式数据及表情模式数据。在CG人物为多个时,上述模式数据被保持在每个人物中。但是,即使在多个CG人物的情况下,如果变换同时开始,共同的部件只要各有一种身体动动作和表情动作模式数据就可以。

并且,虽然部件表固定也可以,但本实施形态还对变换到例如事件信息(键盘输入的信息或声音分解的结果、与其他的形状接触或冲突等,内容依系统而定,本实施形态与其内容无关)不同的部件表的情况进行说明。但是,该部件表的变换是预先以提纲的形式保持着的。例如,输入事件P的信息后,参照提纲决定对该事件P的处理,在决定的内容为部件表的变换时开始部件表的变换。并且,该提纲(scenario)中还包含后述身体动作的变换(身体动作模式数据)、表情动作变换(表情模式数据)、与附属部件的动作变换(附属部件的模式数据)相关的决定信息。

身体动作模式数据为如图10(a)所示的有限状态的图表,为由能够从某个动作开始转换的动作关系和实体动作信息(动作ID、数据类型、各实体动作的地址和帧数、各变换的转换概率)组成的数据。例如从图10(a)可以判定,能够从表示基本状态的基本动作数据向动作A、动作B、动作C、动作D、动作E转换。在CG人物处于标准状态、预先规定的某个事件发生或者一个动作完了时,通过基于实体动作信息中描述的转换概率(也称变换概率)选择处理(随机处理),从动作A、动作B、动作C、动作D、动作E中选择动作,根据地址获取该动作实体。并且,该变换在部件表中的与身体动作有关的每个部件ID中进行。

表情模式数据为这些表情动作的变换图形数据,与身体动作数据的变换图表数据一样,为能够从一定的表情动作数据向别的表情动作数据转换的有限状态的图表和实体表情信息(表情ID、数据种类、各实体表情动作数据的地址和帧数、各变换的转换概率)。例如图10(b)所示,在该示例中表情0为基本表情,可以向其他的表情1、表情2、表情3转换,转换前的选择根据实体表情信息的转换概率进行。并且,由于能够根据实体表情信息的数据种类指定是能够用于表情动作还是能够用于结构形状的形状,因此即使上述形状改变时的表情动作也能使用。例如,将数据种类的第1位用于是表情还是结构的分类,第2为以上的数字作为形状用的识别番号。由此,能够与根据数据种类、用结构生成的表情动作和用形状改变生成的表情中的任何一个相对应。

在表情动作中,特别是在进行嘴唇动作(嘴唇、脸颊动作等,本实施形态相当于部件表0所示的部件3的动作ID组m28、m29、m30)、进行与声音同步的动作(对口形)时,不是用上述的表情模式数据,而是用下面这样的别的控制方法实现。并且,作为事件信息,为输入的对声音数据的分解结果,而作为声音分解结果,下面对获得声音强度分解结果和音素分解结果(虽然以母音分解为例进行说明,但在进行子音分解时也同样能够实施)的情况进行说明。

首先,作为嘴唇动作数据和脸颊动作数据,预先准备好与ぁ、ぃ、ぅ、ぇ、ぉ、ん相对应的结构数据,并且,对于各ぁ、……ぉ准备好从其音量小到音量大的数据。由于从当时的事件信息判断了母音和音的强度,因此从与其母音相对应的结构中指定与音的强度相对应的音量的结构,通过选择该结构作为嘴唇动作数据、脸颊动作数据,能够对上口形。

并且,在用改变形状进行对口形时,同样只要选择与母音分解结果和声音强度分解结果相对应的形状改变量就可以。此时,事件信息输入后,至少会产生1帧的延迟,但例如在绘画为30帧/秒的帧频时,只有30毫秒左右的延迟,对于人的视觉能力这种程度的延迟没有问题。

本实施形态由于使用了作为CG人物的附属部件的棒,因此以同时保持了表达棒的动作变换的棒动作模式数据为例进行说明,但在其他的附属部件的情况下同样可以实施,并且附属部件为多个时也同样能够实施。例如,图10(c)为进行棒(附属部件)的动作控制的变换图表,与身体动作的变换图表一样指定从棒的基本状态向棒动作0、1、2的变换。

下面虽然说明的是根据随机变动进行的动作变换,但也可以是上述那样的固定地进行对口形或者选择处理的情况。在固定地进行选择处理时,最好是预先准备好变换的提纲,根据该提纲进行动作选择。

图11(a)及(b)为根据预先确定的提纲进行动作变换或部件表的变换的变换结果的示意图,下面对用它们生成本实施形态中的动画图像的处理动作进行具体的说明。

动画控制部1进行以下控制,即:(1)动画图像的绘图画面管理,(2)生成下一幅图像所必需的部件ID的每个动作数据的地址和动作数据中的画面番号的管理,(3)事件信息的管理及与该事件相对应的处理,(4)CG人物的每个部件ID的动作变换的控制,(5)将CG人物形状和附属部件形状的地址、与这些形状数据相对应的分层结构的地址通知(只在CG动画图像生成前进行一次)给人物状态计算部3,(6)将目前使用的部件表番号或地址通知(在绘图开始、部件表变更时通知)给人物状态计算部3,(7)将生成下一幅画面所必需的部件ID的每个动作数据的地址和动作数据中的画面番号通知给人物状态计算部3。

首先,将生成CG动画图像的CG人物的形状数据的地址、与该形状数据相对应的分层结构数据的地址、有附属部件时附属部件的形状数据、及与该形状数据相对应的分层结构数据的地址通知给人物状态计算部3。当有多个CG人物或有附属部件时通知复数份。然后,如果根据图11(a)所示的提纲,由于最初选择的部件表为部件表0,所以开始的画面对于部件番号为0~2时选择身体动作的基本状态,部件番号为3、4时选择动作表情的表情0。这种选择结果用下面这样的目录列表作为状态信息通知给人物状态计算部3。

即,(状态信息)部件番号0、身体动作(此时是基本状态)的地址、画面番号0,部件番号1、身体动作(此时是基本状态)的地址、画面番号0,部件番号2、身体动作(此时为基本状态)的地址、画面番号0,部件番号3、表情动作(此时为表情动作0)的地址、画面番号0,部件番号4、表情动作(此时为表情动作0)的地址、画面番号0。

当人物为多个时,该状态信息通知给每个人物。人物状态计算部3根据动画控制部1如前所述预先通知的CG人物的分层结构数据的地址从分层结构保存部4获取分层结构数据,根据形状数据的地址从形状数据保存部5获取形状数据。并且,根据同样地通知的部件表番号或者地址从部件表保存部2获取该部件表(本说明的情况下为部件表0)。根据上述那样通知的状态信息和获取的部件表,从动作数据保存部6获取该动作数据。

该动作数据的获取如下所述地进行。即,如图9所述的那样,根据部件表0的信息判断部件番号0的动作ID组为动作标识符m0、m1。然后根据状态信息的身体动作数据的地址获取保存在动作数据保存部6中的该身体动作数据(此时为基本状态)。根据动作标识符(此时为m0、m1)和状态信息的画面番号从获取的身体动作数据中获取该动作标识符的该画面番号的身体动作数据(1个画面的量)。此时,如上所述的那样,关键画面数据时,初始画面必须立即保存,但根据画面番号不同,也有处在主画面之间的。在主画面之间时,获取包括该画面番号在内的、该画面番号以下的主画面内的最大值,和该画面番号以上的主画面内的最小值,将取得的2个值进行线性插值生成该画面番号的身体动作数据。并且,在用曲线插值等高次多项式(2次以上)生成时,如果(上述线性插值的说明有在以下时为最大和在以上时为最小2个)“在以下为最大和第二大、第三大……”或“在以上为最小和第二小、第三小……”这样获取与次数相同的主画面的数据,则能够获取必要个数的主画面的数据。

对于部件番号1和2也同样地从动作数据保存部6获取身体动作数据,然后从获取的身体动作数据中获取部件表0中的与部件番号相对应的动作标识符和状态信息的该画面番号的身体动作数据。根据获取的身体动作数据(关节角数据)和分层结构数据生成在分层结构的各部件所定义的局部坐标中将获取的形状数据施行了矩阵变换(向前キネマネティクス)的形状数据,然后根据指定的部件0的路径(m0)的身体动作数据的移动量和方向使所有人物的形状数据作旋转变换和平行移动变换,生成使所有的人物都变更到指定的方向和位置上的形状数据。并且,在身体状态的变换处理时,如果使用包络方法,则能生成形状没有断裂的圆滑的形状。

然后,在部件番号3和4通过形状改变或包络的方法生成表情动作时,生成改变了与上述身体动作时相同的形状数据的形状数据。在归档保存了表情动作的结构数据的情况下,表情动作的地址为结构数据保存部8中的、生成表情所必需的归档保存了的结构数据的地址,画面的番号与其归档的管理ID番号相对应。将该地址和管理ID番号写入指定了在上述过程中新生成的人物的形状数据(施行了位置、方向或身体状态的变更的数据)的该部件(嘴唇、左右脸颊、左右眼、左右眉)的结构数据的地方。

在上述人物状态计算部3中施行了变更的人物的形状数据被送至三维绘画部7。并且,在进行人物的冲突判断(与其他的CG人物、背景形状等的接触或冲突)时,用人物状态计算部3进行。作为其方法,只要判定计算在对人物形状数据进行上述变更时,该形状是否与其他的形状交错就可以。但是,由于人物的形状数据一般比较复杂,因此为了简化,只要用边界框(包含人物形状的最小的矩形体)或边界球(包含人物形状的最小的球对或椭球对)作为替代形状,对人物形状数据或背景形状数据进行是否交错的判断计算就可以。

三维绘画部7根据送来的人物的形状数据和形状数据指定的结构数据、外部输入的光源数据和照相机数据用通常的三维CG处理进行图像生成处理,生成的图像送给显示部9显示。例如,在三维绘画部7中,用グ一ロシェ一ディング和Z缓冲处理进行三维CG处理生成图像,显示时,根据光源数据算出形状数据的各顶点的辉度值,对形状数据施行视场变换、透视变换(为了削减计算量也可以进行剪辑处理),从结构数据保存部8中读出指定的结构数据进行结构变换。

此时,形状的色彩用算出的辉度值乘以用形状数据指定的色彩算出顶点的色彩,顶点之间的色彩用线性插值决定。并且,变换结构时,通过形状数据预先指定的变换坐标算出结构数据的位置,然后乘以辉度值,由算出的值决定。通过这些处理,决定构成图像的各像素的颜色(通常用三原色或YCbCr等格式),生成图像,生成的图像送到显示部9显示。通过以上的处理,生成一幅画面图像。反复进行这样的处理直至各部件的动作数据完了。

下面说明某个部件的动作数据完了时的处理。例如,在图11(a)中,部件0、1、2的身体动作数据比部件3、4率先完了。这个完了是在动画控制部1的(1)动画图像的绘图画面管理中,根据动作数据完了的画面的番号,在生成下一个画面图像所必需的画面的番号变大时检测到的。当检测到完了时,动画控制部1对其部件进行动作变换。例如,在部件0、1、2时根据图10(a)的身体动作模式数据进行,但该处理在每个部件中如下进行。

例如,在完全随机的动作变换且等概率的情况下(即向各状态的转换概率为1/6的情况下),由于能够从基本状态转换的状态包括基本状态有6种,因此利用6的剩余数系预先规定为:余数为0时为基本状态,为1时为状态A,为2时为状态B,为3时为状态C,为4时为状态D,为5时为状态E。在此条件下,可以按以下顺序进行转换计算:(1)生成随机数,(2)用6除以随机数,(3)检查余数,(4)向与余数相一致的状态转换。在不是等概率的情况下也同样可以进行,在换算到用变换概率的分母(少数情况下换算到用分数表示)的公倍数表示时,将公倍数作为实数直线的线段分割成与各变换概率的分子相等的线段区域,用公倍数去除随机数,变换到余数进入的区域就可以。

以上虽为完全随机时的动作变换,但在用提纲开始事件、指定部件番号的下一个动作被预先确定时,下一个变换由其指定的动作决定。例如,在嘴唇动作时,将进行“ぁ”的嘴形动作时下一个动作为“ぃ”作为事件指定,强制地将下一个动作变换为“ぃ”的动作。通过这样的能够将强制的变换与上述随机变换组合,使事件开始时预先指定的下一个变换的动作的变换概率比通常的大,使其他的可能变换的动作的变换概率比通常低,对该修正后的变换概率进行上述随机的处理。这时,虽然向预先指定的动作的转换的概率变高,但并不一定像强制地转换时那样转换。因此对事件的规则性适中,能够作出实际的人能够猜测到的变化程度的效果。

图11(a)中表示了以上那样的变换处理的结果,部件0变换到动作A,部件1变换到动作B,部件2变换到动作C。并且,对于表情动作也一样,在表情0的动作完了后,通过上述变换处理,部件3从表情0变换到表情2,部件4从表情0变换到表情3。这样的处理反复进行,人物的CG动画图像一直生成下去。

下面说明部件表的变换。本实施形态以用提纲指定在事件P开始时从部件表0到部件表1的变换开始(参照图11(a)),事件Q开始时从部件表0到部件表2的变换开始为例进行说明。事件P或事件Q在前面已说明过,基本上是什么样的事项都可以,例如,键盘输入或CG人物到达预先指定的位置时的声音的分解结果、与其他形状的接触或冲突等,但内容依系统而定,本实施形态与内容本身无关。

并且,除上述提纲以外,也可以考虑将感情推定的结果作为提纲中的事件反映到CG人物的动作中。例如可以考虑利用移动电话的讲话者的声音,利用使用了韵律、振幅、重音等声音数据的频率信号的感情推定方法,通过动画控制部1指定“喜”、“怒”、“悲”等感情的动作数据,在人物状态计算部3中进行根据感情推定的形状数据的变更、反映到CG人物中。此时,由于画面中显示的CG人物推定表达了说话者的感情,因此可以提高本发明的计算机图形动画装置的娱乐性等。

如果根据图11(a)进行说明,首先,在图示的时刻从外部或者人物状态计算部3将事件P的发生通知动画控制部1。动画控制部1接到通知后,根据提纲转移到进行从部件表0向部件表1的变换的处理。由于该处理最重要的是同步处理,因此,对于部件0,现在进行的动作D完了后,强制地使其向基本状态变换。同样,在现在进行的动作完了后,使部件1从动作E变换到基本状态,使部件2从动作A变换到基本状态,使部件3从表情1变换到表情0,使部件4从表情2变换到表情0。在这些变换全部完成后,进行从部件表0到部件表1的变换(图11(a)中为事件P的变换时刻)。

虽然在此时部件表0和部件表1中部件的个数和各部件中的动作ID组不同,但由于部件表1与用初期的部件表生成CG动画图像相同,因此能够用连续的内容生成CG动画图像。通过以上的处理,在从部件表0变换到1后,与上述同样,根据变换概率反复进行动作变换,继续CG动画。

图11(b)中的从部件0到部件4的处理与上述图11(a)的部件表0时一样,但由于部件表2中分层结构本身的变更,此处为开始追加棒的形状(部件5),因此对于部件5,变换后的最初的棒的动作从棒的基本状态开始,此后,根据上述的动作变换控制处理生成CG动画图像。由于这些处理与将部件表2作为初期部件表进行的处理相同,因此能够生成连续的CG动画图像。通过以上的处理,变换后与上述一样,根据变换概率反复进行动作变换使CG动画继续。

这样地,CG人物被分成包含多个部位的部件,动作数据保存部6保持分别与各部件相对应的多个动作数据。然后,人物状态计算部3根据提纲将上述动作数据按时间序列付与各部件,算出表示CG人物整体形状随时间的变化的形状数据。然后在三维绘画部7中将结构数据付与形状数据作成CG人物的三维图像,在显示部9中,将作成的三维图像显示在画面中。

并且,在防止棒形状突然出现时,棒形状表示在预先生成的动画图像中就可以。并且,为了防止棒突然飞来这样的事态,只要事件Q是伴随与棒的接触就可以。但是,这些情况是依赖提纲的事项,在例如魔术这样的情节下,反之,存在棒突然出现或者飞来的情况。对于从部件表2向部件表0的变换也可以通过进行同样的处理进行变换。从部件表0向部件表2的变换适合形状或分层的追加,从部件表2向部件表0的变换适合形状或分层的消除。并且,虽然是对棒这样的单层的形状进行说明,但在具有其他的复数的分层结构的形状时也通过进行同样的处理进行处理。

图12为用多个部件进行CG人物1201的动作变换时的参考图。这里,CG人物1201分为脸的部件1202、上半身部件1203和下半身部件1204这3个部件。并且,部件1202、部件1203和部件1204各具有3种动作数据。并且,虽然这里以3个部件分别具有3个动作为例进行说明,但不用说,本发明并不仅限于此。

并且,脸的部件1202具有表情0(通常脸)、表情1(哭脸)及表情2(笑脸)这3种表情数据,上半身部件1203具有基本状态A(甩臂)、动作B(跳舞)及动作C(行礼)这3种身体动作数据,下本身部件1204具有基本动作D(站立)、动作E(行走)及动作F(座)这3种身体动作。因此,通过部件1202、1203及1204这3个部件分别具有3种动作数据,CG人物合计可以做27种动作。

因此,本发明的动画装置通过规定多个包括构成CG人物的部位的部件,将对应的动作数据付与各部件,不仅能像上面所述的那样用少的数据量控制CG人物整体的动作,而且使CG人物整体能够表达复杂的动作,能够有效地防止动画装置的使用者由于CG人物表达的动作形态少而在短时间内厌烦等问题。

图13为具有本发明的计算机图形动画装置的功能的移动电话1301的示意图。移动电话1301的画面1302中显示了人物1303和人物1304。动画控制部指定根据人物1303和人物1304各自的部件分割的动作数据等,人物状态计算部3算出人物1303和人物1304各自的每个部件随时间变化的形状数据,控制CG人物整体的动作。因此,人物1303和人物1304相互独立地进行动作控制,显示在画面中。并且,在这样的显示多个CG人物的情况下,可以考虑共同拥有CG人物之间的动作数据。

而且,本发明并不局限于上面所述的第1实施形态,不用说,在其能够利用的范围内都可以实施。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号