조회 수 4316 추천 수 0 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

인코딩 후 인코딩된 파일을 원본과 비교하여 PSNR(Peak Signal-to-Noise Ratio), SSIM(Structural Similarity) 값을 계산하는 프리셋입니다.

 

<주의 사항 및 사용법>

 

1. 인코딩 전 원본 파일은 샤나인코더의 파일 목록에 있어야 합니다.

2. 인코딩 후 인코딩된 파일은 샤나인코더가 설치된 경로에 복사 또는 이동되어야 합니다. (output.mp4 등 확장자를 보존하면서 비교적 간단한 이름으로 변경해 주십시오.)

3. 이 프리셋을 불러옵니다.

4. F8을 눌러 이 프리셋의 '인코딩 설정 부분'에 있는 'output.mp4'를 샤나인코더가 설치된 경로에 복사한 파일 이름으로 변경해야 합니다.

5. [인코딩 시작] 버튼을 눌러 작업을 시작하고, 작업이 끝난 후 파일 목록에서 원본의 이름을 오른쪽 클릭 후 [기록 보기] 창을 열어 PSNR, SSIM 값을 확인합니다.

 

※ 이 프리셋은 비디오 스트림에만 적용되는 프리셋입니다. 오디오와는 상관없습니다.

해상도 변경(리사이즈)을 했거나 영상의 총 프레임 수가 달라지는 작업을 했다면 이 프리셋을 사용할 수 없으니 주의해 주십시오.

※ 소프트웨어 필터인 ssim과 psnr을 집중적으로 사용하는 프리셋이니 '하드웨어 가속 디코딩'을 꺼주시는 게 속도 향상에 도움이 됩니다. (관련 포스팅 https://shana.pe.kr/shanaencoder_tip/49279 참고)

 

---------------------------------------------------------------------------------------------------------

 

<프리셋 세부사항 설명>

 

필터 매개변수에 대한 설명은 아래와 같습니다.

 

=============================================================================

 

 -lavfi "[1:v][0:v]ssim;[1:v][0:v]psnr"

    // -lavfi는 -filter_complex와 동일한 명령어입니다.

    // 다수의 input, 다수의 output을 가지는 filtergraph를 사용할 때의 명령어

    // [1:v][0:v]ssim은 두 번째 입력 파일(파일 인덱스 1)의 비디오 스트림을 ssim 필터의 첫 번째 입력값으로,

        // 첫 번째 입력 파일(파일 인덱스 0)의 비디오 스트림을 ssim 필터의 두 번째 입력값으로 하라는 의미

    // [1:v][0:v]psnr 역시 마찬가지

    // ssim과 psnr 모두 첫 번째 입력값은 처리된 영상을, 두 번째 입력값은 원본 영상을 입력 변수로 받음.

    // 각각의 필터 처리 결과를 따로 지정하지 않으면 standard output(샤나에서는 '기록 보기')으로 출력.

 

=============================================================================

 

인코딩 설정 부분에 대한 설명은 아래와 같습니다.

 

=============================================================================

 

 -i output.mp4

    // 샤나의 설치 경로에 있는 인코딩 결과 파일 output.mp4를 두 번째 입력 파일(파일 인덱스 1)로 입력하라는 의미

    // 다른 이름으로 복사했다면 반드시 해당 이름으로 변경할 것

    // 샤나의 목록에 있는 파일은 첫 번째 입력 파일(파일 인덱스 0)로 입력됨.

    // 샤나는 병합 모드 외에 다수의 input을 받지 않기 때문에 이를 우회하는 방법임.

    // (병합 모드는 처리 방법이 다르기 때문에 이 프리셋에 사용하기엔 부적절)

 

 -f null

    // 출력 파일은 없음.

    // 결과 확인은 '기록 보기' 창으로

 

=============================================================================

 

---------------------------------------------------------------------------------------------------------

 

<결과값 해석에 주의할 점>

 

PSNR은 dB 단위이며 크면 클수록 좋다고 판단하는데, 8비트 bit depth를 가진 영상이면 일반적으로 30~50 정도의 값을 가집니다. ( https://en.wikipedia.org/wiki/Peak_signal-to-noise_ratio )

PSNR 값은 순전히 MSE(Mean Squared Error)에 반비례하는 값입니다. 즉, MSE가 작을수록 PSNR이 커집니다. 따라서 '평균값'이 가지는 대표값으로서의 한계를 그대로 가집니다. 즉, 큰 값들의 영향을 많이 받고 작은 값들에 대한 대표성이 상대적으로 떨어집니다. 영상의 관점에서 말하자면, 색조나 명암이 어두운 부분(암부)의 오차는 상대적으로 무시된다는 의미이며 flat area 역시 상대적으로 무시된다는 의미입니다.

AQ(adaptive quantization)와 psy-rd, cutree가 적용되면 PSNR 값은 줄어듭니다. (x265, x264에서 이 옵션들은 일반적으로 활성화되어 있습니다.)

 

SSIM 값은 PSNR을 개선한 지표로, 원본과의 구조적 유사성을 대표하는 값입니다. 이 값은 -1에서 1의 범위를 가지며 1에 가까울수록 원본과 가깝다고 알려져 있습니다.

하지만 SSIM 역시 한계를 갖고 있는데, 심리시각적인 보정을 위해 psy-rd를 적용하면 이 값은 줄어듭니다.

보다 자세한 내용은 위키피디어 해당 문서( https://en.wikipedia.org/wiki/Structural_similarity )를 참조하시기 바랍니다.

 

TAG •
Facebook Twitter Pinterest Kakao
  • ?
    JKyle 2018.09.05 22:42

    이 프리셋의 실제 적용 방법은 사용 팁 게시판의 해당 게시물을 참고하시기 바랍니다.

    https://shana.pe.kr/shanaencoder_tip/54415


  1. 샤나인코더 기본 프리셋(v6.0 이후 버전)

  2. 레터박스 대신 흐린 원본 영상을 배경으로 까는 프리셋

  3. 영상에 텍스트 로고를 입히는 프리셋

  4. HEVC(x265) 2패스 인코딩 프리셋

  5. 인코딩된 파일의 PSNR, SSIM 값 계산을 위한 프리셋

  6. HEVC(x265) 디테일 개선을 위한 프리셋

  7. 오로지 확장자만 변경하기 위해서 만든 프리셋

  8. 부드러운 움직임의 60fps 인코딩 (minterpolate 필터를 이용)

  9. HEVC(NVENC)를 이용한 일반 HDR 동영상 인코딩

  10. HDR -> HDR(HDR10) 인코딩 (HEVC(x265), 1080p)

  11. HDR -> SDR 변환 (H264(x264), 1080p) ⇦ 사용하지 말 것

  12. HEVC(NVENC) 화질 향상 프리셋

  13. HEVC 영상의 코덱 ID만 hev1에서 hvc1으로 변경하는 프리셋

  14. VP9, Opus 코덱으로 인코딩하는 WebM 프리셋 (1080p, 720p, VOD 용)

  15. A slow but high quality and low size x264 setting

  16. 그랜져 IG 블루링크2.0 고화질용 8인치 네비

  17. 2160p to 1080p 변환 (수정)

  18. [수정 - 속도 개선판][느림주의!!]HEVC 고급설정 프리셋 - 블루레이 백업용

  19. H264 고급 설정 (백업용)

  20. TV시청용 초고속 자체자막 프리셋 // NVENC 지원 그래픽카드전용

  21. x265 고급설정 프리셋

Board Pagination Prev 1 2 3 Next
/ 3