WebP エンコードオプション
ImageMagick の WebP 画像形式は、以下に詳述する多くのエンコードオプションを受け付けます。既定のエンコードオプションは次のとおりです:
- quality = 75
- alpha-filtering = 1
- alpha-quality = 100
- autofilter = 0
- filter-sharpness = 0
- filter-strength = 60
- lossless = 0
- method = 4
- pass = 1
- preprocessing = 0
- segments = 4
- sns-strength = 50
- target-psnr = 0
- target-size = 0
ポートレートや室内撮影などのデジタル写真には、次の define を検討してください:
-define webp:sns-strength=80
-define webp:filter-sharpness=4
-define webp:filter-strength=35
-define webp:preprocessing=0
自然光の屋外写真には、次の define を検討してください:
-define webp:sns-strength=80
-define webp:filter-sharpness=3
-define webp:filter-strength=30
-define webp:preprocessing=2
高コントラストの詳細を持つ手描き・線画には、次の define を検討してください:
-define webp:sns-strength=25
-define webp:filter-sharpness=6
-define webp:filter-strength=10
小さくカラフルな画像には、次の define を検討してください:
-define webp:sns-strength=0
-define webp:filter-strength=0
-define webp:preprocessing=0
テキスト画像には、次の define を検討してください:
-define webp:sns-strength=0
-define webp:filter-strength=0
-define webp:preprocessing=0
-define webp:segments=2
target-psnr または target-size が指定された場合、ImageMagick は pass=6 を設定します。ただし、target-psnr や target-size なしで pass が指定された場合、target-psnr=40 は設定しません。
quality が指定された場合、ImageMagick は near_lossless を同じ値に設定します。near_lossless は直接設定できません。quality が 100 以上に設定された場合、ImageMagick は lossless=1 を設定します。これは -quality 100 -define webp:lossless=false で上書きできます。
WebP エンコードオプションの完全な一覧は次のとおりです:
| オプション | 説明 |
|---|---|
| alpha-compression=value | アルファプレーンのエンコード: 0 = なし、1 = 圧縮。 |
| alpha-filtering=value | アルファプレーンの予測フィルタリング方式: 0=なし、1=高速、2=最良。 |
| alpha-quality=value | アルファ圧縮の圧縮値(0〜100)。値 100 でアルファの可逆圧縮、低い値で非可逆圧縮。既定は 100。 |
| exact=true, false | 透明領域の RGB 値を保持する。圧縮性を助けるため既定では無効。 |
| auto-filter=true, false | 有効にすると、バランスの取れた品質に達するようフィルタリング強度の最適化に追加の時間を費やす。 |
| emulate-jpeg-size=true, false | JPEG に似た圧縮を、より少ない劣化で返す。 |
| filter-sharpness=value | フィルタのシャープネス。 |
| filter-strength=value | デブロッキングフィルタの強度(0=フィルタなし〜100=最大フィルタ)。0 はフィルタを無効にする。高い値ほど、デコード後に適用されるフィルタリング処理の強度が増す。値が高いほど画像が滑らかに見える。典型的な値は通常 20〜50 の範囲。 |
| filter-type=value | フィルタタイプ: 0 = 単純、1 = 強力 |
| image-hint=default, photo, picture, graph | 画像タイプに関するヒント。 |
| lossless=true, false | 損失なく画像をエンコードする。 |
| low-memory=true, false | メモリ使用量を減らす。 |
| method=value | 使う圧縮方式。エンコード速度と圧縮ファイルサイズ・品質のトレードオフを制御する。値は 0〜6。既定は 4。高い値ほど、追加のエンコード可能性を検査し品質向上を判断する時間が増える。低い値はファイルサイズの増大と圧縮品質の低下と引き換えに処理時間が速くなりうる。 |
| preprocessing=value | 次から選ぶ: 0=なし、1=segment-smooth、2=擬似ランダムディザリング。 |
| partitions=value | プログレッシブデコード: 0〜3 を選ぶ。 |
| partition-limit=value | 品質劣化なしには 0、最大劣化には 100 を選ぶ。 |
| pass=value | 圧縮サイズや PSNR を目標とするパスの最大数。 |
| segments=value | 1〜4 から選ぶ、使うセグメントの最大数。 |
| show-compressed=true, false | |
| sns-strength=value | 空間ノイズシェーピングの振幅。空間ノイズシェーピング(SNS)は、画像のどの領域に比較的少ないビットを使い、どこにそれらのビットをより良く振り向けるかを決める組み込みアルゴリズムの総称。範囲は 0(アルゴリズム無効)〜100(最大効果)。既定は 80。 |
| target-size=value | 圧縮出力で達成しようとする目標サイズ(バイト)。圧縮器はこの目標にできるだけ近づくため、部分エンコードを複数回パスする。 |
| target-psnr=value | 望ましい最小歪み。 |
| thread-level=value | マルチスレッドエンコードを有効にする: 0 = 無効、1 = 有効。 |
| use-sharp-yuv=value | 必要なら、シャープ(で遅い)RGB→YUV 変換を使う。 |