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

Дата публикации:2004
Поделиться в Twitter Поделиться в F******k Поделиться в VKontakte Поделиться в Telegram Поделиться в Mastodon

Биты, герцы, shaped dithering...

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

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

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

Остановимся подробнее на том, что понимается под мощностью сигналов, измеряемой в битах. Самый сильный сигнал в цифровой обработке звука принято принимать за 0 дБ, это соответствует всем битам, поставленным в 1. Если старший бит (далее СБ) обнулить, получившееся цифровое значение будет в два раза меньше, что соответствует потере уровня на 6 децибел (10 * log(2) = 6). Таким образом, обнуляя единички от старших разрядов к младшим, мы будем уменьшать уровень сигнала на шесть децибел. Понятно, что минимальный уровень сигнала (единичка в младшем разряде, а все остальные разряды - нули) (N-1)*6децибел, где N - разрядность отсчета (сэмпла). Для 16 разрядов получаем уровень самого слабого сигнала - 90 децибел.

Когда мы говорим "половина младшего разряда", мы имеем в виду не -90/2, а половину шага до следующего бита - то есть ещё на 3 децибела ниже, минус 93 децибел.

Возвращаемся к выбору разрешения оцифровки. Как уже было сказано, оцифровка вносит шум на уровне половины младшего разряда, это говорит о том, что запись, оцифрованная в 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 кГц. С низкими частотами в теории в цифровой записи проблем совершенно никаких нет (но есть проблемы при передаче этих частот по электрическим цепям и воспроизведении их через малогабаритные стереоколонки или наушники). Так на выходе звуковых плат обычно стоит усилитель мощности, который и подаёт сигнал на стереоколонки. Этот усилитель в дешевых платах совместно с цепью обратной связи, а также паразитными емкостями составляет фильтр нижних частот, который "заваливает басы".

С высокими частотами все немного хуже, по крайней мере точно сложнее. Почти вся суть усовершенствований и усложнений ЦАП и АЦП направлена как раз на более достоверную передачу высоких частот. Под "высокими" подразумеваются частоты сравнимые с частотой дискретизации - то есть в случае 44.1 кГц это 7-10 кГц и выше.

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

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

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

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

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

Для экспериментальной проверки изложенного выше способа можно воспользоваться звуковым редактором Cool Edit (или любым другим, поддерживающим 32 битный формат). Чтобы услышать то, что получится, следует усилить сигнал на 14 бит (на 78 дБ).

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

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

Это уже вполне хорошая (для запредельно низкой громкости) передача звука, шумы примерно равняются по мощности самому звуку с исходным уровнем минус 110 децибел! Важное замечание: мы повысили реальные шумы дискретизации с половины младшего разряда (-93 дБ) до четырёх младших разрядов (-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 кГц, но по идее - стоит ли это в несколько раз больших аудио данных?..

Метки

Компьютерная музыка, Обработка звука


Распространение материалов сайта означает, что распространитель принял условия лицензионного соглашения.
Идея и реализация: © Владимир Довыденков и Анатолий Камынин,  2004-2024