Kompresja obrazów ruchomych MPEG

Transkrypt

Kompresja obrazów ruchomych MPEG
Przetwarzanie i transmisja danych multimedialnych
Wykład 10
Kompresja obrazów ruchomych
MPEG
Przemysław Sękalski
[email protected]
Politechnika Łódzka
Katedra Mikroelektroniki i Technik Informatycznych
DMCS
Wykład opracowano na podstawie ksiąŜki „Wprowadzenie do kompresji danych” A. Drozdek
oraz „Multimedia-algorytmy i standardy kompresji” W. Skarbek
Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 10, 2006
1
Plan wykładu
• MPEG – co to jest? Idea i przyczyna
• MPEG – 1
– Kodowanie wideo
– Kodowanie dźwięku
• zarys MPEG – 2
Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 10, 2006
2
Standard MPEG
• Jest to schemat kompresji danych multimedialnych
• Istniejące wersje:
• MPEG-1
• MPEG-2
• MPEG-4
• prowadzone są badania nad MPEG-7, MPEG-21
• Nazwa MPEG (Moving Pictures Experts Group) jest nazwą
grupy roboczej ISO/IEC JTC1 SC29 WG11 (1988 rok)
ISO: International Organization for Standardization
IEC: International Electrotechnical Commission
JTC1: Joint Technical Committee 1
SC29: Sub-committee 29
WG11: Work Group 11
Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 10, 2006
3
Motywacja MPEG
• Obraz PAL (ang. Phase Alternating Line) składa się z 25 klatek.
• Klatka to obraz o rozdzielczości 720x576 pikseli (24 bit/piksel)
• 1 sekunda filmu to 30 MB
• 1,5h film to ok. 150 GB
• … jest rok 1988
postać cyfrowa filmu zajmie 224 krąŜki CD
Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 10, 2006
4
Motywacja MPEG
• Obraz VGA 640x480 pikseli, 8 bitów na piksel (256 kolorów)
– Jedna klatka to ok. 2,5 Mb
– Transmisja wymaga przynajmniej 24 klatek czyli 60 Mb/s
• Plus dźwięk
– Próbkowany z częstotliwością 44,1 kHz x 2 kanały (stereo)
– Transmisja wymaga 1,4 Mb/s
Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 10, 2006
5
MPEG-1
•
Opis standardu zawarto w 5 dokumentach (11172-x)
1.
2.
3.
4.
5.
Systems
Video
Audio
Compilance testing
Software
Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 10, 2006
6
Struktura pakietowa MPEG-1 (Systems)
• Opis łączenia strumienia audio i wideo
• Składnia strumienia bitowego (SB) wraz z semantyką do
kodowania i dekodowania elementarnych strumieni (SE)
audio i wideo
• SE składa się z jednostek dostępu (access units)
najmniejsza samodzielna (niezaleŜna) część SE, która
moŜe być odtworzona (np. 1 klatka)
• SB składa się z paczek (zdefiniowany początek i koniec)
zawierających jeden lub więcej pakietów.
• Podział na pakiety zaleŜy od kodera (zasoby sprzętowe)
Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 10, 2006
7
MPEG – 1 - czasy
• Systemowy koder docelowy STD
• Znaczniki czasowe DTS (decoding time stamp)
• Znaczniki czasowe PTS (presentation time stamp)
• zegar systemowy STC (System time clock)
• Rejestr SCR (system clock reference)
Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 10, 2006
8
Wideo
Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 10, 2006
9
MPEG-1
•
System hierarchiczny
1.
2.
3.
4.
5.
Poziom systemowy (dźwięk i obraz razem)
Poziom grup obrazów
Poziom pojedynczego obrazu
Poziom warstw
Poziom Makrobloków (4 bloki 8x8 współczynników DCT
reprezentujących luminancję i chrominancję)
6. Poziom bloków DCT
Makroblok
6 warstw
1 obraz
Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 10, 2006
10
Luminancja i chrominancja a RGB
• Luminancja określa jasność danego obiektu emitującego lub
odbijającego światło
Y (R,G,B) = 0,299 * R + 0,587 * G + 0,114 * B
• Chrominancja określa nasycenie
Cb (R,G,B) = ( B – Y ) / 2 + 128
Cr (R,G,B) = ( R – Y ) / 1,6 + 128
Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 10, 2006
11
Etapy kodowania obrazu
• Próbkowanie i kwantowanie ramek obrazu
• Kodowanie ramek (DCT + Huffman)
Próbkowanie i kwantowanie
Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 10, 2006
12
Makroblok
• 2 x 2 bloki 8 x 8 luminancji
• 1 blok 8 x 8 chrominancji Cb
• 1 blok 8 x 8 chrominancji Cb
rozdzielczość chrominancji jest dwa razy mniejsza
w poziomie i pionie (/4) niŜ rozdzielczość luminancji
(system widzenia człowieka)
Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 10, 2006
13
Standard MPEG
Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 10, 2006
14
Grupy obrazów
• Grupy obrazów:
– I-obrazy (Intra-coded pictures) kodowane niezaleŜnie
– D-obrazy zawierające tylko współczynniki DC z DCT
– P-obrazy (predictive-coded pictures) kodowane na
podstawie poprzednich I-obrazów
– B-obrazy (bidirectionally predictive-coded pictures)
kodowane na podstawie poprzednich i przyszłych
obrazów typu I i P
Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 10, 2006
15
MPEG – 1 – czasy raz jeszcze
• Systemowy koder docelowy STD
• Znaczniki czasowe DTS (decoding time stamp)
• Znaczniki czasowe PTS (presentation time stamp)
• zegar systemowy STC (System time clock)
• Rejestr SCR (system clock reference)
Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 10, 2006
16
Kodowanie ramek
Kodowanie ramek:
• Określenie porządku kodowania
• Kodowanie ramek wg tego porządku
I BB PI P BP I P B P
czas
Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 10, 2006
17
Przykład
I B B P I P B P I P B P
Rodzaj kodowania
0 1 2 3 4 5 6 7 8 9 10 11
Porządek obrazów oglądanych
0 3 2 1 4 5 8 6 7 9 11 10
Porządek obrazów przesyłanych
Ramki I są kodowane w całości – za pomocą algorytmu JPEG
Ramki P i B są kodowane za pomocą wektorów ruchu (predykcja ruchu)
Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 10, 2006
18
• Podstawowe załoŜenia kodowania predykcyjnego:
• Ramki dzieli się na niezaleŜne makrobloki
• Ramki sąsiednie są do siebie „podobne”
• Kodowany blok mkod moŜna zapisać przy wykorzystaniu
bloku odniesienia m0 jako:
mkod(i,,j)=m0(i+u,,j+v), gdzie [u,v]=[x0-x, y0-y]
jest wektorem ruchu.
Czyli przy załoŜeniu, Ŝe makroblok odniesienia jest juŜ
zakodowany, aby zapisać mkod wystarczy podać tylko
wektor ruchu.
Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 10, 2006
19
Wektor ruchu – ramki P
Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 10, 2006
20
Przykład wyznaczania wektora ruchu
W obszarze poszukiwań bada się wszystkie moŜliwe połoŜenia makrobloku m0 i wybiera
się to, które minimalizuje kryterium d(u,v)
Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 10, 2006
21
Kodowanie ramek P i B
Kodowanie ramek P – algorytm:
• Podzielić kodowaną ramkę na makrobloki
• Wykorzystując ramkę odniesienia wyznaczyć wektory ruchu dla makrobloków
• Dla ramki zakodowanej przy pomocy wektorów ruchu wyliczyć i zakodować błąd
predykcji:
• Zrekonstruować taką ramkę
• Obliczyć róŜnicę ramki źródłowej i zakodowanej
• Taki obraz zakodować JPEG-iem (ale przy uŜyciu innej tablicy kwantyzacji)
Kodowanie ramek B
• Do kodowania ramek dwukierunkowych wykorzystuje się najbliŜszą następną
i poprzednią ramkę I lub P
Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 10, 2006
22
Ramki B
• Wyznacza się 2 wektory ruchu [u1, v1], [u2, v2]
Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 10, 2006
23
Ramki B
Sam algorytm jest podobny do algorytmu kodowania ramki P, tutaj takŜe wyznaczamy
obraz błędu predykcji i zapisujemy go za pom. algorytmu JPEG
Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 10, 2006
24
Ramki B
W związku z predykcją ruchu kolejność odtwarzania i zapisu ramek w pliku róŜnią się
Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 10, 2006
25
Audio
Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 10, 2006
26
• Kodowanie stratne oparte na modelach psychoakustycznych
• Model psychoakustyczny to matematyczny model mówiący
jakie informacje o dźwięku są rozpoznawalne przez ludzkie
ucho, jakie natomiast nie są.
Źródło Wikipedia
Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 10, 2006
27
Modele psychoakustyczne - własności
• Modele psychoakustyczne przewidują zwykle zakres słyszalności od
20 Hz-20 kHz i maksymalną czułość w zakresie od 2 kHz do 4 kHz.
• Ponadto uwzględnia się maskowanie jednych dźwięków przez inne:
– maskowanie sąsiednich częstotliwości(maskowanie jednoczesne):
ciche dźwięki o częstotliwościach zbliŜonych do częstotliwości dźwięku
głośnego nie są słyszalne
– maskowanie dźwięków następujących (maskowanie pobodźcowe):
głośny dźwięk potrafi zagłuszyć cichsze dźwięki następujące zaraz po
nim
– maskowanie dźwięków poprzedzających (maskowanie wsteczne):
cichy dźwięk poprzedzający w krótkim czasie dźwięk głośny nie jest
słyszalny - ta własność układu słuchowego jest szczególnie ciekawa,
gdyŜ nie da się jej wyjaśnić na gruncie adaptacji krótkoterminowej
układu słuchowego; równocześnie pokazuje ona, Ŝe układ słuchowy
nosi pewne cechy układu nieprzyczynowego.
Źródło Wikipedia
Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 10, 2006
28
MPEG layer 3 – MP3
• Pliki nie posiadają swojego nagłówka
• Dane są podzielone na ramki i kaŜda ramka ma swój nagłówek.
Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 10, 2006
29
Pliki MP3
• Rozmiar ramki:
144 * BitRate / SampleRate (kiedy bit paddingu=0)
(144 * BitRate / SampleRate) +1 (kiedy bit paddingu=1)
• Znaczenia pól:
• ID - 1 MPEG-1; 0 - MPEG-2
• Layer:
Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 10, 2006
30
MP3 bitrate
• Bitrate
Constant Bit Rate (CBR)
Variable Bit Rate (VBR) dopiero w nowszych systemach
Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 10, 2006
31
MP3 frequency i mode
• Frequency:
• Mode:
dual channel – w którym dźwięk jest zapisywany jako
dwa odrębne kanały monofoniczne.
stereo (stereo mode 0) – w którym kaŜda ramka
zapisywana jest algorytmem left/right stereo.
joint stereo (stereo mode 1) – w którym dla kaŜdej ramki
wybierany jest najlepszy dla niej algorytm
zapisu dźwięku stereo.
Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 10, 2006
32
MP3 – mode extension i emphasis
• Mode extension (tylko przy Joint Stereo):
intensity stereo – w którym sygnał stereo dla niektórych
(głównie wysokich) częstotliwości kodowany jest jako
monofoniczna wartość uzupełniona o wektor określający
kierunek, z którego dochodzi dźwięk. W praktyce stosowany
tylko przy niskiej przepływności (poniŜej 80 kbps).
• Emphasis:
Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 10, 2006
33
MP3 nagłówek cd
• Protection:
0 - plik niechroniony
1- po nagłówku jest 16b CRC
• Padding:
0 - nie ma paddingu
1- 1b paddingu
• Private, Copyright, Original:
0 - nie
1 - tak
• TAGi ID3
v1 - ostatnie 128 B pliku
v2 - bloki mogące występować w dowolnym miejscu w pliku
Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 10, 2006
34
MP3 ID3v1
• ID3v1
• KaŜde pole musi być zakończone bajtem 0
• Ostatni B komentarza moŜe zawierać numer ścieŜki
Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 10, 2006
35
Wideo
raz jeszcze
MPEG - 2
Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 10, 2006
36
MPEG - 2
• Zapoczątkowany w 1991 roku
• Dedykowany do transmisji telewizyjnej i satelitarnej,
wideokonferencji, rozproszone bazy danych itp…
• Przetwarzanie większych obrazów z większą częstotliowścią
• Przeplot
• Profile: prosty SP, główny MP oraz skalowalne (ze względu
na współczynnik sygnał/szum SNR, przestrzennie Spt,
górny HP)
• Poziomy: niski LL, główny ML, wysoki high-1440, wysoki HL
• 11 klas (punktów zgodności)
Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 10, 2006
37
… za tydzień MPEG-4 i jego następcy
Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 10, 2006
38
Przemysław Sękalski, Przetwarzanie i transmisja danych multimedialnych, wykład 10, 2006
39

Podobne dokumenty