刻录品质探幽(二):DVD光盘的编码
DVD的数据以一个RSPC数据块(ECCB)为存储单位,在上文中,我们大概知道了这个数据块由16个扇区的数据+PI/PO校验码组成,在下面这张图中我们能清楚的看到一个ECCB中的数据结构。
一个RSPC数据块的内部结构(点击放大),字节以行、列(也称字节,Byte)为坐标编号(Br,c),如B192,170就表示该字节的位置是第192行/170列,而不是指第192170个字节
从图中可以看出一个ECCB的实际容量为37856字节,而不是我们常说的32KB(32768字节),后者只是真正的用户数据量。那么,它们又是怎么分布到16个扇区中呢?
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个扇区之中,具体构成如下图所示。
16个扇区的具体构成,灰蓝色为PI码
浅绿色为PO码(点击放大)
从图中可以看出,16行的PO码和相应的PI码被依次分布在16个扇区中,也就是说ECCB的校验数据是分散在16个扇区中的。
由于PI与PO校验码是DVD在读取时的主要纠错手段,因此在PI与PO校验中发现错误的次数与程度就可以被用来评价DVD的刻录质量,而业界也对此做出了相应的规定。<