устройство для вычисления двумерной свертки
Классы МПК: | G06T1/00 Обработка данных изображения общего применения |
Патентообладатель(и): | Кревецкий Александр Владимирович |
Приоритеты: |
подача заявки:
1992-06-30 публикация патента:
20.08.1995 |
Изобретение относится к автоматике и вычислительной технике и может быть использовано для фильтрации при обработке и распознавании цифровых изображений, содержащих групповые точечные образы, а также изображений, большую часть которых занимает фон с фиксированным уровнем яркости. Целью изобретения является повышение быстродействия и снижение размерности используемых для представления цифрового изображения исходных данных. Для достижения цели устройство для вычисления двумерной свертки содержит блок 3 сортировки данных, первый 6, второй 9 и третий 12 блоки памяти, обеспечивающие сжатие и хранение в сжатом виде исходного цифрового изображения, а также хранение коэффициентов фильтра, регистр 8 вектора смещения результата фильтрации, первый 16, второй 7 и третий 13 счетчики адреса, мультиплексор 15 адреса, кадровый накапливающий запоминающий узел 14, сумматор 11, умножитель 10 с соответствующими связями между ними, обеспечивающие рациональную организацию вычислительного процесса. 3 ил.
Рисунок 1, Рисунок 2, Рисунок 3
Формула изобретения
УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ ДВУМЕРНОЙ СВЕРТКИ, содержащее первый и второй блоки памяти, умножитель, мультиплексор адреса, кадровый накапливающий запоминающий узел, содержащий сумматор, первый информационный вход которого является информационным входом узла, и блок памяти, выход которого соединен с вторым информационным входом сумматора и является информационными выходами узла и устройства, адресным входом блока памяти является адресный вход узла, сумматор, первый, второй и третий счетчики адреса, причем выход первого счетчика адреса соединен с первым информационным входом мультиплексора адреса, выход второго счетчика адреса соединен с первым входом сумматора, выходы первого и второго блоков памяти соединены соответственно с входами умножителя, выходы которого соединены с информационным входом кадрового накапливающего запоминающего узла, отличающееся тем, что в него введены блок сортировки данных, блок синхронизации, регистр состояния, регистр вектора смещения результата фильтрации и третий блок памяти, при этом вход выбора режима устройства и вход пуска устройства являются соответственно информационным и управляющим входами регистра состояния, вход тактовых импульсов устройства является тактовым входом блока синхронизации, выходы регистра вектора смещения результата фильтрации и третьего блока памяти соединены соответственно с вторым и третьим входами сумматора, выход которого соединен с вторым информационным входом мультиплексора адреса, выход которого соединен с адресным входом кадрового накапливающего запоминающего узла, выход второго счетчика адреса соединен с адресным входом первого блока памяти, выход третьего счетчика адреса соединен с адресными входами второго и третьего блоков памяти, информационный вход устройства, вход-выход блока сортировки данных, информационные входы первого, второго и третьего блоков памяти, второго и третьего счетчиков адреса, регистра вектора смещения результата фильтрации соединены через шину данных устройства, вход сброса и выход регистра состояния, входы и выходы блока синхронизации, входы записи первого, второго, третьего блоков памяти и кадрового накапливающего запоминающего узла, управляющие входы мультиплексора адреса и кадрового накапливающего запоминающего узла, входы счета и записи второго и третьего счетчиков адреса, вход счета первого счетчика адреса, выходы переполнения первого, второго и третьего счетчиков адреса, вход записи регистра вектора смещения результата фильтрации, тактовый вход и выходы блока сортировки данных подключены к шине управления устройства, причем в кадровый накапливающий запоминающий узел введен мультиплексор, первый вход которого соединен с выходом сумматора кадрового накапливающего запоминающего узла, второй вход с входом логического нуля устройства, а управляющий вход и выход с управляющим входом кадрового накапливающего запоминающего узла и с информационным входом блока памяти кадрового накапливающего запоминающего узла соответственно, вход записи блока памяти кадрового накапливающего запоминающего узла является входом записи узла.Описание изобретения к патенту
Изобретение относится к автоматике и вычислительной технике и может быть использовано для фильтрации при обработке и распознавании цифровых изображений, содержащих групповые точечные образы, а также изображений, большую часть которых занимает фон с фиксированным уровнем яркости. Известно устройство [1] для вычисления двумерной свертки, содержащее с первой по четвертую группы информационных входов, матрицуi,j,k} (i 1, 2, j 1, 2, k 1, 3) вычислительных модулей, группу выходов и соответствующие связи между ними. Недостатком данного устройства являются значительные аппаратурные затраты, вызванные распараллеливанием процесса вычисления свертки. Наиболее близким к заявленному является устройство [2] для обработки изображений, вычисляющее двумерную свертку исходного цифрового изображения S(x,y) с импульсной характеристикой (ИХ) пространственного фильтра h(x,y) по формулеF(x, y)




S(x,y)





F(x,y)



Таким образом, результат фильтрации есть сумма взвешенных реакций пространственного фильтра на дельта-импульсы с учетом их весовых коэффициентов Jl и пространственного сдвига (xl, yl). Алгоритм вычисления выражения (3) можно представить в следующем рекуррентном виде:
F(x, y, l) F(x,y,l-1) + Jl *h(x-xl),y-yl), (4) где F(x,y,0) 0


R 2*L*N*M. Указанная особенность становится существенным преимуществом при обработке изображений, состоящих из групп ТО. Так как в этом случае большую часть площади исходного изображения занимает фон, имеющий нулевую яркость, то кроме снижения трудоемкости при использовании алгоритмов (3) и (4) становится возможным значительно сократить требуемый для описания исходного изображения S(x,y) объем данных. Так, для описания изображения S(x,y) достаточно задать массив координат и яркости ТО (массив описания)xl, yl, Jl} l

Jl S(x,y), (xl,yl) (x,y), если S(x,y) > 0. Счетный импульс через шину 4 управления поступает на вход счетчика 13 адреса и инкрементирует его состояние (l l + 1), тем самым подготавливая БП 9 и 12 к приему информации о яркости и координатах следующей ТО. Подсчет L числа выделенных ТО производится параллельно и в блоке 3 сортировки. После завершения обработки последнего элемента исходного изображения с координатами (х, у) (X-1, Y-1) блоком 3 сортировки вырабатывается сигнал завершения цикла сжатия данных, который через шину 4 управления поступает на вход блока 2 синхронизации и вход регистра 1 состояния. В ответ на этот сигнал блоком синхронизации вырабатывается импульс записи числа L, который поступает на вход записи счетчика 13 адреса через шину 4 управления и служит для занесения L в регистры счетчика 13 адреса для установки коэффициента деления, необходимого в режиме фильтрации (см. описание режима "фильтрация"). Сигнал завершения цикла сжатия данных обеспечивает также сброс регистра 1 состояния в режим ожидания. Таким образом, по окончании цикла сжатия данных в БП 12 и 9 хранится массив описания ТОxl,yl,Jl} l







F(x,y,l) F(x,y,l-1) + Jl*h(n,m). Каждый последующий счетный импульс от блока 2 синхронизации инкрементирует состояние счетчика 7 адреса, при этом происходит переход к накоплению следующего весового коэффициента ИХ в соответствующей ячейке КНЗУ 14. После накопления в КНЗУ всей матрицы коэффициентов ИХ пространственного фильтра с учетом веса Jl, равного яркости текущей ТО, на выходе счетчика 7 адреса появляется импульс переполнения, который через шину 4 управления подается на вход блока 2 синхронизации и преобразуется в нем в счетный импульс. Этот счетный импульс через шину 4 управления поступает на счетный вход счетчика 13 адреса и инкрементирует его состояние: l l + 1. Так как состояние счетчика 13 адреса определяет адрес БП 9 и 12, то его инкрементация в режиме фильтрации эквивалентна переходу к накоплению реакции фильтра, вызванной следующей ТО с параметрами (xl, yl, Jl). Когда в КНЗУ 14 будут накоплены все L реакций пространственного фильтра, на выходе счетчика 13 адреса формируется импульс переполнения, который через шину 4 управления поступает на вход регистра 1 состояния и сбрасывает его в режим ожидания. На этом цикл "фильтрация" завершается. Результатом работы данного цикла является сформированное в КНЗУ изображение результат фильтрации:
F(x,y,L)

Режим "обнуление КНЗУ". Данный режим служит для очистки КНЗУ перед занесением в него результатов вычислений в режиме "фильтрация". Режим устанавливается после занесения импульсом "Пуск" соответствующего кода с внешнего входа 17 в регистр 1 состояния. При этом в регистре 1 состояния формируются сигналы управления, которые через шину 4 управления подаются на входы управления КНЗУ и мультиплексора 15 адреса. С приходом этих сигналов КНЗУ переводится в режим обнуления, а мультиплексор 15 адреса переключается в состояние, когда на адресный вход КНЗУ пропускается адрес с информационных выходов счетчика 16 адреса. Счетчик 16 адреса перебирает последовательно адреса всех ячеек КНЗУ 14. Для этого он тактируется счетными импульсами, которые формируются блоком 2 синхронизации и через шину 4 управления поступают на вход счетчика 16 адреса. Параллельно блок 2 синхронизации вырабатывает импульсы записи, которые через шину 4 управления подаются на вход записи КНЗУ 14. В результате происходит последовательное обнуление всех ячеек КНЗУ. Импульс переполнения счетчика 16 адреса проходит через шину 4 управления на вход регистра 1 состояния и сбрасывает его в режим ожидания. Режим "обнуление КНЗУ" совместим с режимами "ввод ИХ фильтра", "ввод массива описания ТО", "сжатие исходного изображения". Режим "считывание результата фильтрации". В этом режиме осуществляется считывание и передача на выход устройства содержимого КНЗУ 14, в котором хранится результат фильтрации F(x,y). Режим устанавливается после занесения импульсом "Пуск" соответствующего кода в регистр 1 состояния. При этом в регистре состояния формируется сигнал управления мультиплексором 15 адреса, который через шину 4 управления поступает на управляющий вход мультиплексора 15 и переключает его в состояние, когда на адресный вход КНЗУ 14 пропускается адрес с выхода счетчика 16 адреса. Блок 2 синхронизации преобразует входные тактовые импульсы, поступающие на вход 19, в счетные импульсы, которые через шину 4 управления подаются на счетный вход счетчика 16 адреса. В результате осуществляется последовательный перебор и передача на выход 21 содержимого всех ячеек КНЗУ 14. После считывания содержимого последней ячейки КНЗУ счетчик 16 адреса переполняется. Импульс переполнения с выхода счетчика 16 через шину 4 управления поступает на вход регистра 1 состояния и сбрасывает его в режим ожидания. Режим "считывание результата фильтрации" совместим с режимами "ввод ИХ фильтра", "ввод массива описания ТО", "сжатие исходного изображения". Все блоки устройства могут быть реализованы с помощью известных решений и правил построения подобных блоков. Блок 2 синхронизации, например, может быть выполнен как распределитель импульсов, пропускающий тактовые импульсы с тактового входа 19 в соответствующих режимах работы на вход управления блока 3 сортировки данных в режиме "сжатие исходного изображения", на вход записи БП 6 в режиме "ввод ИХ фильтра", на счетный вход счетчика 7 адреса в режимах "ввод ИХ фильтра" и "фильтрация", на входы записи БП 9 и 12 в режиме "ввод массива описания ТО", а также при появлении сигнала разрешения записи от блока 3 сортировки в режиме "сжатие исходного изображения", на счетный вход счетчика 13 адреса в режиме "ввод массива описания ТО", а также при появлении сигнала разрешения записи от блока 3 сортировки в режиме "сжатие исходного изображения" (в режиме "фильтрация" на указанный вход пропускается импульс переполнения от счетчика 7), на вход записи КНЗУ 14 в режимах "обнуление КНЗУ" и "фильтрация", на счетный вход счетчика 16 адреса в режимах "обнуление КНЗУ" и "считывание результата фильтрации". Кроме того, на вход записи счетчика 13 адреса пропускаются сигнал завершения цикла сжатия данных от блока 3 сортировки в режиме "сжатие исходного изображения" (этот сигнал служит для записи L в регистры счетчика 13), сигнал установки режима "ввод массива описания ТО" от регистра 1 состояния. Блок 3 сортировки данных может быть реализован, например, как совокупность двух сравнивающих устройств и счетного устройства, при этом первое сравнивающее устройство выделяет ненулевые значения яркости текущего элемента S(x,y), а второе определяет окончание цикла сжатия данных (т.е. момент (х, у) (Х-1, Y-1)), при этом счетное устройство обеспечивает подсчет числа ненулевых значений S(x,y). Таким образом, заявленное устройство реализует рекуррентный алгоритм (4) вычисления двумерной свертки F(x,y) исходного изображения S(x,y) c ИХ h(x,y) пространственного фильтра. Причем, так как для получения результата F(x,y) требуется выполнить в Q X*Y/L раз меньше арифметических операций умножения и сложения по сравнению с известным устройством [2] то заявленное устройство потенциально обладает в Q раз большим быстродействием. Кроме того, если принять, что разрядность БП 12 координат ТО равна удвоенной разрядности БП 9 яркости (например, в случае хранения полутонового изображения с размерами 256*256 элементов и 256 градациями яркости используется 16-разрядная адресация восьмиразрядных ячеек БП), а максимальное количество ТО Lmax в изображении, содержащем группы точечных образов, Lmax < X*Y/3, необходимый для хранения описания изображения S(x,y) объем БП можно сократить в X*Y/3Lmax раз.
Класс G06T1/00 Обработка данных изображения общего применения