sygnały video (A)

Transkrypt

sygnały video (A)
Kodowanie źródeł – sygnały video
(A)
Sygnał video – definicja i podstawowe parametry
Liczba klatek na sekundę
Przeplot
Rozdzielczość obrazu
Proporcje obrazu
Model barw
Przepływność binarna
(B)
Kompresja MPEG
(C)
Ocena jakości video
(D)
Metoda subiektywna
Metoda obiektywna
Kompresja MPEG-4 (?)
Sygnał video – definicja
(a) Termin video potocznie odwołuje się do różnych metod i
formatów zapisu obrazu:
Cyfrowych np. DVD, video strumieniowe (m.in. MPEG-4)
Analogowych np. taśma VHS
(b) Sygnał video może zostać zapisany np. na taśmie magnetycznej
(w systemie PAL, SECAM, NTSC jako elektryczny sygnał
analogowy)
(c) Sygnał video może zostać zapisany w formie cyfrowej (ciąg bitów
zapisanych w odpowiednim formacie, zazwyczaj
skompresowanym np. MPEG-1, MPEG-2 itd.)
(d) Jakość sygnału zależy zarówno od metody zapisu jak i nośnika
informacji
Parametry - liczba klatek na sekundę
(a) Liczba klatek na sekundę (ang. fps – frames per second)
Zależnie od systemu liczba klatek na sekundę może wynosić od 6 do
120
Aby uzyskać złudzenie płynności ruchu potrzeba około 10 klatek na
sekundę
Typowo, film kinowy zawiera 24 klatki na sekundę (co stwarza problemy
przy jego zapisie do postaci cyfrowej)
(b) W zależności od systemu liczba klatek na sekundę wynosi:
25 dla PAL i SECAM
29,97 dla NTSC
Parametry - przeplot
(a) Przeplot ang. Interlacing - wstęp
Poziome linie obrazu są numerowane oraz dzielone na parzyste i
nieparzyste
Odświeżanie obrazu polega na wyświetlaniu na przemian linii
parzystych i nieparzystych
Technika wykorzystywana w systemach NTSC, PAL, SECAM
W zapisie cyfrowym stosuje się przeważnie obraz bez przeplotu (ang.
non-interlacing, progressive)
(b) Zalety
Mniejsze pasmo potrzebne dla przesłania sygnału
Zwiększenie pozornej częstotliwości obrazu
Wyeliminowanie efektu migotania obrazu (2 razy częściej wyświetlana
jest połowa linii obrazu zamiast rzadziej cały obraz)
Parametry – przeplot c.d.
(a) Aby zapisać sygnał z przeplotem w postaci cyfrowej należy
wykonać operację odwrotną – ang. deinterlacing
(b) Operacja taka nie gwarantuje jakości sygnału video na
poziome tego samego obrazu przesyłanego bez przeplotu
(c) Deinterlacing jest wykonywany we wszystkich odbiornikach
typu telewizory TFT, projektory czy telewizory plazmowe
Parametry – rozdzielczość
(a) Sygnał video analogowy – wyrażana w liniach poziomych
ang. horizontal scan lines
Np. w przypadku SDTV (ang. standard-definition television) wynosi:
dla PAL/SECAM - 768/720x576i50 (i – interlaced)
dla NTSC - 720/704/650x480i60
(b) Sygnał video cyfrowy – wyrażana w pikselach
Np. w przypadku HDTV (ang. high-definition television) wynosi
1920x1080p60 (p - progresive)
Parametry – rozdzielczość c.d.
Parametry – proporcje obrazu
(a) Proporcje obrazu (współczynnik kształtu obrazu –
ang. aspect ratio)
Określa proporcje obrazu video oraz jego elementów
Dla SDTV wynosi 4:3 lub 1.33:1
Dla HDTV wynosi 16:9 lub 1.85:1
(b) Piksel zdefiniowany dla strumienia cyfrowego video często nie
jest „kwadratem” (podobnie jak w standardach PAL i NTSC –
norma CCIR 601)
Np. obraz o rozdzielczości 720x480 pikseli (DV NTSC/VGA) może być
wyświetlany w proporcjach 4:3 (standard TV) oraz w proporcjach 16:9
(obraz szerokoekranowy – ang. anamorphic widescreen format)
Parametry – proporcje obrazu c.d.
Parametry – model barw
(a) Model barw opisuje sposób reprezantacji koloru
(b) Dla sygnału video analogowego
NTSC – YIQ gdzie Y reprezentuje luminancję (jasność) a I,Q
reprezentują chrominancję (odcień, nasycenie barwy). I, Q są
składowymi - synfazową i kwadraturową, w procesie modulacji
kwadraturowej
SECAM – YDbDr gdzie Y reprezentuje luminancję Db, Dr
chrominancję
PAL – YUV
(c) Dla sygnału video cyfrowego – przestrzeń RGB
Parametry – model barw c.d.
YUV – wszystkie kanały
Parametry – model barw c.d.
YUV – kanał luminancji Y
Parametry – model barw c.d.
YUV – kanał chrominancji U
Parametry – model barw c.d.
YUV – kanał chrominancji V
Parametry – model barw c.d.
(a) Przestrzeń RGB - 3 wiązki światła czerwona (red), zielona
(green), niebieska (blue) zmieszane (synteza addytywna)
w odpowiednich proporcjach dają dowolną barwę –
właściwość ludzkiego oka
(b) Nie należy mylić przestrzeni RGB z tradycyjnym modelem
mieszania barw – żółty/niebieski/czerwony
(d) W cyfrowym sygnale video używa się 24-bitowego zapisu
RGB
(c) Odwzorowanie przestrzeni RGB jest zależne od urządzenia
Parametry – model barw c.d.
Parametry – model barw c.d.
Parametry – model barw c.d.
Parametry – model barw c.d.
(a) Model YUV jest bliższy percepcji ludzkiego oka niż model RGB
(b) Model YUV jest tworzony na podstawie oryginalnego obrazu
RGB – konwersja RGB-YUV
Y = 0.299R + 0.587G + 0.114B
U = 0.436(B - Y)/(1 - 0.114)
V = 0.615(R - Y)/(1 - 0.299)
R,G,B,Y∈[0, 1]; U∈[-0.436, 0.436]; V∈[-0.615, 0.615]
Parametry – model barw c.d.
Parametry – model barw c.d.
(a) Oko ludzkie jest bardziej wrażliwe na jaskrawość niż
odcień koloru, stąd luminancja podawana jest dla każdego
piksela, a chrominancja może być uśredniana np. za blok
2x2 piksele – podpróbkowanie chrominancji ang.
chroma subsampling
(b) Operacja pozwala zmniejszyć pasmo sygnału bez
zauważalnych zmian w obrazie
Parametry – model barw c.d.
Parametry – model barw c.d.
YUV444 – wszystkie kanały mają tą samą częstotliwość
próbkowania
4 piksele opisane za pomocą 3 bajtów każdy
[Y0 Cb0 Cr0] [Y1 Cb1 Cr1] [Y2 Cb2 Cr2] [Y3 Cb3 Cr3]
zostaną odwzorowane w ciąg 12 bajtowy
Y0 Cb0 Cr0 Y1 Cb1 Cr1 Y2 Cb2 Cr2 Y3 Cb3 Cr3
Parametry – model barw c.d.
YUV422 – kanały chrominancji mają dwukrotnie mniejszą
częstotliwość próbkowania
4 piksele opisane za pomocą 3 bajtów każdy
[Y0 Cb0 Cr0] [Y1 Cb1 Cr1] [Y2 Cb2 Cr2] [Y3 Cb3 Cr3]
zostaną odwzorowane w ciąg 8 bajtowy
Y0 Cb0 Y1 Cr1 Y2 Cb2 Y3 Cr3
Parametry – przepływność binarna
(a) Przepływność binarna mierzona jest w bps, Mbps – ang. bit
per seconds
(b) Wyższa przepływność oznacza zazwyczaj lepszą jakość
obrazu np. VideoCD – ok. 1 Mbps, DVD – ok. 5 Mbps,
HDTV – ok. 20 Mbps
(c) CBR – ang. constant bit rate
transmisja w czasie rzeczywistym ang. real-time, brak buforowania,
ograniczone pasmo kanału komunikacji np. video-konferencja
(d) VBR – ang. variable bit rate
odtwarzanie z nośników lub strumieniowe, algorytmy adaptacyjne
np. sceny typu low motion są kodowane wolniejszym strumieniem niż sceny
typ high motion
Kompresja MPEG – podstawy
Jeśli S=S’ to kodowanie źródła jest bezstratne
(pod warunkiem że Sk=Sk’)
Kompresja MPEG – podstawy c. d.
(a) Kompresja pozwala zredukować ilość informacji zawartej w
sekwencji video
(b) Redukcja polega na usunięciu informacji nadmiarowej –
redundancja
(c) Sekwencja video po kompresji jest zbiorem
nieskorelowanych elementów
Kompresja MPEG – parametry
Stopień kompresji
ang. compression ratio
N1
CR =
N2
Gdzie: N2 sygnał oryginalny, N1 sygnał po kompresji
Redundancja
R = 1 − CR
Kompresja MPEG – redundancja
(a) Redundancja kodu – polega na optymalnym dobraniu
długości słowa kodowego np. kod Huffmana
(b) Redundancja przestrzenna (geometryczna) – wykorzystuje
fakt, że poziomy jasności sąsiednich pikseli są silnie
skorelowane np. kodowanie RLE
(c) Redundancja psychowizualna – wykorzystuje fakt, że ludzkie
oko wykazuje nierównomierną czułość na poszczególne
składowe obrazu np. transformata DCT z kwantyzacją
Kompresja MPEG – entropia
(dotyczy kanału luminancji)
L −1
E = −1⋅ ∑ p(li ) ⋅ log 2 p(li )
i =0
Gdzie p(li) jest prawdopodobieństwem wystąpienia poziomu jasności li w
obrazie
Entropia określa średnią liczbę bitów potrzebną do
zakodowania wszystkich poziomów jasności L obrazu
Kompresja MPEG – entropia c.d.
E=7,01
E=5,31
Kompresja MPEG – sekwencja video
Kompresja MPEG – makroblok
(a) Makroblok jest jednostką przetwarzania dla kompresji MPEG
(b) Ma rozmiar 16x16 pikseli i składa się z 6 bloków o rozmiarach
8x8 pikseli
Kompresja MPEG – przykładowy blok
⎡
⎢
⎢
⎢
f ( j, k ) = ⎢
⎢
⎢
⎢
⎢
⎣
139
144
150
159
159
161
162
162
144
151
155
161
160
161
162
162
149
153
160
162
161
161
161
161
153
156
163
160
162
161
163
161
155
159
158
160
162
160
162
163
155
156
156
159
155
157
157
158
155
156
156
159
155
157
157
158
155
156
156
159
155
157
157
158
⎤
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎦
Kompresja MPEG – zasada kompresji
Kompresja MPEG – dwuwymiarowa transformata DCT
7
7
(
(
1
2 j + 1)u π
2 k + 1)v π
F (u , v ) = C (u )C (v )∑ ∑ f ( j , k ) cos
cos
4
16
16
j=0 k =0
C (u ) =
2
2
dla u = 0, C (u ) = 1 dla u ≠ 0
Kompresja MPEG – dwuwymiarowa transformata DCT
Kompresja MPEG – dwuwymiarowa transformata DCT c.d.
Kompresja MPEG – przykładowy blok po DCT
⎡ 1260
⎢ - 23
⎢ - 11
⎢
- 7
F (u, v ) = ⎢
⎢ - 1
⎢
2
⎢ - 1
⎢
⎣ - 3
- 1 - 12 - 5 2
- 2 - 3
1⎤
- 17
- 6 - 3 - 3
0
0 - 1⎥
- 9
- 2
2
0 - 1 - 1
0⎥
⎥
- 2
0
1
1
0
0
0⎥
- 1
1
2
0 - 1
1
1⎥
0
2
0 - 1
1
1 - 1⎥
0
0 - 1
0 2
1 - 1 ⎥
⎥
2
- 4 - 2
2
1 - 1
0 ⎦
Kompresja MPEG – kwantyzacja
⎢
⎢ Q(u , v) ⎥ ⎥
(
,
)
F
u
v
+
⎢
⎢⎣ 2 ⎥⎦ ⎥
F(u, v)
*
⎥
)≈⎢
F (u , v) = Nearest integer (
Q(u, v) ⎢
Q(u , v)
⎥
⎢⎣
⎥⎦
⎡16
⎢12
⎢14
⎢
14
Q (u, v ) = ⎢
⎢18
⎢ 24
⎢ 49
⎢
⎣72
11
12
13
17
22
35
64
92
10
14
16
22
37
55
78
95
16
24 40
19 26 58
24 40 57
29 51 87
56 68 109
64 81 104
87 103 121
98 112 100
51
60
69
80
103
113
120
103
61 ⎤
55 ⎥
56 ⎥
⎥
62 ⎥
77 ⎥
92 ⎥
101 ⎥
⎥
99 ⎦
Kompresja MPEG – kwantyzacja c.d.
Kompresja MPEG – przykładowy blok po kwantyzacji
⎡79
⎢- 2
⎢- 1
F * (u , v ) = ⎢ 0
⎢ 0
⎢ 0
⎢ 0
⎢⎣ 0
0
-1
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
⎤
⎥
⎥
⎥
⎥
⎥
⎥
⎥⎦
Kompresja MPEG – Zig-Zag
Kompresja MPEG – kodowanie RLE
Kompresja MPEG – kod Huffmana
Kompresja MPEG – kod Huffmana c.d.
(a) Kompresja danych metodą statystyczną
(b) Krótkie słowa kodowe reprezentują symbole występujące z
największym prawdopodobieństwem
(c) Długie słowa kodowe reprezentują symbole występujące z
najmniejszym prawdopodobieństwem
(d) Najważniejsze właściwości:
- Żadne słowo kodowe nie jest początkiem innego słowa
- Dwa najmniej prawdopodobne symbole mają słowa kodowe równej
długości
- Dwa najdłuższe symbole różnią się tylko ostatnim symbolem
- Żadne dwa słowa kodowe nie mają tej samej postaci
Kompresja MJPEG, MPEG-1, MPEG-2, MPEG-4 – ramka I
(a) Ramka I – ang. Intra Picutres (I-Pictures)
(b) Ramka indeksowa jest kompresowana indywidualnie w całości
(c) Nie wymaga dodatkowej informacji do dekompresji
(d) Typowy stopień kompresji to 2 bity na kodowany piksel
Kompresja MJPEG, MPEG-1, MPEG-2, MPEG-4 – ramka I c.d.
Kompresja MPEG-1, MPEG-2, MPEG-4 – ramka P
(a) Ramka P – ang. Predictet Picture (P-Picture)
(b) Ramka z predykcją – forward prediction
(c) W procesie kodowania wykorzystywana jest informacja z
poprzedniej ramki P lub I
(d) Może zawierać kompensację ruchu (większy stopień
kompresji niż ramka I)
Kompresja MPEG-1, MPEG-2, MPEG-4 – ramka P c.d.
Kompresja MPEG-2, MPEG-4 – ramka B
(a) Ramka B – ang. Bidirectional Picture (B-Picture)
(b) Ramka kompresowana „dwukierunkowo” - zawiera informacje
dotyczące różnic między sąsiednimi ramkami
(c) Do dekompresji konieczna jest informacja z ramek
poprzedzających i następujących - interpolacja
(d) Wysoki stopień kompresji ale duża złożoność obliczeniowa
Kompresja MPEG-2, MPEG-4 – ramka B c.d.
Kompresja MPEG-2, MPEG-4 – ramka B c.d.
Kompresja MPEG-2, MPEG-4 – struktura GOP
Ocena jakości video – metoda subiektywna
MOS – współczynnik jakości obrazu, ang. Mean Opinion Score
(a) Pomiar dokonywany jest przez porównanie obrazu oryginalnego
oraz obrazu przetworzonego
(b) Dla audio zdefiniowany przez rekomendację ITU-T P.800
(c) Skala ocen od 1 do 5
(d) Ocena przyznawana jest wg kryterium:
1
zła
różnice bardzo irytujące
2
słaba
różnice irytujące
3
przeciętna
różnice lekko irytujące
4
dobra
różnice zauważalne ale irytujące
5
doskonała
różnice niezauważalne
(e) Pod uwagę brana jest ocena średnia dla ustalonej grupy osób (liczność)
Ocena jakości video – metoda obiektywna
PSNR – wartość szczytowa stosunku sygnał-szum, ang. peak
signal-to-noise ratio
gdzie:
MAXI = 2B-1, B - liczba bitów na piksel (w przypadku przetwarzania
liniowego) np. dla 8 bitów MAXI=255
MSE – błąd średniokwadratowy
Ocena jakości video – metoda obiektywna c.d.
PSNR dla obrazu RGB (typowe wartości 30-40 [dB])
PSNR = 10 ⋅ log10
2552 ⋅ m ⋅ n
m −1, n −1
2
(
X
−
Y
)
∑ ij ij
i =0, j =0
gdzie mxn to rozdzielczość obrazu