Opus (音訊格式)

}}

Opus 是一個有損音訊壓縮的數位音訊編碼格式，由 Xiph.Org 基金會開發，之後由網際網路工程任務組（IETF）進行標準化，目標是以單一格式對語音和一般音訊進行高效編碼，確保音質同時保持足夠低的延遲以實現即時互動通訊，並且對於低端嵌入式處理器來說有足夠低的複雜性，適用於網路上低延遲的即時聲音傳輸，取代 Speex 和 Vorbis，標準格式定義於 RFC 6716 檔案。Opus 格式是一個開放格式，使用上沒有任何專利或限制。

Opus 整合了兩種聲音編碼的技術：以語音編碼為導向的 SILK 和低延遲的 CELT。Opus 可以無縫調節高低位元率。在編碼器內部它在較低位元率時使用線性預測編碼在高位元率時候使用變換編碼（在高低位元率交界處也使用兩者結合的編碼方式）。Opus 具有非常低的演演算法延遲（預設為 22.5 ms），非常適合用於低延遲語音通話的編碼，像是網路上的即時聲音串流、即時同步聲音旁白等等，此外 Opus 也可以透過降低編碼位元率，達成更低的演演算法延遲，最低可以到 5 ms。在多個聽覺盲測中，Opus 都比 MP3、AAC、HE-AAC 等常見格式，有更低的延遲和更好的聲音壓縮率。

Opus 在 Discord、WhatsApp 等應用程式中廣泛用作 IP 語音（VoIP）的編解碼器。

技術特性

Opus 可以處理各種音訊應用，包括 IP 語音、視訊會議、遊戲內聊天、串流音樂、甚至遠端現場音樂表演。它可以從低位元率窄帶語音擴充套件到非常高音質的立體聲音樂。支援的功能包括：

6 kb / 秒到 510 kb / 秒的位元率；單一頻道最高 256 kb / 秒
取樣率從 8 kHz（窄帶）到 48 kHz（全頻）
幀大小從 2.5 毫秒到 60 毫秒
支援恆定位元率（CBR）、受約束位元率（CVBR）和可變位元率（VBR）
支援語音（SILK 層）和音樂（CELT 層）的單獨或混合模式
支援單聲道和立體聲；支援多達 255 個音軌（多資料流的幀）
可動態調節位元率，音訊頻寬和幀大小
良好的魯棒性丟失率和資料包丟失隱藏（PLC）
浮點和定點實現

開發歷史

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 內開發和規範寬頻音訊格式。之後一年內，在是否要建立 IETF 工作組方面發生了巨大辯論。。參與專利保護競爭格式標準化的幾家公司的代表表示反對開始免版稅格式的標準化過程，其中包括 G.719 的創始人和許可人 Polycom 和愛立信，以及 G.718 的建立者法國電信，華為和橙色實驗室（法國電信部門）。

2010 年 2 月，工作組正式建立。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）。

2.1 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 工作。

2.2 1.2

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

2.3 1.3

libopus 1.3 於 2018 年 10 月 18 日發布。 Opus 1.3 主要版本再次帶來品質改進、新功能和錯誤修復。自 1.2.x 以來的變化包括：

使用迴圈神經網路 (RNN) 改進語音偵測和語音 / 音樂分類
支援使用通道對映系列 2 和 3 的 Ambisonics 編碼
改進低位元率下立體聲語音的效果
在 9 kbit/s 的位元率下使用寬頻語音編碼（不再使用中帶）
使 SILK 的位元率可降至 5 kbit/s
音調品質略有改善
預設啟用 中的規格修復
安全 / 強化改進

值得注意的錯誤修復包括：

對 CELT PLC 的修復
頻寬偵測修復

音質和低延遲比較

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 版的條款下使用。

4.1 實作

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

4.2 軟體

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

自 2016 年以來，WhatsApp 一直使用 Opus 作為其音訊檔案格式。

Signal 在 2017 年初從 Speex 切換到 Opus 音訊編解碼器，以提供更好的音訊質量。

2018 年，SoundCloud 從 MP3 切換到 Opus，將音樂流媒體所需的頻寬減少了一半。

2021 年 1 月，Vimeo 將 Opus 引入其影片平臺。

4.2.1 作業系統支援

大多數終端使用者軟體依賴於作業系統提供的多媒體框架。Native Opus 編解碼器支援在類 Unix 作業系統的大多數主要多媒體框架中實現，包括 GStreamer，FFmpeg 和 Libav 庫。

谷歌在 Android 5.0（“Lollipop”）中添加了對 Opus 音訊播放的原生支援。將載體限定，然而，對作品的音訊包封在 Matroska 的容器，如.mkv 和.webm 檔案。Android 6.0（“Marshmallow”）和 Android 7.0（“Nougat”）增加了對封裝在 Ogg 容器中的 Opus 音訊的支援。

由於在 Apple 的 WebKit 渲染引擎中增加了 WebRTC 支援，macOS High Sierra 和 iOS 11 為封裝在核心音訊格式 (Core Audio Format) 容器中的 Opus 音訊提供原生播放支援。

在 Windows 10 上，Microsoft 為封裝在 Matroska 中的 Opus 音訊和 Windows 10 週年更新（1607）裝置的 WebM 檔案提供本機支援。 Web Media Extensions 提供了對封裝在 Ogg 容器中的 Opus 音訊的支援，Web Media Extensions 是 Windows 10 Fall Creators Update（1709）裝置的可選附件。在 Windows 8.1 及更早版本中，第三方解碼器（如 LAV 過濾器）可用於提供有限的支援。

4.2.2 媒體播放器支援

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

4.2.3 瀏覽器支援

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

4.2.4 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 / 電視劇編解碼器，其系統黨的聊天。

4.3 硬體

從版本 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 播放。