オーディオエンジニアリングにおいて、ジョイントエンコーディングとは、エンコード時に類似した情報を持つ複数のチャンネルを結合することで、より高音質な音声、より小さなファイルサイズ、またはその両方を実現する手法のことです。
ジョイントステレオという用語は、初期のインターネットで比較的低ビットレートながら、適度なインターネットアクセス速度で許容できる品質の音声を転送できるようになったことから広く知られるようになりました。ジョイントステレオとは、この目的で使用される様々なエンコード技術を指します。ここでは2つの形式について説明しますが、どちらもMP3、AAC、Ogg Vorbisなどの様々なコーデックで様々な方法で実装されています。
このジョイントステレオ方式は、ジョイント周波数符号化と呼ばれる技術を使用しており、音源定位の原理に基づいています。人間の聴覚は、特定の周波数の音の方向を感知する能力が一般的に低いという特徴があります。この特性を利用することで、強度ステレオ符号化は、知覚される音質の変化をほとんど、あるいは全く伴わずに、オーディオストリームのデータレートを削減できます。
より具体的には、人間の音源定位における両耳間時間差の優位性は、低周波数帯域でのみ見られます。そのため、高周波数帯域では両耳間振幅差が主要な位置指標となります(カットオフ周波数は約2kHz )。強度ステレオ符号化の考え方は、低周波数帯域を1つのチャンネルに統合し(これによりチャンネル間の全体的な差が小さくなります)、振幅差の手がかりを回復するために特定の周波数領域をどのようにパンニングするかについてのわずかな付加情報を送信することです。ただし、この方式ではITDが完全に失われるわけではなく、耳の形状により、音が自由空間から発せられる場合(つまり、ヘッドホンではなくスピーカーを通して再生される場合)は、IADからITDを回復することができます。[ 1 ]
このタイプの符号化では、ステレオイメージが単純化され、知覚できる圧縮アーティファクトが発生する可能性があるため、情報が失われるため、元の音声を完全に復元することはできません。ただし、非常に低いビットレートの場合、このタイプの符号化は通常、音声の知覚品質の向上をもたらします。多くの音声圧縮フォーマット(MP3、AAC、Vorbis、Opus [ 2 ]など)でサポートされていますが、すべてのエンコーダで常にサポートされているわけではありません。
M/Sステレオコーディングは、左右のチャンネルをミッドチャンネルとサイドチャンネルに変換します。ミッドチャンネルは左右のチャンネルの合計、またはサイドチャンネルは、左チャンネルと右チャンネルの差、または強度ステレオ符号化とは異なり、M/S符号化は変換符号化の特殊なケースであり、アーティファクトを発生させることなく音声を完全に保持します。FLACやMonkey's Audioなどのロスレスコーデックは、この特性からM/Sステレオ符号化を採用しています。
元の信号を再構築するには、チャネルを追加するか、または減算。
この形式の符号化はマトリックスステレオ[ a ]とも呼ばれ、さまざまなオーディオ処理および録音機器で使用されています。デジタルシステムに限定されず、受動オーディオトランスやアナログアンプでも生成できます。M/Sステレオの使用例の1つはFMステレオ放送で、搬送波を変調し、サブキャリアを変調します。これにより、ミッドチャンネルのみを必要とするモノラル機器との下位互換性が確保されます。[ 3 ] M/Sステレオのもう1つの例は、ステレオマイクログルーブレコードです。スタイラスの横方向の動きは2つのチャンネルの合計を表し、垂直方向の動きはチャンネル間の差を表します。2つの垂直なコイルが機械的にチャンネルをデコードします。[ 4 ]
M/S方式は、ステレオ録音の制作においてもよく用いられる手法です。詳しくは、「マイクの使い方」§ 「M/S方式」をご覧ください。
M/S符号化では、左右のチャネルが同じ重みを使用する必要は必ずしもありません。Opus CELTでは、M/S符号化は角度パラメータと組み合わされているため、異なる重みを使用して相関を最大化できます。[ 5 ]: 4.5.1
複数のチャネルを結合する同様の形式は、 Opus 1.3 のアンビソニックス実装にも見られます。マトリックスを使用して球面調和チャネルを混合し、冗長性を低減することができます。[ 6 ]
パラメトリックステレオは、強度差以外のパラメータが使用される点を除けば、強度ステレオに似ています。MPEG-4 ( HE-AAC ) バージョンでは、強度差と時間遅延差が使用され、定位を損なうことなくすべてのバンドを使用できます。HE-AAC は、チャンネル間の差を合成することでアンビエンスを再現する「相関」情報も追加します。[ 7 ]
バイノーラルキューコーディング(BCC)は、HE-AAC PS技術を拡張したもので、多数の入力チャンネルに対応し、すべてを1つにダウンミックスします。ILD、ITD、ICパラメータは全く同じものが使用されました。MPEG SurroundはBCCに似ていますが、複数のチャンネルへのダウンミックスが可能で、ITDは使用しないようです。[ 8 ]
MP3圧縮プロセス内で使用されるジョイントステレオは通常、複数の技術を採用し、各MPEGフレームごとにそれらを切り替えることができます。一般的に、最新のエンコーダのジョイントステレオモードでは、一部のフレームにはM/Sステレオを、他のフレームにはL/Rステレオを使用し、どちらの方法が最良の結果をもたらすかを選択します。エンコーダは、切り替えのタイミングと各チャンネルに割り当てるスペースを決定するために異なるアルゴリズムを使用します。切り替えが頻繁すぎたり、サイドチャンネルに十分なビットが割り当てられなかったりすると、品質が低下する可能性があります。一部のエンコードソフトウェアでは、すべてのフレームでM/Sステレオの使用を強制することができ、Xingなどの初期のエンコーダのジョイントステレオモードを模倣できます。LAMEエンコーダでは、これは強制ジョイントステレオとして知られています。[ 9 ]
MP3と同様に、Ogg Vorbisステレオファイルでは、L/Rステレオまたはジョイントステレオのいずれかを使用できます。ジョイントステレオを使用する場合、M/Sステレオとインテンシティステレオの両方の方法を使用できます。MP3ではM/Sステレオ(使用する場合)が量子化の前に適用されますが、Ogg Vorbisエンコーダーは量子化後に周波数領域のサンプルにM/Sステレオを適用するため、M/Sステレオの適用はロスレスのステップになります。このステップの後、M/S信号のサイドチャンネルの対応する部分を削除することで、任意の周波数領域をインテンシティステレオに変換できます。Ogg Vorbisのフロア関数が、必要な左右のパンニングを処理します。Opusも同様に、CELTレイヤーで3つのオプションすべてをサポートしています。SILKレイヤーはM/Sのみです。[ 10 ]
の先読みは 2.5 ms ですが、SILK の先読みは 5 ms で、リサンプリング (エンコーダとデコーダの両方のリサンプリングを含む) に 1.5 ms が加算されます。このため、エンコーダの CELT パスでは 4 ms の遅延が追加されます。ただし、アプリケーションはエンコーダを CELT に制限してその遅延を省略できます。これにより、合計先読みが 2.5 ms に短縮されます。
変換することで、より効率的な表現を提供します。この 1.3 リリースでは、1 次、2 次、および 3 次の行列が提供されます。
STEREO [...]は、エンコーダーが(フレームごとに)L/Rステレオまたはミッド/サイドステレオのいずれかを使用できることを意味します。ミッド/サイドステレオでは、[...]サイドチャンネルよりもミッドチャンネルに多くのビットが割り当てられます。ステレオ分離があまり大きくない場合、これは実質的に帯域幅を増加させるため、同じビット数でより高い品質が得られます。ミッド/サイドステレオを不適切に使用すると、可聴圧縮アーティファクトが発生する可能性があります。ミッド/サイドと通常のステレオを頻繁に切り替えると、音質が悪くなることもあります。ミッド/サイドステレオに切り替えるタイミングを判断するために、LAMEはISOドキュメントで説明されているものよりもはるかに高度なアルゴリズムを使用します。FORCED MID/SIDE STEREOは、すべてのフレームをミッド/サイドステレオでエンコードするように強制します。入力ファイルのすべてのフレームのステレオ分離が非常に小さいことが確実な場合にのみ使用してください。