| ファイル名拡張子 |
.pgf |
|---|---|
| インターネットメディアの種類 | 画像/x-pgf |
| 魔法の数字 | 504746h ( ASCII PGF) の |
| 開発者 | ゼラナ GmbH |
| 初回リリース | 2000年 |
| 最新リリース | 2021年7月21日 |
| フォーマットの種類 | ウェーブレットベースのビットマップ 画像形式 |
| 延長 | JPEG、PNG |
| オープンフォーマット? | LGPLv2 [1] |
PGF (プログレッシブ グラフィックス ファイル) は、ロスレスおよびロッシー データ圧縮を採用したウェーブレット ベースのビットマップ 画像形式です。PGF は、 JPEG形式を改良して置き換えるために作成されました。JPEG 2000と同時に開発されましたが、圧縮率よりも速度に重点が置かれていました。[引用が必要]
PGF は、エンコード/デコードに長い時間をかけずに、また元のDCTベースの JPEG 標準の特徴である「ブロック状でぼやけた」アーティファクトを生成せずに、より高い圧縮率で動作できます。 [2]また、より洗練されたプログレッシブ ダウンロードも可能になります。[要出典]
カラーモデル
PGF はさまざまなカラー モデルをサポートしています。
- 1ピクセルあたり1、8、16、または31ビットのグレースケール
- パレットサイズ 256 のインデックスカラー
- 1ピクセルあたり12、16(赤:5ビット、緑:6ビット、青:5ビット)、24、または48ビットのRGBカラー画像
- 1ピクセルあたり32ビットのARGBカラー画像
- ピクセルあたり24ビットまたは48ビットのL*a*bカラー画像
- 1ピクセルあたり32ビットまたは64ビットのCMYKカラー画像
技術的な議論
PGF は、スケーラビリティなどの機能を追加または改善することで、JPEG よりも優れた圧縮品質を実現していると主張しています。その圧縮パフォーマンスは、元の JPEG 標準と同様です。PGF では、非常に低い圧縮率と非常に高い圧縮率 (ロスレス圧縮を含む) もサポートされています。非常に広範囲の有効ビット レートを処理できる設計能力は、PGF の強みの 1 つです。たとえば、画像のビット数を一定量以下に減らすには、最初の JPEG 標準では、入力画像をエンコードする前に解像度を下げるのが賢明ですが、PGF はウェーブレット スケーラビリティ プロパティを備えているため、通常はその目的では必要ありません。
PGF プロセス チェーンには、次の 4 つのステップが含まれます。
- 色空間変換(カラー画像の場合)
- 離散ウェーブレット変換
- 量子化(非可逆データ圧縮の場合)
- 階層的ビットプレーン ランレングス符号化
色成分変換
最初に、画像を RGBカラー スペースから別のカラー スペースに変換する必要があり、その結果、別々に処理される 3 つのコンポーネントが生成されます。PGF は、完全に可逆な修正YUVカラー変換を使用します。変換マトリックスは次のとおりです。
クロミナンス成分の解像度を縮小することは可能ですが、必ずしも縮小する必要はありません。
ウェーブレット変換
次に、カラー コンポーネントは任意の深度にウェーブレット変換されます。8x8 ブロック サイズの離散コサイン変換を使用する JPEG 1992 とは対照的に、PGF は 1 つの可逆ウェーブレット変換、つまり双直交CDF 5/3ウェーブレット変換の丸めバージョンを使用します。このウェーブレット フィルタ バンクは、JPEG 2000 で使用される可逆ウェーブレットとまったく同じです。整数係数のみを使用するため、出力に丸め (量子化) は必要なく、量子化ノイズも発生しません。
量子化
ウェーブレット変換後、係数はスカラー量子化され、品質の低下と引き換えに、係数を表すビット数を削減します。出力は、ビットごとにエンコードする必要がある整数のセットです。最終的な品質を設定するために変更できるパラメータは、量子化ステップです。ステップが大きいほど、圧縮率が高くなり、品質が低下します。量子化ステップが 1 の場合、量子化は実行されません (ロスレス圧縮で使用されます)。JPEG 2000 とは対照的に、PGF は 2 の累乗のみを使用するため、パラメータ値i は2 iの量子化ステップを表します。2 の累乗を使用するだけで、整数の乗算と除算の演算は不要になります。
コーディング
前のプロセスの結果は、いくつかの近似スケールを表すサブバンドのコレクションです。サブバンドは係数のセットです。係数は、特定の周波数範囲と画像の空間領域に関連付けられた画像の側面を表す整数です。
量子化されたサブバンドは、ウェーブレット領域内の矩形領域であるブロックにさらに分割されます。サブバンドは通常、サブバンド全体の係数が(再構成された)画像領域内でほぼ空間ブロックを形成するように選択され、固定サイズのマクロブロックに集められます。
エンコーダーは、マクロブロックのすべての量子化係数のビットを、最上位ビットから下位ビットへとエンコードする必要があります。このエンコード プロセスでは、マクロブロックの各ビット プレーンが2 つのいわゆるコーディング パスでエンコードされ、最初に重要な係数のビットがエンコードされ、次に重要な係数のリファインメント ビットがエンコードされます。明らかに、ロスレス モードではすべてのビット プレーンをエンコードする必要があり、ビット プレーンをドロップすることはできません。
重要な係数には長いゼロの連続が含まれるため、それらの係数のみが適応型ランレングス/ライス(RLR) コーダで圧縮されます。パラメータk (ゼロの連続の対数長さ)を持つ RLR コーダは、次数 2 kの基本ゴロム コードとも呼ばれます。
他のファイル形式との比較
- JPEG 2000 は、自然画像の処理においてわずかにスペース効率に優れています。同じ圧縮率のPSNR は、PGF の PSNR よりも平均 3% 優れています。圧縮率には若干の優位性がありますが、エンコードとデコードの時間は長くなります。 [2]
- PNG (Portable Network Graphics) は、同じ色のピクセルが多数含まれる画像を処理する場合に、よりスペース効率に優れています。
PGFには、通常のJPEG標準に比べていくつかの利点があると自称されている。[2]
- 優れた圧縮性能: 同じ圧縮率での画像品質 ( PSNRで測定) は、JPEG の PSNR よりも平均 3% 優れています。低ビット レート (グレースケール画像の場合は 0.25 ビット/ピクセル未満など) では、PGF は JPEG の特定のモードよりも大幅に優れています。アーティファクトが目立たなくなり、ブロッキングがほとんど発生しません。JPEG よりも圧縮率が高くなっているのは、DWTを使用しているためです。
- 複数の解像度の表現: PGF は、複数の画像コンポーネントをシームレスに圧縮します。各コンポーネントは、コンポーネント サンプルごとに 1 ~ 31 ビットを保持します。この機能により、プレビュー イメージ (サムネイル)を個別に保存する必要がなくなります。
- 解像度精度によるプログレッシブ伝送、一般にプログレッシブ デコードと呼ばれます。PGF は、解像度によってプログレッシブになる効率的なコード ストリーム構成を提供します。この方法では、ファイル全体の小さな部分を受信した後は、最終的な画像の品質が低下する可能性がありますが、ソースからより多くのデータを取得すると、品質は単調に向上します。
- ロスレス圧縮とロッシー圧縮: PGF は、単一の圧縮アーキテクチャでロスレス圧縮とロッシー圧縮の両方を提供します。ロッシー圧縮とロスレス圧縮は、可逆 (整数) ウェーブレット変換を使用して提供されます。
- サイドチャネル空間情報: 透明度とアルファプレーンが完全にサポートされています
- ROI 抽出: バージョン 5 以降、PGF は画像全体をデコードせずに関心領域 ( ROI ) の抽出をサポートしています。
利用可能なソフトウェア
作者は、GNU Lesser General Public Licenseバージョン2.0の下で、SourceForge経由でlibPGFを公開しました。 [1] Xerainaは、32ビットおよび64ビットWindowsプラットフォーム用のWICベースの無料のWindowsコンソールエンコーダーとデコーダー、およびPGFビューアを提供しています。ファイルエクスプローラーを含む他のWICアプリケーションは、このビューアをインストールするとPGFイメージを表示できます。[3]
Digikam は、サムネイルにlibPGF を使用する、人気の高いオープンソースの画像編集およびカタログ作成ソフトウェアです。PGF 画像のプログレッシブ デコード機能を使用して、各サムネイルの単一バージョンを保存します。その後、損失なくさまざまな解像度にデコードできるため、ユーザーはサムネイルのサイズを動的に変更でき、再計算する必要がありません。[引用が必要]
参照
ファイル拡張子
ファイル拡張子.pgfとTLA PGF は、無関係の目的にも使用されます。
- Adobe Illustrator は、Encapsulated PostScriptより前にProgressive Graphics Format を使用していました。
- PGF/TikZ は、SourceForgeプロジェクトPGFのPortable Graphics Format を使用します。
- XnViewと Konvertor は、ファイル拡張子をPortfolio Graphics
.pgfに関連付けます。
参考文献
- ^ ab Christoph Stamm (2015). 「PGF libPGF.org」. SourceForgeプロジェクト. 2015 年9 月 14 日閲覧。
- ^ abc Stamm, Christoph (2002). 「PGF – 非可逆および可逆画像圧縮のための新しいプログレッシブファイル形式」(PDF)。2007年3月7日時点のオリジナルよりアーカイブ(PDF) 。 2023年4月12日閲覧。
- ^ 「PGFダウンロード」 xeraina. 2013年. 2023年4月12日閲覧。
