Главная > Моделирование, обработка сигналов > Быстрые алгоритмы в цифровой обработке изображений
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

2.2.6. Алгоритм прямоугольных разбиений

Последний алгоритм, который мы рассмотрим, впервые был предложен в [2.13]. Этот алгоритм состоит в последовательном транспонировании подматриц порядка где — множители М и соответственно Позже Рамапрайян [2.8] обобщил алгоритмы на случай, когда , где определяются численной оптимизацией требуемого времени вычислений.

Алгоритм работает следующим образом. Пусть А — матрица и предположим, что где — произвольное целое число, . Положим и определим набор целых чисел для

Тогда на шаге, входная матрица где рассматривается как матрица , элементами которой являются матрицы представляющие собой фактически подматрицы А. Эта секционированная матрица рассматривается как матрица из которой селективно считываются в оперативную память матрицы т.{Хпи где они транспонируются и записываются в Строки в считываемые матрицы выбираются как в [2.13], т. е. с шагом Таким образом, матрица А будет построена из блоков размерами и на шаге будет сформирована матрица содержащая А.

Можно посмотреть на и по-другому, считая ее построенной из фрагментов так как подматрицы на самом деле никогда не создаются. Тогда строки будут содержать фрагменты которые образуют части строк матрицы А.

Если алгоритм совпадает с алгоритмом, приведенным в [2.13]. В противном случае матрица на шаге превращается в минимальную для данных пр матрицу, с которой работает алгоритм [2.13].

Требуемый объем памяти определяется выражением

где при второе слагаемое может быть опущено.

Число операций ввода-вывода

<< Предыдущий параграф Следующий параграф >>
Оглавление