Kompresja danych DKDA (11)

Podobne dokumenty
KOMPRESJA STRATNA SYGNAŁU MOWY. Metody kompresji stratnej sygnałów multimedialnych: Uproszczone modelowanie źródeł generacji sygnałów LPC, CELP

2. Próbkowanie Sygnały okresowe (16). Trygonometryczny szereg Fouriera (17). Częstotliwość Nyquista (20).

Języki Modelowania i Symulacji

Kompresja dźwięku w standardzie MPEG-1

Technika audio część 2

Spis treści. Format WAVE Format MP3 Format ACC i inne Konwersja między formatami

Transformaty. Kodowanie transformujace

Przedmowa Wykaz oznaczeń Wykaz skrótów 1. Sygnały i ich parametry Pojęcia podstawowe Klasyfikacja sygnałów

TEORIA WYTWARZANIA DŹWIĘKÓW

Spis treści. Format WAVE Format MP3 Format ACC i inne Konwersja między formatami

Algorytmy detekcji częstotliwości podstawowej

Iloczyn skalarny, wektorowy, mieszany. Ortogonalność wektorów. Metoda ortogonalizacji Grama-Schmidta. Małgorzata Kowaluk semestr X

Kwantowanie sygnałów analogowych na przykładzie sygnału mowy

Szybka transformacja Fouriera (FFT Fast Fourier Transform)

Kodowanie podpasmowe. Plan 1. Zasada 2. Filtry cyfrowe 3. Podstawowy algorytm 4. Zastosowania

Kodowanie podpasmowe

Akwizycja i przetwarzanie sygnałów cyfrowych

Transformata Fouriera

9. Dyskretna transformata Fouriera algorytm FFT

Akwizycja i przetwarzanie sygnałów cyfrowych

Według raportu ISO z 1988 roku algorytm JPEG składa się z następujących kroków: 0.5, = V i, j. /Q i, j

FFT i dyskretny splot. Aplikacje w DSP

4 Zasoby językowe Korpusy obcojęzyczne Korpusy języka polskiego Słowniki Sposoby gromadzenia danych...

Transformata Laplace a to przekształcenie całkowe funkcji f(t) opisane następującym wzorem:

CHARAKTERYSTYKI CZĘSTOTLIWOŚCIOWE

8. Realizacja projektowanie i pomiary filtrów IIR

Kurs wyrównawczy - teoria funkcji holomorficznych

jest ciągiem elementów z przestrzeni B(R, R)

Informacja o przestrzeniach Hilberta

Kodowanie transformujace. Kompresja danych. Tomasz Jurdziński. Wykład 11: Transformaty i JPEG

Macierze. Rozdział Działania na macierzach

Układy współrzędnych

Kompresja Danych. Streszczenie Studia Dzienne Wykład 13, f(t) = c n e inω0t, T f(t)e inω 0t dt.

Metody numeryczne I Równania nieliniowe

Standardy telewizji kolorowej (SD)

dr inż. Piotr Odya Kontener

Audio i video. R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania. Podstawy Automatyki

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Kompresja danych DKDA (7)

Ćwiczenie 3. Właściwości przekształcenia Fouriera

FUNKCJE LICZBOWE. Na zbiorze X określona jest funkcja f : X Y gdy dowolnemu punktowi x X przyporządkowany jest punkt f(x) Y.

3. Przetwarzanie analogowo-cyfrowe i cyfrowo-analogowe... 43

Matematyka z el. statystyki, # 1 /Geodezja i kartografia I/

Kwantyzacja wektorowa. Kodowanie różnicowe.

Formaty plików audio

Zaawansowane algorytmy DSP

Liczby zespolone. x + 2 = 0.

dr inż. Piotr Odya. Kontener

Systemy i Sieci Telekomunikacyjne laboratorium. Modulacja amplitudy

Wielomiany podstawowe wiadomości

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Rozpoznawanie i synteza mowy w systemach multimedialnych. Analiza i synteza mowy - wprowadzenie. Spektrogram wyrażenia: computer speech

1 Macierze i wyznaczniki

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łanc Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

Stabilność. Krzysztof Patan

Matematyka dyskretna. Andrzej Łachwa, UJ, /10

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

Podstawowe człony dynamiczne

Algebra liniowa. 1. Macierze.

Konwersja AVI do DVD w programie Avidemux z napisami (również w systemie Linux)

Transformata Fouriera. Sylwia Kołoda Magdalena Pacek Krzysztof Kolago

Projektowanie układów regulacji w dziedzinie częstotliwości. dr hab. inż. Krzysztof Patan, prof. PWSZ

Ćwiczenie 4. Filtry o skończonej odpowiedzi impulsowej (SOI)

Kodowanie transformacyjne. Plan 1. Zasada 2. Rodzaje transformacji 3. Standard JPEG

DŹWIĘK. Dźwięk analogowy - fala sinusoidalna. Dźwięk cyfrowy 1-bitowy 2 możliwe stany fala jest mocno zniekształcona

Założenia i obszar zastosowań. JPEG - algorytm kodowania obrazu. Geneza algorytmu KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG

Formaty - podziały. format pliku. format kompresji. format zapisu (nośnika) kontener dla danych WAV, AVI, BMP

Ćwiczenie 6 Projektowanie filtrów cyfrowych o skończonej i nieskończonej odpowiedzi impulsowej

dr inż. Piotr Odya Parametry dźwięku zakres słyszanych przez człowieka częstotliwości: 20 Hz - 20 khz; 10 oktaw zakres dynamiki słuchu: 130 db

PODSTAWY RACHUNKU WEKTOROWEGO

Wykład VI. Dźwięk cyfrowy. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

2.7 Przestrzenie unormowane skończenie wymiarowe

13. Wybrane algorytmy cyfrowego przetwarzania sygnałów

Zadania egzaminacyjne

x(n) x(n-1) x(n-2) D x(n-n+1) h N-1

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11,

ANALIZA SYGNAŁÓ W JEDNÓWYMIARÓWYCH

Przekształcenie Fouriera i splot

W naukach technicznych większość rozpatrywanych wielkości możemy zapisać w jednej z trzech postaci: skalara, wektora oraz tensora.

φ(x 1,..., x n ) = a i x 2 i +

Iloczyn skalarny. Mirosław Sobolewski. Wydział Matematyki, Informatyki i Mechaniki UW. 10. wykład z algebry liniowej Warszawa, grudzień 2013

KARTA MODUŁU KSZTAŁCENIA

5. Rozwiązywanie układów równań liniowych

Optymalizacja ciągła

Dr inż. Robert Wójcik, p. 313, C-3, tel Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Algebra liniowa z geometrią

ĆWICZENIE 6 Transmitancje operatorowe, charakterystyki częstotliwościowe układów aktywnych pierwszego, drugiego i wyższych rzędów

2 1 3 c c1. e 1, e 2,..., e n A= e 1 e 2...e n [ ] M. Przybycień Matematyczne Metody Fizyki I

1. Liczby zespolone. Jacek Jędrzejewski 2011/2012

Podstawy Przetwarzania Sygnałów

Analiza szeregów czasowych: 2. Splot. Widmo mocy.

Kompresja sekwencji obrazów - algorytm MPEG-2

= i Ponieważ pierwiastkami stopnia 3 z 1 są (jak łatwo wyliczyć) liczby 1, 1+i 3

Przetwarzanie sygnałów

6. FUNKCJE. f: X Y, y = f(x).

Wstęp do Modelu Standardowego

Układy równań i nierówności liniowych

Transkrypt:

Kompresja danych DKDA (11) Marcin Gogolewski marcing@wmi.amu.edu.pl Uniwersytet im. Adama Mickiewicza w Poznaniu Poznań, 20 grudnia 2016

Idea Schematy typu analiza-synteza Główna idea Zamiast otrzymywać przybliżenia kolejnych wartości sygnału źródłowego, modelujemy sygnał wejściowy i przesyłamy parametry modelu. Odbiornik na podstawie otrzymanych parametrów syntetyzuje sygnał źródłowy. Metoda stosowana najczęściej do kompresji mowy. Stosujemy model symulujący działanie narządu mowy wysyłając takie parametry jak dźwięczność czy bezdźwięczność, szybkość przepływu powietrza czy naprężenie strun głosowych.

Kodowanie dźwięku Schemat systemu Sygnał wzbudzenia, najczęściej dwóch różnych typów: szum lub pewna ustalona częstotliwość dźwięku. Filtr model narządu mowy. Pierwsze prace nad mówiącymi maszynami sięgają XVIII wieku!

Kodowanie dźwięku Głoska dźwięczna

Kodowanie dźwięku Głoska bezdźwięczna

Kodowanie dźwięku Schemat model syntezy mowy

Kodowanie dźwięku Schemat wokoder odbiornika

Kodowanie obrazów Schematy typu analiza-synteza w kodowaniu obrazów Są prowadzone badania nad zastosowaniem tego typu schematów w kompresji obrazów, jednak modele tego typu nie doczekały się jeszcze implementacji na szerszą skalę (przykład: generowanie modelu twarzy mówiącego, zamiast przesyłania samych obrazów).

Wprowadzenie Wprowadzenie Zdefiniowane na kolejnych slajdach pojęcia dotyczą sygnałów, jednak większość z nich mogłaby być bardziej ogólna (tzn. nie są to terminy mające w teorii sygnałów jakieś odmienne znaczenie czasami można jednak przyjąć pewne drobne uproszczenia). Większość z definiowanych pojęć (może nawet wszystkie) wystąpiło już albo na wcześniejszych wykładach, albo w programie innych (obowiązkowych!) przedmiotów.

Wprowadzenie Przestrzenie (sygnałów deterministycznych) Przestrzeń metryczna Zbiór sygnałów w którym zdefiniowana jest metryka funkcjonał przyporządkowujący dowolnym dwóm sygnałom x i y nieujemną liczbę ρ(x, y) R spełniający warunki: 1 tożsamości (ρ(x, y) = 0 x = y), 2 symetrii (ρ(x, y) = ρ(y, x)), 3 nierówności trójkąta (ρ(x, y) + ρ(y, z) ρ(x, z)).

Wprowadzenie Przestrzenie (sygnałów deterministycznych) (2) Przestrzeń liniowa Zbiór sygnałów z operacjami dodawania sygnałów oraz mnożenia sygnałów (x, y, z) przez liczbę (α, β) takimi, że: 1 x + y = y + x, 2 (x + y) + z = x + (y + z), 3 α (x + y) = α x + α y, 4 α (β x) = (α β) x, 5 istnieje element 0 taki, że 0 x = 0, 6 istnieje element 1 taki, że 1 x = x.

Wprowadzenie Przestrzenie (sygnałów deterministycznych) (3) Przestrzeń liniowa unormowana Przestrzeń liniowa z odwzorowaniem R (normą) takim, że dla każdego sygnału x: 1 x 0, 2 x = 0 x = 0, 3 α x = α x, 4 x + y x + y.

Iloczyn skalarny Iloczyn skalarny Iloczyn skalarny Odwzorowanie przyporządkowujące uporządkowanej parze sygnałów (x, y) liczbę x, y taką, że: 1 x, y = y, x, 2 α x + β y, z = α x, z + β y, z, 3 x 0 x, x > 0, 4 x = 0 x, x = 0, gdzie * oznacza sprzężenie zespolone.

Iloczyn skalarny Przestrzenie (sygnałów deterministycznych) (4) Przestrzeń unitarna Przestrzeń liniowa, w której określony jest iloczyn skalarny x, y i która jest unormowana przez normę związaną z tym iloczynem x = x, x. Przestrzeń unitarna ortogonalność Sygnały x i y są ortogonalne, jeżeli x, y = 0. Przestrzeń unitarna ortonormalność Sygnały x i y są ortonormalne (unormowane), jeżeli są ortogonalne oraz x, x = y, y = 1.

Iloczyn skalarny Przestrzeń Hilberta (dygresja) Przestrzeń Hilberta Przestrzeń unitarna, metrycznie zupełna (każdy ciąg Cauchy ego ma granicę w tej przestrzeni) (rzeczywista lub zespolona). Przykład przestrzenie euklidesowe Dla każdego n N przestrzenie R n oraz C n z iloczynem skalarnym zdefiniowanym jako x, y = n j x j yj jest przestrzenią Hilberta.

Iloczyn skalarny Baza i liniowa niezależność Liniowa niezależność Zbiór (np. wektorów) S = {v 1, v 2,..., v n } nazywamy liniowo niezależnym, jeżeli nie istnieje taki ciąg liczb rzeczywistych a 1, a 2,..., a n nie wszystkich równych 0 taki, że n a i v i = 0. i=0 Baza Bazą nazywamy maksymalny zbiór wektorów liniowo niezależnych w danej przestrzeni liniowej (każdy wektor z tej przestrzeni może zostać przedstawiony jako kombinacja liniowa wektorów z bazy).

Wprowadzenie Podstawowe informacje Bezpośrednie obliczenie DFT ze wzoru N 1 X k = x n e i2πk n N, n=0 dla k = 0, 1,..., N 1 wymaga O(N 2 ) operacji. Algorytmy FFT wymagają O(N log N) (dla uproszczenia załóżmy, że N jest potęgą dwójki, w razie potrzeby można inaczej próbkować sygnał). Dla jednowymiarowego DFT/FFT daje to około 800 tys. razy szybsze wykonanie przy N = 2048. Wykonywanie większych obliczeń przed powstaniem szybkiego algorytmu było praktycznie niemożliwe. Wyniki DFT i FFT są identyczne (zakładając tę samą precyzję obliczeń).

Wprowadzenie Podstawowe informacje (2) Algorytm odkryty ponownie w 1965 (Cooley-Tukey). Używany przez Carla Friedricha Gaussa do interpolacji trajektorii asteroid w 1805 (opublikowany pośmiertnie). Zajmiemy się najprostszym przypadkiem radix-2, DIT (podstawa dwa, decymacja w czasie) w praktyce używa się nieco zmodyfikowanych wersji.

Algorytm Algorytm Dzielimy sygnał na dwa przeplatające się sygnały i obliczamy DFT N 1 X k = x n e i2πk n N, n=0 obu sygnałów, tzn. x 0, x 2,... x 2m 2 oraz x 1, x 3,..., x 2m 1 (N = 2m), oczywiście możemy dalej te sygnały dzielić rekurencyjnie.

Algorytm Algorytm (2) X[0..N-1] ditfft2(x, N, s): if N = 1 then X[0]:=x[0] else for i:=0 to N/2-1: X[i] :=ditfft2(x, N/2, 2s) // DFT(x[0], x[2s], x[4 X[i+N/2]:=ditFFT2(x+s, N/2, 2s) // DFT(x[s], x[3s], x[5 for k=0 to N/2-1: t :=X[k] X[k] :=t+exp(-2ni k/n) X[k+N/2] X[k+N/2]:=t-exp(-2ni k/n) X[k+N/2]

Algorytm Algorytm dlaczego działa Przypomnijmy. DFT to X k = N 1 n=0 x ne i2πk n N. Możemy jednak liczyć najpierw parzyste, a następnie nieparzyste składniki X k = = N/2 1 m=0 N/2 1 m=0 x 2m e i2πk 2m N x 2m e i2πk 2m N = E k + e 2πik N Ok. N/2 1 + m=0 + e 2πik N 2m+1 i2πk x 2m+1 e N N/2 1 m=0 x 2m+1 e i2πk 2m N Ze względu na okresowość DFT: E k+n/2 = E k oraz O k+n/2 = O k

Algorytm Algorytm dlaczego działa (2) Ostatecznie DFT możemy obliczyć jako: { Ek + e 2πik N O k dla k < N/2 X k = E k N/2 e 2πi(k N/2) N O k N/2 dla k N/2.

Metody kompresji stratnej śledzenie i upraszczanie zmian sygnału (np. ADPCM) przekształcanie do dziedziny częstotliwości i kwantyzacja współczynników (np. JPEG) metoda eliminacji niepotrzebnych składowych (kodowanie podpasmowe, częściowo MPEG) modelowanie w sposób uproszczony źródeł generowania sygnału

Szkic algorytmu podstawowa informacja zawarta w paśmie 300-3500Hz, zatem stosowany jest filtr antyaliasingowy (dolnoprzepustowy) o częstotliwości odcięcia 3500Hz, zgodnie z regułą próbkujemy 8000/s próbkujemy z rozdzielczością 7-16 bitów (kwantyzatorem liniowym lub z kompanderem, np. µ-law (USA), czy A-law (Europa)) dzielimy na krótkie fragmenty (np. 30ms) wyznaczamy parametry modelu (zwykle najpierw decydujemy, czy głoska była dźwięczna, czy bezdźwięczna, a potem określamy pozostałe parametry traktu głosowego) i przesyłamy do dekodera (lub zapisujemy)

Kwantyzatory µ-law, A-law stosowane głównie do kwantyzacji sygnału dźwięku gęściej próbkują sygnał w okolicy zera zapewniają percepcyjnie lepszą jakość dźwięku (przy tym samym bitrate), np. 8-bitowy logarytmiczny można porównać do 12-bitowego liniowego przekształcenie kodujące µ-law to: ln (1 + µ x ) F (x) = sgn(x) ln (1 + µ), gdzie µ = 255 (funkcja F (x) przyjmuje wartości z przedziału ( 1, 1), dla x z takiego przedziału) wersja dyskretna może być przedstawiona za pomocą kilkunastoelementowej tabeli

Trakt głosowy Moduł charakterystyki amplitudowo-częstotliwościowej ma cztery maksima, zatem potrzeba co najmniej czterech biegunów transmitancji, leżących wewnątrz okręgu jednostkowego, blisko pulsacji rezonansowych traktu głosowego. Ze względu na lepszą charakterystykę wykorzystywany jest filtr IIR. Ponieważ będą to bieguny zespolone, a wielomian mianownika ma mieć wyłącznie współczynniki rzeczywiste, to... muszą być one sprzężone (stąd mamy już 8). W praktyce przyjmuje się dziesiąty rząd wielomianu H(z) = = G A(z) = G 1 + a 1 z 1 + a 2 z 2 +... + a 10 z 10 G (1 p 1 z 1 )(1 p1 z 1 )... (1 p 5 z 1 )(1 p5 z 1 ).

Projektowanie filtrów metodą zer i biegunów

Wyznaczanie parametrów Wyznaczanie parametrów sprowadza się do wyznaczenia wzmocnienia G oraz współczynników a 1,..., a k. Transmitancji H(z) odpowiada następujące równanie czasowe filtra syntezy s(n) = G e(n) 10 k=1 a k s(n k)

Wyznaczanie (bez)dźwięczności Jak sprawdzić, czy dany fragment (np. 30ms) należy do głoski dźwięcznej, czy do bezdźwięcznej? Wykorzystujemy funkcję autokorelacji lub AMDF (Average Magnitude Difference Function) śledzące zmienność okresu tonu podstawowego. Ciekawostka Ze względu na ograniczenie konstrukcyjne narządu głosu człowieka przyjmuje się, że ramka dźwięczna nie może leżeć pomiędzy bezdźwięcznymi i na odwrót (bez względu na wstępną klasyfikację).

Wyznaczanie (bez)dźwięczności (2) Metoda funkcji autokorelacji Definiujemy funkcję r(k) = N 1 n=0 s(n)s(n + k), gdzie s(n) oznacza sygnał mowy po: filtracji filtrem dolnoprzepustowym o częstotliwości granicznej 900Hz: x (n) = M 1 k=0 h(k)x(n k) wymnożenia wyniku z oknem Hamminga w(n): s(n) = x (n) w(n), gdzie w(n) = 0, 54 0, 46cos( 2πn N 1 ), 0 n N 1.

LPC-10

LPC-10

LPC-10

LPC-10

LPC-10

LPC-10

LPC-10

LPC-10

LPC-10

LPC-10

LPC-10

LPC-10

LPC-10

LPC-10

O co z tymi oknami chodzi

O co z tymi oknami chodzi

O co z tymi oknami chodzi

O co z tymi oknami chodzi

O co z tymi oknami chodzi

O co z tymi oknami chodzi

O co z tymi oknami chodzi

O co z tymi oknami chodzi

O co z tymi oknami chodzi

O co z tymi oknami chodzi

O co z tymi oknami chodzi

O co z tymi oknami chodzi

O co z tymi oknami chodzi

O co z tymi oknami chodzi

O co z tymi oknami chodzi

O co z tymi oknami chodzi

O co z tymi oknami chodzi

O co z tymi oknami chodzi

Wyznaczanie (bez)dźwięczności (3) Metoda funkcji autokorelacji przypomnienie Definiujemy funkcję r(k) = N 1 n=0 s(n)s(n + k), gdzie s(n) oznacza sygnał mowy po przekształceniach. Obliczamy pierwsze globalne maksimum r(k) po k > K 0 (K 0 zależy m.in. od częstotliwości próbkowania). Jeżeli jest ono większe od wartości 0, 3 r(0) (do 0, 35), to uznajemy fragment za dźwięczny, w przeciwnym razie za bezdźwięczny.

Wyznaczanie (bez)dźwięczności (4) Ciekawostka W przeszłości wykorzystywano funcję AMDF zdefiniowaną jako N 1 D(k) = s(n) s(n + k), n=0 ze względu na to, że procesory krócej wykonywały dodawanie niż mnożenie.

Matroska strona domowa: http://www.matroska.org obsługa wielu strumieni audio/wideo/napisów obsługa menu (podobnie jak w DVD) podział na rozdziały szybkie wyszukiwanie w pliku możliwe strumieniowanie (HTTP, FTP, CIFS) odporność na błędy (np. brakująca część pliku) możliwe dalsze rozszerzenia (modularna budowa) EBML (Extensible Binary Meta Language)

AVI następca RIFF z 1991 (a pośrednio Interchange File Format (IFF) Electronic Arts z 1985) plik podzielony jest na kawałki (chunks), z których każdy ma swój identyfikator FourCC (ang. four-character code) standardowo: hdrl metadane określające plik video, tzn. rozmiar obrazu i liczbę klatek, movi dane audiowizualne, idxl informacje o położeniu kawałków wewnątrz pliku strona z opisem: http://www.jmcgowan.com/avi.html

MP4 - MPEG-4 Part 14 format pliku (tzn. np. nie strumień) standard z 2003 roku bardziej przemyślany niż AVI, ale nie oferujący wielu nowych możliwości jeżeli plik zawiera tylko strumień audio, to czasami ma rozszerzenie.m4a (zamiast mp4)

3GP uproszczona wersja MP4 wideo zwykle w formacie MPEG-4 część 2 lub H.263 audio często w AMR-NB lub AAC-LC (trochę nietypowe i częściowo opatentowane) ciekawostka: bajty w kolejności big-endian

ASF Advanced Systems Format dawniej nazywany Advanced Streaming Format głównie do przechowywania strumieni WMA i WMV objęty patentem i według obowiązującej licencji nie jest możliwa konwersja plików ASF do innego formatu!

Inne kontenery wideo Ogg MPEG2 QuickTime RealMedia (CBR) RMVB (VBR) WebM (kontener oparty na Matroska, cel: HTML5, proponowany przez Google)

Podsumowanie Wiele standardów kompresji (np. JPEG) nie definiuje formatu pliku. Często format jest zapożyczany (np. format TIFF w przypadku JPEG) lub tworzony, gdy zaistnieje taka potrzeba (obecnie pliki kodowane algorytmem JPEG zapisywane są najczęściej w JFIF JPEG File Interchange Format).