NO302205B1 - Fremgangsmåte for posisjonering av eksitasjonspulser i en lineærpredikativ talekoder - Google Patents

Fremgangsmåte for posisjonering av eksitasjonspulser i en lineærpredikativ talekoder Download PDF

Info

Publication number
NO302205B1
NO302205B1 NO905471A NO905471A NO302205B1 NO 302205 B1 NO302205 B1 NO 302205B1 NO 905471 A NO905471 A NO 905471A NO 905471 A NO905471 A NO 905471A NO 302205 B1 NO302205 B1 NO 302205B1
Authority
NO
Norway
Prior art keywords
phase
pulse
positions
excitation
excitation pulses
Prior art date
Application number
NO905471A
Other languages
English (en)
Other versions
NO905471L (no
NO905471D0 (no
Inventor
Tor Bjoern Minde
Original Assignee
Ericsson Telefon Ab L M
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ericsson Telefon Ab L M filed Critical Ericsson Telefon Ab L M
Publication of NO905471L publication Critical patent/NO905471L/no
Publication of NO905471D0 publication Critical patent/NO905471D0/no
Publication of NO302205B1 publication Critical patent/NO302205B1/no

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/10Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Analogue/Digital Conversion (AREA)
  • Paper (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)
  • Numerical Control (AREA)
  • Control Of Stepping Motors (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Measurement Of Velocity Or Position Using Acoustic Or Ultrasonic Waves (AREA)
  • Control Of Position Or Direction (AREA)
  • Character Spaces And Line Spaces In Printers (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
  • Transmission And Conversion Of Sensor Element Output (AREA)
  • Traffic Control Systems (AREA)
  • Road Signs Or Road Markings (AREA)
  • Saccharide Compounds (AREA)
  • Turbine Rotor Nozzle Sealing (AREA)
  • Output Control And Ontrol Of Special Type Engine (AREA)

Description

TEKNISK OMRÅDE
Den foreliggende oppfinnelse vedrører en fremgangsmåte for posisjonering av eksitasjonspulser i en lineærpredikativ talekoder som virker i henhold til multipuls-prinsippet. En slik talekoder kan innlemmes f.eks. i et mobiltelefonsystem, for det formål å komprimere talesignaler før sendingen fra en mobilstasjon.
BAKGRUNNSTEKNIKK
Lineærprediktive talekodere som virker i henhold til det nevnte multipuls-prinsippp er kjent innen dette område, f.eks. fra US 3,624,302, hvori der omtales lineærprediktiv koding av talesignaler, samt også fra US 3,740,476 som angir hvordan prediktive parametre og prediktive restsignaler kan formes i en slik talekoder.
Ved forming av et kunstig talesignal ved hjelp av lineærprediktiv koding, blir det fra det opprinnelige signal generert en flerhet av prediktivparametre (a^) som karakteriserer det syntetiserte talesignal. Således kan det formes, ved hjelp av disse parametre, et talesignal som ikke inneholder den redudans som normalt finnes i normal tale, og hvis omforming er unødvendig ved overføring av tale mellom f.eks. en mobilstasjon og en basisstasjon som er innlemmet i et mobilt radiosystem. Det er utifrå et båndbreddesynspunkt mer hensiktsmessig å overføre bare prediktive parametre istedetfor det opprinnelige talesignal, som krever en meget større båndbredde. Det talesignal som regenereres i en mottager og utgjør et syntetisk talesignal kan imidlertid være vanskelig å oppfatte, på grunn av manglende over-ensstemmelse mellom talemønsteret i det opprinnelige signal, og det syntetiske signal som er gjenskapt ved hjelp av predikasjonsparametrene. Disse ulemper er blitt beskrevet i detalj i US 4,472,832 (SE-A-456618) og kan avhjelpes til en viss grad ved innføringen av såkalte eksitasjonspulser (multi-pulser) ved forming av den syntetiske talekopi. I dette tilfelle vil det opprinnelige taleinngangsmønster bli oppdelt i rammeintervaller. Innenfor hvert slikt intervall blir der formet et gitt antall av pulser med varierende amplitude og faseposisjon (tidsposisjon), på den ene side i avhengighet av predikasjonsparametrene a^, og på den annen side i avhengighet av predikasjonsresten d^mellom taleinn-gangsmønsteret og talekopien. Hver av pulsene vil få tillatelse til å påvirke talemønsterkopien, slik at den prediktive rest vil være så liten som mulig. Eksiteringspulsene som er generert, vil ha en forholdsvis lav bit-hastighet, og kan derfor kodes og overføres i et smalt bånd, hvilket også er tilfellet for predikasjonsparametrene. Qette resulterer i en forbedring av kvaliteten hos det regenererte talesignal.
REDEGJØRELSE FOR OPPFINNELSEN
I tilfellet av de foran angitte fremgangsmåter vil eksitasjonspulsene bli generert innenfor hvert rammeintervall av taleinngangsmønsteret, ved avveining av restsignalet d^og ved tilbakekobling og avveining av de genererte verdier av eksitasjonspulsene, hvert i et separat prediktivfilter. Utsignalene fra de to filtre blir deretter korrelert. Dette blir fulgt av en maksimering av korrelasjonen av et antall av signalelementer fra de korrelerte signaler, hvilket derved danner parametrene (amplitude og faseposisjon) for eksitasjonspulsene. Fordelen ved denne multifasealgoritme for generering av eksitasjonspulser går ut på at forskjellige typer av lyd kan genereres ved hjelp av et lite antall av pulser (f.eks. 8 pulser pr. rammeintervall). Pulssøkeal-goritmen er generell med hensyn til posisjoneringen av pulsene i rammen. Det er mulig å gjenskape ikke-tonende lyder (konsonanter) som vanligvis krever slumpmessig utplasserte pulser, og tonende lyder (vokaler) som krever en mer samlet pulsplassering.
En ulempe med denne kjente pulsplasseringsteknikk går ut på at den koding som utføres etter beregning av pulsposisjonene er kompleks med hensyn til både beregning og lagring. Dessuten krever fremgangsmåten et stort antall av biter for hver pulsposisjon i rammeintervallet. Bitene i kodeordene som fremskaffes fra de optimale kombinerende pulskode-algoritmer har også en tendens til å omfatte bit-feil. En bit-feil i kodeordet som overføres fra sender til mottager kan ha en katastrofal følge med hensyn til pulsposisjonering ved dekoding av kodeordet i mottageren.
Den foreliggende oppfinnelse bygger på det forhold at antallet av pulsposisjoner for eksiteringspulsene innenfor et rammeintervall er så stort at det er mulig å gi avkall påQøyaktig posisjonering av en eller flere eksiteringspulser innenfor rammen, og samtidig fremskaffe et regenerert talesignal med aksepterbar kvalitet etter koding og overføring.
I henhold til de kjente fremgangsmåter blir de korrekte faseposisjoner beregnet for eksitasjonspulser innenfor en ramme og følgende rammer av talesignalet, og posisjonering av pulsene blir utført ene og alene i avhengighet av kompleks behandling av talesignalparametre (prediktivrest, restsignal og parametrene for eksitasjonspulsene i foregående rammer).
I henhold til den foreliggende oppfinnelse blir visse faseposisjonsbegrensninger introdusert ved posisjoneringen av pulsene, ved å forby et visst antall av forutgående bestemte faseposisjoner i forhold til de pulser som følger faseposisjonen for en eksitasjonspuls som allerede er blitt beregnet. Etter beregningen av posisjonen for en første puls innenfor rammen, og etter at denne puls er plassert på den beregnede faseposisjon, blir nevnte faseposisjon nektet for etterfølgende pulser innenfor rammen. Denne regel vil fortrinnsvis gjelde for alle pulsplasseringer innenfor
rammen.
Følgelig er en hensikt med den foreliggende oppfinnelse å skaffe en fremgangsmåte for å bestemme posisjonene for eksitasjonspulsene innenfor et rammeintervall og følgende ramme intervall er for et taleinngangsmønster i en lineaerprediktiv koder som krever en mindre kompleks koder og en smalere båndbredde, og som vil redusere risikoen for bit-feil i den etterfølgende omkodning før sending.
Fremgangsmåten ifølge oppfinnelsen erkarakterisert vedde trekk som fremgår av den karakteriserende del av det vedføyde patentkrav 1.
Den foreslåtte fremgangsmåte kan anvendes i forbindelse med e.n talekoder som virker i henhold til multipuls-prinsippet med korrelering av et opprinnelig talesignal og pulsrespons i henhold til et LPC-syntetisert signal. Fremgangsmåten kan imidlertid også anvendes i forbindelse med en såkalt RPE-talekoder i hvilken en flerhet av eksiteringspulser blir utplassert samtidig i rammeintervallet.
KORT OMTALE AV TEGNINGSFIGURENE
Den foreslåtte fremgangsmåte vil nå bli beskrevet i ytterligere detalj under henvisning til de vedføyde tegningsfigurer. Figur 1 er et forenklet blokkdiagram over en kjent LPC-talekoder. Figur 2 er et tidsdiagram som dekker visse signaler som fremkommer i talekoderen i henhold til figur 1. Figur 3 er et digram som forklarer prinsippet ved den foreliggende oppfinnelse. Figurene 4a, 4b er mere detaljerte diagrammer som anskuelig-
gjør prinsippet ved oppfinnelsen.
Figur 5 er et skjematisk blokkdigram som anskueliggjør en del av en talekoder som virker i henhold til oppfinnelsens prinsipp. Figur 6 er et flytskjema for talekoderen vist på figur 5. Figur 7 er en gruppe av blokker som er innlemmet i flytkart-et ifølge figur 6.
DETALJERT BESKRIVELSE AV UTFØRELSESFORMER
Figur 1 er forenklet blokkskjema over en kjent LPC-talekoder som fungerer i henhold til multipuls-prinsippet. En slik k,oder er omtalt i detalj i US 4,472,832 (SE-A-456618) . Et analogt talesignal fra f.eks. en mikrofon fremkommer på inngangen til en prediksjonsanalysator 110. I tillegg til en analog/digital-omformer vil prediksjonsanalysatoren 110
også innbefatte en LPC-datamaskin og en restsignalgenerator, som danner henholdsvis prediksjonsparametre a^og restsignal dfc. Prediksjonsparametrene karakteriserer det syntetiserte signal, men restsignalet viser feilen mellom det syntetiserte signal og det opprinnelige talesignal som ligger på inngangen til analysatoren.
En eksiteringsprosessor 12 0 mottar de to signaler a^og djr og fungerer under et av et antall av innbyrdes sekvensielle rammeintervaller som bestemmes av rammesignalet FC, for derved å avgi et gitt antall av eksiteringspulser under hvert av nevnte intervaller. Hver av de nevnte pulser blir bestemt ved sin amplitude Amp og tidsposisjonen mp innenfor rammen. Eksitasjonspulsparametrene Amp, mp blir ført til en koder 131, og blir deretter multipleksert med predikasjonsparametrene a^, før overføring fra f.eks. en radio-sender.
Eksitasjonsprosessoren 12 0 innbefatter to prediktivfiltre med samme pulsrespons for avveining av signalene d^og A-^, m-^avhengig av prediksj onsparametrene ajr under et gitt behandlings- eller beregningstrinn p. Videre inngår en korrelasjonssignalgenerator som virker for å fremskaffe korrelasjon mellom det avveide opprinnelige signal (y) og det avveide syntetiserte signal (Y) hver gang en eksitasjonspuls skal genereres. For hver korrelasjon fremskaffes der et antall q av "kandidater" av pulselementer Ai,m^
(0<i<I), av hvilke en gir den minste kvadratiske feil eller den minste absoluttverdi. Ampituden Amp og tidsposisjonen mp for den selekterte "kandidat" blir beregnet i eksita-sjonssignalgeneratoren. Bidraget fra den selekterte puls Amp, mp blir dertter subtrahert fra det ønskede signal i korrelasjonssignalgeneratoren, for derved å fremskaffe en ny sekvens av "kandidater", og denne teknikk blir repetert for et antall ganger som er lik det ønskede antall av eksitasjonspulser innenfor en ramme. Dette er beskrevet i detalj i det ovenfor nevnte US patentskrift.
Figur 2 er et tidsdigram over taleinngangssignaler, prediktivrester d^og eksitasjonspulser. Antallet av eksitasjonspulser i dette tilfelle er også åtte (8), av hvilke pulsen Am, m^ble selektert først (ga den minste feil) og deretter pulsen Arn2j n>2 etc- innenfor rammen.
Ved den tidligere kjente fremgangsmåte for beregning av amplitude Aj_ og faseposisjon m^for hver eksitasjonspuls blir m^=mp beregnet for den puls som ga maksimalverdi for cxi(p/ij, og den tilhørende amplitude Amp ble beregnet, hvor am utgjør krysskorrelasjonsvektoren mellom signalet ynog yni henhold til det ovenstående, og <pmm utgjør autokorrela-sjonsmatrisen for inngangsresponsen hos prediksjonsfiltrene. En hvilken som helst posisjon mp blir akseptert når bare de ovenfor angitte betingelser er oppfylt. Indeksen p signifiserer det trinn under hvilken beregningen av eksitasjonspuls i henhold til ovenstående finner sted.
I henhold til oppfinnelsen blir en ramme i henhold til figur
2 oppdelt på den måte som er vist på figur 3. Man antar f.eks. at rammen inneholder N=12 posisjoner. I dette tilfelle vil de N-posisjoner danne en søkevektor (n). Hele rammen blir inndelt i såkalt underblokker. Hver underblokk vil da inneholde et gitt antall av faser. F.eks., dersom hele rammen inneholder N=12posisjoner, vil man i henhold til figur 3 få fire underblokker, og hver underblokk vil inneholde tre forskjellige faser. Underblokken har en gitt posisjon innenfor den hele ramme, idet denne posisjon blir referert til som faseposisjonen. Hver posisjon n(<n<N) vil da tilhøre en gitt underblokk nf (0<nf<Nf) og en gitt fase f (0<f<F) i nevnte underblokk. Generelt vil posisjonene n (0<n<N) i den totale søkevektor, som inneholder N posisjoner, være
nf=0, ..., (Nf-1), f = 0,...(F-1) og
n = 0, ..., (N - 1). Videre vil også følgende forhold gjelde
Diagrammet ifølge figur 3 illustrerer fordelingen av fasene f og underblokkene nf for en gitt søkevektor som inneholder N posisjoner. I dette tilfelle vil man ha N = 12, F = 3 og NF = 4.
Fremgangsmåten ifølge oppfinnelsen innebærer begrensning av pulssøkingen til posisjoner som ikke tilhører en opptatt fase fp for disse eksitasjonspulser hvis posisjoner n er blitt beregnet i forutgående trinn.
I det følgende vil ordensnummer eller sekvensnummer for en gitt beregningssyklus for en eksitasjonspuls være designert p, i henhold til det forutstående. Den foreslåtte fremgangsmåte vil da resultere i følgende beregningstrinn for et rammeintervall:
Figurene 4a og 4b utgjør diagrammer som illustrerer den foreslåtte fremgangsmåte. Figur 4a illustrerer et eksempel hvor antallet av posisjoner i rammen er N=24, antallet av faser er F=4og antallet av faseposisjoner er nF=6.
Det er antatt at ingen faser er opptatt ved starten p=l, og det antas videre at de ovenfor angitte beregningstrinn 1-4 ga posisjonen m1=5. Denne pulsposisjon er markert med en sirkel på figur 4a. Dette gir fasen 1 i de respektive faseposisjoner nf = 0,1,2,3,4 og 5, og tilsvarende pulsposisj oner er n = 1,5,9,13,17 og 21 i henhold til ovenfor angitte forhold (1). Fasen 1 og de tilsvarende pulsposisj oner er således opptatt når beregningen av posisjonen for den neste eksitasjonspuls (p=2) finner sted. Det antas at beregningstrinnet 4 for p=2 vil resultere i m2=7. Eventuelt vil m2=9 kunne ha gitt maksimalverdioen for a^/cp^j , selv om dette gir en opptatt fase. Pulsposisjonen m2=7 gir fase 3 i hver av faseposisjonene nf=0,...5, og innebærer at pulsposisj onene n=3,7,ll,15 og 22 vil være opptatt. Posisjonene, 1,3,5,7,9,11,13,15,17,19,21 og 23 er således opptatt før starten av det neste beregningstrinn (p=3).
Det er antatt at beregningstrinnene 1-4 ovenfor for p=3 vil gi m3=12, og at for p=4 vil beregningstrinnene resultere i den siste posisjon m4=22. Alle posisjoner i rammen blir derver opptatt. Figur 4a illustrerer eksitasjonspulsene (Ami, m^) , (Am2/m2) e"tc. som man får som resultat.
Figur 4b illustrerer et ytterligere eksempel hvor N=25, F=5og Np=5, det vil si antallet av faser innenfor hver faseposisjon er økt med en. Pulsposisjonering blir utført på samme måte som i henhold til figur 4a, og tilslutt vil der bli fremskaffet fem eksitasjonspulser. Det maksimale antall av oppnådde eksitasjonspulser vil således være likt med antallet av pulser innenfor en faseposisjon.
De oppnådde faser f fp (p=4) på figur 4a og p=5på figur 4b) blir kodet sammen og de resulterende faseposisjoner nfi,..., nfp blir hver kodet i og for seg før overføringen. Kombinerende koding kan utføres for koding av fasene. Hver av faseposisjonene blir kodet med et kodeord som sådan.
I henhold til en utførelsesform kan den kjente talebehand-lingskrets modifiseres på den måte som er vist på figur 5, som anskueliggjør den del av taleprosessoren som innbefatter eksitasjonssignal-genereringskretsene 120.
Hvert av prediktivrestsignalene d^og eksitasjonsgeneratoren 127 har forbindelse med et respektivt filter 121 og 123 i takt med et rammesignal FC, via porter 122, 124. Filtrene 121, 123 fremskaffer signalene ynog ynsom blir korrelert i korrelasjonsgeneratoren 125. Signalet ynrepresenterer det sanne talesignal, men y^representerer det syntetiserte talesignal. Der fremskaffes fra korrelasjonsgeneratoren 125 et signmal C-^g som innbefatter komponentene oc^og <p^j i henhold til det foregående. En beregning blir utført i eksitasjonsgeneratoren 127 for pulsposisjonen mp som gir maksimum aj/<pj_j , hvor amplituden Amp i henhold til det foregående blir fremskaffet i tillegg til pulsposisjonen mp.
Eksitasjonspulsparametrene mp, Amp som blir produsert ved
Eksitasjonspulsparametrene mp, Amp som blir produsert ved hjelp av eksitasjonsgeneratoren 127 blir sendt til en fasegenerator 129. Denne generator beregner de aktuelle faser fp og faseposisjonene nfp fra verdiene mp, Amp som ankommer fra eksitasjonsgeneratoren 127, i henhold til følgende relasjon
hvor F = antallet av mulige faser.
Fasegeneratoren 129 kan bestå av en prosessor som innbefatter et leselager som kan betjene lagring av instruksjoner for beregning av fasene og faseposisjonene i henhold til ovenfor angitte relasjon.
Fase og faseposisjon blir deretter tilført koderen 131. Denne koder har samme prinsipielle oppbygning som den kjente koder, men er funksjonsdyktig med hensyn til å kode fase og faseposisjon istedetfor pulsposisjon mp. På mottagersiden vil fasene og faseposisjonene bli dekodet, og dekoderen beregner deretter pulsposisjonen mp i henhold til følgende relasjon
som gir en klar bestemmelse av eksitasjonspuls-posisjonen. Fasen fp blir også tilført korrelasjonsgeneratoren 125 og eksitasjonsgeneratoren 127. Korrelasjonsgeneratoren lagrer denne fase og tar med i beregningen at denne fase fp er opptatt. Ingen verdier av signalet C-^g blir beregnet når q er innlemmet i disse posisjoner som tilhører alle forutgående fp beregnet for en analysert sekvens. De opptatte posisjoner er
hvor n = 0, ..., (Nf - 1) og fp signifiserer alle forutgående faser som er opptatt innenfor en ramme. På lignende måte vil eksitasjonsgeneratoren 127 ta med i beregningen de opptatte faser når den utfører en sammenligning mellom signalene C-^g og C-^g<*.>
Når alle pulsposisj oner med hensyn til en ramme er blitt beregnet og behandlet, og når den neste ramme skal begynne, vil alle faser selvsagt på nytt være ledige for den første puls i den nye ramme.
Figur 6 anskueliggjør et flytdiagram som utgjør det flytdiagram som er vist på figur 3 i ovenfor nevnte US patentpublikasjon, men som er modifisert til å innbefatte fasebegrensningen. Disse blokker som ikke er tilføyet forklarende tekst, er beskrevet i ytterligere detalj i forbindelse med figur 7. Mellom blokkene 328 og 329, hvilket vedrører beregningen av utgångssignalet irip, Amp fra fasegeneratoren 129 og resitasjonen av posisjonsindeksen p, er der innlemmet en blokk 328a som vedrører de beregninger spm skal utføres i fasegeneratoren, og deretter en blokk 328b som vedrører påtrykningen av et utsignal på koderen 131 og generatorene 125 og 127. fp og nfp blir beregnet i henhold til den ovenfor omtalte relasjon (1). Deretter utføres der i generatorene 125 og 127 en vektorallokering
ufi = 1
som blir benyttet for testing av den fremskaffede q-verdi = q* som ga maksimalverdien0^/©^med det formål å forsikre seg om hvorvidt en tilsvarende pulsposisj on gir en fase som er opptatt eller ledig. Denne test blir utført i blokker 308a, 308b, 308c (mellom blokkene 307 og 309) og blokkene 318a, 318b (mellom blokkene 317, 319). De instruksjoner som blir gitt av blokkene 308a, 308b og 308c blir utført i korrelasjonsgeneratoren 125, mens de instruksjoner som gis av blokkene 318a, 318b blir utført i eksitasjonsgeneratoren 127.
First vil signalet f, det vil si fasen, bli beregnet fra
indeksen q i henhold til det ovenstående, hvoretter en test blir utført for å sikre hvorvidt vektorposisj onen for fasen f i vektorenUfer lik 1. Dersom uf= 1, hvilket innebærer at fasen er opptatt for nøyaktig denne indeks q*, vil ingen korrelasjonsberegning bli utført i henhold til instruksjon-
ene fra blokken 309, og tilsvarende sammenligninger i blokk 319. På den annen side, dersomUf= 0, vil dette indikere en ledig fase, og de etterfølgende beregninger blir utført som tidligere.
De opptatte faser skal forbli under alle beregnede sekvenser relatert til et fullt rammeintervall, men skal være ledige ved begynnelsen av et nytt rammeintervall. Følgelig vil vektoren u^etter blokken 3 07 bli innstilt til null før hver ny rammeanalyse.
Under kodingen av posisjonene mp for de forskjellige eksitasjonspulser innenfor en ramme, vil både faseposisjon nfp°9fas^fp bli kodet. Koding av posisjonene blir således oppdelt i to separate kodeord med innbyrdes forskjellige signifikanser. I dette tilfelle vil bitene i kodeordene få innbyrdes forskjellig signifikans, og følgelig vil sensitiviteten for bit-feil også være forskjellig. Denne ulikhet er fordelaktig med hensyn til feilkorrigering eller feildetekterende kanalkoding.
De ovenfor omtalte begrensninger med hensyn til posisjonering av eksitasjonspulser innebærer at koding av pulsposisj onene finner sted ved en lavere bit-hastighet enn ved koding av posisjonene i multi-puls uten nevnte begrensning. Det innebærer også at søkealgoritmen vil være mindre kompleks enn med denne begrensning. Det skal innrømmes at den foreliggende fremgangsmåte innbefatter visse begrensninger med hensyn til posisjonering av pulsene. Imidlertid er en nøyaktig pulsposisjon ikke alltid mulig, f.eks. i henhold til figur 4b. Imidlertid, denne begrensning vil bli veiet opp mot de nevnte fordeler.
Fremgangsmåten ifølge oppfinnelsen er i det ovenstående blitt beskrevet under henvisning til en talekoder, hvor posisjonering av eksitasjonspulsene utfører en puls om gangen inntil et rammeintervall er blitt fylt. En annen type talekoder er beskrevet i EP-A-195 487, og denne virker med posisjonering av et pulsmønster, hvor tidsavstanden ta mellom pulsene er konstant, istedetfor en eneste puls. Fremgangsmåten ifølge oppfinnelsen kan også anvendes sammen med en talekoder av denne art. De forbudte posisjoner i en ramme (sammenligne f.eks. figur 4a, 4b ovenfor) vil dermed sammenfalle med posisjonene for pulsene i et pulsmønster.

Claims (3)

1. Fremgangsmåte for posisjonering av eksitasjonspulser for en lineærprediktiv koder (LPC) som fungerer i henhold til multipuls-prinsippet, idet et syntetisert signal blir dannet fra et gitt talesignal, ved a) å forme et antall av prediktivparametre (a^) innenfor et gitt rammeintervall som utgjør en tidsseksjon fra det gitte talesignal, b) å forme et restsignal (d^) som gir feilen mellom det gitte talesignal og det syntetiserte signal innenfor rammeintervallet, og for det formål å bestemme en gruppe (p) av eksitasjonspulser innenfor rammeintervallet, c) å avveie nevnte restsignal (d^) med prediktivparametrene (a^) for således å danne et avveiet talerepresenterende signal (y), og d) å avveie et signal som representerer amplituden (AjJ og tidsposisjonen (m^) av eksitasjonspulsene i rammen med prediktivparametrene (a^) for således å danne et avveiet syntetisert talesignal (y), og ved e) å korrelere det representative talesignal (y) med det syntetiserte talesignal (y) for således å fremskaffe et uttrykk (C^g) for feilen mellom nevnte signaler, og deretterf) å bestemme en ekstrem verdi for nevnte uttrykk (C-^g) for derved å oppnå en gitt amplitude (Amp) og en gitt tidsposisjon (mfp) for en av nevnte eksitasjonspulser under et gitt antall av trinn (p), samtidig som det avveide syntetiske talesignal i henhold til trinn d) blir formet ved sub-traksjon av bidraget fra foregående trinn (p-1),karakterisert vedå dele antallet av mulige tidsposisjoner n (0±n<N) for eksitasjonspulsene innenfor en ramme i et antall nf av faseposisjoner (0<nf<NF) av hvilke hver faseposisjon innbefatter et antall av faser f (0<f<F), slik at n = nf.F + f, hvor F = det totale antall av faser i en faseposisjon, og at ved begynnelsen av nevnte posisjoner ingsprosess og ved bestemmelse av amplitude (Aml) og posisjon (m-^) for den første eksitasjonspuls innenfor rammen, vil alle posisjoner n innenfor rammen være ledige for posisjoner i henhold til trinnene d)-f, mens med hensyn til etterfølgende posisjonering av nevnte eksitasjonspulser blir fasen f som er bestemt for den første eksitasjonspuls, nektet med hensyn til den eksitasjonspuls (Am2 / m2) soin blir beregnet deretter og i alle gjenværende faseposisjoner nf, og at ved bestemmelse av amplitude og posisjon for etter-følgende eksitasjonspulser i henhold til trinnene d)-f), vil fasene for forutgående eksitasjonspulser i alle faseposisjoner være opptatt, og ikke falle sammen med pulsene for de etterfølgende eksitasjonspulser, og ved at de således oppnådde faseposisjoner nf blir kodet separat for å danne separate kodeord, mens de oppnådde faser f blir kodet sammen for å danne et eneste kodeord før overføring via et transmisjonsmedium.
2... Fremgangsmåte som angitt i krav l,karakterisert vedberegning av amplitude (Arop) og posisjon (mp) for en gitt eksitasjonspuls, og deretter beregning av de tilhørende faser fp og faseposisjon nfp i henhold til relasjonene
idet bare verdien av fasen fp bestemmer hvilken posisjon (mp+1) av den puls som følger nevnte eksitasjonspuls som skal forbys, og at denne prosedyre gjentas for alle faser fp+l, fp+2• • • for etterfølgende beregnede eksitasjonspulser inntil det ønskede antall av eksitasjonspulser er blitt oppnådd innenfor rammen.
3. Fremgangsmåte som angitt i et av kravene 1 eller 2,karakterisert vedat ved beregning av fase for den pulsposisjon (q) som er beregnet i korrelasjonstrin-net e) fra det totale antall (Q) av mulige posisjoner, blir der tillagt en testvektor (Uf) som representerer tilstanden, opptatt eller ledig, for de forskjellige faser innenfor rammen, og at en beregnet fase f-^blir undersøkt ved hjelp av testvektoren, for å sikre hvorvidt denne fase er opptatt eller ledig, og dersom fasen f er opptatt, vil korrela- sjonstrinnet være tellende og fortsetter oppover til den neste mulige posisjon (q+1), mens dersom fasen er ledig, vil trinn e) bli utført og repetert for alle slike posisjoner, og at ved bestemmelse av en ekstrem verdi i henhold til trinn f), vil en ny beregning av fasen f^for en gitt pulsposisjon (q) bli utført, hvoretter en undersøkelse ved hjelp av nevnte testvektor (Uf) blir utført, mens dersom fasen er ledig, vil trinnet f) bli utelatt, og telling vil bli utført oppover til den neste pulsposisjon (q+1) blir utført, og dersom fasen er opptatt, vil nevnte trinn f) bli utført for å beregne en ny verdi (q) av den pulsposisjon som gir maksimalverdi for korrelasjonen (ocm/<pmin) inntil den således beregnede nye posisjon (q+1) oppnår en fase som innebærer en ledig fase i fasevektoren (Uf).
4^. En modifisert utførelsesform for fremgangsmåten i henhold til krav 1, karakterisert vedat eksitasjonspulsposi-sjonen under nevnte trinn er innlemmet i et regulært mønster av eksitasjonspulser som hver har den samme amplitude (Amp) og en innbyrdes lik tidsavstand (ta) innenfor rammen.
NO905471A 1989-05-11 1990-12-19 Fremgangsmåte for posisjonering av eksitasjonspulser i en lineærpredikativ talekoder NO302205B1 (no)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SE8901697A SE463691B (sv) 1989-05-11 1989-05-11 Foerfarande att utplacera excitationspulser foer en lineaerprediktiv kodare (lpc) som arbetar enligt multipulsprincipen
PCT/SE1990/000153 WO1990013891A1 (en) 1989-05-11 1990-03-09 Excitation pulse positioning method in a linear predictive speech coder
SG163394A SG163394G (en) 1989-05-11 1994-11-14 Excitation pulse prositioning method in a linear predictive speech coder

Publications (3)

Publication Number Publication Date
NO905471L NO905471L (no) 1990-12-19
NO905471D0 NO905471D0 (no) 1990-12-19
NO302205B1 true NO302205B1 (no) 1998-02-02

Family

ID=26660505

Family Applications (1)

Application Number Title Priority Date Filing Date
NO905471A NO302205B1 (no) 1989-05-11 1990-12-19 Fremgangsmåte for posisjonering av eksitasjonspulser i en lineærpredikativ talekoder

Country Status (22)

Country Link
US (1) US5193140A (no)
EP (1) EP0397628B1 (no)
JP (1) JP3054438B2 (no)
CN (1) CN1020975C (no)
AT (1) ATE111625T1 (no)
AU (1) AU629637B2 (no)
BR (1) BR9006761A (no)
CA (1) CA2032520C (no)
DE (1) DE69012419T2 (no)
DK (1) DK0397628T3 (no)
ES (1) ES2060132T3 (no)
FI (1) FI101753B (no)
HK (1) HK147594A (no)
IE (1) IE66681B1 (no)
NO (1) NO302205B1 (no)
NZ (1) NZ233100A (no)
PH (1) PH27161A (no)
PT (1) PT93999B (no)
SE (1) SE463691B (no)
SG (1) SG163394G (no)
TR (1) TR24559A (no)
WO (1) WO1990013891A1 (no)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5701392A (en) * 1990-02-23 1997-12-23 Universite De Sherbrooke Depth-first algebraic-codebook search for fast coding of speech
US5754976A (en) * 1990-02-23 1998-05-19 Universite De Sherbrooke Algebraic codebook with signal-selected pulse amplitude/position combinations for fast coding of speech
DE69434514T2 (de) * 1993-12-24 2006-06-22 Seiko Epson Corp. Tintenstrahlaufzeichnungskopf
JPH08123494A (ja) * 1994-10-28 1996-05-17 Mitsubishi Electric Corp 音声符号化装置、音声復号化装置、音声符号化復号化方法およびこれらに使用可能な位相振幅特性導出装置
JP3328080B2 (ja) * 1994-11-22 2002-09-24 沖電気工業株式会社 コード励振線形予測復号器
DE4446558A1 (de) * 1994-12-24 1996-06-27 Philips Patentverwaltung Digitales Übertragungssystem mit verbessertem Decoder im Empfänger
FR2729244B1 (fr) * 1995-01-06 1997-03-28 Matra Communication Procede de codage de parole a analyse par synthese
FR2729246A1 (fr) * 1995-01-06 1996-07-12 Matra Communication Procede de codage de parole a analyse par synthese
FR2729247A1 (fr) * 1995-01-06 1996-07-12 Matra Communication Procede de codage de parole a analyse par synthese
SE506379C3 (sv) * 1995-03-22 1998-01-19 Ericsson Telefon Ab L M Lpc-talkodare med kombinerad excitation
SE508788C2 (sv) * 1995-04-12 1998-11-02 Ericsson Telefon Ab L M Förfarande att bestämma positionerna inom en talram för excitationspulser
DE19641619C1 (de) * 1996-10-09 1997-06-26 Nokia Mobile Phones Ltd Verfahren zur Synthese eines Rahmens eines Sprachsignals
JP3063668B2 (ja) * 1997-04-04 2000-07-12 日本電気株式会社 音声符号化装置及び復号装置
JPH10303252A (ja) * 1997-04-28 1998-11-13 Nec Kansai Ltd 半導体装置
CA2254620A1 (en) * 1998-01-13 1999-07-13 Lucent Technologies Inc. Vocoder with efficient, fault tolerant excitation vector encoding
JP3199020B2 (ja) * 1998-02-27 2001-08-13 日本電気株式会社 音声音楽信号の符号化装置および復号装置
WO2000016501A1 (en) * 1998-09-11 2000-03-23 Motorola Inc. Method and apparatus for coding an information signal
US6539349B1 (en) * 2000-02-15 2003-03-25 Lucent Technologies Inc. Constraining pulse positions in CELP vocoding
US8036886B2 (en) * 2006-12-22 2011-10-11 Digital Voice Systems, Inc. Estimation of pulsed speech model parameters
US11270714B2 (en) 2020-01-08 2022-03-08 Digital Voice Systems, Inc. Speech coding using time-varying interpolation
US11990144B2 (en) 2021-07-28 2024-05-21 Digital Voice Systems, Inc. Reducing perceived effects of non-voice data in digital speech

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4472832A (en) * 1981-12-01 1984-09-18 At&T Bell Laboratories Digital speech coder
NL8302985A (nl) * 1983-08-26 1985-03-18 Philips Nv Multipulse excitatie lineair predictieve spraakcodeerder.
CA1255802A (en) * 1984-07-05 1989-06-13 Kazunori Ozawa Low bit-rate pattern encoding and decoding with a reduced number of excitation pulses
NL8500843A (nl) * 1985-03-22 1986-10-16 Koninkl Philips Electronics Nv Multipuls-excitatie lineair-predictieve spraakcoder.
FR2579356B1 (fr) * 1985-03-22 1987-05-07 Cit Alcatel Procede de codage a faible debit de la parole a signal multi-impulsionnel d'excitation
US4944013A (en) * 1985-04-03 1990-07-24 British Telecommunications Public Limited Company Multi-pulse speech coder
GB8621932D0 (en) * 1986-09-11 1986-10-15 British Telecomm Speech coding

Also Published As

Publication number Publication date
HK147594A (en) 1995-01-06
WO1990013891A1 (en) 1990-11-15
NO905471L (no) 1990-12-19
CA2032520A1 (en) 1990-11-12
CN1047157A (zh) 1990-11-21
AU629637B2 (en) 1992-10-08
AU5549090A (en) 1990-11-29
DK0397628T3 (da) 1995-01-16
EP0397628B1 (en) 1994-09-14
SE8901697D0 (sv) 1989-05-11
ES2060132T3 (es) 1994-11-16
IE901467L (en) 1990-11-11
PT93999A (pt) 1991-01-08
TR24559A (tr) 1992-01-01
JPH03506079A (ja) 1991-12-26
SE8901697L (sv) 1990-11-12
ATE111625T1 (de) 1994-09-15
JP3054438B2 (ja) 2000-06-19
BR9006761A (pt) 1991-08-13
CA2032520C (en) 1996-09-17
SE463691B (sv) 1991-01-07
DE69012419D1 (de) 1994-10-20
US5193140A (en) 1993-03-09
IE66681B1 (en) 1996-01-24
FI101753B1 (fi) 1998-08-14
FI910021A0 (fi) 1991-01-02
DE69012419T2 (de) 1995-02-16
PH27161A (en) 1993-04-02
PT93999B (pt) 1996-08-30
FI101753B (sv) 1998-08-14
SG163394G (en) 1995-04-28
NO905471D0 (no) 1990-12-19
CN1020975C (zh) 1993-05-26
EP0397628A1 (en) 1990-11-14
NZ233100A (en) 1992-04-28

Similar Documents

Publication Publication Date Title
NO302205B1 (no) Fremgangsmåte for posisjonering av eksitasjonspulser i en lineærpredikativ talekoder
KR0143076B1 (ko) 다중-요소 신호 코딩 방법 및 장치
DK172571B1 (da) Kodning af tale
US5729655A (en) Method and apparatus for speech compression using multi-mode code excited linear predictive coding
US4561102A (en) Pitch detector for speech analysis
KR100357254B1 (ko) 음성수치 전송시스템내의 쾌적잡음 생성방법및 장치
JP2954588B2 (ja) 音声の符号化装置、復号装置及び符号化・復号システム
JPH05197400A (ja) 低ビット・レート・ボコーダ手段および方法
CN1143270C (zh) 代码激励线性预测编/译码方法及设备
JP2010160506A (ja) 分散音声認識プロセスにおけるエラーの軽減方法および装置
US7302387B2 (en) Modification of fixed codebook search in G.729 Annex E audio coding
US5233659A (en) Method of quantizing line spectral frequencies when calculating filter parameters in a speech coder
WO2008067766A1 (fr) Procédé et dispositif de quantification d&#39;un vecteur
US5937376A (en) Method of coding an excitation pulse parameter sequence
KR20210001596A (ko) 보코더 유형 판별 방법 및 장치
Ostrowski et al. Genetic annealing search for index assignment in vector quantization
EP0755047A2 (en) Speech parameter encoding method capable of transmitting a spectrum parameter at a reduced number of bits
AU702506B2 (en) Method and apparatus for generating and encoding line spectral square roots
JPH01243099A (ja) 音声符号化方式とその装置
NO301097B1 (no) Talekoding
SA90110060B1 (ar) طريقة تنظيم نبضات الاستثارة excitation pulses في جهاز ترميز(كود)كلام تنبؤي خطي linear predictive (LPC) coder
JPH02153399A (ja) 音声符号化方式

Legal Events

Date Code Title Description
MM1K Lapsed by not paying the annual fees

Free format text: LAPSED IN SEPTEMBER 2002