WebSound.ru Home
    Главная | Комментарии | Архив выпусков | Форум и чат | AudioTag.info | Музоблог | reTracked | Авторский блог  



  Поиск:

Поиск по WebSound.Ru:
Поиск в Интернете:
Powered by




  Партнеры, реклама:




Audio watermarking
TrustedAudio.com



 

Параметры цифрового звука

Автор: Дмитрий Михайлов
Copyright (C) Dmitry Mihaylov (Дмитрий Михайлов)
http://www.mtu-net.ru/pinetar/dm, dmitry.mih@mtu-net.ru

Все права в отношении данного документа принадлежат автору. Воспроизведение данного текста или его части допускается только с письменного разрешения автора.

Биты, герцы... Что скрывается за этими понятиями? При разработке стандарта аудио компакт дисков были приняты значения 44 кГц, 16 бит. Почему именно столько? В чем причина выбора, а также - почему предпринимаются попытки повысить эти значения до, скажем, 96 кГц и 24 или даже до 32х битов...

Разберемся сначала с разрешением сэмплирования - то есть с битностью. Так уж получается, что выбирать приходится между числами 16, 24 и 32. Промежуточные значения были бы, конечно, удобнее в смысле звука, но слишком неприятны для использования в цифровой технике.

За что отвечает этот параметр? В двух словах - за динамический диапазон. Диапазон одновременно воспроизводимых громкостей - от максимальной амплитуды (0 дБ) до той наименьшей, которую позволяет передать разрешение, например - примерно -93 дБ для 16 битного аудио. Как не странно, это сильно связано с уровнем шумов фонограммы. В принципе, для, к примеру, 16 битного аудио вполне возможна передача сигналов мощностью и в -120 дБ, однако эти сигналы будет затруднительно применять на практике из-за такого фундаментального понятия как шум дискретизации. Дело в том, что при взятии цифровых значений мы все время ошибаемся, округляя реальное аналоговое значение до ближайшего возможного цифрового. Самая маленькая возможная ошибка - нулевая, максимально же мы ошибаемся на половину последнего разряда (бита, далее термин младший бит будет сокращаться до МБ). Эта ошибка дает нам так называемый шум дискретизации - случайное несоответствие оцифрованного сигнала оригиналу. Этот шум носит постоянный характер и имеет максимальную амплитуду равную 0.5МБ. Это можно рассматривать как случайные значения, подмешанные в цифровой сигнал. Иногда это называется шум округления или квантования.

Остановимся подробнее на том, что понимается под мощностью сигналов, измеряемой в битах. Самый сильный сигнал в цифровой обработке звука принято принимать за 0 дБ, это соответствует всем битам, поставленным в 1. Если старший бит (далее СБ) обнулить, получившееся цифровое значение будет в два раза меньше, что соответствует потере уровня на 6 дБ. Никакими другими битами кроме СБ нельзя добиться уровня выше -6 дБ. Соответственно - старший бит как бы отвечает за наличие уровня сигнала от -6 до 0 дБ, поэтому СБ - это бит 0 дБ. Предыдущий бит отвечает за уровень -6 дБ, ну а самый младший, таким образом - за уровень (число_бит-1) * 6 дБ. В случае 16 битного звука, МБ соответствует уровень в -90 дБ. Когда мы говорим 0.5МБ, мы имеем в виду не -90/2, а половину шага до следующего бита - то есть еще на 3 дБ ниже, -93 дБ.

Возвращаемся к выбору разрешения оцифровки. Как уже было сказано, оцифровка вносит шум на уровне 0.5МБ, это говорит о том, что запись, оцифрованная в 16 бит, постоянно шумит на -93 дБ. Она может передавать сигналы и тише, но шум все равно остается на уровне -93 дБ. По этому признаку и определяется динамический диапазон цифрового звука - там, где соотношение сигнал/шум переходит в шум/сигнал (шумов больше, чем полезного сигнала), находится граница этого диапазона снизу. Таким образом, главный критерий оцифровки - сколько шума мы можем себе позволить в восстановленном сигнале? Ответ на этот вопрос зависит отчасти от того, сколько шума было в исходной фонограмме. Важный вывод - если мы оцифровываем нечто с уровнем шумов -80 дБ - нет совершенно никаких причин цифровать это в более чем 16 бит, так как, с одной стороны, шумы -93 дБ добавляют очень мало к уже имеющимся огромным (сравнительно) шумам -80 дБ, а с другой стороны - тише чем -80 дБ в самой фонограмме уже начинается шум/сигнал, и оцифровывать и предавать такой сигнал просто не нужно.

Теоретически это единственный критерий выбора разрешения оцифровки. Больше мы не вносим совершенно никаких искажений или неточностей. Практика, как не странно, почти полностью повторяет теорию. Этим и руководствовались те люди, которые выбирали разрешение 16 бит для аудио компакт дисков. Шум -93 дБ - довольно хорошее условие, которое почти точно соответствует условиям нашего восприятия: разница между болевым порогом (140 дБ) и обычным шумовым фоном в городе (30-50 дБ) составляет как раз около сотни дБ, и если учесть, что на уровне громкости, приносящем боль, музыку не слушают - что еще несколько сужает диапазон - получается, что реальные шумы помещения или даже аппаратуры получаются гораздо сильнее шумов дискретизации. Если мы можем расслышать уровень под -90 дБ в цифровой записи - мы услышим и воспримем шумы дискретизации, иначе - мы просто никогда не определим, оцифрованное это аудио или живое. Никакой другой разницы в смысле динамического диапазона просто нет. Но в принципе, человек может осмысленно слышать в диапазоне 120 дБ, и было бы неплохо сохранить весь этот диапазон, с чем 16 бит, казалось бы, не справляются.

Но это только на первый взгляд: с помощью специальной техники, называемой shaped dithering, можно изменить частотный спектр шумов дискретизации, почти полностью вынести их в область более 7-15 кГц. Мы как бы меняем разрешение по частоте (отказываемся от воспроизведения тихих высоких частот) на дополнительный динамический диапазон в оставшемся отрезке частот. В сочетании с особенностями нашего слуха - наша чувствительность к выкидываемой области высоких частот на десятки дБ ниже чем в основной области (2-4 кГц) - это делает возможным относительно бесшумную передачу полезных сигналов дополнительно еще на 10-20 дБ тише, чем -93 дБ - таким образом, динамический диапазон 16 битного звука для человека составляет около 110 дБ. Да и вообще - одновременно человек просто не может слышать звуки на 110 дБ тише чем только что услышанный громкий звук. Ухо, как и глаз, подстраивается под громкость окружающей действительности, поэтому одновременный диапазон нашего слуха составляет и совсем сравнительно мало - около 80 дБ. Поговорим о dithring-е подробнее после обсуждения частотных аспектов.

Для компакт дисков выбрана частота дискретизации 44100 Гц. Бытует мнение, что это означает, что воспроизводятся все частоты до 22.05 кГц, однако это не совсем так. Однозначно можно сказать лишь то, что частот выше 22.05 кГц в оцифрованном сигнале нет. Реальная же картина воспроизведения оцифрованного звука всегда зависит от конкретной техники и всегда не настолько идеальна, как хотелось бы, и как соответствует теории. Все зависит от конкретного ЦАПа.

Разберемся сначала, что нам хотелось бы получить. Человек среднего возраста (скорее молодой) может чувствовать звуки от 10 Гц до 20 кГц, осмысленно слышать - от 30 Гц до 16 кГц. Звуки выше и ниже воспринимаются, но не составляют акустических ощущений. Звуки выше 16 кГц ощущаются как раздражающий неприятный фактор - давление на голову, боль, особо громкие звуки приносят такой резкий дискомфорт, что хочется покинуть помещение. Неприятные ощущения настолько сильны, что на этом основано действие охранных устройств - несколько минут очень громкого звука высокой частоты сведут с ума кого угодно, и воровать что либо в такой обстановке становится решительно невозможно. Звуки ниже 30 - 40 Гц при достаточной амплитуде воспринимаются как вибрация, исходящая от объектов (колонок). Вернее будет даже сказать так - просто вибрация. Человек акустически почти не определяет пространственное положение настолько низких звуков, поэтому в ход уже идут другие органы чувств - осязательные, мы чувствуем такие звуки телом.

Для передачи звука как он есть было бы неплохо сохранить весь хоть как либо воспринимаемый диапазон от 10 Гц до 20 кГц. С низкими частотами в теории в цифровой записи проблем совершенно никаких нет. На практике же - все ЦАПы, работающие по дельта-технологии, имеют потенциальный источник проблем. Таких устройств сейчас 99%, поэтому проблема так или иначе имеет место быть, хотя откровенно плохих устройств почти нет (лишь самые дешевые схемы). Можно считать, что с низким частотами все обстоит благополучно - в конце концов, это лишь вполне решаемая проблема воспроизведения, с которой успешно справляются хорошо сконструированные ЦАПы ценой более $1.
С высокими частотами все немного хуже, по крайней мере точно сложнее. Почти вся суть усовершенствований и усложнений ЦАПов и АЦП направлена как раз на более достоверную передачу высоких частот. Под "высокими" подразумеваются частоты сравнимые с частотой дискретизации - то есть в случае 44.1 кГц это 7-10 кГц и выше. Поясняющий рисунок:

На рисунке изображена частота 14 кГц, оцифрованная с частотой дискретизации 44.1 кГц. Точками обозначены моменты взятия амплитуды сигнала. Видно, что на один период синусоиды приходится около трех точек, и чтобы восстановить исходную частоту в виде синусоиды, надо проявить некоторую фантазию. Саму синусоиду рисовала программа CoolEdit, она и проявляла фантазию - восстанавливала данные. Аналогичный процесс происходит и в ЦАПе, этим занимается восстанавливающий фильтр. И если сравнительно низкие частоты представляют собой почти готовые синусоиды, то форма и, соответственно, качество восстановления высоких частот лежит целиком на совести восстанавливающей системы ЦАПа. В CoolEdit очень хороший восстанавливающий фильтр, но и он не справляется в экстремальном случае - например, частота 21 кГц:

Видно, что форма колебаний (синие линии) далека от правильной, да и свойства появились, которых ранее не было. Это и составляет основную проблему при воспроизведении высоких частот. Проблема, однако, не так страшна, как может показаться. Во всех современных ЦАП используется технология пересэмплирования (multirate), которая заключается в цифровом восстановлении до в несколько раз более высокой частоты дискретизации, и в последующем переводе в аналоговый сигнал на повышенной частоте. Таким образом проблема восстановления высоких частот перекладывается на плечи цифровых фильтров, которые могут быть очень качественными. Настолько качественными, что в случае дорогих устройств проблема полностью снимается - обеспечивается неискаженное воспроизведение частот до 19-20 кГц. Пересэмплирование применяется и в не очень дорогих устройствах, так что в принципе и эту проблему можно считать решенной. Устройства в районе $30 - $60 (звуковые карты) или музыкальные центры до $600, обычно аналогичные по ЦАПу этим звуковым картам, отлично воспроизводят частоты до 10 кГц, сносно - до 14 - 15, и кое-как остальные. Этого вполне достаточно для большинства реальных музыкальных применений, а если кому-то нужно большее качество - он найдет его в профессионального класса устройствах, которые не то чтобы сильно дороже - просто они сделаны с умом.

Вернемся к dithering-у - посмотрим, как можно с пользой увеличить динамический диапазон за пределы 16 бит.

Идея dithering-а заключается в том, чтобы подмешать в сигнал шум. Как не странно это звучит - для того чтобы уменьшить шумы и неприятные эффекты квантования, мы добавляем свой шум. Рассмотрим пример - воспользуемся возможностью CoolEdit-а работать в 32х битах. 32 бита - это в 65 тысяч раз большая точность, нежели 16 бит, поэтому в нашем случае 32х битный звук можно считать аналоговым оригиналом, а перевод его в 16 бит - оцифровкой. Изображение показывает 32х битый звук - музыка, записанная на таком тихом уровне, что самые громкие моменты достигают лишь -110 дБ:

Это с запасом гораздо тише динамического диапазона 16 битного звука (1МБ 16 битного представления равняется единице по шкале справа), поэтому если просто округлить данные до 16 бит - мы получим полную цифровую тишину.

Добавим в сигнал белый шум с уровнем в 1МБ - это -90 дБ (примерно соответствующий по уровню шумам квантования):

Преобразуем в 16 бит (возможны только целые значения - 0, 1, -1, ...):


(Не обращайте внимание на синюю линию, которая принимает и промежуточные значения - это фильтр CoolEdit моделирует реальную амплитуду после восстанавливающего фильтра. Точки же взятия амплитуд расположены только на значениях 0 и 1)

Как видно, какие-то данные остались. Там, где исходный сигнал имел больший уровень, больше значений 1, где меньший - нулей. Чтобы услышать то, что мы получили, усилим сигнал на 14 бит (на 78 дБ). Результат можно скачать и послушать (dithwht.zip, 183 кб).

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

Более сложный способ - shaped dithering. Идея в том, что раз мы все равно не слышим высоких частот в очень тихих звуках, значит следует основную мощность шума направить в эти частоты, при этом можно даже воспользоваться большим шумом - я воспользуюсь уровнем в 4МБ (это два бита шума). Усиленный результат после фильтрации высоких частот (мы не услышали бы их в нормальной громкости этого звука)  - ditshpfl.zip, 1023 кб (к сожалению, звук перестал архивироваться). Это уже вполне хорошая (для запредельно низкой громкости) передача звука, шумы примерно равняются по мощности самому звуку с уровнем -110 дБ! Важное замечание: мы повысили реальные шумы дискретизации с 0.5МБ (-93 дБ) до 4МБ (-84 дБ), понизив слышимые шумы дискретизации с -93 дБ до примерно -110 дБ. Отношение сигнал/шум ухудшилось, но шум ушел в высокочастотную область и перестал быть слышимым, что дало существенное улучшение реального (воспринимаемого человеком) отношения сигнал/шум. Практически это уже уровень шумов дискретизации 20 битного звука. Единственное условие этой технологии - наличие частот для шума. 44.1 кГц звук дает возможность размещать шум в неслышимых на тихой громкости частотах 10-20 кГц. А вот если оцифровывать в 96 кГц - частотная область для шума (неслышимая человеком) будет настолько велика, что при использовании shaped dithering 16 бит реально превращаются и во все 24.

[На заметку: PC Speaker - однобитное устройство, с однако довольно высокой максимальной частотой дискретизации (включения/выключения этого единственного бита). С помощью процесса, сходного по сути с dithering-ом, называемым скорее широтно-импульсная модуляция, на нем игрался довольно качественный цифровой звук - из одного бита и высокой частоты дискретизации вытягивались 5-8 бит низкой частоты, а фильтром высокочастотного шума выступала неспособность аппаратуры воспроизводить столь высокие частоты, как впрочем и наша неспособность их слышать. Легкий высокочастотный свист, однако - слышимая часть этого шума - был слышен.]

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

Единственное что - эта технология действует только на последней стадии - подготовке материала к воспроизведению. Во время обработки качественного звука просто необходимо оставаться в 32х битах, чтобы не применять dithering после каждой операции, более качественно кодируя результаты обратно в 16 бит. Но если уровень шума фонограммы составляет более -60 дБ - можно без малейших зазрений совести вести всю обработку в 16 битах. Промежуточный dithering обеспечит отсутствие искажений округления, а добавленный им шум в сотни раз слабее уже имеющегося и поэтому совершенно безразличен.

Q: Почему говорят, что 32-х битный звук качественнее 16 битного?
A1: Ошибаются.
A2: [Имеют в виду немного другое: при обработке или записи звука нужно использовать большее разрешение. Этим пользуются всегда. Но в звуке как в готовой продукции разрешение более 16 бит не требуется.]
Q: Имеет ли смысл увеличивать частоту дискретизации (например до 48 кГц или до 96)?
A1: Не имеет. При хоть сколь грамотном подходе в конструировании ЦАП 44 кГц передают весь необходимый частотный диапазон.
A2: [Имеют в виду немного другое: это имеет смысл, но лишь при обработке или записи звука.]
Q: Почему всё же идет внедрение больших частот и битности?
A1: Прогрессу важно двигаться. Куда и зачем - уже не столь важно...
A2: Многие процессы в этом случае происходят легче. Если, например, устройство собирается обработать звук - ему будет легче это сделать в 96 кГц / 32 бита. Почти все DSP используют 32 бита для обработки звука, и возможность забыть про преобразования - облегчение разработки и всё же небольшое увеличение качества. Да и вообще - звук для дальнейшей обработки имеет смысл хранить в большем разрешении, нежели 16 бит. Для hi-end устройств которые лишь воспроизводят звук это абсолютно безразлично.
Q: 32х или 24х или даже 18 битные ЦАП лучше чем 16 битные?
A: В общем случае - нет. Качество преобразования нисколько не зависит от битности. В AC'97 кодеке (современная звуковая карта до $50) используется 18 битный кодек, а в картах за $500, звук которых с этой ерундой даже сравнивать нельзя - 16 битный. Это не имеет абсолютно никакого значения для воспроизведения 16 битного звука.
Стоит также иметь в виду, что большинство ЦАПов обычно реально воспроизводят меньше бит, чем берутся. Например, реальный уровень шумов типичного дешевого кодека составляет -90 дБ, что составляет 15 бит, и даже если он сам 24х битный - вы не получите никакой отдачи от 'лишних' 9 бит - результат их работы, даже если он имелся, потонет в их же собственном шуме. Большинство же дешевых устройств просто игнорируют дополнительные биты - они просто реально не идут в расчет в их процессе синтеза звука, хотя и поступают на цифровой вход ЦАПа.
Q: А для записи?
A: Для записи - лучше иметь АЦП большей разрядности. Опять же, большей реальной разрядности. Разрядность ЦАПа должна соответствовать уровню шумов исходной фонограммы, или просто быть достаточной для достижения желаемо низкого уровня шума.
Также удобно бывает иметь разрядность с запасом, чтобы использовать повышенный динамический диапазон для менее точной регулировки уровня записи. Но помните - вы должны всегда попадать в реальный диапазон кодека. В реальности 32х битный АЦП, к примеру, почти полностью бессмысленнен, так как младший десяток бит будут просто непрерывно шуметь - настолько малого шума (под -200 дБ) просто не бывает в аналоговом музыкальном источнике.

Требовать от звука повышенной разрядности или частоты дискретизации, по сравнению с CD, лучшего качества - не стоит. 16 бит / 44 кГц, доведенные до предела с помощью shaped dithering, вполне способны полностью передать интересующую нас информацию, если дело не идет о процессе звукообработки. Не стоит тратить место на лишние данные готового материала, также как не стоит ожидать повышенного качества звука от DVD-Audio с его 96 кГц / 24 бит. При грамотном подходе при создании звука в формате стандартного CD мы будем иметь качество, которое просто не нуждается в дальнейшем улучшении, а ответственность за правильную звукозапись конечных данных давно взяли на себя разработанные алгоритмы и люди, умеющие правильно их использовать. В последние несколько лет вы уже не найдете нового диска без shaped dithering и других приемов доведения качества звукопередачи до предела. Да, ленивым или просто криворуким будет удобнее давать готовый материал в 32х битах и 96 кГц, но по идее - стоит ли это в несколько раз больших аудио данных?...