Google Research разработи аудио кодека SoundStream с невронна мрежа, който обработва човешката реч и музиката, и може да работи в реално време с изчислителните възможности на чипа на смартфона. Създателите на новия кодек заявиха, че софтуерният инструмент осигурява високо качество на аудиото в широк диапазон на битрейти с помощта на само един вече обучен модел.

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

През последните няколко години бяха разработени най-различни аудио кодеци с различна ефективност, включително популярния Opus и Enhanced Voice Services (EVS). Opus е универсален кодек за компресия на човешка реч и стандартно аудио, който работи при битрейт от 6 kb/s до 510 Kb/s и широко се използва в различните приложения – от онлайн платформите за осъществяване на видеоконференции, каквато е например Google Meet, до стрийм услуги, като например YouTube. EVS е най-новия кодек, който бе разработен от организацията за стандарти 3GPP специално за мобилната телефония. Както и Opus, това е универсален кодек, който може да работи с различен битрейт – от 5,9 до 128 Kb/s.

 

Качеството на декомпресирания звук с използването на който и да е от тези кодеци е различно при средни и ниски битрейти (12-20 Kb/s), но рязко се влошава при работа със съвсем ниски битрейти (± 3 Kb/s). За да постигнат по-добри резултати специалистите на Google са решили да използват машинно обучение за разработването аудио кодек от съвсем нов вид.

В началото на тази година Google вече представи аудио кодека Lyra, базиран на невронна мрежа, който успешно работи в мрежа с нисък битрейт. Новият SoundStream разширява неговите възможности, понеже умее декомпресира различни типове звук, включително чиста реч, шумна реч, реч с ехо и реверберация, музика и звуците на околната среда.

Основният технически компонент на SoundStream е невронна мрежа, която включва кодер, декодер и устройство за квантуване, които преминават през засилено машинно обучение. Кодерът преобразува входния аудио поток в сигнал, който се компресира с помощта на устройството за квантуване, а след това се декомпресира с помощта на декодера. SoundStream използва най-съвременните решения в областта на невронния аудио синтез за предаване на звук с високо качество на възприемане от страна на хората. Използва се така нареченият дискриминатор, който е базиран на алгоритми с елементи на изкуствен интелект и частично може да възстановява изгубената по време на преобразуването аудио информация. След като бъдат обучени енкодерът и декодерът могат да бъдат стартирани на различни клиентски програми, които осигуряват изключително висококачествен звук в мрежите.

По време на обучението, параметрите на кодера и на декодера постепенно се оптимизират чрез използването на комбинации от алгоритми за възстановяване на информацията и за намаляване на загубите, възникващи при изчисленията от страна на дискриминатора. По този начин се получава добре обучена невронна мрежа с обратна връзка, която свежда до минимум загубите на аудио информация в мрежите, а останалите загуби може да възстановява.

Кодерът на SoundStream създава вектори, които могат да имат неопределен брой значения. За да могат тези вектори да бъдат подадени към приемника чрез използването на ограничен брой битове, те се заменят с най-близките по значение вектори от съставения преди това комплект от вектори, който Google нарича кодова книга. По този начин се осъществява процеса известен като векторно квантуване. Този подход много добре работи при битрейт около 1 Kb/s или по-нисък, но бързо достига своите предели при използване на по-високи битрейти. Така например, дори и при скорост на предаване едва 3 Kb/s и при зададен параметър 100 вектора в секунда, е необходимо някъде да бъде записана кодова книга с над 1 милиард вектора, което на практика е невъзможно и е икономически неизгодно.

За да се реши този проблем, в SoundStream е интегрирано ново остатъчно устройство за векторно квантуване (RVQ), съставено от няколко слоя, максимум до 80. Първото ниво квантува входните вектори с умерена резолюция, а всеки следващ слой обработва остатъчната грешка на предишния. В крайна сметка при сто вектора в секунда и 3 Kb/s и използване на пет нива на квантуване размерът на кодовата книга намалява до поносими размери.

Тъй като при предаването на звука мрежовите условия могат да се променят, в идеалния случай един кодек от подобен род би трябвало да бъде мащабируем. За тази цел в SoundStream се използва специален метод за обучение на невронната мрежа. По време на обучението на случаен принцип се отхвърлят няколко слоя от квантуването, като по този начин се имитира променливата скорост за обмен на данните. Това принуждава декодера да работи добре при всякаква скорост на входния аудио поток.

Google заяви че при скорост 3 Kb/s SoundStream превъзхожда Opus, работещ при скорост 12 Kb/s и се приближава по качество към EVS, работещ при скорост 9,4 Kb/s, но SoundStream използва от 3,2 до 4 пъти по-малък брой битове. Това означава, че при кодирането на звук с помощта на SoundStream става възможно да се осигури същото качество на звука при използването на значително по-тясна честотна лента. И още, при един и същ битрейт SoundStream осезателно превъзхожда Lyra, който все още е на ниво експерименти.

Предвижда се SoundStream да излезе като част от следващата подобрена версия на Lyra. Интегрирайки SoundStream, разработчиците могат да използват сега съществуващите API на Lyra. Освен това, SoundStream ще излезе като отделен TensorFlow модул, с който всички ще могат да експериментират.

Вашият коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *