耳机俱乐部论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

楼主: 小白

问一个APE"无损压缩"的算法问题,望软件高手赐教

[复制链接]

164

主题

1万

帖子

207

积分

荣誉会员

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

积分
207
注册时间
2005-2-22

优秀版主奖

发表于 2008-3-31 13:57:04 | 显示全部楼层
至于什么金耳朵,天下无敌等高帽子,也就是JD那种垃圾论坛的遗风而已
给人套上容易,反正啥都不用证明,只要会打字就可以了
PC hi-fi : IBM x220i->TC K8->Apogee Rosetta200 (Mutec iclock Syn Both) ->Drawmer MC2.1->ADAM S4X-H
CD system : CEC TL3N-> Apogee Rosetta200(Mutec iclock Syn Both)->Drawmer MC2.1->ADAM S4X-H

2* TAOC 25MF + 35S
WB isolation transformer + LITE P100
AA Ferrite2,WireWorld Silver Electra 7 * 3
Nordost Tyr2(AES),Tyr(XLR),Mogami 3173(XLR)
回复 支持 反对

使用道具 举报

14

主题

234

帖子

17

积分

中级会员

Rank: 3Rank: 3Rank: 3

积分
17
注册时间
2006-8-29
发表于 2008-3-31 15:56:02 | 显示全部楼层
关于不同时间压缩后容量的不同,应该是:2) Predictor,造成的
http://www.monkeysaudio.com/theory.html
Next, the X and Y data is passed through a predictor to attempt to remove any redundancy. Basically, the goal of this stage is to make the X and Y arrays contain the smallest possible values while still remaining decompressible. This stage is what separates one compression scheme from another. There are virtually countless ways to do this. Here is a sample using simple linear algebra:

PX and PY are the predicted X and Y; X-1is the previous X value; X-2 is the X value two back

PX = (2 * X-1) - X-2

PY = (2 * Y-1) - Y-2

As an example, if X = (2, 8, 24, ?); PX = (2 * X-1) - X-2 = (2 * 24) - 8 = 40

Then, these predicted values are compared with the actual value and the difference (error) is what gets sent to the next stage for encoding.

Most good predictors are adaptive, so that they adjust to how "predictable" the data currently is. For example, let's use a factor 'm' that ranges from 0 to 1024 (0 is no prediction and 1024 is full prediction). After each prediction, m is adjusted up or down depending on whether the prediction was helpful or not.. So in the previous example, what leaves the predictor is this

X = (2, 8, 24, ?)

PX = (2 * X-1) - X-2 = (2 * 24) - 8 = 40

If ? = 45 and m = 512, then [Final Value] = ? - (PX * m / 1024) = 45 - (40 * m / 1024) = 45 - (40 * 512 / 1024) = 45 - 20 = 25

After this m would be adjusted upward because a higher m would have been more efficient

Using different prediction equations and using multiple passes through the predictor can make a fairly substantial difference in compression level.  Here is a quick list of some prediction equations as shown in the Shorten technical documentation (for different orders):

P0 = 0

P1 = X-1

P2 = (2 * X-1) - X-2

P3 = (3 * X-1) - (3 *X-2) + X-3

最后谈到prediction随着压缩水准,使用多种公式或单一公式都会不同
回复 支持 反对

使用道具 举报

5

主题

2330

帖子

14

积分

中级会员

Rank: 3Rank: 3Rank: 3

积分
14
注册时间
2007-6-28
发表于 2008-4-1 03:36:53 | 显示全部楼层
APE是真正的无损压缩格式,基本原理它的网站也讲了,SDK也有的下载,还不信的话自己解压出来对比二进制文件,head-fi上这事情吵过几十页,解压缩出来的二进制文件的确是一样的,这一点请不要怀疑。
这里有个问题,实时播放的程序是不是真正无损地进行解压的呢?实时解压缩有时候为了达到速度的需求就可能采取近似的算法,这是一;二来就是实时解压缩的时候是否能做到精确到44.1khz的时钟,如果不能的话,输出的wav就在时间轴上有误差,如同所有不完美的转盘(或者数字界面)一样,如果DAC没有足够大的缓存、完美的时钟和完善的算法来纠正这些误差的话,最终就会形成失真。
任何想恢复秩序的尝试最终仅仅是给系统增加混乱而已,在数字域完美的音频文件最终还是不能逃脱失真的厄运。从这个方面来讲,无jitter的系统如同永动机一样只能是幻想。
回复 支持 反对

使用道具 举报

4241

主题

10万

帖子

3771

积分

版主

俱乐部理事

Rank: 10

积分
3771
注册时间
2001-11-21

优秀版主奖耳机鉴赏奖社区建设奖

 楼主| 发表于 2008-4-1 09:00:15 | 显示全部楼层
无jitter的系统如同永动机一样只能是幻想. 这话话我认同. 至少在目前的情况下,我看不出有希望造出彻底无jitter的数码音频系统,就如同同样不可能造出彻底无失真的绝对线性放大器一样(让我们举个和HI-FI近些的例子).
安润上海店:http://anrun.taobao.com
小白的新浪博客: http://blog.sina.com.cn/headphoneclub
欢迎订阅微信公众号“耳机俱乐部小白版主”
B站频道:http://space.bilibili.com/232721015
回复 支持 反对

使用道具 举报

4241

主题

10万

帖子

3771

积分

版主

俱乐部理事

Rank: 10

积分
3771
注册时间
2001-11-21

优秀版主奖耳机鉴赏奖社区建设奖

 楼主| 发表于 2008-4-1 09:01:12 | 显示全部楼层
无jitter的系统如同永动机一样只能是幻想. 这话话我认同. 至少在目前的情况下,我看不出有希望造出彻底无jitter的数码音频系统,就如同同样不可能造出彻底无失真的绝对线性放大器一样(让我们举个和HI-FI近些的例子).
安润上海店:http://anrun.taobao.com
小白的新浪博客: http://blog.sina.com.cn/headphoneclub
欢迎订阅微信公众号“耳机俱乐部小白版主”
B站频道:http://space.bilibili.com/232721015
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

积分

新手上路

Rank: 1

积分
0
注册时间
2007-1-22
发表于 2008-5-5 10:35:16 | 显示全部楼层
原帖由 teldec 于 2008-3-31 13:11 发表
哥几个都歇了吧,你们真以为nadesico知道什么是ABX啊?你们说的是ABX,人说的是ABA。

nadesico也歇了吧,别着急google了。

大家都歇了吧,俱乐部有nadesico这样随手就能拿他自己都不懂的名词来忽悠,自己手上有 ...


说得好!同感!同感!

严重鄙视,那些所谓金耳朵们的扯淡论调:
一个wave源文件这个源文件经过ape压缩后又解压缩得到的wave文件,有可闻的听感不同”,
回复 支持 反对

使用道具 举报

164

主题

1万

帖子

207

积分

荣誉会员

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

积分
207
注册时间
2005-2-22

优秀版主奖

发表于 2008-5-5 17:41:59 | 显示全部楼层
原帖由 maya-yama 于 2008-5-5 10:35 发表


说得好!同感!同感!

严重鄙视,那些所谓金耳朵们的扯淡论调:
“一个wave源文件和这个源文件经过ape压缩后又解压缩得到的wave文件,有可闻的听感不同”,


做事情一步一步来
先听出WAV和APE直接播放的去别再谈进一步的:D
PC hi-fi : IBM x220i->TC K8->Apogee Rosetta200 (Mutec iclock Syn Both) ->Drawmer MC2.1->ADAM S4X-H
CD system : CEC TL3N-> Apogee Rosetta200(Mutec iclock Syn Both)->Drawmer MC2.1->ADAM S4X-H

2* TAOC 25MF + 35S
WB isolation transformer + LITE P100
AA Ferrite2,WireWorld Silver Electra 7 * 3
Nordost Tyr2(AES),Tyr(XLR),Mogami 3173(XLR)
回复 支持 反对

使用道具 举报

52

主题

670

帖子

33

积分

中级会员

Rank: 3Rank: 3Rank: 3

积分
33
注册时间
2003-5-22
发表于 2008-5-5 21:54:41 | 显示全部楼层
APE WAV……这种事情其实用AP 测试系统一测就知道什么回事了。起码不会再说什么无损。纯粹是什么人的新衣那回事。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

耳机俱乐部微信
耳机俱乐部微信

QQ|联系我们|有害信息举报:010-60152166 邮箱:zx@jd-bbs.com|手机版|Archiver|黑名单|中国耳机爱好者俱乐部 ( 京ICP备09075138号 )

GMT+8, 2025-5-14 21:06 , Processed in 0.069412 second(s), 40 queries , Gzip On.

快速回复 返回顶部 返回列表