Rasterization
ラスタライゼーション(Rasterization)とは、ベクターグラフィックス、テキスト、その他の解像度非依存なPDFコンテンツを、特定の解像度における固定されたピクセルグリッド(ラスター画像)に変換するプロセスです。
ラスタライゼーション(Rasterization)とは、ベクターグラフィックス、テキスト、その他の解像度非依存なPDFコンテンツを、特定の解像度における固定されたピクセルグリッド(ラスター画像)に変換するプロセスです。PDF文書は通常、どのズームレベルでも品質を維持できるようにベクター形式でコンテンツを保存していますが、画面へのPDFコンテンツの表示や、ピクセルベースの表現で動作するデバイスへの印刷時にはラスタライゼーションが必要になります ( Citation: N.A., 2020 (N.A.). (2020). Document management — Portable document format — Part 2: PDF 2.0 . International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) 。この変換プロセスにより、選択された解像度とレンダリング品質に基づいて、最終出力の滑らかさと詳細度が決定されます。
ラスタライゼーションとは、図形、線、フォントの数学的記述を、表示または印刷可能な離散的なピクセル値に変換するレンダリング技術です。PDFにおいては、PDFファイル内で定義されたベクターパス、テキストアウトライン、グラデーション、その他のスケーラブルな要素を取得し、特定の解像度(通常はDPI(Dots Per Inch)で測定)での出力画像における各ピクセルの具体的な色値を計算することを意味します。
数学的な式を使用してコンテンツを記述し、品質を損なうことなく無限にスケール可能なPDFファイルに保存されたベクターデータ ( Citation: N.A., 2020 (N.A.). (2020). Document management — Portable document format — Part 2: PDF 2.0 . International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) とは異なり、ラスタライズされた画像は固定された解像度を持ちます。例えば、コンテンツが150 DPIでラスタライズされた場合、その出力を拡大すると目に見えるピクセル化が発生します。この基本的な違いにより、ラスタライゼーションは一方向の変換となります。元のベクター形式に関する情報は、通常、ラスタライズされた出力では失われます。
PDF文書を扱う開発者にとって、ラスタライゼーションの理解はいくつかの実用的なシナリオにおいて極めて重要です。PDFビューアを構築する際には、画像品質とメモリ使用量およびレンダリングパフォーマンスのバランスを取るために、適切な解像度でコンテンツをラスタライズする必要があります。高解像度のラスタライゼーションはより鮮明な出力を生成しますが、より多くのメモリと処理時間を消費します。
ラスタライゼーションは、PDF印刷ワークフロー、サムネイル生成、PNGやJPEGなどの画像形式への変換においても重要な役割を果たします。開発者は、テキストの可読性を維持し、画像の品質を保持し、ファイルサイズを管理可能な範囲に保つために、適切なラスタライゼーション設定を選択する必要があります。不適切なラスタライゼーションの選択は、ぼやけたテキスト、ギザギザの線、または不必要に大きな出力ファイルを引き起こす可能性があります。さらに、アクセシブルなPDFを扱う際には、コンテンツをラスタライズすると、スクリーンリーダーやその他の支援技術にとって重要なテキスト構造とメタデータが破壊される可能性があることを開発者は理解する必要があります ( Citation: N.A., 2014 (N.A.). (2014). 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レンダリングエンジンが実行するいくつかの重要なステップが含まれます:
解像度の決定:レンダラーはまず、出力デバイスまたは指定されたDPI設定に基づいてターゲット解像度を決定します。解像度が高いほど1インチあたりのピクセル数が増え、より滑らかで詳細な出力が得られますが、より多くの計算リソースが必要になります。
座標変換:PDFコンテンツストリームからのベクター座標は、PDFの内部座標系からターゲットピクセルグリッドに変換されます。これには、PDFで指定された回転、スケーリング、その他の変換の適用が含まれます。
スキャン変換:レンダラーはスキャン変換(スキャンライン変換とも呼ばれる)を実行して、ベクター図形とテキストアウトラインの内部にどのピクセルが含まれるかを判断します。このプロセスでは、アンチエイリアシングアルゴリズムを使用して、境界に沿ったピクセルの部分的なカバレッジを計算することでエッジを滑らかにし、ギザギザの「階段状」効果を防ぎます。
色の計算:各ピクセルについて、レンダラーは、 ( Citation: N.A., 2020 (N.A.). (2020). Document management — Portable document format — Part 2: PDF 2.0 . International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) で定義されたPDFイメージングモデルに従って、塗りつぶし、ストローク、透明度、ブレンドモード、および重なり合うコンテンツを考慮して最終的な色値を計算します。
出力バッファリング:結果として得られるピクセルデータはメモリ内のビットマップバッファに書き込まれ、その後画面に表示されたり、プリンターに送信されたり、ラスター画像ファイルとして保存されたりします。
- Vector Graphics(ベクターグラフィックス) – ピクセルではなく数学的パスによって定義される解像度非依存のグラフィックス
- Content Stream(コンテンツストリーム) – ページの外観を記述する描画オペレーターとデータを含むPDFの部分
- Anti-aliasing(アンチエイリアシング) – ラスタライゼーション中にエッジを滑らかにし、ピクセル化アーティファクトを減らすために使用される技術
- Rendering Engine(レンダリングエンジン) – PDFコマンドを解釈し、視覚的な出力を生成するソフトウェアコンポーネント
- DPI (Dots Per Inch) – 出力の1インチあたりに表示されるピクセルまたはドットの数を示す解像度の測定単位
- (N.A.) (2020)
- (N.A.). (2020). 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.). (2014). 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
