CN109640094B - 视频解码方法、装置以及电子设备 - Google Patents
视频解码方法、装置以及电子设备 Download PDFInfo
- Publication number
- CN109640094B CN109640094B CN201811427992.0A CN201811427992A CN109640094B CN 109640094 B CN109640094 B CN 109640094B CN 201811427992 A CN201811427992 A CN 201811427992A CN 109640094 B CN109640094 B CN 109640094B
- Authority
- CN
- China
- Prior art keywords
- video
- cpu
- code rate
- load
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请实施例公开了一种视频解码方法、装置以及电子设备。所述方法包括:当检测到处于视频播放状态以后,获取所播放视频的码率;检测所述码率是否满足目标条件;若检测到所述码率满足所述目标条件,采用软解码的方式对所播放的视频进行解码。本方法从而通过本方法实现了可以根据所播放的视频的码率来确定解码方式,可以将所播放视频的码率与目标条件进行比对,而在码率满足目标条件的情况下采用软解码的方式进行视频解码,从而提升了解码方式确定的灵活性,同时也提升了视频解码过程中的解码质量。
Description
技术领域
本申请涉及图像处理技术领域,更具体地,涉及一种视频解码方法、装置以及电子设备。
背景技术
带屏幕的电子设备应用随着社会的发展,其应用范围不断地扩大。例如,利于屏幕显示图片以及视频等图像。而大部分电子设备的显示质量会因为周围光源的变化,或者是所播放视频的片源质量问题而受到严重影响。
发明内容
鉴于上述问题,本申请提出了一种视频解码方法、装置以及电子设备,以改善上述问题。
第一方面,本申请提供了一种视频解码方法,应用于电子设备,所述方法包括:当检测到处于视频播放状态以后,获取所播放视频的码率;检测所述码率是否满足目标条件;若检测到所述码率满足所述目标条件,采用软解码的方式对所播放的视频进行解码。
第二方面,本申请提供了一种视频解码装置,运行于电子设备,所述装置包括:码率检测单元,用于当检测到处于视频播放状态以后,获取所播放视频的码率;码率判断单元,用于检测所述码率是否满足目标条件;解码方式控制单元,用于若检测到所述码率满足所述目标条件,采用软解码的方式对所播放的视频进行解码。
第三方面,本申请提供了一种电子设备,包括一个或多个处理器以及存储器;一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述的方法。
第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码运行时执行上述的方法。
本申请提供的一种视频解码方法、装置以及电子设备,当检测到处于视频播放状态以后,获取所播放视频的码率;检测所述码率是否满足目标条件;若检测到所述码率满足所述目标条件,采用软解码的方式对所播放的视频进行解码。从而通过本方法实现了可以根据所播放的视频的码率来确定解码方式,可以将所播放视频的码率与目标条件进行比对,而在码率满足目标条件的情况下采用软解码的方式进行视频解码,从而提升了解码方式确定的灵活性,同时也提升了视频解码过程中的解码质量。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请实施例提出的一种视频处理架构示意图;
图2示出了本申请实施例提出的一种视频解码方法的流程图;
图3示出了本申请实施例提出的应用程序的开关控件示意图;
图4示出了本申请实施例提出的视频播放界面的示意图;
图5示出了本申请另一实施例提出的一种视频解码方法的流程图;
图6示出了本申请再一实施例提出的一种视频解码方法的流程图;
图7示出了本申请实施例提出的一种视频增强控制装置的结构框图;
图8示出了本申请另一实施例提出的一种视频增强控制装置的结构框图;
图9示出了本申请再一实施例提出的一种视频增强控制装置的结构框图;
图10示出了本申请的用于执行根据本申请实施例的视频解码方法的电子设备的结构框图。
图11是本申请实施例的用于保存或者携带实现根据本申请实施例的图像处理方法的程序代码的存储单元。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
随着电子设备的硬件性能的提升,更多的电子设备可以支持进行视频播放。例如,电子设备可以运行视频播放客户端,然后通过该视频播放客户端来对从网络请求的视频进行播放,或者可以通过运行网页浏览器,然后通过在网页浏览器中进行视频播放,再或者电子设备可以通过视频播放软件对本地存储的视频文件进行播放。
而无论对于是在网络上传输播放的视频,还是在本地存储的视频,在视频的被生成的时候,为了能够降低对存储空间的占用以及便于在网络上传输,都会对生成的视频进行压缩。那么相应的,电子设备在获取到视频时,先获取的到也会是压缩编码以后的视频,那么在这种情况下,电子设备会先对已经压缩编码的视频进行视频解码。
通常,如图1所示,电子设备可以通过硬解码以及软解码两种方式来进行视频解码。其中,硬解码是指使用非CPU进行解码,如GPU(Graphics Processing Unit)、专用的DSP、FPGA、ASIC芯片等。而软解码是指使用CPU进行解码。
具体地,如图1所示,MediaFramework(多媒体框架)通过与客户端或者网页浏览器的API接口获取待播放的视频文件,并交由Video Decode(视频解码器),其中,MediaFramework(多媒体框架)为操作系统中多媒体框架。
不论是硬解码还是软解码,在将视频数据解码之后,会将解码后的视频数据发送至SurfaceFlinger(图层传递模块),由SurfaceFlinger将解码后的视频数据渲染和合成之后,在屏幕上显示。其中,SurfaceFlinger是一个独立的Service,它接收所有的Surface作为输入,根据ZOrder、透明度、大小、位置等参数,计算出每个Surface在最终合成图像中的位置,然后交由HWComposer或OpenGL生成最终的显示Buffer,然后显示到特定的显示设备上。
而发明人发现无论是在硬解码还是软解码过程中都可以加入视觉增强过程,从而使得后续所播放的视频有更高的视觉效果。例如,可以基于HQV(hollywood qualityvideo)技术对视频进行边缘去燥、调节曝光度或者提升清晰度等。此外,还可以通过其他的方式来提升所播放视频的视觉体验,例如,提升颜色艳丽程度等。
但是,发明人进一步的发现,对于是否对所播放的视频进行视觉增强的控制方式还有待提升。例如,对于不同视频的码率通常会有所区别,而电子设备在进行视频解码的过程中,通常不会考虑视频码率对于解码质量以及解码消耗的影响,使得电子设备在进行视频解码的过程中,不论何种码率的视频均是按照固定的解码方式进行。因此,提出了本申请提供的可以提升控制便利性以及智能化的视频解码方法、装置以及电子设备。
下面将结合具体实施例对本申请内容进行介绍。
请参阅图2,本申请提供的一种视频解码方法,应用于电子设备,所述方法包括:
步骤S110:当检测到处于视频播放状态以后,获取所播放视频的码率。
在本申请中,电子设备可以通过多种的方式来识别当前是否处于视频播放状态。
作为一种方式,所述检测电子设备是否处于视频播放状态的步骤包括:检测所述电子设备中是否有设定的视频播放应用程序在运行;若检测到有设定的视频播放应用程序在运行,判定所述电子设备处于所述视频播放状态。其中,电子设备可以预先建立一个视频播放应用程序的名单,以便在该名单中记录视频播放应用程序。其中,该名单可以由电子设备的用户自由配置,也可以根据某个视频播放应用程序的使用情况来确定。
例如,如图3所示,在图3所示的界面中显示有多个应用程序,以及每个应用程序对应的状态。可以理解的是,若应用程序对应的状态为图示的“关”,那么表示该应用程序移除或者不加入到上述名单中,若应用程序对应的状态为图示的“开”,那么表示该应用程序加入到上述名单中。例如,对于名称为“TX视频”的应用程序,其对应的状态为“开”,即表示“TX视频”这个应用程序会存在于前述的名单中。而对于名称为“AQY视频”的应用程序,其对应的状态为“关”,那么表示“AQY视频”这个应用程序不会存在于前述的名单中。
再者,电子设备可以检测每个视频播放应用程序的使用频率,若检测到某个视频播放程序的使用频率超过设定的频率,则可以将该视频播放应用程序添加到前述名单中,并对应的将该视频播放应用程序的名称在图3中所对应的状态配置为“开”。
那么在这种情况下,电子设备可以先检测当前在前台运行的应用程序是哪个,然后再进一步的检测当前前台运行的应用程序是否在该名单中,若在,那么就判定当前处于视频播放状态。其中,作为一种方式,若电子设备为Android操作系统,可以通过执行ActivityManager的getRunningTasks方法来获取到当前在前台运行的应用程序的名称。此外,电子设备还可以通过UsageStatsManager来获取用户使用的程序的列表,将该列表中记录的最近使用的应用程序识别为当前的前台应用。再者,还可以通过Android自带无障碍功能,监控窗口焦点的变化,拿到焦点窗口对应包名作为当期在前台运行的应用程序。
作为另外一种方式,电子设备还可以结合检测AudioManager类的返回值来确定是否有视频在进行播放。在这种情况下,电子设备可以先检测AudioManager类的返回值来确定是否有音频输出,若在检测到有音频输出的情况下,再进一步的根据前述检测是否有视频播放应用程序运行来确定电子设备是否处于视频播放状态。
再者,作为再一种方式,电子设备还可以通过检测视频播放按键的触控状态来检测是否处于视频播放状态。例如,如图4所示,在图4所示的视频播放界面99中显示有播放按键98,且图4中所示的界面为视频播放暂停的状态。那么在这种情况下,当检测到播放按键98被触控后,即可判定电子设备当前处于视频播放状态。
在本申请中,电子设备有多种方式可以获取到所播放视频的码率。作为一种方式,电子设备可以通过对所播放的视频的画面进行图像识别的方式获取到所播放视频的码率。例如,电子设备可以从所播放的视频中获取一帧图像,然后对该图像进行识别,进而获取到该一帧图像的码率,将该码率作为当前所播放视频的码率。
再者,通常在所播放的视频中可以分成多个部分。例如,对于一些网络视频通常包括广告部分以及视频内容部分。而其中的视频内容部分为表征视频所要表达的内容的部分。例如,对于一些电视剧类型的视频,电视剧类型的视频通常在前面部分会包括有片头广告。那么如果电子设备在采集某一帧图像所采集到为片头广告部分,那么就会造成所获取的图像与视频内容部分无关,进而无法准确获取到所播放视频的码率。
那么作为一种方式,电子设备可以在检测到处于视频播放状态以后,根据所播放视频的时长长度,直接获取所播放视频的中间部分的图像。其中,该中间部分为整个视频时间长度中间的部分。例如,如果所播放视频的整个时间长度为60分钟,那么中间部分为第30分钟的部分。而作为另外一种方式,如果所播放的视频是可以识别片头以及视频内容部分的,那么电子设备可以在检测到播放视频内容部分的过程中获取某一帧图像来检测码率。
而作为再一种方式,电子设备可以在检测到当前所播放的视频已经播放指定时长后,获取该指定时长以后的视频内容中的某一帧图像来检测码率。可以理解的是,视频的片头广告通常会在60秒到80秒,那么电子设备可以根据统计得到的片头广告的时长来作为指定时长。
此外,电子设备除了可以通过直接检测所播放的视频来获取分辨码率外,还可以通过码率选择控件来获取。可以理解的是,在所播放的视频支持多种等级码率的情况下,用户可以操作码率选择控件来选择自己需要的码率。例如,在播放的视频支持超清、高清以及标清的情况下,用户可以通过码率选择控件选择视频以超清的码率进行播放,那么在用户选择了超清以后,电子设备可以在本地存储该选择的结果,那么电子设备可以通过读取该选择的结果,来确定当前所播放视频的码率。
作为一种方式,可以在获取所播放的视频的码率的过程中,既直接通过检测所播放的视频的某一帧图像的码率来作为第一待对比码率,而也获取存储在本地的表征用户所选择的码率的结果来作为第二待对比码率,进而将该第一待对比码率与第二待对比码率进行比对,在比对第一待对比码率和第二待对比码率相同的情况下,将第一待对比码率和第二待对比码率中的任意一个作为所播放视频对应的码率。而在第一待对比码率和第二待对比码率不相同的情况下,将第一待对比码率作为所播放视频对应的码率。
步骤S120:检测所述码率是否满足目标条件。
步骤S130:若检测到所述码率满足所述目标条件,采用软解码的方式对所播放的视频进行解码。
步骤S140:若检测到所述码率不满足所述目标条件,采用硬解码的方式对所播放的视频进行解码。
本申请提供的一种视频解码方法,当检测到处于视频播放状态以后,获取所播放视频的码率;检测所述码率是否满足目标条件;若检测到所述码率满足所述目标条件,采用软解码的方式对所播放的视频进行解码。从而通过本方法实现了可以根据所播放的视频的码率来确定解码方式,可以将所播放视频的码率与目标条件进行比对,而在码率满足目标条件的情况下采用软解码的方式进行视频解码,从而提升了解码方式确定的灵活性,同时也提升了视频解码过程中的解码质量。
请参阅图5,本申请提供的一种视频解码方法,应用于电子设备,所述方法包括:
步骤S210:当检测到处于视频播放状态以后,获取所播放视频的码率。
步骤S220:检测所述码率是否满足目标条件。
作为一种方式,所述目标条件包括:视频的码率低于目标值。而作为另外一种方式,所述目标条件包括视频的码率在设定目标区间段内。而不论是前述的目标值还是目标区间段,都可以由用户自由配置,也可以由电子设备自动的配置。
步骤S230:若检测到所述码率满足所述目标条件,获取CPU的目标负载率。
其中,需要说明的是,CPU的负载率通常指当前正在处理或者等待处理的任务数量的和与CPU最多能够同时处理的任务比。作为一种方式,电子设备可以直接将采集到的CPU的负载率作为目标负载率。
可以理解的是,电子设备中通常安装有多种应用程序,而不同的应用程序会对应有不同的任务需要处理,那么因为电子设备中的应用程序可能会在不同的时刻开始运行,那么电子设备的CPU的负载率会处于一个动态变化的情况。例如,在电子设备安装有应用程序A、应用程序B以及应用程序C的情况下,若当前只有应用程序A在运行,那么电子设备可以检测到CPU的负载率为30%,而当检测到应用程序B开始启动以后,可能就会检测到CPU的负载率已经到了40%,进一步的,若检测到应用程序C也开始运行,那么就可能检测到CPU的负载率已经到了50%。那么作为一种避免CPU负载率突然上升造成卡顿的实施方式,所述若检测到所述码率满足所述目标条件,获取CPU的目标负载率的步骤包括:若检测到所述码率满足所述目标条件,获取当前CPU的负载率;预估指定时长内新增CPU负载;基于所述新增CPU负载以及所述当前的CPU负载率,得到CPU的目标负载率。
作为一种方式,所述预估指定时长内新增CPU负载的步骤包括基于以下条件中的至少一种条件预估指定时长内新增CPU负载:当前正在运行的应用程序所对应的历史CPU负载;在所述指定时长内历史运行过的应用程序对应的历史CPU负载。
可以理解的是,虽然电子设备中的各个应用程序所占用的CPU负载是不同的,但是对于一些应用程序会在何种时刻启动,电子设备是可以进行一定程度的预估的。例如,电子设备可以对各个应用程序的运行时间进行统计,然后统计得到某个应用程序的常用运行时间段,进而可以推断在每天的哪个时刻该应用程序会被启动运行,那么基于该方式就可以提前预计到在一个时间段内,会不会有应用程序启动。
可以理解的是,对于一些应用程序通常会在设定时刻开始进行信息更新或者,在设定时刻向网络请求数据。例如,对于浏览器类的应用程序,对于一些网页数据,即使在浏览器的用户操作界面没有启动的情况下,依然可以在后台运行,以便当用户触发显示用户操作界面以后可以快速的展示给用户。而可以理解的是,当浏览器类的应用程序在后台进行更新或者请求网络数据的过程中,必然会占用CPU的负载,提升CPU的负载率。
此外,除了应用程序外,电子设备的系统程序也会定时启动进行数据处理。电子设备的系统程序虽然没有对应的用户操作界面,但是依然会在设定时间段启动以处理电子设备的后台数据。相应的,电子设备的系统程序在运行的过程中也会占用CPU的负载,提升CPU的负载率。
那么作为一种方式,电子设备可以配置一个数据表以存储统计得到的应用程序或者系统程序的运行周期。那么在电子设备开始播放视频,处于视频播放状态以后,可以检测在指定时长内是否会有应用程序或者系统程序启动,进而预估指定时长内新增的CPU负载。
其中,可选的,前述的指定时长可以为所播放视频的长度。在这种情况下,电子设备在检测到处于视频播放状态以后,可以获取到所播放视频的长度,将获取的该长度作为指定时长,然后再进一步的判断在该指定时长内否会有应用程序或者系统程序启动,进而预估指定时长内新增的CPU负载,然后通过预估的新增的CPU负载来确定在该视频的播放过程中最高CPU负载,进而获取到最高负载率作为目标负载率。
步骤S231:若检测到所述码率不满足所述目标条件,采用硬解码的方式对所播放的视频进行解码。
步骤S240:判断所述CPU的目标负载率是否低于负载率阈值。
步骤S250:若判定所述CPU的目标负载率低于所述负载率阈值,采用软解码的方式对所播放的视频进行解码。
步骤S251:若判定所述CPU的目标负载率不低于所述负载率阈值,采用硬解码的方式对所播放的视频进行解码。
本申请提供的一种视频解码方法,当检测到处于视频播放状态以后,获取所播放视频的码率;检测所述码率是否满足目标条件;若检测到所述码率满足所述目标条件,就判断所述CPU的目标负载率是否低于负载率阈值,在判定所述CPU的目标负载率低于所述负载率阈值的情况下,采用软解码的方式对所播放的视频进行解码。从而通过本方法实现了可以根据所播放的视频的码率来确定解码方式,可以将所播放视频的码率与目标条件进行比对,而在码率满足目标条件的情况下采用软解码的方式进行视频解码,从而提升了解码方式确定的灵活性,同时也提升了视频解码过程中的解码质量。
请参阅图6,本申请提供的一种视频解码方法,应用于电子设备,所述方法包括:
步骤S310:当检测到处于视频播放状态以后,获取所播放视频的码率。
步骤S320:检测所述码率是否满足目标条件。
步骤S330:若检测到所述码率满足所述目标条件,在所述视频的播放过程中,定时获取所述CPU的目标负载率。
可以理解的是,不同的应用程序会对应有不同的任务需要处理,那么因为电子设备中的应用程序可能会在不同的时刻开始运行,那么电子设备的CPU的负载率会处于一个动态变化的情况。例如,若当前有应用程序A以及系统程序A在运行,那么电子设备可以检测到当前的CPU负载率为40%,而若当系统程序退出运行以后,电子设备可以检测到CPU负载率为30%。那么作为一种方式,电子设备可以定时获取所述CPU的目标负载率,以便根据最新获取到的目标负载率来确定解码方式。其中,该定时的长度可以由用户配置,也可以由电子设备自动配置。
例如,电子设备可以根据所播放视频的总的时长来确定。可选的,该定时可以与电子设备所播放视频的总的时长成正比。比如,若所播放视频的总的时长为100分钟,那么该定时可以为10分钟,而若所播放视频的总的时长为50分钟,那么该定时可以为5分钟。从而通过该种方式,可以灵活的确定定时的长度。
步骤S331:若检测到所述码率不满足所述目标条件,采用硬解码的方式对所播放的视频进行解码。
步骤S340:判断所述CPU的目标负载率是否低于负载率阈值。
步骤S350:若判定所述CPU的目标负载率低于所述负载率阈值,采用软解码的方式对所播放的视频进行解码。
步骤S351:若判定所述CPU的目标负载率不低于所述负载率阈值,采用硬解码的方式对所播放的视频进行解码。
本申请提供的一种视频解码方法,当检测到处于视频播放状态以后,获取所播放视频的码率;检测所述码率是否满足目标条件;若检测到所述码率满足所述目标条件,就判断所述CPU的目标负载率是否低于负载率阈值,在判定所述CPU的目标负载率低于所述负载率阈值的情况下,采用软解码的方式对所播放的视频进行解码。从而通过本方法实现了可以根据所播放的视频的码率来确定解码方式,可以将所播放视频的码率与目标条件进行比对,而在码率满足目标条件的情况下采用软解码的方式进行视频解码,从而提升了解码方式确定的灵活性,同时也提升了视频解码过程中的解码质量。
请参阅图7,本申请提供的一种视频解码装置400,运行于电子设备,所述装置400包括:码率检测单元410、码率判断单元420以及解码方式控制单元430。
码率检测单元410,用于当检测到处于视频播放状态以后,获取所播放视频的码率;
码率判断单元420,用于检测所述码率是否满足目标条件。
作为一种方式,所述目标条件包括:视频的码率低于目标值。而作为另外一种方式,所述目标条件包括视频的码率在设定目标区间段内。而不论是前述的目标值还是目标区间段,都可以由用户自由配置,也可以由电子设备自动的配置。
解码方式控制单元430,用于若检测到所述码率满足所述目标条件,采用软解码的方式对所播放的视频进行解码。
解码方式控制单元430,用于若检测到所述码率不满足所述目标条件,采用硬解码的方式对所播放的视频进行解码。
本申请提供的一种视频解码装置,当检测到处于视频播放状态以后,获取所播放视频的码率;检测所述码率是否满足目标条件;若检测到所述码率满足所述目标条件,采用软解码的方式对所播放的视频进行解码。从而通过本方法实现了可以根据所播放的视频的码率来确定解码方式,可以将所播放视频的码率与目标条件进行比对,而在码率满足目标条件的情况下采用软解码的方式进行视频解码,从而提升了解码方式确定的灵活性。
请参阅图8,本申请提供的一种视频解码装置500,运行于电子设备,所述装置500包括:码率检测单元510、码率判断单元520、处理器检测单元530以及解码方式控制单元540。
码率检测单元510,用于当检测到处于视频播放状态以后,获取所播放视频的码率。
码率判断单元520,用于检测所述码率是否满足目标条件。
处理器检测单元530,用于若检测到所述码率满足所述目标条件,获取CPU的目标负载率。
作为一种方式,处理器检测单元530,具体用于若检测到所述码率满足所述目标条件,获取当前CPU的负载率;预估指定时长内新增CPU负载;基于所述新增CPU负载以及所述当前的CPU负载率,得到CPU的目标负载率。
作为一种方式,所述预估指定时长内新增CPU负载的步骤包括基于以下条件中的至少一种条件预估指定时长内新增CPU负载:当前正在运行的应用程序所对应的历史CPU负载;在所述指定时长内历史运行过的应用程序对应的历史CPU负载。
解码方式控制单元540,用于若检测到所述码率不满足所述目标条件,采用硬解码的方式对所播放的视频进行解码。
负载率检测单元,用于判断所述CPU的目标负载率是否低于负载率阈值。
解码方式控制单元540,还用于若判定所述CPU的目标负载率低于所述负载率阈值,采用软解码的方式对所播放的视频进行解码。
解码方式控制单元540,还用于若判定所述CPU的目标负载率不低于所述负载率阈值,采用硬解码的方式对所播放的视频进行解码。
本申请提供的一种视频解码装置,当检测到处于视频播放状态以后,获取所播放视频的码率;检测所述码率是否满足目标条件;若检测到所述码率满足所述目标条件,就判断所述CPU的目标负载率是否低于负载率阈值,在判定所述CPU的目标负载率低于所述负载率阈值的情况下,采用软解码的方式对所播放的视频进行解码。从而通过本方法实现了可以根据所播放的视频的码率来确定解码方式,可以将所播放视频的码率与目标条件进行比对,而在码率满足目标条件的情况下采用软解码的方式进行视频解码,从而提升了解码方式确定的灵活性。
请参阅图9,本申请提供的一种视频解码装置600,运行于电子设备,所述装置600包括:码率检测单元610、码率判断单元620、负载率定时获取单元630以及解码方式控制单元640。
码率检测单元610,用于当检测到处于视频播放状态以后,获取所播放视频的码率。
码率判断单元620,用于检测所述码率是否满足目标条件。
负载率定时获取单元630,用于若检测到所述码率满足所述目标条件,在所述视频的播放过程中,定时获取所述CPU的目标负载率。
解码方式控制单元640,用于若检测到所述码率不满足所述目标条件,采用硬解码的方式对所播放的视频进行解码。
码率判断单元650,用于判断所述CPU的目标负载率是否低于负载率阈值。
解码方式控制单元640,还用于若判定所述CPU的目标负载率低于所述负载率阈值,采用软解码的方式对所播放的视频进行解码。
解码方式控制单元640,还用于若判定所述CPU的目标负载率不低于所述负载率阈值,采用硬解码的方式对所播放的视频进行解码。
本申请提供的一种视频解码装置,当检测到处于视频播放状态以后,获取所播放视频的码率;检测所述码率是否满足目标条件;若检测到所述码率满足所述目标条件,就判断所述CPU的目标负载率是否低于负载率阈值,在判定所述CPU的目标负载率低于所述负载率阈值的情况下,采用软解码的方式对所播放的视频进行解码。从而通过本方法实现了可以根据所播放的视频的码率来确定解码方式,可以将所播放视频的码率与目标条件进行比对,而在码率满足目标条件的情况下采用软解码的方式进行视频解码,从而提升了解码方式确定的灵活性。
需要说明的是,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性。另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
需要说明的是,本申请中具体如何根据音频编码类型对音频数据进行编码是可以采用现有的技术,本申请就不再细述。
综上所述,本申请提供的一种视频解码方法、装置以及电子设备,当检测到处于视频播放状态以后,获取所播放视频的码率;检测所述码率是否满足目标条件;若检测到所述码率满足所述目标条件,采用软解码的方式对所播放的视频进行解码。从而通过本方法实现了可以根据所播放的视频的码率来确定解码方式,可以将所播放视频的码率与目标条件进行比对,而在码率满足目标条件的情况下采用软解码的方式进行视频解码,从而提升了解码方式确定的灵活性,同时也提升了视频解码过程中的解码质量。
下面将结合图10对本申请提供的一种电子设备进行说明。
请参阅图10,基于上述的视频解码方法、装置,本申请实施例还提供的另一种可以执行前述视频解码方法的电子设备100。电子设备100包括相互耦合的一个或多个(图中仅示出一个)处理器102、存储器104、网络模块106、视频编解码器108以及屏幕112。其中,该存储器104中存储有可以执行前述实施例中内容的程序,而处理器102可以执行该存储器104中存储的程序。
其中,处理器102可以包括一个或者多个处理核。处理器102利用各种接口和线路连接整个电子设备100内的各个部分,通过运行或执行存储在存储器104内的指令、程序、代码集或指令集,以及调用存储在存储器104内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器102可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(ProgrammableLogic Array,PLA)中的至少一种硬件形式来实现。处理器102可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器102中,单独通过一块通信芯片进行实现。
存储器104可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器104可用于存储指令、程序、代码、代码集或指令集。存储器104可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储终端100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
所述网络模块106用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯,例如和无线接入点进行通讯。所述网络模块106可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(SIM)卡、存储器等等。所述网络模块106可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。
该视频编解码器108可以用于对网络模块106从网络请求的数据进行解码,以便传输到屏幕112进行显示。具体的,视频编解码器108可以为GPU、专用的DSP、FPGA、ASIC芯片等。
请参考图11,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质800中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质800可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质800包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质800具有执行上述方法中的任何方法步骤的程序代码810的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码810可以例如以适当形式进行压缩。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (7)
1.一种视频解码方法,其特征在于,应用于电子设备,所述方法包括:
当检测到处于视频播放状态以后,获取所播放视频的码率,其中,获取所播放视频的码率包括:获取所述所播放视频的时长长度,将所述播放视频的时长长度的中间部分的图像的码率作为所述所播放视频的码率;
检测所述码率是否满足目标条件,所述目标条件包括:视频的码率低于目标值;
若检测到所述码率满足所述目标条件,获取当前CPU的负载率;
预估指定时长内新增CPU负载;
基于所述新增CPU负载以及所述当前的CPU负载率,得到CPU的目标负载率;
判断所述CPU的目标负载率是否低于负载率阈值;
若判定所述CPU的目标负载率低于所述负载率阈值,采用软解码的方式对所播放的视频进行解码;
所述预估指定时长内新增CPU负载的步骤包括基于以下条件预估指定时长内新增CPU负载:当前正在运行的应用程序所对应的历史CPU负载;在所述指定时长内历史运行过的应用程序对应的历史CPU负载。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若检测到所述码率不满足所述目标条件,采用硬解码的方式对所播放的视频进行解码。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若判定所述CPU的目标负载率不低于所述负载率阈值,采用硬解码的方式对所播放的视频进行解码。
4.根据权利要求1所述的方法,其特征在于,所述获取CPU的目标负载率的步骤包括:
在所述视频的播放过程中,定时获取所述CPU的目标负载率。
5.一种视频解码装置,其特征在于,运行于电子设备,所述装置包括:
码率检测单元,用于当检测到处于视频播放状态以后,获取所播放视频的码率;所述码率检测单元,用于具体获取所述所播放视频的时长长度,将所述播放视频的时长长度的中间部分的图像的码率作为所述所播放视频的码率;
码率判断单元,用于检测所述码率是否满足目标条件,所述目标条件包括:视频的码率低于目标值;
解码方式控制单元,用于若检测到所述码率满足所述目标条件,获取当前CPU的负载率;预估指定时长内新增CPU负载;基于所述新增CPU负载以及所述当前的CPU负载率,得到CPU的目标负载率;判断所述CPU的目标负载率是否低于负载率阈值;若判定所述CPU的目标负载率低于所述负载率阈值,采用软解码的方式对所播放的视频进行解码;所述预估指定时长内新增CPU负载的步骤包括基于以下条件预估指定时长内新增CPU负载:当前正在运行的应用程序所对应的历史CPU负载;在所述指定时长内历史运行过的应用程序对应的历史CPU负载。
6.一种电子设备,其特征在于,包括一个或多个处理器、视频编解码器以及存储器;
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行权利要求1-4任一所述的方法。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码被处理器运行时执行权利要求1-4任一所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811427992.0A CN109640094B (zh) | 2018-11-27 | 2018-11-27 | 视频解码方法、装置以及电子设备 |
PCT/CN2019/102858 WO2020107970A1 (zh) | 2018-11-27 | 2019-08-27 | 视频解码方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811427992.0A CN109640094B (zh) | 2018-11-27 | 2018-11-27 | 视频解码方法、装置以及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109640094A CN109640094A (zh) | 2019-04-16 |
CN109640094B true CN109640094B (zh) | 2021-06-15 |
Family
ID=66069339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811427992.0A Active CN109640094B (zh) | 2018-11-27 | 2018-11-27 | 视频解码方法、装置以及电子设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109640094B (zh) |
WO (1) | WO2020107970A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109640094B (zh) * | 2018-11-27 | 2021-06-15 | Oppo广东移动通信有限公司 | 视频解码方法、装置以及电子设备 |
CN111263162B (zh) * | 2020-02-10 | 2022-02-18 | 广州市百果园信息技术有限公司 | 视频压缩方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011029868A (ja) * | 2009-07-24 | 2011-02-10 | Ricoh Co Ltd | 端末装置、遠隔会議システム、端末装置の制御方法、端末装置の制御プログラム、及び端末装置の制御プログラムを記録したコンピュータ読み取り可能な記録媒体 |
CN202111812U (zh) * | 2011-01-17 | 2012-01-11 | 博视联(苏州)信息科技有限公司 | 软硬件结合解码的通用多媒体播放设备 |
CN103778474A (zh) * | 2012-10-18 | 2014-05-07 | 华为技术有限公司 | 资源负载量预测方法、分析预测系统及业务运营监控系统 |
CN104866381A (zh) * | 2014-02-20 | 2015-08-26 | 联想(北京)有限公司 | 一种信息处理方法及第一电子设备 |
CN106454413A (zh) * | 2016-09-20 | 2017-02-22 | 北京小米移动软件有限公司 | 直播编码切换方法、装置及设备 |
CN107241650A (zh) * | 2017-08-09 | 2017-10-10 | 四川长虹电器股份有限公司 | 一种快速定位播放卡顿现象原因的方法 |
CN109120939A (zh) * | 2018-07-16 | 2019-01-01 | 北京奇艺世纪科技有限公司 | 一种视频App解码方法及装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9648325B2 (en) * | 2007-06-30 | 2017-05-09 | Microsoft Technology Licensing, Llc | Video decoding implementations for a graphics processing unit |
US8010692B1 (en) * | 2009-11-05 | 2011-08-30 | Adobe Systems Incorporated | Adapting audio and video content for hardware platform |
US8699582B2 (en) * | 2010-10-06 | 2014-04-15 | Qualcomm Incorporated | Context-based adaptations of video decoder |
CN102984587B (zh) * | 2011-09-05 | 2016-05-25 | 深圳市快播科技有限公司 | 一种视频播放的优化方法、装置及点播终端 |
CN105898295A (zh) * | 2015-12-01 | 2016-08-24 | 乐视致新电子科技(天津)有限公司 | 一种播放器解码方法和装置 |
CN106210726A (zh) * | 2016-08-08 | 2016-12-07 | 成都佳发安泰科技股份有限公司 | 根据cpu与gpu的使用率对视频数据进行自适应解码的方法 |
CN108632667B (zh) * | 2017-03-21 | 2019-10-22 | 腾讯科技(深圳)有限公司 | 一种多媒体文件的解码方法及终端 |
CN107707976A (zh) * | 2017-09-29 | 2018-02-16 | 维沃移动通信有限公司 | 一种视频解码方法及移动终端 |
CN109640094B (zh) * | 2018-11-27 | 2021-06-15 | Oppo广东移动通信有限公司 | 视频解码方法、装置以及电子设备 |
-
2018
- 2018-11-27 CN CN201811427992.0A patent/CN109640094B/zh active Active
-
2019
- 2019-08-27 WO PCT/CN2019/102858 patent/WO2020107970A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011029868A (ja) * | 2009-07-24 | 2011-02-10 | Ricoh Co Ltd | 端末装置、遠隔会議システム、端末装置の制御方法、端末装置の制御プログラム、及び端末装置の制御プログラムを記録したコンピュータ読み取り可能な記録媒体 |
CN202111812U (zh) * | 2011-01-17 | 2012-01-11 | 博视联(苏州)信息科技有限公司 | 软硬件结合解码的通用多媒体播放设备 |
CN103778474A (zh) * | 2012-10-18 | 2014-05-07 | 华为技术有限公司 | 资源负载量预测方法、分析预测系统及业务运营监控系统 |
CN104866381A (zh) * | 2014-02-20 | 2015-08-26 | 联想(北京)有限公司 | 一种信息处理方法及第一电子设备 |
CN106454413A (zh) * | 2016-09-20 | 2017-02-22 | 北京小米移动软件有限公司 | 直播编码切换方法、装置及设备 |
CN107241650A (zh) * | 2017-08-09 | 2017-10-10 | 四川长虹电器股份有限公司 | 一种快速定位播放卡顿现象原因的方法 |
CN109120939A (zh) * | 2018-07-16 | 2019-01-01 | 北京奇艺世纪科技有限公司 | 一种视频App解码方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2020107970A1 (zh) | 2020-06-04 |
CN109640094A (zh) | 2019-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109688465B (zh) | 视频增强控制方法、装置以及电子设备 | |
CN109640179B (zh) | 视频解码控制方法、装置以及电子设备 | |
CN109379624B (zh) | 视频处理方法、装置、电子设备及存储介质 | |
WO2020062924A1 (zh) | 视频增强控制方法、装置、电子设备及存储介质 | |
CN109600654B (zh) | 弹幕处理方法、装置以及电子设备 | |
KR102558385B1 (ko) | 비디오 증강 제어 방법, 장치, 전자 기기 및 저장 매체 | |
CN109618228B (zh) | 视频增强控制方法、装置以及电子设备 | |
CN109640094B (zh) | 视频解码方法、装置以及电子设备 | |
US11412311B2 (en) | Methods and systems for saving data while streaming video | |
CN112203034A (zh) | 帧率控制方法、装置以及电子设备 | |
CN109587561B (zh) | 视频处理方法、装置、电子设备及存储介质 | |
CN109587555B (zh) | 视频处理方法、装置、电子设备及存储介质 | |
CN109379630B (zh) | 视频处理方法、装置、电子设备及存储介质 | |
CN109120979B (zh) | 视频增强控制方法、装置以及电子设备 | |
CN107004018B (zh) | 数据处理方法及装置 | |
CN109218803B (zh) | 视频增强控制方法、装置以及电子设备 | |
CN110377258B (zh) | 图像渲染方法、装置、电子设备及存储介质 | |
CN113038276A (zh) | 视频播放方法、装置、电子设备及存储介质 | |
CN109712100B (zh) | 视频增强控制方法、装置以及电子设备 | |
CN115606176A (zh) | 视频处理方法、装置、电子设备及存储介质 | |
CN116419032A (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 |