BIBLIOGRAPHY
99
[44] J. Serra, Image Analysis and Mathematical Morpohology, Vol 1. Academic
Press, 1982.
[45] H. Hedberg, F. Kristensen, P. Nilsson, and V.
¨
Owall, “A low complex-
ity architecture for binary image erosion and dilation structuring element
decomposition,” in Proc. of IEEE ISCAS’05, Kobe, Japan, 2005.
[46] H. Park and R. Chin, “Decomposition of arbitrarily shaped morpholog-
ical structuring elements,” IEEE Transactions on Pattern Analysis and
Machine Intelligence, vol. 17, pp. 2–15, 1995.
[47] G. Anelli and A. Broggi, “Decomposition of arbitrarily shaped binary mor-
phological structuring elements using genetic algorithms,” IEEE Transac-
tions on Pattern Analysis and Machine Intelligence, vol. 20, pp. 217–224,
1998.
[48] S. Fejes and F. Vajda, “A data-driven algorithm and systolic architecture
for image morphology,” in Proc. of IEEE Image Processing, Austin, Texas,
Nov. 13-16 1994, pp. 550–554.
[49] J. Velten and A. Kummert, “FPGA-based implementation of variablesized
structuring elements for 2D binary morphological operations,” in Proc. of
IEEE International Symposium on Circuits and Systems, Bangkok, Thai-
land, Mar. 2003, pp. 706–709.
[50] W. Kesheng, O. Ekow, and S. Arie, “Optimizing connected components
labeling algorithms,” in SPIE Int. Symposium on Medical Imaging, San
Diego, CA, USA, feb 2005.
[51] K. Suzuki, H. Isao, and S. Noboru, “Linear-time connected-component
labeling based on sequential local operations,” Journal of CVIU, vol. 89,
pp. 1–23, jan 2003.
[52] F. Chang, C. J. Chen, and C. J. Lu, “A linear-time component-labeling
algorithm using contour tracing technique,” Journal of CVIU, vol. 93, pp.
206–220, feb 2004.
[53] “Project homepage,” 2005, www.es.lth.se/home/fkn/index.html.
[54] D. Magee, “Tracking multiple vehicles using foreground, background and
motion models,” Image and Vision Computing, vol. 22, pp. 143–155, 2004.
[55] “Offical JBIG homepage,” 2006, www.jpeg.org/jbig/index.html.
[56] Bangkok, Thailand, Mar. 2003.
[57] Journal of CVIU.
Pdf reader link - insert, remove PDF links in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Free C# example code is offered for users to edit PDF document hyperlink (url), like inserting and deleting
check links in pdf; convert excel to pdf with hyperlinks
Pdf reader link - VB.NET PDF url edit library: insert, remove PDF links in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Help to Insert a Hyperlink to Specified PDF Document Page
add hyperlinks to pdf online; add page number to pdf hyperlink
RasterEdge .NET Document Imaging Trial Package Download Link.
Adobe PDF. XDoc.PDF. Scanning. XImage.OCR. Microsoft Office. XDoc.Word. XDoc.Excel. XDoc.PowerPoint. Barcoding. XImage.Barcode Reader. XImage.Barcode Generator.
adding a link to a pdf in preview; add hyperlink to pdf online
C# PDF Library SDK to view, edit, convert, process PDF file for C#
RasterEdge PDF SDK for .NET package offers robust APIs for editing PDF document hyperlink (url) and quick navigation link in PDF bookmark.
adding links to pdf in preview; add link to pdf file
Controller Synthesis in
Real-time Image
Convolution Hardware
Accelerator Design
101
How to C#: Basic SDK Concept of XDoc.PDF for .NET
XDoc.PDF for .NET allows C# developers to edit hyperlink of PDF document, including editing PDF url links and quick navigation link in bookmark/outline.
clickable links in pdf files; pdf link
VB.NET PDF: Basic SDK Concept of XDoc.PDF
XDoc.PDF for .NET allows VB.NET developers to edit hyperlink of PDF document, including editing PDF url links and quick navigation link in bookmark/outline.
clickable pdf links; add hyperlink to pdf acrobat
C# PDF: PDF Document Viewer & Reader SDK for Windows Forms
create PDF document viewer & reader in ASP.NET web application using C# code. Related C# PDF Imaging Project Tutorials! Please click the following link to see
add email link to pdf; add hyperlink to pdf in
C# Raster - Raster Conversion & Rendering in C#.NET
pdf link to specific page; accessible links in pdf
Chapter
1
Introduction
1.1 Motivation
As mentioned in the general introduction, signal processing algorithms can be
implemented in a range of technologies with much differed efficiencies in terms
of speed (throughput), power and flexibility. By moving the implementation
from general purpose processors down to dedicated hardware in the design
space, parallelism within a algorithm can be increasingly utilized to optimize
for speed or power at the cost of flexibility. However, with more details exposed
to the designer when the abstraction level is moving down, design efforts are
increased substantially. To overcomethese problems, new design methodologies
are needed. For dedicated hardware implementation, limited flexibility can be
achieved by using time-multiplexed architectures, which can be found in many
applications, e.g. filter design, FFT and CNN. By sharing logic blocks with the
similar functionality in a hardwaremapped implementation, a time-multiplexed
architecture can achieve the same functionality with reduced size, increased
flexibility at the cost of the throughput. Such architecture can be crucial in
many situations, where fully hardware mapped implementation is not feasible,
e.g. FFT implementation with large number of points and image processing
with CNN at large resolution. The trade-offs of a time-multiplexed architecture
can be easily illustrated by the finite impulse response(FIR) filter design, as
shown in Fig.1.1 and Fig.1.2. From the hardware implementation perspective,
an FIR filter is generally conceived as the sum of a history of input data being
processed by many multiply-accumulate (MAC) units with different coefficients.
The MAC operations can be shared in a time-multiplexed architecture. Thus
103
VB.NET PDF: Create PDF Document Viewer in C#.NET for Document
reading PDF document in ASP.NET web, .NET Windows Forms and mobile developing applications respectively. For more information on them, just click the link and
add links to pdf in acrobat; add links to pdf document
VB.NET Word: How to Process MS Word in VB.NET Library in .NET
Besides, here is the quick link for how to process Word document within We are dedicated to provide powerful & profession imaging controls, PDF document, image
add hyperlink pdf; change link in pdf
104
CHAPTER 1. INTRODUCTION
x(n)
y(n)
D
D
D
D
MAC 0
MAC 1
MAC 2
MAC 3
MAC 4
Figure 1.1:
Direct hardware mapped FIR architecture.
calculations for an n tap FIR filter can be implemented in one MAC unit with
nclock cycles instead of n MAC units with one clock cycle. All the coefficients
are stored in a memory, feeding the shared MAC unit with one at a time.
Acontrol unit is needed to schedule all the operations, so that each of them
takes place at the right time, e.g. which coefficient is feed to the MAC unit at
what time, when to reset the MAC unit at the end of each filtering stage. The
design is flexible to some extent since the coefficients can be changed later for
different filtering function. The size of the design is also reduced to only 1 MAC
unit being instead of n. To generalize the idea, the throughput of a hardware
system can be sacrificed for certain flexibility and the size of a design by using
time-multiplexed architecture, which is composed of three parts: datapaths,
finite state machines (FSM), and memories.
As algorithms in image processing increases substantially, datapaths can
get very complicated with large quantity of functional blocks. With the tra-
ditional way of hand coding FSMs in HDLs from the state transition graph,
the design of a control unit capable of scheduling complex operations can be
tedious and error prone. In addition, state transition graph is not an intuitive
way to manipulate the dataflow within the datapath. More naturally, a se-
quential language with concurrency and clock cycle precision may be preferred
by hardware designers for control algorithm specification. Ideally, such lan-
guage can have C-like structures concentrating on functional behaviors of the
datapaths while low level control signal assignments and state transition can
be ignored. Synthesis of such language should also be enabled for mapping the
control algorithm into a hardware controller with optimized architectures that
is ready to be incorporated to state of the art hardware design flow. Motivated
1.2. FSM ENCODING
105
MAC
SRAM
DIN
DOUT
COEFF
COEFF
DIN
DIN
DOUT
ADDR
WE
Controller
Datapath
FSM
S0
S1
S2
D
RST
Figure 1.2:
Time multiplexed FIR architecture.
by these, a design environment for controller design automation was imple-
mented [1]. However, as the tool was designed in the 90’s targeting on the
old implementation environment, it can not be integrated into today’s widely
adopted commercial hardware design flow. As part of the thesis work, many
modifications are made to the tool, which enables a design environment for a
controller synthesis from a C-like sequential language transformed into a con-
troller hardware specified in VHDL. In the following sections, various aspects
of the design environment is explained in detail, together with the descriptions
of possible architecture optimization techniques. An example design of image
convolution accelerator implementation is also given for the demonstration of
controller synthesis tool.
1.2 FSM Encoding
Control algorithm can be specified in a low level microprogram, with the syn-
tax constructs of which being composed of statements with branch transitions.
Astatement is responsible for assigning values to the control signals that ma-
nipulate the dataflow of a datapath. It also decides which of the statements
is to be executed next, a procedure called branch address transition. Such a
transition can be sequential or conditional. Sequential branch transitions take
place when non-conditional statements are present, with the address of the
106
CHAPTER 1. INTRODUCTION
(b)
Signals
Branch
Address
Last Lines
in Block 1
Last Line
in Block 2
Last Line
in Block 3
Address
Outputs
Outputs
Outputs
Outputs
0010
0011
0011
3 Cycles
Block 1
0000
0001
Outputs
0001
Block 2
5 Cycles
Outputs
1001
Block 3
3 Cycles
Outputs
Reset/Start
Status
0100
a
a
1000
1100
.
.
.
.
1100
1011
Outputs
Outputs
0100
.
.
.
.
Outputs
1100
Block 4
4 Cycles
1001
0010
0011
0101
1011
1101
.
.
.
.
a
2
4
3
1
Control
Logic
Status
Signals
Control
D
Branch State
State
Clk
(a)
a
End
Start
(c)
Control
Figure 1.3:
Basic idea of FSM encoding
1.3. ARCHITECTURE OPTIMIZATION
107
Select, EOB
Signals
+1
Control
Logic
Address
Branch Address
Status
D
Control
Figure 1.4:
FSM architecture with incremental circuitry.
next statement being the increment of the current address by one. However,
for a conditional branch transition the decision is based on the relevant con-
ditional variable(s). For hardware implementations, such a microprogram can
be realized by an FSM with the control signals as the output, the address of
each statement as the states, and the conditional variables as the inputs. The
mapping from a microprogram to an FSM process can be interpreted as an
FSM encoding. Fig.1.3 illustrates the basic idea of FSM encoding by an ex-
ample, where a simple algorithm specified as a signal transition graph (STG)
is encoded into a truth table, which is the combinational logic part of a FSM.
From the figure, each statement is assigned a unique address. During the exe-
cution of each statement, control signals are generated accordingly as part of
the outputs. In addition, the address of the next statement is calculated. For
sequential branch address transition, the encoding of the address for the next
statement is the increment of the current address. This could get a slightly
more complicated when a conditional branch transition is encountered, where
two branch address entries are added to the truth table depending on the value
of the conditional variable a.
Loops can be treated as a special case of a conditional branch transition,
where the conditional variable is a loop counter.
1.3 Architecture Optimization
Based on the basic FSM encoding approach described above, optimizations
can be done by utilizing special features within a microprogram. Usually, a big
part of a microprogram is made up of a large number of sequential statements.
108
CHAPTER 1. INTRODUCTION
3
5
3
5
1
a
4
1
a
4
Start
1
1
2.1
3
3
5
5
End
a
2.1
A
BA
Block 3
Block 5
Block 2
Block 1
S
Control
4
4
Block 4
− 2.2
Block 2
2.2
5
Code Duplication
2
2.2
End
End
a
2
Start
a
2.1
a
Start
Figure 1.5:
Subroutines duplicated in two locations differs only at the
branch address calculation at the end of the block.
Documents you may be interested
Documents you may be interested