CN108989811A - 云桌面系统、及其图像序列压缩编码方法和介质 - Google Patents

云桌面系统、及其图像序列压缩编码方法和介质 Download PDF

Info

Publication number
CN108989811A
CN108989811A CN201710413408.5A CN201710413408A CN108989811A CN 108989811 A CN108989811 A CN 108989811A CN 201710413408 A CN201710413408 A CN 201710413408A CN 108989811 A CN108989811 A CN 108989811A
Authority
CN
China
Prior art keywords
external equipment
virtual machine
coding module
cataloged procedure
result data
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.)
Granted
Application number
CN201710413408.5A
Other languages
English (en)
Other versions
CN108989811B (zh
Inventor
蒲宇亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201710413408.5A priority Critical patent/CN108989811B/zh
Priority to RU2019142082A priority patent/RU2745343C1/ru
Priority to EP18813545.3A priority patent/EP3637771A4/en
Priority to PCT/CN2018/084262 priority patent/WO2018223786A1/zh
Publication of CN108989811A publication Critical patent/CN108989811A/zh
Application granted granted Critical
Publication of CN108989811B publication Critical patent/CN108989811B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/08Protocols specially adapted for terminal emulation, e.g. Telnet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种云桌面系统、及其图像序列压缩编码方法和介质,用以至少降低服务器主机的CPU使用率。所述系统包括通过总线连接的服务器和至少一个外接设备;所述方法用于所述服务器包括:调用一外接设备执行预置图像编码模块中预设的可流水并行处理的编码过程;从所述外接设备获取执行编码过程后得到的结果数据;调用所述图像编码模块,以使所述图像编码模块根据所述结果数据完成云桌面图像序列压缩编码。

Description

云桌面系统、及其图像序列压缩编码方法和介质
技术领域
本发明涉及云计算领域,特别是涉及一种云桌面系统、及其图像序列压缩编码方法和介质。
背景技术
随着移动互联网的迅猛发展,云桌面应用已经被越来越多的人们所使用。云桌面将个人计算机桌面环境通过云计算模式从物理机器分离出来,成为一种可以对外提供的桌面服务,同时个人桌面环境所需的计算、存储资源集中在服务器上,以取代客户的本地计算、存储,并且服务器的计算、存储资源是共享可伸缩的,可以给不同的客户按照需要分配资源,可以提高资源的利用率。利用云桌面应用,客户可以通过个人计算机PC、笔记本、上网本、平板电脑Pad或手机等可以连接网络的终端设备来访问云桌面进行办公,从而进入移动办公新时代。
VDI(Virtual Desktop Infrastructure,虚拟桌面基础架构)云桌面架构下,一台服务器可同时开启几十至上百台虚拟机,服务器的管理中心可以将虚拟机分配给用户,用户在客户端通过设定的传输协议连接到虚拟机后,将虚拟桌面呈现给用户。
为了将虚拟桌面内容呈现给用户,服务器需要同时对几十甚至上百台虚拟机的图像桌面序列进行压缩编码,这部分编码工作需要消耗大量的CPU资源,导致一台服务器的最大虚拟机开启台数受到限制,增加成本。
发明内容
为了克服上述缺陷,本发明要解决的技术问题是提供一种云桌面系统、及其图像序列压缩编码方法和介质,用以至少降低服务器主机的CPU使用率。
为解决上述技术问题,本发明提供一种云桌面系统的图像序列压缩编码方法,所述系统包括通过总线连接的服务器和至少一个外接设备;所述方法用于所述服务器,包括:
调用一外接设备执行预置图像编码模块中预设的可流水并行处理的编码过程;
从所述外接设备获取执行编码过程后得到的结果数据;
调用所述图像编码模块,以使所述图像编码模块根据所述结果数据完成云桌面图像序列压缩编码。
为解决上述技术问题,本发明还提供一种云桌面系统,所述系统包括服务器和至少一个外接设备;所述服务器主机包括图像编码模块、存储器和处理器;所述存储器存储有图像序列压缩编码计算机程序,所述处理器执行所述计算机程序以实现以下步骤:
调用一外接设备执行预置图像编码模块中预设的可流水并行处理的编码过程;
从所述外接设备获取执行编码过程后得到的结果数据;
调用所述图像编码模块,以使所述图像编码模块根据所述结果数据完成云桌面图像序列压缩编码。
为解决上述技术问题,本发明进一步提供一种计算机可读存储介质,所述介质存储有图像序列压缩编码计算机程序,所述计算机程序被至少一个处理器执行时,以实现以下步骤:
调用一外接设备执行服务器中预置图像编码模块中预设的可流水并行处理的编码过程;
从所述外接设备获取执行编码过程后得到的结果数据;
调用所述图像编码模块,以使所述图像编码模块根据所述结果数据完成云桌面图像序列压缩编码,其中所述服务器和多个外接设备组成云桌面系统。
本发明有益效果如下:
本发明中云桌面系统、及其图像序列压缩编码方法和介质将桌面图像序列压缩编码过程中适合流水并行处理且复杂度较高、较占用CPU资源较大编码过程从服务器主机端转移到外接设备上执行,在提高编码速度的同时还能降低服务器主机的CPU使用率,使一台服务器可以创建更多的虚拟机供更多的用户使用,以降低成本,并且解决大屏幕分辨率情况下用户操作不流畅的问题。
附图说明
图1是本发明实施例中一种云桌面系统的图像编码方法的流程图;
图2是本发明实施例中基于OpenCL异构框架的云桌面系统的系统框架图;
图3是本发明实施例中一种云桌面系统的结构示意图。
具体实施方式
为了解决现有技术的问题,本发明提供了一种云桌面系统、及其图像序列压缩编码方法和介质,以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不限定本发明。
实施例一
如图1所示,本发明实施例提供一种云桌面系统的图像编码方法,其中所述系统包括通过总线连接的服务器和至少一个外接设备;所述方法用于所述服务器,包括:
S101,调用一外接设备执行预置图像编码模块中预设的可流水并行处理的编码过程;
S102,从所述外接设备获取执行编码过程后得到的结果数据;
S103,调用所述图像编码模块,以使所述图像编码模块根据所述结果数据完成云桌面图像序列压缩编码。
本发明实施例中服务器和外接设备都属于云桌面系统的服务端,因此为了使服务器和外接设备加以区分,本文中采用服务器主机来表示服务器。
本发明实施例通过调用一外接设备执行预置图像编码模块中预设的可流水并行处理的编码过程,然后从所述外接设备获取执行编码过程后得到的结果数据,最后调用所述图像编码模块,以使所述图像编码模块根据所述结果数据完成云桌面图像编码,从而将桌面图像序列压缩编码过程中适合流水并行处理且复杂度较高、较占用CPU资源较大编码过程从服务器主机端转移到外接设备上执行,在提高编码速度的同时还能降低服务器主机的CPU使用率,使一台服务器可以创建更多的虚拟机供更多的用户使用,以降低成本,并且解决大屏幕分辨率情况下用户操作不流畅的问题。
当然本发明实施例在具体实现时可以采用OpenCL(Open Computing Language,开放运算语言)标准,从而使得程序的可移植性强。
其中总线可以采用PCIe(peripheral component interconnect express,高速串行计算机扩展总线标准)总线。
其中,本发明实施例中所述编码模块可以选择H.264标准的编码器;所述外接设备可以选择现场可编程门阵列;所述编码过程可以选择离散余弦变换过程。
例如,如图2所示,本发明实施中服务器为主机端,FPGA(Field-ProgrammableGate Array,现场可编程门阵列)为设备端,服务器与FPGA之间通过PCIe总线相连,PCIe总线的高带宽特性使得主机与设备端之间的通信延迟可以忽略不计,且一台主机可以连接多个FPGA设备,Spice server(虚拟机进程)运行在服务器主机端,H.264编码过程中不适合流水并行的部分也运行在服务器主机端,H.264编码过程中复杂度较高且适合流水并行的部分运行在FPGA设备端。例如DCT(Discrete Cosine Transform,离散余弦变换)过程。
可选地,所述调用一外接设备执行预置图像编码模块中预设的可流水并行处理的编码过程,包括:
在监听到任一虚拟机的连接请求后,建立所述虚拟机与一外接设备之间的关联;
调用关联的外接设备执行所述编码过程。
进一步说,在在监听到任一虚拟机的连接请求后,建立所述虚拟机与一外接设备之间的关联之前,还可以包括:
运行设备监控进程,以使所述设备监控进程启动用于监听虚拟机请求的主线程,以及使所述设备监控进程查看可用外接设备,并根据所述可用外接设备的数量创建多个交互线程。
再进一步说,所述从所述外接设备获取执行编码过程后得到的结果数据,包括:
创建套接字,以使所述分配的交互线程通过所述套接字从所述关联的外接设备获取所述结果数据,并将所述结果数据发送给所述图像编码模块。
以具体的OpenCL异构框架的云桌面系统详细说明本发明实施例中图像编码方法,包括:
S1:设备监控进程启动,该设备监控进程创建一个主线程,该主线程会根据预设的端口号创建一个Socket(套接字)并进行监听,同时该设备监控进程会通过调用OpenCL API(Application Programming Interface,应用程序编程接口)查看所有可用的FPGA设备,根据可用FPGA设备数量创建数量相同的N个交互线程,为每一个交互线程分配一台固定的FPGA外设,该交互线程负责该FPGA外设与主机H.264编码器之间的交互。交互线程刚创建时会对其对应的FPGA设备平台进行初始化,并通过调用OpenCL API创建kernel程序,kernel程序完成编码过程中的DCT变换;
S2:当需要开始对桌面图像序列进行编码时,Spice Server调用H.264编码器的Open函数,在Open函数内部除了完成编码器的初始化工作,还会创建Socket与设备监控进程请求建立连接;
S3:当设备监控进程主线程监听到某台虚拟机的连接请求后响应其请求建立连接,根据负载均分原则分配一个交互线程负责处理该虚拟机与FPGA外设之间的交互,且该交互线程建立起该虚拟机和其对应FPGA外设之间的关联;
S4:Spice Server将捕获到的桌面图像YUV(一种颜色编码方法)数据送给H.264编码器对其进行压缩;
S5:H.264编码器在对接收到的YUV数据进行压缩编码时,当运行到上述S1中kernel所对应的阶段时,通过Socket通信将当前需要数据传送给设备监控进程,设备监控进程交互线程接收到该数据时,会通过对该虚拟机对应的FPGA外设调用OpenCL API执行kernel函数,等kernel函数执行完成后,交互线程从FPGA外设读取执行结果,再将执行结果通过socket通信传送给H.264编码器;
S6:虚拟机进程H.264编码器完成当前图像的编码时,将压缩后的码流返回给Spice Server;
S7:在所有编码完成后虚拟机进程Spice Server会调用H.264编码器Close函数,在Close函数中除了完成编码器的释放工作,还需要通过Socket通信发送Uninit命令,交互程序收到Uninit命令后,断开该虚拟机和其FPGA外设之间的关联,其后结束虚拟机进程和设备监控进程之间的Socket通信;
S8:在各个交互线程销毁前,需要对其对应的FPGA外设进行kernel释放和内存释放工作。
实施例二
如图3所示,本发明实施例提供一种云桌面系统,所述系统包括服务器和至少一个外接设备;所述服务器主机包括图像编码模块、存储器和处理器;所述存储器存储有图像序列压缩编码计算机程序,所述处理器执行所述计算机程序以实现以下步骤:
调用一外接设备执行预置图像编码模块中预设的可流水并行处理的编码过程;
从所述外接设备获取执行编码过程后得到的结果数据;
调用所述图像编码模块,以使所述图像编码模块根据所述结果数据完成云桌面图像序列压缩编码。
其中,所述编码模块为H.264标准的编码器;所述外接设备为现场可编程门阵列;所述编码过程为离散余弦变换过程。
可选地,所述调用一外接设备执行预置图像编码模块中预设的可流水并行处理的编码过程,包括:
在监听到任一虚拟机的连接请求后,建立所述虚拟机与一外接设备之间的关联;
调用关联的外接设备执行所述编码过程。
具体地,所述处理器执行所述计算机程序以还实现以下步骤:
运行设备监控进程,以使所述设备监控进程启动用于监听虚拟机请求的主线程,以及使所述设备监控进程查看可用外接设备,并根据所述可用外接设备的数量创建多个交互线程。
具体地,所述在监听到任一虚拟机的连接请求后,建立所述虚拟机与一外接设备之间的关联,包括:
当所述主线程监听到所述虚拟机的连接请求后,与所述虚拟机建立连接,并分配一个交互线程,以使分配的交互线程建立所述虚拟机与该交互线程对应外接设备之间的关联。
其中,所述从所述外接设备获取执行编码过程后得到的结果数据,包括:
创建套接字,以使所述分配的交互线程通过所述套接字从所述关联的外接设备获取所述结果数据,并将所述结果数据发送给所述图像编码模块。
本发明实施例通过调用一外接设备执行预置图像编码模块中预设的可流水并行处理的编码过程,然后从所述外接设备获取执行编码过程后得到的结果数据,最后调用所述图像编码模块,以使所述图像编码模块根据所述结果数据完成云桌面图像编码,从而将桌面图像序列压缩编码过程中适合流水并行处理且复杂度较高、较占用CPU资源较大编码过程从服务器主机端转移到外接设备上执行,在提高编码速度的同时还能降低服务器主机的CPU使用率,使一台服务器可以创建更多的虚拟机供更多的用户使用,以降低成本,并且解决大屏幕分辨率情况下用户操作不流畅的问题。
举例说明本发明实施例。
如图2所示,本发明实施例目的在于实现一种基于OpenCL(Open ComputingLanguage,开放运算语言)异构框架的云桌面系统,在云桌面的服务端采用基于OpenCL标准的异构框架,将桌面图像序列压缩编码的一部分工作迁移到外接设备上,其中外接设备可以是FPGA,从而使外接设备构成硬件加速设备,以降低服务器的CPU使用率,提高云桌面用户体验,同时解决大屏幕分辨率情况下用户操作不流畅的问题。
本发明实施例中在云桌面系统的服务器上,通过PCIe接口连接一组FPGA硬件加速设备,服务器主机端采用设备监控进程对加速设备进行管理,根据当前CPU占用资源情况,将不同桌面下的图像序列压缩编码DCT(Discrete Cosine Transform,离散余弦变换)模块分配至FPGA硬件加速设备上,从而提高服务器系统性能,解决由于CPU资源瓶颈带来的卡顿问题。FPGA加速子系统上,输入的桌面流子图序列经过逻辑电路处理后,输出能量集中在低频部分的变换结果,该结果再通过PCIE接口返回服务器主机端,至此服务器与加速设备协同工作完成云桌面系统中桌面流的压缩编码过程。
详细说,本发明实施例中系统硬件由服务器和FPGA硬件加速设备组成,加速设备可以是FPGA,但不限于这种硬件设备类型,服务器与FPGA设备之间使用PCIe总线相连接,一台服务器可以连接多个FPGA设备。并且选择DCT在FPGA上完成,从而有效降低FPGA的资源,减少了FPGA片数的要求,降低了由于增加FPGA数量导致的成本增加。
本发明实施例在服务器端执行一个设备监控进程,该设备监控程序负责FPGA设备的管理以及FPGA设备和主机H.264编码器之间的交互。例如:
在服务器主机端运行起控制和交互作用的设备监控进程,该设备监控进程启动一个主线程,该主线程会创建一个Socket并进行监听,同时该设备监控进程会通过调用OpenCL API查看所有可用的FPGA设备,并根据可用的FPGA设备数量创建数量相同的N个交互线程,一个交互线程负责一台FPGA外设和主机H.264编码器之间的交互。
交互线程刚创建时会对其对应的FPGA设备平台进行初始化,并通过调用OpenCLAPI创建kernel程序,kernel程序完成编码过程中的DCT变换过程;当需要开始对桌面图像序列进行编码时,Spice Server调用H.264编码器的Open函数,在Open函数内部除了完成编码器的初始化工作,还会创建Socket与设备监控进程请求建立连接;在服务器主机端,当设备监控进程主线程监听到某台虚拟机的连接请求后响应其请求建立连接,根据负载均分原则分配一个交互线程负责处理该虚拟机与FPGA外设之间的交互,且该交互线程建立起该虚拟机和其FPGA外设之间的关联;虚拟机进程H.264编码器在对桌面图像序列进行H.264标准的压缩编码时,当运行到上述第一步中kernel所对应的阶段时,会通过Socket通信将当前需要调用的kernel_type和所需的数据传送给设备监控进程,设备监控进程交互线程接收到该数据时,会通过对该虚拟机对应的FPGA外设调用OpenCL API执行kernel_type对应的kernel函数,等kernel函数执行完成后,交互线程从FPGA外设读取执行结果,再将执行结果通过socket通信传送给H.264编码器;在所有编码完成后虚拟机进程Spice Server会调用H.264编码器Close函数,在Close函数中除了完成编码器的释放工作,还需要通过Socket通信发送Uinit命令,交互程序收到Uinit命令后,断开该虚拟机和其FPGA外设之间的关联,其后结束虚拟机进程和设备监控进程之间的Socket通信;在各个交互线程销毁前,需要将其对应的FPGA外设进行kernel释放和内存释放工作。
本发明实施例中将桌面图像序列压缩编码过程中适合流水并行处理且复杂度较高、较占用CPU资源较大的DCT编码模块从服务器主机端转移到FPGA设备上执行,在提高编码速度的同时还能降低服务器主机的CPU使用率,使一台服务器可以创建更多的虚拟机供更多的用户使用,以降低成本,并且解决大屏幕分辨率情况下用户操作不流畅的问题。且本发明中采用OpenCL标准,使得程序的可移植性强。
实施例三
本发明实施例提供一种计算机可读存储介质,所述介质存储有图像序列压缩编码计算机程序,所述计算机程序被至少一个处理器执行时,以实现以下步骤:
调用一外接设备执行服务器中预置图像编码模块中预设的可流水并行处理的编码过程;
从所述外接设备获取执行编码过程后得到的结果数据;
调用所述图像编码模块,以使所述图像编码模块根据所述结果数据完成云桌面图像序列压缩编码,其中所述服务器和多个外接设备组成云桌面系统。
可选地,所述调用一外接设备执行预置图像编码模块中预设的可流水并行处理的编码过程,包括:
在监听到任一虚拟机的连接请求后,建立所述虚拟机与一外接设备之间的关联;
调用关联的外接设备执行所述编码过程。
其中,所述处理器执行所述计算机程序以还实现以下步骤:
运行设备监控进程,以使所述设备监控进程启动用于监听虚拟机请求的主线程,以及使所述设备监控进程查看可用外接设备,并根据所述可用外接设备的数量创建多个交互线程。
具体地,所述在监听到任一虚拟机的连接请求后,建立所述虚拟机与一外接设备之间的关联,包括:
当所述主线程监听到所述虚拟机的连接请求后,与所述虚拟机建立连接,并分配一个交互线程,以使分配的交互线程建立所述虚拟机与该交互线程对应外接设备之间的关联。
具体地,所述从所述外接设备获取执行编码过程后得到的结果数据,包括:
创建套接字,以使所述分配的交互线程通过所述套接字从所述关联的外接设备获取所述结果数据,并将所述结果数据发送给所述图像编码模块。
其中,所述编码模块为H.264标准的编码器;所述外接设备为现场可编程门阵列;所述编码过程为离散余弦变换过程。
本发明实施例中计算机可读存储介质可以是RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域已知的任何其他形式的存储介质。可以将一种存储介质藕接至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息;或者该存储介质可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路中。
虽然本申请描述了本发明的特定示例,但本领域技术人员可以在不脱离本发明概念的基础上设计出来本发明的变型。本领域技术人员在本发明技术构思的启发下,在不脱离本发明内容的基础上,还可以对本发明做出各种改进,这仍落在本发明的保护范围之内。

Claims (13)

1.一种云桌面系统的图像序列压缩编码方法,其特征在于,所述系统包括通过总线连接的服务器和至少一个外接设备;所述方法用于所述服务器,包括:
调用一外接设备执行预置图像编码模块中预设的可流水并行处理的编码过程;
从所述外接设备获取执行编码过程后得到的结果数据;
调用所述图像编码模块,以使所述图像编码模块根据所述结果数据完成云桌面图像序列压缩编码。
2.如权利要求1所述的方法,其特征在于,所述调用一外接设备执行预置图像编码模块中预设的可流水并行处理的编码过程,包括:
在监听到任一虚拟机的连接请求后,建立所述虚拟机与一外接设备之间的关联;
调用关联的外接设备执行所述编码过程。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
运行设备监控进程,以使所述设备监控进程启动用于监听虚拟机请求的主线程,以及使所述设备监控进程查看可用外接设备,并根据所述可用外接设备的数量创建多个交互线程。
4.如权利要求3所述的方法,其特征在于,所述在监听到任一虚拟机的连接请求后,建立所述虚拟机与一外接设备之间的关联,包括:
当所述主线程监听到所述虚拟机的连接请求后,与所述虚拟机建立连接,并分配一个交互线程,以使分配的交互线程建立所述虚拟机与该交互线程对应外接设备之间的关联。
5.如权利要求4所述的方法,其特征在于,所述从所述外接设备获取执行编码过程后得到的结果数据,包括:
创建套接字,以使所述分配的交互线程通过所述套接字从所述关联的外接设备获取所述结果数据,并将所述结果数据发送给所述图像编码模块。
6.如权利要求1-5中任意一项所述的方法,其特征在于,所述编码模块为H.264标准的编码器;所述外接设备为现场可编程门阵列;所述编码过程为离散余弦变换过程。
7.一种云桌面系统,其特征在于,所述系统包括服务器和至少一个外接设备;所述服务器主机包括图像编码模块、存储器和处理器;所述存储器存储有图像序列压缩编码计算机程序,所述处理器执行所述计算机程序以实现以下步骤:
调用一外接设备执行预置图像编码模块中预设的可流水并行处理的编码过程;
从所述外接设备获取执行编码过程后得到的结果数据;
调用所述图像编码模块,以使所述图像编码模块根据所述结果数据完成云桌面图像序列压缩编码。
8.如权利要求7所述的系统,其特征在于,所述调用一外接设备执行预置图像编码模块中预设的可流水并行处理的编码过程,包括:
在监听到任一虚拟机的连接请求后,建立所述虚拟机与一外接设备之间的关联;
调用关联的外接设备执行所述编码过程。
9.如权利要求8所述的系统,其特征在于,所述处理器执行所述计算机程序以还实现以下步骤:
运行设备监控进程,以使所述设备监控进程启动用于监听虚拟机请求的主线程,以及使所述设备监控进程查看可用外接设备,并根据所述可用外接设备的数量创建多个交互线程。
10.如权利要求9所述的系统,其特征在于,所述在监听到任一虚拟机的连接请求后,建立所述虚拟机与一外接设备之间的关联,包括:
当所述主线程监听到所述虚拟机的连接请求后,与所述虚拟机建立连接,并分配一个交互线程,以使分配的交互线程建立所述虚拟机与该交互线程对应外接设备之间的关联。
11.如权利要求10所述的系统,其特征在于,所述从所述外接设备获取执行编码过程后得到的结果数据,包括:
创建套接字,以使所述分配的交互线程通过所述套接字从所述关联的外接设备获取所述结果数据,并将所述结果数据发送给所述图像编码模块。
12.如权利要求7-11中任意一项所述的系统,其特征在于,所述编码模块为H.264标准的编码器;所述外接设备为现场可编程门阵列;所述编码过程为离散余弦变换过程。
13.一种计算机可读存储介质,其特征在于,所述介质存储有图像序列压缩编码计算机程序,所述计算机程序被至少一个处理器执行时,以实现以下步骤:
调用一外接设备执行服务器中预置图像编码模块中预设的可流水并行处理的编码过程;
从所述外接设备获取执行编码过程后得到的结果数据;
调用所述图像编码模块,以使所述图像编码模块根据所述结果数据完成云桌面图像序列压缩编码,其中所述服务器和多个外接设备组成云桌面系统。
CN201710413408.5A 2017-06-05 2017-06-05 云桌面系统、及其图像序列压缩编码方法和介质 Active CN108989811B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201710413408.5A CN108989811B (zh) 2017-06-05 2017-06-05 云桌面系统、及其图像序列压缩编码方法和介质
RU2019142082A RU2745343C1 (ru) 2017-06-05 2018-04-24 Система облачного рабочего стола, и способ кодирования со сжатием последовательности изображений, и соответствующий носитель данных
EP18813545.3A EP3637771A4 (en) 2017-06-05 2018-04-24 CLOUD DESKTOP SYSTEM AND IMAGE SEQUENCE COMPRESSION AS WELL AS CODING PROCESS AND MEDIUM FOR IT
PCT/CN2018/084262 WO2018223786A1 (zh) 2017-06-05 2018-04-24 云桌面系统、及其图像序列压缩编码方法和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710413408.5A CN108989811B (zh) 2017-06-05 2017-06-05 云桌面系统、及其图像序列压缩编码方法和介质

Publications (2)

Publication Number Publication Date
CN108989811A true CN108989811A (zh) 2018-12-11
CN108989811B CN108989811B (zh) 2022-06-03

Family

ID=64502561

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710413408.5A Active CN108989811B (zh) 2017-06-05 2017-06-05 云桌面系统、及其图像序列压缩编码方法和介质

Country Status (4)

Country Link
EP (1) EP3637771A4 (zh)
CN (1) CN108989811B (zh)
RU (1) RU2745343C1 (zh)
WO (1) WO2018223786A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109922159A (zh) * 2019-03-27 2019-06-21 宁波大学 一种物联网设备间云端双向虚拟连接的方法
CN110018873A (zh) * 2019-03-31 2019-07-16 山东超越数控电子股份有限公司 一种基于fpga优化虚拟桌面传输的方法
CN111209086A (zh) * 2020-01-13 2020-05-29 山东超越数控电子股份有限公司 一种基于自主平台的裸金属虚拟化实现方法
CN112835839A (zh) * 2021-02-04 2021-05-25 深圳市广和通无线股份有限公司 PCIe接口的设备枚举方法、装置、设备及存储介质
CN113259668A (zh) * 2021-07-12 2021-08-13 全时云商务服务股份有限公司 云会议共享桌面动态编码方法、装置、设备及存储介质
CN114860401A (zh) * 2022-05-07 2022-08-05 中国电信股份有限公司 异构云桌面调度系统、方法、服务系统、装置及介质

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114157919A (zh) * 2020-09-07 2022-03-08 华为云计算技术有限公司 数据处理的方法和系统、云终端、服务器和计算设备
CN112422868A (zh) * 2020-10-14 2021-02-26 西安万像电子科技有限公司 数据处理方法及终端设备、服务器
CN114245127B (zh) * 2021-12-13 2024-03-19 北京百度网讯科技有限公司 一种云桌面编码器的参数调整方法、装置、设备及介质
CN114827113B (zh) * 2022-04-18 2024-04-16 阿里巴巴(中国)有限公司 一种网页访问方法及装置
CN117061759B (zh) * 2023-10-11 2024-02-06 苏州元脑智能科技有限公司 图像压缩方法、装置、计算机设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103139634A (zh) * 2011-11-30 2013-06-05 国云科技股份有限公司 云终端虚拟桌面视频播放方法
CN103873877A (zh) * 2012-12-14 2014-06-18 华为技术有限公司 远程桌面的图像传输方法及装置
CN103888485A (zh) * 2012-12-19 2014-06-25 华为技术有限公司 云计算资源的分配方法、装置及系统
CN105224390A (zh) * 2015-09-22 2016-01-06 宁夏大学 一种虚拟桌面压缩的方法
CN105262825A (zh) * 2015-10-29 2016-01-20 曲阜师范大学 基于h.265的spice云桌面传输和展现方法及系统
CN105791412A (zh) * 2016-04-04 2016-07-20 合肥博雷电子信息技术有限公司 一种大数据处理平台网络架构
US20170142432A1 (en) * 2015-11-12 2017-05-18 Vmware, Inc. Split framebuffer encoding

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7275212B2 (en) * 2003-10-23 2007-09-25 Microsoft Corporation Synchronized graphics and region data for graphics remoting systems
US7970049B2 (en) * 2005-01-05 2011-06-28 Creative Technology Ltd Method and apparatus for encoding video in conjunction with a host processor
CN103475953B (zh) * 2013-09-13 2017-11-17 华为技术有限公司 一种基于桌面云的媒体控制方法和设备
US9537938B2 (en) * 2014-09-23 2017-01-03 Amazon Technologies, Inc. Virtual desktop migration
US10476927B2 (en) * 2015-11-30 2019-11-12 Dell Products L.P. System and method for display stream compression for remote desktop protocols
CN106506481A (zh) * 2016-11-02 2017-03-15 河南智业科技发展有限公司 一种基于OpenStack的云桌面系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103139634A (zh) * 2011-11-30 2013-06-05 国云科技股份有限公司 云终端虚拟桌面视频播放方法
CN103873877A (zh) * 2012-12-14 2014-06-18 华为技术有限公司 远程桌面的图像传输方法及装置
CN103888485A (zh) * 2012-12-19 2014-06-25 华为技术有限公司 云计算资源的分配方法、装置及系统
CN105224390A (zh) * 2015-09-22 2016-01-06 宁夏大学 一种虚拟桌面压缩的方法
CN105262825A (zh) * 2015-10-29 2016-01-20 曲阜师范大学 基于h.265的spice云桌面传输和展现方法及系统
US20170142432A1 (en) * 2015-11-12 2017-05-18 Vmware, Inc. Split framebuffer encoding
CN105791412A (zh) * 2016-04-04 2016-07-20 合肥博雷电子信息技术有限公司 一种大数据处理平台网络架构

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BIAO SONG ET AL: "An optimized hybrid remote display protocol using GPU-assisted M-JPEG encoding and novel high-motion detection algorithm", 《JOURNAL OF SUPERCOMPUTING》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109922159A (zh) * 2019-03-27 2019-06-21 宁波大学 一种物联网设备间云端双向虚拟连接的方法
CN109922159B (zh) * 2019-03-27 2021-10-08 宁波大学 一种物联网设备间云端双向虚拟连接的方法
CN110018873A (zh) * 2019-03-31 2019-07-16 山东超越数控电子股份有限公司 一种基于fpga优化虚拟桌面传输的方法
CN111209086A (zh) * 2020-01-13 2020-05-29 山东超越数控电子股份有限公司 一种基于自主平台的裸金属虚拟化实现方法
CN112835839A (zh) * 2021-02-04 2021-05-25 深圳市广和通无线股份有限公司 PCIe接口的设备枚举方法、装置、设备及存储介质
CN113259668A (zh) * 2021-07-12 2021-08-13 全时云商务服务股份有限公司 云会议共享桌面动态编码方法、装置、设备及存储介质
CN113259668B (zh) * 2021-07-12 2021-10-08 全时云商务服务股份有限公司 云会议共享桌面动态编码方法、装置、设备及存储介质
CN114860401A (zh) * 2022-05-07 2022-08-05 中国电信股份有限公司 异构云桌面调度系统、方法、服务系统、装置及介质
CN114860401B (zh) * 2022-05-07 2023-10-03 中国电信股份有限公司 异构云桌面调度系统、方法、服务系统、装置及介质

Also Published As

Publication number Publication date
EP3637771A4 (en) 2021-02-24
RU2745343C1 (ru) 2021-03-24
WO2018223786A1 (zh) 2018-12-13
CN108989811B (zh) 2022-06-03
EP3637771A1 (en) 2020-04-15

Similar Documents

Publication Publication Date Title
CN108989811A (zh) 云桌面系统、及其图像序列压缩编码方法和介质
US10693816B2 (en) Communication methods and systems, electronic devices, and computer clusters
CN114968478A (zh) 一种数据处理的方法、装置、服务器和系统
CN106797398B (zh) 用于向客户端提供虚拟桌面服务的方法和系统
CN113849312B (zh) 数据处理任务的分配方法、装置、电子设备及存储介质
US9801146B2 (en) Terminal and synchronization control method among terminals
CN108847981A (zh) 分布式计算机云计算处理方法
CN114116092A (zh) 云桌面系统处理方法、云桌面系统控制方法以及相关设备
WO2019103293A1 (ko) 분산 트랜스코딩 클라우드 서비스 시스템
CN112488907A (zh) 数据处理方法及系统
CN112221127A (zh) 一种云游戏的多点控制方法及装置
CN203301532U (zh) 云桌面系统
CN114253710A (zh) 计算请求的处理方法、智能终端、云服务器、设备及介质
CN112329919B (zh) 模型训练方法及装置
CN103220347A (zh) Crp云交互方法
CN117149665A (zh) 持续集成方法、控制设备、持续集成系统及存储介质
CN114422572B (zh) 一种云手机控制方法、装置、电子设备和存储介质
US20210209471A1 (en) Processor memory optimization method and apparatus for deep learning training tasks
CN115269757A (zh) 一种基于边缘计算的云端数据集成系统
KR20220139407A (ko) 태스크 할당 방법 및 장치, 전자 기기 및 컴퓨터 판독가능 매체
CN204334634U (zh) 一种基于云计算的中间件平台
CN114146406A (zh) 运算资源分配的方法、装置、电子设备和存储介质
CN108600860A (zh) 一种基于spice协议加速视频的方法及系统
CN103561080A (zh) 无线网络的远程资源服务装置、方法和远程显示服务系统
Cui Design and implementation of computer network monitoring software

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