RU2289161C1 - Device for processing two-dimensional and three-dimensional images - Google Patents
Device for processing two-dimensional and three-dimensional images Download PDFInfo
- Publication number
- RU2289161C1 RU2289161C1 RU2005104660/09A RU2005104660A RU2289161C1 RU 2289161 C1 RU2289161 C1 RU 2289161C1 RU 2005104660/09 A RU2005104660/09 A RU 2005104660/09A RU 2005104660 A RU2005104660 A RU 2005104660A RU 2289161 C1 RU2289161 C1 RU 2289161C1
- Authority
- RU
- Russia
- Prior art keywords
- matrix
- input
- processor
- information
- inputs
- Prior art date
Links
Images
Abstract
Description
Изобретение относится к вычислительной технике, предназначено для решения задач обработки двумерных и трехмерных изображений. Может быть применено в стационарных и бортовых системах технического зрения, ориентации и навигации автономных роботов, в системах автоматизированного проектирования для анализа и синтеза объектов сложной геометрической формы. Отличительной особенностью устройства является высокое быстродействие и возможность применения такого способа программной обработки сцен, когда роль элементарных операндов выполняют не отдельные элементы описания геометрических объектов, а целые двумерные и трехмерные изображения, содержащие внутри себя обрабатываемые геометрические объекты. Наряду с упрощением процесса программирования такой способ позволяет создавать программы, инвариантные по отношению к геометрической форме обрабатываемых объектов и пространственному положению объектов внутри изображений. Высокое быстродействие, небольшие габариты и надежность позволят создавать роботы с принципиально новым уровнем автономности.The invention relates to computer technology, is intended to solve the problems of processing two-dimensional and three-dimensional images. It can be applied in stationary and on-board systems of technical vision, orientation and navigation of autonomous robots, in computer-aided design systems for the analysis and synthesis of objects of complex geometric shapes. A distinctive feature of the device is its high speed and the possibility of using such a method of programmed processing of scenes when the role of elementary operands is performed not by individual elements of the description of geometric objects, but by whole two-dimensional and three-dimensional images containing processed geometric objects inside themselves. Along with simplifying the programming process, this method allows you to create programs that are invariant with respect to the geometric shape of the processed objects and the spatial position of the objects inside the images. High speed, small size and reliability will allow you to create robots with a fundamentally new level of autonomy.
Известно устройство для параллельной обработки трехмерных сцен [1, 2], представляющее собой многопроцессорную SIMD-систему и состоящее из однородной процессорной матрицы формата А×А×А (где А - целое число), блока программного управления, узлов поворота, сжатия, памяти изображений. В устройстве высокая скорость обработки трехмерных сцен достигается за счет глубокого распараллеливания основных процедур обработки сцен (теоретико-множественных операций, анализа объектов на пересекаемость, процедур вычисления площадей и объемов, геометрических преобразований поворота, переноса, сжатия), осуществляемых над бинарными трехмерными изображениями формата А×А×А. Недостатком этого устройства является небольшая скорость обработки двумерных изображений высокого разрешения из-за низкой степени распараллеливания геометрических преобразований переноса, поворота, сжатия бинарных изображений формата .A device for parallel processing of three-dimensional scenes [1, 2], which is a multiprocessor SIMD system and consisting of a homogeneous processor matrix of the format A × A × A (where A is an integer), a program control unit, rotation, compression, image memory units, is known . In the device, a high speed of processing three-dimensional scenes is achieved by deeply parallelizing the basic procedures for processing scenes (set-theoretic operations, analysis of objects for intersection, procedures for calculating areas and volumes, geometric transformations of rotation, transfer, compression) performed on binary three-dimensional images of the A × format A × A. The disadvantage of this device is the low processing speed of two-dimensional high-resolution images due to the low degree of parallelization of geometric transformations of transfer, rotation, compression of binary images of the format .
Наиболее близким к заявленному устройству является усовершенствованный вариант указанного устройства [3], содержащий в своем составе помимо средств высокопараллельной обработки бинарных изображений А×А×А также средства высокопараллельной обработки бинарных изображений . Кроме того, данное устройство позволяет выполнять ввод и вывод бинарных изображений формата А×А с высокой степенью параллелизации.Closest to the claimed device is an improved version of the specified device [3], which contains in addition to means for highly parallel processing of binary images A × A × A as well as means for highly parallel processing of binary images . In addition, this device allows you to input and output binary images of format A × A with a high degree of parallelization.
Недостатками прототипа являются: низкая точность и скорость решения задач обработки изображений. Недостатки вызваны: 1) низкой точностью и низкой скоростью вычисления объема (площади) одноцветного содержимого бинарного изображения; 2) низкой скоростью выполнения переноса и поворота составных изображений высокого и сверхвысокого разрешения; 3) низкой скоростью определения граничных координат одноцветного объекта на бинарном изображении; 4) низкой скоростью выполнения сжатия изображений; 5) нерациональным способом соединения памяти изображений с процессорной матрицей; 6) низкой скоростью ввода информации в процессорную матрицу; 7) низкой максимально допустимой частотой управления процессорной матрицей.The disadvantages of the prototype are: low accuracy and speed of solving image processing problems. The disadvantages are caused by: 1) low accuracy and low speed of calculating the volume (area) of the monochrome content of the binary image; 2) low speed of transfer and rotation of composite images of high and ultra-high resolution; 3) low speed of determining the boundary coordinates of a single-color object in a binary image; 4) low speed of image compression; 5) in an irrational way of connecting the image memory with the processor matrix; 6) low speed of information input into the processor matrix; 7) the low maximum allowable frequency of the processor matrix control.
Первая причина обусловлена тем, что для подсчета числа процессорных элементов (ПЭ) матрицы А×А×А, имеющих на выходе сигнал логической «1», в прототипе использован аналоговый сумматор 43 и импульсный вольтметр 44 [3], каждый i-й вход которого соединен с выходом i-го процессорного элемента матрицы А×А×А; цифровой код суммы формируется путем аналого-цифрового преобразования сигнала-результата суммирования [1]. Если U1 - уровень логической «1», U0 - уровень логического «0», то, так как U1>0, U0>0, U1/U0<100 для А≈10 будет A3×U0>10×U1, т.е. аналого-цифровое вычисление общего числа пикселей трехмерного бинарного изображения А×А×А, имеющих состояние «1» (другими словами, вычисление объема единичного содержимого бинарного изображения А×А×А), не может быть осуществлено с точностью до одного пикселя. Точное определение объема требует дополнительных процедур обработки. Кроме того, время такого аналого-цифрового вычисления велико, при большом разрешении процессорной матрицы амплитуда сигнала с выхода аналогового сумматора может достигать нескольких десятков и сотен вольт, понятно, что время переходных процессов будет здесь чрезвычайно большим. Неудачным является и способ подключения входов сумматора к процессорной матрице. Непосредственная связь с выходами процессоров приведет к переключениям элементов сумматора (а значит, и к дополнительному энергопотреблению) при любом изменении состояния выходов процессоров, даже в том случае, когда отсутствует необходимость в измерении объема. Кроме того, вычисление объема в прототипе выполняется с помощью отдельной команды без распараллеливания процесса выполнения этой процедуры с другими операциями (например, поворотами и сдвигами).The first reason is due to the fact that to calculate the number of processor elements (PE) of the A × A × A matrix having a logical 1 signal at the output, the prototype uses an
Вторая причина является существенной по причине важности обработки составных изображений в прикладных задачах. В большинстве задач полное размещение объектов внутри изображений возможно только при разрешении S>100. В то же время разрешение процессорной матрицы А×А×А в настоящее время не может превышать А=100 (для бортовых устройств этот показатель еще значительно меньше) из-за причин, связанных с необходимостью обеспечения приемлемых габаритов, надежности, энергопотребления и стоимости устройства. В связи с этим обработка изображений высокого разрешения может быть осуществлена только путем их пофрагментной обработки. При этом наибольшая скорость обработки трехмерных изображений достигается, когда одновременно обрабатываемым фрагментом является фрагмент А×А×А; а наибольшая скорость обработки двумерных изображений достигается, если одновременно обрабатываемым фрагментом является фрагмент . Обработка составных изображений mA×mA×mA (где m>1 - целое) связана с обменом информацией между отдельными фрагментами А×А×А этих изображений, такой обмен сопровождается необходимостью организации временного хранения передаваемой информации. В прототипе обмен целыми фрагментами А×А×А (при поворотах на углы n×90° и при параллельном переносе на m×А шагов содержимого составных изображений, где n, m - целые числа) с наибольшей скоростью осуществляется внутри процессорной матрицы. В то же время конструкция прототипа и его система команд позволяют выполнять обмен целыми фрагментами А×А×А в матрице только с одновременным осуществлением поворота передаваемых фрагментов на углы, кратные 90°, а это замедляет скорость выполнения параллельных переносов (из-за необходимости восстановления углового положения сдвинутого изображения после процедуры переноса). Кроме того, в прототипе любое обращение к памяти изображений (и при записи - команда ВВЫВ [2], и при чтении - команда ЧПИ [3]) сопровождается сдвигом фрагмента А×А×А на шаг, что при организации одношагового переноса составного бинарного изображения mA×mA×mA (где m>2) становится излишним и приводит к необходимости осуществления временного хранения сдвигаемого фрагмента А×А×А в локальной памяти матрицы. Но такое хранение в матрице прототипа, как было сказано выше, связано с необходимостью последующего восстановления угловой пространственной ориентации сохраненного фрагмента. Все это отрицательным образом сказывается на скорости обработки составных изображений в прототипе.The second reason is significant because of the importance of processing composite images in applications. In most tasks, the full placement of objects inside images is possible only at a resolution of S> 100. At the same time, the resolution of the A × A × A processor matrix cannot currently exceed A = 100 (for on-board devices, this figure is much lower) due to reasons related to the need to ensure acceptable dimensions, reliability, power consumption and cost of the device. In this regard, processing of high-resolution images can be carried out only by fragment-by-fragment processing. Moreover, the highest processing speed of three-dimensional images is achieved when the fragment being processed simultaneously is a fragment A × A × A; and the highest processing speed of two-dimensional images is achieved if the fragment being simultaneously processed is a fragment . The processing of composite images mA × mA × mA (where m> 1 is an integer) is associated with the exchange of information between the individual fragments A × A × A of these images, this exchange is accompanied by the need to organize temporary storage of the transmitted information. In the prototype, the exchange of whole fragments A × A × A (during rotations by angles n × 90 ° and parallel transfer by m × A of the steps of the contents of composite images, where n, m are integers) with the highest speed is carried out inside the processor matrix. At the same time, the prototype design and its command system allow the exchange of entire fragments A × A × A in the matrix only with simultaneous rotation of the transmitted fragments by angles that are multiples of 90 °, and this slows down the speed of parallel transfers (due to the need to restore the angular position of the shifted image after the transfer procedure). In addition, in the prototype, any access to the image memory (during writing, the command EXIT [2], and when reading, the command NIP [3]) is accompanied by a shift of the fragment A × A × A by a step, which when organizing a one-step transfer of a composite binary image mA × mA × mA (where m> 2) becomes redundant and leads to the need for temporary storage of the shifted fragment A × A × A in the local memory of the matrix. But such storage in the matrix of the prototype, as mentioned above, is associated with the need for subsequent restoration of the angular spatial orientation of the saved fragment. All this negatively affects the processing speed of composite images in the prototype.
Третья причина вызвана отсутствием в прототипе средств для высокоскоростного определения положения объекта на бинарном изображении и определения габаритных размеров объекта, это значительно увеличивает время решения задач обработки плоских и пространственных изображений. Так, вычисление крайней левой х-й координаты одноцветного объекта (образованного всеми пикселями изображения с яркостью 1) произвольной формы достигается в прототипе только путем многократного последовательного выполнения одношагового сдвига бинарного изображения, содержащего объект произвольной формы, вправо (в направлении ) с одновременным анализом содержимого этого сдвинутого изображения на пустоту. В момент выхода объекта за пределы изображения определяется искомая х-я координата.The third reason is caused by the lack in the prototype of means for high-speed determination of the position of the object in the binary image and determination of the overall dimensions of the object, this significantly increases the time it takes to solve the problems of processing flat and spatial images. So, the calculation of the extreme left xth coordinate of a single-color object (formed by all pixels of an image with brightness 1) of an arbitrary shape is achieved in the prototype only by repeatedly sequentially performing a one-step shift of a binary image containing an arbitrary shape object to the right (in the direction ) with the simultaneous analysis of the contents of this shifted image to void. At the moment the object leaves the image, the desired xth coordinate is determined.
Четвертая причина объясняется неправильным выбором оси сжатия для моделирования геометрических преобразований осевого сжатия над содержимым бинарных изображений А×А в узлах 4 [3] сжатия и отсутствием аппаратных средств для моделирования центрального сжатия изображений А×А с предельной степенью распараллеливания. В прототипе роль оси сжатия выполняет прямая PR [2], проходящая через центр квадрата А×А и параллельная стороне этого квадрата. Это сокращает общее число коэффициентов, сжатие изображения на которые могло бы быть реализовано с высокой степенью распараллеливания. Кроме того, решение некоторых прикладных задач обработки изображений (например, задачи построения трехмерных изображений по плоским стереоизображениям в реальном масштабе времени) требуют многократного выполнения центрального сжатия фрагментов А×А на фиксированный коэффициент. В прототипе такое преобразование может быть выполнено только путем последовательного выполнения нескольких осевых сжатий и поворотов, что снижает скорость решения задачи.The fourth reason is due to the wrong choice of the compression axis for modeling geometric transformations of axial compression over the contents of binary A × A images in nodes 4 [3] of compression and the lack of hardware for modeling central compression of A × A images with a maximum degree of parallelization. In the prototype, the role of the compression axis is played by the straight line PR [2], passing through the center of the square A × A and parallel to the side of this square. This reduces the total number of coefficients for which image compression could be implemented with a high degree of parallelization. In addition, the solution of some applied image processing problems (for example, the tasks of constructing three-dimensional images from flat stereo images in real time) require multiple central compression of A × A fragments by a fixed coefficient. In the prototype, such a transformation can only be performed by sequentially performing several axial contractions and rotations, which reduces the speed of solving the problem.
Пятая причина обусловлена тем, что в прототипе входы данных памяти изображений соединены непосредственно с выходами данных процессорной матрицы, а выходы данных памяти изображений соединены с входами матрицы только через блок коммутации. В результате стало невозможным совместить входы данных памяти изображений с ее выходами данных. Такой способ подключения делает невозможным обмен памяти изображений с узлами ввода-вывода изображений, минуя локальную память процессорной матрицы, это увеличивает время выполнения ввода-вывода, делает локальную память матрицы еще более дефицитным ресурсом. Кроме того, такое подключение удорожает дополнительное наращивание памяти изображений, снижает надежность устройства.The fifth reason is due to the fact that in the prototype the inputs of the image memory data are connected directly to the outputs of the processor matrix, and the outputs of the image memory data are connected to the inputs of the matrix only through the switching unit. As a result, it became impossible to combine the inputs of the image memory data with its data outputs. This connection method makes it impossible to exchange image memory with image input / output nodes, bypassing the local processor matrix memory, this increases the I / O execution time, and makes the local matrix memory an even more scarce resource. In addition, such a connection increases the cost of additional image memory, reduces the reliability of the device.
Шестая причина вызвана низкой скоростью ввода больших массивов данных в устройство. Так, при вводе оцифрованных фотоизображений в память прототипа значения разрядов кода яркости одного фотопикселя вводятся в матрицу процессоров через различные входы этой матрицы. Тем самым нарушается соответствие между введенной информацией об яркости пикселя и его у-ми и z-ми координатами в матрице А×А×А. Из-за особенностей процесса обработки изображений в рассматриваемых устройствах (который предполагает наличие такого соответствия между информацией об яркости пикселя и положением этой информации в матрице А×А×А) данный способ ввода требует выполнения дополнительных процедур для переноса введенной информации о каждом фотопикселе в свой процессор матрицы, координатно соответствующий этому фотопикселю. Кроме того, наличие в прототипе только одного узла ввода изображений не позволяет быстро вводить в устройство стереоизображения с целью построения на их основе трехмерных моделей объектов фотографируемых сцен. Отсутствуют также в прототипе и аппаратно-программные средства для параллельного ввода данных с выходов массивов датчиков (например, тактильных) в процессорную матрицу А×А×А устройства, в связи с чем ввод данных с выходов таких датчиков возможен только через внешний интерфейс блока управления прототипа. Перечисленное снижает скорость ввода изображений.The sixth reason is caused by the low speed of entering large amounts of data into the device. So, when entering digitized photo images into the memory of the prototype, the values of the bits of the brightness code of one photo pixel are entered into the processor matrix through various inputs of this matrix. Thus, the correspondence between the entered information about the brightness of the pixel and its y-th and z-th coordinates in the matrix A × A × A is violated. Due to the peculiarities of the image processing process in the devices under consideration (which assumes the existence of such a correspondence between the pixel brightness information and the position of this information in the A × A × A matrix), this input method requires additional procedures to transfer the entered information about each photo pixel to its processor matrix coordinate corresponding to this photo pixel. In addition, the presence in the prototype of only one node input images does not allow you to quickly enter into the device stereo images in order to build on their basis three-dimensional models of objects of photographed scenes. The prototype also lacks hardware and software for parallel input of data from the outputs of sensor arrays (for example, tactile) into the processor matrix A × A × A of the device, and therefore data input from the outputs of such sensors is possible only through the external interface of the prototype control unit . The above reduces the speed of image input.
Седьмая причина объясняется тем, что в прототипе каждый k-й сигнал управления процессорной матрицей поступает из блока управления ко всем ПЭ-м матрицы по одной и той же проводной линии. Поскольку ПЭ-в много и они распределены в пространстве, паразитные емкости и сопротивления проводных линий высоки, что снижает максимально допустимую частоту управления матрицей. Простое умощнение управляющего выхода с целью увеличения скорости перезаряда паразитных емкостей неэффективно, т.к. с возрастанием тока увеличивается площадь печатных проводников (что приводит к росту паразитных емкостей) и возрастает уровень помех. Используемые элементная база и несуще-соединительная конструкция прототипа не позволяют уменьшить габариты устройства и повысить плотность монтажа. Все это снижает максимально-допустимую частоту управления процессорной матрицей, а значит, и уменьшают вычислительную производительность устройства в целом.The seventh reason is due to the fact that in the prototype every k-th control signal of the processor matrix comes from the control unit to all the PE-m of the matrix on the same wire line. Since there are many PE-ins and they are distributed in space, the stray capacitances and resistances of the wire lines are high, which reduces the maximum permissible matrix control frequency. The simple refinement of the control output in order to increase the rate of recharge of stray capacitances is inefficient, because with increasing current, the area of printed conductors increases (which leads to an increase in stray capacitances) and the level of interference increases. The used elemental base and the supporting structure of the prototype do not allow to reduce the dimensions of the device and increase the density of installation. All this reduces the maximum allowable frequency of the processor matrix control, and therefore reduces the computing performance of the device as a whole.
Целью изобретения является повышение скорости и точности обработки двумерных и трехмерных изображений.The aim of the invention is to increase the speed and accuracy of processing two-dimensional and three-dimensional images.
Указанная цель достигается тем, что в коммутаторе входа локальной памяти каждого процессора матрицы введен дополнительный информационный вход, соединенный с информационным выходом регистра данного процессора, в каждый процессор матрицы введен дополнительный регистр, информационный вход которого соединен с информационным выходом локальной памяти этого процессора, управляющий вход соединен с дополнительно введенным управляющим выходом блока управления, а информационный выход соединен с соответствующим входом узла определения объема и с соответствующим входом формирователя кода заполнения, узел определения объема выполнен в виде цифрового комбинационного сумматора, формирователь кода заполнения выполнен в виде нескольких, не связанных между собой многовходовых схем ИЛИ, выходы которых соединены с дополнительно введенными информационными входами блока управления, введена матрица узлов буферной памяти, каждый узел которой состоит из двух одноразрядных регистров, информационный вход первого регистра соединен с соответствующим выходом матрицы процессоров, управляющий вход соединен с входом управления записью локальной памяти, информационный выход соединен с информационным входом второго одноразрядного регистра, управляющий вход которого соединен с управляющим входом регистра операнда процессора матрицы, а информационный выход соединен с соответствующими входами блока коммутации, введены дополнительные узлы сжатия, в которых введены дополнительные входы, соединенные с выходами матрицы процессоров, а выходы соединены с информационными входами блока коммутации, информационный вход и информационный выход каждого узла памяти соединен с соответствующим входом матрицы процессоров, являющимся одновременно информационным входом и информационными выходом устройства; введены дополнительные выходы блока управления, связанные с дополнительными входами блока коммутации, дополнительные выходы которого соединены с входами управления подключением информационных выходов датчиков к информационным входам процессорной матрицы, для каждого k-го сигнала управления матрицей множество элементов матрицы разбито на непересекаемые подмножества, для каждого подмножества введен усилитель первого каскада, выход которого соединен с k-м входом управления элемента данного подмножества, все множество усилителей m-го каскада разбито на непересекаемые подмножества, для каждого подмножества усилителей m-го каскада k-го сигнала управления матрицей введен усилитель m+1-го каскада, выход которого соединен с входом каждого усилителя m-го каскада своего подмножества, входы усилителей последнего каскада соединены с выходом блока управления, соответствующим k-му сигналу управления матрицей.This goal is achieved by the fact that an additional information input is connected to the information output of the register of this processor in the input switch of the local memory of each matrix processor, an additional register is introduced into each matrix processor, the information input of which is connected to the information output of the local memory of this processor, the control input is connected with an additionally entered control output of the control unit, and the information output is connected to the corresponding input of the volume detection unit and with the corresponding input of the fill code generator, the volume determination unit is made in the form of a digital combinational adder, the fill code generator is made in the form of several unconnected multi-input OR circuits, the outputs of which are connected to additionally entered information inputs of the control unit, a matrix of buffer nodes is introduced memory, each node of which consists of two single-bit registers, the information input of the first register is connected to the corresponding output of the processor matrix, the input input is connected to the local memory recording control input, the information output is connected to the information input of the second single-bit register, the control input of which is connected to the control input of the operand register of the matrix processor, and the information output is connected to the corresponding inputs of the switching unit, additional compression nodes are introduced in which additional inputs connected to the outputs of the processor matrix, and the outputs are connected to the information inputs of the switching unit, information input and information the output of each memory node is connected to the corresponding input of the processor matrix, which is both an information input and an information output of the device; introduced additional outputs of the control unit associated with additional inputs of the switching unit, the additional outputs of which are connected to the control inputs by connecting the information outputs of the sensors to the information inputs of the processor matrix, for each k-th signal of the matrix control, many matrix elements are divided into disjoint subsets, for each subset the amplifier of the first stage, the output of which is connected to the kth control input of an element of this subset, the whole set of amplifiers of the mth the stage is divided into disjoint subsets, for each subset of amplifiers of the mth stage of the kth matrix control signal, an amplifier m + of the 1st stage is introduced, the output of which is connected to the input of each amplifier of the mth stage of its subset, the inputs of the amplifiers of the last stage are connected to the output a control unit corresponding to the kth matrix control signal.
В отличие от прототипа в заявленном устройстве узел определения объема является полностью цифровой схемой, объем (площадь) объекта изображения вычисляется с точностью до одного пикселя, амплитуда сигналов внутри узла не превышает уровня логической «1». Переходные процессы внутри узла скоротечны, отпадает необходимость в цикле аналого-цифрового преобразования - все это увеличивает скорость обработки изображений. Входы сумматора не соединены непосредственно с выходами ПЭ, поэтому изменение состояния выходов данных ПЭ не приводит к обязательному переключению элементов сумматора и к дополнительному энергопотреблению. Вычисление объема выполняется параллельно с другими операциями (поворотами и сдвигами), что также увеличивает скорость обработки.Unlike the prototype in the claimed device, the volume determination unit is a fully digital circuit, the volume (area) of the image object is calculated with an accuracy of one pixel, the amplitude of the signals inside the unit does not exceed the logical level “1”. Transients inside the node are fleeting, there is no need for a cycle of analog-to-digital conversion - all this increases the speed of image processing. The inputs of the adder are not directly connected to the outputs of the PE, therefore, changing the state of the outputs of these PEs does not lead to the obligatory switching of the elements of the adder and to additional energy consumption. Volume calculation is performed in parallel with other operations (rotations and shifts), which also increases the processing speed.
В отличие от прототипа в заявленном устройстве реализованы команды переноса (ПРН а1, а2; ПРН+; ПPHV а1, а2), позволяющие выполнить перенос содержимого бинарного фрагмента А×А×А без изменения углового положения этого содержимого и за единицы машинных тактов. Кроме того, реализованы безадресные команды (СДВ, СДВ+, СДВУ, ИНЕ+, П1Х, П1Х+, П1XV и др.), позволяющие увеличить скорость обработки двумерных и трехмерных изображений за счет сокращения времени на обновление информации об адресах используемых операндов-изображений. В каждом процессоре матрицы А×А×А аппаратно реализована функция «отрицание равнозначности», часто используемая при сравнении анализируемых изображений с изображением-эталоном.Unlike the prototype, the claimed device implements transfer commands (PRN a1, a2; PRN +; PHV a1, a2) that allow transferring the contents of a binary fragment A × A × A without changing the angular position of this content and per unit of clock cycles. In addition, addressless commands (SDV, SDV +, SDLU, INE +, P1X, P1X +, P1XV, etc.) have been implemented, which increase the processing speed of two-dimensional and three-dimensional images by reducing the time it takes to update information about the addresses of the image operands used. In each processor of the A × A × A matrix, the function “negation of equivalence” is often implemented in hardware, which is often used when comparing the analyzed images with the reference image.
Замена А3-входовой схемы ИЛИ прототипа формирователем кода заполнения бинарного изображения (КЗБИ) в заявленном устройстве позволяет за один цикл обращения к выходам всех процессоров матрицы получить существенно большую информацию о характере распределения содержимого бинарного изображения А×А×А, чем в прототипе, поскольку многоразрядный КЗБИ заявленного устройства гораздо информативней одноразрядного выхода схемы А3-входовой схемы ИЛИ прототипа. Так, в заявленном устройстве для определения граничных х-координат объекта внутри изображения А×А×А требуется всего один цикл обращения к формирователю КЗБИ, а в прототипе для этого необходима уже целая процедура обработки, состоящая из нескольких одношаговых сдвигов содержимого изображения А×А×А и нескольких циклов обращения к А3-входовой схеме ИЛИ.Replacing the A 3- input OR circuit of the prototype with the binary image fill code shaper (KZBI) in the claimed device allows to obtain significantly more information about the nature of the distribution of the contents of the binary image A × A × A in one cycle than in the prototype, since the multi-bit KZBI of the claimed device is much more informative than the single-bit output of the A 3- input circuit OR prototype. So, in the claimed device to determine the boundary x-coordinates of the object inside the image A × A × A, only one cycle of access to the shaper KZBI is required, and in the prototype this requires a whole processing procedure, consisting of several one-step shifts of the contents of the image A × A × A and several cycles of accessing the A 3 input circuit OR.
В узлах сжатия заявленного устройства ось сжатия проходит не по центру квадрата А×А (как в прототипе), а по стороне этого квадрата, поэтому диапазон коэффициентов, осевое сжатие изображения А×А на которые может быть выполнено с предельной степенью распараллеливания, в заявленном устройстве в два раза шире, чем в прототипе. Кроме того, в узлах сжатия заявленного устройства аппаратно реализованы операции центрального сжатия изображения А×А, выполняемые с предельной степенью параллелизации. Все это повышает скорость обработки.In the compression nodes of the claimed device, the compression axis does not pass through the center of the square A × A (as in the prototype), but along the side of this square, therefore, the range of coefficients, axial compression of the image A × A to which can be performed with the maximum degree of parallelization, in the claimed device twice as wide as in the prototype. In addition, the compression nodes of the claimed device are hardware implemented central image compression operations A × A, performed with the utmost degree of parallelization. All this increases the processing speed.
В отличие от прототипа в заявленном устройстве одноименные входы и выходы данных у памяти изображений совмещены и соединены только с одноименными входами процессорной матрицы, в результате число проводных связей и электрических соединений между электронными компонентами устройства стало меньше. Обмен информацией между памятью изображений и узлами ввода-вывода стал возможным без участия процессорной матрицы, что увеличило скорость обмена. Появилась возможность дополнительного наращивания памяти изображений.Unlike the prototype in the claimed device, the inputs and outputs of the same name in the image memory are combined and connected only with the inputs of the processor matrix of the same name, as a result, the number of wire connections and electrical connections between the electronic components of the device has become smaller. The exchange of information between the image memory and input-output nodes became possible without the participation of the processor matrix, which increased the exchange rate. There was an opportunity to further increase the image memory.
В отличие от прототипа в заявленном устройстве ввод 2а-уровневых оцифрованных фрагментов А×А фотоизображений осуществляется путем последовательного ввода а бинарных изображений А×А с соблюдением соответствия между разрядным битом кода яркости пикселя и координатным положением этого пикселя на изображении, в результате по окончании ввода отпала необходимость в выполнении дополнительных процедур переноса информации об яркости пикселя из соседних процессоров матрицы в свой процессор матрицы. Кроме того, в состав заявленного устройства введен дополнительный узел ввода фотоизображений, что дало возможность ввода и обработки стереоизображений.Unlike the prototype in the claimed device, the input of 2 a- level digitized fragments A × A of photo images is carried out by sequentially inputting a binary images A × A in compliance with the correspondence between the bit bit of the pixel brightness code and the coordinate position of this pixel in the image, as a result, upon completion of input There is no need to perform additional procedures for transferring information about the brightness of a pixel from neighboring matrix processors to its matrix processor. In addition, the composition of the claimed device introduced an additional site for inputting photo images, which made it possible to input and process stereo images.
В отличие от прототипа в заявленном устройстве используется более совершенная специальная элементная база и другой тип несуще-соединительной конструкции, что позволяет уменьшить габариты устройства и паразитные емкости проводных связей. Кроме того, проводная сеть каждого k-го сигнала управления матрицей расчленена на несколько участков с паразитной емкостью, не превышающей допустимого значения Сдоп. Перезаряд каждого такого участка осуществляется при помощи дополнительно введенного усилителя, транслирующего k-й сигнал управления либо непосредственно от блока управления, либо через последовательную цепочку усилителей-ретрансляторов, площадь (и емкость) проводников при этом не возрастает. Поскольку время перезаряда паразитных емкостей уменьшается, максимально допустимая частота управления процессорной матрицей в заявленном устройстве будет выше, чем в прототипе.Unlike the prototype, the claimed device uses a more advanced special elemental base and another type of supporting-connecting structure, which allows to reduce the dimensions of the device and stray capacitance of wire connections. In addition, the wired network of each k-th signal of the matrix control is divided into several sections with a stray capacitance not exceeding the permissible value of C add . Each such section is recharged using an additionally introduced amplifier that transmits the kth control signal either directly from the control unit or through a serial chain of relay amplifiers, while the area (and capacity) of the conductors does not increase. Since the recharge time of parasitic capacities is reduced, the maximum allowable frequency of the processor matrix control in the claimed device will be higher than in the prototype.
На фиг.1 изображена функциональная схема устройства. На фиг.2 показан общий вид варианта устройства. На фиг.3 изображена принципиальная схема процессорного элемента матрицы А×А×А и показаны основные пути передачи данных внутри и вне матрицы при выполнении операции одношагового переноса бинарного изображения А×А×А в направлении . Фиг.4 поясняет принцип реализации в устройстве одношагового переноса плоских изображений формата в направлениях ОпХп и ОпYп. На фиг.5 показаны системы процессоров матрицы А×А×А, являющиеся замкнутыми относительно своих ортогонально-кольцевых связей (ОКС) и реализуемые при помощи микросхемы БИС24. На фиг.6, 7 изображены вариант схемы узла определения объема и вариант схемы формирователя КЗБИ соответственно. Фиг.8 поясняет реализацию в устройстве операций переноса и поворота составных трехмерных изображений на углы, кратные 90°. На фиг.9, 10, 11, 12, 13 показан полный спектр р-дискретизирующих преобразований, моделирующих повороты бинарного изображения 9×9 на углы 0°<α≤45°. Полный спектр р-дискретизирующих преобразований, моделирующих геометрические преобразования сжатия бинарного изображения 9×9, показан на фиг.14. Фиг.15 иллюстрирует программное сжатие бинарного изображения А×А×А. Фиг.16 поясняет принцип моделирования поворота трехмерных бинарных составных изображений на угол, не кратный 90°. Фиг.17, 18 поясняют принцип моделирования поворота двумерных бинарных составных изображений на угол, не кратный 90°. Фиг.19 поясняет принцип моделирования центрального сжатия двумерных бинарных составных изображений. Фиг.20 поясняет принцип построения трехмерных моделей объектов по их плоским стереоизображениям. Принципиальная схема микросхем БИС24А, БИС24 В, БИС24С, БИС24D показана на фиг.21, их корпуса и расположение выводов показаны на фиг.22. На фиг.23, 24 изображены принципиальные схемы микросхем БИССС и БИСП соответственно. На фиг.25 показан вариант конструкции платы БОХВИ. На фиг.26 представлен чертеж печатных проводников одной из плат БОХВИ. На фиг.27 изображена функциональная схема узла ввода фотоизображений.Figure 1 shows the functional diagram of the device. Figure 2 shows a General view of a variant of the device. Figure 3 shows a schematic diagram of a processor element of the matrix A × A × A and shows the main data transmission paths inside and outside the matrix when performing the operation of a one-step transfer of the binary image A × A × A in the direction . Figure 4 explains the principle of implementation in the device one-step transfer of flat format images in the directions OpHp and OpYp. Figure 5 shows the processor system matrix A × A × A, which are closed relative to their orthogonal-ring bonds (ACS) and implemented using the chip BIS24. Figures 6, 7 show a variant of the circuit of the volume determination unit and a variant of the circuit of the KZBI shaper, respectively. Fig.8 explains the implementation in the device of the transfer and rotation of composite three-dimensional images at angles that are multiples of 90 °. Figures 9, 10, 11, 12, 13 show the full spectrum of p-sampling transformations simulating the rotation of a
Устройство состоит из блока 1 управления (БУ) и блока 2 обработки, хранения, ввода и визуализации изображений (БОХВИ). Блок 1 включает в себя центральный управляющий процессор 3 с регистром 4 микрослова и программно-адресуемыми регистрами 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, память 15 программ и данных, контроллеры 16 внешних устройств 17, мультиплексор 18 адреса локальной памяти, элементы 19, 20, 21, 22, 23, 24, 25, 26, 27, 28 И, триггер 29, элемент задержки 30. Связь блока 1 с внешними устройствами осуществляется посредством интерфейса 31. Блок 2 состоит из матрицы 32 процессоров 33, памяти 34 изображений, коммутатора 35 поворотов, узла 36 сжатий, коммутатора 37 циклического переноса, буферной памяти 38, буферной памяти 39, коммутатора 40 3D-сдвигов, коммутатора 41 2DХ-сдвигов, коммутатора 42 2DY-сдвигов, узла 43 определения объема, формирователя 44 кода заполнения бинарного изображения (КЗБИ), узлов 45 ввода фотоизображения, матриц 46 тактильных датчиков, узла 47 отображения, коммутатора 48 слова. Узел 36 состоит из преобразователя 49 сжатий и коммутатора 50 сжатий. Каждый процессор 33 состоит из локальной памяти 51, одноразрядного регистра 52 первого операнда, одноразрядного регистра 53 второго операнда, одноразрядного регистра 54 объема, коммутатора входа локальной памяти, состоящей из схемы 55 ИЛИ, схем 56, 57, 58, 59, 60, 61, 62, 63 И, кроме того, в процессор 33 входит арифметико-логический узел, состоящий из схемы 64 И-НЕ и схемы 65 «отрицание равнозначности» (сложение по модулю 2). Код микрооперации дешифрируется в матрице 32 дешифраторами 66. Код управления входами матрицы 32 дешифрируется дешифратором 67. Узел 43 определения объема состоит из сумматоров 68, 69, 70. Каждый узел 45 ввода фотоизображений состоит из матрицы 71 ПЗС-приборов 72, коммутаторов 73, аналого-цифровых преобразователей 74, мультиплексоров 75, ключей 76, двоичного счетчика 77, дешифратора 78, схем 79 И, 80 ИЛИ, схемы 81 управления ПЗС.The device consists of a control unit 1 (CU) and a
Устройство работает следующим образом. В памяти 15 хранятся программы обработки. Каждая команда программы перед ее выполнением извлекается из памяти 15 и размещается в регистрах процессора 3, при этом адрес первого операнда размещается в регистре 11, адрес второго операнда - в регистре 12. Далее дешифрируется код операции извлеченной команды, после чего узлом микропрограммного управления процессора 3 вырабатываются сигналы микроопераций, необходимые для выполнения данной команды. Система команд заявленного устройства включает в себя арифметико-логические команды, команды условного и безусловного перехода, команды БОХВИ. Назначение и способ выполнения всех арифметико-логических команд, команд условного и безусловного перехода полностью определяются выбранной конструкцией процессора 3, памяти 15, интерфейса 31, которые выполняются по одной из известных схем (в частности, за их основу могут быть взяты центральный процессор, оперативная память и интерфейс ЭВМ «Электроника-100/25»). Содержимое одноразрядных слов, хранящихся по одному и тому же адресу в А3-узлах локальной памяти 51 процессоров 33 матрицы 32, в зависимости от выполняемой команды интерпретируется устройством либо как трехмерное бинарное изображение А×А×А, либо как двумерное фонарное изображение формата . На фиг.4 (а, б) показан способ представления содержимого трехмерного бинарного изображения 9×9×9 в виде двумерного бинарного изображения формата 27×27. В таблице 1 перечислены все команды БОХВИ и дано их описание. Каждой команде соответствует своя микропрограмма - набор микрокоманд, последовательное выполнение которых приводит к выполнению операции, заданной в команде. После дешифрации кода операции адрес начального микрослова команды записывается в регистр микроадреса процессора 3. По этому микроадресу из памяти микропрограмм процессора 3 извлекается управляющее микрослово и загружается в регистр 4. Это микрослово содержит управляющее поле, разряды которого используются для генерации сигналов требуемых микроопераций, а также поле следующего микроадреса и поле кода микроветвления. Поле следующего микроадреса содержит базовый микроадрес, который указывает на следующее микрослово при естественной последовательности выборки микрослов. Этот базовый микроадрес может быть модифицирован с целью микроветвления, поле кода микроветвления определяет, какие признаки необходимо проверить и использовать для модификации микроадреса. Часть управляющего поля микрослова образует поле управления БОХВИ, в это поле входят следующие группы двоичных разрядов:The device operates as follows. The
разрone
bit
Все команды управления БОХВИ устройства перечислены в таблице 1.All control commands for the BOCHI device are listed in table 1.
Перечисленные команды управления БОХВИ выполняются следующим образом.The listed control commands BOCHVI are performed as follows.
Микропрограмма команды П1Х состоит из микрокоманды, в управляющем поле БОХВИ микрослова которой установлены биты:The firmware of the P1X command consists of a micro-command, in the control field of the BOCHI microsword of which the bits are set:
После расшифровки кода команды процессор 3 по тактовому импульсу С1 записывает микрослово команды П1Х в регистр 4 микрослова. После этого мультиплексор 18 адреса соединяет выходы регистра 11 адреса первого операнда с входами ADR процессорной матрицы, а мультиплексоры, образованные дешифраторами 66 и элементами 56, 57, 58, 59, 60, 61, 62, 63, соединяют входы данных локальной памяти 51 с выходами соответствующих процессоров 33 через входы iX1. По тактовому импульсу С2 посредством CWR1 происходит чтение содержимого локальной памяти 51 по адресу ADR в регистры 52, в результате на выходах oD всех процессоров 33 появляется исходное (поворачиваемое) трехмерное бинарное изображение А×А×А, а на входах данных локальной памяти формируется результирующее (повернутое) изображение А×А×А. Одновременно содержимое строки A×1×1 последнего (относительно Ох) слоя А×А×1 записывается в А разрядов программно-адресуемого регистра 13, это обеспечивает возможность передачи данных из БОХВИ в БУ. С приходом С3 сигнал WR запишет повернутое изображение в локальную память процессоров 33 по адресу ADR.After deciphering the command code, the
Микропрограмма команды П1Х+ состоит из микрокоманды, поле управления БОХВИ которой содержит биты:The firmware of the П1Х + command consists of a micro-command, the BOCHI control field of which contains the bits:
Выполнение этой команды отличается от выполнения П1Х только тем, что после записи повернутого изображения в локальную память содержимое регистра 11 увеличивается на 1 по импульсу С4 посредством сигнала +1А1.The execution of this command differs from the execution of P1X only in that after recording the rotated image in the local memory, the contents of
Микропрограмма команды П1ХУ состоит из одной микрокоманды, поле управления БОХВИ которой содержит биты:The firmware of the П1ХУ command consists of one micro-command, the BOCHI control field of which contains the bits:
Выполнение этой команды отличается от выполнения П1Х только тем, что чтение поворачиваемого изображения из локальной памяти производится одновременно и в регистр 52, и в регистр 54 каждого процессора 33. При этом сигнал CWR3 с выхода элемента 23 И устанавливает триггер-флаг 29 в лог.1 на время выполнения процедуры вычисления, объема и формирования кода КЗБИ. С окончанием чтения в регистры 54 начинается процесс вычисления объема прочитанного изображения А×А×А и формирование кода КЗБИ. Затем сигнал CWR3, пройдя через элемент 30 задержки, сбрасывает триггер-флаг 29 в лог.0, сообщая процессору 3 о завершении процедуры суммирования и процедуры формирования КЗБИ.The execution of this command differs from the execution of P1X only in that the rotated image is read from the local memory simultaneously to register 52 and to register 54 of each
Микропрограмма команды П1Х2 а2, а1 состоит из нескольких микрокоманд, при этом выполнение первых микрокоманд связано с чтением из памяти 15 адреса а1 и адреса а2 с записью прочитанных значений в регистр 11 адреса первого операнда и в регистр 12 адреса второго операнда соответственно (способ организации такого чтения зависит от выбора одной из известных конструкций блока 1). После чтения адресов операндов выполняется микрослово, поле управления БОХВИ которого содержит биты:The firmware of the P1X2 a2, a1 command consists of several microcommands, while the first microcommands are connected with reading address a1 and address a2 from
Запись в локальную память осуществляется посредством следующего микрослова, поле управления БОХВИ которого содержит биты:Writing to the local memory is carried out by means of the following microword, the control field of the BOCHI which contains bits:
Микропрограмма команды П1Х2У а2, а1 отличается от микропрограммы команды П1Х2 а2, а1 тем, что предпоследнее микрослово имеет разряд ССМ=1.The firmware of the P1X2U a2, a1 command differs from the firmware of the P1X2U a2, a1 command in that the penultimate microword has a bit CCM = 1.
Микропрограмма команды П1 Y состоит из микрокоманды:The firmware of the P1 Y command consists of a micro command:
Выполнение команды П1Y отличается от выполнения команды П1Х тем, что здесь выходы oD процессоров 33 соединены с входами локальной памяти через входы iY1.The execution of the P1Y command differs from the execution of the P1X command in that here the outputs oD of the
Микропрограмма команды П1Y+ состоит из микрослова:The firmware of the P1Y + command consists of a microword:
Выполнение команды П1Y+ отличается от выполнения команды П1Х+ тем, что здесь выходы oD процессоров 33 соединены с входами локальной памяти через входы iY1.The execution of the P1Y + command differs from the execution of the P1X + command in that here the outputs oD of the
Микропрограмма команды П1Y2 а2, а1 начинается с чтения адресов а1, а2 (как и в команде П1Х2 а2, а1). По окончании чтения выполняется микрослово, поле управления БОХВИ которого содержит биты:The firmware of the P1Y2 a2, a1 command starts by reading the addresses a1, a2 (as in the P1X2 a2, a1 command). At the end of the reading, a microword is executed, the BOCHI control field of which contains the bits:
Запись в локальную память осуществляется посредством следующей микрокоманды, поле управления БОХВИ которого содержит биты:Writing to the local memory is carried out by means of the following micro-command, the control field of which the BOCHI contains bits:
Микропрограмма команды П1Y2V а2, а1 отличается от микропрограммы команды П1Y2 а1, а2 только тем, что имеет значение разряда ССМ=1 в предпоследнем микрослове команды.The firmware of the command P1Y2V a2, a1 differs from the firmware of the command P1Y2 a1, a2 only in that it has a discharge value CCM = 1 in the penultimate microword of the command.
Микропрограмма команды П2Y состоит из микрокоманды, поле управления БОХВИ которой содержит биты:The firmware of the P2Y command consists of a micro-command, the BOCHI control field of which contains the bits:
Выполнение команды П2Y отличается от выполнения команды П1Х тем, что здесь выходы oD процессоров 33 соединены с входами локальной памяти через входы iY2.The execution of the P2Y command differs from the execution of the P1X command in that here the outputs oD of the
Микропрограмма команды П1Z состоит из микрослова, поле управления БОХВИ которого содержит биты:The firmware of the P1Z command consists of a microword whose BOCHI control field contains the bits:
Выполнение команды П1Z отличается от выполнения команды П1Х тем, что здесь выходы oD процессоров 33 соединены с входами локальной памяти через входы iZ1.The execution of the P1Z command differs from the execution of the P1X command in that here the outputs oD of the
Микропрограмма команды П12+ состоит из микрослова, поле управления БОХВИ которого содержит биты:The firmware of the P12 + command consists of a microword, the BOCHI control field of which contains the bits:
Выполнение команды отличается от выполнения команды П1Х+ тем, что здесь выходы oD процессоров 33 соединены с входами локальной памяти через входы iZ1.The execution of the command differs from the execution of the P1X + command in that here the outputs oD of the
Микропрограмма команды П1ZV состоит из микрослова, управляющее поле БОХВИ которого содержит биты:The firmware of the P1ZV command consists of a microword, the control field of the BOCHI which contains the bits:
Выполнение команды отличается от выполнения команды П1ХУ тем, что здесь выходы oD процессоров 33 соединены с входами локальной памяти через входы iZ1.The execution of the command differs from the execution of the P1XU command in that here the outputs oD of the
Микропрограмма команды П1Z2 а2, а1 начинается с чтения адресов а1, а2 (как и в команде П1Х2 а1, а2). По окончании чтения выполняется микрослово, поле управления БОХВИ которого содержит биты:The firmware of the P1Z2 a2, a1 command starts by reading the addresses a1, a2 (as in the P1X2 a1, a2 command). At the end of the reading, a microword is executed, the BOCHI control field of which contains the bits:
Запись изображения-результата поворота в локальную память осуществляется посредством следующего микрослова, поле управления БОХВИ которого содержит биты:The image-result of the rotation is recorded in the local memory by means of the following microword, the BOCHI control field of which contains bits:
Микропрограмма команды П1Z2V a2, а1 отличается от микропрограммы команды П1Z2 а1, а2 только тем, что предпоследняя микрокоманда имеет значение разряда ССМ=1.The firmware of the P1Z2V a2, a1 command differs from the firmware of the P1Z2 a1, a2 command only in that the penultimate microcommand has a discharge value CCM = 1.
Микропрограмма команды СДВ состоит из микрокоманды, поле управления БОХВИ микрослова которой содержит биты:The firmware of the SDV command consists of a micro command, the control field of the BOCHVI microword of which contains the bits:
После расшифровки кода команды СДВ центральный процессор 3 по тактовому импульсу С1 записывает микрослово команды СДВ в регистр 4 микрослова. После этого мультиплексор 18 соединяет выходы регистра 11 адреса первого операнда с входами ADR процессорной матрицы, а мультиплексоры, образованные дешифраторами 66 и элементами 56, 57, 58, 59, 60, 61, 62 и 63, соединяют входы данных локальной памяти 51 с выходами oD соседних (в направлении - Ох) процессоров 33 через входы iD процессоров 33. Входы iD процессоров 33, относящихся к первому (по направлению Ох) слою A×A×1, являются входами процессорной матрицы 32. Выходы oD процессоров 33, относящихся к последнему (по направлению Ох) слою A×A×1 матрицы А×А×А, являются выходами процессорной матрицы 32. По тактовому импульсу С2 посредством сигнала CWR1 происходит чтение содержимого локальной памяти 51 с адресом ADR в регистры 52, данные буферной памяти 39 записываются в буферную память 38. В результате на выходах oD процессоров 33 формируется исходное (сдвигаемое) трехмерное бинарное изображение А×А×А, а на входах данных локальной памяти 51 формируется результирующее (сдвинутое) изображение А×А×А. С приходом С3 сигнал WR запишет сдвинутое изображение в локальную память 51 процессоров 33 по адресу ADR, последний слой A×A×1 исходного изображения запишется в буферную память 39 (фиг.3). В зависимости от значения поля КУВМ (код управления входами матрицы) программно-адресуемого регистра 14, указывающего на источник данных для входов матрицы, выполнение команды СДВ сопровождается:After deciphering the code of the ADD command, the
а) КУВМ=0000 - записью содержимого последнего слоя A×A×1 исходного (не сдвинутого) изображения А×А×А в первый слой A×A×1 результирующего (сдвинутого) изображения А×А×А - циклический сдвиг;а) КУВМ = 0000 - by writing the contents of the last layer A × A × 1 of the initial (not shifted) image A × A × A to the first layer A × A × 1 of the resulting (shifted) image A × A × A — cyclic shift;
б) КУВМ=0001 - записью состояния А2 выходов буферной памяти 38 в первый слой A×A×1 результирующего изображения А×А×А;b) KUVM = 0001 - by recording the state A 2 of the outputs of the
в) КУВМ=0010 - записью части содержимого последнего слоя А×А×1 исходного изображения А×А×А и части выходов буферной памяти 38 в первый слой А×А×1 результирующего изображения для моделирования операции сдвига плоского изображения на 1 шаг вдоль оси ОпХп (фиг.4 - г, е);c) KUVM = 0010 - by recording part of the contents of the last layer A × A × 1 of the original image A × A × A and part of the outputs of the
г) КУВМ=0011- записью части содержимого последнего слоя A×A×1 исходного изображения А×А×А и части выходов буферной памяти 38 в первый слой A×A×1 результирующего (сдвинутого) изображения для моделирования операции сдвига плоского изображения на 1 шаг вдоль оси ОпYп (фиг.4 - в, д);d) KUVM = 0011 - by recording part of the contents of the last layer A × A × 1 of the original image A × A × A and part of the outputs of the
д) КУВМ=0100 - записью содержимого последнего слоя A×A×1, сжатого на коэффициент k, исходного изображения А×А×А в первый слой A×A×1 результирующего изображения А×А×А, тип сжатия (осевое или центральное) и номер коэффициента k определяются кодом КЗП (код значения параметра) регистра 14;d) KUVM = 0100 - by writing the contents of the last layer A × A × 1, compressed by a factor k, of the original image A × A × A to the first layer A × A × 1 of the resulting image A × A × A, compression type (axial or central ) and the coefficient number k are determined by the KZP code (parameter value code) of
е)КУВМ=0101-записью состояния А2 выходов памяти 34 изображений в первый слой A×A×1 результирующего изображения А×А×А;e) KUVM = 0101-recording state A 2 of the outputs of the
ж) КУВМ=0110 - записью содержимого последнего слоя A×A×1, повернутого на угол α≤45, исходного изображения А×А×А в первый слой A×A×1 результирующего изображения А×А×А, номер угла α задан кодом КЗП регистра 14;g) KUVM = 0110 - by writing the contents of the last layer A × A × 1, rotated by an angle α≤45, of the original image A × A × A to the first layer A × A × 1 of the resulting image A × A × A, the angle number α is given KZP code of the
з) КУВМ=0111 - записью состояния А выходов программно-адресуемого регистра 6 в первый слой A×A×1 результирующего изображения А×А×А в виде А одинаковых строк A×1×1 этого слоя;h) KUVM = 0111 - by writing the state A of the outputs of the software-
и) КУВМ=1000-записью состояния А2 выходов узла 451 ввода фотоизображения №1 в первый слой A×A×1 результирующего изображения А×А×А;i) KUVM = 1000-record state A 2 outputs node 451 input photo No. 1 in the first layer A × A × 1 of the resulting image A × A × A;
к) КУВМ=1001 - записью состояния А2 выходов узла 452 ввода фотоизображения №2 в первый слой A×A×1 результирующего изображения А×А×А;j) KUVM = 1001 - by recording the state of A 2 outputs of node 452 for inputting photo image No. 2 into the first layer A × A × 1 of the resulting image A × A × A;
л) КУВМ=1010 - записью состояния А2 выходов матрицы 461 тактильных датчиков в первый слой А×А×1 результирующего изображения А×А×А;l) KUVM = 1010 - by recording the state of A 2 outputs of the matrix of 461 tactile sensors in the first layer A × A × 1 of the resulting image A × A × A;
Микропрограмма команды СДВ+ состоит из микрокоманды, поле управления БОХВИ которой содержит биты:The firmware of the SDV + command consists of a microcommand whose BOCHI control field contains the bits:
Выполнение команды СДВ+ отличается от выполнения команды СДВ тем, что с окончанием сдвига сигналы +1А1, +1А2 увеличивают адреса операндов на 1.The execution of the SDV + command differs from the execution of the SDV command in that, with the end of the shift, the signals + 1A1, + 1A2 increase the operand addresses by 1.
Микропрограмма команды СДВУ состоит из одной микрокоманды, поле управления БОХВИ которой содержит биты:The firmware of the SDLD command consists of one micro command, the control field of which the BOCHI contains bits:
Выполнение команды СДВУ отличается от выполнения СДВ только тем, что чтение сдвигаемого изображения из локальной памяти производится одновременно и в регистр 52, и в регистр 54 каждого процессора 33. По окончании чтения начинается процесс вычисления объема прочитанного изображения А×А×А.The execution of the SDLD command differs from the execution of the SDL only in that the shifted image is read from the local memory both to the
Выполнение команды СДВ а2, а1 отличается от выполнения команды СДВ только тем, что перед выполнением сдвига из памяти 15 извлекаются адрес а1 (в регистр 11) и адрес а2 (в регистр 12).The execution of the ADD command a2, a1 differs from the execution of the ADD command only in that before the shift is made, address a1 (in register 11) and address a2 (in register 12) are extracted from
Микропрограмма команды ПРН+ состоит из двух микрокоманд:The firmware of the PRN + command consists of two microcommands:
иand
Первая микрокоманда читает исходное (копируемое) бинарное изображение А×А×А из локальной памяти 51 по адресу, хранящемуся в регистре 11, в регистры 52 процессоров 33. Вторая микрокоманда записывает прочитанное изображение в локальную память 51 по адресу, хранящемуся в регистре 12. После копирования содержимое регистров 11 и 12 увеличивается на 1.The first micro command reads the original (copied) binary image A × A × A from the
Микропрограмма команды ПРН а2, а1 отличается от микропрограммы команды ПРН+ только тем, что перед выполнением двух последних микрокоманд происходит чтение адресов а1, а2 из памяти 15 в регистры 11 и 12 соответственно.The firmware of the PRN command a2, a1 differs from the firmware of the PRN + command only in that before the last two microcommands are executed, the addresses a1, a2 are read from
Микропрограмма команды ПРНV a1, а2 отличается от микропрограммы команды ПРН а1, а2 тем, что предпоследнее микрослово имеет бит ССМ=1. В результате сразу после чтения копируемого изображения начинается вычисление объема прочитанного изображения и формирование КЗБИ.The firmware of the PRNV command a1, a2 differs from the firmware of the PRN command a1, a2 in that the penultimate microword has the CCM = 1 bit. As a result, immediately after reading the copied image, the calculation of the volume of the read image and the formation of the KBBI begin.
Микропрограмма команды ИНЕ+ состоит из двух микрокоманд:The firmware of the INE + command consists of two microcommands:
иand
При выполнении первой микрокоманды с приходом С2 читается первое изображение-операнд в регистры 52, а при выполнении второй микрокоманды по С2 читается второе изображение-операнд в регистры 53, затем С3 записывает изображение-результат выполненной теоретико-множественной операции (с выходов элементов 62 И-НЕ) в локальную память 51 по адресу второго операнда. После чего содержимое регистров 11 и 12 увеличивается на 1.When the first microcommand is executed with the arrival of C2, the first operand image is read into the
Микропрограмма команды ИНЕ а2,а1 отличается от микропрограммы команды ИНЕ+ тем, что перед выполнением двух последних микрослов происходит чтение адресов a1, а2 из памяти 15 в регистры 11 и 12 соответственно.The firmware of the INE a2, a1 command differs from the firmware of the INE + command in that before the last two microswitches are read, addresses a1, a2 are read from
Микропрограмма команды СМ2+ отличается от команды ИНЕ+ кодом КМО=010. Кодом КМО=010 отличается и микропрограмма команды СМ2 а1, а2 от команды ИНЕ а1, а2.The firmware of the CM2 + command differs from the INE + command by the KMO code = 010. The KMO code = 010 also differs in the firmware of the CM2 a1, a2 command from the INE a1, a2 command.
Микропрограмма команды ЗПИ состоит из одной микрокоманды, поле управления БОХВИ которой содержит биты:The firmware of the ZPI command consists of one micro-command, the BOCHI control field of which contains the bits:
При выполнении команды ЗПИ с приходом СЗ состояние всех А2 входов iD матрицы 32 (источник информации определяется кодом КУВМ) импульсом СЗП записывается в память 34 изображений по адресу АПИ, значение которого расположено в программно-адресуемом регистре-счетчике 7. Одновременно сдвигается на шаг содержимое матрицы по адресу, значение которого хранится в регистре 11 (для обеспечения возможности оперативного контроля записываемой информации). После записи содержимое регистра 7 сигналом +1А3 увеличивается на 1.When the ZPI command is executed with the arrival of the SZ, the state of all A 2 inputs of the iD matrix 32 (the information source is determined by the KUVM code) is recorded by the SZP pulse in the memory of 34 images at the address of the SIA, whose value is located in the programmable
Микропрограмма команды ЗУО состоит из одной микрокоманды, поле управления БОХВИ которой содержит биты:The firmware of the ZUO command consists of one micro-command, the BOCHI control field of which contains the bits:
При выполнении команды ЗУО с приходом С3 состояние всех А2 входов iD матрицы (источник информации определяется кодом КУВМ) импульсом СЗО записывается в память узла 47 отображения по адресу АЛО, значение которого расположено в регистре 5. Одновременно сдвигается на шаг содержимое матрицы 32 по адресу, значение которого хранится в регистре 11 (для обеспечения возможности оперативного контроля записываемой информации). После записи содержимое регистра 5 сигналом +1А3 увеличивается на 1. Конструкция и работа узла 47 не отличаются от конструкции и работы узла отображения прототипа.When the ZUO command is executed with the arrival of C3, the state of all A 2 inputs of the iD matrix (the information source is determined by the KUVM code) is recorded by the SZO pulse in the memory of the
Сумматор узла 43 определения объема в общем случае может быть выполнен по любой из известных схем двоичных сумматоров [5]. Выбор конкретной схемы сумматора 43 определяется выбором элементной базы процессорной матрицы 32 и способом компоновки электронных компонентов матрицы 32 на платах устройства. Для уменьшения габаритов матрицы А×А×А и повышения тактовой частоты ее управления необходимо размещать компоненты матрицы с максимально возможной плотностью. Поскольку всю процессорную матрицу 32 невозможно разместить на одном полупроводниковом кристалле, процессоры 33 и часть ее межпроцессорных связей реализуются внутри нескольких (от десятков до сотен) кристаллов, другая часть межпроцессорных связей выполняется в виде проводных связей между этими кристаллами. Надежность межкристальных связей определяется применяемым способом выполнения электрического соединения (неразъемные соединения надежнее разъемных).The adder of the
Отсюда для повышения надежности устройства необходимо уменьшать число применяемых кристаллов, увеличивать долю внутрикристальных межпроцессорных связей, уменьшать долю разъемных межкристальных соединений. В то же время неоправданное уменьшение разъемных соединений может привести к недопустимому увеличению длины проводных связей или к резкому снижению ремонтнопригодности устройства. Наибольшую долю межпроцессорных связей прототипа составляют ортогонально-кольцевые связи (ОКС), реализующие повороты содержимого матрицы А×А×А на углы n×90° (где n - целое число) вокруг центральных ортогональных осей (Ox,Oy,Oz) куба А×А×А (фиг.5-г). Поэтому целесообразно размещать внутри одного кристалла все процессорные элементы 33 (с их ОКС), соответствующие кубики 1×1×1 которых при поворотах куба А×А×А на углы, кратные 90° градусов, переходят друг в друга. Процессорные элементы, удовлетворяющие этому условию, образуют замкнутую систему относительно своих ОКС. В матрице А×А×А можно выделить 4 типа таких замкнутых процессорных систем (ЗПС1, ЗПС6, ЗПС8, ЗПС24), содержащих 1, 6, 8 и 24 процессорных элементов 33 каждая соответственно (фиг.5). Наиболее многочисленной и универсальной является 24-процессорная замкнутая система (ЗПС24) - фиг.5 (г). В случае размещения ЗПС24 внутри одного кристалла (условно назовем такой кристалл БИС24) все ОКС процессоров 33 данной ЗПС24 тоже размещаются внутри этого кристалла. Возьмем за основу вышеописанный способ упаковки процессоров 33 в кристалле, тогда можно предложить следующую конструкцию узла 43 (фиг.6), допускающую возможность высокоплотной упаковки кристаллов матрицы А×А×А на плате. Узел 43 представляет собой многоступенчатый сумматор, каждая первая ступень 68 которого размещается внутри БИС24, выполняется по схеме параллельного комбинационного сумматора, и суммирует логические состояния с выходов регистров 52 24-х процессоров этого кристалла; вторая ступень 69 сумматора 43 размещается внутри этого же кристалла и суммирует код с выходов первой ступени сумматора 68 своего кристалла с выходным кодом второй ступени 69 соседнего кристалла БИС24.Hence, to increase the reliability of the device, it is necessary to reduce the number of crystals used, increase the share of intra-chip interprocessor connections, and reduce the share of detachable cross-chip connections. At the same time, an unjustified decrease in detachable connections can lead to an unacceptable increase in the length of wire ties or to a sharp decrease in the maintainability of the device. The largest share of prototype interprocess connections is made up of orthogonal-ring connections (ACS), which realize rotations of the contents of the matrix A × A × A by angles n × 90 ° (where n is an integer) around the central orthogonal axes (Ox, Oy, Oz) of the A × cube A × A (FIG. 5-g). Therefore, it is advisable to place all processor elements 33 (with their ACS) inside one crystal, the corresponding
Суммирование на этом этапе осуществляется последовательно от кристалла к кристаллу (фиг.6), образуя по схеме суммирования последовательную цепь связанных микросхем БИС24 (S-цепь). Из кристаллов БИС24, размещенных на одной стороне платы БОХВИ, формируется несколько таких S-цепей (независимых друг от друга по схеме суммирования). От числа кристаллов БИС24, входящих в самую длинную S-цепь, зависит время выполнения второго этапа суммирования (чем короче S-цепь, тем выше скорость суммирования). Коды частных сумм, снимаемые с выходов ступеней 69 кристаллов, находящихся в конце S-цепей, поступают на входы следующих ступеней-сумматоров 70, выполненных согласно одной из известных схем пирамидальных сумматоров [5] с использованием традиционной элементной базы. Микросхемы ступеней 70 расположены на плате за пределами участков платы, занятых микросхемами БИС24 (фиг.26).Summation at this stage is carried out sequentially from crystal to crystal (Fig.6), forming according to the summation scheme a sequential chain of connected BIS24 microcircuits (S-chain). From these BIS24 crystals placed on one side of the BOCHVI board, several such S-chains are formed (independent of each other according to the summation scheme). The execution time of the second summation stage depends on the number of BIS24 crystals included in the longest S-chain (the shorter the S-chain, the higher the speed of summation). The codes of partial sums taken from the outputs of
А-разрядный формирователь 44 кода заполнения бинарного изображения (КЗБИ) состоит из А независимых одноразрядных формирователей КЗБИ. Каждый i-й одноразрядный формирователь КЗБИ представляет собой А2-входовую схему ИЛИ, входы которого соединены с выходами регистров 54 всех процессоров 33, принадлежащих i-му слою А×А×1 матрицы. Логическая 1 на выходе j-го одноразрядного формирователя КЗБИ означает, что j-й слой А×А×1 трехмерного бинарного изображения А×А×А, хранящегося в данный момент в регистрах 54 матрицы А×А×А, не пуст (т.е. содержит хотя бы один пиксель 1×1×1 в состоянии лог.1). Выбор конкретной схемы формирователя 44 зависит от выбора элементной базы процессорной матрицы и способа компоновки электронных компонентов матрицы на платах устройства. Если взять за основу вышеописанный способ упаковки процессоров 33 в кристалле БИС24, тогда можно предложить следующую конструкцию узла 44 (фиг.7), допускающую возможность высокоплотной упаковки кристаллов матрицы 32 на плате. В БИС24 вводятся шесть 4-входовых элементов 441 ИЛИ-НЕ, по одному элементу 441 на один слой ЗПС24. Процессоры 33 i-го слоя ЗПС24 (где 0≤i≤5) одновременно входят в состав j-го слоя А×А×1 (где 0≤i≤A-1) процессорной матрицы А×А×А. Каждый элемент 441 является первой ступенью одноразрядного формирователя КЗБИ, вторая ступень 442 выполнена по схеме «монтажное ИЛИ», третья ступень 443 выполнена по схеме И-НЕ и объединяет выходы всех ступеней 442 j-го одноразрядного формирователя КЗБИ.
Входы процессорной матрицы 32 одновременно являются информационными входами и выходами устройства и позволяют организовать высокоскоростной ввод-вывод больших массивов информации. В случае использования заявленного устройства для целей очувствления роботов эти входы могут быть использованы для ввода видеоинформации, а также информации, поступающей с выходов матриц 46 тактильных (или других типов) датчиков, моделирующих «рецепторы» робота. Простейший пример матрицы 46 - это массив несвязанных между собой пар контактов, работающих на замыкание и размыкание. Более сложно организованный массив датчиков встречается при вводе фотоизображений с выходов узлов 45.The inputs of the
Работу узлов 45 ввода фотоизображений рассмотрим на примере устройства с процессорной матрицей 9×9×9. Световой поток, модулированный по освещенности, через оптическую систему (объективы, оптико-волоконный кабель) поступает на матрицу 71 из 27 ПЗС-приборов 72 (фиг.27). На каждый ПЗС-прибор 72 фокусируется свой участок 9×243 вводимого изображения 243×243. Каждый ПЗС-прибор 72 содержит 9 линеек фоточувствительных элементов по 243 элементов в каждой линейке (фиг.27). Каждая линейка имеет собственный регистр сдвига, поэтому с одного прибора 72 одновременно снимается 9 аналоговых сигналов. С 27 приборов 72 одновременно снимается 243 аналоговых сигнала, соответствующих горизонтальной строке вводимого изображения. ПЗС-приборы 72 объединены в группы по 3 прибора 72 в каждой группе, каждой группе приборов 72 соответствует 9 аналого-цифровых 8-разрядных преобразователей 74. Подключение выходов ПЗС-приборов 72 к входам АЦП-преобразователей 74 осуществляется с помощью коммутаторов 73. Подключение выходов АЦП-преобразователей 74 к входам процессорной матрицы 9×9×9 осуществляется с помощью мультиплексоров 75 и ключей 76. Управляет коммутаторами счетчик 77, при этом младшая часть счетчика (0, 1, 2 разряды) управляет коммутаторами 75, старшая часть счетчика (3, 4 разряды) управляет коммутаторами 73. Кроме того, третьим состоянием выходов коммутаторов 76 управляет выход дешифратора 67 (У8 - для узла 451, У9 - для узла 452). Съем фотоизображения производится командой ЧТФ, состоящей из микрокоманды, поле управления БОХВИ микрослова которой содержит биты:The work of the
Сигнал СНУ осуществляет чтение ПЗС-линеек, после чего схема 81 сдвигает прочитанное содержимое на выход ПЗС-приборов 72. Если У8 (У9)=1, сигналы с выходов коммутаторов 74 поступают на входы матрицы 9×9×9. При выполнении команд типа СДВ (или ЗПИ) информация с входов матрицы 32 записывается в первый слой А×А×1 матрицы 32 по адресу, хранящемуся в регистре 11 (или в память 34 по адресу, хранящемуся в регистре 7). После записи сигнал +1А3 добавляет 1 в счетчик 77 и содержимое на входах матрицы 32 меняется. Одновременно изменяется содержимое адресных регистров-счетчиков 5, 7.The SNU signal reads the CCD arrays, after which the
Рассмотрим использование вышеописанных команд управления БОХВИ для реализации простейших и наиболее часто используемых процедур обработки изображений высокого разрешения. Принцип обработки таких изображений с помощью заявленного устройства проиллюстрируем на примере трехмерного бинарного составного изображения 3А×3А×3А (фиг.8-а). Вариант размещения этого изображения в локальной памяти 49 матрицы 19 показан на фиг.8 (б) и состоит в размещении всех его 27 фрагментов F(i,j,k) формата А×А×А по 27 последовательным адресам (ADR1...ADR27) памяти 49. Установим взаимно-однозначное соответствие между фрагментами F(i,j,k) изображения 3А×3А×3А и адресом этого фрагмента в памяти 49, тогда параллельный перенос содержимого бинарного изображения 3А×3А×3А на вектор [qA,rA,sA] (где q,r,s - целые числа) сводится к последовательному обмену содержимым между фрагментами А×А×А с адресами ADR1...ADR27 (путем последовательного выполнения команд ПРН) и заполнению освободившихся фрагментов пустым содержимым (при помощи команд СМ2 а1, а1).Consider the use of the above-mentioned BOHVI control commands to implement the simplest and most commonly used high-resolution image processing procedures. The principle of processing such images using the claimed device is illustrated by the example of a three-dimensional binary
Сдвиг составного бинарного изображения 3А×3А×3А на один шаг в направлении Ох уже предполагает обмен слоями А×А×1 между фрагментами F(i,j,k). Программа, реализующая сдвиг изображения 3А×3А×3А на 1 шаг по Ох, приведена на фиг.8 (в).The shift of the composite
Сжатия и повороты изображений А×А×А моделируются в устройстве при помощи т.н. р-дискретизирующих преобразований [2, 6]. При этом весь спектр р-дискретизирующих преобразований, моделирующих повороты бинарного изображения А×А на углы 0°<α≤45°, реализован в устройстве аппаратно (в узлах поворота), а из всего спектра р-дискретизирующих преобразований, моделирующих геометрические преобразования сжатия, часть преобразований (наиболее часто используемых) реализована в БОХВИ аппаратно (в узлах сжатия), другая часть этого спектра реализуется программно. Поясним сказанное на примере устройства с матрицей 9×9×9. Полный спектр р-дискретизирующих преобразований, моделирующих повороты бинарного изображения 9×9 на углы 0°<α≤45°, показан на фиг.9, 10, 11, 12, 13. Полный спектр р-дискретизирующих преобразований, моделирующих геометрические преобразования сжатия бинарного изображения 9×9 относительно стороны формата этого изображения, показан на фиг.14 (на примере сжатия одной строки 9×1). Способ реализации р-дискретизирующих преобразований в узлах поворота и сжатия заявленного устройства не отличается от способа реализации этих преобразований в узлах поворота и сжатия прототипа. Кроме того, устройство позволяет с достаточно высокой скоростью моделировать сжатия бинарных изображений программным способом. Фиг.15 иллюстрирует программное сжатие бинарного изображения А×А×А относительно плоскости грани куба А×А×А формата этого изображения.Compressions and rotations of images A × A × A are simulated in the device using the so-called. p-discretizing transformations [2, 6]. Moreover, the entire spectrum of p-discretizing transformations simulating the rotation of the binary image A × A at
Повороты составного бинарного изображения 3А×3А×3А на углы, кратные 90°, вокруг осей Ox, Oy, Oz выполняются последовательным выполнением команд П1Х, П1Y, П1Z, П2Y. Повороты на углы, не кратные 90°, выполняются в общем случае только над содержимым внутреннего куба (3/)A×(3/)A×(3/)A изображения 3А×3А×3А (фиг.16-а), при этом сначала выполняется расшивка внутреннего куба, затем выполняются повороты его отдельных фрагментов А/)×(А/)×(А/) (фиг.16-6), а затем повернутые фрагменты сшиваются в единое трехмерное изображение (фиг.16-в).Rotations of the composite
Поворот составного бинарного плоского изображения (3)×(3) включает в себя (фиг.17,18): 1) расшивку изображения (фиг.17-в); 2) поворот центрального содержимого фрагментов А×А расшитого изображения (фиг.18-а); 3) сшивание повернутых фрагментов в единое изображение (фиг.18-а). Принцип расшивки, поворота фрагментов расшитого изображения и последующего сшивания повернутых фрагментов в единое изображение дан в описании прототипа.Rotate a composite binary flat image (3 ) × (3 ) includes (Fig. 17,18): 1) image alignment (Fig. 17-c); 2) rotation of the central content of fragments A × A of the embroidered image (Fig. 18-a); 3) stitching rotated fragments into a single image (Fig.18-a). The principle of expanding, rotating fragments of the embroidered image and subsequent stitching of the rotated fragments into a single image is given in the description of the prototype.
Сжатие составного бинарного плоского изображения (m)×(m) состоит из:Compression of a composite binary flat image (m ) × (m ) consists of:
1) сжатия фрагментов (аппаратным или программным способом);1) fragment compression (hardware or software);
2) сшивания сжатых фрагментов в единое изображение (m)×(m). На фиг.19 (д) изображен результат центрального сжатия отдельных фрагментов А×А бинарного изображения, представленного на фиг.17(а). Здесь моделирование центрального сжатия каждого исходного фрагмента А×А (фиг.19-а) относительно центра G этого фрагмента (фиг.19-6) совмещено с моделированием параллельного переноса центра сжатого фрагмента из точки G в точку W (фиг.19 - в, г). На фиг.19 (е) показан окончательный результат сжатия составного изображения после сшивания отдельных сжатых фрагментов А×А в единое составное изображение.2) stitching compressed fragments into a single image (m ) × (m ) Fig. 19 (e) shows the result of central compression of individual fragments A × A of the binary image shown in Fig. 17 (a). Here, the simulation of the central compression of each source fragment A × A (Fig. 19-a) relative to the center G of this fragment (Fig. 19-6) is combined with the simulation of parallel transfer of the center of the compressed fragment from point G to point W (Fig. 19 - c, d). On Fig (e) shows the final result of compression of the composite image after stitching individual compressed fragments A × A into a single composite image.
Полутоновые составные изображения перед их обработкой в устройстве размещаются в памяти 51 матрицы 32. При этом двоичный код яркости одного пикселя размещается в памяти 51 того процессора 33, который в матрице А×А×А координатно соответствует данному пикселю так, что каждый разряд этого яркостного кода размещается по своему адресу, причем i-e разряды яркостных кодов всех пикселей фрагмента А×А×А расположены в памяти 51 по одному и тому же адресу. Числовая обработка яркостных кодов осуществляется одновременно во всех процессорах 33 последовательно разряд за разрядом (при помощи команд ИНЕ и СМ2, образующих функционально полный булевый базис). Передача яркостных кодов между пикселями-соседями внутри матрицы 19 для реализации числовых процедур, связанных с фильтрацией, сглаживанием изображений, оконтуриванием и выделением поверхностей на изображениях осуществляется при помощи описанных выше одношаговых сдвигов и поворотов на 90°.Before processing them, the grayscale composite images are placed in the
Общий принцип построения с помощью заявленного устройства трехмерных моделей объектов по их плоским стереоизображениям поясним на примере построения трехмерной модели криволинейного черного отрезка по его двум плоским изображениям, полученных при фотографировании этого отрезка на белом фоне в двух направлениях, отличающихся на угол φ (фиг.20). Пусть плоское бинарное изображение на фиг.20 (а) - это отфильтрованное изображение криволинейного отрезка, полученное узлом 32, а плоское бинарное изображение на фиг.20 (б) - это отфильтрованное изображение того же криволинейного отрезка, но полученное узлом 31. Синтезируем из каждого указанного плоского изображения два трехмерных изображения следующим образом. Сожмем оба плоских изображения до разрешения mAx mA, разместим сжатое плоское изображение на грани mA×mA составного куба mA×mA×mA перпендикулярно Ох (фиг.20 - в, д). Затем последовательно выполняя mA раз одношаговый сдвиг в направлении Ох и склейку исходного и сдвинутого изображений, получим бинарную модель участка поверхности (фиг.20 - г, е). Для каждого фотоизображения будет своя поверхность. Повернем одну поверхность относительно другой на угол φ (фиг.20 - ж) и выполним над ними теоретико-множественную операцию «пересечение». Результатом операции и будет искомая трехмерная пиксельная модель криволинейного отрезка.We will explain the general principle of constructing three-dimensional models of objects using their flat stereo images using the claimed device as an example of constructing a three-dimensional model of a curved black segment from its two flat images obtained by photographing this segment on a white background in two directions that differ by an angle φ (Fig. 20) . Let the flat binary image in FIG. 20 (a) be the filtered image of the curved line segment obtained by the
Вариант устройства, габариты которого позволяют использовать его в качестве бортового вычислителя в системе распознавания и ориентации автономного робота, показан на фиг.2. БОХВИ данного устройства включает: процессорную матрицу 9×9×9 (А=9); 729-входовой комбинационный сумматор, формирователь 9-разрядного кода КЗБИ, узлы поворота, узлы сжатия, буферную память, память изображений, узел отображения и узел ввода фотоизображений. БУ выполнен в виде одной платы. Емкость локальной памяти каждой ПЭ-матрицы - 512 бит. Вывод синтезированных изображений осуществляется на экран монитора, ввод фотоизображений осуществляется с помощью двух объективов, связанных с БОХВИ гибкими оптоволоконными кабелями.A variant of the device, the dimensions of which allow it to be used as an on-board computer in the recognition and orientation system of an autonomous robot, is shown in FIG. 2. BOCHVI of this device includes: a 9 × 9 × 9 processor matrix (A = 9); 729-input combiner, 9-bit KZBI code generator, rotation units, compression units, buffer memory, image memory, display unit and photo input unit. BU made in the form of a single board. The capacity of the local memory of each PE matrix is 512 bits. The output of the synthesized images is carried out on a monitor screen, the input of photo images is carried out using two lenses connected to BOCHVI with flexible fiber optic cables.
Для уменьшения габаритов устройства и повышения его надежности в качестве основной элементной базы БОХВИ можно применить 6 типов цифровых специализированных микросхем (условно их обозначим: БИС24А, БИС24В, БИС24С, БИС24В, БИССС, БИСП).To reduce the dimensions of the device and increase its reliability, 6 types of specialized digital circuits can be used as the main element base of the BOCHVI (we will conditionally designate them: BIS24A, BIS24V, BIS24S, BIS24V, BISSS, BISP).
Микросхемы БИС24А, БИС24 В, БИС24С, БИС240 предназначены для построения процессорной матрицы, первых ступеней узла определения объема и формирователя КЗБИ. Эти микросхемы являются аналогами кристалла БИС24, имеют одинаковое функциональное назначение и состав и отличаются только расположением внешних выводов. Использование нескольких типов кристаллов вместо одного типа кристалла БИС24 позволяет повысить тактовую частоту управления за счет высокой плотности монтажа. Каждая из этих микросхем содержит:Chips BIS24A, BIS24 V, BIS24S, BIS240 are designed to build a processor matrix, the first steps of the node for determining the volume and shaper KZBI. These microcircuits are analogs of the BIS24 crystal, have the same functional purpose and composition, and differ only in the location of the external terminals. The use of several types of crystals instead of one type of crystal BIS24 allows you to increase the clock frequency of the control due to the high density of installation. Each of these chips contains:
- 24 процессорных элемента 33, образующих вместе полную замкнутую систему ЗПС-24;- 24
- комбинационный сумматор с 7-разрядным выходом;- combination combiner with 7-bit output;
- 6 формирователей кода заполнения слоя;- 6 shapers code fill layer;
- преобразователь кода суммы.- sum code converter.
Принципиальная схема микросхем БИС24А, БИС24В, БИС24С, БИС240 показана на фиг.21, их корпуса и расположение выводов показаны на фиг.22. Обозначение выводов и их функциональное назначение приведены в табл.2. Микросхемы БИС24А, БИС24 В, БИС24С, БИС240 позволяют реализовать все виды ЗПС процессорной матрицы.The circuit diagram of the BIS24A, BIS24V, BIS24S, BIS240 microcircuits is shown in Fig. 21, their cases and pinouts are shown in Fig. 22. The designation of the findings and their functional purpose are given in table.2. Chips BIS24A, BIS24 V, BIS24S, BIS240 allow you to implement all types of ZPS processor matrix.
Переключение БИС24 в режим ЗПС24 производится путем отключения ее преобразователя кода суммы (ПР=0).Switching BIS24 to ZPS24 mode is done by disabling its sum code converter (PR = 0).
Для переключения БИС24 в режим ЗПС6 необходимо установить ПР=0 и электрически соединить между собой внешние входы (iD) следующих ПЭ микросхемы:To switch the BIS24 to ZPS6 mode, it is necessary to set PR = 0 and electrically connect the external inputs (iD) of the following PE microcircuits to each other:
1) П0, П1, П2, П3; 2) П4, П5, П6, П7; 3) П8, П9, П10, П11; 4) П12, П13, П14, П15;1) P0, P1, P2, P3; 2) P4, P5, P6, P7; 3) P8, P9, P10, P11; 4) P12, P13, P14, P15;
5) П16, П17, П18, П19; 6) П20, П21, П22, П23.5) P16, P17, P18, P19; 6) P20, P21, P22, P23.
На внешних входах iS0-iS6 сумматора устанавливается лог.0, код суммы снимается только с выходов oS1, oS2, oS3 сумматора микросхемы ((24/4)10=(110)2).Log.0 is set on the external inputs of the iS0-iS6 adder, the sum code is removed only from the outputs oS1, oS2, oS3 of the adder of the microcircuit ((24/4) 10 = (110) 2 ).
Для переключения БИС24 в режим ЗПС8 необходимо установить ПР=1 и электрически соединить внешние входы (iD) следующих ПЭ микросхемы:To switch BIS24 to ZPS8 mode, it is necessary to set PR = 1 and electrically connect the external inputs (iD) of the following PE microcircuits:
1) П0, П9, П23; 2) П1, П5, П22; 3) П2, П6, П13; 4) П3, П10, П14; 5) П4, П17, П21;1) P0, P9, P23; 2) P1, P5, P22; 3) P2, P6, P13; 4) P3, P10, P14; 5) P4, P17, P21;
6) П7, П12, П18; 7) П8, П16, П20; 8) П11, П15, П19.6) P7, P12, P18; 7) P8, P16, P20; 8) P11, P15, P19.
На входах iS0-iS6 сумматора устанавливается лог.0, код суммы снимается с выходов oS0-iS3 сумматора микросхемы.A log.0 is set at the inputs iS0-iS6 of the adder, the sum code is removed from the outputs oS0-iS3 of the adder of the microcircuit.
В режим ЗПС1 микросхема БИС24 переключается путем: 1) соединения всех ее 24 информационных входов iD; 2) на внешних входах сумматора устанавливается лог.0, код суммы снимается с 3-го или 4-го выхода сумматора микросхемы ((24)10=(1100)2).In ZPS1 mode, the BIS24 chip is switched by: 1) connecting all 24 of its iD information inputs; 2) at the external inputs of the adder, log 0 is set, the sum code is removed from the 3rd or 4th output of the adder of the microcircuit ((24) 10 = (1100) 2 ).
Микросхема БИССС предназначена для построения узлов сдвига, узлов сжатия, буферной памяти, 1-го банка памяти изображений. Принципиальная схема микросхемы показана на фиг.23 и состоит из 4 одинаковых одноразрядных частей, с одним входом DI и с одним выходом DO каждая. В БОХВИ каждый i-й вход DI микросхемы БИССС соединен с одноименным выходом матрицы А×А×А, а каждый i-й выход DO соединен с противоположным (по направлению Ox) входом матрицы А×А×А.The BISSS chip is designed to build shear nodes, compression nodes, buffer memory, and the 1st image memory bank. The circuit diagram of the microcircuit is shown in Fig. 23 and consists of 4 identical single-bit parts, with one DI input and with one DO output each. In BOCHVI, each i-th DI input of the BISSS chip is connected to the same output of the A × A × A matrix, and each i-th output DO is connected to the opposite (in the Ox direction) input of the A × A × A matrix.
БИСП предназначена для построения узла поворота и 2-го банка памяти изображений. Принципиальная схема микросхемы показана на фиг.24 и состоит из 4 одинаковых одноразрядных частей, с одним входом DI и с одним выходом DO каждая. В БОХВИ каждый i-й вход DI микросхемы БИССС соединен с одноименным выходом матрицы А×А×А, а каждый i-й выход DO соединен с противоположным (по направлению Ох) входом матрицы А×А×А.BISP is designed to build a rotation node and a 2nd image memory bank. The circuit diagram of the microcircuit is shown in Fig. 24 and consists of 4 identical single-bit parts, with one DI input and with one DO output each. In BOCHVI, each i-th DI input of the BISSS chip is connected to the same output of the A × A × A matrix, and each i-th DO output is connected to the opposite (in the direction of Ox) input of the A × A × A matrix.
Несущее-соединительная конструкция БОХВИ выполнена по схеме радиоэлектронного блока, описанного в [4], что значительно сокращает габариты устройства, уменьшает длину проводных связей, повышает тактовую частоту управления, обеспечивает ремонтопригодность устройства. Конструктивно БОХВИ состоит из набора плоских механически жестких плат, имеющих одинаковые габариты и связанных между собой специальными разъемными контактами-соединителями, равномерно расположенными по всей плоскости плат (фиг.2, 25-а). Ширина и высота БОХВИ определяются габаритными размерами самой большой платы, содержащей внутри себя ПЭ внешней оболочки матрицы 9×9×9. Наименьшие габариты БОХВИ достигаются в случае размещения микросхем с обеих сторон каждой платы. Вариант монтажной схемы 5-слойной платы, содержащей в себе ПЭ сразу 2 кубовых оболочек (9×9×9, 7×7×7) матрицы 9×9×9 (по кубовой оболочке с каждой стороны платы), показан на фиг.25 (б). На фиг.26 представлен чертеж печатных проводников верхнего слоя фрагмента этой платы (с микросхемами), содержащего тело кубовой оболочки 9×9×9 матрицы. Габаритные размеры всей платы БОХВИ не превышают 180 мм×220 мм. Длина БОХВИ определяется общим числом состыкованных плат (фиг.2). Вся процессорная матрица вместе с 729-входовым сумматором, полным 9-разрядным формирователем КЗБИ и комплектом усилителей управляющих сигналов матрицы, занимают от двух до трех плат. Буферная память, узлы поворота и сжатия, 2 банка памяти изображений занимают еще две платы. Таким образом, минимально необходимый комплект БОХВИ состоит из 4-5 плат. Состав БОХВИ может быть расширен за счет подключения дополнительных плат (например, плат 3-го, 4-го банка памяти изображений, плат высокоскоростного ввода-вывода изображений и др.) к 81-разрядной шине данных.The bearing-connecting structure of the BOCHVI is made according to the scheme of the electronic block described in [4], which significantly reduces the dimensions of the device, reduces the length of wire connections, increases the clock frequency of control, and ensures maintainability of the device. Structurally, the BOCHVI consists of a set of flat mechanically rigid boards having the same dimensions and interconnected by special detachable contact connectors, evenly spaced along the entire plane of the boards (Fig. 2, 25-a). The width and height of the BOCHI are determined by the overall dimensions of the largest board containing inside itself the PE of the outer shell of the
Таким образом, габариты БОХВИ позволяют использовать рассмотренный вариант заявленного устройства в качестве бортового вычислителя и оценить возможную тактовую частоту управления БОХВИ порядка 200-300 МГц. При такой частоте только формальная производительность обработки изображений достигает 150-200 млрд. операций в секунду. Если учесть, что устройство работает на всех этапах обработки изображений (от ввода исходных изображений, принятия решения до синтеза выводимых изображений) исключительно с пиксельными моделями объектов (т.е. здесь отпадает необходимость в смене метода геометрического моделирования - например, в переходе от пиксельного моделирования к моделированию многогранниками и обратно), алгоритмы решения задач более компактны и значительно короче алгоритмов традиционной числовой обработки, операции вычисления объема (площади), формирование КЗБИ выполняются одновременно с другими операциями обработки и имеют высокую степень распараллеливания, не зависящую от геометрической сложности обрабатываемых объектов, то выигрыш в скорости обработки изображений будет значительно выше названной формальной производительности. Устройство позволяет быстро выполнять предобработку исходных изображений, быстро синтезировать сложные трехмерные эталоны объектов и быстро осуществлять сравнение анализируемых объектов с этими эталонами.Thus, the dimensions of the BOHVI allow you to use the considered version of the claimed device as an on-board computer and to evaluate the possible clock frequency of the control of the BOHVI about 200-300 MHz. At this frequency, only formal image processing performance reaches 150-200 billion operations per second. Given that the device operates at all stages of image processing (from inputting source images, making decisions to synthesizing output images) exclusively with pixel models of objects (i.e., there is no need to change the method of geometric modeling, for example, in the transition from pixel modeling to modeling by polyhedra and vice versa), problem-solving algorithms are more compact and much shorter than traditional numerical processing algorithms, volume (area) calculation operations, the formation of KZBI performed simultaneously with other processing operations and have a high degree of parallelization, independent of the geometric complexity of the processed objects, the gain in image processing speed will be significantly higher than the formal productivity mentioned. The device allows you to quickly perform preprocessing of source images, quickly synthesize complex three-dimensional standards of objects, and quickly compare the analyzed objects with these standards.
Таким образом, по сравнению с прототипом заявленное устройство позволяет повысить скорость и точность обработки изображений. Быстродействие и небольшие габариты устройства дают возможность создать на его основе недорогие очувствленные роботы с чрезвычайно высокой степенью автономности, что, в свою очередь, позволит автоматизировать сферы человеческой деятельности, в настоящее время не подлежащие автоматизации.Thus, in comparison with the prototype of the claimed device can improve the speed and accuracy of image processing. The speed and small dimensions of the device make it possible to create inexpensive sensible robots with an extremely high degree of autonomy on its basis, which, in turn, will automate spheres of human activity that are currently not subject to automation.
ИСТОЧНИКИ ИНФОРМАЦИИINFORMATION SOURCES
1. Авт. свидетельство СССР №1456965.1. Auth. USSR certificate No. 1456965.
2. Авт. свидетельство СССР №1612307.2. Auth. USSR certificate No. 1612307.
3. Авт. свидетельство СССР №1817109.3. Auth. USSR certificate No. 1817109.
4. Патент на изобретение №2192716.4. Patent for the invention No. 2192716.
5. Угрюмов Е.П. Цифровая схемотехника. БХВ-Петербург, 2001.5. Ugryumov EP Digital circuitry. BHV-Petersburg, 2001.
6. Авт. свидетельство СССР №1817108.6. Auth. USSR certificate No. 1817108.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2005104660/09A RU2289161C1 (en) | 2005-02-21 | 2005-02-21 | Device for processing two-dimensional and three-dimensional images |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2005104660/09A RU2289161C1 (en) | 2005-02-21 | 2005-02-21 | Device for processing two-dimensional and three-dimensional images |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2005104660A RU2005104660A (en) | 2006-08-10 |
RU2289161C1 true RU2289161C1 (en) | 2006-12-10 |
Family
ID=37058926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2005104660/09A RU2289161C1 (en) | 2005-02-21 | 2005-02-21 | Device for processing two-dimensional and three-dimensional images |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2289161C1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2516499C2 (en) * | 2007-12-18 | 2014-05-20 | Конинклейке Филипс Электроникс Н.В. | Transmitting stereoscopic image data through display device interface |
RU2705049C1 (en) * | 2019-02-05 | 2019-11-01 | Егор Валерьевич Бимаков | High-adaptive autonomous mobile robot control device |
-
2005
- 2005-02-21 RU RU2005104660/09A patent/RU2289161C1/en not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2516499C2 (en) * | 2007-12-18 | 2014-05-20 | Конинклейке Филипс Электроникс Н.В. | Transmitting stereoscopic image data through display device interface |
RU2705049C1 (en) * | 2019-02-05 | 2019-11-01 | Егор Валерьевич Бимаков | High-adaptive autonomous mobile robot control device |
Also Published As
Publication number | Publication date |
---|---|
RU2005104660A (en) | 2006-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7277449B2 (en) | Image preprocessing for generalized image processing | |
US4622632A (en) | Data processing system having a pyramidal array of processors | |
CN107329734B (en) | Apparatus and method for performing convolutional neural network forward operation | |
EP0607988B1 (en) | Program controlled processor | |
Danielsson et al. | Computer architectures for pictorial information systems | |
JP3026984B2 (en) | Multiprocessor system | |
US5253308A (en) | Massively parallel digital image data processor using pixel-mapped input/output and relative indexed addressing | |
JP2756257B2 (en) | Parallel processing system and method | |
KR100305947B1 (en) | Reconfigurable computer architecture for use in signal processing applications | |
US5173947A (en) | Conformal image processing apparatus and method | |
KR20190139837A (en) | Processing device and processing method | |
JP6826181B2 (en) | Computing device and calculation method | |
US4606066A (en) | Programmable image processor | |
JPH0740252B2 (en) | Multi-processor system | |
CN102483842A (en) | Image processing device and image processing method | |
JPH0642237B2 (en) | Parallel processor | |
CN109478175A (en) | The shuffler circuit shuffled in SIMD framework for channel | |
RU2289161C1 (en) | Device for processing two-dimensional and three-dimensional images | |
CN1081284A (en) | Asic prototyper | |
Broggi et al. | The PAPRICA massively parallel processor | |
CN114996649A (en) | Method for realizing matrix decomposition and lower triangular matrix inversion | |
JP2005514677A (en) | Improvements in memory address technology | |
CN1311405C (en) | Image processor | |
Roska | CNN chip set architectures and the visual mouse | |
US20050240388A1 (en) | Logical simulation device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20090222 |