Linjär prediktiv kodning
Linjär prediktiv kodning ( LPC ) är en metod som mest används inom ljudsignalbehandling och talbehandling för att representera spektralenveloppen för en digital talsignal i komprimerad form, med hjälp av informationen från en linjär prediktiv modell .
LPC är den mest använda metoden inom talkodning och talsyntes . Det är en kraftfull teknik för talanalys och en användbar metod för att koda tal av god kvalitet med låg bithastighet.
Översikt
LPC börjar med antagandet att en talsignal produceras av en summer i slutet av ett rör (för tonande ljud), med tillfälliga tillagda väsande och poppande ljud (för röstlösa ljud som sibilanter och plosiver ). Även om den uppenbarligen är grov, är den här källa-filtermodellen faktiskt en nära approximation av verkligheten för talproduktion. Glottis (utrymmet mellan stämbanden) producerar surret, som kännetecknas av dess intensitet ( ljudstyrka ) och frekvens (tonhöjd). Röstkanalen (halsen och munnen) bildar röret, som kännetecknas av dess resonanser ; dessa resonanser ger upphov till formanter eller förstärkta frekvensband i det ljud som produceras. Väsningar och pop genereras av tungan, läpparna och halsens verkan under sibilanter och plosiver.
LPC analyserar talsignalen genom att uppskatta formanterna, ta bort deras effekter från talsignalen och uppskatta intensiteten och frekvensen av det återstående surret. Processen att ta bort formanterna kallas invers filtrering, och den återstående signalen efter subtraktionen av den filtrerade modellerade signalen kallas resten.
Siffrorna som beskriver intensiteten och frekvensen av buzz, formanter och restsignal, kan lagras eller sändas någon annanstans. LPC syntetiserar talsignalen genom att vända processen: använd buzz-parametrarna och resten för att skapa en källsignal, använd formanter för att skapa ett filter (som representerar röret) och kör källan genom filtret, vilket resulterar i tal.
Eftersom talsignaler varierar med tiden, görs denna process på korta bitar av talsignalen, som kallas ramar; i allmänhet ger 30 till 50 bilder per sekund ett begripligt tal med bra komprimering.
Tidig historia
Linjär förutsägelse (signaluppskattning) går tillbaka till åtminstone 1940-talet när Norbert Wiener utvecklade en matematisk teori för att beräkna de bästa filtren och prediktorerna för att upptäcka signaler dolda i brus. Strax efter att Claude Shannon etablerat en allmän teori om kodning utfördes arbetet med prediktiv kodning av C. Chapin Cutler , Bernard M. Oliver och Henry C. Harrison. Peter Elias publicerade 1955 två artiklar om prediktiv kodning av signaler.
Linjära prediktorer tillämpades på talanalys oberoende av Fumitada Itakura från Nagoya University och Shuzo Saito från Nippon Telegraph and Telephone 1966 och 1967 av Bishnu S. Atal , Manfred R. Schroeder och John Burg. Itakura och Saito beskrev ett statistiskt tillvägagångssätt baserat på maximal sannolikhetsuppskattning ; Atal och Schroeder beskrev en adaptiv linjär prediktoransats ; Burg beskrev ett tillvägagångssätt baserat på principen om maximal entropi .
1969 introducerade Itakura och Saito en metod baserad på partiell korrelation (PARCOR), Glen Culler föreslog realtidstalkodning och Bishnu S. Atal presenterade en LPC-talkodare vid årsmötet i Acoustical Society of America . 1971 demonstrerades realtids-LPC med 16-bitars LPC-hårdvara av Philco-Ford ; fyra enheter såldes. LPC-teknologin utvecklades av Bishnu Atal och Manfred Schroeder under 1970-1980-talet. År 1978, Atal och Vishwanath et al. av BBN utvecklade den första LPC-algoritmen med variabel hastighet . Samma år föreslog Atal och Manfred R. Schroeder på Bell Labs en LPC- talkodek som kallas adaptiv prediktiv kodning, som använde en psykoakustisk kodningsalgoritm som utnyttjade det mänskliga örats maskeringsegenskaper. Detta blev senare grunden för den perceptuella kodningstekniken som användes av MP3- ljudkomprimeringsformatet , som introducerades 1993. Code-excited linear prediction (CELP) utvecklades av Schroeder och Atal 1985.
LPC är grunden för voice-over-IP (VoIP)-teknik. 1972 startade Bob Kahn från ARPA , tillsammans med Jim Forgie ( Lincoln Laboratory , LL) och Dave Walden ( BBN Technologies ), den första utvecklingen av paketerat tal, vilket så småningom skulle leda till voice-over-IP-teknik. 1973, enligt Lincoln Laboratory informella historia, implementerades den första realtids 2400 bit/s LPC av Ed Hofstetter. 1974 genomfördes den första tvåvägs LPC-pakettalkommunikationen i realtid över ARPANET med 3500 bit/s mellan Culler-Harrison och Lincoln Laboratory. 1976 ägde den första LPC-konferensen rum över ARPANET med hjälp av Network Voice Protocol , mellan Culler-Harrison, ISI, SRI och LL vid 3500 bit/s. [ citat behövs ]
LPC-koefficientrepresentationer
LPC används ofta för att sända spektralenveloppinformation, och som sådan måste den vara tolerant mot överföringsfel. Överföring av filterkoefficienterna direkt (se linjär prediktion för en definition av koefficienter) är oönskad, eftersom de är mycket känsliga för fel. Med andra ord kan ett mycket litet fel förvränga hela spektrumet, eller ännu värre, ett litet fel kan göra prediktionsfiltret instabilt.
Det finns mer avancerade representationer såsom log area ratios (LAR), linjespektralpar (LSP) dekomposition och reflektionskoefficienter . Av dessa har speciellt LSP-nedbrytning vunnit popularitet eftersom den säkerställer stabiliteten hos prediktorn, och spektrala fel är lokala för små koefficientavvikelser.
Ansökningar
LPC är den mest använda metoden inom talkodning och talsyntes . Det används vanligtvis för talanalys och återsyntes. Det används som en form av röstkomprimering av telefonbolag, som till exempel i GSM -standarden. Den används också för säker trådlös, där röst måste digitaliseras , krypteras och skickas över en smal röstkanal; ett tidigt exempel på detta är den amerikanska regeringens Navajo I .
LPC-syntes kan användas för att konstruera vokoder där musikinstrument används som en excitationssignal till det tidsvarierande filtret som uppskattas från en sångares tal. Detta är något populärt inom elektronisk musik . Paul Lansky gjorde det välkända datormusikstycket inte bara mer idlechatter med hjälp av linjär prediktiv kodning. More Than Idle Chatter En 10:e ordningens LPC användes i den populära 1980-talets Speak & Spell pedagogiska leksak.
LPC-prediktorer används i Shorten , MPEG-4 ALS , FLAC , SILK audio codec och andra förlustfria ljudcodec.
LPC fick en del uppmärksamhet som ett verktyg för användning i tonanalys av violiner och andra strängade musikinstrument.
Se även
- Akaike informationskriterium
- Ljudkomprimering
- Code-excited linear prediction (CELP)
- FS-1015
- FS-1016
- Generaliserad filtrering
- Linjär förutsägelse
- Linjär prediktiv analys
- Pitch uppskattning
- Skev linjär prediktiv kodning
Vidare läsning
- O'Shaughnessy, D. (1988). "Linjär prediktiv kodning". IEEE-potentialer . 7 (1): 29–32. doi : 10.1109/45.1890 . S2CID 12786562 .
- Bundy, Alan ; Wallen, Lincoln (1984). En generalisering av Glivenko-Cantelli-satsen . Symbolisk beräkning . sid. 61. doi : 10.1007/978-3-642-96868-6_123 . ISBN 978-3-540-13938-6 .
- El-Jaroudi, Amro (2003). "Linjär prediktiv kodning". Wiley Encyclopedia of Telecommunications . Encyclopedia of Telecommunications . doi : 10.1002/0471219282.eot155 . ISBN 978-0471219286 .