گوگل کدک صوتی Lyra V2 را معرفی کرده است که از تکنیک های یادگیری ماشینی برای دستیابی به حداکثر کیفیت صدا در کانال های ارتباطی بسیار کند استفاده می کند. نسخه جدید انتقال به معماری شبکه عصبی جدید، پشتیبانی از پلتفرمهای اضافی، قابلیتهای کنترل بیت ریت افزایش یافته، عملکرد بهبود یافته و کیفیت صوتی بالاتر را ارائه میکند. پیاده سازی کد مرجع به زبان C++ نوشته شده و تحت مجوز آپاچی 2.0 توزیع شده است.
از نظر کیفیت داده های صوتی ارسال شده در سرعت های پایین، Lyra به طور قابل توجهی برتر از کدک های سنتی است که از روش های پردازش سیگنال دیجیتال استفاده می کنند. برای دستیابی به انتقال صدای با کیفیت بالا در شرایط حجم محدود اطلاعات ارسالی، علاوه بر روشهای مرسوم فشردهسازی صدا و تبدیل سیگنال، Lyra از مدل گفتاری مبتنی بر سیستم یادگیری ماشینی استفاده میکند که به شما امکان میدهد اطلاعات از دست رفته را بر اساس آن بازآفرینی کنید. ویژگی های گفتاری معمولی
کدک شامل یک رمزگذار و یک رمزگشا است. الگوریتم رمزگذار به استخراج پارامترهای داده صوتی در هر 20 میلی ثانیه، فشرده سازی و انتقال آنها به گیرنده از طریق شبکه با نرخ بیت از 3.2 کیلوبیت بر ثانیه تا 9.2 کیلوبیت بر ثانیه خلاصه می شود. در انتهای گیرنده، رمزگشا از یک مدل مولد برای بازسازی سیگنال گفتار اصلی بر اساس پارامترهای صوتی ارسال شده استفاده می کند که شامل طیف نگارهای گچی لگاریتمی است که ویژگی های انرژی گفتار را در محدوده های فرکانسی مختلف در نظر می گیرد و با در نظر گرفتن مدل هایی تهیه می شود. ادراک شنوایی انسان
Lyra V2 از یک مدل مولد جدید مبتنی بر شبکه عصبی کانولوشنال SoundStream استفاده میکند که نیازهای محاسباتی کمی دارد و امکان رمزگشایی بلادرنگ را حتی در سیستمهای کم مصرف فراهم میکند. مدل مورد استفاده برای تولید صدا با استفاده از چندین هزار ساعت ضبط صدا به بیش از 90 زبان آموزش داده شد. از TensorFlow Lite برای اجرای مدل استفاده می شود. عملکرد اجرای پیشنهادی برای رمزگذاری و رمزگشایی گفتار در تلفن های هوشمند در محدوده قیمت پایین تر کافی است.
علاوه بر استفاده از یک مدل تولیدی متفاوت، نسخه جدید به دلیل گنجاندن پیوندها در معماری کدک با کوانتایزر RVQ (Residual Vector Quantizer) نیز قابل توجه است که قبل از ارسال داده در سمت فرستنده و در سمت گیرنده اجرا می شود. پس از دریافت داده ها کوانتایزر پارامترهای تولید شده توسط کدک را به مجموعه ای از بسته ها تبدیل می کند و اطلاعات مربوط به بیت ریت انتخاب شده را رمزگذاری می کند. برای ارائه سطوح مختلف کیفیت، کوانتیزرهایی برای سه بیت در ثانیه (3.2 کیلوبیت بر ثانیه، 6 کیلوبیت بر ثانیه و 9.2 کیلوبیت بر ثانیه) ارائه شده است که هر چه میزان بیت بالاتر باشد، کیفیت بهتری دارد، اما پهنای باند مورد نیاز بیشتر است.
معماری جدید تاخیرهای انتقال سیگنال را از 100 به 20 میلی ثانیه کاهش داده است. برای مقایسه، کدک Opus برای WebRTC تاخیرهای 26.5ms، 46.5ms و 66.5ms را در نرخ بیت آزمایش شده نشان داد. عملکرد انکودر و رمزگشا نیز به میزان قابل توجهی افزایش یافته است - تا 5 برابر سریعتر از نسخه قبلی. به عنوان مثال، در گوشی هوشمند Pixel 6 Pro، کدک جدید یک نمونه 20 میلیثانیهی را در 0.57 میلیثانیه کدگذاری و رمزگشایی میکند، که 35 برابر سریعتر از آنچه برای انتقال بلادرنگ نیاز است، است.
علاوه بر عملکرد، امکان بهبود کیفیت بازیابی صدا نیز وجود داشت - طبق مقیاس MUSHRA، کیفیت گفتار در نرخ بیت 3.2 کیلوبیت بر ثانیه، 6 کیلوبیت بر ثانیه و 9.2 کیلوبیت در ثانیه هنگام استفاده از کدک Lyra V2 با نرخ بیت 10 کیلوبیت بر ثانیه، 13 مطابقت دارد. kbps و 14 kbps هنگام استفاده از کدک Opus.
منبع: opennet.ru