Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałZłota Zelek Został zmieniony 11 lat temu
1
Kwantyzatory wektorowe i kodery CELP (Code Excited Linear Prediction)
Przemysław Dymarski Zakład Systemów Teletransmisyjnych Instytut Telekomunikacji Politechniki Warszawskiej Chcialbym przedstawic glowne watki mojej rozprawy pt…….. Niekiedy slyszy sie opinie, ze kompresja sygnalow (w tym mowy) traci na znaczeniu ze wzgledu na rozwoj szerokopasmowych laczy swiatlowodowych. Opinie te mijaja sie prawda – kompresja nadal pozostaje waznym zagadnieniem – z uwagi na zastosowania w telefonii komorkowej, bezp. lacznosc sat. miedzy obiektami ruchomymi… O zywotnosci tej dziedziny swiadczy fakt, ze wiekszosc standardow kompresji mowy powstala w ostatnim 10-leciu. W tym okresie pojawia sie b. wiele prac badawczych – proponuje sie nowe metody kompresji, optymalizuje sie znane metody. Ja tez mam w tym pewien udzial; prowadzac badania w ZST-IT i wspolpracujac z ENST w Paryzu i WIL zgromadzilem pewien dorobek, a podsumowaniem mojego dorobku w tej dziedzinie jest prezentowana dzisiaj rozprawa.
2
Kwantyzator wektorowy
1. Kwantyzatory wektorowe i kodery CELP Kwantyzator wektorowy VQ – Vector Quantizer Słownik: L wektorów N-wymiarowych x = fj ~ x F _ + L=2bN W glownej czesci mojej pracy zajmuje sie kwantyzacja wektorowa – szeroko stosowana do kwantowania dzwieku i obrazu. W kwatyzatorze wektorowym wektor x złożony z N kolejnych próbek sygnału akust. – przybliżany (modelowany) najbliższym (w sensie euklidesowym) wektorem ze słownika (książki kodowej) – w tym wypadku wekt. fj Shannon – VQ – asymptotycznie opt. koder zrodla– przetwarzajac wektory o wymiarze N->infty (przy danej rozdzielczosci b bit/probke) zblizamy sie do osiagniecia min mocy błędu kwantyzacji, okreslonej przez RDF. Nadmierne zwiekszanie wymiaru wektorow nie jest mozliwe ze wzgledu na zlozonosc obliczeniowa. Wraz z N liczba wekt. w słowniku (L) rośnie wykładniczo (b – rozdzielczość w bit/próbke). min || . || Shannon: VQ – asymptotycznie optymalny
3
SGVQ – kwantyzator wektorowy typu kształt - wzmocnienie
1. Kwantyzatory wektorowe i kodery CELP SGVQ – kwantyzator wektorowy typu kształt - wzmocnienie SGVQ: Shape – Gain Vector Quantizer słownik kształtów wzmocnienie fj x = g fj ~ x F g _ + x ~ fj Aby zmniejszyć złożoność oblicz. dokonuje się dekompozycji słownika – iloczyn kartezjański mniejszych slowników. W przypadku SGVQ – wektor sygnału modeluje się jako iloczyn wektora kształtu (ze słownika kształtów) i (skwantowanego) wzmocnienia. Najpierw wybiera się kształt najbliższy (kątowo!) wektorowi x, a wzmocnienie wynika z rzutowania ortogonalnego wektora x na wybrany kształt. min || . ||
4
SGVQ – kwantyzator wektorowy typu kształt - wzmocnienie
1. Kwantyzatory wektorowe i kodery CELP SGVQ – kwantyzator wektorowy typu kształt - wzmocnienie Kwantowanie wzmocnienia zależne od wybranego kształtu p(x) = const Badajac tego typu uklady zauwazylem, ze w kwantowaniu mowy wzmocnienie zalezy silnie od wybranego ksztaltu (wynika to z roznych wartosci wlasnych macierzy korelacji wektorow sygnalu x). Zaproponowalem osobne, adaptacyjne kwantyzatory wzmocnien dla roznych grup ksztaltow.
5
MSGVQ: Multistage Shape – Gain Vector Quantizer
1. Kwantyzatory wektorowe i kodery CELP MSGVQ – wielostopniowy kwantyzator wektorowy typu kształt - wzmocnienie MSGVQ: Multistage Shape – Gain Vector Quantizer f1j1 F1 g1 x ~ x … … S _ + fKjK FK gK We wspolczesnych koderach mowy modelowanie sygnału (kwantyzacja) jest procesem wielostopniowym (ma to na celu dalsze zmniejszenie złożoności obliczeniowej). Model sygnału otrzymuje się jako kombinację liniową K wektorów kształtów. Tak skonstruowany MSGVQ – stosowany jest m.in.. w koderach sygnału fonicznego typu matching pursuit. min || . || Stosowany m.in. w koderach typu « matching pursuit »
6
CELP – Code Excited Linear Prediction
1. Kwantyzatory wektorowe i kodery CELP CELP – Code Excited Linear Prediction CELP: MSGVQ z filtrem predykcyjnym (H) c1j1 C1 g1 x ~ x H … … S _ + cKjK CK gK Stosowane w niemal każdym systemie telefonii komórkowej kodery predykcyjne CELP (code...) różnią się od MSGVQ jedynie adaptowanym do sygnału filtrem predykc. H. Liczba etapów modelowania (K): 2 - kilkanaście. min || . ||
7
CELP – Code Excited Linear Prediction
1. Kwantyzatory wektorowe i kodery CELP CELP – Code Excited Linear Prediction CELP - jako MSGVQ z filtracją słowników H cKjK c1j1 C1 g1 x ~ x … … S _ + CK gK W mojej pracy traktuję CELP jako MSGVQ z filtracja słownikow pobudzen filtru pred. min || . ||
8
CELP – Code Excited Linear Prediction
1. Kwantyzatory wektorowe i kodery CELP CELP – Code Excited Linear Prediction CELP - jako MSGVQ z filtracją słowników f1j1 H C1 g1 x ~ x … … S _ + fKjK H CK gK Filtr predykcyjny H można przenieść na wyjścia słowników sygnałów pobudzających... min || . ||
9
CELP – Code Excited Linear Prediction
1. Kwantyzatory wektorowe i kodery CELP CELP – Code Excited Linear Prediction CELP - jako MSGVQ z filtracją słowników f1j1 H C1 g1 x ~ x … … S _ + fKjK H CK gK .....i odfiltrowane słowniki pobudzeń traktować jak słowniki kształtów w MSGVQ min || . ||
10
Ujednolicone podejście do CELP i MSGVQ
1. Kwantyzatory wektorowe i kodery CELP Ujednolicone podejście do CELP i MSGVQ f1j1 F1 g1 x ~ x … … S _ + fKjK FK gK Pozwala to na zastosowanie ujednoliconego podejścia do analizy CELP i MSGVQ – co zostało zrealizowane w mojej rozprawie. Takie podeście nie dla wszystkich jest oczywiste. Np. algorytmy szybkiego przeszukiwania słowników pobudzeń w koderach CELP, o ktorych bede mowil za chwile, opublikowane przeze mnie w na pocz lat 90-tych, zostaly na nowo „odkryte”, kilka lat pozniej przez Patiego i Huanga dla koderów audio typu „matching pursuit” min || . ||
11
CELP (MSGVQ) ze słownikiem mieszanym
1. Kwantyzatory wektorowe i kodery CELP CELP (MSGVQ) ze słownikiem mieszanym … f1j1 fKjK F1 FK g1 x ~ x … S _ + gK W każdym etapie modelowania można stosować inny słownik, można też połączyć słowniki... min || . ||
12
CELP (MSGVQ) ze słownikiem mieszanym
1. Kwantyzatory wektorowe i kodery CELP CELP (MSGVQ) ze słownikiem mieszanym fj1 fjK F g1 x ~ x … S _ + gK ...wybierając z takiego słownika mieszanego K wektorów, kierując się wyłącznie energią błędu. Taką propozycję zgłosiłem jeszcze w 89. min || . ||
13
Algorytmy modelowania sygnału w CELP i MSGVQ
1. Kwantyzatory wektorowe i kodery CELP Algorytmy modelowania sygnału w CELP i MSGVQ ~ x = g1 fj1 + g2 fj2 + …+ gK fjK K << N << L wymiar podprzestrzeni liczba wektorów w słowniku wymiar przestrzeni Kumulacja K poprawek (rzutów wektora błędu na najbliższy wektor słownika) Rzutowanie ortogonalne na L!/(K! (L-K)!) podprzestrzeni Sukcesywne budowanie podprzestrzeni przez dołączanie kolejnych wektorów (wektory wybrane w poprzednich etapach nie mogą być usunięte) Zadanie modelowania (kodowania, kwantowania) sygnału w tego typu koderach polega na dokonaniu wyboru K wektorów ze słownika(-ów) – wektor sygnału x jest reprezentowany w K-dim podprzestrzeni. Typowe zadanie: wybrać 2-10 wekt. 40-dim spośród kilkuset należących do słownika. Najprostszy alg. kwantyzacji polega na dodawaniu kolejnych poprawek (iloczynow ksztalt-wzmocnienie) – rzutów wektora błędu z poprzedniego etapu modelowania na najbliższy (kątowo) wektor słownika. Taki alg. jest daleki od alg. optymalnego - w ogólnym przypadku model sygnału nie jest nawet rzutem ort. wekt. sygnalu na podprzestrzeń. Optymalnym rozwiazaniem byloby przeszukiwanie wszystkich podprzestrzeni, jakie da sie rozpiac na K wektorach wybranych z L wektorow slownika (i wybor podprzestrzeni oferujacej najmniejszy blad rzutowania). Ze wzgledu na wielka liczbe takich podprzestrzeni jest to rozwiazanie nierealizowalne w czasie rzeczywistym. W mojej pracy zajalem sie algorytmami suboptymalnymi, ktore polegaja na sukcesywnym budowaniu podprzestrzeni poprzez dolaczanie kolejnych wektorow (gwarantujacych min blad rzutowania na podprzestrzen), przy czym wektory wybrane w poprzednich etapach nie moga juz byc usuniete.
14
Jakość mowy w funkcji wymiaru podprzestrzeni
1. Kwantyzatory wektorowe i kodery CELP Jakość mowy w funkcji wymiaru podprzestrzeni alg. sukcesywnego budowania podprzestrzeni kumulacja poprawek Przeprowadzone symulacje wykazaly, ze w porownaniu z najprostszym alg dodawania kolejnych poprawek alg. sukcesywnego bud. podprzestrzeni oferuje znaczaca poprawe jakosci sygnalu – zwlaszcza dla wiekszej liczby etapow modelowania. Na wykresie – snr. Jednoczesnie rekurs. zmod. alg. GS wymaga znacznie mniejszej liczby oper arytm (na wykr – mflops) niz przeprowadzanie bezposredniej ortogonalizacji slownika – szczegolnie gdy slownik jest « rzadki » tj zawiera wektory o duzej liczbie skladowych zerowych, co jest powszechnie stosowane w koderach CELP. K – liczba wektorów tworzących model sygnału
15
1. Kwantyzatory wektorowe i kodery CELP
Algorytmy modelowania sygnału w CELP i MSGVQ z pojedynczym współczynnikiem wzmocnienia x = g [fj1 + fj2 + … + fjK] ~ x K=2 fj1 fj2 x ~ W wielu wariantach kodera CELP stosuje się jeden współczynnik wzmocnienia. Dodając do siebie wektory ze słownika tworzymy 1-dim podprzestrzeń, w której będzie reprezentowany wektor sygnału. Wg tej zasady dzialaja kodery celp o pobudzeniu ternarnym.
16
Algorytm sukcesywnego budowania podprzestrzeni 1-wymiarowej
1. Kwantyzatory wektorowe i kodery CELP Algorytm sukcesywnego budowania podprzestrzeni 1-wymiarowej x = g [fj1 + fj2 + … + fjK] ~ x ~ x f 2 f 1 K=2 f 3 f 2 Ze względu na wielką liczbę takich podprzestrzeni nie da się ich wszystkich przetestować - zaproponowałem alg. sukcesywnego budowania podprzestrzeni, polegający na sukcesywnej min. kąta między wektorem sygnału i tworzoną 1-dim podprzestrzenią. W pierwszym etapie wybiera się wektor ze słownika, tworzący min kąta z wektorem sygnału (niech to będzie f3), następnie do wybranego wektora dodaje się kolejny, gwarantujący min kąta miedzy wekt. x i sumą (niech to będzie f2). Po zsumowaniu K wektorów otrzymuje się model sygnału (sygnał skwantowany) metodą rzutowania ortogonalnego. f 1 Algorytm sukcesywnej minimalizacji kąta między wektorem x i tworzoną 1-wymiarową podprzestrzenią
17
Algorytm sukcesywnej minimalizacji kąta
1. Kwantyzatory wektorowe i kodery CELP Algorytm sukcesywnej minimalizacji kąta Koder CELP 9.6 kbit/s o pobudzeniu ternarnym Algorytm Liczba testowanych podprzestrzeni SNR [dB] fraza: 1 2 3 4 testowanie wszystkich podprzestrzeni jednowymiarowych >700000 13.6 11.5 14.2 11.1 minimalizacji kąta 308 13.4 11.3 14.1 10.9 Wyniki symulacji wykazują, że zaproponowany algorytm daje, w pewnych zastosowaniach, wyniki niewiele odbiegające od alg. optymalnego (przeszukiwanie wszystkich podprzestrzeni 1-dim) – różnice SNR rzędu 0.2dB – przy bez porownania mniejszej złożoności obliczeniowej. (Zadanie polegało na zsumowaniu 4 wektorow 40-dim wybranych sposrod 80-ciu)
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.