远程桌面的动态视频帧处理方法、系统、介质及服务器
文献发布时间:2023-06-19 09:41:38
技术领域
本发明属于网络通信技术领域,涉及一种编码控制方法,特别是涉及一种远程桌面的动态视频帧处理方法、系统、介质及服务器。
背景技术
随着互联网技术的快速应用,越来越多的用户使用各种终端设备访问云端主机参与各种活动,例如:云游戏。云游戏技术是将游戏运行在远程服务器上,将游戏的画面进行捕获并压缩后传输至客户端,客户端将游戏画面呈现给用户,同时客户端获取用户的操控设备数据,将用户输入上传至远程服务器使其运行的游戏响应用户的输入行为。
云游戏对于客户端来说需要较高的网络质量以及带宽需求,而网络是在远程装置之间传送数据期间建立或使用的,故会引起数据传输中的延迟并且可因此导致延时以及过高的带宽。尽管远程服务端或客户端装置均试图通过多种方法实现降低带宽,例如从诸如视频画面的编码方式、增高压缩比以及从在客户端降低比特率等方式来降低网络带宽,但这些方法只是在数据传输过程中采取解决措施,并未从原始数据量方面考虑降低客户端使用带宽。在实际应用中,有些用户带宽较低,程序运行起来画面经常卡顿,流畅度不够或者不清晰,非常影响用户体验,进而也导致了该远程云桌面的使用用户仅局限于配置较高、网络状况好的用户终端,无法普遍适用于所有用户终端,更不利于用户的享乐,从而导致用户失望甚至完全放弃一个平台。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种远程桌面的动态视频帧处理方法、系统、介质及服务器,用于解决现有技术中远程桌面的应用对网络和终端设备配置要求较高,普适性不强的问题。
为实现上述目的及其他相关目的,本发明提供一种远程桌面的动态视频帧处理方法,所述远程桌面的动态视频帧处理方法包括:根据远程桌面的视频画面变化进行画面捕获;将捕获的视频画面进行压缩编码发送至客户端以便显示。
所述根据远程桌面的视频画面变化进行画面捕获的一种实现过程包括:将所述远程桌面的当前视频画面与上一帧视频画面进行对比;若所述当前视频画面相对于上一帧视频画面发生了变化,则捕获所述当前视频画面;若所述当前视频画面相对于上一帧视频画面未发生变化,则不捕获所述当前视频画面。
所述将捕获的视频画面进行压缩编码发送至客户端的一种实现过程包括:将捕获的当前视频画面与上一帧视频画面进行对比,获得视频画面的变化内容;将所述视频画面的变化内容进行压缩编码成视频帧数据,并发送至客户端。
所述将捕获的视频画面进行压缩编码发送至客户端的一种实现过程包括:将捕获的当前视频画面压缩编码发送至客户端。
所述根据远程桌面的视频画面变化进行画面捕获的一种实现过程包括:根据预设的视频帧数对所述远程桌面的视频画面进行捕获;将捕获的当前视频画面与上一帧捕获的视频画面进行对比;若所述当前视频画面相对于上一帧捕获的视频画面发生了变化,则保留捕获的当前视频画面;若所述当前视频画面相对于上一帧捕获的视频画面未发生变化,则丢弃捕获的当前视频画面。
所述将捕获的视频画面进行压缩编码发送至客户端的一种实现过程包括:将保留的当前视频画面与上一帧捕获的视频画面进行对比,获得视频画面的变化内容;将所述视频画面的变化内容进行压缩编码成视频帧数据,并发送至客户端。
所述将捕获的视频画面进行压缩编码发送至客户端的一种实现过程包括:将保留的当前视频画面压缩编码发送至客户端。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述远程桌面的动态视频帧处理方法。
本发明还提供一种服务器,所述服务器包括:存储器,存储有一计算机程序;处理器,与所述存储器通信相连,在调用所述计算机程序时实现上述远程桌面的动态视频帧处理方法。
本发明还提供一种远程桌面的动态视频帧处理系统,所述远程桌面的动态视频帧处理系统包括:服务器和至少一客户端;所述服务器根据远程桌面的视频画面变化进行画面捕获,并将捕获的视频画面进行压缩编码成视频帧数据;所述客户端与所述服务器通信相连,接收所述服务器发送的视频帧数据,并将所述视频帧数据解码渲染后显示。
如上所述,本发明所述的远程桌面的动态视频帧处理方法、系统、介质及服务器,具有以下有益效果:
本发明根据服务器提供的远程桌面的视频画面实际变化情况制定远程桌面的视频帧发送策略发送给客户端,使客户端接收到视频帧数据后通过解码渲染获得与远程桌面基本保持一致且显示流畅不卡顿的视频画面。
本发明仅将影响远程桌面变化的视频画面传输给客户端,降低了对客户端的带宽要求,且无需补偿帧,也避免了补偿帧导致的视频画面延迟问题。
附图说明
图1显示为本发明实施例所述的远程桌面的动态视频帧处理方法的一种实现流程示意图。
图2A显示为本发明实施例所述的远程桌面的动态视频帧处理方法的一种示例性实现流程示意图。
图2B显示为本发明实施例所述的远程桌面的动态视频帧处理方法的第二种示例性实现流程示意图。
图2C显示为本发明实施例所述的远程桌面的动态视频帧处理方法的第三种示例性实现流程示意图。
图2D显示为本发明实施例所述的远程桌面的动态视频帧处理方法的第四种示例性实现流程示意图。
图3显示为本发明实施例所述的计算机存储介质的一种结构示意图。
图4显示为本发明实施例所述的服务器的一种实现结构示意图。
图5显示为本发明实施例所述的远程桌面的动态视频帧处理系统的一种实现架构示意图。
图6A显示为本发明实施例所述的远程桌面的动态视频帧处理方法的步骤S102的一种具体实现方式示意图。
图6B显示为本发明实施例所述的远程桌面的动态视频帧处理方法的步骤S102的另一种具体实现方式示意图。
元件标号说明
300 计算机可读存储介质
400 服务器
410 存储器
420 处理器
500 远程桌面的动态视频帧处理系统
510 服务器
520 客户端
S101~S102 步骤
S201a~S203a,S211a~S212a 步骤
S201b~S204b,S211b~S212b 步骤
S201c~S203c,S211c 步骤
S201d~S204d,S211d 步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
视频都是由静止的画面组成的,这些静止的画面被称为帧。一般来说,帧率低于15帧/秒,连续的运动视频就会有停顿的感觉。帧数越多数据量越大,所以有时为了减少数据量而降低了帧速,但画面效果较差。
视频帧率(Frame rate)是用于测量显示帧数的量度。所谓的测量单位为每秒显示帧数(Frames per Second,FPS)。由于人类眼睛的特殊生理结构,如果所看画面之帧率高于16的时候,就会认为是连贯的,此现象称之为视觉停留。这也就是为什么电影胶片是一格一格拍摄出来,然后快速播放的。而对游戏而言,一般来说,第一人称射击游戏比较注重FPS的高低,如果FPS<30的话,游戏会显得不连贯。一般来说30FPS就是可以接受的,但是将性能提升至60FPS则可以明显提升交互感和逼真感,一般来说,60FPS为当前游戏行业的基准帧率。如果帧率超过屏幕刷新率只会浪费图形处理的能力,因为监视器不能以这么快的速度更新,这样超过刷新率的帧率就浪费掉了。
画面每秒传输帧数(Frame Per Second,FPS)是图像领域中的定义,通俗来讲就是指动画或视频的画面数。FPS是测量用于保存、显示动态视频的信息数量。每秒钟帧数愈多,所显示的动作就会越流畅。对于静态画面,实际FPS只需1帧便可,一般游戏最低是30帧,枪击类游戏则需60帧的样子,各游戏厂商或者通常的视频画面所需的FPS各不相同,而要避免视频画面不流畅的的常规做法则是设置统一的FPS,但该方法会造成带宽资源占用高以及服务器计算资源的浪费。例如:远程服务器在进行视频画面捕获编码发送时,设定好一定数量的视频画面数量的捕获频率并编码处理生成视频帧后全部发送给客户端,即FPS是固定的,由此会存在以下问题:
1)若设定的FPS为50,而远程服务器的视频画面实际帧数大于50,实际在客户端接收并渲染出的画面则没有实际画面流畅;所想要强行将帧数提高,则需要进行补帧操作,而利用画面合成进行补帧一方面会过高地使用服务器的计算资源,另一方面在客户端接收渲染出来的画面也会存在画面延迟。
2)若远程服务器的视频画面实际帧数小于50,而按照预设的FPS来进行捕获编码发送,则在传输过程中的视频画面的数量比实际需要的要大,也就是说所需的带宽更高,而视频画面质量并未变好。
为解决上述问题,本发明在远程服务器端进行视频画面播放并利用系统图形接口进行视频帧捕获生成时,根据远程桌面的动态变化动态地调整视频帧数,即远程桌面实际有多少帧则发送给客户端多少帧,保持帧数一致,不但保证了客户端显示远程桌面的画面流畅不卡顿,还解决了客户端所需的传输带宽较高的问题,同时也避免了由画面合成进行补帧所导致的画面延迟问题。
请参阅图1,本发明实施例提供一种远程桌面的动态视频帧处理方法,所述远程桌面的动态视频帧处理方法包括:
S101,根据远程桌面的视频画面变化进行画面捕获。当远程桌面的画面对比上一张有所变化时,可以利用系统图形接口进行捕获,无变化的画面则不进行捕获。
S102,将捕获的视频画面进行压缩编码发送至客户端以便显示。客户端可以对接收到的视频画面(即视频帧数据)进行解码渲染,以便显示。
本发明所述的远程桌面视频帧动态处理方法的保护范围不限于本实施例列举的步骤执行顺序,凡是根据本发明的原理所做的现有技术的步骤增减、步骤替换所实现的方案都包括在本发明的保护范围内。
本发明将捕获到的画面进行处理,如通过高效的压缩编码方式进行处理后发送给客户端,以便客户端进行解码渲染,如此达到客户端的视频画面对比于远程桌面的视频画面便是无差别播放的效果,画面流畅,且基本保持无延迟,占用客户端带宽低。
参见图2A所示,于本发明的一实施例中,所述远程桌面的动态视频帧处理方法的一种实现过程包括:
S101,根据远程桌面的视频画面变化进行画面捕获,具体实现过程包括:
S201a,将所述远程桌面的当前视频画面与上一帧视频画面进行对比;
S202a,若所述当前视频画面相对于上一帧视频画面发生了变化,则捕获所述当前视频画面;
S203a,若所述当前视频画面相对于上一帧视频画面未发生变化,则不捕获所述当前视频画面。
S102,将捕获的视频画面进行压缩编码发送至客户端以便显示,具体实现过程包括:
S211a,将捕获的当前视频画面与上一帧视频画面进行对比,获得视频画面的变化内容;
S212a,将所述视频画面的变化内容进行压缩编码成视频帧数据,并发送至客户端。本发明中,所述客户端对接收到的视频帧数据进行解码渲染后显示。
进一步,步骤S211a将捕获的当前视频画面与上一帧视频画面进行对比,获得视频画面的变化内容的一种实施过程包括:经过对比发现视频画面的变化内容,如发生变化的像素点。
步骤S212a将所述视频画面的变化内容进行压缩编码成视频帧数据的一种实施过程包括:设置一围栏将所述视频画面的变化内容包含在内,将所述围栏所包含的内容压缩编码成视频帧数据。当所述围栏为不规则多边形时,可称为凸包,参见图6A所示。当所述围栏为矩形或正方形时,可称为矩阵凸包,参见图6B所示,a为整个视频画面,黑点表示对比上一帧视频画面发生变化的像素部分,b为包含所有发生变化像素部分的矩阵凸包。凸包(Convex Hull)是包含集合X的所有凸集的交集,是计算几何(图形学)中的概念,矩阵凸包则是包含集合X的所有凸集的矩阵交集。所述围栏可以由发生变化的像素部分的最外围的像素点依次连线而成。一般来说,将视频画面变化部分建立矩阵凸包的像素数据集进行编码发送最为简单方便,计算量小。
相比之下,逐一取得每个视频画面的变化数据的方式的时间消耗较长、计算资源消耗也较多;而本发明采用围栏式获取每个视频画面的变化数据的方式,执行简单快速,资源消耗较少。
参见图2B所示,于本发明的一实施例中,所述远程桌面的动态视频帧处理方法的一种实现过程包括:
S101,根据远程桌面的视频画面变化进行画面捕获,具体实现过程包括:
S201b,根据预设的视频帧数对所述远程桌面的视频画面进行捕获;
S202b,将捕获的当前视频画面与上一帧捕获的视频画面进行对比;
S203b,若所述当前视频画面相对于上一帧捕获的视频画面发生了变化,则保留捕获的当前视频画面;
S204b,若所述当前视频画面相对于上一帧捕获的视频画面未发生变化,则丢弃捕获的当前视频画面。
S102,将捕获的视频画面进行压缩编码发送至客户端以便显示,具体实现过程包括:
S211b,将保留的当前视频画面与上一帧捕获的视频画面进行对比,获得视频画面的变化内容;
S212b,将所述视频画面的变化内容进行压缩编码成视频帧数据,并发送至客户端。在保证视觉效果以及游戏视频画面效果的基础上,预设的视频帧数是可变的,可以根据需要进行灵活设置。本发明中,所述客户端对接收到的视频帧数据进行解码渲染后显示。
进一步,步骤S211b将当前视频画面与上一帧视频画面进行对比,获得视频画面的变化内容的一种实施过程包括:经过对比发现视频画面的变化内容,如发生变化的像素点。
步骤S212b将所述视频画面的变化内容进行压缩编码成视频帧数据的一种实施过程包括:设置一围栏将所述视频画面的变化内容包含在内,将所述围栏所包含的内容压缩编码成视频帧数据。当所述围栏为不规则凸多边形时,可称为凸包,参见图6A所示。当所述围栏为矩形或正方形时,可称为矩阵凸包,参见图6B所示,a为整个视频画面,黑点表示对比上一帧视频画面发生变化的像素部分,b为包含所有发生变化像素部分的矩阵凸包。凸包(Convex Hull)是包含集合X的所有凸集的交集,是计算几何(图形学)中的概念,矩阵凸包则是包含集合X的所有凸集的矩阵交集。所述围栏可以由发生变化的像素部分的最外围的像素点依次连线而成。一般来说,将视频画面变化部分建立矩阵凸包的像素数据集进行编码发送最为简单方便,计算量小。
在现实情况中,一般的电影、电视的FPS基本保持在20~30帧,而对于游戏而言,即使开发商将FPS设为120帧,甚至是180帧,一般人的肉眼可以感知的频闪范围是50Hz~60Hz,也就是说高帧数的视觉感受并不会比60帧来得更好,所以60帧基本可以满足极大多数人的视觉体验。例如:若使用系统图形接口进行画面捕获,为了保证60帧的视觉效果可预设每秒钟捕获60张画面,即预设的视频帧数为60;若远程桌面显示的是电影、电视剧等画面,则可将预设的视频帧数设为20~30间的任一数值。
参见图2C所示,于本发明的一实施例中,所述远程桌面的动态视频帧处理方法的一种实现过程包括:
S101,根据远程桌面的视频画面变化进行画面捕获,具体实现过程包括:
S201c,将所述远程桌面的当前视频画面与上一帧视频画面进行对比;
S202c,若所述当前视频画面相对于上一帧视频画面发生了变化,则捕获所述当前视频画面;
S203c,若所述当前视频画面相对于上一帧视频画面未发生变化,则不捕获所述当前视频画面。
S102,将捕获的视频画面进行压缩编码发送至客户端以便显示,具体实现过程包括:
S211c,将捕获的当前视频画面压缩编码发送至客户端。本发明中,所述客户端对接收到的视频帧数据进行解码渲染后显示。
参见图2D所示,于本发明的一实施例中,所述远程桌面的动态视频帧处理方法的一种实现过程包括:
S101,根据远程桌面的视频画面变化进行画面捕获,具体实现过程包括:
S201d,根据预设的视频帧数对所述远程桌面的视频画面进行捕获;
S202d,将捕获的当前视频画面与上一帧捕获的视频画面进行对比;
S203d,若所述当前视频画面相对于上一帧捕获的视频画面发生了变化,则保留捕获的当前视频画面;
S204d,若所述当前视频画面相对于上一帧捕获的视频画面未发生变化,则丢弃捕获的当前视频画面。
S102,将捕获的视频画面进行压缩编码发送至客户端以便显示,具体实现过程包括:
S211d,将保留的当前视频画面压缩编码发送至客户端。在保证视觉效果以及游戏视频画面效果的基础上,预设的视频帧数是可变的,可以根据需要进行灵活设置。本发明中,所述客户端对接收到的视频帧数据进行解码渲染后显示。
参见图3所示,本发明实施例还提供一种计算机可读存储介质300,其上存储有计算机程序,该程序被处理器执行时实现本发明所述的远程桌面的动态视频帧处理方法。
实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。基于这样的理解,本发明还提供一种计算机程序产品,包括一个或多个计算机指令。所述计算机指令可以存储在计算机可读存储介质中。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(如:软盘、硬盘、磁带)、光介质(如:DVD)、或者半导体介质(如:固态硬盘Solid State Disk(SSD))等。
参见图4所示,本发明还提供一种服务器,所述服务器400包括:存储器410,处理器420和通信模块430。所述存储器410存储有一计算机程序;所述处理器420与所述存储器410通信相连,在调用所述计算机程序时实现本发明所述的远程桌面的动态视频帧处理方法。通过本发明,服务器端可以根据实际状况灵活调整远程桌面的视频帧的传输方式,进而降低了远程桌面的访问配置标准,保证了远程桌面在客户端的流畅度和清晰度,提高了远程桌面的用户普适性。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
参见图5所示,本发明还提供一种远程桌面的动态视频帧处理系统,所述远程桌面的动态视频帧处理系统500包括:服务器510和至少一客户端520;所述服务器510根据远程桌面的视频画面变化进行画面捕获,并将捕获的视频画面进行压缩编码成视频帧数据;所述客户端520与所述服务器510通信相连,接收所述服务器发送的视频帧数据,并将所述视频帧数据解码渲染后显示。所述服务器510可以实现本发明所述的远程桌面的动态视频帧处理方法。
本发明根据服务器提供的远程桌面的视频画面实际变化情况制定远程桌面的视频帧发送策略发送给客户端,使客户端接收到视频帧数据后通过解码渲染获得与远程桌面基本保持一致且显示流畅不卡顿的视频画面。此外,本发明仅将影响远程桌面变化的视频画面传输给客户端,降低了对客户端的带宽要求,且无需补偿帧,也避免了补偿帧导致的视频画面延迟问题。
综上所述,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
- 远程桌面的动态视频帧处理方法、系统、介质及服务器
- 一种提高远程桌面安全性的方法、远程桌面服务器及系统