一种运动估计方法及装置、服务器及计算机可读存储介质制造方法及图纸

技术编号:22756926 阅读:13 留言:0更新日期:2019-12-07 04:46
本发明专利技术实施例公开了一种运动估计方法及装置、服务器及计算机可读存储介质,用于提供一种快速查找桌面图像各宏块的匹配块的方法,有利于实现较短时间内在参考帧中的全部区域查找最佳匹配块,从而提升桌面图像的压缩效果。本发明专利技术实施例方法包括:获取待传输的桌面图像;对桌面图像按照目标尺寸进行切割,得到多个宏块;从缓存的参考帧中查找与桌面图像的宏块相对应的子图,桌面图像的宏块和与其对应的子图具有相同的尺寸和哈希值;根据桌面图像的宏块和与其对应的子图的位置计算桌面图像的宏块的运动矢量。

A method of motion estimation and its device, server and computer readable storage medium

The embodiment of the invention discloses a motion estimation method and device, a server and a computer readable storage medium, which is used to provide a method for quickly finding matching blocks of each macroblock of a desktop image, which is conducive to finding the best matching block in all areas of a reference frame in a short time, so as to improve the compression effect of the desktop image. The embodiment method of the invention includes: acquiring the desktop image to be transmitted; cutting the desktop image according to the target size to obtain a plurality of macroblocks; finding the subgraph corresponding to the macroblock of the desktop image from the cached reference frame, the macroblock of the desktop image and its corresponding subgraph have the same size and hash value; according to the macroblock of the desktop image and the bit of its corresponding subgraph Set to calculate the motion vector of the macroblock of the desktop image.

【技术实现步骤摘要】
一种运动估计方法及装置、服务器及计算机可读存储介质
本专利技术涉及计算机
,尤其涉及一种运动估计方法及装置、服务器及计算机可读存储介质。
技术介绍
虚拟桌面基于桌面虚拟化技术,而桌面虚拟化依赖于服务器虚拟化,在数据中心的服务器上进行服务器虚拟化,生成大量的独立的桌面操作系统,同时根据专有的虚拟桌面协议发送给终端设备。用户终端通过以太网登录到虚拟主机上,只需要记住用户名、密码以及网关信息,便可以随时随地的通过网络访问自己的桌面系统。虚拟桌面基础架构需要实时传输大量的虚拟桌面图像,在有限的带宽下,如何削减服务器和客户端之间的传输流量成为虚拟桌面技术的关键问题。由于不同帧的桌面图像通常存在较多的冗余数据,因此可以采用去冗余的视频压缩算法对桌面图像进行压缩,以保证图像质量的前提下削减桌面图像的传输流量。运动估计算法是视频压缩编码的核心算法之一,高质量的运动估计算法是高效视频编码的前提和基础。现有的运动估计算法需要计算并比较参考帧中多个块的运动代价,选择运动代价最小的块作为当前宏块的匹配块。由于计算并比较运动代价需要耗费较高算力,耗时较长,并且运动估计所选用的参考帧往往有多帧图像,若到参考帧全范围内查找当前宏块的匹配块,将导致图像压缩过程耗费的算力过大,耗时过长。由于自然物体运动的连续性,运动矢量在时间域也存在一定相关性,因此现有技术提出用邻近参考帧的运动矢量来预测当前帧的运动矢量,并在预测的运动矢量的邻域内查找匹配块。但是与自然物体的运动场景不同,桌面图像中物体运动的连续性通常较差,运动矢量在时间域的相关性很差,在预测的运动矢量的邻域内查找匹配块将难以找到最佳匹配块,而现有的运动估计方法只能实现在参考帧中的某个指定区域内查找匹配块,这将影响桌面图像的压缩效果。
技术实现思路
本专利技术实施例提供了一种运动估计方法及装置、服务器及计算机可读存储介质,用于解决现有的运动估计方法只能实现在参考帧中的某个指定区域内查找匹配块的问题。本专利技术实施例一方面提供一种运动估计方法,包括:获取待传输的桌面图像;对所述桌面图像按照目标尺寸进行切割,得到多个宏块;从缓存的参考帧中查找与所述桌面图像的宏块相对应的子图,所述桌面图像的宏块和与其对应的子图具有相同的尺寸和哈希值;根据所述桌面图像的宏块和与其对应的子图的位置计算所述桌面图像的宏块的运动矢量。可选的,所述从缓存的参考帧中查找与所述桌面图像的宏块相对应的子图包括:分别计算所述桌面图像的所有宏块的哈希值;将所述桌面图像的所有宏块的索引信息进行存储得到第一索引信息库,所述桌面图像的任意一个目标宏块的索引信息包括所述目标宏块的位置和哈希值;采用所述目标尺寸的滑动窗口在所述参考帧中进行滑动,所述滑动窗口的每次滑动得到所述参考帧的一个子图;获取所述滑动窗口当前对应的第一子图;计算所述第一子图的哈希值;在所述第一索引信息库中查找与所述第一子图的哈希值相同的第一宏块的位置。可选的,所述从缓存的参考帧中查找与所述桌面图像的宏块相对应的子图包括:采用所述目标尺寸的滑动窗口在所述参考帧中进行滑动,所述滑动窗口的每次滑动得到所述参考帧的一个子图;分别计算所述参考帧的所有子图的哈希值;将所述参考帧的所有子图的索引信息进行存储得到第二索引信息库,所述参考帧的任意一个目标子图的索引信息包括所述目标子图的位置和哈希值;获取所述桌面图像中当前待处理的第二宏块;计算所述第二宏块的哈希值;在所述第二索引信息库中查找与所述第二宏块的哈希值相同的第二子图的位置。可选的,其特征在于,计算所述桌面图像的宏块的哈希值包括:采用二维增量散列算法计算所述桌面图像的宏块的哈希值;和/或,计算所述参考帧的子图的哈希值包括:采用二维增量散列算法计算所述参考帧的子图的哈希值。可选的,所述根据所述桌面图像的宏块和与其对应的子图的位置计算所述桌面图像的宏块的运动矢量包括:当所述桌面图像的任意一个目标宏块对应于第三子图和第四子图时,分别计算所述目标宏块对应于所述第三子图的第三运动矢量和对应于所述第四子图的第四运动矢量;分别预测所述第三运动矢量和所述第四运动矢量对应的编码码流的长度;选择最短编码码流对应的运动矢量作为所述目标宏块的运动矢量。本专利技术实施例第二方面提供一种运动估计装置,包括:获取模块,用于获取待传输的桌面图像;切割模块,用于对所述桌面图像按照目标尺寸进行切割,得到多个宏块;查找模块,用于从缓存的参考帧中查找与所述桌面图像的宏块相对应的子图,所述桌面图像的宏块和与其对应的子图具有相同的尺寸和哈希值;计算模块,用于根据所述桌面图像的宏块和与其对应的子图的位置计算所述桌面图像的宏块的运动矢量。可选的,所述查找模块具体用于:分别计算所述桌面图像的所有宏块的哈希值;将所述桌面图像的所有宏块的索引信息进行存储得到第一索引信息库,所述桌面图像的任意一个目标宏块的索引信息包括所述目标宏块的位置和哈希值;采用所述目标尺寸的滑动窗口在所述参考帧中进行滑动,所述滑动窗口的每次滑动得到所述参考帧的一个子图;获取所述滑动窗口当前对应的第一子图;计算所述第一子图的哈希值;在所述第一索引信息库中查找与所述第一子图的哈希值相同的第一宏块的位置。可选的,所述查找模块具体用于:采用所述目标尺寸的滑动窗口在所述参考帧中进行滑动,所述滑动窗口的每次滑动得到所述参考帧的一个子图;分别计算所述参考帧的所有子图的哈希值;将所述参考帧的所有子图的索引信息进行存储得到第二索引信息库,所述参考帧的任意一个目标子图的索引信息包括所述目标子图的位置和哈希值;获取所述桌面图像中当前待处理的第二宏块;计算所述第二宏块的哈希值;在所述第二索引信息库中查找与所述第二宏块的哈希值相同的第二子图的位置。可选的,所述查找模块还用于:采用二维增量散列算法计算所述桌面图像的宏块的哈希值;和/或,采用二维增量散列算法计算所述参考帧的子图的哈希值。可选的,当所述桌面图像的任意一个目标宏块对应于第三子图和第四子图时,所述计算模块用于:分别计算所述目标宏块对应于所述第三子图的第三运动矢量和对应于所述第四子图的第四运动矢量;分别预测所述第三运动矢量和所述第四运动矢量对应的编码码流的长度;选择最短编码码流对应的运动矢量作为所述目标宏块的运动矢量。本专利技术实施例的第三方面提供了一种服务器,所述服务器包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如第一方面或第一方面的任意一种可能的实现方式所述方法的步骤。本专利技术实施例的第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面或第一方面的任意一种可能的实现方式所述方法的步骤。...

【技术保护点】
1.一种运动估计方法,其特征在于,包括:/n获取待传输的桌面图像;/n对所述桌面图像按照目标尺寸进行切割,得到多个宏块;/n从缓存的参考帧中查找与所述桌面图像的宏块相对应的子图,所述桌面图像的宏块和与其对应的子图具有相同的尺寸和哈希值;/n根据所述桌面图像的宏块和与其对应的子图的位置计算所述桌面图像的宏块的运动矢量。/n

【技术特征摘要】
1.一种运动估计方法,其特征在于,包括:
获取待传输的桌面图像;
对所述桌面图像按照目标尺寸进行切割,得到多个宏块;
从缓存的参考帧中查找与所述桌面图像的宏块相对应的子图,所述桌面图像的宏块和与其对应的子图具有相同的尺寸和哈希值;
根据所述桌面图像的宏块和与其对应的子图的位置计算所述桌面图像的宏块的运动矢量。


2.根据权利要求1所述的方法,其特征在于,所述从缓存的参考帧中查找与所述桌面图像的宏块相对应的子图包括:
分别计算所述桌面图像的所有宏块的哈希值;
将所述桌面图像的所有宏块的索引信息进行存储得到第一索引信息库,所述桌面图像的任意一个目标宏块的索引信息包括所述目标宏块的位置和哈希值;
采用所述目标尺寸的滑动窗口在所述参考帧中进行滑动,所述滑动窗口的每次滑动得到所述参考帧的一个子图;
获取所述滑动窗口当前对应的第一子图;
计算所述第一子图的哈希值;
在所述第一索引信息库中查找与所述第一子图的哈希值相同的第一宏块的位置。


3.根据权利要求1所述的方法,其特征在于,所述从缓存的参考帧中查找与所述桌面图像的宏块相对应的子图包括:
采用所述目标尺寸的滑动窗口在所述参考帧中进行滑动,所述滑动窗口的每次滑动得到所述参考帧的一个子图;
分别计算所述参考帧的所有子图的哈希值;
将所述参考帧的所有子图的索引信息进行存储得到第二索引信息库,所述参考帧的任意一个目标子图的索引信息包括所述目标子图的位置和哈希值;
获取所述桌面图像中当前待处理的第二宏块;
计算所述第二宏块的哈希值;
在所述第二索引信息库中查找与所述第二宏块的哈希值相同的第二子图的位置。


4.根据权利要求2或3所述的方法,其特征在于,计算所述桌面图像的宏块的哈希值包括:
采用二维增量散列算法计算所述桌面图像的宏块的哈希值;
和/或,
计算所述参考帧的子图的哈希值包括:
采用二维增量散列算法计算所述参考帧的子图的哈希值。


5.根据权利要求4所述的方法,其特征在于,所述根据所述桌面图像的宏块和与其对应的子图的位置计算所述桌面图像的宏块的运动矢量包括:
当所述桌面图像的任意一个目标宏块对应于第三子图和第四子图时,分别计算所述目标宏块对应于所述第...

【专利技术属性】
技术研发人员:罗得安黄忠强
申请(专利权)人:深信服科技股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1