5. NVIDIA NVENC - Cyberlink MediaEspresso

 

L’encodig video assistito dalla GPU è sicuramente una delle applicazioni GP-GPU più comuni e facilmente utilizzabili dagli utenti finali grazie anche alla diffusione di software come Cyberlink MediaEspresso.

L’utilizzo di una GPU nell’ambito della codifica video garantisce una sostanziale riduzione dei tempi di esecuzione delle conversioni e lascia libera l’unità principale per eseguire altre operazioni, non bloccando la macchina dell’utente.

Nelle GPU basate su architettura “Fermi”, l’encoding è eseguito sfruttando la potenza di calcolo dei CUDA Cores ottenendo così un elevata potenza di calcolo, ma andando ad incidere sui consumi energetici.

Seguendo l’approccio delle aziende concorrenti, NVIDIA ha deciso di integrare un encoder H.264 all’interno delle sue GPU “Kepler”, che può lavorare in modo indipendente rispetto alle altre unità di elaborazione sfruttando esclusivamente una circuiteria dedicata.

La scelta di supportare lo standard H.264 è quasi obbligata, infatti la maggior parte dei video in alta definizione sono codificati in questo formato, tra cui i dischi Blu-ray e i contenuti video in HTML 5 supportati da Microsoft e Mozilla.

Tra le caratteristiche principali di NVENC troviamo:

  • Encoding di un video full HD (1080p) fino a 8 volte più velocemente del tempo reale
  • Supporto ai profili H.264 Base, Main e High profile 4.1 (lo stesso dei Blu-ray)
  • Supporto alla tecnica di MVC (Multiview Video Coding) per i filmati 3D (estensioni dell’H.264 per i Blu-ray 3D)
  • Risoluzione massima di encode a 4096x4096 pixel

Gli sviluppatori di software possono accedere alla potenza di calcolo di NVIDIA NVENC utilizzando delle API proprietarie disponibili con il suo SDK.

Nel corso dell’anno sono attesi numerosi software che possono sfruttare questa nuova tecnologia abbinandola, eventualmente, alla potenza di calcolo dei CUDA Cores; “Kepler” supporta infatti l’utilizzo contemporaneo di entrambe le modalità di elaborazione GP-GPU.

 

NVIDIA GeForce GTX 680 : ecco Kepler! 5. NVIDIA NVENC - Cyberlink MediaEspresso 1  NVIDIA GeForce GTX 680 : ecco Kepler! 5. NVIDIA NVENC - Cyberlink MediaEspresso 2 
Conversione 720p -> iPhone 4 con GPU
Conversione 720p -> iPhone 4 con CPU


Per testare le performance e la qualità video dell'encoder NVENC abbiamo utilizzato una versione Beta del software Cyberlink MediaEspresso e confrontato i risultati con quelli ottenibili da una CPU Intel Core i7 2600K (senza l’utilizzo della tecnologia Intel Quick Sync).

L’interfaccia del programma è estremamente semplice e consente di riconvertire qualsiasi tipo di video da un formato all’altro e di ricodificare i filmati per renderli fruibili in modo migliore sui dispositivi portatili come gli smartphone o i Tablet PC.

La nostra prova consiste nella conversione di due file video H.264 da circa 1 ora e 55 minuti, risoluzione 720p e 1080p, per adattarli alla visione su di un Apple iPhone 4.

Abbiamo scelto di utilizzare l’opzione “Smart Fit” di MediaEspresso, che garantisce il mantenimento delle proporzioni originali e una buona qualità dell’immagine.


NVIDIA GeForce GTX 680 : ecco Kepler! 5. NVIDIA NVENC - Cyberlink MediaEspresso 3

 

Come si evince dal grafico, i tempi di conversione utilizzando una GeForce GTX 680 sono praticamente dimezzati rispetto a quelli della stessa elaborazione eseguita con 8 threads sui core della CPU e la qualità dell’immagine risulta pressoché identica.

 

NVIDIA GeForce GTX 680 : ecco Kepler! 5. NVIDIA NVENC - Cyberlink MediaEspresso 4 
720p con CPU
720p con GPU
NVIDIA GeForce GTX 680 : ecco Kepler! 5. NVIDIA NVENC - Cyberlink MediaEspresso 5 
1080p con CPU
1080p con GPU

 

L’utilizzo dell’encoder NVENC porta vantaggi anche in termini di consumi energetici; la GeForce GTX 680 consuma infatti 162W nella prima fase di conversione (circa il 10% della durata del video), per poi assestarsi attorno ai 152W, mentre la CPU Intel Core i7 2600K non scende mai sotto i 170W per tutta la durata dell’elaborazione.

L’unica nota negativa è che i file prodotti dalla GTX 680 risultano di dimensioni leggermente superiori a quelli elaborati con la CPU.