CN106504306A - 一种动画片段拼接方法、信息发送方法及装置 - Google Patents
一种动画片段拼接方法、信息发送方法及装置 Download PDFInfo
- Publication number
- CN106504306A CN106504306A CN201610823198.2A CN201610823198A CN106504306A CN 106504306 A CN106504306 A CN 106504306A CN 201610823198 A CN201610823198 A CN 201610823198A CN 106504306 A CN106504306 A CN 106504306A
- Authority
- CN
- China
- Prior art keywords
- animation
- frame
- fragment
- animation fragment
- similarity
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种动画片段的拼接方法,包括:确定第一动画片段和第二动画片段;确定第一动画片段的各动画帧与第二动画片段的各动画帧的相似度;根据确定出的各相似度,对第一动画片段和第二动画片段进行合成。本方案能够使得对于动画帧的合成满足一定的相似度要求,从而减少拼接出的动画片段间的跳跃度,进而提升视觉体验。本申请还公开了一种动画片段的拼接装置以及一种信息发送方法和信息发送装置。
Description
技术领域
本申请涉及图形处理技术领域,尤其涉及一种动画片段拼接方法、信息发送方法及装置。
背景技术
动画片段,是由若干帧动画帧构成的动画帧集合。动画片段中包含的动画帧,一般分为两类,分别为关键帧动画帧(后简称关键帧),以及根据关键帧采用插值的方式得到的中间帧动画帧(后简称中间帧)。手机、电视等设备按照一定的帧率,对动画片段包含的动画帧进行显示,即可实现对动画片段的播放,从而为用户带来视觉上的享受。
在一些场景中,可能会有拼接不同动画片段的需求,即将两个或者两个以上的动画片段拼接合成一个新的动画。以待拼接的动画片段分别为动画片段A和动画片段B为例,一般是将动画片段A的最后一动画帧和动画片段B的第一动画帧进行一些特效处理,例如淡入/淡出以完成拼接。但是,简单地将两段动画进行首尾相连地拼接往往会使动画间地跳跃性较大,给用户造成不好的视觉体验(例如动画间的运动不够自然流畅,等)。
发明内容
本申请实施例提供一种动画片段的拼接方法,用以解决现有技术中按照预设的指定位置选取动画帧,会导致拼接出的动画间的跳跃性较大,从而给用户造成不好的视觉体验的问题。
本申请实施例提供一种动画片段的拼接装置,用以解决现有技术中按照预设的指定位置选取动画帧,会导致拼接出的动画间的跳跃性较大,从而给用户造成不好的时间体验的问题。
本申请实施例还提供一种信息发送方法和装置。
本申请实施例采用下述技术方案:
本申请实施例的动画片段的拼接方法,包括:确定第一动画片段和第二动画片段;确定所述第一动画片段的各动画帧与所述第二动画片段的各动画帧的相似度;根据确定出的各相似度,对所述第一动画片段和所述第二动画片段进行合成。
本申请实施例的信息发送方法,包括:确定第一动画片段的各动画帧与第二动画片段的各动画帧的相似度;将所述相似度发送给接收方,以使得所述接收方根据确定出的各相似度,对所述第一动画片段和所述第二动画片段进行合成。
本申请实施例的动画片段拼接装置,包括:动画片段确定单元,用于确定第一动画片段和第二动画片段;相似度确定单元,用于确定所述第一动画片段的各动画帧与所述第二动画片段的各动画帧的相似度;合成单元,用于根据确定出的各相似度,对所述第一动画片段和所述第二动画片段进行合成。
本申请实施例的信息发送装置,包括:相似度确定单元,用于确定第一动画片段的各动画帧与第二动画片段的各动画帧的相似度;发送单元,用于将所述相似度发送给接收方,以使得所述接收方根据确定出的各相似度,对所述第一动画片段和所述第二动画片段进行合成。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
由于以动画帧的相似度作为合成依据,对第一动画片段和第二动画片段进行合成,因此相比于现有技术中从动画片段中选取指定的动画帧进行合成的方式而言,本方案能够使得对于动画帧的合成满足一定的相似度要求,从而减少拼接出的动画片段间的跳跃度,进而提升视觉体验。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例1提供的一种动画片段拼接方法的具体流程示意图;
图2为申请实施例1提供的一种根据相似度对第一动画片段和第二动画片段进行合成的具体流程示意图;
图3是本申请实施例2提供的一种信息发送方法的具体流程示意图;
图4是本申请实施例3提供的一种动画片段拼接装置的结构示意图;
图5是本申请实施例4提供的一种信息发送装置的结构示意图;
图6是本申请实施例5提供的第一客户端和第二客户端进行即时通信的示意图;
图7是在如图6所示的场景下,实施本申请实施例提供的动画片段拼接方法的过程示意图;
图8是本申请实施例5中的第二客户端在播放动画文件1时提示用户是否播放动画文件2的示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
实施例1
为解决现有技术中按照预设的指定位置选取动画帧,会导致拼接出的动画间的跳跃性较大,从而给用户造成不好的视觉体验的问题,本申请实施例提供一种动画片段的拼接方法。
该动画片段的拼接方法的执行主体,可以是服务器;或者,还可以是各种用户终端,比如可以是个人电脑(Personal Computer,PC)、智能手机、平板电脑。当执行主体为用户终端时,该动画片段拼接方法,具体可以是由用户终端上安装的客户端来完成的。这里所说的客户端,比如可以是即时通信客户端,也可以是其他类型的客户端,如社交平台客户端,等。具体的执行主体并不构成对本申请的限定。
为便于描述,下文以该方法的执行主体为客户端为例,对本申请实施例提供的该方法进行介绍。可以理解,该方法的执行主体为客户端只是一种示例性描述,并非是对该方法执行主体的限制。
图1所示,为动画片段拼接方法的具体流程示意图,该方法的具体步骤如下:
步骤11,确定第一动画片段和第二动画片段。
在本步骤中,第一动画片段和第二动画片段,为待进行拼接的动画片段。其中,第一动画片段和第二动画片段,均为由若干动画帧构成的、具有一定播放时长的动画文件。一定播放时长,可以为1分、10分,甚至更长时间。
针对第一动画片段的确定方式而言,视实际的拼接需求,可以将某个动画文件(后称第一动画文件)的整个文件本身确定为第一动画片段;或者,也可以从第一动画文件中确定出一部分动画帧作为第一动画片段。后一种情况,往往出现在播放第一动画文件的过程中。比如,假设在播放第一动画文件的过程中,接收到动画文件拼接指令,那么,可以从当前正在播放的第一动画文件中,选取还未播放的部分或者全部动画帧,作为第一动画片段。
针对第二动画片段的确定方式而言,视实际的拼接需求,可以将某个动画文件(后称第二动画文件)的整个文件本身确定为第二动画片段;或者,也可以从第二动画文件中选取出一部分动画帧作为第二动画片段。
确定第一动画片段和第二动画片段后,执行步骤12。
步骤12,确定所述第一动画片段的各动画帧与所述第二动画片段的各动画帧的相似度。
以下以第一动画片段和第二动画片段为三维动画片段,可选地,第一动画片段和第二动画片段均为骨骼动画片段为例,介绍动画帧的相似度的含义。骨骼动画由一根根互相作用连接的“骨骼”(也称为关键点)组成,通过控制这些骨骼的位置、旋转方向和大小,并在这些骨头的位置附着皮肤数据,即可渲染成所需的可见动画形象。
在骨骼动画中,骨骼的旋转信息一般由旋转四元数来表征,旋转四元数可转换成旋转角度和旋转轴,骨骼的旋转向量(v)则由旋转角度乘于旋转轴得到,在本申请实施例中旋转向量为三维的向量v构成。
具体地,当第一动画片段和第二动画片段均为骨骼动画片段时,第一动画片段的动画帧与第二动画片段的动画帧的相似度,可以是根据第一动画片段的动画帧的骨骼的旋转向量(和/或旋转角速度向量)和第二动画片段的动画帧的骨骼的旋转向量(和/或旋转角速度向量)确定的。
在确定相似度的第一个可选的实施例中,可以是根据第一动画片段的动画帧的骨骼的旋转向量和旋转角速度向量,以及,第二动画片段的动画帧的骨骼的旋转向量和旋转角速度向量,确定相似度。具体地,可以根据公式[1],计算第一动画片段的各动画帧与第二动画片段的各动画帧的欧式距离D(i,j):
其中,D(i,j)为第一动画片段的第i帧动画帧与第二动画片段的第j帧动画帧的欧式距离,该欧式距离表征了第一动画片段的第i帧动画帧与第二动画片段的第j帧动画帧的相似度;
i为第一动画片段的第i帧动画帧;
j为第二动画片段的第j帧动画帧;
k为动画帧中的骨骼的编号;
wk为动画帧中第k个骨骼的骨骼权重,wk为在制作动画帧时,通过经验而得到的数值,越靠近根骨骼的骨骼,所对应wk的值越大;
为第一动画片段的第i帧动画帧的第k个骨骼的旋转向量;
为第二动画片段的第j帧动画帧的第k个骨骼的旋转向量;
z为预设的动画剧烈程度系数,一般是经验值;
为第一动画片段的第i帧动画帧的第k个骨骼的旋转角速度向量;
为第二动画片段的第j帧动画帧的第k个骨骼的旋转角速度向量。
根据公式[1]计算出的不同动画帧的相似度,实质上是所述不同动画帧中的动画的运动状态的相似度。而且D(i,j)的大小与相似度的大小负相关,即,D(i,j)的值越小,则表明相似度越大。例如,假设在第一动画片段和第二动画片段中,第一动画片段包含有#1~#5一共5个动画帧,第二动画片段包含有*1~*7一共7个动画帧。在确定出第一动画片段中每个动画帧与第二动画片段中每个动画帧的相似度发现,第一动画片段中的#3动画帧与第二动画片段中的*5动画帧的欧式距离D(i,j)最小,则表明第一动画片段中的#3动画帧与第二动画片段中的*5动画帧的相似度最高。
公式[1]中,第一动画片段中各动画帧的骨骼编号与第二动画片段中各动画帧的骨骼编号相同。换句话说,对于第一动画片段和第二动画片段中,例如表示手部的骨骼编号通常都是一样的。因此公式[1]中提到的第i帧动画帧的第k个骨骼与第j帧动画帧的第k个骨骼表示的都是同一部位的骨骼。
公式[1]中,为第一动画片段的第i帧动画帧与第二动画片段的第j帧动画帧的第k个骨骼的旋转向量的差别。计算旋转向量的差别时,可以对数据进行变化处理,使得两个动画帧当中骨骼的水平旋转方向相同。即,计算旋转向量的差别的具体实现方式,可以包括:根据去除根骨骼的水平旋转方向后的旋转向量的向量之差长度的平方,确定旋转向量的差别。
根骨骼的旋转向量是相对于基准坐标系而得到。而其他骨骼(子骨骼)的旋转向量是相对于父骨骼而得到,即子骨骼位于父骨骼的坐标系中。在制作过程中,通过父骨骼控制子骨骼的运动。需要说明的是,每一个骨骼相对于其下一层级的骨骼来说为父骨骼。
将动画中各骨骼的朝向统一化,是因为如果不同动画帧中的各骨骼正在进行的动作相似,但朝向不同,那么,若不去除水平选旋转方向,则根据计算出值会比较大,从而表征动画的相似度较低。但实际上,即便朝向不同,若他们(或它们)正在进行的动作相似,其运动状态的相似度仍然较高,也即动画帧的相似度较高。
因此,本申请实施例中,对数据进行变化处理,使得两个动画帧当中骨骼的水平旋转方向相同。一般可以根据下述方式,对数据进行变化出来:
利用两帧动画帧的父骨骼的朝向向量,计算出其中一帧动画帧的水平旋转四元数;
将计算出的水平旋转四元数,应用到这两帧动画帧中的另一帧动画帧的中。
通过这样的方式,可以使得两个动画帧当中骨骼的水平旋转方向相同。
以下,对公式[1]中的一些具体的参数再进行进一步的详细说明。
公式[1]中,为第一动画片段的第i帧动画帧的第k个骨骼的旋转角速度向量,为第二动画片段的第j帧动画帧的第k个骨骼的旋转角速度向量。旋转角速度向量的计算方式如下:
若将ptk记为动画片段的第t帧动画帧的第k个骨骼的旋转角速度向量,则ptk可以通过公式[2]确定:
ptk=△v/dt [2]
前面我们已经提到过,骨骼(关键点)的旋转信息一般由旋转四元数来表征,因此,我们先获取第t帧动画帧的第k个骨骼的旋转四元数qtk和第t-1帧动画帧的第k个骨骼的旋转四元数q(t-1)k,通过求二者的差,得到△q。因为旋转四元数可转换成旋转角度和旋转轴,骨骼的旋转向量(v)则由旋转角度乘于旋转轴得到;因此可以将△q,转换成旋转向量的差△v。dt表示所述第t帧动画帧和所述第t-1帧动画帧的预计播放时间的时间差。这个时间差可以根据播放动画帧时采用的帧率确定。
ptk表征了:动画帧的第k个骨骼在从第t帧动画帧的运动剧烈程度。
基于ptk的计算方式,可以推知和的计算方式,此处不再赘述。
在实际应用中,可以按照上述公式[2],逐一计算动画片段包含的各动画帧的各骨骼的旋转角速度向量。或者,考虑到一些动画帧中的各骨骼的运动剧烈程度相当,从而相应的旋转角速度向量相似,因此,ptk还可以通过下述方式确定:
在制作动画片段时,可以先通过观察来标注动画片段中旋转角速度向量较为相近的小片段,然后根据公式[2],计算各小片段中某一帧动画帧的各骨骼的旋转角速度向量,作为该小片段的所有帧动画帧的各骨骼的旋转角速度向量。
公式[1]中,如果动画帧中为人物骨骼,则k的取值一般大于0且小于或等于骨骼的数量,且k为整数。如果动画帧中为植物或动物骨骼,k的取值会与人物的不同,具体的取值可以视行业规定而确定。
从公式[1]中可以看出,对于三维动画中的动画帧,在计算两个动画帧之间的欧式距离时,从骨骼旋转向量和骨骼旋转角速度向量两个方面出发,将两个动画帧中的每一骨骼都依次进行了比较,进而计算出的欧式距离相对较为准确。当然,上述公式并不唯一,可以根据其他的骨骼参数,确定出各动画帧之间的欧式距离,进而通过确定出的各动画帧之间的欧式距离,确定出各动画帧之间的相似度。例如,可以采用下述公式[3]~[7]的任意一个公式,来计算所述欧式距离。该些公式等号左侧部分,为欧式距离。
其中,各公式中各参数的含义与公式[1]中相应参数的含义相同,在此不再赘述。且各公式中,值越小,则表明相似度越大。本申请实施例中,为提高动画片段的拼接效率,可以在执行步骤11前,就预先确定出各个可能进行拼接的动画片段(包括第一动画片段和第二动画片段)的各动画帧的相似度,从而步骤12的具体实现方式,可以包括:从预先确定出的各个可能进行拼接的动画片段的各动画帧的相似度中,确定出第一动画片段的各动画帧与第二动画片段的各动画帧的相似度。当然,若不考虑提高拼接效率,则步骤12的具体实现方式,可以包括:实时计算第一动画片段的各动画帧与第二动画片段的各动画帧的相似度。
步骤13,根据确定出的各相似度,对所述第一动画片段和所述第二动画片段进行合成。
如图2所示,本步骤13的一种具体实现方式,可以包括:
子步骤131,根据相似度,从第一动画片段中确定出第一动画帧,从第二动画片段中确定出第二动画帧。
子步骤132,根据第一动画帧和第二动画帧,对第一动画片段和第二动画片段进行合成。
通过执行子步骤131和子步骤132,完成对第一动画片段和第二动画片段的合成。例如,继续沿用“第一动画片段包含有#1~#5一共5个动画帧,第二动画片段包含有*1~*7一共7个动画帧”的例子,确定出第一动画片段的#3动画帧与第二动画片段中的*5动画帧相似度最高,因此可将第一动画片段中的#3动画帧与第二动画片段中的*5动画帧进行融合,得到相应的融合帧。在将第一动画片段和第二动画片段进行合成时,可将第一动画片段中位于#3动画帧之前的动画帧#1、#2,以及第二动画片段中位于动画帧*5之后的动画帧*6、*7选取出来,并将选取出来的各动画帧与得到的融合帧进行合成。具体的融合方式可以是,将动画帧#1、#2、融合帧(动画帧#3和动画帧*5)、动画帧*6、*7按照顺序合成为一个动画,而第一动画片段中的动画帧#4、#5以及第二动画片段中的动画帧*1~*4可相应的去掉。
上述通过确定出第一动画片段和第二动画片段中相似度最高的两个动画帧来合成动画的方式,可能会丢掉多个动画帧。具体而言,在上例中,在第一动画片段中的动画帧#3与第二动画片段中的动画帧*5相似度最高时,在对第一动画片段和第二动画片段进行合成的过程中,将会丢掉第一动画片段中未参与融合也未参与合成的动画帧#4、#5和第二动画片段中未参与融合也未参与合成的动画帧*1~*4,也就是说将会丢掉6个动画帧,而第一动画片段和第二动画片段一共才有12帧,这样一来,由于丢掉的帧数所占比例较大,最终合成的动画在效果上将会受到一定的影响。
为了尽可能的降低丢帧对动画合成的影响,在本申请实施例中,提出了在子步骤131中,以预期丢帧率和相似度这两个因素,作为第一动画帧和第二动画帧的确定依据。具体地,可以根据公式[8]来确定待融合的两个动画帧:
其中,xij为所述第一动画片段的第i帧动画帧和所述第二动画片段的第j帧动画帧的欧氏距离;i的取值范围为[1,第一动画片段总帧数];j的取值范围为[1,第二动画片段总帧数];
yij为根据i确定出的所述第一动画片段和/或根据j确定出的所述第二动画片段的综合丢帧率;
xIJ为使a*xij+b*yij最小的xij;
yIJ为使a*xij+b*yij最小的yij;
I为所述第一动画帧的帧号;J为所述第二动画帧的帧号;
a、b则为相应的系数,或者也可以成为权重,满足:a≥0,b≥0。
公式[8]中的综合丢帧率yij,可以根据第一动画片段在第i帧动画帧的预期丢帧率和/或第二动画片段在第j帧动画帧的预期丢帧率来确定。其中,根据所述第i帧动画帧,确定出所述第一动画片段中不参与融合且不参与合成的动画帧帧数,并根据确定出的所述第一动画片段中不参与融合且不参与合成的动画帧帧数,以及所述第一动画片段的总帧数,确定所述第一动画片段在第i帧动画帧的的预期丢帧率。根据所述第j帧动画帧,确定出所述第二动画片段中不参与融合且不参与合成的动画帧帧数,并根据确定出的所述第二动画片段中不参与融合且不参与合成的动画帧帧数,以及所述第二动画片段的总帧数,确定所述第二动画片段在第j帧动画帧的预期丢帧率。
上述说明的yij并非指的是前一动画和后一动画在实际合成过程中的真实丢帧率,而是一个能够表征实际丢帧率的数值,这个数值虽然不能真实的表示出动画合成过程中的真实丢帧率,但是,该数值与动画合成过程中的丢帧率是成正相关的,所以,当yij的数值较小时,根据yij将上述前一动画和后一动画进行合成后的丢帧率也将相对较小。
例如,在一种yij的确定方式中,假设第一动画片段有10帧,第二动画片段有5帧,将这两个动画片段进行合成时,假设i为8,j为3,则第一动画片段有2个动画帧合成的过程中被丢弃,第二动画片段也有2个动画帧合成的过程中被丢弃,此时,第一动画片段的预期丢帧率为2/10=0.2,第二动画片段的预期丢帧率为2/5=0.4,则,合成这两个动画时的综合丢帧率y83则是(0.2+0.4)/2=0.3,此时yij为根据i确定出的第一动画片段的预期丢帧率和根据j确定出第二动画片段的预期丢帧率的平均值。如此设置,同时考虑了两个动画片段的丢帧率,考虑更加全面,使得融合后的动画更加完整,显示效果更好。
需要说明的是,上述说明的yij的确定方式除了可将第一动画片段的预期丢帧率和第二动画片段的预期丢帧率的平均值作为该yij外,还可将这两个预期丢帧率之和就作为该yij;也可以为各预期丢帧率分配权重,并将这两个预期丢帧率的加权和值就作为该yij;亦或是将这两个预期丢帧率的和值进行开根,并将开根得到的值就作为该yij;当然,也可以是将第一动画片段的预期丢帧率或第二动画片段的预期丢帧率作为yij。总之,yij的意义在于能够表征出相邻两个动画在合成时的丢帧率即可,即,该yij应与相邻两个动画片段合成后的预期丢帧率成正相关,所以,无论该yij的确定方式是何,终端确定出的yij能够与相邻两个动画片段合成后的预期丢帧率成正相关即可,而至于确定的方式则并不唯一。
继续沿用上例,需要说明的是,在其他实施方式中,还可以将第一动画片段的预期丢帧率0.2作为合成这两个动画片段时的综合丢帧率,或者根据第一动画片段的预期丢帧率0.2确定合成这两个动画片段时的综合丢帧率,对该第一动画片段的预期丢帧率做出适应性变化,例如,对其进行开根,或者除以某一数值等等;或者,也可以将第二动画片段的预期丢帧率0.4当做合成这两个动画片段时的综合丢帧率,或者根据第二动画片段的预期丢帧率0.2确定合成这两个动画片段时的综合丢帧率,对该第二动画片段的预期丢帧率做出适应性变化,在此不再赘述。
需要说明的是,根据所述第i帧动画帧,确定出所述第一动画片段中不参与融合且不参与合成的动画帧帧数,并根据确定出的所述第一动画片段中不参与融合且不参与合成的动画帧帧数,以及所述第一动画片段的总帧数,确定所述第一动画片段在第i帧动画帧的的预期丢帧率。因此,第一动画片段在第i帧动画帧的预期丢帧率的确定方式也并不限于上述方式,只要根据前述原则确认即可,本申请实施例对此不做任何限定。同理,第二动画片段在第j帧动画帧的的预期丢帧率的确定方式不再赘述。如此设置,可以使我们的融合过程更加简便。
由于在公式[8]中,一方面,考虑引入了综合丢帧率来影响第一动画帧和第二动画帧的确定结果,因此可以保证选取出的第一动画帧和第二动画帧的综合丢帧率不至于过高。另一方面,考虑引入了相似度来影响第一动画帧和第二动画帧的确定结果,因此可以保证选取出的第一动画帧和第二动画帧的相似度不至于过低(也即所述欧式距离不至于过高)。例如,继续沿用上例,在不考虑综合丢帧率时(即此时取b=0),假设选出的#3动画帧与*5动画帧之间的相似度和#3动画帧与*3动画帧之间的相似度相等且均为最高,选择#3动画帧和*5动画帧分别作为第一动画帧和第二动画帧时,丢帧数为6帧,而选择#3动画帧和*3动画帧分别作为第一动画帧和第二动画帧时,丢帧数为4帧。在考虑综合丢帧率后,从第一动画片段中选出的第一动画帧为#3动画帧,从第二动画片段中选出的第二动画帧为*3动画帧。可见,根据公式[8],可以在考虑第一动画帧和第二动画帧的相似度较高的前提下,保证相应的综合丢帧率较低。而且本实施例当中采用的是两个动画片段的预期丢帧率,如此设置,当需要合成的两个动画片段的动画帧数不等时(如前所述,动画片段A为10个动画帧,动画片段B为5个动画帧),可以兼顾考虑每个动画片段的预期丢帧率,避免出现总的综合丢帧率低,但其中一个动画片段的预期丢帧率过高的情况。
在其他实施例当中,通过改变a和b的取值,可以得到用户理想的第一动画帧和第二动画帧。例如,当a=1,b=0时,即为上述只考虑两段动画之间的相关性而不考虑综合丢帧率的情况,此时当取min(ax),即得到相似度最大的两个动画帧,而当a=0,b=1时,即为只考虑两段动画之间的综合丢帧率而不考虑相关性的情况,此时当取min(by),即得到综合丢帧率最低的两个动画帧。
因此,根据公式[8]确定第一动画帧和第二动画帧能够达到的技术效果还包括:即使确定出的第一动画帧和第二动画帧之间的相似度不是最高的,但是相应的综合丢帧率可能较小,这样也可以通过减少丢弃动画帧,以保证合成后动画的完整性;即使根据公式[8]得到的综合丢帧率不是最小的,但是相似度可能较高,这样可以降低后续合成后的动画片段间的跳跃度。
还需要说明的是,即便采用上述公式[8]来确定第一动画帧和第二动画帧,在实际进行第一动画片段和第二动画片段的合成时,或多或少的都会在合成过程中丢掉一部分动画帧。一方面,为了尽可能少丢帧,另一方面,为了使合成得到的动画片段间的跳跃度较小,更加流畅,在本申请实施例中,具体的,可以在确定出第一动画帧和第二动画帧后,以第一动画帧和第二动画帧的帧号为依据,从第一动画片段中,选择第一动画帧以及位于第一动画帧之后的n帧动画帧,并按选择出的各动画帧在第一动画片段中的排列顺序进行排序,得到第一动画序列。从第二动画片段中,选择第二动画帧以及位于第二动画帧之前的n帧动画帧,并按选择出的各动画帧在第二动画片段中的排列顺序进行排序,得到第二动画序列。第一动画序列和第二动画序列,均包含n+1帧动画帧。其中,n为正整数。在不同的动画片段拼接时,n的取值可能不相同。n的具体取值根据行业经验而定。
选出第一动画序列和第二动画序列后,将第一动画序列和第二动画序列中排序序号相同的动画帧进行融合,得到n+1个融合动画帧。具体融合方法为:
根据选取的各动画帧在相应的动画序列中的排列序号,确定融合系数。并根据融合系数,利用插值运算,将第一动画序列和第二动画序列中排序序号相同的动画帧进行融合,得到的融合结果,为n+1个动画帧。融合得到的动画帧,也称为融合动画帧。
得到n+1个融合动画帧后,对参与合成的各动画帧(第一动画片段中位于第一动画帧之前的各动画帧、各融合动画帧、第二动画片段中位于第二动画帧之后的各动画帧)进行合成。
例如,继续沿用上例,在确定第一动画帧为#3动画帧,确定第二动画帧为*3动画帧时,可取n=2,那么此时取第一动画片段中#3~#5的动画帧作为第一动画序列,取第二动画片段中*1~*3的动画帧作为第二动画序列。将#3动画帧与*1动画帧融合,将#4动画帧与*2动画帧融合,将#5动画帧与*3动画帧融合。得到三个融合动画帧后,对第一动画片段中的#1、#2,3个融合动画帧,第二动画片段中的*4~*7进行合成。此时由于未丢弃动画帧,因此综合丢帧率为0。
以下对本申请实施例中如何对各待融合的动画帧进行融合进行介绍。
具体地,可以先根据公式[9],计算融合系数:
β(m)=1-α(m)
其中,α(m)为第一动画序列中第m帧动画帧对应的融合系数;β(m)为第二动画序列中第m帧动画帧对应的融合系数;m为动画帧在相应动画序列中的排列序号。
公式[9]为余弦函数,从而能够保证一阶的连续性,根据公式[9]计算动画帧的融合系数,能够有效地分配第一动画序列的待融合帧与第二动画序列的待融合帧在融合时所占的权重,使得融合后的动画帧渐进过渡,提高动画运动时的自然流畅性。
插值运算,可以为球面插值、线性插值运算等。在计算出融合系数后,具体如何利用的计算出的融合系数,采用插值运算将所述第一动画序列和所述第二动画序列中排序序号相同的动画帧进行融合,可以参见现有的相关技术中采用插值运算融合不同动画帧的方式,本文不再赘述。
在完成对动画帧的融合后,对参与合成的各动画帧进行合成,从而完成对第一动画片段和第二动画片段的拼接。其中,参与合成的动画帧,包括:第一动画片段中位于第一动画帧之前的各动画帧、各融合动画帧、第二动画片段中位于第二动画帧之后的各动画帧。
在其他实施例中,第一动画片段的动画帧和第二动画片段的动画帧,均可以为关键帧。
由于以动画帧的相似度作为合成依据,对第一动画片段和第二动画片段进行合成,因此相比于现有技术中从动画片段中选取指定的动画帧进行合成的方式而言,本方案能够使得对于动画帧的合成满足一定的相似度要求,从而减少拼接出的动画片段间的跳跃度,进而提升视觉体验。
实施例2
为解决现有技术中按照预设的指定位置选取动画帧,会导致拼接出的动画间的跳跃性较大,从而给用户造成不好的视觉体验的问题,本申请实施例提供一种信息发送方法。该方法的执行主体,可以为服务器,也可以为客户端,或者,还可以为其他实体或者虚拟的设备。以下以本方法的执行主体为服务器为例,对本申请实施例提供的该方法进行介绍。
图3所示,为本申请实施例提供的一种信息发送方法的具体流程图,该方法具体包括下述步骤:
步骤21,服务器确定第一动画片段的各动画帧与第二动画片段的各动画帧的相似度。
如第一动画片段和第二动画片段中的动画帧,分别归属于第一动画文件和第二动画文件,而在服务器执行步骤21时,还无法预测后续进行动画片段拼接的客户端会从第一动画文件和第二动画文件中分别选取哪些动画帧构成第一动画片段和第二动画片段,则步骤21的具体实现方式可以包括:
确定第一动画文件的各动画帧和第二动画文件中的各动画帧的相似度。
第一动画片段和第二动画片段均为骨骼动画片段时,如何确定动画帧的相似度,可以参见本申请实施例1采用的计算不同动画帧的欧式距离的方式,可选的,还包括实施例1当中的综合丢帧率的确定,此处不再赘述。
步骤22,服务器将所述相似度发送给接收方,以使得所述接收方根据确定出的各相似度,对所述第一动画片段和所述第二动画片段进行合成。
其中,这里所说的接收方,比如可以是与服务器相对应的客户端。
在本步骤中,接收方根据接收到的相似度,如何对第一动画片段和第二动画片段进行拼接,可以参见实施例1中的相关描述,在此不再赘述。
采用本申请实施例提供的方法,由于可以使得接收方以动画帧的相似度作为合成依据,能够使得对于动画帧的合成满足一定的相似度要求,从而减少拼接出的动画片段间的跳跃度,进而提升视觉体验。
实施例3
实施例1提供了一种动画片段的拼接方法,相应的,本申请实施例还提供了一种动画片段的拼接装置,用于减少拼接出的动画片段间的跳跃度,从而提升视觉体验。该拼接装置的具体结构如图4所示,该拼接装置具体包括:
动画片段确定单元31、相似度确定单元32和合成单元33,其中:
动画片段确定单元31,用于确定第一动画片段和第二动画片段;
相似度确定单元32,用于确定所述第一动画片段的各动画帧与所述第二动画片段的各动画帧的相似度;
合成单元33,用于根据相似度确定单元32确定出的各相似度,对所述第一动画片段和所述第二动画片段进行合成。
相似度确定单元32根据欧式距离确定相似度。欧式距离的计算方式与实施例1的相同,可选的,还包括实施例1当中的综合丢帧率的确定,在此不再赘述。
可选的,合成单元33功能的一种实现方式,包括:
从所述第一动画片段中确定出第一动画帧,从所述第二动画片段中确定出第二动画帧;根据所述第一动画帧和第二动画帧,对所述第一动画片段和所述第二动画片段进行合成。
其中,从所述第一动画片段和第二动画片段分别确定出的所述第一动画帧和所述第二动画帧满足前文所述的公式[8]。
可选的,合成单元33根据所述第一动画帧和所述第二动画帧,对所述第一动画片段和所述第二动画片段进行合成的方式,具体可以包括:
从所述第一动画片段中,选择所述第一动画帧以及位于所述第一动画帧之后的n帧动画帧,并按选择出的各动画帧在所述第一动画片段中的排列顺序进行排序,得到第一动画序列;
从所述第二动画片段中,选择所述第二动画帧以及位于所述第二动画帧之前的n帧动画帧,并按选择出的各动画帧在所述第二动画片段中的排列顺序进行排序,得到第二动画序列;
将所述第一动画序列和所述第二动画序列中排序序号相同的动画帧进行融合,得到n+1个融合动画帧;
对参与合成的各动画帧进行合成;其中,所述参与合成的动画帧,包括:所述第一动画片段中位于所述第一动画帧之前的各动画帧、所述各融合动画帧、所述第二动画片段中位于所述第二动画帧之后的各动画帧;
其中,n为正整数。
可选的,将所述第一动画序列和所述第二动画序列中排序序号相同的动画帧进行融合,得到n+1个融合动画帧,可以包括:
根据选取的各动画帧在相应的动画序列中的排列序号,确定融合系数;
根据所述融合系数,利用插值运算,将所述第一动画序列和所述第二动画序列中排序序号相同的动画帧进行融合,得到n+1个所述融合动画帧。
可选的,根据选取的各动画帧在相应的动画序列中的排序序号,确定融合系数,可以包括:根据公式[9]计算融合系数。
采用本申请实施例提供的该动画片段的拼接装置,由于可以以动画帧的相似度作为合成依据,能够使得对于动画帧的合成满足一定的相似度要求,从而减少拼接出的动画片段间的跳跃度,进而提升视觉体验。
实施例4
实施例2提供了一种信息发送方法,相应的,本申请实施例还提供一种信息发送装置,以解决现有技术中按照预设的指定位置选取动画帧,会导致拼接出的动画间的跳跃性较大,从而给用户造成不好的视觉体验的问题。该信息发送装置的具体结构如图5所示,该信息发送装置具体包括:
相似度确定单元41和发送单元42,其中:
相似度确定单元41,用于确定第一动画片段的各动画帧与第二动画片段的各动画帧的相似度;
发送单元42,用于将所述相似度发送给接收方,以使得所述接收方根据确定出的各相似度,对所述第一动画片段和所述第二动画片段进行合成。
在本实施例中,相似度确定单元和发送单元可以设置在服务器中。在具体实施场景中,可以通过服务器,确定第一动画片段的各动画帧与第二动画片段的各动画帧的相似度,然后再由服务器将相似度发送给用户终端或者客户端。
采用本申请实施例提供的信息发送装置,由于可以使得接收方以动画帧的相似度作为合成依据,能够使得对于动画帧的合成满足一定的相似度要求,从而减少拼接出的动画片段间的跳跃度,进而提升视觉体验。
实施例5
以下结合附图6-附图8,说明本申请实施例提供的动画片段拼接方法在实际场景中的一种应用。
如图6所示,为在实际场景中进行即时通信的第一客户端和第二客户端的示意图。图6中,使用安装有第一客户端的手机1的用户A,与使用安装有第二客户端的手机2的用户B正在通过服务端(也称服务器)进行即时通信。
在即时通信时,假设:
用户A在手机1中,存储有根据用户A的个人形象生成的5个动画文件,分别为动画文件1~动画文件5;
每个动画文件,假设均有50帧动画帧;
用户A通过服务器向用户B的手机2发送动画文件,以便手机2对动画文件进行播放。
在如图6所示的场景下,基于上述假设,实施本申请实施例提供的动画片段拼接方法的过程,包括如图7所示的下述步骤:
步骤61,服务器构建运动图;
单个运动图,为两个不同动画文件的动画帧的欧氏距离构成的矩阵。
针对动画文件1~动画文件5而言,服务器可以构建相应的运动图。具体而言,构建的运动图可以包括:
动画文件1的动画帧和动画文件2的动画帧的欧式距离构成的第一运动图、动画文件1的动画帧和动画文件3的动画帧的欧式距离构成的第二运动图、动画文件1的动画帧和动画文件4的动画帧的欧式距离构成的第三运动图,...,等等,共10个运动图。
所述欧式距离的计算方式,与实施例1中的欧式距离的计算方式相同,在此不再赘述。欧式距离的值越小,则相似度越大。
假设欧式距离是按照公式[1]计算得到的,那么在运动图中,欧式距离D(i,j)的i也作为运动图的列号,j也作为运动图的行号。
步骤62,假设用户A操作第一客户端向第二客户端发送动画文件1,则该动画文件1会从第一客户端先发送至服务器;
步骤63,服务器将第一客户端发送来的动画文件1发送给第二客户端;
在一种实施方式中,在步骤62中,用户A也可以操作第一客户端向第二客户端发送动画文件1的标识,从而在步骤63中,服务器可以根据该标识确定出相应的动画文件1,并将该动画文件1发送给第二客户端。需要说明的是,在这种情况下,服务器保存有上述动画文件1~动画文件5。
步骤64,第二客户端对动画文件1进行播放;
步骤65,假设第二客户端对动画文件1进行播放的同时,用户A又操作第一客户端向第二客户端发送动画文件2,则该动画文件2会从第一客户端发送至服务器;
步骤66,服务器将第一客户端发送来的动画文件2发送给第二客户端,此外,服务器还将动画文件1的动画帧和动画文件2的动画帧的欧式距离构成的第一运动图发送给第二客户端;
在一种实施方式中,在步骤65中,用户A也可以操作第一客户端向第二客户端发送动画文件2的标识,从而在步骤66中,服务器可以根据该标识确定出相应的动画文件2,并将该动画文件2发送给第二客户端。
在该步骤66中,服务器由于可以确定出第一客户端先后向第二客户端发送了动画文件1和动画文件2,因此,可以确定出与动画文件1和动画文件2相对应的运动图为第一运动图,从而将该第一运动图发送给第二客户端。
可选的,服务器也可以一并将上述的10个运动图以及各运动图与动画文件的标识的映射关系,发送给第二客户端,以便第二客户端后续可以根据将要拼接的动画文件的标识,确定对应的运动图,进而从确定的运动图中查询动画帧的相似度。
步骤67,第二客户端在接收到动画文件2后,由于判断出当前正在播放其他动画文件(播放动画文件1,比如,具体播放到如图8所示的该动画帧),因此可以显示如图8所示的提示文字“播放新动画文件”,以及相应的按钮7“是”和按钮“否”。
步骤68,若用户B触发按钮7,则第二客户端将动画文件1作为第一动画片段,将动画文件2作为第二动画片段。
当然,在一种实施例中,第二客户端可以选取动画文件1的部分动画帧作为第一动画片段,可以选取动画文件2的部分动画帧作为第二动画片段。
步骤69,第二客户端查询所述第一运动图,从而确定第一动画片段的动画帧和第二动画片段的动画帧的欧式距离;
步骤610,假设第二客户端通过比较确定出的欧式距离,确定从第一动画片段中选取的帧号为6的动画帧,与从第二动画片段中选取出的帧号为5的动画帧最为相似,也即这两个动画帧的欧式距离最小,那么,以从第一动画片段中选取的帧号为6的动画帧为基准,从第一动画片段中选取帧号为6的该动画帧,以及位于该动画帧之后的2个动画帧,作为待融合的动画帧;此外,以从第二动画片段中选取出的帧号为5的动画帧为基准,从动画文件2中选取帧号为5的该动画帧,以及位于该动画帧之前的2个动画帧(帧号分别为3、4),作为待融合的动画帧;
步骤611,根据待融合的动画帧,对第一动画片段和第二动画片段进行合成。
步骤611的具体实现方式,可以参见前文的步骤132,此处不再赘述。
上述方案,由于以动画帧的相似度作为合成依据,对第一动画片段和第二动画片段进行合成,因此相比于现有技术中按照预设的指定位置从动画片段中选取动画帧进行合成的方式而言,本方案能够使得对于动画帧的合成满足一定的相似度要求,从而减少拼接出的动画片段间的跳跃度,进而提升视觉体验。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (16)
1.一种动画片段的拼接方法,其特征在于,包括:
确定第一动画片段和第二动画片段;
确定所述第一动画片段的各动画帧与所述第二动画片段的各动画帧的相似度;
根据确定出的各相似度,对所述第一动画片段和所述第二动画片段进行合成。
2.根据权利要求1所述的拼接方法,其特征在于,所述第一动画片段和所述第二动画片段均为三维动画片段,则
所述相似度,根据所述第一动画片段的动画帧和所述第二动画片段的动画帧的骨骼的旋转向量和/或旋转角速度向量确定。
3.根据权利要求2所述的拼接方法,其特征在于,所述相似度根据欧氏距离D(i,j)确定,所述欧氏距离D(i,j)采用下述方式确定:
其中,i为所述第一动画片段的第i帧动画帧;
j为所述第二动画片段的第j帧动画帧;
k为动画帧中的骨骼的编号;
wk为动画帧的第k个骨骼的骨骼权重;
为所述第一动画片段的第i帧动画帧的第k个骨骼的旋转向量;
为所述第二动画片段的第j帧动画帧的第k个骨骼的旋转向量;
z为预设的动画剧烈程度系数;
为所述第一动画片段的第i帧动画帧的第k个骨骼的旋转角速度向量;
为所述第二动画片段的第j帧动画帧的第k个骨骼的旋转角速度向量;
所述第一动画片段中各动画帧的骨骼编号与所述第二动画片段中各动画帧的骨骼编号相同;
所述D(i,j)的大小与相似度的大小负相关。
4.根据权利要求1所述的拼接方法,其特征在于,根据确定出的各相似度,对所述第一动画片段和所述第二动画片段进行合成,包括:
从所述第一动画片段中确定出第一动画帧,从所述第二动画片段中确定出第二动画帧,所述第一动画帧和所述第二动画帧满足:
其中,xij为所述第一动画片段的第i帧动画帧和所述第二动画片段的第j帧动画帧的欧氏距离;i的取值范围为[1,第一动画片段总帧数];j的取值范围为[1,第二动画片段总帧数];
yij为根据i确定出的所述第一动画片段和/或根据j确定出的所述第二动画片段的综合丢帧率;
xIJ为使a*xij+b*yij最小的xij;
yIJ为使a*xij+b*yij最小的yij;
I为所述第一动画帧的帧号;J为所述第二动画帧的帧号;
a、b则为相应的系数,a≥0,b≥0;
根据所述第一动画帧和第二动画帧,对所述第一动画片段和所述第二动画片段进行合成。
5.如权利要求4所述的方法,其特征在于,根据所述第i帧动画帧和/或根据所述第j帧动画帧确定出的综合丢帧率,具体包括:
根据所述第i帧动画帧,确定出所述第一动画片段中不参与融合且不参与合成的动画帧帧数,并根据确定出的所述第一动画片段中不参与融合且不参与合成的动画帧帧数,以及所述第一动画片段的总帧数,确定所述第一动画片段的预期丢帧率;
根据所述第j帧动画帧,确定出所述第二动画片段中不参与融合且不参与合成的动画帧帧数,并根据确定出的所述第二动画片段中不参与融合且不参与合成的动画帧帧数,以及所述第二动画片段的总帧数,确定所述第二动画片段的预期丢帧率;
根据所述第一动画片段的预期丢帧率和/或所述第二动画片段的预期丢帧率,确定所述综合丢帧率。
6.根据权利要求4所述的拼接方法,其特征在于,根据所述第一动画帧和所述第二动画帧,对所述第一动画片段和所述第二动画片段进行合成,包括:
从所述第一动画片段中,选择所述第一动画帧以及位于所述第一动画帧之后的n帧动画帧,并按选择出的各动画帧在所述第一动画片段中的排列顺序进行排序,得到第一动画序列;
从所述第二动画片段中,选择所述第二动画帧以及位于所述第二动画帧之前的n帧动画帧,并按选择出的各动画帧在所述第二动画片段中的排列顺序进行排序,得到第二动画序列;
将所述第一动画序列和所述第二动画序列中排序序号相同的动画帧进行融合,得到n+1个融合动画帧;
对参与合成的各动画帧进行合成;其中,所述参与合成的动画帧,包括:所述第一动画片段中位于所述第一动画帧之前的各动画帧、所述各融合动画帧、所述第二动画片段中位于所述第二动画帧之后的各动画帧;
其中,n为正整数。
7.根据权利要求6所述的拼接方法,其特征在于,将所述第一动画序列和所述第二动画序列中排序序号相同的动画帧进行融合,得到n+1个融合动画帧,包括:
根据选取的各动画帧在相应的动画序列中的排列序号,确定融合系数;
根据所述融合系数,利用插值运算,将所述第一动画序列和所述第二动画序列中排序序号相同的动画帧进行融合,得到n+1个所述融合动画帧。
8.根据权利要求7所述的拼接方法,其特征在于,根据选取的各动画帧在相应的动画序列中的排序序号,确定融合系数,包括:
根据下述公式,计算融合系数:
β(m)=1-α(m)
其中,α(m)为所述第一动画序列中第m帧动画帧对应的融合系数,β(m)为所述第二动画序列中第m帧动画帧对应的融合系数。
9.根据权利要求1-8中任一项所述的拼接方法,其特征在于,各所述动画帧均为关键帧。
10.一种信息发送方法,其特征在于,包括:
确定第一动画片段的各动画帧与第二动画片段的各动画帧的相似度;
将所述相似度发送给接收方,以使得所述接收方根据确定出的各相似度,对所述第一动画片段和所述第二动画片段进行合成。
11.一种动画片段的拼接装置,其特征在于,包括:
动画片段确定单元,用于确定第一动画片段和第二动画片段;
相似度确定单元,用于确定所述第一动画片段的各动画帧与所述第二动画片段的各动画帧的相似度;
合成单元,用于根据确定出的各相似度,对所述第一动画片段和所述第二动画片段进行合成。
12.根据权利要求11所述的拼接装置,其特征在于,所述第一动画片段和所述第二动画片段均为三维动画片段,则
所述相似度,根据所述第一动画片段的动画帧和所述第二动画片段的动画帧的骨骼的旋转向量和/或旋转角速度向量确定。
13.根据权利要求12所述的拼接装置,其特征在于,所述相似度根据欧氏距离D(i,j)确定,所述欧氏距离D(i,j)采用下述方式确定:
其中,i为所述第一动画片段的第i帧动画帧;
j为所述第二动画片段的第j帧动画帧;k为动画帧中的骨骼的编号;
wk为动画帧的第k个骨骼的骨骼权重;
为所述第一动画片段的第i帧动画帧的第k个骨骼的旋转向量;
为所述第二动画片段的第j帧动画帧的第k个骨骼的旋转向量;
z为预设的动画剧烈程度系数;
为所述第一动画片段的第i帧动画帧的第k个骨骼的旋转角速度向量;
为所述第二动画片段的第j帧动画帧的第k个骨骼的旋转角速度向量;
所述第一动画片段中各动画帧的骨骼编号与所述第二动画片段中各动画帧的骨骼编号相同;
所述D(i,j)的大小与相似度的大小负相关。
14.根据权利要求11所述的拼接装置,其特征在于,所述合成单元,具体用于:
从所述第一动画片段中确定出第一动画帧,从所述第二动画片段中确定出第二动画帧,所述第一动画帧和所述第二动画帧满足:
其中,xij为所述第一动画片段的第i帧动画帧和所述第二动画片段的第j帧动画帧的欧氏距离;i的取值范围为[1,第一动画片段总帧数];j的取值范围为[1,第二动画片段总帧数];
yij为根据i确定出的所述第一动画片段和/或根据j确定出的所述第二动画片段的综合丢帧率;
xIJ为使a*xij+b*yij最小的xij;
yIJ为使a*xij+b*yij最小的yij;
I为所述第一动画帧的帧号;J为所述第二动画帧的帧号;
a、b则为相应的系数,a≥0,b≥0;
根据所述第一动画帧和第二动画帧,对所述第一动画片段和所述第二动画片段进行合成。
15.如权利要求14所述的拼接装置,其特征在于,根据所述第i帧动画帧和/或根据所述第j帧动画帧确定出的综合丢帧率,具体包括:
根据所述第i帧动画帧,确定出所述第一动画片段中不参与融合且不参与合成的动画帧帧数,并根据确定出的所述第一动画片段中不参与融合且不参与合成的动画帧帧数,以及所述第一动画片段的总帧数,确定所述第一动画片段的预期丢帧率;
根据所述第j帧动画帧,确定出所述第二动画片段中不参与融合且不参与合成的动画帧帧数,并根据确定出的所述第二动画片段中不参与融合且不参与合成的动画帧帧数,以及所述第二动画片段的总帧数,确定所述第二动画片段的预期丢帧率;
根据所述第一动画片段的预期丢帧率和/或所述第二动画片段的预期丢帧率,确定所述综合丢帧率。
16.一种信息发送装置,其特征在于,包括:
相似度确定单元,用于确定第一动画片段的各动画帧与第二动画片段的各动画帧的相似度;
发送单元,用于将所述相似度发送给接收方,以使得所述接收方根据确定出的各相似度,对所述第一动画片段和所述第二动画片段进行合成。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610823198.2A CN106504306B (zh) | 2016-09-14 | 2016-09-14 | 一种动画片段拼接方法、信息发送方法及装置 |
PCT/CN2017/101348 WO2018050045A1 (zh) | 2016-09-14 | 2017-09-12 | 一种动画片段拼接方法、信息发送方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610823198.2A CN106504306B (zh) | 2016-09-14 | 2016-09-14 | 一种动画片段拼接方法、信息发送方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106504306A true CN106504306A (zh) | 2017-03-15 |
CN106504306B CN106504306B (zh) | 2019-09-24 |
Family
ID=58290446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610823198.2A Active CN106504306B (zh) | 2016-09-14 | 2016-09-14 | 一种动画片段拼接方法、信息发送方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106504306B (zh) |
WO (1) | WO2018050045A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018050045A1 (zh) * | 2016-09-14 | 2018-03-22 | 厦门幻世网络科技有限公司 | 一种动画片段拼接方法、信息发送方法及装置 |
CN109982126A (zh) * | 2017-12-27 | 2019-07-05 | 艾迪普(北京)文化科技股份有限公司 | 一种相关视频的叠加方法 |
CN111988638A (zh) * | 2020-08-19 | 2020-11-24 | 北京字节跳动网络技术有限公司 | 一种拼接视频的获取方法、装置、电子设备和存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4191584A1 (en) | 2021-12-02 | 2023-06-07 | Koninklijke Philips N.V. | An audio apparatus and method of operating therefor |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101324963A (zh) * | 2008-07-24 | 2008-12-17 | 上海交通大学 | 基于静止图像的流体视频合成方法 |
CN101626513A (zh) * | 2009-07-23 | 2010-01-13 | 深圳大学 | 全景视频生成方法及系统 |
CN101931772A (zh) * | 2010-08-19 | 2010-12-29 | 深圳大学 | 一种全景视频融合方法、系统及视频处理设备 |
CN101930614A (zh) * | 2010-08-10 | 2010-12-29 | 西安交通大学 | 基于视频分层的绘画渲染方法 |
CN101951487A (zh) * | 2010-08-19 | 2011-01-19 | 深圳大学 | 一种全景图像融合方法、系统及图像处理设备 |
CN102254006A (zh) * | 2011-07-15 | 2011-11-23 | 上海交通大学 | 基于内容的互联网视频检索方法 |
CN102521843A (zh) * | 2011-11-28 | 2012-06-27 | 大连大学 | 一种基于流形学习的三维人体运动分析与合成方法 |
CN103632359A (zh) * | 2013-12-13 | 2014-03-12 | 清华大学深圳研究生院 | 一种视频超分辨率处理方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SG119229A1 (en) * | 2004-07-30 | 2006-02-28 | Agency Science Tech & Res | Method and apparatus for insertion of additional content into video |
CN102157009A (zh) * | 2011-05-24 | 2011-08-17 | 中国科学院自动化研究所 | 基于运动捕获数据的三维人体骨架运动编辑方法 |
CN102945561B (zh) * | 2012-10-16 | 2015-11-18 | 北京航空航天大学 | 一种计算机骨骼动画中基于运动捕获数据的运动合成与编辑方法 |
CN104992462B (zh) * | 2015-07-20 | 2018-01-30 | 网易(杭州)网络有限公司 | 一种动画播放方法、装置及终端 |
CN106504306B (zh) * | 2016-09-14 | 2019-09-24 | 厦门黑镜科技有限公司 | 一种动画片段拼接方法、信息发送方法及装置 |
-
2016
- 2016-09-14 CN CN201610823198.2A patent/CN106504306B/zh active Active
-
2017
- 2017-09-12 WO PCT/CN2017/101348 patent/WO2018050045A1/zh active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101324963A (zh) * | 2008-07-24 | 2008-12-17 | 上海交通大学 | 基于静止图像的流体视频合成方法 |
CN101626513A (zh) * | 2009-07-23 | 2010-01-13 | 深圳大学 | 全景视频生成方法及系统 |
CN101930614A (zh) * | 2010-08-10 | 2010-12-29 | 西安交通大学 | 基于视频分层的绘画渲染方法 |
CN101931772A (zh) * | 2010-08-19 | 2010-12-29 | 深圳大学 | 一种全景视频融合方法、系统及视频处理设备 |
CN101951487A (zh) * | 2010-08-19 | 2011-01-19 | 深圳大学 | 一种全景图像融合方法、系统及图像处理设备 |
CN102254006A (zh) * | 2011-07-15 | 2011-11-23 | 上海交通大学 | 基于内容的互联网视频检索方法 |
CN102521843A (zh) * | 2011-11-28 | 2012-06-27 | 大连大学 | 一种基于流形学习的三维人体运动分析与合成方法 |
CN103632359A (zh) * | 2013-12-13 | 2014-03-12 | 清华大学深圳研究生院 | 一种视频超分辨率处理方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018050045A1 (zh) * | 2016-09-14 | 2018-03-22 | 厦门幻世网络科技有限公司 | 一种动画片段拼接方法、信息发送方法及装置 |
CN109982126A (zh) * | 2017-12-27 | 2019-07-05 | 艾迪普(北京)文化科技股份有限公司 | 一种相关视频的叠加方法 |
CN111988638A (zh) * | 2020-08-19 | 2020-11-24 | 北京字节跳动网络技术有限公司 | 一种拼接视频的获取方法、装置、电子设备和存储介质 |
CN111988638B (zh) * | 2020-08-19 | 2022-02-18 | 北京字节跳动网络技术有限公司 | 一种拼接视频的获取方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2018050045A1 (zh) | 2018-03-22 |
CN106504306B (zh) | 2019-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110188760B (zh) | 一种图像处理模型训练方法、图像处理方法及电子设备 | |
CN107707931B (zh) | 根据视频数据生成解释数据、数据合成方法及装置、电子设备 | |
CN101610349B (zh) | 用于处理图像的装置和方法 | |
CN106504306A (zh) | 一种动画片段拼接方法、信息发送方法及装置 | |
CN110033314A (zh) | 广告数据处理方法及装置 | |
KR101373020B1 (ko) | 정적 영상에서 애니메이션 아트 효과를 생성하기 위한 방법 및 시스템 | |
CN100530243C (zh) | 镜头呈现方法和装置 | |
CN105872820A (zh) | 添加视频标签的方法和装置 | |
CN111860138A (zh) | 基于全融合网络的三维点云语义分割方法及系统 | |
CN108604389A (zh) | 连续深度排序图像合成 | |
CN105657446B (zh) | 一种视频中贴片广告的检测方法和装置 | |
CN110120087A (zh) | 三维虚拟沙盘的标签标注方法、装置及终端设备 | |
CN115100334A (zh) | 一种图像描边、图像动漫化方法、设备及存储介质 | |
CN112651975A (zh) | 一种轻量化网络模型的训练方法、装置及设备 | |
CN114222076B (zh) | 一种换脸视频生成方法、装置、设备以及存储介质 | |
CN106537462A (zh) | 利用深度或视差对来自图像的视图插补进行自适应网格重构 | |
CN114466222A (zh) | 一种视频合成方法、装置、电子设备及存储介质 | |
CN114510173A (zh) | 基于增强现实的施工作业方法及装置 | |
Winseck | Growth and Upheaval in the Network Media Economy in Canada, 1984-2020 | |
CN108881968A (zh) | 一种网络视频广告投放方法和系统 | |
CN109445868A (zh) | 一种游戏场景中路段模型的生成方法和装置 | |
CN115641397A (zh) | 虚拟形象的合成、展示方法和系统 | |
CN115965791A (zh) | 图像生成方法、装置及电子设备 | |
CN115410133A (zh) | 视频密集预测方法及其装置 | |
CN114419322A (zh) | 一种图像实例分割方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20190326 Address after: 361012 3F-A193, Innovation Building C, Software Park, Xiamen Torch High-tech Zone, Xiamen City, Fujian Province Applicant after: Xiamen Black Mirror Technology Co., Ltd. Address before: 9th Floor, Maritime Building, 16 Haishan Road, Huli District, Xiamen City, Fujian Province, 361000 Applicant before: XIAMEN HUANSHI NETWORK TECHNOLOGY CO., LTD. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |