Opus (音频格式)

開發歷史

Opus被提出用於在IETF上標準化新的音訊格式，最終被IETF編解碼器工作組接受和授予。它基於Xiph.Org基金會和Skype技術公司兩項最初分開的標準提案。其主要開發人員包括Jean-Marc Valin（Xiph.Org，Octasic，Mozilla Corporation），Koen Vos（Skype）和Timothy B. Terriberry（Xiph.Org，Mozilla Corporation）。其中包括Juin-Hwey（Raymond）Chen（Broadcom），Gregory Maxwell（Xiph.Org，Wikimedia）和Christopher Montgomery（Xiph.Org）也參與其中。
CELT的發展部分格式可以追溯到Vorbis的繼任者的工作名稱Ghost下。作為Xiph.Org基金會的新一代語音編解碼器，Opus取代了Xiph的較早的語音編解碼器Speex，該版本是Jean-Marc Valin先前的一個項目。CELT自2007年11月起開始工作。
SILK部分自2007年1月起一直在Skype開發，作為其SVOPC的繼任者，該公司是一個內部項目，使公司獨立於iSAC和iLBC等第三方編解碼器和相應的許可證付款。
2009年3月，Skype建議在IETF內開發和規範寬帶音訊格式。近一年來，成立了一個適當的工作組，進行了大量辯論。參與專利保護競爭格式標準化的幾家公司的代表表示反對開始免版稅格式的標準化過程：Polycom和愛立信的代表（G.719的創始人和許可人）以及法國電信，華為和橙色實驗室（法國電信部門），參與創建G.718。
2010年7月，提出了一種混合格式的原型，將兩種提出格式的候選者SILK和CELT相結合。2010年9月，Opus作為標準化提案提交給IETF。在短時間內，格式在2010年10月獲得現有名稱之前，以Harmony的名義出現。2011年2月初，位元流格式暫時凍結，但有待最後更改。2011年7月底，Jean-Marc Valin被Mozilla公司僱用，繼續開發Opus。2011年11月，工作組最近發出了關於位元流格式的更改的通知。位元流自2012年1月8日以來已被凍結。2012年7月2日，Opus被IETF批准用於標準化。參考軟體中輸入8月8日發布的候選狀態最後的規範發布的RFC 6716於2012年9月10日，和版本為1.0和1.0.1 參考實現被釋放一天之後。
2013年7月11日，Opus 1.0.3帶來了錯誤修復和一個新的Surround聲音API，可以提高音軌分配和品質，特別是低頻音軌（LFE）。

1.1

2013年12月5日，Opus 1.1發布，整體速度提升和顯著的編碼器品質改進：調諧估計提高了以前有問題的樣本的位元速率和品質（如大鍵）、自動語音/音樂檢測提高了混合音訊的品質、中端立體聲降低了許多歌曲的位元速率需求、提高瞬態帶寬精度、以及DC抑制低於3 Hz。增加了兩種新的VBR模式：不受限制的更一致的品質以及時間VBR，可以提升響亮的畫面，並通常提高畫質。
Opus 1.1.1於2015年11月26日發布，並於2016年1月12日發布了1.1.2，同時增加了速度最佳化和錯誤修復。2016年7月15日發布版本1.1.3，並包含錯誤修復、最佳化、文件更新和實驗性的Ambisonics工作。

1.2

2017年6月26日，Opus 1.2.1版本發布，精簡了音訊檔體積，改善了音訊品質，增強了部分情況下的安全性，編解碼器效率提升。準備推動RFC 6716標準更新，標準未更新之前繼續相容RFC 6716。此版本也帶來了面向VR的立體聲音訊解決方案。

音質和低延遲比較

Opus在更高的位元速率下，已被證明具有優異的音質，而它的音訊格式比AAC、HE-AAC和Vorbis更具有競爭力。
在64kbit / s的聽力測試中，與HE-AAC編解碼器相比，Opus表現出更優異的音質，HE-AAC由於使用了專利的頻譜帶複製（SBR）技術，這些編解碼器在以前占主導地位。在96 kbit / s的聽力測試中，Opus顯示出比Vorbis略高的音質，與AAC和MP3相比音質明顯更好。
Opus具有非常低的演算法延遲，作為低音訊延遲通訊鏈路一部分的必要性，可以在現場活動中允許自然對話，網路音樂表演或對嘴表演。音訊格式的總演算法延遲是無論處理速度和傳輸速度如編碼器和實況音訊流的解碼器必須承擔的延遲的總和，例如將音訊樣本緩衝到塊或影格中，允許窗口重疊和可能允許對噪聲整形在解碼器中先行和任何其他形式的先行的，或用於將MP3編碼器，使用的位元儲存器。
150毫秒以下的單向延遲是大多數VoIP系統的首選目標 ，使自然對話與轉向受到延遲的影響很小。音樂家通常會感覺到高達約30毫秒音訊延遲的時間，大致符合Haas效果的融合時間，儘管將每個用戶自己的樂器的播放延遲與往返延遲相符合也可以有所幫助。音訊╱影片同步，約45-100毫秒的音訊延遲可能是可以接受的。
Opus允許減少品質或提高位元速率以實現更小的演算法延遲（最小5.0 ms）。雖然參考實現的默認Opus影格為20.0 ms長，但SILK層需要進一步5.0 ms的前瞻加1.5 ms進行重採樣，默認延遲為26.5 ms。當CELT層處於活動狀態時，默認情況下，為了與SILK層同步，窗口重疊需要2.5 ms的前視，其中添加了4.0 ms的符合延遲。如果編碼器在特殊限制低延遲模式下實例化，則刪除4.0 ms符合延遲，並禁用SILK層，允許5.0 ms的最小演算法延遲。

部署與採用

格式和演算法是公開記錄的，參考實作是作為自由軟體發布的。Xiph的參考實現稱為libopus，一個名為opus-tools的包提供命令列編碼器和解碼器實用程序。它是根據BSD授權條款發布的。它是用C語言編寫的，可以針對具有或不具有浮點單元的硬體架構進行編譯。隨附的診斷工具opusinfo報告有關Opus檔案的詳細技術資訊，包括有關位元流格式標準符合性的資訊。它是基於ogginfo從因此，與編碼器和解碼器不同，vorbis-tools可以在GPL第2版​​的條款下使用。

實作

RFC 6716包含用C編寫的參考實現的完整原始碼。FFmpeg的項目和GStreamer的項目具有編碼器和解碼器的實現不是從參考庫的。libopus參照庫已作為名為Concentus的項目的一部分移植到C＃和Java。這些移植版本犧牲了效能，以便輕鬆整合到跨平台應用程序中。

軟體

該GatesAir Intraplex IP Link和Tieline廣播IP音訊編解碼器的梅林和精靈族和Tieline報告-IT移動編解碼器添加到嵌入式和行動裝置的作品的支援。Digital Radio Mondiale - AM頻率的數字無線電格式 - 可以使用Dream 軟體定義的無線電廣播和接收Opus音訊（儘管在官方標準中未被識別）。在維基媒體基金會贊助的免費和開源的在線的JavaScript作品編碼器，瀏覽器支援所需的HTML5功能。訊號從Speex切換到Opus音訊編解碼器，在2017年初提供更好的音訊品質。

媒體播放器支援

雖然多媒體框架中的支援自動支援Opus對基於此類框架構建的軟體的支援，但是一些應用程序開發人員為在其軟體中支援Opus音訊格式做出了額外的努力。這種支援被添加到AIMP， Amarok，cmus，音樂播放器守護進程，foob​​ar2000，Mpxplay，MusicBee，SMplayer，VLC多媒體播放器， Winamp 和Xmplay音訊播放器; Icecast，Airtime（軟體）音訊流軟體; 和Asunder音訊CD，CDBurnerXP CD刻錄機，FFmpeg，Libav和MediaCoder媒體編碼工具。流媒體Icecast無線電試驗自2012年9月和2013年1月開始實施。SteamOS使用Opus或Vorbis進行串流音訊。

瀏覽器支援

對於WebRTC實現，Opus支援是強制性的。Opus在Mozilla Firefox，Chromium和Google Chrome，基於Blink的Opera，以及依賴GStreamer支援多媒體格式的類Unix系統的所有瀏覽器中得到支援。雖然Internet Explorer不會本機提供Opus播放，但Microsoft Edge瀏覽器和VP9內置了對格式的支援，以提供完整的WebM支援。Safari支援iOS 11和MacOS High Sierra的Opus。

VoIP支援

由於其能力，Opus從VoIP軟體供應商那裡獲得了早期的興趣。幾個SIP客戶端，包括Acrobits Softphone，Bria X-Lite，CSipSimple（通過附加外掛程式），Empathy（通過GStreamer），Jitsi，Tuenti，Line2（目前僅在iOS上），Linphone，Phoner和PhonerLite，SFLphone，Mumble，Discord和TeamSpeak 3語音聊天軟體也支援Opus。TrueConf在其VoIP產品中支援Opus。由於法律原因，Asterisk缺乏內置的Opus支援，但第三方補丁可供下載並且2016年9月增加了通過二進制blob的官方支援。Tox P2P影片會議軟體使用Opus只。分類廣告分布式訊息傳遞應用程序在其VoIP實現中在TLS通訊端內發送原始opus影格。的PlayStation 4遊戲機也採用了CELT /電視劇編解碼器，其系統黨的聊天。

硬體

從版本3.13開始，Rockbox在支援的可攜式媒體播放器上播放Opus ，包括Apple的iPod系列產品，iriver，Archos和Sandisk製造的裝置，以及使用「Rockbox as a Application」的Android裝置。所有最近的Grandstream IP電話都支援Opus音訊編碼和解碼。OBihai OBi1062，OBi1032和OBi1022 IP電話全部支援Opus。最近的BlueSound無線揚聲器支援Opus播放。