Digital Signal Processing Reference
In-Depth Information
the left border, b i , 1 the upper border, and b i , 2 the right border . 2 Note that this
extended border is not produced by the source of the dataflow edge. In other words,
actor A in Fig. 8 a generates only the data elements not marked by a gray shading.
Instead, the extended border simply defines the number of pixels, by which the
first sliding window exceeds the proper array produced by edge's source actor.
These overlapping window positions will then be marked as border pixels, such that
corresponding sink actor knows that they are not valid. Consequently it can apply
the appropriate border processing algorithm, such as constant value insertion, or
mirroring (see Sect. 4.1 ) . In other words, the concrete border processing algorithm
is not part of the WSDF model. Instead the user can freely decide which one to
implement, with the restriction that an actor is only allowed to access data elements
situated within the current sliding window. All other array elements have to be
considered as unknown. This is important in order to allow proper data dependency
analysis required for scheduling and buffer size determination (see also Sect. 6 ) .
4.2.3
Specification of the Array Size
The WSDF semantics discussed in Sects. 4.2.1 and 4.2.2 allow to cover all
parameters of Eq. ( 1 ) , except for the array size. Recall to this end, that the parameter
p i does not define the extension of the processed arrays. Instead it specifies the
number of data elements that are generated during one firing of the source actor. In
general, the source actor needs to fire multiple times to produce an overall array.
In other words, without specifying an array size the dataflow graph in Fig. 8 would
for instance allow to downscale an 4
×
×
6 image into one having 2
3 pixels, or an
×
×
6
6pixels.
In order to compute the admissible array sizes, a balance equation can be
computed according to the same idea described in Sect. 2 . However,theWSDF
variant would have different properties than the MDSDF one, because the solutions
in general are not integer multiples anymore. Nevertheless such an approach would
be completely feasible.
Unfortunately, this excludes applications where arrays need to be divided into
sub-arrays that are to be processed independently of each other. The compression
standard JPEG 2000, for instance, requires such a feature when using tiling [ 9 ] .
Transferred to our simple example described in Sect. 4.1 , the data elements produced
by actor A need to be grouped into two independent images, a lower one and an
upper one. These arrays shall then be processed as individual images. In other words,
no sliding window shall contain pixels from the two different sub-images at the same
time. This can be achieved by surrounding each sub-image with its own extended
border, and then apply the local processing algorithm to the lower and upper image
independently of each other.
6 image into one having 3
2 For more than two dimensions, see [ 12 ] .
 
Search WWH ::




Custom Search