Systemy operacyjne

Transkrypt

Systemy operacyjne
Systemy operacyjne
Obsługa multimediów
[2] Wprowadzenie
1. Wprowadzenie do multimediów
2. Pliki multimedialne
3. Kompresja video
(a) Standard JPEG
(b) Standard MPEG
4. Szeregowanie procesów
(a) Szeregowanie RMS
(b) Szeregowanie EDF
5. Pliki i system plików
[3] Multimedia
Multimedia
• literalnie, więcej niż jedno medium, zazwyczaj rozumiane jako: dwa lub więcej ciągłych mediów, czyli mediów odtwarzanych w kontekście pewnego
interwału czasu,
• cechy charakterystyczne:
– multimedia wymagają wyjątkowo dużych przepustowości,
– multimedia wymagają odtwarzania w czasie rzeczywistym.
• zastosowania multimediów: odgrywanie filmów z DVD (ang. Digital Versatile Disk), ładowanie filmów z sieci Internet, tworzenie samych filmów, gry
komputerowe,
• wideo na żądanie świętym gralem świata multimediów,
– serwer wideo (multimediów),
– sieć dystrybucyjna,
Obsługa multimediów
– set-top box do odkodowania i dekompresji informacji.
• film rozumiany jako audio + wideo,
[4] Techniki dystrybucji
Fiber
Junction box
House
Distribution network
Video server
Copper twisted pair
(a)
Fiber
Junction box
Distribution network
Video server
Cable TV coaxial cable
(b)
Wideo na żądanie z wykorzystaniem różnych technik lokalnej dystrybucji.
a. ADSL (ang. Asymmetric Digital Subscriber Loop),
b. telewizja kablowa.
2
Obsługa multimediów
[5] Standardy multimedialne
• NTSC (ang. National Television Standards Committee) (na początku Never
Twice the Same Color, 29,97 ramek na sekundę, Ameryki i Japonia,
• PAL (ang. Phase Alternating Line), 25 ramek na sekundę, Europa,
• SECAM (ang. SEquentiel Couleur Avec Memoire), Francja i dawny obóz
wschodni,
• ucho bardziej wrażliwe od oka,
• dopuszczalne odchylenie w transmisji określane jest mianem jitter,
• problem zapewnienia jakości obsługi (ang. quality of service) opartej głównie na odpowiedniej rezerwacji pasma łącza. Przykładowo, dywersyfikacja
usług w ofercie operatora:
– przepustowość 4 Mbps, 99% opóźnień transmisji w zakresie 105-110 msec a
współczynnik utraty bitu 10−10 (wystarczy dla MPEG-2),
– przepustowość 1 Mbps (np. ADSL), zmniejszona rozdzielczość, więcej utraconych ramek, obraz czarno-biały.
[6] Przepustowości mediów i standardów
2 22222222222222222222222222222222222222222222222222222222222
1 GB/hr 1
1
12 22222222222222222222222222222222222222222222222222222222222
Source
Mbps
1
1
1
1
(PCM)
0.064 1
0.03 1
22222222222222222222222222222222222222222222222222222222222
1
12Telephone
music
0.14 1
0.06 1
12MP3
1
22222222222222222222222222222222222222222222222222222222222
1
1
12Audio
CD
1.4
0.62 1
22222222222222222222222222222222222222222222222222222222222
1
1 MPEG-2 movie (640 $times$ 480)
1
4
1.76 1
1
1
1
12 22222222222222222222222222222222222222222222222222222222222
camcorder (720 $times$ 480)
25
1
1
1 11
12Digital
22222222222222222222222222222222222222222222222222222222222
1
1 221
1 97
12Uncompressed
TV (640 $times$ 480)
22222222222222222222222222222222222222222222222222222222222
1 288
1
1 Uncompressed HDTV (1280 $times$ 720) 1 648
1
12 22222222222222222222222222222222222222222222222222222222222
1
1
Ethernet
1
1
1 100
12Fast
22222222222222222222222222222222222222222222222222222222222
1
1
12EIDE
disk
133
222222222222222222222222222222222222222222222222222222222221
1
1 ATM OC-3 network
1 156
1
1
1
1
12 22222222222222222222222222222222222222222222222222222222222
UltraWide disk
1
1
12SCSI
1 320
22222222222222222222222222222222222222222222222222222222222
1
1
12IEEE
1 400
1394 (FireWire)
22222222222222222222222222222222222222222222222222222222222
1
1
1
1
Ethernet
22222222222222222222222222222222222222222222222222222222222
1 1000
1
1
12Gigabit
Ultra-160 disk
1
1
12SCSI
22222222222222222222222222222222222222222222222222222222222
1 1280
3
Obsługa multimediów
Wybrane przepustowości dla multimediów i wybranych urządzeń wejścia/wyjścia.
Uwaga, 1 Mbps to 106 bitów na sekundę, a 1GB to 230 bajtów.
[7] Zawartość zapisu multimediów (I)
• wideo i audio są zupełnie różne:
– pobierane z różnych urządzeń,
– różna struktura wewnętrzna (25-30 ramek/sek i 44,100 próbek/sek),
– różne typy urządzeń odtwarzających.
• DVD może pomieścić do 32 plików języków i podtytułów,
• niezbędna metoda do przechowywania informacji w sposób umożliwiający
synchroniczne odtwarzanie,
[8] Zawartość zapisu multimediów (II)
Frame
1
2
3
4
5
6
7
8
English subtitles
Hello, Bob
Hello, Alice
Nice day
Sure is
How are you
Great
And you
Good
Dutch subtitles
Dag, Bob
Dag, Alice
Mooie dag
Jazeker
Hoe gaat het
Prima
En jij
Goed
Video
English audio
French audio
German audio
Fast forward
Fast backward
[9] Kodowanie audio
• ADC (ang. Analog Digital Converter) - próbkowanie i kwantyzacja,
• możliwy szum kwantyzacji,
4
Obsługa multimediów
• telefon: 7 (USA) lub 8 (Europa) bitów 8000 razy na sekundę, 56000bps/64000bps,
częstotliwości powyżej 4kHz są tracone,
• audio CD, 44100 próbek na sekundę, częstotliwości do 22050 Hz,
• szum kwantyzacji, bo 16 bitów każdej próbki starczy na 65536 różnych wartości a ucho może rozróżnić ponad milion wartości,
• CD do przesyłania wymaga przepustowości 705,6 Kbps dla mono i 1411
Mbps dla stereo,
• możliwa kompresja rzędu 10x z wykorzystaniem standardu np. MPEG warstwa audio 3 (MP3).
[10] Przetwarzanie sygnału audio
1.00
0.75
0.50
0.25
0
–0.25
1
2T
T
1
2T
T
T
1
2T
–0.50
–0.75
–1.00
(a)
(b)
(c)
a. sygnał, standardowy sinus,
b. próbkowanie sygnału,
c. kwantyzacja próbek do 4 bitów.
[11] Przetwarzanie sygnału wideo (I)
• oko nie dostrzega migotania przy odpowiedniej liczbie wyświetlanych obrazków na sekundę,
• NTSC, 525 (483) linii skanowania, aspekt 4:3, 30 ramek/sek,
• PAL/SECAM, 625 (576) linii skanowania, aspekt 4:3, 25 ramek/sek,
• przeplot parzyste/nieparzyste (ang. interlacing),
5
Obsługa multimediów
• w kolorowych używane trzy źródła, odpowiedniki RGB,
• do transmisji źródła kolorów ustawiane w jeden sygnał, tzw. kompleksowy
(ang. composite),
• by umożliwić wyświetlanie kolorowego na czarno-białym odbiorniku, z RGB
można zrobić sygnał luminancji (ang. luminance) oraz dwa sygnały koloru,
chrominancji (ang. chrominance) brightness, tint, color, brightness, hue, saturation,
[12] Przetwarzanie sygnału wideo (II)
• oko ludzkie wrażliwe na luminance, mniej wrażliwe na chrominance, dlatego drugie można przesyłać mniej dokładnie,
• cyfrowo, każdy kolor piksela reprezentowany przez 8 bitów, co daje 16 milionów kolorów, oko tyle nie rozpoznaje,
• zazwyczaj odświeżanie w monitorach co najmniej 75 razy/sek, zatem nie ma
potrzeby przeplotu i występuje skanowanie progresywne,
• płynność wyświetlanego ruchu uzależniona od liczby różnych obrazów na
sekundę, migotanie uzależnione od liczby odświeżeń na sekundę.
[13] Skanowanie sygnału wideo
Scan line
The next field
starts here
Scan line painted
on the screen
1
3
5
7
9
Time
11
13
15
483
Horizontal
retrace
.
.
.
Vertical
retrace
6
Obsługa multimediów
Wzorzec skanowania wykorzystywany w standardzie NTSC wideo i telewizji.
[14] Standard JPEG (I)
JPEG, (ang. Joint Photographic Experts Group), standard kompresji obrazów, ISO
10918. Kroki kodowania dla 640x480 RGB:
1. RGB na Y, I, Q (Y,U,V) (zakres 0-255, potem -128-127), 4-bitowe redukcje
w I,Q, każda macierz dzielona na bloki 8x8 bitów,
2. na każdym bloku transformacja DCT (ang. Discrete Cosine Transformation), w rezultacie każdy blok zawiera macierz współczynników DCT,
3. kwantyzacja z wykorzystaniem wag z odpowiedniej tabeli współczynników,
4. zastąpienie (0,0) każdego bloku różnicą wobec (0,0) bloku poprzedniego,
5. linearyzacja z upakowaniem wartości 0,
6. kodowanie Huffmana do przechowania bądź transmisji.
[15] Standard JPEG (II)
Y
640
I
320
240
RGB
640
240
480
480
8-Bit pixel
1 Block
(a)
24-Bit pixel
Block 4799 (b)
Q
a. dane wejściowe w postaci RGB,
b. postać danych po wydzieleniu sygnałów.
[16] Standard JPEG (III)
7
Fy
DCT
y
Y/I/Q Amplitude
Obsługa multimediów
x
Fx
a. jeden blok macierzy Y,
b. współczynniki DCT.
[17] Standard JPEG (IV)
150 80 40 14
92 75 36 10
52 38 26 8
12 8 6 4
4 3 2 0
2 2 1 1
1 1 0 0
0 0 0 0
4
6
7
2
0
0
0
0
2
1
4
1
0
0
0
0
Quantization table
Quantized coefficients
DCT Coefficients
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
150 80 20
92 75 18
26 19 13
3 2 2
1 0 0
0 0 0
0 0 0
0 0 0
4
3
2
1
0
0
0
0
1
1
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
2 4 8 16 32
1 1
2 4 8 16 32
1 1
2 4 8 16 32
2 2
4 4 8 16 32
4 4
8 8 8 16 32
8 8
16 16 16 16 16 16 32
32 32 32 32 32 32 32
64 64 64 64 64 64 64
64
64
64
64
64
64
64
64
Wyznaczanie skwantowanych współczynników DCT.
[18] Standard JPEG (V)
8
Obsługa multimediów
150
80
20
4
1
0
0
0
92
75
18
3
1
0
0
0
26
19
13
2
1
0
0
0
3
2
2
1
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
Porządek transmisji skwantowanych wartości.
[19] Standard MPEG (I)
MPEG, (Motion Picture Experts Group),
• MPEG-1, ISO 11172, jakość dla kamer wideo, 1,2 Mbps,
• MPEG-2, ISO 13818, jakość do rozgłaszania NTSC/PAL, 4-6 Mbps,
• MPEG to JPEG + dodatkowa kompresja wykorzystująca zależności między
ramkami,
• w filmie: redundancja w czasie i przestrzeni.
[20] Standard MPEG (II)
Typy ramek w MPEG-2:
9
Obsługa multimediów
• I (ang. Intracoded), zawierają JPEG,
• P (ang. Predictive), z różnicą wobec poprzedniej ramki,
• B (ang. Bifirectional), z różnicą wobec poprzedniej i następnej ramki.
[21] Szeregowanie w czasie rzeczywistym
Deadline
for A1
Starting moment
for A1, B1, C1
Deadline for B1
Deadline for C1
A
A1
B
A2
A3
B1
B2
C C1
0
A4
B3
C2
10
20
30
40
A5
50
B4
C3
60
70
80
90
100
110
120
130
140
Time (msec)
m
X
Ci
i=1
Pi
<= 1
[22] Szeregowanie RMS
Szeregowanie monotonicznego tempa, RMS (ang. Rate Monotonic Scheduling).
Można wykorzystać dla procesów spełniających następujące warunki:
1. Każdy proces okresowy musi kończyć się w jego interwale.
2. Procesy nie są od siebie zależne.
3. Każdy proces potrzebuje tyle samo czasu przy każdym uruchomieniu.
4. Żaden z procesów nieokresowych nie ma terminu granicznego (ang. deadline).
Przy modelowaniu zakłada się pomijalność narzutu czasowego na wywłaszczanie.
[23] Szeregowanie EDF
Szeregowanie typu najpierw najbliższy termin, EDF (ang. Earliest Deadline First).
• nie wymaga by proces był okresowy,
10
Obsługa multimediów
• nie wymaga stałego czasu obsługi,
• bardziej złożony algorytm,
• sprawdza się powyżej pewnego progu, którego już RMS nie przekroczy.
[24] Przykłady szeregowań RMS i EDF (I)
A
A2
A1
B
A3
B1
A4
B2
C C1
A5
B3
B4
C2
C3
RMS
A1
B1
C1
A2
B2
C2
A3
EDF
A1
B1
C1
A2
B2
C2
A3
0
10
20
30
40
50
60
B3
A4
B3
70
80
A4
90
C3
A5
B4
C3
A5
B4
100
110
120
130
140
Time (msec)
Przykład szeregowania procesów zgodnie z RMS oraz EDF.
A co 30 msek, 33/sekundę, priorytet 33,
B co 40 msek, 25/sekundę, priorytet 25,
C co 50 msek, 20/sekundę, priorytet 20.
[25] Przykłady szeregowań RMS i EDF (II)
A
A1
B
B1
A2
A3
B2
C C1
A1
B1
B4
EDF
A1
B1
10
20
C1
30
C3
Failed
B2
A2
B2
A2
40
A5
B3
C2
RMS
0
A4
50
60
A3
70
C2
80
B3
90
A4
100
110
C3
120
A5
130
B4
140
Time (msec)
11
Obsługa multimediów
Przykład szeregowania procesów zgodnie z RMS oraz EDF. Proces A potrzebuje
teraz cyklicznie 15ms czasu procesora zamiast 10ms.
[26] Typy serwerów
Video
server
Video
server
Client
Client
Start
t1
Reques
Block 1
Block 1
Block 2
Time
t2
Reques
Block 2
Block 3
Block 4
t3
Reques
Block 5
Block 3
(a)
(b)
a. serwer typu pull,
b. serwer typu push.
[27] Systemy typu NVoD
Systemy typu Prawie Wideo na Żądanie (ang. Near Video on Demand).
Stream
0
0
1
9000
18000
27000
36000
45000
54000
63000
72000
81000
0
9000
18000
27000
36000
45000
54000
63000
72000
0
9000
18000
27000
36000
45000
54000
63000
0
9000
18000
27000
36000
45000
54000
0
9000
18000
27000
36000
45000
0
9000
18000
27000
36000
0
9000
18000
27000
0
9000
18000
0
9000
8:40
8:45
2
3
4
Frame 9000 in
stream 3 is sent
at 8:20 min
5
6
7
8
9
0
8:00
8:05
8:10
8:15
8:20
8:25
8:30
8:35
Time
12
Obsługa multimediów
Systemy NVoD uruchamiają strumienie w regularnych odstępach czasu, tu co 5
minut czyli 9000 ramek.
[28] Umiejscawianie plików
Frame 1
Video
A
A
Frame 2
A
T
Audio
track
T
Video
A
A
Frame 3
A
T
T
Video
A
A
A
T
T
Text
track
[29] Strategie organizacji plików
Frame
Index
Block
Index
Disk block smaller
than frame
Disk block larger
than frame
I
I
I
I
Audio
I
I
Text
I-frame P-frame
Unused
I
(a)
(b)
Nieciągła przestrzeń na zapis filmów.
a. małe bloki dyskowe,
b. duże bloki dyskowe.
[30] Umiejscawianie plików dla NVoD
Order in which blocks are read from disk
Stream Stream
24
23
Stream
15
Stream
1
Track 1
0
9000 18000 27000 36000 45000 54000 63000 72000 81000
207000
Track 2
1
9001 18001 27001 36001 45001 54001 63001 72001 81001
207001
Track 3
2
9002 18002 27002 36002 45002 54002 63002 72002 81002
207002
Frame 27002 (about 15 min into the movie)
13
Obsługa multimediów
Optymalne rozmieszczanie ramek dla NVoD.
[31] Prawo Zipfa (I)
• profesor Zipf, lingwista z Harvardu,
• filmy, książki, strony WWW, słowa jeżeli są oceniane pod względem popularności, prawdopodobieństwo że następny klient wybierze k-ty element z
listy jest jak C/k, gdzie k jest wartością normalizującą.
• C/1 + C/2 + C/3 + C/4 + . . . + C/N = 1
[32] Prawo Zipfa (II)
0.300
Frequency
0.250
0.200
0.150
0.100
0.050
0
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16 17 18 19 20
Rank
Demostracja prawa Zipfa dla N=20 w kontekście liczby ludności 20 największych
miast w USA.
Frequency of use
[33] Algorytm organowy
Movie
10
Movie
8
Movie
6
Movie
4
Movie
2
Movie
1
Movie
3
Movie
5
Movie
7
Movie
9
Movie
11
Cylinder
14
Obsługa multimediów
Dystrybucja plików na serwerze wideo zgodna z algorytmem organowym (ang.
organ-pipe algorithm).
[34] Farmy dysków
Disk
1
A0
A1
A2
A3
A4
A5
A6
A7
2
B0
B1
B2
B3
B4
B5
B6
B7
3
C0
C1
C2
C3
C4
C5
C6
C7
4
D0
D1
D2
D3
D4
D5
D6
D7
1
A0
A4
B0
B4
C0
C4
D0
D4
2
A1
A5
B1
B5
C1
C5
D1
D5
2
A1
A5
B0
B4
C3
C7
D2
D6
4
A3
A7
B3
B7
C3
C7
D3
D7
3
A1
A4
B2
B5
C3
C4
D3
D4
4
A3
A7
B0
B6
C1
C5
D0
D7
(b)
(a)
1
A0
A4
B3
B7
C2
C6
D1
D5
3
A2
A6
B2
B6
C2
C6
D2
D6
3
A2
A6
B1
B5
C0
C4
D3
D7
4
A3
A7
B2
B6
C1
C5
D0
D4
1
A0
A6
B3
B4
C0
C7
D1
D6
(c)
2
A2
A5
B1
B7
C2
C6
D2
D5
(d)
Metody organizacji plików multimedialnych na farmach wielodyskowych.
a. bez paskowania,
b. ten sam wzorzec paskowania dla wszystkich plików,
c. przesunięte paskowanie,
d. losowe paskowanie.
[35] Techniki optymalizacyjne
15
Obsługa multimediów
10 sec
User 1
0
1 min
2 min
3 min
4 min
1
8
0
0
3
6
0
0
5
4
0
0
7
2
0
0
0
Starts
10 sec
later
5
4
0
0
3
6
0
0
1
8
0
0
User 2
7
2
0
0
Time
(a)
Runs slower
Normal speed
3
6
0
0
1
8
0
0
User 1
0
User 2
0
3
6
0
0
1
8
0
0
Runs faster
5
4
0
0
7
2
0
0
5
4
0
0
7
2
0
0
Normal speed
(b)
Przykład optymalizacji liczby przesyłanych danych:
a. dwóch użytkowników ogląda ten sam film z różnicą 10 sekund,
b. dwa strumienie łączone w jeden.
16