オープンソースの非可逆音声圧縮フォーマット「Opus」がメジャーアップデートを行い、バージョンが「libopus 1.2」になりました。無料で5ms(ミリ秒)という低レイテンシを実現できるなどの特徴を持つOpusとは一体どんな音声圧縮コーデックなのか、前バージョンからの変更や新機能も踏まえてまとめました。

libopus 1.2 - Opus Codec

https://www.opus-codec.org/release/stable/2017/06/20/libopus-1_2.html



◆Opusとは?

Opusは完全オープン&ロイヤリティフリーで使用できる多用途向けの音声圧縮コーデックです。Opusはネット通話・音楽ストリーミング・ストリーミングアプリなどに適しており、Skypeの「SILKコーデック」と、Xiph.Org Foundationの「CELTコーデック」の技術を組み込んだ規格「RFC 6716」として、Internet Engineering Task Force(IETF)により標準化されています。

◆Opusの機能

OpusはVoice over IP(VoIP)、ビデオ会議、ゲーム内音声チャット、リモート音楽ライブなど、幅広いオーディオアプリケーションを扱うことが可能で、低ビットレート(最低5ms)の狭帯域の音声から、高音質のステレオ音楽まで用途は広範囲に及びます。超低レイテンシのOpusを利用することで、音声のストリーミングなどをシームレスに変更することが可能となります。

Opusがサポートしている機能は以下の通りです。

・ビットレート:6KB/秒〜510KB/秒

・サンプリングレート:8kHz(狭帯域)〜48kHz(全帯域)

・フレームサイズ:2.5ms〜60ms

・固定ビットレート(CBR)〜可変ビットレート(VBR)の両方をサポート

・音声周波数帯域:狭帯域〜全帯域

・スピーチと音楽をサポート

・ステレオとモノラルをサポート

・最大255の音声チャンネルをサポート(マルチストリームフレーム)

・動的にビットレート、音声周波数帯域、フレームサイズを調整可能

・損失の少ないロバスト性、パケット損失の少ない補間処理(PLC)

・浮動小数点と固定小数点の実装

◆libopus 1.2の新機能

・特に12〜20kbit/sでのスピーチの品質が向上

・ハイブリッドモードにおける可変ビットレートの性能が向上

・14 kbit/sから始まるフルバンドのスピーチを含む広範囲のスピーチの周波数帯域の使用

・32〜48kB/sにおける音楽の性能が向上

・Generic・SSE・CELTの最適化

・最大120msまでのパケットの直接エンコードをサポート

・CELTモードで不連続転送(DTX)をサポート

・SILK CBRの性能が向上

・バグの修正

◆デモサンプル

以下のページでは、何がどれくらい変わったのかを実際に体感できるサンプルが設置されています。「Music Samples」では、5つのコーデック(MP3・Opus 1.0・Opus 1.1・Opus 1.2・Uncompressed)と、4種類のビットレート(32kB/s・48kB/s・64kB/s・96kB/s)を切り替えて違いを聞き分けることが可能。「Speech Samples」では、5つのコーデック(Speex・Opus 1.0・Opus 1.1・Opus 1.2・Uncompressed)と、4種類のビットレート(12kB/s・16kB/s・24kB/s・32kB/s)を切り替えられるようになっています。

Opus 1.2 Released

https://people.xiph.org/~jm/opus/opus-1.2/