CN104469400A - 一种基于rfb协议的图像数据压缩方法 - Google Patents

一种基于rfb协议的图像数据压缩方法 Download PDF

Info

Publication number
CN104469400A
CN104469400A CN201410779048.7A CN201410779048A CN104469400A CN 104469400 A CN104469400 A CN 104469400A CN 201410779048 A CN201410779048 A CN 201410779048A CN 104469400 A CN104469400 A CN 104469400A
Authority
CN
China
Prior art keywords
coding
frame
call function
image data
key frame
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
Application number
CN201410779048.7A
Other languages
English (en)
Other versions
CN104469400B (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.)
Inspur Financial Information Technology Co Ltd
Original Assignee
Inspur Software Group 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 Inspur Software Group Co Ltd filed Critical Inspur Software Group Co Ltd
Priority to CN201410779048.7A priority Critical patent/CN104469400B/zh
Publication of CN104469400A publication Critical patent/CN104469400A/zh
Application granted granted Critical
Publication of CN104469400B publication Critical patent/CN104469400B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234309Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440218Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

 本发明公开了一种基于RFB协议的图像数据压缩方法,属于图像数据压缩方法,本发明要解决的技术问题为现有技术中庞大的图像数据要通过网络进行传输时,给用户所带来的延迟感。技术方案为:在服务器端或者在客户端将图像数据帧进行空间化编码,空间化编码方式包括静态编码和动态编码;静态编码是以时间为单位的定量帧编码,静态编码针对的是图像持续快速变化,前后帧内容缺乏一致性的使用环境;动态编码是以帧图像所包含内容为依据的动态帧编码,动态编码所针对的是内容变化频率较低、变化范围相对有限的使用环境。

Description

一种基于RFB协议的图像数据压缩方法
技术领域
本发明涉及一种图像数据压缩方法,具体地说是一种基于RFB协议的图像数据压缩方法。
背景技术
目前,市场上所流行的远程帧缓存(RFB协议)领域所采用的编码方法往往基于前后帧变化的区域而生成相应的帧缓存数据流,数据传输量往往取决于图形变化区域的大小与帧速率。而当画面的变化范围超过某种零界点,又或所变化的区域较为零散时,这种方法将无法有效减少数据的实际传输量。
帧速率相应增大的时候,帧图像之间的变化过程将会不可避免的变得更加细腻,所产生的传输数据也就会相应增加,当这些庞大的数据要通过网络进行传输时,给用户所带来的延迟感也就变得越发严重。
发明内容
本发明的技术任务是针对以上不足之处,提供一种在减少数据传输量的同时提升画面显示的帧速率,从而有效降低图像延迟,提升用户的操作体验的一种基于RFB协议的图像数据压缩方法。
本发明解决其技术问题所采用的技术方案是:
一种基于RFB协议的图像数据压缩方法,在服务器端或者在客户端将图像数据帧进行空间化编码,空间化编码方式包括静态编码和动态编码;静态编码是以时间为单位的定量帧编码,静态编码针对的是图像持续快速变化,前后帧内容缺乏一致性的使用环境;动态编码是以帧图像所包含内容为依据的动态帧编码,动态编码所针对的是内容变化频率较低、变化范围相对有限的使用环境。
在服务器端将图像数据帧进行空间化编码,步骤如下:
步骤1:调用函数SystemInfo()获取系统配置信息,如分辨率,色深等;
步骤2:调用函数SetFramesStep()设置空间编码默认所包含的帧数量;
步骤3:调用函数GetKeyframe()获取初始关键帧;
步骤4:调用函数CatchChangingZone()获取每一帧的变化区域;
步骤5:当抓取的帧计数器达到SetFramesStep()所设置的上限时,调用函数CreateSpaceEncoding(),将所有变化区域编码后发送到客户端;
步骤6:读取变量staticEncoding的值,判断当前模式;
步骤7:若步骤6得到的值为真,则调用GetKeyframe()重置关键帧,否则跳过该步骤;
步骤8:重复步骤3到步骤7的过程,直到步骤6所得到的值为假;
步骤9:读取变量changeRate,并与函数GetChangeRate()所返回的值相比较;
步骤10:若步骤9比较的结果是changeRate的值更大,则重复步骤4到步骤7的过程,否则进入下一步;
步骤11:调用函数GetCacheKeyframe()尝试获取缓存的关键帧;
步骤12:若步骤11返回的值为空,则调用函数SetCacheKeyframe()缓存当前使用的关键帧,然后重复步骤3到步骤7的过程,否则进入下一步;
步骤13:调用函数CompareKeyframe()依次比较当前关键帧与之前缓存关键帧的差异,若存在相同关键帧,则调用函数SetKeyframe()设置该关键帧为当前关键帧,同时向客户端发送该关键帧编号,使其重置当前桌面,否则进入下一步;
步骤14:重复步骤3到步骤7的过程。
在客户端将图像数据帧进行空间化编码,步骤如下:
步骤1:调用函数GetServerInfo()获取服务端的基础参数,如分辨率、色深、默认编码帧数等;
步骤2:调用函数ReadSpaceMessage()读取服务端的消息包类型,若消息类型为SET_KEYFRAME,则使用读取到的关键帧数据重置桌面,否则进入下一步;
步骤3:调用函数SpaceMessageDeconding()解析空间编码数据;
步骤4:调用函数FillFrame()将步骤3获得的数据依次填充到相应位置;
步骤5:重复步骤4的过程,直到将所有帧数据填充完毕;
步骤6:重复步骤2到步骤5的过程。
本发明的一种基于RFB协议的图像数据压缩方法和现有技术相比,具有以下优点:
1、将图像数据帧进行空间化编码的解决方案,通过该方案,计算机可以最大限度的压缩多个帧图像之间的共同区域,并可以将那些产生变化的区域进行分拆后独立编码,而且这种编码的细粒度可以精确到桌面像素级别,从而最大程度上减少冗余数据的数量;
2、本将RFB协议中的帧缓存数据以时间坐标轴为序进行排列,将每一个像素的变化抽象为一条相对独立的曲线,再以此精确更新变化区域,从而最大程度的减少单位时间内的数据传输量;
3、打破了该领域中以单帧图像为基准的数据编码模式,而是将多帧图像数据缓存为单位体积的空间数据后再进行统一处理,因此可以有效提升用户的操作体验;
4、将单位时间内多帧图像进行统一处理的编/解码的相关方法;
5、通过使用本方法,可以有效提升公司相关产品在该领域中的核心竞争力,获取更高的市场价值;而且如能将该算法形成相应的协议标准,更可以在竞争中保持产品在技术上的领先地位。
具体实施方式
下面结合具体实施例对本发明作进一步说明。
实施例1:
本发明的一种基于RFB协议的图像数据压缩方法,在服务器端或者在客户端将图像数据帧进行空间化编码,空间化编码方式包括静态编码和动态编码;静态编码是以时间为单位的定量帧编码,静态编码针对的是图像持续快速变化,前后帧内容缺乏一致性的使用环境,如视频播放、远程监控等;动态编码是以帧图像所包含内容为依据的动态帧编码,动态编码所针对的是内容变化频率较低、变化范围相对有限的使用环境,如远程桌面的普通桌面环境。
静态编码:以单位编码间隔1秒为例,假设桌面采样的帧速率为30,则所传输的每一个数据包中所包含的都是30帧的图像数据,此时的数据延迟约为1秒。
动态编码:以动态采样的变化率设定10%为例,当帧数据的变化率不超过该值时,将初始化图像作为关键帧,而当变化率超出上限时则重新生成关键帧。
在服务器端将图像数据帧进行空间化编码,步骤如下:
步骤1:调用函数SystemInfo()获取系统配置信息,如分辨率,色深等;
步骤2:调用函数SetFramesStep()设置空间编码默认所包含的帧数量;
步骤3:调用函数GetKeyframe()获取初始关键帧;
步骤4:调用函数CatchChangingZone()获取每一帧的变化区域;
步骤5:当抓取的帧计数器达到SetFramesStep()所设置的上限时,调用函数CreateSpaceEncoding(),将所有变化区域编码后发送到客户端;
步骤6:读取变量staticEncoding的值,判断当前模式;
步骤7:若步骤6得到的值为真,则调用GetKeyframe()重置关键帧,否则跳过该步骤;
步骤8:重复步骤3到步骤7的过程,直到步骤6所得到的值为假;
步骤9:读取变量changeRate,并与函数GetChangeRate()所返回的值相比较;
步骤10:若步骤9比较的结果是changeRate的值更大,则重复步骤4到步骤7的过程,否则进入下一步;
步骤11:调用函数GetCacheKeyframe()尝试获取缓存的关键帧;
步骤12:若步骤11返回的值为空,则调用函数SetCacheKeyframe()缓存当前使用的关键帧,然后重复步骤3到步骤7的过程,否则进入下一步;
步骤13:调用函数CompareKeyframe()依次比较当前关键帧与之前缓存关键帧的差异,若存在相同关键帧,则调用函数SetKeyframe()设置该关键帧为当前关键帧,同时向客户端发送该关键帧编号,使其重置当前桌面,否则进入下一步;
步骤14:重复步骤3到步骤7的过程。
实施例2:
本发明的一种基于RFB协议的图像数据压缩方法,在服务器端或者在客户端将图像数据帧进行空间化编码,空间化编码方式包括静态编码和动态编码;静态编码是以时间为单位的定量帧编码,静态编码针对的是图像持续快速变化,前后帧内容缺乏一致性的使用环境;动态编码是以帧图像所包含内容为依据的动态帧编码,动态编码所针对的是内容变化频率较低、变化范围相对有限的使用环境。
在客户端将图像数据帧进行空间化编码,步骤如下:
步骤1:调用函数GetServerInfo()获取服务端的基础参数,如分辨率、色深、默认编码帧数等;
步骤2:调用函数ReadSpaceMessage()读取服务端的消息包类型,若消息类型为SET_KEYFRAME,则使用读取到的关键帧数据重置桌面,否则进入下一步;
步骤3:调用函数SpaceMessageDeconding()解析空间编码数据;
步骤4:调用函数FillFrame()将步骤3获得的数据依次填充到相应位置;
步骤5:重复步骤4的过程,直到将所有帧数据填充完毕;
步骤6:重复步骤2到步骤5的过程。
上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的一种基于RFB协议的图像数据压缩方法的权利要求书的且任何所属技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。

Claims (3)

1.一种基于RFB协议的图像数据压缩方法,其特征在于在服务器端或者在客户端将图像数据帧进行空间化编码,空间化编码方式包括静态编码和动态编码;静态编码是以时间为单位的定量帧编码,静态编码针对的是图像持续快速变化,前后帧内容缺乏一致性的使用环境;动态编码是以帧图像所包含内容为依据的动态帧编码,动态编码所针对的是内容变化频率较低、变化范围相对有限的使用环境。
2.根据权利要求1所述的一种基于RFB协议的图像数据压缩方法,其特征在于在服务器端将图像数据帧进行空间化编码,步骤如下:
步骤1:调用函数SystemInfo()获取系统配置信息;
步骤2:调用函数SetFramesStep()设置空间编码默认所包含的帧数量;
步骤3:调用函数GetKeyframe()获取初始关键帧;
步骤4:调用函数CatchChangingZone()获取每一帧的变化区域;
步骤5:当抓取的帧计数器达到SetFramesStep()所设置的上限时,调用函数CreateSpaceEncoding(),将所有变化区域编码后发送到客户端;
步骤6:读取变量staticEncoding的值,判断当前模式;
步骤7:若步骤6得到的值为真,则调用GetKeyframe()重置关键帧,否则跳过该步骤;
步骤8:重复步骤3到步骤7的过程,直到步骤6所得到的值为假;
步骤9:读取变量changeRate,并与函数GetChangeRate()所返回的值相比较;
步骤10:若步骤9比较的结果是changeRate的值更大,则重复步骤4到步骤7的过程,否则进入下一步;
步骤11:调用函数GetCacheKeyframe()尝试获取缓存的关键帧;
步骤12:若步骤11返回的值为空,则调用函数SetCacheKeyframe()缓存当前使用的关键帧,然后重复步骤3到步骤7的过程,否则进入下一步;
步骤13:调用函数CompareKeyframe()依次比较当前关键帧与之前缓存关键帧的差异,若存在相同关键帧,则调用函数SetKeyframe()设置该关键帧为当前关键帧,同时向客户端发送该关键帧编号,使其重置当前桌面,否则进入下一步;
步骤14:重复步骤3到步骤7的过程。
3.根据权利要求1所述的一种基于RFB协议的图像数据压缩方法,其特征在于在客户端将图像数据帧进行空间化编码,步骤如下:
步骤1:调用函数GetServerInfo()获取服务端的基础参数;
步骤2:调用函数ReadSpaceMessage()读取服务端的消息包类型,若消息类型为SET_KEYFRAME,则使用读取到的关键帧数据重置桌面,否则进入下一步;
步骤3:调用函数SpaceMessageDeconding()解析空间编码数据;
步骤4:调用函数FillFrame()将步骤3获得的数据依次填充到相应位置;
步骤5:重复步骤4的过程,直到将所有帧数据填充完毕;
步骤6:重复步骤2到步骤5的过程。
CN201410779048.7A 2014-12-17 2014-12-17 一种基于rfb协议的图像数据压缩方法 Active CN104469400B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410779048.7A CN104469400B (zh) 2014-12-17 2014-12-17 一种基于rfb协议的图像数据压缩方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410779048.7A CN104469400B (zh) 2014-12-17 2014-12-17 一种基于rfb协议的图像数据压缩方法

Publications (2)

Publication Number Publication Date
CN104469400A true CN104469400A (zh) 2015-03-25
CN104469400B CN104469400B (zh) 2018-02-23

Family

ID=52914661

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410779048.7A Active CN104469400B (zh) 2014-12-17 2014-12-17 一种基于rfb协议的图像数据压缩方法

Country Status (1)

Country Link
CN (1) CN104469400B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104469400B (zh) * 2014-12-17 2018-02-23 浪潮软件集团有限公司 一种基于rfb协议的图像数据压缩方法
CN108174200A (zh) * 2017-11-28 2018-06-15 西安万像电子科技有限公司 图像传输方法及装置
CN108769735A (zh) * 2018-05-23 2018-11-06 江苏网进科技股份有限公司 一种网络传输的数据压缩中优化Spice方法
CN113286169A (zh) * 2021-04-27 2021-08-20 上海全云互联网科技有限公司 一种基于rfb协议的音频视频的传输方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101217544A (zh) * 2008-01-02 2008-07-09 浪潮电子信息产业股份有限公司 一种增强安全性的远程帧缓冲区协议
US20100164839A1 (en) * 2008-12-31 2010-07-01 Lyons Kenton M Peer-to-peer dynamically appendable logical displays
CN101977324A (zh) * 2010-11-09 2011-02-16 青岛海信宽带多媒体技术有限公司 一种实现屏幕共享的方法
CN101997641A (zh) * 2009-08-18 2011-03-30 中兴通讯股份有限公司 一种提高分组传输速率的方法及系统
CN102318344A (zh) * 2008-12-30 2012-01-11 萨基姆通讯宽带公司 视频编码系统和方法
CN102929415A (zh) * 2012-09-17 2013-02-13 浪潮(北京)电子信息产业有限公司 一种本地监控器及其与远程虚拟机鼠标显示同步的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104469400B (zh) * 2014-12-17 2018-02-23 浪潮软件集团有限公司 一种基于rfb协议的图像数据压缩方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101217544A (zh) * 2008-01-02 2008-07-09 浪潮电子信息产业股份有限公司 一种增强安全性的远程帧缓冲区协议
CN102318344A (zh) * 2008-12-30 2012-01-11 萨基姆通讯宽带公司 视频编码系统和方法
US20100164839A1 (en) * 2008-12-31 2010-07-01 Lyons Kenton M Peer-to-peer dynamically appendable logical displays
CN101997641A (zh) * 2009-08-18 2011-03-30 中兴通讯股份有限公司 一种提高分组传输速率的方法及系统
CN101977324A (zh) * 2010-11-09 2011-02-16 青岛海信宽带多媒体技术有限公司 一种实现屏幕共享的方法
CN102929415A (zh) * 2012-09-17 2013-02-13 浪潮(北京)电子信息产业有限公司 一种本地监控器及其与远程虚拟机鼠标显示同步的方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104469400B (zh) * 2014-12-17 2018-02-23 浪潮软件集团有限公司 一种基于rfb协议的图像数据压缩方法
CN108174200A (zh) * 2017-11-28 2018-06-15 西安万像电子科技有限公司 图像传输方法及装置
CN108769735A (zh) * 2018-05-23 2018-11-06 江苏网进科技股份有限公司 一种网络传输的数据压缩中优化Spice方法
CN113286169A (zh) * 2021-04-27 2021-08-20 上海全云互联网科技有限公司 一种基于rfb协议的音频视频的传输方法

Also Published As

Publication number Publication date
CN104469400B (zh) 2018-02-23

Similar Documents

Publication Publication Date Title
CN102625106B (zh) 场景自适应的屏幕编码码率控制方法及其系统
CN105677279B (zh) 桌面区域共享方法、系统及相应的共享端和观看端
CN107360443A (zh) 一种云桌面图像处理方法、云桌面服务器及客户端
CN102156611A (zh) 创建动画消息的方法和装置
US20140281023A1 (en) Quality of service management server and method of managing quality of service
CN104918133A (zh) 一种视联网中视频流的播放方法和装置
CN103379363A (zh) 视频处理方法及装置、移动终端和系统
CN101345865A (zh) 图像发送装置、图像发送方法、接收装置及图像发送系统
CN105681826B (zh) 视频数据传输系统和方法以及视频数据解码方法
CN105025347B (zh) 一种gop图像组的发送和接收方法
CN104469400A (zh) 一种基于rfb协议的图像数据压缩方法
US20140286440A1 (en) Quality of service management system and method of forward error correction
WO2018040427A1 (zh) 屏幕界面共享方法和系统
CN108174200A (zh) 图像传输方法及装置
CN111083450A (zh) 车机端图像远程输出方法、装置及系统
CN110650357A (zh) 视频解码方法及装置
US20240040147A1 (en) Data processing method and apparatus, computer device, and storage medium
CN102577412B (zh) 一种图像编码方法和装置
TWI509563B (zh) 管理串流參數之圖形伺服器與方法
CN114466224B (zh) 视频数据的编解码方法和装置、存储介质及电子设备
CN109413445B (zh) 一种视频传输方法及装置
CN108449600A (zh) 电影数据的传输方法及装置
JP6483850B2 (ja) データ処理方法および装置
CN110677692B (zh) 视频解码方法及装置、视频编码方法及装置
US11281422B2 (en) Video data display method and device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20180403

Address after: Wusong Industrial Park, Wuzhong Development District of Suzhou City, Jiangsu province 215100 Wusong Road No. 818

Patentee after: Tide Financial Information Technology Co Ltd

Address before: 250100 Ji'nan province hi tech Zone, Sun Village Branch Road, No. 2877

Patentee before: Inspur Group Co., Ltd.

TR01 Transfer of patent right