zobacz

Transkrypt

zobacz
Odtwarzanie i
kompresja wideo
dr inż. Piotr Steć
Rodzaje plików wideo
„
Kontenery
… AVI
– Audio Video Interleave
… WMV – Windows Media Video
… MOV – QuickTime
… MKV – Matroska
„
Standardy kompresji
… MPEG
– Motion Pictures Expert Group
… RV – Real Video
1
Co to jest kontener?
Nie jest to standard kompresji
„ Definicja struktury pliku
„ Umożliwia przechowywanie wielu
strumieni
„ Każdy strumień może być poddany
kompresji innym algorytmem
„
Format AVI
„
„
„
„
„
Wewnętrzna struktura to RIFF (Resource
Interchange File Format)
Składa się z bloków zawierających różnego
rodzaju dane
Może przechowywać jeden strumień wideo i
jeden strumień audio
Obraz i dźwięk mogą być zakodowane w
dowolny sposób
Sposób kompresji jest identyfikowany poprzez
czteroznakowe kody 4CC (n.p. DX50 – DivX 5.0)
2
Odtwarzanie AVI
Windows Media Player
Inne odtwarzacze
„
Odtwarzacze DirectShow
… BestPlayer
… AllPlayer
… Koala Player
… Itp.
„
Odtwarzacze samodzielne
… VideoLAN
Player – posiada własne dekodery wielu
formatów (www.videolan.org)
… ?? (są wielką rzadkością, większość używa
mechanizmów Microsoft)
3
Format QuickTime
Kontener opracowany przez firmę Apple
„ Otwarta architektura formatu pozwala na
zastosowanie wielu kodeków
„ Typy danych przechowywane w
kontenerze: wideo, obrazy statyczne,
duszki (sprites), grafika wektorowa, dźwięk
wielokanałowy, MIDI, obiekty 3D,
panoramy i tekst
„
Odtwarzacz QuickTime
http://www.quicktime.com/
4
RealVideo
„
„
„
Format opracowany przez
RealNetworks
Przeznaczony głównie do
strumieniowej transmisji
przez Internet
www.real.com/
Podstawowe pojęcia związane
z wideo pod Windows
„ Kodek
„ DirectShow
„ Nakładka
5
Kodek
Ko-der, Dek-oder
„ Moduł programowy odpowiedzialny za
kodowanie i dekodowanie strumienia
danych (audio lub wideo)
„ System może odtworzyć tylko takie
strumienie, dla których posiada
odpowiednie kodeki
„
Jak sprawdzić zainstalowane
kodeki?
„
„
„
Panel Sterowania
Dźwięki i urządzenia
audio
Właściwości
odpowiedniej grupy
kodeków
6
Lista kodeków wideo
DirectShow
Część biblioteki DirectX
„ Odpowiada za odtwarzanie plików
multimedialnych
„ Oparty na systemie filtrów
„ Z filtrów można budować grafy
przetwarzające strumienie danych
„
7
Struktura DirectShow
Przykładowy graf filtrów
n.p. VobSub
8
Nakładka (Overlay)
„
„
„
Specjalny tryb pracy karty graficznej (musi być
obsługiwany sprzętowo)
Fragment obrazu może być wyświetlany w
zupełnie innym trybie graficznym niż pozostałą
część
Zwykle używany do wyświetlania wideo,
nakładka pracuje w trybie kolorów YUV (takim
jak w pliku wideo) dzięki czemu nie jest
wymagana dodatkowa konwersja
Działanie nakładki
Pulpit:
24b/piksel RGB
Nakładka:
16b/piksel YUV
pamięć ekranu
pamięć nakładki
9
Działanie nakładki
Wideo pełnoekranowe
„
„
„
„
Tryb pozwalający wyświetlać
nakładkę na pełnym ekranie
pomocniczym (n.p. TV)
nVidia – wideo pełnoekranowe
ATI – tryb teatralny
Większość odtwarzaczy nie
potrafi wyświetlać napisów na
telewizorze (napisy nie są
częścią obrazu a etykietą
nałożoną na okno programu)
10
Kiedy napisy będą wyświetlane
na TV?
napisy
„
nakładka
Napisy nie są częścią
obrazu, nie będą
widoczne
pulpit
napisy
nakładka „ Napisy wklejone w
pulpit
obraz będą widoczne
Napisy są wklejane w film przez VideoLAN Player lub filtr VobSub
Niewiele odtwarzaczy jest w stanie dokonać tej operacji
Kompresja wideo
Kompresja MPEG
„ Kodeki wideo
„
… Indeo
… Cinepack
… DivX
… Xvid
… M-JPEG
… DV
11
Kompresja MPEG
Standard kompresji opracowany przez
Moving Picture Experts Group
„ Format asymetryczny – potrzeba więcej
czasu na kompresję niż dekompresję
obrazu
„ Wykorzystuje kompresję przestrzenną
(opartą o DCT, podobną do JPEG)
i czasową
„
Kompresja MPEG
Strumień MPEG składa się ze zbiorów
obrazów określanych jako GOP (Group of
Pictures)
„ Każdy GOP (typowo 8 do 24 klatek)
zawiera tylko jedną klatkę zakodowaną
w całości, tzw. klatkę kluczową (I-frame)
„ Pozostałe klaki są zakodowane czasowo
i reprezentują tylko zmiany w obrazie
„
12
Struktura strumienia MPEG
Nazwa
struktury
Nazwa
angielska
Opis
Funkcja, przenoszona
informacja
Sekwencja
Sequence
Film, program
telewizyjny, itp.
Rozdzielczość, profil
kodera
Grupa
obrazów
Group of
pictures (GOP)
Grupa obrazów, którą
można zdekodować
samodzielnie
Dostęp do danych
Obraz
Picture, frame
Obraz lub 2 pola
Typ obrazu, znacznik
czasu
Warstwa,
grupa
bloków
Slice, group of
blocks (GOB)
Wiersz makrobloków lub
jego część
Resynchronizacja w
przypadku zakłóceń
Makroblok
Macroblock
16x16 punktów
Wektory ruchu,
parametry kwantyzatora
Blok
Block
8x8 punktów
Współczynniki DCT
Kompresja MPEG –
kodowanie klatki kluczowej
„
„
„
„
Obraz jest dzielony na bloki
8x8 lub 16x16 pikseli
Każdy blok jest poddawany
transformacie DCT
Współczynniki transformaty są
kwantowane (zaokrąglane do
pewnych ustalonych wartości)
Skwantowane współczynniki są
kodowane bezstratnie
13
Kompresja MPEG –
kodowanie międzyobrazowe
Dwa rodzaje klatek kodowanych
międzyobrazowo (na podstawie różnic)
„ Klatki P (predictive) dekodowane są tylko
na podstawie obrazów poprzednich
„ Klatki B (bidirectionally-predictive)
dekodowane są z użyciem obrazów
poprzednich i następnych
„
Kompresja MPEG –
kodowanie międzyobrazowe
Numer obrazu
Typ obrazu
1 2 3 4 5 6 7 8
I B B P B B B P
14
Klatki kluczowe a kompresja
„
Mała liczba klatek kluczowych:
… Większy
stopień kompresji
… Błędy utrzymują się dłużej
… Problemy z przewijaniem
„
Duża liczba klatek kluczowych:
… Lepsza
jakość obrazu
… Łatwiejsze przewijanie
… Duży rozmiar pliku
Kompresja MPEG –
estymacja ruchu
Jeśli obiekt się porusza na filmie, to
powoduje powstawanie dużych różnic w
kolejnych klatkach (zła kompresja)
„ Przy znanym przesunięciu obiektu można
policzyć różnicę pomiędzy bieżącą klatką
a klatką poprzednią z uwzględnieniem
przesunięcia (mniejsza różnica – lepsza
kompresja)
„
15
Kompresja MPEG –
estymacja ruchu
różnica bez
kompensacji
ruchu
klatka 1
klatka 2
różnica z
kompensacją
ruchu
klatka 1
klatka 2
Kompresja MPEG –
estymacja ruchu
bieżący
makroblok
klatka n-1
wektor
ruchu
najlepsze
dopasowanie
klatka n
16
Kompresja MPEG 3000 kbps
Kompresja MPEG 1500 kbps
17
Kompresja MPEG 500 kbps
Kompresja MPEG 3000 kbps
18
Kompresja MPEG 64 kbps
MPEG – 1
Standard wprowadzony w 1993 r.
„ Szybkość transmisji obrazu do 1,5 Mb/s
„ Szybkość transmisji dźwięku 192 kb/s
„ Rozdzielczość obrazu 352x288,
25klatek/s
„
19
MPEG – 2
„
„
„
„
„
Rozdzielczości 720x576 i 1280x720 (PAL)
do 50 klatek/s
Dźwięk o jakości CD
Możliwość dopasowywania kompresji do pasma
transmisyjnego
Dekompresja nie wymaga dużych mocy
obliczeniowych
Standard używany przez cyfrową telewizję
satelitarną i kablową, oraz na płytach DVD
MPEG – 4
Zatwierdzony w 1998 r.
„ Standard definiujący kodowanie i
odtwarzanie wielu mediów wizualnych:
„
… Wideo
… Obrazów
statycznych
… Modeli 3D
… Wideo-konferencji
… Transmisję strumieniową
20
MPEG – 4
Pozwala na obiektowe kodowanie
elementów obrazu
„ Obiekty mogą być kodowane niezależnie
i przesyłane z różną przepustowością
w różnych kanałach transmisyjnych
„ Skalowalność transmisji
„ Możliwość interakcji użytkownika
„
Technika duszków w MPEG – 4
Tło i obiekt pierwszoplanowy mogą być zakodowane niezależne
21
MPEG – 7
„
„
„
„
Standard opisu danych audio-wizualnych w
środowiskach multimedialnych
Jest niezależny od sposobu kodowania
i zapisu danych
Może być używany zarówno do opisu danych
analogowych jak i cyfrowych zakodowanych w
MPEG – 4
Oferuje wiele poziomów abstrakcji opisu
Składowe opisów w MPEG – 7
„
„
„
„
„
„
„
„
„
Opis utworu i jego powstania
Sposób użytkowania
Format zapisu
Opis struktury
Właściwości niskiego poziomu
Relacje pomiędzy obiektami
Indeksy i informacje pomagające w przeszukiwaniu
Informacje o zbiorach obiektów
Sposób interakcji użytkownika z zawartością zbioru
22
Opracowywane standardy MPEG
„
MPEG – 21
… Dostęp
do mediów
… Zarządzanie multimediami
… Rozpowszechnianie
… Ochrona danych
„
MPEG – A
… MAF
– Multimedia Application Formats, podejście do
standaryzacji formatów przechowywania danych z
użyciem istniejących wersji MPEG
Adresy związane z MPEG
http://www.chiariglione.org/mpeg/
„ http://www.mpeg.org/
„ http://www.robertsdvd.com/
„
23
Kodeki wideo
Indeo
„ Cinepack
„ DivX
„ Xvid
„ M-JPEG
„ DV
„
Indeo
Opracowany przez firmę Intel
„ Do kompresji używa próbkowaniu koloru,
kwantyzacji wektorowej i kodowania o
zmiennej długości słowa (RLE)
„ Skalowalny – ilość klatek/s zależy od
mocy obliczeniowej
„ Niezbyt szybki
„
24
Cinepack
„
„
„
„
Opracowany przez firmę SuperMac Technology
Oparty na kwantyzacji wektorowej, opracowaniu
w celu kodowania
24-bitowego obrazu o rozdzielczości 320x240,
odtwarzanego z dysku CD-ROM o pojedynczej
prędkości
Dobra jakość obrazu
Bardzo wolny: kodowanie 300 razy dłuższe niż
dekompresja
DivX
„
„
„
„
Kodek bazujący na standardzie MPEG – 4
Pozwala uzyskiwać duże stopnie kompresji przy
zachowaniu dobrej jakości obrazu
Rozwinął się jako alternatywa dla DVD, obecnie
produkt komercyjny
Istnieją implementacje na większość platform
programowych i sprzętowych (również
stacjonarne odtwarzacze)
25
Xvid
„
„
„
„
„
Darmowa (GNU) konkurencja kodeka DivX
Bazuje na MPEG – 4, w dużej części
kompatybilna z DivX
Istnieje wiele alternatywnych implementacji
kodeka, projekt wciąż rozwijany
Istnieją implementacje dla wielu systemów
operacyjnych i na platformy sprzętowe
http://www.xvid.org/
M-JPEG
Każda klatka filmu kodowana niezależnie
„ Kompresja jak w standardzie JPEG
„ Stosowany do kompresji materiału, który
ma być poddawany edycji
„
26
DV
„
„
„
„
„
Kodek stosowany w cyfrowych kamerach wideo
Kompresja oparta o DCT
Każda klatka kompresowana niezależnie
Różne obszary klatki kompresowane z różnymi
współczynnikami kompresji
Przy tym samym stopniu kompresji oferuje
lepszą jakość niż M-JPEG
Kompresja plików wideo
„
Program VirtualDub
…
…
…
…
…
Darmowy
Duża ilość opcji kompresji
Rejestracja obrazu i
dźwięku
Edycja i filtracja filmów w
podstawowym zakresie
http://www.virtualdub.org/
27
Otwieranie pliku wideo
Tryby pracy kompresora
(menu Video)
„
„
„
„
Direct stream copy – kopiuje zawartość pliku
źródłowego do docelowego bez rekompresji
Fast recompres – kompresja z użyciem danych
źródłowych, n.p. wektorów ruchu
Normal recompres – pełna dekompresja i
ponowna kompresja
Full processing mode – jak wyżej, ale z
możliwością filtracji
28
Wybór kodeka
Parametry kodeka
1.
2.
1
2
3
3.
Tryb pracy
(wydajność/jakość)
Liczba przebiegów
Szybkość transmisji
obrazu (najsilniej
wpływa na jakość:
więcej – lepsza
jakość)
29
Ustawienia dźwięku
Kodeki audio
30
Poruszanie się po filmie
1
234 5 66577 88 99
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
10
Pasek przewijania
Stop
Odtwórz wideo źródłowe
Odtwórz wideo wyjściowe
Początek, koniec
Przewijanie do tyłu, do przodu
Poprzednia, następna klatka kluczowa (klatka I)
Poprzednia, następna scena
Początek, koniec zaznaczenia
Numer, czas i typ bieżącej klatki
Zapis (kompresja) wideo
Status
kompresji
31
Obliczanie przepustowości
(bitrate)
bitrate =
„
„
„
wielkośi docelowa
dłługoś filmu
Wielkość docelowa wyrażona w kilobitach, n.p. dla 700
MB = 700*1024*8 = 5734400 kb
Długość filmu w sekundach, n.p. 30 min = 1800 s
Wynikowa przepustowość (obraz i dźwięk w sumie) –
ok. 3185 kb/s
Automatyczny kalkulator w kodeku
Xvid
32
Kodowanie ze zmienną
przepustowością
„
„
„
W pierwszym przebiegu
obliczane są pewne parametry
kodera i wskaźniki jakości dla
poszczególnych klatek
W kolejnych przebiegach
stopień kompresji jest
dobierany do jakości obrazu:
dobra jakość – zmniejszona
przepustowość, zła jakość –
zwiększona przepustowość
Lepsza jakość obrazu przy
mniejszej średniej
przepustowości
33

Podobne dokumenty