Классический форум-трекер
canvas not supported
Нас вместе: 4 232 842

Немного о формате CD-DA


 
 
RSS
Начать новую тему   Ответить на тему    Торрент-трекер NNM-Club -> Форум Музыка -> Обсуждение Музыки
Автор Сообщение
anonymous
Стаж: 15 лет 10 мес.
Сообщений: 3102
Поблагодарили: 99717
0%
Структура информации на диске CD-DA
В общем случае можно считать, что информационная структура дорожки CD-DA — двухуровневая. Верхний уровень информации — поток амплитудных значений (отсчетов) цифрового звука — представляет собой звучание дорожки. При изготовлении диска из потока отсчетов путем кодирования и перемежения («размазывания» по поверхности диска) формируются так называемые кадры, которые и записываются на диск в виде последовательности отражающих и неотражающих пятен (питов). Последовательность битов, представленная питами на дорожке, — это нижний информационный уровень, он и представляет собой носитель информации.

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

В свете вышесказанного термин «точная копия» корректно применять лишь к информации верхнего уровня. Получение же точной копии информации на нижнем уровне требует сверхточных технологий и является практически нереальным, а главное — совершенно бессмысленным, так как требуется создать копию самого звучания, а не его материального носителя.

Разница в звучании оригинала и копии
Надо отметить, что даже получение абсолютно точной цифровой копии информации верхнего уровня диска не может гарантировать, что его звучание не будет отличаться от звучания оригинала в различных дисковых проигрывателях (CDP). Дело в том, что воспроизведение диска — это своего рода интерпретация записанной на нем цифровой информации, и не все CDP умеют делать это технически верно. Из-за дефектов прессования (у штампованных дисков) или записи (у матриц CD-R) информация на нижнем уровне может существенно различаться, однако в пределах запаса, создаваемого избыточным кодом, звуковые кадры верхнего уровня восстанавливаются одинаково. Технически правильно сконструированный проигрыватель должен полностью отсечь различия нижнего уровня, не допуская их влияния на звук, но на практике многие CDP этого не выполняют (о профессиональных устройствах чтения/записи компакт-дисков читайте на врезке «Как записать качественный CD». Там же вы можете получить представление о ценах на такого рода устройства. — Прим. ред.).

Процесс создания копий можно сравнить с изготовлением некой смеси по рецепту. Если один и тот же текст рецепта напечатать на бумаге разного цвета, шрифтами разных типов и размеров, то эти различия могут повлиять на эмоциональное состояние человека, готовящего смесь, в результате чего он может недомешать, перелить и т.п., даже соблюдая пропорции веществ с достаточной точностью. И как посредством тщательного анализа можно будет обнаружить разницу в составе смесей, так и опытный «слухач» обнаруживает разницу в звучании оригинала и копии одного и того же диска, в то время как рядовой слушатель этой разницы совершенно не замечает.

Справедливости ради следует сказать, что большинство слушателей не замечает разницы даже в звучании оригинального диска и сделанного с него сжатого МР3-файла, а уж там возникают кардинальные различия в кодировании цифровой информации. Это говорит о том, что точным копированием имеет смысл заниматься только в тех случаях, когда крайне важна предельная точность переноса информации и слушатели в состоянии обнаружить ее нарушение.

Разница между дисками CD-DA и CD-ROM
Формат CD-DA — основной, первичный формат, из которого растет целое дерево форматов компакт-дисков (CD-I, Video CD, CD-Text, CD-R, CD-RW и т.п.). Этот формат определяет способ кодирования информации на диске и его структуру — до 99 дорожек, каждая из которых обычно представляет собой одно музыкальное произведение.

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

На самом же деле защита от ошибок в формате CD-DA есть, и весьма серьезная: информация как бы размазана по диску, и блоки собственно звуковых данных собираются при чтении из совершенно не смежных между собой кадров низкого уровня, а большинство возникших ошибок исправляются (корректируются) при помощи специального избыточного кода, способного исправлять как единичные, так и множественные ошибки. Избыточность (доля дополнительной информации в ее общем объеме) корректирующего кода Рида-Соломона в CD-DA составляет 25%, а поверх этого кода накладывается еще и канальный код 8/14, так что окончательная избыточность равна 57%. Иными словами, более половины всей информации на диске занимают проверочные и корректирующие данные.

Адресация звуковых блоков (кадров) в CD-DA выполняется по меткам в так называемых подканалах (subchannels), которые кодируются вместе со звуковой информацией. Один кадр имеет длительность 1/75 секунды и вмещает 2352 байтов данных (588 стереофонических звуковых отсчетов).

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

Адресация блоков данных в CD-ROM выполняется по специальным адресным заголовкам, которые записываются в каждом кадре CD-DA. Поиск блока происходит вначале грубо, по меткам из адресного подканала, а затем — точно, по адресному заголовку из кадра.

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

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

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

Таким образом, грамотно построенный привод CD-ROM, читающий диск CD-DA в режиме «грабления», должен работать по совершенно иному алгоритму, нежели в режиме воспроизведения, причем логика работы должна меняться в первичном декодере формата CD-DA, а не во вторичном декодере CD-ROM. К сожалению, далеко не все приводы могут правильно читать CD-DA в режиме прямого чтения (Digital Audio Extraction, DAE) и в результате либо теряют синхронизацию между кадрами, либо отдают в магистраль блоки с интерполированными отсчетами, никак не информируя контроллер об ошибках чтения. Выловить такие ошибки можно только путем многократного (3-5 раз) чтения одних и тех же дорожек диска, с последующим сравнением получившихся файлов.

Тонкости процесса прямого чтения звука
Несмотря на то что адреса дорожек CD-DA в оглавлении диска указаны с точностью до кадра (1/75 секунды), различные приводы по-разному позиционируются на начало читаемого участка, вследствие чего воспроизведение или чтение начинается не точно с начала первого кадра, а на какую-то часть кадра раньше. Причины этого явления недостаточно ясны, поскольку производители не раскрывают точного алгоритма работы контроллеров в своих приводах. Возможно, это связано с тем, что расшифровка кадра происходит постепенно, путем сборки размазанных по потоку данных нижнего уровня кодовых блоков воедино. При различных алгоритмах сборки моменты восстановления адресной метки кадра будут различными; если привод начинает отдавать накопленные во внутреннем буфере звуковые данные сразу же, как произойдет совпадение адресной метки, то читающая программа получит какую-то часть предыдущего кадра, которую еще не успели перекрыть данные текущего кадра.

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

По той же самой причине многие приводы теряют синхронизацию с дорожкой между операциями чтения. Чтение с CD выполняется блоками, включающими целое число кадров, и внутренний буфер привода непрерывно заполняется данными, считанными с дорожки, периодически отдавая их читающей программе. Если программа делает паузу (для записи блока данных на диск или по причине вытеснения другой программой), то объема буфера привода может не хватить для сохранения данных до поступления следующего обращения от программы; в таком случае привод вынужден позиционироваться заново, а из-за неточности самого позиционирования возникает повтор или выпадение серии отсчетов. Надежно сохранять синхронизацию могут лишь немногие из распространенных приводов.

Для борьбы с нарушениями синхронизации используется программное решение — чтение блоков внахлест, когда программа запрашивает каждый очередной блок данных с отставанием и определяет, где начинается очередная нужная последовательность кадров (режим Sync Read). Это позволяет худо-бедно работать с некорректными приводами, однако в несколько раз снижает скорость чтения.

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

Для того чтобы дорожки звукового диска были скопированы точно, необходимо выполнение ряда следующих условий:
  • качество поверхности исходного диска должно быть достаточным для его уверенного чтения в данном приводе. Иначе говоря, все ошибки нижнего уровня, которые возникают в процессе чтения, должны быть полностью исправимыми посредством корректирующего кода;
  • используемый для чтения привод должен обладать таким уровнем качества считывающей системы, который будет достаточным для того, чтобы уверенно читать данный диск. Например, со временем в приводах садятся лазеры, загрязняется линза фотоприемника, ухудшается точность следования луча по дорожке и т.п.;
  • читающий привод должен правильно и надежно синхронизироваться по последовательности звуковых кадров либо следует использовать режим программной синхронизации;
  • читающий привод не должен читать данные со смещением либо это смещение следует компенсировать программой чтения;
  • программа записи, преобразующая набор звуковых WAV-файлов в образ звукового диска, не должна вносить в них никаких изменений. Бывает, что некоторые программы могут пытаться самовольно убирать щелчки, обрезать тишину в начале или в конце дорожки, а также незаметно сглаживать фонограмму, чтобы копия не была точной и не нарушались слишком явно авторские права;
  • записывающий привод должен точно и аккуратно записывать на матрицу поданные ему программой звуковые данные, не внося в них ни малейших изменений, не делая лишних пауз в начале/конце дорожки и т.п. Большинство пишущих приводов по непонятной причине создают смещение между адресной информацией и данными, отчего возникает сдвиг начальных адресов звуковых дорожек. Желательно компенсировать смещение программой записи, а если она этого не поддерживает, то сделать это посредством программы чтения.

Критерием правильного копирования может служить совпадение всех WAV-файлов («сграбленных» с копии) и оригинальных файлов (с которых делалась запись) либо исходного и полученного образов всего диска. В таком случае качество копирования считается идеальным. Несовпадение чаще всего обусловлено смещениями данных в читающем и пишущем приводах, которые не удается компенсировать программно; в этом случае копия получается точной по звучанию, однако длительность начальных/концевых пауз на дисках Track-At-Once (TAO) и моменты стыков дорожек на дисках Disk-At-Once (DAO) будут различаться на несколько сотых долей секунды. Этим можно и пренебречь, однако необходимо иметь в виду, что при копировании копий полученные различия будут усугубляться и в конце концов последовательное копирование по цепочке приведет к такому накоплению ошибок на стыках дорожек диска DAO, которое будет восприниматься на слух.

(c) Евгением Музыченко
KvaK
Стаж: 17 лет 7 мес.
Сообщений: 92
Ratio: 4.774
Поблагодарили: 79
100%
ukraine.gif
еле осилил :) с теорией теперь все понятно. Остался вечный русский вопрос: Что делать ? В частности какими программными средствами пользоватся для получения точной копии диска ? или уже и EAC недостаточно ?
4ygak
Стаж: 17 лет 7 мес.
Сообщений: 820
Ratio: 10.156
Поблагодарили: 3525
100%
Откуда: пошла и есть земля русская?
russia.gif
KvaK Статья 2001 года, автор пишет вот что:
Цитата:
В принципе, EAC содержит все необходимые средства для записи дисков, однако эта часть программы пока недостаточно отлажена и часто зависает после окончания записи или стирания диска (хотя диск при этом записывается или стирается полностью и верно).


Автор пользовался версией 0.9 pb6

Ну и в догонку:
Цитата:
Возможны два способа копирования звуковых дорожек с диска на диск. При первом способе выбранные дорожки исходного диска читаются в набор WAV-файлов на винчестере, после чего полученные файлы в обычном порядке подаются любой программе записи звуковых дисков. При втором способе формируется один сплошной образ (image) непрерывной звуковой дорожки, для которого создается индексная карта (CUE sheet), где указаны адреса начала каждой из отдельных дорожек диска. По сути, любой рекордер записывает на диск именно непрерывную дорожку, которая потом снабжается индексным указателем (оглавлением, или TOC). Другое дело, что большинство программ записи сами формируют TOC, не давая пользователю доступ к этому процессу.
Наиболее надежным является второй способ, при котором за раз считывается в файл весь образ исходного диска и также за один раз записывается на диск-результат. Все, что нужно в этом случае для компенсации смещений, — это скорректировать адресные метки, что автоматически сделает EAC при создании CUE Sheet. При копировании дисков без пауз, когда дорожки состыкованы без разрыва, лучше воспользоваться именно этим способом. При копировании обычных дисков с паузами можно применить любой способ, однако желательно как можно точнее выставить величину смещения для компенсации.
«Снятие» образа и индексной карты с исходного диска выполняется в EAC функцией Copy image & Create CUE sheet. В результате создаются WAV-файл, содержащий звуковые данные всего диска (с паузами или без пауз — в зависимости от того, как построен диск), и CUE-файл, содержащий адреса отдельных дорожек диска. Если диск был предварительно опознан через базу данных (CDDB), то в файле CUE будут прописаны также названия дорожек вместе с именем автора или наименованием альбома.
Записывать диск-результат из отдельных WAV-файлов можно с помощью практически любой программы записи. При этом следует с осторожностью отнестись к Nero: версия 5.0 в моих экспериментах самовольно обрезала конец последней дорожки. Хорошие результаты при записи из готовых WAV-файлов всегда получались при использовании Easy CD Creator.
Запись из образа и карты выполняется либо в самом EAC функцией Write CD-R, либо в CDRWin. В общих программах есть операция Load CUE Sheet — загрузка карты, после чего остается лишь указать скорость и запустить запись. В этом режиме запись всегда идет методом DAO (Disk-At-Once), когда паузы между дорожками создаются средствами программы, а не рекордера.
Для получения диска-копии, надежно читаемого бытовыми проигрывателями, лучше не увлекаться повышенными скоростями записи, ограничившись двукратной или даже однократной. Тогда цепочка сформированных лазером питов будет более четкой и долговечной.


Так что релизы образами приветствуются!)

P.S. Для обсуждения записи на диски есть отдельный топик. Так что не будем больше флудить)

_________________

Blast_em
Стаж: 16 лет 10 мес.
Сообщений: 159
Ratio: 1.126
Поблагодарили: 41
81.13%
4ygak писал(а):

Так что релизы образами приветствуются!)

Нет разницы.
Правильно снятый и записанный CD на настроенном CD-ROM дает одинаковые результаты по СRC и accurate в не зависимости потреково он снят или через образ.
4ygak писал(а):

P.S. Для обсуждения записи на диски есть отдельный топик. Так что не будем больше флудить)

Ну так и надо было там эту тему заряжать, а то отдельный топик есть, а тема тут болтается.
djatom
Стаж: 16 лет 3 мес.
Сообщений: 32
Ratio: 23.658
Поблагодарили: 118
21.82%
Откуда: Cooltown
ukraine.gif
4ygak писал(а):
Так что релизы образами приветствуются!)


Я щитаю, что сначала лучше извлечь аудио образом на низкой скорости (4-8х), потом извлекать с образа wav-файлы, после чего закодировать в любимый формат (для loseless качества юзаю flac.exe, для плеера кодирую через oggenc2.exe (неплохо при битрейтах 192-224 кбит/сек). Для извлечения диска использую IsoBuster 2 (так-же извлекаю потом им wav из образа). Чем эта прога лучше других, так это быстрее всего из-за того, что IsoBuster когда не может прочитать сектор, он спрашивает "заменить нолями, пропустить (будет LBA-сбой) или заменить фиктивными нолями (этим никогда не пользовался). если хотите скачать зайдите на www.isobuster.com и скачайте (демка полностью нормально извлекает аудио диски).
Приятного всем рипанья дисков!
Показать сообщения:   
Начать новую тему   Ответить на тему    Торрент-трекер NNM-Club -> Форум Музыка -> Обсуждение Музыки Часовой пояс: GMT + 3
Страница 1 из 1