Vous êtes sur la page 1sur 10

Chapitre 03:

Algorithme de recherche de distance partielle


Chapitre 03 : Algorithme de recherche de distance partielle

3.1Principe

La notion de calcul partiel de la disance été introduir par Cheng dans[CHE-85].Elle a


été reprise par Bei et Gray dans [BEI-85] et plus tard, par beaucoup d'autres chercheurs IPAL-
891, [CHE-89].

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.

Soit C= (Cj; j = 1,…, N) un dictionnaire de N vecteurs de dimension k.

Soit x=(xi ; I = A,…, k) un vecteur à coder.

Il s’agit de trouver le vecteur de reproduction Q(x) de x dans le dictionnaire.

Supposons que Cmin (min<N) soit l’actyel plus proche voisain de x dans le dictionnaire.

Posons dmin = d(x, Cmin).

Soit Cl = (cli ; I = 1, …, k) (1>min) le prochain vecteur à explorer dans le dictionnaire.

Si la somme partielle ∑ ¿¿ est supérieure à d min


i

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

Soit C = (Cj ; j = 1, …, N) un dictionnaire de N vecteurs de dimension k.

Ou Cj = (Cji , i = 1, …, k) est le jième vecteur du dictionnaire et Cji la iième composante de Cj.

Soit x = (Xj ; i = 1, …, k) un vecteur à coder.

31
Chapitre 03 : Algorithme de recherche de distance partielle

Il s'agit de trouver le vecteur de reproduction Q(t) de x dans le dictionnaire selonle critère de


la moindre distorsion.

La mesure de distorsion adoptee est la distance de Minkowski définie par:

d ( x , y )=maxi Ι x i− y i Ι i=1 , … , k (3.1)

La structure de base de la recherché par calcul partiel de la distance est la suivante:

(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

Ou Pj est la probabilité pour que le vecteur de reproduction apparaisse à la place j dans le


dictionnaire.
En pratique,on ne connaît pas les probabilities de recherché des different éléments du
dictionnaire,il est toute fois possible après apprentissage sur un grand nombrede vecteurs,de
determiner plus ou moins précisément ces probabilities :c'est la demarche proposée par
Paliwal et Ramasubramanian dans[PAL-89].

Soit S = (Xi ; j = 1, …, T) une sequence d'entraînement constituée de T vecteurs représentatifs


deI'espace. On prendra T suffisamment grand, T  ∞.

Après apprentissage avec un algorithme approprié, un dictionnaire C = (C i ; j = 1, …, N) de


N vecteurs est généré à partir de S. Les vecteurs Cj sont respectivement les barycentres de N
cellules Sj de I'espace.

Chaque groupe devecteurs Sj est define par:

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.

La probabilité Pj qu'un vecteur x de I'espace appartienne à la partition Sj est donc Tj/ T .


La sequence d'entraînement étant suffisamment large, les probabilities Pi peuvent être
considérées cornme représentatives de l'espace à coder. Aussi, pouvons nous arranger les
vecteurs du dictionnaire dansI'ordre des probabilités Pi décroissantes avec I'espoir légitime
d'accroître I'efficacité de la recherche par calcul partiel de la distance.

33
Chapitre 03 : Algorithme de recherche de distance partielle

3.3. Algorithme de base (de Da-Bei et al.)

Introduction 3.3.1

La complexité informatique est un problème critique Quantification. Le nombre de


multiplications est souvent utilisé comme critère de la complexité informatique du minimum
codage de distorsion, puisqu’il s’agit généralement du calcul dominant. Le nombre moyen de
;multiplications par échantillon, N

N = 2 kR (3.2)

où k est la dimension du vecteur et R est le taux dans bit/échantillon. Cette croissance


exponentielle de la dimension et du taux limite sévèrement la taille des codes implémentables.
Nous proposez ici une simple modification de la règle d’encodage de distorsion minimale et
.montrer par l’exemple qu’elle peut réduire N par moitié ou plus sans perte de performance

3.3.2 Algorithme

Une distorsion minimale conventionnelle complète de recherche VQ utilisant la distorsion


d’erreur au carré nécessite pour chaque vecteur d’entrée la calcul de distorsions de 2kR , une
pour chaque mot de code dans le codebook. Puisque chaque calcul de distorsion nécessite
multiplications, un total de N = K2 kR / k = 2 kR

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. Algorithme modifié (de Paliwal et al.)

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

complexité informatique du minimum recherche de distorsion dans un processus d’encodage


de quantification vectorielle, la méthode de recherche partielle à distance a été récemment
proposée. Dans cette méthode, un codeveur peut être rejeté sur la base distance partielle,
c’est-à-dire sans compléter la distance totale calcul.

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

Laissez C = Ci, i = 1, …, N) être un code de taille N où Ci = (C ij, j = 1, …, k) est un vecteur


dimensionnel K.

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

La structure de base de l’algorithme de recherche à distance partielle

[4] est le suivant :

d min =∞ (un très grand nombre).

Boucle A: Pour i=1,…,N

d=0

Boucle B: Por j = 1, - - - ,K

d=d+ ¿

37
Chapitre 03 : Algorithme de recherche de distance partielle

Si d > dmin  suivant i (condition de sortie)

Suivant j

dmin = d

min=i

suivant i.

On peut observer que l'algorithme de recherche à distance partielle gagne en économie de


calcul par rapport à l'algorithme de recherche complet en raison de la disposition prévoyant
une sortie anticipée de la boucle B le satisfaisant à la condition d > dmin (appelée condition de
sortie désormais) avant l'achèvement du calcul de la distance d ( X, Ci).

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).

manifestement pas pratique puisque la connaissance préalable de q ( X ) évite la nécessité


d'une recherche. Cependant, une solution probabiliste peut être donnée pour améliorer
l'économie de calcul.

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.

Les probabilities Pi, I = 1 peuvent être obtenus après le l’achèvement du processus de


formation ainsi que le codebook.

38
Chapitre 03 : Algorithme de recherche de distance partielle

Laissez (Xp, P = 1, …, n) être un grand représentant séquence de vecteurs utilisés pour


l’entraînement. À l’issue de la formation, cet ensemble est divisé en sous-ensembles N (ou
clusters) Si=1,…,N où I = ( Xp ; Ci = q(Xp)) c.-à-d. Ci est le code vECTeur le plus proche de
tous les Xp ɛ Si . Si est la taille du cluster Si , la probabilité que , est le code vecteur le plus
proche pour n’importe quel Xp, peut être obtenu sous Pi=ni n → ∞ . Le Pi est obtenu
l’utilisation d’un grand ensemble représentatif de vecteurs servira de mesure pour les probab
es qui sont nécessaires pour commander le codebook. Le code obtenu après la formation est
alors disposés dans l’ordre de la diminution Pi et peut être utilisé pour opérations d’encodage
futures avec la recherche partielle à distance.

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

Vous aimerez peut-être aussi