发烧论坛

注册

 

发新话题 回复该主题

一位昔日通信攻城师眼中的CD音源 [复制链接]

查看: 63698|回复: 276
1#

顶楼主!!
附一道正在学习的题:

What is jitter?  
A. The total end-to-end delay  
B. The variations of delay  
C. The delay caused by placing the bits on the wire  
D. The time it takes for the bits to transit the physical media  
Answer: B
最后编辑greatfan 最后编辑于 2009-06-20 16:51:22
分享 转发
Hi - Fi ≠ Hi - Price
TOP
2#

关于刻录CD,请教楼主:
如果刻录碟提取出来的WAV文件与原版提出来WAV文件一样,能不能说明这个刻录碟与原版碟一样?(不比较介质,只比较数字内容)
Hi - Fi ≠ Hi - Price
TOP
3#

在CD-ROM上读数据,出来的数据一样,但是在在CD上播放效果就不一样。
刻录碟它不是error盘,是Jitter盘。

还是有疑问:
音乐CD也是数据碟,也就是二进制保存的数据碟。如果刻录碟在CD-ROM上读出来的数据与原碟一样,在CD机上读出来的数据相信也是一样的。也就是说,在D/A转换前,都是一样的。数据内容一样,播放(D/A转换)出来的效果怎么就不一样了呢? 二进制数据,1就是1,0就是0,一样的数据内容,二进制排列一定是一样的。这里还不涉及时钟概念,自然也不存在JITTER的问题。
最后编辑greatfan 最后编辑于 2009-06-20 22:35:43
Hi - Fi ≠ Hi - Price
TOP
4#

原帖由 mbegin 于 2009-6-20 22:21:00 发表
jitter的影响或许被过份夸大了,如果低于多少PS,人耳盲听无法分辨的话,jitter的探寻也就寿终正寝了

高保真,要的就是精益求精,仍何对重放失真的影响,在这里夸大讨论,都不过份。人耳,因人而异;听感,也只是“感”,影响这个感觉的因素太多了,更不可靠。
最后编辑greatfan 最后编辑于 2009-06-20 22:36:52
Hi - Fi ≠ Hi - Price
TOP
5#

原帖由 未仔的贱骨头 于 2009-6-20 22:36:00 发表
[quote] 原帖由 greatfan 于 2009-6-20 21:42:00 发表
在CD-ROM上读数据,出来的数据一样,但是在在CD上播放效果就不一样。
刻录碟它不是error盘,是Jitter盘。
还是有疑问:
音乐CD也是数据碟,也就是二进制保存的数据碟。如果刻录碟在CD-ROM上读出来的数据与原碟一样,在CD机上读出来的数据相信也是一样的。也就是说,在D/A转

对楼主的解释还是不认可,但“刻录碟”不是楼主要讨论的重点,就此打住。
Hi - Fi ≠ Hi - Price
TOP
6#

楼主的解释, 已经很清晰了.
如果你把正版的CD和刻录的CD, 分别读入电脑, 他们的数据完全一样, 可是声音会不一样, 奇怪吗?

有什么奇怪的呢?我们不正在探讨吗?

讨论刻录碟与原版碟的差异,我认为的前提条件是:
1。只讨论数据内容本身,因为CD碟片就是个数据内容载体。如果要联系到模拟部分,就跟CD碟片的本质功能没关了,数模(D/A)转换是另外一个话题。
2。物理介质差异除外。(其实在不出现error的情况下,介质差异再大,读取的数据内容还是一样.)
所以,我认为刻录碟与原版碟没有差异,是指读出来的数据没有差异,而这正是数据载体CD的功能,后面的事(D/A转换,声音信号重放)已经跟CD碟片的功能没关系了。
最后编辑greatfan 最后编辑于 2009-06-21 00:33:42
Hi - Fi ≠ Hi - Price
TOP
7#

转:探索真相!精确读取和复制CD-Audio

转一篇,大家一起学习.

一直以来,玩电脑入门的人通常都被老鸟告知,通过刻录机精确读取、复制CD-Audio是不可能的,虽然之间的争吵也没有停息过,然而基本上这个言论已经被当作了一种常识了,它是否就是正确的呢?我们首先在第一页会阐述一下精确读取CD-Audio的可能性,再在第二页阐述一下影响读取、复制CD-Audio的因素。
Red Book——CD-Audio

  CD(Compact Disk),是由Sony和Philips共同开发的技术规范。最早出现的CD产品就是CD-Audio,技术规范就是红皮书——Red Book。
  标准CD-Audio的直径为120mm,厚度为1.2mm,音频规格为双通道16位/44.1kHz,频响5-20,000Hz,动态范围96dB,播放时间为74 min。

  在CD-Audio中,数据的最小可访问存储单位为Block(块),相对地在CD-ROM中则称之为Sector(扇区)。
  在CD-Audio中,每一秒音乐划分为75个Block,每个Block被划分为98个Frame(帧),通过比特率之类的计算可以很容易得出每一个Block的大小为2352Bytes,每一个Frame的大小为4Bytes。

  在CD-Audio中,每个Block的2352Bytes内容全部是PCM编码的音频数据,而在CD-ROM中,则只有2048Bytes的内容为数据,其他304Bytes内容则为校验、同步所用,以CD-ROM Mode 1为例:12Bytes Sync(同步内容)、4Bytes Header(头)、2048Bytes Data、4Bytes EDC(CRC校验码)、8Bytes Resevered(保留)、276Bytes ECC(错误纠正码),显然,CD-ROM标准比CD-Audio对数据的保护更加完善。

  不管是CD-Audio还是CD-ROM还是其他CD,每个Frame都是用了两种编码转换成为实际光盘上面的Pit(凹坑)和Land(平面):一个是CIRC编码,保证信息的逻辑正确性;另一个是EFM编码,提供物理读取/写入的信号识别可靠性。
  CIRC(Cross Interleaved Read-Solomon Code)编码过程在24Bytes原始数据中加入
8Bytes的校验帧,它包括了C1和C2各4Bytes的纠错码。需要指出的是,原始的24Bytes数据经过CIRC编码后,分散到包括本CIRC帧在内的109个CIRC帧当中,这大大提高了容错能力。
  CIRC编码生成的32Bytes帧中还要加入1Bytes的Sub-Code控制码,这个控制码对CD-Audio而言是一个关键。
  所有的33Bytes CIRC帧要经过EFM编码,EFM(Eight to Fourteen Modulation)即8到14编码,同时EFM编码要符合二进制光盘的RLL(Run Length Limited,游程控制)编码规则,每8bits数据经过EFM编码为14bits之后都要加上3bits的Merging Bit(合并码),因此EFM编码从效果上实际上是一个Eight to Seventeen Modulation,即8到17编码。
  这样33Bytes的CIRC帧便变为一个561bits的EFM帧,然而这还不是全部,每一个EFM帧需要3Bytes即24Bits的同步字节,同时这个同步字节需要3bits的Merging Bit,这样一个完整的Frame就需要共588Bits的信道脉冲。然后每个脉冲就转换为CD盘片上的Pit和Land,1就是Pit/Land互相转换,0就是保持不变。

  以上就是CD纪录模式的大概技术细节。

Sub-Code控制码

  再介绍每一个Frame上存在的1Bytes的Sub-Code控制码:每一个Block有98Frames,
75Frams的所有Sub-Code组合成为一个Sub-Code Block,显然它的大小为98Bytes。这98Bytes中,头2Bytes标志着Sub-Code Block的开头,独特地称之为S0和S1。
  对于每一个Frame上的1Bytes即8bits的Sub-Code控制码,按顺序称之为P、Q、R、S、T、U、V、W。这样每个98Bytes的Sub-Code Block除去S0、S1 Bytes剩下的96Bytes便可以划分为P、Q、R、S、T、U、V、W words,每个Words就由所有相对的bits组成,如P words就由96Frame里的96个P bit组合而成,每个Words长度为96bits。音频应用只使用了P words和Q words,其他6个用于Text、Photo、Video之类的控制。

  P words的作用非常简单,在每一个Audio Track音轨的开头,P words全部为二进制1(还有一些其他规则),在音轨中,P words全部为二进制0。Lead-Out区域,P words以交替为0和1,周期为每秒2个循环。

  Q words,96bits,分为4个部分:
  第一个4bits的部分用于控制,Bit 1为0时CD盘片即为双声道,为1时即为四声道(当然……CD-Audio并不支持4声道,所以这个bit没什么大路用),Bit 2 未定义,Bit 3即为复制开关,为0时禁止复制,1时则可以——最后效果如何,要看读取的光驱买不买账——Bit 4控制Pre-Emphasis需要如否,为0则不需要,这个选项仅对模拟输出有效,同时还有一些其他不重要的限制。
  第二个部分的4bits决定着第三个部分72bits的结构模式。最后16bits的第四部分为CRC错误检测,纯粹是检测,无法纠错,基本上没什么用。
  第二部分的4bits可以定义16种模式——通常只有3种有用:

  Mode 1定义第三部分的72bits纪录CD-Audio碟片音轨的号码以及开始的时间。72bits分为9Bytes,每Bytes使用BCD(Binary Coded Decimal)编码解码为两个十进制数字。
  第一个Byte就包括着音轨号,范围就是01到99,在Lead-In,这个值为00,在Lead-Out,这个值为AA。
  第二个Byte在音轨内记录着索引号,范围是01到99,00用于音轨之间。在Lead-In区域,它记录着音轨号。Lead-Out区域这个值为01。
  接下来使用3个字节来记录当前Block的分、秒、Block间隔,因为Sub-Code Block出现的频率跟纪录Block出现的频率是一样的,都是每秒75次。在Lead-In,这个间隔从唱片开头计算,在音轨内,这个从音轨开头开始计算,音轨之间,这个间隔从下一个音轨开头往回开始计算。
  第6Byte没有使用,并总是为0。
  第7、8、9 Byte作用跟3、4、5 Byte相似,它在Lead-In区域之后,记录着从第一个音轨开头开始计算的分、秒、Block间隔。在Lead-In区域,它们跟第2 Byte一起被称为唱片的TOC(Table Of Contents),为了容错,这时每一个Sub-Code Block都连续重复三次,7、8、9 Byte记录着到达唱片第一个音轨开头的分、秒、Block间隔;当第2 Byte值为A0或者A1的时候,第7 Byte(分间隔)就记录着第一个音轨或最后一个音轨的数值,当第2 Byte值为A2的时候,第7 Byte(分间隔)就记录着唱片的所有音轨时间(包括音轨之间的静音)。

  Mode 2定义纪录UPC(Universal Product Code),这就是很多唱片上面的条形码,开始的52bits被编码为13个BCD数字,接下来的12bits全为0,最后的8bits包括着当前Sub-Code Block在当前秒中的编号。Mode 2 Q words在使用的时候每100个Sub-Code Block必须最少出现一次。

  Mode 3定义纪录每一条音轨的ISRC(International Standard Recording Code),跟Mode 2一样,这是可选的,然而在使用的时候每100个Sub-Code Block必须最少出现一次。ISRC使用了60bits,接下来的是4bits的0和跟Mode 2 Q words一样的8bit名当前Sub-Code Block在当前秒中的编号。
  这三种模式都有着定位音轨、时间的功能。

  最后,CD光盘还使用ATIP(Absolute Time In Pre-groove,绝对时间预制沟槽技术)来指示地址信息,一个ATIP地址信息共42bits,每秒钟出现75次,即每一个Block就对应着一个ATIP地址信息,这个42bits的数据块包括着4bits的同步码、24bits的分、秒、帧信息(每一项使用8bits)以及14bits的CRC校验码。

  由此可见,我们的CD播放器上看到的音轨以及时间信息,都记录在Sub-Code的Q words里面,通过这个信息,对照ATIP地址以及Q words本身,CD-Audio就可以精确定位每一个Block的每一个Frame,因此我们可以完全确定地读出每一Frame的内容,并且每一Frame的内容都受着CIRC编码和EFM编码的保护,最后我们可以有序、精确地读出完整的CD-Audio信息。

  简而言之,精确地读取CD-Audio的信息是可能的,影响着这个可能精确读取度的因素是CIRC编码及EFM编码的可靠度。影响CD-Audio复制、刻录、回放的另有原因。

  CD-ROM具有额外的ECC/EDC纠错码而具有着更高的可靠性。
CD-Audio Beta、Jitter、回放及复制

  对于CD-Audio的精确读取,在上一页已经阐述了其可行性:CD-Audio上每一个帧都可以有序精确定位,每一帧的内容都可以完整读出。现在我们来看看实际情况,以及一些以前的观点。

  对于CD-Audio盘片而言,有两个影响/读取回放质量的因素:Beta和Jitter。
  Beta就是激光功率在Pit和Land区域相对于功率中间点的对称性。CD-Audio规定为不大于+-0.008。
  Jitter就是碟片的的数据周期/长度与标准数据周期(时钟)/长度之间的误差,参照物为标准的3T周期/时钟,单位为%或者ns。CD-Audio标准为不超过15%,即约为35ns。
  显然,光盘的Beta和Jitter同时也跟读取/刻录光驱相关。通常Beta不是一个太重要的因素,人们谈论更多的是Jitter。

  对于CD唱机而言,可以分为唱盘和DAC两大部分,纯数字的唱盘部分可以/可能做到输出正确的数字信息,可能的音质影响因素便存在于唱盘机械部分引起的无法纠正的读取错误(光头数字部分时基电路的Jitter也有可能会引起这些错误,然而大部分情况下,被CIRC编码和EFM编码所修正),以及由于时基电路的Jitter引起的DAC过程不精确上(这个,无法修正……)。
  对于CD播放器而言,Jitter就是时基抖动,归根到底就是频率发生器/晶体振荡器产生的时钟信号的准确程度。同时,时基电路的Jitter也引起了光头的数据周期/长度与标准数据周期(时钟)/长度之间的误差,即Jitter是一脉相承的。
  一些传统的观点认为CD-Audio是没有定位信息的,由于Jitter的原因光驱无法得到准确的读出信号,现在我们知道CD-Audio确实是有很多同步、定位信息的,所以这种观点自然不再成立。
  另一些观点则承认CD-Audio可以完整读出,但是因为Jitter原因无法得到精确的音频数据,这是对Jitter的误解,由Jitter引起的Pit/Land读取错误会被EFM编码纠正,更大范围的错误则可以被CIRC编码纠正(当然CIRC编码之后就没有更多的保护措施了),这种观点自然不是正确的。
  然而,CD唱机的通常遇到错误的数据块的时候是不会反复读取的,这时就会产生爆音,或者,按照机理的不同,通过运算生成一个接近真实值的新值来代替,这样回放效果自然不会好。高级的CD播放器会通过机械、时钟电路等各方面的改进来提升回放的效果,相对地成本也会更高。

  对于CD光驱而言,回放通常由声卡来完成,这时跟CD唱机的情形也差不多,因此光驱数字部分时基电路的Jitter和声卡DAC部分的Jitter影响着音质。
  读取CD-Audio的时候,通常CD播放器不会反复读取CD-Audio的Frames,因此要得到完美的声音,需要付出较大的代价,而CD光驱抓音轨则可以反复读取,因此CD光驱抓轨对于复制而言可以/可能做到100%的,这一方面而言CD光驱对于CD唱机具有一定的优势——不过CD唱机也可以完全设计为遇到错误重新读取。
  光驱读出的无损PCM编码数据通过各种总线传输至声卡,再通过声卡DAC最终输出模拟信号,这方面通常的CD唱机或者配备的额外的DAC就要比声卡具有更多的优势——当然声卡中也有DAC效果很好的产品存在。
  CD光驱模拟方式播放CD则通常比CD播放器糟糕得多,数字播放方式则同样会受到声卡DAC的Jitter困扰,并且这时光驱读取错误通常不会反复读取错误段(基本都如此设计)。

  总体而言,精确读取CD-Audio方面CD光驱具有一定的优势,而在回放方面,CD唱机会做得更好。

CD-Audio复制

  我们暂不考虑版权问题,只考虑技术。
  对于个人复制而言,通常是指将音频抓轨的WAV文件刻录到CD-R盘片中,如前面所述精确的读取是有可能实现的,同样的逆过程按照原理也可以/可能实现,即音乐内容一模一样的复制碟片是可以的,不过复制的碟片同时受到刻录机和刻录碟片的Beta、Jitter影响,因此通常难以做到100%复制,不同的的刻录机、刻录碟片表现也不相同,这也是玩家不停追寻高档刻录机和刻录碟片的原因。
  关于音频抓轨和刻录还有一个脚注:Offset(偏移),这是因为不同的光驱/刻录机起始的读取/刻录时间有差异造成的,不过除了Offset不同之外,其它数据都一样,因此它们不影响音质。同一个光驱/唱机流行的音频抓轨软件Exact Audio Copy里面具有专门的Offset相关选项。
  CD唱片的复制制造则不同,通过一个钢制的母片(第二母片,第一母片是一个很软的材料制作的,不适合复制),使用类似铅字印刷的方式制造出大量几乎是100%一模一样的CD碟片——就是我们买到的CD唱片。
最后编辑greatfan 最后编辑于 2009-06-21 08:19:34
Hi - Fi ≠ Hi - Price
TOP
8#

1.发烧友要绕过这道坎,办法前面说过,就是通过PC先把CDDA无损地抓成二进制文件。
PC 的CD-ROM也是光驱啊,也有马达啊,这道坎好像也没绕过吧?
2.提高采样率。
SACD,VIDEO-CD 如何?
3.或者参考英国之宝那样的设计,利用CD-ROM的纠错能力,大容量缓存提供延时或者配有更强健的纠错方式....
采用缓存(减少Jitter的影响),是很成熟的技术,也很廉价,这么简单的方法,设计专家们没想到? 所以应该不是少数商家的行为. 验证方法很简单,打开机箱,看板卡上的内存芯片就知道了.
最后编辑greatfan 最后编辑于 2009-06-22 10:39:24
Hi - Fi ≠ Hi - Price
TOP
9#

回复 171# 未仔的贱骨头 的帖子

3.这种设计对CD多少有创新的味道,而想到和实施是两回事,毕竟发烧是少数人的事情。貌似类似的成品很少,普通CD肯定不会这样设计,对它而言不是一个廉价方案。也没法一一去验证。

发烧友们用的肯定不是普通CD,一块512K的缓存不超过10元,再加上配套成本,相对动辙上万的CD机来说应该算廉价吧?如果没法去验证,楼主怎么就肯定不会这样设计呢?没法一一验证,OK,请楼主举例一款HIFI CD机不是这样设计的(没加缓存)?

1.感觉老兄对CD光驱播放与CD-ROM读取,还是没怎么留意两者的差别以及和时间的关系,前面讨论了很多了。我说的马达,是指CD的“实时”播放还依赖马达(泛指激光读取这种方式)已经落伍了,一定要注意“时间”这个概念,当然了本质还是纠错。

有了二级缓存,CD的读取/播放就不是“实时”的,纠错便有了更多时间。

如果数据传播(音乐发布)不依赖激光读取,还有什么更方便的方式呢?互联网,U盘?
最后编辑greatfan 最后编辑于 2009-06-22 13:01:42
Hi - Fi ≠ Hi - Price
TOP
发新话题 回复该主题