Аналіз аудіо-кодека ROAD

Не так давно на Хабре у статті «Застосування нелінійної динаміки і теорії Хаосу до задачі розробки нового алгоритму стиснення аудіо даних» був анонсував принципово новий аудіо-кодек з п'ятьма небаченими раніше унікальними властивостями. Подібне формулювання викликала інтерес і бажання трохи розібратися, що до чого.

Далі будуть розглянуті заявлені унікальні властивості і вироблено кілька тестових вимірювань.

Огляд властивостей
Предпрослушивание
У статті описується досить складна формула, для пояснення цієї властивості, але насправді все набагато простіше. За фактом ця властивість означає, що компресії піддається не весь сигнал, а тільки його частина, що продемонстровано на рисунку:



Тут зеленим кольором позначено вихідний сигнал, синім — усереднений по деякій кількості точок (семплів) і зберігається в явному вигляді, і червоним — залишок, піддається стисненню.

У сильно грубому наближенні можна сказати, що стискається лише високочастотна частина сигналу. Більш точно в частотній області поділ на усереднений і залишковий сигнали будуть виглядати, наприклад, так (для 4-кратного усереднення в 48 кГц):



Або так (для 32-кратного усереднення в 48 кГц):



Ще більш точний вигляд буде залежати від конкретного взятого сигналу. Наприклад, для синусоїди з самого першого зображення:



Тут усереднення призвело до появі гармонік в протифазі в обох сигналах, які взаимокомпенсируются при складанні. Очевидно, що при зміні фази або амплітуди гармоніки в одному з сигналів (наприклад, в результаті стиснення) повної компенсації відбуватися вже не буде і призведе до спотворення вихідного сигналу. Далі це буде показано на конкретних вимірах.

Часткова сумісність
Це властивість явно випливає з попереднього. Так як частина сигналу зберігається без стиснення, її можна відтворити, ігноруючи закодовану частина. Автор підносить це як гідність, але воно виглядає вкрай сумнівною. Якщо ви завантажили аудіо-файл, який не підтримується плеєром – зрозуміло, що не вистачає якогось кодека. Але якщо файл відтворюється з погіршеним якістю – то логічніше припустити, що так і має бути, або він пошкоджений, ніж шукати кодек, поліпшує його звучання.

Розгін
Цим словом автор назвав можливість передискретизации (ресемплиннг, resampling) на рівні декодера. Це можна було б назвати перевагою, якщо б воно призводило до жодних значущих переваг перед використанням інших ресемплеров, в тому числі і вбудованих в програмні аудіо-плеєри або пристрої виведення звуку.

Якість ресемплера визначається ступенем придушення паразитних гармонік за межами оригінальної смуги частот. Далі буде показано, що даний кодек такою якістю не володіє.

Розширення динамічного діапазону
А тут вже відбувається явна підтасовка фактів. При оцифруванні аудіо-сигналу відбувається не просто зменшення динамічного діапазону – з'являються шуми квантування, які мають нелінійний характер. Їх досить-таки складно відфільтрувати, тому на практиці вони просто маскуються техніками dithering і noise shaping.

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

Недетерминированное декодування
Виходячи з опису можна було б припустити, що кожен раз після декодування ми отримуємо трохи різний результат. Однак реальне порівняння показало, що результати ідентичні. Це означає, що за фактом це властивість не має ніякого значення – з тим же успіхом можна побачити недетерминированность в тому, в якому порядку складати цифри 2 і 3 для отримання цифри 5.

Випробування на тестових даних
У статті є зображення Олени, але немає жодної осцилограми. Заповнимо цю прогалину в контексті розгляду внесених кодеком спотворень.

Для вимірювання будуть використовуватися синтезовані сигнали тривалістю 65536 семплів (для зручності подальшого Фур'є-аналізу). Результати вимірювань будуть представлені як у часовій (зеленим кольором), так і в частотній (синім кольором) області у вигляді логарифмічної амплітудно-частотної характеристики.

На всяк випадокЗміна амплітуди 3 дБ приблизно дорівнює зміні 1.7 рази.
Зміна амплітуди 6 дБ приблизно дорівнює зміні 2 рази.
Зміна амплітуди 12 дБ приблизно дорівнює зміні 4 рази.

При кодуванні використовувалися наступні параметри:

  • Maximum length of sample rang = від 4 до 32 для кожного проводилося окреме вимірювання;
  • Length encoding of superframe = 8 (при використанні значення за замовчуванням, 10, файл оброблявся не повністю і обрізався по правій межі);
  • Relative shifting between domains = 1 (за замовчуванням).
MLS – Maximum Length Sequence
Це стандартний інструмент для проведення подібного роду вимірювань. По очах і на слух він схожий на білий шум з тією лише різницею, що обмежений на заданому проміжку часу і має дискретний характер. Для аудіо-вимірювань зазвичай формується через зворотне перетворення Фур'є, в якому всі амплітуди прирівнюються константі, а фази – псевдовипадкових значень.

Після вимірювання на увазі АЧХ можна оцінити відгук системи на кожній окремо взятій частоті по відхиленню її амплітуди від 0 дБ.

Оскільки аналізувати шум на спотворення в тимчасовій області досить проблематично, тут будуть представлені результати вимірювань лише в частотній області.

Вихідний сигнал:





Результати вимірювань:

sample length = 4:



sample length = 8:



sample length = 16:



sample length = 32:



Тут добре видно спад і сильне зашумление на високих частотах, що зростають із збільшенням параметра sample length (який, ймовірно, визначає кількість усредняемых точок).

Логарифмічний свіп-тон (sweep-tone)
Являє собою синусоїду з постійно збільшується або зменшується частотою.

Тут із зменшенням частоти амплітуда зменшується, щоб компенсувати нахил АЧХ (в лінійному свіп-тоні це не потрібно), а також накладено згладжувати вікно.
Його часто використовують, щоб крім частотного відгуку оцінити ще й нелінійні спотворення (distortion). Тут ми ніяких коефіцієнтів вважати не будемо, а просто оцінимо результат візуально.

Вихідний сигнал:





Результати вимірювань:

sample length = 4:





sample length = 8:





sample length = 16:





sample length = 32:





На осцилограмі добре видно, що частина високочастотної інформації втрачається, і чим більше коефіцієнт стиснення, тим сильніше.

На АЧХ в той же час видно, що вона не просто втрачається – а заміщається гармоніками (які неминуче виникають при децимации усередненням) і шумом.

На осцилограмі також можна побачити спотворення протилежного характеру – появи звуку там, де його не було. Складно сказати, чи є це помилкою або ж особливістю алгоритму.

Послідовність з 8 тонів
Містить ноти «ля» від контроктавы (55 Гц) до «ля» п'ятої октави (7040 Гц).

Вихідний сигнал:





Результати вимірювань:

sample length = 4:





sample length = 8:





sample length = 16:





sample length = 32:





Тут ми вже можемо однозначно стверджувати про наявність виражених гармонійних спотворень. Оскільки синусоїда – це чистий тон, будь-яке її спотворення призводить до появи гармонік — їх добре видно (на частоті 5 кГц в першому графіку, наприклад).

Розглянемо синусоїду з частотою 440 Гц з останнього виміру трохи ближче:



Тут можна побачити, що вона зібрана з шматочків від інших синусоїд. Також добре видно і розриви на краях блоків.

Випробування «розгону» і розширення динамічного діапазону
У декодері є можливість збільшити частоту дискретизації в 2 або 4 рази і глибину квантування до 24 біт. Випробуємо цю можливість на попередньому сигналі (з параметром sample length = 4):





За формою сигналу видно, що він зазнав ще більші спотворення. За АЧХ видно, що розширений частотний діапазон заповнений шумом. Нічого схожого на розширення динамічного діапазону також не спостерігається (наприклад, у вигляді зниження рівня шуму).

Висновок
Зрозуміло, з наведених вище графіків зовсім не випливає, що цей кодек не можна використовувати на практиці. Цілком можливо, що для когось слова «Фрактальне Стиснення» і «Теорія Хаосу» будуть мати набагато більшу вагу, ніж якісь там графіки. Не менш можливо, що хтось сприйме його спотворення як особливі і приємні на слух, які тільки покращують звучання.

Але особисто мені ідея фрактального стиснення як такої здається притягнутою за вуха ще з початку її появи і є свого роду «Святим Граалем». Адже з часу виходу «Фрактальної геометрії природи» нічого особливо нового так і не з'явилося — з книги в книгу кочують одні й ті ж фрактальні листя і дерева, безлічі Мальдеброта і Жулиа, крива Коха, Гільберта, Пеано і трикутники Серпінського (і оригінальна стаття не стала в цьому плані винятком). До того ж, всі вони мають виключно геометричну природу – ніхто ще не заявив про існування «аудіо-фракталів», наділених властивостями самоподібних множин з дробової метричною розмірністю.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.