弹幕处理方法、装置以及电子设备转让专利
申请号 : CN201811429226.8
文献号 : CN109600654B
文献日 : 2021-03-12
发明人 : 胡小朋
申请人 : OPPO广东移动通信有限公司
摘要 :
权利要求 :
1.一种弹幕处理方法,其特征在于,应用于电子设备,所述方法包括:当处于视频播放状态后,获取所述电子设备的视频处理资源的信息;
判断所述视频处理资源是否满足目标条件,所述目标条件包括以下条件中的至少一个:所述电子设备的CPU的剩余可用率大于第一目标值;以及所述电子设备的GPU的剩余可用率大于第二目标值;
若检测到所述视频处理资源不满足所述目标条件,以第一显示模式显示所述视频对应的弹幕;所述以第一显示模式显示所述视频对应的弹幕的步骤包括以下步骤中的至少一个:减小所述弹幕的显示时长;缩短所述弹幕的移动路径长度;以及取消所述弹幕的美化样式;
若检测到所述视频处理资源满足所述目标条件,以第二显示模式显示所述视频对应的弹幕,其中,所述第一显示模式所占用的视频处理资源少于所述第二显示模式所占用的视频处理资源;
所述方法还包括:
获取出现卡顿时的CPU的剩余可用率或者GPU的剩余可用率,将所述第一目标值设置为高于出现卡顿时的CPU的剩余可用率,将第二目标值设置为高于出现卡顿时的GPU的剩余可用率。
2.根据权利要求1所述的方法,其特征在于,所述视频处理资源包括渲染元件的剩余可用率,所述方法还包括:
获取所述渲染元件的剩余可用率与目标剩余可用率之间的剩余可用率差值;
根据所述剩余可用率差值确定所述显示时长所减小的时长。
3.根据权利要求1所述的方法,其特征在于,所述视频处理资源包括渲染元件的剩余可用率,所述方法还包括:
获取所述渲染元件的剩余可用率与目标剩余可用率之间的剩余可用率差值;
根据所述剩余可用率差值确定所述路径长度所减小的长度。
4.根据权利要求1所述的方法,其特征在于,所述以第二显示模式显示所述视频对应的弹幕的步骤包括:
按照弹幕生成时所配置的显示样式显示所述视频对应的弹幕。
5.一种弹幕处理装置,其特征在于,运行于电子设备,所述装置包括:资源获取单元,用于当处于视频播放状态后,获取所述电子设备的视频处理资源的信息;
资源判断单元,用于判断所述视频处理资源是否满足目标条件,所述目标条件包括以下条件中的至少一个:所述电子设备的CPU的剩余可用率大于第一目标值;以及所述电子设备的GPU的剩余可用率大于第二目标值;
显示模式确定单元,用于若检测到所述视频处理资源不满足所述目标条件,以第一显示模式显示所述视频对应的弹幕;所述以第一显示模式显示所述视频对应的弹幕的步骤包括以下步骤中的至少一个:减小所述弹幕的显示时长;缩短所述弹幕的移动路径长度;以及取消所述弹幕的美化样式;
若检测到所述视频处理资源满足所述目标条件,以第二显示模式显示所述视频对应的弹幕,其中,所述第一显示模式所占用的视频处理资源少于所述第二显示模式所占用的视频处理资源;
所述资源判断单元,还用于获取出现卡顿时的CPU的剩余可用率或者GPU的剩余可用率,将所述第一目标值设置为高于出现卡顿时的CPU的剩余可用率,将第二目标值设置为高于出现卡顿时的GPU的剩余可用率。
6.一种电子设备,其特征在于,包括一个或多个处理器以及存储器;
一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行权利要求1-4任一所述的方法。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码运行时执行权利要求1-4任一所述的方法。
说明书 :
弹幕处理方法、装置以及电子设备
技术领域
背景技术
待提升。
发明内容
是否满足目标条件;根据判断结果,确定所述视频对应的弹幕的显示模式,其中,不同的所
述显示模式所占用的所述视频处理资源不同。
判断单元,用于判断所述视频处理资源是否满足目标条件;显示模式确定单元,用于根据判
断结果,确定所述视频对应的弹幕的显示模式,其中,不同的所述显示模式所占用的所述视
频处理资源不同。
多个程序配置用于执行上述的方法。
件,再根据判断结果,确定所述视频对应的弹幕的显示模式。而其中因为不同的所述显示模
式所占用的所述视频处理资源不同,那么电子设备就可以根据当前的视频处理资源的信
息,来确定当前所播放视频的弹幕是以何种模式进行显示,进而提升了弹幕显示的灵活性,
也进一步的提升了用户体验。
附图说明
本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附
图。
具体实施方式
获得的所有其他实施例,都属于本申请保护的范围。
提供密集炮击。而弹幕,顾名思义是指子弹多而形成的幕布,大量吐槽评论从屏幕飘过时效
果看上去像是飞行射击游戏里的弹幕。
的,在参与评论时就会有与其他观众同时评论的感觉。例如,如图1所示,在视频播放界面99
中,在视频播放界面99上显示的“弹幕内容1”、“弹幕内容2”、“弹幕内容3”以及“弹幕内容4”
通常都是与视频播放界面99中的内容相关的,从而可以让参与发弹幕的用户感觉到其他用
户与自己的互动。
以及渲染外,依然需要单独对弹幕内容进行渲染。而如果在弹幕内容较多的情况下,会消耗
较多的电子设备的处理资源,进而使得电子设备会缺乏资源去处理其他的任务,造成电子
设备的卡顿。因此,发明人提出了本申请中可以提升弹幕显示模式的灵活性,以便根据电子
设备的实时视频处理资源来调节弹幕的显示模式的的弹幕处理方法、装置以及电子设备。
专用的DSP、FPGA、ASIC芯片等。而软解码是指使用CPU进行解码。
Framework(多媒体框架)为操作系统中多媒体框架。
后,在屏幕上显示。其中,SurfaceFlinger是一个独立的Service,它接收所有的Surface作
为输入,根据ZOrder、透明度、大小、位置等参数,计算出每个Surface在最终合成图像中的
位置,然后交由HWComposer或OpenGL生成最终的显示Buffer,然后显示到特定的显示设备
上。
在运行,判定所述电子设备处于所述视频播放状态。其中,电子设备可以预先建立一个视频
播放应用程序的名单,以便在该名单中记录视频播放应用程序。其中,该名单可以由电子设
备的用户自由配置,也可以根据某个视频播放应用程序的使用情况来确定。
或者不加入到上述名单中,若应用程序对应的状态为图示的“开”,那么表示该应用程序加
入到上述名单中。例如,对于名称为“TX视频”的应用程序,其对应的状态为“开”,即表示“TX
视频”这个应用程序会存在于前述的名单中。而对于名称为“AQY视频”的应用程序,其对应
的状态为“关”,那么表示“AQY视频”这个应用程序不会存在于前述的名单中。
并对应的将该视频播放应用程序的名称在图4中所对应的状态配置为“开”。
视频播放状态。其中,作为一种方式,若电子设备为Android操作系统,可以通过执行
ActivityManager的getRunningTasks方法来获取到当前在前台运行的应用程序的名称。此
外,电子设备还可以通过UsageStatsManager来获取用户使用的程序的列表,将该列表中记
录的最近使用的应用程序识别为当前的前台应用。再者,还可以通过Android自带无障碍功
能,监控窗口焦点的变化,拿到焦点窗口对应包名作为当期在前台运行的应用程序。
定是否有音频输出,若在检测到有音频输出的情况下,再进一步的根据前述检测是否有视
频播放应用程序运行来确定电子设备是否处于视频播放状态。
键98,且图5中所示的界面为视频播放暂停的状态。那么在这种情况下,当检测到播放按键
98被触控后,即可判定电子设备当前处于视频播放状态。
CPU来完成的,对于普通分辨率的AVI、RMVB等文件,绝大多数的CPU都可以胜任;但是发展到
高清视频(1080i/p)之后,数据解码的工作量比以前翻了数倍。
码”;与之对应的,以前那种纯粹依靠CPU来解压的方式则是“软解码”。
息为CPU的剩余可用率。而若电子设备识别到自身具有GPU,那么获取到的视频解码资源的
信息为GPU的剩余可用率。而若电子设备识别到自身同时具有CPU以及GPU,那么获取到的视
频解码资源的信息包括GPU的剩余可用率以CPU的剩余可用率。
线程的方式工作的,在CPU的工作过程中,会基于并行的方式来同时处理多个应用程序的数
据处理任务,或者是同一个应用程序的多个线程的数据处理任务。那么在这种情况下,若需
要并行处理的任务数量超过一定数量时,在CPU的工作频率一定的情况下,会造成单个任务
等待时间被延长,进而会造成单个的任务处理出现卡顿,也即会造成该单个任务所属的应
用程序卡顿。而与CPU类似的,GPU也是会基于并行的多线程方式来处理任务。
及所述电子设备的GPU的剩余可用率大于第二目标值。其中,减小电子设备的应用程序卡顿
概率可以是减小进行视频播放的应用程序卡顿概率,也可以是减小其他的应用程序的卡顿
概率。
的CPU的剩余可用率设置为前述的第一目标值,而将识别出的GPU的剩余可用率设置为第二
目标值。
第二目标值设置为高于该GPU的剩余可用率,从而进一步的避免电子设备出现卡顿。
具体的,电子设备中的应用程序在开始启动的时候,通常都是界面的启动或者常规数据的
加载显示,还不会涉及到较多的数据处理。而在进入到主要的功能场景以后,就可能会涉及
到较多的数据处理,进而会占用更多的CPU或者GPU的处理资源。例如,对于游戏类的应用程
序,在启动的时候,通常是都是游戏登陆界面的展示或者是游戏用户的组队数据处理。在这
个阶段,游戏类的应用程序并不会占用较多的CPU或者GPU的处理资源。但是,在游戏类的应
用程序进入到游戏界面以后,会涉及到多用户的游戏交互数据处理,以及较为丰富的游戏
界面的处理,进而会增加所需要的CPU处理资源或者GPU处理资源。
标值,或者直接配置一个高于前述方式确定的第一目标值的值作为第一目标值,配置一个
高于前述方式确定的第二目标值的值作为第二目标值,以便可以对于CPU处理资源以及GPU
处理资源配置一定的缓冲空间,进而以避免多个应用程序互相抢夺CPU资源或者GPU资源,
造成电子设备卡顿。
一目标值为80%,那么在这种情况下,电子设备在检测处于视频播放状态以后,且该视频有
对应的弹幕需要显示的情况下,会先判断当前的CPU的剩余可用率为多少,且CPU的剩余可
用率是否大于80%,若判定大于80%,那么就采用弹幕本身配置的样式进行显示,而若检测
到CPU的剩余可用率小于80%,那么就采用简化的模式进行弹幕显示。
第一目标值。例如,将前述确定的第一目标值为80%提升了90%,进而避免存在潜在的较大
的CPU资源占用占用的应用程序在运行的过程中,突然增加对CPU的占用,进而造成CPU处理
资源紧张,使得电子设备卡顿。
的情况下,那么电子设备在检测到处于视频播放状态以后,开始检测当前的GPU的剩余可用
率为多少,且GPU的剩余可用率是否大于70%,若判定大于70%,那么就采用弹幕本身配置
的样式进行显示,而若检测到GPU的剩余可用率小于70%,那么就采用简化的模式进行弹幕
显示。
第一目标值。例如,将前述确定的第一目标值为80%提升了90%,进而避免存在潜在的较大
的GPU资源占用的应用程序在运行的过程中,突然增加对GPU的占用,进而造成GPU处理资源
紧张,使得电子设备的画面显示卡顿。
目标值。而在检测到同时具备CPU以及GPU的情况下,可以同时配置第一目标值以及第二目
标值。当然,电子设备在检测到处于视频播放状态以后,进行视频处理资源的判断过程中,
可以先获取电子设备当前的画面渲染操作是由CPU来完成还是由GPU来完成,若检测到画面
渲染是由CPU来完成,那么就确定目标条件包括所述电子设备的CPU的剩余可用率大于第一
目标值。
者是说,画面渲染会由CPU以及GPU共同完成,那么确定所述目标条件包括所述电子设备的
CPU的剩余可用率大于第一目标值;以及所述电子设备的GPU的剩余可用率大于第二目标
值。
播放类的应用程序启动的初期,显示的都是视频内容介绍界面,以便用户选择自己所需要
观看的视频内容。在这种阶段,视频播放类的应用程序仅需要显示一些文本介绍信息或者
图片介绍信息。而当开始播放视频内容以后,就需要占用更多的CPU或者GPU处理资源进行
视频内容的解码以及画面的渲染。
可以先判断该启动的应用程序的名称是否存在于该数据表中,若存在,则降低当前配置的
第一目标值或者第二目标值。而若该启动的应用程序的名称不在该数据表中,电子设备则
不会对当前已经确定的第一目标值或者第二目标值进行更改。
可以直接将当前确定的第一目标值以及第二目标值进行提升。
数据表中。再者,作为另外一种方式,还可以根据用户的手动选择来确定是否将某个应用程
序的名称添加到该数据表中。此外,作为一种方式,对于被用户手动从数据表中移除的应用
程序的名称,电子设备将不会再添加到该数据表中。
对于所运行的应用程序,电子设备可以统计应用程序在运行过程中对于视频处理资源的占
用情况,例如,对于CPU的占用率或者对于GPU的占用率,然后将统计得到的对于视频处理资
源的占用情况存储在电子设备中,并且在存储过程中是将应用程序与该应用程序的视频处
理资源的占用情况对应存储。
应用程序D各自在每次运行过程中的CPU占用率,而将应用程序A、应用程序B、应用程序C以
及应用程序D与各自的CPU占用率对应存储。其中,对于应用程序在运行过程中的CPU占用率
可以为平均占用率,也可以为峰值占用率。可以理解的是,对于GPU占用率存储也可以参照
CPU的占用率的存储方式。
确定所述视频对应的弹幕的显示模式。而其中因为不同的所述显示模式所占用的所述视频
处理资源不同,那么电子设备就可以根据当前的视频处理资源的信息,来确定当前所播放
视频的弹幕是以何种模式进行显示,进而提升了弹幕显示的灵活性,也进一步的提升了用
户体验。
消所述弹幕的美化样式。
(CPU或者GPU)都需要进行相应的渲染操作,进而将弹幕在视频播放界面上显示出来。而缩
短弹幕的显示时长以后,可以减少渲染元件的占用率,进而提升渲染元件的剩余可用率。
件都需要进行相应的渲染操作,进而将弹幕在视频播放界面上显示出来。而缩短弹幕的路
径长度以后,可以减少渲染元件的占用率,进而提升渲染元件的剩余可用率。例如,如同7所
示,图7中的实线为弹幕原来的移动路径长度,而虚线为缩短移动路径长度以后的弹幕的移
动路径长度。
包裹一圈边框,再或者在弹幕前面加上视频中人物的头像。而可以理解的是,基于前述增加
的美化样式,会消耗更多的渲染元件的处理资源,进而降低渲染元件的剩余可用率。那么,
在取消所述弹幕的美化样式以后,可以减少渲染元件的占用率,进而提升渲染元件的剩余
可用率。如图8所示,在图8所示的界面中显示有弹幕96以及弹幕97,并且弹幕96以及弹幕97
的内容均是相同的,但是,在显示样式方面,弹幕86外面还包括有边框以及发布该弹幕内容
的用户的头像。若电子设备在渲染弹幕的过程中,渲染的弹幕更多的为弹幕96所示的样式,
那么必然会增加渲染元件的占用率。
资源不满足所述目标条件以后,可以在视频播放界面上显示时长配置控件,提示用户手动
选择减少显示的时间。
加弹幕显示时长,而通过触控时长配置控件93可以缩短弹幕显示时长。而当在电子设备检
测到所述视频处理资源不满足所述目标条件以后触发显示该时长配置界面95后,对于时长
配置控件94可以配置为不响应用户操作的状态,而只会响应于对于时长配置控件93的触控
操作,进而起到提示用户缩短弹幕的显示时长的效果,从而对于显示弹幕对于渲染元件的
占用。
选的,电子设备可以在检测到视频以快进的方式播放后,缩短弹幕的显示时长,进而可以使
得弹幕的移动速度与快进播放的视频画面更加协调,进而提升用户体验。
放界面上显示一标识移动路径的控件92,其中,该移动路径的控件92的长度表征弹幕的移
动路径长度。如图11所示,当移动路径的控件92被用户调节到图11所示的长度以后,弹幕的
移动路径也随着调节到移动路径的控件92所示的长度。
模式所占用的视频处理资源。
如果判断结果显示所述视频处理资源不满足所述目标条件,那么电子设备就以占用视频处
理资源相对更小的第一显示模式显示所述视频对应的弹幕,而若如果判断结果显示所述视
频处理资源满足所述目标条件,就以第二显示模式显示所述视频对应的弹幕,进而提升了
弹幕显示的灵活性,也进一步的提升了用户体验。
确定所述视频对应的弹幕的显示模式。而其中因为不同的所述显示模式所占用的所述视频
处理资源不同,那么电子设备就可以根据当前的视频处理资源的信息,来确定当前所播放
视频的弹幕是以何种模式进行显示,进而提升了弹幕显示的灵活性,也进一步的提升了用
户体验。
示单元440。
以及取消所述弹幕的美化样式。
剩余可用率差值确定所述显示时长所减小的时长。
如果判断结果显示所述视频处理资源不满足所述目标条件,那么电子设备就以占用视频处
理资源相对更小的第一显示模式显示所述视频对应的弹幕,而若如果判断结果显示所述视
频处理资源满足所述目标条件,就以第二显示模式显示所述视频对应的弹幕,进而提升了
弹幕显示的灵活性,也进一步的提升了用户体验。
赘述。在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性。另外,在本申请
各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存
在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形
式实现,也可以采用软件功能模块的形式实现。
足目标条件,再根据判断结果,确定所述视频对应的弹幕的显示模式。而其中因为不同的所
述显示模式所占用的所述视频处理资源不同,那么电子设备就可以根据当前的视频处理资
源的信息,来确定当前所播放视频的弹幕是以何种模式进行显示,进而提升了弹幕显示的
灵活性,也进一步的提升了用户体验。
示出一个)处理器102、存储器104以及无线模块106。其中,该存储器104中存储有可以执行
前述实施例中内容的程序,而处理器102可以执行该存储器104中存储的程序。
码集或指令集,以及调用存储在存储器104内的数据,执行电子设备100的各种功能和处理
数据。可选地,处理器102可以采用数字信号处理(Digital Signal Processing,DSP)、现场
可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable
Logic Array,PLA)中的至少一种硬件形式来实现。处理器102可集成中央处理器(Central
Processing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中
的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责
显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也
可以不集成到处理器102中,单独通过一块通信芯片进行实现。
储器104可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指
令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于
实现下述各个方法实施例的指令等。存储数据区还可以存储终端100在使用中所创建的数
据(比如电话本、音视频数据、聊天记录数据)等。
包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、
加密/解密芯片、用户身份模块(SIM)卡、存储器等等。所述无线模块106可与各种网络如互
联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线
网络可包括蜂窝式电话网、无线局域网或者城域网。例如,无线模块106可以与基站进行信
息交互。
实施例中所描述的方法。
算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储
介质800具有执行上述方法中的任何方法步骤的程序代码810的存储空间。这些程序代码可
以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。
程序代码810可以例如以适当形式进行压缩。
对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而
这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和
范围。