CN101835043A - 基于块编码的带宽自适应桌面共享方法 - Google Patents
基于块编码的带宽自适应桌面共享方法 Download PDFInfo
- Publication number
- CN101835043A CN101835043A CN201010130347A CN201010130347A CN101835043A CN 101835043 A CN101835043 A CN 101835043A CN 201010130347 A CN201010130347 A CN 201010130347A CN 201010130347 A CN201010130347 A CN 201010130347A CN 101835043 A CN101835043 A CN 101835043A
- Authority
- CN
- China
- Prior art keywords
- desktop
- frame
- variation
- data
- zone
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
本发明首先将桌面分割为若干大小相同的块,并以所述块的坐标作为块标识,当桌面中某些区域发生变化时,将上述变化区域所涉及到的块使用桌面压缩方法进行压缩,压缩后的数据组成为一帧,桌面发送端将上述帧传输至服务器端,服务器端为每个接收端设置一个发送队列存储接收到的帧,并向接收端发送,判断所述发送队列中的数据堆积超过预定阀值时,以相邻两帧为单位对发送队列进行合并,重复上述合并过程直到所述数据堆积小于或者等于预定阀值。
Description
技术领域
本发明是一种基于块编码的带宽自适应桌面共享方法,尤其涉及在不同的网络状况下,通过块编码方法和帧合并流控方法,使桌面共享的延迟控制在一定范围内的方法,属于计算机图像处理技术领域。
背景技术
现有桌面共享方法分为两种:1)T.120数据会议中定义的T.128桌面共享协议,以下简称T.120方法。T.120方法是基于桌面编码设计的,例如开源桌面共享软件TightVNC中的Tight编码方法,主要思想是桌面发送端定期向接收端发送探测包,接收端收到探测包,向桌面发送端发送反馈包,桌面发送端根据接收端的反馈,控制桌面发送端采集的帧率和发送的数据量。2)视频会议中定义的H.239双流协议,以下简称H.239方法。H.239方法基于视频编码技术,例如H.263、H.264编码器,将桌面作为视频进行编码,所述桌面数据使用与视频数据类似的流控方法,所述桌面数据以GOP(Group of Picture)为单位,例如一个关键帧I和若干非关键帧P或B,如果服务器端向接收端发送中出现数据堆积,在一个GOP单位内,丢弃部分非关键帧,或者丢弃整个GOP。
现有桌面共享方法存在的一些问题。
T.120方法的问题:基于T.120方法的桌面共享方法比较适合用在一点对一点的环境,对于一点对多点桌面共享的流控问题难以处理;由于所述方法采用接收端反馈进行流控,当多个接收端接收能力不相同时,桌面发送端如何调整使所有接收端都具有良好的接收效果是一个难题。按T.120方法桌面发送端的帧率和发送数据量的改变仅仅适应一个或某一类接收端的网络状况;对于服务器端向多点发送时,由于桌面编码的帧之间是相关的,如果出现数据堆积,丢弃数据将导致显示的图像破碎,而不丢弃数据将导致延迟持续增长。如果采用定时产生全屏帧的方法,将帧之间的相关性限制在一个范围,在全屏帧之间丢弃数据,可以限制最大延迟,但由于全屏帧数据量大,将导致输出码率过高,难以在互联网上传输。
H.239方法的问题:由于视频编码器普遍采用定期产生关键帧的方法,两个关键帧之间帧称为一个GOP,流量控制可以在一个GOP内进行,方法适合于向多点发送中的流量控制。但H.239方法缺点是使用视频编码器压缩桌面数据,对于文字、图形和图像构成的桌面压缩比低,根据统计桌面编码方法有30倍以上的压缩比,而视频编码方法对于桌面仅有10倍压缩比,占用带宽过高,一般在512kbps以上,不适合在互联网使用。
发明内容
本发明的目的是提供一种基于块编码的宽带自适应桌面共享方法,所述方法克服了现有技术中的缺点,结合常见的T.120方法和H.239方法,提出了一种基于块编码的带宽自适应桌面共享方法。在保证高压缩比的前提下,解决了一点对多点桌面共享中的编码和流量控制问题。
为实现上述目的,本发明采用下述的技术方案。其特征在于包括以下步骤:
步骤一,将桌面分割为若干个大小相同的块,并且以所述块的坐标作为块标识,当桌面中某些区域发生变化时,判断所述变化的类型,对于区域内容引起变化,将整个区域作为变化区域,对于区域移动引起的变化,将移动前的区域和移动后的区域均作为变化区域;
步骤二,将上述变化区域所涉及到的块使用桌面编码方法进行压缩,压缩后的数据组成为一帧;
步骤三,桌面发送端将上述压缩后生成的帧传输至服务器端,服务器端为每个接收端设置一个发送队列存储接收到的帧,并向接收端发送;
步骤四,判断所述发送队列中的数据堆积超过预定阈值时,对发送队列中的数据进行合并;所述合并是以相邻两帧为单位,对于所述相邻两帧中块标识相同的块,通过删除其中较早生成的块,将两帧合并为一帧;重复上述合并过程直到所述数据堆积小于或等于预定阈值。
较优的,所述步骤二中桌面编码方法是ZLIB、JPEG、JPEG2000、H.264或TightVNC中的一种或多种。
较优的,所述步骤四中预定阈值是固定值或根据服务器端网络状况动态产生。
有益效果:通过与T.120方法和H.239方法在桌面共享的带宽占用、接收延迟和观看流畅度等方面的对比测试,本文方法在复杂网络环境下具有明显优势。
测试环境:1)网络状况:网络环境为30个测试点,通过路由器限速模拟互联网环境,带宽为1Mbps的10个点,512Kbps的10个点、128Kbps的10个点。2)帧率:桌面的帧率为5fps(帧/秒)。3)桌面内容:包含文档、应用程序和视频引起的桌面内容变化,模拟用户实际使用。
方法对比 | T.120 | H.239(H.264) | 本文 |
带宽 | 128-384kbps | 512-1024kbps | 128-384kbps |
延迟(平均) | 8秒 | 15秒 | 3秒 |
流畅度(接收帧率) | 3-4fps | 1-2fps | 4-5fps |
附图说明
图1分块示意图
图2帧内编码示意图
图3网络传输方法-应用层流程图
图4网络发送方法-网络层流程图
图5帧合并流程图
图6流控示意图
图7帧合并示意图
具体实施方式
本发明实现主要分为两个部分:块编码方法和帧合并流控方法。
块编码方法主要包括块编码方法、桌面变化分类、分块尺寸选择和块压缩方法等部分。
块编码方法:将桌面分割为若干个大小相同的块,例如大小为32×32、64×32和128×32像素的块,并且以所述块坐标作为块标识。当桌面的某块区域发生变化时,将变化区域拓展,与块边界对齐。如图1所示,将桌面变化的区域拓展到虚线框所包含区域。桌面编码以块对齐后的区域为范围,按所述块为单位使用桌面编码方法进行压缩,压缩后的数据组成一帧。
桌面变化分类:桌面变化分为两类,一类是区域内容的变化,如上所述图1中变化;另一类是区域位置移动引起的变化,例如某个区域移动到右下方位置,如图2所示。对于区域位置的移动常用的桌面编码方法使用前一帧内容作为参考,仅对区域移动的坐标进行编码,这种编码方法具有较高的压缩比,但依赖前一帧内容,如果前一帧数据丢失,将导致图像破碎。为了消除帧之间的依赖性,让每一帧数据能够独立传输、显示,对于由区域位置移动引起桌面变化做如下处理、消除帧之间依赖性。如图2所示,对于图中区域位置的改变,将区域的源位置和目标位置均作为变化区域,并按块坐标对齐,在变化区域内以块为单位进行编码。这种方法消除了帧之间的依赖性,对桌面压缩后数据的带宽占用的影响较小,根据统计,改进后编码方法比原有方法最多增加10%的带宽占用。
分块尺寸选择:分块大小的选择可以根据桌面的尺寸进行选择,分块过多导致冗余信息占用带宽过多,不利于网络传输;分块过少导致单个块过大,变化区域块对齐后的区域远大于原始变化区域,导致编码效率过低。例如,对低分辨率桌面例如800×600像素使用较小的块,例如32×32像素,对于高分辨率桌面使用较大的块,例如128×32像素。以下是块尺寸选择的建议表。
屏幕分辨率 | 块大小 |
800×600 | 32×32 |
1024×768 | 64×32 |
1920×1080 | 128×32 |
块压缩方法:对于块的编码可以使用ZLIB,RAR等无损压缩方法,也可使用JPEG,JPE62000等图像有损压缩法。建议使用综合桌面编码,例如类似TightVNC的编码方法,先对图像内容进行分析,根据判断结果,对于文字居多的块使用无损压缩方法,对于图像为主的块使用有损压缩方法。
帧合并流控方法主要包括网络发送方法、流控判断方法、流量控制方法和帧合并方法等部分。
网络发送方法:网络发送分为应用层和网络层,网络层负责尽可能发送数据,应用层根据网络层的发送状况进行处理,如果出现应用层数据堆积,则进行相应的数据丢弃处理。应用层方法流程图,如图3;网络层方法流程图,如图4。
流控判断方法:判断网络数据堆积状态是进行帧合并的依据,可以根据发送队列缓冲帧的数目、缓冲数据的时间,根据发送带宽和缓存的数据计算等信息判断,当缓存数据超过阈值时进行帧合并,阈值可以设置为固定值,也可以根据发送的网络状况动态调整。
流量控制方法:桌面发送端将数据传输至服务器端,所述服务器端为每个接收端设置一个发送队列,所述发送队列以帧为单位存储数据,所述帧有若干变化块组成,所述发送队列接收来自桌面发送端的数据,同时网络层从所述发送队列以帧为单位向多个接收端发送数据。当网络发送码率低于桌面发送端的码率时,将出现发送队列数据堆积。判断所述发送队列数据堆积超过预定阈值时,对发送队列中的数据以相邻两帧为单位进行合并,通过所述合并丢弃桌面内容的变化过程,使接收端的网络延迟控制在一个范围内。帧合并流程如图5所示。
帧合并方法:当发送队列中的数据堆积超过预定阈值时,对所述发送队列中的数据进行合并,所述合并是以相邻两帧为单位,对所述相邻两帧中块标识相同的块,通过删除其中较早生成的块,将两帧合并为一帧;重复上述合并过程直到所述数据堆积小于或等于预定阈值。如图6和图7所示,帧N先与帧B合并,然后再用帧A合并,最后将三帧合并为一帧A。帧合并方法的效率主要取决于查找有无相同块标识的块,可以使用二分法查找方法快速定位。
Claims (3)
1.一种基于块编码的带宽自适应桌面共享方法,包括:
步骤一,将桌面分割为若干个大小相同的块,并且以所述块的坐标作为块标识,当桌面中某些区域发生变化时,判断所述变化的类型,对于区域内容引起变化,将整个区域作为变化区域,对于区域移动引起的变化,将移动前的区域和移动后的区域均作为变化区域;
步骤二,将上述变化区域所涉及到的块使用桌面编码方法进行压缩,压缩后的数据组成为一帧;
步骤三,桌面发送端将上述压缩后生成的帧传输至服务器端,服务器端为每个接收端设置一个发送队列存储接收到的帧,并向接收端发送;
步骤四,判断所述发送队列中的数据堆积超过预定阈值时,对发送队列中的数据进行合并;所述合并是以相邻两帧为单位,对于所述相邻两帧中块标识相同的块,通过删除其中较早生成的块,将两帧合并为一帧;重复上述合并过程直到所述数据堆积小于或等于预定阈值。
2.如权利要求1所述的方法,其特征在于:所述步骤二中桌面编码方法是ZLIB、JPEG、JPEG2000、H.264或TightVNC中的一种或多种。
3.如权利要求1所述的方法,其特征在于:所述步骤四中预定阈值是固定值或根据服务器端网络状况动态产生。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010130347 CN101835043B (zh) | 2010-03-23 | 2010-03-23 | 基于块编码的带宽自适应桌面共享方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010130347 CN101835043B (zh) | 2010-03-23 | 2010-03-23 | 基于块编码的带宽自适应桌面共享方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101835043A true CN101835043A (zh) | 2010-09-15 |
CN101835043B CN101835043B (zh) | 2013-10-09 |
Family
ID=42718946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010130347 Active CN101835043B (zh) | 2010-03-23 | 2010-03-23 | 基于块编码的带宽自适应桌面共享方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101835043B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103248946A (zh) * | 2012-02-03 | 2013-08-14 | 海尔集团公司 | 一种视频图像快速传输的方法及系统 |
US8639673B2 (en) | 2012-03-27 | 2014-01-28 | International Business Machines Corporation | Multiplex classification for tabular data compression |
CN104580308A (zh) * | 2013-10-21 | 2015-04-29 | 中兴通讯股份有限公司 | 虚拟桌面重现、推送的方法、装置及虚拟桌面系统 |
CN106210443A (zh) * | 2016-08-31 | 2016-12-07 | 成都炫境科技有限公司 | 网络控制显示内容同步的方法 |
CN106851015A (zh) * | 2017-03-10 | 2017-06-13 | 广东欧珀移动通信有限公司 | 调整广播消息队列的方法、装置及终端 |
CN106921947A (zh) * | 2017-03-10 | 2017-07-04 | 广东欧珀移动通信有限公司 | 调整广播消息队列的方法、装置及终端 |
CN107181928A (zh) * | 2017-07-21 | 2017-09-19 | 苏睿 | 会议系统及数据传输方法 |
CN108769600A (zh) * | 2018-06-12 | 2018-11-06 | 杭州叙简科技股份有限公司 | 一种基于视频流调帧率的桌面共享系统及其桌面共享方法 |
WO2019015543A1 (zh) * | 2017-07-17 | 2019-01-24 | 中兴通讯股份有限公司 | 一种虚拟桌面数据显示的方法及系统 |
CN111953976A (zh) * | 2020-07-08 | 2020-11-17 | 西安万像电子科技有限公司 | 图像处理方法及装置 |
CN113259668A (zh) * | 2021-07-12 | 2021-08-13 | 全时云商务服务股份有限公司 | 云会议共享桌面动态编码方法、装置、设备及存储介质 |
CN113596449A (zh) * | 2019-06-05 | 2021-11-02 | 西安万像电子科技有限公司 | 图像处理方法及装置 |
WO2022057718A1 (zh) * | 2020-09-16 | 2022-03-24 | 阿里巴巴集团控股有限公司 | 编码调度方法、服务器及客户端和获取远程桌面的系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1630246A (zh) * | 2003-12-15 | 2005-06-22 | 联想(北京)有限公司 | 一种远程桌面获取数据的实现方法 |
-
2010
- 2010-03-23 CN CN 201010130347 patent/CN101835043B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1630246A (zh) * | 2003-12-15 | 2005-06-22 | 联想(北京)有限公司 | 一种远程桌面获取数据的实现方法 |
Non-Patent Citations (1)
Title |
---|
吴婧: "基于块分类的计算机桌面图像压缩算法", 《浙江大学学报》 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103248946A (zh) * | 2012-02-03 | 2013-08-14 | 海尔集团公司 | 一种视频图像快速传输的方法及系统 |
US8639673B2 (en) | 2012-03-27 | 2014-01-28 | International Business Machines Corporation | Multiplex classification for tabular data compression |
US8639672B2 (en) | 2012-03-27 | 2014-01-28 | International Business Machines Corporation | Multiplex classification for tabular data compression |
CN104580308A (zh) * | 2013-10-21 | 2015-04-29 | 中兴通讯股份有限公司 | 虚拟桌面重现、推送的方法、装置及虚拟桌面系统 |
CN106210443B (zh) * | 2016-08-31 | 2019-05-24 | 广东省广告集团股份有限公司 | 网络控制显示内容同步的方法 |
CN106210443A (zh) * | 2016-08-31 | 2016-12-07 | 成都炫境科技有限公司 | 网络控制显示内容同步的方法 |
CN106851015A (zh) * | 2017-03-10 | 2017-06-13 | 广东欧珀移动通信有限公司 | 调整广播消息队列的方法、装置及终端 |
CN106921947B (zh) * | 2017-03-10 | 2020-09-29 | Oppo广东移动通信有限公司 | 调整广播消息队列的方法、装置及终端 |
CN106851015B (zh) * | 2017-03-10 | 2020-09-22 | Oppo广东移动通信有限公司 | 调整广播消息队列的方法、装置及终端 |
CN106921947A (zh) * | 2017-03-10 | 2017-07-04 | 广东欧珀移动通信有限公司 | 调整广播消息队列的方法、装置及终端 |
WO2019015543A1 (zh) * | 2017-07-17 | 2019-01-24 | 中兴通讯股份有限公司 | 一种虚拟桌面数据显示的方法及系统 |
RU2742860C1 (ru) * | 2017-07-17 | 2021-02-11 | Зте Корпорейшн | Способ и система для отображения данных виртуального рабочего стола |
CN107181928A (zh) * | 2017-07-21 | 2017-09-19 | 苏睿 | 会议系统及数据传输方法 |
CN108769600B (zh) * | 2018-06-12 | 2020-07-03 | 杭州叙简科技股份有限公司 | 一种基于视频流调帧率的桌面共享系统及其桌面共享方法 |
CN108769600A (zh) * | 2018-06-12 | 2018-11-06 | 杭州叙简科技股份有限公司 | 一种基于视频流调帧率的桌面共享系统及其桌面共享方法 |
CN113596449A (zh) * | 2019-06-05 | 2021-11-02 | 西安万像电子科技有限公司 | 图像处理方法及装置 |
CN113596449B (zh) * | 2019-06-05 | 2023-11-03 | 西安万像电子科技有限公司 | 图像处理方法及装置 |
CN111953976A (zh) * | 2020-07-08 | 2020-11-17 | 西安万像电子科技有限公司 | 图像处理方法及装置 |
WO2022057718A1 (zh) * | 2020-09-16 | 2022-03-24 | 阿里巴巴集团控股有限公司 | 编码调度方法、服务器及客户端和获取远程桌面的系统 |
CN113259668A (zh) * | 2021-07-12 | 2021-08-13 | 全时云商务服务股份有限公司 | 云会议共享桌面动态编码方法、装置、设备及存储介质 |
CN113259668B (zh) * | 2021-07-12 | 2021-10-08 | 全时云商务服务股份有限公司 | 云会议共享桌面动态编码方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101835043B (zh) | 2013-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101835043B (zh) | 基于块编码的带宽自适应桌面共享方法 | |
CN1671103B (zh) | 数据压缩的方法和装置 | |
DE60211340T2 (de) | Verfahren zur übergabe von media-streams zwischen basisstationen in einem media-streaming system | |
CN108322708B (zh) | 一种基于多路并行传输技术的实时视频传输系统及其方法 | |
CN102204257A (zh) | 低延迟视频编码器 | |
CN102143367A (zh) | 一种纠错校验方法、设备和系统 | |
CN101137060B (zh) | 一种视频传输方法、系统及设备 | |
CN105025347B (zh) | 一种gop图像组的发送和接收方法 | |
CN106210443B (zh) | 网络控制显示内容同步的方法 | |
CN101360058A (zh) | 一种控制缓存溢出的方法及装置 | |
CN108769735A (zh) | 一种网络传输的数据压缩中优化Spice方法 | |
Yao et al. | IPB-frame adaptive mapping mechanism for video transmission over IEEE 802.11 e WLANs | |
RU2673102C2 (ru) | Устройство и способ обработки информации и программа | |
CN1578224A (zh) | 移动专用网络环境中有效发送接收数据的网络设备和方法 | |
CN1816182A (zh) | 一种基站控制器向基站传输数据的方法 | |
CN109587488B (zh) | 一种基于率失真优化和丢帧预测的长参考帧的选取方法 | |
CN102821303A (zh) | 一种像素级视频信息网络实时分级压缩传输方法 | |
US20080267284A1 (en) | Moving picture compression apparatus and method of controlling operation of same | |
CN101035285A (zh) | 一种网络传输中的图像分解及还原方法 | |
CN103378955A (zh) | 数据重传的方法、系统、数据重传装置和数据获取装置 | |
CN103561282A (zh) | 流媒体文件的数据传输方法和装置 | |
Chiou et al. | Content-aware error-resilient transcoding using prioritized intra-refresh for video streaming | |
CN101309259A (zh) | 一种分布式图像显示方法 | |
CN112102144B (zh) | 压缩数据的排布方法、装置和电子设备 | |
CN107613370B (zh) | 一种采用截屏图像实现局域网屏幕共享的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: Room 901, Haidian Science and Technology Building, No. 3 South Street, Zhongguancun, Haidian District, Beijing Patentee after: Digital Fusion (Beijing) Technology Co., Ltd. Address before: Room 901, Haidian Science and Technology Building, No. 3 South Street, Zhongguancun, Haidian District, Beijing Patentee before: Rongdian Network (Beijing) S & T, Inc. |