| Design
of 2-D Filters using a Parallel Processor Architecture |
Two-dimensional
filters are usually part of the implementation of digital image processing applications.
These filters process recursive sets of instructions and require high computational
speed. Optimized implementations of these filters depend on the use of Application
Specific Integrated Circuits (ASICs). A system with multiple parallel processing
units is a feasible design option able to achieve the required computational performance.
In this paper, a loop transformation algorithm, which allows the efficient utilization
of a parallel multiprocessor system, is presented. Uniform nested loops representing
the image filters and the available processors are modeled as multi-dimensional
data flow graphs. A new loop structure is generated so that an arbitrary number
of processors available in the system can run in parallel. INTRODUCTION
Image enhancement and edge detection are well known digital image signal processing
applications that may require two-dimensional (2-D) filter-like computational
solutions. These applications usually depend on computation intensive code sections,
consisting of the repetition of sequences of operations. They are also characterized
by the multi-dimensionality of the data involved. An effective technique in improving
the computing performance of such applications has been the design and use of
Application Specific Integrated Circuits (ASICs). This paper presents a new technique
applicable to the design of a 2-D filter system using multiple parallel processors.
A multi-dimensional retiming algorithm embedded in this new technique provides
the fully parallel utilization of the available processors, thus reducing the
overall execution time of the filter function. Parallel architectures are an important
tool in ASIC design. However, these architectures require a careful partitioning
of the problem in order to improve the utilization of the parallel processors
[2, 17, 24]. During
the circuit design phase, nested loop structures can be coded using hardware description
languages, such as VHDL constructs, in order to reduce the design time. However,
in VHDL, the loop control indices will represent the number of times a section
of the circuit will be replicated in the final synthesis under the assumption
that there are no physical or cost constraints in the circuit implementation .
In this paper, a multi-dimensional retiming technique is used to transform the
loop in such a way to produce the parallel solution for the problem for a given
number of processing units. Such a solution can then be implemented on a standard
multiprocessor architecture. Retiming was originally
proposed by Leiserson - Saxe, focusing on improving the cycle time of onedimensional
problems [13]. Most work done in this area, is subject to limitations imposed
by the number of delays (memory elements) existing in a cycle of a data flow graph
representing the problem [3, 6, 10, 11, 12, 16, 22, 25]. Other methods focus on
multi-processor scheduling and are also applicable to one-dimensional problems
[7, 8, 14, 16, 18]. This study focuses on the parallelism inherent to multi-imensional
applications, ignored by the onedimensional methods. Retiming and other loop transformations
have since been applied in areas such as scheduling and parallel processing, with
the main goal of exploiting fine-grain parallelism in the loop body [4, 15]. Due
to the different focus in obtaining parallelism, those techniques are not aimed
to improve the execution of parallel iterations in multiprocessor systems. Research
by Passos and Sha extended the retiming concept to multi-dimensional (MD) applications
[19]. The multi-dimensional retiming concept is used in this paper to model the
partitioning of the loop among the available processors. Multi-dimensional retiming
brings some advantages to the process, since it is readily applicable to the multi-dimensional
fields considered, eliminating the need for a loop transformation that converts
the original problem to one dimension. Another significant advantage of MD retiming
is that there are no restrictions on its applicability, not being constrained
by the characteristics of the one-dimensional methods.
<<back |