home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / FAQSYS18.ZIP / FAQS.DAT / CD.TXT < prev    next >
Text File  |  1995-10-13  |  23KB  |  476 lines

  1.  
  2.                CD-ROM Technical Summary
  3.            From Plastic Pits to "Fantasia"
  4.  
  5.                  Andy Poggio
  6.                   March 1988
  7.  
  8.  
  9. Abstract
  10.  
  11. This summary describes how information is encoded on Compact Disc (CD)
  12. beginning with the physical pits and going up through higher levels of
  13. data   encoding  to  the structured   multimedia  information that  is
  14. possible with   programs like HyperCard.   This  discussion    is much
  15. broader than any  single  standards document,  e.g. the CD-Audio   Red
  16. Book,   while omitting  much of   the   detail needed  only  by  drive
  17. manufacturers.
  18.  
  19.  
  20. Salient Characteristics
  21.  
  22. 1.    High information density --  With  the density achievable  using
  23. optical encoding, the CD can contain some  540 megabytes  of data on a
  24. disc less than five inches in diameter.
  25.  
  26. 2.  Low unit cost -- Because  CDs are manufactured by a well-developed
  27. process similar to that  used to stamp out   LP records, unit cost  in
  28. large quantities is less than two dollars.
  29.  
  30. 3.  Read only medium -- CD-ROM is  read only;  it cannot be written on
  31. or erased.  It  is an electronic publishing, distribution,  and access
  32. medium; it cannot replace magnetic disks.
  33.  
  34. 4.  Modest random access performance -- Due to  optical read head mass
  35. and data encoding methods, random access ("seek  time") performance of
  36. CD is better than floppies but not as good as magnetic hard disks.
  37.  
  38. 5.  Robust, removable medium -- The CD itself is comprised  mostly of,
  39. and completely  coated by, durable  plastic.   This fact and  the data
  40. encoding method allow the  CD to  be resistant  to scratches and other
  41. handling damage.   Media lifetime is expected to  be long, well beyond
  42. that  of magnetic media such as  tape.  In addition, the optical servo
  43. scanning mechanism allows CDs to be removed from their drives.
  44.  
  45. 6.  Multimedia storage -- Because all  CD data is stored digitally, it
  46. is inherently multimedia in that it can  store text, images, graphics,
  47. sound, and any other information expressed  in digital form.  Its only
  48. limit in this area is  the rate  at which data  can  be read from  the
  49. disc, currently about 150 KBytes/second.   This  is sufficient for all
  50. but uncompressed, full motion color video.
  51.  
  52.  
  53. CD  Data  Hierarchy
  54.  
  55. Storing data  on a CD  may be thought  of as  occurring through a data
  56. encoding hierarchy with each level built  upon the previous  one.   At
  57. the lowest level, data is physically stored as  pits on the disc.   It
  58. is actually encoded by several  low-level mechanisms to  provide  high
  59. storage  density and reliable data  recovery.   At the next level,  it
  60. organized into tracks which may be digital audio  or CD-ROM.  The High
  61. Sierra  specification  then defines  a  file system  built  on  CD-ROM
  62. tracks.  Finally, applications like HyperCard specify a content format
  63. for files.
  64.  
  65.  
  66. The Physical Medium
  67.  
  68. The Compact Disc   itself  is a thin plastic  disk    some 12 cm.   in
  69. diameter.  Information is  encoded in  a plastic-encased spiral  track
  70. contained on the top of the disk.  The  spiral track is read optically
  71. by a  noncontact  head which scans approximately  radially as the disk
  72. spins  just above it.   The spiral is  scanned  at  a constant  linear
  73. velocity thus assuring a constant  data rate.  This  requires the disc
  74. to rotate  at a decreasing  rate  as the  spiral is  scanned from  its
  75. beginning near  the center of  the  disc   to its  end near   the disc
  76. circumference.
  77.  
  78. The spiral track contains   shallow  depressions,  called pits, in   a
  79. reflective layer.   Binary information is  encoded by  the  lengths of
  80. these pits  and  the lengths of  the areas  between them, called land.
  81. During   reading,  a low  power  laser  beam from the optical  head is
  82. focused on the spiral layer and is reflected back  into the head.  Due
  83. to the optical characteristics of the  plastic disc and the wavelength
  84. of  light used, the  quantity of  reflected  light varies depending on
  85. whether  the beam is on  land or on a  pit.  The modulated,  reflected
  86. light  is  converted  to  a  radio frequency, raw   data signal  by  a
  87. photodetector in the optical head.
  88.  
  89.  
  90. Low-level Data Encoding
  91.  
  92. To ensure accurate recovery, the disc data must be encoded to optimize
  93. the analog-to-digital  conversion  process   that the radio  frequency
  94. signal must undergo.  Goals of the low level data encoding include:
  95.  
  96. 1.  High  information density.  This  requires encoding that makes the
  97. best possible use  of  the high, but limited,  resolution of the laser
  98. beam and read head optics.
  99.  
  100. 2.  Minimum  intersymbol  interference.   This  requires making    the
  101. minimum run length,  i.e. the  minimum number of consecutive zero bits
  102. or one bits, as large as possible.
  103.  
  104. 3.  Self-clocking.  To avoid a separate timing track,  the data should
  105. be encoded so as to allow the clock signal to be  regenerated from the
  106. data signal.  This requires limiting  the maximum   run length of  the
  107. data so that data transitions will regenerate the clock.
  108.  
  109. 4.  Low digital sum value (the number of one bits minus the  number of
  110. zero  bits).  This minimizes the low  frequency  and DC content of the
  111. data signal which permits optimal servo system operation.
  112.  
  113. A straightforward encoding would be to  simply to  encode zero bits as
  114. land and one bits as pits.  However, this does  not  meet  goal (1) as
  115. well as the  encoding scheme  actually  used.   The current CD  scheme
  116. encodes one bits  as transitions from pit to  land  or land to pit and
  117. zero bits as constant pit or constant land.
  118.  
  119. To  meet goals (2) to   (4), it  is not  possible  to encode arbitrary
  120. binary data.  For example, the integer 0 expressed  as thirty-two bits
  121. of zero  would have too long  a run length to  satisfy  goal  (3).  To
  122. accommodate these goals, each eight-bit byte of actual data is encoded
  123. as fourteen bits of channel data.  There are many more combinations of
  124. fourteen bits (16,384) than there are of eight bits (256).   To encode
  125. the eight-bit  combinations, 256 combinations  of  fourteen  bits  are
  126. chosen   that  meet  the  goals.   This  encoding   is  referred to as
  127. Eight-to-Fourteen Modulation (EFM) coding.
  128.  
  129. If  fourteen channel   bits  were  concatenated  with  another set  of
  130. fourteen channel bits, once again the above goals may not be  met.  To
  131. avoid this possibility, three merging  bits are included  between each
  132. set of fourteen channel bits.  These merging bits carry no information
  133. but are chosen to  limit run length, keep  data signal DC content low,
  134. etc.  Thus, an eight bit byte of actual  data is  encoded into a total
  135. of seventeen channel bits: fourteen EFM bits and three merging bits.
  136.  
  137. To achieve  a reliable  self-clocking system, periodic synchronization
  138. is  necessary.   Thus, data is  broken up into  individual frames each
  139. beginning with a synchronization  pattern.   Each frame  also contains
  140. twenty-four data bytes,  eight error correction  bytes, a control  and
  141. display byte  (carrying  the  subcoding  channels), and merging   bits
  142. separating them all.  Each frame is arranged as follows:
  143.  
  144.    Sync Pattern 24 + 3 channel bits
  145.    Control and Display byte 14 + 3
  146.    Data bytes 12 * (14 + 3)
  147.    Error Correction bytes 4 * (14 + 3)
  148.    Data bytes 12 * (14 + 3)
  149.    Error Correction bytes 4 * (14 + 3)
  150.  
  151.    TOTAL 588 channel bits
  152.  
  153. Thus, 192 actual data bits (24 bytes) are encoded as 588 channel bits.
  154.  
  155. Editorial: A CD physically  has a single  spiral  track about 3  miles
  156. long.  CDs spin at about 500 RPM when reading near  the center down to
  157. about 250 RPM when reading near the circumference.
  158.  
  159. Disc with a 'c' or disk  with a  'k'?  A usage  has  emerged for these
  160. terms: disk  is used for  eraseable disks (e.g. magnetic  disks) while
  161. disc is used for read-only (e.g. CD-ROM discs).  One  would presumably
  162. call a frisbee a disc.
  163.  
  164.  
  165. First Level Error Correction
  166.  
  167. Data  errors can  arise  from  production defects  in the disk itself,
  168. defects arising from subsequent damage to the disk, or  jarring during
  169. reading.  A  significant characteristic of these errors  is  that they
  170. often  occur in long  bursts.  This could  be  due,  for example, to a
  171. relatively wide mark on the disc that is opaque to the laser beam used
  172. to read  the disc.  A  system with two  logical  components called the
  173. Cross  Interleave Reed-Solomon  Coding  (CIRC)  is employed for  error
  174. correction.   The cross interleave component breaks  up the long error
  175. bursts into many short errors; the Reed-Solomon component provides the
  176. error correction.
  177.  
  178. As each frame is read from the disc, it is first decoded from fourteen
  179. channel bits (the three merging bits  are ignored) into eight-bit data
  180. bytes.   Then, the bytes from each  frame  (twenty-four data bytes and
  181. eight error correction  bytes) are passed   to the first  Reed-Solomon
  182. decoder which uses four of the error correction  bytes and is  able to
  183. correct   one byte in  error   out   of the    32.   If  there  are no
  184. uncorrectable errors, the data  is simply passed along.  If  there are
  185. errors, the  data  is  marked as  being  in error    at this stage  of
  186. decoding.
  187.  
  188. The twenty-four data bytes and  four remaining error correction  bytes
  189. are then  passed through unequal delays  before  going through another
  190. Reed-Solomon decoder.  These  unequal delays result in an interleaving
  191. of the data that spreads long error bursts among many different passes
  192. through the second decoder.  The delays  are such that error bursts up
  193. to   450  bytes  long    can   be completely    corrected.  The second
  194. Reed-Solomon  decoder  uses the last four  error   correction bytes to
  195. correct  any remaining errors in the  twenty-four data bytes.  At this
  196. point, the data goes through a de-interleaving process to  restore the
  197. correct byte order.
  198.  
  199.  
  200. Subcoding Channels and Blocks
  201.  
  202. The  eight-bit control  and display byte   in each   frame carries the
  203. subcoding channels.  A subcoding block consists of 98 subcoding bytes,
  204. and  thus  98 of the  588-bit frames.  A block  then  can contain 2352
  205. bytes of data.  Seventy-five blocks are  read each  second.  With this
  206. information, it is now  straightforward to calculate  that the CD data
  207. rate is in fact correct for CD digital audio (CD-DA):
  208.  
  209. Required CD digital  audio data rate: 44.1  K samples per second  * 16
  210. bits per sample * 2 channels = 1,411,200 bits/sec.
  211.  
  212. CD data rate: 8 bits per byte * 24  bytes  per frame *  98  frames per
  213. subcoding block * 75 subcoding blocks per second = 1,411,200 bits/sec.
  214.  
  215. The eight subcoding channels  are labeled P  through W and are encoded
  216. one bit for each channel in a control and display  byte.  Channel P is
  217. used as a simple music track separator.  Channel Q is used for control
  218. purposes  and encodes information  like track  number, track type, and
  219. location (minute, second, and frame number).  During the lead-in track
  220. of the disc, channel Q encodes a table of contents for the disk giving
  221. track number and starting location.  Standards have been proposed that
  222. would use the remaining channels for line graphics and ASCII character
  223. strings, but these are seldom used.
  224.  
  225.  
  226. Track Types
  227.  
  228. Tracks  can have two  types as specified in the  control bit field  of
  229. subchannel Q.  The first type is CD digital audio (CD-DA) tracks.  The
  230. two-channel  audio is sampled   at  44.1  Khz with sixteen bit  linear
  231. sampling encoded as twos complement numbers.   The sixteen bit samples
  232. are separated into  two eight-bit bytes; the bytes  from  each channel
  233. alternate  on   the  disc.   Variations  for   audio  tracks   include
  234. pre-emphasis and four track recording.
  235.  
  236. The other type  of track specified  by  the subchannel Q  control  bit
  237. field  is the  data track.  These  must conform to the CD-ROM standard
  238. described below.   In  general, a disc  can  have a mix of  CD digital
  239. audio tracks and a CD-ROM track, but the CD-ROM track must come first.
  240.  
  241. Editorial: This first  level error  correction (the only type used for
  242. CD Audio data) is extremely powerful.  The CD specification allows for
  243. discs  to have  up to 220 raw  errors per second.   Every one of these
  244. errors is (almost always) perfectly corrected by the CIRC scheme for a
  245. net error rate of zero.  For example, our  tests  using Apple's CD-ROM
  246. drive (which also  plays audio) show  that raw error rates  are around
  247. 50-100  per  second  these  days.   Of  course,   these  are perfectly
  248. corrected, meaning that the original data is  perfectly recovered.  We
  249. have tested flawed  discs with raw  rates  up to 300  per second.  Net
  250. errors on all of these discs?  Zero!  I would  expect  a typical audio
  251. CD player to perform similarly.  Thus I expect this raw  error rate to
  252. have no audible consequences.
  253.  
  254. So why  did  I say    "almost always"   corrected  above?   Because  a
  255. sufficiently bad flaw  may produce  uncorrectable errors.  These  very
  256. unusual  errors are "concealed" by  the player rather  than corrected.
  257. Note that this concealment is likely to be less noticeable than even a
  258. single scratch on an LP.  Such a flaw might be a  really opaque finger
  259. smudge; CDs do  merit careful handling.  On the  two  (and  only  two)
  260. occasions I  have found these,  I simply  sprayed  on  a little Windex
  261. glass cleaner and  wiped  it off using radial strokes.   This restored
  262. the CDs to zero net errors.
  263.  
  264. One can argue about the quality of the process of conversion of analog
  265. music  to and from digital  representation, but  in the digital domain
  266. CDs are really very, very good.
  267.  
  268.  
  269. CD-ROM Data Tracks
  270.  
  271. Each CD-ROM data track is divided into individually addressable blocks
  272. of 2352 data bytes, i.e. one subcoding  block or  98 frames.  A header
  273. in each block contains the  block address and the  mode of the  block.
  274. The block address is identical to the  encoding of minute, second, and
  275. frame number in subcode channel  Q.  The  modes  defined in the CD-ROM
  276. specification are:
  277.  
  278.    Mode 0 -- all data bytes are zero.
  279.  
  280.    Mode 1 -- (CD-ROM Data):
  281.    Sync Field - 12 bytes
  282.    Header Field - 4
  283.    User Data Field - 2048
  284.    Error Detection Code - 4
  285.    Reserved - 8
  286.    Error Correction - 276
  287.  
  288.    Mode 2 -- (CD Audio or Other Data):
  289.    Sync Field - 12 bytes
  290.    Header Field - 4
  291.    User Data Field - 2048
  292.    Auxiliary Data Field - 288
  293.  
  294. Thus, mode 1  defines  separately addressable, physical 2K   byte data
  295. blocks making CD-ROM look at this level very similar  to other digital
  296. mass storage devices.
  297.  
  298.  
  299. Second Level Error Correction
  300.  
  301. An uncorrected error in audio data typically results in a brief, often
  302. inaudible  click  during listening at worst.   An uncorrected error in
  303. other kinds  of  data, for   example program code,  may   render  a CD
  304. unusable.  For this  reason, CD-ROM defines  a second  level  of error
  305. detection   and  error correction (EDC/ECC)  for   mode 1 data.    The
  306. information for the EDC/ECC occupies most of the auxiliary data field.
  307.  
  308. The error detection  code is a cyclic  redundancy  check  (CRC) on the
  309. sync, header, and user data.  It occupies the first  four bytes of the
  310. auxiliary  data field   and  provides a  very  high  probability  that
  311. uncorrected errors will be   detected.  The  error correction  code is
  312. essentially the same   as the first level  error  correction in   that
  313. interleaving and Reed-Solomon coding are  used.  It occupies the final
  314. 276 bytes of the auxiliary data field.
  315.  
  316. Editorial: This  extra level of error correction  for CD-ROM blocks is
  317. one of the many reasons  that  CD-ROM drives are  much  more expensive
  318. than consumer audio players.  To perform this error correction quickly
  319. requires substantial  extra computing   power (sometimes  a  dedicated
  320. microprocessor) in the drive.
  321.  
  322. This  is also  one reason   that consumer  players like the Magnavoxes
  323. which claim to be CD-ROM compatible (with their digital output jack on
  324. the back) are useless for  that purpose.  They have  no way of dealing
  325. with the  CD-ROM error  correction.   They  also  have  no  way for  a
  326. computer to tell them where to seek.
  327.  
  328. Another reason that CD-ROM drives are more  expensive is that they are
  329. built to be a computer peripheral rather than a consumer  device, i.e.
  330. like a combination race   car/truck rather  than a family  sedan.  One
  331. story, probably apocryphal but not  far from the  truth, has it that a
  332. major  Japanese  manufacturer  tested  some  consumer audio players to
  333. simulate  computer use: they made them  seek  (move the optical  head)
  334. from the inside of the  CD to the  outside  and back again.  These are
  335. called  maximum seeks.  The story says  they  managed   to do this for
  336. about 24 hours  before they broke down.   A CD-ROM  drive needs to  be
  337. several orders of magnitude  more robust.  Fast  and strong don't come
  338. cheap.
  339.  
  340.  
  341. The High Sierra File System Standard
  342.  
  343. Built  on   top of   the   addressable   2K  blocks  that  the  CD-ROM
  344. specification defines,  the  next higher level of  data encoding is  a
  345. file system that  permits logical organization  of the data on the CD.
  346. This can be a native file system like  the Macintosh Hierarchical File
  347. System  (HFS).  Another alternative is  the High Sierra (also known as
  348. the  ISO  9660)  file standard,   recently approved  by  the  National
  349. Information  Standards  Organization  (NISO)   and  the  International
  350. Standards Organization (ISO),  which defines a  file  system carefully
  351. tuned to CD characteristics.  In particular:
  352.  
  353. 1.  CDs  have modest seek time  and  high capacity.  As a  result, the
  354. High Sierra standard  makes tradeoffs that reduce  the number of seeks
  355. needed to read a file at the expense of space efficiency.
  356.  
  357. 2.  CDs  are read-only.   Thus, concerns  like  space allocation, file
  358. deletion, and the like are not addressed in the specification.
  359.  
  360. For High Sierra file systems, each individual CD is a volume.  Several
  361. CDs may be grouped together in  a volume set and  there is a mechanism
  362. for subsequent volumes in a set to update preceding ones.  Volumes can
  363. contain standard file structures, coded character set  file structures
  364. for character encoding  other  than  ASCII,   or boot records.    Boot
  365. records can contain either data or program code  that may be needed by
  366. systems or applications.
  367.  
  368.  
  369. High Sierra Directories and Files
  370.  
  371. The file system is a hierarchical one in which directories may contain
  372. files or other directories.  Each  volume has a  root directory  which
  373. serves as an ancestor to all other directories or files in the volume.
  374. This dictates an overall tree structure for the volume.
  375.  
  376. A typical disadvantage in hierarchical systems is that to  read a file
  377. (which must be a leaf of the hierarchy tree) given its full path name,
  378. it is necessary to begin at the root directory and search through each
  379. of its  ancestral directories until  the entry for the file  is found.
  380. For example, given the path name
  381.  
  382.    Wine Regions:America:California:Mendocino
  383.  
  384. three directories (the first three components of the  path name) would
  385. need to be searched.  Typically, a separate seek would be required for
  386. each directory.  This would result in relatively poor performance.
  387.  
  388. To avoid this, High Sierra specifies  that each  volume contain a path
  389. table in addition  to its   directories  and files.   The  path  table
  390. describes the directory hierarchy in a compact form that may be cached
  391. in computer memory  for optimum performance.   The path table contains
  392. entries  for   the  volume's directories  in a  breadth-first   order;
  393. directories with a  common parent  are  listed in lexicographic order.
  394. Each entry contains only the location  of the directory  it describes,
  395. its name, and  the location in  the path  table of   its parent.  This
  396. mechanism allows any  directory to be  accessed with  only a single CD
  397. seek.
  398.  
  399. Directories  contain  more detailed  information than  the path table.
  400. Each directory entry contains:
  401.  
  402.    Directory or file location.
  403.    File length.
  404.    Date and time of creation.
  405.    Name of the file.
  406.    Flags:
  407.       Whether the entry is for a file or a directory.
  408.       Whether or not it is an associated file.
  409.       Whether or not it has records.
  410.       Whether or not it has read protection.
  411.       Whether or not it has subsequent extents.
  412.       Interleave structure of the file.
  413.  
  414. Interleaving may be used, for  example,  to meet realtime requirements
  415. for multiple  files  whose contents must  be presented simultaneously.
  416. This would happen if a file containing graphic images were interleaved
  417. with a file containing compressed sound that describes the images.
  418.  
  419. Files themselves are recorded in contiguous (or interleaved) blocks on
  420. the  disc.   The  read-only  nature of   CD  permits this   contiguous
  421. recording in a straightforward manner.  A file may also be recorded in
  422. a  series of noncontiguous  extents with a  directory  entry  for each
  423. extent.
  424.  
  425. The specification does not favor any particular computer architecture.
  426. In particular  all significant, multibyte  numbers are recorded twice,
  427. once with  the most significant  byte first  and  once  with the least
  428. significant byte first.
  429.  
  430.  
  431. Multimedia Information
  432.  
  433. Using  the file   system are applications   that create  and   portray
  434. multimedia information.  While it is true that a CD can store anything
  435. that a magnetic disk can store (and usually much more of it), CDs will
  436. be used more for storing information than for storing programs.  It is
  437. the  very large storage  capacity  of CDs coupled with their  low cost
  438. that   opens   up   the  possibilities  for  interactive,   multimedia
  439. information to be used in a multitude of ways.
  440.  
  441. Programs  like  HyperCard,  with it's   ease of  authoring   and broad
  442. extensibility, are  very  useful for this purpose.   Hypercard stacks,
  443. with related information such as color images and sound, can be easily
  444. and inexpensively   stored on CDs  despite their  possibly  very large
  445. size.
  446.  
  447. Editorial: The High Sierra file system gets its name from the location
  448. of the first meeting on it: the High  Sierra Hotel  at Lake Tahoe.  It
  449. is  much  more commonly  referred  to  as  ISO 9660,   though the  two
  450. specifications are slightly different.
  451.  
  452. It has gotten  very easy  and inexpensive  to  make a CD-ROM disc  (or
  453. audio CD).  For example, you can now take  a  Macintosh hard  disk and
  454. send it with $1500 to one of several CD  pressers.  They will send you
  455. back your hard  disk and 100  CDs  with  exactly the  same content  as
  456. what's on your disk.  This is the easy way  to make CDs  with capacity
  457. up to  the size of your hard  disk (Apple's  go up to  160 megabytes).
  458. True, this is not a full CD but  CDs  don't  need to be  full.  If you
  459. have just 10 megabytes and need 100 copies, CDs may be the best way to
  460. go.
  461.  
  462. If you are buying a CD-ROM drive, there are  several factors you might
  463. consider  in  making  your choice.   Two  factors NOT to consider  are
  464. capacity   and data rate.   The  capacity  of  all  CD-ROM   drives is
  465. determined solely by  the CD they are  reading.  Though you will see a
  466. range of numbers in manufacturers' specs  (e.g. 540, 550, 600, and 650
  467. Mbytes), any drive can read any disc and so they are all fundamentally
  468. the same.  All  CD-ROM drives read data at   a net 150 Kbytes/sec  for
  469. CD-ROM  data.   Other data   rates  you may  see    may include  error
  470. correction data (not included in the net rate) or may be a mode 2 data
  471. rate (faster than  mode 1).   All drives will  be  the same  in all of
  472. these specs.
  473.  
  474.  
  475. End of article.
  476.