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

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

10비트 HDR 영상을 8비트 SDR 영상으로 변환하기 위해서는 픽셀 포맷 변경(8비트로의 다운샘플링)과 함께 원본의 풍부한 색감을 최대한 보존하기 위해 반드시 적절한 톤매핑 과정이 필요합니다. FFmpeg와 AviSynth+는 이를 조금씩 다른 방법으로 처리할 수 있는데요, 샤나인코더 4.9.0.6 이상 버전들은 FFmpeg의 복잡한 톤매핑 과정(zscale, tonemap 필터 체인 적용)을 빠른 설정 메뉴인 "HDR을 SDR로 톤 매핑(shanatonemap)"으로 간소화했습니다.

 

 

이에 반해 필터 처리 언어라고도 할 수 있는 AviSynth+에서는 약간 복잡하지만 두 가지 다른 방법으로 SDR 변환을 할 수 있는데요, FFmpeg와 상당히 유사한 DGTonemap 필터와, 일종의 간략화 버전인 DGHDRtoSDR 필터가 그것입니다.

 

StaxRip-2.1.0.2-Beta_DGTonemap_20200402.jpg

<StaxRip에서 AviSynth+의 DGTonemap(DGHable 알고리듬) 필터를 적용한 모습>

 

StaxRip-2.1.0.2-Beta_DGHDRtoSDR_20200402.jpg

<StaxRip에서 AviSynth+의 DGHDRtoSDR 필터를 적용한 모습>

 

이 세 가지 다른 변환 방법이 성능과 결과에서 어떤 차이를 보일까 궁금해서 테스트했습니다.

 

■ 시스템 환경

 

■ 원본

LG: New York HDR의 UHD HDR인 ts 파일을 StaxRip으로 작업하기 쉽도록 mkv 파일로 리먹싱

ffmpeg -hide_banner -analyzeduration 100M -probesize 50M -i "LG New York HDR UHD 4K Demo.ts" -map 0 -c copy -bsf:a aac_adtstoasc -y "LG New York HDR UHD 4K Demo.mkv"

 

■ 필터 처리 방법

  • 샤나인코더: 해상도 변경은 scale, 톤매핑은 shanatonemap
  • AviSynth+(StaxRip): 해상도 변경은 Spline64Resize, 톤매핑은 DGTonemap(DGHable 알고리듬) vs DGHDRtoSDR

 

■ 인코더

  • 비디오: 세 방법 모두 동일한 x264 옵션으로 설정

--crf 23 --profile high --aq-mode 3 --me umh --direct auto --merange 24 --b-adapt 2 --colorprim bt709 --colormatrix bt709 --transfer bt709 --aud --deblock -1:-1

  • 오디오: 스트림 복사

 

■ 인코딩 성능 결과

  • 샤나인코더:  소요시간 5분 31초, 파일 크기 64.20 MiB
  • DGTonemap: 소요시간 2분 54초, 파일 크기 64.51 MiB
  • DGHDRtoSDR: 소요시간 2분 31초, 파일 크기 62.85 MiB

AviSynth+가 가장 최신 버전(2020년 4월 3일자 3.5.1)이라는 것과 StaxRip에서 사용된 x264 역시 가장 최근 버전을 가장 최근의 GCC 10.0.1로 컴파일한 것이라는 것을 고려해야 합니다만, 그런 사항들을 고려하더라도 AviSynth+의 필터들과 샤나인코더(FFmpeg) 필터들의 성능이 상당히 차이가 나는 것을 알 수 있는데, 이는 FFmpeg의 tonemap 필터가 아직 최적화되지 않았기 때문으로 판단됩니다.

 

■ 결과 동영상들

  • 샤나인코더

  • DGTonemap

  • DGHDRtoSDR

 

색감이 조금씩 다른 것을 아실 수 있을 겁니다.

 

■ 추가 자료들

○ AviSynth+ 스크립트 소스들

  • DGTonemap(DGHable):

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

LoadPlugin("D:\Utilities\StaxRip\Apps\Plugins\AVS\AvsResize\avsresize.dll")

LoadPlugin("D:\Utilities\StaxRip\Apps\Plugins\AVS\DGTonemap\DGTonemap.dll")

LoadPlugin("D:\Utilities\StaxRip\Apps\Plugins\Dual\ffms2\ffms2.dll")

FFVideoSource("D:\Work\tmp\LG New York HDR UHD 4K Demo.mkv", cachefile = "D:\Work\tmp\LG New York HDR UHD 4K Demo_temp\LG New York HDR UHD 4K Demo.ffindex")

#AssumeFPS(25)

Spline64Resize(1920, 1080)

z_ConvertFormat(pixel_type="RGBPS",colorspace_op="2020ncl:st2084:2020:l=>RGB:Linear:2020:l", dither_type="None")

DGHable()

z_ConvertFormat(pixel_type="YV12",colorspace_op="RGB:Linear:2020:l=>709:709:709:l", dither_type="ordered")

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

  • DGHDRtoSDR:

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

LoadPlugin("D:\Utilities\StaxRip\Apps\Plugins\Dual\DGHDRtoSDR\DGHDRtoSDR.dll")

LoadPlugin("D:\Utilities\StaxRip\Apps\Plugins\Dual\ffms2\ffms2.dll")

FFVideoSource("D:\Work\tmp\LG New York HDR UHD 4K Demo.mkv", cachefile = "D:\Work\tmp\LG New York HDR UHD 4K Demo_temp\LG New York HDR UHD 4K Demo.ffindex")

#AssumeFPS(25)

Spline64Resize(1920, 1080)

ConvertBits(16)

DGHDRtoSDR(mode="pq",white=2500)

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

 

변환한 동영상들 원본과 로그 파일들을 구글 드라이브로 공유합니다. 관심 있는 분들은 사본 받아서 살펴보시기 바랍니다.

 

Facebook Twitter Pinterest Kakao
  • ?
    HS 2020.04.19 00:55

    확실히 색감 차이가 ...좋은 글 잘 봤습니다 ^^


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수 추천 수
공지 소리를 4가지로 분리하는 샤나보컬리무버 프로그램을 소개합니다. Rina 2024.03.22 5440 4
공지 샤나인코더 통합 검색 기능 개선(샤나인코더 우측 상단에 있는 검색창을 사용해 보세요.) Rina 2021.09.30 20801 2
공지 자유게시판에서는 자유롭게 글을 작성할 수 있지만 다음과 같은 내용은 삭제돼요 Rina 2020.03.18 18179 5
공지 일반 [필독] 질문 전에 반드시 읽으세요!!! 3 file JKyle 2019.09.16 38568 7
공지 일반 [알림] 질문 먹튀하지 마시기 바랍니다 => 본문 변경 금지 23 JKyle 2018.10.12 33123 16
484 같은 영상 같은 설정인데 용량이 주는 건 왤까요? 1 아사 2018.09.26 796 0
483 유튜브 영상 품질 대비 용량과 제가 만든 동영상의 품질 대비 용량이 너무 차이가 큽니다. 1 file 스플라인 2019.03.10 1326 0
482 HE-AAC 지원 좀 해주셨으면 합니다. 1 헤이콘타 2014.04.23 7631 0
481 h.265는 인코딩 기능은 제거를 하였나요? 게시판이 있었던거 같은데 없어졌네요. 1 묵향 2014.06.19 4757 0
480 질문 퀀타이저로 인코딩할 때 용량을 어떻게 예측해야할까요? 1 브라보콘 2023.12.07 900 0
479 질문 샤나 인코딩에서 1 kisyd 2020.07.24 653 0
478 질문 영상 내장자막 없애는 방법 1 퓽차 2020.12.09 4692 0
477 질문 인코딩시 '상태'에 오류 라고 뜨면서 안됩니다. 1 무메이 2021.06.01 3115 0
476 wma 10 professional 오디오 코덱 문제(SBR/PS 인식불가) 해결 바랍니다. 리나디코더 2018.02.01 429 0
475 고수님들께 여쭙습니다. 3 미니미니 2018.10.12 971 0
474 질문 AAC 코덱 가변 비트레이트 설정값 1 2022.04.14 1351 0
473 키프레임 설정방법 2 아렌티 2019.01.30 2390 0
472 더블 프레임 레이트 사용해서 인코딩했는데 다시 인코딩해야하나요 ? 1 라임 2019.02.11 1142 0
471 디인터레이스 필터 질문 2 랩을한다홍홍홍 2015.09.30 1820 0
470 질문 비트레이트 노란색 그래프 질문 2 file IreneStella 2020.05.22 783 0
469 질문 아이폰11 프로 맥스로 4k 60프레임으로 찍은 영상을 유튜브에서 4k 화질로 선택해서 보고싶은데 어떻게 인코딩을 해야하는지 모르겠습니다. 2 기타쌤 2020.06.01 1291 0
468 비트레이트를 참고해서, 인코딩 중입니다. 고수님들 조언 부탁드려요! 6 file 검은휠러 2016.12.26 1363 0
467 질문 샤나인코더 미리보기에서 폰트 글자가 깨진 걸 보고 그 폰트를 FontForge에서 유니코드Bmp으로 변환하고 추출하는데 문제가 생겼어요 2 file SONGANI 2021.03.13 965 0
466 "큐"가 무슨 뜻이에요? 1 file 마소리스 2017.05.14 574 0
465 HEVC 10비트 인코딩 방법문의 1 리본즈 2017.07.16 680 0
Board Pagination Prev 1 ... 134 135 136 137 138 139 140 141 142 143 ... 163 Next
/ 163