aptX (HD)の高域に量子化雑音が入るわけ
aptXが高域でノイズが乗るという問題がTwitterで指摘されているので、その理由を記事にしたいと思う。以下のツイートのGIFをご覧いただきたい。
このテストはサイン信号を低い音程から高い音程に掃引するスイープで、サイン波を入れたときにaptXが出力する周波数特性を見るものだ。
0〜4kHz手前までは、尖りが綺麗に見えているものの、そこを超えると尖りの周辺にザワザワと丘ができているのがわかるだろう。これはノイズであり、本来であれば「尖り」だけが信号として出力されてほしいところである。
aptXの圧縮を読み解く
ではなぜこのような結果になるかというと、aptXの圧縮方式に起因している。aptXは音声を4つのサブバンドに分割し、0〜5.5kHzに対して8bit、5.5〜11kHzに4ビット、11〜16.5kHzと16.5〜22kHzに2bitの量子化ビットを割り当ててADPCMベースの圧縮でエンコードする。
このようなサブバンドに分けて圧縮をする理由は、人間の耳が高音域に対して敏感ではないため、その領域を高圧縮にして情報量を減らし、代わりに人間の耳が敏感な5kHz近辺までの領域に多くの情報を割り当てたいからだ。
CDのビット深度が16bit、ハイレゾといわれる音源が24bitをうたう中でこれらのビット深度は低すぎると思われるかもしれないが、ディザなどの技法を使うことで聴感上の問題は克服できる。ディザは以下の記事で説明している。
aptX vs aptX HD vs SBC ノイズフロア・バトル
SoundExpert によるノイズフロアの測定結果を転載する。このグラフは、ノイズが低いほどよく、赤い部分は24bitの理論上のノイズフロアを示している。-100dB近辺は16bitのディザありとディザなしの場合のノイズフロアで、通常のCDのノイズフロアはこの近辺におさまる。
aptXは20Hz~5kHzでは約90dBのダイナミックレンジが得られているが、4~8kHz付近では、約-80dBで、さらに上は約-74dBとなっている。
次にaptX HDのノイズフロアを見ると、明らかにaptX HDのノイズフロアが低いことがわかる。aptX HDは2bitのビット深度を全てのサブバンドに追加しており、ノイズフロアを12dB下げ、改善させた。
20Hz〜5kHzで約102dB、4〜8kHzで約-92dBとなっている。それ以降の高音域では-86dBだ。
一方でSBCはサブバンドに分割するものの、aptXより分割する帯域は多く、その上ADPCMは利用していないため、ノイズフロアの出方は明らかに異なる。
2.5kHz以下の音楽のノイズフロアは-92dBで、aptXに匹敵するが、aptX HDの-102dBほどではない。SBCのノイズフロアは、2.5–5kHzと8–11kHzの間で-85dBまで上昇し、5–8kHzの間で-90dBまで下がり、14kHz以上では-80dBとなっている。
結論
ノイズフロアだけを見れば、aptX、SBC、aptX HDの順でノイズが減少していることがわかる。ただし、SBCはIMD (相互変調歪)が出ているとSoundExpertは指摘している。私が行った計測結果(以下)でも、SBCにIMDが出ていることを確認している。
aptX HD は24bitとはいえない
3つのコーデックはどれにしても24bitのノイズフロアである赤いラインに収まらなかった。aptX HDは24bitを謳っているが、明らかにそのようなレベルのノイズフロアの水準ではない。ただ、16bitのノイズフロアには近く、CD音質に最も近いと言える。
それでもaptXが放送用機器に使われる理由
ラジオ放送などでは、演奏所から送信所までの通信にナローバンドを利用することもある(例えばISDNなど)。そのため、PCMをそのままでは送信できず、圧縮をかける必要がある。その分野ではaptXが使われてきたことも事実だ。
画像を引用したSoundExpertの元記事では、IMDの大きさはSBCの問題であるとした。また古いBluetoothデバイスなどでは高圧縮(=低ビットレート)なSBCコーデックを使っている可能性もある(=音質が悪くなる)とした。これは私が以前書いた記事で取り上げ、328kbpsでは問題がないが、192kbpsであると音質が顕著に悪化することを記してある。
aptXは固定の圧縮比率で、常に1:4の圧縮比を使用している。このため、ビットレートが異なって音質が違うということは起き得ないし、Qualcommのチップを使っていれば、少なくともエンコードとデコードの部分で音質に問題が生じることはない。
ラジオ放送では帯域上、15kHz以上の高域は伝送されないことからも、このコーデックとの相性は良いだろう。
aptXは品質の安定性においては実証済みのコーデックである。
何を選ぶべきか?
SBC、aptXよりaptX HDが良いことは間違いはなく、選べるならaptX HDとなる。SBCとaptXの間に大した違いはないことは、以下の記事で説明した。高域でのノイズフロアの上昇を許容でき、若干のレイテンシ減少とIMDの減少という恩恵を受けたければaptXを選ぶと良い。
Apple系のデバイスであればSBCとAACが選べるが、これは間違いなくAACとなる。ただし、AndroidにおいてはAACの設定にばらつきがあるため、AACを使うときは注意したい(以下の記事の最後に記載している)。
LDACについては、エンコーダがなく評価できないため結論に組み入れていない。