有多少错误可以忍耐?CD与DVD光盘质量深入探讨

  • 主题发起人 主题发起人 Diver
  • 开始时间 开始时间

Diver

知名会员
注册
2002-01-16
消息
5,534
荣誉分数
0
声望点数
146
随着刻录机的普及,别说单纯的CD-RW,就连包含DVD-RW功能在内的DVD刻录机也逐步走进了越来越多的用户日常的应用领域。刻一张CD乃至刻一张DVD,现在已经真的不算什么了?(700多元的驱动器价格,5元左右的刻录盘,已经使DVD刻录的普及门槛大为降低)。然而,一直有一个问题在困扰着用户,那就是光盘的刻录质量。

20050106144633_71892.jpg


经常会有人遇到这样的情况,自己刻出的光盘,不能在朋友的光驱上读取,或者说委托朋友刻成的光盘自己的机器读起来很困难,或者说在VCD/DVD影碟机上出现马赛克等挑盘现象?这是为什么呢?是什么原因造成了上述的现象?不少人会认为,这是光盘的刻录质量问题。但也许,当你看完本专题后就会重新检查自己的这一判断。

就像对内存的延迟的钻研一样,很多人开始了不懈的探索。渐渐的,那些往常只有在相关厂商专业人员之间交流的名词也渐渐被普通大众所听说。比如CD光盘有C1、C2错误之分,比如DVD刻录有PI、PO错误之分,比如Jitter对音频回放还原性的影响,再比如刻录时激光强度对质量的影响……

与之相关的,则是那些以往只能出现在厂商中的测试工具也渐渐大众化,现在只要拥有相关的软件和与其配套的光驱,就可以进行更为专业的测试。而且,有关这方面的文章也越来越多,毫无疑问,在这方面的探索已经在刻录玩家中有了相当的普及程度与较高的积极性,而对这相关知识的阐述详细程度(先不论正确程度),也往往会被同行用来评定水平高低的重要标准,到一些相关的论坛上看看,这类的坛友大多会被尊称为“高手”。由此也能看出,普通大众对这一领域的向往之情。

其实,单纯的去研究光盘的刻录质量的深层技术问题,并不能像了解内存时序那样有助于我们提高系统的性能,甚至可以说即使您知道什么在影响光盘的刻录质量,您也很难去人为的像调整主板BIOS一样,通过调校相关参数去改变它。可以说,当驱动器和刻录盘确定之后,刻录后的事实质量就基本决定了。而且,只有刻录之后,才能评价质量。为什么要说是事实质量,是因为当我们要去评测一张光盘的质量时,读取设备的素质有着关键性的影响,有时测试的结果并不是真正的事实――也许以我们普通大众所能接触到的手段,永远也无法得到事实的结果。因此,当你深入去研究刻录质量时,你就会发现这其实是一个非常复杂的问题,不能简单的一言蔽之……

本专题在很大程度上可以说是一个技术性专题,它将让您清楚了解影响光盘刻录质量的主要原因,以及光盘的数据流程和纠错的原理,从而更明白那些测试软件所给出的测试结果的含义。当然,我们也会适当的给出相关建议与评论。

如果您不想详细了解,只追求“结果”,可以直接查看本专题相关文章最后的结尾,如果您是一个光盘刻录爱好者,那么我相信这将是您喜欢的专题。
 
DVD光盘的编码与纠错――DVD光盘的数据流程]


DVD光盘于1995年设计定型,与CD相比,在设计之初就考虑得很周全,不会再出现不同的扇区结构设计,不同种类的DVD光盘的主要区别体现在逻辑架构的设计上,至于底层的扇区规格则是一样的。

20050106115945_88792.jpg


DVD光盘的数据结构与流程

在DVD光盘中,寻址的单位也是一个数据块,而这个块由于包含了ECC数据,因此又被称为ECC块(ECCB,ECC Block)。DVD所采用的ECC编码与CD-ROM Mode 1、Mode 2-Form 1一样,都是RSPC编码,因此也称为RSPC数据块。

从上图中可以发现,DVD的数据流程要比CD简单不少,但内部校验(PI,Parity of Inner-code)与外部校验码(PO,Parity of Outer-code)则是CD光盘中所没有的。同样,由于没有CIRC的校验数据,因此也就不存在C1、C2编码,因此如果哪天听人说什么DVD光盘的C1、C2错误,那就当个笑话听吧。

DVD的一个ECCB包含16个扇区,在进行刻录时,首先要准备一个ECCB的数据(包括RSPC编码),然后将ECC数据与用户数据分割为16个扇区,再经过符合RLL(2,10)标准的EFMplus(8至16编码)调制,形成的信道脉冲进行刻录。
 
[DVD光盘的编码与纠错――RSPC数据块与扇区结构]

DVD的数据以一个RSPC数据块(ECCB)为存储单位,在上文中,我们大概知道了这个数据块由16个扇区的数据+PI/PO校验码组成,在下面这张图中我们能清楚的看到一个ECCB中的数据结构

20050106120117_11679.jpg


一个RSPC数据块的内部结构,字节以行、列(也称字节,Byte)为坐标编号(Br,c),如B192,170就表示该字节的位置是第192行/170列,而不是指第192170个字节

从图中可以看出一个ECCB的实际容量为37856字节,而不是我们常说的32KB(32768字节),后者只是真正的用户数据量。那么,它们又是怎么分布到16个扇区中呢?

20050106120225_99910.jpg


ECCB分割成16个扇区示意图

首先,ECCB中的数据区为192行,每行172个字节(列),而每一行的172字节横向生成一10字节的PI校验码,每一列的192字节纵向则生成一个16字节的PO校验码,最后再给每一行的PO校验码生成10字节的PI校验码,从而构成完整的ECCB。此时的ECCB共有208行/182列,分成16个扇区,则每个扇区为13行/182列,那么是不是前15个扇区为数据+相应的PI校验码,最后一个扇区就是PO和相关的PI数据呢?当然不是,在生成刻录扇区时,16行PO和相应PI码分交错分布于16个扇区之中,具体构成如下图所示。

20050106120426_49572.jpg


16个扇区的具体构成,灰蓝色为PI码,浅绿色为PO码

从图中可以看出,16行的PO码和相应的PI码被依次分布在16个扇区中,也就是说ECCB的校验数据是分散在16个扇区中的。

由于PI与PO校验码是DVD在读取时的主要纠错手段,因此在PI与PO校验中发现错误的次数与程度就可以被用来评价DVD的刻录质量,而业界也对此做出了相应的规定。
 
[DVD光盘的编码与纠错――DVD有关数据错误标准的业界规定]

与CD-ROM只规定了C1错误标准一样,DVD其实也只规定了PI错误标准,而没有PO错误标准,原因很简单,PO编码其实也在PI的保护之下,因此只要保证PI的错误率不超过一定的水平就可以了。

另外,在DVD的相关规范中,也对不可修复的错误进行了明确的界定,并立下了相关的标准。

在DVD -ROM规范中规定:ECCB中某一行如果有一个或更多的字节出现错误,则意味着出现一个PI错误(PIE,PI Error),连续8个ECCB的PI错误不能超过280个。我们可以计算一个,一个ECCB共有208行,8个ECCB则1664行,允许280个PI 错误(也就是280行出现错误)则表示错误率为16.8%。

DVD-R/RW的规定与DVD-ROM一样。

在DVD+R/RW 规范中则有了更为详细的规定:ECCB中某一行如果有一个或更多的字节出现错误,则意味着出现一个PI错误,当一行中的错误字节超过5个时,此时的PI错误则称为PI-uncorrectable(不可修复的PI错误);连续8个ECCB的PI错误不能超过280个(16.8%);一个ECCB中的PI- uncorrectable不能超过4个(1.92%)。

20050106120554_74143.jpg


在DVD光盘规范中,DVD+R/RW对PI错误进行了最详细的规定

现在不少相关测试软件中都以DVD+R/RW的规范来制定测试标准。虽然DVD-ROM与DVD-/RW没有定义PI-uncorrectable(在某些软件中定义为PI Failure,简称PIF),但由于它们都是相兼容的设计,所以DVD+R/RW的相关规定也基本适用于其他两个规范。那么,有没有可能出现PO- uncorrectable(POF)呢?在一些DVD测试设备的技术文档中笔者也发现了对POF的一些规定,由于DVD想先进行PI纠错,才进行PO纠错,因此PI被认为是第一层纠错,PO则是第二层纠错,如果出现PIF之后又出现POF,那么意味着该ECCB(注意,不是扇区)是不可修复的(理论上, PO能修复4个字节的错误,但即使有超过5行的PIF,也并不意味着错误的字节会在垂直方向上排成一列,因此PIF即使超出标准很多,仍有可能被PO纠正,不过为了保险起见,一个ECCB中的PIF行数不能超过4个),就像CD光盘上的E32错误一样,也就是说POF的数值应该是0,只要满足这个条件, PO错误(POE,PO Error)就无所谓了
 
后退
顶部