9.

Opusとは | IETF 2012、リアルタイム通信最強の低遅延コーデック

編集
この記事の要点
  • Opus は 2012 年に IETF が RFC 6716 として標準化したロイヤリティフリーの非可逆音声コーデック
  • Skype 起源の SILK(音声向け)と Xiph.Org の CELT(音楽向け)を統合し、6 kbps〜510 kbps の超広範囲に対応
  • 同じビットレートで MP3 / AAC / Vorbis を完全に凌駕する音質。特に 32-128 kbps 帯で圧倒的に優位
  • 極めて低遅延(最小 5 ms)で、Zoom、Discord、WhatsApp、Telegram、Microsoft Teams などのリアルタイム通信に標準採用
  • YouTube、Spotify、Netflix も部分的に採用。WebRTC の必須コーデック
  • 通常は Ogg コンテナに格納され拡張子は .opus、WebM コンテナにも入る。マジック(Ogg)は 4F 67 67 53

概要

Opus は 2012 年 9 月に IETF(Internet Engineering Task Force)が RFC 6716 として標準化した、完全にロイヤリティフリーの非可逆音声コーデックです。Xiph.Org Foundation、Skype(現在は Microsoft 傘下)、Mozilla、Broadcom などの共同作業によって生まれ、Vorbis や Speex の後継として位置づけられています。

最大の特徴は、Skype が開発した音声特化コーデック「SILK」と、Xiph.Org が開発した音楽特化コーデック「CELT」を統合したハイブリッド構造です。エンコーダは入力信号の性質(音声か音楽か)を自動判定し、低ビットレートでは SILK モード、高ビットレートでは CELT モード、その中間ではハイブリッドモードと切り替えながら最適な品質を出します。

対応ビットレートは 6 kbps〜510 kbps の超広範囲で、サンプリング周波数も 8 kHz(狭帯域)から 48 kHz(フルバンド)まで自在。フレームサイズも 2.5 / 5 / 10 / 20 / 40 / 60 ms から選べ、リアルタイム通信では 20 ms 以下、ストリーミングでは 60 ms といった具合に用途に合わせて遅延と効率のバランスを取れます。

内部構造

Opus ファイル(.opus 拡張子)は通常、Ogg コンテナに格納されます。Ogg コンテナのマジックバイトは 4F 67 67 53("OggS")で、その内側に Opus ストリームが入っています。HTML5 や WebRTC の文脈では WebM コンテナに格納される場合もあります。

圧縮の核心は 3 つのモードです。

  • SILK モード:8〜24 kHz 帯域、低ビットレート(6〜40 kbps)で人間の音声を効率よく圧縮。線形予測(LPC)と長期予測(LTP)を組み合わせる
  • CELT モード:48 kHz フルバンド、中〜高ビットレート(32〜510 kbps)で音楽を高品質に圧縮。MDCT(変形離散コサイン変換)を使う
  • ハイブリッドモード:SILK で低周波数帯、CELT で高周波数帯を担当し、24 kHz 以上の広帯域を中ビットレート(24〜64 kbps)で扱う

注目すべきは「シームレスな切り替え」です。同じファイル / ストリームの途中でビットレート、サンプリングレート、フレームサイズ、モードを動的に変えられるため、ネットワーク品質に応じて品質を上下させる WebRTC のような用途に最適です。

主な用途

  • ビデオ会議・音声通話:Zoom、Microsoft Teams、Google Meet、Discord、WhatsApp、Telegram、Signal、FaceTime(一部)が Opus を採用
  • WebRTC:ブラウザの音声通話 / ビデオ通話 API では Opus が必須コーデックとして指定されている
  • ゲーム内ボイスチャット:Discord、TeamSpeak 3、Mumble、Steam Voice チャット、原神 / Apex Legends / VALORANT などの大半が Opus 系
  • YouTube:音声のみのストリームには Opus を採用(itag 251 など)
  • ポッドキャスト・ラジオ配信:Spotify の一部、Podverse、AntennaPod など Opus 対応プレイヤーが増加
  • WhatsApp ボイスメッセージ:送信される短い録音ファイルは Opus エンコードで送られる
  • 音声 AI のリアルタイム入出力:低遅延が必要な対話型 AI(Claude Voice、ChatGPT Advanced Voice、Pi など)が WebRTC 経由で Opus を使う

関連形式との比較

形式得意ビットレート最小遅延音声/音楽用途
Opus6-510 kbps5 ms両対応通話・配信全般
AAC (LC)96-256 kbps20-100 ms音楽寄りYouTube / Apple Music
AAC (HE / xHE)24-64 kbps100-300 ms音楽寄り放送・低ビットレート配信
MP3128-320 kbps200 ms+音楽寄り音楽ダウンロード
Vorbis96-320 kbps100 ms音楽寄りSpotify(旧)/ ゲーム
Speex2-44 kbps30 ms音声特化旧世代 VoIP(廃止予定)
G.711 / G.72256-64 kbps5 ms音声特化固定電話 / SIP

同じ 64 kbps で比べた場合、Opus は MP3 の 128 kbps 以上、AAC LC の 96 kbps 以上に相当する音質を出します。32 kbps でも実用的な音質を保てるため、モバイル回線が細い環境や衛星電話のような帯域制限下で特に強みを発揮します。

編集ツール

  • opusenc / opusdec (公式 CLI)opusenc --bitrate 96 input.wav output.opusopusdec output.opus restored.wav
  • ffmpegffmpeg -i input.wav -c:a libopus -b:a 96k output.opus-application voip(通話向け) / audio(音楽向け) / lowdelay(超低遅延)を切り替え可
  • Audacity:2.3.2 以降で Opus の読み書きに対応
  • foobar2000:プラグインで Opus に対応
  • VLC media player:Opus を含むほぼ全ての音声形式を再生可能
  • Web Audio API:ブラウザから MediaRecorder で audio/webm;codecs=opus として直接録音可能

注意点

  • 古いハードウェアでの非対応:2015 年以前のカーオーディオ、組み込みプレイヤー、古いスマホでは Opus 再生に対応しないものがある。配布物の互換性を最重視するなら依然 MP3 が無難
  • 非可逆なので編集向きではない:通話・配信用途に最適化されている。マスター保管や編集は WAV / FLAC を使う
  • サンプリングレート 48 kHz が内部標準:他のサンプリングレートで入力しても内部で 48 kHz にリサンプリングされる仕様。すでに 44.1 kHz の素材は若干のリサンプリングノイズが乗る可能性
  • 非常に低いビットレート(6〜16 kbps)はモノラル必須:ステレオで保つには 24 kbps 以上が現実的
  • ガラパゴス的に Opus 単体ファイル(.opus)よりも WebM や Ogg で配布されることが多い:Web ブラウザに音声を埋め込む場合は audio/ogg; codecs="opus" または audio/webm; codecs="opus" を MIME に指定する
  • メタタグは Vorbis Comment 形式:MP3 の ID3 とは別。タグ編集ソフトが対応しているかを事前確認する

関連リンク

編集
Post Share
子ページ

子ページはありません

同階層のページ
  1. MP3(.mp3)
  2. WAV(.wav)
  3. FLAC(.flac)
  4. AAC(.aac / .m4a)
  5. MP4(.mp4 / .m4v)
  6. MOV(.mov)
  7. WebM(.webm)
  8. MKV(.mkv)
  9. Opus(.opus)
  10. M3U8 / HLS(.m3u8)

最近更新/作成されたページ