La codifica predittiva lineare (LPC, Linear predictive coding) è uno strumento utilizzato per lo più nell'elaborazione dei segnali audio e nelle tecniche di sintesi vocale per rappresentare l'inviluppo spettrale di un segnale numerico del parlato in forma compressa, utilizzando le informazioni provenienti da un modello predittivo lineare[1]. È una delle più potenti tecniche di analisi del parlato, uno dei metodi più utili per codificare un discorso buona qualità ad un basso bitrate. Fornisce stime estremamente accurate dei parametri del parlato.

Descrizione

modifica

Il principio di base sta nella assunzione secondo la quale la voce è il risultato dalla modulazione provocata da gola e bocca (detta formante) della emissione sonora da parte delle corde vocali (il residuo).

Secondo tale assunzione, la formante può essere predetta mediante una equazione lineare che tenga conto dei campioni precedenti ed il residuo dalla sottrazione della formante dal campione.

Generalmente un segnale vocale è composto da due componenti: un insieme di coefficienti per la predizione lineare e un errore di predizione.

Questa tecnica è utilizzata per abbassare notevolmente il bitrate di un messaggio vocale, basandosi sulla conoscenza della sorgente stessa (variante vocoder).

I coefficienti di predizione vengono aggiornati ogni 10-20 ms (dimensioni molto simili a un fonema). Inoltre la quantità di coefficienti è un indice di qualità della codifica vocale. Ovviamente un numero maggiore di frame garantisce una migliore resa nel risultato finale.

Scendendo più nel dettaglio si adotta uno schema in cui si ottiene un segnale differenza a partire dal segnale sorgente meno il segnale passato attraverso il filtro di predizione (modellato quindi dai coefficienti di predizione).

Tale segnale differenza è detto "errore di predizione".

In fase di decodifica l'errore di predizione viene quindi utilizzato per ricostruire il segnale vocale. Tale segnale ricostruito sarà quindi sorgente per la predizione successiva secondo un modello detto di local decoding loop.

Nelle modulazioni di tipo LPC la trasmissione segue essenzialmente questo schema: il segnale X(kTc) viene fatto passare per un analizzatore in grado di identificare il vettore p di parametri che poi verranno sia trasmessi tramite multiplazione al ricevitore, sia passati al sintetizzatore, la cui uscita f(p) verrà poi sottratta dal segnale X(kTc) per ottenere l'errore E(kTc) che, dopo un'opportuna quantizzazione e codifica, viene multiplato insieme al vettore p ed inviato al ricevitore.

Il sintetizzatore di una codifica LPC è composto essenzialmente da due generatori, uno vocalico (generatore di impulsi) e uno non vocalico (generatore di rumore bianco). Per modellare le proprietà acustiche della voce del parlatore si utilizzano un amplificatore e un filtro trasversale.

In ricezione lo schema è all'incirca duale, in quanto il segnale LPC viene demultiplato per riottenere distintamente il vettore p che verrà opportunamente sintetizzato, e l'errore di predizione E(kTc) il quale, dopo un'opportuna decodifica viene sommato all'uscita del sintetizzatore, ricostruendo così il segnale X(kTc) a meno dell'errore di quantizzazione.

La modulazione LPC riduce sensibilmente la bitrate in trasmissione, con una conseguente riduzione dell'occupazione di banda. Comporta, però, un forte incremento nella complessità hardware e una riduzione della qualità del segnale originale per la presenza del sintetizzatore.

Residual excited linear predictive coding

modifica

Soluzione a quest'ultimo problema è la modulazione RELPC (residual excited linear predictive coding). Come si evince dal nome, la RELPC sfrutta non più l'errore di predizione, bensì il residuo R(kTc), che consiste nel segnale campionato, filtrato in un filtro LPC inverso (che elimina le alte frequenze del segnale) e modellato da dei coefficienti c in uscita dall'analizzatore. Il residuo costituisce l'eccitazione ideale affinché il filtro LPC produca esattamente il segnale vocale originale. Il residuo così ottenuto viene filtrato con un filtro passa basso, sottocampionato (avendo eliminato le alte frequenze non è più necessario utilizzare la stessa frequenza di campionamento di prima), quantizzato e codificato. Viene poi multiplato assieme ai coefficienti c, necessari per la ricostruzione del segnale in ricezione.

In ricezione, il demultiplatore restituisce i coefficienti c e il residuo sottocampionato, che verrà modificato con l'inserimento di determinati zeri nella sequenza, in modo da riportarsi alla stessa frequenza del residuo originale R(kTc). Sia il residuo, sia i coefficienti vengono fatti infine entrare in un filtro LPC che restituirà il segnale originale.

Il segnale originale e quello ricevuto possono essere anche significativamente diversi nel dominio del tempo, ma risultano percettivamente molto simili avendo un comportamento spettrale simile.

Note

modifica
  1. ^ Li Deng, Douglas O'Shaughnessy, Speech processing: a dynamic and optimization-oriented approach, Marcel Dekker, 2003, pp. 41–48, ISBN 0-8247-4040-8.

Altri progetti

modifica

📚 Artikel Terkait di Wikipedia

Karl J. Friston

sostenitore del principio dell'energia libera e della teoria del predictive coding. Friston ha studiato scienze naturali (fisica e psicologia) all'Università

Uncanny valley

Thierry Chaminade e Hiroshi Ishiguro, The thing that should not be: predictive coding and the uncanny valley in perceiving human and humanoid robot actions

Effetto Ganzfeld

cui significato funzionale è teorizzato alla luce delle teorie del predictive coding. L'induzione Ganzfeld in più sensi oltre che sulla vista è chiamata

Dimetiltriptammina

ISBN 9788833902302. ^ (EN) A. Gallimore, Building the psychedelic brain: A predictive coding approach to the acute action of psychedelics, in Journal of Psychedelic

Network Voice Protocol

org, Internet Engineering Task Force. (EN) Robert M. Gray, Linear Predictive Coding And The Internet Protocol, Boston, Now Publishers, 2010, ISBN 978-1-60198-348-0

Lpc

"Numero di pin basso") - tecnologia di bus digitale LPC (Linear predictive coding, "Codifica predittiva lineare") – tecnica di codifica usata nella

MUSA (sintetizzatore)

di cantare con 8 canali in parallelo, con uso di tecniche linear predictive coding. Nel 1978 fu pubblicato, dopo la costruzione di un prototipo funzionante

GSM 06.10

Adaptive Multi-Rate - Wideband (AMR-WB+) RTP audio video profile Linear predictive coding Altri progetti Wikisource Wikisource contiene una pagina dedicata