การอัปเกรดหลักของ Opus 1.5
- มีการประกาศเปิดตัว Opus 1.5 พร้อมการอัปเกรดหลากหลายด้าน รวมถึงการปรับปรุงคุณภาพบนพื้นฐานของแมชชีนเลิร์นนิง
- มีการเพิ่มฟีเจอร์ใหม่ที่ช่วยยกระดับประสบการณ์ด้านเสียง โดยยังคงเข้ากันได้กับเวอร์ชันก่อนหน้าอย่างสมบูรณ์
- มีการใช้เทคนิคดีปเลิร์นนิงกับการประมวลผลและการสร้างสัญญาณเป็นครั้งแรกผ่านแมชชีนเลิร์นนิง
การจัดการ packet loss
- packet loss เป็นหนึ่งในปัญหาที่รบกวนการสนทนามากที่สุด เพราะหากแพ็กเก็ตส่งไปไม่ถึง ต่อให้ codec มีคุณภาพดีแค่ไหนก็ไม่ช่วย
- Packet Loss Concealment (PLC) ทำหน้าที่เติมเสียงแทนแพ็กเก็ตที่หายไป และแมชชีนเลิร์นนิงช่วยได้อย่างมากในส่วนนี้
- มีการใช้ Deep Neural Network (DNN) เพื่อทำ PLC ซึ่งสามารถดูได้จากงานวิจัยและรายละเอียดทางเทคนิค
Deep Redundancy (DRED)
- เมื่อเกิดการสูญหายของแพ็กเก็ตต่อเนื่อง PLC เพียงอย่างเดียวมีข้อจำกัด จึงแก้ปัญหาด้วยการใช้ redundancy
- Opus มีกลไก Low Bit-Rate Redundancy (LBRR) อยู่แล้ว แต่ได้เพิ่ม DRED ที่ใช้ ML เพื่อบีบอัดเสียงพูดอย่างมีประสิทธิภาพ
- DRED สามารถส่ง redundancy ยาว 1 วินาทีได้ด้วย overhead ราว 12-32 kb/s
Neural vocoder
- ความซับซ้อนต่ำของ DRED และ PLC เกิดขึ้นได้จากเทคโนโลยี neural vocoder แบบใหม่
- FARGAN vocoder มีความซับซ้อนเพียง 1/5 ของ LPCNet และใช้ CPU core ไม่ถึง 1% แม้บนโน้ตบุ๊กหรือโทรศัพท์รุ่นใหม่
การปรับปรุงคุณภาพเสียงพูดที่บิตเรตต่ำ
- เมื่อมีบิตไม่เพียงพอ อาจได้ยิน coding artifacts จึงมีการเพิ่มวิธีปรับปรุง 2 แบบคือ LACE และ NoLACE
- LACE คล้าย post-filter แบบดั้งเดิม แต่ใช้ DNN ปรับค่าสัมประสิทธิ์ของ post-filter ให้เหมาะสมจากข้อมูลทั้งหมดที่ decoder ใช้ได้
- NoLACE ต้องใช้การประมวลผลมากกว่า แต่มีประสิทธิภาพสูงกว่าเพราะมีการประมวลผลสัญญาณแบบไม่เชิงเส้นเพิ่มเติม
การผสานรวมกับ WebRTC
- DRED ต้องทำงานร่วมกับ jitter buffer อย่างใกล้ชิด โดยขนาดของ jitter buffer เป็นตัวกำหนดปริมาณสูงสุดของความล่าช้าในการมาถึงของแพ็กเก็ตที่ยอมรับได้
- ข้อมูล DRED ถูกจัดการในลักษณะเดียวกับแพ็กเก็ตเสียงที่มาถึงช้า และเมื่อสภาพเครือข่ายดีขึ้น ขนาดบัฟเฟอร์ก็สามารถลดลงได้
IETF และการทำมาตรฐาน
- งานนี้ดำเนินอยู่ภายในคณะทำงาน IETF mlcodec โดยมุ่งเน้นที่กลไกการขยายทั่วไปของ Opus, deep redundancy และการปรับปรุงการเข้ารหัสเสียงพูด
- กลไก DRED ทำให้สามารถใส่ข้อมูลเพิ่มเติมลงในแพ็กเก็ต Opus ได้ ขณะที่ decoder รุ่นก่อนหน้ายังคงถอดรหัสข้อมูล Opus ปกติได้
การปรับปรุงอื่น ๆ
- Opus เพิ่มการรองรับ AVX2 และการตรวจจับแบบเรียลไทม์ ทำให้โค้ด DNN ใหม่และ SILK encoder ทำงานได้เร็วขึ้น
- มีการเปิดใช้ ARMv7 Neon optimization บน AArch64 อีกครั้ง ทำให้การเข้ารหัสมีประสิทธิภาพมากขึ้น
- เพื่อจำลอง packet loss ให้สมจริงขึ้น จึงสามารถสร้างโมเดล packet loss เพื่อจำลองการสูญหายในลักษณะใกล้เคียงของจริงได้
ความเห็นของ GN⁺
- Opus 1.5 นำเสนอแนวทางที่น่าสนใจในการยกระดับเทคโนโลยี audio codec เดิมด้วยแมชชีนเลิร์นนิง ซึ่งอาจเป็นพัฒนาการสำคัญของเทคโนโลยีการสื่อสาร
- ปัญหา packet loss เป็นประเด็นสำคัญในงานสื่อสารแบบเรียลไทม์ และเทคโนโลยีของ Opus 1.5 ก็มอบวิธีแก้ที่มีประสิทธิภาพ โดยเฉพาะฟีเจอร์อย่าง DRED ที่น่าจะมีประโยชน์ในสภาพแวดล้อมเครือข่ายที่ไม่เสถียรสูง
- เทคโนโลยีอย่าง neural vocoder มีบทบาทสำคัญต่อการยกระดับคุณภาพเสียงพูด แต่เมื่อคำนึงถึงความซับซ้อนและข้อกำหนดด้านประสิทธิภาพ ก็ยังควรมีการถกเถียงว่าผู้ใช้ทุกกลุ่มจะได้รับประโยชน์ได้มากน้อยเพียงใด
- เทคโนโลยีของ Opus 1.5 น่าจะแสดงศักยภาพได้เต็มที่เมื่อผสานเข้ากับแพลตฟอร์มสื่อสารแบบเรียลไทม์อย่าง WebRTC และอาจช่วยยกระดับคุณภาพของการทำงานทางไกลและการสื่อสารออนไลน์ได้มาก
- กระบวนการทำมาตรฐานมีบทบาทสำคัญต่อการทำให้เทคโนโลยีเหล่านี้ถูกนำไปใช้ในวงกว้างและคงความเข้ากันได้ไว้ โดยความพยายามของ IETF จะช่วยให้เทคโนโลยีนี้ถูกใช้ในแอปพลิเคชันและบริการที่หลากหลายยิ่งขึ้น
ยังไม่มีความคิดเห็น