Современные методы позиционирования и сжатия звукаРефераты >> Программирование и компьютеры >> Современные методы позиционирования и сжатия звука
Каждый метод кодирования, указываемый в заголовке, имеет собственный идентификатор, в соответствии с которым Windows и определяет, установлен ли кодек для работы с данным файлом, и если установлен -- использует его.
Кодеки, индивидуальные для каждого подформата, регистрируются в системе при их установке, после чего становится возможным использовать WAV-файлы, содержащие аудиоданные в форматах, поддерживаемых данными кодеками.
Тем не менее, хотя для MP3 тоже существует по крайней мере один кодек ACM pro codec от FhG IIS, сам по себе формат из-за потерь при кодировании непригоден на роль промежуточного, поэтому в редакторах с WAV-MP3 работать не рекомендуется. Единственным разумным применением данного кодека можно считать декодирование WAV-MP3, либо их кодирование, когда по каким-либо причинам неудобно сделать это из нормального кодера. При установленном кодеке можно применять WAV-MP3 в качестве стандартных звуков Windows.
Помимо оригинального кодека от FhG IIS, позволяющего кодирование только с битрейтом 128kbs и ниже, существуют несколько нелегальных версий кодека, сделанных группой Radium из кода, выкорчеванного из нового 'Продюсера'. Но первая версия этого кодека была нестабильной, и я не вижу оснований для того, чтобы испытывать доверие к более новым версиям. Лучше сделать еще один кодек из Lame.
Файлы какого формата можно перевести в формат MP3?
Кодирование из формата WAV PCM поддерживают все кодеры. Многими поддерживается AIFF. Mp3enc может принимать исходные данные потоком, без промежуточного файла, в фоpмате PCM. А mpegEnc и Cdex предлагают кодировать прямо с CD-ROM. Lame распространяется в виде исходных кодов и может быть обучен любому формату.
Каков статус MP3 кодеров?
Все продукты Fraunhofer IIS и Xing Tech -- коммерческие, но полные версии обычно можно найти на FTP поисковиках.
BladeEnc, mpegEnc -- freeware, но FhG IIS пожелал сделать их развитие невозможным. Сделано это очень простым методом -- за распространение кодеров нужно платить пеню FhG IIS, даже если кодер распространяется бесплатно. Поэтому свободное распространение mpegEnc невозможно, также могут возникнуть трудности с распространением BladeEnc, несмотря на особую политику страны автора по отношению к патентам на математические алгоритмы.
Lame не угрожает подобная участь, так как он распространяется в виде патча к исходному коду ISO и сам по себе кодером быть признан не может.
Каковы системные требования?
Фактически, единственное требование к системе -- наличие компилятора C. Но производительность MP3 кодеров на слабых системах оставляет желать лучшего, и из процессоров Intel не рекомендуется использовать что-либо ниже 486.
Декодиpование MP3
Cтандаpт MP3 однозначно опpеделяет, какие именно данные содеpжатся в MP3-файле. Hо сам процесс декодирования, процесс перевода аудио из MP3 в PCM, неизбежный при воспроизведении, более корректно будет назвать синтезом, чем декомпрессией. На практике он столь же неоднозначен, как и процесс кодирования.
Многие пpинимают за некий стандаpт самый пеpвый из декодеpов, написанный в FhG IIS -- l3dec. Этот декодер при работе не предпринимает каких-либо попыток "улучшить" звучание и, как правило, дает точную АЧХ сохраненного сигнала. Также в силу корректности его можно считать практически идеальным декодером для MP3 высоких и средних битрейтов.
С другой стороны, на практике иногда обнаруживают себя ньюансы, о которых раньше не задумывались. Например, разные кодеры сохраняют аудио в MP3 немного по-разному, хотя и не выходя за рамки стандарта, но несколько меняя алгоритм оптимального восстановления сохраненной части сигнала. Но если в данном случае отличия оказываются несущественны, то тот простой факт, что при кодировании с битрейтом 128kbs, пользующимся бешенной популярностью, мы значительно теряем в качестве, приводит к более существенным последствиям -- на низких битрейтах становится оправданным применение различных 'улучшающих' звучание алгоритмов, т.е. программных DSP, и более корректный декодер может оказаться менее предпочтителен, чем вносящий дополнительные искажения, но "повышающий" этим качество звучания. К сожалению, выбор не слишком велик.
Когда какой декодер лучше?
За время существования MP3 было написано великое множество самых разных декодеров. Тем не менее, выбор не составляет слишком большой проблемы. Основная сложность в том, что критерии оценки качества декодеров сильно разнятся для низких битрейтов порядка 128kbs и для высоких порядка 256kbs.
К ориентированным на высокие битрейты декодерам предъявляется одно основное требование -- корректное декодирование, то есть корректность примененного алгоритма декодирования и отсутствие ошибок в его реализации. Считается, что высокий уровень качества обеспечивается шириной потока, но тем не менее, разные декодеры дают разные по качеству результаты. Разумеется, высокая скорость работы декодера также желательна.
В данной категории хорошо себя чувствуют декодеры от FhG IIS, к которым обвинений в некорректности пока никто не смог предъявить.
К ориентированным на низкие битрейты декодерам выдвигаются несколько другие требования. Отличие состоит в том, что в силу искажений, вносимых при кодировании MP3 128kbs, требования к корректности декодирования ослабевают, в то время как требование качественности звучания никуда не пропадает. Поэтому не слишком корректные, но приятно звучащие плееры пользуются популярностью.
Большинство декодеров являются плеерами, но не каждый плеер может перенаправлять вывод в файл, что приводит к трудностям в его оценке. Существует мнение, что такие плееры не следует называть декодерами.
В NAD и NADDY на одном из этапов декодирования пpименяется алгоpитм пpедсказания, также сyществyет возможность подстpойки под особенности кодеpов, использованных пpи полyчении MP3. Если говорить конкретно, то возможна подстройка под семейство ISO-based, под кодеры семейства FhG IIS, под старые кодеры XingTech с обрезом частот выше 16kHz и даже под еще не вышедший ко вpемени выхода NAD 0.93 кодеp ARCAM. В наследнике NAD, NADDY, упоминается вместо него "ARCoder v1.2+"; видимо, он все-таки вышел. Но, как уже упоминалось, значительного эффекта эта подстройка не дает.
Хотя NAD долгое время заслуженно считался чемпионом по части качества, в последнее время другой плеер -- Apollo -- мог с ним в этом поспорить. Но в данном случае речь идет о низких битрейтах, к тому же развитие Apollo теперь тоже остановлено. NAD просто более корректен.
Если задаться целью декодирования в WAV-файл, то выбоp сейчас следyет пpоизводить междy NAD, l3dec и Winamp (версии 2.21-2.22), пpичем чем выше битpейт, тем меньше причин пользоваться NAD. Для низких битрейтов можно также попробовать Apollo, но лучше Winamp с соответствующим "улучшающим" звучание плагином.
Hа высших битрейтах выбор производится только между корректными декодерами, и pазница оказывается настолько мала, что выбоp уже пpоизводится, например, междy yдобными интеpфейсами NAD и Winamp и yпpавлением l3dec с помощью ключей командной стpоки. Скорее всего, при серьезной проверке на битрейтах 256kbs-320kbs l3dec/Winamp превзойдут по качеству прочие -- при написании почти всех декодеров думают, к сожалению, главным образом о качестве звучания MP3 128kbs, на корректность тратятся только в FhG IIS. Но это не делает вывод NAD или Sonique непригодным или некачественным -- и в данном случае все отличия снова укладываются в рамки оговорки, сделанной в начале первой части.