WO2023169094A1 - 用于远程操控的图像动态传输方法及装置 - Google Patents
用于远程操控的图像动态传输方法及装置 Download PDFInfo
- Publication number
- WO2023169094A1 WO2023169094A1 PCT/CN2023/073859 CN2023073859W WO2023169094A1 WO 2023169094 A1 WO2023169094 A1 WO 2023169094A1 CN 2023073859 W CN2023073859 W CN 2023073859W WO 2023169094 A1 WO2023169094 A1 WO 2023169094A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- local terminal
- interface
- image
- computing device
- remote computing
- Prior art date
Links
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
Definitions
- the invention relates to an image dynamic transmission method and device for remote control, and belongs to cloud computing, mobile communications, software technology and other related fields.
- Smart mobile terminals have become inseparable network terminal equipment for people's daily lives.
- the functions of various applications are growing rapidly and occupying more hardware resources, resulting in a short replacement cycle for smart mobile terminal products.
- frequent updates of smart mobile terminals put economic pressure on consumers, and mobile terminals that have been completely replaced with new ones may have excessive performance.
- the microprocessor chip of the mobile terminal is limited by power consumption requirements and has a bottleneck in computing power.
- new generations of mobile communication technologies are constantly being introduced. While the communication chips of mobile terminals occupy less computing power of the microprocessor chips of mobile terminals, they can command orders with the curse of new generation of mobile communication technologies. Remote communication with smart mobile terminals is faster and more stable.
- the interface video in a smaller high compression rate format (such as H.265) is used for transmission, it will also occupy more local processor chip computing resources during the video decompression process of the local mobile terminal, and ultimately lead to the loss of local mobile terminals. Poor usage experience occurs, such as lagging, heating, reduced battery life, etc.
- the present invention provides an image dynamic transmission method and device for remote control, aiming to solve at least one of the technical problems existing in the prior art.
- One aspect of the present invention relates to an image transmission method for remote control.
- the method includes the following steps: establishing a control data interactive connection between a local terminal and a remote computing device, wherein at least a part of the interface of the remote computing device is changed. It is caused by the control data sent by the interactively connected local terminal; maintaining the transmission connection of the interface image of the remote computing device to the local terminal for at least a period of time; according to the interface transmitted by the remote computing device to the local terminal
- the image transmission interval is to dynamically adjust the interface image to be transmitted from the remote computing device to the local terminal.
- the dynamic adjustment includes: determining that after image transmission below the interval threshold occurs in a period of time, in the next period Within, reduce the number of image transmissions and/or reduce the quality of at least a portion of the interface images.
- the conditions based on which the interface image transmitted by the remote computing device to the local terminal are pre-adjusted include: the current network transmission status, application scenario status, or user status between the local terminal and the remote computing device. Instructions; the control status, display resolution or current image computing power on the local terminal interactively connected to the remote computing device.
- the method further includes: within at least a period of time, determining that the control interval of the local terminal is less than a fourth time threshold; and discarding at least a portion of the user interface image from the received interface image of the remote computing device. Based on the interface image displayed on the local terminal; reducing the frequency of control data sent by the local terminal to the computing device.
- the method further includes the following steps: before the remote computing device transmits the interface image to the local terminal, synchronizing the interface resolution of the local terminal with the interface display resolution of the remote computing device; A data buffer for transmitting at least a part of the interface image is set between the remote computing device and the local terminal; according to the historical transmission data, the data of at least a part of the continuous interface image is completed and generated in the data buffer, using The interface image data is continuously read by the application program that reads data from the data buffer.
- the method further includes the following steps: establishing a time stamp between the manipulation data and the interface image, so that each time the manipulation from the local mobile terminal is triggered at a time node, the interface image of the cloud server virtual machine is triggered Attaching the identification of the time node causes the interface image received by the local terminal to also be appended with the identification of the time node, so that the control action of the local terminal corresponds to the displayed interface image.
- the invention also relates to a computing device including the computer-readable storage medium.
- Figure 6 is a schematic diagram of modules and units processing the transmission, adjustment and filtering of images according to an embodiment of the present invention.
- Figure 8 is a flow chart of an image transmission method based on interaction between local and remote in an embodiment of the present invention.
- Figure 10 is a detailed flow chart of an image adjustment method in an embodiment according to the present invention.
- the overall framework system may include servers, terminals, or other devices and equipment; while at the lower level of hardware, servers or terminals may include displays, processors, memories, communication hardware, or other devices and equipment. wait.
- a program refers to a set of instructions that instructs a computer or other device with information processing capabilities to perform actions or make judgments.
- the term "and/or" includes any combination of one or more of the associated listed items. It should be understood that although the terms first, second, third, etc. may be used in this disclosure to describe various elements, these elements should not be limited to these terms. These terms are only used to distinguish elements of the same type from each other. For example, a first element could be termed a second element, and similarly, a second element could be termed a first element, without departing from the scope of the present disclosure.
- the image transmission method and device according to the present invention can be implemented in networked local terminals and remote computing devices with interfaces.
- the remote computing device can be any computer in a multi-computer system, or a virtual computer (referred to as a virtual machine) generated by virtualization technology in a clustered cloud computing server. Therefore, the remote computing device can have a physical interface. , it can also have a virtual interface with functions equivalent to the physical interface.
- the method and device of the present invention can be preferably implemented in the application scenario of mobile cloud computing, and especially can be implemented in any part of a framework system.
- the application scenarios of mobile cloud computing are as follows: The above example describes the framework system, but it should be understood that the method and device according to the present invention can also be applied to multi-device interactive systems with local terminals and remote computing devices in other application scenarios (for example, enterprise internal information platform).
- the framework system based on mobile cloud computing includes in a broad sense: a cloud computing-based mobile terminal on the user control side (referred to as a cloud mobile terminal) and a cloud computing server (referred to as a cloud server) on the service provider side.
- a cloud computing-based mobile terminal on the user control side referred to as a cloud mobile terminal
- a cloud computing server referred to as a cloud server
- Cloud servers can include various computer equipment such as CPU, memory, hard disk, and graphics card, as shown in Figure 2. Cloud servers can also be multi-processor systems, large computers, distributed computing systems, or cluster computing systems. Further, the cloud server can include a network manager, processor, scheduler, memory, etc., to integrate hardware resources through the cloud cluster architecture and use virtualization technology to generate multiple virtual machines (VM, Virtual Machine). The operation of each virtual machine and management are exactly the same as a standalone host. Preferably, a cloud cluster architecture can be established through multiple cloud servers in a distributed redundant manner. Therefore, one or more cloud servers can also be integrated by integrating various hardware resources of the cloud.
- VM Virtual Machine
- the software architecture of the mobile terminal may include or run operating systems of various platforms (such as Android, IOS, Windows, and Linux).
- the mobile terminal can switch between basic mode and cloud computing mode.
- basic mode only basic communication functions (such as phone calls, sending and receiving text messages) and applications (such as browsers, cameras, audio and video decoding) can be run on the mobile terminal.
- cloud mode through high-speed network, the cloud-controlled desktop running on the mobile terminal can perform display interaction, application data synchronization, and media playback with the remote application of the cloud operating system (referred to as the cloud system) of the virtual machine running in the cloud server. etc., so as to obtain the control experience of "executing" remote applications on the local mobile terminal.
- the cloud system the cloud operating system of the virtual machine running in the cloud server. etc.
- the implementation form of the cloud-controlled desktop running in the operating system of the mobile terminal includes an independent APP (for example, a Native-based APP, a system-level built-in APP or an APP that needs to be installed), WebAPP (for example, an application based on the HTML5 framework), an application based on Python, an application based on an x86 running platform, or a subroutine inserted by a plug-in in an application based on a mobile terminal operating system, etc.
- independent APP for example, a Native-based APP, a system-level built-in APP or an APP that needs to be installed
- WebAPP for example, an application based on the HTML5 framework
- Python for example, an application based on Python
- an application based on an x86 running platform for example, a subroutine inserted by a plug-in in an application based on a mobile terminal operating system, etc.
- the cloud control desktop may include browser controls, local access controls, one or more service subprograms and one or more client subprograms.
- One or more service subroutines run optimized interaction algorithms between local and remote virtual machines.
- the image interaction subroutine in one or more service subroutines is used to interface with browser controls to achieve graphical interaction, and is used for mobile terminals and clouds. Images transmitted between server virtual machines are sliced, compressed, compared, integrated or processed in parallel.
- the client subprogram is connected to the local access control of the cloud control desktop and is used to read the transmission data of the mobile terminal hardware.
- the communication function running in the client subroutine can establish network communication between the cloud control desktop and the service program of the cloud server, and then read the network hardware through the local access control to receive the communication data of the cloud server.
- the service subroutine is preferably used to implement various optimization algorithms such as manipulation interaction, image transmission, redirection, and dynamic adjustment
- the client subroutine is preferably used to implement basic functional algorithms related to local hardware. .
- the image interaction service subroutine can also be inserted into the browser application through other plug-ins to interface with the interface controls of the cloud-controlled desktop in the browser application, so that it can be used for
- the interface images received by the mobile terminal are sliced, compressed, compared, integrated or processed in parallel.
- the software architecture of the cloud server can be divided into a core service layer, a service management layer and a user access layer.
- the core service layer is the center of cloud computing applications. It mainly integrates the hardware, software and applications in the system, and then presents it to customers. It also needs to adapt to various applications.
- the service management layer is the management of the core service layer to ensure that it provides services to users in a stable environment.
- the user access layer provides a communication channel between users and the cloud.
- the core service layer is provided with a resource scheduler, a network transmission program, etc. to provide at least one virtual machine for interacting with each mobile terminal.
- the virtual machine in the cloud server also contains an image interactive service program, which is used to take screenshots of the interface of the virtual machine and can also be used to slice and compress the captured interface images. , comparison, integration or parallel processing and other tasks.
- the hardware monitoring module can trigger the display module to dynamically adjust the display frame rate and/or refresh rate of the local terminal based on the network transmission quality or the hardware operation of the mobile terminal.
- the hardware monitoring module can also be set up in the cloud server to dynamically adjust the display frame rate and/or refresh rate of one or more virtual machines based on the hardware operation of the cloud server.
- the framework of the application layer communication protocol adopted between the mobile terminal and the cloud server can be but is not limited to HTTP, Socket, Webtransport, etc.
- the transmission between the mobile terminal and the cloud server based on the WebSocket protocol can reuse the handshake channel of the HTTP protocol.
- it can also be expanded to allow multiplexing.
- the image interaction program in Figure 3 can be based on the channel of the WebSocket protocol for image data transmission.
- the image receiving module In a cloud-controlled desktop application of a mobile terminal, the image receiving module generally sends the received interface image to the interface of the local display for display.
- the image receiving module can also receive instructions from the manipulation monitoring module to trigger the image receiving module to filter and receive interface images from the remote computing device, filter, adjust resolution, image segmentation, and perform filtering, resolution adjustment, and image segmentation on the received interface images. Or image integration, etc.
- the control monitoring module can be used as part of the cloud control desktop application to obtain the user's specific control instructions on the mobile terminal (such as touch position, click duration, Mouse focus movement distance, keyboard input actions, etc.) and time data associated with each control command, and the control command and associated time data are transmitted to the virtual machine.
- the interface display in the cloud control desktop can be adjusted through the control monitoring module, or the display adjustment module can be prompted to adjust the interface display of the local terminal.
- the source file of the interface image obtained from the virtual machine is generally in bitmap format.
- the image transmission module of the cloud server needs to compress the interface image (lossless compression can be used when high display quality is required, lossy compression can be used when the image volume needs to be reduced), and the cloud control desktop of the mobile terminal subsequently
- the received compressed interface image is decompressed into bitmap format data and read by the display program of the local system to display on the interface of the mobile terminal.
- the source file of the interface image can be in TIFF, PNG, WebP and other formats.
- TIFF files can be uncompressed and have larger file sizes, or they can be compressed and support multiple compression methods such as RAW, RLE, LZW, JPEG, and CCITT3.
- the dynamic adjustment of the interface image to be transmitted by the cloud server includes: within a certain period of time, if the interval between the cloud server transmitting the image to the local mobile terminal is too short (or the image transmission is too frequent), in the next During the period, implement any one or more of the following sub-steps: reduce the number of image transmissions to the local mobile terminal; reduce the quality of all or part of the interface image by image compression; modify the dynamics in the interface image Changed parts of the image are transferred.
- the image transmission method for remote control according to the present invention may include the following steps S110 to S119 on the local mobile terminal side.
- the cloud control desktop program of the local mobile terminal and activate the local control process to capture the control data of the input device in real time and transmit it to the remote computer device (virtual machine of the cloud server).
- the user information database of the cloud server can be accessed through the cloud control desktop program to verify the user's login information (such as account number, password, fingerprint data, face recognition data, etc.) for logging in to the user in the cloud server. virtual machine and establish a local-to-remote installation Completely encrypted control data transmission.
- step S140 Determine whether the frequency of received images is too fast (for example, the time interval ⁇ tr between two received image data is less than the preset threshold Tr), if so, execute step S150, otherwise jump to step S160.
- the number of filtered interface images received can also be adjusted based on the local mobile terminal's power, network status, application scenarios and other statuses. For example, when the local mobile terminal runs in energy-saving mode or the workload of the baseband chip exceeds the preset value, the transmission frequency of the image data transmission channel is reduced, thereby reducing power consumption and heat generation. For example, when the local mobile terminal is connected to a low network bandwidth or is in a standby scene, a portion of the interface image is selected for display at longer intervals.
- the received interface images are selected at intervals; if it is detected that no local control data is sent, but the frequency of received images is too fast, then the received interface images are selected at intervals. The received interface images are selected at longer intervals for interface updating of the mobile terminal.
- step S170 Determine whether the local mobile terminal generates control data for the remote virtual machine (for example, whether the cloud control desktop has been controlled by the user). If so, execute the next step S180; otherwise, return to step S130.
- S230 Call the screen capture process of the virtual machine to continuously obtain the interface image of the virtual machine.
- step S240 Determine whether the frequency of images being sent is too fast (for example, the time interval ⁇ ts between two received image data is less than the preset threshold Ts), if so, execute step S250, otherwise jump to step S260.
- dynamically adjusting the interface image to be transmitted from the cloud server to the local mobile terminal includes the following steps: detecting the current transfer of the interface image in the same interface range from the cloud server to the mobile terminal.
- the transmission interval ⁇ ts if it is determined that the current transmission interval ⁇ ts is less than the first time threshold Ts1, the interface image to be transmitted is caused to give up the current transmission; if it is determined that the current transmission interval is lower than the second time threshold Ts2, the interface image to be transmitted is caused to
- the quality of the transmitted interface image is reduced (for example, the quality of at least a part of the interface image is reduced through further image compression, or the interface image can be reduced in resolution); wherein the first time threshold Ts1 is smaller than the first time threshold Ts1 Two time threshold Ts2.
- the first time threshold Ts1 can be a smaller value, such as 20ms
- the second time threshold Ts2 can be configured as multiple larger thresholds (such as 40ms, 60ms, 80ms) to reduce the interface in a stepwise manner.
- Image quality (alternatively, increase compression/lower resolution). For example, when the transmission interval is less than 40ms, the image quality is compressed to only 30% of the original file volume. When the transmission interval is less than 60ms, the image quality is compressed to only 60% of the original file volume. When the transmission interval is less than 80ms, the image quality is compressed to only 60% of the original file volume. Image quality is compressed to only 80% of the original file size.
- dynamically adjusting the interface image to be transmitted by the cloud server may also include the following steps: detecting the current transmission interval of the interface image in the same interface range from the cloud server to the mobile terminal; determining the current If the transmission interval ⁇ ts is higher than the third time threshold Ts3, the quality of the interface image to be transmitted is restored (for example, the image compression rate is reduced, or converted into a lossless compressed image), or an interface image of higher image quality is collected from the cloud server for use transmitted to the mobile terminal.
- the third time threshold Ts3 is generally greater than the second time threshold Ts2.
- the third time threshold Ts3 may be a value of 100 ms or greater.
- dynamically adjusting the interface image to be transmitted by the cloud server may also include the following steps: detecting the current transmission interval ⁇ ts of the overall interface image from the cloud server to the mobile terminal; determining the current transmission If the interval ⁇ ts is lower than a certain preset threshold Ts0, the interface image to be transmitted is reduced in resolution or adjusted to a grayscale image.
- the data transmitted by the cloud server to the mobile terminal can be modified based on the current network transmission status between the mobile terminal and the cloud server, application scenarios (such as web browsing, work office, game mode, etc.) or user instructions.
- the interface image is pre-adjusted, and the pre-adjustment includes image resolution adjustment, color channel adjustment, adjustment to grayscale image, etc. For example, when the cloud server's network transmission speed or bandwidth of the local mobile terminal drops significantly, the above pre-adjustment step is directly performed, and then step S250 is performed.
- S260 Through the long link between the local mobile terminal and the cloud server, continuously transmit the interface image left by the screening to the local mobile terminal during a preset period.
- a time mark can be established between the manipulation data and the interface image, so that the interface image of the cloud server virtual machine triggered (screenshot) by manipulation from the local mobile terminal at a certain time node can be attached with the time.
- the identification of the node causes the interface image received by the local mobile terminal to be appended with the time node identification, which is used to correspond to the control action of the local terminal and the displayed interface image.
- the local mobile terminal's control c1 at time node t1 triggers the cloud server virtual machine to generate the interface image m1, and the interface image m1 is attached with the logo of the time node t1; when the interface image m1 is transmitted to the local mobile terminal, the interface image is determined by Whether the time node identifier on is t1 is to determine whether the image is associated with control c1 to facilitate subsequent control and interface synchronization and avoid interface and control being out of sync.
- step S270 Determine whether the remote virtual machine has received the control data of the local mobile terminal and whether the control process caused by the control data of the local mobile terminal in the virtual machine is completed. If so, perform the next step S280; otherwise, return to step S230.
- step S280 Determine whether the image data transmission between the local mobile terminal and the remote server has ended (for example, whether the transmission channel is closed). If so, perform the next step S290; otherwise, return to step S230.
- the control data of the local mobile terminal affects the generation and transmission of the interface image of the virtual machine.
- the method according to the present invention may also include the following basic steps related to control: A. According to the type of local control, when specific control, too fast control, abnormal control, etc. occur, filter or adjust The final control data is then sent to the cloud server to avoid the cloud server from generating unnecessary interface images; or, B. Dynamically filter multiple interface images received by the local mobile terminal according to the sending interval of the control data of the local mobile terminal. , to display the filtered interface image or display at least a part of the image on the mobile terminal.
- Basic step A directly affects the interface changes of the virtual machine of the cloud server by filtering local manipulation data, and can also directly affect the frequency of image transmission from the cloud server to the local, so basic step A is an "active" step.
- Basic step B is to filter the received images, which is a "passive” step. It can be understood that in locally received images and remotely sent interface images, both the image receiving module and the image transmitting module can work independently to perform image screening, while cooperating with the above-mentioned active step A and passive step B, which is the purpose of the present invention.
- the flexibility of the image transmission method makes it compatible with image transmission optimization in various control-based application scenarios.
- basic step A may be combined with the manipulation process in step S110 of the above embodiment.
- the following steps S111 to S116 may be implemented.
- step S113 Determine whether there is a specific type of control, or whether the control is too fast or the control is abnormal. If so, execute the next step S114; otherwise, jump to step S115.
- the specific type of manipulation may be a long sustained click, a long-distance (eg, more than half the length of the screen) swipe, etc.
- Abnormal controls include frequent touch and drag, multiple button presses at the same time, etc.
- dynamically filtering the received multiple interface images according to the manipulation interval of the mobile terminal may also include the following steps: within at least a period of time, determining that the manipulation interval ⁇ tc of the mobile terminal is greater than the fifth time threshold Tc5 ( Corresponding to the frequency of manipulation of the mobile terminal by the user under normal circumstances), all interface images for display on the mobile terminal are retained from the received multiple interface images; within at least a period of time, the manipulation of the mobile terminal is determined If the interval ⁇ tc is greater than the sixth time threshold Tc6 (corresponding to the situation where the user does not operate the mobile terminal for a long time), then the interface images for display on the mobile terminal are selected at intervals from the multiple interface images received until movement occurs.
- Tc5 Corresponding to the frequency of manipulation of the mobile terminal by the user under normal circumstances
- the method according to the present invention may further include the following steps: determining that the movement amplitude (or distance) of the control point of the mobile terminal exceeds a preset amplitude threshold; Among the multiple interface images transmitted by the cloud server to the mobile terminal caused by the control data, the interface images associated with the starting action and the ending action of the control point are retained, and the remaining interface images for display on the mobile terminal are reduced.
- the frequency of user manipulation of the human-computer interaction device can also be monitored through the local subroutine of the mobile terminal.
- the control frequency when the control frequency is slow (for example, below a certain threshold), the image quality transmitted by the cloud server to the mobile terminal can be improved and/or the refresh rate of the mobile terminal's display (or display interface) can be reduced; when When the control frequency is too fast (for example, higher than a certain threshold), the image quality transmitted by the cloud server to the mobile terminal can be reduced and/or the refresh rate of the mobile terminal's display (or display interface) can be increased; when the control frequency is too fast (for example, higher than When a certain threshold), the interface image of the last frame of the virtual machine in the over-speed control process can be transmitted to the mobile terminal, and then the remaining interface image data in the mobile terminal's over-speed control process will not be transmitted, or the interface image data in the high-speed control process will be transmitted. Compression ratio applies compression (even lossy compression) to these images.
- steps S110, S120, S130, S170, S180 and S190 on the local mobile terminal side and steps S210, S220, S260, S270, S280 and S290 on the cloud server side respectively have two-way data transmission and data exchange.
- the method according to the present invention may also include the following steps: judging the operating status of the cloud server's hardware (including the virtual hardware of the virtual machine) caused by the mobile terminal through a hardware monitoring module running in the cloud server (such as , network transmission quality, processor load, memory usage, etc.). For example, when it is detected that the network transmission speed drops or the network delay increases beyond a threshold, the compression rate of the image transmitted by the cloud server to the mobile terminal can be increased, or the image quality can be reduced.
- a hardware monitoring module running in the cloud server
- the method according to the present invention may further include the following steps to be implemented in a local terminal or a cloud server.
- a data buffer for transmitting at least part of the interface image is set between the cloud server and the mobile terminal; and data for generating continuous at least part of the interface image is completed in the data buffer according to historical transmission data, for Applications that read data from the data buffer continuously read interface image data.
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,导致界面视频的体积较大且占用较多的网络传输带宽。尽管采用体积更少的高压缩率格式的(比如H.265)界面视频进行传输,也会对本地移动终端的视频解压过程中占用较多的本地处理器芯片运算资源,最后导致本地移动终端的出现较差的使用体验,比如卡顿、发热、续航降低等。
发明内容
本发明提供用于远程操控的图像动态传输方法及装置,旨在至少解决现有技术中存在的技术问题之一。
本发明一方面涉及一种用于远程操控的图像传输方法,所述方法包括以下步骤:在本地终端和远程计算设备之间建立操控数据交互连接,其中所述远程计算设备的至少一部分界面的改变是由交互连接的本地终端发送的操控数据引起;在至少一时段内保持所述远程计算设备的界面图像向所述本地终端的传输连接;根据所述远程计算设备向所述本地终端传输的界面图像的传输间隔,对所述远程计算设备向所述本地终端的待传送的界面图像进行动态调整,所述动态调整包括:确定在一时段内出现低于间隔阈值的图像传输后,在下一时段内,减少图像传输数量和/或减少所述至少一部分的界面图像的质量。
在一些实施例中,对所述远程计算设备向所述本地终端的待传送的界面图像进行动态调整的步骤包括:实时检测同一界面范围的界面图像从所述远程计算设备向所述本地终端的图像传输间隔;确定当前的图像传输间隔低于第一时间阈值,则对应所述待传送的界面图像放弃当次的传输;确定当前的图像传输间隔低于第二时间阈值,则对应所述待传送的界面图像降低质量;其中,所述第一时间阈值小于所述第二时间阈值。
在一些实施例中,对所述远程计算设备向所述本地终端的待传送的界面图像进行动态调整的步骤包括:检测同一界面范围的界面图像从所述远程计算设备向所述本地终端的当前传输间隔;确定当前传输间隔高于第三时间阈值,则恢复所述待传送的界面图像的质量,或者从远程计算设备采集更高图像质量的界面图像用于向所述本地终端传输。
在一些实施例中,对所述远程计算设备向所述本地终端的待传送的界面图像进行动态调整的步骤包括:实时检测同一界面范围的界面图像从所述远程计算设备向所述本地终端的图像传输间隔;确定当前传输间隔低于预设的阈值,则使所述待传送的界面图像降低分辨率或处理成减少色彩通道的图像。
在一些实施例中,对所述远程计算设备向所述本地终端传输的界面图像进行预调整所根据的条件包括:本地终端和远程计算设备之间的当前的网络传输状态、应用场景状态或用户指令;与所述远程计算设备交互连接的本地终端上的操控状态、显示分辨率或当前的图像算力。
在一些实施例中,所述方法还包括以下步骤:使所述本地终端从所述远程计算设备接收界面图像;根据所述本地终端上的实时监测到的操控间隔,对来自所述远程计算设备的界面图像进行动态筛选,以在本地终端显示所筛选的界面图像的至少一部分。
在一些实施例中,所述方法还包括:在至少一时间段内,确定本地终端的操控间隔小于第四时间阈值;从所接收到的所述远程计算设备的界面图像中,至少丢弃一部分用于在所述本地终端显示的界面图像;减少所述本地终端向所述计算设备发送的操控数据的频次。
在一些实施例中,对来自所述远程计算设备的界面图像进行动态筛选的步骤包括:在至少一时间段内,确定本地终端的操控间隔大于第五时间阈值,则从所接收的多个界面图像中保留所有的用于在所述本地终端显示的界面图像;在至少一时间段内,确定本地终端的操控间隔大于第六时间阈值,则从所接收的多个界面图像中至少间隔地选取界面图像以显示在所述本地终端,直至出现所述本地终端的下一次操控;其中,所述第六时间阈值大于所述第五时间阈值。
在一些实施例中,所述方法还包括:在至少一时间段内,确定本地终端的操控间隔大于第七时间阈值,则减少所述本地终端的显示帧率,直至出现所述本地终端的下一次操控。
在一些实施例中,所述方法还包括以下步骤:确定本地终端的操控点的移动幅度超过预
设的幅度阈值;在所述本地终端的所述操控点所产生的操控数据引起的远程计算设备向所述本地终端传送的多个界面图像中,保留与所述操控点的起始动作和结尾动作关联的界面图像,并且减少其余的用于在本地终端显示的界面图像;定时在所述本地终端和所述远程计算设备之间同步界面图像。
在一些实施例中,所述方法还包括以下步骤:在远程计算设备向本地终端传输界面图像之前,使所述本地终端的界面分辨率与所述远程计算设备的界面显示分辨率同步一致;在所述远程计算设备和所述本地终端之间设置用于传输至少一部分的界面图像的数据缓冲区;根据历史传输数据,在数据缓冲区中补全生成连续的至少一部分的界面图像的数据,用于从所述数据缓冲区读取数据的应用程序连续地读取界面图像数据。
在一些实施例中,所述方法还包括以下步骤:在操控数据和界面图像之间建立时间标识,使每次来自本地移动终端的在一时间节点的操控所触发的云服务器虚拟机的界面图像附上所述时间节点的标识,使本地终端所收到的界面图像也附加了该时间节点标识,用于本地终端的操控动作与显示的界面图像对应。
本发明还涉及一种用于远程操控的图像传输方法,包括以下步骤:在本地终端和远程计算设备之间建立操控数据交互连接,其中所述远程计算设备的至少一部分界面的改变是由交互连接的本地终端发送的操控数据引起;在至少一时段内保持所述远程计算设备的界面图像向所述本地终端的传输连接;使所述本地终端从所述远程计算设备接收界面图像;根据所述本地终端上的实时监测到的操控间隔,对来自所述远程计算设备的界面图像进行动态筛选,以在本地终端显示所筛选的界面图像的至少一部分,其中:在至少一时间段内,确定本地终端的操控间隔小于第四时间阈值;从所接收到的所述远程计算设备的界面图像中,至少丢弃一部分用于在所述本地终端显示的界面图像。
本发明还涉及一种计算器可读存储介质,其上储存有程序指令,所述程序指令被处理器执行时实施上述的方法。
本发明还涉及一种计算装置,所述计算装置包括所述的计算器可读存储介质。
本发明的有益效果在于:通过本地和远程之间的界面图像的动态传输、数据调整、数据筛选等方式,实现灵活、便捷和顺畅的界面交互体验。
图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协议使得客户端和服务器之间的数据交换变得更加简单和高效,还允许服务端主动向客户端推送数据。在WebSocket API中,移动终端的云操控桌面(或者浏览器)和云服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接并进行双向数据传输,因此该协议可以实现大并发量的数据传输。
对于步骤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、通过本地移动终端和云服务器之间的长链接,在预设时段持续将筛选留下的界面图像向本地移动终端传输。优选地,可以在操控数据和界面图像之间建立时间标识,使得每次来自本地移动终端的在某个时间节点的操控所触发(截屏)的云服务器虚拟机的界面图像可以附上所述时间节点的标识,使得本地移动终端收到的界面图像也附加了该时间节点标识,用于本地终端的操控动作与显示的界面图像对应。例如,本地移动终端在时间节点t1的操控c1触发云服务器虚拟机生成界面图像m1,则对界面图像m1附上时间节点t1的标识;当界面图像m1传输到本地移动终端后,通过判断界面图像上的时间节点标识是否为t1,以确定该图像与操控c1关联上,方便后续实现操控和界面同步,避免界面和操控不同步。
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 (20)
- 一种用于远程操控的图像传输方法,其特征在于,所述方法包括以下步骤:在本地终端和远程计算设备之间建立操控数据交互连接,其中所述远程计算设备的至少一部分界面的改变是由交互连接的本地终端发送的操控数据引起;在至少一时段内保持所述远程计算设备的界面图像向所述本地终端的传输连接;根据所述远程计算设备向所述本地终端传输的界面图像的传输间隔,对所述远程计算设备向所述本地终端的待传送的界面图像进行动态调整,所述动态调整包括:确定在一时段内出现低于间隔阈值的图像传输后,在下一时段内,减少图像传输数量和/或减少所述至少一部分的界面图像的质量。
- 根据权利要求1所述的方法,其特征在于,对所述远程计算设备向所述本地终端的待传送的界面图像进行动态调整的步骤包括:实时检测同一界面范围的界面图像从所述远程计算设备向所述本地终端的图像传输间隔;确定当前的图像传输间隔低于第一时间阈值,则对应所述待传送的界面图像放弃当次的传输;确定当前的图像传输间隔低于第二时间阈值,则对应所述待传送的界面图像降低质量;其中,所述第一时间阈值小于所述第二时间阈值。
- 根据权利要求1或2所述的方法,其特征在于,对所述远程计算设备向所述本地终端的待传送的界面图像进行动态调整的步骤包括:检测同一界面范围的界面图像从所述远程计算设备向所述本地终端的当前传输间隔;确定当前传输间隔高于第三时间阈值,则恢复所述待传送的界面图像的质量,或者从远程计算设备采集更高图像质量的界面图像用于向所述本地终端传输。
- 根据权利要求1所述的方法,其特征在于,对所述远程计算设备向所述本地终端的待传送的界面图像进行动态调整的步骤包括:实时检测同一界面范围的界面图像从所述远程计算设备向所述本地终端的图像传输间隔;确定当前传输间隔低于预设的阈值,则使所述待传送的界面图像降低分辨率或处理成减少色彩通道的图像。
- 根据权利要求1至4中任一项权利要求所述的方法,其特征在于,对所述远程计算设备向所述本地终端传输的界面图像进行预调整所根据的条件包括:本地终端和远程计算设备之间的当前的网络传输状态、应用场景状态或用户指令;与所述远程计算设备交互连接的本地终端上的操控状态、显示分辨率或当前的图像算力。
- 根据权利要求1所述的方法,其特征在于,所述方法包括以下步骤:使所述本地终端从所述远程计算设备接收界面图像;根据所述本地终端上的实时监测到的操控间隔,对来自所述远程计算设备的界面图像进行动态筛选,以在本地终端显示所筛选的界面图像的至少一部分。
- 根据权利要求6所述的方法,其特征在于,所述方法包括:在至少一时间段内,确定本地终端的操控间隔小于第四时间阈值;从所接收到的所述远程计算设备的界面图像中,至少丢弃一部分用于在所述本地终端显示的界面图像;减少所述本地终端向所述计算设备发送的操控数据的频次。
- 根据权利要求6所述的方法,其特征在于,对来自所述远程计算设备的界面图像进行动态筛选的步骤包括:在至少一时间段内,确定本地终端的操控间隔大于第五时间阈值,则从所接收的多个界面图像中保留所有的用于在所述本地终端显示的界面图像;在至少一时间段内,确定本地终端的操控间隔大于第六时间阈值,则从所接收的多个界面图像中至少间隔地选取界面图像以显示在所述本地终端,直至出现所述本地终端的下一次操控;其中,所述第六时间阈值大于所述第五时间阈值。
- 根据权利要求1至8中任一权利要求所述的方法,其特征在于,所述方法包括:在至少一时间段内,确定本地终端的操控间隔大于第七时间阈值,则减少所述本地终端的显示帧率,直至出现所述本地终端的下一次操控。
- 根据权利要求1至9中任一权利要求所述的方法,其特征在于,所述方法包括以下步骤:确定本地终端的操控点的移动幅度超过预设的幅度阈值;在所述本地终端的所述操控点所产生的操控数据引起的远程计算设备向所述本地终端传送的多个界面图像中,保留与所述操控点的起始动作和结尾动作关联的界面图像,并且减少其余的用于在本地终端显示的界面图像;定时在所述本地终端和所述远程计算设备之间同步界面图像。
- 根据权利要求1至10中任一权利要求所述的方法,其特征在于,所述方法包括以下步骤:在远程计算设备向本地终端传输界面图像之前,使所述本地终端的界面分辨率与所述远程计算设备的界面显示分辨率同步一致;在所述远程计算设备和所述本地终端之间设置用于传输至少一部分的界面图像的数据缓冲区;根据历史传输数据,在数据缓冲区中补全生成连续的至少一部分的界面图像的数据,用于从所述数据缓冲区读取数据的应用程序连续地读取界面图像数据。
- 根据权利要求1至11中任一权利要求所述的方法,其特征在于,所述方法包括以下步骤:在操控数据和界面图像之间建立时间标识,使每次来自本地移动终端的在一时间节点的操控所触发的云服务器虚拟机的界面图像附上所述时间节点的标识,使本地终端所收到的界面图像也附加了该时间节点标识,用于本地终端的操控动作与显示的界面图像对应。
- 一种用于远程操控的图像传输方法,其特征在于,所述方法包括以下步骤:在本地终端和远程计算设备之间建立操控数据交互连接,其中所述远程计算设备的至少一部分界面的改变是由交互连接的本地终端发送的操控数据引起;在至少一时段内保持所述远程计算设备的界面图像向所述本地终端的传输连接;使所述本地终端从所述远程计算设备接收界面图像;根据所述本地终端上的实时监测到的操控间隔,对来自所述远程计算设备的界面图像进行动态筛选,以在本地终端显示所筛选的界面图像的至少一部分,其中:在至少一时间段内,确定本地终端的操控间隔小于第四时间阈值;从所接收到的所述远程计算设备的界面图像中,至少丢弃一部分用于在所述本地终端显示的界面图像。
- 根据权利要求13所述的方法,其特征在于,所述方法包括:在至少一时间段内,确定本地终端的操控间隔小于第四时间阈值后,减少所述本地终端向所述计算设备发送的操控数据的频次。
- 根据权利要求13所述的方法,其特征在于,对来自所述远程计算设备的界面图像进行动态筛选的步骤还包括:在至少一时间段内,确定本地终端的操控间隔大于第五时间阈值,则从所接收的多个界面图像中保留所有的用于在所述本地终端显示的界面图像;在至少一时间段内,确定本地终端的操控间隔大于第六时间阈值,则从所接收的多个界面图像中至少间隔地选取界面图像以显示在所述本地终端,直至出现所述本地终端的下一次操控;其中,所述第六时间阈值大于所述第五时间阈值。
- 根据权利要求13至15中任一权利要求所述的方法,其特征在于,所述方法包括:在至少一时间段内,确定本地终端的操控间隔大于第七时间阈值,则减少所述本地终端的显示帧率,直至出现所述本地终端的下一次操控。
- 根据权利要求13至16中任一权利要求所述的方法,其特征在于,所述方法包括以下步骤:确定本地终端的操控点的移动幅度超过预设的幅度阈值;在所述本地终端的所述操控点所产生的操控数据引起的远程计算设备向所述本地终端传送的多个界面图像中,保留与所述操控点的起始动作和结尾动作关联的界面图像,并且减少其余的用于在本地终端显示的界面图像;定时在所述本地终端和所述远程计算设备之间同步界面图像。
- 根据权利要求13至17中任一权利要求所述的方法,其特征在于,所述方法包括以下步骤:在操控数据和界面图像之间建立时间标识,使每次来自本地移动终端的在一时间节点的操控所触发的云服务器虚拟机的界面图像附上所述时间节点的标识,使本地终端所收到的界面图像也附加了该时间节点标识,用于本地终端的操控动作与显示的界面图像对应。
- 一种计算器可读存储介质,其上储存有程序指令,所述程序指令被处理器执行时实施如权利要求1至18中任一项权利要求所述的方法。
- 一种计算装置,其特征在于,包括权利要求19所述的计算器可读存储介质。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202380011322.3A CN118575165A (zh) | 2022-03-08 | 2023-01-30 | 用于远程操控的图像动态传输方法及装置 |
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210226951 | 2022-03-08 | ||
CN202210226951.5 | 2022-03-08 | ||
CN202210668696 | 2022-06-14 | ||
CN202210668696.X | 2022-06-14 | ||
CN202211580542.1 | 2022-12-09 | ||
CN202211580542.1A CN115914198A (zh) | 2022-03-08 | 2022-12-09 | 用于远程操控的图像动态传输方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023169094A1 true WO2023169094A1 (zh) | 2023-09-14 |
Family
ID=86494638
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2023/073859 WO2023169094A1 (zh) | 2022-03-08 | 2023-01-30 | 用于远程操控的图像动态传输方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (2) | CN115914198A (zh) |
WO (1) | WO2023169094A1 (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130063447A1 (en) * | 2011-09-12 | 2013-03-14 | Fujitsu Limited | Information processing device, image transmission method and image transmission program |
US20160072873A1 (en) * | 2014-09-09 | 2016-03-10 | Vmware, Inc. | Virtual desktop encoding based on user input behavior |
US20170264653A1 (en) * | 2015-01-21 | 2017-09-14 | Logmein, Inc. | Remote support service with two-way smart whiteboard |
CN109298806A (zh) * | 2018-09-21 | 2019-02-01 | 杨立群 | 一种基于对象识别的远程快速界面交互方法及装置 |
US20200374242A1 (en) * | 2018-06-15 | 2020-11-26 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for transmitting scene image of virtual scene, computer device, and computer-readable storage medium |
US20220021840A1 (en) * | 2020-07-16 | 2022-01-20 | Korea Institute Of Science And Technology | Method of transmitting image data having hybrid resolution and method of generating hybrid-resolution image using the same |
-
2022
- 2022-12-09 CN CN202211580542.1A patent/CN115914198A/zh active Pending
-
2023
- 2023-01-30 CN CN202380011322.3A patent/CN118575165A/zh active Pending
- 2023-01-30 WO PCT/CN2023/073859 patent/WO2023169094A1/zh unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130063447A1 (en) * | 2011-09-12 | 2013-03-14 | Fujitsu Limited | Information processing device, image transmission method and image transmission program |
US20160072873A1 (en) * | 2014-09-09 | 2016-03-10 | Vmware, Inc. | Virtual desktop encoding based on user input behavior |
US20170264653A1 (en) * | 2015-01-21 | 2017-09-14 | Logmein, Inc. | Remote support service with two-way smart whiteboard |
US20200374242A1 (en) * | 2018-06-15 | 2020-11-26 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for transmitting scene image of virtual scene, computer device, and computer-readable storage medium |
CN109298806A (zh) * | 2018-09-21 | 2019-02-01 | 杨立群 | 一种基于对象识别的远程快速界面交互方法及装置 |
US20220021840A1 (en) * | 2020-07-16 | 2022-01-20 | Korea Institute Of Science And Technology | Method of transmitting image data having hybrid resolution and method of generating hybrid-resolution image using the same |
Also Published As
Publication number | Publication date |
---|---|
CN118575165A (zh) | 2024-08-30 |
CN115914198A (zh) | 2023-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111399964B (zh) | 一种基于视频串流技术的云桌面平台 | |
EP2924999B1 (en) | Context-aware streaming of digital content | |
CN106713485B (zh) | 云计算移动终端 | |
US8924476B1 (en) | Recovery and fault-tolerance of a real time in-memory index | |
US8874700B2 (en) | Optimizing storage of data files | |
US20130141456A1 (en) | Automatic modification of image content for display on a different device | |
CN103501310B (zh) | 一种基于可视电话的电脑桌面共享的控制方法 | |
CN110324721B (zh) | 一种视频数据处理方法、装置及存储介质 | |
CN105577819A (zh) | 一种虚拟化桌面的分享系统、分享方法以及分享装置 | |
CN111818115B (zh) | 一种处理方法、装置和系统 | |
CN111031389B (zh) | 视频处理方法、电子装置和存储介质 | |
CN111970565A (zh) | 视频数据处理方法、装置、电子设备及存储介质 | |
CN108989845A (zh) | 一种基于spice协议的视频传输方法 | |
US20170272545A1 (en) | Method and system for transmitting remote screen | |
CN112929704A (zh) | 数据传输方法、装置、电子设备以及存储介质 | |
CN102546803B (zh) | 基于能力集的远端桌面通信方法 | |
CN113973224B (zh) | 媒体信息的传输方法、计算设备及存储介质 | |
US20130286227A1 (en) | Data Transfer Reduction During Video Broadcasts | |
WO2023169094A1 (zh) | 用于远程操控的图像动态传输方法及装置 | |
WO2024094976A1 (en) | Improved 3-d rendering | |
CN117424931A (zh) | 基于图像交互的云计算系统及方法 | |
US11902346B2 (en) | Method and apparatus for processing streaming media service, electronic device, and storage medium | |
CN115297093B (zh) | 边缘设备数据访问方法、相关装置及计算机程序产品 | |
KR102526963B1 (ko) | Vmi 서비스 영상 품질변경 방법 및 장치 | |
WO2024198564A1 (zh) | 云服务控制系统、方法、装置、设备集群、介质及产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23765674 Country of ref document: EP Kind code of ref document: A1 |