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



  Поиск:

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




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




Audio watermarking
TrustedAudio.com



 

Форматы цифровой музыки

© 2004 Тарас Бризицкий [SacRat]
sacrat@newmail.ru
Предварительная версия статьи для журнала ЧИП-Россия

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

Небольшое вступление 

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

Целью данной статьи является попытка помочь вам не запутаться во всем многообразии современных кодеков, а заодно рассказать некоторые технические (насколько это возможно сделать, не «загрузив» читателя) подробности их работы.

MP3 (MPEG audio layer III)/MP3pro 

Сейчас без преувеличения можно сказать, что разработанный почти два десятилетия назад MP3 является наиболее популярным форматом хранения музыки на компьютере. Сегодня MP3 файлы можно прослушать не только при помощи персонального компьютера. С их воспроизведением отлично справляются современные музыкальные центры, DVD плееры, walkman’ы и даже КПК и мобильные телефоны.

Конечно, по своим возможностям MP3 заметно уступает более совершенным форматам, однако этот недостаток с лихвой компенсируется высокой популярностью. Ведь для большинства пользователей необходимость создания файлов формата 5.1 или кодирование саундтреков с высокими частотами дискретизации мало актуальны, а качество получаемых файлов их вполне устраивает.

Наиболее популярными параметрами для кодирования MP3 файлов являются CBR ( constant bitrate, постоянный битрейт) 128 кбит/с, стерео. Качество при этом может быть самым разным: от совершенно неприемлемого до хорошего. Многое зависит от того, каким был исходный материал и кодировщика/его параметров. Современные MP3 кодеки позволяют добиваться звучания, в большинстве случаев не отличимого от оригинала при использовании битрейтов от 192 кбит/с.

Разумеется, с повышением битрейта качество файла обычно повышается, что, однако, вовсе не обозначает, необходимость всегда использовать битрейт 320 кбит/с, - это будет лишней тратой места. Логичнее в этом случае применять кодирование с переменным битрейтом (VBR, variable bitrate), при котором кодек динамически изменяет битрейт в зависимости от сложности композиции.

Одним из серьезных недостатков MP3 является резкое падение качества при снижении битрейта со 128 кбит/с. Уже на 64 кбит/с звучание MP3 файлов вызывает раздражение большим количеством искажения и артефактов, а на меньших битрейтах разобрать что-либо просто нереально. Для того, чтобы как-то исправить ситуацию, Fraunhofer (разработчики формата) и Coding Technologies предложили решение в виде MP3 pro, не стандартизированного расширения формата, при котором качество звучания MP3 файов удается сохранить на приемлемом уровне при значительном снижении битрейта. MP3 pro файл, состоящий из MP3 части и дополнительного потока данных, содержащих информацию о высоких частотах можно воспроизвести как при помощи специализированного MP3 pro проигрывателя, так и с помощью обычного MP3 плеера, хотя в последнем случае качество будет заметно ниже.

Так или иначе MP3 pro, в отличие от своего предшественника не получил должного распространения и сейчас практически не используется, уступив место более совершенным технологиям.

AAC (MPEG-2/4 advanced audio coding) / MP4 

Формат AAC, стандартизированный около пяти лет назад, является преемником MP3, способным заменить его в будущем. По сравнению с MP3 в AAC заметно увеличена эффективность компрессии, а качество звучания AAC файла, созданного одним из современных кодеков, при битрейте 128 кбит/с сопоставимо с качеством 192 кбит/с MP3 файла. Кроме того, AAC позволяет создавать многоканальные файлы, что делает его пригодным для хранения саундтреков к фильмам. При кодировании на низких битрейтах есть возможность создания AAC HE ( h igh efficiency, высокая эффективнсть) файлов, используюя технологию SBR ( spectral band replication, спектральное восстановление частот), аналогичную той, что используется в MP3 pro. Однако в отличие от MP3 pro, создание файлов AAC HE (или AAC plus) предусмотрено стандартом формата, что обозначает возможность воспроизвести подобный файл большинством AAC проигрывателей.

AAC имеет несколько режимов создания файлов (профилей), наиболее известным из которых является LC ( low complexity, низкая сложность), используемый Apple в своем сервисе iTunes. Кроме того, воспроизведение AAC LC файлов возможно при помощи аппаратных AAC плееров (напр. Apple iPod или телефонов Nokia).

Сейчас редко кто использует «голые» AAC файлы. В большинстве случаев их сразу упаковывают в контейнер MP 4 ( m 4 a, m 4 p), что дает пользователю определенные преимущества вроде возможности использования тэгов или поддержки gapless (без пауз) воспроизведения. Не стоит, однако, однозначно отождествлять расширение MP 4 с AAC: контейнер может также содержать MP3 или MPEG-4 video файлы.

Количество существующих AAC кодеков достаточно велико. Так же, как и в случае MP3 они могут значительно отличаться по скорости и качеству. Среди них следует отметить Apple Quick Time (использующийся в iTunes), показавший лучший результат в тестировании на 128 кбит/с, а также Nero AAC, отличающийся прекрасной реализацией VBR и являющийся первым кодеком с поддержкой AAC plus. Подает надежды и FAAC, свободный проект, являющийся аналогом LAME для AAC.

WMA (Windows Media Audio) 

Формат WMA, известный во многом благодаря своему родителю и проводимым им рекламным компаниям, представляет собой попытку Microsoft создать альтернативу MP3 для пользователей Windows. По заявлениям разработчиков, он позволяет достичь схожего с MP3 качества при вдвое более низком битрейте, что, по их мнению и должно привлечь пользователя. На практике файлы наиболее распространенного WMA 8 даже при 128 кбит/с заметно проигрывают по качеству звучания не только компакт диску, но и MP3 файлам, созданным при помощи LAME. Фактически хоть какие-то рекламируемые достижения WMA может показать лишь на битрейтах ниже 96 кбит/с, на которых качество MP3 файлов стремительно падает. С другой стороны, тот же Vorbis на этих битрейтах передает музыку более адекватно, в то время как металлический звон у WMA становится все более раздражающим. К тому же, забыв отключить DRM защиту при создании файлов, вы можете запросто оказаться в ситуации, когда созданные вами же WMA фалы просто не станут воспроизводиться.

Недавно появившийся формат WMA 9 в режиме обратной совместимости практически не имел преимуществ перед WMA 8, а наиболее интересный (и качественный) кодек WMA 9 pro пока что не имеет аппаратной поддержки.

Несомненным плюсом WMA является высокая популярность (догадайтесь почему) среди пользователей Windows и, как следствие, неплохая поддержка производителями портативных устройств. Значительная часть MP3 плееров, выпускаемых сегодня, способна воспроизводить файлы формата WMA 7/8 не хуже, чем MP3. Впрочем, если вы не являетесь несчастным владельцем flash - based MP3 плеера с 64/128 Мб памяти, на которые хочется поместить как можно больше музыки, не стоит забивать себе голову «преимуществами» WMA перед MP3.

Ogg Vorbis 

Кодек Vorbis, разрабатываемый некоммерческой организацией Xiph. org позиционируется ими в качестве полноценной замены ныне существующим «платным» форматам. Не секрет, что за возможность создания и воспроизведения MP3 или AAC / WMA файлов производители кодеров или плееров должны выплачивать определенные суммы денег держателям патентов. С Vorbis все проще: кодировщик, декодер, все необходимые сведения и исходные тексты для работы с форматом распространяются абсолютно бесплатно. Более того, формат можно использовать даже в коммерческих разработках (неудивительно, что значительная часть современных игр содержит музыку в OGG Vorbis) опять же без необходимости платить за что-либо...

Неудивительно, что с таким подходом Vorbis изначально привлек к себе значительное внимание. Но ничто не дается даром: отказ от патентованных технологий не позволяет кодеку добиться сверхвысоких результатов, хотя аутсайдером его назвать тоже сложно: последние версии кодека позволяют создавать файлы качества сравнимого с AAC на большом диапазоне битрейтов, а аппаратная поддержка, пусть и несколько запоздало, появляется... С появлением первых плееров, способных воспроизводить Vorbis файлы выяснилось еще одно интересное обстоятельство: аппаратный декодер оказался весьма прожорлив, не только вдвое быстрее, чем MP3 разряжая аккумуляторы, но и требуя достаточно больших объемов памяти для нормальной работы.

Через некоторое время после выхода кодека версии 1.01 появились слухи о том, что вот-вот начнется работа над Vorbis II, призванном решить эту проблему в ущерб совместимости, т.е. фактически новый кодек будет урезанным Vorbis I. Впрочем, о конкретных сроках выпуска Vorbis II ничего не известно, а учитывая и без того черепашьи темпы развития формата, надежд на его скорое появление очень мало. Следствием подобной неопределенности стал постепенный переход бывших поклонников Vorbis на формат AAC (к слову, Garf, автор кодировщика GT 3, сейчас работает над AAC кодером Nero Digital).

Таким образом судьба Vorbis не совсем понятна. Вряд ли он вымрет полностью, однако его шансы заместить AAC или MP3 на данный момент близки к нулю. С другой стороны, со своей изначальной задачей кодек справляется более чем хорошо, предоставляя разработчикам и пользователям бесплатный формат хранения музыки, превосходящий по возможностям MP3.

ATRAC (Adaptive Transform Acoustic Coding) 

ATRAC – формат, разработанный Sony для использования в минидисках ( MD, minidisc). позиционируемых фирмой в качестве замены компакт-кассете. По сравнению с обычными 12-сантиметровыми CD минидиски более компактны (7х7 см) и имеют возможность многократной перезаписи. MD содержит запись в цифровой (т.е. потенциально более качественной) форме, позволяет быстро перемещаться на нужный фрагмент и проводить редактирование записи (разбивать на треки, удалять и перемещать фрагменты).

В отличие от компакт-диска, хранящего аудиоданные в несжатой форме, минидиск использует алгоритм психоакустичестической компрессии ATRAC, сжимающий звуковой сигнал с коэффициентом примерно 1:5 без заметной потери качества (http://www.minidisc.org/near_cd.html). На данный момент MD позволяет использовать следующие версии алгоритма:

ATRAC 1 Stereo (292 кбит/с), ATRAC 1 Mono (146 кбит/с), ATRAC 3 Stereo Longplay 2 x ( LP 2) (132 кбит/с), ATRAC 3 Stereo Longplay 4 x ( LP 4) (66 кбит/с)

При этом реализаций алгоритма также несколько: ATRAC -1, ATRAC -2, ATRAC -3, ATRAC-4 и ATRAC-4.5 (т.е. ATRAC 3 и ATRAC -3 вовсе не одно и то же!). Реализации вплоть до ATRAC -3 отличались весьма невысоким качеством звучания, что несколько попортило репутацию формата. Считается, что современные версии алгоритма (4.5) позволяют сжимать музыку так, что она не отличается на слух от CD при битрейте 292 кбит/с.

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

Владельцам минидисковых дек и плееров, возможно, придется столкнуться и с такой проблемой, как транскодирование: для перезаписи MP3 ( WMA, Vorbis) файлов на минидиск файл сначала декодируется, а затем преобразуется в ATRAC, что, учитывая преобразование lossy - lossy (два раза звук сжимается с потерями) не способствует сохранению высокого качества.

Musepack (MPEG plus) 

Меломаны со стажем по праву считают Musepack (ранее именовавшийся MPEG Plus ; название пришлось сменить во избежание проблем с MPEG) наиболее совершенным из существующих аудио кодеков, использующих сжатие с потерями. Даже несмотря на то, что его ближайшим родственником является MP 2, предшественник MP3, формат не только прекрасно (считается, что в подавляющем большинстве случаев MPC файл, созданный с использованием пресета Standard, ~170 кбит/с, на слух не отличим от оригинала, а ошибки происходят реже, чем в случае использования MP3 с битрейтом 320 кбит/с) работает с музыкой на средних-высоких битрейтах, но и вполне способен тягаться с Vorbis и AAC в области 128 кбит/с. Секрет успеха прост: созданная разработчиками психоакустическая модель превосходит большинство аналогов, позволяя добиться высоких результатов. К сожалению, развитие Musepack идет не очень быстро, да и вниманием разработчиков ПО и «железа» он обделен (плагины для Winamp и XMMS, разумеется, есть). Впрочем, если наличие аппаратной поддержки для вас не критично, и вы являетесь ценителем качества, обязательно обратите внимание на этот формат.

Ископаемые (VQF, Liquid Audio, PAC, Astrid/Quartex AAC) 

В отличие от ныне здравствующих MP3, AAC, Vorbis или WMA существует достаточно большое число форматов, по тем или иным причинам прекративших свое существование. Некоторые из них были достаточно удачными и даже заметно превосходили по соотношению качество/размер MP3, однако уступили свое место более совершенным и гибким решениям.

Еще несколько лет назад некоторыми разработчиками возлагались немалые надежды на формат VQF (использующий технологию TwinVQ), продвигаемый Yamaha в качестве замены MP3. Формат действительно был интересным и позволял создавать файлы вполне приличного качества на низких битрейтах, - области, изначально проблемной для MP3. С другой стороны, создание и воспроизведение VQF файлов требовало значительно большего, чем MP3 времени, а отсутствие поддержки высоких битрейтов ставило крест на возможности создания высококачественных записей. Так или иначе к моменту появления реализации VQF 2 с поддержкой битрейтов вплоть до 192 кбит/с формат успел благополучно скончаться. Тем не менее, TwinVQ был включен в спецификацию MPEG-4 для кодирования звука в режиме сверхнизких (<16 кбит/с) битрейтов.

Отличительной чертой Liquid Audio, закрытого формата, разработанного одноименной компанией (позднее Liquid Digital Media), является достаточно сильная технология DRM, позволяющая ограничить распространение файлов в Интернет, а также организовывать в Сети музыкальные магазины. По сравнению с MP3 качество LQT файлов заметно выше, что в немалой степени способствовало росту популярности формата. В прошлом году компания заявила о прекращении поддержки формата, а новые композиции на www. liquid. com распространяются в формате WMA.

Формат PAC ( Perceptual Audio Coding) был разработан Celestial Technologies / Bell Labs в конце 80х годов прошлого века. По сравнению с MP3 PAC позволял добиться значительного (примерно на треть) выигрыша в размере файлов при сохранении качества, соревнуясь с кодерами на базе MPEG -2. Чуть позднее формат был доработан и получил название ePAC ( enhanced PAC). Одним из назначений кодека являлось использование в радиовещании.

Astrid/Quartex AAC, вопреки своему названию, не имеет ничего общего с advanced audio coding. Фактически это ворованная версия PAC, замаскированная под AAC кодек (отсюда и невозможность воспроизведения при помощи стандартных AAC декодеров).

Real Audio  

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

Учитывая достаточно жесткую привязанность формата к Real One Player можно сказать, что особого смысла в использовании «родного» формата RA для большинства пользователей нет, а добиться сносного звучания на сверхнизких битрейтах можно при помощи любого современного кодека ( AAC plus, Vorbis, WMA pro). Кстати, заменой старому кодеку в Real Audio 10 стал ни кто иной, как AAC plus, прекрасно подходящий для передачи музыки с высокой степенью компрессии.

Loseless кодеки  

Иногда возникает ситуация, когда потеря даже одного бита информации нежелательна или недопустима, а размер композиции желательно по возможности сократить. В этом случае на помощь приходит loseless компрессия, позволяющая хранить звук без потерь. Принцип действия loseless кодеков схож с принципом работы ZIP, RAR и прочих известных нам архиваторов, за исключением того, что затачиваются они специально под сжатие музыки. Количество существующих loseless форматов достаточно велико. Назовем лишь наиболее популярные: FLAC ( free loseless audio codec), недавно разместившийся под крылом Xiph. org, Monkeys Audio, считающийся одним из наиболее совершенных loseless форматов, WavPack, Optimfrog и т.д. Кроме того, свой loseless кодек в составе WMA 9 предлагает Microsoft, сжатие без потерь предусмотрено в MPEG-4.

Большинство современных loseless кодеков позволяет сжимать музыку с коэффициентом примерно 1:2 в зависимости от типа музыки, что существенно ниже результатов, достигаемых при помощи lossy компрессии.

«Как оно работает»  

Попытка объяснить принципы работы и отличия способов кодирования современных аудио форматов будет не проще, чем объяснение школьнику младших классов доказательства теоремы Гаусса. Все же попробуем...

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

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

Так какая же информация считается «лишней»? Не секрет, что знакомый нам со школы постулат о способности человеческого слуха слышать частоты 20Гц-20кГц несколько льстит ушам многих из нас. Да, экспериментально доказано, что человек слышит (скорее, ощущает) частоты ниже и выше этого диапазона, только вот к музыке они имеет мало отношения. В действительности, даже владельцы особо чувствительных, «золотых» ушей не способны отличить музыкальную композицию с «обрезанными» до 19 килогерц частотами от оригинала, что уж говорить об обычных людях, для многих из которых к 30 годам этот порог опускается до 16 килогерц (вспомним, что CD способен хранить звуки вплоть до 22кГц). Плюс к тому чувствительность уха во всем спектре неоднородна (наиболее важен диапазон 1-4 кГц, соответствующий речи). Плюс эффект маскировки, благодаря которому мы с трудом различаем тихий звук мобильного телефона, находясь в шумном людном месте. Плюс инертность слуха уха, плюс... К слову, обмануть даже такой сложный и чувствительный инструмент, как человеческое ухо, проще, чем это может показаться.

Располагая информацией о том, какие звуки мы слышим лучше, какие хуже, а какие не слышим вообще, кодек может значительно (при коэффициенте сжатия 1:5 большинство lossy кодеков может добиться результата, не отличимого на слух от оригинала) «облегчить» исходный файл. Разумеется, для более сильного сжатия приходится идти на компромиссы и жертвовать качеством, что, впрочем, может пройти незаметно для пользователя, ведь не все из вас могут сходу отличить MP3 файлы, кодированный с битрейтами 128 и 256 кбит/с.

Трудность выбора  

Каждый из описанных форматов имеет как достоинства, так и недостатки, а потому выбор того или иного кодека для хранения любимой музыки может стать нелегкой задачей.

Позволим себе дать несколько полезных советов:

  • Если вы точно не хотите через пять-десять лет остаться у «разбитого корыта», встав перед фактом, что горячо любимый вами формат благополучно скончался, а все накопленные за это время файлы превратились в мусор, придерживайтесь форматов на основе промышленных стандартов MPEG. На данный момент это MP3 и MPEG-4 AAC. Шансы на полное вымирание у последнего в обозримом будущем минимальны. У первого, впрочем, тоже.
  • Несмотря на свою привлекательность, форматы Musepack и Vorbis рискуют остаться в меньшинстве уже в ближайшие годы. И если благодаря сильной поддержке open source и Linux сообществ Vorbis наверняка останется на плаву, то будущее Musepack весьма туманно.
  • Мы настоятельно не рекомендуем использовать кодеры Liquid Audio и VQF и другие мало популярные кодеки, которые вы еще можете найти на каком-нибудь варезнике (или по ссылке внизу статьи). Можно, конечно, немного поиграть с их настройками и сравнить звучание с современными кодеками, только практическая польза от полученных файлов будет равна нулю: возьмите любой современный кодер и он выполнит ту же работу лучше.

Рекомендуемые кодеки и параметры  

Архивное кодирование (очень высокое качество):

  • MP3: LAME 3.90.3 -- alt - preset standard или LAME 3.96 -- preset standard (~190 кбит/с) или -- alt - preset insane (320 кбит/с) при невозможности использовать VBR.
  • OGG Vorbis: GT 3 b 1 - q 6 (~180 кбит/с).
  • WMA: WMA 9 2 pass CBR 192 кбит/с.
  • AAC: iTunes (Quick Time) 192 кбит/с или Nero AAC extreme (~190 кбит/с)
  • Musepack: mppenc 1.14 --extreme --xlevel (~180 кбит/с)

Для использования в плеере (приемлемое качество):

  • MP3: LAME --preset medium (~170 кбит/с) или LAME 3.90.3 --alt-preset 128 (~128 кбит/с) или LAME --b 128 (128 кбит/с)
  • WMA: WMA 9 2 pass CBR 128 кбит/с или 96 кбит/с
  • OGG Vorbis: oggenc 1.01 – q 4 или – q 3 (~128 и ~112 кбит/с соответственно). С этими же параметрами можно использовать один из альтернативных кодеков: Aotuv, QKTuned, GT 3.
  • AAC: iTunes 128 кбит/с или Nero AAC streaming

Когда размер имеет значение (сносное качество):

  • MP3: LAME – b 96 или один из кодеков MP3 pro 64 кбит/с
  • WMA: WMA 9 CBR 64 кбит/с
  • OGG – Q 0 (~64 кбит/с). С этими же параметрами можно использовать один из альтернативных кодеков.
  • AAC: Nero AAC CBR 96 кбит/с или Nero AAC HE 64 кбит/с

Только бы файл был поменьше (что-то еще слышно?):

  • MP3: Lame – b 32 (32 кбит/с) или – b 16 (16 кбит/с) или – b 8 (8 кби r, bn | c)
  • WMA: 48 кбит/с и ниже или WMA 9 voice
  • OGG Vorbis: - q -1 (~48 кбит/с) или GT 3 b 1 – resample 8000 - q -2 (~6 кбит/с)
  • AAC: Nero AAC HE portable (~20 кбит/с)

Полезные ссылки: 

www. audiocoding. com - если вас интересует техническая сторона работы кодеков, обязательно загляните в раздел Wiki этого замечательного сайта. Впрочем, и помимо wiki на нем немало интересного.

www. hydrogenaudio. org - англоязычный форум, собравший большое количество энтузиастов и профессионалов, интересующихся возможностями кодирования звука.

www. rarewares. org - никакого «вареза», только легальный софт. Зато найти все собранные здесь программы где-либо еще будет очень непросто: рай для фанатов LAME, FAAC, Vorbis и т.д.

www. rjamorim. com/ rrw - на одном из сайтов R. J. Amorim содержится уникальная подборка устаревших, непопулярных и малораспространенных кодеков. Наверняка это понравится всем, кто интересуется историей развития алгоритмов кодирования.