JPEG가 프로그레시브로 저장되었는지 어떻게 알 수 있나요?

JPEG가 프로그레시브로 저장되었는지 어떻게 알 수 있나요?

사진 작가로부터 사진 세트를 받았는데 JPEG가 프로그레시브 JPEG로 저장되지 않았는지 확인해야 합니다. Adobe Bridge와 Photoshop이 있습니다. 어떻게 확인합니까?

답변1

몇 가지 간단한 방법:

  1. 이미지매직— 명령줄에서 다음을 실행합니다.
    identify -verbose mystery.jpg | grep Interlace
    출력은 "인터레이스:JPEG" 또는 "인터레이스: 없음"이 됩니다.
  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가 다음인지 여부를 확인하는 방법을 묻습니다.저장됨진보적으로.

  • "다른 이름으로 저장됨"은 유연한 의미를 갖는 것으로 보입니다. 실험을 통해 어떤 경우에는 프로그레시브로 저장하면 메타데이터 매개변수(인터레이스)만 변경되었을 뿐 파일이 실제로 프로그레시브 스캔을 포함하도록 변경되지는 않았다는 것을 발견했습니다. 따라서 파일에는 단일 이미지가 포함되어 있으며 렌더링 소프트웨어는 이를 프로그레시브 이미지처럼 처리하라는 지시를 받습니다.

    위에서 설명한 테스트에서 이러한 "가짜" 프로그레시브 파일이 나타나는 방식은 다음과 같습니다.

    • 이나게매직: Interlace 매개변수는 "None"이 아닌 "JPEG"로 읽혀집니다.

    • 포토샵: 제가 쉽게 사용할 수 있었던 유일한 Photoshop 버전은 Ancient(버전 7.0)입니다. 웹용으로 저장 대화 상자에서 Progressive해당 파일에 대해서는 확인란이 미리 선택되어 있지만 표준 JPEG에는 해당되지 않습니다.

    • 브라우저: 내 시스템과 인터넷 연결이 너무 빨라 유용한 테스트가 될 수 없습니다. 정상적인 조건에서는 모든 것이 순간적으로 가까워서 어떤 차이도 확실하게 구분할 수 없습니다.

    • 식별 바이트: 더욱 신뢰할 수 있는 지표인 것 같습니다. "포니" 프로그레시브 JPEG에는 식별 가능한 바이트 패턴이 없습니다.

  • 따라서 원래 질문에 대해 위의 테스트 중 하나라도 파일이~ 아니다프로그레시브 JPEG는 그렇지 않다는 사실을 믿을 수 있습니다. 그러나 위의 "간단한 방법"은 진정한 프로그레시브 JPEG와 "가짜" JPEG를 확실하게 구별하지 못하는 것으로 보입니다.~이다정말 진보적이다. 실제로 PussInBoots는 Photoshop CS6의 기본 선택이 "프로그레시브"인 것으로 나타나 초기 설정이 기존 파일에 대해 아무 것도 알려주지 않는다는 설명을 보고했습니다.

답변2

유닉스를 사용한다면 다음 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 속성 확인

관련 정보