Компакт-диски и приводы CD-ROM

CD-ROM (Compact Disk Read Only Memory - память только для чтения на компакт-диске) происходят от CD-DA (Compact Disk Digital Audio - цифровой звук на компакт-диске) - привычных нам компакт-дисков для бытовых проигрывателей. Формат звукового диска приблизительно таков: каждая секунда стереозвука, оцифрованная на частоте 44.1 кГц по 16 бит на отсчет, дающая в сумме 176400 байтов данных, разделяется на 75 кадров, или секторов, размером 2352 байта каждый. Затем полученные кадры подвергаются кодированию с помощью помехоустойчивого кода Рида-Соломона; при этом к данным добавляются контрольные и корректирующие коды (EDC/ECC - Error Detection/Correction Code) и делается перемежение соседних отсчетов - как бы "размазывание" их по диску для ослабления влияния дефектов изготовления и царапин. Полученный поток данных записывается на диск в виде последовательности углублений (pit) и промежутков (land), представляющей собой непрерывную спиральную дорожку, которая начинается у центра диска и "раскручивается" к его краям. Диск при этом вращается со скоростью от 500 до 200 оборотов в минуту, обеспечивая постоянную линейную скорость дорожки. Максимальное стандартное время звучания диска - 74 мин, что эквивалентно примерно 783 Мб "чистых" звуковых данных. Для удобства последовательность кадров разделяется на дорожки (tracks), каждая из которых обычно содержит одно музыкальное произведение.

Особенность CD-DA заключается в том, что они предназначены для непрерывного воспроизведения звука (работа в режиме последовательного доступа), поэтому прямой доступ, преобладающий в работе компьютерных дисковых накопителей, на них весьма затруднен (точное позиционирование на конкретный кадр невозможно).

Компьютерные CD-ROM представляют собой частный случай CD-DA, секторы каждой дорожки которого имеют один из специальных форматов. Наиболее распространен формат под названием Mode 1: 12 байтов синхронизации, 4 байта заголовка сектора, 2048 байтов данных и 288 байт дополнительных EDC/ECC. Наличие полей синхронизации и заголовка позволяет находить непосредственно нужный сектор данных, а дополнительные ECC/ECC позволяют свести вероятность ошибки даже на не очень качественном диске до ничтожно малой величины. За счет этих накладных расходов емкость диска уменьшается примерно до 650 Мб.

В получившейся "блочной" структуре - так же, как и на магнитных дисках - организуется файловая структура, позволяющая представить диск в виде привычного набора каталогов и хранящихся в них файлов. В обычных CD-ROM используется файловая структура ISO 9660 уровня 1, ограничивающая имена файлов до стандартных в MS DOS: 8 символов на имя и 3 - на тип файла.

Другой формат сектора CD-ROM (так называемый XA - eXtended Architecture, расширенная архитектура) не использует дополнительные EDC/ECC, увеличивая полезный объем сектора до 2324 байтов (еще 12 байтов расходуется на дополнительный подзаголовок сектора). Этот формат секторов используется для записи данных, уже содержащих корректирующие коды, либо сравнительно нечувствительных к мелким выпадениям - например, изображений, видеофильмов и их звуковых дорожек. Наиболее известные типы дисков этого формата - CD-I и Video CD.

Для того, чтобы различать форматы секторов CD-ROM, используются поля в заголовках дорожек, что позволяет организовывать на одном диске дорожки различных форматов - например, файлы компьютерной игры, совмещенные с видеоклипами и звуковой дорожкой для нее. Однако обычные проигрыватели компакт-дисков (CDP), ориентированные только на обычные звуковые диски, могут не обращать внимания на поле типа дорожки, и честно пытаться воспроизвести сектора с данными. На слух это выглядит, как разнообразный шум - который, впрочем, при достаточной громкости может повредить усилитель или акустические системы.

Диски CD-ROM, как и звуковые диски, изготавливаются преимущественно промышленным способом путем штамповки с матрицы, записанной на высокоточном станке-рекордере. Однако не так давно появились устройства CD-R - записывающие приводы CD-ROM для обычного компьютера. В них используется специальный тип диска с заранее размеченной спиральной дорожкой и другим методом записи, который после однократного "прожигания" превращается в обычный звуковой или CD-ROM-диск. Этот метод носит название WORM (Write Once, Read Many - однократно записываемый, многократно считываемый). Современные CD-R позволяют также вести запись в несколько сеансов (sessions), дописывая новые данные к уже имеющимся.

Поскольку для того, чтобы прочитать диск CD-ROM, нужно в первую очередь расшифровать кодированные секторы CD-DA, компьютерные приводы CD-ROM могут также проигрывать обычные звуковые диски. Другое дело, что эта функция является для них как бы побочной, поэтому устанавливаемые в них цифроаналоговые преобразователи (ЦАП) имеют достаточно низкое качество, совершенно несравнимое с качеством ЦАП бытовых проигрывателей. Кроме этого, приводы CD-ROM практически не делают интерполяции отсчетов звукового сигнала, потерянных в результате ошибок чтения диска, и щелчки при воспроизведении могут встречаться гораздо чаще, чем на бытовых CDP.

Однако многие из современных приводов CD-ROM имеют возможность не только воспроизведения, но и прямого считывания звуковых секторов. Это позволяет, например, скопировать выбранные дорожки или весь диск на винчестер в файлы формата WAV, которые затем можно слушать через звуковую карту, обрабатывать в звуковом редакторе, сжимать по системе MPEG-3 или записать на CD-R. Таким образом можно, например, сделать сборники любимых музыкальных произведений - как в виде обычных звуковых дисков, так и в виде CD-ROM с файлами в формате MPEG-3, сжатыми более, чем в 10 раз. Правда, при этом, как и при перезаписи звуковых или видеокассет, не следует забывать, что такие действия нарушают авторские права в отношении используемого звукового материала. Занятно, кстати, что в английском языке для обозначения считывания звуковых дисков используется термин "grab", созвучный с русским "грабить".

Кроме возможности считывания звуковых дисков, во многих приводах CD-ROM предусмотрен цифровой выход звука в формате S/PDIF (Sony/Philips Digital Interface Format). В процессе воспроизведения на него выводится весь расшифрованный поток цифрового звука, который внутри привода направляется на интерполятор и ЦАП. При наличии хорошего усилителя с таким входом можно получить звук гораздо более высокого качества, чем с линейного или усиленного выхода самого привода.

Все выпускаемые сейчас приводы CD-ROM - так называемые N-скоростные, и диск в них вращается со скоростью, в N раз превышающую стандартную для звуковых дисков. Скорость передачи данных при этом тоже пропорционально возрастает относительно стандартных 150 кб/с - например, для 8-скоростного привода она составит примерно 1.2 Мб/сек. Однако здесь возникает серьезная проблема - многие компакт-диски, выпущенные в расчете на вращение со стандартной скоростью, при ее увеличении начинают заметно вибрировать, что резко снижает надежность чтения. Например, в том же 8-скоростном приводе максимальная скорость вращения составляет 4000 об/мин, что сравнимо со скоростью тщательно сбалансированных магнитных дисков винчестера. Поэтому увеличение скорости сверх 10-кратной уже нецелесообразно, и 12-, 16- и 24-скоростные приводы реально вращают диск максимум с 10-кратной постоянной скоростью, обеспечивая заданную скорость чтения только на внешних участках диска, а при достижении внутренних скорость чтения падает до 8-10-кратной.

В ряде моделей высокоскоростных приводов (например, Pioneer) имеется датчик амплитуды вибрации, и при помощи специальной перемычки можно разрешить уменьшение скорости вращения, если сила вибрации выходит за допустимые пределы. Многие приводы также снижают скорость при многократных ошибках чтения - однако большинство из них после этого продолжают работать на сниженной скорости до замены диска, даже если ошибки больше не возникают.

Большая часть выпускаемых сейчас приводов CD-ROM имеет интерфейс ATAPI (ATA Packet Interface - пакетный интерфейс ATA) и подключается к тому же интерфейсу IDE (ATA), что и винчестер, либо к другому его каналу. Для работы под Windows 95 не требуется никаких дополнительных драйверов - все нужное программное обеспечение интегрировано в саму систему. Для работы под DOS требуется драйвер устройства, входящий в комплект привода, либо универсальный драйвер ATAPI из комплекта системной платы или адаптера. Для чтения звуковых дисков "родного" драйвера - как под DOS, так и под Windows 95 - может оказаться недостаточно, и тогда придется экспериментировать с драйверами от других приводов или производителей.

Евгений Музыченко, music@welgas.nsk.su, music@spider.nrcde.ru
]Лаборатория "Системы мультимедиа" (MSG)
НТК "Велгас", Новосибирск, тел. (3832) 21-61-64, 17-38-17

Специально для журнала Техно-Collection, # 10/97