CN116095382B - 弹幕识别方法和相关装置 - Google Patents

弹幕识别方法和相关装置 Download PDF

Info

Publication number
CN116095382B
CN116095382B CN202210621235.7A CN202210621235A CN116095382B CN 116095382 B CN116095382 B CN 116095382B CN 202210621235 A CN202210621235 A CN 202210621235A CN 116095382 B CN116095382 B CN 116095382B
Authority
CN
China
Prior art keywords
target application
layer
video
barrage
frame rate
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
CN202210621235.7A
Other languages
English (en)
Other versions
CN116095382A (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.)
Honor Device Co Ltd
Original Assignee
Honor Device Co 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 Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202210621235.7A priority Critical patent/CN116095382B/zh
Priority to CN202311715164.8A priority patent/CN117896590A/zh
Priority to PCT/CN2023/090973 priority patent/WO2023231655A1/zh
Publication of CN116095382A publication Critical patent/CN116095382A/zh
Application granted granted Critical
Publication of CN116095382B publication Critical patent/CN116095382B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/47End-user applications
    • H04N21/488Data services, e.g. news ticker
    • H04N21/4884Data services, e.g. news ticker for displaying subtitles
    • 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • 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, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • 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/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting

Abstract

本申请实施例提供一种弹幕识别方法和相关装置,应用于终端技术领域。方法包括:获取目标应用的视频帧率,以及预设时长内目标应用在绘图服务中各层对应的绘图频率;根据视频帧率,以及各层对应的绘图频率,判断目标应用的视频界面是否存在弹幕。基于弹幕对应的绘图频率大于视频帧率,该方法通过比较视频帧率和各层对应的绘图频率的大小,来判断各层中是否存在弹幕对应的绘图,进而可以识别出目标应用的视频界面中是否存在弹幕,终端设备可以根据目标应用的视频界面中是否存在弹幕,做出设备性能的调整,可以提升用户体验。

Description

弹幕识别方法和相关装置
技术领域
本申请涉及终端技术领域,尤其涉及一种弹幕识别方法和相关装置。
背景技术
目前,随着终端技术的发展,越来越多的终端设备支持视频应用,用户对于视频应用的功能需求也越发多样化,例如,视频应用中的弹幕功能等。
一种实现中,在终端设备播放视频的过程中,用户可以控制弹幕功能的开启或关闭。
然而,包括弹幕的视频在播放时,终端设备无法识别出是否存在弹幕。
发明内容
本申请实施例提供一种弹幕识别方法和相关装置,应用于终端技术领域。根据视频帧率,以及各层对应的绘图频率,判断目标应用的视频界面是否存在弹幕,终端设备从而可以根据目标应用的视频界面中是否存在弹幕,做出设备性能的调整,提升用户体验。
第一方面,本申请实施例提出一种弹幕识别方法,包括:获取目标应用的视频帧率,以及预设时长内目标应用在绘图服务中各层对应的绘图频率;根据视频帧率,以及各层对应的绘图频率,判断目标应用的视频界面是否存在弹幕。
这样,基于弹幕对应的绘图频率大于视频帧率,该方法通过比较视频帧率和各层对应的绘图频率的大小,来判断各层中是否存在弹幕对应的绘图,进而可以识别出目标应用的视频界面中是否存在弹幕,终端设备可以根据目标应用的视频界面中是否存在弹幕,做出设备性能的调整,可以提升用户体验。
可选的,根据视频帧率,以及各层对应的绘图频率,判断目标应用的视频界面是否存在弹幕,包括:计算各层对应的绘图频率中,大于视频帧率的绘图帧率的第一数量,当第一数量大于0时,确定目标应用的视频界面存在弹幕。
这样,由于弹幕的绘图频率大于视频帧率,可以通过计算绘图频率大于视频帧率的绘图帧率的数量,来确定目标应用的视频界面存在弹幕,终端设备从而对设备性能做出调整,以提升用户体验。
可选的,各层对应的绘图频率以层标识和层标识对应的绘图频率的对应关系记录,任一层标识对应的绘图频率为绘图次数与预设时长的比值,绘图次数为任一层标识在预设时长内绘制的次数,目标应用在绘图服务中的层的数量为一层或多层。
这样,通过以层标识和层标识对应的绘图频率的对应关系记录各层对应的绘图频率,当目标应用在绘图服务中的层的数量为一层或多层,便于比较视频帧率和各层对应的绘图频率的大小关系。
可选的,根据视频帧率,以及各层对应的绘图频率,判断目标应用的视频界面是否存在弹幕之后,该方法还包括:当确定目标应用的视频界面不存在弹幕时,监测目标应用在绘图服务中各层对应的绘图频率是否发生变化;当监测到目标应用在绘图服务中各层对应的绘图频率存在变化时,确定目标应用的视频界面中存在弹幕。
这样,通过监测目标应用在绘图服务中各层对应的绘图频率是否发生变化,来确定目标应用的视频界面中是否存在突发弹幕,简单直观,且终端设备可以根据目标应用的视频界面中是否存在弹幕,做出设备性能的调整,可以提升用户体验。
可选的,监测目标应用在绘图服务中各层对应的绘图频率是否发生变化,包括:按照预设周期记录目标应用在绘图服务中各层的绘图频率;对于按照预设周期得到的任一条记录,比较任一条记录与预设时长内得到的各层对应的绘图频率;针对绘图服务中的任一层,当任一层在任一条记录与预设时长内得到的任一层对应的绘图频率的差值大于或等于阈值时,确定目标应用在绘图服务中各层对应的绘图频率发生变化;或者,当任一层在任一条记录与预设时长内得到的任一层对应的绘图频率的差值小于阈值时,确定目标应用在绘图服务中各层对应的绘图频率未发生变化。
这样,通过计算任一层在任一条记录中的绘图频率与预设时长内得到的任一层对应的绘图频率或上一条记录中的绘图频率的差值,来确定目标应用在绘图服务中各层对应的绘图频率是否发生变化,从而判断目标应用的视频界面是否存在突发弹幕,终端设备从而对设备性能做出调整,以提升用户体验。
可选的,获取目标应用的视频帧率,以及预设时长内目标应用在绘图服务中各层对应的绘图频率,包括:当目标应用启动视频播放,目标应用中的视频为全屏显示,显示目标应用的视频界面的终端设备横竖屏状态切换,和/或,目标应用的视频界面接收到用户操作时,获取目标应用的视频帧率,以及预设时长内目标应用在绘图服务中各层对应的绘图频率。
这样,一方面,通过在上述可能触发开启或关闭弹幕功能的场景下,获取目标应用的视频帧率,以及预设时长内目标应用在绘图服务中各层对应的绘图频率,进而对目标应用的视频界面是否存在弹幕做出识别,终端设备从而对设备性能做出调整,以提升用户体验。另一方面,当目标应用中的视频为全屏显示时,视频界面中不会存在其它对象,减少对目标应用的视频界面是否存在弹幕做出识别时,其它对象带来的干扰。
可选的,获取目标应用的视频帧率,包括:获取目标应用在媒体编解码器MediaCodec中的视频帧率。
这样,通过从媒体编解码器获取到目标应用中视频本身的视频帧率,来判断绘图服务中是否存在绘图帧率大于该视频帧率的弹幕绘图,从而对目标应用的视频界面是否存在弹幕做出识别,终端设备从而对设备性能做出调整,以提升用户体验。
可选的,该方法还包括:在确定目标应用的视频界面存在弹幕时,提高屏幕刷新率;或者,在确定目标应用的视频界面不存在弹幕时,降低屏幕刷新率。
这样,终端设备可以根据是否存在弹幕,来对屏幕刷新率做出调整。当终端设备识别到存在弹幕时,可以相应地调高一点屏幕刷新率,减少弹幕滚动画面的卡顿;而当终端设备识别到不存在弹幕时,可以相应地调低一点屏幕刷新率,减少处理器的负载和耗电,提升用户体验。
第二方面,本申请实施例提供一种终端设备,终端设备也可以称为终端(terminal)、用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等。终端设备可以是手机(mobile phone)、智能电视、穿戴式设备、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self-driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。
该终端设备包括:触摸屏,其中,触摸屏包括触控面板和显示屏;一个或多个处理器;存储器;多个应用程序;以及一个或多个计算机程序,其中一个或多个计算机程序被存储在存储器中,一个或多个计算机程序包括指令,当指令被终端设备执行时,使得终端设备执行以下步骤:获取目标应用的视频帧率,以及预设时长内目标应用在绘图服务中各层对应的绘图频率;根据视频帧率,以及各层对应的绘图频率,判断目标应用的视频界面是否存在弹幕。
可选的,根据视频帧率,以及各层对应的绘图频率,判断目标应用的视频界面是否存在弹幕,包括:计算各层对应的绘图频率中,大于视频帧率的绘图帧率的第一数量,当第一数量大于0时,确定目标应用的视频界面存在弹幕。
可选的,各层对应的绘图频率以层标识和层标识对应的绘图频率的对应关系记录,任一层标识对应的绘图频率为绘图次数与预设时长的比值,绘图次数为任一层标识在预设时长内绘制的次数,目标应用在绘图服务中的层的数量为一层或多层。
可选的,根据视频帧率,以及各层对应的绘图频率,判断目标应用的视频界面是否存在弹幕之后,该方法还包括:当确定目标应用的视频界面不存在弹幕时,监测目标应用在绘图服务中各层对应的绘图频率是否发生变化;当监测到目标应用在绘图服务中各层对应的绘图频率存在变化时,确定目标应用的视频界面中存在弹幕。
可选的,监测目标应用在绘图服务中各层对应的绘图频率是否发生变化,包括:按照预设周期记录目标应用在绘图服务中各层的绘图频率;对于按照预设周期得到的任一条记录,比较任一条记录与预设时长内得到的各层对应的绘图频率;针对绘图服务中的任一层,当任一层在任一条记录与预设时长内得到的任一层对应的绘图频率的差值大于或等于阈值时,确定目标应用在绘图服务中各层对应的绘图频率发生变化;或者,当任一层在任一条记录与预设时长内得到的任一层对应的绘图频率的差值小于阈值时,确定目标应用在绘图服务中各层对应的绘图频率未发生变化。
可选的,获取目标应用的视频帧率,以及预设时长内目标应用在绘图服务中各层对应的绘图频率,包括:当目标应用启动视频播放,目标应用中的视频为全屏显示,显示目标应用的视频界面的终端设备横竖屏状态切换,和/或,目标应用的视频界面接收到用户操作时,获取目标应用的视频帧率,以及预设时长内目标应用在绘图服务中各层对应的绘图频率。
可选的,获取目标应用的视频帧率,包括:获取目标应用在媒体编解码器MediaCodec中的视频帧率。
可选的,该方法还包括:在确定目标应用的视频界面存在弹幕时,提高屏幕刷新率;或者,在确定目标应用的视频界面不存在弹幕时,降低屏幕刷新率。
第三方面,本申请实施例提供一种终端设备,包括:处理器和存储器,处理器用于调用存储器中的程序以使终端设备执行上述第一方面所提供的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,当计算机指令在终端设备上运行时,使得终端设备执行上述第一方面所提供的方法。
第五方面,本申请实施例提供一种计算机程序产品,该计算机程序产品包括计算机程序,当计算机程序被运行时,使得计算机执行上述第一方面所提供的方法。
上述第二方面至第五方面的各可能的实现方式,其有益效果可以参见上述第一方面所带来的有益效果,在此不加赘述。
附图说明
图1为本申请实施例所提供的终端设备的结构示意图;
图2为本申请实施例所提供的终端设备的软件结构框图;
图3为本申请实施例所适用的场景示意图;
图4为本申请实施例所提供的一种弹幕识别方法的流程示意图;
图5为本申请实施例所提供的又一种弹幕识别方法的流程示意图;
图6为本申请实施例提供的一种弹幕识别装置的结构示意图;
图7为本申请实施例提供的一种弹幕识别装置的硬件结构示意图。
具体实施方式
为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一目标功能的界面和第二目标功能的界面是为了区分不同的响应界面,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请实施例提供的是一种弹幕识别方法,可以应用在支持视频应用或直播应用等应用软件,且具备弹幕功能的电子设备中。电子设备包括终端设备,终端设备也可以称为终端(terminal)、用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等。终端设备可以是手机(mobile phone)、智能电视、穿戴式设备、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self-driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。本申请的实施例对终端设备所采用的具体技术和具体设备形态不做限定。
为了能够更好地理解本申请实施例,下面对本申请实施例的终端设备的结构进行介绍:
图1示出了终端设备100的结构示意图。终端设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriberidentification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对终端设备100的具体限定。在本申请另一些实施例中,终端设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integratedcircuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。
I2S接口可以用于音频通信。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现终端设备100的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现终端设备100的显示功能。例如,本申请实施例中,处理器110和显示屏194通过DSI接口通信,实现在显示屏194上显示本申请实施例所提出的任一弹幕识别方法中涉及的视频和弹幕。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为终端设备100充电,也可以用于终端设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,是示意性说明,并不构成对终端设备100的结构限定。在本申请另一些实施例中,终端设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
终端设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
终端设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。例如,本申请实施例中,GPU可以用于实现在显示屏194上显示本申请实施例所提出的任一弹幕识别方法中所涉及的视频和弹幕。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dotlightemitting diodes,QLED)等。在一些实施例中,终端设备100可以包括1个或N个显示屏194,N为大于1的正整数。例如,本申请实施例中,显示屏194可以用于显示本申请实施例所提出的任一弹幕识别方法中所涉及的视频和弹幕。
终端设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。
视频编解码器用于对数字视频压缩或解压缩。终端设备100可以支持一种或多种视频编解码器。这样,终端设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。例如,本申请实施例中,视频编解码器可以用于对本申请实施例所提出的任一弹幕方法中所涉及的视频应用播放的视频进行解码。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。
内部存储器121可以用于存储计算机可执行程序代码,可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。
终端设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。终端设备100可以接收按键输入,产生与终端设备100的用户设置以及功能控制有关的键信号输入。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和终端设备100的接触和分离。终端设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。终端设备100通过SIM卡和网络交互,实现通话以及数据通信等功能。
终端设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构,等。本申请实施例以分层架构的Android系统为例,示例性说明终端设备100的软件结构。
图2是本申请实施例的终端设备100的软件结构框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为五层,从上至下分别为应用程序层,应用程序框架层,管理服务层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。如图3所示,应用程序包可以包括相机、日历、电话、地图、游戏、视频等应用程序。
其中,视频应用用于为用户提供视频播放功能。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图3所示,应用程序框架层可以包括媒体编解码器、资源管理器、通知管理器、图形绘制和图形渲染等。
媒体编解码器用于对视频应用需播放的视频进行解码,获取视频源帧率和视频播放/停止信息。
资源管理器为应用程序提供各种资源,例如横竖屏切换、图标、图片、布局文件、视频文件等等。
图形绘制用于对图形进行绘制,例如视频应用中视频和/或弹幕的绘制。
图形渲染用于对绘制后的图形进行渲染,例如在图形绘制对视频应用中视频和/或弹幕完成绘制后,图形渲染对视频和/或弹幕进行渲染。
窗口管理器(window manager service,WMS)用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
包管理器用于系统内的程序管理,例如:应用程序安装、卸载和升级等。
管理服务层包括弹幕识别等。
弹幕识别用于对视频应用中的弹幕进行识别。
Android runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:图形合成、表面管理器(surface manager)、媒体库(Media Libraries)、三维图形处理库(例如:OpenGL ES)、2D图形引擎(例如:SGL)等。
图形合成用于将是将一个或多个渲染后的视图合成为显示界面,例如将视频应用中的视频和/或弹幕在绘制渲染后进行合成处理。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图、图像渲染、合成和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层可以包括显示驱动、摄像头驱动、音频驱动、中央处理器驱动等。
显示驱动用于显示经过绘制、渲染、合成等过程得到的界面,例如显示视频应用中的视频和/或弹幕界面。
下面结合应用程序启动或应用程序中发生界面切换的场景,示例性说明终端设备100软件以及硬件的工作流程。
当触摸传感器180K接收到触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加工成原始输入事件(包括触摸坐标,触摸力度,触摸操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,识别该输入事件所对应的控件。以该触摸操作是触摸单击操作,该单击操作所对应的控件为视频应用图标的控件为例,视频应用调用应用框架层的接口,启动视频应用,进而通过调用内核层启动显示驱动,显示视频应用的功能界面。
随着终端技术的发展,越来越多的终端设备支持视频应用,用户对于视频应用的功能需求也越发多样化,例如,视频应用中的弹幕功能等。本申请实施例提供的技术方案可以应用于支持弹幕功能的视频应用中,尤其是在视频播放过程中,对弹幕进行识别。
一种实现中,在终端设备播放视频的过程中,用户可以控制弹幕功能的开启或关闭。例如,用户可以通过点击“弹幕”按钮,来开启弹幕或关闭弹幕。弹幕功能开启后,在视频播放过程中,会同时出现滚动的弹幕。
示例性的,在开启弹幕的情况下,需要60Hz的屏幕刷新率以适应弹幕的移动显示要求;在未开启弹幕的情况下,只需要30Hz的屏幕刷新率就可以满足大部分视频的流畅显示要求。因此,在视频播放过程中开启弹幕功能的场景,由于视频界面上还需动态显示滚动弹幕,对刷新率的需求会高于未开启弹幕的场景。
然而,在上述方法中,终端设备无法识别到视频应用中是否存在弹幕,则无法根据是否存在弹幕,做出设备性能的调整,用户体验较差。例如,根据是否存在弹幕,调整屏幕刷新率,等。
有鉴于此,本申请实施例提供的弹幕识别方法,终端设备通过获取目标应用的视频帧率,以及预设时长内目标应用在绘图服务中各层对应的绘图频率;根据视频帧率,以及各层对应的绘图频率,判断目标应用的视频界面是否存在弹幕。基于弹幕对应的绘图频率大于视频帧率,该方法通过比较视频帧率和各层对应的绘图频率的大小,来判断层中是否存在弹幕对应的绘图,进而可以识别出目标应用中是否存在弹幕,终端设备可以根据是否存在弹幕,做出设备性能的调整,可以提升用户体验。
图3示出了本申请实施例的弹幕识别方法所适用的场景示意图。
如图3中的a所示,在视频播放的过程中,弹幕功能未开启,视频播放界面中显示正在播放的视频,用户通过点击“弹幕”按钮301开启弹幕功能,则视频播放界面中出现如图3中的b所示弹幕303。
示例性的,终端设备可以通过识别目标应用的视频界面是否存在弹幕,来对设备性能做出调整。以屏幕刷新率为例,当图3中的a所播放的视频为电影时,仅需要30Hz的刷新率即可满足流畅显示画面的需求。对于如图3中的b所示的在视频播放过程中开启弹幕功能的场景,对刷新率的需求会高于图3中的a所示的未开启弹幕场景。因此,终端设备可以根据是否存在弹幕,来对屏幕刷新率做出调整。当终端设备识别到存在弹幕时,可以相应地调高一点屏幕刷新率;而当终端设备识别到不存在弹幕时,可以相应地调低一点屏幕刷新率。
下面通过具体的实施例对本申请实施例的弹幕识别方法进行详细说明。下面的实施例可以相互结合或独立实施,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图4为本申请实施例所提供的一种弹幕识别方法的流程示意图。如图4所示,该方法可以包括:
S401、获取目标应用的视频帧率,以及预设时长内目标应用在绘图服务中各层对应的绘图频率。
本申请实施例中,目标应用可以为具有视频播放功能的应用,例如,视频应用、直播应用、可播放音乐短片的音乐应用等。视频帧率可以理解为目标应用中所播放的视频通过显卡输出给显示屏的帧率。其中,不同的目标应用可以对应不同的视频帧率。
本申请实施例中,该绘图服务可以用于对目标应用中视频和/或弹幕进行绘制、渲染和合成等。其中,目标应用在绘图服务中各层对应的绘图频率可以为各层对应的绘图次数与预设时长的比值。
需要说明的是,预设时长可以理解为视频播放过程中的某段时间,例如,可以设置为100ms,对于该预设时长的具体值,本申请实施例在此不做限制。
示例性的,在绘图服务中,目标应用中的绘图可以包括视频绘图和/或弹幕绘图。其中,当视频播放过程中存在弹幕时,则目标应用中的绘图包括视频绘图和弹幕绘图;当视频播放过程中不存在弹幕时,则目标应用中的绘图包括视频绘图。
一种可能的实现中,当视频播放过程中不存在弹幕时,目标应用在绘图服务中的各层包括视频层,则获取预设时长内绘图服务中视频层对应的绘图频率。
又一种可能的实现中,当视频播放过程中存在弹幕时,视频绘图和弹幕绘图在同一层中绘图,则获取预设时长内绘图服务中该层对应的绘图频率。其中,该层对应的绘图频率为视频的绘图频率和弹幕的绘图频率中较大的绘图频率,示例性的,弹幕的绘图频率可以大于视频帧率,则该层对应的绘图频率为弹幕的绘图频率。例如,视频绘图对应的绘图频率为30Hz,弹幕绘图对应的绘图频率为60Hz,则该层对应的绘图频率为60Hz。
另一种可能的实现中,当视频播放过程中存在弹幕时,视频绘图和弹幕绘图在不同的层中绘图,则获取预设时长内绘图服务中视频层对应的绘图频率和弹幕层对应的绘图频率。
S402、根据视频帧率,以及各层对应的绘图频率,判断目标应用的视频界面是否存在弹幕。
在本申请实施例中,弹幕可以理解为观看视频时弹出的评论性字幕。其中,不同的视频可以对应不同的弹幕内容和弹幕个数,不同弹幕的发送时间有所区别,弹幕可以在视频中特定的一个时间点出现,在相同时刻发送的弹幕基本上也具有相同的主题。
例如,在某个视频播放到第43分钟的时候,用户1发了一条弹幕,则其他用户在观看该视频的过程中,播放到第43分钟的时候,可以看到用户1所发送的那条弹幕,且在第43分钟所发送的弹幕中,大部分用户发送的弹幕内容都是围绕第43分钟左右播放的内容所发表的评论。
示例性的,比较视频帧率,以及预设时长内绘图服务中各层对应的绘图频率的大小关系,根据该大小关系来判断是否存在弹幕。
一种可能的实现中,当视频播放过程中不存在弹幕时,目标应用在绘图服务中的各层包括视频层,则可以通过比较视频帧率,以及预设时长内绘图服务中视频层对应的绘图频率,来确定目标应用的视频界面是否存在弹幕。
又一种可能的实现中,当视频播放过程中存在弹幕时,视频绘图和弹幕绘图在同一层中绘图,则可以通过比较视频帧率,以及预设时长内绘图服务中该层对应的绘图频率,来确定目标应用的视频界面是否存在弹幕。
另一种可能的实现中,当视频播放过程中存在弹幕时,视频绘图和弹幕绘图在不同的层中绘图,则可以通过比较视频帧率,以及预设时长内绘图服务中视频层对应的绘图频率和弹幕层对应的绘图频率,来确定目标应用的视频界面是否存在弹幕。
本申请实施例提供的弹幕识别方法,终端设备通过获取目标应用的视频帧率,以及预设时长内目标应用在绘图服务中各层对应的绘图频率;根据视频帧率,以及各层对应的绘图频率,判断目标应用的视频界面是否存在弹幕。基于弹幕对应的绘图频率大于视频帧率,该方法通过比较视频帧率和各层对应的绘图频率的大小,来判断各层中是否存在弹幕对应的绘图,进而可以识别出目标应用的视频界面中是否存在弹幕,终端设备可以根据目标应用的视频界面中是否存在弹幕,做出设备性能的调整,可以提升用户体验。
可选的,在图4对应的实施例的基础上,本申请实施例的方法中:
一种可能的实现中,获取目标应用的视频帧率,以及预设时长内目标应用在绘图服务中各层对应的绘图频率,包括:当目标应用启动视频播放,目标应用中的视频为全屏显示,显示目标应用的视频界面的终端设备横竖屏状态切换,和/或,目标应用的视频界面接收到用户操作时,获取目标应用的视频帧率,以及预设时长内目标应用在绘图服务中各层对应的绘图频率。
在本申请实施例中,目标应用启动视频播放可以理解为启动目标应用中的视频播放,需要说明的是,视频可以为直播视频,也可以为录播视频,还可以为电视剧或电影等。例如,启动视频应用中的视频播放或启动直播应用中的直播播放等。
在本申请实施例中,全屏显示可以理解为把需要的窗口,在屏幕上显示为最大。目标应用中的视频为全屏显示可以理解为在目标应用播放视频时,该视频在屏幕上显示为最大。例如,视频为全屏显示时,该视频可以铺满整个屏幕。
在本申请实施例中,横竖屏状态切换可以为将横屏切换为竖屏或者将竖屏切换为横屏。显示视频界面的终端设备横竖屏状态切换可以理解为当终端设备的显示界面为视频界面时,将终端设备进行横竖屏状态的切换。其中,横屏可以为全屏。
在本申请实施例中,视频界面接收到用户操作可以理解为当用户通过触摸屏幕或点击按钮的形式对视频界面进行操作时,视频界面可以接收到用户操作。例如,如图3所示,在视频界面,用户点击“弹幕”按钮301,视频界面接收到用户点击“弹幕”按钮301的操作后,开启弹幕功能。
示例性的,当目标应用启动视频播放,目标应用中的视频为全屏显示,显示视频界面的终端设备横竖屏状态切换,视频界面接收到用户操作等场景中的一种或多种出现时,获取目标应用的视频帧率,以及预设时长内目标应用在绘图服务中各层对应的绘图频率。
示例性的,上述场景中的多种可以包括目标应用启动视频播放且该视频为全屏显示,或者,在目标应用中的视频为横屏全屏显示时,终端设备从横屏状态切换为竖屏状态,或者,在目标应用中的视频为全屏显示时,视频界面接收到用户操作,或者,显示视频界面的终端设备从竖屏非全屏状态切换横屏全屏状态,等等。
可以理解的是,由于目标应用默认开启或关闭弹幕功能,当目标应用启动视频播放时,可以获取目标应用的视频帧率,以及预设时长内目标应用在绘图服务中各层对应的绘图频率,来对目标应用的视频界面是否存在弹幕做出识别,终端设备从而对设备性能做出调整,以提升用户体验。
可以理解的是,一种可能的实现中,横屏状态可能为全屏显示,竖屏状态可能为非全屏显示,在目标应用开启弹幕功能的前提下,在视频界面为全屏显示时,视频界面会出现弹幕;在视频界面为非全屏显示时,视频界面不会出现弹幕,因此,当显示视频界面的终端设备进行横竖屏状态切换时,视频界面的弹幕情况可能会发生变化。例如,视频界面为横屏全屏显示界面且存在弹幕,当终端设备横屏切换为竖屏时,视频界面切换为竖屏非全屏显示界面且弹幕消失。因此,当显示视频界面的终端设备进行横竖屏状态切换时,对目标应用的视频界面是否存在弹幕做出识别,终端设备从而对设备性能做出调整,以提升用户体验。
可以理解的是,当视频界面接收到用户操作时,该操作可能为用户开启弹幕或关闭弹幕的操作。因此,当视频界面接收到用户操作时,对目标应用的视频界面是否存在弹幕做出识别,终端设备从而对设备性能做出调整,以提升用户体验。
可以理解的是,当目标应用中的视频为全屏显示时,视频界面中不会存在其它对象,减少对目标应用的视频界面是否存在弹幕做出识别时,其它对象带来的干扰。
一种可能的实现中,获取目标应用的视频帧率,包括:获取目标应用在媒体编解码器Media Codec中的视频帧率。
示例性的,媒体编解码器可以用于对目标应用需播放的视频进行解码,获取视频帧率,进而终端设备可以从媒体编解码器获取到目标应用的视频帧率。
在本申请实施例中,通过从媒体编解码器获取到目标应用中视频本身的视频帧率,来判断绘图服务中是否存在绘图帧率大于该视频帧率的弹幕绘图,从而对目标应用的视频界面是否存在弹幕做出识别,终端设备从而对设备性能做出调整,以提升用户体验。
一种可能的实现中,根据视频帧率,以及各层对应的绘图频率,判断目标应用的视频界面是否存在弹幕,包括:计算各层对应的绘图频率中,大于视频帧率的绘图帧率的第一数量,当第一数量大于0时,确定目标应用的视频界面存在弹幕。
示例性的,获取到目标应用的视频帧率,以及预设时长内目标应用在绘图服务中各层对应的绘图频率后,比较视频帧率和各层对应的绘图频率的大小关系。其中,在视频播放过程中开启弹幕功能的场景中,由于弹幕是动态滚动显示的,弹幕的绘图频率大于视频帧率。
基于此,可以通过获取各层对应的绘图频率中,大于视频帧率的绘图帧率,当大于视频帧率的绘图帧率的数量大于0时,则确定目标应用的视频界面存在弹幕;当大于视频帧率的绘图帧率的数量不大于0时,则确定目标应用的视频界面不存在弹幕。
一种可能的实现中,当视频播放过程中不存在弹幕时,目标应用在绘图服务中的各层包括视频层,可以得到该视频层对应的绘图频率不大于视频帧率,则第一数量等于0,进而可以确定目标应用的视频界面不存在弹幕。
又一种可能的实现中,当视频播放过程中存在弹幕时,视频绘图和弹幕绘图在同一层中绘图,该层对应的绘图频率为弹幕的绘图频率,则可以得到该层对应的绘图频率大于视频帧率,第一数量大于0,进而可以确定目标应用的视频界面存在弹幕。
另一种可能的实现中,当视频播放过程中存在弹幕时,视频绘图和弹幕绘图在不同的层中绘图,则可以得到该弹幕层对应的绘图频率大于视频帧率,第一数量大于0,进而可以确定目标应用的视频界面存在弹幕。
在本申请实施例中,由于弹幕的绘图频率大于视频帧率,可以通过计算绘图频率大于视频帧率的绘图帧率的数量,来确定目标应用的视频界面存在弹幕,终端设备从而对设备性能做出调整,以提升用户体验。
一种可能的实现中,各层对应的绘图频率以层标识和层标识对应的绘图频率的对应关系记录,任一层标识对应的绘图频率为绘图次数与预设时长的比值,绘图次数为任一层标识在预设时长内绘制的次数,目标应用在绘图服务中的层的数量为一层或多层。
在本申请实施例中,各层对应的绘图频率在记录时,可以将层标识和该层标识对应的绘图频率一一对应。例如,视频层对应的绘图帧率为30Hz,弹幕层对应的绘图帧率为60Hz,等。
在本申请实施例中,任意的一个层标识对应的绘图频率均可以为预设时长内绘制的次数与预设时长的比值,例如,预设时长为4s,视频层在4s内绘制的次数为120次,则视频层对应的绘图帧率为30Hz。
示例性的,目标应用在绘图服务中的层的数量为一层时的情况可以包括:当视频播放过程中不存在弹幕时,目标应用在绘图服务中的各层包括视频层,或者,当视频播放过程中存在弹幕时,视频绘图和弹幕绘图在同一层中绘图。
示例性的,目标应用在绘图服务中的层的数量为多层时的情况可以包括:当视频播放过程中存在弹幕时,视频绘图和弹幕绘图在不同的层中绘图,则目标应用在绘图服务中的各层包括视频层和弹幕层。
在本申请实施例中,通过以层标识和层标识对应的绘图频率的对应关系记录各层对应的绘图频率,当目标应用在绘图服务中的层的数量为一层或多层,便于比较视频帧率和各层对应的绘图频率的大小关系。
示例性的,在以上实施例的基础上,图5示出了又一种本申请实施例所提供的弹幕识别方法的流程示意图,具体的步骤可以为:
S501、当目标应用启动视频播放,目标应用中的视频为全屏显示,显示视频界面的终端设备横竖屏状态切换,和/或,视频界面接收到用户操作时,获取目标应用在媒体编解码器Media Codec中的视频帧率,以及预设时长内目标应用在绘图服务中各层对应的绘图频率。
S502、根据视频帧率,以及各层对应的绘图频率,判断目标应用的视频界面是否存在弹幕。
示例性的,对于步骤S502的具体实现,可以参照步骤S5021-S5022。
S5021、计算各层对应的绘图频率中,大于视频帧率的绘图帧率的第一数量。
S5022、当第一数量大于0时,确定目标应用的视频界面存在弹幕;或者,当第一数量不大于0时,确定目标应用的视频界面不存在弹幕。
S503、当确定目标应用的视频界面不存在弹幕时,监测目标应用在绘图服务中各层对应的绘图频率是否发生变化。
示例性的,通过上述步骤S501-S502,确定目标应用的视频界面不存在弹幕时,则表示目标应用的视频界面不存在连续弹幕,因此,可以通过监测目标应用在绘图服务中各层对应的绘图频率是否发生变化,来判断目标应用的视频界面是否存在突发弹幕。其中,连续弹幕可以理解为在整个视频的播放过程中,弹幕是一直存在的,是连续不断的;而突发弹幕可以理解为在整个视频播放的过程中,弹幕出现的次数很少,断断续续的出现,例如,每隔7分钟出现一次弹幕,或者,在整个视频播放的过程中,只出现了一次弹幕,等。
示例性的,对于步骤S503的具体实现,可以参照步骤S5031-S5033。
S5031、按照预设周期记录目标应用在绘图服务中各层的绘图频率。
在本申请实施例中,该预设周期可以理解为每隔一定的时间间隔,例如,该预设周期可以为100ms,对于该预设周期的具体值,本申请实施例不做具体的限定。
示例性的,每隔一定的时间间隔记录一次目标应用在绘图服务中各层的绘图频率。
S5032、对于按照预设周期得到的任一条记录,比较任一条记录与预设时长内得到的各层对应的绘图频率。
在本申请实施例中,每隔一定的时间间隔记录一次目标应用在绘图服务中各层的绘图频率,形成一条记录。
示例性的,由于在上述步骤S501-S502中,已经确定目标应用的视频界面不存在弹幕,则获取到的预设时长内目标应用在绘图服务中各层对应的绘图频率,是目标应用的视频界面不存在弹幕的情况下各层对应的绘图频率。因此,可以通过比较按照预设周期得到的任一条记录,以及预设时长内得到的各层对应的绘图频率,来判断各层对应的绘图频率是否存在变化。
S5033、针对绘图服务中的任一层,当任一层在任一条记录与预设时长内得到的任一层对应的绘图频率的差值大于或等于阈值时,确定目标应用在绘图服务中各层对应的绘图频率发生变化;或者,当任一层在任一条记录与预设时长内得到的任一层对应的绘图频率的差值小于阈值时,确定目标应用在绘图服务中各层对应的绘图频率未发生变化。
在本申请实施例中,任一层可以理解为目标应用在绘图服务中的层的数量为一层或多层时,一层或多层中的任一层。例如,视频层和弹幕层中的任一层。
需要说明的是,该阈值可以根据实际情况或经验进行设置,例如,该阈值可以设置为10Hz,对于该阈值的具体值,本申请实施例不做具体的限定。
一种可能的实现中,当视频播放过程中不存在突发弹幕时,目标应用在绘图服务中的各层包括视频层,则针对该视频层,该视频层的任一条记录与预设时长内得到的该视频层对应的绘图频率的差值小于阈值,从而可以确定目标应用在绘图服务中各层对应的绘图频率没有发生变化。
又一种可能的实现中,当视频播放过程中存在突发弹幕,视频绘图和弹幕绘图在同一层中绘图时,则针对该层,当视频播放过程中出现突发弹幕时,该层在该预设周期内对应的绘图频率与预设时长内得到的该层对应的绘图频率的差值大于或等于阈值,从而可以确定目标应用在绘图服务中各层对应的绘图频率发生变化。
另一种可能的实现中,当视频播放过程中存在突发弹幕,视频绘图和弹幕绘图在不同的层中绘图时,在视频播放过程中出现突发弹幕之前,目标应用在绘图服务中的各层包括视频层,当视频播放过程中出现突发弹幕时,目标应用在绘图服务中的各层包括视频层和弹幕层,由于在视频播放过程中出现突发弹幕之前,目标应用在绘图服务中的各层不包括弹幕层,则该弹幕层在该预设周期内对应的绘图频率与预设时长内得到的该弹幕层对应的绘图频率的差值大于或等于阈值,从而可以确定目标应用在绘图服务中各层对应的绘图频率发生变化。
也可以理解为,当视频播放过程中存在突发弹幕,视频绘图和弹幕绘图在不同的层中绘图时,在视频播放过程中出现突发弹幕之前,目标应用在绘图服务中的各层包括视频层,当视频播放过程中出现突发弹幕时,目标应用在绘图服务中的各层包括视频层和弹幕层,目标应用在绘图服务中的层数发生变化,从而可以确定目标应用在绘图服务中各层对应的绘图频率发生变化。
示例性的,对于按照预设周期得到的任一条记录,也可以通过比较任一条记录与上一条记录,来确定目标应用在绘图服务中各层对应的绘图频率是否发生变化。具体的,针对绘图服务中的任一层,当任一层在任一条记录中的绘图频率与上一条记录中的绘图频率差值大于或等于阈值时,确定目标应用在绘图服务中各层对应的绘图频率发生变化;或者,当任一层在任一条记录中的绘图频率与上一条记录中的绘图频率差值小于阈值时,确定目标应用在绘图服务中各层对应的绘图频率未发生变化。
在本申请实施例中,通过计算任一层在任一条记录中的绘图频率与预设时长内得到的任一层对应的绘图频率或上一条记录中的绘图频率的差值,来确定目标应用在绘图服务中各层对应的绘图频率是否发生变化,从而判断目标应用的视频界面是否存在突发弹幕,终端设备从而对设备性能做出调整,以提升用户体验。
S504、当监测到目标应用在绘图服务中各层对应的绘图频率存在变化时,确定目标应用的视频界面中存在弹幕;或者,当监测到目标应用在绘图服务中各层对应的绘图频率不存在变化时,确定目标应用的视频界面中不存在弹幕。
在本申请实施例中,该弹幕可以为突发弹幕,需要说明的是,无论是连续弹幕还是突发弹幕,终端设备均以目标应用的视频界面存在弹幕来处理。
示例性的,当确定目标应用的视频界面中存在弹幕后,可以停止监测。
在本申请实施例中,通过监测目标应用在绘图服务中各层对应的绘图频率是否发生变化,来确定目标应用的视频界面中是否存在突发弹幕,简单直观,且终端设备可以根据目标应用的视频界面中是否存在弹幕,做出设备性能的调整,可以提升用户体验。
S505、在确定目标应用的视频界面存在弹幕时,提高屏幕刷新率;或者,在确定目标应用的视频界面不存在弹幕时,降低屏幕刷新率。
在本申请实施例中,屏幕刷新率可以理解为屏幕每秒画面被刷新的次数。其中,屏幕刷新率越高,其能支持的帧率越高。例如,如果一个终端设备的屏幕刷新率是120Hz,则其既能支持60FPS的帧率,又能支持90FPS的帧率,其最大能支持120FPS的帧率。
示例性的,终端设备可以通过目标应用的视频界面是否存在弹幕,来对设备性能做出调整。以屏幕刷新率为例,例如,当视频播放过程中开启弹幕功能时,所播放的视频仅需要30Hz的刷新率即可满足流畅显示画面的需求;当视频播放过程中开启弹幕功能时,对刷新率的需求会高于未开启弹幕场景。因此,终端设备可以根据是否存在弹幕,来对屏幕刷新率做出调整。当终端设备识别到存在弹幕时,可以相应地调高一点屏幕刷新率,减少弹幕滚动画面的卡顿;而当终端设备识别到不存在弹幕时,可以相应地调低一点屏幕刷新率,减少处理器的负载和耗电,提升用户体验。
本申请实施例提供的弹幕识别方法,终端设备通过获取目标应用的视频帧率,以及预设时长内目标应用在绘图服务中各层对应的绘图频率;根据视频帧率,以及各层对应的绘图频率,判断目标应用的视频界面是否存在弹幕;当确定目标应用的视频界面不存在弹幕时,监测目标应用在绘图服务中各层对应的绘图频率是否发生变化;当监测到目标应用在绘图服务中各层对应的绘图频率存在变化时,确定目标应用的视频界面中存在弹幕,或者,当监测到目标应用在绘图服务中各层对应的绘图频率不存在变化时,确定目标应用的视频界面中不存在弹幕。终端设备可以根据是否存在弹幕,来对屏幕刷新率做出调整,提升用户体验。
以上示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的方法的例子。
上面已对本申请实施例的弹幕识别方法进行了说明,下面对本申请实施例提供的执行上述弹幕识别方法的终端设备进行描述。本领域技术人员可以理解,方法和装置可以相互结合和引用,本申请实施例提供的终端设备可以执行上述弹幕识别方法中的步骤。
图6示出了本申请实施例提供的一种弹幕识别装置的结构示意图。如图6所示,该弹幕识别装置可以是本申请实施例中的终端设备。该弹幕识别装置包括:触摸屏601,其中,触摸屏包括触控面板和显示屏;一个或多个处理器602;存储器603;多个应用程序;以及一个或多个计算机程序,其中一个或多个计算机程序被存储在存储器603中,一个或多个计算机程序包括指令,当指令被弹幕识别装置执行时,使得弹幕识别装置执行以下步骤:获取目标应用的视频帧率,以及预设时长内目标应用在绘图服务中各层对应的绘图频率;根据视频帧率,以及各层对应的绘图频率,判断目标应用的视频界面是否存在弹幕。
可选的,根据视频帧率,以及各层对应的绘图频率,判断目标应用的视频界面是否存在弹幕,包括:计算各层对应的绘图频率中,大于视频帧率的绘图帧率的第一数量,当第一数量大于0时,确定目标应用的视频界面存在弹幕。
可选的,各层对应的绘图频率以层标识和层标识对应的绘图频率的对应关系记录,任一层标识对应的绘图频率为绘图次数与预设时长的比值,绘图次数为任一层标识在预设时长内绘制的次数,目标应用在绘图服务中的层的数量为一层或多层。
可选的,根据视频帧率,以及各层对应的绘图频率,判断目标应用的视频界面是否存在弹幕之后,该方法还包括:当确定目标应用的视频界面不存在弹幕时,监测目标应用在绘图服务中各层对应的绘图频率是否发生变化;当监测到目标应用在绘图服务中各层对应的绘图频率存在变化时,确定目标应用的视频界面中存在弹幕。
可选的,监测目标应用在绘图服务中各层对应的绘图频率是否发生变化,包括:按照预设周期记录目标应用在绘图服务中各层的绘图频率;对于按照预设周期得到的任一条记录,比较任一条记录与预设时长内得到的各层对应的绘图频率;针对绘图服务中的任一层,当任一层在任一条记录与预设时长内得到的任一层对应的绘图频率的差值大于或等于阈值时,确定目标应用在绘图服务中各层对应的绘图频率发生变化;或者,当任一层在任一条记录与预设时长内得到的任一层对应的绘图频率的差值小于阈值时,确定目标应用在绘图服务中各层对应的绘图频率未发生变化。
可选的,获取目标应用的视频帧率,以及预设时长内目标应用在绘图服务中各层对应的绘图频率,包括:当目标应用启动视频播放,目标应用中的视频为全屏显示,显示目标应用的视频界面的终端设备横竖屏状态切换,和/或,目标应用的视频界面接收到用户操作时,获取目标应用的视频帧率,以及预设时长内目标应用在绘图服务中各层对应的绘图频率。
可选的,获取目标应用的视频帧率,包括:获取目标应用在媒体编解码器MediaCodec中的视频帧率。
可选的,该方法还包括:在确定目标应用的视频界面存在弹幕时,提高屏幕刷新率;或者,在确定目标应用的视频界面不存在弹幕时,降低屏幕刷新率。
图7为本申请实施例提供的一种弹幕识别装置的硬件结构示意图。请参见图7,该装置包括:存储器701、处理器702和显示屏704。该装置还可以包括接口电路703,其中,存储器701、处理器702、接口电路703和显示屏704可以通信;示例性的,存储器701、处理器702、接口电路703和显示屏704可以通过通信总线通信,存储器701用于存储计算机执行指令,由处理器702来控制执行,并由显示屏704来执行显示,从而实现本申请下述实施例提供的弹幕识别方法。
可能的实现方式中,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
可选的,接口电路703还可以包括发送器和/或接收器。可选的,上述处理器702可以包括一个或多个CPU,还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本实施例的装置对应地可用于执行上述方法实施例中执行的步骤,其实现原理和技术效果类似,此处不再赘述。
本申请实施例还提供一种计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。例如,可用介质可以包括磁性介质(例如,软盘、硬盘或磁带)、光介质(例如,数字通用光盘(digital versatile disc,DVD))、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。
本申请实施例还提供了一种计算机可读存储介质。上述实施例中描述的方法可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。如果在软件中实现,则功能可以作为一个或多个指令或代码存储在计算机可读介质上或者在计算机可读介质上传输。计算机可读介质可以包括计算机存储介质和通信介质,还可以包括任何可以将计算机程序从一个地方传送到另一个地方的介质。存储介质可以是可由计算机访问的任何目标介质。
一种可能的实现方式中,计算机可读介质可以包括RAM,ROM,只读光盘(compactdisc read-only memory,CD-ROM)或其它光盘存储器,磁盘存储器或其它磁存储设备,或目标于承载的任何其它介质或以指令或数据结构的形式存储所需的程序代码,并且可由计算机访问。而且,任何连接被适当地称为计算机可读介质。例如,如果使用同轴电缆,光纤电缆,双绞线,数字用户线(Digital Subscriber Line,DSL)或无线技术(如红外,无线电和微波)从网站,服务器或其它远程源传输软件,则同轴电缆,光纤电缆,双绞线,DSL或诸如红外,无线电和微波之类的无线技术包括在介质的定义中。如本文所使用的磁盘和光盘包括光盘,激光盘,光盘,数字通用光盘(Digital Versatile Disc,DVD),软盘和蓝光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光光学地再现数据。上述的组合也应包括在计算机可读介质的范围内。
本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理单元以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理单元执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (9)

1.一种弹幕识别方法,其特征在于,包括:
获取目标应用的视频帧率,以及预设时长内所述目标应用在绘图服务中各层对应的绘图频率;
根据所述视频帧率,以及所述各层对应的绘图频率,判断所述目标应用的视频界面是否存在弹幕;
所述根据所述视频帧率,以及所述各层对应的绘图频率,判断所述目标应用的视频界面是否存在弹幕,包括:
计算所述各层对应的绘图频率中,大于所述视频帧率的绘图帧率的第一数量;
当所述第一数量大于0时,确定所述目标应用的视频界面存在弹幕。
2.根据权利要求1所述的方法,其特征在于,所述各层对应的绘图频率以层标识和层标识对应的绘图频率的对应关系记录,任一层标识对应的绘图频率为绘图次数与所述预设时长的比值,所述绘图次数为所述任一层标识在所述预设时长内绘制的次数,所述目标应用在所述绘图服务中的层的数量为一层或多层。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述视频帧率,以及所述各层对应的绘图频率,判断所述目标应用的视频界面是否存在弹幕之后,所述方法还包括:
当确定所述目标应用的视频界面不存在弹幕时,监测所述目标应用在所述绘图服务中各层对应的绘图频率是否发生变化;
当监测到所述目标应用在所述绘图服务中各层对应的绘图频率存在变化时,确定所述目标应用的视频界面中存在弹幕。
4.根据权利要求3所述的方法,其特征在于,所述监测所述目标应用在所述绘图服务中各层对应的绘图频率是否发生变化,包括:
按照预设周期记录所述目标应用在所述绘图服务中各层的绘图频率;
对于按照所述预设周期得到的任一条记录,比较所述任一条记录与所述预设时长内得到的各层对应的绘图频率;
针对所述绘图服务中的任一层,当所述任一层在任一条记录与所述预设时长内得到的所述任一层对应的绘图频率的差值大于或等于阈值时,确定所述目标应用在所述绘图服务中各层对应的绘图频率发生变化;
或者,当所述任一层在任一条记录与所述预设时长内得到的所述任一层对应的绘图频率的差值小于所述阈值时,确定所述目标应用在所述绘图服务中各层对应的绘图频率未发生变化。
5.根据权利要求1-2、4任一项所述的方法,其特征在于,所述获取目标应用的视频帧率,以及预设时长内所述目标应用在绘图服务中各层对应的绘图频率,包括:
当所述目标应用启动视频播放,所述目标应用中的视频为全屏显示,显示所述目标应用的视频界面的终端设备横竖屏状态切换,和/或,所述目标应用的视频界面接收到用户操作时,获取目标应用的视频帧率,以及预设时长内所述目标应用在绘图服务中各层对应的绘图频率。
6.根据权利要求1-2、4任一项所述的方法,其特征在于,获取所述目标应用的视频帧率,包括:
获取目标应用在媒体编解码器Media Codec中的视频帧率。
7.根据权利要求1-2、4任一项所述的方法,其特征在于,所述方法还包括:
在确定所述目标应用的视频界面存在弹幕时,提高屏幕刷新率;
或者,在确定所述目标应用的视频界面不存在弹幕时,降低所述屏幕刷新率。
8.一种终端设备,其特征在于,包括:处理器和存储器,所述处理器用于调用所述存储器中的程序以使所述终端设备执行权利要求1-7任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7任一项所述的方法。
CN202210621235.7A 2022-06-02 2022-06-02 弹幕识别方法和相关装置 Active CN116095382B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202210621235.7A CN116095382B (zh) 2022-06-02 2022-06-02 弹幕识别方法和相关装置
CN202311715164.8A CN117896590A (zh) 2022-06-02 2022-06-02 弹幕识别方法和相关装置
PCT/CN2023/090973 WO2023231655A1 (zh) 2022-06-02 2023-04-26 弹幕识别方法和相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210621235.7A CN116095382B (zh) 2022-06-02 2022-06-02 弹幕识别方法和相关装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202311715164.8A Division CN117896590A (zh) 2022-06-02 2022-06-02 弹幕识别方法和相关装置

Publications (2)

Publication Number Publication Date
CN116095382A CN116095382A (zh) 2023-05-09
CN116095382B true CN116095382B (zh) 2023-10-31

Family

ID=86210821

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202311715164.8A Pending CN117896590A (zh) 2022-06-02 2022-06-02 弹幕识别方法和相关装置
CN202210621235.7A Active CN116095382B (zh) 2022-06-02 2022-06-02 弹幕识别方法和相关装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202311715164.8A Pending CN117896590A (zh) 2022-06-02 2022-06-02 弹幕识别方法和相关装置

Country Status (2)

Country Link
CN (2) CN117896590A (zh)
WO (1) WO2023231655A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117896590A (zh) * 2022-06-02 2024-04-16 荣耀终端有限公司 弹幕识别方法和相关装置
CN117234319B (zh) * 2023-11-13 2024-04-09 荣耀终端有限公司 一种屏幕刷新率的设置方法及电子设备

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106254922A (zh) * 2016-08-08 2016-12-21 暴风集团股份有限公司 预加载播放弹幕的方法及系统
CN106919402A (zh) * 2017-03-10 2017-07-04 广东欧珀移动通信有限公司 一种移动终端的控制方法、装置及移动终端
CN106933328A (zh) * 2017-03-10 2017-07-07 广东欧珀移动通信有限公司 一种移动终端帧率的控制方法、装置及移动终端
CN106933526A (zh) * 2017-03-10 2017-07-07 广东欧珀移动通信有限公司 一种动态调节屏幕刷新率的方法、装置及移动终端
CN106933587A (zh) * 2017-03-10 2017-07-07 广东欧珀移动通信有限公司 一种图层绘制控制方法、装置及移动终端
CN109151966A (zh) * 2018-10-15 2019-01-04 Oppo广东移动通信有限公司 终端控制方法、装置、终端设备及存储介质
CN110401855A (zh) * 2018-04-25 2019-11-01 腾讯科技(深圳)有限公司 信息展示方法、装置、处理平台、计算设备及存储介质
CN111796827A (zh) * 2020-06-30 2020-10-20 北京字节跳动网络技术有限公司 一种弹幕的绘制方法、装置、设备和存储介质
CN112578897A (zh) * 2020-12-23 2021-03-30 北京字节跳动网络技术有限公司 电子设备的控制方法、装置、终端和存储介质
US10992900B1 (en) * 2020-04-09 2021-04-27 Goldman Sachs & Co. LLC Oscillating video refresh
CN112789651A (zh) * 2019-03-27 2021-05-11 华为技术有限公司 一种应用于终端的频率调整方法、装置及电子设备
CN112835544A (zh) * 2021-02-04 2021-05-25 Oppo广东移动通信有限公司 显示方法及显示设备、电子设备、存储介质
WO2021175054A1 (zh) * 2020-03-06 2021-09-10 Oppo广东移动通信有限公司 图像数据处理方法及相关装置
CN114205673A (zh) * 2021-12-16 2022-03-18 荣耀终端有限公司 刷新率的设置方法及相关设备
CN114245208A (zh) * 2021-12-16 2022-03-25 荣耀终端有限公司 刷新率的设置方法及相关设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016004859A1 (zh) * 2014-07-07 2016-01-14 乐视网信息技术(北京)股份有限公司 视频的弹幕显示方法及装置
CN106210853B (zh) * 2016-07-08 2019-04-09 上海幻电信息科技有限公司 弹幕显示系统及其cpu消耗控制方法
CN111767013A (zh) * 2020-06-01 2020-10-13 Oppo(重庆)智能科技有限公司 控制方法、控制装置、电子装置、计算机可读存储介质
CN117896590A (zh) * 2022-06-02 2024-04-16 荣耀终端有限公司 弹幕识别方法和相关装置

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106254922A (zh) * 2016-08-08 2016-12-21 暴风集团股份有限公司 预加载播放弹幕的方法及系统
CN106919402A (zh) * 2017-03-10 2017-07-04 广东欧珀移动通信有限公司 一种移动终端的控制方法、装置及移动终端
CN106933328A (zh) * 2017-03-10 2017-07-07 广东欧珀移动通信有限公司 一种移动终端帧率的控制方法、装置及移动终端
CN106933526A (zh) * 2017-03-10 2017-07-07 广东欧珀移动通信有限公司 一种动态调节屏幕刷新率的方法、装置及移动终端
CN106933587A (zh) * 2017-03-10 2017-07-07 广东欧珀移动通信有限公司 一种图层绘制控制方法、装置及移动终端
CN110401855A (zh) * 2018-04-25 2019-11-01 腾讯科技(深圳)有限公司 信息展示方法、装置、处理平台、计算设备及存储介质
CN109151966A (zh) * 2018-10-15 2019-01-04 Oppo广东移动通信有限公司 终端控制方法、装置、终端设备及存储介质
CN112789651A (zh) * 2019-03-27 2021-05-11 华为技术有限公司 一种应用于终端的频率调整方法、装置及电子设备
WO2021175054A1 (zh) * 2020-03-06 2021-09-10 Oppo广东移动通信有限公司 图像数据处理方法及相关装置
US10992900B1 (en) * 2020-04-09 2021-04-27 Goldman Sachs & Co. LLC Oscillating video refresh
CN111796827A (zh) * 2020-06-30 2020-10-20 北京字节跳动网络技术有限公司 一种弹幕的绘制方法、装置、设备和存储介质
CN112578897A (zh) * 2020-12-23 2021-03-30 北京字节跳动网络技术有限公司 电子设备的控制方法、装置、终端和存储介质
CN112835544A (zh) * 2021-02-04 2021-05-25 Oppo广东移动通信有限公司 显示方法及显示设备、电子设备、存储介质
CN114205673A (zh) * 2021-12-16 2022-03-18 荣耀终端有限公司 刷新率的设置方法及相关设备
CN114245208A (zh) * 2021-12-16 2022-03-25 荣耀终端有限公司 刷新率的设置方法及相关设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
The interface Affect of a Contact Zone: Danmaku on Video-Streaming Platforms;Li jinying;《ASIASCAPE: Digital Asia》;第4卷(第3期);全文 *
基于Android平台腾讯视频播放软件的设计与实现;王文帅;《中国优秀硕士学位论文全文数据库电子期刊》;全文 *
基于WebGL的Canvas元素2D绘制加速;谢贤博;聂芸;邓红艳;张宇;;软件(12);全文 *

Also Published As

Publication number Publication date
WO2023231655A9 (zh) 2024-05-10
CN116095382A (zh) 2023-05-09
CN117896590A (zh) 2024-04-16
WO2023231655A1 (zh) 2023-12-07

Similar Documents

Publication Publication Date Title
EP3951584A1 (en) Screen projection method, electronic device and screen projection system
CN116095382B (zh) 弹幕识别方法和相关装置
CN115473957B (zh) 一种图像处理方法和电子设备
EP4199523A1 (en) Multi-window screen projection method and electronic device
WO2022105445A1 (zh) 基于浏览器的应用投屏方法及相关装置
CN114040238B (zh) 一种显示多个窗口的方法及电子设备
US20230004259A1 (en) Card sharing method, electronic device, and communications system
CN112767231B (zh) 图层合成方法和设备
CN114461051B (zh) 帧率切换方法、装置及存储介质
CN116052618B (zh) 一种屏幕刷新率切换方法及电子设备
CN115686403A (zh) 显示参数的调整方法、电子设备、芯片及可读存储介质
CN116077940B (zh) 游戏应用中的绘图处理方法和相关装置
CN116755748B (zh) 卡片更新方法、电子设备以及计算机可读存储介质
CN116684521B (zh) 音频处理方法、设备及存储介质
CN116744106B (zh) 相机应用的控制方法和终端设备
CN116088944B (zh) 界面显示方法和装置
US20240111475A1 (en) Screen mirroring method, apparatus, device, and storage medium
WO2023124225A9 (zh) 帧率切换方法及装置
CN116414337A (zh) 帧率切换方法及装置
CN117991961A (zh) 数据处理方法、设备及存储介质
CN116414336A (zh) 帧率切换方法及装置
CN116700578A (zh) 图层合成方法、电子设备以及存储介质

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