日本語

画像と写真 · 画像コンバーター & コンプレッサー

JPEG 世代の損失: 同じ写真を再保存するとどうなるか

· 仕組み

画像形式 jpeg 画質

マークが蓄積された、損失の多いエクスポート段階を繰り返し通過した写真
オリジナル ToolAcre ベクトル イラスト

不可逆保存するたびに情報が破棄され、破棄された情報が蓄積されます。10 回保存した写真は、同じ品質で 1 回保存した写真と同じではありません。この投稿では、その理由、事態を悪化させる原因、そしてそれが 1 回だけ発生するようにワークフローを構築する方法について説明します。

毎週濁る画像 — 最初のバージョンと最新バージョンを比較するまで誰も気付かなかった緩やかな低下

毎週のキャンペーン画像は、新しいバージョンが先週の JPEG から始まるたびに鈍くなり、ノイズが多くなる可能性があります。第 1 世代と第 8 世代を誰も見ていないため、この変更は気付かれない可能性があります。 ToolAcre のフォーマット ロジックは、証明できるメカニズムに名前を付けています。JPEG はあらゆる品質で損失があり、JPEG を再エンコードすると、最初の損失にさらに損失が追加されます。

1 つのスライダー値について議論する前に、ワークフローを監査します。最も古い保持ソースを見つけて、別の JPEG を書き込んだすべての操作をリストします。ダウンロード、名前変更、またはコピー自体は世代の損失を引き起こしません。デコードの後に​​エンコードが続きます。この区別により、トリミング、サイズ変更、承認、最終配信の間で不必要なエクスポートが明らかになることもよくあります。

非可逆である理由 — 量子化により周波数係数が丸められ、丸めはデコードによって元に戻すことはできません

計画の周波数係数の説明は妥当な背景資料ですが、それらの計算はこのアプリケーションには含まれていません。ブラウザーは JPEG エンコーダーを所有しています。 ToolAcre はキャンバス ピクセル、MIME タイプ、品質を渡し、Blob を受け取ります。したがって、信頼できるクレームは動作的なものです。詳細は破棄され、破棄された情報は後で PNG を選択しても復元できません。

証拠の境界を狭くしても、推奨が弱まるわけではありません。非可逆ステージは、非可逆配信ファイルが必要な場合にのみ発生する必要があります。ツール間で中間ファイルを保存する必要がある場合は、可能な場合は元のプロジェクトまたはロスレス ラスターを保持します。次のエクスポートは、回避可能な JPEG 近似をまだ生き延びていないピクセルから開始できます。

リポジトリは、JPEG 係数計算ではなく、非可逆ブラウザ エンコーディングを検証します。

2 回目の保存では、デコーダーは最初の JPEG からピクセルを生成し、エンコーダーはそれらのピクセルを再び近似します。新しいパスは、JPEG 以前のソースにアクセスできず、元の詳細と既に導入されているアーティファクトを区別できません。 ToolAcre の警告では、同一の形式と品質でバイトがそのまま残されることを示唆するのではなく、これを第 2 ラウンドと明示的に呼んでいます。

有用な実験では、1 つのファイル名を上書きするのではなく、すべての世代を保持します。マスターから開始して `round-1.jpg` を生成し、その結果を `round-2.jpg` にロードして続行します。それぞれをマスターおよびその直接の親と比較します。個別のファイルにより、段階的な変更が可視化され、テスト自体がその参照を破壊するのを防ぎます。

2 番目の保存は、デコードされたピクセルからの 2 番目のブラウザ エンコードです。

保存間のトリミングやサイズ変更では、追加のピクセル操作が発生します。このコードでは、宛先エンコーダーが PNG の場合でも、ディメンションを変更すると、プランがリサンプリング済みとしてマークされます。 `drawImage` は、エンコード前に高度なスムージングを使用して、選択したソース長方形をターゲット ジオメトリに再描画するため、寸法の変更は JPEG の非可逆書き込みとは別に記録する必要があります。

アウトラインでは、シフトされたブロック グリッドに追加の損傷があるとしていますが、このブラウザ パイプラインはブロックの配置を公開していません。防御可能な手順は、変数を分離することです。最初に同じサイズの JPEG エクスポートを繰り返し、次にサイズを変更して繰り返します。 2 番目のシーケンスがさらに変化した場合、エンコーダー レベルの説明を作成することなく、観察結果はそのブラウザーとテスト画像に属します。

サイズを変更すると、リサンプリングが追加されます。ブロックグリッドの説明は実装証拠の外にあります

すべてのラウンドで同じ品質番号を使用しても、安全地帯は作成されません。値は命令として現在のブラウザのエンコーダに渡されます。これは、チェックサム、保持される詳細の割合、または別のエンコーダが数値を同じようにマッピングするという約束ではありません。ソースレコードには、ブラウザーやプラットフォームによって出力が若干異なる可能性があることも警告されています。

品質 100 は、JPEG に対して依然として非可逆として分類されています。後の世代で数値を増やすとバイトが追加される可能性がありますが、以前に削除されたテクスチャを呼び出すことはできません。第一世代の納品コピーとその測定サイズを検査して、品質を選択します。受け入れられると、受け入れられたエクスポートを次のソースとして使用するのではなく、コンテンツが変更されるたびにそのコピーをマスターから再生成します。

品質数値はエンコーダー入力であり、同等の量子化を保証するものではありません

5 ラウンドのデモンストレーションでは、滑らかな空、髪、葉、高コントラストのエッジを含む写真を選択します。サイズを固定し、1 つのブラウザと 1 つの品質を使用します。各ラウンドを番号付きのファイル名で保存し、追加の編集を適用しないビューアで 100 パーセントで 6 つのファイルすべてを比較します。

所定の増加または減少を要求するのではなく、出力バイトを記録します。後のラウンドは、ピクセルとエンコーダーに応じて小さくなったり大きくなったりすることがあります。サイズの方向は品質スコアではありません。詳細な境界と滑らかな領域の周りの変化を探し、元の状態をそのままにして実験を停止します。

これでカバーされないもの — この影響を受けないロスレス形式、および RAW またはマスター ファイルの編集

ロスレス宛先エンコードの動作は異なりますが、劣化した JPEG を PNG に変換すると、劣化したデコードされたピクセルのみが正確に保存されます。以前の損失が取り消されるわけではありません。 RAW 現像、レイヤー化されたプロジェクト、およびカメラ固有のマスター ワークフローは、JPEG、PNG、WebP、およびシングルフレーム GIF 入力を受け入れるこのブラウザー コンバーターの外部にあります。

このツールは、世代を自動的に比較したり、知覚スコアを計算したりしません。最初の結果の前後ペインは視覚的なレビューをサポートし、ダウンロードされたファイルではより厳密なネイティブ サイズの比較が可能です。これらの施設は、選択した設定がアーカイブであることを証明するものではなく、検査補助として扱ってください。

要点: マスターを保持し、一度エクスポートする — イメージ コンバーターとコンプレッサーを繰り返しではなく最終ステップとして使用する方法

信頼できる情報源を 1 つにして、損失のあるファイルを置き換え可能な派生ファイルにします。この単純な所有権ルールにより、ソーシャル カレンダーが近似の連鎖になるのを防ぎます。 ToolAcre は、小さな編集のたびに繰り返される目に見えない中間的なものではなく、特定の受信者またはチャネルの最終的なエンコードである必要があります。

新しいバリアントが必要な場合は、マスターを再度開き、必要なジオメトリをすべて一度適用して、一度エクスポートします。破損したリネージではなく、設定または承認メモをアーカイブします。ブラウザはいつでも別の配信を作成できます JPEG;以前の世代が捨てた情報を再構築することはできません。