[发明专利]一种基于双重缓冲和线性插帧技术的动画实现方法及系统在审
| 申请号: | 202111659435.3 | 申请日: | 2021-12-31 |
| 公开(公告)号: | CN114529636A | 公开(公告)日: | 2022-05-24 |
| 发明(设计)人: | 李虎;韩刚;郭建民;魏文刚;叶啸飞;黄宽 | 申请(专利权)人: | 济南轨道交通集团有限公司 |
| 主分类号: | G06T13/00 | 分类号: | G06T13/00;G06T1/60;H04N19/132 |
| 代理公司: | 北京汇泽知识产权代理有限公司 11228 | 代理人: | 徐俊伟 |
| 地址: | 250014 山东省济南*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 双重 缓冲 线性 技术 动画 实现 方法 系统 | ||
本发明属于动画实现制作领域,具体提供了一种基于双重缓冲和线性插帧技术的动画实现方法及系统,其中方法包括以下步骤:第一步,双重缓冲,根据动画对于数据的需要,异步动态的预先加载一帧数据;第二步,线性插帧,将原来的两帧数据,线性插帧为多帧数据。通过双重缓冲技术,提升动画数据源的读取速度;线性插帧技术,减缓动画对于数据源的数据的需求速度。两种方法结合,可以大幅改善动画的流畅度,比较容易达到24帧每秒的帧率。解决了动画数据源加载速度较慢且动画流畅度不够的问题。通过合理的设置插帧数量,可以比较容易的实现动画的流畅渲染。同时在一定程度上,通过插帧增加了动画的部分细节。
技术领域
本发明涉及动画实现技术领域,更具体地,涉及一种基于双重缓冲和线性插帧技术的动画实现方法及系统。
背景技术
常规的动画实现方法,一般来说,就是将动画的数据按照一定的速度进行逐帧切换显示。比如电影中的速度通常为24帧每秒。动画中,非常重要的一个指标,就是动画的帧率。电影的24帧每秒,是人眼不觉得卡顿的最低帧率。低于这个帧率,人眼就会明显感受到动画不流畅、卡顿。
当然动画分为多种类型,电影这种预先将动画的画面,逐帧生成好,处理成为可以直接播放的数据,是其中非常普遍的一种类型。还有三维动画中的骨骼动画,这种动画在游戏中使用非常普遍,通常用于表现某个角色的动作等等。
其中有一类动画在实现过程中是需要进行实时渲染的,但是驱动动画的数据源,其读取的速度比较慢,无法满足每秒24帧数据的读取速度。这种情况下,基于双重缓冲和线性插帧的动画算法,就可以比较好的解决动画的帧率不够的问题。
发明内容
本发明针对现有技术中存在的需要实时渲染的动画的帧率不够的技术问题。
本发明提供了一种基于双重缓冲和线性插帧技术的动画实现方法,包括以下步骤:
第一步,双重缓冲,根据动画对于数据的需要,异步动态的预先加载一帧数据;
第二步,线性插帧,将原来的两帧数据,线性插帧为多帧数据。
优选地,所述第一步具体包括:
S1,设定插帧数量m,动画数据源的帧序号i设置为0,插帧序号设置为0,获取动画数据源总数据帧数c,计算动画总帧数C=(c*(m+1)),其中,m1;
S2,预先读取动画数据源的第0到1帧数据。
优选地,所述第二步具体包括:
S3,动画数据源的帧序号i,除以(m+1),得到整数商p,以及余数q;
S4,使用整数商p到(p+1)之间的帧数据,异步插帧第q帧数据;
S5,如果q为0,则异步加载(p+2)帧真实数据,并同步渲染第p帧真实数据;如果q不为0,同步渲染(q-1)帧插帧的数据;
S6,动画帧序号i自增1,如果i小于C,则跳转到所述S3,直到i大于等于C则结束动画。
优选地,所述第一步具体包括:采用多线程编程方式,异步动态的预先加载一帧数据。
优选地,所述第二步具体包括:通过线性插帧得到的每一帧数据和原始数据源的数据格式相同。
本发明还提供了一种基于双重缓冲和线性插帧技术的动画实现系统,所述检测提取系统用于实现基于双重缓冲和线性插帧技术的动画实现方法,包括:
双重缓冲模块,用于根据动画对于数据的需要,异步动态的预先加载一帧数据;
线性插帧模块,用于将原来的两帧数据,线性插帧为多帧数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于济南轨道交通集团有限公司,未经济南轨道交通集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111659435.3/2.html,转载请声明来源钻瓜专利网。





