计算机与移动设备间通过增量混合压缩编码进行屏幕传输的方法

文档序号:7987743阅读:381来源:国知局
专利名称:计算机与移动设备间通过增量混合压缩编码进行屏幕传输的方法
技术领域
本发明是一种在计算机与移动设备间通过増量混合压缩编码进行屏幕传输的方法,尤其通过增量混合压缩编码的方法,在保障屏幕图像品质前提下降低传输数据量,属于计算机图像处理与网络传输技术领域。
背景技术
现有屏幕传输方法中对屏幕数据处理主要是图像方式和视频方式两种。图像方式下,屏幕数据被按照一定的频率采集成图像数据帧进行处理和传输。该方式优点是图像数据编码被设备支持性广,方便控制传输帧率和传输数据量。该方式的限制是当要求高图像质量吋,需要高的数据量,带来编码计算和传输的压力,反之,图像数据编码数据量较低,带来图像质量的下降。该方式由于帧率的限制,适合处理屏幕内容相对静止的情况。视频方式下,屏幕数据被进行视频编码并按照视频流的方式传输,该方式优点是适合处理屏幕内容相对动态的情況。该方式的限制是流编码对设备计算能力和传输能力要求都比较高,往往难以适用于设备处理能力较低的情況。科技的日新月异,智能手机、平板电脑等新型移动设备产品不断涌现,同普通计算机相比,这些设备硬件整体性能较低、计算能力较差、屏幕尺寸较小等。在进行屏幕传输吋,需要重点解决处理性能、图像质量、传输同步性等方面的问题。

发明内容
本发明的目的在于提供一种计算机与移动设备间通过増量混合压缩编码进行屏幕传输的方法,所述方法对屏幕数据进行图像方式处理,通过增量混合编码的方法,在保障屏幕图像品质前提下降低传输数据量,解决传输的数据量和传输处理间矛盾的问题。为实现上述发明目的,本发明采用下述技术方案予以实现
一种计算机与移动设备间通过増量混合压缩编码进行屏幕传输的方法,包括
步骤一,采集计算机屏幕数据,对采集到的屏幕数据进行图像编码形成屏幕帧图像数据;图像编码方法是JPEG、JPEG2000、BMP、PNG等的ー种或多种但不限于,较优的是选择硬件设备能够支持进行硬件编解码计算的,提高运算速度;较优的JPEG等属于静止图像压缩编码技术,JPEG具有失真小、压缩率高、多种设备支持硬件编码和硬件解码速度快的优势;步骤ニ,使用増量计算方法,将当前屏幕帧图像数据和前一屏幕帧图像数据进行増量计算,获取増量数据;增量计算方法是按照像素行的方式对屏幕帧图像数据进行分组,通过比较前ー屏幕帧图像数据的对应分组数据是否相同,判断是否产生变化,所有变化的分组数据构成増量数据; 步骤三,将当前屏幕帧图像数据与增量数据进行混合压缩编码,获取増量数据包;混合压缩编码是按照像素行的方式对屏幕帧图像数据进行分组;以当前屏幕帧图像数据为基础;比较增量数据与当前屏幕帧图像数据进行混合编码;对增量数据中的全部像素进行压缩编码;压缩取样方法是比较每个像素点与其所在行的前一行的对应位置的像素点是否相同,比较每个像素点与其所在行的前一个像素点是否相同;
步骤四,比较增量数据包与当前屏幕帧图像数据的大小,较小的传输到移动设备端。如上所述的方法,步骤ニ是为了減少方法计算数据量,増加方法的计算速度的优化步骤,该步骤可选。如上所述的方法,所述步骤ニ、步骤四中的像素行方式分组是当前屏幕技术条件下较优的一种分组方式,也可采取像素列、像素块等方式进行分组实现。如上所述的方法,所述步骤三中的混合压缩编码中,压缩取样方法是综合选用了比较姆个像素点与其所在行的前一行的对应位置的像素点是否相同,比较姆个像素点与其所在行的前一个像素点是否相同这两种取样方式,这两种取样方式是目前屏幕技术下较优 的方法,但压缩取样方式不限于选用ー种或两种或其他取样方式。本发明相对于现有方法具有以下的优点
I、本发明能依据设备硬件编码支持情况调整,可充分发挥设备硬件计算能力。支持设备类型广泛,尤其对智能手机、平板电脑等计算能力较低、屏幕尺寸较小的设备有更好的支持性。2、本发明提出的増量混合压缩编码方法,图像数据比较和计算速度快,数据表示压缩比高。3、本发明仅传输屏幕变化的增量数据与屏幕数据的较小者,能大幅度减少数据处理和传输量;在屏幕内容相对变化较少的情况下,传输效果特别理想。


图I本发明计算机与移动设备间通过増量混合压缩编码进行屏幕传输的方法的流程 图2本发明计算机与移动设备间通过増量混合压缩编码进行屏幕传输的方法的屏幕数据样例 图3顔色标识方案RGB下的像素数据表示 图4本发明计算机与移动设备间通过増量混合压缩编码进行屏幕传输的方法的像素数据表示 图5本发明计算机与移动设备间通过増量混合压缩编码进行屏幕传输的方法的混合压缩编码计算顺序 图6本发明计算机与移动设备间通过増量混合压缩编码进行屏幕传输的方法的混合压缩编码结果数据样例图。
具体实施例方式下面结合附图和具体实施方式
对本发明的技术方案进行进ー步说明,但本发明的实施方式不限于此。实施例如图I所示,本发明计算机与移动设备间通过増量混合压缩编码进行屏幕传输的方法,主要步骤如下
步骤一,采集计算机屏幕数据,对采集到的屏幕数据进行图像编码形成屏幕帧图像数据。常见的图像化编码处理方法包括
JPEG等属于静止图像压缩编码技木,JPEG具有失真小、压缩率高、设备端硬件编码和硬件解码速度快的优势;
MPEG等属于运动图像压缩编码技术,对于屏幕图像特定的场景下,MPEG的失真较大,并且,实现实时压缩传输,对发送方的CPU性能要求高;
完全増量方式(类似VNC),无失真,在屏幕变化小的情况下,信息量小,但在高分辨率 下,当屏幕变化大时,増量信息大,对设备计算能力要求高。屏幕数据的图像不完全属于静止图像和运动图像。采集屏幕数据的图像化编码采用JPEG方案。步骤ニ,使用増量计算方法,将当前屏幕帧图像数据和前一屏幕帧图像数据进行増量计算,获取增量数据;增量计算方法是按照像素行的方式对屏幕帧图像数据进行分组,通过比较前一屏幕帧图像数据的对应分组数据是否相同,判断是否产生变化,所有变化的分组数据构成增量数据。屏幕数据按照从上到下的顺序划分成行,从左到右的顺序划分成列,行和列均从0开始计数。实现中,按照行列的下标顺序,从0行0列开始比较,当每行的全部列比较完成后,继续比较下一行,直至屏幕全部比较完成。为叙述简单,仅用13行*16列说明技术过程,如图2所示,当前帧与前一帧的增量数据范围在从第2行的第7列到第5行的第8列的矩形范围内。步骤三,将当前屏幕帧图像数据与增量数据进行混合压缩编码,获取増量数据包;混合压缩编码是按照像素行的方式对屏幕帧图像数据进行分组;以当前屏幕帧图像数据为基础;比较增量数据与当前屏幕帧图像数据进行混合编码;对增量数据中的全部像素进行压缩编码;压缩取样方法是比较每个像素点与其所在行的前一行的对应位置的像素点是否相同,比较每个像素点与其所在行的前一个像素点是否相同。计算机彩色显示器显示色彩的原理是采用R (Red)、G (Green)、B (Blue)相加混色的原理通过发射出三种不同強度的电子束,使屏幕内侧覆盖的红、绿、蓝磷光材料发光而产生色彩。这种色彩的表示方法称为RGB色彩空间表示,它也是多媒体计算机技术中用得最多的ー种色彩空间表示方法。当三基色分量都为0 (最弱)时混合为黑色光;而当三基色分量都为k (最強)时混合为白色光。调整r、g、b三个系数的值,可以混合出介于黑色光和白色光之间的各种各样的色光。现有的RGB24位色彩表示法的图像方案下,采用的是定长表示方法,每个像素点至少要用24bit数据进行表示,如图3所示24位像素。按照图2中的13行*16列的面积,则至少需要4992 (13*16*24) bit数据。増量混合压缩编码是ー种变长数据表示法,如图4所示,每个像素用2bit的标志位和可选的0-15bit的变长数据位进行表示。选择变长数据为15位的原因是相比24位色彩,15位色彩方式下缩减了数据量,但相比24位色彩方式图像不会大幅度的失真。15位表示ー个像素,这15位中的5位用于R,5位用于G,5位用于B,如图3所示15位像素。
除15位色彩外,还可以选择更小的如9位RGB (3+3+3)、12位RGB (4+4+4),或更大的如24位RGB (8+8+8)、18位(6+6+6)、21位(7+7+7)方式,但9位色彩只能表现512种颜色,图像失真严重;24位方式的信息量较15位方式増加了 9位,且显示效果并没有明显的差异。如图2所示情况下,増量混合压缩编码结果如图6所示。从编码表可见,增量混合压缩编码后的数据大小是431 (13*16*2+15) bit。编码计算顺序如图5所示。获取变化区域后, 对变化的区域进行编码计算。每个像素的计算法则是首先与当前帧的前行同列比较,相同则编码00,不同继续;与当前帧的同行前列比较,相同则编码01,不同继续;与前ー帧的同行同列比较,相同则编码10,不同编码11另加15位顔色数据。下面举例详细说明一下编码的计算过程
I由步骤ニ,增量范围是从第2行的第4列到第5行的第8列,则除2至5行外的每行每个像素编码为00 (无变化);
2第2行第4列的像素编码00 (与当前帧的前行同列相同);
3第2行第5列的像素编码10 (与前ー帧的同行同列相同);
4第2行第6列的像素编码01 (与当前帧的同行前列相同);
5第3行第6列的像素编码11加15位顔色数据(不满足以上3种情况)。
步骤四,比较增量数据包与当前屏幕帧图像数据的大小,较小的传输到移动设备端。在増量混合压缩编码情况下,増量混合压缩数据包大小会随着表示的图像变化面积的增大而増大。当表示的图像变化面积超过一定比例时,有可能出现增量数据包比屏幕帧图像数据还要大的情况,(如计算机切屏时,可能出现屏幕的完全变化),为优化传输,在传输数据包前,需要比较增量数据包与帧图像数据,传输较小者节省带宽。
权利要求
1.一种在计算机和移动设备间通过增量混合压缩编码进行屏幕传输的方法,其特征在于,包括 步骤一,采集计算机屏幕数据,对采集到的屏幕数据进行图像编码形成屏幕帧图像数据; 步骤二,使用增量计算方法,将当前屏幕帧图像数据和前一屏幕帧图像数据进行增量计算,获取增量数据; 步骤三,将当前屏幕帧图像数据与增量数据进行混合压缩编码,获取增量数据包; 步骤四,比较增量数据包与当前屏幕帧图像数据的大小,较小的传输到移动设备端。
2.如权利要求I所述的方法,其特征在于所述步骤一中的图像编码方法是JPEG、JPEG2000、BMP、PNG等的一种或多种但不限于,较优的是选择硬件设备能够支持进行硬件编解码计算的,提高运算速度。
3.如权利要求I所述的方法,其特征在于所述步骤二中的增量计算方法是按照像素行的方式对屏幕帧图像数据进行分组,通过比较前一屏幕帧图像数据的对应分组数据是否相同,判断是否产生变化,所有变化的分组数据构成增量数据。
4.如权利要求I所述的方法,其特征在于所述步骤三中的混合压缩编码是按照像素行的方式对屏幕帧图像数据进行分组;以当前屏幕帧图像数据为基础;比较增量数据与当前屏幕帧图像数据进行混合编码;对增量数据中的全部像素进行压缩编码;压缩取样方法是比较每个像素点与其所在行的前一行的对应位置的像素点是否相同,比较每个像素点与其所在行的前一个像素点是否相同。
5.如权利要求I所述的方法,其特征在于所述步骤二是为了减少方法计算数据量,增加方法的计算速度的优化步骤,该步骤可选。
6.如权利要求I所述的方法,其特征在于所述步骤二、步骤四中的像素行方式分组是当前屏幕技术条件下较优的一种分组方式,也可采取像素列、像素块等方式进行分组实现。
7.如权利要求I所述的方法,其特征在于所述步骤三中的混合压缩编码中,压缩取样方法是综合选用了比较每个像素点与其所在行的前一行的对应位置的像素点是否相同,t匕较每个像素点与其所在行的前一个像素点是否相同这两种取样方式,这两种取样方式是目前屏幕技术下较优的方法,但压缩取样方式不限于选用一种或两种或其他取样方式。
8.如权利要求I所示的方法,其特征在于所述步骤三中的混合压缩编码中对像素点数据采用2bit标志加0-15bit变长数据的变长数据法进行表示,标志位长度和变长数据位长度的组合不限于此。
全文摘要
本发明公开了一种在计算机和移动设备间通过增量混合压缩编码进行屏幕传输的方法,该方法在计算机端采集屏幕数据,对采集到的屏幕数据进行图像编码形成屏幕帧图像数据;使用增量计算方法,将当前屏幕帧图像数据与前一屏幕帧图像数据进行增量计算,获取增量数据;将当前屏幕帧图像数据与增量数据进行混合压缩编码,组成增量数据包;比较增量数据包与当前屏幕帧图像数据的大小,较小的传输到移动设备端。
文档编号H04N7/26GK102710935SQ201110381588
公开日2012年10月3日 申请日期2011年11月28日 优先权日2011年11月28日
发明者周永军, 戴崇坚 申请人:杭州华银教育多媒体科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1