tanenbaum_seti_all.pages (525408), страница 205
Текст из файла (страница 205)
Наука, на которой базируется перцепционное кодирование, называется психоакустикой. Она изучает восприятие звука человеком, Формат МР3 использует перцепционное кодирование. Ключевым свойством перцепционного кодирования является то, что одни звуки могут маскировать другие. Представьте себе, что теплым летним вечером вы медитируете на лужайке, слушая живой концерт для флейты с оркестром, Затем, откуда ни возьмись, появляется бригада рабочих с отбойными молотками в руках, которая начинает вскрывать асфальт на близлежащей улице, Расслышать флейту, к сожалению, уже никто не в состоянии. Нежные звуки, издаваемые ею, подверглись маскированию звуками отбойных молотков. Если рассматривать ситуацию с точки зрения передачи данных, то в этот момент достаточно кодировать лишь диапазон частот, в котором работают отбойные молотки, — все равно флейту за этим грохотом не слышно.
Способность громких звуков определенного диапазона частот епрятать» более тихие звуки других диапазонов (которые были бы слышны при отсутствии громких звуков) называется частотным маскиРованием. На самом деле, даже после того как рабочие выключат отбойные молотки, слушатели не будут слышать флейту в течение некоторого небольшого периода времени. Это связано с тем, что при появлении очень громкого звука коэффициент усиления человеческого уха резко снизился, и после прекращения работы отбойных молотков требуется время для его возвращения в нормальное состояние. Этот эффект называется временным маскированием.
Мультимедиа 765 Маскирующий сигнал на частоте 150 Гц 80 80 - 60 ало ю 20 $ „20 И 0 02 .05 .1 .2 .5 1 2 5 1020 02 .05..2 Л 1 2 5 1020 Частота, кГц Частота, кгц е 5 Рис. 7.27. Порог слышимости как функция частоты (а); эффект маскирования (5) Из последнего наблюдения можно сделать следующий вывод; зная, какие сигналы маскируются более мощными сигналами на близлежащих частотах, мы можем пренебречь соответствующими частотами и не кодировать пх, экономв тем самым биты.
Из рис. 7.27, б очевидно, что сигналом с частотой 12б Гц монт "о полностью пренебречь, и никто не заметит разницы. Знание свойств времен"о яэла маскирования позволяет даже после прекращения звучания громкого сит" Чтобы перейти от качественного описания этих эффектов к количественным, представим себе проведение некого эксперимента 1. Человек, находящийся в тихом помещении, надевает наушники, соединенные со звуковой картой компьютера. Компьютер генерирует звук (чистую синусоидальную звуковую волну) с частотой 100 Гц, сила которого постепенно возрастает, Испытуемый должен нажать клавишу на клавиатуре, как только он услышит звук.
Компьютер запоминает силу звука, при которой была нажата клавиша, и повторяет эксперимент на частотах 200 Гц, 300 Гц и т. д., доходя до верхнего предела слышимых частот. Эксперимент необходимо провести над большим количеством испытуемых. На рис. 7.27, а показан график с логарифмическим масштабом на обеих осях, показывающий усредненную зависимость порога слышимости от частоты звука. Наиболее очевидный вывод, который можно сделать при взгляде на эту кривую, состоит в том, что нет никакой необходимости когда бы то ни было кодировать частоты, амплитуда которых ниже порога слышимости.
Например, если сила звука на частоте 100 Гц равна 20 дБ, этот звук можно не кодировать, и качество звучания при этом не ухудшится, так как уровень 20 дБ при 100 Гц находится ниже порога слышимости (рис. 7.27, а). Теперь рассмотрим эксперимент 2. Пусть компьютер повторяет действия эксперимента 1, но на этот раз на каждую тестовую частоту будет накладываться синусоидальная звуковая волна постоянной амплитуды с частотой, скажем, 150 Гц. Мы обнаружим, что порог слышимости для частот, расположенных вблизи 150 Гц, резко возрастает. Это отражено на графике на рис.
7.27, б. 766 Глава 7. Прикладной уровень в каком бы то ни было частотном диапазоне в течение некоторого времени (пока ухо настраивается на меньшую мощность звука) продолжать пренебрегать кодированием этой частоты. Суть алгоритма МРЗ состоит в разложении сигнала в ряд Фурье для получения силы звука на каждой из частот с последующей передачей исключительно немаскированных частот, кодируемых минимально возможным числом бит, Теперь, зная основной принцип, мы можем рассмотреть, как производится само кодирование.
Сжатие звука выполняется путем замеров формы сигналов, производимых с частотой 32 000, 44 100 или 48 000 раз в секунду. Замеры могут сниматься по одному или двум каналам в одной из четырех комбинаций: 1, Монофонический звук (один входной поток). 2. Двойной монофонический звук (например, звуковая дорожка на английском и японском). 3. Разъединенное стерео (каждый канал сжимается отдельно). 4. Объединенное стерео (учитывается межканальная избыточность сигнала). Для начала выбирается желаемая выходная битовая скорость.
С помощью алгоритма МРЗ можно сжать записанную на компакт-диск стереофоническую запись рок-н-ролла до 96 Кбит/с с потерей качества, едва заметной даже для фанатов рок-н-ролла, не лишенных слуха. Если мы хотим «перегнать в МРЗ» фортепианный концерт, нам понадобится битовая скорость по крайней мере 128 Кбит/с. Чем обусловлена такая разница7 Дело в том, что соотношение сигнал/шум в рок-нролле гораздо выше, чем в фортепианном концерте (только в техническом смысле, разумеется).
Можно, впрочем, выбрать меньшую битовую скорость и получить более низкое качество воспроизведения. После этого отсчеты обрабатываются группами по 1152 (что занимает около 26 мс). Каждая группа предварительно проходит через 32 цифровых фильтра, выделяющих 32 частотных диапазона. Одновременно входной сигнал заводится в пснхоакустическую модель для определения маскирующих частот. Затем каждый из 32 частотных диапазонов преобразуется с целью получения более точного спектрального разрешения. Следующим шагом является распределение имеющегося запаса бит между частотными диапазонами. При этом большее число бит отводится под диапазон с наибольшей немаскированной спектральной мощностью, меньшее — под немаскируемые диапазоны с меньшей спектральной мощностью, и совсем не отводятся биты под маскируемые диапазоны. Наконец, битовые последовательности шифруются с помощью кода Хаффмана (Нийтап), который присваивает короткие коды числам, появляющимся наиболее часто, и длинные — появляющимся редко.
На самом деле, эта тема далеко не исчерпана. Существуют методы шумоподавления, сглаживания сигналов, использования межканальной избыточности (при наличии такой возможности), однако все это, к сожалению, невозможно охватить в рамках нашей книги. Более формально изложенные математические основы этих процессов даются в книге (Рап, 1995). Мультимедиа 767 Потоковое аудио Перейдем от технологии оцифровки звука к трем сетевым приложениям, использующим ее. Первое, что мы рассмотрим, будет потоковое аудио, то есть прослушивание звукозаписей через Интернет.
Это иногда называется «музыкой по заказу». Затем мы познакомимся с интернет-радио и технологией передачи речи поверх 1Р. В Интернете есть множество музыкальных веб-сайтов, на многих из которых представлены списки песен, которые пользователь может прослушать, щелкнув на названии. Подобные услуги на некоторых сайтах бесплатны (например, таким образом молодая группа может рекламировать свою деятельность и искать своего слушателя); иногда за прослушивание взимается плата, хотя при зтом чаше всего есть возможность бесплатно ознакомиться с композицией (например, первые 15 секунд записи), Наиболее распространенный способ реализации такой системы «музыки по заказу» показан на рис, 7.28. Клиент Сервер Рис.
7.2В. Простейший олособ реализации технологии музыки по заказу нв веб-свате Процесс начинается, когда пользователь щелкает на названии песин. Вначале вступает в дело браузер. Первый шаг заключается в установке ТСР-соединения с веб-сервером, на который указывает гиперссылка. На втором шаге ему направляется НТТР-запрос СЕТ, содержащий заявку на получение файла. Шаги 3 и 4 выполняются сервером: он получает песню (которая представляет собой обычный файл в формате МРЗ или каком-нибудь другом) с диска и отсылает ее браузеру. Если размер файла превышает объем памяти сервера, он может извлекать и отправлять его поблочно. По М1МЕ-типу файла (например, аийо/тру) или по расширению браузер определяет способ его воспроизведения.
Обычно запускается вспомогательное приложение, ассоциированное с данным типом файлов, например, Веа!Опе Р!ауег, 'т«Г1пботкз Майа Р1ауег или %Г1патпр. Обычно браузер общается со вспомогательным приложением, записывая информацию, предназначенную для воспроизведения, во временный файл. Поэтому до начала проигрывания весь музыкальный файл будет записан во временный файл на диске (шаг 5). После зтого будет запущен проигрыватель, которому браузер передаст имя временного файла. Шаг 6 768 Глава 7. Прикладной уровень заключается в поблочном считывании данных из файла и непосредственном воспроизведении музыки. В принципе, такой подход совершенно корректен, и музыку пользователь услышит.