CN107613370B - 一种采用截屏图像实现局域网屏幕共享的方法 - Google Patents

一种采用截屏图像实现局域网屏幕共享的方法 Download PDF

Info

Publication number
CN107613370B
CN107613370B CN201711023233.3A CN201711023233A CN107613370B CN 107613370 B CN107613370 B CN 107613370B CN 201711023233 A CN201711023233 A CN 201711023233A CN 107613370 B CN107613370 B CN 107613370B
Authority
CN
China
Prior art keywords
image
frame
sub
queue
area
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.)
Active
Application number
CN201711023233.3A
Other languages
English (en)
Other versions
CN107613370A (zh
Inventor
刘志德
朱加品
郭伦
陈淑平
王振刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yantai North Star Automation Technology Co ltd
Original Assignee
Yantai North Star Automation Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yantai North Star Automation Technology Co ltd filed Critical Yantai North Star Automation Technology Co ltd
Priority to CN201711023233.3A priority Critical patent/CN107613370B/zh
Publication of CN107613370A publication Critical patent/CN107613370A/zh
Application granted granted Critical
Publication of CN107613370B publication Critical patent/CN107613370B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种采用截屏图像实现局域网屏幕共享的方法,包括但不限于如下步骤:S1、对截屏产生的图像帧进行分块处理,缓存;S2、保持一个发送队列,待此队列缓存超过m帧后,发送;S3、屏幕截屏图像帧产生后,跟原有图像帧进行区域一对一比对,产生相同区域关联映射列表信息;S4、将区域子图像编码压缩后产生的数据流分段、打包成数据报文,发送;把相同区域关联映射列表信息打包成控制报文发送出去;S5、屏幕共享客户端接收数据报文后,依次将分包数据组装起来,形成区域子图像,再组装成完整的帧图像;将帧图像的区域子图像缓存起来,同样缓存m帧的区域子图像队列和m帧的帧图像队列;接收保存控制报文中帧图像的相同区域关联映射列表信息。

Description

一种采用截屏图像实现局域网屏幕共享的方法
技术领域
本发明涉及计算机屏幕共享技术领域,尤其涉及一种采用截屏图像逐帧传输方法实现的局域网屏幕共享方案的丢帧优化方法。
背景技术
局域网内屏幕共享目前最简单有效地实现方法是通过共享发起端建立服务器;服务器通过抓取屏幕图像,图像按照JPG格式编码,然后压缩图像,最后将屏幕图像数据分成多个数据报文通过组播的方式发送到共享客户端;共享客户端负责接收数据报文后,重新将数据报文解析后组装成截屏图像,然后显示出来。为了减少带宽负载,通常采用组播的方式传输数据报文。这种方法是很多论文中的实现方法;参照《成都信息工程学院学报》2004年03期李鹏付永庆“一种实现局域网内屏幕共享的新方法”,《计算机与现代化》2011年09期汪彦黄雪华涂立“一种改进的应用于机房教学的屏幕共享方案”。
采用截屏图像逐帧传输方法实现屏幕共享的方法具有实现方法简单,可操作性强的特点,但是这种方法对局域网内的网络交换机的性能有比较高的要求;而且当今PC屏幕尺寸越来越大,分辨率越来越高,这种方法让局域网内网络承载更高的网络带宽要求,随之带来的网络报文丢包桌面共享丢帧的问题。
发明内容
本发明针对上述现有技术存在的不足,提供一种采用截屏图像逐帧传输方法实现的局域网屏幕共享方案的丢帧优化方法,解决了以往网络数据丢包导致的无法拼接完成图像帧导致丢帧的问题。
本发明解决上述技术问题的技术方案如下:一种采用截屏图像实现局域网屏幕共享的方法,包括如下步骤:
S1、截屏服务器对截屏产生的图像帧进行分块处理,将其划分为n个区域子图像,缓存起来;
S2、截屏开始后,保持一个发送队列,待此队列缓存超过m帧图像数据后,才进行图像帧的数据报文发送;
S3、每一帧屏幕截屏图像帧产生后,先跟队列中原有的图像帧进行区域一对一地比对,产生一个相同区域关联映射列表信息;
S4、将帧图像的n个区域子图像以JPG格式编码压缩后产生的数据流进行分段、打包成数据报文,然后将数据报文发送出去;同时把该帧图像对应的相同区域关联映射列表信息打包成控制报文发送出去;
S5、屏幕共享客户端在接收数据报文后,依次将分包数据组装起来,形成区域子图像,再组装成完整的帧图像;然后将该帧图像的区域子图像缓存起来,同样缓存m帧的区域子图像队列和m帧的帧图像队列;同时接收保存控制报文中帧图像的相同区域关联映射列表信息;
S6、当屏幕共享客户端帧图像队列超过m帧时将队首图像播放出来,并记下当前播放的帧数Fp;
S7、对于帧数少于Fp+A帧图像帧,其中,A为一个丢帧判断阈值,如果未接收完成,认为该图像帧已经丢失,则利用帧图像的相同区域关联映射列表信息和相邻帧区域子图像将丢帧图像丢失的子区域用其他帧的相同子区域进行修补,尝试生成一张完整图像;如果Pn-1帧和Pn帧相同区域较多,则可以利用Pn-1帧子区域修复p帧;
S8、将修复帧图像放入帧图像队列等待显示。
在上述技术方案的基础上,本发明还可以做如下改进。
优选地,步骤S3中的所述比对为:对于拿来比对的两帧图像Pn和Pn-1,取出帧图像Pn和Pn-1内部的n个区域的子图像对其进行一一比较;新产生帧图像Pn的第1个区域的子图像跟对比帧图像Pn-1第1个区域的子图像进行比较,如果比较相同那么就把这两个子图像的序号1和Pn,Pn-1的帧数Pn和Pn-1分包保存到Pn帧区域序号1的相同帧序号列表中和Pn-1帧区域序号1的相同帧序号列表中。
优选地,所述方法中截屏服务器的逻辑流程包含如下步骤:
S101、开始;
S102、轮询截取屏幕图像;
S103、判断是否“有新帧图像”,若是,则进入S104;若否,则返回S103,再次进行判断;
S104、帧图像划分图像区域;
S105、将每一区域图像与之前m帧同一区域进行比较;
S106、产生帧图像相同区域映射关联列表;
S107、将帧图像子区域放入待发送队列;
S108、发送队列超过一定阈值开始发送列首帧图像;
S109、将帧图像区域子图像按JPG编码压缩后分包发送;
S110、将该图像帧相同区域映射关系列表信息打包发送;
S111、判断是否需要“程序退出”,若是,则进入S112;若否,则返回S103;
S112、结束。
优选地,所述方法中屏幕共享客户端的逻辑流程包含如下步骤:
S201、开始;
S202、轮询接收数据报文;
S203、判断是否“有数据包”,若是,则进入S204;若否,则返回S203,再次进行判断;
S204、将数据报文解析后,尝试生成一个区域子图像;
S205、判断是否“生成子图像帧”,若是,则进入S206;若否,则返回S203;
S206、将子图像缓存,并利用已有缓存图像子区域形成完整图像;
S207、将生成图像帧放入显示队列;
S208、判断是否“显示队列帧数超过阈值”,若是,则进入S209;若否,则返回S203;
S209、取出图像帧播放图像;
S210、判断是否“在播放阈值内存在丢帧”,若是,则进入S211;若否,则返回S203;
S211、根据图像帧相同区域映射关联信息,利用已经接收子区域修复丢帧图像;
S212、判断“是否结束”,若是,则进入S213;若否,则返回S203;
S213、结束。
本发明的有益效果在于:
在不显著增加新的带宽的情况下,利用屏幕截图产生的图像帧之间的关联关系在接收端修复因为丢包无法完整成像的图像帧,由此,降低了丢帧率,提供了屏幕共享的流畅性。
附图说明
图1为本发明的采用截屏图像实现局域网屏幕共享的方法的帧图像区域划分示意图;
图2为本发明的采用截屏图像实现局域网屏幕共享的方法的帧图像区域比较示意图;
图3为本发明的采用截屏图像实现局域网屏幕共享的方法的帧图像相同区域映射关联列表;
图4为本发明的采用截屏图像实现局域网屏幕共享的方法的帧图像子区域接收情况示意图;
图5为本发明的采用截屏图像实现局域网屏幕共享的方法的截屏服务器逻辑流程图;
图6为本发明的采用截屏图像实现局域网屏幕共享的方法的屏幕共享客户端逻辑流程图;
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
对于屏幕共享截屏产生的图像帧,相邻帧的图像有很高的相似性。本发明利用所处理的桌面截屏图像相邻帧图像的相似性的原理,来修补因为数据报文丢失而缺失部分图像数据的图像帧,以实现提升屏幕共享流畅性的目的。
本发明的采用截屏图像实现局域网屏幕共享的方法包括如下步骤:
S1、对截屏产生的图像帧进行分块处理,即,对于一张图片,本发明将其划分为n个区域子图像,请参见图1所示,然后将其缓存起来。
S2、截屏开始后,保持一个发送队列,待此队列缓存超过m帧图像数据后,才进行图像帧的数据报文发送。
S3、每一帧屏幕截屏图像帧产生后,先跟队列中原有的图像帧进行区域一对一地比对,产生一个相同区域关联映射列表信息;
具体的比对为:对于拿来比对的两帧图像Pn和Pn-1,取出帧图像Pn和Pn-1内部的n个区域的子图像对其进行一一比较,举例来讲,新产生帧图像Pn的第1个区域的子图像跟对比帧图像Pn-1第1个区域的子图像进行比较,如果比较相同那么就把这两个子图像的序号1和Pn,Pn-1的帧数Pn和Pn-1分包保存到Pn帧区域序号1的相同帧序号列表中和Pn-1帧区域序号1的相同帧序号列表中,参见图2和图3。
S4、将帧图像的n个区域子图像以JPG格式编码压缩后产生的数据流进行分段、打包成数据报文,然后将数据报文发送出去;同时把该帧图像对应的相同区域关联映射列表信息打包成控制报文发送出去。
S5、屏幕共享客户端在接收数据报文后,依次将分包数据组装起来,形成区域子图像,再组装成完整的帧图像;然后将该帧图像的区域子图像缓存起来,同样缓存m帧的区域子图像队列和m帧的帧图像队列;同时接收保存控制报文中帧图像的相同区域关联映射列表信息。
S6、当屏幕共享客户端帧图像队列超过m帧时将队首图像播放出来,并记下当前播放的帧数Fp。
S7、对于帧数少于Fp+A帧(A为一个丢帧判断阈值)图像帧,如果未接收完成,本发明认为该图像帧已经丢失;这时本发明利用帧图像的相同区域关联映射列表信息和相邻帧区域子图像将丢帧图像丢失的子区域用其他帧的相同子区域进行修补,尝试生成一张完整图像,请参见图4所示,图中带O方块代表该区域接收完成,图中带X方块代表该区域数据丢失;如果Pn-1帧和Pn帧相同区域较多,则可以利用Pn-1帧子区域修复p帧。
S8、将修复帧图像放入帧图像队列等待显示。
下面将结合步骤流程图进行详细的说明——
请先参照图5所示,其为本发明的采用截屏图像实现局域网屏幕共享的方法的截屏服务器逻辑流程图;所述逻辑流程包含如下步骤:
S101、开始;
S102、轮询截取屏幕图像;
S103、判断是否“有新帧图像”,若是(Y),则进入S104;若否(N),则返回S103,再次进行判断;
S104、帧图像划分图像区域;
S105、将每一区域图像与之前m帧同一区域进行比较;
S106、产生帧图像相同区域映射关联列表;
S107、将帧图像子区域放入待发送队列;
S108、发送队列超过一定阈值开始发送列首帧图像;
S109、将帧图像区域子图像按JPG编码压缩后分包发送;
S110、将该图像帧相同区域映射关系列表信息打包发送;
S111、判断是否需要“程序退出”,若是(Y),则进入S112;若否(N),则返回S103;
S112、结束。
由此,截屏服务器结束工作,而后,进入到屏幕共享客户端;请再参照图6所示,其为本发明的采用截屏图像实现局域网屏幕共享的方法的屏幕共享客户端逻辑流程图;所述逻辑流程包含如下步骤:
S201、开始;
S202、轮询接收数据报文;
S203、判断是否“有数据包”,若是(Y),则进入S204;若否(N),则返回S203,再次进行判断;
S204、将数据报文解析后,尝试生成一个区域子图像;
S205、判断是否“生成子图像帧”,若是(Y),则进入S206;若否(N),则返回S203;
S206、将子图像缓存,并利用已有缓存图像子区域形成完整图像;
S207、将生成图像帧放入显示队列;
S208、判断是否“显示队列帧数超过阈值”,若是(Y),则进入S209;若否(N),则返回S203;
S209、取出图像帧播放图像;
S210、判断是否“在播放阈值内存在丢帧”,若是(Y),则进入S211;若否(N),则返回S203;
S211、根据图像帧相同区域映射关联信息,利用已经接收子区域修复丢帧图像;
S212、判断“是否结束”,若是(Y),则进入S213;若否(N),则返回S203;
S213、结束。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.一种采用截屏图像实现局域网屏幕共享的方法,其特征在于,包括如下步骤:
S1、截屏服务器对截屏产生的图像帧进行分块处理,将其划分为n个区域子图像,缓存起来;
S2、截屏开始后,保持一个发送队列,待此队列缓存超过m帧图像数据后,才进行图像帧的数据报文发送;
S3、每一帧屏幕截屏图像帧产生后,先跟队列中原有的图像帧进行区域一对一地比对,产生一个相同区域关联映射列表信息;所述比对为:对于拿来比对的两帧图像Pn和Pn-1,取出帧图像Pn和Pn-1内部的n个区域的子图像对其进行一一比较;新产生帧图像Pn的第1个区域的子图像跟对比帧图像Pn-1第1个区域的子图像进行比较,如果比较相同那么就把这两个子图像的序号1和Pn,Pn-1的帧数Pn和Pn-1分包保存到Pn帧区域序号1的相同帧序号列表中和Pn-1帧区域序号1的相同帧序号列表中;
S4、将帧图像的n个区域子图像以JPG格式编码压缩后产生的数据流进行分段、打包成数据报文,然后将数据报文发送出去;同时把该帧图像对应的相同区域关联映射列表信息打包成控制报文发送出去;
S5、屏幕共享客户端在接收数据报文后,依次将分包数据组装起来,形成区域子图像,再组装成完整的帧图像;然后将该帧图像的区域子图像缓存起来,同样缓存m帧的区域子图像队列和m帧的帧图像队列;同时接收保存控制报文中帧图像的相同区域关联映射列表信息;
S6、当屏幕共享客户端帧图像队列超过m帧时将队首图像播放出来,并记下当前播放的帧数Fp;
S7、对于帧数少于Fp+A帧图像帧,其中,A为一个丢帧判断阈值,如果未接收完成,认为该图像帧已经丢失,则利用帧图像的相同区域关联映射列表信息和相邻帧区域子图像将丢帧图像丢失的子区域用其他帧的相同子区域进行修补,尝试生成一张完整图像;如果Pn-1帧和Pn帧相同区域较多,则可以利用Pn-1帧子区域修复p帧;
S8、将修复帧图像放入帧图像队列等待显示。
2.根据权利要求1所述的采用截屏图像实现局域网屏幕共享的方法,其特征在于,所述方法中截屏服务器的逻辑流程包含如下步骤:
S101、开始;
S102、轮询截取屏幕图像;
S103、判断是否“有新帧图像”,若是,则进入S104;若否,则返回S103,再次进行判断;
S104、帧图像划分图像区域;
S105、将每一区域图像与之前m帧同一区域进行比较;
S106、产生帧图像相同区域映射关联列表;
S107、将帧图像子区域放入待发送队列;
S108、发送队列超过一定阈值开始发送列首帧图像;
S109、将帧图像区域子图像按JPG编码压缩后分包发送;
S110、将该图像帧相同区域映射关系列表信息打包发送;
S111、判断是否需要“程序退出”,若是,则进入S112;若否,则返回S103;
S112、结束。
3.根据权利要求1所述的采用截屏图像实现局域网屏幕共享的方法,其特征在于,所述方法中屏幕共享客户端的逻辑流程包含如下步骤:
S201、开始;
S202、轮询接收数据报文;
S203、判断是否“有数据包”,若是,则进入S204;若否,则返回S203,再次进行判断;
S204、将数据报文解析后,尝试生成一个区域子图像;
S205、判断是否“生成子图像帧”,若是,则进入S206;若否,则返回S203;
S206、将子图像缓存,并利用已有缓存图像子区域形成完整图像;
S207、将生成图像帧放入显示队列;
S208、判断是否“显示队列帧数超过阈值”,若是,则进入S209;若否,则返回S203;
S209、取出图像帧播放图像;
S210、判断是否“在播放阈值内存在丢帧”,若是,则进入S211;若否,则返回S203;
S211、根据图像帧相同区域映射关联信息,利用已经接收子区域修复丢帧图像;
S212、判断“是否结束”,若是,则进入S213;若否,则返回S203;
S213、结束。
4.根据权利要求2所述的采用截屏图像实现局域网屏幕共享的方法,其特征在于,所述方法中屏幕共享客户端的逻辑流程包含如下步骤:
S201、开始;
S202、轮询接收数据报文;
S203、判断是否“有数据包”,若是,则进入S204;若否,则返回S203,再次进行判断;
S204、将数据报文解析后,尝试生成一个区域子图像;
S205、判断是否“生成子图像帧”,若是,则进入S206;若否,则返回S203;
S206、将子图像缓存,并利用已有缓存图像子区域形成完整图像;
S207、将生成图像帧放入显示队列;
S208、判断是否“显示队列帧数超过阈值”,若是,则进入S209;若否,则返回S203;
S209、取出图像帧播放图像;
S210、判断是否“在播放阈值内存在丢帧”,若是,则进入S211;若否,则返回S203;
S211、根据图像帧相同区域映射关联信息,利用已经接收子区域修复丢帧图像;
S212、判断“是否结束”,若是,则进入S213;若否,则返回S203;
S213、结束。
CN201711023233.3A 2017-10-27 2017-10-27 一种采用截屏图像实现局域网屏幕共享的方法 Active CN107613370B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711023233.3A CN107613370B (zh) 2017-10-27 2017-10-27 一种采用截屏图像实现局域网屏幕共享的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711023233.3A CN107613370B (zh) 2017-10-27 2017-10-27 一种采用截屏图像实现局域网屏幕共享的方法

Publications (2)

Publication Number Publication Date
CN107613370A CN107613370A (zh) 2018-01-19
CN107613370B true CN107613370B (zh) 2020-08-14

Family

ID=61080171

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711023233.3A Active CN107613370B (zh) 2017-10-27 2017-10-27 一种采用截屏图像实现局域网屏幕共享的方法

Country Status (1)

Country Link
CN (1) CN107613370B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112764705B (zh) * 2021-01-26 2022-12-02 重庆紫光华山智安科技有限公司 一种用户界面共享方法及电子设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI295438B (en) * 2005-05-11 2008-04-01 Newsoft Technology Corp Method, system and receiving apparatus for transmitting screen frame from one to many terminals
CN102546194B (zh) * 2010-12-24 2015-03-04 联想(北京)有限公司 显示数据处理方法、系统及服务器
CN103248946B (zh) * 2012-02-03 2018-01-30 海尔集团公司 一种视频图像快速传输的方法及系统
CN102821278B (zh) * 2012-07-27 2015-03-11 深信服网络科技(深圳)有限公司 远程桌面图像传输方法及系统
CN104837017B (zh) * 2014-02-10 2019-11-22 深圳富泰宏精密工业有限公司 智能分块图像传输系统及方法
CN105677279B (zh) * 2016-01-08 2018-10-12 全时云商务服务股份有限公司 桌面区域共享方法、系统及相应的共享端和观看端
CN107172376B (zh) * 2017-06-26 2020-04-21 北京奇艺世纪科技有限公司 一种基于屏幕共享的视频编码方法和装置

Also Published As

Publication number Publication date
CN107613370A (zh) 2018-01-19

Similar Documents

Publication Publication Date Title
US10652506B2 (en) High quality multimedia transmission from a mobile device for live and on-demand viewing
CN110430441B (zh) 一种云手机视频采集方法、系统、装置及存储介质
US9172907B2 (en) Method and apparatus for dynamically adjusting aspect ratio of images during a video call
EP3253064A1 (en) Frame loss method for video frame and video sending apparatus
CN101835043B (zh) 基于块编码的带宽自适应桌面共享方法
US9628834B2 (en) Method and system for playback of motion video
US9306987B2 (en) Content message for video conferencing
WO2021139418A1 (zh) 图像处理装置、远端设备及通信系统
CN105338323A (zh) 一种视频监控方法及装置
CN105025347B (zh) 一种gop图像组的发送和接收方法
CN111818295B (zh) 一种图像获取方法及装置
CN109168041B (zh) 一种移动终端监控方法及系统
US9226003B2 (en) Method for transmitting video signals from an application on a server over an IP network to a client device
CN107613370B (zh) 一种采用截屏图像实现局域网屏幕共享的方法
US20120281756A1 (en) Complexity change detection for video transmission system
US20190191196A1 (en) System and method for optimization of video bitrate
EP3468188A1 (en) Method and system for encoding video streams
CN110798700B (zh) 视频处理方法、视频处理装置、存储介质与电子设备
CN112911299A (zh) 一种视频码率控制方法、装置、电子设备和存储介质
KR101291559B1 (ko) 실시간 다중 영상압축 장치 및 방법
CN110572424A (zh) 设备控制方法、装置、电子设备及存储介质
CN113596556B (zh) 视频传输方法、服务器及存储介质
WO2021082799A1 (zh) 一种视频会议辅流处理方法及装置
CN104702970A (zh) 一种同步视频数据的方法、设备及系统
CN108512812B (zh) 一种码流数据生成方法及装置

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