CN113923485A - 一种调整码率的方法、装置、及计算机可读存储介质 - Google Patents
一种调整码率的方法、装置、及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113923485A CN113923485A CN202111161562.0A CN202111161562A CN113923485A CN 113923485 A CN113923485 A CN 113923485A CN 202111161562 A CN202111161562 A CN 202111161562A CN 113923485 A CN113923485 A CN 113923485A
- Authority
- CN
- China
- Prior art keywords
- scene
- code rate
- rate
- game
- current
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000001514 detection method Methods 0.000 claims description 80
- 230000008569 process Effects 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 description 17
- 238000005516 engineering process Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 239000008358 core component Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011897 real-time detection Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 108010015780 Viral Core Proteins Proteins 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000000306 component Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234381—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4781—Games
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/637—Control signals issued by the client directed to the server or network components
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请公开了一种调整码率的方法、装置、及计算机可读存储介质,涉及到云电脑技术领域,其通过获取主机端对应的运行信息,且主机端与客户端对应,并判断运行信息与阈值的关系是否满足预设条件,若满足,则确定当前场景为游戏场景,若不满足,则当前场景为非游戏场景,最后根据所确定的检测结果为客户端设置码率。由此可见,此方法通过主机端的运行信息与阈值的关系判断当前场景是否为游戏场景,最后根据判断的场景为客户端设置码率,减少了不必要的带宽使用,有效避免了在网吧运营高峰期出现卡顿的现象,能够使用户在不同的场景下均能得到流畅的用户体验,提高了用户的体验感。
Description
技术领域
本申请涉及云电脑技术领域,特别是涉及一种调整码率的方法、装置、及计算机可读存储介质。
背景技术
随着音视频编解码技术、5G网络的建设发展,云游戏、云电脑业务得到了快速发展。当前,云电脑业务在网吧中得到了推广与应用,对于游戏与别的场景,所需要的带宽也是不同的,例如,游戏中可能需要极致的画质,就会需要更高的带宽以保证画质流畅,而对于别的场景,低一点的带宽就可以满足当前画质流畅,而目前的技术对二者不做区分,采用同样的带宽。
由于对所有场景采用同样的带宽,在大规模网吧中,容易在网吧运营高峰期出现带宽不足,导致卡顿的情况发生。
鉴于上述技术,寻求一种场景检测和码率动态切换的方法是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种调整码率的方法、装置、及计算机可读存储介质。
为解决上述技术问题,本申请提供一种调整码率的方法,包括:
获取主机端的运行信息,其中主机端与客户端对应;
判断所述运行信息与阈值的关系是否满足预设条件;
若是,则确定当前场景为游戏场景;
若否,则确定当前所述场景为非游戏场景;
根据所确定出的检测结果设置所述客户端的码率。
优选的,在所述根据所述场景设置所述客户端的码率之后还包括:
若所述检测结果为所述游戏场景,则等待T1时长后开始下一次检测;
若所述检测结果为所述非游戏场景,则等待T2时长后开始下一次检测,其中T1大于T2。
优选的,在所述获取主机端运行信息之前还包括:
获取上次所确定出的检测结果;
若上次判断结果为所述游戏场景,则设置T3为本次检测时间;
若上次判断结果为非游戏场景,则设置T4为本次所述检测时间,其中T3大于T4;
所述获取主机端的运行信息包括:
获取主机端在所述检测时间内的所述运行信息。优选的,所述运行信息包含所述检测时间内各进程的上屏帧率、GPU使用率、GPU解码模块使用率、CPU使用率和当前界面的显示方式中的一种或任意组合。
优选的,所述预设条件为满足下述条件中任意三个;
所述上屏帧率最高的进程的上屏帧率大于第一阈值、所述GPU使用率大于第二阈值、所述CPU使用率大于第三阈值或当前界面的显示方式为全屏显示。
优选的,所述非游戏场景包括视频浏览场景和网页浏览场景,其中在所述GPU解码模块使用率不为0的基础上,所述CPU使用率大于第三阈值或当前界面的显示方式为全屏显示,为所述视频浏览场景;
仅满足当前界面的显示方式为全屏显示时,为所述网页浏览场景。
优选的,所述根据所确定出的检测结果设置所述客户端的码率包括:
若当前所述场景为所述游戏场景时,根据所述游戏场景的游戏名称为当前所述客户端设置高码率、中码率或低码率。
为解决上述技术问题,本申请还提供了一种调整码率的装置,包括:
获取模块,用于获取主机端的运行信息,其中所述主机端与客户端对应;
判断模块,用于判断所述运行信息与阈值的关系是否满足预设条件;
确定模块,用于在所述运行信息与所述阈值的关系满足预设条件的情况下,确定当前场景为游戏场景,或在所述运行信息与所述阈值的关系不满足预设条件的情况下,确定当前所述场景为非游戏场景;
设置模块,用于根据所确定出的检测结果设置所述客户端的码率。
为解决上述技术问题,本申请还提供了一种调整码率的装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述所述的调整码率的步骤。
为解决上述技术问题,本申请还提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的调整码率的步骤。
本申请所提供的一种调整码率的方法,通过获取主机端对应的运行信息,且主机端与客户端对应,并判断运行信息与阈值的关系是否满足预设条件,若满足,则确定当前场景为游戏场景,若不满足,则当前场景为非游戏场景,最后根据所确定的检测结果为客户端设置码率。由此可见,此方法通过主机端的运行信息与阈值的关系判断当前场景是否为游戏场景,最后根据判断的场景为客户端设置码率,减少了不必要的带宽使用,有效避免了在网吧运营高峰期出现卡顿的现象,能够使用户在不同的场景下均能得到流畅的用户体验,提高了用户的体验感。
在此基础上,本申请还提供了一种调整码率的装置和计算机可读存储介质,效果同上。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种调整码率的方法的流程图;
图2为本申请实施例提供的另一种调整码率的方法的流程图;
图3为本申请实施例提供的一种调整码率的装置的结构图;
图4为本申请另一实施例提供的调整码率的装置的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种调整码率的方法、装置、及计算机可读存储介质。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
图1为本申请实施例提供的一种调整码率的方法的流程图,本申请对调整码率的方法的应用场景不作限定,主要应用于云电脑业务在网吧中的应用,如图1所示,调整码率的方法包括:
S10:获取主机端的运行信息,其中主机端与客户端对应。
S11:判断运行信息与阈值的关系是否满足预设条件,若是,进入S12步骤,若否,进入S13步骤。
S12:确定当前场景为游戏场景。
S13:确定当前场景为非游戏场景。
S14:根据所确定出的检测结果设置客户端的码率。
可以理解的是,云电脑业务快速发展的同时,云电脑业务也在网吧中得到了推广与应用,但在应用的同时产生了一定的问题。主机端与客户端一一对应,主机端通过采集当前场景的画面、声音并传输至客户端,客户端对其进行展示,并将鼠标操作等信息传输至主机端,从而形成用户体验。但是在网吧中的网络通常为万兆带宽,但云电脑设备通常需要80M-100M的带宽,这就容易导致在网吧运营高峰期出现带宽不足导致卡顿的现象,因此,需要针对不同场景,对客户端采取不同的码率以减少卡顿情况的发生,对于S10步骤来说,获取主机端的运行信息,值得说明的是,本实施例对主机端的运行信息不作限定,运行信息可以是当前上屏信息,也可以为中央处理器(CPU)的使用率,对运行信息的个数也不做限定,可以为一个,也可以为两个,只需要满足根据运行信息和阈值的关系能够判断出当前场景为什么场景即可。
此外,对于S11步骤中所提到的预设条件,对如何定义预设条件不作限定,对预设条件的数量也不作限定,预设条件可以为一个,也可以为两个,只需要满足通过运行信息与阈值的关系判断是否满足预设条件即可,可见,对预设条件设置的越复杂,则判断出的结果就越准确。
另外,本实施例是从主机端上对场景进行检测,且,在主机端完成检测之后,根据检测结果,主机端的监测模块会发出设置码率这一指令至作用于主机端的云电脑,云电脑会对客户端的码率进行设置,客户端的画质质量会由于主机端的码率设置发生对应的变化,码率设置的越高,画面的质量就越好。
由此可见,本实施例提供的一种调整码率的方法,通过获取主机端的运行信息,且主机端与客户端对应,并判断运行信息与阈值的关系是否满足预设条件,若满足,则确定当前场景为游戏场景,若不满足,则当前场景为非游戏场景,最后根据所确定的检测结果为客户端设置码率。由此可见,此方法通过主机端的运行信息与阈值的关系判断当前场景是否为游戏场景,最后根据判断的场景为客户端设置码率,减少了不必要的带宽使用,有效避免了在网吧运营高峰期出现卡顿的现象,能够使用户在不同的场景下均能得到流畅的用户体验,提高了用户的体验感。
在具体实施例中,可能存在获取主机端运行信息的时候,属于游戏开启状态,且,在检测结束过后,游戏关闭,这就容易导致检测误差的出现,考虑到这种情况,在为客户端设置码率之后根据当前场景,设置对应的等待时间,在等待时间过后开启下一次检测,图2为本申请实施例提供的另一种调整码率的方法的流程图,如图2所示,在图1的基础上,除了步骤S10,S11,S12,S13,S14之外,还包括:
S15:若检测结果为游戏场景,则等待T1时长后开始下一次检测。
S16:若检测结果为非游戏场景,则等待T2时长后开始下一次检测。
可以理解的是,可能存在获取主机端运行信息的时候,用户刚开启游戏,但由于个人原因又将游戏关闭,这就导致在检测的误差出现,误以为当前客户端为游戏场景,因此在为客户端设置码率之后,根据检测结果设置等待时长,在等待时长过后开始下一次检测。
此外,对于S15,S16中提到的T1,T2,T1为检测结果为游戏场景时,等待T1时长开始下一次检测,T2为检测结果为非游戏场景时,等待T2时长开始下一次检测。其中,T1和T2可以进行设置,且,T1大于T2,值得注意的是,本实施例对T1和T2的时长不作限定,可以为设置码率后几秒也可以为几分钟,只需要起到定时对主机端的运行信息获取以达到实时检测即可。
由此可见,本实施例提供的在为客户端设置码率之后,根据检测的结果设置等待时间,等待时间过后对主机端的运行信息进行第二次检测,可以对客户端的运行场景实时检测。此方法,有效提高了设备的工作效率,减少了误判的情况发生,做到了对客户端的运行场景实时检测,提高了用户的体验感。
在上述实施例的基础上,对于游戏场景和非游戏场景的检测时间也不一致,如果上一次检测结果为游戏场景,可能就需要更多的时间来对本次进行检测,如果上一次的检测结果为非游戏场景,可能就需要低一点的时间对本次检测,如图2所示,除了步骤S15,S16之外,在步骤S11之前还包括:
S17:判断上次检测结果是否为游戏场景,若是,进入步骤S18,若否,进入步骤S19。
S18:设置T3为本次检测时间。
S19:设置T4为本次检测时间。
在具体实施例中,每次检测的时间可能都不一样,如果不管上次检测结果是否为游戏场景,本次检测时间都一样的话,可能会对本次检测的结果有一定的影响,若上次检测结果为游戏场景,则需要更长的检测时间,从而避免开始检测时,游戏切到后台的情况发生,从而弥补游戏检测间隔时间长导致检测的不精准性。因此,若上次检测结果为游戏场景,则设置本次检测时间为T3,若上次检测结果为非游戏场景,则设置本次检测时间为T4,值得注意的是,对T3和T4的具体大小不作限定,可以根据实际情况对T3和T4进行设置,但是需要满足T3大于T4。
此外,获取主机端的运行信息限定为获取主机端在检测时间内的运行信息,可以理解的是,运行信息的获取是在检测时间内,例如CPU的使用率是指检测时间内CPU的使用率。
由此可见,本实施例提供的,在获取主机端的运行信息之前对上次检测结果进行判断,根据上次的检测结果,设置本次的检测时间,此方法,提高了设备的工作效率,减少了时间的浪费,提高了用户的体验感。
在上述实施例的基础上,对上述实施例提到的运行信息进行限定,运行信息为检测时间内各进程的上屏帧率、GPU使用率、GPU解码模块使用率、CPU使用率和当前界面的显示方式中的一种或任意组合。
值得注意的是,本实施例提供的运行信息可以为一种或任意组合,也可以全部包含,此外,本实施例中所提到的上屏帧率是根据上屏信息计算得到,上屏是指画面在经过渲染后通过3D加速卡(d3d)技术显示到屏幕上这一过程,通常游戏会采取该显示方式。而上屏信息包括进程名称、进程id、上屏方式、上屏时间以及是否上屏成功信息,并存储,其中上屏是否成功信息记录了该游戏在前台还是在后台运行,在后台运行的游戏进程包含上屏失败信息。其中上屏帧率是通过此进程最后一次上屏时刻减去此进程第一次的上屏时刻的差比上该检测时间内此进程的上屏次数。
此外,图形处理器(GPU)又称显示核心、视觉处理器、显示芯片、是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上做图像和图形相关运算工作的微处理器。GPU使显卡减少了对CPU的依赖,并进行部分原本CPU的工作,尤其是在3D图形处理时GPU所采用的核心技术有几何转换和光照处理、立方环境材质贴图和顶点混合、纹理压缩和凹凸映射贴图、双重纹理四像素256位渲染引擎等,而几何转换和光照处理技术可以说是GPU的标志。
获取GPU的使用率是指获取在检测时间内的使用率,另外,对GPU的使用率如何获取不作限定,本实施例提供一种优选的实施例,通过显卡信息查询应用程序编程接口(API)获取GPU在本次检测时间内的使用率,并存储。此方法,只是作为一种优选的实施例,如何获取GPU在检测时间内的使用率可以根据实际情况而定。在此基础上,视频文件的播放需要解码,也就会运用到GPU的解码模块,利用GPU的运算能力部分代替CPU,从而减少CPU的运算,因此获取GPU解码模块的使用率是判断当前场景的重要因素之一。
另外,CPU,是电子计算机的主要设备之一,电脑中的核心配件。其功能主要是解释计算机指令以及处理计算机软件中的数据。CPU是计算机中负责读取指令,对指令译码并执行指令的核心部件。中央处理器主要包括两个部分,即控制器、运算器,其中还包括高速缓冲存储器及实现它们之间联系的数据、控制的总线。电子计算机三大核心部件就是CPU、内部存储器、输入/输出设备。中央处理器的功效主要为处理指令、执行操作、控制时间、处理数据。在计算机体系结构中,CPU是对计算机的所有硬件资源如存储器、输入输出单元,进行控制调配、执行通用运算的核心硬件单元。CPU是计算机的运算和控制核心。计算机系统中所有软件层的操作,最终都将通过指令集映射为CPU的操作。因此,获取检测时间内CPU的使用率是判断当前是否为游戏模式的重要因素之一。此外,对如何获取CPU使用率不作限定,可以采用定时器获取检测时间内的系统的运行时间和间隔时间计算得到CPU的使用率,也可以通过其他编程语言获取CPU的使用率,本实施例是通过定时器获取检测时间内的系统的运行时间和间隔时间计算得到CPU的总使用率,并存储记录,本实施例通过定时器获取CPU的使用率仅仅是一种优选的实施例,可以根据具体情况选择哪种方式获取CPU使用率。
在此基础上,当前界面的显示方式是指当前是否为全屏状态,有许多游戏的运行是需要全屏模式,通过判断当前程序窗口尺寸和屏幕的尺寸,通过对比得出当前程序是否处于全屏运行的状态。
由此可见,本实施例提供的运行信息包括检测时间内各进程的上屏帧率、GPU使用率、GPU解码模块使用率、CPU使用率和当前界面的显示方式中的一种或任意组合,此方法,有效的能够获取本次检测时间内各重要的参数,可以提高判断当前为什么场景的准确性,更为精确的判断出当前场景。
在上述实施例的基础上,通过判断运行信息与阈值的关系是否满足预设条件,从而判断出当前场景。本实施例,对预设条件作出限定,可以理解的是,满足任意三条即为游戏场景,预设条件为,上屏帧率最高的进程的上屏帧率大于第一阈值、GPU使用率大于第二阈值、CPU使用率大于第三阈值或当前界面的显示方式为全屏显示。值得注意的是,在获取所有上屏进程之后并不是将所有进程的上屏帧率与第一阈值比较,先把各进程的上屏帧率计算出来,获取最高的上屏帧率的进程,将此进程的上屏帧率与第一阈值比较即可。
此外,对第一阈值,第二阈值,第三阈值的具体数字不作限定,只需满足在与阈值比较时能够准确即可。另外,判断为游戏场景的预设条件只需要满足以上四条中的任意三条即可,若不符合预设条件,则认定该场景为非游戏场景。
在上述实施例的基础上,非游戏场景包括视频浏览场景和网页浏览场景及其他使用场景,在判断当前场景为非游戏场景后,还可以根据满足情况判断出当前场景具体为什么场景。其中在GPU解码模块使用率不为0的基础上,CPU使用率大于第三阈值或当前界面的显示方式为全屏显示,为视频浏览场景,仅满足当前界面的显示方式为全屏显示时,为所述网页浏览场景。
可以说明的是,在非游戏场景中包括两个场景,一个为视频浏览场景,另一个为网页浏览场景及其他使用场景,他们的区分也不同,其中视频浏览场景的满足条件比网页浏览场景的满足条件要高。另外,在客户端处于视频浏览场景时,对GPU的使用率不高,但不会为0,因此,GPU解码模块使用率为0是判断客户端是否处于视频浏览场景的重要因素,也是基础。在GPU解码模块使用率不为0的基础上,CPU使用率大于第三阈值或当前界面的显示方式为全屏显示,则可以判定当前场景为视频浏览场景。需要注意的是,网页浏览场景不需要使用到CPU,GPU和GPU解码模块,因此,若当前只满足当前页面的显示方式为全屏显示时,为网页浏览场景。除了上述的满足情况,若主机端的运行信息与阈值的关系有新满足条件,例如,仅满足上屏帧率最高的进程的上屏帧率大于第一阈值的情况或是其他情况,均为其他场景。
值得注意的是,判断游戏场景和非游戏场景的预设条件不同,但可能出现满足游戏场景判定的同时,也满足非游戏场景的判定,因此,以上的判定次序不可先后调整,以满足条件多的优先,具体的为,运行信息与阈值的关系同时满足上屏帧率大于第一阈值,GPU解码模块使用率不为0,CPU使用率大于第四阈值,当前界面的显示方式为全屏显示这四条时,可以看出,现在同时满足游戏场景和视频浏览场景的判定,但游戏场景的条件为三条,视频浏览场景的条件为两条,因此优先判定为游戏场景,可以理解为,三种场景同时符合预设条件时,游戏场景被认定的优先级最高。在该判定下,能保证游戏场景不被误判,其它场景判定准确,能够保证网吧用户的体验。
由此可见,本实施例提供的判定非游戏场景具体为什么场景的方法,可以更为具体的为具体场景设置码率,通过设置游戏场景和非游戏场景的条件,对满足条件多的优先确定,可以保证游戏场景不被误判,其它场景大部分准确,能够提高用户的体验感。
在具体实施例中,通过判断运行信息与阈值的关系是否满足预设条件可以得出当前场景是否为游戏场景,但是在网吧中,游戏分为很多种,有大型游戏也有小型游戏,如果对于所有游戏都采用同样的码率,依然会造成码率浪费的情况,考虑到这种情况的发生,在检测结果为游戏场景后,为客户端设置码率可以通过游戏名称为客户端设置高码率、中码率或低码率。
可以理解的是,对游戏列表中的游戏细分,将所有游戏分为三类,一类为高码率游戏,一类为中码率游戏,另一类为低码率游戏,通过对所有游戏分类,并记录各个码率的游戏名称,在检测结果为游戏场景后,比较此游戏名称与之前存储的各个码率的游戏名称对比,得出此游戏是高码率、中码率还是低码率。
由此可见,本实施例提供的根据游戏名称可以筛选出此游戏具体为高码率游戏,中码率游戏还是低码率游戏,通过此方法,可以更加精准的对码率设置,降低了码率的浪费,提高了用户的体验感。
在上述实施例中,对于调整码率的方法进行了详细描述,本申请还提供调整码率的装置对应的实施例。需要说明的是,本申请从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
上文详细描述了调整码率的方法对应的各个实施例,在此基础上,本申请还公开与上述方法对应的调整码率的装置。图3为本申请实施例提供的一种调整码率的装置的结构图。如图3所示,调整码率的装置包括:
获取模块10,用于获取主机端的运行信息,其中所述主机端与客户端对应。
判断模块11,用于判断运行信息与阈值的关系是否满足预设条件。
确定模块12,用于在运行信息与阈值的关系满足预设条件的情况下,确定当前场景为游戏场景,或在运行信息与阈值的关系不满足预设条件的情况下,确定当前场景为非游戏场景。
设置模块13,用于根据所确定出的检测结果设置客户端的码率。
图4为本申请另一实施例提供的调整码率的装置的结构图,如图4所示,调整码率的装置包括:存储器20,用于存储计算机程序;
处理器21,用于执行计算机程序时实现如上述实施例中所提到的调整码率的的方法的步骤。
本实施例提供的调整码率的装置可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的调整码率的方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括Windows、Unix、Linux等。数据203可以包括但不限于调整码率的方法的数据等。
在一些实施例中,调整码率的装置还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
本领域技术人员可以理解,图4中示出的结构并不构成对调整码率的装置的限定,可以包括比图示更多或更少的组件。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本申请所提供的调整码率的方法进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种调整码率的方法,其特征在于,包括:
获取主机端的运行信息,其中所述主机端与客户端对应;
判断所述运行信息与阈值的关系是否满足预设条件;
若是,则确定当前场景为游戏场景;
若否,则确定当前所述场景为非游戏场景;
根据所确定出的检测结果设置所述客户端的码率。
2.根据权利要求1所述的调整码率的方法,其特征在于,在所述根据所述场景设置所述客户端的码率之后还包括:
若所述检测结果为所述游戏场景,则等待T1时长后开始下一次检测;
若所述检测结果为所述非游戏场景,则等待T2时长后开始下一次检测,其中T1大于T2。
3.根据权利要求1所述的调整码率的方法,其特征在于,在所述获取主机端运行信息之前还包括:
获取上次所确定出的检测结果;
若上次判断结果为所述游戏场景,则设置T3为本次检测时间;
若上次判断结果为非游戏场景,则设置T4为本次所述检测时间,其中T3大于T4;
所述获取主机端的运行信息包括:
获取主机端在所述检测时间内的所述运行信息。
4.根据权利要求3所述的调整码率的方法,其特征在于,所述运行信息包含所述检测时间内各进程的上屏帧率、GPU使用率、GPU解码模块使用率、CPU使用率和当前界面的显示方式中的一种或任意组合。
5.根据权利要求4所述的调整码率的方法,其特征在于,所述预设条件为满足下述条件中任意三个;
所述上屏帧率最高的进程的上屏帧率大于第一阈值、所述GPU使用率大于第二阈值、所述CPU使用率大于第三阈值或当前界面的显示方式为全屏显示。
6.根据权利要求4所述的调整码率的方法,其特征在于,所述非游戏场景包括视频浏览场景和网页浏览场景,其中在所述GPU解码模块使用率不为0的基础上,所述CPU使用率大于第三阈值或当前界面的显示方式为全屏显示,为所述视频浏览场景;
仅满足当前界面的显示方式为全屏显示时,为所述网页浏览场景。
7.根据权利要求1至6任意一项所述的调整码率的方法,其特征在于,所述根据所确定出的检测结果设置所述客户端的码率包括:
若当前所述场景为所述游戏场景时,根据所述游戏场景的游戏名称为当前所述客户端设置高码率、中码率或低码率。
8.一种调整码率的装置,其特征在于,包括:
获取模块,用于获取主机端的运行信息;
判断模块,用于判断所述运行信息与阈值的关系是否满足预设条件;
确定模块,用于在所述运行信息与所述阈值的关系满足预设条件的情况下,确定当前场景为游戏场景,或在所述运行信息与所述阈值的关系不满足预设条件的情况下,确定当前所述场景为非游戏场景;
设置模块,用于根据所确定出的检测结果设置所述客户端的码率。
9.一种调整码率的装置,其特征在于,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的调整码率的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的调整码率的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111161562.0A CN113923485A (zh) | 2021-09-30 | 2021-09-30 | 一种调整码率的方法、装置、及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111161562.0A CN113923485A (zh) | 2021-09-30 | 2021-09-30 | 一种调整码率的方法、装置、及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113923485A true CN113923485A (zh) | 2022-01-11 |
Family
ID=79237465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111161562.0A Pending CN113923485A (zh) | 2021-09-30 | 2021-09-30 | 一种调整码率的方法、装置、及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113923485A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114338550A (zh) * | 2022-03-14 | 2022-04-12 | 杭州子默网络科技有限公司 | 一种减低带宽的云电脑实时编码方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110166780A (zh) * | 2018-06-06 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 视频的码率控制方法、转码处理方法、装置和机器设备 |
CN112104879A (zh) * | 2020-11-13 | 2020-12-18 | 腾讯科技(深圳)有限公司 | 一种视频编码方法、装置、电子设备及存储介质 |
CN112230758A (zh) * | 2020-11-09 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 帧率调整方法、装置、设备及计算机可读存储介质 |
CN112402980A (zh) * | 2020-10-30 | 2021-02-26 | 天津亚克互动科技有限公司 | 游戏运行的适配方法、装置及电子设备 |
CN113254123A (zh) * | 2021-05-11 | 2021-08-13 | 西安万像电子科技有限公司 | 云桌面场景的识别方法和装置、存储介质及电子装置 |
-
2021
- 2021-09-30 CN CN202111161562.0A patent/CN113923485A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110166780A (zh) * | 2018-06-06 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 视频的码率控制方法、转码处理方法、装置和机器设备 |
CN112402980A (zh) * | 2020-10-30 | 2021-02-26 | 天津亚克互动科技有限公司 | 游戏运行的适配方法、装置及电子设备 |
CN112230758A (zh) * | 2020-11-09 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 帧率调整方法、装置、设备及计算机可读存储介质 |
CN112104879A (zh) * | 2020-11-13 | 2020-12-18 | 腾讯科技(深圳)有限公司 | 一种视频编码方法、装置、电子设备及存储介质 |
CN113254123A (zh) * | 2021-05-11 | 2021-08-13 | 西安万像电子科技有限公司 | 云桌面场景的识别方法和装置、存储介质及电子装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114338550A (zh) * | 2022-03-14 | 2022-04-12 | 杭州子默网络科技有限公司 | 一种减低带宽的云电脑实时编码方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106804003B (zh) | 基于ffmpeg的视频编辑方法及装置 | |
CN114051145B (zh) | 一种视频压缩处理方法、装置及介质 | |
CN108881781B (zh) | 视频通话过程中分辨率的确定方法及装置 | |
WO2017202170A1 (zh) | 一种图像压缩方法、装置及电子设备 | |
CN110377391B (zh) | 图片显示方法、装置、移动终端及存储介质 | |
CN108509272B (zh) | 将gpu显存纹理拷贝到系统内存的方法、装置及电子设备 | |
CN109445918B (zh) | 任务调度方法、装置、终端及存储介质 | |
WO2017202175A1 (zh) | 一种视频压缩方法、装置及电子设备 | |
CN112637675B (zh) | 视频生成方法、装置、电子设备以及存储介质 | |
CN111708642B (zh) | Vr系统中处理器性能优化方法、装置及vr设备 | |
CN110647366B (zh) | 处理卡顿的方法、装置、终端及存储介质 | |
EP2939213A1 (en) | Redundant pixel mitigation | |
CN108635851B (zh) | 一种游戏画面的处理方法和装置 | |
CN115396705B (zh) | 投屏操作验证方法、平台及系统 | |
CN113923485A (zh) | 一种调整码率的方法、装置、及计算机可读存储介质 | |
CN111124282A (zh) | 一种对象存储系统中的存储方法、存储装置及存储设备 | |
CN108966005A (zh) | 一种视频分辨率的调节方法、装置、存储介质及终端 | |
CN115776568A (zh) | 一种视频压缩方法、系统、装置及介质 | |
US20220383836A1 (en) | Image display method and apparatus, device, and storage medium | |
CN110658904A (zh) | 控制终端电流的方法、装置、终端及存储介质 | |
CN110633148A (zh) | 一种系统运行的优化方法、装置、电子设备及存储介质 | |
CN110659136A (zh) | 限制帧率的方法、装置、终端及存储介质 | |
CN109640094A (zh) | 视频解码方法、装置以及电子设备 | |
CN110633003B (zh) | 降低功耗的方法、装置、终端及存储介质 | |
CN114785887A (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 |