NVENC

NVENC(Nvidia Encoder의 약자)[1]엔비디아 그래픽 카드에 있는 기능으로, 비디오 인코딩을 수행하여 CPU에서 이 컴퓨팅 집약적인 작업을 GPU의 전용 부분으로 오프로드한다. 이 기능은 2012년 3월 케플러 기반 지포스 600 시리즈 (GT 610, GT620 및 GT630은 페르미 아키텍처)와 함께 도입되었다.[2][3]

이 인코더는 VMix, 와이어캐스트, OBS, 반디캠과 같은 많은 라이브 스트리밍 및 녹화 프로그램과 어도비 프리미어 프로 또는 다빈치 리졸브와 같은 비디오 편집 앱에서 지원된다. 또한 엔비디아의 지포스 익스피리언스 소프트웨어에 포함된 쉐어 게임 캡처와도 함께 작동한다.[4][5][6]

2023년 3월까지 소비자용 지포스 그래픽 카드는 설치된 카드 수에 관계없이 최대 3개의 동시 인코딩 비디오 스트림만 공식적으로 지원하지만, 이 제한은 리눅스윈도우 시스템에서 드라이버에 비공식 패치를 적용하여 우회할 수 있다. 이렇게 하면 GPU 및 드라이버의 기능을 사용하여 캡처 속도를 높이는 빠른 데스크톱 캡처 API인 NVIDIA Frame Buffer Capture (NVFBC)도 잠금 해제된다.[7] 전문가용 카드는 카드 모델 및 압축 품질에 따라 카드당 3개에서 무제한의 동시 스트림을 지원하며,[2] 2023년에는 이 제한이 완화되어 최대 5개의 동시 인코딩 비디오 스트림을 허용한다.[8] 2024년 1월부터는 8개의 동시 인코딩 비디오 스트림이 기준이 되었다.[9]

엔비디아 칩에는 또한 CPU에서 GPU의 전용 부분으로 비디오 디코딩을 오프로드하는 온보드 디코더인 NVDEC (Nvidia Decoder의 약자)가 있다.[2]

버전

NVENC는 첫 번째 케플러 GPU (GK104)와 함께 도입된 이후 여러 하드웨어 개정을 거쳤다.[10]

NVENC 요약[11][12]
GPU 하드웨어 H.264 (AVC)

(H.264에서 NVENC는 항상 B 프레임 지원, 최대 4096×4096 해상도를 제공한다)

H.265 (HEVC) AV1
NVENC 세대 GPU 코드명 칩당 NVENC 크로마 무손실 코딩 색상 깊이 크로마 무손실 코딩 해상도 색상 깊이 B 프레임 AV1
4:2:0 4:2:2 4:4:4 4:2:0 4:2:2 4:4:4
1세대 GK110 1 Yes No No No 8비트 H.265 미지원 AV1 미지원
GK107
GK106
GK104
2세대 GM107 1 Yes No Yes Yes 8비트 H.265 미지원 AV1 미지원
3세대 GM206 1 Yes No Yes Yes 8비트 Yes No Y?[12] N?[11] No 4096 x 4096 8비트 No
GM204 2 No
GM200
4세대 GP108 0 NVENC 인코더 없음
GP107 1 Yes No Yes Yes 8비트 Yes No Yes Yes 8192 x 8192 10비트 No AV1 미지원
GP106
GP104-2xx+ 2
GP104-1xx 1
GP102 2
GP100 3 4096 x 4096
5세대 GV10x 8192 x 8192
TU117 1
6세대 TU116 Yes
TU106
TU104
TU102
7세대 GA107 1 Yes No Yes Yes 8비트 Yes No Yes Yes 8192 x 8192 10비트 Yes 디코딩만
GA106
GA104
GA102
GA100[13] 0 NVENC 인코더 없음
8세대 AD107 1 Yes No Yes Yes 8비트 Yes No Yes Yes 8192 x 8192 10비트 Yes Yes
AD106
AD104-250
AD104-400 2
AD103
AD102
9세대 GB207 1 Yes Yes Yes Yes 10비트 Yes Yes Yes Yes 8192 x 8192 10비트 Yes Yes
GB206
GB205
GB203 2
GB202 3
NVENC 세대 GPU 코드명 칩당 NVENC 크로마 무손실 코딩 색상 깊이 크로마 무손실 코딩 해상도 색상 깊이 B 프레임 AV1
4:2:0 4:2:2 4:4:4 4:2:0 4:2:2 4:4:4

1세대, 케플러 GK1xx

모든 케플러 기반 GPU가 공유하는 1세대 NVENC는 H.264 하이 프로파일(YUV420, I/P/B 프레임, CAVLC/CABAC), H.264 SVC Temporal Encode VCE 및 디스플레이 인코드 모드 (DEM)를 지원한다.

엔비디아 문서에 따르면 1920×1080 해상도에서 최대 인코더 처리량은 실시간의 8배이다 (여기서 기준 "1배"는 30Hz에 해당한다). 실제 처리량은 선택한 사전 설정, 사용자 제어 매개변수 및 설정, GPU/메모리 클럭 주파수에 따라 달라진다. 게시된 8배 등급은 NVENC 고성능 사전 설정을 사용하여 달성할 수 있으며, 이는 압축 효율성과 품질을 희생하고 인코더 처리량을 높인다. 고품질 사전 설정은 훨씬 느리지만 압축 아티팩트가 적게 발생한다.

2세대, 맥스웰 GM107

1세대 맥스웰 아키텍처와 함께 도입된 2세대 NVENC는 고성능 HP444 프로파일(YUV4:4:4, 예측 무손실 인코딩) 지원을 추가하고 인코더 처리량을 실시간의 16배까지 증가시켰는데, 이는 고성능 사전 설정으로 1080p @ 480Hz에 해당한다.

맥스웰 GM108은 NVENC 하드웨어 인코더를 지원하지 않는다.

3세대, 맥스웰 GM20x

2세대 맥스웰 아키텍처와 함께 도입된 3세대 NVENC는 고효율 비디오 코딩(HEVC, H.265라고도 함) 비디오 압축 알고리즘을 구현하고, H.264 인코더의 처리량을 4K 해상도 60Hz(2160p60)까지 커버할 수 있도록 향상시켰다. 그러나 HEVC 인코딩 시 B 프레임을 지원하지 않는다(I 프레임P 프레임만 지원한다). NVENC HEVC 코딩 트리 유닛(CU)의 최대 크기는 32(HEVC 표준은 최대 64 허용)이고, 최소 CU 크기는 8이다.

HEVC 인코딩은 Sample Adaptive Offset (SAO)도 지원하지 않는다. 적응형 양자화, 예측 속도 제어, 적응형 B 프레임 (H.264만 해당) 및 적응형 GOP 기능은 Nvidia Video Codec SDK 7 출시와 함께 추가되었다.[14] 이러한 기능은 하드웨어 가속을 위해 CUDA 코어를 사용한다.

SDK 7은 두 가지 형태의 적응형 양자화를 지원한다. 공간 AQ (H.264 및 HEVC)와 시간 AQ (H.264만 해당)이다.

엔비디아의 소비자 등급 (지포스) 카드와 일부 로우엔드 전문가용 쿼드로 카드는 세 개의 동시 인코딩 작업으로 제한된다. 하이엔드 쿼드로 카드는 이러한 제한이 없다.

4세대, 파스칼 GP10x

4세대 NVENC는 HEVC Main10 10비트 하드웨어 인코딩을 구현한다. 또한 이전 세대 NVENC에 비해 4K H.264 및 HEVC 인코딩 성능을 두 배로 향상시켰다. HEVC 8K, 4:4:4 크로마 서브샘플링, 무손실 인코딩 및 샘플 적응형 오프셋(SAO)을 지원한다.

Nvidia Video Codec SDK 8은 파스칼 전용 가중 예측 기능을 추가했다 (CUDA 기반). 가중 예측은 인코딩 세션이 B 프레임 (H.264)으로 구성된 경우에는 지원되지 않는다.

HEVC 인코딩에는 B 프레임 지원이 없으며, 최대 CU 크기는 32×32이다.

NVIDIA GT 1030과 모바일 쿼드로 P500은 NVENC 인코더를 지원하지 않는 GP108 칩이다.[11]

노트북 그래픽에서 엔비디아 MX 그래픽은 맥스웰 세대 GM108 또는 파스칼 세대 GP108 칩을 기반으로 하므로 NVENC를 포함하지 않는다.[15] 지포스 MX350은 제조 과정에서 NVENC 인코더가 비활성화된 GP107 칩이다.

5세대, 볼타 GV10x/튜링 TU117

볼타 NVENC는 파스칼의 NVENC와 유사한 성능을 가진다. [1]

HEVC B-프레임은 지원하지 않는다.

모바일 그래픽에서는 다른 대부분의 지포스 MX 시리즈 그래픽과 마찬가지로, 지포스 MX450은 TU117 칩으로 하드웨어 인코더가 제조 과정에서 영구적으로 비활성화되어 NVENC를 지원하지 않는다. 그러나 지포스 MX550은 하드웨어 인코더가 제조 단계에서 활성화되어 NVENC를 지원한다.

6세대, 튜링 TU10x/TU116

6세대 NVENC는 HEVC 8K 인코딩을 30 FPS로 구현하고, HEVC B-프레임 및 HEVC B-프레임을 참조로 사용하며 (각 및 중간 모드 지원[16]) 알파 HEVC[17]를 지원하며 HEVC는 최대 25%, H.264는 최대 15%의 비트레이트 절감 효과를 제공한다. 엔비디아 지포스 GTX 1650의 초기 출시는 튜링 NVENC 대신 볼타 NVENC를 사용했기 때문에 이 세대에서 제외되었다. 엔비디아는 2020년에 GTX 1650 카드의 NVENC 인코더를 튜링 엔진을 사용하도록 업데이트했다.[18] GTX 1650 Super는 원래 GTX 1650에 사용된 TU117 대신 TU116을 기반으로 하므로 튜링 NVENC 엔진을 사용한다.[19]

7세대, 암페어 GA10x

암페어는 본질적으로 튜링과 동일한 NVENC 세대 엔진을 가지고 있다.[20] 유일한 실질적인 차이점은 NVDECAV1 디코딩(필름 그레인 포함)을 지원하게 되었다는 것이다.

엔트리 레벨 모바일 그래픽에서는 GA107 칩 기반 지포스 MX570이 두 가지 버전으로 출시되는데, 그 중 하나 (지포스 MX570 A)는 제조 과정에서 하드웨어 디코더와 인코더가 영구적으로 비활성화된다.

8세대, 에이다 러브레이스 AD10x

엔비디아는 에이다 러브레이스 GPU에서 8K 10비트 60FPS AV1 고정 기능 하드웨어 인코더를 갖춘 차세대 NVENC를 발표했다.[21][22]

9세대, 블랙웰 GB20X

4:2:2 크로마 서브샘플링과 AV1 초고품질 모드 지원이 도입되었다. 또한 이전 세대보다 5% 더 효율적이라고 한다.

운영 체제 지원

엔비디아 NVENC SIP 코어는 장치 드라이버에서 지원되어야 한다. 드라이버는 NVENC에 대해 하나 이상의 인터페이스(예: OpenMAX IL)를 제공한다. NVENC SIP 코어는 사유 NVENC API뿐만 아니라 DXVAVDPAU[23] API를 통해 액세스할 수 있다.

엔비디아의 지포스 드라이버와 함께 번들로 제공된다.

NVENC는 윈도우 및 리눅스 운영 체제에서 사용할 수 있다.[2] 자유-오픈 소스 Nouveau 장치 드라이버는 엔비디아 NVENC를 지원하지 않는다.[24]

응용 소프트웨어 지원

GPU 처리량

인코딩 처리량 비교[38]

스트림 H.264 인코딩 (1080p30)
GM204(테슬라 M6) 18
GM107(테슬라 M10) 28
GM200(테슬라 M40) 18
GM204(테슬라 M60) 36
GP104(테슬라 P4) 24
TU104(테슬라 T4) 32
P100 36
V100 36

같이 보기

각주

  1. “NVIDIA GeForce RTX 40 Series Graphics Cards” (미국 영어). 《NVIDIA》. 2024년 2월 28일에 확인함. 
  2. “NVIDIA VIDEO CODEC SDK”. 《NVIDIA Developer》. Nvidia. 2013년 8월 23일. 2017년 11월 12일에 확인함. 
  3. “Maxwell's Feature Set: Kepler Refined”. AnandTech. 2014년 2월 18일. 2022년 3월 23일에 원본 문서에서 보존된 문서. 2022년 3월 23일에 확인함. 
  4. “System Requirements for NVIDIA GeForce Experience | GeForce | GeForce”. 《www.geforce.com》. 2016년 8월 17일에 확인함. 
  5. “Wirecast Tech Specs”. 《telestream.net》. 2017년 12월 19일에 확인함. 
  6. “Open Broadcaster Software – Index”. 《obsproject.com》. 2019년 3월 23일에 원본 문서에서 보존된 문서. 2016년 8월 17일에 확인함. 
  7. “nvidia-patch”. GitHub. 
  8. Shilov, Anton (2023년 3월 24일). “Nvidia Lifts Some Video Encoding Limitations from Consumer GPUs”. 《tomshardware》. 2023년 3월 26일에 확인함. 
  9. “Video Encode and Decode GPU Support Matrix”. 
  10. “S5613 – High-Performance Video Encoding Using NVIDIA GPUs”. Nvidia. 
  11. “Video Encode and Decode GPU Support Matrix” (영어). 《NVIDIA Developer》. 2016년 11월 9일. 2020년 8월 22일에 확인함. 
  12. “NVIDIA VIDEO CODEC SDK” (영어). 《NVIDIA Developer》. 2016년 11월 9일. 2020년 8월 22일에 확인함. 
  13. “NVIDIA Ampere Architecture In-Depth” (미국 영어). 《NVIDIA Developer Blog》. 2020년 5월 14일. 2020년 8월 31일에 확인함. 
  14. “NVIDIA On-Demand” (PDF). 《on-demand.gputechconf.com》. 2025년 6월 1일에 확인함. 
  15. “NVIDIA GeForce MX250 i MX230 – dwie "nowe" grafiki do laptopow” (폴란드어). 《Dobre Programy》. 2019년 2월 21일. 
  16. “B-Frame reference mode flag in ffmpeg nvenc is bugged and doesn't work. · Issue #2374 · obsproject/obs-studio” (영어). 《GitHub》. 2021년 3월 24일에 확인함. 
  17. Harrison, John (2021년 1월 30일). “johnhe4/nvenc_h265_transparency”. 《GitHub》. 2021년 3월 24일에 확인함. 
  18. “NVIDIA GeForce GTX 1650 Graphics Card” (미국 영어). 《NVIDIA》. 2021년 3월 24일에 확인함. 
  19. Walton, Jarred (2019년 11월 23일). “Nvidia GeForce GTX 1650 Super review” (미국 영어). 《PC Gamer》. 2021년 3월 24일에 확인함. 
  20. “NVIDIA Ampere GA102 GPU Architecture: Second-Generation RTX” (PDF). 《NVIDIA》. 2022년 9월 21일에 확인함. 
  21. Gray, Jon (2022년 9월 20일). “Creativity At The Speed of Light: GeForce RTX 40 Series Graphics Cards Unleash Up To 2X Performance in 3D Rendering, AI, and Video Exports For Gamers and Creators”. 《NVIDIA》. 2022년 9월 21일에 확인함. 
  22. “NVIDIA Video Codec SDK”. 《NVIDIA》. 2013년 8월 23일. 2022년 9월 21일에 확인함. 
  23. “NVIDIA Announces VDPAU 1.0 With HEVC/H.265 Decoding” (영어). 《www.phoronix.com》. 2025년 1월 16일에 확인함. 
  24. “Nouveau Feature Matrix”. Freedesktop.org. 
  25. Tack, Stanley (2020년 5월 19일). “Cut to the Video: Adobe Premiere Pro Helps Content Creators Work Faster with GPU-Accelerated Exports | NVIDIA Blog” (미국 영어). 《The Official NVIDIA Blog》. 2021년 3월 24일에 확인함. 
  26. “BRIDGE LIVE is a broadcast-quality, low-latency turnkey system”. 
  27. AVIDemux 변경 로그
  28. 사이버링크 포럼 공식 게시물
  29. “Blackmagic Forum • View topic – Davinci studio 16, NVENC unavailable”. 《forum.blackmagicdesign.com》. 2021년 3월 24일에 확인함. 
  30. “nvenc.c H.264 hardware encoding using nvidia nvenc”. 
  31. “QUADRO DESKTOP/QUADRO NOTEBOOK DRIVER RELEASE 375”. 
  32. “Nvcodec”. 
  33. 핸드브레이크 1.2.0 출시
  34. 직원이 소프트웨어가 인코더와 상호 작용하는 방식에 문제가 있지만 존재한다고 말하는 포럼 게시물
  35. “Transcoding | Jellyfin”. 
  36. Casablanca Expert의 MacroSystem Arabesk 8 정보
  37. vMix 27 출시!
  38. “NVIDIA vGPU Resources for Design & VIrtualization” (미국 영어). 《NVIDIA》. 2021년 3월 24일에 확인함. 

외부 링크

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.