老狼
发表于 2009-2-4 23:43
有做过数据压缩的兄弟么?请教!
无损压缩,最高能做到多少:1 ?我主要要做AD采集的数据进行数据压缩!<br />没做过数据压缩,能介绍一些算法么?据说没能做到很高的压缩!<br />
computer00
发表于 2009-2-5 00:08
无损压缩的压缩率跟信源本身的相关度有关。
最高可做到无穷大:1。
hotpower
发表于 2009-2-5 00:11
哈哈~~~将无穷个250压缩肯定压缩比很高~~~
老狼
发表于 2009-2-5 00:33
老哥哥别取笑我了!
介绍一下算法!这方面,我的确是250!<br /><br />12路信号,16位AD,每个基波采样1024点,做到511次谐波无损!<br /><br />无损压缩的压缩率跟信源本身的相关度有关。 <br /><br />最高可做到无穷大:1。<br />--------据说,老外能做到几百比1,咋干出来的? 找了几篇音频压缩的资料,和这个都靠不上呀!<br /> <br />
宇宙飞船
发表于 2009-2-5 02:32
压啥数据?视频?音频?
视频就是1DCT,2DCT,3DCT,音频就是FFT。原理上只要把采样点无限扩<br />展就能无限压缩。<br />
computer00
发表于 2009-2-5 08:15
无损压缩最好的算法应该就是哈夫曼编码了。
不过从你这里来看,似乎是要有损压缩啊...这个去找MPEG编码相关的内容看看。
老狼
发表于 2009-2-5 10:40
等老hot!
就是波形压缩,这是个长时间记录仪,就是说至少要连续纪录1个月的时间,当然,时间越长越好,循环纪录,设备要连续工作5年!普通硬盘肯定是不行了!
lpf336
发表于 2009-2-5 10:46
听说过 不知道细节
mybao
发表于 2009-2-5 12:20
压缩跟数据本身的特性有关
比如图像数据要去除时间和空间冗余。<br />语音数据可以提取基音,共振峰等参数。
chunxx
发表于 2009-2-5 16:09
捣浆糊
波形数据无损压缩,如果不是特定的且有研究的数据(象音频数据、心电图之类),比较合适的是Colomb码、Rice码之类前缀码。进行预测、差分之后,用变长码给每个差分的数值进行编码即可。<br />更深入,可以用整数提升小波变换,去相关之后再进行变长码编码。也是无损压缩。<br />直接Huffman编码,不是很合适的,16Bit的样本空间,码本很大,处理起来很慢,可能还不如字典法的LZ编码。Huffman编码只是普通的熵编码方法,类似的还有算术编码,Burrow-Wheel编码之类,都是在对被编码的样本空间进行处理后,在最后一个环节使用的。<br />无损编码,对一般信号数据,图象声音以及文字之类,压缩比一般在1.x~2,压缩3倍是一个上限。能压缩3倍的算法就是极优秀的了,Macrosoft也不容易做到。
alex74
发表于 2009-2-5 16:13
。。。。
一定要找到你AD数据的统计规律。<br /><br />一般要无损压AD数据,最方便的办法是DPCM(或者其他预测)+ huffman。但是效果么就不好说了,能压到80%就很好了。<br /><br />高级压缩就算了,很麻烦的,你可以把数据存下来用winzip压压看,如果能压很多,你可以移植zlip来压缩,但是对内存和速度还是有一定要求的。FFT是有损的,做FFT的原因是数据在频率域有很强的统计规律,如果你的数据在频率域有统计规律,那么可以试试定点DCT+模型编码。一般音频压缩都是有损的,最牛的无损音频压缩flac,monkey等充分利用了双声道的相关性,可以压缩到50~60%
老狼
发表于 2009-2-5 16:33
这样说来,压缩就没啥意义了!
奇怪,老外是咋干的呢?
alex74
发表于 2009-2-5 16:35
。。。
压到几十倍只有两种可能,一是有损的,一定精度的有损应该是可以接受的,毕竟你ad本来就是一个有损的东西。二是数据有规律,有某种强烈的相关性。
宇宙飞船
发表于 2009-2-5 16:37
明白FFT的本质就懂得如何去压缩了!
本来就很简单的事情,却想得太复杂了!
alex74
发表于 2009-2-5 16:38
随便给你举个模型压缩的例子
比如说如果你是电力测量,那么电力的频率是50HZ。那么就这个模型就是一个字节来表示:50.<br />你可以构造一个同样相位的50HZ信号,和你AD的结果做运算。残差必然是很小的,那么可能用4位就可以表示16位的数据。当然这是简单的例子,实际应用复杂多了.
alex74
发表于 2009-2-5 16:51
。。。。
你可以把算法包给我。老外能做到,中国人肯定也能做到,不过价格不便宜啊。<br />哈哈哈,开玩笑
老狼
发表于 2009-2-6 02:49
alex74
你的算法,我也想到了!但是目前这种方法,只适用于我其中的几路信号!另外记录信号,很随机,没有这种特性!难难难!<br />宇宙飞船,你还没有看明白!如果是要到51次谐波不失真,我就不用来问算法了!做FFT好多年了!<br />今晚喝酒,碰到一个搞过算法的哥们儿,说能做到5:1,答应帮我研究研究!<br />老hot哪去了?
alex74
发表于 2009-2-6 08:52
不同路数的信号之间的相关性要去掉
如果你采样率高的话,相邻采样之间必然也有相关性,不会突变
宇宙飞船
发表于 2009-2-6 10:36
你的老哥说的能做到5:1指的是目前
通用DSP的速度极限,抛开速度来讲就可以做到无限了!连这一点都没弄明<br />白,那你这几年就是混过来的!
xwj
发表于 2009-2-6 11:01
撇开数据样本来谈压缩率,那是毫无疑义的
比如这样的问题:<br />“无损压缩,最高能做到多少:1 ?”<br /><br />真的是问得非常的傻