最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

基于Spice协议的图像分类与压缩设计与分析

IT圈 admin 31浏览 0评论

2024年5月22日发(作者:税白凝)

多媒体应用技术

信息与电脑

China Computer&Communication

2018年第18期

基于Spice协议的图像分类与压缩设计与分析

邓丽萍

(福建农业职业技术学院,福建 福州 350007)

摘 要:

随着计算机技术的发展,计算机设备的应用已经是各行各业不可缺少的工具。近几年,随着云计算的发展

推动了云桌面行业的发展,云桌面的市场占用率越来越高。由于云桌面替代了传统PC桌面,因此,对云桌面的体验要求

越来越高。图像在进行压缩编码时,原始图像格式一般采用微软支持的bitmap格式。图像压缩编码,如果仅仅采用熵编码、

字典压缩编码或游程编码等无损压缩编码方法,会导致图像压缩率低。如果采用JPEG系列、MPEG-X系列或H.26X系列

等有损压缩编码方法,导致图像压缩质量不佳,甚至会引起文本模糊和振铃效应。笔者主要以Spice协议为基础,针对

Spice已有的图像分类算法和压缩算法进行分析,提出对桌面图像系列更有效的图像分类算法和压缩算法,对协议进行

相应的改进优化来提升云桌面的体验。

关键词:

云桌面;Spice协议;图像编码;图像分类;图像压缩;算法优化

中图分类

号:TP316.7  文献标识码:A  文章编号:1003-9767(2018)18-144-04

Image Classification and Compression Design and Analysis Based on Spice

Protocol

Deng Liping

Abstract:

With the development of computer technology, the application of computer equipment has become an indispensable

(Fujian Vocational College of Agriculture, Fuzhou Fujian 350007, China)

tool in all walks of life. Cloud desktop based on VDI architecture came into being. in recent years, with the development of cloud

computing, cloud desktop industry has been further promoted, and cloud desktop market occupancy rate is getting higher and higher.

As the cloud desktop is a technology to replace the traditional PC desktop, the use experience of the cloud desktop is more and

more demanding: when the image is compressed and encoded, the original image format usually adopts bitmap format supported by

Microsoft. Image compression coding, if only entropy coding, dictionary compression coding or run-length coding and other lossless

compression coding methods are used, the image compression rate is very low; However, if lossy compression coding methods such

as JPEG series, MPEG-X series or H.26X series are used, the image compression quality is not good, for example, text blurring and

algorithm of spice, and proposes more effective image classification algorithm and compression algorithm for desktop image series, and

ringing effects may be caused. Based on spice protocol, this paper analyzes the existing image classification algorithm and compression

improves and optimizes the protocol accordingly to improve the cloud desktop experience.

Key words:

cloud desktop; spice protocol; image coding; image classification; image compression; algorithm optimization

1 引言

桌面的问题(如管理、安全、节能等),基于VDI架构的桌

随着虚拟化技术的快速发展,出现了WEBOS系统、

面就称之为云桌面。

VDI系统等。这些系统基础目标就是要解决传统桌面在使用

在云桌面系统构成中,最重要的是桌面传输和展现技术

时遇到的各种问题,使桌面使用高效、简洁。而桌面虚拟化

(笔者称为云桌面传输协议技术)。云桌面传输协议是一种

基础架构(Virtual Desktop Infrastructure,VDI)是当前桌面

将位于远程服务器上的虚拟计算机进行图形化的桌面屏幕信

云解决方案中主流的架构与部署方式,能比较好地解决传统

息、音视频信息传输并展现在客户端和接入客户端的外界设

基金项目:

福建省教育厅中青年教师科研项目(项目编号:JAT170998)

作者简介:

邓丽萍(1980-),女,福建沙县人,硕士研究生,讲师。研究方向:计算机应用、Web应用。

—   144   —

信息与电脑

2018年第18期

China Computer&Communication

多媒体应用技术

备(如键盘、鼠标等外设)进行交互的技术。它决定了用户整张图片进行计算,如果图片的某个区域极度复杂,而其余

使用虚拟桌面时能得到什么样的桌面使用体验,该体验包括部分非常简单,经过平均后,这个渐进度值将很难反映图片

桌面响应速度、流畅度、屏幕画质、桌面应用和外设兼容性真实的复杂度,导致后续依赖渐进度值进行的算法选择容易

等各方面。云桌面体验的好坏也将直接影响云桌面产品是否出现选择不恰当的情况。

能够得到大规模推广和使用。为了提高图像分类的准确度,为下一步算法提供可靠的

影响桌面体验的因素有很多,笔者主要基于Spice云桌图片内容特征,笔者提出了“以复杂块为基础的分块分类”

面传输协议,研究一些在特定应用场景下对该协议进行改进的算法思路。该算法思路首先按照一定的复杂块规则对整幅

来提升云桌面体验的方法。图像进行遍历决策,计算出当前图片中存在的复杂区域系列,

2 Spice协议

然后通过对复杂区域系列和非复杂区域系列进行处理,得出

Spice最初是由Qumranet公司所研发并用于与虚拟机

针对桌面图像系列的总复杂度,并依据该复杂度作为下一步

连接的远程桌面显示协议,于2008年被红帽所收购并将该

算法选择的依据。针对云桌面图像系列的反复验证分析,得

Spice协议开源。目前,Spice协议作为一个远程传输协议被

出该算法比渐进度算法更加可靠。

红帽公司应用于虚拟化桌面版中,将用户与其虚拟桌面进行

为了进一步阐明该算法逻辑,对该算法的思路做进一步

连接。

详细说明。

Spice协议归属于一种应用层的协议,跟微软的RDP协

算法1:复杂块分类算法

议一样,设计之初是针对局域网下的桌面连接。正是由于

输入:桌面图像系列中的待处理图像

Spice协议是一种应用层的协议,所以它不会依赖于不同平

输出:输入图像对应的复杂度

台的传输层。简单的说,Spice协议负责客户端和服务端之

1.对输入的图片按行进行遍历,计算每行有多少的复杂

间的连接访问,负责连接过程中的各类控制及处理下行客户

区域段,并记录这些复杂区域段。

端和上行QXL驱动传输的数据。

2.复杂区域段的判断规则如下:

Spice框架基于Spice协议进行实现,主要由客户端、服

(1)首先每个复杂段的颜色数得不小于M个颜色;

务端及相关组件(主要包括QXL设备和驱动)组成。开源

(2)每个段必须是X个像素以上的连续段,以排除孤

Spice协议客户端采用GTK框架的方式满足跨平台需求。开

零的像素;

源Spice服务端以动态库的方式为QEMU进程服务,实际运

(3)每个段的分割规则由连续的相同颜色值的N个像

行于云桌面Host机器上。协议客户端和协议服务端互相配合,

素段作为分隔;

最终实现云桌面的传输控制使用。

3.统计出每行的复杂段系列后,需要对这些相邻的复杂

段进行合并,以构成具体的复杂块。

3 Spice云桌面应用的问题

4.当一幅图片的复杂块系列计算完后,通过计算这些复

Spice作为云桌面的传输协议,考虑到一台服务器支撑

杂块面积之和占整个屏幕的比例来判断图片是文字图形类图

的云桌面并发性能,在简单办公场景使用(并发量少的情况

像还是自然图像。

下)上操作流畅,但在复杂办公场景如图文混合的文档编辑、

算法中的M、X、N和Z的值主要是根据实际应用环境

浏览动画多的网页、动画多的PPT、复杂应用软件使用及高

经大量实验获得的经验值。

清视频(比如1 080P)的并发使用场景下,经常会有卡顿、

5 图像压缩算法优化

操作延时(比如拖动、滚动操作后,刷新的屏幕画面会有秒

级别的延时)等不流畅现象。解决此类问题的一种做法是选

5.1 文字/图形类场景算法优化

择降低屏幕显示质量来保证流畅度,但是过分地降低显示质

Spice协议考虑好几种压缩算法来用于图像压缩,考虑

量会导致桌面推广受限。因此,希望有一种云桌面传输协议,

的算法主要有QUIC算法、LZ算法及GLZ算法。针对文字

在有限带宽下,能保证绝大多数应用场景的云桌面质量优良,

/图形类的图片,Spice主要选择使用LZ算法或GLZ算法进

且使用流畅。

行压缩。在云桌面图像系列场景中,比如浏览文档类或者浏

4 图像分类算法优化

览文字较多的网站类场景时,压缩性能并不高,当每秒产生

Spice协议考虑针对不同的图像进行分析,进而进行分

的图片数据较多时,甚至出现每秒几十兆的带宽总量,这给

类处理,该算法叫做渐进度算法。渐进度算法是通过遍历整

传输和带宽的要求带来巨大的压力。

张图片,计算统计出该图片的颜色直方图,并对该直方图数

经过研究分析,云桌面图像系列有几个明显的特征:

据进行一系列的决策处理,得出该图片是属于文字类图片还

(1)像素冗余多:图形用户界面一般由若干元素组成。

是图像类图片。

这些元素包括状态栏、内容区域、菜单栏、标题栏、横向和

但是,该渐进度算法存在一个较大的缺陷。该算法是对

众向的滚动条等元素。这些区域大部分由一些单一的背景颜

—   145   —

多媒体应用技术

信息与电脑

China Computer&Communication

2018年第18期

色或较为简单的背景颜色和文字、图标等内容组成。很多用行或是否存在大部分与之相匹配的行数据。如果没有则直接

户在实际操作场景中,桌面的主视图区域,也只是由文字和将该数据输出到一个数据区准备第二阶段编码之用,同时也

单一背景色组成。在这些具体窗口场景中,存在大量颜色相将该行数据添加到编码上下文的缓冲区。如果有,则替换第

同的像素区域,即像素冗余性很大,如图1所示。一阶段的编码数据为一个使用该缓存的指令,并将该指令放

入第二阶段编码数据区。

4.对图片的所有行进行重复,直到所有行被编码完成。

5.进行第二阶段的字典编码。由于已经得到了图片中所

有颜色样本出现的次数,接下来要根据颜色样本出现的次数

的多少进行一个排序。对于那些出现次数很多的颜色分配较

小的字典项、对于那些出现次数较小的样本则可以分配较大

图1 像素点冗余图例

的字典项。遍历整个第二阶段编码数据区,进行字典压缩编

(2)桌面图像系列中前后帧关联性强:在图形用户界

码,得出最终的压缩结果。

面中,用户的不同操作反映出的结果是不同的桌面显示内容,

以上编码算法的整个过程中,第1步是减小冗余数据量,

这些桌面显示内容一般情况下不会和上一个操作产生的桌面

第3步是利用前后帧图片数据的关联性来减少编码的数据内

显示内容完全相同。例如,一个文档在鼠标滚动过程中,上

容,而第5步则是针对那些颜色相同,但是被分割成离散的

一张画面和下一张画面之间,存在大量的相同像素区域和大

点的像素分配小的字典项来提高压缩率。

量的相同行,前后帧图片的关联性非常强。

解码过程的算法就是编码的逆过程。

因此,笔者提出了一种“缓存式的去重编码无损压缩算

法”,简称RLZ算法。该算法首先利用一种RLE的去重编

5.2 图像类场景算法优化

码思想对图片数据进行预处理,然后结合缓存的概念对数据

在桌面图像系列中,被图像分类算法归为图像类的图片,

进行缓存处理,最后再利用字典算法思想对处理后的数据进

一般都采用图像压缩算法。图像压缩算法有分无损压缩和有

行压缩。该算法大大提高了云桌面文字/图形类图像场景的

损压缩,并且对应得到的图片压缩性能也不同。

压缩性能。

图像类的图片使用无损压缩算法,压缩性能普遍不高。

RLZ算法总体思路框架如图2所示。

为了降低该类场景的压缩带宽,提供压缩性能,很多研究人

员从人眼视觉方向进行考虑。人眼在看图像类图片时,对图

片像素的亮度和色度存在不同的敏感度,表现对亮度非常敏

感,对色度则不太敏感。针对此类特性,当桌面图像系列中

的图像类图片采用有损压缩算法时,也几乎不影响人眼对桌

面的显示质量要求。因此,图像类的图片可采用有损压缩算

法,比如JPEG算法等。

虽然对图像类图片采用有损压缩算法,但针对桌面内由

快速操作产生的大量渲染图片,在短时间内压缩后的数据带

宽总量仍然非常大。为解决此类问题,通过分析这些快速操

作行为的特征,比如对文档、网页等进行快速滚动操作行为,

提出了“动态有损”压缩算法。

当不考虑图片产生的快速变化时,将采用桌面图像系列

图2 RLZ算法总体框架

传输过程,如图3所示。

具体算法描述过程如下:

算法2:RLZ编码算法

输入:桌面图像系列中的待处理图像

输出:输入图像压缩后的数据和长度

1.首先分析需要压缩的图片是否适合使用RLZ算法,

也就是要根据图像分类算法判断图片是否属于文字图形类图

像。如果是继续,否则退出。

2.从第一行开始对图片进行去冗余编码,得出第一行的

图3 快速变化场景系列图

第一阶段编码结果。同时记录颜色样本出现的次数。

采用“动态有损”算法,则桌面图像系列传输过程如图

3.在编码上下文的缓冲区中去寻找是否有已经缓存过该

4所示。

—   146   —

信息与电脑

2018年第18期

China Computer&Communication

多媒体应用技术

图4 动态有损处理系列图

“动态有损”压缩算法中的动态有损处理过程,是采用

有损压缩、降低质量和减少数据量,由于该过程变化快速,

图片细节的部分损失对人眼并不明显。当快速变化结束时,

相当于桌面系列中桌面变化从快速变化转换到慢速变化,人

图5 word文档图像类动态有损优化效果对比图

眼对慢速变化的桌面细节进行了提升,那么需要从动态有损

过程切换出来,这一步称为动态有损后期处理。其具体算法

描述如下。

算法3:动态有损算法

输入:桌面图像系列

输出:经过有损或无损处理的图像系列

1.分析桌面图像系列行为,统计出桌面图像系列是否处

于快速变化阶段。具体统计方法有很多,比如统计每秒产生

的图像系列数量,或者统计区域变化数量等。

2.当识别出快速变化阶段时(如每秒产生的图像大于

图6 PDF文档图像类动态有损优化效果对比图

M),则进入到动态有损处理过程。采用有损压缩,并根据

变化的快慢决定有损的力度(通过调整JPEG的压缩因子X

来实现)。变化越快,压缩力度越大图像有损力度越大;变

化越慢,则有损力度越弱(M和X取实际应用操作环境下经

大量实验获得的经验值)。

3.在动态有损处理桌面图像系列过程中,实时统计桌面

图像系列特征是否符合动态有损要求。如果不符合,则需要

退出动态有损过程。退出后,需要做后期处理。

4.动态有损的后期处理,主要是针对有损过程的图片质

量在静止时人眼可能可以识别出来,为了不降低显示质量,

则需要恢复桌面显示质量。一进入到后期处理,则需恢复出

图7 IE浏览器网页浏览图像类动态有损优化效果对比图

高质量的画面给客户端,由客户端恢复桌面显示。

类和图像压缩算法,该算法从原理上大大降低了协议传输的

6 算法优化效果分析

数据量,间接上也降低了接收端的计算量,对桌面体验性能

有较大提升。虽然笔者的研究取得了一定的效果,但在图像

图像类场景算法优化,主要指的是指“动态有损”优化

类场景压缩算法的优化方面还可以展开后续的研究工作,进

算法。在云桌面图像系列中,特别针对“WORD文档-图像

一步提升桌面的体验。

类”“PDF文档-图像类”及“IE浏览器网页-图像类”做

了对比实验,结果如图5、图6、图7所示。

从效果图可以看出,动态有损算法优化效果非常明显,

参考文献

实际带宽峰值降幅在60%以上,带宽均值降幅在60%以上

[1]徐燕雯.基于KVM的桌面虚拟化架构设计与实现[D].

甚至达到75%。

上海:上海交通大学,2012.

7 结 语

[2]张耀祥.云计算和虚拟化技术[J].计算机安

全,2011(5):80-82.

笔者主要介绍了基于Spice协议针对一些桌面特定场景

[3]任怡,管剑波,尹虎哲,等.面向瘦客户端的WEBOS

存在的问题,提出了桌面体验优化的改进思路,包括图像分

研究[J].计算机科学,2010,37(6):164-167.

—   147   —

2024年5月22日发(作者:税白凝)

多媒体应用技术

信息与电脑

China Computer&Communication

2018年第18期

基于Spice协议的图像分类与压缩设计与分析

邓丽萍

(福建农业职业技术学院,福建 福州 350007)

摘 要:

随着计算机技术的发展,计算机设备的应用已经是各行各业不可缺少的工具。近几年,随着云计算的发展

推动了云桌面行业的发展,云桌面的市场占用率越来越高。由于云桌面替代了传统PC桌面,因此,对云桌面的体验要求

越来越高。图像在进行压缩编码时,原始图像格式一般采用微软支持的bitmap格式。图像压缩编码,如果仅仅采用熵编码、

字典压缩编码或游程编码等无损压缩编码方法,会导致图像压缩率低。如果采用JPEG系列、MPEG-X系列或H.26X系列

等有损压缩编码方法,导致图像压缩质量不佳,甚至会引起文本模糊和振铃效应。笔者主要以Spice协议为基础,针对

Spice已有的图像分类算法和压缩算法进行分析,提出对桌面图像系列更有效的图像分类算法和压缩算法,对协议进行

相应的改进优化来提升云桌面的体验。

关键词:

云桌面;Spice协议;图像编码;图像分类;图像压缩;算法优化

中图分类

号:TP316.7  文献标识码:A  文章编号:1003-9767(2018)18-144-04

Image Classification and Compression Design and Analysis Based on Spice

Protocol

Deng Liping

Abstract:

With the development of computer technology, the application of computer equipment has become an indispensable

(Fujian Vocational College of Agriculture, Fuzhou Fujian 350007, China)

tool in all walks of life. Cloud desktop based on VDI architecture came into being. in recent years, with the development of cloud

computing, cloud desktop industry has been further promoted, and cloud desktop market occupancy rate is getting higher and higher.

As the cloud desktop is a technology to replace the traditional PC desktop, the use experience of the cloud desktop is more and

more demanding: when the image is compressed and encoded, the original image format usually adopts bitmap format supported by

Microsoft. Image compression coding, if only entropy coding, dictionary compression coding or run-length coding and other lossless

compression coding methods are used, the image compression rate is very low; However, if lossy compression coding methods such

as JPEG series, MPEG-X series or H.26X series are used, the image compression quality is not good, for example, text blurring and

algorithm of spice, and proposes more effective image classification algorithm and compression algorithm for desktop image series, and

ringing effects may be caused. Based on spice protocol, this paper analyzes the existing image classification algorithm and compression

improves and optimizes the protocol accordingly to improve the cloud desktop experience.

Key words:

cloud desktop; spice protocol; image coding; image classification; image compression; algorithm optimization

1 引言

桌面的问题(如管理、安全、节能等),基于VDI架构的桌

随着虚拟化技术的快速发展,出现了WEBOS系统、

面就称之为云桌面。

VDI系统等。这些系统基础目标就是要解决传统桌面在使用

在云桌面系统构成中,最重要的是桌面传输和展现技术

时遇到的各种问题,使桌面使用高效、简洁。而桌面虚拟化

(笔者称为云桌面传输协议技术)。云桌面传输协议是一种

基础架构(Virtual Desktop Infrastructure,VDI)是当前桌面

将位于远程服务器上的虚拟计算机进行图形化的桌面屏幕信

云解决方案中主流的架构与部署方式,能比较好地解决传统

息、音视频信息传输并展现在客户端和接入客户端的外界设

基金项目:

福建省教育厅中青年教师科研项目(项目编号:JAT170998)

作者简介:

邓丽萍(1980-),女,福建沙县人,硕士研究生,讲师。研究方向:计算机应用、Web应用。

—   144   —

信息与电脑

2018年第18期

China Computer&Communication

多媒体应用技术

备(如键盘、鼠标等外设)进行交互的技术。它决定了用户整张图片进行计算,如果图片的某个区域极度复杂,而其余

使用虚拟桌面时能得到什么样的桌面使用体验,该体验包括部分非常简单,经过平均后,这个渐进度值将很难反映图片

桌面响应速度、流畅度、屏幕画质、桌面应用和外设兼容性真实的复杂度,导致后续依赖渐进度值进行的算法选择容易

等各方面。云桌面体验的好坏也将直接影响云桌面产品是否出现选择不恰当的情况。

能够得到大规模推广和使用。为了提高图像分类的准确度,为下一步算法提供可靠的

影响桌面体验的因素有很多,笔者主要基于Spice云桌图片内容特征,笔者提出了“以复杂块为基础的分块分类”

面传输协议,研究一些在特定应用场景下对该协议进行改进的算法思路。该算法思路首先按照一定的复杂块规则对整幅

来提升云桌面体验的方法。图像进行遍历决策,计算出当前图片中存在的复杂区域系列,

2 Spice协议

然后通过对复杂区域系列和非复杂区域系列进行处理,得出

Spice最初是由Qumranet公司所研发并用于与虚拟机

针对桌面图像系列的总复杂度,并依据该复杂度作为下一步

连接的远程桌面显示协议,于2008年被红帽所收购并将该

算法选择的依据。针对云桌面图像系列的反复验证分析,得

Spice协议开源。目前,Spice协议作为一个远程传输协议被

出该算法比渐进度算法更加可靠。

红帽公司应用于虚拟化桌面版中,将用户与其虚拟桌面进行

为了进一步阐明该算法逻辑,对该算法的思路做进一步

连接。

详细说明。

Spice协议归属于一种应用层的协议,跟微软的RDP协

算法1:复杂块分类算法

议一样,设计之初是针对局域网下的桌面连接。正是由于

输入:桌面图像系列中的待处理图像

Spice协议是一种应用层的协议,所以它不会依赖于不同平

输出:输入图像对应的复杂度

台的传输层。简单的说,Spice协议负责客户端和服务端之

1.对输入的图片按行进行遍历,计算每行有多少的复杂

间的连接访问,负责连接过程中的各类控制及处理下行客户

区域段,并记录这些复杂区域段。

端和上行QXL驱动传输的数据。

2.复杂区域段的判断规则如下:

Spice框架基于Spice协议进行实现,主要由客户端、服

(1)首先每个复杂段的颜色数得不小于M个颜色;

务端及相关组件(主要包括QXL设备和驱动)组成。开源

(2)每个段必须是X个像素以上的连续段,以排除孤

Spice协议客户端采用GTK框架的方式满足跨平台需求。开

零的像素;

源Spice服务端以动态库的方式为QEMU进程服务,实际运

(3)每个段的分割规则由连续的相同颜色值的N个像

行于云桌面Host机器上。协议客户端和协议服务端互相配合,

素段作为分隔;

最终实现云桌面的传输控制使用。

3.统计出每行的复杂段系列后,需要对这些相邻的复杂

段进行合并,以构成具体的复杂块。

3 Spice云桌面应用的问题

4.当一幅图片的复杂块系列计算完后,通过计算这些复

Spice作为云桌面的传输协议,考虑到一台服务器支撑

杂块面积之和占整个屏幕的比例来判断图片是文字图形类图

的云桌面并发性能,在简单办公场景使用(并发量少的情况

像还是自然图像。

下)上操作流畅,但在复杂办公场景如图文混合的文档编辑、

算法中的M、X、N和Z的值主要是根据实际应用环境

浏览动画多的网页、动画多的PPT、复杂应用软件使用及高

经大量实验获得的经验值。

清视频(比如1 080P)的并发使用场景下,经常会有卡顿、

5 图像压缩算法优化

操作延时(比如拖动、滚动操作后,刷新的屏幕画面会有秒

级别的延时)等不流畅现象。解决此类问题的一种做法是选

5.1 文字/图形类场景算法优化

择降低屏幕显示质量来保证流畅度,但是过分地降低显示质

Spice协议考虑好几种压缩算法来用于图像压缩,考虑

量会导致桌面推广受限。因此,希望有一种云桌面传输协议,

的算法主要有QUIC算法、LZ算法及GLZ算法。针对文字

在有限带宽下,能保证绝大多数应用场景的云桌面质量优良,

/图形类的图片,Spice主要选择使用LZ算法或GLZ算法进

且使用流畅。

行压缩。在云桌面图像系列场景中,比如浏览文档类或者浏

4 图像分类算法优化

览文字较多的网站类场景时,压缩性能并不高,当每秒产生

Spice协议考虑针对不同的图像进行分析,进而进行分

的图片数据较多时,甚至出现每秒几十兆的带宽总量,这给

类处理,该算法叫做渐进度算法。渐进度算法是通过遍历整

传输和带宽的要求带来巨大的压力。

张图片,计算统计出该图片的颜色直方图,并对该直方图数

经过研究分析,云桌面图像系列有几个明显的特征:

据进行一系列的决策处理,得出该图片是属于文字类图片还

(1)像素冗余多:图形用户界面一般由若干元素组成。

是图像类图片。

这些元素包括状态栏、内容区域、菜单栏、标题栏、横向和

但是,该渐进度算法存在一个较大的缺陷。该算法是对

众向的滚动条等元素。这些区域大部分由一些单一的背景颜

—   145   —

多媒体应用技术

信息与电脑

China Computer&Communication

2018年第18期

色或较为简单的背景颜色和文字、图标等内容组成。很多用行或是否存在大部分与之相匹配的行数据。如果没有则直接

户在实际操作场景中,桌面的主视图区域,也只是由文字和将该数据输出到一个数据区准备第二阶段编码之用,同时也

单一背景色组成。在这些具体窗口场景中,存在大量颜色相将该行数据添加到编码上下文的缓冲区。如果有,则替换第

同的像素区域,即像素冗余性很大,如图1所示。一阶段的编码数据为一个使用该缓存的指令,并将该指令放

入第二阶段编码数据区。

4.对图片的所有行进行重复,直到所有行被编码完成。

5.进行第二阶段的字典编码。由于已经得到了图片中所

有颜色样本出现的次数,接下来要根据颜色样本出现的次数

的多少进行一个排序。对于那些出现次数很多的颜色分配较

小的字典项、对于那些出现次数较小的样本则可以分配较大

图1 像素点冗余图例

的字典项。遍历整个第二阶段编码数据区,进行字典压缩编

(2)桌面图像系列中前后帧关联性强:在图形用户界

码,得出最终的压缩结果。

面中,用户的不同操作反映出的结果是不同的桌面显示内容,

以上编码算法的整个过程中,第1步是减小冗余数据量,

这些桌面显示内容一般情况下不会和上一个操作产生的桌面

第3步是利用前后帧图片数据的关联性来减少编码的数据内

显示内容完全相同。例如,一个文档在鼠标滚动过程中,上

容,而第5步则是针对那些颜色相同,但是被分割成离散的

一张画面和下一张画面之间,存在大量的相同像素区域和大

点的像素分配小的字典项来提高压缩率。

量的相同行,前后帧图片的关联性非常强。

解码过程的算法就是编码的逆过程。

因此,笔者提出了一种“缓存式的去重编码无损压缩算

法”,简称RLZ算法。该算法首先利用一种RLE的去重编

5.2 图像类场景算法优化

码思想对图片数据进行预处理,然后结合缓存的概念对数据

在桌面图像系列中,被图像分类算法归为图像类的图片,

进行缓存处理,最后再利用字典算法思想对处理后的数据进

一般都采用图像压缩算法。图像压缩算法有分无损压缩和有

行压缩。该算法大大提高了云桌面文字/图形类图像场景的

损压缩,并且对应得到的图片压缩性能也不同。

压缩性能。

图像类的图片使用无损压缩算法,压缩性能普遍不高。

RLZ算法总体思路框架如图2所示。

为了降低该类场景的压缩带宽,提供压缩性能,很多研究人

员从人眼视觉方向进行考虑。人眼在看图像类图片时,对图

片像素的亮度和色度存在不同的敏感度,表现对亮度非常敏

感,对色度则不太敏感。针对此类特性,当桌面图像系列中

的图像类图片采用有损压缩算法时,也几乎不影响人眼对桌

面的显示质量要求。因此,图像类的图片可采用有损压缩算

法,比如JPEG算法等。

虽然对图像类图片采用有损压缩算法,但针对桌面内由

快速操作产生的大量渲染图片,在短时间内压缩后的数据带

宽总量仍然非常大。为解决此类问题,通过分析这些快速操

作行为的特征,比如对文档、网页等进行快速滚动操作行为,

提出了“动态有损”压缩算法。

当不考虑图片产生的快速变化时,将采用桌面图像系列

图2 RLZ算法总体框架

传输过程,如图3所示。

具体算法描述过程如下:

算法2:RLZ编码算法

输入:桌面图像系列中的待处理图像

输出:输入图像压缩后的数据和长度

1.首先分析需要压缩的图片是否适合使用RLZ算法,

也就是要根据图像分类算法判断图片是否属于文字图形类图

像。如果是继续,否则退出。

2.从第一行开始对图片进行去冗余编码,得出第一行的

图3 快速变化场景系列图

第一阶段编码结果。同时记录颜色样本出现的次数。

采用“动态有损”算法,则桌面图像系列传输过程如图

3.在编码上下文的缓冲区中去寻找是否有已经缓存过该

4所示。

—   146   —

信息与电脑

2018年第18期

China Computer&Communication

多媒体应用技术

图4 动态有损处理系列图

“动态有损”压缩算法中的动态有损处理过程,是采用

有损压缩、降低质量和减少数据量,由于该过程变化快速,

图片细节的部分损失对人眼并不明显。当快速变化结束时,

相当于桌面系列中桌面变化从快速变化转换到慢速变化,人

图5 word文档图像类动态有损优化效果对比图

眼对慢速变化的桌面细节进行了提升,那么需要从动态有损

过程切换出来,这一步称为动态有损后期处理。其具体算法

描述如下。

算法3:动态有损算法

输入:桌面图像系列

输出:经过有损或无损处理的图像系列

1.分析桌面图像系列行为,统计出桌面图像系列是否处

于快速变化阶段。具体统计方法有很多,比如统计每秒产生

的图像系列数量,或者统计区域变化数量等。

2.当识别出快速变化阶段时(如每秒产生的图像大于

图6 PDF文档图像类动态有损优化效果对比图

M),则进入到动态有损处理过程。采用有损压缩,并根据

变化的快慢决定有损的力度(通过调整JPEG的压缩因子X

来实现)。变化越快,压缩力度越大图像有损力度越大;变

化越慢,则有损力度越弱(M和X取实际应用操作环境下经

大量实验获得的经验值)。

3.在动态有损处理桌面图像系列过程中,实时统计桌面

图像系列特征是否符合动态有损要求。如果不符合,则需要

退出动态有损过程。退出后,需要做后期处理。

4.动态有损的后期处理,主要是针对有损过程的图片质

量在静止时人眼可能可以识别出来,为了不降低显示质量,

则需要恢复桌面显示质量。一进入到后期处理,则需恢复出

图7 IE浏览器网页浏览图像类动态有损优化效果对比图

高质量的画面给客户端,由客户端恢复桌面显示。

类和图像压缩算法,该算法从原理上大大降低了协议传输的

6 算法优化效果分析

数据量,间接上也降低了接收端的计算量,对桌面体验性能

有较大提升。虽然笔者的研究取得了一定的效果,但在图像

图像类场景算法优化,主要指的是指“动态有损”优化

类场景压缩算法的优化方面还可以展开后续的研究工作,进

算法。在云桌面图像系列中,特别针对“WORD文档-图像

一步提升桌面的体验。

类”“PDF文档-图像类”及“IE浏览器网页-图像类”做

了对比实验,结果如图5、图6、图7所示。

从效果图可以看出,动态有损算法优化效果非常明显,

参考文献

实际带宽峰值降幅在60%以上,带宽均值降幅在60%以上

[1]徐燕雯.基于KVM的桌面虚拟化架构设计与实现[D].

甚至达到75%。

上海:上海交通大学,2012.

7 结 语

[2]张耀祥.云计算和虚拟化技术[J].计算机安

全,2011(5):80-82.

笔者主要介绍了基于Spice协议针对一些桌面特定场景

[3]任怡,管剑波,尹虎哲,等.面向瘦客户端的WEBOS

存在的问题,提出了桌面体验优化的改进思路,包括图像分

研究[J].计算机科学,2010,37(6):164-167.

—   147   —

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论