Elementy teorii informacji Co to jest informacja? Słownik Języka Polskiego:. «wiadomość o czymś lub zakomunikowanie czegoś» 2. «dział informacyjny urzędu, instytucji» 3. «dane przetwarzane przez komputer» informacyjny informacyjnie informacyjność informacja genetyczna «dane o cechach dziedzicznych organizmu zakodowane w genach» informacja naukowa «dział nauki zajmujący się opracowywaniem i rozpowszechnianiem danych naukowych dotyczących aktualnego stanu wiedzy w określonej dziedzinie» nośnik danych, informacji «fizyczny ośrodek przeznaczony do przechowywania danych, np. w komputerze dyski magnetyczne i optyczne» teoria informacji «dział matematyki stosowanej poświęcony zagadnieniom kodowania, przekazywania i przechowywania informacji» Elementy teorii informacji Co to jest informacja? Webster s Dictionary: the communication or reception of knowledge or intelligence a () : knowledge obtained from investigation, study, or instruction (2) : INTELLIGENCE, NEWS (3) : FACTS, DATA b : the attribute inherent in and communicated by one of two or more alternative sequences or arrangements of something (as nucleotides in DNA or binary digits in a computer program) that produce specific effects c () : a signal or character (as in a communication system or computer) representing data (2) : something (as a message, experimental data, or a picture) which justifies change in a construct (as a plan or theory) that represents physical or mental experience or another construct d : a quantitative measure of the content of information; specifically : a numerical quantity that measures the uncertainty in the outcome of an experiment to be performed : the act of informing against a person : a formal accusation of a crime made by a prosecuting officer as distinguished from an indictment presented by a grand jury
Elementy teorii informacji Co to jest informacja? Claude Edwood Shannon, 948 A Mathematical Theory of Communication Kodowanie źródła Kodowanie kanału Przepustowość informacyjna kanału Informacja <-> miara niepewności Reprezentacja informacji Sygnał jest nośnikiem informacji Redundancja Dz ń d br P ństw 2
Reprezentacja informacji Sygnał jest nośnikiem informacji Redundancja Dz ń d br P ństw Dzień dobry Państwu Reprezentacja informacji Sygnał jest nośnikiem informacji Redundancja - nadmiarowość Dz ń d br P ństw Dzień dobry Państwu Nadmiarowość kosztuje, więc się jej pozbywamy: Kompresja sygnałów (kodowanie źródła) 3
STANDARDOWE TECHNIKI KOMPRESJI SYGNAŁÓW Źródło Kompresja Kanał transmisji sek. wideo Full HD 25fps 24 bit = 466 56 bps ~= 445 Mbps sek. muzyki CD (fs=44khz,6 bit, stereo) ~= 378 kbit fotografia Mpx, 32bpp ~= 35 Mb ~= 38 MB Dekompresja Odbiorca. Metody bezstratne 2. Metody stratne 8 Kodowanie entropowe EC, ang. Entropy Coding s( n) s M m m Ilość informacji stowarzyszona z komunikatami s m : m,..., M wynosi I m) log p, gdzie pm ( 2 m wystąpienia s m, a jej miarą jest ilość bitów. jest prawdopodobieństwem Średnia ilość bitów potrzebnych do bezstratnego zakodowania komunikatu (entropia) jest wartością oczekiwaną M H p m log 2 p m m 4
Alfabet Morse a Samuel Finley Breese MORSE (79-872) amerykański malarz i wynalazca 837 aparat telegraficzny 84 - alfabet telegraficzny 844 pierwsza na świecie linia Baltimore - Washington e i a n m s u r w d k g o t bit 2 bity 3 bity h v f l ą p j b x c y z q ó ch 4 bity Sprawność kodowania Oczekiwana ilość bitów H w M b m m p m H M m p m log 2 p m gdzie p m jest prawdopodobieństwem komunikatu zakodowanego przez symbol posiadający Sprawność kodowania % H H w b m bitów. może być co najwyżej równa %, bo entropia jest dolną granicą średniej liczby bitów wymaganych do reprezentacji komunikatów. 5
Kodowanie ze zmienną długością słowa VLC ang. Variable Length Coding sm pm - /8 /4 3/8 2 /4 David A. Huffman H log log 3 log 3 2 8 4 2 4 8 2 8 4 log 2 4 8,9 2 Przykład algorytmu kodowania metodą Huffmana 952 rok Symbol Prawdopodobieństwo Prawdopodobieństwo Prawdopodobieństwo 3/8 3/8 5/8 /4 3/8 3/8 2 /4 /4 - /8 3 6
Kontynuacja przykładu kodu Huffmana Symbol - 2 Prawdopodobieństwo,25,25,375,25 Kod binarny Przeciętna ilość bitów na symbol 3 2 3( ) 2,9 2 H w Sprawność kodowania % 95% 2 2 - - 8 4 4 8 % sprawność kodowania gdy prawdopodobieństwa są potęgami /2 4 Kolejny przykład kodowania Huffmana e [,76] e [,76] a [,73] a [,73] c [,37] db ()[,38] d()[,3] c ()[,37 ] } b()[,8] } e [,76] c d b ()[,75] a ()[,73] } a c d b()[,48] e ()[,76] Symbol a b c d e Prawdopodobieństwo,73,8,37,3,76 Kod binarny 5 7
Prosty przykład kodu Huffmana p m gęstość prawdopodobieństwa zmiennej losowej s m m F m p i i dystrybuanta H =,335 bit/symbol Znak Prawdopodobieństwo Kod Huffmana,95,2,3 H w,5 bit/symbol Sprawność tylko 3,9% 6 Kod Huffmana sekwencji symboli Sekwencja symboli Iloczyn prawdopodobieństw Kod Huffmana,925,9,285,9,4,6,285,6,9 H =,6 bit/symbol H w,222 bit/symbol sprawność 5 % Poprzednio: H =,335 bit/symbol H w,5 3,9% 7 8
Tworzenie sekwencji elementów dla kodowania arytmetycznego,95, 97,969,95 97,9694,,969 Ilość bitów potrzebna do zakodowania komunikatu jest częścią całkowitą log 2 p n,96938,9694,969388 8 Przykład kodowania arytmetycznego H,58 4,7 % w Sekwencja symboli Iloczyn prawdopodobieństw Granice przedziału Wartość środkowa w kodzie dziesiętnym Wartość środkowa w kodzie binarnym log 2 p n,925,925,4525,9,925,925,92,285,925,95,93575,9,95,969,9595,4,969,9694,9692,6,9694,97,9697,285,97,9985,98425,6,9985,999,9988,9,999 -,99955,,,,,,,,,,5 6,72 6,3 6,72 3,29,7 6,3,7,2 9
Kodowanie ciągów RLC ang. Run Length Coding (RLE) v, r gdzie v (od ang. value) powtarzający się symbol r (od ang. run) liczba powtórzeń,,,2,,,2,3 kod kod 2 Kodowanie predykcyjne np. z autokorelacji normalizujemy, aby r p( n) i s( n i) i r i s ( n i) s( n) i i czyli n i i r i i d( n) s( n) p( n) s( n) p( n) d( n) NADAWCA ODBIORCA 2
Podsumowanie kompresji bezstratnej Algorytmy Kodowanie Huffmana Kodowanie długości sekwencji RLC/RLE Kodowanie predykcyjne LPC Lempel-Ziv-Welsch LZW Deflate Formaty plików i systemy ZIP, RAR, GIF, PNG, FLAC, Kanał transmisyjny (AWGN) szum kanału spadek mocy straty pakietów mieszanie pakietów opóźnienie, Jitter rekonstrukcja postprocessing Nadawca Koder Kanał transmisyjny Dekoder Odbiorca Sygnał Zakodowany sygnał Sygnał C bit / s BHz log 2 S N RMS RMS
Kanał transmisyjny (AWGN) szum kanału spadek mocy straty pakietów mieszanie pakietów opóźnienie, Jitter C bit / s BHz log 2 S N RMS RMS Kanał transmisyjny (AWGN) 2
Metody kompresji stratnej SYGNAŁ Kodowanie stratne Dekodowanie SYGNAŁ nieco inny 26 Kwantyzacja skalarna s wy SQ ang. Scalar Quantization s we Kwantyzacja równomierna i nierównomierna s i2 i s si2 si s i i s s i2 si si si2 s i 3 s Q( s) gdzie s s i i s i i, i podzbiór liczb rzeczywistych. s (i) są rozdzielnymi zbiorami pokrywającymi poziomy reprezentacyjne progi decyzyjne poziom reprezentacyjny lub kod 27 3
Kwantyzacja skalarna równomierna nierównomierna 2 Błąd kwantyzacji: Ee Qx Q Algorytm Max-Lloyd a do wyznaczenia funkcji kwantyzacji Q(x) optymalnej względem p(x). 2 x p x dx Kwantowanie wektorowe Przykład gdy x, x i 2 Książka kodowa Q( x) xi np. działanie w/g reguły dx, x dx, x j M i j,..., M- liczba elementów książki kodowej 29 4
Diagram Woronoja (Voronoi Tessellation) Gieorgij Fieodosjewicz Woronoj (868-98), student Markowa x, μ dx, R x : d μ, i i i j j Rys. Wikimedia CC Modulacja impulsowo-kodowa PCM (ang. Pulse Code Modulation), ITU-T G.7 Bez kompresji, Q=8bit, f s =8 khz jaki bitrate? Waveform coding tutaj: kwantyzacja s PCM (n)=q(s a (n)) Nierównomierny rozkład amplitud sygnału mowy Nieoptymalne wykorzystanie kwantyzatora Wysoki szum kwantyzacji E S C bit / s BHz log 2 N 2 e Q Qs RMS RMS 2 s p s ds Liczba próbek 4 2 8 6 4 2 Sygnał wejściowy - -.5.5 Amplituda Amplituda kompandancji, =255 5
5/25/27 Modulacja impulsowo-kodowa PCM (ang. Pulse Code Modulation), ITU-T G.7 Bez kompresji, Q=8bit, fs=8khz jaki bitrate? Waveform coding tutaj: kwantyzacja spcm(n)=q(sa(n)) Nierównomierny rozkład amplitud sygnału mowy Nieoptymalne wykorzystanie kwantyzatora Wysoki szum kwantyzacji Sygnał wejściowy 4 Kompresja dynamiki (amplitudy) próbek kompandancja μ-law, μ=2q- ln s n s Law n sgn s n ln Amplituda kompandancji, =255 2 Liczba próbek A-Law, A=87.56 A s n, s n ln A A s A Law n sgn s n ln A s n, s n ln A A 8 6 4 2 -.8.6.4.2 -.5.5 Amplituda.5 Amplituda wejścia Modulacja impulsowo-kodowa PCM (ang. Pulse Code Modulation), ITU-T G.7 przykład Sygnał wejściowy Sygnał po kompandancji 4 Liczba próbek 8 6 4 2-3.8 25 Liczba próbek Amplituda kompandancji, =255 2 35.6.4.5 Amplituda 5.2 A-Law 5 -Law -.5 2.5 Amplituda wejścia - -.5.5 Amplituda Zysk kompandancji dla zakresu liniowego s(n) </A δsnr = 2log2(24)=24. db, bo /A odpowiada 4 bitom 6
Kodowanie transformatowe T - transformacja Q - kwantowanie K kodowanie bezstratne K - - dekodowanie Q - - dekwantyzacja IT- transformacja odwrotna 35 Transformacje częstotliwościowe krótkoczasowa Fouriera sˆ( f, ) w( t ) s( t) e 2jft dt w( t ) s( t) cos(2ft) j sin(2ft) dt kosinusowa s s ( f ) ( t)cos(2tf ) dt falkowa s a b ~, s a ( t ) t b dt a 36 7
Dyskretna transformacja kosinusowa DCT (Discrete Cosine Transform) Ciąg liczb (wektor, sygnał) można przedstawić jako kombinację liniową innych ciągów (wektorów, sygnałów) bazowych Wektory bazowe ortogonalne Skoro ortogonalne, to mało skorelowane (z definicji) Sinusoidy interpretacja fizyczna częstotliwość DCT: s( k) 2 c( k) N (2n ) k N N s( n)cos n 2 k,,, N uwaga, indeksujemy od Dyskretna transformacja kosinusowa DCT, ang. Discrete Cosine Transform s( k) 2 c( k) N (2n ) k N N s( n)cos n 2 k,,, N gdzie 2 c(k) dla dla k k Transformacja odwrotna s( n) 2 N (2n ) k N N c( k) s( k)cos k 2 38 8
DCT Funkcje bazowe s( k) 2 c( k) N (2n ) k N N s( n)cos n 2 k,,, N.5 m= m= m=2 m=2 m=3 m=3 m=4 m=4 2 4.5 6 -.5 8 -.5-2 4 6 8 2 4 6 8 - DCT - przykład transformat.2.5..5 2 3 4 5 6 7 8 9 Wektory oryginalne wektory transformowane DCT.5 2 3 4 5 6 7 8 9.5 nr sygnalu 2 3 4.8.6.4.2 -.2 nr sygnalu 2 3 4.5 -.5-5 -.4 2 4 6 8 5 2 4 6 8 9
DCT kowariancja transformat Kowariancja wektorów Kowariancja transformat DCT Macierz kowariancji cov(s wy ) KLT Macierz kowariancji widm cov(s wy ) 2. 2.6 4.5 4.4 6 8 2 4 6 8 -.5 6 8 2 4 6 8.2 -.2 Macierz kowariancji cov(s test ) KLT Macierz kowariancji widm cov(s test ) DCT dla bloków po 8 próbek Dzieląc sygnał na bloki po 8 próbek posługujemy się transformacją s( k),5c( k) 2 7 n s( n)cos (2n ) k /6 - -2 5 5 2 25 3 35 4 45 5 42 2
Kompresja obrazów JPEG ISO/IEC IS 98- ITU-T Recommendation T.8 99 rok Schemat kompresji JPEG 2
Kwantyzacja widma Schemat kompresji JPEG 22
Kompresja obrazów JPEG ang. Joint Photographic Experts Group ISO/IEC IS 98- ITU-T Recommendation T.8, 99 rok Q=% R=2.6 Q=25% R=23 Q=% R=46 Q=% R=44 Rys. Wikmiedia CC Q 23
Sygnał audio: 44 próbek/sekundę po 6 bitów daje 75 6 bitów/s w jednym kanale Sygnał telefoniczny: Filtrowanie do 4 khz, Próbkowanie 8 próbek/sekundę, Zamiana próbek na 3-bitowe pakiety - strumień 4 kbit/s, KOMPRESJA do 3 kbit/s. Kompresja 75 6 / 3 ~ 54,28 5 Kompresja audio w GSM Sygnał dzielony na bloki po 2 ms, Każdy blok kodowany na 26 bitach, Biblioteka wzorców (sygnałów wzorcowych) i 4 bity na sygnał wzorcowy, 56 bitów opisuje różnicę między wzorcem a oryginałem. 26 bit 3 kbit/s 2 ms 5 24
Kodowanie mowy Source-Filter Model Akustyka mowy Dopasowany system komunikacji Fizyka, teoria informacji, Zakres częstotliwości: PCM 4Hz Std. 8Hz CD 225Hz Dynamika min. 3, 4 bity 6.5*3 ~ 2 db 25
Ciśnienie akustyczne [db] 5/25/27 4 2 8 6 4 2 Krzywe izofoniczne Fletchera-Munsona obszar mowy Obszar mowy Próg bólu (2 fonów) -2. Częstotliwość [khz] fragment siatki obiektywnej skali decybelowej, subiektywna skala fonowa - krzywe izofoniczne próg pobudzenia i próg bólu Próg pobudzenia ( fonów) Rys. M. Kępiński Maskowanie 55 Rys. L. Rabiner, Introduction to Digital Speech Processing, NOW 27 26
Maskowanie tonów Rys. P. Vary, R. Martin, Digital Speech Transmission, Wiley 25 Maskowanie w czasie - przykłady dt dl T =23dB (RMS) ms 2 ms Rys. P. Vary, R. Martin, Digital Speech Transmission, Wiley 25 5 27
Kompresja Audio MPEG (MP3) Fraunhofer Labs MPEG-/MPEG-2 Audio Layer 3 Kompresja Audio MPEG (MP3) ISO 28
Wymagania dla transmisji i kodowania Stałe opóźnienie, małe opóźnienie Opóźnienia transmisji Opóźnienia przetwarzania (kodeka, ramkowania) Brak echa i przesłuchów Zachowanie treści, barwy, prozodii, dynamiki i cech osobniczych mowy, w każdym języku Zachowane pasmo, zachowane harmoniczne, DTMF Brak szumów / obecność szumów Małe straty pakietów, właściwa kolejność pakietów mniejsze i stałe opóźnienia Rozproszenie informacji możliwa rekonstrukcja po stracie pakietu, bitu Niskie przepływności bitowe -> duża pojemność systemu Łatwość implementacji (koszt energetyczny) Rodzaje kodeków Bit-rate Szerokopasmowe > kbps > Wąskopasmowe stały zmienny przełączany Metoda kodowania Kodowanie przebiegu (ang. waveform coders), np. PCM Kodowanie parametryczne, konieczny model sygnału, np. LP Hybrydowe, np. CELP (analysis-by-synthesis) Wielomodalne Standardy: ITU, ANSI, ETSI, DoD, RCR (JP) Np. w GSM 2G, 3G, 4G, 4-24kbps, >8kHz Half-Rate - 5.6 kbps VSELP (Vector-Sum-Excited LP), std. GSM-HR Full-Rate - 3 kbps RPE-LTP (Regular Pulse Excitation Long Term LP) Enhanced FR 2.2 kbps ACELP (Algebraic Code-Excited LP) Adaptive Multi-Rate 4.75-2.2 kbps (ACELP) AMR-WideBand 6.6-23.85 (ACELP), HD Voice, G.722.2 http://en.wikipedia.org/wiki/list_of_codecs#voice http://en.wikipedia.org/wiki/comparison_of_audio_codecs 29
Kodowanie CELP ang. Code-Excited Linear Prediction Występuje w wielu odmianach (ACELP, RCELP, LD-CELP, VSELP, ) Najczęściej stosowana obecnie strategia Modelowanie traktu głosowego (predykcja liniowa) z kwantyzacją wektorową (VQ) wyników modelowania / modeli odniesienia z kwantyzacją wektorową (VQ) pobudzenia szybką adaptacją parametrów kodera i aktywnym psychoakustycznym kształtowaniem szumu Zasada działania AbS: Analiza przez syntezę (Analysis by Synthesis) Analysis-by-Synthesis 3
CELP struktura kodera Formant analysis filter 3
CELP Kodowanie polega na dopasowaniu pobudzenia (ang. excitation signal) Ramkowanie 2-3ms Stosowanie pod-ramek (ang. sub-frames) Rozmiar książki kodowej zazwyczaj > 8 bitów Wyznaczanie ważonego błędu syntezy w pętli AbS Postfiltering krótko i długookresowy Adaptacja książki kodowej Przeszukiwanie książki kodowej: Algorytmy stochastyczne State-save, i inne 32