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 オプションが追加されます。 これらの詳細オプションの詳細については、「 ビットマップ ソースの概要」を参照してください。