JPEG がプログレッシブとして保存されたかどうかはどうすればわかりますか?

JPEG がプログレッシブとして保存されたかどうかはどうすればわかりますか?

写真家から写真セットを受け取りましたが、JPEG がプログレッシブ JPEG として保存されていないことを確認する必要があります。Adobe Bridge と Photoshop を持っていますが、これを確認するにはどうすればよいですか?

答え1

いくつかの簡単な方法:

  1. イメージマジック— コマンドラインで実行します:
    identify -verbose mystery.jpg | grep Interlace
    出力は「Interlace:JPEG」または「Interlace: None」のいずれかになります。
  2. フォトショップ— ファイルを開きます。 を選択しますFile -> Save for Web & Devices
    プログレッシブ JPEG の場合は、[プログレッシブ] チェックボックスが選択されます。
  3. あらゆるブラウザ— ベースライン jpeg は上から下へ読み込まれ、プログレッシブ jpeg は別の処理を行います。ファイルの読み込みが速すぎる場合は、帯域幅の調整を追加する必要があるかもしれません。私は Mac で ipfw を使用しています。

ソース

プログラムによる方法

チェックアウトプログレッシブJPEGの検出著者は、人々が開発したいくつかのスクリプトへのリンクを投稿しています。

いくつかの識別バイトを使用してファイルを認識できます。プログレッシブ DCT ベースの JPEG は、バイト「0xFF、0xC2」で識別できます。また、プログレッシブ JPEG 画像には通常複数のスキャンが含まれているため、「スキャンの開始」の一致 (バイト:「0xFF、0xDA」) をいくつか探すことができます。著者は、正確な結果を得るために簡単な Bash コマンドを使用しました。

>grep -c -P “xffxc2″ progressive1.jpg
>1

>grep -c -P “xffxc2″ progressive2.jpg
>1

>grep -c -P “xffxc2″ baseline1.jpg
>0

>grep -c -P “xffxc2″ baseline2.jpg
>0

>grep -c -P “xffxDA” progressive1.jpg
>6

>grep -c -P “xffxDA” progressive2.jpg
>12

リンクには、他の便利なツールも多数含まれています。

アップデート

話は複雑になってきました(もっと深く掘り下げるよう教えてくれたユーザーPussInBootsに感謝します)。質問は、JPEGが保存されたプログレッシブとして。

  • 「名前を付けて保存」には柔軟な意味があるようです。実験したところ、プログレッシブとして保存すると、メタデータ パラメータ (インターレース) が変更されるだけで、ファイルが実際にプログレッシブ スキャンを含むように変更されない場合があることがわかりました。つまり、ファイルには単一の画像が含まれ、レンダリング ソフトウェアはそれをプログレッシブ画像として扱うように指示されます。

    これらの「偽の」プログレッシブ ファイルが上記のテストでどのように現れるかは次のとおりです。

    • 稲毛マジック: インターレース パラメータは、「なし」ではなく「JPEG」と表示されます。

    • フォトショップ: 私がすぐに利用できる Photoshop のバージョンは古いもの (バージョン 7.0) だけです。[Web 用に保存] ダイアログでは、Progressiveこれらのファイルに対してはボックスが事前にチェックされていましたが、標準の JPEG に対してはチェックされていませんでした。

    • ブラウザ: 私のシステムとインターネット接続は速すぎるため、これは有用なテストとは言えません。通常の状況では、すべてがほぼ瞬時に行われるため、違いを確実に区別することはできません。

    • バイトの識別: これはより信頼性の高い指標であると思われます。「偽の」プログレッシブ JPEG には、識別バイト パターンがどちらもありませんでした。

  • 元の質問に戻ると、上記のテストのいずれかがファイルがないプログレッシブJPEGであるかどうかは、それがプログレッシブJPEGではないという事実に頼ることができます。しかし、上記の「簡単な方法」では、真のプログレッシブJPEGと「偽の」JPEGを確実に区別できないようです。そのため、JPEGがプログレッシブJPEGであるかどうかを知るために頼ることはできません。本当にプログレッシブです。実際、PussInBoots はコメントで、Photoshop CS6 ではデフォルトで「プログレッシブ」が選択されているようで、初期設定では既存のファイルについて何もわからないと報告しています。

答え2

Unix を使用している場合は、次のfileコマンドを使用します。

$ file image.jpg

image.jpg: JPEG image data, Exif standard: [TIFF image data, little-endian, direntries=0], progressive, precision 8, 2000x1200, components 3

答え3

将来の世代のために、もっと簡単な方法があります。Irfanview で確認するだけです。[画像] -> [情報] をクリックします。

Irfanview を使用して Jpeg プロパティを確認する

関連情報