SlimeCodec NormMAP — 測定台帳と検証手続き
製品ページ(NormH.264)から開発過程・測定手続き・一次資料をこちらへ分離しています。数値は器(ベンチ)の生ログと突き合わせた実測値であり、検証できていない範囲は「検証できていない」と書きます。最終更新: 2026-07-27。
① 対ソース削減率(製品ページの −74.3% など): 入力ファイルに対して何 % 小さくなったか。入力のビットレートに強く依存し、膨れたマスターほど大きく出ます。実運用の請求額に直結する数字ですが、コーデックの効率を表す数字ではありません。
② 同一画質での効率改善(iso-VMAF BD-rate): 同じ画質を出すのに必要なビット量を、標準 x264 と比べた数字。コーデックとしての実力はこちらで、下の台帳が扱うのは全てこの ② です。
1. 同一画質(iso-VMAF)BD-rate 実測台帳 確定
負の値 = NormMAP が少ないビットで同じ画質に到達(勝ち)。BD-rate は VMAF → log10(rate) の三次近似です。
1-1. VOD 出荷帯(VMAF 93–96)・5 素材 — 看板の根拠はこれ
実際に配信する品質帯だけを密なラダーで測ったもの。対戦相手は x264 aq-mode 3 + psy-rd 1.00,0.15(標準的な VOD 設定)、NormMAP は strength 0.10、両腕とも同一バイナリ・同一 preset。広い品質域を跨ぐ測り方より信頼できます — 内挿の弦誤差(効果と同じ桁の誤差が乗る問題)を負わないためです。
| 素材 | 種別 | BD-rate(band) | BD-rate(band3・再測) |
|---|---|---|---|
| 自社 ProRes 4K マスター | 実カメラ・4K24 | −5.53% | −6.60% |
| crowd_run | 1080p50 高動き | −5.68% | −6.13% |
| park_joy | 1080p50 高動き | −4.32% | −4.97% |
| sintel trailer | 1080p24 CG | −4.08% | −2.69% |
| dinner | 1080p30 室内 | −2.61% | −3.62% |
| 中央値(n=5) | −4.32% | −4.97% | |
5 素材すべてで勝ち、幅は −2.6–6.6%、中央値 −4–5%。二回の独立したラダーで同じ位置に立ちます。これが製品ページの「同一画質で −4–5%」の出所です。
ただしこれは 1 素材の数字です。5 素材の中央値は −6.7% で、事前登録していた −10% のラインには届きませんでした。したがって当社は「一律 −10% 超」を看板にしません — 利得は素材に依存する、というのが判定結果です。だからこそ §2 の事前診断が製品の中心にあります。
1-2. 低ビットレート帯(720p・3G 相当) — 別条件での独立再現とゲートの実証
条件を全部入れ替えた測定 — 720p(Lanczos downscale)・0.3–1.5 Mbps・x264 aq-mode 1 相手・VMAF 内蔵 HD モデル vmaf_v0.6.1。素材も帯域も対戦相手も違うのに、勝ち幅は同じ 4–5% に着地します。
| 素材 | 条件 | BD-rate | iso-VMAF 帯 | 判定 |
|---|---|---|---|---|
| sintel (g2 高) | 720p aq1 clean | 約 −5% | 85–94 (watchable) | 勝ち。原資(高品質側の余白)がある素材で出た。保守側の値—測定器の CRF 下限クランプで norm 側が不利に出ており、実力はこれ以上 |
| sintel (g2 高) | 720p 3s aq1 (別ラダー) | −4.08% | 60–93 | 勝ち。① floor の独立再現 |
| water8 (実写4K) | 720p aq1 ゲート無し | 約 +4% | 45–81 | 負け。720p 化で原資が消えた素材 |
| water8 (実写4K) | 720p aq1 g2 ゲート ON | +0.1% | 40–82 | break-even。ゲートが負けを「最悪ゼロ」に止めた実証 |
| 4k-nature | 4K 同一サイズ (~8 MB) 対照 | 負け | x264 VMAF 70 (8.1 MB) vs Norm VMAF 69 (7.8 MB) | 同一サイズでは素の x264 がわずかに上。この素材に Norm 固有の同一画質での勝ちはありません |
| park_joy (g2=0) | 720p aq1 | −5.0% | 12–50 (視聴に耐えない帯) | 床・別枠。watchable 帯に乗らないため実運用判断に使わない |
∴ 確定している主張は一つ: ゲート込みの NormMAP は「原資があれば同一画質で 4–5% 少ないビットで済み、原資が無ければ break-even、負けには行かない」。VOD 出荷帯(§1-1)と低ビットレート帯(§1-2)というまったく違う二つの条件で、同じ 4–5% に着地しているのが、この数字を看板に置いている理由です。
否定された主張: 「一律 −10%」は成立しません。VOD 帯でも 3G 帯でも勝ち幅は ~5% で、事前登録した 10% 閾値を超えませんでした。削減率は content 依存です。
_vod_bench/ の band_results.tsv / band3_results.tsv / results.tsv / lever2_results.tsv に凍結してあり、bdrate_recheck.py を走らせると上表の各行が再導出されます(エンコードも VMAF 実行も不要)。負けた行も外れた点も消さずに残しています。
2. g2 事前診断 — 「効くか」をエンコード前に判定する
NormMAP の利得は素材依存です。そこで、入力映像から g2 指標(低 d 値の割合と高 d 値の縁の割合)を計算し、NormMAP を適用すべき素材かどうかをエンコード前に判定します。上の台帳で言えば、sintel(g2 高)は「効く」、water8 の 720p 化後は「効かない」と事前に出ます。
3. ゲート — 外れたときに損をしない構造
g2 診断が「効かない」と判定した区間では、NormMAP は素通し(標準 x264 と同じ経路)になります。これが台帳 4 行目の実証で、ゲート無しなら +4.0%(=4% 太る)だった water8 が、ゲート ON で +0.1% に収まりました。
導入判断の観点では、「当たれば減る・外れても現状維持」という非対称性が本製品の設計目標であり、その裏付けがこの一行です。
4. モジュール②を凍結した経緯 凍結
第二モジュールは当初 −10.03% を主張していましたが、①(floor)を基準にした純寄与で測り直したところ、寄与はゼロ〜マイナスでした。三アームを同一の中間条件で測った結果:
| アーム | vs x264 | vs ①(純寄与) | 判定 |
|---|---|---|---|
| ① floor のみ | −4.08% | — | これが実力 |
| ①+② 初期設定 | −3.56% | +0.50% | 純寄与ゼロ(むしろ微増) |
| ①+② 攻め設定 | +3.98% | +7.83% | 明確に損。−10.03% の主張は再現せず |
結論として②は既定 OFF の摘まみとして凍結し、製品の看板からは外しました。コードは残しますが、既定では通りません。
5. VMAF は NormMAP を過小評価する(検証中の知見)
上記の −4–5% はすべて VMAF を物差しにした数字です。ところが今週、VMAF が NormMAP の効きを構造的に低く見積もることが分かりました:
- VMAF は設計上、輝度しか評価しません。したがって色差(クロマ)領域で起きている差は、原理的にスコアへ乗りません。これは VMAF という指標の性質であって、当社の測定結果ではありません。
- 訂正(2026-07-27): 本項には以前「色差で測ると分離 5.13 倍」と記載していましたが、撤回します。この 5.13 倍は圧縮済み 1 素材(city3s)での動体検知の的中率であって、同一画質でのビット削減余地を示す数字ではありません。加えて元資料自身が「AV1 の色差量子化による副作用の可能性」を未排除の交絡として挙げており、当社の測定規約もこれをその週の誤りの一つとして記録しています。裏付けとして掲げるべきではありませんでした。
- 公開デモ NormAV1 切替え比較では、VMAF 54.57(数字上は「画質崩壊」)の出力を、多くの方が原本と言い当てられません。VMAF スコアの崩壊と、目で見た劣化はずれます。
∴ 台帳の −4–5% は「実力の下限」であり、視聴品質を基準にすれば数字はこれより大きく出ると見込んでいます。ただしその見込みは、下の §6 のとおりまだ測っていません。
5-2. 指標が負ける理由を、実測で特定しました(2026-07-28)
§5 で「VMAF は輝度しか見ないので色差の差が乗らない」と書きました。これは VMAF の性質としては正しいのですが、当社の事例の説明にはなっていませんでした。色差そのものを測ったところ、色差でも NormMAP の方が誤差が大きかったためです(下表)。原因は色空間ではなく、面積による重み付けでした。
お客様が撮られた 4K60 市街地映像で、当社が同一サイズの 2 本を比較しました(NormMAP 5,074,511 B / 素の x264 5,486,521 B — NormMAP の方が 7.5% 小さい)。輝度 MAE(小さいほど原本に近い):
| 領域(参照の σ) | NormMAP | 素の x264 | 差 |
|---|---|---|---|
| 白いセダン(61.0) | 6.851 | 8.273 | −1.422 |
| 濃色 SUV(49.8) | 7.403 | 7.504 | −0.102 |
| 建物と人物(71.7) | 7.762 | 8.436 | −0.673 |
| 空いた路面(18.7) | 1.626 | 1.241 | +0.385 |
被写体では 3 領域すべてで NormMAP が原本に近く、負けたのは空いた路面だけです。これは NormMAP が設計どおりに動いた証拠です — 誤差の総量を増やしてでも、誤差を被写体の外へ動かしています。
ところが同じ 2 本を全画面平均で採点すると、10 指標すべてが素の x264 を選びます(輝度 MAE 4.022 / 3.614、U 1.023 / 0.926、V 1.152 / 1.044、輝度 PSNR 31.140 / 31.796、U 43.620 / 44.121、V 42.496 / 43.017、VMAF 68.815 / 72.049、格子段差 0.2405 / 0.1915)。4K 市街地では平坦な路面と空が面積の大半を占めるため、そこでの小さな負けが、面積の小さい被写体での大きな勝ちを薄めて消します。人の目は面積で重み付けしません。車を見ます。
当社に不利な側: 全画面指標は、調整では決して味方になりません。NormMAP が意図的に捨てた場所を、捨てた分だけ減点する仕組みだからです。§1 の BD-rate(VMAF 由来)も同じ性質の指標に依存しています。
当社に有利な側: 全画面指標での負けは、製品への反証にはなりません。PSNR や VMAF を根拠に提示される比較は、この機構を原理的に観測できない指標を根拠にしています。
ではどう測るべきか: 領域を事前に宣言した領域重み付け指標か、対比較による人の判定。そのどちらも、公開できる形ではまだ整備できていません。無作為抽出の盲検対(8 対・素材/ビットレート/切り出し位置/A-B 割当をすべて乱数・seed 記録済み)は生成済みで、判定はこれからです。
5-3. ピーク帯域(伝送用途向け・限定つき)
同じ 2 本のパケットサイズから、同一容量での比較:
| 指標 | NormMAP | 素の x264 | 差 |
|---|---|---|---|
| 平均 | 4,051 kbps | 4,380 kbps | −7.5% |
| フレーム最大 | 120,202 | 140,703 | −14.6% |
| フレーム p99 | 11,394 | 13,733 | −17.0% |
| 1 秒窓ピーク | 6,006 kbps | 6,225 kbps | −3.5% |
| ピーク/平均比 | 1.48× | 1.42× | やや悪化 |
瞬間フレームピークは 15–17% 下がりますが、伝送リンクの設計に使う 1 秒持続窓では 3.5% です。NormMAP はレート曲線全体を下へ動かすのであって、平坦化はしません — バースト比はむしろわずかに悪化します。「ピーク帯域を大きく抑制する」という言い方は、1 秒窓では支持されません。フレーム単位のピーク低減が効くかどうかはデコーダのバッファ次第で、そこは測っていません。1 素材での測定です。
5-4. 自社の自動判定を、自社で失格にしました(2026-07-29)
§5-2 の結論は「全画面指標ではこの機構は観測できない、対比較による人の判定が要る」でした。人の判定が揃うまでの繋ぎとして、AI モデルに盲検で判定させました。結果を先に書きます — 判定器そのものが失格になり、2 ラウンド分すべてを破棄しました。
手続き。素材(7 本)・目標ビットレート・Norm 強度・切り出し位置・フレーム番号・A / B の割当をすべて乱数で抽選し、seed を記録。両腕は同じ容量に合わせます(最大ずれ 2.1%)。正解は封印ファイルに置き、判定を書き出してから開封します。
| ラウンド | 条件 | 結果 |
|---|---|---|
| 1 (8 対) | 無制限に抽選 | AI は 8 対中 7 対で素の x264 を選択 |
| 2 (8 対) | Norm 側 CRF≤20・強度 0.35–0.50 に限定 (当社が「ここなら Norm が勝つ」と事前に予想を登録した領域) | Norm の勝ちは 2/7。事前登録した予想(5/8 以上)は外れ |
ここで終われば「Norm は勝てなかった」で済みます。そうしなかったのは、判定の中身を検算したからです。
AI は判定した 15 対のうち 13 対で B のスロットを選んでいました。公平な二択なら両側 p = 0.0074 — 偶然ではありません。
そして第 2 ラウンドで Norm がスロット A にあった 4 対は、すべて「B を選んだ」= 自動的に素の x264 が選ばれています。位置と腕が交絡しており、「画を見て選んだ」と「二番目に見た方を選んだ」を分離できません。
∴ 2 ラウンドとも、腕の優劣の測定としては破棄します。当社に不利だった第 1 ラウンド(1/8)だけでなく、引用しようと思えばできた第 2 ラウンドの数字も同時に捨てます。片方だけ残すのは測定ではなく選別です。
第 1 ラウンドの抽選値 0.22–0.49、第 2 ラウンド 0.36–0.50。製品の既定値は 0.15、§1 の −4–5% を出した測定は 0.10 と 0.20 です。ほぼ重なっていません。
これは弁解ではなく限定です — 上の破棄の理由(判定器の位置バイアス)は範囲とは無関係にそのまま成立しますし、この範囲差が結果を説明するという証拠も当社は持っていません。出荷帯(強度 0.06–0.20)での第 3 ラウンドを同じ手続きで実施中で、判定はまだ行っていません。結果は勝敗にかかわらずこの頁に載せます。
これが示していないこと。この結果は「Norm が劣る」ことを示していません。当社の判定器が使えなかったことを示しています。同様に「Norm が優れる」根拠にもなりません。どちら向きにも使えないのがバイアスの意味です。
残ったもの。刺激は 16 対ぶん焼き上がっており、seed・封印キー・画像は再利用できます。次回の設計上の修正も決めました — 同一の対を左右入れ替えて 2 回提示し、入れ替えで答えが変わる判定者は棄却する。今回の AI 判定はこの検査に落ちます。§6 に掲げた掲載条件(複数の被験者による盲検)を緩めない理由が、当社側の実測として一つ増えました。
付随して一つ。VMAF と AI 判定の一致率は第 1 ラウンド 50%、第 2 ラウンド 86% でした。同一手続きの 2 ラウンド間でここまで動く以上、安定した量を追えているとは言えません(ただし上記の交絡があるため、この一致率自体も単独では意味を持ちません)。
6. 検証できていないこと(明示) 未検証
§5 の理由から、視聴品質を基準にすれば −20–25% に達すると見込んでいます。これは現時点で仮説であり、測定値ではありません。盲検用の刺激(参照 + 8 クリップ + 隠しキー)は用意済みですが、判定はまだ実施していません。
掲載の条件はあらかじめ決めてあります — ①複数の被験者による盲検 A/B(1 人ではなく)、②同一サイズで Norm が勝つ g2 高素材で行うこと(4k-nature は §1 のとおりこれに該当しません)、③第二段として「目が差に気づくまで Norm を縮め、x264 の検知点と比べる」。この三つが揃った時点で、数字と手順をこの頁に掲載します。外部被験者による裏書き(BT.500 的手続き)はその次の段階です。
- 「CDN 半分」「−42%」— 撤回しました。4k-nature で「x264 14.3 MB(VMAF 80) vs Norm 8.2 MB(VMAF 69)= −42%」としていたものですが、これは同一 CRF での比較です。Norm が小さいのは画質が 11 ポイント低いからであって、同じ画質を安く出したからではありません。同一サイズの対照(§1 の 5 行目)では x264 の方がわずかに上でした。過去資料に残っていた場合、無効です。
- 圧縮履歴ボーナス — 精査中。すでに一度圧縮された素材を入力すると ① の効きが伸びる傾向(中間 CRF 12/24/32 で −1.86 / −2.79 / −3.39%)が出ていますが、幾何的な副作用の可能性を排除できておらず、看板には載せていません。
- ProRes マスター入力に既知の不具合があり、修正待ちです。
7. 測定条件(再現のために)
| §1-1 VOD 出荷帯 | 1080p24–50 + 4K24(自社 ProRes マスター)、VMAF 93–96 に絞った密ラダー。対戦相手 = x264 aq-mode 3 + psy-rd 1.00,0.15 |
|---|---|
| §1-2 低ビットレート帯 | 720p (Lanczos downscale) / 0.3–1.5 Mbps ラダー。対戦相手 = x264 aq-mode 1(NormMAP 側と同一 aq) |
| NormMAP 設定 | strength 0.10(§1-1 には strength 0.20 も併記) |
| 画質指標 | VMAF。1080p 素材は内蔵 HD モデル vmaf_v0.6.1、4K 素材は 4K モデル |
| BD-rate 算出 | VMAF → log10(rate) の三次近似 |
| 両腕の同一性 | 同一バイナリ・同一 preset を両腕に通す |
| 集計規律 | 素材別に読み、中央値に丸めない。VMAF ~50 未満の帯は実運用判断に使わない。広い品質域を跨ぐ BD-rate は内挿の弦誤差を負うため、看板には出荷帯限定の値(§1-1)を使う |
| 再計算 | _vod_bench/bdrate_recheck.py(凍結済みラダーから全行を再導出) |
| ソフトウェア版 | ffmpeg 6.1.1 / libvmaf 42276bc |
| ビルド構成 | Trial ティア(スレッド数 1・preset veryslow・TRIAL 透かし ON) — 下の注記を必ずお読みください |
上の測定はすべて Trial ティアのビルド(スレッド数 1・preset veryslow・TRIAL 透かし ON)で行いました。有償版の実出荷構成は スレッド 4–8・preset medium・透かし無しで、別物です。影響の向きは分かっている範囲で次のとおり:
- 透かしは x264 側・NormMAP 側の両腕に焼き込まれています。共通の固定ビット費用 W が両腕に乗るため比は 1 に寄り、差は必ず縮みます。つまり公開値 −4–5% はゼロ側に偏った下限で、透かしを外した真値はこれより大きい側にあります
- preset veryslow → medium の向きは不明です。veryslow の mb-tree / モード決定が NormMAP の仕事を先取りしている可能性があるため medium で取り分が増えると予測していますが、予測であって測定ではありません
本頁の数値は事前登録した測定規約に基づく実測です。素材・構成(バイナリ版・preset・スレッド数・透かしの有無)が変わると数値は変わります。お手元の映像での確認を推奨します — 無料トライアル。
