Audiophile's Blog
Логин:Пароль:


Забыл пароль | Регистрация (убрать всю рекламу)
О сайте | Ликбез | Словарь | Audiophile's Testroom | Поддержать | Контакты
Разделы
Поиск по сайту
Популярное
Персональная настройка
Настройка звука онлайн (foobar2000, драйвера, Windows), создание персональных сборок foobar2000.

Контакты

Случайный опрос
Какой битрейт (средний) вы считаете оптимальным для lossy кодирования?
Всего ответов: 5683
Полезный софт
Opera QIP 2010 Download Master µTorrent
Ace Utilities AIDA64 SpeedFan 7-Zip
ESET NOD32 FileZilla Media Player Classic Home Cinema Paint.NET
Sony Sound Forge VirtualDub Unlocker Punto Switcher
Похожие проекты
Сейчас на сайте
Онлайн всего: 14
Гостей: 14
Пользователей: 0
» »

Сравнение VBR режимов FDK AAC Encoder и FhG AAC Encoder


21 Января 2014, 14:04

В природе существует два консольных кодера AAC под Windows, использующих алгоритмы от FhG — это FDK AAC Encoder (fdkaac) и FhG AAC Encoder (fhgaacenc). Первый основан на исходном коде, изначально открытом для Google Android, второй же представляет собой консольный враппер + библиотеку кодера и другие вспомогательные библиотеки из Winamp. Таким образом мы имеем два набора алгоритмов: некоммерческую и коммерческую, проплаченую версию соответственно. В лицензионном соглашении FDK AAC буквально указано следующее:

«Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality, are also available from Fraunhofer»
(«Также Fraunhofer предоставляет лицензированные для коммерческого использования программные библиотеки, включающие обработку в режиме плавающей точки с продвинутым качеством»)

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

В этом обзоре мы рассмотрим различия между этими двумя кодерами в режиме переменного битрейта (VBR).

FhG AAC

FhG AAC имеет возможность выбора между шестью режимами целевого VBR качества. В среднем эти режимы соответствуют примерно следующим результирующим битрейтам: 1 - 32 кбит/с, 2 - 64 кбит/с, 3 - 96 кбит/с, 4 - 128 кбит/с, 5 - 192 кбит/с, 6 - 256 кбит/с.

Командная строка foobar2000 в нашем случае имеет следующий вид:

--quiet --vbr n --ignorelength - %d

На качество здесь влияет лишь параметр --vbr, значения которого (n) — от 1 до 6.

Проверку кодеров я производил на белом шуме (10 c) с уровнем -1 dBFS, треке Pink Floyd — Wish You Were Here и тестовом сигнале RMAA 24/44.1. Белый шум представляет собой совершенно случайный сигнал, имеющий мощность равномерно распределенную по всему диапазону частот. Таким образом этот сигнал является наиболее сложным для кодирования и выходной битрейт теоретически является максимально возможным результирующим битрейтом. Тестовый сигнал имеет довольно низкую сложность, поэтому может выступать практически как нижний предел битрейта. Музыкальный же трек будет чем-то средним, отражающим реальные условия кодирования.

Ниже привожу выбранный кодером режим, результирующий битрейт (FBR, белый шум / трек / сигнал RMAA) и граничную частоту ФНЧ.

1 - SBR+PS - 45 kbps / 34 / 15 kbps - 6.5 kHz (LC) + SBR = 16.5 kHz
2 - SBR - 88 / 63 / 16 kbps - 9.5 kHz (LC) + SBR = 20.5 kHz
3 - LC - 145 / 98 / 25 kbps - 16 kHz
4 - LC - 193 / 130 / 26 kbps - 16.5 kHz
5 - LC - 294 / 207 / 31 kbps - 19 kHz
6 - LC - 390 / 262 / 36 kbps - 22 kHz

FDK AAC

Данный кодер имеет несколько различных режимов кодирования, в том числе режимы Low Delay и Extra Low Delay, предназначенные для стриминга. Нас же интересует в основном режим Low Complexity (MPEG-4), который используется по умолчанию, а также режимы HE-AAC и HE-AACv2 для низких битрейтов.

Будем использовать следующую командную строку:

--silent -m --ignorelength - -o %d

Значения параметра m — от 1 до 5.

1 - LC - 144 / 86 / 16 kbps - 13 kHz
2 - LC - 155 / 92 / 17 kbps - 13 kHz
3 - LC - 181 / 109 / 18 kbps - 14 kHz
4 - LC - 221 / 136 / 19 kbps - 17 kHz
5 - LC - 400 / 234 / 23 kbps - 22 kHz

Итак, первое, что мы видим — различные диапазоны битрейтов. Похоже, по умолчанию VBR режим FDK AAC не рассчитан на кодирование с низким битрейтом. Также здесь нет автоматического включения HE-AAC/HE-AACv2. Что ж, давайте попробуем форсировать эти режимы ключами -p 5 и -p 29.

HE-AACv2:

1 - SBR+PS - 49 kbps / 32 / 12 kbps - 7 kHz (LC) + SBR = 18 kHz
2 - SBR+PS - 64 / 40 / 14 kbps - 8.5 kHz (LC) + SBR = 20.5 kHz
3 - SBR+PS - 67 / 43 / 14 kbps - 8.5 kHz (LC) + SBR = 20.5 kHz
4 - SBR+PS - 73 / 48 / 14 kbps - 8.5 kHz (LC) + SBR = 20.5 kHz
5 - SBR+PS - 89 / 61 / 15 kbps - 8.5 kHz (LC) + SBR = 20.5 kHz

HE-AAC:

1 - SBR+PS - 70 kbps / 44 / 11 kbps - 6.5 kHz (LC) + SBR = 17.5 kHz
2 - SBR+PS - 117 / 67 / 13 kbps - 9.5 kHz (LC) + SBR = 20.5 kHz
3 - SBR+PS - 130 / 74 / 13 kbps - 9.5 kHz (LC) + SBR = 20.5 kHz
4 - SBR+PS - 149 / 88 /13 kbps - 9.5 kHz (LC) + SBR = 20.5 kHz
5 - SBR+PS - 180 / 115 / 14 kbps - 9.5 kHz (LC) + SBR = 20.5 kHz

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

Тем не менее, мы видим, что HE и HEv2 имеют достаточно широкий диапазон битрейтов, не выходя для реального материала за допустимые рамки. Тем не менее я советую использовать HE-AAC в диапазоне 40-80 kbps, а HEv2 для значений <40 kbps.

Также довольно спорным может быть, например, выбор между LC AAC m 1 и HE-AAC m 4 (86 и 88 кбит/с соответственно). С одной стороны, срез на 13 кГц у LC делает звучание заметно глуше, но с другой — SBR, работающая в диапазоне 9.5 - 20.5 кГц приводит к синтетическому, неестественному звучанию высоких. Хотя надо сказать, что субъективно (если не сравнивать с исходным треком), SBR даёт весьма приемлемое звучание.

Непосредственное сравнение

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

Так как настройки FhG AAC ограничены, подгонять будем параметры FDK AAC. Добиться одинакового результата мне удалось при следующих параметрах:

FhG AAC VBR 4 (130 kbps)
FDK AAC -m 3 -w 16500 (132 kbps)

Однако, на этом битрейте кодеры справлялись с выбранной композицией настолько хорошо, что выявить отличия мне не удалось даже при сравнении с оригиналом. Тем не менее я отметил для FDK AAC чуть более плотный спектр в области ВЧ.

Тестирование же на киллер семпле TyDi - Meet Me In Kyoto дало субъективно лучший результат для FhG, и это при том, что его битрейт на данном семпле оказался на 18 кбит/с ниже. Аналогичный результат я отметил и для семпла Tiesto - Do You Feel Me. У FhG AAC было заметно меньше артефактов, обусловленных транзиентами. Такие же результаты я получил и для режима FDK AAC -m 4, без ручной установки ФНЧ это повысило битрейт на несколько кбит/с, но FhG всё равно давал меньше искажений.

Выводы

По результатам моих опытов могу сделать вывод, что FDK по возможностям и гибкости конфигурации не уступает FhG AAC, и даже превосходит его. Но в то же время похоже, что утверждение разработчиков о продвинутом качестве платного кодера не беспочвенно, и коммерческий FhG AAC из Winamp действительно использует более совершенные алгоритмы, чем кодер на основе открытого исходного кода. Кроме того, FhG AAC заметно лучше и по показателям быстродействия: 37x для FDK AAC -m 4 против 60х для FhG AAC --vbr 4.


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

WEB Evolution: веб-студия Батурина Андрея. Компания WEB Evolution занимается профессиональной разработкой и продвижением любых сайтов: корпоративных сайтов, сайтов фирм, представительств и т.д. Сервис компании отличает высокий профессионализм, индивидуальный подход и доступные цены. Свой заказ на сайт Вы можете на домашней странице компании webevolution.ru. WEB Evolution — лучшие сайты в СПб.

 
   
Категория: Авторские статьи | Добавил: Audiophile ()
Просмотров: 4122 | Рейтинг: 5.0/5, голосов: 1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Авторские статьи
Сообщество
Последнее на форуме
Кодеки
TAK FLAC APE WV
MPC OGG AAC/ALAC MP3
WMA TTA OFR LA
Теги
Follow me
Twitter YouTube
Google+ Facebook
Полезные ссылки
Copyright Taras Kovrijenko © 2009–2017