Литература: 1. Спесивцев А.В., Вегнер В.А. и др. Защита информации в персональных ЭВМ. М.: Радио и связь, 1992. 191 с. 2. EckerA. Abctrakte kriptographische Mashinen // Angew. Informatik. 1975. Vol.17, Nr 5. S.201-205. 3. Алипов Н.В. Дискретные автоматы с псевдослучайными переходами и подстановочные методы защиты информации на их основе // Радиоэлектроника и информатика. 2001. № 4. С.95-98. 4. Алипов Н.В. Разработка теории и методов решения задач помехоустойчивого поиска и преобразования информации / / Автореферат дис. на соискание уч. степени докт. техн. наук. Харьков: ХИРЭ, 1986. 50 с. 5. АлиповН.В., АлиповИ.Н., Ребезюк Л.Н. Последовательные алгоритмы поиска точки с характерным признаком, помехоустойчивые к несимметричным нерегулярным виртуальным последовательностям // Радиоэлектроника и информатика. 2003. № 2. С. 108-112.
Поступила в редколегию 10.02.2003 Рецензент: д-р техн. наук, проф. Петров Э.Г.
Алипов Николай Васильевич, д-р техн. наук, профессор кафедры электронно-вычислительных машин ХНУРЭ. Научные интересы: алгоритмизация задач автоматизированного проектирования электронно-вычислительных средств, защита информации. Адрес: Украина, 61166, Харьков, пр. Ленина,14, тел.40-93-54.
Алипов Илья Николаевич, канд. техн. наук ХНУРЭ. Научные интересы: методы защиты информации, алгоритмизация задач автоматизированного проектирования электронно-вычислительных средств. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел.40-93-54.
Ребезюк Леонид Николаевич, канд. техн. наук, доцент кафедры системотехники ХНУРЭ. Научные интересы: алгоритмизация задач автоматизированного проектирования электронно-вычислительных средств, защита информации. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 702-10-06.
УДК 621.397.26
ВЫЧИСЛЕНИЯ В РЕАЛЬНОМ ВРЕМЕНИ ДЛЯ ГЕОМЕТРИЧЕСКИХ ПРЕОБРАЗОВАНИЙ ИЗОБРАЖЕНИЙ
ПЕРЬКОВ Р. В, ЕЁАКОВ С.Г.___________
Предлагаются разработки в области цифровой обработки изображений. Приводится сравнительный анализ основных способов описания параметрических кривых и обосновывается выбор в пользу В-сплайнов. Представляется алгоритм быстрой обработки изображений, использующий операцию накапливающего суммирования, как альтернативу операциям умножения и деления.
а с помощью специализированного аппаратного вычислителя обеспечивается быстрое вычисление координат каждой точки объекта, соответствующих заданному положению.
Научная новизна — исследуются проблемы управления вычислением кубических сплайн-функций двух переменных для систем нелинейных преобразований видеоизображений.
Цель исследования—разработка специализированного аппаратного вычислителя, обеспечивающего быстрое вычисление координат каждой точки объекта.
Задача — вывести математические зависимости, позволяющие осуществить быстрое вычисление координат каждой точки объекта.
Общий аналитический вид зависимостей:
Актуальность
В настоящее время к тренажерным системам транспортных средств предъявляется ряд важных требований, одно из которых — обеспечение реалистичности окружающей визуальной обстановки, формируемой тренажерной системой. Визуальная обстановка в свою очередь складывается из ряда важных составляющих, таких как разрешение, создаваемое на устройстве отображения графической информации, и высокая скорость, с которой обеспечивается изменение графической информации.
Разрешение, с которым происходит отображение графики на экране, в большинстве случаев зависит от характеристик устройства отображения. Быстрая эволюция графических данных зависит от двух параметров или характеристик: производительность вычислительной системы, с помощью которой производятся необходимые расчеты, и сложность аналитических формул геометрических преобразований изображений реальных обстановок.
Наиболее оптимальный вариант, удовлетворяющий указанным выше требованиям, получается на аппаратно-программной платформе, где программно формируется положение объекта в пространстве,
X зу = fx(X э ,УЭ );Узу =
зу
fy(X э ,Уэ ).
При развертке по строке экрана Y=const, поэтому
x зу = fx,c(x э );y
э зу
fy,c (X э ).
Сравнение с аналогами
В качестве аналитических зависимостей рассмотрим и сравним три основных способа описания параметрических кривых: метод Эрмита, в котором задаются положения конечных точек кривой и касательные векторы в них; метод Безье, в котором задается положение конечных точек кривой, а для неявного задания касательных в этих точках используются две другие точки, обычно лежащие не на кривой; метод В-сплайнов, при котором конечные точки не лежат на кривой, в результате чего как первая, так и вторая производные оказываются непрерывными на концах сегмента. Каждая из этих трех форм описания кривой имеет свои достоинства и недостатки.
Параметрической кубической кривой является кривая, у которой х, у и z — многочлены третьего порядка (т. е. кубические) относительно некоторого параметра t. Так как мы рассматриваем конечные
РИ, 2003, № 4
79
отрезки кривой, то без потери общности можем ограничить диапазон изменения параметра и считать 0 < t < 1. Следовательно,
Здесь через Mh обозначена эрмитова матрица, а через Gh—геометрический вектор Эрмита. Подставив этот результат в выражение (3), получим
x(t) = axt:3 + bxt2 + cxt + dx,
3 2 (1)
y(t) = ayt3 + byt2 + Cyt + dy.
Для выражения кубической кривой в форме Эрмита зададим точки Р1 и Р4, касательные векторы R1 и R (точкам присваиваются индексы 1 и 4, а не 1 и 2 для совместимости с выражениями, которые используются при построении кривых методами Безье и В-сплайнов). Требуется найти коэффициенты ax, bX, cXи dXиз выражения (1), удовлетворяющие условиям
x(0) = Pix;x(l) = P4x;x'(0) = Rix;x'(l) = R4x. (2)
Мы используем индекс х для ссылки на x-компоненты точек и касательных векторов.
Переписывая выражение для x(t), получаем
x(t) = [t3 t2 t 1]
; x(t) = TCx
(3)
L -ix
где Tпредставляет собой вектор-строку степени t, a Cx — вектор-столбец коэффициентов x(t).
Запишем условия (2), используя уравнение (3):
x(0) = P1x = [0 0 0 1 С x, x(1) = P4x = [1 1 1 1 С x.
x(t) = TMhGhx. (6)
Уравнение для x(t) и y(t) часто записывают в виде P(t) = TMhGh.
Если заданы Pi, P4 , R1 и R4, можно определить x(t) и y(t) для 0 < t < 1 и найти все точки на сегменте кубической кривой от P1 до P4 , у которого касательный вектор в начальной точке равен R1, а в конечной — R4:
x(t) = TMhGhx =
= [(2t3 - 3t2 + 1)(-2t3 + 3t2) x
x (t3 -2t2 + t)(t3 -12)] Ghx =
= P1x (2t3 - 3t2 +1) + P4x (-2t3 + 3t2) +
+ R1x (t3 - 2t2 +1) + R4x (t3 - t2) .
Форма описания кубической кривой, предложенная Безье, очень близка к эрмитовой форме, однако отличается от нее заданием касательных векторов в конечных точках. В форме Безье используются четыре точки. Касательные векторы в конечных точках задаются отрезками P1P2 и P3P4. В частности, касательные векторы R1 и R4 эрмитовой формы определялись таким образом, чтобы соответствовать четырем точкам Безье P1 , P2 , Р3 и Р4:.
R1 = 3(P2 - P1) = P'(0),
R4 = 3(P4 - P3) = P'(1).
Чтобы записать выражение для ограничений на касательные векторы, продифференцируем сначала выражение (3) по t и получим
Поэтому соотношение между геометрической матрицей Эрмита Gh и геометрической матрицей Безье Gb записывается следующим образом:
x'(t) = 3t2 2t 1 0 Cx,
x'(0)= ,Q. II К P? 0 1 0]Cx
x'(1) = R4x = [3 2 1 0]CX
(5)
Выражения (4) и (5) можно объединить в одно матричное уравнение, и обращая матрицу размером 4x4, мы получим искомое выражение для Cx:
C(x)
P1 ■ "0 0 0 1"
P4 1111
R1 0 0 10
_R4 _ 3 2 10
C(x)
"2 -2 11 " 1 1
-3 3 -2 -1 P4
0 0 10 R1
10 0 0 _R4 _
MhGhx.
Gh =
1 1 1 О О 0 1 1 1
P4 0 0 0 1 P2
R1 - 3 3 0 0 P3
_R4 _ 0 0 - 3 3 1 1
= MhbGb.
(7)
Подставляя выражение (7) в уранение (6), находим x(t) = TMhGhx = TMhMhbGbx ,
где Mb
-1 3 - 3 1 3 - 6 3 0 - 3 3 0 0 10 0 0
Форма Безье благодаря двум своим свойствам используется в машинной графике чаще, чем эрмитова. Во-первых, потому, что геометрическая матрица (в случае четырех точек) интуитивно привлекательна в интерактивном режиме, так как, перемещая точки с помощью локатора, можно легко привести кривую к желаемой форме. В случае эрмитовой формы касательные векторы должны
80
РИ, 2003, № 4
задаваться в явном виде; в режиме диалога их определять труднее, да и само понятие незнакомо некоторым пользователям. Однако если касательный вектор известен, то привести кривую в соответствие с ним легче при использовании эрмитовой формы. Во-вторых, четыре управляющие точки определяют выпуклый многоугольник (выпуклую оболочку), внутри которого находится кривая Безье . Выпуклая оболочка оказывается полезной при отсечении кривой по окну или видимому объему.
Кривая, представленная в виде кубического В-сплайна, в общем случае может проходить через любые управляющие точки. Однако она непрерывна и, кроме того, непрерывностью изменения обладают ее касательный вектор и кривизна (т. е. первая и вторая производные кривой непрерывны в конечных точках) в отличие от форм Эрмита и Безье, у которых в конечных точках непрерывны лишь первые производные (но которые проходят через управляющие точки). Таким образом, можно утверждать, что форма В-сплайнов “более гладкая”, чем другие формы. Термин сплайны происходит от длинных гибких металлических реек, с помощью которых чертежники размечают поверхности самолетов и кораблей. Металлические сплайны, если они не сильно напряжены, также обладают непрерывностью второго порядка. В-сплайн описывается следующей формулой: x(t) = TMsGsx.
При аппроксимации управляющих точек Pi , Р2 , ..., Pn последовательностью В-сплайнов мы будем применять между каждой парой соседних точек геометрические матрицы. Для аппроксимации в интервале, близком к точкам Pj и Pi+1, используются
-1 3 - 3 1"
3 - 6 3 0
- 3 0 3 0 ,
14 10
Ms =-s 6
G
І
s
Pi-1
Pi
Pi+1
_Pi+2
2 < i < n - 2 .
Результаты
В качестве аналитических формул геометрических преобразований были взяты соотношения для проективных преобразований, аппроксимированные с помощью В-сплайна.
Выбор был сделан в пользу В-сплайна ввиду того, что кривая, аппроксимированная данным сплайном, у которого первая и вторая производные непрерывны, является гладкой, т.е. нельзя отличить один сегмент кривой от другого.
Однако, несмотря на все достоинства данного выбора, формулы включают в себя большое количество времяёмких операций умножения, деления и возведения в степень.
Поэтому аналитическим путем были выведены математические зависимости, позволяющие заменить данные операции накапливающим суммированием.
Математические зависимости имеют следующий вид:
Xi = Xi_1 + Pf_1 + Qx_1,
Yi = Yi_1 + Piy_1 + Qy_1,
где i = 2, да.
Слагаемые P и Q вычисляются так:
Pi = Pi-1 + Qi-1;
‘ Qi = Qi-1 + R;
R = 6ЛДДЛЯ Х).
Начальные значения параметров P, Q и R (приведены для X, для Y вычисляется аналогично):
X0 = A4; P0 = 0; Q0 = °-На первом шаге при i=1:
X1 - P1 + X0;P1 - A1 + A2 + A3;Q1 - 6A1 + 2A2-
Коэффициенты A1 — A4 вычисляются по формулам, которые в данной статье не приводятся.
Выводы
Применение накапливающего суммирования позволяет более чем в два раза увеличить скорость вычислений, обладая при этом незначительной погрешностью относительно формул, использующих операции умножения и деления.
Программная реализация предложенного способа показала его эффективность для решения поставленных задач геометрических проективных преобразований изображений в реальном масштабе времени.
Литература: 1. Завьялов Ю.С., Леус В.А., Скороспелое В.А. Сплайны в инженерной геометрии. М.: Машиностроение, 1985. 224с. 2. Аммерал Л. Интерактивная трехмерная графика. М.: Сол Систем, 1992. 317с. 3. Корнейчук Н.П. Сплайны в теории приближения. М.: Наука, 1984. 352с.
Поступила в редколлегию 26.03.2003
Рецензент: д-р техн. наук, проф. Бодянский Е.В.
Перьков Роман Валериевич, аспирант кафедры ЭВМ ХНУРЭ. Научные интересы: теория сплайнов. Адрес: Украина, 61166, Харьков, просп. Ленина 14, тел. 70-21354.
Елаков Сергей Геннадиевич, старший научный сотрудник кафедры ЭВМ ХНУРЭ. Научные интересы: теория сплайнов. Адрес: Украина, 61166, Харьков, просп. Ленина 14, тел. 70-21-354.
РИ, 2003, № 4
81