CN110392262A - A kind of method and device for compressing virtual desktop image - Google Patents

A kind of method and device for compressing virtual desktop image Download PDF

Info

Publication number
CN110392262A
CN110392262A CN201910594432.2A CN201910594432A CN110392262A CN 110392262 A CN110392262 A CN 110392262A CN 201910594432 A CN201910594432 A CN 201910594432A CN 110392262 A CN110392262 A CN 110392262A
Authority
CN
China
Prior art keywords
sequence
data
pixel
pixel unit
subsequence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910594432.2A
Other languages
Chinese (zh)
Other versions
CN110392262B (en
Inventor
陈小芬
何耀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ruijie Networks Co Ltd
Original Assignee
Ruijie Networks Co Ltd
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 Ruijie Networks Co Ltd filed Critical Ruijie Networks Co Ltd
Priority to CN201910594432.2A priority Critical patent/CN110392262B/en
Publication of CN110392262A publication Critical patent/CN110392262A/en
Application granted granted Critical
Publication of CN110392262B publication Critical patent/CN110392262B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/53Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/182Methods 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 a pixel
    • 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/184Methods 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 bits, e.g. of the compressed video stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Power Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

The application provides a kind of method and device for compressing virtual desktop image, for improving the compression ratio of compression virtual desktop image.This method comprises: determining the corresponding data sequence of virtual desktop image to be transmitted, and data sequence is divided into multiple data subsequences;According in multiple data subsequences in any data subsequence each pixel unit cryptographic Hash, position sequence corresponding with pixel unit each in any data subsequence has been searched whether in pixel dictionary;Position sequence is for indicating position of the pixel unit in its corresponding data subsequence;According to the lookup result in pixel dictionary, the compressed data stream of any data subsequence is obtained;Coded treatment is carried out to the compressed data stream of any data subsequence, and the compressed data stream of any data subsequence after coding is sent to client.

Description

A kind of method and device for compressing virtual desktop image
Technical field
This application involves technical field of image processing more particularly to a kind of method and devices for compressing virtual desktop image.
Background technique
In desktop virtualization architecture (Virtual Desktop 1nfrastructure, VDI), server needs Virtual desktop image is subjected to compression and is sent to client, client decompression shows corresponding virtual desktop image.LZ4 algorithm It is commonly applied in VDI, for being compressed to virtual desktop image.LZ4 algorithm according to pixel dictionary to virtual desktop image into Row compresses, and the dictionary content is utilized in decoder, and decoding obtains corresponding virtual desktop image.
LZ4 algorithm is sliding window to be arranged, a sliding window corresponds to a word using byte as minimum unit processing Allusion quotation, since the size of sliding window is limited, so causing to find some in dictionary when compressing data stream The probability of data character string is smaller, causes the compression ratio for compressing virtual desktop image smaller.
Summary of the invention
The embodiment of the present application provides a kind of method and device for compressing image, for improving the compression ratio of compression image.
In a first aspect, providing a kind of method for compressing virtual desktop image, it is applied in server, which comprises
It determines the corresponding data sequence of virtual desktop image to be transmitted, and the data sequence is divided into multiple data Subsequence;Wherein, the data sequence is made of the pixel value of each pixel in the virtual desktop image;
By the Hash values match in the multiple data subsequence in the cryptographic Hash and caching of any data subsequence, if Match, is then determined as hitting sequence for any data subsequence, any data subsequence is otherwise determined as miss Sequence;
According to the cryptographic Hash of each pixel unit in the hit sequence, searched whether in pixel dictionary and the life The corresponding position sequence of each pixel unit in middle sequence;It wherein, include the Hash of multiple pixel units in the pixel dictionary Value and the corresponding position sequence of each pixel unit, the position sequence is for indicating that the pixel unit is corresponding at its Position in data subsequence;
According to the lookup result in the pixel dictionary, the position data stream of the hit sequence is obtained;
Coded treatment is carried out to the position data stream of the hit sequence, and by any data subsequence after coding Compressed data stream be sent to client.
In the embodiment of the present application, when being compressed to data subsequence, to hit sequence as unit of pixel unit Pixel dictionary lookup is carried out, since there are redundancy pictures in single frames virtual desktop image or the virtual desktop image of continuous multiple frames Therefore element carries out compression processing as unit of pixel unit in the embodiment of the present application, opposite can be improved is looked into pixel dictionary The probability of each pixel unit is found, to improve the compression ratio of virtual desktop image.And in the embodiment of the present application, pixel Dictionary is stored with pixel unit, and the data volume of pixel dictionary receiving is extended.
In a kind of possible embodiment, according to the lookup result in the pixel dictionary, any data is obtained The compressed data stream of subsequence, comprising:
If being found in pixel dictionary corresponding with the cryptographic Hash of any pixel unit in any data subsequence Any pixel unit in any data subsequence is then determined as hitting sequence, the position-order that will be found by position sequence Column are determined as the position sequence of any pixel unit in the hit sequence;
If not finding the cryptographic Hash pair with any pixel unit in any data subsequence in pixel dictionary Any pixel unit in any data subsequence is then determined as miss sequence by the position sequence answered, and by described in not The pixel dictionary is written in the position sequence for hitting sequence and the miss sequence;
The position sequence in the hit sequence and the miss sequence are combined, any data subsequence is obtained Compressed data stream.
In the embodiment of the present application, a kind of mode of position data stream for obtaining data subsequence is provided, if in pixel Corresponding pixel unit is found in dictionary, then is reference with the pixel unit, determines the position sequence of current pixel unit, Realize the compression to current pixel unit.If not finding corresponding pixel unit in pixel dictionary, by the pixel Unit realizes the real-time update of pixel dictionary as coded sequence, and by the current pixel unit writing pixel dictionary, improves The probability that each pixel unit is found in pixel dictionary further increases the compression ratio of virtual desktop image.
In a kind of possible embodiment, the corresponding position sequence of each pixel unit includes pixel in the hit sequence The bits of offset of the length of unit, the unique sequence numbers of the corresponding data subsequence of the pixel unit and the pixel unit It sets;
Wherein, the deviation post refers to starting position of the pixel unit relative to its corresponding data subsequence Offset.
It further include the unique sequence numbers of the corresponding data subsequence of pixel unit in the embodiment of the present application, in position sequence, Even if the information of the pixel unit in pixel dictionary including multiple image, will not cause the information of the pixel unit of two field pictures Obscure, therefore, pixel dictionary can be extended to the letter of the pixel unit of multiframe virtual desktop image in the embodiment of the present application Breath, further increases the probability for finding each pixel unit in pixel dictionary, further increases compression ratio.
In a kind of possible embodiment, coded treatment is carried out to the compressed data stream of any data subsequence, and The compressed data stream of the hit sequence after coding is sent to client, comprising:
Determine that in the pixel dictionary, highest first pixel unit of access frequency determines institute within a preset period of time The corresponding unique sequence numbers of the first pixel unit and deviation post are stated, and corresponding instead of first pixel unit with unique identification Unique sequence numbers and deviation post;Wherein, it is corresponding unique to be less than first pixel unit for the length of the unique identification The total length of sequence number and deviation post;
According to the unique identification, the compressed data stream of any data subsequence is encoded, and will be after coding The compressed data stream of any data subsequence be sent to client.
In the embodiment of the present application, the higher pixel unit of access frequency is determined, it should with brief unique identification substitution The unique sequence numbers and deviation post of pixel unit encode data with brief unique identification, can save code stream Expense.
Second aspect provides a kind of device for compressing virtual desktop image, and described device is arranged in the server, the dress It sets and includes:
Determining module, for determining the corresponding data sequence of virtual desktop image to be transmitted, and by the data sequence It is divided into multiple data subsequences;Wherein, the data sequence by each pixel in the virtual desktop image pixel value group At;
Searching module, for according in the multiple data subsequence in any data subsequence each pixel unit Kazakhstan Uncommon value, has searched whether position sequence corresponding with pixel unit each in any data subsequence in pixel dictionary; Wherein, the pixel dictionary is used to cache the cryptographic Hash and the corresponding position sequence of each pixel unit of multiple pixel units, The corresponding position sequence of each pixel unit is for indicating respective pixel unit described any in any data subsequence Position in data subsequence;
Compression module, for obtaining any data subsequence according to the lookup result in the pixel dictionary Compressed data stream;
Coding module carries out coded treatment for the compressed data stream to any data subsequence, and will be after coding The compressed data stream of any data subsequence be sent to client.
In a kind of possible embodiment, the compression module is specifically used for:
If being found in pixel dictionary corresponding with the cryptographic Hash of any pixel unit in any data subsequence Any pixel unit in any data subsequence is then determined as hitting sequence, the position-order that will be found by position sequence Column are determined as the position sequence of any pixel unit in the hit sequence;
If not finding the cryptographic Hash pair with any pixel unit in any data subsequence in pixel dictionary Any pixel unit in any data subsequence is then determined as miss sequence by the position sequence answered, and by described in not The pixel dictionary is written in the position sequence for hitting sequence and the miss sequence;
The position sequence in the hit sequence and the miss sequence are combined, any data subsequence is obtained Compressed data stream.
In a kind of possible embodiment, the corresponding position sequence of each pixel unit includes pixel in the hit sequence The bits of offset of the length of unit, the unique sequence numbers of the corresponding data subsequence of the pixel unit and the pixel unit It sets;
Wherein, the deviation post refers to starting position of the pixel unit relative to its corresponding data subsequence Offset.
In a kind of possible embodiment, the coding module is specifically used for:
Determine that in the pixel dictionary, highest first pixel unit of access frequency determines institute within a preset period of time The corresponding unique sequence numbers of the first pixel unit and deviation post are stated, and corresponding instead of first pixel unit with unique identification Unique sequence numbers and deviation post;Wherein, it is corresponding unique to be less than first pixel unit for the length of the unique identification The total length of sequence number and deviation post;
According to the unique identification, the compressed data stream of any data subsequence is encoded, and will be after coding The compressed data stream of any data subsequence be sent to client.
The third aspect provides a kind of device for compressing virtual desktop image, comprising:
At least one processor, and
The memory being connect at least one described processor communication;
Wherein, the memory is stored with the instruction that can be executed by least one described processor, described at least one It manages device and the side realized as described in any one of first aspect and possible embodiment is instructed by the execution memory storage Method.
Fourth aspect, provides a kind of computer readable storage medium, and the computer-readable recording medium storage has calculating Machine instruction, when the computer instruction is run on computers, so that computer executes such as first aspect and possible implementation Method described in any one of example.
Detailed description of the invention
Fig. 1 is the schematic diagram of compression algorithm in the prior art;
Fig. 2 is a kind of application scenarios schematic diagram provided by the embodiments of the present application;
Fig. 3 is a kind of flow chart of method for compressing virtual desktop image provided by the embodiments of the present application;
Fig. 4 is the schematic diagram of data subsequence provided by the embodiments of the present application;
Fig. 5 is a kind of structure chart of device for compressing virtual desktop image provided by the embodiments of the present application;
Fig. 6 is a kind of structure chart of device for compressing virtual desktop image provided by the embodiments of the present application.
Specific embodiment
In order to better understand technical solution provided by the embodiments of the present application, below in conjunction with Figure of description and specifically Embodiment be described in detail.
Below to the invention relates to technical term explain.
(1) LZ4 algorithm belongs to dictionary class compression algorithm, and the basic realization principle of dictionary class compression algorithm is in encoder One dictionary of middle building substitutes the character repeated with the index in dictionary, to achieve the purpose that compressing data.
(2) dictionary, dictionary are the dictionaries constructed in LZ4 compression process, include that access frequency is higher in the dictionary The information of data, dictionary can be continuously updated with compression process.Such as include d in data to be compressed, then when d is arrived in processing, , since the memory space of dictionary is limited, current slot in dictionary can be eliminated in real time in the cryptographic Hash write-in dictionary of d The information of the relatively low character of interior access frequency.
(3) compression ratio, compression ratio are a kind of modes for characterizing compression effectiveness, and compression ratio generally refers to compressed number According to the percentage of the size of data before size and compression.
Below to this application involves the prior art be illustrated.
The basic process of existing LZ4 algorithm in dictionary area as shown in Figure 1, find the character to match with area to be encoded String, the length and the character string for then returning to the character string at a distance from bebinning character in data sequence, by sliding window after Continuous movement, searches character late in dictionary area, and so on, the position sequence of the data sequence is obtained, with the position-order Column are to substitute the data sequence.If not finding the character string in dictionary area, compression volume is directly carried out with the character string Code.
Continue by taking Fig. 1 as an example, LZ4 is as unit of byte, when searching in dictionary area for the first time, since dictionary is sky, institute Directly to export a, and a is written in dictionary, sliding window is continued to move to, second character a is searched in dictionary area, by The relevant information of a is stored in dictionary in front, the position sequence for exporting second a at this time is (1,1), successively class It pushes away, the corresponding compressed data stream of available data sequence completes the compression process of data sequence.
Since sliding window is arranged in LZ4, the saturation of sliding window is limited, therefore the word constructed in existing LZ4 algorithm The data volume that allusion quotation can cover is relatively small, such as 16 sliding windows, using byte as minimal processing unit, word is arranged in LZ4 The data of 64K can only be stored in allusion quotation.Therefore, character energy when being compressed using the dictionary to virtual desktop image, in image The probability for being enough matched to dictionary is smaller, causes the compression ratio for compressing virtual desktop image smaller.
In consideration of it, the embodiment of the present application provides a kind of method for compressing virtual desktop image, below with reference to Fig. 2 to this method Applicable application scenarios are introduced.
Referring to figure 2., include terminal device 21 and server 22 in the application scenarios, client is installed in terminal device 21 End, terminal device 21 is corresponding with user, i.e., user can carry out corresponding operation on the terminal device.Client can be peace Software application in terminal device is also possible to be embedded in the small routine etc. in other application software.21, terminal device For example personal computer etc..Server 22 can be individual server, be also possible to server cluster.
Specifically, terminal device 21 establishes Remote desk process by client and server 22, client receives user Corresponding user's operation is sent to server 22 by operation, client, and server 22 generate according to user's operation corresponding Virtual desktop image.Server 22 obtains the data sequence of virtual desktop image to virtual desktop image procossing, and by data sequence Column are divided into multiple data subsequences.
Using pixel unit as minimum treat unit, server 22 searches each pixel in data subsequence in pixel dictionary The corresponding position sequence of unit.If finding the position sequence of pixel unit, the pixel unit is determined for hit sequence, with this Position sequence of the position sequence as the pixel unit determines that the pixel unit is miss sequence if do not found, defeated Miss sequence out, by the cryptographic Hash writing pixel dictionary of the miss sequence.And so on, it is corresponding to obtain data sequence Compressed data stream, and compressed data stream is sent to client.Client according to corresponding pixel dictionary, to amount of compressed data into Row decoding, obtains the cryptographic Hash and miss sequence of hit sequence, finds corresponding pixel in the buffer further according to cryptographic Hash Unit, decoding obtain virtual desktop image.
Wherein, the size of pixel unit is the size of the corresponding data sequence of a pixel, such as the size of pixel unit For the size of the corresponding data sequence of a pixel, a pixel is indicated with RGB, then the size of the pixel unit is three words Section.Virtual desktop image can be the virtual desktop image of text class, be also possible to the virtual desktop image of image class, text class Virtual desktop image can be understood as the character features in the virtual desktop image greater than preset threshold, image class desktop picture The characteristics of image that can be understood as in the virtual desktop image is greater than preset threshold.
Since in virtual desktop image transmitting process, generally there are a large amount of identical pixel lists for before and after frames virtual desktop image Member, therefore in the embodiment of the present application, server 22 can be searched in pixel dictionary using pixel unit as minimal processing unit The position sequence that more pixel units match out improves the compression ratio of compression virtual desktop image.
On the basis of the application scenarios of Fig. 2 above, below to the compression virtual desktop image in the embodiment of the present application Method is specifically introduced.
For server 22 when needing certain frame virtual desktop image transmitting to client, referring to figure 3., server 22 is first Step 301 is executed, determines the corresponding data sequence of virtual desktop image to be transmitted, and data sequence is divided into multiple data Subsequence.
Specifically, virtual desktop image to be transmitted is made of multiple pixels, each pixel can by pixel value come It indicates.Server 22 determines the pixel value of each pixel in virtual desktop image to be transmitted, and arranges according to preset order The pixel value of each pixel, to obtain the corresponding data sequence of virtual desktop image.The pixel value of pixel can for example be used RGB (Red Green Blue, RGB) indicates.
While dividing multiple data subsequences, for the ease of each data subsequence of identification, server 22 can be Each data subsequence configures unique sequence numbers.Wherein, the unique sequence code of two data subsequences of multiframe virtual desktop image Number not identical, the unique sequence numbers of two data subsequences in same virtual desktop image are not also identical.
Server 22 divides there are many modes of data subsequence, is illustrated below.
Division mode one:
It is unit according to row or column, data sequence is divided into multiple data subsequences.
Specifically, being indicated with the data subsequence of behavior unit: data subsequence data length in the horizontal direction and void The data length of the quasi- every row of desktop picture is identical, identical in the data length of vertical direction and the data length of single pixel.With The data subsequence for being classified as unit indicates: data subsequence is in the data length of vertical direction and the number of virtual desktop image each column Identical according to length, data length in the horizontal direction is identical as the data length of single pixel.
In the embodiment of the present application, as unit of row or column, data sequence is divided, obtained data sequence is equivalent to Be it is one-dimensional, facilitate post-processing, and when user carries out mobile operation, the variation of virtual desktop image, which often shows, is expert at Or on column, divided with row or column, it can be improved the probability that the later period finds out corresponding cryptographic Hash in the buffer, reduce and repeat to send out Send the probability of pixel in virtual desktop image.
Division mode two:
According to preset rectangle frame, data sequence is divided into multiple data subsequences.
Specifically, rectangle frame size can be fixed, the data that the length of rectangle frame is greater than or equal to single pixel are long Degree, and it is less than or equal to the data length of the every row of virtual desktop image, the width of rectangle frame is greater than or equal to the number of single pixel According to length, and it is less than or equal to the data length of virtual desktop image each column.
If rectangle frame size is fixed, data sequence can be divided into multiple data subsequences being equal in length. If rectangle size changes, data sequence can be divided into the data subsequence that multiple length might not be equal.
In the embodiment of the present application, rectangle frame size can be arbitrarily arranged in server 22, divide the flexibility of data subsequence It is stronger.
For example, referring to figure 4., data subsequence A can illustrate for the data subsequence after a kind of division according to column, it should Data subsequence include pixel a (56,12,67) in Fig. 4, pixel b (11,12,11), pixel c (11,12,24), pixel d (11, 12,11), pixel e (20,12,14), pixel f (91,12,13), pixel g (11,11,11), then data subsequence A specifically:
(56,12,67,11,12,11,11,12,24,11,12,11,20,12,14,91,12,13,11,11,11)。
Data subsequence B can illustrate for the data subsequence after a kind of division according to row, and data subsequence B includes Pixel g (11,11,11), pixel h (11,13,14), pixel i (17,18,26), pixel j (17,19,26), pixel k in Fig. 4 (26,17,19) and pixel l (26,17,19), then data subsequence B specifically:
(11,11,11,11,13,14,17,18,26,17,19,26,26,17,19,26,17,19)。
Data subsequence C can for it is a kind of divided according to rectangle frame after data subsequence signal, data subsequence C Including pixel m (56,12,67), pixel n (50,16,80), pixel z (50,16,80) and pixel x (49,14,86), data Sequence specifically: (56,12,67,50,16,80,50,16,80,49,14,86).
After server 22 executes step 301, execute 302 after step, i.e., according to any data in multiple data subsequences The cryptographic Hash of each pixel unit in subsequence has searched whether and pixel each in any data subsequence in pixel dictionary The corresponding position sequence of unit.
Specifically, pixel dictionary is similar with the dictionary discussed above, unlike the dictionary discussed above, the application is real Applying in the pixel dictionary in example is stored as unit of pixel unit, that is to say, that each pixel is stored in pixel dictionary The corresponding cryptographic Hash of unit and the corresponding position sequence of each pixel unit.Server 22 is to every in any data subsequence After a pixel unit carries out Hash operation, the cryptographic Hash of each pixel unit is obtained.Server 22 is according to any data The cryptographic Hash of each pixel unit in sequence searches position sequence corresponding with each pixel unit in pixel dictionary.It should Illustrate, before starting to be compressed, which may be without storing any information.
As one embodiment, for the ease of improving the search efficiency for searching pixel dictionary, pixel dictionary can be with Hash The mode of bucket stores the cryptographic Hash and the corresponding position sequence of each pixel unit of each pixel unit.
Specifically, the mode of Hash bucket refers to using the beginning value of the cryptographic Hash of pixel unit as index, beginning is worth phase The cryptographic Hash and position sequence of same pixel unit, are stored in a Hash list.22 later period of server searches pixel dictionary When according to the beginning value of the cryptographic Hash of pixel unit, first navigate in corresponding Hash list, then to find out pixel unit corresponding Information.
Wherein, the corresponding position sequence of each pixel unit is for indicating what pixel unit occurred in the data subsequence Position.Position sequence indicates the position that pixel unit first appears in data subsequence, or after pixel dictionary updating, as Position in the pixel dictionary of plain unit in the updated, in the data subsequence of first time appearance.Each pixel unit is corresponding Position sequence includes the length of pixel unit and the deviation post of pixel unit.Deviation post refers to the pixel unit relative to this The offset of the initial position of data subsequence.
As one embodiment, the corresponding position sequence of each pixel unit includes the length of pixel unit, pixel unit The unique sequence numbers of corresponding data subsequence and the deviation post of pixel unit.Unique sequence numbers are referred to discuss above Content, details are not described herein again.
In the embodiment of the present application, the data subsequence as where including the pixel unit in position sequence is corresponding unique Sequence number, so the pixel unit and its will not be caused even if including the pixel unit in other frame images in pixel dictionary The conflict of the pixel unit of his frame image, that is to say, that due to increasing pixel list in position sequence in the embodiment of the present application Pixel dictionary, can be extended to the corresponding pixel of multiframe virtual desktop image by the unique sequence numbers of the corresponding data subsequence of member Unit improves the probability that some pixel unit is found in pixel dictionary.
If server 22 finds the corresponding position sequence of the pixel unit in pixel dictionary, 303 are thened follow the steps, Any pixel unit in any data subsequence is determined as to hit sequence, and executes step 304, i.e., the position that will be found Sequence is set to be determined as hitting the position sequence of sequence.If not finding the corresponding position of the pixel unit in pixel dictionary Sequence thens follow the steps 305, i.e., any pixel unit in any data subsequence is determined as miss sequence and step 306, i.e., by the position sequence writing pixel dictionary of miss sequence and miss sequence.
Specifically, being looked into if finding position sequence corresponding with the cryptographic Hash of the pixel unit in the pixel dictionary The position sequence found is exactly the position sequence of the pixel unit.If do not found in pixel dictionary and the pixel unit The corresponding position sequence of cryptographic Hash, it is determined that the pixel unit be miss sequence, and by the miss sequence and this do not order The corresponding position sequence writing pixel dictionary of middle sequence, and so on, all hits in obtaining data subsequence of server 22 After the position sequence and miss sequence of sequence, step 307, the i.e. position sequence and miss of combination hit sequence are executed Sequence obtains the compressed data stream of any data subsequence.Wherein, which is the miss The position that sequence occurs for the first time in data subsequence.
If should be noted that all hit sequences in data subsequence, server 22 need to execute step 303 With step 304.All miss sequences in data subsequence, then server 22 need to execute step 305 and step 306 i.e. It can.
Server 22 miss sequence can be written in compressed data stream, and server 22 can also be stored by palette The corresponding index of each pixel.
Specifically, server 22 is stored with the different pixel values rope corresponding with the pixel value of pixel unit in palette Draw.After determining that some pixel unit is miss sequence, it is corresponding that server 22 searches miss sequence in palette Index realizes the further compression to miss sequence in the index write-in compressed data stream of miss sequence.
For example, data subsequence is abcdabc, the unique sequence numbers of data subsequence are 1001, when starting to process, service The cryptographic Hash that device 22 first calculates pixel unit abc in data subsequence is ufhe123413, has been searched whether in pixel dictionary Position sequence corresponding with the cryptographic Hash does not have the corresponding information of the cryptographic Hash in pixel dictionary, determines that the pixel unit is not Sequence is hit, and will be in pixel unit abc writing pixel dictionary.
The cryptographic Hash for continuing calculating data subsequence bcd, cda, dab, abc pixel unit, when to abc, due to pixel The corresponding cryptographic Hash of abc has been stored in dictionary, determine the initial position in pixel unit abc and data subsequence away from From being 0, the compressed data stream for obtaining the data subsequence is abcd (3,1001,0).(3,1001,0) data subsequence is indicated In the last one pixel unit (abc) position sequence." 3 " indicate the length of abc pixel unit, and " 1001 " indicate data The unique sequence numbers of sequence, " 0 " indicate position of the pixel unit in data subsequence.
After the position data stream for obtaining hit sequence, server 22 executes step 308, i.e., to the pressure of data subsequence Contracting data flow carries out coded treatment, and the position data stream of the data subsequence after coding is sent client.
Specifically, server 22 can compressed data stream directly to data subsequence carry out coded treatment, after coding The compressed data stream of data subsequence be sent to client.
In order to reduce the code stream expense of compressed data stream, server 22 can also be determined within a preset period of time, in pixel In dictionary, highest first pixel unit of access frequency determines the corresponding unique sequence numbers of the first pixel unit and bits of offset It sets, the corresponding unique sequence numbers of the first pixel unit and deviation post is replaced with unique identification.Server 22 is according to unique mark Know, the compressed data stream of any data subsequence is encoded, that is to say, that if existed and this in any data subsequence The identical pixel unit of first pixel unit, then replace the pixel unit with the unique identification.Server 22 will be after coding The compressed data stream of any data subsequence is sent to client.Preset time period for example using current time as terminal it is default when In length.
Specifically, unique identification is for instead of the corresponding unique sequence numbers of highest first pixel unit of access frequency and partially Pan position, since the length of unique identification is less than the corresponding unique sequence numbers of highest first pixel unit of access frequency and offset The total length of position, so opposite code stream expense can be saved.
For example, having pixel unit abc, and encoded, only in the data subsequence that unique sequence numbers are 1000 In the data subsequence of one Serial No. 1001 when first time encoding hit sequence abc, there is very big probability can be after The continuous next pixel unit abc of hit, and this abc is still had in pixel dictionary in unique sequence numbers 1000, then is managed When exporting hit information by upper code stream, unique sequence numbers need to be recorded as 1000, then need to indicate using 10.The application is real Applying example indicates the unique sequence numbers using unique identification a, can thus reduce the digit expense for indicating unique sequence numbers.
In the embodiment of the present application, the part letter in compressed data stream is substituted using the relatively much shorter unique identification of length Breath, reduces the digit of compressed data stream, to reduce code stream expense.
Data subsequence each in data sequence is passed through after above-mentioned steps 302- step 308 compresses, is completed To the compression process of data sequence.
For client after the compressed data stream for receiving all data subsequences, client can be according to corresponding pixel Dictionary determines that the corresponding cryptographic Hash of position sequence of each hit sequence is being cached further according to the cryptographic Hash of the hit sequence Middle acquisition hit sequence, according to hit sequence and miss sequence, recovery obtains virtual desktop image, and shows on the client Show the virtual desktop image.
On the basis of a kind of method for the compression virtual desktop image discussed above, the embodiment of the present application provides a kind of pressure The device of contracting virtual desktop image, the device are arranged in the server 22 discussed above, and referring to figure 5., which includes:
Determining module 501 is drawn for determining the corresponding data sequence of virtual desktop image to be transmitted, and by data sequence It is divided into multiple data subsequences;Wherein, data sequence is made of the pixel value of each pixel in virtual desktop image;
Searching module 502, for according in multiple data subsequences in any data subsequence each pixel unit Kazakhstan Uncommon value, has searched whether position sequence corresponding with pixel unit each in any data subsequence in pixel dictionary;Wherein, Pixel dictionary is used to cache the cryptographic Hash and the corresponding position sequence of each pixel unit of multiple pixel units, position sequence For indicating position of the pixel unit in its corresponding data subsequence;
Compression module 503, for obtaining the compression number of any data subsequence according to the lookup result in pixel dictionary According to stream;
Coding module 504 carries out coded treatment for the compressed data stream to any data subsequence, and will be after coding The compressed data stream of hit sequence is sent to client.
In a kind of possible embodiment, compression module 503 is specifically used for:
If finding position corresponding with the cryptographic Hash of any pixel unit in any data subsequence in pixel dictionary Any pixel unit in any data subsequence is then determined as hitting sequence, the position sequence found is determined as by sequence Hit the position sequence of any pixel unit in sequence;
If not found in pixel dictionary corresponding with the cryptographic Hash of any pixel unit in any data subsequence Any pixel unit in any data subsequence is then determined as miss sequence by position sequence, and by miss sequence and not Hit the position sequence writing pixel dictionary of sequence;
Position sequence and miss sequence in combination hit sequence, obtain the compressed data stream of any data subsequence.
In a kind of possible embodiment, hitting the corresponding position sequence of each pixel unit in sequence includes pixel unit Length, the unique sequence numbers of the corresponding data subsequence of pixel unit and the deviation post of pixel unit;
Wherein, deviation post refers to offset of the pixel unit relative to the starting position of its corresponding data subsequence.
In a kind of possible embodiment, coding module 504 is specifically used for:
Determine that in pixel dictionary, highest first pixel unit of access frequency determines the first picture within a preset period of time The corresponding unique sequence numbers of plain unit and deviation post, and the corresponding unique sequence numbers of the first pixel unit are replaced with unique identification And deviation post;Wherein, the length of unique identification unique sequence numbers corresponding less than the first pixel unit and deviation post is total Length;
According to unique identification, the compressed data stream of any data subsequence is encoded, by any data after coding The compressed data stream of subsequence is sent to client.
On the basis of a kind of method for the compression virtual desktop image discussed above, the embodiment of the present application provides a kind of pressure The device of contracting virtual desktop image, the device are arranged in the server 22 discussed above, which includes:
At least one processor 601, and
With the memory 602 of at least one processor 601 communication connection;
Wherein, memory 602 is stored with the instruction that can be executed by least one processor 601, at least one processor 601 The method for realizing compression virtual desktop image as previously discussed by executing the instruction that memory 602 stores.
It is to be illustrated by taking a processor 601 as an example in Fig. 6, does not limit the quantity of processor 601 actually.
As one embodiment, the determining module 501 in Fig. 5, searching module 502, compression module 503 and coding module 504 can be realized by the processor 601 in Fig. 6.
On the basis of a kind of method for the compression virtual desktop image discussed above, the embodiment of the present application provides a kind of meter Calculation machine readable storage medium storing program for executing, computer-readable recording medium storage have computer instruction, when computer instruction is transported on computers When row, so that the method that computer executes compression virtual desktop image as previously discussed.
It should be understood by those skilled in the art that, embodiments herein can provide as method, system or computer program Product.Therefore, complete hardware embodiment, complete software embodiment or reality combining software and hardware aspects can be used in the application Apply the form of example.Moreover, it wherein includes the computer of computer usable program code that the application, which can be used in one or more, The computer program implemented in usable storage medium (including but not limited to magnetic disk storage, CD-ROM, optical memory etc.) produces The form of product.
The application is referring to method, the process of equipment (system) and computer program product according to the embodiment of the present application Figure and/or block diagram describe.It should be understood that every one stream in flowchart and/or the block diagram can be realized by computer program instructions The combination of process and/or box in journey and/or box and flowchart and/or the block diagram.It can provide these computer programs Instruct the processor of general purpose computer, special purpose computer, Embedded Processor or other programmable data processing devices to produce A raw machine, so that being generated by the instruction that computer or the processor of other programmable data processing devices execute for real The device for the function of being specified in present one or more flows of the flowchart and/or one or more blocks of the block diagram.
These computer program instructions, which may also be stored in, is able to guide computer or other programmable data processing devices with spy Determine in the computer-readable memory that mode works, so that it includes referring to that instruction stored in the computer readable memory, which generates, Enable the manufacture of device, the command device realize in one box of one or more flows of the flowchart and/or block diagram or The function of being specified in multiple boxes.
These computer program instructions also can be loaded onto a computer or other programmable data processing device, so that counting Series of operation steps are executed on calculation machine or other programmable devices to generate computer implemented processing, thus in computer or The instruction executed on other programmable devices is provided for realizing in one or more flows of the flowchart and/or block diagram one The step of function of being specified in a box or multiple boxes.
Although the preferred embodiment of the application has been described, it is created once a person skilled in the art knows basic Property concept, then additional changes and modifications can be made to these embodiments.So it includes excellent that the following claims are intended to be interpreted as It selects embodiment and falls into all change and modification of the application range.
Obviously, those skilled in the art can carry out various modification and variations without departing from the essence of the application to the application Mind and range.In this way, if these modifications and variations of the application belong to the range of the claim of this application and its equivalent technologies Within, then the application is also intended to include these modifications and variations.

Claims (10)

1. a kind of method for compressing virtual desktop image, which is characterized in that be applied in server, which comprises
It determines the corresponding data sequence of virtual desktop image to be transmitted, and the data sequence is divided into the sub- sequence of multiple data Column;Wherein, the data sequence is made of the pixel value of each pixel in the virtual desktop image;
According in the multiple data subsequence in any data subsequence each pixel unit cryptographic Hash, in pixel dictionary Position sequence corresponding with pixel unit each in any data subsequence is searched whether;Wherein, the pixel dictionary Cryptographic Hash and the corresponding position sequence of each pixel unit, the position sequence for caching multiple pixel units are used for Indicate position of the pixel unit in its corresponding data subsequence;
According to the lookup result in the pixel dictionary, the compressed data stream of any data subsequence is obtained;
Coded treatment carried out to the compressed data stream of any data subsequence, and by the sub- sequence of any data after coding The compressed data stream of column is sent to client.
2. the method as described in claim 1, which is characterized in that according to the lookup result in the pixel dictionary, obtain institute State the compressed data stream of any data subsequence, comprising:
If finding position corresponding with the cryptographic Hash of any pixel unit in any data subsequence in pixel dictionary Any pixel unit in any data subsequence is then determined as hitting sequence, the position-order that will be found by sequence Column are determined as the position sequence of any pixel unit in the hit sequence;
If not found in pixel dictionary corresponding with the cryptographic Hash of any pixel unit in any data subsequence Any pixel unit in any data subsequence is then determined as miss sequence by position sequence, and by the miss The pixel dictionary is written in the position sequence of sequence and the miss sequence;
The position sequence in the hit sequence and the miss sequence are combined, the compression of any data subsequence is obtained Data flow.
3. the method as described in claim 1, which is characterized in that the corresponding position-order of each pixel unit in the hit sequence Column include the unique sequence numbers and the pixel unit of the length of pixel unit, the corresponding data subsequence of the pixel unit Deviation post;
Wherein, the deviation post refers to offset of the pixel unit relative to the starting position of its corresponding data subsequence Amount.
4. method as claimed in claim 3, which is characterized in that compiled to the compressed data stream of any data subsequence Code processing, and the compressed data stream of any data subsequence after coding is sent to client, comprising:
It determines within a preset period of time, in the pixel dictionary, highest first pixel unit of access frequency determines described the The corresponding unique sequence numbers of one pixel unit and deviation post, and replace first pixel unit corresponding only with unique identification One sequence number and deviation post;Wherein, the length of the unique identification is less than the corresponding unique sequence code of first pixel unit Number and deviation post total length;
According to the unique identification, the compressed data stream of any data subsequence is encoded, described in after coding The compressed data stream of any data subsequence is sent to client.
5. a kind of device for compressing virtual desktop image, which is characterized in that described device is set in server, described device packet It includes:
Determining module for determining the corresponding data sequence of virtual desktop image to be transmitted, and the data sequence is divided For multiple data subsequences;Wherein, the data sequence is made of the pixel value of each pixel in the virtual desktop image;
Searching module, for according in the multiple data subsequence in any data subsequence each pixel unit Hash Value, has searched whether position sequence corresponding with pixel unit each in any data subsequence in pixel dictionary;Its In, the pixel dictionary is used to cache the cryptographic Hash and the corresponding position sequence of each pixel unit of multiple pixel units, institute Position sequence is stated for indicating position of the pixel unit in its corresponding data subsequence;
Compression module, for obtaining the compression of any data subsequence according to the lookup result in the pixel dictionary Data flow;
Coding module carries out coded treatment for the compressed data stream to any data subsequence, and by the institute after coding The compressed data stream for stating any data subsequence is sent to client.
6. device as claimed in claim 5, which is characterized in that the compression module is specifically used for:
If finding position corresponding with the cryptographic Hash of any pixel unit in any data subsequence in pixel dictionary Any pixel unit in any data subsequence is then determined as hitting sequence by sequence, and the position sequence found is true It is set to the position sequence of any pixel unit in the hit sequence;
If not found in pixel dictionary corresponding with the cryptographic Hash of any pixel unit in any data subsequence Any pixel unit in any data subsequence is then determined as miss sequence by position sequence, and by the miss The pixel dictionary is written in the position sequence of sequence and the miss sequence;
The position sequence in the hit sequence and the miss sequence are combined, the compression of any data subsequence is obtained Data flow.
7. device as claimed in claim 5, which is characterized in that the corresponding position-order of each pixel unit in the hit sequence Column include the unique sequence numbers and the pixel unit of the length of pixel unit, the corresponding data subsequence of the pixel unit Deviation post;
Wherein, the deviation post refers to offset of the pixel unit relative to its corresponding data subsequence starting position Amount.
8. device as claimed in claim 7, which is characterized in that the coding module is specifically used for:
It determines within a preset period of time, in the pixel dictionary, highest first pixel unit of access frequency determines described the The corresponding unique sequence numbers of one pixel unit and deviation post, and replace first pixel unit corresponding only with unique identification One sequence number and deviation post;Wherein, the length of the unique identification is less than the corresponding unique sequence code of first pixel unit Number and deviation post total length;
According to the unique identification, the compressed data stream of any data subsequence is encoded, and by the institute after coding The compressed data stream for stating any data subsequence is sent to client.
9. a kind of device for compressing virtual desktop image, which is characterized in that described device includes:
At least one processor, and
The memory being connect at least one described processor communication;
Wherein, the memory is stored with the instruction that can be executed by least one described processor, at least one described processor Such as method of any of claims 1-4 is realized in instruction by executing the memory storage.
10. a kind of computer readable storage medium, which is characterized in that the computer-readable recording medium storage has computer to refer to It enables, when the computer instruction is run on computers, so that computer is executed as of any of claims 1-4 Method.
CN201910594432.2A 2019-07-03 2019-07-03 Method and device for compressing virtual desktop image Active CN110392262B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910594432.2A CN110392262B (en) 2019-07-03 2019-07-03 Method and device for compressing virtual desktop image

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910594432.2A CN110392262B (en) 2019-07-03 2019-07-03 Method and device for compressing virtual desktop image

Publications (2)

Publication Number Publication Date
CN110392262A true CN110392262A (en) 2019-10-29
CN110392262B CN110392262B (en) 2022-04-26

Family

ID=68286023

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910594432.2A Active CN110392262B (en) 2019-07-03 2019-07-03 Method and device for compressing virtual desktop image

Country Status (1)

Country Link
CN (1) CN110392262B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113365065A (en) * 2021-06-09 2021-09-07 湖南大学 Lossless video coding method and decoding method for RPA robot screen recording

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070085714A1 (en) * 2005-09-30 2007-04-19 Intel Corporation Apparatus, system, and method of data compression
US20130148721A1 (en) * 2011-12-07 2013-06-13 Cisco Technology, Inc. Reference Frame Management for Screen Content Video Coding Using Hash or Checksum Functions
CN103412701A (en) * 2012-11-01 2013-11-27 华为技术有限公司 Method and device for processing remote desktop images
CN104469395A (en) * 2014-12-12 2015-03-25 华为技术有限公司 Image transmission method and device
EP2975771A1 (en) * 2014-07-17 2016-01-20 Phase One A/S A method for selecting starting positions in parallel decoding of a compressed image
CN107145340A (en) * 2017-03-22 2017-09-08 深信服科技股份有限公司 Virtual desktop image transfer method and device
CN109788292A (en) * 2019-01-08 2019-05-21 武汉精立电子技术有限公司 A kind of logical image compression method suitable for display panel detection

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070085714A1 (en) * 2005-09-30 2007-04-19 Intel Corporation Apparatus, system, and method of data compression
US20130148721A1 (en) * 2011-12-07 2013-06-13 Cisco Technology, Inc. Reference Frame Management for Screen Content Video Coding Using Hash or Checksum Functions
CN103412701A (en) * 2012-11-01 2013-11-27 华为技术有限公司 Method and device for processing remote desktop images
EP2975771A1 (en) * 2014-07-17 2016-01-20 Phase One A/S A method for selecting starting positions in parallel decoding of a compressed image
CN104469395A (en) * 2014-12-12 2015-03-25 华为技术有限公司 Image transmission method and device
CN107145340A (en) * 2017-03-22 2017-09-08 深信服科技股份有限公司 Virtual desktop image transfer method and device
CN109788292A (en) * 2019-01-08 2019-05-21 武汉精立电子技术有限公司 A kind of logical image compression method suitable for display panel detection

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BIN LI等: "1-D Dictionary Mode for Screen Content Coding", 《2014 IEEE VISUAL COMMUNICATIONS AND IMAGE PROCESSING (VCIP)》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113365065A (en) * 2021-06-09 2021-09-07 湖南大学 Lossless video coding method and decoding method for RPA robot screen recording
CN113365065B (en) * 2021-06-09 2024-04-26 湖南大学 Lossless video coding method and decoding method for RPA robot screen recording

Also Published As

Publication number Publication date
CN110392262B (en) 2022-04-26

Similar Documents

Publication Publication Date Title
US9479785B2 (en) Image compression with alpha channel data
JP5498783B2 (en) Data compression method
US9853660B1 (en) Techniques for parallel data compression
CN107846597A (en) Data cache method and device for Video Decoder
US20020106019A1 (en) Method and apparatus for implementing motion detection in video compression
CN105933708B (en) A kind of method and apparatus of data compression and decompression
JP2009531976A (en) High-speed data compression based on set associative cache mapping technology
CN103841424B (en) The system and method for compressed data in random access memory
US8688621B2 (en) Systems and methods for information compression
CN111902807A (en) Machine learning applied to texture compression or magnification
CN116233445B (en) Video encoding and decoding processing method and device, computer equipment and storage medium
WO2019080670A1 (en) Gene sequencing data compression method and decompression method, system, and computer readable medium
CN114116635A (en) Parallel decompression of compressed data streams
JP2017530592A (en) Adaptation rate compression hash processing device
CN111061722B (en) Data compression and data decompression method, device and equipment
US20220116634A1 (en) Multi-pixel caching scheme for lossless encoding
CN110392262A (en) A kind of method and device for compressing virtual desktop image
TW201921844A (en) Dictionary-based data compression
CN106937127B (en) Display method and system for intelligent search preparation
CN113630125A (en) Data compression method, data encoding method, data decompression method, data encoding device, data decompression device, electronic equipment and storage medium
CN111178490B (en) Data output method, data acquisition method, data output device, data acquisition device and electronic equipment
US8525708B2 (en) Decoding device and coding method
WO2015147912A1 (en) Variable bit-length reiterative lossless compression system and method
CN110958212B (en) Data compression method, data decompression method, device and equipment
US20150265921A1 (en) Game-Aware Compression Algorithms for Efficient Video Uploads

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20191029

Assignee: Ruijie network (Suzhou) Co.,Ltd.

Assignor: RUIJIE NETWORKS Co.,Ltd.

Contract record no.: X2022350000027

Denomination of invention: A method and device for compressing virtual desktop images

Granted publication date: 20220426

License type: Common License

Record date: 20220817

EE01 Entry into force of recordation of patent licensing contract