面向远程终端管控的图像优化传输系统

专利查询2023-2-6  132



1.本发明涉及的是一种计算机远程控制领域的技术,具体是一种基于窗口检测分块缓存的面向远程终端管控的图像优化传输系统。


背景技术:

2.远程终端管控系统通常需要采用远程桌面对设备进行更直观的监视和控制,在远程桌面的实现中,图像的位图信息传输占用了大量的网络带宽。常用的优化方法,一种是利用图像压缩降低图像质量,压缩后的数据传输可以减少网络延迟。另一种是利用图像缓存,发送方和接收方需要同时维护相同的缓存结构,传输时通过访问缓存发现重复数据只需要传递指令信息即可。现有的解决方案通常先采取静态缓存存储预设图像位图信息,然后基于图像分块比较前后两帧进行差值压缩传输。由于采用静态缓存,且缓存对象一般是桌面图像,屏幕在长时间使用操作后缓存命中效果不理想。


技术实现要素:

3.本发明针对现有技术存在的上述不足,提出一种面向远程终端管控的图像优化传输系统,基于窗口检测、分块缓存来减少图像数据传输冗余。
4.本发明是通过以下技术方案实现的:
5.本发明涉及一种面向远程终端管控的图像优化传输系统,包括:位于服务端的窗口检测模块、图像实时处理模块以及数据发送模块和位于客户端的数据接收模块,其中:窗口检测模块基于opencv图像处理方法对窗口应用的矩形框进行识别定位,分块计算哈希值并插入本地分块缓存内容;图像实时处理模块对图像进行差值分块处理并根据分块的hash值进行的缓存访问,即根据设备截屏的前后两帧实时图像的差值分块计算其哈希值,在本地分块缓存内容中查询是否命中;数据发送模块根据命中结果选择对应的图像数据的压缩方式并构造待传输的控制头和数据段后发送至客户端,实现当前图像数据的同步和缓存信息的同步;数据接收模块经解压缩后对其中的缓存信息结合本地缓存内容进行构造,同步缓存并计算出当前屏幕图像内容。
6.所述的识别,通过鼠标按键监听点击事件触发窗口扫描,即由前后两帧图像信息计算出差值变化区域。
7.所述的更新缓存是指:当后台窗口检测模块检测成功时同时新增两部分缓存内容,前帧对窗口区域缓存是存储窗口创建前被覆盖的背景图,窗口关闭时缓存查询命中以快速回滚(bak cache);后帧对窗口区域缓存是缓存新增窗口,后续操作重新打开窗口会触发缓存命中以减少数据传输(cur cache)。
8.所述的图形分块处理是指:将屏幕图像分为16
×
16的256块后,对图像块进行id标号。
9.所述的计算图像分块的哈希是指:将图片原始信息映射到较短的数据串,实现图像的快速比对检索,具体为:通过感知哈希生成算法对单位图像块进行插值、灰度化、dct变
化和量化,生成长度为64位的由0,1组成的一维向量记为该块的内容哈希值后,通过计算汉明距离来计算图像块相似度。
10.优选地,所述的数据发送模块通过二次校验进行重传弥补感知哈希生成算法存在小概率的验错误差。
11.所述的分块缓存是指:缓存窗口检测方法得到的矩形窗口区域定位到所在变化的图像块,之后将更新数据插入该图像块所维护的链式结构中。
12.优选地,所述的分块缓存,采用linkedlist和hashmap的双向链表加哈希缓存结构,该结构包括:用于检索对比缓存图像块的hash值、用于执行替换策略缓存插入时间元信息和数据指针。
13.所述的分块缓存,采用最近最少使用(lru)或者fifo算法。
14.所述的缓存访问包括:

前台图像传输进行预处理时,计算当前时刻前后两帧差值找到变化图像块,根据块id进行缓存访问。缓存命中则传递图像块id+图像块hash,没有命中不进行缓存插入更新,直接传递图像变化块完整数据。是因为变化块缓存未命中表明很可能是窗口的动态内容变化,不具有复现的缓存特性。当进行缓存插入会频繁发生缓存替换,将本应常驻复现的缓存内容替换掉。

后台窗口检测模块处理时,发现检测出矩形窗口,进行缓存访问。缓存命中,则跳过继续,缓存未命中,则进行图像块缓存插入。
15.所述的根据命中结果决定图像压缩方式包括:有损压缩和可逆无损压缩,其中:由窗口检测模块分析出窗口区域位置,窗口区域内作为整体采用有损压缩方式存储,对应的就是缓存命中后的数据发送路径;对于其他区域可以判断是桌面背景图层或者窗口局部动态内容更新,用无损压缩算法rle保证图像的质量,对应的是分块差值的直接传输路径。
16.所述的无损压缩采用但不限于游程编码(rle)来实现,有损压缩采用但不限于jpeg压缩算法实现。技术效果
17.与现有技术相比,由于采用特定的图像缓存和图像压缩方案,本发明数据传输占用网络带宽更小。真实场景使用测试下,基于lru的缓存替换策略下的缓存命中率为37%,实时图像与开源方案对比,网络延迟减少58%。
附图说明
18.图1为实施例中窗口检测模块与数据同步模块工作流程;
19.图2为实施例中实时图像处理模块与数据同步模块工作流程;
20.图3为本发明系统模块示意图。
具体实施方式
21.本实施例涉及一种根据上述系统的面向远程终端管控的图像优化传输方法,包括窗口检测与缓存数据同步阶段和实时图像处理与图像数据同步阶段。
22.如图1所示,所述的窗口检测与缓存数据同步阶段包括:
23.步骤

:服务端远程控制模块监听鼠标按键,当监听鼠标按键有点击操作时,持续时间内(可配置,默认连续20帧内)触发窗口缓存检测模块,连续的两帧图像进行差值计算,去除相似非变化点得出差值图像。
24.步骤

:在变化点中运用图像处理opencv库函数,对canny进行边缘检测或使用多次阈值二值化。
25.步骤

:findcontours函数查找轮廓,使用approxpolydp函数得到多边形轮廓,找到形状为凸的四边形。
26.步骤

:判断轮廓中两两邻接直线夹角余弦(角度在90度)判断符合矩形窗口,在判断长,宽,面积在给定阈值范围大小,则判断该连续区域存在应用窗口。
27.步骤

:如上步矩形窗口检测未成功,则当前流程结束。如检测成功,则分别对前后两帧检测区域(对应bakcache、cur cache)进行图像压缩,有损压缩采用jpeg方法。
28.步骤

:计算图像块hash值,询问内存中的缓存结构,通过块id查找其已有缓存链,如匹配命中缓存块的hash值,则当前流程结束。
29.步骤

:缓存没有命中进行缓存插入,缓存链节点记录当前图像块的hash值,更新时间元信息,以及数据块指针。当缓存链数据已满,触发缓存淘汰算法进行策略替换。同时服务端执行完操作会发送消息,同步客户端建立缓存结构。发送消息头部缓存命中位flag=01,消息数据为压缩后的块数据。
30.如图2所示,所述的实时图像处理与图像数据同步阶段包括:
31.步骤一:远程桌面实时接收设备端传来的实时图像,图像经标准化处理后,分块进行差值计算。
32.步骤二:差值块计算图像块哈希,通过块id访问缓存结构,分别检索块id对应的缓存数据链,匹配存储数据的hash值检测缓存命中。
33.步骤三:缓存没有命中,图像原始数据进行无损压缩,压缩算法采用rle方法。消息头部缓存命中位flag=00,压缩后数据填入消息数据部分。
34.步骤四:缓存命中,则传递控制命令信息,消息头部缓存命中位flag=10,将控制信息(图像差值变化块id+差值块hash值)压缩后填入消息数据部分。
35.步骤五:优化后的图像信息进行数据传输,用户客户端通过读取消息,flag=00,直接解压消息得到图像变化数据。flag=10,根据块id+hash值访问读取客户端缓存值,解压后得到图像变化数据。
36.步骤六:当出现异常情况(服务端,客户端异常重启),客户端缓存和服务端缓存维护数据不一致,客户端接收flag=10找不到主机内存缓存内容,导致步骤五失败。客户端携带原请求头重新请求服务端,服务端解析出块id+块hash的数据,重新发送消息头部缓存命中位flag=01,消息数据为压缩后的块数据。
37.如图3所示,为本实施例涉及的一种实现上述方法的系统,包括:位于服务端的窗口检测模块、图像实时处理模块以及数据发送模块和位于客户端的数据接收模块。经过具体实际实验,服务器在8核64g的linux机下,缓存占用设置最大限额512m,存策略更新选用lru策略,设备端实时图像按照rdp协议传输至服务端(30fps),设备端图像分辨率从800
×
600~1920
×
108010中分辨率场景,其中实时图像处理模块有损压缩选用jpeg算法,无损压缩选用rle算法,在保证图像质量(psnr数值衡量)一定的前提下,图像网络延迟减少约58%。
38.上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所
限,在其范围内的各个实现方案均受本发明之约束。

技术特征:
1.一种面向远程终端管控的图像优化传输系统,其特征在于,包括:位于服务端的窗口检测模块、图像实时处理模块以及数据发送模块和位于客户端的数据接收模块,其中:窗口检测模块基于opencv图像处理方法对窗口应用的矩形框进行识别定位,分块计算哈希值并插入本地分块缓存内容;图像实时处理模块对图像进行差值分块处理并根据分块的hash值进行的缓存访问,即根据设备截屏的前后两帧实时图像的差值分块计算其哈希值,在本地分块缓存内容中查询是否命中;数据发送模块根据命中结果选择对应的图像数据的压缩方式并构造待传输的控制头和数据段后发送至客户端,实现当前图像数据的同步和缓存信息的同步;数据接收模块经解压缩后对其中的缓存信息结合本地缓存内容进行构造,同步缓存并计算出当前屏幕图像内容。2.根据权利要求1所述的面向远程终端管控的图像优化传输系统,其特征是,所述的更新缓存是指:当后台窗口检测模块检测成功时同时新增两部分缓存内容,前帧对窗口区域缓存是存储窗口创建前被覆盖的背景图,窗口关闭时缓存查询命中以快速回滚;后帧对窗口区域缓存是缓存新增窗口,后续操作重新打开窗口会触发缓存命中以减少数据传输。3.根据权利要求1所述的面向远程终端管控的图像优化传输系统,其特征是,所述的计算图像分块的哈希是指:将图片原始信息映射到较短的数据串,实现图像的快速比对检索,具体为:通过感知哈希生成算法对单位图像块进行插值、灰度化、dct变化和量化,生成长度为64位的由0,1组成的一维向量记为该块的内容哈希值后,通过计算汉明距离来计算图像块相似度。4.根据权利要求1所述的面向远程终端管控的图像优化传输系统,其特征是,所述的数据发送模块通过二次校验进行重传弥补感知哈希生成算法存在小概率的验错误差。5.根据权利要求1或4所述的面向远程终端管控的图像优化传输系统,其特征是,所述的分块缓存是指:缓存窗口检测方法得到的矩形窗口区域定位到所在变化的图像块,之后将更新数据插入该图像块所维护的链式结构中。6.根据权利要求1所述的面向远程终端管控的图像优化传输系统,其特征是,所述的分块缓存,采用linkedlist和hashmap的双向链表加哈希缓存结构,该结构包括:用于检索对比缓存图像块的hash值、用于执行替换策略缓存插入时间元信息和数据指针。7.根据权利要求1所述的面向远程终端管控的图像优化传输系统,其特征是,所述的缓存访问包括:

前台图像传输进行预处理时,计算当前时刻前后两帧差值找到变化图像块,根据块id进行缓存访问;当缓存命中则传递图像块id+图像块hash,否则不进行缓存插入更新,直接传递图像变化块完整数据;

后台窗口检测模块处理时,发现检测出矩形窗口,进行缓存访问,当缓存命中,则跳过继续,否则进行图像块缓存插入。8.根据权利要求1所述的面向远程终端管控的图像优化传输系统,其特征是,所述的根据命中结果决定图像压缩方式包括:有损压缩和可逆无损压缩,其中:由窗口检测模块分析出窗口区域位置,窗口区域内作为整体采用有损压缩方式存储,对应的就是缓存命中后的数据发送路径;对于其他区域判断是桌面背景图层或者窗口局部动态内容更新,用无损压缩算法rle保证图像的质量,对应的是分块差值的直接传输路径。9.根据权利要求1~8中任一所述系统的面向远程终端管控的图像优化传输方法,其特征在于,包括:窗口检测与缓存数据同步阶段和实时图像处理与图像数据同步阶段,其中所述的窗口检测与缓存数据同步阶段包括:
步骤

:服务端远程控制模块监听鼠标按键,当监听鼠标按键有点击操作时,持续时间内触发窗口缓存检测模块,连续的两帧图像进行差值计算,去除相似非变化点得出差值图像;步骤

:在变化点中运用图像处理opencv库函数,对canny进行边缘检测或使用多次阈值二值化;步骤

:findcontours函数查找轮廓,使用approxpolydp函数得到多边形轮廓,找到形状为凸的四边形;步骤

:判断轮廓中两两邻接直线夹角余弦判断符合矩形窗口,在判断长,宽,面积在给定阈值范围大小,则判断该连续区域存在应用窗口;步骤

:如上步矩形窗口检测未成功,则当前流程结束;如检测成功,则分别对前后两帧检测区域进行图像压缩;步骤

:计算图像块hash值,询问内存中的缓存结构,通过块id查找其已有缓存链,如匹配命中缓存块的hash值,则当前流程结束;步骤

:缓存没有命中进行缓存插入,缓存链节点记录当前图像块的hash值,更新时间元信息,以及数据块指针;当缓存链数据已满,触发缓存淘汰算法进行策略替换;同时服务端执行完操作会发送消息,同步客户端建立缓存结构;发送消息头部缓存命中位flag=01,消息数据为压缩后的块数据;所述的实时图像处理与图像数据同步阶段包括:步骤一:远程桌面实时接收设备端传来的实时图像,图像经标准化处理后,分块进行差值计算;步骤二:差值块计算图像块哈希,通过块id访问缓存结构,分别检索块id对应的缓存数据链,匹配存储数据的hash值检测缓存命中;步骤三:缓存没有命中,图像原始数据进行无损压缩,压缩算法采用rle方法;消息头部缓存命中位flag=00,压缩后数据填入消息数据部分;步骤四:缓存命中,则传递控制命令信息,消息头部缓存命中位flag=10,将图像差值变化块id+差值块hash值作为控制信息压缩后填入消息数据部分;步骤五:优化后的图像信息进行数据传输,用户客户端通过读取消息,flag=00,直接解压消息得到图像变化数据;flag=10,根据块id+hash值访问读取客户端缓存值,解压后得到图像变化数据。10.根据权利要求9所述的面向远程终端管控的图像优化传输方法,其特征是,当服务端和/或客户端异常重启时、客户端缓存和/或服务端缓存维护数据不一致、客户端接收flag=10找不到主机内存缓存内容时,客户端携带原请求头重新请求服务端,服务端解析出块id+块hash的数据,重新发送消息头部缓存命中位flag=01,消息数据为压缩后的块数据。

技术总结
一种面向远程终端管控的图像优化传输系统,包括:位于服务端的窗口检测模块、图像实时处理模块以及数据发送模块和位于客户端的数据接收模块,其中:后台窗口检测模块识别并提取桌面屏幕图像的窗口计算图像分块的哈希更新缓存,图像实时处理模块对设备实时图像分块处理后进行缓存访问,根据命中结果决定图像压缩方式,数据发送模块将压缩后的图像数据发送至客户端,数据接收模块对图像数据解压缩后结合本地同步的缓存得出当前设备屏幕图像内容。本发明通过窗口检测、分块缓存显著减少图像数据传输冗余。据传输冗余。据传输冗余。


技术研发人员:杨凯迪 吴刚
受保护的技术使用者:上海交通大学
技术研发日:2021.12.02
技术公布日:2022/3/8

最新回复(0)