SE466824B - Foerfarande foer kodning av en samplad talsignalvektor - Google Patents

Foerfarande foer kodning av en samplad talsignalvektor

Info

Publication number
SE466824B
SE466824B SE9002622A SE9002622A SE466824B SE 466824 B SE466824 B SE 466824B SE 9002622 A SE9002622 A SE 9002622A SE 9002622 A SE9002622 A SE 9002622A SE 466824 B SE466824 B SE 466824B
Authority
SE
Sweden
Prior art keywords
measure
scaling factor
vector
excitation
levels
Prior art date
Application number
SE9002622A
Other languages
English (en)
Other versions
SE9002622L (sv
SE9002622D0 (sv
Inventor
T B Minde
Original Assignee
Ericsson Telefon Ab L M
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ericsson Telefon Ab L M filed Critical Ericsson Telefon Ab L M
Priority to SE9002622A priority Critical patent/SE466824B/sv
Publication of SE9002622D0 publication Critical patent/SE9002622D0/sv
Priority to CA002065451A priority patent/CA2065451C/en
Priority to KR1019920700756A priority patent/KR0131011B1/ko
Priority to PCT/SE1991/000495 priority patent/WO1992002927A1/en
Priority to ES91850189T priority patent/ES2076510T3/es
Priority to JP03513617A priority patent/JP3073013B2/ja
Priority to DE69112540T priority patent/DE69112540T2/de
Priority to EP91850189A priority patent/EP0470941B1/en
Priority to AU83366/91A priority patent/AU637927B2/en
Priority to NZ239030A priority patent/NZ239030A/xx
Priority to US07/738,552 priority patent/US5214706A/en
Priority to MX9100552A priority patent/MX9100552A/es
Publication of SE9002622L publication Critical patent/SE9002622L/sv
Publication of SE466824B publication Critical patent/SE466824B/sv
Priority to HK98105583A priority patent/HK1006602A1/xx

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/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 TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L2019/0001Codebooks
    • G10L2019/0002Codebook adaptations
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L2019/0001Codebooks
    • G10L2019/0013Codebook search algorithms
    • G10L2019/0014Selection criteria for distances
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/06Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being correlation coefficients

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
  • Alarm Systems (AREA)
  • Remote Monitoring And Control Of Power-Distribution Networks (AREA)
  • Selective Calling Equipment (AREA)
  • Telephonic Communication Services (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)

Description

.- 4ee 824 4 'io 15 20 25 . 30 Ett ekvivalent och. genom artikeln ¿Efficient procedures for finding the optimum innovation in stochastic coders", IEEE ICASSP-86, 1986 av I.M. Atal känt sätt att finna optimalt index baseras på maximering av den med avseende på energin normaliserade kvadrerade korskorrelationen mellan den Trancoso och B.S. 8 syntetiska talvektorn och den samplade talsignalvektorn. ¶:l;gDessa båda kända uttömmande sökmetoder är mycket kostsamma vad gäller antalet erforderliga instruktionscykler i en digital sig- 8 nalprocessor, men de är också fundamentala vad gäller bevarande av hög talkvalitet.
Sökning i en adaptiv kodbok är i sig känt genom den amerikanska patentskriften 3 899 385 samt artikeln "Design, implementation and evaluation of a 8.0 kbps CELP coder on a single AT&T DSP32C digital signal processor", IEEE Workshop on speech coding for telecommunications, Vancouver, Sept 5-5, 1989 av K. Swaminathan och R.V. Cox.
Ett problem vid en heltalsimplementering är att den adaptiva kodboken uppvisar en återkoppling (långtidsminne). Kodboken uppdateras med den totala excitationsvektorn (linjärkombination av optimala excitationsvektorer ur den fasta och adaptiva kod- boken) från föregående ram. Denna anpassning av den adaptiva kodboken gör det möjligt att följa de dynamiska variationerna i talsignalen, vilket är väsentligt för"uppnående av hög talkvali- tet. Talsignalen varierar dock över ett stort dynamiskt område, vilket innebär att det är svårt att med bibehållen kvalitet representera signalen i enkel precision i en digital signalpro- cessor som arbetar med heltalsrepresentation, efterom dessa oftast har en ordlängd på 16 bitar, vilket är otillräckligt.
Signalen måste då antingen representeras i dubbel precision (två ord) eller i flyttalsrepresentation implementerad i mjukvara i en digital signalprocessor som arbetar med heltalsrepresentation.
Båda dessa metoder är emellertid kostsamma i komplexitet. 10 15 20 25 (u 466 824 REDOGÖRBLSE FÖR UPPFINNINGEN Föreliggande uppfinning syftar till erbjudande av ett förfarande för uppnående av ett stort dynamiskt talsignalområde vid analys av en adaptiv kodbok i en med heltalsrepresentation arbetande digital signalprocessor, vilket förfarande ej uppvisar de med kända metoder behäftade nackdelarna vad gäller komplexitet.
Vid ett förfarande för kodning av en samplad talsignalvektor genom selektering av en optimal excitationsvektor i en adaptiv kodbok, i vilket (a) (b) (C) (d) (e) förutbestämda excitationsvektorer successivt läses ur den adaptiva kodboken, varje låst excitationsvektor faltas med impulssvaret för ett linjärt filter, varje filterutsignal utnyttjas för bildande av (cl) dels ett mått C, på kvadraten av korskorrelationen med den samplade talsignalvektorn, (c2) dels ett mått E, på filterutsignalens energi, varje mått C, multipliceras med måttet Ch för den excita- tionsvektor som hitintills givit det största värdet på kvoten mellan måttet på kvadraten av korskorrelationen mellan filterutsignalen och den samplade talsignalvektorn och måttet på filterutsignalens energi, varje mått El multipliceras med måttet C" för den exci- tationsvektor som hitintills givit det största värdet på kvoten mellan måttet på kvadraten av korskorrelationen mellan filterutsignalen och den samplade talsignalvektorn och måttet på filterutsignalens energi, (466 s24 9 10 15 20 25 (f) (9) produkterna under steg (d) och (e) jämförs med varandra, varvid måtten CM, E" ersätts med måtten CI, E, om produkten under steg (d) är större än produkten under steg (e), och den excitatinsvektor som svarar mot det största värdet på kvoten mellan måttet på kvadraten av korskorrelationen mellan filterutsignalen och den samplade talsignalvektorn och måttet på filterutsignalens energi väljs såsom den optimala excitationsvektorn i den adaptiva kodboken, uppnås detta syftemål genom (A) (B) (C) (D) (E) att den adaptiva kodbokens excitationsvektorer före falt- ningen i steg (b) blocknormaliseras med avseende på den till beloppet största komponenten i en uppsättning av ex- citationsvektorer ur den adaptiva kodboken, att den samplade talsignalvektorn före bildandet av måttet C, i steg (cl) blocknormaliseras med avseende på den till beloppet största av sina komponenter, att måttet C, från steg (cl) och måttet C" delas upp i resp. mantissa och resp. första skalningsfaktor med ett förutbes- tämt första maximalt antal nivåer, att måttet E, från steg (c2) och måttet E" delas upp i resp. mantissa och resp. andra skalnihgsfaktor med ett förutbes- tämt andra maximalt antal nivåer, och att produkterna i steg (d) och (e) bildas genom multipli- kation av respektive mantissor och separat skalningsfaktor- beräkning. rxeunrönmzcxnrne Uppfinningen, ytterligare syften samt med uppfinningen uppnådda fördelar förstås bäst genom hänvisning till nedanstående beskriv- ning och de bifogade ritningarna, i vilka: 10 15 20 25 30 5 466 824 visar ett blockschema av en anordning enligt teknikens ståndpunkt för kodning av en talsignalvektor'genom selek- tering av den optimala excitationsvektorn i en adaptiv kodbok; Fig. 1 Fig. 2 visar ett blockschema av en första utföringsform av en anordning för utförande av förfarandet enligt föreliggan- de uppfinning; Fig. 3 visar ett blockschema av en andra, föredragen utförings- form av en anordning för utförande av förfarandet enligt föreliggande uppfinning; och Fig. 4 visar ett blockschema av en tredje utföringsform av en anordning för'utförande av förfarandet enligt föreliggan- de uppfinning.
FÖREDRÄGBH UTFÖRINGSFORH I de olika figurerna avser samma hänvisningssiffror genomgående motsvarande element.
Fig. 1 visar ett blockschema av en anordning enligt teknikens ståndpunkt för kodning av en talsignalvektor genom selektering av den optimala excitationsvektorn i en adaptiv kodbok. En samp- lad talsignalvektar qßn), exempelvis bestående av 40 sampel, och en syntetisk signal šH(n), som erhållits genom faltning i en faltningsenhet 102 av en excitationsvektor ur en adaptiv kodbok 100 med impulssvaret ln(n) för ett linjärt filter, korreleras med varandra i en korrelator 104. Korrelatorns 104 utsignal utgör ett mått C, på kvadraten av korskorrelationen mellan signalerna su(n) och šH(n). Ett mätt på korskorrelationen beräknas exempel- vis genom summering av produkterna av motsvarande komponenter i insignalerna s"(n) och š"(n). I en energiberäknare 106 beräknar även ett mätt E, på den syntetiska signalens šu(n) energi, exempelvis genom summering av' kvadraterna av signalens kom- ponenter. Dessa beräkningar utföres för för var och en av den adaptiva kodbokens excitationsvektorer. 10 15 20 25 30 35 466 SM ë För varje beräknat par C,, EI bildas produkterna C,-En och Elwä, där CH och E. är värdena för den kvadrerade korskorrelationen resp. energin för den excitationsvektor som hitintills givit den största kvoten C;/El. Värdena C" och En är lagrade i minnen 108 resp. 110 och produkterna bildas i multiplikatorer 112 resp. 114.
Därefter jämförs produkterna i en komparator 116. Om produkten CI-E" är större än produkten EI-C" uppdateras C", En med CI, El, i annat fall behålls de gamla värdena på C", E". Samtidigt med uppdateringen av C; och Fä uppdateras även ett icke visat minne som lagrar index för motsvarande vektor i den adaptiva kodboken 100. När samtliga excitationsvektorer i den adaptiva kodboken 100 undersökts på detta sätt erhålls den optimala excitationsvektorn som den vektor som svarar mot de värden på CM, En som finns i minnena 108 resp. 110. Denna vektors index i kodboken 100, som finns lagrat i det icke visade minnet, bildar en väsentlig del av koden för den samplade talsignalvektorn.
Fig. 2 visar ett blockschema av en första utföringsform av en anordning för utförande av förfarandet enligt föreliggande uppfinning. Samma parametrar som i den kända anordningen enligt fig. 1, nämligen den kvadrerade korskorrelationen och energin, beräknas även i anordningen enligt fig. 2. Före faltningen i faltningsenheten 102 blocknormaliseras dock den adaptiva kod- bokens 100 excitationsvektorer i en blocknormaliseringsenhet 200 med avseende på den till beloppet största komponenten av samtliga excitationsvektorer i kodboken. Detta sker genom att samtliga vektorkomponenter i kodboken genomsöks för fastställande av den till beloppet största komponenten. Därefter skiftas denna kom- ponent så långt ät vänster som är möjligt med den valda ordläng- den. I denna beskrivning antages en ordlängd på 16 bitar. Det inses dock att uppfinningen ej är begränsad till just denna ordlängd utan att även andra ordlängder är möjliga. Slutligen skiftas de övriga vektorkomponenterna åt vänster med samma antal skiftningssteg. På motsvarande sätt blocknormaliseras talsignal- vektorn i en blocknormaliseringsenhet 202 med avseende på den till beloppet största av sina komponenter. 10 15 20 25 i 30 ; 466 824 Efter utförs beräkningarna av den kvadrerade korskorrelationen och energin i korrelatorn 104 resp. energiberäknaren 106. Resultaten lagras i dubbel precision, dvs 32 bitar vid 16 bitars ordlängd. Vid korskorrelations- och energiberäkningarna utförs en summering av produkter. Eftersom summan av dessa produkter normalt erfordrar fler än 32 bitar kan en ackumulator med en längd på mer än 32 bitar utnyttjas för sum- meringen, varefter resultatet skiftas åt höger för att rymmas inom 32 bitar. Ett alternativt sätt är att vid en 32 bitars acku- mulator skifta varje produkt ät höger till exempel sex bitar före addition. Dessa skiftningar har ingen praktisk betydelse och kommer därför ej att beaktas i nedanstående beskrivning. blocknormaliseringarna De erhållna resultaten delas upp i en mantissa på 16 bitar och en skalningsfaktor. Skalningsfaktorerna har företrädesvis ett begränsat antal skalningsnivåer. Det har visat sig att ett lämp- ligt maximalt antal skalningsnivåer för korskorrelationen är 9, medan ett lämpligt maximalt antal skalningsnivåer för energin är 7. Dessa värden är dock ej kritiska. Värden kring 8 har dock visat sig vara lämpliga. Skalningsfaktorerna lagras lämpligen som exponenter, varvid det är underförstått att skalningsfaktorn bildas som 25, där E är exponenten. Hed de ovan föreslagna maximala antalen skalningsnivåer kan då skalnigsfaktorn för korskorrelationen lagras i 4 bitar medan skalningsfaktorn för energin erfordrar' 3 bitar. Genom. att skalningsfaktorerna är uttryckta såsom 25 kan skalningen ske genom enkel skiftning av mantissan. ' För att illustrera uppdelningen i mantissa och skalningsfaktor antages att vektorlängden är 40 sampel och att ordlängden är 16 bitar. Beloppet för det maximala värdet av ett sampel är i detta fall Zßq. Det maximala värdet av korskorrelationen blir: _ _ 2ua4) _ _ 12 _ m ccm-4o2 -(s2)2 Skalningsfaktorn 2” för detta maximala fall betraktas som 1, dvs 2°, medan mantissan är 5-2”. '4ee 824 ß 10 15 20 30 Antag nu att den syntetiska utsignalvektor har samtliga komponen- ter lika med halva det maximala värdet, dvs 2164, medan den samp- lade signalvektorn fortfarande har enbart maximala komponenter.
I detta fall blir korskorrelationen: cc, = 4o-2'5-2"' = (s-zfi) -22° Skalningsfaktorn för detta fall betraktas som 21, dvs 2, medan mantissan fortfarande är 5-212. Skalningsfaktorn anger alltså hur många gånger mindre resultatet är än CCM.
Vid andra värden pá vektorkomponenterna beräknas korskorrelatio- nen, varefter resultatet skiftas åt vänster så länge som det understiger CBC-ax. Antalet skiftningar ger skalningsfaktorns exponent, medan de 15 mest signifikanta bitarna i resultatets belopp ger mantissans belopp.
Eftersom antalet skalningsfaktorniváer kan vara begränsat kan även antalet skiftningar som genomförs vara begränsat. Det kan .alltså hända att mantissans mestsignifikanta bitar innehåller nollor även efter maximal skiftning om korskorrelationen är liten.
C, beräknas sedan genom kvadrering av korskorrelationens mantis- sa och skiftning av resultatet 1 bit åt vänster samt dubblering av skalfaktorns exponent och ökning av den resulterande exponen- ten med 1. ' E! uppdelas på liknande sätt. Här behöver dock inte den avslutan- de kvadreringen genomföras.
På samma sätt är de lagrade värdena C", E" för den hitintills op- timala excitationsvektorn uppdelade i en 16 bitars mantissa och en skalningsfaktor.
Hantissorna för Cl och E" multipliceras i multiplikatorn 112 medan mantissorna för E, och C" multipliceras i multiplikatorn 114.
Skalningsfaktorerna för dessa storheter tillförs en skalnings- faktorberäkningsenhet 204, som beräknar repektive skalningsfaktor 10 15 20 25 30 9 4-66 824 S1 och S2 genom addering av skalningsfaktorernas exponenter för paren Cl, EQ resp. El, C". I skalningsenheterna 206, 208 påläggs sedan skalningsfaktorerna Sl, S2 produkterna från multiplikato- rerna 112 resp. 114 för bildande av de skalade kvantiteter som skall jämföras i komparatorn 116. Påläggningen av respektive skalningsfaktor sker genom skiftning av motsvarande produkt åt höger det antal steg som anges av skalningsfaktorns exponent.
Genom att skalningsfaktorerna kan begränsas till ett maximalt antal skalningsniväer är det möjligt att begränsa antalet skift- ningar till ett minimum som fortfarande ger god talkvalitet. De ovan angivna värdena 9 och 7 för korskorrelation resp. energi har visat sig vara optimala vad gäller minimering av antalet skiftningar vid bibehållen god talkvalitet.
En nackdel med implementeringen enligt fig. 2 är att skiftningar ~ kan vara nödvändiga för båda insignalerna. Detta leder till att båda insignalernas noggrannhet försämras, vilket i sin tur inne- bär att den efterföljande jämförelsen blir osâkrare. En annan nackdel är att skiftning av båda insignalerna tar onödigt lång tid.
Fig. 3 visar ett blockschema av en andra, föredragen utförings- form av en anordning för utförande av förfarandet enligt före- liggande uppfinning i vilken dessa nackdelar eliminerats. Istäl- let för tvâ skalningsfaktorer' beräknar skalningsfaktorberäk- ningsenheten 304 en effektiv skalningsfaktor. Denna beräknas genom subtrahering av exponenten för'skalningsfaktorn för paret EI, C; från exponenten för skalningsfaktorn för paret Cl, EH. Om den resulterande exponenten är positiv skiftas produkten frän multiplikatorn 112 ät höger det antal steg som anges av den beräknade exponenten. I annat fall skiftas produkten frän multiplikatorn 114 åt höger det antal steg som anges av beloppet av den beräknade exponenten. Fördelen med denna implementering är att endast en effektiv skiftning erfordras. Detta innebär färre skiftningssteg, vilket i sin tur innebär ökad snabbhet.
Dessutom ökas säkerheten i jämförelsen eftersom endast den ena signalen behöver skiftas. "4se S24 10 15 20 25 30 /G En implementering av den föredragna utföringsformen enligt fig. 3 illustreras i detalj av det före patentkraven bifogade PASCAL- programmet.
Fig. 4 visar ett blockschema av en tredje utföringsform av en anordning för utförande av förfarandet enligt föreliggande upp- finning. Såsom vid utföringsformen enligt fig. 3 beräknar skal- ningsfaktorberäkningsenheten 404 en effektiv skalningsfaktor, men i denna utföringsform påläggs den effektiva skalningsfaktorn alltid endast den ena av produkterna från multiplikatorerna 112, 114. I fig. 4 pàläggs den effektiva skalningsfaktorn produkten från multiplikatorn 112 via skalningsenheten 406. I denna utfö- ringsform kan därför skiftning ske både åt höger och vänster beroende på om den effektiva skalningsfaktorns exponent är posi- tiv eller negativ. Insignalerna till komparatorn 116 erfordrar därför mer an ett ord.
Nedan följer en jämförelse av komplexiteten uttryckt i HIPS (millioner instruktioner per sekund) för den i fig. 1 illustrera- de kodningsmetoden. Endast komplexiteten för'beräkningen av kors- korrelation, energi och jämförelsen har uppskattats eftersom huvuddelen av komplexiteten uppkommer i dessa delar. Följande metoder har jämförts: 1. Flyttalsimplementering i hårdvara. 2. Flyttalsimplementering i mjukvara på en med heltals- representation arbetande digital signalprocessor. 3. Implementering i dubbel precision på en med heltals- representation arbetande digital signalprocessor. 4. Metoden enligt föreliggande uppfinning implementerad på en med heltalsrepresentation arbetande digital signalproces- sor.
I nedanstående beräkningar antages att varje samplad talvektor innehåller 40 sampel (40 komponenter), att varje talvektor sträcker sig över en tidsram på 5 ms, och att den adaptiva 10 15 20 äs " 466 824 kodboken innehåller 128 excitationsvektorer med vardera 40 komponenter. Uppskattningarna på antalet nödvändiga instruktions- cykler för de olika operationerna på en med heltalsrepresentation arbetande digital signalprocessor har hämtats ur "THS320C25 USER'S GUIDE" från Texas Instruments. 1. Flyttalsimplementering i hårdvara.
Flyttalsoperationer (FLOP) är komplexa men implementerade i hårdvara. Därför räknas de här som vardera en instruktion för förenkling av jämförelsen.
Korskorrelation: 40 multiplikationer-additioner Energi : 40 multiplikationer-additioner Jämförelse : 4 multiplikationer 1 subtraktion Totalt 85 operationer Detta ger 128-85 / 0.005 = 2.2 MIPS 2. Flyttalsimplementering i mjukvara.
Operationerna byggs upp av enklare instruktioner. In- struktionsåtgången är ungefär: Flyttalsmultiplikation: Flyttalsaddition : 10 instruktioner 20 instruktioner Härur erhålls: Korskorrelation: 40-10 instruktioner 40-20 instruktioner Energi 40-10 instruktioner 40-20 instruktioner Jäförelse : 4-10 instruktioner 1-20 instruktioner 10 15 4> ÖW ß ”I los. 03 “Fr-h Totalt 2460 instruktioner Detta ger 128-2460 / 0.005 = 63 MIPS 3. Implementering i dubbel precision.
Operationerna byggs upp av enklare instruktioner. In- struktionsátgången är ungefär: Multipl.-addition i enkel precision: Multiplikation i dubbel precisuion : 2 subtraktioner i dubbel precision : 2 normeringar i dubbel precision : Härur erhålls: 50 10 30 instruktion instruktioner instruktioner instruktioner Korskorrelation: 40-1 instruktioner Energi : 40-1 instruktioner Jämförelse : 4-50 instruktioner 1-10 instruktioner 2-30 instruktioner Totalt 350 instruktioner Detta ger 128-350 / 0.005 = 9.0 HIPS 4. Metoden enligt föreliggande uppfinning.
Operationerna byggs upp av enklare instruktioner. In- struktionsåtgången är ungefär: Multipl.-addition i enkel precision: Normering i dubbel precision : Multiplikation i enkel precision : Subtraktion i enkel precision : NLJWP' instruktion instruktioner instruktioner instruktioner 10 15 20 25 30 'Q 466 824 Härur erhålls: Korskorrelation: 40-1 instruktioner 9 instruktioner (antalet skal- ningsnivåer) Energi : 40-1 instruktioner 7 instruktioner (antalet skal- ningsnivåer) Jämförelse : 4-3 instruktioner 5+2 instruktioner (skalning) 1-3 instruktioner Totalt 118 instruktioner Detta ger 128-118 / 0.005 = 3.0 HIPS Ovanstående uppskattningar är att anse som ungefärliga och anger storleksornigen i komplexitet för' de olika. metoderna. Dessa uppskattningar visar att metoden.enligt föreliggande uppfinning är nästan lika effektiv med avseende på antalet använda instruk- tioner som en flyttalsimplementering i hårdvara. Eftersom metoden kan implementeras i en betydligt billigare med heltalsrepresenta- tion arbetande digital signalprocessor kan en väsentlig kostnads- reduktion uppnås med bibehållen talkvalitet. En jämförelse med flyttalsimplementering i mjukvara och implementering i dubbel precision på en med heltalsrepresentation arbetande digital sig- nalprocessor visar att metoden enligt föreliggande uppfinning leder till en väsentlig reduktion 1 komplexitet (erforderligt antal MIPS) vid bibehållen talkvalitet.
Fackmannen inser att olika förändringar och modifieringar av uppfinningen är möjliga utan att dessa faller utanför uppfin- ningens ram, vilken definieras av de bifogade patentkraven. Exem- pelvis âr uppfinningen användbar även vid så kallade virtuella vektorer och vid rekursiv energiberäkning. Uppfinningen är även användbar vid selektiva sökmetoder där ej alla utan endast förut- bestämda excitationsvektorer i den adaptiva kodboken testas. I detta fall kan blocknormaliseringen ske antingen med avseende på d? 466 824 ”f hela den adaptiva kodboken eller med avseende på endast de valda vektorerna. 10 15 20 25 35 'S 466 824 PROGRAM fixed_point; This program calculates the optimal pitch prediction for an adaptive code book. The optimal pitch predic- tion is also filtered through the weighted synthesis filter.
Input: alphaweight pweight iResponse ILTP Output: capGMax capCHax 1agX blßpt bPrimeL0pt USES HATHLIB wèigntea direct form filter coefficients signal after synthesis filter truncated impulse response pitch predictor filter state history max pitch prediction power max correlation code word for optimal lag optimal pitch prediction optimal filtered pitch prediction Å MATHLIB is a module that simulates basic instructions of Texas Instruments digital signal processor TMSCSX and defines extended instructions (macros) in terms of these basic instructions. The following instructions are used.
Basic instructions: ILADD ILMUL IMUL IMULR ILSHFT IRSHFT arithmetic addition. multiplication with 32 bit result. truncated multiplication scaled to 16 bit. rounded multiplication scaled to 16 bit. logic n-bit left shift. logic n-bit right shift. 10 15 20 25 30 35 'Åse 824 få Extended instructions: normalization of 32 bit input value giving a 16 bit result norm with rounding. block normalization of input array giving a normalization of all array elements accor- ding to max absolute value in input array.
INORM IBNORH ILSSQR giving a 32 bit ISHUL sum of products arrays giving a ILSHUL sum of products arrays giving a CONST capGLNormMax = ; capCLNormMax = : truncLength = 20; maxLag = 166: nrCoeff = 10: subframeLength = 40: lag0ffset = 39; TYPE integernormtype = integerpowertype = integerimpulseresponsetype = integerhistorytype = integersubframetype = integerparametertype = integerstatetype = sum of squares of elements in input array result. of elements in two input 16 bit result with rounding. of elements of two input 32 bit result.
ARRAY [0..l] OF Integer; ARRAY [0..2,0..l] OF Integer; ARRAY [0..truncLength-1] OF Integer; ARRAY [-maxLag..-1] OF Integer: ARRAY [0..subframelength-1] OF Integer; ARRAY [1..nrCoeff] OF Integer; ARRAY [0..nrCoeff] of Integer 10 15 20 25 30 35 'l 466 824 VAR iResponse pweight rLTP rLTPNOrm alphaweight capGMax capCMax lagX bLOpt bPrimeL0pt rLmPScale pweightscale capGLMax capCLMax lagMax capGL capCL bPrimeL state shift, capCLSqr, capCLMaxSqr pitchbelay PROCEDURE pitChInit( ZiResponse Zpweight ZrLTP VAR zcapcmax VAR ZcapCLMax VAR Z1agMax VAR ZbPrimeL Calculates pitch prediction lates correlation between the integerimpulseresponsetype: integersubframetype; integerhistorytype; integerhistorytype; íntegerparametertype; Integerpcwertype; Integerpowertype; Integer; integersubframetype; integersubframetype; Integer: Integer; Integernormtype; Integernormtype; Integer; Integernormtypeï Integernormtype: integersubframetypeï integerstatetype; Integer; Integer; integerimpulseresponsetype; integersubframetype; integerhistorytype; Integernormtype; Integerncrmtype; 00 Integer: integersubframetype); for a pitch delay = 40. Calcu- calculated pitch prediction and the weighted subframe. Finally, calculates power of pitch prediction. 10 15 20 25 30 35 '\4ee 824 ff Input: rLPT r(n) = long term filter state, n<0 iResponse h(n) = impulse response pweight p(n) = weighted input.minus zero input response of H(z) Output: bPrimeL pitch prediction b'L(n) = bL(n) * h(n) capGLHax GL: power of pitch prediction start value capCLMax CL; max correlation start value lagnax pitch delay for max correlation start value } VÅR k : Integer; Lresult : Integer; { 32 bit) BEGIN FOR k := 0 TO (subframeLength DIV 2) - 1 DO ZbPrimeL[k]:= ISMUL(ZiResponse,0,k, ZrLTP,k-40,-40, l,'PIO'); FOR k := 0 TO (subframeLength DIV 2) - 2 DO BEGIN ' Lresu1t:= ILSMUL(ZiResponse,k+1,truncLength-1, ZrLTP,-1,k-(truncLength-1), 1,'PI1'); Lresu1t:= ILADD(Lresu1t,32768,'PI2'); ZbPrimeL[k+(subframeLength DIV 2)] := IRSHFT(Lresu1t,16, 'P13'); END? ZbPrimeL[subframeLength-1]:= 0: Lresu1t:= ILSMUL(ZpWeight,0,subframeLength-1, ZbPrimeL,0,subframeLength-1,-6,'PI7')i ZcapCIMax[1]:= INORM(Lresult,capCLNormMax, ZcapCLMax[0],'PI8'); Lresult:= ILSSQR(ZbPrimeL,0,subframeLength-1,-6,'PI9'); 10 15 20 25 30 35 (9 466 ZcapGLMax[1]:= INORM(Lresult,capGLNormMax, ZcapGLMax[0],'PI10'): IF ZcapCLMax[0] <= 0 THEN BEGIN ZcapCLHax[0] : 0: ZcapCLMax[1] := capCLNormMax; Zlagflax := lagøffset; END ELSE BEGIN ZlagMax := subframeLength; END; END; PROCEDURE norma1Recursion( 824 pitchbelay : Integer; ZíResponse : integerimpulseresponsetype; VAR ZbPrimeL : integersubframetype; ZrLTP : integerhistorytype); Performs recursive updating of pitch prediction.
Input: pitchbelay current pitch predictor lag value (41..maxLag) rLTP r(n) = long term filter state, n<0 íResponse h(n) = impulse response bPrimeL pitch prediction, b'L(n) = bL(n) * h(n) Output: bPrimeL updated bPrimeL 10 15 20 25 30 35 466 824- '20 VAR k : Integer; Lresult : Integer: { 32 bit) BEGIN FOR k := subframeLength-1 DOWNTO truncLength DO ZbPrimeL[k] := ZbPrimeL[k-11; FOR k := truncLength-1 DOWNTO 1 DO BEGIN Lresult.= ILMUL(ZiResponse[k],ZrLTP[-pitchDe1ay],'NR4'); LreSult:= ILADD(ILSHFT(Lresult,1,'NR50'),32768,'NR5'); zbPrimeL [k] := IRsHFT (ILADD (ILsHFT (zbPrimemk-i] ,W 16,'NR6'), Lresult,'NR7'),16,'NR8'); END; Lresult:= I1MUL(ZiResponse[0],ZrLTP[-pitchDe1ay],'NR9'); ZbPrimeL[0]:= IRSHFT(ILADD(ILSHFT(Lresu1t,1,'NR100'), 32768,'NR10'),16,'NR11'); END; PROCEDURE normalCalculation( Zpweight : integersubframetype; ZbPrimeL : integersubframetype; VAR ZcapGL : integernormtype: VAR ZcapCL : integernormtype); I Performs updating of max correlation and pitch prediction power.
Input: pweight p(n) = weighted input minus zero input response of H(z) bPrimeL pitch prediction b'L(n) = bL(n) * h(n) Output: capGL GL; temporary max pitch prediction power 10 15 20 25 30 35 capCL VAR Lresult BEGIN 11 466 824 CL; temporary max correlation _Integer; { 32 bit} Lresu1t:= ILSMUL(ZpWeight,0,subframeLength-1, ZbPrimeL,0,subframeLéngth-1,-6,'NC1')7 ZcapCL[1]:= INORM(Lresu1t,capCLNormMax,ZcapCL[0],'NC2'); Lresult.= ILSSQR(ZbPrimeL,0,subframeLength-1,-6,'NC3'); ZcapGL[1]:= INORM(Lresu1t,capGLNormMax,ZcapGL[0],'NC5'): END; PROCEDURE normalComparison( pitchDelay ZcapGL zcapcL VAR ZcapGLMax VAR zcapcLMax VAR Zlagfiax Integer; integernormtype: integernormtypeï integernormtype; integernormtype; Integer): Minimizes total weighted error by maximizing CL*CL / GL Input: pitchnelay current pitch prediction lag value (41..maxLag) capGL GL; temporary max pitch prediction power capCL CL; temporary max correlation capGLMax GL; max pitch prediction power capCLMax CL; max correlation lagßax pitch delay for max correlation Output: capGLMax GL; updated max pitch prediction power 10 15 20 25 30 35 H 466 824 *u capCLMax CL; updated max correlation lagMax updated pitch delay for max correlation Ltemp1,Ltemp2 : Integer; { 32 bit) BEGIN IF (ZcapCL[0] > 0) THEN BEGIN capCLSqr:= IMULR(ZcapCL[0],ZcapCL[0],'NCMP1'); capCLMaxSqr:= IMULR(ZcapCLMax[0],ZcapCLMax[0],'NCMP2'); Ltemp1:= ILMUL(capCLSqr,zcapGLMax[0],'NCMP3'); Ltemp2.= ILMUL(capCLMaxSqr,zcapGL[0],'NCHP4'); shift.= 2*ZcapCL[1]-ZcapGL[1]-2*ZcapCLMax[1]+ ZcapGLMax[1]; IF shift > 0 THEN Ltemp1:= IRSHFT(Ltemp1,shift,'NCMP5') ELSE Ltemp2:= IRSHFT(Ltemp2,-shift,'NCMP6')7 IF Ltempl > Ltemp2 THEN BEGIN ZcapGLMax[0]:= ZcapGL[0]; ZcapCLMax[0].= ZcapCL[0]; ZcapGLMax[1]:= ZcapGL[1]; ZcapCLMax[1]:= ZcapCL[1]; ' ZlagMax:= pitchDe1ay; END; END? PRDCEDURE pitchEncoding( ZcapGLMax : integernormtype; ZcapCLMax : integernormtype; ZlagMax : Integer: ZrLmPScale : Integer; Zpweightscale : Integer; 10 15 20 25 30 35 VAR ZcapGMax VAR ZcapCMax VAR Zlagx 466 824 : integerpowertype; : integerpowertype; : Integer): Performs pitch delay encoding.
Input: capGLMax capCLMax lagfiax rLTPSca1e pweightscale Output: capGMax capcnax lagX BEGIN Z1agX := Z1agMax GL; max pitch prediction power CL: max correlation pitch delay for max correlation fixed point scale factor for pitch history buffer fixed point scale factor for input speech buffer max pitch prediction power max correlation encoded lag - lagøffset; IF Zlagnax = lagøffset THEN BEGIN zcapGMax[o,o] ZcapCMax[0,0] ZcapGMax[0,1] zcapcMax[o,1] END ELSE BEGIN zcapGLMax[1]:= zcapcLMax[1]== OO Il ~o cc ll wo II ll o c» c> o ä; E' ZcapGLMax[1] + 2*ZrLTPSca1e; ZcapCLMax[1] + ZrLTPScale + Zpweightscale: zcapGMax[o,o] zcapcuax(o,o] zcapGMax[o,1] := ZcapGLMax[0]; := ZcapCLMax[0]; := ZcapGLMax[1]; 10 15 20 25 30 35 ï6~5 824 , N ZcapCMax[0,1] := ZcapCLMax[l]; END; END; PROCEDURE pitchPrediction( I ZlagMax : Integer: Zalphaweight : integerparametertype; ZrLTP : integerhistorytype; VAR ZbL0pt : integersubframetype: VAR ZbPrimeLOpt : integersubframetype); { Updates subframe with respect to pitch prediction.
Input: lagHax pitch delay for max correlation rLTP r(n) = long term filter state, n<0 alphaWeight weighted filter coefficients alpha(i) Output: bPromeL0pt optimal filtered pitch prediction bLOpt oplimal pitch prediction Temporary: state temporary state for pitch prediction calculation ' } VÅR k,m : Integer; Lsignal,Ltemp,Lsave : Integer; { 32 bit) BEGIN r IF ZlagMax = lagøffset THEN BEGIN ¥ FOR k := 0 TO subframeLength-1 DO ZbL0pt[k] := 0; END 15 20 25 30 .'55 *S 466 824 ELSE BEGIN FOR k := 0 TO subframeLength-1 DO ZbLOpt[k] := ZrLTP[k-ZlagMax]; END; FOR k := 0 TO nrCoeff DO state[k] := 0: FOR k := 0 TO subframeLength-1 DO BEGIN Lsignal := ILSHFT(ZbL0pt[k],13,'PP1')7 FOR m := nrcoeff DOWNTO 1 DO BEGIN Ltem := ILMUL(ZalphaWeight[m],state[m],'PP2'): Lsigna1.= ILADD(Lsignal,-ILSHFT(Ltemp,1,'PP30'), 'PP3 ' ) ; state[m]:= state[m-1]: END; Lsignal:= ILSHFT(Lsigna1,2,'PP40'); Lsave:= Lsignal; Lsignal:= ILADD(Lsignal,Lsave,'PP4l')7 ZbPrimeLOpt[k]:= IRSHFT(ILADD(Lsignal,32768,'PP4'), 16,'PP5')7 state [ 11 == zbprimempt [k] : O END; END; ' BEGIN {main} Initialize: alphaweight, pweight, iResponse, rLTP 10 15 20 25 30 35 466 824' pWeightScale.= IBNORM(pWeight,pWeight,'MAIN1'); iâ rLTPSca1e:= IBNORM(rLTP,rLmPNorm,'MAIN2'); pitchInit( iResponse, pweight, rLTPNorm, capGLMax, capCLMax, lagnax, bPrimeL); Ffiuåpf-uiuêflåí In In In Out Out Out Out FOR pitchbelay := (subframeLength+1) TO maxLag DO BEGIN ncrma1Recursion( normalCalculation( normalComparison( END: { FOR lcop } pitchEncoding( pitchbelay, iResponse, bPrimeL, rLTPNurm) : pweight, bPrimeL, capGL, capCL); pitchbelay, capGL, capCL, capGLMax, capCLMax, 1agMax); capGLMax, capCLMax, lagMax, rLTPSca1e, pweightscale, pnøuflsrfiømf-s øwf-'wflsflu ßfi-r-MPM øaflwräf-NPW In In In/Out In In In Out Out In In In In/Out In/Out In/Out In In In In In uøhøwuw-f s-søu-fsfl w-fw-vw-vwvw-vwhfl ïïäflfiflí 5 10 pitchPredictiøn( END. capGMax, capCMax, 1agX); laguax, alphaweight, rnrP, bLOpt, bPrimeLOpt); 466 824 { Out ( Out { Out In In In Out Out Ffäêøf-uflfiulå } } } 'Vïííï

Claims (13)

10 15 20 25 :w e! P A T E N T K R A V
1. Förfarande för kodning av en samplad talsignalvektor genom selektering av en optimal excitationsvektor i en adaptiv kodbok, vid vilket förfarande (G) (b) (C) (5) (e) (f) (9) förutbestämda excitationsvektorer successivt läses ur den adaptiva kodboken, ' varje läst excitationsvektor faltas med impulssvaret för ett linjärt filter, varje filterutsignal utnyttjas för bildande av (cl) dels ett mått C, på kvadraten av korskorrelationen med den samplade talsignalvektorn, (c2) dels ett mått E, på filterutsignalens energi, varje mått CI multipliceras med måttet C" för den excita- tionsvektor som hitintills givit det största värdet på kvo- ten mellan måttet på kvadraten av korskorrelationen mellan filterutsignalen och den samplade talsignalvektorn och måt- tet på filterutsignalens energi, varje mått E, multipliceras med måttet CH för den exci- tationsvektor som hitintills givit det största värdet på kvoten mellan måttet på kvadraten av korskorrelationen mel- lan filterutsignalen och den samplade talsignalvektorn och måttet på filterutsignalens energi, produkterna under steg (d) och (e) jämförs med varandra, varvid måtten C", E" ersätts med måtten Cl, E, om produkten under steg (d) är större än produkten under steg (e), och den excitatinsvektor som svarar mot det största värdet på kvoten mellan måttet på kvadraten av korskorrelationen mel- lan filterutsignalen och den samplade talsignalvektorn och V1' 10 15 20 25 2.9 466 824 måttet på filterutsignalens energi väljs såsom den optimala excitationsvektorn i den adaptiva kodboken, k ä n n e t e c k n a t av (A) att de ur den den adaptiva kodbokens lästa excitationsvek- torer före faltningen i steg (b) blocknormaliseras med av- seende på den till beloppet största komponenten i en upp- sättning av excitationsvektorer ur den adaptiva kodboken, (B) att den samplade talsignalvektorn före bildandet av måttet Cl .i steg (cl) blocknormaliseras med avseende på den till beloppet största av sina komponenter, (C) att måttet C, från steg (cl) och måttet C, delas upp i resp. mantissa och resp. första skalningsfaktor med ett förutbes- tämt första maximalt antal nivåer, (D) att måttet E, från steg (oz) och måttet E" delas upp i resp. mantissa och resp. andra skalningsfaktor med ett förutbes- tâmt andra maximalt antal nivåer, och (E) att produkterna i steg (d) och (e) bildas genom multipli- kation av respektive mantissor och separat skalningsfaktor- beräkning.
2. Förfarande enligt krav 1, k ä n h e t e c k n a t av att uppsättningen excitationsvektorer i steg (A) utgöres av samtliga excitationsvektorer i den adaptiva kodboken.
3. Förfarande enligt krav 1, k ä n n e t e c k n a t av att uppsättningen excitationsvektorer i steg (A) endast innehåller nämnda förutbestämda excitationsvektorer ur den adaptiva kodbo- ken.
4. Förfarande enligt krav 2, k ä n n e t e o k n a t av att nämnda förutbestämda excitationsvektorer innefattar samtliga excitationsvektorer i den adaptiva kodboken. W 4§a 10 15 20 25 30 s24 3°
5. Förfarande enligt något av föregående krav, k a n n e - t e c k n a t av att skalningsfaktorerna lagras såsom exponenter uttryckta i basen 2.
6. Förfarande enligt krav 5, k ä n n e_t e c k n a t av att den totala skalningsfaktorn för respektive produkt bildas genom addi- tion av motsvarande exponenter för den första och andra skal- ningsfaktorn. '
7. Förfarande enligt krav 6, k å n n e t e c k n a t av att en effektiv skalningsfaktor beräknas genom bildande av skillnaden mellan exponenten för den totala skalningsfaktorn för produkten C, -EH och exponenten för den totala skalningsfaktorn för produkten E, -c,,.
8. Förfarande enligt krav 7, k ä n n e t e c k n a t av att produkten av mantissorna för måtten C, resp. En skiftas åt höger med det antal steg som anges av den effektiva skalningsfaktorns exponent om denna år större än noll och att produkten av mantis- sorna för måtten E, resp. Ch skiftas åt höger med det antal steg som anges av beloppet av den effektiva skalningsfaktorns exponent om denna år mindre än eller lika med noll.
9. Förfarande enligt något av föregående krav, k ä n n e - t e c k n a t av att mantissorna har en upplösning på 16 bitar.
10. Förfarande enligt något av föregående krav, k ä n n e - t e c k n a t av att det första maximala antalet nivåer år lika med det andra maximala antalet nivåer.
ll. Förfarande enligt något av föregående krav 1-9, k ä n n e - t e c k n a t av att det första maximala antalet nivåer är skilt från det andra maximala antalet nivåer.
12. Förfarande enligt krav 10 eller 11, k ä n n e t e c k n a t av att det första maximala antalet nivåer år 9.
13. Förfarande enligt krav 12, k ä n n e t e c k n a t av att det andra maximala antalet nivåer år 7.
SE9002622A 1990-08-10 1990-08-10 Foerfarande foer kodning av en samplad talsignalvektor SE466824B (sv)

Priority Applications (13)

Application Number Priority Date Filing Date Title
SE9002622A SE466824B (sv) 1990-08-10 1990-08-10 Foerfarande foer kodning av en samplad talsignalvektor
KR1019920700756A KR0131011B1 (ko) 1990-08-10 1991-07-15 표본화된 신호벡터를 부호화 하는 방법
DE69112540T DE69112540T2 (de) 1990-08-10 1991-07-15 Verfahren zur Kodierung eines abgetasteten Sprachsignalvektors.
AU83366/91A AU637927B2 (en) 1990-08-10 1991-07-15 A method of coding a sampled speech signal vector
PCT/SE1991/000495 WO1992002927A1 (en) 1990-08-10 1991-07-15 A method of coding a sampled speech signal vector
ES91850189T ES2076510T3 (es) 1990-08-10 1991-07-15 Un metodo de codificar un vector de señal de habla.
JP03513617A JP3073013B2 (ja) 1990-08-10 1991-07-15 サンプリングされた音声信号ベクトルのコーディングの方法
CA002065451A CA2065451C (en) 1990-08-10 1991-07-15 Method of coding a sampled speech signal vector
EP91850189A EP0470941B1 (en) 1990-08-10 1991-07-15 A method of coding a sampled speech signal vector
NZ239030A NZ239030A (en) 1990-08-10 1991-07-18 Coding of a sampled speech signal vector
US07/738,552 US5214706A (en) 1990-08-10 1991-07-31 Method of coding a sampled speech signal vector
MX9100552A MX9100552A (es) 1990-08-10 1991-08-06 Un metodo para codificar un vector de senal de voz muestreado
HK98105583A HK1006602A1 (en) 1990-08-10 1998-06-17 A method of coding a sampled speech signal vector

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE9002622A SE466824B (sv) 1990-08-10 1990-08-10 Foerfarande foer kodning av en samplad talsignalvektor

Publications (3)

Publication Number Publication Date
SE9002622D0 SE9002622D0 (sv) 1990-08-10
SE9002622L SE9002622L (sv) 1992-02-11
SE466824B true SE466824B (sv) 1992-04-06

Family

ID=20380132

Family Applications (1)

Application Number Title Priority Date Filing Date
SE9002622A SE466824B (sv) 1990-08-10 1990-08-10 Foerfarande foer kodning av en samplad talsignalvektor

Country Status (13)

Country Link
US (1) US5214706A (sv)
EP (1) EP0470941B1 (sv)
JP (1) JP3073013B2 (sv)
KR (1) KR0131011B1 (sv)
AU (1) AU637927B2 (sv)
CA (1) CA2065451C (sv)
DE (1) DE69112540T2 (sv)
ES (1) ES2076510T3 (sv)
HK (1) HK1006602A1 (sv)
MX (1) MX9100552A (sv)
NZ (1) NZ239030A (sv)
SE (1) SE466824B (sv)
WO (1) WO1992002927A1 (sv)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5307460A (en) * 1992-02-14 1994-04-26 Hughes Aircraft Company Method and apparatus for determining the excitation signal in VSELP coders
US5570454A (en) * 1994-06-09 1996-10-29 Hughes Electronics Method for processing speech signals as block floating point numbers in a CELP-based coder using a fixed point processor
US6009395A (en) * 1997-01-02 1999-12-28 Texas Instruments Incorporated Synthesizer and method using scaled excitation signal
US6775587B1 (en) * 1999-10-30 2004-08-10 Stmicroelectronics Asia Pacific Pte Ltd. Method of encoding frequency coefficients in an AC-3 encoder
WO2011048810A1 (ja) * 2009-10-20 2011-04-28 パナソニック株式会社 ベクトル量子化装置及びベクトル量子化方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1195350B (it) * 1986-10-21 1988-10-12 Cselt Centro Studi Lab Telecom Procedimento e dispositivo per la codifica e decodifica del segnale vocale mediante estrazione di para metri e tecniche di quantizzazione vettoriale
US4727354A (en) * 1987-01-07 1988-02-23 Unisys Corporation System for selecting best fit vector code in vector quantization encoding
US4899385A (en) * 1987-06-26 1990-02-06 American Telephone And Telegraph Company Code excited linear predictive vocoder
US4817157A (en) * 1988-01-07 1989-03-28 Motorola, Inc. Digital speech coder having improved vector excitation source
US5077798A (en) * 1988-09-28 1991-12-31 Hitachi, Ltd. Method and system for voice coding based on vector quantization

Also Published As

Publication number Publication date
HK1006602A1 (en) 1999-03-05
SE9002622L (sv) 1992-02-11
EP0470941B1 (en) 1995-08-30
US5214706A (en) 1993-05-25
DE69112540D1 (de) 1995-10-05
JPH05502117A (ja) 1993-04-15
SE9002622D0 (sv) 1990-08-10
AU637927B2 (en) 1993-06-10
CA2065451C (en) 2002-05-28
DE69112540T2 (de) 1996-02-22
WO1992002927A1 (en) 1992-02-20
MX9100552A (es) 1992-04-01
JP3073013B2 (ja) 2000-08-07
AU8336691A (en) 1992-03-02
KR0131011B1 (ko) 1998-10-01
EP0470941A1 (en) 1992-02-12
KR920702526A (ko) 1992-09-04
NZ239030A (en) 1993-07-27
ES2076510T3 (es) 1995-11-01
CA2065451A1 (en) 1992-02-11

Similar Documents

Publication Publication Date Title
EP0898267B1 (en) Speech coding system
JP3151874B2 (ja) 音声パラメータ符号化方式および装置
KR100389693B1 (ko) 선형예측및대수코드여기를사용하는음성코딩방법
EP0497479B1 (en) Method of and apparatus for generating auxiliary information for expediting sparse codebook search
SE518319C2 (sv) Förfarande och anordning för vektorkvantisering
EP2207167B1 (en) Multistage quantizing method
CA2202825C (en) Speech coder
EP0296763A1 (en) Code excited linear predictive vocoder and method of operation
US6314393B1 (en) Parallel/pipeline VLSI architecture for a low-delay CELP coder/decoder
CA2209384C (en) Speech coding method using synthesis analysis
CN1124589C (zh) 码激励线性预测(celp)编码器中搜索激励代码簿的方法和装置
SE466824B (sv) Foerfarande foer kodning av en samplad talsignalvektor
KR20050072811A (ko) 음성 코딩 시스템에서 이득 정보를 코딩하기 위한 방법 및장치
US7305337B2 (en) Method and apparatus for speech coding and decoding
CN101056415B (zh) 一种乘法操作转换为加法和移位操作的方法及装置
KR100510399B1 (ko) 고정 코드북내의 최적 벡터의 고속 결정 방법 및 장치
JP2591430B2 (ja) ベクトル量子化装置
KR100576024B1 (ko) 에이켈프 음성 압축기의 코드북 검색 장치 및 방법
KR0179249B1 (ko) 고속 알피-브리에스이엘피 음성부호화 방법
JP3092344B2 (ja) 音声符号化装置
Mikkonen et al. Soft-decision decoding of binary block codes in CELP speech coding
Lee Implementation of linear predictive speech coding in fixed-point arithmetic
KR20010073396A (ko) 음성 부호화기의 lsp 코드북을 위한 고속탐색 방법
JPH0527800A (ja) ベクトル量子化方式
Huang AMR TO G. 729A SPEECH TRANSCODING WITH FAST CODEBOOK SEARCH

Legal Events

Date Code Title Description
NAL Patent in force

Ref document number: 9002622-0

Format of ref document f/p: F

NUG Patent has lapsed