Skip to main content
Interwork Corporation
IDR Solutions Product Support Portal
PDF開発用語集 モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動

FlateDecode

FlateDecodeは、PDFファイルで最も広く使用されている圧縮フィルタであり、で定義されているzlib/deflate圧縮アルゴリズムを実装しています。

カテゴリ: General PDF Concepts
キーワード: flatedecode, FlateDecode

概要

FlateDecodeは、PDFファイルで最も広く使用されている圧縮フィルタであり、 ( Citation: N.A., (N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) で定義されているzlib/deflate圧縮アルゴリズムを実装しています。コンテンツストリーム、メタデータ、画像データなど、さまざまなPDFオブジェクトを圧縮することでファイルサイズを削減します。可逆圧縮方式として、FlateDecodeはデータの整合性を保ちながら、ストレージと転送の要件を大幅に削減します。

定義

FlateDecodeは、PDFファイル内のデータをエンコードするために、zlibラッパー形式(RFC 1950)を用いたDEFLATEアルゴリズム(RFC 1951)を適用する圧縮フィルタです。情報を破棄して圧縮を実現するDCTDecodeJPEG)などの非可逆圧縮フィルタとは異なり、FlateDecodeは解凍後のデータが元の入力と完全に一致することを保証します。このフィルタはPDF仕様 ( Citation: N.A., (N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) で規定されており、ページコンテンツストリーム、フォントデータ、各種メタデータ構造など、PDFドキュメント全体のストリームに適用できます。FlateDecodeは、Lempel-Ziv-Welchアルゴリズムを使用するLZWDecodeなどの他の可逆フィルタとは、圧縮効率、広範なサポート、特許制限がない点で異なります。

重要性

PDF生成、操作、解析を行う開発者にとって、FlateDecodeの理解は不可欠です。なぜなら、事実上すべての現代的なPDFドキュメントに登場するからです。FlateDecodeの圧縮を適切に実装することで、コンテンツの種類に応じてファイルサイズを50~90%削減でき、アプリケーションのパフォーマンス、ストレージコスト、ネットワーク帯域幅に直接影響します。 ( Citation: N.A., (N.A.). (). Document management applications — Electronic document file format enhancement for accessibility — Part 1: Use of ISO 32000-1 (PDF/UA-1) International Organization for Standardization Retrieved from https://www.iso.org/standard/64599.html ) などの規格に準拠したアクセシブルなPDFを作成する際、開発者は圧縮が構造ツリーやタグ付きコンテンツを妨げないようにする必要があります。さらに、PDFの問題をデバッグする際には、基礎となるコンテンツを検査するためにストリームを解凍する必要があることが多く、破損または不正な形式のドキュメントのトラブルシューティングにはFlateDecodeの知識が不可欠です。

仕組み

FlateDecode圧縮は、入力データ内の繰り返されるパターンやシーケンスを識別し、それらを以前の出現箇所への短い参照で置き換えることで機能します。DEFLATEアルゴリズムは、LZ77圧縮(重複する文字列を検出)とハフマン符号化(頻繁に出現するシンボルに短いコードを割り当てる)を組み合わせています。PDFリーダーがストリーム辞書に/FlateDecodeフィルタが指定されたストリームに遭遇すると、圧縮されたデータをこのプロセスを逆転させる解凍ルーチンに通します。このフィルタは、予測関数(/DecodeParms辞書エントリを介して指定)と組み合わせることができ、隣接するピクセル間の空間的相関を利用して画像データの圧縮率をさらに向上させます。開発者はPDFライブラリを通じて圧縮レベルを制御でき、処理時間とファイルサイズの小ささをトレードオフできますが、ほとんどの実装では汎用的なドキュメント作成に適したバランスの取れたデフォルト設定を使用しています。

関連用語

  • Stream – FlateDecodeなどのフィルタで圧縮できるPDF内のバイトシーケンス
  • Filter – 圧縮、暗号化、またはエンコードの目的でストリームデータに適用される変換
  • DecodeParms – 予測関数などのフィルタ処理されたストリームを解凍するためのパラメータを指定する辞書
  • Content Stream – ページコンテンツを定義するエンコードされた命令で、通常はFlateDecodeで圧縮される
  • LZWDecode – Lempel-Ziv-Welchアルゴリズムを使用する代替の可逆圧縮フィルタ

出典

(N.A.) (2020)
(N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html
(N.A.) (2014)
(N.A.). (). Document management applications — Electronic document file format enhancement for accessibility — Part 1: Use of ISO 32000-1 (PDF/UA-1) International Organization for Standardization Retrieved from https://www.iso.org/standard/64599.html