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


Разделы
Поиск по сайту
Популярное
Рекомендую
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
Реклама
Случайный опрос
Ваш любимый музыкальный жанр
Всего ответов: 86
Похожие проекты
Статистика
Онлайн всего: 11
Гостей: 10
Пользователей: 1
D1mon63
Главная » Статьи » Программное обеспечение

● Сравнительное тестирование современных lossy кодеров аудио на вносимые искажения

Вступление

Суть теста заключается в измерении искажений вносимых lossy кодированием. Искажения выделяются с помощью вычитания исходного сигнала из сигнала полученного после кодирования/декодирования. Измеряются искажения методом психоакустического анализа, утилитой ReplayGain Scanner.

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

Напомню, что единственным на 100 % правильным методом является ABX тестирование с использованием большого количества различных семплов и широким кругом людей, принимающих непосредственное участие в прослушивании. К сожалению, это очень трудоемкий процесс, он требует тщательной подготовки, подбора материалов и т.д.

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

Материал для теста

File Name : 06 Athena.wav
File Size : 127MB (133 231 436 bytes)
Duration : 6:17.640 (16653924 samples)
Sample Rate : 44100 Hz
Channels : 2
Bits Per Sample : 32
Bitrate : 2822 kbps
Codec : PCM (floating-point)
Encoding : lossless

Track Gain : -4.52 dB
Track Peak : 0.831764

Файл является обработанным треком Tiesto - Athena из альбома Parade Of The Athletes (2004). Обработка заключается в понижении громкости всего трека на 1.6 дБ, что связано с некоторыми особенностями работы кодера QuickTime при высоких пиковых значениях входного сигнала. К тому же это позволит избежать внешнего и внутреннего клиппинга.

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

Используемое ПО

foobar2000 - предварительная обработка, кодирование, декодирование, ReplayGain анализ, информация о файлах.
Core (2010-04-10 23:21:50 UTC)
foobar2000 core 1.0.2.1
foo_converter.dll (2010-02-20 15:12:46)
Converter 1.4
foo_rgscan.dll (2010-02-20 15:12:36)
ReplayGain Scanner 2.0.9
foo_verifier.dll (2009-10-05 10:39:20)
File Integrity Verifier 1.1

Sony Sound Forge 10b - вычитание сигналов.

Encoders:
CT AAC v1.3 (from Winamp 5.572, using AACPlus v2 Encoder Build Dec 30 2009)
FAAC (Freeware Advanced Audio Coder) 1.28
LAME 3.99.5 (64-bit, RareWares)
Musepack Encoder v1.30
Nero AAC Encoder 1.5.4.0
OggEnc 2.87 libvorbis 1.3.2 (P4 compile)
OggEnc 2.87 LancerMod based on aoTuV b6.03 (x64 SSE3)
QAAC 1.35 (CoreAudioToolbox 7.9.7.9)
Windows Media Audio 9.2 (dBroweramp 13.3 CoreConverter)
Windows Media Audio 10 Professional (dBpoweramp 13.4 CoreConverter + WMA Pro 10 Release 6)

Тестирование

1. Подбор параметров и кодирование

Кодирование тестового семпла поочередно каждым кодером. Главной целью при подборе параметров было достижение максимального качества для каждого конкретного кодера, по возможности - в режиме неограниченного переменного битрейта (т.н. True VBR). Второй целью было достижение результирующего битрейта в районе 340-360 кбит/с. На мой взгляд, использование режима True VBR на указанных битрейтах - наиболее разумно, при правильном кодировании оно способно обеспечить как высокое качество звучания, так и высокий коэффициент сжатия.

Для кодеров WMA, битрейт которых превысил 360 кбит/с, пришлось сделать исключение.

Кодеры:





















2. Декодирование

Декодирование производилось с помощью того же foobar2000 в формат WAVE (IEEE Float 32-bit). Для всех кодеров, кроме CT AAC и WMA 9.2, на выходе был получен звуковой файл с продолжительностью идентичной исходному (16653924 семплов).

Для кодера CT AAC на выходе я получил 16652736 семплов, т.е. 1188 семплов было потеряно. Проведя небольшое "расследование", я выяснил:

 - семплы пропадают в конце файла
 - проблема заключается не в самом кодере, а в утилите AACPlus v2 CLI Encoder.

К сожалению, новой версии утилиты пока нет, а единственная альтернатива - использование кодировщика в Winamp. Закодировав файл с его помощью и декодировав его в foobar2000, я получил таки исходное количество семплов, но по непонятным причинам весь полученный поток совершенно отличался по уровню (был намного громче) от того что я получил используя AACPlus v2 CLI Encoder (при этом обе программы использовали одни и те же DLL библиотеки), возможно был использован какой-то алгоритм выравнивания/повышения громкости. Времени и желания (я не сторонник Winamp'а) разбираться в этом у меня нет, так что придется довольствоваться тем что есть.

После декодирования файла WMA 9.2 я получил 16654848 семплов, что на 924 семпла больше, чем в исходном WAV. Дополнительные семплы были обнаружены в конце файла и представляли собой небольшой шум, впоследствии они были удалены.

Проблема вполне известная: кодер WMA не способен давать sample accurate поток в однопроходном режиме. Это относится и к другим последним версиям WMA (включая WMA 10 Pro и 9.2 Lossless), более того, проблема наблюдается при использовании различных кодеров/декодеров.

3. Вычитание сигналов

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

Для кодера CT AAC пришлось удалить последние 1189 семплов, так как они содержали полезный сигнал (ввиду отсутствия у закодированного/декодированного потока этих самых семплов). Данный факт не должен значительно повлиять на конечный результат.

Вычитание сигналов в Sound Forge

Результат вычитания сигналов в Sound Forge

4. Анализ искажений

Заключительный этап - анализ искажений с помощью ReplayGain сканера. Сканер производит психоакустический анализ полученных треков и определяет воспринимаемую громкость. Результатом являются два параметра - пиковое значение и рассчитанное усиление (сканер рассчитывает усиление для приведения усредненной громкости каждого трека к одному значению - 89 дБ). Значение Track Gain в данном случае положительное, потому большее значение усиления означает меньшую громкость искажений и большее приближение прошедшего кодирование сигнала к исходному.

Результат анализа разностных сигналов с помощью ReplayGain

Таблица результатов

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

Codec

Bitrate, kbps

Track Peak

Track Gain, dB

Dif.Signal Peak

Dif.Signal Gain, dB

Original WAV

2822

0.831764

-4.52

QAAC 1.35 (CoreAudioToolbox 7.9.7.9)

341

0.859100

-4.50

0.087783

+24.05

Nero AAC 1.5.4.0

349

0.864854

-4.48

0.078164

+23.47

OGG Vorbis aoTuVb6.03

360

0.889321

-4.55

0.119377

+23.38

OGG Vorbis 1.3.2

351

0.876216

-4.55

0.103137

+23.12

WMA 10 Pro

385

0.893798

-4.52

0.062035

+22.96

Musepack 1.30 (SV8)

355

0.885218

-4.51

0.100994

+21.43

CT AAC 1.3

320

0.885722

-4.49

0.170747

+21.39

LAME 3.99.5

320

0.900963

-4.52

0.166792

+20.64

FAAC 1.28

319

0.907773

-4.56

0.097942

+19.25

WMA 9.2

362

0.888275

-4.53

0.119179

+17.92

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


Смотрите также:

Сравнительное тестирование различных версий LAME @ 320 kbps

 
   
Категория: Программное обеспечение | Добавил: Audiophile (27 Апреля 2012)
Просмотров: 13521 | Рейтинг: 0.0/0
Всего комментариев: 8
0  
[8] Benderr   (28 Апреля 2012 22:32)
отчего lame 3.99.5 сюда не попал?
Ответ: Сейчас сделаем.

По предварительным данным - +20.54 против +19.90 у 3.98.4

Да вот, собственно:
http://audiophilesoft.ru/publ/software/lame_comparison/4-1-0-54

0  
[6] krotan   (17 Июня 2011 12:56)
А зачем тестировать и делать какие-то выводы, взяв за исходный не самый качественный материал? Ну, взяли бы, хотя бы 48000 Гц....
Ответ: Вы так часто имеете дело с материалом, у которого частота дискретизации 48 кГц? А какая частота дискретизации у Audio CD - не напомните?
Может вы еще и ультразвук (>22 кГц) слышите?

0  
[5] no404error   (20 Августа 2010 02:03)
И на примере одного при равных настройках и разном битрейте:

200kbps - -3.60
220kbps - -3.60
240kbps - -3.58
260kbps - -3.58
280kbps - -3.58
300kbps - -3.48
320kbps - -3.48
340kbps - -3.48
360kbps - -3.48
380kbps - -3.48

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

Ответ: Хм, спасибо. Хотя я сам уже давно понял что на программный анализ полагаться не стоит.

P.S. Приветствую :)


0  
[4] no404error   (20 Августа 2010 01:38)
http://www.eee.nuigalway.ie/documents/mg_signal_processing_2009.pdf

eaqual подходит только для глубоко синтетических тестов в пределах одного семейства.

Пример:

lame 3.98.4 (дефолтовые 128kbps) - ODG: -0.80 (искажения якобы за пределами различимого)
qt (-tvbr 127 -q 2) - ODG: -3.10 (искажения слышны всем и каждому, да так, что только мозги не кипят)


0  
[3] no404error   (19 Августа 2010 19:05)
ODG - Objective Difference Grade
DIX - Disturbance IndeX
Ответ: так яснее. спасибо

0  
[2] Rollinnn   (17 Августа 2010 16:48)
результаты - чем больше ODG и DIX тем лучше
Ответ: ок, но только вот что это за параметры и как программа их вычисляет?

0  
[7] no404error   (29 Сентября 2011 17:34)
Чем меньше - тем лучше.

0  
[1] Rollinnn   (12 Августа 2010 17:17)
Для "машинного" сравнения качества кодирования ещё можно использовать EAQUAL (http://www.rarewares.org/others.php#eaqual)
Ответ: спасибо. вот если бы еще знать принцип работы программы. и как-то расшифровать результаты...

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Авторские статьи
Кодеки
TAK FLAC APE WV
MPC OGG AAC/ALAC MP3
WMA TTA OFR LA
Реклама
Музыка
Теги
Полезные ссылки
Кнопка сайта
AS
© 2009-2012 Audiophile
PR-CY.ru Создать сайт бесплатно
/tr>