打印

有做过数据压缩的兄弟么?请教!

[复制链接]
9567|51
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
老狼|  楼主 | 2009-2-4 23:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
无损压缩,最高能做到多少:1 ?我主要要做AD采集的数据进行数据压缩!
没做过数据压缩,能介绍一些算法么?据说没能做到很高的压缩!

相关帖子

沙发
computer00| | 2009-2-5 00:08 | 只看该作者

无损压缩的压缩率跟信源本身的相关度有关。

最高可做到无穷大:1。

使用特权

评论回复
板凳
hotpower| | 2009-2-5 00:11 | 只看该作者

哈哈~~~将无穷个250压缩肯定压缩比很高~~~

使用特权

评论回复
地板
老狼|  楼主 | 2009-2-5 00:33 | 只看该作者

老哥哥别取笑我了!

介绍一下算法!这方面,我的确是250!

12路信号,16位AD,每个基波采样1024点,做到511次谐波无损!

无损压缩的压缩率跟信源本身的相关度有关。 

最高可做到无穷大:1。
--------据说,老外能做到几百比1,咋干出来的? 找了几篇音频压缩的资料,和这个都靠不上呀!
 

使用特权

评论回复
5
宇宙飞船| | 2009-2-5 02:32 | 只看该作者

压啥数据?视频?音频?

视频就是1DCT,2DCT,3DCT,音频就是FFT。原理上只要把采样点无限扩
展就能无限压缩。

使用特权

评论回复
6
computer00| | 2009-2-5 08:15 | 只看该作者

无损压缩最好的算法应该就是哈夫曼编码了。

不过从你这里来看,似乎是要有损压缩啊...这个去找MPEG编码相关的内容看看。

使用特权

评论回复
7
老狼|  楼主 | 2009-2-5 10:40 | 只看该作者

等老hot!

就是波形压缩,这是个长时间记录仪,就是说至少要连续纪录1个月的时间,当然,时间越长越好,循环纪录,设备要连续工作5年!普通硬盘肯定是不行了!

使用特权

评论回复
8
lpf336| | 2009-2-5 10:46 | 只看该作者

听说过 不知道细节

使用特权

评论回复
9
mybao| | 2009-2-5 12:20 | 只看该作者

压缩跟数据本身的特性有关

比如图像数据要去除时间和空间冗余。
语音数据可以提取基音,共振峰等参数。

使用特权

评论回复
10
chunxx| | 2009-2-5 16:09 | 只看该作者

捣浆糊

波形数据无损压缩,如果不是特定的且有研究的数据(象音频数据、心电图之类),比较合适的是Colomb码、Rice码之类前缀码。进行预测、差分之后,用变长码给每个差分的数值进行编码即可。
更深入,可以用整数提升小波变换,去相关之后再进行变长码编码。也是无损压缩。
直接Huffman编码,不是很合适的,16Bit的样本空间,码本很大,处理起来很慢,可能还不如字典法的LZ编码。Huffman编码只是普通的熵编码方法,类似的还有算术编码,Burrow-Wheel编码之类,都是在对被编码的样本空间进行处理后,在最后一个环节使用的。
无损编码,对一般信号数据,图象声音以及文字之类,压缩比一般在1.x~2,压缩3倍是一个上限。能压缩3倍的算法就是极优秀的了,Macrosoft也不容易做到。

使用特权

评论回复
11
alex74| | 2009-2-5 16:13 | 只看该作者

。。。。

一定要找到你AD数据的统计规律。

一般要无损压AD数据,最方便的办法是DPCM(或者其他预测)+ huffman。但是效果么就不好说了,能压到80%就很好了。

高级压缩就算了,很麻烦的,你可以把数据存下来用winzip压压看,如果能压很多,你可以移植zlip来压缩,但是对内存和速度还是有一定要求的。FFT是有损的,做FFT的原因是数据在频率域有很强的统计规律,如果你的数据在频率域有统计规律,那么可以试试定点DCT+模型编码。一般音频压缩都是有损的,最牛的无损音频压缩flac,monkey等充分利用了双声道的相关性,可以压缩到50~60%

使用特权

评论回复
12
老狼|  楼主 | 2009-2-5 16:33 | 只看该作者

这样说来,压缩就没啥意义了!

奇怪,老外是咋干的呢?

使用特权

评论回复
13
alex74| | 2009-2-5 16:35 | 只看该作者

。。。

压到几十倍只有两种可能,一是有损的,一定精度的有损应该是可以接受的,毕竟你ad本来就是一个有损的东西。二是数据有规律,有某种强烈的相关性。

使用特权

评论回复
14
宇宙飞船| | 2009-2-5 16:37 | 只看该作者

明白FFT的本质就懂得如何去压缩了!

本来就很简单的事情,却想得太复杂了!

使用特权

评论回复
15
alex74| | 2009-2-5 16:38 | 只看该作者

随便给你举个模型压缩的例子

比如说如果你是电力测量,那么电力的频率是50HZ。那么就这个模型就是一个字节来表示:50.
你可以构造一个同样相位的50HZ信号,和你AD的结果做运算。残差必然是很小的,那么可能用4位就可以表示16位的数据。当然这是简单的例子,实际应用复杂多了.

使用特权

评论回复
16
alex74| | 2009-2-5 16:51 | 只看该作者

。。。。

你可以把算法包给我。老外能做到,中国人肯定也能做到,不过价格不便宜啊。
哈哈哈,开玩笑

使用特权

评论回复
17
老狼|  楼主 | 2009-2-6 02:49 | 只看该作者

alex74

你的算法,我也想到了!但是目前这种方法,只适用于我其中的几路信号!另外记录信号,很随机,没有这种特性!难难难!
宇宙飞船,你还没有看明白!如果是要到51次谐波不失真,我就不用来问算法了!做FFT好多年了!
今晚喝酒,碰到一个搞过算法的哥们儿,说能做到5:1,答应帮我研究研究!
老hot哪去了?

使用特权

评论回复
18
alex74| | 2009-2-6 08:52 | 只看该作者

不同路数的信号之间的相关性要去掉

如果你采样率高的话,相邻采样之间必然也有相关性,不会突变

使用特权

评论回复
19
宇宙飞船| | 2009-2-6 10:36 | 只看该作者

你的老哥说的能做到5:1指的是目前

通用DSP的速度极限,抛开速度来讲就可以做到无限了!连这一点都没弄明
白,那你这几年就是混过来的!

使用特权

评论回复
20
xwj| | 2009-2-6 11:01 | 只看该作者

撇开数据样本来谈压缩率,那是毫无疑义的

比如这样的问题:
“无损压缩,最高能做到多少:1 ?”

真的是问得非常的傻

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

55

主题

956

帖子

3

粉丝