최근 수정 시각 : 2024-02-15 23:34:08

NVIDIA NVENC

1. 개요2. 배경3. 세대별 구분
3.1. 1세대3.2. 4세대3.3. 5세대3.4. 6세대3.5. 7세대3.6. 8세대
4. 기타5. 관련 문서

1. 개요

엔비디아의 GPU 내부에 탑재된 동영상 하드웨어 인코딩을 위한 고정 하드웨어 블록 또는 SIP 코어. 자세한 공식 설명은 NVIDIA Video Codec SDK 페이지 참조.

하드웨어 디코딩은 NVDEC로, 이에 대한 자세한 내용은 NVIDIA PureVideo 문서 참조.

2. 배경

2012년 3월 22일 지포스 600 시리즈와 함께 발표되었다. 개발한 계기는 인텔이 2011년 인텔 샌디브릿지 마이크로아키텍처 CPU에 동영상 인코딩에 들어가는 막대한 연산을 보조하기 위해 동영상 연산에 전념하는 연산 엔진인 퀵 싱크 비디오를 탑재해 자신들의 내장 GPU에 넣은 것을 본 NVIDIA와 AMD는, 각각 그에 대응하는 기술이었던 NVENC와 VCE(Video Coding Engine)를[1] 만들어 넣었다.

출시한 당시에는 먼저 나왔던 퀵 싱크 비디오처럼 비디오 인코딩 속도는 괜찮았으나 품질 문제로 인기가 없었지만, 2010년대 중반부터 게임 경험의 인터넷 공유와 방송 시대가 도래하고 나서 정착된 현재는 엔비디아 쉐어로 게임 리플레이 영상을 녹화하거나 OBS Studio XSplit 같은 방송 응용 프로그램과 연동에 널리 사용되고 있고, 동영상 편집 툴로 유명한 어도비의 프리미어 프로도 2020년 5월부터 NVENC를 지원하면서 동영상 인코딩을 반드시 CPU로만 이용할 필요가 없어지는 등 매우 중요한 기능으로 자리매김했다.

3. 세대별 구분

NVIDIA 개발자 사이트에 기재된 ' Video Encode and Decode GPU Support Matrix'에 따르면, 해당 표에 2세대와 3세대가 없다. 영문판 위키피디아에서는 편의상 자체적으로 세대 구분하고 있지만, 이 문서에는 NVIDIA 공식 홈페이지에 따라 구분한다.

3.1. 1세대

2012년 3월 22일 지포스 600 시리즈와 함께 등장한 최초의 NVENC. 최대 H.264(AVC) 규격 코덱 1080p High Prorile 사양의 인코딩을 지원했으며, 압축률과 동영상 품질을 희생해 최대 8배 고속 인코딩 모드를 지원하기도 했다.

3.2. 4세대

2014년 2월 18일 지포스 GTX 750 Ti, 750과 함께 등장한 두 번째 NVENC로, 4:4:4 크로마 서브샘플링 영상과 무손실 압축 영상 인코딩 기능을 추가했다. 또한 적응형 B-frame 기능을 추가해 더 효율적으로 압축할 수 있게 됐다.

단, GM108이 탑재된 그래픽 하드웨어들만 NVENC 자체가 탑재되어 있지 않아서 이용할 수 없다. GK208 기반 그래픽 하드웨어들도 NVENC를 이용할 수 있었던 것과 비교하면 아쉬운 점.

3.3. 5세대

2014년 9월 18일 지포스 900 시리즈와 함께 등장한 세 번째 NVENC로, 지원하는 인코딩 영상의 해상도가 최대 4K UHD로 확장되었다. H.265(HEVC) 규격 코덱의 영상 인코딩 기능이 추가되었지만, 4:2:0 크로마 서브샘플링 한정인 것이 단점.

3.4. 6세대

2016년 5월 27일 지포스 10 시리즈와 함께 등장한 네 번째 NVENC로, 지원하는 인코딩 영상의 해상도가 최대 8K UHD로 확장되었다. 4:2:0 크로마 서브샘플링만 지원해서 H.264보다 빈약했던 H.265에서 10비트 색심도, 4:4:4 크로마 서브샘플링, 무손실 압축 기능이 추가됨에 따라 기능적으로 크게 보강되었다. 단, B-frame 기능이 추가되지 않은 것은 아쉬운 점. 이 외에도 적응적 샘플 오프셋(Sample Adaptive Offset) 기능을 통해 압축 효율이 개선되었다.

GV100이 탑재된 TITAN V와 TU117이 탑재된 지포스 GTX 1650에도 탑재된 것으로 알려졌다. 단, GP108이 탑재된 지포스 GT 1030이랑 노트북용으로만 라인업된 지포스 MX 시리즈만 NVENC 자체가 탑재되어 있지 않아서 GM108 기반 그래픽 하드웨어들과 마찬가지로 이용할 수 없다. GP107이 탑재된 지포스 MX 350도 NVENC를 이용할 수 없는데, 이는 MX 시리즈라는 이유로 NVIDIA가 NVENC를 일부러 비활성화 시킨 듯 하다.

3.5. 7세대

2018년 9월 20일 지포스 20 시리즈와 함께 등장한 다섯 번째 NVENC로, H.265에서 지원되지 않았던 B-frame 기능이 추가되어 H.265 압축 효율이 25% 개선되었다. 이로써 H.265의 인코딩 기능이 H.264의 상위 호환이 되었다. 2019년 2월 22일 지포스 16 시리즈에도 탑재되었으나, TU117이 탑재된 GTX 1650만 6세대 NVENC이므로 주의할 것. GTX 1650 SUPER가 7세대 NVENC를 이용할 수 있는 가장 저렴한 그래픽 카드인 셈.

2020년 9월 17일에 출시된 지포스 30 시리즈에도 탑재되었다. 명목상 지포스 20, 기존 7세대 NVENC 대비 H.264 및 H.265의 처리 속도가 3% 가량 느려졌지만 전력 효율은 10% 가량 좋아졌으며, 비트레이트 대비 영상 품질이 5% 향상되었다. 이 외에 성능 및 기능은 기존과 동일하다.[2]

어도비 프리미어 프로 등의 동영상 편집 도구에서는 Intel Quick Sync Video에 비해 전성비가 소폭 떨어지나, 전성비 차이는 종전 6세대와 30% 격차였던 것과는 다르게 7세대에서 10% 이내 격차로 많이 좁혀졌다. 다음 세대에서 퀵 싱크 비디오의 발전이 없다는 가정하에 동일한 수준의 전성비가 될 수 있을 것으로 보인다.

3.6. 8세대

2022년 9월 21일 발표된 지포스 40 시리즈에 탑재된 여섯 번째 NVENC로, NVIDIA 그래픽카드 최초로 AV1 인코딩을 지원한다.

4. 기타

  • NVIDIA가 OBS Studio와 협업하여 기존에 지원하던 NVENC를 더욱 최적화했고, OBS Studio쪽에서 이를 적용한 23.0.1을 2019년 2월 27일에 내놓았다. 인코더 항목의 NVIDIA NVENC(NEW)가 그것이다. 엔비디아는 이번 최적화를 통해 CPU 점유율도 낮추고 방송으로 인한 프레임률 저하도 줄였을 뿐 아니라, 지포스 10 시리즈의 경우 x264 very fast 프리셋보다 더 좋은 품질의 영상을, 지포스 16과 20 시리즈의 경우 x264 fast 프리셋의 성능으로 x264 medium 프리셋 품질의 영상을 얻을 수 있다고 말했다. # # 이 결과물은 OBS Studio뿐만 아니라 XSplit도 2019년 3월 27일에 발표된 3.7 버전부터 크게 개선되었다.
  • 2020년 5월 27일, 446.14 드라이버 버전을 내놓고 NVIDIA Video Encode and Decode GPU Support Matrix 문서를 갱신했다. NVENC로 동시에 인코딩할 수 있는 영상이 2에서 3으로 증가했다. 참고로 워크스테이션용 그래픽 카드 제품군은 무제한이다.[3]

5. 관련 문서



[1] 2017년에 출시된 Raven Ridge 계열 APU 내장 그래픽스부터 VCN( Video Core Next)으로 변경 및 통합되었다. [2] Intel Quick Sync Video Version 8에서 지원하는 12비트+HDR 인코딩은 지원 안하며 9세대에서 지원 예정. [3] 라데온의 경우 동시에 인코딩할 수 있는 영상이 5개이며 라데온 프로는 무제한이다.