Domande e risposte con MotionDSP

Test - Schede video dedicate, processori e APU: scopriamo come si comporta l'hardware AMD con l'OpenCL.

Avatar di Tom's Hardware

a cura di Tom's Hardware

Domande e risposte con MotionDSP

Chi può prendersi cura di riprese sfocate per trasformarle in una faccia chiara e riconoscibile? vReveal è la versione consumer del software Ikena di MotionDSP, che si rivolge ai mercati verticali, incluse le agenzie governative. Gli algoritmi dell'azienda possono fornire risultati piuttosto sorprendenti (anche se ci sono dei limiti), ma questo lavora in post-processing e richiede uno sforzo elevato all'hardware. Che cosa ci si deve aspettare quando si lavora con vReveal? Abbiamo parlato con Nik Bozinovic, CTO di MotionDSP e con il CEO Sean Varah.

TH: Come vi siete avvicinati all'accelerazione hardware?

SV: Quando abbiamo iniziato, cinque anni fa, non c'era un modo facile per programmare per le GPU. Fondamentalmente, siccome lavoriamo sui nostri algoritmi dal 2008, abbiamo realizzato che facendo passare un video dal livello inferiore alla risoluzione SD e poi da questa alla HD, c'era bisogno di maggiori prestazioni di calcolo. Solo con maggiore potenza potevamo processare i video in tempo reale, è questa la missione critica del nostro prodotto. Quindi l'uso del calcolo eterogeneo è apparso necessario ben prima che diventasse realtà, prima che AMD e Nvidia iniziassero a supportarlo. È stato nella roadmap per anni, ma solo negli ultimi 12/24 mesi abbiamo finalmente visto diventare realtà la possibilità di avere prestazioni da supercomputer grazie a una GPU. Onestamente, sta avendo un grande impatto su di noi.

MotionDSP's Sean Varah

Sean Varah di MotionDSP

TH: Che cosa fate con le capacità di calcolo eterogeneo nel vostro software?

SV: Un paio di cose. Ci sono diverse cose che sono sbagliate con i video. È davvero molto raro che abbiate una videocamera perfetta in condizioni ideali, specialmente se si parla di gente comune. Potrebbero esserci problemi con la risoluzione, il rumore, l'illuminazione, la stabilizzazione. Quindi in vReveal, abbiamo inserito una serie di filtri che insieme possono risolvere questi problemi e reso il processo semplice consentendo di essere queste operazioni con un click, tutto automaticamente. La ragione per cui possiamo offrire un'esperienza accattivante ai consumatori è che usiamo il calcolo eterogeneo.

NB: Oltre alla stabilizzazione, abbiamo il miglioramento del rumore o la sua rimozione, che possiamo definire filtro di pulitura. Abbiamo il bilanciamento automatico della luminosità, il miglioramento del contrasto e, come detto da Sean, tutto questo può avvenire automaticamente nascondendone all'utente la complessità. È qui che il calcolo eterogeneo si rivela estremamente maneggevole. Abbiamo strumenti di processing e d'analisi che si avvantaggiano tutti del calcolo eterogeneo. Facciamo due esempi. In vReveal possiamo, in quasi tempo reale, creare panorami da video realizzati con la tecnica del "panning". Potete prendere ogni scatto realizzato con la tecnica panning, cliccare un tasto in vReveal e in pochi secondi avrete un bellissimo panorama all'interno del nostro software professionale Ikena. Abbiamo una cosa simile in cui le fusioni avvengono al volo, e potete creare grandi mosaici per cose differenti, e questo non sarebbe stato possibile senza usare la GPU. Certo abbiamo iniziato come un'azienda impegnata nel miglioramento dei video, ma ora, usando le capacità della GPU, siamo diventati qualcosa di più.

TH: Quali aspetti del vostro software non sarebbero stati possibili senza l'accelerazione basata sulla GPU?

SV: Lavorare in tempo reale senza la GPU non sarebbe possibile.

NB: Ciò è vero specialmente con i file multimediali in alta risoluzione perché, a parte il mero collo di bottiglia che si risolve passando alla GPU o al calcolo eterogeneo in generale, rispetto all'uso esclusivo della CPU, si risolve anche un problema relativo al bandwidth. Ciò che vogliamo dire è che per far funzionare il nostro software e creare i risultati desiderati, dobbiamo gestire tanti fotogrammi nello stesso momento - da un paio fino a 30, 40 o 50 frame. Si tratta di un carico che impatta molto su memoria e bandwidth, un problema persino maggiore rispetto alla gestione dei calcoli. Eseguendo qualcosa di simile su una GPU vincerete due volte perché copiare un gran numero di fotogrammi non compressi e in alta definizione è qualcosa che potete fare su una GPU, ma è impossibile sulla CPU. È quasi di un ordine di grandezza la differenza tra la larghezza di banda della memoria di questi due chip.