ЦИФРОВАЯ ОБРАБОТКА СИГНАЛОВ
СПЛАЙНЫ КАК СРЕДСТВО ПОСТРОЕНИЯ ЭФФЕКТИВНЫХ АЛГОРИТМОВ ЛОКАЛЬНОГО ЛИНЕЙНОГО ПРЕОБРАЗОВАНИЯ
В.В. Мясников Институт систем обработки изображений РАН Самарский государственный аэрокосмический университет
Аннотация
В работе рассматривается частное решение общей задачи синтеза эффективного алгоритма вычисления свертки, возникающее при использовании сплайнов для представления конечной импульсной характеристики (КИХ). Исходя из необходимых условий строгой эффективности индуцированного алгоритма, которые были сформулированы в предыдущей работе [13] в виде требований к неоднородному ЛРС (определяющему отсчеты КИХ), и установленной в настоящей работе явной связи между основными характеристиками сплайна и его представлением в виде ЛРС, приведено обоснование использования сплайнов для решения задачи синтеза эффективного алгоритма. Представлен алгоритм модели СЯ вычисления свертки, порождаемый произвольным сплайном с конкретными характеристиками. Приведены явные выражения для вычислительной сложности порождаемого алгоритма для случаев обобщенных и полиномиальных сплайнов. При ограничении множества сплайнов параметрами (порядок-число узлов) приведены верхние и нижние границы для вычислительной сложности порождаемых этими сплайнами алгоритмов вычисления свертки. Введено понятие МС-сплайнов, как сплайнов, для которых величина сложности реализации порождаемого ими алгоритма достигает своей нижней границы. Приведены примеры построения полиномиальных МС-сплайнов.
Введение
Базовой операцией в цифровой обработке сигналов и изображений является операция вычисления свертки. По этой причине существует огромное количество алгоритмов расчета свертки, построенных на основании совершенно различных подходов [4, 5, 7, 14, 15, 16, 19, 21, 22, 27, 28]. Настоящая работа является продолжением авторской работы [13], в которой было показано, что на основании определенного множества алгоритмов вычисления свертки можно синтезировать новый алгоритм, называемый индуцированным алгоритмом, который обладает рядом замечательных свойств. В частности:
• учитывает специфику и ограничения задачи вычисления свертки,
• использует аналитические свойства сигнала и фактический вид импульсной характеристики, участвующей в операции свертки,
• использует любое предоставляемое множество алгоритмов при синтезе искомого алгоритма,
• гарантирует, что синтезированный алгоритм будет эффективным над (обозначенным ранее) множеством алгоритмов.
Последнее свойство подразумевает то, что индуцированный алгоритм в вычислительном плане:
• для любой задачи вычисления свертки окажется не хуже чем наилучший алгоритм из предоставленного множества алгоритмов,
• для некоторых задач окажется лучше наилучшего алгоритма из этого множества.
Целью настоящей работы является детальный анализ одного частного случая синтеза эффективного алгоритма. Этот частный случай возникает в ситуации, когда конечная импульсная характеристика (КИХ) представлена в виде сплайна, удовлетворяющего некоторым дополнительным ограничениям. Показано, что в этом случае основные характеристики сплайна, состоящие из:
- параметров сплайна, включающих его порядок и число/расположение узлов,
- дополнительных характеристик, включающих вектор дискретных дефектов и отсчеты «нарушения однородности» сплайна,
позволяют явным образом указать и, соответственно, построить потенциально эффективный алгоритм вычисления свертки. Кроме того, оказывается возможным указать явное выражение для вычислительной сложности порождаемого сплайном алгоритма как функцию его основных характеристик (параметров сплайна и вектора дискретных дефектов). При ограничении множества сплайнов заданной парой параметров (порядок и число узлов) можно также получить выражения для верхней и нижней границы вычислительной сложности порождаемых алгоритмов. Полученная явная функциональная зависимость между параметрами/характеристиками
сплайна и вычислительной сложностью порождаемого сплайном алгоритма позволяют сформулировать и решить задачу построения сплайнов, для которых по-
рождаемые алгоритмы обладают минимальной вычислительной сложностью среди других алгоритмов, построенных для сплайнов с аналогичной порой параметров.
Настоящая работа организована следующим образом.
В первом разделе дается очень краткое изложение основных понятий и результатов авторской работы [13]. Эта же работа рекомендуется читателю в случае возникновении неясностей в материале этого раздела.
Во втором разделе приводятся основные понятия и обозначения из теории конечных разностей и теории сплайнов, которые будут использованы в последующих разделах.
Третий раздел посвящен вопросам связи между основными характеристиками сплайна и параметрами линейных рекуррентных последовательностей (ЛРП), формируемых по значениям сплайна на целочисленной сетке. Показано, что при достаточно слабых ограничениях на сплайн, представляющий дискретно заданную КИХ, параметры ЛРП могут быть явно рассчитаны по основным характеристикам этого сплайна. Эта однозначная (но не взаимнооднозначная) связь позволяет по основным характеристикам сплайна, представляющего КИХ, явно указать потенциально эффективный алгоритм вычисления свертки, построение которого производится на основании подхода, изложенного в первом разделе и работе [13].
Собственно вид алгоритма вычисления свертки, порождаемого конкретным сплайном, представлен в четвертом разделе. В этом же разделе приводятся явные выражения для вычислительной сложности порождаемого сплайном алгоритма вычисления свертки как функции от основных характеристик этого сплайна. Более того, для множества сплайнов, ограниченных парой параметров - порядок и число узлов - указаны верхние и нижние границы для вычислительной сложности порождаемых ими алгоритмов вычисления свертки.
В пятом разделе вводится понятие МС-сплайнов как сплайнов, для которых порождаемый ими алгоритм вычисления свертки имеет вычислительную сложность равную ее нижней границы. Приводятся примеры построения МС-сплайнов для указанных пар (порядок-число узлов). Для порядков «0», «1» и «2» приведены графики МС-сплайнов.
В заключение работы приводятся благодарности фондам, поддерживающим данную научную работу, а также список литературы.
1. Эффективный алгоритм над множеством алгоритмов вычисления свертки
Полностью метод синтеза эффективного алгоритма и его обоснование даны в авторской работе
[13]. Настоящий раздел содержит краткое изложение необходимых сведений и понятий.
Рассмотрим задачу вычисления одномерной (линейной) свертки конечного входного сигнала
{x (n)}} длины N и КИХ {h длины M:
M-1
y (n) = h (n)* x (n) = ^h(m)x (n - m),
m=0 (1)
n = M-LN-l результатом решения которой является получение сигнала {y (nC-r+ длины N - M+1, называемого
выходным сигналом. Пусть отсчеты КИХ и обрабатываемой последовательности принадлежат некоторому полю F.
Одной из особенностей задачи (1) на практике, которая используется далее, является то, что отсчеты КИХ оказываются известными задолго до момента ее решения.
Обозначим в дальнейшем задачу вычисления
свертки (1) как Z (зо, {x (n)}w0), где величина
30 = ({h (n )Го 1,3x) называется априорной информацией задачи, а 3 x - априорной информацией о входном сигнале. Последняя в настоящей работе полагается пустой: 3x = 0 .
Рассмотрим множество алгоритмов решения задачи Z, обозначаемое далее {A(Z)}. Для каждого
алгоритма из этого множества считаем заданными следующие величины:
• и^ ИZ)) - удельное количество сложений,
требуемых в алгоритме A для решения задачи Z,
•( a( z )) - удельное количество умножений,
требуемых в алгоритме A для решения задачи Z. На основании веденных величин определим интегральную характеристику сложности алгоритма:
U (A )=£, aiiUaii (A )+£, muPmu, (A ) , где ^aii, E,mul - вещественные неотрицательные ве-такИе что £,aid + ^m„i = 1.
С учетом введенной характеристики сложности алгоритма естественным образом вводится отношение порядка на множестве алгоритмов решения задачи Z, то есть понятия «лучше», «хуже», «наилучший» и т. д. Кроме того, вводятся понятия «эффективного» и «строго эффективного» алгоритмов над
множеством { A( Z)} следующим образом.
Определение 1. Эффективным алгоритмом над множеством алгоритмов {A} для задачи Z называется такой алгоритм Afff (Z) г {A}, который не ху-
же наилучшего алгоритма А (2 И А 2 )}<={ А} этого множества для этой задачи, то есть:
и(А* (2 ))іи (^ 2)).
Определение 2. Строго эффективным алгоритмом над множеством алгоритмов {а} для
задачи 2 называется такой алгоритм а* (2) г {А},
который лучше наилучшего алгоритма
А' (2И А( 2))<={ А) этого множества для этой
задачи, то есть: и (А* (2))<и (А' (2)).
В зависимости от вида функции сложности и (А) алгоритмы можно подразделить на классы. В
настоящей работе нас интересует один класс алгоритмов, фиксируемый данным ниже определением.
Определение 3. Алгоритм А(2)е{А(2)} решения задачи 2 = 2 (з 0, {х (п)} 0) с априорной
информацией 30 = ({ (п )}Го 1, ( , )) назы-
вается алгоритмом постоянной сложности, если выражение для вычислительной сложности этого алгоритма на всей области определения КА алгоритма имеет вид аналитической функции
и (М , N ), зависящей только от размеров входного сигнала N и длины импульсной характеристики (ИХ) М.
К алгоритмам постоянной сложности, как можно показать [13], относятся алгоритмы прямого вычисления свертки {Аос} и алгоритмы на основе быстрой
свертки (Фурье-преобразования) {Агс } [4, 14, 19]. В
настоящей работе нас в большей степени будет интересовать класс {Аос }.
Посылкой к построению эффективного алгоритма является возможность эквивалентного преобразования выражения свертки (1) к виду:
Кк + Кх - 2
У(п)= X %()у(п-1) +
І =1
^-1 ^ (Кх-1 Л
+Х X *(т)| X(1 )х(п-т-1) ]’ (2)
£=0 тєД у 1= 0 у
п = 0, N -1.
В этом выражении первое слагаемое при Кк = Кх = 1 полагается равным нулю:
X %()у(п-0 = Х£()У(п-0 = 0,
і=1 і=1
и % * (0 )= % х (0 ) = 1 , а
min((h-1,t)
g ( )= Ё gh (k ) gx ( - k )
к=max(0,t-Kx)
t = 0, Kx + Kh - 2.
На основании выражения (2) вводится модель алгоритма СЯ вычисления свертки (1). Наименование модели «CR» возникает из принципа построения этой модели, использующего редукцию свертки (Convolution Reiuction) на свертки меньшей длинны.
Алгоритм «CR» (модель)
Шаг 1 - Предобработка входного сигнала. На этом шаге производится вычисление свертки входного сигнала x (n) и ИХ |gx (к)}} по формуле:
Кх-1 ______
x (n )=Ё gx (к) x (n - к), n = 0, N -1. (3)
к = 0
Шаг 2. Для каждого дискретного интервала D =[<?, i ] из множества интервалов в выбранном
допустимом покрытии hDs С0 их %ш производится вычисление S сверток по всем интервалам допустимого покрытия hD С0:
ys (n)= Ё hs (m)x (n - m)
meDs (4)
(n = 0,N -1, s = 0,S-1).
Шаг 3. Суммирование результатов сверток (4):
y (И)=Ё ys (n). (5)
s=0
Шаг 4 - Постобработка результата. На этом шаге производится рекурсивное вычисление результата решения задачи Z:
Kh + Kx - 2 ______
У (")= Ё g (t)y (n -1) + У (n), n = 0, N -1. (6)
t=1
Алгоритм - Конец
Приведенный алгоритм определен с точностью до числовых и функциональных параметров. Примерами числовых параметров являются значения
отсчетов КИХ hx (к)}01 и {gh (к)}} . Примерами функциональных параметров являются:
алгоритм Aprep, вычисляющий свертку в выражении (3), то есть, решающий задачу
^ - z (зг, gx (n сг-1) (7)
с начальной информацией
30" =(gx (к )}K= -', ( N + Kx , 3(x)))
(входной сигнал дополняется нулями до длины
N+K );
x
(Ь) набор из £ алгоритмов {Д}^, вычисляющих £ сверток в выражении (4), то есть, решающих £ задач
2* - 2 (з'0,{х(п^-1) (* = 0,5-1) (8)
с различными начальными информациями вида
3 0 =(К (т )}тЕ ^ , (N + ^ ))) .
Сложность алгоритма модели СЯ, зависящая от его числовых и нечисловых параметров, в общем случае задается в виде следующего выражения [13]:
и (А“ )=и (л„,г (2„))+
Y.U (A, (Z, )) + ?,„ (S -1)
_ s=0
+ ( + Kx -2).
(9)
Последнее слагаемое Кк + Кх - 2 приведенного выражения является вычислительной сложностью операции (6). Как показывает следующее предложение, в некоторых частных случаях значение этой величины может быть существенно снижено.
Предложение 1. Пусть А - алгоритм модели СЯ порядка (кк, Кх, 5) и последовательность
-1
gh(к )}к
удовлетворяет условию:
gh (к) = (-1) си к = о, Кк -1.
Тогда шаг 4 алгоритма модели СЯ допускает реализацию в виде:
Кх -1
У(кк -1)(п) = Е &( )у(Кк -1)(п -О+у (п),
n = 0, N-1,
Ук (n) = Ук (n-1) + Ук+1 (n) n = 0N-1,
к = Kh - 2,0,
У (n) = У0 (n)-
■
Легко проверить, что сложность вычислений в приведенном выражении составляет:
V (Ас ) = и (л„,г (Z„ )) +
£и(A, (Z,)) + ?,„ (S-1) + (9')
_ s=0 _
+ ( - 1) +(Kh -1)d .
и, очевидно, ниже сложности (9).
Определение 4. Порядком модели CR называется тройка положительных целых чисел (K h, Kx, S).
На основании приведенной модели из первоначального множества алгоритмов gл} могут быть
получены новые алгоритмы, множество которых обозначается [{А}]. Формальное понятие этого множества дают следующие два определения.
Определение 5. Замыканием по модели СЯ порядка (К*, Кх, £) множества алгоритмов { А }
на задаче 2 (далее - просто замыканием СЯ (К*, Кх, £)) называется множество алгоритмов модели СЯ, обозначаемое [{А}] ( к £^ с за-
данными Кк, Кх, £ и допустимыми значениями других числовых параметров и алгоритмами из {А } на первом и втором шагах модели СЯ, для
которых задачи 2 ргер и 25 ( = 0, £ -1) попадают
в область определения соответствующих алгоритмов:
^ Ц А( 2Р„Р
А е{А(2,)}с{А}, ( = 0^£-І).
Определение 6. Замыканием по модели СЯ множества алгоритмов { А } на задаче 2 (далее -
замыканием) называется множество алгоритмов модели СЯ следующего вида:
[{А}]- Ц_ [{А}]_)
К* =1, М-1 Кх =1, N-1 £=1,2,...
Поиск эффективного и строго эффективного алгоритма решения задачи 2 над множеством { А }
производится именно в замыкании
К А}] • Для
это-
го следует ориентироваться на индуцированный алгоритм, определение которого дается ниже.
Определение 7. Алгоритм Аз(2)е[{А}] называется алгоритмом, индуцированным априорной информацией 30 задачи 2 (далее - индуцированным алгоритмом), если алгоритм а3 (2) является наилучшим алгоритмом для задачи 2 в замыкании [{А}] по модели СЯ и, кроме того, в за-
мыкании
В А}]
нет другого алгоритма
меньшего порядка со сложностью, равной сложности алгоритма А3 (г).
В авторской работе [13] приводится ряд теорем и лемм, которые характеризуют необходимые и/или достаточные условия существования строго эффективного индуцированного алгоритма (при различных условиях). В рамках настоящей работы основной интерес представляет следующая теорема, кото-
рая характеризует необходимое условие строгой эффективности индуцированного алгоритма.
Теорема 1 (необходимое условие строгой эффективности индуцированного алгоритма).
Пусть приведенный компетентный алгоритм А® над множеством алгоритмов постоянной сложности {С задан на области определения
«А®,мл, =((М" ^М * М~..' £ N £ } ■
Пусть решается задача 2(з0, {х (п)}л=01) с априорной информацией 30 = ({* (п )}М-1, (Л, 0)),
где (М, Л)є«;і(МЛ) и * (т )* 0 (т = 0, М - 1) .
Индуцированный алгоритм
А® (2) є [{А®}] задачи 2 над множеством {А®} является строго эффективным, только если все отсчеты в КИХ {* (т) удовлетворяют неоднородному ЛРС порядка К, а М0 отсчетов удовлетворяют соответствующему однородного ЛРС, и для пары К, М0 справедливо:
(М0 >К)л
л (к + к® ( -М0 + К, N) < иА® (, N)
. (10)
Теорема 1 позволяет сформулировать конструктивный способ синтеза строго эффективного алгоритма, который оформлен ниже в виде следствия [13].
Следствие 1. Для построения алгоритма, индуцированного априорной информацией задачи 2, над множеством из приведенного компетентного
алгоритма { А®} следует:
• перебрать возможные порядки ЛРП
К = 1, М /2 .
• для каждого возможного порядка ЛРП
представить КИХ {* (п)} 0 в виде ЛРП
всеми возможными способами, удовлетворяющими условию Теоремы 1.
• Для каждого способа представления в виде ЛРП рассчитать значение сложности полученного алгоритма СЯ.
• Из полученных решений выбрать решение с минимальной сложностью.
Полученный алгоритм - индуцированный. Если сложность индуцированного алгоритма ниже сложности приведенного компетентного алгоритма А® , то полученный индуцированный алгоритм является строго эффективным.
Наиболее сложным этапом в приведенном способе синтеза строго эффективного алгоритма явля-
ется этап представления КИХ {к (п)} =о в виде однородного или неоднородного ЛРС. Принципиальной проблемой здесь является то, что задача построения такого представления является некорректной [18], причем некорректной как в аналитическом (для произвольного поля Р), так и в вычислительном плане (для поля Р=Я вещественных чисел). В литературе описан ряд способов получения требуемого представления при некоторых дополнительных ограничениях, приводящих задачу к ее корректной постановке. Среди известных решений выделяются следующие: метод Паде; метод г-преобразования; аппроксимация в частотной области; аппроксимация рекуррентными функциями, экспонентами и полиномами; прямая аппроксимация рекуррентным соотношением заданного порядка и др.
Ниже рассматривается специфика синтеза эффективного индуцированного алгоритма для задачи (1) в случае Р=Я, возникающая при использовании сплайнов для представления КИХ в виде ЛРП. Как будет показано ниже, при использовании сплайнов возможны новые постановки экстремальных задач. В частности, возможна постановка и решение задачи построения сплайна (и самой КИХ), «наилучшего» с точки зрения сложности порождаемого (индуцированного) алгоритма. Такая постановка приводит к выделению среди сплайнов подмножества, элементы которого порождают алгоритмы вычисления сверток с предельно низкой вычислительной сложностью, рассматриваемые в пятом разделе настоящей работы.
2. Основные понятия из теории конечных разностей и теории сплайнов
В настоящем разделе представлены основные определения и понятия из теории конечных разностей и теории сплайнов [1, 8, 9, 17, 24-26]. Раздел не содержит новых сведений, но фиксирует ряд понятий и обозначений, которые используются далее.
Понятия однородной и неоднородной ЛРП/ЛРС, встречающиеся в теореме 1 и используемые далее в настоящей работе, даются следующими определениями из теории конечных разностей [6, 12, 20, 23].
Определение 8. Пусть К - натуральное число, а {ак к=1 - заданные элементы поля Р. Последовательность к(0),к(1),... элементов поля Р, удовлетворяющая соотношению
*(т) =
Ьт, т = 0, К-1
Ха*(т-к) + ф(т), т = К,М-1,
(11)
называется линейной рекуррентной последовательностью (ЛРП) К-го порядка над полем Р.
■
к=1
Первые члены gt>k} однозначно определяют
всю последовательность и называются ее начальными значениями. Соотношение (11) называется линейным рекуррентным соотношением (ЛРС) K-го порядка.
Определение 9. ЛРС называется однородным, если ф (m) = 0 , в противном случае ЛРС называется неоднородным. Соответствующие рекуррентные последовательности (РП) называются
однородной или неоднородной ЛРП над полем F.
Следующие понятия относятся к теории сплайнов. В настоящей работе для сплайнов используется нотация, принятая в работах Б.И. Квасова, Ю.С. Завьялова и В. Л. Мирошниченко [8, 9, 24, 25].
Пусть на отрезке [a, b ] задана сетка
A S : a = t0 < t1 < ... < tS = b . Свяжем с ней вектор с
целочисленными компонентами v = (,..., vS-1) ,
где 0 < vs < K + 1, s = 1, S -1 . Положим
v = max v. (12)
s=1, S-1
Для целого к>0 через ск [a,b] обозначим множество к раз непрерывно дифференцируемых на [a, b ] функций, а через с _1 [ a, b ] - множество кусочно-непрерывных функций с точками разрыва первого рода.
Определение 10. Функция S K (A S ; t) (K > 1) называется (полиномиальным) сплайном степени K кратности/дефекта v (0 < v < K + 1) с узлами на сетке AS, если:
а) на каждом отрезке [ts, ts+1 ] функция S K (AS; t) является многочленом ps (t) степени
K:
Ps (t) = Ё > t 6k > ts+1 ].
i=0
б) S K (A S; t )e CK - v [ a, b ] .
( )S-1
Точки g ts}s=1 называются узлами. Целочисленные компоненты vs (0 < vs < v, s = 1, S -1) определяют гладкость сплайна в узле ts и называются кратностью/дефектом сплайна в этом узле. В соответствии с данным определением сплайн S K (A S ; t)
дефекта v имеет на [a, b] непрерывную (k - v) -ую
производною (v>1). Производные порядка выше (К - v) терпят разрыв в узлах сплайна. При этом,
очевидно, выполняется
vs < К + 1 » Ps (ts+1 ) = Ps+1 (ts+1 ) (s = 1 S - 1).(13)
Для определенности считается, что п-ая производная сплайна 8? (А-I) (п > К - V) непрерывна справа, то есть
8«^; I, ) = вКп)(Л 5; I, + о)
п = К - V +1, К; , = 1,5 -1.
Наряду с введенными выше полиномиальными сплайнами рассматриваются более общие сплайны, которые «склеиваются» из решений линейного однородного дифференциального уравнения и другие [8, 9, 11, 25]. Подобные (не полиномиальные) сплайны именуются обобщенными сплайнами. В общем случае, вид функций на частичных отрезках разбиения области определения обобщенного сплайна, не фиксируется [9, 25]. Однако в настоящей работе используются только конкретные сплайн-функции, которые могут быть получены как решение однородного и/или неоднородного ЛРС.
Поэтому под обобщенным сплайном (порядка К дефекта V), определенным на разбиении отрезка [а,Ь], (далее) понимается функция 8 К (А5; п) (К > 0), которая на частных отрезках [I,, ^+1 ] сетки Л5 : а = /0 < /1 <... < 15 = Ь, совпадает с функциями р_ (I) , которые являются решениями единого рекуррентного соотношения (РС) порядка (К +1):
К+1
р,(п)=Е акР, (п - к) (14)
к=1
- является непрерывной: 8К (А5;I)е СК-” [а,Ь].
Как известно [2, 6, 23], в том частном случае, когда в качестве коэффициентов однородного ЛРС (14) взяты биномиальные коэффициенты
ак =(-1)к-1 С+1, к=1КГ1, (15)
решением уравнения (14) являются алгебраические многочлены степени К. Следовательно, в этой частной ситуации обобщенный сплайн переходит в полиномиальный. Таким образом, полиномиальный сплайн является частным случаем обобщенного.
В дальнейшем нам также понадобятся следующее определение, являющееся сокращенным аналогом определения из монографии Б.И. Квасова [9].
Определение 11. Дискретным (обобщенным) сплайном 8 вк (А5; I) называется (обобщенный) сплайн, для которого выполняются условия
Б,-1,1 Р,-1 (К )= Д,1 Р, ( )
А-иР,-! )= Б,,2Р, )• (16)
В приведенном определении операторы Б, ] -это линейные разностные операторы, построенные
на базе стандартных первой (/=1) и второй (/=2) разделенных разностей от функции 8 Б (А5;I) [9].
Определение 11 является обобщением понятий дискретных кубических сплайнов работ [1, 8] и обобщенных сплайнов работ [24, 25]. В частности, для дискретных (интерполяционных) кубических сплайнов пара условий (16) может быть переписана в виде [8]:
Р, (^ + е,)-Р, (^ -е,) =
2е,
р*-1К +в* )- р*-1К -в* )
2в*
(17)
р* К +В*)-2р* К*)+р* К-В*) =
В, "
= р*-1 К +в* )- 2 р*-1К)+р*-1К - В*)
Условия (16), (17) «можно рассматривать как дискретный аналог условий непрерывности первой и второй производной. Очевидно, при е, ^ 0 дискретный кубический сплайн переходит в кубический сплайн» [8]. Аналогично, при определенных параметрах линейных разностных операторов Б, /
дискретный (обобщенный) сплайн переходит просто в (обобщенный) сплайн [9].
Поскольку КИХ, для которой строится индуцированный алгоритм, задана на дискретном множестве точек на интервале [0, М -1], нас далее будут
интересовать значения сплайнов в узлах целочисленной сетки.
Определение 12. Целочисленной сеткой называ-
ется сетка
І. = *
А £ :0 = і0 < і1 < ... < і£
где
(* = 0, £).
Любая сетка А 5, заданная на интервале [0М] и имеющая узлы на целочисленной сетке АгМ, является подсеткой целочисленной сетки: А5 с АМ . Обозначим такие сетки символом а М 5 (5 < М). Оче-
В математической энциклопедии (под ред. Виноградова И.М.) [11] отмечается, что «сплайны и их обобщения часто появляются как экстремальные функции при решение экстремальных задач: наилучшие квадратурные формулы, наилучшее численное дифференцирование и др.». Появление сплайнов в нашем случае также вызвано решением экстремальной задачи - задачи синтеза строго эффективного индуцированного алгоритма вычисления свертки.
3. От сплайнов к ЛРП Представления отсчетов КИХ в виде сплайна и (неоднородного) ЛРС принципиально неэквивалентны: сплайн используется для представления функций из сК-v [а, Ь], в то время как ЛРС используется для представления последовательностей со значениями в произвольном поле Р. В то же время, если в ЛРС рассматривать только вещественнозначные последовательности и интересоваться значения сплайна только в отсчетах целочисленной сетки, тогда можно установить связь между этими двумя представлениями.
Более точно, если потребовать «перехода» РС
(14) из определения обобщенного сплайна в определение ЛРС, то для любого сплайна можно указать ЛРС единственным образом. Обратное, вообще говоря, не верно. То есть, даже при «переходе» РС (14) из определения ЛРС в определение сплайна, можно указать (бесконечное) множество сплайнов, которые на целочисленной сетке совпадают с отсчетами заданного (неоднородного) ЛРС.
При определении ЛРС по сплайну можно пойти простейшим путем, численно рассчитав параметры ЛРС по (произвольному) сплайну:
Ьт = (А*;т), т = 0 К -1
у(т ) = (А*;т )-Ха (А*;т - к)
т = 0, К-1.
Однако этот подход в общем случае не позволяет аналитически получить характеристики сложности алгоритма модели СЯ как функцию параметров исходного сплайна. Более того, он также не позволяет по параметрам сплайна аналитически проверить выполнение условий теоремы 1. Поэтому ниже предлагается другой подход, который позволяет установить явную аналитическую зависимость между значениями основных характеристик сплайна (определенного типа) и сложностью порождаемого им алгоритма модели СЯ вычисления свертки.
Настоящий раздел состоит из двух подразделов: в первом вводится понятие модифицированного ЛРС (МЛРС), которое далее будет использоваться вместо понятия ЛРС; во втором приводятся основные положения, определяющие однозначный переход от основных характеристик сплайна, заданного на целочисленной сетке, к представлению в виде МЛРС и, далее, к алгоритму модели СЯ. Эта цепочка перехода позволяет в разделе 4 явно указать для сплайна с определенными основными характеристиками значение вычислительной сложности алгоритма модели СЯ, порождаемого этим сплайном.
2
В
к=1
3.1 Модифицированное ЛРС Определение 13. Пусть К - натуральное число, а {ак} - заданные элементы поля Р. Модифици-
рованным ЛРС (МЛРС) К-го порядка называется представление (однородной или неоднородной)
ЛРП {к (т)} длины М элементов поля Р в виде
h(m) =
0, m < 0,
K
S аkh (m - к )+ф(т)
к=1
(І8)
т = 0, M + K-1, 0, т > M + K-1.
Очевидна связь между представлениями ЛРП в виде обычных ЛРС и МЛРС. Ее фиксирует следующее.
Предложение 2. Пусть параметрами ЛРС (II) в представлении ЛРП являются величины
M > K > {ак ^ ^ hbm V. : ^ g. i h ф ^ i • Тогда прЄд-
ставление МЛРС (І8) той же ЛРП имеет параметры :■ {ак }^=, ^ {щ^ф)}
следующим образом:
V
задаваемые
( к = 1, K ),
i, i = 0, K -1 m
i = K, K +1 -1,
M +(i-(I + к) і = I+ K,I + 2 K -1
(І9)
ф(ті ) =
і = 0, : -1 ф (m і - K )
і = :, :+i -1,
- S а*й (m- k)
k=1+(-(+K )
i = i+:, i+2: -1.
Вект°р (M,K, hяk V^i ^ A. ^ ф (m, Ж1^1 )
в даль-
нейшем будем называть вектором параметров МЛРС.
Определим далее множество © по МЛРС (18) следующим образом:
© = {тє2+: 0<т<М+К,ф(т)^0} . (20)
3.2 От параметров сплайна к параметрам МЛРС Ограничим множество рассматриваемых сплайнов порядка К на интервале [0, М - 1] сплайнами на
сетке с целочисленными узлами а М _1 £, для которых также выполняются условия:
sк (аm-1,S ; t) : Vs = 1, s -1 t, -1,-1 > к +1, 3t є[t,,t,+i )*П Z +: p, ( ) p,-, ( )
(2i)
где
[t,^t,+i )* =
[t, ^t,+i ) ^ p, (t,+i )* p,+i (t,+i ) ^ ^t,+i ] p, ((,+i ) = p,+i (,+i )
or s = S -1.
Заметим, что в (21) выполнение ограничения
I, -1,-1 > К +1 (22)
в общем случае не требуется.
Введенные ограничения, определяемые видом сетки А М-15 и условиями (21), очевидно, не являются ограничениями для представления функций, заданных на целочисленной сетке (такой функцией
является КИХ {(т)} ). Связано это с тем, что
значения любой дискретно-заданной функции { (т)} могут всегда быть определены на любом
частичном интервале [С ’ С+1 1]! =, +К+1 в виде
функции р, (I), удовлетворяющей РС (14), поскольку К+1 отсчет на указанном интервале являются начальными условиями для р (I). При этом, если нарушается вторая часть условия (21), узел I, можно устранить из сетки с сохранением всех значений сплайна на целочисленной сетке. Говоря неформально, ограничение (21) устраняет из рассмотрения сплайны, «избыточные» в плане представления дискретно-заданных функций.
Значения сплайна, определенного на интервале [0, М -1], за его пределами зададим следующим
образом:
s: ( Ам-i,: ;n)= 0, n g[0,M-l]
или
p-i (t)= 0, p-: (t)= 0. (2З) Введем следующие характеристики сплайна:
у- = К П[і,,І*+1) П[,К + К], * = 0,£-1,
* \ъ+ П[ +1, і* + К +1], * = £.
І' =
а^ шіп
ЧТКФ Р,м
arg шіи
ГиєУ*:
с =
Х^К(АММ-1,£;п к)0
aIg шах
Гиєу*:
I К+1
тє1 р, (п)*Х$г. (
(24’)
а^ шах
Гиєу*: 1
I К+1 I
тє1 ХЗк ( ;и-к )(
I к=1 ]
у* = £+ П[І*, /;], : = 0д
\т є У,:
К+1
т, * = 0, £ -1,
* = £.
(24)
йК (Км-1,£;т) ) 2 акйК (Км-1,£;т к) |
Координаты в У * определяют потенциальное множество начальных значений для РС (14) функции р (і ). Множество координат У, содержит
скорректированное множество начальных значений, при котором справедливость РС (14) проверяется с учетом отсчетов, которые сплайн имеет в предыдущем частичном интервале.
Для множеств уУх, 0,, очевидно, справедливо соотношение (25) и следующее предложение:
0, є у, є у', : = 0^£. (25)
Предложение 3. Пусть (обобщенный) сплайн удовлетворяет условиям (21). Тогда характеристики сплайна (24) удовлетворяют соотношениям:
V: = 0,£ 0<|0,| <\у\<К+1,
(26)
^ = ;£-1 V* <К+1 ^;>ї, (і, гу), (27)
V: = 1,£-1 V* <К+1 у\<К ,
V,! * *2 у,1 П у 2 =0, 0,1 П 0,2 =!
Ц 0, є Цу, є Цу* є [0, м+к ],
,=0 ,=0 :=0
0: = у: Єу,р, (т)*
К+1 I 2 \
* 5 йк (ам-1, £;т - к).
(28)
(29)
(30)
(31)
Доказательство:
Доказательства этих соотношений достаточно очевидны, поэтому ниже приводятся только их основные моменты.
Левая часть неравенства (26) следует непосредственно из ограничения (21) на сплайн и определение величины II в (24). Правая часть (26) вытекает
из определения функции р, (I) обобщенного
сплайна, задание которой при фиксированном порядке К сплайна требует (К+1) начального значения для соответствующего РС (14).
Выражения (27) и (28) соответствуют частному случаю, при котором сплайн, в силу соотношения (13), оказывается непрерывным в узле I,. В этом
случае, в соответствие с определением характеристики II в (24), узел I, не попадает в множество V,. и, соответственно, выполняются (27) и (28).
Соотношение (29) при наличии в узле I, точки
разрыва сплайна очевидным образом следует из (24), поскольку интервалы задания частичных функций не пересекаются. Для случая, когда в узле I, сплайн оказывается непрерывным, соотношение (29) является следствием (24) и (27), поскольку
I £ V .
,,
Соотношение (30) является непосредственным следствием способа здания V.:, V, , 0, в (24).
Соотношение (31) является очевидным следствием определения множества 0, как подмножества координат из V, , в которых нарушается соответствующее однородное РС.
■
По аналогии с понятием дефекта/кратности сплайна (как непрерывной функции) введем понятие дискретного дефекта, как характеристики дискретно-заданной функции.
Определение 14. Дискретным дефектом в узле I, (, = 0,5 -1) (обобщенного) сплайна
8к (АМ5 ; I), удовлетворяющего условиям (21) и заданного на сетке а М -15, называется величина г, = |0, | . Дискретным дефектом сплайна и
суммарным дефектом сплайна называются величины г и гЕ, задаваемые, соответственно, выражениями:
г = шах г,
, = 0,£
= Х>
Вектором дискретных дефектов называется вектор г =(,...,г5) .
Следующее предложение, формулирующее ограничения на значения дискретных дефектов, является очевидным следствием соотношений (26)-(31).
Предложение 4. Пусть (обобщенный) сплайн удовлетворяет условию (21). Тогда справедливы соотношения:
V, = 0, £ 0 < г, < К + 1
V: = 1, £ - 1 V, < К ^
(32)
(33)
Xrs < min( + 1)(K +1),M + K +1). (34’)
s=0
Если дополнительно для сплайна выполняется условие (22), тогда
Xг, <(S + 1)(K +1).
(34)
Теперь можно сформулировать основное утверждение, которое устанавливает связь между основными характеристиками сплайна, задающего значения функции на целочисленной сетке, и параметрами МЛРС, которая представляет те же значения в виде последовательности.
Лемма 1. Пусть на интервале [0, М - 1] определен (обобщенный) сплайн ЭК (А‘М-1,£;ї) порядка К, удовлетворяющий условиям (21). Пусть функции (і)} 0, задающие значения сплайна
на частичных интервалах сетки [?,,?:+1) , удовле-
( )К+1
творяют РС (14) с коэффициентами {ак}к=1. Пусть в соответствие с выражениями (24) для сплайна определены множества 0, (* = 0, £). Тогда последовательность {эк ,А(-1£; т) пред-
ставима в виде МЛРС с вектором параметров (35):
м - k+1 к ü-
S { ( K+1
Um (m)- 2 (Sk (-1,s ;m - k)
. (35)
Доказательство:
Длина рассматриваемой последовательности, очевидно, равна М. Параметры МЛРС К+1, {ак
задаются как ограничения на МЛРС. Поэтому для проверки корректности утверждения леммы достаточно показать, что в параметрах МЛРС (35) является верным множество пар:
Ц {т(р, (т )-Х ак э к (аМ-1,£ ;т - к)]} , (36)
,= 0 ' ' к=1 ^/тє0,
которые определяют «коррекции» значений соответствующего однородного ЛРС. Поскольку для
т є Х+ П[С, С+1 )* йК ( АМ-1,Я ;т) = р, (т) и
0, є у, є П[і: , і:+1 ) , то для установления корректности (36) оказывается достаточным проверить, что множество © , определенное выражением (20), для МЛРС с выбранными параметрами ,М,К +1, {ак Ж:;) задается в виде:
(37)
Для доказательства этого выражения следует показать справедливость двух утверждений:
Vm є Ue,
,=0
Sk ( aM-1,s ;m)) Ц ak Sk ((-1, s ;m - k)
Vm єZ+ П[0,M + K]\Ue,
,=0
SK (AM-1, S ;m = ak SK (Am-1, S ;m — k)
(38)
(39)
Справедливость (38) является прямым следствием определения множеств 0, в (24).
Для доказательства (39) представим анализируемое множество отсчетов следующим образом:
Z + п [0, M + K ]\U e,
S S
= 1 UОUe, IUl Z + п[0,m + K]\UV* |.
(40)
Для каждого из двух множеств отсчетов в этом объединении справедливость равенства
sk MM-1,s;m)= 2+ aksk (AAm-1,s;m -k) (41)
4 ' k =1 4 /
доказывается отдельно. Для отсчетов первого множества из объединения (40), в силу определения V* и 0, в (24), справедливо:
V т еУ*\0,
Sk AAM-1, s ;m)=Ц ak Sk (AM-1, s ;m - k)•
Отсюда непосредственно следует:
S S
v m є UV,*\ U e,
,=0 ,=0
8к (аМ-1,5 ;т) = Е ак8К (аМ-1,5 ;т - к).
Далее, поскольку
[0, м+к ] = и [I,, I,+1 )* и V;,
,=0
второе множество в (40) может быть задано как:
z+ п [0, м + к ]\и^* =
,=0
= 0(+ п [I,, l,+1 )* )\)
,= 0
Множества (Z + П [I,, I,. +1 )*) \ V* (, = 0,5 -1)
либо пусты (если [I,, I,+1 ) Л +К]), либо нет. В последнем случае справедливо
(42)
,=0
■
[, С + К, С+1 i ,
[, t. + К ]П ((Z + n [, t,+1 )*) \ v* ) = 0.
В соответствие с этим неравенством в левой части интервала [fs ,ts+1) есть, по крайней мере, (К+1)
определенных значений сплайна, расположенных последовательно в отсчетах t , t +1,., t + К . Их
^ s5 s * * s
оказывается достаточно для того, чтобы однозначно задать значения функции ps (t) для всех оставшихся на этом интервале точек
t. + К +1, ts + К + 2,... = (Z + П [ts, ts+1 )*) \ V*
посредством РС (14). А поскольку
Vm е Z+ n[ts, ts+1 )* SK (AM-1,S ;m) = Ps (m),
то однородное РС (41) выполняется для всех точек множества (Z+ П [ts, t++1 )*) \ V*. Тогда, в силу справедливости представления (42), справедливо и выражение (39).
Что и требовалось доказать.
■
Приведенная лемма имеет следствие, которое фактически было доказано.
Следствие 2 (леммы 1). Пусть выполняются условия Леммы 1. Тогда для представления МЛРС справедливо:
©= U0s, © = Г.
s=0
Большое значение в настоящей работе имеет величина суммарного дискретного дефекта сплайна. Диапазон значений этой величины определяет
Лемма 2. Пусть выполнены условия леммы 1 и соотношение (22), тогда
1 + max (S, К + 1 )< rE < (S + 1 )(К + 1). (43)
Доказательство:
Ограничение сверху является прямым следствием (34).
Для доказательства справедливости неравенства
rz > max (S,К + 1) + 1
определим/рассчитаем число степеней свободы (количество независимых параметров) сплайна порядка К c (S+1) узлом. Число степеней свободы составляет (К + 1)S , поскольку для каждого частичного интервала [с Л+1) (s = 0, S -1) сплайна (кроме последнего) функция ps (t), определяющая поведение сплайна на этом интервале, имеет К+1 независимый параметр: это либо коэффициенты полинома, либо
начальные значения РС (14). Эти (к +1)5 независимых параметра могут быть использованы для того, чтобы уменьшить максимальное значение дефекта:
гЕ = (5 + 1)(К + 1) .
При отсутствии каких-либо ограничений на сплайн минимальное значение дефекта могло бы быть равным разницы между максимальным суммарным дефектом и числом независимых параметров. Однако, в силу соотношения (26),
Vi=°,S rs =|ej >0,
величина дефекта в каждом узле не может быть ниже единицы. Поэтому для каждого узла, кроме последнего, можно подобрать независимые параметры функции ps (t) таким образом, чтобы rs = 1. Для
этого достаточно потратить К параметров из К+1 возможных. Таким образом, суммарный дефект оказывается равным:
rz = (S + 1 )(К + 1)-SK = S + К + 1 .
При этом на каждый «обработанный» узел s = 0, S -1 остается еще по одному свободному параметру, то есть всего S свободных параметров. Один из этих параметров фиксирует «масштаб» сплайна, отвечая, в частности, за значение величины max S К (AS; n) . Оставшиеся (S-1) степеней сво-
ше[0,М-1]l К I V 7
боды можно использовать для снижения величины дискретного дефекта в узле tS. Поскольку дискретный дефект в этом узле, имеющий максимальное значение (К+1), также удовлетворяет (26) и не может быть ниже единицы, нам, соответственно, достаточно потратить К степеней свободы из S-1 оставшихся. Таким образом:
J(S + К+1)-К, S-1 > К, Ге={( + К+1)(-1), S-1 < К.
Окончательно, имеем:
S +1, S > К +1,
[К + 2, S < К +1,
или rz = max (S,К + 1) + 1.
Что и требовалось доказать.
■
Замечание 1. В ситуации S > К+1 число степеней свободы сплайна оказывается больше, чем требуется для коррекции величины дискретного дефекта. Их можно использовать для того, чтобы некоторые операции при реализации алгоритмов вычисления свертки оказались тривиальными, то есть содержали умножения на «хорошие» числа типа: «1», «2», «1/2», «4», «1/4» и т.п.
Замечание 2. В ситуации S < К + 1 одна степень свободы не используется для коррекции величины суммарного дискретного дефекта. Она, как
указано в приведенном доказательстве, использована на задание «масштаба» сплайна, то есть отвечает,
частности,
за
значение
шах
тє[0М-1]
|КК (А£; п)|. Эта степень свободы также
величины мо-
с апри-И
жет быть использована в целях снижения вычислительной сложности алгоритмов вычисления свертки также, как указано в замечании 1.
4. Алгоритм модели ЄЯ для КИХ в виде сплайна и его сложность
4.1. Общий случай
Пусть решается задача 2 (з0, { (п ^п^1 орной информацией 30 = ({к (п)}м-1, (И, 0)).
пусть КИХ { (т)} 1 задана на интервале [0, М -1] в виде (обобщенного) сплайна
КК (А"М-1і£; ї) порядка К, удовлетворяющего условиям (21).
В соответствие с выражениями (24) определим для сплайна множества Уs, 0, (* = 0, £), а также в
соответствие с леммой 1 представим сплайн с помощью параметров МЛРС вида:
'М, К +1 {ак >;K-+l1,
Ц {т(р, (т)- К к к к К М ,1,£;т - к )
Пусть также приведенный компетентный алгоЛ ©
ритм А над множеством алгоритмов постоянной сложности {а};=0 задан на области определения
*А.,МЯ =((М" "):1 <М < М~’1 < И .
Тогда одним из алгоритмов решения задачи 2 является алгоритм модели СЯ со следующими параметрами:
Кк = К + 2 , Кх = 1,
Кх -1 к=0
отсчеты КИХ {к (к)}к=0 и {(к)}
Г1, к = 0,
§к (к)=1 к 1К“1 ^ (0) = 1.
[-ак , к = 1, Кк -1
число интервалов допустимого покрытия
5 = 5 +1;
границы интервалов области определения КИХ:
шіп т, шах т
тє0, тє0,
О, =
функции {к, (т)} 0:
( = 0, £-1); (44)
к* (т) = р* (т + шіпп) -
-і:1 ак кк [аМ-1, £; (+мхтп)- к )
т = 0,|Б'\ -1.
В качестве параметров-алгоритмов используется
V-» V.» ^0
приведенный компетентный алгоритм А .
Следует отметить, что выражение (44) для дискретного интервала Б, фактически является аналогом выражения (24) для у * , а именно:
т є Б, о т є у, (* = 0, £-1,.
С учетом этого соотношения:
|у,| = N (* = 0^). (45)
Подставляя приведенные значения параметров в выражения (9) и (9’) для вычислительной сложности алгоритма модели СЯ, получаем:
Обобщенный сплайн
и (АСК (2)) =
= Хи (А0(|у,|, N ))+^ + ( + 1).
,=0
Полиномиальный сплайн
и(АСЯ (2)) = £Ти (А©((,N)) +
,=0
+^£+(К+ 1)^.
4.2. Практически важный случай
(46)
(47)
Как правило, в реальных задачах не зависимо от размеров носителя представляемой функции ограничиваются сплайнами малых порядков. Например, при построении полиномиальных сплайнов чаще всего используются кубические сплайны (К=3) [1, 8,
9, 11, 17] и практически не используются сплайны выше пятого порядка. В этой ситуации величина V, |
также оказывается малой в силу соотношения (26):
IV,! < К + 1 . А для столь малых размеров КИХ, как известно в ЦОС и ЦОИ [3, 4, 19], наименьшей вычислительной сложностью при реализации алгоритма свертки обладает простейший алгоритм прямого вычисления свертки Абс .
Поэтому ниже предположим, что множество алгоритмов постоянной сложности (а}1: 01 ограничено единственным алгоритмом Апс . В этом случае приведенный компетентный алгоритм, как очевидно, совпадает с алгоритмом АПс : Аф = АВс . Вычислительная сложность последнего имеет вид:
и ( Абс (М, И))= М-^.
в
Подставляя это выражение в (46) и (47), приходим к следующей формулировке.
Предложение 5. Вычислительная сложность алгоритма acr (Z) модели CR решения задачи Z
вычисления свертки, построенного на основании представления КИХ {(от)) =0 в виде сплайна
SK (aM_X'S; t) порядка К, удовлетворяющего условиям (21), при условии A® = ADC имеет вид:
- для обобщенного сплайна
U(ACR (Z)) = £|к| + (К +1)4add . (48)
s=0
- для полиномиального сплайна
U (ACR (Z )) = £ |к| + К %add (49)
s=0
■
Следствие 3. При выполнении условий предложения 5 и соотношения (22) вычислительная
сложность U (ACR (Z)) удовлетворяет:
- для обобщенного сплайна
max ( S К + 1\ + (K + 2 add <
< U (ACR (Z )< (50)
<( + 2)(K + 1)-^,
- для полиномиального сплайна
max ( K + l) + K%add + 1 <
< U (ACR (Z))< (51)
<(S + 1)(K + 1) + К % add .
Доказательство:
Выражения (50) и (51) получены непосредственно из соотношений, соответственно, (48) и (49). В
S
последних величина X |Vs| заменена на ее мини-
s=0
мальное и максимальное значения, которые приведены в выражении (43) леммы 2.
■
Для непрерывных сплайнов, с учетом неравенства (28), верхняя граница сложности для (50) и (51) может быть уточнена:
- для обобщенного сплайна
U (ACR (Z ))<( S + 2) К +1 -^,
- для полиномиального сплайна U (ACR (Z ))< К ( +1 + %aJJ).
Однако, дальнейшее снижение дефекта v сплайна (см. определение 10) не меняет сложности алгорит-
ма модели CR и, соответственно, ее верхнюю границу. С другой стороны, очевидно, что величина
X п
s=0
при остальных фиксированных параметрах сплайна напрямую влияет на сложность алгоритма acr (Z),
что является очевидным следствием выражений (48) и (49). Это позволяет рассматривать специальное подмножество сплайнов, для которых значения вычислительной сложности соответствующих алгоритмов вычисления свертки достигают своей нижней границы.
5. МС-сплайны
5.1. Общие положения
Определение 15. Сплайн SK (aM; t) называется МС-сплайном1, если он удовлетворяет условиям (21) и вычислительная сложность (48)-(49) алгоритма acr (Z) модели CR, построенного
для этого сплайна, равна наименьшей вычислительной сложности, достигаемой порождаемыми алгоритмами для сплайнов того же порядка и того же количества узлов.
Теорема 2 (необходимое и достаточное условие). Для того чтобы сплайн SK (aMs ; t), удовлетворяющий условиям (21)-(22) был МС-сплайном необходимо и достаточно, чтобы его суммарный дискретный дефект имел значение
rE = 1 + max (S, К +1). (52)
Доказательство:
Является очевидным следствием выражений (48)-(49), условий (50)-(51) и соотношения (43) леммы 2.
■
Эта теорема имеет очевидные следствия. Первое из них оказывается не только простым для проверки, но также и полезным при синтезе МС-сплайнов.
Предложение 6 (достаточное условие). Сплайн
SK (aM ; t), удовлетворяющий условиям (21)-
(22), является МС-сплайном, если его дискретный дефект равен единице:
r = max r = 1
s=0,S s
■
1МС - Минимальная (вычислительная) Сложность (Minimal Complexity). Этот префикс использован по примеру работ [21, 22, 27, 28].
Предложение 7. МС-сплайн SK (aM^; t) порядка К>1 является непрерывным на [0, M - 1]:
Sk (aM-1, S; t C‘ [ M -1].
■
Очевидно, что сложность алгоритма acr (Z) модели CR, построенного для МС-сплайна SK (aMs ; t), удовлетворяющего (22), составляет:
- для обобщенного МС-сплайна
U(ACR (Z)) = max (SК +1) + (К + 2) - %add , (53)
- для полиномиального МС-сплайна
U (ACR (Z)) = max (S, К +1) + К%ш +1. (54)
В таблице 1 приведены значения суммарного дискретного дефекта rE (52) для МС-сплайна при различных значениях порядка и количества узлов. Серым ячейки таблицы соответствуют тем парам
(S, К), для которых вычисления производились по формуле rE = К + 2, а светлым - rz = S + 1 .
Таблица 1. Суммарный дискретный дефект сплайна порядка К с 5 интервалами
K § 0 1 2 3
1 2 3 4 5
2 3 3 4 5
3 4 4 4 5
4 5 5 5 5
5 6 6 6 6
6 7 7 7 7
7 8 8 8 8
Говоря неформальным языком, параметры МС-сплайна К), которые соответствуют серым ячей-
кам таблицы, являются «плохими» в том смысле, что при том же суммарном дискретном дефекте и, соответственно, сложности порождаемого им алгоритма модели СЯ вычисления свертки, оказывается возможным построить другой МС-сплайн с большим количеством узлов. Большее число узлов у сплайна означает большее количество степеней свободы (их расположения, значений сплайна в узлах), которые могут быть с пользой использованы.
Например, при фиксированном РС (14) сплайна,
для пары параметров (5 К) = (1,3) оказывается возможным построить всего 4 различных (с точностью до множителя) сплайна, различающихся только дискретными дефектами в узлах:
(«)={(14),(2,3) ,(3,2),(4Л)}.
В то же время, тот же суммарный дискретный дефект (и сложность порождаемого алгоритма СЯ)
имеет сплайн с параметрами (5, К)=(4,3), для которого вектор дискретных дефектов только один
(Г0, ^ Г2 , Г, Г4 )= (1,1,1,1,1 ) ,
но расположение узлов можно выбрать произвольно, удовлетворяя достаточно «слабым» ограничениям (21)-(22) на сплайн. Эту свободу в распределении узлов можно использовать, например, для удовлетворения дополнительным условиям, например, для снижения ошибки аппроксимации сплайном заданной функции, для ортогонализации сплайна(ов) и т.п.
Ниже приводятся некоторые примеры построения полиномиальных МС-сплайнов. Безусловно, эти примеры не исчерпывают все возможные МС-сплайны, охватывая только небольшое их подмножество, соответствующее случаям с малым числом узлов. Другие примеры могут быть получены аналитически или численно, путем решения соответствующих уравнений, возникающих при фиксации суммарного дискретного дефекта сплайна величиной (52).
5.2. Примеры полиномиальных МС-сплайнов
Для случая 5=1 рассматриваются сплайны при К>0. Для остальных случаев рассматриваются только те пары
(5 к) , которые соответствуют «белым»
ячейкам таблицы 1 и, соответственно, «хорошие» МС-сплайны.
Везде ниже при построении предполагается выполнение условий (21)-(22).
Полиномиальные МС-сплайны для 5=1, К>0
Этот сплайн имеет только один сегмент, то есть совпадает на области определения с полиномом степени К. Вычислительная сложность (54) имеет вид:
и( Ак )= К+2+
или
иш (А® ) = 2К+2, и^ (А- )= К+2.
Последнее выражение (с точностью до 2-х операций умножения, которые могут быть устранены выбором множителя - см. замечание 2 выше) совпадает с выражениями для полиномиального МВС-базиса, введенного в работах Н.И. Глумова, В.В. Мясникова и В .В. Сергеева [21,22]. В данном случае эти функции получены как частный случай решения более общей задачи.
С учетом возможных значений дискретных кратностей, общее строение такого полиномиального сплайна имеет вид:
Эк (т) = РГ1 (т -1)П ( - (М -1 + *')), (55)
¡1 =1 12 =1 ^ >
К = К1 + к2.
В частном случае К1 = К имеем:
(т)=вП(т-І).
(56)
Полиномиальные МС-сплайны для Б > 2, К = 1
Для к > 1 сплайн (56) совпадает со сдвинутым «факториальным полиномом» или «обобщенной степенью» [2, 6, 23]. Этот тип полиномиальных функций уже использовался в работах по синтезу быстрых рекурсивных алгоритмов вычисления сверток [21,
22, 27, 28]. Их вид приведен на рис. 1.
Рис. 1. График 5К (т)) тяХ1]8к (т) дляМС-сплайнов
«обобщенная степень» порядков К=1,2,3,4,5, заданных на интервале [0,10]
Полиномиальные МС-сплайны для Б > 2, К = 0
Эти сплайны имеют £ сегментов, каждый из которых является константой. Вычислительная сложность (54) имеет вид:
и (асй (г)) = Птм11 (а™ (г )) = = иш ((г )) = £ +1.
Этот МС-сплайн совпадает, очевидно, с любой кусочно-постоянной функцией. Например, для 5 = 2 МС-сплайном является функция/вейвлет Хаара [10]. Другим примером функций, которые могут быть представлены с помощью таких МС-сплайнов, являются функции Уолша, Радемахера и др. [15, 16, 19]. Примеры МС-сплайнов изображены на рис. 2.
Вычислительная сложность (54) для этих МС-сплайнов имеет вид:
и (А- )= Б+1+^.
Для построения примеров рассмотрим вначале более простую ситуацию: Б = 2, К = 1 . Эти сплайны имеют два сегмента, на каждом из которых они совпадают с линейной функцией. Вектор кратностей для этого сплайна единичный
(^ ^ Г2 )= (МЛ),
хотя ЛРС для каждой частичной функции сплайна имеет порядок (К+1)=2. Такой сплайн представляет собой непрерывную кусочно-линейную функцию:
з ( -¿иі*3!(ґ+1), ґ~*1,
К' М-1,2’ ' |В2(-М), ґ>и.
[Р2 (Х -М), X > Хх
где, в силу непрерывности, для Р1;Р2 выполняется:
Р1 (*1 + 1)=Р 2 (*1 - М ) .
Примеры такой функции приведены на рис. 3.
(57)
1,0
0,9
0,8
0,7
0,6
0,5
0,4
0,3
0,2
/ \
/ V / \
/ / V V
/ у / \ \
г* / у •ч V \
г . у у чч \ ч\
У \ \ч ^ у
У Ч,
01 23456789 10
Рис. 3. МС-сплайны для Б=2, К=1
Переходя к общему случаю, когда Б > 2, можно заметить, что выражение (57) определяет корни для «крайних» в сплайне полиномиальных функций:
Ро (-1) = 0, р (М ) = 0 ,
а значения сплайна во «внутренних» узлах могут быть произвольными, обеспечивая гладкости сплайна, при которой дискретный дефект узла равен единице. Тогда, полагая
% - 5к К-а; X,) X = 1,Б - ь
имеем следующее представление МС-сплайна:
Рис. 2. МС-сплайны в виде кусочно-постоянных функции, определенной на [0,32]
І=1
р. (г) =
(г +О'
Уі
?1 +1
У + ( - ^ )У+^У
Уб-1
( I - I ^
1 - б-1
М - г.
0 < 5 < Б - 2,
5 = Б -1.
Б-1 У
Такая функция имеет изображение, похожее на «пилу»: крайние узлы которой «зафиксированы», а «зубья» различной ширины расположены последовательно. Пример таких графиков приведен на рис. 4.
2,0 1,5 1,0
0,5 0
-0,5 -1,0
/ Л \ >
/ / к \ \ \ / \
у / >. \ \ \ \ \ \ \ / \ \
А? V •* \ «, /
\ / Г \ /
\ **♦ ** \ у /
0 2 4 6 8 10 12 14 16 18 20
Рис. 4. МС-сплайны «пила»: Б=5, К=1
Полиномиальные МС-сплайны для £ = 3,К = 2
Эти сплайны имеют два сегмента, на каждом из которых они совпадают с квадратичной функцией. Вычислительная сложность (54) для этих МС-сплайнов имеет вид:
и (А” (г ))= 4 + 2;^.
Вектор кратностей для этого сплайна единичный, поэтому сплайн непрерывен и, кроме того, значения смежных функций р* (/), р*+1 (/) на одной из
«соседних» с узловой точек совпадают. Пусть, например, они совпадают на точке, расположенной справа от узла:
Р* (+1 +1 )= Р*+1 (+1 +1) 5 = 12.
Тогда система уравнений, при которых можно построить такой МС-сплайн, имеет вид:
Ро (-1) = 0, Ро (-2) = о, р2 (М ) = 0, р2 (М +1) = о, Ро (¿1 ) = Р1 (¿1 ) , Ро (¿1 + 1) = Р1 (¿1 + 1),
Рх (¿2 ) = Р2 (¿2 ) Р1 (¿2 + !) = Р2 (¿2 + !)■
Эта система имеет 8 уравнений, а число свободных степеней свободы (коэффициентов полиномов)
- 9. Дополнительную степень свободы можно использовать, задав, например, значение сплайна на одном из узлов. Например, задавая
(58)
Р о (о )= Ь
можно при реализации алгоритма свертки избавиться от одного умножения.
Примеры такого МС-сплайна приведены на рис. 5. Как видно, он, подобно Гауссовой функции, имеет «волнообразную» форму. В более общей ситуации, когда 5 > 3, сплайны этого типа также имеют плавный «волнообразный» характер.
300
250
200
150
100
50
/ / / ч \ N \
! / / г \ \ \
/ / / / V /** *\ \ \ \
/ г / і \
л /у V
0 2 4 6 8 10 12 14 16 18 20
Рис. 5. МС-сплайн: Б>3, К=2
Полиномиальные МС-сплайны для Б > К + 1 > 2
В общем случае процесс построения МС-сплайна сводится к решению системы уравнений, аналогичной (58). Например, для рассматриваемого случая с
К>1 и сеткой А'М-1 £, которая удовлетворяет условиям (21)-(22), система уравнений может быть представлена в виде:
Ро (-к) = 0 Рб-1 (М -1 + к) = 0 Р5 ( + к - 1) = Л-1 ( + к - 1) =
(59)
5 = 1, £ -1, к = 1, К.
Эта система имеет К(Б+1) уравнений, а число степеней свободы (коэффициентов полиномов), как было указано ранее, составляет 5(К+1). Поскольку 5 > К +1, необходимо дополнительно задать еще (Б - К) уравнений. Простейшее, но далеко не единственное, решение состоит в задании значений сплайна на выбранных (5 - К) узлах. Поскольку число доступных узлов больше числа оставшихся степеней свободы (5 +1 > 5 - К), такое расширение
системы (59) всегда дает недостающее количество уравнений. Окончательно, имеем:
Ро (-к)= ° Рб-1 (М -1 + к) = °
Р* ( + к-!) = Р*-1 ( + к-!)= * =1 5-1 к = 1К,
Р* (, )= У*, > 5 б|о,-; £}, 1 = ° 5 - К -1
Используя метод множителей Лагранжа, эта система уравнений, как и во многих других задачах построения сплайнов, приводит к СЛАУ блочнодиагонального вида соответствующей размерности. Такие СЛАУ, как известно, хорошо решаются методом прогонки [8, 9].
Заключение
Рассмотрено частное решение задачи синтеза эффективного алгоритма вычисления свертки, возникающее при использовании сплайн-представления для КИХ. Построен алгоритм модели СЯ вычисления свертки, порождаемый соответствующим сплайном. Даны явные выражения для его вычислительной сложности для случаев обобщенных и полиномиальных сплайнов, как функции от основных характеристик сплайна. Для множества сплайнов, ограниченного парой параметров (порядок-число узлов), приведены верхние и нижние границы для вычислительной сложности порождаемых ими алгоритмов вычисления свертки. Выделено подмножество сплайнов (МС-сплайны), порождающих алгоритмы вычисления сверток с экстремально низкой вычислительной сложностью. Приведены примеры их построения.
Благодарности Работа выполнена при поддержке:
• Российского фонда фундаментальных исследований (РФФИ), проекты № 06-01-00616-а, 07-07-97610р офи;
• российско-американской программы «Фундаментальные исследования и высшее образование» ("ВЯНЕ")
• Фонда содействия отечественной науке.
Автор также выражает благодарность в.н.с. Института вычислительных технологий СО РАН проф. Б.И. Квасову за любезно предоставленную консультацию по тематике дискретных сплайнов.
Литература
1. Алберг Дж., Нильсон Э., Уолш Дж. Теория сплайнов и ее приложения. - М.: Мир, 1972. - 318 с.
2. Андерсон Дж.А. Дискретная математика и комбинаторика. - М.: ИД "Вильямс", 2004. - 960 с.
3. Блейхут Р. Быстрые алгоритмы цифровой обработки сигналов. - М.: Мир, 1989. - 448 с.
4. Быстрые алгоритмы в цифровой обработке изображений. - М.: Радио и связь, 1984. - 224 с.
5. Вариченко Л.В., Лабунец В.Г., Раков М.А. Абстрактные алгебраические системы и цифровая обработка сигналов. - Киев: Наукова думка, 1986. - 248 с.
6. Гельфонд А.О. Исчисление конечных разностей. -М.: Наука, 1967. - 375 с.
7. Голд Б., Рэйдер Ч. Цифровая обработка сигналов. -М.: Советское Радио, 1973. - 367 с.
8. Завьялов Ю.С., Квасов Б.И., Мирошниченко В.Л. Методы сплайн-функций. - М.: Наука, 1980. - 352 с.
9. Квасов Б.И. Методы изогеометрической аппроксимации сплайнами. - М.: Ижевск: НИЦ «Регулярная и хаотическая динамика», Институт компьютерных исследований, 2006. - 416 с.
10. Мала С. Вейвлеты в обработке сигналов. - М.: Мир, 2005. - 671 с.
11. Математическая энциклопедия: под редакцией Виноградова И.М. - М.: Советская энциклопедия, 1977.
- Т. 1-5,
12. Миролюбов А.А., Солдатов М.А. Линейные неоднородные разностные уравнения. - М.: Наука, 1986. -127 с.
13. Мясников В.В. Эффективный алгоритм над множеством алгоритмов вычисления свертки // Компьютерная оптика, 2006. Вып. 29. - С. 78-117.
14. Нуссбаумер Г. Быстрое преобразование Фурье и алгоритмы вычисления свёрток // М.: Радио и связь, 1985. 248 с.
15. Оппенгеймер А.В., Шафер Р.В. Цифровая обработка
сигналов. - М.: Связь, 1979. - 416 с.
16. Рабинер Л, Гоулд Б. Теория и применение цифровой
обработки сигналов. - М.: Мир, 1978. -848 стр.
17. Стечкин С.Б., Субботин Ю.Н. Сплайны в вычислительной математике. - М.: Наука, 1976. - 248 с.
18. Тихонов А.Н., Арсенин В.Я. Методы решения некорректных задач. - М.: Наука, 1979. - 142 с.
19. Ярославский Л.П. Введение в цифровую обработку изображений. - М.: Сов. радио, 1979. - 312 с.
20. Agarwal R.P. Difference Equations and Inequality: Theory, Methods, and Applications, 2nd ed., rev. exp. // New York: Marcel Dekker, 2000. - 998 p.
21. Glumov N.I., Myasnikov V.V., Sergeyev V.V. Application of polynomial bases for image processing using sliding window // SPIE. Image Processing and Computer Optics, 1994. - Vol. 2363. - P. 40-49.
22. Glumov N.I., Myasnikov V.V., Sergeyev V.V. Parallel-Recursive Local Image Processing and Polynomial Bases // Proceedings of the Third IEEE Inrernational Conference on Electronics, Circuits, and Systems ICECS’96. Rodos, Greece, 1996. - Vol. 2. - P. 696-699.
23. Jordan Ch. Calculus of finite differences, 2nd ed. // New York: Chelsea Publ. Co., 1950. 652 p.
24. Kvasov B.I. Local bases for generalized cubic splines // Rus. J. Numer. Anal. Math. Modeling, 1996. - Vol. 11.
- P. 223-246.
25. Kvasov B.I. GB-splines and their properties // Annals of Numerical Mathematics, 1996. - Vol. 3. - P. 139-149.
26. Lyche T. Discrete cubic spline interpolation. - BIT, 1976. - Vol. 16. - P. 281-290.
27. Myasnikov V.V. Construction of Integer-Value Polynomials for Recursive Calculation of the Convolution with FIR-Filter // Тезисы 7-й Международной конференции «International Conference on Pattern Recognition and Image Analysis». - СП-б, 2004. -P. 331-334.
28. Myasnikov V.V. On Recursive Computation of the Convolution of Image and 2-D Inseparable FIR-Filter // The 9th World Multi-Conference on Systemics, Cybernetics and Informatics. Orlando, Florida (USA), 2005. - P. 268-272.