Zadania systemu multimedialnego
-Rejestracja treści (np. nagranie koncertu),
-Zbudowanie dokumentu multimedialnego,
-Kompresja i przesył do odbiorcy,
-Odbiór i dekompresja,
-Prezentacja treści odbiorcy.
Koder –implementacja algorytmu kodowania i kompresji.
Dekoder –implementacja algorytmu dekodowania i dekompresji.
Kodek –koder + dekoder, w multimediach kompletna
implementacja kompresji i dekompresji danych określonego formatu.
Kodowanie –przyporządkowanie symbolowi z alfabetu A ciągu symboli z alfabetu B.
Klasy algorytmów kompresji bezstratnej:
Algorytmy proste – wykorzystują podobieństwo sąsiedztwa.
łatwe w implementacji,wykorzystywane przy PCV GIFF
TGA Pack bif ILBM – ByteRun RLE
Algorytm byterun ,, K [ -n+1, Ax],,
gdzie: n -liczba powtórzeń, Ax-powtarzany
RLE Run Length Encoding- kopiowanie [0,n,abcd]
n- liczba kolejnych bitów do kopiowania
[n,a] n liczba powtuzen a powtarzany symbol
Algorytmy statystyczne –i przyporządkowują
najczęściej występującym najkrótsze słowa kodowe.
Jest to grupa algorytmów o zmiennej długości słowa kodowego.
Np. Algorytm statystyczny Hufmana 1952r*uzywane w MPEG
Algorytmy słownikowe-
Algorytm o stałej długości słowa kodowego
Efektywność zależy od częstości występowania takich samych grup symboli.
Algorytm LZ77, w RAR, format graf PNG.
słownik budowany jest na bieżąco poprzez przesuwanie
okna wzdłuż czytanego strumienia danych wejściowych.
Szukanie najdłuzszego łańcucha danych w buforze,, który
ma swój dokładny odpowiednik w słowniku.
Tworzenie sekwencji kodowej tego łańcucha (start, ile, następny znak).
Przesuwanie okna o długość zakodowanej frazy.
Format słowa kodowego: [(o ile wstecz, jak długi ciąg) następny znak
Do języka naturalnego i fotografi ze względu
Kodowanie arytmetyczne- wiadomość zostaje odwzorowana
na liczbę z przedziału w [0, 1).
dekoder musi posiadac te same dane z analizy statystycznej co koder
,im dłuzsza wiadomość wymagana jest wieksza precyzja Renormalizacja
Mechanizmy wykorzystywane w kompresji stratnej multimediów.
-Kodowanie transformujące –JPEG i transformata kosinusowa.
-Kodowanie różnicowe –sąsiednie klatki filmu zawierają wiele podobnych elementów,
-Kwantyzacja.
-Modele psychofizyczne narządów zmysłów i eliminacja słabo odbieranych bodźców.
Kwantyzacja -reprezentacji ciągłego zbioru wartości przez niewielką
liczbę wartości dyskretnych. średniokwadratowy, kwantyzacje adaptacyjną$D_{Q} = \frac{1}{K}\sum_{i = 1}^{K}\left( x_{i} - \tilde{x_{i}} \right)^{2}$
JPEG
Obsługuje obrazy szarościowejak i kolorowe RGB.
Wykorzystuje cechy ludzkiego wzroku –mniejszą wrażliwość na zmiany koloru niż intensywności,
oraz mniejszą wrażliwość na skokowe zmiany jasności sąsiednich pikseli
Obsługuje wyświetlanie progresywne Możliwość dekodowania sekwencyjnego
Format JPEG – budowa kodera i dekodera DCT – (dskretna transformata kosinusowa)
IDCT – (odwrotna) RLE, RLD – Run-Length Encoding, Run Length
Decoding VLC – kodowanie algorytmem o zmiennej długości słowa (np.. algorytm Huffmana)
Przed rozpoczęciem kodowania;
1 konwersja przestrzeni barw z RGB do YCbCr
2Podział na bloki Koder JPEG operuje na blokach 8 x 8 pikseli
Współczynniki z DCT są kwantyzowane jednostajnie.
Tablica kwantyzacji definiuje progi kwantyzacji Sposób jej przeglądania i transformacji
z macierzy 8 x 8 do wektora 1 x 64: Taka dekompozycjia danych w bloku pozwala na:
kolejne ustawienie danych o zbliżonych wartościach.
kodowanie kodem RLE.
finicja Dwuwymiarowrj transformacji DTC macierzy A o wymiarach M*N
Współczynniki nazywane są współczynnikami DTC transformaty. pq B
Formaty plików graficznych
grafika rastrowa np. BMP, TIFF, GIF, PNG i JPEG.
Programy:np. Paint, Photoshop, Paint Shop Pro.
grafika wektorowa- obraz opisany za pomocą figur geometrycznycg
GIF -bezstratny form.graf 1987r CompuServe, oparty na
LZW ze słownikiem zmiennej długości). //GIF89a
zastosowanie w Internecie ze względu na dobrą jakość prostych elementów
Najważniejsze cechy:
Bezstratna kompresja obrazów –kodowanie LZW
Paleta 256 kolorów (8 bitów), indeksowana, ditheringu
Możliwość osiągnięcia przezroczystości / zdefiniowanie koloru „transparen.
Możliwość stworzenia animacji.
dobry do zapisu grafiki o ostrych krawędziach i małej dynamice kolorystycznej
–wykresy, tabele, logotypy firm, diagramy. możliwośc zapisu fotografii,
obrazów o dużej dynamice kolorystycznej i płynnych przejściach tonalnych.
Obsługa wyświetlania progresywnego.
Obrazy GIF reprezentowane modeli barw,
RGB —(16 mln kolorów GIF 256 kolorów)
rayScale —256 odcieni szarości,
IndexedColor — własna paleta barw od 8 do 256 odcieni
Plik GIF składa się z:
-sygnatury formatu
-deskryptora głównego (DG) (rozdzielczość, rozmiary obrazu, kolor tła, itd)
-globalnej mapy kolorów ( indeksowaną paletę kolorów, 8 bitów kanał w-RGB)
-szeregu deskryptorów obrazu
-terminator
PNG – bezstratny 1995r.następca GIF. wieksza glebia kolorów,
pełn przezroczystość (kanał alfa(nakładanie koloru przesłanionego i przesłaniajacego)
-każdy piksel ma swoją wartość przezroczystości) Kodowanie LZ77 + Huffmana.
Kilka trybów kolorystycznych (prostych i indeksowanych),
Jest przystosowany do transmisji w sieci /mozliwość dekodowania sekwencyjnego,
kontrola błędów CRC dla każdego bloku Obsługuje wyświetlanie progresywne
Każda linia obrazu może być poddana filtracji
możliwość zapisania gammy monitora
Obsługuje także przestrzeń barw CMYK
BMP format stosowany w Windows.
obsługuje kompresję bezstratną, pzystosowany głownie do nieskompresowane bitmapy.
obsługuje RGB, kolory indeksowane i skale szarości.
duże rozmiary (jest nierozpoznawalny przez HTML),
BMP zastosowanie: prezentacji dużej ilości materiału zdjęciowego, prostych animacji.
JPEG 2000 Najważniejsze cechy:
Dlugi czas kodowania i dekodowania
Możliwość kompresji stratnej i bezstratnej
Odporność na błędy transmisji
Mechanizm Region-of-Interest
Strumień o swobodnym dostępie do dowolnego fragmentu
a – parametr skali
b – parametr przesunięcia
s(t) – sygnał badany zależny od czasu t
ψ – funkcja falkowa
sψ(a,b) – współczynnik falkowy zależny od parametrów a i b
$\psi(\frac{t - b}{a})$ – jądro przekształcenia
Dyskretna transformata falkowato zbiór współczynników
detalii aproksymacji na rużnych poziomach szczególowosci
-Wielorozdzielcza analiza i dekompozycja obrazu.
-Jednoczesne przetwarzanie całego obrazu bądź jego dużych fragmentów eliminuje efekt blokowy.
-Zastosowanie transformaty o współczynnikach całkowitych umożliwia bezstratną kompresję obrazu.
-Rozdział obrazu na podpasma
Kodowanie współczynników transformaty falkowej
Współczynniki każdego segmentu są dzielone na bloki kodowe (32 x 32 64 x 64)
kodowane do ostatecznego strumienia wyjściowego algorytmem Embedded Block Coding
(złożony entropijny algorytm kontekstowy
Dźwięk
Spl=10log$\frac{I_{1}}{I_{2}}$
Nateżenie dzwieku SPL (dB).
I1 – nate_enie badanego dzwieku.
I2 – nate_enie odniesienia przyjete jako próg słyszalnosci
dla tonu 1000 Hz wynosi około 10-12 W/m2
Próbkowanie – reprezentacja sygnału ciagłego przez
ciag dyskretnych wartosci tego sygnału, pobieranych w
ustalonych chwilach czasu.
WAV -Microsoft oraz IBM.
Zawiera informacje o: strumieniu audio, oraz takie jak
uzyty kodek, czestotliwosc próbkowania czy liczba kanałów.
wada pliku max 4GB,ze wzgledu na 32-bitowe zmienne.
Elementy psyhoakustyki w MPEG
System słuchowy człowieka przetwarza dzwiek w
pasmamach krytycznych.którymo dpowiada pewien
odcinek na błonie podstawnej slimaka równy 1,3 mm.
Perceptualna jednostka szerokosci pasma jest 1 Bark.
MPEG1 i MPEG2.Standardy dziela się ze względu na przeplywności
Struktura MPEG-ów sklada się z 4 czesci:
1: System – okresla synchronizacje i multipleksacje
składowych audio i wideo (opis strumienia bitowego),
2: Video – definiuje kompresje sygnału wideo,
3: Audio – definiuje kompresje sygnału audio,
4: Compliance testing – opisuje procedury badania
strumienia MPEG
MPEG-1 audio
kodowanie sygnałów PCM dla próbkowania: 32, 44.1, 48kHz,
maskowanie nie/jednoszesne jednoczesne w dziedzinie czestotliwosci,
zastosowanie 32 filtrów dzielacy na podpasma szerokosci 750Hz,
CBR - praca ze stała przepływnoscia bitowa
VBR - praca ze zmienna przepływnoscia bitowa
Wprowadzono mechanizm zabezpieczenia przed błedami
transmisji. Przepływnosc 64 -384kb/s – kanał stereo.
MPEG praca warstwowa
Warstwa 1: Przeznaczona do zastosowan nieprofesjonalnych
używa ramki o czasie trwania 8ms przy próbkowaniu 48kHz.
Warstwa 2Ramka 24ms prubkowanie 48kHz.
zastosowanie w profesjonalnej technice dzwiekowej,
Warstwa 3: Hybrydowy bank filtrów wprowadza dodatkowa
rozdzielczosc czestotliwosciowa.
wykożystanie kwantyzacji adaptacyjnej
-segmentacja i kodowanie entropijne skwantowanych
wartosci w celu zwiekszenia wydajnosci kodowania.
Wykożystanie w telekomunikacji (waskopasmowym ISDN *
W laczach satelitarnych (wysoka jakość małe przepływności
Mp3 to MPEG-1/2
Layer 1,2 nizszy standard
przepływnosci 128 kb/s dla stereo
przepływnosci 32- 320 kb/s
tryby: mono, stereo, joint stereo i dual channe
próbkowanie 32 kKz,44.1 kHz i 48 kHz
MPEG 2 (1994) Layer 3 wieksza złożonosc i wysoka jakosc,
Próbkowanie 16, 22.05 i 24kHz
przepływnosci 8 do 160 kb/s
dzwięk 5.1
mp3 bank filtrów i MDCT
32 filtry stosowane również w Layer 1 i 2
Podpasma przekształcane przez
zmodyfikowana transformata kosinusowa MDCT
MDCT generuje 18 współczynników na podpasmo
32x18=576 Kaskada banku filtrów i MDCT
efektywniejsze kodowanie
dokładniejsze maskowanie składowych czestotliwosci
możliwość zmniejszenia rozdzielczosci przy pojawieniu pre-echa
dopuszczalny szum(błąd kroku)kwantyzacji określa
Na podstawie modelu danej czestotliwości w czasie
(w mp3 / skalarny kwantyzator nierównomierny skok
kwantyzacji rosnie ze wzrostem wartosci sygnału
model używajacy min. FFT*Fast Furier Transform.*
Kodowanie alg. Huffmana
Ze wzgledu na kwantyzacje małe wartosci wystepuja z dużymi
prawdopodobienstwami
Kodowane sa grupy po 2lub 4 wartosci
Do kodowania niezależnych podpasm można stosowac różne kody
(tablice kodów) Huffmana dopuszczalne sa zmiany przepływnosci
VBR _ Variable BitRate) różny krok kwantyzacji zakres dynamiczny ( >24 bit)
Dobieramy: indywidualne współczynniki kwantyzacji dla każdego pasma z
osobna oraz globalny mnożnik dla wszystkich współczynników kwantyzacji
mp3 kwantyzacja
Petla kontroli współczynnika kompresji
kwantyzacji dla pasm
symulowane jest kodowanie skwantowanych współczynników
jeżeli wynik kodowania przekracza zadane ograniczenie przepływnosci
to globalny mnożnik jest zwiekszany i petla wykonywana jest ponownie
pętla kontroli zniekształcen
VBR(zmiana przepływności)
mp3 AAC z 1997
Zastosowanie dodatkowo predykcji (wstecznej)
Udoskonalony tryb joint-stereo
czestsze kodowanie czwórek symboli
Wieksza rozdzielczosc w dziedzinie czestotliwosci i czasu
dekompozycja składowych bankiem filtrów MDCT
generujacym 1024 współczynniki
poprawa odpowiedzi impulsowej filtra (dla krótkich bloków i
48 kHz) z 18.6 ms do 5.3 ms (redukcja efektu pre-echa)
Technika TNS kontrola błedu kwantyzacji w dziedzinie czasu
przepływnosci mniejsza o 30%
Cechy mowy wykorzystywane w kompresji
sygnału zawiera ton podstawowy ton krtaniowy
i składowe harmoniczne
Mowa składa sie z głosek dzwiecznych
i bezdzwiecznych
wystepowanie silnych lokalne maksima
(formanty)
Modulacja DM
W każdej chwili próbkowania nTs
wyznaczana jest próbka x(nTs) sygnału inform.
Delta wyzej nizej i znakj
LPC-10
Oparty o schemat AbS, analiza przez synteze oraz o
predykcje kodowanie dzwieku z
predkoscia 2.4 kbps
Kodujemy dzwiek próbkowany 8000 razy na sekunde
Kodujemy bloki po 180 próbek (22.5 ms).
Model traktu głosowego
Analiza
detekcja głównej składowej harmonicznej (tzw.pitch)
detekcja głosek dzwiecznych i bezdzwiecznych
(na podstawie czestosci przejsc przez 0)
zastosowanie pojedynczego filtra (filtr narzadu mowy)
definicja barwy
•kolor – ton, odcien, stanowi różnice jakosciowa barwy,
•nasycenie – odstepstwo barwy od bieli, czystosc koloru,
•jasnosc – opisuje wpływ nateżenia swiatła na barwe,
Atrybuty barwy w teorii koloru – jaskrawosc, nasycenie,
odcien, które pozwalaja na jednoznaczna identyfikacje
barwy
Odcien (hue) – własnosc okreslajaca dominujaca zawartość
swiatła monochromatycznego wywołujaca takie same wrażenie
percepcyjne jak badana barwa.
Jaskrawosc (brightness) - intensywnosci swiatła barwnego
skojarzone z luminancja(jasnośc)
Nasycenie (saturation) – wrażenie „czystosci” barwy,
zawartosc czynnika chromatycznego w barwie. Barwami
Addytywny model mieszania barw –
tłumaczacy zachowanie i mieszanie
sie swiatła monochromatycznego.
Subtraktywny model mieszania
barw – tłumaczacy zachowanie farb,
– materiałów pochłaniajacych okreslona długosc
fali swietlnej i odbijajacych reszte.
Model przestrzeni barw - matematyczny opis barw,
ścisłe zdefiniowanych miar ilosciowych.
Cel uniezależnienie opisu barw od subiektywnosci ludzkiej percepcji
RGB - ukierunkowane na sprzet
CMYK - ukierunkowane na sprzet
HSV - interaktywna metoda doboru odpowiedniej barwy
Model RGB
Prostota Łatwosc technicznej realizacji
Nieskomplikowane operacji obliczeniowych przy przetwarzaniu
obrazów i transformacjach przestrzeni
_ Trudnosci z uzyskaniem identycznych barw
na różnych urzadzeniach
Problemy z kalibracja urzadzen.
Przestrzen dostepnych barw ograniczona
Modele HSV i HSL – opisuje barwy
Hue -odcien
Saturation –nasycenie
Value - jaskrawosc, a model HSL – Hue, Saturation,
Lightness (jasnosc)
Model YCrCb
Y luminancja jasność
Cr,Cb chrominancja
Standardy CIE modele barw niezależne od
urzadzenia, oparte wyłacznie na charakterystykach
ludzkiej percepcji kolorów
Y - składowa Y modelu CIE XYZ (luminancja)
UV IQ - zakodowana barwa.
Reprezentacja danych obrazowych w MPEG-1
ciag makrobloków, zawieracy: 4 bloki po 8x8
pikseli składowej luminancji po jednym bloku
8x8 dla składowych chrominancji
makrobloki grupowane sa w warstwy
warstwa zawiera kolejne makrobloki
o takim samym poziomie jasnosci
warstwy tworza obraz, obrazy grupy a nastepnie ciag
obrazów, który łaczony jest w pakiety z danymi audio
Rodzaje obrazów w MPEG-1
obrazy I o swobodny dostep do danych wideo
kodowane niezależnie za pomoca DCT
obrazy P kodowane jak I z poprzedniego obrazu I lub P
blok obrazu może by kodowany z kompensacja ruchu
obrazy B predykcja z poprzedniego i nastepnego obrazu I lub P
dopuszczalna niska jakosc błedy nie propaguja sie)
najlepszy stosunek jakosci do kompresji,
stanowia 2/3 obrazów
Predykcja i estymacja ruchu dla makrobloku znajdujemy
w obrazie odniesienia blok najbardziej do niego zbliżony
standard definiuje jedynie sposób dekodowania strumienia MPEG
zazwyczaj estymacje ruchu przeprowadzamy na podstawie
składowej luminancji przeprowadzenie dopasowywania należy do kodera
Predykcja na bazie estymacji ruchu
dla obrazów P zapamietujemy współrzedne dopasowanego bloku,
lub informacje ze nie można dopasować /brak predykcji
dla obrazów B znajdujemy i zapamietujemy współrzedne dopasowanego
bloku wpoprzednim oraz nastepnym obrazie I lub P
predykcja na podstawie: dopasowania w poprzednim/następnym obrazie I lub P,
interpolacji (usrednienia) dopasowan z obu obrazów
lub bez predykcji gdy wynik jest niezadowalajacy
Kodowanie obrazów w MPEG-1
Kodowanie podobne do JPEG
obrazy P i B po predykcji kodujemy obraz
błedu i składowych, I składowe pikseli używamy odmiennej
tablicy kwantyzacji dla obrazów I, innej dla P oraz B
zmieniajac mnożnik dla tablic kwantyzacji sterujemy
przepływnoscia
dla każdego makrobloku kodujemy, bloki 8x8 pikseli
zawierajaace współczynniki niezerowe
używamy predefiniowanych kodów Huffmana
MPEG2
różne rozdzielczosci obrazu
różne czestotliwosci wyswietlania
możliwość kodowanie sekwencji wideo jako obrazów z przeplotem
dodatkowe tryby predykcji oraz estymacji ruchu
profile definiuja ograniczenia/wymagania odnosnie algorytmów (de)kompresji
profil prosty _ najmniejsze wymagania (m.in. bez obrazów B)
profil główny odpowiada MPEG-1
profile snr-skalowalny, przestrzennie-skalowalny i wysoki generuja
kilka strumieni skompresowanego wideo,
_ strumien bazowy ma niska jakosc i przepływnosc,
_ dodatkowe strumienie polepszaja jakosc (np. snr)
Transmisja tylko strumienia bazowego przy niskiej przepustowości
schemat kodera MPEG 2
Telewizyjne video zawieraja ramki z przeplotem,
pierwszy półobraz zawiera wiersze parzyste pikseli
drugi wiersze nieparzyste jest próbkowany i wyswietlany 20ms
po pierwszym półobrazie.
Kolory RGB są konwertowane do YUV co pozwala na redukcje
próbkowania chrominancji w stosunku do luminancji
Po kompresji MPEG-2 3-15 Mb/s
MPEG 4 Nacisk na funkcjonalność
rozbicie danych wideo, tzw. sceny na obiekty
wiele typów obiektów:
obiekty wideo ale nie prostokatne (kanał alfa,maskowanie)
nowe algorytmy kodowania mowy (m.in. CELP) i
dzwieku (syntezowanie dzwieku, MIDI, wavetable)
reprezentacja obiektów z pomoca modeli zbudowanych
z siatek i tekstur (zastosowanie do animacji twarzy i postaci
scene opisuje jezyk BIFS, bazujacy na VRML
kodowanie obiektów w oddzielnych strumieniach
„skalowanie obiektowe” _ zmniejszenie jakosci przez
transmisje tylko istotnych obiektów
pozycjonowanie obiektów w przestrzeni 3D
scena jest zbiorem AVO połaczonych ze soba
odpowiednimi relacjami czasowo-przestrzennymi.
obiekty AVO kodowane niezale_nie od siebie.
Metoda ta pozwala dobrac indywidualnie kompresje do każdego
AVOi, zastosowac dodatkowe metody ochrony przed błedami transmisji,
Obiekty moga posiadac niezale_ne od siebie definicje
kształtu i transformacji geometrycznych –
skalowalnosc –czesci strumienia audiowizualnego moga byc kodowane
i dekodowane z różna i zmieniajaca sie w
czasie dokładnoscia, w zale_nosci od przepustowosci
łacz czy mocy obliczeniowej dostepnej na potrzeby
kodera/dekodera.
MPEG4 Przed transmisji koder i dekoder wymieniaja informacje kontrolne,
Określające klasy algorytmów oraz narzedzi niezbednych w
procesie kodowania obiektów AVO
w koderze procesy zabezpieczania przed błedami,
multipleksacja iwysłanie danych.
Struktura sygnału w MPEG4 złożona.
pełna implementacja standardu nie zawsze jest konieczna
Dlatego podzielono strukturę na podzbiory/profile
Scene Profiles - profile systemowe
A) simple profiles - zespół narzedzi do kodowania i
przetwarzania przekazu telewizyjnego
audio profiles - narzedzia do przetwarzania obiektów audio
2D profiles - do operacji na grafice dwuwymiarowej
VMRL profiles - narzedzia standardu MPEG4, zgodne
z VMRL – jezykiem modelowania grafiki komputerowej
Media Profiles - narzedzia do przetwarzania i tworzenia
obiektów audiowizualnych:
visual profiles - narzedzia do kodowania i przetwarzania
obrazów rzeczywistych i syntetycznych
graphics profiles - przetwarzanie 2D i 3D
audio profiles - przetwarzanie audio (algorytmy AAC,Twin VQ).
Object Descriptor Profiles - profile, w których sa zawarte
informacje synchronizujace relacje czasowe miedzy
obiektami.