CN115190303A - A cloud desktop image processing method, system and related equipment - Google Patents
A cloud desktop image processing method, system and related equipment Download PDFInfo
- Publication number
- CN115190303A CN115190303A CN202210556395.8A CN202210556395A CN115190303A CN 115190303 A CN115190303 A CN 115190303A CN 202210556395 A CN202210556395 A CN 202210556395A CN 115190303 A CN115190303 A CN 115190303A
- Authority
- CN
- China
- Prior art keywords
- image
- area
- previous frame
- image block
- block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 30
- 230000033001 locomotion Effects 0.000 claims abstract description 71
- 238000000034 method Methods 0.000 claims abstract description 55
- 239000013598 vector Substances 0.000 claims abstract description 47
- 230000005540 biological transmission Effects 0.000 claims abstract description 28
- 230000008859 change Effects 0.000 claims abstract description 18
- 238000004458 analytical method Methods 0.000 claims abstract description 16
- 238000004422 calculation algorithm Methods 0.000 claims description 23
- 238000004364 calculation method Methods 0.000 claims description 14
- 230000006835 compression Effects 0.000 claims description 13
- 238000007906 compression Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 6
- 238000009792 diffusion process Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 description 21
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 7
- 238000010191 image analysis Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000003703 image analysis method Methods 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- 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/17—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 an image region, e.g. an object
- H04N19/176—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 an image region, e.g. an object the region being a block, e.g. a macroblock
-
- 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
- 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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种云端桌面图像处理方法、系统和相关设备。该方法包括:将当前图像划分为多个图像块;基于当前图像和上一帧图像中每个图像块的哈希值,确定当前图像相对于上一帧图像的不变区域和变化区域;基于变化区域中图像块的哈希值,对变化区域的图像块在上一帧图像中进行运动搜索,确定当前图像相对于上一帧图像的移动区域和新增区域,及确定移动区域中图像块相对上一帧图像的运动向量;基于不变区域、移动区域和新增区域确定当前图像需要传输的数据。能够准确分析出图像中的不变区域和变化区域及变化区域的类型,基于分析结果确定传输的数据以减少数据传输量,提高数据传输速度,满足云端桌面图像传输的实时性和低时延要求。
The invention discloses a cloud desktop image processing method, system and related equipment. The method includes: dividing the current image into a plurality of image blocks; based on the hash value of each image block in the current image and the image of the previous frame, determining the invariant area and the change area of the current image relative to the image of the previous frame; Hash value of the image blocks in the changed area, perform motion search for the image blocks in the changed area in the previous frame image, determine the moving area and new area of the current image relative to the previous frame image, and determine the image blocks in the moving area The motion vector relative to the previous frame of image; the data to be transmitted in the current image is determined based on the unchanged area, the moving area and the newly added area. It can accurately analyze the invariant area, change area and type of change area in the image, and determine the transmitted data based on the analysis results to reduce the amount of data transmission, improve the data transmission speed, and meet the real-time and low-latency requirements of cloud desktop image transmission. .
Description
技术领域technical field
本发明涉及图像处理技术领域,特别涉及一种云端桌面图像处理方法、系统和相关设备。The invention relates to the technical field of image processing, in particular to a cloud desktop image processing method, system and related equipment.
背景技术Background technique
云桌面是采用云计算技术替代传统计算机的一种新模式,在云端服务器中虚拟出计算机主机,前端设备主流的是采用轻量级客户机连接显示器和输入设备,在前端设备上安装客户端后通过特有的通信协议访问云端服务器上虚拟的计算机主机来实现交互式操作,达到与传统计算机主机一致的体验效果。云应用是前端设备与云端服务器互动的应用,应用程序在云端服务器上运行,并同步到前端设备上显示。Cloud desktop is a new model that uses cloud computing technology to replace traditional computers. The computer host is virtualized in the cloud server. The mainstream front-end equipment is to use a lightweight client to connect the display and input devices. After installing the client on the front-end device Access the virtual computer host on the cloud server through a unique communication protocol to achieve interactive operation, and achieve the same experience effect as the traditional computer host. A cloud application is an application in which the front-end device interacts with the cloud server. The application runs on the cloud server and is synchronized to the front-end device for display.
使用云桌面和云应用,需要将云端服务器虚拟主机上的云端桌面图像经过压缩编码传到前端设备的本地客户端,以便在前端设备上进行显示。为了提升图像压缩效率,可以利用图像帧与帧之间的相关性,对每帧图像内容进行分析,然后针对不同类型的图像区域采用不同的压缩处理方式,以此来降低数据传输量和减少带宽需求。To use cloud desktop and cloud applications, the cloud desktop image on the virtual host of the cloud server needs to be compressed and encoded to the local client of the front-end device, so that it can be displayed on the front-end device. In order to improve the efficiency of image compression, the correlation between image frames can be used to analyze the image content of each frame, and then different compression processing methods can be used for different types of image areas, so as to reduce the amount of data transmission and bandwidth. need.
现有技术中进行图像分析的方式有两种,一种是利用操作系统抓屏输出的图像变化和运动信息进行分析,另一种是利用开源的计算机视觉框架(例如opencv)做图像分析。There are two ways to perform image analysis in the prior art, one is to analyze image changes and motion information output by the screen capture of the operating system, and the other is to use an open source computer vision framework (such as opencv) to perform image analysis.
发明内容SUMMARY OF THE INVENTION
本申请发明人发现,现有技术中的图像分析方法并不能满足云桌面和云应用低时延和实时性的要求,其中,利用操作系统抓屏的方式,对图像运动、变化的分析并不准确,不能精确获知图像帧的运动、变化情况,导致会产生大量的冗余,使需要传输的数据量变大,不能满足快速传输数据的要求,数据传输时间仍然比较长;利用opencv做图像分析,虽然分析精确度有一定的提高,但其分析过程耗时过大,无法达到云桌面的低时延、实时性的要求。总之,现有技术中并没有比较好的图像分析方法,不能准确的确定出图像帧和帧之间的不变区域、变化区域、运动情况、图像类型等信息,即不能高精度、高准确度的分析出图像变化信息,因此,无法快速、准确地划分不同类型的图像区域以便有针对性的进行压缩处理,无法满足云桌面和云应用在传输时延方面的要求。The inventor of the present application found that the image analysis methods in the prior art cannot meet the requirements of low latency and real-time performance of cloud desktops and cloud applications. Accurate, the movement and changes of the image frame cannot be accurately known, resulting in a large amount of redundancy, which increases the amount of data to be transmitted, cannot meet the requirements of fast data transmission, and the data transmission time is still relatively long; using opencv for image analysis, Although the analysis accuracy has been improved to a certain extent, the analysis process is time-consuming and cannot meet the low-latency and real-time requirements of cloud desktops. In a word, there is no good image analysis method in the prior art, which cannot accurately determine the invariant area, change area, motion situation, image type and other information between image frames, that is, it cannot accurately determine the information such as high precision and high accuracy. Therefore, it is impossible to quickly and accurately divide different types of image areas for targeted compression processing, and it cannot meet the transmission delay requirements of cloud desktops and cloud applications.
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种云端桌面图像处理方法、系统和相关设备。In view of the above problems, the present invention is proposed to provide a cloud desktop image processing method, system and related equipment that overcome the above problems or at least partially solve the above problems.
本发明实施例提供一种云端桌面图像处理方法,包括:An embodiment of the present invention provides a cloud desktop image processing method, including:
将当前图像划分为多个图像块;Divide the current image into multiple image blocks;
基于当前图像中每个图像块的哈希值和上一帧图像中每个图像块的哈希值,确定当前图像相对于上一帧图像的不变区域和变化区域;Based on the hash value of each image block in the current image and the hash value of each image block in the previous frame of image, determine the unchanged area and the changed area of the current image relative to the previous frame of image;
基于变化区域中图像块的哈希值,对变化区域中的图像块在上一帧图像中进行运动搜索,确定当前图像相对于上一帧图像的移动区域和当前图像中的新增区域,以及确定移动区域中图像块相对上一帧图像的运动向量;Based on the hash value of the image blocks in the changing area, perform a motion search for the image blocks in the changing area in the previous frame of image, determine the moving area of the current image relative to the previous frame image and the newly added area in the current image, and Determine the motion vector of the image block in the moving area relative to the previous frame image;
基于当前图像的不变区域、移动区域和新增区域,确定当前图像需要传输的数据。Based on the unchanged area, the moving area and the newly added area of the current image, the data to be transmitted in the current image is determined.
在一些可选的实施例中,所述将当前图像划分为多个图像块,包括:In some optional embodiments, the dividing the current image into multiple image blocks includes:
按照预设的图像块大小,将当前图像划分为大小相等的多个图像块;所述图像块大小根据当前图像的分辨率和配置信息确定。According to the preset image block size, the current image is divided into multiple image blocks of equal size; the image block size is determined according to the resolution and configuration information of the current image.
在一些可选的实施例中,所述基于当前图像中每个图像块的哈希值和上一帧图像中每个图像块的哈希值,确定当前图像相对于上一帧图像的不变区域和变化区域,包括:In some optional embodiments, based on the hash value of each image block in the current image and the hash value of each image block in the previous frame of image, determine the invariance of the current image relative to the previous frame of image Areas and changing areas, including:
计算当前图像中每个图像块的哈希值;Calculate the hash value of each image block in the current image;
将当前图像中的每个图像块分别与上一帧图像中相同位置的图像块进行哈希值比较;Compare the hash value of each image block in the current image with the image block in the same position in the previous frame image;
基于哈希值相同的图像块,确定当前图像相对于上一帧图像的不变区域;Determine the invariant area of the current image relative to the previous frame image based on the image blocks with the same hash value;
基于哈希值不同的图像块,确定当前图像相对于上一帧图像的变化区域。Based on the image blocks with different hash values, determine the change area of the current image relative to the previous frame image.
在一些可选的实施例中,基于变化区域中图像块的哈希值,对变化区域中的图像块在上一帧图像中进行运动搜索,确定当前图像相对于上一帧图像的移动区域和当前图像中的新增区域,以及确定移动区域中图像块相对上一帧图像的运动向量,包括:In some optional embodiments, based on the hash value of the image blocks in the changed area, a motion search is performed for the image blocks in the changed area in the previous frame of image, and the moving area and the moving area of the current image relative to the previous frame of image are determined. The newly added area in the current image, and the motion vector that determines the image block in the moving area relative to the previous frame of image, including:
将变化区域中的图像块作为待匹配图像块,针对每个待匹配图像块,在上一帧图像中搜索进行运动搜索,若在上一帧图像中搜索到具有相同哈希值的匹配图像块,则根据待匹配图像块在当前图像中的位置与匹配图像块在上一帧图像中的位置确定待匹配图像块相对上一帧图像的运动向量;The image blocks in the changed area are used as the image blocks to be matched, and for each image block to be matched, a motion search is performed in the previous frame of image. If a matching image block with the same hash value is found in the previous frame of image , the motion vector of the image block to be matched relative to the previous frame image is determined according to the position of the image block to be matched in the current image and the position of the image block to be matched in the previous frame image;
基于在上一帧图像中具有匹配图像块的待匹配图像块,得到当前图像相对于上一帧图像的移动区域;变化区域中除移动区域外的其他区域作为新增区域。Based on the to-be-matched image blocks with matching image blocks in the previous frame image, the moving area of the current image relative to the previous frame image is obtained; other areas in the changed area except the moving area are used as new areas.
在一些可选的实施例中,基于在上一帧图像中具有匹配图像块的待匹配图像块,得到当前图像相对于上一帧图像的移动区域,包括:In some optional embodiments, based on the to-be-matched image blocks that have matching image blocks in the previous frame of image, the moving area of the current image relative to the previous frame of image is obtained, including:
对于在上一帧图像中具有匹配图像块的待匹配图像块,若其相邻的多个图像块具有相同的运动向量,则以该待匹配图像块为中心向外扩散寻找具有相同运动向量的图像块,形成具有相同运动向量的图像块组;For a to-be-matched image block with a matching image block in the previous frame of image, if its adjacent multiple image blocks have the same motion vector, the image block to be matched is centered on the out-diffusion to find the image block with the same motion vector. image blocks, forming groups of image blocks with the same motion vector;
若得到的图像块组唯一时,则以得到的图像块组作为移动区域;If the obtained image block group is unique, the obtained image block group is used as the moving area;
若得到的图像块组不唯一时,以面积最大的图像块组作为移动区域。If the obtained image block group is not unique, the image block group with the largest area is used as the moving area.
在一些可选的实施例中,还包括:采用下述快速哈希算法计算图像块的哈希值:In some optional embodiments, the method further includes: using the following fast hash algorithm to calculate the hash value of the image block:
针对图像中的每个像素坐标y对应的像素坐标(x,x+N-1)为一个像素元meta,其中N表示图像块的大小为N*N,N为正整数;The pixel coordinate (x, x+N-1) corresponding to each pixel coordinate y in the image is a pixel element meta, where N indicates that the size of the image block is N*N, and N is a positive integer;
根据每个meta包括的N个像素的像素值,计算每个meta的哈希值meta_hash(x,x+N-1;y);According to the pixel values of N pixels included in each meta, calculate the hash value of each meta meta_hash(x, x+N-1; y);
对像素坐标y为起始的连续N个meta的哈希值进行哈希计算,得到像素坐标(x,y)为起始的图像块的哈希值,其中连续N个meta的哈希值包括meta_hash(x,x+N-1;y)、meta_hash(x,x+N-1;y+1)、……、meta_hash(x,x+N-1;y,y+N-1)。Perform hash calculation on the hash values of consecutive N metas starting from pixel coordinate y, and obtain the hash value of the image block starting from pixel coordinate (x, y), where the hash values of consecutive N metas include meta_hash(x, x+N-1; y), meta_hash(x, x+N-1; y+1), ..., meta_hash(x, x+N-1; y, y+N-1).
在一些可选的实施例中,所述确定当前图像需要向前端设备传输的数据,包括:In some optional embodiments, the determining the data that the current image needs to transmit to the front-end device includes:
将移动区域中的图像块相对上一帧图像的运动向量和非移动区域中的图像块的内容数据,作为当前图像需要向前端设备传输的数据。The motion vector of the image block in the moving area relative to the image of the previous frame and the content data of the image block in the non-moving area are taken as the data to be transmitted to the front-end device of the current image.
在一些可选的实施例中,所述确定当前图像相对于上一帧图像的移动区域和当前图像中的新增区域之后,还包括:In some optional embodiments, after determining the moving area of the current image relative to the previous frame of image and the newly added area in the current image, the method further includes:
对新增区域中的数据块进行颜色分析,根据颜色复杂度判断每个数据块的内容数据类型,所述内容数据类型包括文字和图片中的至少一种;相应的,所述确定当前图像需要传输的数据之后,还包括:根据图像块的内容数据类型选择压缩算法,采用选择的压缩算法对内容数据进行压缩;和/或Color analysis is performed on the data blocks in the newly added area, and the content data type of each data block is determined according to the color complexity, and the content data type includes at least one of text and pictures; correspondingly, the determination of the current image requires After the transmitted data, the method further includes: selecting a compression algorithm according to the content data type of the image block, and using the selected compression algorithm to compress the content data; and/or
对移动区域进行修正处理,将移动区域调整为正方形或矩形区域。Correct the moving area and adjust the moving area to a square or rectangular area.
本发明实施例还提供另一种云端桌面图像处理方法,包括:The embodiment of the present invention also provides another cloud desktop image processing method, including:
接收云端服务器传输的当前图像的数据;Receive the data of the current image transmitted by the cloud server;
从接收到的数据中解析出当前图像新增区域中的数据块的内容数据和移动区域中的图像块相对上一帧图像的运动向量;The content data of the data block in the newly added area of the current image and the motion vector of the image block in the moving area relative to the previous frame image are parsed from the received data;
从上一帧图像中获取当前图像不变区域中的图像块的内容数据,以及根据移动区域中的图像块相对上一帧图像的运动向量从上一帧图像中获取移动区域中的图像块的内容数据;Obtain the content data of the image block in the unchanged area of the current image from the image of the previous frame, and obtain the image block in the moving area from the image of the previous frame according to the motion vector of the image block in the moving area relative to the image of the previous frame. content data;
基于解析出的新增区域中的数据块的内容数据、获取的移动区域和不变区域中的图像块的内容数据,生成当前图像。Based on the parsed content data of the data blocks in the newly added area, and the acquired content data of the image blocks in the moving area and the unchanged area, the current image is generated.
在一些可选的实施例中,所述根据移动区域中的图像块相对上一帧图像的运动向量从上一帧图像中获取移动区域中的图像块的内容数据,包括:In some optional embodiments, obtaining the content data of the image block in the moving area from the image of the previous frame according to the motion vector of the image block in the moving area relative to the image of the previous frame, including:
根据移动区域中的图像块在当前图像中的位置上以及相对上一帧图像的运动向量,确定移动区域中的图像块在上一帧图像中位置,根据确定出的位置获取相应图像块的内容数据。According to the position of the image block in the moving area in the current image and the motion vector relative to the previous frame image, determine the position of the image block in the moving area in the previous frame image, and obtain the content of the corresponding image block according to the determined position data.
本发明实施例还提供一种云端服务器,其包括:存储器、处理器及存储于存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的一种云端桌面图像处理方法。An embodiment of the present invention also provides a cloud server, which includes: a memory, a processor, and a computer program stored in the memory and running on the processor, where the processor implements the above-mentioned cloud desktop when executing the program image processing method.
本发明实施例还提供一种前端设备,包括:存储器、处理器及存储于存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的另一种云端桌面图像处理方法。An embodiment of the present invention also provides a front-end device, including: a memory, a processor, and a computer program stored in the memory and running on the processor, the processor implements the above-mentioned another cloud desktop when executing the program image processing method.
本发明实施例还提供一种云端桌面图像传输系统,包括:上述的云端服务器和上述的前端设备;An embodiment of the present invention further provides a cloud desktop image transmission system, including: the above-mentioned cloud server and the above-mentioned front-end device;
所述云端服务器,用于将确定出的传输数据传送给所述前端设备;the cloud server, configured to transmit the determined transmission data to the front-end device;
所述前端设备,用于接收所述云端服务器提供的数据,根据接收到的数据和上一帧图像的数据生成当前图像。The front-end device is configured to receive the data provided by the cloud server, and generate the current image according to the received data and the data of the previous frame of image.
本发明实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现上述的一种云端桌面图像处理方法或上述的另一种云端桌面图像处理方法。Embodiments of the present invention further provide a computer storage medium, where computer-executable instructions are stored in the computer storage medium, and when the computer-executable instructions are executed by a processor, the above-mentioned one cloud desktop image processing method or the above-mentioned other method is implemented. A cloud desktop image processing method.
本发明实施例提供的上述技术方案的有益效果至少包括:The beneficial effects of the above technical solutions provided by the embodiments of the present invention include at least:
本发明实施例提供的上述方法,基于待传输数据的当前图像中每个图像块的哈希值和上一帧图像中每个图像块的哈希值,对图像进行分析,确定出相对于上一帧图像而言,当前图像中没有发生变化的不变区域和发生了变化的变化区域,对变化区域进一步分析,确定出相对于上一帧图像发生了移动的移动区域和当前图像中的新增区域,该方法能够快速、准确的分析出图像中的不变区域、移动区域、新增区域,并针对不变区域、移动区域、新增区域的内容数据采用不同传输处理方式,对不变区域可以直接使用上一帧图像的内容数据不需要进行数据传输,对于移动区域需要传输相对于上一帧图像的运动向量以便确定是上一帧图像中的哪个或哪些图像块的内容数据移动过来的,对于新增区域则需要传输内容数据,该方法能够针对不同区域有针对性的进行数据压缩和传输,尽可能的减少需要传输的数据,减少传输时延,满足云桌面和云应用低时延、高实时性的传输要求。The above method provided by the embodiment of the present invention analyzes the image based on the hash value of each image block in the current image of the data to be transmitted and the hash value of each image block in the previous frame of image, For one frame of image, the unchanged area that has not changed and the changed area that has changed in the current image, and the changed area is further analyzed to determine the moving area that has moved relative to the previous frame of image and the new area in the current image. This method can quickly and accurately analyze the unchanged area, moving area and new area in the image, and adopt different transmission processing methods for the content data of the unchanged area, moving area and new area. The area can directly use the content data of the previous frame image without data transmission. For the moving area, the motion vector relative to the previous frame image needs to be transmitted to determine which image block or content data in the previous frame image is moved. Yes, for new areas, content data needs to be transmitted. This method can compress and transmit data in a targeted manner for different areas, reduce the data to be transmitted as much as possible, reduce transmission delay, and meet the requirements of cloud desktop and cloud applications. Delay and high real-time transmission requirements.
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。Other features and advantages of the present invention will be set forth in the description which follows, and in part will be apparent from the description, or may be learned by practice of the invention. The objectives and other advantages of the invention may be realized and attained by the structure particularly pointed out in the written description, claims, and drawings.
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。The technical solutions of the present invention will be further described in detail below through the accompanying drawings and embodiments.
附图说明Description of drawings
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:The accompanying drawings are used to provide a further understanding of the present invention, and constitute a part of the specification, and are used to explain the present invention together with the embodiments of the present invention, and do not constitute a limitation to the present invention. In the attached image:
图1为本发明实施例一中云端桌面图像处理方法的流程图;1 is a flowchart of a method for processing a cloud desktop image in
图2为本发明实施例一中云端桌面图像处理方法的原理示意图;FIG. 2 is a schematic diagram of the principle of a cloud desktop image processing method in
图3为本发明实施例一中哈希值计算的原理示例图之一;3 is one of the schematic diagrams of the principle of hash value calculation in
图4为本发明实施例一中哈希值计算的原理示例图之二;4 is the second example diagram of the principle of hash value calculation in
图5为本发明实施例二中云端桌面图像处理方法的流程图;5 is a flowchart of a method for processing a cloud desktop image in
图6为本发明实施例中一种云端桌面图像处理装置的结构示意图;6 is a schematic structural diagram of a cloud desktop image processing apparatus according to an embodiment of the present invention;
图7为本发明实施例中另一种云端桌面图像处理装置的结构示意图;7 is a schematic structural diagram of another cloud desktop image processing apparatus according to an embodiment of the present invention;
图8为本发明实施例中云端桌面图像处理系统的结构示意图。FIG. 8 is a schematic structural diagram of a cloud desktop image processing system according to an embodiment of the present invention.
具体实施方式Detailed ways
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be limited by the embodiments set forth herein. Rather, these embodiments are provided so that the present disclosure will be more thoroughly understood, and will fully convey the scope of the present disclosure to those skilled in the art.
为了解决现有技术中云端桌面图像传输过程中,无法快速、准确地划分不同类型的图像区域以便有针对性的进行传输处理的问题,本发明实施例提供一种云端桌面图像处理方法,能够快速、准确的分析出图像中的不变区域、移动区域、新增区域,并针对不变区域、移动区域、新增区域的内容数据采用不同传输处理方式,以满足云桌面和云应用低时延、高实时性的传输要求。下面通过具体的实施例进行详细描述。In order to solve the problem in the prior art that different types of image areas cannot be quickly and accurately divided in the process of cloud desktop image transmission for targeted transmission processing, the embodiment of the present invention provides a cloud desktop image processing method, which can quickly and accurately 、Accurately analyze the unchanged area, moving area and new area in the image, and adopt different transmission processing methods for the content data of the unchanged area, moving area and new area to meet the low latency of cloud desktop and cloud applications , High real-time transmission requirements. The following is a detailed description through specific embodiments.
实施例一Example 1
本发明实施例一提供一种云端桌面图像处理方法,其流程如图1所示,包括如下步骤:
步骤S101:将当前图像划分为多个图像块。Step S101: Divide the current image into multiple image blocks.
对于每帧待传输数据的图像,按照预设的图像块大小,将当前图像划分为大小相等的多个图像块;图像块大小根据当前图像的分辨率和配置信息确定。For each frame of image to be transmitted data, according to the preset image block size, the current image is divided into multiple image blocks of equal size; the image block size is determined according to the resolution and configuration information of the current image.
本实施例提供的云端桌面图像处理方法,其实现原理如图2所示,该步骤属于对当前图像的预处理步骤,对应图2中的块预处理(block pro-processing)步骤,块预处理是指对图像进行图像块划分,可以针对每一帧图像进行图像块的划分,将整帧图像分为若干个大小相等的图像块(block),block大小可以根据分辨率和配置进行调整,也可以根据云桌面、云应用的实际需要进行设置。比如可以设置block的大小为16*16像素、32*32像素等等,后续举例说明时以16*16像素为例。The implementation principle of the cloud desktop image processing method provided in this embodiment is shown in FIG. 2 . This step belongs to the preprocessing step for the current image, and corresponds to the block pro-processing step in FIG. 2 . It refers to the image block division of the image, which can be divided into image blocks for each frame of image, and the entire frame image is divided into several image blocks (blocks) of equal size. The block size can be adjusted according to the resolution and configuration. It can be set according to the actual needs of cloud desktops and cloud applications. For example, the size of the block can be set to 16*16 pixels, 32*32 pixels, etc., and 16*16 pixels will be used as an example in the following examples.
步骤S102:基于当前图像中每个图像块的哈希值和上一帧图像中每个图像块的哈希值,确定当前图像相对于上一帧图像的不变区域和变化区域。Step S102: Based on the hash value of each image block in the current image and the hash value of each image block in the previous frame of image, determine the unchanged area and the changed area of the current image relative to the previous frame of image.
该步骤中,计算当前图像中每个图像块的哈希值;将当前图像中的每个图像块分别与上一帧图像中相同位置的图像块进行哈希值比较;基于哈希值相同的图像块确定当前图像相对于上一帧图像的不变区域;基于哈希值不同的图像块确定当前图像相对于上一帧图像的变化区域。即确定出当前图像中与上一帧图像中相同位置的图像块哈希值相同的部分图像块,得到不变区域;确定出当前图像中与上一帧图像中相同位置的图像块哈希值不相的部分图像块,得到变化区域。In this step, the hash value of each image block in the current image is calculated; the hash value of each image block in the current image is compared with the image block in the same position in the previous frame of image respectively; based on the same hash value The image block determines the unchanged area of the current image relative to the previous frame of image; the image block with different hash values determines the changed area of the current image relative to the previous frame of image. That is to determine the part of the image block in the current image that has the same hash value as the image block in the same position in the previous frame image, and obtain the unchanged area; determine the image block hash value in the current image and the same position in the previous frame image. Part of the image block that is not in phase, get the change area.
可以采用快速哈希算法计算每个图像块的哈希值,对于每帧图像,可以在划分出图像块后就计算出其每个图像块的哈希值,以备后续使用,也可以在进行比较前计算所需要比较的当前图像和上一帧图像中每个图像块的哈希值,通常情况下,前一阵图像中图像块的哈希值在传输上一帧图像的数据之前已经进行了计算,因此,在比较时,计算当前图像中每个图像块的哈希值并获取之前计算的上一帧图像中图像块的哈希值进行比较即可。The fast hash algorithm can be used to calculate the hash value of each image block. For each frame of image, the hash value of each image block can be calculated after the image block is divided for subsequent use, or it can be done during Calculate the hash value of each image block in the current image to be compared with the previous frame image before the comparison. Usually, the hash value of the image block in the previous image has been processed before the data of the previous frame image is transmitted. Therefore, when comparing, it is sufficient to calculate the hash value of each image block in the current image and obtain the previously calculated hash value of the image block in the previous frame of image for comparison.
在进行比较时,比较当前图像中图像块的哈希值和上一帧图像块中相同位置的图像块的哈希值,确定当前图像中的图像块是否发生了变化,若哈希值相同则认为没有发生变化,若哈希值不同,则认为发生了变化,从而确定出当前图像相对于上一帧图像的不变区域和变化区域。不变区域中包括当前图像相对于上一帧图像没有发生变化的图像块,变化区域中包括当前图像相对于上一帧图像发生了变化的图像块。When comparing, compare the hash value of the image block in the current image with the hash value of the image block in the same position in the image block of the previous frame, and determine whether the image block in the current image has changed, if the hash value is the same, then It is considered that no change has occurred, and if the hash values are different, it is considered that a change has occurred, thereby determining the unchanged area and the changed area of the current image relative to the previous frame of image. The unchanged area includes image blocks in which the current image has not changed relative to the previous frame of image, and the changed area includes image blocks in which the current image has changed relative to the previous frame of image.
参见图2中的hash计算(hash calculation)部分和变化区域检测(dirtydetection)部分,对当前图像中每个block与上一帧图像相同位置的block进行hash值对比,确定是否有变化,有变化的block记为变化(dirty)图像块,组成变化区域,没变化的记为不变(skip)图像块,组成不变区域,对于dirty图像块进行运动估计(motionestimation),对于skip图像块则不作处理。Referring to the hash calculation part and the changed area detection (dirty detection) part in Figure 2, compare the hash value of each block in the current image with the block in the same position of the previous frame image to determine whether there is any change or not. The block is recorded as a changed (dirty) image block, which forms a changed area, and the unchanged image block is recorded as a constant (skip) image block, which forms an unchanged area. Motion estimation is performed for the dirty image block, and no processing is performed for the skip image block. .
步骤S103:基于变化区域中图像块的哈希值,对变化区域中的图像块在上一帧图像中进行运动搜索,确定当前图像相对于上一帧图像的移动区域和当前图像中的新增区域,以及确定移动区域中图像块相对上一帧图像的运动向量。Step S103: Based on the hash value of the image block in the changed area, perform a motion search for the image block in the changed area in the previous frame of image, and determine the moving area of the current image relative to the previous frame of image and the newly added image in the current image. area, and determine the motion vector of the image block in the moving area relative to the previous frame image.
将变化区域中的图像块作为待匹配图像块,针对每个待匹配图像块,在上一帧图像中搜索进行运动搜索,若在上一帧图像中搜索到具有相同哈希值的匹配图像块,则根据待匹配图像块在当前图像中的位置与匹配图像块在上一帧图像中的位置确定待匹配图像块相对上一帧图像的运动向量;基于在上一帧图像中具有匹配图像块的待匹配图像块,得到当前图像相对于上一帧图像的移动区域;变化区域中除移动区域外的其他区域作为新增区域。The image blocks in the changed area are used as the image blocks to be matched, and for each image block to be matched, a motion search is performed in the previous frame of image. If a matching image block with the same hash value is found in the previous frame of image , the motion vector of the image block to be matched relative to the previous frame image is determined according to the position of the image block to be matched in the current image and the position of the matching image block in the previous frame image; The image block to be matched is obtained, and the moving area of the current image relative to the image of the previous frame is obtained; other areas in the changed area except the moving area are regarded as the newly added area.
在上一帧图像中进行运动搜索时,可以逐行逐列进行搜索,即从第一行第一列开始,直至搜索到可以形成图像块的最后一行最后一列位置。以N*N像素的图像块为例,N为正整数,针对变化区域中的每个图像块,在上一帧图像中搜索具有相同哈希值的图像块,从第一行第一列开始,以每个位置点(x,y)为起点,形成与待匹配的图像块大小相等的图像块,例如起点位置为(x,y),则每个图像块包括的像素为(x,x+N-1;y,y+N-1),即以(x,y)为起点的N*N的图像块,将变化区域中待匹配的图像块与形成的每个图像块逐一进行匹配,匹配出的哈希值相同的图像块即为待匹配的图像块的匹配图像块。When the motion search is performed in the previous frame of image, the search can be performed row by column, that is, starting from the first row and first column, until the position of the last row and last column that can form an image block is searched. Taking an image block of N*N pixels as an example, N is a positive integer. For each image block in the changing area, search for image blocks with the same hash value in the previous frame of image, starting from the first row and first column , take each position point (x, y) as the starting point to form an image block with the same size as the image block to be matched. For example, the starting point position is (x, y), then the pixels included in each image block are (x, x +N-1; y, y+N-1), that is, the N*N image blocks starting from (x, y), the image blocks to be matched in the change area are matched with each image block formed one by one , the matched image blocks with the same hash value are the matched image blocks of the image blocks to be matched.
对于在上一帧图像中具有匹配图像块的待匹配图像块,若其相邻的多个图像块具有相同的运动向量,则以该待匹配图像块为中心向外扩散寻找具有相同运动向量的图像块,形成具有相同运动向量的图像块组;若得到的图像块组唯一时,则以得到的图像块组作为移动区域;若得到的图像块组不唯一时,以面积最大的图像块组作为移动区域。For a to-be-matched image block with a matching image block in the previous frame of image, if its adjacent multiple image blocks have the same motion vector, the image block to be matched is centered on the out-diffusion to find the image block with the same motion vector. image block, forming an image block group with the same motion vector; if the obtained image block group is unique, the obtained image block group is used as the moving area; if the obtained image block group is not unique, the image block group with the largest area is used as a mobile area.
参见图2中的运动估计(motion estimation),对dirty区域做运动搜索,对当前图像帧的每个dirty块,在上一帧图像中匹配与之相同hash值的block,这两个block的位置之差记为运动向量(motion vector,MV),如果该block相邻的4个block都有唯一匹配的block且运动向量相同,则把该block和MV作为种子block进行扩散搜索,寻找更多有相同MV的block,具有相同MV的block组成图像块组。Referring to the motion estimation in Figure 2, do a motion search for the dirty area, and for each dirty block of the current image frame, match the block with the same hash value in the previous image, and the positions of these two blocks The difference is recorded as a motion vector (MV). If the four adjacent blocks of the block have unique matching blocks and the motion vectors are the same, the block and MV are used as seed blocks for diffusion search to find more Blocks with the same MV and blocks with the same MV form an image block group.
参见图2中的运动向量过滤器(MV filter),对于一个当前图像,有可能得到多个具有相同MV的图像块组,但是由于云桌面和云应用的图像变化,每次只能有一个运动方向,因此需要进行MV过滤,过滤时可以计算各个MV对应的图像块组的区域面积,并找出面积最大图像块组,以其MV作为当前图像中移动区域的MV,并把所有该MV的dirty块记为移动区域的图像块。Referring to the motion vector filter (MV filter) in Figure 2, for a current image, it is possible to obtain multiple image block groups with the same MV, but due to the image changes of the cloud desktop and cloud applications, there can only be one motion at a time Therefore, MV filtering needs to be performed. When filtering, the area area of the image block group corresponding to each MV can be calculated, and the image block group with the largest area can be found, and its MV is used as the MV of the moving area in the current image, and all the dirty MVs The block is denoted as the image block of the moving area.
可选的,对移动区域进行修正处理,将移动区域调整为正方形或矩形区域。为了便于应用层上面处理,将所有dirty块组成的移动区域尽量修正为规则形状,比如矩形或正方形,移动区域只需要传输运动向量,前端设备上的客户端即可根据上一帧图像和运动向量生成当前图像,无需传输具体图像内容数据。Optionally, correcting the moving area is performed to adjust the moving area into a square or rectangular area. In order to facilitate the processing on the application layer, try to correct the moving area composed of all dirty blocks into a regular shape, such as a rectangle or a square. The moving area only needs to transmit the motion vector, and the client on the front-end device can be based on the previous frame image and motion vector. Generates the current image without transferring specific image content data.
步骤S104:基于当前图像的不变区域、移动区域和新增区域,确定当前图像需要传输的数据。Step S104: Determine the data to be transmitted in the current image based on the unchanged area, the moving area and the newly added area of the current image.
根据确定出的当前图像的不变区域、移动区域和新增区域,采用不同的传输处理方式进行处理,对于不变区域中图像块的内容数据可以不传输数据,对于移动区域中的图像块可以只传输运动向量数据,对于新增区域中的图像块则需要传输内容数据,因此,基于当前图像的不变区域、移动区域和新增区域,将移动区域中的图像块相对上一帧图像的运动向量和非移动区域中的图像块的内容数据,作为当前图像需要向前端设备传输的数据。参见图2中的输出(out put)部分。According to the determined unchanged area, moving area and new area of the current image, different transmission processing methods are used for processing. For the content data of the image blocks in the unchanged area, data may not be transmitted, and for the image blocks in the moving area, the data may not be transmitted. Only the motion vector data is transmitted, and the content data needs to be transmitted for the image blocks in the newly added area. Therefore, based on the unchanged area, the moving area and the newly added area of the current image, the image blocks in the moving area are compared with those of the previous frame image. The motion vector and the content data of the image blocks in the non-moving area are the data that the current image needs to transmit to the front-end device. See the output section in Figure 2.
在一些可选的实施例中,确定当前图像相对于上一帧图像的移动区域和当前图像中的新增区域之后,还包括:对新增区域中的数据块进行颜色分析,根据颜色复杂度判断每个数据块的内容数据类型,内容数据类型包括文字和图片中的至少一种;参见图2中的颜色分析(color analysis)部分;相应的,确定当前图像需要传输的数据之后,还包括:根据图像块的内容数据类型选择压缩算法,采用选择的压缩算法对内容数据进行压缩。In some optional embodiments, after determining the moving area of the current image relative to the image of the previous frame and the newly added area in the current image, the method further includes: performing color analysis on the data blocks in the newly added area, according to the color complexity Judging the content data type of each data block, the content data type includes at least one of words and pictures; refer to the color analysis (color analysis) part in Figure 2; Correspondingly, after determining the data that the current image needs to transmit, it also includes : Select the compression algorithm according to the content data type of the image block, and use the selected compression algorithm to compress the content data.
云端服务器确定需要传输的数据后,在传输数据时会对数据进行编码,编码是指通过压缩技术将原始图像转换成比特视频流的过程,对文字区域、图片区域等不同的区域采用不同的压缩算法可以进一步提高压缩效率。After the cloud server determines the data to be transmitted, it encodes the data when transmitting the data. Encoding refers to the process of converting the original image into a bit video stream through compression technology. Different areas such as text areas and picture areas are compressed differently. The algorithm can further improve the compression efficiency.
上述方法中,可以采用快速哈希算法计算每个图像块的哈希值,该由于每帧图像都需要进行哈希计算,计算量非常大,尤其是在运动搜索步骤中,需要逐行逐列的去搜索匹配,即对上一帧图像中的每个像素块(x,x+N-1;y,y+N-1)都要进行哈希值计算,其计算量将更加巨大,因此,本发明提供一种快速哈希算法,以减少整体计算时间满足实时性的需求。In the above method, a fast hash algorithm can be used to calculate the hash value of each image block. Since each frame of image needs to be hashed, the amount of calculation is very large, especially in the motion search step, which needs to be performed row by row and column by column. to search for a match, that is, for each pixel block (x, x+N-1; y, y+N-1) in the previous frame of image, the hash value calculation will be performed, and the calculation amount will be even greater, so , the present invention provides a fast hash algorithm to reduce the overall computing time to meet the real-time requirements.
在运动搜索时,对于当前图像中的一个待匹配的图像块,在上一帧图像中需要逐行逐列进行匹配,因此,对于一个图像可以划分出的每个图像块都需要计算多个哈希值,或者说以上一帧图像中每个像素(x,y)作为起始位置,能形成的图像块都要计算哈希值。During motion search, for an image block to be matched in the current image, it needs to be matched row by row and column by column in the previous frame of image. Therefore, for each image block that can be divided into an image, it is necessary to calculate multiple Hash value, or in other words, each pixel (x, y) in the previous frame of image is used as the starting position, and the hash value is calculated for the image blocks that can be formed.
参见图3所示的,以图像块大小为16*16像素、以图像块的垂直方向为例,在运动搜索时,对于每个图像块中的每个行都要计算一个哈希值(MB hash),即若图像块的像素范围为(x,x+15;y,y+15),则从图像块的起始位置(x,y)开始,需要计算16个MB hash。Referring to Figure 3, taking the image block size of 16*16 pixels and the vertical direction of the image block as an example, during motion search, a hash value (MB) is calculated for each row in each image block. hash), that is, if the pixel range of the image block is (x, x+15; y, y+15), starting from the starting position (x, y) of the image block, 16 MB hashes need to be calculated.
MB_hash(x,x+15;y,y+15)=HASH{rgb(x,y),rgb(x+1,y),…,rgb(x+15,y);rgb(x,y+1),rgb(x+1,y+1),…,rgb(x+15,y+1);……;rgb(x,y+15),rgb(x+1,y+15),…,rgb(x+15,y+15)}MB_hash(x, x+15; y, y+15) = HASH{rgb(x, y), rgb(x+1, y), ..., rgb(x+15, y); rgb(x, y+ 1), rgb(x+1, y+1), …, rgb(x+15, y+1); …; rgb(x, y+15), rgb(x+1, y+15), ...,rgb(x+15,y+15)}
MB_hash(x,x+15,y+1,y+16)=HASH{rgb(x,y),rgb(x+1,y),…,rgb(x+15,y);rgb(x,y+1),rgb(x+1,y+1),…,rgb(x+15,y+1);……;rgb(x,y+15),rgb(x+1,y+15),…,rgb(x+15,y+15)}MB_hash(x, x+15, y+1, y+16) = HASH{rgb(x, y), rgb(x+1, y), ..., rgb(x+15, y); rgb(x, y+1), rgb(x+1, y+1), …, rgb(x+15, y+1); …; rgb(x, y+15), rgb(x+1, y+15 ), ..., rgb(x+15, y+15)}
MB_hash(x,x+15,y+2,y+17)=HASH{rgb(x,y),rgb(x+1,y),…,rgb(x+15,y);rgb(x,y+1),rgb(x+1,y+1),…,rgb(x+15,y+1);……;rgb(x,y+15),rgb(x+1,y+15),…,rgb(x+15,y+15)}MB_hash(x, x+15, y+2, y+17) = HASH{rgb(x, y), rgb(x+1, y), ..., rgb(x+15, y); rgb(x, y+1), rgb(x+1, y+1), …, rgb(x+15, y+1); …; rgb(x, y+15), rgb(x+1, y+15 ), ..., rgb(x+15, y+15)}
……...
MB_hash(x,x+15,y+15,y+30)=HASH{rgb(x,y+15),rgb(x+1,y+15),…,rgb(x+15,y+15),rgb(x,y+16),rgb(x+1,y+16),…,rgb(x+15,y+16);……;rgb(x,y+30),rgb(x+1,y+30),…,rgb(x+15,y+30)}MB_hash(x, x+15, y+15, y+30) = HASH{rgb(x, y+15), rgb(x+1, y+15), ..., rgb(x+15, y+15) ), rgb(x, y+16), rgb(x+1, y+16), …, rgb(x+15, y+16); …; rgb(x, y+30), rgb(x +1, y+30), ..., rgb(x+15, y+30)}
水平方向也是类似的,且图像中的每个图像块都需要进行计算,因此,这种方式运算量巨大,耗时比较高。采用快速哈希算法则可以减少计算量并大大提高计算速度。The horizontal direction is also similar, and each image block in the image needs to be calculated. Therefore, this method requires a huge amount of calculation and is relatively time-consuming. Using a fast hash algorithm can reduce the amount of calculation and greatly improve the calculation speed.
上述方法中,对于每帧图像中预先划分出的图像块和运动搜索过程中每个可能用于匹配的图像块都可以采用下述快速哈希算法计算图像块的哈希值:In the above method, the following fast hash algorithm can be used to calculate the hash value of the image block for the image block pre-divided in each frame of image and each image block that may be used for matching in the motion search process:
针对图像中的每个像素坐标y对应的像素坐标(x,x+N-1)为一个像素元meta,其中N表示图像块的大小为N*N;N为正整数,根据每个meta包括的N个像素的像素值,计算每个meta的哈希值meta_hash(x,x+N-1;y);对像素坐标y为起始的连续N个meta的哈希值进行哈希计算,得到像素坐标(x,y)为起始的图像块的哈希值,其中连续N个meta的哈希值包括meta_hash(x,x+N-1;y)、meta_hash(x,x+N-1;y+1)、……、meta_hash(x,x+N-1;y,y+N-1)。即针对每个图像块,可以先以其中的每行像素为一个像素元计算一个哈希值,在将对各行哈希值进行哈希计算得到图形块的哈希值。The pixel coordinate (x, x+N-1) corresponding to each pixel coordinate y in the image is a pixel meta, where N indicates that the size of the image block is N*N; N is a positive integer, according to each meta including The pixel value of the N pixels, calculate the hash value of each meta meta_hash (x, x+N-1; y); hash the hash value of the consecutive N metas starting from the pixel coordinate y, Get the hash value of the image block starting with pixel coordinates (x, y), where the hash values of consecutive N metas include meta_hash(x, x+N-1; y), meta_hash(x, x+N- 1; y+1), ..., meta_hash(x, x+N-1; y, y+N-1). That is, for each image block, a hash value can be calculated by taking each row of pixels as a pixel element, and then the hash value of the image block can be obtained by hashing the hash values of each row.
参见图4所示的快速哈希算法的原理示意,以图像块大小为16*16像素为例,先定义每个y坐标对应的(x,x+15)像素为一个meta,对每个meta计算meta_hash,然后在对垂直方向的连续16个meta_hash做hash计算,即可以得到MB_hash。Referring to the schematic diagram of the fast hash algorithm shown in Figure 4, taking the image block size of 16*16 pixels as an example, first define the (x, x+15) pixel corresponding to each y coordinate as a meta, and for each meta Calculate meta_hash, and then perform hash calculation on 16 consecutive meta_hash in the vertical direction, that is, MB_hash can be obtained.
meta_hash(x,x+15;y)=HASH{rgb(x,y),rgb(x+1,y),……,rgb(x+15,y)}meta_hash(x, x+15; y)=HASH{rgb(x, y), rgb(x+1, y), ..., rgb(x+15, y)}
meta_hash(x,x+15;y+1)=HASH{rgb(x,y+1),rgb(x+1,y+1),……,rgb(x+15,y+1)}meta_hash(x, x+15; y+1) = HASH{rgb(x, y+1), rgb(x+1, y+1), ..., rgb(x+15, y+1)}
meta_hash(x,x+15,y+2)=HASH{rgb(x,y+2),rgb(x+1,y+2),……,rgb(x+15,y+2)}meta_hash(x, x+15, y+2)=HASH{rgb(x, y+2), rgb(x+1, y+2), ..., rgb(x+15, y+2)}
……...
meta_hash(x,x+15;y+30)=HASH{rgb(x,y+30),rgb(x+1,y+30),……,rgb(x+15,y+30)}meta_hash(x, x+15; y+30) = HASH{rgb(x, y+30), rgb(x+1, y+30), ..., rgb(x+15, y+30)}
然后计算MB_hash:Then calculate MB_hash:
MB_hash(x,x+15,y,y+15)=HASH{meta_hash(x,x+15,y),meta_hash(x,x+15,y+1)……,meta_hash(x,x+15,y+15)}MB_hash(x, x+15, y, y+15) = HASH{meta_hash(x, x+15, y), meta_hash(x, x+15, y+1)..., meta_hash(x, x+15 , y+15)}
MB_hash(x,x+15,y+1,y+16)=HASH{meta_hash(x,x+15;y+1),meta_hash(x,x+15;y+2)……,meta_hash(x,x+15;y+16)}MB_hash(x, x+15, y+1, y+16) = HASH{meta_hash(x, x+15; y+1), meta_hash(x, x+15; y+2)..., meta_hash(x , x+15; y+16)}
……...
MB_hash(x,x+15,y+15,y+30)=HASH{meta_hash(x,x+15;y+15),meta_hash(x,x+15;y+16)……,meta_hash(x,x+15;y+30)}MB_hash(x, x+15, y+15, y+30) = HASH{meta_hash(x, x+15; y+15), meta_hash(x, x+15; y+16)..., meta_hash(x , x+15; y+30)}
上述快速哈希算法,对每个meta hash的计算可以采用SSE/AVX指令加速的hash算法和多线程并行计算,进一步大幅度提升计算性能。SSE/AVX是计算机系统提供的硬件加速指令。For the above fast hash algorithm, the hash algorithm accelerated by SSE/AVX instructions and multi-threaded parallel computing can be used for the calculation of each meta hash, which further greatly improves the computing performance. SSE/AVX are hardware accelerated instructions provided by computer systems.
本实施例的上述方法,可以在云端服务器中实现,对待传输数据的图像进行分析后根据分析结果进行图像数据的传输。该方法基于待传输数据的当前图像中图像块的哈希值,对图像进行分析,确定出相对于上一帧图像而言,当前图像中没有发生变化的不变区域和发生了变化的变化区域,对变化区域进一步分析,确定出相对于上一帧图像发生了移动的移动区域和当前图像中的新增区域,该方法能够快速、准确的分析出图像中的不变区域、移动区域、新增区域,并针对不变区域、移动区域、新增区域的内容数据采用不同传输处理方式,对不变区域可以直接使用上一帧图像的内容数据不需要进行数据传输,对于移动区域需要传输相对于上一帧图像的运动向量以便确定是上一帧图像中的哪个或哪些图像块的内容数据移动过来的,对于新增区域则需要传输内容数据,该方法能够针对不同区域有针对性的进行数据压缩和传输,尽可能的减少需要传输的数据,减少传输时延,满足云桌面和云应用低时延、高实时性的传输要求。通过快速哈希算法、颜色分析以便使用不同的压缩算法等方式可以进一步提高数据处理速度和效率,减少延时。The above method in this embodiment may be implemented in a cloud server, and after analyzing the image of the data to be transmitted, the image data is transmitted according to the analysis result. The method analyzes the image based on the hash value of the image block in the current image of the data to be transmitted, and determines the unchanged area that has not changed and the changed area that has changed in the current image relative to the previous frame of image. , and further analyze the changed area to determine the moving area that has moved relative to the previous frame of image and the newly added area in the current image. This method can quickly and accurately analyze the unchanged area, moving area, new area in the image. In addition, different transmission processing methods are adopted for the content data of the unchanged area, the moving area and the newly added area. The content data of the previous frame image can be directly used for the unchanged area without data transmission, and the moving area needs to be transmitted relatively. It is based on the motion vector of the previous frame of image to determine which image block or content data in the previous frame of image moved, and for the newly added area, the content data needs to be transmitted. This method can be targeted for different areas. Data compression and transmission reduce the data to be transmitted as much as possible, reduce the transmission delay, and meet the low-latency and high-real-time transmission requirements of cloud desktops and cloud applications. The speed and efficiency of data processing can be further improved and the delay can be reduced by means of fast hashing algorithm, color analysis to use different compression algorithms, etc.
实施例二
本发明实施例二提供云端桌面图像处理方法,在前端设备上实现,与配合实施例一所提供的方法相配合,实现对传输的图像数据的接收和处理,以便云端设备上的云桌面、云应用等能够快速、正确的显示云端桌面图像,该方法流程如图2所示,包括如下步骤:The second embodiment of the present invention provides a cloud desktop image processing method, which is implemented on a front-end device, and cooperates with the method provided in the first embodiment to receive and process the transmitted image data, so that the cloud desktop, cloud The application, etc. can quickly and correctly display the cloud desktop image. The method flow is shown in Figure 2, including the following steps:
步骤S201:接收云端服务器传输的当前图像的数据。Step S201: Receive data of the current image transmitted by the cloud server.
云端服务器传输的数据中主要包括当前图像新增区域中的数据块的内容数据和移动区域中的图像块相对上一帧图像的运动向量,可选的,可以指明不变区域,即哪些块是不变区域的图像块,当然也可以不指明,默认为没有传输任何数据的图像块即为不变区域的图像块。The data transmitted by the cloud server mainly includes the content data of the data block in the newly added area of the current image and the motion vector of the image block in the moving area relative to the previous frame image. Of course, the image block of the invariant area may not be specified. By default, the image block that does not transmit any data is the image block of the invariant area.
步骤S202:从接收到的数据中解析出当前图像新增区域中的数据块的内容数据和移动区域中的图像块相对上一帧图像的运动向量。Step S202 : parse out the content data of the data block in the newly added area of the current image and the motion vector of the image block in the moving area relative to the previous frame of image from the received data.
云端服务器在传输数据时会对数据进行编码,前端设备接收到数据后会对接收到的数据进行解码。编码是指通过压缩技术将原始图像转换成比特视频流的过程,解码则是相反的过程。The cloud server encodes the data when transmitting the data, and the front-end device decodes the received data after receiving the data. Encoding refers to the process of converting an original image into a bit video stream through compression techniques, and decoding is the opposite process.
步骤S203:根据移动区域中的图像块相对上一帧图像的运动向量从上一帧图像中获取移动区域中的图像块的内容数据。Step S203: Acquire content data of the image block in the moving area from the image of the previous frame according to the motion vector of the image block in the moving area relative to the image of the previous frame.
该步骤中,根据移动区域中的图像块在当前图像中的位置上以及相对上一帧图像的运动向量,确定移动区域中的图像块在上一帧图像中位置,根据确定出的位置获取相应图像块的内容数据。也就是说,对于移动区域,根据运动向量和移动区域中的图像块在当前图像中的位置,即可得到其在上一帧图像中的位置,获取上一帧图像中相应位置的内容数据即可。In this step, according to the position of the image block in the moving area in the current image and the motion vector relative to the previous frame of image, the position of the image block in the moving area in the previous frame image is determined, and the corresponding image is obtained according to the determined position. The content data of the image block. That is to say, for the moving area, according to the motion vector and the position of the image block in the moving area in the current image, the position of the image block in the previous frame image can be obtained, and the content data of the corresponding position in the previous frame image can be obtained, namely Can.
步骤S204:从上一帧图像中获取当前图像不变区域中的图像块的内容数据。Step S204: Acquire the content data of the image block in the unchanged area of the current image from the image of the previous frame.
对于不变区域,其中的图像块在当前图像中的位置,即为其在上一帧图像中的位置,从上一帧图像中相应位置的内容数据即可。For the unchanged area, the position of the image block in the current image is its position in the previous frame of image, and the content data of the corresponding position in the previous frame of image can be obtained.
上述步骤S203和步骤S204执行步骤不分先后,可以同时执行。The above steps S203 and S204 are executed in no particular order, and may be executed simultaneously.
步骤S205:基于解析出的新增区域中的数据块的内容数据、获取的移动区域和不变区域中的图像块的内容数据,生成当前图像。Step S205: Generate a current image based on the parsed content data of the data blocks in the newly added area, and the acquired content data of the image blocks in the moving area and the unchanged area.
基于图像块的位置,对图像块的内容数据进行渲染,即可生成当前图像。渲染是指图形处理生成和绘制一幅图像的过程。Based on the position of the image block, the current image can be generated by rendering the content data of the image block. Rendering refers to the process of graphics processing to generate and draw an image.
基于同一发明构思,本发明实施例还提供一种云端桌面图像处理装置,该装置可以设置在云端服务器中,该装置的结构如图6所示,包括:Based on the same inventive concept, an embodiment of the present invention also provides a cloud desktop image processing device, which can be set in a cloud server. The structure of the device is shown in FIG. 6 , including:
划分模块11,用于将当前图像划分为多个图像块;The dividing
计算比较模块12,用于基于当前图像中图像块的哈希值,确定当前图像相对于上一帧图像的不变区域和变化区域;The calculation and
运动估计模块13,用于基于变化区域中每个图像块的哈希值和上一帧图像中每个图像块的哈希值,对变化区域中的图像块在上一帧图像中进行运动搜索,确定当前图像相对于上一帧图像的移动区域和当前图像中的新增区域,以及确定移动区域中图像块相对上一帧图像的运动向量;The
数据处理模块14,用于基于当前图像的不变区域、移动区域和新增区域,确定当前图像需要传输的数据。The
基于同一发明构思,本发明实施例还提供另一种云端桌面图像处理装置,该装置可以设置在前端设备中,该装置的结构如图7所示,包括:Based on the same inventive concept, the embodiment of the present invention also provides another cloud desktop image processing device, which can be set in the front-end equipment. The structure of the device is shown in FIG. 7 , including:
数据接收模块21,用于接收云端服务器传输的当前图像的数据;The
数据解析模块22,用于从接收到的数据中解析出当前图像新增区域中的数据块的内容数据和移动区域中的图像块相对上一帧图像的运动向量;The
数据获取模块23,用于从上一帧图像中获取当前图像不变区域中的图像块的内容数据,以及根据移动区域中的图像块相对上一帧图像的运动向量从上一帧图像中获取移动区域中的图像块的内容数据;The
图像生成模块24,用于基于解析出的新增区域中的数据块的内容数据、获取的移动区域和不变区域中的图像块的内容数据,生成当前图像。The
基于同一发明构思,本发明实施例还提供一种云端桌面图像传输系统,包括云端服务器1和前端设备2。云端服务器1和前端设备2都可以有多个,及云端服务器可以采用服务器集群,并允许大量前端设备接入。Based on the same inventive concept, an embodiment of the present invention further provides a cloud desktop image transmission system, including a
在一些可选的实施例中,上述云端服务器1可以包括:存储器、处理器及存储于存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现图1所述的云端桌面图像处理方法。In some optional embodiments, the above-mentioned
在一些可选的实施例中,上述前端设备2可以包括:存储器、处理器及存储于存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现图5所述的云端桌面图像处理方法。In some optional embodiments, the above-mentioned front-
基于同一发明构思,本发明实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现图1所述的云端桌面图像处理方法或图5所述的云端桌面图像处理方法。Based on the same inventive concept, an embodiment of the present invention further provides a computer storage medium, where computer-executable instructions are stored in the computer storage medium, and when the computer-executable instructions are executed by a processor, the cloud desktop image described in FIG. 1 is realized The processing method or the cloud desktop image processing method described in FIG. 5 .
关于上述实施例中的装置和系统,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。Regarding the apparatus and system in the above-mentioned embodiments, the specific manner in which each module performs operations has been described in detail in the embodiments of the method, and will not be described in detail here.
本发明实施例的上述方法、系统和装置,对每帧图像进行块划分,基于块进行图像分析,对每块利用快速哈希算法计算hash值。然后通过比较hash找到有变化的区域和没有变化的区域,并对有变化的区域进行进一步分析,尝试搜索运动区域的运动向量。对非移动的变化区域(即新增区域)进行内容分析,区分图片区域、文字区域。基于块进行分析,可以获得高准确度和高精度的图像变化信息,块的大小可以灵活配置,一次运算即可得到图像变化情况、运动情况、内容信息等,节省了运算资源。该过程以云桌面/云应用抓取的每帧图像作为输入,以当前图像帧的分析结果作为输出,分析结果包括:相对上一帧图像的不变化区域和变化区域,变化区域中的移动区域和运动向量、以及变化区域中的新增区域及新增区域的内容分析结果,通过内容分析结果区分图片区域、文字区域。In the above-mentioned method, system and device of the embodiments of the present invention, each frame of image is divided into blocks, the image is analyzed based on the blocks, and the hash value is calculated for each block by using a fast hash algorithm. Then, by comparing the hash to find the changed area and the area without change, and further analyze the changed area, try to search the motion vector of the moving area. Content analysis is performed on the non-moving changed area (ie, the newly added area), and the image area and the text area are distinguished. Based on block analysis, high-accuracy and high-precision image change information can be obtained. The size of the block can be flexibly configured, and image changes, motion, and content information can be obtained in one operation, saving computing resources. This process takes each frame of image captured by the cloud desktop/cloud application as input, and takes the analysis result of the current image frame as output. The analysis results include: the unchanged area and the changed area relative to the previous frame of image, and the moving area in the changed area. and motion vector, as well as the content analysis result of the newly added area and the newly added area in the changed area, and the image area and the text area are distinguished by the content analysis result.
上述方法是一种图像分析的快速算法,可以利用该算法来精确分析图像帧的变化,获得良好的耗时性能,减少数据传输过程中的延迟,延迟指在云桌面或云应用系统中,用户在前端设备上操作或者输入命令,到收到对应的桌面图像的总耗时。The above method is a fast algorithm for image analysis, which can be used to accurately analyze the changes of image frames, obtain good time-consuming performance, and reduce the delay in the data transmission process. The total time taken from operating or inputting commands on the front-end device to receiving the corresponding desktop image.
除非另外具体陈述,术语比如处理、计算、运算、确定、显示等等可以指一个或更多个处理或者计算系统、或类似设备的动作和/或过程,所述动作和/或过程将表示为处理系统的寄存器或存储器内的物理(如电子)量的数据操作和转换成为类似地表示为处理系统的存储器、寄存器或者其他此类信息存储、发射或者显示设备内的物理量的其他数据。信息和信号可以使用多种不同的技术和方法中的任何一种来表示。例如,在贯穿上面的描述中提及的数据、指令、命令、信息、信号、比特、符号和码片可以用电压、电流、电磁波、磁场或粒子、光场或粒子或者其任意组合来表示。Unless specifically stated otherwise, terms such as processing, computing, operating, determining, displaying, etc. may refer to the acts and/or procedures of one or more processing or computing systems, or similar devices, which acts and/or procedures would be expressed as Data of physical (eg, electronic) quantities within a processing system's registers or memory is manipulated and converted into other data similarly represented as physical quantities within a processing system's memory, registers, or other such information storage, transmission, or display device. Information and signals may be represented using any of a variety of different technologies and methods. For example, data, instructions, commands, information, signals, bits, symbols and chips referred to throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。It is understood that the specific order or hierarchy of steps in the processes disclosed are examples of exemplary approaches. Based upon design preferences, it is understood that the specific order or hierarchy of steps in the processes may be rearranged without departing from the scope of the present disclosure. The accompanying method claims present elements of the various steps in a sample order, and are not meant to be limited to the specific order or hierarchy presented.
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。In the foregoing Detailed Description, various features are grouped together in a single embodiment for the purpose of simplifying the disclosure. This method of disclosure should not be construed as reflecting an intention that embodiments of the claimed subject matter require more features than are expressly recited in each claim. Rather, as the following claims reflect, present invention lies in less than all features of a single disclosed embodiment. Thus, the following claims are hereby expressly incorporated into the Detailed Description, with each claim standing on its own as a separate preferred embodiment of this invention.
本领域技术人员还应当理解,结合本文的实施例描述的各种说明性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或其组合。为了清楚地说明硬件和软件之间的可交换性,上面对各种说明性的部件、框、模块、电路和步骤均围绕其功能进行了一般地描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本公开的保护范围。Those skilled in the art will also appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments herein may be implemented as electronic hardware, computer software, or combinations thereof. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether this functionality is implemented as hardware or software depends on the specific application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, however, such implementation decisions should not be interpreted as a departure from the scope of the present disclosure.
结合本文的实施例所描述的方法或者算法的步骤可直接体现为硬件、由处理器执行的软件模块或其组合。软件模块可以位于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动磁盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质连接至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。该ASIC可以位于用户终端中。当然,处理器和存储介质也可以作为分立组件存在于用户终端中。The steps of a method or algorithm described in connection with the embodiments herein may be directly embodied in hardware, a software module executed by a processor, or a combination thereof. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, removable disk, CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such that the processor can read information from, and write information to, the storage medium. Of course, the storage medium can also be an integral part of the processor. The processor and storage medium may reside in an ASIC. The ASIC may be located in the user terminal. Of course, the processor and the storage medium may also exist in the user terminal as discrete components.
对于软件实现,本申请中描述的技术可用执行本申请所述功能的模块(例如,过程、函数等)来实现。这些软件代码可以存储在存储器单元并由处理器执行。存储器单元可以实现在处理器内,也可以实现在处理器外,在后一种情况下,它经由各种手段以通信方式耦合到处理器,这些都是本领域中所公知的。For a software implementation, the techniques described in this application may be implemented in modules (eg, procedures, functions, etc.) that perform the functions described in this application. These software codes may be stored in a memory unit and executed by a processor. The memory unit may be implemented within the processor or external to the processor, in which case it is communicatively coupled to the processor via various means, as is known in the art.
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。The above description includes examples of one or more embodiments. Of course, it is not possible to describe all possible combinations of components or methods in order to describe the above embodiments, but one of ordinary skill in the art will recognize that further combinations and permutations of the various embodiments are possible. Accordingly, the embodiments described herein are intended to cover all such changes, modifications and variations that fall within the scope of the appended claims. Furthermore, with respect to the term "comprising," as used in the specification or claims, the word is encompassed in a manner similar to the term "comprising," as if "comprising," were construed as a conjunction in the claims. Furthermore, any use of the term "or" in the specification of the claims is intended to mean a "non-exclusive or."
Claims (14)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210556395.8A CN115190303A (en) | 2022-05-19 | 2022-05-19 | A cloud desktop image processing method, system and related equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210556395.8A CN115190303A (en) | 2022-05-19 | 2022-05-19 | A cloud desktop image processing method, system and related equipment |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115190303A true CN115190303A (en) | 2022-10-14 |
Family
ID=83514224
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210556395.8A Pending CN115190303A (en) | 2022-05-19 | 2022-05-19 | A cloud desktop image processing method, system and related equipment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115190303A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116132686A (en) * | 2023-01-10 | 2023-05-16 | 阿里巴巴(中国)有限公司 | Image processing method and computing device |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5969766A (en) * | 1997-07-19 | 1999-10-19 | Daewoo Electronics Co., Ltd | Method and apparatus for contour motion estimating a binary image by using a weighted block match algorithm |
CN102821278A (en) * | 2012-07-27 | 2012-12-12 | 深信服网络科技(深圳)有限公司 | Remote desktop image transmission method and remote desktop image transmission system |
CN104469395A (en) * | 2014-12-12 | 2015-03-25 | 华为技术有限公司 | Image transmission method and device |
US20150146780A1 (en) * | 2013-11-28 | 2015-05-28 | Fujitsu Limited | Video encoder and video encoding method |
CN113573069A (en) * | 2020-04-29 | 2021-10-29 | 阿里巴巴集团控股有限公司 | Video coding and decoding method, device, system and electronic device |
-
2022
- 2022-05-19 CN CN202210556395.8A patent/CN115190303A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5969766A (en) * | 1997-07-19 | 1999-10-19 | Daewoo Electronics Co., Ltd | Method and apparatus for contour motion estimating a binary image by using a weighted block match algorithm |
CN102821278A (en) * | 2012-07-27 | 2012-12-12 | 深信服网络科技(深圳)有限公司 | Remote desktop image transmission method and remote desktop image transmission system |
US20150146780A1 (en) * | 2013-11-28 | 2015-05-28 | Fujitsu Limited | Video encoder and video encoding method |
CN104469395A (en) * | 2014-12-12 | 2015-03-25 | 华为技术有限公司 | Image transmission method and device |
CN113573069A (en) * | 2020-04-29 | 2021-10-29 | 阿里巴巴集团控股有限公司 | Video coding and decoding method, device, system and electronic device |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116132686A (en) * | 2023-01-10 | 2023-05-16 | 阿里巴巴(中国)有限公司 | Image processing method and computing device |
WO2024149299A1 (en) * | 2023-01-10 | 2024-07-18 | 杭州阿里云飞天信息技术有限公司 | Image processing method and computing device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11501507B2 (en) | Motion compensation of geometry information | |
US20230030020A1 (en) | Defining a search range for motion estimation for each scenario frame set | |
TWI543610B (en) | Electronic device and image selection method thereof | |
CN112561978B (en) | Training method of depth estimation network, depth estimation method of image and equipment | |
WO2019042419A1 (en) | Image tracking point acquisition method and device, and storage medium | |
US9875552B1 (en) | Content independent method of motion determination using sparse matrices | |
US20150296180A1 (en) | Real-Time Smart Display Detection System | |
US20200285859A1 (en) | Video summary generation method and apparatus, electronic device, and computer storage medium | |
CN111428568B (en) | Living-body video picture processing method, living-body video picture processing device, computer equipment and storage medium | |
US9208578B2 (en) | Local binary pattern-based optical flow | |
CN110163055A (en) | Gesture identification method, device and computer equipment | |
CN113630609B (en) | Video encoding method, decoding method, storage medium and terminal equipment | |
CN115190303A (en) | A cloud desktop image processing method, system and related equipment | |
CN118506433B (en) | Eye tracking method and system based on pupil shift | |
CN114005063A (en) | Video processing method and device | |
CN110570441B (en) | Ultra-high definition low-delay video control method and system | |
Wu et al. | Hybrid mobile vision for emerging applications | |
CN101860746B (en) | Motion estimation method | |
TWI586144B (en) | Multiple stream processing for video analytics and encoding | |
He et al. | FPGA-based high definition image processing system | |
WO2023142715A1 (en) | Video coding method and apparatus, real-time communication method and apparatus, device, and storage medium | |
CN109493349B (en) | Image feature processing module, augmented reality equipment and corner detection method | |
Zhao et al. | Research on intelligent target detection and coder-decoder technology based on embedded platform | |
US20190304074A1 (en) | Video optimization processing system and method | |
Wu et al. | Deep video compression based on Long-range Temporal Context Learning |
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 |