Académique Documents
Professionnel Documents
Culture Documents
sur FPGA
ENIT - Génie Électrique
BOURGUIBA Riadh
riad.bourguiba@enit.rnu.tn
2
Détection de contours sur FPGA
Références bibliographiques
Config.
SAA7113H
Philips Décodeur Contrôleur Analog
ITU601 VGA Devices
SAA7113H AD7123
Gestionnaire
27 MHz RAM 25 MHz
RAM 0 RAM 1
Références bibliographiques
A. Structure générale
B. Le filtre récursif du 1 ordre er
A. Structure générale
B. Le filtre récursif du 1 ordre er
i. De l'équation à l'architecture
ii. Simplification du chemin critique
iii.Réduction du nombre de bits
iv.Schéma d'implantation détaillé
yn −α
(1−e ) −α
H ( z )= = où 0⩽e ⩽1
x n 1−e−α⋅z −1
(1−γ) −α
y n= −1
⋅x n
avec γ=e
1−γ⋅z
−1
y n⋅(1−γ⋅z )=(1−γ )⋅x n
y n−γ⋅y n−1= x n−γ⋅x n
y n=γ⋅( y n −1−x n )+ x n
y n=γ⋅( y n −1−x n )+ x n
i. De l'équation à l'architecture
ii. Simplification du chemin critique
iii.Réduction du nombre de bits
iv.Schéma d'implantation détaillé
y n=γ⋅( y n −1 −x n )+ x n
y n=γ⋅( y n −2−x n )+ x n
y n=γ⋅( y n −1−x n )+ x n
=γ⋅y n−1−γ⋅x n + x n
=γ⋅y n−1 +(1−γ)⋅x n
1,000−0, γ 1 γ 2 γ 3
0 1, 0 0 0
1 1, 1 2 3
0 0, 0 0 1
1 0 0, 1 2 31
ENIT - Génie Electrique - Détection de contours sur FPGA v2.0
24
ii. Simplification du chemin critique
Dans le résultat on peut identifier :
0 0, 1 2 3 1
−3
2
Or, on peut ne garder que les 3 bits derrière la virgule pour effectuer le produit, ce qui
donne :
y n =γ⋅y n−1 +(1−γ)⋅x n
−3
=γ⋅y n−1 +( γ +2 )⋅x n
−3
=(γ⋅y n −1+ γ⋅x n )+2 ⋅x n
Multiplexeurs commandés
par les bits de
γ
ENIT - Génie Electrique - Détection de contours sur FPGA v2.0
25
ii. Simplification du chemin critique
On obtient une nouvelle structure avec des multiplexeurs, qui fait le même calcul, donc
qui est rigoureusement équivalente à la précédente, d'un point de vue algorithmique.
−3
y n=( γ⋅y n −1+ γ⋅x n )+2 ⋅x n
i. De l'équation à l'architecture
ii. Simplification du chemin critique
iii.Réduction du nombre de bits
iv.Schéma d'implantation détaillé
i. De l'équation à l'architecture
ii. Simplification du chemin critique
iii.Réduction du nombre de bits
iv.Schéma d'implantation détaillé
A. Structure générale
B. Le filtre récursif du 1 ordre er
i. Architecture cascade
ii. Architecture entrelacée d'un filtre du 2nd ordre
iii. Architecture entrelacée de deux filtres du 2nd ordre
Remarques :
La cadence de travail est fixée par la camera pour le
traitement horizontal : F=27MHz et T=37ns
En revanche, elle est imposée par l'écran VGA pour le
traitement vertical : F=25MHz et T=40ns
i. Architecture cascade
ii. Architecture entrelacée d'un filtre du 2nd ordre
iii. Architecture entrelacée de deux filtres du 2nd ordre
Désormais, la cellule du 1er ordre travaille 100 % du cycle, pour réaliser une cellule du
2nd ordre.
Remarques :
L'entrelacement a créé une seconde boucle de récursion.
Elle a également permis d'insérer un registre dans la 1 ère boucle récursive.
i. Architecture cascade
ii. Architecture entrelacée d'un filtre du 2nd ordre
iii. Architecture entrelacée de deux filtres du 2nd ordre
1 2
3 4
Références bibliographiques
i. Coordonnées
ii. Direction
iii. Norme
{G h=(b−a)+(c−d )
G v =(a−d )+(b−c )
Si le signal 2D est une image de luminance, on obtient en chaque point, les deux
composantes d'un vecteur, selon les directions horizontale et verticale.
ENIT - Génie Electrique - Détection de contours sur FPGA v2.0
61
i. Coordonnées
La norme du gradient est proportionnelle à la variation de luminosité
entre les surfaces constituant l'image, et sa direction est perpendiculaire
aux frontières.
Les contours dans l'image peuvent ensuite être détectés par seuillage
de la norme du gradient, tandis que les segments séparés peuvent être
reliés par prolongement perpendiculaire à sa direction.
i. Coordonnées
ii. Direction
iii. Norme
i. Coordonnées
ii. Direction
iii. Norme
‖G ‖=√ Gh +Gv
⃗ 2 2
{ cos α=
√2
2
α=45 ° ⇒
sin α=
√ 2
2
{
Gh ⃗ G ⃗ h⋅√ 2
h
cos α= ⇒‖G‖= ⇒‖G‖=G
⃗
‖G‖ cos α
Gv Gv
sin α= ⃗
⇒‖G‖= ⃗ ‖=G v⋅√2
⇒‖G
⃗
‖G‖ sin α
Ces deux expressions donnent des valeurs approchées
acceptables, sans que l'on puisse dire laquelle est la plus
proche du résultat, d'où l'idée d'en faire la moyenne :
⃗ √ 2
‖G‖= ⋅(Gh +Gv )
2
ENIT - Génie Electrique - Détection de contours sur FPGA v2.0
69
iii. Norme
Enfin, on peut substituer √2à une valeur approchée
2 de 2 :
construite avec des puissances
⃗ ‖=(2−1+ 2−2)⋅(Gh+G v )
‖G
Références bibliographiques
2. F. G. Lorca, L. Kessal, and D. Demigny, Efficient asic and fpga implementations of iir filters for real
time edge detection, in International Conference on Image Processing (IEEE ICIP), number 2,
pages 406-409, Santa Barbara, 1997.