Научная статья на тему 'Метод уменьшения итераций в алгоритмах синтеза изображений реального масштаба времени'

Метод уменьшения итераций в алгоритмах синтеза изображений реального масштаба времени Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
115
32
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Гусятин Владимир Михайлович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Method of decrease of iterations in algorithms of image synthesis of a real time scale

The method of decrease of amount of steps in iterative search algorithms of a cross point for picture synthesis in systems of visualization is offered. The relations for buildup of a repetitive process are reduced. The conditions of finding of a cross point are defined. The method allows to optimize structure of the processor by criteria of number of steps of iterations and hardware expenditures without losses of accuracy of calculations.

Текст научной работы на тему «Метод уменьшения итераций в алгоритмах синтеза изображений реального масштаба времени»

УДК 681.323

МЕТОД УМЕНЬШЕНИЯ ИТЕРАЦИЙ В АЛГОРИТМАХ СИНТЕЗА ИЗОБРАЖЕНИЙ РЕАЛЬНОГО МАСШТАБА ВРЕМЕНИ

ГУСЯТИН в.м._____________________________

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

1. Актуальность

Применение итерационных алгоритмов для синтеза изображений в графических спецпроцессорах систем визуализации тренажеров транспортных средств позволяет спроектировать вычислитель с параллельно-конвейерной структурой высокой производительности [1]. Число шагов итераций — n определяется требуемой точностью вычислений. При этом на каждом шаге в двоичной системе счисления определяется один разряд искомого n-разрядного числа. Для повышения производительности конвейерной структуры необходимо каждый шаг итераций, в связи с существенным временем его выполнения, подразделять на m тактов конвейера. Общее число тактов загрузки такого конвейера от начала поступления данных до получения результата будет равно:

N3 = m • n . (!)

При непрерывном поступлении данных на вход искомый результат на выходе конвейера вычисляется на каждом такте. В случае “разрыва” в поступлении данных образуется “разрыв” в потоке выходных данных результата, что приводит к снижению производительности конвейерной структуры. Максимальное время задержки при длительности такта конвейера t равно

Т3 = т- m • n . (2)

Из (2) следует, что одним из путей сокращения максимального времени задержки является уменьшение общего числа тактов конвейера. Поэтому разработка методов уменьшения количества шагов в итерационных алгоритмах поиска точки пересечения для синтеза изображений является актуальной задачей.

2. Основные положения метода

Для построения алгоритма поиска точки пересечения в соответствии с методом уменьшения итераций используем основные понятия и определения, принятые автором в работе [1]. Алгоритм будем

строить таким образом, чтобы на каждом шаге итерационного процесса (ИП) определялся более чем один разряд искомого числа N. Обозначим количество разрядов, определенных на одном шаге,

n і. Для упрощения полученных соотношений будем также полагать, что n — число, кратное щ ,т.е.

n=K щ, (3)

где К — число шагов итераций нового алгоритма.

В соответствии с [2] координаты точки пересечения P(X,Y,Z) проекционного луча (ПЛ) с плоскостями базовой системы координат (с/к XYZ) могут быть

найдены из векторного уравнения Гр = rh + Vp . По

аналогии с [1] запишем координаты произвольной точки на ПЛ в параметрической форме:

х = Xh + Xp-t,y = Yh + Yp-t,z = Zh + Zp-t, (4)

здесь X p, Yp, Z p — проекции на оси с/к XYZ

вектора Vp , соответствующего ПЛ в методе обратного трассирования в [3]: t — параметр, tє |0,...,1|.

Алгоритм строим для того же класса поверхностей, что и в [1]. По аналогии считаем, что до начала работы итерационного алгоритма поверхности, с которыми пересекается ПЛ, предварительно определены. Уравнение поверхности запишем в неявной форме:

F(X,Y,Z)=0. (5)

Совместное решение уравнений (4), (5) для нахождения точки пересечения Pj (X,Y,Z) ПЛ с поверхностью будем искать итерационным методом. Для построения ИП параметр t запишем в виде:

tk = tk-1 +4k '8k , (6)

где k — номер шага итераций, kє {1,2,...,K|; 5k —

квант k-го шага итераций, 5k = 2_ni'k; Pk — положительный коэффициент, определяющий количество используемых квантов на k-м шаге итераций.

В отличие от [1], в соответствии с предлагаемым методом, в нашей задаче будем искать экстремум-минимум модуля величины F(X,Y,Z) среди элементов множества Fjk (X,Y,Z) (в дальнейшем, для

упрощения записи — Fk ), вычисляемых на каждом k-м шаге следующим образом:

Fjk = Fjk([Xh + Xp(tk-i + J'Sk ],

[Yh + Yp(tk_1 + j'Sk],[Zh + Zp(tk_1 + j'Sk]> , (7)

где j — индекс, задающий номер элемента множества Fjk , j є {0,1,...,J|, j = 2n1 .

РИ, 2001, № 1

99

По аналогии с [1] определим элементы множества Fk как параметры-индикаторы (ПИ). Совместный анализ величин и знаков ПИ позволяет определить стратегию движения в процессе итераций. Цель каждого k-го шага — определение отрезка на ПЛ (в дальнейшем — выделенный отрезок), в границах которого может находиться результат совместного решения уравнений (4), (5). Здесь важно отметить, что на каждом следующем шаге ИП выделенный

отрезок уменьшается в J раз. Величина цк в (6) определяется на каждом шаге ИП по результатам

Т7 k

анализа Fj .

3. Алгоритм вычислений

В соответствии с методом строим итерационный алгоритм, который на каждом шаге определяет n1 разрядов искомого числа N, начиная со старших. Каждый шаг ИП состоит из следующих вычислений.

3.1. Для выбранной поверхности F(X,Y,Z)=0 вычисляются элементы множества Fjk . При этом возможны два случая.

Случай 1. Все элементы множества имеют один знак. Тогда анализ элементов Fjk состоит из следующих этапов.

Этап 1. Определяется элемент множества с минимальным значением модуля, т.е. |Fjk |мин . Пусть это будет некоторый j-й элемент.

Этап 2. Определяются модули первых разностей: AFjk =|Fjk - Fjk+1 |, AFji! =|Fjk! - Fjk |.

Этап 3. Индексы наименьшего модуля разности, определенной на этапе 2, принимаются в качестве индексов выделенного отрезка. Пусть это будут индексы j и j+1. Назовем их соответственно: начальный и конечный индексы.

Этап 4. Коэффициент Pk на этом шаге равен

Pk = (j)k , (8)

где (j)k — начальный индекс выделенного отрезка на k-м шаге.

Случай 2. Элементы множества Fjk имеют разные знаки. При этом, если поверхность F(X,Y,Z)=0 не замкнута (например, плоскость), то набор отноше-

k

ний для Fj может иметь такой характер распределения знаков:

F0k > 0 ;F1k > 0 ;...; Fjk > 0 ;Fjki < 0;...;Fjk < 0 , либо

F0k < 0 ;F1k < 0 ;...; Fjk < 0 ;Fj^i > 0 ;....;fJ > 0 . (9)

Тогда для отношений (9) имеем один выделенный отрезок с индексами j, j+1 и коэффициент Pk = ( j)k .

Если поверхность замкнута (например, сфера), отношения могут иметь вид:

Fk > 0 ;Fik >0 ;...;Fjk >0 ;Fjk+1 < 0; Fjk+2 <0; ...;

Fj+5 <0 ;Fjk+6 > 0 ;....; Fjk >0 . (10)

Для отношений (10) имеем два выделенных отрезка с индексами j, j+1 и j+5, j+6 и соответственно коэффициентами Pk = (j)k и Pk = (j + 5)k .

В случае (10) далее могут выполняться два ИП для каждого из выделенных отрезков, если поверхность прозрачна и необходимо найти две точки пересечения, либо — один ИП для выделенного отрезка с меньшим индексом, если поверхность непрозрачна.

3.2. Вычисляется параметр tk с учетом полученных Pk на k-м шаге. Начальное условие tнач = t0 = 0 .

3.3. Вычисления по п.п. 3.1, 3.2 продолжаются до k=K. Если ни на одном из шагов итераций не выполнялись отношения (9), (10), то точка пересечения ПЛ с поверхностью F(X,Y,Z)=0 отсутствует. При выполнении отношений (9), (10) хотя бы на одном шаге точка пересечения существует, причем, координаты этой точки равны координатам любой из границ выделенного отрезка на последнем шаге ИП.

4. Результаты

Предлагаемый метод построения итерационных алгоритмов поиска точки пересечения ПЛ с поверхностью является обобщением алгоритма, изложенного в [ 1], который получается при щ=1. Метод позволяет уменьшить число итераций и, как следствие, длину конвейера. В предельном случае К= 1.

С уменьшением числа итераций увеличивается параллелизм вычислений, что в целом повышает производительность системы визуализации. При этом, естественно, увеличиваются аппаратные затраты. При К=1 число параллельных ветвей вычисления равно 2n+1.

Для рассмотренного метода оказывается возможным оптимизировать структуру вычислителя по критериям числа шагов итераций и аппаратным затратам без потери точности вычислений.

Литература: 1.Гусятин В.М. Итерационный алгоритм синтеза изображения в растровой графике реального масштаба времени // Радиоэлектроника и информатика. 1998. №3. С.81-83. 2.Гусятин В.М. Математическая модель геометрических преобразований для спецпроцессоров растровой графики / / Радиоэлектроника и информатика. 1997. №1. С. 86-87. 3. Иванов В.П., Батраков А. С. Трехмерная компьютерная графика. М.: Радио и связь, 1995. 224 с.

Поступила в редколлегию 07.09.2000

Рецензент: д-р техн. наук, проф. Кривуля Г.Ф.

Гусятин Владимир Михайлович, канд. техн. наук, доцент кафедры электронных вычислительных машин ХТУРЭ. Научные интересы: теория и практика построения спецпроцессоров растровых графических систем реального времени. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 40-93-54, 66-61-22.

100

РИ, 2001, № 1

i Надоели баннеры? Вы всегда можете отключить рекламу.