조회 수 6335 추천 수 2 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

인코딩 작업이 진행될 때 작업 흐름(workflow)은 어떻게 되는지 인포그래픽으로 정리해 보았습니다.

 

 

□ 스트림 복사와 재인코딩

스트림 복사(stream copy)란 위의 과정에서 디코딩, 필터 작업, 인코딩이 생략되어 디먹싱 후 바로 먹싱을 진행하는 것을 말합니다. 이때 해당 스트림(비디오, 오디오 등)은 압축 해제를 전혀 하지 않고 단지 컨테이너 양식만 바뀌게 되어 화질에는 전혀 영향이 없습니다.

 

재인코딩(re-encoding)은 스트림 복사의 반대 개념으로, 화질에 영향을 주는 디코딩, 필터 작업, 인코딩을 거치게 되며 코덱이 손실 코덱인 경우 반드시 원본에 비해 화질 저하가 일어나게 됩니다. 필터 작업은 디코딩(압축 해제)된 데이터를 대상으로 특정 데이터 처리 알고리듬을 적용하는 것을 말하므로 화질 손상과 직접적인 관련은 없지만, 필터 작업을 끝낸 동영상은 반드시 인코딩을 해야 하므로 이때 (손실 코덱의 경우) 화질 저하가 발생합니다.

 

□ 하드웨어 툴

하드웨어 툴은 그래픽 카드를 기반으로 GPU와 그래픽 카드의 칩들을 이용해 연산하는 툴을 말합니다. 스트림의 버퍼를 그래픽 카드의 메모리에 두고 작업하며, 그래픽 카드에 미리 설계된 알고리듬에 따라 칩이 하드웨어적으로 연산하므로 빠르게 처리가 가능합니다.

 

엔비디아 계열은 접두어 NV를 붙이거나 CUVID, CUDA와 관련이 있고, AMD 계열은 AMF 또는 UVD와 VCE라는 명칭을 가지며, 인텔 계열은 QSV의 명칭을 갖고 있습니다. 그래픽 카드 제조사가 아닌 제3자(third-party)가 제작해서 제공하는 하드웨어 툴들도 있는데, 마이크로소프트의 DXVA(DirectX Video Acceleration) 계열인 DXVA2, D3D11과 OpenCL, 리눅스에서 사용되는 VDPAU, 오픈소스인 VAAPI 등이 이에 해당됩니다.

 

위에 언급한 하드웨어 플랫폼을 바탕으로 독립적인 그룹 또는 개인 제작자가 제공하는 하드웨어 인코딩 툴들이 있는데, 대표적으로 rigaya라는 일본인 개발자가 제공하는 NVEnc, VCEEnc, QSVEnc 등이 그것입니다(rigaya의 깃헙 페이지).

 

rigaya는 최근 본인이 제공하는 엔비디아 계열 인코더에 FFmpeg에는 없는 'VPP 하드웨어 필터'들을 내장해서 제공하고 있습니다. (scale, 디인터레이스(nnedi), crop, deband, edgelevel, unsharp, denoise 등. 최근에는 제한적 기능의 '자막 입히기(subburn)'까지 추가)

 

□ 소프트웨어 툴

소프트웨어 툴은 CPU를 이용해 연산하는 툴을 말합니다. 스트림의 버퍼를 메인보드의 메모리에 두고 작업합니다. 프로그램 내부의 알고리듬으로 소프트웨어적으로 연산하므로 자유도가 높아서 복잡한 알고리듬을 구현할 수 있는 반면 처리 속도가 상대적으로 느립니다. 대신 결과물의 퀄리티는 하드웨어 툴에 비해 우수합니다.

 

□ 인코딩 속도와 관련해서 유의할 점

인코딩을 할 때는 하드웨어 툴과 소프트웨어 툴 간의 자료 교환으로 인한 병목 현상을 염두에 두어야 합니다. CPU(메인보드)와 GPU(그래픽 카드) 간의 자료 교환을 위한 버스 속도의 한계로 인해 자료 교환 횟수가 많을수록 작업 속도는 저하됩니다.

 

예를 들어 하드웨어 인코더소프트웨어 필터를 사용할 경우, '하드웨어 디코딩(GPU) 소프트웨어 필터(CPU) 하드웨어 인코딩(GPU)'의 작업 흐름(하드웨어 디코딩 활성화, 2번의 자료 교환)은 '소프트웨어 디코딩(CPU) 소프트웨어 필터(CPU) 하드웨어 인코딩(GPU)'의 작업 흐름(하드웨어 디코딩 비활성화, 1번의 자료 교환)보다 속도가 느립니다.

 

물론 이때 필터를 하드웨어 필터만으로 사용한다면 (인코딩되는 영상의 화질과는 무관하게) 작업 속도가 월등히 향상됩니다.

 

FFmpeg(와 FFmpeg 기반의 샤나인코더)의 경우 라이센스(LGPL) 문제 때문에 배포되는 모든 필터가 소프트웨어 필터이니만큼 해상도 변경 같은 필터 작업을 할 때는 하드웨어 인코딩을 하더라도 디코딩은 하드웨어 디코딩을 비활성화함으로써 인코딩 속도를 높일 수 있습니다.

 

이 글을 추천한 사람
bluedove 합풀
Facebook Twitter Pinterest Kakao

  1. HEVC 코덱 설정->튜닝 옵션별 각 화질 비교

    Date2020.02.05 By바봉이 Views18443 Votes0
    Read More
  2. H264(AMF), HEVC(AMF) 옵션 도움말

    Date2020.02.03 ByJKyle Views9202 Votes0
    Read More
  3. H264(NVENC), HEVC(NVENC) 옵션 도움말

    Date2020.02.03 ByJKyle Views11426 Votes0
    Read More
  4. 필터 적용 사례: 로고/워터마크 제거

    Date2020.01.31 ByJKyle Views8869 Votes2
    Read More
  5. HDR 영상과 10비트 영상

    Date2020.01.29 ByJKyle Views14516 Votes3
    Read More
  6. 색공간과 Bit Depth

    Date2020.01.28 ByJKyle Views7799 Votes2
    Read More
  7. 샤나인코더 영상 사이즈 변경 옵션을 통한 FFmpeg 필터의 기초 이해

    Date2020.01.27 ByJKyle Views11509 Votes3
    Read More
  8. 샤나인코더의 H264 설정과 FFmpeg의 x264 설정 이해

    Date2020.01.27 ByJKyle Views27612 Votes2
    Read More
  9. FFmpeg 명령어 구조와 샤나인코더 작동 방식 이해

    Date2020.01.26 ByJKyle Views5446 Votes2
    Read More
  10. [인포그래픽] 인코딩 작업 흐름과 자막 작업

    Date2020.01.25 ByJKyle Views3368 Votes0
    Read More
  11. [인포그래픽] 인코딩 작업의 흐름도

    Date2020.01.25 ByJKyle Views6335 Votes2
    Read More
  12. [필독] 비디오 코덱과 기본 용어 (H.264, HEVC)

    Date2020.01.25 ByJKyle Views28012 Votes7
    Read More
  13. 샤나인코더로 움짤 만들기

    Date2019.09.08 ByJKyle Views7517 Votes0
    Read More
  14. 기록 보기에서 Consider increasing the value for the 'analyzeduration' and 'probesize' options 내용이 있을 때 해결법

    Date2019.09.04 ByRina Views4185 Votes1
    Read More
  15. SRT SMI 자막 인코딩 이용시 한글 깨짐 자막변환 방법

    Date2019.03.14 By나그네3 Views30040 Votes1
    Read More
  16. webm VP9 멀티스레드 활성화하는 방법, 속도 향상시키는 방법

    Date2018.09.25 By마소리스 Views6425 Votes0
    Read More
  17. "비트레이트를 원본보다 높게 주면 원본보다 퀄리티가 나아질 수 있다"는 주장에 대해

    Date2018.09.19 ByJKyle Views18847 Votes0
    Read More
  18. SSIM, PSNR로 측정한 NVENC 인코딩

    Date2018.09.09 ByJKyle Views4177 Votes0
    Read More
  19. 인코딩된 파일의 PSNR, SSIM 값 계산하기

    Date2018.09.05 ByJKyle Views3550 Votes1
    Read More
  20. 8비트 원본을 10비트로 인코딩하면 8비트로 인코딩할 때보다 화질이 더 낫다?

    Date2018.09.04 ByJKyle Views8750 Votes0
    Read More
Board Pagination Prev 1 2 3 4 Next
/ 4