Text
                    Е.Ф. Очин
ВЫЧИСЛИТЕЛЬНЫЕ
СИСТЕМЫ
ОБРАБОТКИ
ИЗОБРАЖЕНИЙ
Энергоатомиздат


Е.Ф. Очин ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ ОБРАБОТКИ „ ИЗОБРАЖЕНИИ Ленинград ЭНЕРГОАТОМИЗДАТ Ленинградское отделение 1989
ББК 32.973.2 0-95 УДК 681.323—523.8 Рецензент В. А. Бородаев Редактор С. П. Левкович Очин Е. Ф. 0-95 Вычислительные системы обработки изображений. — Л.г Энергоатомиздат. Леиингр. отд-ние, 1989. — 136 с.: ил. ISBN 5-283-04394-0 Изложены принципы функционирования электронных цифровых и оптоэлектронных аналоговых вычислительных систем обработки изображений, базирующихся на единой теоретической базе представ¬ ления обрабатываемых изображений и описания алгоритмов их обра¬ ботки. Особое внимание уделяется методам пространственно-частотной фильтрации, клеточной логике и соответствующим процессорам. Рас¬ смотрены методы изготовления пространственно-частотных фильтров с помощью ЭВМ и стандартного голографического оборудования. Для инженерно-технических работников, занимающихся разработ¬ кой и применением средств вычислительной техники и устройств об¬ работки изображений. _ 2405000000—144 °~051(01)—89 ~88~88 ББК 32.973.2 ISBN 5-283-04394-0 © Энергоатомиздат, 1989
ВВЕДЕНИЕ В настоящее время все шире развивается новая об¬ ласть науки и техники — дистанционное зондирование Земли и других космических объектов естественной и искусственной при¬ роды. Развитие дистанционных методов имеет долгую историю. Эволюция жизни на Земле отражает развитие органов зре¬ ния— основного средства дистанционного зондирования живых существ. В научном отношении теория дистанционного зондиро¬ вания развивалась благодаря успехам астрономии и радиоастро¬ номии. Методы дистанционного зондирования основаны на реги¬ страции электромагнитного излучения в широком спектральном диапазоне и последующем анализе спектра, осуществляемом, как правило, с помощью ЭВМ общего назначения. В качестве источника излучения могут выступать естественные излучатели (например, Солнце, ИК-излучение поверхности Земли) или ис¬ кусственные излучатели (лазеры, радиолокаторы и т. п.). Отра-* женный сигнал улавливается приемной оптической антенной, детектируется и подвергается обработке с целью обнаружения заданных деталей на изображении и определения простран¬ ственных координат объекта и т. п. Излучение регистрируется на фоне разного рода оптических помех в условиях, когда полезный сигнал подвергся значитель¬ ным пространственным искажениям. Основной задачей обра¬ ботки является устранение дефектов аппаратуры зондирования, уменьшение влияния помех и шумов каналов связи, преобразо¬ вание изображения к виду, удобному для наблюдения человек ком-оператором, например, подчеркивание контуров, изменение диапазона яркостей и т. п. В настоящее время методы обработки изображений и соот< ветствующие алгоритмы получили широкую известность и про¬ должают активно развиваться. Восьмидесятые годы войдут в историю вычислительной техники как десятилетие параллель¬ ных вычислительных систем обработки изображений (ВСОИ) сверхвысокой производительности. Чрезвычайно важную роль в решении задач восприятия, пе¬ редачи и обработки видеоинформации играют системы фильтра- 1* 3
ции оптических изображений (СФОИ). Приведем далеко не полный список проблем, реализация которых в значительной мере базируется на применении СФОИ: поиск, детектирование и распознавание целей; обнаружение спутников на фоне ноч¬ ного неба; системы технического зрения; обработка аэрокосми¬ ческих изображений; улучшение качества телевизионных изо¬ бражений; рентгеновская и ЯМР-томография; анализ крови; улучшение качества рентгеновских снимков; обнаружение ура¬ ганов и тайфунов; анализ динамики облачности. Особое практическое значение СФОИ имеют для обработки аэрокосмических изображений. Эффективность аэрокосмических методов изучения земной, лунной поверхности, поверхности дру¬ гих планет в значительной мере определяется качеством полу¬ ченных фотоснимков. Повышение качества таких изображений имеет огромное народнохозяйственное значение, так как сни¬ жается стоимость выполнения работ за счет уменьшения мас¬ штаба съемки. Многие алгоритмы фильтрации изображений обладают свой¬ ством локальности и основываются на представлении изображе¬ ний в виде двухмерных сигналов, в которых каждый элемент находится в определенной связи с соседними элементами. При локальной обработке все изображение делится на фраг¬ менты, как правило, одинаковой формы и площади, и элементы каждого отдельного фрагмента преобразуются па основе ана¬ лиза элементов только этого фрагмента. Для уменьшения иска¬ жений на границах используется перекрытие фрагментов. В этом случае преобразуется только центральная часть фрагментов с размерами, равными размерам пеперекрывающихся участков. В предельном случае, т. е. при сдвиге фрагментов относительно друг друга на один элемент, преобразуются только центральные элементы фрагментов. Такой режим обработки называется скользящим. Линейные преобразования естественным образом удовлетво¬ ряют свойству локальности. Одним из таких преобразований яв¬ ляется линейная свертка с малоразмерным ядром. Эта операция является наиболее массовой при обработке изображений. Ти¬ пичными задачами, при решении которых она используется, являются: цифровая фильтрация, корреляция, интерполяция, корреляционная привязка изображений и т. д. Среди нелиней¬ ных преобразований свойству локальности удовлетворяют, на¬ пример, алгоритмы адаптивных амплитудных преобразований, основанные на анализе локальных гистограмм. Наиболее полно принцип параллелизма обработки реали¬ зуется средствами оптической вычислительной техники. За один такт работы оптический аналоговый процессор может выпол-* нить преобразование Фурье, Френеля, взаимную корреляцию, свертку и другие операции [18], 4
Мощным техническим средством построения СФОИ является оптико-электронная и электронная цифровая техника, имеющая большие преимущества там, где требуются высокая точность и программируемость вычислений, а также точная воспроизводи¬ мость результатов. Использование цифровой техники для обра¬ ботки изображений началось в 50-х годах с применения уни¬ версальных ЭВМ [66]. Однако особую роль в решении задач обработки изображений играют специализированные цифровые вычислительные системы [7,95], в которых используется есте¬ ственный параллелизм алгоритмов обработки изображений. Со¬ временная микроэлектронная элементная база представляет разработчику возможность построения высокопроизводительных ВСОИ с параллельной организацией вычислительных процес¬ сов, сочетающих относительно малые стоимость и габариты с высоким быстродействием и гибкостью обработки [14, 19, 21, 41, 46, 50, 60—65, 96, 98, 104, 106]. Перед разработчиком систем обработки оптических изобра¬ жений возникает сложная проблема выбора технических средств: аналоговая или цифровая, оптическая или электрон¬ ная, последовательная или параллельная вычислительная тех¬ ника [15, 60, 62, 63]. Для решения проблемы разработчик должен иметь сведе¬ ния не только из физической оптики, теории линейных систем, теории фильтрации, но и достаточно свободно владеть инфор¬ матикой, имея ясное представление о булевой алгебре, теории алгоритмов и автоматов и т. п. Эта книга поможет разработчику получить представление о функциональных возможностях оптико-электронных аналого¬ вых и электронных цифровых систем пространственной филь¬ трации оптических изображений и решить для себя проблему выбора соответствующих технических средств. Отзывы и замечания просьба направлять по адресу 191065, Ленинград, Марсово поле, д. 1, Ленинградское отделение Энер- гоатомиздата. Автор
Раздел первый ОПТИЧЕСКИЕ АНАЛОГОВЫЕ ПРОЦЕССОРЫ Спектральный и пространственно-частотный фурье- анализ и теория линейных систем с конечной полосой пропуска¬ ния образуют фундаментальную основу теории фильтрации опти¬ ческих изображений, так как любая линейная операция может быть интерпретирована как фильтрация. Таким образом кон¬ структоры оптических систем фактически проектируют СФОИ, состоящие из пространственных фильтров в виде слоев про¬ странств и пространственно-частотных фильтров в виде линз, зеркал, дифракционных решеток, диафрагм и т. п. Оптические аналоговые процессоры содержат одну или не¬ сколько оптически связанных между собой линз (объективов) и оптические фильтры в виде амплитудных или фазовых масок, установленных в определенных плоскостях оптической системы. Различные математические операции и интегральные преобра¬ зования выполняются над двухмерными комплекснозначными функциями (оптическими изображениями). Это прежде всего операции двухмерного преобразования Фурье, Френеля, взаим¬ ной корреляции и свертки, операции умножения, деления, сло¬ жения, вычитания, интегрирования, дифференцирования и др. Легко реализуются также различные алгоритмы пространствен¬ ной фильтрации, в том числе согласованной, инверсной и опти¬ мальной [10]. Основным достоинством оптических аналоговых процессоров является высокое быстродействие. Время выполнения сложных интегральных преобразований определяется временем ввода — вывода изображения в процессор. Основными недостатками оптических систем являются огра¬ ниченный класс решаемых задач и отсутствие серийной эле¬ ментной базы для систем обработки в реальном масштабе вре¬ мени. Центральной проблемой при проектировании оптического процессора пространственно-частотной фильтрации является проблема расчета и изготовления пространственно-частотного фильтра [28]. Фильтры могут быть изготовлены как фурье-го- лограммы или синтезированы методами цифровой голографии. Запись фурье-голограммы предполагает, что существует неко« 6
торая действительная неотрицательная двухмерная функция, ко¬ торая может быть представлена в виде функции амплитудной модуляции транспаранта для когерентного излучения и связана с записываемой функцией в плоскости голограммы двухмерным преобразованием Фурье. В общем случае обе двухмерные функ¬ ции являются комплексными, поэтому метод записи фильтров в виде фурье-голограммы не является универсальным методом. Синтез фильтров с помощью ЭВМ на основе методов циф¬ ровой голографии дает возможность изготовлять комплексные фильтры общего вида. При этом возникают искажения резуль¬ татов фильтрации, так как импульсный отклик синтезирован¬ ного фильтра существенно отличается от импульсного отклика идеального фильтра, поэтому необходимо дать общее обоснова¬ ние процедуры кодирования комплексных фильтров, опреде¬ лить общие условия корректности кодирования. Глаза первая ДИСТАНЦИОННОЕ ЗОНДИРОВАНИЕ И ФИЛЬТРАЦИЯ ОПТИЧЕСКИХ ИЗОБРАЖЕНИЙ 1.1. ДИСТАНЦИОННОЕ ЗОНДИРОВАНИЕ Источники некогерентного излучения порождают в трехмерном пространстве (х, у, z) и во времени (/) световую волну Л(х, у. z, 0, представляющую собой, случайный процесс, как правило, стационарный. Основной характеристикой стацио¬ нарного случайного процесса является спектр мощности S(x, у, z, v) = F(x, у, z, v)F*(x, у, z, v), (1.1) Т/2 где F (х, у, zf v) == lim —( А (х, у, z, t) exp (— ivt) dt9 v — ча* yr _J/2 стота колебаний; * — знак комплексного сопряжения; z = д/ — 1< Применительно к источнику излучения функцию (1.1) назы¬ вают спектральным составом световой волны (СССВ). Если размеры объекта, облучаемого световой волной от не¬ которого источника излучения, существенно меньше расстояния от объекта до источника, то можно ввести приближение Л(х, у, г, t) СДН(О> где С — константа и вместо (1.1) запи¬ сать S (х, у, z, v) ~ CSл (v) = Fh (v) F* (v), (1.2) T/2 где FH(v) = lim —( Aa (/) exp (— zv/) dt. \ T J 7
Рассмотрим класс двухмерных статических объектов (СО), дтя которых интенсивность рассеяния световой волны почти не зависит от угла падения световой волны, а каждая точка по¬ верхности объекта в результате взаимодействия волны с атмо¬ сферой и молекулами вещества порождает сферический волно¬ вой Фронт т е является точечным источником излучения. В этом случае СО описывается спектральной функцией отражения р(*о> Уй> v) = SoOo> Уо’ v)57'(v)’ где (хо, У о)— пространственные координаты СО; S„(v) — спек- тральный состав удаленного источника излучения; S0(x0, у0, v)— СССВ, отраженный от поверхности СО. Идеальная изображающая оптическая система (ИИОС) фор¬ мирует в плоскости регистрации (х, у) изображение СО S(x, у, v) = S0(mx, ту, v), где т — масштаб изображения. Предположим, что существует некоторая идеальная реги¬ стрирующая среда, фиксирующая СССВ следующим образом: D„ (х, y,v)~S (х, у, v) (v), где Dw — результат регистрации; s^(v)— относительная спек¬ тральная чувствительность регистрирующей среды. В этом случае можно записать Р (х0, Уо, v) ~ D„ (-£, , v) зГ1 (v) S71 (v), т. е. для определения статической спектральной функции отра¬ жения необходимо знать спектральный состав источника излу¬ чения, спектральную чувствительность регистрирующей среды и результаты регистрации СССВ, отраженной от поверхности СО. Реальные регистрирующие среды фиксируют не СССВ, а ее энергию оо D (х, у) ~ Т S (х, у, v) sK (v) dv, О поэтому используют косвенные методы регистрации СССВ, на¬ пример, многозональное дистанционное зондирование, видео- спектральное дистанционное зондирование и др. При многозональном дистанционном зондировании осуще¬ ствляют дискретизацию непрерывной функции DH(xtyfv) по па¬ раметру v: Da (X, у, V) ~ Д (х, у, v) = 2 DK (х, у, iv\v) 6 (v — с Av) ~ ~ S Ж y, iv Av) (Zv Av) S (v — iv Av), (1.3) 8
где Av —период дискретизации спектра; 6(v) - дельта-фуик- ЦИЯЕ?лиаиспользуется множество реальных регистрирующих спел характеризующихся узкополосной (зональной) относи¬ тельной спектральной чувствительностью шириной Av и различ¬ ным положением зоны (v) = h (Ч И rect (?~ДуА-) 1 где при | х | 0,5; при | х | > 0,5, то можно осуществить многозональную регистрацию СССВ сле¬ дующим образом: Ог„ {х, у) ~ Т j S (х, у, v) sKlv (v) dv = о Av = TsK (iv Av) S (x, y, v — fv Av) dv = о = 7’sx(ivAv) AvS(x, y, lv&v). (1.4) Подставляя (1.4) в (1.3), получаем DH (x, у, v) — Div (x, у) X zv X 6 (v — iv Av) — Div (x, у) 6 (v — zv Av). (1.5) Таким образом, с помощью многозонального дистанционного зондирования можно регистрировать СССВ, отраженной от по¬ верхности СО, при условии, что ошибка дискретизации е(х, у) не превышает допустимое значение етах, т. е. V vmax 8 (х, У) == vmax (X, У> У> ^)] ^тах* 0 При видеоспектральном дистанционном зондировании непре« рывную функцию £>и(х, У, v) дискретизируют по координате у: (х, у, v) « 5И (х, у, v) = S Ои (х, iy by, v) б (у — iy by) ~ ~S(v) £ S(x, iy Ду, v) б (у — iy Ду), (1.6) 1у где Ду — период дискретизации пространственной координаты у.
Если использовать множество одинаковых регистрирующих сред, характеризующихся широкополосной спектральной чув¬ ствительностью S(v), и разложить строки изображения S (х, iyXy, v) в двухмерное изображение на плоскости XZ' Siy (х, z', v) = S (х, iy Ay, kz') d (v — kz'), (1.7) где пространственная координата г' играет роль инструмен¬ тальной шкалы для отсчета частоты излучения (v = /zz/), то можно регистрировать и визуально наблюдать серию кадров: оо (.X, z')~T^ Siy (х, z', v) sK (v) dv = 0 oo — T S (x, iy Ay, kz') 6 (v — kz') sK (v) dv = 0 = TS(x, iyXy, kz')sK(kz'), (1.8) где k — масштабный коэффициент. Разложение (1.7) может быть выполнено с помощью моно¬ хроматора, имеющего во входной плоскости бесконечно узкую щелевую диафрагму d(x, у) = 6(у). Такой монохроматор назы¬ вается видеоспектрометром, при этом в реальных приборах ис¬ пользуют щель конечной ширины d(x, у) = rect{у/Ху'). Для того чтобы разрешающая способность в направлении коорди¬ наты у была бы не хуже Ху, необходимо выполнять условие Ау' Ау. Подставляя (1.8) в (1.6) при kz' — v, можно записать Ь(х, у, у)~Х^£)^(х, v/k)d(y — iyAy). (1.9) ly Таким образом, с помощью видеоспектрального дистанцион¬ ного зондирования можно регистрировать СССВ, отраженной от поверхности СО, при условии, что ошибка дискретизации е(х, v) не превышает допустимое значение Стах. Динамические объекты (ДО) перемещаются в пространстве, поэтому спектральная функция отражения динамического объ¬ екта представляет собой функцию четырех аргументов: Р (Л'о* Уъ> = *о Уо* (^’ где So(xo, J/o, v, t)— спектральный состав световой волны, отра¬ женной от поверхности ДО. Изображение ДО принимает вид SA(x, у, v, t) — So(tnx, ту, v, I). Если предположить, что существует некоторая идеальная регистрирующая среда, фиксирующая СССВ следующим об- 1Q
разом: (1.10) Di(x, у, v, f)~SJx, у, v, f)sK(y), то можно записать РдОо’ V> 0~Dh(£’ m ’ V> 'K’(v)S«,(V)’ т. e. для определения спектральной функции отражения ДО необходимо знать спектральный состав источника излучения, спектральную чувствительность регистрирующей среды и ре^ зультаты регистрации СССВ, отраженной от поверхности ДО. Применение реальных регистрирующих сред приводит к ди* скретизации непрерывной функции (1.10) по параметру £>и (х, у, v, t) « Di (х, у, V, 0 = S Di (х, у, v, it М) X ч — ~ Z 5д(х, у, v, — (1.11) ч где Д/— период дискретизации. Если использовать множество одинаковых регистрирующих сред, характеризующихся спектральной чувствительностью s(v), то можно регистрировать серию кадров: Dit (х, у, v) ~ Яд (х, у, v, it М) sK (v). (1,12) Подставляя (1.12) в (1.11), получаем Di (х, у, v, f)~ Е Di (х, у, v) б (/ — it ДО. ч Следовательно, задача дистанционного зондирования ДО сводится к задаче дистанционного зондирования последовав тельности СО. Так, например, для многозонального зондирования (1.5) мо>Х” но записать Dit (х, у, v) ~ Е Div, it (х, у) 6 (v — iv Av). lv Тогда Di (х, z/, v, /) ~ Е Z DL i (x, y) 6 (v — iv Av, t — it zV). 4 ‘v Таким образом, с помощью многозонального дистанционного зондирования можно регистрировать СССВ, отраженной от по¬ верхности ДО, при условии, что ошибка дискретизации е(х, у) не превышает допустимое значение Етах. При этом время реги* страции Т одного многозонального кадра не должно превы* шать период дискретизации ДЛ 11
При видеоспектральном зондировании (1.9) ‘->it {X, у, v) ~ £ D'iy it (х, v/k) 6 (у — iy by), 1У следовательно Ьп (х, y,v,t)~Z X D\ it (х, v/k) d (у — iy by, I — it A/). lt ly Таким образом, с помощью видеоспектрального дистанцион¬ ного зондирования можно регистрировать СССВ, отраженной от поверхности ДО, при условии, что ошибка дискретизации е (х, у) не превышает допустимое значение етах. Преобразование результатов дистанционного зондирования. Предполо¬ жим, что реальная регистрирующая среда представляет собой матрицу пря¬ моугольных плотноупакованных фоточувствительных элементов (МФЭ) раз¬ мером Ax X Ду, характеризующихся спектральной чувствительностью (v) Если на поверхность МФЭ падает световая волна, имеющая спектральный состав S(x, у, v), то результат регистрации в области малых экспозиций, обеспечивающих линейный режим регистрации, может быть описан следую¬ щим образом: оо Д.7/2 Дх/2 Dix. iy ~ т S (х — ixhx, у — iy by, v) sK(y) dxX О -Ду/2 -Дх/2 ОО X dty dv ж Т Дх Д г/ S (ix Дх, itJ ку, v) (v) dv. о Результаты регистрации при многозональном зондировании принимают вид ^ix, iy, iv — Div (ix Ax, iy ку), а при видеоспектральном зондировании Di i i == D" (ixkx, iv kz'), lX> ly> lV lyK X ’ V где kz' = ky. Результаты регистрации СССВ, отраженной от поверхности ДО, при многозональном зондировании имеют вид а при видеоспектральном зондировании Каждый отсчет результатов дискретизации с помощью аналого-цифрового преобразователя (АЦП) представляется в цифровой форме как двоичное Q-разрядное число с фиксированной точкой без знака в диапазоне Q^D<. 1: d^... dq ... dQ, 1}, <7=TQ. Информационная емкость одного многозонального кадра (1 Д, 1 1у Д) определяется (в битах) следующим образом; V = yQ (Vmax — Vmjn)/Av, 12
нппопмер если дистанционное зондирование осуществляется в восьми ,о,г т е (vmlx-vml„)/Av = 8, каждая из которых дискретизируется в виде зоисх, 1.с. i. max 'nnu 1024 X 1024 элементов, а каждый отсчет кван- и - 8? т«Х. .ТО» и. «™,ь к.др. р..„. 2»Х Y оюуозу 23 = 226 бит = 8 Мбайт. Спектральная фильтрация. В общем виде спектральная фильтрация опре¬ деляется следующим образом: S' (х, у, v) = F (v) S (х, у, v), где 0 F(v) < 1 —передаточная функция светофильтра. Применяя множество узкополосных (зональных) светофильтров, можно осуществить многозональное зондирование с помощью однотипной широко¬ полосной регистрирующей среды: Div (х, У) ~ Т S (х, у, v) sK (v) Fiv (v) dv, о однако наилучшие характеристики зондирования достигаются при использо- вании множества регистрирующих сред и множества спектральных свето¬ фильтров оо D.^ (х, z/) ~ Г S (х, у, v) sKl^ (v) F^ (v) dv. o При видеоспектральном зондировании в качестве спектрального свето¬ фильтра можно использовать нейтральный светофильтр 0 F(z') < 1, где z' — пространственная координата, в направлении которой реализуется спек¬ тральное разложение. На выходе светофильтра световая волна описывается следующим образом: S', (х, г', v) = S (х, Zy Дг/, fez') F (г') б (v - fez'), (1.13) а результат фильтрации может быть зарегистрирован в соответствии с выра¬ жением (1.8), т. е. D'iy (х, г') - TS (х, iy by, kz') F (г') (kz'). Если использовать двойной монохроматор, то к результату спектральной фильтрации (1.13) можно применить преобразование, обратное преобразова¬ нию (1.13): сю S' (х, iy by, v) = j s'iy (х, z, v) dz = S (x, iy by, v) F (v/k) (1.14) 0 и осуществить регистрацию энергии световой волны (1.14) сю D3^ (х) ~ Т S (х, iy by, v) F (v/k) sK (v) dv. (1.15) 0 Из строк изображения (1.15) формируется двухмерное изображение D3 (х, у) = D? (х) б (у - iy by). ‘у Если передаточная функция фильтра знакопеременна, т. е. —1 F(v) *<•1, то спектральную фильтрацию можно выполнить по отношению к 13
результатам дистанционного зондирования спектра. Предположим, что спектр в результате дискретизации и аналого-цифрового преобразования записан в за¬ поминающее устройство в виде трехмерного массива Q-разрядных двоичных чисел [D. . В этом случае спектральная фильтрация может быть реа¬ лизована следующим образом где Fiv — множество двоичных чисел с фиксированной точкой, со знаком в Дополнительном коде. 1.2. ПРОСТРАНСТВЕННАЯ ФИЛЬТРАЦИЯ Результаты дистанционного зондирования Div (х, у)\ могут быть подвержены пространственной фильтрации (ПФ), которую в достаточно общем виде можно определить следую¬ щим образом (индекс iv можно опустить): В' (х, у) = F {D (х + х{, у + r/i); (— Sx (- Sy <S,)}, где F — оператор, зависящий от пространственных координат х, у и ставящий в соответствие фрагменту г\-й зоны размером 2Sx X %Sy с координатами центра фрагмента (х, у) значение D'(x, у). Будем считать, ЧТО Sx <С Xmax и Sy <С Утах, т. е. размер фраг^ мента существенно меньше размера изображения. Пространственная фильтрация разделяется на два класса: линейная (ЛПФ) и нелинейная (НЛПФ). Большое практическое значение имеет линейная простран-* ственно-зависимая фильтрация (ЛПЗФ) Sy Sx &'(х’У^!^ 5 J D(x + xit y + y,)F(xh y{, x, y)dxldy, где F(%i, r/i, x, y) — функция четырех аргументов, описывающая ядро ЛПЗФ. Если ядро фильтрации в пространстве не изменяется, т. е. является функцией только двух аргументов, то (1.16) приобре¬ тает форму линейной пространственно-инвариантной функции (ЛПИФ): Sy Sx D' (х, у) = 5 S jD(x + X1> У + У^р(х\> yjdxtdyt, (1.17) х у —Sy -sx где Д(х'1, t/i)— функция, описывающая ядро ЛПИФ. 14
в дискретной форме операции (1.16) и (1 17) записываются следующим образом (индекс / опущен, L — (2М + 1) (2N + 1)): М N Е Е Dix+m- iy+nFi*' т= — М n = —N т, tii (1.18) М = Sx/bx, N — Sy/&y, Fix, ly, пг. П - ядро ЛПЗФ; M N ^ix. iy~~L E E Dix+m> {y+n^m- n> n=-N (1.19) Fm> „ — ядро ЛПИФ. Записывая функции, описывающие ядра ЛПЗФ и ЛПИФ, в цифровой форме и подставляя значения D в цифровой форме в (1.18) и (1.19), получаем выражения для цифровой ЛПФЗ и ЛПИФ. Так, например, при —1 Fm, п 1 Подставляя (1.20) и D в цифровой форме в (1.18), получаем выражение для ЛПИФ в цифровой форме: г Q Р-1 М N ЕЕ2(9+Р) Е (dix+m,ly+nlqfm,lt,p') — L<7=1 р=1 т = — М n = —N Q М N - _ Е2 Q Е Е {dix+m>ly+n’^m, п, о) I • q = \ т= — М ti = — N J Результат операции (1.21) представляет собой двоичное число с фиксированной точкой в дополнительном коде в дна* пазоне -~1^/У . <1. Число (1.21) записано с точностью гл Х' У •Ь = Q + Р + log2 L двоичных разрядов, S-1 df j_ У 2~s X у 5 = 1 X У' М n=-N т. е. имеет вид (1.21) D' . 1у 1.3. ПРОСТРАНСТВЕННО-ЧАСТОТНАЯ ФИЛЬТРАЦИЯ Линейная пространственно-инвариантная функция (1.17) может быть записана в виде интеграла свертки оо D'(х, = D(x — Xi, y — yi)F(xlt yi)dXi dy{, (1.22) — oo где F(xh t/^ssQ, если |%i| > Sx или |yi | > Sy. is
Для вычисления (1.22) можно воспользоваться теоремой о свертке, которая утверждает, что фурье-образ свертки равен произведению фурье-образов свертываемых функций, следова¬ тельно, вместо (1.22) можно записать оо D' (х, у) = DF (g, т]) Ff (£, 1-]) exp [—2л/ (gx + Г|г/)] dg d^, — оо где (g, n) — пространственно-частотные координаты; оо D? (£, n) = D У^> exP + n//)] dx dy; oo Dp (s> n) = 5 5 F (x> lJ}exp ^x + dx — oo — фурье-образ ядра ЛПИФ или передаточная функция комп¬ лексного пространственно-частотного фильтра (ПЧФ). Пространственно-спектральная фильтрация. Пространственно-спектраль¬ ная фильтрация (ПСФ) является обобщением спектральной фильтрации и Линейной пространственно-инвариантной фильтрации: 1 Sx Sy D' (х, У) = 45 5 5 D‘v(-x^~X1' y^y,'>Wiv(-Xl’ Х У ~sx "sy где —1 < Wiv < 1 — ядро ПСФ. Основной областью применения ПСФ является согласованная фильтра¬ ция, ориентированная на поиск и определение координат объекта известной формы и известной спектральной функции отражения от поверхности объекта. Так, например, с помощью ПСФ можно символы «Г» красного и синего цве- fa и символы «X» красного и синего цвета распознавать как объекты четырех различающихся классов. 1.4. НЕЛИНЕЙНАЯ ФИЛЬТРАЦИЯ Многие практически важные задачи обработки изо¬ бражений не могут быть решены методами линейной фильтра* ции. В настоящее время широко применяются методы нелиней* ной фильтрации. Наибольшее распространение получили такие операции, как преобразование глобальной плотности распреде¬ ления вероятностей, преобразование локальной плотности рас* пределения вероятностей, квантильная фильтрация и др. Пусть f [D(x, у), 0 х ,Vmax, 0 у i/maxj — глобальная плотность распределения вероятностей, определенная для значе* ний двухмерного случайного процесса 0^D(x, у) < 1 на ин¬ тервале [0 X Хтах, 0 ^у f/max] . ЕСЛИ ДЛЯ КаЖДОГО ОТ* счета изображения D(x,y) выполнить нелинейное преобразовав 16
ние D'(x, y) — F[D(x, г/)], (1.23) где F (г) = Р {D (х, у) < z}=\f («) da, О О X -^тах О У J/niax то можно показать, что f [D (х, У}\ 0 X Ятах, 0 у J/maxl == 1 ’ т. е. результат преобразования (1.23) характеризуется равно¬ мерной плотностью распределения вероятностей. Для приведения глобальной плотности распределения ве¬ роятности к заданному виду /(г) необходимо выполнить преоб¬ разование (1.23) и обратное преобразование F[D"(x, y)\ = D'(x, у). (1.24) Практическая значимость операции преобразования гло¬ бальной плотности распределения вероятностей невелика. Бо¬ лее широкими функциональными возможностями обладают операции эквализации локальной плотности (ЭЛП) и приве¬ дения локальной плотности (ПЛП) к заданному виду рас¬ пределения вероятностей. Пусть f [х, у, D(x + хь y + yi), —Sx<Xi^CSx, — Sy у{ SJ— локальная плотность распределения вероятностей, оп¬ ределенная для значений фрагмента двухмерного случайного процесса 0 D (х, z/) < 1 на интервале [х — Sx Х\ х + Sx, у — Sy yi у + Sy]. Если для каждой точки изображения (х, у) определить прямоугольный фрагмент размером 2SX X X 2Sy с центром в точке (х, у) и построить локальную плот¬ ность распределения вероятностей, то ЭЛП можно выполнить следующим образом: £>'(*, z/) = F[x, у, Z)(x, z/)], П.25) где Z F (х, у, z)~P {D (х + xh у + У1) < z} = f (х, у, a) da. Sx Sx Sy У\ Sy Для приведения локальной плотности распределения вероят¬ ностей к заданному виду f(z) необходимо выполнить преобразо¬ вание (1.25) и обратное преобразование вида (1.24). Можно показать, что преобразования (1,23) и (1.24) мо¬ гут быть заменены одним преобразованием типа a = f(P), а 17
преобразования (1.25) и (1.24)—одним преобразованием типа а = f(x, у, р), т. е. в обоих случаях фильтрация сводится к на-< хождению нелинейного преобразования и применению этого преобразования для всех отсчетов изображения в первом слу¬ чае и единственного отсчета во втором случае. Опираясь на введенные обозначения, дадим определение квантильной фильтрации, частные случаи которой, например, медианная фильтрация, получили широкое распространение. Квантильная фильтрация не имеет глобального смысла и сво¬ дится к нахождению Z)'(x, у), удовлетворяющего уравнению Р {/) (х + хн у + ух) < D' (х, у)} = Р, (1.26) Sx Sx -Sy^y^Sy где 0 Р 1 — квантиль порядка Р. Можно показать, что решение уравнения (1.26) сводится к нахождению локальной плотности распределения вероятностей в точке (х, у) f [•£> У> D У У\)> Sx Xj Sx, Sy У1 по площади фрагмента изображения размером 2SX X 2Sy, т. е. трехмерной функции P = f(x,y, г), определению обратной функ¬ ции по отношению к аргументу г, т. е. функции вида z — — f-i (х, у, Р), и выполнению нелинейного преобразования кван¬ тиля порядка Р, заданного как параметр фильтра. При Р = 0,5 фильтрация называется медианной, при Р G е {0,25, 0,50, 0,75} — квартильной, при Р е {0,1, 0,2, ., 0,9} — децимальной, при Ре {0,01, 0,02, ..., 0,99} — процентильной и т. д. В заключение необходимо отметить следующее. Дистанционное зондирование статических или динамических объектов сводится к регистрации спектрального состава свето¬ вой волны, отраженной от объекта, при этом различают три метода регистрации: однозональный, многозональный и видео- спектральный. В системах фильтрации динамических объектов регистрация спектрального состава сводится к пространственно- временной дискретизации изображения объекта и оптико-элек¬ тронному преобразованию с помощью матрицы фотоприемни¬ ков, аналого-цифровому преобразованию с помощью АЦП и передачи данных в видеопамять или процессор. Спектральная фильтрация может быть реализована с помощью соответствую¬ щего спектрального светофильтра или с помощью нейтрального светофильтра на основе двойного монохроматора. Пространственные фильтры разделяются на два класса: ли¬ нейные и нелинейные. Линейные фильтры могут быть реализо¬ ваны как пространственно-частотные фильтры. Свойства нели¬ нейных фильтров являются недостаточно изученными, что за- 18
тпудняет проведение анализа систем фильтрации в общем виде. Пространственно-спектральная фильтрация является обобще¬ нием линейной пространственной и спектральной фильтрации и предназначена для классификации объектов не только по форме, но и по спектральному составу отраженной световой волны. Глава вторая ОПТИЧЕСКИЕ АНАЛОГОВЫЕ ПРОЦЕССОРЫ 2.1. СТРУКТУРА ОПТИЧЕСКОЙ ВЫЧИСЛИТЕЛЬНОЙ СИСТЕМЫ Основным операционным блоком [36] оптической вычислительной системы (рис. 2.1,6/) является когерентный оптический процессор (КОП). Узкий световой пучок, выходя- щий из лазера, расширяется, освещает транспарант Г, считы¬ вает с него исходную информацию (изображение) и поступает в процессор. Выходное изображение, являющееся результатом обработки, регистрируется с помощью пространственного двух¬ мерного фотодетектора: А (х, у) = а (х, у) ехр [йр (х, у)] -> А' (х, у) = = а' (х, у) exp [z<p' (х, у)], (2.1) где а, а' и ср, ср' — амплитуды и фазы входной и выходной волн (координата z опущена, так как рассматриваются сечения, пер¬ пендикулярные к оси г). Одной из базисных операций в КОП является операция умножения амплитуды волны (сигнала) на функцию пропуска¬ ния модулятора М(х, у): А' (X, у) = А (х, у) X М (х, у) = >= а (х, у) ат (х, у) exp {i [<р (х, у) + д>,„ (х, #)]}, (2.2) где ат — функция пропускания модулятора; <рт — фаза, вноси¬ мая модулятором. Второй базисной операцией является преобразование Фре* неля: А'(х, у) = СФФ{А(х, у)}, (2.3) в котором Сф— множитель, не зависящий от А(х,у). Преобразование Френеля происходит в слое пространства и обусловлено дифракцией света, проявляющейся в простран¬ стве за модулятором-транспарантом, формирующим входной .1?
/7 Рис. 2.1. Когерентные оптические процессоры: а — общая структура; б — фурье-процессор, в — процессор ПЧФ Р — расширитель пучка; Г —транспарант; П — плоскость наблюдения или регистрации; Л —линза; F — фокусное расстояние линзы; Я—плоскость фильтрации сигнал. В указанном смысле слой пространства является про* цессором, выполняющим преобразование Френеля А (х, у, L) = а0 -е“Р^---exp[z (х2 + г/2)] Ф {/ (хоуо)}, (2.4) где Лс(хо, Уъ) = аоЦхо,уо)—произведение амплитуды aQ плоской волны и функции пропускания транспаранта Z(xo, уо). Фазовый множитель, зависящий от координат х и у, можно скомпенсиро* вать с помощью линзы, фокусное расстояние которой равно £« Дополнительный множитель, вносимый такой линзой, равен ехр [—ik(x2 + у2) /2Л], поэтому А (х, у, L) = а0 exp (ikL) Ф {/ (х0, у0)} (2.5) Результатом преобразования Френеля является комплексная функция: Ф {Л (*0> Уо)} = ач> (*> У> L) ехР [/(Рф (*> У> О]- (2.6) Квадратичный фотодетектор регистрирует интенсивность /(х, у, £) = | А (х, у, L) |2, поэтому результат регистрации пропор¬ ционален величине 1(х, у, Ь) = а2ф(х, у, L)№2L2) (2.7) независимо от наличия линзы перед фотодетектором. Ампли-* туда и фаза полученной волны A(x,y,L) одновременно могут быть зафиксированы в виде голограммы, называемой голограм* мой Френеля, 20
2 2 СТРУКТУРА ФУРЬЕ-ПРОЦЕССОРА в соответствии с формулой (2.4) комплексная Д(л-, у, L) на расстоянии L от транспаранта равна [13] exp (ikL) exp [i -ft (х2 + t/2)] А (х, у, L) = а0 7XZ Х X t (х0, у0) exp [ i (хр + Уо)1 X — со L х ехр /2л Xq + -^г Уо) ] ^Уо’> амплитуда (2.8) A (x, y, L) = a0 exp (ikL) exp p (x2 + y2) j i\L X (2.9) (2.10) В области Фра- преобразованию (2.H) (2.12) где % и 1] — пространственные частоты, равные § = x/(XL); т] = г//(ЛЛ). Преобразование (2.9) является преобразованием Фурье, унгофера z » k (xg + Уо)тах амплитуда пропорциональна Фурье от функции пропускания транспаранта: А (х, у, L) = а0 exp (ikL) exp p’ (x2 + z/2)j F {t (x0, yQ)} == = exp (ikL) exp [i A- (x2 + y2)] (ill)-1 F {Ло (x0, y0)}, где F — оператор преобразования Фурье. Если транспарант освещается сферической волной, то комплексная ам¬ плитуда волны в плоскости, находящейся сразу за транспарантом, имеет вид г £ 1 ло (-«О’ Уо) = ~г ехр L- ' 2Г + ( (х°’ • Предположим, что плоскость наблюдения удалена от транспаранта на расстояние I. Полагая в (2.8) L = I и подставляя вместо ао/(хо, yd) вели¬ чину До(хо, f/o), определяемую (2.12), получаем ' ехр (ikL) ехр Гг (х2 + у2)1 Л (х, у, /) = -^ 1 X iXL oo X (x0) y0) exp i2n (-^- x0 + yj- г/о)] rfx0 dya. — OO Если ввести пространственные частоты g = х/Х/ и i] = у fid, то интеграл в полученном выражении приводится к форме записи преобразования Фурье. (2.13) 21
Если сферическая волна формируется из плоской волны с помощью лин¬ зы, транспарант расположен за линзой, а плоскость наблюдения совпадает с фокальной плоскостью линзы, то в предельном случае при I — f ком¬ плексные амплитуды Ло(хо, Уо) и Л(х, у, f) определяются из выражений: (хо- Уо) = ао* (хо> Уо) ехР [- ‘ if- (*0 + Уо)]; (2Л4) exp (ikf) exp [i ~ (х2 + г/2)] А (х, у, f) = а0 -тц- X ЛГ х° ~Xf ^°)] dx° dy<>’ (2-Ю — оо Интегралы в формулах (2.9), (2.13) и (2.15) описывают преобразование Фурье оо F {t (Хо, z/o)} = Z (Х°’ Уо>> вХР 12П ^Х° + dX° dy°’ <2'16) — ОО в результате которого получается комплексная функция пространственных частот g и 1], т. е. F {< (хо> Уо)} = а (I, 1]) ехр [!Ф (|, 1))]. (2.17) Каждой паре значений £, т] соответствует комплексная амплитуда све¬ товой волны: А (jj, -ц) = A Ц, Т]) = a (g, -q) ехр [гф (|, г|)]. (2.18) Фазовый множитель ехр [ik(x2 + r/2)/2f] в (2.15) может быть скомпенси¬ рован второй линзой. Другим способом компенсации является расположение транспаранта на расстоянии d перед линзой (О d F). Если d = 0, то транспарант и линзу можно рассматривать как единый транспарант: ехр (ikf) ехр р (х2 + z/2)l А (х, у, f) = i F (Ao (x0> Уо)}. (2.19) Если d 0, то комплексная амплитуда определяется интегральным пре¬ образованием Френеля: Л (х0. z/0) = «0 eXP.-^;rf)- j J t (*d, yd) x xd «d X exp { 1 IT KXo “ xd)2 + (Уо - Vd)2} dxd d,Jd’ <2-20> где индекс d соответствует плоскости расположения транспаранта. Выражение (2.20) определяет свертку функций t(x,y) и exp[t&(x2+r/2)/2d]. Согласно теореме о свертке фурье-образ свертки равен произведению фурье- образов функций t(x, у) и ехр [ik(x2 + y2)l'2d]. Так как фурье-образ экспо¬ ненциальной функции равен F {ехр [- лС (х2 + г/2)]} = ехр (- л , (2.21) то при k — 2лД и С = —ij\d получим F { ехр [Z ~^d = ехр где g = x/Xf- т] = y/kf. 22 (2.22)
Фурье-образ выражения (2.20) запишем в виде F (Ло (х0> Уо)} = «о еХ1^— ех₽ [~ inM ("PF + TF)]f ,Jd)} = = aQ exp (ikd) exp [- i (x* + У2) f] ? {' (*d> ^)}- (2-23) Подставим (2.23) в (2.19): A (x, У) = a0 еХР^ + ^-]- exp [/ A (X2 + ,2) (1 - I)J F {t (x,, yd)}. (2.24) При d — f дополнительный фазовый множитель компенсируется, при этом , , ч exp (2ikf) Dtt, exp(2iAf) т( х г/ \ А (х, У) = % Щ F V (xd> Ул)} = ao Щ~~ T Up V) ’ ( } Схема соответствующего фурье-процессора приводится, на рис. 2.1,6 (в практических схемах используются фурье-объективы). 2.3. СТРУКТУРА ПРОЦЕССОРА ПРОСТРАНСТВЕННО-ЧАСТОТНОЙ ФИЛЬТРАЦИИ Дополним схему, изображенную на рис. 2.1,6, второй линзой, фокусное расстояние которой равно фокусному расстоя¬ нию f первой линзы (рис. 2.1, в). В задней фокальной плоскости линзы Л1 происходит изменение комплексной амплитуды волны, пропорциональное преобразованию Фурье: Ata, ^). (2.26) Далее происходит аналогичное преобразование волны Л1(хь yi): А (4 = ^Sr1- F {Л1 (хр ^)}. (2.27) Подставляя (2.26) в (2.27), получаем д („' _ п ехР (W) v ^2 \Л2’ ^2/ 0 (— X2/2) х И Т <ЛГ ’ ~£г) ехр [“i2n (v + V- ^)1dx' d^ <2-28) — оо После замены переменных £ = xj/Xf иг] = yx/Kf можно запи¬ сать А (х'2> У2) = ~ао ехР (4ikf) X 00 X т(t П)ехр[— 12л(lx'2 + nA)]dx\ = — ОО ОО = — dalQxp(—4ikf) J J T (g, n) exp {(i2n) [s (— x')+t] (— d* dy\. (2.29) 23
Выражение /"> содержит обратное преобразование Фурье, поэтому л2- У‘1) = ~ ао ехР (W) t (— х'2, — у',). (2.30) Если в выходной плоскости перейти к системе координат (х2, г/з), повер¬ нутой на 180° относительно системы (х2, г/2)> то можно считать, что в про- цессоре выполняется обратное преобразование Фурье оо t (х2, у2) = Т (g, п) ехр [2<л (§Х2 + dg dx\. (2.31) — ОО Транспарант [3] в плоскости пространственных частот (плоскость Н на рис. 2.1, в) с функцией пропускания /7(xi, t/i) является фильтром простран- ственных частот. Непосредственно за фильтром комплексное поле волны описывается про¬ изведением функции Ai (xi, У1), определяемой выражением (2.26), и функ¬ ции пропускания Н(х1} гц); Л(х2, У2) = ехру) Т'ЧЛСхь у,)/Л (Хь </,)}. (2.32) Подставляя (2.26) в (2.32), получаем Л2 (х2, tji) = — а0 ехр (4ikf) у^Т (£, -ц) ехр [2/л (|х2 + П^г)] (2.33) где Я(Х1, 1/1) = Н(£, т])\ Если фурье-образу Т(£, в) соответствует функция /(х2, у2) в выходной плоскости, то функции //(£, в) можно привести в соответствие некоторую функцию Л (х2, У2) = ^\ \Н (£, п) ехр [2/л (&с2 + n^2)l <%> dx\. (2.34) — оо Согласно теореме о свертке Г (g, n) Н (£, П) ехр [2/л (£х2 + ПУг)] dx\ = — оо =w S V у)h —х,>у2 ~у,)dx'dy'= — оо = -Т-1 (х2, у2) * h (х2, Уч), (2.35) где * —символ операции свертки, поэтому А2 (х2, у2) *= ехр [i (4kf + л)] t (х2, у2) * h (х2, у2). (2.36) Здесь h(x2, у2) — импульсный отклик фильтра, #(£, т])—пере- даточная функция фильтра. 24
Перчаточные функции (ПФ) пространственно-частотных фильтров (ПЧФ) разделяются на три. класса: амплитудные (2.37), фазовые .(2.38), комплексные (2.39). А(х, у) — а(х, у)‘, (2-37) Д(х, у) — exp [«ср (х, у)]’, (2.38) А (х, у) —а (х, у) ехр («р (х, */)]• (2-39) В классе амплитудных ПФ выделим бинарные (ае{0, 1}), приведенные (O^a^l) и знакопеременные ПФ ( «max ^a^Gmax). Бинарные и приведенные ПФ реализуются в виде поглощающих фильтров (диафрагм, амплитудных транспаран- тов и пр.). Для использования знакопеременных фильтров необ¬ ходимы специальные методы кодирования. В классе фазовых ПФ выделим бинарные (<р е{0, л}) и приведенные ПФ (0 ср < 2л). Фазовая ПФ общего вида сво¬ дится к частному случаю приведенных ПФ путем вычитания 2лт радиан (т —целое число), поскольку ехр(2/лт)=1. Ти¬ повые фазовые модуляторы (например, линзы, призмы) описы¬ ваются уравнениями вида (2.38). Бинарные и приведенные фа¬ зовые ПФ реализуются в виде рельефно-фазовых фильтров (фазовых транспарантов). В классе комплексных ПФ выделим ПФ приведенного вида Я (х, у) = а' (х, у) exp [zq/ (х, £/)], (2.40) где 0 а'(х, у) 1; — л q/(x, у) л. Можно показать, что любую ПФ общего вида (2.39) с точностью до постоянного множителя можно привести к виду (2.40). Это означает, что любую ПФ можно представить в виде произведения амплитуд¬ ной приведенной ПФ и фазовой приведенной ПФ. Существуют два основных метода физической реализации комплексных фильтров, соответствующих комплексной переда¬ точной функции (2.39) или (2.40): метод голографической записи и синтез фильтров с помощью ЭВМ [4—6]. Фильтры, синтезированные на ЭВМ, делятся на два класса. Если результатом синтеза является транспарант с модулиро¬ ванным поглощением света, то такой фильтр называется погло¬ щающим. При синтезе может быть реализован транспарант с модулированным рельефом, т. е. рельефно-фазовый фильтр. Если фильтр обеспечивает два уровня амплитудной или фазо¬ вой модуляции, то такой фильтр называется бинарным, в осталь¬ ных случаях — многоуровневым. Все методы физической реализации комплексных фильтров имеют некоторую общность. Требуемая комплексная передаточ¬ ная функция преобразуется в действительную неотрицательную Функцию, которая по воздействию на оптический сигнал, подле* жащнй фильтрации, эквивалентна требуемой передаточной Функции. В голографических фильтрах такое преобразование 23
производится на этапе голографической записи, в фильтрах, синтезированных на ЭВМ, при так называемом кодировании комплексных пространственно-частотных фильтров. Теоретической основой синтеза пространственно-частотных фильтров с помощью ЭВМ является цифровая голография. Как отмечается в работе [32], термин «цифровая или синтезирован- ная голограмма» появился в литературе на английском языке (computer generated hologram) в начале 60-х годов в связи с задачей синтеза пространственно-частотных фильтров для оптических систем обработки изображений. Первым синтези¬ рованным фильтром был согласованный пространственный фильтр, изготовленный А. Козьмой и Д. Келли [68] и пред¬ ставляющий собой последовательно чередующиеся черные и белые полосы. Этот фильтр предназначался для обработки ра¬ диолокационных кодированных импульсов. Передаточная харак¬ теристика фильтра рассчитывалась на ЭВМ/ а сам фильтр из¬ готавливался вручную: нанесенный на белую подложку черный целлофан срезался в тех местах, где значения передаточной функции фильтра были положительными. Полученный шаблон фотографировался с уменьшением на фотопленку, которая после обработки и являлась фильтром, используемым в оптиче¬ ской системе. Относительная простота изготовления подобных фильтров, а также эффективность их использования побудили- исследователей развивать это направление, искать новые об¬ ласти применения. Первой работой, подводящей итог развитию цифровой голо¬ графии в течение примерно пяти лет, стал обзор Т. С. Хуанга «Цифровая голография» в 1973 году [1]. В обзоре был дан ана¬ лиз 89 работ зарубежных авторов и рассмотрены все основ¬ ные аспекты цифровой голографии, включая синтез простран¬ ственно-частотных фильтров. Следующей работой была монография Б. Ф. Федорова и Р. И. Эльмана «Цифровая голография» с подзаголовком «Син¬ тез голограмм простейших объектов и восстановление изобра¬ жений» (1976 г.). В этой работе анализируются возможности использования цифровых голограмм в качестве оптимальных фильтров в оптических системах распознавания образов. В 1977 г. в монографии Л. П. Ярославского и Н. С. Мерзля¬ кова «Методы цифровой голографии» [6] цифровая голография была представлена как новое самостоятельное научное направ¬ ление, возникшее на стыке теории информации и технической кибернетики, радиофизики и квантовой электроники. С единых позиций рассматривались главные аспекты цифровой гологра¬ фии: выбор математической модели, вычислительные методы дискретной реализации преобразования сигналов, необходимые для синтеза и анализа голограммы на ЭВМ, характеристики аналоговых измерителей полей и регистраторов цифровых го¬ лограмм, программное и аппаратурное обеспечение работ по 26
цифровому синтезу и анализу волновых полей. Ооласть исполь- зования охватывала широкий круг проолем: синтез простраш ствшзио-частотиых фильтров для когерентных оптических систем обработки изображений, цифровое восстановление аналоговых голограмм и цифровое моделирование влияния искажении при регистрации голограмм па качество восстанавливаемых ими изображений. л л, о В 1977 г. вышла монография А. А. Акаева и С. А. Майорова «Когерентные оптические вычислительные машины» [2], одна часть которой под названием «Синтез голограмм и восстанови леиие изображений на вычислительной машине» была посвя- щена методам кодирования фильтров. В работе был дан подробный математический анализ всех известных методов ко¬ дирования волнового фронта: метода Ломана и метода Ли, ме¬ тода симметрирования, методов, использующих опорную волну, метода киноформ и метода многослойных голограмм. Сформу¬ лированы критерии для оценки эффективности различных мето-* дов записи цифровых голограмм. В 1978 г. в обзоре В.-Х. Ли [86] подробно анализируются почти все известные методы синтеза и записи цифровых голо¬ грамм, включая цифровые интерферограммы, обсуждается влияние квантования на запись синтезированных голограмм* В область применения цифровых голограмм в устройствах оптической обработки данных входит синтез пространственных фильтров для усиления контраста на краях изображений, со¬ гласованной фильтрации, в том числе в многоканальном рентном процессоре. В 1980 г. был опубликован обзор Дж. В. Далласа по ровой голографии [33], содержащий анализ 112 работ. В 1982 г. вышла новая монография Ярославского Л. „ Мерзлякова Н. С. «Цифровая голография» [32]. Седьмая глава содержит обзор применений синтезированных голограмм в ка¬ честве элементов оптических систем обработки сигналов, в том числе в задачах когерентной оптической пространственной фильтрации и в задачах согласованной фильтрации и обнару¬ жения сигналов. Библиография к книге включает 223 названия* Монография отражает уровень, достигнутый к середине 1980 года. В настоящее время количество публикаций, имеющих пря¬ мое отношение к синтезу пространственно-частотных фильтров, превышает 1000 наименований. Наиболее важные методы син¬ теза фильтров для обработки изображений будут рассмотрены оВ заключение отметим следующее. Наиболее быстро¬ действующим инструментом для выполнения линейной фильтра¬ ции оптических изображений является когерентный оптический процессор пространственно-частотной фильтрации, время филь¬ трации в котором определяется временем ввода изображения 2J коге- циф- П. [I
в процессор. Основным недостатком когерентного оптического процессора пространственно-частотной фильтрации является низкая точность преобразований, как правило, измеряемая едп. ницами процентов. В значительной мере качество фильтрации определяется характеристиками используемого пространствен, но-частотного фильтра. Пространственно-частотные фильтры разделяются на три класса: амплитудные, фазовые и комплексные (амплитудно-фа¬ зовые), при этом существуют два основных метода физической реализации комплексных фильтров: метод голографической записи и синтез фильтров с помощью ЭВМ. Метод голографи¬ ческой записи не является универсальным методом реализации фильтров, в то время как с помощью ЭВМ можно синтезиро¬ вать фильтры с произвольными передаточными функциями. Фильтры, синтезированные с помощью ЭВМ, разделяются в основном на два класса: поглощающие и рельефно-фазовые, при этом фильтры с двумя уровнями амплитудной или фазовой модуляции, называющиеся бинарными фильтрами, имеют наи¬ большее практическое значение, так как качество бинарных фильтров не зависит от нелинейных характеристик используе¬ мых фотоматериалов. Глава третья ПРОСТРАНСТВЕННО-ЧАСТОТНЫЕ ФИЛЬТРЫ 3.1. ГОЛОГРАФИЧЕСКИЕ МЕТОДЫ ЗАПИСИ ФИЛЬТРОВ В 1963 г. Ван дер Люгт предложил голографический метод синтеза комплексных пространственных фильтров [67]. Опорная (референтная) плоская волна, падающая под углом 0 к оси z, в плоскости регистрации голограммы описывается формулой я (х, у) = аоп ехр [г (kuy + 6)] = аоп exp (id) exp (— i2nbr\), (3.1) где аОп — амплитуда; 6 — фаза, не зависящая от координат х к У; ky — масштабный коэффициент; b = fsin(0); T1 = y/(Zf). (3.2) Предметная волна в задней фокальной плоскости линзы имеет комплексную амплитуду, пропорциональную фурье-образу Н(x/Xf, y/Kf) транспаранта: А (х, у) = а° а° -eXp^f> И Q, п). (3.3) 28
Комплексная амплитуда результирующего светового поля в плоскости регистрации равна . _ п) ^v(x,//) = аопехр(г6)ехр(-2л&п) + а0ехр[Ц2^--2 J J (3.4) Интенсивность в этой плоскости имеет следующее распреде¬ ление: 2 7(I, п) = «оп + °о а°"а°Х х exp [z (bkf — — б)]ехр (2/лИ) Н + + аопа0exp [- i (2kf - -у - 6 )] exp (-2/л(м]) Н - (3-5) Если в качестве фотодетектора выбрана фотопластинка, то в условиях линейной записи амплитудное пропускание обра¬ ботанной фотопластинки можно выразить в виде 7/2 (I, T)) = Со + Cl 1 |2- + С2 Н n) exp [z (2л61) + 6J] + + С2 Н exp [— i (2л61) + di)], (3.6) где 61 = 2&f— 6 — л/2; Со, С\, С2 — константы. Пусть фильтр с функцией пропускания помещен в плоскость фильтрации когерентного оптического процессора (рис. 2.1). Во входной плоскости процессора установлен транспарант с функцией пропускания /(хо, i/o). Обозначим импульсный отклик через (х2, т/2)- Согласно (2.34), импульсный отклик, соответствующий фильтру Ван дер Люгта, описывается выражением оо (-*£> У 2) = V Н- ехр '2л/ + dri' (3 7) оо С целью нахождения импульсного отклика подставим (3.6) в (3.7) * оо + I n) I2 ехр (2(Л (gx2 + w)] dl <fr| + — ОО + C2 exp — oo H (g, т|) exp [2/л£т|] exp [2in (gx2 + 1^2)] ^т) + 00 + C2 exp (— /6,) //• exp [_2(л6т]] exp [2in (£x2 4- T]z/2)] d% dr\. (3.8) — 00
Выражение (3.8) можно переписать в виде /г2 (х2, У2) = + куя “Ь ^23 + ^2 р (3.9) уде h^n — соответствующие слагаемые, входящие в выражение (3.8). Величина является d-функцией Дирака: = (х2, у2). (3.10) Второе слагаемое дает корреляционную функцию изображения h(x2, у>) в плоскости х2) у2: ^22 = С1 (Х2> у2) ★ Л (х2> У2)' (3<11) Третье слагаемое Л23 пропорционально функции h (х2, г/2), сдвинутой по оси у2 на растояние —Ь\ ^23 = С2б1^1А (х2> У2 + ^)* (3.12) Четвертое слагаемое А24 можно представить в виде ЛХ4 = С2 e~l6‘ Н ехр ^inbv^ ехр [—2гзх (£х2 + чг/г)] di • С3-13) _ г г Если перейти от координат х2 и у2 к координатам х2 и у2, то интеграл в скобках будет совпадать с интегралом, входящим в третье слагаемое. От¬ сюда следует = С2 ехР (~ г>61) (Х2- У 2 + Ь')- Подставляя (3.10), (3.11), (3.12) и (3.14) в (3.9), получаем AS (х2> У2) = С(№> (х2- У2) + С1 -Ц h (х2> У2) * h (х2> У2) + + С2 ехр (— zdj) h (х2, у2 + 6) + С2 ехр (— h (х2, у-2 + b). Для пространственного разделения 1У изображений необходимо пие условия /3 1„\ 8 arcsin — J- (3.14) (3.15) выполне- (3.16) Если во входную плоскость процессора пространственно-частотной филь¬ трации поместить транспарант с функцией пропускания t(xQ, у о) и осветить его плоской волной с амплитудой а, то получаемая в выходной плоскости процессора свертка t(x2, у2) и /г2 (х2, #2) также будет представлять собой сумму четырех изображений. Используя (2.36) и (3.15), получаем распреде¬ ление комплексных амплитуд S(x2> у2)\ W (х2, у2)/а = Cot (х2, У2) * 6 (х2, у2) + Ci t (^2, у2) * [h (х2, у2) * h X X (^2> У2)] + С2е^1 t (х2, у2) * h (х2, у2 + Ь) + + С%е "ду (Х2> У2) * (Х2’ У'2 “1“ &)• Первое слагаемое описывает исходное изображение в центре выходной плоскости процессора, Изображение, описываемое вторым слагаемым, также 3Q (3.17)
образуется в центральной части выходной плоскости и накладывается на изображение /(хг, */г). Изображения, описываемые двумя последними слагаемыми, образуются на расстоянии b от оси г. Изображение, соответ¬ ствующее третьему слагаемому, пропорционально свертке вход¬ ного сигнала с функцией h(х, у). Изображение, описываемое четвертым слагаемым, пропорционально преобразованию Л* (х2, у'2 + 6) * t (х2, г/2) = h* (х2, £/' + &)* Ц- х'2, — у') = = h (х2, у2 + (х2, г/'), (3.18) которое является взаимно корреляционной функцией входного сигнала и функции Л(х, у). Условие выбора угла 0 может быть представлено следую^ щим образом: + + <3-Ю отсюда 0 > arcsin [у (-| ly + Lj,)]. (3.20) Пример 1. Сложение и вычитание изображений с помощью простейшего фильтра. Операции сложения и вычитания могут быть выполнены с помощью про* цессора пространственно-частотной фильтрации (рис. 2.1). Транспаранты li и t2 устанавливаются во входной плоскости процессора. Центры транспаран¬ тов смещены относительно оси х соответственно на +d и —d. Поэтому сум* мариая функция пропускания Цхо, у0) имеет вид (*о, У о) = Л (*о — d, у0) + t2 (х0 + d, yQ). (3.21) В задней фокальной плоскости линзы Л1 амплитуда равна pi2kf (§, 7)) = а [Т1 (§, П) е~~12я + Т2 (g, r|) et2n , (3.22) где а — амплитуда плоской волны, освещающей оба транспаранта. Установим в плоскости фильтрации процессора Xi, ух дифракционную решетку, имеющую функцию пропускания б), (3.23) где dp — период решетки. Функция tp может быть переписана в виде tp (В. 11) = Со + 2С, cos (2л -У- I + б) . (3.24) Предположим, что Цldp = d, тогда (В И) = Со + 2С, cos (2л dg + б) = Со + С,е/Лег2я + Cte~i6e~i2:l di. (3.25) Компексное поле излучения за решеткой содержит шесть компонент: 4(5. Г))~[С07’1(&, n)e-''2"dE + C0r2a, n) ei2n + + СЦ1 (В П) е_,6е_'2я2 + С (Г, (g, n) ei6ei2n2 + + СЦ! a, n) ei& + СЦ2 (I, П) (3.26) 31
Комплексная амплитуда в выходной плоскости пропорциональна сумме: & [Cq/j (х2 — d, у2) + С0/2 (х2 + d, у2) + (х2 — 2d, у2) е~~^ 4- + С,/2 (х2 + 2d, у2) ei& + С,Г, (х2, у2) ei6 + С,(2 (х2, у2) е-/б]. (3.27) Изображения, соответствующие первым четырем слагаемым, простран¬ ственно разделяются, если расстояние d больше области задания функций по оси х. Изображения, соответствующие пятому и шестому слагаемым, про¬ странственно не разделяются, поскольку их центры находятся на х = 0: 1^0 (х2, у2) = Лвых (х2, у2) el& + t2 (х2> у2) е~/а], (3.28) Где А вых — комплексная амплитуда, не зависящая от Х2 и у2. Если 6 = 0, йолучаем < (Х2’ У 2) = ^вых Р1 (х2’ У2) + ^2 (Х2» #2)]’ (3.29) а при 6 =» л/2 вместо (3.28) можно записать ^0 (Х2’ У2) ~ Азых^ Р1 (Х2’ У2) ?2 (Х2‘ ^2)]’ (3.30/ так как ехр(/л/2) = i, ехр(—/л/2) = —Z. Комплексная амплитуда Wo пропорциональна сумме или разности Мх2, t/г) и (г(х2, у2) в зависимости от начальной фазы 6, определяемой смещением решетки вдоль оси Xi. Рассмотренный метод вычитания изображений можно использовать, на¬ пример, для контроля фотошаблонов БИС. Предполагается, что дефекты Имеют случайный характер и вероятность их образования в одной и той же точке двух соседних модулей равна нулю. Контролируемый фотошаблон уста¬ навливают во входной плоскости процессора, причем с помощью непрозрач¬ ного экрана выделяют лишь соседние сравниваемые модули. С помощью процессора обеспечивается операция вычитания функций пропускания моду¬ лей. Если модули /Дхо — d, у0) и t2(xo + d, у0) идентичны, то в центре выход¬ ной плоскости какое-либо изображение отсутствует = о). Если в любом из модулей присутствует дефект, то изображение этого дефекта сохраняется. Пример 2. Выполнение некоторых функций булевой алгебры. Используя (3.29), определим интенсивность света в центральной части выходной плоскости: /+ (х, у) = I w+ (х, у) |2 = | Лвых |2 [<! (х, у) + (2 (х, у)]2. (3.31) С помощью электронной пороговой схемы сигнал, пропорциональный можно подвергнуть нелинейной обработке следующего вида: 0, D (х, У) — 1, если если (х> У) < ~2 I ^вых I » (х> У) > 1 -^вых (3.32) Изложенным способом реализована операция «ИЛИ»: D (х, у) = /1 (х, у) V t2 (х, у). (3.33) При вычитании, согласно (3.30), получаем интенсивность в центральной части выходной плоскости: (х, У) = | У) |2 = 1 Аых I2 ['1 У) - h (3.34) 32
Связь между интенсивностью и операндами fi{x, у) и t2(x, у) соответствует булевой функции неравнозначности D (х, у) = ti (х, у) ® t2 (х, у). (3.35) Операция инверсии Z(x, у) может быть записана как операция (3.35) при hlx.y)^- D (х, y) = tl(x, у)® 1 = ?,(>:, у). (3.36) Более сложный пример рассмотрен в работе [45]. 3.2. КОДИРОВАНИЕ ПЕРЕДАТОЧНЫХ ФУНКЦИЙ ФИЛЬТРОВ Передаточная функция комплексного пространствен¬ но-частотного фильтра в любом случае может быть представ- лена в виде [72, 76]: Н(&, т]) = а(^ n)exp[t<p(g, t])L (3.37) где 0^а(£, Соответствующий фильтр можно описать следующим образом: tf(*i, = г/1)exp [/ф (xb yj], (3.38) где %1 = = X —длина волны; f — фокусное расстоя¬ ние фурье-объектива. Фильтр (3.38) представляет собой (рис. 3.1, а) двухслойный модулятор. Первый слой а(х\,у\) осуществляет амплитудную Модуляцию, а второй <р(хь у\)—фазовую. Импульсный отклик фильтра определен в ограниченной об¬ ласти (I^I^A'max, | У21 //max), поэтому передаточная функ¬ ция фильтра может быть представлена в соответствии с теоре- Рис. 3.1, Пространственно-частотный фильтр: а — общего вида (стрелки по* называют дискретные значения функций а(х, у) и <р(х, у)\ б — специального вида 2 Очин Е,
мой отсчетов в виде Н(хь г/t) = S У Н(пгbx, пby)д(х1 — тbx, tj\—nby), (3.39) т п где Дх ^f/2^max* Ау Xf/2z/max« Импульсный отклик фильтра с учетом представления (3.39) можно записать в виде h (х2, y2)==-^-\j\jH(xl, у{) ехр [/2л (xkv2 + yd/sW] dxt dy{ = — оо = ~Ь~ X У1, Н (т ^х> п ехР Г2:п: (т ^хх^ + п ^WzWl- (3.40) т п Рассмотрим фильтр специального вида (рис. 3.1,6) Т (хь У[) = t (хь ух) ехр [йлх^Ах)], (3.41) где 0^ ^(xi,f/i)^ 1. Второй слой фильтра представляет собой призму, ориентированную таким, образом, что линии равной вы¬ соты (фазы) направлены вдоль оси z/i. Представим функцию (3.41) в виде суммы ее фрагментов: Т (xlt Ух) = У £ tmtl(xx — mbx, Ух — nAz/)exp[/2n(x1 — тАх)/Ах]Х т п Xrect(^i)reCt(J-^!L). (3.42) Импульсный отклик фильтра (3.41) с учетом представления (3.42) запишем в виде оо ht (х2, = (*ь i/i) ехР [г’2я (*i*2 + tJdhW)} dxx dtjx = — оо / // У<г fmn (xl — m A.V, Ух — П by) X X exp [z’2n (Xj — tn Ax)/(Ax)] exp [г’2л (x{x2 + У\У^,1Щ)] dx{ dy{, (3.43) где x'm = tn Ax’ — Ax/2; x" = mbx + Ax/2; y'n = nby — by/2; y" = nby -[• by/2. Заменим переменные x = xi— mbx, у = tjx— nby: Дх/2 &у(2 ht (x2) y2) = У У J J tmn (x, у) exp [2шх/(Дх)] X m n — Ax/2 -Ai//2 X exp {i2n [(x + m bx) x2 + (z/ + n by) y2]Ktf)} dx dy — 34
= У У У S S t,nn ('x’ exp Г2лх/(Дх)] x ' m n —Дх/2 -Д»/2 V exp [z’2n (xxo + уу2)1(М)] exP [/2л (m ^XX2 + ti &yy2)/(hf)] dx dy. (3.44) Перепишем выражение (3.44) в виде й,(х2> й)=ЕЕ /?«ш(*2> y2)exp[i2n(mbxx2 + n&yy2)/(kf)], (3.45) г т и где Дх/2 Дг//2 hmn (^2» У 2)== *уу п С^> У) ехр |/2лх/(Ах)] X — Дх/2 — Дг//2 X ехр [/2л (хх2 + yy^KW\ dx dy. (3.46) Выражение (3.46) описывает импульсный отклик от одного фрагмента передаточной функции (3.41) размером Ах X Ау, удаленного от начала координат на расстоянии тЪх, tl&y. В со¬ ответствии с теоремой отсчетов функцию (3.46) можно пред¬ ставить следующим образом: hmn (X2i У 2) У л У t ^тп Ах2, I X k I Xsinc(«^)sinc(J!^). (3.47) где Дх2 Xf/Ax; Az/2 Xf/Ay. Функция (3.47) определена во всей плоскости х2, у%, а им¬ пульсный ОТКЛИК находится В области IХ21 =С Xmax, |*/2|^//тах (единственный отсчет функции (3.47) при £ = / = 0). Поэтому импульсный отклик можно записать в виде h'nn (х-2, у2) = ктп (х'2, у2) rect ( Д ) rect (-9 ;/2—) ~ \ ^Лтах / V zZ/max / ~ hmn (0, 0) sine (^-) Sine (-^-) ■ (3.48) Так как | Х2 I Хтах и |у21^Утах, Т0 ПРИ ЛХтах/Ах2 л/6 и ^Z/max/Az/2 л/6 можно ввести приближения sine (х2/Дх2) 1 и sine (f/2/Azy2) ~ 1, следовательно, Л^(х2, у2) ~ Л/7Ш(0, 0). С учетом введенных приближений выражение (3.45) приоб¬ ретает вид ht U2, ^) == У У hmn (0, 0) ехр [г2л (т Д,г.г2 + п hyyj/(lf)] = т п X ехр [г’2л (т кхх2 + п Дж)/(?Л]. (3.49) 35
Сравнивая (3.49) и (3.40), делаем вывод о том, что пере¬ даточная функция специального вида (3.42) эквивалентна пе¬ редаточной функции общего вида (3.37) при условии Дх/2 &у!2 $ (х, z/) exp [z‘2nx/(Ax)J z/x с?//= СЯ («г Ах, п А//), (3.50) — Дх/2 -Ьу!2 где С — произвольная константа. Таким образом, задача кодирования передаточной функции сводится к нахождению для каждого отсчета Н (шДх, п&у) та¬ кой функции tmn(x, у), которая удовлетворяла бы уравнению (3.50). В дальнейшем будем рассматривать задачу кодирова¬ ния одного отсчета, опуская индексы т и п, т. е. сосредоточим внимание на решении уравнения Дх/2 Л у/2 jj /(х, //)ехр(/2лх/Дх) dx dy = СН, (3.51) -Дх/2 -Ду/2 где 0 /(х, у) 1. Если в качестве первого слоя фильтра специального вида (3.42) взять фазовый модулятор общего вида, вносящий фазо¬ вый сдвиг Ap(xi, £/i), то задача кодирования сводится к реше¬ нию уравнения вида Дх/2 Дя/2 ехр[//ф(х, z/)]exp[z'2jix/(Ax)]dxdz/ = — i\x/2 — Ay/2 Дх/2 Дя/2 = exp {I [2лх/Дх + /ф (х, z/)]} dxdy = СН. (3.52) — Дх/2 -Д1//2 Фильтры, полученные в результате кодирования в соответ¬ ствии с (3.51), называются поглощающими, а в соответствии с (3.52) — рельефно-фазовыми. Можно отказаться от примене¬ ния призмы, т. е. от второго слоя фильтра. В этом случае им¬ пульсный отклик фильтра будет смещен в направлении оси х на kf/Лх. Четырехвекторное (четырехапертурное) кодирова¬ ние Ли основано на разбиении ячейки в направлении оси х на четыре равные прямоугольные апертуры (щели). Аналитиче¬ ское описание такой ячейки может быть дано в виде ' <*. !/) = ‘«t (-J0 £ t, reel (—,7»/45-Д->'4-) ■ 0.53) 36
Подставляя (3.53) в (3.51), получаем // 4 Xi \y^tf exp [/2лх/(А%)] dx = CHt (3.54) /=1 Z xj ГД6 f (I — 2,5) Ax Ax . rr _ (i — 2,5) Ax . Ax xi= 4 8~Xi — 4 г — • В результате интегрирования выражение (3.54) принимает вид h exp р у (/ - 2,5)] = СН. (3.55) i=l При С = л/2 кх &у/2л получаем £^ехрр|(/-2,5)] = Я. (3.56) /=1 Представляя Н в алгебраической форме а 4- ib, выражение (3.56) можно записать в виде 1 — 4) 4-z* (^2 — h) — а 4~ ib. (3.57) Из (3.57) следует, что /j — t3 — a\ t2 — t4 = b. (3.58) Система уравнений (3.58) допускает бесконечное число ре¬ шений. Одно из них можно представить в виде решающего пра¬ вила: /1 = а, /3 = 0 при а 0; t2 = Ь, /4 = 0 при b 0; Л = 0, /з = —а при а < 0; t2 — 0, /4 = —b при b < 0. Трех вектор ное (трехапертурное) кодирование Буркхардта является модификацией алгоритма кодирова¬ ния Ли. Оно заключается в замене четырехапертурной ячейки на трехапертурную. Это приводит к снижению требований к разрешающей способности устройства вывода фильтров на ЭВМ. Аналитическое описание ячейки представляется в виде t (х, у) = rect (-^) £ tt rect ( х + Дх/3-) . (3.59) /=1 Подставляя (3.59) в (3.51), получаем ~^ЛуХ ех₽ Р -v и ~ 2>]=сн> (3-6°) /=1 91
Пусть С= Дз Л* Ау/(2л), тогда з £//еХрр^Ч/-2)] = Я. /=1 (3.61) Подставляя Н в форме аехр(Лр), запишем (3.61) в виде Ле 3 +Л + Ле 3 =аеЧ (3.62) где а 0. Уравнение имеет бесконечное число решений, одно из них можно представить в виде решающего правила: где (3.64) Двухвекторное (двухапертурное) кодирование’ применяется для кодирования действительных или мнимых пе* редаточных функций: ' Ш Е С+(ЛЛ51д--~) • <3-65’ /=1 Подставляя (3.65) в (3.51), получаем 2 exp [in (j - 1,5)] = CH. (3.66) J=1 Если H = а, то при С — — ti — t2:=a. (3.67) Для мнимой функции (Я = ia) получим такой же резуль* тат при С = кхку/зи. Соответствующее решающее правило можно записать еле* дующим образом: если а 0, то t\ = а, /2 = 0; иначе /1=0, 12 = —а. Одновекторное (одноапертурное) кодирование применяется для кодирования действительных или мнимых не* знакопеременных передаточных функций. Призма исключается, а алгоритм кодирования имеет вид tx — а. Важное практическое значение имеет бинарное коди* ров а ни е, Рассмотрим ячейку фильтра [25,70], представляю* 38
Рис. 3.2. Ячейки бинарных поглощающих фильтров при широтном и высотном кодировании (а) и при двухвекторном кодировании (б) комплексных ПФ щую собой щель (рис. 3.2, а) размером h X w, смещенную от- носительно центра ячейки в направлении оси х на величину р: t (х> У) — rect (y/h) rect [(х — p)/w]. (3.68) Подставляя (3.68) в (3.51), получаем А/2 p+w/2 h/2 p+w/2 ехр (Z2тсх/Дх) dxdy= dy exp (/2лх/Дх) dx = -h/2p-w/2 — h[2 p — w/2 = h sin exp (/2лр/Дх) = CH. (3.69) Высотное кодирование основано на изменении вьь соты щели при w = const; c = -^^sin(-^). (3.70) Подставляя (3.70) в (3.69), получаем h ехр (/2лр/Дх) = ДрЯ = Дря ехр /ф. (3.71) Алгоритм кодирования можно записать следующим образом: h = a\y\ р = фДх/(2л), (3.72) Широтное кодирование основано на изменении ши-» рины щели при /г = Д//; С = ДхДр/л. (3.73) Подставляя (3.73) в (3.69), получаем sin ехр (^2лр/Дх) = Я = а ехр zqp, (3.74) следовательно, w. = arcsin а/л Дх; р = ф/(2л)Дл\ (3.75) 3?
Ш п р от и о-в ысотпое кодирование допускает одно* временное изменение параметров Л, w и р. При С = ДхДу/л по¬ лучаем h sin exp (/2л/?/Дх) = \уН = \уа exp zqp, (3.76) следовательно, Д-35п(л^)=«; р = -^Дх. (3.77) Д в у х в е к т о р и о е кодирование (рис. 3.2, б) основано на применении двух щелей постоянной высоты и ширины. Изме¬ няется расстояние между щелями (кодирование амплитуды) и положение щелей относительно центра ячейки (кодирование фазы). В соответствии с (3.69) можно записать Az/ exp [I2npj(\x)] + Дг/ exp [/2л/72/(Дх)] = л = 2Ду cos [л (р2 — pi)/(bx)] exp [гл (pt + р2)/(Дх)] = Дх sin При С = рДх Ду sin (-^7)]/^ получаем cos [л (pi — р2)/'(Д-Ч] ехР (Pi + р2)/(Дх)] = Н = а exp (г<р). Из (3.79) следует алгоритм кодирования Pi — Р2 — arccos а/л Дх; (р{ + Pz)/2 — Дх / лш \ I Дх ) (3.78) (3.79) (3.80) или ср + arccos а . ср — arccos а А Р1 = 9тг Р2 - — 2л (3.81) Двух вектор ное рельефно-фазовое кодирова» в и е основано на разбиении прозрачной ячейки на две части различной толщины, которые обеспечивают фазовую модуляцию проходящего света на ф1 и <р2. Разности толщины должна соот¬ ветствовать разность фаз, не превышающая 2л: Ь (х, у) = red [Ф1 red ( * ~ ^/4 ) + <р2 rect(^=-^). (3.82) Подставляя (3.82) в (3.52), получаем А У /2 Z 0 Дх/2 \ dy\ ехр[г(2лх/Дх + Ф1)]г/х+ ехр[г(2лх/Дх4-<р2)Их ? —Ау12 -Дх/2 0 ) 2Дх . Zqpi—(рг\ Лф1+ф2\ z>rr = Sin (^2 ) еХР V = сн- При С = 2АхАу/л sin (-!-^~—) ехр (/ ф| фг) = Н = а ехрЧ (3.83) (3.84) 4Q
Из (3.84) следует алгоритм кодирования (<Р1 “ Фг)/2 = arcsin а\ (qp! + ф2)/2 = ср (3.85) или ф! — qp -|- arcsin а\ ф2 = Ф arcsin а. (3.86) Если толщина исходной пластины-подложки равна /, а по¬ казатель преломления равен /г, то фазовый сдвиг в пластине составит фс = knl = 2лтс + Л, (3.87) где k— волновое число; тс — целое число; А — дополнительный сдвиг, не превышающий 2л. На правой части ячейки фазовый сдвиг равен kl}-\-kn(l—ZJ с точностью до 2л/П1 (zni —целое число, т\ < тс), следовательно, Ф! + 2лт! = kl{ + kn(l — ZJ = knl — k(n — 1) Zj = = 2лшс + A — k (n — 1) ZP (3.88) Из этого выражения определяется величина Zj — 2л (mc — пг}) + А — qpi k (п — 1) (3.89) Например, при А = О, k = 2лД, mc=mi = l, ф! = л получаем у Л X Z1 = /г (м - 1) = 2 (п — 1) = п = 1,5 и (3.90) На основании (3.88) рассчитанное значение 1\ может быть увеличено на 2Х, 4Х и т. д. Если задано не <рь а разность Дф = фс — Фь то можно по¬ казать, что / = Аф 1 k (п — 1) (3.91) Одновекторное кодирование рельефно-фазовых фильтров допустимо тогда, когда фильтр является чисто фазо¬ вым, т. е. а(х,у)=1. При одновекторном кодировании фазо¬ вый сдвиг ф не изменяется в пределах элементарной ячейки и с точностью до величины, кратной 2л, совпадает с фазой ко¬ дируемого отсчета. Ячейка бинарного рельефно-фазового филь¬ тра представляет собой плоскопараллельную прозрачную под¬ ложку, в которой имеется прямоугольное углубление. Если фа¬ зовый сдвиг подложки составляет фс, то фазовый сдвиг лучей, проходящих через углубление, равен фс — л. Глубина опреде¬ ляется формулой (3.91). Центр углубления смещен относитель¬ но центра ячейки на величину р, причем площадь углубления равна hw. Аналитическое описание такого фазового модулятора имеет вид /ф [х, у) = <рс - л rect (Л^£-) rect Ц). (3.92) 41
Подставляя (3.92) в (3.52), получаем Дх/2 Др/2 ехр | i рлх/Дх + срс — п rect ( х ^—) rect }dxdy=* — Дх/2 — Sy/2 Дх/2 Sy/2 = exp(Zqpc) jj exp (Z2nx/Ax) z (x, y)dxdy = CH, (3.93) —Sx/2 -Sy 12 где Z (х, у) = exp [— in rect (^Ц^-) rect (^-)J = ( —1, если |х —pKJay/2 и |z/|^A/2; 1+1, если | х — р | > w/2 и \y\>h/2. (3.93) следует, что подынтегральная функция области, соответствующей углублению ячейки. (3.94) изменяет Поэтому Из знак в выражение (3.93) представим следующим образом: (Дх/2 Sy/2 jj ехр [Z2nx/(Ax)] dx dy — — Sx/2 -Sy/2 p+w/2 h/2 \ — 2 exp [Z2nx/(Ax)] dx dyj = p-w/2 -h/2 / = —2Л exp (Zqpc) sin exp [Z2np/(Ax)J = CH. (3.95) Сравнивая (3.95) и (3.69), можно сделать вывод, что алго¬ ритмы синтеза бинарных поглощающих и рельефно-фазовых фильтров одинаковы. Так, например, при h = hy; С = -—~- у- е‘Фс (3.96) получаем кодирование, совпадающее с (3.75). При w = const; С = —— Ax&у sin (ДгМ е,ч>с (3.97) имеем кодирование (3.72). 3.3. ВЫБОР КРИТЕРИЯ КАЧЕСТВА КОДИРОВАНИЯ ФИЛЬТРОВ Осуществим ступенчатую аппроксимацию передаточ¬ ной функции пространственно-частотного фильтра когерентного оптического процессора [27]: Я (ё, п) = у У а (Е„, ть) ехр [Z<p (£„, r)m)] rect rect 2Н ~ , m п (3.98) где Д|, Дт) — шаги дискретизации; = пД|; = тД+ 42
Импульсный отклик фильтра, являющийся фурье-образом (3.98) , запишем в виде / (*> У) = £ X а <'Хп' У™) еХР (Х"’ У”Л X т п X rect rect , (3.99) ГДе V^Smax> ^У == ^/^Лтах, -^maxA^ -^тах/^'^ ’ — Утах/'^У Уmax/^У > ^тах Д = > Утах А Л* В результате кодирования каждому отсчету (т, п) функции (3.98) ставятся в соответствие фрагменты транспаранта. При¬ меняя процедуру декодирования, каждому фрагменту транспа¬ ранта ставится в соответствие некоторое комплексное число, являющееся приближенным цифровым представлением точного кодируемого отсчета передаточной функции. Результат кодиро¬ вания-декодирования можно представить следующим образом: Н (^> *П) == (^/г> GXp [Zcp (£п, Цш)] Ч~ £ (=>/г> ^lm)} X т п Xrect 1^1 rect ^=Л, (3.100) где е(|л, 1>г)’—ошибка кодирования. Импульсный отклик закодированного фильтра примет вид I (•£> У) == У t (-^/г> Ут) СХр [If (xn, Z//^)] Q (tV/2, -^m)} X т п X rect rect (3.101) где Q(x/2, упг)— отсчеты фурье-образа ошибки кодирования. Впервые проблема выбора критерия качества кодирования функций типа (3.98) была рассмотрена в работе [75]. Исходя из заданной функции (3.99), рассчитывался ее фурье-образ (3.98) , который подвергался процедуре кодирования-декодиро¬ вания. С помощью обратного фурье-преобразованпя от функции (3.100) переходили к функции (3.101), как критерий качества кодирования выбиралась величина %тах ^тах Ф1 = 1 „ ■ ( [\I(x, у)-Т(х, Mdxdy. (3.102) ^лтах!/тах J J “хтах ~^тах Дальнейшее развитие проблемы выбора критерия качества кодирования было дано в работах [83, 88]. В работе [27] пред-* шагается как критерий качества кодирования использовать 43
функционал вида ^max ’'max 5 (З.ЮЗ) 5max ^max В том случае, когда задана передаточная функция (3.98), нет необходимости использовать фурье-преобразование. Если задан импульсный отклик, то фурье-преобразование применяет-» ся однократно. Покажем, что оценки (3.102) и (3.103) эквивалентны. Подставляя (3.99) и (3.101) в (3.102), получаем “ 4*™хХх 2 £1Q (xn’ут) k а подставляя (3.98) и (3.100) в (3.103), получаем Ag АП 4£тахПтах £ £ I е (U Т)т) |. т п Фу нкции Q(xn, ут) и е(£г1, п^) связаны дискретным фурье-преобразованием, поэтому можно записать 22 22 I Q (хп, Ут) I — 22 22 I 6 I* т п т п Так как Ах— 1/2£тах» Аг/— 1/2Птах, •^тах — Д£, Утах — 1/2 Ап» ТО АхАу Д£ Аг) . — — = — !—, следовательно, ф1 = фг- 4ХтахУтах 4§тахГ]тах Средняя ошибка кодирования не зависит от взаимного расположения кодируемых точек. Так как передаточная функция (3.98) имеет W = = 4|тахПтах/А£ Ап отсчетов, то можно путем перестановок сформировать М! различающихся передаточных функций, имеющих одинаковые средние ошиб¬ ки кодирования. Множество указанных передаточных функций можно опи¬ сать некоторыми статистическими характеристиками, например двухмерной плотностью распределения вероятностей модуля и аргумента отсчетов функ¬ ции (3.98). Будем считать, что указанный закон распределения имеет неза¬ висимые составляющие распределения модуля и аргумента, т. е. f (г, <р) = f (г) / (ф), где г, ф — модуль и аргумент комплексного числа, являющиеся отсчетом функции (3.98). В наиболее общем случае, когда неизвестен класс передаточной функции, для сравнительного анализа качества кодирования различных алгоритмов выберем распределение f (г, ф) = rect (г — 0,5) rect (ф/2л). (3.104) Введением различных функций веса можно получить любой класс рас¬ пределений, так как амплитудная составляющая функции (3.98) есть вели¬ чина ограниченная, т. е. |а(£, n) I 1- Распределению (3.104) соответствует бесконечное множесто реализаций функции (3.98). Конкретная реализация связана с процедурой генерации случайных чисел, Так как распределение (3,104) имеет сравнительно простой 44
вид, то можно предложить множество конкретных функций (3.98), имеющих распределение (3.104), например: н (5,л) = [(-Л£-)2+ (г12-) ] /2ехР ‘g-1 (nm/£n)l X L\ Smax / \ Чтах / J Xrect^n~g rect Пт~Л.. Д£ Дт) Модуль максимальной погрешности задания передаточной функции ра¬ вен вшах = у УЛ£2+ Д’!2 - Будем считать, что ошибка кодирования равна нулю, если ее модуль не превышает , lt х _ е (£„, Т]от) при I е (gn, r|m) I > 8тах> 8 Чт) — Л 0 при I 8 (ёп, х\т) I < етах. Обратимся к процедуре порождения всевозможных различающихся структур, представимых в рамках одного фрагмента кодирующего транспа¬ ранта и непротиворечащих алгоритму кодирования: 3 = So, Si, Каждой структуре S, с помощью процедуры декодирования приписывается комплексное число С/: С = CQy Сь .Ck. Если |С,-| 1, то среди отсчетов всегда найдется хотя бы один отсчет с номером (т, м), для которого |tf(U т|т — C/1 8max, т. е. точно кодирующий данный отсчет. Можно по¬ казать, что соответствующие индексы определяются следующим образом: т = int [im (С/) + О.бф n = int [Re(C/) 2gl + 0,5]. Каждому такому отсчету присвоим значение е(£я, г|ш) = 0. Для остав¬ шихся отсчетов (ш, п) найдем ближайший отсчет (/Ио, По), равный нулю и выполним действие 8 (U, Пт) = 8тах [("I “ ™о)2 + (п — П0)2]1/2. Таким образом, процедура определения отсчетов е(£п, rpn) для передаточных функций, имеющих распределение (3.104), не зависит от конкретного вида функции (3.98) и с помощью оценки ф2 можно сравнивать различные алгоритмы кодирова¬ ния. Можно показать, что для распределений, отличающихся от (3.104), также можно использовать подобный подход. Анализ качества фильтров рассматривался также в рабо¬ тах [81,82,91]. 3.4. ОБЩИЕ УСЛОВИЯ КОРРЕКТНОСТИ КОДИРОВАНИЯ ПЕРЕДАТОЧНЫХ ФУНКЦИЙ ФИЛЬТРОВ В результате кодирования передаточная функция фильтра может быть представлена следующим образом [53]: н (|> п) == х Srect C~4Ag)rect * m n 45
где imtid, n)—пропускание отдельной ячейки фильтра разме« ром Ag X Дт). Импульсный отклик фильтра имеет вид тД£+Д|/2 пДт]+Дт)/2 h (х, у) ~ У У J J tmn Q, n) X т п п Дт]—Дт]/2 X ехр (/2л£Х0) ехр [/2л (£х + ЦУ)] d£> dv\. Выполнив замену переменных gi = £ — mAg и гц = ц — пАг], получим Г Д^/2 Д-П/2 h(x, S П1)ехР(г’2^ДГ0) X tn п —Д^/2 — Дт]/2 X ехр [/2л (£Рг + 1]!у)] d^{ dv\tехр [/2л (т А£х + Атц/)]. (3.105) Идеальный импульсный отклик, полученный в результате преобразования Фурье от некодированной передаточной функ¬ ции фильтра, представим как h (х, у) ~ £ 2 атп ехр (/фт/г) ехр [/2л (m Agx + п Лцг/)]. (3.106) т п Функции (3.105) и (3.106) совпадают, если значение ин¬ теграла в выражении (3.105) равно значению Нтп. Для исклю¬ чения зависимости интеграла от аргументов х и у можно ввести следующее приближение: ехр [/2л (gjx + гну)] « 1 при условии, что возникающие при этом фазовые искажения не превышают допустимого значения (критерий Марешаля): | 2л^1 max^max I л/6, | 2лТ)|П1ахушах | л/6. Этот критерий обычно используется для оценки качества передачи изображения в высококачественных оптических си¬ стемах. В СВОЮ ОЧереДЬ, |Хтах| == ^тах/2 И |^/тах|== Утах/2, ГДе А^тах и Утах — максимальные размеры импульсного отклика. ТаК Как Хтах == 1/А^ И Утах == 1/Ац, ТО I £1 max I С Д?/б; I П1 шах I С Ац/6. Таким образом, исходя из критерия Марешаля следует ис¬ пользовать только центральную (рабочую) зону ячейки филь¬ тра размером (1/3) А£ X (1/3) Ац. Поскольку фаза отсчета ле¬ жит в диапазоне (—л, +л), то в пределах рабочей зоны ячейки фазовый сдвиг равен 2л. Следовательно, по всей ячейке фазо¬ вый сдвиг должен быть равен 6л. Величина Хо определяется из условия 6л = 2лА^¥0 = 2лХ0/Хтах. Отсюда следует, что Хо = = ЗХтах. При этом обеспечивается соответствие между значе¬ ниями отсчета Нтп и интеграла от функции пропускания соот- 46
рис. 3.3. Модифицированная ячейка Ломана ветствующей ячейки: М/6 д-п/6 Нтп~ \ J X -Д£/6 -ДТ1/6 ХблА П1)ехр (гЖрГо) d^ d^. (3.107) Это соответствие справедливо для любых методов кодирования, оно определяет общую методику нахождения параметров кодирования, которые зависят от кон¬ кретного ВИДа фуНКЦИИ Пропускания /mn(fel, Ц1). Определим в качестве примера параметры кодирования для бинарного метода Ломана [25]. Амплитуда отсчета кодируется изменением высоты Wmn&r\ щели при неизменной ширине Вт/гД£, а фаза отчета — сдвигом Ртп№> щели от центра рабочей ячейки (рис. 3.3). Функция пропускания отдельной ячейки при «высота ном» кодировании Ломана имеет вид tmn (£> n) = rect [(£ — т А| — Ртп Ы/В Д£] rect [(n — п Ап]. (3.108) Подставив выражение (3.108) в (3.107), получим Нтп = атп ехр (Ap„J ~ W тп An exp (i2nPmlt AUo). Поскольку Хо/Хтах = 3, ТО Ртп = ^пп/^ (З.Ю9) Для выполнения условия (3.109) требуется обеспечить фа¬ зовый сдвиг восстанавливающей волны, равный 6л по всей ячейке вдоль оси Амплитудная составляющая определяется следующим обра¬ зом: ^inn ~ Поскольку максимальная высота ячейки может составлять (1/3) Ан, то Wmn 1 /3. Для достижения наибольшей дифрак¬ ционной эффективности sin(nBAgX0) следует принять равным единице, что выполняется при В = 1/6. При значениях фазы |фтп|>л/2 апертура превышает размеры. Часть апертуры в этом случае циклически переносят па противоположный край рабочей зоны ячейки. 47
Определим теперь импульсный отклик фильтра, подставип (3.108) в (3.100) и выполнив интегрирование: h(x г/) ~ У У s!n №> + *)! sin Any) у ' 1 V ~ £-i L, л (Хо + х) лу т п X ехр [/2лРтп As (А'о + х)]ехр [/2л (т Д|х + /г Дтду)]. (3.110) При исследовании влияния размеров рабочей зоны ячейки на качество фильтрации необходимо определить параметры Wmn и Ртп для каждого из отсчетов и протабулировать выражение (3.110) с выбранными в соответствии с теоремой отсчетов ша¬ гами дискретизации Дх и Ду. Будем варьировать размеры ра¬ бочей зоны ячейки, принимая их последовательно равными А£/4 X Дп/4, Д£/3 X Дл/3, Д£/2ХДл/2 и Д£ X Дл- Независимо от выбранных размеров рабочей зоны параметры IFmax и В примем равными 1/4 и 1/8 соответственно; параметр же Ртах будет изменяться от 1/8 до 1/2. Такое ограничение позволило при исследовании фильтрации устранить дополнительные иска¬ жения, обусловленные размерами апертуры. Таким образом, соблюдение условий корректности кодиро¬ вания, заключающихся в ограничении размеров рабочей ячейки до Д^/ЗХДл/З и обеспечении фазового сдвига восстанавливаю¬ щей волны, равного 6л, в пределах всей ячейки позволяет зна¬ чительно уменьшить искажения по сравнению с общепринятыми результатами, когда в пределах всей ячейки обеспечивается фа¬ зовый сдвиг 2л. Однако ограничение размеров рабочей зоны ячейки приво¬ дит к значительному снижению дифракционной эффективности голограммы. Для повышения дифракционной эффективности голограмм следует воспользоваться методикой копирования [26]. Копия при этом записывается в виде объемной фазовой фурье-голограммы, что позволяет в десятки раз увеличить ди¬ фракционную эффективность. 3.5. ПОВЫШЕНИЕ ДИФРАКЦИОННОЙ ЭФФЕКТИВНОСТИ И УСТРАНЕНИЕ ВЫСШИХ ПОРЯДКОВ ДИФРАКЦИИ ПРОСТРАНСТВЕННО-ЧАСТОТНЫХ ФИЛЬТРОВ Фильтры, синтезированные с помощью ЭВМ, не могут быть за¬ регистрированы как объемные фазовые голограммы и поэтому не обеспечи¬ вают высокую дифракционную эффективность [84] при восстановлении изо¬ бражений. Повышения дифракционной эффективности можно достигнуть пу¬ тем копирования фильтра на толстослойный фотоматериал [17]. Известны различные методы копирования [8], однако получать объемные фазовые копии можно только оптическим интерференционным методом копирования. При копировании используется так называемый проекционный способ интер¬ ференционного копирования. Этот способ заключается в том, что изображе¬ ние переносится объективом из плоскости оригинала в плоскость копии, при¬ чем копия записывается с помощью внешнего опорного потока. Если ориги¬ налом является фильтр, то копия, полученная проекционным копированием. 48
Рис. 3.4. Схема копирования фурье-голограмм / — поток, освещающий фильтр; 2— фильтр; 5 —объектив; 4—экран; 5 —опорный поток при записи; 6 — толстостенный фотоматериал; 7—опорный поток при записи отражательной копии восстановит множество порядков, характерных для синтезированного филь¬ тра. Лишние порядки дифракции подавляются в процессе проекционного ко¬ пирования. Получаемые таким методом пропускающие фильтры позволяют концентрировать энергию в одном, например, в -1-м порядке дифракции [31]. Установим фильтр g(xQf у о) (рис. 3.4) и осветим его наклонным потоком. В задней фокальной плоскости X2Y2 объектива имеем распределение ком¬ плексных амплитуд h(x2, у2): h (х2- У2) = а ехР ехР [ (Х2 + Л)] [W ехР (— 1 -у) X X б (*2 + Ь, у2) + -уу- ехр (— i -у) g (л"2 + Ь, Уг) * g (*2 + b, Уг) + + t2 ехр (in) g (х2, у2) + t2g* (— х2 — 2Ь, — у2)\, (3.111) где символ * обозначает операцию корреляции; а — амплитуда освещающего потока; k = 2л/Х — волновое число. В задней фокальной плоскости объектива наблюдается нулевой порядок, описываемый первыми двумя членами, записанными в квадратных скобках, а также 4-1-й и —1-й порядки дифракции, описываемые третьим и четвертым членами. Изображения в нулевом и ±1-м порядках дифракции разделены пространственно. Поэтому при регистрации копии можно оставить лишь одно изображение, например, расположенное на оси г, устранив все осталь¬ ные. Для этого в задней фокальной плоскости объектива размещается экран. 3.6. СИНТЕЗ ФИЛЬТРОВ ПОВЫШЕННОГО КАЧЕСТВА Аппроксимируем передаточную функцию фильтра (20, 22, 23, 25, 27, 29, 30, 37, 38]: ч)=££ a (In, Пт) ехр Пт)]Х т п X rect-Цг=^-rect (3.112) 49
Установим в фурье-плоскости процессора амплитудный транспарант ^^EESE^rectbA-Llrect^p-, (3.113) m п k I где m, п— индексы отсчетов функции (3.112); k, I — индексы элемента из фрагмента транспаранта, соответствующего отсчету m, п; с\с — размер элемента (с Д§, с<;Дг]); —Д£/2<? С & < Д£/2с; —Дт]/2с I Дт|/2с; %ni = g/2 + lc\ x\mk = Пт + + kc; 0 OLmnkl 1- В непосредственной близости от транспаранта (3.113) уста¬ новим некоторый элементарный фазовый модулятор, например, линзу, аксикон, призму, в общем случае описываемый уравне¬ нием F (?, П) = ехр [г/ (g, я)]. (3.114) Осуществим ступенчатую аппроксимацию функции (3.114) с шагом с: F (I, n) = Е У- У, Е ехр &nt’ rect ^ntc rect-mfec—-. m п k I (3.115) Передаточная функция синтезированного фильтра равна произведению функций (3.113) и (3.114): Н (^> Л) == , У^ У , ^mnkl ехр [// (^fiJ, Т|тй)1 X tn п k I X rect-£nZc~ - rect ^mk~^ • (3.116) Задача кодирования передаточной функции (3.112) сводится к выбору фазового модулятора (3.114) и синтезу амплитудного транспаранта (3.113), минимизирующему среднюю ошибку ко-^ дирования ^шах ^шах e=4£ I IW, n)|3rf^n = ^Smax’lmax J J “smax "Длах Ag An 4gmaxHmax ZE n«) exp [Zqp (£.,, tbJ] — 772 П -EE ^innkl Wplif&il, ‘lmfe)]| • k I (3.117) Непрерывное кодирование. По выражению (3.117) можно построить простейший алгоритм кодирования. Для каждого отсчета т, п среди множества неравноотстоящих по фазе еди¬ ничных векторов exp[/f(g/lb т]тЛ,)] определяются два вектора: 50
expW(^r, Л/п^*)] и ехр [Zf (£„/**, VW*)!’ ближайших к вектору nJexp[Mfen, Для указанных трех векторов можно записать [34]: a (£„, Пт) ехр [/ф Пт)] = W/* ехр [if T]mfe*)l + + <Wfc**/**eXp[zf(£nZ**> Лт/г**)]’ (3.118) Если остальным коэффициентам а приписать нулевые зна¬ чения, т. е. amnki = 0 при mnkl mnk*l*\ mnkl mnk**t**, то можно записать: S ^mnki ехр [if Цт/г)] == ^>tnnk*i* exp [if Лт&*)1 “F k I + ПтР*)Ь (3.119) Подставив (3.119) в (3.118), можно сделать вывод, что раз¬ ложение (3.11.8) дает точное решение задачи кодирования. Так, например, при E(g, п) = ехр [2ш£/Д£] и с — Д£/3 получим три равноотстоящих по фазе единичных вектора: ехр(—2ш*/3), 1, ехр(2ш‘/3). Разложение кодируемого вектора в виде суммы двух из трех равноотстоящих векторов предложено в работе [74]. Рассмотренный фазовый модулятор является призмой, поэтому на практике призму из оптической схемы можно ис¬ ключить, анализируя при этом поле дифракции под углом, про¬ порциональным величине l/Ag. Импульсный отклик фильтра в выходной плоскости процессора сместится на 1/Ag. Во всех остальных случаях модулятор (3.114) должен быть включен в оптическую схему. Многоуровневое кодирование. Точное разложение (3.118) допустимо лишь при 0 amnki 1, однако на практике число уровней квантования а всегда конечно, т. е. amnkl <= {0, Да, 2Да, ..1}. (3.120) Учитывая (3.120), следует считать, что разложение (3.118) носит приближенный характер, поэтому выбор фазового моду¬ лятора, определение размерности массива элементов (3.113), соответствующего отсчету (т, и), при заданном значении Дос усложняется. Вместо простейшего алгоритма разложения (3.118) необходимо использовать алгоритмы дискретного разложения заданного вектора по множеству допустимых векторов с конеч¬ ным числом уровней квантования длины каждого вектора. Так, например, при Да = 1 (бинарное кодирование) известно мно¬ жество различных алгоритмов кодирования [69,83,88], наи¬ более точным из которых является алгоритм Хаскеля [78]. В наиболее общей форме идею алгоритма многоуровневого кодирования можно сформулировать следующим образом. Каж¬ дому отсчету (т, п) функции (3.112) соответствует фрагмент из Дг|/с строк и Ag/c столбцов. Каждый элемент фрагмента Дискретизован на l-j-1/Да уровней (3.120), следовательно, в 51
каждом фрагменте можно сформировать Л/ = (1 + 1/А«)д|а,1Л:2 (3.121) различающихся структур. Каждой допустимой структуре поста- вим в соответствие комплексное число с;„„=£ 2 <„ехр [<)(!;„, %,)]. 1</<ЛГ. (3.122) k I каждого отсчета (т, п) среди множества комплексных чисел (3.122) определяется ближайшее С*пп9 т. е. такое, которое имеет наименьший модуль разности: emn’ = m.in№> nm) exp [пр (tn, (3.123) Структура, соответствующая числу принимается в ка¬ честве фрагмента транспаранта с номером (т, п). Для реализа* ции рассмотренного подхода потребуется М = 4ЕлтДт.-,х ( j 1/Да)Д5 Дг)/с2 (3 J 24) операций типа «умножение действительного числа на комплекс¬ ное» и столько же операций типа «комплексное сложение», а также L = 4§тахт)гпаХ/Д* Ап (3.125) операций типа «модуль разности комплексных чисел». Бинарное кодирование. Установим в фурье-плоскости вме¬ сто (3.113) бинарную маску [73] вж=X Z Z ZЬт,м rect~nlс rect *4 n ’ о-126> т п k I где bmnki е {0, 1}; %ni = In + lc\ Timfc = т],п + kc\ m, n — индексы отсчета функции; k, I — индексы элемента подмаски, соответ¬ ствующей отсчету т, п; с\с — размер элемента бинарной маски; 1 k АН/с; 1 I Дг|/с. Умножив функцию амплитудной модуляции (3.126) на функ¬ цию фазовой модуляции (3.115), получим комплексную переда¬ точную функцию кодированного фильтра: 6тгшехр[о,.г, Т],пй)] X tn п k I Xrect rect T)^~n., (3.127) c c x Приближенные значения отсчетов полученной передаточной функции можно записать в виде Нтп = Е X ^т«нехр[г7(^, (3.128) k I 52
Сравнив (3.113) одного отсчета как и (3.128), определим ошибку кодирования (3.129) Суммарная ошибка кодирования оценивается следующим образом: g = У> Iй/пи, ехр ^/фтп) У2 Ьтпы ехр [if Л/п&)1 ]• (3.130) т п \ kl I Задачи бинарного кодирования комплексной передаточной функции фильтра сводятся к выбору фазового модулятора и к синтезу бинарной маски, минимизирующей суммарную ошибку кодирования. При этом считаются заданными размер и шаг бинарной маски. Среди простейших фазовых модуляторов необходимо отме¬ тить линзу и аксикон, которые целесообразно применять при аппроксимации (3.112) в полярной системе координат. Наибо¬ лее удобен аксикон, имеющий закон модуляции ехр(2шг/Дг), где Дг— шаг дискретизации вдоль оси радиуса г. При дискре¬ тизации в декартовой системе координат целесообразно исполь¬ зовать модуляторы, имеющие простое описание в этих же коор¬ динатах, например цилиндрические линзы, призмы и т. п. Уни¬ кальной особенностью призменного модулятора F (ё, п) = ехр[2ш(^1^ + Й2П)]> (3.131) где Zji, k2— константы, является то, что в практической схеме когерентного оптического процессора призму можно исключить из фурье-плоскости. В этом случае отклик процессора сместится вдоль осей х, у на k\, k2 соответственно. Обобщение методов бинарного кодирования. Кодирование заключается во введении модулятора типа (3.131) и включе¬ нии в единичное состояние (btnnkl=l) группы смежных эле¬ ментов бинарной маски (3.126). Амплитуда отсчета пропор¬ циональна числу смежных элементов в группе, а фаза — сме¬ шению центра группы относительно точки отсчета. При этом группа образует прямоугольную конфигурацию. Уменьшение ошибки кодирования достигается снятием ограничения на фор¬ му группы смежных ячеек. Увеличение амплитуды можно полу¬ чить, увеличивая на единицу число смежных элементов некото¬ рой произвольной конфигурации. Наиболее простой алгоритм состоит в последовательном заполнении единицами элементов пиарной маски по вертикали с переходом на соседние столбцы. Хаскель [77, 78] снял ограничение на непрерывность группы лементов и предложил рассмотреть всевозможные бинарные труктуры. Если L = \yc — число элементов подмаски по вер- а = Ац/с— по горизонтали, то всего возможно ШихИЧаЮ1ЦИХСЯ бинарных структур. Однако число различаю- ся комплексных чисел, соответствующих каждой из струю»
тур, будет существенно меньше. Так, например, исследовалась подмаска размером 8X8 элементов. Число различающихся структур равно 264, что больше чем 1019, однако количество различающихся чисел было равно 16 000. В работе [22] пока^ зано, что число различающихся комплексных чисел равно 2L— 1, если К = 1 и L — простое число. Это означает, что каж« дой бинарной структуре соответствует собственное комплексное число. Рассмотрим подмаску размером КХЕ элементов. В каче< стве фазового модулятора используем призму F (£, п) = ехр [2ш £ + 777 п)]. (3.132) где Р — наименьшее простое число, превосходящее величину KL, с\с — размер элемента бинарной маски. Подставим (3.132) в (3.128): нтп=2 Еbmnkt ехр [2™ ("йг+■%г')] k I = Етп £ £ ьтпк1 ехр [2яг(^+Л], (ЗЛЗЗ) k I где Етп = ехр [2га ( )]. Представим выражение (3.133) в виде ехр + ■ (3-131) k I где Е'тп = Етп ехр . Из выражения (3.134) следует, что при 1= 1 и увеличении k от 1 до к значение фазы под знаком экспоненты изменяется от 0 до 2л(/(—1)/Р с шагом 2л/Р. При k= 1 и увеличении I от 1 до L значение фазы изменяется от 0 до 2л K(L—1)/Р с шагом 2лК/Р. Это означает, что множество единичных век¬ торов, каждый из которых может быть «включен» с помощью маски bmnki, образует веерообразную конфигурацию. Первые KL единичных векторов являются управляемыми, остальные в формировании комплексных чисел не участвуют. Так как Р — простое число равномерно распределенных единичных векторов, то они могли бы образовать N = 2P—1 различающихся комп¬ лексных чисел. Уменьшение числа управляемых векторов па единицу приводит к уменьшению чисел вдвое (исключение пер¬ вого вектора уменьшает N на 2Р~1—1, так как из двух нераз- личающихся нулей исчезает только один). Следовательно, об- 54
шее число различающихся комплексных чисел равно W = 2«L. (3.135) Так, например, при ЛХЛ = 2Х2, 3X3 и 4X4 для «вы- тного» кодирования Ломана N = 5, 10 и 17, для кодирования Хаскеля N = 5, 37 и 81, для кодирования, предложенного в ра^ боте [33], N = 16, 512 и 65 536 соответственно. В основании формулы (3.129) для закона распределения вида f = (г, <p) = rect (г — 0,5) rect (ф/2л) проводилась оценка средней погрешности кодирования. Так, например, при KXL=2X2, 3X3 и 4X4 средняя погреш- ность кодирования равна 0,5; 0,3 и 0,25 для «высотного» коди¬ рования Ломана, 0,5; 0,15 и 0,1—для кодирования Хаскеля и 0 28; 0,03 и 0,001—для кодирования, предложенного в работе [22]’ Отметим, что для подмаски размером К = L — 4 кодиро¬ вание [22] равномерно-комплексных передаточных функций на два порядка превосходит по точности другие методы кодиро¬ вания. Подобная интерпретация задачи бинарного кодирования комплексных передаточных функций может быть обобщена на случай многоуровневого кодирования Ли — Буркхардта [71,74]. Рассмотренное бинарное кодирование базируется на условии, что подмаска имеет прямоугольную конфигурацию размером /(XL элементов. Однако конфигурация подмаски может иметь более сложную форму. Так, например, пять элементов бинар¬ ной маски могут образовать структуру в виде креста, которая без пропусков заполняет все поле. Если в качестве фазового модулятора выбрать призму ехр [2ш(£/3с + т]/6с], то все пять единичных векторов равномерно расположатся на комплексной плоскости. Так как пять простое число, то количество разли¬ чающихся чисел будет 25— 1 =31, а ошиба кодирования комп¬ лексных передаточных функций с равномерным законом рас¬ пределения амплитуд и фаз равна 0,15. Таким образом, метод кодирования, предложенный в работе [22], можно считать оп¬ тимальным лишь для класса прямоугольных конфигураций подмасок. 3.7. КОДИРОВАНИЕ ПЕРЕДАТОЧНЫХ ФУНКЦИЙ ФИЛЬТРОВ С ДВУМЯ ИМПУЛЬСНЫМИ ОТКЛИКАМИ Амплитудное кодирование. Предположим, что отсчет передаточной функции фильтра [72,74] Нтп = атп ехр (црт/г) одируется прозрачной прямоугольной щелыо, расположенной а фоне непрозрачной ячейки размером Д^ X Д'] (рис. 3.5, а), 55
Я Г г г] 1 л 1 с р® Рис. 3.5. Кодирование двух импульсных откликов с помощью щели (а); че¬ тырех отверстий (б); углубления в прозрачной подложке (в); четырех фа¬ зовых модуляторов (а) / — фильтр; 2 — ячейка фильтра имеющей высоту стп£я\, ширину Ьтп^ и смещенной относи* тельно центра ячейки на величины ртп№> и qmn^x\ вдоль осей g и т| соответственно (Ьтп, стп, ртгь Чтп изменяются в пределах 10,-1)). Функция, описывающая закодированный фильтр, имеет вид йй, ,) = £ £ rect [ * ] rent [ - ~ М ] ■ т п (3.135) Параметры Ьтп, стп, ртп, Qmn можно определить из условия равенства заданного импульсного отклика фильтра и импульс¬ ного отклика в первом порядке дифракции передаточной функ¬ ции (3.136). Заданный импульсный отклик имеет вид h (х, у) = Д£ Дт] sine (% Д£) sine (у Дг|) X X Z X ехр (— i((>mn) ехр [—/2л (m Ag,r + п Aqi/)], (3.137) т п 56
ульспый отклик в первом порядке дифракции передаточ' а ”МфуНКцпи (3.136) может быть приведен к виду fix (X, у) = A'1 sinc^ Дт1) sinc[(x ± -д^-) As] У стп X 1 т п х Sin (лЬтп) ехр (— /2лрт„) ехр (— Zqpt) + 4- J- А^ An sine (х As) sine [(у ± Щ) An] У £ bmn sin (лс,„„) X т п X ехр (— i2n<7m„) ехр (— ;ф2) + -1- Д| An sine [(х ± А^] X X sine [(у ± Ап] J] bmn sin (л6ш„) sin (лс,„„) X X ехр [— /2л (ртп + q,nn)} ехр (— г<р3), где ехр(—мр1), ехр(—/<р2), ехр(—/ф3)—фазовые множители, обусловленные сдвигом ячейки с номером (т, п) относительно начала координат; запись вида (х ± 1/Д£) обозначает два от* клика, расположенных в точках с координатами х+1/Ag и х-1Ж Таким образом, выражение (3.138) описывает восемь от* кликов, центры которых смещены в точки с координатами (±1/Д£, 0), (0, ±1/Дг|) и (±1/Д£, ±1/Дг)), что соответствует порядкам дифракции (±1,0), (0, ±1) и (±1,±1), Из сравнения выражений (3.137) и (3.138) следует, что они совпадают (с точностью до постоянной 1/л и смещения, которое может быть устранено введением призмы) при выполнении еле* дующих условий: в (±1,0) порядках дифракции Г ^тп Sin (лЬ„гп) = атп, ч Ртп Утп/^, в (0, ±1) порядках дифракции Г Ьщп Sin (Д^т/i) ^тп> V Ятп Утп1^> в (±1, ±1) порядках дифракции Sin (лЬтп) Sin (ДС^/г) атп> Ртп Ятп == ф/пя/^Д* Из анализа полученных результатов можно сделать вывод, что одна ячейка может кодировать два различных отсчета Н'пгп и Н'^. При этом 6mnS>n (^тп)=С’ Ртп Утп (3.139); (3.140) 57
Фазовое кодирование осуществляется независимо для ка^ дого из двух отсчетов (3.140), а для кодирования амплитуд необходимо решить систему уравнений (3.139) одним из чИ(5 ленных методов (метод Ньютона, метод половинного деления и т. п.) с заданной степенью точности. Импульсные отклики, соответствующие передаточным фуш<ч циям Н'тп — а'тп ехр и Я"„ = а"„ехр(-распор жены в (±1, 0) и в (0, ±1) порядках дифракции. Для каждой пары кодируемых передаточных функций Нх = = ai ехр (—/ф1) и Н2 = а2 ехр (—кр2) необходимо ' решать си¬ стему трансцедентных уравнений (что является недостатком метода): а' —с sin (лЬ а" = b sin (лс Y тп тп \ тпр где т, п— номер отсчета; &, с — параметры кодирования. В работе [49] предлагается другой метод двойного кодирования, позво¬ ляющий выразить связь между параметрами кодирования и кодируемыми величинами в явном виде. Пусть ячейка кодирования представляет собой систему из четырех про- зрачных отверстий, расположенных на непрозрачном фоне так, как это пока¬ зано на рисунке (3.4,6). В дальнейшем все рассуждения и вычисления будем проводить только для одной ячейки (опуская ее номер — т, /г), так как рассмотрение их совокупности (т. е. всего фильтра) приводит лишь к появле¬ нию фазовых множителей и множителей типа sinc(x), одинаковых для иде¬ ального и реального фильтров. Введем следующие обозначения: 141) Передаточную функцию ячейки, представленной на рисунке 3.4, б, можно описать следующим образом: 4 Н (£■ п) = X Н‘ & Z = 1 где „с1г, л/а-4')!+(п-=;)\ Н! (§, п) = circ ; в,(5.,1=с1гслЩД±М; го М> n) = circ Va-4)!+(n-<)\ f- * . г ( 1 С1ГС — = S Л Го ( 0 68
Импульсный отклик ячейки имеет вид Л1 (х. у) = Го ₽F_i{Zf)(giT))}« circ— — exp[-i2rt(gx4-T|j)]rfx^=« — оо == го лёту1 ехр [ “/2я ^Хс'х + ус'у^ ж const ехр [—72л (хс'х + t/c')]. (3.142) h2 (X, у) =*F~l К'2 (?. П)} = ехр [- /2л (хс" + ус"}}, h3 (х, y) = F~‘ {#з & П)} = rl exP [“ z2ix (xcx + 2/^)]: Л4(x, у) = F~l[H4 (g, i])} = rlexP [~ /2я (xc'x + УсиУ\- h(x, y) = F-1{l/^,^} = F~1\ £ Hi (В. n) ) = X F~l {Hi (g, D)}. (3.143) I i = l ) i = l -1 Подставив в (3.143) выражения для hi, h2, h3, с учетом обозначений (3.141) и приближения (3.142) и выполнив соответствующие преобразования, получим окончательное, с точностью до константы, выражение для импульс* ного отклика ячейки реального фильтра h (*, У) = 4 ехР *2л (хРх + УРу)} cos (лхгх) cos (flycy). (3.144) Из анализа выражения пип, для которого х = 0, иметь вид h (х, у) У = 1/Ап (3.144) следует, что в (0, 4-1) порядке дифрак* у = 1/Д1], восстановленное изображение будет = Л01 = 4 cos (лсу/Ац) ехр (— г2лр^/А1})в х = 0 Аналогично, в (4-1, 0) порядке дифракции (х = l/Ag, у — 0): h (*> У} I Х = А10 == 4 cos (л^/Ag) ехр [— /2лрх/А^]. I v = o Для заданной пары комплексных чисел Я1=а1е_гср1, 0<Я!<4, -л<Ф1<л; Н2 = а2е~ 0 < а2 < 4, — л < <р2 < я можно записать Рх = Ф1 А£/2л; - Ag/2 < рх < А£/2; Ру = ф2 Ац/2л; — Ат|/2 < ру < Ат]/2; (3.145) сх = arccos (ai/4); 0 < сх < Ag; Су = -i- arccos (а2/4); 0 су Arj. (3.146) Таким образом, фильтр, состоящий из ячеек рассмотренного вида, восстав ^вливает два различных импульсных отклика, разделенных в пространстве; ьтражения (3.145) и (3.146) задают в явном виде связь между параметрами Дарования и кодируемыми величинами» 59
Фазовое кодирование. Ячейка кодирования, изображенная на рис. 3.4,в, представляет собой плоскопараллельную пр0, зрачную пластинку, на которой часть материала в виде прямо" угольной области размером Ьтп X стп исключена так, что фазо, вый набег составляет половину длины волны проходящего сне. та. Центр области смещен по координатам х и у на величины Ртп И qmn, соответственно (0 < Ьтп, с/Пп 0,5; —0,5 ртп Утп 0,5) . Передаточная функция фильтра, составленного из таких ячеек, описывается следующим выражением [73]: Й й. ч) = л Г Z reel X т п X (3.147) L АЛ □ Можно показать, что импульсные отклики фильтра с пере¬ даточной функцией (3.147) в (+1,0) и в (0,+1) порядках дифракции имеют вид /г10 (х, у) = А? Дл sine (у Дт|) sine [(х — М N — 1/ДЮДП X Г cm„sin(n&m„)exp(—/2лрт„)ехр(—1ф1т„); т = 1 п = 1 hm U, У) — Д’1! sine (х Д|) sine [(у — М N — 1/Дт]) Дп] X Z bmn sin (лст„) ехр (— i2nqmn) ехр (— 1Ф2тп) т = 1 п = 1 (3.148) соответственно. Здесь ехр(—ьФ^тп) и ехр(—1Ф2тп) — фазовые множители, обусловленные сдвигом ячейки с номером (тп) от¬ носительно начала координат. Одна ячейка синтезированного фильтра может кодировать два комплексных отсчета различных передаточных функций ^С = <пехР(-гЧп) и (-<»)> если вьшол’ вены следующие условия: стп Sin (ЯМ = а'тп’ bmn Sin (ЯС™) = <3 Ртп = Ч'тП/2п'’ Ятп = ^п/2П- Изложенный метод обладает существенным недостатком: при определении параметров кодирования Ьтп и стп требуется решить систему трансцендентных уравнений для каждого но¬ мера (/и, и). Рассмотрим еще один метод двойного фазового кодирования, позволяю¬ щий выразить связь между параметрами кодирования и кодируемыми вели¬ чинами в явном виде, *0
HvcTb ячейка кодирования представляет собой матрицу подъячеек разме- 9x2 (рис. 3.4, а). Каждая подъячейка имеет коэффициент амплитуд- г поопускания, равный 1, и коэффициент фазовой модуляции в пределах Н°£) Такая ячейка имеет две различные передаточные функции: ц' __ _ Q^itnn . jhnn | е^зтп _ ei(?4tnn, н" = е^\тп е^2тп | е^31?гп j ei(i>4tnn ром [0,2л) в направлении х в направлении у ива различных импульсных отклика, расположенных в порядке дифракции 4-1) и (4-1, 0) соответственно. ’ Представим комплексные отсчеты передаточных функций /7' и А/", под¬ лежащих кодированию в алгебраической форме: Н'тп еХР №тп) Атп~^ Втп> Amn — amn cos Фтш rirt rf Г " \ л" \ п" Нт,г = amn ехР V^mn) = Атп + Втп = amn sin Тогда для определения значений ф1, ср2, фз, Ф-4, обеспечивающих совпаде¬ ние импульсных откликов реального и синтезированного фильтров, необхо¬ димо решить следующую систему тригонометрических уравнений [для упро¬ щения записи номер (т.п) ячейки опущен]: Л' = — cos ф[ 4- cos qp2 4~ cos ф3 — cos ф4; Д" = — cos Ф1 — cos ф2 4- cos фз 4- cos ф4; . , . T . (3.149) В = — sin ф[ 4~ sin ф2 4“ sin фз — sin ф4; В" = — sin ф[ —- sin ф2 4- sin ф3 4- sin ф4. После преобразований решение системы может быть получено в явном виде: <Р; = — arctg А+/В + — arcsin (1/4 д/л+ В2+ ); | <р2 = — arctg А_/В_ + arcsin (1/4 aJА2_ + В2_ I <Р3 = — arctg А +/В+ + arcsin (1/4 д/л^_ + В2+ ); <р4 = — arctg A_fB_ — arcsin (1/4 д/А2_ + В2_ где Л+ = А' + А"\ А_ — А’ — А"; В+ = В' + В"; В_ == В' — В". Таким образом, фильтр, синтезированный по одному из двух описанных выше методов фазового кодирования, восстанавливает два различных им¬ пульсных отклика, разделенных в пространстве. Второй метод позволяет вы¬ разить в явном виде связь между параметрами кодирования и кодируемыми величинами. В заключение гл. 3 необходимо отметить следующее. Основным недостатком оптических аналоговых вычислительных систем обработки изображений является узкий класс решаемых задач и низкая точность выполнения интегральных преобразований. Практическое использо¬ вание оптической вычислительной техники для обработки изображений свя¬ зано с известными трудностями. Во-первых, следует отметить отсутствие не¬ обходимой элементной базы с заданными параметрами быстродействия, энер¬ гопотребления, габаритов, во-вторых, — высокую стоимость оптических дета¬ лей и узлов вследствие сложной технологии их изготовления и юстировки. В настоящее время внимание разработчиков систем обработки изображе¬ ний направлено на изучение принципов построения параллельных электрон¬ ных цифровых процессоров, ориентированных на обработку двухмерных мас¬ сивов данных.
Последние достижения СБИС-технологии делают более предпочтитель ними такие структурные решения, которые не имеют глобальных связей между модулями интегральных схем, т, е. передача данных осуществляется доежду соседними модулями. Используя такой подход, в настоящее время разрабатываются различные распределенные системы из кристаллов специа» визированных СБИС, соединенных сетевой или шинной структурой. Такого типа системы обладают сверхвысокой производительностью при малой стои¬ мости, достигаемой в результате специализации узкого класса решаемых задач. Принципы построения таких систем рассмотрены в гл. 4—6t
Раздел второй ЭЛЕКТРОННЫЕ ЦИФРОВЫЕ ПРОЦЕССОРЫ Глава четвертая ПРОЦЕССОРЫ СВЕРТКИ Одной из самых распространенных операций' обра* ботки изображений является операция двухмерной свертки [24,34,44]. Такие операции, как нерекурсивная фильтрация или фильтрация с конечной импульсной характеристикой (КИХ-фильтрация), согласованная фильтрация, взаимная кор- реляция, интерполяция, имеют подобные структуры алгоритмов и почти одинаковые структуры специализированных процессов ров. Операцию дискретной свертки запишем следующим об¬ разом: М N D'u~ т=-М ti=—N , t ч (4.1) т. е. при таком определении в операцию вступает крупнофор¬ матное изображение {Z)t7; /=1, /; /= 1, J} и малоформатное ядро свертки {Wmrt\ т— — М, М; n = — N, N}. Если происходит нарушение индексных границ изображе¬ ния, т. е. выполняется одно из условий (Z — т) < 1, (/ — т) > /, (/ — п)<1, (/ — п)>/, то в этом случае можно считать, что Di-т, = 0, или элементу изображения Di-m, j-n присваивается значение ближайшего определенного элемента. Операция цифровой двухмерной свертки (ЦДС) предпола¬ гает, что как элементы изображения, так и элементы ядра свертки представлены в цифровой форме. Предположим, что элементы изображения представляют собой неотрицательные числа в диапазоне [0, 1), заданные в виде Q-разрядных. двоич¬ ных чисел с фиксированной точкой без знака diiq2~q’, 0<А-/<1; ^ме{0,1}. (4.2) <7=1 Элементы ядра свертки представляют собой числа в диа¬ пазоне [—1,1), заданные в виде P-разрядных двоичных чисел с фиксированной точкой в дополнительном (до двух) коде р-1 ~ 1 с Wmn = - wmn0 + х Wmnp2~p < 1, wmnp <= {0, 1}, (4.3) P=1 63
где 1}—знаковые разряды (О — «плюс», 1— нус»). Подставляя (4.2) в (4.1) или (4.3) в (4.1), или одновре¬ менно (4.2) и (4.3) в (4.1), можно записать различные формы операции ЦДС. Меняя порядок суммирования в полученных формах, можно получить множество выражений ЦДС и сооь ветствующих алгоритмов и структур. Подставим, например, (4.2) в (4.1), изменяя порядок суммирования следующим об< разом о мм D'i=X2-4^ Е (4.4) Для вычисления ЦДС в соответствии с (4.4) необходимо выполнить (2М 4-1) (2М-|-О операций сложения, так как умножение под знаком суммы сводится к логической операции следующего вида: Wd = W при d = 1, Wd = 0 при d = 0. Время выполнения операции (4.4) без учета затрат на орга« низацию циклов по переменным f, /, qy т, п определяется еле- дующим образом: T~IJQ(2M+ 1)(2#+ 1)/+, (4.5) где t+ — время сложения P-разрядного числа Wmn с /?-разряд- ной накапливающейся суммой, при этом R = Q + Р + log2 [(2М + 1) (2N + 1)]. Для уменьшения времени (4.5) в состав арифметическо-ло- гического устройства вводят параллельный умножитель, выпол¬ няющий умножение за время, сравнимое со временем сложения (см., например, реализацию специализированных сигнальных микропроцессоров Intel-2920, pPD-7720, TMS-320 и др. [40]). В этом случае алгоритм ЦДС можно записать следующим об¬ разом (синтаксическую конструкцию организации циклов типа «ДЛЯ каждого значения индексной переменной i ОТ 1 до / С ШАГОМ 1 ВЫПОЛНИТЬ ПОСЛЕДОВАТЕЛЬНО груп¬ пу операторов до слова КОНЕЦ» будем записывать как Vf = 1, I: ... конец;): Vz=iT7j_ V/ = l, 7: S := 0; = M: s := S + Д--/П, j-nWmn> конец; конец; конец; конец. 64
s) S 41, Структура последовательного процессора двухмерной сверткмз ^’запоминающее устройство ЗУ видеокадра и контроллер С; б — процессор Предположим, что имеется ЗУ для хранения видеокадра в виде матрицы размером I\J элементов, каждый из которых представляет собой слово длиной Q бит. Предположим также, что ЗУ имеет контроллер, обеспечиваю¬ щий выборку данных в соответствии с организацией циклов по переменным z, /, m, п. В этом случае основой последовательного процессора сверт¬ ки является арифметическо-логическое устройство, представ¬ ляющее собой умножитель-накопитель, т. е. устройство, реа¬ лизующее операцию SSDW как операцию умножения Q- и P-разрядных чисел, порождающую (Q + Р)-разрядное про¬ изведение, и операцию сложения /^-разрядной переменной S и произведения DW (рис. 4.1,6). Подобные процессоры выполняют ЦДС за время Г = /7(2^ + 1)(2АЛ + 1)(/х + /ч-), где — время умножения. Для уменьшения времени выполнения свертки используют различные методы параллельной обработки данных [60]. Не¬ которые методы рассмотрены в следующих параграфах. 4.1. ПАРАЛЛЕЛЬНОЕ ВЫЧИСЛЕНИЕ ПО ГРУППАМ ЭЛЕМЕНТОВ ИЗОБРАЖЕНИЯ Для обозначения параллельного выполнения несколь¬ ких операторов можно использовать фигурные скобки; < оператор 1; оператор 2; ч оператор N. В тех случаях, когда операторы различаются только значе¬ нием индексной переменной, будем использовать индексную 3 Очин Е. Ф, 65
звездочку. Например, вместо будем записывать Л*:= 0, если ранее была определена область значений индексной переменной. Представим двухмерную свертку (4.1) в виде суммы одно> мерных сверток строк изображения и соответствующих строк ядра свертки: W *<={-< М). Для увеличения быстродействия будем вычислять одномер¬ ные свертки S'ljni параллельно. Для этого в состав процессора двухмерной свертки введем (2/И4-1) процессоров одномерной свертки, на выходе которых установим (2М + 1)-входовый сум-- матор (рис. 4.2). Для обеспечения одновременного доступа к элементам ЗУ Di-*, j-n в состав ЗУ вводят буферное ЗУ, обес¬ печивающее хранение (2Л4-{-1) текущих строк изображения, ввод элементов очередной строки и параллельный вывод (2М 4-1) элементов столбца буферного ЗУ. Таким образом, ал¬ горитм работы такого процессора можно записать следующим Рис. 4.2. Представление процессора двухмерной свертки в виде параллельной структуры, состоящей из процессоров одномерной свертки 66
образом: VZ= 177: V/=i, /: s: := 0; V/I = - #; N : конец; S:=0; Vm = — M, M: S-=S + S'm-, конец; £);;.:=S; конец; конец. Выполнение циклов по переменным т и п можно организо¬ вать параллельно. Для этого в состав процессора включаются 2М + 1 регистров задержки перед входами сумматора. Особен¬ но удобно реализовать параллелизм такого рода при М = N и /х= t+, В этом случае время свертки уменьшается приблизи¬ тельно в два раза. Для дальнейшего увеличения быстродействия введем в со¬ став процессора L = (2М + 1) (2N + 1) умножителей и один сумматор, имеющий L входов. В этом случае алгоритм ЦДС можно представить следующим образом: М N 5:= Е X Rmn> т= — \[ n=—N конец; конец. Если сумматор S организовать в виде древовидной сети сум- маторов, подобной сети сумматоров в процессе скалярных про¬ изведений [79, 87], то эта сеть будет иметь flog2Ll уровней и время выполнения ЦДС станет равным T = /x + flog2LV+. Для повышения быстродействия можно организовать парал¬ лельную работу умножителей и всех уровней дерева руммато< з* 67
ров в конвейерном режиме: . W • лг конец; конец. Для организации такого режима выполнения НДС необхо¬ димо после каждого умножителя и каждого двухвходового сум- матора на каждом уровне древовидной сети сумматоров ис¬ пользовать конвейерные регистры. Быстродействие конвейер¬ ного процессора ЦДС достигает значения Г = /г + МАХ(/х, /+), (4.6) где tr — время записи данных в конвейерный регистр. На рис. 4.3 изображена схема конвейерного процессора ЦДТС [И5] с размером ядра 3X3. После начальной загрузки реги¬ стров весовых коэффициентов W тп) загрузки сдвигающих и кон¬ вейерных регистров в каждом такте вводится один элемент изображения и выводится один элемент свертки. Структура древовидного процессора скалярных произведе¬ ний (ПСП) была использована в процессоре ЦДС с ядром раз- Рис. 4.3. Структура древовидного свертки с ядром размером 3X3:^ конвейерного процессора двухмерной а —линия задержки (ЛЗ); б —процес¬ сорный элемент (ПЭ)\ в — процессор свертки 68
мером 3X3. Процессор ЦДС разработан для системы техниче* ского зрения роботов [60] и работает в темпе телевизионной развертки — изображение размером 256X256 элементов обра¬ батывается за 16,7 мс. В составе дисплейной системы для обработки изображений [60] используется матричный процессор, который выполняет свертку с ядром размером 3X3. Процессор состоит из девяти .умножителей, выходы которых соединены с многовходовой схе¬ мой суммирования. Для выполнения ЦДС с ядрами больших размеров в данной дисплейной системе выполняется итератив¬ ная обработка изображения. Свертка изображения отсчетов размером 512X512 с ядром размером 51X51 выполняется за 5/6 с. В работе [79] предложена структурная схема древовидного процессора с возможностью расширения. Процессор состоит из К умножителей и дерева сумматоров с К + 1 входами, один из которых является входом расширения. Процессор [60] для обработки изображений ISP (микросхе¬ ма Ht)-6184) выполняет двухмерную свертку черно-белых изо¬ бражений промышленного телевидения (размером 256X256 отсчетов по восемь разрядов). Структурная схема ISP приве¬ дена на рис. 4.4, а, а принцип использования ISP для выполне¬ ния ЦДС иллюстрируется на рис. 4.4,6. В состав ISP входят следующие блоки: блок данных, состоящий из четырех сдвиговых регистров входных отсчетов; блок памяти, состоящий из четырех двухпортовых ОЗУ ве¬ совых коэффициентов емкостью 16 слов по восемь разрядов; процессорный блок, состоящий из четырех процессорных элементов, каждый из которых включает 8-разрядное АЛУ и 8-разрядный умножитель; блок связи, который состоит из двух АЛУ, выполняющих обработку результатов с выходов процессорных элементов и расширяющего входа ISP; блок оценки, предназначенный для выполнения опера¬ ции бинаризации изображения; блок управления. В процессорном блоке и блоке связи организован конвейер, состоящий из четырех функциональных ступеней, две из кото¬ рых— в процессорном блоке и две — в блоке связи. Функция каждой ступени конвейера определяется независимо от других ступеней в соответствии с состоянием разрядов регистров блока управления. Для выполнения свертки АЛУ процессорных эле¬ ментов настраиваются на передачу умножителям входных от¬ счетов из блока данных и весовых коэффициентов из блока па¬ мяти, а АЛУ блока связи выполняют суммирование произведе¬ ний, поступающих с выходов умножителей, а также числа, поступающего с расширяющего входа блока связи. Для выпол- 69
Рис. 4.4. Структура ISP (а), использование ISP для выполнения ЦДС (о) 1 — блок данных; 2 —сдвиговый регистр; 3 — блок памяти; 4 — процессорный блок; 5 — про¬ цессорный элемент; 6 — АЛУ; 7 — умножитель; 8 — блок связи; 9 — блок управления; 10 — блок оценки; 11—-вход элементов изображения; 12 — линия задержки на строку изображе¬ ния; 13—выход результатов нения двухмерной свертки (с ядром размером 4X4, рис 4.4,6) используется группа ISP. При этом на входы данных ISP по¬ ступают столбцы фрагмента изображения, которые формируют¬ ся из последовательности отсчетов с помощью группы цифро¬ вых задержек, а входы и выходы блоков связи ISP объеди¬ няются в вычислительный конвейер суммирования результатов. БИС ISP выполнены по КМОП-технологии с использова¬ нием элементов размером 3 мкм. Микросхема содержит около 61 тысячи транзисторов на кристалле размером 7,72X 8,64 мм2 и размещается в корпусе с 64 выводами. Потребляемая мощ¬ ность составляет около 400 мВт. Микросхема рассчитана на ра¬ боту с частотой 6 МГц, т. е. с периодом 167 нс на один элемент изображения и свертки. Для выполнения ЦДС с ядром большого 70
размера можно объединить значительное число микросхем ISP. .Так, для выполнения двухмерной свертки с ядром размером 16 X 16 можно использовать 64 микросхемы ISP, а общая про¬ изводительность такой системы составляет 4600 млн. операций/с. 4.2. ПАРАЛЛЕЛЬНОЕ ВЫЧИСЛЕНИЕ ПО ГРУППАМ РАЗРЯДОВ (РАЗРЯДНЫМ СРЕЗАМ) ИЗОБРАЖЕНИЯ Параллельное вычисление ЦДС по группам разрядов изображения основано на представлении операций умножения отсчетов изображения и весовых коэффициентов суммами про¬ изведений их разрядов [80, 85, 117]. Рассмотрим метод на примере одномерной свертки последо¬ вательностей Q-разрядныхнеотрицательных целых чисел {Ат, т~ *=-М, М) и {Xit i=\?T} м Yt= £ АтХ^т, (4.7) т =—М ГДе Q I Q 1 = Ё amq2\ amq (0, 1); Хг = Ё xtr2r, xir <= (0, 1). (4.8) 4=0 r=0 Подставляя (4.8) в (4.7), получаем М Q-1 Q-1 Yi= Е Е amq24^ Xi_m,r2r т = — М q=Q r=0 ИЛИ Q-1 м Q —1 Yi = 'E E E amqxi-m, r2'7+r. (4.9) r=0 m= — M q=0 Различные алгоритмы вычисления свертки определяются способом формирования промежуточных результатов и поряд¬ ком их суммирования. Для вычисления свертки широко применяется метод распре¬ деленной арифметики [85], основанный на представлении (4.9) в виде О-1 -1 м Yi = Z Е Е amqXi_m,r. (4.10) г=0 <7=0 т*=—М После суммирования (4.10) по q получим выражение Q-1 м Yi = Z2r Е Amx{_mtr, (4.11) г=0 в котором каждая сумма по т есть свертка последовательности 2М 4- 1 весовых коэффициентов Ат с последовательностью бит, сформированной из r-х разрядов 2М -|- 1 отсчетов Х,_т (т. е. r-м разрядным срезом отсчетов). Индекс г определяет разряд¬ ный срез, а также значение коэффициента 2Г; умножение 71
выполняется посредством сдвига частичного результата на г раз¬ рядов. Отметим распределение операций свертки (суммирова¬ ние по т) среди операций вычисления произведений АХ (сум¬ мирование по г), которое и дало название методу. Наиболее широко применяется метод распределенной ариф¬ метики с записью предварительно вычисленных частичных ре¬ зультатов в ЗУ. В процессе вычисления свертки значения про¬ межуточных результатов (сумм по т для каждого значения индекс г) выбираются из ЗУ по адресу, определяемому значе¬ ниями разрядов а выражение (4.11) преобразуется: г = 0 (4.12) где Функция f является табличной функцией 2М 1 двоичных переменных и объем ЗУ для хранения значений f составляет 22Л1+1 ячеек. Разрядность ячеек ЗУ и разрядность сумматоров определяется разрядностью сумм положительных и отрицатель¬ ных коэффициентов ядра свертки. Если совокупность 2М + 1 отсчетов разделить на S блоков {каждый блок содержит Р = (2М + 1)/5 отсчетов) и выполнить вычисления (4.12) отдельно для каждого блока, то выражение (4.12) преобразуется так: Q-i ~ * 0-1 S-1 Р-1 r«0 fe = O р=0 Q-1 S-1 где р-1 ft(z0, z1( . ..,zp-i)=L А^м+kP+pZp, zp<={0, 1}. (4.13) В этом случае используется S блоков ЗУ, общий объем ко¬ торых составляет S2P С 22м+1 ячеек. Во всех блоках ЗУ запи¬ саны значения частичных результатов, которые необходимо просуммировать. Дальнейшее уменьшение объема ЗУ достигается в резуль¬ тате объединения весовых коэффициентов одинаковой разряд¬ ности, так как для коэффициентов с меньшей разрядностью можно уменьшить разрядность соответствующих ЗУ и суммато¬ ров [117], 72
В соответствии с другой модификацией алгоритма (4.12) разряды каждого из отсчетов разбиваются на группы по L раз¬ рядов: L-l Q/L-1 Л1 Q/L-1 £-1 У'=2 Ё Ё AmXi-m,r+kL^ £ 2*l£2'X r=0 fe=0 m=~ M &=0 r°0 M X AtnXi-m, r+kL = m = - M Q/L-l = Ё Xi + M, kLXi + M,\ + kL ... Xi+M, (fc+1) L-l Xl+M-1, kLXi + M-1, 1 + kL ... Xi+M-1, (fc+1) L-l Xi-Mt kLXi-M, i-ykL . . . X[-M, (JHD L-l где fk Zm, qZm, 1 . . . Zm, L-l ZM-I.qZM-1,1 ... ZM-l,L-l Z_M, qZ-M. 1 . . . Z-M, L-l Z-mr^{0f 1). (4.14) При вычислении свертки в соответствии с (4.14) объем ЗУ увеличивается до 22Л2+1 ячеек, а вычисление результата уско¬ ряется в L раз по сравнению с (4.12). При комбинировании алгоритмов (4.13) и (4.14), т. е. при одновременном выделении блоков отсчетов и групп разрядов, необходимо использовать S блоков ЗУ с общей емкостью S2(2M+1)L/s ячеек и выполнить дополнительные операции сумми¬ рования для объединения промежуточных результатов из всех блоков ЗУ. Вычисление свертки ускоряется в L раз по сравне¬ нию с (4.13). При выполнении параллельной выборки частичных резуль¬ татов из ЗУ быстродействие увеличивается в Q раз. При этом необходимо использовать Q блоков ЗУ и Q-входовый сумматор. Подобным образом можно параллельно вычислить (4.13) и .(4.14). Таким образом, выбирая размерности блоков отсчетов и групп разрядов отсчетов и используя последовательную или па¬ раллельную выборку частичных результатов из ЗУ, можно по¬ лучить множество вариантов структур процессоров цифровой свертки на основе метода распределений арифметики. В программируемом элементе для обработки изображения PIPE [60] выполняется последовательно-параллельное вычис¬ ление свертки в соответствии с формулой (4.12). Устройство PIPE (рис. 4.5) выполняет ЦДС с ядром разме¬ ром 3X3 или 1X9 девяти элементов изображений, загружае- 73
Рис. 4.5. Структура PIPE рг — регистр; Мх — мультиплексор; РПК.— регистр преобразования кодов; МхА—мультип¬ лексор адреса; С А— сдвигатель-аккумулятор; РгР— регистр результата; БУ— блок управле¬ ния; ВРЗ ■— вход выбора режима загрузки; ГР —выход сигнала готовности результата; СЯ —синхроимпульс; РЕ — режим программирования ЗУ мых во входные регистры. Одноименные разряды девяти эле¬ ментов (разрядный срез) с выходов регистров образуют девяти¬ разрядный адрес, по которому из ЗУ частичных результатов считывается 12-разрядный код суммы соответствующих весовых коэффициентов. Последовательно считываемые коды сумм весо¬ вых коэффициентов суммируются в сдвигателе-аккумуляторе с соответствующим сдвигом и 20-разрядный результат пере¬ дается в регистр. Устройство PIPE выполнено в виде БИС на основе я-МОП технологии. При размерах элементов 5 мкм площадь кристалла доставила около 42 мм2, а потребляемая мощность — 600 мВт. При времени выборки данных, равном 100 нс, максимальная .частота формирования результатов свертки составит 1,25 МГц Для 8-разрядных элементов и 1,67 МГц для ,6-разрядных эле< 74
ментов. Для обработки телевизионных изображений с частотой 10 МГц можно использовать параллельное включение восьми БИС. При этом входные элементы изображения передаются на восемь БИС, включенных параллельно, а результаты с их три- стабильных выходов поступают в общую шину. Процессоры свертки типа PIPE, использующие метод распре¬ деленной арифметики, можно эффективно использовать для предварительной обработки изображений при реализации «ар¬ хитектур фокальной плоскости» — специализированных процес¬ соров для обработки изображения непосредственно после его получения, например, процессора, встроенного в видеокамеру. Специализированный процессор [60], реализующий последо¬ вательно-параллельное вычисление свертки в соответствии с формулой (4.13), включает Р групп сдвиговых регистров входных данных (по S или S — 1 регистров в группе, SP 2М + 1), выходы последовательного кода регистров через Р, соответствующих мультиплексоров соединены с входами ЗУ, ЗУ состоит из блоков, каждый из которых имеет объем 2Р (или 2Р~1) ячеек. В каждом такте из очередного блока ЗУ считы¬ вается сумма весовых коэффициентов, соответствующая раз¬ рядному срезу, поданному через мультиплексоры. Эти проме¬ жуточные результаты накапливаются в регистре-аккумуляторе. После окончания каждого из циклов счетчика входные данные и содержимое регистра-аккумулятора сдвигаются на один раз¬ ряд. В процессоре ЗУ разделено на два блока, адреса которых определяются соответствующими группами разрядов среза, Промежуточные результаты параллельно считываются из бло¬ ков ЗУ и суммируются, а результат поступает на сумматор- сдвигатель, где накапливается результат свертки. В процессоре ЦДС с параллельным вычислением свертки по разрядным срезам [60] выполняется параллельная выборка промежуточных результатов на Q' блоков ЗУ. Элементы фраг¬ мента обрабатываемого изображения размером L = (2М -f-J —Н 1) (2tV-H 1) отображаются по строкам или столбцам в одно¬ мерную последовательность элементов. Разрядные срезы этих элементов образуют L-разрядные адреса блоков ЗУ. Для сум¬ мирования промежуточных результатов, выбранных из блоков ЗУ, используется древовидная конвейерная сеть сумматоров с Q' входами. Умножение частичных результатов на 2Г выпол¬ няется с помощью сдвига на г разрядов в сторону старших разрядов при коммутации выходов ЗУ с входами сумматоров. Использование оперативных ЗУ для хранения таблиц частичных результатов позволяет оперативно изменять значения весовых коэффициентов ядра ЦДС, например, во время обратного хода ТВ развертки. Емкость каждого из Q' ЗУ составляет 2L ячеек. ЦДС с яд¬ ром большого размера можно заменить многократной сверткой с ядром размером 3X3. При 8-разрядных входных отсчетах и 75
8-разрядных промежуточных результатах для реализации про¬ цессора ЦДС с ядром размером 3X3 потребуется 4 Кбайт па¬ мяти (восемь блоков ЗУ со структурой 512X8 бит) и восемь 16-разрядных сумматоров. Для уменьшения объема ЗУ при реализации ЦДС с ядром большого размера можно использовать разбиение фрагментов изображения (и, соответственно, множества весовых коэффи¬ циентов свертки) на блоки. При этом общий объем памяти co¬ ze ставляет Q' У 2£,(/г) ячеек, а число сумматоров увеличивается k=i до Q'K—1, где К — число блоков элементов изображения, р L'(k), k = 1,/С— число элементов изображения в k-м блоке. Другая группа алгоритмов ЦС с паралллельным вычисле¬ нием по группам разрядов основана на непосредственном вы¬ числении в (4.9) результатов произведений двоичных перемен¬ ных. Для вычисления свертки параллельно вычисляются произ¬ ведения amqXi-m.r, выполняется параллельное суммирование значений полученных произведений с учетом переносов между азрядами, при этом формируются два многоразрядных двойн¬ ых числа, которые затем суммируются в сумматоре с ускорен¬ ным переносом [97]. Устройство, реализующее этот алгоритм, состоит из 2А4 ф- 1 Матриц по Q'2 элементов «И», группы одноразрядных суммато¬ ров результатов поразрядных произведений и выходного сумма¬ тора с ускоренным переносом. Время вычисления результата равно т = [log2 [(2М + 1) Q'] - 2] + /с, (4.15) где — время выполнения операции «И»; t'+ — время сложения одноразрядных чисел; tc— время сложения с ускоренным пере¬ носом. Число одноразрядных сумматоров не превышает (2Л4-г 1)Q'2 — 3Q. Так, для построения устройства, реализую¬ щего операцию Y = АВ CD для 8-разрядных операндов, по¬ требуется 128 двухвходовых элементов «И», 104 одноразрядных "Сумматора и один 17-разрядный сумматор с ускоренным перено¬ сом. Время вычисления результата в этом случае составит Т = <& +(4.16) Если в устройство ввести дополнительный расширительный вход Е(Y = АВ + CD + С), то такое устройство можно ис¬ пользовать для вычисления свертки с ядром произвольного размера. Это устройство можно реализовать в виде специализи¬ рованной БИС, производительность которой при использовании биполярной технологии с тройной диффузией составит не менее 20 млн. операций/с [97]. 76
Параллельно-последовательное вычисление произведений двоичных переменных и их суммирование выполняются в квази- последовательном процессоре скалярных произведений (ПСП), в котором вычисление основано на представлении произведения модулей двух чисел в виде свертки их разрядов [87]. Несмотря на высокую тактовую частоту, такие процессоры уступают конвейерным ПСП на основе древовидной сети сум¬ маторов по отношению производительности к объему оборудо¬ вания. Суммирование таких произведений можно выполнять также с помощью счетчиков [60]. Этот алгоритм вычисления основан на представлении (4.9) в виде где Выражения Q-l Q —1 = Е Е siqr2q+r, <? = 0 г = 0 М S\qr Е ^tnq^i т = — М гпдл1 — т, г* г=0 Q-1 = Е С/ - '■) имеют одинаковую структуру: Q-1 q=0 (4.17) (4.18) (4.19 и их вычисление можно выполнить с помощью счетчиков. 4.3. ПАРАЛЛЕЛЬНОЕ ВЫЧИСЛЕНИЕ ПО ГРУППАМ ЭЛЕМЕНТОВ СВЕРТКИ Выполнение ЦДС с параллельным вычислением по группам элементов свертки позволяет использовать каждый элемент изображения одновременно для вычисления частичных значений нескольких элементов свертки и, следовательно, зна¬ чительно упростить обмен данными между процессорами сверт ки и видеопамятью. В процессоре ЦДС [11] элемент изображения умножается на 2М + 1 весовых коэффициентов, а результаты накапливаются в 2/VI + 1 сверточных суммах. При этом используется особый ме¬ тод сканирования изображения — метод сканирования по суб¬ растру. Если основное сканирование исходного изображения осуществляется в горизонтальном направлении, то субрастр со¬ ставляется из ряда коротких вертикальных строк длиной по 2М + 1 элементов изображения. Процессор ЦДС позволяет по¬ лучать очередной элемент свертки при вводе каждого суб¬ столбца из 2М + 1 элементов изображения,
Процессор выполняет ЦДС с ядром размером до 15X15 и состоит из 8-разрядного умножителя, пятнадцати 20-разрядных накапливающих сумматоров, мультиплексора, выходного реги¬ стра, ЗУ весовых коэффициентов емкостью 256 байт и конт¬ роллера. Каждый 8-разрядный элемент изображения, поступающий в процессор, последовательно умножается на весовые коэффи¬ циенты, с которыми он входит в соответствующие промежуточ¬ ные результаты. Последовательно полученные произведения поступают на накапливающие сумматоры, при этом первое про¬ изведение суммируется только с содержимым сумматора Si, вто¬ рое— только с содержимым сумматора S2, последнее произве¬ дение— с содержимым сумматора S2m+i (2/W 4- 1 15). По окончании обработки каждого субстолбца очередной элемент свертки считывается через мультиплексор из соответствующего сумматора Sm и заносится в выходной регистр. Сумматор обнуляется, и начинается обработка следующего столбца суб¬ растра. Когда очередная строка элементов свертки сформиро¬ вана, начальная точка сканирования по субрастрам переме¬ щается на один элемент вниз. Время выполнения свертки изображения размером I\J эле¬ ментов с ядром размером (2Л4 + 1)Х.(2Л/’ + 1) оценивается ве¬ личиной T = IJ(2N+ 1)/, где ^ = 20-10~6 с — период поступления элементов изображе¬ ния, определяемый скоростью сканирования. При I = J = 1024, 2Л4 +1 = 15 имеем Т » 6 мин, а при I = J = 512, 2Л1 + 1 = ;= 5Г 25 с. Полное параллельное вычисление ЦС по группам элементов свертки привело к появлению нового вида архитектур специа¬ лизированных процессоров — систолических систем (матриц). Систолические матрицы отличаются следующими особенностями [Ю9]. 1. Каждый элемент входных данных одновременно исполь¬ зуется для вычисления нескольких результатов, что позволяет достигать значительной производительности при относительно небольшом объеме операций ввода — вывода. 2. Высокая производительность достигается благодаря парал¬ лельному использованию значительного числа относительно простых процессорных элементов (ячеек). 3. В каждой систолической матрице используется несколько типов (часто один тип) ячеек. 4. Информационные и управляющие связи между ячейками систолической матрицы отличаются простотой и регулярностью. Потоки данных в систолических матрицах имеют конвейер¬ ную форму; результаты, в том числе промежуточные, и входные данные перемещаются с различными скоростями в различных 78
направлениях, взаимодействуя друг с другом в соответствующих ячейках. Использование систолических матриц для построения про* цессоров свертки позволяет реализовать модульные, наращи* ваемые структуры, обеспечивающие эффективное согласование необходимой производительности вычислений пропускной спо¬ собностью ввода (вывода). Систолические матрицы состоят из большого числа процессорных элементов для формирования вы¬ сокопроизводительного процессора. Для решения различных задач предложены одномерные и двухмерные (прямоугольные, шестиугольные, треугольные) си¬ столические матрицы. Для реализации процессоров свертки используются в основном одномерные систолические матрицы. Несколько вариантов структур систолических матриц (рис. 4.6 для 2М + 1 = 3) для выполнения одномерной свертки рассмотрены в работе [109]. Структуры на рис. 4,6, а, б отно* сятся к полусистолическим матрицам (матрицы с глобальной передачей данных), а структуры на рис. 4.6, г, д, е, ж — к систо¬ лическим матрицам (матрицы с локальной передачей данных). В структурах на рис. 4.6, а, б каждый входной отсчет поступает одновременно на все ячейки и используется для параллельного вычисления нескольких результатов. Глобальные информаци¬ онные связи позволяют повысить производительность и умень¬ шить число операций ввода — вывода, но их сложно реализовать в модульно наращиваемых структурах, так как удлинение этих линий и соответствующее увеличение электрических нагрузок приводит к удлинению такта работы процессора. Этого недо¬ статка лишены систолические матрицы с локальной передачей данных, в которых можно объединять произвольное число ячеек {структуры на рис. 4.6,г—ж). В структурах на рис. 4.6, б, г, д с накоплением промежуточ¬ ных результатов в систолических ячейках интенсивность потоков данных между ячейками меньше, чем в тех структурах, где про¬ межуточные результаты перемещаются между ячейками. Для уменьшения длительности такта (в результате совмещения опе¬ раций умножения и суммирования) можно вместо умножите¬ лей-накопителей использовать отдельные умножители и сум¬ маторы. При изготовлении групп ячеек в виде БИС более пред¬ почтительными могут оказаться полусистолические структуры, так как в соответствующих ячейках используется меньшее число выводов. Введение в структуру ячеек ЗУ для хранения весовых коэффициентов позволяет, используя систолическую шину управ¬ ления (адреса), реализовать адаптивное изменение ядра свертки. Одной из первых реализаций одномерной полусистолической матрицы высокопроизводительного процессора свертки является микросхема TDC 1028 [60]. В микросхеме реализована струю»: тура одномерной матрицы с движением частичных результатов 71
а)Хг 2L Рис. 4.5. Структуры полусистолпческих (а, б, в) и систолических (г — ж) процессоров свертки и одновременным вводом входного отсчета во все ступени систо¬ лического конвейера (рис. 4.6, а). Использование биполярной схе¬ мотехники при минимальных размерах элементов 2 мкм позволи¬ ло разместить в одном корпусе микросхемы восемь ступеней си¬ столического конвейера при 4-разрядных весовых коэффициентах и входных отсчетах и 13-разрядном формате результатов. Мак¬ симальная тактовая частота микросхемы составляет 20 МГц. Структура TDC 1028 позволяет непосредственно объединять .W
микросхемы для увеличения размера ядра свертки, а при ис¬ пользовании дополнительных выходных сумматоров увеличивать разрядность входных отсчетов и весовых коэффициентов. Производительность систолического матричного процессора свертки можно повысить за счет выполнения в ступенях систо¬ лического конвейера только частичного суммирования, а полное вычисление переносов при этом выполняется специальным сум¬ матором в последней, дополнительной ступени конвейера. 4.4. СИСТОЛИЧЕСКИЕ ПРОЦЕССОРЫ СВЕРТКИ (СПС) Вычисление ЦДС с ядром размером L = (2M-|-1)X X(2;V+1) может быть реализовано непосредственно с по¬ мощью одномерной систолической матрицы, состоящей из L ячеек как одномерная свертка с ядром, которое является по¬ следовательностью L весовых коэффициентов. При этом входное изображение подается на вход систолической матрицы столб¬ цами по 2Л1 4- 1 элементов, а на выходе матрицы формируется строка элементов свертки. При таком подходе каждая ячейка систолической матрицы выполняет полезные вычисления лишь в одном из 2/VI 4- 1 так¬ тов. При обеспечении полной полезной загрузки ячеек можно одновременно формировать 27И 4- 1 строк элементов свертки. При этом через ячейки транслируются 2А1 4" 1 потоков элемен¬ тов изображения, и в каждой ячейке обеспечивается выбор эле¬ мента очередного потока. Потоки элементов изображения фор¬ мируются со сдвигом по столбцам и строкам, что обеспечивает наличие в каждой ячейке среди 2А4 4“ 1 элементов изображения не более двух различных (Ог/ и /-1), а это позволяет использовать лишь два потока элементов изображения. В каждой ячейке такой систолической матрицы в каждом такте выбирается элемент изображения одного из двух пото¬ ков. Если один из потоков составлен из Dij с нечетными / (не¬ четных столбцов по 47И 4- 1 элементов), а другой — из Dij с чет¬ ными /, процедура выбора Dij упрощается: ячейка должна по очереди использовать каждый поток элементов изображения в течение 2М 4- 1 тактов. Для выполнения трехмерной свертки с ядром, размером (2L + 1)Х(2Л4 4-1)Х(^+1) можно использовать одномер¬ ную систолическую матрицу, состоящую из (2L 4- 1) (2М + 1)Х X(2/V4“l) ячеек, в которых используются четыре потока эле¬ ментов изображения. Обрабатываемое изображение вводится в систолическую матрицу фрагментами по (4L 4“ 1)Х(4Л4 4-1) элементов, а результаты формируются в виде фрагментов раз¬ мером (2L 4- 1)Х (2Л4 4- 1)- Выбор очередного элемента одного из четырех входных потоков выполняется в каждой ячейке по следующему алгоритму: каждый входной поток используется в течение (2L+J) тактов, а затем ячейка переключается 81
на другой поток в следующем порядке: 1, 2, 1, 3, 4, 3, 1, 2, I и т. д. В СПС [99, 108] для обработки сигналов и изображений используется структура одномерной систолической матрицы с накоплением результатов в модифицированных ячейках (рис. 4.6,5). Реализация систолических ячеек на микросхемах среднего и большого уровня интеграции позволила ввести в со¬ став каждой ячейки ЗУ емкостью 1024 X 16 бит, в которое при выполнении свертки записываются весовые коэффициенты. В каж¬ дой ячейке имеется также ЗУ управления емкостью 1024 X X 4 бит, содержимое которого используется для управления ре¬ жимом работы умножителя-накопителя. В процессоре исполь¬ зуется единый для всех ячеек блок формирования адресов ЗУ, с выхода которого коды адресов A(t) распространяются вдоль систолической матрицы по систолическому конвейеру, образо¬ ванному регистрами адреса ЗУ ячеек. Другие систолические конвейеры объединяют регистры входных данных и регистры результатов ячеек матрицы. При вычислении ЦДС L = (2М + 1) (2W 4- 1) весовых ко¬ эффициентов загружаются в ячейки ЗУ по столбцам ядра сверт¬ ки по первым адресам ЗУ каждой систолической ячейки со сдви¬ гом на 2М + 1 адресов (по модулю L между соседними систо¬ лическими ячейками). При этом весовой коэффициент помещается по адресу 1 в ЗУ первой систолической ячейки, а адреса ЗУ ячеек формируются по принципу модульного счет¬ чика. Адреса и входные данные перемещаются в каждом такте на одну ячейку. При входе в систолический процессор по столбцам элементов 2Л4 + 1 строк изображения в первой ячейке систоли¬ ческой матрицы вычисляются первый, (2М + 2)-й, (2(2М+1) + + 1)-й и так далее элементы строки результата, во второй ячейке вычисляются второй, (2?/ + 3)-й, (2(22V + 1) + 2)-й и так далее элементы свертки. Если систолическая матрица состоит менее чем из (2N + 1) ячеек, то для вычисления полной строки элементов свертки необходимо несколько раз ввести элементы изображения в систолическую матрицу. Для вычисления второй строки элементов свертки в систолическую матрицу вводятся по столбцам элементы 2М + 1 строк входного изображения, начиная со второй, и т. д. Этот систолический процессор выполнен в виде перифе¬ рийного процессора для ЭВМ VAX-11/780. Обмен данными И командами между базовой ЭВМ и систолическим процессором осуществляется через интерфейс ввода — вывода, функциони¬ рование систолического процессора поддерживается специаль¬ ным программным обеспечением, с помощью которого осуще¬ ствляется подготовка и управление процессором вычисления [99, 108] < 82
Таблица 4.1 Производительность комплекса систолический процессор — ЭВМ VAX-11/780 при выполнении ЦДС (размер изображения 128 X128 элементов, 8-разрядные элементы изображения, весовые коэффициенты и результаты свертки) Время выполнения операции Эффективная производи¬ Размер ядра ЦДС, мс тельность, млн. операций/с 5X5 10,6 72 9X9 20,6 113 15X15 53,4 110 19X19 66,5 131 31X31 155,0 113 В табл. 4.1 приведены данные по производительности систо¬ лического процессора при выполнении ЦДС с ядрами различ¬ ных размеров. Систолический процессор содержит систоличе¬ скую матрицу, состоящую из двадцати ячеек, каждая из кото¬ рых за 200 нс выполняет умножение 16-разрядных операндов и накопление 42-разрядного результата, что соответствует про¬ изводительности 10 млн. операций/с. Таким образом, макси¬ мальная возможная производительность систолической матрицы, состоящей из 20 ячеек, равна 200 млн. операций/с. Время вы¬ полнения операции ЦДС включает в себя также время загрузки весовых коэффициентов и передачи исходного изображения и результатов свертки между систолическим процессором и базо¬ вой ЭВМ. Эффективная производительность рассчитана путем деления общего числа операций умножения и сложения, выпол¬ няемых при двухмерной свертке, на суммарное время выполне¬ ния свертки. Максимум производительности достигается для ЦДС с яд¬ ром размером 19 X 19, так как размер ядра наиболее близко соответствует числу ячеек (20 ячеек). При вычислении ЦДС с ядром размером 5X5 используется 20 ячеек для одновремен¬ ного вычисления четырех строк элементов свертки, а при ядре размером 9X9 для одновременного вычисления двух строк ре¬ зультата используются 18 ячеек. ' " , ’ •’ Дальнейшее повышение производительности систолического процессора, а также более рациональное использование площади полупроводникового кристалла при реализации систолического процессора в виде БИС достигается при использовании систо¬ лических ячеек, в которых реализован конвейерный принцип вы¬ полнения арифметических операций [105]. Структурная схема ячейки такого типа показана на рис. 4.7, а. Здесь V — число ступеней конвейера умножителя ’(У = 0 соответствует комбинационному умножителю, V=1—■ комбинационному умножителю с входными регистрами, V = 2—• умножителю с двумя ступенями конвейерных регистров и т, д.); 83
a) Wt г z—^Регистр Yi S1 • • • ^7 Сумматоп Si s2 • ♦ • Sv Умножитель s2 ... S) Регистр сдвиги Рис. 4.7. Структура систолической ячейки, в которой реализован конвейер¬ ный принцип выполнения арифметических операций (а); структура систоли¬ ческой матрицы для выполнения ЦДС (<5) А — число ступеней конвейера сумматора; — число ступеней регистра сдвига. Для выполнения одномерной свертки в систолической мат¬ рице, составленной из таких ячеек, число ступеней регистра сдвига должно на единицу превышать число ступеней сумма¬ тора, т. е. Я = А 1, а число ступеней умножителя может быть произвольным. Весовые коэффициенты загружаются в соответ¬ ствующие регистры ячеек по шине таким образом, что в первую ячейку записывается W-м, во вторую— W_m+i и т. д. Если С > > 2М + 1 (С — число ячеек в систолической матрице), то в С — (2М + 1) последних ячеек записываются нулевые коэффи¬ циенты. Двухмерную свертку (4.1) можно рассматривать как одно¬ мерную свертку последовательности элементов изображения £)* = Z)u, D2*, ..., D}^ где Di* = D.\, Di2l ..., Du, являющейся конкатенацией строк изображения, с ядром W' = W_m*, 0, ,.. О, IV'-AH-l, 0, ..., О, где W т* = VP щ, —Л/, W т, —.V4-1, ... №тдг, являющимся конкатенацией строк двухмерного ядра, между которыми добавлены группы по / — 2N— 1 нулевых эле¬ 84
ментов. Таким образом, ЦДС изображения X с ядром IF можно вычислить с помощью систолической матрицы, в ячейки которой загружены весовые коэффициенты ядра W', а на вход поступает последовательность элементов изображения D*. Ячейка с нулевым весовым коэффициентом не изменяет зна¬ чения результатов, а лишь вызывает задержку потока резуль¬ татов на А тактов и задержку потока входных отсчетов D на А + 1 тактов. Значение результата не изменится, а время его вычисления уменьшится, если заменить в такой ячейке задерж¬ ку потока Y на нулевую задержку потока X. Такая вырожден¬ ная ячейка k может быть «поглощена» в ячейку k—1 посред¬ ством увеличения числа ступеней регистра сдвига ячейки k—1 до А -ф 2. При использовании такой настройки в ячейки систолической матрицы записываются только ненулевые весовые коэффициен¬ ты. При этом число ступеней регистра сдвига в ячейке k равно Rk ~ А “И 1 + k = 1, q — 1, где zk — число нулевых весовых коэффициентов между коэффи¬ циентами, записанными в ячейках k и £+1; q — число нену¬ левых весовых коэффициентов в ядре свертки. Если величина Rk превышает максимальную длину регистра сдвига ячейки k, можно использовать между ячейками k и A-j-l дополнительную ячейку k', в которую записывается нулевой ве¬ совой коэффициент, при этом должно выполняться равенство Rk + Rk' — 2Л + 1 + Zk- Структура систолической матрицы (при А = 2, V = 4) для выполнения двухмерной свертки изображения (/ = 5, J = 4) с ядром размером 3X2 показана на рис. 4.7,6. Такой способ реализации вычисления ЦДС как одномерной свертки можно обобщить и на и-мерпую свертку. Так, для трех¬ мерной свертки одномерная последовательность отсчетов форми¬ руется как конкатенация строк первой плоскости трехмерного сигнала, затем строк второй плоскости и т. д. Одномерное ядро формируется как конкатенация строк первой плоскости трех¬ мерного ядра, разделенных группами нулей, за которой следует группа нулей, покрывающая остальную часть первой плоскости трехмерного сигнала, затем строки второй плоскости трехмер¬ ного ядра и т. д. Другие способы организации процессоров ЦДС основаны на объединении в двухмерную структуру 2М + 1 одномерных си¬ столических матриц, каждая из которых реализует операцию одномерной свертки строки изображения с соответствующей строкой ядра весовых коэффициентов. При этом структуры про¬ цессоров приближаются к структуре алгоритма ЦДС, что поз¬ воляет использовать более простые систолические ячейки и схе- 85
Результат му управления по сравнению с процессором ЦДС на основе единой систолической матрицы. Систолический процессор ЦДС [ПО] состоит из 2М + 1 од¬ номерных систолических матриц, выходы которых объединяются с помощью ячейки суммирования результатов. В каждой одно¬ мерной систолической матрице вычисляется одномерная свертка строки изображения с соответствующей строкой ядра весовых коэффициентов. Результаты одномерных сверток суммируются с помощью ячейки суммирования результатов, на выходе ко¬ торой формируются результаты ЦДС. Предложена структура процессора свертки [110], которая включает в себя три систолических процессора свертки с ядром размером 3X3, связанных между собой потоками входных дан¬ ных (рис. 4.8). На входы схемы поступают элементы пяти строк изображения. Точками обозначены задержки, с помощью кото¬ рых обеспечивается синхронизация движения элементов столб¬ цов изображения. Эти задержки могут быть также реализованы вводом соответствующих строк элементов изображения с отно¬ сительным запаздыванием. Каждый систолический процессор состоит из девяти систо¬ лических ячеек (см. рис. 4.6, ж) и ячейки суммирования резуль¬ тата. В такте, следующем за вводом элемента изображения Dtj в верхнюю правую ячейку систолического процессора, на выходе систолического процессора формируется результат ЦДС фраг¬ мента изображения размером 3X3, в котором элемент Dij за¬ нимает левую верхнюю позицию. Таким образом, при вводе в интегральную схему (ИС) элементов пяти строк изображения формируются три строки элементов свертки и для выполнения ЦДС каждый элемент изображения поступает в процессор не более двух раз. С целью уменьшения числа выводов ИС для представления элементов изображения и элементов свертки используется по¬ следовательный код. Элементы изображения имеют восемь раз¬ рядов, элементы свертки — 16. Весовые коэффициенты загру¬ жаются в систолические ячейки до начала вычисления, и для упрощения схемы умножителя их значения ограничены множе¬ ством {0, ±1, ±2, ±4, ±8, ±16}, Для ввода весовых коэффи- 86
циентов и элементов изображения используются одни и те же выводы ИС. Длительность такта работы процессора не превышает 175 не и состоит из 16 микротактов. В каждом такте в процессор вво¬ дится столбец элементов изображения и выводится элемент свертки. В каждой систолической ячейке для хранения входных от¬ счетов используются два восьмиразрядных регистра сдвига. В первой половине каждого такта разряды элемента изображе¬ ния поступают одновременно в первый регистр сдвига и в умно¬ житель, разряды элемента изображения из первого регистра сдвига переписываются во второй регистр сдвига, а. разряды элемента изображения из второго регистра передаются в сле¬ дующую систолическую ячейку. Во второй половине такта вы¬ полняется циклический сдвиг данных в регистрах сдвига. Умножение на весовой коэффициент, равный 2", выполняется посредством операции сдвига на п разрядов. Так как передача данных через сдвигатель и последовательный сумматор зани¬ мает один микротакт, для синхронизации поступления элемен¬ тов свертки и изображения на следующую систолическую ячей¬ ку используется 15-разрядный регистр сдвига. В ячейке суммирования результатов вычисляется сумма про¬ межуточных результатов, поступающих с выходов трех одно¬ мерных систолических матриц и кода, поступающего с допол¬ нительного входа 7)д0П« Использование этого входа позволяет накапливать результат повторных вычислений для выполнения свертки, имеющей весовые коэффициенты, отличающиеся от 2п. В тех случаях, когда коэффициенты равны 2га, на вход £>'оп по¬ дается нулевой код. В процессоре ЦДС [118] используется 2М -|- 1 одномерных полусистолических матриц с движением частичных результа¬ тов и параллельным вводом входных данных в ячейки (см. рис. 4.6, а). Выходы матриц объединяются с помощью 2М ф- 1- входового сумматора. Для увеличения производительности мож¬ но одновременно использовать несколько таких процессоров, при этом элементы некоторых строк изображения одновременно по¬ ступают на несколько одномерных систолических матриц раз¬ личных процессоров. Введение в систолические ячейки (см. рис. 4.6, а) дополни¬ тельного конвейерного регистра промежуточного результата [[118] позволяет подавать на вход систолического процессора свертки по одному элементу изображения в каждом такте и вы¬ полнять вычисление ЦДС без дополнительного сумматора. На все ячейки 2М + 1 одномерных матриц такого процессора посту¬ пают элементы изображения, принадлежащие фрагментам .Строк, состоящих из 4Л’ + 1 элементов. Результаты свертки на¬ капливаются при движении по ячейкам одной из систолических Матриц, например, слева направо, и передаются в следующую 87
матрицу, где перемещаются без изменения через 2N ячеек спра« ва налево, а в крайней левой ячейке (в которой отсутствует дот полнительный конвейерный регистр) начинают движение слева направо с дальнейшим накоплением результата. На выходе по-т следней одномерной матрицы формируются результаты ЦДС строками по 2N+ 1 элементов. Другой способ организации двухмерных структур процессо¬ ров ЦДС заключается в соединении 2М + 1 одномерных систо¬ лических матриц, реализующих операции свертки отдельных строк изображения, в «цепочку», т. е. таким образом, что выход результатов m-й (т = —М + 1, Л!) систолической матрицы со¬ единен с входом промежуточных результатов (т—1)-й матри¬ цы. На вход промежуточных результатов Л4-й систолической матрицы подается нулевой код. Столбцы элементов изображе¬ ния, поступающие на входы систолических матриц, формируются из последовательности элементов изображения, которые хра¬ нятся в буферном ЗУ, состоящем из цепочки цифровых линий задержки. Если задержка формирования результата свертки в одномерной систолической матрице составляет п тактов, то вре¬ мя задержки элементов изображения в каждой линии задержки должно составить N — п тактов, где N — число тактов обра¬ ботки одной строки изображения. В таком процессоре ЦДС по конвейерам систолических мат- . риц проходит непрерывный поток элементов свертки D', а из последовательности элементов изображения D с помощью ли¬ ний задержки формируются отдельные строки, поступающие в соответствующие систолические матрицы. Можно реализовать также такую структуру процессора ЦДС, в которой непрерыв¬ ным является поток элементов изображения Z), а линии задерж¬ ки используются для организации потока элементов свертки D'. Для реализации структур процессоров ЦДС можно исполь¬ зовать систолические последовательно-параллельные процес¬ соры одномерной свертки [114], основными элементами ко¬ торых являются последовательно-параллельные умножители (ППУ). Последовательно-параллельные умножители преобразуют последовательные строки бит входной переменной db d2, ... ..., dq, ..., dQ и входной постоянной аь а2, ..., аг, ..., aR ве¬ личин в последовательную строку бит произведения у2, ... ..., ySf ..., ys* ППУ состоит из линейной матрицы ячеек, в про¬ цессе движения по которым формируется разряд результата к(рис. 4.9, а). Движение строк бит вдоль линейной матрицы (ось г) опи¬ сывается уравнениями: ix(z, t) = Ux(z — Vxt)’, ia(z, t) = Ua(z — Vaty, iu(z, t) = Uy(z-Vyt). ee
|d|0 / 2,| |x|22 7 10 0\\y\00112233 | V=0 1/г=-2 1^=2 Z/=7 0=~l/2 U = l/2 Рис. 4.9. Структура последовательно-параллельного умножителя (а); процес¬ сора свертки (б) Здесь Vx, Vaf Vy — скорость соответствующей строки бит, т. е. число ячеек, на которое каждая строка перемещается за один такт; ix(z, t), ia^z.t), iy(z,t)—индекс строки, т. е. вес (2") разряда, который в момент времени t находится в ячейке z матрицы (индексы ix, ia и iy аналогичны индексам q, г и $); Ux, Ua, Uy — приращение индекса строки бит. Для обеспечения нормального функционирования ППУ не¬ обходимо выполнять соотношения: Uy = и а + их > 0; UyVy = UxVx = \Ua{\= 1. (4.20); (4.21) Некоторые целые и дробные значения параметров, удовлетво¬ ряющие (4.20) и (4.21), сведены в табл. 4.2. Чем сложнее дро¬ би, представляющие значения параметров V и [/, тем менее регулярно распределены элементы задержки в ППУ. Используя аналогию между операциями свертки последова¬ тельностей чисел (элементов изображения и весовых коэффи*. 8?
Таблица 4.2 Значения параметров строк бит, обеспечивающие нормальное функционирование ППУ иу vy их Vx иа иУ vy их V* +1 4-1/4 4-4 -3/4 -4/3 + 1 +3 + 1/3 +2 +1/2 +1 4-1/3 4-3 —2/3 —3/2 +1 +4 + 1/4 +3 + 1/3 4-1 4-2/5 4-5/2 —3/5 —5/3 -1 + 1/4 +4 +5/4 +4/5 4-1 4-1/2 4-2 -1/2 —2 —1 + 1/3 4-3 +4/3 +3/4 4-1 4-3/5 4-5/3 —2/5 —5/2 -1 +2/5 +5/2 +7/5 +5/7 4-1 4-2/3 4-3/2 -1/3 -3 -1 + 1/2 +2 +3/2 +2/3 4-1 4-3/4 4-4/3 — 1/4 —4 -1 +2/3 +3/2 +5/3 +3/5 4-1 4-5/4 +4/5 + 1/4 +4 -1 +3/4 +4/3 +7/4 +4/7 4-1 4-4/3 +3/4 + 1/3 +з -1 4-1 + 1 +2 + 1/2 4-1 4-3/2 +2/3 + 1/2 4"2 —1 +5/4 +4/5 +9/4 +4/9 4-1 4-5/3 +3/5 +2/3 +3/2 — 1 +3/2 +2/3 +5/2 +2/5 4-1 4-2 + 1/2 + 1 + 1 -1 +2 + 1/2 +3 + 1/3 циеитов) и умножения многоразрядных чисел (без учета пере¬ носов), можно применить методы последовательно-параллель¬ ных вычислений для выполнения свертки. Структура последова¬ тельно-параллельного процессора свертки (ПППС) аналогична структуре ППУ, при этом в ПППС используются ППУ и сдви¬ говые регистры длиной S (рис. 4.9,6). Аналогично параметрам строк бит вводятся параметры строк чисел Ua, Va, Ux, Vx, Uy> Vy, значения которых при формировании структуры ПППС вы¬ бираются из табл. 4.2. Необходимо отметить, что при этом ва¬ рианты структуры процессора свертки и ППУ можно выбирать независимо один от другого. Дальнейшим развитием концепции ПППС является програм¬ мируемый процессор свертки. В работе [114] доказано, что лю¬ бой ППУ достаточно большой длины можно использовать в ка¬ честве процессора свертки, если разместить разряды каждого весового коэффициента в группах смежных ячеек, разделенных группами (полосами) ячеек с нулевыми разрядами весовых ко¬ эффициентов. Общее число ячеек ППУ для записи одного весо¬ вого коэффициента равно числу S разрядов кода результата. Так как границы кодов весовых коэффициентов, записывае¬ мых в ячейки матрицы, и кодов элементов изображения и ре¬ зультатов, перемещающихся по матрице, в этой структуре не фиксированы, схема каждой ячейки несколько усложняется для обеспечения передачи признаков начала кодов. В программируемых ПППС для накопления результатов используется только 1/4 всех ячеек при К/S = 1/2, что связано с наличием ячеек с нулевыми разрядами весовых коэффициен¬ тов. Отказываясь от возможности программирования и реали¬ зуя процессор свертки заданной точности и размера, можно сжать структуру матрицы, исключив ячейки с нулевыми разря¬ да
дами, и соответственно увеличить эффективность использования ячеек в S/К раз, т. е. приблизительно в два раза. В таком непрограммируемом процессоре свертки потоки данных движутся по линейной матрице ячеек так же, как в про¬ граммируемом процессоре. Однако в связи с устранением ячеек с нулевыми разрядами весовых коэффициентов движение эле¬ ментов X изображения ускоряется или замедляется в зависи¬ мости от используемой структуры ПППС, т. е. от соотношения между Ua, Uу и U'x, где Ux = UXKJS — приращение индекса в ПППС, в котором исключены полосы ячеек с нулевыми разря¬ дами. В непрограммируемом процессоре приращение индекса по¬ тока X элементов изображения нужно изменить на Ux = V'x-Ua(\-KlS). (4.22) Разность между U'x и Ux согласно (4.22)' составляет вели¬ чину модификации, необходимую для правильной работы не¬ программируемого процессора. Как правило, ускорение движе¬ ния элементов изображения предпочтительно замедлению, кото¬ рое требует введения дополнительных задержек. Все три вида последовательно-параллельных процессоров являются систолическими структурами и могут быть использо¬ ваны при построении процессоров ЦДС. Таким образом, в процессорах ЦДС, реализующих параллель¬ ное вычисление по группам элементов изображения [87, 116], используется (2М 1) (2N + 1)-входовый сумматор, который выполняется в виде древовидной конвейерной сети сумматоров (линейный конвейер суммирования). Такие процессоры позво¬ ляют выполнять обработку ТВ изображений в реальном мас¬ штабе времени и хорошо реализуются на микросхемах среднего уровня интеграции. Их недостатком является необходимость па¬ раллельной передачи на вход процессора (2Л1 + 1) (2W + 1) элементов фрагмента изображения, для выполнения этой пере¬ дачи в состав таких процессоров вводятся специальные буферы. Другим недостатком является сложность наращивания древо¬ видной сети сумматоров при увеличении размеров ядра свертки. Такая модификация упрощается, если для объединения выходов отдельных древовидных сумматоров использовать суммирующий конвейер. Параллельное вычисление ЦС по группам разрядов элемен¬ тов изображения осуществляется двумя методами: методом рас¬ пределенной арифметики [85, 117] и методом, в котором ис¬ пользуется непосредственное вычисление произведений бит [87, 97]. Существующая элементная база позволяет выбирать дан¬ ные из ЗУ быстрее, чем умножать. На основе распределенной арифметики можно строить процессоры ЦДС повышенной про¬ изводительности, используя микросхемы среднего и большого уровня интеграции. К недостаткам таких процессоров можно 91
отнести значительные затраты оборудования ’(ЗУ) и необходи¬ мость формирования таблиц частичных результатов при изме¬ нении весовых коэффициентов свертки. Максимальная произво¬ дительность процессоров ЦС с непосредственным вычислением битовых произведений может быть достигнута в режиме кон¬ вейерной обработки элементов изображения, представленных в параллельном коде [97]. Для построения процессора требуются значительные аппаратурные затраты. Процессор можно реали¬ зовать при использовании специализированных БИС, которые содержат матрицы элементов «И», сумматоры pi позволяют на¬ ращивать структуру процессора ЦС при увеличении размера ядра. Сложность вычислений в конвейерном процессоре ЦС на основе счетчиков и использование последовательного кода в ква- зипоследовательном процессоре [87] ограничивают производи¬ тельность процессора. Систолические матричные процессоры [99, 105, 108—110, 114, 118] отличаются высокой производительностью вычислений и регулярностью структуры. Реализация ЦДС в одномерных си¬ столических матрицах [99, 105, 108] приводит к некоторому усложнению структуры ячеек по сравнению с одномерной ЦС, увеличению числа потоков отсчетов изображения в систоличе¬ ской матрице и усложнению алгоритма формирования потоков. В двухмерных структурах систолических процессоров ЦДС [ПО, 114, 118] используют более простые систолические ячейки. Для параллельной передачи на входы такого процессора 2444-1 элементов изображения необходимо использовать дополнитель¬ ную буферную память [НО, 114]. Представление элементов изображения в виде параллельного кода позволяет реализовать систолические процессоры ЦС как на специализированных БИС, так и на микросхемах, выпускае¬ мых серийно. При использовании последовательного кода си¬ столические матрицы выполняются в виде специализированных БИС [110, 114]. При этом обеспечивается более эффективное использование площади полупроводниковых кристаллов, чем при использовании параллельного кода. 4.5. ПОЛУСИСТОЛИЧЕСКИЕ ПРОЦЕССОРЫ СВЕРТКИ (ПСПС) Полусистолические процессоры одномерной свертки были рассмотрены в разделе 4.3 (рис. 4.6,а—в). Типичным при¬ мером реализации такой свертки является микросхема TDC 1028 (TRW), выполняющая операцию п = \ где D, W — четырехразрядные данные; А—дополнительный вход для увеличения числа весовых коэффициентов.
Рис. 4.10. Структура полусистолического процессора свертки на основе дви¬ жения промежуточных результатов W*n — ЗУ столбца весовых коэффициен¬ тов; Sn — выход сумматора-накопителя; Rn — выход процессорного элемента Если увеличить емкость ЗУ для хранения весовых коэффи¬ циентов, то процессор можно рассматривать как процессор двух¬ мерной свертки (рис. 4.10). Алгоритм работы такого процессора может быть записан следующим образом Vz = 177: Т?.:=0£_ VJ=1, Л s,d', ут= — М,М-. конец; конец; конец. В ЗУ n-го канала процессора загружается столбец матрицы W*n. Частичные суммы S* хранятся в регистрах-аккумуляторах т сумматоров-накопителей. Буферные регистры служат для хранения промежуточных результатов вычислений. Процессор¬ ные элементы (ПЭ) имеют одинаковую структуру. Цикл обра¬ ботки очередного столбца данных начинается с выдачи резуль¬ 93
тата вычислений из буферного регистра Rn во внешнее устрой¬ ство, присвоения : — 0 и передачи : = /?*. После обра¬ ботки 2М -J-;1 элементов очередного столбца данных параллель¬ но в 2N J- 1 процессорных элементах в регистрах-аккумуля¬ торах сформируются 2N промежуточных результатов и один окончательный Rn. Далее выполняется передача типа R*\ — S* и цикл повторяется при сканировании изображения в направле¬ нии индекса /. Таким образом, время вычисления одного значения свертки равно Г = (2Л1+1)[тах(/„ /х, + где ts — время чтения W из ЗУ; /х— время умножения; — время сложения; tr — время записи данных в регистр. Затраты оборудования оцениваются как Q — (2N + 1) (Qs + Qx + Q+ + Qr), где Qs — число корпусов микросхем для ЗУ; Qx— число корпу¬ сов микросхем для умножителя; Q+— число корпусов микро¬ схем для сумматора-накопителя; Qr — число корпусов микро¬ схем для регистра. Разрядность промежуточных результатов в различных ПЭ различна, но с целью упрощения изготовления, особенно при реализации в БИС, разрядность структурных элементов во всех ПЭ принимается равной разрядности результата на выходе конвейера. Поэтому Q+ и Qr одинаковы на всех ПЭ. Структура ПСПС на рис. 4.10 отличается от структуры мик¬ росхемы TDC-1028 наличием комбинационных сумматоров вме¬ сто сумматоров-накопителей. В TDC 1028 имеется ЗУ для хра¬ нения весовых коэффициентов. Структура ПСПС удобна для реализации в виде БИС, так как она регулярная, модульно-наращиваемая и в ней минимизи¬ рованы длинные связи. В структуре на рис. 4.10 можно модуль- но наращивать не только число ПЭ, но и аналогично БИС TDC-1028— число разрядов данных и весовых коэффициентов.. Кроме того, преимуществом такой структуры является возмож¬ ность адаптивной смены весовых коэффициентов в темпе работы устройства. Ввод данных в ЗУдг+i начинается после окон¬ чания загрузки данных в ЗУп. Таким образом, весовые коэффи¬ циенты новой матрицы загружаются в ЗУ весовых коэффициен¬ тов синхронно с продвижением промежуточных результатов по конвейеру, и после ввода всех весовых коэффициентов новой матрицы на выходе сформируется первый результат свертки с этой новой матрицей. Недостатком процессора являются боль¬ шие затраты оборудования из-за большой разрядности этих про¬ межуточных результатов. С целью уменьшения затрат оборудования была предложена (А. с. 1196871 СССР) модификация процессора, в котором дви- 24
Рис. 4.11. Структура полусистолического процессора свертки с движением весовых коэффициентов жение промежуточных результатов заменяется на движение весовых коэффициентов (рис. 4.11). Так как разрядность весо¬ вых коэффициентов значительно меньше разрядности частич¬ ных результатов, то это позволяет снизить затраты оборудова¬ ния по сравнению со структурой на рис. 4.10 [109]. Кроме того, такая организация вычислений позволяет использовать умножи¬ тели-накопители (УМН) вместо умножителей и сумматоров- накопителей, что также приводит к снижению затрат оборудо¬ вания и повышению степени интеграции. Аналогично структуре на рис. 4.10, структура на рис. 4.11 позволяет вести обработку с адаптивной сменой весовых коэф¬ фициентов ядра свертки. В структурах на рис. 4.10 и рис. 4.11 независимо от числа ПЭ, размещаемых в одном корпусе БИС, потребуется К информационных контактов: Д'= Q + 2Р + Q'= 2Q + 2Р + Tlog2 {(2М + 1) (2АГ + 1)}~1. Адаптивная смена весовых коэффициентов в структуре на рис. 4.11 производится следующим образом. С приходом на вход ЗУ-дг коэффициента IF-m.-w начинается ввод весовых ко¬ эффициентов новой матрицы. После ввода всех элементов этой матрицы, т. е. после прохождения новым весовым коэффициент том всех ЗУ и возвращения его на вход ЗУ_^, ввод весовых ко< эффициентов прекращается. 25
Коэффициент имеет управляющий признак (тэгу выдачи содержимого регистра-аккумулятора Z соответствую¬ щего умножителя-накопителя в регистр результата с после¬ дующим занесением нулевого значения в этот регистр Z. При поступлении на вход /г-го умножителя весового коэффициента и элемента данных / выполняются микрооперации D':=Sn\ Sn'.= Q> Далее, до повторного появления весового ко¬ эффициента накапливается сумма м Sn — Ju Di-m, j-nWmn> m = — M В результате в ПЭ параллельно вычисляются суммы S* и последовательно выдаются в выходную шину. Время вычисления одного значения свертки в структуре на рис. 4.11 такое же, что и в структуре на рис. 4.10, а затраты оборудования равны Q = (2Af+l)(Qs + Q; + Qr), где Qs, Q*, Qr—число корпусов микросхем, необходимое для ЗУ, Ку — разрядного умножителя и К^-разрядного регистра. В настоящее время умножители и умножители-накопители выпускаются в виде отдельных микросхем, т. е. Qx = Q' = 1, поэтому можно считать, что затраты оборудования в структуре на рис. 4.11 меньше, чем в структуре на рис. 4.10. Таким обра¬ зом, на основе структуры, изображенной на рис. 4.11, можно строить сравнительно простые процессоры ЦДС на стандартных МПК с временем преобразования одной точки изображения, пропорциональным (2/V4-l)^x. Так, например, при I — J = = 1024, 2Л4 + 1 = 2/V 4-1 = 15 и tx = 10—7 С время преобра¬ зования изображения составляет не более 1,5 с. Недостатком структур, подобных структуре на рис. 4.11, яв¬ ляется наличие длинной связи между ПЭ для ввода данных, ,что приводит к увеличению аппаратных затрат на усиление пере¬ даваемых сигналов. В систолических процессорах длинные связи устраняются в результате организации движения потоков вход¬ ных данных и весовых коэффициентов. Поскольку при сколь¬ зящей обработке изображений размер скользящего окна обычно не превышает 32X 32 элементов (т. е. число ПЭ процессора ЦДС обычно не более 32) и учитывая, что коэффициент раз¬ ветвления по выходу микросхем большинства серий лежит в пре¬ делах 10—30, то отмеченным выше недостатком можно прене¬ бречь. Кроме того, поскольку в структуре на рис. 4.11 движется только один поток (весовых коэффициентов), то затраты обору¬ дования в этой структуре меньше из-за отсутствия буферных ре¬ гистров для организации движения входных данных между ка¬ налами процессора ЦДС, 96
С целью экспериментальной проверки разработанных струк¬ тур процессоров в ЛИТМО был разработан и изготовлен про¬ цессор свертки типа ПСПС с движением весовых коэффициен¬ тов (рис. 4.11). Процессор выполнен в стандарте КАМАК и со¬ стоит из следующих модулей. 1. Модуль управления. Этот модуль содержит блок управле¬ ния (автомат с жесткой логикой), блок связи с магистралью КАМАК и с внешней магистралью. 2. Модуль операционного блока. Этот модуль содержит три ПЭ. Каждый ПЭ состоит из буферного регистра ЗУ весовых ко¬ эффициентов, умножителя и сумматора-накопителя. В ЗУ каждого ПЭ хранится столбец матрицы весовых коэф¬ фициентов. Умножители и сумматоры-накопители реализованы на микросхемах К1802 ВРЗ и К1804 ВС1 соответственно. Так как сумматоры-накопители имеют трехстабильные выходы и результаты вычислений выводятся из них в разные моменты времени, то их выходы объединены на общую шину. По окон¬ чании обработки очередного столбца данных содержимое одного из сумматоров-накопителей передается в блок связи с магист¬ ралью, и в накапливающий регистр этого сумматора-накопителя записывается нулевое значение. Блок управления построен таким образом, что позволяет наращивать число модулей операционного блока до пяти, т. е. менять число каналов обработки от 3 до 15 (кратно трем), ис¬ пользуя один модуль управления. При решении многих задач фильтрации изображений размерность ядра свертки обычно не превышает 9X9 элементов, поэтому типичная конфигурация процессора состоит из модуля управления и трех модулей опе¬ рационного блока. Базовый процессор состоит из модуля управ¬ ления и одного модуля операционного блока, что позволяет вы¬ полнять свертку изображений с матрицей весовых коэффициен¬ тов размером 3X3. Цикл работы операционного блока процессора состоит из трех тактов. В первом такте работы весовые коэффициенты из ЗУ выбираются на входы умножителей, а содержимое одного из сумматоров-накопителей передается на общую шину и далее в блок связи с магистралью. Во втором такте выбранные из ЗУ весовые коэффициенты записываются в буферные регистры, а также умножаются на элементы данных, поступающие из ма¬ гистрали. Одновременно с этим в накапливающий регистр сум¬ матора-накопителя, содержимое которого в первом такте было переписано в магистраль, загружается нулевое значение. В третьем такте содержимое буферных регистров переписы¬ вается в ЗУ, а к содержимому сумматоров-накопителей прибав¬ ляется результат умножения, полученный во втором такте ра¬ боты. Определение предельного быстродействия вычислительного устройства основывается на отыскании критических путей рас¬ У24 Очин Е. Ф. 97
пространения сигналов, т. е. путей, дающих наибольшую вре¬ менную задержку. Время цикла работы операционного блока равно где trs — время чтения из ЗУ; t™ — время записи в ЗУ; /х — время умножения. Таким образом, учитывая быстродействие используемой эле¬ ментной базы, получаем, что время цикла состоит из трех тактов длительностью 7\ = Т2 = Г3 = 120 нс каждый. Задержка рас¬ пространения сигналов управления не превышает 360 нс, по¬ этому цикл работы процессора равен 360 нс, т. е. входные дан¬ ные могут вводиться с частотой 2,7 МГц. Глава пятая ПРОЦЕССОРЫ ЛОКАЛЬНОЙ ЭКВАЛИЗАЦИИ ГИСТОГРАММ (ЛЭГ) 5.1. ОПРЕДЕЛЕНИЕ И ПОСЛЕДОВАТЕЛЬНЫЕ АЛГОРИТМЫ ЛЭГ Предположим, что изображение представляет собой матрицу Q-разрядных двоичных чисел без знака в интервале 10’° Q _ _ dt,Qe^\ 1}. /=!,/, /=1,/ (5.1) <7“1 и характеризуется гистограммой распределения G = 2Q уровней яркости / 7 £№/ = (}, Z = 0, (7—1. /»| (5.2) где (a = b} = 0, если a^b\ 1, если a = b. Гистограмма формируется с помощью алгоритма Я. :=- 0; Vz’ = V/=177: I ;= Ht :=^ + l; конец; конец. 98
Операция глобальной эквализации гистограммы (ГЭГ) опре¬ деляется как нелинейное табличное преобразование о;/ = 7’[2«о//]> 1=71, /=Г7, (5.3) где = /С = 0, G — 1 (5.4) z=o — таблица (/-разрядных двоичных чисел без знака в интервале [0,1). Преобразование (5.3) применяется ко всем точкам изобра¬ жения, в результате которого новое изображение \D\ харак¬ теризуется равномерной (выровненной) гистограммой распре¬ деления G' = 2Q/ уровней яркости Ht ^IJfG', Z = 0, G' — 1. Операцию ГЭГ применяют для субъективного улучшения ка¬ чества изображения. Локальная эквализация гистограмм. Преобразование ГЭГ оказывается малоэффективным, если изображение характери¬ зуется зависимостью его качества от координат изображения. Известно, что в этом случае целесообразно применять адаптив¬ ные преобразования, среди которых широкую известность полу¬ чила операция адаптивной [168] локальной эквализации гисто¬ грамм (ЛЭГ). Операция ЛЭГ определяется следующим образом [84, 94, 96, 97, 99]: 7 1 l~ (2Af + 1)(2М+ 1) 2QDtl /=-.() (5.5) где м N £ £ {2^т,)-п = = /}, Z = 0, G—1, (5.6) m«= — М т. е. для выполнения ЛЭГ в каждой точке изображения (',/) формируется локальная гистограмма Hiji распределения уров- ней яркости фрагмента изображения размером (2А1 + 1)Х X(2N4-1) с центром в точке (/,/), по которой выполняется локальное нелинейное табличное преобразование, применяемое к центральному элементу фрагмента Dij. Соответствующий ал¬ горитм можно записать следующим образом: VZ =177: V/ = 1, /: Яш:==0; \/пг = — М,М: № 99
yn = -N,H: I •== 2^£)j_rn, i—n\ Я/ :=Я/ + 1; конец; конец; К := WDti\ £)' •— ! иИ ’ (2M 4- 1) (2tf + 1) Z-0 конец; конец. Рекуррентная ЛЭГ. Время выполнения операции ЛЭГ в основном определяется временем формирования гистограммы. Оператор Hi:=Hi-\-l выполняется IJ (2М 4* 1) (2Я + 1) раз. В работе [9] предложен рекурсивный метод формирования ги¬ стограмм, основанный на сканировании (скольжении) фраг¬ мента изображения, для которого строится гистограмма в на¬ правлении одной из координат изображения (в данном случае в направление индекса /’). При таком сканировании центр фраг¬ мента переносится из точки (Z,/) в точку (f,/4-1), поэтому гистограммы (5.6) можно формировать рекуррентно: Hi, j+\, i = Нщ —НТи +Н?.1+1.1, (5.7) где Нщ — гистограмма zz-ro столбца фрагмента изображения размером (2М4-1), центральный элемент которого находится в точке (/, / 4- п). Строки 4—9 алгоритма, описывающие формирование ло¬ кальной гистограммы, можно записать следующим образом; \/tn = — М,А4: / /-лг-Г, := — 1; I '•== 2^0//+/v; Я/ :=Я/4-1; конец. Алгоритмы ЛЭГ, использующие особенности такого сканиро¬ вания, в литературе называются алгоритмами скользящей эк- вализации гистограмм (СЭГ). Данный алгоритм называется РСЭГ — алгоритм рекуррентной СЭГ. Быстродействие РСЭГ увеличилось, так как число выполненных операторов типа Hi := Ht ± 1 уменьшилось в (2N 4“ 1) /2 раз. Известны и другие алгоритмы выполнения операции СЭГ, направленные на даль¬ нейшее уменьшение времени обработки изображения [9, 12]. юо
Основным недостатком таких алгоритмов является низкое быстродействие, связанное с последовательным механизмом формирования гистограмм, что ограничивает применение парал¬ лельных методов обработки данных. Безгистограммный алгоритм ЛЭГ. Подставив (5.6) в (5.5), запишем [52] DU (2М+ 1) (2W 4- 1) X М N х £ £ £ /_„=/}= i=0 m = — М ri^—N М N (2Л1 4- П + I) £ 2 где (а Ь} = если если а > и, а^.Ь. Операция ЛЭГ, записанная в форме (5.8), не связана с фор¬ мированием гистограмм, поэтому возможно применение различ¬ ных видов параллельного выполнения этой операции. Соответ¬ ствующий алгоритм можно записать следующим образом: C:=[(2M + l)(2tf+ I)]"1; у/=ТГ7: VJ=1. /: S:=0; V«i = — М, Mt ДГ; если Di-m, j-n Du, то S:=S+1; конец; конец; ^.:=CS; конец; конец. Основой последовательного процессора, реализующего этот алгоритм, может быть арифметическо-логическое устройство, по¬ казанное на рис. 5.1. Контроллер ЗУ обеспечивает сканирование данных по переменным /, /, т, п, а также пересылку централь¬ ного элемента фрагмента Д/ в регистр /?. 101
Рис. 5.1. Структура последовательного процессора локальной эквализации гистрограмм: £>*,♦— запоминающее устройство для хранения изображения; С — контроллер ЗУ; R — регистр для хранения центрального элемента фраг¬ мента изображения; (^)—компаратор 5.2. ПАРАЛЛЕЛЬНОЕ ВЫЧИСЛЕНИЕ ПО ГРУППАМ ЭЛЕМЕНТОВ ВХОДНОГО ИЗОБРАЖЕНИЯ Представим двухмерную ЛЭГ в виде суммы одномер- ных операций: м d’„= s s;,„, <510> т = — м где s'(lm= Z £>//}. (5.11) n=°—N Для увеличения быстродействия будем вычислять S't парал¬ лельно. Соответствующий алгоритм можно записать следующим образом: У^=ТГ7: V/ = 1, J: S'. :=0; yn= — N, N: конец; м d’.i-= m= — M конец; конец. В этом случае быстродействие увеличивается приблизительно в 2М + 1 раз. Выполнение циклов по переменным т и п можно организовать параллельно, что приведет к увеличению быстро¬ действия в два раза (при М = N, t<^ = /+). Для дальнейшего увеличения быстродействия введем в со¬ став процессора (2Л4 + 1) (2N + 1) компараторов, реализующих выражение (5.9), и один сумматор, имеющий (2М 1)(2W+ О одноразрядных входов. В этом случае алгоритм ЛЭГ можно 102
Рис. 5.2. Структура древовидного конвейерного процессора локальной эква< лизации гистограмм с размером апертуры (3X3): а — процессорный эле мент; б — процессор; х— элемент задержки на один такт; (г^)—компаратор, ЛЗ — линия задержки (см. рис. 4.3, а) представить следующим образом: конец; конец. Для повышения быстродействия можно организовать парал¬ лельную работу компараторов и сумматора S в виде дерева сум¬ маторов конвейерной организации. Структура такого процессора (рис. 5.2) подобна структуре процессора ЦДС, изображенного на рис. 4.3. Быстродействие процессора не зависит от размера апертуры и определяется как T = tr + max(/c, ls), (5.12) где tr — время записи данных в конвейерный регистр; tc — вре¬ мя сравнения Q-разрядных двоичных чисел без знака; ts — время сложения Iog2 [ (2М + 1) (2N + 1) ] -разрядных двоичных чисел без знака. Во многих случаях выполняется неравенство Q > log2[(2Al + 1)(27V + 1)], (5.13) юз
поэтому можно принять, что tc > ts, и оценивать быстродей¬ ствие следующим образом: Г = /г + /с, (5.14) т. е. такой процессор может обрабатывать видеоданные с час¬ тотой ввода, равной f = /J"1- Объем оборудования пропорционален размеру окна. При больших размерах окна возникают значительные трудности, свя¬ занные с организацией связей между отдельными элементами процессора, в силу нерегулярности его структуры. 5.3. ПАРАЛЛЕЛЬНОЕ ВЫЧИСЛЕНИЕ ПО ГРУППАМ ЭЛЕМЕНТОВ ВЫХОДНОГО ИЗОБРАЖЕНИЯ Предположим, что процессор состоит из (2N+1) компараторов, реализующих выражение (5.9), (2N4-1) счет¬ чиков {Сп, п = —N, /V} и (2N+1) конвейерных регистров {Rn, п = —N, N}. С учетом введенных обозначений алгоритм ЛЭГ, записанный в § 5.2, можно преобразовать к виду У1=ТГ7: V/= 1 J: Сл. Dit f—n *= 0. R*\ = М: С* •= у Di, /_♦}; конец; R.'-C- конец; конец. Процессор, реализующий данный алгоритм, изображен на рис. 5.3 и представляет собой линейку процессорных элементов. В процессоре осуществляется движение центральных элементов Di* по верхнему конвейеру и движение частичных сумм по ниж¬ нему конвейеру. Единственная длинная связь, передающая эле¬ мент Di-m, / на все ПЭ, переводит структуру процессора в класс полусистолических структур. В сравнении с аналогичной структурой, рассмотренной в § 5.2, эта структура обладает двумя значительными преимуще¬ ствами: процессор состоит из 2N+1 одинаковых процессорных элементов; в 2W4-1 раз уменьшилось число обращений к ЗУ видеоданных. В принципе возможно дальнейшее увеличение степени па¬ раллелизма алгоритма ЛЭГ по всем (2Л4-|-1) (2N + 1) элемен¬ там выходного изображения, однако объем оборудования в этом случае существенно возрастает, так как необходимо организо- 104
Рис. 5.3. Структура полусистолического процессора локальной эквализации гистограмм с распараллеливанием по (2М 4- 1) элементов выходного изобра¬ жения: а — Г1Э — процессорный элемент; С — счетчик; R — конвейерный ре¬ гистр; (^) — компаратор; б — условное обозначение линейки процессорных элементов (ЛПЭ), состоящей из 2N 4- 1 ПЭ вать хранение 2М + 1 строк частичных результатов, каждая из которых состоит из J элементов. В следующем параграфе будет рассмотрена структура про¬ цессора, совмещающая достоинства обоих подходов к парал¬ лельным алгоритмам. 5.4. ПАРАЛЛЕЛЬНОЕ ВЫЧИСЛЕНИЕ ПО ГРУППАМ ЭЛЕМЕНТОВ ВХОДНОГО И ВЫХОДНОГО ИЗОБРАЖЕНИЙ Анализируя предыдущий алгоритм, можно отметить, повышения бы- необходи- по что для стродействия мо внутренний цикл переменной т выполнить параллельно по всем значениям т = —М, М. Для этого в структуру процессора введем Рис. 5.4. Структура процессора Локальной эквализации гисто¬ грамм с распараллеливанием по (2N 4- 1) элементов выход¬ ного изображения 105 5 Очин Е. Ф.
L — (2M + 1) (2/V + 1)' компараторов, L счетчиков {Стп, m = — — М~М, n==~^NYN} 11 L конвейерных регистров {Rmn, т = —М, М, п — — N, Л/}. С учетом введенных обозначений алгоритм ЛЭГ можно записать следующим образом: Vt = lT7: с.» := 0; V/=T7: С»* := Си 4* /-»}> := £»»> м Di, j—N X RmN> m=—M С** — /?*,♦ — 1, конец; конец. Линейка процессорных элементов, изображенная на рис. 5.3, последовательно воспримет столбец элементов т = — — М, М} и выдаст один элемент результата. На рис. 5.4 изображена структура процессора, состоящего из 2М + 1 ЛПЭ, выходы которых поступают на входы дерева сумматоров с кон¬ вейерной организацией. В этом случае каждая линейка, воспри¬ нимая один элемент изображения выдает часть резуль¬ тат и общее время вычисления одного элемента резуль¬ тата достигает величины т- е. весь конвейер работает на частоте + Гц. Такая организация позволяет обра¬ батывать видеоданные коммерческого телевидения в реальном масштабе времени. Глава шестая ДВУХМЕРНЫЕ МЕДИАННЫЕ ФИЛЬТРЫ (ДМФ) 6.1. АЛГОРИТМЫ И СТРУКТУРЫ ДМФ, ГИСТОГРАММНЫЕ ДМф Широко применяется в цифровой обработке изобра¬ жений (подавление импульсных помех, выделение границ изо¬ бражений объектов, классификация многозональных изображе¬ ний) медианная фильтрация [35, 39, 51, 55, 56]. Операцию одномерной медианной фильтрации дискретизиро¬ ванного сигнала можно записать следующим образом: (6.1) 106
где D'== median (7) Djf O;. t v),/== 1,/, т. e. каждый элемент отфильтрованного сигнала представляет собой меди¬ ану элементов фрагмента входного сигнала {O/+rt, п = — N, N}, состоящего из 2N + 1 элементов. Двухмерный медианный фильтр изображения (Dz/, Z=l, /, j=l, J} можно обозначить аналогичным образом: {О//} = 2лг+1 {О//}, (6.2) где /-ДГ, •••> •••> Di-M,/ + лЛ Oz/ = median! Oz/, DiJ+N j, ''Di + M, j-N> •••> А + .И,/, •••> т. e. каждый элемент отфильтрованного изображения представ¬ ляет собой медиану элементов фрагмента {D/+w./+„, т = n = —N, //}, состоящего из L = (2Л1 -ф- 1) (2N + 1) элементов. Среди различных алгоритмов медианной фильтрации наи¬ больший интерес представляют алгоритмы, ориентированные на обработку изображений в темпе поступления видеосигнала и базирующиеся на современных достижениях микроэлектро¬ ники [90—92, 93, 100, 102, 103, 111, 113, 116]. Алгоритмы ^фильтры) можно разделить на три группы: гистограммные, кон¬ вейерные и матричные. Если элементы изображения представлены в виде Q-разрядных чисел, то для фрагмента изображения {£>Z+m, /+п> т = — Му Af, п — —N, N} можно построить гистограмму {Г/, / = 0, G - 1}, где Г[ — число элементов фрагмента, равных l\ G = 2Q. Медианой фрагмен¬ та является средний элемент в упорядоченной последовательности элементов фрагмента, поэтому для поиска медианы необходимо суммировать элементы гистограммы до тех пор, пока их сумма не превысит величину (L + 1)/2 или не станет ей равной. Индекс последнего просуммированного элемента гисто¬ граммы равен медиане. Для построения гистограммы фрагмента требуется выполнить L опера¬ ций суммирования типа Л:=Г/ + 1, а для нахождения медианы по гисто¬ грамме — не более G циклов сравнения, включающих в себя операции сум¬ мирования S : = S 4- Л и сравнения S < (L + 1)/2. В работах [90, 92, 93] предложен алгоритм быстрой медианной фильтра¬ ции (ВМФ), основанный на рекурсивном построении гистограмм соседних фрагментов изображения, сдвинутых один относительно другого на один элемент в направлении индекса /. Гистограмма фрагмента с центром в точке (/, /4-1) содержит результат обработки всех элементов фрагмента с центром в точке (Z, /) за исключением столбца элементов с индексом / — N. Кроме того, гистограмма фрагмента с центром в точке (Z, /+1) содержит резуль¬ тат обработки столбца элементов с индексом j 4~ N + 1* который отсутствует 5* 107
в гистограмме фрагмента с центром в точке (1 г’У Поэтому для коррекции гистограммы достаточно выполнить (2Л1 -f- I) операции суммирования типа Гi = rL — 1 для элементов столбца, выходящего из фрагмента, и столько же операций типа Л: =/4 4-1 для элементов входящего столбца. Таким обра- зом, число операций типа Л: = Л4- 1 для формирования гистограммы фраг« мента уменьшается в (2N •]- 1 )/2 раз. Для уменьшения числа операций при поиске медианы по гистограмме вводится счетчик Д/ числа элементов фрагмента, значения которых меньше медианы. Для элементов столбца, выходящего за пределы фрагмента, значе¬ ние счетчика уменьшается: Д/:=Д/—1 при условии, если элемент меньше медианы, т. е. если < Dдля tn — — М, М. Соответственно для элементов входящего столбца Д/:=Д/+1, если < ^7 для т — — Mt М. В зависимости от значения Д/ выполняется коррекция нового значения медианы (БМФ-1): I ■■= D'ij; если Д/ (L + 1 )/2, то пока Д/ (Д 4- 1 )/2: Z: = Z — 1; Д/ := Д/ - конец; иначе пока Д/ + Г/ < (Д + 1 )/2: Д/:=Д/ + Л; /:=/+1; конец; Di,i+i := 1- Математическое ожидание числа циклов сравнений, выполняемых при корректировке счетчика Д/ в процессе рекурсивного формирования гисто¬ граммы и в процессе поиска по гистограмме медианы, равно с = 2 (2/V 4“ 1) 4“ d + 1 4“ 0), где d — среднее значение величины d = у+1 — D^-; Р (d 0) — вероят¬ ность того, что d 0. В работах [90, 92, 100] отмечается, что d обычно мало (<10), вследствие чего число циклов сравнения в среднем умень¬ шается в G/[2(2M 4-1)4-10] раз. Так, при (2N 4- 1) = 3, Q = 8 число цик¬ лов сравнений уменьшается в 16 раз. Максимальное время поиска медианы по гистограмме определяется [2(2М 4-1) 4-2Q — 1] циклами сравнений, поэтому для систем реального времени эффективность быстрой медианной фильтрации достигается только посредством уменьшения времени формирования гистограмм. 6.2. МУЛЬТИГИСТОГРАММНЫЕ ДМФ В работе [100] предложен гистограммный алгоритм ВМФ, позволяющий уменьшить максимальное время поиска ме¬ дианы. Алгоритм основан на одновременном формировании Q гистограмм. Изменяя точность представления изображения от 1 до Q двоичных разрядов, можно определить Q гистограмм фрагмента изображения + — М, п = — N, N] следующим 108
образом: Г1ц = £ X ' 242 di+m l+n k2~k} = , т=-М n=-N { \1г=\ / ) q = ^Q, 1 = 0, G— 1, где dijk^ {0, 1} —двоичные цифры элемента Dtj, т. е. <2 Л/= Е diik2~k. А = 1 Соответствующий алгоритм представим следующим образом (БМФ-2): Vz=T?7: V/=T7: Г,: = 0; Vm = — M, M; Мп - —N, ЛГ: \fq=UQ: <7 / •= 2q V rl ’ o~ft. L ' ai + m, I+n, f rj:=rj+ 1; конец; конец; конец; D'u := F (Г*); — поиск медианы конец; конец. Поиск медианы осуществляется за Q циклов сравнений: по’ гистограмме Г\ определяется значение старшего разряда ме¬ дианы, по гистограмме Г*—значение второго разряда медиа¬ ны, а по гистограмме — значение младшего разряда медиа¬ ны. В работе [93] предложен гистограммный алгоритм ВМФ, по быстродействию совпадающий с алгоритмом БМФ-2, но поз¬ воляющий уменьшить емкость ЗУ для хранения гистограм в два раза. Избыточность представления данных в Q гистограммах следует из равенства Очевидно, что для представления Q гистограмм можно огра¬ ничиться хранением только нечетных элементов. 109
Поиск медианы выполняется следующим образом '(БМФ-3): В := 0; t := [(2Л4 + 1) (2/V + 1) + 1 ]/2; V?= 1, Q: /:=2В+ 1; если Fj < t, то {/:=/ — Гдг, В:—2В}; иначе В \~2В + 1; конец; D'iS-=B. В табл. 6.1 приведены быстродействие и емкость памяти гистограммных медианных фильтров для Q-разрядных элементов Таблица 6.1 Фильтр Число операций сложения и вычитания при рекурсивном формировании гистограмм Число циклов сравнения при поиске медианы Емкость ЗУ, слов БМФ-1 2 (2М + 1) 2(2М+ 1) +2 БМФ-2 2(2М+ 1) — 2q + 1 БМФ-3 2(2А1+ 1) 2 изображения. При этом размер столбца скользящей апертуры (окна) равен 2М + 1. С целью сокращения объема вычислений, необходимого для фильтрации изображений, предложены приближенные методы вычисления медианы, основанные на определении старших раз¬ рядов медианы dp d2, d'Q_q, q < Q и задании младших раз¬ рядов, равными d'Q_q^ = 1 и d' = 0, (Q — <7 + 1) < < Q- От¬ личие между точной и приближенной медианами в наихудшем случае равно 2"7-1. Кроме того, при параллельной реализации алгоритма БМФ-3 число используемых арифметическо-логиче- ских устройств уменьшается от Q до (Q — q). Для обеспечения выбора элементов локальных фрагментов изображения в процессе рекурсивного формирования гисто¬ грамм (при реализации рассмотренных алгоритмов БМФ-1 4- 4- БМФ-3) необходимо буферное ЗУ для хранения (2М + 2) строк изображения. 6.3. КОНВЕЙЕРНЫЕ ДМФ Для устранения недостатка, связанного со сложностью формирования Q гистограмм, в работе [100] предложен алго¬ ритм с поразрядным поиском медианы, основанный на после¬ довательном исключении элементов изображения больших и меньших медиан, Q-разрядные элементы фрагмента изображе¬ но
ния {Di + mj+n, iv — VI., \1, п— ,Vr .V} можно ппепстяпттть в виде матрицы размером L X Q> где L — (2М + 1) (?jV +0- Вве¬ дем обозначения: {Bqt ^=1,Q}—столбцы матрицы размером L X Q (составлены из q-х разрядов элементов фрагмента изо¬ бражения); {Sq, q=\, Q}—векторы, указывающие исключен¬ ные элементы на д-м цикле алгоритма (включая предыдущие циклы); So, So — единичные векторы; [BQq, B[q, g=l, Q} — чис¬ ло нулей (единиц) в векторе Bq, не отмеченных нулями в соот¬ ветствующих позициях вектора S^-i. Поиск медианы выполняется следующим образом; Ft := В?; t :== [(2Л1 + 1) (2ЛГ + 1) + 1 ]/2; V?=l, Q: если Fq < t, то £sg := S%Bq; Fq+l := Fq + J; иначе {Sfl := SqBq; Fq+i :=Fq — Blq+i}; конец; D'u := Sq {Di+m, t+n, m = —M, M, n = —N, N}-, где Sq&Bq означает выполнение операции конъюнкции между соответствующими элементами векторов Sq и Bq\ Sq& Di+fnj+n означает выбор элемента фрагмента изображения, соответствую¬ щего позиции единицы в векторе Sq. Таким образом, в результате последовательного исключения элементов изображения, больших и меньших медианы, за Q цик¬ лов, включающих в себя операции сравнения и суммирования (вычитания), определяется значение медианы. Рассмотренный алгоритм, представляющий интерес при раз¬ работке специализированных БИС цифровой обработки изобра¬ жений, может быть реализован в схеме с последовательным вводом данных, параллельным вводом данных либо в СБИС с конвейерной организацией обработки информации. Фильтра¬ ция изображения посредством СБИС с последовательным вво¬ дом данных выполняется за LXQ циклов, посредством СБИС с параллельным вводом данных за Q циклов. Поиск каждого нового значения медианы в СБИС с конвейерной организацией осуществляется за один цикл. В работе [101] предложен конвейерный алгоритм медианной фильтрации, обеспечивающий обработку изображений со ско¬ ростью 107 точек в секунду. Этот алгоритм является модифика¬ цией гистограммного алгоритма БМФ-3. Для сокращения времени фильтрации в конвейерном алго¬ ритме используется модификация элементов изображения по¬ сле определения каждого разряда медианы, что позволяет вы¬ полнить медианный фильтр в виде специализированной конвей¬ 111
ерной вычислительной системы, состоящей из Q одинаковых про¬ цессорных элементов, осуществляющий фильтрацию изображе¬ ния в реальном масштабе времени. Систолические ДМФ. Использование алгоритмов, названных систолическими [109], позволяет устранить ограничение на время вычислений, определяемое временем обмена данными между процессором и ЗУ [107]. Быстродействие в такой систе¬ ме по сравнению с вычислительной системой Фон-Неймана воз¬ растает в К раз, где К—число ПЭ, в то время как время об¬ мена данными между процессорами и ЗУ не зависит от длины конвейера. В работах [103, 107] представлен систолический алгоритм для двухмерной медианной фильтрации. В конвейерной вычис¬ лительной системе, состоящей из [2(2М4- I)2 — (2/W + 1)] ПЭ, одновременно обрабатываются элементы изображений для (2М + 1) пересекающихся локальных фрагментов с размером (2Л1-j-1)Х (2Af + 1) элементов. Чтобы отличить, к какому локальному фрагменту принадлежат элементы изображения, они помечаются посредством нумерации строк локальных фраг¬ ментов изображения. Номер строки может принимать значение от 1 до [2(2М+ 1)— 1]. Обработка изображения размером I\J элементов выпол¬ няется за [IJ/(2М + 1)] циклов. Время обмена данными в кон¬ вейерной структуре не зависит от размера апертуры. Базовыми вычислительными элементами для поиска медиа¬ ны являются сортирующие элементы (СЭ) и элементы задержки (ЭЗ), соединяемые в виде конвейерной сортирующей сети. В каждой из L = (2М + 1) (2N + 1) ступеней сортирующей сети содержится Г^/21 СЭ. На рис. 6.1 приведена структура сорти¬ рующей сети для медианной фильтрации с апертурой (3X3). В качестве алгоритма функционирования сортирующей сети используется сортировка с транспозициями. Каждый СЭ сорти¬ рующей сети сравнивает два числа в упорядоченном множестве элементов, представляемом в виде вертикального столбца. Боль¬ шее из сравниваемых чисел располагается сверху, меньшее — снизу. Таким образом, при последовательном проходе элементов изображения по конвейерной сортирующей сети элементы с большими значениями «всплывают» вверх столбца, а с мень¬ шими значениями — «погружаются» вниз. Скорость обработки в медианном фильтре определяется величиной задержки в СЭ. Для реализации медианного фильтра с апертурой 3X3 тре¬ буется 36 сортирующих элементов; при увеличении размера апертуры наблюдается значительный рост затрат оборудования, так, при апертуре 5X5 потребуется 300 элементов. Регуляр¬ ность структуры фильтра, использование простых однотипных ПЭ, простых регулярных потоков данных и команд позволили реализовать медианный фильтр с апертурой 5 X 5 на однораз¬ рядных ПЭ в одном КМОП-кристалле. 112
А Q Q В7 D3 D3 Входные daw ms я Рис. 6.1. Структура сортирующей сети ДМФ с размером скользящего окна фильтрации 3X3 ДМФ на основе сортирующих сетей. Псевдомедиана квад¬ ратного фрагмента изображения размером (2М + 1)Х (2М -f- 1) элементов вычисляется с помощью одномерного медианного фильтра в течение двух этапов. Первоначально вычисляются медианы строк (столбцов) фрагмента: £)_м = median/+м)> В\ = medianDih Dm — median (DMj_M, DMj, . по которым определяется псевдомедиана D'* = median(D'_M, D', ...» D^). Для определения медианы Drtj — median [Di+tn f+n, m = = — M, M, n = требуется выполнить сортировку (2М + I)2 элементов. Псевдомедианы D^* определяются посред¬ ством сортировки (2М + 1) элементов (при этом определяется медиана строки фрагмента D\ = median {Dz n — — Mt М], так как перекрывающиеся фрагменты изображения отличаются .113
Рис. 6.2. Структура процессора ДМФ на одну строку) и сортировки (2М + 1) элементов изображе¬ ния, т. е. медиан строк (при этом вычисляется псевдомедиана P'J = median {D'i+m, т = — М, М}). На рис. 6.2 и 6.3 приведены соответственно структуры ме¬ дианного и псевдомедианного фильтров. Для фильтрации изо¬ бражений размером I\J апертурой размером (2М+1)Х Х(2М + 1) Для хранения 2М строк изображения используются построчные буферные регистры, а для одновременного выбора элементов локальной окрестности изображения — регистры за¬ держки. Псевдомедианная фильтрация по затратам оборудования значительно экономичнее медианной фильтрации. Проведенные Рис, 6,3, Структура процессора псевдомедианной фильтрации 114
теоретические и практические исследования [113] показали близость результатов, получаемых при медианной и псевдоме- дианной фильтрациях. 6.4. МАТРИЧНЫЕ ДМФ Рассмотрим алгоритм медианной фильтрации изобра¬ жений- для матричных вычислительных систем, основанный на сортировке Бэтчера с формированием упорядоченных, последо¬ вательностей из четных и нечетных элементов и дальнейшим их слиянием в единый список. Сортировка L = (2М + 1) (2М + 1) элементов локального фрагмента изображения по алгоритму сортировки Бэтчера выполняется следующим образом: f:=riog2Ll; /i:=2f_l; пока h > 0: gr:=2f~1; r:=0; z\=h\ пока qZ^h*. Vw = 0, L — z\ если w A h = r, to Fc (/ [ш + 1], V [ny + z + 1]); конец; z\=q — h\ q\—ql2'e конец; A:=|A/2j; конец. В приведенном алгоритме сортировки Бэтчера используются обозначения: V—вектор, составленный из элементов изобра¬ жения {Di+mt tn = — М, М, п = — М, /И}, операция w /\h означает операцию конъюнкции над величинами w и /?, пред¬ ставленными в виде двоичны?; чисел; операция Fz(a,b) обозна¬ чает последовательность операций сравнения и обмена: если а > &, то {k := а; а := b\ b := k\}. В процессе выполнения алгоритма сортировка Бэтчера в матричной вычислительной системе в качестве сортировки вну¬ три строк или столбцов фрагмента изображения может исполь¬ зоваться сортировка с транспозициями. Так как при медианной фильтрации изображений опреде¬ ляется только центральный элемент (медиана) в упорядочен¬ ной последовательности элементов, то операция слияния в ал¬ горитме сортировки Бэтчера упрощается: Vw = 0, L — 2 с шагом 2: Fc(y[^+1], V [ш + 2]); конец; 115
Рис. 6.4. Структура ПЭ бинарного матричного процессора z := 2f_I — 1; q := 2r_2; w := max (1, 2 Г(Л — 2)/4] — z); если [(®<(L-l)/2)&(® + z)<(L-l)], то {Fc (V [да + 1], V [да + z + 1]); да:=да + 2;}. Рассмотрим алгоритм псевдомедианной фильтрации, реа¬ лизуемый в бинарной матричной вычислительной системе. На рис. 6.4 приведена структура ПЭ бинарной матричной вычисли¬ тельной системы. Данные хранятся в ЗУ разрядностью 1 бит. Входной селектор выбирает источник операндов, которым мо¬ жет быть ЗУ ПЭ или соседние процессорные элементы. Входной селектор и АЛУ могут содержать несколько од¬ норазрядных регистров, предназначенных для временного хра¬ нения данных. В состав Г1Э могут входить также одноразряд¬ ные регистры-маски, применяемые для запрета обработки дан¬ ных в ПЭ. Поиск псевдомедианы выполняется следующим образом. Первоначально в каждом из рядов матрицы ПЭ сортируются элементы изображения и определяются горизонтальные медиа¬ ны (медианы строк т— — М, Л4) фрагмента изображе¬ ния {Di+m, т = — М, М, п = — N, N}. Затем по медианам строк вычисляется псевдомедиана D^i = medianт = —-М, М}. (6.3) 6.5. ДМФ НА ОСНОВЕ НЕРЕКУРСИВНЫХ СОРТИРУЮЩИХ ЭЛЕМЕНТОВ Применение сортирующих сетей для ДМФ связано с большими затратами оборудования. Для уменьшения числа сортирующих элементов рассмотрим алгоритм сортировки, учи¬ тывающий общность 2А/(2М-}-1) соседних перекрывающихся локальных фрагментов изображения (ЛФИ). Частичное упоря¬ дочивание элементов предыдущего фрагмента используется при поиске медианы последующего ЛФИ. Разработанный алгоритм определения медианы для скользящих фрагментов изобра¬ жения основан на явлении сохранения упорядоченности столб¬ цов матрицы после сортировки элементов матрицы внутри строк.
Элементы ЛФИ, представленные в виде матрицы . . . / • • • I + N • • • ^ij • • • Д, /-HV • • • ^i + M, / • • • + j + N (6.4) в результате сортировки внутри столбцов, а затем внутри строк являются упорядоченными как внутри строк, так и внутри столбцов. Обозначим полученную в результате сортировок мат¬ рицу следующим образом: DlA ... D^r ... £>!% + ! Dpi ... Dpr ... Dp,2N+l D2M+I, 1 . . . DiM+l, г ... D'2M+ 1, 2/V + l _ {Dpi < £#2 < ... < Dp, 2lV+i, p = 1, 2Л1+ 1}; {D^ < D^r < ... < D^+1, r, r = 1, 27V 4- 1}. (6.5) В дальнейшем для упрощения записей верхние индексы у элементов матрицы га будем опускать. Ряд элементов мат¬ рицы [Dpr], больших или равных медиане, и ряд элементов, меньших или равных медиане, можно определить, подсчитывая число элементов, больших или равных и меньших или равных элементу Dpr. И если для элемента изображения существует больше чем (L—1) /2 элементов, больших или равных ему по значению, то данный элемент является меньшим медианы; если для Dpr существует больше чем (L—1)/2 элементов, меньших или равных ему по значению, то данный элемент больше ме¬ дианы (рис. 6.5). Если в упорядоченной по возрастанию последовательности из L элементов исключить S элементов, меньших или равных медиане, и S элементов, больших или равных медиане, то ме¬ Рис. 6.5. Разделение элементов матрицы [Z)pr] на элементы, меньшие или равные медиане (знак —), большие или равные медиане (знак +), неопре¬ деленные (0) для скользящего окна фильтрации размером: 3X3 (а); 5X5 (6); 7X7 (в)
диана полученной последовательности из '(L— 2S) элементов будет являться медианой и для исходной последовательности, состоящей из L элементов. Следовательно, посредством сорти¬ ровки элементов матрицы [Dif] внутри столбцов, а затем вну¬ три строк определяется 2S элементов, которые исключаются из дальнейшей сортировки. Так, например, для скользящего окна фильтрации размером 3X3, 5X5, 7X7 элементов исключают¬ ся 6, 12, 20 элементов соответственно. Поиск медианы осуще¬ ствляется соответственно среди оставшихся 3, 13, 29 элементов. Для каждого последующего ЛФИ осуществляется сортировка только одного столбца ЛФИ, а остальные столбцы, упорядочен¬ ные при обработке предыдущих ЛФИ, сохраняются с помощью элементов задержки. Так как для поиска медианы ЛФИ необ¬ ходимо определить подмножество элементов, отмеченных зна¬ ком 0, то осуществляется не полная сортировка элементов мат¬ рицы [Dij] внутри строк, а определяются только частично упо¬ рядоченные элементы, отмеченные знаком 0. Число СЭ, необходимое для построения процессора ДМФ на основе разработанного алгоритма при М = N 3, опреде¬ ляется следующим образом: ( М-1 \ с; (L) = 2С (2М + 1) + 21 g См+{ (2М + 1)| + С" (L - 2S), (6.6) где См+f (2Л4 + 1)—число СЭ, требуемое для определения М 4- f старших (младших) элементов, упорядоченных между собой по возрастанию, из (2М + 1) сравниваемых элементов изображения; " (Л — 2S) — число СЭ, требуемое для поиска медианы из (L — 2S) частично упорядоченных элементов изо¬ бражения. Определим число СЭ, необходимое для построения процессо¬ ров ДМФ с размерами скользящего окна фильтрации 3X3, 5X5, 7X7: С#'(3 X 3) = 2С(3) + 2С\ (3) + С" (9 — 6) = 2 • 3 + 2 • 2 + 3 = 13, С; (5X5) = 2С (5) + 2С2 (5) + 2С3 (5) + С* (25 -12) = = 2-9 + 2-7 + 2-8 + 16 = 64, С; (7X7) = 2С (7) + 2С3 (7) + 2С4(7) + 2С5 (7) + С[ (49 - 20) = = 2- 16 + 2- 13 + 2- 15 + 57= 145. Процессоры ДМФ на основе этого алгоритма сортировки выполняются в виде конвейера трех сетей. Первая сеть осуще¬ ствляет сортировку элементов [Di/] столбцов, вторая сеть — строк, третья сеть определяет медиану. .113
Использование рекурсивных алгоритмов сортировки позво¬ ляет сократить число СЭ, необходимых для построения процес¬ соров ДМФ (табл. 6.2). Рекурсивный алгоритм ДхМФ, основан- Таблица 6.2 Число сортирующих элементов, используемых в процессорах ДМФ Тип процессора Размер окна 3X3 5X5 7X7 ДМФ на основе регулярной сортирую¬ щей сети 36 300 1176 ДМФ па основе сортировки Бэтчера 22 109 305 ДМФ на основе сортировки Бэтчера с использованием рекурсивной обработки перекрывающихся ЛФИ 15 80 215 ДМФ на основе алгоритма сортировки с упорядочиванием элементов ЛФИ внут¬ ри столбцов и внутри строк 13 64 175 ный на сортировке элементов столбцов строк, является более экономичным по числу используемых СЭ по отношению к сор¬ тировке Бэтчера. Это обусловлено тем, что исключаются эле¬ менты изображения, большие или равные медиане и меньшие или равные медиане, начиная с первых этапов сортировки. 6.6. ДМФ НА ОСНОВЕ РЕКУРСИВНЫХ СОРТИРУЮЩИХ ЭЛЕМЕНТОВ Сортирующие сети характеризуются некоторой избы¬ точностью. Например, сеть для сортировки пяти элементов изо¬ бражения содержит девять СЭ и реализует соответственно де¬ вять операций сравнения, в то же время возможна сортировка пяти элементов изображения с помощью семи операций срав¬ нения. В табл. 6.3 приведена зависимость числа выполняемых операций сравнения от числа сортируемых элементов изобра¬ жения для случая реализации сортировки посредством сорти¬ рующих сетей (А. с. 1305715 СССР), а также приведено мини¬ мальное число операций сравнения, достаточное для выполне¬ ния операций ДМФ. Избыточность сортирующих сетей прояв¬ ляется при п 5. Для сокращения числа выполняемых операций сравнения предлагается использовать СЭ, ориентированные на исключение 119
Таблица 6.3 Число сравнений в сортирующих сетях Число сортирующих элементов 2 3 4 5 6 7 8 9 10 Реальное число срав¬ 1 3 б 9 12 16 19 25 29 нений Минимальное число 1 3 5 7 10 13 16 19 22 сравнений избыточности сортирующих сетей. К таким СЭ можно отнесли рекурсивные (РСЭ) сортирующие элементы. РСЭ располагает по возрастанию элементы изображения, состоящие из двух упо¬ рядоченных последовательностей и сохраняет упорядоченность сравниваемых элементов. Определим затраты оборудования, требуемые для построения сортирую¬ щих сетей, реализующих задачу выбора |_/?/2J наибольших (наименьших) элементов из F сравниваемых, для случаев использования нерекурсивных сортирующих элементов (НСЭ) и РСЭ. НСЭ предназначены для расположе¬ ния по возрастанию двух сравниваемых элементов изображения. НСЭ со¬ держит сравнивающий элемент и два коммутатора. Первый коммутатор вьь бнрает максимальный элемент изображения, а второй — минимальный эле¬ мент (рис. 6.6). Число НСЭ, необходимое для выбора |_^/2J наибольших (наименьших) упорядоченных по возрастанию элементов из F сравниваемых элементов, пред-? ставленных в виде упорядоченных последовательностей из L^/2J и fF/2]? элементов изображения, равно: CLF/2J (F)=Lf/2J+ 1 4- с (LF/2J — 1). где LF/2J > 1 — число НСЭ, требующихся для выделения |_F/2J наиболь¬ ших (наименьших) элементов из F сравниваемых; для определения макси¬ мального (минимального) элемента из LF/2J выделенных элементов доста¬ точно одного НСЭ; С( L^/2J — 1) число НСЭ, необходимое для упорядо¬ чивания ( L^/2J —1) элементов изображения. Рис. 6.6, Нерекурсивный сортирующий элемент; а — структура; б — условное обозначение 120
Рис. 6.7. Рекурсивный сортирую¬ щий элемент На рис. 6.7. приведена струк¬ тура РСЭ для LT72J = 2. РСЭ по отношению к НСЭ содержит до¬ полнительно 2( [F/2J — 1) ком¬ мутаторов. В НСЭ выполняется сравнение и перестановка только наибольших (наименьших) эле¬ ментов из двух упорядоченных по возрастанию последовательностей. В РСЭ наряду с наибольшими (наименьшими) элементами изображения выполняется перестановка всех эле¬ ментов упорядоченных по возрастанию последовательностей. Вследствие этого в РСЭ при расположении по возрастанию наибольших (наименьших) элемен¬ тов из двух упорядоченных по возрастанию последовательностей сохраняется упорядоченность сравниваемых наибольших (наименьших) элементов относи¬ тельно последовательностей элементов, к которым они принадлежат. На рис. 6.8. приведена сортирующая сеть для определения двух наиболь¬ ших элементов изображения из пяти сравниваемых. Аналогично может быть построена сортирующая сеть для определения двух наименьших элементов изображения из пяти сравниваемых. Затраты оборудования, требуемые для построения сортирующей сети, реализующей выбор двух наибольших (наименьших) элементов из пяти сравниваемых, уменьшаются на одно сравнивающее устройство и три комму¬ татора. Применение РСЭ в процессоре ДМФ, имеющем размер окна 5X5, позволяет уменьшить затраты оборудования на два сравнивающих устрой¬ ства и 24 коммутатора, а при размере окна 7 X 7 — на четыре сравниваю¬ щих устройства и 50 коммутаторов. Затраты оборудования для реализации сетей выбора наибольших (наи¬ меньших) элементов изображения, упорядоченных по возрастанию, из F сравниваемых на основе модифицированных РСЭ можно определить сле¬ дующим образом. Число сравнивающих устройств, необходимых для реали¬ зации сети выбора LЛ/2J наибольших (наименьших) элементов из F срав¬ ниваемых элементов, представленных в виде упорядоченных последовательно¬ стей из L^/2j и f772“| элементов, равно: а число используемых коммутаторов равно LF/2J $й = 2 (2f-l). f=l Для построения на основе НСЭ сетей выбора \_F/2J наибольших (наи¬ меньших) упорядоченных по возрастанию элементов из сравниваемых, рас¬ положенных в упорядоченных последовательностях из L7’/2j и [F/2~\ элемен¬ тов, потребуется = ^lf/2J (77 сравнивающих устройств и sfe = 2C>LF/2J (77 коммутаторов. В табл. 6.4 приведены сравнительные характеристики сетей выбора, выполняемых на основе РСЭ и НСЭ. При F <. 10 сор¬ тирующие сети выбора [F/2J элементов из F сравниваемых, выполненные на модифицированных РСЭ, содержат меньше оборудования, чем сортирующие сети на НСЭ. Использование 121
Рис. 6.8. Сортирующая сеть выбора двух наибольших элементов из пяти сравниваемых сетей выбора ла основе модифицированных РСЭ (НСЭ), а так¬ же применение модифицированных НСЭ в других блоках про¬ цессоров ДМФ позволяет существенно уменьшить затраты обо¬ рудования, требуемые на реализацию процессора ДМФ. В про¬ цессорах ДМФ с размерами скользящего окна фильтрации Таблица 6.4 Сети на основе РСЭ и НСЭ Число срав¬ ниваемых элементов изображения Сеть на основе РСЭ Сеть на основе НСЭ Число коммута¬ торов Число сравниваю¬ щих устройств Число коммута¬ торов Число сравниваю¬ щих устройств 2 1 1 2 1 3 1 1 2 1 4 4 2 6 3 5 4 2 6 3 6 9 3 10 5 7 9 3 10 5 8 16 4 16 8 9 16 4 16 8 10 25 5 22 11 11 25 5 22 11 3X3, 5X5, 7X7 при использовании в процессорах модифи¬ цированных РСЭ и НСЭ уменьшилось число коммутаторов на 8, 24, 50 соответственно и уменьшилось число устройств сравне¬ ния на 0, 2, 4 соответственно. ЗАКЛЮЧЕНИЕ Многие процессы и явления, наблюдаемые в природе, можно описывать как результаты дистанционного зондирования статических или динамических объектов. Регистрация спек¬ трального состава световой волны дает почти полное описание 122
объекта как источника излучения или как отражателя (рассеи¬ вателя, преобразователя) излучения, при этом, как правило, предполагается, что спектральный состав источника излучения известен. Спектральная фильтрация может быть реализована с по¬ мощью оптического светофильтра, если передаточная функция фильтра приведена к диапазону [0—1]. Используя спектраль¬ ное разложение в монохроматорах, спектральную фильтрацию можно реализовать с помощью нейтрального светофильтра. Для изменения пространственной структуры оптического изображения используют пространственные фильтры. Линейные фильтры могут быть представлены как пространственно-частот¬ ные фильтры и реализованы средствами оптической фильтра¬ ции. Нелинейная фильтрация результатов дистанционного зон¬ дирования сводится к дискретизации изображения с помощью матрицы фотоприемников и квантованию с помощью АЦГ1, вводу данных в видеопамять или прямо в цифровой процессор и при¬ менению соответствующей нелинейной процедуры, реализован¬ ной в виде микропрограммы или специализированного вычис¬ лительного устройства. Пространственно-спектральная фильтрация является обоб¬ щением линейной пространственной фильтрации и спектральной фильтрации. С помощью такой фильтрации можно классифи¬ цировать объекты одновременно по форме и цвету. Развитие теории фильтрации многомерных сигналов стиму¬ лировало интерес разработчиков технических средств обработки данных к созданию параллельных вычислительных систем фильтрации изображений, ориентированных на решение задач в реальном масштабе времени. Появление принципиально новой элементной базы и совершенствование существующих оптиче- ческих, оптико-электронных и электронных деталей и узлов при¬ водит к развитию архитектуры систем обработки изображений и стимулирует развитие теории фильтрации, в частности разви¬ тие методов нелинейной фильтрации. В книге описаны принципы построения технических средств обработки оптических изображений, использующих два типа элементной базы: оптические и оптико-электронные элементы и устройства, такие, как лазеры, линзы, призмы, дифракцион¬ ные решетки, амплитудные и фазовые пространственные и про¬ странственно-временные модуляторы излучения, голографиче¬ ские запоминающие устройства и другие элементы, а также электронные цифровые большие и сверхбольшие интегральные схемы. На основе оптической и оптико-электронной элементной базы разрабатываются два типа систем фильтрации: оптические ана¬ логовые процессоры пространственно-частотной фильтрации и оптико-электронные цифровые процессоры пространственной фильтрации оптических изображений, Отличительной особен- 123
постью таких процессоров является использование оптического двухмерного пространственною сигнала в качестве носителя ин¬ формации и как следствие этого параллелизм преобразования всего двухмерного массива данных. Сравнивая процессоры этих двух типов, необходимо отметить, что, несмотря на неограничен¬ ные функциональные возможности, оптико-электронные цифро¬ вые процессоры пространственной фильтрации все еще нахо¬ дятся в стадии теоретических исследований. Структура таких процессоров находится в стадии эскизных проектов. Причиной такой неопределенности является отсутствие основного элемен¬ та— двухмерного массива оптических или оптико-электронных логических элементов, выполняющих параллельно функцио¬ нально полный набор логических операций по отношению к паре двухмерных массивов булевых операндов (бинарных пространственно-дискретизованных изображений). Многочисленные теоретические исследования показали, что оптическая цифровая вычислительная техника по быстродей¬ ствию, надежности и другим показателям должна существенно превосходить электронную технику. Большие и сверхбольшие интегрально-оптические схемы (БИОС и СБИОС) будущего, вероятно, должны состоять из планарных полупроводников, ла¬ зеров, детекторов, модуляторов и интегральных эквивалентов классических оптических элементов — призм, линз и т. п. Опти¬ ческие лучи не воздействуют друг на друга, не создают ни ко¬ ротких замыканий, ни перекрестных помех. Это может обеспе¬ чить очень высокую плотность оптических соединений больших массивов оптических логических элементов, недостижимую в си¬ стемах электронных БИС и СБИС. В настоящее время применяются лишь оптические аналого¬ вые узкоспециализированные процессоры. Когерентные оптиче¬ ские процессоры пространственно-частотной фильтрации решают интегральные уравнения типа свертки, корреляции, выполняют двухмерную КИХ-фильтрацию с быстродействием, недостижи¬ мым никакими другими техническими средствами. Время пре¬ образований определяется временем ввода двухмерного массива обрабатываемых данных и фурье-образа матрицы весовых ко¬ эффициентов. Несмотря на указанные положительные черты, не¬ обходимо отметить, что в настоящее время можно говорить лишь о единичных случаях практического использования таких процессоров. Причиной тому являются не только предельно уз¬ кие функциональные возможности, сводящиеся к операциям двухмерного преобразования Фурье, Френеля и двухмерной свертки, но и низкая точность преобразований, определяемая точностью изготовления оптических деталей и качеством юсти¬ ровки. Отметим еще один принципиальный недостаток оптических аналоговых процессоров, связанный с временем изменения пере¬ даточной функции фильтра, Очевидно, что во многих важных Л 24
случаях время механической замены фильтра, например, с по¬ мощью вращающейся турели с набором фильтров, оказывается недопустимо большим. В этом случае необходимо размещать в фурье-плоскости процессора пространственно-временной моду¬ лятор света, управляемый с помощью ЭВМ общего назначения. Замена фильтра сводится к перезаписи функции амплитудной модуляции из основной памяти ЭВМ в запоминающее устрой¬ ство модулятора. В настоящее время промышленность не выпу¬ скает пространственно-временные модуляторы, предназначенные для использования в качестве носителей передаточных функций фильтров, синтезированных с помощью ЭВМ. С развитием оптико-электронной элементной базы практи¬ ческая значимость аналоговых систем пространственно-частотной фильтрации будет возрастать, при этом центральной проблемой фильтрации будет оставаться проблема синтеза пространствен¬ но-частотных фильтров с помощью ЭВМ. Поэтому теоретиче¬ ские и практические результаты, связанные с теоретическим обобщением и развитием методов кодирования передаточных функций комплексных фильтров, будут способствовать более широкому внедрению оптической аналоговой вычислительной техники в практику использования систем технического зрения различного назначения. Цифровая обработка изображений с помощью ЭВМ позво¬ ляет реализовать неограниченный класс алгоритмов фильтра¬ ции. На основе ЭВМ общего назначения решаются многие за¬ дачи кодирования и сжатия изображений, задачи для теории восстановления изображений, создаются первые базы видеодан¬ ных. Однако, несмотря на огромные достигнутые успехи, во многих важных случаях, связанных с обработкой изображений, перемещающихся относительно системы наблюдения, ЭВМ об¬ щего назначения оказывается неспособной решать такие задачи в реальном масштабе времени. Параллельные цифровые процессоры фильтрации, структура которых согласована со структурой соответствующих парал¬ лельных алгоритмов, позволяют значительно сократить время фильтрации при сравнительно небольших затратах оборудова¬ ния. В настоящее время теория параллельных алгоритмов об¬ работки изображений находится в стадии развития, поэтому принципы построения таких процессоров имеют в основном эв¬ ристическую природу. В заключение необходимо отметить, что в настоящее время нельзя отдать предпочтение ни одному из исследуемых типов технических средств для решения задач фильтрации оптиче¬ ских изображений. Только оптимальное сочетание оптических аналоговых, оптико-электронных цифровых и электронных циф¬ ровых процессоров фильтрации оптических изображений смо¬ жет удовлетворить различным требованиям, предъявляемым пользователями к техническим средствам фильтрации [58]. 125
СПИСФК ЛИТЕРАТУРЫ 1. Хуанг Т. Цифровая голография//Применение голографии. — М.: Мир, 1973.— С. 65—78. 2. Акаев А. А., Майоров С. А. Когерентные оптические вычислительные машины. — Л.: Машиностроение, 1977. — 440 с. 3. Компанец И. Н. Оптически управляемые транспаранты//3арубежная радиоэлектроника.— 1977.—№ 4. — С. 46—76. 4. Лейт Э. К. Комплексные пространственные фильтры для коррекции изображений//ТИИЭР. — 1977. — Т. 65. —№ 1. —С. 23—37. 5. Строук Дж. Оптическая и цифровая обработка информации и ее применения//Автометрия. — 1977. — № 5. — С. 18—31. 6. Ярославский Л. П., Мерзляков Н. С. Методы цифровой голографии — М.: Наука, 1977. — 192 с. 7. Многофункциональные регулярные вычислительные структуры/ Е. П. Балашов, В. Б. Смолов, Г. А. Петров, Д. В. Пузанков. — М.: Сов. радио, 1978. — 288 с. 8. Ванин В. А. Копирование голограмм: Обзор//Квантовая электрони¬ ка. — 1978. — Т. 5. — № 7. — С. 1413—1428. 9. Кронрод М. А. Несколько задач обработки изображений//Вопросы кибернетики. Иконика, цифровая обработка и фильтрация изображений. — 1978. —Вып. 38. —С. 49—59. 10. Передача и обработка информации голографическими методами/ С. Б. Гуревич, В. П. Константинов, В. К- Соколов и др.; Под ред. С. Б. Гу- ревича. — М.: Сов. радио, 1978. — 304 с. 11. Окуяма К., Фукуи О., Ишиока И. Высокоскоростной процессор изо¬ бражений со специальной схемой для выполнения двухмерной свертки// Приборы для научных исследований. — 1979. — Т. 50. — № 10. — С. 32—37. 12. Ярославский Л. П. Введение в цифровую обработку изображений.— М.: Сов. радио, 1979.—312 с. 13. Акаев А. А. Теоретические основы и методы расчета голографиче¬ ских систем хранения и преобразования цифровой информации: Автореф. дис. на соиск. уч. степени доктора техн. наук. — Л., 1980. — 352 с. (МИФИ). 14. Головкин Б. А. Параллельные вычислительные системы. — М.: Нау¬ ка, 1980. — 520 с. 15. Майоров С. А., Очин Е. Ф. Применение голографии и когерентной оптики в вычислительной технике//Труды ЛИТМО. Вопросы научного при¬ боростроения.— Л.: ЛИТМО. — 1980. — С. 86—93. 16. Майоров С. А., Очин Е. Ф., Герасимов И. Л. Когерентный оптиче¬ ский процессор для определения смещения и масштаба изображения//Тру- ды ЛИТМО. Вычислительные системы и комплексы. — Л.: ЛИТМО.— 1980. — С. 3—7. 17. Голографическое запоминающее устройство с трехкоординатной вы¬ боркой на объемных отражательных Фурье-голограммах/С. А. Майоров, Е. Ф. Очин, Ю. Ф. Романов и др.//Известия вузов СССР. Приборострое¬ ние. — 1980. — Т. 23. — № 5. — С. 42—46. 126
18. Оптическая обработка информации/Пер. с англ.; Под ред. Д. Кей- сесента. — М.: Мир, 1980. — 352 с. 19. Вудс Р. Э., Гонсалес Р. С. Цифровые методы улучшения изображе¬ ний в реальном времени//ТИИЭР. — 1981. — Т. 69.—№ 5. — С. 176—190. 20. Голубкова М. Н., Очин Е. Ф. Бинарный синтез комплексных опера¬ ционных фильтров для когерентного оптического процессора//Автометрия.— 1981. —№ 3. — С. 112—114. 21. Евреинов Э. В. Однородные вычислительные системы, структуры и среды. — М.: Радио и связь, 1981. —208 с. 22. Очин Е. Ф. Бинарное кодирование пространственно-частотных филь¬ тров для когерентного оптического процессора//Известия вузов СССР. При¬ боростроение.— 1981. — Т. 23. — № 6. — С. 49—53. 23. Очин Е. Ф. Синтез комплексных пространственно-частотных филь¬ тров для когерентного оптического процессора//Известия вузов СССР. При¬ боростроение.— 1981. — Т. 23.—№ 5. — С. 42—45. 24. Вайрадян А. С., Пчелинцев И. П., Челышев М. М. Алгоритмы вы¬ числения цифровых сверток//3арубежная радиоэлектроника.— 1982.— № 3. — С. 3—34. 25. Сравнительный анализ трех методов бинарного кодирования комп¬ лексных пространственно-частотных фильтров для когерентного оптического процессора/М. Н. Голубкова, С. А. Майоров, Е. Ф. Очин и др.//Электрон- ное моделирование.— 1982. — № 1. — С. 51—55. 26. Майоров С. А., Очин Е. Ф., Романов Ю. Ф. Повышение дифракцион¬ ной эффективности и устранение высших порядков дифракции при восста¬ новлении изображений с синтезированных Фурье-голограмм//Известия ву¬ зов СССР. Приборостроение. — 1982. — Т. 25.—№ 10. — С. 64—67. 27. Очин Е. Ф. Выбор критерия качества кодирования пространственно¬ частотных фильтров для когерентного оптического процсссора//Известия ву¬ зов СССР. Приборостроение. — 1982. — Т. 25. — № 8. — С. 54—58. 28. Очин Е. Ф. Принципы построения когерентных оптических видео- препроцессоров//Известия вузов СССР. Приборостроение.— 1982. — Т. 25.— № 11. —С. 38—47. 29. Очин Е. Ф. Синтез амплитудных пространственно-частотных филь¬ тров для когерентного оптического процессора//Известия вузов СССР. При¬ боростроение. — 1982. — Т. 25. — № 2. — С. 30—34. 30. Очин Е. Ф. Синтез пространственно-частотных фильтров для коге¬ рентного оптического процессора//Интегральная оптика, волоконная оптика и голография: Материалы второй международной школы по когерентной оптике и голографии. — Варна, 1981. — София: БАН, 1982. — С. 402—412. 31. Романов Ю. Ф. Восстановление изображений транспарантов и со¬ гласованная фильтрация при использовании объемных фазовых фурье-голо- грамм//Известия вузов СССР. Приборостроение. — 1982. — Т. 25. — № 1.— С. 70—75. 32. Ярославский Л. П., Мерзляков Н. С. Цифровая голография. — М.: Наука, 1982.— 220 с. 33. Даллас У. Синтез голограмм на ЭВМ//Компьютеры в оптических исследованиях/Пер. с англ.; Под ред. Б. Фридена. — М.: Мир, 1983.— С. 385—482. 34. Каппелини В., Константинидис А. Дж., Эмилиани П. Цифровые фильтры и их применение/Пер. с англ. — М.: Эпергоатомиздат, 1983.— 360 с. 35. Кронрод М. А., Чочиа П. А. Фильтрация помех на изображении с использованием медианы распределения//Иконика. Теория и методы об¬ работки изображений. — М.: Наука, 1983. — С. 100—108. 36. Майоров С. А., Очин Е. Ф., Романов Ю. Ф. Оптические аналоговые вычислительные машины. — Л.: Энергоатомиздат, ’983.— 120 с. 37. Очин Е. Ф. Фазовое кодирование комплексных пространственно¬ частотных фильтров//Известия вузов СССР. Приборостроение. — 1983. — Т. 26. — Ns 6, — С. 80—82.. 127
38. Очин Е. Ф. Четырехвекторное (2 X 2) амплитудное кодирование комплексных пространственно-частотных филь'1ров//Автометрия.— 1983.— № 1, —С. 74—77. 39. Чочиа П. А. Применение методов цифровой обработки изображений для реставрации архивных документов//Иконика. Теория и методы обра¬ ботки изображений/Под ред. Д. С. Лебедева, Н. Р. Поповой. — М.: Наука, 1983.— С. 115—125. 40. Бахтияров Г. Д. Цифровая обработка сигналов: проблемы и основ* ные направления повышения эффективности//3арубежная радиоэлектрони* ка. _ 1984. — № 12. — С. 48—66. 41. Гун Суныоань. Систолические и волновые матричные процессоры для высокопроизводительных вычислений//ТИИЭР. — 1984.— Т. 72. — № 7.— С. 133—153. 42. Денисов В. М., Матвеев Ю. Н., Очин Е. Ф. Принципы организации систем обработки изображений на базе клеточной логики//3арубежная ра- диоэлектроника. — 1984. — № 1. — С. 3—25. 43. Матвеев Ю. Н., Очин Е. Ф. Принципы построения конвейерного клеточного автомата с произвольной траекторией сканирования изображе- ния//Известия вузов СССР. Приборостроение. — 1984. — № 4. — С. 49—53. 44. Нуссбаумер Г. Дж. Вычисление двухмерных сверток и дискретного преобразования Фурье//Быстрые алгоритмы в цифровой обработке изобра- жений/Т. С. Хуанг, Дж.-О. Эклунд, Г. Дж. Нуссбаумер и др.; Под ред. Т. С. Хуанга: Пер. с англ./Под ред. Л. П. Ярославского — М.: Радио и связь, 1984. — С. 43—88. 45. Очин Е. Ф. Выполнение операций клеточной логики в когерентном оптическом процессоре с помощью простейшего пространственно-частотного фильтра//Автометрия. — 1984. — № 6. — С. 91—94. 46. Цифровые фильтры и устройства обработки сигналов на интеграль¬ ных микросхемах: Справочное пособие/Ф. Б. Высоцкий, В. И. Алексеев, B. Н. Пачин и др.; Под ред. Б. Ф. Высоцкого — М.: Радио и связь, 1984.— 216 с. 47. Голубкова М. Н., Майоров С. А., Очин Е. Ф. Двойное амплитудное кодирование передаточных функций пространственно-частотных фильтров// Известия вузов СССР. Приборостроение. — 1985. — Т. 28. — № 7.— C. 84—87. 48. Голубкова М. Н., Майоров С. А., Очин Е. Ф. Двойное фазовое ко¬ дирование пространственно-частотных фильтров,'/Известия вузов СССР. Ра¬ диоэлектроника. — 1985. — № 9. — С. 73—75. 49. Голубкова М. Н., Очин Е. Ф. Амплитудно-бинарный синтез комп¬ лексных пространственно-частотных фильтров с двумя импульсными откли- ками//Известия вузов СССР. Приборостроение. — 1985. — Т. 28. — № 5.— С. 75—80. 50. Кунг X. Т. Вычисления на СБИС//Системы параллельной обработ- Ки/Под ред. Д. Ивенса. — М.: Мир. — 1985. — С. 338—356. 51. Кучеренко К. И., Очин Е. Ф. Микропроцессорная система ранговой фильтрации изображений с использованием грубых и точных отсчетов ги- стограмм//Радиотехника. — 1985. —№ 11. — С. 69—73. 52. Матвеев Ю. Н., Очин Е. Ф. Нелинейное преобразование видеосиг¬ нала на основе алгоритма скользящей эквализации гистограмм//Известия вузов СССР. Радиоэлектроника. — 1985. — № 1. — С. 81—82. 53. Очин Е. Ф., Романов Ю. Ф., Тропченко А. 10. Общие условия кор¬ ректности кодирования при синтезе Фурье-голограмм//Автометрия.— 1985.— № 2. — С. 66—69. 54. Кучеренко К. И., Очин Е. Ф. Двухмерные медианные фильтры для обработки изображений//3арубежная радиоэлектроника. — 1986. — № 6.— С. 50—61. 55. Кучеренко К. И., Очин Е. Ф. Мультимикропроцессорная система ме¬ дианной фильтрации изображений с поразрядным поиском медианы//Авто- метрия,— 1986, —№ 1. — С. 53—56, 28
56. Кучеренко К. И., Очин Е. Ф. Мультимикропроцессорная система скользящего выравнивания гистограммы с поразрядным поиском результа- та//Известия вузов СССР. Приборостроение.— 1986. — Т. 29. — № 8.— С. 30—33. 57. Кучеренко К. И., Очин Е. Ф. Ранговая фильтрация изображении на основе рекурсивного формирования грубых и точных отсчетов локальных гистсграмм//Известия вузов СССР. Приборостроение.— 1986. — Т. 29.—■ До 4. _ с. 45—50. 58. Очин Е. Ф. Вычислительные системы обработки изображений: со- стояние и перспективы развития//У1 Всесоюзная школа-семинар по оптиче¬ ской обработке информации. — Фрунзе: ФПЙ.— 1986. — С. 15—16. 59. Кучеренко К. И., Очин Е. Ф. Сортирующие сети двухмерной медиан¬ ной фильтрации полутоновых изображений//Радиотехника.— 1987. — № 7.—- С. 36—38. 60. Донченко С. Е., Матвеев Ю. Н., Очин Е. Ф. Принципы организации параллельных процессоров цифровой свертки изображений//3арубежная ра¬ диоэлектроника.— 1987. — № 7. Специальный выпуск «Систолическая обра¬ ботка информации». — С. 84—102. 61. Функциональная организация вычислительной системы простран¬ ственно-спектральной фильтрации оптических изображений/В. В. Гуд, С. Е. Донченко, В. М. Красавцев и др.//Известия вузов СССР. Приборо¬ строение. —1987. — Т. 30. —№ 6. —С. 67—71. 62. Специализированные процессоры цифровой обработки изображений: алгоритмы и структуры/В. С. Клочков, Ю. Н. Матвеев, Е. Ф. Очин, Ю. Ф. Ро- маков//Известия вузов. Приборостроение.—1987.— Т. 30. — № 9.— С. 57—64, 63. Оптическая и цифровая обработка изображений. — Л.: Наука, 1988.— 175 с. 64. Матвеев Ю. Н., Очин Е. Ф. Выполнение операции скользящего вы¬ равнивания гистограммы в матричном процессоре//Автометрия. — 1988.— До 1. —С. 14—17. 65. Королев А. Н., Матвеев to. Н., Очин Е. Ф. Параллельно-последова¬ тельные процессоры цифровой свертки оптических изображений//Труды ГОИ. — 1988.— Т. 64, вып. 198.— С. 70—76. 66. Unger S. Н. A computer oriented towards spatial problem//Proc. IRE. — 1958.— Vol. 46.— P. 1744—1750. 67. Lugt V. D. Signal detection by complex spatial filtering/IEEE trans, inf. theory.— 1964. —Vol. II —10. —P. 139—145. 68. Kozma A., Kelly D. L. Spatial filtering for detection of signals sub¬ merged in noise//Appl. Opt.— 1965. — Vol. 4. — N. 4. — P. 387—392. 69. Brown B. R., Lohmann A. W. Complex spatial filtering with binary masks//Appl. Oht. — Vol. 5. — N. 6. — P. 967—969. 70. Lohmann A. W., Paris D. P. Binary Fraunhofer holograms generated by computer//Appl. Opt. — 1967. — Vol. 6. — N. 10.— P. 1739—1748. 71. Lee W. H. Sampled Fraunhofer holograms generated by computer// JOSA. — 1968. — Vol. 58.— P. 729—734. 72. Lohmann A. W., Paris D. P. Computer generated spatial filters for coherent optical data processing//Appl. Opt.— 1968. — Vol. 7. — N. 4.— P. 651—655. 73. Brown B. R., Lohmann A. W. Computer generated binary holograms// IBM journ. res., develop.— 1969. — Vol. 13. — N. 2. — P. 160—168. 74. Burchardt С. B. A simplification of Lee’s method of generating holo¬ grams by computer//Appl. Opt. — 1970. — Vol. 9. — N. 8. — 1949 p. 75. Gabel R. A., Lin B. Minimization of reconstruction errors with com¬ puter generated binary holograms//Appl. Opt. — 1970. — Vol. 9. — N. 5.— P. 1180—1181. 76. Lee W. H. Sampled Fourier — transform hologram generated by com- puter//Appl. Opt. — 1970.— Vol. 9. — N. 3. — P. 639—643. 77. Haskell R. E., Culver В. C. New coding technique for computer-gene¬ rated holograms/'/Appl. Opt.— 1972.— Vol. 11. — N. 11. — P. 2712—2714. 129
78. I’astelt R. F. Computer-generated holograms with minimum quanti¬ zation'/JOSA — 1973. — Vol. 63. — P. 504. 79. Swartzlander E. E., Jr. Parallel counters//IEEE Trans, on Compu¬ ters. — 1973. — Vol. 22.— N. 11. —P. 1021 — 1024. 80. Swartzlander E. E., Jr. The quasi serial multiplier//IEEE Trans, on Computers.— 1973. — Vol. 22. — N. 4. — P. 317—321. 81. Gabel R. Л. Reconstruction errors in computer generated binary holo¬ grams: a comparative study//Appl. Opt.— 1975. — Vol. 14. — N. 9.—• P. 2252—2253. 82 Gallagher N. C., Liu B. Class of optimum spatial filters//JOSA. 1975.— Vol. 65.— N. 2. — P. 182—187. 83. Rowers R. C., Goodman J. W. Error rates in computer generated holographic memories//Appl. Opt. — 1975. — Vol. 14. — N. 7. — P. 1690—■ 1695. 84. Sirohi R. S., Blume H. On the diffraction efficiency of synthetic bi¬ nary holograms//Opt. Acta. — 1975. — Vol. 22. — N. 11. —P. 943—946. 85. Burrus C. S. Digital filter structures described by distributed arithme- tic/./IEEE Trans, on Circuits Syst.— 1977. — Vol. 24. — N. 12. — P. 674—680. 86. Lee W. H. Computer generated holograms: Techniques and Applica- tions//Progress in Optics.— 1978. — Vol. 16. — P. 119—132. 87. Swartzlander E. E., Jr. Gilbert В. K., Reed I. S. Inner product com- puters//IEEE Trans, on Computers. — 1978. — Vol. 27. — N. 1. — P. 21—31. 88. Bucklew J. A., Gallagher N. C., jr. Comprehensive error models and a comparative study of some detour-phase holograms//Appl. Opt.— 1979.— Vol. 18. —N. 16. —P. 2861—2869. 89. Bucklew J. A., Gallagher N. C. Detour-phase error in the Lohmann hologram//Appl. Opt — 1979. — Vol. 18. —N. 4. — P. 575—580. 90. Garilotto G., Lamlarelli L. Fast on-line implementation of two — dimensional median filtering//Electronic Letters. — 1979. — Vol. 15. — N. 1. —- P. 24—25. 91. Gray G. T., McGaughey D. G., Hunt B. R. Median masking technique for the enhancement of digital images//SPIE. Applications of Digital image Processing III.— 1979. — Vol. 207. — P. 142—145. 92. Huang T. S., Yang G. J., Tang G. Y. A fast two-dimensional me¬ dian filtering algorithm//IEEE Trans, on ASSP.— 1979. — Vol. ASSP-27.— N. 1. —P. 13—18. 93. Ataman E., Aatre V. K., Wong К. M. A fast method for realtime median filtering//IEEE Trans, on ASSP. — 1980. — Vol. ASSP-28. — N. 4.— P. 415—421. 94. Foster M. J., Kung H. T. The design of special-purpose VLSI chips//Computer. — 1980. — Vol. 13.— N. 1. — P. 26—40. 95. Heuft R. W., Little W. D. Convolution Computer//IEEE Trans, on Computers. — 1980. — Vol. 29. — N. 8. — P. 738—741. 96. Kung H. T. The structure of parallel aIgorithms//Advances in com- puters./Ed. Yovits M. C. — 1980. — Vol. 19. —P. 65—112. 97. Swartzlander E. E., Gilbert В. K. Arithmetic for Ultra-High- Specd Tomography//IEEE Trans, on Computers.— 1980.—Vol. C-29.— N. 5.^ P. 341—353. 98. Zeman J., Nagle H. T., Jr. A high-speed microprogrammable digital signal processor emploing distributed arithmetic//IEEE Trans, on Compu¬ ters.— 1980. — Vol. 29. — N. 2. — P. 134—144. 99. Blackmer J., Frank G., Kuekes P. A 200 million operations per second (MOPS) systolic processor//Proc. SPIE.— 1981. — Vol. 298. Real-Time Sig¬ nal Processing IV. — P. 10—18. 100. Danielsson P. E. Getting the median faster//Computer Graphics and Image Processing.— 1981. — Vol. 17. — P. 71—78. 101. Delman D. G. Digital pipelined hardware median filters design for real-time image processing//SPIE, Real-Time Signal Processing IV. — 1981. —Vol. 298. — P. 184—188, 130
102. Gallagher N. C. Jr., Wise G. L. A theoretical analysis oF the pro¬ perties of median filters/; 1EEE Trans, on ASSP.— 1981. — Vol ASSP-29 N. 6, —P. 1136—1141. 103. Fisher A. L. Systolic algorithms for running order statistics in sig¬ nal and image processing//VLSI Systems and Computations./Ed. Kung H. T. et al. — Carnegie-Mellon University; Computer Science Press, 1981.— P. 265—272. 104. Jeng Y.-C. Digital convolution algorithm for pipelining multiproces¬ sor system/’/IEEE Trans, on Computers. — 1981. — Vol. 30. — N. 12.-^ P. 966—973. 105. Kung H. T., Ruane L. M., Yen D. W. L. A two-level pipelined systolic array for convolutions//VLSI Systems and Computations/Eds. H. T. Kung, R. S. Sparoull, G. L. Steele, Jr. — Carnegie-Mellon University: Computer Science Press, 1981. —P. 255—264. 106. Swartzlander E. E., Jr. VLSI signal processing architectures//Elec- tro-Technology.— 1981. — N. 12. — P. 183—203. 107. Fisher A. L. Systolic algorithms for running order statistics in sig¬ nal and image processing//Journal of Digital Systems. — 1982. — Vol. 6.— N. 2. —P. 251—264. 108. Kulkarni A. V., Yen D. W. L. Systolic processing and an implemen¬ tation for signal and image processing//IEEE Trans, on Comhuters.— 1982.— Vol. 31. —N. 10. —P. 1000—1009. 109. Kung H. T. Why systolic architectures?//Computer.— 1982.— Vol. 15 — N. 1. —P. 37—46. 110. Kung H. T., Song S. W. A systolic 2-D convolution chip//Multi- computers and Image Processing: Algorithms and Programs/Eds. K. Preston, Jr., L. Uhr. — London: Academic Press, 1982. — P. 373—384. 111. Nodes T. A., Gallagher N. C. Median filters: some modifications and their properties//IEEE Trans, on ASSP.— 1982. — Vol. ASSP-30. — N. 5.— P. 739—746. 112. Tom V. T., Wolfe G. J. Adaptive histogram equalization and its applications//Proc. SPIp - 1982.— Vol. 359. — P. 204—208. 113. Oflazer K. Design and implementation of a singlechip 1-D median filter//IEEE Trans, о., auo?. — 1983. — Vol. — ASSP-31. — N. 5. — P. 1164— 1168. 114. Danielsson P. E. Serial/parallel convolvers//IEEE Trans, on Compu¬ ters. — 1984. — Vol. 33. —N. 7. —P. 652—667. 115. Reeves A. P. Parallel computer architectures for image processing// Computer Vision, Graphics and Image Processing.— 1984. — Vol. 25.— N. 1.— P. 68—88. 116. Scollar I., Weidner B., Huang T. S. Image enhancement using the median and the interquartile distance//Computer Vision, Graphics and Image Processing. — 1984. — Vol. 25. — P. 236—251. 117. Chen C. F. Implementing FIR Filters with Distributed arithmetic// IEEE Trans, on ASSP. — 1985. — Vol. ASSP-33. — N. 4. — P. 1318—1321. 118. Ersoy O. Semisystolic Array Implementation of Circular, Skew Circular and Linear Convolution//IEEE Trans, on Comput.— 1985.— Vol. C-34. — N. 2. —P. 190—196. 131
ОГЛАВЛЕНИЕ Введение . . 3 Раздел первый. Оптические аналоговые процессоры ... 6 Глаза первая. Дистанционное зондирование и фильтрация сптиногаих изображений . 7 1.1. Дистанционное зондирование . — 1.2. Пространственная фильтрация 14 1.3. Пространственно-частотная фильтрация 15 1.4. Нелинейная фильтрация 16 Глава вторая. Оптические аналоговые процессоры 19 2.1. Структура оптической вычислительной системы 2.2. Структура Фурье-процессора 21 2.3. Структура процессора пространственно-частотной фильтрации 23 Глава третья. Пространственно-частотные фильтры 28 3.1. Голографические методы записи фильтров — 3.2. Кодирование передаточных функций фильтров .33 3.3. Выбор критерия качества кодирования фильтров 42 3.4. Общие условия корректности кодирования передаточных функ¬ ций фильтров 45 3.5. Повышение дифракционной эффективности и устранение выс¬ ших порядков дифракции пространственно-частотных филь¬ тров 48 3.6. Синтез фильтров повышенного качества 49 3.7. Кодирование передаточных функций фильтров с двумя им¬ пульсными откликами 55 Раздел второй. Электронные цифровые процессоры ... 63 Глава четвертая. Процессоры свертки ........ . . . — 4.1. Параллельное вычисление по группам элементов изображения 65 4.2. Параллельное вычисление по группам разрядов (разрядным срезам) изображения 71 4.3. Параллельное вычисление по группам элементов свертки ... 77 4.4. Систолические процессоры свертки (СПС) ........ 81 4.5. Полусистолические процессоры свертки (ПСПС) .92 Глава пятая. Процессоры локальной эквализации гистограмм (ЛЭГ) . , 98 5.1. Определение и последовательные алгоритмы ЛЭГ — 5.2. Параллельное вычисление по группам элементов входного изо¬ бражения 102 132
5.3. Параллельное вычисление по группам элементов выходного изображения . . ... . . . 104 5.4. Параллельное вычисление по группам элементов входного и выходного изображений , 105 Глава шестая. Двухмерные медианные фильтры (ДМФ) .106 6.1. Алгоритмы и структуры ДМФ, гистограммные ДМФ . , . . — 6.2. Мультигистограммные ДМФ * 108 6.3. Конвейерные ДМФ НО 6.4. Матричные ДМФ . 115 .6.5. Д/МФ на основе нерекурсивных сортирующих элементов . . .116 6.6. ДМФ на основе рекурсивных сортирующих элементов . . .119 Заключение . . . 12г Список литературы 12 133
Производственное издание Очин Евгений Федорович ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ ОБРАБОТКИ ИЗОБРАЖЕНИЙ Редактор С. П. Левкович Художник обложки В. Т. Левченко Художественный редактор Т. Ю. Теплицкая Технический редактор Н. А. Минеева Корректор Е. Н. Ульева ИБ № 1427 Сдано в набор 28.03.88. Подписано в печать 27.09.88. М-26508. Формат 60X90716. Бумага типографская №2. Гарнитура литературная. Высокая печать. Усл. печ. л. 8,5. Усл. кр.-отт. 8,75. Уч-изд. л. 9,6. Тираж 12 000 экз. Заказ 993. Цена 55 к. Энсргоатомиздат, Ленинградское отделение. 1910G5 Ленинград, Д-65, Марсово поле, 1. Ленинградская типография № 2 головное предприятие ордена Трудового Красного Знамени Ленинградского объединения «Техническая книга» им. Евгении Соколовой Союзполиграф- прома при Государственном комитете СССР по делам издательств, полиграфии и книжной торговли, 198052, г. Ленинград, Л-52, Измайловский проспект 29.
ЭНЕРГОАТОМИЗДАТ ВНИ/ИАНИЮ ЧИТАТЕЛЕЙ! ЭНЕРГОАТОМИЗДАТ ГОТОВИТ К ВЫПУСКУ В 1989 ГОДУ: Грушвицкий Р. И., Мурсаев А. X., Смолов В. Б. Аналого-циф¬ ровые периферийные устройства микропроцессорных систем. — 9 л. ISBN 5-283-04450-5. Ориентировочная цена 60 к. Систематизированы вопросы обработки аналоговой инфор¬ мации в микропроцессорных системах. Рассмотрены взаимодей¬ ствие процессора с периферийными аналого-цифровыми блоками и варианты решения тепловых задач обработки аналоговых сиг¬ налов. Особое внимание уделяется вопросам повышения точно¬ сти обработки данных, оптимизации распределения алгоритмов обработки между центральным процессором и периферийными блоками, унификации структур и схемотехнических решений. Для инженерно-технических работников, связанных с проек¬ тированием средств обработки информации. Тахванов Г. И. Операционные блоки автоматических управ¬ ляющих устройств. — 13 л. ISBN 5-283-01496-7. Ориентировочная цена 1 р. 30 к. Рассмотрены основы теории и проектирования аналоговых и гибридных операционных блоков для управляющих и модели¬ рующих устройств. Основное внимание уделено нелинейным пре¬ образователям информации и устройствам для обработки сигна¬ лов с шумами. Изложение сопровождается примерами. Для инженерно-технических работников, занимающихся раз¬ работкой и применением операционных блоков для систем управ¬ ления и регулирования. Заказы направляйте в книжные магазины, имеющие отделы «Книга — почтой». Заказы можно направлять также в магазин «Энергия» по адресу: Д96066 Ленинград, Московский пр.» 189,
Ленинградский книжный магазин «ЭНЕРГИЯ» — опорный пункт Энергоатомиздата. Это значит, что здесь самый широкий ассортимент научной, учебной, производственной и справочной литературы по всем разделам энергетики: теплотехнике и теплоэнергетике, гидротехнике и гидроэнергетике, электроэнергетике и промышленной энергетике, электротехнике и промышленной электронике, ядерной энергетике, технологии и физике, информационно-измерительной технике. Магазин принимает заказы на книги, намеченные к выпуску и имеющиеся в наличии. Специалисты энергетического профиля! Указав адрес организации или свой домашний адрес, вы бу¬ дете систематически получать все рекламные материалы по ин¬ тересующей вас тематике и бланки заказа книг Энергоатом¬ издата. Адрес магазина «Энергия»: 196066 Ленинград, Московский пр., 189 ПОЛЬЗУЙТЕСЬ УСЛУГАМИ МАГАЗИНА - ОПОРНОГО ПУНКТА ЭНЕРГОАТОМИЗДАТА!
55 коп