high performance gpu video encoding
play

HIGH-PERFORMANCE GPU VIDEO ENCODING ABHIJIT PATAIT SR. MANAGER, - PowerPoint PPT Presentation

HIGH-PERFORMANCE GPU VIDEO ENCODING ABHIJIT PATAIT SR. MANAGER, NVIDIA AGENDA GPU Video Encoding Overview NVIDIA Video Encoding Capabilities Kepler, Maxwell Gen 1, Maxwell Gen 2 Software API Performance & Quality Roadmap WHY GPU VIDEO


  1. HIGH-PERFORMANCE GPU VIDEO ENCODING ABHIJIT PATAIT SR. MANAGER, NVIDIA

  2. AGENDA GPU Video Encoding Overview NVIDIA Video Encoding Capabilities Kepler, Maxwell Gen 1, Maxwell Gen 2 Software API Performance & Quality Roadmap

  3. WHY GPU VIDEO ENCODING?

  4. BENEFITS Low power Fixed function hardware, free CPU Reduced memory transfers Low latency High performance Higher density Scalability Automatic benefit from improvements in hardware Ease of programming Linux, Windows, C/C++, Application portability

  5. NVIDIA VIDEO ENCODER CAPABILITIES

  6. MAIN FEATURES Feature Benefits H.264 base, main, high profiles Wide range of use-cases H.265/HEVC main profile Lower bitrates at same quality “Blazing - speed” encoding High performance (4K @ 60 fps) YUV 4:2:0 and 4:4:4 support High quality encoding without chroma subsampling QP maps Customizable quality, region of interest encoding 4K encoding in hardware High resolution encode API - NV Encode SDK & GRID SDK Flexible, Win/Linux, DirectX/CUDA Independent of CUDA Use CUDA and encode simultaneously

  7. FEATURE COMPARISON Kepler Maxwell Gen 1 (GM10x) Maxwell Gen 2 (GM20x) H.264 only H.264 only H.264 and HEVC/H.265 Planar 4:4:4 & proprietary Standard 4:4:4 and H.264 Standard 4:4:4 and H.264 4:4:4; no lossless encoding lossless encoding lossless encoding ~240 fps 2-pass encoding @ ~500 fps 2-pass encoding @ ~900 fps 2-pass encoding @ 720p 720p 720p GRID K340/K520, K1/K2, Maxwell-based GRID & Quadro TBA Quadro, Tesla K10/K20 products GeForce – 2 full-speed encode GeForce – 2 full-speed encode GeForce – 2 full-speed encode sessions/system sessions/system sessions/system NV Encode SDK 1.0-5.0 (Now) NV Encode SDK 4.0+ (Now) NV Encode SDK 5.0+ (Now) GRID SDK 1.x, 2.2, 2.3 (Now) GRID SDK 3.0+ (Now) In development

  8. WHAT’S NEW – HARDWARE HEVC 8-bit encoding Main8 profile Optimized for low-latency applications (I and P frames) > 300 fps at very high quality 720p H.264 Improved performance (~80% higher compared to 1st Gen Maxwell) 4:4:4 and lossless

  9. WHAT’S NEW - SOFTWARE NVENC SDK 5.0 NVIDIA GPU driver 347.18 and above HEVC Unified API for H.264 and HEVC Linux & Windows Intra refresh, ref-pic invalidation, etc. for H.264 and HEVC Support for all NVENC hardware up to GM20x Adaptive quantization Quality improvements All-new sample applications, including a performance application

  10. SOFTWARE API

  11. USING NVENC Direct Capture + Encode Encode NVENC SDK GRID SDK • No capture • Capture + encode • Transcoding • Optimized for low-latency apps • Archiving • Capture + CUDA pre- • Video editing process + encoding • CUDA pre-process + • Encoder settings encoding optimized for streaming • Granular encoder settings • D3D, CUDA interop • D3D, CUDA interop

  12. DIRECT ENCODE (NVENC SDK) Client application Encoded bitstream Initialize, Configure, Encode NVENC API Configure HW CUDA NVENC DirectX Driver Driver Driver HW Encode NVENC firmware + hardware

  13. CAPTURE & ENCODE (GRID SDK) Client application Encoded Bitstream DX/OGL Present NvFBC/NvIFR Capture YUV NVENC DirectX/OGL Driver Driver Encode NVENC Hardware GPU 3D Engine

  14. NVENC SDK (1/2) Available on NVIDIA developer zone https://developer.nvidia.com/nvidia-video-codec-sdk Current release: 5.0 Interface header, documentation, sample application .dll/.so included in the driver Unified API for Windows and Linux Works on x86/x64 API’s, presets, rate control modes for Low-latency streaming Transcoding Video conferencing

  15. NVENC SDK (2/2) Unified API for H.264 and HEVC Flexibility Dynamic resolution/bitrate change Low-level encoder settings Windows, Linux, DirectX, CUDA, OGL (via CUDA) Works on GeForce (2 sessions/system) Error concealment Reference picture invalidation Intra-refresh Greater flexibility for quality/performance trade-off Lossless encoding only in NVENC SDK

  16. GRID SDK ENCODE NDA only – older release available on NV developer zone https://developer.nvidia.com/grid-app-game-streaming Current release: 3.1 (Now – NDA), 2.3 (Public) Interface header, documentation, sample apps .dll/.so included in the driver Windows and Linux Works on x86/x64 Presets and API’s for Remote graphics (Cloud gaming, remote desktop, capture & stream) Optimized for low latency

  17. QUALITY

  18. H.264 QUALITY – 1-PASS ENCODING H.264 quality with 1-pass rate control 46 44 42 Default PSNR (dB) LL-Default 40 HP HQ 38 BD LL-HQ 36 34 6 8 10 12 15 18 20 bitrate (Mbps)

  19. H.264 QUALITY – 2-PASS ENCODING H.264 quality with 2-pass rate control 46 44 42 Default PSNR (dB) LL-Default 40 HP HQ 38 BD LL-HQ 36 34 6 8 10 12 15 18 20 bitrate (Mbps)

  20. COMPARISON: 1-PASS VS 2-PASS H.264 quality comparison: 1-pass vs 2-pass 40.5 40 39.5 PSNR (dB) 39 38.5 2-pass 1-pass 1-pass 2-pass 1-pass 2-pass 2-pass 2-pass 1-pass 2-pass 1-pass 1-pass 38 37.5 Default LL-Default HP HQ BD LL-HQ Encoder preset

  21. BITRATE SAVINGS Bitrate savings - HQ preset Bitrate savings - Default preset 9.8 9.7 8 8 7.9 7.8 6 6 5.8 5.8 4 3.9 HEVC HEVC HEVC H.264 H.264 H.264 H.264 H.264 H.264 HEVC HEVC HEVC 39.5 dB 41.0 dB 42.0 dB 39.5 dB 41.0 dB 42.0 dB 33% 25% 18% 33% 26% 19% Bitrate savings

  22. H.264 VS HEVC Courtesy: Vanguard video

  23. H.264 VS HEVC Courtesy: Vanguard video

  24. PERFORMANCE

  25. H.264 PERFORMANCE – GM20X H.264 Performance (1080p) 500 fps 450 fps 400 fps 350 fps Encode FPS 300 fps 250 fps 200 fps 150 fps 2 pass 1 pass 2 pass 1 pass 1 pass 2 pass 1 pass 2 pass 100 fps 1 pass 2 pass 1 pass 2 pass 1 pass 2 pass 1 pass 2 pass 50 fps fps HP LL-HP HQ LL-HQ Single pass 464 fps 342 fps 291 fps 293 fps Two pass 306 fps 246 fps 171 fps 181 fps 1080p, GM20x

  26. H.264/HEVC PERF COMPARISON H.264/HEVC Performance: 2-pass 350 fps 300 fps 250 fps Encode FPS 200 fps 150 fps 100 fps H.264 H.264 H.264 H.264 HEVC HEVC HEVC HEVC 50 fps fps HP LL-HP HQ LL-HQ H.264 306 fps 246 fps 171 fps 181 fps H.265 220 fps 214 fps 102 fps 153 fps

  27. PERFORMANCE - TREND Performance 1800 fps 1600 fps 1400 fps 1200 fps 1000 fps 800 fps 600 fps 400 fps 200 fps fps Kepler (2011) Maxwell Gen 1 (2013) Maxwell Gen 2 (2014) Future

  28. ROADMAP

  29. ROADMAP Core GPU chip IP Motion estimation only mode – 2H2015 SAO, 10/12-bit, HEVC B-frames Lossless/4:4:4 Improved quality for screen content encoding ME performance and quality enhancements Today: 4K@60fps Next: 8K@??

  30. THANK YOU APATAIT@NVIDIA.COM

Recommend


More recommend