第12章 光盘存储器的格式

转载 2007年09月18日 15:36:00

第12章 光盘存储器的格式

  CD格式包含逻辑格式和物理格式。逻辑格式实际上是文件格式的同义词,它规定如何把文件组织到光盘上以及指定文件在光盘上的物理位置,包括文件的目录结构、文件大小以及所需盘片数目等事项; 物理格式则规定数据如何放在光盘上,这些数据包括物理扇区的地址、数据的类型、数据块的大小、错误检测和校正码等。
  CD格式详细记载在标准文件中,如图12-01所示。这些标准文件包括红皮书、黄皮书、ISO 9660、绿皮书、橙皮书和白皮书等,而且还在不断推出。CD的标准文件是用彩色封面包装的,所以又称为彩书标准。理解CD格式对于设计和使用CD产品都有很大帮助。


图12-01 CD标准系列

12.1 CD盘上的物理格式

12.1.1 激光唱盘标准——红皮书(Red Book)

  Red Book是Philips和Sony公司为CD-DA(Compact Disc Digital Audio)定义的标准,也就是我们常说的激光唱盘标准。这个标准是整个CD工业的最基本的标准,所有其他的CD标准都是在这个标准的基础上制定的。
  1. CD盘上的音乐节目是如何组织的
  通常,激光唱盘上的有许多首歌曲,一首歌曲安排在一条光道上。一条光道由许多节(section)组成,一节由98帧(frame)组成。帧是激光唱盘上存放声音数据的基本单元,它的结构如图12-02所示。


图12-02 激光唱盘声音数据的基本结构

  (1) 同步(SYNC)
  每帧的开头都有24位同步位。这24位同步位不经EFM调制,本身就是通道码。具体的码字是
    1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0
任何数据经EFM调制后都不会出现与同步码字相同的码。
  (2) 子码(Subcode)
  每帧都有这样的一字节。在CD-DA中称为子码/控制和显示(subcode/control and display);在CD-ROM中称为控制字节(Control Bytes)。这字节的内容主要提供盘地址信息。
  (3) 声音数据(Audio Data)
  在CD-DA中,立体声有两个通道,每次采样有2个16位的样本,左右通道的每个16位数据分别组成2个8位字节,6次采样共24字节组成一帧。
  CD盘上的98帧组成一个扇区(sector)。光道(track)上1个扇区有3234字节,即
2352个声音数据 +2 ´ 392个EDC/ECC字节 +98个控制字节=3234字节
它的结构如下:

3234字节

用户数据
2352=98 ´ (2 ´ 12)字节

第二层EDC/ECC
392个字

第一层EDC/ECC
392个字

控制字节
98字节

  前面已经介绍,激光唱盘上声音数据的采样频率为44.1 kHz,每次对左右声音通道各取一个16位的样本,因此1秒钟的声音数据率就为
    44.1×1 000×2×(16÷2) = 176 400字节/秒
  由于1帧存放24字节的声音数据,所以1秒钟所需要的帧数为
    176 400÷24=7 350帧/秒
  98帧构成1节,也可以说成1个扇区,所以1秒钟所需要的扇区数为
    7 350÷98=75扇区/秒
  记住这些最基本的参数,对理解整个CD系列和DVD系列的数据结构是非常有帮助的。
  (4) P, Q错误校验码
  由于CD-DA盘的原始误码率较高(约10-4),须要采用纠错能力很强的交叉交插里德/索洛蒙码(Cross-Interleaved Read-Solomon Code,CIRC)进行纠错。因此,每帧有2×4字节的错误校正码分别放在中间和末端,称为Q校验码和P校验码,P校验是由(32,28)RS码生成的校验码;Q校验是由(28,24)RS码生成的校验码。有关错误校正的介绍,请看[8]。
  (5) 一帧数据的通道位数
  见表12-01。

表12-01 一帧数据的通道位数

编号

字段名称

通道位数

合计

(1)

同步位(SYNC)

24+3

27

(2)

子码(Subcode)

1×(14+3)

17

(3)

数据(Data)

12×(14+3)

204

(4)

Q校验码

4×(14+3)

68

(5)

数据(Data)

12×(14+3)

204

(6)

P校验码

4×(14+3)

68

合计

   

588

  

8位

P子通道
(b8)

Q子通道
(b7)

R子通道
(b6)

S子通道
(b5)

T子通道
(b4)

U子通道
(b3)

V子通道
(b2)

W子通道
(b1)

  98字节的b8组成P子通道,98字节的b7组成Q子通道,依此类推。通道P含有一个标志,它用来告诉CD播放机光道上的声音数据从什么地方开始;通道Q包含有运行时间信息,CD播放机使用这个通道中的时间信息来显示播放音乐节目的时间。Q通道的98位的数据排列成如下的形式:

98位

2位

4位

4位

72位

16位

其中,

  2位:

控制字节的部分同步位

  4位:

控制标志,定义这条光道上的数据类型

  4位:

说明后面72位数据的标志

  72位:

Q通道的数据。在盘的导入区(Lead In),含有盘的内容表TOC(Table Of Contents);在其余的盘区,含有当前的播放时间

  16位:

CRC (Cyclic Redundancy Code)用于错误检测,CRC没有错误校正功能

  3. CD-G(CD+Graphics)是什么

12.1.2 CD-ROM标准<——黄皮书(Yellow Book)

  Yellow Book是Philips和Sony公司为CD-ROM(Compact Disc-Read Only Memory)定义的标准,CD工业从此进入了第二个阶段。Yellow Book在Red Book的基础上增加了两种类型的光道,加上Red Book的CD-DA光道之后,CD-ROM共有三种类型的光道:
  CD-DA光道,用于存储声音数据。
  CD-ROM Mode 1,用于存储计算机数据。
  CD-ROM Mode 2,用于存储声音数据、静态图像或电视图像数据。
  Yellow Book和Red Book相比,它们的主要差别是Red Book中2352字节的用户数据作了重新定义,解决了把CD用作计算机存储器中的两个问题,一个是计算机的寻址问题,另一个是误码率的问题,CD-ROM标准使用了一部分用户数据当作错误校正码,也就是增加了一层错误检测和错误校正,使CD盘的误码率下降到10-12以下。
  1. CD-ROM Mode 1
  CD-ROM Mode 1把Red Book中的2352字节的用户数据重新定义为:

2352字节

同步字节
12字节

扇区地址
4字节

用户数据
2048字节

EDC
4字节

未用
8字节

ECC
276字节

其中,

 同步字节:

12字节,用于同步。

 扇区地址 (Header):

4字节,定义该扇区的地址。

 用户数据:

2048字节,用于存放用户数据。

 EDC:

4字节,用于错误检测。如果检测结果无差错,就不执行这一层的错误校正。

 未用:

8字节。

 ECC:

276字节,错误检测和校正码。

  CD-ROM的扇区地址与磁盘的扇区地址不同。磁盘的扇区地址是用C-H-S (柱面号-磁头号-扇区号)地址系统来表示,而CD-ROM是用计时系统中的分、秒,以及特地为CD-ROM规定的分秒(1/75秒)来表示。CD-ROM用户数据区的地址结构如下:

4字节的扇区地址称为HEADER

分(MIN)
1字节 0~74

秒(SEC)
1字节 0~59

分秒(FRAC)
1字节 0~74

方式(Mode)
1字节 01

  2. CD-ROM Mode 2

2352字节

同步字节
12字节

扇区地址
4字节

用户数据
2336字节

 

12.1.3 CD-ROM/XA

  CD的第三个标准叫做CD-ROM/XA(CD-ROM Extended Architecture)标准,这是由Philips、Microsoft和Sony公司发布的。CD-ROM/XA标准是Yellow Book标准的扩充,这个标准定义了一种新型光道:CD-ROM/XA光道。连同前面Red Book标准和Yellow Book标准定义的光道,共有4种光道:
  CD-DA,用于存储声音数据。
  CD-ROM Mode 1,用于存储计算机数据。
  CD-ROM Mode 2,用于存储压缩的声音数据、静态图像或电视图像数据。
  CD-ROM Mode 2,XA格式,用于存放计算机数据、压缩的声音数据、静态图像或电视图像数据。
  CD-ROM/XA在Red book和Yellow Book标准的基础上,对CD-ROM Mode 2作了扩充,定义了两种新的扇区方式。:
  CD-ROM Mode 2,XA Format,Form 1:用于存储计算机数据。
  CD-ROM Mode 2,XA Format,Form 2:用于存储压缩的声音、静态图像或电视图像数据。
  定义了这两种扇区方式之后,CD-ROM/XA就允许把计算机数据、声音、静态图像或电视图像数据放在同一条光道上,计算机数据按Form 1的格式存放,而声音、静态图像或电视图像数据按Form 2的格式存放。这样一来,就可以根据多媒体的信息把计算机数据、声音数据、图像数据或电视图像数据交错存放在同一条光道上。
  1. CD-ROM/XA Mode 2 Form 1
  CD-ROM/XA Mode 2 Form 1把Red Book中的2352个用户数据字节重新定义为:

CD-ROM/XA Mode 2 Form 1:2352字节

同步字节
12字节

扇区地址
4字节

Form 1
8字节

用户数据
2048字节

EDC
4字节

ECC
276字节

  在2352字节中,
  同步字节:                    12字节
  扇区地址(Header):           4字节,用于计算机寻找盘上的数据
  类型 1 (Form 1,Sub-Header): 8字节,用于指示Form 1
  用户数据:           2048字节
  EDC:             4字节,用于错误检测
  ECC:             276字节,用于错误校正

  2. CD-ROM/XA Mode 2 Form 2
  CD-ROM/XA Mode 2 Form 2把Red Book中的2352个用户数据字节重新定义为:

CD-ROM/XA Mode 2 Form 2:2352字节

同步字节
12字节

扇区地址
4字节

Form
28字节

用户数据
2324字节

EDC
4字节

2324字节中,
  同步字节:            12字节
  扇区地址 (Header):       4字节,用于计算机寻找盘上的数据
  数据类型 2 (Form 2,Sub-Header): 8字节,用于指示Form 2
  用户数据:            2048字节

  3. CD-ROM/XA中的声音
  CD-ROM/XA中的声音质量不是CD-DA的质量,放在CD-ROM/XA Mode 2 Form 2中的声音数据必需进行压缩,这样才能腾出空间来存放同步、扇区地址和数据类型信息。CD-ROM/XA的声音采用ADPCM(adaptive differential/delta pulse code modulation)算法进行压缩,它定义的声音有Level B和Level C两个等级。与CD-DA的声音相比,如果用一片存放74分钟的CD盘来存放CD-ROM/XA的声音,那么这两种声音最长的播放时间如表12-02所示。

表12-02 CD-ROM/XA中的声音播放时间

声音等级

播放时(小时)

样本大小(位)

采样速率(kHz)

CD-DA

1.25

16

44.1

Level B

5 (立体声)
10(单道声)

4
4

37.8
37.8

Level C

10(立体声)
20(单道声)

4
4

18.9
18.9

12.1.4 CD-I标准——绿皮书(Green Book)

  Green Book是Philips和Sony公司为CD-I(Compact Disc Interactive)定义的标准,它的扇区格式和CD-ROM/XA的扇区格式相同。

CD-I Mode 2 Form 1:2352字节

同步字节12字节

扇区地址
4字节

Form 1
8字节

用户数据
2048字节

EDC
4字节

ECC
276字节

CD-I Mode 2 Form 2:2352字节

同步字节12字节

扇区地址
4字节

Form 2
8字节

用户数据
2324字节

EDC
4字节

  Green Book标准允许计算机数据、压缩的声音数据和图像数据交错放在同一条CD-I光道上。CD-I光道没有在TOC中显示,目的是不要用激光唱盘播放机去播放CD-I盘。Green Book标准规定使用专用的操作系统,称为光盘实时操作系统CD-RTOS(Compact Disc-Real-Time Operating System)。 它是一个多任务实时响应的操作系统,支持各种算术和I/O协处理器,是设备独立且由中断驱动的系统,具有支持多级树形结构的文件目录等功能。

12.1.5 CD-I Ready格式

  使用CD-I Ready格式的CD盘称为CD-I Ready盘,它是一种有附加特性的标准激光唱盘。这种盘既可以在标准的激光唱盘播放机上播放,又可以在CD-I播放机上播放。当CD-I Ready盘在CD-I播放机上播放时,这种附加特性就可以显示出来。
  Red Book标准允许把索引点(index points)放在光道上,这就允许用户跳转到光道上的指定点。激光唱盘通常只使用两个索引点:#0和#1,前者用来标识一条光道的起点,后者用来标识声音在这条光道上的起点,这两个索引点在盘上第一条光道(第一首歌)的前面,它们之间通常有2~3秒的间隔。CD-I Ready盘把这两个索引点之间的间隔增加到182秒,这样就可以存放诸如歌曲名、解说词、作者、演员等图文信息。普通的激光唱机播放CD-I Ready盘时不管这个地方的信息,而只播放音乐节目。用CD-I播放机播放CD-I Ready盘时,首先把这间隔中的CD-I信息读到CD-I播放机的RAM中,并显示在电视机屏幕上,然后播放音乐。

12.1.6 CD-Bridge盘

  CD-Bridge规格定义了一种把附加信息加到CD-ROM/XA光道上的一种方法,目的是让这种光盘能够在CD-I播放机上播放。这样一来,CD-Bridge光盘就既可以在CD-I播放机上播放,又可以在计算机上播放,而且还可以在Kodak公司的Photo CD播放机上播放。CD-Bridge盘上的光道都采用Mode 2的扇区结构,不使用Mode 1的扇区结构。声音光道则要跟在数据光道的后面。
  CD-Bridge盘的扇区结构与CD-ROM/XA和CD-I的扇区结构一致。

CD-Bridge Mode 2 Form 1:2352字节

同步字节
12字节

扇区地址
4字节

Form 1
8字节

用户数据
2048字节

EDC
4字节

ECC
276字节

CD-Bridge Mode 2 Form 2:2352字节

同步字节
12字节

扇区地址
4字节

Form 2
8字节

用户数据
2324字节

EDC
4字节

12.1.7 可录CD盘标准<——橙皮书(Orange Book)

  Orange Book是另一种CD光盘的标准,这种CD盘叫做可录CD-R(compact disk recordable)盘,它允许用户把自己创作的影视节目或者多媒体文件写到盘上。可录CD盘分为以下两类:
  ① CD-MO (compact disk-magneto optical )盘,这是一种采用磁记录原理利用激光读写数据的盘,称为磁光盘。用户可以把数据写到MO盘上,盘上的数据可以抹掉,抹掉后又可以重写。
  ② CD-WO(compact disk-write once)盘,这种盘又写成CD-R盘,用户可以把数据写到盘上,但是数据一旦写入,就不能把写入的数据抹掉。
  因此,Orange Book标准分成两个部分:Orange Book Part 1和Orange Book Part 2。 Part 1描述CD-MO,Part 2描述CD-WO。整个结构如图12-03所示。


图12-03 橙皮书(Orange Book Standard)概貌 (引自Jim Fricks盘片制造公司)

  1. Orange Book Part 1 (CD-MO盘)
  Orange Book Part 1标准描述CD-MO盘上的两个区:
  ① Optional Pre-Mastered Area(可选预刻录区),这个区域的信息是按照Red Book、Yellow Book或Green Book标准预先刻制在盘上的,是一个只读区域。
  ② Recordable User Area(用户可重写的记录区),普通的CD播放机或者VCD播放机不能读这个区域的数据,这是因为CD唱片和VCD盘与磁光盘采用的记录原理不同。
  2. Orange Book Part 2 (CD-WO盘)
  Orange Book Part 2标准定义可写一次的CD-WO盘。这种盘在出厂时就已经在盘上刻录有槽,称为预刻槽,也就是物理光道的位置已经确定,是一片空白盘。用户把多媒体文件写到盘上之后,就把内容表(Table Of Contents,TOC)写到盘上。在写入TOC之前,这种盘只能在专用的播放机上读;在TOC写入之后,这种盘就可以在普通的播放机上播放。
  Orange Book Part 2标准还定义了另一种CD-WO盘,叫做Hybrid Disc(混合盘)。这种盘含有两种类型的记录区域:
  ① Pre-recorded Area(预记录区),这个区域的信息是按照Red Book、Yellow Book或Green Book标准预先记录在盘上的,是一个只读区域。
  ② Recordable Area(可记录区)。这个区可以把物理光道分成好几个记录段(multi-session)。每段由3个区域组成:导入区(Lead In)、信息区(Information)和导出区(Lead Out),每一段要在导入区写入TOC。
  Hybrid Disc(混合盘)的结构如下表所示:

第 1段

 

第 n 段

导入区
(Lead In)

信息区
(Information)

导出区
(Lead Out)

……

导入区
(Lead In)

信息区
(Information)

导出区
(Lead Out)

  CD标准的整个概貌可以用图12-04来表示。


图12-04 CD标准之间的关系

12.2 CD-ROM的逻辑格式(ISO 9660)

12.2.1 ISO 9660的重要性

  CD-ROM物理格式的标准化意味着所有CD-ROM生产厂家都应遵循这种标准化格式,这也就意味着,CD-ROM上的信息可以在不同的信息处理系统之间交换,但只能在这个物理层上实现交换。由于CD-ROM面对用户的是文件,如文本文件、图像文件、声音文件、执行文件等等,这就需要一个文件系统来管理,这样就可使用户把CD-ROM当成一个文件集来看待,而不是让用户从物理层上去看待CD-ROM盘。因此,仅有物理格式标准化还不够,还需要有一个如何把文件和文件目录放到CD-ROM盘上的逻辑格式标准,也就是文件格式格式。
  由于CD-ROM标准(Yellow Book)没有制定文件标准,所以计算机厂家不得不开发自己的CD-ROM逻辑格式。这些不统一的CD-ROM逻辑格式严重地影响了CD-ROM的推广应用。为了解决这个问题,计算机工业界的代表聚集在美国内华达州的Del Webb’s High Sierra Hotel & Casino,起草了一个CD-ROM文件结构的提案,叫做High Sierra文件结构,并把这个提案提交给了国际标准化组织(International Standards Organization,ISO),ISO作了少量修改后命名为ISO 9660。通过许多软硬件公司的共同的艰苦努力,尤其是John Einberger、Bill Zoellick等人作出的贡献,历时5年,终于在1988年正式公布了这个标准,命名为“Information Processing&#0;&#0;Volume and File Structure of CD-ROM for Information Interchange”,可译为“信息处理:用于信息交换的CD-ROM的卷和文件结构”。
  IBM PC及其兼容机的文件结构叫做MS-DOS文件结构,而Apple Macintosh计算机的文件结构叫做分层结构文件系统(Hierarchical File System,HFS)。由于这两种文件结构不相同,因此MS-DOS文件不能在Macintosh计算机上运行,而HFS文件不能在IBM PC机上运行。ISO 9660标准既不是MS-DOS的文件结构标准,也不是HFS的文件结构标准,而只是一个描述计算机用的CD-ROM文件结构标准。因此,计算机要能够读ISO 9660文件结构的盘,它的操作系统就必需要有支持软件,这个软件通常是在现有操作系统上进行扩展(Extension)。Microsoft公司为读CD-ROM盘上的ISO 9660文件而开发的程序叫做MSCDEX(Microsoft CD-ROM Extension),它需要和CD-ROM驱动器带的设备驱动程序相联合,MS-DOS操作系统才能读CD-ROM盘上的ISO 9660 文件。MSCDEX.EXE程序的主要功能就是把ISO 9660文件结构转变成MS-DOS能识别的文件结构。
  在MS-DOS和MS-Windows环境下,IBM PC及IBM兼容机计算机必需安装MSCDEX.EXE和CD-ROM驱动器带的设备驱动程序软件才能读CD-ROM盘上的文件。在MS-Windows 3.x环境下,设备驱动程序要安装在CONFIG.SYS文件中,而MSCDEX.EXE文件要安装在AUTOEXEC.BAT文件中。同样,其他的操作系统也需要开发类似于MSCDEX.EXE的软件,并且同样要与CD-ROM驱动器带的设备驱动程序联合工作,这样才能读ISO 9660盘上的文件。
  在Windows 95/98环境下不需要另外配置CONFIG.SYS和AUTOEXEC.BAT文件,它本身带有MSCDEX.EXE和设备驱动程序,在安装过程中会自动安装,因此用户自己也就不需要另外安装MSCDEX.EXE和CD-ROM设备驱动程序。

12.2.2 逻辑结构的设计概要

  文件系统是在应用软件和控制器之间的软件,它是操作系统的一部分。文件系统实际上是组织数据的一种方法,使应用程序访问CD-ROM时不需要关心物理地址或数据结构。一个完整的CD-ROM文件系统有三个主要部分组成:
  (1) 逻辑格式(logical format): 它是文件格式的同义词。逻辑格式是确定盘上的数据应该如何组织,以及存放在什么地方。说得具体一点就是基本的识别信息放在何处,文件目录应该如何构造,到何处去找盘上的目录,一个应用软件存放在几张光盘上等等。由此也可以看到,逻辑格式与物理格式是不同的。
  (2) 源软件(origination software): 它是把数据写到逻辑格式的软件,按逻辑格式把要存到盘上的文件进行装配,所以源软件又称“写”软件。
  (3) 目的软件(destination software): 它是把数据从逻辑格式读出来,并且把数据转换成文件,因此目的软件又称为“读”软件。它在终端用户的机器上能够理解逻辑格式,并且使用逻辑格式来访问盘上的文件。
  在上述三部分中,逻辑格式是文件系统的核心。逻辑格式标准统一后,盘上的信息就有可能在不同的信息处理系统之间进行交换。
  定义CD-ROM的逻辑格式与定义磁盘的逻辑格式有差别,这是由于这两种存储器的特性不同。定义CD-ROM逻辑格式首先要考虑CD-ROM本身的特性。对定义CD-ROM逻辑格式产生较大影响的因素有:
   ① CD-ROM是只读存储器,而磁盘是可读/写存储器,这就不需要添加、删除目录等功能。
   ② CD-ROM的写入和读出是不对称的。
   ③ 寻找数据的时间相对于20 ms左右的磁盘大得多,长到950 ms,平均也得几百毫秒。
   ④ 存储容量大(650 MB/盘)。
  这些因素关系到文件系统的性能。
  CD-ROM的逻辑格式可归纳为两个部分:
  (1) 定义一套结构用来提供整片CD-ROM盘所含的信息,称卷结构。单片CD-ROM称一卷。一个应用软件可有大、中、小之分,一个应用软件也可能有多个文件组成。对于小的应用软件,一卷可能容纳好几个文件,而一卷中的文件数目也可能相当惊人;对于中等大小的应用软件,一卷可能只容纳一个;对于一个大的应用软件,如百科全书,可能有好几卷才能容纳得下;把存放单个应用软件的多片CD-ROM称为一个卷集,这与出版的书很相似。在卷集中,一个文件可能要跨越好几卷,或者相反,一卷中有好多文件。因此,必须要有一套规则和数据结构来表达这些错综复杂的关系,以便使用户有足够多的信息来了解盘上的内容。这些关系是属于卷一级的逻辑格式。
  (2) 定义一套结构用来描述和配置放到盘上的文件,称为文件结构。文件结构的核心是目录结构。这个结构是文件一级的逻辑格式,采用什么样的逻辑格式对文件系统的性能有很大的影响。一般来说,目录结构采用分层目录结构,并且有显式说明和隐式说明之分。为CD-ROM提议的目录结构大体有五类:
   ① 多文件显式分层结构(multiple-file explicit hierarchies)。它的特点是把子目录当作文件来处理,打开一个有长路途的文件需要较多的寻找次数。
   ② 单文件显式分层结构(single-file explicit hierarchies)。它的特点是把整个目录结构放在单个文件中,根目录和子目录都作为文件中的记录而不是作为文件来处理。
   ③ 散列路径名目录(hashed path name directories)。它的特点是把整个路径名和文件名拼凑成一个地址放在目录中,这是隐式目录结构。
   ④ 索引路径名目录(indexed path name directories)。它的基本思想是把子目录的全路径名转换成一个整数。这也是隐式目录结构。
   ⑤ 组合前面4种结构中的2种或2种以上的混合结构。
  由于CD-ROM有它自己的固有特性,因此围绕CD-ROM定义的卷和文件结构也有它自己的特性。这些特性充分体现在ISO 9660标准文件中。为便于理解它们的结构,下面采用由底层到顶层的思路来介绍。

12.2.3 逻辑扇区和逻辑块

  CD-ROM的一个物理扇区除了扇区头信息之外还有2336字节。在2336字节中,有288字节可以用来作错误检测和校正用,剩下的2048字节作为用户数据域。2048字节(2 KB)的数据域定义为一个逻辑扇区(logical sector)。每个逻辑扇区都有一个唯一的逻辑扇区号(logical sector number,LSN)。CD-ROM的第一个逻辑扇区是从物理地址00∶02∶00开始,逻辑扇区号为LSN0。
  逻辑扇区的大小也允许自定义,但要等于2n,n是一个正整数。
  每个逻辑扇区可以分成一个或多个逻辑块。这样做对于在盘上存放大量的小文件是很有用的。在一个由2048字节组成的逻辑扇区中,一个逻辑块的大小可以是512、1024或2048字节。但一个逻辑块的大小不超过逻辑扇区的大小。每个逻辑块有一个逻辑块号(logical block number,LBN)。第一个逻辑块号(LBN 0)是第一个逻辑扇区(LSN 0)中的第一块,依次为LBN1、2、3等等。在CD-ROM上,所有文件和其他重要的数据都按LBN寻址。
  此外,还有一个记录的概念。一个记录由一系列连续字节组成,它作为信息单元。一个记录的字节可多可少,少则几个,多则几十、几百个,视要表达的信息而定。记录有固定字节长度和可变字节长度之分,分别称为固定长度记录和可变长度记录。
  物理扇区、逻辑扇区、逻辑块之间的关系如图12-05所示。


图12-05 物理扇区与逻辑扇区、逻辑块的概念

12.2.4 文件

  放到CD-ROM上的文件类型没有限制,可以是ASCII文本文件、索引结构文件、可执行文件(如.COM文件,.EXE文件),压缩的或未压缩的图像文件、声音文件等,只要你想存的文件都可以。
  每个文件可分为一节或多个文件节(file section)。一个文件节放在由许多个逻辑块组成的文件空间里。这些逻辑块是顺序编号的逻辑块,由它们组成的文件空间又称为文件范围(extent)或文件域。一个大的文件可以分成多个文件节,存放在多片CD-ROM盘上的文件域中;一个中等大小的文件也可以分成若干个文件节,存放在同一片CD-ROM盘上的多个文件域中,这些文件域也不要求是连续的文件域; 小的文件可以不分域,存放在单个文件域中。
  文件的标识符(file identifier)可由三部分组成:文件名、文件扩展名和文件版本号组成。但文件标识符必须要包含一个文件名,或者包含一个扩展名,其他可作为选择。文件标识符中的字符通常采用ASCII字符,并且限定用其中的一部分:
   数字0~9
   大写英文字母A~Z
   下划线(_)
   文件名和文件扩展名之间用句点(.)
   文件名或文件扩展名与文件版本号之间用分号(;)
  下面给出了一些合法文件标识符和不合法文件标识符的例子。
   合法文件标识符:
    FILE.DAT
    FILE.DAT;1
    DATA_FILE_FOR_INTERCHANG.DAT
    FILENAME_WITHOUT_AN_EXTENSION
    .NO_FILENAME_JUST_AN_EXTENSION 
   不合法文件标识符:
    file.dat;不允许小写字母
    ONLY.ONE.PERIOD.ALLOWED;只允许一个句点
    NO-HYPHENS-OR--SIGNS;没有规定用连字符(-)和
    THIS_FILENAME_IS_LONGER_THAN_31_CHARACTERS
    ;多于31个字符
  在MS-DOS环境下,文件名的长度不超过8个字符,文件扩展名的长度不超过3个字符;在其他环境下,文件标识符的总长度限制为不超过31个字符。

12.2.5 目录

  大多数支持磁盘的文件系统都时兴用分层目录结构,CD-ROM也采用这种目录结构,并且限定目录层次的深度为8级。用这种目录结构可以组织大数量的文件。大多数磁盘文件系统把子目录作为一种特殊的文件进行显式处理,一层一层地打开子目录文件,以找到最终的文件。这样做的好处是为增加或删除目录提供了很大的灵活性。但CD-ROM是只读,无需这种灵活性,而且采用这种方法来找一个带有长路径名的文件,一次一次打开子目录文件势必要化费很长的时间。因此,CD-ROM没有采用这种显式分层目录结构,而是采用隐式分层目录结构,但也把目录当作文件看待,并且把整个目录包含在1个或少数几个文件中。包含目录的文件称为目录文件。
  目录文件与普通的用户文件相类似,但对CD-ROM采用的目录文件结构作了具体的规定。目录文件由一系列可变长度的目录记录组成。每个目录记录的格式如表12-03所示。由表12-03可以看到,一个目录记录包含有许多记录域。这些域中记录有文件标识符,以字节计算的文件长度、文件域中的第一个逻辑块号(LBN),以及打开和使用这个文件所需要的其他信息。当一个文件放在多个文件域中时,需要设置多个目录记录,每个目录记录中给出相应文件域的地址,并由文件标志记录域来指明该文件域是不是最后一个。目录文件、目录记录、记录域等之间的关系如图12-06所示。

表12-03 目录记录的格式

字节位置

记录域的名称

 1

目录记录长度(LEN_DR)

 2

扩展属性记录(XAR)长度

 3~10

文件域地址

 11~18

数据长度

 19~25

日期和时间

 26

文件标志

 27

文件单元大小

 28

交叉间隔大小

 29~32

卷顺序号

 33

文件标识符长度(LEN_FI)

 34-(33+LEN_FI)

文件标识符

 34+LEN_FI

填充域

 (34+LEN_FI+1)-LEN_DR

系统使用(保留)


图12-06 目录文件结构

  文件的附加信息可以记录在一个命名为扩展属性记录(extended attribute record,XAR)的记录上,它放在文件的前面而不是放在目录记录上,这样做可以使目录记录变得较小。附加信息包括文件作者、文件修改日期、访问文件的许可权等信息。凡是不常使用的信息都放到扩展属性记录上。这也是CD-ROM目录结构的一个特点。
  如果一个文件有多个文件域(如图12-06中的文件B),每个文件域都有XAR记录,在这些XAR记录上的信息可能会不相同,文件系统应认为最后一个XAR记录上的信息是有效的。这个特性在卷集制作过程中很有用。
  由于每个目录记录的长度不确定,因此在一个逻辑扇区中的目录记录的个数也不确定,但必须要保证目录记录数的数目为整数。当一个目录在这个逻辑扇区中放不下的时候,应移到后面的一个逻辑扇区。这样可以保证读到计算机内存中的目录不会出现支离破碎的现象。

12.2.6 路径表

  前面已经谈到,由于CD-ROM寻找时间很长,若采用磁盘的方式来处理目录,要打开一个目录嵌套层次很深的文件,势必要化费很长的寻找时间。为解决这个问题,在1985年,J.D.Barnette、B.Zoellick和S.Stegner开发了一种名叫路径索引(path index)的一种隐式分层目标结构,后来改名为路径表(path table)。这种结构的特点是利用索引值来访问所有的目录,它的基本思想示于图12-07。


图12-07 目录结构与路径表

  路径表由许多称为路径表记录组成,它对应于根目录和每个子目录,如图12-07中的ROOT(根)、A、B,…,等路径表记录。每个路径表记录具有如表12-04的格式。路径表中包含有每一个子目录所在的开始地址,即逻辑块号LBN,这样就可以通过路径表直接访问任何一个子目录。因此,如果一张完整的路径表能保存在计算机的RAM中,那末一次寻找就可以访问盘上的任何一个子目录。

表12-04 路径表记录

字节位置

记录域的名称

 1

目录标识符的长度(LEN_DI)

 2

扩展属性记录(XAR)的长度

 3~6

存放目录的地址

 7~8

父目录号

 9~(8+LEN_DI)

目标标识符(不超过31个字符)

 (9+LEN_DI)

填充域

  路径表只能保证访问目录的第一个物理扇区。如果有由成千个文件组成的大目录,那末整个目录可能跨越盘上的好几个扇区。这么多的文件最好分散在各个子目录下,每个子目录下分配约40个左右的文件。按每个目录记录的平均长度为50字节计算,差不多占据单个物理扇区。如果在一个子目录下分配太多的文件数时,那末要找这个目录下的文件时,需要顺序读和检查好几个物理扇区才能找到这个文件,这样就多化时间。

12.2.7 卷

  CD-ROM盘上可以存放信息的区域称为卷空间(volume space)。卷空间分成两个区:从LSN 0到LSN 16称为系统区,它的具体内容没有规定。从LSN 16开始到最后一个逻辑扇区称为数据区,它用来记录卷描述符(volume descriptors)、文件目录、路径表、文件数据等内容。
  每卷数据区的开头(LSN 16)是卷描述符。卷描述符实际上是一种数据结构,或者说是一种描述表。其中的内容用来说明整个CD-ROM盘的结构、提供许多非常重要的信息,如盘上的逻辑组织、根目录地址、路径表的地址和大小、逻辑块的大小等等。卷描述符的结构如表12-05所示,它是一个由2048字节组成的固定长度记录。

表12-05 卷描述符的格式

字节位置

录域的名称

 1

卷描述符的类型

 2~6

标准卷标识符(用CD001表示)

 7

卷描述符的版本号

 8~2048

(取决于卷描述符的类型)

  卷描述符有五种类型:
   ① 主卷描述符(primary volume descriptor)
   ② 辅助卷描述符(supplementary volume descriptor)
   ③ 卷分割描述符(volume partition descriptor)
   ④ 引导记录(boot record)
   ⑤ 卷描述符系列终止符(volume descriptor set terminator)
  上述五种描述符的结构分别示于表12-06~表12-09。

表12-06 主卷和辅助卷描述符

字节位置

主卷描述符记录域的名称

辅助卷描述符记录域的名称

 1

卷描述符的类型

同左

 2~6

标准卷标识符(CD001)

同左

 7

卷描述符版本号

同左

 8

未使用(00)

卷标志

 9~40

系统标识符

同左

 41~72

卷标识符

同左

 73~80

未使用(00)

同左

 81~88

卷空间大小

同左

 89~120

未使用(00)

换码顺序

 121~124

卷系列大小

同左

 125~128

卷顺序号

同左

 129~132

逻辑块大小

同左

 133~140

路径表大小

同左

 141~144L

型路径表值位置*

同左

 145~148L

型路径表任选值位置

同左

 149~152M

型路径表值位置**

同左

 153~156M

型路径表任选值位置

同左

 157~190

根目录的目录记录

同左

 191~318

卷集标识符

同左

 319~446

出版商标识符

同左

 447~574

数据准备者标识符

同左

 575~702

应用软件标识符(如CD-I)

同左

 703~739

版权文件标识符

同左

 740~776

文摘标识符

同左

 777~813

文献目录文件标识符

同左

 814~830

卷创作日期和时间

同左

 831~847

卷修改日期和时间

同左

 848~864

卷到期日期和时间

同左

 865~881

卷有效日期和时间

同左

 882

文件结构版本号

同左

 883

(保留)

同左

 884~1395

应用程序使用

同左

 1396~2048

(保留)

同左

* L型: 最低有效字节在先,**最高有效字节在先
表12-07 卷分割描述符

字节位置

记录域的名称

 1

卷描述符的类型

 2~6

标准卷标识符(CD001)

 7

卷描述符版本号

 8

未使用(00)

 9~40

系统标识符

 41~72

卷分割标识符

 73~80

卷分割位置

 81~88

卷分块大小

 89~2048

系统使用

表12-08 引导记录

字节位置

记录域的名称

1

卷描述符的类型

2~6

标准卷标识符(CD001)

7

卷描述符版本号

8~39

引导系统标识符

40~71

引导标识符

72~2048

引导系统使用

 

表12-08 引导记录

字节位置

记录域的名称

1

2~6

7

8

9~40

41~72

卷分割标识符

73~80

卷分割位置

81~88

卷分块大小

89~2048

系统使用

字节位置

记录域的名称

1

卷描述符的类型

2~6

标准卷标识符(CD001)

7

卷描述符版本号

8~39

引导系统标识符

40~71

引导标识符

72~2048

引导系统使用

表12-09 卷描述符系列终止符

字节位置

记录域的名称

1

卷描述符的类型

2~6

标准卷标识符(CD001)

7

卷描述符版本号

8~2048

保留(00)

  五种描述符的前四种可以任意组合,组成卷描述符系列。这四个描述符可以在描述符系列中出现不只一次。描述符系列有两个限制:主卷描述符至少要出现一次,卷描述符系列终止符只能出现一次,而且只能出现在最后。卷描述符系列记录在从LSN 16开始的连续逻辑扇区上。
  以上简要介绍了CD-ROM的卷和文件结构的基本概念,没有对它的细节作一一解释,这对一般读者就已经足够了。对想进一步深入理解CD-ROM逻辑格式的读者,以及想编写自己的CD-ROM文件系统的读者,请参看ISO 9660标准文件。
  ISO 9660标准的出现,对CD-ROM的推广应用产生了很大的推动作用。理论上说,CD-ROM上的文件应该在哪种型号的机器上都可以读出。然而,事实并不完全是这样。它们各自包含有自己的文件系统,有自己的专用格式及应用软件,同一片CD-ROM上的文件不一定都能在不同的信息系统中读出。

12.3 VCD标准——白皮书(White Book)

  CD-DA是20世纪80年代初的产品,盘上的音乐节目是以数字形式记录的;LaserVision是70年代末的产品,盘上的电视图像和声音都是以模拟信号形式记录的,电视图像是调频制记录(FM),声音是调幅记录,它叠加到图像信号上。CD-Video(CD-V)是1987年定义的标准,它是CD-DA和LV(LaserVision)相结合的产物,盘上的声音是数字的,而电视图像仍然是模拟的。CD-V和LaserVision常被人们称为激光视盘或激光影碟。
  Video CD(VCD)是由JVC、Philips、Matsushita和Sony联合定义的数字电视视盘技术规格,它于1993年问世,盘上的声音和电视图像都是以数字的形式表示的。1994年7月发布了“Video CD Specification Version 2.0”,并命名为White Book(白皮书)。该标准描述的是一个使用CD格式和MPEG-1标准的数字电视存储格式。Video CD标准在CD-Bridge规格和ISO 9660文件结构基础上定义了完整的文件系统,这样就使VCD节目能够在CD-ROM、CD-I和VCD播放机上播放。

12.3.1 VCD盘的组织

  VCD盘由引导区(导入区和导出区)和节目区两部分组成,VCD盘的组织如图12-08所示。盘上的数据按光道来组织,光道数最多为99条。VCD盘的导入区和导出区按CD-ROM XA数据光道的Mode 2 Form 2进行编码,是不含数据的空扇区。
  在节目区中的第一条光道(Track 1)是一条专用VCD数据光道(Special Video CD Track),其余的是MPEG Audio/Video光道。Video CD 2.0规格只定义了MPEG Audio/Video光道和CD-DA光道这两种光道,而每一条MPEG Audio/Video光道只包含一个有MPEG Video和MPEG Audio数据的播放序列。

  1. 专用数据光道
  专用VCD数据光道(Special Video CD Track)用来描述VCD盘上的信息,它的结构如图12-09所示。它的几个区域说明如下:
  (1) 扇区号为00:02:16的扇区是基本卷号描述符PVD(Primary Volume Descriptor)扇区,用来描述VCD盘的卷号。
  (2) 从扇区00:03:00开始到00:03:74的区域是一个选择性的卡拉OK基本信息区(Karaoke Basic Information Area)。该区域中的数据用来产生卡拉OK音乐节目的快速参照表,它由基本信息头BIH (Basic Information Header)文件(KARINFO.BIH)和最多63个卡拉OK文本文件(KARINFO.CC)组成。
  (3) 从扇区00:04:00开始的区域是VCD信息区(Video CD Information Area),它包含有强制性的VCD盘信息文件INFO.VCD(扇区00:04:00)和入口表(Entry table)文件ENTRIES.VCD(扇区00:04:01),以及可选的清单偏移量表(List ID Offset Table)文件LOT.VCD(扇区00:04:02)和播放顺序描述符(Play Sequence Descriptor)文件PSD.VCD(扇区00:04:34)文件。
  (4) 分段播放项目区(Segment Play Item Area)是一个选择性的区域,它可包含许多分段播放项目(Segment Play Item)。一个分段播放项目可以是MPEG电视、MPEG声音和以MPEG算法编码的静态图像,这些项目通过播放顺序描述符PSD(Play Sequence Descriptor)的解释进行播放。这个区域的开始地址由INFO.VCD文件给出。
  分段播放项目区被分成连续的段(Segment),并从#1开始连续编号直到#1980,每一段由150个扇区组成。这个区域的长度可以是1—1980之间的任意整数。一个分段播放项目可以占据一个或者多个段。
  (5) 其他文件(Other files)区可包含强制性的CD-I应用节目(CD-I application program)和选择性的扩展目录(EXT directory)信息。


图12-09 专用VCD数据光道的结构

  2. MPEG-Audio/Video光道


  
Track 2 (光道2)开始是MPEG-Audio/Video光道,用来存放MPEG编码的电视图像和声音数据。MPEG编码的数据受到由大于15个扇区组成的前保护区FM(Front Margin)和后保护区(Rear Margin,RM)的保护,如图12-10所示。FM的推荐长度是30扇区,RM的推荐长度是45个扇区。

 


图12-10 MPEG-Audio/Video光道的布局

  3. CD-DA光道
  VCD盘可包含CD-DA光道,但必须在MPEG-Audio/Video光道之后。如果VCD盘包含CD-DA光道,Video CD规范要求在最后一条MPEG-Audio/Video光道的RM之后设置至少150个扇区的后间隔。

12.3.2 VCD的文件目录结构

  VCD盘的文件系统是在ISO 9660文件结构标准基础上开发。VCD盘需要的目录有:Root directory 0 (根目录0),CDI,VCD和MPEGAV。VCD盘的目录结构如图12-11所示。Video CD规范规定对文件目录作了如下规定:
  ① 如果VCD盘包含卡拉OK基本信息区(Karaoke Basic Information Area),这个区域中的文件必须存放在KARAOKE目录下。
  ② 如果VCD盘包含分段播放项目区(Segment Play Item Area),这个区域中的文件必须存放在SEGMENT目录下。
  ③ 如果有扩展的播放顺序描述符(Play Sequence Descriptor,PSD)文件,这个文件必须存放在EXT目录下。
  ④ VCD信息区(Video CD Information Area)中的文件必须存放在VCD目录下。
  ⑤ 所有表示MPEG Audio/Video光道的文件都必须存放在MPEGAV目录下。
  ⑥ 所有表示CD-DA光道的文件都必须存放在CDDA目录下。


图12-11 VCD盘的目录结构

12.3.3 MPEG-Audio/Video扇区的结构

  Video CD定义了MPEG光道的结构,它由MPEG-Video扇区和MPEG-Audio扇区组成。光道上的Video(电视图像)和Audio(声音)是按照MPEG标准ISO 11172的规定进行编码。MPEG-1 Video扇区和MPEG-1 Audio扇区是交错存放在光道上的,如下图所示:

 

 

Lead-in Area (导入区)

 

 

Track 1 (光道1)

 

Track 2 (光道2)

 

Track 3 (光道3)

 

Program Area ① Track 2 ~ K:MPEG-Audio/Video Track

(节目区)

Track K (光道K)

 

 

Track K+1 (光道K+1)

 

 

 

Track N (光道N)

 

 

 

Lead-out area (导出区)

 

V

V

V

V

A

V

V

V

V

V

A

V

V

V

V

V

A

V

  MPEG-Video扇区的一般结构如下图所示:

一个信息包:2324字节

信息包开始码
4字节

SCR(系统参考时钟)
5字节

MUX速率
3字节

信息包数据
2312字节

  MPEG-Audio扇区的一般结构如下图所示:

一个信息包:2304字节

信息包开始码
4字节

SCR(系统参考时钟)
5字节

MUX速率
3字节

信息包数据
2292字节

00
20字节

练习与思考题

  1. 试论CD标准的重要性。

  2. 什么叫做CD盘的物理格式?

  3. CD-ROM的扇区地址“00:10:65”表示什么含义?

  4. CD-ROM Mode 1和CD-ROM Mode 2有什么差别?

  5. CD-ROM/XA Mode 2 Form 1和CD-ROM/XA Mode 2 Form 2有什么差别?

  6. CD-Bridge Mode 2 Form 1和CD-Bridge Mode 2 Form 2有什么差别?

  7. 计算单速CD-ROM的用户数据传输率是多少KB/s(1 KB = 1024 bytes)。

  8. CD-ROM文件系统的主要组成部分是什么?

  9. CD-ROM的逻辑格式是什么意思?

  10. CD-ROM的物理扇区、逻辑扇区和逻辑块之间有什么关系?

  11. MS-DOS和MS-Windows环境下都要有MSCDEX.EXE文件,请问它的功能是什么?

  12. 试论CD-ROM的文件目录结构与磁盘的文件结构有何差别?

  13. 用计算机查看VCD盘上根目录和子目录下有什么文件?这些文件的含义是什么?

参考文献和站点

  1. CEI/IEC 908. Compact Disc Digital Audio System. 1987

  2. ISO 9660. Volume and File structure of CD-ROM for Information Interchange. 1988

  3. ISO/IEC 10149. Data Interchange on Read Only 120 mm Optical Data Disks(CD-ROM). 1989

  4. Philips and Sony. System Description CD-ROM XA Compact Disk Read Only Memory extended Architecture. May, 1991

  5. Philips and Sony Corporation. CD-I Full Functional Specification. 1993

  6. Mark Fritz. How & When Will CD-ROM Get Biger?. CD-ROM Professional, Sept./Oct. 1994, pp21~35

  7. JVC, Matsushita, Philips & Sony. Video CD Specification Version 2.0. July 1994

  8. 林福宗, 陆 达. 多媒体与CD-ROM. 北京:清华大学出版社, 1995.3

  9. Philips. Desktop Video Data Handbook. 1995

  10. http://www.cdprosupport.com/sitemap.htm

 

② Track K+1 ~ N:CD-DA Track

Track 2~99(Max.)

图12-08 VCD盘的组织结构

Track 1:专用VCD数据光道

系统标识符

未使用(00)

卷描述符版本号

标准卷标识符(CD001)

卷描述符的类型

  CD-ROM Mode 2与CD-ROM Mode 1相比,存储的用户数据多14%,但是由于没有错误检测和错误校正码,因此在这种方式中,用户数据的误码率比Mode 1中的误码率要高。在Mode 2的扇区地址中,方式(Mode)字节域中的值设置成02。
  3. 混合方式(Mixed Mode)
  当CD既含有CD-ROM光道又含有CD-DA光道时,这种方式称为混合方式,使用这种方式的盘叫做混合方式盘(Mixed Mode Disc)。通常,这种盘的第一条光道是CD-ROM Mode 1光道,其余的光道是CD-DA光道。这种盘上的CD-DA光道可以在普通的CD播放机上播放。
  CD-ROM Mode 2把Red Book中的2352字节的用户数据重新定义为:
  Red Book不仅定义了如何把声音数据放到CD盘上,而且还定义了一种把静态图像数据放到CD盘上的方法。如果把图像数据放到通道R~W,这种盘通常就称为CD+G盘,简称为CD-G盘。在目前的国内市场上,使用R~W通道的CD节目不多,能播放这种盘的CD播放机也不多。CD-G节目在普通的CD播放机上播放时,音乐节目可以照常欣赏,仅仅是没有图像而已。如果使用能播放CD-G节目的VCD播放机,在播放CD-G盘时要和电视机连接才能同时有音乐和图像。(6) 激光唱盘的光道
  在CD-DA中的物理光道是螺旋形,因此可以说一片CD-DA盘只有一条物理光道。而这里所指的CD-DA光道应该理解成逻辑光道比较合适。一条CD-DA光道有多个扇区组成,扇区的数目可多可少,而光道的长度可长可短,通常一首歌就组织成一条光道。
  2. CD-DA的通道:P-W
  CD-DA中定义了一个控制字节(Control Bytes),或者叫做子码(Subcode)。如前所述,一帧有一个8位的控制字节,98帧组成8个子通道,分别命名为P、Q、R、S、T、U、V和W子通道。一条光道上所有扇区的子通道组成CD-DA的P、Q、…、 W通道。98个控制字节(98 ´ 8位)组成8个子通道的结构如下:
阅读全文

相关文章推荐

第12章 光盘存储器的格式.doc

  • 2011年09月01日 16:11
  • 378KB
  • 下载

ARM微处理器第一弹:工作状态,存储器格式,指令长度,工作模式

工作状态: 从编程角度看,ARM微处理器的工作状态一般有两种,并可在这两种状态下可随时切换: 第一种是ARM状态,此时处理器执行的是32位的字对齐的ARM指令; 第二种是Thumb状态,此时处理器执...

C Primer Plus 第12章 存储类、链接和内存管理

C有5种存储类: 自动(代码块内、auto随意)——在一个代码块内(或在一个函数头部作为参量)声明的变量,无论有没有存储类型修饰符auto,都属于自动存储类。该类具有自动存储时期、代码作用域和空链接...

第11章 只读光盘存储器.doc

  • 2011年09月01日 16:10
  • 308KB
  • 下载

DVD 光盘指令格式详解

  • 2015年03月24日 10:34
  • 380KB
  • 下载

《算法导论》第12章 二叉查找树 (2)查找、插入与删除

1. 查找 利用二叉查找树左小右大的性质,可以很容易实现查找任意值和最大/小值。 BSTNode * bst_search(BSTNode *node, int key) { ...
  • dc_726
  • dc_726
  • 2012年03月25日 11:48
  • 6968
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:第12章 光盘存储器的格式
举报原因:
原因补充:

(最多只允许输入30个字)