[发明专利]一种提高视频渲染效率与用户交互流畅度的方法有效
申请号: | 202010899491.3 | 申请日: | 2020-09-01 |
公开(公告)号: | CN111954067B | 公开(公告)日: | 2022-10-04 |
发明(设计)人: | 杨净 | 申请(专利权)人: | 杭州视洞科技有限公司 |
主分类号: | H04N21/44 | 分类号: | H04N21/44;H04N21/462 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 310012 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 提高 视频 渲染 效率 用户 交互 流畅 方法 | ||
本发明公开了一种提高视频渲染效率与用户交互流畅度的方法,包括以下步骤;步骤1、初始化视频渲染模块,视频渲染模块进入休眠状态;步骤2、由外部触发事件,唤醒渲染模块;步骤3、渲染模块进行事件处理,存在三种事件;步骤4、进入垂直同步状态,如果当前时间戳距离上一次渲染开始时间大于1/60秒,则直接进进行下一步,否则如果是数据事件会进行丢帧操作,如果是UI事件,则会进入定时队列,在大于等于垂直同步间隔的时间点进行渲染;步骤5、进入渲染状态,将当前帧,按照内定参数,与图形api进行绑定,然后调用图形api渲染。本发明在视频播放流畅度和渲染效率之间达到了较为优秀的平衡,可以达到高效的视频渲染。
技术领域
本发明涉及计算机软件技术领域,具体为一种提高视频渲染效率与用户交互流畅度的方法。
背景技术
视频渲染是把解码后的原始视频数据显示出来的一种技术,常见的视频渲染流程主要有两种:
一种是将图像数据直接进行渲染,此方法因为渲染的刷新频率与视频的帧率有关,其缺点为,如果碰到低帧率(小于60帧每秒)视频,做UI操作(放大、缩小、旋转、动画等)时,会产生卡顿;
另一种是以固定的频率,轮询去取图像数据进行渲染,此方法虽然可以使UI操作变的流畅,但也有缺点,主要是在不触发UI操作的时候,轮询的频率,往往大于视频本身的帧率,造成不必要的性能浪费。
发明内容
本发明的目的在于提供一种提高视频渲染效率与用户交互流畅度的方法,以解决上述背景技术中提出的视频渲染过程中,产生的UI操作响应不及时,以及性能浪费的问题。
为实现上述目的,本发明提供如下技术方案:一种提高视频渲染效率与用户交互流畅度的方法,包括以下步骤;
步骤1、初始化视频渲染模块,视频渲染模块进入休眠状态;
步骤2、由外部触发事件,唤醒渲染模块;
步骤3、渲染模块进行事件处理,存在三种事件;
(1)数据事件处理:此时代表着外部模块要求渲染视频数据,渲染模块拿到视频原始数据如I420或NV12格式;
(2)UI事件处理:此时代表着有对视频显示效果改变的UI操作被触发,渲染模块会根据相应操作,调整内部参数,如矩阵、顶点、数值;
(3)错误或退出事件处理:此时代表渲染模块遇到不可恢复的错误、或外部模块触发退出操作,渲染模块将进行资源回收并退出主循环;
步骤4、进入垂直同步状态,如果当前时间戳距离上一次渲染开始时间大于1/60秒,则直接进进行下一步,否则如果是数据事件会进行丢帧操作,如果是UI事件,则会进入定时队列,在大于等于垂直同步间隔的时间点进行渲染;
步骤5、进入渲染状态,将当前帧,按照内定参数,与图形api进行绑定,然后调用图形api渲染;
步骤6、检查当前事件队列,如果有其他事件,则跳到步骤3,否则返回步骤1,视频渲染模块进入休眠状态。
优选的,步骤3中,数据事件由视频解码产生的原始数据触发的渲染事件。
优选的,步骤3中,UI事件是由UI操作如放大、缩小、旋转等图像效果变化而触发的事件。
本发明提出的一种提高视频渲染效率与用户交互流畅度的方法,有益效果在于:
1、本发明在视频播放流畅度和渲染效率之间达到了较为优秀的平衡,可以达到高效的视频渲染;
2、本发明即可以达到性能浪费较少,又能流畅的响应UI操作的视频渲染。
附图说明
图1为本发明的视频渲染模块结构示意图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州视洞科技有限公司,未经杭州视洞科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010899491.3/2.html,转载请声明来源钻瓜专利网。