以下は、ピクセル サイズが >= 8 ビットの場合にのみ適用されます。他のケースについては調査しませんでしたが、同様の結果が予想されます。
パスのスキャンラインを処理するために必要なフィルター タイプの説明用の追加データがあるため、コンテンツが同一のインターレース PNG 画像ファイルは、ほとんどの場合、サイズが大きくなります。これは、PNG RFC RFC2083に基づいて、この Web ページで詳細に説明したものです。つまり、これは、インターレース パスごとのインターレース フィルター タイプ記述の以下のバイト数の合計が、ほとんどの場合、イメージの高さ (非インターレース イメージのフィルター タイプの数) よりも大きいためです。
nb_pass1_lines = CEIL(height/8)
nb_pass2_lines = (width>4?CEIL(height/8):0)
nb_pass3_lines = CEIL((height-4)/8)
nb_pass4_lines = (width>2?CEIL(height/4):0)
nb_pass5_lines = CEIL((height-2)/4)
nb_pass6_lines = (width>1?CEIL(height/2):0)
nb_pass7_lines = FLOOR(height/2)
ただし、理論的には、 Adam7 インターレースによってデータのエントロピー/複雑さが誤って十分に低下する可能性があるため、フィルタリングの助けを借りて、通常、インターレースを使用するフィルター タイプに必要な追加スペースが、フィルターに使用されるデフレート圧縮によって補償される可能性があります。 PNG形式。これは、インターレースの分解によって画像データの一貫性が失われるため、インターレースによってエントロピー/複雑さが増加する可能性が高いため、証明される特定のケースです。
「偶然」という言葉を使用したのは、データのエントロピー/複雑さを軽減することが Adam7 インターレースの目的ではないためです。その目的は、パス メカニズムを介してイメージのプログレッシブ ロードと表示を可能にすることです。一方、エントロピー/複雑さを軽減することがPNGのフィルタリングの目的です。
「通常」という言葉を使用したのは、説明 Web ページに示されているように、たとえば 1 ピクセルの画像は、インターレースであろうとなかろうと同じ長さの非圧縮データで記述されるためです。したがって、この場合、追加のスペースは必要ありません。
PNG ファイル サイズに関しては、インターレースのサイズが小さいのは、次のことが原因である可能性があります。
- パレット (カラー タイプ =! 3 の場合) などのファイルに埋め込まれたさまざまな非ピクセル エンコーディング関連のコンテンツや、色度、ガンマ、有効ビット数、デフォルトの背景色、ヒストグラム、透明度、物理量などの重要でないチャンクピクセル寸法、時間、テキスト、圧縮テキスト。これらの非ピクセル エンコーディング関連のコンテンツの一部は、使用するソフトウェアや状況に応じて、画像の表示が異なる場合があることに注意してください。
- ビット深度、色の種類 (したがって、色の種類 = 3 でパレットを使用するかどうか)、画像サイズなど、さまざまなピクセル エンコーディング関連のコンテンツ (画質を変更する可能性があります)。
- より良いフィルタリングの選択、上記で説明したインターレースによる偶発的なデータエントロピー/複雑性の低下(理論上の特定のケース)、より高い圧縮レベル(あなたが述べたように)など、さまざまな圧縮関連コンテンツ
2 つの PNG 画像ファイルがピクセル単位で同等かどうかを確認する必要がある場合は、bash プロンプトで次のコマンドを使用します。
diff <( convert non-interlaced.png rgba:- ) <( convert interlaced.png rgba:- )
違いは返されません。
互換性の問題については、PNG エンコーダーと PNG デコーダーがPNG RFCの必須の側面を実装している場合、インターレースが互換性の問題につながる理由はわかりません。
編集 2018 11 13:
ニッチ メカニズム ( https://en.oga.jod.liでホスト) を備えた自動進化型分散型遺伝的アルゴリズムに基づくいくつかの実験については、こちらで説明しています:
https://jod.li/2018/11/13/can-an-interlaced -png-image-be-smaller-than-the-equivalent-non-interlaced-image/
これらの実験は、同等の PNG 画像が非インターレースよりも小さいサイズのインターレースを持つことが可能であることを示しています。これに最適な画像は縦長で、幅が 1 ピクセルで、ピクセル コンテンツがランダムに表示されます。ただし、インターレース画像が非インターレース画像よりも小さくなるのは、形状だけが重要な側面ではありません。同じ形状のランダムなケースでは、異なるサイズの違いが生じるからです。
したがって、はい、一部の PNG 画像は、ピクセル単位で同一であり、ピクセルに関連しないコンテンツの場合でも、非インターレースよりも小さいサイズのインターレースを使用できます。