CN108681439B - 基于帧率控制的均匀显示方法 - Google Patents
基于帧率控制的均匀显示方法 Download PDFInfo
- Publication number
- CN108681439B CN108681439B CN201810534164.0A CN201810534164A CN108681439B CN 108681439 B CN108681439 B CN 108681439B CN 201810534164 A CN201810534164 A CN 201810534164A CN 108681439 B CN108681439 B CN 108681439B
- Authority
- CN
- China
- Prior art keywords
- queue
- time
- frame
- current frame
- display
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
基于帧率控制的均匀显示方法,包括:获取当前帧F到达显示窗口的时间tbegin,显示等待队列长度queue_size,当前帧帧号为q;判断队列长度是否大于限值queue_lim,若大于则丢弃当前帧F,否则继续;获取当前帧在显示窗口中渲染结束的时间tend,计算当前帧显示时间td;计算滑动窗口中显示的平均时长tave,计算滞后时间tlag;根据当前显示等待队列队长度情况进行显示帧率的动态调节;计算睡眠时间,当前帧睡眠结束后,执行下一帧,循环操作,该发明在不改进SLAM系统算法的前提下,使用均匀显示方法,通过动态调节机制来提高用户视觉体验。
Description
技术领域
本发明涉及SLAM显示方法技术领域,尤其是一种基于帧率控制的 均匀显示方法。
背景技术
SLAM技术经过三十多年的发展,现已成为无人机、自动驾驶、 机器人和增强现实领域的重要技术,而对于增强现实这类对用户视觉 体验要求极高的技术来说,SLAM的显示效果就显得至关重要;无论 是基于特征点法还是基于直接法的SLAM系统,都在前端处理完毕后 直接送入显示窗口进行显示,这样的机制主要存在以下不足:
1.每一帧在显示窗口的显示时间完全由这一帧的渲染时间决定, 会导致显示窗口没有固定帧率,系统渲染快则显示快,渲染慢则显示 慢,明显的快慢改变是人眼可感受的。
2.处理器的性能在SLAM系统运行过程中会有波动,若此时处理 器性能欠佳,则会出现连续渲染时间过长,导致被SLAM系统处理完 毕的帧无法及时显示而被丢弃,若连续丢帧则会出现延迟现象;
3.原技术中,每帧图像的显示时长为该帧的渲染时长,而渲染时 长受当前帧图片质量(分辨率)、虚拟物体模型大小、虚拟模型类型 影响(若为动态模型则每一帧需要渲染的模型大小都不一致),会产 生波动。
发明内容
为了解决上述技术问题,本发明提供一种基于帧率控制的均匀显 示方法,该方法在不改进SLAM系统算法的前提下,使用均匀显示方 法,通过动态调节机制来提高用户视觉体验。
基于帧率控制的均匀显示方法,包括:
步骤一、获取当前帧F到达显示窗口的时间tbegin,显示等待队列 长度queue_size,当前帧帧号为q;
进一步的,当前帧达到显示窗口时,进行数据获取,包括当前帧 到达的时刻记为tbegin,当前显示队列的队长queue_size,当前帧帧号 q;
步骤二、判断队列长度是否大于限值queue_lim,若大于则丢弃 当前帧F,否则继续;
进一步的,队列长度限值queue_lim可设置,默认为队列容量, 当系统渲染过慢时,会导致大量帧在队列中等待,为避免出现延时, 当队列长度大于队列限值时,对当前帧不进行渲染直接丢弃;否则执 行步骤3;
步骤三、获取当前帧在显示窗口中渲染结束的时间tend,计算当 前帧显示时间;
进一步的,获取当前帧在显示窗口中渲染结束的时间tend,计算 当前帧显示时间td;
td=end-tbegin
步骤四、计算滑动窗口中显示的平均时长tave,计算滞后时间tlag;
进一步的,设置一个长度为n的滑动窗口,窗口中装有帧号从 q-n+1到q-1的每一帧的总显示时间以及当前帧q的渲染时间, 对滑动窗口内的所有时间计算平均值tave,并计算滞后时间,tlag<0时,令tlag=0。
步骤五、根据当前显示等待队列队长度情况进行显示帧率的动态 调节;
进一步的,假设系统帧率一直保持初始设置,那么当系统处理时 间长时,图像进入队列的间隔长,会出现队列为空,此时没有图像可 以显示,出现卡顿;当系统处理时间短时,图像进入队列间隔短,会 出现队列满,此时新的图像无法进入队列会被丢弃,出现延迟。
记动态调节后的帧率为fps′;
步骤六、计算睡眠时间,计算公式如下:
步骤七、当前帧睡眠结束后,执行下一帧,循环操作;
进一步的,对当前帧进行睡眠,若ts<0,则对当前帧不进行睡 眠;每帧的总显示时间:
进一步的,本发明通过显示等待队列来均匀显示时间,通过动态 调节机制解决系统不稳定问题;通过滑动窗口感知当前系统性能,调 节睡眠时间;
备注:参数列表
本发明的有益效果:
1.成功解决不同模型或不同图片分辨率所带来的渲染时间不一 致问题,避免以上问题导致显示窗口可能出现卡顿或延时;2.改动代 价小,以ORB_SLAM2为例,所做的改动只占整个工程1%;
3.方法适用性广,本方法能够通过动态调节机制适应不同处理器、 不同SLAM系统,并且可以解决初始显示帧率设置不合理的问题;
4.根据当前系统性能,动态调节显示帧率,优化显示效果。
附图说明
图1是本发明基于帧率控制的均匀显示方法之总体流程示意图
图2是本发明基于帧率控制的均匀显示方法之显示等待队列示 意图
具体实施方式
下面,参考附图1至图2所示,基于帧率控制的均匀显示方法, 包括:
步骤一、获取当前帧F到达显示窗口的时间tbegin,显示等待队列 长度queue_size,当前帧帧号为q;
进一步的,当前帧达到显示窗口时,进行数据获取,包括当前帧 到达的时刻记为tbegin,当前显示队列的队长queue_size,当前帧帧号 q;
步骤二、判断队列长度是否大于限值queue_lim,若大于则丢弃 当前帧F,否则继续;
进一步的,队列长度限值queue_lim可设置,默认为队列容量, 当系统渲染过慢时,会导致大量帧在队列中等待,为避免出现延时, 当队列长度大于队列限值时,对当前帧不进行渲染直接丢弃;否则执 行步骤3;
步骤三、获取当前帧在显示窗口中渲染结束的时间tend,计算当 前帧显示时间;
进一步的,获取当前帧在显示窗口中渲染结束的时间tend,计算 当前帧显示时间td;
td=tend-tbegin
步骤四、计算滑动窗口中显示的平均时长tave,计算滞后时间tlag;
进一步的,设置一个长度为n的滑动窗口,窗口中装有帧号从 q-n+1到q-1的每一帧的总显示时间以及当前帧的渲染时间,对 滑动窗口内的所有时间计算平均值tave,并计算滞后时间,tlag<0时,令tlag=0。
步骤五、根据当前显示等待队列队长度情况进行显示帧率的动态 调节;
进一步的,假设系统帧率一直保持初始设置,那么当系统处理时 间长时,图像进入队列的间隔长,会出现队列为空,此时没有图像可 以显示,出现卡顿;当系统处理时间短时,图像进入队列间隔短,会 出现队列满,此时新的图像无法进入队列会被丢弃,出现延迟。
记动态调节后的帧率为fps′;
步骤六、计算睡眠时间,计算公式如下:
步骤七、当前帧睡眠结束后,执行下一帧,循环操作;
进一步的,对当前帧进行睡眠,若ts<0,则对当前帧不进行睡 眠;每帧的总显示时间:
进一步的,本发明通过显示等待队列来均匀显示时间,通过动态 调节机制解决系统不稳定问题;通过滑动窗口感知当前系统性能,调 节睡眠时间;
进一步的,SLAM系统处理完毕的帧依次进入队尾,显示窗口从 队头开始读取图像;
为了更好的说明本发明的设计原理,现通过具体优选实施例,举 例说明我方发明的设计工作原理及方法过程:
首先,实例背景选取:ORB_SLAM2结合OSG3.4.0进行虚拟物体 与真实场景的结合显示;
其次,系统设置:队列长度限值queue_lim=5;滑动窗口长 度n=20;调整帧数Δ=3;fps=30;时间单位为秒;
最后,实例执行过程:
1.当前帧帧号为21,tbegin=6.05697e+09,queue_size=2;
2.判断queuesize=2<queue_lim=5,继续执行;
3.当帧号为21的帧渲染结束后,读取渲染结束的时刻tend= 6.05698e+09,计算当前帧显示时间为td=0.01(时间戳差值单位 为微秒);
7.睡眠当前帧,睡眠结束后从队列中读取帧号为22的帧;
以上公开的仅为本申请的一个具体实施例,但本申请并非局限于 此,任何本领域的技术人员能思之的变化,都应落在本申请的保护范 围内。
Claims (3)
1.基于帧率控制的均匀显示方法,其特征在于,包括:
步骤一、获取当前帧F到达显示窗口的时间tbegin,显示等待队列长度queue_size,当前帧帧号为q;
当前帧达到显示窗口时,进行数据获取,包括当前帧到达的时刻记为tbegin,当前显示队列的队长queue_size,当前帧帧号q;
步骤二、判断队列长度是否大于限值queue_lim,若大于则丢弃当前帧F,否则继续;
步骤三、获取当前帧在显示窗口中渲染结束的时间tend,计算当前帧显示时间td;
td=tend-tbegin
步骤四、计算滑动窗口中显示的平均时长tave,计算滞后时间tlag;
步骤五、根据当前显示等待队列队长度情况进行显示帧率的动态调节;
假设系统帧率一直保持初始设置,那么当系统处理时间长时,图像进入队列的间隔长,会出现队列为空,此时没有图像可以显示,出现卡顿;当系统处理时间短时,图像进入队列间隔短,会出现队列满,此时新的图像无法进入队列会被丢弃,出现延迟;
记动态调节后的帧率为fpsⅣ;
步骤六、计算睡眠时间,计算公式如下:
步骤七、当前帧睡眠结束后,执行下一帧,循环操作;
对当前帧进行睡眠,若ts<0,则对当前帧不进行睡眠;每帧的总显示时间:
2.根据权利要求1所述的基于帧率控制的均匀显示方法,其特征在于,所述步骤二中队列长度限值queue_lim可设置,默认为队列容量,当系统渲染过慢时,会导致大量帧在队列中等待,为避免出现延时,当队列长度大于队列限值时,对当前帧不进行渲染,直接丢弃;否则执行步骤3。
3.根据权利要求1-2任一项所述的基于帧率控制的均匀显示方法,其特征在于,通过显示等待队列来均匀显示时间;通过动态调节机制解决系统不稳定问题;通过滑动窗口感知当前系统性能,调节睡眠时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810534164.0A CN108681439B (zh) | 2018-05-29 | 2018-05-29 | 基于帧率控制的均匀显示方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810534164.0A CN108681439B (zh) | 2018-05-29 | 2018-05-29 | 基于帧率控制的均匀显示方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108681439A CN108681439A (zh) | 2018-10-19 |
CN108681439B true CN108681439B (zh) | 2021-04-27 |
Family
ID=63808820
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810534164.0A Active CN108681439B (zh) | 2018-05-29 | 2018-05-29 | 基于帧率控制的均匀显示方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108681439B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110324585B (zh) * | 2019-07-15 | 2021-05-04 | 清华大学 | 基于高速移动平台的slam系统的实现方法 |
CN113011231B (zh) * | 2019-12-20 | 2023-07-07 | 舜宇光学(浙江)研究院有限公司 | 分类滑窗方法和slam定位方法及其系统和电子设备 |
CN115225940B (zh) * | 2021-04-15 | 2023-07-28 | 青岛海信宽带多媒体技术有限公司 | 一种机顶盒及机顶盒页面显示方法 |
CN113350781B (zh) * | 2021-06-28 | 2022-12-23 | 青岛海信传媒网络技术有限公司 | 一种显示设备及游戏模式切换方法 |
CN113407138B (zh) * | 2021-06-30 | 2022-07-29 | 腾讯科技(深圳)有限公司 | 应用程序的画面处理方法、装置、电子设备及存储介质 |
CN116916095B (zh) * | 2023-09-12 | 2024-01-12 | 深圳云天畅想信息科技有限公司 | 一种云视频的平滑显示方法、装置、设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103871366A (zh) * | 2014-04-02 | 2014-06-18 | 杭州士兰控股有限公司 | 用于led显示器的灰度显示驱动方法及装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120274856A1 (en) * | 2011-04-27 | 2012-11-01 | Purushotam Kumar | Frame List Processing for Multiple Video Channels |
CN102724559A (zh) * | 2012-06-13 | 2012-10-10 | 天脉聚源(北京)传媒科技有限公司 | 一种音视频编码同步方法和系统 |
US8605217B1 (en) * | 2012-10-30 | 2013-12-10 | Texas Instruments Incorporated | Jitter cancellation for audio/video synchronization in a non-real time operating system |
CN104144312B (zh) * | 2013-05-09 | 2018-06-05 | 腾讯科技(深圳)有限公司 | 一种视频处理方法和相关装置 |
CN103345371B (zh) * | 2013-05-31 | 2016-06-01 | 沈阳东软熙康医疗系统有限公司 | 一种通过显示屏平滑显示大数据量的方法 |
CN103873828B (zh) * | 2014-03-11 | 2017-04-19 | 浙江宇视科技有限公司 | 实况流送显控制方法及装置 |
US10127002B2 (en) * | 2014-04-10 | 2018-11-13 | Screenovate Technologies Ltd. | Method for real-time multimedia interface management |
US9466089B2 (en) * | 2014-10-07 | 2016-10-11 | Aspeed Technology Inc. | Apparatus and method for combining video frame and graphics frame |
CN104869461A (zh) * | 2015-05-22 | 2015-08-26 | 南京创维信息技术研究院有限公司 | 视频数据处理系统及方法 |
CN106612536A (zh) * | 2015-10-21 | 2017-05-03 | 中国科学院沈阳自动化研究所 | 基于前导侦听的认知传感网介质访问控制方法 |
CN107436700B (zh) * | 2016-05-26 | 2020-04-14 | 华为终端有限公司 | 数据处理方法及装置 |
CN106296566B (zh) * | 2016-08-12 | 2019-05-17 | 南京睿悦信息技术有限公司 | 一种虚拟现实移动端动态时间帧补偿渲染系统及方法 |
CN106713855B (zh) * | 2016-12-13 | 2020-01-07 | 深圳英飞拓科技股份有限公司 | 一种视频播放方法及装置 |
-
2018
- 2018-05-29 CN CN201810534164.0A patent/CN108681439B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103871366A (zh) * | 2014-04-02 | 2014-06-18 | 杭州士兰控股有限公司 | 用于led显示器的灰度显示驱动方法及装置 |
Non-Patent Citations (2)
Title |
---|
H.264高清解码器帧率控制显示系统的SOC实现;覃兰清周开伦林涛;《广播电视网络》;20120229(第02期);第10-12、18页 * |
New 2-D/3-D Switchable Pixel Circuit to Achieve Uniform OLED Luminance for High-Speed AMOLED Displays;Chih-Lung Lin; Po-Chun Lai; Po-Cheng Lai; Po-Syun Chen;《IEEE Journal of the Electron Devices Society》;20160607;第4卷;第436-440页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108681439A (zh) | 2018-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108681439B (zh) | 基于帧率控制的均匀显示方法 | |
WO2020108082A1 (zh) | 视频处理方法、装置、电子设备和计算机可读介质 | |
US9407814B2 (en) | Approach for camera control | |
US8754904B2 (en) | Virtualization method of vertical-synchronization in graphics systems | |
WO2017092592A1 (zh) | 一种图像融合的方法、装置和设备 | |
CN110475065B (zh) | 图像处理的方法、装置、电子设备及存储介质 | |
US9407797B1 (en) | Methods and systems for changing duty cycle to reduce judder effect | |
CN109285211B (zh) | 画面渲染方法、装置、终端及存储介质 | |
CN109165103B (zh) | 帧率控制方法、装置、终端及存储介质 | |
WO2023174216A1 (zh) | 视频分辨率自适应调节方法、装置、设备和存储介质 | |
US10957020B2 (en) | Systems and methods for frame time smoothing based on modified animation advancement and use of post render queues | |
US11006044B1 (en) | Power-efficient dynamic electronic image stabilization | |
US8983188B1 (en) | Edge-aware smoothing in images | |
EP3348965A1 (en) | Method, device for navigation graph plotting and storage medium thereof | |
EP3993383A1 (en) | Method and device for adjusting image quality, and readable storage medium | |
TWI792535B (zh) | 圖形處理方法和相關眼動追蹤系統 | |
CN111479059A (zh) | 拍照处理方法、装置、电子设备及存储介质 | |
WO2020000521A1 (zh) | 全景视频的画面质量显示方法及装置 | |
WO2021169583A1 (zh) | 虚拟现实显示设备及其控制方法 | |
CN111798484B (zh) | 基于事件相机的连续稠密光流估计方法及系统 | |
WO2023010796A1 (zh) | 图像处理方法及相关装置 | |
CN113810755B (zh) | 全景视频预览的方法、装置、电子设备及存储介质 | |
CN110933493A (zh) | 视频绘制系统、方法及计算机可读存储介质 | |
CN112734653A (zh) | 一种视频图像的运动平滑处理方法、装置、设备及存储介质 | |
CN113192169B (zh) | 动态调整LOD Scale的图像显示优化方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |