WO2017167285A1 - Remote-desktop video-encoding method and device - Google Patents

Remote-desktop video-encoding method and device Download PDF

Info

Publication number
WO2017167285A1
WO2017167285A1 PCT/CN2017/079043 CN2017079043W WO2017167285A1 WO 2017167285 A1 WO2017167285 A1 WO 2017167285A1 CN 2017079043 W CN2017079043 W CN 2017079043W WO 2017167285 A1 WO2017167285 A1 WO 2017167285A1
Authority
WO
WIPO (PCT)
Prior art keywords
reference frame
frame
current frame
window
target
Prior art date
Application number
PCT/CN2017/079043
Other languages
French (fr)
Chinese (zh)
Inventor
胡振
崔振峰
吴迪
黄小敏
张宁
曹颖
陆剑峰
秦延涛
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2017167285A1 publication Critical patent/WO2017167285A1/en

Links

Images

Classifications

    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • 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/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field

Definitions

  • Embodiments of the present invention relate to the field of video coding technologies, and in particular, to a method and an apparatus for remote desktop video coding.
  • remote desktop is a core technology.
  • Remote desktop refers to how to transfer the desktop in the cloud to the remote cloud terminal in real time with high image quality, small delay and low bandwidth. on.
  • RDP Remote Desktop Protocol
  • PCWare PC-over-IP
  • ICA Citrix's independent computing architecture
  • SPICE Simple Protocol for Independent Computing Environment
  • RDP has certain restrictions, such as the client can only connect to see the desktop after the windows system is started, can not see Including the basic input and output system (BIOS, Basic Input Output System) self-test and other boot process, RDP virtual machine must also be configured with an IP address client to connect; PCoIP, CTRIX are commercial closed source protocols, the above three protocols The research system is difficult to integrate; the SPICE protocol occupies too much bandwidth, and the user experience is not good under low bandwidth conditions.
  • BIOS Basic Input Output System
  • H264 protocol is widely used at home and abroad as a video codec standard.
  • H264 protocol is a video coding standard. It is a new generation digital video compression format after MPEG4 jointly proposed by the International Organization for Standardization (ISO) and the International Telecommunication Union (ITU). It has the advantages of high quality, strong fault tolerance and strong network adaptability. .
  • ISO International Organization for Standardization
  • ITU International Telecommunication Union
  • the encoder occupies a high CPU, especially when the user performs a switching window operation during use, the CPU and bandwidth usage are relatively high.
  • the embodiment of the invention provides a method and a device for remote desktop video coding, which can save the CPU calculation amount of the encoder and save network bandwidth.
  • the embodiment of the invention provides a method for remote desktop video coding, the method comprising:
  • the current frame is encoded according to the extracted target reference frame.
  • An embodiment of the present invention provides an apparatus for remote desktop video coding, where the apparatus includes:
  • An active window determining unit configured to monitor a window state in the remote desktop to determine an active window of the current frame
  • a target reference frame determining unit configured to extract, from a pre-established reference frame list, a target reference frame that matches an active window of the current frame
  • the coding unit is configured to encode the current frame according to the extracted target reference frame.
  • the method and device for remote desktop video coding provided by the embodiment of the present invention can be related to the reference frame in the preset reference frame list by using the window of the remote desktop, so that when the window switching occurs
  • the reference frame matching the active window of the current frame can be selected, and the selected reference frame can be remotely transmitted, and the reference frame list can be an encoded reference frame, then when the window switching occurs, the frame to be encoded is
  • the reference frames are similar, so reference frames that match the active window of the current frame can be used, which reduces the computation time of the encoder CPU while reducing the network bandwidth usage.
  • FIG. 1 is a flowchart of a method for remote desktop video encoding according to an embodiment of the present invention
  • FIG. 2 is a flowchart of a window monitoring step in a remote desktop video encoding method according to an embodiment of the present invention
  • FIG. 3 is a flowchart of a working process of an encoder in a remote desktop video encoding method according to an embodiment of the present disclosure
  • FIG. 4 is a functional block diagram of a device for remote desktop video coding according to an embodiment of the present invention.
  • FIG. 1 is a flowchart of a method for remote desktop video encoding according to an embodiment of the present invention. As shown in FIG. 1, the method includes the following steps:
  • Step 11 Monitor the status of the window in the remote desktop to determine the active window of the current frame.
  • the state of the window when switching from one window to another, the state of the window also changes.
  • the first window when the first window is used, the first window may be in an active state, and when switching from the first window to the second window, the first window is no longer active, and the second The window is active.
  • FIG. 2 is a schematic diagram of a window monitoring step in a method for remote desktop video encoding according to an embodiment of the present invention.
  • a global hook may be injected into an operating system where the remote desktop is located, so that the state of the window on the desktop is monitored by the global hook.
  • hooks can use the Application Programming Interface (API) to intercept and process system messages.
  • API Application Programming Interface
  • a hook is actually a block that processes a message and can be hooked into the system through a system call.
  • the hook program can capture the message before reaching the destination window. That is to say, the hook function can first obtain control, and then the hook function can analyze the message or continue without processing. Passing the message also forces the end of the delivery of the message.
  • a hook chain is maintained by the system. The last installed hook is placed at the beginning of the chain, and the first installed hook is placed at the end of the chain, that is, the hook added later gains control.
  • the hook function can be installed by calling the API function SetWindowsHookEx in the Software Development Kit (SDK).
  • SDK Software Development Kit
  • the prototype of this function is HHOOK SetWindowsHookEx(int idHook, HOOKPROC lpfn, HINSTANCE hMod, DWORD dwThreadId), where the first parameter idHook in parentheses is the type of the hook function; the second parameter HOOKPROC lpfn is the address of the hook function; the third parameter HINSTANCE hMod is the module containing the hook function Handle; the fourth parameter DWORD dwThreadId specifies the thread to monitor.
  • a specified thread is a thread-specific hook; if it is specified to be empty, it is a global hook. Therefore, in the embodiment of the present invention, the fourth parameter can be designated as empty, so that the global hook can be injected into the system.
  • the function of the global hook can be included in the Dynamic Link Library (DLL), and the thread-specific hook can also be included in the executable file.
  • DLL Dynamic Link Library
  • the hook function that obtains control completes the processing of the message, if it wants the message to continue to be delivered, it can call the API function CallNextHookEx in another SDK to deliver the message.
  • the hook function can also discard the message by directly returning TRUE and block the delivery of the message.
  • the global hook may be injected into the operating system where the desktop is located, and the window event in the desktop may be intercepted by the global hook; then the intercepted window event may be analyzed, so that the The active window of the current frame in the desktop; after determining the active window of the current frame, the active window of the current frame can be reported to the encoder for subsequent processing.
  • Step 12 Extract a target reference frame that matches the active window of the current frame from a pre-established reference frame list.
  • the reference frame corresponding to the switched window may be searched for and referenced.
  • the frame is encoded, so when the window switching occurs, since the frame to be encoded is similar to the reference frame, the reference frame matching the active window of the current frame can be used, thereby reducing the calculation time of the encoder CPU and reducing the time.
  • the current frame may be H264
  • the reference frame in the reference frame list may be an H264 reference frame.
  • the encoder may extract a target reference frame that matches the active window of the current frame from the pre-established reference frame list.
  • the reference frame list may include reference frames of a plurality of windows.
  • each reference frame in the reference frame list has a corresponding identifier, and the identifier may be a digital code or a letter. coding.
  • the windows in the desktop may also correspond to respective identifiers.
  • the encoder may determine the same target identifier as the identifier of the active window of the current frame in the pre-established reference frame list. For example, if the identifier of the active window of the current frame is A, then the determined target identifier may be A. In this way, the reference frame corresponding to the target identifier can be determined as a target reference frame that matches the active window of the current frame. That is, the reference frame identified as A in the reference frame list may be determined as the target reference frame that matches the active window of the current frame. It can be seen from the above that by using the matching relationship between the identifiers, the reference frame matching the active window of the current frame can be quickly obtained.
  • the target identifier that is the same as the identifier of the active window of the current frame may not exist in the pre-established reference frame list.
  • the reference frame that matches the active window of the current frame cannot be obtained from the identified match.
  • the reference frame corresponding to the previous frame may be determined to be the same as the active window of the current frame.
  • the target reference frame is assigned. That is, it is assumed that the identifier of the reference frame corresponding to the previous frame is B, and the identifier of the active window of the current frame is C.
  • the reference frame corresponding to the previous frame may be determined as a reference frame that matches the active window of the current frame. Since the current frame is similar to the content of the previous frame, the same reference frame can be used to ensure the accuracy of the content.
  • Step 13 Encode the current frame according to the extracted target reference frame.
  • the current frame is encoded according to the extracted target reference frame.
  • the reference frame list is updated with the encoded result.
  • the target reference frame may be deleted from the reference frame list, the encoded current frame is added to the reference frame list, and the encoded current frame is allocated. Reference frame identification.
  • the remote desktop video encoding method can select and current when the window switching occurs by associating the window of the desktop with the reference frame in the preset H264 reference frame list.
  • the reference frame matched by the active window of the frame may be an encoded reference frame, and when the window switching occurs, since the frame to be encoded is similar to the reference frame, the active window with the current frame may be used.
  • the matching reference frames can reduce the computation time of the encoder CPU while reducing the network bandwidth usage.
  • FIG. 3 is a flowchart of a working process of an encoder in a remote desktop video encoding method according to an embodiment of the present invention.
  • the encoder may search for a target reference frame that matches the current frame in the reference frame list.
  • the target frame may be encoded to obtain a coding result, and the reference frame list may be updated by using the coding result.
  • the present invention also provides an apparatus for remote desktop video encoding. As shown in FIG. 4, the apparatus includes:
  • the active window determining unit 100 is configured to monitor the status of the window in the desktop, and determine The active window of the current frame;
  • the target reference frame determining unit 200 is configured to extract, from a pre-established reference frame list, a target reference frame that matches an active window of the current frame;
  • the encoding unit 300 is configured to encode the current frame according to the extracted target reference frame, and update the encoded result to the reference frame list.
  • the active window determining unit 100 includes:
  • a global hook injection module is configured to inject a global hook in an operating system where the remote desktop is located, and intercept the window event in the remote desktop by using the global hook;
  • the analysis module is configured to analyze the intercepted window event to determine an active window of the current frame in the remote desktop.
  • the target reference frame determining unit 200 includes:
  • a finding module configured to determine, in a pre-established reference frame list, a target identifier that is the same as an identifier of an active window of the current frame
  • a determining module configured to determine a reference frame corresponding to the target identifier as a target reference frame that matches an active window of the current frame; when there is no activity in the pre-established reference frame list When the window identifies the same target identifier, the reference frame corresponding to the previous frame of the current frame is determined as the target reference frame that matches the active window of the current frame.
  • the apparatus further includes: an updating unit 400, configured to delete the target reference frame from the H264 reference frame list, and add the encoded current frame to the reference frame list. And assigning a reference frame identifier to the encoded current frame.
  • the apparatus for remote desktop video coding provided by the embodiment of the present invention can select the current frame when the window switching occurs by associating the window of the desktop with the reference frame in the preset reference frame list.
  • the active frame matches the reference frame, and the reference frame list can be the encoded reference frame, then when the window switching occurs, due to the frame to be encoded and the reference
  • the test frames are similar, so reference frames that match the active window of the current frame can be used, which can reduce the computation time of the encoder CPU while reducing the network bandwidth usage.
  • the present invention can be implemented by means of software plus a necessary general hardware platform. Based on such understanding, the technical solution of the present invention, which is essential or contributes to the related art, may be embodied in the form of a software product, which may be stored in a storage medium such as a ROM/RAM, a disk, An optical disk or the like includes a number of instructions for causing a computer device (which may be a personal computer, server, or network device, etc.) to perform the methods described in various embodiments of the present invention or portions of the embodiments.
  • a computer device which may be a personal computer, server, or network device, etc.
  • Embodiments of the present invention relate to the field of video coding technologies, and provide a method and apparatus for remote desktop video coding, where the method includes monitoring a window state in a remote desktop to determine an active window of a current frame; A target reference frame matching the active window of the current frame is extracted from the frame list; the current frame is encoded according to the extracted target reference frame.
  • the invention can solve the problem that the current encoder occupies a high CPU, thereby reducing the calculation time of the encoder CPU and reducing the occupancy rate of the network bandwidth.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

The embodiments of the present invention provide a remote-desktop video-encoding method and device; said method comprises: monitoring the window status on a remote desktop and determining an active window of a current frame; extracting from a pre-established reference-frame list a target reference frame matching the active window of said current frame; according to the extracted target reference frame, encoding the current frame. The remote-desktop video-encoding method and device provided by the embodiments of the present invention solves the problem of current encoders occupying a large amount of CPU resources.

Description

一种远程桌面视频编码的方法及装置Remote desktop video coding method and device 技术领域Technical field
本发明实施例涉及视频编码技术领域,尤其涉及一种远程桌面视频编码的方法及装置。Embodiments of the present invention relate to the field of video coding technologies, and in particular, to a method and an apparatus for remote desktop video coding.
背景技术Background technique
随着移动通信技术的发展,人们可以借助桌面云,通过与网络连接的设备来访问跨平台的应用程序以及整个客户桌面。在桌面云中,远程桌面是一项核心技术,远程桌面指的是对于如何以较高的画质、较小的延时、较低的带宽占用将云中的桌面实时地传送至远程云终端上。With the development of mobile communication technology, people can access cross-platform applications and the entire customer desktop through devices connected to the network through the desktop cloud. In the desktop cloud, remote desktop is a core technology. Remote desktop refers to how to transfer the desktop in the cloud to the remote cloud terminal in real time with high image quality, small delay and low bandwidth. on.
现在较常用的远程桌面协议有微软的远程桌面协议(RDP,Remote Desktop Protocol)、威睿(VMWare)的PCoIP(PC-over-IP)、思杰(Citrix)的独立计算体系结构(ICA,Independent Computing Architecture)及开源的简单协议独立计算环境(SPICE,Simple Protocol for Independent Computing Environment)等,其中,RDP存在一定的限制,如只能在windows系统启动后客户端才能连接看到桌面,不能看到包括基本输入输出系统(BIOS,Basic Input Output System)自检等开机过程,RDP虚拟机也必须配置IP地址客户端才能连接等;PCoIP、CTRIX都是商业化的闭源协议,以上三种协议自研系统很难整合;SPICE协议占用带宽太高,在低带宽条件下用户体验不好。The more commonly used remote desktop protocols are Microsoft's Remote Desktop Protocol (RDP), PCWare (PC-over-IP), and Citrix's independent computing architecture (ICA, Independent). Computing Architecture) and open source simple protocol for independent computing environment (SPICE, Simple Protocol for Independent Computing Environment), etc., RDP has certain restrictions, such as the client can only connect to see the desktop after the windows system is started, can not see Including the basic input and output system (BIOS, Basic Input Output System) self-test and other boot process, RDP virtual machine must also be configured with an IP address client to connect; PCoIP, CTRIX are commercial closed source protocols, the above three protocols The research system is difficult to integrate; the SPICE protocol occupies too much bandwidth, and the user experience is not good under low bandwidth conditions.
基于以上缺陷,目前国际国内广泛应用H264协议来作为视频编解码标准。H264协议一种视频编码标准,是国际标准化组织(ISO)和国际电信联盟(ITU)共同提出的继MPEG4之后的新一代数字视频压缩格式,具备高质量、容错率强、网络适应性强等优势。然而,H264协议对桌面进行实时编码时,编码器占用CPU较高,特别是用户在使用过程中发生切换窗口操作时,CPU及带宽占用都比较高。 Based on the above defects, the H264 protocol is widely used at home and abroad as a video codec standard. H264 protocol is a video coding standard. It is a new generation digital video compression format after MPEG4 jointly proposed by the International Organization for Standardization (ISO) and the International Telecommunication Union (ITU). It has the advantages of high quality, strong fault tolerance and strong network adaptability. . However, when the H264 protocol performs real-time encoding on the desktop, the encoder occupies a high CPU, especially when the user performs a switching window operation during use, the CPU and bandwidth usage are relatively high.
发明内容Summary of the invention
本发明实施例提供一种远程桌面视频编码的方法及装置,能够节省编码器的CPU计算量,同时节省网络带宽。The embodiment of the invention provides a method and a device for remote desktop video coding, which can save the CPU calculation amount of the encoder and save network bandwidth.
本发明实施例提供一种远程桌面视频编码的方法,所述方法包括:The embodiment of the invention provides a method for remote desktop video coding, the method comprising:
对远程桌面中的窗口状态进行监测,确定当前帧的活动窗口;Monitoring the status of the window in the remote desktop to determine the active window of the current frame;
从预先建立的参考帧列表中提取与所述当前帧的活动窗口相匹配的目标参考帧;Extracting a target reference frame that matches an active window of the current frame from a pre-established reference frame list;
根据提取出的目标参考帧对当前帧进行编码。The current frame is encoded according to the extracted target reference frame.
本发明实施例提供一种远程桌面视频编码的装置,所述装置包括:An embodiment of the present invention provides an apparatus for remote desktop video coding, where the apparatus includes:
活动窗口确定单元,设置为对远程桌面中的窗口状态进行监测,确定当前帧的活动窗口;An active window determining unit configured to monitor a window state in the remote desktop to determine an active window of the current frame;
目标参考帧确定单元,设置为从预先建立的参考帧列表中提取与所述当前帧的活动窗口相匹配的目标参考帧;a target reference frame determining unit, configured to extract, from a pre-established reference frame list, a target reference frame that matches an active window of the current frame;
编码单元,设置为根据提取出的目标参考帧对当前帧进行编码。The coding unit is configured to encode the current frame according to the extracted target reference frame.
与相关技术相比,本发明实施例提供的一种远程桌面视频编码的方法及装置,通过将远程桌面的窗口与预设的参考帧列表中的参考帧对应起来,从而可以在发生窗口切换时能选择与当前帧的活动窗口相匹配的参考帧,并将选择的参考帧进行远程传输,该参考帧列表中均可以为经过编码的参考帧,那么在发生窗口切换时,由于待编码帧与参考帧较相似,因此可以使用与当前帧的活动窗口相匹配的参考帧,从而可以减少编码器CPU的计算时间,同时还能降低网络带宽的占用率。Compared with the related art, the method and device for remote desktop video coding provided by the embodiment of the present invention can be related to the reference frame in the preset reference frame list by using the window of the remote desktop, so that when the window switching occurs The reference frame matching the active window of the current frame can be selected, and the selected reference frame can be remotely transmitted, and the reference frame list can be an encoded reference frame, then when the window switching occurs, the frame to be encoded is The reference frames are similar, so reference frames that match the active window of the current frame can be used, which reduces the computation time of the encoder CPU while reducing the network bandwidth usage.
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。Other features and advantages of the invention will be set forth in the description which follows, The objectives and other advantages of the invention may be realized and obtained by means of the structure particularly pointed in the appended claims.
附图说明 DRAWINGS
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。The drawings are used to provide a further understanding of the technical solutions of the present invention, and constitute a part of the specification, which together with the embodiments of the present invention are used to explain the technical solutions of the present invention, and do not constitute a limitation of the technical solutions of the present invention.
图1为本发明实施例提供的一种远程桌面视频编码的方法流程图;FIG. 1 is a flowchart of a method for remote desktop video encoding according to an embodiment of the present invention;
图2为本发明实施例提供的一种远程桌面视频编码的方法中窗口监测步骤的流程图;2 is a flowchart of a window monitoring step in a remote desktop video encoding method according to an embodiment of the present invention;
图3为本发明实施例提供的一种远程桌面视频编码的方法中编码器的工作流程图;FIG. 3 is a flowchart of a working process of an encoder in a remote desktop video encoding method according to an embodiment of the present disclosure;
图4为本发明实施例提供的一种远程桌面视频编码的装置功能模块图。4 is a functional block diagram of a device for remote desktop video coding according to an embodiment of the present invention.
具体实施方式detailed description
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互任意组合。The embodiments of the present invention will be described in detail below with reference to the accompanying drawings. It should be noted that the embodiments in the present invention and the features in the embodiments may be arbitrarily combined with each other without conflict.
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。The steps illustrated in the flowchart of the figures may be executed in a computer system such as a set of computer executable instructions. Also, although logical sequences are shown in the flowcharts, in some cases the steps shown or described may be performed in a different order than the ones described herein.
图1为本发明实施例提供的一种远程桌面视频编码的方法流程图。如图1所示,所述方法包括以下步骤:FIG. 1 is a flowchart of a method for remote desktop video encoding according to an embodiment of the present invention. As shown in FIG. 1, the method includes the following steps:
步骤11:对远程桌面中的窗口状态进行监测,确定当前帧的活动窗口。Step 11: Monitor the status of the window in the remote desktop to determine the active window of the current frame.
在本发明实施方式中,在远程桌面中,当从一个窗口切换至另一个窗口时,窗口的状态也会随之改变。例如,当使用第一窗口时,所述第一窗口可以处于活动状态,而当从第一窗口切换至第二窗口时,所述第一窗口便不再处于活动状态,此时所述第二窗口则处于活动状态。In the embodiment of the present invention, in the remote desktop, when switching from one window to another, the state of the window also changes. For example, when the first window is used, the first window may be in an active state, and when switching from the first window to the second window, the first window is no longer active, and the second The window is active.
图2为本发明实施例提供的一种远程桌面视频编码的方法中窗口监测步骤的示意图。在本发明实施方式中,可以在远程桌面所在的操作系统中注入全局钩子,从而通过所述全局钩子对桌面上的窗口状态进行监测。 FIG. 2 is a schematic diagram of a window monitoring step in a method for remote desktop video encoding according to an embodiment of the present invention. In the embodiment of the present invention, a global hook may be injected into an operating system where the remote desktop is located, so that the state of the window on the desktop is monitored by the global hook.
在操作系统中,钩子(hook)可以利用应用程序编程接口(API,Application Programming Interface)来拦截并处理系统消息。钩子实际上是一个处理消息的程序段,可以通过系统调用将其挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就可以先捕获该消息,也就是说钩子函数可以先得到控制权,这时钩子函数即可以分析该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递。对每种类型的钩子由系统来维护一个钩子链,最后安装的钩子放在链的开始,而最先安装的钩子放在链的末尾,也就是后加入的钩子先获得控制权。In the operating system, hooks can use the Application Programming Interface (API) to intercept and process system messages. A hook is actually a block that processes a message and can be hooked into the system through a system call. Whenever a specific message is sent, the hook program can capture the message before reaching the destination window. That is to say, the hook function can first obtain control, and then the hook function can analyze the message or continue without processing. Passing the message also forces the end of the delivery of the message. For each type of hook, a hook chain is maintained by the system. The last installed hook is placed at the beginning of the chain, and the first installed hook is placed at the end of the chain, that is, the hook added later gains control.
在本发明实施方式中,要实现在系统中注入钩子,可以调用软件开发工具包(SDK,Software Development Kit)中的API函数SetWindowsHookEx来安装这个钩子函数,这个函数的原型是HHOOK SetWindowsHookEx(int idHook,HOOKPROC lpfn,HINSTANCE hMod,DWORD dwThreadId),其中,括号内的第一个参数idHook是钩子函数的类型;第二个参数HOOKPROC lpfn是钩子函数的地址;第三个参数HINSTANCE hMod是包含钩子函数的模块句柄;第四个参数DWORD dwThreadId指定监视的线程。如果指定确定的线程,即为线程专用钩子;如果指定为空,即为全局钩子。因此,在本发明实施方式中,可以将第四个参数指定为空,从而可以在系统中注入全局钩子。全局钩子的函数可以包含在动态链接库(DLL,Dynamic Link Library)中,而线程专用钩子还可以包含在可执行文件中。得到控制权的钩子函数在完成对消息的处理后,如果想要该消息继续传递,那么它可以调用另外一个SDK中的API函数CallNextHookEx来传递该消息。钩子函数也可以通过直接返回TRUE来丢弃该消息,并阻止该消息的传递。In the embodiment of the present invention, to implement the injection of a hook in the system, the hook function can be installed by calling the API function SetWindowsHookEx in the Software Development Kit (SDK). The prototype of this function is HHOOK SetWindowsHookEx(int idHook, HOOKPROC lpfn, HINSTANCE hMod, DWORD dwThreadId), where the first parameter idHook in parentheses is the type of the hook function; the second parameter HOOKPROC lpfn is the address of the hook function; the third parameter HINSTANCE hMod is the module containing the hook function Handle; the fourth parameter DWORD dwThreadId specifies the thread to monitor. If a specified thread is specified, it is a thread-specific hook; if it is specified to be empty, it is a global hook. Therefore, in the embodiment of the present invention, the fourth parameter can be designated as empty, so that the global hook can be injected into the system. The function of the global hook can be included in the Dynamic Link Library (DLL), and the thread-specific hook can also be included in the executable file. After the hook function that obtains control completes the processing of the message, if it wants the message to continue to be delivered, it can call the API function CallNextHookEx in another SDK to deliver the message. The hook function can also discard the message by directly returning TRUE and block the delivery of the message.
在本发明实施方式中,可以在桌面所在的操作系统中注入全局钩子,通过所述全局钩子截获所述桌面内的窗口事件;然后可以对截获的所述窗口事件进行分析,从而可以确定所述桌面内当前帧的活动窗口;在确定得到当前帧的活动窗口后,便可以将所述当前帧的活动窗口上报至编码器,以进行后续的处理。 In the embodiment of the present invention, the global hook may be injected into the operating system where the desktop is located, and the window event in the desktop may be intercepted by the global hook; then the intercepted window event may be analyzed, so that the The active window of the current frame in the desktop; after determining the active window of the current frame, the active window of the current frame can be reported to the encoder for subsequent processing.
步骤12:从预先建立的参考帧列表中提取与所述当前帧的活动窗口相匹配的目标参考帧。Step 12: Extract a target reference frame that matches the active window of the current frame from a pre-established reference frame list.
在本发明实施方式中,在切换窗口时,为了避免编码器实时对窗口进行编码计算而造成CPU运算压力过大,可以在切换窗口时,寻找与切换的窗口相对应的参考帧并对该参考帧进行编码,那么在发生窗口切换时,由于待编码帧与参考帧较相似,因此可以使用与当前帧的活动窗口相匹配的参考帧,从而可以减少编码器CPU的计算时间,同时还能降低网络带宽的占用率。在具体实施例中,该当前帧可以是H264,则参考帧列表中的参考帧可以是H264参考帧。In the embodiment of the present invention, when the window is switched, in order to prevent the encoder from calculating the compression of the window in real time, the calculation pressure of the CPU is too large, and when the window is switched, the reference frame corresponding to the switched window may be searched for and referenced. The frame is encoded, so when the window switching occurs, since the frame to be encoded is similar to the reference frame, the reference frame matching the active window of the current frame can be used, thereby reducing the calculation time of the encoder CPU and reducing the time. Network bandwidth usage. In a specific embodiment, the current frame may be H264, and the reference frame in the reference frame list may be an H264 reference frame.
在本发明实施方式中,编码器在获得所述当前帧的活动窗口后,可以从预先建立的参考帧列表中提取与所述当前帧的活动窗口相匹配的目标参考帧。所述参考帧列表中可以包括多个窗口的参考帧,在本发明实施方式中,所述参考帧列表中的各个参考帧均有对应的标识,所述标识可以是数字编码,也可以是字母编码。所述桌面中的窗口也可以对应各自的标识。In the embodiment of the present invention, after obtaining the active window of the current frame, the encoder may extract a target reference frame that matches the active window of the current frame from the pre-established reference frame list. The reference frame list may include reference frames of a plurality of windows. In the embodiment of the present invention, each reference frame in the reference frame list has a corresponding identifier, and the identifier may be a digital code or a letter. coding. The windows in the desktop may also correspond to respective identifiers.
在本发明实施方式中,在编码器获得所述当前帧的活动窗口后,可以查询得出该当前帧的活动窗口对应的标识。此时,所述编码器可以在预先建立的参考帧列表中确定与所述当前帧的活动窗口的标识相同的目标标识。例如,所述当前帧的活动窗口的标识为A,那么确定的所述目标标识便可以为A。这样,可以将所述目标标识对应的参考帧确定为与所述当前帧的活动窗口相匹配的目标参考帧。也就是说,可以将所述参考帧列表中标识为A的参考帧确定为与所述当前帧的活动窗口相匹配的目标参考帧。由上可见,通过标识之间的匹配关系,可以快速查询得出与所述当前帧的活动窗口相匹配的参考帧。In the embodiment of the present invention, after the encoder obtains the active window of the current frame, the identifier corresponding to the active window of the current frame may be queried. At this time, the encoder may determine the same target identifier as the identifier of the active window of the current frame in the pre-established reference frame list. For example, if the identifier of the active window of the current frame is A, then the determined target identifier may be A. In this way, the reference frame corresponding to the target identifier can be determined as a target reference frame that matches the active window of the current frame. That is, the reference frame identified as A in the reference frame list may be determined as the target reference frame that matches the active window of the current frame. It can be seen from the above that by using the matching relationship between the identifiers, the reference frame matching the active window of the current frame can be quickly obtained.
在实际应用场景中,在所述预先建立的参考帧列表中可能不存在与所述当前帧的活动窗口的标识相同的目标标识。在这种情况下,无法根据标识的匹配来获取与所述当前帧的活动窗口相匹配的参考帧。在本发明实施方式中,可以将上一帧对应的参考帧确定为与所述当前帧的活动窗口相匹 配的目标参考帧。也就是说,假设上一帧对应的参考帧的标识为B,而当前帧的活动窗口的标识为C,经过查询,发现在所述参考帧列表中不存在标识为C的参考帧,那么此时可以将上一帧对应的参考帧(也就是标识为B的参考帧)确定为与所述当前帧的活动窗口相匹配的参考帧。由于当前帧与上一帧的内容较相似,因此选用同一个参考帧同样可以保证内容的准确性。In an actual application scenario, the target identifier that is the same as the identifier of the active window of the current frame may not exist in the pre-established reference frame list. In this case, the reference frame that matches the active window of the current frame cannot be obtained from the identified match. In the embodiment of the present invention, the reference frame corresponding to the previous frame may be determined to be the same as the active window of the current frame. The target reference frame is assigned. That is, it is assumed that the identifier of the reference frame corresponding to the previous frame is B, and the identifier of the active window of the current frame is C. After querying, it is found that there is no reference frame identified as C in the reference frame list, then this The reference frame corresponding to the previous frame (that is, the reference frame identified as B) may be determined as a reference frame that matches the active window of the current frame. Since the current frame is similar to the content of the previous frame, the same reference frame can be used to ensure the accuracy of the content.
步骤13:根据提取出的目标参考帧对当前帧进行编码。Step 13: Encode the current frame according to the extracted target reference frame.
在本发明实施方式中,在确定了与所述当前帧的活动窗口相匹配的目标参考帧之后,根据提取出的目标参考帧对当前帧进行编码。In the embodiment of the present invention, after determining the target reference frame that matches the active window of the current frame, the current frame is encoded according to the extracted target reference frame.
此外,还利用编码后的结果对所述参考帧列表进行更新。具体地,在本发明实施方式中,可以将所述目标参考帧从所述参考帧列表中删除,将编码后的当前帧加入所述参考帧列表中,并为所述编码后的当前帧分配参考帧标识。In addition, the reference frame list is updated with the encoded result. Specifically, in the embodiment of the present invention, the target reference frame may be deleted from the reference frame list, the encoded current frame is added to the reference frame list, and the encoded current frame is allocated. Reference frame identification.
由上可见,本发明实施例提供的一种远程桌面视频编码的方法,通过将桌面的窗口与预设的H264参考帧列表中的参考帧对应起来,从而可以在发生窗口切换时能选择与当前帧的活动窗口相匹配的参考帧,该参考帧列表中均可以为经过编码的参考帧,那么在发生窗口切换时,由于待编码帧与参考帧较相似,因此可以使用与当前帧的活动窗口相匹配的参考帧,从而可以减少编码器CPU的计算时间,同时还能降低网络带宽的占用率。It can be seen that the remote desktop video encoding method provided by the embodiment of the present invention can select and current when the window switching occurs by associating the window of the desktop with the reference frame in the preset H264 reference frame list. The reference frame matched by the active window of the frame may be an encoded reference frame, and when the window switching occurs, since the frame to be encoded is similar to the reference frame, the active window with the current frame may be used. The matching reference frames can reduce the computation time of the encoder CPU while reducing the network bandwidth usage.
图3为本发明实施例提供的一种远程桌面视频编码的方法中编码器的工作流程图。在一个具体的应用场景中,所述编码器在获取到待编码的当前帧后,可以在参考帧列表中查找与所述当前帧相匹配的目标参考帧。在查询得到所述目标参考帧后,便可以对所述目标帧进行编码,以得到编码结果,并可以利用所述编码结果对参考帧列表进行更新。FIG. 3 is a flowchart of a working process of an encoder in a remote desktop video encoding method according to an embodiment of the present invention. In a specific application scenario, after acquiring the current frame to be encoded, the encoder may search for a target reference frame that matches the current frame in the reference frame list. After the target frame is obtained by querying, the target frame may be encoded to obtain a coding result, and the reference frame list may be updated by using the coding result.
本发明还提供一种远程桌面视频编码的装置,如图4所示,所述装置包括:The present invention also provides an apparatus for remote desktop video encoding. As shown in FIG. 4, the apparatus includes:
活动窗口确定单元100,设置为对桌面中的窗口状态进行监测,确定 当前帧的活动窗口;The active window determining unit 100 is configured to monitor the status of the window in the desktop, and determine The active window of the current frame;
目标参考帧确定单元200,设置为从预先建立的参考帧列表中提取与所述当前帧的活动窗口相匹配的目标参考帧;The target reference frame determining unit 200 is configured to extract, from a pre-established reference frame list, a target reference frame that matches an active window of the current frame;
编码单元300,设置为根据提取出的目标参考帧对当前帧进行编码,并将编码后的结果更新到对所述参考帧列表中。The encoding unit 300 is configured to encode the current frame according to the extracted target reference frame, and update the encoded result to the reference frame list.
在本发明一优选实施方式中,所述活动窗口确定单元100包括:In a preferred embodiment of the present invention, the active window determining unit 100 includes:
全局钩子注入模块,设置为在远程桌面所在的操作系统中注入全局钩子,通过所述全局钩子截获所述远程桌面内的窗口事件;a global hook injection module is configured to inject a global hook in an operating system where the remote desktop is located, and intercept the window event in the remote desktop by using the global hook;
分析模块,设置为对截获的所述窗口事件进行分析,确定所述远程桌面内当前帧的活动窗口。The analysis module is configured to analyze the intercepted window event to determine an active window of the current frame in the remote desktop.
在本发明一优选实施方式中,所述目标参考帧确定单元200包括:In a preferred embodiment of the present invention, the target reference frame determining unit 200 includes:
查找模块,设置为在预先建立的参考帧列表中确定与所述当前帧的活动窗口的标识相同的目标标识;a finding module, configured to determine, in a pre-established reference frame list, a target identifier that is the same as an identifier of an active window of the current frame;
确定模块,设置为将所述目标标识对应的参考帧确定为与所述当前帧的活动窗口相匹配的目标参考帧;当所述预先建立的参考帧列表中不存在与所述当前帧的活动窗口的标识相同的目标标识时,将所述当前帧的上一帧对应的参考帧确定为与所述当前帧的活动窗口相匹配的目标参考帧。a determining module, configured to determine a reference frame corresponding to the target identifier as a target reference frame that matches an active window of the current frame; when there is no activity in the pre-established reference frame list When the window identifies the same target identifier, the reference frame corresponding to the previous frame of the current frame is determined as the target reference frame that matches the active window of the current frame.
在本发明一优选实施方式中,所述装置还包括:更新单元400,设置为将所述目标参考帧从所述H264参考帧列表中删除,将编码后的当前帧加入所述参考帧列表中,并为所述编码后的当前帧分配参考帧标识。In a preferred embodiment of the present invention, the apparatus further includes: an updating unit 400, configured to delete the target reference frame from the H264 reference frame list, and add the encoded current frame to the reference frame list. And assigning a reference frame identifier to the encoded current frame.
需要说明的是,上述各个功能模块的具体实现方式与步骤11至13中的描述一致,这里便不再赘述。It should be noted that the specific implementation manners of the foregoing various functional modules are consistent with the descriptions in steps 11 to 13, and are not described herein again.
由上可见,本发明实施例提供的一种远程桌面视频编码的装置,通过将桌面的窗口与预设的参考帧列表中的参考帧对应起来,从而可以在发生窗口切换时能选择与当前帧的活动窗口相匹配的参考帧,该参考帧列表中均可以为经过编码的参考帧,那么在发生窗口切换时,由于待编码帧与参 考帧较相似,因此可以使用与当前帧的活动窗口相匹配的参考帧,从而可以减少编码器CPU的计算时间,同时还能降低网络带宽的占用率。It can be seen that the apparatus for remote desktop video coding provided by the embodiment of the present invention can select the current frame when the window switching occurs by associating the window of the desktop with the reference frame in the preset reference frame list. The active frame matches the reference frame, and the reference frame list can be the encoded reference frame, then when the window switching occurs, due to the frame to be encoded and the reference The test frames are similar, so reference frames that match the active window of the current frame can be used, which can reduce the computation time of the encoder CPU while reducing the network bandwidth usage.
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施方式或者实施方式的某些部分所述的方法。It will be apparent to those skilled in the art from the above description of the embodiments that the present invention can be implemented by means of software plus a necessary general hardware platform. Based on such understanding, the technical solution of the present invention, which is essential or contributes to the related art, may be embodied in the form of a software product, which may be stored in a storage medium such as a ROM/RAM, a disk, An optical disk or the like includes a number of instructions for causing a computer device (which may be a personal computer, server, or network device, etc.) to perform the methods described in various embodiments of the present invention or portions of the embodiments.
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。While the embodiments of the present invention have been described above, the described embodiments are merely for the purpose of understanding the invention and are not intended to limit the invention. Any modification and variation in the form and details of the embodiments may be made by those skilled in the art without departing from the spirit and scope of the invention. The scope defined by the appended claims shall prevail.
工业实用性Industrial applicability
本发明实施例涉及视频编码技术领域,提供了一种远程桌面视频编码的方法及装置,其中,该方法包括对远程桌面中的窗口状态进行监测,确定当前帧的活动窗口;从预先建立的参考帧列表中提取与该当前帧的活动窗口相匹配的目标参考帧;根据提取出的目标参考帧对当前帧进行编码。通过本发明,能够解决当前编码器占用CPU较高的问题,从而可以减少编码器CPU的计算时间,同时还能降低网络带宽的占用率。 Embodiments of the present invention relate to the field of video coding technologies, and provide a method and apparatus for remote desktop video coding, where the method includes monitoring a window state in a remote desktop to determine an active window of a current frame; A target reference frame matching the active window of the current frame is extracted from the frame list; the current frame is encoded according to the extracted target reference frame. The invention can solve the problem that the current encoder occupies a high CPU, thereby reducing the calculation time of the encoder CPU and reducing the occupancy rate of the network bandwidth.

Claims (11)

  1. 一种远程桌面视频编码的方法,包括:A method for remote desktop video encoding, comprising:
    对远程桌面中的窗口状态进行监测,确定当前帧的活动窗口;Monitoring the status of the window in the remote desktop to determine the active window of the current frame;
    从预先建立的参考帧列表中提取与当前帧的活动窗口相匹配的目标参考帧;Extracting a target reference frame that matches an active window of the current frame from a pre-established reference frame list;
    根据提取出的目标参考帧对当前帧进行编码。The current frame is encoded according to the extracted target reference frame.
  2. 根据权利要求1所述的方法,其中,所述对远程桌面上的窗口状态进行监测,确定当前帧的活动窗口,包括:The method of claim 1 wherein said monitoring a window state on a remote desktop to determine an active window of the current frame comprises:
    在所述远程桌面所在的操作系统中注入全局钩子,通过全局钩子截获所述远程桌面内的窗口事件;Injecting a global hook in an operating system where the remote desktop is located, and intercepting a window event in the remote desktop by using a global hook;
    对截获的窗口事件进行分析,确定所述远程桌面内当前帧的活动窗口。The intercepted window event is analyzed to determine an active window of the current frame within the remote desktop.
  3. 根据权利要求1所述的方法,其中,所述参考帧列表中的参考帧分别对应有标识;The method according to claim 1, wherein the reference frames in the reference frame list respectively correspond to an identifier;
    所述从预先建立的参考帧列表中提取与当前帧的活动窗口相匹配的目标参考帧,包括:Extracting, from the pre-established reference frame list, a target reference frame that matches an active window of the current frame, including:
    在所述参考帧列表中确定与所述当前帧的活动窗口的标识相同的目标标识;Determining, in the reference frame list, a target identifier that is the same as an identifier of an active window of the current frame;
    将所述目标标识对应的参考帧确定为与所述当前帧的活动窗口相匹配的目标参考帧。The reference frame corresponding to the target identifier is determined as a target reference frame that matches an active window of the current frame.
  4. 根据权利要求3所述的方法,其中,所述方法还包括:The method of claim 3, wherein the method further comprises:
    当所述预先建立的参考帧列表中不存在与所述当前帧的活动窗口的标识相同的目标标识时,将所述当前帧的上一帧对应的参考帧确定为与所述当前帧的活动窗口相匹配的目标参考帧。When the target identifier of the active frame of the current frame does not exist in the pre-established reference frame list, the reference frame corresponding to the previous frame of the current frame is determined to be active with the current frame. The target reference frame that the window matches.
  5. 根据权利要求1所述的方法,其中,所述方法还包括:The method of claim 1 wherein the method further comprises:
    将编码后的当前帧更新到所述参考帧列表中。 The encoded current frame is updated into the reference frame list.
  6. 根据权利要求5所述的方法,其中,所述将编码后的当前帧更新到所述参考帧列表中,包括:The method of claim 5, wherein the updating the encoded current frame to the reference frame list comprises:
    将所述目标参考帧从所述参考帧列表中删除,将编码后的当前帧加入所述参考帧列表中,并为所述编码后的当前帧配参考帧标识。Deleting the target reference frame from the reference frame list, adding the encoded current frame to the reference frame list, and assigning a reference frame identifier to the encoded current frame.
  7. 一种远程桌面视频编码的装置,包括:A device for remote desktop video coding, comprising:
    活动窗口确定单元,设置为对远程桌面中的窗口状态进行监测,确定当前帧的活动窗口;An active window determining unit configured to monitor a window state in the remote desktop to determine an active window of the current frame;
    目标参考帧确定单元,设置为从预先建立的参考帧列表中提取与当前帧的活动窗口相匹配的目标参考帧;a target reference frame determining unit, configured to extract, from a pre-established reference frame list, a target reference frame that matches an active window of the current frame;
    编码单元,设置为根据提取出的目标参考帧对当前帧进行编码。The coding unit is configured to encode the current frame according to the extracted target reference frame.
  8. 根据权利要求7所述的装置,其中,所述活动窗口确定单元,包括:The apparatus according to claim 7, wherein the active window determining unit comprises:
    全局钩子注入模块,设置为在所述远程桌面所在的操作系统中注入全局钩子,通过全局钩子截获所述远程桌面内的窗口事件;a global hook injection module is configured to inject a global hook in an operating system where the remote desktop is located, and intercept a window event in the remote desktop by using a global hook;
    分析模块,设置为对截获的窗口事件进行分析,确定所述远程桌面内当前帧的活动窗口。The analysis module is configured to analyze the intercepted window event to determine an active window of the current frame in the remote desktop.
  9. 根据权利要求7所述的装置,其中,所述参考帧列表中的参考帧分别对应有标识;The apparatus according to claim 7, wherein the reference frames in the reference frame list respectively correspond to an identifier;
    所述目标参考帧确定单元,包括:The target reference frame determining unit includes:
    查找模块,设置为在预先建立的参考帧列表中查找与所述当前帧的活动窗口的标识相同的目标标识;a finding module, configured to search for a target identifier that is the same as an identifier of an active window of the current frame in a pre-established reference frame list;
    确定模块,设置为将所述目标标识对应的参考帧确定为与所述当前帧的活动窗口相匹配的目标参考帧;当所述预先建立的参考帧列表中不存在与所述当前帧的活动窗口的标识相同的目标标识时,将所述当前帧的上一帧对应的参考帧确定为与所述当前帧的活动窗口相匹配的目标参考帧。 a determining module, configured to determine a reference frame corresponding to the target identifier as a target reference frame that matches an active window of the current frame; when there is no activity in the pre-established reference frame list When the window identifies the same target identifier, the reference frame corresponding to the previous frame of the current frame is determined as the target reference frame that matches the active window of the current frame.
  10. 根据权利要求7所述的装置,其中,所述装置还包括:The apparatus of claim 7 wherein said apparatus further comprises:
    更新单元,设置为将所述目标参考帧从所述参考帧列表中删除,将编码后的当前帧加入所述参考帧列表中,并为所述编码后的当前帧分配参考帧标识。And an updating unit, configured to delete the target reference frame from the reference frame list, add the encoded current frame to the reference frame list, and allocate a reference frame identifier to the encoded current frame.
  11. 一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行权利要求1至6中任一项所述的方法。 A storage medium, characterized in that the storage medium comprises a stored program, wherein the program is executed to perform the method of any one of claims 1 to 6.
PCT/CN2017/079043 2016-03-31 2017-03-31 Remote-desktop video-encoding method and device WO2017167285A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610204555.7A CN107295340A (en) 2016-03-31 2016-03-31 A kind of method and device of remote desktop Video coding
CN201610204555.7 2016-03-31

Publications (1)

Publication Number Publication Date
WO2017167285A1 true WO2017167285A1 (en) 2017-10-05

Family

ID=59963517

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/079043 WO2017167285A1 (en) 2016-03-31 2017-03-31 Remote-desktop video-encoding method and device

Country Status (2)

Country Link
CN (1) CN107295340A (en)
WO (1) WO2017167285A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115543152A (en) * 2022-11-16 2022-12-30 北京时代亿信科技股份有限公司 Method and device for determining file state

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114265648B (en) * 2020-09-16 2023-12-26 阿里巴巴集团控股有限公司 Code scheduling method, server, client and system for acquiring remote desktop

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101984402A (en) * 2010-11-16 2011-03-09 广东威创视讯科技股份有限公司 Image acquisition and compression method and related device
CN102238232A (en) * 2010-05-04 2011-11-09 微软公司 Using double buffering for screen sharing
US8170123B1 (en) * 2008-04-15 2012-05-01 Desktone, Inc. Media acceleration for virtual computing services
CN104144349A (en) * 2014-07-09 2014-11-12 中电科华云信息技术有限公司 SPICE video coding and decoding expansion method and system based on H264
CN104780379A (en) * 2015-01-21 2015-07-15 北京工业大学 Compression method for screen image set
CN105262825A (en) * 2015-10-29 2016-01-20 曲阜师范大学 SPICE cloud desktop transporting and displaying method and system on the basis of H.265 algorithm

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7224731B2 (en) * 2002-06-28 2007-05-29 Microsoft Corporation Motion estimation/compensation for screen capture video
JP4978575B2 (en) * 2008-06-25 2012-07-18 富士通株式会社 Image coding method and image coding program in thin client system
CN102075756B (en) * 2011-01-27 2012-10-24 北京视博云科技有限公司 Video multiframe prediction encoding and decoding method and device
CN102752588B (en) * 2011-04-22 2017-02-15 北京大学深圳研究生院 Video encoding and decoding method using space zoom prediction
CN105359531B (en) * 2014-03-17 2019-08-06 微软技术许可有限责任公司 Method and system for determining for the coder side of screen content coding

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8170123B1 (en) * 2008-04-15 2012-05-01 Desktone, Inc. Media acceleration for virtual computing services
CN102238232A (en) * 2010-05-04 2011-11-09 微软公司 Using double buffering for screen sharing
CN101984402A (en) * 2010-11-16 2011-03-09 广东威创视讯科技股份有限公司 Image acquisition and compression method and related device
CN104144349A (en) * 2014-07-09 2014-11-12 中电科华云信息技术有限公司 SPICE video coding and decoding expansion method and system based on H264
CN104780379A (en) * 2015-01-21 2015-07-15 北京工业大学 Compression method for screen image set
CN105262825A (en) * 2015-10-29 2016-01-20 曲阜师范大学 SPICE cloud desktop transporting and displaying method and system on the basis of H.265 algorithm

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115543152A (en) * 2022-11-16 2022-12-30 北京时代亿信科技股份有限公司 Method and device for determining file state

Also Published As

Publication number Publication date
CN107295340A (en) 2017-10-24

Similar Documents

Publication Publication Date Title
WO2019085073A1 (en) Interface test method and apparatus, computer device, and storage medium
WO2018223786A1 (en) Cloud desktop system, and image sequence compression and encoding method, and medium therefor
US20180359140A1 (en) Method, device, and system for processing a terminal fault
US11201812B2 (en) Virtual probes
US10476928B2 (en) Network video playback method and apparatus
US20150127716A1 (en) Filtering Unnecessary Display Updates for a Networked Client
CN107070686A (en) A kind of system and method for the parallel transcoding of video monitoring platform code stream
Ning et al. Mobile storm: Distributed real-time stream processing for mobile clouds
US10067862B2 (en) Tracking asynchronous entry points for an application
CN106791957B (en) Video live broadcast processing method and device
WO2017167285A1 (en) Remote-desktop video-encoding method and device
CN112583797B (en) Multi-protocol data processing method, device, equipment and computer readable storage medium
CN115408715A (en) Heterogeneous data processing system, method and equipment based on block chain and IPFS
WO2023116184A1 (en) Cloud application system, window management method, and device
CN109788251B (en) Video processing method, device and storage medium
CN113641320B (en) Method and device for sharing screen of Linux compatible with Android
CN109729061B (en) Message processing method, device, equipment and readable storage medium
WO2015021753A1 (en) Data compression method, computer system and device
CN106953857B (en) Server-side multithread management method based on CS framework
CN108494606B (en) WCF technology-based data service framework building method
WO2016197659A1 (en) Packet reception method, device and system for network media stream
CN109766347B (en) Data updating method, device, system, computer equipment and storage medium
CN110933121A (en) Connection establishing method, communication processing method and device and communication equipment
US8838765B2 (en) Modifying computer management request
CN114265866A (en) Streaming data processing method, rule plug-in, streaming data processing module and system

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17773315

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 17773315

Country of ref document: EP

Kind code of ref document: A1