NO301097B1 - Talekoding - Google Patents

Talekoding Download PDF

Info

Publication number
NO301097B1
NO301097B1 NO893532A NO893532A NO301097B1 NO 301097 B1 NO301097 B1 NO 301097B1 NO 893532 A NO893532 A NO 893532A NO 893532 A NO893532 A NO 893532A NO 301097 B1 NO301097 B1 NO 301097B1
Authority
NO
Norway
Prior art keywords
pulses
pulse
speech
excitation
amplitudes
Prior art date
Application number
NO893532A
Other languages
English (en)
Other versions
NO893532L (no
NO893532D0 (no
Inventor
Martin Roger Lester Hodges
Original Assignee
British Telecomm
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
Priority claimed from GB888800120A external-priority patent/GB8800120D0/en
Priority claimed from GB888801998A external-priority patent/GB8801998D0/en
Application filed by British Telecomm filed Critical British Telecomm
Publication of NO893532L publication Critical patent/NO893532L/no
Publication of NO893532D0 publication Critical patent/NO893532D0/no
Publication of NO301097B1 publication Critical patent/NO301097B1/no

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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

Description

Foreliggende oppfinnelse angår talekoding, og mer spesielt systemer hvor et talesignal kan genereres ved å mate utgangs-signalet fra en eksiteringskilde gjennom et syntese-filter. Kode-problemet består da i å generere ut fra inngangs-talen de nødvendige eksiterings- og filterparametere. LPC-parametere ("linear predictive coding") for filteret kan utledes ved å benytte veletablerte teknikker, og foreliggende oppfinnelse angår eksiteringskilden.
Systemer hvor en stemt/ustemt avgjørelse ("voiced/ unvoiced decision") angående inngangs-talen bringes til å veksle mellom en støykilde og en kilde for repeterte pulser, tenderer til å gi utgangs-talesignalet et unaturlig preg, og det er blitt foreslått å anvende en enkelt "flerpulset" eksiteringskilde hvor det genereres en følge av pulser, idet det ikke gjøres noen foregående antagelser angående følgens beskaffenhet. Det er funnet at med denne metoden er det tilstrekkelig med bare noen få pulser (for eksempel 8 i en 10 millisekunders gruppe) for å oppnå godtagbare resultater. Det refereres til B.S. Atal og J.R. Remde: "A New Model of LPC Excitation for producing Natural-sounding Speech at Low Bit Rates", Proceedings of the IEEE ICASSP, Paris, side 614, 1982.
Mer spesielt angår foreliggende oppfinnelse en tale-kodeinnretning som omfatter en utledningsanordning for fra et inngangs-talesignal å utlede parametre for et syntese-filter, og en innretning for å generere en kodet representasjon av en eksitasjon som består av en flerhet pulser innen en tidsgruppe som tilsvarer en større flerhet av talesampler, og som under drift er anordnet for å velge pulsenes amplituder og tidspunkter slik at forskjellen mellom inngangs-talesignalet og filter-responsen på eksitasjonen, reduseres ved: å utlede amplituden og tidspunktene for en første puls, som alene representerer en eksitasjon som tenderer mot å redusere nevnte forskjell, og suksessivt å utlede en eller flere ytterligere pulser som i kombinasjon med den første og hvilke som helst pulser som opptrer imellom, representerer en eksitasjon som tenderer mot å redusere nevnte forskjell.
En slik kodeinnretning er beskrevet i "Efficient compu-tation and encoding of the multipulse excitation for LPC", M. Berouti et al., ICASSP '84, IEEE International conference on acoustics, speech and signal processing, 19.-21. mars 1984, San Diego, vol. 1, s. 10.1.1-10.1.4, IEEE, New York, USA.
Ifølge foreliggende oppfinnelse omfatter kodeinnretningen dessuten en anordning for å multiplisere puls-amplitudene med faktorer som bare avhenger av deres posisjon i utlednings-rekkefølgen, hvor faktorene for hver puls etter den første er større enn faktoren som benyttes for den første pulsen, og større enn eller lik den (de) faktor(er) som benyttes for pulser som opptrer imellom, samt en adaptiv bakover-kvantiseringsenhet innrettet for å kvantisere produktene.
Noen utførelser av foreliggende oppfinnelse skal nå beskrives med henvisning til de medfølgende tegningene, hvor
fig. 1 er et blokkdiagram over en utførelse av en tale-kodeinnretning,
fig. 2 er et blokkdiagram over en dekoder til benyttelse sammen med kodeinnretningen ifølge fig. 1,
fig. 3 er et blokkdiagram som viser en annen utførelse av en kodeinnretning.
I kodeinnretningen i fig. 1 behandles inngangs-talesignaler på samplet form (og fortrinnsvis digital form) på en inngang 1, av en prediksjons-enhet 2 slik at det tilveiebringes et utgangssignal (eksempelvis i form av et sett av filterkoeffisienter) som definerer et syntesefilter med en spektralrespons som er beslektet med talesignalenes spektralinnhold. Analysen som foretas i prediksjons-enheten kan være av en hvilken som helst av de typer som vanligvis benyttes i såkalte LPC-talekodere ("linear predictive coding"). Slik det er vanlig i slike systemer, utføres analysen på talegrupper som inngangs-samplene blir delt opp i. Gruppens lengde kan typisk være på 20 millisekunder, således tilveiebringes et sett av koeffisienter for hvert 20 ms og leveres via ledninger 3 til en utgangs-multiplekser 4.
I tillegg til filter-representasjonen tilveiebringer også kodeinnretningen en representasjon av en eksitasjon som skal genereres i dekoderen for å drive syntese-filteret for å tilveiebringe en tilnærmelse til den originale talen. Kodeinnretningen i figur 1 har en flerpuls-genereringsinnretning 5 som fra inngangs-talesamplene og LPC-koeffisientene utleder amplitudene (på utgang 6) og posisjonene (på utgang 7) til pulsene i en "flerpuls"-eksitasjonsgruppe som nevnt ovenfor. Mens den typiske størrelsen av en under-blokk (det vil si del av LPC-gruppen), 10 ms med 8 pulser, kan benyttes, benytter utførelsen ifølge figur 1 en varighet på 4 ms for en under-blokk, med 3 pulser. Dette er å foretrekke, da det introduserer mindre forsinkelse i kode-prosessen. Formålet med flerpuls-utledningen er å finne de puls-posisjoner og amplituder som minimaliserer feilen mellom den dekodete syntetiske talen og den originale talen.
Dersom det antas at en underblokk består av n tale-sampler, representerer dette n inngangs-talesampler So,,sn-i og n syntetiserte sampler s' Q... s' n_ 1, som kan betraktes som vektorer s, Eksitasjonen består av pulser med amplitude am, og det antas at disse tillates å forekomme på et hvilket som helst av de n mulige tids-øyeblikk innen gruppen, men det finnes bare et begrenset antall av disse (for eksempel k). Således kan eksitasjonen uttrykkes som en n-dimensjonal vektor a med komponenter a0....an_1, men bare k av dem er ulik null. Hensikten er å finne de 2k ukjente (k amplituder og k puls-posisjoner) som minimaliserer feilen:
Mengden av beregninger som er nødvendige for å gjøre dette er betraktelig, og den prosedyre som ble foreslått av Atal og Remde, var som følger: (1) Finn den amplitude og posisjon for en puls, alene, som gir minimal feil. (2) Finn den amplitude og posisjon for en andre puls, som i kombinasjon med denne første puls, gir minimal feil, idet posisjonene og amplitudene for den puls eller de pulser som er funnet tidligere,
holdes fast under dette trinnet.
(3) Gjenta for ytterligere pulser.
Denne metoden anvendes i utlednings-enheten 5 i figur 1, og det at de tidligere utledede pulsene tas i betraktning i de senere utledningene innen en under-blokk, indikeres i fig. 1 av tilbakef©ringsveiene 8 og 9. Bemerk at rekkefølgen som pulsene utledes i, ikke står i noe forhold til deres faktiske posisjon innen under-blokken.
Puls-amplitudene a.^ føres via en bakover-adaptiv kvantiseringsenhet 10, som er beskrevet nedenfor. De multipliseres imidlertid først (i en multipliserer 11) med en statistisk faktor fL. I praksis er det funnet at den første pulsen som skal utledes, vanligvis er størst, og derpå følgende utledete pulser har en tendens til å være mindre og mindre, i det minste hva angår de første pulsene. Skjønt pulsenes størrelser varierer, viser en statistisk analyse på trenings-følger at dette gjennomsnittlig er tilfellet, og multiplisereren 10 forsynes med faktorer slik at i gjennomsnitt tenderer puls-amplitudene ved multiplisererens utgang til å være like store, uavhengig av hvilken puls det er i utlednings-rekkefølgen. For det tilfellet som beraktes her med tre pulser, er de faktorer som anvendes:
første puls som skal utledes f0 = 1
andre puls som skal utledes fx = 8/5
tredje puls som skal utledes f2 = 8/3
(de fjerde til sjette pulsene kan, dersom de er til stede, gis faktorene 8/3, 8/3 og 4). Formålet med dette trinnet er å gjøre den adaptive kvantiseringen mer effektiv, og å muliggjøre at enten kvantiserings-støyen eller antallet biter som benyttes for å kode amplitudene (eller begge deler) kan reduseres.
Når store antall av pulser benyttes, kan passende faktorer utledes ved analyse av sampel-sekvenser av tale for å finne gjennomsnitts-størrelsene av pulsene sammenlignet med størrelsen av den første utledete pulsen. Multiplika-sjonsfaktoren er da den resiproke av denne størrelsen. En enkel (skjønt ikke optimal) tilnærmingsmåte i en slik situasjon er å benytte en faktor lik 1 for den først utledete pulsen, og 2 for resten.
Den adaptive kvantiseringenheten 10 er en 3-biters Jayant-kvantiserer, og har en optimal ikke-lineær Max-kvantiserer 12 som har følgende egenskaper:
Utgangs-koden representerer ganske enkelt verdiene av de tre utgangs-bitene - tallet før "/" er fortegns-biten, og tallet 1 4 som følger, betegner binærtallet 0....11.
En skaleringsenhet 13 tilveiebringer en skalerings-faktor til en divisjonsenhet 14 ved kvantiseringsenhetens inngang. Skaleringsfaktoren S (opprinnelig lik 1) varieres ved at, avhengig av kvantiseringsenhetens kodeord-utgangssignal for en gitt verdi av puls-amplitude, skaleringsfaktoren S økes eller minskes i forhold til dens aktuelle verdi til en ny verdi som skal benyttes for neste puls-amplitude,
<s>k<m><=> sk-l-mk-l
hvor m er gitt ved:
Bemerk at disse faktorene er forskjellige fra de som er foreslått av Jayant, og bemerk også at skaleringsfaktoren ikke nullstilles ved slutten av en under-blokk eller gruppe.
Et tilleggstrekk som kan benyttes for å øke hastigheten på tilpasningen, er at dersoim to påfølgende utgangs-koder har verdien 4, så resulterer den andre forekomst i en økning av skaleringsfaktoren med en faktor på 2,25 (det vil si to økninger på 1,5). Dette er illustrert i gruppe 1 av en forsinkelse 15 og 4,4 detektor 16.
Utgangs-multiplekseren mottar de kvantiserte amplitudene fra kvantiseringsenheten 10 og posisjons-informasjon fra genereringsinnretningen 5, samt LPC-koeffisientene og kombinerer disse til et eneste utgangssignal 17.
I fig. 2 er vist en dekoder, hvor en demultiplekser 24 separerer koeffisientene, amplitudene og posisjons-inf ormasjonen og mater koeffisientene inn for å oppdatere et syntese-filter 30. Kodeordene for puls-amplitude føres via en "invers-kvantiseringsenhet" 22 som fjerner ikke-lineariteten som ble innført av kvantiseringsenheten 12 - det vil si den omvandler de mottatte kodeordene til de verdier som er gitt i midt-kolonnen i tabell 1. Skaleringsfaktoren S oppnås fra amplitude-kodeordene ved hjelp av enhetene 23, 25 og 26, som på alle måter er identiske med enhetene 13, 15 og 16 i fig. 1, og utgangssignalet fra invers-kvantiseringsenheten multipliseres med S i en multipliseringsenhet 31. Faktorene fL tilføres så til en divisjonsenhet 3 2 hvis utgangssignal representerer de originale amplitudene (men med kvantiserings-feil), og leveres sammen med informasjonen om puls-posisjoner til en eksitasjons-generator 33.
Utgangssignalet fra eksitasjons-generatoren 33 filtre-res med filteret 30 for å tilveiebringe dekodet tale på en utgang 34.
Det er allerede nevnt at flerpuls-utledningsenheten tar hensyn til virkningen av de tidligere utledete pulsene ved utledningene av de senere pulsene, via tilbakeførings-veiene 8 og 9. Det er å foretrekke å ta hensyn til den faktiske virkning av disse pulsene ved dekoderen, og derfor inkluderes fortrinnsvis kvantiseringen i denne sløyfen. Således, i den modifiserte kodeinnretningen som er vist i fig. 3, mates puls-amplitudene tilbake fra utgangen via en lokal dekoder 40 som har en invers kvantiseringsenhet 22', multipliserer 31' og divisjonsenhet 32'. Skalafaktoren kan selvfølgelig oppnås fra kvantiseringsenheten 10. Dekoderen i fig. 2 kan også benyttes sammen med denne kodeinnretningen.
Enkelte flerpuls-kodefremgangsmåter som involverer sekvensiell puls-utledning, omfatter trinn med re-optimalisering. Dette er fordi de tidligere utledete pulsene blir utledet uten referanse til egenskapene til de pulser som utledes senere, og resultatene kan forbedres ved å anvende en korreksjon på pulsenes amplituder og/eller posisjoner. Se for eksempel søkernes britiske patenter 2.173.679 B og 2.195.220 B.
I det tilfellet som er vist i fig. 1 kan en hvilken som helst av disse teknikkene anvendes på samme måte som før. I tilfellet som er vist i fig. 2 kan om ønskelig re-optimalisering av posisjon benyttes. I fig. 3, hvor kvantisering innen sløyfen benyttes, medfører imidlertid dette at kvantisering av puls nr. i utføres før puls nr. i+1 utledes, og ytterligere justering av puls i er da muligens umulig å utføre uten å påvirke kvantiserings-prosessen kraftig.

Claims (5)

1. Tale-kodeinnretning, omfattende en utledningsanordning (2) for fra et inngangs-talesignal å utlede parametere for et syntese-filter, og en innretning (5) for å generere en kodet representasjon av en eksitasjon som består av en flerhet pulser i en tidsgruppe som tilsvarer en større flerhet av tale-sampler, anordnet for under drift å velge pulsenes amplituder og tidspunkter slik at forskjellen mellom inngangs-talesignalet og filter-responsen på eksitasjon, reduseres ved : å utlede amplituden og tidspunktene for en første puls, som alene representerer en eksitasjon som tenderer mot å redusere nevnte forskjell, og suksessivt å utlede en eller flere ytterligere pulser som i kombinasjon med den første og hvilke som helst pulser som opptrer imellom, representerer en eksitasjon som tenderer mot å redusere nevnte forskjell, karakterisert ved en anordning (11) for å multiplisere puls-amplitudene med faktorer (fi) som bare avhenger av deres posisjon i utlednings-rekkefølgen, idet faktorene (fi) for hver puls etter den første er større enn faktoren som benyttes for den første pulsen, og større enn eller lik den (de) faktor(er) som benyttes for pulser som opptrer imellom, samt en adaptiv bakover-kvantiseringsenhet (10) innrettet for å kvantisere produktene.
2. Tale-kodeinnretning ifølge krav 1, karakterisert ved at faktoren er 1 for den første pulsen.
3. Tale-kodeinnretning ifølge krav 1 eller 2, karakterisert ved at den er innrettet for å utlede minst tre pulser.
4. Tale-kodeinnretning ifølge krav 3, karakterisert ved at faktorene for de første tre pulsene i utlednings-rekkefølgen er hovedsakelig 1, 8/5 og 8/3.
5. Tale-kodeinnretning ifølge et hvilket som helst av de foregående krav, karakterisert ved at genereringsinnretningen (5) er innrettet for, når den (de) ytterligere pulsen(e) utledes, å anvende de verdier av amplitudene for den første og hvilke som helst pulser som opptrer imellom, som er oppnådd fra kvantiseringsenhetens (10) utgang via en lokal dekoder (40) .
NO893532A 1988-01-05 1989-09-04 Talekoding NO301097B1 (no)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB888800120A GB8800120D0 (en) 1988-01-05 1988-01-05 Speech coding
GB888801998A GB8801998D0 (en) 1988-01-29 1988-01-29 Speech coding
PCT/GB1988/001152 WO1989006418A1 (en) 1988-01-05 1988-12-29 Speech coding

Publications (3)

Publication Number Publication Date
NO893532L NO893532L (no) 1989-09-04
NO893532D0 NO893532D0 (no) 1989-09-04
NO301097B1 true NO301097B1 (no) 1997-09-08

Family

ID=26293268

Family Applications (1)

Application Number Title Priority Date Filing Date
NO893532A NO301097B1 (no) 1988-01-05 1989-09-04 Talekoding

Country Status (11)

Country Link
US (1) US5058165A (no)
EP (1) EP0324283B1 (no)
JP (1) JP2992045B2 (no)
AU (1) AU608944B2 (no)
CA (1) CA1334690C (no)
DE (2) DE3879664T4 (no)
DK (1) DK172908B1 (no)
ES (1) ES2039655T3 (no)
HK (1) HK130196A (no)
NO (1) NO301097B1 (no)
WO (1) WO1989006418A1 (no)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2729244B1 (fr) * 1995-01-06 1997-03-28 Matra Communication Procede de codage de parole a analyse par synthese

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE32580E (en) * 1981-12-01 1988-01-19 American Telephone And Telegraph Company, At&T Bell Laboratories Digital speech coder
CA1226946A (en) * 1984-04-17 1987-09-15 Shigeru Ono Low bit-rate pattern coding with recursive orthogonal decision of parameters
JPS61134000A (ja) * 1984-12-05 1986-06-21 株式会社日立製作所 音声分析合成方式
CA1252568A (en) * 1984-12-24 1989-04-11 Kazunori Ozawa Low bit-rate pattern encoding and decoding capable of reducing an information transmission rate
NL8500843A (nl) * 1985-03-22 1986-10-16 Koninkl Philips Electronics Nv Multipuls-excitatie lineair-predictieve spraakcoder.
US4944013A (en) * 1985-04-03 1990-07-24 British Telecommunications Public Limited Company Multi-pulse speech coder
JPH0650439B2 (ja) * 1986-07-17 1994-06-29 日本電気株式会社 マルチパルス駆動形音声符号化器
GB8621932D0 (en) * 1986-09-11 1986-10-15 British Telecomm Speech coding

Also Published As

Publication number Publication date
DE3879664T2 (de) 1993-07-01
CA1334690C (en) 1995-03-07
DK172908B1 (da) 1999-09-27
EP0324283A1 (en) 1989-07-19
HK130196A (en) 1996-07-26
AU2921989A (en) 1989-08-01
ES2039655T3 (es) 1993-10-01
NO893532L (no) 1989-09-04
US5058165A (en) 1991-10-15
DK425689D0 (da) 1989-08-29
JPH02502857A (ja) 1990-09-06
AU608944B2 (en) 1991-04-18
EP0324283B1 (en) 1993-03-24
JP2992045B2 (ja) 1999-12-20
NO893532D0 (no) 1989-09-04
DK425689A (da) 1989-08-29
DE3879664T4 (de) 1993-10-07
WO1989006418A1 (en) 1989-07-13
DE3879664D1 (de) 1993-04-29

Similar Documents

Publication Publication Date Title
EP0422232B1 (en) Voice encoder
US5138661A (en) Linear predictive codeword excited speech synthesizer
US4868867A (en) Vector excitation speech or audio coder for transmission or storage
US7092885B1 (en) Sound encoding method and sound decoding method, and sound encoding device and sound decoding device
WO1989002147A1 (en) Speech coding
KR20050090026A (ko) 확산 벡터 생성 방법
EP1339040A1 (en) Vector quantizing device for lpc parameters
EP0364647A1 (en) Improvement to vector quantizing coder
EP1162603B1 (en) High quality speech coder at low bit rates
US6768978B2 (en) Speech coding/decoding method and apparatus
JPH11504731A (ja) 複雑さが軽減された合成フィルタを有する符号励振線形予測符号化スピーチコーダ
EP1473710B1 (en) Multistage multipulse excitation audio encoding apparatus and method
US6295520B1 (en) Multi-pulse synthesis simplification in analysis-by-synthesis coders
EP1098298B1 (en) Speech coding with an orthogonal search
US5719993A (en) Long term predictor
CA2130877C (en) Speech pitch coding system
NO301097B1 (no) Talekoding
EP0361432A2 (en) Method of and device for speech signal coding and decoding by means of a multipulse excitation
EP1204094A2 (en) Frequency dependent long term prediction analysis for speech coding
JP3824706B2 (ja) 音声符号化/復号化装置
AU617993B2 (en) Multi-pulse type coding system
GB2199215A (en) A stochastic coder
JPH06130994A (ja) 音声符号化方法
GB2258978A (en) Speech processing apparatus
JP2817196B2 (ja) 音声符号化方式

Legal Events

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

Free format text: LAPSED IN JUNE 2003