メニュー

革命的コーデックか、それとも過大評価された実験か?

革命的コーデックか、それとも過大評価された実験か?

8個のQMFサブバンドの波形表示
カテゴリ:
記事
タグ:
ADC
言語:
ENJA
署名:
保存

主張

Redditの投稿
Redditの投稿

最初にこれを見かけたのは Reddit でした。ユーザー u/Background-Can7563r/compressionこれ を投稿していたのです。

ADC Codec - Version 0.80 released

The ADC (Advanced Differential Coding) Codec, Version 0.80, represents a significant evolution in low-bitrate, high-fidelity audio compression. It employs a complex time-domain approach combined with advanced frequency splitting and efficient entropy coding.

非可逆音声圧縮にかなり興味がある人間として、そりゃあ見に行かないわけにはいきません。

Subband Division (QMF Analysis)

The input audio signal is meticulously decomposed into 8 discrete Subbands using a tree-structured, octave-band QMF analysis filter bank. This process achieves two main goals:
Decorrelation: It separates the signal energy into different frequency bands, which are then processed independently.
Time-Frequency Resolution: It allows the codec to apply specific bit allocation and compression techniques tailored to the psychoacoustic properties of each frequency band.

なるほど。時間領域ベースではあるけれど、音声を複数のサブバンドに分けて、それぞれ別に処理する、と。はいはい。

Advanced Differential Coding (DPCM)

Compression is achieved within each subband using Advanced Differential Coding (DPCM) techniques. This method exploits the redundancy (correlation) inherent in the audio signal, particularly the strong correlation between adjacent samples in the same subband.
A linear predictor estimates the value of the current sample based on past samples.
Only the prediction residual (the difference), which is much smaller than the original sample value, is quantized and encoded.
The use of adaptive or contextual prediction ensures that the predictor adapts dynamically to the varying characteristics of the audio signal, minimizing the residual error.

なるほど、DPCM を使うわけですね。まあ adaptive なら、実質 ADPCM と言ったほうが近そうですが。

Contextual Range Coding

レンジコーディングだけ? それ以外の説明はなし? そうですか。

これは非常に……興味深いです。ただ同時に、かなり混乱もします。要するに QMF + ADPCM + レンジコーディングです。それのどこが「大きな進化」なんでしょうか。

幸い、公式サイトへのリンクがありました。

そこに私の疑問への答えが全部あると期待したのですが、代わりに出てきたのは次のようなものです。

  • クローズドソースのプロジェクト? 今どき?
  • 中身はマーケティング文と煽り文句ばかり
  • Zenodo で特許を取った? Zenodo は特許庁ではありません

というわけで、もう少し深く見ることにしました。

マーケティング文

2025年12月時点のADCホームページ
2025年12月時点のADCホームページ

うわあ。ホームページを読んだ瞬間に、かなりの数の赤旗が立ちます。たとえば、

  • 「音声圧縮を再定義する」
  • 「卓越した圧縮効率」
  • 「知覚的品質」
  • 「周波数領域処理に挑戦する」
  • 「高度な時間領域圧縮」
  • 「洗練されたフィルタバンク構成」
  • 「最先端のエントロピー符号化」
  • 「性能の著しい飛躍」

新しいコーデックにしては、ずいぶん主張が多いですね。しかもこれ、時間領域コーデック です。いや別に時間領域だから駄目だと言いたいわけではありませんが。しかもこれはホームページの最初の段落だけです。とはいえ、先入観だけで切って捨てるのも良くないでしょう。本当に全部事実で、私が今まで知らなかっただけかもしれませんし。

これを見て思い出したのが、画像フォーマットの FLIF です。ADC のように大げさなことは言っていませんでしたが、最終的には JPEG XL につながる系譜の一部になりました。なので、新しいコーデックが本当に優秀なコーデックになること自体は、別に珍しい話ではありません。

でも ADC はかなり違います。FLIF にはグラフがあり、比較があり、標準化があり、仕様があり、ソースコード があり、サンプルがあり、説明がありました。ちゃんと LGPL v3 ライセンスまでありました。ADC にあるのは、曖昧で検証不可能な主張だけでした。

並外れた主張

一段落で全部片づけるには量が多いので、特に……こう、勢いがすごい主張をいくつか取り上げて、一つずつ見ていきましょう。

「生の音声波形を直接処理する」

Unlike codecs that map the entire signal to the frequency domain (e.g., MDCT-based codecs), ADC operates directly on the raw audio waveform, capitalizing on temporal correlation for extreme efficiency. This approach results in ultra-low latency and robustness against temporal artifacts often associated with block-based transforms.

「生の音声波形を直接処理する」と。ある程度わかっている人なら、これは普通ひとつの意味にしか取りません。ADC(analog-to-digital converter)の出力を、そのまま float か整数の生データとして扱い、非圧縮または可逆圧縮して保存する、という意味です。つまり raw LPCM の WAV とか、FLAC とか、WavPack とか、そういう話です。

4つのQMFサブバンドの例
4つのQMFサブバンドの例

ですが、実際にはそうではないことがすでにわかっています。QMF 解析をかけている時点で、それはもう「生の音声波形を直接」扱ってはいません。扱っているのは QMF で分割されたサブバンドであって、それは生の音声波形ではありません。

「4バンドのフィルタバンク処理」

ADC employs a highly optimized four-band filter bank to decompose the input signal.

  1. Waveform Division: The incoming audio waveform is precisely split into four distinct subbands.
  2. Perceptual Isolation: Each subband is then processed independently. This isolation allows the compressor to apply tailored, high-resolution processing to specific frequency ranges, optimizing the noise floor distribution without relying on complex psychoacoustic models across the entire spectrum.

「高度に最適化された」かどうかはさておき、この節を最後まで読むと、要するに QMF の説明をしているだけです。

ただし、4サブバンドだと各帯域は 5,512.5 Hz 幅になります。これは「特定の周波数帯域」と呼ぶにはだいぶ雑です。仮にこれを 8 サブバンドに「改善」したとしても(wink wink)、各帯域は 2,756.25 Hz。やはりかなり広い。なので、「各帯域ごとに個別の処理を適用できる」という意味ではまあそうでしょうが、「高解像度で特定の周波数帯域を処理できる」ので「全帯域にわたる意味のある心理音響モデルなしでも最適化できる」みたいな話になると、だいぶ苦しいです。

「高度なコンテキスト符号化」

The primary compression gain is achieved within the subbands using a novel, predictive entropy method:

  • Contextual Time-Domain Compression: Each subband's waveform is compressed using an Advanced Contextual Coding scheme. This algorithm learns and exploits the statistical dependencies between successive samples and neighboring subbands, resulting in highly efficient prediction and reduced residual energy.
  • High-Performance Range Coding: The final stage employs Range Coding (an evolution of Arithmetic Coding) to represent the predictive residuals. This powerful entropy encoder achieves near-optimal compression ratios, making ADC exceptionally efficient even at very low bitrates.

要するに各サブバンドを、ADPCM に近い何かで符号化している、という話です。ただし「Advanced Contextual Coding」なるものは、かなり要検証です。(先に言ってしまうと、裏づけはありません。そういう既存または新規アルゴリズムの明確な証拠は見当たりません。)

それから「隣接するサブバンド間の統計的依存性を学習して活用する」とも言っていますが、かなり怪しいです。(ネタバレすると、していません。)

あと、「High-performance range coding」というのも、だいぶ冗長です。レンジコーディングが役に立たないと言いたいわけではありませんが、「甘い砂糖」とか「硬い花崗岩」と言っているのに近い。そういう性質なのは、まあ当然です。それ自体は何の説明にもなっていません。

「音質の新時代」

Quality Over Perfect Reconstruction

The previous iteration of the ADC lineage was defined by its commitment to Perfect Reconstruction (PR) after the first encoding pass. ADC decisively moves beyond the PR constraint. This strategic decision—trading the strict mathematical PR property for perceptual optimization—is the source of ADC’s massive quality improvement.

いや。これは非可逆コーデックです。そこで胸を張られても困ります。非可逆コーデックなら、完全再構成より知覚品質を優先するのはむしろ当然でしょう。というか、そもそも非可逆コーデックのはずなのに、なぜ以前は可逆再構成を目標にしていたんですか。

Performance Benchmark

ADC is engineered for the modern audio landscape, where perceptual quality is paramount:

  • Frequency-Domain Comparable: ADC’s performance on individual waveforms is often comparable to the most established frequency-domain codecs (e.g., LC3, AAC), challenging the notion that transforms are mandatory for high-fidelity compression.
  • Superior Transient Handling: By leveraging the time-domain filter bank, ADC exhibits inherent strengths in preserving fast temporal transients and minimizing pre-echo artifacts.
  • Support for joint stereo.

知覚品質が最重要では ない 時代なんてありましたか。非可逆音声コーデックの評価軸としては、最初からずっとそこが中心ですが。何を言いたいのか本当にわからない。

あと、その言い回しに気づきましたか。「ADC's performance on individual waveforms」。うーん。いかにも都合のいい例を拾っていそうな響きです。

しかもここでは、ADC の性能が AAC と しばしば同等 だとまで言っています。データは? 比較表は? 「しばしば」ってどの程度? 「同等」ってどのビットレートで? 何の指標で?

さらに悪いのは、「変換が高忠実度圧縮に必須だという考えに挑戦する」というくだりです。これは藁人形論法です。そんなことを言っている人はいません。だって FLAC は変換を使いませんが、高忠実度どころか完全再構成を実現しています。ADC が実際に押し出しているのは、「MDCT は悪い、ADPCM は周波数領域じゃないから自動的に良い」という雑な図式です(実際には QMF を使っていて、ある意味では周波数的な処理をしているのですが、その話はいったん置いておきます)。しかし業界が何十年も心理音響研究を積み重ねたうえで MDCT に落ち着いたのは、単に「みんながそうしているから」ではなく、非可逆圧縮という目的に対してそれが最も適しているからです。

それから、ここは読者全員のために非常にはっきりさせておきたい点があります。多くの場所でこういうマーケティングを見ると、少しぐらい気持ちが揺れるのも無理はないので。

MDCT は数学的に完全再構成可能です。 はい、そうです。ランダムな値を MDCT に通して、適切な overlap-add(TDAC)込みで IMDCT に戻せば、元の値そのものが返ってきます。浮動小数点誤差はありますが、そんなものは文字どおり無視できるほど小さく、聞こえませんし、数学や MDCT の欠点ではなくコンピュータ表現の都合です。

音声波形が MDCT を通ったからといって、自動的にトランジェントがにじむわけではありません。 これは大きくて露骨な嘘です。窓長が大きいこと自体も原因ではありません。実用的ではないですが、5分の曲を1つの窓として MDCT に通し、IMDCT で戻しても、実質的には元と同じ音声が返ってきます。数学的には違いません。

適切なTDACを用いたMDCTは完全再構成になる
適切なTDACを用いたMDCTは完全再構成になる

本当の原因は、窓内のトランジェントをにじませるのが MDCT 係数の量子化 だということです。MDCT そのものでもなければ、窓長そのものでもありません。現代のコーデックはすでにこの問題に対処しています。短い窓を使ってにじみを小区間に閉じ込めたり、トランジェントを含むフレームを検出して、そのフレームでは量子化をきつくしすぎないようにしたりしています。それが実際の話です。

なので、悪いのは MDCT ではありません。量子化です。そしてもちろん、ADC も量子化します。

……あと、ADC はジョイントステレオに対応しています。革命的ですね。

主張への批判は、実験そのものへの批判ではない

誤解のないように言っておくと、非可逆コーデックを作るのが簡単だとはまったく思っていません。かなりの知識、労力、調査、実験が必要ですし、そこまでやっても、思ったほどの結果が出ないことはいくらでもあります。

実験そのものには私はむしろ賛成です。良いアイデアはだいたい、最初は変な実験から始まります。そこに恥ずかしいことは何もありません。

ただ、このコーデックがやっているのは、到底信じがたい主張、互いに食い違う主張、場合によっては露骨に誤った主張まで並べることです。そしてそれは、今の世界を支えている実際のコーデックを作ってきた人たちに対して、かなり失礼です。そういう主張には立証責任が伴います。でも、私はその証拠を見ていません。

ロードマップ

この記事は、ADC とその主張を検証していく連載の第1回です。

私はこの形式の設計、圧縮アーティファクト、ビットレート挙動をテストし、スペクトログラム比較を作り、ABX リスニングテストを行い、GPL 準拠まで確認しました。そして出てきた結果は、なかなかひどいものでした。

記事一覧

以下が記事一覧です。

  1. 革命的コーデックか、それとも過大評価された実験か? <- 現在地
  2. "Audio DNA" と、その他の何も意味しない言葉たち
  3. ADCの内部へ: コーデックの詳細解析
  4. スペクトログラムは嘘をつかない: ODG と実際にビットが使われている場所
  5. おまけ: SIC画像コーデックと、同じ過大主張のパターン

結び

ホームページだけでこれだけ赤旗が立つのなら、中身を見たときはもっとひどいことになります。ADC は掘れば掘るほど印象が悪くなるタイプです。証拠が十分に物を言っているので、私はそれをそのまま見せるつもりです。