Anda di halaman 1dari 19

Laboratoire Algorithmique et Architecture

des Systèmes Informatiques


Thème « Conception d’architectures

Méthodologie d’optimisation pour DSP – VLIW :


exemple d’implantation d’un filtre de détection de contours

M. Akil, K. Maallem, T. Grandpierre

Traitement numérique de la vidéo sur 1


DSP 10 - Juin - 2003
Introduction

• Contexte et objectifs :
• Implantation optimisée d’algorithmes :
traitement des données en temps réel Æ
respecter des contraintes de latence ou de
cadence
• Démarche de type « Adéquation Algorithme
Architecture »
• Applications dans le domaine de l’image :
traitement, analyse, compression
Traitement numérique de la vidéo sur 2
DSP 10 - Juin - 2003
Plan

• Présentation Processeur DPS VLIW TMS 320C6711

• Techniques d’optimisation :
– Rotation de registres
– Déroulage de boucles
– Pipeline logiciel
– Gestion de mémoire et hiérarchie mémoire

• Carte IEK C6711 – ATEME

• Environnement logiciel de développement : Code Composer Studio (T.I)

• Présentation des filtres : R.Deriche et D. Lorca


• Flot de développement

• Résultats

• Conclusions et perspectives

Traitement numérique de la vidéo sur 3


DSP 10 - Juin - 2003
Schéma de calcul du filtre de Deriche
(INRIA-Sophia Antipolis)
Filtre IIR – Filtre récursif :
GH
- Calculs de GH et Gv

- GH : application en
cascade de filtres derivH
et lisseurV

- GV : inversion de la
direction des deux filtres

- filtre Horizontal : produit


d’un filtre causal et anticausal

Traitement numérique de la vidéo sur 4


DSP 10 - Juin - 2003
Schéma de calcul du filtre de Garcia Lorca
(ENSEA-ETIS)
Mémoire image

1. LissageH – LissageV :

- deux filtres de 2ème ordre


causal et anti-causal
Mémoire ligne
2. Opérateur de dérivation 2x2:
Lisseur
- filtre de robert

Filtre Nombre d’opérations par pixel


Deriche 26 multiplications + 25 additions

Garcia Lorca 12 multiplications + 15 additions

Traitement numérique de la vidéo sur 5


DSP 10 - Juin - 2003
Processeur DPS VLIW TMS 320C6711
• 8 unités de calcul
• 32 registres
• Contraintes :
– 2 multiplication/cycle
– 2 accès mémoire/cycle
– 8 instructions/cycle
– 6 opérations/cycle
– Æ 2 croisements des chemins de
données
– 6 add./soust. (32bits)/cycle
– Æ 12 add./soust.(16bits)/cycle

Traitement numérique de la vidéo sur 6


DSP 10 - Juin - 2003
Techniques d’optimisation :
programmation des nœuds de calculs

Graphe de dépendances du lisseur Graphe de dépendances du dérivateur :


filtre de Robert

Déroulement de boucle : Dupliquer le corps


Rotation de registres (RR): d’une boucle : 1. réduction du coût des
Limiter des lectures/écritures Opérations de gestion de boucle, 2.meilleur
Utilisation des ressources matérielles
Traitement numérique de la vidéo sur 7
DSP 10 - Juin - 2003
Déroulage de boucle Interne (DBI)
Déroulage de boucle externe (DBE)

1.Déroulage de boucle interne :


- Traitement de plusieurs calculs
successifs de la même ligne

2. Déroulage de boucle externe :


- Traitement de plusieurs lignes
En parallèle
RR+DBI2
5 add, 3 load/store, 2 ABS
7add,
4 load/store
2 ABS/point

Traitement numérique de la vidéo sur 8


DSP 10 - Juin - 2003
Pipeline logiciel

Pipeline logiciel : maximiser


l’exploitation du parallélisme
du processeur :
- entrelacement des calculs
d’une même itération
Nœud de calcul du lisseur :
DBE4 , application du
Pipeline logiciel, RR
Utilisation des 2 unités de mult.
à chaque cycle Æ 1.5 cycles/pixel

Traitement numérique de la vidéo sur 9


DSP 10 - Juin - 2003
1. Gestion des transferts mémoire

DMA : transferts entre


Mém. Int. et ext.

Optimisation des accès mémoire


Lisseur causal-anticausal
Traitement numérique de la vidéo sur 10
DSP 10 - Juin - 2003
2. Gestion de la mémoire

Exploitation de la Hiérarchie mémoire

Traitement numérique de la vidéo sur 11


DSP 10 - Juin - 2003
3. Gestion de la mémoire
Parcours horizontal de l’image
tout en appliquant le filtre verticalement

DMA
Traitement numérique de la vidéo sur 12
DSP 10 - Juin - 2003
Carte IEK C6711 - ATEME
DSP TMS 320C6711
FPGA ALTERA
4E+1s Vidéo (PAL/NTSC)
1 E/S Audio
2 RS422 (10 Mbits/s)
Une RS232 (1Mbits/s)

Traitement numérique de la vidéo sur 13


DSP 10 - Juin - 2003
Environnement de développement :
Code Composer Studio (T.I)

Traitement numérique de la vidéo sur 14


DSP 10 - Juin - 2003
Flot de développement

Traitement numérique de la vidéo sur 15


DSP 10 - Juin - 2003
1. Résultats
Optimisations DBE2 DBE2 DBE2 DBE4 DBE4 DBI2 DBI4
DBI2 DBI4 DBI2 DBI4

Lisseur H. 3c/p 2.75/p 3/p 2.25/p 1.5c/p 4c/p 2.875/p


2ème ordre

Lisseur V. 6c/p 5.75c/p - 5.75/p - - 2.5c/p


2ème ordre

Gradient 10c/p 6c/p - - - 2.5c/p 3c/p

Traitement numérique de la vidéo sur 16


DSP 10 - Juin - 2003
2. Résultats
Filtre de Garcia
Lorca
Nombre de cycles/pixel 8.5 cycles/pixel

Durée des calculs (512x512)x(1/150Mhz)x8.5c/p=14.48 ms


F= 150 Mhz
Image 512*512
Durée des transferts 8 ms
mémoire – image
512*512
Durée total 22.48 ms
Image 512*512 Traitement numérique de la vidéo sur 17
DSP 10 - Juin - 2003
Conclusions

• Implantation optimisée des filtres de R.


Deriche et G. Lorca Æ intérêt d’une
démarche AAA (implantation matérielle Æ
implantation logicielle
• Exploitation et combinaison de plusieurs
techniques d’optimisation
• Proposition d’un flot de développement

Traitement numérique de la vidéo sur 18


DSP 10 - Juin - 2003
Perspectives

Implantation de chaînes de segmentation d’images :

Approche 1 : Approche 2 :

- Calcul du gradient - Calcul du gradient

- fermeture des contours - restauration des crêtes

- étiquetage des régions - étiquetage des régions

Traitement numérique de la vidéo sur 19


DSP 10 - Juin - 2003

Anda mungkin juga menyukai