cwebp

名前

cwebp -- 画像ファイルを WebP ファイルに圧縮する

概要

cwebp [options] input_file -o output_file.webp

説明

cwebp は、WebP 形式を使用して画像を圧縮します。入力形式は、PNG、JPEG、TIFF、WebP、または未加工の Y'CbCr サンプルです。注: アニメーション化された PNG と WebP ファイルはサポート対象外です。

オプション

基本的なオプションは次のとおりです。

-o string
出力 WebP ファイルの名前を指定します。省略した場合、cwebp は圧縮を実行しますが、報告するのは統計情報のみです。出力名として "-" を使用すると、'stdout' に出力が転送されます。
-- string
入力ファイルを明示的に指定します。このオプションは、入力ファイルが '-' で始まる場合に役立ちます。このオプションは last にする必要があります。それ以降のオプションは無視されます。
-h, -help
使用の概要。
-H, -longhelp
可能性のあるすべてのオプションの概要。
-version
バージョン番号を(メジャー.minor.revision として)出力して終了します。
-lossless
画像を失わずにエンコードします。完全に透明な領域を含む画像の場合、非表示のピクセル値(R / G / B または Y / U / V)は、-exact オプションが使用されている場合にのみ保持されます。
-near_lossless int
ほぼ損失のない画像前処理のレベルを指定します。このオプションは、圧縮しやすくするためにピクセル値を調整しますが、画質への影響は最小限です。これにより、ロスレス圧縮モードが自動的にトリガーされます。範囲は、0(最大前処理)から 100(前処理なし、デフォルト)です。一般的な値は約 60 です。-q 100 でロッシーを使用すると、結果が向上する場合があります。
-q float

RGB チャネルの圧縮率を 0100 の範囲で指定します。デフォルトは 75 です。

ロッシー圧縮(デフォルト)の場合、小さな因子により、画質の低い小さなファイルが生成されます。最高の品質を得るには、100 の値を使用します。

ロスレス圧縮(-lossless オプションで指定)の場合、小さい係数によって圧縮速度は速くなりますが、大きなファイルが生成されます。最大圧縮を行うには、値に 100 を使用します。

-z int

lossless 圧縮モードをオンにします。圧縮レベルは 0 ~ 9 で指定します。レベル 0 が最も高速、9 が最も低速です。高速モードでは、低速のファイルよりも大きなファイルサイズが生成されます。適切なデフォルト値は -z 6 です。 このオプションは、品質とメソッドの事前定義された設定の一部へのショートカットです。オプション -q または -m を後で使用すると、このオプションの効果は無効になります。

-alpha_q int

0 から 100 までのアルファ圧縮の圧縮係数を指定します。アルファのロスレス圧縮は 100 の値を使用して実現されますが、値が小さいほどロッシー圧縮になります。デフォルトは 100 です。

-preset string

特定の種類のソース マテリアルに合わせて、事前定義パラメータのセットを指定します。有効な値は defaultphotopicturedrawingicontext です。

-preset は他のパラメータ(-q 以外のパラメータ)を上書きするため、このオプションは引数の順序で最初に表示されることが推奨されます。

-m int

使用する圧縮方法を指定します。このパラメータは、エンコード速度と圧縮ファイルのサイズおよび品質のトレードオフを制御します。可能な値は、06 です。デフォルト値は 4 です。高い値を使用すると、エンコーダは追加のエンコードの可能性を検査し、品質の向上を決定します。値を小さくすると、処理時間が短縮され、ファイルサイズと圧縮品質が低くなります。

-crop x_position y_position width height

ソースを、座標(x_positiony_position)の左上隅、サイズ widthheight の長方形に切り抜きます。この切り抜き領域は、ソースの長方形内に完全に収まっている必要があります。注: トリミングはスケーリングの前に適用されます。

-resize width height

ソースのサイズを width×height の長方形に変更します。幅パラメータと高さパラメータのいずれか(両方ではない)が 0 の場合、値はアスペクト比を維持したまま計算されます。注: スケーリングは切り抜き後に適用されます。

-mt

可能であれば、エンコードにはマルチスレッドを使用します。

-low_memory

圧縮されたサイズ(通常は 4 倍)を節約することで、ロッシー エンコードのメモリ使用量を削減します。これにより、エンコードが遅くなり、出力がサイズと歪みがわずかに異なります。このフラグは、メソッド 3 以降でのみ有効で、デフォルトではオフになっています。このフラグをオフにすると、ビットストリームにいくつかの副作用が生じます。パーティションの数(1 が強制されるなど)などの特定のビットストリーム機能が強制されます。このオプションを使用すると、ビットストリーム サイズの詳細なレポートが cwebp によって出力されます。

ロッシー オプション

これらのオプションは、ロッシー エンコーディング(デフォルト、アルファの有無にかかわらず)を行う場合にのみ有効です。

-size int
圧縮出力を行うターゲット サイズ(バイト単位)を指定します。コンプレッサーは、このターゲットにできるだけ近づくために、部分的なエンコードを数回実行します。-size-psnr の両方が使用されている場合は、-size の値が優先されます。
-psnr float
圧縮出力用のターゲット PSNR(dB)を指定します。コンプレッサーは、このターゲットにできるだけ近づくために、部分的なエンコードを数回実行します。-size-psnr の両方が使用されている場合は、-size 値が優先されます。
-pass int
オプション -size または -psnr で使用される二分法で使用するパスの最大数を設定します。最大値は 10、デフォルトは 1 です。オプション -size または -psnr が使用され、-pass が指定されていない場合は、デフォルト値の '6' パスが使用されます。
-af
自動フィルタを有効にします。このアルゴリズムは、バランスの取れた品質を実現するためにフィルタリング強度の最適化に時間を費やします。
-jpeg_like
JPEG 圧縮で予想されるサイズに合わせて、内部パラメータ マッピングを変更します。このフラグは通常、同じ -q 設定に関して JPEG と同等のサイズの出力ファイルを生成しますが、視覚的な歪みは小さくなります。

詳細オプション:

-f int
非ブロックフィルタの強度を 0(フィルタリングなし)と 100(最大フィルタリング)の間で指定します。値を 0 に設定すると、フィルタリングがオフになります。値を大きくするほど、画像のデコード後に適用されるフィルタリング プロセスの強度が高くなります。値が大きいほど、動画が滑らかに表示されます。一般的な値は通常、2050 です。
-sharpness int
フィルタリングのシャープネスを指定します(該当する場合)。範囲は 0(最もシャープ)~7(最もシャープ)です。デフォルトは 0 です。
-strong
強力なフィルタリングを使用します(-f オプションのおかげでフィルタリングが使用されている場合)。強力なフィルタリングはデフォルトでオンになっています。
-nostrong
強力なフィルタリングを無効にし(-f オプションによってフィルタリングを使用している場合は)、代わりにシンプルなフィルタリングを使用します。
-sharp_yuv
必要に応じて、より正確でより鮮明な RGB - YUV 変換値を使用します。このプロセスはデフォルトの 'fast' RGB->YUV 変換よりも遅いことに注意してください。
-sns int
空間ノイズ シェーピングの振幅を指定します。空間ノイズシェーピング(または SNS)は、画像内のどの領域を比較的ビットの少ない領域に使用し、どの部分をより適切に転送するかを決定するために使用される組み込みアルゴリズムの一般的なコレクションを指します。可能な範囲は、0(アルゴリズムがオフ)から 100(最大効果)です。デフォルト値は 50 です。
-segments int
SNS アルゴリズムのセグメンテーション中に使用するパーティションの数を変更します。セグメントは 14 の範囲で指定してください。デフォルト値は 4 です。-low_memory を使用しない限り、このオプションはメソッド 3 以降で無効です。
-partition_limit int
一部のマクロブロックで使用されるビット数を制限することで、品質が低下します。範囲は 0(デグレードなし、デフォルト)から 100(完全なデグレード)です。やや大きな画像の場合、有効な値は通常 3070 程度です。VP8 形式では、いわゆるコントロール パーティションの上限が 512k で、マクロブロックをスキップするかどうか、どのセグメントに属しているか、4 × 4 または 16 × 16 のいずれかのモードでコード化されているかどうか、最後に各サブブロックで使用する予測モードを格納するために使用されます。非常に大きな画像の場合、512k は 16x16 マクロブロックごとに数ビットの空きしかありません。絶対最小値はマクロブロックあたり 4 ビットです。スキップ、セグメント、モードの情報により、これら 4 ビットのほとんどが使用される可能性があります(ただし、まれに例外です)。これは、非常に大きな画像の場合には問題です。partition_limit 係数は、最もビットコストの高いモード(4x4 内)が使用される頻度を制御します。これは、512k の上限に達し、次のメッセージが表示される場合に便利です。エラーコード: 6(PARTITION0_OVERFLOW: パーティション #0 が大きすぎて 512k には対応できません)。-partition_limit を使用するだけで 512k の制約を満たすには、マクロブロックあたりのヘッダービット数を節約するために、使用するセグメントの数を少なくする必要があります。-segments オプションをご覧ください。

ロギング オプション

次のオプションは、出力のレベルを制御します。

-v
追加情報(特にエンコード時間)を出力します。
-print_psnr
平均 PSNR(ピーク信号対雑音比)を計算してレポートします。
-print_ssim
平均 SSIM を計算して報告します(構造的類似性指標。詳しくは、https://en.wikipedia.org/wiki/SSIM をご覧ください)。
-print_lsim
ローカル類似性の指標(同じ場所に配置されたピクセルネイバー間の最小誤差の合計)を計算して報告します。
-progress
エンコーディングの進捗率(%)。
-quiet
何も出力しないでください。
-short
テスト目的の短い情報(出力ファイルサイズと PSNR)のみを出力します。
-map int
追加のエンコード情報 ASCII マップを出力します。指定できるマップ値の範囲は 1 から 6 です。これはデバッグを支援することのみを目的としています。

その他のオプション

より高度なオプションは次のとおりです。

-s width height
入力ファイルが、実際には ITU-R BT.601 推奨に従い、4:2:0 リニア形式で未加工の Y' CbCr サンプルで構成されていることを指定します。輝度プレーンのサイズは width x height です。
-pre int
前処理の手順をいくつか指定します。値を 2 に設定すると、RGBA->YUVA 変換中に品質依存の疑似ランダム ディザリングがトリガーされます(不可逆圧縮のみ)。
-alpha_filter string
アルファ プレーンの予測フィルタリング メソッドを指定します。nonefastbest のいずれか。複雑度と速度の遅い順になります。デフォルトは、fast です。内部的には、4 つの可能性のある予測(なし、水平、垂直、グラデーション)を使用してアルファ フィルタリングが実行されます。best モードでは、各モードが順番に試行され、モードが小さい方が選択されます。fast モードは、すべてのモードをテストせずに単純に前例推測を形成しようとします。
-alpha_method int
アルファ圧縮に使用するアルゴリズムを指定します(0 または 1)。アルゴリズム 0 は圧縮なしを示し、1 は WebP のロスレス形式を圧縮に使用します。 デフォルトは 1 です。
-exact
RGB 値は透明領域で保持します。圧縮性を考慮して、デフォルトはオフです。
-blend_alpha int
このオプションは、アルファ チャネル(存在する場合)を、16 進数で指定された背景色を 0xrrggbb としてソースとブレンドします。その後、アルファ チャネルは不透明値 255 にリセットされます。
-noalpha
このオプションを使用すると、アルファ チャンネルは破棄されます。
-hint string
入力画像タイプに関するヒントを指定します。有効な値は photopicturegraph です。
-metadata string

入力から出力にコピーするメタデータ(存在する場合)のカンマ区切りのリスト。有効な値: allnoneexificcxmpデフォルトは none です。

各入力形式はすべての組み合わせをサポートしているわけではありません。

-noasm

組み立ての最適化をすべて無効にします。

バグ

cwebp -q 50 -lossless picture.png -o picture_lossless.webp
cwebp -q 70 picture_with_alpha.png -o picture_with_alpha.webp
cwebp -sns 70 -f 50 -size 60000 picture.png -o picture.webp
cwebp -o picture.webp -- ---picture.png

作成者

cwebplibwebp の一部であり、WebP チームによって作成されました。 最新のソースツリーは https://chromium.googlesource.com/webm/libwebp/ で入手できます。

このマニュアル ページは、Debian プロジェクト用に作成されています(他のユーザーによって使用されている場合もあります)。