CN115914198A - 用于远程操控的图像动态传输方法及装置 - Google Patents
用于远程操控的图像动态传输方法及装置 Download PDFInfo
- Publication number
- CN115914198A CN115914198A CN202211580542.1A CN202211580542A CN115914198A CN 115914198 A CN115914198 A CN 115914198A CN 202211580542 A CN202211580542 A CN 202211580542A CN 115914198 A CN115914198 A CN 115914198A
- Authority
- CN
- China
- Prior art keywords
- interface
- image
- local terminal
- computing device
- remote computing
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 126
- 238000000034 method Methods 0.000 title claims abstract description 78
- 230000008859 change Effects 0.000 claims abstract description 11
- 230000002452 interceptive effect Effects 0.000 claims abstract description 4
- 230000009471 action Effects 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 11
- 230000002829 reductive effect Effects 0.000 claims description 8
- 238000001914 filtration Methods 0.000 claims description 7
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 230000001502 supplementing effect Effects 0.000 claims 1
- 230000003993 interaction Effects 0.000 abstract description 27
- 238000012216 screening Methods 0.000 abstract description 16
- 230000006835 compression Effects 0.000 description 19
- 238000007906 compression Methods 0.000 description 19
- 238000004891 communication Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 17
- 238000012544 monitoring process Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 8
- 238000010295 mobile communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 4
- 230000003213 activating effect Effects 0.000 description 4
- 230000001965 increasing effect Effects 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000020169 heat generation Effects 0.000 description 2
- 238000003709 image segmentation Methods 0.000 description 2
- 210000001503 joint Anatomy 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及用于远程操控的图像传输方法,包括以下步骤:在本地终端和远程计算设备之间建立操控数据交互连接,其中所述远程计算设备的至少一部分界面的改变是由交互连接的本地终端发送的操控数据引起;在至少一时段内保持所述远程计算设备的界面图像向所述本地终端的传输通道;根据所述远程计算设备向所述本地终端传输的界面图像的传输频率,对所传送的界面图像的质量进行动态调整。本发明还涉及一种计算装置,其中包含的计算器可读存储介质中的程序指令被处理器执行时实施上述的方法。本发明通过本地和远程之间的界面图像的动态传输、数据调整、数据筛选等方式,实现灵活、便捷和顺畅的界面交互体验。
Description
技术领域
本发明涉及用于远程操控的图像动态传输方法及装置,属于云计算、移动通信、软件技术等相关领域。
背景技术
智能移动终端已经成为人们日常形影不离的网络终端设备。为满足需求,各种应用程序的功能增长快,并且对硬件资源占用更多,导致智能移动终端产品的整机更新换代周期短。然而,频繁的智能移动终端的更新换代让消费者带来经济压力,而且整机换新的移动终端可能性能过剩。在技术层面,相对于PC平台的CPU,移动终端的微处理器芯片受限于功耗要求,运算能力具有瓶颈。此外,随着移动通信技术的日益发展,新一代移动通信技术不断推陈出新,而移动终端的通信芯片较少占用移动终端的微处理器芯片的算力,却能在新一代移动通信技术的加持下令智能移动终端的远程通信更加快速和稳定。
近年也出现了一种技术方案,其中移动终端远程控制PC平台的操作系统且远程控制PC平台中的应用程序,以在本地移动终端上获得各种远程应用程序的使用体验。在这种技术方案中,移动终端和远程操作系统之间的界面交互是通过视频传输的方式来实现,即是在远程系统录制界面视频,然后传输到本地移动终端显示,以实现本地和远程之间的界面交互和同步。但是,当今的系统界面显示分辨率越趋高清,甚至高达4K,导致界面视频的体积较大且占用较多的网络传输带宽。尽管采用体积更少的高压缩率格式的(比如H265)界面视频进行传输,也会对本地移动终端的视频解压过程中占用较多的本地处理器芯片运算资源,最后导致本地移动终端的出现较差的使用体验,比如卡顿、发热、续航降低等。
发明内容
本发明提供用于远程操控的图像动态传输方法及装置,旨在至少解决现有技术中存在的技术问题之一。
本发明一方面涉及一种用于远程操控的图像传输方法,所述方法包括以下步骤:在本地终端和远程计算设备之间建立操控数据交互连接,其中所述远程计算设备的至少一部分界面的改变是由交互连接的本地终端发送的操控数据引起;在至少一时段内保持所述远程计算设备的界面图像向所述本地终端的传输连接;根据所述远程计算设备向所述本地终端传输的界面图像的传输间隔,对所述远程计算设备向所述本地终端的待传送的界面图像进行动态调整,所述动态调整包括:确定在一时段内出现低于间隔阈值的图像传输后,在下一时段内,减少图像传输数量和/或减少所述至少一部分的界面图像的质量。
在一些实施例中,对所述远程计算设备向所述本地终端的待传送的界面图像进行动态调整的步骤包括:实时检测同一界面范围的界面图像从所述远程计算设备向所述本地终端的图像传输间隔;确定当前的图像传输间隔低于第一时间阈值,则对应所述待传送的界面图像放弃当次的传输;确定当前的图像传输间隔低于第二时间阈值,则对应所述待传送的界面图像降低质量;其中,所述第一时间阈值小于所述第二时间阈值。
在一些实施例中,对所述远程计算设备向所述本地终端的待传送的界面图像进行动态调整的步骤包括:检测同一界面范围的界面图像从所述远程计算设备向所述本地终端的当前传输间隔;确定当前传输间隔高于第三时间阈值,则恢复所述待传送的界面图像的质量,或者从远程计算设备采集更高图像质量的界面图像用于向所述本地终端传输。
在一些实施例中,对所述远程计算设备向所述本地终端的待传送的界面图像进行动态调整的步骤包括:实时检测同一界面范围的界面图像从所述远程计算设备向所述本地终端的图像传输间隔;确定当前传输间隔低于预设的阈值,则使所述待传送的界面图像降低分辨率或处理成减少色彩通道的图像。
在一些实施例中,对所述远程计算设备向所述本地终端传输的界面图像进行预调整所根据的条件包括:本地终端和远程计算设备之间的当前的网络传输状态、应用场景状态或用户指令;与所述远程计算设备交互连接的本地终端上的操控状态、显示分辨率或当前的图像算力。
在一些实施例中,所述方法还包括以下步骤:使所述本地终端从所述远程计算设备接收界面图像;根据所述本地终端上的实时监测到的操控间隔,对来自所述远程计算设备的界面图像进行动态筛选,以在本地终端显示所筛选的界面图像的至少一部分。
在一些实施例中,所述方法还包括:在至少一时间段内,确定本地终端的操控间隔小于第四时间阈值;从所接收到的所述远程计算设备的界面图像中,至少丢弃一部分用于在所述本地终端显示的界面图像;减少所述本地终端向所述计算设备发送的操控数据的频次。
在一些实施例中,对来自所述远程计算设备的界面图像进行动态筛选的步骤包括:在至少一时间段内,确定本地终端的操控间隔大于第五时间阈值,则从所接收的多个界面图像中保留所有的用于在所述本地终端显示的界面图像;在至少一时间段内,确定本地终端的操控间隔大于第六时间阈值,则从所接收的多个界面图像中至少间隔地选取界面图像以显示在所述本地终端,直至出现所述本地终端的下一次操控;其中,所述第六时间阈值大于所述第五时间阈值。
在一些实施例中,所述方法还包括:在至少一时间段内,确定本地终端的操控间隔大于第七时间阈值,则减少所述本地终端的显示帧率,直至出现所述本地终端的下一次操控。
在一些实施例中,所述方法还包括以下步骤:确定本地终端的操控点的移动幅度超过预设的幅度阈值;在所述本地终端的所述操控点所产生的操控数据引起的远程计算设备向所述本地终端传送的多个界面图像中,保留与所述操控点的起始动作和结尾动作关联的界面图像,并且减少其余的用于在本地终端显示的界面图像;定时在所述本地终端和所述远程计算设备之间同步界面图像。
在一些实施例中,所述方法还包括以下步骤:在远程计算设备向本地终端传输界面图像之前,使所述本地终端的界面分辨率与所述远程计算设备的界面显示分辨率同步一致;在所述远程计算设备和所述本地终端之间设置用于传输至少一部分的界面图像的数据缓冲区;根据历史传输数据,在数据缓冲区中补全生成连续的至少一部分的界面图像的数据,用于从所述数据缓冲区读取数据的应用程序连续地读取界面图像数据。
本发明还涉及一种计算器可读存储介质,其上储存有程序指令,所述程序指令被处理器执行时实施上述的方法。
本发明还涉及一种计算装置,所述计算装置包括所述的计算器可读存储介质。
本发明的有益效果在于:通过本地和远程之间的界面图像的动态传输、数据调整、数据筛选等方式,实现灵活、便捷和顺畅的界面交互体验。
附图说明
图1是根据本发明的实施例中的系统架构的总体示意图。
图2是根据本发明的实施例中的硬件架构的基本示意图。
图3是根据本发明的实施例中的软件架构的基本示意图。
图4是根据本发明的实施例中的硬件及软件模块的基本示意图。
图5是根据本发明的实施例中的硬件及软件模块的细节示意图。
图6是根据本发明的实施例中的模块和单元处理图像的传输、调整和筛选的示意图。
图7是根据本发明的实施例中的根据本地终端操控情况进行图像调整和筛选的示意图。
图8是根据本发明的实施例中的基于本地和远程之间的交互的图像传输方法流程图。
图9是根据本发明的实施例中的基于本地操控的方法的细节流程图。
图10是根据本发明的实施例中的图像调整方法的细节流程图。
具体实施方式
本文引用了本申请人在先申请的题为“移动云计算架构、方法及装置”的发明申请的优先权,因此该发明申请所记载的所有内容(包含附图以及实施例)将以全文引用的方式并入本文。
本文所使用的所有的技术术语和科学术语与本技术领域的技术人员通常理解的含义相同,除非另有定义。多个术语之间可以从狭义上表示层级关系,也可以多个术语的自身或其组合在广义上产生关联。例如,在硬件的上级层面,总的框架系统可以包含服务器、终端或其他装置、设备等;而在硬件的下级层面,服务器或终端可以包括显示器、处理器、存储器、通信硬件或其他装置、设备等。又例如,在软件运行层面,在服务器或终端运行的操作系统下,程序是指一组指示计算机或其他具有信息处理能力装置执行动作或做出判断的指令,进程是程序的实体,而线程又是进程的实体且是被系统独立调度和分派的基本单位。此外,设计的函数可以调用各种程序或子程序。应理解,在本文中,硬件和/或软件的任何一个或多个的组成部分(比如,器件、元件、程序、进程等)都可以抽象描述成“模块”,“模块”又可以包含“单元”。“模块”或“单元”内也可以使用各种函数。
此外,本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种元件,但这些元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本公开范围的情况下,第一元件也可以被称为第二元件,类似地,第二元件也可以被称为第一元件。
以下将结合实施例和附图对本发明的构思、硬件结构、方法流程及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
根据本发明的图像传输方法和装置可以实施在联网的具有界面的本地终端和远程计算设备中。应理解,远程计算设备既可以是多计算机系统中的任一计算机,也可以是集群式云计算服务器中通过虚拟化技术而生成的虚拟计算机(简称虚拟机),因此远程计算设备可以具有实体界面,也可以具有等同于实体界面功能的虚拟界面。
在一些实施例中,本发明的方法和装置可以优选地实施在移动云计算的应用场景,尤其可以实施在一框架系统中的任意部分。下面结合附图1至图3,以移动云计算的应用场景为例描述所述的框架系统,但应理解,根据本发明的方法和装置还可以应用于其他应用场景(例如,企业内部信息化平台)下的具有本地终端和远程计算设备的多设备交互系统。
框架系统
1、硬件架构
参照图1,基于移动云计算的框架系统在广义上包括:用户操控端的基于云计算的移动终端(简称,云移动终端)和服务提供端的云计算服务器(简称,云服务器)。
移动终端包括显示器、人机交互设备(比如,触控屏、鼠标、键盘等)、运算单元、存储器以及与云服务通信连接的通信模块。优选地,参照图2,移动终端还可以包括硬件层面的图像处理模块,或者是专用于图像处理的定制化FPGA芯片,用于移动终端和云服务器虚拟机之间传输的图像进行切片、压缩、对比、整合或者并行处理等工作。具体地,移动终端可以是跨操作系统(比如,安卓、IOS、Windows、Linux)平台的智能手机、平板电脑、便携电脑、游戏机、PDA或其他可移动和联网的具有图形界面的运算终端。
云服务器可以包括CPU、内存、硬盘、显卡等各种计算机设备,如图2所示。云服务器也可以是多处理器系统、大型计算机、分布式计算系统、或集群计算系统等。进一步,云服务器可以包括网络管理器、处理器、调度器、存储器等,以通过云集群架构整合硬件资源和利用虚拟化技术生成多个虚拟机(VM,Virtual Machine),每一个虚拟机的运行和管理都与一台独立主机完全相同。优选地,可以通过多个云服务器以分布式冗余的方式组建云集群架构。因此,一个或多个云服务器还可以由融合云端的各种硬件资源整合而成。
移动终端与云服务器通过通信设备联网,所采用的联网方式可以是有线连接、无线连接、或者其任意组合。具体地,在移动终端与云服务器之间可以采用移动通信(优选采用5G或下一代移动通信技术的通信方式)、广域网或以太网等技术来组网。因此,通信设备可以包括网络适配器、网络交换机、路由器、调制解调器、光纤/双绞线线路、无线AP、天线、移动通信基站等。此外,可以由提供云计算服务的云服务器直接连接第三方服务器(比如是,腾讯、百度或其他服务提供商的服务器),以对接外部服务。
2、软件架构
参照图2和图3,移动终端的软件架构可以包含或者运行各种平台(比如,安卓、IOS、Windows、Linux)的操作系统。移动终端可以在基础模式和云计算模式之间切换。在基础模式下,在移动终端中可以仅运行基本的通信功能(比如,电话通话、收发短信)和应用程序(比如,浏览器、摄像、音视频解码)。在云模式下,通过高速网络,移动终端上运行的云操控桌面可以与云服务器中运行的虚拟机的云操作系统(简称云系统)的远程应用程序进行显示交互、应用程序数据同步、媒体播放等,从而获得在本地移动终端“执行”远程应用程序的操控体验。实际上,移动终端无需运行远程应用程序,因此程序的运行环境对本地硬件的运算能力的要求较低。
参照图3,在一些实施例中,在移动终端的操作系统中运行的云操控桌面的实现形式包括独立APP(比如是,基于Native的APP,系统级内置的APP或者是需要安装的APP)、WebAPP(比如是基于HTML5框架的应用程序)、基于Python的应用程序、基于x86运行平台的应用程序、或者是基于移动终端的操作系统中的应用程序中的插件所插入的子程序,等等。
参照图3,若云操控桌面实施为独立APP或者WebAPP,云操控桌面可以包含浏览器控件、本地访问控件、一个或多个服务子程序和一个或多个客户端子程序。一个或多个服务子程序运行优化的本地与远程虚拟机的交互算法,比如一个或多个服务子程序中的图像交互子程序用于对接浏览器控件以实现图形交互,用于移动终端和云服务器虚拟机之间传输的图像进行切片、压缩、对比、整合或者并行处理等工作。客户端子程序与云操控桌面的本地访问控件对接,用于读取移动终端的硬件的传输数据。比如,客户端子程序中运行的通信函数可以让云操控桌面与云服务器的服务程序之间建立网络通信,然后通过本地访问控件读取网络硬件接收到云服务器的通信数据。应理解,在本实施例中,服务子程序优选地用于实施各种操控交互、图传、重定向、动态调整等优化算法,客户端子程序优选地用于实施与本地硬件有关的基本功能算法。
若云操控桌面实施为基于移动终端的操作系统中原生的应用程序(比如,浏览器应用程序)中的插件所插入的子程序,该子程序包括界面控件,用以与虚拟机的远程虚拟界面进行图像交互。在一个实施例中,浏览器应用程序中的云操控桌面可包含图像交互服务子程序,用于移动终端和云服务器虚拟机之间传输的界面图像进行切片、压缩、对比、整合或者并行处理等工作。此外,在另一个实施例中,还可以通过其他插件,将图像交互服务子程序插入到浏览器应用程序中,以与浏览器应用程序中的云操控桌面的界面控件对接,从而可以用于对移动终端所接收的界面图像进行切片、压缩、对比、整合或者并行处理等工作。
参照图2和图3,在一些实施例中,云服务器的软件架构可以分为核心服务层、服务管理层和用户访问层。核心服务层是云计算应用程序的中心,主要是对于系统中的硬件、软件以及应用程序进行融合,然后在呈现给客户,也需要适应各种应用程序。服务管理层是对于核心服务层的管理,保证其在一个稳定的环境中为用户提供服务。用户访问层就是在用户与云端之间提供交流信息通道。在核心服务层设有资源调度程序、网络传输程序等,以提供至少一个虚拟机用于与各个移动终端交互。对应于移动终端的云操控桌面的图像交互服务子程序,云服务器中的虚拟机也包含图像交互服务程序,用于对虚拟机的界面进行截图,还可以用于截取的界面图像进行切片、压缩、对比、整合或者并行处理等工作。
参照图4,在一些实施例中,可以在移动终端或云服务器中设有显示调整模块、显示监测模块和硬件监测模块,以调整本地终端和/或云服务器虚拟机的显示配置和图像传输配置。比如,显示调整模块可以根据移动终端的操控频率数据动态调整用于在本地终端中显示的界面图像的质量,还可以调用移动终端系统底层的程序以动态调整本地终端的显示帧率和/或刷新率,起到节能或者增强显示体验的效果。而显示监测模块可以设置在云服务器中,用于监测至少一个虚拟机的虚拟界面的刷新率、分辨率、界面截图质量等,以触发移动终端的的显示调整模块工作。此外,硬件监测模块可以根据网络传输质量或移动终端的硬件运行情况,触发显示模块动态调整本地终端的显示帧率和/或刷新率。硬件监测模块还可以设置在云服务器中,以根据云服务器的硬件运行情况,动态调整一个或多个虚拟机的显示帧率和/或刷新率。
3、网络传输协议
移动终端和云服务器之间采用的应用层通信协议的框架可以但不限于HTTP、Socket、Webtransport等。
优选地,移动终端和云服务器之间采用WebSocket、HTTP3.0等通信协议。其中,WebSocket协议使得客户端和服务器之间的数据交换变得更加简单和高效,还允许服务端主动向客户端推送数据。在WebSocket API中,移动终端的云操控桌面(或者浏览器)和云服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接并进行双向数据传输,因此该协议可以实现大并发量的数据传输。
在移动终端和云服务器之间的基于WebSocket协议的传输可以复用了HTTP协议的握手通道。此外,还可以扩展性地允许多路复用,比如图3中的图像交互程序可以是基于WebSocket协议的通道进行图像数据传输。
涉及图像传输的模块
参照图5,在一些实施例中,在云服务器中设有图像传送模块,并且在移动终端的云操控桌面设有图像接收模块。当移动终端与云服务器的某虚拟机建立远程操控关系后,该移动终端的图像接收模块与相应的虚拟机所关联的图像接收模块对接,以接收图片数据。在这些实施例中,图像传送模块可以是虚拟机中的图像交互服务程序(见图3)的一部分,也可以是云服务器的核心服务层的应用程序,以执行多个虚拟机的图像处理工作。
在云服务器中,图像传送模块可以通过截屏的方式从虚拟机的界面获得界面图像。此外,图像传送模块还可以接收显示监测模块和/或硬件监测模块的指令,以调整图像采集频率、传送频率、图像质量等。
在移动终端的云操控桌面应用程序中,图像接收模块一般将接收到的界面图像送至本地显示器的界面中显示。此外,图像接收模块还可以接收操控监测模块的指示,以触发图像接收模块对来自远程计算设备的界面图像进行筛选接收、对所接收到的界面图像中进行筛选、分辨率调整、图像切分、或图像整合等。在本实施例中,操控监测模块可以作为云操控桌面应用程序的一部分,用于获取移动终端上的用户的具体操控指令(比如触控位置、点击时长、鼠标焦点移动距离、键盘输入动作等等)和与每个操控指令关联的时间数据,并且将操控指令及关联的时间数据传输到虚拟机。此外,根据操控指令,可以通过操控监测模块调节云操控桌面中的界面显示,或者促使显示调整模块来调整本地终端的界面显示。
参照图6,在进一步的实施例中,图像传送模块可以包括:图像调整单元,用于对虚拟界面图像进行调整,比如进行图像压缩、图像切分等;传送单元,用于传输图像数据;与显示监测模块和硬件监测模块连接的逻辑单元,用于根据图像传输频率、界面图像变化率、虚拟界面分辨率、网络传输质量等情况,促使图像调整单元对已经获取的虚拟界面的图像进行调整,以及选取全部或者部分图像向移动终端传输。
相应地,图像接收模块可以包括:接收单元,用于从云服务器接收图像数据;图像筛选单元,用于在本地移动终端显示界面图像之前,对来自所述远程计算设备的界面图像进行动态筛选(筛选接收部分的界面图像或者对接收的界面图像进行筛选);与操控监测模块和显示监控模块连接的逻辑单元,用于根据用户的操控频率、本地界面的显示变化率、本地设备显示分辨率、对接收的界面图像的丢弃数量等,促使图像筛选单元选择一部分数量的界面图像或者某界面图像中的一部分在云操控桌面的软件界面中显示,或者促使移动终端的显示调整模块调整本地的界面显示参数(比如显示屏刷新率、显示色调、显示区域、显示持续时间等)。
在一些实施例中,从虚拟机获取的界面图像的源文件一般是位图格式。考虑到云服务器的图像传送模块需要对界面图像进行压缩(需要高显示质量的情况下可以采用无损压缩,需要减少图像体积的情况下可以采用有损压缩),而移动终端的云操控桌面后续对接收到的压缩的界面图像解压成为位图格式数据,并被本地系统的显示程序读取,以在移动终端的界面上显示。优选地,界面图像的源文件可以采用TIFF、PNG、WebP等格式。TIFF文件可以是不压缩的文件体积较大,也可以是压缩的`,支持RAW、RLE、LZW、JPEG、CCITT3等多种压缩方式。PNG是一种无损压缩的位图片形格式,其结合了GIF和TIFF优点,能够达到压缩不失真、透明背景、渐变图像的要求。WebP是一种同时提供了有损压缩与无损压缩(可逆压缩)的图片文件格式,派生自影像编码格式VP8,支持的像素最大数量是16383x16383;又无论是有损或无损压缩皆支持Alpha透明通道、ICC色彩配置、XMP诠释数据。因此,这些格式既可以兼顾非压缩的本地大体积高质量界面图像的应用场景,又可以兼顾无损的低压缩率图像的普通网络传输时的应用场景,还可以实现相对有损的超高压缩率图像在特定网络传输时的动态优化应用场景。
图像传输方法
参照图4至图10,在一些实施例中,根据本发明的用于远程操控的图像传输方法基本包括以下步骤:
S001、在本地移动终端和云服务器的虚拟机之间建立操控数据交互连接;
S002、在至少一时段内保持所述虚拟机的界面图像向所述本地移动终端的传输连接;
S003、根据所述云服务器向所述本地移动终端传输的界面图像的传输间隔,对所述云服务器待传送的界面图像进行动态调整。
对于步骤S001,由交互连接的本地移动终端发送的操控数据会引起云服务器的至少一部分界面的改变。这样的操控数据可以是本地移动终端的输入设备(比如,触摸屏、鼠标、键盘等)引起本地的点击、移动、缩放等操控动作所产生的数据。当本地的操控数据传递到云服务器后,再分配到与所述本地移动终端已建立连接的虚拟机,从而建立本地移动终端操控动作与虚拟机的界面交互。移动终端的操控可以引起虚拟机的整个界面的改变,也可以引起部分界面的改变,或者引起界面后台活动的变化。
对于步骤S002,基于本地移动终端和云服务器的虚拟机之间的传输连接,当本地移动终端每次产生的操控数据发送到虚拟机时,如果引起虚拟机的界面变化,则会使得云服务器将当次的界面图像向本地移动终端传输。换句话说,虚拟机收到的操控数据的频率越高,一般向本地移动终端传输的图像越多。优选地,在本地移动终端和云服务器之间的界面图像的传输可以基于长链接网络协议,以兼容高频率图像传输。优选地,移动终端和云服务器之间采用WebSocket、HTTP3.0等通信协议。其中,WebSocket协议使得客户端和服务器之间的数据交换变得更加简单和高效,还允许服务端主动向客户端推送数据。在WebSocketAPI中,移动终端的云操控桌面(或者浏览器)和云服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接并进行双向数据传输,因此该协议可以实现大并发量的数据传输。
对于步骤S003,对所述云服务器待传送的界面图像进行的动态调整包括,在一定的时段内,如果云服务器向本地移动终端传输图像的间隔过短(或者是图像传输过于频繁),在下一时段内,实施以下子步骤中的任一个或多个的子步骤:减少向本地移动终端的图像传输数量;以图像压缩的方式,减少整个或一部分的界面图像的质量;对界面图像中的动态变化的部分图像进行传输。
下面通过更详细的实施例来描述根据本发明的用于远程操控的图像传输方法在本地和远程各侧的方法流程步骤及其交互。
1、本地侧的方法流程
参照图8,根据本发明的用于远程操控的图像传输方法在本地移动终端侧可以包括以下步骤S110至S119。
S110、启动本地移动终端的云操控桌面程序,同时激活本地的操控进程,以实时捕获输入设备的操控数据并向远程计算机设备(云服务器的虚拟机)传输。优选地,可以通过云操控桌面程序接入云服务器的用户信息数据库,验证用户的登录信息(比如,账号、密码、指纹数据、人脸识别数据等),用于登录到云服务器中的该用户的虚拟机且建立本地向远程的安全的加密的操控数据传输。
S120、在移动终端的系统程序中,运行数据传输进程,并激活图像数据传输的专门通道,以允许接收云服务器所传输的界面图像数据。图像数据传输通道和操控数据传输通道各自独立,以允许持续传输操控数据时传输图像数据不被网络连接干扰。优选地,图像数据传输通道被配置的传输频率低于或等于操控数据传输通道的传输频率。
S130、通过本地移动终端和云服务器之间的长链接,在预设时段持续从云服务器接收虚拟机的界面图像。
S140、判断所接收的图像的频次是否过快(比如两次收到图像数据的时间间隔Δtr小于预设阈值Tr),是则执行步骤S150,否则跳转执行步骤S160。
S150、根据移动终端状态,筛选接收一部分自云服务器的界面图像或者对接收到的界面图像进行筛选,用于移动终端的界面更新和显示。优选地,还可以基于本地移动终端的电量、网络状态、应用场景等状态,对所接收的界面图像的筛选数量做调整。比如,当本地移动终端运行在节能模式或者基带芯片的工作负荷超过预设值时,使图像数据传输通道的传输频率降低,从而降低功耗和发热。比如,当本地移动终端连接的网络带宽较低或位于待机场景时,以更长的时间间隔,间隔地选取一部分的界面图像以用于显示。在另一些实例中,当监测到本地操控数据的发送频率低于阈值ft,则间隔地选择所接收的界面图像;如果监测到没有本地操控数据发送,却接收的图像的频次过快,则以间隔更长的时间来选择所接收的界面图像,以用于移动终端的界面更新。
S160、以选取的界面图像更新到移动终端的显示界面。优选地,还可以通过以下任一方式触发局部或全局地更新本地移动终端的显示界面:定时;本地移动终端的应用场景(比如,网页浏览、工作办公、游戏模式等)切换;本地移动终端的系统状态改变;收到用户特定的刷新操作指令。
S170、判断本地移动终端是否产生对远程的虚拟机的操控数据(比如,云操控桌面受到用户的操控是否结束),是则执行下一步骤S180,否则返回执行步骤S130。
S180、判断本地移动终端和远程服务器之间的图像数据传输是否结束(比如,传输通道是否关闭),是则执行下一步骤S190,否则返回执行步骤S130。
S190、向云服务器的虚拟机同步当前的操控数据,并以虚拟机的全局界面图像同步到本地移动终端的界面。最后结束本次流程。
2、远程侧的方法流程
参照图8,根据本发明的用于远程操控的图像传输方法在远程的云服务器侧可以包括以下步骤S210至S219。
S210、通过云服务器的传输进程,获取本地移动终端的用户登录数据,启动所述用户的远程计算机设备(在云服务器中生成的虚拟机),从而使该虚拟机对接本地移动终端的操控数据。优选地,在云服务器中分配到用户使用的虚拟机可以是多个,每个当前使用的虚拟机的操控数据传输通道与移动终端的云操控桌面的特定操控数据传输进程关联,从而允许云操控桌面可以切换操控该用户在云服务器中的各个虚拟机。
S220、在云服务器中或在虚拟机中运行图像交互服务程序,并激活图像数据传输的专门通道,以允许向本地移动终端传输虚拟机的界面图像数据。
S230、调用虚拟机的屏幕截屏进程,持续获取该虚拟机的界面图像。
S240、判断所发送的图像的频次是否过快(比如两次收到图像数据的时间间隔Δts小于预设阈值Ts),是则执行步骤S250,否则跳转执行步骤S260。
S250、对获取的虚拟机的界面图像的质量进行动态调整。
对于步骤S240至S250,在一些实施例中,对云服务器待传送到本地移动终端的界面图像进行动态调整包括以下步骤:检测同一界面范围的界面图像从所述云服务器向所述移动终端的当前传输间隔Δts;如果确定当前传输间隔Δts小于第一时间阈值Ts1,则使所述待传送的界面图像放弃当次的传输;如果确定当前传输间隔低于第二时间阈值Ts2,则使所述待传送的界面图像降低质量(例如,通过进一步的图像压缩的方式来降低至少一部分的界面图像的质量,也可以对界面图像降低分辨率处理);其中,所述第一时间阈值Ts1小于所述第二时间阈值Ts2。
在一些实例中,第一时间阈值Ts1可以是较小值,比如20ms,而第二时间阈值Ts2可以配置成多个较大的阈值(比如,40ms、60ms、80ms),以阶梯式地降低界面图像质量(或者,提高压缩率/降低分辨率)。例如,当传输间隔小于40ms时,把图像质量压缩到只有原文件体积的30%,当传输间隔小于60ms时,把图像质量压缩到只有原文件体积的60%,当传输间隔小于80ms时,把图像质量压缩到只有原文件体积的80%。
在另一些实施例中,对所述云服务器待传送的界面图像进行动态调整还可以包括以下步骤:检测同一界面范围的界面图像从所述云服务器向所述移动终端的当前传输间隔;确定当前传输间隔Δts高于第三时间阈值Ts3,则使待传送的界面图像质量恢复(比如降低图像压缩率、或者转换成无损压缩图像),或者从云服务器采集更高图像质量的界面图像,用于向所述移动终端传输。第三时间阈值Ts3一般大于第二时间阈值Ts2。优选地,第三时间阈值Ts3可以是100ms或者更大的值。
在另一些实施例中,对所述云服务器待传送的界面图像进行动态调整还可以包括以下步骤:检测整体的界面图像从所述云服务器向所述移动终端的当前传输间隔Δts;确定当前传输间隔Δts低于预设的某个阈值Ts0,则使所述待传送的界面图像降低分辨率或调整成灰度图像。
优选地,可以根据移动终端和云服务器之间的当前的网络传输状态、应用场景(比如,网页浏览、工作办公、游戏模式等)或用户指令,对所述云服务器向所述移动终端传输的界面图像进行预调整,所述预调整包括图像分辨率调整、色彩通道调整、调整成灰度图像等。比如,当云服务器对本地移动终端的网络传输速度或者带宽降幅较大,则直接执行上述预调整步骤,再执行步骤S250。
S260、通过本地移动终端和云服务器之间的长链接,在预设时段持续将筛选留下的界面图像向本地移动终端传输。优选地,可以建立操控数据和界面图像之间建立时间标识,使得每次来自本地移动终端的在某个时间节点的操控所触发(截屏)的云服务器虚拟机的界面图像可以附上所述时间节点的标识,使得本地移动终端收到的界面图像也附加了该时间节点标识,用于本地终端的操控动作与显示的界面图像对应。
S270、判断远程的虚拟机是否收到本地移动终端的操控数据,并且在虚拟机中由本地移动终端的操控数据引起的操控进程是否完成,是则执行下一步骤S280,否则返回执行步骤S230。
S280、判断本地移动终端和远程服务器之间的图像数据传输是否结束(比如,传输通道是否关闭),是则执行下一步骤S290,否则返回执行步骤S230。
S290、与本地移动终端的同步当前的操控数据,并以虚拟机的全局界面图像同步到本地移动终端的界面。最后结束本次流程。
3、操控数据与图像筛选
本地移动终端的操控数据影响到虚拟机的界面图像的生成和传输。在一些实施例中,根据本发明的方法还可以包括以下与操控有关的基本步骤:A、根据本地操控的类型,当出现特定的操控、操控过快、异常操控等情况,使经过筛选或者调节后的操控数据再向云服务器发送,以避免云服务器产生不必要的界面图像;或者,B、根据本地移动终端的操控数据的发送间隔,对本地移动终端所接收的多个界面图像进行动态筛选,以在移动终端显示所筛选的界面图像或者显示至少一部分图像。基本步骤A是通过筛选本地操控数据而直接影响云服务器的虚拟机的界面变化,还可以直接影响云服务器向本地的图像传输频率,所以基本步骤A属于“主动”步骤。基本步骤B是对已接收的图像进行筛选,属于“被动”步骤。可以理解到,在本地接收的图像和远程发送的界面图像中,图像接收模块和图像传输模块都可以独立工作以进行图像筛选,同时配合上述的主动步骤A和被动步骤B,这是本发明的图像传输方法方案的灵活之处,能够兼容在各种基于操控的应用场景中进行图像传输优化。
在一些实施例中,基本步骤A可以结合到上述实施例的步骤S110中的操控进程。在这些实施例中,可以实施为以下步骤S111至S116。
S111、激活本地的操控进程,以实时捕获本地移动终端的输入设备的操控数据。
S112、在操控触发的时段内,捕获操控数据和进行分类。在一些实施例中,可以根据操控事件,分类成点击、双击、单指滑动、多指滑动、指纹识别动作、机身实体按键动作等等。
S113、判断是否出现特定类型的操控,或者是否出现操控过快或者操控异常,是则执行下一步骤S114,否则跳转执行步骤S115。在一些实施例中,对于每个分类,特定类型的操控可以是长时间的持续点击、远距离(比如,超过屏幕一半长度)的滑动等等。操控异常比如是频繁来回的触控拖动、多个按键同时按下等等。
S114、筛选或者调节本地移动终端的操控数据。参照图7,在一个实施例中,对于频繁来回的触控拖动的操控事件(如图7中的虚线箭头指示),所产生的操控数据包含较多的来回拖动的路径坐标,因此,可以对操控数据进行筛选,保留该触控拖动事件中的起始触控点的坐标和末尾触控点的坐标,以避免重复操控数据引起生成反复的虚拟机界面图像。在另一个实施例中,对于远距离滑动的操控事件,同样可以只保留滑动起始点的坐标和滑动结束点的坐标记录在操控数据中。此外,对于异常的操控事件,可以直接屏蔽其产生的操控数据,避免发送至远程服务器。
S115、向远程云服务器的虚拟机发送操控数据。
S116、等待一定的时间,判断是否有下一个操控事件发生,是则返回执行步骤S112,否则结束本次流程。
在一些实施例中,基本步骤B可以结合到上述实施例的步骤S150中的操控进程。根据移动终端的操控间隔对所接收的多个界面图像进行动态筛选可以包括以下步骤:
S151、在至少一时间段内,确定移动终端的操控间隔Δtc小于第四时间阈值Tc4(优选地,第四时间阈值Tc4可以根据操控类型,取值为10ms至20ms范围);
S152、从所接收到的远程计算设备的界面图像中,至少丢弃一部分用于在本地终端显示的界面图像(如图7所示的因移动终端的频繁操控事件而重复产生的中间冗余图像),然后根据需要,可以减少本地终端向云服务器虚拟机发送的操控数据的频次。
在一些实施例中,根据移动终端的操控间隔对所接收的多个界面图像进行动态筛选还可以包括以下步骤:在至少一时间段内,确定移动终端的操控间隔Δtc大于第五时间阈值Tc5(对应于用户在普通情况下对移动终端的操控频次),则从所接收的多个界面图像中保留所有的用于在移动终端显示的界面图像;在至少一时间段内,确定移动终端的操控间隔Δtc大于第六时间阈值Tc6(对应于用户在较长时间不操控移动终端的情况),则从所接收的多个界面图像中间隔地选取用于在移动终端显示的界面图像,直至出现移动终端的下一次操控,这样可以实现本地待机的效果和减少移动终端的功耗。其中,第六时间阈值Tc6大于第五时间阈值Tc5,且第五时间阈值Tc5大于第四时间阈值Tc4。第五时间阈值Tc5的取值可以大于200ms,第六时间阈值Tc6的取值可以大于若干秒。
在一实施例中,根据本发明的方法还可以包括:在至少一时间段内,确定移动终端的操控间隔Δtc大于第七时间阈值Tc7,则减少移动终端的显示帧率,直至出现下一次操控,其中第七时间阈值Tc7大于第五时间阈值Tc5。本实施例可以适用于本地终端长期没有被操控时(比如是阅读场景),减少本地终端的显示功耗。
在一些实施例中,参照图7,根据本发明的方法还可以包括以下步骤:确定移动终端的操控点的移动幅度(或距离)超过预设的幅度阈值;在移动终端的操控点所产生的操控数据引起的云服务器向移动终端传送的多个界面图像中,保留与操控点的起始动作和结尾动作关联的界面图像,并且减少其余的用于在移动终端显示的界面图像。
此外,还可以通过移动终端的本地子程序监测用户对人机交互设备的操控频率。在优选的实施例中:当操控频率较慢(比如低于某阈值)时,可以提高云服务器向移动终端传输的图像质量和/或降低移动终端的显示器(或显示界面)的刷新率;当操控频率较快(比如高于某阈值)时,可以降低云服务器向移动终端传输的图像质量和/或提高移动终端的显示器(或显示界面)的刷新率;当操控频率过快(比如高于某阈值)时,可以传输虚拟机在该过快操控过程的最后一帧的界面图像至移动终端,然后对移动终端的过快操控过程中的其余界面图像数据不进行传输,或者以校高的压缩率对这些图像实施压缩(甚至是有损压缩)。
4、远程虚拟机和移动终端之间的交互
参照图8,本地移动终端侧的步骤S110、S120、S130、S170、S180和S190分别和云服务器侧的步骤S210、S220、S260、S270、S280和S290有双向数据传输和数据交换。
特别地,对于步骤S160和S260之间还存在定时的同步交互,以定时在移动终端和云服务器之间同步界面图像。这样,可以避免云服务器向本地移动终端传输筛选后的界面图像所导致的双方的界面显示偏差。
在一些实施例中,根据本发明的方法还可以包括以下步骤:可以通过云服务器中运行的硬件监测模块,判断移动终端导致的云服务器的硬件(含虚拟机的虚拟硬件)的运行情况(比如,网络传输质量、处理器负荷、内存占用率等)。比如,当监测到网络传输速度下降或者网络延迟增加超过阈值,则可以提高云服务器向移动终端传输的图像的压缩率,或者降低图像质量。
5、其他
参照图10,在其他的实施例中,根据本发明的方法还可以包括以下步骤,以在本地终端或者云服务器中实施。
S351、在云服务器向移动终端传输界面图像之前,使移动终端的界面分辨率与云服务器的界面显示分辨率同步一致。优选地,在云服务器和移动终端之间设置用于传输至少一部分的界面图像的数据缓冲区;根据历史传输数据,在数据缓冲区中补全生成连续的至少一部分的界面图像的数据,用于从数据缓冲区读取数据的应用程序连续地读取界面图像数据。
S352、判断是否出现网络问题(比如,当监测到网络传输速度下降或者网络延迟增加超过阈值)或者切换到高速图像交互模式,是则执行下一步骤S353。
S353、判断是否收到界面分辨率调节指令。是则执行步骤S354,否则执行步骤S355。
S354、降低界面显示分辨率。
S355、降低所传输的界面图像的分辨率。
应当认识到,本发明实施例中的方法步骤可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。
此外,可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其他方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。
进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、RAM、ROM等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其他不同类型的非暂时性计算器可读存储介质。当根据本发明所述的方法和技术编程时,本发明还可以包括计算机本身。
计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。
Claims (13)
1.一种用于远程操控的图像传输方法,其特征在于,所述方法包括以下步骤:
在本地终端和远程计算设备之间建立操控数据交互连接,其中所述远程计算设备的至少一部分界面的改变是由交互连接的本地终端发送的操控数据引起;
在至少一时段内保持所述远程计算设备的界面图像向所述本地终端的传输连接;
根据所述远程计算设备向所述本地终端传输的界面图像的传输间隔,对所述远程计算设备向所述本地终端的待传送的界面图像进行动态调整,所述动态调整包括:
确定在一时段内出现低于间隔阈值的图像传输后,在下一时段内,减少图像传输数量和/或减少所述至少一部分的界面图像的质量。
2.根据权利要求1所述的方法,其特征在于,对所述远程计算设备向所述本地终端的待传送的界面图像进行动态调整的步骤包括:
实时检测同一界面范围的界面图像从所述远程计算设备向所述本地终端的图像传输间隔;
确定当前的图像传输间隔低于第一时间阈值,则对应所述待传送的界面图像放弃当次的传输;
确定当前的图像传输间隔低于第二时间阈值,则对应所述待传送的界面图像降低质量;
其中,所述第一时间阈值小于所述第二时间阈值。
3.根据权利要求1或2所述的方法,其特征在于,对所述远程计算设备向所述本地终端的待传送的界面图像进行动态调整的步骤包括:
检测同一界面范围的界面图像从所述远程计算设备向所述本地终端的当前传输间隔;
确定当前传输间隔高于第三时间阈值,则恢复所述待传送的界面图像的质量,或者从远程计算设备采集更高图像质量的界面图像用于向所述本地终端传输。
4.根据权利要求1所述的方法,其特征在于,对所述远程计算设备向所述本地终端的待传送的界面图像进行动态调整的步骤包括:
实时检测同一界面范围的界面图像从所述远程计算设备向所述本地终端的图像传输间隔;
确定当前传输间隔低于预设的阈值,则使所述待传送的界面图像降低分辨率或处理成减少色彩通道的图像。
5.根据权利要求1至4中任一项权利要求所述的方法,其特征在于,对所述远程计算设备向所述本地终端传输的界面图像进行预调整所根据的条件包括:
本地终端和远程计算设备之间的当前的网络传输状态、应用场景状态或用户指令;与所述远程计算设备交互连接的本地终端上的操控状态、显示分辨率或当前的图像算力。
6.根据权利要求1所述的方法,其特征在于,所述方法包括以下步骤:
使所述本地终端从所述远程计算设备接收界面图像;
根据所述本地终端上的实时监测到的操控间隔,对来自所述远程计算设备的界面图像进行动态筛选,以在本地终端显示所筛选的界面图像的至少一部分。
7.根据权利要求6所述的方法,其特征在于,所述方法包括:
在至少一时间段内,确定本地终端的操控间隔小于第四时间阈值;
从所接收到的所述远程计算设备的界面图像中,至少丢弃一部分用于在所述本地终端显示的界面图像;
减少所述本地终端向所述计算设备发送的操控数据的频次。
8.根据权利要求6所述的方法,其特征在于,对来自所述远程计算设备的界面图像进行动态筛选的步骤包括:
在至少一时间段内,确定本地终端的操控间隔大于第五时间阈值,则从所接收的多个界面图像中保留所有的用于在所述本地终端显示的界面图像;
在至少一时间段内,确定本地终端的操控间隔大于第六时间阈值,则从所接收的多个界面图像中至少间隔地选取界面图像以显示在所述本地终端,直至出现所述本地终端的下一次操控;
其中,所述第六时间阈值大于所述第五时间阈值。
9.根据权利要求1至8中任一权利要求所述的方法,其特征在于,所述方法包括:
在至少一时间段内,确定本地终端的操控间隔大于第七时间阈值,则减少所述本地终端的显示帧率,直至出现所述本地终端的下一次操控。
10.根据权利要求1至9中任一权利要求所述的方法,其特征在于,所述方法包括以下步骤:
确定本地终端的操控点的移动幅度超过预设的幅度阈值;
在所述本地终端的所述操控点所产生的操控数据引起的远程计算设备向所述本地终端传送的多个界面图像中,保留与所述操控点的起始动作和结尾动作关联的界面图像,并且减少其余的用于在本地终端显示的界面图像;
定时在所述本地终端和所述远程计算设备之间同步界面图像。
11.根据权利要求1至10中任一权利要求所述的方法,其特征在于,所述方法包括以下步骤:
在远程计算设备向本地终端传输界面图像之前,使所述本地终端的界面分辨率与所述远程计算设备的界面显示分辨率同步一致;
在所述远程计算设备和所述本地终端之间设置用于传输至少一部分的界面图像的数据缓冲区;
根据历史传输数据,在数据缓冲区中补全生成连续的至少一部分的界面图像的数据,用于从所述数据缓冲区读取数据的应用程序连续地读取界面图像数据。
12.一种计算器可读存储介质,其上储存有程序指令,所述程序指令被处理器执行时实施如权利要求1至11中任一项权利要求所述的方法。
13.一种计算装置,其特征在于,包括权利要求12所述的计算器可读存储介质。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2023/073859 WO2023169094A1 (zh) | 2022-03-08 | 2023-01-30 | 用于远程操控的图像动态传输方法及装置 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210226951 | 2022-03-08 | ||
CN2022102269515 | 2022-03-08 | ||
CN202210668696 | 2022-06-14 | ||
CN202210668696X | 2022-06-14 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115914198A true CN115914198A (zh) | 2023-04-04 |
Family
ID=86494638
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211580542.1A Pending CN115914198A (zh) | 2022-03-08 | 2022-12-09 | 用于远程操控的图像动态传输方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115914198A (zh) |
WO (1) | WO2023169094A1 (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5874257B2 (ja) * | 2011-09-12 | 2016-03-02 | 富士通株式会社 | 情報処理装置、画像送信方法及び画像送信プログラム |
US10715577B2 (en) * | 2014-09-09 | 2020-07-14 | Vmware, Inc. | Virtual desktop encoding based on user input behavior |
US10484437B2 (en) * | 2015-01-21 | 2019-11-19 | Logmein, Inc. | Remote support service with two-way smart whiteboard |
CN108810554B (zh) * | 2018-06-15 | 2021-06-22 | 腾讯科技(深圳)有限公司 | 虚拟场景的场景图像传输方法、计算机设备及存储介质 |
CN109298806B (zh) * | 2018-09-21 | 2022-01-11 | 杨立群 | 一种基于对象识别的远程快速界面交互方法及装置 |
KR102297262B1 (ko) * | 2020-07-16 | 2021-09-03 | 한국과학기술연구원 | 하이브리드 해상도를 가진 영상 데이터 전송 방법 및 이를 이용한 하이브리드 해상도 영상 생성 방법 |
-
2022
- 2022-12-09 CN CN202211580542.1A patent/CN115914198A/zh active Pending
-
2023
- 2023-01-30 WO PCT/CN2023/073859 patent/WO2023169094A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023169094A1 (zh) | 2023-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106713485B (zh) | 云计算移动终端 | |
EP2924999B1 (en) | Context-aware streaming of digital content | |
CN108491275B (zh) | 程序优化方法、装置、终端及存储介质 | |
US9264478B2 (en) | Home cloud with virtualized input and output roaming over network | |
KR101596505B1 (ko) | 멀티미디어 시스템의 사용자 인터페이스 장치 및 방법 | |
US20190268601A1 (en) | Efficient streaming video for static video content | |
CN110324721B (zh) | 一种视频数据处理方法、装置及存储介质 | |
US20170272545A1 (en) | Method and system for transmitting remote screen | |
CN111970565A (zh) | 视频数据处理方法、装置、电子设备及存储介质 | |
CN113973224B (zh) | 媒体信息的传输方法、计算设备及存储介质 | |
CN114245175A (zh) | 视频转码方法、装置、电子设备及存储介质 | |
CN117201862B (zh) | 一种基于多屏幕协同的实时互动方法及相关装置 | |
CN115914198A (zh) | 用于远程操控的图像动态传输方法及装置 | |
CN114268626A (zh) | 窗口处理系统、方法以及装置 | |
US20230379763A1 (en) | Dynamic continuous quality of service adjustment system | |
CN115174917A (zh) | 一种基于h264的视频显示方法及装置 | |
CN117424931A (zh) | 基于图像交互的云计算系统及方法 | |
US10666711B2 (en) | Automated adaption of a codec | |
CN114281258A (zh) | 基于数据存储的业务处理方法、装置、设备和介质 | |
CN113965779A (zh) | 云游戏数据的传输方法、装置、系统及电子设备 | |
WO2016154816A1 (zh) | 数据处理方法及装置 | |
US20240048727A1 (en) | Method and system of low latency video coding with interactive applications | |
US11902346B2 (en) | Method and apparatus for processing streaming media service, electronic device, and storage medium | |
US20230221969A1 (en) | Encoding scheduling method, server, client, and system for acquiring remote desktop | |
KR102526963B1 (ko) | Vmi 서비스 영상 품질변경 방법 및 장치 |
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 |