Clear Sky Science · it

Progettazione di moltiplicatori con segno imprecisi basati su FPGA per applicazioni di elaborazione immagini ad alte prestazioni

· Torna all'indice

Matematica più intelligente per immagini più nitide

Ogni foto digitale che scatti dipende da miliardi di piccoli calcoli che avvengono in background. Molti di questi calcoli sono moltiplicazioni, e eseguirle rapidamente ed efficientemente è fondamentale per fotocamere, telefoni e dispositivi embedded. Questo articolo esplora come sia possibile consentire deliberatamente piccoli errori controllati in queste moltiplicazioni per risparmiare energia e risorse hardware, pur ottenendo immagini che appaiono praticamente identiche all'occhio umano.

Figure 1
Figure 1.

Perché l'imperfetto può essere abbastanza

Non tutti i calcoli devono essere perfetti per essere utili. Nell'elaborazione di immagini e segnali, il risultato finale è osservato da persone che di solito non percepiscono l'effetto di errori numerici molto piccoli. Questa idea, chiamata calcolo approssimato, scambia un po' di precisione matematica per grandi vantaggi in termini di velocità, risparmio energetico e riduzione dell'area del chip. La moltiplicazione è una delle operazioni più costose in questi sistemi, e i progetti tradizionali puntano a risultati esatti con elevati costi hardware. Gli autori si concentrano sulla costruzione di moltiplicatori che gestiscono sia numeri positivi sia negativi (moltiplicatori con segno) e sono ottimizzati per una popolare piattaforma ricaricabile nota come FPGA. I moltiplicatori approssimati esistenti sono stati per lo più progettati per chip custom e per numeri non segnati, quindi non si adattano bene ai sistemi reali di elaborazione delle immagini che si basano in gran parte sull'aritmetica con segno.

Blocchi costitutivi all'interno di un chip riprogrammabile

Le FPGA moderne sono composte da unità ripetute chiamate lookup table e catene di riporto veloci particolarmente adatte per eseguire addizioni. Gli autori analizzano innanzitutto come un moltiplicatore con segno esatto a 8 bit può essere assemblato da questi blocchi. Esaminano con attenzione il modello interno delle operazioni per individuare strutture ripetute o non necessarie, come logiche duplicate e estensioni dei bit di segno eccessive. Riorganizzando il progetto, unendo parti simili e scartando bit di prodotto che non sono mai necessari a causa dell'intervallo di ingresso limitato, creano un moltiplicatore "esatto" snello che già utilizza meno porte logiche e percorsi di segnale più corti all'interno del chip. Questa base ottimizzata serve quindi da fondamento per i loro design approssimati.

Due varianti di moltiplicatori approssimati

Dalla base ottimizzata, gli autori introducono due moltiplicatori con segno approssimati a 8 bit. Entrambi si basano su un'idea semplice: i bit meno significativi dell'uscita contribuiscono di meno alla qualità dell'immagine, quindi possono essere semplificati o fissati senza impatti visibili. Nel Design Approssimato 1, i sette bit meno significativi dell'uscita non sono calcolati esattamente, ma i relativi segnali di riporto interni vengono comunque generati e gestiti con cura. Una ricerca su molte possibilità seleziona valori costanti per questi bit bassi in modo da mantenere basso l'errore medio. Il Design Approssimato 2 spinge oltre: rimuove sia i bit bassi di uscita sia i loro riporti locali, riducendo notevolmente la quantità di hardware. In entrambi i casi, la struttura viene rimodellata per raggruppare più piccole operazioni in ciascuna lookup table e allinearle con le catene di riporto veloci, ottenendo netlist di circuito compatte che si mappano in modo efficiente sul tessuto FPGA.

Figure 2
Figure 2.

Prestazioni, energia e qualità dell'immagine

Le due soluzioni sono state testate approfonditamente su una Xilinx Virtex-7 FPGA e confrontate con numerosi moltiplicatori approssimati esistenti. Gli autori misurano quante lookup table vengono usate, la lunghezza del percorso di segnale più lento e quanta potenza dinamica consumano i design. Simulano inoltre esaustivamente tutte le combinazioni di ingresso per quantificare l'errore medio e quello nel caso peggiore della moltiplicazione. Entrambi i nuovi moltiplicatori raggiungono un migliore equilibrio di questi fattori rispetto agli approcci concorrenti: usano meno risorse, hanno ritardi più brevi e consumano meno energia per errori medi simili o persino inferiori. Il design più grossolano, il Design Approssimato 2, usa meno hardware ed energia, a scapito di un errore massimo maggiore, mentre il Design Approssimato 1 offre limiti d'errore più stretti con un consumo leggermente superiore di risorse. Per dimostrare l'impatto nel mondo reale, gli autori integrano questi moltiplicatori in due comuni compiti di elaborazione delle immagini — fusione e levigatura — e valutano l'output con misure standard di qualità visiva. In entrambe le attività, le immagini risultanti rimangono molto vicine a quelle prodotte da un moltiplicatore esatto, con elevati rapporti segnale/rumore di picco e punteggi di similarità strutturale, senza degradazioni evidenti percepibili dall'osservatore umano.

Cosa significa per i dispositivi di tutti i giorni

Il lavoro dimostra che un'aritmetica "abbastanza buona" progettata con cura può ridurre significativamente dimensioni e consumo energetico dell'hardware riprogrammabile preservando la qualità dell'immagine. Sfruttando la naturale tolleranza delle immagini a piccoli errori numerici e adattando il design ai blocchi costitutivi specifici delle FPGA, gli autori creano moltiplicatori con segno veloci ed economi. Per fotocamere future, sistemi di visione embedded o accelerator per l'IA che devono operare entro vincoli stretti di potenza e costo, tali moltiplicatori approssimati offrono un modo pratico per estrarre più prestazioni senza sacrificare ciò che conta di più: l'aspetto finale dell'immagine per l'occhio umano.

Citazione: Hassan, J., Khurshid, B., Banday, S.A. et al. FPGA-based imprecise signed multiplier designs for high-performance image processing applications. Sci Rep 16, 10084 (2026). https://doi.org/10.1038/s41598-026-40524-4

Parole chiave: calcolo approssimato, moltiplicatori FPGA, hardware per elaborazione delle immagini, progettazione a basso consumo, aritmetica con segno