FI118704B - Menetelmä ja laite lähdekoodauksen tekemiseksi - Google Patents

Menetelmä ja laite lähdekoodauksen tekemiseksi Download PDF

Info

Publication number
FI118704B
FI118704B FI20031462A FI20031462A FI118704B FI 118704 B FI118704 B FI 118704B FI 20031462 A FI20031462 A FI 20031462A FI 20031462 A FI20031462 A FI 20031462A FI 118704 B FI118704 B FI 118704B
Authority
FI
Finland
Prior art keywords
parameters
block
time period
excitation signal
synthesis filter
Prior art date
Application number
FI20031462A
Other languages
English (en)
Swedish (sv)
Other versions
FI20031462A (fi
FI20031462A0 (fi
Inventor
Pasi S Ojala
Original Assignee
Nokia Corp
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 Nokia Corp filed Critical Nokia Corp
Priority to FI20031462A priority Critical patent/FI118704B/fi
Publication of FI20031462A0 publication Critical patent/FI20031462A0/fi
Priority to US10/574,990 priority patent/US7869993B2/en
Priority to EP04767093.0A priority patent/EP1671317B1/en
Priority to PCT/FI2004/000579 priority patent/WO2005034090A1/en
Publication of FI20031462A publication Critical patent/FI20031462A/fi
Application granted granted Critical
Publication of FI118704B publication Critical patent/FI118704B/fi

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/06Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients

Description

118704
Menetelmä ja laite lähdekoodauksen tekemiseksi - Förfarande och anord-ning för genomföring av källkodning
Keksinnön ala 5 Esillä oleva keksintö kohdistuu yleisesti datan lähdekoodaukseen. Erityisesti keksintö kohdistuu ennustaviin puheenkoodausmenetelmiin, joissa puhesignaali esitetään puhesynteesisuotimen ja sen herätesignaalin avulla.
Keksinnön taustaa
Nykyaikaisissa langattomissa viestintäjärjestelmissä, kuten GSM (Global System 10 for mobile communications) ja UMTS (Universal Mobile Telecommunications System), siirretään erityyppistä dataa ilmarajapinnan yli verkkoelinten, kuten tukiaseman ja matkaviestimen, välillä. Kun siirtokapasiteetin yleinen tarve jatkuvasti kasvaa esimerkiksi uusien multimediapalvelujen myötä ja toisaalta radiotaajuuksista alkaa olla puutetta, on datan pakkaamiseen kehitettävä uusia yhä tehokkaampia 15 menetelmiä. Datan pakkaamista käytetään perinteisesti myös tallennustilavaati-musten pienentämiseksi esimerkiksi tietokonejärjestelmissä. Viime vuosikymmeninä on myös kehitetty erilaisia menetelmiä kuvien, videon, musiikin ja puheen koodaamiseksi.
» · • · · • ··
Yleensä data pakataan (-tiivistetään) ns. kooderin avulla, minkä jälkeen se voi- • · · "je 20 daan tarvittaessa muodostaa myöhemmin uudelleen dekooderin avulla. Datan ***\ koodausmenetelmät voidaan jaotella erilaisten perusteiden mukaan. Yksi jaottelu / perustuu kooderin tuottamaan koodaustulokseen; häviötön kooderi pakkaa eli tii- ; *·* vistää lähdedatan, mutta koodauksessa ei kuitenkaan menetetä yhtään informaa- tiota, so. dekoodauksen jälkeen data vastaa täydellisesti alkuperäistä koodaama- 25 tonta dataa, kun taas häviöllinen kooderi tuottaa lähdedatasta tiivistetyn esityksen, jonka dekoodaustulos ei enää täydellisesti vastaa alkuperäistä esitystä. Datan hä- i ”: viäminen ei kuitenkaan ole ongelma tilanteissa, joissa datan käyttäjä joko ei voi .1. havaita alkuperäisen ja tiivistettynä olleen datan välisiä eroja tai nämä erot eivät ***\ ainakaan vakavasti haittaa tai estä laadultaan lievästi heikentyneen datan käyttöä.
30 Koska ihmisen aistit, mukaan lukien kuulo ja näkö, ovat jokseenkin rajalliset, on {*·[: esimerkiksi mahdollista poistaa tarpeettomia yksityiskohtia kuvista, videosta tai :***: äänisignaalista ilman, että lopullinen aistivaikutelma siitä merkittävästi kärsii. Usein ··· lähdekooderit tuottavat koodattua dataa kiinteällä koodauksella eli niiden pakkaus-suhde ei riipu sisään tulevasta datasta. Muuttuvaa koodausta käyttävä kooderi 2 118704 puolestaan suorittaa tilastollista analyysiä sisään tulevalle signaalille ja muodostaa siten pakattua dataa vaihtuvalla pakkaussuhteella. Muuttuvalla koodauksella on tiettyjä etuja kiinteään koodaukseen verrattuna. Jos ajatellaan esimerkiksi puheenkoodausta, muuttuvaa koodausta käyttävä koodekki (kooderi-dekooderi) voi 5 maksimoida kapasiteetin ja minimoida keskimäärin käytetyn bittimäärän tietylle puheenlaadulle. Tämä johtuu ihmisen tyypillisen puhesignaalin ei-stationäärisyy-destä (tai kvasistationäärisyydestä); yksittäinen puhesegmentti, kooderien käsitellessä puhetta tietty jakso kerrallaan, voi koostua joko hyvin homogeenisestä signaalista (esimerkiksi periodisesti toistuva soinnillinen ääni) tai voimakkaasti vaihte-10 levästä signaalista (transientteja jne.), mikä suoraan vaikuttaa analysoitavan segmentin riittävään esitykseen tarvittavaan vähimmäisbittimäärään. Lisäksi, jos ajatellaan erityisesti matkaviestintäverkkoja, lähdekoodauksessa saavutetut säästöt voidaan hyödyntää esimerkiksi kanavakoodauksen parantamiseksi, jolloin saavutetaan parempi häiriönsieto radiotiellä. Kiinteää koodausta käyttävien kooderien on 15 aina toimittava kompromissibittimäärällä, joka on riittävän pieni siirtokapasiteetin säästämiseksi mutta riittävän suuri vaikeiden segmenttien koodaamiseksi tarpeeksi laadukkaasti, jolloin kompromissi selvästi on tarpeettoman suuri "helpommille" puhesegmenteille.
Koska lähdedatan luonne ja aiottu käyttö määrittelee kuitenkin tapauskohtaisesti 20 datan pakkaamisessa käytettävät optimaaliset tekniikat, ajatus yleisestä optimaali-... . sesta kooderista, jota voidaan suoraan käyttää missä tahansa mahdollisessa tilan- * teessä, on utopiaa; lähdekoodauksen kehitys on kulkenut moniin eri suuntiin hyö- • · · *"** dyntäen erikoistuneella tavalla ja mahdollisimman laajalti dataa koskevaa tilastoi- • · · lista analyysiä ja ihmisen aistien epätäydellisyyttä.
• · ·*·*. 25 Matkaviestintäverkkojen tapauksessa puhekooderi on eittämättä yksi tärkeimmistä • .···. elimistä, joilla taataan soittajalle/vastaanottajalle tyydyttävä puhelukokemus erilais ten puheentailennus- ja puhepostipalvelujen lisäksi. Nykyaikaisilla puhekoodereilla ... on yhteinen lähtökohta: esittää digitoitu puhe tiivistetysti säilyttäen samalla puheen *::: laatu, joka puheen laatu on aidosti subjektiivinen tekijä, johon liittyy esimerkiksi • · *·;·* 30 puheen ymmärrettävyys ja luonnollisuus, joskin sitä joskus myös "objektiivisesti" :T: mitataan painotettujen särömittausten avulla, mutta mallinnuksessa käytetyt mene- :***: telmät vaihtelevat suuresti. Yksi nykyään paljon käytetty puheenkoodausmalli on • · *
koodiherätteinen lineaariennustusta hyödyntävä CELP (Code Excited Linear Pre-*···* diction). CELP-kooderit, kuten GSM EFR (Enhanced Full Rate), UMTS AMR
35 (Adaptive Multi-Rate) ja TETRA ACELP (Algebraic CELP) kuuluvat synteesiana-lyysi- eli AbS-kooderien (Analysis by Synthesis) ryhmään ja muodostavat puhepa- 3 118704 rametrit mallintamalla puhesignaalia siten, että ne minimoivat alkuperäisen ja syn-tesoidun puheen välistä virhettä silmukassa. CELP-koodereissa on piirteitä sekä aaltomuoto- (tavallinen PCM ym.) että vokooderitekniikoista.
Vokooderit ovat parametrikoodereita, jotka käyttävät esimerkiksi lähdesuodin-5 menetelmää puheen parametrisoinnissa. Signaalin mallinnus perustuu äänen tuottamiseen siten, että ilma virtaa keuhkoista äänirakoon joko värähtelevien (soinnilliset äänet) tai jäykkien (soinnittomat äänet, ääniväylän eri muotojen synnyttäessä pyörteisyyttä) äänihuulten läpi ja edelleen oraalionteloihin (suu, nielu) tullakseen lopulta huulten läpi ulos.
10 Kuvassa 1 on esitetty yleisellä tasolla eräs yksinkertaistettu ihmisen puheen-tuottomalli, jota kutsutaan lineaariennuste- eli LP-malliksi (Linear Predictive), jota monet nykyiset puheenkoodausmenetelmät, kuten CELP, käyttävät. Menettelyä nimitetään lineaariseksi ennustamiseksi, koska kukin lähtö S(n) perustuu edellisten lähtöarvojen painotettuun summaan ja puheen laadusta riippuen joko pulssi-15 lähteen 102 tai kohinalähteen 104 muodostamaan syöttöarvoon, edellisen vastatessa karkeasti soinnillista ja jälkimmäisen soinnitonta äännettä. Pulssijonon muodostava pulssilähde 102 jäljittelee ns. pitch-jakson avulla ääniraon värähtelyä vastaavalla perustaajuudella (pitch frequency). Lähteen tyyppiä voidaan vaihtaa syn-tesointiprosessin aikana kytkimellä 106. Ennen kuin herätelähteen signaali suoda-20 tetaan ääntöväylää mallintavalla all-pole-tyyppisellä IIR-suotimella (Infinite Impulse Response) 110, se kerrotaan sopivalla vahvistuskertoimella kertojassa 108. Näin * puhesynteesi voidaan suorittaa määrittelemällä ensin käsiteltävänä olevan puhe- segmentin luokka joko soinnilliseksi tai soinnittomaksi ja johtamalla sitten valitun *:*·: tyyppinen herätesignaali kertojan ja synteesisuotimen läpi. Lisätietoja lineaarien- :*·*: 25 nustamisesta ja puheen mallintamisesta tai yleensä koodauksesta on löydettävis- ;*·*. sä viitteestä [1].
• · ·
Tyypilliseen CELP-kooderiin, jollainen on esitetty kuvassa 2, ja vastaavaan dekoo-deriin, jollainen on esitetty kuvassa 3, kuuluu useita suotimia puheentuoton mallin- «·* tamiseksi, nimittäin ainakin lyhyen aikavälin suodin, kuten LP(C)-synteesisuodin, 30 spektriverhokäyrän (formanttien; ääntöväylän muodostamisen resonanssien) mal- .···. lintamiseksi, sekä pitkän aikavälin suodin, jonka tarkoituksena on mallintaa ääni- • · 'y huulten värähtelyä ja tuottaa jaksollisuutta pulsseista koostuvaan soinnilliseen he- rätesignaaliin, jotka pulssit seuraavat toisiaan asetetun pitch-jakson suuruisin vä-lein, jota tässä kutsutaan viiveeksi. Mallinnus kohdistuu oleellisesti kerrallaan yh-35 teen puhesegmenttiin, jota jäljempänä kutsutaan kehykseksi. Kuten kuvasta 3 voi- 4 118704 daan havaita, dekooderin rakenne muistuttaa tavallista LP-synteesimallia lisättynä pitkän aikavälin LTP-suotimella. Herätesignaali muodostetaan kyseisen lohkon he-rätevektorin perusteella. Esimerkiksi ACELP-koodereissa herätteeseen kuuluu kiinteä määrä nollasta poikkeavia pulsseja, joiden sijainti ja amplitudi etsitään mi-5 nimoimalla alkuperäisen ja syntesoidun puhekehyksen välinen havaintopainotettu virhetermi.
Seuraavassa selostetaan hieman koodekin sisäistä toimintaa CELP-koodauksen ja -dekoodauksen ymmärtämisen helpottamiseksi. Kooderissa on lyhyen aikavälin analyysitoiminto 204, jonka avulla muodostetaan joukko suoramuotoisia suodin-10 kertoimia, joita kutsutaan LP-parametreiksi a(i), jossa 1=1,2.....m flolloin m määrit telee analyysijärjestyksen). Parametrit a(i) lasketaan kerran N:stä näytteestä koostuvalle puhekehykselle, jossa N vastaa esimerkiksi 20 millisekunnin aikajaksoa. Koska puhe on luonteeltaan kvasistationääristä, ts. sitä voidaan pitää stationääri-senä, mikäli tarkastelujakso on riittävän lyhyt (<=20ms), yhdelle kehykselle voi-15 daan laskea optimaaliset suodinkertoimet soveltamalla tavanomaisia matemaattisia menetelmiä, esim. signaalin stationäärisyyttä edellyttävää Wienerin suodinteo-riaa, kehys kehykseltä. Syntyvä yhtälö laskennallisesti raskaine matriisi-inversioi-neen voidaan sen jälkeen tehokkaasti ratkaista esimerkiksi ns. autokorrelaatiome-netelmän ja Levinson-Durbin-rekursion avulla. Enemmän tästä aiheesta viitteessä 20 [2]. LP-parametrejä a(i) hyödynnetään etsittäessä analysoitavaan puhekehykseen .... parhaiten sopivaa viivearvoa, laskettaessa ns. LP-jäännöstä suodattamalla puhet- * / ta LPC-analyysisuotimella ("käänteissuotimella"), joka on LPC-synteesisuotimelle 1/A(z) käänteinen A(z), sekä luonnollisesti LPC-synteesisuotimen 210 kertoimina *·» syntesoitua puhesignaalia ss(n) muodostettaessa. Viivearvo lasketaan LTP-ana-25 lyysilohkossa 202 ja sitä käytetään LTP-synteesisuotimessa 208. Pitkän aikavälin : V ennustaja ja vastaava sille käänteinen synteesisuodin 208 on tyypillisesti kuten :["·* yhden tapin mittainen LP-ennustaja. Tapilla voi vaihtoehtoisesti olla oma vahvis- tuskertoimensa g2 (määrittäen siten yhden tapin mittaisen LTP-suotimen koko-··· naisvahvistuksen). LP-parametrejä käytetään lisäksi herätekoodikirjahaussa alla M·· 30 kuvatulla tavalla.
• · • · · :T: Sen jälkeen kun perus-CELP-kooderissa on määritetty sopiva viivearvo T sekä LP- :***: parametrit a(i), aloitetaan iterointi täydellisen herätekoodikirjan vektorin löytämi- ··« seksi valittujen virhekriteerien mukaisesti. Joissakin edistyneemmissä koodaus-**·*[ malleissa voidaan viivearvoa tai jopa LP-parametrejä hienosäätää täydellisen he- 35 rätevektorin etsinnän aikana. Iterointikierroksen aikana valitaan koodikirjasta 206 herätevektori c(n), suodatetaan se LTP- ja LPC-synteesisuotimien 208, 210 läpi, ja 5 118704 syntyvää syntesoitua puhetta ss(n) verrataan 218 lopuksi alkuperäiseen puhesignaaliin s(n) eron eli virheen e(n) määrittämiseksi. Virhesignaali e(n) painotetaan ihmisen kuuloaistin ominaisuuksiin perustuvalla painotussuotimella 212 sellaisten taajuuksien vaimentamiseksi, joilla virhe on vähemmän merkittävä kuuloaistin kan-5 naita, ja vastaavasti merkityksellisempien taajuuksien vahvistamiseksi. Esimerkiksi "formanttilaaksojen" alueilla sijaitsevia virheitä voidaan korostaa, sillä syntesoidun puheen virheet eivät kuulu niin hyvin formanttitaajuuksilla auditorisen peittoilmiön takia. Koodikirjahaun ohjaimella 214 määritellään koodikirjan 206 koodivektorin indeksi u painotussuotimelta 212 saadun painotetun virhetermin mukaisesti. Näin olio Ien valituksi tulee lopulta indeksi u, joka osoittaa tiettyä herätevektoria, jolla saadaan pienin mahdollinen painotettu virhe. Ohjaimelta 214 saadaan myös skaa-lauskerroin g, joka kerrotaan 216 analysoitavalla koodivektorilla ennen LTP- ja LPC-synteesisuodatusta. Kun kehys on analysoitu, sitä kuvaavat parametrit (a(i), LTP-parametrit, kuten T sekä valinnaisesti myös vahvistus g2, koodikirjan vektorin 15 indeksi u tai sen muu tunniste, koodikirjan skaalauskerroin g) lähetetään siirtotietä (ilmarajapinta, kiinteä siirtoväline jne.) pitkin puhedekooderille vastaanottavaan päähän.
Viitaten kuvaan 3, herätekoodikirjan 306 avulla, joka vastaa kooderissa käytettyä, muodostetaan herätesignaali c(n) vastaanotetun koodikirjan indeksin u perusteel-20 la. Herätesignaali c(n) kerrotaan 312 sitten skaalauskertoimella g ja johdetaan .·. . LTP-synteesisuotimeen, joka saa tarvittavat parametrit T ja g2. Lopuksi ääntöväy- / Iän vaikutus lisätään syntesoituun puhesignaaliin LPC-synteesisuodatuksen 310 avulla, jolloin saadaan dekoodattu puhesignaali ss(n).
·*φ * *··· *:*·: Jos tarkastellaan seuraavaksi kiinteän koodikirjan vektorivalintaa ACELP-tyyppi- 25 sessä puhekooderissa, pulssien paikat määritetään minimoimalla varsinaisen pai- • · .*·*. notetun sisään tulevan puheen ja sen syntesoidun version välinen virhe: ··· e2=(sp-g2Hv-gHc)2 (1) ··· ··*· :***: jossa v on havaintopainotettu sisään tuleva puhe, H on laskettuja LP-parametrejä ··· y..' käyttävä LP-mallin impulssivastematriisi, c on valittu koodikirjan vektori ja v on **],* 30 "adaptiivisen koodikirjan" vektori, jota selostetaan jäljempänä. Edellä mainitun vir- • ♦ *·;·’ heen minimointi tapahtuu käytännössä maksimoimalla termi: (^J (2) <2) 118704 6 jossa s =sp- g2Hv, jota tässä ja jäljempänä nimitetään "kohdesignaaliksi", vastaa havaintopainotettua sisään tulevaa puhesignaalia, josta on poistettu adaptiivisen koodikirjan vaikutus, k on analysoitavana olevan kiinteän koodikirjan vektorin c indeksi.
5 Adaptiivisen koodikirjan käsitettä havainnollistetaan kuvassa 4, jossa esitetään CELP-synteesimalli eräällä vaihtoehtoisella tavalla, joka vastaa kuvan 1 mukaista ihmisen tavanomaista puheentuottomallia. Merkittävin ero on kuitenkin herätesig-naalin muodostamisosassa: kuten kuvasta 4 havaitaan, CELP-koodereissa ei yleensä suoriteta lainkaan soinnillisen/soinnittoman herätteen valintaa ja heräte si-10 sältää adaptiivisen koodikirjaosan 402 ja kiinteän koodikirjaosan 404 vastaten he-rätesignaaleja v(n) ja c(n), jotka ensin yksittäin painotetaan g2, g ja sitten summataan 408 lopullisen herätteen u(n) muodostamiseksi LPC-synteesisuotimelle 410. Näin LP-jäännöksen jaksollisuutta, jota kuvissa 2 ja 3 on kuvattu erillisellä LPC-synteesisuotimen kanssa sarjaan kytketyllä LTP-suotimella, voidaan vaihtoehto!-15 sesti kuvata takaisinkytkentäsilmukan ja viivearvolla T ohjatun viive-elimen sisältävän adaptiivisen koodikirjan 402 avulla.
LPC- ja LTP-analyysivaiheiden jälkeen suoritettavan algebrallisen kiinteän koodi- kirjahaun tarkoituksen havainnollistamiseksi kuvassa 5 esitetään yhden kehyksen pituinen kuvitteellinen kohdesignaali, joka pitäisi mallintaa algebrallisella koodikir- 20 jalla mahdollisimman hyvin. Mikäli on tarkoitus allokoida kaksi pulssia kehystä koh- ti (paksut nuolet), optimaalinen sijainti niille on piikkien 502, 504 läheisyydessä jäi- :.:V jelle jäävän virhesignaalin energian minimoimiseksi. Tässä esimerkkitapauksessa kehykseen voidaan sisällyttää tasan kaksi pulssia, joiden etumerkki on säädettä- *:··: vissä. Tyypillisessä kooderissa koodikirjan pulssien määrä kehystä kohti sekä nii- 25 den amplitudit ovat ennalta määritellyt, vaikka koodikirjan vektorin c(n) kokonais- !···. amplitudia voidaankin muuttaa vahvistuskertoimen g avulla. Lisäksi, alkuperäinen signaali voidaan jakaa ei vain kehyksiin vaan myös alikehyksiin (esimerkiksi 1-4 alikehykseen), jotka parametrisoidaan erikseen kaikkien tai joidenkin tarvittavien ·": parametrien osalta. Esimerkiksi, LPC-kertoimet tuottava LPC-analyysi. voidaan • · **;·* 30 suorittaa vain kerran kullekin kehykselle, jolloin yksi LP-parametrijoukko kattaa ko- :T: ko kehyksen, kun taas koodikirjan vektorit (kiinteät algebralliset ja/tai adaptiiviset) :'**· voidaan analysoida kullekin alikehykselle.
·*· ··· • · · «·· 9 • 9 7 118704
Vahvistuskerroin g voidaan laskea kaavasta g= *'Hc> . (3) c\n'HCi
Vaikka nykyiset mallinnusmenetelmät sopivan herätesignaalin muodostamiseksi LP-synteesisuotimelle näyttävätkin antavan jokseenkin kelvollisia tuloksia monissa 5 tapauksissa, liittyy niihin silti vielä monia ongelmia. On selvää, että alkuperäisestä syöttösignaalista riippuen ennustusvirheessä voi olla jäljellä suuria piikkejä aika-akseliesityksessä. Tapaukset voivat vaihdella, ja siksi kiinteä määrä korjauspuls-seja kehystä kohti saattaa joskus riittää nostamaan mallinnustarkkuuden kohtuulliselle tasolle, mutta joskus taas ei. Toisinaan, kuten joidenkin nykyisten puhekoo-10 derien kohdalla, mallinnustulos voi itse asiassa huonontua, kun herätesignaaliin lisätään tarpeettomia pulsseja silloin, kun koodekin tekniset määrittelyt eivät anna muuttaa pulssien määrää kehyksessä. Toisaalta, jos pulssien määrä kehyksessä ja siten kokonaisbittisuhde vaihtelee, mallinnusprosessi on tosin joustavampi mutta myös monimutkaisempi mitä tulee vaihtuvamittaisten kehysten vastaanottoon 15 jne. Vaihtuva bittisuhde voi myös vaikeuttaa verkkosuunnittelua, koska yhden yhteyden puheparametrien siirtoon tarvitsemat siirtoresurssit eivät enää ole kiinteät.
Kuva 8A esittää kohdesignaalia tapauksessa, jossa kehys on jaettu neljään alike- hykseen. LPC-analyysi suoritetaan kerran kehystä kohti, ja LTP- ja kiinteän koodi- kirjan analyysi alikehyksittäin. Kohdesignaali sisältää suuria heilahteluja 802, 804, •20 806, 808 alikehyksessä 3. Koska algebralliset koodivektorit sisältävät kuitenkin »·* vain tasan kaksi pulssia, ne voidaan sijoittaa kattamaan piikit 802 ja 804, mutta piikit 806 ja 808 jäävät käsittelemättä huonontaen näin mallinnustulosta.
• · ·* · : '.·* Toinen tekniikan tason kooderien puute koskee LTP-analyysiin liittyvää adaptiivi- • · · sen koodikirjan vektorin hakua ns. suljetun silmukan menetelmällä.
... 25 Tavallisesti suoritetaan ensin analyysi avoimen silmukan menetelmällä karkean estimaatin löytämiseksi viiveelle T ja vahvistukselle g2, esimerkiksi koko kehyksel-**:** le kerrallaan. Avointa silmukkaa käyttävässä haussa vain korreloidaan painotettua :T: puhesignaalia itsensä viivästetyillä versioilla yksi kerrallaan korrelaatiomaksimien löytämiseksi. Näiden autokorrelaatiomaksimien löydyttyä vastaavat viivearvot, pe-30 riaatteessa erityisesti se, joka tuottaa suurimman maksimin, kohtuullisesti ennus-**\ tavat viivetermin T, sillä korrelaatiomaksimi on usein seurausta puhesignaalin jak sollisuudesta.
8 118704 Tämän jälkeen määritetään tarkemmassa suljettua silmukkaa soveltavassa adaptiivisen koodikirjan haussa LTP-suotimen viive T ja vahvistus g2 minimoimalla alkuperäisen ja syntesoidun puhesignaalin välinen painotettu virhe kuten algebrallisessa kiinteän koodikirjan haussa. Tämä tehdään esimerkiksi AMR-koodekissa 5 alikehyskohtaisesti maksimoimalla termi: YL^Jn)yk (71) R(*) = f·"·! Λ ·*- (4) jossa L on alikehyksen pituus (esim. 40 näytettä) - 1, y(n)=v(n)*h(n) ja yk on siis aiempi LP-synteesisuodatettu heräte (adaptiivisen koodikirjan vektori) viiveellä k. Lisätietoja avointa/suljettua silmukkaa käyttävistä hauista erityisesti AMR-koodekin 10 tapauksessa on löydettävissä viitteestä [3]. Koska kuitenkin on selvää, että varsinainen heräte senhetkisen kehyksen pituudelle on vielä tuntematon edellä mainittua termiä maksimoitaessa, käytetään sen asemesta senhetkistä LP-jäännöstä lyhyen viivearvon tapauksissa. Tätä selventää kuva 9A. Jos viive k on riittävän lyhyt, so. signaali yk edellyttää näytteitä senhetkisestä alikehyksestä, senhetkiselle ali-15 kehykselle ei ole saatavissa herätettä, koska algebrallinen haku jatkuu yhä. Näin ollen yksinkertainen ratkaisu on käyttää olemassa olevaa LP-jäännöstä (voidaan aluksi laskea jopa koko kehykselle) korvaamaan herätevektorin puuttuva osa vastaten viitenumeroiden 902 ja 904 välistä aikajaksoa. Toisaalta, aiemman herätteen puskuri voidaan yleensä tehdä riittävän isoksi, jota kuvassa on esitetty kolmella • 20 pisteellä, jotta vältetään tilanteet, joissa viive k on liian pitkä eikä tarvittavaa herä- tettä ole enää saatavilla puskurissa.
«···
Keksinnön yhteenveto • · · • · • · .*··. Esillä olevan keksinnön tavoitteena on parantaa herätesignaalin mallinnusta ja poistaa tekniikan tason mukaisen lähdekoodauksen, esim. puheenkoodauksen, 25 menetelmiin liittyviä puutteita. Tavoite saavutetaan toteuttamalla ajallisesti edistet-ty herätteen muodostus. Esimerkiksi kiinteän herätekoodikirjan avulla muodostettu herätesignaali määritetään etukäteen niin, että se nykyisen kehyksen lisäksi osit-:T: tain kattaa myös seuraavan kehyksen tai alikehyksen. Näin koodikirjaa "ajallisesti edistetään" esimerkiksi puolen (ali)kehyksen verran eteenpäin. Tämä voidaan teh-30 dä kasvattamatta kokonaiskoodausviivettä silloin, kun koodauksessa joka tapauk-***\ sessa käytetään kehysennakointia (look-ahead). Ennakointi on lisäpuskuri, joka on olemassa monissa uudemmissa puhekoodereissa ja joka sisältää näytteitä seu-raavasta kehyksestä. Syy, miksi ennakointipuskuri on alun perin sisällytetty koode- 9 118704 reihin, löytyy LP-mallinnuksesta: on havaittu, että nykyisen kehyksen LPC-analyy-sin aikana on edullista ottaa huomioon myös tuleva kehys, jotta voidaan taata riittävän sujuva siirtymä vierekkäisten kehysten välillä.
Edellä selostettu menettely on selvästi edullisempi tekniikan tasoon verrattuna, eri-5 tyisesti silloin, kun LP-jäännöksessä on mukana satunnaisia piikkejä. Tämä johtuu siitä, että (ali)kehyksen pulssien määrä voidaan kaksinkertaistaa "edistämällä" pulsseja kehyksestä viereiseen seuraavaan kehykseen. Keksintöön siis liittyy etuja kehyskohtaisessa muuttuvanopeuksisessa lähdekoodauksessa, mutta koodatun signaalin todellinen bittinopeus lähdössä on kiinteä, ja järjestelmä kokonaisuudes-10 saan pysyy monimutkaisuudeltaan suhteellisen matalalla tasolla verrattuna ratkaisuihin, jotka perustuvat perinteisiin muuttuvaa koodausta käyttäviin koodereihin. Peruskeksintö on silti sovellettavissa sekä kiinteää että muuttuvaa koodausta käyttäviin koodereihin.
Koska suljettuun silmukkaan perustuvassa adaptiivisen koodikirjan parametrien 15 haussa voidaan siis LP-jäännöksen asemesta käyttää aitoa ajallisesti edistettyä herätettä, virhesignaalin mallinnustulos paranee.
Keksinnön mukaisesti lähdekoodausmenetelmä, joka mahdollistaa lähdedatan ainakin osittaisen myöhemmän rekonstruoinnin synteesisuotimella ja sen herätesig-naalilla, sisältää vaiheet, joissa • · • · · ** / 20 - jaetaan lähdedatasignaali peräkkäisiin lohkoihin, • ♦ » • · ♦ ♦ ·· - muodostetaan mainittuun suotimeen liittyvä ensimmäinen parametrijoukko, joka •;··· kuvaa ensimmäistä aikajaksoa vastaavan ensimmäisen lohkon ominaisuuksia, ja • φ • · · :..f - muodostetaan mainitun suotimen mainittuun herätesignaaliin liittyvä, sekä en- • φ **··* simmäisen lohkon että sitä seuraavan toisen lohkon ominaisuuksiin perustuva ja 25 näitä toisen aikajakson sisällä kuvaava toinen parametrijoukko, joka toinen aika- φ jakso alkaa myöhemmin kuin mainittu ensimmäinen aikajakso ja ulottuu mainitun ensimmäisen aikajakson ulkopuolelle.
φ φφφ :·: : Keksinnön toisessa aspektissa menetelmä peräkkäisiin lohkoihin jaetun koodatun φ φ φ datasignaalin dekoodaamiseksi sisältää vaiheet, joissa φ φ φ # • · *···] 30 - hankitaan ensimmäinen parametrijoukko synteesisuotimen toteuttamiseksi, joka ‘ : ensimmäinen parametrijoukko kuvaa ensimmäistä aikajaksoa vastaavan ensim mäisen lohkon ominaisuuksia, 10 118704 - hankitaan toinen parametrijoukko herätesignaalin muodostamiseksi mainitulle synteesisuotimelle, joka toinen parametrijoukko kuvaa sekä ensimmäisen lohkon että sitä seuraavan toisen lohkon ominaisuuksia toisen aikajakson sisällä, joka toinen aikajakso alkaa myöhemmin kuin mainittu ensimmäinen aikajakso ja ulottuu 5 mainitun ensimmäisen aikajakson ulkopuolelle, - hankitaan ainakin osa aiemmasta toisesta parametrijoukosta herätesignaalin muodostamiseksi mainitulle synteesisuotimelle, joka mainittu aiempi toinen parametrijoukko kuvaa mainitun ensimmäisen lohkon ominaisuuksia ainakin aikajaksolla, joka sijoittuu mainitun ensimmäisen aikajakson alun ja mainitun toisen aikajak- 10 son alun väliin, - yhdistetään muodostetun mainitun aiemman toisen parametrijoukon ja mainitun toisen parametrijoukon vaikutus mainittuun herätesignaaliin ensimmäisen aikajakson sisällä, - muodostetaan mainitun ensimmäisen lohkon herätesignaali mainittua synteesi-15 suodinta varten mainitun yhdistelmän avulla, ja - suodatetaan mainittu muodostettu herätesignaali mainitun synteesisuotimen läpi.
Keksinnön kolmannessa aspektissa elektroninen laite peräkkäisiin, ainakin ensimmäisen ja toisen parametrijoukon kuvaamiin lohkoihin jaetun lähdedatan koodaa- • ♦ miseksi käsittää prosessointivälineet ja muistivälineet käskyjen ja datan proses-20 soimiseksi ja tallentamiseksi sekä datan siirtovälineet saannin järjestämiseksi da-taan, ja laite on järjestetty määrittämään mainittu toinen parametrijoukko, joka ku-·:··: vaa sekä ensimmäistä aikajaksoa vastaavan, ensimmäisen parametrijoukon ku- vaarnan mainitun ensimmäisen lohkon että ensimmäistä lohkoa seuraavan toisen • · .···. lohkon ominaisuuksia toisen aikajakson sisällä, joka toinen aikajakso alkaa myö- 25 hommin kuin mainittu ensimmäinen aikajakso ja ulottuu mainitun ensimmäisen aikajakson ulkopuolelle.
• Ml
Keksinnön neljännessä aspektissa elektroninen laite peräkkäisiin lohkoihin jaetun ,···. lähdedatan dekoodaamiseksi käsittää prosessointivälineet ja muistivälineet käsky- • · · jen ja datan prosessoimiseksi ja tallentamiseksi sekä datan siirtovälineet saannin *:** 30 järjestämiseksi dataan, ja laite on järjestetty hankkimaan ··· • · • · • · · 11 118704 ensimmäisen parametrijoukon synteesisuotimen toteuttamiseksi, joka ensimmäinen parametrijoukko kuvaa ensimmäistä aikajaksoa vastaavan ensimmäisen lohkon ominaisuuksia, toisen parametrijoukon herätesignaalin muodostamiseksi mainitulle synteesisuoti-5 melle, joka toinen parametrijoukko kuvaa sekä ensimmäisen lohkon että sitä seuraavan toisen lohkon ominaisuuksia toisen aikajakson sisällä, joka toinen aikajakso alkaa myöhemmin kuin mainittu ensimmäinen aikajakso ja ulottuu mainitun ensimmäisen aikajakson ulkopuolelle, ainakin osan aiemmasta toisesta parametrijoukosta herätesignaalin muodostami-10 seksi mainitulle synteesisuotimelle, joka mainittu aiempi toinen parametrijoukko kuvaa mainitun ensimmäisen lohkon ominaisuuksia ainakin aikajaksolla, joka sijoittuu mainitun ensimmäisen aikajakson alun ja mainitun toisen aikajakson alun väliin, joka mainittu laite on lisäksi järjestetty yhdistämään mainitun aiemman toisen pa-15 rametrijoukon ja mainitun toisen parametrijoukon vaikutus mainittuun herätesig-naaliin ensimmäisen aikajakson sisällä, muodostamaan mainitun yhdistelmän avulla mainitun ensimmäisen lohkon heräte-signaali mainittua synteesisuodinta varten, ja • · V*: suodattamaan mainittu muodostettu herätesignaali mainitun synteesisuotimen läpi.
• * * • · · 20 Keksinnön viidennessä aspektissa tietokoneohjelma peräkkäisiin, ainakin ensim-mäisen ja toisen parametrijoukon kuvaamiin lohkoihin jaetun lähdedatan koodaa- t « miseksi käsittää koodivälineet, joilla määritetään mainittu toinen parametrijoukko, \,f joka kuvaa sekä ensimmäistä aikajaksoa vastaavan, mainitun ensimmäisen para- * '···* metrijoukon kuvaaman ensimmäisen lohkon että ensimmäistä lohkoa seuraavan 25 toisen lohkon ominaisuuksia toisen aikajakson sisällä, joka toinen aikajakso alkaa myöhemmin kuin mainittu ensimmäinen aikajakso ja ulottuu mainitun ensimmäisen aikajakson ulkopuolelle.
• · · · · ‘ Keksinnön kuudennessa aspektissa tietokoneohjelma ainakin ensimmäisen ja toi- sen parametrijoukon kuvaaman lähdedatan dekoodaamiseksi, joka mainittu en-30 simmäinen parametrijoukko liittyy synteesisuotimeen ja mainittu toinen parametri- • * joukko mainitun suotimen herätesignaaliin, joka mainittu data on jaettu peräkkäisiin lohkoihin, ja mainittu ensimmäinen parametrijoukko kuvaa ensimmäistä aika- 12 118704 jaksoa vastaavan ensimmäisen lohkon ominaisuuksia ja mainittu toinen parametri-joukko kuvaa sekä ensimmäisen lohkon että sitä seuraavan toisen lohkon ominaisuuksia toisen aikajakson sisällä, joka toinen aikajakso alkaa myöhemmin kuin mainittu ensimmäinen aikajakso ja ulottuu mainitun ensimmäisen aikajakson ulko-5 puolelle, käsittää koodivälineet, joilla hyödyntämällä ainakin osaa aiemmasta toisesta parametrijoukosta herätesignaalin muodostamiseksi mainitulle synteesisuotimelle, joka mainittu aiempi toinen para-metrijoukko kuvaa mainitun ensimmäisen lohkon ominaisuuksia ainakin aikajaksolla, joka sijoittuu mainitun ensimmäisen aikajakson alun ja mainitun toisen aikajak-10 son alun väliin, yhdistetään mainitun aiemman toisen parametrijoukon ja mainitun toisen paramet-rijoukon vaikutus mainittuun herätesignaaliin mainitun ensimmäisen aikajakson sisällä, muodostetaan mainitun ensimmäisen lohkon herätesignaali mainittua synteesisuo-15 dinta varten mainitun yhdistelmän avulla, ja suodatetaan mainittu muodostettu herätesignaali mainitun synteesisuotimen läpi.
"Joukko" tarkoittaa yleisesti yhden tai useamman alkion, esimerkiksi parametrin, kokoelmaa.
» · • ♦ · • M • « . .*. Keksinnön eräässä suoritusmuodossa menetelmää herätteen muodostamiseksi • * · 20 käytetään CELP-tyyppisessä puhekooderissa. Puhekehys jaetaan alikehyksiin, ]["· jotka ensin analysoidaan kokonaisuutena, sitten yksi kerrallaan. Edistetyn herä- • · .. . tesignaalin määrittämiseksi kohdesignaalia ja kiinteää koodikirjaa siirretään esi- merkiksi puolen alikehyksen verran eteenpäin analyysivaiheen aikana.
• · » ·
»M
Oheisissa epäitsenäisissä patenttivaatimuksissa on esitetty keksinnön suoritus-··· 25 muotoja.
Ml» ··· • · **:*' Piirustusten lyhyt kuvaus ··· I I · • I ·
Seuraavassa keksintöä selostetaan yksityiskohtaisemmin viitaten oheisiin piirus- • · *" fuksiin, joissa • • · • · ···
Kuva 1 esittää ihmisen puheentuottomallia.
30 Kuva 2 esittää tyypillisen CELP-puhekooderin lohkokaaviota.
13 118704
Kuva 3 esittää tyypillisen CELP-puhedekooderin lohkokaaviota.
Kuva 4 esittää CELP-synteesimallia puheen muodostamiseksi.
Kuva 5 esittää tyypillistä tapausta CELP-tyyppisessä puheenkoodauksessa, missä kohdesignaali mallinnetaan kiinteällä määrällä yhteen koodivek-5 toriin sisältyviä pulsseja.
Kuva 6 esittää keksinnön mukaisen CELP-kooderin lohkokaaviota.
Kuva 7 esittää keksinnön mukaisen CELP-dekooderin lohkokaaviota.
Kuva 8A esittää kohdesignaalin mallinnusta kiinteällä kahdella pulssilla alikehys-tä kohti perinteisessä puhekoodekissa.
10 Kuva 8B esittää keksinnön mukaista kohdesignaalin mallinnusta enimmillään nel jällä pulssilla alikehystä kohti.
Kuva 9A esittää tapausta, jossa LP-jäännöksellä on korvattava aito herätesignaali suljettua silmukkaa käyttävässä perinteisten koodekkien LTP-parametrihaussa.
15 Kuva 9B esittää tapausta, jossa ajallisesti edistetty heräte on käytettävissä suljet tua silmukkaa käyttävässä LTP-parametrihaussa keksinnön mukaisesti. Kuva 10 esittää keksinnön mukaisen menetelmän vuokaaviota datasignaalin koodaamiseksi.
Kuva 11 esittää keksinnön mukaisen menetelmän vuokaaviota koodatun data-20 signaalin dekoodaamiseksi.
Kuva 12 esittää keksinnön mukaisen laitteen lohkokaaviota.
• · • · · • · · / Keksinnön suoritusmuodon yksityiskohtainen selostus • · · ··· ..!·* Kuvat 1-5, 8A ja 9A selostettiin jo tekniikan tason kuvauksen yhteydessä.
• · •V. Kuvassa 6 on esitetty esimerkkinä lohkokaavio CELP-kooderista, jossa käytetään 25 ehdotettua herätesignaalin ajallisen edistämisen tekniikkaa. LPC-analyysi suorite-’*··’ taan kerran kehystä kohti ja LTP-analyysi ja herätehaku kullekin alikehykselle nel jän alikehyksen kehyksessä. Koodekki sisältää myös ennakointipuskurin sisään tu- ·.’:* levälle puheelle.
• · · • · i · ♦·
Keksinnön mukainen koodausprosessi käsittää samanlaiset yleisvaiheet kuin tek-*;]/ 30 nilkan tason menetelmät. LPC-analyysi 604 antaa LP-parametrit, ja LPT-analyysi *···* 602 antaa viiveen T ja vahvistuksen g2. Optimiherätteen hakusilmukkaan kuuluvat koodikirja 606, kertoja 616, LTP/adaptiivinen koodikirja ja LPC-synteesisuotimet 608, 610, summain 618, painotussuodin 612 ja hakulogiikka 614. Lisäksi kooderiin kuuluu muisti 622 tietylle alikehykselle valitun herätevektorin tai siihen osoittavan 14 118704 viittauksen tallentamiseksi sekä yhdistämislogiikka 620, jolla yhdistetään edellisen valitun ja tallennetun, edellisen alikehyksen analyysin aikana lasketun mutta nykyisen alikehyksen ensimmäiseen puoliskoon kohdistetun herätevektorin jälkimmäinen puolisko ja nykyisen valitun herätevektorin ensimmäinen puolisko vahvis-5 tuksen määrittämiseksi jäljempänä selostetulla tavalla.
Ensimmäinen ero tekniikan tason ratkaisujen ja keksinnön mukaisen ratkaisun välillä liittyy kohdesignaalin laskentaan herätekoodikirjahakua varten. Jos herätekoo-dikirjaa siirretään esimerkiksi puolen alikehyksen verran eteenpäin, koodikirjan jälkimmäinen puolisko osuu seuraavaan alikehykseen. Kehyksen viimeisen alikehyk-10 sen kohdalla voidaan vastaavasti hyödyntää ennakointipuskuria. Lisäksi siirtämisen määrää voidaan vaihdella erillisen (esimerkiksi manuaalisesti ohjattavan) siir-ronohjausparametrin tai vaikkapa sisään tulevan datan ominaisuuksien mukaisesti. Parametri voidaan saada ulkoiselta yksiköltä, esimerkiksi verkkoelimeltä kuten radioverkko-ohjaimelta matkaviestimen tapauksessa. Sisään tulevaa dataa voi-15 daan analysoida tilastollisesti ja, jos tarpeen (esimerkiksi kohdesignaalissa havaitaan satunnaisia piikkejä), siirtäminen voidaan dynaamisesti valita otettavaksi käyttöön koodausprosessissa tai jo käytössä olevaa siirtoa voidaan muuttaa. Valittu siirtoparametri voidaan sitten lähettää vastaanottavaan päähän (dekooderin käyttöön) joko erikseen tai puhekehyksiin tai merkinantoon upotettuna. Lähetys voi 20 tapahtua esimerkiksi kerran kehyksessä tai parametriarvon muuttuessa.
• ·
Kuvassa 8B on esitetty neljän alikehyksen kehyksiin jaetun kohdesignaalin osa (puhesignaalin, josta adaptiivisen koodikirjan vaikutus on poistettu edellä seloste-tulla tavalla) sekä ennakointipuskuri. Optimaalinen herätekoodivektori saadaan *:··: minimoimalla virhe ·· f LV 25 ^=(^-8^)2 (5) • · • · i*· jossa on uusi edistetty kohdesignaali, joka käsittää nykyisen alikehyksen koh- ··· teen jälkimmäisen puoliskon ja seuraavan alikehyksen kohteen ensimmäisen puo- ···· .*··. liskon. Jako on näkyvissä kuvassa 8B; kohde(ali)kehysikkunoita siirretään 810 puolen alikehyksen verran ajallisesti eteenpäin suhteessa vastaaviin alikehyksiin.
• # *·* * 30 Tässä esimerkissä ennakointipuskuri vastaa alikehyksen puolikasta, jolloin mah- dollinen ajallinen siirto kohde- ja varsinaisten alikehysten välillä mahdollistuu tähän samaan määrään, so. ajallinen siirto on välillä O-L/2, jossa L on alikehyksen pi-tuus. Yleistyksenä voidaan sanoa, että siirto määritellään yhtä suureksi tai pienemmäksi kuin ennakointipuskurin pituus, jos oikean kohdesignaalin tulisi aina olla las 15 118704 kettavissa puskurissa todelta olevasta tulosignaalista. Huomattakoon, että muistia 622 ei käytetä herätevektorin laskennassa.
Vaihtoehtoisesti, jos myös impulssivastematriisi H on laskettu alikehyskohtaisesti, voidaan siihen soveltaa yhtä kohdesignaalia vastaavaa ajallista siirtoa yhtälössä 5 5 määritellyn virheen minimoimiseksi. Vastaavasti keksinnön sovellettavuuden kannalta sillä ei ole oleellista merkitystä, jos mitään puheparametreistä ei ole mallinnettu alikehyskohtaisesti ja vain kehykset analysoidaan sellaisinaan.
Viitaten yhtälöön 2, pulssien sijainnit ajallisesti edistettyä herätevektoria varten lasketaan vastaavasti myös tässä tapauksessa, mutta käyttäen ajallisesti edistet- 10 tyä kohdetta ja optionaalisesti samalla tavoin edistettyä impuissivastematriisia. Vahvistuskertoimen gfldv mahdollinen edistäminen on enemmän tai vähemmän pelkkä teoreettinen kysymys, sillä vahvistuskerrointa ei tarvita tässä ratkaisumallissa optimaalisen herätteen määrittämiseksi.
Sen sijaan koodikirjan vahvistus g herätevektorille lasketaan varsinaisen alikehyk-15 sen perusteella seuraavasti g = sTlice (6)
8 cTcHTHcc K
jossa cc on yhdistelmäherätevektori • * • · · ·· c,=kcTJ (7) ·*· ·· ,!.!j joka käsittää alivektorit c, ja c2 =c,(/), / = 1...L jossa c, vastaa iinnessä alikehyk- 20 sessä laskettua herätevektoria ja L on alikehyksen ja herätevektorin pituus. Tällä .♦··. kertaa muistin 622 sisältöä tarvitaan edellisen alikehyksen jälkimmäisen puoliskon • · saamiseksi yhdistelmävektoriin.
Koska herätevektoreita vain siirretään analyysi- ja synteesivaiheissa kooderissa/- ’[[[' dekooderissa, niiden sisäinen rakenne pysyy muuttumattomana; pulssipaikkojen .···. 25 koodaus voidaan pitää alkuperäisenä ja siirtotien yli siirrettyjen parametrisoitujen • · · l,·' kehysten rakenne ei muutu. Näin myöskään kooderissa/dekooderissa tarvittavia *:** datankäsittelytoimenpiteitä, kuten erilaisia parametrien tuonti/vientirutiineja, ei tar- ··· vitse muuttaa perinteisessä kooderissa sen muuttamiseksi ehdotetun ratkaisun *:**: mukaiseksi.
16 118704
Kuvassa 9B on esitetty tilanne liittyen LTP-analyysiin ja sen adaptiivisen koodikirjan suljettua silmukkaa käyttävään hakuun edistettyä herätettä soveltavassa CELP-koodekissa. Tekniikan tason ratkaisuista poiketen käytettävissä oleva mennyt heräte ulottuu pisteeseen 910 edellisen kehyksen viimeisen alikehyksen ajalli-5 sesti edistetyn kohdesignaalin ja nykyisen kehyksen ensimmäisen ajallisesti edistetyn kohdesignaalin rajalla. Tämä merkitsee parannusta LTP-analyysiin, koska pelkän LP-jäännöksen asemesta voidaan ainakin osittain käyttää aitoa herätettä suljettuun silmukkaan perustuvassa haussa. Sama pätee seuraaviin alikehyksiin tai tapaukseen, jossa alikehyksiä ei käytetä ja mallinnus tapahtuu vain kehysyksik-10 köinä.
Kuvassa 7 on esitetty keksinnön mukaisen dekooderin lohkokaavio. Dekooderi vastaanottaa herätekoodikirjan indeksin u, herätevahvistuksen g, LTP-kertoimet T, g2 (jos käytössä) ja LP-parametrit a(i). Ensin dekooderi selvittää herätevektorin koodikirjasta 706 indeksin u avulla ja yhdistää saadun vektorin aiemman alikehyk-15 sen vektoriin (muisti) 716 edellä selostetulla tavalla. Edellisen vektorin jälkimmäinen puolisko liitetään nykyisen vektorin ensimmäiseen puoliskoon lohkossa 714, minkä jälkeen alkuperäinen nykyinen vektori tai ainakin sen jälkimmäinen puolisko (tai viittaus siihen) tallennetaan muistiin 716 myöhempää käyttöä varten. Muodostettu yhdistelmävektori kerrotaan 712 sen jälkeen vahvistuksella g ja suodatetaan 20 LTP-synteesisuotimen 708 ja LCP-synteesisuotimen 710 läpi syntesoidun pu-a.a . hesignaalin ss(n) muodostamiseksi lähtöön.
* M • · ·,·,· Kuvassa 10 on esitetty koodausmenetelmän vuokaavio. Vastaavasti kuvassa 11 aaa*:* on esitetty dekoodauksen vuokaavio. Vuokaavioiden tarkoitus on helpottaa koode- *:·*: rin sisäisen toiminnan ymmärtämistä, joskin samat perusperiaatteet ovat nähtävis- |V. 25 sä jo kuvien 6 ja 7 lohkokaavioista. Vaihe 1002 vastaa menetelmän aloitusta, jos- ,···. sa esimerkiksi suodinmuistit ja parametrit alustetaan. Vaiheessa 1004 lähdesig- naali jaetaan parametrisoitaviin lohkoihin, ellei sitä ole tehty jo aiemmin. Lohkot tJt voivat esimerkiksi vastata edellä selostetun suoritusmuodon kehyksiä tai alikehyk- *::: siä. Vaikka kuvien 10 ja 11 vuokaaviot käsittelevät lähdedataa vain yhdellä lohko- • · **;*’ 30 hierarkian tasolla, varsinaista suoritusmuotoa vastaavat ratkaisut, joissa lähdedata :T: jaetaan ensin ylätason lohkoihin, kuten kehyksiin, ja sitten alalohkoihin (kuten ali- kehyksiin), ovat myös mahdollisia. Osa kokonaisanalyysistä voidaan siten suorit- ··· taa ylemmällä tasolla ja loput alemmalla tasolla, kuten kehystason LPC-analyysi ja **··] alikehystason herätevektorianalyysi esitetyssä suoritusmuodossa. Näin ollen ei * * 35 keksinnön kannalta ole olennaista, minkä tyyppistä hierarkiaa sovelletaan tai min kä tasoisia parametrejä analysoidaan, kunhan herätesignaalianalyysissä käyte- 17 118704 tään ajallista edistämistä kyseisen tason lohkojakoon liittyen. Vaiheessa 1006 valitaan uusi lohko koodattavaksi ja suoritetaan LPC-analyysi, jolloin saadaan joukko LP-parametrejä. Nämä parametrit voidaan siirtää vastaanottajalle sellaisenaan tai koodatussa muodossa (kuten esimerkiksi spektripareina), taulukkoindeksinä tai 5 minkä tahansa sopivan viittauksen avulla. Seuraavassa vaiheessa tehdään LTP-analyysi 1008, jolloin saadaan avoimen silmukan LTP-parametrit suljetun silmukan LTP/adaptiivisen koodikirjan parametrihakuun. Edellä selostetun mukaisesti määritetään vaiheessa 1010 ajallisesti edistetty kohdesignaali herätehakua varten. Syn-teesianalyysityyppisessä herätehakusilmukassa herätevektori valitaan 1012 herä-10 tekoodikirjasta, ja sitä käytetään puheen syntesoinnissa 1014. Menettelyä toistetaan, kunnes saavutetaan maksimimäärä toistokierroksia tai ennalta määritelty vir-hekriteeri täyttyy 1016. Normaalisti valitaan herätevektori, joka tuottaa pienimmän virheen. Valittu vektori (tai sen indikaattori, kuten koodikirjan indeksi) tai ainakin sen seuraavaa lohkoa vastaava osa tallennetaan myös myöhempää käyttöä var-15 ten. Herätevahvistus lasketaan vaiheessa 1018. Kokonaiskoodausprosessi jatkuu vaiheesta 1006, jos käsittelemättömiä lohkoja jäljellä 1020, muutoin menetelmä päättyy vaiheeseen 1022.
Vaiheessa 1102 käynnistetään dekoodausprosessi tarvittavilla alustuksilla ym. Koodattu data vastaanotetaan 1104 lohkoissa, jotka esimerkiksi puskuroidaan 20 myöhempää dekoodausta varten. Vaiheessa 1106 määritetään vastaanotetun da- '·, . tan avulla rekonstruoitavana olevan lohkon nykyinen herätevektori esimerkiksi ha- '* / kemalla koodikirjasta tietty koodivektori vastaanotetun koodikirjan indeksin perus- teella. Vaiheessa 1108 haetaan muistista edellinen herätevektori (tai käytännössä ··'·' tarvittava osa siitä, esim. jälkimmäinen puolisko) tai viittaus siihen, ja liitetään se 25 nykyisen vektorin merkitykselliseen ensimmäiseen osaan vaiheessa 1110. Sen »« · : V jälkeen nykyinen vektori (tai sen merkityksellisempi jälkimmäinen osa) tallenne- taan 1112 muistiin (indeksinä, aitona vektorina tai muuna mahdollisena johdokse-na/viittauksena) käytettäväksi seuraavan lohkon dekoodauksen yhteydessä. Yh-··· distelmävektori kerrotaan herätevahvistuksella vaiheessa 1114 ja lopuksi suodate- .*··. 30 taan LTP-synteesi-1116 ja LPC-synteesisuotimen 1118 läpi. LTP- ja LP-paramet- rit on voitu vastaanottaa sellaisinaan tai koodattuna (viittauksina, kuten taulukkoin-'·' * deksinä, tai viivaspektriparina jne.). Jos dekoodattavana ei ole enempää lohkoja 1120, menetelmän suoritus palautuu vaiheeseen 1106. Muussa tapauksessa me-.*·*. netelmä päättyy 1122. Monissa tapauksissa kaavioissa esitetyllä vaiheiden järjes- 35 tyksellä ei ole ratkaisevaa merkitystä; esimerkiksi vaiheiden 1106 ja 1108 sekä 18 118704 1110 ja 112 suoritusjärjestys voidaan muuttaa päinvastaiseksi jos se katsotaan tarkoituksenmukaiseksi.
Kuvassa 12 on esimerkkinä esitetty perusosat laitteesta, joka kykenee keksinnön mukaiseen datan käsittelyyn, tallennukseen ja saantiin, joka laite voi olla esimer-5 kiksi viestintälaite (esim. matkaviestin), datan tallennusväline, audiotallennus/tois-tolaite, verkkoelin (esimerkiksi tukiasema, yhdyskäytävä, keskus tai sen osa) tai tietokone. Muisti 1204, joka on jaettu yhdelle tai useammalle fyysiselle sirulle, sisältää tarvittavan ohjelmakoodin 1216 esimerkiksi tietokoneohjelman/sovelluksen muodossa sekä datan; tarvittavan syöttödatan 1212, jonka ehdotettu menetelmä 10 koodaa (tai dekoodaa) lähtödataksi 1214. Menetelmän varsinaisessa suorituksessa, mukaan lukien datan 1212 koodaus ja/tai dekoodaus muistiin 1204 tallennettujen käskyjen 1216 mukaisesti, tarvitaan prosessointiyksikkö 1202, esimerkiksi mikroprosessori, digitaalinen signaaliprosessori DSP, mikrokontrolleri tai ohjelmoitava logiikka. Näyttö 1206 ja näppäimistö 1210 ovat periaatteessa valinnaisia 15 komponentteja, mutta usein niitä kuitenkin tarvitaan laiteohjaus- ja tiedon visu-allsointivälineiksi ('-käyttöliittymäksi) käyttäjää varten. Datan siirtovälineitä 1208, esimerkiksi CD-levy/kiintolevy/levykeasemaa tai verkkosovitinta, tarvitaan tiedonvaihdon toteuttamiseksi muiden laitteiden kanssa, esimerkiksi lähdedatan saamiseksi ja käsitellyn datan tulostamiseksi. Datan siirtovälineet 1208 voivat myös tar-20 koittaa audio-osia, kuten muuttimia (A/D- ja D/A-muuntimia, mikrofonia, kaiuttimia, .·.: vahvistimia jne.), joiden kautta audiosignaali otetaan sisään prosessoitavaksi ja/tai • ·* dekoodattu signaali annetaan ulos. Tämä on sovellettavissa esimerkiksi matka-**; viestimiin ja erilaisiin audiotallennus- ja/tai -toistolaitteisiin, kuten äänitallentimiin ja
M
*"*' sanelukoneisiin, joissa käytetään keksinnön mukaista menetelmää. Ehdotetun * * 25 menetelmän suorituksessa tarvittava koodi 1216 voidaan tallentaa ja jakaa siirret- : V tävällä välineellä kuten levykkeellä, CD-levyllä tai muistikortilla. Lisäksi keksinnön e·· mukaisen datan koodauksen ja/tai dekoodauksen suorittava laite voidaan toteuttaa johonkin toiseen laitteeseen sisältyvänä tai siihen vain kytkettynä moduulina (esi- •j· merkiksi koodekkisiruna tai piirijärjestelynä). Tällöin moduulin ei tarvitse sisältää "·. 30 kaikkia kokonaisen koodaus- tai dekoodaustehtävän suorittamisessa tarvittavia .1. koodivälineitä. Moduuli voi esimerkiksi saada ainakin osan suodinparametreistä, • · · kuten LP- tai LPT-parametrit, ulkoiselta yksiköltä koodaamattoman tai koodatun '··/' datan lisäksi ja määrittää/muodostaa vain herätesignaalin itse.
··· • ·
Keksinnön suojapiirin määrittelevät oheiset patenttivaatimukset. Käytettävät lait-35 teet, menetelmävaiheet, tietorakenteet jne. voivat kuitenkin vaihdella merkittävästi kulloisestakin tilanteesta riippuen mutta vastaten silti tämän keksinnön perusaja- 19 118704 tuksia. On esimerkiksi selvää, että lähdedatan koon pienentäminen ei ole välttämätön edellytys Qoskin ehdottomasti tyypillinen) ehdotetun menetelmän käytölle; menetelmää voidaan käyttää pelkästään lähdedatan esittämiseen ja analysointiin parametrien avulla. Datasiirtoratkaisujen lisäksi keksintöä voidaan soveltaa yksit-5 täisessä laitteessa pelkästään datan tallennukseen. Lisäksi menetelmässä voidaan käyttää minkä tahansa tyyppistä lähdedataa, ei yksinomaan puhetta. Mallin-nustulokset ovat kuitenkin todennäköisesti tarkimmat puheominaisuuksia sisältävän datan kohdalla, so. sellaisen datan, johon lähdesuodinmenetelmä sopii hyvin. Lisäksi keksintöä voidaan käyttää minkä tahansa tyyppisessä laitteessa, joka pys-10 tyy suorittamaan tarvittavat käsittelyvaiheet; käyttökelpoiset laite- ja komponentti-tyypit eivät siten rajoitu pelkästään edellä mainittuihin.
Viitejulkaisut: [1] Kondoz A. M., Digital Speech; Coding for Low Bit Rate Communications Sys-t§ems, Wiley 1994/2000 15 [2] Rabiner L.R., Schafer R.W., Digital processing of Speech Signals, Prentice-Hall 1978 [3] 3GPP TS 26.090 AMR speech Codec; Transcoding Functions v.5.0.0 Release 5, 3GPP 2002 • « • · t • ·# • · ♦ · · • · · ·1· ··· ···» • · ·· 1 • · · • · * m #·♦ • · • · • a1 ··· ···♦ ··· • 1 • · ··· *·· • · · * · 1 Φ ·«· • « • · ··· ··· • 1 • · ··· ·

Claims (32)

118704
1. Lähdekoodausmenetelmä, joka mahdollistaa lähdedatan ainakin osittaisen myöhemmän rekonstruoinnin synteesisuotimella ja sen herätesignaalilla ja johon kuuluvat vaiheet, joissa 5. jaetaan lähdedatasignaali peräkkäisiin lohkoihin (1004), - muodostetaan mainittuun suotimeen liittyvä ensimmäinen parametrijoukko, joka kuvaa ensimmäistä aikajaksoa vastaavan ensimmäisen lohkon ominaisuuksia (1006), ja - muodostetaan mainitun suotimen mainittuun herätesignaaiiin liittyvä, sekä en-10 simmäisen lohkon että sitä seuraavan toisen lohkon ominaisuuksiin perustuva ja näitä toisen aikajakson sisällä kuvaava toinen parametrijoukko (1012), joka toinen aikajakso alkaa myöhemmin kuin mainittu ensimmäinen aikajakso ja ulottuu mainitun ensimmäisen aikajakson ulkopuolelle.
2. Patenttivaatimuksen 1 mukainen menetelmä, johon lisäksi kuuluu vaihe, jos-15 sa tallennetaan ainakin mainittua toista lohkoa vastaava osa mainitusta toisesta parametrijoukosta tai siihen osoittava viittaus mainittujen tallennettujen parametrien käyttämiseksi ainakin yhden mainittua ensimmäistä lohkoa seuraavan toisen lohkon parametrin muodostamiseksi (622).
3. Patenttivaatimuksen 2 mukainen menetelmä, johon lisäksi kuuluu vaihe, jos-20 sa muodostetaan mainittuun herätesignaalin liittyvä ainakin yksi parametri mainit- • j*; tuihin ensimmäiseen ja toiseen lohkoon liittyvän mainitun toisen parametrijoukon ja • M aiemmin muodostetun ja ainakin osittain tallennetun mainittua ensimmäistä lohkoa edeltävään lohkoon ja mainittuun ensimmäiseen lohkoon liittyvän toisen parametri- • · joukon perusteella (1018). • ♦ • ♦
4. Patenttivaatimuksen 3 mukainen menetelmä, jossa mainittu ainakin yksi pa rametri on oleellisesti vahvistusparametri. **·
5. Patenttivaatimuksen 1-4 mukainen menetelmä, jossa mainittu ensimmäinen **;·* parametrijoukko oleellisesti viittaa joukkoon lineaariennuste- eli LPC-parametrejä ί.ϊ’ϊ (Linear Predictive Coding). ··· • · • * “Γ 30
6. Patenttivaatimuksen 1-5 mukainen menetelmä, jossa mainittu toinen para- e·· metrijoukko oleellisesti viittaa tiettyyn herätevektoriin herätekoodikirjassa, joka si-sältää useita vektoreita. 118704
7. Patenttivaatimuksen 1-6 mukainen menetelmä, jossa mainitun toisen aikajakson aloituskohta vaihtelee mainitun ensimmäisen aikajakson sisällä.
8. Patenttivaatimuksen 1-7 mukainen menetelmä, jossa ainakin mainittu toinen parametrijoukko muodostetaan oleellisesti synteesianalyysisilmukan avulla.
9. Patenttivaatimuksen 1-8 mukainen menetelmä, jossa mainittu syntee- sisuodin käsittää ainakin yhden seuraavista: LPC-synteesisuodin (Linear Prediction Coding) ja LTP-synteesisuodin (Long-Term Prediction).
10. Patenttivaatimuksen 1-9 mukainen menetelmä, jossa mainittu lähdedata on oleellisesti puhetta.
11. Patenttivaatimuksen 1-10 mukainen menetelmä, jossa mainittu toinen para metrijoukko muodostetaan mainitun ensimmäisen parametrijoukon avulla.
12. Menetelmä peräkkäisiin lohkoihin jaetun koodatun datasignaalin dekoodaa-miseksi, joka menetelmä sisältää vaiheet, joissa - muodostetaan ensimmäinen parametrijoukko synteesisuotimen toteuttamiseksi 15 (1104), joka ensimmäinen parametrijoukko kuvaa ensimmäistä aikajaksoa vastaa van ensimmäisen lohkon ominaisuuksia, - muodostetaan toinen parametrijoukko herätesignaalin muodostamiseksi mainitulle synteesisuotimelle (1106), joka toinen parametrijoukko kuvaa sekä ensimmäi- ·*.**: sen lohkon että sitä seuraavan toisen lohkon ominaisuuksia toisen aikajakson si- 20 säilä, joka toinen aikajakso alkaa myöhemmin kuin mainittu ensimmäinen alkajaksi:· so ja ulottuu mainitun ensimmäisen aikajakson ulkopuolelle, *:*·: - muodostetaan ainakin osa aiemmasta toisesta parametrijoukosta herätesignaalin ·*·*· muodostamiseksi mainitulle synteesisuotimelle (1108), joka mainittu aiempi toinen • · .···. parametrijoukko kuvaa mainitun ensimmäisen lohkon ominaisuuksia ainakin aika- 25 jaksolla, joka sijoittuu mainitun ensimmäisen aikajakson alun ja mainitun toisen ai-a!( kajakson alun väliin, ·::: - yhdistetään mainitun aiemman toisen parametrijoukon ja mainitun toisen para- • · '*;·* metrijoukon vaikutus mainittuun herätesignaaliin ensimmäisen aikajakson sisällä :T: (1110), 30. muodostetaan mainitun ensimmäisen lohkon herätesignaali mainittua synteesi- • i* suodinta varten mainitun yhdistelmän avulla (1114, 1116), ja *'*\ - suodatetaan mainittu muodostettu herätesignaali mainitun synteesisuotimen läpi (1118). 118704
13. Patenttivaatimuksen 12 mukainen menetelmä, jossa mainittu ensimmäinen parametrijoukko oleellisesti viittaa joukkoon lineaariennuste- eli LPC-parametrejä (Linear Predictive Coding).
14. Patenttivaatimuksen 12 mukainen menetelmä, jossa mainittu toinen paramet-5 rijoukko oleellisesti viittaa tiettyyn herätevektoriin herätekoodikirjassa, joka sisältää useita vektoreita.
15. Patenttivaatimuksen 12 mukainen menetelmä, johon lisäksi kuuluu vaihe, jossa tallennetaan ainakin mainittua toista lohkoa vastaava osa mainitusta toisesta parametrijoukosta tai siihen osoittava viittaus mainittujen tallennettujen parametri- 10 en käyttämiseksi mainitun toisen lohkon herätesignaalin muodostamiseksi (1112).
16. Elektroninen laite peräkkäisiin, ainakin ensimmäisen ja toisen parametrijou-kon kuvaamiin lohkoihin jaetun lähdedatan koodaamiseksi, joka laite käsittää pro-sessointivälineet (1202) ja muistivälineet (1204) käskyjen ja datan käsittelemiseksi ja tallentamiseksi sekä datan siirtovälineet (1208) saannin järjestämiseksi dataan 15 ja joka laite on järjestetty määrittämään mainittu toinen parametrijoukko, joka kuvaa sekä ensimmäistä aikajaksoa vastaavan, ensimmäisen parametrijoukon kuvaaman mainitun ensimmäisen lohkon että ensimmäistä lohkoa seuraavan toisen lohkon ominaisuuksia toisen aikajakson sisällä, joka toinen aikajakso alkaa myöhemmin kuin mainittu ensimmäinen aikajakso ja ulottuu mainitun ensimmäisen ai-20 kajakson ulkopuolelle. « • · «
17. Patenttivaatimuksen 16 mukainen laite, joka on lisäksi järjestetty vastaanot- • 99 tamaan mainittu ensimmäinen parametrijoukko ulkoiselta yksiköltä. • · ·*·*: 18. Patenttivaatimuksen 16 mukainen laite, joka on järjestetty muodostamaan • · .*·*. mainittu ensimmäinen parametrijoukko mainitun lähdedatan avulla. ···
19. Patenttivaatimuksen 16-18 mukainen menetelmä, joka on lisäksi järjestetty m.T tallentamaan ainakin mainittua toista lohkoa vastaava osa mainitusta toisesta pa- ··· rametrijoukosta tai siihen osoittava viittaus mainittujen tallennettujen parametrien käyttämiseksi ainakin yhden mainittua ensimmäistä lohkoa seuraavan toisen loh- .*··, kon parametrin muodostamiseksi. • · ··· * :***: 30 20. Patenttivaatimuksen 16-19 mukainen laite, joka on lisäksi järjestetty muo- ··* dostamaan mainittuun herätesignaalin liittyvä ainakin yksi parametri mainittuihin ensimmäiseen ja toiseen lohkoon liittyvän mainitun toisen parametrijoukon ja ai 118704 emmin muodostetun ja ainakin osittain tallennetun mainittua ensimmäistä lohkoa edeltävään lohkoon ja mainittuun ensimmäiseen lohkoon liittyvän toisen parametri-joukon perusteella.
21. Patenttivaatimuksen 16-20 mukainen laite, joka on lisäksi järjestetty vaihte-5 lemaan mainitun toisen aikajakson aloituskohtaa mainitun ensimmäisen aikajakson sisällä.
22. Patenttivaatimuksen 16-21 mukainen laite, joka on järjestetty muodostamaan mainittu toinen parametrijoukko oleellisesti synteesianalyysisilmukan avulla.
23. Patenttivaatimuksen 16-22 mukainen laite, joka on järjestetty muodosta-10 maan mainittu toinen parametrijoukko mainitun ensimmäisen parametrijoukon avulla.
24. Patenttivaatimuksen 16-23 mukainen laite, joka on oleellisesti matkaviestin, verkkoelin, datan tallennusväline, audiotallennin tai sanelukone.
25. Patenttivaatimuksen 16-23 mukainen laite, joka on oleellisesti kooderi-15 moduuli tai kooderi-dekooderimoduuli.
26. Elektroninen laite peräkkäisiin lohkoihin jaetun lähdedatan dekoodaamiseksi, joka laite käsittää prosessointi välineet (1202) ja muistivälineet (1204) käskyjen ja datan prosessoriseksi ja tallentamiseksi sekä datan siirtovälineet (1208) saannin • ;*; järjestämiseksi dataan ja joka laite on järjestetty saamaan käyttöönsä !j. 20 ensimmäisen parametrijoukon synteesisuotimen toteuttamiseksi, joka ensimmäi- ")]· nen parametrijoukko kuvaa ensimmäistä aikajaksoa vastaavan ensimmäisen loh- • · ... kon ominaisuuksia, • · · :,.I toisen parametrijoukon herätesignaalin muodostamiseksi mainitulle synteesisuoti- e · ***** melle, joka toinen parametrijoukko kuvaa sekä ensimmäisen lohkon että sitä 25 seuraavan toisen lohkon ominaisuuksia toisen aikajakson sisällä, joka toinen aika-..*:* jakso alkaa myöhemmin kuin mainittu ensimmäinen aikajakso ja ulottuu mainitun • •e ensimmäisen aikajakson ulkopuolelle, .*:*. ainakin osan aiemmasta toisesta parametrijoukosta herätesignaalin muodos- ,···. tamiseksi mainitulle synteesisuotimelle, joka mainittu aiempi toinen parametrijouk- • · 30 ko kuvaa mainitun ensimmäisen lohkon ominaisuuksia ainakin aikajaksolla, joka sijoittuu mainitun ensimmäisen aikajakson alun ja mainitun toisen aikajakson alun *·**! väliin, 118704 joka mainittu laite on lisäksi järjestetty yhdistämään mainitun aiemman toisen pa-rametrijoukon ja mainitun toisen parametrijoukon vaikutus mainittuun herätesig-naaliin ensimmäisen aikajakson sisällä, muodostamaan mainitun ensimmäisen lohkon herätesignaali mainittua synteesi-5 suodinta varten mainitun yhdistelmän avulla, ja suodattamaan mainittu muodostettu herätesignaali mainitun synteesisuotimen läpi.
27. Patenttivaatimuksen 26 mukainen laite, joka on oleellisesti matkaviestin, verkkoelin, datan tallennusväline, audiotoistolaite tai sanelukone.
28. Patenttivaatimuksen 26 mukainen laite, joka on oleellisesti dekooderimoduuli 10 tai kooderi-dekooderimoduuli.
29. Tietokoneohjelma peräkkäisiin, ainakin ensimmäisen ja toisen parametrijoukon kuvaamiin lohkoihin jaetun lähdedatan koodaamiseksi, joka tietokoneohjelma käsittää koodivälineet, joilla määritetään mainittu toinen parametrijoukko, joka kuvaa sekä ensimmäistä aikajaksoa vastaavan, ensimmäisen parametrijoukon ku- 15 vaarnan mainitun ensimmäisen lohkon että ensimmäistä lohkoa seuraavan toisen lohkon ominaisuuksia toisen aikajakson sisällä, joka toinen aikajakso alkaa myöhemmin kuin mainittu ensimmäinen aikajakso ja ulottuu mainitun ensimmäisen aikajakson ulkopuolelle. . . 30. Datan siirtoväline, joka sisältää patenttivaatimuksen 29 mukaisen tietokone- • · · * *· / 20 suoritettavan ohjelman. • · · • · · • · · # Ψ 31. Tietokoneohjelma ainakin ensimmäisen ja toisen parametrijoukon kuvaaman ·:··· lähdedatan dekoodaamiseksi, jossa mainittu ensimmäinen parametrijoukko liittyy :v. synteesisuotimeen ja mainittu toinen parametrijoukko mainitun suotimen herä- ]·*·. tesignaallln, joka mainittu data on jaettu peräkkäisiin lohkoihin, ja mainittu ensim- • · 25 mäinen parametrijoukko kuvaa ensimmäistä aikajaksoa vastaavan ensimmäisen . lohkon ominaisuuksia ja mainittu toinen parametrijoukko kuvaa sekä ensimmäisen lohkon että sitä seuraavan toisen lohkon ominaisuuksia toisen aikajakson sisällä, • * '·;·* joka toinen aikajakso alkaa myöhemmin kuin mainittu ensimmäinen aikajakso ja :T: ulottuu mainitun ensimmäisen aikajakson ulkopuolelle, joka ohjelma käsittää koo- .***. 30 divälineet, joilla, hyödyntämällä ainakin osaa aiemmasta toisesta parametrijoukosta herätesignaalin • · *···’ muodostamiseksi mainitulle synteesisuotimelle, joka mainittu aiempi toinen para- : : metrijoukko kuvaa mainitun ensimmäisen lohkon ominaisuuksia ainakin aikajaksot- 118704 la, joka sijoittuu mainitun ensimmäisen aikajakson alun ja mainitun toisen aikajakson alun väliin, yhdistetään mainitun aiemman toisen parametrijoukon ja mainitun toisen paramet-rijoukon vaikutus herätesignaaliin ensimmäisen aikajakson sisällä, 5 muodostetaan mainitun ensimmäisen lohkon herätesignaali mainittua synteesisuo-dinta varten mainitun yhdistelmän avulla, ja suodatetaan mainittu muodostettu herätesignaali mainitun synteesisuotimen läpi.
32. Datan siirtoväline, joka sisältää patenttivaatimuksen 31 mukaisen tietokone-suoritettavan ohjelman.
10 Patentkrav
FI20031462A 2003-10-07 2003-10-07 Menetelmä ja laite lähdekoodauksen tekemiseksi FI118704B (fi)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FI20031462A FI118704B (fi) 2003-10-07 2003-10-07 Menetelmä ja laite lähdekoodauksen tekemiseksi
US10/574,990 US7869993B2 (en) 2003-10-07 2004-10-04 Method and a device for source coding
EP04767093.0A EP1671317B1 (en) 2003-10-07 2004-10-04 A method and a device for source coding
PCT/FI2004/000579 WO2005034090A1 (en) 2003-10-07 2004-10-04 A method and a device for source coding

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI20031462 2003-10-07
FI20031462A FI118704B (fi) 2003-10-07 2003-10-07 Menetelmä ja laite lähdekoodauksen tekemiseksi

Publications (3)

Publication Number Publication Date
FI20031462A0 FI20031462A0 (fi) 2003-10-07
FI20031462A FI20031462A (fi) 2005-04-08
FI118704B true FI118704B (fi) 2008-02-15

Family

ID=29225911

Family Applications (1)

Application Number Title Priority Date Filing Date
FI20031462A FI118704B (fi) 2003-10-07 2003-10-07 Menetelmä ja laite lähdekoodauksen tekemiseksi

Country Status (4)

Country Link
US (1) US7869993B2 (fi)
EP (1) EP1671317B1 (fi)
FI (1) FI118704B (fi)
WO (1) WO2005034090A1 (fi)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8208516B2 (en) * 2006-07-14 2012-06-26 Qualcomm Incorporated Encoder initialization and communications
EP2101319B1 (en) * 2006-12-15 2015-09-16 Panasonic Intellectual Property Corporation of America Adaptive sound source vector quantization device and method thereof
WO2008072736A1 (ja) * 2006-12-15 2008-06-19 Panasonic Corporation 適応音源ベクトル量子化装置および適応音源ベクトル量子化方法
GB0703795D0 (en) * 2007-02-27 2007-04-04 Sepura Ltd Speech encoding and decoding in communications systems
US8195001B2 (en) 2008-04-09 2012-06-05 Intel Corporation In-loop adaptive wiener filter for video coding and decoding
US9197181B2 (en) * 2008-05-12 2015-11-24 Broadcom Corporation Loudness enhancement system and method
US9336785B2 (en) * 2008-05-12 2016-05-10 Broadcom Corporation Compression for speech intelligibility enhancement
CN101359472B (zh) * 2008-09-26 2011-07-20 炬力集成电路设计有限公司 一种人声判别的方法和装置
GB2466674B (en) * 2009-01-06 2013-11-13 Skype Speech coding
GB2466670B (en) * 2009-01-06 2012-11-14 Skype Speech encoding
GB2466671B (en) * 2009-01-06 2013-03-27 Skype Speech encoding
GB2466669B (en) * 2009-01-06 2013-03-06 Skype Speech coding
GB2466675B (en) 2009-01-06 2013-03-06 Skype Speech coding
GB2466672B (en) * 2009-01-06 2013-03-13 Skype Speech coding
GB2466673B (en) 2009-01-06 2012-11-07 Skype Quantization
US8452606B2 (en) * 2009-09-29 2013-05-28 Skype Speech encoding using multiple bit rates
US9058818B2 (en) * 2009-10-22 2015-06-16 Broadcom Corporation User attribute derivation and update for network/peer assisted speech coding
EP2763137B1 (en) * 2011-09-28 2016-09-14 LG Electronics Inc. Voice signal encoding method and voice signal decoding method
TWI530169B (zh) * 2013-08-23 2016-04-11 晨星半導體股份有限公司 處理影音資料之方法以及相關模組
US9953660B2 (en) * 2014-08-19 2018-04-24 Nuance Communications, Inc. System and method for reducing tandeming effects in a communication system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58143394A (ja) * 1982-02-19 1983-08-25 株式会社日立製作所 音声区間の検出・分類方式
CA1255802A (en) * 1984-07-05 1989-06-13 Kazunori Ozawa Low bit-rate pattern encoding and decoding with a reduced number of excitation pulses
JP2586043B2 (ja) * 1987-05-14 1997-02-26 日本電気株式会社 マルチパルス符号化装置
CA1337217C (en) * 1987-08-28 1995-10-03 Daniel Kenneth Freeman Speech coding
JP2707564B2 (ja) * 1987-12-14 1998-01-28 株式会社日立製作所 音声符号化方式
CA2102080C (en) 1992-12-14 1998-07-28 Willem Bastiaan Kleijn Time shifting for generalized analysis-by-synthesis coding
US6175817B1 (en) 1995-11-20 2001-01-16 Robert Bosch Gmbh Method for vector quantizing speech signals
US6480822B2 (en) * 1998-08-24 2002-11-12 Conexant Systems, Inc. Low complexity random codebook structure
JP3594854B2 (ja) 1999-11-08 2004-12-02 三菱電機株式会社 音声符号化装置及び音声復号化装置

Also Published As

Publication number Publication date
FI20031462A (fi) 2005-04-08
EP1671317B1 (en) 2018-12-12
US7869993B2 (en) 2011-01-11
EP1671317A1 (en) 2006-06-21
US20070156395A1 (en) 2007-07-05
WO2005034090A1 (en) 2005-04-14
FI20031462A0 (fi) 2003-10-07

Similar Documents

Publication Publication Date Title
FI118704B (fi) Menetelmä ja laite lähdekoodauksen tekemiseksi
RU2257556C2 (ru) Квантование коэффициентов усиления для речевого кодера линейного прогнозирования с кодовым возбуждением
CN100369112C (zh) 可变速率语音编码
RU2470384C1 (ru) Кодирование сигнала с использованием кодирования с регуляризацией основных тонов и без регуляризации основных тонов
EP2099028B1 (en) Smoothing discontinuities between speech frames
KR101869395B1 (ko) 예측 인코딩 및 변환 인코딩 사이에서 교번하는 낮은―지연 사운드―인코딩
RU2677453C2 (ru) Способы, кодер и декодер для линейного прогнозирующего кодирования и декодирования звуковых сигналов после перехода между кадрами, имеющими различные частоты дискретизации
JP2002202799A (ja) 音声符号変換装置
KR20080093450A (ko) 오디오 인코딩/디코딩에서의 인지 가중 장치
EP1145228A1 (en) Periodic speech coding
BRPI0311314B1 (pt) Método e dispositivo para aperfeiçoamento da altura de som seletivo por freqüência de fala sintetizada
JP2006525533A (ja) 可変ビットレート広帯域通話符号化における利得量子化方法および装置
JPH10187197A (ja) 音声符号化方法及び該方法を実施する装置
EP2132733B1 (en) Non-causal postfilter
US7634402B2 (en) Apparatus for coding of variable bitrate wideband speech and audio signals, and a method thereof
JP4874464B2 (ja) 遷移音声フレームのマルチパルス補間的符号化
CN106575505A (zh) Fd/lpd转换环境中的帧丢失管理
JP2004163959A (ja) 汎用AbS音声符号化方法及びそのような方法を用いた符号化装置
KR102485835B1 (ko) Lpd/fd 전이 프레임 인코딩의 예산 결정
KR20020012509A (ko) 입력 신호의 보코딩 장치 및 방법
KR100480341B1 (ko) 광대역 저전송률 음성 신호의 부호화기
KR20170003596A (ko) 음성 정보를 갖는 개선된 프레임 손실 보정
FI119955B (fi) Menetelmä, kooderi ja laite puheenkoodaukseen synteesi-analyysi puhekoodereissa
Bhatt Implementation and Overall Performance Evaluation of CELP based GSM AMR NB coder over ABE
KR20050007853A (ko) 상호부호화기에서 개회로 피치 추정 방법 및 그 장치

Legal Events

Date Code Title Description
FG Patent granted

Ref document number: 118704

Country of ref document: FI

PC Transfer of assignment of patent

Owner name: SPYDER NAVIGATIONS L.L.C.

Free format text: SPYDER NAVIGATIONS L.L.C.