Grundlagen VoIP

Voice over IP (Teil 2)

LPC-Verfahren

Sprachkodierverfahren arbeiten mit speziellen, für die Umsetzung von Sprache optimierten Codecs. Diese basieren in der Regel auf Linear-Predictive-Coding-Verfahren (LPC), die den menschlichen Sprachkanal als ein System von Röhren mit unterschiedlichen Durchmessern modellieren.

In diesen werden die akustische Wellen von den Stimmbändern stimmhaft oder stimmlos generiert. Beim Durchlaufen durch das System kommt es an Übergängen von Röhren unterschiedlichen Durchmessers zu Reflexionen und Interferenzen. Die jeweilige Reflektionsrate repräsentieren dabei die Reflektionskoeffizienten refl[0], ..., refl[p-1]. Auf diesem Weg lässt sich mit einer relativ kleinen Zahl von Parametern die sprecherabhängige Erzeugung des Sprachklangs beschreiben.

Zur Analyse wird das Audio-Signal in kleine Rahmen s[i] fester Dauer (typischerweise 20 bis 30 ms) zerlegt. Für jeden Rahmen s[i] berechnet das Verfahren p Gewichte lpc[0], .. , lpc[p-1] so, dass s[i] sich möglichst gut durch die Formel

lpc[0] * s[i-1] + lpc[1] * s[i-2] + ... + lpc[p-1] * s[i-p]

annähern lässt. Übliche Werte für p sind 8 oder 14.

Als Eingabe des Modells dient ein synthetisch generiertes Quellsignal, das sich zwischen den Zuständen "stimmhaft" (Sinus-Schwingung) und "stimmlos" (Rauschen) umgeschalten lässt. Nun ermittelt das Verfahren die Unterschiede zwischen dem generierten und dem tatsächlichen Sprachsignal. Daraus errechnet es die anzuwendenden Prädiktionskoeffizienten lpc[i]. Für jeden Rahmen werden dann die Art der Anregung (stimmhaft oder stimmlos) sowie die aktuellen Parameterwerte lpc[i] kodiert und übertragen.