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