Processing

Please wait...

Settings

Settings

Goto Application

1. WO2020107972 - VIDEO DECODING CONTROL METHOD AND APPARATUS, ELECTRONIC DEVICE, AND STORAGE MEDIUM

Document

说明书

发明名称 0001   0002   0003   0004   0005   0006   0007   0008   0009   0010   0011   0012   0013   0014   0015   0016   0017   0018   0019   0020   0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072   0073   0074   0075   0076   0077   0078   0079   0080   0081   0082   0083   0084   0085   0086   0087   0088   0089   0090   0091   0092   0093   0094   0095   0096   0097   0098   0099   0100   0101   0102   0103   0104   0105   0106   0107   0108   0109   0110   0111   0112   0113   0114   0115   0116   0117   0118   0119   0120   0121   0122   0123   0124   0125  

权利要求书

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17   18   19   20  

附图

1   2   3   4   5   6   7   8   9   10   11  

说明书

发明名称 : 视频解码控制方法、装置、电子设备及存储介质

[0001]
相关申请的交叉引用
[0002]
本申请要求于2018年11月27日提交的申请号为CN201811441950.2的中国申请的优先权,其在此出于所有目的通过引用将其全部内容并入本文。

技术领域

[0003]
本申请涉及图像处理技术领域,更具体地,涉及一种视频解码控制方法、装置、电子设备及存储介质。

背景技术

[0004]
带屏幕的电子设备应用随着社会的发展,其应用范围不断地扩大。例如,利用屏幕显示图片以及视频等图像。而大部分电子设备的显示质量会因为周围光源的变化,或者是所播放视频的片源质量问题而受到严重影响。
[0005]
发明内容
[0006]
鉴于上述问题,本申请提出了一种视频解码控制方法、装置、电子设备及存储介质,以改善上述问题。
[0007]
第一方面,本申请提供了一种视频解码控制方法,应用于电子设备,所述方法包括:当检测到多个应用程序以分屏模式运行后,检测所述多个应用程序中处于视频播放状态的应用程序;获取检测到的处于视频播放状态的应用程序作为待配置应用程序;配置以硬解码的方式解码所述待配置应用程序所播放的视频。
[0008]
第二方面,本申请提供了一种视频解码控制装置,运行于电子设备,所述装置包括:应用程序检测单元,用于当检测到多个应用程序以分屏模式运行后,检测所述多个应用程序中处于视频播放状态的应用程序;待配置程序获取单元,用于获取检测到的处于视频播放状态的应用程序作为待配置应用程序;解码控制单元,用于配置以硬解码的方式解码所述待配置应用程序所播放的视频。
[0009]
第三方面,本申请提供了一种电子设备,包括一个或多个处理器以及存储器;一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述的方法。
[0010]
第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码运行时执行上述的方法。

附图说明

[0011]
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0012]
图1示出了本申请实施例提出的一种视频处理架构示意图。
[0013]
图2示出了本申请实施例提出的一种视频解码控制方法的流程图。
[0014]
图3示出了本申请实施例提出的应用程序的开关控件示意图。
[0015]
图4示出了本申请实施例提出的视频播放界面的示意图。
[0016]
图5示出了本申请另一实施例提出的一种视频解码控制方法的流程图。
[0017]
图6示出了本申请再一实施例提出的一种视频解码控制方法的流程图。
[0018]
图7示出了本申请实施例提出的一种视频解码装置的结构框图。
[0019]
图8示出了本申请另一实施例提出的一种视频解码装置的结构框图。
[0020]
图9示出了本申请再一实施例提出的一种视频解码装置的结构框图。
[0021]
图10示出了本申请的用于执行根据本申请实施例的视频解码控制方法的电子设备的结构框图。
[0022]
图11是本申请实施例的用于保存或者携带实现根据本申请实施例的视频解码控制方法的程序代码的存储单元。

具体实施方式

[0023]
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0024]
随着电子设备的硬件性能的提升,更多的电子设备可以支持进行视频播放。例如,电子设备可以运行视频播放客户端,然后通过该视频播放客户端来对从网络请求的视频进行播放,或者可以通过运行网页浏览器,然后通过在网页浏览器中进行视频播放,再或者电子设备可以通过视频播放软件对本地存储的视频文件进行播放。
[0025]
而无论对于是在网络上传输播放的视频,还是在本地存储的视频,在视频被生成的时候,为了能够降低对存储空间的占用以及便于在网络上传输,都会对生成的视频进行压缩。那么相应的,电子设备在获取到视频时,先获取的到也会是压缩编码以后的视频,那么在这种情况下,电子设备会先对已经压缩编码的视频进行视频解码。
[0026]
通常,如图1所示,电子设备可以通过硬解码以及软解码两种方式来进行视频解码。其中,硬解码是指使用非CPU进行解码,如GPU(Graphics Processing Unit)、专用的DSP、FPGA、ASIC芯片等。而软解码是指使用CPU进行解码。
[0027]
具体地,如图1所示,MediaFramework(多媒体框架)通过与客户端或者网页浏览器的API接口获取待播放的视频文件,并交由Video Decode(视频解码器),其中,Media Framework(多媒体框架)为操作系统中多媒体框架。
[0028]
不论是硬解码还是软解码,在将视频数据解码之后,会将解码后的视频数据发送至SurfaceFlinger(图层传递模块),由SurfaceFlinger将解码后的视频数据渲染和合成之后,在屏幕上显示。其中,SurfaceFlinger是一个独立的Service,它接收所有的Surface作为输入,根据ZOrder、透明度、大小、位置等参数,计算出每个Surface在最终合成图像中的位置,然后交由HWComposer或OpenGL生成最终的显示Buffer,然后显示到特定的显示设备上。
[0029]
而发明人发现无论是在硬解码还是软解码过程中都可以加入视觉增强过程,从而使得后续所播放的视频有更高的视觉效果。例如,可以基于HQV(hollywood quality video)技术对视频进行边缘去燥、调节曝光度或者提升清晰度等。此外,还可以通过其他的方式来提升所播放视频的视觉体验,例如,提升颜色艳丽程度等。
[0030]
但是,发明人进一步的发现,对于是否对所播放的视频的解码方式的控制还有待提升。例如,对于不同视频的码率通常会有所区别,而电子设备在进行视频解码的过程中,通常不会考虑视频码率对于解码质量以及解码消耗的影响,使得电子设备在进行视频解码的过程中,不论何种码率的视频均是按照固定的解码方式进行。再例如,随着视频格式的增多,为了便于适配更多的视频格式,更多的应用程序都默认以软解码的方式进行视频解码。可以理解的是,软解码因为是通过软件的方式进行解码,所以能够适配所有的视频格式,而硬解码受限于电路本身的问题,是只能适配部分的视频格式。那么在更多的应用程序都配置通过软解码的方式进行视频解码的情况下,CPU的负担就会加重。因此,提出了本申请提供的可以提升控制便利性以及智能化的视频解码控制方法、装置、电子设备及存储介质。
[0031]
下面将结合具体实施例对本申请内容进行介绍。
[0032]
请参阅图2,本申请提供的一种视频解码控制方法,应用于电子设备,所述方法包括:
[0033]
步骤S110:当检测到多个应用程序以分屏模式运行后,检测所述多个应用程序中处于视频播放状态的应用程序。
[0034]
在本申请中,电子设备可以通过多种的方式来识别当前是否处于视频播放状态。
[0035]
作为一种方式,所述检测电子设备是否处于视频播放状态的步骤包括:检测所述电子设备中是否有设定的视频播放应用程序在运行;若检测到有设定的视频播放应用程序在运行,判定所述电子设备处于所述视频播放状态。其中,电子设备可以预先建立一个视频播放应用程序的名单,以便在该名单中记录视频播放应用程序。其中,该名单可以由电子设备的用户自由配置,也可以根据某个视频播放应用程序的使用情况来确定。
[0036]
例如,如图3所示,在图3所示的界面中显示有多个应用程序,以及每个应用程序对应的状态。可以理解的是,若应用程序对应的状态为图示的“关”,那么表示该应用程序移除或者不加入到上述名单中,若应用程序对应的状态为图示的“开”,那么表示该应用程序加入到上述名单中。例如,对于名称为“TX视频”的应用程序,其对应的状态为“开”,即表示“TX 视频”这个应用程序会存在于前述的名单中。而对于名称为“AQY视频”的应用程序,其对应的状态为“关”,那么表示“AQY视频”这个应用程序不会存在于前述的名单中。
[0037]
再者,电子设备可以检测每个视频播放应用程序的使用频率,若检测到某个视频播放程序的使用频率超过设定的频率,则可以将该视频播放应用程序添加到前述名单中,并对应的将该视频播放应用程序的名称在图3中所对应的状态配置为“开”。
[0038]
那么在这种情况下,电子设备可以先检测当前在前台运行的应用程序是哪个,然后再进一步的检测当前前台运行的应用程序是否在该名单中,若在,那么就判定该应用程序当前处于视频播放状态。其中,作为一种方式,若电子设备为Android操作系统,可以通过执行ActivityManager的getRunningTasks方法来获取到当前在前台运行的应用程序的名称。此外,电子设备还可以通过UsageStatsManager来获取用户使用的程序的列表,将该列表中记录的最近使用的应用程序识别为当前的前台应用。再者,还可以通过Android自带无障碍功能,监控窗口焦点的变化,拿到焦点窗口对应包名作为当前在前台运行的应用程序。
[0039]
作为另外一种方式,电子设备还可以结合检测AudioManager类的返回值来确定是否有视频在进行播放。在这种情况下,电子设备可以先检测AudioManager类的返回值来确定是否有音频输出,若在检测到有音频输出的情况下,再进一步的根据前述检测是否有视频播放应用程序运行来确定电子设备是否处于视频播放状态。
[0040]
再者,作为再一种方式,电子设备还可以通过检测视频播放按键的触控状态来检测是否处于视频播放状态。例如,如图4所示,在图4所示的视频播放界面99中显示有播放按键98,且图4中所示的界面为视频播放暂停的状态。那么在这种情况下,当检测到播放按键98被触控后,即可判定电子设备当前处于视频播放状态。
[0041]
步骤S120:获取检测到的处于视频播放状态的应用程序作为待配置应用程序。
[0042]
步骤S130:配置以硬解码的方式解码所述待配置应用程序所播放的视频。
[0043]
可以理解的是,需要的应用程序会配置一个默认的解码方式。当该应用程序在播放视频的过程中,会先按照该默认的解码方式对所播放的视频进行解码。那么在这种情况下,电子设备可以将待配置应用程序分为配置为默认进行软解码的应用程序以及没有配置默认解码方式的应用程序。其中,对于配置为默认进行软解码的应用程序,电子设备可以拦截其进行软解码的请求,而直接将该视频数据进行硬解码。
[0044]
作为一种方式,可以理解的是,在软解码的过程中都是操作系统控制CPU进行的数据处理,那么通常进行软解码的请求都是先发送给操作系统(也可以理解为电子设备),由操作系统来进行响应,对于一些应用程序在配置为进行软解码以后,会配置检测响应信息的机制。例如,应用程序可以配置检 测向操作系统发送软解码请求以后,操作系统是否返回成功进行软解码的响应信息。若判定未返回成功进行软解码的响应信息,会再次尝试发送进行软解码的请求。那么在这种情况下,电子设备已经拦截了原本的软解码请求,转而开始了硬解码,但是应用程序会误以为还未开始解码,进而不断的向操作系统发送进行软解码的请求,从而不仅可能会造成数据错误,还会造成资源浪费,也可能影响电子设备的性能。
[0045]
那么为了避免上述问题,对于配置为默认进行软解码的应用程序,电子设备除了直接拦截其发送的进行软解码的请求外,还会向其返回已经成功进行软解码的响应信息(虽然是进行的硬解码),从而使得其不会再次发送进行软解码的请求,以便避免造成数据错误,同时也降低功耗。
[0046]
本申请提供的一种视频解码控制方法,当检测到多个应用程序以分屏模式运行后,开始检测所述多个应用程序中处于视频播放状态的应用程序,然后获取检测到的处于视频播放状态的应用程序作为待配置应用程序,最终配置以硬解码的方式解码所述待配置应用程序所播放的视频。从而通过本方法实现了在多个应用程序处于分屏显示模式下,并且在多个应用程序中有多个应用程序均具备视频播放功能的情况下,会配置以硬解码的方式对处于视频播放状态的应用程序所播放的视频进行解码,进而降低CPU的负载率,进而使得CPU有更多的处理能力去处理其他的任务,降低电子设备处于卡顿的概率,从而提升用户体验。
[0047]
请参阅图5,本申请提供的一种视频解码控制方法,应用于电子设备,所述方法包括:
[0048]
步骤S210:当检测到多个应用程序以分屏模式运行后,检测所述多个应用程序中处于视频播放状态的应用程序。
[0049]
步骤S220:获取检测到的处于视频播放状态的应用程序作为待配置应用程序。
[0050]
步骤S230:获取所述电子设备的CPU的负载率。
[0051]
其中,需要说明的是,CPU的负载率通常指当前正在处理或者等待处理的任务数量的和与CPU最多能够同时处理的任务比。作为一种方式,电子设备可以直接将采集到的CPU实际的负载率作为步骤S230要获取的CPU的负载率。
[0052]
可以理解的是,电子设备中通常安装有多种应用程序,而不同的应用程序会对应有不同的任务需要处理,那么因为电子设备中的应用程序可能会在不同的时刻开始运行,那么电子设备的CPU的负载率会处于一个动态变化的情况。例如,在电子设备安装有应用程序A、应用程序B以及应用程序C的情况下,若当前只有应用程序A在运行,那么电子设备可以检测到CPU实际的负载率为30%,而当检测到应用程序B开始启动以后,可能就会检测到CPU实际的负载率已经到了40%,进一步的,若检测到应用程序C也开始运行,那么就可能检测到CPU实际的负载率已经到了50%。那么作为一种避免CPU负载率突然上升造成卡顿的实施方式,可以获取当前CPU实际的负载率,预估指定时长内新增的CPU负载率,基于所述新增的CPU负载率以及 所述当前的CPU实际的负载率,得到CPU的负载率。
[0053]
作为一种方式,所述预估指定时长内新增的CPU的负载率的步骤包括基于以下条件中的至少一种条件预估指定时长内新增的CPU负载:当前正在运行的应用程序所对应的历史CPU负载;在所述指定时长内历史运行过的应用程序对应的历史CPU负载。
[0054]
可以理解的是,虽然电子设备中的各个应用程序所占用的CPU负载是不同的,但是对于一些应用程序会在何种时刻启动,电子设备是可以进行一定程度的预估的。例如,电子设备可以对各个应用程序的运行时间进行统计,然后统计得到某个应用程序的常用运行时间段,进而可以推断在每天的哪个时刻该应用程序会被启动运行,那么基于该方式就可以提前预计到在一个时间段内,会不会有应用程序启动。
[0055]
可以理解的是,对于一些应用程序通常会在设定时刻开始进行信息更新或者,在设定时刻向网络请求数据。例如,对于浏览器类的应用程序,对于一些网页数据,即使在浏览器的用户操作界面没有启动的情况下,依然可以在后台运行,以便当用户触发显示用户操作界面以后可以快速的展示给用户。而可以理解的是,当浏览器类的应用程序在后台进行更新或者请求网络数据的过程中,必然会占用CPU的负载,提升CPU的负载率。
[0056]
此外,除了应用程序外,电子设备的系统程序也会定时启动进行数据处理。电子设备的系统程序虽然没有对应的用户操作界面,但是依然会在设定时间段启动以处理电子设备的后台数据。相应的,电子设备的系统程序在运行的过程中也会占用CPU的负载,提升CPU的负载率。
[0057]
那么作为一种方式,电子设备可以配置一个数据表以存储统计得到的应用程序或者系统程序的运行周期。那么在电子设备开始播放视频,处于视频播放状态以后,可以检测在指定时长内是否会有应用程序或者系统程序启动,进而预估指定时长内新增的CPU负载率。
[0058]
其中,可选的,前述的指定时长可以为所播放视频的长度。在这种情况下,电子设备在检测到处于视频播放状态以后,可以获取到所播放视频的长度,将获取的该长度作为指定时长,然后再进一步的判断在该指定时长内是否会有应用程序或者系统程序启动,进而预估指定时长内新增的CPU负载率,然后通过预估的新增的CPU负载率来确定在该视频播放过程中的最高CPU负载率,进而将获取到的最高CPU负载率作为CPU的负载率。
[0059]
步骤S240:判断所述CPU的负载率是否不低于目标阈值。
[0060]
步骤S250:若判定CPU的负载率不低于目标阈值,配置以硬解码的方式解码所述待配置应用程序所播放的视频。
[0061]
步骤S251:若判定CPU的负载率低于目标阈值,检测待配置应用程序所播放视频的格式是否适配硬解码。
[0062]
其中,作为一种方式,电子设备可以预先配置一个数据表,用于存储视频格式与解码方式的对应关系,以便记录每个视频格式所对应的解码方式。那么在这种情况下,电子设备可以基于查表的方式来确定待配置应用程序所播放视频的格式是否适配硬解码。
[0063]
作为另外一种方式,电子设备可以分别对所播放的视频进行一次软解码以及硬解码,然后通过比对硬解码和软解码所得到的视频图像的质量来判定待配置应用程序所播放视频的格式是否适配硬解码。其中,进行一次软解码以及硬解码可以理解为解码出一帧图像。而其中可以通过分辨率以及噪声来确定质量高低。
[0064]
可选的,电子设备可以通过多种方式来获取到所解析出来的图像的分辨率。
[0065]
可以理解的是,如果一幅图像已经模糊了,那么再对它进行一次模糊处理,图像中的高频分量变化不会太大。但如果图像本身的清晰度较高,对它进行一次模糊处理,则高频分量变化会非常大。那么作为一种方式,电子设备可以通过将目标图像(前述的解析出的一帧图像)进行一次模糊处理(例如,高斯模糊处理),得到该图像的退化图像,然后再比对模糊处理之前的图像和模糊处理之后的图像相邻像素值的变化情况,根据变化的大小确定清晰度值的高低,然后将确定的清晰度作为分辨率。那么在这种情况下,变化越大,则目标图像的清晰度越高,分辨率也就越高。
[0066]
此外,除了上述的通过将目标图像进行模糊处理后,来确定目标图像的清晰度外,还可以采用其他的方式来计算清晰度。可选的,可以通过下述的计算公式
[0067]
D(f)=∑ yx|f(x+2,y)-f(x,y)| 2
[0068]
来确定清晰度。其中,f(x,y)表示图像f对应像素点(x,y)的灰度值,D(f)为图像清晰度计算结果,然后将该结果作为分辨率。可选的,在本申请中,f(x,y)可以选择实时预览图像中高频分量区域。
[0069]
可选的,若当前所播放的视频提供了多种分辨率供用户选择,那么可以通过读取用户所选择的进行视频播放的分辨率,从而得到当前视频的分辨率。
[0070]
那么电子设备可以通过比对硬解码和软解码的得到的图像的分辨率,将分辨率高的作为质量更佳的图像。
[0071]
再者,除了可以通过分辨率外,还可以通过判断噪点的数量来判断。
[0072]
再者,可以理解的是,如果图像中存在噪点,那么噪点可能存在于图像中的边缘区域(高频分量区域)或者边缘以外的区域,但是因为沿边缘的噪点视觉上不明显,作为一种方式,为了缩短评估时间,移动终端可以只检测边缘之外的噪点。边缘检测会被噪点影响,因此在检测边缘之前移动终端可以做一个噪点滤波的预处理。可以选的,移动终端可以采用均值滤波来消除部分噪点,均值滤波之后的图像g(x,y)为:
[0073]
[0074]
那么对应的,候选的噪点为:
[0075]
D h(x,y)=|g(x,y+1)-g(x,y-1)|.
[0076]
[0077]
同理可以在垂直方向计算对应的值。然后得到候选的噪点是:
[0078]
[0079]
那么N cand(x,y)表示检测到的噪点。经过统计后,可以得到实时预览图像中的噪点的数量。
[0080]
那么在这种情况下,电子设备会将噪点数量少的一个图像作为质量更佳的图像。
[0081]
步骤S260:获取第一目标应用程序,所述第一目标应用程序为待配置应用程序中,所播放的视频的格式适配硬解码的应用程序。
[0082]
步骤S270:配置以硬解码的方式解码所述第一目标应用程序所播放的视频。
[0083]
步骤S280:获取第二目标应用程序,所述第二目标应用程为待配置应用程序中,所播放的视频的格式不适配硬解码的应用程序。
[0084]
步骤S290:配置以软解码的方式解码所述第二目标应用程序所播放的视频。
[0085]
本申请提供的一种视频解码控制方法,当检测到多个应用程序以分屏模式运行后,开始检测所述多个应用程序中处于视频播放状态的应用程序,然后获取检测到的处于视频播放状态的应用程序作为待配置应用程序,然后会根据电子设备的CPU的负载率的情况来确定对哪些应用程序所播放的视频进行硬解码,而对哪些应用程序所播放的视频进行软解码。从而通过本方法实现了在多个应用程序处于分屏显示模式下,并且在多个应用程序中有多个应用程序均具备视频播放功能的情况下,会配置以硬解码的方式对处于视频播放状态的应用程序所播放的视频进行解码,进而降低CPU的负载率,进而使得CPU有更多的处理能力去处理其他的任务,降低电子设备处于卡顿的概率,从而提升用户体验,同时也提升了解码方法控制的灵活性。
[0086]
请参阅图6,本申请提供的一种视频解码控制方法,应用于电子设备,所述方法包括:
[0087]
步骤S310:当检测到多个应用程序以分屏模式运行后,检测所述多个应用程序中处于视频播放状态的应用程序。
[0088]
步骤S320:获取检测到的处于视频播放状态的应用程序作为待配置应用程序。
[0089]
步骤S330:获取检测到的待配置应用程序各自对应的等级。
[0090]
作为一种方式,所述获取检测到的待配置应用程序各自对应的等级的步 骤包括:从设定的数据表中查找与检测到的待配置应用程序各自对应的等级;若在所述数据表中未查找到待配置应用程序所对应的等级,获取所述数据表中与所述未查找到等级的应用程序同类的应用程序;将所述同类的应用程序的等级作为未查找到待配置应用程序所对应的等级。
[0091]
可以理解的是,电子设备可以在检测到有应用程序安装以后,就给所安装的应用程序分配一个等级。其中该等级的高低可以根据该应用程序的主要功能来确定。在本申请实施例中,作为一种方式,可以将专门用于视频播放的应用程序的等级配置为最高,然后将具备视频播放功能的应用程序,但是其主要功能不是进行视频播放的应用程序的等级配置为次高。
[0092]
步骤S340:配置以硬解码的方式解码所述处于视频播放状态,且等级高于阈值等级的应用程序所播放的视频。
[0093]
本申请提供的一种视频解码控制方法,当检测到多个应用程序以分屏模式运行后,开始检测所述多个应用程序中处于视频播放状态的应用程序,然后获取检测到的处于视频播放状态的应用程序作为待配置应用程序,再检测各个待配置的应用程序的等级,获取等级高于阈值等级的应用程序,最终配置以硬解码的方式解码所述待配置应用程序中等级高于阈值等级的应用程序所播放的视频。从而通过本方法实现了在多个应用程序处于分屏显示模式下,并且在多个应用程序中有多个应用程序均具备视频播放功能的情况下,会配置以硬解码的方式对处于视频播放状态的应用程序所播放的视频进行解码,进而降低CPU的负载率,进而使得CPU有更多的处理能力去处理其他的任务,降低电子设备处于卡顿的概率,从而提升用户体验。
[0094]
请参阅图7,本申请提供的一种视频解码控制装置400,运行于电子设备,所述装置400包括:应用程序检测单元410、待配置程序获取单元420以及解码控制单元430。
[0095]
应用程序检测单元410,用于当检测到多个应用程序以分屏模式运行后,检测所述多个应用程序中处于视频播放状态的应用程序。
[0096]
待配置程序获取单元420,用于获取检测到的处于视频播放状态的应用程序作为待配置应用程序。
[0097]
解码控制单元430,用于配置以硬解码的方式解码所述待配置应用程序所播放的视频。
[0098]
可以理解的是,需要的应用程序会配置一个默认的解码方式。当该应用程序在播放视频的过程中,会先按照该默认的解码方式对所播放的视频进行解码。那么在这种情况下,电子设备可以将待配置应用程序分为默认进行软解码的应用程序以及没有配置默认解码方式的应用程序。其中,解码控制单元430,具体用于对于配置为默认进行软解码的应用程序,电子设备可以拦截其进行软解码的请求,而直接将该视频数据进行硬解码。
[0099]
请参阅图8,本申请提供的一种视频解码控制装置500,运行于电子设备,所述装置500包括:应用程序检测单元510、待配置程序获取单元520、负载率获取单元530、判断单元540以及解码控制单元550。
[0100]
应用程序检测单元510,用于当检测到多个应用程序以分屏模式运行后, 检测所述多个应用程序中处于视频播放状态的应用程序。
[0101]
待配置程序获取单元520,用于获取检测到的处于视频播放状态的应用程序作为待配置应用程序。
[0102]
负载率获取单元530,用于获取所述电子设备的CPU的负载率。
[0103]
判断单元540,用于判断所述CPU的负载率是否不低于目标阈值。
[0104]
解码控制单元550,用于若判定CPU的负载率不低于目标阈值,配置以硬解码的方式解码所述待配置应用程序所播放的视频。
[0105]
格式判断单元,用于若判定CPU的负载率低于目标阈值,检测待配置应用程序所播放视频的格式是否适配硬解码。
[0106]
解码控制单元550,还用于获取第一目标应用程序,所述第一目标应用程序为待配置应用程序中,所播放的视频的格式适配硬解码的应用程序;配置以硬解码的方式解码所述第一目标应用程序所播放的视频。
[0107]
解码控制单元550,还用于获取第二目标应用程序,所述第二目标应用程为待配置应用程序中,所播放的视频的格式不适配硬解码的应用程序;配置以软解码的方式解码所述第二目标应用程序所播放的视频。
[0108]
请参阅图9,本申请提供的一种视频解码控制装置600,运行于电子设备,所述装置600包括:应用程序检测单元610、待配置程序获取单元620、等级获取单元630以及解码控制单元640。
[0109]
应用程序检测单元610,用于当检测到多个应用程序以分屏模式运行后,检测所述多个应用程序中处于视频播放状态的应用程序。
[0110]
待配置程序获取单元620,用于获取检测到的处于视频播放状态的应用程序作为待配置应用程序。
[0111]
等级获取单元630,用于获取检测到的待配置应用程序各自对应的等级。
[0112]
作为一种方式,所述获取检测到的待配置应用程序各自对应的等级的步骤包括:从设定的数据表中查找与检测到的待配置应用程序各自对应的等级;若在所述数据表中未查找到待配置应用程序所对应的等级,获取所述数据表中与所述未查找到等级的应用程序同类的应用程序;将所述同类的应用程序的等级作为未查找到待配置应用程序所对应的等级。
[0113]
解码控制单元640,用于配置以硬解码的方式解码所述处于视频播放状态,且等级高于阈值等级的应用程序所播放的视频。
[0114]
需要说明的是,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
[0115]
需要说明的是,本申请中具体如何根据音频编码类型对音频数据进行编码是可以采用现有的技术,本申请就不再细述。
[0116]
综上所述,本申请提供的一种视频解码控制方法、装置、电子设备及存储 介质,当检测到多个应用程序以分屏模式运行后,开始检测所述多个应用程序中处于视频播放状态的应用程序,然后获取检测到的处于视频播放状态的应用程序作为待配置应用程序,最终配置以硬解码的方式解码所述待配置应用程序所播放的视频。从而通过本方法实现了在多个应用程序处于分屏显示模式下,并且在多个应用程序中有多个应用程序均具备视频播放功能的情况下,会配置以硬解码的方式对处于视频播放状态的应用程序所播放的视频进行解码,进而降低CPU的负载率,进而使得CPU有更多的处理能力去处理其他的任务,降低电子设备处于卡顿的概率,从而提升用户体验。
[0117]
下面将结合图10对本申请提供的一种电子设备进行说明。
[0118]
请参阅图10,基于上述的视频解码控制方法、装置,本申请实施例还提供的另一种可以执行前述视频解码控制方法的电子设备100。电子设备100包括相互耦合的一个或多个(图中仅示出一个)处理器102、存储器104、网络模块106、视频编解码器108以及屏幕112。其中,该存储器104中存储有可以执行前述实施例中内容的程序,而处理器102可以执行该存储器104中存储的程序。
[0119]
其中,处理器102可以包括一个或者多个处理核。处理器102利用各种接口和线路连接整个电子设备100内的各个部分,通过运行或执行存储在存储器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中,单独通过一块通信芯片进行实现。
[0120]
存储器104可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器104可用于存储指令、程序、代码、代码集或指令集。存储器104可包括存储程序区和存储数据区,例如,存储器104中可以存储有视频解码控制装置。该视频解码控制装置可以为前述的装置400、装置500或者装置600。其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储终端100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
[0121]
所述网络模块106用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯,例如和无线接入点进行通讯。所述网络模块106可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(SIM)卡、存储器等等。所述网络模块106可与各种网络如互联网、企业内部网、无线网 络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。
[0122]
该视频编解码器108可以用于对网络模块106从网络请求的数据进行解码,以便传输到屏幕112进行显示。具体的,视频编解码器108可以为GPU、专用的DSP、FPGA、ASIC芯片等。
[0123]
请参考图11,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质800中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
[0124]
计算机可读存储介质800可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质800包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质800具有执行上述方法中的任何方法步骤的程序代码810的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码810可以例如以适当形式进行压缩。
[0125]
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

权利要求书

[权利要求 1]
一种视频解码控制方法,其特征在于,应用于电子设备,所述方法包括: 当检测到多个应用程序以分屏模式运行后,检测所述多个应用程序中处于视频播放状态的应用程序; 获取检测到的处于视频播放状态的应用程序作为待配置应用程序; 配置以硬解码的方式解码所述待配置应用程序所播放的视频。
[权利要求 2]
根据权利要求1所述的方法,其特征在于,所述配置以硬解码的方式解码所述待配置应用程序所播放的视频的步骤之前还包括: 获取所述电子设备的CPU的负载率; 判断所述CPU的负载率是否不低于目标阈值; 若判定CPU的负载率不低于目标阈值,执行所述配置以硬解码的方式解码所述待配置应用程序所播放的视频。
[权利要求 3]
根据权利要求2所述的方法,其特征在于,所述获取所述电子设备的CPU的负载率的步骤包括: 获取所述电子设备的CPU实际的负载率; 基于所述电子设备当前处于运行状态的应用程序,预估指定时长内新增的CPU的负载率; 基于所述CPU实际的负载率以及所述新增的CPU的负载率,得到所述CPU的负载率。
[权利要求 4]
根据权利要求3所述的方法,其特征在于,所述预估指定时长内新增的CPU的负载率的步骤包括基于以下条件中的至少一种条件预估指定时长内新增的CPU负载: 当前正在运行的应用程序所对应的历史CPU负载; 在所述指定时长内历史运行过的应用程序对应的历史CPU负载。
[权利要求 5]
根据权利要求2所述的方法,其特征在于,所述方法还包括: 若判定CPU的负载率低于目标阈值,检测待配置应用程序所播放视频的格式是否适配硬解码; 获取第一目标应用程序,所述第一目标应用程序为待配置应用程序中,所播放的视频的格式适配硬解码的应用程序; 配置以硬解码的方式解码所述第一目标应用程序所播放的视频。
[权利要求 6]
根据权利要求5所述的方法,其特征在于,所述检测待配置应用程序所播放视频的格式是否适配硬解码的步骤包括: 获取所述待配置应用程序所播放视频的格式; 查找预先配置的数据表中与所述所播放视频的格式对应的解码方式,所述数据表中存储有视频格式与解码方式的对应关系; 根据查找结果确定所述所播放视频的格式是否适配硬解码。
[权利要求 7]
根据权利要求5所述的方法,其特征在于,所述检测待配置应用程序所播放视频的格式是否适配硬解码的步骤包括: 对所述待配置应用程序所播放视频分别进行一次软解码以及硬解码; 通过比对软解码以及硬解码所得到的视频图像的质量,判定所述待配置应用程序所播放视频的格式是否适配硬解码,所述图像的质量通过分辨率以及噪声确定。
[权利要求 8]
根据权利要求5-7任一所述的方法,其特征在于,所述方法还包括: 获取第二目标应用程序,所述第二目标应用程为待配置应用程序中,所播放的视频的格式不适配硬解码的应用程序; 配置以软解码的方式解码所述第二目标应用程序所播放的视频。
[权利要求 9]
根据权利要求1-8任一所述的方法,其特征在于,所述配置以硬解码的方式解码所述待配置应用程序所播放的视频的步骤包括: 获取检测到的待配置应用程序各自对应的等级; 配置以硬解码的方式解码所述待配置应用程序中等级高于阈值等级的应用程序所播放的视频。
[权利要求 10]
根据权利要求1-9任一所述的方法,其特征在于,所述获取检测到的待配置应用程序各自对应的等级的步骤包括: 从设定的数据表中查找与检测到的待配置应用程序各自对应的等级; 若在所述数据表中未查找到待配置应用程序所对应的等级,获取所述数据表中与所述未查找到等级的应用程序同类的应用程序; 将所述同类的应用程序的等级作为未查找到待配置应用程序所对应的等级。
[权利要求 11]
根据权利要求1-8任一所述的方法,其特征在于,所述待配置应用程序包括配置为默认进行软解码的应用程序,所述配置以硬解码的方式解码所述待配置应用程序所播放的视频的步骤包括: 拦截进行软解码的请求,将所述待配置应用程序所播放的视频数据进行硬解码。
[权利要求 12]
根据权利要求1-11任一所述的方法,其特征在于,所述检测所述多个应用程序中处于视频播放状态的应用程序的步骤包括: 检测是否处于视频播放状态; 若是,检测所述多个应用程序中处于视频播放状态的应用程序。
[权利要求 13]
根据权利要求1-12任一所述的方法,其特征在于,所述检测是否处于视频播放状态的步骤包括: 检测是否有设定的视频播放应用程序在运行; 若检测到有设定的视频播放应用程序在运行,判定处于视频播放状态。
[权利要求 14]
根据权利要求1-12任一所述的方法,其特征在于,所述检测是否处于视频播放状态的步骤包括: 获取当前在前台运行的应用程序; 检测所述应用程序是否在预先建立的视频播放应用程序的名单内; 若是,判定处于视频播放状态。
[权利要求 15]
根据权利要求14所述的方法,其特征在于,所述获取当前在前台运行的应用程序的步骤包括: 获取用户使用的应用程序的列表; 将所述列表中记录的最近使用的应用程序识别为当前在前台运行的应用程序。
[权利要求 16]
根据权利要求14所述的方法,其特征在于,所述检测所述应用程序是否在预先建立的视频播放应用程序的名单内的步骤包括: 检测所述应用程序的使用频率; 若所述使用频率超过设定的频率,判定所述应用程序在预先建立的视频播放应用程序的名单内。
[权利要求 17]
根据权利要求1-12任一所述的方法,其特征在于,所述检测是否处于视频播放状态的步骤包括: 检测是否有音频输出; 若有,检测是否有视频播放应用程序运行; 若是,判定处于视频播放状态。
[权利要求 18]
一种视频解码控制装置,其特征在于,运行于电子设备,所述装置包括: 应用程序检测单元,用于当检测到多个应用程序以分屏模式运行后,检测所述多个应用程序中处于视频播放状态的应用程序; 待配置程序获取单元,用于获取检测到的处于视频播放状态的应用程序作为待配置应用程序; 解码控制单元,用于配置以硬解码的方式解码所述待配置应用程序所播放的视频。
[权利要求 19]
一种电子设备,其特征在于,包括一个或多个处理器、视频编解码器以及存储器; 一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行权利要求1-17任一所述的方法。
[权利要求 20]
一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码被处理器运行时执行权利要求1-17任一所述的方法。

附图

[ 图 1]  
[ 图 2]  
[ 图 3]  
[ 图 4]  
[ 图 5]  
[ 图 6]  
[ 图 7]  
[ 图 8]  
[ 图 9]  
[ 图 10]  
[ 图 11]