Clear Sky Science · nl

FPGA-gebaseerde onnauwkeurige signed-maalderontwerpen voor hogesnelheids beeldverwerkingstoepassingen

· Terug naar het overzicht

Slimmere wiskunde voor scherpere beelden

Elke digitale foto die u maakt, berust op miljarden kleine berekeningen die op de achtergrond plaatsvinden. Veel van die berekeningen zijn vermenigvuldigingen, en ze snel en efficiënt uitvoeren is cruciaal voor camera's, telefoons en ingebedde apparaten. Dit artikel onderzoekt hoe we opzettelijk kleine, gecontroleerde fouten in deze vermenigvuldigingen kunnen toestaan om energie en hardware te besparen, terwijl er toch beelden worden geproduceerd die voor het menselijk oog vrijwel identiek blijven.

Figure 1
Figuur 1.

Waarom imperfect goed genoeg kan zijn

Niet elke berekening hoeft perfect te zijn om nuttig te zijn. In beeld- en signaalverwerking wordt het eindresultaat door mensen bekeken, die doorgaans het effect van zeer kleine numerieke fouten niet kunnen zien. Dit idee, approximate computing genoemd, ruilt een beetje wiskundige precisie in voor grote winst in snelheid, energiebesparing en kleinere chipoppervlakte. Vermenigvuldiging is een van de duurste bewerkingen in zulke systemen, en traditionele ontwerpen streven naar exacte resultaten met hoge hardwarekosten. De auteurs richten zich op het bouwen van vermenigvuldigers die zowel positieve als negatieve getallen aankunnen (signed multipliers) en zijn afgestemd op een populair herprogrammeervaar platform dat bekendstaat als FPGA's. Bestaande approximate-multipliers zijn grotendeels ontworpen voor speciale chips en voor unsigned getallen, en vertalen zich daarom niet goed naar reële beeldsystemen die sterk leunen op signed-rekenkunde.

Bouwstenen binnen een herprogrammeerbare chip

Moderne FPGA's bestaan uit herhaalde eenheden die lookup tables en snelle carry-ketens heten en die bijzonder geschikt zijn voor optellingen. De auteurs analyseren eerst hoe een exacte 8-bits signed-vermenigvuldiger uit deze blokken kan worden opgebouwd. Ze onderzoeken zorgvuldig het interne patroon van bewerkingen om herhaalde of overbodige structuren op te sporen, zoals dubbele logica en veel te ruime extensies van tekenbits. Door het ontwerp te herorganiseren, gelijksoortige delen samen te voegen en productbits weg te laten die nooit nodig zijn vanwege het beperkte invoerbereik, creëren ze een zuinige “exacte” baseline-vermengvuldiger die al minder logische poorten en kortere signaalpaden gebruikt. Deze geoptimaliseerde basis dient vervolgens als fundament voor hun approximate-ontwerpen.

Twee varianten van approximate-vermengvuldigers

Vanuit deze geoptimaliseerde basis introduceren de auteurs twee approximate 8-bits signed-vermengvuldigers. Beide zijn gebaseerd op een eenvoudig idee: de minst significante bits van de uitvoer dragen het minst bij aan beeldkwaliteit, dus die kunnen worden vereenvoudigd of gefixeerd zonder merkbare visuele impact. In Approximate Design 1 worden de zeven minst significante uitvoerbits niet exact berekend, maar hun interne carry-signalen worden nog wel gegenereerd en zorgvuldig beheerd. Een zoektocht door vele mogelijkheden selecteert constante waarden voor deze lage bits die de gemiddelde fout laag houden. Approximate Design 2 gaat verder: het verwijdert zowel de lage uitvoerbits als hun lokale carries, waardoor de hoeveelheid hardware sterk wordt teruggebracht. In beide gevallen wordt de structuur vervolgens herschikt om meerdere kleine bewerkingen in elke lookup table te plaatsen en ze uit te lijnen met de snelle carry-ketens, wat resulteert in compacte schakelingen (netlists) die efficiënt op de FPGA-structuur kunnen worden gemapt.

Figure 2
Figuur 2.

Prestaties, energie en beeldkwaliteit

De twee ontwerpen worden grondig getest op een Xilinx Virtex-7 FPGA en vergeleken met veel bestaande approximate-vermengvuldigers. De auteurs meten hoeveel lookup tables worden gebruikt, hoe lang het langzaamste signaalpad is en hoeveel dynamisch vermogen de ontwerpen verbruiken. Ze simuleren ook uitputtend alle invoercombinaties om de gemiddelde en worst-case vermenigvuldigingsfout te kwantificeren. Beide nieuwe vermenigvuldigers bereiken een beter evenwicht tussen deze factoren dan concurrerende benaderingen: ze gebruiken minder middelen, hebben kortere vertragingen en verbruiken minder vermogen bij vergelijkbare of zelfs kleinere gemiddelde fouten. Het grovere ontwerp, Approximate Design 2, gebruikt de minste hardware en energie, ten koste van een grotere worst-case fout, terwijl Approximate Design 1 strakkere foutgrenzen biedt met iets hoger middelengebruik. Om de praktische impact te demonstreren, integreren de auteurs deze vermenigvuldigers in twee veelvoorkomende beeldverwerkingstaken — beeldmenging en verzachting — en evalueren ze de uitvoer met standaard maten voor visuele kwaliteit. In beide taken blijven de resulterende beelden zeer dicht bij die van een exacte vermenigvuldiger, met hoge piek-signaal-ruisverhoudingen en structurele gelijkenheidsscores, en zonder duidelijke degradatie voor menselijke waarnemers.

Wat dit betekent voor alledaagse apparaten

Het werk laat zien dat zorgvuldig ontworpen “goed genoeg” rekenmethoden de omvang en het energiegebruik van herprogrammeerbare hardware aanzienlijk kunnen verminderen terwijl de beeldkwaliteit behouden blijft. Door de natuurlijke tolerantie van beelden voor kleine numerieke fouten te benutten en het ontwerp af te stemmen op de specifieke bouwstenen van FPGA's, creëren de auteurs signed-vermengvuldigers die zowel snel als zuinig zijn. Voor toekomstige camera's, ingebedde visiesystemen of AI-versnellers die binnen strakke stroom- en kostenbudgetten moeten werken, bieden dergelijke approximate-vermengvuldigers een praktische manier om meer prestaties uit de hardware te halen zonder het belangrijkste op te offeren: hoe het uiteindelijke beeld voor het menselijk oog eruitziet.

Bronvermelding: 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

Trefwoorden: approximate computing, FPGA-multipliers, beeldverwerkingshardware, laagvermogenontwerp, signed rekenkunde