อ่าน 23 นาที
โอปุส (รูปแบบเสียง)
Opusเป็นรูปแบบการเข้ารหัสเสียงแบบสูญเสีย ข้อมูลแบบโอเพ นซอร์สและฟรี ที่พัฒนาโดยมูลนิธิ Xiph.Orgและได้รับการกำหนดมาตรฐานโดยInternet Engineering Task
โอปุส (รูปแบบเสียง)
| โอปุส | |
|---|---|
| นามสกุลไฟล์ | .opus [ 1 ] |
| สื่อประเภทอินเทอร์เน็ต | audio/ogg[ 2 ]audio/opus (RTP) [ 3 ] |
| พัฒนาโดย | กลุ่มงานตัวแปลงสัญญาณIETF |
| การเผยแพร่ครั้งแรก | วันที่ 11 กันยายน 2555 |
| ประเภทของรูปแบบ | ไฟล์เสียงแบบบีบอัด |
| บรรจุโดย | Ogg , Matroska , WebM , MPEG-TS , ISOBMFF , CAF |
| ขยายจาก | ผ้าไหม , เซลต์ |
| มาตรฐาน | อาร์เอฟซี 6716 |
| รูปแบบเปิด ? | ใช่ |
| รูปแบบฟรีใช่ไหม? | ใช่ |
| เว็บไซต์ | opus-codec.org |
| ลิโบปัส | |
|---|---|
ภาพหน้าจอ opusinfoแสดงข้อมูลของไฟล์ .opus | |
| นักพัฒนา | มูลนิธิ Xiph.Org |
| ปล่อย | 26 สิงหาคม 2555 |
| เวอร์ชันเสถียร | 1.6 / 15 ธันวาคม 2025 |
| เขียนเป็น | ซี89 |
| แพลตฟอร์ม | ข้ามแพลตฟอร์ม |
| พิมพ์ | ตัวแปลง สัญญาณเสียง (Audio codec)การใช้งานอ้างอิง |
| ใบอนุญาต | สัญญาอนุญาต BSD 3 ข้อ ( พร้อมสัญญาอนุญาตสิทธิบัตร ) |
| เว็บไซต์ | ดาวน์โหลดโคเดก Opus |
| ที่เก็บข้อมูล | gitlab.xiph.org/xiph/opus |
Opusเป็นรูปแบบการเข้ารหัสเสียงแบบสูญเสีย ข้อมูลแบบโอเพ นซอร์สและฟรี ที่พัฒนาโดยมูลนิธิ Xiph.Orgและได้รับการกำหนดมาตรฐานโดยInternet Engineering Task Forceซึ่งออกแบบมาเพื่อการเข้ารหัสที่มีประสิทธิภาพและมีความหน่วงต่ำทั้งเสียงพูดและเสียงทั่วไป เนื่องจากมีความหน่วงต่ำกว่าเมื่อเทียบกับตัวแปลงสัญญาณมาตรฐานอื่นๆ Opus จึงพบกรณีการใช้งานเฉพาะในด้านการสื่อสารแบบโต้ตอบแบบเรียลไทม์สำหรับโปรเซสเซอร์ฝังตัวระดับล่าง[ 4 ] [ 5 ] Opus แทนที่ทั้งVorbisและSpeexสำหรับแอปพลิเคชันใหม่ๆ
Opus ผสานรวมอัลกอริทึม SILKที่ใช้LPC ซึ่ง เน้นเสียงพูดและอัลกอริทึมCELTที่ใช้MDCT ซึ่งมีความหน่วงต่ำกว่า รวมถึง การควอนไทเซชันเวกเตอร์แบบพีระมิดโดยสามารถสลับหรือผสมผสานได้ตามต้องการ[ 4 ]อัตราบิต แบนด์วิดท์เสียง ความซับซ้อน และการเลือกอัลกอริทึมสามารถปรับได้สำหรับแต่ละเฟรม Opus มีความล่าช้าของอัลกอริทึมต่ำ (26.5 มิลลิวินาทีโดยค่าเริ่มต้น) [ 6 ]ซึ่ง เหมาะอย่างยิ่งสำหรับการใช้งานเป็นส่วนหนึ่งของลิงก์การสื่อสารแบบเรียลไทม์การแสดงดนตรีผ่านเครือข่ายและการซิงค์ริมฝีปาก แบบสด โดยการแลกเปลี่ยนคุณภาพหรืออัตราบิต ความล่าช้าสามารถลดลงได้อีกเหลือเพียง 5 มิลลิวินาที ดังนั้นความล่าช้าจึงต่ำกว่าอย่างมากเมื่อเทียบกับตัวแปลงสัญญาณคู่แข่ง ซึ่งต้องการมากกว่า 100 มิลลิวินาที Opus ยังคงแข่งขันได้กับรูปแบบเหล่านี้ในแง่ของคุณภาพต่ออัตราบิต[ 7 ]
เนื่องจากเป็นรูปแบบเปิดที่ได้รับการกำหนดมาตรฐานผ่าน RFC 6716 การใช้งานอ้างอิงที่เรียกว่าlibopusจึงมีให้ใช้งานภายใต้ใบอนุญาต New BSDการอ้างอิงนี้มีการเพิ่มประสิทธิภาพทั้งแบบจุดคงที่และจุดลอยตัวสำหรับอุปกรณ์ระดับต่ำและระดับสูง พร้อมด้วย การเพิ่มประสิทธิภาพ SIMDบนแพลตฟอร์มที่รองรับสิทธิบัตรซอฟต์แวร์ ทั้งหมด ที่ครอบคลุม Opus ได้รับการอนุญาตภายใต้เงื่อนไขที่ไม่ต้องเสียค่าลิขสิทธิ์[ 8 ] Opus ถูกใช้กันอย่างแพร่หลายในฐานะ ตัวแปลงสัญญาณ เสียงผ่าน IP (VoIP) ในแอปพลิเคชัน ต่างๆเช่นDiscord [ 9 ] WhatsApp [ 10 ] [ 11 ] [ 12 ]และPlayStation 4 [ 13 ] การทดสอบการฟังจัดอันดับให้มีคุณภาพสูงกว่ารูปแบบเสียงมาตรฐานอื่นๆ ที่ อัตราบิตใดๆ จนกว่าจะถึงระดับความโปร่งใส รวมถึง MP3 , AACและHE- AAC [ 14 ] [ 15 ]
คุณสมบัติ

Opus รองรับ การเข้ารหัสบิตเรต คงที่และแปรผันตั้งแต่ 6 กิโลบิต /วินาที ถึง 510 กิโลบิต/วินาที (หรือสูงสุด 256 กิโลบิต/วินาที ต่อช่องสัญญาณสำหรับแทร็กหลายช่องสัญญาณ) ขนาดเฟรมตั้งแต่ 2.5 มิลลิวินาที ถึง 60 มิลลิวินาที และอัตราการสุ่มตัวอย่าง ห้าอัตรา ตั้งแต่ 8 กิโลเฮิร์ตซ์ (ด้วยแบนด์วิดท์ 4 กิโลเฮิร์ตซ์) ถึง 48 กิโลเฮิร์ตซ์ (ด้วยแบนด์วิดท์ 20 กิโลเฮิร์ตซ์ ซึ่งเป็นช่วงการได้ยิน ของมนุษย์) สตรีม Opus สามารถรองรับ ช่องสัญญาณเสียงได้สูงสุด 255 ช่อง และอนุญาตให้มีการเชื่อมต่อช่องสัญญาณระหว่างช่องสัญญาณเป็นกลุ่มละสองช่องโดยใช้การเข้ารหัสแบบมิดไซด์[ 6 ] : 1
Opus มีความหน่วง ต่ำมาก (26.5 มิลลิวินาที โดยใช้เฟรมเริ่มต้น 20 มิลลิวินาทีของ libopus และการตั้งค่าแอปพลิเคชันเริ่มต้น) ซึ่งทำให้เหมาะสำหรับแอปพลิเคชันแบบเรียลไทม์เช่นการโทรศัพท์เสียงผ่าน IPและการประชุมทางวิดีโอ[ 5 ]การวิจัยโดยXiphนำไปสู่ โคเด็ก CELTที่ Opus นำมาใช้ในปัจจุบัน ซึ่งรักษาคุณภาพไว้ได้ในขณะที่รักษาความหน่วงต่ำ ในสตรีม Opus ใดๆ อัตราบิต แบนด์วิดท์ และความหน่วงสามารถเปลี่ยนแปลงได้อย่างต่อเนื่องโดยไม่ทำให้เกิดการบิดเบือนหรือความไม่ต่อเนื่อง การผสมแพ็กเก็ตจากสตรีมต่างๆ จะทำให้เกิดการเปลี่ยนแปลงที่ราบรื่นและไม่รบกวน แทนที่จะเป็นการบิดเบือนที่พบได้ทั่วไปในโคเด็กอื่นๆ ต่างจาก Vorbis Opus ไม่ต้องการโค้ดบุ๊ก ขนาดใหญ่ สำหรับแต่ละไฟล์ ทำให้มีประสิทธิภาพและยืดหยุ่นมากขึ้นสำหรับคลิปเสียงสั้นๆ

รูปแบบ Opus นั้นอิงจากการผสมผสานระหว่าง รูปแบบ CELT แบบเต็มแบนด์วิดท์และรูปแบบ SILKที่เน้นเสียงพูดโดยทั้งสองรูปแบบได้รับการดัดแปลงอย่างมาก: CELT นั้นอิงจากการแปลงโคไซน์แบบไม่ต่อเนื่องที่ดัดแปลง (MDCT) ซึ่งตัวแปลงสัญญาณเพลงส่วนใหญ่ใช้ โดยใช้ เทคนิค CELPในโดเมนความถี่เพื่อการคาดการณ์ที่ดีขึ้น ในขณะที่ SILK ใช้การเข้ารหัสแบบทำนายเชิงเส้น (LPC) และตัวกรองการคาดการณ์ระยะยาวที่เป็นตัวเลือกเพื่อจำลองเสียงพูด ใน Opus ทั้งสองรูปแบบได้รับการดัดแปลงเพื่อรองรับขนาดเฟรมที่มากขึ้น รวมถึงการปรับปรุงอัลกอริทึมและการบูรณาการเพิ่มเติม เช่น การใช้ตัวเข้ารหัสช่วง ของ CELT สำหรับทั้งสองประเภท เพื่อลดโอเวอร์เฮดที่อัตราบิตต่ำ หากความหน่วงไม่ใช่ปัญหาสำคัญ SILK จะรองรับการรวมเฟรม 20 มิลลิวินาทีหลายเฟรมเข้าด้วยกัน โดยใช้บริบทและส่วนหัวร่วมกัน SILK ยังอนุญาตให้ใช้เฟรม Low Bitrate Redundancy (LBRR) ซึ่งช่วยให้สามารถกู้คืนการสูญหายของแพ็กเก็ตคุณภาพต่ำได้ CELT ประกอบด้วยการจำลองสเปกตรัมและการสร้างสัญญาณรบกวน คล้ายกับ SBR และ PNS ของ AAC และสามารถประหยัดบิตได้มากขึ้นโดยการกรองฮาร์โมนิกทั้งหมดของเสียงโทนออกไปทั้งหมด จากนั้นจึงจำลองเสียงเหล่านั้นในตัวถอดรหัส[ 16 ]การตรวจจับโทนเสียงที่ดีขึ้นเป็นโครงการที่กำลังดำเนินการเพื่อปรับปรุงคุณภาพ
รูปแบบนี้มีโหมดการทำงานสามแบบ ได้แก่ เสียงพูด โหมดไฮบริด และโหมด CELT เมื่อบีบอัดเสียงพูด จะใช้ SILK สำหรับความถี่เสียงสูงสุด 8 kHz หากต้องการแบนด์วิดท์ที่กว้างขึ้น โหมดไฮบริดจะใช้ CELT ในการเข้ารหัสช่วงความถี่ที่สูงกว่า 8 kHz โหมดที่สามคือ CELT บริสุทธิ์ ซึ่งออกแบบมาสำหรับเสียงทั่วไป SILK เป็น VBR โดยธรรมชาติและไม่สามารถบรรลุเป้าหมายบิตเรตได้ ในขณะที่ CELT สามารถเข้ารหัสเป็นจำนวนไบต์ที่กำหนดได้เสมอ ทำให้สามารถใช้โหมดไฮบริดและ CELT ได้เมื่อต้องการ CBR
SILK รองรับขนาดเฟรม 10, 20, 40 และ 60 มิลลิวินาที ส่วน CELT รองรับขนาดเฟรม 2.5, 5, 10 และ 20 มิลลิวินาที ดังนั้น โหมดไฮบริดจึงรองรับเฉพาะขนาดเฟรม 10 และ 20 มิลลิวินาทีเท่านั้น เฟรมที่มีขนาดสั้นกว่า 10 มิลลิวินาทีจะใช้โหมด CELT เสมอ แพ็กเก็ต Opus ทั่วไปประกอบด้วยเฟรมเดียว แต่แพ็กเก็ตที่มีขนาดสูงสุดถึง 120 มิลลิวินาทีจะถูกสร้างขึ้นโดยการรวมหลายเฟรมเข้าด้วยกันในแพ็กเก็ตเดียว Opus สามารถสลับระหว่างโหมด ขนาดเฟรม แบนด์วิดท์ และจำนวนช่องสัญญาณได้อย่างโปร่งใสในแต่ละแพ็กเก็ต แม้ว่าแอปพลิเคชันเฉพาะอาจเลือกที่จะจำกัดสิ่งนี้ก็ตาม
การใช้งานอ้างอิงเขียนด้วยภาษาCและสามารถคอมไพล์ได้บนสถาปัตยกรรมฮาร์ดแวร์ที่มีหรือไม่มีหน่วยประมวลผลทศนิยมแม้ว่าในปัจจุบันจำเป็นต้องใช้หน่วยประมวลผลทศนิยมสำหรับการตรวจจับแบนด์วิดท์เสียง (การสลับแบบไดนามิกระหว่างการเข้ารหัส SILK, CELT และไฮบริด) และการเพิ่มประสิทธิภาพความเร็วส่วนใหญ่
คอนเทนเนอร์
แพ็กเก็ต Opus ไม่ได้กำหนดขอบเขตด้วยตนเอง แต่ได้รับการออกแบบมาเพื่อใช้ภายในคอนเทนเนอร์บางประเภทซึ่งจัดเตรียมความยาวของแต่ละแพ็กเก็ตให้กับตัวถอดรหัส Opus เดิมทีถูกกำหนดไว้สำหรับการห่อหุ้มใน คอนเทนเนอร์ Oggซึ่งระบุไว้เป็น และสำหรับ ไฟล์audio/ogg; codecs=opus Ogg Opus .opusแนะนำให้ใช้ส่วนขยายชื่อไฟล์[ 2 ] สตรีม Opus ยังได้รับการสนับสนุนในMatroska [ 17 ] WebM [ 18 ] MPEG - TS [ 19 ]และMP4 [ 20 ]
อีกทางเลือกหนึ่งคือ แพ็กเก็ต Opus แต่ละแพ็กเก็ตอาจถูกห่อหุ้มด้วยแพ็กเก็ตเครือข่าย ซึ่ง ระบุความยาวของแพ็กเก็ต แพ็กเก็ต Opus อาจถูกส่งผ่านโปรโตคอลดาตาแกรมแบบเรียงลำดับ เช่นRTP [ 21 ]
รูปแบบแพ็กเก็ตที่คั่นด้วยตัวคั่นเองซึ่งเป็นทางเลือกนั้นถูกกำหนดไว้ในภาคผนวกของข้อกำหนด[ 22 ]ซึ่งใช้ไบต์เพิ่มเติมหนึ่งหรือสองไบต์ต่อแพ็กเก็ตเพื่อเข้ารหัสความยาวของแพ็กเก็ต ทำให้สามารถรวมแพ็กเก็ตเข้าด้วยกันได้โดยไม่ต้องห่อหุ้ม
แบนด์วิดท์และอัตราการสุ่มตัวอย่าง
Opus อนุญาตให้ใช้แบนด์วิดท์ต่อไปนี้ในระหว่างการเข้ารหัส การบีบอัด Opus ไม่ขึ้นอยู่กับอัตราการสุ่มตัวอย่างอินพุต การประทับเวลาจะวัดเป็นหน่วย 48 kHz แม้ว่าจะไม่ได้ใช้แบนด์วิดท์ทั้งหมดก็ตาม ในทำนองเดียวกัน อัตราการสุ่มตัวอย่างเอาต์พุตสามารถเลือกได้อย่างอิสระ ตัวอย่างเช่น สามารถป้อนเสียงที่ 16 kHz แต่ตั้งค่าให้เข้ารหัสเฉพาะเสียงแบบแคบแบนด์เท่านั้น[ 23 ]เวอร์ชัน 1.6 ได้แนะนำแฟล็กการสร้างแบบทดลองที่เปิดใช้งานคุณสมบัติที่เรียกว่า Opus HD ซึ่งอนุญาตให้ใช้อัตราการสุ่มตัวอย่างสูงถึง 96 kHz สำหรับวัตถุประสงค์ที่ไม่ใช่เสียง[ 24 ]
| คำย่อ | แบนด์วิดท์ เสียง | อัตราการสุ่มตัวอย่าง ที่มีประสิทธิภาพ |
|---|---|---|
| หมายเหตุ (แถบความถี่แคบ) | 4 kHz | 8 kHz |
| MB (คลื่นความถี่กลาง) [หมายเหตุ 1 ] | 6 kHz | 12 kHz |
| WB (ไวด์แบนด์) | 8 kHz | 16 kHz |
| SWB (ซูเปอร์ไวด์แบนด์) | 12 kHz | 24 kHz |
| FB (ฟูลแบนด์) [หมายเหตุ 2 ] | 20 kHz | 48 kHz |
ประวัติศาสตร์
Opus ถูกเสนอให้เป็นมาตรฐานรูปแบบเสียงใหม่ในการประชุม IETF ซึ่งในที่สุดก็ได้รับการยอมรับและอนุมัติโดยกลุ่มทำงานด้านตัวแปลงสัญญาณ โดย มีพื้นฐานมาจากข้อเสนอมาตรฐานสองฉบับที่แยกจากกันในตอนแรกจากมูลนิธิ Xiph.Org และ Skype Technologies SA (ปัจจุบันคือMicrosoft ) ผู้พัฒนาหลักได้แก่ Jean-Marc Valin (Xiph.Org, Octasic, Mozilla Corporation , Amazon), Koen Vos (Skype) และ Timothy B. Terriberry (Xiph.Org, Mozilla Corporation, Amazon) นอกจากนี้ยังมี Juin-Hwey (Raymond) Chen ( Broadcom ), Gregory Maxwell (Xiph.Org, Wikimedia ) และChris Montgomery (Xiph.Org) เข้าร่วมด้วย
การพัฒนาส่วน CELT ของรูปแบบนี้มีต้นกำเนิดมาจากการหารือเกี่ยวกับการพัฒนาตัวต่อยอดสำหรับVorbisภายใต้ชื่อชั่วคราว ว่า Ghost Opus เป็นตัวแปลงสัญญาณเสียงรุ่นใหม่จากมูลนิธิ Xiph.Org ซึ่งมาแทนที่Speex ตัวแปลงสัญญาณเสียงรุ่นเก่าของ Xiph ซึ่งเป็นโครงการก่อนหน้าของ Jean-Marc Valin การพัฒนา CELT เริ่มต้นมาตั้งแต่เดือนพฤศจิกายน 2550
ส่วนของ SILK นั้นอยู่ระหว่างการพัฒนาที่ Skype มาตั้งแต่เดือนมกราคม 2550 โดยเป็นรุ่นต่อจากSVOPCซึ่งเป็นโครงการภายในของบริษัท เพื่อทำให้บริษัทไม่ต้องพึ่งพาตัวแปลงสัญญาณของบุคคลที่สาม เช่นiSACและiLBCรวมถึงไม่ต้องจ่ายค่าลิขสิทธิ์ที่เกี่ยวข้องอีกต่อไป
ในเดือนมีนาคม พ.ศ. 2552 Skype ได้เสนอการพัฒนาและการกำหนดมาตรฐานรูปแบบเสียงแบบบรอดแบนด์ภายใน IETF เกือบหนึ่งปีผ่านไปพร้อมกับการถกเถียงกันอย่างมากเกี่ยวกับการจัดตั้งกลุ่มทำงานที่ เหมาะสม [ 25 ]ตัวแทนจากหลายบริษัทที่เข้าร่วมในการกำหนดมาตรฐานรูปแบบการแข่งขันที่มีสิทธิบัตร รวมถึงPolycomและEricssonซึ่งเป็นผู้สร้างและผู้ได้รับอนุญาตของG.719ตลอดจนFrance Télécom , HuaweiและOrange Labs (แผนกของ France Télécom) ซึ่งมีส่วนร่วมในการสร้างG.718ได้แสดงการคัดค้านต่อการเริ่มต้นกระบวนการกำหนดมาตรฐานสำหรับรูปแบบที่ไม่ต้องเสียค่าลิขสิทธิ์ (ผู้คัดค้านบางรายจะอ้างสิทธิ์ในสิทธิบัตรในภายหลัง ซึ่ง Xiph ได้ปฏิเสธ ดูด้านล่าง) [ 26 ]ในที่สุดกลุ่มทำงานก็ก่อตั้งขึ้นในเดือนกุมภาพันธ์ พ.ศ. 2553 และแม้แต่ Study Group 16 ที่เกี่ยวข้องจาก ITU-T ก็ให้คำมั่นที่จะสนับสนุนงานของกลุ่มทำงานนี้
ในเดือนกรกฎาคม พ.ศ. 2553 ต้นแบบของรูปแบบไฮบริดที่รวมสองรูปแบบที่เสนอไว้คือ SILK และ CELT ได้ถูกนำเสนอ ในเดือนกันยายน พ.ศ. 2553 Opus ได้ถูกส่งไปยัง IETF ในฐานะข้อเสนอสำหรับการกำหนดมาตรฐาน ในช่วงเวลาสั้นๆ รูปแบบนี้ใช้ชื่อว่าHarmonyก่อนที่จะได้รับชื่อปัจจุบันในเดือนตุลาคม พ.ศ. 2553 [ 27 ]ในช่วงต้นเดือนกุมภาพันธ์ พ.ศ. 2554 รูปแบบ บิตสตรีมถูกระงับชั่วคราว โดยอาจมีการเปลี่ยนแปลงครั้งสุดท้าย[ 28 ]ใกล้สิ้นเดือนกรกฎาคม พ.ศ. 2554 Jean-Marc Valin ได้รับการว่าจ้างจากMozilla Corporationให้ทำงานต่อเกี่ยวกับ Opus [ 29 ]
การสรุปขั้นสุดท้าย (1.0)
ในเดือนพฤศจิกายน พ.ศ. 2554 คณะทำงานได้ออกคำร้องขอเปลี่ยนแปลงรูปแบบบิตสตรีมครั้งสุดท้าย บิตสตรีมได้รับการตรึงไว้ตั้งแต่วันที่ 8 มกราคม พ.ศ. 2555 [ 30 ]เมื่อวันที่ 2 กรกฎาคม พ.ศ. 2555 Opus ได้รับการอนุมัติจากIETFให้เป็นมาตรฐาน[ 31 ]ซอฟต์แวร์อ้างอิงเข้าสู่สถานะผู้สมัครรับเลือกตั้งเมื่อวันที่ 8 สิงหาคม พ.ศ. 2555 [ 32 ]ข้อกำหนดขั้นสุดท้ายได้รับการเผยแพร่เป็น RFC 6716 เมื่อวันที่ 10 กันยายน พ.ศ. 2555 [ 33 ] [ 34 ]และเวอร์ชัน 1.0 และ 1.0.1 ของการใช้งานอ้างอิง libopus ได้รับการเผยแพร่ในวันถัดมา
เมื่อวันที่ 11 กรกฎาคม 2556 libopus 1.0.3 ได้นำการแก้ไขข้อบกพร่องและ API เสียงรอบทิศทาง ใหม่ มาปรับปรุงการจัดสรรช่องสัญญาณและคุณภาพ โดยเฉพาะอย่างยิ่งสำหรับ LFE [ 35 ]
1.1
เมื่อวันที่ 5 ธันวาคม พ.ศ. 2556 libopus 1.1 ได้รับการเผยแพร่[ 35 ]ซึ่งรวมถึงการปรับปรุงความเร็วโดยรวมและการปรับปรุงคุณภาพตัวเข้ารหัสอย่างมีนัยสำคัญ: การประมาณค่าโทนเสียงช่วยเพิ่มบิตเรตและคุณภาพสำหรับตัวอย่างที่มีปัญหา ก่อนหน้านี้ เช่น ฮาร์ปซิคอร์ด; การตรวจจับเสียงพูด/ดนตรีอัตโนมัติช่วยปรับปรุงคุณภาพในเสียงผสม; สเตอริโอแบบมิดไซด์ช่วยลดความต้องการบิตเรตของเพลงจำนวนมาก; การเพิ่มความแม่นยำของแบนด์เพื่อปรับปรุงทรานเซียนต์; และการปฏิเสธ DC ที่ต่ำกว่า 3 Hz มีการเพิ่มโหมด VBR ใหม่สอง โหมด: แบบไม่จำกัดเพื่อคุณภาพที่สม่ำเสมอยิ่งขึ้น และ VBR แบบชั่วคราวที่เพิ่มเฟรมที่ดังกว่าและปรับปรุงคุณภาพโดยทั่วไป
libopus เวอร์ชัน 1.1.1 เปิดตัวเมื่อวันที่ 26 พฤศจิกายน 2015 และเวอร์ชัน 1.1.2 เมื่อวันที่ 12 มกราคม 2016 โดยทั้งสองเวอร์ชันได้เพิ่มประสิทธิภาพด้านความเร็วและแก้ไขข้อบกพร่อง ต่อมาเมื่อวันที่ 15 กรกฎาคม 2016 ได้มีการเปิดตัวเวอร์ชัน 1.1.3 ซึ่งรวมถึงการแก้ไขข้อบกพร่อง การเพิ่มประสิทธิภาพ การอัปเดตเอกสาร และการทดลองใช้งาน Ambisonics
1.2
libopus 1.2 Beta เปิดตัวเมื่อวันที่ 24 พฤษภาคม 2017 libopus 1.2 เปิดตัวเมื่อวันที่ 20 มิถุนายน 2017 [ 36 ]การปรับปรุงที่นำมาใช้ในเวอร์ชัน 1.2 ช่วยให้สามารถสร้างเพลงฟูลแบนด์ได้ที่อัตราบิตต่ำถึง 32 กิโลบิต/วินาที และเสียงพูดแบบไวด์แบนด์ที่อัตราบิตเพียง 12 กิโลบิต/วินาที[ 37 ]
libopus 1.2 มีการสนับสนุนเพิ่มเติมสำหรับการเปลี่ยนแปลงข้อกำหนดตัวถอดรหัสที่ทำในร่าง RFC 8251 ซึ่งช่วยปรับปรุงคุณภาพของเอาต์พุตจากสตรีมอัตราต่ำดังกล่าว[ 38 ]
1.3
libopus 1.3 เปิดตัวเมื่อวันที่ 18 ตุลาคม 2018 [ 39 ]การเปิดตัว Opus 1.3 ครั้งใหญ่ครั้งนี้ได้นำมาซึ่งการปรับปรุงคุณภาพ คุณสมบัติใหม่ และการแก้ไขข้อบกพร่อง[ 40 ]การเปลี่ยนแปลงตั้งแต่เวอร์ชัน 1.2.x ประกอบด้วย:
- การปรับปรุงการตรวจจับกิจกรรมเสียง (VAD) และการจำแนกประเภทเสียงพูด/ดนตรีโดยใช้โครงข่ายประสาทเทียมแบบวนซ้ำ (RNN)
- รองรับการเข้ารหัสเสียงแบบ Ambisonics โดยใช้ตระกูลการแมปช่องสัญญาณ 2 และ 3
- การปรับปรุงการเข้ารหัสเสียงสเตอริโอที่อัตราบิตต่ำ
- ใช้การเข้ารหัสเสียงแบบบรอดแบนด์ที่ความละเอียด 9 กิโลบิต/วินาที (ปัจจุบันไม่ใช้เมดแบนด์แล้ว)
- ทำให้สามารถใช้งาน SILK ได้ที่อัตราบิตต่ำถึงประมาณ 5 กิโลบิต/วินาที
- ปรับปรุงคุณภาพเสียงเล็กน้อย
- การเปิดใช้งานการแก้ไขตามข้อกำหนดใน RFC 8251 โดยค่าเริ่มต้น
- การปรับปรุงด้านความปลอดภัย/การเสริมความแข็งแกร่ง
การแก้ไขข้อบกพร่องที่สำคัญ ได้แก่:
- การแก้ไขสำหรับ PLC CELT
- การแก้ไขการตรวจจับแบนด์วิดท์
1.3.1
libopus 1.3.1 ได้รับการเผยแพร่เมื่อวันที่ 12 เมษายน 2562 [ 41 ]การเผยแพร่ย่อย Opus 1.3.1 นี้แก้ไขปัญหาเกี่ยวกับการวิเคราะห์ไฟล์ที่มีความเงียบทางดิจิทัล (ศูนย์ทั้งหมด) โดยเฉพาะอย่างยิ่งใน การสร้าง x87 (ส่วนใหญ่ส่งผลกระทบต่อการสร้าง 32 บิต) นอกจากนี้ยังรวมถึงคุณสมบัติใหม่สองประการ:
- มีการเพิ่มคำสั่ง OPUS_GET_IN_DTX ใหม่เพื่อตรวจสอบว่าตัวเข้ารหัสอยู่ในโหมด DTX หรือไม่ (เฟรมสุดท้ายเป็นเฟรมเสียงรบกวนเพื่อความสะดวกสบาย หรือไม่ได้เข้ารหัสเลย)
- ระบบสร้างโปรแกรม แบบใหม่ (และยังอยู่ในช่วงทดลอง) ที่ใช้ CMakeเป็นพื้นฐาน ซึ่งในอนาคตจะเข้ามาแทนที่ ระบบสร้างโปรแกรม ของ VS2015 ( ส่วนระบบสร้าง โปรแกรม autotoolsจะยังคงอยู่)
1.4
libopus 1.4 เปิดตัวเมื่อวันที่ 20 เมษายน 2566 [ 42 ] Opus 1.4 นำมาซึ่งการปรับปรุงและแก้ไขดังต่อไปนี้:
- การปรับแต่งที่ดีขึ้นของ Opus in-band FECที่เรียกว่า LBRR (Low-bitrate redundancy) [ 43 ]ซึ่งก่อนหน้านี้ทำให้คุณภาพเสียงลดลงอย่างมากในบางสถานการณ์[ 44 ]
- เพิ่มตัวเลือก OPUS_SET_INBAND_FEC(2) ที่เปิดใช้งาน FEC แต่ไม่บังคับใช้โหมด SILK (FEC จะถูกปิดใช้งานในโหมด CELT)
- ปรับปรุงการปรับแต่งและแก้ไขข้อบกพร่องต่างๆ ในDTX
- เพิ่ม การรองรับ MesonและปรับปรุงการรองรับCMake
1.5
libopus 1.5 ได้รับการเผยแพร่เมื่อวันที่ 4 มีนาคม พ.ศ. 2567 [ 45 ]โดยได้เพิ่มการปรับปรุงที่เข้ากันได้กับเวอร์ชันก่อนหน้าดังต่อไปนี้:
- การปกปิดการสูญหายของแพ็กเก็ตที่ดีขึ้นโดยใช้โครงข่ายประสาทเทียมเชิงลึก
- เพิ่มประสิทธิภาพการสำรองข้อมูลเพื่อป้องกันการสูญหายของแพ็กเก็ตโดยใช้Variational Autoencoder ที่ปรับให้เหมาะสม กับอัตราการบิดเบือน
- ปรับปรุงการปกปิดสิ่งผิดปกติในการเข้ารหัสโดยการปรับค่าสัมประสิทธิ์หลังการกรองโดยใช้โครงข่ายประสาทเทียมเชิงลึก
- รองรับคำสั่งเพิ่มเติมสำหรับ CPU SIMD ได้แก่ AVX2บนสถาปัตยกรรม x86-64และNEONบนสถาปัตยกรรมAarch64
1.6
libopus 1.6 ได้รับการเผยแพร่เมื่อวันที่ 15 ธันวาคม พ.ศ. 2568 [ 24 ]โดยได้เพิ่มการปรับปรุงที่เข้ากันได้กับเวอร์ชันก่อนหน้าดังต่อไปนี้:
- โมดูลขยายแบนด์วิดท์ (BWE) แบบใหม่ จากย่าน ความถี่กว้าง เป็นย่านความถี่เต็ม
- การรองรับเสียง 96 kHz แบบทดลองและเป็นทางเลือกเพิ่มเติมสำหรับ Opus HD
- การปรับปรุงที่สำคัญสำหรับระบบสำรองข้อมูลเชิงลึก (Deep Redundancy หรือ DRED)
- API ตัวเข้ารหัส/ถอดรหัส 24 บิตใหม่
ความคืบหน้าปัจจุบัน
ตัวแปลงสัญญาณอยู่ระหว่างการพัฒนาอย่างต่อเนื่อง[ 46 ]ปัจจุบันมุ่งเน้นไปที่การเพิ่มตัวเข้ารหัสความซ้ำซ้อนแบบการเรียนรู้เชิงลึกซึ่งช่วยเพิ่มประสิทธิภาพในการปกปิดการสูญเสียแพ็กเก็ตโดยการฝังข้อมูลการกู้คืนหนึ่งวินาทีในแต่ละแพ็กเก็ตที่เข้ารหัส อัลกอริทึมความซ้ำซ้อนเชิงลึก (DRED) ได้รับการพัฒนาโดย Jean-Marc Valin, Ahmed Mustafa, Jan Büthe, Timothy Terriberry, Chris Montgomery , Michael Klingbeil และParis SmaragdisจากAmazon Web Services [ 47 ]โดยได้รับการสนับสนุนให้เปิดเผยซอร์สโค้ดของอัลกอริทึมและขยาย มาตรฐาน IETF ในภายหลัง โดย Sid Rao [ 48 ]ตัวเข้ารหัสนี้เป็นการเปลี่ยนแปลงที่เข้ากันได้กับเวอร์ชันก่อนหน้าของตัวแปลงสัญญาณ ทำให้ลูกค้าสามารถอัปเกรดแอปพลิเคชันเพื่อใช้ประโยชน์จากความสามารถในการเรียนรู้ของเครื่องนี้ได้อย่างง่ายดาย ร่างRFCกำลังดำเนินการเพื่อกำหนดมาตรฐานความสามารถใหม่นี้[ 49 ] RFC นี้เป็นหนึ่งในความพยายามครั้งแรกในการกำหนดมาตรฐานอัลกอริทึมการเรียนรู้เชิงลึกใน IETF
การเปรียบเทียบคุณภาพและประสิทธิภาพการทำงานที่มีความหน่วงต่ำ

Opus ทำงาน ได้ค่อนข้างดีทั้งในอัตราบิต ต่ำและสูง [ 7 ]
ในการทดสอบการฟังที่ความเร็วประมาณ 64 กิโลบิต/วินาที Opus แสดงคุณภาพที่เหนือกว่าเมื่อเทียบกับ ตัวแปลงสัญญาณ HE-AACซึ่งก่อนหน้านี้เป็นที่นิยมเนื่องจากการใช้ เทคโนโลยี การจำลองแถบสเปกตรัม (SBR) ที่ได้รับการจดสิทธิบัตร [ 50 ] [ 14 ]ในการทดสอบการฟังที่ความเร็วประมาณ 96 กิโลบิต/วินาที Opus แสดงคุณภาพที่เหนือกว่าเล็กน้อยเมื่อเทียบกับAACและมีคุณภาพดีกว่าอย่างเห็นได้ชัดเมื่อเทียบกับVorbisและMP3 [ 15 ] [ 51 ]
Opus มีความล่าช้าของอัลกอริทึมต่ำมาก[ 4 ]ซึ่งเป็นสิ่งจำเป็นสำหรับการใช้งานเป็นส่วนหนึ่งของ ลิงก์การสื่อสาร ที่มีความหน่วงเสียง ต่ำ ซึ่งสามารถอนุญาตให้มีการสนทนาที่เป็นธรรมชาติการแสดงดนตรีผ่านเครือข่ายหรือการซิงค์ริมฝีปากในงานสด ความล่าช้าของอัลกอริทึมทั้งหมดสำหรับรูปแบบเสียงคือผลรวมของความล่าช้าที่ต้องเกิดขึ้นในตัวเข้ารหัสและตัวถอดรหัสของสตรีมเสียงสดโดยไม่คำนึงถึงความเร็วในการประมวลผลและความเร็วในการส่ง เช่น การบัฟเฟอร์ตัวอย่างเสียงลงในบล็อกหรือเฟรม การอนุญาตให้มีการทับซ้อนของหน้าต่างและอาจอนุญาตให้มี การมองล่วงหน้าเพื่อ ปรับรูปร่างเสียงรบกวนในตัวถอดรหัสและรูปแบบการมองล่วงหน้าอื่นๆ หรือสำหรับตัวเข้ารหัส MP3 การใช้อ่างเก็บน้ำบิต[ 52 ]
ความหน่วงทางเดียวโดยรวมที่ต่ำกว่า 150 มิลลิวินาทีถือเป็นเป้าหมายที่ต้องการของระบบVoIP ส่วนใหญ่ [ 53 ]เพื่อให้สามารถสนทนาได้อย่างเป็นธรรมชาติโดยที่การผลัดกันพูดได้รับผลกระทบจากความล่าช้าน้อยที่สุด โดยทั่วไปนักดนตรีจะรู้สึกว่าจังหวะตรงกันกับความหน่วงของเสียงประมาณ 30 มิลลิวินาที[ 54 ]ซึ่งสอดคล้องกับเวลาหลอมรวมของเอฟเฟกต์ Haas โดยประมาณ แม้ว่าการจับคู่ความล่าช้าในการเล่นเครื่องดนตรีของผู้ใช้แต่ละคนกับความหน่วงแบบไป-กลับก็สามารถช่วยได้เช่นกัน[ 55 ]แนะนำว่าสำหรับการซิงค์ริมฝีปากความหน่วงของเสียงประมาณ 45–100 มิลลิวินาทีอาจเป็นที่ยอมรับได้[ 56 ]
Opus อนุญาตให้แลกเปลี่ยนคุณภาพที่ลดลงหรืออัตราบิตที่เพิ่มขึ้นเพื่อให้ได้ความล่าช้าของอัลกอริทึมที่น้อยลง (อย่างน้อย 5.0 มิลลิวินาที) [ 57 ]ในขณะที่เฟรม Opus เริ่มต้นของการใช้งานอ้างอิงมีความยาว 20.0 มิลลิวินาที เลเยอร์ SILK ต้องการการมองล่วงหน้าเพิ่มเติมอีก 5.0 มิลลิวินาที บวกกับ 1.5 มิลลิวินาทีสำหรับการสุ่มตัวอย่างใหม่ ทำให้มีความล่าช้าเริ่มต้นที่ 26.5 มิลลิวินาที เมื่อเลเยอร์ CELT ทำงานอยู่ จะต้องใช้การมองล่วงหน้า 2.5 มิลลิวินาทีสำหรับการทับซ้อนของหน้าต่างซึ่งจะมีการเพิ่มความล่าช้าที่ตรงกัน 4.0 มิลลิวินาทีโดยค่าเริ่มต้นเพื่อซิงโครไนซ์กับเลเยอร์ SILK หากตัวเข้ารหัสถูกสร้างขึ้นใน โหมด ความล่าช้าต่ำที่จำกัด พิเศษ ความล่าช้าที่ตรงกัน 4.0 มิลลิวินาทีจะถูกลบออกและเลเยอร์ SILK จะถูกปิดใช้งาน ทำให้มีความล่าช้าของอัลกอริทึมขั้นต่ำที่ 5.0 มิลลิวินาที[ 6 ] : 2
สนับสนุน
รูปแบบและอัลกอริธึมได้รับการบันทึกไว้อย่างเปิดเผย และการใช้งานอ้างอิงได้รับการเผยแพร่เป็นซอฟต์แวร์ฟรีการใช้งานอ้างอิงของ Xiph เรียกว่าlibopusและแพ็กเกจที่เรียกว่าopus-toolsมีเครื่องมือเข้ารหัสและถอดรหัสแบบบรรทัดคำสั่ง เผยแพร่ภายใต้เงื่อนไขของใบอนุญาตแบบ BSDเขียนด้วยภาษาCและสามารถคอมไพล์สำหรับสถาปัตยกรรมฮาร์ดแวร์ที่มีหรือไม่มีหน่วยประมวลผลทศนิยมได้ เครื่องมือวินิจฉัยopusinfo ที่มาพร้อมกัน จะรายงานข้อมูลทางเทคนิคโดยละเอียดเกี่ยวกับไฟล์ Opus รวมถึงข้อมูลเกี่ยวกับการปฏิบัติตามมาตรฐานของรูปแบบบิตสตรีม โดยอิงจากogginfoจากvorbis-toolsและด้วยเหตุนี้ — ต่างจากตัวเข้ารหัสและถอดรหัส — จึงอยู่ภายใต้เงื่อนไขของGPLเวอร์ชัน 2
การนำไปใช้
RFC 6716มีซอร์สโค้ดฉบับสมบูรณ์สำหรับเวอร์ชันเก่าของตัวอย่างการใช้งานอ้างอิงที่เขียนด้วยภาษา C RFC 8251มีการแก้ไขข้อผิดพลาด Libopus เป็นเวอร์ชันล่าสุดแต่ไม่ใช่มาตรฐานของตัวอย่างการใช้งานอ้างอิง
โครงการFFmpeg [ 58 ] มีการใช้ งานตัวเข้ารหัสและตัวถอดรหัสที่ไม่ได้มาจากไลบรารีอ้างอิง เอกสารอธิบายว่าเป็น CELT เท่านั้นและมีคุณภาพต่ำกว่าไลบรารีอ้างอิง[ 59 ]
ไลบรารีอ้างอิง libopus ได้รับการพอร์ตไปยังC# , JavaและGoซึ่งเป็นส่วนหนึ่งของโครงการที่เรียกว่า Concentus การพอร์ตเหล่านี้ทำให้ประสิทธิภาพลดลงเพื่อให้สามารถรวมเข้ากับแอปพลิเคชันข้ามแพลตฟอร์มได้ง่าย[ 60 ]
ผู้ให้บริการซอฟต์แวร์และเนื้อหา
Digital Radio Mondiale ซึ่งเป็นรูปแบบวิทยุดิจิทัลสำหรับคลื่นความถี่ AM สามารถออกอากาศและรับฟังเสียง Opus (แม้ว่าจะไม่ได้รับการยอมรับในมาตรฐานอย่างเป็นทางการ) โดยใช้ซอฟต์แวร์วิทยุแบบกำหนดด้วยซอฟต์แวร์ Dream
มูลนิธิวิกิมีเดีย สนับสนุนตัวเข้ารหัส JavaScript Opus ออนไลน์แบบโอเพ่นซอร์สฟรีสำหรับเบราว์เซอร์ที่รองรับคุณสมบัติHTML5 ที่จำเป็น [ 61 ]
รายชื่อสถานีวิทยุที่สตรีมโดยใช้ตัวแปลงสัญญาณเสียง Opus สามารถพบได้ในไดเร็กทอรีIcecast ของมูลนิธิ Xiph.Org [ 62 ]
ในช่วงปลายปี 2014 และ 2015 แพลตฟอร์มวิดีโอYouTube ของ Google เริ่มให้บริการเสียง Opus พร้อมกับ วิดีโอ VP9ใน รูปแบบไฟล์ WebMผ่าน การสตรี มDASH [ 63 ]ในเดือนกรกฎาคม 2024 YouTube ได้เปิดตัวตัวเลือกรูปแบบเสียงคุณภาพสูงเพิ่มเติม Opus 256 kbit/s ให้กับสมาชิกYouTube Music Premium [ 64 ]
ตั้งแต่ปี 2016 WhatsAppใช้ Opus เป็นรูปแบบไฟล์เสียง[ 65 ]
ในช่วงต้นปี 2017 Signalได้เปลี่ยนจาก ตัวแปลงสัญญาณเสียง Speex ไปใช้ Opus เพื่อคุณภาพเสียงที่ดีขึ้น
ในปี 2018 SoundCloudเปลี่ยนจาก MP3 เป็น Opus ซึ่งช่วยลดแบนด์วิดท์ที่จำเป็นสำหรับการสตรีมเพลงลงครึ่งหนึ่ง[ 66 ]
ในเดือนมกราคม 2021 Vimeoได้นำ Opus เข้าสู่แพลตฟอร์มวิดีโอของตน[ 67 ]
ในปี 2021 เว็บไซต์ข่าวZetland ของเดนมาร์ก ได้เปลี่ยนจาก MP3 เป็น Opus สำหรับการบันทึกเสียงบทความ ซึ่งส่งผลให้แบนด์วิดท์ลดลง 35 เปอร์เซ็นต์และลดผลกระทบต่อสภาพภูมิอากาศ[ 68 ] [ 69 ]
การสนับสนุนระบบปฏิบัติการ
ซอฟต์แวร์สำหรับผู้ใช้ปลายทางส่วนใหญ่อาศัยเฟรมเวิร์กมัลติมีเดียที่ระบบปฏิบัติการ จัดหาให้ การสนับสนุนโคเด็ก Opus ดั้งเดิมถูกนำไปใช้ในเฟรมเวิร์กมัลติมีเดียหลักส่วนใหญ่สำหรับระบบปฏิบัติการแบบ Unix รวมถึง ไลบรารีGStreamer , FFmpegและLibav [ 70 ] [ 71 ] [ 72 ]
คอนเทนเนอร์ WebMส่วน.webmใหญ่ใช้ในแพลตฟอร์มวิดีโอออนไลน์ (เช่นYouTube ) และโดยทั่วไประบบปฏิบัติการและโปรแกรมเล่นมีเดียจะถือว่าเป็นไฟล์วิดีโอ แม้ว่าไฟล์ WebM จะมีเฉพาะเสียง Opus และ ไม่มีวิดีโอ แต่โปรแกรมเล่นเพลงบางโปรแกรมก็ไม่รู้จักไฟล์ WebM ว่าเป็นไฟล์เสียงและไม่รองรับการอ่านข้อมูลเมตาของไฟล์[ 73 ]
คอนเทนเนอร์Ogg เป็น รูป.opusแบบที่นิยมใช้สำหรับไฟล์เสียงอย่างเดียว และโปรแกรมเล่นมีเดียส่วนใหญ่รองรับเมตาเดตาของไฟล์เสียงที่ติดแท็กในรูปแบบ ความคิดเห็นของ Vorbis
Googleเพิ่มการรองรับการเล่นเสียง Opus ในAndroid 5.0 "Lollipop" [ 74 ] อย่างไรก็ตามการรองรับนั้นจำกัดเฉพาะเสียง Opus ที่ห่อหุ้มด้วยคอนเทนเนอร์MatroskaและWebMเช่น.mkvไฟล์.mkaและ[ 75 ] [ 76 ] Android 7.0 "Nougat"ได้เพิ่มการรองรับเสียง Opus ที่ห่อหุ้มด้วยคอนเทนเนอร์Ogg [ 77 ] ในที่สุด Android 10ก็ได้เพิ่มการรองรับส่วนขยาย แบบเน ที ฟ [ 78 ].webm.opus
เนื่องจากการเพิ่ม การรองรับ WebRTC ใน เอ็นจิ้นการเรนเดอร์WebKitของ Apple ทำให้ macOS High SierraและiOS 11ได้รับการปล่อยออกมาพร้อมกับการรองรับการเล่นเสียง Opus แบบเนทีฟที่บรรจุอยู่ในคอนเทนเนอร์Core Audio Format [ 79 ] macOS Sonomaเพิ่มการรองรับเสียง Opus แบบโมโนและสเตอริโอที่บรรจุอยู่ในคอนเทนเนอร์ MPEG-4 และ WebM ในSafari [ 80 ] [ 81 ] Safari 18.4 เพิ่มการรองรับโคเด็ก Opus และ Vorbis ที่มีคอนเทนเนอร์ Ogg เมื่อใช้macOS Sequoia 15.4 หรือ iOS 18.4 ขึ้นไป[ 82 ] [ 83 ]
ในWindows 10เวอร์ชัน1607ไมโครซอฟต์ได้ให้การสนับสนุนแบบเนทีฟสำหรับเสียง Opus ที่ห่อหุ้มอยู่ในคอนเทนเนอร์MatroskaและWebM [ 84 ]ในเวอร์ชัน1709การสนับสนุนเสียง Opus ที่ห่อหุ้มอยู่ใน คอนเทนเนอร์ Oggได้ถูกทำให้ใช้งานได้ผ่านส่วนเสริมที่ติดตั้งไว้ล่วงหน้าชื่อ Web Media Extensions [ 85 ]ใน Windows 10 เวอร์ชัน1903.opusได้มีการเพิ่มการสนับสนุนแบบเนทีฟสำหรับส่วนขยายนี้[ 78 ]ในWindows 8.1และเวอร์ชันเก่ากว่านั้น มีตัวถอดรหัสของบุคคลที่สาม เช่นLAV Filtersที่พร้อมใช้งานเพื่อให้การสนับสนุนรูปแบบนี้[ 86 ]การอัปเดต Windows 10 และ 11 ในเดือนมกราคม 2024 ทำให้ File Explorer ค้างเมื่อเปลี่ยนชื่อหรือลบไฟล์ Ogg (รวมถึง .oga, .ogg, .ogm, .ogv, .ogx, .opus) เนื่องจากข้อบกพร่องที่เกี่ยวข้องกับ ส่วนขยายเชลล์ MF Media Source Pack Property Handlerของ Microsoft และ แพ็คเกจ Web Media Extensionsใน Windows ซึ่งไม่ได้ถูกแก้ไขก่อนที่จะมีการเผยแพร่การอัปเดต Windows [ 87 ]
iOS 17รองรับการเข้ารหัสและถอดรหัสโคเดก Opus โดยตรงผ่าน เฟรมเวิร์ ก AudioToolbox ของระบบปฏิบัติการ รองรับการเล่น ไฟล์ Oggใน คอนเทนเนอร์ผ่านแอปพลิเคชัน Filesนอกจากนี้ Opus ยังรองรับใน คอนเทนเนอร์ Core Audio Format , คอนเทนเนอร์ QuickTimeและคอนเทนเนอร์ รูปแบบไฟล์ ISOBMFFหรือMP4 อีกด้วย [หมายเหตุ 3 ]เนื่องจากเฟรมเวิร์ก AudioToolbox ใช้ร่วมกับmacOSดังนั้นควรมีการรองรับที่คล้ายกันในทั้งสองระบบปฏิบัติการเมื่อมีการพัฒนาต่อไป[ 89 ]ในปี 2024 Apple Podcastsยังไม่รองรับ Opus [ 90 ].opus.caf.mov.mp4
| วินโดวส์ | ระบบปฏิบัติการ macOS | ลินุกซ์ | แอนดรอยด์ | แอป iOS | |
|---|---|---|---|---|---|
| การรองรับโคเดค | ใช่บางส่วน : Windows 10 เวอร์ชัน 1607, 1709, 1809 เต็มรูปแบบ : Windows 10 เวอร์ชัน 1903 | ใช่บางส่วน : macOS High Sierra (10.13) เต็ม : macOS Sonoma (14.0) | ใช่ | ใช่บางส่วน : Android 5, 6, 7 เต็มรูปแบบ : Android 10 | ใช่บางส่วน : iOS 11 เต็ม : iOS 17 |
| การรองรับคอนเทนเนอร์ | บน Windows 10 Anniversary Update (1607) : WebM (.webm ไม่ได้รับการยอมรับ ต้องใช้ส่วนขยายเสมือน) Matroska (.mka, .mkv) บน Windows 10 Fall Creators Update (1709) พร้อมส่วนเสริม Web Media Extensions : Ogg (.opus ไม่ได้รับการยอมรับ ต้องใช้ส่วนขยายเสมือน) [หมายเหตุ 4 ] บน Windows 10 October 18 Update (1809) : รองรับ ไฟล์ WebM (.webm ได้รับการยอมรับอย่างเป็นทางการ) บน Windows 10 เวอร์ชันอัปเดตเดือนพฤษภาคม 2019 (1903) : ไฟล์ Ogg (.opus, .oga, .ogg) (.opus ได้รับการยอมรับอย่างเป็นทางการ) | บนmacOS High Sierra : รูปแบบไฟล์เสียงหลัก (.caf) บนmacOS Monterey : WebM (.webm; การสนับสนุนแบบทดลอง) [ 92 ] [ 93 ] บนmacOS Sonoma : MPEG-4 แบบโมโนและสเตอริโอ และWebM (.webm) [ 80 ] [ 81 ] บนmacOS Sequoia : รองรับคอนเทนเนอร์ Ogg ใน Safari 18.4 และเวอร์ชันที่ใหม่กว่า[ 82 ] [ 83 ] | Ogg (.opus) WebM (.webm) Matroska (.mka, .mkv) MPEG-TS (.ts) | บนAndroid 5 : WebM (.webm) Matroska (.mka, .mkv) บนAndroid 7 : Ogg (.oga, .ogg) (.opus ไม่ได้รับการยอมรับ ต้องใช้ส่วนขยายเสมือน) [หมายเหตุ 4 ] บนAndroid 10 : Ogg (.opus, .oga, .ogg) (.opus ได้รับการยอมรับอย่างเป็นทางการ) MP4 (.mp4) (รวมถึงวิดีโอAV1 ) | บนiOS 17และเวอร์ชันที่ใหม่กว่า : รองรับการเล่นผ่านแอป Files ; รองรับOggเป็นไฟล์ .opus; รองรับใน รูปแบบ MP4แบบเดี่ยวๆ[หมายเหตุ 3 ]หรือแบบผสมผสานกับตัวแปลงสัญญาณวิดีโอที่รองรับอย่างเป็นทางการ; รองรับแบบเดี่ยวๆ และแบบผสมผสานที่ขยายเพิ่มเติมแต่ยังไม่ได้รับการสนับสนุนอย่างเป็นทางการใน รูปแบบ MOV ; รองรับแบบเดี่ยวๆ ในCAF บนiOS 18.4และเวอร์ชันที่ใหม่กว่า : รองรับคอนเทนเนอร์ Ogg ใน Safari 18.4 และเวอร์ชันที่ใหม่กว่า[ 82 ] [ 83 ] |
| หมายเหตุ | บน Windows 10 และWindows 11 : – ณ เดือนมิถุนายน 2023 Windows Media Player (2022)ไม่รองรับแทร็กเสียง Opus ที่มาพร้อมกับวิดีโอในคอนเทนเนอร์ MP4 [ 94 ] บนWindows 10 : – ในAnniversary Update (1607) มีการสนับสนุนแบบจำกัดในMicrosoft Edge (ผ่านMSEเท่านั้น) และแอปUniversal Windows Platform Windows Media Playerไม่รองรับ Ogg รองรับเฉพาะ WebM และ Matroska เท่านั้น– ในApril 2018 Update (1803) ที่มี การติดตั้ง Web Media Extensionsไว้ล่วงหน้า Microsoft Edge (EdgeHTML 17) รองรับเสียง Opus ที่ฝังอยู่ในแท็ก <audio> – จนถึง October 2018 update (1809) นามสกุลไฟล์ .opus ยังไม่ได้รับการยอมรับ (ให้แทนที่ด้วยนามสกุลไฟล์เสมือน เช่น .m4a) [ 91 ] สำหรับWindows 8.1และเวอร์ชันเก่ากว่า : – ต้องติดตั้งเฟรมเวิร์กมัลติมีเดียจากผู้พัฒนาภายนอก คือLAV Filters | ใน Safari 15 Apple ได้เพิ่มการรองรับเสียง Opus ในคอนเทนเนอร์ WebM การรองรับแบบทดลองมีเฉพาะใน macOS เท่านั้น[ 95 ] | ไม่มีข้อมูล | – จนถึง Android 9 ส่วนขยายชื่อไฟล์ .opus ไม่ได้รับการยอมรับ (ให้แทนที่ด้วยส่วนขยายไฟล์เสมือน เช่น .ogg หรือ .m4a) [ 77 ] | – ในช่วงแรกที่เปิดตัวใน iOS 11 รองรับเฉพาะไฟล์เสียง Opus ที่มีอัตราบิตคงที่ในคอนเทนเนอร์ CAF เท่านั้น – ใน Safari 15 Apple ได้เพิ่มการรองรับเสียง Opus ในคอนเทนเนอร์ WebM อย่างไรก็ตาม ฟังก์ชันนี้ใช้งานไม่ได้ใน iOS 15 ณ เดือนกันยายน 2021 [ 96 ] – ใน iOS 17 ได้มีการเพิ่มการรองรับการเล่นไฟล์ .opus แบบมัลติแชนเนลที่มีบิตเรตแปรผันผ่านQuick Lookในแอป Files โดยตรง นอกจากนี้ยังรองรับโคเด็กนี้โดยอัตโนมัติหากไฟล์นั้นถูกห่อหุ้มด้วย ISOBMFF/MP4, CAF หรือ MOV – ใน iOS 17 มีการรองรับ WebM ใน Safari แต่ใน Files ยังไม่มี – นอกจากนี้ Opus ยังสามารถใช้งานร่วมกับไฟล์ MP4 ร่วมกับตัวแปลงสัญญาณวิดีโอใดๆ ที่อุปกรณ์รองรับได้อีกด้วย |
รองรับเครื่องเล่นมีเดีย
ในขณะที่การสนับสนุนในเฟรมเวิร์กมัลติมีเดียทำให้ซอฟต์แวร์ที่สร้างขึ้นบนเฟรมเวิร์กดังกล่าวรองรับ Opus โดยอัตโนมัติ นักพัฒนาแอปพลิเคชันหลายรายได้พยายามเพิ่มเติมเพื่อสนับสนุนรูปแบบเสียง Opus ในซอฟต์แวร์ของตน การสนับสนุนดังกล่าวได้ถูกเพิ่มเข้าไปในAIMP [ 97 ] Amarok [ 98 ] cmus, Music Player Daemon, foobar2000 [ 99 ] Mpxplay , MusicBee [ 100 ] SMplayer , VLC media player [ 101 ] Winamp [ 102 ]และXMPlay audio players ; Icecast [ 103 ] Airtime (ซอฟต์แวร์) [ 104 ] ซอฟต์แวร์สตรีมมิ่งเสียง ; และAsunder audio CD ripper , CDBurnerXP CD burner , FFmpeg, Libav และMediaCoderเครื่องมือเข้ารหัสสื่อ การทดลองใช้งานวิทยุสตรีมมิ่ง Icecast เปิดใช้งานมาตั้งแต่เดือนกันยายน พ.ศ. 2555 และมกราคม พ.ศ. 2556 [ 105 ] [ 106 ] SteamOSใช้ Opus หรือ Vorbis สำหรับการสตรีมเสียง[ 107 ]
การรองรับเบราว์เซอร์
การสนับสนุน Opus เป็นสิ่งจำเป็นสำหรับการใช้งานWebRTC [ 108 ] Opus ได้รับการสนับสนุนในMozilla Firefox [ 109 ] Chromiumและ Google Chrome [ 110 ] Operaที่ใช้Blink [ 111 ] [ 112 ]รวมถึงเบราว์เซอร์ทั้งหมดสำหรับ ระบบ ที่คล้าย Unixที่ใช้GStreamer สำหรับการ สนับสนุน รูปแบบมัลติมีเดีย แม้ว่าInternet Explorer จะไม่รองรับการเล่น Opus โดยตรง แต่ เบราว์เซอร์ Edgeได้รวมการสนับสนุนรูปแบบนี้ไว้แล้วพร้อมกับVP9เพื่อการสนับสนุนWebM อย่างเต็มรูปแบบ [ 113 ] [ 114 ] Safari รองรับ Opus ตั้งแต่ iOS 11 และ macOS High Sierra [ 115 ]
การสนับสนุน VoIP
เนื่องจากความสามารถของ Opus ทำให้ได้รับความสนใจจาก ผู้จำหน่ายซอฟต์แวร์ Voice over IP (VoIP) ในช่วงแรก ไคลเอนต์ SIP หลายตัว รวมถึงAcrobits Softphone , CSipSimple (ผ่านปลั๊กอินเพิ่มเติม), Empathy (ผ่าน GStreamer), Jitsi , [ 116 ] Tuenti , [ 117 ] Line2 (ปัจจุบันใช้งานได้เฉพาะบนiOS ), [ 118 ] Linphone , [ 119 ] PhonerและPhonerLite , [ 120 ] SFLphone , [ 121 ] Telephone, Mumble , Discord [ 9 ]และ ซอฟต์แวร์แชทด้วยเสียง TeamSpeak 3ก็รองรับ Opus เช่นกัน[ 122 ] [ 123 ] [ 124 ] TrueConf รองรับ Opus ในผลิตภัณฑ์ VoIP ของตน[ 125 ] Asteriskขาดการสนับสนุน Opus ในตัวเนื่องจากเหตุผลทางกฎหมาย[ 126 ]แต่มีแพทช์จากบุคคลที่สามให้ดาวน์โหลด[ 127 ]และมีการเพิ่ม การสนับสนุนอย่างเป็นทางการผ่าน ไบนารีบล็อบ ในเดือนกันยายน 2016 [ 128 ]ซอฟต์แวร์การประชุมทางวิดีโอแบบ P2P Toxใช้ Opus เพียงอย่างเดียว[ 129 ]แอปส่งข้อความแบบกระจายโฆษณาจะส่งเฟรม Opus ดิบภายในซ็อกเก็ต TLS ในการใช้งาน VoIP [ 130 ]
Opus ถูกใช้กันอย่างแพร่หลายในฐานะตัวแปลงสัญญาณเสียงในWhatsApp [ 10 ] [ 12 ] [ 11 ]ซึ่งมีผู้ใช้ทั่วโลกกว่า 1.5 พันล้านคน[ 131 ] WhatsApp ใช้ Opus ที่อัตราการสุ่มตัวอย่าง 8–16 kHz [ 10 ] [ 11 ] ร่วมกับReal - time Transport Protocol ( RTP ) [ 12 ]เครื่องเล่นเกม PlayStation 4ก็ใช้ตัวแปลงสัญญาณ CELT/Opus สำหรับระบบแชทกลุ่มPlayStation Network เช่นกัน [ 13 ] Source Engineใช้ Opus สำหรับระบบแชทด้วยเสียง[ 132 ]นอกจากนี้ยังใช้ในแอปพลิเคชันการประชุมทางวิดีโอ Zoom อีกด้วย[ 133 ]
ฮาร์ดแวร์
ตั้งแต่เวอร์ชัน 3.13 เป็นต้นไปRockboxช่วยให้สามารถเล่นไฟล์ Opus บนเครื่องเล่นสื่อพกพา ที่รองรับได้ รวมถึงผลิตภัณฑ์บางรุ่นจาก ซีรีส์ iPodของAppleอุปกรณ์ที่ผลิตโดยiriver , ArchosและSandiskและบน อุปกรณ์ Androidโดยใช้ "Rockbox เป็นแอปพลิเคชัน" [ 134 ] [ 135 ]โทรศัพท์ IP Grandstream รุ่นล่าสุดทั้งหมด รองรับเสียง Opus ทั้งการเข้ารหัสและการถอดรหัส โทรศัพท์ IP OBihai OBi1062, OBi1032 และ OBi1022 ทั้งหมดรองรับ Opus ลำโพงไร้สาย BlueSound รุ่นล่าสุดรองรับการเล่นไฟล์ Opus [ 136 ]อุปกรณ์ที่ใช้ Hiby OS เช่น Hiby R3 สามารถถอดรหัสไฟล์ Opus ได้โดยตรง
ตัวแปลงสัญญาณ IP สำหรับการออกอากาศจำนวนมากมี Opus เช่นที่ผลิตโดยComrex , GatesAirและ Tieline [ 137 ]
Sony PlayStation 5รองรับการบันทึกภาพความละเอียด 1080p และ 2160p โดยใช้ไฟล์วิดีโอ VP9 และไฟล์เสียง Opus ในคอนเทนเนอร์ WebM [ 138 ] [ 139 ]
Android 13รองรับ Opus เป็นโคเด็กหูฟังบลูทูธ (A2DP) เนื่องจากมีความหน่วงต่ำ ซึ่งมีความสำคัญสำหรับเสียงรอบทิศทางที่ติดตามศีรษะ Google Pixel Buds Pro รองรับโคเด็ก A2DP นี้[ 140 ]
ข้อเรียกร้องสิทธิบัตร
เนื่องจากเป็นมาตรฐานแบบเปิด อัลกอริทึมจึงได้รับการจัดทำเอกสารอย่างเปิดเผย และ มีการเผยแพร่ การใช้งานอ้างอิง (รวมถึงซอร์สโค้ด ) Broadcomและมูลนิธิ Xiph.Org เป็นเจ้าของสิทธิบัตรซอฟต์แวร์ในอัลกอริทึม CELT บางส่วน และSkype Technologies /Microsoft เป็นเจ้าของในอัลกอริทึม SILK บางส่วน โดยแต่ละบริษัทเสนอใบอนุญาตถาวรแบบไม่เสียค่าลิขสิทธิ์สำหรับการใช้งานร่วมกับ Opus โดยสงวนสิทธิ์เพียงในการใช้สิทธิบัตรของตนเพื่อป้องกันการฟ้องร้องละเมิดสิทธิบัตรจากบุคคลที่สามQualcomm , Huawei , France TelecomและEricssonอ้างว่าสิทธิบัตรของตนอาจนำมาใช้ได้ ซึ่งที่ปรึกษาทางกฎหมายของ Xiph ปฏิเสธ และไม่มีบริษัทใดดำเนินการทางกฎหมายใดๆ[ 8 ] [ 141 ]ใบอนุญาต Opus จะสิ้นสุดลงโดยอัตโนมัติและมีผลย้อนหลังสำหรับหน่วยงานใดๆ ที่พยายามฟ้องร้องละเมิดสิทธิบัตร
Vectis จำหน่ายแพ็กเกจของกลุ่มสิทธิบัตรที่อ้างว่าใช้ได้กับตัวแปลงสัญญาณ Opus [ 142 ]กลุ่มสิทธิบัตร Opus บริหารจัดการโดย Vectis และประกอบด้วยสิทธิบัตรหลายชุดที่เป็นของ Dolby, Fraunhofer และ NTT Vectis เคยมีข้อพิพาทกับ Epson และจบลงด้วยข้อตกลง[ 143 ]ข้อพิพาททางกฎหมายที่แท้จริงของ Vectis คือการฟ้องร้อง Acer [ 144 ]
ดูเพิ่มเติม
- การเปรียบเทียบรูปแบบการเข้ารหัสเสียง
- FLAC ( /flæk/ ; Free Lossless Audio Codec)
- สื่อสตรีมมิ่ง
- xHE-AAC
หมายเหตุ
- ^ไม่ได้ใช้งานโดยค่าเริ่มต้นตั้งแต่เวอร์ชัน 1.3
- ^ Opus ตัดเสียงที่มีความถี่สูงกว่า 20 kHz ซึ่งเป็นขีดจำกัดสูงสุดที่ยอมรับกันโดยทั่วไปของช่วงการได้ยิน ของ มนุษย์
- ^ a b Opus จะทำงานแบบสแตนด์อโลนบน iOS 17 ในรูปแบบ ISOBMFF/MP4 ได้ก็ต่อเมื่อ "เวอร์ชันหลัก" "แบรนด์" หรือ "ftype" ของคอนเทนเนอร์ไม่ใช่" M4A" เท่านั้น iOS คาดหวังว่าไฟล์เสียงจะใช้
.m4aส่วนขยาย[ 88 ]ซึ่งส่งผล.mp4ต่อไฟล์วิดีโอ ดังนั้นการเล่นจะแสดงแทร็กวิดีโอว่างเปล่าแม้ว่าจะไม่มีแทร็กวิดีโออยู่ในคอนเทนเนอร์ก็ตาม อย่างไรก็ตาม การเปลี่ยนชื่อ.mp4ไฟล์.m4aจะทำงานได้ตามที่คาดไว้ - ^ a bบน Android 9 และ Microsoft Windows 10 (1809)
.opusส่วนขยายชื่อไฟล์ไม่ได้รับการยอมรับโดยบริการ MediaScanner ของ Android และ แอป Universal Windows Platform จำเป็นต้องใช้ ส่วนขยายเสมือนของรูปแบบเสียงอื่น (เช่น.oggหรือ.m4a) เพื่อตรวจจับและเล่นไฟล์[ 77 ] [ 91 ]
ลิงก์ภายนอก
- เว็บไซต์อย่างเป็นทางการ
- Opus บนฐานข้อมูลความรู้ของ Hydrogenaudio
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ โอปุส (รูปแบบเสียง)
Opusเป็นรูปแบบการเข้ารหัสเสียงแบบสูญเสีย ข้อมูลแบบโอเพ นซอร์สและฟรี ที่พัฒนาโดยมูลนิธิ Xiph.Orgและได้รับการกำหนดมาตรฐานโดยInternet Engineering Task
คุณสมบัติ
Opus รองรับ การเข้ารหัสบิตเรต คงที่ และ แปรผัน ตั้งแต่ 6 กิโลบิต /วินาที ถึง 510 กิโลบิต/วินาที (หรือสูงสุด 256 กิโลบิต/วินาที ต่อช่องสัญญาณสำหรับแทร็กหลายช่องสัญญาณ) ขนาดเฟรมตั้งแต่ 2.
คอนเทนเนอร์
แพ็กเก็ต Opus ไม่ได้กำหนดขอบเขตด้วยตนเอง แต่ได้รับการออกแบบมาเพื่อใช้ภายใน คอนเทนเนอร์ บางประเภทซึ่งจัดเตรียมความยาวของแต่ละแพ็กเก็ตให้กับตัวถอดรหัส Opus เดิมทีถูกกำหนดไว้สำหรับการห่อหุ้มใน คอนเทนเนอร์ Ogg ซึ่งระบุไว้เป็น และสำหรับ ไฟล์ audio/ogg; codecs=opus...
แบนด์วิดท์และอัตราการสุ่มตัวอย่าง
Opus อนุญาตให้ใช้แบนด์วิดท์ต่อไปนี้ในระหว่างการเข้ารหัส การบีบอัด Opus ไม่ขึ้นอยู่กับอัตราการสุ่มตัวอย่างอินพุต การประทับเวลาจะวัดเป็นหน่วย 48 kHz แม้ว่าจะไม่ได้ใช้แบนด์วิดท์ทั้งหมดก็ตาม ในทำนองเดียวกัน อัตราการสุ่มตัวอย่างเอาต์พุตสามารถเลือกได้อย่างอิสระ...