SE517156C2 - System för överföring av ljud över paketförmedlade nät - Google Patents

System för överföring av ljud över paketförmedlade nät

Info

Publication number
SE517156C2
SE517156C2 SE9904812A SE9904812A SE517156C2 SE 517156 C2 SE517156 C2 SE 517156C2 SE 9904812 A SE9904812 A SE 9904812A SE 9904812 A SE9904812 A SE 9904812A SE 517156 C2 SE517156 C2 SE 517156C2
Authority
SE
Sweden
Prior art keywords
signal
frame
time
frames
expansion
Prior art date
Application number
SE9904812A
Other languages
English (en)
Other versions
SE9904812D0 (sv
SE9904812L (sv
Inventor
Soren V Andersen
Bastiaan Willem Kleijn
Patrik Soerqvist
Original Assignee
Global Ip Sound Ab
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 Global Ip Sound Ab filed Critical Global Ip Sound Ab
Priority to SE9904812A priority Critical patent/SE517156C2/sv
Publication of SE9904812D0 publication Critical patent/SE9904812D0/sv
Priority to US09/498,398 priority patent/US7321851B2/en
Priority to AU22417/01A priority patent/AU2241701A/en
Priority to CN00818721.5A priority patent/CN1238835C/zh
Priority to EP00986124A priority patent/EP1243090B1/en
Priority to DE1243090T priority patent/DE1243090T1/de
Priority to DE60034484T priority patent/DE60034484T2/de
Priority to PCT/SE2000/002438 priority patent/WO2001048736A1/en
Priority to AT00986124T priority patent/ATE360300T1/de
Publication of SE9904812L publication Critical patent/SE9904812L/sv
Publication of SE517156C2 publication Critical patent/SE517156C2/sv
Priority to US11/822,378 priority patent/US7502733B2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems

Description

l5 20 25 30 35 51"7i“*156 2 Paketöverföring av tal har länge varit en viktig applikation för paketförmedlade nät. De flesta lös- ningarna pà problemen med fördröjningsjitter och tappade paket har föreslagits i samband med paketöverföring av tal. Traditionellt reduceras problemet med fördröjnings- jitter genom användande av en s k jitterbuffert. Jitter- bufferten lagrar inkommande paket och vidarebefordrar dessa i korrekt ordning till avkodaren och uppspelnings- enheten. Jitterbufferten är konfigurerad för att ge en användbar kompromiss mellan fördröjning av uppspelningen och antalet förlorade/fördröjda paket. I inställningen för detta finns tvà problem att lösa: (a) Hur gör vi för att kontinuerligt hålla jitterbufferten i ett bra driftstillstànd, d v s hur tillförsäkrar vi kort uppspelningsfördröjning samtidigt som mängden paket som mottages för sent för uppspelning minimeras? (b) Vad gör vi när ett datapaket går förlorat eller blir fördröjt längre tid än buffertfördröjningen? Vi benämner det första problemet (a) som timing- problemet, och benämner metoder som inriktar sig på det första problemet som metoder för timing-återhämtning. Vi benämner det andra problemet (b) tappadramproblemet och benämner metoder som inriktar sig pà det andra problemet som metoder för ersättning av tappad ram. Kända metoder för att lösa dessa två olika problem kommer att beskrivas nedan.
Medan föreliggande uppfinning inriktar sig pà timing-återhämtning och ersättning av tappade ramar i anslutning till paketförmedlad överföring av ljud, utnyttjar och förfinar samtidigt uppfinningen, eller snarare en utföringsform därav, andra metoder som ur- sprunglingen föreslagits för ett annat problem: oscillatormodellering för tidsskalning av tal. Denna metod kommer att sammanfattas nedan.
De kända metoderna som omnämns ovan använder tekniker för sammanslagning eller utjämning av signal- 10 15 20 25 30 35 a n o o av 51 1 se 3 segment för att undvika diskontinuiteter i det ljud som spelas upp. Eftersom likadana eller liknande tekniker används av föreliggande uppfinning, kommer tekniker för sammanslagning och utjämning att beskrivas nedan.
I. Metoder för timing-återhämtning En bra kompromiss för konfigureringen av jitter- bufferten är en funktion av jitterfördröjningens statistik. Eftersom detta jitter varierar med tiden konfigureras ofta jitterbufferten kontinuerligt under en överföring, t ex med utnyttjande av det första eller de första tvà datapaketen i varje talskur eller med utnyttjande av fördröjningsstatistik beräknad från en tidigare talskur.
I ett system som inte sänder datapaket under tystnad kommer jitterbufferten som en naturlig konsekvens att tömmas och en tillräcklig buffertfördröjning mäste intro- duceras i början av varje ny talskur. Införande av en paritetsbit i varje datapaket och ändringen av dess värde från en talskur till nästa, möjliggör omedelbar upptäckt av en talskurs början hos mottagaren. Starten för upp- spelningen av denna talskur kan därmed fördröjas med ett intervall som benämns retentionsfördröjningen. Detta gör det möjligt för jitterbufferten att återhämta sig från bottning till ett bra driftstillstànd.
Vid en plötslig ökning av överföringsfördröjningen finns det en risk att en bottning av jitterbufferten inträffar. Det vill säga att inga paket finns tillgängliga i jitterbufferten vid den nödvändiga tidpunkten för avkodning för att ge fortsatt uppspelning av signalramen. I denna situation kan en àterupprepad uppspelning av signalramen som är kodad i det sista datapaketet i jitterbufferten göra det möjligt för bufferten att återhämta sig till ett bra driftstillstànd.
I system med talkodning och talavkodning kan den àterupprepade uppspelningen åstadkommas genom att man hàller vissa inparametrar konstanta för talavkodaren. I 10 15 20 25 30 35 ana u u | ~ nu . , , n » u c u: 4 “517"***156 4 enklare system kommer den återupprepade uppspelningen betyda en vanlig repetition av signalramen. US, 5 699 481 beskriver en något mer avancerad metod i vilken signalen repeteras i enheter om en konstant längd, vilken längd är förinställd i systemkonstruktionen.
En plötslig minskning av överföringsfördröjningen kan orsaka ett överflöde i jitterbufferten. Förutom specifika problem hänförda till realiseringen av enheten för att denna ska ha tillräcklig kapacitet att lagra ytterligare paket, är denna situation en indikering på att systemet introducerar för långa fördröjningar på uppspelningen. I detta fall kan bufferten återhämta sig till ett bra driftstillstånd genom att uppspelningen hoppar över vissa signalramar, d v s genom att radera eller bortse från vissa signalramar. Metoden enligt US, 5 699 481 bortser från signaldelar som återigen består av enheter med konstant längd, vilken längd är förinställd i systemkonstruktionen.
I system för talöverföring som sänder exciterings- ramar vilka matas in till ett linjärt prediktionskod- ningsfilter (LPC), kan återupprepningen eller raderingen av signalramar med fördel utföras i exciteringsdomänen, t ex såsom beskrivs i US, 5 699 481. För applikationer specifika för tal är det dessutom fördelaktigt att låta regler för radering och återupprepning av signalramar att vara beroende av en klassificering av icke-tysta signal- ramar såsom varande tonande eller icke-tonande. Eftersom en återupprepning eller radering av subramar av bestämda längder kan leda till allvarliga försämringar av det tonande talet, gör realiseringen i US, 5 699 481 endast modifieringar av icke-tonande och tysta talramar.
Förutom fördröjningsjitter vid överföringen kan även skillnader mellan klockorna i de sändande och de mot- tagande enheterna orsaka bottning eller överflöde hos bufferten. Ett problem som löses av föreliggande upp- finning, men också av känd teknik. Föreliggande upp- 10 15 20 25 30 35 51 1 56 5 finning tillhandahåller emellertid en bättre kvalitet på den resulterande återuppspelade ljudsignalen.
II. Metoder för ersättning av tappad ram Metoder har utvecklats för den omständighet att datapaket tappas, vilket betyder att de antingen för- kastades av nätet eller att de nådde mottageren senare än vad som krävdes för fortsatt uppspelning av motsvarande signalram, trots förekomsten av en jitterbuffert i bra driftstillstånd. Metoderna som används för denna situa- tion kan generellt karaktäriseras som olika sätt att ersätta den tappade signalramen med en skattning av denna signalram givet av signalramar tidigare och, i vissa fall, senare i signalen. Den enklaste av dessa metoder är en direkt repetering av den tidigare signalramen.
En mer avancerad metod är en metod som skattar en linjär, långsiktig prediktor, d v s en tonhöjdsprediktor från de tidigare signalramarna, och låter en långsiktig prediktion med samman längd som en signalram utgöra skattningen av den tappade signalramen.
En tredje metod inbegriper matchning mot ett mål där de L senaste samplen för den senaste signalramen är mål- segmentet och där L är ett heltal. Metoden söker efter det segment med L sampel som tidigare i signalen bäst överensstämmer med målet och låter ramersättningen utgöras av sampel som följer efter detta segment med L- sampel (eventuellt skalat för att ge samma kvadrat- summevärde som den senaste signalramen). Eftersom antalet sampel som måste skattas är detsamma som ramlängden för att åstadkomma en fullständig ramersättning utnyttjar vissa metoder kvadratfelsmatchning mot målet endast med segment bestående av L-sampel som åtminstone befinner sig en ramlängd tillbaka i signalen, d v s segment i den näst senaste signalramen och bakåt.
Matchningen mot målet med L-sampel kan på bekostnad av ytterligare fördröjning också användas för skattningen av tappad signalram baserat på signalramar senare i 10 15 20 25 30 35 951119156 6 signalen. En förfinad skattning av den tappade signal- ramen kan sedan fås genom en utjämnande interpolering mellan skattningen baserat pà tidigare signalramar och skattningen baserat pà senare signalramar.
Exempel pà metoderna beskrivna ovan beskrivs i ”The Effect of Waveform Substitution on the Quality of PCM O. J. Wasem et al., IEEE Trans.
SP-36, sid. 432-448, 1988.
Packet Communications", Signal Proc., vol. no 3, III. Oscillatormodell för tidsskalning av tal I ”Time-Scale Modification of Speech Based on a Nonlinear Oscillator Model", G. Kubin och W.B. Kleijn, Proc. Int.
(Adelaide), livas med denna referens, Conf. Acoust. Speech Sign.
I452-I456, 1994, föreslås en oscillatormodell Process., sid. vilken härmed inför- för tidsskalning. I oscillatormodellen kopplas korta, bestämda segmentlängder av en signal till en till- stàndsvektor av sampel med bestämda positiva fördröj- ningar relativt segmentets första sampel. Oscillator- modellen definierar en kodbok med korta signalsegment. En tillstàndsvektor är kopplad till varje signalsegment i denna kodbok.
Om oscillatormodellens kodbok för en ändlig signal definierad som konkateneringen av korta segment inne- häller alla dessa korta segment och deras motsvarande startande med tillstàndsvektorer, kan oscillatormodellen, tillståndet för det första korta signalsegmentet, re- generera det ursprungliga signalsegmentet för vilken verklig signal som helst genom àterupprepad utläsning av nästkommande korta signalsegment.
För en signal med obestämd längd kan oscillator- modellen tan fel regenerera den ursprungliga signalen från tillståndet för det första korta segmentet. Detta ástadkoms genom periodisk uppdatering av kodboken till att motsvara ändliga delsignaler. Tidsskalning sker när vi utan att ändra kodbokens storlek eller innehåll för- ändrar takten för kodbokens uppdatering. En snabbare 10 15 20 25 30 35 n n u o en 5.11 6 - '. 7 uppdateringstakt resulterar i en tidsskalning som är mindre än ett och en långsammare uppdatering i en tids- skalning som är större än ett. Detta var applikationen för oscillatormodellen som föreslogs i artikeln hänvisad till ovan.
IV. Sammanslagning och utjämning För att förbättra övergångarna från en signalram till en ersättningsram och från ersättningsramen till följande signalram beskriver artikeln av O.J. Wasem et al hänvisad till ovan användandet av s k sammanslagning, d v s användande av en utjämnande interpolation mellan de två signalerna i en kort, bestämd (t ex 8 sampel) övergàngsregion.
I artikeln ”Time-Scale Modification of Speech Based on a Nonlinear Oscillator Model” som hänvisas till ovan föreslår författaren användande av linjär prediktiv utjämning i syfte att reducera liknande övergångs- regioner. I det sammanhanget uppnås linjär prediktiv utjämning enligt följande. Estimatet av signalens fort- sättning filtreras genom ett LPC-analysfilter för att resultera i en residualsignal. Analysfiltret initiali- seras med ett filtertillstånd erhållet från tillstånds- kodboken hos oscillatormodellen. En förfinad skattning av signalens fortsättning erhålls genom LPC-syntesfiltrering av residualsignalen, varvid syntesfiltret är initiali- serat med ett tillstånd bestående av de senaste samplen i signalen som föregår fortsättningen.
Inom ramen för utjämning kan det noteras att den talspecifika timing-återhämtningen som beskrivs i US, 5 699 481 och som utför repetering eller radering av signalsubramar med en bestämd längd i exciteringsdomänen för en CELP-kodare (Code Excited Linear Prediction), använder linjär prediktiv utjämning för att förbättra övergångar mellan signalsubramar. 10 15 20 25 30 35 u noen o 517 =1 ss '2 *- 8 I korthet består således metoder för timing-åter- hämtning och ersättning av tappad ram enligt kända tekniker av det följande.
Metoder uteslutande för timing-återhämtning som modifierar timingen genom återupprepning eller radering av signalramar eller subramar som är ett bestämt, för- definierat antal sampel långa. Linjär prediktiv utjämning introduceras som ett resultat av behandling i excite- ringsdomänen hos en CELP-kodare. Ingen signalpassning eller skattningsoptimering, såsom målmatchning eller korrelationsmaximering, används i dessa metoder.
Metoder uteslutande för ersättning av tappad ram som ersätter tappade signalramar med skattningar som har samma längd. Dessa metoder ändrar inte timingen. De använder signalpassning eller skattningsoptimering såsom vektormatchning eller korrelationsmaximering såväl som sammanslagning med överlappande addering.
Sammanfattning av uppfinningen Ett syfte med föreliggande uppfinning är att möjliggöra en kontinuerlig uppspelning av signalsampel hos en mottagare vid mottagande av en digitaliserad ljudsignal i form av datapaket från ett paketförmedlat nät.
Ett annat syfte är att tillhandahålla en bättre kvalitet, såsom upplevd av en lyssnare, på uppspelningen av den digitaliserade ljudsignalen mottagen som data- paket, att jämföras med kvaliteten på sådan uppspelning som åstadkommes med hittills kända tekniker.
Enligt föreliggande uppfinning uppnås nämnda syften av ett förfarande, användning av en oscillatormodell, en programlagringsenhet och en anordning, som alla utgör olika aspekter av föreliggande uppfinning och som har de särdrag som definieras i de bifogade patentkraven.
Föreliggande uppfinning baserar sig på idén att utföra tidsexpansion och/eller tidskompression av signal- ramar, i stället för att utföra upprepning eller radering 10 15 20 25 30 35 56 9 av hela signalramar eller av enheter av signalramar som har en fördefinierad längd. Detta betyder att om det finns ett behov att upprepa en del av signalen, kan längden för den upprepade signaldelen göras kortare eller längre än en signalram. På motsvarande sätt, om det finns ett behov att radera en del av signalen, kan längden för den raderade signaldelen göras kortare än en signalram.
Varaktigheten för den upprepade eller raderade signaldelen kan dessutom variera över tiden, d v s uppfinningen tillhandahåller en tidsvarierande längd för tidsexpansionerna eller tidskompressionerna. Följaktligen varierar intervallen med vilka tidsexpansioner eller tidskompressioner utförs över tiden och är relaterade till längderna för tidsexpansionerna eller tidskom- pressionerna. Tidsexpansioner och tidskompressioner av signalramarna utförs således på ett asynkront sätt, eftersom längden för expansionerna/kompressionerna och längden mellan olika expansioner/kompressioner varierar över tiden.
Enligt en utföringsform av uppfinningen är längderna för tidsexpansionerna eller tidskompressionerna resulten av signalpassning, såsom vektormatchning eller korrela- tionsmaximering, av signalen. Som ett resultat av detta kommer tidsintervallen vid vilka tidsexpansioner eller tidskompressioner utförs typiskt att förändras över tiden i beroende av de resulterande längderna för de tidsexpan- derade eller tidskomprimerade signalramarna.
Företrädesvis är en tidsexpansions eller tids- kompressions längd definierad med en upplösning om ett sampel eller en bråkdel av tiden mellan två konsekutiva sampel. Detta möjliggör i allmänhet mycket små eller inga diskontinuiteter vid gränsen mellan en signalram och dess expansion. Bråkdelsupplösningen är möjlig att uppnå genom återsampling av den ursprungliga signalen med samma samplingstakt men vid nya tidpunker, varigenom nya sampel erhålls som är en bråkdel fördröjda relativt samplen för den ursprungliga signalen, d v s varje sampel år fördröjt lO 15 20 25 30 35 7517. 156 10 med en tidslängd som är mindre än tiden mellan två konsekutiva originalsampel.
Det är föredraget att basera besluten att göra tidsexpansion och tidskompression på realtidsobserva- tioner och statistik fràn jitterbufferten. Dessa real- tidsobservationer och denna statistik, som observeras vid övervakning av jitterbufferten, innefattar t ex antalet datapaket i bufferten, den långsiktiga och kortsiktiga variationen av antal paket i bufferten, och den kort- siktiga och långsiktiga procentandelen tappade paket.
Företrädesvis, närhelst ett antal konsekutiva signalramar är tillgängliga i avkodaren, vilket antal ramar är tidsberoende, och baserat pà realtidsstatistik fràn jitterbufferten, görs försök att trycka samman två eller flera ramar. Detta kan eventuellt leda till en sammantryckt signalram som är kortare än summan av längderna för de signalramar som matades in för kom- pressionen. Skillnaden i längd kan vara ett antal sampel- bràkdelar och är beroende av signalpassning av de faktiska signalramarna. Om signalpassningen inte kan generera en sammantryckt signalram med jämna övergångar, enligt vad som definieras med en tröskelnivà i t ex en korrelationsmätning eller en vektormatchning, lämnas signalramarna oförändrade. Denna tröskelnivà är med fördel anpassad över tiden för att möjliggöra ett mindre kritiskt kriterie för kompressionen ju närmare jitterbufferten är att flöda över. Tröskelnivàn kan dessutom variera i beroende av en klassificering av signalramarna. För tal skulle signalklasser med olika tröskelnivàer för kompression typiskt vara: tonande, icke tonande, övergång, och tystnad. Denna inställning gör det möjligt för vissa signalklasser att bli sammantryckta endast när jitterbufferten är mycket nära att flöda över, medan andra signalklasser sammantrycks även vid normala driftsvillkor för jitterbufferten vilket leder till en reducering av fördröjningen för uppspelningen. 10 15 20 25 30 35 .517“JÅ'"1 56 ll Det är föredraget att anropa ramexpansion i någon av följande situationer: bottning av jitterbufferten, nära bottning av jitterbufferten, sen ankomst av datapaket till jitterbufferten, och tappat datapaket. Vid anrop av ramexpansionen behöver inget explicit beslut tas om den uppträdande situationen. Expansionen är iterativ i enlig- het med det följande. Vid varje iteration expanderas sig- nalramen med ett signalberoende, och möjligen med bråk- ibland ska- en version av senaste delsprecision, antal sampel. Dessa sampel är, lade med en förstärkningsfaktor, ramens avslutande del. Mot slutet av uppspelningen av dessa expanderade,sampel, där tiden är baserad på avkoda- rens databehandlingstid, kontrolleras jitterbufferten för att se om ett bra driftstillständ har àterupprättats, d.v.s. att jitterbufferten inte längre är i bottning el- ler att ett sent datapaket har mottagits.
Om bra driftsvillkor har àterupprättats kan uppspel- ningen fortsätta utan diskontinuitet över gränsen mellan den expanderade signalramen och nästa signalram. Detta är möjligt eftersom varje iteration av ramexpansionen gene- rerar en, ibland förstärkningsfaktorskalad, version av den avslutande delen av senast expanderade ram, varifrån en övergång till nästa signalram alltid kan göras utan diskontinuiteter med hjälp av en utjämnande förstärk- ningsskalning av denna nästa signalram.
Om det sena datapaketet inte har anlänt till jitterbufferten och om något annat paket som skall följa det sena datapaketet har anlänt till jitterbufferten, kan signalramen som motsvarar nämnda sena, och frånvarande, datapaket förklaras som tappad. Ramexpansionen som vid denna tidpunkt redan delvis har spelats upp, kommer i denna situation att utgöra en ersättning av tappad ram.
Ersättningen av en tappad signalram är i sin första del lika med en tidsexpansion av tidigare signalram eftersom en situation med tappad ram inte skiljer sig frän en situation med bottning av bufferten, en buffert nära bottning, eller en situation med sent datapaket, 10 15 20 25 30 35 oo o o o oo o o o oo o o o o o oo oo o o o o a oo o s1 7- 1 se 12 förrän efter det att ett fördefinierat antal signalramar, t.ex. en, som hör till framtida delen av signalen med hänsyn till den ram som för närvarande spelas upp, finns tillgängliga hos mottagaren. Längden för en ersättningsram är inte bestämd till längden för sig- nalramarna i överföringssystemet. I stället väljs längden för ersättningsramen pà sådant sätt att en jämn övergång kan ske till en påföljande ram. Detta val baseras på signalpassning, såsom vektormatchning eller korrelationsmaximering, och resultatet kan bli en längd för ersättningsramen som specificeras med en noggrannhet av en bràkdel av ett sampel.
Vid ersättning av en tappad ram är det inte bara den tidigare ramen som kan expanderas, utan även nästkommande ram kan expanderas innan sammanslagning sker av de tvà ramarna.
Det skall noteras att ramersättningen inte bara kan bli längre utan även kortare än längden för en signalram i paketöverföringssystemet, varvid skillnaderna kan specificeras i ett antal bràkdelar av fördröjningen mellan tvà konsekutiva sampel. Enligt uppfinningen för- litar sig därför denna ramersättningsteknik pà samarbetet med den beskrivna tekniken för timing-àterhämtning.
Beslutet huruvida behandling utförs pà grund av en situa- tion med timing-återhämtning eller en situation med tappat datapaket är också fördröjt till slutet av den faktiska situationen av dessa tvà, varvid de inledande delarna i den behandling som utförs i de tvà olika situationerna är desamma.
Den itererade vektormatchningen för ramexpansionen i enlighet med föreliggande uppfinning kan ses som en app- likation av oscillatormodellering. I detta avseende introducerar uppfinningen fyra nya principer till oscillatormodellering. Var och en av dessa principer gör en förfining av oscillatormodelleringen, och varje princip förbättrar utförandet av kombinationen timing- återhämtning och ersättning av tappad ram i enlighet med 10 15 20 25 30 35 s11i1ss 13 uppfinningen. Varje princip kan dessutom utnyttjas separat eller i kombination med de andra. Principerna är följande: 0 Oscillatorkodbokens tillstànd är inte bara resultat av fördröjningar med ett helt antal sampel utan också bràkdelsfördröjningar, d.v.s. fördröjningar med en upp- lösning pà en bråkdel av tiden mellan tvâ konsekutiva sampel. 0 Oscillatormodellens segment har variabla längder och de bildar alla ett avslutande eller inledande segment för signalen fràn vilken oscillatormodellen byggdes. 0 Vektormatchningen kan med fördel använda förstârknings- skalad matchning. 0 Periodicitet för den itererade ramexpansionen undviks genom att man använder samma segment endast en gäng för expansion av en ram.
Det uppfinningsenliga förfarandet är, enligt en annan utföringsform av uppfinningen, kompatibel med såväl sammanslagning som prediktiv utjämning för att reducera diskontinuiteter. Valet av dessa är en avvägning mellan kvalitet och beräkningskomplexitet. Både sammanslagning och prediktiv utjämning kan dessutom användas samtidigt, t.ex. genom sammanslagning i exciteringsdomänen hos vissa kodnings-/avkodningssystem.
Med avseende på sammanslagning innefattar förelig- gande uppfinning flera olika utföringsformer, vilka var och en baserar sig pà olika uppfinningsenliga principer enligt följande.
Enligt en utföringsform, när sammanslagning av två segment sker med överlappande addering, är segmentet som är sist i tiden företrädesvis tidsskiftat med ett antal, eller ett antal bràkdelar av, sampel, varigenom en korre- lation eller ett vektormatchningskriterium för den överlappande delen av de tvà segmenten optimeras.
Alternativt kan sammanslagning ske genom utbyte av kod- boken i en orscillatormodell. Båda dessa alternativ för sammanslagning, när dessa utnyttjas i en situation med l0 15 20 25 30 35 51 1 se 14 ersättning av tappad ram, förlitar sig på närvaron av en effektiv timing-återhämtning som i enlighet med vad som tidigare beskrivits är innefattad i förfarandet enligt föreliggande uppfinning.
Enligt en annan utföringsform kan sammanslagningen med fördel optimera en korrelation eller ett vektormatch- ningskriterium när det segment som år sist i tiden multipliceras med en förstärkning, vilken förstärkning är en fri parameter i optimeringen. Härifrån kan en jämn övergång tillbaka till enhetsförstärkningen erhållas över den kvarvarande delen av det avslutande segmentet eller över de följande signalramarna.
Enligt föreliggande uppfinning kan förfarandet för att manipulera signalen antingen bearbeta den avkodade signalen i tidsdomänen i form av en databehandling i efterhand applicerbar på vilket kodnings- /avkodningssystem som helst, eller bearbeta en signal i tidsdomänen som är en mellanprodukt i avkodningsprocessen av signalen och specifik för det kodnings- /avkodningsförfarande som utnyttjas. För vissa kodningssätt möjliggör denna bearbetning av en mel- lanliggande signal i tidsdomänen utjämning över signal- ramar utan ytterligare beräkningskomplexitet. Exempel på mellanliggande signaler i tidsdomänen, på vilka vår metod kan användas, är exciteringssignalen i CELP-avkodare el- ler de vàgformsinterpolationer eller sinusformkodare som utför syntesfiltrering av en exciteringssignal. Metoden kan förfinas genom t.ex. användning av talspecifik sig- nalkaraktäristika såsom karaktäristikan tonande, men den grundläggande algoritmen är utvecklad utan att något an- tagande görs om någon specifik källa för signalen, utan det kan vara vilken ljudkälla som helst med tal och audio som typexempel.
Kort beskrivning av ritningarna Ytterligare särdrag hos och fördelar med uppfinningen kommer att bli uppenbara utifrån de bifogade 10 15 20 25 30 35 s17»1s6 15 patentkraven och den följande detaljerade beskrivningen av ett antal exemplifierande utföringsformer av uppfinningen då denna läses tillsammans med de bifogade ritningarna, i vilka likadana hänvisningsbeteckningar använts för likadana särdrag, och i vilka: FIGUR 1 visar en översikt av den sändande delen i ett system för överföring av ljud över ett paketförmedlat nåt; FIGUR 2 visar en översikt av den mottagande delen i ett system för överföring av ljud över ett paketförmedlat nät i enlighet med en utföringsform av föreliggande uppfinning. Systemet använder en kombination av timing- återhämtning och ersättning av tappad ram med avseende pà de avkodade signalramarna; FIGUR 3 visar en översikt av den mottagande delen i ett system för överföring av ljud över ett paketförmedlat nät i enlighet med en annan utföringsform av uppfin- ningen. Systemet använder en kombination av timing-àter- hämtning och ersättning av tappad ram med avseende pä signalramar i tidsdomänen som är mellanprodukter vid ljudavkodningen; FIGUR 4 är ett flödesschema som visar det övergri- pande arbetssättet för processen som utför kombinerad timing-àterhämtning och ersättning av tappad ram i enlighet med utföringsformerna hänvisade till av FIGURER~ NA 2 och 3; FIGUR 5 är ett flödesschema för delprocessen som utför tidskompression av signalramar, hänvisad till i FIGUR 4, som den tidskomprimerande delprocessen; FIGUR 6 är ett flödesschema för delprocessen som utför utmatning av signalramar med normal konsekutiv sekvens, hänvisad till i FIGUR 4 som den s.k. normala delprocessen; FIGUR 7 är ett flödesschema för delprocessen som utför sammanslagning av en signalramsexpansion med en framtida, hänvisad till i icke-konsekutiv, signalram, FIGUR 4 som sammanslagningsdelprocessen; 10 15 20 25 30 35 85171156 16 FIGUR 8 är ett flödesschema för delprocessen som utför expansion av en signalram och utmatning av den erhållna expansionen, refererad till i FIGUR 4 som expansionsdelprocessen; FIGUR 9 är ett flödesschema för delprocessen som utför korrigering av förstärkningsskalningen av signalramar som följer efter en expansion eller sammanslagning, hänvisad till i FIGUR 5 och FIGUR 6 som delprocessen för korrigering av förstärkningsskalningen; FIGURERNA 10a och 10b är diagram som visar en exem- plifierande tidsexpansion av en signalram; FIGURERNA lla, llb och llc är exemplifierande dia- gram som visar hur en upplösning pà bråkdelsnivà uppnås; och FIGURERNA 12a och l2b är diagram som visar en exem- plifierande tidskompression av tvâ signalramar.
Detaljerad beskrivning av föredragna utföringsformer FIGUR 1 visar ett blockschema över den sändande del- en av ett system för överföring av ljud över ett paket- förmedlat nät. Ljudet tas upp av en mikrofon 10 som gene- rerar en elektrisk signal 15, vilken samplas och kvanti- seras till ett digitalt format av en A/D-omvandlare 20.
Sampeltakten för ljudsignalen är en takt som är lämplig för signalens bandbredd och är typiskt 8 eller 16 kHz för talsignaler och 32, 44,1 eller 48 kHz för audiosignaler.
Kvantiseringsnoggrannheten för den digitala representa- tionen är den noggrannhet som är lämplig för den önskade kvaliteten pà överföringen och är typiskt en 7- eller 8- bitars A- eller p-lagskvantisering, eller en 13- eller 16-bitars likformig kvantisering. Alternativt är A/D- omvandlaren 20 av typen översamplad, differentiell kvan- tisering. Den samplade signalen 25 matas in till en ljud- kodare 30. Ljudkodaren 30 genererar datapaket 35 med bestämd eller variabel takt och med bestämda eller vari- abla storlekar. Dessa datapaket innehåller tillräckligt med information för en avpassad ljudavkodare för att 10 15 20 25 30 35 51 7* 1 5 6 šïï* - šffš - Ilší šfïš 17 reproducera en ljudsignal som är en reproduktion med tillräckligt hög kvalitet av den ursprungliga ljudsignalen. Styrenheten 40 adderar information om sekvensering och destinationsadress till dessa paket, vilket resulterar i nya datapaket 45 som är lämpliga för överföring över ett paketförmedlat nät.
I FIGUR 2 och i FIGUR 3 visas tvà olika utförings- former av föreliggande uppfinning. Båda utföringsformerna visar en mottagande del av ett system för överföring av ljud över ett paketförmedlat nät. Skillnaden mellan de två utföringsformerna i FIGUR 2 och 3 ligger i placering- en av enhet 80 som utför kombinationen timing- àterhämtning och ersättning av tappad ram. I båda systemen mottager en styrenhet 50 datapaket från det paketförmedlade nätet, avlägsnar adresseringsinformation och placerar datapaketen på lämpligt sätt i en jitterbuffert 60. Jitterbufferten 60 är ett lagringsmedium, typiskt ett RAM-minne, med en begränsad fysisk kapacitet. Enligt uppfinningen upprätthåller det mottagande systemet antalet datapaket i jitterbufferten 60 till en nivå som är låg men inte noll, varigenom fördröjningen i systemet reduceras, genom reglering av takten med vilken datapaket 65 lämnar jitterbufferten 60.
Antalet datapaket i jitterbufferten 60 kommer typiskt att vara ett till fyra paket. Detta antal beror på parameteriseringen av uppfinningen, vilket beskrivs senare. För att erhålla bra driftsförhàllanden för det övergripande systemet är det viktigt att den fysiska kapaciteten för jitterbufferten 60 är sådan att alla in- kommande datapaket 65 kan lagras, d.v.s. så att det tids- reglerade systemet aldrig råkar ut för överflödning.
Enhet 80 för timing-återhämtningen och ersättning av tappad ram matar ut en regelbundet samplad ljudsignal 85, typiskt med samma samplingstakt som den samplade signalen 25 i FIGUR 1 med undantag för skillnader i sändarens och mottagarens klockor. 10 15 20 25 30 35 n u » v o nu 5171156 s:--' ° 'H 18 I utföringsformen visad i figur 2 avkodar en ljudav- kodare 70 datapaket 65 till signalramar 75, d.v.s. till segment av den avkodade ljudsignalen med bestämda läng- der. Dessa signalramar 75 matas in till enhet 80 för kom- binerad timing-återvinning och ersättning av tappad ram.
Ljudavkodaren 70 arbetar som en översättare genom vilken enheten 80 för timing-återvinning och ersättning av tappad ram fär åtkomst till data från jitterbufferten 60 i form av en signalram 75. D.v.s. enheten 80 för timing- återhämtning och ersättning av tappad ram utfärdar en rambegäran 76 till ljudavkodaren 70. Detta förorsakar ljudavkodaren att,utfärda en paketbegäran 67 till jitterbufferten 60. Jitterbufferten 60 extraherar ett datapaket 65 och sänder detta till ljudavkodaren 70, vil- ken avkodar detta och returnerar det som en signalram 75.
Beslutet av enheten 80 för timing-återhämtning och ersättning av tappad ram att hämta en signalram är baserat på ytterligare information 66 om bufferttillstàn- det pà ett sätt som kommer att beskrivas senare.
I utföringsformen visad i FIGUR 3 har ljudavkodaren 70 i FIGUR 2 ersatts av en partiell ljudavkodare 130. Den partiella ljudavkodaren avkodar datapaket 65 till signal- ramar 135 för en mellanproduktsignal 145 i tidsdomänen.
Dessa signalramar 135 är specifika för den typ av kodnings-/avkodningssystem som används. Typiska exempel pà de signalramar 135 som mottages av kretsen 80 för timing-återhämtning och ersättning av tappad ram är exciteringssignalen i CELP-avkodare eller de vàgformsin- terpolations- eller sinusformkodare som utför syntesfil- trering av en exciteringssignal. Kretsen 80 för timing- återhämtning och ersättning av tappad ram som arbetar på dessa signalramar 135 kan i sin struktur vara ekvivalent till den som visas i FIGUR 2 och som arbetar på sig- nalramar 75 från avkodaren 70 i FIGUR 2. Valet av fördel- aktiga delmetoder för expansion, sammanslagning och ut- jämning kan emellertid vara olika för de tvà utförings- formerna. I överensstämmelse med beskrivningen som hän- lO 15 20 25 30 35 51 1161655 " 19 visade till FIGUR 2 använder utföringsformen i FIGUR 3 rambegäranden 76, paketbegäranden 67 och bufferttill- stàndsinformation 66. Den resterande delen 150 av ljud- avkodningsprocessen består av en mappning från mellanpro- duktsignalen 145 i tidsdomänen till en regelbundet samp- lad ljudsignal 155, vilken skall jämföras med den samplade signalen 85 i utföringsformen beskriven med hänvisning till FIGUR 2. Denna kvarvarande del B 150 avslutar avkodningsprocessen med hjälp av sidoinformation 136 mottagen fràn den partiella ljudavkodaren 130, d.v.s. den inledande delen A av avkodningsprocessen.
I båda utföringsformerna beskrivna ovan, med hänvis- ning till FIGUR 2 respektive FIGUR 3, omvandlar en D/A- omvandlare 90 den regelbundet samplade ljudsignalen 85 respektive 155 till en analog elektrisk signal 95 som driver ett ljudreproducerande system 100, t.ex. en högta- lare, att producera mottaget ljud.
En utföringsform av beslutslogiken för kretsen 80 för timing-återhämtning och ersättning av tappad ram beskrivs med hänvisning till flödesscheman i FIGURERNA 4, 5, 6, 7, 8 och 9. I beskrivningen nedan kommer notationen N¿(C) att användas där N, beroende på sammanhanget, anger ett av de följande: ett antal signalramar; ett indexnum- mer för en specifik signalram; ett antal expansioner av en signalram; eller ett antal signalsampel. Tolkningen av ett specifikt N kommer att framgå fràn sammanhanget i vilket detta specifika N uppträder. C anger signalramens klasstyp för vilken antalet N är relevant. Indexet som följer nämnda N (t.ex. skrivet som NÅ, NB, NC o.s.v.) används enbart för att särskilja olika stora N fràn var- andra, eftersom nämnda N i ett sammanhang inte är detsamma som N i ett annat sammanhang, d.v.s. NA och NB är t.ex. inte relaterade till varandra.
I FIGUR 4 visas ett övergripande flödesschema över beslutslogiken i kretsen 80 för timing-återhämtning och ersättning av tappad ram från FIGUR 2 och FIGUR 3. Som visas i flödesschemat är timing-återhämtningen och 10 15 20 25 30 35 517 5 6 i .=. - -..=?II? ~ .=:I ÉIIÉ 20 ersättningen av tappad ram en iteration över en signalram 180, efter att ett för- inställt eller anpassningsbart antal ramar är tillgäng- med index I. Iterationen börjar, liga i jitterbufferten i början av en kommunikation eller talskur. Ram (I) klassificeras 200 först i en klass C bland ett antal klasser. Klassen C påverkar uppträdandet av resterande del av metoden vad beträffar signalramen.
Det mest fördelaktiga valet av möjliga klasser beror pà ljudsignalens natur. För talsignaler är klassificering i tystnad, icke-tonande och tonande signalramar fördelak- tigt. Ofta kan denna klassificering direkt extraheras från datapaketet,,d.v.s. den kodade signalramen, pà ett sätt som är känt för fackmannen. Om önskvärt, kan anta- ganden om ljudsignalen undvikas genom att låta alla sig- nalramar tillhöra en enda klass, d.v.s. genom att uteslu- ta block 200. I block 210 kommer sedan, ett tidsberoende antal konsekutiva ramar finns om en klass och tillgängliga för mottagaren, i en enkel realisering två ramar (N¿(C)=l), inträde att ske i den tidskomprimerande delprocessen 240. Tidsberoendet är baserat pà realtids- statistiken fràn jitterbufferten. I annat fall kontrolleras i block 220 huruvida åtminstone den nuvarande ramen, ram (I), finns tillgänglig för mottagaren. Om detta är fallet kommer inträde att ske i den normala delprocessen 250. Om detta inte är fallet är antingen jitterbufferten i bottningsläge eller så är paketet försenat eller tappat. I början skall då ram (I- 1) expanderas ett antal gånger för att ge ram (I) fler chanser att dyka upp. Varje sådan expandering utförs i block 270. Efter varje expandering kontrolleras det, också i block 270, i vilket fall den då spelas upp, i annat fall fattas efter NF(C) expansioner ett beslut i block 230 huruvida ram (I-1) om ram (I) har anlänt, skall slås samman eller inte med någon framtida ram, vilket innefattar möjliga expansioner av inledande delen av denna framtida ram som utöver, eller som alternativ till, expandering av ram (I-1). Resultatet av samman- 10 15 20 25 30 35 51 1 5 6 .-; 2 .š - ..;:š::ï 21 slagningsbeslutet leder till ett anrop till antingen sammanslagningsdelprocessen 260 eller expansionsdelprocessen 270. En sammanslagning betyder att ram (I) anses vara tappad och ramindex I räknas upp med ett värde som är beroende av vilken närmast framtida ram som finns tillgänglig för mottagaren, d.v.s. index I räknas upp en eller flera gånger. Från denna ram àterupprepas processen och det övergripande processflödet återgår från block 260 till block 200, klassificering utförs för den ram som har det uppräknade i vilket ännu en indexet I. Alternativt leder en expansion i block 270 till utmatning av,ett signalberoende antal sampel i slutet av den senaste ramen, varefter det övergripande processflödet återgår till block 210 där det kontrolleras om någon signalram har blivit tillgänglig under mellantiden.
FIGUR 5 visar ett flödesschema över delprocessen för tidskomprimering av signalramar, hänvisad till i FIGUR 4 som tidskomprimeringsdelprocessen 240. Denna delprocess försöker i block 290 att tidskomprimera ett antal signal- (I) till ram (I+NB(C)), tröskelnivà T(C). Om tidskomprimeringen inte uppfyller ramar, ram med en klassberoende ett tröskelnivåvillkor kommer tidskomprimeringen att resultera i en enkel konkatenering av signalramar.
Tidskomprimeringen beskrivs ytterligare senare i denna specifikation. Den resulterande signalramen genomgår sedan en utjämnande korrigering i block 300 med avseende på en förstärkning som kan ha introducerats av expansions- eller sammanslagningsoperationer på tidigare ramar. Den tidskomprimerade signalramen matas sedan ut i block 310, varefter ramindexet I uppdateras i block 320.
En utmatningsoperation innebär att beslutslogiken väntar på en tidpunkt som beror av antalet sampel som matas ut men som är mindre än den tid det tar för D/A-omvandlaren 90 att spela upp dessa sampel. Detta för att tillförsäkra kontinuerlig uppspelning med behandlingstider som är skilda från noll för ljudavkodaren 70 eller 130, 150 och 10 15 20 25 30 35 n a Q p o no 51 7 1 se 22 enheten 80 för timing-återhämtning och ersättning av tappad ram. Block 330 anger att beslutslogiken sedan fortsätter med en ny ram i FIGUR 4, d.v.s. delprocessflödet àtergàr till block 200 i det övergripande processflödet i FIGUR 4.
FIGUR 6 visar ett flödesschema för delprocessen för utmatning av signalramar med normal konsekutiv sekvens, hänvisad till i FIGUR 4 som den s.k. normala delprocessen 250. Denna delprocess 250 startar med en utjämnande korrigering, med utnyttjande av delprocess 350, av en förstärkning som kan ha introducerats av expansions- eller sammanslagningsoperationerna pà tidigare ramar.
Inträde i denna normala delprocess sker alltid dà ram (I) finns tillgänglig hos mottagaren. Denna delprocess kan med ett val av parametrar vara en enkel utmatning av ram (I). Det kan i vissa fall emellertid vara fördelaktigt att låta utmatningen bero av en andra undersökning av jitterbufferten enligt följande: I block 360 kontrolleras aktuell klass C, (I) som finns tillgängliga i jitterbufferten, och antalet NC konsekutiva ramar efter ram jitterbuffertens statistik. Därefter bestäms i block 370, i beroende av de nämnda kontrollerade parametrarna, antalet ND tidsexpansioner som skall göras av ram (I).
Sedan kontrolleras det i block 380 om detta antal Nb är större än noll. Om det inte är det, expanderas inte ram (I) utan matas direkt ut av block 410. Om så är fallet, tidsexpanderas ram (I) Nb gånger i block 390, och i block 400 registreras om slutet av ram (I) har en förstärkning som skiljer sig fràn ett. Den expanderade ramen matas därefter ut i block 410. Efter block 410 fortsätter delprocessflödet till block 420, i vilket block ramindexet räknas upp. Block 430 anger att beslutslogiken sedan fortsätter med en ny ram i figur 4, d.v.s. delprocessflödet àtergàr till block 200 i det övergripande processflödet i FIGUR 4. Fler detaljer vad gäller expansionen kommer att beskrivas senare i denna specifikation. 10 15 20 25 30 35 5177156 23 FIGUR 7 visar ett flödesschema över delprocessen som utför sammanslagning av en signalramsexpansion med en framtida, icke-konsekutiv, signalram, vilket i FIGUR 4 hänvisas till som sammanslagningsdelprocessen 260. I block 450 är den senast utmatade ramen indexerad med Il, och i block 460 är sedan nästa ram hos mottagaren indexerad med I2. I block 470 är sedan denna senaste ram (Il) tidsexpanderad med användning av samma expansionsprocess som i block 390 i FIGUR 6. Alternativt (I2) utnyttjande av expansionsprocessen 390. I block 480 slås är både ram (Il) och ram tidsexpanderade med sedan expanderad ram (Il) samman med ram (I2), varvid ram (I2) antingen är expanderad eller icke expanderad såsom angivits ovan. Fler detaljer vad gäller sammanslagningen kommer att beskrivas senare. Sammanslagningen av ram (Il) och ram (I2) ger en sammanslagen, ny ram (I2), som kan ha en förstärkning som skiljer sig från ett. Förstärkningen för denna nya ram (I2) registreras i block 490. Denna sammanslagna, nya ram (I2) matas sedan ut i block 500, varefter indexet I2 räknas upp i block 510. Block 520 anger att beslutslogiken sedan fortsätter med en ny ram i FIGUR 4, d.v.s. delprocessflödet återgår till block 200 i det övergripande processflödet i FIGUR 4.
FIGUR 8 visar ett flödesschema för delprocessen som utför expansion av en signalram och utmatning av den erhållna expansionen, hänvisad till i FIGUR 4 som expansionsdelprocessen 270. I block 540 kontrolleras det först om vi väntar på den första signalramen (I) (expansion när index I är lika med ett). Om I är lika med ett matas ett antal, NE, sampel med värden skilda från noll ut från block 570 i syfte att låta en signalram anlända. Om indexet I för ramnumret anger att åtminstone en ram har anlänt inträffar följande: ram (I-1) tidsexpanderas i block 550, varefter förstärkningen i slutet av ram (I-1), vilken förstärkning kan vara skild I block 556 introduceras ett dämpningsfönster om konsekutiva från ett, registreras i block 555. 10 15 20 25 30 35 o u n n v no 517"'1_5-6 24 expansioner av samma ram har skett. Orsaken till detta är att dämpa ned signalen efter en viss tid om inga nya signalramar kan mottagas från jitterbufferten 60. I block 560 matas sedan den expanderade ramen (I-1) ut. Block 580 anger slutligen att beslutslogiken sedan fortsätter med en ny undersökning i jitterbufferten 60, d.v.s. att delprocessflödet sedan ätergàr till block 210 i det övergripande processflödet i FIGUR 4.
FIGUR 9 visar ett flödesschema för delprocessen som utför korrigering av förstärkningsskalningen av de signalramar som följer en expansion eller sammanslagning, hänvisad till i FIGUR 5 och FIGUR 6 som delprocessen 300 för korrigering av förstärkningsskalning. I block 600 kontrolleras först om en förstärkning skild fràn värdet 1,0 har registrerats för ram (I-1). Om detta är fallet, multipliceras sampel i ram (I) med en faktor som i början av ram (I) är lika med förstärkningen för slutet av ram (I-1), 1,0. För mellanliggande sampel i ramen (I) utförs en och vilken faktor i slutet av ram (I) är lika med utjämnande interpolering mellan dessa tvà faktorvärden, d.v.s. faktorvärdena i början respektive slutet. Den beskrivna s.k. utjämnande förstärkningsskalningen av ram (I) utförs i block 610. Delprocessen fortsätter sedan till block 620. Om block 600 detekterar att ingen förstärkning skild från 1,0 har registrerats för ramen fortsätter delprocessen direkt till block 620. För långa signalramar, t.ex. 16 ms eller mer, utförs delprocessen för korrigering av förstärkningsskalningen med fördel i enlighet med beskrivningen ovan. För kortare signalramar kan det emellertid vara fördelaktigt att låta förstärkningen återgå till 1,0 under en tidsperiod som är längre än en signalram. Detta kan uppnås med en modifierad utjämningsfunktion och genom modifierande av delprocessen för korrigering av förstärkningsskalningen i FIGUR 9 till att även multiplicera sampel i slutet av ram (I) med en faktor som är skild fràn 1,0. lO l5 20 25 30 35 51 1 5 6 25 FIGUR 10a visar ett diagram över en avslutande del av en signalram som skall tidsexpanderas. De sista sam- plen, inom regionen markerad X, för den avslutande delen bildar ett tillstånd x, det s.k.
I FIGUR lOb visas den avslutande delen av ramen från sanna tillståndet.
FIGUR 10a efter att tidsexpansion har utförts. Det sanna tillståndet x har matchats mot olika tillstånd i ramen som är föremål för expansion och tillståndet y i ramen har funnits ge en acceptabel nivå på signalpassningen med sampel för det sanna tillståndet x. Segmentet associerat med tillstånd y, betecknat segment y i FIGUR 10b, har använts som ett expansionssegment vid tidsexpandering av ramen, d.v.s. expansionssegmentet för ramen är identiskt med segment y. Det valda segmentet y har dessutom valts på sådant sätt, att samplen för det sanna tillståndet x befinner sig i slutet. Som en konsekvens av detta, vid användning av segment y som expansionssegmentet, kommer inga diskontinuiteter att uppstå i övergången från expan- sionssegmentet till efterföljande ram.
FIGURERNA 11a-11c visar diagram över principen med bràkdelsupplösning som används av föreliggande uppfin- ning. FIGUR 11a visar ett sant tillstånd för vilket ett matchande tillstånd skall hittas. Signalnivåerna för sam-' pel T1-T4 för detta tillstånd kan ses mot y-axeln, d.v.s. 1, 2, 1, O. Antag nu att det bäst matchande tillståndet är det tillstånd som visas i FIGUR 11b. En jämförelse mellan det sanna tillståndets sampel T1-T4 och sampel M1- M4 för det bäst matchande tillståndet som har signalnivåerna X, 1%, 1%, % visar att signalpassningen kommer att vara långt ifrån perfekt, t.ex. om en minsta kvadratmetod används som ett mått på signalpassningen.
Genom utförande av en återsampling kan emellertid tillstànd med en bråkdelsfördröjning om % erhållas. Efter sådan återsampling kommer tillståndet i FIGUR llb att resultera i ett tillstånd som har en sampelsekvens enligt vad som visas i FIGUR 11c, d.v.s. sampel MF1-MF4 med signalnivåerna 1, 2, 1, O. Signalpassningen mellan det 10 15 20 25 30 35 517 1 56 26 sanna tillståndet i FIGUR lla och tillståndet i FIGUR llc som har en bråkdelsfördröjning om % kommer således att ge en perfekt matchning. FIGURERNA l2a och l2b visar två diagram som hänför sig till en exemplifierad tidskompression av två signalramar. I FIGUR l2a visas två ram (1) och ram (2), (1) och den inledande delen av ram (2). Kriterierna på vilka beslutet konsekutiva icke-komprimerade ramar, eller snarare den avslutande delen av ram att komprimera de två ramarna baseras, och på vilka längden för kompressionen fastställs, har beskrivits ovan. FIGUR l2b visar den resulterande komprimerade ramen. Som kan ses i FIGURERNA l2a och l2b har längden tl, bestående av den avslutande delen av ram (1) från och med sampel ”a” och den inledande delen av ram (2) fram till och med sampel ”b”, tidskomprimerats till längden t2, d.v.s. längden t2 mellan sampel ”a” och ”b” i FIGUR l2b är mindre än längden tl i FIGUR l2a.
Ytterligare detaljer om behandlingsstegen som utförs av den övergripande processen och delprocesserna beskriv- na ovan med hänvisning till FIGURERNA 4-9, såväl som detaljer som hänför sig till diagrammen visade i FIGURER- NA 10-12, kommer att beskrivas nedan.
Enligt uppfinningen bygger den kombinerade timing- återhämtningen och ersättningen av tappad ram bl.a. på tidsexpansionen av en signalram. Tidsexpansion av signalramar utförs av beslutslogiken i blocken 390, 470 och 550 i FIGURERNA 6, 7 respektive 8. Tidsexpansion behövs också som ett steg i den tidskompression som utförs i block 290 i FIGUR 5 på ett sätt som specificeras mer detaljerat senare.
De tidsexpansioner som anropas i dessa block är i huvudsak identiska. Åtminstone två metoder kan användas för tidsexpansion: expansion av en signalram med hjälp av en modifierad oscillatormodell och expansion av en sig- nalram med hjälp av tonhöjdsprediktion. Gemensamt för dessa metoder är att de resulterar i en tidsexpansion av signalramen med ett antal sampel som är beroende av sig- 10 15 20 25 30 35 n v . u u nu s1 7l::r1 ss 27 nalen. Dessa sampel är sådana att ett flertal sampel, med fördel 10, vara lika med en uppsättning sampel i slutet av den icke- i slutet av den expanderade ramen kommer att expanderade signalramen, med undantag för en känd för- stärkningsfaktor. Detta gör det möjligt för metoden en- ligt uppfinningen, med hjälp av korrigering av förstärk- ningsskalningen för nästa ram (block 300 i FIGURERNA 5 och 6), ram utan några diskontinuiteter, att tillförsäkra en fortsatt uppspelning av nästa förutsatt att denna nästa ram uppträder hos mottagaren under uppspelning av de sampel som tillhör den tidsexpanderade delen av den signalram som för,tillfället spelas upp.
I syfte att utföra tidsexpansion i samband med den kombinerade timing-återhämtningen och ersättningen av tappad ram i enlighet med en utföringsform av förelig- gande uppfinning, definieras en ny oscillatormodell anpassad för föreliggande uppfinning i enlighet med det följande: Segmenten lagrade i oscillatorkodboken är alla av- slutande segment för den signalram som skall expanderas.
Antalet tillstànd och segment i kodboken beror pà antalet bràkdelsfördröjningsvärden som används, t.ex. O, Wh1b,%â sampel. En àtersampling genomförs för varje fördröj- ningsvärde. De första (Nk-NH) tillstànden och dess motsva- rande segment hänför sig till den första bràkdelsfördröj- ningen, de nästa (Ng-NH) tillstànden och dess motsvarande segment hänför sig till nästa bràkdelsfördröjning etc.
Den första kodboksingàngen för en bràkdelsfördröjning innehåller de NG senaste samplen för det motsvarande àtersamplade signalsegmentet, den nzte kodboksingàngen innehåller de N¿+(n-1) senaste samplen för det motsvaran- de àtersamplade signalsegmentet, och den sista kodboksin- gàngen lagrar de NH senaste samplen för det motsvarande àtersamplade signalsegmentet. För talsignaler är Ngnæd fördel 20 sampel och NH med fördel 120 sampel. På motsva- rande sätt används metoden när en inledande del av en 10 l5 20 25 30 35 s11ï1ss 28 signalram expanderas, varvid segmenten lagrade i kodboken är inledande segment för signalramen.
Varje segment i kodboken är sammankopplat med ett tillstånd med en bestämd längd bestående av NI sampel, varvid varje tillstànd motsvarar en ingång hos kodboken.
Tillståndet sammankopplat med det första segmentet består av de NG+l till N¿+NI senaste samplen för signalramen, och allmänt består tillståndet sammankopplat med nzte segmen- tet av de Kß+(n-l)+1 till N¿+(n-l)+NI senaste samplen för den motsvarande återsamplade signalramen. För talsignaler är NI med fördel 10.
I en enkel realisering kan återsamplingen vara begränsad till noll. Med användning av återsampling kan emellertid segment med bràkdelsfördröjningar erhållas.
För att undvika diskontinuitet vid fortsättningen över till nästa ram återsamplas framtida ramar på bràkdels- basis med samma bràkdelsupplösning. Vid första anblicken kan det ses som en överflödig beräkningsbörda att åter- sampla ett stort antal framtida ramar som ett resultat av en enda expansionsprocess. Enligt vad som kommer att för- klaras senare kan emellertid bràkdelsfördröjningar också användas i processerna för tidskomprimering och samman- slagning. Beräkningslasten för bibehållande av den bråk-' delsfördröjda samplingen kan då motiveras av den förbätt- rade prestandan för alla dessa tre operationer, och en bråkdel på t.ex. %, 1/3 eller % kan i vissa applikationer resultera i förbättrade prestanda som rättfärdigar den ökade beräkningskomplexiteten.
Ett alternativ till att låta oscillatorn alltid väl- ja det segment vars tillstàndsvektor bäst matchar de NI senaste samplen för signalramen, med användande av ett kvadratfelsmått, är att använda en fri förstärkningsfak- tor på tillstånden i kodboken innan matchning av de NI senaste samplen för signalramen mot tillstànden. Om en matchning uppnås efter en sådan operation läses segmentet för det matchande tillståndet ut från oscillatorkodboken och multipliceras med denna förstärkning. Som tidigare lO 15 20 25 30 35 o u q n n oo 1@'17~fcf@t 1 se 29 beskrivits med hänvisning till delprocesserna ovan regis- treras förstärkningsfaktorn för den tidsexpanderade delen av signalramen. De två alternativa metoderna för till- stándsmatchning beskrivna ovan kan fördelaktigt kombine- ras, varvid matchningsmetoden som använder den fria för- stärkningsfaktorn väljs närhelst detta leder till en för- stärkningsfaktor som är mindre än 1,0 och matchningsmeto- den utan användande av en fri förstärkningsfaktor, d.v.s. med en bestämd förstärkning av 1,0, väljs i övrigt.
Matchningen av kodbokens tillståndsvektorer mot de N¿ senaste samplen för signalramen leder i allmänhet inte till en perfekt matchning. En diskontinuitet för signalen kommer därför med största sannolikhet att introduceras mellan den ursprungliga signalramen och dess fortsätt- ning, d.v.s. dess tidsexpanderade del. Såsom beskrivits ovan med hänvisning till metoder enligt känd teknik, är det tidigare känt att använda linjär, prediktiv utjämning för att reducera denna diskontinuitet. Enligt föreliggan- de uppfinning finns emellertid ett beräkningsmässigt enk- lare alternativ till linjär, prediktiv utjämning i enlig- Den valda till- stàndsvektorn är, eventuellt med en optimerad förstärk- het med vad som nu kommer att förklaras. ningsfaktor, en nära approximation av de NI senaste sam- plen för signalramen från vilka expansionen skall följa utan någon diskontinuitet. Genom utförande av en utjäm- nande övergång med utnyttjande av överlappande addering mellan de NI senaste samplen för signalen och den mat- chande tillstàndsvektorn åstadkoms en övergång till ex- pansionssegmentet utan diskontinuitet. Denna beräknings- mässigt enklare metod tillhandahåller i synnerhet i utfö- ringsformen i FIGUR 3 ett fördelaktigt alternativ till linjär, prediktiv utjämning.
Företrädesvis är oscillatorns segmentval begränsat på sådant sätt att oscillatorn vid iteration är förbjuden att välja samma segment för utläsning två gånger i en följd. Orsaken till denna begränsning är att förhindra degradering på grund av introducerad periodicitet hos den 10 15 20 25 30 35 o u . n o no 5170156 30 expanderade signalen. Alternativt kan tidsexpansionen utföras med klassisk tonhöjdsprediktion, eller tonhöjds- prediktion med en bràkdelsupplösning pà tonhöjdsfördröj- ningen, utan att fràngá uppfinningstanken för förelig- gande uppfinning.
Enligt uppfinningen avslutas ersättningen av tappad ram med sammanslagning av ett expansionssegment med en framtida signalram, vilket utförs i block 480 i FIGUR 7. Åtminstone tvà metoder för sammanslagning kan användas: sammanslagning genom överlappande addering med maximal korrelationspassning, eller sammanslagning med utnyttjande av oscillatormodellering. Gemensamt för dessa metoder är att de genomför en tidsjustering av den fram- tida signalramen med avseende pà expansionssegmentet för att minimera diskontinuiteten i övergången mellan de tvà.
Denna tidsjustering kan ha en upplösning som är en bràk- del av ett sampel.
I föreliggande uppfinning består en sammanslagning med överlappande addering av tvà segment över m sampel av följande: 0 multiplicering av de avslutande m samplen för det första segmentet med ett utjämningsfönster som börjar med värdet 1,0 och slutar med värdet 0,0; 0 multiplicering av de m inledande samplen för det andra segmentet med ett utjämningsfönster som definieras som ett minus det första fönstret; och slutligen 0 överlappning av de fönsterbehandlade delarna av de två segmenten och addering av dessa.
Med fördel kan de avslutande och inledande delarna av ett Hanning-fönster om 2m sampel användas i detta syfte.
Sammanslagningen med utnyttjande av överlappande addering använder passning med maximal korrelation. Denna passning med maximal korrelation varierar överlappningen m och gör det möjligt att multiplicera andra segmentet med en fri förstärkningsparameter, varigenom medelkva- dratfelet för avståndet mellan sampel för de tvà över- 10 15 20 25 30 35 .51ii7“”*1 56 i 3l lappande segmenten minimeras före fönsterbearbetningen.
Genom användande av samma àtersamplingsschema som under expansionsproceduren kan passningen med maximal korrela- tion optimeras även för överlappningar med noggrannhet pà bråkdelsnivà.
Användandet av en fri förstärkningsfaktor i den op- timerade passningen är frivilligt. Om en fri förstärk- ningsfaktor används, registreras denna i block 490 för att möjliggöra att följande ram blir föremål för en pas- sande korrigering av förstärkningsskalningen.
Alternativt, i en utföringsform av föreliggande upp- finning, utförs sammanslagning med användande av en oscillatormodell. Denna sammanslagning utförs på ett sätt som är ekvivalent med en tidsskalning som är mindre än ett såsom beskrivits i ovannämnda artikel av G. Kubin och W.B. Kleijn. Vid användande av en oscillatormodell för sammanslagning ersätter oscillatormodellen kodboken som motsvarar den första signalramen med kodboken som mot- svarar den andra signalramen. Resultatet blir en övergång med tillstándspassning mellan segmenten.
Oscillatormodellen kan också fördelaktigt arbeta med bràkdelar av tillstånd för tonhöjd och förstärkningsskalning och av signalsegment. Ett möjligt alternativ är att den överlappande adderingen med passning med maximal korrelation ersätts med oscillatormodellen för utförande av sammanslagnings- proceduren, vilket inte fràngàr uppfinningstanken för föreliggande uppfinning.
Enligt utföringsformen utförs tidskompressionen för en sekvens av signalramar iterativt. Varje iteration sam- mantrycker tvà signalramar till en signalram med en längd mellan längden för den kortaste av de tvà signalramarna och summan av längderna för de två signalramarna, varvid den resulterande längden beror pà framgången för kompres- sionen. Kompressionen av två signalramar uppnås med samma behandlingssteg som används vid utförande av den beskriv- na sammanslagningsproceduren, med undantag för att den 10 15 20 25 30 35 «s17v1ss 32 sammantryckta signalramen genomgàr en sammanslagning en- dast om denna sammanslagning tillmötesgàr en tröskelnivà, vilken tröskelnivà företrädesvis beror av I annat fall, tröskelnivà inte kan tillmötesgäs, resulterar försöket klassificeringen av signalramarna. om denna att trycka samman tvà signalramar i en kombinerad signalram som helt enkelt är konkateneringen av de tvà signalramarna. Definitionen på tröskelnivån beror pà vilken metod för sammanslagning som används. Om oscillatormodellering används baserar sig tröskelnivån pà ett maximum av det minimerade felet i tillstàndspassningen. Om sammanslagningen àstadkoms med överlappande addering med passning med maximal korrela- tion baserar sig tröskelnivàn pà ett minimum av den maxi- merade korrelationskoefficienten_ Passningen med maximal korrelation utförs i enlighet med vad som beskrivits ovan. Med fördel kan en tröskel- nivà för den maximala korrelationskoefficienten på mellan 0,7 och 0,9 användas för tonande talsegment. För uppfatt- ningen av talsignalen är det fördelaktigt att undvika tidskompression av icke-tonande talsegment. I den be- skrivna strukturen kan detta åstadkommas med en tröskel- nivà för den maximerade korrelationskoefficienten som är över ett för dessa signalramar. Signalramar som innehål- ler tystnad kan ges en tröskelnivà som är noll. Vid tids- komprimering av tvà signalramar med olika klassberoende tröskelnivàer är tröskelnivån för sammantryckningen all- tid den större av de tvà tröskelnivàerna.
Företrädesvis kontrolleras denna tröskelnivà i syfte att undvika maximering om det är givet på förhand att tröskelnivån inte kan tillmötesgäs, men också när det är givet pà förhand att tröskelnivån kan tillmötesgäs även med fullständig överlappning av segmenten.
Företrädesvis minskas tröskelnivån för sammantryckning när jitterbufferten närmar sig överflödning. Detta leder till en snabbare utläsning från jitterbufferten. io 51571471 56 " 33 Såsom inses av fackmannen realiseras det uppfin- ningsenliga förfarandet med användning av en mikroproces- sor, t.ex. en digital signalprocessor, vilken mikropro- cessor arbetar mot ett minne, t.ex. ett RAM-minne. Sig- nalsegmenten som används av det uppfinningsenliga förfa- randet lagras i och inhämtas fràn detta minne. Även om uppfinningen har beskrivits med hänvisning till specifika exemplifierande utföringsformer, kommer många olika alternativ, modifieringar och liknande att vara uppenbara för fackmannen. De beskrivna utföringsfor- merna är därför inte avsedda att begränsa omfånget för uppfinningen såsom den definieras av de bifogade patent- kraven.

Claims (23)

10 15 20 25 30 35 v51? 156- 34 PATENTKRAV
1. Förfarande för manipulering av en digitaliserad ljudsignal som överförs över ett paketförmedlat nät i form av datapaket, vilket förfarande utnyttjas i ett kom- munikationssystem på en mottagarsida anordnad att avkoda mottagna ljuddatapaket till ljudsignalramar för uppspel- ning, varvid förfarandet innefattar manipulering av läng- derna för mottagna signalramar genom att utföra tidsexpansion eller tidskompression av en eller flera signalramar med tidsvarierande intervall och med tidsvarierande längder pà expansionen eller kompressionen, vilka intervall och vilka längder bestäms på sådant sätt, att ett kontinuerligt flöde av signalsampel för uppspelning upprätthålls.
2. Förfarande enligt krav 1, varvid varje individuell längd av nämnda tidsvarierande längder dessutom är beroende av kravet att uppfylla ett signalpassningskriterium med avseende på signalkaraktäristika för den del av den digitaliserade ljudsignalen som skall manipuleras.
3. Förfarande enligt krav l eller 2, varvid upplösningen för längdmanipuleringen är en bråkdel av tiden mellan tvâ sampel för nämnda digitaliserade ljudsignal, varigenom en förbättrad signalpassningskvalitet möjliggörs vid utförande av nämnda tidsexpansion eller nämnda tidskompression.
4. Förfarande enligt något av kraven 1-3, varvid tidsexpansionen eller tidskompressionen initieras när övervakning av en jitterbuffert, vilken jitterbuffert lagrar mottagna datapaket som skall avkodas till signalramar, anger att timingen för jitterbufferten måste àterhämtas.
5. Förfarande enligt krav 4, varvid tidsexpansionen utförs för en avslutande del av en signalram som för närvarande spelas upp om övervakningen av jitterbufferten anger att buffertens tillstànd är nära bottning eller i faktisk bottning, såsom sen ankomst av datapaket eller 10 15 20 25 30 35 51 Ã1 5 6 35 att ett eller flera datapaket har tappats, varvid, dessutom och om lämpligt, upprepade tidsexpansioner utförs för att återställa jitterbufferten till dess normala arbetstillstånd.
6. Förfarande enligt krav 5, varvid nämnda tidsexpansionen av nämnda avslutande del kommer att utgöra en ersättningsram om övervakningen av jitterbufferten anger att nästa signalram, vilken under normala förhållanden skulle följa på den signalram som för närvarande spelas upp, inte är tillgänglig eller inte anses ha blivit mottagen i tid, varigenom ersättning av tappad ram tillhandahålls för nämnda nästa signalram, varefter den tidsexpanderade signalram som för närvarande spelas upp slås samman med en mottagen framtida signalram, varvid tidsexpansionens längd och således längden för ersättningsramen väljs pà sådant sätt att en jämn övergång kan göras till nämnda framtida signalram.
7. Förfarande enligt krav 6, varvid nämnda tidsexpansion innefattar tidsexpandering av en inledande del av nämnda framtida signalram, utöver tidsexpanderingen av nämnda signalram som för närvarande spelas upp, före sammanslagning av de två ramarna, varigenom ersättningen av tappad ram förbättras.
8. Förfarande enligt krav 4, varvid tidskompressionen utlöses av realtidsstatistik från jitterbufferten och försöker utföras när t.ex. två konsekutiva datapaket är tillgängliga i jitterbufferten, varvid ett mått på en jämn övergång mellan två konsekutiva ramar, vid sammanslagning av de två ramarna, styr längden för en resulterande, sammantryckt signalram.
9. Förfarande enligt krav 8, varvid nämnda sammantryckta signalram, resulterande från nämnda sammanslagning av två ramar, slås samman med ytterligare en konsekutiv signalram på samma sätt som nämnda sammanslagning av nämnda två ramar.
10. Förfarande enligt krav 8 eller 9, varvid nämnda sammanslagning av två signalramar innefattar 10 15 20 25 30 35 : o o n ,, s11*1ss 36 sammanslagning av två signalsegment, ett avslutande segment för en ram med ett inledande segment för en annan ram, med utnyttjande av överlappande addering, varvid en tidsskiftning av ramen med det inledande segmentet används för att optimera matchningen av den överlappande delen för de tvà segmenten.
11. Förfarande enligt krav 10, varvid nämnda tidsskiftning av ramen med det inledande segmentet har en upplösning på en bråkdel av tiden mellan två sampel.
12. Förfarande enligt krav 11, varvid nämnda inledande segment multipliceras med en lämplig förstärkning för att ytterligare optimera matchningen med nämnda avslutande segment för den överlappande delen, varefter en jämn övergång tillbaka till enhetsförstärkningen utförs för att undvika diskontinuiteter i ljudsignalen.
13. Förfarande enligt något av kraven 1-12, varvid en oscillatormodell används för extrahering av signalsegment som används vid manipulering av längderna för nämnda mottagna signalramar, vilken oscillatormodell innefattar en kodbok i vilken vektorer av sampel bildar i kodboken, kodbok lagrar ett motsvararande signalsegmentet för varje tillstånd.
14. Förfarande enligt krav 13, varvid nämnda olika tillstånd, eller ingångar, vilken tidsexpansion av en signalram utförs genom matchning av ett sant tillstànd, d.v.s. den avslutande delen av signalramen ifråga, mot nämnda tillstånd i nämnda kodbok, och utläsning av ett signalsegment från nämnda kodbok vilket motsvarar tillståndet som matchats mot nämnda sanna tillstànd.
15. Förfarande enligt krav 13 eller 14, varvid nämnda signalsegment i nämnda kodbok har variabel längd, och varvid varje signalsegment bildar t.ex. en avslutande del av en signalram, varigenom en kontinuerlig övergång från den tidsexpanderade signalramen till en konsekutiv signalram möjliggörs. 10 l5 20 25 30 35 .S=1“7“~=~; 1 56 37
16. Förfarande enligt något av kraven 13-15, varvid tidsfördröjningar mellan nämnda tillstånd i nämnda kodbok utgörs av inkrementella fördröjningar med en upplösning om en bråkdel av tiden mellan två sampel.
17. Förfarande enligt något av kraven 14-16, varvid tillstànden och de motsvarande segmenten i nämnda kodbok är skalade för att förbättra matchningen med nämnda sanna tillstànd.
18. l8. Förfarande enligt något av kraven 14-17, varvid nämnda sanna tillstånd slås samman med det matchande tillståndet i nämnda kodbok.
19. Förfarande enligt något av kraven 14-18, varvid nämnda tidsexpansion dessutom innefattar utförande av motsvarande operationer med avseende pà en inledande del av en signalram som följer på den tidsexpanderade signalramen.
20. Förfarande enligt något av kraven 1-19, varvid nämnda signalram, vars längd skall manipuleras, antingen när en ljudsignalram resulterande från en fullständig avkodningsoperation av ett datapaket eller en signalram i form av en mellanprodukt i tidsdomänen resulterande från en partiell avkodningsoperation av ett datapaket.
21. Användning av en oscillatormodell, vilken oscillatormodell innefattar en kodbok i vilken vektorer med sampel av en mottagen digitaliserad ljudsignal bildar i kodboken, vilken kodbok lagrar ett motsvarande signalsegment för varje olika tillstànd, eller ingångar, tillstånd, för realisering av förfarandet enligt något av patentkraven 1-20.
22. Programlagringsenhet innehållande en sekvens av instruktioner för en mikroprocessor, såsom en generell mikroprocessor, för utförande av förfarandet enligt något av patentkraven 1-20.
23. Anordning för mottagning av en digitaliserad ljudsignal från ett paketförmedlat nät, vilken anordning innefattar: 5 1517-156 38 minnesorgan för lagring av vektorer med sampel fràn en mottagen digitaliserad ljudsignal tillsammans med motsvarande signalsegment; och processororgan för utförande av förfarandet enligt nàgot av patentkraven 1-20.
SE9904812A 1999-12-28 1999-12-28 System för överföring av ljud över paketförmedlade nät SE517156C2 (sv)

Priority Applications (10)

Application Number Priority Date Filing Date Title
SE9904812A SE517156C2 (sv) 1999-12-28 1999-12-28 System för överföring av ljud över paketförmedlade nät
US09/498,398 US7321851B2 (en) 1999-12-28 2000-02-04 Method and arrangement in a communication system
AT00986124T ATE360300T1 (de) 1999-12-28 2000-12-06 Verfahren und vorrichtung in einem kommunikationssystem
EP00986124A EP1243090B1 (en) 1999-12-28 2000-12-06 Method and arrangement in a communication system
CN00818721.5A CN1238835C (zh) 1999-12-28 2000-12-06 通信系统中的方法和装置
AU22417/01A AU2241701A (en) 1999-12-28 2000-12-06 Method and arrangement in a communication system
DE1243090T DE1243090T1 (de) 1999-12-28 2000-12-06 Verfahren und vorrichtung in einem kommunikationssystem
DE60034484T DE60034484T2 (de) 1999-12-28 2000-12-06 Verfahren und vorrichtung in einem kommunikationssystem
PCT/SE2000/002438 WO2001048736A1 (en) 1999-12-28 2000-12-06 Method and arrangement in a communication system
US11/822,378 US7502733B2 (en) 1999-12-28 2007-07-05 Method and arrangement in a communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE9904812A SE517156C2 (sv) 1999-12-28 1999-12-28 System för överföring av ljud över paketförmedlade nät

Publications (3)

Publication Number Publication Date
SE9904812D0 SE9904812D0 (sv) 1999-12-28
SE9904812L SE9904812L (sv) 2001-08-28
SE517156C2 true SE517156C2 (sv) 2002-04-23

Family

ID=20418334

Family Applications (1)

Application Number Title Priority Date Filing Date
SE9904812A SE517156C2 (sv) 1999-12-28 1999-12-28 System för överföring av ljud över paketförmedlade nät

Country Status (8)

Country Link
US (2) US7321851B2 (sv)
EP (1) EP1243090B1 (sv)
CN (1) CN1238835C (sv)
AT (1) ATE360300T1 (sv)
AU (1) AU2241701A (sv)
DE (2) DE60034484T2 (sv)
SE (1) SE517156C2 (sv)
WO (1) WO2001048736A1 (sv)

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8266657B2 (en) 2001-03-15 2012-09-11 Sling Media Inc. Method for effectively implementing a multi-room television system
US6263503B1 (en) 1999-05-26 2001-07-17 Neal Margulis Method for effectively implementing a wireless television system
SE517156C2 (sv) * 1999-12-28 2002-04-23 Global Ip Sound Ab System för överföring av ljud över paketförmedlade nät
CA2299943A1 (en) * 2000-03-03 2001-09-03 Shane M. Rogers Apparatus for adjusting a local sampling rate based on the rate of reception of packets
SE0001727L (sv) * 2000-05-10 2001-11-11 Global Ip Sound Ab Överföring över paketförmedlade nät
JP3974318B2 (ja) * 2000-09-08 2007-09-12 インターナショナル・ビジネス・マシーンズ・コーポレーション 受信再生装置及びその方法
US7697447B2 (en) * 2001-08-10 2010-04-13 Motorola Inc. Control of jitter buffer size and depth
US7319703B2 (en) 2001-09-04 2008-01-15 Nokia Corporation Method and apparatus for reducing synchronization delay in packet-based voice terminals by resynchronizing during talk spurts
US7110416B2 (en) 2001-09-04 2006-09-19 Nokia Corporation Method and apparatus for reducing synchronization delay in packet-based voice terminals
US20030115320A1 (en) * 2001-12-19 2003-06-19 Yarroll Lamonte H.P. Method for tuning voice playback ratio to optimize call quality
US7110422B1 (en) 2002-01-29 2006-09-19 At&T Corporation Method and apparatus for managing voice call quality over packet networks
US7505912B2 (en) * 2002-09-30 2009-03-17 Sanyo Electric Co., Ltd. Network telephone set and audio decoding device
US20050049853A1 (en) * 2003-09-01 2005-03-03 Mi-Suk Lee Frame loss concealment method and device for VoIP system
JP4251955B2 (ja) * 2003-10-15 2009-04-08 パナソニック株式会社 オーディオデータのネットワーク装置、アンプ装置
JP4289129B2 (ja) * 2003-11-18 2009-07-01 ヤマハ株式会社 オーディオ配信システム
US20050209847A1 (en) * 2004-03-18 2005-09-22 Singhal Manoj K System and method for time domain audio speed up, while maintaining pitch
US7424026B2 (en) * 2004-04-28 2008-09-09 Nokia Corporation Method and apparatus providing continuous adaptive control of voice packet buffer at receiver terminal
US9998802B2 (en) 2004-06-07 2018-06-12 Sling Media LLC Systems and methods for creating variable length clips from a media stream
US8099755B2 (en) 2004-06-07 2012-01-17 Sling Media Pvt. Ltd. Systems and methods for controlling the encoding of a media stream
US7917932B2 (en) 2005-06-07 2011-03-29 Sling Media, Inc. Personal video recorder functionality for placeshifting systems
US7975062B2 (en) 2004-06-07 2011-07-05 Sling Media, Inc. Capturing and sharing media content
US7769756B2 (en) 2004-06-07 2010-08-03 Sling Media, Inc. Selection and presentation of context-relevant supplemental content and advertising
EP1769399B1 (en) 2004-06-07 2020-03-18 Sling Media L.L.C. Personal media broadcasting system
US8346605B2 (en) 2004-06-07 2013-01-01 Sling Media, Inc. Management of shared media content
SG124307A1 (en) * 2005-01-20 2006-08-30 St Microelectronics Asia Method and system for lost packet concealment in high quality audio streaming applications
EP1846921B1 (en) * 2005-01-31 2017-10-04 Skype Method for concatenating frames in communication system
JP4406838B2 (ja) * 2005-02-15 2010-02-03 ソニー株式会社 オーディオ入出力制御装置及びオーディオ入出力制御方法
US7702952B2 (en) 2005-06-30 2010-04-20 Sling Media, Inc. Firmware update for consumer electronic device
EP1946293A1 (en) * 2005-11-07 2008-07-23 Telefonaktiebolaget L M Ericsson (PUBL) Method and arrangement in a mobile telecommunication network
WO2007070007A1 (en) * 2005-12-14 2007-06-21 Matsushita Electric Industrial Co., Ltd. A method and system for extracting audio features from an encoded bitstream for audio classification
EP1841072B1 (de) * 2006-03-30 2016-06-01 Unify GmbH & Co. KG Verfahren und Einrichtung zum Dekodieren von schichtkodierten Daten
US20090287479A1 (en) * 2006-06-29 2009-11-19 Nxp B.V. Sound frame length adaptation
US8731913B2 (en) * 2006-08-03 2014-05-20 Broadcom Corporation Scaled window overlap add for mixed signals
US8856371B2 (en) 2006-08-07 2014-10-07 Oovoo Llc Video conferencing over IP networks
US9635315B2 (en) 2006-08-07 2017-04-25 Oovoo Llc Video conferencing over IP networks
EP1918909B1 (en) * 2006-11-03 2010-07-07 Psytechnics Ltd Sampling error compensation
US20080114478A1 (en) * 2006-11-09 2008-05-15 David Wu Method and System for Multi-Channel PCM Audio Grouping in Hardware
US8725512B2 (en) * 2007-03-13 2014-05-13 Nuance Communications, Inc. Method and system having hypothesis type variable thresholds
US20080249767A1 (en) * 2007-04-05 2008-10-09 Ali Erdem Ertan Method and system for reducing frame erasure related error propagation in predictive speech parameter coding
US8078456B2 (en) * 2007-06-06 2011-12-13 Broadcom Corporation Audio time scale modification algorithm for dynamic playback speed control
CN101321033B (zh) * 2007-06-10 2011-08-10 华为技术有限公司 帧补偿方法及系统
US8477793B2 (en) 2007-09-26 2013-07-02 Sling Media, Inc. Media streaming device with gateway functionality
US8350971B2 (en) 2007-10-23 2013-01-08 Sling Media, Inc. Systems and methods for controlling media devices
US8732236B2 (en) * 2008-12-05 2014-05-20 Social Communications Company Managing network communications between network nodes and stream transport protocol
US8060609B2 (en) 2008-01-04 2011-11-15 Sling Media Inc. Systems and methods for determining attributes of media items accessed via a personal media broadcaster
US8438016B2 (en) * 2008-04-10 2013-05-07 City University Of Hong Kong Silence-based adaptive real-time voice and video transmission methods and system
WO2009152124A1 (en) * 2008-06-10 2009-12-17 Dolby Laboratories Licensing Corporation Concealing audio artifacts
US8667279B2 (en) 2008-07-01 2014-03-04 Sling Media, Inc. Systems and methods for securely place shifting media content
US8381310B2 (en) 2009-08-13 2013-02-19 Sling Media Pvt. Ltd. Systems, methods, and program applications for selectively restricting the placeshifting of copy protected digital media content
US8667163B2 (en) 2008-09-08 2014-03-04 Sling Media Inc. Systems and methods for projecting images from a computer system
US9191610B2 (en) 2008-11-26 2015-11-17 Sling Media Pvt Ltd. Systems and methods for creating logical media streams for media storage and playback
KR20130010910A (ko) * 2008-12-05 2013-01-29 소우셜 커뮤니케이션즈 컴퍼니 실시간 커널
US9069851B2 (en) 2009-01-15 2015-06-30 Social Communications Company Client application integrating web browsing and network data stream processing for realtime communications
US8438602B2 (en) 2009-01-26 2013-05-07 Sling Media Inc. Systems and methods for linking media content
US8171148B2 (en) 2009-04-17 2012-05-01 Sling Media, Inc. Systems and methods for establishing connections between devices communicating over a network
US8406431B2 (en) 2009-07-23 2013-03-26 Sling Media Pvt. Ltd. Adaptive gain control for digital audio samples in a media stream
US9479737B2 (en) 2009-08-06 2016-10-25 Echostar Technologies L.L.C. Systems and methods for event programming via a remote media player
US8532472B2 (en) 2009-08-10 2013-09-10 Sling Media Pvt Ltd Methods and apparatus for fast seeking within a media stream buffer
US8966101B2 (en) 2009-08-10 2015-02-24 Sling Media Pvt Ltd Systems and methods for updating firmware over a network
US8799408B2 (en) 2009-08-10 2014-08-05 Sling Media Pvt Ltd Localization systems and methods
US9525838B2 (en) 2009-08-10 2016-12-20 Sling Media Pvt. Ltd. Systems and methods for virtual remote control of streamed media
US9565479B2 (en) 2009-08-10 2017-02-07 Sling Media Pvt Ltd. Methods and apparatus for seeking within a media stream using scene detection
US9160974B2 (en) 2009-08-26 2015-10-13 Sling Media, Inc. Systems and methods for transcoding and place shifting media content
US8314893B2 (en) 2009-08-28 2012-11-20 Sling Media Pvt. Ltd. Remote control and method for automatically adjusting the volume output of an audio device
US9015225B2 (en) 2009-11-16 2015-04-21 Echostar Technologies L.L.C. Systems and methods for delivering messages over a network
US8799485B2 (en) 2009-12-18 2014-08-05 Sling Media, Inc. Methods and apparatus for establishing network connections using an inter-mediating device
US8626879B2 (en) * 2009-12-22 2014-01-07 Sling Media, Inc. Systems and methods for establishing network connections using local mediation services
US9178923B2 (en) 2009-12-23 2015-11-03 Echostar Technologies L.L.C. Systems and methods for remotely controlling a media server via a network
US9275054B2 (en) 2009-12-28 2016-03-01 Sling Media, Inc. Systems and methods for searching media content
US8856349B2 (en) 2010-02-05 2014-10-07 Sling Media Inc. Connection priority services for data communication between two devices
EP2538632B1 (en) 2010-07-14 2014-04-02 Google Inc. Method and receiver for reliable detection of the status of an RTP packet stream
US8744367B2 (en) 2010-08-31 2014-06-03 At&T Intellectual Property I, L.P. Tail optimization protocol for cellular radio resource allocation
US8620660B2 (en) * 2010-10-29 2013-12-31 The United States Of America, As Represented By The Secretary Of The Navy Very low bit rate signal coder and decoder
US9220066B2 (en) * 2011-06-20 2015-12-22 At&T Intellectual Property I, L.P. Bundling data transfers and employing tail optimization protocol to manage cellular radio resource utilization
CN103888381A (zh) 2012-12-20 2014-06-25 杜比实验室特许公司 用于控制抖动缓冲器的装置和方法
CN110211603B (zh) * 2013-06-21 2023-11-03 弗劳恩霍夫应用研究促进协会 使用质量控制的时间缩放器、音频解码器、方法和数字存储介质
AU2014283320B2 (en) * 2013-06-21 2016-09-15 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Jitter buffer control, audio decoder, method and computer program
CN105099949A (zh) 2014-04-16 2015-11-25 杜比实验室特许公司 基于对延迟抖动和对话动态的监视的抖动缓冲器控制
EP4276824A1 (en) * 2022-05-13 2023-11-15 Alta Voce Method for modifying an audio signal without phasiness

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL79775A (en) * 1985-08-23 1990-06-10 Republic Telcom Systems Corp Multiplexed digital packet telephone system
US5148486A (en) * 1988-03-30 1992-09-15 Kabushiki Kaisha Toshiba Voice decoding device
US4864682A (en) * 1988-05-02 1989-09-12 Whirlpool Corporation Self-adjusting wiper strip assembly for a vacuum cleaner
JP3102015B2 (ja) 1990-05-28 2000-10-23 日本電気株式会社 音声復号化方法
US5115429A (en) * 1990-08-02 1992-05-19 Codex Corporation Dynamic encoding rate control minimizes traffic congestion in a packet network
US5526353A (en) * 1994-12-20 1996-06-11 Henley; Arthur System and method for communication of audio data over a packet-based network
US5699481A (en) * 1995-05-18 1997-12-16 Rockwell International Corporation Timing recovery scheme for packet speech in multiplexing environment of voice with data applications
US5659539A (en) 1995-07-14 1997-08-19 Oracle Corporation Method and apparatus for frame accurate access of digital audio-visual information
US5862450A (en) * 1995-12-14 1999-01-19 Sun Microsytems, Inc. Method and apparatus for delivering simultaneous constant bit rate compressed video streams at arbitrary bit rates with constrained drift and jitter
US5828994A (en) * 1996-06-05 1998-10-27 Interval Research Corporation Non-uniform time scale modification of recorded audio
US5943347A (en) * 1996-06-07 1999-08-24 Silicon Graphics, Inc. Apparatus and method for error concealment in an audio stream
US5907822A (en) * 1997-04-04 1999-05-25 Lincom Corporation Loss tolerant speech decoder for telecommunications
US6351730B2 (en) * 1998-03-30 2002-02-26 Lucent Technologies Inc. Low-complexity, low-delay, scalable and embedded speech and audio coding with adaptive frame loss concealment
US6377931B1 (en) * 1999-09-28 2002-04-23 Mindspeed Technologies Speech manipulation for continuous speech playback over a packet network
SE517156C2 (sv) * 1999-12-28 2002-04-23 Global Ip Sound Ab System för överföring av ljud över paketförmedlade nät
US7596488B2 (en) * 2003-09-15 2009-09-29 Microsoft Corporation System and method for real-time jitter control and packet-loss concealment in an audio signal

Also Published As

Publication number Publication date
US20070260462A1 (en) 2007-11-08
DE60034484T2 (de) 2008-01-10
US7502733B2 (en) 2009-03-10
EP1243090B1 (en) 2007-04-18
SE9904812D0 (sv) 1999-12-28
DE60034484D1 (de) 2007-05-31
US7321851B2 (en) 2008-01-22
ATE360300T1 (de) 2007-05-15
WO2001048736A1 (en) 2001-07-05
SE9904812L (sv) 2001-08-28
CN1238835C (zh) 2006-01-25
EP1243090A1 (en) 2002-09-25
AU2241701A (en) 2001-07-09
DE1243090T1 (de) 2003-03-20
US20030167170A1 (en) 2003-09-04
CN1433561A (zh) 2003-07-30

Similar Documents

Publication Publication Date Title
SE517156C2 (sv) System för överföring av ljud över paketförmedlade nät
EP1160771A1 (en) Code-excited linear predictive coder and decoder with conversion filter for converting stochastic and impulsive excitation signals
JP4651194B2 (ja) 遅延パケット隠蔽方法および装置
JPH0683400A (ja) 音声メッセージ処理方法
KR20090028640A (ko) 인터넷 프로토콜을 통한 음성통화용 적응성 디-지터 버퍼
EP1218876B1 (en) Apparatus and method for a telecommunications system
EP0731348A2 (en) Voice storage and retrieval system
TWI587284B (zh) Sound encoding device
JP3564144B2 (ja) “前方”および“後方”lpc分析による音声周波数信号を符号化するための方法および装置
JPH01155400A (ja) 音声符号化方式
US5809460A (en) Speech decoder having an interpolation circuit for updating background noise
CA2452022C (en) Apparatus and method for changing the playback rate of recorded speech
JP3416331B2 (ja) 音声復号化装置
JPH11259100A (ja) 励起ベクトルの符号化方法
US5806027A (en) Variable framerate parameter encoding
KR100594599B1 (ko) 수신단 기반의 패킷 손실 복구 장치 및 그 방법
JPH021661A (ja) パケット補間方式
JP3754819B2 (ja) 音声通信方法及び音声通信装置
JPH07131767A (ja) 動画像符号化復号化方式
WO1989002148A1 (en) Coded communications system
JP2003323200A (ja) 音声符号化のための線形予測係数の勾配降下最適化
JPH0651799A (ja) 音声メッセージ符号化装置と復号化装置とを同期化させる方法
JP3285472B2 (ja) 音声復号化装置および音声復号化方法
JPH1165599A (ja) 音声圧縮伸張方法および装置並びに音声圧縮伸張処理プログラムを記憶する記憶媒体
JPH0683399A (ja) 音声符号化の無音化処理方式

Legal Events

Date Code Title Description
NUG Patent has lapsed