====== Vztah zpracování signálu a multimédií ====== Multimediální systém je takový, který pro vylepšení komunikace s člověkem používá dva a více kanálů (obraz, zvuk, video. ...). K tomu se používají speciální periferie: zvuková karta, grafická karta s 3D akcelerací, DVD, kamery, brýle pro virtuální realitu, atd. ===== Proč je zpracování signálu pro multimédia důležité ===== Protože ve většině případů jsou multimediální data obraz a zvuk které mají v reálném světě podobu signálů (uvažujeme jako funkce času) a je potřeba je zpracovávat pro další použití. ===== Zpracování signálu a Multimedia ===== V multimediální komunikaci se nejčastěji používá obraz, zvuk a videosekence. Typické aplikace jsou: * **Syntéza obrazu** (výroba) – počítačová grafika * **Reprodukce a úprava obrazu** – visualizing photographs, replaying video sequences * **Analýza obrazu** (rozbor) – (people, gestures, face expression, etc.) for human, computer communication * **Syntéza zvuku (hudby) a řeči** * **Analýza řeči** ===== Typické operace při zpracování zvuku a videosekvencí ===== Zpracování zvukových a video signálů spočívá v převodu mezi analogovou a digitální reprezentací dat s využitím A/D převodníků, filtrů a DSP. {{ http://upload.wikimedia.org/wikipedia/commons/thumb/b/bc/DSP_block_diagram.svg/500px-DSP_block_diagram.svg.png }} - **[[wp>Low-pass filter]]** (antialiasingový filtr, dolní propust) * Strmá charakteristika, vzorkovací teorém, je to dolní propusť * Nemusí být povinný, nebo může být implicitně schován * Na začátku projde signál dolní propustí čímž se odstraní nežádoucí vysoké frekcence nesplňující vzorkovací teorém (//fₘₐₓ// ≤ //fᵥ//%%/%%2) * Tento filtr musí mít velmi ostrou (obdélníkovou) odezvu, proto je velmi drahý. Používá se jednoduchý filtr a přesná filtrace následuje až po A/D převodu. - **[[wp>Analog-to-digital converter]]** – převod vzorkovaním signálu na digitální data * levný, nic se nenastavuje * typické hodnoty vzorkování: 8bit pro video, 16bit pro audio - **[[wp>Digital signal processor]]** – Digital Signal Processor * Z funkce zpracování nejdůležitější * Zpracování signálu ma na starosti specializovaný DSP, který je centrem celého systému. Chování tohoto procesoru je programovatelné.efinované - **[[wp>Digital-to-analog converter]]** – konverze digitálních dát zpět na analog * 1 bitový D/A převodník – je rychlý a je to vlastně spínač (100 MHz) * Možnost realizace i pomocí šířkové modulace * AD/DA časti mohou být integrované do jedného CODEC čipu, který sa stará o kódování i dekódování signálu - **[[wp>Low-pass filter]]** * Nemusí být tak dokonalý jako vstupní * Opět ostranění vyšších frekvencí (vzniklých D/A převodem) * Výstupní signál se filtruje dolní propustí na odstranění parazitních frekvencí (vzniklé D/A převodem, které opět nesplňají vzorkovací teorém). Na rozdíl od vstupního, tento filtr je poměrně jednoduchý (výstupní signál z D/A se dá nastavit tak, aby parazitní frekvencie byly velmi vysoké a lehko odstranitelné). ===== DSP procesory ===== [[wp>Digital signal processor]] DSP procesory jsou konstruovány pro zpracování signálu. ==== Stejné jako u procesorů pro PC ==== * Von Neumanova architektura * Dají se programovat v jazyce C (nebo assembleru) * Instrukční soubor umožňuje provádět libovolné algoritmy * Little endian (někdy možné nastavit na big endian) ==== Na rozdíl od procesorů pro PC ==== * Nepoužívají virtualizaci paměti, nemají přístup k souborovému systému * Nejsou zpětně kompatibilní (není potřeba) * **Neobsahují speciální jednotky pro rozšířené matematické operace** (//sin//, //cos//, ...), protože standardní goniometrické funkce jsou obsaženy ve standardních C knihovnách a proto se používají tyto knihovny a neimplementují se do procesoru * **Vždy mají rychlé sčítání a násobení** (málokdy dělení a odmocninu) ==== Typické vlastnosti (výhody DSP) ==== * Valná většina aplikací v reálných podmínkách používá jen operace násobení a sčítání (multiply-and-accumulate => MAC) a proto jsou DSP optimalizována na na tyto operace * Výkonnost je dána počtem vypočítaných MAC/sekundu (+ šířka dat) * Specializovaný střadač ''Acc'', který má délku 48 bitů (pro implementaci MAC operací) * Několik paměťových sběrnic (sdílí stejnou paměť) a tím dovolují paralelní přístup na různá místa v paměti * Několik bloků vnitřní paměti, ty jsou přístupné jen odděleně, vnitřní paměť je konfigurovatelná * Mají hodně periferních zařízení (ext. kamera, mikrofon, I/O, brány, ...) ==== Rozdělení DSP ==== Základním dělením DSP je dělení podle použité aritmetiky. Existují DSP pracující: * V celočíselné aritmetice * V aritmetice s pevnou řádovou čárkou * V aritmetice s plovoucí řádovou čárkou ===== DSP Struktury ===== **[[wp>Z-transform]]** – Základní metodou popisu systémů s číslicovým zpracováním signálu je přenos. Většinou se používá popis v Z-formě (nebo-li po Z-transformaci). Ta používá pseudo proměnnou //z//, která vyjadřuje zpoždění signálu v čase. ==== FIR ==== {{ http://upload.wikimedia.org/wikipedia/commons/thumb/9/9b/FIR_Filter.svg/300px-FIR_Filter.svg.png}} [[wp>Finite impulse response]] * Filtr s konečnou odezvou na jednotkový impuls v čase * Nemůže mít delší odezvu na jednotkový impulz, než je //N// zpoždění => konečná odezva * Koeficienty filtru se dají vypočítat jako IFT očekávané frekvenční charakteristiky\\ y(n) = \sum{i=0}{N-1}{b_i x(n-i)} * Tvar přenosové funkce pro FIR:\\ H(z) = b_0 + b_1 z^{-1} + b_2 z^{-2} + \cdots + b_N z^{-N} = \sum{i=0}{N-1}{ b_i z^{-i}} ==== IIR ==== [[wp>Infinite impulse response]] * Nemá konečnou odezvu na jednotkový impulz * Stále se používají * Má zpětnou vazbu * Neexistuje obecná metoda jak navrhnou IIR filtr * Tvar diferenční rovnice pro IIR:\\ y(n) = \sum{i=0}{N}{b_i x(n-i)} - \sum{j=1}{M}{a_j y(n-j)} * Tvar přenosové funkce pro IIR:\\ H(z) = {Y(z)}/{X(z)} = {\sum{i=0}{N}{b_i z^{-i}}}/{1 + \sum{j=1}{M}{a_j z^{-j}}} * Související otázky ze státnic: * Proč je //a₀// u filtrů vždy 1? Aktuálně počítanou hodnotu nemůžeme použít. * Jak získáme frekvenční charakteristiku filtru? Dosadit do přenosové funkce za //z// toto: //e// neboli //ej2πf//. Jiný způsob je FT na impulzní odezvu. ==== Obecnější (další) DSP struktury ==== Sériové a paralelní kombinace základních struktur.