Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Робот. Компьютер. Гибкое производство

.pdf
Скачиваний:
1
Добавлен:
12.11.2023
Размер:
8.54 Mб
Скачать

потерь времени на дополнительные пересылки видео­ данных.

Однако возможности способа ограничены технически­ ми характеристиками микросистемы: предельной ско­ ростью обмена в режиме ПДП и размером прямо адре­ суемой памяти (максимальным числом ячеек, к которым может обратиться микропроцессор). Так, для микро-ЭВМ

«Электрояика-60» первый параметр не

превышает

2 Мбайт/с, а второй составляет 64 кбайт

(разрядность

адреса 16 бит).

 

Поэтому данный способ в основном применим только для бинарных изображений, каждый элемент которого ко­ дируется одним битом. Дополнительный недостаток за­ ключается в том, что во время обмена видеоданными микро­ процессор не работает.

В тех случаях, когда требуется обеспечить более вы­ сокие характеристики ввода-вывода изображений, целесо­

образно использовать

способ

двухпортовой

памяти

(рис. 4) —видеопамяти

(ВП).

Основная идея

способа

заключается в том, что с видеопамятью одновременно мо­ жет работать как ТВ-контроллер, обеспечивая запись или считывание изображений, так и микропроцессор, воспринимая ее в виде части собственной памяти. Для этих целей применяется однопортовая память и специа­ лизированный контроллер (арбитр), обеспечивающий ев двухпортовый режим работы —переключение (мульти­ плексирование) линий адреса, данных и управления, а также разрешение конфликтных ситуаций при одновре­ менном поступлении запросов.

В указанном способе, так же как и в способе ПДП, отсутствует дублирование аппаратуры и исключены до­ полнительные пересылки данных, поскольку микропро­ цессор работает непосредственно с видеопамятью, пол­ ностью используя свои возможности прямой адресации. При этом разработчик может обеспечить требуемую про­ пускную способность памяти, варьируя величиной форма­ та обращения и применяя высокоскоростные интегральные схемы запоминающих устройств. В отличие от способа ПДП видеопамять фактически не снижает производи­ тельности процессора.

Однако достижение требуемой пропускной способно­ сти не решает полностью всех проблем. Как быть в тех случаях, когда объем видеопамяти, необходимый для хра­ нения одного или нескольких изображений, превышает возможности прямой адресации микропроцессора?

Ш

Для этих целей необходимо использовать механизмы расширения адресации, реализованные на аппаратном уровне. Например, видеопамять условно разбивается на равные части —страницы. Тогда адрес любой ячейки будает состоять из номера страницы (старшие разряды) и номера ячейки в странице (младшие разряды). Младшие разряды поступают непосредственно из микропроцессора, к которым в аппаратуре расширения адресации подсты­ ковываются старшие. Таким образом, задав первоначаль­ но номер страницы, можно обеспечить доступ к любой ячейке видеопамяти.

Подводя итог, необходимо сказать, что способ вводавывода изображений с использованием видеопамяти пред­ ставляется наиболее перспективным. Однако не следует забывать о том, что разработка тех или иных технических решений не должна превращаться в самоцель. Главным критерием их оценки является эффективность работы системы в целом. Поэтому задачи ввода-вывода нельзя решать в отрыве от задач обработки: необходим ком­ плексный подход.

Специализированная обработка изображений

Предварительный анализ возможностей микропроцессора показывает, что он практически не приспособлен для эф­ фективной обработки изображений. Первые трудности возникают уже на уровне адресации. Рассмотрим кон­

кретный пример.

организацией

В

память микросистемы с байтовой

(8 бит

в слове) введена бинарная (1 бит

на элемент)

картинка, состоящая из 256X256 элементов. Для реали­ зации алгоритмов обработки необходимо обеспечить до­ ступ к индивидуальным элементам матрицы изображения, координаты которых задаются парами 8-разрядных номе­ ров строки и столбца (всего 16 разрядов).

Однако в микропроцессоре отсутствуют средства по­ элементной адресации, поэтому данная функция выпол­ няется на программном уровне. На первом этапе из па­ мяти считывается целиком весь байт, в котором находит­ ся искомый элемент. Для этого с помощью ряда опера­ ций (в основном с помощью операций сдвига) выполняется преобразование координат элемента в адрес байта. На втором этапе в пределах считанного байта осуществляется чтение или запись выбранного элемента.

112

При этом также необходимо выполнять логические опе­ рации и анализировать значения координат элемента. Кроме того, при реализации записи элемента надо вер­ нуть измененный байт в память на прежнее место. Не вда­ ваясь в технические тонкости, следует отметить, что вре­ мя выполнения таких подпрограмм будет в несколько де­ сятков раз превышать время цикла памяти.

Способ с поэлементной адресацией достаточно просто реализовать аппаратно при стыковке микропроцессора с видеопамятью. При этом время цикла памяти увеличит­ ся не более чем на 0,1 мкс (не более чем на 20%).

Можно привести и другой пример. Во многих алгорит­ мах обработки изображений (в частности, при оконтуривании) требуется проводить сравнение некоторого опор­ ного элемента с соседними. На вычисление координат этих элементов затрачивается значительная доля време­ ни. Данные функции целесообразно выполнять аппарат­ но на уровне специализированного способа адресации — адресации окрестностей опорной точки. Один из вариан­ тов его реализации может выглядеть следующим образом.

В аппаратном узле адресации размещается регистр для хранения координат опорной точки. Далее, поскольку в матрице изображения любой элемент связан с восемью соседними, то в адресном пространстве микросистемы вы­ деляется соответствующее число адресов (по одному ад­ ресу на каждое направление связи). При обращении по этим адресам координаты опорной точки получают при­ ращения в выбранном направлении, т. е. вычисляются координаты одного из восьми соседних элементов. Вычис­ ления осуществляются аппаратно с помощью интеграль­ ных схем сумматоров, задержки срабатывания которых также лежат в пределах 0,1 мкс.

Очевидно, могут быть предложены и другие эффек­ тивные специализированные способы адресации. В целом необходимо отметить, что их использование позволяет в значительной степени (иногда более чем на один-два по­ рядка величины) повысить скорость обработки изобра­ жений.

Однако такого рода усовершенствования все же явля­ ются полумерами, поскольку микропроцессор^ по своей сути остаются сугубо последовательными устройствами, мало приспособленными для обработки изображений, В сво­ ем развитии они продолжают продвигаться по «проторен­ ной дорожке», перенимая основные принципы структур­ ного построения у крупных универсальных компьютеров.

113

l

/ S '

 

Канал

-HI; К

 

Память

 

 

 

 

Банк -О

/

БИ

 

ОтТВ-

 

К тв-

 

камеры

 

ФМ

 

 

монитору

Источник

Приемник ^

-2

ЛУ

-3

ПФ

т т т

ь с й и

ЛЗХХ |-»| Р

—7

Л3X2 ]■>) Р

___I

Рис. 5. Структура видеопроцессора

Фактически это не что иное, как «выжимание последних соков» из архитектуры фон Неймана.

Чтобы действительно получить существенное повыше­ ние производительности, необходима полная специализа­ ция операций ввода-вывода, обработки и управления до уровня создания функционально законченного устрой­ ства —спецпроцессора. Практика показывает, что при одинаковом уровне сложности спецустройства превосхо­ дят по скорости универсальные микропроцессоры более чем в 103 раз. Причем даже не обязательно дожидаться создания высокопроизводительных специализированных больших и сверхбольших интегральных схем. В «обык­ новенных» интегральных схемах малой и средней степени интеграции скрыты большие потенциальные возможности, позволяющие проектировать мощные устройства обработ­ ки с малыми габаритами и низкой стоимостью.

Наглядным подтверждением данного подхода может служить экспериментальный видеопроцессор бинарных сигналов [3]. Устройство предназначено для работы в составе микро-ЭВМ «Электроника-60», выполнено на стандартной полуплате (240X135 мм) и содержит 56 ин-

114

тегральных схем малой и средней степени интеграции. Видеопроцессор выполняет следующие функции:

ввод бинарного изображения с ТВ-камеры в фор­ мате 256X256 элементов;

побитные логические операции между элементами вводимого кадра и кадра, расположенного в памяти мик­ ро-ЭВМ;

локальную фильтрацию изображения окном 3X3

элемента;

— вывод бинарного изображения на экран ТВ-мони- тора в формате 256X256 элементов.

Устройство функционирует в реальном масштабе вре­ мени: обработка выполняется в темпе поступления дан­ ных с ТВ-камеры (частота кадров 50 Гц, скорость ввода элементов изображения достигает 8 Мбит/с). Таким об­ разом, производительность видеопроцессора составляет 8 млн операций сверток с окном 3X3 в секунду, что примерно в 1Q4 раз быстрее аналогичной обработки на программном уровне в микро-ЭВМ «Электроника-60

Видеопроцессор (ВП) содержит следующие узлы (рис. 5): блок интерфейса (БИ), формирователь сигналов от ТВ-камеры (ФК), формирователь сигналов для TRмонитора (ФМ), логическое устройство (ЛУ), память фильтра (ПФ), сдвигающие регистры (Р), линии задерж­ ки на одну и две телевизионные строки (JI3X1, ЛЗХ2). Устройство выполняет действие над массивами —кадра­ ми бинарного изображения форматом 256X256 элементов. В структуре видеопроцессора можно выделить два основ­ ных операционных блока —логическое устройство и фильтр (совокупность регистров, линий задержки и па­ мяти фильтра).

Логическое устройство выполняет операции побитной обработки между одноименными бинарными элементами кадров, первый из которых поступает с ТВ-камеры, а вто­ рой считывается из внутренней памяти микро-ЭВМ. С помощью кода операции можно задать любую из шест­ надцати логических функций от двух переменных. Дан­ ные обрабатываются в темпе поступления видеосигнала с ТВ-камеры. Из логического устройства видеоданные по­ ступают в блок фильтра. Последний выполняет функцию локальной фильтрации, т. е. осуществляет формирование нового кадра, каждый элемент которого вырабатывается по значениям определенной группы элементов исходного изображения» В данном случае группа задается с по­ мощью окна 3X3, центр которого соответствует координа-

115

те формируемого элемента [4]. Некоторые виды такой обработки приведены на рис. 6 и 7.

Благодаря линиям задержки на одну и две строки изображения, а также регистрам, сдвигающим каждую строку на величину от одного до трех элементов, все де­ вять бит информации, Ограниченных окном, поступают на адресные входы памяти фильтра одновременно. Всего мо­ жет быть 29 входных комбинаций, поэтому память фильт­ ра содержит соответствующее число однобитных ячеек, в каждую из которых записан заранее вычисленный ре­ зультат фильтрации. Таким образом, локальная фильтра­ ция осуществляется с помощью табличного способа вы­ числения функций. Фактически может быть задан любой тип фильтров, общее число которых выражается астроно­ мической цифрой ?512.

С выхода фильтра информация выдается на экран ТВ-монитора, а также записывается во внутреннюю па­ мять микро-ЭВМ.

Таким образом, видеопроцессор является функцио­ нально законченным устройством, которое самостоятель­ но работает с памятью микро-ЭВМ, осуществляя ввод операндов, обработку и вывод результата. Причем все эти процедуры выполняются одновременно. Более того, каж­ дая из них состоит из более простых операций, которые также совмещены во времени. Например, в обрабатываю­ щей части видеоданные последовательно проходят через ряд параллельно работающих узлов (логическое устрой­ ство, линии задержки, сдвигающие регистры и память фильтра), в каждом из которых выполняются конкрет­ ные преобразования. Такая организация процесса обра­ ботки информации напоминает работу конвейера и широко используется в вычислительной технике.

Конвейеризация операций позволяет видеопроцессору функционировать в реальном масштабе времени (время обработки кадра — 20 мс). Например, осуществляя съем­ ку движущихся объектов, их можно наблюдать на экране ТВ-монитора в оконтуренном виде (для этого необходимо задать соответствующую функцию локальной фильтра­ ции) .

В принципе высокая степень параллелизма характер­ на для любого аппаратно реализованного устройства. И в этом нет ничего удивительного, если оценивать воз­ можности спецаппаратуры с позиций программного спосо­ ба обработки. Вернее было бы сказать, что при программ­ ной реализации алгоритмы искусственно приводятся к

117

сугубо последовательному виду, даже на уровне элементар­ ных операций. Мало того, что при этом существенно снижа­ ется скорость вычислений, сам процесс программирова­ ния выглядит более абстрактным, чем аппаратное проек­ тирование. i

По отношению к центральному процессору микроЭВМ видеопроцессор является подчиненным устройством, для управления которым необходимо задать следующие параметры:

бит разрешения работы видеопроцессора,

код порога квантования видеосигнала (необходим для перевода аналогового видеосигнала в бинарную форму),

код операции логического устройства,

бит разрешения работы фильтра,

номер фильтра (в устройстве расположены 4 па­ мяти фильтра для оперативного изменения функции ло­ кальной фильтрации),

табличные функции фильтрации,

номер банка—источника видеоданных (память мик­

ро-ЭВМ

условно разделена на 8

банков данных по

8 кбайт,

один банк соответствует

изображению 256 X:

Х256Х1 бит),

 

номер банка—приемника результата,

бит разрешения записи результата.

Параметры загружаются в память фильтра и регистры управления, адреса которых расположены в зоне внешних устройств микро-ЭВМ (банк-7).

Видеопроцессор взаимодействует с микросистемой, ис­ пользуя способ ПДП. При этом через системную шипу фактически проходят два потока данных —чтения операн­ да и записи результата. Несмотря на то, что обрабатывае­ мые изображения имеют бинарный формат, скорость об­ мена достигает 2 Мбайт/с. Такое значение является пре­ дельным для выбранного типа микро-ЭВМ.

Естественно, возникает вопрос: как обеспечить под­ ключение более мощных спецпроцессоров и, кроме того, организовать их одновременную работу? Стандартная ар­ хитектура микро-ЭВМ явно не подходит для этих це­ лей —общая шина становится самым «узким местом» си­ стемы. Временно снять остроту этой проблемы позволяет способ связи спецпроцессоров через мультипортовую (многовходовую) память, который является развитием способа видеопамяти [5]. Однако дальнейшее повышение производительности спецпроцессоров и увеличение их

118

числа потребует настолько высокой пропускной способно­ сти памяти, что ее техническая реализация будет практи­ чески невозможна. Следовательно, необходимо искать но­ вые принципы архитектурного построения специализиро­ ванных систем обработки информации (в том числе и си­ стем видеоанализа). Практические работы в этом на­ правлении —в области параллельных вычислений —толь­ ко начались и бурно развиваются, ломая традиционное представление о незыблемости архитектуры фон Нейма­ на [6].

Л И Т Е Р А Т У Р А

1. К у а ф е

Ф.

Взаимодействие робота с внешней средой. М.: Мир,

1985. 285 с.

2. Р у ц к о в

М.

В. К вопросу организации ввода-вывода в системах

визуализации // Проблемы создания гибких автоматизирован­ ных производств. М.: Наука, 1987. G. 207-211.

3. Р у ц к о в

М.

В. Видеопроцессор бинарных сигналов/ / Микропро­

цессорные средства и системы. 1987. № 2. С. 64-65,

4. К и т ч и н

П, В. , П ь ю А . Обработка бинарных изображений//

Техническое зрение роботов. М.: Машиностроение, 1987. С. 30-

47.

 

В. Об одном подходе к проектированию систем тех­

5. Р у ц к о в

М.

нического

зрения II Проблемы системного исследования и по­

строения гибких автоматизированных производств. М.: ВНИИСИ, 1986. Вып. 18. С. 89-93.

6. Системы параллельной обработки / Под ред. Д. Ивенса, М.: Мир, 1985. 413 с.

ЭВМ РАССМАТРИВАЕТ ИЗОБРАЖЕНИЯ

А. М. МИХАЙЛОВ

Введение

Как научить компьютер понимать изображения? Наиболее простой ответ состоит в том, что надо написать соответ­ ствующую программу. Однако разнообразие ситуаций, в которых требуется компьютерный анализ изображений (АИ), может привести к необходимости написания боль­ шого числа узкоспециализированных программ. Вместе с тем для широкого распространения компьютерной техни­ ки АИ нужны универсальные пакеты программ, чтобы ими можно было пользоваться без специальной подготов­ ки.

Другая проблема связана с выбором ЭВМ. Существу­ ют видеопроцессоры, решающие некоторые специализиро­ ванные задачи АИ. Но универсальные ЭВМ, способные выполнить любую программу, мало пригодны для анали­ за изображений. Дело в том, что алгоритмы АИ требуют такого объема вычислений, что человек проанализирует изображение настолько быстрее универсальной ЭВМ, на­ сколько она считает быстрее человека.

Пути преодоления скоростного барьера при анализе изображений видны в концепции открытой вычислитель­ ной системы, т. е. в конфигурации из универсальной ЭВМ и расширяемого набора спецпроцессорных модулей, несущих основную вычислительную нагрузку. Эффектив­ ность этого подхода определяется технологией «трансли­ рования» алгоритмов или программ в спецпроцессорные модули. В настоящее время технологии такого типа ин­ тенсивно развиваются. К ним относятся системы автома­ тизации проектирования печатных плат и СБИС, гибкие технологические линии по изготовлению кристаллов и сборки интегральных схем, а также экспертные системы, консультируясь с которыми, можно, в частности, исходя

120