NO319559B1 - Fremgangsmate og koder for taleprosessering ved forskjellig overforingstakt, saerlig ved lineaer prediktiv koding (LPC) - Google Patents

Fremgangsmate og koder for taleprosessering ved forskjellig overforingstakt, saerlig ved lineaer prediktiv koding (LPC) Download PDF

Info

Publication number
NO319559B1
NO319559B1 NO19934544A NO934544A NO319559B1 NO 319559 B1 NO319559 B1 NO 319559B1 NO 19934544 A NO19934544 A NO 19934544A NO 934544 A NO934544 A NO 934544A NO 319559 B1 NO319559 B1 NO 319559B1
Authority
NO
Norway
Prior art keywords
pitch
codebook
rate
frame
parameters
Prior art date
Application number
NO19934544A
Other languages
English (en)
Other versions
NO934544L (no
NO934544D0 (no
Inventor
Chong U Lee
Klein S Gilhousen
Paul E Jacobs
William R Gardner
Original Assignee
Qualcomm Inc
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=24866989&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=NO319559(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of NO934544L publication Critical patent/NO934544L/no
Publication of NO934544D0 publication Critical patent/NO934544D0/no
Publication of NO319559B1 publication Critical patent/NO319559B1/no

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • 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/005Correction of errors induced by the transmission channel, if related to the coding algorithm
    • 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/012Comfort noise or silence coding
    • 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/12Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
    • 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/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/22Mode decision, i.e. based on audio signal content versus external parameters
    • 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/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/24Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/66Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission for reducing bandwidth of signals; for improving efficiency of transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/16Time-division multiplex systems in which the time allocation to individual channels within a transmission cycle is variable, e.g. to accommodate varying complexity of signals, to vary number of channels transmitted
    • H04J3/1682Allocation of channels according to the instantaneous demands of the users, e.g. concentrated multiplexers, statistical multiplexers
    • H04J3/1688Allocation of channels according to the instantaneous demands of the users, e.g. concentrated multiplexers, statistical multiplexers the demands of the users being taken into account after redundancy removal, e.g. by predictive coding, by variable sampling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0014Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the source coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0015Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
    • H04L1/0017Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy where the mode-switching is based on Quality of Service requirement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0046Code rate detection or code type detection
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • G10L2025/783Detection of presence or absence of voice signals based on threshold decision
    • G10L2025/786Adaptive threshold

Description

Denne oppfinnelse gjelder taleprosessering. Særlig gjelder oppfinnelsen en ny og forbedret fremgangsmåte for talekompresjon og en tilhørende koder hvor graden av kompresjon tillates å variere dynamisk samtidig som kvaliteten av den rekonstruerte tale reduseres minimalt. Siden videre den komprimerte tale i form av digitale data skal overføres i en kanal hvor det under overføringen kan introduseres feil, tar oppfinnelsens fremgangsmåte og system også sikte på å redusere virkningen av kanalfeil på talekvaliteten.
Taleoverføring ved hjelp av digitalteknikk er meget utstrakt, særlig innenfor fjerntelefonsamband og digital radiooverføring. Dette har på sin side gitt årsak til interesse for å bestemme det minste kvantum informasjon som kan sendes over en aktuell kanal uten at den rekonstruerte tale på mottakersiden får hørbar kvalitetsforringelse. Hvis talen overføres ved at man rett og slett utfører sampling (avtasting) og digitalisering vil det kreves en dataoverføringshastighet (bitrate eller datatakt) i størrelsesorden 64 kilobit pr. sekund (kb/s) for å oppnå samme talekvalitet som via et konvensjonelt telefonsamband med analog taleoverføring. Man kan imidlertid ved å utnytte taleanalyse etterfulgt av hensiktsmessig koding, signaloverføring og rekonstruksjonssyntese på mottakersiden komme frem til en meget betydelig reduksjon av den nødvendige datatakt.
Apparater som benytter teknikk for kompresjon av tale ved å trekke ut parametere som relateres til en modell for menneskelig talefrembringelse kalles typisk vokodere. Slike apparater består av en kodeenhet som analyserer den innkommende tale og trekker ut relevante parametere fra denne, og en dekoder som på mottakersiden av en overføring igjen bygger opp forståelig tale ved syntese (dvs. rekonstruerer den opprinnelige tale) ved å bygge på de parametere som overføres i den aktuelle transmisjonskanal. For hele tiden å være presis må modellen stadig endre seg. Følgelig deles talen opp i tidsblokker eller analyserammer som parametrene blir beregnet for. Deretter oppdateres parametrene for hver ny ramme eller blokk.
De forskjellige klasser av talekodere har en klasse som omfatter lineær kodeaktivert prediktiv koding (CELP), stokastisk koding og vektoraktivert talekoding. Et eksempel på en kodealgoritme som hører hjemme i denne talekodeklasse er beskrevet i artikkelen "A 4,8 kbps Code Excited Linear Predictive Coder" av Thomas E. Tremain et al. i Proceedings of the Mobile Satellite Conference, 1988.
Hensikten med vokoderen er å komprimere det digitale talesignal til et lavtakts-signal ved å fjerne samtlige av de naturlige redundante elementer i talen. Tale har nemlig et stort antall korttidige informasjonssekvenser som er redundante, dvs. ikke tilføres noe nytt, og visse sekvenser fremkommer hovedsakelig ved den filtervirkning som oppstår i taleorganet, og tilsvarende foreligger langtidsredundansfenomener som skyldes aktiveringen (eksiteringen) fra stemmebåndene av taleorganets øvrige deler. I en CELP-koder kan dette simuleres i en modell ved hjelp av to filtere, et formantfilter for korttidsfenomenene og et tonehøydefilter for langtidsfenomenene. Når disse redundanser er trukket ut vil det gjenværende signal (residualsignalet) kunne moduleres som Gauss-fordelt, "hvit" støy som også må kodes. Grunnlaget for denne teknikk er å beregne parametrene for et filter som kalles LPC-filter som utfører filtrering av talebølgeformen ved hjelp av en modell av det menneskelige taleorgan, basert på korttids filtrering og et forhåndsbestemt estimat (prediksjon). I tillegg moduleres taleforløpene med lengre periodisitet eller varighet og som har med talens tonehøyde å gjøre ved å beregne parametrene for et tonehøydefilter som i alt vesentlig setter opp en modell av stemmebåndene. Endelig må filtrene aktiveres på riktig måte, og dette utføres ved å bestemme hvilken bølgeform av et større antall tilfeldig eksiterte bølgeformer som foreligger i en såkalt kodebok, som fører til den best mulige tilnærmelse til den opprinnelige tale når bølgeformen aktiverer de to filtere. Følgelig vil de overførte parametere være relatert til tre faktorer: (1) LPC-filteret, (2) tonehøydefilteret og (3) kodebokeksiteringen.
Selv om bruken av vokodeteknikk gir vesentlige forbedringer ved reduksjon av den informasjonsmengde som sendes over en kanal uten at dermed talekvaliteten reduseres, kan man bruke andre teknikker for å komme frem til ytterligere reduksjon. En slik tidligere brukt teknikk for å redusere informasjonsmengden som trengs for overføring av tale med en bestemt kvalitet er såkalt VAG som står for "voice activity gating" eller talestyring. I henhold til denne teknikk overføres ingen informasjon i talepauser, idet det er starten av en talesekvens som aktiverer kanalen. Denne teknikk gir nok en reduksjon i den datamengde som overføres, men den har forskjellige ulemper.
I mange tilfeller reduseres talekvaliteten ved at den første del av en talesekvens eller et ord ikke kommer med, og et annet problem med å slå sambandet i kanalen av under inak-tive périoder er at bakgrunnsstøyen samtidig blir borte, hvilket kan virke forstyrrende. En mottaker vil derfor ofte vurdere talekvaliteten som dårligere enn i en normal telefonsamtale. Nok et problem med talestyring er at plutselige støyfenomener i bakgrunnen kan aktivere senderen selv om ingen tale skal overføres, hvilket fører til forstyrrende støypulser i mottakeren.
I et forsøk på å forbedre talekvaliteten av syntetisert tale i talestyrte systemer føyer man til syntesedannet bakgrunnsstøy i dekodeprosessen. Man kan nok oppnå en viss kvali-tetsforbedring ved slike tiltak, men totalkvaliteten bedres egentlig ikke siden den tilføyde "komfortstøy" ikke egentlig er noen modell av den aktuelle bakgrunnsstøy på sendersiden.
Patentskriftet EP 440 043 A2 representerer nærliggende teknikk for behandling av digitalisert tale. For å redusere den mengde informasjon som trengs for en overføring av komprimert tale utføres ofte talekoding (vokoding) med variabel overføringshastighet eller takt. Siden talen gjeme inneholder perioder uten informasjon, i form av talepauser kan den nødvendige datamengde reduseres ved at man med talekoding med variabel takt på effektiv måte utnytter dette ved å redusere datatakten for slike stumme perioder. En reduksjon av datatakten, i motsetning til et fullstendig opphør av overføringen under tause perioder unngår de problemer som er knyttet til talestyringen, men har likevel dennes fordeler med reduksjon av informasjonsmengden.
Ut fra dette er det et mål med denne oppfinnelse å tilveiebringe en ny og forbedret fremgangsmåte og en tilsvarende koder for talekompresjon ved hjelp av vokoding med varierbar overføringstakt.
Oppfinnelsen bygger på en vokodealgoritme som hører til den innledningsvis nevnte klasse av talekodere (CELP, stokastisk koding eller vektoraktivert talekoding). CELP-teknikken alene gir en betydelig reduksjon i den nødvendige datamengde som representerer talen, slik at man får høykvalitets tale også etter rekonstruksjonen ved hjelp av syntese. Som nevnt tidligere oppdateres vokodeparametrene i hver tidsramme. Vokoderen ifølge oppfinnelsen gir imidlertid varierbar datatakt på utgangen ved å endre modellpara-metrenes frekvens og nøyaktighetsgrad.
Oppfinnelsen skiller seg imidlertid ganske vesentlig fra den grunnleggende CELP-teknikk ved å frembringe en varierbar utgangsdatatakt på grunnlag av taleaktiviteten. Strukturen dannes slik at parametrene oppdateres mindre ofte eller med mindre grad av nøyaktighet under talepauser. Denne teknikk tillater en større reduksjon i informasjonsmengden som må overføres for å opprettholde en viss talekvalitet. Det fenomen som utnyttes for å redusere datatakten er taleaktivitetsfaktoren som angir gjennomsnittlig hvor stor del av tiden en person som fører en samtale egentlig utfører aktiv tale. For typiske toveis telefonsamtaler reduseres den gjennomsnittlige datatakt med en faktor på 2 eller mer. Under pauser i talen kodes bare bakgrunnsstøyen av vokoderen, og under slike perioder behøver enkelte av parametrene som har med den menneskelige taleorganmodell å gjøre ikke over-føres i det hele tatt. Som nevnt har man forsøkt å redusere informasjonsmengden ved å bygge på taleaktivering hvor ingen informasjon sendes ut når det er opphør i talen. På mottakersiden kan disse pauser fylles opp med syntesefrembrakt "komfortstøy". I kontrast til dette vil en vokoder med varierbar overføringstakt kontinuerlig overføre data som gjerne foregår ved rater mellom omkring 1 og 8 kb/s, og man unngår da syntetisert støy, idet koding av bakgrunnsstøyen gir en mer naturlig for på den "resyntetiserte" tale. Slik får man en betydelig bedring i kvaliteten av rekonstruert tale ved hjelp av syntese, i forhold til ved ren talestyring, hvorved det blir en myk overgang mellom talen og bakgrunnsstøyen.
Videre brukes en ny teknikk for å maskere tilstedeværelsen av feil. Siden de aktuelle data er beregnet for overføring i en kanal som kan være støybeheftet, for eksempel et radiolinksamband, må datafeil kunne håndteres. Tidligere teknikk som brukte kanalkoding for å redusere antallet feil som kunne oppstå i kanalen kunne gi brukbare resultater med hensyn til støyreduksjon. Imidlertid kan ikke kanalkoding alene gi den støybeskyttelse som er nødvendig for å sikre høykvalitets gjenvunnet tale. I en vokoder med variabel takt og hvor talekodingen utføres kontinuerlig kan en feil ødelegge data som gjelder bestemte interessante talesekvenser så som starten av et ord eller en stavelse. Et typisk problem med LPC-baserte vokodere er at feil i parametrene som gjelder modellen for taleorganet vil forårsake lyder som er vagt menneskelignende og som kan endre lydbildet av originalordet i tilstrekkelig grad til å forstyrre lytteren. I henhold til den foreliggende oppfinnelse maskeres feil for å redusere oppfattelsen hos lytteren. Feilmaskering slik som det benyttes ifølge oppfinnelsen gir altså en drastisk reduksjon i hvordan feil påvirker taleforståelsen.
Siden den maksimale mengde en parameter kan endres er begrenset til mindre verdier ved langsom takt, vil parametere som overføres ved slike taktverdier påvirke talekvaliteten mindre. Siden feil i de forskjellige taktområder har forskjellig persepsjons-virkning på talekvaliteten, kan overføringssystemet optimaliseres for å gi større beskyttelse mot høyere datataktverdier. Derfor tilveiebringer oppfinnelsen som en tilleggsfinesse robusthet for kanalfeil.
Oppfinnelsen bidrar ved å bruke en taktutgangsversjon med variabel takt i CELP-algoritmen en talekompresjon som i dynamikk varierer fra 8:1 til 64:1 i avhengighet av taleaktiviteten. Disse kompresjonsfaktorer refereres til en ulineær inngang (ji-skalert) og med kompresjonsfaktorene multiplisert med en faktor på 2,0 for lineær inngang. Taktbestemmelsen utføres på ramme-til-ramme-basis for å vinne full utnyttelse av taleaktivitetsfaktoren. Selv om mindre data frembringes under talepauser vil den oppfattede degradering av den syntetiserte bakgrunnsstøy reduseres til et minimum. Oppfinnelsens teknikk bevirker at man kan oppnå høykvalitets tale (near-toll) med en maksimal datatakt på 8 kb/s og en gjennomsnittlig datatakt i størrelsesorden 3,5 kb/s under normal konversasjon.
Således foreslås i og med oppfinnelsen en fremgangsmåte i henhold til patentkrav
1, nemlig for koding av innkommende tidsintervaller kalt rammer med digitaliserte sampler av et akustisk signal som hovedsakelig består av tale og bakgrunnsstøy, hvilken koding utføres ved forskjellig takt og er innrettet for koding ved hjelp av en CELP-koder, nemlig en koder for lineær kodeaktivert prediktiv koding. Fremgangsmåten går særlig ut på beregning av LPC-koefifsienter for lineær prediktiv koding, for hver ramme i en sekvens innkommende rammer med digitaliserte talesampler, valg for hver ramme av en utgangsdatapakketakt fra et sett datapakketakter og basert på minst én av LPC-koeffisientene, begrensning av det antall bit som representerer disse LPC-koefifsienter, til et forhåndsbestemt antall bit, ut fra den valgte takt, bestemmelse av tonehøydeparametere for hver enkelt av flere tonehøydeunderrammer for tonehøydeanalyse, i et sett slike tonehøyde-underrammer for hver respektive ramme, hvor antallet slike tonehøydeunderrammer i settet, for hver ramme bestemmes av den valgte takt, og hvor tonehøydeparametrene for hver av tonehøydeunderrammene representeres ved et antall bit som også bestemmes av den valgte takt, bestemmelse av kodebokparametere for hver enkelt av flere kodebokunderrammer for kodebokanalyse, i et sett slike kodebokunderrammer for hver respektive ramme, hvor antallet slike kodebokunderrammer i settet, for hver ramme bestemmes av den valgte takt, og hvor kodebokparametrene for hver av kodebokunderrammene representeres ved et antall bit som også bestemmes av den valgte takt, og tilførsel for hver ramme av en
utgangsdatapakke hvis digitalsifre representerer LPC-koefifsientene, og tonehøydepara-metrene og kodebokparametrene for hver enkelt tonehøyde- og kodebokunderramme.
Ytterlige særtrekk ved oppfinnelsens fremgangsmåte fremgår av underkravene 2-3. Videre gjelder oppfinnelsen en koder slik det fremgår av krav 4, med underkravene 5-15.
Siden denne oppfinnelse innebærer at korte pauser i talen blir registrert, vil man ha en redusert effektiv taleaktivitetsfaktor. Taktbestemmelser kan foretas på ramme-til-ramme-basis uten rest eller etterslep slik at datatakten kan senkes i pauser i talen når disse er like korte som rammevarigheten, typisk 20 ms i den foretrukne utførelse. Derfor kan pauser, såsom de som faller mellom de enkelte stavelser i talen, fanges opp. Denne teknikk reduserer taleaktivitetsfaktoren ut over det som tradisjonelt har vært ansett mulig, siden ikke bare lengre pauser mellom talens fraser, men også kortere pauser mellom dens stavelser kan overføres ved lavere overføringshastighet.
Siden taktbestemmelsene utføres på rammebasis vil det ikke bli noen avskjæring av den første del av et ord, slik som i et VAG-system. Bortskjæring av viktige sekvenser først i et ord i et slikt system skjer på grunn av forsinkelser mellom deteksjonen av talen og oppstartingen av utsendelsen av data. Ved å bruke en takt som bestemmes ut fra hvert rammeresultat får man derimot en tale som klinger naturlig ved at samtlige overføringer får naturlig lydkarakter.
I et system hvor vokoderen alltid sørger for signaloverføring av en eller annen art vil talerens bakgrunnsstøy høres hele tiden i mottakerenden, hvorved det fremkommer en mer naturlig bakgrunnslyd også under talepausene. Denne oppfinnelse gir altså en myk overgang fra talen til bakgrunnslyden. Det lytteren hører i bakgrunnen under talen vil ikke plutselig endres til en syntesefrembrakt komfortstøy under pausene slik som i VAG-systemene.
Siden bakgrunnsstøyen kontinuerlig vokodes for overføring, kan også interessante hendelser i bakgrunnen overføres med full klarhet. I enkelte tilfeller kan til og med interes-sant bakgrunnsstøy føres til koding ved høyeste takt, for eksempel når noen snakker høyt i bakgrunnen, eller hvis for eksempel et utrykningskjøretøy kjører forbi en bruker som står på et gatehjørne og fører en samtale. Konstant eller langsomt varierende bakgrunnsstøy vil imidlertid bli overført ved lavere takt.
Bruken av talekoding med variabel takt har den lovnad i seg at man kan øke kapasiteten av telefonsystemer som bygger på den såkalte kodedelte multippelaksess (CDMA) med mer enn faktoren 2,0. CDMA og talekoding med variabel takt passer meget godt til hverandre siden man med CDMA får et automatisk fall i interferensnivået mellom kanaler når datatakten for en vilkårlig kanal reduseres. I kontrast til dette kan man betrakte systemer hvor overføringsrammene er bestemt tilordnet, så som systemene TDMA eller FDMA. For at et slikt system skal kunne unytte fordelen som ligger i et fall i datatakten kreves inngrep utenfra for koordinering av den omfordeling av ubrukte spalter man trenger overfor andre brukere. Den iboende forsinkelse i et slikt skjema impliserer at kanalen bare kan omorganiseres under lange talepauser, og derfor kan man ikke få full utnyttelse av taleaktivitetsfaktoren. Med ekstern koordinering kan man imidlertid utnytte talekoding med variabel takt i andre systemer enn de som hører til kategorien CDMA, på grunn av de andre årsaker som er nevnt.
I et CDMA-system kan talekvaliteten degraderes noe ved tidspunkter hvor man trenger ekstra systemkapasitet. Abstrakt kan dette uttrykkes ved at vokoderen kan betraktes som et sett vokodere i et multippelsystem hvor hver vokoder arbeider med forskjellig takt og med resulterende forskjellig talekvalitet som følge. Talekvalitetene kan således blandes for ytterligere å redusere den gjennomsnittlige takt for dataoverføringen. Eksperimenter har vist at man ved å blande heltakts og halvtakts vokodet tale, dvs. at den maksimalt tillatte datatakt blir variert på ramme-til-ramme-basis mellom 8 og 4 kb/s får den resulterende tale en kvalitet som vil være noe bedre enn en variabel halvtakt og med et maksimum på 4 kb/s, men ikke så god som ved fulltakt, nemlig 8 kb/s ved maksimum.
En telefonsamtale mellom to personer foregår vanligvis slik at bare én person ad gangen fører samtalen. Som en ytterligere funksjon for heldupleks telefonsamband over flere ledd (linksamband) kan man anordne "rate interlock", dvs. gjensidig taktkopling. Dette innebærer at hvis sambandets ene overføringsretning arbeider ved høyeste overføringshastig-het vil overføringen i motsatt retning tvinges til å arbeide ved den laveste. En gjensidig kopling mellom de to sambandsretninger kan ikke garantere mer enn 50 % utnyttelse av hver av sambandets retninger. Når imidlertid kanalen "slås av", hvilket er tilfellet for den gjensidige taktkopling for aktivitetsreguleringen er det ingen måte en lytter kan bryte inn i taleoverføringen på for å overta talerollen i sambandet. Den foreliggende oppfinnelse tilbyr imidlertid muligheten av gjensidig taktkopling ved hjelp av styresignaler som bestemmer vo-kodetakten.
Endelig skal bemerkes at man ved å bruke et skjema for talekoding med variabel takt får den fordel at signalinformasjon kan dele kanalen med informasjon i form av taledata og med et meget redusert tap av talekvalitet. For eksempel kan en høytakts tidsramme deles opp i to deler, halvparten for å sende data med lav takt og halvparten for signaldata. I vokoderen i henhold til den foretrukne utførelsesform har man bare ubetydelig reduksjon i talekvaliteten mellom fulltakts og halvtakts vokodet tale. Av denne grunn vil vokoding av talen ved lavere takt for delt transmisjon med andre data bare føre til en omtrent umerkelig forskjell i talekvalitet på brukersiden.
De enkelte trekk, hensikter og fordeler med den foreliggende oppfinnelse vil fremgå av den nå følgende detaljbeskrivelse som støtter seg til de tilhørende tegninger, idet disse bruker samme henvisningstall for samme eller tilsvarende element og hvor: Fig. la-le i grafisk form viser tidsrammer og såkalte underrammer for forskjellig overføringstakt for vokodeanalyse, fig. 2a-2d viser oversiktsskjemaer for bitfordelingen på vokoderutgangen for forskjellige overføringshastigheter eller datatakter, fig. 3 viser et forenklet blokkdiagram over en typisk koder, fig. 4 viser et flytdiagram for gangen i en slik koder, fig. 5 viser et blokkskjema over en typisk dekoder, fig. 6 viser dekoderens flytdiagram, fig. 7a og b sett i sammenheng viser et mer detaljert funksjonsskjema for koderen, fig. 8 viser et blokkskjema over et subsystem for et såkalt Hamming-vindu og autokorrelasjon, fig. 9 viser et blokkskjema over et typisk subsystem for taktbestemmelse, fig. 10 viser et blokkskjema over et typisk subsystem for LPC-analyse, fig. 11 viser et blokkskjema over et typisk subsystem for transformasjon fra LPC til LSP, fig. 12 viser et blokkskjema over et typisk subsystem for LPC-kvantisering, fig. 13 viser et blokkskjema over et typisk subsystem for kombinert LSP-interpolasjon og transformasjon fra LSP til LPC, fig. 14 viser et blokkskjema over den såkalt adaptive kodebok for tonehøydesøk, fig. 15 viser et blokkskjema over en koder/dekoder, fig. 16 viser et blokkskjema over subsystemet for tonehøydesøk, fig. 17 viser et blokkskjema over subsystemet for kodeboksøking, fig. 18 viser et blokkskjema over subsystemet for det man kan kalle "datapakking", fig. 19 viser et mer detaljert funksjonsskjema over dekoderen, fig. 20a-20d viser skjemaer over de forskjellige mottatte dekoderparametere og underrammenes de-kodedata for forskjellige overføringshastigheter, fig. 21a-21c viser skjemaer over ytterligere mottatte dekoderparametere og underrammedekodedata for spesielle betingelser, fig. 22 viser et blokkskjema over et subsystem for invers LSP-kvantisering, fig. 23 viser et blokkskjema over detaljer for dekoderen med postfiltrering og AGC (automatisk forsterkningsregulering), og fig. 24 viser et diagram over karakteristikken av et filter for adaptiv "lyshet".
I samsvar med oppfinnelsen blir lyder så som tale og/eller bakgrunnsstøy avtastet (samplet) og omgjort til digital form (digitalisert) ved hjelp av allerede kjent teknikk. For eksempel kan det i utgangspunktet analoge lydsignal etter omdannelse til et elektrisk signal konverteres til digitalt format i henhold til standarden 8 bit/mikroinstruksjon (/daw) fulgt av en omvandling fra mikroinstruksjonen og til UC (uniform code). I et alternativ kan analogsignalet direkte omvandles til digital form i et standardisert og uniformt pulskode-modulasjonsformat (PCM-format). Hver sampleverdi i den foretrukne utførelse representeres følgelig av ett 16 bits dataord. Sampleverdiene ordnes i rammer med inngående data, idet hver ramme er bygget opp av et bestemt antall sampleverdier. I en typisk utførelse av oppfinnelsen benyttes 8 kHz samplingstakt. Hver ramme har 160 sampleverdier som tilsvarer 20 ms tale ved den gitte takt på 8 kHz. Det er klart at også andre samplingstakter og rammestørrelser kan komme på tale.
Det tekniske område som gjelder vokoding omfatter mange muligheter for talekoding, og en av disse er den kodeteknikk som går under benevnelsen CELP. En oppsummering av CELP-kodeteknikken er beskrevet i det allerede nevnte litteratursted "A 4.8 kbps Code Excited Linear Predictive Coder". Man bruker også en slags CELP-kodeteknikk for å gi variabel takt for de kodede taledata, idet en LPC-analyse utføres for et konstant antall sampler, og både tonehøyde- og kodeboksøk blir utført for et varierende antall sampleverdier i avhengighet av takten. I det foreliggende konsept brukes CELP-kodeteknikk på den måte som vil bli gjennomgått i forbindelse med fig. 3 og 5.
I den foretrukne utførelse av oppfinnelsen er taleanalyserammene 20 ms lange, hvilket betyr at de uttrukne parametere overføres i pulsfølger 50 ganger pr. sekund. Videre varieres datatakten fra omkring 8 til 4 til 2 kb/s, og til 1 kb/s. Ved full takt (også angitt som rate 1) skjer overføringen ved 8,55 kb/s og med parametrene kodet for hver ramme tilordnet 171 bit, omfattende en kontrollsekvens på 11 bit som gjelder en intern syklisk redundanskontroll (CRC). Når denne sekvens unntas ville takten være 8 kb/s. Ved halv takt (også angitt som rate <l>A) holdes dataoverføringen ved 4 kb/s og med 80 bit for koding av parametrene for hver ramme. Ved kvart takt (også angitt som rate Va) skjer dataoverføringen ved 2 kb/s og med 40 bit anvendt for parameterkoding i hver ramme. Ved 1/8 takt (også angitt som rate 1/8) skjer datatransmisjonen ved noe under 1 kb/s og med 16 bit anvendt for hver rammes parameterkoding.
I fig. 1 vises en typisk analyseramme 10 for taledata og dennes rammes forhold til et såkalt Hamming-vindu 12 kjent fra LPC-analyse (som tidligere nevnt: lineær prediktiv koding). LPC-analysens ramme og underrammer for talesambandets tonehøyde (pitch) og såkalte kodebok for de forskjellige overføringshastigheter er illustrert grafisk på fig. 2a-2d. På figurene har analyserammen for LPC samme størrelse for alle overføringshastigheter.
Vender vi tilbake til fig. la fremgår at LPC-analysen utføres ved å bruke 160 taledatasampler i rammen 10 som oppdeles i vinduer ved hjelp av Hamming-vinduet 12. Det fremgår at samplingsrammen er oppdelt i sampler s(n) som er nummerert fra 0 til 159 innenfor hver ramme. Hamming-vinduet 12 blir plassert slik at det ligger forskjøvet i rammen 10 så mye som 60 sampler. Følgelig starter vinduet 12 ved det 60. sampel, s(59) i den aktuelle dataramme 10 og fortsetter utover i den etterfølgende ramme 14 frem til og med denne sampel s(58), idet dette er den 59. i denne ramme. Dé veide data som frembringes for en bestemt ramme, i dette tilfelle den aktuelle ramme 10 vil følgelig også inneholde data som stammer fra den neste ramme, nemlig rammen 14 i eksempelet.
I avhengighet av dataoverføirngstakten utføres søk for å beregne uttrekkspara-metrene for tonehøydefilteret og kodeboken en rekke ganger for forskjellige underrammer fra datarammen 10 slik det fremgår av fig. lb-le. I den foretrukne utførelse velges bare en bestemt takt for rammen 10 slik at tonehøyde- og kodeboksøket utføres i underrammen med forskjellig størrelse tilsvarende den bestemte takt, slik det fremgår av beskrivelsen nedenfor. For å illustrere dette bedre i fig. lb-le er oppbyggingen av underrammene for disse søk vist for de forskjellige tillatte takter i henhold til den foretrukne utførelse for rammen 10.
Ved samtlige takter eller overføringshastigheter foreligger en enkelt LPC-beregning pr. ramme 10 slik det fremgår av fig. la. Fig. 1 viser situasjonen ved full takt, idet det er to kodebokunderrammer 18 for hver tonehøydeunderramme 16. Ved full takt er det altså fire oppdateringer av tonehøyden, én for hver av underrammene 16, hver 40 sampler lang (5 ms). Videre oppdateres kodeboken åtte ganger ved full takt, én gang for hver av de åtte underrammer 18, og hver er 20 sampler lang (2,5 ms). Ved halv takt slik det fremgår av fig. lc har man to kodebokunderrammer 22 for hver tonehøydeunderramme 20, tonehøyden oppdateres to ganger, én for hver av de to underrammer, mens kodeboken oppdateres fire ganger, én for hver av de fire kodebokunderrammer 22. Ved kvart takt slik det er vist på fig. Id har man to kodebokunderrammer 26 for hver tonehøydeunderramme 20. Tonehøyden oppdateres én gang for underrammen 24, mens kodeboken oppdateres to ganger, én for hver av dennes to underrammer 26. Som vist på fig. le bestemmes ikke tonehøyden ved 1/8 takt, og kodeboken oppdateres bare én gang i underrammen 28 som i dette tilfelle blir en full ramme og tilsvarer rammen 10. Selv om LPC-koeffisientene beregnes bare én gang pr. ramme kan de også interpoleres lineært i LSP-representasjon (linjespektralpar), opp til fire ganger ved å bruke de resulterende LSP-frekvenser fra den tidligere ramme for tilnærmet å sammenholde resultatet av LPC-analysen med Hamming-vinduet som er sentrert i hver underramme. Unntaket er at ved full takt blir ikke LPC-koeffisientene interpolert for kodebokunderrammene. Flere detaljer ved LSP-frekvensberegningen vil gjennomgås senere.
I tillegg til å utføre tonehøyde- og kodeboksøk sjeldnere ved lavere takt, allokeres også færre bit for overføringen av LPC-koeffisientene. Det allokerte antall ved de forskjellige takter eller rater er vist på fig. 2a-2d. Hver av figurene viser antallet vokoderkodede databit som allokeres til hvert av de 160 sampler i talerammen. Antallet i hver av LPC-blokkene øverst i hvert av figurenes diagram er antall bit brukt ved den aktuelle takt for å kode korttids LPC-koeffisientene. I den foretrukne utførelse er antall bit brukt for å kode LPC-koeffisientene ved full, halv, kvart og 1/8 takt hhv. 40,20,10 og 10.
For å implementere koding med variabel takt transformeres først LPC-verdiene til LSP-verdier som på sin side enkeltvis kodet i kodere som utfører en differensiell pulskodemodulasjon (DPCM). LPC-ordenen er 10 slik at det vil foreligge ti LSP-frekvenser og ti uavhengige DPCM-kodere. Bitallokeringen for DPCM-kodeme er i henhold til tabell I:
Både i koderen og dekoderen omdannes LSP-frekvensene til filterkoeffisienter før bruken i søkene. I det første av disse søk, beregnes tonehøydeoppdateringen ved full takt slik som illustrert på fig. 2a fire ganger, én gang for hver kvadrant i talerammen. For hver oppdatering av tonehøyden ved full takt brukes 10 bit for å kode de nye tonehøydepara-metere. Tonehøyden oppdateres et forskjellig antall ganger for de øvrige taktforhold slik som vist på fig. 2b-2d. Etter hvert som takten reduseres reduseres også tone-høydeoppdateringen. Fig. 2b illustrerer tonehøydeoppdateringen for halv takt, idet dette altså skjer to ganger, én gang for hver halvdel av talerammen. Tilsvarende viser fig. 2c at tone-høyden oppdateres én gang for hver ramme ved kvart takt. På samme måte som for full takt brukes 10 bit for å kode de nye tonehøydeparametere for både halv takt og kvart takt ved tonehøydeoppdateringen. For åttedels takt slik det er vist på fig. 2d beregnes imidlertid ingen tonehøydeoppdatering siden denne takt brukes for å kode rammer når det er lite eller ingen tale i kanalen og det ikke foreligger noen tonehøyderedundans.
For hver av de 10 bit som medgår til tonehøydeoppdateringen representerer 7 bit senket tonehøyde og 3 bit hevet. Senkningen begrenses til å ligge mellom 17 og 143, mens hevingen kvantiseres lineært til mellom 0 og 2 ved å anvende de tre tilgjengelige bit.
Når det gjelder kodeboksøket vises ved full takt på fig. 2a at oppdateringen utføres åtte ganger, én gang for hver av talerammens åttedeler. Hver gang kodeboken oppdateres ved full takt brukes 10 bit for koding av nye parametere, og oppdateringen utføres et forskjellig antall ganger i de øvrige takter som er angitt på fig. 2b-2d. Etter hvert som takten reduseres blir også kodebokoppdateringen redusert tilsvarende, idet fig. 2b illustrerer kodebokoppdateringen for halv takt, nemlig fire ganger, én gang for hver av talerammens firedeler eller kvadranter. Fig. 2c viser at kodebokoppdateringen for kvart takt utføres to ganger, én for hver halvdel av talerammen, og på samme måte som for full takt brukes 10 bit for koding av de nye kodebokparametere. Endelig viser fig. 2d kodebokoppdateringen for åttedels takt, idet oppdateringen skjer hver hele taleramme. Det skal bemerkes at 6 bit brukes, hvorav 2 representerer kodebokvihning eller -supplement, mens de øvrige 4 bit er tilfeldige. Videre utredning av bitallokeringen for kodebokoppdateringen vil bli beskrevet nedenfor.
De bit som allokeres for kodeboken og dennes oppdatering angir de som trengs for vektorkvantisering av den gjenværende del etter tonehøydeprediksjonen (residualverdien). For hel, halv og kvart takt består kodebokoppdateringen av 7 bit som gjelder det man kan kalle kodebokindeksen, og de 3 resterende bit gjelder vinningen, ut fra de totale 10 bit. Vinningen kodes ved hjelp av DPCM (differensiell pulskodemodulasjon) ved hjelp av en koder som arbeider i logaritmisk modus eller domene. Selv om en tilsvarende bitkonfigurasjon kan brukes for åttedels takt foretrekkes et alternativt skjema hvor kodebokvinningen angis med 2 bit, mens 4 tilfeldig frembrakte bit brukes sammen med de mottatte data som en "kime" for en PRN-generator som erstatter kodeboken, idet det med forkortelsen PRN angis at generatoren frembringer tilnærmet tilfeldige tall (pseudorandom numbers).
Idet det vises til det kodeblokkdiagram som fremgår av fig. 3 skal nevnes at LPC-analysen utføres i åpen sløyfe. Fra hver ramme med innkommende talesampler s(n) beregnes LPC-koefifsientene ( oti- alQ) i en krets 50 for LPC-analyse/kvantisering for bruk i et etterfølgende formantsyntesefilter 60.
Beregningen i tonehøydesøket utføres imidlertid i lukket sløyfe, og denne operasjon kalles ofte metoden foT analyse ved syntese. Ifølge oppfinnelsen brukes en videreføring med en "hybridteknikk" med en kombinasjon av lukket og åpen sløyfe. Kodingen for tone-høydesøket utføres ved å velge parametere som reduserer middelkvadratawiket mellom den innkommende tale og den syntesefrembrakte. For enkelhets skyld under denne forklaring tas ikke takten eller overføringshastigheten med i betraktningen. I den senere del av beskrivelsen blir dette imidlertid belyst i nærmere detalj.
I den oppstilling som er vist på fig. 3 benyttes et persepsjonsveiefilter 52 som har følgende overføringsfunksjon: angir formantprediksjonsfiltreringen, mens fl er en perseptiwektparameter som i eksempelet er 0,8.Oppstillingen omfatter et tonehøydesyntesefilter 58 vist i sentrum og med følgende overføringsfunksj on:
Oppstillingens formantsyntesefilter 60 er også et veiefilter, slik det fremgår av beskrivelsen nedenfor, og dette filteret har overføringsfunksjonen:
De innkommende talesampler s(n) veies i filteret 52 slik at de veide talesampler x(n) summeres i den viste summeringskrets 62. Perseptiweining brukes for å tillegge avviket eller feilen ved frekvenser hvor det er mindre signaleffekt enn annen vekt. Det er ved slike frekvenser at støyen gjør seg mest gjeldende hos mottakeren. De syntetiserte talesampler x'(n) føres fra syntesefilteret 60 for formantene til en subtraksjonsinngang på summeringskretsen 62 slik at de blir trukket fra samplene x(n). Forskjellen i sampelutgang fra kretsen 62 føres til en middelkvadratawikskrets 64 (kretsen MSE) for kvadrering og summering. Utgangen fra MSE-kretsen 64 går til en minimaliseirngskrets 66 som frembringer verdier for tonehøydesenkning L, heving b, kodebokindeks I og -vinning.
I kretsen 66 sørges for at alle positive verdier for L, tonehøydesenkningspara-meteren i funksjonen P(z), føres til syntesefilteret 58 sammen med verdien c(n) fra et multiplikatortrinn 56. Under tonehøydesøket kommer det ikke noe bidrag fra kodeboken, dvs. c(n) = 0. Verdiene av L og b som reduserer det veide avvik mellom den innkommende tale og den syntetiserte blir valgt av kretsen 66, mens tonehøydesyntesefilteret 58 frembringer og fører ut den verdi p(n) som skal til for syntesefilteret 60. Når først verdiene L og b for tonehøydefilteret er funnet utføres kodeboksøket på tilsvarende måte.
Det bør være klart at fig. 3 bare viser et skjematisk og tenkt tilfelle av oppfinnelsens løsning for analyse ved syntese. I et konkret eksempel brukes ikke filtrene i den typiske tilbakekopling med lukket sløyfe, men tilbakekoplingen brytes under søket og erstattes med en formantresidualkopling med åpen sløyfe, slik det vil bli forklart senere. Minimaliseirngskretsen 66 frembringer verdier for kodebokindeksen I og -vinningen G. Utgangsverdiene fra oppstillingens kodebok 54 (feilaktig som angitt som 58 i originaltegningene), valgt fra en rekke tilfeldig fordelte Gauss-vektorverdier i henhold til kodebokindeksen I multipliseres i multiplikatoren 56 med kodebokvinningen G for å frembringe den sekvens av verdier c(n) som brukes i tonehøydesyntesefilteret 58. For over-føringen velges den kodebokindeks I og den vinning G som reduserer middelkvadratawiket.
Man skal videre merke seg at perseptiweining W(z) utføres for både den innkommende tale (ved hjelp av filteret 52) og den syntetiserte tale (med den veiefunksjon som utføres av formantsynteserilteret 60. Sistnevnte er derfor i virkeligheten et syntesefilter for formantveining og som kombinerer veiefunksjonen i henhold til ligning 1 med den typiske filterkarakteristikk for formantprediksjonsfiltreringen 1/A(z), hvilket som resultat fører til ligning 3 og dennes veide formantsyntesefunksjon.
Man kan alternativt legge filteret 52 mellom summeringskretsen 62 og MSE-kretsen 64, og i et slikt tilfelle vil formantsynteserilteret 60 ha den normale filteroverføirngsfunksjon 1/A(z).
Fig. 4 viser et flytdiagram over de trinn som inngår i kodingen av tale ved hjelp av koderen vist på fig. 3. For å lette forståelsen er de trinn som involverer taktbestemmelsen også innbefattet i flytdiagrammet på fig. 4. De digitaliserte talesampler frembringes i blokk 80 fra samplingskretsene, og i den etterfølgende blokk 82 beregnes LPC-koefifsientene. Hamming-vindu- og autokorrelasjonsteknikk benyttes blant annet under denne beregning. Deretter utføres en første taktbestemmelse i blokk 84 på den aktuelle ramme, ut fra rammeenergien i den foretrukne utførelse.
For å kunne utføre effektiv koding av LPC-koefifsientene ved hjelp av et relativt lite antall bit transformeres de til LSP-frekvenser i blokk 86 og kvantiseres deretter i blokk 88 for overføring. Som et tilleggsvalg er satt opp en blokk 90 for en ytterligere taktbestemmelse og med en økning av takten hvis kvantiseringen av LSP-frekvenser for den opprinnelig bestemte takt viser seg eller bedømmes å være utilstrekkelig (blokk 92).
For den første tonehøydeunderramme i talerammen som analyseres interpoleres LSP-frekvensene og transformeres til LSP-koefifsienter i blokk 94 for bruk under utførelse av tonehøydesøket. I dette settes kodebokeksiteringen til null og i selve søket (blokk 96 og 98) som i realiteten er en analyse ved syntese slik som tidligere nevnt sammenlignes den syntetiserte tale for hver mulig tonehøydesenkning L med den opprinnelige tale. For hver av verdiene L (heltallsverdier) bestemmes den optimale tonehøydeheving b. Ut fra de oppnådde sett med samhørende L- og b-verdier gir det optimale sett den minste oppfattede middelkvadratfeil mellom den syntetiserte tale og den opprinnelige. Den således bestemte optimale kombinasjon av L og b for den aktuelle tonehøydeunderramme kvantiseres verdien b i blokk 100 for overføring sammen med den tilhørende L-verdi. 1 en alternativ utførelse av tonehøydesøket kan verdiene b være kvantiserte verdier, idet en del av tonehøydesøket med nettopp disse verdier blir brukt i løpet av søkingen. Således behøver man ikke ha noen kvantisering av de valgte b-verdier etter at søkingen i blokk 100 er utført.
For den første kodebokunderramme av talerammen under analyse blir LSP-frekvensene interpolert og transformert til LPC-koefifsienter i blokk 102 for anvendelse ved ut-førelsen av kodeboksøket. I eksempelet interpoleres imidlertid ved full takt bare LSP-frekvensene ned til nivået for tonehøydeunderrammen, og denne interpolasjon og transformasjon utføres for søket i tillegg til tilsvarende for tonehøydesøket ut fra en forskjell i størrelse for underrammene for hver av taktene, med unntak av åttedelstakten hvor resultatet er vilkårlig eller irrelevant siden ingen tonehøydedata beregnes. Under kodeboksøket, blokk 104 og 106 brukes verdiene L og b i tonehøydesyntesefiltreringen slik at den syntesefrembrakte tale for hver mulig kodebokindeks I sammenlignes med den opprinnelige tale. For hver verdi av I, en heltallsverdi, bestemmes den optimale kodebokvinning G. Av de sett av I- og G-verdier som fremkommer vil det optimale sett være det som gir minimalt avvik mellom den opprinnelige tale og den syntetiserte. Verdien G kvantiseres i blokk 108 for det bestemte optimale sett av I og G for den bestemte kodebokunderramme, for overføring sammen med den tilhørende I-verdi. På tilsvarende måte som gjennomgått ovenfor kan alternativt verdiene av G kvantiseres som en del av kodeboksøket, idet disse kvantiserte verdier inngår. I den alternative utførelse vil det ikke være behov for kvantisering av den valgte G-verdi etter at søket i blokk 108 er utført.
Deretter gjennomkjøres en dekoder innbefattet i koderen med de optimale verdier for I, G, L og b. Denne prosess rekonstruerer koderens filterlager for bruk i senere underrammer.
Deretter utføres en kontroll (blokk 110) for å bestemme om kodebokunderrammen som analysen nettopp ble utført i var den siste underramrne i settet og tilsvarende tonehøyde-underrammen som tonehøydesøket ble utført for. Med andre ord utføres en bestemmelse av om det foreligger flere kodebokunderrammer som tilsvarer tonehøydeunderrammen. I eksempelet er det bare to kodebokunderrammer pr. tonehøydeunderramme og hvis det blir bestemt at det skulle være en annen kodebokunderramme som tilsvarer tonehøydeunder-rammen kommer trinn 102-108 til å gjentas for denne kodebokunderramme.
Hvis det imidlertid ikke foreligger noen flere kodebokunderrammer som tilsvarer tonehøyderammen utføres en kontroll (blokk 112) for å bestemme om det foreligger noen andre tonehøydeunderrammer innenfor den taleramme som er under analyse. Hvis så er tilfelle gjentas trinn 94-110 for hver tonehøydeunderramme og tilsvarende kodebokunderrammer. Når samtlige beregninger for den aktuelle taleramme under analyse er utført sammenholdes eller "pakkes" de verdier som angir LPC-koeffisientene for talerammen, tonehøydesenkningen L og -hevingen for hver tonehøydeunderramme, og kodebokindeksen I og -vinningen G for hver kodebokunderramme, denne samling av verdier gjøres ved dette klar for overføring, hvilket er indikert i blokk 114 i diagrammet.
Det vises nå til fig. 5 som illustrerer oppbyggingen av en dekoder hvor de mottatte verdier for LPC-koeffisientene (o;-verdier), tonehøydesenkninger og -hevinger (L og b) og kodebokindekser og -vinninger (I og G) brukes for å syntetisere talen. Fig. 5 viser som fig. 3 at taktinformasjonen ikke tas hensyn til for å gjøre beskrivelsen enklere. Datataktinforma-sjonen kan i stedet sendes som side- eller tilleggsinformasjon og i enkelte tilfeller utledes i kanaldemodulasjonstrinnet.
Dekoderen består av en kodebok 130 som tilføres kodebokindekser ved mottakingen, eller for åttedels takt, den tilfeldige "seed". Utgangen fra kodeboken 130 føres til inngangen av en multiplikator 132 hvis andre inngang mottar kodebokvinningen G. Multiplikatorens utgang 132 viderefører verdiene L og b til det etterfølgende tone-høydesyntesefilter 134 hvis utgang føres sammen med LPC-koeffisientene Qj til et formantsyntesefilter 136. Dettes utgang fører til et adaptivt postfilter 138 hvor den rekonstruerte tale føres ut i filtrert form. Som gjennomgått senere er en versjon av dekoderen implementert i koderen og innbefatter intet adaptivt postfilter 138, men i stedet et perseptiweiefilter.
Fig. 6 viser et flytdiagram for gangen gjennom dekoderen vist på fig. 5.1 dekoderen rekonstrueres tale fra de mottatte parametere (blokk 150). Særlig føres den mottatte verdi av kodebokindeksen til inngangen av kodeboken som på sin side frembringer en kodevektor eller en kodebokutgangsverdi i blokk 152. Multiplikatoren mottar kodevektoren sammen med den mottatte verdi G og multipliserer disse verdier i blokk 154 med det resulterende signal som er ført til tonehøydesyntesefilteret. Det skal bemerkes at kodebokvinningen G rekonstrueres ved dekoding og invers kvantisering av de mottatte DPCM-parametere. Tonehøydesyntesefilteret tilføres de mottatte verdier L og b sammen med multipli-katorutgangssignalet for å filtrere multiplikatorutgangen (blokk 156). De verdier som fremkommer ved filtreringen av kodebokvektoren av tonehøydesyntesefilteret føres til inngangen av formantsyntesefilteret. Til dette føres også LPC-koeffisientene 04 for bruk ved filtreringen av tonehøydesyntesefilterets utgangssignal (blokk 158). LPC-koefifsientene rekonstrueres i dekoderen for interpolasjon ved dekoding av de mottatte DPCM-parametere til kvantiserte LSP-frekvenser ved invers kvantisering av disse og transformasjon av dem til LPC-koefifsientene 04. Utgangen fra formantsyntesefilteret føres til det adaptive postfilter hvor kvantiseirngsstøyen maskeres, og den rekonstruerte tale kontrolleres deretter med hensyn til vinning eller forsterkning i blokk 160. Den rekonstruerte tale føres ut (blokk 162) for omvandling til analog form.
Det vises nå til blokkdiagrarnmet på fig. 7a og 7b, og ytterligere detaljer som har med talekodeteknikken i henhold til oppfinnelsen skal gjennomgås. På fig. 7a føres hver ramme av digitaliserte talesampler til et Hamming-vindusubsystem 200 hvor den innkommende tale avgrenses for beregningen av autokorrelasjonskoeffisientene i det etterfølgende autokorrelasjonssubsystem 202.
Hamming-vindusubsystemet 200 og autokorrelasjonssubsystemet 202 er illustrert i form av et eksempel på fig. 8. Det første subsystem 200 består av en oppslagstabell 250, typisk i form av en 80x16 bit ROM og en multiplikator 252. For hver takt sentreres talevinduet mellom den 139. og den 140. sampel i hver analyseramme som er totalt 160 sampler lang. Vinduet for å beregne autokorrelasjonskoeffisientene blir således forskjøvet fra analyserammen med i alt 60 sampler. Vindusavgrensning utføres ved hjelp av en ROM-tabell som inneholder 80 av de 160 WH(n)-verdier siden Hamming-vinduet er symmetrisk i forhold til sentrum. Forskyvningen av Hamming-vinduet utføres ved å skjevstille adressepekeren i ROM så mye som 60 posisjoner i forhold til den første sampel i analyserammen. Disse verdier multipliseres i enkeltpresisjonsmodus med de tilsvarende innkommende talesampler i multiplikatoren 252. Lar vi s(n) være inngangstalesignalet i analysevinduet vil de vindusavgrensede talesignal sw(n) defineres som:
Typiske verdier angitt i heksadesimal notering av innholdet i oppslagstabellen 250 fremgår av tabell II nedenfor. Verdiene kan tolkes som 2 sitt komplementære tall med 14 fraksjonsbit og med tabellen lest fra venstre mot høyre øverst og nedover:
Subsystemet 202 består av et register 254, en multipleksenhet 256, et skiftregister 258, en multiplikator 260, en summekrets 262, et sirkulært skiftregister 264 og en buffer 266. De vindusavgrensede talesampler sw(n) beregnes hvert 20. ms og holdekoples til registeret 254. Ved samplet sw(0) tilbakestilles det første sampel i en LPC-analyseramme, skiftregistrene 258 og 264 til 0, Ved hvert nytt sampel sw(n) mottar multipleksenheten 256 et nytt sampelvalgsignal som tillater at samplet kan føres fra registeret 254. Det nye sampel sw(n) føres altså til multiplikatoren 260 og multipliseres av samplet s^n-lO) som ligger i den siste posisjon SR10 i skiftregisteret 258. Den resulterende verdi adderes i summeringskretsen 262 med verdien i siste posisjon CSR11 i det sirkulære skiftregister 264.
Skiftregistrene 258 og 260 erstatter ved én klokketakt s^n-l) med Sw(n) i den første posisjon SRI i skiftregisteret 258 og erstatter den tidligere verdi i posisjon CSR10. Ved taktpåtrykk (klokking) til skiftregisteret 258 føres det nye sampelvalgsignal fra inngangen og til multipleksenheten 256 slik at samplet sw(n-9) som til da har hatt posisjon SR 10 i skiftregisteret 260 tillates å overføres til multipleksenheten 256.1 det sirkulære skiftregister 264 forskyves den verdi som tidligere var i posisjon CSR11 til den første posisjon CSR1. Med det nye sampelvalgsignal tatt ut fra multipleksenheten frembringer skiftregisteret 258 en sirkulær forskyvning av sine data på tilsvarende måte som det som foregår i det sirkulære skiftregister 264.
Både skiftregisteret 258 og registeret 264 klokkes 11 ganger totalt for hvert sampel slik at det utføres 11 operasjoner multiplikasjon/akkumulering. Etter klokking av 160 sampler blir autokorrelasjonen som inneholdes i det sirkulære skiftregister 264 klokket inn i bufferen 266 som verdiene R(0) - R(10). Samtlige skiftregistere nullstilles og prosessen gjentas for neste ramme med vindusavgrensede sampler.
Det vises igjen til fig. 7a for forståelse av at når autokorrelasjonskoeffisientene er beregnet for den aktuelle taleramme blir de fremkomne data brukt i et taktbestemmelses-subsystem 204 og et LPC-analysesubsystem 206 for henholdsvis beregning av en rammes datatakt og dens LPC-koefifsienter. Siden disse operasjoner er innbyrdes uavhengige kan de beregnes i vilkårlig rekkefølge og dessuten samtidig. Av hensyn til gangen i beskrivelsen vil taktbestemmelsen først gjennomgås: Taktbestemmelsessubsystemet 204 har to funksjoner: (1) å bestemme takten av den aktuelle ramme, og (2) å beregne et nytt estimat for bakgrunnsstøynivået. Rammetakten bestemmes i utgangspunktet ut fra rammens energi, det tidligere oppsatte estimat for bak-grunnsstøynivået, den tidligere takt og taktkommandoen fra en overvåkende og styrende mikroprosessor. Det nye bakgrunnsstøynivå estimeres ved å gjøre bruk av det tidligere estimat og den aktuelle rammeenergi.
Denne oppfinnelse bruker en adaptiv terskelteknikk for taktbestemmelsen. Siden bakgrunnsstøyen endrer seg vil også de terskler som benyttes for å velge takten endre seg. I det eksempel som her brukes vil tre terskler beregnes for å bestemme et forhåndstaktvalg RTp. Tersklene er kvadratfunksjoner av de tidligere bakgrunnsstøyestimater og er vist nedenfor:
hvor B er det tidligere estimat for bakgrunnsstøyen.
Rammeenergien sammenlignes med de tre terskler T1(B), T2(B) og T3(B). Hvis den er under samtlige tre terskler velges den laveste overføringstakt eller -hastighet (1 kb/s), dvs. åttedels rate, hvor RTP = 4. Hvis rammeenergien ligger under to av tersklene velges den andre takt (2 kb/s), kvart rate, idet RTP = 3. Hvis derimot rammeenergien bare er under én av tersklene velges den tredje takt (4 kb/s), halv rate, idet RTP = 2. Hvis endelig rammeenergien ligger over samtlige terskler vil den høyeste takt eller overføringshastighet velges (8 kb/s), dvs. hel takt og RTP = 1.
Den forhåndsestimerte takt RTP kan deretter modifiseres ut fra den tidligere rammes endelige takt RTr. Hvis RTp < (RTr -1) settes opp en mellomtakt RTm hvor: RTm< (RTr -1). Denne modifiserte prosess bevirker at takten langsomt reduseres når det finner sted en overgang fra et høyenergisignal og til et lavenergisignal. Skulle imidlertid det første taktvalg være det samme eller større enn den tidligere takt minus én (RTr -1), settes RTm = RTP. I denne situasjon må takten umiddelbart økes når det finner sted en overgang fra et lavenergisignal og til et høyenergisignal.
Endelig modifiseres mellomtakten RTm i tilfelle mikroprosessoren sender ut taktgrensesignaler. Hvis takten RTm er større enn den høyeste takt som tillates av mikroprosessoren vil en første takt RTj nettopp settes til denne verdi. Tilsvarende vil RTj settes til den lavest tillatte verdi hvis mellomtakten RTm er mindre enn den laveste takt som tillates av mikroprosessoren.
I enkelte tilfeller kan det være ønskelig å kode all tale ved en takt som bestemmes av mikroprosessoren. Taktgrensesignalene kan i så fall brukes for å bestemme rammetakten til å være lik den ønskede takt ved å sette både den maksimale og den minimale tillatte takt til den ønskede. Taktgrensesignalene kan brukes for spesielle taktreguleringssituasjoner såsom taktmellomlåsing, såkalt dim- og burst-transmisjon, idet disse benevnelser skal forklares nærmere senere.
Fig. 9 viser et eksempel på algoritmen for taktbestemmelse. Det hele startes ved at et register 270 innleses med verdien 1 som så føres til en summeringskrets 272. De viste sirkulære skiftregistere 274, 276 og 278 tilføres hhv. den første, andre og tredje koeffisient i de kvadratiske terskelligninger (7)-(9). For eksempel vil den siste, den midtre og den første posisjon i det sirkulære skiftregister 274 få innlest den første koeffisient i ligningene som Tl, T2 og T3 beregnes ved hjelp av. Tilsvarende leses de andre koeffisienter i ligningene som disse verdier beregnes fra inn i den siste, midtre, hhv. første posisjon i det sirkulære skiftregister 276. Endelig leses konstantleddet i ligningene som verdiene beregnes ut fra inn i hhv. den siste, midtre og første posisjon i det sirkulære skiftregister 278. 1 hvert av de sirkulære skiftregistere 274, 276 og 278 føres verdien ut fra den siste posisjon.
Ved beregning av den første terskel Tl kvadreres det tidligere bakgrunnsstøyestimat B i rammen ved å multiplisere verdien med seg selv i multiplikatoren 280. Den resulterende B<2->verdi multipliseres med den første koeffisient minus 5,544613-IO"<6> som er resultatet fra siste posisjon i det sirkulære skiftregister 274. Denne resulterende verdi summeres i summeringskretsen 286 med produktet av bakgrunnsstøyen B og den andre koeffisient 4,047152 fra den siste posisjon i det sirkulære skiftregister 276, fra multiplikatoren 284. Utgangsverdien fra summeringskretsen 286 summeres deretter i en summeringskrets 288 med et konstant ledd 363,1293 som kommer ut fra den siste posisjon i det sirkulære skiftregister 278. Utgangen fra summeringskretsen 288 er derved den beregnede verdi av terskelen Tl.
Denne beregnede verdi av Tl fra summeringskretsen 289 trekkes fra i summeringskretsen 288 fra rammeenergiverdien Ef som i eksempelet er verdien R(0) i det lineære område ut fra autokorrelasjonssubsystemet.
I en alternativ utførelse kan også rammeenergien Ef representeres i et logaritmisk domene eller plan og uttrykkes i desibel (dB) under tilnærmelse til logaritmen av den første autokorrelasjonskoeffisient R(0) normalisert med den effektive vinduslengde:
hvor La er autokorrelasjonsvinduslengden. Det er videre klart at taleaktivitet også kan måles ved hjelp av forskjellige andre parametere, innbefattet tonehøydeprediksjonsøkning eller
-vinning eller formantprediksjonsøkning Ga:
hvor E<C1>°<*> er den residuelle prediksjonsenergi etter den tiende iterasjon, mens E(<0>) er den tilsvarende energi for den innledende LPC, som beskrevet senere i LPC-analysen, hvilket tilsvarer R(0).
Fra utgangen av summeringskretsen 290 trekkes komplementet av fortegnbiten i det resulterende totalis komplementære forskjell i en komparator eller begrenser 292 og føres til summeringskretsen 272 hvor verdien summeres med utgangen fra registeret 270. Hvis således forskjellen mellom R(0) og Tl er positiv inkrementeres registeret 270 med én. Hvis forskjellen derimot er negativ holdes registeirnnholdet uforandret.
De sirkulære registere 274, 276 og 278 omorganiserer deretter sitt innhold i en syklus slik at koeffisientene i ligningen for T2, ligning (8) kommer frem på utgangen. Prosessen med å beregne terskelverdien T2 og sammenligning av denne med rammeenergien gjentas slik det ble gjennomgått i forbindelse med prosessen for terskelverdien Tl. De sirkulære registere 274, 276 og 278 omorganiseres på ny slik at koeffisientene i ligningen for T3, ligning (9) kommer på utgangen. Sammenligningen for terskelverdien T3 og sammenligningen med rammeenergien skjer som beskrevet ovenfor. Etter komplettering av samtlige tre terskelberegninger og -sammenligninger kommer registeret 270 til å inneholde det opprinnelige taktestimat RTi. Det foreløpige tilsvarende estimat RTp (idet p står for preliminary) føres til en logisk krets som utfører taktreduksjon (ramp down logic), og denne krets 294 mottar også den tidligere endelige rammetakt RTr fra subsystemet for LSP-frekvenskvantisering, lagret i registeret 298. Den logiske krets 296 beregner verdien (RTr -1) og gir som en utgang den største av RTP eller (RTr -1). Verdien RTm føres til den logiske krets 296.
Som nevnt tidligere gir mikroprosessoren taktbegrensningssignaler til vokoderen, særlig til den logiske krets 296.1 et digitalt signalprosessorimplement mottas kommandosig-nalene i kretsen 296 før avslutningen av LPC-analysedelen av kodeprosessen. Den logiske krets 296 sørger for at takten ikke overskrider grenseverdiene som er fastlagt og modifiserer verdien RTm i tilfelle den skulle overskride grensene. Hvis derimot verdien ligger innenfor de tillatte grenser vil utgangen fra den logiske krets 296 angi denne verdi som verdien RT, og overføres til subsystemet 210 vist på fig. 7a, for LSP-kvantiseringen.
Bakgrunnsstøyestimatet som brukes, som nevnt tidligere, for beregning av adaptivtakttersklene. For den aktuelle ramme brukes det tidligere rammebakgrunns-støyestimat B ved oppstilling av takttersklene for den aktuelle ramme, men for hver ramme oppdateres estimatet for bruk ved bestemmelse av takttersklene for den neste ramme. Den nye verdi av bakgrunnsstøyestimatet B' bestemmes i den aktuelle ramme ut fra den tidligere verdi for estimatet B og den aktuelle rammeenergi Ef, også nevnt tidligere.
For å bestemme det nye estimat B<*> for bruk under den neste ramme (på samme måte som bestemmelsen av estimatet B) utføres beregninger av to verdier, nemlig den første verdi Vi som rett og slett er den aktuelle rammeenergi Ef, og en andre verdi V2 som er den største av B+l eller KB, hvor K=l,00547. For å hindre at den andre verdi blir for stor ligger det en restriksjon på den, nemlig at den må ligge under en stor konstant M=l60.000. Den minste av de to verdier V[ eller V2 velges som det nye bakgrunnsstøyestimat B'.
Matematisk kan dette uttrykkes på følgende måte:
og det nye bakgrunnsstøyestimat B' blir derfor:
hvor min (x,y) er minimalverdien av x og y, og maks (x,y) er maksimum av x og y.
Fig. 9 viser ytterligere en utførelse av algoritmen for bakgrunnsstøyestimeringen. Den første verdi V{ er rett og slett den aktuelle rammeenergi Ef direkte til inngangen av multipleksenheten 300.
Den andre verdi V2 beregnes ut fra verdiene KB og B+l som først beregnes. Ved beregningen av disse verdier føres tidligere estimat B i registeret 302 til summeringskretsen 304 og multiplikatoren 306. Estimatverdien B lagret i registeret 302 for bruk i den aktuelle ramme er altså den samme verdi som det nyte estimat B<1> beregnet for den foregående ramme. Summeringskretsen 304 tilføres også en inngangsverdi på 1 for summering med verdien B slik at det frembringes en verdi B+l. Multiplikatoren 306 tilføres også en inngangsverdi for K for multiplikasjon med B slik at man oppnår KB. Verdiene B+l og KB føres henholdsvis ut fra summeringskretsen 304 og multiplikatoren 306 for å tilføres separate innganger på både multipleksenheten 308 og summeringskretsen 310.
Summeringskretsen 310 og komparatoren eller begrenseren 312 brukes for valg av den største av verdiene B+l eller KB. Summeringskretsen 310 trekker verdien B+l fra KB og gir den resulterende verdi videre til kretsen 312 som tilveiebringer et styresignal til multipleksenheten 308 for å velge en utgang fra denne som er den største av verdiene B+l og KB. Den valgte største verdi fra multipleksenheten 308 føres til begrenseren 314 som er av metningstypen og gir enten den valgte verdi hvis denne verdi ligger lavere enn den konstante verdi M, eller verdien M hvis denne overskrides. Utgangen fra begrenseren 314 føres til den andre inngang på multipleksenheten 300 og som en inngang til summeringskretsen 316.
Summeringskretsen 316 mottar på sin andre inngang rammeenergiverdien Ef, og den, sammen med komparatoren eller begrenseren 318 brukes for å velge den minste av verdien Ef og utgangen fra begrenseren 314. Summeringskretsen 316 trekker rammeenergiverdien fra utgangsverdien fra begrenseren 314 og overfører den resulterende verdi til kretsen 318 som gir et styresignal til multipleksenheten 300 for å velge ut den minste av verdiene Ef og utgangen fra begrenseren 314. Den valgte verdi fra multipleksenheten 300 føres som det nye bakgrunnsstøyestimat B' til registeret 302 hvor verdien lagres for bruk under den neste ramme slik som det tidligere bakgrunnsstøyestimat B i den foregående ramme.
Det vises nå til fig. 7 igjen hvor hver at autokorrelasjonskoeffisientene R(0) - R(10) føres ut fra autokorrelasjonssubsystemet 202 til LPC-analysesubsystemet 206. LPC-koeffisientene blir beregnet i subsystemet 206 i både perseptiweiefilteret 52 og formantsyntesefilteret 60.
Koeffisientene kan fremkomme som følge av den autokorrelasjonsmetode som bruker Durbins rekursjon og slik det er beskrevet i: Digital Processing of Speech Signals, Rabiner & Schafer, Prentice-Hall, Inc., 1978. Denne teknikk er en virkningsfull beregningsmetode for å komme frem til LPC-koefifsientene, og algoritmen kan settes opp i ligningssettet som følger:
De ti LPC-koefifsienter merkes cij(10), for alle heltall j mellom 1 og 10.
Før kodingen av LPC-koeffisientene finner sted må stabiliteten av filteret sikres. Dette utføres ved radial skalering av filterets poler i retning innover og med en mindre verdi som reduserer størrelsen av maksimalfrekvensresponsen under ekspansjon av spissverdienes båndbredde. Denne teknikk kjennes vanligvis som båndbreddeekspansjon og er ytterligere beskrevet i artikkelen "Spectral Smoothing in PARCOR Speech Analysis-Synthesis" av Tohkura et al., ASSP Transactions, desember 1978. I den foreliggende oppfinnelse kan båndbreddeekspansjon effektiv utføres ved skalering av LPC-koeffisient. Slik det er satt opp i Tabell III nedenfor kan de resulterende LPC-koefifsienter hver multipliseres med en tilsvarende heksadesimal verdi for å danne de endelige utgående LPC-koefifsienter a\- ai0 for LPC-analysesubsystemet 206. Merke at verdiene i Tabell III er gitt i heksadesimal form med 15 fraksjonsbit i tokomplementær notasjon. I denne form blir verdien 0x8000 lik -1,0, mens verdien 0x7333 (eller 29491) angis som 0,899994 = 29491/32768.
Operasjonene utføres fortrinnsvis i henhold til såkalt "dobbelpresisjon" det vil si 32 bits divisjon, multiplikasjon og addisjon. Dobbelpresisjonsnøyaktighet foretrekkes for å opprettholde det fulle dynamiske register for autokorrelasjonsfunksjonene og filterkoeffi-sientene.
Fig. 10 viser et blokkdiagram av et eksempel på en utførelse av LPC-subsystemet 206 som utfører ligningene (15)-(20) ovenfor. Systemet 206 omfatter tre kretsdeler, en hovedberegningskrets 330 og to bufferoppdateringskretser 332 og 334 som brukes for oppdatering av registrene i hovedberegningskretsen 330. Beregningen starter ved først å lese inn verdiene R(l)-R(10) i bufferen 340. For å starte beregningen forhåndsinnleses verdien R(l) i registeret 348 via multipleksenheten 344. Registeret startes opp med R(0) via multipleksenheten 350, bufferen 352 (som inneholder 10 af1' 1 Werdier) initialiseres til å inneholde bare nuller via multipleksenheten 358, og i settes til 1 for beregningssyklusen. For enkelhets skyld er ikke tellere for i og j og annen beregningssyklus kontroll/styring vist, men opsjonen og integreringen av denne type logiske kretser vil være godt innenfor virkeomfanget for en faglig utdannet person innenfor utvikling av digitale logiske kretser.
Verdien Oj(<1>"<1>) føres ut fra bufferen 256 for å beregne leddet KiE(<I_1>) slik det fremgår av ligning (14). Hver verdi R(i-j) føres ut fra bufferen 340 for multiplikasjon med o/<1>"'<5->. verdien i multiplikatoren 360. Hver resulterende verdi trekkes i summeringskretsen 362 fra verdien i registeret 346, og resultatet fra hver subtraksjon lagres i registeret 346 fra hvilket det neste ledd trekkes fra. Det foregår i-l multiplikasjoner og akkumuleringer i den i-te syklus slik det er indikert i summeringsleddet i ligning (14). Ved slutten av denne syklus deles verdien i registeret 346 i delekretsen 364 med verdien E<*1>"<1>' fra registeret 348 for å frembringe verdien k;.
Verdien k; brukes deretter i bufferoppdateringskretsen 332 til å beregne verdien E® som i ligning (19) ovenfor, og denne verdi brukes som verdien E(,_<l>) under den neste beregningssyklus for k;. Den aktuelle syklusverdi k; multipliseres med seg selv i multiplikatoren 366 for å komme frem til verdien kj . Verdien k; trekkes deretter fra verdien 1 i summeringskretsen 368. Resultatet av denne summering multipliseres i multiplikatoren 370 med verdien E<1> fra registeret 348. Den resulterende verdi E<1> føres til registeret 348 via multipleksenheten 350 for lagring som verdien E<tl>_,) for den neste syklus.
Verdien kj brukes deretter for å beregne verdien o;<c>,) som i ligning (15). I dette tilfelle føres verdien kj til inngangen av bufferen 356 via multipleksenheten 358. Verdien k; brukes også i bufferoppdateringskretsen 334 for å beregne verdiene 03^ fra verdiene ot^~^ som i ligning (18). Verdiene som under denne periode lagres i bufferen 352 brukes ved beregning av verdiene 05(<l>). Som indikert i ligning (18) foreligger i-l beregninger i den i-te syklus. I iterasjonen i = 1 kreves ingen slike beregninger. For hver verdi av j for den i-te syklus beregnes en verdi av Ved beretning av hver verdi av OjW multipliseres en verdi av o^/'"'<5> i multiplikatoren 372 med verdien k; for utgang til summeringskretsen 374, og i denne krets trekkes verdien kiaj./'"<i>) fra verdien o^<1>"<1>' som også er ført til summeringskretsen 374. Resultatet av hver multiplikasjon og addisjon kommer frem som en verdi av aj-<**> til bufferen 356 via multipleksenheten 358.
Når således verdiene o$<w> og QjW er beregnet for den aktuelle syklus eller periode lagres de verdier som er beregnet i bufferen 356 og føres ut til bufferen 352 via multipleksenheten 354. De verdier som ligger lagret i bufferen 356 lagres i tilsvarende posisjoner i bufferen 352, og denne oppdateres deretter for beregning av verdien k; for (i+l)-te syklus.
Det er viktig å merke seg at data o^<1>"<1*> som frembringes ved slutten av den foregående syklus brukes under den påfølgende og aktuelle syklus for å frembringe oppdaterte verdier o$w for den neste periode. Den foregående periodes data må tas vare på for å oppdatere data for den neste periode i komplett form. Således brukes to buffere 356 og 352 for å holde rede på den foregående periodes data inntil de oppdaterte data er skaffet tilveie for den neste periode.
Beskrivelsen ovenfor er skrevet for parallell overføring av data fra bufferen 356 til bufferen 352 ved avslutning av beregningen av de oppdaterte verdier. Denne implementering sikrer at de gamle data tas vare på under hele prosessen ved beregningen av de nye data, uten at de gamle data tapes før de er utnyttet fullt ut, i motsetning til det som skjer i en krets med en enkelt buffer. Den beskrevne utførelse er én av flere som er tilgjengelige for å oppnå samme resultat, for eksempel kan bufferne 352 og 356 koples i multipleks slik at man ved beregning av verdien k; for en aktuell periode ut fra verdier som ligger lagret i en første buffer utfører en oppdatering for lagring i den andre buffer, for bruk under den neste beregningsperiode. I denne neste periode eller syklus beregnes verdien kj fra verdier som ligger lagret i den andre buffer. Disse verdier og verdien k; brukes for å frembringe oppdaterte verdier for den neste periode og med de oppdaterte verdier lagret i den første buffer. En slik alternering mellom buffere tillater at man kan holde tilbake data under prosesseringen i påfølgende perioder mens man lagrer oppdaterte verdier uten at de erstatter de prosessverdier som trengs for å frembringe de oppdaterte verdier. Bruk av en slik teknikk kan redusere den forsinkelse som gjerne er knyttet til beregningen av verdien kj for den neste periode, og derfor kan oppdateringen av multiplikasjonene/akkumuleringene under beregningen av kj utføres samtidig med beregningen av den neste verdi av c^'~ l\
De ti LPC-koeffisienter o^10^ som ligger lagret i bufferen 356 ved avslutningen av den siste beregningssyklus (i = 10) skaleres for å danne de tilsvarende endelige LPC-koeffisienter aj. Skaleringen utføres ved å overføre et skaleringsvalgsignal til multiplekserne 344, 376 og 378 slik at skaleringsverdiene som blir lagret i oppslagstabellen 342, nemlig de heksagonale verdier i tabell III velges for overføring via multipleksenheten 344. Verdiene som lagres i tabellen 342 klokkes ut i rekkefølge og føres til multiplikatoren 360 som også via multipleksenheten 376 mottar verdiene o$(<10>' i sekvens fra registeret 356. De skalerte verdier føres ut fra multiplikatoren 360 via multipleksenheten 378 som en utgang til subsystemet 208 (fig. 7) for transformasjon av LPC til LSP.
For å utføre effektiv koding av hver av de ti skalerte LPC-koeffisienter innenfor et mindre antall bit blir koeffisientene transformert til LSP-frekvenser som beskrevet i artikkelen "Line Spectrum Pair (LSP) and Speech Data Compression" av Soong og Juang, ICASSP 1984. Beregningen av LSP-parametrene vises nedenfor i ligningene (21) og (22) sammen med tabell IV.
LSP-frekvensene er de ti røtter som foreligger mellom 0 og iri følgende ligninger: hvor p„ og q„ angir verdier for n = 1, 2,3,4 og defineres rekursivt i tabell IV:
I tabell IV er verdiene ct[,O£i0 de skalerte koeffisienter som danner resultatet fra LPC-analysen. De ti røtter i ligningene (21) og (22) blir skalert til mellom 0 og 0,5 for enkelhets skyld. En bestemt egenskap av LSP-frekvensene er at røttene av de to funksjoner veksler hvis LPC-filteret er stabilt, dvs. at den laveste rot <j>\ også er den laveste rot i P(oj), den nest laveste rot to2 er den laveste rot i Q(w), etc. Av de ti frekvenser er de odde frekvenser røttene i P(co), mens de like frekvenser er røttene i Q(oj).
Rotsøket utføres på følgende måte: først beregnes p- og q-koeffisientene ved dobbel presisjon ved å legge til LPC-koeffisientene slik som vist ovenfor. P(<g>j) utledes deretter hver tt/256 radian og disse verdier utledes videre for fortegnsendring, hvilket fastlegger en rot i det aktuelle underområde. Hvis en rot finnes utføres lineær interpolasjon mellom de to grenser av underområdet for å skilne rotens posisjon tilnærmet. En Q-rot vil sikkert finnes mellom hvert par P-røtter (f.eks. finnes den femte Q-rot mellom den femte P-rot og ir) som følge av frekvensenes ordning. Et binært søk utføres mellom hvert par P-røtter for å bestemme posisjonen av Q-røttene. For å lette dette tilnærmes hver P-rot til den nærmeste ir/256-verdi, og binærsøket utføres mellom disse tilnærmelser. Hvis en rot ikke finnes brukes de siste ukvantiserte verdier av LSP-frekvensene fra den foregående ramme hvor røttene var funnet.
Det vises nå til fig. 11 som illustrerer et eksempel på de kretser som brukes for å frembringe LSP-frekvensene. Den operasjon som er beskrevet ovenfor krever totalt 257 mulige kosinusverdier mellom 0 og ir, og disse verdier lagres ved dobbel presisjon i en oppslagstabell, nemlig kosinusoppslagstabellen 400 som kan adresseres av en "mod 256" teller 402. For hver verdi av j som føres til tabellen 400 fremkommer en utgang å cos w, cos 2w, cos 3ti), cos 4cj og cos 5u, idet:
hvor j er en tellerverdi.
De fire første kosinusverdier fra tabellen 400 er ført til sin respektive multiplikator 404, 406, 408 og 410, mens den femte kosinusverdi, cos 5o) er ført direkte til summeringskretsen 412. Disse verdier multipliseres i sin tilhørende multiplikator 404, 406, 408 og 410 med sin tilhørende verdi p4, p3, p2 og pi via multipleksenhetene 414, 416, 418 og 420. De resulterende verdier fra denne multiplikasjonen føres også til summeringskretsen 412. Videre overføres verdien ps via multipleksenheten 422 til multiplikatoren 424 sammen med den konstante verdi 0,5, og resultantverdien fra multiplikatoren 424 føres som en annen inngang til summeringskretsen 412. Multipleksenhetene 414-422 velger mellom verdiene pr p5 eller qrq5 i respons på et p/q-koeffisientvalgsignal for å bruke samme krets for beregning av både P(<jo)- og Q(co)-verdiene. Kretsen for frembringelse av prp5 eller qrq5 er ikke vist, men er lett tenkbar ved å bruke en rekke summeringskretser for å summere og subtrahere LPC-koeffisientene og verdiene for prps eller qrq5, sammen med registeret for lagring av disse verdier.
Summeringskretsen 412 oppsummerer inngangsverdiene for å komme frem til utgangsverdiene P(od) eller Q(cj) i avhengighet av situasjonen. For å forenkle den videre beskrivelse skal vi betrakte tilfellet for verdiene av P(co), men de tilsvarende verdier av Q(o>) vil være beregnet på tilsvarende måte ved å bruke verdiene for qi-qs. Den aktuelle verdi av P(to) føres ut fra summeringskretsen 412 hvor den har ligget lagret i registeret 426. De tidligere verdier av P(cj) og som tidligere lå i registeret 426 blir overført til registeret 428. Fortegnet for strømmen og tidligere verdier av P(a?) føres til en logisk kopling som utfører EKSKLUSIV ELLER, idet denne kopling utgjøres av en port 430 for å gi indikasjon på en nullgjennomgang eller fortegnsendring, i form av et klareringssignal (enable signal) som overføres til en lineær interpolator 434. Den aktuelle og den tidligere verdi av P(w) føres også ut fra registrene 426 og 428 til den lineære interpolator 434 som arbeider i respons på klareringssignalet for interpolering av punktet mellom de to verdier av P(<g>j) hvor null-gjennomgangen forefinnes. En slik lineær interpolasjon med hensyn til fraksjonsverdi angir avstanden fra verdien j-1 og videreføres til bufferen 436 sammen med selve verdien j fra telleren 256. Porten 430 gir også klareringssignalet til bufferen 436 som på sin side tillater lagring av verdien j og den tilsvarende fraksjonsverdi FVj.
Fraksjons verdien trekkes fra verdien j som en utgang fra bufferen 436 i summeringskretsen 438, eller alternativt kan den trekkes fra denne som en inngang til bufferen 436. I alternativet kan et register i j-linjeinngangen brukes for bufferen 436 slik at verdiene j-1 vil være tilstrekkelige til å kunne føres til bufferen 436 og med fraksjons verdien likeledes innført i denne. Fraksjonsverdien kan legges til verdien j-1 enten før lagring i registeret 436 eller ved dettes utgang. I ethvert tilfelle føres den kombinerte verdi av j + FVj eller (j-1) + FVj til en divisjonskrets 440 hvor det tilførte deles med en inngående konstant verdi på 512. Divisjonen kan være enkel eller utføres ved til stadighet å endre binærpunkt-lokasjonen i det tilsvarende binære ord. En slik deling gir den nødvendige skalering for å komme ut ved LSP-frekvenser mellom 0 og 0,5.
Hver funksjonsevaluering av P(cj) eller Q(cj) krever fem kosinusundersøkelser, fire dobbelpresisjonsmultiplikasjoner og fire addisjoner. De beregnede røtter er typisk bare nøyaktighet til omkring 13 bit og lagres under enkel presisjon. LSP-frekvensene overføres til LSP-kvantiseringssubsystemet 210 (fig. 7) for kvantisering.
Når LSP-frekvensene er beregnet må de kvantiseres for overføring. Hver av de ti LSP-frekvenser ligger sentrert tilnærmet rundt en forskyvningsverdi, og det skal bemerkes at de tilnærmet antar denne verdi når den innkommende tale har et flatt talespektrum og hvor det ikke kan utføres noen korttidsprediksjon. Forskyvningene trekkes ut i koderen og en enkelt DPCM-kvantiseringskrets brukes. I dekoderen tilbakeføres forskyvningen. Den negative verdi av forskyvningsverdien blir i heksadesimal form og for hver LSP-frekvens G>i-£dio som tilveiebrakt fra LPC- til LSP-transformasjonssystemet vist i den etterfølgende tabell V. På ny gis verdiene i tokomplements form og med 15 fraksjonelle bit. Heksadesimalverdien 0x8000 (eller -32768) er angitt ved -1,0. Følgelig blir den første verdi i tabell V, nemlig verdien 0xfa2f (eller -1489), angitt som -0,045441 = -1489/32768.
Den "prediktor" som ble benyttet i subsystemet er 0,9 ganger den kvantiserte LSP-frekvens ut fra den tidligere ramme og lagret i en buffer i subsystemet. Denne konstante reduksjon innføres slik at kanalfeilene etter hvert vil reduseres og dø ut.
De benyttede kvantiseringskretser er lineære, men de varierer i dynamisk omfang og trinnstørrelse med takten. Likeledes vil rammer med høy takt overføre flere bit for hver LSP-frekvens, og derfor vil antallet kvantiseringsnivåer være avhengig av den valgte takt. I tabell VI nedenfor er satt opp bitallokeringen og det dynamiske omfang for kvantiseringen for hver frekvens og ved hver takt. For eksempel ved full takt vil CO] være uniformt kvantisert ved anvendelse av 4 bit (det betyr i 16 nivåer) og med høyeste kvantiseringsnivå 0,025 og laveste
-0,025:
Hvis kvantiseringsområdene for den takt som er valgt av bestemmelsesalgoritmen ikke er store nok eller hvis det dannes et flankeoverløp forskyves takten opp til det neste høyere trinn. Takten blir forskjøvet videre oppover helt til det dynamiske område passer eller man har oppnådd full takt eller rate. I fig. 12 vises et typisk blokkdiagram av én utførelse for taktoppfølging.
I blokkskjemaet vises hvordan et subsystem 210 for LSP-kvantisering (fig. 12 danner en fortsettelse av fig. 11, men selve subsystemet 210 er ikke angitt med noe henvisningstall på disse figurer). LSP-frekvensene (co;) fra divisjonskretsen 440 (fig. 11) er på fig. 12 vist ført til et register 442 hvor frekvensene lagres for bruk under en taktoppskriving i den neste ramme. De tidligere LSP-frekvenser (i den foregående ramme) og frekvensene i den aktuelle, etterfølgende ramme føres henholdsvis ut fra registeret 442 og divisjonskretsen 440 til en logisk krets 444 for taktoppskriving for en aktuell ramme når slik oppskriving blir bestemt. Kretsen 444 mottar også det opprinnelige bestemmelsessignal for takten, sammen med taktsignalet og taktgrensesignalene fra taktbestemmelsessubsystemet 204. Bestemmelse om en taktøkning er nødvendig utføres ved at kretsen 444 sammenligner den tidligere rammes LSP-frekvenser med den aktuelle rammes ut fra middelkvadratdifferansen, og resultatet sammenlignes med en terskelverdi som ved over-skridelse gir en indikasjon om at det er nødvendig med en økning av takten for å sikre høykvalitets koding av talen. Når terskelverdien overskrides inkrementerer den logiske krets 444 den opprinnelige takt med det som tilsvarer et nytt nivå slik at koderens utgang legger seg på den nye, høyere takt.
I fig. 12 forutsettes at LSP-frekvensverdiene cjroji0 én ad gangen føres til summeringskretsen 450 sammen med den tilhørende forskyvningsverdi. Denne forskyvningsverdi trekkes fra inngangsverdiene for LSP og resultatet føres videre til summeringskretsen 452. Denne mottar også en inngang fra en prediksjons verdi som er en LSP-verdi som hører til en foregående ramme, multiplisert med en reduksjonskonstant. Prediksjonsverdien trekkes fra utgangen fra summeringskretsen 450 i summeringskretsen 452, og dennes utgang føres som inngang til en etterfølgende kvantiseirngskrets 454.
Kvantiseringskretsen 454 er bygget opp med en begrenser 456, en oppslagstabell 458 for minimalt dynamisk omfang, en oppslagstabell 460 for invers trinnstørrelse, en summeringskrets 462, en multiplikator 464 og en bitmaskeringskrets 466. Kvantiseringen utføres i kvantiseringskretsen 454 ved først å bestemme om inngangsverdien ligger innenfor det aktuelle dynamiske område som bestemmes av kvantiseringskretsen. Inngangsverdien føres til begrenseren 456 som begrenser den til det dynamiske omfangs øvre og nedre grense hvis inngangen overskrider de grenser som er satt av oppslagstabellen 458. Denne tabell tilveiebringer de lagrede sprang i henhold til tabell VI til begrenseren 456 i respons på taktinngangen og LSP-frekvensindeksen i inngangen. Verdien ut fra begrenseren 456 er ført til summeringskretsen 462 hvor verdien for det minimale dynamiske omfang, tilveiebrakt fra oppslagstabellen 458 blir trukket fra. Denne verdi bestemmes på sin side igjen av takten og LSP-frekvensindeksen i samsvar med de minimale dynamiske omfangsverdier og uavhengig av disses fortegn, slik det fremgår av tabell VI. For eksempel er verdien i tabellen for o) x og full takt 0,025.
Utgangen fra summeringskretsen 462 multipliseres deretter i multiplikatoren 464 med en verdi som velges fra oppslagstabellen 460 som inneholder verdier som tilsvarer det inverse av trinnstørrelsen for hver LSP-verdi ved hver takt i samsvar med verdiene i tabell VI. Verdiutgangen fra tabellen 460 velges av takten og indeksen i, og for hver takt og indeks i er den verdi som ligger lagret i tabellen 460 størrelsen (2n<->l)/det dynamiske omfang, hvor n er antallet bit som representerer kvantiseringsverdien. For på ny å ta et eksempel er verdien i
tabellen 460 for full takt og Wi = 15/0,05 = 300.
Utgangen fra multiplikatoren 464 er en verdi mellom 0 og 2n<->l og føres til bitmaskeringskretsen 466 som i respons på takten og LSP-frekvensindeksen i fra inngangsverdien trekker ut det riktige antall bit i samsvar med tabell VI. De uttrukne bit er de n heltallsverdibit som hører til inngangsverdien for å gi en bitbegrenset utgang AtOj. Verdiene AcOj er de kvantiserte og uforskjøvne differensielt kodede LSP-frekvenser som overføres i kanalen og representerer LPC-koeffisientene.
Verdien Aco; føres også tilbake gjennom en prediktor som består av en inverskvantiseringskrets 468, en summeringskrets 470, en buffer 472 og en multiplikator 474. Kretsen 468 består av en trinnoppslagstabell 476, en oppslagstabell 478 for minimalt dynamisk område, en multiplikator 480 og en summeringskrets 482.
Verdien AtOj føres til multiplikatoren 480 sammen med en utvalgt verdi fra tabellen 476 som inneholder verdier som tilsvarer trinnstørrelsen for hver LSP-verdi ved hver takt i samsvar med verdiene som fremgår av tabell VI. Verdien ut fra tabellen 476 velges av takten og indeksen i, og for hver takt og indeks er verdien i tabellen 460 størrelsen (dynamiske omfang/(2<n->l)), hvor n er antallet bit som representerer kvantiserte verdi. Multiplikatoren 480 multipliserer inngangsverdiene og gir en utgang til summeringskretsen 482.
Summeringskretsen 482 mottar som en andre inngang en verdi fra oppslagstabellen 478, bestemt av takten og indeksen i i samsvar med de minimale dynamiske områdeverdier, uavhengig av fortegnet og slik det fremgår av tabell VI. Summeringskretsen legger til disse verdier fra tabellen 478 verdiene fra multiplikatoren 480 med den resulterende verdi i hvert enkelt tilfelle ført til summeringskretsen 470.
Summeringskretsen 470 mottar som en andre inngang prediktorverdien fra multiplikatoren 474, og hver av disse verdier summeres i summeringskretsen 470 og lagres i et ti-ords bufferlager 472. Hver verdi fra den foregående ramme føres fra bufferlageret 472 og blir multiplisert i multiplikatoren 474 med en konstant som i dette tilfelle er lik 0,9. Predik-torverdiene fra multiplikatoren 474 føres til begge summeringskretser 452 og 470 som tidligere beskrevet.
I den aktuelle ramme er den verdi som lagres i bufferen 472 eller dennes lager de rekonstruerte LSP-verdier fra den tidligere ramme minus forskyvningsverdien. Tilsvarende gjelder for den aktuelle ramme at verdien fra summeringskretsen 470 er den tilsvarende verdi for den rekonstruerte LSP for den aktuelle ramme og uten forskyvningstiilegg. I den aktuelle ramme føres både utgangen fra bufferen 472 og summeringskretsen 470 til summeringskretsene 484 og 486 hvor forskyvning tillegges verdiene, og utgangsverdiene fra disse kretser er således de rekonstruerte LSP-frekvensverdier for den foregående ramme og den aktuelle. LSP-glatting utføres ved lavere takter i henhold til ligningen:
hvor: a = 0 for full takt
a = 0,1 for halv takt
a = 0,5 for kvart takt, og
a - 0,85 for åttedels takt.
De rekonstruerte LSP-frekvensverdier tøVf-i for den foregående ramme (f-1) og de tilsvarende LSP-frekvensverdier cj'i f for den gjeldende eller aktuelle ramme (f) føres ut fra kvantiseringssubsystemet 210 til et subsystem 216 for LSP-interpolasjon av tonehøyden i en underramme, og et tilsvarende subsystem 226 for LSP-interpolasjon av kodebokunderrammen. De kvantiserte LSP-frekvensverdier <g>>; føres ut fra subsystemet 210 til et datagrupperingssubsystem 236 for overføring.
LPC-koefifsientene brukt i veiefilteret og formantsyntesefilteret beskrevet tidligere vil egne seg for tonehøydeunderrammen under koding. For tonehøydeunderrammer utføres interpolasjonen av LPC-koeffisientene for hver tonehøydeunderramme og er slik det fremgår av tabell VII nedenfor:
Tonehøydesøk utføres ikke.
Tonehøydeunderrammetelleren 224 brukes for å holde kontroll med og styring av tonehøydeunderrarrtmene som tonehøydeparametrene beregnes for, med tellerutgangen ført til subsystemet 216 for anvendelse under LSP-interpolasjonen. Telleren 224 gir også en utgang som indikerer fullførelsen av tonehøydeunderrammen for den valgte takt vis-å-vis datagrupperingssubsystemet 236.
Fig. 13 illustrerer et eksempel på anvendelse av subsystemet 216 for LSP-interpolasjon i tonehøydeunderrammen, idet LSP-frekvensene w^-i og £o'j>f for henholdsvis den foregående og den aktuelle ramme føres ut fra LSP-kvantiseringssubsystemet til multiplikatorer 500 og 502 som utfører en multiplikasjon med en konstant fra et lager 504 som inneholder et sett konstante verdier og i samsvar med en inngang for tonehøydeunder-rammetallet fra en teller gir en utgang med konstanter slik det fremgår av tabell VII for multiplikasjon med LSP-verdiene for både den foregående og den aktuelle ramme. Dette skal gjennomgås nærmere senere. Utgangen fra multiplikatorene 500 og 502 summeres i en summeringskrets 506 slik at LSP-frekvensverdiene for tonehøydeunderrammen fremkommer i samsvar med ligningene i tabell VII. For hver tonehøydeunderramme utføres en reverstransformasjon fra LSP til LPC etterat interpolasjonen av LSP-frekvenser er utført, for å komme frem til de aktuelle koeffisienter for A(z) og perseptiweiefilteret. De interpolerte LSP-frekvensverdier føres således til det subsystem 218 som er vist på fig. 7 og gjelder transformasjonen fra LSP til LPC.
Subsystemet 218 omvandler de interpolerte LSP-frekvenser tilbake til LPC-koeffisienter for bruk ved resyntetisering av talen. På ny gjelder innholdet i artikkelen "Line Spectrum Pair (LSP) and Speech Data Compression", av Soong og Juang, hvor algoritmene som denne oppfinnelse bruker for transformasjonsprosessen gjennomgås og utledes. Beregningsaspektene er slik at størrelsene P(z) og Q(z) kan uttrykkes som funksjon av LSP-frekvenser i henhold til ligningene:
hvor W; er røttene i polynomet P' (oddetallsfrekvenser) og hvor w; er røttene i polynomet Q<1> (liketallsfrekvenser), mens
Beregningen utføres ved at verdiene 2cosc0i først beregnes for samtlige oddetallsfrekvenser i, idet denne beregning utføres ved hjelp av en femteordens enkeltpresisjons Taylor-rekkeekspansjon av kosinusfunksjonen omkring null (0). En Taylor-ekspansjon omkring det nærmeste punkt i kosinustabellen ville i utgangspunktet nok være mer nøyaktig, men ekspansjonen omkring null vil gi tilstrekkelig nøyaktighet og innebærer ikke for omfattende beregning.
Deretter beregnes koeffisientene i P-polynomet. Koeffisientene i et polynomprodukt er konvolutten av sekvenser av koeffisienter for de enkelte polynomer, og konvolutten av de seks sekvenser av z polynomkoeffisienter i ligning (25) ovenfor beregnes således i denne rekkefølge: {1, -2cos(ui), 1}, {1, -2cos(a)3), 1} ... {1, -2cos(a>9), 1} og {1, 1}.
Når så polynomet P er beregnet utføres samme prosedyre for polynomet Q, for de seks sekvenser av z polynomkoeffisienter i ligning (26) ovenfor {1,-2cos(co2)51}, {1,-2cos(co4) ... 1}, {1, -2cos(o>io), 1} og {1,-1}, og de riktige koeffisienter summeres og deles med 2, dvs. forskyves 1 bit for å frembringe LPC-koefifsientene.
Fig. 13 viser videre en typisk utførelse av subsystemet for transformasjon fra LSP til LPC i detalj. Kretsdelen 508 beregner verdien av -2cos(Oj) ut fra inngangsverdien for u,. Kretsdelen 508 består av en buffer 509, summeringskretser 510 og 515, multiplikatorer 511, 512, 514, 517 og 518, og registere 513 og 516. Ved beregning av verdiene for -2cos(Oi) er registrene 513 og 516 nullstilt eller initialisert til null. Siden denne kretsdel beregner sin(a>j) trekkes først C0j fra ir/2 i summeringskretsen 510, idet tt/2 er en innført konstant verdi. Resultatet kvadreres i multiplikatoren 511, og deretter beregnes fortløpende verdiene for (7r/2 - tOj)<2>, (t/2 - Oi)<4>, (tt/2 - (*>j)<6>, (t/2 - Qj)<8> ved hjelp av multiplikatoren 512 og registeret 513.
Taylor-rekkeekspansjonskoefifsientene c[l]-c[4] føres deretter til multiplikatoren 514, sammen med verdiene fra multiplikatoren 512. Utgangsverdiene fra multiplikatoren 514 føres til summeringskretsen 516 hvor verdiene, sammen med utgangsverdiene fra registeret 515 summeres for å gi utgangen c[l](ir/2 - C0i)<2> + c[2](tt/2 - o>j)4 + c[3](tt/2 - co;)<6> + c[4](t/2 - tdi)<8> til multiplikatoren 517. Inngangen til denne fra registeret 516 multipliseres i multiplikatoren med utgangen ( tt/ 2 - fra summeringskretsen 510, og utgangen fra multiplikatoren 517, verdien cos(cjj) multipliseres i multiplikatoren 518 med konstanten -2 slik at man får totaluttrykket -2cos(tdi). Denne verdi overføres til kretsdelen 520.
Kretsdelen 520 brukes ved beregningen av koeffisientene i polynomet P. Kretsdelen består av et lager 521, en multiplikator 522 og en summeringskrets 523. Det array eller register som inneholder lagerplassene P(l)... P(l 1) nullstilles med unntak av P(l) som settes til 1. De tidligere indekserte -2cos(w,)-verdiene føres til multiplikatoren 524 for å utføre konvolvering av (1, -2cos(Wj), 1) hvor 1 < i < 5,1 < j < 2i+l, P(j) = 0 for j<l. Kretsdelen 520 dupliseres (ikke vist) for beregning av koeffisientene i polynomet Q. De resulterende endelige nye verdier av P(l) - P(l 1) og Q(l) - Q(l 1) er ført til kretsdelen 524.
Kretsdelen 524 er bygget opp for komplettering av beregningen av tonehøydeunder-rammens 10 LPC-koeffisienter 04 for i=l til i=10. Kretsdelen 524 består av buffere 525 og 526, summeringskretser 527, 528 og 529, og en deler eller bitforskyver 530. De endelige verdier P(i) og Q(i) lagres i bufferne 525 og 526, og verdiene P(i) og P(i+1) summeres i summeringskretsen 527, mens de tilsvarende Q(i) og Q(i+1) subtraheres i summeringskretsen 528 for 1 < i < 10. Utgangene fra summeringskretsene 527 og 528 hhv. P(z) og Q(z) føres til summeringskretsen 529 for summering og videreføring som verdien (P(z) + Q(z)). Utgangen fra summeringskretsen deles på to ved forskyvning av de enkelte bit én enkelt posisjon. Hver bitforskjøvet verdi av [P(z) + Q(z)]/2 er en utgående LPC-koeffisient <%. Underrammens LPC-koeffisienter for tonehøyden føres til tonehøydesøksubsystemet 220 vist på fig. 7.
LSP-frekvensene interpoleres også for hver kodebokunderramme slik det bestemmes av den valgte takt, med unntak av full takt. Interpolasjonen utføres på en måte som er identisk med den for LSP-interpolasjonene for tonehøydeunderrammen. LSP-interpolasjonene for kodebokunderrammen beregnes i subsystemet 226 og videreføres til subsys-ternet 228 for transformasjon fra LSP til LPC, idet denne transformasjon utføres på en måte som tilsvarer den samme transformasjon i subsystemet 218.
Slik det ble gjennomgått i forbindelse med fig. 3 utføres tonehøydesøket som en teknikk av typen analyse ved syntese, hvor kodingen utføres ved å velge parametere som fører feilen mellom den opprinnelige tale og den syntetiserte som bruker de samme parametere til et minimum. I tonehøydesøket utføres syntese ved å bruke tonehøyde-syntesefilteret hvis respons uttrykkes i ligning (2). Hvert 20. millisekund deles talerammen opp i et antall tonehøydeunderrammer som, slik det ble beskrevet tidligere vil avhenge av den datatakt som er valgt for rammen. Følgende verdier beregnes én gang for hver tone-høydeunderramme: parametrene b og L, tonehøydeheving og -senkning. I eksempelet er tonehøydesenkningen L mellom 17 og 143, for overføringsformål reserveres L=16 for det tilfelle hvor b=0.
Talekoderen bruker et perseptivstøyveiefilter av den form som angis i ligning (1). Som nevnt tidligere er hensikten med dette filter å tillegge forskjellig vekt til feilene ved frekvenser som har mindre energiinnhold for å redusere pådraget av feilrelatert støy. Filteret utledes fra det korttidsprediksjonsfilter som tidligere ble funnet. LPC-koefifsientene i veiefilteret og formantsyntesefilteret som beskrives senere er de interpolerte verdier som passer for den underramme som i øyeblikket blir kodet.
Ved å utføre analyse ved syntese brukes en kopi av taledekoderen/syntetisatoren i koderen. Den form som syntesefilteret får i talekoderen er gitt av ligningene (3) og (4). Ligning (3) og (4) tilsvarer et dekodertalesyntesefilter som etterfølges av perseptiv-veiefilteret og kalles derfor veiesyntesefilter.
Tonehøydesøket utføres ved å anta null bidrag fra kodeboken i den aktuelle ramme, dvs. G = 0. For hver mulig verdi av tonehøydesenkningen L syntetiseres talen og sammenlignes med den originale tale. Avviket mellom disse talefølgex veies av perseptiweiefilteret før middelkvadratawiket beregnes. Hensikten er å plukke ut verdier av L og b fra samtlige mulige, som reduserer feilen mellom den oppfattede veide tale og den oppfattede veide syntetiserte tilsvarende tale. Minimaliseringen av feilen kan uttrykkes av ligningen:
hvor Lp er antallet sampler i tonehøydeunderrammen, i eksempelet lik 40 for en underramme ved full takt. Tonehøydeøkningen b beregnes for å gi minst mulig middelkvadratavvik, og disse beregninger utføres for samtlige tillatte verdier av L, for å komme frem til det sett av L og b som gir det minste middelkvadratavvik for tone-høydefilteret. Beregningen av den optimale L innbefatter at man finner formantresidualet (p(n) på fig. 3) for samtlige tidspunkter mellom n = - L^^ til n = (Lp - Lmjn) - 1 hvor hm3ks er den maksimale tonehøydesenkningsverdi, Lm;n er den minimale tilsvarende verdi og LP er tone-høydeunderrammelengden for den bestemte takt, og videre gjelder at n = 0 er tidspunktet for starten av underrammen. I eksempelet er L^ig = 143, mens Lmjn — 17. Ved a bruke det tallmateriale som fremgår av fig. 14 blir for kvart takt n = 143 til 142, for halv takt blir n fra -143 til 62, og for full takt blir n fra -143 til 22. For n < 0 dannes formantresidualet rett og slett ved utgangen fra tonehøydefilteret ut fra den foregående tonehøydeunderramme, idet denne holdes i tonehøydefilterlageret og kalles formantresidualet for den lukkede sløyfe. For n > 0 er formantresidualet utgangen fra formantanalysefilteret med filterkarakteristikk A(z), hvor inngangen til filteret er talesamplene i den aktuelle analyseramme. For n ;> 0 kalles også formantresidualet åpen-sløyfe-residual og ville være nøyaktig p(n) hvis tonehøydefilteret og kodeboken utførte en perfekt prediksjon for denne underramme. Ytterligere forklaring av beregningen av optimal tonehøydesenkning fra de tilhørende formantresidualverdier følger under gjennomgåelsen av fig. 14-17.
Tonehøydesøket utføres over 143 rekonstruerte formantresidualsampler i lukket sløyfe, p(n) for n < 0, pluss Lp-L,^ ukvantiserte formantresidualsampler i åpen sløyfe, p0(n) for n > 0. Søket endres i praksis gradvis fra tilnærmet åpen-sløyfe-søk hvor L er liten og således de fleste av de residuelle sampler som benyttes tilsvarer n > 0, til tilnærmet lukket-sløyfe-søk hvor n er stor og således samtlige residuelle sampler som benyttes tilsvarer n < 0. For eksempel kan man bruke det nummereringsskjema som fremgår av fig. 14 for full takt, hvor tonehøydeunderrammen består av 40 talesampler, og ifølge dette eksempel starter tone-høydesøket ved bruk av det sett av formantsampler av residuell type som er nummerert fra n = 17 til n = 22. I skjemaet er samplene ved n = -17 til n = -1 residuelle formantsampler i lukket sløyfe, mens den øvrige del med n = 0 til n = 22 er i åpen sløyfe. Det neste sett sampler for bestemmelse av optimal tonehøydesenkning er de sampler som er nummerert fra n = -18 til n = 21. På tilsvarende måte er det første område opp til n—l i lukket sløyfe, mens det øverste område fra n = 0 til n = 21 er i åpen sløyfe. Prosessen fortsetter gjennom samtlige sampelsett helt til tonehøydesenkningen er beregnet for det siste sett formantsampler, nemlig mellom n = -143 og n = -104.
Som gjennomgått tidligere i forbindelse med ligning (28) er hensikten å redusere feilen eller avviket mellom x(n), den perseptuelt veide tale minus nullinngangsresponsen (ZIR) for veieformantfilteret, og x'(n), den perseptuelt veide syntetiserte tale som ikke har lagerplass i filtrene, over samtlige mulige verdier av L og b, idet null bidrag gis fra den stokastiske kodebok (G=0). Ligning (28) kan omskrives med hensyn til b: hvor
hvor y(n) er den veide syntetiserte tale med tonehøydesenkning L når b= 1, og h(n) er pulsresponsen for det veiende formantsyntesefilter hvis filterkarakteristikk tilfredsstiller ligningen (3).
Denne minimaliseirngsprosess tilsvarer maksimalisering av verdien El, hvor:
hvor og
Den optimale b for en gitt L finnes å være:
Dette søk gjentas for samtlige tillatte verdier av L. Den optimale verdi for b begrenses til å være positiv, slik at L-verdier som fører til negativ Eyy ignoreres i søket. Endelig velges så den tonehøydesenkning L og den heving b som bringer EL til et maksimum, for den aktuelle signal- eller informasjonsoverføring.
Som nevnt tidligere er x(n) i virkeligheten den perseptuelt veide forskjell mellom den innkommende tale og ZIR av det veiende formantfilter siden man kan anta at filteret A(z) alltid starter med null i filterlageret for den såkalte rekursive konvolvering som fastlegges i ligningene (35)-(38) nedenfor. Det er imidlertid ikke alltid slik at filteret starter med en 0 i filterlageret, ved syntesen kan det nemlig ha en tilstand forskjellig fra den foregående underrammes, og ved implementeringen trekkes parametrene for starttilstanden fra den perseptuelt veide tale ved starttidspunktet. På denne måte trenger man bare beregne responsen av et statisk filter A(z) hvor alle lågere er satt til 0 til p(n) for hver L, og man kan bruke rekursiv konvolvering. Denne verdi av x(n) behøver man bare beregne én gang, men y(n), nulltilstandsresponsen for formantfilteret overfor utgangen fra tonehøydeiflteret, behøves beregnet for hver verdi av L. Beregningen av hver y(n) involverer en rekke redundante multiplikasjoner som imidlertid ikke behøver beregnes for hver tone-høydesenkning. Fremgangsmåten med rekursiv konvolvering, beskrevet nedenfor, brukes for å redusere beregningstiden og -omfanget:
Når det gjelder den rekursive konvolvering defineres verdien YL(n) ved hjelp av verdien y(n) på følgende måte:
Fra ligning (32) og (33) kan man se at:
På denne måte kan de gjenstående konvolveringer utføres rekursivt etter at den innledende konvolvering for yi7(n) er utført, hvilket reduserer antallet beregninger som trengs i stor grad. For det eksempel som er tatt ovenfor for full takt beregnes verdien yn(n) ved hjelp av ligningen (36) ved å bruke settet formantsampler av residuell type nummerert mellom n = -17 og n = 22.
Det vises nå til fig. 15 som illustrerer en kode som bruker et dekodersubsystem 235 tilsvarende det vist på fig. 7, en dekoder tilsvarende den vist på fig. 5, men hvor noe adaptivt postfilter ikke er med. Det viste subsystem mottar til sitt tonehøydesyntesefilter 550 produktet av kodebokverdien Cj(n) og kodebokvinningen G. Utgangsformantsamplene p(n) av residuell type føres til formantsyntesefilteret 552 hvor samplene filtreres og føres ut som rekonstruerte talesampler s'(n). Disse trekkes fra de tilsvarende innkommende talesampler s(n) i den etterfølgende summeringskrets 554. Avviket mellom samplene føres videre til et perseptivveiefilter 556. Med hensyn til tonehøyde- og formantsyntesefilteret 550 hhv. 552 og perseptiweiefilteret 556 har samtlige av disse et lager for filtertilstanden hvor: Mp er lageret for det første, Ma er lageret for det andre og Mw er lageret for det tredje, nemlig perseptiweiefilteret 556.
Filterstatuslageret Ma for syntesefilteret 552 er koplet til subsystemet 220 for tone-høydesøk, vist på fig. 7. Lageret Ma brukes for å beregne filterets 560 ZIR slik at ZIR for filteret 552 også blir beregnet. Deretter trekkes den beregnede ZlR-verdi fra de innkommende talesampler s(n) i summeringskretsen 562, og resultatet veies i filteret 564. Utgangen fra dette perseptiweiefilter 564, xp(n), brukes som den veide inngående tale i ligningene (28)-(34), idet x(n) = xp(n).
Betrakter vi på ny fig. 14 og 15 i sammenheng fremgår at tonehøydesyntesefilteret 550 vist på fig. 14 gir en adaptiv kodebok 568 som i virkeligheten er et lager for lagring av samplene i lukket og åpen sløyfe og beregnet som angitt ovenfor. Formantresidualet i lukket sløyfe lagres i en lagerdel 570, mens det tilsvarende residual for åpen sløyfe lagres i en lagerdel 572. Samplene lagres i henhold til den nummerering som er satt opp i skjemaet nevnt ovenfor. Residualene ordnes som tidligere med hensyn til bruk for hvert søk L for tonehøydesenkning. Residualet i åpen sløyfe beregnes fra de innkommende talesampler s(n) for hver tonehøydeunderramme ved hjelp av formantsyntesefilteret 574 som bruker lageret Ma som hører til undersystemets formantsyntesefilter 502, for beregning av verdiene av p0(n). Verdiene av po(n) for den aktuelle tonehøydeunderramme forskyves forbi en rekke forsinkelseselementer 576 for å overføre lagerdelen 572 i den aktive kodebok 568. Formantresidualene i åpen sløyfe lagres sammen med det første residuelle sampel som frembringes og som er nummerert 0 og det siste tall 142.
Fig. 16 viser hvordan impulsresponsen h(n) av formantfilteret beregnes i filteret 566 og føres til et skiftregister 580. Som gjennomgått ovenfor i forbindelse med impulsresponsen av formantfilteret h(n) brukes ligningene (29)-(30) og (35)-(38) for hver tonehøydeunder-ramme i filteret. For ytterligere å redusere beregningsomfanget for tonehøydefiltersubsys-temet avkortes impulsresponsen for formantfilteret h(n) til 20 sampler.
Skiftregisteret 580 og multiplikatoren 582, summeringskretsen 584 og skiftregisteret 586 er koplet for å utføre rekursiv konvolvering mellom verdiene h(n) fra skiftregisteret 580 og verdiene c(m) fra den adaptive kodebok 568 slik som beskrevet ovenfor. Denne konvolvering utføres for å finne nullstatusresponsen (ZSR) for formantfilteret overfor de inngangssignaler som kommer fra tonehøydefilterlageret, idet man antar at tone-høydehevingen er satt lik 1. Når konvolveringskretsen arbeider går n i sløyfe fra Lp til 1 for hver m, mens m går i sløyfe fra (Lp -17) - 1 til -143.
I registeret 586 videreføres ikke data når n = 1, og data samles ikke opp når n = Lp. Data føres som en utgang fra konvolllveirngskretsen når m < -17.
Etter konvolveringskretsen føler korrelasjon og sammenligning i kretser som kan utføre dette, for søking for å finne den optimale L og b. Korrelasjonskretsen, som også kan kalles middelkvadratfeilkretsen (MSE) beregner både auto- og krysskorrelasjon for ZSR med den perseptuelt veide forskjell mellom ZIR for formantfilteret og den innkommende opprinnelige tale, dvs. x(n). Ved å bruke disse verdier beregner korrelasjonskretsen verdien for den optimale tonehøydene ving for hver verdi av tonehøydesenkningen. Korrelasjonskretsen er bygget opp av et skiftregister 588, multiplikatorer 590 og 592, summeringskretser 594 og 596, registere 598 og 600, og en divisjonskrets 602. I korrelasjonskretsen utføres beregningene slik at størrelsen n kommer til å løpe syklisk fra Lp til 1, mens størrelsen m kommer til å bevege seg syklisk fra (Lp -17)-1 til -143.
Korrelasjonskretsen etterfølges av en sammenligningskrets som utfører sammenligning og lagring av data for å bestemme den optimale verdi av L og b. Sammenligningskretsen består av en multiplikator 604, en komparator 606, registere 608, 610 og 612, og en kvantiseringskrets 614. Utgangen fra denne kretssammenstilling gir sett av L og b for hver tonehøydeunderramme, og optimaliseringen går ut på å redusere avviket mellom den syntetiserte tale og den opprinnelige, idet b kvantiseres i åtte trinn av kvantiseringskretsen 604 og angis som en 3-bits verdi med det ytterligere trinn b = 0 som kommer til anvendelse når L = 16. Disse verdier av L og b overføres til subsystemet 230 og databufferen 222. Verdiene overføres via datapakkesubsystemet 238 eller bufferen 222 til dekoderen 234 for bruk i tonehøydesøket.
På samme måte som i tonehøydesøket gjennomgår kodeboken under sin søking i henhold til prinsippet analyse ved syntese en koding ved å velge parametere som reduserer feilen eller avviket mellom den opprinnelige tale og den syntetiserte og med bruk av samme parametere. For takten 1/8 settes verdien av b til null.
Som gjennomgått tidligere deles hvert intervall på 20 ms i et antall kodebokunderrammer som vil være avhengige av den datatakt som velges for rammen. Én gang for hver underramme beregnes parametrene G og I, nemlig kodebokvinningen og -indeksen. Under beregningen av disse parametere interpoleres frekvensene for underrammen, med unntak av situasjonen for full rate eller takt, i underrammens LSP-interpolasjonssystem 226 på en måte som tilsvarer det som er beskrevet med hensyn til tonehøydeinterpola-sjonssystemet 216. LSP-frekvensene for kodeboken omvandles også til LPC-koeffisienter i transformasjonssystemet 228 for hver kodebokunderramme. Telleren 232 brukes for å følge kodebokunderrammene som parametrene beregnes for, og tellerens utgang er ført til systemet 226 for bruk under LSP-interpolasjonen. Telleren 232 gir også en utgang som indikerer avslutningen av en underramme for den bestemte takt, og denne utgang føres til tonehøydetelleren 224 for den aktuelle underramme.
Den såkalte eksiteringskodebok består av 2M kodevektorer som er bygget opp av en enhetsvariant av en gauss-fordelt tilfeldig sekvens med "hvit" frekvensfordeling. I kodeboken for M~ 7 er det 128 innganger. Kodeboken organiseres rekursivt slik at hver kodevektor avviker fra den tilstøtende med én sampel, dvs. at samplene i en kodevektor blir forskjøvet én posisjon slik at en ny sampel blir tatt inn i den ene ende, mens en sampel tapes i motsatt ende. Av denne grunn kan en rekursiv kodebok lagres som et lineært array som er 2M + (Lc -1) langt, hvor Lc er kodebokens underrammelengde. For imidlertid å forenkle implementeringen og bevare lagerplass brukes en sirkulær kodebok som er 2M sampler lang (128 sampler).
For å redusere beregningsomfanget avskjæres de gaussiske verdier i kodeboken sentralt. Verdiene velges opprinnelig fra en hvit gaussisk prosess med varians 1. Deretter settes samtlige størrelser som er mindre enn 1,2 til null, og dette bringer omkring 75 % av verdiene til null, hvorved det frembringes en kodebok med pulser. En midtkutting av kodeboken reduserer antallet multiplikasjoner som trengs for å utføre den rekursive konvolvering i kodeboksøket med en faktor på 4, siden multiplikasjoner med 0 ikke behøver utføres. Kodeboken som brukes i den foreliggende implementering er satt opp i tabell VIII nedenfor:
Som før bruker talekoderen et perseptivstøyveiefilter av en form som er fastlagt ligning (1) og som omfatter et vekttilleggende syntesefilter slik det fremgår av ligning (3). For hver kodebokindeks I syntetiseres talen og sammenlignes med den opprinnelige. Avviket veies av perseptiweiefilteret før middelkvadratawiket beregnes.
Som fastslått tidligere er hensikten å redusere avviket mellom x(n) og x'(n) over samtlige mulige verdier av I og G. Minimaliseringen av avviket kan uttrykkes på følgende måte:
hvor Lc er antallet sampler i kodebokunderrammen. Ligning (38) kan omskrives med hensyn til G: hvor y er utledet ved konvolvering av pulsresponsen hos formantfilteret med hensyn til den I-te kodevektor, idet det antas at G - 1. Reduksjon til et minimum av middelkvadratawiket tilsvarer på sin side at man bringer Ej til et maksimum: hvor og
Den optimale G for en gitt I finnes av ligningen:
Dette søk gjentas for samtlige tillatte verdier av I. I motsetning til tonehøydesøket tillates G å være både positiv og negativ. Til slutt finnes indeksen I og kodebokvinningen G som sammen gir et maksimum for Ei for overføringen.
Man skal igjen minne om at x(n), den oppfattelsesmessig veide forskjell mellom den originale tale og ZIR av den veide tonehøyde og formantfiltrene bare behøver beregnes én gang. Imidlertid må man beregne y(n), nulltilstandsresponsen for tonehøyde- og formantfiltrene for hver kodevektor, for hver indeks I. Siden man bruker en sirkulært arbeidende kodebok kan fremgangsmåten for rekursiv konvolvering allerede beskrevet for tonehøydesøket brukes for å redusere beregningsbehovet.
Med henvisning til fig. 15 igjen fremgår at koderen omfatter en duplikat av dekoderen vist på fig. 5, et dekodersubsystem 235 vist på fig. 7 omfattes likeledes, og i dette subsystem beregnes filtertilstandene ved hjelp av lagrene Mp som lageret for tone-høydesyntesefilteret 550, Ma for syntesfilteret 552 og Mw for perseptiweiefilteret 556.
De filtertilstander som fremgår fra lagrene Mp og Ma føres til subsystemet 230 vist på fig. 7. Fra fig. 17 fremgår at disse tilstander overføres til nullimpulsresponsfilteret 620 (ZIR-filteret) som beregner nullresponsen for filtrene 550 og 552 og trekker resultatet fra samplene s(n) i summeringskretsen 622 hvoretter resultatet veies i filteret 624 som er et perseptiweiefilter. Utgangen fra det tilsvarende veiefilter 564, xc(n) brukes som den veide innkommende tale i ligningene (39)-(44) for middelkvadratawiket, hvor x(n) = x^n).
Fra fig. 17 fremgår at formantfilterets pulsrespons h(n) beregnes i filteret 626 og føres til skiftregisteret 628. Beregningen utføres for hver kodebokunderramme. For ytterligere å redusere beregningsomfanget avkortes responsen til 20 sampler.
Skiftregisteret 628 sammen med multiplikatoren 632, summeringskretsen 632 og skiftregisteret 634 er sammen innrettet for å utføre rekursiv konvolvering mellom verdiene h(n) fra skiftregisteret 628 og verdiene c(m) fra kodeboken 636 som på sin side inneholder kodebokvektorene slik det er gjennomgått ovenfor. Denne konvolvering utføres for å finne ZSR hos formantfilteret for hver kodevektor, idet det antas at kodebokvinningen G settes lik 1. Ved aktiveringen av konvolveringskretsen vil n gå fra til 1 for hver m, mens m går fra 1 til 256. I registeret 586 videreføres ikke data når n = 1 og holdes ikke når n = Lc. Data føres ut fra konvolveringskretsen når m< 1. Det bemerkes at konvolveringskretsen må startes for å utføre rekursiv konvolvering ved syklisk bevegelse av m underrammelengder før starten av korrelasjons- og sammenligningskretsen etter konvolveringskretsen.
Den kombinerte krets nevnt ovenfor utfører det aktuelle kodeboksøk for å gi verdiene I og G. Korrelasjonskretsen, som også kan kalles middelkvadratawikskretsen MSE beregner auto- og krysskorrelasjonen av ZSR med den oppfattelsesmessig veide forskjell mellom ZIR fra tonehøyde- og formantfilteret, og den innkommende tale x'(n). Dette betyr at det er korrelasjonskretsen som beregner verdien av G for hver verdi I. Korrelasjonskretsen består av et skiftregister 638, multiplikatorer 640 og 642, summeringskretser 644 og 646, registere 648 og 650, og en deler 652. I korrelasjonskretsen utføres beregningene slik at n kommer til å løpe periodisk fira Lc til 1, mens m på tilsvarende måte beveger seg fra 1 til 256.
Korrelasjonskretsen føles av sammenligningskretsen som utfører sammenligning og lagring av data for å bestemme den optimale verdi av I og G, kretsen består av en multiplikator 654, en komparator 656, registere 658, 660 og 662, og en kvantiseirngskrets 664. Kretsen gir for hver tonehøydeunderramme verdiene for I og G som minimaliserer avviket mellom den syntetiserte tale og den opprinnelige. G kvantiseres i kvantiseringskretsen 614 som utfører en DPCM-koding av verdiene på en tilsvarende måte som LSP-frekvenskvanti-seringen med forskyvning fjernet og tilhørende koding som beskrevet i forbindelse med fig.
12. Deretter føres de funne verdier for I og G til databufferen 222.
Ved kvantiseringen og DPCM-kodingen av kodeboken beregnes G i samsvar med følgende ligning:
hvor 20 lg G;_i og 20 lg G;_2 er henholdsvis verdiene som beregnes for den umiddelbart foregående ramme (i-l) og rammen foran denne (i-2).
Størrelsene LSP, I, G, L og b sammen med takten overføres til datapakkesubsystemet 236 hvor de overførte data ordnes for sending. I én utførelse overføres de ovenfor nevnte størrelser til dekoderen 234 via subsystemet 236, mens i en annen overføres de via databufferen 222 til dekoderen 234 for anvendelse under tonehøydesøket. I den foretrukne utførelse har man imidlertid beskyttelse av kodebokens fortegnbit i subsystemet 236 som kan påvirke kodebokindeksen I, og derfor må man ta hensyn til en slik beskyttelse i tilfelle størrelsene I og G blir overført direkte fra bufferen 222.
I subsystemet 236 kan data samles eller pakkes i forskjellige overføringsformater.
Fig. 18 illustrerer dette for et datapakkesubsystem 236 som består av en støygenerator med tilnærmet tilfeldig fordelt støy, her kalt en PN-generator 670, en CRC-krets 672 for syklisk redundanskontroll/beregning, en databeskyttelseskrets 674 og en kombinasjonskrets 676. PN-generatoren 670 mottar informasjon vedrørende overføringshastigheten eller takten, og for åttedels takt frembringer generatoren et 4-bits tilfeldig tall som videreføres til kombinasjonskretsen 676. CRC-kretsen 672 mottar verdiene for kodebokvinningen og LSP sammen med takten, og for full takt frembringer denne krets en 11 bits intern CRC-kode som føres frem til kombinasjonsenheten 676.
Denne krets mottar det tilfeldige tall, CRC-koden og verdiene for LSP, I, G, L og b fra databufferen 222 (fig. 7b) og har sin utgang koblet til subsystemet 234 for dataproses-seringen for overføringskanalen. I den utførelse hvor data føres direkte fra bufferen 222 til dekoderen 234 ved minimum frembringes det 4-bits tilfeldige tall fra PN-generatoren 670 via kombinasjonskretsen 676 til dekoderen. Ved full takt omfatter de databit som kommer fra CRC-kretsen 672 sammen med data vedrørende rammen fra kombinasjonskretsen 676, mens ved åttedels takt erstattes kodebokindeksverdien I av det tilfeldige 4-bits tall.
1 utførelseseksempelet er det foretrukket at det gis beskyttelse av kodebokvinningens fortegnbit, og ved dette gjøres vokoderens dekoder mindre følsom overfor en feil i denne bitposisjon. Hvis fortegnbiten nemlig ble endret som følge av en uregistrert feil ville kodebokindeksen peke på en vektor som ikke lenger hadde relasjon til den optimale situasjon. I feilsituasjonen uten beskyttelse ville den negative av den optimale vektor kunne velges, og denne vektor er faktisk den verst mulige vektor som kan finnes. Beskyttelsesskjemaet ifølge oppfinnelsen sikrer at en bitfeil på denne måte ikke kan forårsake et slikt uheldig valg. 1 praksis utføres det ved at beskyttelseskretsen 674 mottar verdien I og verdien G og undersøker fortegnbiten for G. Hvis fortegnet fastslås å være
negativt legges verdien 89 til, mod 128, til den tilordnede kodebokindeks I. Denne føres ut fra kretsen 674 enten den er modifisert eller ikke, til kombinasjonskretsen 676. I den viste utførelse foretrekkes at man ved full takt beskytter de oppfattelsesmessig mest følsomme bit i den komprimerte taledatapakke, såsom ved hjelp av en intern CRC (syklisk redundanskontroll). Elleve ekstra bit brukes for å utføre en slik feildeteksjon og -korreksjonsfunksjon som er i stand til å korrigere enhver enkelt feil i den beskyttede blokk. Denne beskyttede blokk består av den mest signifikante bit av de ti LSP-frekvenser og den tilsvarende mest signifikante bit av de åtte kodebokvinninger. Hvis en ukorrigerbar feil skulle dukke opp i denne blokk ignoreres pakken og en sletting iverksettes. Dette skal beskrives nærmere i den senere del av beskrivelsen. Eller settes tonehøydehevingen til null mens resten av parametrene brukes som mottatt. I det viste eksempel velges en syklisk kode som er relatert til følgende generatorpolynom:
hvorved man får en (31,21) syklisk kode. Det er imidlertid klart at andre polynomer også kan brukes. En total paritetsbit tilføyes for å gjøre koden til en (3i,21)-kode. Siden det foreligger bare 18 informasjonsbit vil de første tre siffere i kodeordet settes til null og ikke overføres. Denne teknikk gir tilleggsbeskyttelse slik at hvis syndromet indikerer en feil i disse posisjoner betyr dette at man har en ukorrigerbar feil. Kodingen av en syklisk kode i systematisk form involverer beregningen av paritetsbit som xlO u(x) modulo g(x), hvor u(x) er meldingens polynom.
I dekodeenden beregnes syndromet som resten etter divisjonen av den mottatte vektor med g(x). Hvis syndromet indikerer feilfrihet aksepteres pakken uansett hvilken status totalparitetsbiten har, mens hvis syndromet indikerer en enkelt feil korrigeres denne hvis tilstanden for totalparitetsbiten ikke stemmer. Hvis syndromet indikerer mer enn én feil vrakes pakken. Ytterligere detaljer i et slik feilbeskyttelsesskjema kan finnes i avsnitt 4.5 i artikkelen "Error Control coding: Fundamentals and Applications" av Lin og Costello, med hensyn til syndromberegninger.
I et nettbasert telefonsystem av kategori CDMA overføres data fra kombinasjonskretsen 674 til subsystemet 238 for kanalens overførte data, for å pakke data for sending i 20 ms datatransmisjonsrammer. I en overføringsramme hvor vokoderen er satt til full takt overføres 192 bit ved en effektiv bittakt eller overføringshastighet på9,6 kb/s. Transmisjonsrammen består i dette tilfelle av en blandet modusbit som brukes for indikasjon av en blandet rammetype (0 = bare tale, 1 = tale og data/signalering), 160 vokoderdatabit sammen med 11 interne CRC-bit, 12 eksterne eller rammerelaterte CRC-bit, og åtte "haf-eller avslutningsbit. Ved halv takt overføres 80 vokoderdata-bit sammen med 8 CRC-bit for rammen og 8 avslutnings-bit ved en effektiv overføringshastighet på 4,8 kb/s. Ved kvart takt overføres 40 vokoderdata-bit sammen med 8 slutt-bit ved den effektive overføringshastighet på 2,4 kb/s. Endelig overføres ved åttedels takt 16 vokoderdata-bit sammen med 8 slutt-bit, og overføringshastigheten er da effektivt 1,2 kb/s.
Ytterligere detaljer ved den modulasjon som brukes i CDMA-systemer og sammen med vokoderen ifølge oppfinnelsen kan finnes i den parallelle patentsøknad USSN 07/543 496, med tittel: "System and Method for Generating Signal Waveforms in a CDMA Cellular Telephone System", også i navn Qualcomm. I dette system benyttes et skjema ved overføringshastigheter lavere enn den maksimale, hvor databit ordnes i grupper med hver enkelt gruppe kvasitilfeldig plassert innenfor overføringsrammer med 20 ms varighet. Det er klart at andre rammelengder og bitordninger i stedet kan brukes for oppfinnelsens vokoder.
I CDMA-systemet og andre systemer kan prosessorsubsystemet 238 på ramme/ramme-basis avbryte sendingen av vokoderdata for i stedet å sende ut andre data såsom signaleringsdata eller informasjonsdata som ikke vedrører tale. Denne særlige over-føringssituasjon angis ofte som "blank and burst" eller det man kanskje kan kalle "intermitterende". Prosessorsubsystemet erstatter således vokoderdata med de ønskede over-føringsdata for den aktuelle ramme.
En annen situasjon kan oppstå hvor det er et ønske å overføre både vokoderdata og andre data innenfor én og samme transmisjonsramme. Denne situasjon kalles gjeme "dim and burst" eller kanskje "kombinert" på norsk. I slik kombinert overføring mottar vokoderen taktgrensesignaler som fastlegger den endelige takt eller overføringshastighet, for eksempel til halv takt. Denne informasjon føres til subsystemet 238 som tilføyer de ytterligere data sammen med de aktuelle vokoderdata for den bestemte transmisjonsramme.
En ytterligere funksjon for fulldupleks telefoniinksamband er "rate interlock" eller "taktkopling". Hvis den ene retning i sambandet utfører signaloverføring ved høyeste hastighet vil den andre retning i et slikt system tvinges til å overføre ved laveste hastighet og omvendt. Selv ved laveste takt eller hastighet vil det imidlertid være tilstrekkelig forståelighet for en aktiv taler å oppfatte at hun/han blir avbrutt og deretter stanse talen, hvoretter den andre sambandsretning kan overta informasjonsstrømmen. Hvis en som fører en samtale i et slikt samband fortsetter å snakke etter et forsøk på avbrytelse vil fremdeles sannsynligvis ikke oppfattes noen degradering av samtalekvaliteten siden vedkommendes egen tale "blokkerer" muligheten til å oppfatte kvalitetsforringelse. Ved at man dessuten kan bruke taktgrensesignaler kan vokoderen innstilles for å talekode talen ved en lavere takt enn den normale.
Det fremgår at disse grensesignaler kan brukes for å sette vokoderens maksimale takt til en lavere verdi enn full takt når det trengs tilleggskapasitet i CDMA-systemet. I et slikt system hvor et felles frekvensspektrum brukes for overføringen vil en brukers signal foreligge som en mulig interferens overfor andre brukere i systemet. Systemets brukerkapa-sitet er således begrenset av den totale interferens som forårsakes av systemets egne brukere. Når interferensnivået øker, normalt som følge av en økning av antallet brukere innenfor systemet vil man kunne forvente en degradering av kvaliteten for de brukere som ligger på nettet, nettopp på grunn av interferensøkningen generelt. Hver brukers bidrag til interferensen i et CDMA-system vil være en funksjon av brukerens overføringshastighet eller datatakt. Ved å la en vokoder kode inn tale ved en lavere takt enn den normale vil følgelig de kodede data overføres ved lavere overføringshastighet, hvilket bidrar til å redusere det totale interferensnivå. Av denne grunn kan systemkapasiteten økes betydelig ved å la flest mulig brukere overføre samtale ved lavest mulig overføringshastighet. Etter hvert som systemkravene øker kan altså brukernes vokodere gis kommando av systemovervåkingsenheten eller nettets basisstasjon om å redusere kodetakten. Vokoderen ifølge oppfinnelsen har en kvalitet slik at det vil være meget liten, om enn målbar, forskjell rent oppfattelsesmessig mellom den tale som er kodet inn ved full takt og den ved halv takt. Av denne grunn kan kvalitetsvirkningen for samband mellom systembrukere hvor tale vokodes ved lavere takt, såsom halv takt være av mindre betydning enn det som vil forårsakes ved en økning i interferensnivået generelt som følge av et øket antall brukere i systemet.
Forskjellige skjemaer kan derfor brukes for å bestemme individuelle vokodertaktgrenser for vokodetaktbestemmelse under det normale. For eksempel kan samtlige brukere i et nett kommanderes til å kode sin tale ved halv takt. En slik aksjon vil i vesentlig grad redusere systeminterferensen og ha nærmest ubetydelig virkning på kvaliteten mellom brukerne, i stedet gis det anledning til et stort antall nye brukere i samme nett. Inntil den totale interferens i systemet økes så mye av de ytterligere brukere at dette merkes, vil man omtrent ikke merke noen degradering i kvaliteten brukerne seg imellom.
Som nevnt tidligere omfatter koderen en kopi eller duplikat av dekoderen for å kunne utføre koding av rammene av talesampler etter prinsippet analyse ved syntese. Som illustrert på fig. 7 mottar dekoderen 234 verdiene L, b, I og G enten via datapakkesubsystemet 238 eller bufferen 222, for rekonstruering av den syntetiserte tale for sammenligning med den innkommende opprinnelige. Utgangene fra dekoderen er størrelsene Mp, Ma og Mw som forklart tidligere. Ytterligere detaljer ved dekoderen 234 som brukt i koderen og i rekonstruering av den syntetiserte tale i den motsatte ende av transmisjonskanalen skal nå gjennomgås sammen med omtale av fig. 19-24.
Fig. 19 viser et flytdiagram over en typisk utførelse av oppfinnelsens dekoder. På grunn av den felles oppbygging av dekoderen i koderen, og mottakeren vil samtlige ut-førelser gjennomgås under ett. Fig. 19 viser særlig dekoderen i enden av transmisjonskanalen siden data som mottas der må være forhåndsprosessert i dekoderen, mens de aktuelle data (takten, I, G, L og b) i dekoderen mottas direkte fra subsystemet 238 eller bufferen 222. Grunnfunksjonene er imidlertid de samme for både koder og dekoder.
På samme måte som tidligere, gjennomgåelsen av fig. 5 og omtalen av hver kodebokunderramme innhentes kodebokvektoren som bestemmes av indeksen I fra kode-boklageret. Vektoren multipliseres med kodebokvinningen G og filtreres deretter av tone-høydefilteret for hver tonehøydeunderramme slik at man kommer frem til formantresidualet. Dette filtreres av formantfilteret og føres så gjennom et adaptivformantpostfilter under automatisk forsterkningsregulering (AGC), for å frembringe utgangstalesignalet.
Selv om lengden av kodebok- og tonehøydeunderrammen variere utføres dekodingen i løpet av 40 samplingsblokker for å lette implementeringen. De komprimerte data som mottas deles først opp i størrelsene G, I, L, b og LSP. LSP-frekvensene må prosesseres gjennom sine respektive inverskvantiseringskretser og DPCM-dekodere slik det er forklart senere i forbindelse med fig. 22. Tilsvarende må kodebokvinningene prosesseres på analog måte, med unntak av det som gjelder dataforskyvningen. Også tonehøydehevingen inverskvantiseres. Disse parametere føres deretter til hver dekodeunderramme hvor to sett kodebokparametere (G og I), ett sett tonehøydeparametere (b og L) og ett sett LPC-koeffisienter trengs for å frembringe 40 utgangssampler. Fig. 20 og 21 illustrerer typiske under-rammedekodeparametere for de forskjellige takter og andre rammebetingelser.
For rammer med full takt foreligger åtte sett mottatte kodebokparametere og fire sett mottatte tonehøydeparametere. LSP-frekvensene interpoleres fire ganger for å frembringe fire sett LSP-frekvenser. Parametrene som mottas og den tilsvarende underrammeinformasjon er satt opp i fig. 20a.
For halvtaktrammer gjentas hvert sett av de fire mottatte kodebokparametere én gang, og likeledes gjentas hvert sett av de to mottatte tonehøydeparametere én gang. LSP-frekvensene interpoleres tre ganger for å frembringe fire sett LSP-frekvenser. De mottatte parametere og den tilsvarende underrammeinformasjon er satt opp i fig, 20b.
For kvarttaktsrammer gjentas de to mottatte kodebokparametere fire ganger, settet tonehøydeparametere gjentas også fire ganger, mens LSP-frekvensene interpoleres én gang for å frembringe to sett frekvenser. De mottatte parametere og den tilsvarende underrammeinformasjon er satt opp i fig. 20c.
For åttedelsrammer brukes settet mottatte kodebokparametere over hele rammen, og tonehøydeparametere foreligger ikke, mens tonehøydehevingen rett og slett settes til null. LSP-frekvensene interpoleres én gang for å frembringe ett sett frekvenser. Parametrene som mottas og den tilsvarende underrammeinformasjon er satt opp i fig. 20d.
Unntaksvis kan talepakkene blankes ut i den hensikt at CDMA-basisstasjonen eller nettets mobilstasjon i stedet skal sende eller overføre signalinformasjon. Når vokoderen i slike tilfeller mottar en blank ramme fortsetter den med ubetydelig modifikasjon av den tidligere rammes parametere, mens kodebokvinningen settes til null. Den tidligere rammes tone-høydeparametere brukes også i den etterfølgende, aktuelle ramme, med unntak av at tone-høydevinningen begrenses til én eller mindre. Den tidligere rammes LSP-frekvenser brukes som før uten interpolasjon. Merk at kode- og dekodeenden fremdeles er synkronisert og at vokoderen er i stand til å "hente seg opp igjen" fra en blank ramme meget raskt. Parametrene som mottas og den tilsvarende underrammeinformasjon er satt opp i fig. 21a.
I det tilfelle at en ramme tapes på grunn av kanalfeil prøver vokoderen å maskere eller eliminere denne feil ved å opprettholde en fraksjon av den tidligere rammes energi og sørge for en jevn overgang til bakgrunnsstøyen. I dette tilfelle kan tonehøydevinningen settes til null, en vilkårlig kodebok velges ved å bruke den tidligere rammes kodebokindeks pluss 89, og kodebokvinningen settes til 0,7 ganger den tidligere rammes tilsvarende verdi. Det skal bemerkes at det er ikke noe magisk med tallet 89, det er bare en hensiktsmessig måte å velge en kvasitilfeldig kodebokvektor på. Den tidligere rammes LSP-frekvenser tvinges til å avta mot sin basisverdi på følgende måte:
LSP-frekvensforskyvningsverdiene er vist i tabell 5. Parametrene som mottas og den tilsvarende underrammeinformasjon er satt opp i fig. 21b.
Hvis takten ikke kan bestemmes i mottakeren vrakes pakken og sletting iverksettes. Hvis imidlertid mottakeren bestemmer at det er stor sannsynlighet at rammen ble sendt ved full takt selv om den inneholdt feil vil følgende utføres: Som gjennomgått tidligere for full takt vil den komprimerte talepakkes data beskyttes av en intern CRC som søker å beskytte de oppfattelsesmessig mest følsomme bit. I dekodeenden beregnes syndromet som den resterende del etter divisjon av den mottatte vektor med g(x) i henhold til ligning (46). Hvis syndromet indikerer feilfrihet, aksepteres pakken uansett hva totalparitetsbiten angir. Hvis imidlertid syndromet indikerer en enkelt feil korrigeres denne hvis samme bit ikke stemmer, mens hvis syndromet indikerer mer enn én feil vrakes pakken. Hvis en ukorrigerbar feil dukker opp i denne blokk vrakes pakken og sletting settes i gang, ellers settes tonehøydehevingen til null, mens de øvrige parametere brukes som mottatt med korreksjonene, slik det fremgår av fig. 21c.
Postfiltrene som brukes i denne implementering ble først beskrevet i artikkelen "Real-Time Vector APC Speech Coding At 4800 BPS with Adaptive postfiltering" av J:H. Chen et al., Proe. ICASSP, 1987. Siden taleformantene oppfattelsesmessig er viktigere enn "bølgedalene" mellom dem aksentuerer eller hever postfilteret formantene noe for å bedre persepsjonen og dermed kvaliteten av den kodede tale. Dette gjøres ved å skalere polene i formantsyntesefilteret radialt mot origo. Det er imidlertid slik at et såkalt allpols postfilter generelt innfører en spektral helling som fører til noe forvrengning av den filtrerte tale, idet forvrengningen gjerne arter seg som en slags utviskning eller dempning slik at talen blir mer ullen. Den spektrale helling av et slikt allpols postfilter reduseres ved å tilføye nuller som har samme fasevinkel som polene, men som har mindre radius, hvilket fører til at postfilterets overføringskarakteristikk blir:
hvor A(z) er formantprediksjonsfilteret, mens verdiene p og u er postfilterets skaleringsfaktorer, idet p settes lik 0,5 mens a settes lik 0,8.
Et såkalt AB-filter, idet forkortelsen står for "adaptive brightness" eller adaptiv klar-eller tydelighet av talen", er tilføyd for ytterligere å kompensere for den spektrale helling som innføres av formantpostfilteret. AB-filteret har overføringsfunksjon av formen:
hvor verdien av k (koeffisienten av et enkeltuttaksfilter) bestemmes av den gjennomsnittlige verdi av LSP-frekvensene som gir tilnærming av endringen i den spektrale helling av A(z).
For å hindre store utsving som følge av postfiltreringen har man lagt inn en AGC-sløyfe for å skalere taleutgangen slik at den tilnærmelsesvis far samme energi som den ikke postfiltrerte tale. Forsterkningsreguleringen utføres ved å dele kvadratsummen av de 40 filterinngangssampler med kvadratsummen av de 40 filterutgangssampler slik at man får den inverse filteroverføringskarakteristikk. Kvadratroten av denne forsterkningsfaktor glattes deretter i henhold til ligningen:
deretter multipliseres filterutgangen med den glattede utgang for å frembringe talesignalet på utgangen.
I henhold til fig. 19 føres data fra kanalen sammen med informasjon om takten, enten for overføring sammen med de aktuelle kanaldata eller utledet på annen måte, og over-føringen skjer til det subsystem 700 som kan kalles "datautpakkingssystemet". I en utførelse for et CDMA-system kan en taktbestemmelse foretas ut fra feilhyppigheten for de mottatte data når dekodingen skjer for hver av de forskjellige taktverdier. I subsystemet 700 utføres ved full takt en kontroll av typen CRC for feil, og resultatet føres til et subsystem 702 for underrammen. Subsystemet 700 gir indikasjon på unormale rammeforhold såsom en blank ramme, en slettet ramme eller en feilaktig, via brukbare data til subsystemet 702. Subsystemet 700 overfører taktverdien sammen med parametrene I, G, L og b for den aktuelle ramme til subsystemet 702. Ved å tilveiebringe størrelsene I og G kan fortegnbiten for G kontrolleres i subsystemet 702, og hvis den er negativ trekkes verdien 89 fra, mod 128, størrelsen I. Videre utføres i dette subsystem en invers kvantisering og en DPCM-dekoding av størrelsen G, mens tonehøydehevingen inverskvantiseres.
Subsystemet 700 gir også ut taktverdien og LSP-frekvensene til et subsystem 704 for invers kvantisering og interpolasjon av LSP-verdiene. Subsystemet 700 gir videre informasjon vedrørende forhold såsom blank, slettet eller feilaktig ramme med brukbare data til subsystemet 704. En dekodeteller 706 for underrammen gir indikasjon om tellerverdiene i og j i underrammen for begge subsystemer 702 og 704.
I subsystemet 704 inverskvantiseres og interpoleres LSP-frekvensene. Fig. 22 illustrerer en utførelse av inverskvantiseringsdelen av subsystemet 704, mens interpolasjons-delen er i alt vesentlig identisk med den som er beskrevet i forbindelse med fig. 12. Fig. 22 viser at inverskvantiseringsdelen består av en inverskvantiseringskrets 750 som er likt oppbygget med kretsen 468 vist på fig. 12 og arbeider på samme måte. Kretsens utgang er ført til en summeringskrets 752 hvis andre inngang kommer fra en multiplikator 754. Summeringskretsens 752 utgang går til et register 756 for lagring og tilførsel til multiplikatoren for multiplikasjon med konstanten 0,9 i denne. Summeringskretsens utgang føres også til en etterfølgende summeringskrets 758 hvor en forskyvningsverdi tilføres for å oppnå den opprinnelige LSP-frekvens «;. Tilordningen av disse frekvenser besørges av en logisk krets 760 (se fig. 23) som bevirker at LSP-frekvensene får en minste innbyrdes avstand. Vanligvis vil det ikke være behov for på denne måte å tvinge frekvensene fra hverandre hvis ikke det foreligger en feil i overføringen. LSP-frekvensene interpoleres som gjennomgått i forbindelse med fig, 13 og med henvisning til fig. 20a-20d og 21a-21c.
Ser vi igjen på fig. 19 fremgår at lageret 708 er koplet til subsystemet 704 for lagring av den tidligere rammes LSP-frekvenser coijf.| og kan også brukes til å lagre forskyvningsverdiene bodj. Disse tidligere rammeverdier brukes ved interpolasjonen for samtlige taktverdier. Når det gjelder rammer som er blanke, slettet eller er feilaktige, men som likevel antas å inneholde brukbare data, brukes den tidligere LSP-frekvens 0)^.1 i samsvar med diagrammet på fig. 21a-21c. I respons på en blank ramme indikert av subsystemet 700 gjenfinner subsystemet 704 den foregående rammes LSP-frekvenser, idet de ligger lagret i lageret 708, for bruk i den aktuelle ramme. I respons på en rammesletteindikasjon finner også subsystemet 704 tilbake til den tidligere rammes LSP-frekvenser fra lageret 708, sammen med forskyvningsverdiene, hvorved den aktuelle rammes LSP-frekvenser kan settes opp slik som gjennomgått ovenfor. Ved utførelse av denne oppsettingsberegning trekkes den lagrede forskyvningsverdi fra den tidligere rammes LSP-frekvens i en summeringskrets, og resultatet multipliseres i en multiplikator med en konstant verdi på 0,9, hvoretter resultatet summeres i en summeringskrets, med den lagrede forskyvningsverdi. I respons på en feilaktig ramme med brukbar dataindikasjon interpoleres LSP-frekvensene som for full takt hvis CRC rinnes å være i orden.
LSP-frekvensene overføres til transformasjonssubsystemet 710 hvor de blir omvandlet tilbake til LPC-verdier, idet dette subsystem hovedsakelig er identisk med det tilsvarende subsystem 218 eller 228 vist på fig. 7 og som allerede er beskrevet i forbindelse med fig. 13. LPC-koeffisientene (% videreføres deretter til både formantfilteret 714 og formantpostfilteret 716. LSP-frekvensene midles også over underrammen i et LSP-midlingssubsystem 712 og føres til det adaptive klarhetsfilter 718 som verdien k.
Subsystemet 702 mottar parametrene I, G, L og b for rammen fra subsystemet 700 sammen med indikasjon på hvilken takt som gjelder og om det foreligger en unormal ramme. Subsystemet 702 mottar også fra telleren 706 tellersifferet j for hver i-te telling i hver dekodeunderramme 1-4. Dette subsystem 702 er videre koplet til et lager 720 for lagring av den tidligere rammes verdier G, I, L og b for bruk under unormale rammeforhold. Subsystemet 702 gir under normale rammeforhold, med unntak av åttedels takt kodebokindeksverdien Ij til kodeboken 722, kodebokvinningsverdien Gj til multiplikatoren 724 og tonehøydeverdiene L og b til tonehøydefilteret 726 slik det er illustrert på fig. 20a-20d. For åttedels takt sendes en "pakkekime" ("packet seed") siden det ikke foreligger noen verdi for den sendte kodebokindeks, idet denne "kime" er den 16-bits parameterverdi (fig. 2d) som for åttedels takt overføres til kodeboken 722 sammen med en taktindikasjon. Ved unormale rammetilstander overføres verdiene fra subsystemet 702 i henhold til fig. 21a-21c. Videre overføres ved åttedels takt en indikasjon til kodeboken 722 slik det fremgår av fig. 23.
I respons på indikasjonen blank ramme fra subsystemet 700 finner subsystemet 702 tilbake til den foregående rammes verdier L og b, med unntak av at hevingen begrenses til én eller mindre. Disse verdier ligger lagret i lageret 708 for bruk i underrammene for dekoding fra den aktuelle ramme. Videre er det slik at man ikke da har noen kodebokindeks I, og G settes lik null. I respons på en rammesletteindikasjon finner subsystemet 702 på ny tilbake til den foregående rammes kodebokindeks fra lageret 720 og summerer i en summeringskrets verdien 89 til den funne verdi. Den tidligere rammes underrammeverdi G multipliseres i en multiplikator med konstanten 0,7 for å frembringe den gjeldende G-verdi for underrammen. Ingen b-verdi for tonehøyden fremkommer siden L = 0.1 respons på en rammefeil med indikasjon om brukbare data brukes kodebokindeksen og -vinningen som i en ramme med full takt, under forutsetning av at CRC er i orden, mens b heller ikke her forefinnes, siden L = 0.
Som forklart med visning til koderens dekoder innenfor analyse/synteseteknikk brukes kodebokindeksen I som en første kodebokverdi for overføring til multiplikatoren 704 som multipliserer verdien med utgangsverdien fra kodeboken 722, hvorved resultatet føres til tonehøydefilteret 726. Dette filter bruker verdiene L og b til å frembringe formantresidualet som på sin side føres ut til formantfilteret 714 hvor LPC-koefifsientene brukes til filtrering av formantresidualet slik at talen kan gjenskapes. I mottakerens dekoder filtreres på ny den rekonstruerte tale ved hjelp av formantpostfilteret 716 og det adaptive klarhetsfilter 718. Forsterkningssløyfen 728 brukes på utgangen av formantfilteret 714 og formantpostfilteret 716 hvis utgang i multiplikatoren 730 multipliseres med utgangen fra filteret 718. Utgangen fra multiplikatoren 730 er den rekonstruerte tale som i dette tilfelle omvandles til analog form ved hjelp av kjent teknikk og presenteres for lytteren. I dekoderen i koderen legges perseptiweiefilteret inn ved utgangen for oppdatering av lagrene.
Det vises nå til fig. 23 som illustrerer ytterligere detaljer ved implementeringen av selve dekoderen. Kodeboken 722 omfatter i dette tilfelle et lager 750 (merk at enkelte av henvisningstallene ikke viser samme element som i fig. 22) tilsvarende det lager som er beskrevet i forbindelse med fig. 17. For å lette forklaringen er lageret 750 noe annerledes enn før, det samme gjelder adresseringen av det. Kodeboken 722 består videre av en vender 752 (uten henvisningstall på fig. 23), en multipleksenhet 753 og en PN-generator 754. Venderen 752 arbeider under kommando av kodebokindeksen for å tilkople eller peke på indeksadressen i lageret 750, slik det ble beskrevet i forbindelse med fig. 17. Lageret 750 er et "sirkulært" eller permuterende lager med venderen pekende på den første lagerplass og med verdiene forskjøvet gjennom lageret før utgangen. Kodebokverdiene føres ut fra lageret 750 via venderen og til multipleksenheten 753 som er respons på taktartene full, halv og kvart for å gi en utgang av de verdier som er tilveiebrakt gjennom venderen 752 til kode-bokvinningsforsterkeren, multiplikatoren 724. Multipleksenheten 753 har også respons overfor åttedelstaktindikasjon for å velge utgangen fra PN-generatoren 754 for å føre ut kodeboken 722 til multiplikatoren 724.
For å opprettholde god talekvalitet ved CELP-koding må koderen og dekoderen ha samme verdier lagret i deres interne filterlagere. Dette utføres ved å sende ut kodebokindeksen slik at dekoderens og koderens filtere aktiveres av samme sekvens av verdier. For den aller beste talekvalitet består disse sekvenser imidlertid av hovedsakelig nuller og med enkelte spisser fordelt mellom dem. Denne type aktivering er ikke optimal for koding av bakgrunnsstøyen.
Ved koding av bakgrunnsstøyen, utført ved laveste takt kan en kvasitilfeldig sekvens brukes for aktivering av filtrene. For å sikre at filterlagrene er like i koderen og dekoderen må de to kvasitilfeldige sekvenser være like. En "kime" må av denne grunn sendes over fra senderens til mottakerens dekoder. Siden det ikke er noen ytterligere bit som kan brukes for å overføre en slik "kime" kan selve transmisjonspakkens bit brukes som om de utgjorde et nummer. Denne teknikk kan utføres siden man ved lav takt har nøyaktig samme CELP-analyse/syntese for å bestemme kodebokens vinning og indeks. Forskjellen er at kodebokindeksen kastes ut, i stedet oppdateres kodefilterlagrene ved hjelp av en kvasitilfeldig sekvens. Derfor kan kimen for eksitering bestemmes etter at analysen er utført. For å være sikker på at datapakkene ikke periodisk veksler mellom forskjellige gitte bitmønstere legges fire forskjellige bit inn i åttedelspakken i stedet for kodebokindeks-verdiene. Derfor gjelder for pakkens kime den 16-bits verdi som det ble referert til i forbindelse med fig. 2d.
PN-generatoren 754 er bygget opp med velkjent teknikk og kan implementeres med forskjellige algoritmer. I det viste eksempel er den algoritme som brukes av det slag som er beskrevet i artikkelen "DSP chips can produce random numbers using proven algorithm" av Paul Mennen, EDN, 21. januar 1991. Den overførte bitpakke brukes som kime (fra subsystemet 700 i henhold til fig. 18) for å frembringe sekvensen. I én utførelsesform multipliseres kimen med verdien 521 som er verdien 259 tillagt. Fra dette resultat i form av en verdi brukes de minst signifikante bit (MSB) som et tilordnet 16-bits nummer. Verdien brukes derved som kime ved frembringelse av den neste kodebokverdi. Sekvensen som frembringes av PN-generatoren er normalisert med hensyn til varians slik at denne blir 1,0.
Hver utgående verdi fra kodeboken 722 multipliseres i multiplikatoren 724 med verdien G som fremkommer under dekodeunderrammen. Denne verdi tilføres som den ene inngang på en summeringskrets 756 koplet til tonehøydefilteret 726. Dette består på sin side av en multiplikator 758 og et lager 760. Senkningen L bestemmer posisjonen av en tapping på lageret 760, koplet til en multiplikator 758. Utgangen fra lageret 760 multipliseres i en multiplikator 758 med verdien b og med resultatet ført til summeringskretsen 756. Utgangen fra summeringskretsen 756 går til inngangen på et lager 760 som består av en rekke forsinkelseselementer såsom et skiftregister. Verdiene blir forskjøvet i lageret 760 (i en retning som er indikert med pilen) og ført ut til en bestemt tapping som bestemmes av verdien L. Siden verdiene forskyves gjennom lageret 760 kommer verdier som er eldre enn 143 forskyvninger til å vrakes. Utgangen fra summeringskretsen 756 er også ført som en inngang til formantfilteret 714.
Utgangen fra summeringskretsen 756 er ført til en inngang på en summeringskrets 762 på formantfilteret 714 som videre omfatter en multiplikatorbank 764a-764j og et lager 766. Utgangen fra summeringskretsen 762 er ført til en inngang på det etterfølgende lager 766 som også er bygget opp med en rekke tappede forsinkelseselementer såsom et skiftregister. Verdiene forskyves i lageret 766 (i den retning som er indikert med en pil) og "dumpes" i enden. Hvert element har en tapping som tilveiebringer den verdi som er lagret som en utgang til sin respektive multiplikator i banken 764a-764j. Hver av bankens multiplikatorer mottar også sin respektive LPC-koeffisient oti-aio for multiplikasjon med utgangen fra lageret 766. Utgangen fra summeringskretsen 762 er ført til formantfilteret 714.
Utgangen fra formantfilteret 714 er ført til en inngang på det etterfølgende formantpostfilter 716 og forsterkningsreguleringssubsystemet 728 (AGC). Formantpostfilteret består av summeringskretser 768 og 770 med tilhørende lager 772 og multiplikatorer 774a-774j, 776a-776j, 780a-780j og 782a-782j. Siden verdiene rulleres eller forskyves gjennom lageret 772 er det anordnet utganger ved de forskjellige tappinger, for uttak til multiplikasjon med de skalerte LPC-koeffisientverdier, for summering i summeringskretsene 768 og 770. Utgangen fra formantpostfilteret 716 er ført som en inngang til det etterfølgende filter 718 som utfører adaptiv klarhetsfiltrering.
Filteret 718 består av summeringskretsene 784 og 786, registrene 788 og 790 og multiplikatorene 792 og 794. Fig. 24 viser skjematisk karakteristikken for et slikt filter. Utgangen fra formantpostfilteret 716 er ført til den ene inngang på summeringskretsen 784 hvis andre inngang tilføres signaler fra utgangen på multiplikatoren 792. Utgangen på summeringskretsen 784 er ført til registeret 788 og signalet på denne utgang lagres én periode og føres først ut den neste periode til multiplikatorene 792 og 794 sammen med verdien -k fra LSP-midlerkretsen 712 vist på fig. 19. Utgangen fra multiplikatorene 792 og 794 er ført til sine respektive summeringskretser 784 og 786, og utgangen fra den siste er ført til subsys-ternet 728 (AGC) og til skiftregisteret 790. Dette register brukes som en forsinkelseslinje for å sikre koordinering mellom datautgangen fra formantfilteret 714 til subsystemet 728 og de data som er ført til filteret 718 via formantpostfilteret 716.
Subsystemet 728 mottar data fra formantpostfilteret 716 og filteret 718 for å skalere talens utgangsenergi til den blir sentrert i forhold til energien i den opprinnelige tale som er ført inn til formantpostfilteret 716 og filteret 718. Subsystemet 728 består av multiplikatorene 798, 800, 802 og 804, summeringskretsene 806, 808 og 810, registrene 812, 814 og 820, en divisjonskrets 816 og et kvadratrotelement 818. De 40 utgangssampler fra formantpostfilteret 716 kvadreres i multiplikatoren 798 og summeres i en akkumulator som består av en summeringskrets 806 og et register 812 for å frembringe verdien "x". Tilsvarende kvadreres de 40 utgangssampler fra filteret 718 før de føres til registeret 790 i multiplikatoren 800 og summeres i en akkumulator som består av summeringskretsen 808 og registeret 814 for å frembringe verdien "y". Verdien "y" divideres med verdien "x" i divisjonskretsen 816 for å danne filtrenes inverse overføringsfunksjon. Kvadratroten av denne inverse overføringsfunksjon utføres i elementet 818, og resultatet glattes deretter. Glattingen utføres ved å multiplisere den aktuelle verdi G med den konstante verdi 0,02 i multiplikatoren 802 og med resultatet summert i summeringskretsen 810 med resultatet av 0,98 ganger den foregående verdi G som ble beregnet ved hjelp av registeret 820 og multiplikatoren 804. Utgangen fra filteret 718 multipliseres deretter med den glattede inverse overføringsfunksjon i multiplikatoren 730 for å tilveiebringe den endelige rekonstruerte tale. Denne tale er omvandlet til analog form ved å bruke forskjellige velkjente omvandlingsteknikker, før talen presenteres for brukeren.
Det skal fastslås at utførelsen av denne oppfinnelse slik den er beskrevet her er i form av et eksempel, og at forskjellige andre utførelsesformer også vil kunne være funk-sjonsmessige ekvivalenter. Oppfinnelsen kan brukes i en signalprosessor for digitale signaler under hensiktsmessig programstyring for utføring av talesampling og dekoding av kodet tale. Andre anvendelser kan være for spesifiserte integrerte kretser (ASIC) hvor storskalaintegrering inngår (VLSI).
Beskrivelsen og illustrasjonene er utført slik at hensikten er at en fagutdannet person skal kunne utføre og/eller utøve oppfinnelsen. De forskjellige modifikasjoner vil for samme person være innlysende, og hovedprinsippene vil kunne brukes for andre utførelsesformer uten bruk av oppfinnerisk virksomhet. Således er ikke oppfinnelsen ment å være begrenset til de utførelser som er vist og beskrevet, men vil dekke det videst mulige aspekt i samsvar med prinsippene og de nye trekk som er angitt.

Claims (15)

1. Fremgangsmåte for koding av innkommende tidsintervaller kalt rammer (10, 14) med digitaliserte sampler av et akustisk signal som hovedsakelig består av tale og bakgrunnsstøy, hvilken koding utføres ved forskjellig takt og er innrettet for koding ved hjelp av en CELP-koder, nemlig en koder for lineær kodeaktivert prediktiv koding, karakterisert ved: beregning (82, 206) av LPC-koefifsienter for lineær prediktiv koding, for hver ramme i en sekvens innkommende rammer (10,14) med digitaliserte talesampler, valg (84, 204) for hver ramme (10, 14) av en utgangsdatapakketakt fra et sett datapakketakter og basert på minst én av LPC-koefifsientene, begrensning av det antall bit som representerer disse LPC-koefifsienter, til et forhåndsbestemt antall bit, ut fra den valgte takt, bestemmelse (96, 98, 100) av tonehøydeparametere for hver enkelt av flere tonehøydeunderrammer (16, 20, 24) for tonehøydeanalyse, i et sett slike tonehøyde-underrammer for hver respektive ramme (10,14), hvor antallet slike tonehøydeunderrammer i settet, for hver ramme (10, 14) bestemmes av den valgte takt, og hvor tonehøyde-parametrene for hver av tonehøydeunderrammene (16,20, 24) representeres ved et antall bit som også bestemmes av den valgte takt, bestemmelse (104, 106, 108) av kodebokparametere for hver enkelt av flere kodebokunderrammer (18, 22, 26, 28) for kodebokanalyse, i et sett slike kodebokunderrammer for hver respektive ramme (10,14), hvor antallet slike kodebokunderrammer i settet, for hver ramme (10, 14) bestemmes av den valgte takt, og hvor kodebokparametrene for hver av kodebokunderrammene (18, 22, 26, 28) representeres ved et antall bit som også bestemmes av den valgte takt, og tilførsel (114) for hver ramme (10, 14) av en utgangsdatapakke hvis digitalsifre representerer LPC-koefifsientene, og tonehøydeparametrene og kodebokparametrene for hver enkelt tonehøyde- og kodebokunderramme.
2. Fremgangsmåte ifølge krav 1, karakterisert ved omvandling (86) av LPC-koeffisientene til et sett koeffisienter LSP for linjespektralpar.
3. Fremgangsmåte ifølge krav 1, karakterisert ved etablering av et sett feilbeskyttelsessifre for hver enkelt ramme (10,14).
4. Koder for lineær kodeaktivert prediktiv koding ved forskjellig takt, en CELP-koder, og innrettet for koding ved slik forskjellig takt, av innkommende rammer (10, 14) med digitaliserte sampler av et akustisk signal som hovedsakelig omfatter tale og bakgrunnsstøy, karakterisert ved: midler for beregning (50, 82, 206) av LPC-koeffisienter for lineær prediktiv koding, for hver ramme i en sekvens innkommende rammer (10, 14) med digitaliserte talesampler, midler for valg (84, 204), for hver ramme (10, 14), av en utgangsdatapakketakt fra et sett datapakketakter og basert på minst én av LPC-koeffisientene, midler for begrensning av antallet bit som representerer disse LPC-koeffisienter, til et forhåndsbestemt antall bit, ut fra den valgte takt, midler for bestemmelse (96, 98, 100) av tonehøydeparametere for hver enkelt av flere tonehøydeunderrammer (16, 20, 24) for tonehøydeanalyse, i et sett slike tonehøyde-underrammer for hver respektive ramme (10,14), hvor antallet slike tonehøydeunderrammer i settet, for hver ramme (10, 14) bestemmes av den valgte takt, og hvor tonehøyde-parametrene for hver av tonehøydeunderrammene (16, 20, 24) representeres ved et antall bit som også bestemmes av den valgte takt, bestemmelse (104, 106, 108) av kodebokparametere for hver enkelt av flere kodebokunderrammer (18, 22, 26, 28) for kodebokanalyse, i et sett slike kodebokunderrammer for hver respektive ramme (10, 14), hvor antallet slike kodebokunderrammer i settet, for hver ramme (10, 14) bestemmes av den valgte takt, og hvor kodebokparametrene for hver av kodebokunderrammene (18, 22, 26, 28) representeres ved et antall bit som også bestemmes av den valgte takt, og midler for tilførsel (114), for hver ramme (10, 14), av en utgangsdatapakke hvis digitalsifre representerer LPC-koeffisientene, og tonehøydeparametrene og kodebokparametrene for hver enkelt tonehøyde- og kodebokunderramme, ved den valgte takt.
5. Koder ifølge krav 4, karakterisert ved at antallet tonehøydeunderrammer for hver ramme (10,14) bestemmes av den valgte takt og omfatter: fire underrammer (16) når den valgte utgangsdatapakketakt er full takt, to underrammer (2) når den valgte takt er halv takt, og én underramme (24) når den valgte takt er kvart takt.
6. Koder ifølge krav 4, karakterisert ved midler for forhåndsmultiplikasjon (200) av de digitaliserte sampler, med en forhåndsbestemt vindusfunksjon (12).
7. Koder ifølge krav 6, karakterisert ved at vindusfunksjonen er et Hammingvindu (12).
8. Koder ifølge krav 4, karakterisert ved at midlene for valg av kodetakt arbeider i respons på et eksternt taktsignal.
9. Koder ifølge krav 5, karakterisert ved at antallet tonehøydeunderrammer for hver ramme bestemmes av den valgte takt og slik at det ikke er noen tonehøydeunderrammer når den valgte utgangsdatapakketakt er 1/8 takt.
10. Koder ifølge krav 4, karakterisert ved at utgangsdatapakken videre omfatter et forhåndsbestemt antall bit for feilbeskyttelse, idet dette antall bit bestemmes i respons på et nivå for audioaktivitet.
11. Koder ifølge krav 4, karakterisert ved at midlene for å bestemme tonehøydeparametre tilveiebringer fire slike parametere, hver parameter med størrelse eller lengde 10 bit, når den valgte utgangsdatapakketakt er full takt, to parametere, hver også med lengde 10 bit når den valgte takt er halv takt, og én parameter med samme lengde 10 bit når takten er kvart takt.
12. Koder ifølge krav 11, karakterisert ved at midlene for å beregne tonehøydeparametere sperres når den valgte utgangsdatapakketakt er 1/8 takt.
13. Koder ifølge krav 1, karakterisert ved at midlene for å bestemme kodebokparametere tilveiebringer åtte slike parametere når den valgte utgangsdatapakketakt er full takt, fire parametere når den valgte takt er halv takt, to parametere når den valgte takt er kvart takt og én parameter når den valgte takt er 1/8 takt.
14. Koder ifølge krav 13, karakterisert ved at midlene for å bestemme kodebokparametere tilveiebringer 10 bit for hver av disse parametere når den valgte takt er full takt, 10 bit for hver av parametrene når den valgte takt er halv takt, 10 bit for hver av parametrene når den valgte takt er kvart takt og 6 bit for hver av parametrene når den valgte takt er 1/8 takt.
15. Koder ifølge krav 4, karakterisert ved at midlene for å begrense antallet bit som representerer LPC-koeffisientene tilveiebringer 40 bit for representasjon av disse koeffisienter når den valgte takt er full takt, 20 bit for representasjon av koeffisientene når den valgte takt er halv takt, 10 bit for å representere koeffisientene når den valgte takt er kvart takt, og 6 bit for å representere koeffisientene når den valgte takt er 1/8 takt.
NO19934544A 1991-06-11 1993-12-10 Fremgangsmate og koder for taleprosessering ved forskjellig overforingstakt, saerlig ved lineaer prediktiv koding (LPC) NO319559B1 (no)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US71366191A 1991-06-11 1991-06-11
PCT/US1992/004605 WO1992022891A1 (en) 1991-06-11 1992-06-03 Variable rate vocoder

Publications (3)

Publication Number Publication Date
NO934544L NO934544L (no) 1993-12-10
NO934544D0 NO934544D0 (no) 1993-12-10
NO319559B1 true NO319559B1 (no) 2005-08-29

Family

ID=24866989

Family Applications (1)

Application Number Title Priority Date Filing Date
NO19934544A NO319559B1 (no) 1991-06-11 1993-12-10 Fremgangsmate og koder for taleprosessering ved forskjellig overforingstakt, saerlig ved lineaer prediktiv koding (LPC)

Country Status (21)

Country Link
US (3) US5414796A (no)
EP (8) EP0588932B1 (no)
JP (7) JP3432822B2 (no)
CN (8) CN1091535C (no)
AT (4) ATE208945T1 (no)
AU (3) AU671952B2 (no)
BR (1) BR9206143A (no)
CA (6) CA2483322C (no)
DE (4) DE69233794D1 (no)
DK (2) DK0588932T3 (no)
ES (4) ES2348319T3 (no)
FI (5) FI120425B (no)
HK (3) HK1014796A1 (no)
HU (1) HU215861B (no)
IL (4) IL113986A (no)
MX (1) MX9202808A (no)
NO (1) NO319559B1 (no)
RU (1) RU2107951C1 (no)
SG (1) SG70558A1 (no)
WO (1) WO1992022891A1 (no)
ZA (1) ZA924082B (no)

Families Citing this family (499)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010050943A1 (en) * 1989-08-03 2001-12-13 Mahany Ronald L. Radio frequency communication network having adaptive communication parameters
US7606575B2 (en) 1988-08-04 2009-10-20 Broadcom Corporation Remote radio data communication system with data rate switching
US6693951B1 (en) 1990-06-25 2004-02-17 Qualcomm Incorporated System and method for generating signal waveforms in a CDMA cellular telephone system
DE69233794D1 (de) * 1991-06-11 2010-09-23 Qualcomm Inc Vocoder mit veränderlicher Bitrate
US5355450A (en) * 1992-04-10 1994-10-11 Avid Technology, Inc. Media composer with adjustable source material compression
AU3274593A (en) * 1991-12-13 1993-07-19 Avid Technology, Inc. Quantization table adjustment
SE469764B (sv) * 1992-01-27 1993-09-06 Ericsson Telefon Ab L M Saett att koda en samplad talsignalvektor
TW224191B (no) * 1992-01-28 1994-05-21 Qualcomm Inc
CA2105269C (en) * 1992-10-09 1998-08-25 Yair Shoham Time-frequency interpolation with application to low rate speech coding
FI95086C (fi) * 1992-11-26 1995-12-11 Nokia Mobile Phones Ltd Menetelmä puhesignaalin tehokkaaksi koodaamiseksi
US5617423A (en) 1993-01-08 1997-04-01 Multi-Tech Systems, Inc. Voice over data modem with selectable voice compression
US5812534A (en) 1993-01-08 1998-09-22 Multi-Tech Systems, Inc. Voice over data conferencing for a computer-based personal communications system
US5453986A (en) 1993-01-08 1995-09-26 Multi-Tech Systems, Inc. Dual port interface for a computer-based multifunction personal communication system
US5535204A (en) 1993-01-08 1996-07-09 Multi-Tech Systems, Inc. Ringdown and ringback signalling for a computer-based multifunction personal communications system
US6009082A (en) 1993-01-08 1999-12-28 Multi-Tech Systems, Inc. Computer-based multifunction personal communication system with caller ID
US5546395A (en) 1993-01-08 1996-08-13 Multi-Tech Systems, Inc. Dynamic selection of compression rate for a voice compression algorithm in a voice over data modem
US5864560A (en) 1993-01-08 1999-01-26 Multi-Tech Systems, Inc. Method and apparatus for mode switching in a voice over data computer-based personal communications system
US5452289A (en) 1993-01-08 1995-09-19 Multi-Tech Systems, Inc. Computer-based multifunction personal communications system
US5754589A (en) 1993-01-08 1998-05-19 Multi-Tech Systems, Inc. Noncompressed voice and data communication over modem for a computer-based multifunction personal communications system
US5657423A (en) * 1993-02-22 1997-08-12 Texas Instruments Incorporated Hardware filter circuit and address circuitry for MPEG encoded data
WO1994024823A1 (en) * 1993-04-16 1994-10-27 Data Translation, Inc. Adaptive video compression using variable quantization
JPH08511915A (ja) * 1993-04-16 1996-12-10 データ トランスレイション,インコーポレイテッド 適応型画像伸張
FI96248C (fi) * 1993-05-06 1996-05-27 Nokia Mobile Phones Ltd Menetelmä pitkän aikavälin synteesisuodattimen toteuttamiseksi sekä synteesisuodatin puhekoodereihin
US5659659A (en) * 1993-07-26 1997-08-19 Alaris, Inc. Speech compressor using trellis encoding and linear prediction
ZA946674B (en) * 1993-09-08 1995-05-02 Qualcomm Inc Method and apparatus for determining the transmission data rate in a multi-user communication system
US5649299A (en) * 1993-10-27 1997-07-15 Motorola, Inc. Apparatus and method for adapting a digital radiotelephone system to increased subscriber traffic
US6088590A (en) 1993-11-01 2000-07-11 Omnipoint Corporation Method and system for mobile controlled handoff and link maintenance in spread spectrum communication
US6005856A (en) 1993-11-01 1999-12-21 Omnipoint Corporation Communication protocol for spread spectrum wireless communication system
IL111469A0 (en) 1993-11-01 1994-12-29 Omnipoint Corp Despreading/demodulating direct sequence spread spectrum signals
US6094575A (en) 1993-11-01 2000-07-25 Omnipoint Corporation Communication system and method
JP3182032B2 (ja) * 1993-12-10 2001-07-03 株式会社日立国際電気 音声符号化通信方式及びその装置
US5621852A (en) * 1993-12-14 1997-04-15 Interdigital Technology Corporation Efficient codebook structure for code excited linear prediction coding
US5784532A (en) * 1994-02-16 1998-07-21 Qualcomm Incorporated Application specific integrated circuit (ASIC) for performing rapid speech compression in a mobile telephone system
EP0702863B1 (en) * 1994-02-17 2004-10-20 Motorola, Inc. Method and apparatus for controlling encoding rate in a communication system
US5574825A (en) * 1994-03-14 1996-11-12 Lucent Technologies Inc. Linear prediction coefficient generation during frame erasure or packet loss
CA2142391C (en) * 1994-03-14 2001-05-29 Juin-Hwey Chen Computational complexity reduction during frame erasure or packet loss
US5615298A (en) * 1994-03-14 1997-03-25 Lucent Technologies Inc. Excitation signal synthesis during frame erasure or packet loss
US5757801A (en) 1994-04-19 1998-05-26 Multi-Tech Systems, Inc. Advanced priority statistical multiplexer
US5682386A (en) 1994-04-19 1997-10-28 Multi-Tech Systems, Inc. Data/voice/fax compression multiplexer
FI98162C (fi) * 1994-05-30 1997-04-25 Tecnomen Oy HMM-malliin perustuva puheentunnistusmenetelmä
US5602961A (en) * 1994-05-31 1997-02-11 Alaris, Inc. Method and apparatus for speech compression using multi-mode code excited linear predictive coding
US5638412A (en) 1994-06-15 1997-06-10 Qualcomm Incorporated Method for providing service and rate negotiation in a mobile communication system
US5603096A (en) * 1994-07-11 1997-02-11 Qualcomm Incorporated Reverse link, closed loop power control in a code division multiple access system
TW271524B (no) * 1994-08-05 1996-03-01 Qualcomm Inc
US5742734A (en) * 1994-08-10 1998-04-21 Qualcomm Incorporated Encoding rate selection in a variable rate vocoder
US5953370A (en) 1994-09-09 1999-09-14 Omnipoint Corporation Apparatus for receiving and correlating a spread spectrum signal
US5754584A (en) 1994-09-09 1998-05-19 Omnipoint Corporation Non-coherent spread-spectrum continuous-phase modulation communication system
US5627856A (en) 1994-09-09 1997-05-06 Omnipoint Corporation Method and apparatus for receiving and despreading a continuous phase-modulated spread spectrum signal using self-synchronizing correlators
US5680414A (en) 1994-09-09 1997-10-21 Omnipoint Corporation Synchronization apparatus and method for spread spectrum receiver
US5692007A (en) 1994-09-09 1997-11-25 Omnipoint Corporation Method and apparatus for differential phase encoding and decoding in spread-spectrum communication systems with continuous-phase modulation
US5648982A (en) 1994-09-09 1997-07-15 Omnipoint Corporation Spread spectrum transmitter
US5856998A (en) 1994-09-09 1999-01-05 Omnipoint Corporation Method and apparatus for correlating a continuous phase modulated spread spectrum signal
US5832028A (en) 1994-09-09 1998-11-03 Omnipoint Corporation Method and apparatus for coherent serial correlation of a spread spectrum signal
US5629956A (en) 1994-09-09 1997-05-13 Omnipoint Corporation Method and apparatus for reception and noncoherent serial correlation of a continuous phase modulated signal
US5659574A (en) 1994-09-09 1997-08-19 Omnipoint Corporation Multi-bit correlation of continuous phase modulated signals
US5963586A (en) 1994-09-09 1999-10-05 Omnipoint Corporation Method and apparatus for parallel noncoherent correlation of a spread spectrum signal
US5610940A (en) 1994-09-09 1997-03-11 Omnipoint Corporation Method and apparatus for noncoherent reception and correlation of a continous phase modulated signal
US5757847A (en) 1994-09-09 1998-05-26 Omnipoint Corporation Method and apparatus for decoding a phase encoded signal
US5754585A (en) 1994-09-09 1998-05-19 Omnipoint Corporation Method and apparatus for serial noncoherent correlation of a spread spectrum signal
US5881100A (en) 1994-09-09 1999-03-09 Omnipoint Corporation Method and apparatus for coherent correlation of a spread spectrum signal
US6141353A (en) * 1994-09-15 2000-10-31 Oki Telecom, Inc. Subsequent frame variable data rate indication method for various variable data rate systems
US5537410A (en) * 1994-09-15 1996-07-16 Oki Telecom Subsequent frame variable data rate indication method
JPH08102687A (ja) * 1994-09-29 1996-04-16 Yamaha Corp 音声送受信方式
ATE213864T1 (de) * 1994-10-05 2002-03-15 Advanced Micro Devices Inc Vorrichtung und verfahren zur sprachsignalanalyse zur parameterbestimmung von sprachsignalmerkmalen
US5546448A (en) * 1994-11-10 1996-08-13 Multi-Tech Systems, Inc. Apparatus and method for a caller ID modem interface
US5781880A (en) * 1994-11-21 1998-07-14 Rockwell International Corporation Pitch lag estimation using frequency-domain lowpass filtering of the linear predictive coding (LPC) residual
JPH08179796A (ja) * 1994-12-21 1996-07-12 Sony Corp 音声符号化方法
FR2729246A1 (fr) * 1995-01-06 1996-07-12 Matra Communication Procede de codage de parole a analyse par synthese
US5784403A (en) * 1995-02-03 1998-07-21 Omnipoint Corporation Spread spectrum correlation using saw device
JP3303580B2 (ja) * 1995-02-23 2002-07-22 日本電気株式会社 音声符号化装置
US6292476B1 (en) 1997-04-16 2001-09-18 Qualcomm Inc. Method and apparatus for providing variable rate data in a communications system using non-orthogonal overflow channels
ZA961025B (en) * 1995-02-28 1996-07-16 Qualcomm Inc Method and apparatus for providing variable rate data in a communications system using non-orthogonal overflow channels
US5991725A (en) * 1995-03-07 1999-11-23 Advanced Micro Devices, Inc. System and method for enhanced speech quality in voice storage and retrieval systems
US5699478A (en) * 1995-03-10 1997-12-16 Lucent Technologies Inc. Frame erasure compensation technique
JPH08263099A (ja) * 1995-03-23 1996-10-11 Toshiba Corp 符号化装置
US6137840A (en) 1995-03-31 2000-10-24 Qualcomm Incorporated Method and apparatus for performing fast power control in a mobile communication system
TW347616B (en) 1995-03-31 1998-12-11 Qualcomm Inc Method and apparatus for performing fast power control in a mobile communication system a method and apparatus for controlling transmission power in a mobile communication system is disclosed.
US6977967B1 (en) 1995-03-31 2005-12-20 Qualcomm Incorporated Method and apparatus for performing fast power control in a mobile communication system
US5548253A (en) * 1995-04-17 1996-08-20 Omnipoint Corporation Spectrally efficient quadrature amplitude modulator
US5508708A (en) * 1995-05-08 1996-04-16 Motorola, Inc. Method and apparatus for location finding in a CDMA system
JP2728122B2 (ja) * 1995-05-23 1998-03-18 日本電気株式会社 無音圧縮音声符号化復号化装置
US5959980A (en) 1995-06-05 1999-09-28 Omnipoint Corporation Timing adjustment control for efficient time division duplex communication
US5689502A (en) * 1995-06-05 1997-11-18 Omnipoint Corporation Efficient frequency division duplex communication system with interleaved format and timing adjustment control
US5802046A (en) * 1995-06-05 1998-09-01 Omnipoint Corporation Efficient time division duplex communication system with interleaved format and timing adjustment control
US6356607B1 (en) 1995-06-05 2002-03-12 Omnipoint Corporation Preamble code structure and detection method and apparatus
US5745484A (en) * 1995-06-05 1998-04-28 Omnipoint Corporation Efficient communication system using time division multiplexing and timing adjustment control
US6526038B1 (en) * 1995-06-07 2003-02-25 Telcordia Technologies, Inc. Periodic wireless broadcast
GB9512284D0 (en) * 1995-06-16 1995-08-16 Nokia Mobile Phones Ltd Speech Synthesiser
US7929498B2 (en) 1995-06-30 2011-04-19 Interdigital Technology Corporation Adaptive forward power control and adaptive reverse power control for spread-spectrum communications
US7020111B2 (en) 1996-06-27 2006-03-28 Interdigital Technology Corporation System for using rapid acquisition spreading codes for spread-spectrum communications
ZA965340B (en) 1995-06-30 1997-01-27 Interdigital Tech Corp Code division multiple access (cdma) communication system
US6885652B1 (en) 1995-06-30 2005-04-26 Interdigital Technology Corporation Code division multiple access (CDMA) communication system
FI100157B (fi) * 1995-07-12 1997-09-30 Nokia Mobile Phones Ltd Muuttuvanopeuksiset piirikytketyt siirtopalvelut TDMA-pohjaisissa solu kkojärjestelmissä
US6041046A (en) * 1995-07-14 2000-03-21 Omnipoint Corporation Cyclic time hopping in time division multiple access communication system
US5754733A (en) * 1995-08-01 1998-05-19 Qualcomm Incorporated Method and apparatus for generating and encoding line spectral square roots
FR2737948B1 (fr) * 1995-08-16 1997-10-17 Alcatel Mobile Comm France Dispositif de commande de volume sonore pour recepteur de signaux de parole codes par blocs
JP3522012B2 (ja) * 1995-08-23 2004-04-26 沖電気工業株式会社 コード励振線形予測符号化装置
EP0810757B1 (en) * 1995-08-31 2005-05-25 NTT DoCoMo, Inc. Atm transmission method having silence compression controlling function, and system, transmitter and receiver using the method
US5950164A (en) * 1995-09-29 1999-09-07 Olympus Optical Co., Ltd. Voice recording apparatus capable of displaying remaining recording capacity of memory according to encoding bit rates
JP4005154B2 (ja) * 1995-10-26 2007-11-07 ソニー株式会社 音声復号化方法及び装置
JP3680380B2 (ja) * 1995-10-26 2005-08-10 ソニー株式会社 音声符号化方法及び装置
JPH09152896A (ja) * 1995-11-30 1997-06-10 Oki Electric Ind Co Ltd 声道予測係数符号化・復号化回路、声道予測係数符号化回路、声道予測係数復号化回路、音声符号化装置及び音声復号化装置
US5956674A (en) * 1995-12-01 1999-09-21 Digital Theater Systems, Inc. Multi-channel predictive subband audio coder using psychoacoustic adaptive bit allocation in frequency, time and over the multiple channels
US5822721A (en) * 1995-12-22 1998-10-13 Iterated Systems, Inc. Method and apparatus for fractal-excited linear predictive coding of digital signals
US5737716A (en) * 1995-12-26 1998-04-07 Motorola Method and apparatus for encoding speech using neural network technology for speech classification
US5867763A (en) * 1996-02-08 1999-02-02 Qualcomm Incorporated Method and apparatus for integration of a wireless communication system with a cable T.V. system
US5839052A (en) * 1996-02-08 1998-11-17 Qualcom Incorporated Method and apparatus for integration of a wireless communication system with a cable television system
JPH09230896A (ja) * 1996-02-28 1997-09-05 Sony Corp 音声合成装置
US5754537A (en) * 1996-03-08 1998-05-19 Telefonaktiebolaget L M Ericsson (Publ) Method and system for transmitting background noise data
WO1997036397A1 (en) * 1996-03-27 1997-10-02 Motorola Inc. Method and apparatus for providing a multi-party speech connection for use in a wireless communication system
SE506341C2 (sv) * 1996-04-10 1997-12-08 Ericsson Telefon Ab L M Metod och anordning för rekonstruktion av en mottagen talsignal
GB2312360B (en) * 1996-04-12 2001-01-24 Olympus Optical Co Voice signal coding apparatus
US5708757A (en) * 1996-04-22 1998-01-13 France Telecom Method of determining parameters of a pitch synthesis filter in a speech coder, and speech coder implementing such method
US6205190B1 (en) 1996-04-29 2001-03-20 Qualcomm Inc. System and method for reducing interference generated by a CDMA communications device
US6047254A (en) * 1996-05-15 2000-04-04 Advanced Micro Devices, Inc. System and method for determining a first formant analysis filter and prefiltering a speech signal for improved pitch estimation
US5937374A (en) * 1996-05-15 1999-08-10 Advanced Micro Devices, Inc. System and method for improved pitch estimation which performs first formant energy removal for a frame using coefficients from a prior frame
JP3092652B2 (ja) * 1996-06-10 2000-09-25 日本電気株式会社 音声再生装置
US6766176B1 (en) 1996-07-23 2004-07-20 Qualcomm Incorporated Method and apparatus for automatically adjusting speaker and microphone gains within a mobile telephone
JP3266819B2 (ja) * 1996-07-30 2002-03-18 株式会社エイ・ティ・アール人間情報通信研究所 周期信号変換方法、音変換方法および信号分析方法
US5883927A (en) * 1996-07-31 1999-03-16 Nextwave Telecom, Inc. Digital wireless telecommunication device for reduced interference with hearing aids
JPH1049199A (ja) * 1996-08-02 1998-02-20 Nec Corp 無音圧縮音声符号化復号化装置
US5726983A (en) * 1996-08-09 1998-03-10 Motorola, Inc. Communication device with variable frame processing time
US5812968A (en) * 1996-08-28 1998-09-22 Ericsson, Inc. Vocoder apparatus using the link margin
US5881053A (en) * 1996-09-13 1999-03-09 Qualcomm Incorporated Method for a wireless communications channel
SE507370C2 (sv) * 1996-09-13 1998-05-18 Ericsson Telefon Ab L M Metod och anordning för att alstra komfortbrus i linjärprediktiv talavkodare
US6205130B1 (en) 1996-09-25 2001-03-20 Qualcomm Incorporated Method and apparatus for detecting bad data packets received by a mobile telephone using decoded speech parameters
JP2001501790A (ja) * 1996-09-25 2001-02-06 クゥアルコム・インコーポレイテッド 復号された音声パラメータを用いる移動電話で受信された不良データパケットの検出を行う方法およびその装置
US7788092B2 (en) * 1996-09-25 2010-08-31 Qualcomm Incorporated Method and apparatus for detecting bad data packets received by a mobile telephone using decoded speech parameters
US6014622A (en) 1996-09-26 2000-01-11 Rockwell Semiconductor Systems, Inc. Low bit rate speech coder using adaptive open-loop subframe pitch lag estimation and vector quantization
US5954834A (en) * 1996-10-09 1999-09-21 Ericsson Inc. Systems and methods for communicating desired audio information over a communications medium
US5905794A (en) * 1996-10-15 1999-05-18 Multi-Tech Systems, Inc. Caller identification interface using line reversal detection
US6496543B1 (en) 1996-10-29 2002-12-17 Qualcomm Incorporated Method and apparatus for providing high speed data communications in a cellular environment
US5781593A (en) * 1996-11-14 1998-07-14 Omnipoint Corporation Methods and apparatus for vocoder synchronization in mobile communication network
US6141373A (en) * 1996-11-15 2000-10-31 Omnipoint Corporation Preamble code structure and detection method and apparatus
FI964975A (fi) * 1996-12-12 1998-06-13 Nokia Mobile Phones Ltd Menetelmä ja laite puheen koodaamiseksi
US6172965B1 (en) * 1996-12-23 2001-01-09 Nortel Networks Limited Duplex transmission scheme
JP2856185B2 (ja) * 1997-01-21 1999-02-10 日本電気株式会社 音声符号化復号化システム
EP0895688B1 (en) * 1997-01-23 2006-02-15 Motorola, Inc. Apparatus and method for non-linear processing in a communication system
US6335922B1 (en) 1997-02-11 2002-01-01 Qualcomm Incorporated Method and apparatus for forward link rate scheduling
US7751370B2 (en) * 2001-07-13 2010-07-06 Qualcomm Incorporated Method and apparatus for forward link rate scheduling
US6014375A (en) * 1997-02-13 2000-01-11 Ericsson Inc. TDMA radio protocol with adaptive vocoder selection
JP3067676B2 (ja) * 1997-02-13 2000-07-17 日本電気株式会社 Lspの予測符号化装置及び方法
US5832443A (en) * 1997-02-25 1998-11-03 Alaris, Inc. Method and apparatus for adaptive audio compression and decompression
US6104993A (en) * 1997-02-26 2000-08-15 Motorola, Inc. Apparatus and method for rate determination in a communication system
WO1998038764A1 (de) * 1997-02-27 1998-09-03 Siemens Aktiengesellschaft Verfahren und anordnung zur rahmenfehlerdetektion zwecks fehlerverdeckung insbesondere bei gsm übertragungen
US6167375A (en) * 1997-03-17 2000-12-26 Kabushiki Kaisha Toshiba Method for encoding and decoding a speech signal including background noise
US6282228B1 (en) 1997-03-20 2001-08-28 Xircom, Inc. Spread spectrum codes for use in communication
US6480521B1 (en) * 1997-03-26 2002-11-12 Qualcomm Incorporated Method and apparatus for transmitting high speed data in a spread spectrum communications system
US5907822A (en) * 1997-04-04 1999-05-25 Lincom Corporation Loss tolerant speech decoder for telecommunications
WO1998045833A1 (en) * 1997-04-07 1998-10-15 Koninklijke Philips Electronics N.V. Variable bitrate speech transmission system
KR100198476B1 (ko) * 1997-04-23 1999-06-15 윤종용 노이즈에 견고한 스펙트럼 포락선 양자화기 및 양자화 방법
US6014623A (en) * 1997-06-12 2000-01-11 United Microelectronics Corp. Method of encoding synthetic speech
US6075792A (en) * 1997-06-16 2000-06-13 Interdigital Technology Corporation CDMA communication system which selectively allocates bandwidth upon demand
US6032116A (en) * 1997-06-27 2000-02-29 Advanced Micro Devices, Inc. Distance measure in a speech recognition system for speech recognition using frequency shifting factors to compensate for input signal frequency shifts
US6003003A (en) * 1997-06-27 1999-12-14 Advanced Micro Devices, Inc. Speech recognition system having a quantizer using a single robust codebook designed at multiple signal to noise ratios
US6044343A (en) * 1997-06-27 2000-03-28 Advanced Micro Devices, Inc. Adaptive speech recognition with selective input data to a speech classifier
US6175590B1 (en) 1997-08-08 2001-01-16 Qualcomm Inc. Method and apparatus for determining the rate of received data in a variable rate communication system
US6097972A (en) * 1997-08-29 2000-08-01 Qualcomm Incorporated Method and apparatus for processing power control signals in CDMA mobile telephone system
WO1999012155A1 (en) * 1997-09-30 1999-03-11 Qualcomm Incorporated Channel gain modification system and method for noise reduction in voice communication
US6058359A (en) * 1998-03-04 2000-05-02 Telefonaktiebolaget L M Ericsson Speech coding including soft adaptability feature
US5898696A (en) * 1997-09-05 1999-04-27 Motorola, Inc. Method and system for controlling an encoding rate in a variable rate communication system
US6049537A (en) * 1997-09-05 2000-04-11 Motorola, Inc. Method and system for controlling speech encoding in a communication system
US6920150B1 (en) 1997-09-30 2005-07-19 Lucent Technologies Inc. Adaptive communications transcoding and error control
US5897613A (en) * 1997-10-08 1999-04-27 Lucent Technologies Inc. Efficient transmission of voice silence intervals
US6067515A (en) * 1997-10-27 2000-05-23 Advanced Micro Devices, Inc. Split matrix quantization with split vector quantization error compensation and selective enhanced processing for robust speech recognition
US6070136A (en) * 1997-10-27 2000-05-30 Advanced Micro Devices, Inc. Matrix quantization with vector quantization error compensation for robust speech recognition
US5953695A (en) * 1997-10-29 1999-09-14 Lucent Technologies Inc. Method and apparatus for synchronizing digital speech communications
US9118387B2 (en) 1997-11-03 2015-08-25 Qualcomm Incorporated Pilot reference transmission for a wireless communication system
US7184426B2 (en) * 2002-12-12 2007-02-27 Qualcomm, Incorporated Method and apparatus for burst pilot for a time division multiplex system
US6563803B1 (en) * 1997-11-26 2003-05-13 Qualcomm Incorporated Acoustic echo canceller
US6044339A (en) * 1997-12-02 2000-03-28 Dspc Israel Ltd. Reduced real-time processing in stochastic celp encoding
DE19753697B4 (de) * 1997-12-03 2006-04-27 Siemens Ag Verfahren und Funkstation zur Datenübertragung in einem Kommunikationssystem
US6049765A (en) * 1997-12-22 2000-04-11 Lucent Technologies Inc. Silence compression for recorded voice messages
US6104994A (en) * 1998-01-13 2000-08-15 Conexant Systems, Inc. Method for speech coding under background noise conditions
JPH11215006A (ja) * 1998-01-29 1999-08-06 Olympus Optical Co Ltd ディジタル音声信号の送信装置及び受信装置
US6799159B2 (en) * 1998-02-02 2004-09-28 Motorola, Inc. Method and apparatus employing a vocoder for speech processing
US6381569B1 (en) 1998-02-04 2002-04-30 Qualcomm Incorporated Noise-compensated speech recognition templates
US6603751B1 (en) * 1998-02-13 2003-08-05 Qualcomm Incorporated Method and system for performing a handoff in a wireless communication system, such as a hard handoff
US6545989B1 (en) 1998-02-19 2003-04-08 Qualcomm Incorporated Transmit gating in a wireless communication system
US6104991A (en) * 1998-02-27 2000-08-15 Lucent Technologies, Inc. Speech encoding and decoding system which modifies encoding and decoding characteristics based on an audio signal
FI113571B (fi) 1998-03-09 2004-05-14 Nokia Corp Puheenkoodaus
US6043763A (en) * 1998-03-12 2000-03-28 Liquid Audio, Inc. Lossless data compression with low complexity
US6118392A (en) * 1998-03-12 2000-09-12 Liquid Audio Inc. Lossless data compression with low complexity
US6121904A (en) * 1998-03-12 2000-09-19 Liquid Audio, Inc. Lossless data compression with low complexity
US6125348A (en) * 1998-03-12 2000-09-26 Liquid Audio Inc. Lossless data compression with low complexity
US6028541A (en) * 1998-03-12 2000-02-22 Liquid Audio Inc. Lossless data compression with low complexity
US6169906B1 (en) * 1998-03-24 2001-01-02 Motorola, Inc. Method of transmitting messages in a dispatch call
US20030194033A1 (en) 1998-05-21 2003-10-16 Tiedemann Edward G. Method and apparatus for coordinating transmission of short messages with hard handoff searches in a wireless communications system
DE59911334D1 (de) * 1998-06-03 2005-01-27 Siemens Ag Verfahren und funkgerät zur übertragung von nachrichten
US6577645B2 (en) 1998-06-03 2003-06-10 Siemens Aktiengesellschaft Method and radio set for transmitting messages
US6141639A (en) * 1998-06-05 2000-10-31 Conexant Systems, Inc. Method and apparatus for coding of signals containing speech and background noise
US6810377B1 (en) * 1998-06-19 2004-10-26 Comsat Corporation Lost frame recovery techniques for parametric, LPC-based speech coding systems
JP3273599B2 (ja) * 1998-06-19 2002-04-08 沖電気工業株式会社 音声符号化レート選択器と音声符号化装置
US6034971A (en) * 1998-06-30 2000-03-07 Motorola, Inc. Method and apparatus for controlling communication system capacity
US6081776A (en) * 1998-07-13 2000-06-27 Lockheed Martin Corp. Speech coding system and method including adaptive finite impulse response filter
DE19833318C2 (de) * 1998-07-24 2001-08-02 Bosch Gmbh Robert Verfahren zur Übertragung von digitalen Nutzdaten
US6163766A (en) * 1998-08-14 2000-12-19 Motorola, Inc. Adaptive rate system and method for wireless communications
US6173254B1 (en) * 1998-08-18 2001-01-09 Denso Corporation, Ltd. Recorded message playback system for a variable bit rate system
JP4308345B2 (ja) * 1998-08-21 2009-08-05 パナソニック株式会社 マルチモード音声符号化装置及び復号化装置
US6493665B1 (en) * 1998-08-24 2002-12-10 Conexant Systems, Inc. Speech classification and parameter weighting used in codebook search
US6188980B1 (en) * 1998-08-24 2001-02-13 Conexant Systems, Inc. Synchronized encoder-decoder frame concealment using speech coding parameters including line spectral frequencies and filter coefficients
US6330533B2 (en) 1998-08-24 2001-12-11 Conexant Systems, Inc. Speech encoder adaptively applying pitch preprocessing with warping of target signal
US7117146B2 (en) * 1998-08-24 2006-10-03 Mindspeed Technologies, Inc. System for improved use of pitch enhancement with subcodebooks
US6480822B2 (en) * 1998-08-24 2002-11-12 Conexant Systems, Inc. Low complexity random codebook structure
US6385573B1 (en) * 1998-08-24 2002-05-07 Conexant Systems, Inc. Adaptive tilt compensation for synthesized speech residual
US6449590B1 (en) 1998-08-24 2002-09-10 Conexant Systems, Inc. Speech encoder using warping in long term preprocessing
US6240386B1 (en) * 1998-08-24 2001-05-29 Conexant Systems, Inc. Speech codec employing noise classification for noise compensation
US7072832B1 (en) 1998-08-24 2006-07-04 Mindspeed Technologies, Inc. System for speech encoding having an adaptive encoding arrangement
US6823303B1 (en) * 1998-08-24 2004-11-23 Conexant Systems, Inc. Speech encoder using voice activity detection in coding noise
US6260010B1 (en) * 1998-08-24 2001-07-10 Conexant Systems, Inc. Speech encoder using gain normalization that combines open and closed loop gains
US6798736B1 (en) 1998-09-22 2004-09-28 Qualcomm Incorporated Method and apparatus for transmitting and receiving variable rate data
US7272556B1 (en) * 1998-09-23 2007-09-18 Lucent Technologies Inc. Scalable and embedded codec for speech and audio signals
US6347297B1 (en) * 1998-10-05 2002-02-12 Legerity, Inc. Matrix quantization with vector quantization error compensation and neural network postprocessing for robust speech recognition
US6219642B1 (en) 1998-10-05 2001-04-17 Legerity, Inc. Quantization using frequency and mean compensated frequency input data for robust speech recognition
US6353808B1 (en) * 1998-10-22 2002-03-05 Sony Corporation Apparatus and method for encoding a signal as well as apparatus and method for decoding a signal
JP3343082B2 (ja) * 1998-10-27 2002-11-11 松下電器産業株式会社 Celp型音声符号化装置
US6754630B2 (en) 1998-11-13 2004-06-22 Qualcomm, Inc. Synthesis of speech from pitch prototype waveforms by time-synchronous waveform interpolation
US6463407B2 (en) 1998-11-13 2002-10-08 Qualcomm Inc. Low bit-rate coding of unvoiced segments of speech
US6233549B1 (en) 1998-11-23 2001-05-15 Qualcomm, Inc. Low frequency spectral enhancement system and method
US6424938B1 (en) * 1998-11-23 2002-07-23 Telefonaktiebolaget L M Ericsson Complex signal activity detection for improved speech/noise classification of an audio signal
US6289099B1 (en) * 1998-11-30 2001-09-11 Qualcomm Inc. Ringer for satellite user terminals
US6256606B1 (en) 1998-11-30 2001-07-03 Conexant Systems, Inc. Silence description coding for multi-rate speech codecs
US6275485B1 (en) * 1998-12-03 2001-08-14 Qualcomm Inc. Noise characterization in a wireless communication system
US6512925B1 (en) 1998-12-03 2003-01-28 Qualcomm, Incorporated Method and apparatus for controlling transmission power while in soft handoff
US6182030B1 (en) 1998-12-18 2001-01-30 Telefonaktiebolaget Lm Ericsson (Publ) Enhanced coding to improve coded communication signals
US6691084B2 (en) 1998-12-21 2004-02-10 Qualcomm Incorporated Multiple mode variable rate speech coding
US6542486B1 (en) * 1998-12-22 2003-04-01 Nortel Networks Limited Multiple technology vocoder and an associated telecommunications network
US6393074B1 (en) 1998-12-31 2002-05-21 Texas Instruments Incorporated Decoding system for variable-rate convolutionally-coded data sequence
US7406098B2 (en) * 1999-01-13 2008-07-29 Qualcomm Incorporated Resource allocation in a communication system supporting application flows having quality of service requirements
KR100648872B1 (ko) * 1999-02-08 2006-11-24 퀄컴 인코포레이티드 가변 레이트 음성 코딩에 기초한 음성 합성기
US6411926B1 (en) 1999-02-08 2002-06-25 Qualcomm Incorporated Distributed voice recognition system
US6574596B2 (en) 1999-02-08 2003-06-03 Qualcomm Incorporated Voice recognition rejection scheme
US6330247B1 (en) 1999-02-08 2001-12-11 Qualcomm Incorporated Communication protocol between a communication device and an external accessory
US6324509B1 (en) 1999-02-08 2001-11-27 Qualcomm Incorporated Method and apparatus for accurate endpointing of speech in the presence of noise
US6226607B1 (en) * 1999-02-08 2001-05-01 Qualcomm Incorporated Method and apparatus for eighth-rate random number generation for speech coders
US6587446B2 (en) * 1999-02-11 2003-07-01 Qualcomm Incorporated Handoff in a wireless communication system
US6260009B1 (en) 1999-02-12 2001-07-10 Qualcomm Incorporated CELP-based to CELP-based vocoder packet translation
US6449592B1 (en) 1999-02-26 2002-09-10 Qualcomm Incorporated Method and apparatus for tracking the phase of a quasi-periodic signal
US6397177B1 (en) * 1999-03-10 2002-05-28 Samsung Electronics, Co., Ltd. Speech-encoding rate decision apparatus and method in a variable rate
US6088347A (en) * 1999-03-10 2000-07-11 Massachusetts Institute Of Technology Variable chip rate code-division multiple access
US6233552B1 (en) * 1999-03-12 2001-05-15 Comsat Corporation Adaptive post-filtering technique based on the Modified Yule-Walker filter
US6519479B1 (en) 1999-03-31 2003-02-11 Qualcomm Inc. Spoken user interface for speech-enabled devices
US6747963B1 (en) * 1999-04-12 2004-06-08 Samsung Electronics Co., Ltd. Apparatus and method for gated transmission in a CDMA communication system
US7058573B1 (en) * 1999-04-20 2006-06-06 Nuance Communications Inc. Speech recognition system to selectively utilize different speech recognition techniques over multiple speech recognition passes
US6260017B1 (en) 1999-05-07 2001-07-10 Qualcomm Inc. Multipulse interpolative coding of transition speech frames
US6766295B1 (en) 1999-05-10 2004-07-20 Nuance Communications Adaptation of a speech recognition system across multiple remote sessions with a speaker
US6661832B1 (en) * 1999-05-11 2003-12-09 Qualcomm Incorporated System and method for providing an accurate estimation of received signal interference for use in wireless communications systems
US6954727B1 (en) * 1999-05-28 2005-10-11 Koninklijke Philips Electronics N.V. Reducing artifact generation in a vocoder
US6324503B1 (en) 1999-07-19 2001-11-27 Qualcomm Incorporated Method and apparatus for providing feedback from decoder to encoder to improve performance in a predictive speech coder under frame erasure conditions
US6393394B1 (en) 1999-07-19 2002-05-21 Qualcomm Incorporated Method and apparatus for interleaving line spectral information quantization methods in a speech coder
US6324505B1 (en) * 1999-07-19 2001-11-27 Qualcomm Incorporated Amplitude quantization scheme for low-bit-rate speech coders
US6330532B1 (en) 1999-07-19 2001-12-11 Qualcomm Incorporated Method and apparatus for maintaining a target bit rate in a speech coder
US6397175B1 (en) 1999-07-19 2002-05-28 Qualcomm Incorporated Method and apparatus for subsampling phase spectrum information
US6496706B1 (en) 1999-07-23 2002-12-17 Qualcomm Incorporated Method and system for transmit gating in a wireless communication system
US6704328B1 (en) * 1999-07-26 2004-03-09 Nortel Networks, Limited Signalling scheme and messaging structure to support the smoothing of large bit rate transmissions
US6603752B1 (en) * 1999-07-29 2003-08-05 Ahmed Saifuddin Method and system for controlling transmission energy in a variable rate gated communication system
US6658112B1 (en) 1999-08-06 2003-12-02 General Dynamics Decision Systems, Inc. Voice decoder and method for detecting channel errors using spectral energy evolution
US6633552B1 (en) * 1999-08-06 2003-10-14 Qualcomm Incorporated Method and apparatus for determining the closed loop power control set point in a wireless packet data communication system
US6597667B1 (en) 1999-08-18 2003-07-22 Qualcomm Incorporated Network based muting of a cellular telephone
US6493329B1 (en) * 1999-08-23 2002-12-10 Qualcomm Incorporated Adaptive channel estimation in a wireless communication system
US8064409B1 (en) 1999-08-25 2011-11-22 Qualcomm Incorporated Method and apparatus using a multi-carrier forward link in a wireless communication system
US6426971B1 (en) 1999-09-13 2002-07-30 Qualcomm Incorporated System and method for accurately predicting signal to interference and noise ratio to improve communications system performance
US6782360B1 (en) * 1999-09-22 2004-08-24 Mindspeed Technologies, Inc. Gain quantization for a CELP speech coder
US6574593B1 (en) 1999-09-22 2003-06-03 Conexant Systems, Inc. Codebook tables for encoding and decoding
US6636829B1 (en) * 1999-09-22 2003-10-21 Mindspeed Technologies, Inc. Speech communication system and method for handling lost frames
AU2003262451B2 (en) * 1999-09-22 2006-01-19 Macom Technology Solutions Holdings, Inc. Multimode speech encoder
US7054809B1 (en) * 1999-09-22 2006-05-30 Mindspeed Technologies, Inc. Rate selection method for selectable mode vocoder
AU766830B2 (en) * 1999-09-22 2003-10-23 Macom Technology Solutions Holdings, Inc. Multimode speech encoder
US6581032B1 (en) 1999-09-22 2003-06-17 Conexant Systems, Inc. Bitstream protocol for transmission of encoded voice signals
US6604070B1 (en) 1999-09-22 2003-08-05 Conexant Systems, Inc. System of encoding and decoding speech signals
US6959274B1 (en) 1999-09-22 2005-10-25 Mindspeed Technologies, Inc. Fixed rate speech compression system and method
US6708024B1 (en) * 1999-09-22 2004-03-16 Legerity, Inc. Method and apparatus for generating comfort noise
US6772126B1 (en) * 1999-09-30 2004-08-03 Motorola, Inc. Method and apparatus for transferring low bit rate digital voice messages using incremental messages
US6496798B1 (en) * 1999-09-30 2002-12-17 Motorola, Inc. Method and apparatus for encoding and decoding frames of voice model parameters into a low bit rate digital voice message
US6621804B1 (en) 1999-10-07 2003-09-16 Qualcomm Incorporated Method and apparatus for predicting favored supplemental channel transmission slots using transmission power measurements of a fundamental channel
US6850506B1 (en) 1999-10-07 2005-02-01 Qualcomm Incorporated Forward-link scheduling in a wireless communication system
US7522631B1 (en) 1999-10-26 2009-04-21 Qualcomm, Incorporated Method and apparatus for efficient data transmission control in a wireless voice-over-data communication system
US6463274B1 (en) * 1999-10-26 2002-10-08 Denso Corporation Multiple class of service determination for digital cellular telephones
US6438518B1 (en) 1999-10-28 2002-08-20 Qualcomm Incorporated Method and apparatus for using coding scheme selection patterns in a predictive speech coder to reduce sensitivity to frame error conditions
US6496794B1 (en) * 1999-11-22 2002-12-17 Motorola, Inc. Method and apparatus for seamless multi-rate speech coding
BR0006803A (pt) * 1999-12-10 2001-12-11 Lucent Technologies Inc Sistema e método para reduzir retardo de fala emelhorar a qualidade de fala utilizando meiosblocos
US6772112B1 (en) 1999-12-10 2004-08-03 Lucent Technologies Inc. System and method to reduce speech delay and improve voice quality using half speech blocks
US7574351B2 (en) * 1999-12-14 2009-08-11 Texas Instruments Incorporated Arranging CELP information of one frame in a second packet
US6745024B1 (en) 2000-01-10 2004-06-01 Qualcomm Incorporated System and method for preparing and sending an electronic mail communication using a wireless communications device
US6510409B1 (en) * 2000-01-18 2003-01-21 Conexant Systems, Inc. Intelligent discontinuous transmission and comfort noise generation scheme for pulse code modulation speech coders
US7127390B1 (en) * 2000-02-08 2006-10-24 Mindspeed Technologies, Inc. Rate determination coding
EP1126651A1 (en) * 2000-02-16 2001-08-22 Lucent Technologies Inc. Link adaptation for RT-EGPRS
US6721368B1 (en) 2000-03-04 2004-04-13 Qualcomm Incorporated Transmitter architectures for communications systems
ES2318820T3 (es) 2000-04-24 2009-05-01 Qualcomm Incorporated Procedimiento y aparatos de cuantificacion predictiva del habla de voces.
US6584438B1 (en) 2000-04-24 2003-06-24 Qualcomm Incorporated Frame erasure compensation method in a variable rate speech coder
US6980527B1 (en) 2000-04-25 2005-12-27 Cwill Telecommunications, Inc. Smart antenna CDMA wireless communication system
US6285682B1 (en) * 2000-05-01 2001-09-04 Motorola, Inc. Method and apparatus for determining the frame rate of a frame
US7080009B2 (en) * 2000-05-01 2006-07-18 Motorola, Inc. Method and apparatus for reducing rate determination errors and their artifacts
FI115329B (fi) 2000-05-08 2005-04-15 Nokia Corp Menetelmä ja järjestely lähdesignaalin kaistanleveyden vaihtamiseksi tietoliikenneyhteydessä, jossa on valmiudet useisiin kaistanleveyksiin
US7089181B2 (en) * 2001-05-30 2006-08-08 Intel Corporation Enhancing the intelligibility of received speech in a noisy environment
US7072833B2 (en) 2000-06-02 2006-07-04 Canon Kabushiki Kaisha Speech processing system
US6954745B2 (en) 2000-06-02 2005-10-11 Canon Kabushiki Kaisha Signal processing system
US7035790B2 (en) 2000-06-02 2006-04-25 Canon Kabushiki Kaisha Speech processing system
US7010483B2 (en) 2000-06-02 2006-03-07 Canon Kabushiki Kaisha Speech processing system
US6735563B1 (en) 2000-07-13 2004-05-11 Qualcomm, Inc. Method and apparatus for constructing voice templates for a speaker-independent voice recognition system
US6671669B1 (en) * 2000-07-18 2003-12-30 Qualcomm Incorporated combined engine system and method for voice recognition
US6510142B1 (en) 2000-07-21 2003-01-21 Motorola, Inc. Method and apparatus for reduced reversed traffic in a cellular telephone system
US6856954B1 (en) * 2000-07-28 2005-02-15 Mindspeed Technologies, Inc. Flexible variable rate vocoder for wireless communication systems
US6728669B1 (en) * 2000-08-07 2004-04-27 Lucent Technologies Inc. Relative pulse position in celp vocoding
EP1944760B1 (en) * 2000-08-09 2009-09-23 Sony Corporation Voice data processing device and processing method
US6477502B1 (en) 2000-08-22 2002-11-05 Qualcomm Incorporated Method and apparatus for using non-symmetric speech coders to produce non-symmetric links in a wireless communication system
US6850884B2 (en) * 2000-09-15 2005-02-01 Mindspeed Technologies, Inc. Selection of coding parameters based on spectral content of a speech signal
US6842733B1 (en) 2000-09-15 2005-01-11 Mindspeed Technologies, Inc. Signal processing system for filtering spectral content of a signal for speech coding
US6937979B2 (en) * 2000-09-15 2005-08-30 Mindspeed Technologies, Inc. Coding based on spectral content of a speech signal
US7133823B2 (en) * 2000-09-15 2006-11-07 Mindspeed Technologies, Inc. System for an adaptive excitation pattern for speech coding
US6802035B2 (en) * 2000-09-19 2004-10-05 Intel Corporation System and method of dynamically optimizing a transmission mode of wirelessly transmitted information
US6760882B1 (en) 2000-09-19 2004-07-06 Intel Corporation Mode selection for data transmission in wireless communication channels based on statistical parameters
US6973098B1 (en) 2000-10-25 2005-12-06 Qualcomm, Incorporated Method and apparatus for determining a data rate in a high rate packet data wireless communications system
US7068683B1 (en) 2000-10-25 2006-06-27 Qualcomm, Incorporated Method and apparatus for high rate packet data and low delay data transmissions
US7171355B1 (en) * 2000-10-25 2007-01-30 Broadcom Corporation Method and apparatus for one-stage and two-stage noise feedback coding of speech and audio signals
DK1206104T3 (da) * 2000-11-09 2006-10-30 Koninkl Kpn Nv Måling af en samtalekvalitet af en telefonforbindelse i et telekommunikationsnetværk
US7606703B2 (en) * 2000-11-15 2009-10-20 Texas Instruments Incorporated Layered celp system and method with varying perceptual filter or short-term postfilter strengths
US6999430B2 (en) * 2000-11-30 2006-02-14 Qualcomm Incorporated Method and apparatus for transmitting data traffic on a wireless communication channel
US6804218B2 (en) 2000-12-04 2004-10-12 Qualcomm Incorporated Method and apparatus for improved detection of rate errors in variable rate receivers
US7472059B2 (en) * 2000-12-08 2008-12-30 Qualcomm Incorporated Method and apparatus for robust speech classification
US7505594B2 (en) * 2000-12-19 2009-03-17 Qualcomm Incorporated Discontinuous transmission (DTX) controller system and method
SE0004818D0 (sv) * 2000-12-22 2000-12-22 Coding Technologies Sweden Ab Enhancing source coding systems by adaptive transposition
US7346918B2 (en) 2000-12-27 2008-03-18 Z-Band, Inc. Intelligent device system and method for distribution of digital signals on a wideband signal distribution system
US7230978B2 (en) 2000-12-29 2007-06-12 Infineon Technologies Ag Channel CODEC processor configurable for multiple wireless communications standards
US7113522B2 (en) * 2001-01-24 2006-09-26 Qualcomm, Incorporated Enhanced conversion of wideband signals to narrowband signals
US7062445B2 (en) * 2001-01-26 2006-06-13 Microsoft Corporation Quantization loop with heuristic approach
US7120134B2 (en) * 2001-02-15 2006-10-10 Qualcomm, Incorporated Reverse link channel architecture for a wireless communication system
US20040204935A1 (en) * 2001-02-21 2004-10-14 Krishnasamy Anandakumar Adaptive voice playout in VOP
US6760587B2 (en) 2001-02-23 2004-07-06 Qualcomm Incorporated Forward-link scheduling in a wireless communication system during soft and softer handoff
US7289461B2 (en) 2001-03-15 2007-10-30 Qualcomm Incorporated Communications using wideband terminals
US20020181546A1 (en) * 2001-03-23 2002-12-05 Odenwalder Joseph P. Preamble channels
US6760576B2 (en) 2001-03-27 2004-07-06 Qualcomm Incorporated Method and apparatus for enhanced rate determination in high data rate wireless communication systems
US8199696B2 (en) * 2001-03-29 2012-06-12 Qualcomm Incorporated Method and apparatus for power control in a wireless communication system
US6625172B2 (en) 2001-04-26 2003-09-23 Joseph P. Odenwalder Rescheduling scheduled transmissions
US7230941B2 (en) * 2001-04-26 2007-06-12 Qualcomm Incorporated Preamble channel decoding
JP4591939B2 (ja) * 2001-05-15 2010-12-01 Kddi株式会社 適応的符号化伝送装置および受信装置
US6990137B2 (en) * 2001-05-17 2006-01-24 Qualcomm, Incorporated System and method for received signal prediction in wireless communications systems
US7170924B2 (en) * 2001-05-17 2007-01-30 Qualcomm, Inc. System and method for adjusting combiner weights using an adaptive algorithm in wireless communications system
JP3859462B2 (ja) * 2001-05-18 2006-12-20 株式会社東芝 予測パラメータ分析装置および予測パラメータ分析方法
US6789059B2 (en) 2001-06-06 2004-09-07 Qualcomm Incorporated Reducing memory requirements of a codebook vector search
GB2386809B (en) 2001-06-28 2004-06-02 Samsung Electronics Co Ltd Apparatus and method for decoding TFCI bits for a hard split mode in a CDMA mobile communication system
US7489655B2 (en) * 2001-07-06 2009-02-10 Qualcomm, Incorporated Method and apparatus for predictive scheduling in a bi-directional communication system
JP2003044098A (ja) * 2001-07-26 2003-02-14 Nec Corp 音声帯域拡張装置及び音声帯域拡張方法
US7110942B2 (en) * 2001-08-14 2006-09-19 Broadcom Corporation Efficient excitation quantization in a noise feedback coding system using correlation techniques
US6885988B2 (en) * 2001-08-17 2005-04-26 Broadcom Corporation Bit error concealment methods for speech coding
US7162415B2 (en) * 2001-11-06 2007-01-09 The Regents Of The University Of California Ultra-narrow bandwidth voice coding
US7453801B2 (en) * 2001-11-08 2008-11-18 Qualcomm Incorporated Admission control and resource allocation in a communication system supporting application flows having quality of service requirements
CN101772091A (zh) * 2001-12-05 2010-07-07 高通股份有限公司 调整通信系统服务质量的系统与方法
US7027982B2 (en) * 2001-12-14 2006-04-11 Microsoft Corporation Quality and rate control strategy for digital audio
US7146313B2 (en) * 2001-12-14 2006-12-05 Microsoft Corporation Techniques for measurement of perceptual audio quality
GB2383239B (en) * 2001-12-15 2004-03-17 Motorola Inc A method and apparatus for transmitting data
US7206740B2 (en) * 2002-01-04 2007-04-17 Broadcom Corporation Efficient excitation quantization in noise feedback coding with general noise shaping
JP3778087B2 (ja) * 2002-01-18 2006-05-24 富士ゼロックス株式会社 データ符号化装置及びデータ復号装置
US6957183B2 (en) * 2002-03-20 2005-10-18 Qualcomm Inc. Method for robust voice recognition by analyzing redundant features of source signal
US7313520B2 (en) * 2002-03-20 2007-12-25 The Directv Group, Inc. Adaptive variable bit rate audio compression encoding
US6980695B2 (en) * 2002-06-28 2005-12-27 Microsoft Corporation Rate allocation for mixed content video
US7321559B2 (en) * 2002-06-28 2008-01-22 Lucent Technologies Inc System and method of noise reduction in receiving wireless transmission of packetized audio signals
CA2392640A1 (en) * 2002-07-05 2004-01-05 Voiceage Corporation A method and device for efficient in-based dim-and-burst signaling and half-rate max operation in variable bit-rate wideband speech coding for cdma wireless systems
US8090577B2 (en) 2002-08-08 2012-01-03 Qualcomm Incorported Bandwidth-adaptive quantization
JP2004151123A (ja) * 2002-10-23 2004-05-27 Nec Corp 符号変換方法、符号変換装置、プログラム及びその記憶媒体
US7602722B2 (en) * 2002-12-04 2009-10-13 Nortel Networks Limited Mobile assisted fast scheduling for the reverse link
GB2396271B (en) * 2002-12-10 2005-08-10 Motorola Inc A user terminal and method for voice communication
US7698132B2 (en) * 2002-12-17 2010-04-13 Qualcomm Incorporated Sub-sampled excitation waveform codebooks
US7120447B1 (en) * 2003-02-24 2006-10-10 Nortel Networks Limited Selectable mode vocoder management algorithm for CDMA based networks
US6965859B2 (en) * 2003-02-28 2005-11-15 Xvd Corporation Method and apparatus for audio compression
KR100480341B1 (ko) * 2003-03-13 2005-03-31 한국전자통신연구원 광대역 저전송률 음성 신호의 부호화기
US7009999B2 (en) * 2003-03-28 2006-03-07 Qualcomm Incorporated Selective variable rate encoding to regulate data frame size
KR20050007977A (ko) * 2003-07-12 2005-01-21 삼성전자주식회사 이동 통신 시스템에서의 보코더의 모드 및 전송율 제어 방법
US7577756B2 (en) * 2003-07-15 2009-08-18 Special Devices, Inc. Dynamically-and continuously-variable rate, asynchronous data transfer
US7383180B2 (en) * 2003-07-18 2008-06-03 Microsoft Corporation Constant bitrate media encoding techniques
US7609763B2 (en) * 2003-07-18 2009-10-27 Microsoft Corporation Advanced bi-directional predictive coding of video frames
US7343291B2 (en) * 2003-07-18 2008-03-11 Microsoft Corporation Multi-pass variable bitrate media encoding
US7146309B1 (en) 2003-09-02 2006-12-05 Mindspeed Technologies, Inc. Deriving seed values to generate excitation values in a speech coder
US7613606B2 (en) * 2003-10-02 2009-11-03 Nokia Corporation Speech codecs
US7379875B2 (en) * 2003-10-24 2008-05-27 Microsoft Corporation Systems and methods for generating audio thumbnails
US7505764B2 (en) * 2003-10-28 2009-03-17 Motorola, Inc. Method for retransmitting a speech packet
US20050147131A1 (en) * 2003-12-29 2005-07-07 Nokia Corporation Low-rate in-band data channel using CELP codewords
KR100629997B1 (ko) * 2004-02-26 2006-09-27 엘지전자 주식회사 오디오 신호의 인코딩 방법
US8473286B2 (en) * 2004-02-26 2013-06-25 Broadcom Corporation Noise feedback coding system and method for providing generalized noise shaping within a simple filter structure
ATE523876T1 (de) * 2004-03-05 2011-09-15 Panasonic Corp Fehlerverbergungseinrichtung und fehlerverbergungsverfahren
JP2005337573A (ja) 2004-05-26 2005-12-08 Sanden Corp 熱交換器
EP1768106B8 (en) * 2004-07-23 2017-07-19 III Holdings 12, LLC Audio encoding device and audio encoding method
US8046217B2 (en) * 2004-08-27 2011-10-25 Panasonic Corporation Geometric calculation of absolute phases for parametric stereo decoding
US7830900B2 (en) 2004-08-30 2010-11-09 Qualcomm Incorporated Method and apparatus for an adaptive de-jitter buffer
SE0402372D0 (sv) 2004-09-30 2004-09-30 Ericsson Telefon Ab L M Signal coding
SE528213C3 (sv) * 2004-09-30 2006-10-31 Ericsson Telefon Ab L M Förfaranden och arrangemang för adaptiva trösklar vid val av kodek
US8085678B2 (en) 2004-10-13 2011-12-27 Qualcomm Incorporated Media (voice) playback (de-jitter) buffer adjustments based on air interface
US7697480B2 (en) * 2004-11-22 2010-04-13 Motorola, Inc Method and apparatus for inter-system active handoff of a hybrid subscriber unit
US7983679B2 (en) * 2004-11-22 2011-07-19 Motorola Mobility, Inc. Method and apparatus for inter-system active handoff of a hybrid subscriber unit
US8102872B2 (en) * 2005-02-01 2012-01-24 Qualcomm Incorporated Method for discontinuous transmission and accurate reproduction of background noise information
US20060224381A1 (en) * 2005-04-04 2006-10-05 Nokia Corporation Detecting speech frames belonging to a low energy sequence
US20060241937A1 (en) * 2005-04-21 2006-10-26 Ma Changxue C Method and apparatus for automatically discriminating information bearing audio segments and background noise audio segments
US7983301B2 (en) * 2005-06-24 2011-07-19 O2Micro International, Ltd. Method for extended transmission capabilities of short message service
US20080201689A1 (en) * 2005-06-30 2008-08-21 Freescale Semiconductor, Inc. Vector Crc Computatuion on Dsp
US20070005347A1 (en) * 2005-06-30 2007-01-04 Kotzin Michael D Method and apparatus for data frame construction
JP5035816B2 (ja) * 2005-07-14 2012-09-26 一般財団法人電力中央研究所 細孔内付着液体残留量推定方法
US7542421B2 (en) * 2005-09-09 2009-06-02 Tropos Networks Adaptive control of transmission power and data rates of transmission links between access nodes of a mesh network
CN1964244B (zh) * 2005-11-08 2010-04-07 厦门致晟科技有限公司 一种用声码器收发数字信号的方法
US8145477B2 (en) * 2005-12-02 2012-03-27 Sharath Manjunath Systems, methods, and apparatus for computationally efficient, iterative alignment of speech waveforms
JP4971351B2 (ja) * 2005-12-05 2012-07-11 クゥアルコム・インコーポレイテッド トーンコンポーネントの検出のためのシステム、方法および装置
KR100744542B1 (ko) * 2005-12-08 2007-08-01 한국전자통신연구원 가변대역 멀티코덱 QoS 제어 장치 및 방법
US8090573B2 (en) * 2006-01-20 2012-01-03 Qualcomm Incorporated Selection of encoding modes and/or encoding rates for speech compression with open loop re-decision
US8032369B2 (en) * 2006-01-20 2011-10-04 Qualcomm Incorporated Arbitrary average data rates for variable rate coders
US8346544B2 (en) * 2006-01-20 2013-01-01 Qualcomm Incorporated Selection of encoding modes and/or encoding rates for speech compression with closed loop re-decision
JP4816115B2 (ja) * 2006-02-08 2011-11-16 カシオ計算機株式会社 音声符号化装置及び音声符号化方法
US8036242B2 (en) * 2006-02-15 2011-10-11 Qualcomm Incorporated Dynamic capacity operating point management for a vocoder in an access terminal
US7720499B2 (en) * 2006-02-27 2010-05-18 Tropos Networks, Inc. Regulation of transmission power control in mitigate self interference by optimizing link transmission parameters in a wireless network
JP4771835B2 (ja) * 2006-03-06 2011-09-14 株式会社リコー トナー及び画像形成方法
FR2898443A1 (fr) * 2006-03-13 2007-09-14 France Telecom Procede de codage d'un signal audio source, dispositif de codage, procede et dispositif de decodage, signal, produits programme d'ordinateur correspondants
US7778828B2 (en) * 2006-03-15 2010-08-17 Sasken Communication Technologies Ltd. Method and system for automatic gain control of a speech signal
US8392176B2 (en) * 2006-04-10 2013-03-05 Qualcomm Incorporated Processing of excitation in audio coding and decoding
KR100900438B1 (ko) * 2006-04-25 2009-06-01 삼성전자주식회사 음성 패킷 복구 장치 및 방법
DE102006025042B4 (de) * 2006-05-26 2008-08-14 Infineon Technologies Ag Datenratenfehler-tolerante Synchronisation eines digitalen Empfängers
US8036186B2 (en) * 2006-07-26 2011-10-11 Tropos Networks, Inc. Adaptively setting transmission power levels of nodes within a wireless mesh network
US8260609B2 (en) 2006-07-31 2012-09-04 Qualcomm Incorporated Systems, methods, and apparatus for wideband encoding and decoding of inactive frames
US8135047B2 (en) 2006-07-31 2012-03-13 Qualcomm Incorporated Systems and methods for including an identifier with a packet associated with a speech signal
KR100883652B1 (ko) * 2006-08-03 2009-02-18 삼성전자주식회사 음성 구간 검출 방법 및 장치, 및 이를 이용한 음성 인식시스템
ATE463028T1 (de) * 2006-09-13 2010-04-15 Ericsson Telefon Ab L M Verfahren und anordnungen für einen sprach- /audiosender und empfänger
US7877253B2 (en) 2006-10-06 2011-01-25 Qualcomm Incorporated Systems, methods, and apparatus for frame erasure recovery
EP2074711A2 (en) 2006-10-06 2009-07-01 ViaSat, Inc. Forward and reverse calibration for ground-based beamforming
JP5096474B2 (ja) * 2006-10-10 2012-12-12 クゥアルコム・インコーポレイテッド オーディオ信号を符号化及び復号化する方法及び装置
KR100833499B1 (ko) * 2006-10-27 2008-05-29 한국전자통신연구원 가변 대역 멀티 코덱의 음성 품질 측정 장치 및 방법
CN100587186C (zh) * 2006-11-02 2010-02-03 邹家祥 一种保温组合墙板构筑墙体的方法
US8279889B2 (en) * 2007-01-04 2012-10-02 Qualcomm Incorporated Systems and methods for dimming a first packet associated with a first bit rate to a second packet associated with a second bit rate
US8254455B2 (en) * 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
US20090198500A1 (en) * 2007-08-24 2009-08-06 Qualcomm Incorporated Temporal masking in audio coding based on spectral dynamics in frequency sub-bands
US8428957B2 (en) 2007-08-24 2013-04-23 Qualcomm Incorporated Spectral noise shaping in audio coding based on spectral dynamics in frequency sub-bands
US20090094026A1 (en) * 2007-10-03 2009-04-09 Binshi Cao Method of determining an estimated frame energy of a communication
US8326617B2 (en) * 2007-10-24 2012-12-04 Qnx Software Systems Limited Speech enhancement with minimum gating
US8606566B2 (en) * 2007-10-24 2013-12-10 Qnx Software Systems Limited Speech enhancement through partial speech reconstruction
US8015002B2 (en) 2007-10-24 2011-09-06 Qnx Software Systems Co. Dynamic noise reduction using linear model fitting
WO2009078093A1 (ja) 2007-12-18 2009-06-25 Fujitsu Limited 非音声区間検出方法及び非音声区間検出装置
JP5449133B2 (ja) * 2008-03-14 2014-03-19 パナソニック株式会社 符号化装置、復号装置およびこれらの方法
US8325800B2 (en) 2008-05-07 2012-12-04 Microsoft Corporation Encoding streaming media as a high bit rate layer, a low bit rate layer, and one or more intermediate bit rate layers
US8379851B2 (en) 2008-05-12 2013-02-19 Microsoft Corporation Optimized client side rate control and indexed file layout for streaming media
US7925774B2 (en) * 2008-05-30 2011-04-12 Microsoft Corporation Media streaming using an index file
US7948887B2 (en) * 2008-06-24 2011-05-24 Microsoft Corporation Network bandwidth measurement
US8144602B2 (en) * 2008-08-06 2012-03-27 Jds Uniphase Corporation Network load tester with real-time detection and recording
US8265140B2 (en) 2008-09-30 2012-09-11 Microsoft Corporation Fine-grained client-side control of scalable media delivery
US8964692B2 (en) * 2008-11-10 2015-02-24 Qualcomm Incorporated Spectrum sensing of bluetooth using a sequence of energy detection measurements
EP2211335A1 (en) * 2009-01-21 2010-07-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus, method and computer program for obtaining a parameter describing a variation of a signal characteristic of a signal
US8189666B2 (en) 2009-02-02 2012-05-29 Microsoft Corporation Local picture identifier and computation of co-located information
WO2010140940A1 (en) * 2009-06-04 2010-12-09 Telefonaktiebolaget Lm Ericsson (Publ) A method and arrangement for estimating the quality degradation of a processed signal
KR20110001130A (ko) * 2009-06-29 2011-01-06 삼성전자주식회사 가중 선형 예측 변환을 이용한 오디오 신호 부호화 및 복호화 장치 및 그 방법
CN102483926B (zh) 2009-07-27 2013-07-24 Scti控股公司 在处理语音信号中通过把语音作为目标和忽略噪声以降噪的系统及方法
US8811200B2 (en) 2009-09-22 2014-08-19 Qualcomm Incorporated Physical layer metrics to support adaptive station-dependent channel state information feedback rate in multi-user communication systems
WO2011049514A1 (en) 2009-10-19 2011-04-28 Telefonaktiebolaget Lm Ericsson (Publ) Method and background estimator for voice activity detection
US9020812B2 (en) * 2009-11-24 2015-04-28 Lg Electronics Inc. Audio signal processing method and device
US8781822B2 (en) * 2009-12-22 2014-07-15 Qualcomm Incorporated Audio and speech processing with optimal bit-allocation for constant bit rate applications
US20110196673A1 (en) * 2010-02-11 2011-08-11 Qualcomm Incorporated Concealing lost packets in a sub-band coding decoder
US8374858B2 (en) * 2010-03-09 2013-02-12 Dts, Inc. Scalable lossless audio codec and authoring tool
US9082416B2 (en) * 2010-09-16 2015-07-14 Qualcomm Incorporated Estimating a pitch lag
WO2012110448A1 (en) 2011-02-14 2012-08-23 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for coding a portion of an audio signal using a transient detection and a quality result
MX2013009303A (es) 2011-02-14 2013-09-13 Fraunhofer Ges Forschung Codec de audio utilizando sintesis de ruido durante fases inactivas.
CA2827272C (en) 2011-02-14 2016-09-06 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Apparatus and method for encoding and decoding an audio signal using an aligned look-ahead portion
TR201903388T4 (tr) 2011-02-14 2019-04-22 Fraunhofer Ges Forschung Bir ses sinyalinin parçalarının darbe konumlarının şifrelenmesi ve çözülmesi.
AR085794A1 (es) 2011-02-14 2013-10-30 Fraunhofer Ges Forschung Prediccion lineal basada en esquema de codificacion utilizando conformacion de ruido de dominio espectral
MY159444A (en) 2011-02-14 2017-01-13 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E V Encoding and decoding of pulse positions of tracks of an audio signal
SG192746A1 (en) 2011-02-14 2013-09-30 Fraunhofer Ges Forschung Apparatus and method for processing a decoded audio signal in a spectral domain
PL2661745T3 (pl) * 2011-02-14 2015-09-30 Fraunhofer Ges Forschung Urządzenie i sposób do ukrywania błędów w zunifikowanym kodowaniu mowy i audio
AU2012217158B2 (en) 2011-02-14 2014-02-27 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Information signal representation using lapped transform
US8762136B2 (en) * 2011-05-03 2014-06-24 Lsi Corporation System and method of speech compression using an inter frame parameter correlation
US8990074B2 (en) 2011-05-24 2015-03-24 Qualcomm Incorporated Noise-robust speech coding mode classification
FR2977969A1 (fr) * 2011-07-12 2013-01-18 France Telecom Adaptation de fenetres de ponderation d'analyse ou de synthese pour un codage ou decodage par transformee
US9208796B2 (en) * 2011-08-22 2015-12-08 Genband Us Llc Estimation of speech energy based on code excited linear prediction (CELP) parameters extracted from a partially-decoded CELP-encoded bit stream and applications of same
EP2798631B1 (en) * 2011-12-21 2016-03-23 Huawei Technologies Co., Ltd. Adaptively encoding pitch lag for voiced speech
US9111531B2 (en) * 2012-01-13 2015-08-18 Qualcomm Incorporated Multiple coding mode signal classification
CN108831501B (zh) 2012-03-21 2023-01-10 三星电子株式会社 用于带宽扩展的高频编码/高频解码方法和设备
RU2650025C2 (ru) 2012-12-21 2018-04-06 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Генерирование комфортного шума с высоким спектрально-временным разрешением при прерывистой передаче аудиосигналов
CA2895391C (en) * 2012-12-21 2019-08-06 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Comfort noise addition for modeling background noise at low bit-rates
ES2628127T3 (es) 2013-04-05 2017-08-01 Dolby International Ab Cuantificador avanzado
FR3008533A1 (fr) * 2013-07-12 2015-01-16 Orange Facteur d'echelle optimise pour l'extension de bande de frequence dans un decodeur de signaux audiofrequences
US9640185B2 (en) * 2013-12-12 2017-05-02 Motorola Solutions, Inc. Method and apparatus for enhancing the modulation index of speech sounds passed through a digital vocoder
US9570095B1 (en) * 2014-01-17 2017-02-14 Marvell International Ltd. Systems and methods for instantaneous noise estimation
US9721580B2 (en) * 2014-03-31 2017-08-01 Google Inc. Situation dependent transient suppression
CN105023579A (zh) * 2014-04-30 2015-11-04 中国电信股份有限公司 语音通信中语音编码实现方法、装置和通信终端
EP2980796A1 (en) * 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method and apparatus for processing an audio signal, audio decoder, and audio encoder
TWI602172B (zh) * 2014-08-27 2017-10-11 弗勞恩霍夫爾協會 使用參數以加強隱蔽之用於編碼及解碼音訊內容的編碼器、解碼器及方法
CN104833105A (zh) * 2015-05-28 2015-08-12 芜湖美的厨卫电器制造有限公司 热水器和热水器系统
US11631421B2 (en) * 2015-10-18 2023-04-18 Solos Technology Limited Apparatuses and methods for enhanced speech recognition in variable environments
WO2017118495A1 (en) * 2016-01-03 2017-07-13 Auro Technologies Nv A signal encoder, decoder and methods using predictor models
US11227214B2 (en) 2017-11-14 2022-01-18 Advanced Micro Devices, Inc. Memory bandwidth reduction techniques for low power convolutional neural network inference applications
EA038803B1 (ru) * 2017-12-25 2021-10-21 Федеральное государственное унитарное предприятие "Всероссийский научно-исследовательский институт автоматики им. Н.Л. Духова" Способ адаптивной цифровой фильтрации импульсных помех и фильтр для его реализации
US11948073B2 (en) 2018-04-20 2024-04-02 Advanced Micro Devices, Inc. Machine learning inference engine scalability
RU2691122C1 (ru) * 2018-06-13 2019-06-11 Ордена трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования "Московский технический университет связи и информатики" (МТУСИ) Способ и устройство компандирования звуковых вещательных сигналов
US11775799B2 (en) 2018-08-02 2023-10-03 Advanced Micro Devices, Inc. Runtime extension for neural network training with heterogeneous memory
US11769041B2 (en) 2018-10-31 2023-09-26 Advanced Micro Devices, Inc. Low latency long short-term memory inference with sequence interleaving
US11063645B2 (en) 2018-12-18 2021-07-13 XCOM Labs, Inc. Methods of wirelessly communicating with a group of devices
US10756795B2 (en) 2018-12-18 2020-08-25 XCOM Labs, Inc. User equipment with cellular link and peer-to-peer link
CN111338974A (zh) 2018-12-19 2020-06-26 超威半导体公司 用于矩阵数学指令集的图块化算法
CN111353575A (zh) * 2018-12-20 2020-06-30 超威半导体公司 用于卷积神经网络的图块化格式
US11330649B2 (en) 2019-01-25 2022-05-10 XCOM Labs, Inc. Methods and systems of multi-link peer-to-peer communications
US10756767B1 (en) 2019-02-05 2020-08-25 XCOM Labs, Inc. User equipment for wirelessly communicating cellular signal with another user equipment
US11610142B2 (en) 2019-05-28 2023-03-21 Ati Technologies Ulc Safety monitor for image misclassification
US11210199B2 (en) 2019-05-31 2021-12-28 Ati Technologies Ulc Safety monitor for invalid image transform
US11250867B1 (en) * 2019-10-08 2022-02-15 Rockwell Collins, Inc. Incorporating data into a voice signal with zero overhead
JP7332890B2 (ja) * 2019-11-19 2023-08-24 アイコム株式会社 音声通信システム、音声通信方法、および、音声通信プログラム
US11023390B1 (en) * 2020-03-27 2021-06-01 Arm Limited Resizing circuitry
CN112767953B (zh) * 2020-06-24 2024-01-23 腾讯科技(深圳)有限公司 语音编码方法、装置、计算机设备和存储介质

Family Cites Families (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US32580A (en) * 1861-06-18 Water-elevatok
US3633107A (en) * 1970-06-04 1972-01-04 Bell Telephone Labor Inc Adaptive signal processor for diversity radio receivers
JPS5017711A (no) * 1973-06-15 1975-02-25
US3988674A (en) * 1975-03-17 1976-10-26 Communications Satellite Corporation (Comsat) Frame synchronization in speech predictive encoded communication system
US4076958A (en) * 1976-09-13 1978-02-28 E-Systems, Inc. Signal synthesizer spectrum contour scaler
US4214125A (en) * 1977-01-21 1980-07-22 Forrest S. Mozer Method and apparatus for speech synthesizing
CA1123955A (en) * 1978-03-30 1982-05-18 Tetsu Taguchi Speech analysis and synthesis apparatus
DE3023375C1 (no) * 1980-06-23 1987-12-03 Siemens Ag, 1000 Berlin Und 8000 Muenchen, De
US4379949A (en) * 1981-08-10 1983-04-12 Motorola, Inc. Method of and means for variable-rate coding of LPC parameters
JPS6011360B2 (ja) * 1981-12-15 1985-03-25 ケイディディ株式会社 音声符号化方式
US4535472A (en) * 1982-11-05 1985-08-13 At&T Bell Laboratories Adaptive bit allocator
DE3276651D1 (en) * 1982-11-26 1987-07-30 Ibm Speech signal coding method and apparatus
DE3370423D1 (en) * 1983-06-07 1987-04-23 Ibm Process for activity detection in a voice transmission system
US4672670A (en) * 1983-07-26 1987-06-09 Advanced Micro Devices, Inc. Apparatus and methods for coding, decoding, analyzing and synthesizing a signal
EP0163829B1 (en) * 1984-03-21 1989-08-23 Nippon Telegraph And Telephone Corporation Speech signal processing system
IT1179803B (it) * 1984-10-30 1987-09-16 Cselt Centro Studi Lab Telecom Metodo e dispositivo per la correzione di errori causati da rumore di tipo impulsivo su segnali vocali codificati con bassa velocita di ci fra e trasmessi su canali di comunicazione radio
US4885790A (en) * 1985-03-18 1989-12-05 Massachusetts Institute Of Technology Processing of acoustic waveforms
US4937873A (en) * 1985-03-18 1990-06-26 Massachusetts Institute Of Technology Computationally efficient sine wave synthesis for acoustic waveform processing
US4856068A (en) * 1985-03-18 1989-08-08 Massachusetts Institute Of Technology Audio pre-processing methods and apparatus
US4831636A (en) * 1985-06-28 1989-05-16 Fujitsu Limited Coding transmission equipment for carrying out coding with adaptive quantization
US4827517A (en) * 1985-12-26 1989-05-02 American Telephone And Telegraph Company, At&T Bell Laboratories Digital speech processor using arbitrary excitation coding
US4797929A (en) * 1986-01-03 1989-01-10 Motorola, Inc. Word recognition in a speech recognition system using data reduced word templates
CA1299750C (en) * 1986-01-03 1992-04-28 Ira Alan Gerson Optimal method of data reduction in a speech recognition system
JPH0748695B2 (ja) * 1986-05-23 1995-05-24 株式会社日立製作所 音声符号化方式
US4899384A (en) * 1986-08-25 1990-02-06 Ibm Corporation Table controlled dynamic bit allocation in a variable rate sub-band speech coder
US4771465A (en) * 1986-09-11 1988-09-13 American Telephone And Telegraph Company, At&T Bell Laboratories Digital speech sinusoidal vocoder with transmission of only subset of harmonics
US4797925A (en) * 1986-09-26 1989-01-10 Bell Communications Research, Inc. Method for coding speech at low bit rates
US4903301A (en) * 1987-02-27 1990-02-20 Hitachi, Ltd. Method and system for transmitting variable rate speech signal
US5054072A (en) * 1987-04-02 1991-10-01 Massachusetts Institute Of Technology Coding of acoustic waveforms
US4868867A (en) * 1987-04-06 1989-09-19 Voicecraft Inc. Vector excitation speech or audio coder for transmission or storage
US4969192A (en) * 1987-04-06 1990-11-06 Voicecraft, Inc. Vector adaptive predictive coder for speech and audio
US5202953A (en) * 1987-04-08 1993-04-13 Nec Corporation Multi-pulse type coding system with correlation calculation by backward-filtering operation for multi-pulse searching
US4890327A (en) * 1987-06-03 1989-12-26 Itt Corporation Multi-rate digital voice coder apparatus
US4831624A (en) * 1987-06-04 1989-05-16 Motorola, Inc. Error detection method for sub-band coding
US4802171A (en) * 1987-06-04 1989-01-31 Motorola, Inc. Method for error correction in digitally encoded speech
US4899385A (en) * 1987-06-26 1990-02-06 American Telephone And Telegraph Company Code excited linear predictive vocoder
CA1337217C (en) * 1987-08-28 1995-10-03 Daniel Kenneth Freeman Speech coding
DE3875040T2 (de) * 1987-09-02 1993-02-25 Moltech Invent Sa Keramik-/metall-verbundwerkstoff.
US4811404A (en) * 1987-10-01 1989-03-07 Motorola, Inc. Noise suppression system
US4852179A (en) * 1987-10-05 1989-07-25 Motorola, Inc. Variable frame rate, fixed bit rate vocoding method
US4896361A (en) * 1988-01-07 1990-01-23 Motorola, Inc. Digital speech coder having improved vector excitation source
DE3883519T2 (de) * 1988-03-08 1994-03-17 Ibm Verfahren und Einrichtung zur Sprachkodierung mit mehreren Datenraten.
DE3871369D1 (de) * 1988-03-08 1992-06-25 Ibm Verfahren und einrichtung zur sprachkodierung mit niedriger datenrate.
US5023910A (en) * 1988-04-08 1991-06-11 At&T Bell Laboratories Vector quantization in a harmonic speech coding arrangement
US4864561A (en) * 1988-06-20 1989-09-05 American Telephone And Telegraph Company Technique for improved subjective performance in a communication system using attenuated noise-fill
JPH0783315B2 (ja) * 1988-09-26 1995-09-06 富士通株式会社 可変レート音声信号符号化方式
CA1321645C (en) * 1988-09-28 1993-08-24 Akira Ichikawa Method and system for voice coding based on vector quantization
EP0364647B1 (en) * 1988-10-19 1995-02-22 International Business Machines Corporation Improvement to vector quantizing coder
NL8901032A (nl) * 1988-11-10 1990-06-01 Philips Nv Coder om extra informatie op te nemen in een digitaal audiosignaal met een tevoren bepaald formaat, een decoder om deze extra informatie uit dit digitale signaal af te leiden, een inrichting voor het opnemen van een digitaal signaal op een registratiedrager, voorzien van de coder, en een registratiedrager verkregen met deze inrichting.
JP3033060B2 (ja) * 1988-12-22 2000-04-17 国際電信電話株式会社 音声予測符号化・復号化方式
CA2005115C (en) * 1989-01-17 1997-04-22 Juin-Hwey Chen Low-delay code-excited linear predictive coder for speech or audio
US5222189A (en) * 1989-01-27 1993-06-22 Dolby Laboratories Licensing Corporation Low time-delay transform coder, decoder, and encoder/decoder for high-quality audio
DE68916944T2 (de) * 1989-04-11 1995-03-16 Ibm Verfahren zur schnellen Bestimmung der Grundfrequenz in Sprachcodierern mit langfristiger Prädiktion.
US5060269A (en) * 1989-05-18 1991-10-22 General Electric Company Hybrid switched multi-pulse/stochastic speech coding technique
US4975956A (en) * 1989-07-26 1990-12-04 Itt Corporation Low-bit-rate speech coder using LPC data reduction processing
GB2235354A (en) * 1989-08-16 1991-02-27 Philips Electronic Associated Speech coding/encoding using celp
US5091945A (en) * 1989-09-28 1992-02-25 At&T Bell Laboratories Source dependent channel coding with error protection
AU6174290A (en) * 1989-10-06 1991-04-28 Motorola, Inc. Error detection/correction scheme for vocoders
US5307441A (en) * 1989-11-29 1994-04-26 Comsat Corporation Wear-toll quality 4.8 kbps speech codec
JPH03181232A (ja) * 1989-12-11 1991-08-07 Toshiba Corp 可変レート符号化方式
US5097507A (en) * 1989-12-22 1992-03-17 General Electric Company Fading bit error protection for digital cellular multi-pulse speech coder
CH680030A5 (no) * 1990-03-22 1992-05-29 Ascom Zelcom Ag
JP3102015B2 (ja) * 1990-05-28 2000-10-23 日本電気株式会社 音声復号化方法
US5103459B1 (en) * 1990-06-25 1999-07-06 Qualcomm Inc System and method for generating signal waveforms in a cdma cellular telephone system
US5235671A (en) * 1990-10-15 1993-08-10 Gte Laboratories Incorporated Dynamic bit allocation subband excited transform coding method and apparatus
US5187745A (en) * 1991-06-27 1993-02-16 Motorola, Inc. Efficient codebook search for CELP vocoders
DE69233794D1 (de) * 1991-06-11 2010-09-23 Qualcomm Inc Vocoder mit veränderlicher Bitrate
US5495555A (en) * 1992-06-01 1996-02-27 Hughes Aircraft Company High quality low bit rate celp-based speech codec
US5734789A (en) * 1992-06-01 1998-03-31 Hughes Electronics Voiced, unvoiced or noise modes in a CELP vocoder
US5566206A (en) * 1993-06-18 1996-10-15 Qualcomm Incorporated Method and apparatus for determining data rate of transmitted variable rate data in a communications receiver
US5537410A (en) * 1994-09-15 1996-07-16 Oki Telecom Subsequent frame variable data rate indication method

Also Published As

Publication number Publication date
ATE294441T1 (de) 2005-05-15
CA2102099C (en) 2006-04-04
JP3432822B2 (ja) 2003-08-04
CA2635914A1 (en) 1992-12-23
IL113987A (en) 1996-11-14
JP2005182075A (ja) 2005-07-07
FI20011509A (fi) 2001-07-10
CA2483322C (en) 2008-09-23
DK0588932T3 (da) 2002-03-11
DE69232202D1 (de) 2001-12-20
DK1126437T3 (da) 2004-11-08
JP3566669B2 (ja) 2004-09-15
JP2002202800A (ja) 2002-07-19
JP3964915B2 (ja) 2007-08-22
ATE477571T1 (de) 2010-08-15
SG70558A1 (en) 2000-02-22
CN1119796C (zh) 2003-08-27
JP2006079107A (ja) 2006-03-23
FI118702B (fi) 2008-02-15
FI20061122L (fi) 2006-12-15
CN1167309A (zh) 1997-12-10
IL113987A0 (en) 1995-10-31
AU711484B2 (en) 1999-10-14
HK1014796A1 (en) 1999-09-30
JP2006221186A (ja) 2006-08-24
FI935597A0 (fi) 1993-12-13
DE69233397D1 (de) 2004-09-09
EP1675100A2 (en) 2006-06-28
BR9206143A (pt) 1995-01-03
AU671952B2 (en) 1996-09-19
EP1107231B1 (en) 2005-04-27
ATE272883T1 (de) 2004-08-15
CN1071036A (zh) 1993-04-14
HK1064785A1 (en) 2005-02-04
CN1159639A (zh) 1997-09-17
ES2166355T3 (es) 2002-04-16
JP3751957B2 (ja) 2006-03-08
EP1998319A3 (en) 2008-12-17
EP1107231A2 (en) 2001-06-13
EP1162601A3 (en) 2002-07-03
EP1126437B1 (en) 2004-08-04
US5414796A (en) 1995-05-09
AU1482597A (en) 1997-05-15
ES2348319T3 (es) 2010-12-02
CA2102099A1 (en) 1992-12-12
EP1239456A1 (en) 2002-09-11
CA2483296A1 (en) 1992-12-23
CA2568984C (en) 2007-07-10
AU6089396A (en) 1996-10-03
EP1162601A2 (en) 2001-12-12
DE69233794D1 (de) 2010-09-23
CN1381956A (zh) 2002-11-27
FI20061121A (fi) 2006-12-15
EP1126437A2 (en) 2001-08-22
FI20011508A (fi) 2001-07-10
CN1220334C (zh) 2005-09-21
CA2568984A1 (en) 1992-12-23
CA2483324A1 (en) 1992-12-23
DE69232202T2 (de) 2002-07-25
JPH06511320A (ja) 1994-12-15
EP0588932B1 (en) 2001-11-14
DE69233502T2 (de) 2006-02-23
ZA924082B (en) 1993-02-26
ES2240252T3 (es) 2005-10-16
CN1909059A (zh) 2007-02-07
EP1763020A3 (en) 2010-09-29
NO934544L (no) 1993-12-10
CN1286086C (zh) 2006-11-22
EP1998319A2 (en) 2008-12-03
NO934544D0 (no) 1993-12-10
DE69233397T2 (de) 2005-08-11
JP2004004897A (ja) 2004-01-08
JP4191746B2 (ja) 2008-12-03
AU2186592A (en) 1993-01-12
WO1992022891A1 (en) 1992-12-23
FI935597A (fi) 1993-12-13
AU693374B2 (en) 1998-06-25
CN1398052A (zh) 2003-02-19
ES2225321T3 (es) 2005-03-16
EP1998319B1 (en) 2010-08-11
EP1126437A3 (en) 2001-12-12
MX9202808A (es) 1992-12-01
HUT70719A (en) 1995-10-30
IL113988A (en) 1996-11-14
EP0588932A1 (en) 1994-03-30
HK1127152A1 (en) 2009-09-18
IL113988A0 (en) 1995-10-31
EP1107231A3 (en) 2001-12-05
CA2483322A1 (en) 1992-12-23
DE69233502D1 (de) 2005-06-02
JP2002023796A (ja) 2002-01-25
JP3955600B2 (ja) 2007-08-08
CN1112673C (zh) 2003-06-25
CA2483296C (en) 2008-01-22
FI120425B (fi) 2009-10-15
US5778338A (en) 1998-07-07
EP1763020A2 (en) 2007-03-14
CN1091535C (zh) 2002-09-25
HU215861B (hu) 1999-03-29
CN1196271C (zh) 2005-04-06
IL102146A (en) 1996-03-31
IL113986A0 (en) 1995-10-31
CA2483324C (en) 2008-05-06
US5657420A (en) 1997-08-12
ATE208945T1 (de) 2001-11-15
CN1492395A (zh) 2004-04-28
RU2107951C1 (ru) 1998-03-27
IL113986A (en) 1996-11-14

Similar Documents

Publication Publication Date Title
NO319559B1 (no) Fremgangsmate og koder for taleprosessering ved forskjellig overforingstakt, saerlig ved lineaer prediktiv koding (LPC)
EP1598811B1 (en) Decoding apparatus and method
US10199050B2 (en) Signal codec device and method in communication system
EP0747884A2 (en) Codebook gain attenuation during frame erasures
NO322658B1 (no) Vokoder med varierbar overforingshastighet
NO322638B1 (no) Metode og apparat for maskering av feil i rammer med data.
Taniguchi et al. Combined source and channel coding based on multimode coding

Legal Events

Date Code Title Description
MK1K Patent expired