Microsoft Paint and Photos Invisible Watermarking Analysis
Microsoft Paint and Photosは、画像生成プロセスがデバイス上でローカルに実行される場合でも、プロベナンス(由来)を確保するために、サーバーから発行されたGUIDをAI生成画像のピクセルに埋め込みます。このメカニズムは、リモートのモデレーションサーバーを介して、最終的な画像を特定のプロンプトとユーザーアカウントにリンクさせ、追跡目的において生成プロセスの「ローカル」な性質を事実上回避します。
Remote Moderation and GUID Issuance
ユーザーがローカル生成だと認識しているのとは対照的に、プロセスは完全なオフラインではありません。Copilot+ PC上でローカルのStable Diffusionモデルが実行される前に、アプリケーションはユーザーのプロンプトとスタイルをMicrosoftのモデレーションサーバー (/v1/paint-cocreator/moderate-prompt) に送信します。
サーバーは以下の内容を含むJSONレスポンスを返します:
- ローカルモデルで使用するためのrevised prompt。
- promptGenerationId (GUID)。
- watermarkId (GUID)。
この watermarkId は、その後に画像ピクセルとメタデータに埋め込まれる主要な識別子です。
The Invisible Watermarking Mechanism
Microsoftは、GUIDを埋め込むために専用のライブラリ Watermarker.dll を使用します。このプロセスは、コンテンツ適応型のブロックドメイン・ウォーターマーク(おそらくSVDスタイル)であり、選択された画像ブロック全体にわたってRGBピクセルに小さく量子化された変更を加えます。
Technical Implementation
- Payload Construction: 16バイトのGUIDは、プレフィックス (
0x4c)、GUID、およびバイト合計チェックサムからなる18バイトのメッセージにラップされます。 - Embedding Process: エンコーダーは画像の寸法を8ピクセル境界に丸め、ペイロードの各ビットが冗長性のために少なくとも3回配置されることを保証するために144個のカウンターを使用します。
- Pixel Modification: システムは、識別子を不可視に埋め込むために、かなりの数のピクセル(例:512x512の画像における262,144個中193,376個)を変更します。
- Failure Handling: Microsoft Paintにおいて、
WmkWriteWatermark関数が失敗した場合、画像生成プロセス全体がエラーとして扱われ、画像はユーザーに返されません。
C2PA Metadata and Soft Binding
ピクセルレベルのウォーターマークに加え、Microsoftは保存されたファイルにC2PA (Coalition for Content Provenance and Authenticity) Content Credentialsを付加します。これにより、二重のプロベナンス・システムが構築されます:
- File-Level Manifest: 署名されたC2PAマニフェストがファイルに埋め込まれます(例:PNGsにおける
caBXチャンク)。このマニフェストは、c2pa.soft-bindingフィールドにwatermarkIdを明示的にリストアップします。 - Pixel-Level Watermark:
watermarkIdはWatermarker.dllを介してピクセルに直接埋め込まれます。
この「ソフト・バインディング」により、ファイルレベルのメタデータが削除された場合でも、画像がそのプロベナンス・レコードと一致させることが可能になります。このメタデータを保持するために、PaintはAI生成画像の保存をC2PA互換の形式に制限しています:PNG、JPEG、GIF、および .paint。BMPのような従来の形式は、AI出力に対しては無効化されています。これは、マニフェストを埋め込むことができないためです。
Comparison: Cloud vs. Local Paths
Microsoftは、ハードウェアと使用される機能に応じて、2つの異なる生成パスを採用しています:
| Path | Process | Watermarking Location |
|---|---|---|
| Cloud (Image Creator) | Prompt $\rightarrow$ Cloud Generation $\rightarrow$ Cloud Watermarking $\rightarrow$ Finished Image returned to Paint | Server-side |
| Local (Cocreator) | Prompt $\rightarrow$ Remote Moderation $\rightarrow$ Local NPU Generation $\rightarrow$ Local Watermarker.dll $\rightarrow$ Online Signing |
Client-side |
Community Insights and Privacy Implications
技術的な分析とコミュニティの議論は、いくつかの重要なプライバシーと透明性の懸念事項を浮き彫りにしています:
"GUIDは、それがアーティストを保護するためのものではなく、後でプロベナンスを証明できるようにするためのものであることを示す決定的な証拠です。ユーザーの利益のためにローカルファイルに一意意のIDを埋め込むことなど、誰も行いません。"
コミュニティによって提起された主なポイントは以下の通りです:
- False Sense of Control: Paintの設定にある可視ウォーターマークの切り替えは、Copilotロゴのみを制御します。不可視のGUIDウォーターマークは無効化できません。
- Account Linking: GUIDはユーザーのセッションを認証し、AIクレジットを消費した後にサーバーから発行されるため、ウォーターマークは特定のMicrosoftアカウントとプロンプトに紐付けられます。
- Comparison to Printer Tracking: ユーザーはこれを、ハードウェアがユーザーに無効化できない識別マークを生成する「イエロー・ドット」(プリンター追跡ドット)と比較しています。
- Regulatory Drivers: 一部の観察者は、これがEU AI Act (Article 50) の透明性要件(AI生成コンテンツがマシンリーダブルであること)に合致している可能性が高いと指摘しています。
Conclusion
Microsoftは、C2PAメタデータとリモートのコンテンツ・フィルタリングの使用を開示していますが、ローカルに生成された画像のピクセルに、サーバーから発行された一意のGUIDが埋め込まれていることをユーザーに明示的に伝えていません。このメカニズムは、「ローカル生成」が、モデレーションと識別(identification)の両方において、Microsoftのクラウド・インフラストラクチャに繋ぎ止められた状態であることを保証します。
Sources
関連
- Dispatch
- Dispatch
- プロジェクト
- Dispatch
- Dispatch