В поисках лучшего lossy кодека @ 200kbps

Дата обновления: 06 Июля 2010
2010-07-06T02:34
Audiophile's Software

ОБРАТИТЕ ВНИМАНИЕ: статья предоставлена для ознакомления и носит субъективный характер. Все результаты - лишь личное мнение автора сформировавшееся на основе слепого прослушивания с использованием конкретного оборудования/семплов/кодеров/настроек.

Вступление

Всё началось с того, что я захотел сжать часть музыки из своей довольно увесистой музыкальной библиотеки во что-нибудь покомпактнее, чем FLAC (средний битрейт выходил около 950 кбит/с - это довольно много). Сразу же решил, что битрейт возьму в районе 200 кбит/с, т.к. посчитал, что его должно "с головой" хватить, кроме того, довольно распространено мнение что этот битрейт дает оптимальное соотношение размер/качество.

Но вот беда - слушаю я вовсе не классику, а клубную электронную музыку (Trance, House). И как оказалось, ни одному из популярных кодеков закодировать подобное без слышимых потерь - не под силу!

Конечно, есть треки попроще, наверное их даже большинство, но тем не менее порой встречаются т.н. "киллер семплы", на которых сдают даже AAC и Vorbis. При этом искажения не просто слышимые, но и весьма неприятные.

Ближе к делу

Семплы

И так, в процессе прослушивания я выделил несколько проблемных семплов + добавил к ним еще парочку найденных мною на просторах интернета - дабы получше проверить "надежность" кодеров. Вот эти 7 тестовых семплов в lossless (TAK):

Above & Beyond - On A Good Day (A&B Club Mix) - в принципе, не слишком сложный семпл, использовался мною для общей оценки звучания во время поиска граничного битрейта, при котором я уже не ощущаю отличий от оригинала. На низких битрейтах этим семплом можно проверять стерео панораму и качество кодирования голоса.

beats - на первый взгляд - простенькая последовательность битов и шума, на деле же - "убийца" режима VBR (в частности для AAC кодеров). Семпл предоставлен одним из участников форума RuTracker.org

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

Show Me Your Spine - фрагмент трека скачан на hydrogenaudio.org. Также рассчитан на тестирование пре-эхо.

Tiesto - Athena - изначально использовался мною для MP3. При прослушивании стоит обращать внимание на 13-27 секунды.

Tiesto - Do You Feel Me - а вот этот семпл, как ни странно, оказался фатальным для OGG Vorbis.

TyDi - Meet Me In Kyoto - семпл "рвущий в клочья" любые кодеры МР3 на любых битрейтах и с любыми настройками. Для других кодеров тоже является довольно сложным.

Кодеры

Кодеры я выбрал лучшие из тех что есть на данный момент, параметры были подобраны для получения среднего (для моей библиотеки) битрейта около 200 кбит/с:

Nero AAC Encoder 1.5.4.0     -q 0.55
QTAACEnc 20100307     --tvbr 90 --highest
OggEnc libvorbis 1.3.1     -q6

Прослушивание

Прослушивание производилось в мониторных наушниках открытого типа Technics RP-8801 на звуковой карте Creative X-Fi XtremeMusic. Хочу отметить, что фактически я просто прослушивал трек закодированный каждым из тестируемых кодеров и на слух оценивал степень искажений. Проводить ABX тест в данном случае - бесполезно, так как семплы сложные и звук в большинстве случаев искажается достаточно чтобы я мог отличить его от оригинала. Т.е., главной задачей является определение степени искажений и того насколько они раздражают во время прослушивания.

Ниже я составил таблицу результатов, где "+" означает что искажения в пределах нормы (не напрягают) или же не слышны вообще, "-" означает четко различимые неприятные искажения.

beats marcus_schossow-kaboom above_and_beyond-on_a_good_day show_me_your_spine tiesto-athena tiesto-do_you_feel_me tydi-meet_me_in_kyoto
Nero AAC - + + + - + -
QT AAC - + + + + + -
OGG Vorbis + + + - + - -

Как видно из таблицы, ни один из кодеров не справился со всеми семплами. Стоит отметить полный провал QT AAC на семпле beats - что явно говорит о несовершенстве VBR режима у данного кодера. Впрочем, у Nero AAC с этим семплом тоже проблемы, но в меньшей мере.

Семпл Tiesto - Do You Feel Me выявил недостатки кодека OGG Vorbis. Как я писал, слышимые искажения наблюдаются у него вплоть до качества -q9 - а это уже битрейт выше 320 кбит/с.

Для Nero AAC весьма неприятно звучал семпл Tiesto - Athena, другие кодеры справились с ним лучше.

Ну и на последнем семпле TyDi - Meet Me In Kyoto все кодеры звучали одинаково плохо - со значительным пре-эхо.

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

Musepack?

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

И так, я взял конечно же последнюю версию кодера со стандартными параметрами:

Musepack SV8 (incl. MPC Encoder v1.30)     --quality 5

Средний битрейт для моей музыки при данных настройках вышел около 180 кбит/с.

Прослушивание

Каково же было моё удивление, когда в слепом ABX тесте я не смог отличить ни один семпл закодированный Musepack'ом от оригинала! Все семплы звучали четко, никакого пре-эхо и в помине не было. И это всё при битрейте даже меньшем чем у других кодеров.

В чем же дело?

Разбираясь в причинах этого парадокса, я вспомнил (точнее, мне напомнили) об одной особенности этого кодека. Давайте же рассмотрим его преимущества (источник - Wikipedia):

  • Так как формат не производит второе dct-преобразование, он фактически не страдает артефактами pre-echo, в отличие от таких форматов как MP3, Vorbis, AAC и WMA.

    Действительно, этим объясняется отсутствие искажений на большинстве семплов - они как раз и были обусловлены пре-эхом.

  • Более эффективные алгоритмы переменного битрейта

    Если проследить как изменяется битрейт во время проигрывания треков MPC в том же foobar2000, можно заметить, что для более простых участков кодер выделяет меньший битрейт, а для сложных (например, некоторые участки в наших тестовых семплах) - значительно больший, иногда выше 400 (!) кбит/с. Так же тут стоит упомянуть один интересный факт: кодер МР3 в режиме VBR для тишины выделяет битрейт 32 кбит/с (при частоте дискретизации 44100 Гц), AAC и OGG Vorbis - 2кбит/с, Musepack же кодирует тишину с минимальными затратами - плеер отображает 0 кбит/с (например, минута тишины займет каких-то 514 байт). Всё это говорит о чрезвычайной "экономности" этого кодера.

  • Мощная и гибкая психоакустическая модель.

    Тут можно упомянуть например динамический НЧ фильтр на фреймовой базе (в других кодерах устанавливается фиксированная полоса пропускания для каждой предустановки качества).

  • Более продвинутое сжатие, основанное на оптимизированных таблицах Хаффмана.

    Возможно для Вас это будет сюрпризом, но тот же LAME MP3 впустую тратит около 20% битрейта - только лишь из-за несовершенного математического сжатия. Если интересно, поищите в интернете программу Sound Slimmer - она сжимает МР3 в специальные архивы до 80 %, это же относится и к AAC.

Конечно же, наряду с преимуществами идут и недостатки - например, весьма посредственное качество на битрейтах ниже ~160 кбит/с, но ведь не просто так кодер создавался для средних и высоких битрейтов.

Эпилог

И так, если Вы решите прилично сэкономить место на жестком диске (хотя, вполне возможно, что Вы уже обзавелись новым жестким диском эдак на 1 ТБ), сжав раза в 4 завалявшуюся на нем музыку, лучший выбор для этого - конечно же MPC. Хотя, тут конечно всё индивидуально, и возможно, Вы сделаете выбор в пользу совместимости - например выберите OGG или активно продвигаемый AAC. В любом случае решать Вам. А я свой выбор уже сделал. Удачи! ;)

[Обсудить на форуме]


Информация от спонсора

Electronic English dot Ru: извините по-английски. Здесь Вы можте узнать, как извиниться по-английски, а также в чем разница между "I'm sorry" и "excuse me".

 
   
Категория: Авторские статьи | Автор: | Добавил: Audiophile
Просмотров: 18350| Рейтинг: 4.0/5, голосов: 4
Комментариев: 7
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]
+1   Спам
[5] BadR (06 Июля 2010 22:40)
форматы форматами, а плеер только мп3 и аас читает))) хардварная поддержка решает, что использовать)))
-2   Спам
[6] U_PITER (06 Июля 2010 22:56)
U_PITER
Может стоит сменить плеер на более современный?
0   Спам
[7] BadR (08 Июля 2010 19:14)
плеер creative zen, пользуюсь от случая к случаю, так что не стоит
0   Спам
[1] BadR (06 Июля 2010 22:00)
Wavpack lossy не пробовали в тест включить?
Ответ: Нет, это тест психоакустических кодеков, а lossy WV, насколько я понял, сродни lossyWAV - т.е. использует понижение разрядности в сочетании с формовкой шума.
0   Спам
[2] Audiophile (06 Июля 2010 22:16)
Audiophile
для интереса попробовал lossy WV 200 kbps. на семпле TyDi - Meet Me In Kyoto четко слышен посторонний шум. Короче говоря, та же проблема что и у lossyWAV - для низких битрейтов они не годятся
-1   Спам
[3] BadR (06 Июля 2010 22:21)
ага, есть такое. Там еще на спектрах это отчетливо видно. А mpc хорош, даже очень. Субъективно очень натурально звучит.
Ответ: вот семпл который я юзаю для тестирования кодеров типа lossyWAV. Если интересно
0   Спам
[4] Audiophile (06 Июля 2010 22:27)
Audiophile
Я уж не знаю, на Websound.ru целый клуб любителей этого формата обосновался - так там давали ссылки на тесты, нашлись индивидуумы которые даже для MPC выявили проблемные семплы. Вроде как у него с классикой проблемы scratch
Надо будет проверить...