- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于自适应Huffman编码的脑电信号压缩算法
摘 要 本文通过整理分析大量脑电信号特征,提出借助自适应Huffman编码解决脑电信号的压缩存储问题的方法,这种方法无需额外空间保存数据字典文件。文章利用C语言程序设计对脑电信号进行压缩,动态统计信源符号率,并从实验结果和性能两个方面进行评估分析。
【关键词】Huffman编码 自适应算法 无损压缩
1 引言
随着计算机技术和网络技术的迅猛发展,数字化、多媒体等新产品已经走进人们的生活,并且在各个领域中不断创新发展。在人们生活水平不断提高的同时,人们对健康、保健等知识的获取也随之丰富。新的科学技术和研究理论在医疗领域发挥的作用逐步加深。脑电信号是一种可以帮助医生诊断患者脑部疾病的重要手段。由于人脑自身可以产生微弱的生物电,利用先进医疗仪器可以将其放大显示,进而可以显示头皮电位的高低频率,这种高低电位信号相互连接就产生了人脑的波形曲线图。随着脑电信号研究的不断深入,人们已经在脑部疾病的辅助诊断、揭示脑电功能、工程应用方面以及其他领域中取得大量学术价值和研究成果。然而,一方面对于具备医学研究价值的脑电信号是有必要深入研究的,由此产生的数据量是巨大的,伴随医疗器械需要存储和传输的数据量也是惊人的;另一方面,如何利用现有的设备高效的进行数据存储和解析,是摆在研究人员面前的又一个难题。
2 数据压缩算法
2.1 数据压缩
数据压缩是指在不丢失信息的前提下,缩减数据量以减少存储空间,提高其传输、存储和处理效率的一种技术方法。按照一定的算法对数据进行重新组织,减少数据的冗余和存储空间。数据压缩包括有损压缩和无损压缩。一些机制是可逆的,这样就可以恢复原始数据,这种机制称为无损数据压缩;另外一些机制为了实现更高的压缩率允许一定程度的数据损失,这种机制称为有损数据压缩。
有损压缩(Lossy Compression),又被称为破坏型压缩,这种压缩方法对压缩后的数据进行重新编码,将次要的信息压缩掉保留主要的信息,重新编码后的数据与原始的数据之间存在不同,却不影响人们对原始数据的理解,这种通过牺牲数据质量来减少数据量的方式换来了较高的压缩比。然而,这种压缩方式会产生渐进的质量下降,造成无法完全恢复原始数据,所以常用于语音、图像和视频压缩。
无损数据压缩(Lossless Compression),这种压缩方法无需对压缩后的数据进行重新编码,恢复后的数据与原始的数据完全相同,压缩后的数据不受任何损失,解压后数据质量没有损失。然而,这种压缩方式处理后的数据会压缩到原来的1/2~1/4,压缩比率明显低于有损压缩,占用空间大,所以常用于高品质数据的处理。
2.2 Huffman编码
Huffman编码,又称最佳编码,作为一种高效实用的无损数据压缩算法,是由D.A. Huffman首先提出的一种通过构造最小冗余代码为核心的理论。正是依靠这一理论内容,算法通过统计数据出现频率,将原始数据中出现频率较多的数据用最短的代码来代替,而出现频率较少的数据用较长的代码代替,每个数据的代码各不相同,有些代码都是二进制码,且码的长度是可变的。
Huffman编码主要利用贪心算法通过构造二叉树来求得编码,且二叉树的构造从叶子节点往根节点进行的。由于Huffman编码方法简单,因此应用比较广泛。现在使用中的Huffman编码大致分为两种:静态Huffman编码和自适应Huffman编码。静态编码压缩率高,缺点是压缩时间长。动态Huffman编码压缩时间短,压缩率相对于静态Huffman编码较低。
2.3 自适应Huffman编码
自适应Huffman编码的核心内容与静态Huffman编码类似,也需要构造一棵二叉树,所有可能的输入符在二叉树存在一个叶子节点与其对应,叶节点的位置就是该输入符的Huffman编码。自适应Huffman编码解决了静态Huffman编码树面临的难题。自适应Huffman编码不需要事先扫描输入符号流,而是伴随编码的进行逐步构造一棵二叉树。随着编码的进行,自适应Huffman编码对输入符的统计也是动态进行,输入符中同一个符号的编码可能有所不同,变得更长或更短。因此在实际领域下,Huffman编码在高质量的图像和视频流传输中获得了广泛的应用。
自适应Huffman编码算法的基本步骤如下:
(1)判断字符在输入符中是否出现。对输入字符进行自适应Huffman编码前需要对输入符扫描一次,需要判断输入符在前面的字符流是否出现过。
(2)判断该字符在该节点编码内是否最大。为了保证其兄弟属性不受影响,在进行增加权重值时,需要额外判断该结点编码是否在所属块是最大结点,如果不是就需要交换当前结点与最大结点。
(3)根据N
文档评论(0)