Analys/syntes-kodning

Relevanta dokument
En generell prediktiv kodare utnyttjar signalens utseende N steg tillbaka i tiden för kodningen, dvs vi kodar efter den betingade fördelningen

Linjär prediktion. Prediktiv kodning. Linjär prediktion. Prediktiv kodare och avkodare

I. Talkodning. Kodning av tal Kodning av musik MPEG-4 Audio toolbox. Talkodning Historik. Talgenerering. Talsignalen - vokaler

Kodning av tal Kodning av musik MPEG-4 Audio toolbox

Föreläsning 12. Modellbaserad ljudkodning. Modellbaserad bildkodning. Utblickar Mediakommunikation över Internet Multi-view video

4/27/12. Fönstring i MDCT. Föreläsning 10: Ljudkodning ( Audio Coding ) 1. Inledning PCM, standardmetoder, MDCT, psykoakustik, ljudtryck

Kapitel 2 o 3. Att skicka signaler på en länk. (Maria Kihl)

Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk. Att sända information mellan datorer. Information och binärdata

Psykoakustik. Ljudtrycksnivå. Hörselns omfång. Hörnivå(loudness) Människans hörsel är ganska väl studerad och det finns bra modeller för den.

Föreläsning 10: Ljudkodning ( Audio Coding )

Digital signalbehandling Digitalt Ljud

EXEMPEL 1: ARTVARIATION FÖRELÄSNING 1. EEG frekvensanalys EXEMPEL 2: EEG

Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk. Jens A Andersson

Optimal Signalbehandling Labbhandledning

Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk. Jens A Andersson

Optimal Signal Processing Laboratory work

TALKODNING - från tal till syntes

Sammanfattning TSBB16

Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk. Jens A Andersson

Teori... SME118 - Mätteknik & Signalbehandling SME118. Johan Carlson 2. Teori... Dagens meny

Lab 4: Digital transmission Redigerad av Niclas Wadströmer. Mål. Uppstart. Genomförande. TSEI67 Telekommunikation

Signaler och system, IT3

Föreläsning: Digitalt Ljud. signalbehandling. Elektronik - digital signalbehandling. Signal och spektrum. PC-ljud. Ton från telefonen.

Kodning med distorsion

Skurlängdskodning. aaaabbbbbbbccbbbbaaaa. Man beskriver alltså sekvensen med ett annat alfabet än det ursprungliga.

Föreläsning 7: Bild- och videokodning

Språkljudens akustik. Akustik, akustiska elementa och talanalys

Exempelsamling Grundläggande systemmodeller. Klas Nordberg Computer Vision Laboratory Department of Electrical Engineering Linköping University

Kihl & Andersson: , 3.1-2, (ej CDM) Stallings: 3.1-4, 5.1, 5.2, 5.3, 8.1, 8.2

Digital signalbehandling fk Adaptiv filtrering

Grundläggande ljud- och musikteori

DIGITAL KOMMUNIKATION

SMS047 Mediakodning. Introduktion. Frank Sjöberg. Introduktion. Introduktion

Digital kommunikation. Maria Kihl

Digital Signalbehandling i Audio/Video

Psykoakustik. Ljudtrycksnivå. Hörselns omfång. Hörnivå (loudness) Människans hörsel är ganska väl studerad och det finns bra modeller för den.

Digital kommunikation. Maria Kihl

Signalanalys med snabb Fouriertransform

Optimal Signalbehandling Datorövning 1 och 2

Spektrala Transformer

Grundläggande signalbehandling

Människans hörsel är ganska väl studerad och det finns bra modeller för den.

Föreläsning 1: Bild- och ljudkodning

Grundläggande signalbehandling

2 Vad händer när man ringer? 2 Vad händer när man ringer?

TSRT62 Modellbygge & Simulering

Laboration i Fourieranalys, TMA132 Signalanalys med snabb Fouriertransform

Försättsblad till skriftlig tentamen vid Linköpings universitet KÅRA T1 T2 U2 U4

Spektrala Transformer

4 Laboration 4. Brus och termo-emk

Lab 3 Kodningsmetoder

Övningar modul 1 - Dataöverföring & fysisk infrastruktur

Resttentamen i Signaler och System Måndagen den 11.januari 2010, kl 14-19

Talets akustik repetition

Upp gifter. c. Hjälp Bengt att förklara varför det uppstår en stående våg.

Faltningsreverb i realtidsimplementering

Kapitel 3 o 4 Att skicka signaler på en länk Tillförlitlig dataöverföring. Att göra. Att sända information mellan datorer

2F1120 Spektrala transformer för Media Tentamen

Kapitel 3 o 4. Tillförlitlig dataöverföring. (Maria Kihl)

Stokastiska Processer och ARIMA. Patrik Zetterberg. 19 december 2012

DT1130 Spektrala transformer Tentamen

Föreläsning 7. Felrättande koder

Ämnesområde Hörselvetenskap A Kurs Akustik och ljudmiljö, 7 hp Kurskod: HÖ1015 Tentamenstillfälle 1

TSKS21 Signaler, Information och Bilder Lab 2: Digitalisering

Ulrik Söderström 20 Jan Signaler & Signalanalys

Lösningar ETS052 Datorkommunikation,

Elektronik. Viktor Öwall, Digital ASIC Group, Dept. of Electroscience, Lund University, Sweden-

Samtidig visning av alla storheter på 3-fas elnät

Ulrik Söderström 19 Jan Signalanalys

Optimala koder. Övre gräns för optimala koder. Gränser. Övre gräns för optimala koder, forts.

Kod: Datum Kursansvarig Susanne Köbler. Tillåtna hjälpmedel. Miniräknare Linjal Språklexikon vid behov

Optimala koder. Det existerar förstås flera koder som har samma kodordsmedellängd. Enklaste fallet är att bara byta 0:or mot 1:or.

Kod: Datum Kursansvarig Susanne Köbler. Tillåtna hjälpmedel. Miniräknare Linjal Språklexikon vid behov

Exempelsamling Grundläggande systemmodeller. Klas Nordberg Computer Vision Laboratory Department of Electrical Engineering Linköping University

Digital Signalbehandling i Audio/Video

Föreläsning 5. Approximationsteori

Att fånga den akustiska energin

DT1130 Spektrala transformer Tentamen

Kommunikationssystem grundkurs, 2G1501 Övningar modul 1 Dataöverföring & fysisk infrastruktur 1 Dataöverföring

TSBB16 Datorövning A Samplade signaler Faltning

Laboration 5: Regressionsanalys. 1 Förberedelseuppgifter. 2 Enkel linjär regression DATORLABORATION 5 MATEMATISK STATISTIK FÖR I, FMS 012, HT-08

Parameterskattning i linjära dynamiska modeller. Kap 12

MVE051/MSG Föreläsning 14

Ämnesområde Hörselvetenskap A Kurs Akustik och ljudmiljö, 7 hp Kurskod: HÖ1015 Tentamenstillfälle 4

Laboration 1 Fysik

Lösningsförslag till övningsuppgifter, del V

Metod för manipulation av prosodi i naturligt tal. Christer Ahlström

Tentamen ssy080 Transformer, Signaler och System, D3

GRUNDKURS I SIGNALBEHANDLING (454300), 5sp Tentamen

KÄLLA-FILTER. Repetition. Talapparaten i källa-filter perspektivet. Repetition (ff) Ljudkällor i talapparaten (ff) Ljudkällor i talapparaten

Tentamen MVE302 Sannolikhet och statistik

Konvertering. (Conversion chapter 3, Watkinson) Sebastian Olsson Anders Stenberg Mattias Stridsman Antonios Vakaloudis Henrik Wrangel

Dator- och telekommunikation. Dator- och telekommunikation. Radionät. Fasta nät. Kapacitet. Tjänster. Radionät Protokoll Kapacitet Tjänster

Lab lanserade R.A. Moog Inc. en ny synt: Minimoog. Den var designad av Bill Hemsath och Robert Moog och kom att revolutionera musikhistorien.

Signal- och Bildbehandling FÖRELÄSNING 4. Multiplikationsteoremet. Derivatateoremet

Lösningsförslag till Problem i kapitel 6 i Mobil Radiokommunikation

Idag. Tillägg i schemat. Segmenteringsproblemet. Transkription

Fysiska lagret. Kanal. Problem är att kanalen har vissa begränsningar: Kanalen är analog Kanalen är bandbreddsbegränsad och är oftast störd (av brus)

Tillförlitlig dataöverföring Egenskaper hos en länk Accessmetoder. Jens A Andersson

Föreläsning 12: Linjär regression

Transkript:

Analys/syntes-kodning Många talkodare bygger på en princip som kallas analys/syntes-kodning. Istället för att koda en vågform, som man normalt gör i generella ljudkodare och i bildkodare, så har man parametrisk modell av källan. Kodaren (analys-delen) försöker estimera modellparametrarna ur signalen som ska kodas. Dessa parametrar skickas över till avkodaren (syntes-delen) som använder dem för att rekonstruera en avkodad signal. Detta fungerar bra för signaler där det finns en bra modell av källan, som mänskligt tal. Däremot är det inte så användbart för kodning av generella ljud- och bildsignaler. Den avkodade signalen kan skilja sig en hel del från originalsignalen, men ändå låta väldigt lik.

Analys genom syntes En variant av analys/syntes-kodning är analys-genom-syntes-kodning (analysis-by-synthesis). Kodaren innehåller även en avkodardel, och man försöker hitta de modellparametrar som ger en avkodad signal som liknar (i någon mening) originalsignalen.

Mänskligt tal Ljud genereras genom att luft pressas ut genom stämbanden. Om stämbanden är spända genereras toner och övertoner. Om stämbanden är avslappnade genereras ett brusliknande ljud. Ljudet passerar sen genom strupe, svalg, munhåla och näsa. Med tunga, läppar och tänder kan man påverka ljudet. Allting efter stämbanden (det s.k. talröret, vocal tract) kan på ett bra sätt modelleras som ett linjärt filter.

Mänskligt tal

Exempel på talljud

Exempel på talljud

Modell för tal En enkel modell för mänskligt tal: Brus Filter Tal Pulskälla Talet ses som en sekvens av antingen tonade (voiced) eller tonlösa (unvoiced) ljud. De tonade ljuden modelleras som ett filtrerat pulståg, medan de tonlösa ljuden modelleras som filtrerat brus. Parametrarna i modellen är alltså filterparametrar, växlingar mellan tonat och tonlöst ljud, och pulstågets utseende. Framför allt försöker man estimera grundtonen, något som påverkar avståndet mellan pulserna (pitch period).

Modell för tal, forts. Talsignalen y n modelleras som y n = M a i y n i + Gɛ n i=1 Sändaren (kodaren) delar in signalen i segment, typiskt mellan 150 och 250 sampel (vid samplingsfrekvensen 8 khz). För varje segment bestäms om det är ett tonat eller ett tonlöst ljud. För tonade ljud bestäms pitch period P och ett passande pulståg. Filterparametrarna a i och G bestäms. Alla dessa parametrar skickas över till mottagaren som kan återskapa ljudet enligt modellen. Kodningen är alltså en typ av prediktiv kodning. Den största skillnaden mot vår tidigare beskrivning är att huvuddelen av datatakten går åt att beskriva filterkoefficenterna istället för prediktionsfelet.

Pulståg Pulstågen som används kan variera i komplexitet. I det enklaste fallet använder man pulser av samma amplitud på konstanta avstånd från varandra. Pulståget beskrivs då av pitch period och startposition för den första pulsen. Man kan även låta amplituder och positioner för pulserna variera fritt. Man kan då få ett pulståg som bättre kan beskriva den verkliga signalen, men det går åt fler bitar i kodningen.

Pulståg, exempel 1 1 0.8 0.8 0.6 0.6 0.4 0.4 0.2 0.2 0 0 0.2 0.2 0.4 0.4 0.6 0.6 0.8 0.8 1 1 20 40 60 80 100 120 140 160 180 200 20 40 60 80 100 120 140 160 180 200 1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1 20 40 60 80 100 120 140 160 180 200

Tonat eller tonlöst? Tonade ljud har oftast högre energi (högre amplitud) än tonlösa ljud. Tonlösa ljud innehåller oftast högre frekvenser än tonade ljud. Ett sätt att avgöra om ett segment är tonat eller tonlöst kan därför vara att jämföra segmentets energi med bakgrundsbruset, och att räkna antalet nollgenomgångar.

Estimering av pitch period Man kan använda autokorrelationsfunktionen R yy (k) för att estimera P. För en periodisk signal har akf:en ett maximum för k = P. En annan, bättre metod, är att använda average magnitude difference function (AMDF). Den definieras som AMDF (P) = 1 N k 0+N i=k 0+1 y i y i P där k 0 beror av vilket segment vi befinner oss i och N är segmentets storlek. AMDF kommer att ha ett minimum där P är lika med segmentets pitch period. AMDF kan även användas för att avgöra om segmentet är tonat eller tonlöst. För tonlösa ljud kommer AMDF ha väldigt grunda minimum, som inte skiljer sig särskilt mycket från medelvärdet.

AMDF AMDF för ett tonat (e) och ett tonlöst (s) ljud.

Exempel 0.6 0.4 0.2 0 0.2 0.4 0.6 0 50 100 150 200 250 Ett segment om 256 sampel från en talsignal.

Exempel 0.08 0.06 0.04 0.02 0 0.02 0.04 0 10 20 30 40 50 60 70 80 90 100 Estimerad autokorrelationsfunktion. Ger pitch period 31.

Exempel 0.4 0.35 0.3 0.25 0.2 0.15 0.1 0.05 0 0 10 20 30 40 50 60 70 80 90 100 Estimerad AMDF. Ger pitch period 31.

Estimering av filterparametrar Vi vill hitta a i sådana att medelvärdet av det kvadratiska felet en 2 minimeras, där M en 2 = (y n a i y n i Gɛ n ) 2 Minimering av väntevärdet E{e 2 n} ger följande ekvationssystem i=1 a j E{e 2 n} = 0 M a i E{y n i y n j } = E{y n y n j } i=1 För att kunna lösa detta behöver vi skatta E{y n i y n j }, vilket kan göras med autokorrelationsmetoden eller med autokovariansmetoden.

Autokorrelationsmetoden Vi antar att y n är stationär, vilket betyder att E{y n i y n j } = R yy ( i j ) Vi använder bara samplen i det aktuella segmentet, så vi kan skatta autokorrelationsfunktionen som R yy (k) = n 0+N 1 n=n 0+k y n y n k där n 0 är index för det första samplet i segmentet och N är segmentets storlek.

Autokorrelationsmetoden, forts. Ekvationssystemet kan då uttryckas som Rā = p där R = och ā kan relativt enkelt lösas ut. R yy (0) R yy (1)... R yy (M 1) R yy (1) R yy (0)... R yy (M 2)...... R yy (M 1) R yy (M 2)... R yy (0) ā = [a 1 a 2... a M ] T p = [R yy (1) R yy (2)... R yy (M)] T

Autokovariansmetoden Vi antar inte att y n är stationär. Vi definierar som kan estimeras som c ij = E{y n i y n j } c ij = n 0+N 1 n=n 0 y n i y n j Notera att vi använder sampel utanför segmentet i skattningen.

Autokovariansmetoden, forts. Ekvationssystemet kan då uttryckas som Cā = s där och C = c 11 c 12... c 1M c 21 c 22... c 2M...... c M1 c M2... c MM s = [c 10 c 20... c M0 ] T

LPC-10 Amerikansk talkodningsstandard för datatakten 2.4 kbits/s. Segment om 180 sampel, dvs 54 bitar/segment. Pitch period 60 möjliga värden. 10 filterkoefficienter för tonade ljud, 4 koefficienter för tonlösa ljud. Ger ett ganska syntetiskt ljud. Inte så bra om bakgrundsbruset är högt.

Long Term Prediction (LTP) Ofta använder man även en prediktor som estimerar utgående från signalens utseende en period P tillbaka i tiden M K y n = a i y n i + α j y n P j+1 + Gɛ n i=1 j=1 Filterdelen med a i kallas då short term prediction.

RELP Regular Excitation Linear Prediction I en RELP-kodare gör man inget val mellan tonade och tonlösa ljud. Man estimerar pitch period P, och filterkoefficienter a i och α j. Efter inversfiltrering får man en residualsignal som lågpassfiltreras, nersamplas (typiskt med en faktor 3 eller 4) och kvantiseras och skickas över sampel för sampel. En RELP-kodare är alltså mer lik en traditionell prediktiv kodare, där man skickar prediktionsfelet (residualsignalen). Observera att kvantiseringen ligger utanför prediktorloopen. Detta gör inte så mycket på de korta segment som man kodar.

RELP

Multi-pulse LPC (MP-LPC) MP-LPC är en analys-genom-syntes-kodare. Kodaren estimerar filterkoefficienter. Kodaren försöker sen hitta ett optimalt pulståg (position och amplitud för ett antal pulser) som avkodas till en signal så nära originalsignalen som möjligt. En nackdel med MP-LPC är att kodningen är ganska beräkningskrävande. Används i Skyphone, ett system för telefoni från flygplan med datatakten 9.6 kbit/s

MP-LPC

Exempel, MP-LPC 0.25 0.2 0.15 0.1 0.05 0 0.05 0.1 0.15 0.2 0 20 40 60 80 100 120 140 160 180 200 Ett segment om 200 sampel från en talsignal.

Exempel, MP-LPC Vi anpassar ett 5-koefficenters filter till signalen enligt autokorrelationsmetoden. Filterkoefficienterna (innan kvantisering) är: 1.5373 0.2515 ā 0.2400 0.1754 0.0912

Exempel, MP-LPC Ett pulståg med tio pulser optimeras så att den avkodade signalen är så lik originalsignalen som möjligt 0.08 0.06 0.04 0.02 0 0.02 0.04 0.06 0.08 0 20 40 60 80 100 120 140 160 180 200

Exempel, MP-LPC 0.25 0.2 0.15 0.1 0.05 0 0.05 0.1 0.15 0.2 0 20 40 60 80 100 120 140 160 180 200 Rekonstruerad signal.

Exempel, MP-LPC 0.25 0.2 0.15 0.1 0.05 0 0.05 0.1 0.15 0.2 0 20 40 60 80 100 120 140 160 180 200 Originalsignal och rekonstruerad signal.

RPE-LTP Regular Pulse Excitation with Long Term Prediction Den första kodningsmetoden som användes i GSM. Den har senare ersatts av andra metoder. Kan ses som en hybrid mellan RELP och MP-LPC. Kodaren försöker hitta ett pulståg som avkodas till en signal så nära originalsignalen som möjligt. Pulserna begränsas till att ligga i ett regelbundet mönster. Kodaren använder datatakten 13 kbit/s. Med felrättning används totalt en datatakt på 22.8 kbit/s.

RPE-LTP

Code Excited Linear Prediction (CELP) Analys-genom-syntes. Kodaren estimerar filterkoefficienter, och försöker sen hitta en excitationssignal från en kodbok som avkodas till en signal nära originalsignalen. Det är alltså en form av vektorkvantisering, oftast av typen gain-shape. Det som skickas över till mottagaren är alltså filterparametrar, index i kodboken och förstärkningsparametrar. Ofta använder man en kombination av en fix och en adaptiv kodbok. Varianter finns, där man estimerar filterparametrarna från redan överförda sampel. Eftersom avkodaren också har tillgång till gamla sampel, behöver man bara skicka index i kodboken.

CELP

CELP i GSM Ehanced Full Rate Algebraic CELP Datatakt 12.2 kbit/s Adaptive Multi-Rate Algebraic CELP Datatakt mellan 4.75 kbit/s och 12.2 kbit/s (i 8 steg). Kodaren försöker anpassa sig till kanalkvaliteten. Om det är en dålig kanal använder talkodaren en låg datatakt och många bitar läggs på den felrättande koden. För bra kanaler behöver man inte så mycket felrättning och kan då ha en högre takt på talkodaren. Kanalen är antingen totalt 22.8 kbit/s eller 11.4 kbit/s (half rate channel).