libjpeg

出典: フリー百科事典『ウィキペディア(Wikipedia)』
ナビゲーションに移動 検索に移動
libjpeg
開発元 Independent JPEG Group
最新版
9d / 2020年1月12日 (20か月前) (2020-01-12)
プログラミング
言語
C言語
種別 グラフィックライブラリ
ライセンス フリー、ロイヤリティ無しで商用利用可、表示が必要。
公式サイト http://www.ijg.org
テンプレートを表示
libjpeg-turbo
開発元 Libjpeg-Turboプロジェクト
最新版
2.0.4 / 2019年12月31日 (20か月前) (2019-12-31)
プログラミング
言語
C言語
種別 グラフィックライブラリ
公式サイト https://libjpeg-turbo.org/
テンプレートを表示

libjpegは、JPEGのエンコード、デコードを行うためのライブラリである。JPEGファイルを操作するためのユーティリティも含んでいる。開発はIndependent JPEG Groupで、「IJG JPEG ライブラリ」とも呼ばれる。

派生として、SIMD命令(MMX、SSE2、AVX2、NEON、AltiVec)に対応することで高速描画を可能にしたlibjpeg-turboが存在する。

概要[編集]

libjpegC言語で記述されたライブラリで、JPEGデコーダ、JPEGエンコーダ、その他JPEGユーティリティの広く使われている実装を含んでいる。 このライブラリはIndependent JPEG Groupによって保守されている。

エンコード、デコードにおいて負荷が高いDCTの演算では、浮動小数点演算、精度の高い整数演算、高速な整数演算の三通りが実装されており、用途によって選択できる。後者ほど演算誤差が大きい代わり、高速になる。

量子化テーブルはあらかじめプリセットもされており、1つのパラメータだけで画質と圧縮率のバランスを変更できる。プログラマによる量子化テーブルの定義も可能である。

ユーティリティ[編集]

libjpegは以下のユーティリティプログラムを含んでいる。

  • cjpegdjpeg - JPEGと、他の一般的な画像フォーマットとの変換を行う。
  • rdjpgcomwrjpgcom - JFIFファイル内にあるテキストの読み書きを行う。
  • jpegtran - JPEGファイルに対し、以下のような変換を行う。

jpegtranによる操作は、画像の劣化は発生しない(データの伸張と再圧縮をともなわず、そのためジェネレーションロスによる劣化が起きない)。

jpegtranのユーザインタフェースとなる、JpegcropというWindowsアプリケーションが存在する。

関連項目[編集]

外部リンク[編集]