Percepcyjne kodowanie dźwięku

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

Wybrane metody kompresji obrazów

Kompresja dźwięku w standardzie MPEG-1

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

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

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

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

Fundamentals of Data Compression

Kompresja video (MPEG)

Zastosowanie kompresji w kryptografii Piotr Piotrowski

Def. Kod jednoznacznie definiowalny Def. Kod przedrostkowy Def. Kod optymalny. Przykłady kodów. Kody optymalne

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

KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG

Kompresja Kodowanie arytmetyczne. Dariusz Sobczuk

Kompresja sekwencji obrazów - algorytm MPEG-2

Przedmowa 11 Ważniejsze oznaczenia 14 Spis skrótów i akronimów 15 Wstęp 21 W.1. Obraz naturalny i cyfrowe przetwarzanie obrazów 21 W.2.

Kwantyzacja wektorowa. Kodowanie różnicowe.

Kompresja obrazów w statycznych - algorytm JPEG

dr inż. Piotr Odya Wprowadzenie

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

Podstawy transmisji multimedialnych podstawy kodowania dźwięku i obrazu Autor Wojciech Gumiński

Kodowanie i kompresja Streszczenie Studia Wieczorowe Wykład 10, 2007

ZAKŁAD SYSTEMÓW ELEKTRONICZNYCH I TELEKOMUNIKACYJNYCH Laboratorium Podstaw Telekomunikacji WPŁYW SZUMÓW NA TRANSMISJĘ CYFROWĄ

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

Wybrane algorytmu kompresji dźwięku

Joint Photographic Experts Group

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

dr inż. Jacek Naruniec

Micha Strzelecki Metody przetwarzania i analizy obrazów biomedycznych (2)

Technika audio część 2

mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 4, strona 1. GOLOMBA I RICE'A

Transformata Fouriera

Wielokanałowe systemy kodowania dźwięku

Wydział Elektryczny. Katedra Telekomunikacji i Aparatury Elektronicznej. Instrukcja do pracowni specjalistycznej

Języki Modelowania i Symulacji

Kompresja sekwencji obrazów

Kodowanie Huffmana. Platforma programistyczna.net; materiały do laboratorium 2014/15 Marcin Wilczewski

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

Teoria sygnałów Signal Theory. Elektrotechnika I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Klasyfikacja metod kompresji

mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 1, strona 1.

Opis efektów kształcenia dla modułu zajęć

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

Kodowanie podpasmowe

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

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

Klasyfikacja metod kompresji

Wielokanałowe systemy kodowania dźwięku

Przetwarzanie i transmisja danych multimedialnych. Wykład 5 Kodowanie słownikowe. Przemysław Sękalski.

Politechnika Świętokrzyska. Laboratorium. Cyfrowe przetwarzanie sygnałów. Ćwiczenie 6. Transformata cosinusowa. Krótkookresowa transformata Fouriera.

Adaptacyjne Przetwarzanie Sygnałów. Filtracja adaptacyjna w dziedzinie częstotliwości

Kompresja danych DKDA (7)

Przetwarzanie i transmisja danych multimedialnych. Wykład 6 Metody predykcyjne. Przemysław Sękalski.

Inżynieria obrazów cyfrowych. Ćwiczenie 5. Kompresja JPEG

Egzamin / zaliczenie na ocenę*

Przekształcenie Fouriera i splot

(12) TŁUMACZENIE PATENTU EUROPEJSKIEGO (19) PL (11) PL/EP (96) Data i numer zgłoszenia patentu europejskiego:

Kompresja bezstratna. Entropia. Kod Huffmana

Wstęp do techniki wideo

teoria informacji Entropia, informacja, kodowanie Mariusz Różycki 24 sierpnia 2015

Nowoczesne metody emisji ucyfrowionego sygnału telewizyjnego

Program wykładu. informatyka + 2

Kodowanie predykcyjne

Akwizycja i przetwarzanie sygnałów cyfrowych

Kody splotowe (konwolucyjne)

Transformaty. Kodowanie transformujace

dr inż. Artur Janicki pok. 414 Zakład Systemów Teletransmisyjnych Instytut Telekomunikacji PW

2. STRUKTURA RADIOFONICZNYCH SYGNAŁÓW CYFROWYCH

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

Sieci neuronowe - projekt

Modulacja i kodowanie. Labolatorium. Kodowanie źródłowe Kod Huffman a

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9,

Kody Tunstalla. Kodowanie arytmetyczne

(12) TŁUMACZENIE PATENTU EUROPEJSKIEGO (19) PL (11) PL/EP (96) Data i numer zgłoszenia patentu europejskiego:

Psychoakustyka. Dźwięk zapisany w formie nieskompresowanej na przykład na CD zawiera więcej informacji niż jest w stanie przetworzyć ludzki mózg.

DYSKRETNA TRANSFORMACJA FOURIERA

MODULACJE IMPULSOWE. TSIM W10: Modulacje impulsowe 1/22

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

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

przedmiot kierunkowy (podstawowy / kierunkowy / inny HES) obieralny (obowiązkowy / nieobowiązkowy) polski semestr VI

Krótki przegląd pierwszych standardów kompresji obrazów

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA Realizowany w roku akademickim 2016/2017

Sprawdzian wiadomości z jednostki szkoleniowej M3.JM1.JS3 Użytkowanie kart dźwiękowych, głośników i mikrofonów

Kompresja danych kodowanie Huffmana. Dariusz Sobczuk

KOMPRESJA STRATNA DŹWIĘKU

Podstawowe pojęcia. Teoria informacji

FFT i dyskretny splot. Aplikacje w DSP

Przetwarzanie i transmisja danych multimedialnych. Wykład 10 Kompresja obrazów ruchomych MPEG. Przemysław Sękalski.

Temat: Algorytm kompresji plików metodą Huffmana

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

ADAPTACYJNE PRZETWARZANIE SYGNAŁÓW LABORATORIUM. Ćwiczenie 4. Wybrane telekomunikacyjne zastosowania algorytmów adaptacyjnych

Nierówność Krafta-McMillana, Kodowanie Huffmana

(12) TŁUMACZENIE PATENTU EUROPEJSKIEGO (19) PL (11) PL/EP (96) Data i numer zgłoszenia patentu europejskiego:

Komputerowe modelowanie ludzkiego słuchu w kompresji dźwięku

Przedstawiamy Państwu tekst będący

Teoria Informacji - wykład. Kodowanie wiadomości

Cyfrowe przetwarzanie i kompresja danych. dr inż.. Wojciech Zając

Przetwarzanie sygnałów z zastosowaniem procesorów sygnałowych - opis przedmiotu

Teoria informacji i kodowania Ćwiczenia

Transkrypt:

Percepcyjne kodowanie dźwięku Wykład (prof. dr hab. inż. Tomasz Zieliński): 1. Podstawy bezstratnego (Huffmana) i stratnego (ADPCM) kodowania sygnałów. 2. Percepcyjne właściwości ludzkiego słuchu. Modele psychoakustyczne 1 i 2 MPEG audio. 3. Zestawy filtrów: dekompozycja sygnału dźwiękowego w standardach MP2 i MP3. 4. Algorytm MP2 standardu MPEG-2 audio: alokacja bitów, formowanie ramki. 5. Algorytmy MP3 i AAC standardu kompresji MPEG-2 audio. 6. Algorytmy kodowania dźwięku standardu MPEG-4. 7. Algorytm AC3. Kodowanie dźwięku wielokanałowego. Bezstratne kodowanie dźwięku. 8. Kierunki rozwoju kodowania percepcyjnego dźwięku. Laboratorium (dr inż. Jarosław Bułat): 1. Bezstratne kodowanie Huffmana 2. Stratne kodowanie ADPCM 3. Modele psychoakustyczne 1 i 2 standardu MPEG-2 audio 4. Zespół filtrów poziomu MP2 standardu MPEG audio 5. Alokacja bitów i formowanie ramki w standardzie MP2 standardu MPEG audio 6. Zespół filtrów poziomu MP3 standardu MPEG-2 audio 7. Kodowanie dźwięku wielokanałowego. Bezstratne kodowanie dźwięku. 8. Test sprawdzający.

Literatura: 1. Zieliński T.: Cyfrowe przetwarzanie sygnałów. Od teorii do zastosowań: WKŁ, Warszawa 25 2. Bosi M.: Introduction to digital audio coding and standards: Springer 22. 3. Spanias A. Painter T.: Audio signal processing and coding: Wiley 27. 4. Painter T., Spanias A.: Perceptual coding of digital audio: Proc. IEEE, vol. 88, no. 4, str. 451-513, April 2 5. ISO/IEC IS11172-3: Coding of moving pictures and associated audio for digital storage media up to 1.5 Mbit/s, Part 3: Audio, Annex D,. ISO/IEC JTCI, 1992. Zasady organizacyjne: Wykłady i laboratoria odbywają się co dwa tygodnie na przemian: Tydzień 1: wykład 1 (2.1.212), Tydzień 2: lab 1, Tydzień 3: wykład 2 (16.1.212), Tydzień 4: lab 2, itd. Wykład odbywa się w Sali 127.D-5 o godz. 8: w co drugi wtorek. Forma zaliczenia przedmiotu: sprawozdania z ćwiczeń, kolokwium końcowe Zasada wystawienia oceny końcowej: średnia ważona: ocena ze sprawozdań (75%) oraz kolokwium (25%)

1. Wprowadzenie Metody kodowania: - bezstratne (medycyna, dane komputerowe) - stratne (mowa, dźwięk/audio, obraz, wideo) Kodowanie bezstratne: - nic nie ginie, inne zapisanie tego samego Zasada: - symbole występujące częściej otrzymują krótszy kod bitowy, a występujące rzadziej - dłuższy Metody kodownia: - Huffmana, arytmetyczne, słownikowe Kodowanie stratne: - utrata informacji/jakości, zauważalna lub nie Zasada: Mowa: Uwzględnianie nadajnika. Mowę wypowiada człowiek, każdy z nas jest zbudowany tak samo, można zbudować model generacji mowy, kodowaną mowę dzieli się na fragmenty i dla każdego z nich znajduje się wartości parametrów dla modelu / syntezatora. Zapisuje się i przesyła parametry syntezatora.

Dźwięk: Uwzględnianie odbiornika. Ponieważ dźwięk przeznaczony jest dla człowieka usuwamy z niego to wszystko czego człowiek nie usłyszy. Ponieważ występujące częstotliwości wzajemnie się maskują. Sygnał dźwięku dzielony jest na podpasma częstotliwościowe i przydziela się różną liczbę bitów na każde podpasmo w zależności od istotności psychoakustycznej tego podpasma. Obraz: Efektywnie kodujemy informację w dziedzinie częstotliwości: usuwamy redundancję (powtarzanie się) informacji i wysokoczęstotliwościowe szczegóły. Film: Jak wyżej, dodatkowo nie zapisujemy tego co powtarza się na kolejnych obrazach

2. Kodowanie bezstratne Zastępowanie sekwencji bitów innymi sekwencjami bitów (transkodowanie) tak aby suma bitów była mniejsza. Zasada kodowania Huffmana: jeśli coś występuje częściej otrzymuje krótszy kod! Np. Komunikat { a, a, b, a, a, c, d, d, a, a } Tablica kodowa Huffmana dla tego komunikatu Koder: Dekoder: Symbol Kod stary Liczba powtórzeń Prawdopodobieństwo Kod nowy a 6.6 = 6/1 b 1 1.1 = 1/1 1 c 1 1.1 = 1/1 11 d 11 2.2 = 2/1 11 Komunikat: { a, a, b, a, a, c, d, d, a, a }: Stary kod: 1 1 11 11 = 2bitów Nowy kod: 1 11 11 11 = 16bitów

Algorytm kodowania Huffmana 1) Połącz dwa symbole o najniższym prawdopodobieństwie p a =,6 p b =,1 p c =,1 p d =,2 p a =,6 p bc =,2 p d =,2 p a =,6 p bcd =,4 p abcd = 1 2) Zbuduj drzewo odpowiadające ww. połączeniom: a b c d p a =,6 p b =,1 p c =,1 p d =,2 1 p bc =,2 1 p bcd =,4 1 p abcd = 1 3) Znajdź nowy kod każdego symbolu: poruszaj się od pnia drzewa do konaru z danym symbolem, każdy skręt w prawo = 1, a w lewo =. Np. dla b mamy 1. Otrzymałeś: a = b = 1 c = 11 d = 11

Entropia ciągu symboli określa najmniejszą możliwą liczbę bitów, potrzebnych do zakodowania pojedynczego symbolu tego ciągu: N H( x) = pnlog2 p n= 1 Oblicz entropię komunikatu { a, a, b, a, a, c, d, d, a, a }, tego samego co poprzednio: ( ) H( x ) =.6 log (.6) +.1 log (.1) +.1 log (.1) +.2 log (.2) 2 2 2 2 ( ) Hx= ( ).44218.3322.3322.464385619 Hx= ( ) 1.57956 bita/symbol U nas mamy 1 symboli, czyli minimum to 15.71 bita. A potrzebowaliśmy 16 bitów! n

Programy w Matlabie z instrukcji function [symb, prawd] = sortuj( x ); symb = unique( x ); prawd = zeros( size(symb) ); for n=1:length(prawd) prawd(n)=sum( x == symb(n) ); end function tr = drzewo( symb, prawd ) for n=1:length(prawd); node.pr=prawd(n); node.left=[]; node.right=[]; node.symbol=symb(n); tr(n)=node; end while( length(tr) > 1 ) pr = cat(, tr.pr ); [ dummy, idx ] = sort( pr, 'ascend' ); tr = tr(idx); % sortuj według prawdopodobieństwa trnew.pr=tr(1).pr+tr(2).pr; % suma prawdopodobieństw trnew.left=tr(1); trnew.right=tr(2); trnew.symbol=[]; % symbol pusty (suma symboli) tr = [tr, trnew]; % dodaj nowy złożony symbol na końcu tr(1:2) = []; % skasuj dwa pierwsze symbole end function kod=tablicakodera( kod, tr ) if( ==isempty( tr.symbol ) ) kod(length(kod)+1).symbol = tr.symbol; kod(end).bits = []; return; end kodleft = tablicakodera( kod, tr.left ); kodright = tablicakodera( kod, tr.right ); for n=1:length(kodleft) kodleft(n).bits = ['1', kodleft(n).bits]; end for n=1:length(kodright) kodright(n).bits = ['', kodright(n).bits]; end kod = [kod, kodleft, kodright];

Alternatywny kod w Matlabie 1 function start 2 clc 3 x = abs(round(1*randn(1,1))); 4 [symbole, p]=zlicz(x); 5 [symbole, tabela] = tabela_huffmana(symbole, p); 6 bity = huffman_koder(x, symbole, tabela); 7 y = huffman_dekoder(bity, symbole, tabela); 8 blad_rekonstrukcji=sum(abs(x(:)-y(:))) 9 function [symbol tabela] = tabela_huffmana(symbol,prw); 1 for k=1:length(symbol); 11 st{k}=k; %symbole tymczasowe 12 tabela{k}=[]; 13 end 14 p=prw(:); 15 Np = length(p)+1; 16 while Np>2 17 Np = length(find(p<1)); 18 [p, I] = sort(p,'ascend'); 19 st = st(i); 2 for k=1:length(st{1}) 21 tabela{st{1}(k)}=[1 tabela{st{1}(k)}]; 22 end 23 for k=1:length(st{2}) 24 tabela{st{2}(k)}=[ tabela{st{2}(k)}]; 25 end 26 st{1}=[st{1} st{2}]; 27 st{2}=[]; 28 p(1) = p(1)+p(2); 29 p(2) = 1; 3 end 31 function bity = huffman_koder(x, symbole, tabela); 32 bity=logical([]); 33 for k=1:length(x); 34 I = find(symbole==x(k)); 35 bity = [bity logical(tabela{i})]; 36 end

37 function y=huffman_dekoder(bity, symbole, tabela); 38 Nb=length(bity); 39 I1=1; 4 y = []; 41 while I1<=Nb 42 for k=1:size(tabela,2) 43 tab = tabela{k}; It=length(tab); 44 if I1+It-1<=Nb 45 if tab == bity(i1:i1+it-1); 46 y=[y symbole(k)]; 47 I1=I1+It; 48 break 49 end 5 end 51 end 52 end 53 function [symbol, prw]=zlicz(x); 54 % x - komunikat - liczby całkowite 55 symbol=[]; 56 prw=[]; 57 x = x(:); 58 N = length(x); 59 k = 1; 6 Iz = zeros(size(x)); 61 while sum(iz)<n; 62 Is=find(x==x(k)); 63 symbol = [symbol x(k)]; 64 prw = [prw length(is)/n]; 65 Iz(Is)=1; 66 Ik=find(Iz==); 67 if length(ik)> 68 k=ik(1); 69 else 7 break 71 end 72 end

3. Kodowanie różnicowe dźwięku ( ADPCM) Modulacja DELTA kodowana jest różnica pomiędzy dwoma kolejnymi próbkami JEDNYM BITEM DPCM

Adaptive DPCM ITU G-721 32 kbits/sec Szczegóły i program w instrukcji laboratoryjnej!

4. Kodowanie mowy...n...a...sz...e...g...o... słowo " naszego".6.4.2 -.2 -.4 5 1 15 2 25 3 35 4 numer próbki.6.4.2 -.2 -.4 " na" 1 2 3 4 5 6 7 8 9 1 numer próbki.2 " sz" -.2 11 12 13 14 15 16 17 18 19 numer próbki.2 " ego" -.2 2 25 3 35 4 numer próbki

Widma częstotliwościowe słowa naszego : a) klasyczna transformata Fouriera b) krótkoczasowa transformata Fouriera a) -2-4 Moduł widma Fouriera słowa " naszego" db -6-8 -1-12 5 1 15 2 25 3 35 4 f [Hz] 4 Moduł krótkoczasowej transformaty Fouriera słowa " naszego" b) 3 f [Hz] 2 1 5 1 15 2 25 3 35 numer próbki...n...a...sz...e...g...o...

Wycinanie fragmentu mowy do analizy: okno Hamminga o długości 24 elementów jest przesuwane z krokiem 18 próbek i wymnażane z sygnałem głoska dźwięczna "a".5 -.5 1 2 3 4 5 6 7 numer próbki Model generacji sygnału mowy T? G {a 1, a 2,...,a 1 } Mowa dźwięczna Mowa bezdźwięczna Pobudzenie okresowe Pobudzenie losowe V UV e(n) Wzm H ( z) = 1 2 1 1+ a1 z + a2z +... + a1z G e(n) 1 Filtr traktu głosowego H(f) s(n) mowa 1 2 3 f [Hz]

Filtr cyfrowy udający filtr traktu głosowego e(n) G s(n) a 1 z 1 a 2 z 1 s(n 1) s(n 2) a 1 z 1 s(n 1) Schemat blokowy kodera LPC-1 mowa Preemfaza Okno Hamminga Estymacja wzmocnienia G Estymacja wsp. filtra {a k } G = r() + a = R 1 k = 1 1 a r( k) r k Filtr LP 9 Hz Progowanie Autokorelacja Decyzja: mowa dźwięczna (V) czy bezdźwięczna (UV) Decyzja UV V/UV T= N k 1 rk ( ) = xnxn ( ) ( + k) n= k =,1, 2,..., N 1 V Oblicz okres T

Porównanie głosek a i sz, wypowiadanych przez mężczyznę: sygnały czasowe ich funkcje autokorelacji ich funkcje AMDF moduły obwiedni widma częstotliwościowego a) głoska a b) głoska sz.5 -.5 głoska " a" 5 1 15 2 numer próbki.2.1 -.1 głoska " sz" 5 1 15 2 numer próbki 2 1 funkcja autokorelacji " a" -1 5 1 15 2 indeks czasu.4.2 funkcja AMDF " a" 5 1 15 2 indeks czasu 15 1 5 H(f) dla " a" 1 2 3 4 f [Hz] funkcja autokorelacji sz" " 1.5 1.5 -.5 5 1 15 2 indeks czasu.1.5 funkcja AMDF " sz" 5 1 15 2 indeks czasu 5 4 3 2 1 H(f) dla " sz" 1 2 3 4 f [Hz]

Porównanie standardów kodowania mowy LPC: kodowanie i dekodowanie mowy

CELP kodowanie: predykcja, słownik, kształtowanie szumu

CELP dekodowanie:

4. Kodowanie pasmowe dźwięku Ilustracja efektu maskowania częstotliwościowego (a) i czasowego (b) a) ton maskujący ton zamaskowany ton niezamaskowany b) ton maskujący ton zamaskowany ton niezamaskowany f m f 3 f f 1 f 2 t f m t m Kodery audio: oszukiwanie uszu w podpasmach częstotliwościowych:

Schemat blokowy kodera standardu MPEG-1 audio na poziomie MP1 i MP2. Szarym kolorem zaznaczono rozszerzenia poziomu MP2 w stosunku do MP1. Wejściowy strumień bitów AUDIO: 2*768 kilobitów na sekundę (2 kanały * 16 bitów * 48 khz), wyjściowy strumień bitów MPEG: od 2*32 do 2*192 kilobitów na sekundę Zadawana przepływność bitowa AUDIO Zespół filtrów analizy 1 2 32 12 12 12 Blok 1 Blok 2 Blok 3 Sposób Normalizacja normalizacji SCF, SCFI 1 2 32 Alokacja Alokacja bitów bitów na podpasma wsp. A i B Normalizacja Kwantyzacja Grupowanie trójkami Kodowanie strumienia bitów (ramki) MPEG FFT 1 2 3 Model psychoakustyczny 1 2 512 (124) SMR 32 Schemat blokowy dekodera standardu MPEG-1 audio na poziomie MP1 i MP2. Szarym kolorem zaznaczono rozszerzenia poziomu MP2 w stosunku do MP1 wsp. C i D 1 12 12 12 MPEG Dekodowanie strumienia bitów (ramki) Rekwantyzacja (C & D) Rozgrupowanie trójek Denormalizacja 2 32 Blok 1 Blok 2 Blok 3 Zespół filtrów syntezy AUDIO SCF, SCFI

5. Kodowanie obrazów Schemat blokowy kodera (góra) i dekodera (dół) obrazów standardu JPEG [Bhas97]. Tablice kodera entropijnego Huffmana, stosowane w standardzie, są zoptymalizowane dla szerokiej gamy obrazów, dlatego najczęściej nie są najefektywniejsze dla aktualnie kodowanego Zbiór dyskowy Obraz podzielony na bloki 8 8 Tablice kwantyzacji Tablice kodowania Nagłówek Tablice DCT Kwantyzator Q Koder entropijny Dane Zbiór dyskowy Nagłówek Tablice Tablice kodowania Tablice kwantyzacji Obraz podzielony na bloki 8 8 Dane Dekoder entropijny Rekwantyzator Q IDCT Skanowanie zygzak współczynników transformaty 2D DCT każdego bloku 8 8 pikseli DC AC i.t.d.

6. Kodowanie wideo - MPEG wideo koder i dekoder Schemat blokowy kodera (po lewej) i dekodera (po prawej) sygnału wideo standardu MPEG. Oznaczenia operacji: DCT dwuwymiarowa transformacja kosinusowa, Q kwantyzacja, VLI bezstratne kodowanie o zmiennej długości (Variable Length Integers), X 1 operacja odwrotna do X. Oznaczenia ramek: I ramka kodowana bez kompensacji ruchu tak jak w standardzie JPEG, P 1 ramka kodowana różnicowo (predykcyjnie) w stosunku do ramki I z kompensacją ruchu jednostronną ( w przód ), P 2 ramka kodowana różnicowo w stosunku do P 1 z kompensacją ruchu jednostronną ( w przód ), B ramki kodowane różnicowo z kompensacją ruchu dwustronną ( w przód od ramki I oraz w tył od odpowiedniej ramki P) Kontrola Rodzaje ramek Wejściowe bity Pamięć ramek Wstępne przetw. Wejściowe wideo DCT Q Q 1 DCT 1 VLC Bufor Wyjściowe bity I B 1 B 2 P 1 B 3 B 4 P 2 Kompensacja ruchu Bufor VLC 1 Q 1 DCT 1 Kompensacja ruchu Estymacja ruchu Pamięć ramek Multiplekser 1/2 Ramka poprzednia Ramka następna Wyjściowe wideo

Ilustracja graficzna zasady działania procedur estymacji i kompensacji ruchu: a) jednostronnej w przód, b) dwustronnej: w przód i w tył. W ramkach odniesienia, poprzedniej i następnej, znajduje się makroblok pikseli najbardziej podobny do makrobloku w aktualnej ramce i odejmuje się go od tej ramki. Tworzy się w ten sposób obraz różnicowy, charakteryzujący się małymi wartościami intensywności pikseli, który można efektywnie zakodować tak jak w standardzie JPEG. Optymalne wektory przesunięć, prowadzące do minimalizacji dynamiki obrazu różnicowego nazywa się wektorami ruchu (WR) również się je koduje i przesyła a) Ramka poprzednia WR Ramka aktualna b) Ramka poprzednia WR1 Ramka aktualna Makroblok Ramka następna WR2 Makroblok Błąd predykcji w przód 1/2 Błąd predykcji w tył Błąd predykcji Multiplekser DCT DCT