发明内容
为了应付这种现状,本申请的发明人等进行了如下的构思:一种装置包含发送接收机构、传送或复原机构、决定机构以及变更机构。其中发送接收机构用骨骼构造来定义人类等的复杂的构造,并压缩和复原所指定的骨骼的基准位置(下称“根”)信息及骨骼的各关节位置的运动信息;所述传送或复原机构把骨骼构造的运动数据分解为三维假想空间内的运动的代表性的要素数据(下称“基本动作”),并把该分解了的基本动作与该动作的代表运动的连接方法一起进行传送和复原,所述骨骼构造的运动数据是附加在初始信息上的数据,所述初始信息包含骨骼构造的层次关系、骨骼构造的初始状态、骨骼构造的制约条件(例如各关节的转动自由度或转动范围等)、对应附加在骨骼上的形状数据以及与骨骼构造的对应关系数据;决定机构根据发送接收的动画信息决定必要的骨骼构造的姿势:变更机构根据被发送接收的复杂造型的动作信息进行操作的用户指示把例如动作的方向或基本的动作顺序等的操作变更为人机对话。这样,在发送接收具有人类的复杂的构造的特征的三维动作的情况下,用骨骼构造来定义人的层次,并在把所定义的骨骼构造的一部分的关节的三维假想空间内的移动量按时间序列进行发送接收的或代表的运动要素上附加该代表的运动要素的连接方法,而且可以进行发送接收,结果就可以发送接收以网络为基础的发送接收系统中的特征的自然而圆滑的运动,同时还不会大幅度地削减传送时的数据量。
本发明就是根据上述的构思而构成的方案,其目的是提供一种三维骨骼构造的动作发送接收装置以及动作发送接收方法,这种装置和方法能够在连接于国际互联网上的客户和服务器之间发送接收具有骨骼构造(层次构造)的人类的复杂的形状(复杂造型)和成为复杂造型的基础的动作数据,并且可以在网络上的三维假想空间内把复杂造型与人机对话一起进行操作。
为了实现上述目的,方案1中所记载的发明的三维骨骼构造的动作发送接收装置是一种用来由发送方把三维计算机绘图中的骨骼构造的动作数据发送到接收方,并在接收方根据发送来的骨骼构造的动作数据生成动画的装置,其特征在于包含发送装置、传送装置和接收装置;所述发送装置根据来自上述接收方的请求,来决定是把上述骨骼构造的动作数据附加在包含定义上述骨骼构造的层次关系的层次数据、该层次数据的初始状态、骨骼的关节的制约条件、对应附加于骨骼上的形状数据、与上述骨骼构造的对应关系数据的初始信息上,并作为时间系列数据进行发送,还是分解为三维假想空间内的动作的特征的要素数据,再作为把该要素数据的连接方法附加到该分解了的要素数据上的数据进行发送,然后按照所决定的发送状态把上述骨骼构造的动作数据附加到上述初始信息上进行发送;所述传送装置按照存在于发送方计算机上的发送程序和存在于接收方计算机上的接收程序把在上述初始信息上附加了上述骨骼构造的动作数据的计算机绘图动画数据从发送方计算机传送到接收方计算机;所述接收装置接收从上述传送装置传送来的上述计算机绘图动画数据,并判断该接收到的上述计算机绘图动画数据的发送状态,当判定把附加在上述初始信息上的上述骨骼构造的动作数据作为时间系列数据进行发送时,解释上述初始信息和作为时间系列的数据被发送出来的上述骨骼构造的动作数据,然后根据运动学原理来决定上述骨骼构造的姿势,另一方面,当判定为把附加在上述初始信息上的上述骨骼构造的动作信息分解为成为三维假想空间内的动作特征的要素数据,并作为在该分解了的要素数据上附加了该要素数据的连接方法的数据发送出来时,解释上述初始信息和作为在分解了的要素数据上附加了该要素数据的连接方法的数据被发送出来的上述骨骼构造的动作数据,然后根据运动学原理来决定上述骨骼构造的姿势。
方案2中所记载的发明的三维骨骼构造的动作发送接收装置是一种用来由发送方把三维计算机绘图中的骨骼构造的动作数据发送到接收方,并在接收方根据发送来的骨骼构造的动作数据生成动画的装置,其特征在于包含发送装置、传送装置和接收装置;所述发送装置根据来自上述接收方的请求,来决定是把上述骨骼构造的动作数据附加在包含定义上述骨骼构造的层次关系的层次数据、该层次数据的初始状态、骨骼的关节的制约条件、对应附加于骨骼上的形状数据、与上述骨骼构造的对应关系数据、对于上述形状数据的一部分进行动画标记的动画数据列和标记方法的初始信息上,并作为时间系列数据进行发送,还是分解为三维假想空间内的动作的特征的要素数据,再作为把该要素数据的连接方法附加到该分解了的要素数据上的数据进行发送,然后按照所决定的发送状态把上述骨骼构造的动作数据附加到上述初始信息上进行发送;所述传送装置按照存在于发送方计算机上的发送程序和存在于接收方计算机上的接收程序把在上述初始信息上附加了上述骨骼构造的动作数据的计算机绘图动画数据从发送方计算机传送到接收方计算机;所述接收装置接收从上述传送装置传送来的上述计算机绘图动画数据,并判断该接收到的上述计算机绘图动画数据的发送状态,当判定把附加在上述初始信息上的上述骨骼构造的动作数据作为时间系列数据进行发送时,解释上述初始信息和作为时间系列的数据被发送出来的上述骨骼构造的动作数据,然后根据运动学原理来决定上述骨骼构造的姿势,另一方面,当判定为把附加在上述初始信息上的上述骨骼构造的动作信息分解为成为三维假想空间内的动作特征的要素数据,并作为在该分解了的要素数据上附加了该要素数据的连接方法的数据发送出来时,解释上述初始信息和作为在分解了的要素数据上附加了该要素数据的连接方法的数据被发送出来的上述骨骼构造的动作数据,然后根据运动学原理来决定上述骨骼构造的姿势。
方案3中所记载的发明的三维骨骼构造的动作发送接收装置,其特征在于在方案1或2所记载的三维骨骼构造的动作发送接收装置中,所述发送装置包含:定义上述骨骼构造,并把该定义的骨骼构造数据作为初始信息进行发送的装置以及根据上述骨骼构造的预定部分的运动的三维假想空间的轨迹分解为代表的要素数据,并在该分解了的要素数据上附加该要素数据的连接方法,然后进行发送的装置;上述接收装置包含:用来把所传送来的骨骼构造数据作为初始信息进行复原的装置、用来把对应附加于作为初始状态被复原了的骨骼构造数据的形状数据布局到上述骨骼构造上的装置以及从所传送来的要素数据和所传送来的要素数据的连接方法决定上述骨骼构造的姿势的装置。
方案4中所记载的发明的三维骨骼构造的动作发送接收装置,其特征在于在方案1或2所记载的三维骨骼构造的动作发送接收装置中,所述发送装置包含:发送上述骨骼构造和该骨骼构造的动作信息的装置以及压缩对应于上述骨骼构造的一部分的动画图象数据列,并把根据上述骨骼构造的运动变更动画图象的方法附加到该压缩了的动画图象数据列上进行发送的装置;上述接收装置包含:把传送来的上述骨骼构造和该骨骼构造的动作信息进行复原的装置以及把对应附加于传送来的上述骨骼构造的一部分的动画图象数据列复原后,再用根据传送来的上述骨骼构造的运动变更动画图象的方法来决定上述骨骼构造的姿势的装置。
方案5中所记载的发明的三维骨骼构造的动作发送接收装置,其特征在于在方案1或2所记载的三维骨骼构造的动作发送接收装置中,所述发送装置包含:设定装置和显示装置;所述设定装置对应该决定与发送的上述骨骼构造中的三维假想空间内的动作数据有关的要素数据的成为发送对象的CG特征把局部坐标系设定在该特征的主要位置上;所述显示装置考虑包含设定了局部坐标系的上述特征能够动作的动作范围那样的三维假想空间,把三维假想空间分割为与该三维假想空间相似的子三维假想空间,进一步把该子三维假想空间按层次进行分割,从子三维假想空间的大小、子三维假想空间的分割尺寸、随上述特征的移动的局部坐标系上的旋转移动行列及与层次化了的子三维假想空间的位置有关的信息中显示上述特征的骨骼构造的当前所关注的部分存在于三维假想空间内的哪个位置上;上述接收装置包含复原装置,所述复原装置考虑应该根据发送来的与上述骨骼构造中的三维假想空间内的动作数据有关的要素数据决定上述骨骼构造的姿势的包含设定了局部坐标系的上述特征能够动作的动作范围那样的三维假想空间,把三维假想空间分割为与该三维假想空间相似的子三维假想空间,进一步把该子三维假想空间按层次进行分割,从子三维假想空间的大小、子三维假想空间的分割尺寸、随上述特征的移动的局部坐标系上的旋转移动行列及与层次化了的子三维假想空间的位置有关的信息中复原上述特征的骨骼构造的当前所关注的部分存在于三维假想空间内的哪个位置上。
方案6中所记载的发明的三维骨骼构造的动作发送接收装置,其特征在于在方案1或2所记载的三维骨骼构造的动作发送接收装置中,所述发送装置包含:设定装置、显示装置和附加装置;所述设定装置对应该决定与发送的上述骨骼构造中的三维假想空间内的动作数据有关的要素数据的成为发送对象的CG特征把局部坐标系设定在该特征的主要位置上;所述显示装置考虑包含设定了局部坐标系的上述特征能够动作的动作范围那样的三维假想空间,把三维假想空间分割为与该三维假想空间相似的子三维假想空间,进一步把该子三维假想空间按层次进行分割,从子三维假想空间的大小、子三维假想空间的分割尺寸、随上述特征的移动的局部坐标系上的旋转移动行列及与层次化了的子三维假想空间的位置有关的信息中显示上述特征的骨骼构造的当前所关注的部分存在于三维假想空间内的哪个位置上;所述附加装置以隔开三维假想空间内的上述特征的骨骼构造的当前所关注的部分的位置为条件,在上述计算机绘图动画数据上附加对相互隔开的同类数据块进行空间插入的插入信息;上述接收装置包含位置复原装置和姿势复原装置;所述位置复原装置考虑应该根据发送来的与上述骨骼构造中的三维假想空间内的动作数据有关的要素数据决定上述骨骼构造的姿势的包含设定了局部坐标系的上述特征能够动作的动作范围那样的三维假想空间,把三维假想空间分割为与该三维假想空间相似的子三维假想空间,进一步把该子三维假想空间按层次进行分割,从子三维假想空间的大小、子三维假想空间的分割尺寸、随上述特征的移动的局部坐标系上的旋转移动行列及与层次化了的子三维假想空间的位置有关的信息中复原上述特征的骨骼构造的当前所关注的部分存在于三维假想空间内的哪个位置上;所述姿势复原装置以隔开三维假想空间内的上述特征的骨骼构造的当前所关注的部分的位置为条件,根据传送来的插入信息对相互隔开的同类数据块进行空间插入,从而复原上述特征的骨骼构造的连续的姿势。
方案7中所记载的发明的三维骨骼构造的动作发送接收装置,其特征在于在方案1或2所记载的三维骨骼构造的动作发送接收装置中,上述发送装置包含:设定装置、显示装置和附加装置;所述设定装置对应该决定与发送的上述骨骼构造中的三维假想空间内的动作数据有关的要素数据的成为发送对象的CG特征把局部坐标系设定在该特征的主要位置上;所述显示装置考虑包含设定了局部坐标系的上述特征能够动作的动作范围那样的三维假想空间,把三维假想空间分割为与该三维假想空间相似的子三维假想空间,进一步把该子三维假想空间按层次进行分割,从子三维假想空间的大小、子三维假想空间的分割尺寸、随上述特征的移动的局部坐标系上的旋转移动行列及与层次化了的子三维假想空间的位置有关的信息中显示上述特征的骨骼构造的当前所关注的部分存在于三维假想空间内的哪个位置上;所述附加装置把上述特征的骨骼构造中的任意指定的部分的三维角度信息附加在上述计算机绘图动画数据上;上述接收装置包含位置复原装置和姿势及形状复原装置;所述位置复原装置考虑应该根据发送来的与上述骨骼构造中的三维假想空间内的动作数据有关的要素数据决定上述骨骼构造的姿势的包含设定了局部坐标系的上述特征能够动作的动作范围那样的三维假想空间,把三维假想空间分割为与该三维假想空间相似的子三维假想空间,进一步把该子三维假想空间按层次进行分割,从子三维假想空间的大小、子三维假想空间的分割尺寸、随上述特征的移动的局部坐标系上的旋转移动行列及与层次化了的子三维假想空间的位置有关的信息中复原上述特征的骨骼构造的当前所关注的部分存在于三维假想空间内的哪个位置上;所述姿势及形状从复原装置从上述特征的骨骼构造中的任意指定的部分的三维角度信息复原上述特征的骨骼构造的姿势和形状。
方案8中所记载的发明的三维骨骼构造的动作发送接收装置,其特征在于在方案1或2所记载的三维骨骼构造的动作发送接收装置中,上述接收装置包含判定装置;所述判定装置考虑应该检出传送来的上述骨骼构造中的三维假想空间内的动作冲突的包含传送来的CG特征的能够动作的动作范围那样的三维假想空间,把三维假想空间分割为与该三维假想空间相似的子三维假想空间,进一步把该子三维假想空间按层次进行分割,在被分割了的同类子三维假想空间内,从子三维假想空间的大小、子三维假想空间的分割尺寸、随上述特征的移动的局部坐标系上的旋转移动行列及与层次化了的子三维假想空间的位置有关的信息中进行上述特征的骨骼构造的当前所关注的部分是否与其他对象物相冲突的判定。
方案9中所记载的发明的三维骨骼构造的动作发送接收装置,其特征在于在方案1或2所记载的三维骨骼构造的动作发送接收装置中,上述发送装置包含:位置指定装置和位置变更装置;所述位置指定装置用与包含成为发送对象的CG特征能够动作的动作范围那样的三维假想空间和把该三维假想空间分割了的子三维空间的某一方的位置有关的信息来指定应该设定发送的上述骨骼构造中的三维假想空间内的动作位置的成为发送对象的CG特征的三维假想空间内的位置;所述位置变更装置以变更上述骨骼构造中的三维假想空间内的位置为条件,把与子三维假想空间相邻接的子三维假想位置相关的信息加在上述特征的骨骼构造上,从而来变更上述特征的子三维假想空间在三维假想空间内的位置;上述接收装置包含:位置决定装置和位置变更装置;所述位置决定装置用与包含被传送的上述特征能够动作的动作范围那样的三维假想空间和把该三维假想空间分割了的子三维空间的某一方的位置有关的信息来决定应该设定被传送的上述骨骼构造中的三维假想空间内的动作位置的成为接收对象的上述特征的三维假想空间内的位置;所述位置变更装置以在上述发送装置方变更上述特征的三维假想空间内的位置为条件,变更与被传送来的子三维假想空间相邻接的子三维假想空间的位置相关的信息的同时,变更上述特征的子三维假想空间在三维假想空间内的位置。
方案10中所记载的发明的三维骨骼构造的动作发送接收方法是一种用来由发送方把三维计算机绘图中的骨骼构造的动作数据发送到接收方,并在接收方根据发送来的骨骼构造的动作数据生成动画的方法,该方法的特征在于包含发送步骤、传送步骤和接收步骤;所述发送步骤根据来自上述接收方的请求,来决定是把上述骨骼构造的动作数据附加在包含定义上述骨骼构造的层次关系的层次数据、该层次数据的初始状态、骨骼的关节的制约条件、对应附加在骨骼上的形状数据、与上述骨骼构造的对应关系数据的初始信息上,并作为时间系列数据进行发送,还是分解为三维假想空间内的动作的特征的要素数据,再作为把该要素数据的连接方法附加到该分解了的要素数据上的数据进行发送,然后按照所决定的发送状态把上述骨骼构造的动作数据附加到上述初始信息上进行发送;所述传送步骤按照存在于发送方计算机上的发送程序和存在于接收方计算机上的接收程序把在上述初始信息上附加了上述骨骼构造的动作数据的计算机绘图动画数据从发送方计算机传送到接收方计算机;所述接收步骤接收从上述传送步骤传送来的上述计算机绘图动画数据,并判断该接收到的上述计算机绘图动画数据的发送状态,当判定把附加在上述初始信息上的上述骨骼构造的动作数据作为时间系列数据进行发送时,解释上述初始信息和作为时间系列的数据被发送出来的上述骨骼构造的动作数据,然后根据运动学原理来决定上述骨骼构造的姿势,另一方面,当判定为把附加在上述初始信息上的上述骨骼构造的动作信息分解为成为三维假想空间内的动作特征的要素数据,并作为在该分解了的要素数据上附加了该要素数据的连接方法的数据发送出来时,解释上述初始信息和作为在分解了的要素数据上附加了该要素数据的连接方法的数据被发送出来的上述骨骼构造的动作数据,然后根据运动学原理来决定上述骨骼构造的姿势。
方案11中所记载的发明的三维骨骼构造的动作发送接收方法是一种用来由发送方把三维计算机绘图中的骨骼构造的动作数据发送到接收方,并在接收方根据发送来的骨骼构造的动作数据生成动画的方法,该方法的特征在于包含发送步骤、传送步骤和接收步骤;所述发送步骤根据来自上述接收方的请求,来决定是把上述骨骼构造的动作数据附加在包含定义上述骨骼构造的层次关系的层次数据、该层次数据的初始状态、骨骼的关节的制约条件、对应附加于骨骼上的形状数据、与上述骨骼构造的对应关系数据、对于上述形状数据的一部分进行动画标记的动画数据列和标记方法的初始信息上,并作为时间系列数据进行发送,还是分解为三维假想空间内的动作的特征的要素数据,再作为把该要素数据的连接方法附加到该分解了的要素数据上的数据进行发送,然后按照所决定的发送状态把上述骨骼构造的动作数据附加到上述初始信息上进行发送;所述传送步骤按照存在于发送方计算机上的发送程序和存在于接收方计算机上的接收程序把在上述初始信息上附加了上述骨骼构造的动作数据的计算机绘图动画数据从发送方计算机传送到接收方计算机;所述接收步骤接收从上述传送步骤传送来的上述计算机绘图动画数据,并判断该接收到的上述计算机绘图动画数据的发送状态,当判定把附加在上述初始信息上的上述骨骼构造的动作数据作为时间系列数据进行发送时,解释上述初始信息和作为时间系列的数据被发送出来的上述骨骼构造的动作数据,然后根据运动学原理来决定上述骨骼构造的姿势,另一方面,当判定为把附加在上述初始信息上的上述骨骼构造的动作信息分解为成为三维假想空间内的动作特征的要素数据,并作为在该分解了的要素数据上附加了该要素数据的连接方法的数据发送出来时,解释上述初始信息和作为在分解了的要素数据上附加了该要素数据的连接方法的数据被发送出来的上述骨骼构造的动作数据,然后根据运动学原理来决定上述骨骼构造的姿势。
方案12中所记载的发明的三维骨骼构造的动作发送接收方法,其特征在于在方案10或11所记载的三维骨骼构造的动作发送接收方法中,上述发送步骤包含:定义上述骨骼构造,并把该定义的骨骼构造数据作为初始信息进行发送的步骤以及根据上述骨骼构造的预定部分的运动的三维假想空间的轨迹分解为代表的要素数据,并在该分解了的要素数据上附加该要素数据的连接方法,然后进行发送的步骤;上述接收步骤包含:用来把所传送来的骨骼构造数据作为初始信息进行复原的步骤、用来把对应附加于作为初始状态被复原了的骨骼构造数据的形状数据布局到上述骨骼构造的步骤以及从所传送来的要素数据和所传送来的要素数据的连接方法决定上述骨骼构造的姿势的步骤。
方案13中所记载的发明的三维骨骼构造的动作发送接收方法,其特征在于在方案10或11所记载的三维骨骼构造的动作发送接收方法中,上述发送步骤包含:发送上述骨骼构造和该骨骼构造的动作信息的步骤以及压缩对应于上述骨骼构造的一部分的动画图象数据列,并把根据上述骨骼构造的运动变更动画图象的方法附加到该压缩了的动画图象数据列上进行发送的步骤;上述接收步骤包含:把传送来的上述骨骼构造和该骨骼构造的动作信息进行复原的步骤以及把对应于传送来的上述骨骼构造的一部分的动画图象数据列复原后,再用根据传送来的上述骨骼构造的运动变更动画图象的方法来决定上述骨骼构造的姿势的步骤。
方案14中所记载的发明的三维骨骼构造的动作发送接收方法,其特征在于在方案10或11所记载的三维骨骼构造的动作发送接收方法中,上述发送步骤包含:设定步骤和显示步骤;所述设定步骤对应该决定与发送的上述骨骼构造中的三维假想空间内的动作数据有关的要素数据的成为发送对象的CG特征把局部坐标系设定在该特征的主要位置上;所述显示步骤考虑包含设定了局部坐标系的上述特征能够动作的动作范围那样的三维假想空间,把三维假想空间分割为与该三维假想空间相似的子三维假想空间,进一步把该子三维假想空间按层次进行分割,从子三维假想空间的大小、子三维假想空间的分割尺寸、随上述特征的移动的局部坐标系上的旋转移动行列及与层次化了的子三维假想空间的位置有关的信息中显示上述特征的骨骼构造的当前所关注的部分存在于三维假想空间内的哪个位置上;上述接收步骤包含复原步骤,所述复原步骤考虑应该根据发送来的与上述骨骼构造中的三维假想空间内的动作数据有关的要素数据决定上述骨骼构造的姿势的包含设定了局部坐标系的上述特征能够动作的动作范围那样的三维假想空间,把三维假想空间分割为与该三维假想空间相似的子三维假想空间,进一步把该子三维假想空间按层次进行分割,从子三维假想空间的大小、子三维假想空间的分割尺寸、随上述特征的移动的局部坐标系上的旋转移动行列及与层次化了的子三维假想空间的位置有关的信息中复原上述特征的骨骼构造的当前所关注的部分存在于三维假想空间内的哪个位置上。
方案15中所记载的发明的三维骨骼构造的动作发送接收方法,其特征在于在方案10或11所记载的三维骨骼构造的动作发送接收方法中,上述发送步骤包含:设定步骤、显示步骤和附加步骤;所述设定步骤对应该决定与发送的上述骨骼构造中的三维假想空间内的动作数据有关的要素数据的成为发送对象的CG特征把局部坐标系设定在该特征的主要位置上;所述显示步骤考虑包含设定了局部坐标系的上述特征能够动作的动作范围那样的三维假想空间,把三维假想空间分割为与该三维假想空间相似的子三维假想空间,进一步把该子三维假想空间按层次进行分割,从子三维假想空间的大小、子三维假想空间的分割尺寸、随上述特征的移动的局部坐标系上的旋转移动行列及与层次化了的子三维假想空间的位置有关的信息中显示上述特征的骨骼构造的当前所关注的部分存在于三维假想空间内的哪个位置上;所述附加步骤以隔开三维假想空间内的上述特征的骨骼构造的当前所关注的部分的位置为条件,在上述计算机绘图动画数据上附加对相互隔开的同类数据块进行空间插入的插入信息;上述接收步骤包含位置复原步骤和姿势复原步骤;所述位置复原步骤考虑应该根据发送来的与上述骨骼构造中的三维假想空间内的动作数据有关的要素数据决定上述骨骼构造的姿势的包含设定了局部坐标系的上述特征能够动作的动作范围那样的三维假想空间,把三维假想空间分割为与该三维假想空间相似的子三维假想空间,进一步把该子三维假想空间按层次进行分割,从子三维假想空间的大小、子三维假想空间的分割尺寸、随上述特征的移动的局部坐标系上的旋转移动行列及与层次化了的子三维假想空间的位置有关的信息中复原上述特征的骨骼构造的当前所关注的部分存在于三维假想空间内的哪个位置上;所述姿势复原步骤以隔开三维假想空间内的上述特征的骨骼构造的当前所关注的部分的位置为条件,根据传送来的插入信息对相互隔开的同类数据块进行空间插入,从而复原上述特征的骨骼构造的连续的姿势。
方案16中所记载的发明的三维骨骼构造的动作发送接收方法,其特征在于在方案10或11所记载的三维骨骼构造的动作发送接收方法中,上述发送步骤包含:设定步骤、显示步骤和附加步骤;所述设定步骤对应该决定与发送的上述骨骼构造中的三维假想空间内的动作数据有关的要素数据的成为发送对象的CG特征把局部坐标系设定在该特征的主要位置上;所述显示步骤考虑包含设定了局部坐标系的上述特征能够动作的动作范围那样的三维假想空间,把三维假想空间分割为与该三维假想空间相似的子三维假想空间,进一步把该子三维假想空间按层次进行分割,从子三维假想空间的大小、子三维假想空间的分割尺寸、随上述特征的移动的局部坐标系上的旋转移动行列及与层次化了的子三维假想空间的位置有关的信息中显示上述特征的骨骼构造的当前所关注的部分存在于三维假想空间内的哪个位置上;所述附加步骤把上述特征的骨骼构造中的任意指定的部分的三维角度信息附加在上述计算机绘图动画数据上;上述接收步骤包含位置复原步骤和姿势及形状复原步骤;所述位置复原步骤考虑应该根据发送来的与上述骨骼构造中的三维假想空间内的动作数据有关的要素数据决定上述骨骼构造的姿势的包含设定了局部坐标系的上述特征能够动作的动作范围那样的三维假想空间,把三维假想空间分割为与该三维假想空间相似的子三维假想空间,进一步把该子三维假想空间按层次进行分割,从子三维假想空间的大小、子三维假想空间的分割尺寸、随上述特征的移动的局部坐标系上的旋转移动行列及与层次化了的子三维假想空间的位置有关的信息中复原上述特征的骨骼构造的当前所关注的部分存在于三维假想空间内的哪个位置上;所述姿势及形状从复原步骤从上述特征的骨骼构造中的任意指定的部分的三维角度信息复原复原上述特征的骨骼构造的姿势和形状。
方案17中所记载的发明的三维骨骼构造的动作发送接收方法,其特征在于在方案10或11所记载的三维骨骼构造的动作发送接收方法中,上述接收步骤包含判定步骤;所述判定步骤考虑应该检出传送来的上述骨骼构造中的三维假想空间内的动作冲突的包含传送来的CG特征的能够动作的动作范围那样的三维假想空间,把三维假想空间分割为与该三维假想空间相似的子三维假想空间,进一步把该子三维假想空间按层次进行分割,在被分割了的同类子三维假想空间内,从子三维假想空间的大小、子三维假想空间的分割尺寸、随上述特征的移动的局部坐标系上的旋转移动行列及与层次化了的子三维假想空间的位置有关的信息中进行上述特征的骨骼构造的当前所关注的部分是否与其他对象物相冲突的判定。
方案18中所记载的发明的三维骨骼构造的动作发送接收方法,其特征在于在方案10或11所记载的三维骨骼构造的动作发送接收方法中,上述发送步骤包含:位置指定步骤和位置变更步骤;所述位置指定步骤用与包含成为发送对象的CG特征能够动作的动作范围那样的三维假想空间和把该三维假想空间分割了的子三维空间的某一方的位置有关的信息来指定应该设定发送的上述骨骼构造中的三维假想空间内的动作位置的成为发送对象的CG特征的三维假想空间内的位置;所述位置变更步骤以变更上述骨骼构造中的三维假想空间内的位置为条件,把与子三维假想空间相邻接的子三维假想位置相关的信息加在上述特征的骨骼构造上,从而来变更上述特征的子三维假想空间在三维假想空间内的位置;上述接收步骤包含:位置决定步骤和位置变更步骤;所述位置决定步骤用与包含被传送的上述特征能够动作的动作范围那样的三维假想空间和把该三维假想空间分割了的子三维空间的某一方的位置有关的信息来决定应该设定被传送的上述骨骼构造中的三维假想空间内的动作位置的成为接收对象的上述特征的三维假想空间内的位置;所述位置变更步骤以在上述发送装置方变更上述特征的三维假想空间内的位置为条件,变更与被传送来的子三维假想空间相邻接的子三维假想空间的位置相关的信息的同时,变更上述特征的子三维假想空间在三维假想空间内的位置。
具体实施方式
以下根据附图来详细说明本发明的一个实施例。
图1是按照本发明的一个实施例的三维骨骼构造的动作发送接收装置的结构方框图。
参照图1,本实施例的三维骨骼构造的动作发送接收装置是由发送方向接收方发送3DCG中的骨骼构造的动作数据,并在接收方生成发送来的骨骼构造的动作数据的同时生成动画的装置,该装置设置有CG动画数据发送部1、CG动画数据传送部2和CG动画数据接收部3。
图2是表示CG动画数据发送部的结构的一例的方框图。
参照图2,CG动画数据发送部1设置有骨骼构造定义部11、运动数据定义部12和运动数据要素分解部13,并根据接收方的请求决定把骨骼构造的运动数据附加在包含定义骨骼构造的层次关系的层次数据、该层次数据的初始状态、骨骼的关节的制约条件、对应附加在骨骼上的形状数据、与骨骼构造的对应关系数据、对形状数据的一部分进行动画标记的动画数据列以及标记方法的初始数据上,再作为时间数据系列发送出去,还是把骨骼构造的运动数据分解为构成三维假想空间内的运动特征,再作为在该分解的基本动作上附加了该基本动作的连接方法的数据发送出去,并按照该决定的发送状态把骨骼构造的运动数据附加到初始信息上发送出去。
再参照图1,CG动画数据传送部2用处在发送方计算机上的发送程序和处在接收方计算机上的接收程序把在初始信息上附加了骨骼构造的运动数据的CG动画数据从发送方计算机传送到接收方计算机。
图3是表示CG动画数据接收部的结构的一例的方框图。
参照图3,CG动画数据接收部3设置有骨骼构造定义部31、形状数据对应部32、运动数据定义部33、姿势决定部34、运动要素数据连接部35和动作连接部36,并接收由CG动画数据发送部2传送来CG动画数据,判别所接收到的该CG动画数据的发送状态,当判别为把附加在初始信息上的骨骼构造的运动数据被作为时间系列的数据进行发送的时候,解释初始信息和作为时间系列的数据发送来的骨骼构造的动作数据,并根据运动学原理来决定骨骼构造的姿势;另一方面,当把附加在初始信息上的骨骼构造的动作数据分解为构成三维假想空间内的运动特征,再作为在该分解的基本动作上附加了该基本动作的连接方法的数据进行发送时,解释初始信息和作为在分解了的基本动作上附加了该基本动作的连接方法的数据发送来的骨骼构造的动作数据,并根据运动学原理来决定骨骼构造的姿势。
在此,说明上述三维骨骼构造的动作发送接收装置的动作。
CG动画数据发送部1根据来自接收方的请求决定把骨骼构造的运动数据附加在包含定义骨骼构造的层次关系的层次数据、该层次数据的初始状态、骨骼的关节的制约条件、对应附加在骨骼上的形状数据、与骨骼构造的对应关系数据、对形状数据的一部分进行动画标记的动画数据列以及标记方法的初始数据上,再作为时间数据系列发送出去,还是把骨骼构造的运动数据分解为构成三维假想空间内的运动特征,再作为在该分解的基本动作上附加了该基本动作的连接方法的数据发送出去,并按照该决定的发送状态把骨骼构造的运动数据附加到初始信息上发送出去。
这时,骨骼构造定义部11用骨骼构造来定义构成发送对象的CG特征(具有人类等的复杂的骨骼特征),该被定义的骨骼构造在层次结构的最主要的位置上设定一个根(计算的基准位置)。在这里,在通常的人的情况下,具有图4或图10(a)所示的层次构造。另一方面,像两脚的脚跟那样,通常把根设定在身体的中心位置上,并把CG特征的局部坐标系(以下取Z轴向上的右手系)的原点置于该位置。
在图4中,用方框围成的部分是骨骼构造的关节或称之为关节的部分,连接各关节的直线对应于胳膊和腿等部分,是连接段或称之为体节。用粗方框固成的部分是被称之为末端位点的手指头或脚趾头的前端部分。图4中表示了基本的骨骼,根据需要可以变更骨骼构造的层次。例如在图4的骨骼构造中,想要更详细地表现手的层次的情况下,可以在左右手腕以下设置5根手指的层次和分别包含在该各层次内的指关节。
在骨骼构造中,除上述关节的层次关系之外,还设定层次的初始状态。例如胳膊或腿的长度以及胳膊或腿的长度的初始方向。此外,在骨骼构造中,还设定各关节的可动范围,例如右肘绕局部坐标系XYZ轴分别可转动多少度至多少度。
图5表示的是骨骼构造的数据形式的一例,图5(a)表示骨骼的层次。参照图5(a),例如若以人的肘为例,体节就对应于上臂或前臂,在体节的两端有被称之为位点的部分。另外,肘之类的关节部分(用上臂的位点和前臂的位点来定义)是关节。另一方面,图5(b)表示骨骼构造的定义的一例。在图5(b)的骨骼构造的定义中,把颈和颈基等的各部分的名称作为识别符附加在体节、位点和关节上,并在位点上分别设定三个分量,即:三维坐标位置(-p)和转动角度(-r)。位点的坐标为把局部坐标的原点设置在各关节的主位点的位置上。关于关节,设定有脑袋轴距等的识别名和层次关系(-c:哪个主位点与哪个子位点相连接的主次关系)。根据需要还设定有转动的自由度(在球连接的情况下,是绕XYZ三轴的转动)和可动范围(-l:角度)。
动作数据定义部12设定在骨骼构造定义部11设定的骨骼构造的主要部分的动作数据。其中所谓主要部分是指要动的部分,例如:如果是整个身体的话,作为时间系列数据给出整个身体的所包含的骨骼的关节的三维坐标位置或关节角度数据,从而得到骨骼构造的主要部分的动作数据。通常,动作数据的格式由帧号码之类的时间数据和实体数据构成,并且由关节的名称、用来识别是角度数据还是坐标数据的识别符和三要素(XYZ轴分量)数据构成。
动作要素分解部13根据需要依据上述时间系列的动作数据列把骨骼的运动分解为必要的基准点和经过信息等,以便进行显示。有关分解方法将在后面予以详细说明。
CG动画数据传送部2用处在发送方计算机上的发送程序和处在接收方计算机上的接收程序把在初始信息上附加了骨骼构造的运动数据的CG动画数据从发送方计算机传送到接收方计算机。也就是说,根据TCP/IP在服务器和客户之间传送由CG动画数据发送部1压缩的骨骼构造和动作数据。
CG动画数据接收部3接收由CG动画数据发送部2传送来CG动画数据,判别所接收到的该CG动画数据的发送状态,当判别为把附加在初始信息上的骨骼构造的动作数据被作为时间系列的数据进行发送的时候,解释初始信息和作为时间系列的数据发送来的骨骼构造的动作数据,并根据运动学原理来决定骨骼构造的姿势;另一方面,当把附加在初始信息上的骨骼构造的动作数据分解为构成三维假想空间内的运动特征,再作为在该分解的基本动作上附加了该基本动作的连接方法的数据进行发送时,解释初始信息和作为在分解了的基本动作上附加了该基本动作的连接方法的数据发送来的骨骼构造的动作数据,并根据运动学原理来决定骨骼构造的姿势。
这时,骨骼构造定义部31接收由骨骼构造定义部11所定义的人的骨骼构造数据(参照图4),并解释所收到的该骨骼构造数据。
形状数据对应附加部32把成为处理对象的骨骼构造的哪一体节和预先传送来的形状数据的哪一部分所对应的部位进行分组,其中所谓形状数据部分是贴附在CG特征的骨骼上的皮肤部分,通常是多边形列或网格数据的集合。由该多边形列或网格数据来对对应于上臂的组或对应于腿的组进行分类,并对所分类的数据组如何对应于骨骼构造的上臂或腿进行预先定义。通常,把骨骼构造的体节的局部坐标系的原点安置在该体节的主位点上,并设定从原点向哪个方向(用方向矢量和转动矢量来指定)按何种尺度来配置皮肤,由此来决定形状和骨骼的对应关系。骨骼的体节被配置在多个形状组的中心,并用最短的距离从各形状组对应连接。
为了使形状看起来更加自然,在关节部分必需设定得不把皮肤破开,这时,对于关节部分的形状组设定新的形状组(称之为“弯曲”),根据关节的弯曲角度用加权系数来设定主侧的体节和对应从子侧的体节的弯曲角度的影响,从而来实现使包含弯曲在内的形状组变形。
动作数据定义部33接收从动作数据定义部12或动作要素数据分解部13发送的动作数据,根据需要把所接收到的动作数据复原。
动作数据连接部35把由动作数据定义部33复原的动作数据的同类基本动作圆滑地连接起来。
姿势决定部34用由骨骼构造定义部31发送来的骨骼构造数据、由形状数据对应附加部32发送来的对骨骼的分组了的形状数据以及由动作数据定义部33发送来的动作数据来决定任意时刻的骨骼姿势。姿势决定部34根据需要也把由动作要素数据连接部35发送来的圆滑地连接同类基本动作的动作数据进行加权,来决定任意时刻的骨骼的姿势。
动作连接部36连接由姿势决定部34决定的骨骼的姿势。
接着来说明骨骼姿势的决定方法。
在图4的骨骼构造的任意时刻(帧)的姿势的决定方法因动作数据的形式而异,基本上是使用以机器人工艺学为中心所开发的运动学法(参照“机器人的力学与控制”(有本著,日本朝仓书店发行)等)。
运动学法是决定直链姿势的方法,是把各关节的角度数据的时间变化量加在用直链连接所连起来的关节结构的初始位置上,来从最近处按顺序决定关节的位置,由此决定直链的姿势。
通常,在图4所示的人的骨骼的情况下,对于从根到左右脚趾、从根到左右手指、从根到头顶共计5条直链(例如:右臂或右腿等),有必要分别决定其姿势。
现在来考虑由动作数据定义部33发送的数据是各关节的角度数据的情况。一般,由于图4的必要关节的角度数据都送到姿势决定部34,所以一起来决定各直链的姿势。这样,就把由骨骼构造的初始状态和任意时刻的关节的角度数据(来自局部坐标系上的初始位置的转动角度)来决定骨骼姿势的方法称之为运动学(顺运动学)法。
在顺运动学法的情况下,在姿势决定部34中,对由骨骼构造定义部31输入的骨骼的初始值数据从接近根的关节按顺序开始计算。例如:对于图5所示的骨骼的主侧的位点和体节的长度,用由动作数据定义部33送来的主位点的转动角度所决定的转动行列(3*4行列)来计算,用其结果来决定子侧的位点位置。对于上述骨骼的主侧的位点和体节的长度,重复进行用上述转动行列计算的操作关节数的次数。
作为顺运动学法以外的姿势决定法,例如有逆运动学法。
在这种逆运动学法中,必须对图4的骨骼构造设定计算范围(使骨骼动作的影响范围,称之为“控制”),例如:在图4中从右脖颈到右手指设定控制。进一步对设定的这种控制,由动作数据定义部33加上控制的前端部分,即:在该例中,加上右手指的三维假想空间内的轨迹的时间系列数据。轨迹数据可以设定前端部分的三维坐标(XYZ轴分量)和转动角度(绕XYZ轴的转动分量)的最大6个要素,但是通常是把每3个分量都分别送到姿势决定部34。
在采用上述逆运动学法,用数学公式从控制的前端部分的轨迹来解骨骼(控制的范围)的姿势的情况下,在无限定条件时,存在多个解。即:不能唯一地决定三维假想空间内的骨骼的姿势。因此,通常按照最小的评价系数(能量最小化)来计算包含在控制内的全部关节角度的微小变化量的平方和。具体的计算是计算表示前端位置与在上述顺运动学中所用的关节角度的关系的行列式(叫做“雅可比行列式”,唯一决定)的逆行列式。在关节数是N个的情况下,该行列式成为6*N行列(6是前端部分的最大自由度),按照原样不存在逆行列。所以,在上述的限定条件下,用清除法来计算疑似雅可比行列(参照“机器人工艺学(广濑著、日本裳华房发行)”等)。
姿势决定部34根据用途使用上述逆运动学和顺运动学两种算法,在姿势决定部34中,根据需要依照由骨骼构造定义部31输入的任意关节的可动范围数据,对按运动学原理决定的关节角度与所设定的可动范围进行比较,从而对关节的姿势施加限制。也就是说,如果按运动学原理进行姿势计算的结果的某关节的角度超过可动范围,就对姿势计算所求得的值施加设定条件判定处理。
用上述的运动学法就能够决定具有骨骼构造的特征的姿势。
下面来说明对骨骼的姿势配置皮肤的方法。
如上所述,在3DCG中,皮肤数据是多边形组或自由曲面组,通常,在制作皮肤形状的模型时,使用通用的3DCG制模工具。该工具的输出数据形式利用Dxf(AUTO DESK公司制作的商品名为AUTO CAD的文件格式)以及Obj(SGI公司制作的商品名为Wave FRONT的文件格式)等的标准格式。
在形状对应附加部32中,对于多边形组设定对应附加由骨骼构造定义部31定义的骨骼构造的哪个体节。例如:在人的上臂的形状组对应附加在骨骼的上臂的体节的情况下,使体节的主位点的坐标原点与形状组的制模坐标原点(重心位置等)相一致,并用原点偏移(XYZ轴方向3个分量)和形状的尺度(XYZ轴方向的放大率)来微调配置关系。
如果用上述的运动学法来决定骨骼姿势的话,由于能决定所关注的体节的主位点的位置和方向,所以如果使上述求出来的移动转动行列对原样对应于各体节的组的形状数据(多边形的顶点坐标)起作用,就能与骨骼的动作联动而移动皮肤。
以上是对具有基本骨骼构造的CG特征的动画生成方法的说明。
在上例中,是各关节的角度数据(顺运动学的情况)、或者是前端部分的轨迹数据(逆运动学的情况),而且有必要从动作数据定义部33按顺序输入各关节的角度数据和前端部分的轨迹数据的时间系列数据。
一般,在连接于国际互联网的图1所示的CG动画数据的发送接收系统中,有必要把CG动画数据的传送部1内的通信业务量抑制得尽可能地少。
接下来说明动作数据的压缩方法。
必需使压缩率适应传送路径的传送性能和发送接收方机器的绘图性能,并且要能够分层次地控制压缩率。
图6是用来说明骨骼构造的动作的分割方法的图。
参照图6,用(1)骨骼构造的各关节的动作以及(2)整个身体在三维假想空间内的位置和方向数据来决定CG特征的动作数据。以下把前者叫做局部信息,把后者叫做整体信息。
在通常的CG特征动画中,把整体信息定义为骨骼构造的根信息,把局部信息作为各关节信息。
首先,考虑围成图6所示的CG特征能够动作的范围的三维假想空间,使骨骼构造的根位置(图6中,人的肚脐的位置)与该三维假想空间的基准坐标一致,并设定局部坐标系的原点。对于该局部坐标系的原点,在X轴、Y轴、Z轴方向上设定假想动作空间。通过设定XYZ轴方向的大小来决定该假想空间整体尺寸。另外,可以用特征的平行移动和转动的矩阵来定义随身体移动的整体坐标系中的假想动作空间的移动。假想动作空间是跟随CG特征的移动(整体信息)转动或移动的空间,定性地说,假想动作空间是局部坐标系内的CG特征的手和脚能够移动的最大的范围。在图6中,是以正方体为例作为假想动作空间,但是也可以选择把CG特征为重心的球体,在这种情况下,以下说明的分割可以安排在极坐标系中进行。
下面,对于三维假想空间,考虑分割该三维假想空间的子三维假想空间。该子三维假想空间是均分假想空间的的子空间,其尺寸用局部坐标系中的XYZ轴方向的分割增量dx,dy,dz或XYZ轴方向的分割数(l,m,n)来决定量化数。
在三维假想空间内设定CG特征的动作的情况下,必需设定骨骼构造的各关节位置或前端位置的轨迹,轨迹用子三维假想空间的识别符或坐标位置来定义。如果把子三维假想空间的分割增量取得大,骨骼构造的各关节位置或前端位置的量化等级就降低,从而可以削减数据量。
使子三维假想空间与发送接收方的硬件或传送系统的性能相一致,然后,如图7所示,把它进一步分割之后,再合成起来。
为了把三维假想空间内的CG特征的连续的运动的轨迹编码,在子三维假想空间内指定图8所示的三维假想空间内的运动的经过点。在为重放动作所必要的最低限度信息内有动作起始点的子三维假想空间的位置(或识别号码)、动作终点的子三维假想空间的位置(或识别号码)以及动作起始点和终点之间的插入方法的信息(线性插入、非线性插入等)。越增加图8所示的经过点的信息,能够圆滑地再现运动的数据量就越增大。当加上了子三维假想空间的识别符时,为了在接收方变换为三维假想空间内的坐标,例如用子三维假想空间的重心位置和离开局部坐标的原点的相对位置来进行变换,这时,会产生子三维假想空间的大小的量化误差。
在整理图1所示的CG特征的骨骼数据的发送接收系统中的上述数据流时,首先,在动作要素数据分解部13内,对要传送的CG特征传送表示三维假想空间的整体坐标系内的位置和方向(整体信息)的移动转动矩阵、图6的假想动作空间的尺寸和对子三维假想空间的分割增量(dx,dy,dz)。然后,根据需要,作为动作的数据,按CG特征的臂和腿的单位传送移动臂和腿的三维轨迹的起始点和终点的子三维假想空间的位置或识别符、经过点的子空间位置或经过点信息和三维轨迹的起始点和终点间的连接方法。这样,在接收方的动作数据要素连接部35中,来解释(复原)上述传送数据,通过对图6所示的CG特征的三维轨迹的插入就能够再现CG特征的动作。
在上述的说明中,为了简化起见,举例说明的仅是设定前端部分的轨迹,同样,在姿势决定部34采用顺运动学来决定姿势的情况下,也可以用子三维假想空间的信息来传送由必要骨骼的全部关节的经过位置所求得的角度信息。
在把子三维假想空间送到姿势决定部34的情况下,图9表示在发送或接收方所求出关节的角度数据的方法。
参照图9,在骨骼构造定义部11和骨骼构造定义部31设定关节的位置的初始位置(图9的球的重心位置)。然后,在把某时刻的子三维假想空间内的位置或识别号码送到姿势决定部34的情况下,可以计算子三维假想空间的重心位置坐标。根据三维假想空间内的位置或识别号码和子三维假想空间的大小以及已经知道的体节的长度来计算局部坐标系中的绕各轴的转动角度(θx,θy,θz),这时,必需预先决定转动顺序(X-Y-Z等)。
在姿势决定部34采用顺运动学法来决定姿势的情况下,由图1的CG动画数据发送部1从动作要素数据分解部13传送骨骼构造的控制信息和骨骼前端位置上的轨迹信息。
在前面的说明中,未正确地规定骨骼的扭转(绕局部坐标系中的Z轴的转动)信息,在关节的定义部分(图5(b)的关节信息),关节的自由度是球的情况下,可绕XYZ轴3个轴转动。在限制扭转的情况下,忽略绕Z轴的转动。可是,对于人类等来说,腰、头和手腕等的关节的扭转对姿势的影响很大,特别是CG特征必需正确地表现手腕是否复原等的信息。这种情况下,与上述的说明不同,要把扭转的信息(绕Z轴的转动角度)附加到子三维假想空间信息上,必需经另外的途径发送接收。例如:在图11(a)所示的例子中,发送接收时刻t0的手腕的扭转角度是θ0、时刻t1的扭转角度是θ1,并只在由姿势决定部34决定的骨骼的关节角度之中必需扭转的部分,置换为插入从θ0到θ1之间的角度数据。
下面来说明连接同类基本动作(“抬右手”、“摆手”等的连续动作)的方法。
例如:作为CG特征的基本动作,有:把(1)使右手从身体的左下方的假想动作空间通过身体的重心的假想动作空间,并向右上方的假想动作空间移动的动作,和(2)从右上方的假想动作空间把手伸向身体前方的假想动作空间的动作连接起来的情况。
图11(a)是说明两个基本动作的连接的概念图。
参照图11(a),把从时刻t0到时刻t1之间的动作设为上述(1)的基本动作,把从时刻t2到时刻t3之间的动作设为上述(2)的基本动作。在动作要素分解部12分解为假想动作空间信息,并传送起始点的子三维假想空间信息和终点的子三维假想空间信息,或根据需要同时传送插入起始点和终点之间的经过点的子三维假想空间信息的方法。在CG动画数据接收部3,在动作要素连接部35中解释子三维假想空间,复原每个的轨迹信息。进一步用动作要素连接部35连接基本动作(1)和基本动作(2)。
图11(b)是以时间轴为基准来表示通常的同类基本动作的连接状态的图。
参照图11(b),可以从时刻t1的动作空间信息复原基本动作(1)的终点位置,图11(b)的图表是把它变换为右手的关节的端位点(右手的前端)的位置或关节角度数据的图表。同样,可以从时刻t2的动作空间位置复原时刻t2的右手指的角度或坐标值。作为用来连接这些基本动作的连接信息,必需设定向沿本动作(1)的时间负方向回溯多少(时刻负方向的值)的信息,例如t1′,以及沿基本动作(2)的正方向经过多少,例如t2′。该值也可以在发送接收方作为错误保持为固定值。用这些信息,用图11的时刻t1′,t1,t2′,t2的右手前端部的坐标值进行插入处理。一般,这些值都具有XYZ轴的3个分量,在这里,为简化起见,图11(b)的白圈仅表示1个分量。
作为这些点的插入方法,在发送接收方预先设定有线性插入或非线性插入等的信息,另外,为了圆滑地进行连接,根据需要传送成为时刻t1和时刻t2之间的插入信息的子三维假想空间信息(图11的时刻t1和t2之间的点)。
在上述的例子中,举例说明了在姿势决定部34采用逆运动学法来决定骨骼的姿势的情况,但是,即使在用顺运动学法来决定姿势的情况下,也仅把个关节的信息送到姿势决定部34,有关基本动作的连接,也是完全相同的原理。
用以上的方法,根据预先传送的多个基本动作把多个基本动作连接起来,并且只发送新的假想的动作空间信息和插入信息,这样就能够用极少的数据量来生成变更了基本动作的新动作。
下面来说明上述基本动作的起始点和终点或关键经过点信息的作成方法。
如上所述,三维假想空间内的CG特征的基本动作被分为所关注的CG特征在三维假想空间内的哪一带正在沿哪条轨迹移动(整体信息)、在所关注的CG特征的轨迹上的某时刻CG特征的手或脚取哪种姿势(运动)(局部信息)。前者可以用处于任意时刻的图4的骨骼构造的根的平行移动量(Xtrans,Ytrans,Ztrans)和方向(Xrot,Yrot,Zrot)来定义。另一方面,后者用各关节或前端部分的角度(Xrot,Yrot,Zrot)或三维坐标(Xtrans,Ytrans,Ztrans)来定义。把这些信息作为时间系列的数据或上述的假想的动作空间信息从发送系统发送到接收系统。
在设定基本动作的这些数据的情况下,通常使用称之为运动捕获的手法,以下,首先来说明用运动捕获的手法的动作数据的作成手法。
运动捕获是在身体关节部分安装了反射光线的标记的模型上进行所希望的动作,同时用多台照相机拍照。根据用2台以上照相机拍照的某标记的二维图象计算出该标记的三维坐标或对应于骨骼构造时的角度数据(参照日本专利申请7-312005)。运动捕获的CG特征的动作是图4所示的骨骼构造的个关节的角度数据(时间系列)。在图11(a)的例子中,该数据对应于从时刻t0到时刻t1的运动轨迹1和从时刻t2到时刻t3的运动轨迹2。
把上述骨骼构造的各关节的角度数据分别作为基本动作,并从动作数据定义部12按时间系列发送到CG动画数据传送部2,然后用动作数据定义部33进行解释,这种方法就是基本动作发送接收方法。
对于此,在想要削减动作数据量的情况下,有一种方法是对轨迹上的经过点信息进行取样,并把经取样的轨迹上的经过点信息与连接方法同时发送接收。
另外,在压缩发送接收数据后必需再利用的情况下,就必需分解为图6所示的假想动作空间数据,这种情况下,根据进行了运动捕获的轨迹数据,动作要素分解部13在图6的CG特征的假想动作空间进行量化(矢量量化),然后分解为假想动作空间数据的位置或识别号码。在动作要素数据连接部35,用连接方法信息从所接收到的假想动作空间数据中复原被运动捕获的动作的轨迹。
下面简单说明不用运动捕获等作成动作数据的方法。
设定图6所示的CG特征的骨骼构造和假想动作空间,CG特征的初始状态成为图10所示的状态。把假想动作空间分割为子三维假想空间,并用该分割了的子三维假想空间的识别号码等来指定位置。
图12表示简单的右手的姿势设定例。
参照图12,作为步骤1,首先来决定右手指的起始点位置,例如:把起始点设到脸的右前方时,设定脸的右前方附近的子三维假想空间的号码。例如采用逆运动学法决定右手的姿势,并显示其结果。而且,在这种情况下,作为简单的自动检索,运动学和显示系统是必要的。在右手的位置与所想的位置不同的情况下,从当前的块编号或位置来设定想移动的XYZ轴方向(局部坐标系)的子三维假想空间的步骤数,由此来设定新的子三维假想空间(步骤2)。重复步骤2的操作,就能够设定所希望的位置。这种指定法的好处在于可以用人们进行动作创作(例如:再稍微靠右一点,或靠后一点等)的要领来设定大体的位置。对于必需进行这种指定的起始点位置、终点位置和经过点的子三维假想空间进行这种设定(步骤n、步骤n+1等)。
在前面的说明中,主要是以骨骼的动作的设定为中心来说明的。作为CG特征实际上所想要的是所结合在上述骨骼姿势中的皮肤信息,像已经说明过的那样,可以共用局部坐标位置来对皮肤形状和骨骼的体节进行布局。在运动学法中,在有必要动的部分必需设定骨骼。图4或图10所示的是一般使用的骨骼的层次关系。可是,例如在设定手正在张开或手指弯曲样子等人的手指的形状时,同样可以定义手指的骨骼,但是,单纯地定义手指的骨骼,就会增大数据量。
这里,来说明应该削减数据量而固定手的形状,再根据需要改换所希望的形状数据的方法。
在图4所示的层次结构的右手或左手的关节处作成为结合形状数据,例如:预先准备张开手的形状或握紧手的形状等。进一步,如图11所示,加上右手的动作时,动作要素分解部13附加子三维假想空间的信息的同时,附加结合在手腕上的形状数据的种类和扭转信息,并传送出去。在动作要素数据连接部35,用子三维假想空间信息复原动作的轨迹,同时,判断手腕的扭转和手腕上结合的形状是哪一种,根据该判断进行切换显示,从而能够正确地再现手指的形状。
下面来说明CG特征的再现时重要表情的表现方法。
在真实地表现表情的情况下,虽然可以把头的形状结合对应于图4所示的层次的头的关节上,但是很难与身体的动作同步地再现所谓﹁笑﹂、﹁怒﹂的表情。因此,表情所使用的方法是把实况拍摄的动画替换为头的形状。
图10是用来说明表情的实况拍摄的概念图。
参照图10,在表情的实施实况拍摄情况下的头的形状基本上是球形或园柱形,根据需要使用再现了脸的凹凸的形状数据。在这种形状中,设定实况拍摄坐标或投影方向等的实况拍摄方法。进一步使头一面向右一面向左,来考虑骨骼的转头的情况下,准备从多个(通常是围绕脸的园上)照相机的位置见到人脸时的表情的动画系列(MPEG2压缩图象)作为使宽拍摄数据。决定头的方向时,决定从哪个动画系列(依存于视点的数据)中选择表情的实况拍摄,并根据需要从视线的角度对从多个动画系列中对应的时间的图象数据的对应的同类象素进行加权,进行所谓合并显示。例如:在观察CG特征的视点在图10(b)所示的A和B之间的情况下,选择A,B作为动画数据,并决定对应于从A,B和视点见到特征的重心时的角度的间距的加权(与角度差成正比)。
在CG动画数据发送部1必需有传送用MPEG2等压缩表情的动画系列的数据和摄象机位置的机构。另一方面,CG动画数据接收部2必需有复原压缩传送来的动画系列并根据摄象机位置来选择哪个视点的图象来进行实况拍摄的机构。关于动画的实况拍摄法参照Foley&Van Dam等人的“计算机图形原理及实践(Computer Graphics Principles and Practice II)”一书,由Addison Wesley公司出版。。
图13表示对右手、左手和头3路控制的动作的原稿表记的一例。
参照图13,设定起始点、终点和经过点的子三维假想空间的号码作为轨迹信息,并作为附加信息传送实际的再现时间,在该例中,指定非线性法作为插入方法。
图14表示CG骨骼构造的动作数据的发送接收方法的一例。
参照图14,在CG动作数据发送部1和CG动作数据接收部2之间通过接发送接收送子三维假想空间中表现的动作的数据的实体和动作的记述语言(例如13图),就能够不依存于各种计算、绘画等性能以及OS(OperatingSystem)等的硬件来进行CG动画数据的发送接收。
最后,简单地说明存在CG特征多个的情况下进行多个CG特征中的2个的冲突检查的方法。
如图6所示,在子三维假想空间内表现动作的优点之一是冲突检查的计算的简易化。例如:在大致判定一方的臂和另一方的手是如何发生冲突的情况下,首先考虑一方的特征的的关注的臂上包含的体节的界限。界限设为右图4所示的骨骼构造的臂的主位点和子位点决定的正方体,正方体的底面积由皮肤的尺寸来决定,在通常的人中,按照体格该正方体的底面积是固定值。如果能进行与另一方的特征的三维假想空间(正方体)的冲突判定,就能够面单地大概判定,在进一步详细判定的情况下,可以对包含上述边界的形状数据(多边形的全部顶点)进行冲突判定。同进该三维假想空间的冲突判定(边界和关注点的内外判定)就能够实现冲突检查的计算的大幅度的简化(高速化)。
本发明并不局限于上述的实施例,显然,在本发明的权利要求范围内能够作出种种设计变更和修正。
从以上的说明可知,按照本发明,在接发送接收送具有人类那样的复杂的结构的特征的三维动作的情况下,用骨骼构造定义人的层次,并对该结构按时间系列附加一部分间接的三维假想空间内的移动量或附加有代表性的动作要素,来进行发送接收,这样就能够发送接收以网络为基础的发送接收系统内的特征的自然而圆滑的运动,并能够大幅度地减少传送时的数据量。