О рекурсивном вычислении свертки изображения и двумерного неразделимого КИХ-фильтра

ОБРАБОТКА ИЗОБРАЖЕНИЙ: МЕТОДЫ И ПРИКЛАДНЫЕ ЗАДАЧИ

О РЕКУРСИВНОМ ВЫЧИСЛЕНИИ СВЕРТКИ ИЗОБРАЖЕНИЯ И ДВУМЕРНОГО НЕРАЗДЕЛИМОГО КИХ-ФИЛЬТРА

Мясников В. В.

Институт систем обработки изображений РАН, Самарский государственный аэрокосмический университет

Аннотация

В работе предлагается метод построения алгоритма рекурсивного вычисления свертки изображения и двумерного фильтра с неразделимой конечной импульсной характеристикой (КИХ). Этот метод основан на представлении конечной импульсной характеристики фильтра через вертикальные и горизонтальные рекуррентные соотношения. Каждое из рекуррентных соотношений приводит к полу-рекурсивной процедуре вычисления свертки изображения и двумерного КИХ-фильтра. В свою очередь, каждая из этих полу-рекурсивных процедур состоит из двух частей. Первая часть процедуры представляет собой рекурсивное соотношение, предназначенное для пересчета значений в процедуре, а вторая часть - нерекурсивное вычисление сверток на границах импульсной характеристики. Для перехода от полученной полу-рекурсивной процедуры к полностью рекурсивному алгоритму вычисления искомой свертки в работе доказывается специальное утверждение. Это утверждение показывает, что если импульсная характеристика искомого фильтра удовлетворяет рекуррентным соотношениям и по вертикали и по горизонтали, тогда все дополнительные импульсные характеристики, с которыми производится вычисление сверток на границах КИХ-фильтра, удовлетворяют тем же рекуррентным соотношениям. Данное утверждение позволяет модифицировать полученную процедуру в полностью рекурсивный алгоритм вычисления свертки изображения и двумерного неразделимого КИХ-фильтра. В работе также приводятся оценки вычислительной сложности предложенного рекурсивного алгоритма, выражаемые числом арифметических операций.

Введение

Вычисление свертки является базовой операцией в теории цифровой обработке сигналов и изображений. Вычисление свертки входного изображения х(пх,п2) и линейного фильтра с конечной импульсной характеристикой (ИХ) к(п1,п2) может быть представлено в форме:

у

( ,т2 )е В

Здесь у(п1,п2) - выходное изображение, В - конечная (ограниченная) область ненулевых отсчетов импульсной характеристики. Будем считать, что область В задана следующим образом:

В = {Ц, т2 )е[0, Ых ]х[0, Ы2 ]}.

В теории цифровой обработки сигналов и изображений существует два принципиально различных алгоритмических подхода к быстрому вычислению свертки (1). Первый подход использует теорию быстрых ортогональных преобразований [1]. Второй подход использует рекуррентные соотношения для получения рекурсивных алгоритмов вычисления свертки. Последний применяется обычно для фильтров с бесконечной импульсной характеристикой - БИХ-фильтров [2, 12]. Однако также возможно использованием этого подхода для КИХ-фильтров [4-9, 11, 12]. На возможность рекурсивного и параллельно-рекурсивного вычисления свертки

изображения и КИХ-фильтра одним из первых указал Л.П. Ярославский в работе [3]. Определенное обобщение и развитие этого подхода было представлено в работах [4, 5, 8]. Работы [6, 7, 9] использовали полиномиальные импульсные характеристики фильтра для рекурсивной реализации свертки. Авторская работа [9] дает описание метода построения алгоритма рекурсивного вычисления свертки изображения и неразделимого двумерного полиномиального КИХ-фильтра.

Настоящая работа представляет развитие метода, предложенного в [9], для случая, когда ИХ фильтра является произвольной неразделимой двумерной функцией с конечной областью определения.

Данная работа организована следующим образом. Первый раздел представляет некоторые известные результаты одномерной рекурсивной фильтрации. В нем дается описание одномерного рекурсивного алгоритма, используемое для вычисления свертки сигнала и одномерного КИХ-фильтра. Определение одномерной рекуррентной конечной импульсной характеристики дается также в этом разделе. Приведены выражения для вычислительной сложности рекурсивной обработки. Также здесь демонстрируется простой пример рекурсивного вычисления свертки сигнала и одномерного фильтра с прямоугольным импульсным откликом. Детали подхода, изложенного в этом разделе, могут быть найдены в работах [4, 5, 8].

Во втором разделе приведено обобщение результатов одномерной рекурсивной обработки на двумерный случай. Для того чтобы перейти к ситуации двумерной обработки, используется идея, которая была предложена автором в работе [9] при построении рекурсивного двумерного неразделимого полиномиального КИХ-фильтра. В частности, по аналогии с одномерным случаем вводится определение двумерной рекуррентной импульсной характеристики. Это определение, соответствующее представлением двумерного КИХ-фильтра, используется для получения полу-рекурсивной процедуры вычисления свертки изображения и произвольного двумерного неразделимого КИХ-фильтра. Эта полурекурсивная процедура представлена в настоящем разделе. Показано, что она состоит из двух частей. Первая часть представляет собой рекурсивную часть расчета искомой свертки, а вторая содержит выражения для нерекурсивного вычисления сверток на границах исходного КИХ-фильтра. В работе показывается, что указанные выражения вычисления сверток используют в выражениях пиксели входного изображения и некоторые специфические конечные ИХ, отсчеты которых зависят от отсчетов первоначального КИХ-фильтра. Выражения для вычислительной сложности предложенной полурекурсивной процедуры даны во втором разделе. В качестве показателей сложности выступают количества арифметических операций сложения и умножения, необходимых для расчета одного отсчета выходного изображения.

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

Четвертый раздел дает алгоритм расчета параметров двумерной рекуррентной конечной ИХ для представления с ее помощью произвольной двумерной неразделимой ИХ линейного фильтра. Для этого используется аппроксимация данного двумерного линейного фильтра посредством вертикальных и горизонтальных двумерных рекуррентных соотношений. В качестве показателя качества аппроксимации

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

В пятом разделе приведена информация о поддержке данной работы со стороны грантов и спонсоров.

1. Рекурсивное вычисление свертки одномерного сигнала и КИХ-фильтра

Данный раздел содержит обзор некоторых известных результатов рекурсивной фильтрации для одномерного случая. Детали алгоритмов рекурсивного вычисления свертки сигнала и одномерного КИХ-фильтра могут быть найдены в работах [4, 5, 8].

Операция вычисления свертки сигнала и одномерного КИХ-фильтра может быть представлена в виде:

у(п) = ^Н(т)х(п - т).

т^В

Здесь сигналы х(п) и у(п) представляют, соответственно, входную и выходную одномерные последовательности, а функция к(т) является импульсной характеристикой линейного фильтра. Величина В задает область определения фильтра, соответствующую его ненулевым значениям. Эта область является конечной. Для определенности положим В = [0, м ].

Пусть ИХ фильтра удовлетворяет рекуррентному соотношению К-ой степени. Если данное утверждение не выполняется и ИХ не удовлетворяет рекуррентному соотношению, в этом случае всегда можно аппроксимировать ее с помощью такого рекуррентного соотношения. Поэтому предположим далее, что для импульсной характеристики фильтра выполняется следующее соотношение:

Н(т)=

Ьт, т = 0, К -1,

К

^Оакк{т - к), т = К,М -1,

к=1

0, т < 0, т > М.

Здесь величины ак (к = 1, К) являются коэффициентами рекуррентного соотношения, а величины Ьт (т = 0, К -1) - его начальными значениями [10]. Будем в дальнейшем называть импульсные характеристики, удовлетворяющие соотношению (4), одномерными рекуррентными импульсными характеристиками. Тогда выражение вычисления свертки (3) сигнала и фильтра с одномерной рекуррентной ИХ может быть представлено в рекурсивном виде [5, 8]:

У(п) = X а*У(п - к) + X И (т) х(п - т) -

к=1 т=0

X-1

-X И (т)х(п -М - т).

т=0

Функции И + (к) и И ~(к), использованные в данном выражении, могут быть вычислены заранее. Они задаются следующими выражениями:

т

И+ (т) = И (т) -Ха кИ(т - к),

И (т) = X акИ(М + т - к), т = 0, X -1.

к = т+1

Обозначим далее

X-1

у+ (п) = X И+ (т) х(п - т),

т=0 X-1

у (п) = XИ (т)х(п-т).

Тогда выражение, определяющее процедуру рекурсивного вычисления свертки, примет вид:

У(п) = XakУ(n - к) + у + (п)- у (п - М).

к=1

Алгоритм рекурсивного вычисления свертки, использующий выражения (5) - (6), требует и*(К) = 3К умножений и и+ (К) = 3К -1 сложений на один пиксель выходного сигнала. Будем в дальнейшем использовать для них следующие обозначения:

и+

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

Например, одной из наиболее простых рекуррентных импульсных характеристик является прямоугольная ИХ:

\Ъ, т е[0,М -1],

И (п ) =

0, т й[0,М-1].

Она удовлетворяет рекуррентному соотношению первого порядка (К = 1). Параметры рекуррентного соотношения для этой ИХ следующие: а1 = 1, Ъ0 = Ъ . Подставляя эти величины в выражение (5)-(6) можно легко получит следующую рекурсивную процедуру для вычисления свертки одномерного сигнала и фильтра с прямоугольным импульсным откликом:

у(п) = ау(п -1) + И(0)х(п) - И(М - 1)х(п -М).

В соответствии с выражением (7) эта процедура требует два сложения и три умножения на один отсчет выходного сигнала. Однако, принимая во внимание, что а1 = 1, И(т) = Ъ , окончательное выра-

жение для рекурсивного вычисления свертки принимает хорошо известное выражение:

у

В такой форме для выполнения обработки требуется два сложения и одно умножение на один отсчет выходного сигнала.

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

И(т1,т2) =

т1 = 0, К1 -1, т2

К

XatИ (т1 - к ,т2),

0, К2 -1,

т1

= К,,М, -1, т, = 0, К2-1,

"2

Xa,И(т1,тг -к),

--К 2, М 2 -1,

т = 0, М1 -1, т2 0, т ( [0,М1 -1] ог т2 ( [0,М2 -1].

Здесь величины а\ (к = 1, К1) задают коэффициенты вертикального рекуррентного соотношения, величины а^ (к = 1, К2) задают коэффициенты горизонтального рекуррентного соотношения, а величины Ът т , (т1 = 0, К1 - 1, т2 = 0, К2 -1) являются

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

И(т1 ,т2) =

_ 2

XагИ (т1,т2 - к),

т1 = 0, К1 -1, т2 = К2, М2 -1,

К1

XаkИ (т1 - к ,т2),

т1 = К1,М1 -1, т2 = 0, М2 -1,

к =0

т=0

к=1

к=1

к =1

к =1

Следующее утверждение определяет связь между импульсными характеристиками, получаемыми с использованием этих двух представлений.

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

Доказательство приведенного утверждения заключается в очевидной проверке.

Для синтеза рекурсивного алгоритма вычисления свертки используется выражение (10). Для этого подставим горизонтальное рекуррентное соотношение, представленное в третьей строке выражения (10), в выражение для двумерной свертки (1). Это дает следующее полу-рекурсивное выражение, которое похоже на одномерное рекурсивное выражение (6):

— 2

У(«1,«2) = ^4akУ(п1,«2 -k) +

k=1

+ y+(«1> П2 )-У 2 («1 ' n2 - M2 )•

Данное выражение определяет основное соотношение в процедуре рекурсивного вычисления двумерной свертки по ее предшествующим значениям. К сожалению, величины у+(п1,п2),у-(п1,п2) определяются как двумерные свертки:

M1 -1 K2 -1

y+(«1, «2 )= X Х^+Ц, т2 )х(«1 - Щ, «2 - ^2),

^1=0 т2=0 -1 K2-1

У 21 (п1, п2 )= X X ^2 (т1, т2 )х(п1 - m1, п2 - т2).

Ш1 =0 т2=0

Легко проверить, что импульсные характеристики й+(т1, т2) и Й2"(т1, т2), используемые в этих выражениях, задаются следующими выражениями и могут быть рассчитаны заранее:

(т2 = 0, К2 -1, т1 = 0,М1 -1),

2

h+

k=0

2

h-(m1,m2)= ^a^A(m1;M2 + m2 -k).

k=m2 +1

Окончательно, рекурсивное вычисление двумерной свертки (1) с использованием выражений (12) и (13) требует следующее количество арифметических операций:

и+ (,М2,К1,К2) = 2К2 ((М1 + 0,5)-1,

и*

В полученных выражениях для вычислительной сложности рекурсивная часть (12) процедуры требует всего К2 +1 операций сложения и К2 операций умножения. А основная вычислительная сложность относится к вычислению значений двумерных свер-

ток (13) изображения и двумерных КИХ-фильтров h+(m1, m2 ) и h-(m1, m2 ), рассчитываемых на границах исходной импульсной характеристики. Следовательно, снижение вычислительной сложности этих операций приведет к снижению сложности рекурсивного алгоритма вычисления свертки в целом.

3. Рекурсивная процедура вычисления свертки изображения и двумерного неразделимого КИХ-фильтра

Утверждение. Если ИХ фильтр h(m1, т2 ) удовлетворяет вертикальному рекуррентному соотношению, заданному второй строкой выражения (10), тогда импульсные характеристики h+(m1, m2 ) и h-(m1, m2 ) также удовлетворяют этому рекуррентному соотношению.

Доказательство приведенного утверждения заключается в очевидной проверке.

С учетом приведенного утверждения следующие рекуррентные соотношения справедливы для импульсных характеристик h+(m1, m2 ) и h-(m1, m2 ):

(m1 ,m2 ) =

¿w m = 0, K1 -1, m2 = 0, K2 -1,

K1

Xakh# (m1 -k,m2 ),

m1 = K1,M1 -1, m2 = 0, K2 -1, 0, m1 ^ [0,M1 -1] or m2 £ [0, K2 -1] .

Здесь знак '#' обозначает либо знак «+», либо знак «-». Подставляя выражение (16) в выражение (13), получаем следующие два выражения для рекурсивного вычисления сверток (13):

У2+ ^ П2 ) =ХакУ2+ (п1 - k, п2) +

к =1

+ У2+1+ (П1, П2 ) - У2+Г (П1 -МР П2 ) ,

К,

У- (nl, п2) = X акУ- (п1 - k, п2) +

к=1

+ У2-1+ (nl, п2 ) - У-1- (п1 - M1, п2 ) .

Здесь величины У## (п1, п2) вычисляются как двумерные свертки, задаваемые следующими выражениями:

У## (П, П2) = (П1, П2) **х П П2) = К1 -1 К2-1 (18) = Х X т2 )х (п1 - ml, п2 - т2 ).

т1 =0 т2 = 0

В приведенном выражении знак '**' обозначает двумерную свертку. Окончательный рекурсивный алгоритм состоит из трех шагов, каждый из которых должен быть выполнен для каждого отсчета выходного изображения.

Алгоритм

Шаг 1. Прямое вычисление четырех сверток (18): У## (п„ П2 ) = Й2#1# (п„ П2 ) * *х(п„ П2 ) .

k=1

ТТТяг 2 Рекурсивное вычисление значений У+ (ъ п2), У-(1, п2), используя выражение (17). Шаг 3. Рекурсивное вычисление очередного отсчета выходного изображения, используя выражение (12).

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

U +

Шаг 1 4((K2 -1) 4KjK 2

Шаг 2 2(Kj + 2) 2Kj

Шаг 3 K 2 + 2 K 2

Итого 4KjK2 + 2Kj + K2 + 2 4KjK2 + 2Kj + K2

Таким образом, суммарное число всех арифметических операций (и + + и *) пропорционально величине 8К1К2 и не зависит от размеров области определения ИХ фильтра.

4. Представление двумерного неразделимого КИХ-фильтра в виде двумерного реккурентного соотношения Произвольная двумерная неразделимая нерекурсивная импульсная характеристика линейного фильтра может быть аппроксимирована двумерной рекурсивной ИХ. Получение коэффициентов вертикальных и горизонтальных рекуррентных соотношений связано с решением оптимизационной задачи. В качестве критерия задачи оптимизации может быть выбран критерий минимума среднеквадрати-ческой ошибки аппроксимации ИХ с помощью рекуррентной ИХ. К сожалению, такая задача оказывается существенно нелинейной относительно коэффициентов рекуррентных соотношений и не может быть решена в явном виде [5, 11]. Поэтому используем подход, предлагаемый в работе [11]. А именно, заменим критерий задачи оптимизации на другой, который позволяет записать решение задачи в явном виде. То есть, выберем в качестве показателя критерия величину линейного предсказания очередного отсчета ИХ посредством ее предшествующих отсчетов. Порядок предсказания должен соответствовать порядку рекуррентного соотношения. Тогда для вычисления коэффициентов рекуррентных соотношений в выражении (10) необходимо решить следующие две независимые задачи оптимизации:

В соответствие с результатами, представленными в работе [11] решение, получаемое для из-

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

Утверждение. Решения задач (19) дают оптимальное решение для первоначальной задачи оптимизации, если ИХ является рекуррентной и ее порядок равен порядку предсказания.

Утверждение. Решения задач (19) являются асимптотически оптимальным, то есть чем больше линейный размер ИХ, тем ближе получаемое решение к искомому решению первоначальной задачи оптимизации.

Поскольку оптимизационные задачи в (19) подобны, ниже будет дано решение первой из них (его детали могут быть найдены в работе [11]). Оно является решением системы линейных алгебраических уравнений и представимо в виде:

а1 = [я* ]-1 .

Нотации, использованные в этом выражении, обозначают следующие вектора и матрицы:

( 1 А а

а =

Bu =

b11

b

и

1Ki

и

b

и

bU =

f A b01

bE1

v boKi J

Здесь величины bfk вычисляются в соответствии с выражением:

M 2-1 M1 -1

bS = Z Zh(m1 - S'm2 )(m1 - k'm2 )•

7*2 —и Ш\— Л-J

M2 Mj-1 f Kj 2

=Z Z h(m1 ,m2 ЫаЖ - k,m2) ^ min, 4

m2 = 0 mj =Kj v k=1 J

Mx M2-1 f K2 A 2

=Z Z h(m1 ,m2 Ы^Ц ,m2 - k) ^ min. 5

m!=0 m2 =K2 v k=1 J

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

Благодарности

Работа выполнена при поддержке российско-американской программы "Фундаментальные исследования и высшее образование" (BRHE) и гранта Президента РФ №НШ-1007.2003.01 .

Литература

1. Blahut R.E. Fast Algorithms for Digital Signal Processing // Reading, Wokingham: Addison-Wesley, 1985.

2. Dudgeon D.E., Mersereau R.M. Multidimensional Digital Signal Processing // Prentice-Hall, Inc., Cliffs, 1984.

3. Ярославский Л .П. О возможности параллельной и рекурсивной организации цифровых фильтров // Радиотехника, No. 3, 1984, стр. 87-91.

Сергеев В.В., Параллельно-рекурсивные КИХ-фильтры для обработки изображений // Компьютерная оптика, 1992. No.10-11, с.186-201. Chernov A.V. Fast Recursive Computation 1D and 2D Finite Convolution // Proceedings of 7th International Conference on Pattern Recognition and Image Analysis: New Information Technologies, St.Peterburg, Russia, 2004. P.1001-1004.

K, 1

6. 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.

7. Glumov N.I. , Myasnikov V.V. , Sergeyev V.V. Parallel-Recursive Local Image Processing and Polynomial Bases // Proceedings of the Third IEEE International Conference on Electronics, Circuits, and Systems ICECS'96, Rodos, Greece, 1996. P.696-699

8. Myasnikov V.V. Methods for Designing Recursive FIR Filters // 7-th International Conference on Computer Vision and Graphics (ICCVG-2004), Warsaw, Poland, Springer, 2004. P.845-850.

9. Myasnikov V.V. Recursive algorithm of calculation the convolution of image and inseparable 2-D polynomial FIR-filter // Proc. of 7th Int. Conf. on Pattern Recognition and Image Analysis: New Information Technologies, St.Peterburg, Russia, 2004. P.327-330.

10. Lidl R. and Niederreiter H. Finite Fields // 2-nd Edition, Cambridge University Press, Cambridge, 1997.

11. Myasnikov V.V. On the solution of the recurrent equation used for the FIR-filter implementation // The IASTED International Conference on Signal and Image Processing (ACIT-SIP 2005), Novosibirsk, Russia, June 20-24, 2005 (printing).

12. Ifeachor E.C., Jervis B.W. Digital Signal Processing: A Practical Approach // Prentice-Hall, Inc., Cliffs, 2002.