画像エンコーダー

読み: がぞうえんこーだー

生のピクセルデータを特定の画像フォーマット (JPEG、PNG、WebP など) に圧縮・変換するソフトウェアモジュール。

画像エンコーダーは、メモリ上の非圧縮ピクセルデータ (RGB/RGBA バッファ) を特定のファイル形式に変換するモジュールである。エンコード処理では圧縮アルゴリズムの適用、ヘッダー情報の付与、メタデータの埋め込みが行われる。フォーマットごとに専用のエンコーダーが存在し、JPEG には libjpeg-turbo、PNG には libpng や OxiPNG、WebP には libwebp が代表的である。

エンコーダーの品質は圧縮効率 (同品質でのファイルサイズ) と処理速度のバランスで評価される。例えば MozJPEG は同品質でも標準の libjpeg より小さいファイルを生成できるが、エンコード速度は遅い。削減幅は画像の内容とエンコード設定によって変わるため、同じ画像で書き出して比べるのが確実である。

ブラウザ上でのクライアントサイド処理では、Canvas API の toBlob() が内蔵エンコーダーを使用するほか、WebAssembly にコンパイルした高性能エンコーダーを利用することで、より高い圧縮効率を実現できる。

関連用語

関連記事