Clear Sky Science · ru
Проекты неточных знаковых умножителей на FPGA для высокопроизводительных приложений обработки изображений
Умная математика для более чётких изображений
Каждая цифровая фотография, которую вы делаете, зависит от миллиардов мелких вычислений за кулисами. Многие из этих вычислений — умножения, и их выполнение быстро и эффективно критично для камер, телефонов и встроенных устройств. В этой статье исследуют, как можно сознательно допускать крошечные, контролируемые погрешности в этих умножениях, чтобы экономить энергию и аппаратные ресурсы, сохранив при этом визуально неотличимое для человеческого глаза качество изображения.

Почему несовершенно может быть достаточно
Не каждое вычисление должно быть совершенно точным, чтобы быть полезным. В обработке изображений и сигналов конечный результат просматривают люди, которые обычно не видят эффекта очень небольших численных ошибок. Эта идея, называемая приближёнными вычислениями, меняет часть математической точности на большие выигрыши в скорости, экономии энергии и сокращении площади на кристалле. Умножение — одна из самых затратных операций в таких системах, и традиционные решения ориентированы на точные результаты с высокими аппаратными затратами. Авторы сосредотачиваются на создании умножителей, работающих как с положительными, так и с отрицательными числами (знаковые умножители), и адаптированных к популярной перепрограммируемой платформе — FPGA. Существующие приближённые умножители в основном проектировались для заказных микросхем и для беззнаковых чисел, поэтому они плохо переносятся в реальные системы обработки изображений, где широко используется знаковая арифметика.
Строительные блоки внутри перепрограммируемого чипа
Современные FPGA состоят из повторяющихся блоков, называемых таблицами поиска (LUT) и быстрыми цепочками переноса, которые особенно хороши для выполнения сложения. Авторы сначала анализируют, как точный 8-битный знаковый умножитель можно собрать из этих блоков. Они внимательно изучают внутреннюю структуру операций, чтобы выявить повторяющиеся или ненужные структуры, такие как дублирующая логика и чрезмерные расширения битов знака. Перестраивая дизайн, объединяя похожие части и отбрасывая биты произведения, которые никогда не нужны из-за ограниченного диапазона входов, они создают компактный «точный» эталонный умножитель, который уже использует меньше логических элементов и имеет более короткие пути сигналов через кристалл. Этот оптимизированный эталон затем служит основой для их приближённых разработок.
Два варианта приближённых умножителей
Исходя из этого оптимизированного эталона, авторы предлагают два приближённых 8-битных знаковых умножителя. Оба опираются на простую идею: наименее значимые биты выхода вносят наименьший вклад в качество изображения, поэтому их можно упростить или зафиксировать без заметного визуального эффекта. В Приближенном дизайне 1 семь наименее значимых битов выходного слова не вычисляются точно, но их внутренние сигналы переноса всё ещё генерируются и управляются осторожно. Перебор множества вариантов позволяет подобрать постоянные значения для этих низких битов, которые сохраняют низкую среднюю ошибку. Приближённый дизайн 2 идёт дальше: он удаляет как низкие выходные биты, так и их локальные переносы, существенно сокращая объём аппаратных средств. В обоих случаях структура затем перестраивается так, чтобы упаковать несколько небольших операций в каждую таблицу поиска и выровнять их с быстрыми цепочками переноса, что приводит к компактным «сетевым спискам» схем, эффективно отображающимся на ткани FPGA.

Производительность, энергопотребление и качество изображений
Оба дизайна тщательно протестированы на FPGA Xilinx Virtex-7 и сопоставлены с многочисленными существующими приближёнными умножителями. Авторы измеряют, сколько таблиц поиска используется, какова длина самого медленного пути сигнала и сколько динамической энергии потребляют схемы. Они также исчерпывающе симулируют все комбинации входов, чтобы количественно оценить среднюю и худшую случаи ошибки умножения. Оба новых умножителя достигают лучшего баланса этих факторов по сравнению с конкурентными подходами: они используют меньше ресурсов, имеют меньшие задержки и потребляют меньше энергии при похожей или даже меньшей средней ошибке. Более грубый дизайн, Приближённый дизайн 2, использует наименьшее количество аппаратуры и энергии, ценой большей худшей ошибки, тогда как Приближённый дизайн 1 даёт более строгие пределы ошибки при слегка большем использовании ресурсов. Чтобы показать влияние в реальных задачах, авторы встроили эти умножители в две распространённые операции обработки изображений — смешивание изображений и сглаживание — и оценили результаты стандартными метриками визуального качества. В обоих задачах полученные изображения остаются очень близки к тем, что даёт точный умножитель, с высокими отношениями сигнал/шум по пику и показателями структурного сходства, без очевидной деградации для человеческого наблюдателя.
Что это значит для повседневных устройств
Работа показывает, что тщательно спроектированная «достаточно хорошая» арифметика может значительно уменьшить размер и энергопотребление перепрограммируемого аппаратного обеспечения, одновременно сохранив качество изображений. Используя природную устойчивость изображений к небольшим численным ошибкам и адаптируя дизайн к конкретным строительным блокам FPGA, авторы создают знаковые умножители, которые одновременно быстры и экономны. Для будущих камер, систем встроенного зрения или ускорителей ИИ, которым нужно работать в жёстких бюджетах по энергии и стоимости, такие приближённые умножители предлагают практический способ выжать больше производительности, не жертвуя тем, что в конечном счёте важнее всего: тем, как итоговое изображение выглядит для человеческого глаза.
Цитирование: 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
Ключевые слова: приближённые вычисления, умножители для FPGA, аппаратное обеспечение для обработки изображений, энергоэффективный дизайн, знаковая арифметика