Académique Documents
Professionnel Documents
Culture Documents
3.1Principe
Le but de cette technique est d'éviter les calculs sur les autres composantes du vecteur si la
valeur actuelle de la distance dépasse un certain seuil. Explicitons ceci dans le cas de la
distance euclidienn.
Supposons que Cmin (min<N) soit l’actyel plus proche voisain de x dans le dictionnaire.
Alors on peut éliminer le vecteur Cl sans terminer le calcul de d(x, cl) car cl n’est
certainement pas le plus proche voisin de x dans le dictionnaire.
Cette simple techniqueappliquée à un large dictionnaire peut faire gagner jusqu'à 70% des
multiplications par rappor tà la rccherche séquentielle. L'algorithme de recherche par calcul
partiel de la distance est du reste présenté ci-dessous dans le cas de la distance de Minkowski.
3.2. Algorithme
31
Chapitre 03 : Algorithme de recherche de distance partielle
(1) Initialisations
d min =d (x , c 1) dmin est la distance entre x et le 1er vecteur du dictionnaire
Q ( x ) =C1 Le vecteur de reproduction est le 1er vecteur du dictionnaire
i=2 La prochaine distance calculée sera d(x , C2)
(2) Tant que i≤ N faire
(3) D = 0 Initialisation de la distance d(x, Ci)
(4) Pour j = 1 à k faire
(5) d=max j(d , Ι X j −Cij Ι ) distance partielle sur les premiers coefficients
(6) d ≥ dmin alors
sortie anticipée de la boucle (4)
aller à l’étape (10)
(7) fin si
(8) fin pour
(9) dmin = d La distance minimale est dmin
Q(x) = Ci Le vecteur de reproduction est Cmin
Incrémenter I On explore le vecteur suivant dans le dictionnaire
(10) incrémenter I On explore le vecteur suivant dans le dictionnaire
(11) fin tant que
Le gain en nombre d'opérations par rapport à la recherche séquentielle est quantifié par la
sortie anticipiée de la boucle à l'étape (6) de I'algorithme précédênt, quand la condition
d>dmin est vérifiée. L'arrêt premature du calcul de la distance permet ainsi une économie
substantielle du nombre d'opérations car les candidats peu probables à la selection du plus
proche voisins sont rejetés le plus tôt possible ,juste après un calcul de distance sur les
premières composantes des vecteurs.
32
Chapitre 03 : Algorithme de recherche de distance partielle
Par ailleurs, à I'instar des techniques d'élimination par inégatité triangulaire ,la recherche par
calcul partiel de la distance est d'autant plus efficace que la condition d>dmin est satisfaite le
plus souvent possible. Ceci ne peut être réaliser que si dmin est minimal des les premières
phases de la recherche, autrementdit, lorsque les candidats les plus probables à la
representation du vecteurà coder x se trouvent aux premières places dant le dictionnaire.
Nous avons vu que le nombre d'opérations était minimal lorsque les vecteurs les plus
recherchés du dictionnaire se trouvaient en début de liste, arranges dans I'ordre suivant:
P1 ≥ P2 ≥ … ≥ PN
S j=( x ϵ S ; C j =Q ( x ) ) ;
autement dit, Sj est I'ensemble des vecteurs de S dont le représentant dans le dictionnaire est
Cj. Soit Tj le iardinal de Sj.
33
Chapitre 03 : Algorithme de recherche de distance partielle
Introduction 3.3.1
N = 2 kR (3.2)
3.3.2 Algorithme
34
Chapitre 03 : Algorithme de recherche de distance partielle
Fig 3.1: Débits possibles de la boucle d’encodage pour une recherche complète VQ avec
mesure de distorsion d’erreur carrée. Nc: nombre de mots de code à être cherché. K:
dimension vectorielle. (a) Pour l’algorithme d’origine.( b) Pour le nouvel algorithme.
Mot de code de distorsion, et le mot de code de canal est alors le index du mot de code de
distorsion minimale sélectionné. Considérant N comme une mesure de la complexité
informatique efficacement considère la complexité des comparaisons (et des ajouts) être petit
par rapport à celui des multiplications. Observez que l’encodeur peut prendre la décision
avant de terminer le calcul d’une distorsion complète pour un mot de code, c’est-à-dire
l’encodeur peut décider que le mot de code n’est pas «Bon » pour le vecteur d’entrée actuel si,
pour tout i < k , le vecteur accumulé distorsion pour les premiers échantillons i du vecteur
35
Chapitre 03 : Algorithme de recherche de distance partielle
d’entrée est plus grande que la plus petite distorsion jamais trouvée dans la recherche. Ainsi,
l'encodeur peut arrêter de calculer la distorsion pour ce mot de code et commencer à essayer
le mot de code suivant. Ce test précoce est clairement réduira le nombre moyen de
multiplications par échantillon. En outre, il réduira également le nombre moyen des ajouts,
sauts, comparaisons du pointeur de boucle, et nombre de fois de lecture de la mémoire, car il
réduit non seulement le nombre de multiplications mais aussi le nombre de récursions. Fig 3.
1 montre les diagrammes de flux des boucles d’encodage d'une recherche VQ complète avec
mesure de distorsion d’erreur carrée à l’aide les algorithmes conventionnels et les nouveaux,
et la table que je donne la comparaison du nombre moyen d’opérations pour les deux
méthodes, telles que décrites.
Conclusion 3.3.3
Dans l’exemple donné, nous voyons que le nombre moyen de les différentes
opérations sont presque toutes réduites, à l’exception de la nombre de comparaisons (depuis
Nc/ k < N2) . Mais ce supplément l’effort sera très faible par rapport à la réduction de la
d’autres opérations dans la plupart des systèmes. Le même tour réduira complexité
informatique dans d’autres systèmes VQ tels que VQ à plusieurs étages et VQ à état fini, mais
les gains potentiels sera moins puisque ces autres systèmes ont généralement déjà complexité
réduite.
3.4.1 Introduction
La quantification vectorielle est récemment très populaire dans un nombre de domaines tels
que le codage de la parole, le codage d’images et reconnaissance vocale [1], [2]. Toutefois,
l’utilisation des vecteurs de la quantification est fortement limitée par la complexité
computationnelle du processus d’encodage. L’encodage de distorsion minimale d’un vecteur
de test, à l’aide de l’algorithme de recherche complète classique pour un code de taille, étant
dimension vectorielle et R sont le taux de bits) nécessite N calculs vector-distance.
Pour la mesure de distance d’erreur carrée, le nombre de les multiplications requises par
échantillon pour l’encodage sont N, c’est-à-dire la poursuite du codebook, qui augmente de
façon exponentielle avec dimension K et bit rate R .Le processus d’encodage, par conséquent,
devient prohibitif pour les livres de code de grande taille. Dans l'ordre de réduire la
36
Chapitre 03 : Algorithme de recherche de distance partielle
Dans le présent document, notre objectif est d’étudier l’effet commander les codevecteurs sur
les économies offertes par le recherche à distance. Pour maximiser ces économies, nous
proposons une commande de codevectors en fonction de la taille de leur clusters
correspondants. En outre, nous notons que les livres de code obtenus à la fin du processus de
formation algorithmes de clustering tels que l’algorithme Linde-Buzo-Gray [5] ont des ordres
arbitraires et ne sont jamais garantis d’être organisé dans l’ordre favorable. Nous le
démontrons et montrer qu’une commande explicite des codevecteurs telle que proposée ici est
avantageux pour tirer plus d’économies de calcul de la méthode de distance partielle.
3.4.2Algorithme
Pour un vecteur d’essai donné X = (x i, j = 1, …., k), il est nécessaire de trouver le code
vecteur de distorsion minimum q ( X ) de la codebook C sous la mesure de distorsion d’erreur
carrée défini comme
k
2
d ( X , Ci ) ¿ ∑ ( X j−C ij )
j=1
d=0
Boucle B: Por j = 1, - - - ,K
d=d+ ¿
37
Chapitre 03 : Algorithme de recherche de distance partielle
Suivant j
dmin = d
min=i
suivant i.
Pour un vecteur test X donné, l'économie maximale est obtenue lorsque la condition de
sortie est remplie le plus tôt possible à l'intérieur de la boucle B pour chaque Ci. Ce qui est
facilité par la condition que la valeur minimale possible de dmin pour un X donné est obtenu le
plus tôt dans la boucle A. Puisque dmin a le minimum valeur possible pour un X donné
seulement après la valeur la plus réelle de X a été vérifié, il est possible d'obtenir l'économie
maximale dans le calcul en ayant le premier vecteur de code comme vecteur de code le plus
proche de X, c'est-à-dire, Ci = q (X).
Laissez Pi ,d'être la probabilité que le vecteur de test donné X appartient au cluster (ou, la
région de Voronoi) correspondant à la code vecteur Ci. C’est donc aussi la probabilité que le
code vecteur est le code vecteur le plus proche pour un X. Si les code vecteurs donnés sont
disposés dans le codebook dans l’ordre de décroissant Pi,, c.-à-d. P1 > P2 … > PN , puis la
probabilité d’obtenir un minimum dmin dans les premières étapes de la recherché (c.-à-d. la
boucle A) peut être augmentée, ce qui contribue à améliorer économies de calcul de
l’algorithme de distance partielle, comme expliqué plus tôt.
38
Chapitre 03 : Algorithme de recherche de distance partielle
3.4.3 Conclusion
Dans la présente correspondance, l’effet de l’ordre code vecteurs sur les économies offertes
par la distance partielle méthode de recherche est étudiée. Il a été démontré que lel’efficacité
de l’algorithme de recherche partielle à distance en termes de l’économie de calcul peut être
améliorée en organisant les devectors dans le livre de code de telle manière que les tailles de
leurs grappes respectives sont en ordre décroissant.
39