画像と写真 · 画像コンバーター & コンプレッサー
クロマ サブサンプリング: JPEG が赤いテキストと細い色の線をぼかす理由
· 仕組み
画像形式 jpeg 画質
JPEG および非可逆 WebP は、明るさよりも低い解像度で色を保存します。これは写真では見えず、赤いテキストでは明らかです。この投稿では、4:2:0 サブサンプリング、エンコーダーがサブサンプリングを行う理由、およびカラー エッジが重要な場合の形式の選択方法について説明します。
黒いテキストは鮮明なままですが、赤いラベルがぼやけて表示される — クロマ サブサンプリングを直接示す症状
赤いラベルは、スクリーンショットでは両方が鮮明なベクトルとして始まっている場合でも、隣接する暗いテキストよりも柔らかく現れることがあります。この症状は調査する価値がありますが、それ自体では正確なクロマ サブサンプリング モードを特定することはできません。 ToolAcre はソースをデコードし、ピクセルをキャンバスに描画し、ブラウザーに JPEG または WebP バイトを要求します。結果として得られるエッジは証拠ですが、エンコーダーの個人的な決定は証拠ではありません。
1 つの背景に細い赤、青、グレー、黒のストロークを含む制御された画像から始めます。サイズを変更しないで、各ターゲットを 1 回エクスポートし、ネイティブ ピクセル サイズでダウンロードを検査します。非可逆出力のみが飽和境界を汚す場合は、形式の選択が関係します。すべての出力がソフトである場合は、プランでは変更されたディメンションがリサンプリングとして分類されるため、最初にサイズ変更が行われたかどうかを確認します。
輝度と彩度: ピクセルを明るさと色に分割する - YCbCr 変換とエンコーダが 2 つを分離する理由
アウトラインでは輝度と彩度の変換について説明していますが、このリポジトリには変換コードがありません。アプリケーションは、デコードされた RGBA ピクセルをブラウザー エンコーダーに供給し、個別の輝度またはカラー プレーンを受け取ることはありません。したがって、ブラウザの係数計算や内部の色の表現を明らかにすることなく、実際的な違い (非可逆出力では目に見える詳細が無視される可能性がある) を文書化できます。
この境界により、欠陥レポートの書き方が変わります。ソース MIME タイプ、ターゲット MIME タイプ、品質、元のサイズと出力のサイズ、ブラウザ、および影響を受けるエッジを示すクロップを記録します。エンコーダ検査で証明されない限り、特定のチャネルが半分になったとは述べないでください。正確な観察を再現できます。隠された実装設定に関する借用した説明により、メンテナが自分が持っていないコントロールに誘導される可能性があります。
カラー詳細の損失が観察可能ですが、このリポジトリは YCbCr 変換を実装または公開していません
おなじみの 4:4:4、4:2:2、および 4:2:0 ラベルは、このインターフェイスのコントロールではありません。 `encodeCanvas` は MIME タイプのみを渡し、JPEG または WebP の場合は正規化された品質値を渡します。パネルも変換プランもサブサンプリング フィールドを持ちません。これらのモードを選択可能として示したセクションは、出荷された製品と矛盾することになるため、有益な教訓は、その選択肢がないことです。
カラーエッジの忠実度が要件の場合は、スライダーからモードを推測するのではなく、結果を検査できるパスを選択します。 PNG は利用可能なロスレス エンコーダーであり、寸法が固定されている場合はアルファを維持します。 JPEG および ToolAcre の WebP 出力は、あらゆる品質で損失があると明示的に説明されています。ソースに裏付けられたこの区別は、サポートされていないサポート マトリックスを公開することなく、より安全な図の候補を選択するのに十分です。
ブラウザー エンコーダーは、4:4:4、4:2:2、または 4:2:0 セレクターを公開しません。
写真では、テクスチャ、照明、不規則な境界全体に詳細が分散されるため、色のエッジの小さな変化は、1 ピクセルのインターフェイス ルールに基づく場合よりも目立たなくなる可能性があります。これは検査ヒューリスティックであり、人間の視覚が ToolAcre でエンコードされた比率に従うという主張ではありません。このアプリケーションは、知覚的な類似性を計算したり、コンテンツを分類したり、損傷が視聴者に見えないことを保証したりすることはありません。
代表的な素材を使用します。ポートレートだけでは、カラー文字がたくさんあるデザイン システムのテストとしては不十分であり、合成チャートだけでは写真ライブラリの代用としては不十分です。コンバーターは測定されたバイト サイズを報告し、最初の結果の前後のプレビューを提供しますが、受け入れには実際のレイアウトでファイルを開くことが含まれる必要があります。プレビュー スケーリングにより、レビュー中の境界損傷を正確に隠すことができます。
写真は、グラフィックスよりもカラーエッジの損失をうまく隠すことができます。ここではビジョンモデルは主張されていません
グラフィックはハードトランジションに意味を集中させます: 赤い警告の下線、グラフ内の青い系列、または白地に色付きのテキスト。非可逆エンコード中に隣接するサンプルがブレンドまたは丸められると、位置が変更されていない場合でも、エッジがにじんでいるように見えることがあります。 `drawImage` はエンコード前に高度なスムージングを使用してソースを再描画するため、サイズ変更により別のメカニズムが追加されます。
最初の比較では寸法を一定に保つことで、これらのメカニズムを分離します。 PNG が鮮明なままで、JPEG と WebP がソフト化する場合、非可逆エンコード段階が差別化要因となります。次に意図的なサイズ変更を繰り返して、リサンプリングによって何が追加されるかを学びます。この 2 段階の実験は、各ラウンドで 1 つの決定のみが行われるため、品質、サイズ、形式を一緒に変更するよりも強力です。
ブラウザ エンコーダで制御できるもの — 品質数値はあるがサブサンプリング スイッチがない、および非可逆 WebP が常に 4:2:0 である理由
ToolAcre は、JPEG および WebP に対して、0.01 から 1 までの範囲で固定された品質番号をブラウザーに提供します。カラー サンプリング、変換テーブル、またはエンコーダ作業のためのスイッチはありません。非可逆 WebP は常に名前付きサブサンプリング モードであるというワークブックの主張は、検査された実装の範囲外であるため、この記事では製品保証として意図的に繰り返しません。
非表示のエンコーダーの選択に対する実際的な対応策は、文書化されていないチェックボックスを探し回らないことです。実際の出力を比較し、ソースを保存し、小さなファイルよりも正確な色のエッジが重要な場合は PNG を選択します。実稼働パイプラインで指定されたサンプリング モードが必要な場合は、文書化された API がそれを公開するエンコーダーを使用します。キャンバスコンビニエンス API は、決して受け入れない契約を満たすことはできません。
このツールは品質のみを渡します。エンコーダのサブサンプリング ポリシーは非表示のままです
細い赤と青の対角線、濃いラベル、滑らかなニュートラル グラデーション、および 1 つの透明なコーナーを備えた 1200 by 800 テスト チャートを作成します。サイズを変更せずに PNG、JPEG、WebP にエクスポートします。リポジトリはバイト合計や正確なアーティファクトを予測できないため、約束されたパーセンテージをテスト計画に挿入する代わりに、パネルに表示された測定結果を書き留めます。
100 パーセントで、色付きのストロークを暗いコントロールと比較し、透明なコーナーが残っているかどうかを確認します。 PNG は、サポートされているロスレス エンコーダを通じてアルファを保持する必要があります。 JPEG はアルファを保存できないため、選択されたマットを受け取ります。 WebP はアルファを保持しますが、依然として非可逆とマークされています。これら 3 つの目に見える結果は、個別のプロパティをテストし、「より小さい」を「より良い」の同義語として扱うことを避けます。
要点: コンテンツに応じて形式を選択する — カラー エッジを鮮明に保つ必要がある場合に、画像コンバーターと圧縮機能を使用して同じ画像を PNG としてエクスポートする方法
形式の選択は、すべてのダウンストリーム アプリケーションがどのように色のレンダリング、画像のズーム、または表示用の拡大縮小を行うかを保証することはできません。また、ToolAcre は、出力からサブサンプリング メタデータを公開したり、ピクセル差メトリックを提供したりしません。これらの省略は、最終チェックが変換パネル内だけでなく、ターゲット ページ、ドキュメント、またはアプリケーションに属することを意味します。
飽和テキストと色の狭いルールの場合は、損失のない候補から始めて、損失のある置換を直接検査して正当化します。 Image Converter & Compressor を使用すると、同じソース、固定サイズ、3 つの出力形式、測定バイト数などの比較を 1 つのデバイスで再現できます。共有スライダー番号や推定サブサンプリング モードではなく、結果によって何が出荷されるかが決まります。