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 PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/53—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/182—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/184—Methods 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
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.
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)
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)
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 |
-
2019
- 2019-07-03 CN CN201910594432.2A patent/CN110392262B/en active Active
Patent Citations (7)
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)
Title |
---|
BIN LI等: "1-D Dictionary Mode for Screen Content Coding", 《2014 IEEE VISUAL COMMUNICATIONS AND IMAGE PROCESSING (VCIP)》 * |
Cited By (2)
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 |