一种基于云桌面的视频流处理方法及装置制造方法

文档序号:7820967阅读:310来源:国知局
一种基于云桌面的视频流处理方法及装置制造方法
【专利摘要】本发明公开了一种基于云桌面的视频流处理方法及装置。该方法包括:监控云桌面服务器和终端之间的网络状态以确定网络参数;接收终端运行的性能参数并确定终端运行状态;根据所述终端的运行状态和网络参数调整视频帧压缩率和帧率;基于所述视频帧压缩率和帧率对视频数据进行压缩处理,以得到与当前终端运行状态和网络状态相匹配的视频流。本发明可根据当前网络的负载情况实时调整视频帧压缩率,并结合终端的运行状态调整视频帧的帧率,从而优化云桌面视频传输的压缩方法,降低云桌面系统对带宽的要求。
【专利说明】—种基于云桌面的视频流处理方法及装置

【技术领域】
[0001]本发明涉及云计算【技术领域】,具体地说,涉及一种基于云桌面的视频流处理方法及装置。

【背景技术】
[0002]随着云计算的不断发展,虚拟桌面解决方案日益成熟,桌面虚拟化成为典型的云计算应用。云桌面是一种基于中心服务器的计算模型,建立在服务器虚拟化的基础之上。所有的桌面虚拟机在数据中心进行托管并统一管理,同时,用户能够获得完整的PC使用体验,可以根据自己的需求使用虚拟桌面服务。
[0003]在云桌面模式下,桌面服务器和用户终端之间可以完成图形、图像和音频的传输。桌面服务器需要实时地将桌面图像传输到用户终端,同时还要处理用户终端接收的鼠标、键盘和其他外设的输入信息。这些应用对网络性能提出了很高的要求。
[0004]特别地,在用户使用云桌面的过程中,视频播放是一种必不可少的重要应用。现有的云桌面视频播放技术并不能根据网络环境状态来动态调整视频的传输效率。这导致在低带宽的网络环境下不能提供流畅的视频数据,而在网络环境较好的情况下,又不能充分利用带宽资源来提供高清晰度的视频。
[0005]因此,如何提高云桌面的视频播放性能,使用户获得普通PC的视频播放体验,是摆在云桌面提供商面前的一种技术难题。


【发明内容】

[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]图1是本发明实施例的云桌面服务器和终端设备的网络架构示意图;
[0045]图2是本发明实施例的基于云桌面的视频流处理方法的步骤流程图;
[0046]图3为本发明实施例中云桌面服务器确定终端运行状态的步骤流程图;
[0047]图4为本发明实施例中云桌面服务器调整视频压缩率的步骤流程图;
[0048]图5为本发明实施例中云桌面服务器调整视频帧率的步骤流程图;
[0049]图6为本发明实施例中基于云桌面的视频流处理装置的结构示意图。

【具体实施方式】
[0050]以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。在不相冲突的前提下,本发明的实施例以及各实施例中的技术特征可以相互组合。
[0051]本发明的实施例提供一种基于云桌面的视频流数据处理方法,特别是提供一种基于简单协议独立计算环境(Simple Protocol for Independent Computing Environment,SPICE)的云桌面视频播放性能优化方法。本发明的实施例采用灵活的自适应机制提高云桌面视频的传输效率,以动态适应不同的网络环境和终端的运行状态,从而解决用户终端在使用云桌面进行视频播放的过程中出现的性能不佳问题。
[0052]在本发明的实施例中,云桌面是由云桌面服务器向终端设备提供的一种灵活的虚拟化桌面环境,终端设备通过SPICE协议访问云桌面服务器从而获得视频服务。图1为本发明实施例中云桌面服务器和终端设备的网络架构示意图。云桌面服务器11和若干终端设备12之间通过通信网络连接,云桌面服务器11中存储大量视频数据,基于SPICE协议可响应于终端设备12的请求并将相应的视频流传输给终端设备。其中,终端设备12可采用PC (台式机或者笔记本电脑)、瘦客户机设备或者移动终端设备等。
[0053]实施例一
[0054]图2为本实施例中基于云桌面的视频流处理方法的步骤流程图。以下参照图2对本实施例中的方法做详细说明。
[0055]在步骤S210中,云桌面服务器监控云桌面服务器和终端之间的网络状态以确定网络参数。其中,网络参数包括但不限于网络延迟时间、丢包率和吞吐量等。通过实时监控网络状态,可根据网络参数来判断网络的负载情况。
[0056]例如,如果出现网络延迟时间过大、丢包率增加或者吞吐量降低,则表明当前的网络传输状态不佳,需要对视频帧做较大程度的压缩以适应当前的网络状况。如果网络延迟时间较小、丢包率很小或者吞吐量较高,则表明当前的网络传输状态较佳,能够支撑清晰度较高的视频流,可以降低对视频帧的压缩程度。
[0057]在步骤S220中,云桌面服务器接收终端运行的性能参数并确定终端运行状态。其中,终端运行的性能参数包括但不限于CPU使用率和内存使用率等,可用于判断终端当前运行的繁忙程度。
[0058]在终端运行的繁忙程度较高时,则不能处理较高帧率的视频流,需要相应减小视频帧的帧率来使用户所观看的视频流更加流畅。相反地,在终端处于空闲状态时,则可相应提闻视频巾贞的巾贞率,来减少视频图像的跳动,使视频图像较稳定。
[0059]随后,在步骤S230中,云桌面服务器根据终端的运行状态和网络参数调整视频帧压缩率和帧率。具体来说,由第一预设网络参数和监控得到的网络参数判断网络的负载情况,进而根据网络的负载情况调整视频帧压缩率,随后根据视频帧压缩率和终端的运行状态调整帧率。其中,第一预设网络参数可以是上文所述的网络延迟时间、丢包率和吞吐量等参数中的一种或者几种。
[0060]在本示例中,SPICE的视频传输采用MJPEG运动静止图像(或逐帧)压缩技术来完成视频帧压缩。MJPEG压缩处理前与处理后的最小独立单元都是帧,可以对每一帧进行压缩。这样,利用MJPEG对视频图像进行编辑时,可以方便地定位到某一帧。
[0061]但是,MJPEG压缩方法并未考虑到视频流中不同帧之间的变化,只针对单独的某一帧进行压缩。其压缩倍数为20-80倍,分辨率可从352*288到704*576,但是其压缩效率较低。由于MJPEG压缩算法是根据每一帧图像的内容进行压缩,而不是根据相邻帧图像之间的差异进行压缩,因此造成大量冗余信息被重复存储。如果采用更高的压缩率则会导致视频图像更加模糊,图像质量严重降低。
[0062]为此,本示例中在调整压缩率时,同时调整视频帧的帧率,来灵活控制在单位时间内传输的视频帧的帧数。这样既能够保证每个视频帧内较优的压缩程度,又能控制帧与帧之间合理的传送时间,使得用户在终端观看视频时,视频清晰度更高并且流畅。
[0063]接下来,在步骤S240中,云桌面服务器基于调整之后的视频帧压缩率和帧率对视频数据进行压缩处理,以得到与当前终端运行状态和网络状态相匹配的视频流。这样通过云桌面服务器通过监测用户终端的运行状态和网络负载状态,实时调整对视频帧的压缩程度,完成视频帧内部压缩和帧间压缩,得到与用户终端实际使用情况匹配的视频流。
[0064]优选地,本实施例还包括发送步骤,发送与当前终端运行状态和网络状态相匹配的视频流。具体来说,将经过压缩处理的视频流送入发送队列,依次发送至用户终端。
[0065]以下对步骤S220中云桌面服务器根据接收终端运行的性能参数来确定终端运行状态的过程进行详细说明。图3为本实施例中确定终端运行状态的步骤流程图。在本示例中优选终端的CPU使用率和内存使用率做为终端运行的性能参数,并设定性能参数的阈值。通过终端实时运行的性能参数与预设的阈值比较,来确定终端处在空闲或者繁忙的状态。
[0066]优选的,可预设多个性能参数阈值来将终端的繁忙状态划分为不同等级,从而在后续调整帧率的步骤中,根据繁忙状态的不同等级设定相应的帧率。
[0067]在图3中,云桌面服务器首先获取终端的CPU使用率(步骤S310),并获取终端的内存使用率(步骤S320)。将终端的CPU使用率和内存使用率与第一阈值比较(步骤S330),若CPU使用率或者内存使用率小于第一阈值,则将终端的CPU使用率和内存使用率与第二阈值比较(步骤S350),若CPU使用率或者内存使用率小于第二阈值,则返回终端的状态为空闲状态(步骤S370)。为了便于说明,此处将空闲状态记为第一状态。终端处于空闲状态说明可以处理高清视频流。
[0068]在一个优选方案中,第一阈值设定为80%,第二阈值设定为60%。容易理解,根据不同的终端类型可以为第一和第二阈值设定不同的数值。
[0069]在步骤S330中,如果CPU使用率和内存使用率均大于第一阈值,则返回终端的状态为第二状态(步骤S340)。在步骤S350中,如果CPU使用率和内存使用率均大于第一阈值,则返回终端的状态为第三状态(步骤S360)。
[0070]其中,在第二状态和第三状态下,终端均处于繁忙状态,不适合处理清晰度较高且帧率较高的视频流。且第二状态的繁忙程度较第三状态更高,需要将帧率减小。
[0071]需要说明的是,虽然在图3的示例中将终端的运行状态划分为上述三种,但可设定更多个性能参数阈值来划分终端繁忙程度的等级。例如,针对笔记本电脑一类的终端,用户对终端播放的视频质量要求较高,可以对其繁忙程度更细致地分为不同等级,进而设定不同的帧率。
[0072]以下对步骤S230中,云桌面服务器由第一预设网络参数和监控得到的网络参数判断网络的负载情况,进而根据网络的负载情况调整视频帧压缩率的过程进行详细说明。
[0073]图4为本实施例中云桌面服务器调整视频压缩率的步骤流程图。首先获取最后一个视频帧的大小(步骤S410),然后获取当前网络状态所对应的网络参数(步骤S420),判断当前的网络参数是否大于第一预设网络参数值(步骤S430)。在一个优选的示例中,可以将网络传输的往返时延(Round-Trip Time, RTT)作为网络参数,相应地将云桌面系统所允许的最大往返时延作为第一预设网络参数值。
[0074]若当前的网络参数大于第一预设网络参数值,说明当前的网络的工作状态为重负载,不适合传输高清视频数据,那么需要增大压缩率来使视频帧数据量减小以减轻网络负载。在这种情况下,判断当前压缩率是否小于第一预设压缩率(步骤S440),若是,则将视频帧压缩率设定为第一预设压缩率(S441),若否,则以预设步长增加压缩率直到设定的压缩率最大值(S442),来使得视频帧数据量减小,减轻网络负载。
[0075]在一个优选方案中,第一预设压缩率设定为60。这样经过步骤S441的调整,可保证视频帧保持在按照压缩率为60进行处理后所对应的清晰度,避免过度压缩导致图像模糊。
[0076]在步骤S442中压缩率的增加步长优选为10,并设定的压缩率最大值为100。不限于此,可针对视频图像的不同类型和终端的型号来设定步长值,保证在压缩率调整过程中在终端上展示给用户的视频图像不会产生过大的清晰度差距,以提高用户体验。
[0077]若当前的网络参数小于第一预设网络参数值,说明当前的网络的工作状态为轻负载,能够传输高清视频,可以减小视频的压缩比,甚至可以达到无损压缩的效果。
[0078]在这种情况下,判断当前压缩率是否大于第一预设压缩率(步骤S450),若是,则预设步长减小压缩率直到设定的压缩率最小值(步骤S451),来使得视频帧数据量增大,提高图像清晰度。
[0079]在一个优选方案中,在步骤S451中压缩率的减小步长优选为10,并设定的压缩率最小值为20。本领域技术人员容易理解,减小步长值和压缩率最小值可根据实际的视频种类和终端类型进行设置。
[0080]若在步骤S450中判断当前压缩率小于第一预设压缩率,随后判断最后一个视频帧的大小是否小于平均帧大小(步骤S452)。若是,则说明当前视频帧为短帧,可将当前的视频帧压缩率设定为第二预设压缩率值(步骤S453),若否,则当前视频帧压缩率不做调難
iF.0
[0081]其中,在步骤S453中,第二预设压缩率优选设定为20,这样在当前视频帧为短帧,且网络负载较轻的情况下可以向终端提供高清图像。在应用中,将第一预设压缩率设置为大于第二预设压缩率即可。
[0082]至此为止,云服务器完成对视频帧压缩率的调整,可根据当前网络的负载情况实时调整压缩率。在网络带宽无法负担当前的视频传输时,增大视频的压缩比;而当网络带宽好转时,减小视频的压缩比,提高图像清晰度。
[0083]以下对步骤S230中,云桌面服务器根据所述视频帧压缩率和终端的运行状态调整帧率的过程进行详细说明。
[0084]图5为本实施例中云桌面服务器调整视频调整帧率的步骤流程图。首先获取上文中设定的视频帧压缩率(步骤S510),并获得终端当前的运行状态(步骤S520)。判断终端处于哪一状态(步骤S530),若终端处于第一状态,说明终端处于空闲状态,可以处理高清晰度的视频流,则云桌面服务器实时获取网络参数(步骤S540)来判断当前的网络负载状态。
[0085]判断实时获取的网络参数是否小于第二预设网络参数值(步骤S541),若是,说明当前网络处于轻负载状态,则将视频帧率设置为第一帧率(步骤S542),从而依照较高的帧率发送视频流。这样能够配合终端的空闲状态和网络的轻负载状态来提供高码率的视频流,在终端上显示的视频图像更稳定。
[0086]若实时获取的网络参数大于第二预设网络参数值,说明当前网络的带宽状态并非最优,则对视频帧的帧率不做调整。在这种状态下,尽管终端处于空闲状态,但是网络不适合发送高码率视频,因此对码率不做调整。
[0087]在一个优选的示例中,可以将网络传输的往返时延RTT作为网络参数,相应地将云桌面系统预设的最小往返时延作为第二预设网络参数值。在本示例中可将第一帧率设定为30,容易理解,针对不同的终端类型和视频种类可以将第一帧率设定为不同的数值。
[0088]若在步骤S530中判断终端处于第二状态,即处于繁忙程度较高的状态,则判断视频帧压缩率是否大于第一预设压缩率(步骤S550)。若是,则说明终端的处理能力不能匹配当前的视频流码率,将视频帧率设置为第二帧率(步骤S551)来降低视频流的数据量,以使终端减轻显示负担。
[0089]若在步骤S530中判断终端处于第三状态,即处于繁忙程度较低的状态,则判断视频帧压缩率是否大于第一预设压缩率(步骤S560)。若是,则说明终端的处理能力不能匹配当前的视频流码率,将视频帧率设置为第三帧率(步骤S561)来降低视频流的数据量,以使终端减轻显示负担。
[0090]为了便于说明,上文中的第一帧率可称为空闲状态帧率,第二和第三帧率可称为繁忙状态帧率。其中,空闲状态帧率设定为大于繁忙状态帧率,以向终端提供更流畅的视频流。
[0091]在一个优选的示例中,第二帧率设定为20,第三帧率设定为24,以使得当终端处于繁忙程度较高的情况下,云桌面服务器以较低的帧率向终端发送视频流。相应的,若终端当前运行状态的繁忙程度降低,可相应增大视频帧的帧率。
[0092]综上所述,本实施例中提供的方法可根据当前网络的负载情况实时调整视频帧压缩率,并结合终端的运行状态调整视频帧的帧率,从而优化云桌面视频传输的压缩方法,降低云桌面系统对带宽的要求。
[0093]与常规的视频压缩方法相比,本发明实施例不仅可针对视频帧内部的冗余进行压缩,还能通过调整帧率压缩帧与帧之间的发送间隔,从而实现帧间压缩。
[0094]此外,本发明实施例通过云桌面服务器完成视频帧内部压缩和帧间压缩,在不增加客户终端附加功能的前提之下提高压缩效果。
[0095]实施例二
[0096]本实施例提供一种基于云桌面的视频流处理装置,其结构如图6所示。该装置600包括监控单元610、接收单元620、调整单元630和处理单元640。
[0097]监控单元610用于监控云桌面服务器和终端之间的网络状态以确定网络参数。接收单元620用于接收终端运行的性能参数并确定终端运行状态。调整单元630分别与监控单元610和接收单元620连接,用于根据所述终端的运行状态和网络参数调整视频帧压缩率和巾贞率。
[0098]处理单元640连接至调整单元630,用于基于所述视频帧压缩率和帧率对视频数据进行压缩处理,以得到与当前终端运行状态和网络状态相匹配的视频流。
[0099]在一个优选示例中,该装置600还包括发送单元(图中未示出),其连接至处理单元640,用于发送所述与当前终端运行状态和网络状态相匹配的视频流。
[0100]其中,调整单元630进一步包括压缩率调整模块631和帧率调整模块632。压缩率调整模块631用于由第一预设网络参数和监控得到的网络参数判断网络的负载情况,进而根据网络的负载情况调整视频帧压缩率。帧率调整模块632用于根据所述视频帧压缩率和终端的运行状态调整帧率。
[0101]进一步而言,压缩率调整模块631还包括重载调整子模块和轻载调整子模块(图中未示出)。其中,重载调整子模块用于在网络为重负载的情况下,若当前视频帧压缩率大于第一预设压缩率,则增大视频帧压缩率以使得视频帧数据量减小,若当前视频帧压缩率小于第一预设压缩率,则将视频帧压缩率设定为第一预设压缩率;轻载调整子模块用于在网络为轻负载的情况下,若当前视频帧压缩率大于第一预设压缩率,则减小视频帧压缩率以使得视频帧数据量增大。
[0102]并且,轻载调整子模块还用于在网络为轻负载的情况下,若当前视频帧压缩率小于第一预设压缩率,则判断最后一个视频帧的大小是否小于平均帧大小,若是,则将当前视频帧压缩率设定为第二预设压缩率,以增大视频帧的数据量;若否,则对将当前视频帧压缩率不做调整。
[0103]进一步而言,帧率调整模块632还包括繁忙状态调整子模块和空闲状态调整子模块(图中未示出)。繁忙状态调整子模块用于在终端处于繁忙状态时,在所述视频帧压缩率大于第一预设压缩率的情况下,将帧率设定为预设的繁忙状态帧率;空闲状态调整子模块用于在终端处于空闲状态时,在监控得到的网络参数小于第二预设网络参数的情况下,将帧率设定为预设的空闲状态帧率,其中所述空闲状态帧率大于繁忙状态帧率。
[0104]目前的云桌面视频播放技术并不能根据网络环境状态来动态调整视频的传输效率。本发明的实施例可根据当前网络的负载情况实时调整视频帧压缩率,并结合终端的运行状态调整视频帧的帧率,从而优化云桌面视频传输的压缩方法,降低云桌面系统对带宽的要求。
[0105]虽然本发明所公开的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属【技术领域】内的技术人员,在不脱离本发明所公开的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
【权利要求】
1.一种基于云桌面的视频流处理方法,其特征在于,包括以下步骤: 监控云桌面服务器和终端之间的网络状态以确定网络参数; 接收终端运行的性能参数并确定终端运行状态; 根据所述终端的运行状态和网络参数调整视频帧压缩率和帧率; 基于所述视频帧压缩率和帧率对视频数据进行压缩处理,以得到与当前终端运行状态和网络状态相匹配的视频流。
2.根据权利要求1所述的方法,其特征在于,在根据所述终端的运行状态和网络状态调整视频帧压缩率和帧率的步骤中包括: 由第一预设网络参数和监控得到的网络参数判断网络的负载情况,进而根据网络的负载情况调整视频帧压缩率; 根据所述视频帧压缩率和终端的运行状态调整帧率。
3.根据权利要求2所述的方法,其特征在于,在根据网络的负载情况调整视频帧压缩率的步骤中, 在网络为重负载的情况下,若当前视频帧压缩率大于第一预设压缩率,则增大视频帧压缩率以使得视频帧数据量减小,若当前视频帧压缩率小于第一预设压缩率,则将视频帧压缩率设定为第一预设压缩率; 在网络为轻负载的情况下,若当前视频帧压缩率大于第一预设压缩率,则减小视频帧压缩率以使得视频帧数据量增大。
4.根据权利要求2所述的方法,其特征在于,在根据所述视频帧压缩率和终端的运行状态调整帧率的步骤中, 在终端处于繁忙状态时,则在所述视频帧压缩率大于第一预设压缩率的情况下,将帧率设定为预设的繁忙状态帧率; 在终端处于空闲状态时,则在监控得到的网络参数小于第二预设网络参数的情况下,将帧率设定为预设的空闲状态帧率,其中所述空闲状态帧率大于繁忙状态帧率。
5.根据权利要求4所述的方法,其特征在于,在终端处于繁忙状态时,根据终端运行的性能参数将终端的繁忙状态划分为不同等级,并分别设定相应的繁忙状态帧率。
6.根据权利要求3所述的方法,其特征在于,在网络为轻负载的情况下,若当前视频帧压缩率小于第一预设压缩率,则判断最后一个视频帧的大小是否小于平均帧大小, 若是,则将当前视频帧压缩率设定为第二预设压缩率,以增大视频帧的数据量,其中,第一预设压缩率大于第二预设压缩率; 若否,则对将当前视频帧压缩率不做调整。
7.一种基于云桌面的视频流处理装置,其特征在于,包括: 监控单元,用于监控云桌面服务器和终端之间的网络状态以确定网络参数; 接收单元,用于接收终端运行的性能参数并确定终端运行状态; 调整单元,用于根据所述终端的运行状态和网络参数调整视频帧压缩率和帧率; 处理单元,用于基于所述视频帧压缩率和帧率对视频数据进行压缩处理,以得到与当前终端运行状态和网络状态相匹配的视频流。
8.根据权利要求7所述的装置,其特征在于,所述调整单元进一步包括: 压缩率调整模块,其用于由第一预设网络参数和监控得到的网络参数判断网络的负载情况,进而根据网络的负载情况调整视频帧压缩率; 帧率调整模块,其用于根据所述视频帧压缩率和终端的运行状态调整帧率。
9.根据权利要求8所述的装置,其特征在于,所述压缩率调整模块还包括: 重载调整子模块,用于在网络为重负载的情况下,若当前视频帧压缩率大于第一预设压缩率,则增大视频帧压缩率以使得视频帧数据量减小,若当前视频帧压缩率小于第一预设压缩率,则将视频帧压缩率设定为第一预设压缩率; 轻载调整子模块,其用于在网络为轻负载的情况下,若当前视频帧压缩率大于第一预设压缩率,则减小视频帧压缩率以使得视频帧数据量增大。
10.根据权利要求8所述的装置,其特征在于,所述帧率调整模块还包括: 繁忙状态调整子模块,其用于在终端处于繁忙状态时,在所述视频帧压缩率大于第一预设压缩率的情况下,将帧率设定为预设的繁忙状态帧率; 空闲状态调整子模块,其用于在终端处于空闲状态时,在监控得到的网络参数小于第二预设网络参数的情况下,将帧率设定为预设的空闲状态帧率,其中所述空闲状态帧率大于繁忙状态帧率。
【文档编号】H04N21/238GK104394486SQ201410696432
【公开日】2015年3月4日 申请日期:2014年11月26日 优先权日:2014年11月26日
【发明者】徐浩, 罗飞, 赵峰, 乔咏, 宋潇豫, 张永军 申请人:中标软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1