PlayCanvasが3Dガウススプラットデータを1/20に圧縮するSOGSを採用!

CGソフト

2025年5月15日(現地時間)- PlayCanvas CEO Will Eastcott氏は、PlayCanvas Engine 2.7.5 をリリースし、3D Gaussian Splatting (3DGS) のための新しい圧縮フォーマットである Self-Organizing Gaussians (SOGS)の導入を発表しました。

Self-Organizing Gaussians(SOGS)とは

Self-Organizing Gaussians(SOGS)は、論文『Compact 3D Scene Representation via Self-Organizing Gaussian Grids』に基づいた3D Gaussian Splatting (3DGS) のための新しい高度な圧縮フォーマットです。

SOGS は 3DGS データを1/20以上に圧縮することができるとされており、これは、昨年発表されたファイルサイズを約1/10程度に圧縮できるNiantic LabsのSPZ形式よりも優れた圧縮率となっています。

次は、PlayCanvas の SOGS サポートを紹介するために、Christoph Schindelar 氏と協力して作成された技術デモです。

新しいタブでフルスクリーンで実行

上記の教会のシーンは、元々400万個のガウシアンを含む1GBのPLYファイルでした。これではウェブやモバイルには全く適していません。このシーンはSOGS を使用することで、わずか55MBでとなっています。

Splat 開発者へのメリット👇

🗜️ 大幅なファイルサイズ削減: 真剣な圧縮について話しています!たとえば、上記の教会のシーンは、約1GBから55MBに削減されました(約20倍の削減)。

超高速ローディング: ファイルが小さくなることで、没入型の3DGS体験のロード時間が大幅に短縮され、ユーザーのエンゲージメントを維持できます。

📱 モバイルでの実現可能性: このレベルの圧縮により、帯域幅やメモリに制約のあるデバイスでも、リッチな3DGSコンテンツの展開が実用的になります。

卓越した視覚品質: SOGS は、3DGS を非常に魅力的なものにしている高い視覚的忠実度を維持するように設計されており、アーティファクトを減らすことでさらに改善することもできます。

🖼️ シンプルなデコード: 圧縮されたフォーマットは本質的に一連の WebP 画像であり、標準的なブラウザ機能を使用して簡単かつ高速にデコードできます。

SOGSのアプローチ

3D Gaussian Splatting は、素晴らしいフォトリアルな結果を提供しますが、その代わりファイルサイズが大きくなります。典型的な高品質シーンは簡単に数百メガバイトに達し、ウェブ配信、モバイル体験、迅速なロード時間にとって課題となります。

3DGS シーンの個々のガウシアンは、複数のパラメータを格納しています。

  • 位置 (XYZ)
  • スケール (3つの値)
  • 回転 (4つのクォータニオン値)
  • 不透明度
  • 基本色 (RGB)
  • 視点依存効果のための球面調和 (SH) 係数 (多くの場合45以上の値で、ファイルサイズの大部分を占める – 最大75%!)

これらすべてを高精度の浮動小数点数として格納することが、巨大なファイルにつながる原因です。

これを解決するためSOGSは、以下のようなアプローチを取っています。これらは、個々の値を量子化したり、属性の単純なコードブックを作成したりする(これらも有効ですが、より伝統的な圧縮ステップです)代わりに、画像圧縮アルゴリズムが最も効果的に機能する方法から直接着想をているとのことです。

  1. グリッド再編成: 基本的なアイデアは、すべてのガウシアンとその属性を取得し、このデータを再形成することです。すべてのガウシアンを「展開」し、そのパラメータを一連の2Dグリッドまたは「属性イメージ」に配置することを想像してください。たとえば、すべてのX位置が1つの2Dイメージを形成し、すべてのY位置が別のイメージを形成し、各SH係数が独自のイメージを形成するなどです(たとえば、ガウシアンごとに59の属性がある場合、59以上のそのようなイメージ)。最初は、これらのイメージはランダムノイズのように見えます。
  2. 「自己組織化」ソート (PLAS アルゴリズム): ここが魔法です。SOGS は、洗練されたソートアルゴリズム (Parallel Linear Assignment Sorting – PLAS) を採用して、これらの2Dグリッド内でガウシアン自体を並べ替えます。目標は、類似したプロパティ(特に位置、スケール、基本色)を持つガウシアンが2Dグリッド内で隣接するように配置することです。このプロセスにより、ノイズが多くランダムに見える属性イメージが、はるかに滑らかで構造化された、低周波数成分を持つイメージに変換されます。
    • なぜソートするのか? 高度に整理された滑らかなデータ(ソートされた画像など)を圧縮する方が、ノイズの多いランダムなデータを圧縮するよりもはるかに効率的です。その差は劇的です(たとえば、JPEGでソートされた画像とランダムな画像を比較すると9倍の削減)。
  3. 滑らかさの活用: 主要な属性(位置、スケール、基本色)に基づいてソートすることにより、SOGS は、これらの側面で類似しているガウシアンは、二次的な属性(不透明度、回転、そしてかさばるSH係数)も類似している可能性が高いという洞察を活用します。この「共ソート」により、すべての属性イメージがより滑らかになります。
  4. 2D画像圧縮の活用: これらの属性イメージが滑らかで整理されると、SOGS は標準的で高度に最適化された2D画像圧縮コーデックをそれぞれに適用します。PlayCanvas では、WebP を使用することを選択しました。これが大幅な圧縮率向上の源です。WebP コーデックは、滑らかで予測可能な画像データの圧縮に最適です。

詳細は論文ページへ

今後の予定

次に予定されているのは以下の通りです。

  • エディタサポート – アセットパネルでSOGSデータをファーストクラスの要素としてサポート。
  • SuperSplat サポート – SOGSをエクスポートフォーマットとして追加。
  • パフォーマンス最適化 – モバイルで膨大な数のガウシアンを迅速にロードできるようになったので、フレームレートの向上に注力。

利用について

SOGSは、 PlayCanvas Engine 2.7.5以降で利用可能です。

ガウススプラットの圧縮技術の Self-Organizing-Gaussians(SOGS) もGithub で公開されています。


PlayCanvas Adopts SOGS for 20x 3DGS Compression

コメント

Translate »
タイトルとURLをコピーしました