Version Codebook Unilatérale des Codecs VLC et VLR

Ces informations sont écrites à l’intention des investisseurs, des développeurs et des décideurs.


Présentation

Une version codebook pour les codecs VLC et VLR est prévue.
Pour plus d'informations, Voir à l'adresse suivante:
   - Version Codebook
Le présent document présente les dernières améliorations que nous allons apporter à cette version.

Généralement, un même codebook doit être partagé par l'émetteur et le récepteur.
La version unilatérale permet à l'émetteur de n'envoyer que des pics locaux et au récepteur d'utiliser un codebook personnalisé. Le récepteur peut à tout moment modifier son codebook tout en étant compatible avec l'émetteur.
Les débits d'émission sont plus importants et dépendent du nombre de points à envoyer, mais restent relativement assez bas. La compression et la décompression sont beaucoup plus rapides.
Un nombre maximum N de pics locaux par trame étant fixé, on choisit les N plus grands pics locaux. Les premiers pics locaux (les 4 à 8 premiers par exemple, dans l'ordre des positions croissantes, donc des fréquences croissantes) suffisent pour sélectionner une bonne trame à envoyer, donc on n'est pas obligé d'envoyer tous les pics locaux sélectionnés.
En se fixant une plage de recherche au début, avec l'utilisation des pics locaux partiels, on peut augmenter les taux de compression, donc diminuer les débits d'émission.




Réduction de Bruit

Les bruits les plus fréquemment rencontrés lors des communications vocales se trouvent vers les basses fréquences. Il est possible de décaler la plage de recherche des premiers points du début pour éviter le plus de bruit possible, tout en ayant une bonne qualité de réception. Dans certains cas, le bruit peut être totalement éliminé: on retrouve la trame vocale intacte côté récepteur.
Un décalage trop important peut conduire à avoir plus d'une solution de départ, donc à une perte plus ou moins importante de timbre.
Il faut noter que la plupart des solutions de réduction de bruit modifient les valeurs des magnitudes ou des amplitudes vers les basses fréquences.
Il faut noter aussi que la plupart des codecs de communications vocales actuelles diminuent les valeurs des magnitudes ou des amplitudes vers les basses fréquences.
Pour plus d'informations sur une réduction de bruit classique avec les codecs VLC et VLR, voir à l'adresse suivante:
   - Réduction de Bruit


Cas Spécial (Quatre Pics Locaux)

Si on ne considère que les quatre premiers pics locaux dans une zone de recherche, les positions relatives (différences entre les positions de deux pics) sur quatre bits, les magnitudes (codées à l'aide du logarithme) sur quatre bits, on obtient un cas particulier très intéressant.
En effet:
- Les positions tiennent sur un entier court de 16 bits.
A noter qu'avec la version codebook, dans le cas général, il vaut mieux utiliser les positions absolues pour que les vecteurs des positions ne contiennent que des valeurs uniques.
Il vaut mieux continuer à générer les bases de données avec les positions absolues et calculer les positions absolues si on reçoit des positions relatives.
- Les magnitudes tiennent également sur un entier court de 16 bits.
- Les entiers de même nature sont directement comparables entre eux.
Pour les positions, on suppose que la plus faible position a le plus grand poids.
- On peut générer tous les cas possibles (65536 combinaisons pour les positions et 65536 combinaisons pour les magnitudes).
- Tous les cas possibles étant dans la base, il n'y a plus besoin de GPU ou de kNN pour rechercher le plus proche voisin, on a un accès direct aux vecteurs dont on a besoin.
- Par rapport à un codebook donné, ces deux entiers courts correspondent de manière unique à une trame FFT. On peut les prendre directement comme signature.
Par rapport à un codebook donné, dans le cadre d'une utilisation en intelligence artificielle ou en apprentissage profond, en plus d'accélérer les calculs, on peut envisager de travailler directement et uniquement avec ces entiers au lieu d'utiliser des vecteurs à plusieurs dimensions.




Autres Possibilités

- Gadgets
On peut envisager d'écouter de la musique en même temps que des diffusions ou des commandes vocales, tout en ne transmettant que la voix. Il suffit de diminuer (en utilisant un égaliseur par exemple) les magnitudes des fréquences musicales émises dans la plage de recherche des premiers pics locaux.

- Dérivées temporelles
Pour un signal unidimensionnel et temporel, dans le domaine des fréquences, les dérivées à un ordre quelconque se résument à de simples multiplications modifiant les magnitudes et les phases.
On peut donc utiliser les codecs VLC et VLR pour compresser les dérivées temporelles.
On peut envisager de compresser les premières dérivées via la version bilatérale ou unilatérale de ces codecs. Les caractéristiques (features en Anglais) obtenues pourront être utilisées dans les algorithmes d'intelligence artificielle et d'apprentissage profond.


Notes Finales

- Avec la version codebook unilatérale, seul le récepteur utilise le codebook.
Il faut néanmoins que les autres paramètres soient identiques, notamment la fréquence d'échantillonnage, la taille des tampons FFT et le nombre maximum de pics locaux par trame.
- Avec la version codebook unilatérale, pour éviter les effets de bord côté récepteur, il est nécessaire d'avoir recours à un recouvrement de trames.
- La version codebook unilatérale est compatible avec la version optimisée des codecs VLC et VLR en émission (utilisation des pics locaux seulement, pas de phases), mais avec un recouvrement des trames.
Avec la version optimisée des codecs en émission, on peut implémenter, côté récepteur, l'utilisation des pics locaux partiels glissants pour la sélection de la meilleure trame, afin d'éviter le bruit: il suffit de chercher dans la base les trames ayant les mêmes pics locaux partiels dans la même zone de recherche.
- Avec la version codebook bilatérale ou unilatérale, on peut relier les trames des pics locaux aux trames complètes d'origine (qui ont servi à générer le codebook), pour une qualité vocale optimale, mais avec un timbre approché.
Si on utilise les trames d'origine du domaine temps, il n'y a plus besoin de faire d'inverse FFT (iFFT), il suffit d'appliquer le recouvrement des trames.
Si on utilise les trames d'origine du domaine des fréquences, on a accès aux positions, aux magnitudes et aux phases avec la précision maximum. On peut ne stocker aussi ces valeurs que pour les pics locaux.
- Enfin, avec la version codebook bilatérale ou unilatérale, chaque code utilisé peut être relié à un ceptre (FFT ou MFCC) calculé à l'avance.





Contacts et Commentaires :
   support@whmsoft.com