Théorie derrière le codage prédictif linéaire (LPC)

9
  • Quelle est la théorie derrière le LPC?
  • Pourquoi certaines implémentations du LPC sont-elles dites plus tolérantes à la quantification des erreurs de transmission ou de codage que d'autres schémas de codage de la voix compressée?

  • Les méthodes LPC peuvent-elles également être utilisées pour le lissage ou la "prédiction" à court terme similaire à l'utilisation des méthodes de filtre de Kalman?

  • Dans quelles conditions ou contraintes l'utilisation du LPC est-elle valable?
hotpaw2
la source
"Pourquoi le LPC est-il (dit-on) plus tolérant aux erreurs de transmission ou de codage que certains autres schémas de codage de la voix compressée?" Qui a dit ça? Je ne connais pas très bien le LPC, mais je pensais que cela avait à voir avec la réduction de la redondance, ce qui aurait l'effet inverse.
endolith
Cette question est trompeuse car elle repose sur de fausses prémisses. Veuillez fermer et rectifier cela.
Dipan Mehta
Il y a ici plusieurs questions et prémisses. Selon vous, lesquelles doivent être réparées?
hotpaw2
1
La déclaration Why are(were) certain implementations of LPC said to be more tolerant of transmission or encoding errors quantization than other compressed voice encoding schemes?est plutôt fausse. Pouvez-vous citer une référence qui indique spécifiquement ce qui est meilleur par rapport aux autres?
Dipan Mehta
1
C'est en fait ma question. J'ai entendu cela quelque part, mais je ne sais pas pourquoi cela aurait pu être dit.
hotpaw2

Réponses:

14

Premièrement, dire que le codage prédictif linéaire (LPC) est "plus tolérant aux erreurs de transmission ou de codage" n'est pas entièrement vrai. La forme sous laquelle les coefficients sont transmis fait une grande différence. Par exemple, si les coefficients de prédiction linéaire sont résolus, ils peuvent être très sensibles à la quantification, un peu comme les coefficients de filtre IIR d'ordre élevé (c'est parce que le filtre de synthèse sera IIR, mais plus à ce sujet plus tard). Cependant, s'ils sont transmis sous une autre forme, ce problème peut être atténué facilement.

Une façon consiste à transférer les coefficients de réflexion. Si vous résolvez récursivement un filtre de prédiction linéaire d'ordre k, le coefficient d'ordre le plus élevé à chaque étape est appelé coefficient de réflexion. Ceux-ci peuvent être utilisés ensemble pour caractériser complètement le système (ce qui peut être facilement vu à partir de la récursivité de Levinson). En fait, vous pouvez les utiliser tous ensemble pour former un filtre en treillis. Ces filtres sont souvent utilisés lorsque la quantification est un problème, car ils sont beaucoup plus robustes aux faibles nombres de bits. De plus, si la magnitude de ces coefficients de réflexion est limitée par l'unité, vous avez la garantie d'un filtre stable BIBO qui est essentiel pour le LPC où le filtre est utilisé pour synthétiser votre signal. Il existe d'autres méthodes telles que les paires spectrales de ligne qui sont fréquemment utilisées, mais aren '

Maintenant, pour répondre à la première question, la théorie du LPC tourne autour de la modélisation des voies vocales. Essentiellement, nous modélisons la parole comme de l'air vibrant en tant qu'entrée d'un tube d'une certaine structure. Vous pouvez rechercher des ressources qui vont beaucoup plus en détail pour étoffer ce modèle (longueur des tubes, intensité de l'air, structure, etc.). Ces ressources relient ces structures directement aux filtres IIR répondant à différents stimuli, le bruit blanc par exemple.

Ainsi, lorsque nous résolvons les coefficients de prédiction linéaire, nous recherchons les coefficients de telle sorte que si nous entrons notre signal (voix par exemple) dans un filtre FIR créé à partir des coefficients, nous obtenons un bruit blanc en sortie. Réfléchissez donc à ce que cela signifie. Nous introduisons un trèssignal corrélé, et sortie d'une séquence de bruit blanc. Donc, en fait, nous supprimons toute dépendance linéaire de ce signal. Une autre façon de voir les choses est que toutes les informations significatives sont contenues dans les coefficients qui suppriment cette dépendance linéaire. Par conséquent, nous pouvons transférer ces coefficients (ou une certaine forme d'entre eux comme ci-dessus), et l'extrémité réceptrice peut recréer le signal. Cela se fait en inversant le filtre FIR prédictif linéaire pour créer un filtre IIR et en entrant du bruit blanc. La compression vient donc de la suppression de cette dépendance linéaire et du transfert des coefficients. C'est pourquoi la méthode de Burg est aussi parfois appelée méthode d'entropie maximale, car elle vise à maximiser le "caractère aléatoire" ou la blancheur du bruit de sortie dans le filtre de prédiction linéaire. Une autre façon de voir les choses,

Pour répondre à votre dernière question, je ne sais pas exactement ce que vous demandez. Le LPC, ou codage prédictif linéaire, est censé "comprimer" le signal en supposant qu'il peut être efficacement modélisé comme discuté précédemment. Vous pouvez certainement utiliser la prédiction linéaire pour faire de la "prédiction à court terme" comme vous l'avez mentionné. C'est la base implicite derrière les méthodes AR à haute résolution utilisées pour l'estimation de la densité spectrale de puissance. La séquence d'autocorrélation peut être récursivement étendue de sa forme finie de l'enregistrement de données limité à l'infini en tant que séquence d'autocorrélation théorique de la séquence non fenêtrée. C'est aussi pourquoi les méthodes AR d'estimation de la PSD ne présentent pas de phénomènes de lobes latéraux.

Bryan
la source
1
"la théorie du LPC tourne autour de la modélisation des voies vocales" Est-ce toujours vrai? FLAC utilise LPC sur des formes d'onde audio génériques, pas seulement sur la voix.
endolith
3
Mes excuses, je l'ai d'abord appris à travers l'analogie des cordes vocales en tant que modèle physique d'où cela vient. Comme je l'ai dit, il y a des endroits où ils plongent beaucoup plus profondément. Mais vous avez raison, le LPC convient aux formes d'onde audio génériques. Comme je l'ai mentionné, cela fonctionne bien sur n'importe quel spectre impulsif. En corollaire, il fonctionne mal sur les signaux bruyants où le spectre est moins impulsif (car les signaux bruyants sont mieux modélisés comme processus ARMA).
Bryan