RUŠENÍ AKUSTICKÉ OZVĚNY NA ANDROIDU

ANDROID AEC, EFEKTIVNÍ SOFTWAROVÉ ŘEŠENÍ

Zakázková mobilní zařízení, pokud se používají pro hlasovou komunikaci, mají často určité množství problémů s generováním ozvěny. Problémy se výrazně objevují, dané řešení zahrnuje VoIP komunikaci místo GSM-CDMA. To proto, že hardwarové potlačování ozvěny je běžným rysem moderních GSM-CDMA modulů, což umožňuje redukovat problémy s ozvěnou směrem do audio zásobníku v Androidu.

V případě použití VoIP se však moduly GSM-CDMA nepodílí na zvukových cestách, a protože obvykle zakázkové mobilní zařízení není vybaveno vyhrazeným hardwarovým rušičem ozvěny, ozvěna je odesílána na druhý konec hovoru, což může ztěžovat komunikaci.
V tomto případě, pokud není možná změna hardwaru, je pro zrušení generovaného echa nutný vyhrazený softwarový modul.

Až do poslední verze Androidu (2.3) Operační systém od Googlu v rámci svého frameworku nevyužívá software, který by rušil ozvěnu. To proto, že běžné Android telefony, jsou vybaveny hardwarovým řešením pro rušení ozvěny, které výrazně zvyšuje výslednou kvalitu zvuku.
V rámci projektu DART jsme čelili problémům s ozvěnou a našli jsme opravdu výkonné řešení, které výrazně snižuje ozvěnu generovanou v rámci VoIP hovorů.

Vyvinuli jsme novou vrstvu mezi zvukovým ovladačem Androidu a systémem Android AudioFlingerem, takže přehrávané i zaznamenané streamy mohou být spravovány naším řešením, které dává AudioFlingeru data již s odstraněnou ozvěnou.
Toto řešení využívá open source knihovnu Speex, která obsahuje velmi rychlý softwarový modul Acoustic Echo Canceller.

Velké úsilí bylo vynaloženo na optimalizaci knihovny Speex k vylepšení interakce mezi zvukovým ovladačem, knihovnou a zvukovým zásobníkem Androidu, protože cílový hardware nebyl poskytován s žádnou hardwarovou akcelerací, jako je například build v DSP nebo multimediální instrukční set.

Výsledný zážitek z VoIP hovoru je opravdu skvělý: ozvěna již není slyšitelná na druhém konci a zatížení CPU je menší než 10%
(zařízení je postaveno na aplikačním procesoru Marvell PXA320: architektura XScale s ARMv5 ISA s pracovní frekvencí 600MHz).
Máte-li zájem o podobné řešení v rámci vlastního zakázkového zařízení, kontaktujte nás!