Mp3 - технология сжатия звуковой информации. Сжатие звука MP3

Аудио компрессия для меломанов

правда о высоком битрейте при сжатии с потерями

Предисловие

В понимании большинства людей слово меломан чаще всего ассоциируется с человеком, не просто любящим и коллекционирующим музыку, а еще и ценящим качественную музыку, причем не только в художественно-эстетическом плане, но еще и качество записи самой фонограммы. Подумать только, еще несколько лет назад эталоном качества музыки считался аудио компакт диск, компьютер же даже в мечтах не мог конкурировать с качеством CD. Однако, время — большой шутник, и часто любит переворачивать все с ног на голову. Прошло, казалось бы, совсем немного времени, какой-то год или два и… всё, компакт диск на PC отступил на второй план. Не спрашивайте "почему?", Вы ведь сами знаете ответ на этот вопрос. Всему виною революция в мире звука на компьютере — аудио компрессия (здесь и далее под аудио компрессией подразумевается сжатие с потерями, для уменьшения размера аудио файла), которая позволила хранить музыку на жестком диске, много музыки! Более того, появилась возможность обмениваться ею через Интернет. Вышли новые звуковые карты, способные "выжать" чуть ли не студийное качество из, казалось бы, бесполезной в плане музыки "железки". Сегодня, имея даже не очень шустрый по производительности компьютер, купив звуковую карту Creative SoundBlaster Live! и вспомнив, что еще с советских времен имеется хороший усилитель и добротная акустика, Вы получите ни что иное, как музыкальный центр высокого качества, звучание которого уступает разве что очень дорогой аудио аппаратуре (средней или даже высшей Hi-Fi категории). Прибавьте к этому общедоступность музыкальных файлов, и Вы поймете, что у Вас в руках — сила. И тогда происходит переворот, и Вы понимаете, что компакт диск — это уже и не так удобно, завораживает Вас совсем другое — магические знаки "MP3". Вы не можете ни есть, ни спать — перед Вами неразрешимый на первый взгляд вопрос "курицы и яйца": чем "сжимать" и, самое главное, — как "сжимать"…

Из существующих на сегодня форматов компрессии аудио заслуживающими внимания, на мой взгляд, являются три: MP3 (или MPEG-1 Audio Layer III), LQT (как представитель семейства MPEG-2 AAC / MPEG-4) и совершенно новый формат OGG (Ogg Vorbis), разрабатываемый группой энтузиастов:

  • На сегодняшний день MP3 — самый распространенный из них (в первую очередь потому, что он бесплатный). Напомню, что именно благодаря формату МР3 и произошло победоносное шествие сжатого аудио. Однако, как часто бывает с пионерами, он постепенно сдает позиции и уступает место более новым и качественным форматам.
  • Второй формат, LQT, является представителем нового направления алгоритмов аудио кодирования, представителем семейства AAC. Это достаточно качественный, но коммерческий и строго засекреченный формат.
  • OGG стал широко известен общественности этим летом и на данный момент бурно развивается, в скором времени (с релизом кодера и декодера) должен побить MP3 лучшим качеством звучания при меньшем объеме файлов.

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

Условие задачи

Я решил "столкнуть лбами" три указанных формата на предмет получения максимально качественного звука при минимальном размере файла. Для теста были выбраны несколько семплов (здесь семпл — вырезанный из PCM файла небольшой фрагмент) из композиций двух типов. Первый — очень плотного и громкого звучания с нормализацией по амплитуде (уплотнение звука "по вертикали", чтобы он с 24 битного мастера уместился в 16 битах) и компрессией динамического диапазона (чтобы при этом звучание всех инструментов было всегда громким). В качестве первого типа (как и в моих прошлых тестах) была выбрана композиция Crush On You из альбома Have A Nice Day группы Roxette, исследовалось три семпла по 15-20 секунд с разных участков композиции. Второй семпл — чистый и прозрачный (легкая оркестровая или акустическая аранжировка). В качестве второго типа была взята композиция Mano a Mano с альбома Tango известного пианиста Richard Clayderman.

Почему именно эти записи? В семплах Roxette имеет место очень сильная динамическая компрессия (значение амплитуды очень часто равно максимуму (что плохо) и приводит к перегрузке воспроизводящей аппаратуры и сильным искажениям).

На подобных семплах кодерам приходится работать в экстремальном режиме, из-за чего становятся легко слышны любые искажения, т.к. к уже имеющимся собственным искажениям оригинала добавляются еще и искажения кодирования. Вы спросите "а зачем тогда брать в качестве теста такой семпл?". Нужно и еще как. Подавляющее большинство выпускаемых в настоящее время альбомов именно таким образом и записано. Поэтому кодер должен приемлемо относиться к перегруженному звуку.

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

Великолепное звучание, очень приятные и мягкие "верха". На них мы и обратим особое внимание при проведении анализа, попытаемся их сохранить. А ведь именно эти частоты кодерам будет сложнее всего передать.

Чем "жмем"

Мои исследования эталонного качества для разных битрейтов и кодеров формата MP3 выражены в программе OrlSoft MPeg eXtension . Параметры кодирования подобраны по результатам тестов.

Безусловный лидер качества на высоком битрейте — кодер LAME. Кодеры от Fraunhofer IIS по-прежнему хороши только для низких битрейтов — для 128 и 160 кбит/с. Про другие я даже говорить не буду. Только НИ В КОЕМ СЛУЧАЕ не связывайтесь с кодерами, основанными на коде XING (самый известный представитель — Audio Catalyst) — эти самые плохие, звук — просто ужас.

Для большинства пользователей формата MP3 проблема качественного звука обычно ставится следующим образом: "256 или 320? а может попробовать VBR?". И этот вопрос мучает их изо дня в день. Не все записи хорошо звучат в 256 — имеют место сильно слышимые и видимые (по измерениям) потери в области верхних частот. При использовании режима VBR (так называемый поток с переменным битрейтом) часто бывает, что музыка звучит на слух лучше, чем 256, но это нельзя брать за общее правило. Кодируйте мало ценные записи, либо не очень качественные — не ошибетесь. Параметры VBR у меня подобраны для получения максимального для VBR качества.

Для коммерческого формата LQT существует только фирменный кодер от авторов — Liquifier Pro. Им и жмем. Отмечу, что формат LQT изначально основан на VBR кодировании, поэтому для него существует просто несколько режимов типа "плохо", "хорошо" и "отлично". Естественно, для наших тестов берем режим "отлично" (Audiophile), в результате чего получается поток от 192 до 256, чаще всего 200-220 кбит/с. Напомню, что формат LQT основан на семействе алгоритмов MPEG-2 AAC. Более того, это наиболее качественная на сегодня реализация AAC (проверено на аналогах).

Формат OGG родственник формата MP3, однако содержит в себе иную психоакустическую модель и некоторые отсутствующие у MP3 технические новинки. Начать хотя бы с того, что OGG изначально поддерживает только режим VBR. Пользователь задает ориентировочную скорость потока, а кодер пытается сжать максимально ближе к нему. Диапазон изменения чрезвычайно широк: от 8 до 512 кбит/с, причем он значительно более дискретный, чем у MP3. Верхняя планка составляет целых 512 кбит/с, в то время как MP3 кодеры на сегодня реально "тянут" только до 320. Вы спросите "а разве бывает что и 320 мало?". Да, бывает, но редко.

Семплы Roxette

Ну вот, мы и подошли к самому интересному. Начнём с моих слуховых ощущений.

Для МР3 на потоке 256 кбит/с явно слышны нарушения звучания верхних частот. Мало того, что в звуке отсутствует немалая их часть, так еще и примешивается сильное искажение, хрип, металлический лязг и прочие "прелести". Это знак к тому, что 256 явно не хватает, следовательно, надо попробовать повыше. Берем сжатый в 320 семпл. Звук значительно изменился — это совсем другое дело: верха на месте, на слух никакой разницы не обнаружено. Для чистоты эксперимента посмотрим, что же получится в режиме плавающей скорости потока. Получаем средний битрейт в 290 кбит/с, из чего напрашивается вывод, что 256 для исследуемого семпла маловато будет. Действительно, на слух семпл, закодированный в режиме VBR, звучит чуть-чуть лучше, чем 256, однако явно не дотягивает до звучания 320. В случае применения МР3, для качественного сжатия подходит только кодирование в режиме 320 кбит/с, т.е. на максимуме возможностей.

Берем OGG как "модифицированный MP3". Для кодера существует пять ориентировочных битрейтов: 128, 160, 192, 256 и 350. Что ж, попробуем 192 и 256. Битрейт 350 брать не будем, т.к. нам уже известно, что MP3 при 320 кбит/с передает явно прекрасное качество, лучше вроде бы и не надо. Для режима 192 получаем средний поток в 226, а для режима 256 — целых 315 кбит/с. Вот вам и точность. Столь большое отклонение от ориентира — это сигнал к очень сложно кодируемому звуковому материалу, при более простом по плотности семпле точность будет выше. Честно говоря, я долго пытался оценить 320 MP3 и 315 OGG и пришел к выводу, что оба они звучат практически аналогично исходному звучанию. Но они основаны на разных психоакустических моделях и окраска звучания у них разная. Лично мне чуть больше понравился все-таки MP3. Однако, это действительно спорный вопрос — ведь кодер OGG пока только бета версия. Когда будет релиз, думаю, он должен обогнать MP3 в качестве. Сравнивая их по отдельности с оригиналом, я склонился к тому, что OGG все-таки ближе по звучанию к оригиналу, но вот с верхними частотами у этого кодера что-то не так. Из-за этого MP3 и звучит немного лучше. Думаю, не надо говорить, что в режиме 350 (средний битрейт получился в 365) OGG "идеально" повторяет оригинал.

Теперь про малоизвестный, но широко рекламируемый как "самый качественный" формат — формат LQT. И, что самое главное, он действительно звучит очень круто в целом, однако, прислушавшись, я понял, что мне не понравилось в его звучании. Он не искажает верхние частоты, как MP3 на 256 кбит/с, но размазывает звук, причем сильно размазывает. Резкие звуки размываются во времени. Да, это плохо. Но дело в том, что сравнивать LQT на битрейте всего в 230кбит/с с MP3 на таком же битрейте бесполезно, МР3 проигрывает по общему звучанию. Придраться, конечно, есть к чему. МР3 теряет и искажает верхние частоты, LQT же в свою очередь несколько "проваливает" средние частоты и размазывает верхние. В общем, тут кому что больше понравится. Но это — тема уже для другой статьи. Сегодня у нас разговор только про высшие битрейты. Да, LQT дает хорошее качество, но отнюдь не супер. По всей видимости, здесь сказывается недостаток скорости потока, то есть, если в LQT появится режим большего битрейта, он побьет даже 320 кбит/с MP3 на записях типа исследуемой.

Это были мои чисто субъективные впечатления. Давайте теперь перейдем к более объективным тестам. Исследуем АЧХ (то есть амплитудно-частотную характеристику ) семплов, признанных лучшими (320 для MP3, 315 для OGG и 230 для LQT). Представленная диаграмма — так называемый "сонарм" — частотно-временное представление звука. По горизонтали располагается шкала времени, по вертикали — линейная шкала частот.

Внимательно присмотрелись? Вот вам и ясное подтверждение моих слов: новейший формат Ogg Vorbis в режиме 256 явно недотягивает "по верхам" — урезание частот видно невооруженным взглядом. "Супер коммерческий" формат LQT передает диапазон частот по верхам вроде как даже лучше, чем LAME, но общее качество хуже. Дело в том, что в LQT нет режима чистого стерео — там, по сути, всегда Joint-Stereo (кодер сначала сжимает левый канал, а потом кодирует только разницу между левым и правым). Из-за этого и происходит размазка верхов при недостатке битрейта, что прекрасно видно на иллюстрациях, плюс сие заключение легко подтверждается исследованием сигнала в MS-матрице, т.е. при переводе его в режим центральный канал + стерео. Что можно сказать про семпл LAME… все просто замечательно — чуть-чуть урезаются верхние частоты, но это терпимо; видимых провалов также не отмечено.

Подытожим. На финишной прямой для семпла Roxette форматы OGG на 256 кбит/с и LQT сошли с дистанции, семпл OGG на 350 кбит/с не уступает лидеру. Однако не будем хоронить новый формат раньше времени — подождем релиза. Вот тогда уже и проведем тесты еще раз: OGG 256 против LAME 320.

Семплы Richard Clayderman

C семплами Roxette вроде все понятно — плотный звук пока лучше сжимать кодером LAME в режиме 320 кбит/с. А как насчет более прозрачного звука? Попробуем сначала сжать в режиме 256 кбит/с и все, по идее, должны бы быть довольны. Результат: низкие частоты вроде на месте, да и средние тоже, а вот верхние частоты… не стало верхних частот! Они есть, но в них не осталось того красивого звучания, не обратить внимание на которое в данной записи очень сложно. Высокие частоты в целом на месте и сильных потерь нет, однако звук "тарелок" стал какой-то синтетический, резкий и весьма неприятный. Такой звук не имеет права претендовать на звание качественного. Что ж, придется снова использовать 320, а ведь как хотелось сжать в 256… Если сравнивать 320 со звучанием 256, передача верхних частот стала значительно лучше. Однако, при сравнении с оригиналом, слышно, что запись по-прежнему не является удовлетворительной в плане качества. После сравнения еще нескольких семплов, становится очевидно, что это погрешности психоакустической модели. Даже в 320 кбит/с MP3 не передает нормально верхние частоты на исследуемом типе записей. Верхние частоты становятся более резкими, металлическими, от них так и веет синтетикой и, как ни странно, они кажутся более громкими (измерения АЧХ этого не демонстрируют — чисто слуховой эффект).

Исследуем теперь Ogg Vorbis. Как и в предыдущем тесте, берем семплы, сжатые в режиме 256 кбит/с. После неудачи с MP3 сложно поверить в полученный результат — звучание Ogg Vorbis лучше по всем параметрам и не идет ни в какое сравнение с тем, что выдает LAME на 320 кбит/с! Сравнивая с оригиналом, также очень сложно найти разницу. Ogg Vorbis на битрейте 287 побил LAME на битрейте 320. Именно об этом я и говорил в начале статьи: формат OGG вполне может победить MP3.

Хорошо, а что нам может сказать титулованный формат LQT на битрейте всего в 252? Но и здесь получается шокирующий результат — чрезвычайно близкое соответствие оригиналу! По-крайней мере, разница настолько мала, что можно считать ее несущественной. Еще, обратите внимание на интересный факт: при кодировании семплов Roxette средний битрейт получался порядка 230 кбит/с, а на, казалось бы, более простых семплах Clayderman — 250 кбит/с. Это говорит о том, что LQT значительно лучше адаптирован под реальное звучание музыки, в нем более точно учитываются все нюансы. Великолепный формат. Вот ему бы нормальный кодер без выкрутасов и битрейт чуть-чуть повыше, чтобы смог кодировать более сложные семплы.

Это были мои субъективные "слуховые" исследования. Теперь посмотрим на АЧХ.

И снова анализ АЧХ сигналов только подтверждает мои выводы по результатам прослушивания: LQT выдает просто выдающийся результат, на сей раз лучше LAME. Прекрасная передача частотного диапазона, а потери на уровне 21 кГц это удаленный высокочастотный шум, что даже приветствуется. LAME отстает, но не сильно. Как и ожидалось, с передачей частотного диапазона у MP3 все нормально. А вот АЧХ семпла Ogg Vorbis принесло разочарование: посмотрите, какое урезание частот. Но звучит он лучше, чем можно было бы подумать, взглянув на его АЧХ. По всей видимости, за счет урезания некоторых частот получается возможным более точно передать общую звуковую картину.

И что же мы получаем в итоге? Два лидера: LAME и LQT на максимальном битрейте. OGG очень сильно наступает на пятки MP3 и победит в дальнейшем, если его разработчики доведут свою идею до финального воплощения: меньший размер и лучшее качество.

Исследование дельта-сигналов

Формат MP3 за счет высокого битрейта лучше на большинстве записей. Однако он сдает позиции, когда мы имеем дело с очень качественным звуком. Здесь LQT — абсолютный фаворит. Но разница между 256 и 320 не такая уж и большая, поэтому ею чаще всего можно поступиться ради более удобного и распространенного формата. Многие, да и я в том числе, так и делают в своей фонотеке, а особо качественные записи просто покупают на дисках.

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

Громкость разностного сигнала доходит до -25дБ, а его АЧХ внешне сильно напоминает широкополосный шум. Если прослушать дельта-сигнал, он звучит как широкополосный набор искажений, т.е. в нем явно слышна разница психоакустических моделей MP3 и LQT.

Сравнив по той же схеме MP3 с форматом OGG, ничего нового не получили (разница, конечно, меньше, но она все же значительная):

Аналогичные результаты получаются и для пары LQT и OGG.

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

Заключение

Что ж, попытаемся сделать некоторые окончательные выводы, представив их в виде практических рекомендаций:

  1. LAME — лучший представитель кодеров формата MP3, выдает практически максимум того, что можно получить из MP3. Для всех очень громких и "плотных" записей я бы рекомендовал использовать LAME на 320.
  2. OGG — некоторая структурная модификация формата MP3 с новой психоакустической моделью, математическая обработка и практическая реализация которой в корне отличается от MP3. Для малоценных и низкокачественных записей пойдет OGG в режиме 192 кбит/с (либо LQT в режиме 128 Transparent, в среднем получается 160-180 кбит/с).
  3. В отличие от MP3 и OGG, которые являются представителями кодеров формата MPEG-1, формат LQT базируется на спецификации MPEG-2 AAC. Формат AAC передает значительно лучшее качество на более низких битрейтах за счет принципиально другой обработки звука. Для записей средней ценности рекомендую LQT (на максимуме), либо на выбор (разница между ними невелика): OGG в режиме 256 кбит/с, LAME на 256. VBR режим кодера LAME лучше не использовать, он заметно хуже.
  4. Для очень качественных записей, на которых даже при кодировании в 320 кбит/с ясно слышно отсутствие чего-либо значительного в звучании семпла, попробовать закодировать семпл кодером Ogg Vorbis на 350 кбит/с.
  5. Если сжатый с потерями звук Вас всё-таки не устроит, придется покупать понравившиеся композиции на CD-DA диске.

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

От редактора

Мы публикуем второе издание этой статьи, дополненное и переработанное. Многим нашим читателям изложенный здесь материал покажется слишком очевидным, другим — весьма спорным. Однако, для людей, только что открывших для себя существование магического мира MP3 , данная статья должна принести неоценимую пользу и ответить на большинство возникших вопросов.

От автора

Как следует из названия, статья посвящена описанию некоторых тонкостей, которые возникают при использовании стандарта сжатия аудиоданных MPEG I/II Layer 3 (mp3). Данная работа не претендует на статус законченного исследования, включающего в себя тестирование кодеров или проигрывателей mp3. Это лишь попытка автора структурировать свои знания, а также отразить свой опыт знакомства с вышеупомянутым стандартом.

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

Стратегические вопросы

Имеет ли смысл использовать сжатие с потерями вообще ?

Давайте попытаемся обозначить границы применения mp3. Везде, где качество звука не должно в точности соответствовать оригиналу и где в будущем наверняка не потребуется серьезная обработка хранимых данных, использование mp3 (или другого формата сжатия с потерями) вполне допустимо. Не всякому захочется каждый час вставлять в CD привод новый музыкальный диск, если объем винчестера составляет десятки гигабайт. Куда как проще записать музыку в mp3 на винчестер или CD-ROM и слушать оттуда. Или воспользоваться портативным mp3 плеером, mp3-CD плеером, автомагнитолой с поддержкой mp3. А можно просто скачать mp3 из интернета на выбор.

В этом и следующем подразделах будут описаны случаи, когда применение сжатия с потерями недопустимо, а также предпринята попытка разобраться — почему?

Не имеет смысла делать архивы звуковых данных для их дальнейшей обработки (библиотеки сэмплов, фонотеки и т.п.) в mp3. Это касается и MiniDisk (там тоже используется сжатие с потерями), и других форматов: многие виды цифровой обработки влекут за собой слышимые искажения. Данное правило не зависит от используемого битрейта. Говоря о дальнейшей обработке звука я имею в виду нечто более серьезное, чем просто микширование или fade in/out, например flange, distortion, dynamic compression, reverberation, фильтрация шумов и даже использование эквалайзера… Скажем, в mp3 нельзя хранить сэмплы (для их хранения используют специальные форматы сжатия без потерь , например sfArk). Так как в случае кодирования с потерями нельзя восстановить утраченные на этапе кодирования данные, то в mp3 желательно сохранять только окончательные варианты звукозаписей.

Еще один аргумент: вы знаете как аудиодиск, перегнанный в mp3, записать обратно на аудиокомпакт-диск так, чтобы между треками не было ни пауз лишних, ни щелчков? Не знаете? Почитайте, скажем, www.r3mix.net . Морока та еще… Если вы хотите сказать: "А я вот делал — все ОК!" — конкретизируем задачу: музыка должна переходить без пауз из трека в трек, причем паузой считается не только промежуток в 1-2 секунды, но и маленькие отрезки тишины в единицы-десятки миллисекунд. Теоретически и в этом случае можно все сделать идеально слитно, но может так оказаться, что "овчинка не будет стоить выделки".

Какие существуют способы хранения звука без потерь?

Я храню фонотеку в wav-файлах (в PCM формате). Можно также использовать CD-DA; для него характерны большая совместимость, но меньшая точность считывания при проигрывании. Есть и другие варианты — обычное архивирование (ZIP , RAR) или специальные программы типа WavPack , Monkey"s Audio , RK Audio , LPAC Archiver , Shorten . Однако работа с файлами, сжатыми подобным образом, чревата неприятными сюрпризами: wav (PCM) играют подавляющее большинство проигрывателей, а вот экзотику типа RKA… Известно о существовании плагина для RKA под WinAmp, но на WinAmp свет клином не сошелся: есть же люди, которые им не пользуются. Таким образом, один только WinAmp — это еще не совместимость (в широком смысле). А другие программы-проигрыватели? А аппаратные плееры? А mp3-CD плееры? Не знаю, как для вас, а для меня совместимость в указанном выше смысле очень важна. А использование только одной пары кодер/проигрыватель существенно ограничивает свободу. Например, для того чтобы дать послушать какой-то файл своим друзьям, нужно еще убеждать их в необходимости использовать новый проигрыватель.

Из каких соображений нужно исходить при выборе параметров сжатия?

По моему мнению, можно выделить два основных режима сжатия: "сохранение приемлемого уровня качества при достижении максимального сжатия" (например, для публикации в Сети) и "полное субъективное сохранение качества исходного материала при не самом большом сжатии" (для хранения и регулярного прослушивания). Стоит заметить, что пороговые битрейты для того и другого режимов индивидуальны. Для меня они составляют 128 и 256 кб/с соответственно. Безусловно, существует множество промежуточных вариантов: есть портативный плеер mp3 с плохонькими наушниками, которому достаточно 160 кб/с; в машине установлена магнитола с поддержкой mp3 и акустикой получше — тут потребуется, скажем, 192 кб/с. Таким образом, выбирая параметры сжатия, нужно прежде всего определить те задачи, для которых создаются mp3 файлы, и уже исходя из этого решить, какое соотношение между качеством звука и размером файла вас устроит. Следует также учитывать, что понятие качества звука у разных людей может сильно отличаться.

С точки зрения здравого смысла, не стоит беспокоить себя вопросами: "Какого же битрейта достаточно, чтобы никто не услышал разницу с CD-DA?" Ведь всё дело в том, что психоакустическая модель алгоритмов mp3 разрабатывалась под среднестатистического человека с его среднестатистическими ушами. Поэтому оценочные суждения по затронутому вопросу могут быть диаметрально противоположными. Для кого-то качество mp3@128 kbps, сделанного Xing"ом, ничуть не хуже Audio CD даже на отличной аппаратуре. Другой запросто отличает mp3@320 kbps от музыкального CD в любых слепых тестах. Отсюда просто нужно сделать правильные выводы. В первом случае человеку не нужно тратить много денег на качественную аудиотехнику, а во втором — можно только порадоваться за ее (его) тонкий слух. Таким образом, исходя из собственных потребностей Вам придется один раз поэкспериментировать, чтобы выяснить, каких параметров в дальнейшем стоит придерживаться.

Хранение wav-файлов позволит в случае изобретения некоего принципиально нового, усовершенствованного алгоритма (условно назовем его mp2000) перегнать в более качественный формат точные копии оригиналов, в то время как самих оригиналов может уже и не быть под рукой… Если помните, аналогичная ситуация возникла с началом победного шествия формата видеосжатия MPEG4.

Какой формат сжатия с потерями лучше использовать: mp3, LQT, WMA, MP+, ogg vorbis …

Следует отметить, что пока ни одна из перечисленных в заголовке альтернатив формату mp3 одновременно и по качеству, и совместимости к нему не приблизилась. Существуют форматы, которые уже сегодня обеспечивают качество сравнимое или даже лучшее, чем у mp3. Например LQT AAC, который часто называют mp4. Однако битрейт у него ограничен до 192 кб/с (за что его не любят ценители mp3 @ 256/320 kbps), и запросы к аппаратуре куда как серьезнее (последнее, правда, в век бурного развития вычислительной техники является проблемой временной). Тем не менее, думаю, вы согласитесь, что по совместимости с mp3 пока никому не сравниться.

Еще один реальный конкурент — ogg vorbis. Формат сейчас находится в стадии бета-тестирования, но, говорят, у него очень неплохие показатели и, следовательно, большой потенциал. В Сети уже обсуждают "плюсы" и "минусы" использования ogg и mp3, и сравнение часто оказывается не в пользу последнего.

По всей видимости, вытеснять mp3 будут долго: вспомните CD-DA, которому пророчили скорую смерть по появлении mp3, MiniDisk и пр. Многие замечания о mp3 справедливы и для других форматов сжатия с потерями.

Воспроизведение mp3

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

Какой проигрыватель mp3 лучше?

Среди программных проигрывателей лучшими традиционно считаются сделанные на коде Fraunhofer: некоторые версии WinAmp "а, WinPlay , AudioActive , Microsoft Media Player … Код от Фраунгофера используется в WinAmp версий 1.5, 1.6, 2.13, 2.20, 2.21, 2.22, 2.666, 2.7 и более поздних; остальные версии оснащены собственным декодером от NullSoft, а копирайт Фраунгофера лишь соблюдение лицензионных требований. Также заслуживает упоминания X-Audio и все, что сделано на этом коде ( , CoolPlay , MusicMatch Jukebox). Еще есть множество проигрывателей, использующих код ISO, самые удачные — MPG123 , UltraPlayer и мой любимый Apollo (качество воспроизведения, конечно, не идеальное, но в целом он очень удобен). Существует даже плагин под WinAmp для декодирования mp3, построенный на основе MPG123. Широко известен проигрыватель NAD , базирующийся на коде ISO. Звук его считается одним из лучших, но беда в том, что он не понимает VBR. Все, что сделано на коде Xing (Xing player , FreeAmp), считается самым худшим вариантом: эти проигрыватели задирают высокие частоты, что сделано, по-видимому, для компенсации завала высоких частот кодерами Xing.

Что касается аппаратных проигрывателей mp3, то о их внутреннем устройстве по части применённых алгоритмов известно совсем мало. Но безусловно то, что алгоритмы в них используются те же, что и в программных проигрывателях. Некоторые содержат аппаратную реализацию алгоритма Fraunhofer в отдельном чипе. Другие проигрыватели имеют даже flash-микросхемы для обновления алгоритмов декодирования mp3. В любом случае нужно смотреть, на основе какого кода сделан проигрыватель. Считается, что Fraunhofer — это всегда хорошо, ISO и X-Audio — зависит от реализации, Xing — однозначно плохо.

Имеет ли смысл выбирать проигрыватель mp3 файлов в зависимости от используемого кодера?

Да. Как было написано выше, проигрыватели на базе Xing задирают высокие частоты, так как при сжатии кодеры на базе Xing эти частоты безбожно режут. В паре они компенсируют друг друга: mp3, сделанные Xing"ом, гораздо лучше звучат в исполнении Xing MPEG Player"а, чем Fraunhofer"a. Авторы LAME (см. следующий раздел) также советуют использовать именно LAME для декодирования сделанных ими mp3.

Безусловно, держать дома набор проигрывателей или даже декодеров (программ, которые могут только преобразовать mp3 в PCM wav файл) неудобно. Поэтому к таким крайним мерам я рекомендую прибегать только в особо ответственных случаях преобразования звука из mp3: запись на аудиокомпакт-диски, микширование, переупаковка другим кодером и т.п.

Как определить, каким кодером был создан mp3 файл?

Поскольку формат mp3 не предусматривает никаких подписей кодера в созданном файле, однозначно определить использовавшийся кодер очень сложно. Есть несколько примет, позволяющих с большей или меньшей степенью вероятности строить догадки: например, кодеры на основе Fraunhofer"а и ISO заполняют тишину разными значениями (акустически тишина не нарушается). Кодеры Xing первыми использовали технологию VBR. В такие файлы они вставляли свою подпись. Позже такую же подпись стал делать LAME (см. следующий раздел), чем, понятное дело, усложнил задачу определения использовавшегося кодера. Сегодня LAME ставит уже свою подпись.

Существуют программы, которые на основе известных признаков пытаются установить, каким кодером пользовались при создании mp3. Одна из таких программ — RenaTager . При ее использовании могут возникнуть проблемы: программа уже не модифицируется, в связи с чем неверно определяет новые версии кодеров. Возможно, такая функция скоро будет включена в альтернативный плагин под WinAmp для воспроизведения mp3 MAD . Я слышал еще о программе mp3GuessEnc , которая имеет интерфейс командной строки, и EncSpot , аналогичной программе с удобным оконным интерфейсом. Но со 100% вероятностью каким кодером был получен файл невозможно. Часто эти программы показывают, что один-два трека с компакт-диска сделаны другим кодером, хотя ведь диск был сжат одним кодером с одинаковыми параметрами.

К слову, стандарт id3v2 предусматривает поле, в котором указано название кодера.

Ламерам посвящается…

Чтобы читатель лучше понял, о чем пойдет речь, позволю себе привести выдержку из англо-русского словаря:

lame — — прил . 1) хромой, изувеченный; 2) неудачный, неправильный; 3) разг. простоватый, отсталый

Что такое лейм?

LAME (читается как "лейм") — это проект по созданию программного кодера mp3, основанный на принципах открытых исходных кодов. Название проекта расшифровывается как "Lame Ain"t a Mpeg Encoder", что означает "лейм — это не MPEG кодер".

Весь его код пишет группа програмистов-энтузиастов. За основу был взят свободно распространяемый в качестве приложения к стандарту MPEG демонстрационный код от ISO. Кодер динамично совершенствуется: новые версии выходят практически каждый день.

На мой взгляд, лейм заслуживает большего признания. Это отличный кодер, который имеет огромное количество настроек, позволяющих кодировать на любой вкус. Лейм поддерживает VBR, кодирование на битрейтах до 320 кб/с включительно, выбор режима кодирования стереосигнала, выбор частот среза фильтров ВЧ и НЧ и многое другое. Качество кодирования на высоких битрейтах всеми признано лучшим.

Чтобы обойти лицензионные ограничения автора стандарта MPEG Layer 3 и владельца патентов Fraunhofer IIS , лейм официально распространяют только в виде патча (исправление или замена нескольких файлов) для оригинального кода mp3 кодера от ISO. В соответствии с этими ограничениями автор или распространитель программ для работы с mp3 должен платить лицензионные отчисления вне зависимости от того, продается ли эта программа или распространяется свободно. Заявляя о нарушении своих прав, Fraunhofer добилась закрытия ряда интересных проектов в области mp3, например проигрывателя NAD , кодера mpegEnc .

Практически весь исходный код ISO подвергся доработке, поэтому для компиляции и сборки работающей версии лейма достаточно его исходных текстов. Учтите, на официальной странице нет готовых программ (чтобы Fraunhofer не могла придраться). О том, где их найти, вы узнаете в одном из следующих подразделов.

Лейм не имеет графической оболочки и управляется из командной строки. Где найти графические оболочки, созданные специально для этой программы, будет сказано ниже. Некоторые программы (например, для копирования музыки с аудиокомпакт-дисков) имеют возможность подключения внешнего mp3 кодера, в частности LAME. Список таких программ приведен на .

Какие версии лейма существуют? Какая версия новее, какая надежнее?

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

После того, как текущая версия пройдет стадию альфа-тестирования и исправления ошибок, появляется бета-версия. Иногда даже в ней встречаются серьезные огрехи (например — 3.67, если память не изменяет), и тогда выпускается новая, улучшенная бета-версия. Как правило, бета-версии работают много лучше и надежнее альфа-версий. Лично я предпочитаю подождать некоторое время (2 — 3 месяца), прежде чем начать использовать данную бета-версию.

В 1999 году координатор проекта лейм принял решение о регулярном выпуске stable (отлаженных) версий, отличающихся от текущих тем, что на протяжении длительного времени не подлежат содержательному обновлению (во избежание свежих ошибок, хотя исправление старых только приветствуется). Нынешняя stable — 3.70 (апрель 2000 года). Меня отговаривали от ее использования, потому что в 3.8х добавили ABR, улучшили качество (постоянная дилемма между надежностью и новыми возможностями).

Замечу, что последняя бета-версия — 3.87 — держится с сентября 2000 года. Это означает, что за все это время сколько-нибудь серьезных оплошностей не было замечено. И, для меня лично, этого достаточно, чтобы сделать свой выбор в пользу 3.87.

Лейм — это ISO код или нет?

Изначально лейм делался как патч именно для кода ISO. При модернизации кодера упор делался на исправление ошибок и совершенствование алгоритма. Но уже в 2000 году в версии, кажется, 3.6, было замечено, что весь код ISO изменен и лейм свободно компилируется без оригинальных исходников ISO. Так что сегодня лейм можно называть ISO-кодером только в историческом смысле, структура же его изменена настолько, что проще считать лейм самостоятельной разработкой. Причем разработкой качественной и перспективной: сейчас лейм уверенно конкурирует как по скорости, так и по качеству с аналогичными программами на основе кода от Fraunhofer.

Что лучше: LAME или Fraunhofer-based кодеры?

Одним нравится попадья, другим — свиной хрящик. Эта дискуссия сродни спорам о том, с какой стороны нужно разбивать яйцо. В августе 1999 года я в результате тестирования установил, что Fraunhofer-based кодеры имеют преимущество перед леймом на битрейтах в 160 кб/с и ниже. Лейм, соответственно, лучше при 192 кб/с и выше. Изменилось ли что-то с тех пор? Повсеместно наблюдаемая тенденция к использованию высоких битрейтов (от 160 и выше) и VBR может обеспечить LAME большое будущее.

ISO-based кодеры, а тем более кодеры на базе Xing использовать сегодня смысла не имеет. Лейм вобрал в себя все лучшее от ISO и ринулся догонять Fraunhofer. Кто-то считает, что уже догнал. А кто-то полагает, что лучше не спешить с выводами и использовать старый добрый Fraunhofer. Вспоминают о том, что во всех тестированиях на низких битрейтах (128 и ниже) Fraunhofer был лидером и уверенно обходил лейм, но забывают, что за прошедшее с тех пор время ситуация могла измениться.

Говорят, что версии лейма появляются чуть ли не каждый день потому, что в старых находят ошибки. Да, все так. У Фраунгофера тоже находят, но не исправляют годами — разве это лучше?

По крайней мере, VBR в лейме лучше, чем в Fraunhofer"е, хотя и тут он далек от идеала.

Где взять откомпилированный под Windows LAME?

На большинстве сайтов можно найти как stable-версии, так и последнюю beta, а иногда и alfa.

Есть ли для LAME оконные оболочки под Windows?

Подготовка материала перед сжатием

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

Постоянная составляющая

В некоторых случаях (практически никогда на CD и фактически всегда при записи с линейного или микрофонного входа) сигнал имеет так называемую постоянную составляющую: колебания уровня сигнала происходят не относительно условного нуля (середины диапазона уровней сигнала), а относительно некоторого другого уровня. Настоятельно рекомендуется эту составляющую убирать перед кодированием, благо это умеет практически любой звуковой редактор (remove DC offset). Некоторые кодеры (например лейм), кодируя такие файлы, сильно искажают звук, так как их психоакустическая модель рассчитана на исходный сигнал без постоянной составляющей.

Надо ли понижать уровень файла?

Да, надо, если пиковый уровень исходного сигнала около 0 дБ, иначе при кодировании может произойти искажение сигнала. Использование сжатия с потерями подразумевает, что исходный сигнал будет восстановлен не точно, а приблизительно. Из-за этого, на участке с пиковой амплитудой вы имеете шанс получить превышение пикового уровня сигнала (0 дБ), что и повлечет за собой искажения. Количество таких искажений зависит от кодера и битрейта (чем выше битрейт, тем меньше искажений). В общем, только заниженный перед сжатием уровень исходного сигнала гарантирует (в какой-то мере) защиту от искажений.

На сколько понижать? Вопрос спорный. Нужно учитывать то, что при понижении уровня и передискретизации также будут возникать искажения исходного сигнала. Естественно, что искажения будут меньше при понижении уровня ровно в 2 раза, но это достаточно большое понижение громкости. Можно попробовать выбрать что-то кратное этому "вдвое". Скажем, снизить уровень на 25%. А кто-то, может быть, предпочтет целые числа по децибелам, скажем — 3,00 дБ.

Поскольку наличие искажений от превышения пикового уровня сигнала зависит от битрейта и кодера, приведу здесь наблюдения одного из моих знакомых: "при 320 + лейм нормально — 98%, а при 128 — 85-88% от максимального уровня (100% = 0dB)". Сам я с файлами, уровень сигнала которых приближался к 0 дБ, не экспериментировал.

Надо ли использовать нормализацию?

Как правило, нет. Существует принцип невмешательства в работу исполнителя и звукорежиссера. Если что-то звучит тише, значит, так задумано. Это все равно, что читать книгу с главной героиней-брюнеткой, но представлять ее себе блондинкой, потому что вам так больше нравится. Это будет уже не авторский замысел, а ваша вольная обработка.

Тем более неразумно выглядит нормализация под очень высокий уровень (часто 98% или даже 100%) — см. предыдущий подраздел.

Таким образом, нормализация при работе с материалом, полученным с аудио компакт-дисков, практически не нужна, а при работе с другими записями — только в случае очень уж низкого уровня сигнала и только для альбома целиком.

Замечания по поводу увеличения уровня в целое число раз справедливы и в данном случае, так как нормализация — это передискретизация с новым уровнем сигнала.

Тонкости процесса сжатия

В этом разделе описаны некоторые особенности процесса сжатия, как-то: выбор параметров кодера, битрейта и прочего.

Надо ли (в лейме) выключать психоакустику?

Думаю, нет. Лейм очень быстро развивается. В августе 1999 года я тестировал версию 3.24, нынешняя версия — 3.87. В той, старой, версии я действительно слышал разницу в звучании между файлами, сделанными со включенной психоакустикой и с выключенной. Последний вариант мне нравился больше. Но, с точки зрения теории кодирования mp3, это неверно. Психоакустика составляет неотъемлемую и достаточно важную часть алгоритма сжатия. Так что плохо реализованные алгоритмы психоакустики были ошибкой старых версий лейма. И ее, кстати, исправили. Попробуйте сравнить сами.

Есть, правда, одно "но".

Тонкая настройка психоакустики при сжатии

Как я уже говорил выше, психоакустика рассчитана на среднего человека и соответствует настройкам "по умолчанию" для проигрывателя. Из-за этого, подняв высокие частоты в эквалайзере, мы можем услышать искажение идеального, на первый взгляд, звучания мп3 файла. Вот что говорят по этому поводу на MP3 Forum "е:

Народ! Я, кажется, раз 20 писал про одно простое соображение. Повторюсь еще раз.

Иногда некоторые моменты психоакустики отключать надо. Вот, например, в лейме есть опция понижения ATH (Absolute threshold of hearing), т.е. абсолютный порог слышимости. Зачем кодировать звуки, которые мы не слышим, скажете вы? А вот зачем. Если человек будет слушать эту музыку через эквалайзер, то данные параметры (параметры психоакустической модели с стандартным ATH — АГ) можно считать неприменимыми. Т.е. стоит чуток поднять высоких частот, все огрехи mp3 как на ладони.

Ну почему об этом до сих пор никто не написал, а?

Только вот понижение ATH слишком уж "больно" отражается на битрейте в виде его сильного увеличения.

Какой режим кодирования стереосигнала лучше: stereo, joint stereo или dual channel?

Выбор режима кодирования стерео зависит от конкретной ситуации. С одной стороны, при использовании joint stereo на кодирование среднего канала выпадает больше половины битрейта при почти одинаковых правом и левом каналах, с другой стороны, кодер может оставить слишком мало места для кодирования разницы каналов и смазать стереоэффекты. В таком случае, казалось бы, предпочтительнее режим stereo, когда кодер кодирует каналы раздельно, но пропорция, в которой он делит битрейт для правого и левого каналов, может изменяться. А если на каком-то ответственном отрезке кодер сделает поток в одном из каналов чересчур маленьким? Словом, у каждого метода есть преимущества и недостатки — оптимальный выбор будет зависеть от типа записи.

Следует учесть, что некоторые записи содержат сдвиг фаз между каналами, что практически исключает возможность использования joint stereo. Правда, есть специальное ПО , которое находит и корректирует такой сдвиг, однако использование еще одной программы в процессе сжатия не делает этот самый процесс проще. Где взять такую программу, сказано в разделе "Список ссылок".

Лейм автоматически выбирает для каждого фрейма stereo или joint stereo (при желании вы можете запретить ему делать это: "-m s" — только stereo, "-m f" — только joint stereo). Я использую режим с автоматическим выбором "-m j".

Существует мнение, что кодеру нужно запрещать перераспределение потока между каналами стереозаписи, для того чтобы на каком-то ответственном отрезке кодер не сделал поток в одном из каналов чересчур маленьким. Режим, когда каждому каналу отдается ровно половина потока битов, называют dual channel. В лейме этот режим активируется ключом "-m d". Рекомендую использовать такой режим только при заведомо большом размере потока — битрейт в 256 кб/с и больше.

Использовать ли переменный битрейт (VBR)?

Проблема в том, что под VBR (Variable BitRate — переменный битрейт) нужна своя психоакустическая модель, которая и будет управлять изменением битрейта. Раньше кодеры использовали CBR (Constant BitRate — постоянный битрейт) и принцип "обеспечить максимальное качество, упаковывая данные в поток заранее заданной ширины". Переменный битрейт требует совершенно другого подхода: "обеспечить заданный уровень качества, используя поток минимальной ширины", поэтому алгоритмы сжатия для VBR нужно создавать практически с нуля. Более или менее приемлемым прообразом такого алгоритма обладает только лейм, как самый быстроразвивающийся кодер. Ни Ксинг, ни Фраунгофер качественной разработки VBR пока не представили. Их алгоритмы варьируют средний битрейт в пределах 10-15% от основного, что, по-видимому, является результатом попытки адаптировать алгоритмы CBR для использования с VBR (а ведь в старых алгоритмах вообще не было возможности изменить битрейт).

Проблема также состоит в том, что до сих пор не существует сколько-нибудь точной математической модели человеческого слуха. Поэтому разработка психоакустических алгоритмов ведется опытным путем — методом проб и ошибок. Сложность построения алгоритма, получающего на входе некий "уровень качества", заключается в том, что не до конца ясно, как этот уровень качества связан с прочими параметрами алгоритма, в частности с битрейтом. Хотя человеку, далекому от этой технологии, куда как проще оперировать с параметром, непосредственно задающим уровень качества сжатия, чем с некими внутренними параметрами алгоритма.

На этом фоне вполне логичным выглядит появление компромиссного варианта — ABR (Average BitRate — средний битрейт), реализованного в LAME. По сути, это VBR с элементами доработанного старого алгоритма кодирования CBR. Когда качество падает ниже некоторого порога, битрейт увеличивается, если кодируемый сигнал достаточно прост, битрейт уменьшается. В итоге мы получаем обычный файл с VBR потоком, где параметром является не некий абстрактный уровень качества, а заданный битрейт.

Следует отметить, что некоторые проигрыватели не умеют корректно воспроизводить VBR. Например, очень качественный проигрыватель NAD сильнейшим образом искажает звук таких файлов. Объясняется это тем, что, когда этот проигрыватель был создан, ни один из кодеров не использовал VBR. С аналогичной проблемой можно столкнуться при использовании некоторых аппаратных проигрывателей mp3.

И все-таки будущее за принципом, положенным в основу VBR. Осталось только дождаться достойной программной реализации алгоритмов, создающих VBR файлы.

Следует подробнее остановиться на следующей ситуации: при переключении битрейта между фреймами один фрагмент сложного участка может быть закодирован с большим битрейтом, другой — с меньшим, полученный в результате скачок — слышимый дефект звучания. Случай во многом напоминает рассмотренный выше с режимом стерео — вот поэтому-то любители dual channel всегда используют CBR.

Список ссылок

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

Ставший уже классикой и использующийся как ФАК в ФИДО эхоконференции RU.MPEG "Обзор MP3" (в двух частях: часть 1 , часть 2). В обзоре много ссылок на различные, связанные с mp3 сайты. Очень советую новичкам.

Техническая документация по стандарту сжатия mp3 — www.mp3-tech.org .

Официальный сайт проекта LAME — .

Намечается ли новое тестирование?

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

Как ты сам кодируешь музыку?

При помощи лейма, версии 3.87. На 128 CBR психоакустика включена, для того чтобы показать друзьям-товарищам. То есть это режим "сохранения приемлемого уровня качества при достижении максимального сжатия". При VBR -V2 психоакустика включена для временного хранения качественных записей в mp3. Весь материал, достойный долговременного хранения в моей фонотеке, записывается в формате wav.

Как со мной связаться?

Мой e-mail: [email protected] . Если есть вопросы, не стесняйтесь, задавайте. Я отвечаю на все письма. Если вы участвуете в обсуждении этой статьи в каком-то форуме, сообщите, пожалуйста, мне об этом.

Вместо заключения

Я признателен всем, кто присылал критические замечания, предложения, пожелания. Особо хочу выделить постоянных участников MP3 Forum и автора этого проекта Михаила Федотова..com), при участии которых был подготовлен данный материал.

Спасибо за внимание. Надеюсь, хотя бы часть из приведенной выше информации окажется полезной.

Вконтакте

Одноклассники

3.2. Mp3 - технология сжатия звуковой информации

Само название МрЗ появилось в результате сокращения аббревиатуры MPEG-1 Layer3.

MPEG (Motion Pictures Expert Group) - это группа при Международной организации по стандартизации и Международном электрическом комитете, которая занимается разработкой стандартов для цифрового сжатия видео и аудио информации. А зачем сжимать эту информацию? Во-первых, для экономии экономических и материальных ресурсов при передаче информации на расстояние по каналам связи (в том числе и спутниковым), а во-вторых, для ее хранения.

Официальное одобрение стандарт MPEG-1 получил в 1992 году, однако до недавнего времени открытие не было востребовано в полной мере. Лишь с появлением достаточно мощных процессоров Pentium (с тактовыми частотами от 300 МГц и выше, позволяющих резко снизить время на кодирование/декодирование сигнала) и высокоскоростных модемов стандарт получил широкое признание.

Стандарт MPEG-1 является потоковым форматом и состоит из аудио, видео и системной частей. Последняя часть содержит информацию об объединении и синхронизации двух первых.

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

Всего в настоящее время существует пять видов (номеров) стандартов MPEG:

1) MPEG1 - сжатие аудио и видео с общей скоростью до 150 Кбайт/сек (аудио 38, 44.1, 48 килогерц);

2) MPEG2 - сжатие аудио и видео с общей скоростью до 300 Кбайт/сек (аудио 38, 44.1, 48 килогерц), сжатие аудио ИДЕНТИЧНО MPEG1;

3) MPEG2.5 - сжатие аудио с пониженным разрешением (аудио 16,22.05,24 килогерц). Интересно заметить, что стандарт MPEG2.5 (еще известный как MPEG2 LSF - LOW SAMPLE FREQUENCY - низкая частота сканирования аудио) введен фирмой IIS Fraunhofer (институт информационных технологий имени Фраунхофера из Германии). Этот стандарт является расширением "чистого" аудио MPEG2 (то есть MPEG1!) для частоты сканирования аудио в два раза меньшей, чем обычно;

4) MPEG3 - многоканальный MPEG1+MPEG2. Этот стандарт практически не используется;

5) MPEG4 - новомодный за рубежом стандарт. Его особенность: может держать до 8-и каналов аудио (то есть AC-3 - цифровое расширение системы Surround.

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

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

Принцип кодирования сигнала в MPEG Audio основан на использовании психоакустической модели (Psycho-acoustics), суть которой в следующем.

Существует ряд звуковых частот, которые человеческое ухо не воспринимает. Происходит маскирование одних звуков другими, как с большей амплитудой, так и с близкой частотой. Так, например, если излучается сильный звук частотой 1000 Гц (маскирующий), то более слабый звук частотой 1100 Гц (маскируемый) человеческое ухо не зафиксирует из-за особенностей порога слышимости человеческого уха. Порог слышимости на краях частотного диапазона (16-20 Гц и 16-20 кГц) значительно повышается, т.к. на этих частотах слух имеет значительно меньшую чувствительность по сравнению с областью наибольшей чувствительности слуха (диапазон 1-5 кГц). Также известно, что время восстановления чувствительности слуха после громкого сигнала составляет порядка 100 мс, а время задержки восприятия этого же сигнала составляет порядка 5 мс.

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

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

Сравнительные характеристики способов кодирования для одного канала при частоте квантования в 32 кГц представлены в таблице 2.

Таблица 2.

Способ кодирования Скорость передачи (кбит/с) Коэффициент сжатия
Layer 1 192 1:4
Layer 2 128-96 1:6...8
Layer 3 64-56 1:10...12

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

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

Частота следования фреймов называется битрейтом (BIT RATE - битовая скорость, чем она выше, тем ближе будет конечный результат к оригиналу).

Каждый битрейт имеет свою область применения. Для создания качественной копии, соответствующей качеству оригиналу применяются только высокие битрейты порядка 256 кбит/с. При битрейте 128 кбит/с качество конечного продукта кажется вполне нормальным, но заметить разницу между копией и оригиналом способны уже многие. В Интернете чаще всего содержатся как раз МРЗ файлы, закодированные битрейтом 128 кбит/с. Но для создания действительно качественной копии необходимо использовать скорость кодирования в 320 кбит/с, хотя конечный файл получается меньше лишь в 4,3 раза по сравнению с 10,8 раз на 128 кбит/с и 5,4 раза на 256 кбит/с. Поэтому выбирать битрейт необходимо самому, исходя из потребностей.

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

После обработки всех фреймов формируется итоговый поток, который дополнительно кодируется по методу Хаффмана. Этот алгоритм также используется в архиваторе ARJ, только с динамической, постоянно изменяющейся таблицей Хаффмана, что требует двух проходов по данным; при фиксированной же таблице Layer 3, сжатие происходит за один проход. Указанный метод позволяет "сжать" до 20 процентов от общего объема. В результате получаем конечный поток кодированных аудиоданных.


При мне" с простым безыскусным напевом Глинки, услышанным от Грибоедова, и более сложное драматическое решение в романсе - восточной поэме Рахманинова, полной элегической тоски и одиночества. Музыкальная пушкиниана ХХ века также весьма обширна и интересна. В числе наиболее значительных произведений - балеты "Медный всадник" Глиэра, одна из главных тем которого поистине стала "гимном великому...

Песен, прибауток, считалок для исполнения на музыкальных инструментах; для нориолизации просодической стороны речи при импровизации мелодичных и ритмических подпевок. В работе с учащимися начальных классов в коррекционно-развивающем обучении могут быть использованы лишь самые простые инструменты. Это музыкальные инструменты ударной группы как чисто ритмические, не обладающие определенной высотой...

Нравственных качеств личности ребенка, закладывает первоначальные основы общей культуры будущего человека. II. Педагогические условия реализации видов деятельности детей в детском саду 2.1 Методы музыкального обучения в детском саду Основной вид музыкальной деятельности, которому принадлежит ведущая роль в реализации познавательной и коммуникативной функции музыки – ее восприятие...

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

Сегодня количество потребляемой нами информации в сети выросло в тысячи раз в сравнении с началом 2000-х. И неудивительно, ведь раньше, помимо намного менее распространенного интернет-покрытия, привычные нам сайты и сервисы выглядели совсем по другому.

Мы ежедневно читаем статьи и новости о том, что та или иная компания разработала новый стандарт соединения, превосходящий нынешние аналоги по скорости передачи данных. За уже практически два десятилетия провайдеры и производители многих гаджетов сделали огромный шаг в направлении к скоростному доступу в Интернет. Но не одними лишь скоростями наш мгновенный доступ к сайтам един.


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

Работа алгоритма

Первым в новой серии статей станет самый популярный формат сжатия аудио–файлов *.mp3. Появился он в 1993 году, благодаря рабочей группе института Фраунгофера, а стандартизирован объединением MPEG. По данным Википедии, объединение было образовано международной организацией ISO для разработки норм в сжатии аудио и видеофайлов. Ими были установлены также следующие стандарты:

  • MPEG–1 : Предназначался для сжатия видео и аудио–файлов, позже стал устоявшимся стандартом для VCD (Video CD).
  • MPEG–2 : Уже ориентировался на передачу сигнала широковещательного телевидения семейств ATSC, ISDB и DVB и в прочих спутниковых ТВ-вещаниях. Таких как например Dish Network.
  • MPEG–3 : Стандарт разработанный для вещания HDTV, но был не принят по причине того, что MPEG–2, с небольшими доработками вполне хватало для таких целей. И нет, это не тот самый mp3, о котором вы сейчас могли подумать. На самом деле, mp3 является ответвлением стандарта MPEG–1, 3 уровня.
  • MPEG–4 : Является во многом усовершенствованным MPEG–1, с поддержкой декодирования 3D–контента и сжатия с низким битрейтом. В него также была интегрирована система программной защиты авторских прав - DRM. Из новых введенных в стандарт видео-форматов, можно отметить ASP и H.264.
Все таки давайте вернемся обратно к mp3. Основной задачей формата было и является уменьшение размера файлов за счет удаления определенных участков звукового спектра, которые не ощущаются на непрофессиональной аудиотехнике, в соответствии с психоакустической моделью звуковосприятия человека.

На этом этапе при помощи алгоритма преобразования Фурье, звуковая волна раскладывается на спектры разной частоты. Все те малоразличимые нашим слухом частоты просто удаляются. В основном это весь спектр звука выше 16 000 Гц. По такому принципу, кстати, работают и сервисы определения музыки, типа SoundHound и Shazam. Встроенный в их работу алгоритм разделяет слышимую звуковую волну на несколько, выделяет ритмику, основные ноты и сравнивает их со своей базой данных.

Но тем не менее, общая картина звучания, например, mp3-файла в битрейте 320 кбит/с мало чем отличается от несжатого файла, при этом в размере может составлять 1/10 от оригинального.

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

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

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

В конце каждый из сжатых фреймов аудиозаписи закодированные одинаковыми символами (например нулями), сокращаются до минимальных размеров при помощи метода кода Хаффмана. В процессе его работы дополнительная информация не теряется, просто к каждому из значений фреймов присваивается какой-то код, в зависимости от того, сколько раз то или иное число в нем встречается. Далее все оставшиеся куски нашей аудиозаписи склеиваются и на выходе образуют привычный нам аудио–файл.

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

Какими возможностями обладают архиваторы

Какие существуют методы архивирования

Все используемые методы сжатия информации можно разделить на два класса:

· упаковка без потерь - исходную информацию можно точно восстановить по имеющейся упакованной информации;

· упаковка с потерей информации - распакованное сообщение будет отличаться от исходного сообщения.

В настоящее время разработано много алгоритмов архивации без потерь. Однако все они используют, в основном, две простые идеи.

Первая идея основана на учете частот символов, она разработана Д. А. Хаффманом а 1952 году. Эта идея базируется на том факте, что в обычном тексте частоты появления различных символов неодинаковы. Часто встречающиеся символы кодируются короткими последовательностями битов, а более редкие - длинными. К каждому сжатому архиву прикладывается таблица соответствия символов и кодов.

Вторая идея упаковки состоит в использовании того факта, что в сообщениях часто встречаются несколько подряд идущих одинаковых байтов, а некоторые последовательности байтов повторяются многократно. При упаковке такие места можно заменить командами вида "повторить данный байт n раз" (при упаковке графической информации) или "взять часть текста длиной k байтов, которая встречалась m байтов назад" (при упаковке текстовой информации). Такой алгоритм архивации называется RLE (кодирование путем учета повторений).

Средства архивации-разархивации, как правило, обеспечивают:

· создание архива;

· обслуживание архива (добавление файлов, удаление файлов из архива, замену файлов в архиве и т.п.);

· извлечение файлов из архива;

· автоматическую архивацию и разархивацию поддерева файловой структуры;

· тестирование целостности архивов;

· создание многотомных архивов с возможностью задания произвольного размера тома;

· создание самораспаковывающихся архивов;

· создание пароля для доступа к архиву;

· работу с частично разрушенными архивами.

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

Для у меньшения размеров мультимедийных файлов используют процедуру сжатия.

Компрессия без потерь используется, например, архиваторами ZIP, RAR, ARJ. Применение подобных алгоритмов для сжатия файлов, содержащих оцифрованный звук, не позволяет получить сжатие более чем в 2 раза.

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



Такие методы относятся к классу компрессии с потерями . Они не ставят цель абсолютно точного восстановления формы исходных колебаний. Их главная задача - достижение максимального сжатия звукового сигнала при минимальных слышимых искажениях восстановленного после с жатия сигнала.

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

Еще один способ сжатия звукового сигнала заключается в том, что исходный звуковой сигнал очищается с помощью фильтров от неслышимых компонент (например, низкие басовые шумы). Затем производится более сложный анализ сигнала: вычисляются и удаляются замаскированные частоты, заглушенные другими мощными сигналами. Таким образом можно исключить до 70% информации из сигнала, практически не изменив качество его звучания.

Есть и другие способы, так же основанные на свойствах человеческого слуха.

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