多媒体数据压缩

2024-08-09

多媒体数据压缩(精选7篇)

多媒体数据压缩 篇1

1 多媒体数据的压缩方法

数据的压缩处理是由编码和解码这两个过程组成的。编码, 即是指将原始数据变换成编码的压缩过程;解码, 则是指对编码过的数据进行解压的过程[1]。通过对原始数据和解码后数据是否一致的对比, 我们可以把数据压缩技术分成无损压缩、有损压缩两个类别。

1.1 数据压缩中的无损压缩技术

无损压缩的冗余度理论限制为2:1到5:1。无损压缩技术在压缩过程中不会引入任何误差, 同样, 在还原时能够对原始数据进行完整的恢复, 保证多媒体的信息数据在压缩、解压进行的全过程中不产生损耗、失真等现象。虽然无损压缩技术的压缩比例比较低, 但是经无损压缩恢复的文件和原始数据文件没有任何不同, 有效地实现了信息在压缩还原过程当中的真实性。这种方法多用于电子表格, 文档数据, 图书资料等的压缩。

1.2 数据压缩中的有损压缩技术

有损压缩技术主要是立足于人类视觉无法对图像、声波当中的一些频率成分做出敏感的观测基础上, 采用的允许一部分信息在压缩时发生丢失的压缩技术。有损压缩能大幅度减少多媒体中的多余数据, 它不能实现对原始数据的百分百恢复, 然而鉴于在压缩时丢失的信息并没有影响到人们对原始数据、图像的理解, 同时相较于无损压缩技术, 有损压缩具有很高的压缩比例, 有损压缩技术在语言、图像以及视频等数据压缩工作当中受到了普遍的运用。

2 多媒体数据的压缩标准

2.1 音频的压缩标准

多媒体的音频信号通常被分成电话、调幅广播音频信号以及立体声音信号三大类。前两种音频信号压缩技术相对来说已经比较成熟, 如:相比较保真度很高的立体音频信号, 前两种音频信号压缩技术相对来说已经发展完善, 如子带编码、自适应差分脉冲编码调制、码激励线性预测编码等, 并由国际电信联盟电信委员会为其规定了相应的国际标准[2]。而高度保真的立体声音频信号的压缩、编码技术目前还在持续的进步当中, 其中发展得较为完善的是动态图像专家组音频编码。人们在动态图像专家组, 即MPEG标准和视频技术的结合处理上取得了巨大的成功, 这对今后多媒体压缩技术和全世界科学技术的发展都具有一定的影响。

2.2 视频的压缩标准

作为多媒体系统当中最为关键的组成部分, 视频媒体可以呈现出直观、生动、形象的画面, 给人们提供更丰富的视觉体验, 因此较之于音频, 视频媒体受到了更广泛的喜爱。与此同时, 由于视频的信息量非常庞大, 如果没有高效的压缩技术, 则对于视频信号的传输和存储来说, 无疑是一大障碍。

3 多媒体数据压缩的未来

动态图像专家组制定的标准具有系统化的特征, 对于使用过程当中的具体情况并没有做出明确的规定, 因此必须在相关人员的研究下付诸实施。在MPEG的研究过程中需要注意: (1) MPEG的实现[3]; (2) 对图像的压缩法进行深入的探究, 在保证获取数据压缩比率最大化的前提下最终达成人机的对话。

从现有的MPGE标准看, 基于对象的处理方法是多媒体数据压缩主要集中对象, 即根据情况选择不同方法处理不同的数据、内容、要求等。一方面, 是体现以人为本理念、实现人机对话的必然要求, 人们结合自身实际需要来运用选择的处理办法;另一方面, 也是深入获取图像、数据压缩比率最大化的需要。高速公路的数据流速度无法在原先的压缩方式下实现, 需要在对象处理方法的基础上, 进一步实现模型的压缩方法, 不同对象 (内容) 进行正对性的压缩方法的使用[4], 进而获得更大的压缩比, 同时要满足人的视觉要求。该问题引起了MPEG一7标准的关注, MPEG一7是多媒体内容描述的接口, 它将各不相同的多媒体信息做出标准化的呈现, 结合对描述内容的联系方便、快捷地搜索出不同的用户所需的各类型多媒体资料, 对影音相关内容的描述、定义是MPEG一7的关键。

对内容的压缩是多媒体数据压缩的必然趋势, 这种趋势下对信息的高级处理, 更为接近人们自主的处理方法。除此之外, 在与现代网络技术相互融合的条件下, 图像压缩和视频技术的未来应用必然会得到更好的发展, 例如远程图像、动态视频的传输系统和当下盛行的可视电话系统、电视会议系统等。

4 结语

本文对当下的多媒体数据压缩技术的重要意义进行了分析, 并对其压缩方法、压缩标准以及数据压缩编码的算法选择进行了探究。在对某一压缩方法的优势与不足进行判断时, 我们应当综合考虑数据的压缩比率、处理方式的难易、压缩数据或信息恢复的效果等。也正因为这样, 静止图像采用了联合图像专家小组的压缩标准, 而MPEG视频与声音则采用了MPEG的压缩标准。

参考文献

[1]孟铂, 樊新华.浅析多媒体数据压缩技术[J].电脑知识与技术, 2006, 20:129+156.

[2]赵洪帅.多媒体数据压缩技术[J].中央民族大学学报 (自然科学版) , 2004, 02:175-177.

[3]赵晓莉.浅析多媒体数据压缩技术[J].科技信息, 2 011, 1 9:494+809.

[4]李向军, 高寅生.多媒体数据压缩技术[J].西安联合大学学报, 2001, 02:44-49.

多媒体数据压缩 篇2

21世纪的人类社会是信息化的社会,数字化后的信息,尤其是数字化的视频和音频信息具有数据海量性,它给数据的存储和传输带来较大的困难,成为人类有效地获取和使用信息的瓶颈问题之一。

现如今,媒体元素种类繁多、构成复杂,即数字计算机所要处理、传输和存储等对象为数值、文字、语言、音乐、图形、动画、静态图像和电视视频图像等多种媒体元素,并且使他们在模拟量和数字量之间进行自由转换、信息吞吐、存储和传输。目前,虚拟现实技术要实现逼真的三维空间、3D立体声效果和在实境中进行仿真交互,带来的突出的问题是媒体元素数字化后数据量大得惊人,致使海量数据存储与传送电视信号数字化后的庞大数据量成为了多媒体信息传送面临的最大难题,数据压缩是解决问题的重要途径。

1 多媒体数据压缩的可能性及分类

1.1 数据压缩的可能性

经研究发现,与音频数据一样,图像数据中存在着大量的冗余,通过去除那些冗余数据可以极大地降低原始图像数据量,从而解决图像数据量巨大的问题。图像数据压缩技术就是研究如何利用图像数据的冗余性来减少图像数据量的方法。因此,进行图像压缩研究的起点是研究图像数据的冗余性。常见的主要数据冗余有:

(1)空间冗余:在静态图像中有一块表面颜色均匀的区域,在这个区域中所有点的光强和色彩以及色饱和度都相同,具有很大的数据冗余,这种冗余称为空间冗余。

(2)时间冗余:电视图像、动画等序列图片,当其中物体有位移时,后一帧的数据与前一帧的数据有许多共同的地方,即数据不需要全部传输,这些共同的地方则是冗余,这种冗余称为时间冗余。

(3)结构冗余:在有些图像的纹理区,图像的像素值存在着明显的分布模式。例如,方格状的地板图案等,称此为结构冗余。

1.2 数据压缩的分类

多媒体数据压缩方法根据不同的依据可产生不同的分类。通常,我们对数据压缩方法分类是根据据解码后数据是否能够完全无丢失地恢复原始数据,此种分类可分为两种:

(1)无损压缩:此类压缩也称为可逆压缩,这种压缩方式是在数据的压缩过程中去除或减少冗余值,而在数据解压是,这些被去除或减少的冗余值可重新插入到数据中以恢复原始数据。无损压缩通常使用在对文本和数据的压缩上,压缩比较低,大致在2:1~5:1之间。典型算法有:哈夫曼编码、香农编码、费诺编码、算术编码、游程编码等。

(2)有损压缩:也称不可逆压缩和熵压缩等。这种方法在压缩时减少了数据信息是不能恢复的。在语音、图像和动态视频的压缩中,经常采用这类方法。

2 编码的分类

编码的目的是为了优化通信系统。一般来说,通信系统的性能指标主要是有效性、可靠性、安全性和经济性。所谓优化,就是是这些指标达到最佳。按照不同的编码目的,编码问题可分为三类:信源编码、信道编码和安全编码。

信源编码的目的是为了提高通信系统的有效性,这种有效性通常通过压缩信源的冗余度来实现,即压缩每个信源符号的信息量,使得同样多的信息用较少的信息传输率来传送。编码的思路主要是根据信源输出符号序列的统计特性,寻找一定的把信源输出符号序列变换为最短码字序列的方法。

3 常用的几种编码方法

信源编码理论是信息论的一个重要分支,其理论基础是信源编码的两个定理:无失真信源编码定理和限失真信源编码定理。常用的信源编码方法有:香农编码、费诺编码和哈夫曼编码。

3.1 香农编码

香农编码的基本原理是采用信源符号的累计概率分布函数来分配码字。编码步骤描述为:

(1) 将信源符号按概率递减的顺序排列,令:p (x1)≥p (x2)≥…≥p (xn) ;

(2) 按照不等式:-log p (xi)≤li≤-log p (xi)+1求xi对应码字的码长li;

(3) 令Pi=0,用pi来表示第i个码字的累加概率,则:

(4) 将所有的累加和概率pi变换成2进制数,然后去小数点pi后位作为信源符号xi的2进制码字。

香农编码所得的码字,没有相同的,也没有一个码字是其它码字的前缀,所有是即时码。但因香农编码的编码效率不高,其冗余度还是比较大,不是最佳编码,实用性受到较大限制。

3.2 费诺编码

费诺编码又称为子集分解法,基本编码原理是通过将信源符号的概率分组,对每个组分配相应的码元来实现编码,其编码步骤如下:

(1) 将信源符号以概率递减的次序排列起来,令:p (x1)≥p (x2)≥…≥p (xn) ;

(2) 将按递减顺寻排列好的信源符号按概率分成m个组,使每个组的信源符号的概率和尽可能接近或相等,然后赋予每组一个m元码符号;

(3) 将每一大组的信源符号按概率和递减的次序再分成m组,使同一大组细分的m个小组的信源符号的概率和尽可能接近或相等,并分别赋予每小组一个m元码符号;

(4) 重复上述的分组,分配m元码符号的过程,直至最后分得的每个小组只剩一个信源符号为止,最后每个信源符号所对应的码元序列就是相应的码字。

费诺码考虑了信源的统计特性,使经常出现的信源符号对应短码字,但是不一定能使短码得到充分利用,尤其当信源符号较多时,若有一些符号概率分布很接近时,分两大组的组合方法就会很多, 可能某种分大组的结果,会使后面小组的“概率和”相差较远,从而使平均码长增加。

3.3 哈夫曼编码

Huffman编码法利用了最佳编码定理:在变字长码中,对于出现概率大的信息符号以短字长编码,对于出现概率小的信息符号以长字长编码。如果码字长度严格按照符号概率的大小的相反顺序排列,则平均码字长度一定小于按任何其他符号顺序排列方式得到的码字长度。具体步骤归纳如下:

(1) 将信源信息符号的n个概率,按概率大小排序,即p (x1)≥p (x2) ≥…≥p (xn) ;

(2) 将n个概率中的最后两个小概率相加,这时概率个数减为n-1个;

(3) 将n-1个概率按大小重新排序;

(4) 重复步骤 (3) ,将新排序后的最后两个小概率再相加,相加所得到的和与其余概率再排序;

(5) 如此反复重复n-2次,最后只剩下两个概率序列;

(6) 以二进制码元 (0, 1) 赋值 (如大概率用“0”表示,小概率用“1”表示),构成哈夫曼字。

哈夫曼码字长度和信息符号出现概率大小次序正好相反,即大概率信息符号分配码字长度短,小概率信息符号分配码字长度长。

由于哈夫曼编码每次对缩减信源两个概率最小的符号分配“0”或“1”码元是任意的,所以可得到不同的码字,因此,哈夫曼编码不是唯一的,在进行解码时必须对照相应的哈夫曼表才可正确解码。

4 结束语

香农、费诺和哈夫曼编码是信源编码的三种主要编码方法,它们都考虑了信源的统计特性,使经常出现的信源符号对应较短的码字,使信源的平均码长缩短。香农编码有系统的、唯一的编码方法,但编码效率不高;费诺编码比较适合于分组概率相等或接近的信源编码;哈夫曼编码对系统特性没有特殊的要求,编码效率比较高,对编码设备的要求比较简单,当信源符号概率相差较大时,选择哈夫曼编码是最理想的,哈夫曼编码是最佳编码。

参考文献

[1]陈运.信息论与编码[M].北京:电子工业出版社, 2009.

[2]张旭东, 等.图像编码基础和小波压缩技术[M].北京:清华大学出版社, 2004.

[3]吴家安, 等.语音编码技术及应用[M].北京:机械工业出版社, 2006.

[4]钟家恺.通信原理教程[M].北京:科学出版社, 2003.

基于数据压缩算法的研究 篇3

随着信息技术和计算机技术的飞速发展, 人们面对的数据越来越多, 在数据储存和传输的过程中, 数据压缩[1]的地位越来越重要。一般来说, 数据压缩可以按压缩的失真度分为有损压缩和无损压缩[2]。有损压缩顾名思义就是把使用压缩技术后的数据进行解码还原, 得到的数据与之前的数据不是完全一样, 却不会使人们对原始资料引起错误的理解。有损压缩一般应用在压缩后的数据不一定要和原始数据完全一致的场合。无损压缩就是指把压缩后的数据进行解码还原, 得到的数据与原始数据一模一样, 没有改变。目前流行的无损压缩编码有哈夫曼编码、LZW编码、算术编码、行程编码等。

目前, 数字化和网络化正在给我们的生活带来翻天覆地的变化, 图像的数字化也将成为一个必然的趋势。占据我们大量存储空间和传输带宽的图像, 如果采用数字化处理, 会使得图像数据有如下优点: (1) 数字化处理后的图像容易储存而且方便处理, 不再是一块难嚼的鸡肋, 能够满足人们的各种需求; (2) 数字化处理后的图像在传输过程中容易传输且快速; (3) 数字化处理后的图像与原始图像一样高分辨率, 优质量; (4) 数字化处理后的图像更增强了稳定性和传输过程中的抗干扰能力。但是, 通常数字化后的图像仍然面临着对海量数据的存储与传送问题。所以, 在计算机的存储空间和信道有限的条件下, 怎样高质量、高效率地对数字化后的图像进行可靠压缩成为计算机技术的热门研究领域。

Lempel-Ziv-Welch (LZW) 编码就是一种主要用于图像数据压缩的算法。这种算法对一些简单平滑的图像和一些噪声小的数据具有比较高的压缩比, 而且本算法有比较快的压缩和解压缩速度。本文主要介绍了LZW算法, 并给出了一个编码实例, 通过实验结果可以证明这是一种有效的数据压缩方法。

二、LZW算法

LZW算法是在数据压缩经典算法LZ77和LZ78二者的基础上改进而成的, 由Terry Welch于1984年提出[3,4]。

LZW算法在开始压缩之前, 字典中只有单个字符和编码的串表。开始压缩时, 读入字符串, 按一定的顺序与字典中已包含的字串进行匹配, 如果能够匹配成功, 则将匹配好的字符串对应编码输出;如果不能进一步匹配, 则将导致匹配失败的字符与之前的字符串合并在一起, 加入串表并给以相应编码。

LZW算法的串表具有前缀性[5], 即表中任何一个字符串的前缀字符也在串表中。也就是说, 如果由某个字符串P和某个单字符C所组成的字符串PC在表中, 则P也在表中。C叫作前级串P的扩展字符。

LZW算法与LZ78算法有着相似的编码和解码过程。这两种算法的主要区别在于进行编码时, 因为在压缩时, 字典中已经包含有每个单字符及其编码的串表, 所以在LZW算法的码字中省略了LZ78算法的码字中关于未匹配字符这项, 只是含有已经匹配成功的字符串的索引值, 由此来降低LZW算法的码字的长度以便提高数据压缩比;解码时, 由于表中需要的未匹配字符要在解压缩下一个输入码字后才可以获得, 因此建表的过程相对于压缩时要推迟一步。

三、LZW算法实例

本文使用VC来编译代码和制作界面。

在压缩开始时, 首先要对存放字符串的hash表、结束标志、清除标志、输入/输出缓冲的位置进行初始化。必须使hash表不是空值, 从0开始记输出缓冲位。需要定义前缀字符串Old和当前读入字符Pixel。如果Old+Pixel字符串存在hash串表当中, 就从中取出该字符串的索引编号Index。

部分代码可表示为:

如果Old+Pixel字符串不在hash串表当中, 就把Old+Pixel字符串添加到String Table编码表。

部分代码可表示为:

进行压缩完成后要清除hash表。在数据解码过程中, hash串表能依据原始字典和Index再次生成。

数据的解压缩过程其实是压缩的逆过程。首先还是必须对字符串表、清除标志、结束标志和输入/输出进行初始化。需要定义前缀字符串Old和当前读入字符Pixel (当前输入的经压缩后的字符) 。如果Code既不是清除标志也不是结束标志时, 算法进行数据解码工作。

部分代码可表示为:

进行解码完成后, 要清空m_pStrBegin指针, 即清空指向String Table表的指针。

下面我们采用一个示例图像, 使用本文的LZW算法来进行压缩。原始图像zuoye如图1所示, 是一个大小为486 Byte, 宽度和高度均为12像素的彩色图像。本文用VC做的界面图, 选择zuoye为压缩文件后, 单击编码按钮就可进行压缩操作。压缩结果如图2所示。

图2压缩结果图

从图2可知, 原文件大小为486字节, 利用LZW算法进行压缩后为132字节, 压缩率为27%。

四、结论

通过实验结果可以看出, 本文提出的算法是一种有效的无损数据压缩算法。许多学者一直在对LZW及其派生算法加以不断地改进和完善, 使之成为了当今数据压缩的主流算法。

参考文献

[1]David Salomon.吴乐南, 等.数据压缩原理与应用 (第二版) [M].北京:电子工业出版社, 2007.

[2]侯阳.数据压缩技术及C语言实例[M].北京:学苑出版社, 2005.

[3]张凤林, 刘思峰.一个改进的LZW数据压缩算法[J].小型微机计算机系统, 2010, 27 (10) .

[4]林小竹, 籍俊伟.一种改进的LZW压缩算法[J].计算机工程, 2009, 31 (14) .

多媒体数据压缩 篇4

合成孔径雷达(Synthetic Aperture Radar,SAR)作为一种高分辨微波成像系统,可实现全天候、全天时、高增益的地面目标成像,因此具有重要的军事意义。合成孔径雷达的高分辨,在距离向上主要通过宽信号频带设计发射大宽带信号,在方位向上则通过雷达载机平台的运动依靠雷达平台运动形成的合成孔径[1]。随着SAR成像技术的不断进步和发展,成像的分辨率越来越高,以及场景目标的测绘带越来越宽,从而雷达回波数据量急剧增加,这些海量的SAR数据会给数字信号处理机的数字化采样、存储和传输等都带来很大的挑战,因此,如何有效地压缩与重构SAR数据是目前亟需解决的重要问题[2]。

近年来,压缩感知(Compressed Sensing,CS)理论[3]作为一种新的信号获取与压缩重构方法被引入到雷达信号处理领域中[4,5,6,7],该理论指出,当信号具有稀疏性或者可压缩性的时候,通过求解最优化的问题,可以用远低于奈奎斯特采样所采集到的信号观测值以高概率重构原信号。也就是说CS理论是利用信息采样代替传统的信号采样,因此采样速率主要取决于信息在信号中的结构和内容。如果将CS理论引入到SAR数据处理中,则有望实现更为有效的数据压缩,从而便于数据的传输和存储。

因此,本文利用CS理论来研究SAR场景目标数据的压缩与重构技术。由CS理论可知,待压缩数据可实现有效的稀疏化表征是该数据可运用CS理论进行压缩的前提。对于SAR场景目标,由于成像图中每个像素点对应的每个散射点是紧密排列的,因此很难实现有效的稀疏化表征。然而,对于SAR海面场景目标,其大量的海洋背景可认为是非重要信息,只有其中的少量舰船目标才是重要信息,这样,少量的舰船目标相对于大量的海洋背景是稀疏的。因此,可利用CS理论完成SAR海面场景目标数据的压缩与重构。本文依据这个思想设计了基于CS理论的SAR海面场景目标数据压缩与重构方法,具体步骤阐述如下:当SAR收到海面场景目标的回波数据后,首先依据CS理论,构造高斯噪声观测矩阵来完成对回波数据的压缩,然后再利用平滑L0(Smooth L0,SL0)算法对压缩后的数据进行处理来重构原始回波信号,在此基础上,进一步利用传统的频率变标(Frequency Scaling,FS)算法完成海面场景目标的高分辨成像。仿真实验结果证明了本文方法的有效性。

1 压缩感知理论

考虑一个实值的有限长的一维离散信号H∈RN1,假设其在某规范正交基Ψ={ψ1,ψ2,...,ψN1}下可表示为:

式中θl为投影系数。式(1)写为矩阵形式,即:

式中:Θ={θ}l为N1×1维的列向量,如果Θ中只有K1个不为零的元素或者可以用K1个较大的系数能够较好的逼近原始信号,且K1≪N1,则说明该信号H是K1-稀疏的或者可压缩的,Ψ称为稀疏基矩阵。CS理论指出,对于稀疏信号可用一个大小为M1×N1维的观测矩阵Φ(M1≪N1,M1O(K1⋅lg(N1K)))对其进行降维观测[3],得到观测集合U,即:

显然观测集合U的元素个数远小于H的元素个数,从而实现了对信号H的压缩采样。从观测集合U重构信号H实际上是一个求解欠定方程组的问题,无法直接求解。显然观测集合y的元素个数远小于x的元素个数,从而实现了对信号的压缩采样。定义压缩倍数为:

压缩感知理论指出,当感知矩阵ΦΨ满足约束等距性(Restricted Isometry Property,RIP)条件时[8,9],信号H的稀疏表示Θ可以由低维观测数据U高概率重构,即对于任意的K稀疏的信号Θ和常数εK∈(0,1),感知矩阵ΦΨ要满足式(2):

当感知矩阵ΦΨ的RIP性质得到满足时,则可利用通过求解最小L0范数问题得到信号H的稀疏表示Θ:

CS理论中另一重要内容就是重构算法的设计问题,也就是对于式(6)的求解问题。当前稀疏重建算法的一种思路是对信号或其变换系数的非零元素个数进行约束,通过0范数最小化求解,代表性的算法是匹配追踪算法和采用连续高斯函数逼近L0范数的平滑L0范数(Smoothed L0,SL0)算法[10];另一种思路是利用L1范数代替L0范数,将非凸组合优化问题转化为凸松弛问题求解,代表性算法是迭代阈值算法和梯度投影算法。为了兼顾算法的重建精度和效率,本文在后续的重构处理时采用SL0算法。

2 本文方法

假设SAR雷达发射信号为常用的LFM信号,其表达式为:

式中:当-1/2t1/2时,rect(t)=1,γ为调频率,Tp=1 PRF为发射脉冲宽度,PRF为脉冲重复频率,fc为载频,t为全时间,t̂=t-m Tp为快时间,tm为慢时间。假设目标由N个散射点构成,那么雷达接收到的回波信号,经过基带变换之后,得到[11]:

其中,RΔ是散射点与参考点之间的距离:

式中:ΔKR=4πγt̂c,Xa=V⋅tm,b=8πγ/c2,c是光的传播速度,L是成像所需的合成孔径长度,V是雷达载机的运动速度。

假设雷达接收到的回波信号在成像积累时间内按照奈奎斯特采样定律可得到N个采样值。那么根据CS理论,构造M×N维的高斯噪声矩阵Φ作为观测矩阵进行SAR回波信号的压缩处理,其中,高斯噪声矩阵Φ中的每个元素均服从N(0,1)分布。这样,有:

对于信号s(ΔKR,Xa)直接进行傅里叶变换,即可实现回波信号的稀疏化表征,因此构造离散傅里叶(DFT)矩阵Ψ作为稀疏变换矩阵。由于高斯噪声矩阵Φ与DFT矩阵Ψ线性无关,因此,他们的乘积ΦΨ满足RIP性质[12]。那么根据CS理论,即可通过求解下述表达式得到Ŝ:

对于该问题的求解,采用平滑L0算法,然后再对重构得到的结果Ŝ做傅里叶变换,即可获得SAR原始回波信号的重构结果ŝ(ΔKR,Xa)。

在此基础上,进一步利用FS算法[11]来获得最终的海面场景目标SAR成像结果。首先将信号变换到多普勒域,得到:

式中:Y和KX分别表示对ΔKR和Xa进行离散傅里叶变换之后的自变量。RB是一个常数因子,其表示目标与雷达的初始距离,Rs和Rref分别表示当载机平台运动起来后,目标散射点和参考点距雷达之间的距离。

根据频域变标算法,首先去除距离弯曲的空变性,因此S(ΔKR,KX)需要乘以频率变标函数H11,其形式为:

下面再进行“去斜”处理,也就是进行剩余视频相位的校正。校正函数处理后对信号再做傅里叶变换,变换回二维波数域。然后再乘进行逆频率变标,逆频率变标的因子为:

经过上述处理,信号完成了频域变标,下面针对频率变标的信号处理主要分为:

(1)距离徙动校正,校正因子为H22;

(2)二次距离压缩,二次距离压缩的参考函数为H23;

(3)进行方位脉压,脉压函数为H24。

经过上述处理即可得到观测场景的图像,其中校正因子和补偿函数的具体的表达式为:

本文方法的具体流程图如图1所示。

3 仿真实验

采用加拿大星载RADARSAT-1所观测的海面场景目标为例来模拟产生原始的SAR回波信号,然后再利用本文方法对其进行处理。图2(a)所示为利用传统FS算法直接成像结果,图2(b)~图2(d)分别为当压缩比为25%,12.5%和6.25%时,利用本文方法的成像结果。

下面分别利用重构结果与原始图像之间的均方误差(MSE)以及峰值信噪比(PSNR)来衡量[13],定量分析成像结果。

其中,I(i,j),Î(i,j)分别表示原图像和重构图像的像素值。

通常情况下,均方误差值越小,峰值信噪比值越大,重构图像的质量越好。表1所示即为本文方法在不同压缩比条件下的成像结果比较。

分析图2和表1中所示的结果可以看出,随着压缩比的不断降低,利用本文方法获得的成像结果质量越来越差,MSE值越来越大,PSNR值越小,然而,当压缩比降为6.25%时,利用本文方法获得的海面场景目标SAR成像结果中仍可以有效地判别出7只不同的舰船目标,因此,本文方法可以将SAR海面场景目标回波数据压缩16倍左右,这些仿真结果充分证明了本文方法的有效性。

4 结论

CUDA并行数据压缩技术研究 篇5

1 bzip2数据压缩技术

bzip2采用Burrows-Wheeler块排序文本压缩算法和Huffman编码方式压缩文件, 压缩率一般比基于LZ77/LZ78的压缩软件好得多, 其性能接近PPM族统计类压缩软件, 而且速度较快。本文采用开源的bzip2压缩工具, 相比其他工具, 采用BWT算法的bzip2压缩工具已经可以达到很好的效果。BWT算法它与以往所有通用压缩算法的设计思路都迥然不同, 其核心思想是对字符串轮转后得到的字符矩阵进行排序和变换, 大致分为3个步骤:1.排序变换;2.解压变换;3.输出原字符串。

为了提高压缩速度和压缩比, 文献[3]提出在共享内存架构上实施并行BWT算法。主要有两种并行化BWT算法的方法:1.并行排序算法, 因为在BWT算法中, 排序占用时间较长, 所以在并行机上实施排序算法能大大减少排序所占时间;2.使用更多的块, 由于BWT算法需要比输入数据多10倍的存储空间, 将数据拆分成很多独立的块, 各个块在并行机上独立压缩, 最后再实现各块的汇总, 这需要很大的内存空间。并行化BWT算法由此引发了pbzip2的提出。pbzip2也是采用把数据分成多个块的方法, 一次读入整块数据, 采用FIFO队列系统的生产者/消费者模型。队列的容量取决于pbzip2采用的处理器的数目, 这样可以很好协调速度和所需内存之间的关系, 同时pbzip2采用的BWT算法减小了块间通信对压缩速度的影响。文献[3]表明在多处理器系统上使用并行bzip2可以达到很好的压缩效果, 大大提高了压缩速度。

下面来看看串行bzip2和pbizp2的流程示意图如图1, 图2所示。

2 CUDA上实现数据压缩

2.1 CUDA上LZ77数据压缩

统一设备架构 (CUDA) 是NVIDIA公司提出的一个基于GPU通用计算的开发环境, 它针对GPU多处理单元的特性, 通过并行计算提高大规模运算的速度。CUDA架构的出现, 引出了在CUDA架构上实现数据压缩的研究, 试图利用GPU的特性, 提高压缩性能。目前, 已经实现了在GPU上JPEG的压缩, 主要是充分利用了CUDA架构的优势———在共享内存上进行大批量数据密集并行操作, 而它的瓶颈是执行控制逻辑和处理存在数据依赖时速度很慢。如果不能充分利用CUDA架构的优势, 在GPU上执行反而会降低压缩性能。因为JPEG图像压缩中各图像是独立的, 很少存在数据依赖问题, 这符合CUDA架构优势, 可充分利用CUDA在处理计算密集型方面的优势, 而且JPEG在GPU上编码后, 在CPU上执行Huffman编码, 这样GPU和CPU密切配合起来, 协同工作;无损编码在GPU上执行, Huffman编码在CPU上执行, 提高了压缩速度。这是并行计算技术的又一重大突破。

那么在GPU上实现数据压缩是否能比在多处理器的CPU上用pbzip2获得更好的性能, 目前已有众多科研者在研究这一问题。斯坦福大学研究者研究实现了用LZ77算法在GPU上的数据压缩, 可以达到比在多处理器上多线程CPU上并行数据压缩高4倍的压缩比, 但由于LZ77算法含大量的内存比较和I/O操作, 不符合CUDA的架构特性, 所以在GPU上执行数据压缩的速度不如CPU上。其中通过增加CPU和GPU间的内存带宽是更好发挥GPU特性的一种方法。

由图3和表1可以看出, 在CUDA上执行的LZ77数据压缩算法性能不如在CPU上并行压缩达到的速度快, 主要原因是因为算法中涉及到的控制分支结构和数据依赖本身决定了其不符合在CUDA架构, 不适合在GPU上实现提速。没有充分利用CUDA的强大的向量处理能力, 而在并行CPU上多线程处理能获得更块的压缩速度是因为各线程独立处理分支, 不用线程间通信引起的依赖关系。

2.2 CUDA上并行bzip2数据压缩

如今海量数据压缩, 需要更快的速度, 更高的压缩比, 那么既然在多处理器CPU上利用并行bzip2能达到很好的压缩效果, 能否在GPU上实施该并行数据压缩算法, 达到比多处理器CPU上并行bzip2更快的压缩速度和更高的压缩比。bzip2工具主要采用BWT算法和Huffman编码, 文献[3]BWT算法中都是将数据分成很多独立的块, 并不存在很多的数据依赖和控制结构, 所以在GPU上执行会比在多处理器的CPU上并行执行速度要快, Huffman编码由于算法中存在数据依赖和控制结构, 故选择在CPU上执行, GPU和CPU密切配合, GPU作为CPU的协处理器, 结合算法本身特性, 达到很好的数据压缩效果是可行的。经调研, 也有研究者在付诸实施, 但是还未实现。现阶段, 人们已经提出很多方法来实现高速数据压缩, 例如增加GPU和CPU间的内存带宽, GPU植入共享内存多处理器, 都能提高数据压缩的速度。

3 结束语

本文介绍了基于bzip2的并行数据压缩技术, 提出了在GPU上基于并行bzip2的数据技术以及其存在的问题, 接下来的工作是研究并行bzip2工具以及其中的算法BWT是否能充分利用CUDA架构在GPU上来优化数据压缩效果。若不合适, 能否改进算法, 使其充分发挥CUDA架构的优势。研究如何充分发挥GPU和CPU的特性, 达到比在并行多处理器CPU上实施并行bzip2更好的数据压缩效果。寻找适合CUDA架构的压缩算法, 期待达到比并行多处理器CPU数据压缩更好的压缩效果, 将此压缩技术运用到海量数据压缩中, 比如医学图像处理, 地震数据管理等。

摘要:在信息爆炸的今天, 提高海量数据压缩比和压缩速度已成为一种迫切需求。该文主要通过介绍数据压缩的背景知识、数据压缩的现状, 详细分析了基于bzip2的并行数据压缩技术及其并行实现高速数据压缩的算法, 提出在CUDA架构上利用GPU实现并行数据压缩的方法。结果表明, 该文提出的方法相对于在CPU上并行压缩, 虽然压缩速度降低但压缩比却提高了, 这体现了CUDA的优势和局限性。

关键词:并行计算,数据压缩,pbzip2,GPU

参考文献

[1]Wu Leiwen, Storus M, Cross D.CUDA WUDA SHUDA:CUDA Compression Project[D].Stanford University, 2009.

[2]Pankratius V.Parallelizing BZip2:A Case Study in Multicore Software Engineering[D].University of Karlsruhe, 2009.

[3]Jeff Gilchrist Elytra Enterpises Inc.Parallel data compression with BZip2[J].Computer, 2007

数据库压缩功能实现方法 篇6

1 WinRAR压缩软件

要调用WinRAR压缩软件必须要了解其主要功能和具体命令行方式,该软件的主要功能包括:高度成熟的原创算法,对于文本、声音、图像和32位和64位Intel可执行程序压缩的特殊优化算法,获得比类似工具更高的压缩率,使用固实压缩,身份校验,自解压压缩文件和分卷压缩,对物理损伤的压缩文件恢复能力,锁定、密码、文件顺序列表、文件安全以及更多的功能。

WinRAR可以使用固实压缩文件列表(rarfiles.lst)功能,在压缩文件列表中用户定义的文件列表,告诉WinRAR添加文件到固实压缩文件的顺序,它可以包括文件名、通配符和指定项目。注释字符可以用“’;”和“//”,其中“;”应用在每行的开头,相当于Visual Foxpro中的“*”,“//”应当用在文件名或通配符的后面,相当于Visual Foxpro中的“&&”,要使用固实压缩文件列表功能,必须将rarfiles.lst文件和WinRAR.EXE放在同一个目录下。

WinRAR命令行基本语法如下:

WinRAR<命令>-<开关1>-<开关2><@列表文件><解压路径>,详细的命令行

在这里以一个标准的压缩命令来演示压缩执行过程,即命令行:

WinRAR a–pwsywsywsy Myrar.rar@MYrar.lst&&这里设置密码为wsywsywsy压缩生成的文件名为Myrar.rar使用压缩文件列表Myrar.lst。

以一个标准的解压缩命令来演示压缩执行过程,即命令行:

WinRAR e–pwsywsywsy Myrar.rar<解压缩文件夹>

2 实现压缩功能

新建一个表单名为FORM1,在此表单中添加2个标签控件,2个文本框控件,3个命令按钮控件,1个表格控件,表单设计如图1所示。

(1)在表单FORM1的Init事件中写入如下代码:

在表单FORM1中增加一个事件并命名为Refreshgrid,该事件主要完成当压缩目录发生变化时,重新刷新Grid1表格中的数据。在此Refreshgrid事件中写入如下代码:

(2)命令按钮Command1设置(选择需要压缩的文件夹Thisform.command1.caption=“选择需要压缩的文件夹”在该命令按钮的Click事件中写入如下代码:

(3)命令按钮Command2设置(选择压缩文件的存储位置)

Thisform.command2.caption=”选择压缩文件的存储位置”

在该命令按钮的Click事件中写入如下代码:

(4)命令按钮Command3设置(开始压缩)

3 压缩文件解压实现

新建一个表单名为FORM2,在此表单中添加2个标签控件,2个文本框控件,3个命令按钮控件,表单设计如图2所示。

(1)在表单FORM2的Init事件中写入如下代码:

(2)命令按钮Command1设置(选择解压缩的文件夹)

Thisform.command1.caption=”选择解压缩的文件夹”

在该命令按钮的Click事件中写入如下代码:

(3)命令按钮Command2设置(选择压缩文件的存储位置)

Thisform.command2.caption=“选择压缩文件的存储位置”

在该命令按钮的Click事件中写入如下代码:

(4)命令按钮Command3设置(开始解压)

Thisform.command3.caption=”开始压缩”

在该命令按钮的Click事件中写入如下代码:

4 程序运行

按照以上的设置完成后,运行第一个表单,通过选择某一个要进行压缩文件夹,在窗口表格中显示该文件夹下所有文件列表,如果希望某一文件被压缩,表格中对该文件进行选择,未选择则不进行压缩,压缩生成的文件加入了密码,解压的时候,必须输入正确的密码才可以正常解压缩,释放出相应的文件。

运行第二个表单,可以将第一个表单生成的压缩文件进行解压操作,将压缩文件中的文件释放到指定的文件夹下,这样实现了对任意数据文件的压缩和解压操作,利用这样的压缩和解压原理,可以在用VFP编写的应用系统中,开发出强大的数据备份和恢复等功能,有兴趣的读者不妨一试。

摘要:在VFP开发的应用中利用第三方压缩软件,实现对数据的压缩和解压缩操作。通过WinRAR压缩软件的一般调用方法,编程实现了对选择的任意数据文件进行压缩和解压缩的操作。

关键词:数据库,压缩,实现

参考文献

多媒体数据压缩 篇7

基于计算机控制的设备和电力电子装置的大量投入使用,对电能质量提出了更高的要求[1,2]。电能质量数据作为对电能质量改进控制的基础,为电能质量的分析和针对性补偿提供依据,为电网事故快速分析、事故快速定位、事后系统的快速恢复提供帮助。为获取电能质量信息,需要在高采样率下对电能质量数据进行长时在线记录,大量的电能质量数据必须经过压缩后存储和传输[3]。与此同时,为了掌握尽可能多的电能质量信息和节省硬件开销,要求数据压缩算法具有大的压缩比、低的失真度和小的计算量[4]。

在国内外学者提出的众多电能质量数据压缩算法中,FFT方法对暂态畸变波形压缩误差较大,且存在“旁瓣”和“频谱泄漏”现象;基于小波变换的各种压缩方法压缩比高、失真小,但是对稳态信号的压缩不理想,且计算量大,实现困难;而数据的编码压缩虽然实现容易、误差小,但是压缩率低,不能根据电能质量数据特点进行针对性压缩,常作为辅助算法对数据进一步压缩[5,6,7,8]。文献[5]提出了一种将FFT、小波包变换和LZW编码相结合的压缩算法,得到了很好的压缩性能,但是此算法需要通过二进小波变换检测待压缩信号的奇异性,然后对稳态和暂态信号分别进行FFT和WPT压缩,最后进行LZW编码压缩,计算量和硬件实现难度都非常大。

本文充分考虑电能质量数据特点,结合数据的周期性、对称性以及奇偶性,提出了一种将模式相似度与LZW压缩编码相结合的新型压缩方法,并在MATLAB7.10环境下进行了验证实验,与一维离散小波数据压缩性能进行对比,验证了该方法的效果和可行性。

1 数据压缩方法

本文提出的数据压缩和重构算法如图1所示。

电能质量数据具有周期性、关于1/4周期的对称性,是关于原点的奇函数,利用这些特点可以用1/4周期的数据完整地再现整个周期的波形。本压缩算法中,首先以1/4周期为单位,对原始信号进行基于模式相似度归一化距离测度的畸变判定,对畸变的数据进行完整记录的无损压缩,对未畸变数据用基准数据替换,而只记录个数的有损压缩;然后,因为电能质量正常波形和大多数扰动波形是周期性的,可以看成是围绕理想波形的波动,将故障数据与理想波形做差以降低数据幅值,减小编码所需位数和增加重复的字符量,为提高后面LZW编码压缩的压缩比奠定基础;最后将数据进行LZW编码压缩。数据的重构是压缩的逆过程。

2 模式相似度归一化距离测度

模式相似度距离测度广泛应用于模式识别领域,用于判定对比两向量的相似性,具有计算量小、容易实现等特点。常用的距离测度有:明氏距离、欧氏距离、绝对值距离、马氏距离、Camberra距离和归一化距离等[9]。欧氏距离和绝对值距离是明氏距离的特殊形式,欧氏距离放大了较大元素的差别在距离测度中的作用,绝对值距离则对向量中每个元素的差别同等对待;马氏距离则强调各元素之间的相关性;Camberra距离考虑了元素差值在本身的比重,做了自身的标准化;归一化距离将欧氏距离和Camberra距离相结合,在突出较大元素差值的同时,兼顾了各元素在总体的比重,具有很好的畸变检测能力,不受量纲限制,具有一定的抗噪声干扰能力[10,11]。图2是电压暂降归一化距离测度压缩效果图。图3给出了基于模式相似度归一化距离数据压缩流程图。以1/4周期数据为单位,逐次与基准数据进行归一化距离测度判定是否发生畸变,只记录畸变的数据和未畸变数据个数,并用畸变数据替代基准波形。

归一化距离计算方法为:

其中,x和y为需要检测的2个输入向量。

3 LZW数据压缩编码

LZW压缩编码是由Lemple-Ziv-Welch三人共同创造的一种新颖的基于字典模型的无损压缩方法,采用了一种先进的串表压缩[5,12]。LZW压缩编码中定义了字符流、字符、字符串、前缀、后缀、标号、根等概念。首先建立一个字符串表,把每一个第一次出现的字符串放入字符串表中,并用一个数字来表示,这个数字与此字符串在串表中的位置有关,并将这个数字存入压缩文件中,如果这个字符串再次出现,即可用表示它的数字来代替,并将这个数字存入文件中。原始数据串中子串重复得越多,压缩效果越好。LZW压缩编码的优点还在于不管是在压缩还是解压缩的过程中都能正确地建立这个字符串表,压缩或解压缩完成后,这个串表又被丢弃,使压缩效率有了较大提高。

LZW压缩编码实现的流程图如图4所示。编码开始时,字典中包含所有可能的根,且前缀为空;读取字符流中的下一个字符C,作为后缀与前缀组成字符串String;判断字典中是否存在当前String,如果存在,用String更新前缀,否则输出前缀,将String添加到字典,并用后缀更新前缀;判断是否已经是最后一个字符,如果是,输出表示前缀的标号结束,否则继续读取下一字符。

LZW的解码过程为编码的反过程。

4 实验结果与分析

为了验证所提压缩算法的压缩性能,在MATLAB7.10环境下,对6种常见的电能质量扰动信号进行了数学建模[13]、归一化距离测度畸变检测能力和抗干扰能力检测、压缩实验,包括暂升、暂降、中断、振荡、谐波、闪变等。采样率51.2 KSPS(每秒51 200个采样点),信号整体持续0.6 s(30周期),对于暂态故障信号持续时间为0.06 s(3周期),均含有30 d B高斯白噪声。

4.1 归一化距离测度畸变检测和抗干扰能力验证

为了检测归一化距离测度的畸变检测能力和抗干扰能力,在已建立的6种典型电能质量信号数学模型的基础上,按照IEEE标准,设定参数为最小临界值,进行畸变检测能力实验。实验中利用正常信号和6种典型电能质量扰动信号,添加40~60 d B的白噪声,以1/4周期的数据计算归一化距离范围。

图5给出了正常信号和6种典型电能质量扰动信号的归一化距离测度随信噪比(SNR)变化的波形。由图5可知,随着信号中噪声的增加,正常信号和6种扰动信号相对于正常信号的归一化距离测度有轻微的增大,但是直到信噪比为40 d B时,正常信号的归一化距离测度仍然小于6种扰动信号中归一化距离测度最小的谐波信号的最小值。因此,归一化距离测度可以很好地检测出扰动信号且具有一定的抗干扰能力。

4.2 压缩算法性能测试

压缩性能指标主要包括均方误差百分比(PRD)、压缩比(CR),分别如式(2)和式(3)所示:

其中,Sin为原始信号的数据量,Sout为压缩后信号的数据量,d(k)为原始信号,f(k)为重构得到的信号,N为信号的长度。

图6、7分别给出了中断、暂态振荡的压缩效果图。

表1给出了常见的6种电能质量扰动信号参数[13]和压缩效果指标。可知,在30 d B的强白噪声干扰下,除了电压闪变扰动的均方误差百分比为5.3%,其他扰动均在5%以下。对于电压暂降、暂升、中断和稳态的电压谐波,只需记录起始1/4周期、畸变产生和恢复时1/4周期的数据即可,有很高的压缩比;对于波形数据变化较为频繁和剧烈的波动和暂态振荡信号,往往需要记录多个1/4周期的数据,以保证较低的均方误差,导致压缩比相对较低。在模式相似度归一化距离测度压缩的基础上,将记录的数据与理想波形做差后,采用LZW编码压缩,大幅提高了压缩比,平均达到88.9。试验中为0.6 s内发生一次畸变,当1 min发生10次畸变时,平均压缩比将达到889。可见,此算法压缩比高,均方误差低,满足电能质量分析的要求。

注:A代表模式相似度;B代表模式相似度+LZW。

为了更充分地检验本文算法的性能,与一维离散小波变换(1-D-DWT)的电能质量数据压缩算法进行了性能比较。1-D-DWT采用压缩性能良好的db2[14]小波进行6层分解,利用分层能量阈值法[8]进行电能质量数据压缩,压缩性能见表2。各类扰动信号的参数与表1相同,在6层充分的小波分解下,6种典型信号均方误差百分比保持在3.56%~4.52%之间,具有更好的重构性能,但是压缩比平均为63.15,低于本文提出的压缩算法,并且基于模式相似度和LZW的压缩算法计算量远低于小波变换,更易于实现。综上,利用模式相似度和LZW的压缩算法性能优于一维离散小波变换的压缩算法。

5 结论

上一篇:模拟机匣下一篇:自媒体时代的品牌推广