JPEG 形式の概要

このトピックでは、Windows イメージング コンポーネント (WIC) で使用できるネイティブ JPEG コーデックについて説明します。

コーデック ID

次の表に、コーデック識別情報を示します。

コンポーネント 説明
正式な名前 Joint Photographic Experts Group (JPEG)
ファイル名拡張子 jpe、jpeg、jpg
MIME の種類 (MIME type) image/jpeg、image/jpe、image/jpg
仕様のサポート JFIF 仕様 1.02

 

次の表は、ネイティブ JPEG コーデック コンポーネントを識別するために使用される GUID の一覧です。

コンポーネント フレンドリ名 GUID
コンテナーの形式 GUID_ContainerFormatJpeg 19e4a5aa-5662-4fc5-a0c01758028e1057
デコーダー CLSID_WICJpegDecoder 9456a480-e88b-43ea-9e730b2d9b71b1ca
エンコーダー CLSID_WICJpegEncoder 1a34f5c1-4a5a-46dc-b6441f4567e7a676

 

Encoding

WIC エンコード API はコーデックに依存しないように設計されており、WIC 対応コーデックのイメージ エンコードは基本的に同じです。 WIC API を使用したイメージ エンコードの詳細については、「エンコードの 概要」を参照してください。

エンコーダー オプション

WIC 対応コーデックはエンコード オプション レベルで異なります。 エンコーダー オプションにはイメージ エンコーダーの機能が反映されており、各ネイティブ コーデックでは、これらのエンコーダー オプションのセットがサポートされています。 エンコーダー オプションは、すべての WIC 対応コードで使用できる基本的な WIC サポートオプション (必ずしもサポートされていない) またはイメージ形式コーデックによって設計されたコーデック固有のオプションです。 エンコード プロセス中にこれらのエンコード オプションを管理するために、WIC は IPropertyBag2 インターフェイス を使用します。 WIC エンコードに IPropertyBag2 インターフェイスを使用する方法の詳細については、「 エンコードの概要」を参照してください。

JPEG コーデックでは、基本的な WIC オプションが使用されます。 次の表に、ネイティブ JPEG コーデックでサポートされる WIC エンコーダー オプションを示します。

プロパティ名 VARTYPE 値の範囲 既定値
ImageQuality VT_R4 0 - 1.0 0.9
BitmapTransform VT_UI1 WICBitmapTransformOptions WICBitmapTransformRotate0
輝度 VT_UI4/VT_ARRAY 64 エントリ (DCT) 既定の輝度テーブル。
Chrominance VT_UI4/VT_ARRAY 64 エントリ (DCT) 既定のクロミナンス テーブル。
JpegYCrCbSubsampling VT_UI1 WICJpegYCrCbSubsamplingOption WICJpegYCrCbSubsampling420
SuppressApp0 VT_BOOL True/False FALSE

 

コーデックがサポートしていない IPropertyBag2 オプション リストにエンコーダー オプションが存在する場合、そのオプションは無視されます。

ImageQuality オプション

必要なイメージの忠実性を指定します。 0.0 は可能な限り低い忠実性を示し、1.0 は最も忠実度を指定します。

既定値は 0.9 です。

BitmapTransform オプション

イメージのデコード中にイメージを変換する方法を指定します。 このオプションは、 WICBitmapTransformOptions 列挙値のいずれかに設定する必要があります。

既定値は WICBitmapTransformRotate0 です

輝度オプション

エンコードに使用するグレースケールの明るさレベル テーブルを指定します。

Chrominance オプション

エンコードに使用する chrominance テーブルを指定します。

JpegYCrCbSubsampling オプション

YCrCb エンコードに使用するサブサンプリング比率を指定します。

既定値は WICJpegYCrCbSubsampling420 です

SuppressApp0 オプション

画像データのエンコード中に App0 メタデータの書き込みを抑制するかどうかを指定します。

既定値は FALSE です。

デコード

WIC デコード API はコーデックに依存しないため、WIC 対応コーデックのイメージ デコードは基本的に同じです。 イメージのデコードの詳細については、「 デコードの概要」を参照してください。 デコードされたイメージ データの使用の詳細については、「 ビットマップ ソースの概要」を参照してください。

ネイティブ JPEG コーデックでは、フレーム デコード時に IWICBitmapSourceTransform もサポートされ、イメージ ストリームをデコードするための advaced オプションが追加されます。 これらの詳細オプションの詳細については、「 ビットマップ ソースの概要」を参照してください。