CN108810281B - 丢帧补偿方法、装置、存储介质及终端 - Google Patents

丢帧补偿方法、装置、存储介质及终端 Download PDF

Info

Publication number
CN108810281B
CN108810281B CN201810651274.5A CN201810651274A CN108810281B CN 108810281 B CN108810281 B CN 108810281B CN 201810651274 A CN201810651274 A CN 201810651274A CN 108810281 B CN108810281 B CN 108810281B
Authority
CN
China
Prior art keywords
frame
compensation
screen
buffer queue
loss
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
Application number
CN201810651274.5A
Other languages
English (en)
Other versions
CN108810281A (zh
Inventor
陈岩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN201810651274.5A priority Critical patent/CN108810281B/zh
Publication of CN108810281A publication Critical patent/CN108810281A/zh
Priority to PCT/CN2019/089786 priority patent/WO2019242488A1/zh
Application granted granted Critical
Publication of CN108810281B publication Critical patent/CN108810281B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1407General aspects irrespective of display type, e.g. determination of decimal point position, display with fixed or driving decimal point, suppression of non-significant zeros
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)

Abstract

本申请实施例公开了一种丢帧补偿方法、装置、存储介质及终端,该方法包括:首先当触发屏幕帧更新指令时,根据帧率和显示缓存队列进行丢帧检测,所述屏幕帧为终端屏幕显示内容对应的帧;其次,当检测出丢帧时生成补偿帧;再次,将所述补偿帧插入所述显示缓存队列;最后,根据插入所述补偿帧的所述显示缓存队列输出屏幕帧和所述补偿帧,能够在检测出丢帧时生成补偿帧,提高移动终端屏幕显示流畅性。

Description

丢帧补偿方法、装置、存储介质及终端
技术领域
本申请实施例涉及移动终端技术领域,尤其涉及丢帧补偿方法、装置、存储介质及终端。
背景技术
随着移动终端的不断发展,移动终端中安装的应用程序越来越多。但是,随着应用程序的增多,前台界面切换速率逐渐增加,常常出现移动终端显示卡顿的问题,影响用户的使用。
发明内容
本申请实施例的目的是提供一种丢帧补偿方法、装置、存储介质及终端,可以提高移动终端屏幕显示流畅性。
第一方面,本申请实施例提供了一种丢帧补偿方法,包括:
当触发屏幕帧更新指令时,根据帧率和显示缓存队列进行丢帧检测,所述屏幕帧为终端屏幕显示内容对应的帧;
当检测出丢帧时生成补偿帧;
将所述补偿帧插入所述显示缓存队列;
根据插入所述补偿帧的所述显示缓存队列输出屏幕帧和所述补偿帧。
第二方面,本申请实施例提供了一种丢帧补偿装置,包括:
检测模块,用于当触发屏幕帧更新指令时,根据帧率和显示缓存队列进行丢帧检测,所述屏幕帧为终端屏幕显示内容对应的帧;
缓存模块,用于存储显示缓存队列;
补偿模块,用于当所述检测模块检测出丢帧时生成补偿帧;
插值模块,用于将所述补偿模块生成的所述补偿帧插入所述缓存模块存储的所述显示缓存队列;
显示模块,用于根据所缓存模块存储的插入所述补偿帧的所述显示缓存队列输出屏幕帧和所述补偿帧。
第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所示的丢帧补偿方法。
第四方面,本申请实施例提供了一种终端,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所示的丢帧补偿方法。
本申请实施例中提供的丢帧补偿方案,首先当触发屏幕帧更新指令时,根据帧率和显示缓存队列进行丢帧检测,所述屏幕帧为终端屏幕显示内容对应的帧;其次,当检测出丢帧时生成补偿帧;再次,将所述补偿帧插入所述显示缓存队列;最后,根据插入所述补偿帧的所述显示缓存队列输出屏幕帧和所述补偿帧,能够在检测出丢帧时生成补偿帧,提高移动终端屏幕显示流畅性。
附图说明
图1为本申请实施例提供的一种丢帧补偿方法的流程示意图;
图2为本申请实施例提供的另一种丢帧补偿方法的流程示意图;
图3为本申请实施例提供的另一种丢帧补偿方法的流程示意图;
图4为本申请实施例提供的另一种丢帧补偿方法的流程示意图;
图5为本申请实施例提供的另一种丢帧补偿方法的流程示意图;
图6为本申请实施例提供的另一种丢帧补偿方法的流程示意图;
图7为本申请实施例提供的一种丢帧补偿装置的结构示意图;
图8为本申请实施例提供的一种移动终端的结构示意图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本申请的技术方案。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
随着移动终端的不断发展,移动终端中安装的应用程序越来越多。但是,随着应用程序的增多,前台界面切换速率逐渐增加,常常出现移动终端显示卡顿的问题,影响用户的使用。目前在电视领域采用加帧的方式,以提高画质流畅性。例如,运动补偿通过算法来提升画面的流畅度,原本24Hz的视频,通过算法处理之后达到60Hz甚至120Hz。其核心解决的问题是大屏幕显示出现的拖影而非丢帧引起的卡顿。但是,通过运动补偿进行插帧虽然可以提高帧率,但是会耗费很高的系统资源,且其无法检测出是否丢帧,进而无法针对丢帧情况进行修复。同时,在移动终端领域,特别是智能手机领域,缺少对显示缓存队列的丢帧监控方法,进而无法解决移动终端显示卡顿的问题。
本申请实施例提供了一种丢帧补偿方法,能够基于帧率进行丢帧检测,当检测出丢帧时生成补偿帧,并将补偿帧插入至显示缓存队列,补偿丢失的屏幕帧,进而提高移动终端屏幕显示流畅性。具体方案如下所示:
图1为本申请实施例提供的丢帧补偿方法的流程示意图,该方法用于基于显示缓存显示屏幕帧时丢帧的情况,该方法可以由移动终端来执行,该移动终端可以为智能手机、平板电脑、可穿戴设备、笔记本电脑等,该方法具体包括如下步骤:
步骤110、当触发屏幕帧更新指令时,根据帧率和显示缓存队列进行丢帧检测,屏幕帧为终端屏幕显示内容对应的帧。
终端启动后,操作系统建立显示缓存队列。显示缓存队列用于存储终端显示的任意一个帧画面,包括:终端启动画面、锁屏画面、解锁后的操作界面、关机界面等。终端启动后,系统将屏幕帧存储到显示缓存队列中,然后读取显示缓存队列中的屏幕帧,并在屏幕中输出屏幕帧。
移动终端的显示频率,即帧率,可以为30fps(Frames Per Second,每秒帧数)或60fps。示例性的,如果采用30fps的帧率,则系统屏幕帧的更新周期为33.34ms,即每隔33.34ms对显示缓存队列进行更新,以便显示缓存队列中持续有屏幕帧输入。同时,系统每隔33.34ms从显示队里中读取屏幕帧,并将屏幕帧显示到移动终端屏幕中。
但是,由于中央处理器(Central Processing Unit,CPU)或图形处理器(GraphicsProcessing Unit,GPU)等性能等限制,常常会出现显示丢帧卡顿。可以通过检测显示缓存队列中屏幕帧的更新时间,确定是否在与帧率对应的更新周期中进行了屏幕帧的更新,即向显示缓存队列输入屏幕帧。如果在更新周期中未更新屏幕帧,则确定丢帧。如果在更新周期中已更新屏幕帧,则确定未丢帧。
步骤120、当检测出丢帧时生成补偿帧。
可设置插帧模块,通过差值模块生成补偿帧。差值模块可以为独立的硬件模块,在性能和功耗满足的情况下也可以采用数字信号处理(Digital Signal Processing,DSP)或者人工智能(Artificial Intelligence,AI)加速器实现此功能。当检测出丢帧时,生成补偿帧生成请求,将该请求发送至插帧模块,插帧模块在接收到该请求时,通过预设算法生成补偿帧。
进一步的,获取多个参考帧;根据多个参考帧和预设插值算法生成补偿帧。
可选的,预设插值算法可以为运动估计和运动补偿算法(MEMC:Motion Estimateand Motion Compensation,MEMC),示例性的,在显示缓存队列中获取多个屏幕帧,如屏幕帧A、屏幕帧B、屏幕帧C。当检测到丢帧时,在水平和垂直两个方向上对图象的运动趋势加以分析以后在起原来各种帧之间插入一个中间帧,根据屏幕帧A和屏幕帧B生成屏幕帧AB、根据屏幕帧C和屏幕帧B生成屏幕帧BC,屏幕帧AB和屏幕帧BC为补偿帧。此时,显示缓存队列中的帧图像为幕帧A、屏幕帧AB、屏幕帧B、屏幕帧BC以及屏幕帧C。
步骤130、将补偿帧插入显示缓存队列。
根据不同的预设差值算法,生成的补偿帧的位置不同。例如,上述MEMC算法中,补偿帧的位置位于队列中间。在其他实现方式中,补偿帧的位置可以位于显示缓存队列的队首或队尾。
步骤140、根据插入补偿帧的显示缓存队列输出屏幕帧和补偿帧。
系统读取插入补偿帧的显示缓存队列,按照预设帧率按顺序输出显示缓存队列中的屏幕帧和补偿帧。预设帧率为30fps或60fps。
本申请实施例中提供的丢帧补偿方法,首先当触发屏幕帧更新指令时,根据帧率和显示缓存队列进行丢帧检测,屏幕帧为终端屏幕显示内容对应的帧;其次,当检测出丢帧时生成补偿帧;再次,将补偿帧插入显示缓存队列;最后,根据插入补偿帧的显示缓存队列输出屏幕帧和补偿帧。相对于目前移动终端无法检测丢帧造成屏幕卡顿,以及通过增加每秒播放的帧数提高流畅性,造成功耗大幅提高,本申请实施例提供的丢帧补偿,能够在较低功耗下,提供更加流畅的屏幕帧显示,提高系统资源利用率,同时提高显示画面的流畅性。
图2为本申请实施例提供的另一种丢帧补偿方法的流程示意图,作为对上述实施例的进一步说明,包括:
步骤210、当触发屏幕帧更新指令时,根据帧率确定检测时间窗口。
获取当前移动终端使用的帧率,根据帧率的倒数确定检测时间窗口。示例性的,如果帧率为30fps,则检测时间窗口为33.34ms。如果帧率为60fps,则检测时间窗口为16.67ms。检测时间窗口为持续滚动进行的窗口,即当触发屏幕帧更新指令时,一秒对应30或60个检测时间窗口,每个检测时间窗口内均进行更新检测。
步骤220、在第一检测时间窗口中,检测显示缓存队列是否更新,第一检测时间窗口为触发屏幕帧更新指令后的任意一个检测时间窗口。
在第一检测时间窗口内,判断系统是否向显示缓存队列中插入新的屏幕帧,以确定显示缓存队列在第一检测时间窗口中是否更新。如果显示缓存队列在第一检测时间窗口中未更新,则确定丢帧。如果显示缓存队列在第一检测时间窗口中更新,则确定未丢帧。
步骤230、当检测出丢帧时生成补偿帧。
步骤240、将补偿帧插入显示缓存队列。
步骤250、根据插入补偿帧的显示缓存队列输出屏幕帧和补偿帧。
本申请实施例提供的丢帧补偿方法,能够根据帧率确定检测时间窗口,并在每个检测时间窗口内检测显示缓存队列的更新情况,进而确定是否出现丢帧,提高丢帧检测的准确性。
图3为本申请实施例提供的另一种丢帧补偿方法的流程示意图,作为对上述实施例的进一步说明,包括:
步骤310、当触发屏幕帧更新指令时,根据帧率和显示缓存队列进行丢帧检测,屏幕帧为终端屏幕显示内容对应的帧。
步骤320、当检测出丢帧时将显示缓存队列中的多个屏幕帧确定为参考帧。
显示缓存队列中的帧数可以设置,帧数可设置为3帧-5帧。如果为3帧,则将显示缓存队列中的帧作为参考帧。
步骤330、根据多个参考帧和预设插值算法生成补偿帧。
预设差值算法可以为,最接近插值算法,即复制每个参考帧,得到补偿帧。
预设差值算法还可以为,平均差值算法,即根据两个参考帧中每个像素点对应的像素值确定每个像素点上的平均像素值,进而得到两个参考帧之间的补偿帧。
预设差值算法还可以为,拉格朗日插值算法,即根据参考帧拟合出图形变化趋势对应的多项式,根据该多项式确定补偿帧。
步骤340、将补偿帧插入显示缓存队列。
可以将补偿帧插入至显示队列的队尾位置。或者插入至每个参考帧相邻的下一帧位置。
步骤350、根据插入补偿帧的显示缓存队列输出屏幕帧和补偿帧。
本申请实施例提供的丢帧补偿方法,能够根据显示缓存队列中未显示的屏幕帧确定补偿帧,进而更加准确的生成补偿帧,提高系统资源利用率。
图4为本申请实施例提供的另一种丢帧补偿方法的流程示意图,作为对上述实施例的进一步说明,包括:
步骤410、当触发屏幕帧更新指令时,根据帧率和显示缓存队列进行丢帧检测,屏幕帧为终端屏幕显示内容对应的帧。
步骤420、当输出显示缓存队列中的屏幕帧时,将屏幕帧存储至补偿缓存队列,补偿缓存队列中存储预设数量的有效屏幕帧。
系统读取并输出显示缓存队列中的屏幕帧后,将该屏幕帧存储之补偿缓存队列。预设数量的有效屏幕帧可以为至少两个有效屏幕帧,可选为5个有效屏幕帧。补偿缓存队列与显示缓存队列相同,在保持固定数量的有效屏幕帧的同时,根据帧率进行更新。
步骤430、当检测出丢帧时根据补偿缓存队列中存储的有效屏幕帧确定参考帧。
当检测出丢帧时,将补偿缓存队列中存储的有效屏幕镇确定为参考帧。
步骤440、根据多个参考帧和预设插值算法生成补偿帧。
可以参照步骤330中采用的预设插值算法计算补偿帧。
步骤450、将补偿帧插入显示缓存队列。
可以将补偿帧插入至显示缓存队列的队首位置。
步骤460、根据插入补偿帧的显示缓存队列输出屏幕帧和补偿帧。
本申请实施例提供的丢帧补偿方法,能够根据有效屏幕帧,延长屏幕帧的显示时间,提高资源利用率。
图5为本申请实施例提供的另一种丢帧补偿方法的流程示意图,作为对上述实施例的进一步说明,包括:
步骤510、当触发屏幕帧更新指令时,根据帧率和显示缓存队列进行丢帧检测,屏幕帧为终端屏幕显示内容对应的帧。
步骤520、当检测出丢帧时生成补偿帧。
步骤530、获取补偿帧的计算时间。
从检测出丢帧至生成补偿帧的时间为计算时间。计算时间可以因终端内部的资源占用而发生改变。
步骤540、根据计算时间和帧率,将补偿帧插入显示缓存队列。
根据帧率确定检测时间窗口,当计算时间小于检测时间窗口时,将补偿帧插入至显示缓存队列的队尾。当计算时间大于检测时间窗口,在检测时间窗口之后,有新的帧输入至显示缓存队列,则根据计算时间确定补偿帧对应的插入位置。
步骤550、根据插入补偿帧的显示缓存队列输出屏幕帧和补偿帧。
本申请实施例提供的丢帧补偿方法,能够根基计算时间确定补偿帧的插入位置,使得补偿后的屏幕帧更加流畅,避免出现跳帧,提高稳定性。
图6为本申请实施例提供的另一种丢帧补偿方法的流程示意图,作为对上述实施例的进一步说明,包括:
步骤610、当触发屏幕帧更新指令时,根据帧率和显示缓存队列进行丢帧检测,屏幕帧为终端屏幕显示内容对应的帧。
步骤620、当检测出丢帧时根据丢帧数量和帧率确定第一帧率。
当检测出丢帧时,计算丢帧数量,并根据帧率确定每分钟可输出的帧数量,进而确定第一帧率。
步骤630、当第一帧率小于第二帧率时生成补偿帧,第二帧率为用户肉眼识别的流畅帧率。
第二帧率可以为25pfs-30fps。如果第一帧率小于第二帧率,则说明用户肉眼可识别出丢帧,此时需生成补偿帧。
如果第一帧率大于第二帧率,则说明即使丢帧用户也不会察觉,此时可以选择等待显示缓存队列更新。
步骤640、将补偿帧插入显示缓存队列。
步骤650、根据插入补偿帧的显示缓存队列输出屏幕帧和补偿帧。
本申请实施例提供的丢帧补偿方法,能够在第一帧率小于第二帧率时,即用户将发现丢帧时,生成补偿帧,在保证画面流畅的同时,降低系统资源功耗,提高系统资源利用率。
图7为本申请实施例提供的一种丢帧补偿装置的结构示意图。如图7所示,该装置包括:检测模块710、缓存模块720、补偿模块730、插值模块740和显示模块750。
检测模块710,用于当触发屏幕帧更新指令时,根据帧率和显示缓存队列进行丢帧检测,所述屏幕帧为终端屏幕显示内容对应的帧;
缓存模块720,用于存储显示缓存队列;
补偿模块730,用于当所述检测模块710检测出丢帧时生成补偿帧;
插值模块740,用于将所述补偿模块730生成的所述补偿帧插入所述缓存模块720存储的所述显示缓存队列;
显示模块750,用于根据所缓存模块720存储的插入所述补偿帧的所述显示缓存队列输出屏幕帧和所述补偿帧。
进一步的,检测模块710用于:
根据帧率确定检测时间窗口;
在第一检测时间窗口中,检测显示缓存队列是否更新,所述第一检测时间窗口为触发屏幕帧更新指令后的任意一个检测时间窗口;
如果显示缓存队列在所述第一检测时间窗口中未更新,则确定丢帧;
如果显示缓存队列在所述第一检测时间窗口中更新,则确定未丢帧。
进一步的,补偿模块730用于:
当检测出丢帧时获取多个参考帧;
根据所述多个参考帧和预设插值算法生成补偿帧。
进一步的,补偿模块730用于:
当检测出丢帧时将所述显示缓存队列中的多个屏幕帧确定为参考帧。
进一步的,补偿模块730用于:
当输出显示缓存队列中的屏幕帧时,将所述屏幕帧存储至补偿缓存队列,所述补偿缓存队列中存储预设数量的有效屏幕帧;
当检测出丢帧时根据所述补偿缓存队列中存储的所述有效屏幕帧确定参考帧。
进一步的,插值模块740用于:
获取所述补偿帧的计算时间;
根据所述计算时间和所述帧率,将所述补偿帧插入所述显示缓存队列。
进一步的,补偿模块730用于:
当检测出丢帧时根据丢帧数量和所述帧率确定第一帧率;
当所述第一帧率小于所述帧率且大于第二帧率时生成补偿帧,所述第二帧率为用户肉眼识别的流畅帧率。
本申请实施例中提供的丢帧补偿装置,首先,当触发屏幕帧更新指令时,检测模块710根据帧率和显示缓存队列进行丢帧检测,所述屏幕帧为终端屏幕显示内容对应的帧;同时,缓存模块720存储显示缓存队列;其次,补偿模块730在所述检测模块710检测出丢帧时生成补偿帧;再次,插值模块740,用于将所述补偿模块730生成的所述补偿帧插入所述缓存模块720存储的所述显示缓存队列;最后,显示模块750,用于根据所缓存模块720存储的插入所述补偿帧的所述显示缓存队列输出屏幕帧和所述补偿帧。相对于目前移动终端无法检测丢帧造成屏幕卡顿,以及通过增加每秒播放的帧数提高流畅性,造成功耗大幅提高,本申请实施例提供的丢帧补偿,能够在较低功耗下,提供更加流畅的屏幕帧显示,提高系统资源利用率,同时提高显示画面的流畅性。
上述装置可执行本申请前述所有实施例所提供的方法,具备执行上述方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请前述所有实施例所提供的方法。
图8是本申请实施例提供的一种终端设备的结构示意图。如图8所示,该终端可以包括:壳体(图中未示出)、存储器801、中央处理器(Central Processing Unit,CPU)802(又称处理器,以下简称CPU)、存储在存储器801上并可在处理器802上运行的计算机程序、电路板(图中未示出)和电源电路(图中未示出)。所述电路板安置在所述壳体围成的空间内部;所述CPU802和所述存储器801设置在所述电路板上;所述电源电路,用于为所述终端的各个电路或器件供电;所述存储器801,用于存储可执行程序代码;所述CPU802通过读取所述存储器801中存储的可执行程序代码来运行与所述可执行程序代码对应的程序。
所述终端还包括:外设接口803、RF(Radio Frequency,射频)电路805、音频电路806、扬声器811、电源管理芯片808、输入/输出(I/O)子系统809、触摸屏812、其他输入/控制设备810以及外部端口804,这些部件通过一个或多个通信总线或信号线807来通信。
应该理解的是,图示终端设备800仅仅是终端的一个范例,并且终端设备800可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
下面就本实施例提供的用于一种终端设备进行详细的描述,该终端设备以智能手机为例。
存储器801,所述存储器801可以被CPU802、外设接口803等访问,所述存储器801可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
外设接口803,所述外设接口803可以将设备的输入和输出外设连接到CPU802和存储器801。
I/O子系统809,所述I/O子系统809可以将设备上的输入输出外设,例如触摸屏812和其他输入/控制设备810,连接到外设接口803。I/O子系统809可以包括显示控制器8091和用于控制其他输入/控制设备810的一个或多个输入控制器8092。其中,一个或多个输入控制器8092从其他输入/控制设备810接收电信号或者向其他输入/控制设备810发送电信号,其他输入/控制设备810可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮。值得说明的是,输入控制器8092可以与以下任一个连接:键盘、红外端口、USB接口以及诸如鼠标的指示设备。
其中,按照触摸屏的工作原理和传输信息的介质分类,触摸屏812可以为电阻式、电容感应式、红外线式或表面声波式。按照安装方式分类,触摸屏812可以为:外挂式、内置式或整体式。按照技术原理分类,触摸屏812可以为:矢量压力传感技术触摸屏、电阻技术触摸屏、电容技术触摸屏、红外线技术触摸屏或表面声波技术触摸屏。
触摸屏812,所述触摸屏812是用户终端与用户之间的输入接口和输出接口,将可视输出显示给用户,可视输出可以包括图形、文本、图标、视频等。可选的,触摸屏812将用户在触屏幕上触发的电信号(如接触面的电信号),发送给处理器802。
I/O子系统809中的显示控制器8091从触摸屏812接收电信号或者向触摸屏812发送电信号。触摸屏812检测触摸屏上的接触,显示控制器8091将检测到的接触转换为与显示在触摸屏812上的用户界面对象的交互,即实现人机交互,显示在触摸屏812上的用户界面对象可以是运行游戏的图标、联网到相应网络的图标等。值得说明的是,设备还可以包括光鼠,光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸。
RF电路805,主要用于建立智能音箱与无线网络(即网络侧)的通信,实现智能音箱与无线网络的数据接收和发送。例如收发短信息、电子邮件等。
音频电路806,主要用于从外设接口803接收音频数据,将该音频数据转换为电信号,并且将该电信号发送给扬声器811。
扬声器811,用于将智能音箱通过RF电路805从无线网络接收的语音信号,还原为声音并向用户播放该声音。
电源管理芯片808,用于为CPU802、I/O子系统及外设接口所连接的硬件进行供电及电源管理。
在本实施例中,中央处理器802用于:
当触发屏幕帧更新指令时,根据帧率和显示缓存队列进行丢帧检测,所述屏幕帧为终端屏幕显示内容对应的帧;
当检测出丢帧时生成补偿帧;
将所述补偿帧插入所述显示缓存队列;
根据插入所述补偿帧的所述显示缓存队列输出屏幕帧和所述补偿帧。
进一步的,所述根据帧率和显示缓存队列进行丢帧检测,包括:
根据帧率确定检测时间窗口;
在第一检测时间窗口中,检测显示缓存队列是否更新,所述第一检测时间窗口为触发屏幕帧更新指令后的任意一个检测时间窗口;
如果显示缓存队列在所述第一检测时间窗口中未更新,则确定丢帧;
如果显示缓存队列在所述第一检测时间窗口中更新,则确定未丢帧。
进一步的,所述当检测出丢帧时生成补偿帧,包括:
当检测出丢帧时获取多个参考帧;
根据所述多个参考帧和预设插值算法生成补偿帧。
进一步的,所述当检测出丢帧时获取多个参考帧,包括:
当检测出丢帧时将所述显示缓存队列中的多个屏幕帧确定为参考帧。
进一步的,所述当检测出丢帧时获取多个参考帧,包括:
当输出显示缓存队列中的屏幕帧时,将所述屏幕帧存储至补偿缓存队列,所述补偿缓存队列中存储预设数量的有效屏幕帧;
当检测出丢帧时根据所述补偿缓存队列中存储的所述有效屏幕帧确定参考帧。
进一步的,所述将所述补偿帧插入所述显示缓存队列,包括:
获取所述补偿帧的计算时间;
根据所述计算时间和所述帧率,将所述补偿帧插入所述显示缓存队列。
进一步的,所述当检测出丢帧时生成补偿帧,包括:
当检测出丢帧时根据丢帧数量和所述帧率确定第一帧率;
当所述第一帧率小于所述帧率且大于第二帧率时生成补偿帧,所述第二帧率为用户肉眼识别的流畅帧率。
本申请实施例还提供一种包含终端设备可执行指令的存储介质,所述终端设备可执行指令在由终端设备处理器执行时用于执行一种丢帧补偿方法,该方法包括:
当触发屏幕帧更新指令时,根据帧率和显示缓存队列进行丢帧检测,所述屏幕帧为终端屏幕显示内容对应的帧;
当检测出丢帧时生成补偿帧;
将所述补偿帧插入所述显示缓存队列;
根据插入所述补偿帧的所述显示缓存队列输出屏幕帧和所述补偿帧。
进一步的,所述根据帧率和显示缓存队列进行丢帧检测,包括:
根据帧率确定检测时间窗口;
在第一检测时间窗口中,检测显示缓存队列是否更新,所述第一检测时间窗口为触发屏幕帧更新指令后的任意一个检测时间窗口;
如果显示缓存队列在所述第一检测时间窗口中未更新,则确定丢帧;
如果显示缓存队列在所述第一检测时间窗口中更新,则确定未丢帧。
进一步的,所述当检测出丢帧时生成补偿帧,包括:
当检测出丢帧时获取多个参考帧;
根据所述多个参考帧和预设插值算法生成补偿帧。
进一步的,所述当检测出丢帧时获取多个参考帧,包括:
当检测出丢帧时将所述显示缓存队列中的多个屏幕帧确定为参考帧。
进一步的,所述当检测出丢帧时获取多个参考帧,包括:
当输出显示缓存队列中的屏幕帧时,将所述屏幕帧存储至补偿缓存队列,所述补偿缓存队列中存储预设数量的有效屏幕帧;
当检测出丢帧时根据所述补偿缓存队列中存储的所述有效屏幕帧确定参考帧。
进一步的,所述将所述补偿帧插入所述显示缓存队列,包括:
获取所述补偿帧的计算时间;
根据所述计算时间和所述帧率,将所述补偿帧插入所述显示缓存队列。
进一步的,所述当检测出丢帧时生成补偿帧,包括:
当检测出丢帧时根据丢帧数量和所述帧率确定第一帧率;
当所述第一帧率小于所述帧率且大于第二帧率时生成补偿帧,所述第二帧率为用户肉眼识别的流畅帧率。
本申请实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的丢帧补偿操作,还可以执行本申请任意实施例所提供的丢帧补偿方法中的相关操作。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。

Claims (8)

1.一种丢帧补偿方法,其特征在于,包括:
当触发屏幕帧更新指令时,根据帧率和显示缓存队列进行丢帧检测,所述屏幕帧为终端屏幕显示内容对应的帧;
当检测出丢帧时获取多个参考帧;
根据所述多个参考帧和预设插值算法生成补偿帧,其中,所述预设插值算法为运动估计和运动补偿算法;
将所述补偿帧插入所述显示缓存队列;
根据插入所述补偿帧的所述显示缓存队列输出屏幕帧和所述补偿帧;
所述根据帧率和显示缓存队列进行丢帧检测,包括:
根据帧率确定检测时间窗口;
在第一检测时间窗口中,检测显示缓存队列是否更新,所述第一检测时间窗口为触发屏幕帧更新指令后的任意一个检测时间窗口;
如果显示缓存队列在所述第一检测时间窗口中未更新,则确定丢帧;
如果显示缓存队列在所述第一检测时间窗口中更新,则确定未丢帧。
2.根据权利要求1所述的丢帧补偿方法,其特征在于,所述当检测出丢帧时获取多个参考帧,包括:
当检测出丢帧时将所述显示缓存队列中的多个屏幕帧确定为参考帧。
3.根据权利要求1所述的丢帧补偿方法,其特征在于,所述当检测出丢帧时获取多个参考帧,包括:
当输出显示缓存队列中的屏幕帧时,将所述屏幕帧存储至补偿缓存队列,所述补偿缓存队列中存储预设数量的有效屏幕帧;
当检测出丢帧时根据所述补偿缓存队列中存储的所述有效屏幕帧确定参考帧。
4.根据权利要求1所述的丢帧补偿方法,其特征在于,所述将所述补偿帧插入所述显示缓存队列,包括:
获取所述补偿帧的计算时间;
根据所述计算时间和所述帧率,将所述补偿帧插入所述显示缓存队列。
5.根据权利要求1所述的丢帧补偿方法,其特征在于,所述当检测出丢帧时生成补偿帧,包括:
当检测出丢帧时根据丢帧数量和所述帧率确定第一帧率;
当所述第一帧率小于第二帧率时生成补偿帧,所述第二帧率为用户肉眼识别的流畅帧率。
6.一种丢帧补偿装置,其特征在于,包括:
检测模块,用于当触发屏幕帧更新指令时,根据帧率和显示缓存队列进行丢帧检测,所述屏幕帧为终端屏幕显示内容对应的帧;
缓存模块,用于存储显示缓存队列;
补偿模块,用于当所述检测模块检测出丢帧时获取多个参考帧;根据所述多个参考帧和预设插值算法生成补偿帧,其中,所述预设插值算法为运动估计和运动补偿算法;
插值模块,用于将所述补偿模块生成的所述补偿帧插入所述缓存模块存储的所述显示缓存队列;
显示模块,用于根据所缓存模块存储的插入所述补偿帧的所述显示缓存队列输出屏幕帧和所述补偿帧;
其中,所述检测模块用于:
在第一检测时间窗口中,检测显示缓存队列是否更新,所述第一检测时间窗口为触发屏幕帧更新指令后的任意一个检测时间窗口;
如果显示缓存队列在所述第一检测时间窗口中未更新,则确定丢帧;
如果显示缓存队列在所述第一检测时间窗口中更新,则确定未丢帧。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一所述丢帧补偿方法。
8.一种终端,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-5任一所述的丢帧补偿方法。
CN201810651274.5A 2018-06-22 2018-06-22 丢帧补偿方法、装置、存储介质及终端 Active CN108810281B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810651274.5A CN108810281B (zh) 2018-06-22 2018-06-22 丢帧补偿方法、装置、存储介质及终端
PCT/CN2019/089786 WO2019242488A1 (zh) 2018-06-22 2019-06-03 丢帧补偿方法、装置、存储介质及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810651274.5A CN108810281B (zh) 2018-06-22 2018-06-22 丢帧补偿方法、装置、存储介质及终端

Publications (2)

Publication Number Publication Date
CN108810281A CN108810281A (zh) 2018-11-13
CN108810281B true CN108810281B (zh) 2020-12-11

Family

ID=64085046

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810651274.5A Active CN108810281B (zh) 2018-06-22 2018-06-22 丢帧补偿方法、装置、存储介质及终端

Country Status (2)

Country Link
CN (1) CN108810281B (zh)
WO (1) WO2019242488A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108810281B (zh) * 2018-06-22 2020-12-11 Oppo广东移动通信有限公司 丢帧补偿方法、装置、存储介质及终端
WO2020201039A1 (en) * 2019-03-29 2020-10-08 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for low cost error recovery in predictive coding
CN110270092A (zh) * 2019-06-27 2019-09-24 三星电子(中国)研发中心 用于电子设备的帧率提升的方法及装置以及电子设备
CN110618801B (zh) * 2019-10-08 2023-07-18 Oppo(重庆)智能科技有限公司 平滑画面帧率表现方法、装置、终端设备及存储介质
CN110933454B (zh) * 2019-12-06 2021-11-02 广州酷狗计算机科技有限公司 处理直播萌脸礼物的方法、装置、设备及存储介质
CN111367741B (zh) * 2020-02-28 2022-07-08 Oppo广东移动通信有限公司 用户界面卡顿检测方法与装置、电子设备
CN111327959A (zh) * 2020-03-05 2020-06-23 Oppo广东移动通信有限公司 视频插帧方法及相关装置
CN111711718B (zh) * 2020-05-07 2021-11-19 荣耀终端有限公司 电子设备
CN114531519B (zh) * 2020-10-31 2024-04-26 华为技术有限公司 一种基于垂直同步信号的控制方法及电子设备
CN112839241A (zh) * 2020-12-31 2021-05-25 贵阳动视云科技有限公司 一种云游戏图像丢帧补偿方法及装置
CN113660494A (zh) * 2021-07-19 2021-11-16 惠州Tcl云创科技有限公司 一种帧率稳定输出方法、系统及智能终端
CN114153408B (zh) * 2021-11-27 2024-01-16 深圳曦华科技有限公司 图像显示控制方法及相关设备
CN114327127B (zh) * 2021-11-27 2022-12-23 荣耀终端有限公司 滑动丢帧检测的方法和装置
CN114584835B (zh) * 2022-02-10 2024-04-02 百果园技术(新加坡)有限公司 一种视频处理方法、装置、设备及存储介质
CN117854455A (zh) * 2022-09-30 2024-04-09 荣耀终端有限公司 显示方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105681653A (zh) * 2016-01-12 2016-06-15 深圳市云智易联科技有限公司 一种视频文件生成方法及装置
CN106447595A (zh) * 2016-09-23 2017-02-22 努比亚技术有限公司 一种分布式图像图形的渲染方法及终端
CN106791899A (zh) * 2016-12-13 2017-05-31 飞狐信息技术(天津)有限公司 直播中减少观众端画面卡顿的方法及装置以及客户端
CN107959965A (zh) * 2017-11-20 2018-04-24 广东欧珀移动通信有限公司 应用程序的降帧方法、装置、移动终端及可读存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040202249A1 (en) * 2003-04-08 2004-10-14 Newsoft Technology Corporation Real-time MPEG video encoding method of maintaining synchronization between video and audio
CN101217339B (zh) * 2007-12-29 2011-12-21 华为技术有限公司 进行丢帧检测的方法、装置和基站
CN102611894B (zh) * 2012-03-02 2015-01-07 华为技术有限公司 检测视频传输丢包的方法、装置和系统
KR20150025602A (ko) * 2013-08-29 2015-03-11 삼성전자주식회사 동영상 촬영 방법 및 그 전자 장치
CN108810281B (zh) * 2018-06-22 2020-12-11 Oppo广东移动通信有限公司 丢帧补偿方法、装置、存储介质及终端

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105681653A (zh) * 2016-01-12 2016-06-15 深圳市云智易联科技有限公司 一种视频文件生成方法及装置
CN106447595A (zh) * 2016-09-23 2017-02-22 努比亚技术有限公司 一种分布式图像图形的渲染方法及终端
CN106791899A (zh) * 2016-12-13 2017-05-31 飞狐信息技术(天津)有限公司 直播中减少观众端画面卡顿的方法及装置以及客户端
CN107959965A (zh) * 2017-11-20 2018-04-24 广东欧珀移动通信有限公司 应用程序的降帧方法、装置、移动终端及可读存储介质

Also Published As

Publication number Publication date
WO2019242488A1 (zh) 2019-12-26
CN108810281A (zh) 2018-11-13

Similar Documents

Publication Publication Date Title
CN108810281B (zh) 丢帧补偿方法、装置、存储介质及终端
CN106941563B (zh) 一种移动终端刷新率的控制方法、装置及移动终端
CN106933328B (zh) 一种移动终端帧率的控制方法、装置及移动终端
CN107273083B (zh) 一种终端设备之间的交互方法、装置、设备和存储介质
WO2019184643A1 (zh) 一种视频编码码率控制方法、装置、设备及存储介质
US20220053068A1 (en) Methods, apparatuses and computer storage media for applet state synchronization
CN112445315A (zh) 屏幕刷新帧率的控制方法、装置及存储介质
CN107484231B (zh) 屏幕参数调整方法、装置、终端及计算机可读存储介质
CN109157839B (zh) 帧率调控方法、装置、存储介质及终端
CN106792120B (zh) 视频画面的显示方法、装置和终端
CN106951054B (zh) 一种应用程序的控制方法、装置及移动终端
CN106817753B (zh) 一种切换背景灰阶进行省电的方法、装置及移动终端
CN109299088A (zh) 海量数据存储方法、装置、存储介质及电子设备
CN111790148B (zh) 游戏场景中的信息交互方法、设备及计算机可读介质
CN108924375B (zh) 铃声音量的处理方法、装置、存储介质及终端
CN108811055B (zh) 帧率调整方法、装置、终端设备及存储介质
CN106776259B (zh) 一种移动终端帧率检测方法、装置及移动终端
KR20150028588A (ko) 스트리밍 서비스를 위한 전자 장치 및 방법
CN109302563B (zh) 防抖处理方法、装置、存储介质及移动终端
CN108235075B (zh) 视频质量等级匹配方法、计算机可读存储介质及终端
CN108693948B (zh) 帧率调整方法、装置、终端设备及存储介质
CN109885270B (zh) 显示设备控制方法、显示设备以及存储介质
CN109753262B (zh) 帧显示处理方法、装置、终端设备及存储介质
US20160155429A1 (en) Information processing apparatus and terminal device
US20120005587A1 (en) Performing Remoting Operations For Different Regions Of A Display Surface At Different Rates

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