Akwizycja i przetwarzanie sygnałów cyfrowych Instytut Teleinformatyki ITI PK Kraków 21 luty 2011
Kompresja sygnałów multimedialnych sygnały multimedialne jedne z najważniejszych typów sygnałow cyfrowych; generujace strumienie danych wymagajace wysokich transferów, pliki o dużych rozmiarach konieczność kompresji (najczęściej kompresja stratna) typowe metody: obraz - kodowanie transformacyjne głos - kodowanie różnicowe (DPCM, ADPCM) muzyka: kodawanie podpasmowe+model psychoakustyczny (MP3, AAC) video - MPEG temat wykładu - kompresja dźwieku przy pomocy algorytmu LPC-10
Sygnału mowy i zasady jego przetwarzania w algorytmie LPC-10 mowa - sygnał akustyczny w zakresie 300 3000 Hz z twierdzenie o próbkowaniu - czestotliwość prókowania 8000 Hz, ochrona przed zakłóceniami wyższych częstotliwości filtr dolnoprzepustowy (antyaliasingowy) 3500 Hz przetwarzanie: kwantyzacja: 7 12, kwantyzatory liniowe badź nieliniowe ("A" law"), "µ law "
Algorytm LPC-10 sposób przetwarzania: podział strumienia próbek na ramki, analiza ramek typowe parametry (przy częstości próbkowania 8 khz) - okno analizy: 240 próbek (30 msec) przesuwane z krokiem 180 próbek (22.5 msec) znaczenie parametrów uzyskanych z analizy LPC-10 algorytm oparty na schemacie analiza synteza: parametry wyznaczone w trakcie analizy - nie dotycza bezpośrednio reprezentacji próbek algorytm zawiera sparametryzowany ogólny opis generacji mowy; uniwersalny i niezależny od języka analiza wyznacza parametry ukladu głosowego człowieka, które zapewniaja zsyntetyzowanie fragmentu mowy podobnego do analizowanego wykorzystuje model vocodera (VOice-CODER) określajacy mechanizm fizycznej genaracji głosu rekonstrukcja użycie modelu z konkretnymi warościami parametrów
LPC-10 ogólna charakterystyka Możliwe osiaganie wysokich stopni kompresji - powód - znaczna część opisu mechanizmu reneracji mowy - uniwersalna, umieszczona w koderze i dekoderze Przesyłamy tylko niezbędne informacje, określajace zawartość Wady takiego podejścia - brak możliwości kompresji danych nieopisanych przez model (muzyka, inne dane akustyczne nie będace mowa) Podstawowe znaczenie - model generacji sygnału mowy - opis generacji i modyfikacji sygnału akustycznego Elemnty biorace udział w generacji mowy: płuca, oskrzela, tchawica; krtań, struny głosowe; język, podniebienie, nos, zęby, wargi
Model generacji mowy Układ oddechowy + dolna część krtani - dostarczja energię, gneruja falę dźwiękowa Środkowa część krtani ze strunami głosowymi (głośnia) - odpowiadają za rodzaj pobudzenia pozostałej części układu generacji elementy powyżej głośni: trakt głosowy rezonator który można przestrajać (ruchy szczęk, języka)
Model generacji mowy - c.d. Najprostszy model: głos powstaje poprzez filtrowanie (poprzez filtr traktu głosowego) sygnału pobudzajacego Pobudzenie - struny głosowe struny głosowe - podłużne, równoległe wargi, stanowiace zawór kontrolujacy dopływ powietrza z płuc działanie - zależne od typu dźwięku; dla głosek dźwięcznych (np. a, e, o, i ) - rytmiczne rozwarcia na całej długości, pobudzające okresowo trakt głosowy silnymi impulsami - model pobudzena: szereg równo odległych delt Diraca; dla głosek bezdźwięcznych (np. s, sz, c, p - otwarcie strun głosowych na całej dlugości, równomierny wpływ powietrza; model pobudzenia - szum biały pobudzenie periodyczne: odstęp czasu między impulsami - okres tonu podstawowego; odwrotność: częstotliwość tonu podstawowego - typowe wartości: kobiety 160 960 Hz, mężczyźni - 80 480 Hz
Model generacji mowy - c.d. pobudzenie szumowe - szum biały o płaskim, szerokim widmie; zmiana parametrów traktu głosowego (język, zęby, wargi, podniebienie
Trakt głosowy trakt głosowy - modelowany jako układ rezonatorów, opisywany jako uklad LTI, niezmienny w czasie kwasistacjonarnych odcinków mowy
Opis traktu głosowego charakterystyka amplitudowo-częstotliwościowa traktu widoczne cztery maksima (formanty) częstotliwości tych maksimów - częsotliwości rezonansowe traktu głosowego model matematyczny traktu głosowego - liniowy filtr typu IIR określony przez transmitancję, która conajmniej pozwala zakodować pozycje maksimów by uzyskać 4 maksima charakterystyki amplitudowej - konieczne cztery pary sprzężonych biegunów; mianownik transmitancji - wielomian conajmniej ósmego rzędu w LPC-10 bierzemy dziesiaty rzad tego wielomianu i model transmitancji postaci: H(z) = gdzie G - wzmocnienie filtra G 1 + a 1 z 1 + a 2 z 2...a 10 z 10
Synteza mowy - podsumowanie znajomość rodzaju wymuszenia e(n) (dźwięczne/ bezdźwięczne) oraz parametrów transmitancji H(z) prowadzi daje przepis na równanie czasowe syntezy: 10 s(n) = Ge(n) a k s(n k) k 1 poprawna synteza mowy wymaga: rozstrzygnięcia charakteru wymuszenia (automatyczna klasyfikacja "mowa dźwięczna/mowa bezdźwięczna") wyznaczeniu parametrów filtra traktu głosowego trudność - klasyfikacji i wyznaczania parametrów dokonujemy na bazie jednego okna "obserwacji" (240 próbek, t.j. 30 msec)
Mowa dźwięczna i bezdźwięczna - morfologia
Układ decyzyjny mowa dźwięczna/bezdźwięczna Analiza przykładu: mowa dźwięczna - regularność maksimów, duża amplituda, niższe częstości mowa bezdźwięczna - mniejsze amplitudy, sygnał aperiodyczny, duża ilość przejść przez zero, wyższa częstość Metody automatycznej klasyfikacji mowy Metoda funkcji autokorelacji: Funkcja autokorelacji: r(k) = N 1 n=0 s(n)s(n + k), gdzie s(n) sygnał uzyskany z sygnału oryginalnego poprzez filtrację dolnoprzepustową filtrem z górna częstotliwościa graniczna = 900 Hz oraz wymnożenie wyników filtracji przez okno Hamminga uznajemy, że dana ramka jest dźwięczna, gdy wartość maximum globalnego funkcji autokorelacji r(k) dla k > K 0 (K 0 zależne od f pr oraz f T ) przekracza wartosć 0.35r(0) funkcja autokorelacji - przyklad
Metody automatycznej klasyfikacji mowy funkcja autokorelacji - przyklad Metoda funkcji AMDF funkcja dyskryminacji: N 1 D(k) = s(n) s(n + k),... k = 0, 1, 2,... n=0 relacja między s a sygnałem oryginalnym - jak wyżej kryterium bezdźwięcznosci - mała rozpiętość w D : D m in(k > K 0 ) > 0.3D max gdy ramka dźwięczna - pozycja minimum AMDF okres tonu podstawowego
Metody automatycznej klasyfikacji mowy c.d. Metoda cepstralna ramka dźwięczna - pobudzenie można aproksymować suma równomierne poprzesuwanych delt: δ(t T k ) sygnał mowy - splot (w czasie) wymuszenia i filtra traktu glosowego = spektrum mowy iloczyn (w dziedzinie częstotliwości) spektrum traktu i transformaty Fouriera wymuszenia, gdzie F[ δ(t T k )] = ω 0 δ(ω kω0 ) jak można wyznaczyć okres powtarzania się widma? Naiwnie - możemy wyliczyć odwrotna transf. Fouriera modułu widma dźwięku i stamtad wyznaczyć ω 0 problem - iloczyn dwóch czynników co prowadzi do modulacji amplitudowej (utrudnienie - nakładanie się skal) gdy weźmiemy logarytm z modułu spektrum rozseparowanie składowych; długofalowa obwiednia da wkład do w pobliżu indeksu zerowego; prażki widma piki o malejacej amplitudzie odpowiadające chwilom nt (wielokrotność okresu tonu podstawowego)
Metoda cepstrum definicja cepstrum: c(n) = F 1 (ln H(e iω P(e iω ) ) = F 1 (ln( H(e iω )+F 1 (ln( P(e iω ) ) gdzie H charakterystyka częstotliwościowa traktu, zaś P widmo pobudzenia.
Wyznaczanie filtra traktu głosowego po ustaleniu typu i parametrów pobudzenia - musimy wyznaczyć prametry filtra traktu głosowego (G, a 1,..., a 10 ) spełniaja one równanie: x(n) = (a 1 x(n 1)+a 2 x(n 2)+ +a 10 x(n 10))+Ge(n) interpretacja (liniowy model autoregresywny): -n-ta próbka x(n) jest określona jako predykcja ˆx(n) (kombinacja liniowa poprzednich p (u nas p = 10) z błędem err(n) = Ge(n) - kryterium wyznaczenia parametrów a i - minimalizacja średniego błędu predykcji; dla ramki o długości N minimalizujemy bład średniokwadratowy: N 1 J = σ 2 1 err 2 (n) = 1 N 1 [ p x(n)+ a j x(n j) ] 2 N p N p n=p n=p j=1
Wyznaczanie filtra traktu głosowego c.d. by znaleźć optymalne a i - obliczamy pochodne J po a i i przyrównujemy do zera wynik - układ p równań liniowych postaci: R a = r, gdzie a - wektor poszukiwnych rozwiazań, R - symetryczna macierz autokorelacji której i-ty wiersz ma postać [r(i 1), r ( i),..., r(0), r(1),... r(p i)], zaś r - wektor [r(1), r(2),..., r(p)] T, gdzie r(k) = 1 N 1 N p n=p x(n)x(n k) po wyliczeniu a i obliczamy bład predykcji J min = r(0) + p j=1 a jr(j) by uzyskać syntezę przetwarzanej ramki podajemy na filtr o wyliczonych współczynnikach a i i wzmocnieniu G = J min pobudzenie znalezione wcześniej omówienie standardu LPC-10 przyklad większego projektu przetwarzania danych cyfrowych rzeczywiste rozwiazania trochę się różnia
LPC-10 uwagi ogólne jak działa LPC-10 jako narzędzie kompresj? zastępujemy dane 180 próbek dwunastoma parametrami T, G, a 1,..., a 10 osiagnięty stopień kompresji zależy od sposobu kodowania tych parametrów; norma LPC-10 54 bity/ramkę, stopień kompresji 27 rozwiazania nieomówione: przetworzenie westępne - preemfaza (podbija wysokie częstości wzmacniajac leżace tam wierzchołki formantów (po zsyntetyzowaniu - transformacja odwrotna (deemfaza)) różne modele predykcji dla mowy dźwięcznej i szumowej
LPC-10 a rozpoznawanie głosu Gdzie zakodowana jest treść mowy? typ wymuszenia, częstotliwość tonu podstawowego - zmiana cech osobniczych i intonacyjnych określenie formy treść ukryta w parametrach charakterystyki częstotliwościowej filtra traktu jakie parametry sa najlepszym nośnikiem tresci? parametry a i - słaba zależność między ich wartościami a kształtem charakterystyki częstotliwościwej najczęstszy wybór - współczynniki cepstralne lub mel-cepstralne rozpoznawanie mowy - przez porównanie sekwencji współczynników zwiazanych ze słowami a znajdujacymi się w bazie sekwencjami współczyników słów wzorcowych