69
POLITECHNIKA WARSZAWSKA Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Politechnika Warszawska Instytut Elektrotechniki Teoretycznej i Systemów Informacyjno Pomiarowych Marcin Kołodziej, Andrzej Majkowski, Łukasz Makowski Laboratorium Technik Multimedialnych Warszawa 2011

Instrukcje do ćwiczeń

  • Upload
    ngonhi

  • View
    232

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Politechnika Warszawska Instytut Elektrotechniki Teoretycznej i Systemów Informacyjno Pomiarowych

Marcin Kołodziej, Andrzej Majkowski,

Łukasz Makowski

Laboratorium Technik

Multimedialnych

Warszawa 2011

Page 2: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

2Politechnika Warszawska

Instytut Elektrotechniki Teoretycznej i Systemów Informacyjno Pomiarowych

Laboratorium składa się z 6 ćwiczeń. Studenci wykonują ćwiczenia w zespołach

dwuosobowych. Każde ćwiczenie składa się z części eksperymentalnej, w której wykonywane są symulacje komputerowe. Efektem opracowania wyników jest sprawozdanie.

Lista i program ćwiczeń:

I. Projekt prezentacji multimedialnej z użyciem obrazu i dźwięku

zaprojektowanie szablonu (wzorca) prezentacji, łączenie tekstu i grafiki, osadzanie obiektów typu arkusz kalkulacyjny, wykres, wzór matematyczny, grupowanie obiektów, przesłanianie obiektów, dodawanie animacji, filmów, dodawanie obiektów dźwiękowych, ich synchronizacja z prezentacją.

II. Montaż sygnału dźwiękowego, kompresja MP3

montaż dźwięku z wykorzystaniem różnych efektów: przestawianie fragmentów sygnału, rozcinanie, przesuwanie w czasie, dostosowywanie poziomów sygnałów,

praca z wieloma ścieżkami, cyfrowe miksowanie nagrań, kodowanie MP3 przy różnych wartościach strumienia bitowego dla CBR i VBR,

porównanie jakości dźwięku przy różnych parametrach kompresji.

III. Przetwarzanie sygnałów dźwiękowych

zastosowanie filtrów dolno, górno i pasmowo przepustowych, realizacja takich filtrów,

realizacja efektów dźwiękowych: echo, pogłos, opóźnienie, phaser, flanger.

IV. Przetwarzanie grafiki rastrowej w obróbce zdjęć cyfrowych

techniki modyfikacji barw, odcienia, nasycenia, kontrastu bez oraz z jednoczesnym wykorzystaniem podstawowych narzędzi zaznaczania,

zaawansowane techniki modyfikacji kolorów: histogram, krzywe, poziomy, korzystanie z szybkiej maski do płynnego zaznaczania fragmentów, praca na warstwach, mieszanie i łączenie warstw, użycie filtrów w celu osiągnięcia pożądanych efektów oraz eksperymenty własne

studentów, dzielenie i łączenie obrazów na przykładzie tworzenia kolaży, przekształcenia geometryczne obrazu płaskiego.

Page 3: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

3Politechnika Warszawska

Instytut Elektrotechniki Teoretycznej i Systemów Informacyjno Pomiarowych

V. Grafika wektorowa w generowaniu obrazów trójwymiarowych

podstawy języka opisu sceny (SDL), korzystanie z prymitywów geometrycznych takich jak kula, sześcian, walec, stożek,

powierzchnia i płaszczyzna oraz operacje CSG z ich użyciem, nadawanie obiektom pojedynczych i wielowarstwowych tekstur oraz wzorców

nierówności ich powierzchni, ustalanie oświetlenia sceny z wykorzystaniem różnych modeli światła, zaawansowane elementy języka opisu sceny: deklaracje, wyrażenia warunkowe,

pętle; podstawy tworzenia animacji.

VI. Przetwarzanie obrazów ruchomych

komputerowy, nieliniowy montaż filmów, efekty specjalne stosowane przy montażu filmów.

Page 4: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

4Politechnika Warszawska

Instytut Elektrotechniki Teoretycznej i Systemów Informacyjno Pomiarowych

I. Projekt prezentacji multimedialnej z użyciem obrazu i dźwięku

opracował Marcin Kołodziej

Ćwiczenie dotyczy tworzenia prezentacji multimedialnej z użyciem obrazu i dźwięku. W ćwiczeniu tym nauczysz się jak:

zaprojektować szablon (wzorca) prezentacji, łączyć tekst i grafikę w prezentacji, osadzać obiekty typu arkusz kalkulacyjny, wykres, wzór matematyczny, grupować obiekty, przesłaniać obiektów, dodawać animację i filmy, dodawać obiekty dźwiękowe oraz synchronizować je z prezentacją.

1. Zaprojektowanie szablonu wzorca prezentacji

Aby wykorzystać gotowy wzorzec prezentacji wykonaj poniższe czynności. Wybierz w

menu Projekt. W ten sposób otworzysz schematy prezentacji, które możesz wykorzystać. Po wybraniu odpowiedniego zostaną zmienione wszystkie slajdy.

2. Tekst i grafika w prezentacji

W celu dodania nowego pola tekstowego wybierz kolejno jak na rysunku poniżej:

Wstawianie->Pole tekstowe, a następnie kliknij na polu prezentacji, pojawi się pole, w którym możesz wpisać tekst.

Page 5: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

5Politechnika Warszawska

Instytut Elektrotechniki Teoretycznej i Systemów Informacyjno Pomiarowych

Aby dodać grafikę wykonaj następujące czynności: Wstawianie->Obraz i wybierz obraz (plik) który ma zostać dodany.

Pojawi się zakładka formatowanie. Sprawdź jakie masz możliwości formatowania obrazu. Ustaw odpowiedni kontrast, jasność. Zmień wielkość i ułożenie grafiki.

3. Osadzenie wykresu, wzory matematycznego i arkusza kalkulacyjnego

Page 6: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

6Politechnika Warszawska

Instytut Elektrotechniki Teoretycznej i Systemów Informacyjno Pomiarowych

Aby dodać wykres, wykonaj poniższe czynności. Wybierz w menu Wstawianie->Wykres. Pojawi się okno, w którym możesz wybrać rodzaj wykresu. Po wyborze typu wykresu pojawi się okno arkusza kalkulacyjnego do którego wprowadzisz dane które mają być zobrazowane.

Aby dodać wzór matematyczny wybierz: Wstawianie->Obiekt a nastepnie w oknie wybierz Microsoft Equation 3.0

Page 7: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

7Politechnika Warszawska

Instytut Elektrotechniki Teoretycznej i Systemów Informacyjno Pomiarowych

Pojawi się pole edycji wzoru. Po wybraniu z menu Plik-> Aktualizuj zostanie dodany wzór. Możesz modyfikować wzór klikając na niego dwa razy.

Podobnie aby dodać arkusz kalkulacyjny lub inny obiekt wybierz Wstawianie-> Obiekt, a następnie wybierz Arkusz programu Excel. Pojawi się pole, w którym powinieneś wstawić wartości liczbowe. Zmodyfikuj wygląd arkusza.

4. Grupowanie i przesłanianie obiektów

Aby pogrupować obiekty, zaznacz je (z naciśniętym klawiszem Ctrl), a następnie prawym klawiszem wybierz opcję grupowanie jak na rysunku poniżej.

Aby przesłonić obiekty wybierz dany obiekt, na przykład grafikę i kliknij na niej prawym klawiszem myszy. Wybierz opcję, przesuń na wierzch lub przesuń na spód.

5. Dodawanie animacji i filmów

Aby dodać animację (na przykład plik w formacie gif) lub film wybierz Wstawianie->Obiekt clipart i wybierz odpowiednią animację, plik lub film.

Page 8: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

8Politechnika Warszawska

Instytut Elektrotechniki Teoretycznej i Systemów Informacyjno Pomiarowych

6. Dodawanie efektów dźwiękowych i synchronizacja z prezentacją

Aby dodać efekt dźwiękowy wybierz Wstawianie->Dzwięk i wybierz żródło dźwięku.

Jak na rysunku poniżej.

Po wybraniu odpowiedniego pliku. Pojawi się ikonka z głośnikiem. Kliniknij na nią i pojawi się menu na górze z opcjami, które możesz modyfikować.

Sprawdź w jaki sposób, możesz zmieniać opcje dźwięku i sposób jego odtwarzania.

Page 9: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

9Politechnika Warszawska

Instytut Elektrotechniki Teoretycznej i Systemów Informacyjno Pomiarowych

II. Montaż sygnału dźwiękowego, kompresja MP3

opracował Andrzej Majkowski

Zakres ćwiczenia obejmuje: montaż dźwięku z wykorzystaniem różnych efektów: przestawianie fragmentów sygnału,

rozcinanie, przesuwanie w czasie, dostosowywanie poziomów sygnałów, praca z wieloma ścieżkami, cyfrowe miksowanie nagrań, kodowanie MP3 przy różnych wartościach strumienia bitowego dla CBR i VBR,

porównanie jakości dźwięku przy różnych parametrach kompresji.

1. Poznanie możliwości karty dźwiękowej

Należy zapoznać się z możliwościami karty dźwiękowej w zakresie przetwarzania dźwięków. Większość efektów dźwiękowych jest możliwa do uzyskania i przetestowania przy użyciu standardowego oprogramowania dostarczonego z kartą. Student powinien wiedzieć jakie efekty dźwiękowe można uzyskać, w szczególności czy karta dźwiękowa umożliwia utworzenie efektów: echa, pogłosu, symulacji akustyki różnych wnętrz. Wszystkie efekty dźwiękowe należy przetestować.

Następnie będzie testowany standard MIDI. Większość programów do obsługi kart

dźwiękowych umożliwia uruchomienie klawiatury programowej. Korzystając z syntezy wavetable można zasymulować pianino i inne instrumenty, jak na przykład gitarę, perkusję. Należy użyć syntezy wavetable i, jeśli jest dostępna, syntezy FM i porównać jakość generowanego dźwięku.

2. Pasmo przenoszenia zestawu audio, krzywa słyszalności

W tym zadaniu badane będzie pasmo przenoszenia głośniczków i jednocześnie krzywa słyszalności (w zakresie pasma przenoszenia głośników). Polega ona na odtworzeniu sygnałów sinusoidalnych o tej samej amplitudzie i różnych częstotliwościach. Poszczególne badane częstotliwości to: 40Hz, 60Hz, 100Hz, 500Hz, 2000Hz, 3000Hz, 8000Hz, 10000Hz, 16000Hz. Sygnały mają takie same amplitudy, więc wydawałoby się, że będą odbierane z taką samą głośnością. Jednak skrajne częstotliwości są bardzo słabo słyszalne. Sygnał o częstotliwości 3000Hz słychać najlepiej. Słuchając prezentowanych dźwięków można się łatwo zorientować jaki zakres częstotliwościowy sygnałów jest przenoszony przez układ złożony z komputera, karty dźwiękowej i głośników (lub słuchawek).

W drugiej części będziemy badać sygnały sinusoidalnych o różnych amplitudach, np. 1, 2, 10, 100, ale o tej samej częstotliwości. Należy zaobserwować, czy sygnał o amplitudzie dwa razy większej będzie odbierany jako dwa razy głośniejszy. Dlaczego tak nie jest? Jak należy zwiększyć amplitudę sygnału dźwiękowego, żeby odebrać go jako dwa razy głośniejszy? Dlaczego poziom natężenia dźwięku najlepiej przedstawiać na skali logarytmicznej?

Page 10: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

10Politechnika Warszawska

Instytut Elektrotechniki Teoretycznej i Systemów Informacyjno Pomiarowych

3. Rejestracja sygnałów dźwiękowych

Należy zapoznać się z wyglądem i budową mikrofonów: elektretowego, dynamicznego, pojemnościowego. Czy można poznać po wyglądzie rodzaj mikrofonu? Należy wiedzieć, który mikrofon można podłączyć bezpośrednio do karty dźwiękowej, a który wymaga zastosowania wzmacniacza mikrofonowego. Który typ mikrofonu wymaga dodatkowego zasilania?

Następnie należy zapoznać się z obsługą wzmacniacza mikrofonowego i miksera kanałów. W jaki sposób przyłączyć do nich mikrofony i jak dołączyć urządzenia do komputera? Na koniec należy wykonać wszystkie połączenia.

W następnym kroku spróbujemy zarejestrować sygnały dźwiękowe przy użyciu różnych mikrofonów i konfiguracji sprzętu. Przechwytywanie dźwięku z mikrofonów umożliwia program obsługi karty dźwiękowej. Można zrealizować dowolne nagrania. Przy okazji realizacji nagrań należy ustawić różne parametry nagrywania: rozdzielczość bitową i częstotliwość próbkowania. Jak te parametry wpływają na jakość nagranego dźwięku?

Na koniec należy porównać jakość nagrań dźwiękowych uzyskanych przy użyciu różnych typów mikrofonów. Które z tych nagrań jest najlepszej jakości i dlaczego?

Jeśli wzmacniacz mikrofonowy lub mikser kanałów umożliwia podłączenie dwóch mikrofonów monofonicznych jednocześnie, to należy zmiksować (połączyć) dwa kanały monofoniczne w jeden kanał. Czy w ten sposób możemy uzyskać dźwięk stereofoniczny i czy umiejscowienie mikrofonów ma w tym wypadku duże znaczenie?

4. Montaż sygnału dźwiękowego w programie Audacity

W tym ćwiczeniu poznamy, jak powstają proste efekty dźwiękowe, co można uzyskać przez zastosowanie filtrów cyfrowych w obróbce dźwięku i jak przeprowadzić prosty montaż sygnału dźwiękowego.

Program Audacity, rozpowszechniany na licencji freeware, to zaawansowany i wielościeżkowy edytor plików dźwiękowych. Jest wyposażony w rozbudowane menu efektów – dostępny jest między innymi kompresor, echo, podbicie basów, equalizer, filtry, odszumiacz, wyciszanie i wiele innych. Na początku zapoznamy się z możliwościami tego programu. W następnym kroku zapoznamy się w techniką tworzenia prostych efektów dźwiękowych. Efekty te wykorzystują łączenie dwóch lub więcej kanałów sygnału dźwiękowego.

Najprostszym efektem dźwiękowym, który można uzyskać, jest dodanie do siebie dwóch sygnałów sinusoidalnych będących w przeciwfazie (rys. 1). W momencie kiedy dodamy do siebie sygnały elektryczne otrzymamy sygnał wynikowy zero. Co uzyskamy jeśli dodamy do siebie sygnały akustyczne? Jeśli kanał lewy odtwarza jedną sinusoidę, a kanał prawy drugą

Page 11: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

11Politechnika Warszawska

Instytut Elektrotechniki Teoretycznej i Systemów Informacyjno Pomiarowych

(przesuniętą o 1800) to po zbliżeniu głośniczków do siebie można usłyszeć, że głośność dźwięku wyraźnie spada. Sygnały akustyczne również podlegają sumowaniu. Nie uzyskamy jednak w ten sposób ciszy.

0 100 200 300 400 500 600 700 800 900 1000-1

-0.5

0

0.5

1

Rysunek 1. Dwa sygnały sinusoidalne będące w przeciwfazie

W następnym kroku studenci samodzielnie stworzą efekt echa i pogłosu. W momencie

kiedy chcemy stworzyć efekt echa do sygnału oryginalnego, należy dodać sygnał opóźniony o mniejszej amplitudzie (sygnał dodawany jest jeden raz). Ilustracja sposobu postępowania podana na rys. 2.

Rysunek 2. Ilustracja graficzna tworzenia efektu echa Aby utworzyć efekt echa w programie Audacity należy wgrać do programu (Plik → Otwórz) nagrany wcześniej sygnał dźwiękowy Na ekranie zostanie wyświetlony przebieg czasowy tego sygnału (rys. 3).

Rysunek 3. Okno programu Audacity z wgranym sygnałem dźwiękowym

Page 12: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

12Politechnika Warszawska

Instytut Elektrotechniki Teoretycznej i Systemów Informacyjno Pomiarowych

Po lewej stronie są wyświetlone parametry, z jakimi nagrany był dźwięk. Używając myszki można zaznaczać dowolne fragmenty nagrania. Z lewej strony z góry widoczna jest paleta z narzędziami. Wykorzystując narzędzia z palety można zaznaczać, przesuwać, wycinać fragmenty sygnałów. Narzędzie obwiednia służy do zmiany głośności sygnału. Żeby uzyskać efekt echa należy zaznaczyć cały, wgrany wcześniej, sygnał i skopiować go do nowej ścieżki audio (Projekt → Nowa ścieżka audio). Następnie korzystając z narzędzia przesuwania w czasie, należy przesunąć cały sygnał w nowej ścieżce w stosunku do sygnału pierwotnego. Narzędzie obwiednia pozwoli dostosować głośność sygnału. Po odtworzeniu obu ścieżek na raz uzyskujemy efekt echa. Efekt echa będzie brzmiał bardzo różnie w zależności od stopnia przesunięcia i głośności sygnału w stworzonym nowym kanale. Gotowy efekt należy zapisać w pliku na dysku.

Pogłos uzyskuje się w podobny sposób. W tym przypadku sygnał opóźniony jest dodawany w pętli wiele razy, za każdym razem sumuje się on z poprzednim sygnałem wyjściowym i ma coraz mniejszą amplitudę (rys. 4). W programie Audacity możemy uzyskać efekt pogłosu dodając wiele kanałów dźwiękowych, w których sygnały dźwiękowe będą miały różne, losowe, przesunięcia (np. na początku można dodać pięć nowych kanałów). Amplitudy sygnałów dodawanych powinny być mniejsze od amplitudy sygnału wejściowego. Odpowiednio dobierając przesunięcia i amplitudy sygnałów dodawanych można na przykład uzyskać akustykę sali koncertowej lub małego pokoju. Oczywiście bez skomplikowanych obliczeń jest to praktycznie niemożliwe do osiągnięcia. Studenci mogą spróbować zmieniając przesunięcia i głośności sygnałów dodawanych uzyskać jakiś określony efekt (w tym przypadku, najprawdopodobniej będzie to jakiś efekt losowy).

Rysunek 4. Ilustracja graficzna tworzenia efektu pogłosu

Następnie zapoznamy się z działaniem różnych filtrów i efektów dźwiękowych wbudowanych w program Audacity. Uruchamia się je poleceniem Efekty. Dostępny jest między innymi filtr do tworzenia echa. Można sprawdzić, czy echo będące wynikiem działania tego filtru brzmi podobnie jak utworzone wcześniej echo. Słuchacze powinni wypróbować dostępne filtry i efekty. Należy zaobserwować, co się zmienia w brzmieniu dźwięku po zastosowaniu filtru i do czego ewentualnie uzyskany efekt brzmieniowy można użyć. Dalej będziemy wykorzystywać niektóre efekty podczas montażu dźwięku.

W ostatnim etapie ćwiczenia spróbujemy zmontować nagranie dźwiękowe. Może to być własna, bardzo krótka (kilkuminutowa) audycja. Do nagrania wykorzystamy wcześniej zarejestrowane z użyciem mikrofonów pliki dźwiękowe (można je też nagrać teraz) oraz pliki dostarczone przez prowadzącego. Pliki te należy wcześniej odsłuchać. Zawierają one różne

Page 13: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

13Politechnika Warszawska

Instytut Elektrotechniki Teoretycznej i Systemów Informacyjno Pomiarowych

odgłosy i tła dźwiękowe. Na tym etapie słuchacze powinni stworzyć sobie jakąś koncepcję nagrania.

5. Kompresja MP3

W tym ćwiczeniu poznamy, jak w prosty sposób przekonwertować plik wav do mp3 i w jaki sposób ocenić jakość nagrania.

W pierwszej części prowadzący zademonstruje różne nagrania – pliki mp3 skompresowane z różną przepływnością bitową, a co za tym idzie z różną jakością. Zadaniem słuchaczy jest ocena jakości dźwięku na podstawie odsłuchu. Co wpływa na jakość zarejestrowanego dźwięku?

Program Audacity umożliwia również tworzenie własnych plików mp3. Potrzebny jest jednak do tego zewnętrzny program Lame. Program Lame jest uważany za jeden z najlepszych, darmowych programów do konwertowania plików dźwiękowych do mp3. Przed wykorzystaniem Lame w Audacity należy go skonfigurować w zakładce Edytuj → Ustawienia → FormatyPlików → Ustawienia_Exportu_dla_MP3. Zakładka ta umożliwia również określenie jakości tworzonych plików mp3.

Studenci powinni przekonwertować nagraną wcześniej audycję z formatu wav do formatu mp3 z różną jakością. Należy obejrzeć widma fragmentów tak utworzonych plików. Co można powiedzieć o jakości nagrań oglądając widma sygnałów?

Podstawowe informacje o kodowaniu dźwięku do standardziu MP3

Poniżej podane są najważniejsze etapy kodowania dźwięku w standardzie MP3. Sygnał wejściowy jest dzielony na mniejsze fragmenty zwane ramkami o czasie

trwania ułamka sekundy. Dla sygnału dźwiękowego wyliczana jest jego reprezentacja częstotliwościowa, czyli

wyliczane jest widmo sygnału dźwiękowego. Widmo sygnału dla każdej ramki porównywane jest z matematycznym modelem

psychoakustycznym. W wyniku tego porównania koder określa, które ze składowych dźwięku jako najlepiej słyszalne muszą zostać odwzorowane najwierniej, a które można zakodować w przybliżeniu lub w ogóle pominąć.

Ustalany jest optymalny przydział bitów na poszczególne częstotliwości pasma akustycznego, tak aby zapewnić możliwie najwierniejsze zakodowanie sygnału.

Strumień bitów jest poddawany ponownej kompresji poprzez kodowanie Huffmana. Celem tej operacji jest usunięcie nadmiarowości z danych przetworzonych w pierwszym etapie, czyli dodatkowa kompresja bezstratna.

Kolejne ramki poprzedzone nagłówkami są składane w pojedynczy ciąg bitów (strumień bitowy). Nagłówki zawierają metainformacje określające parametry poszczególnych ramek.

Page 14: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

14Politechnika Warszawska

Instytut Elektrotechniki Teoretycznej i Systemów Informacyjno Pomiarowych

Kompresja MP3 rozpoczyna się rozdzieleniem sygnału wejściowego na małe fragmenty trwające ułamek sekundy (zwane inaczej ramkami) oraz podział tych fragmentów według pasma na 576 części – najpierw 32 w wielofazowym banku filtrów, a następnie podpasma przekształcane są dyskretną transformatą kosinusową, która generuje 18 współczynników dla każdego podpasma. Zwiększa to szanse na usunięcie niepotrzebnych informacji, sygnał może też być lepiej kontrolowany w celu śledzenia progów maskowania. Na rys. 5 zobrazowano ideę działania banku filtrów. Linie pod numerami 1, 2 i 3 oznaczają podział sygnału dźwiękowego na pasma częstotliwościowe 1, 2 i 3. Czwarta linia wyznacza poziom progu słyszalności wyliczony na podstawie modelu psuchoakustycznego. Dwa sygnały oznaczone słupkami po prawej stronie znajdują się poniżej poziomu słyszalności, można więc usunąć sygnał w trzecim podzakresie. Sygnał najbardziej z lewej strony jest słyszalny, można jednak podnieść dopuszczalny poziom szumów, czyli zapisać go mniejszą liczbą bitów. Jeśli kwantowany dźwięk da się utrzymać poniżej progu maskowania, to efekt kompresji powinien być nieodróżnialny od oryginalnego sygnału.

Rysunek 5. Idea działania banku filtrów

Proces kwantyzacji w kompresji MP3 jest realizowany na zasadzie dwóch pętli, jedna

zagnieżdżona w drugiej (rys. 6). Zawiera on także część procesu formowania dźwięku. Pierwsza z pętli, wewnętrzna, to pętla kontroli współczynnika kompresji. Przeprowadzany

jest w niej proces kwantyzacji dla poszczególnych pasm częstotliwościowych, następnie symulowane jest kodowanie skwantowanych współczynników. Jeżeli po kodowaniu okaże się, że jest przekroczony limit przepływności, czyli plik po kompresji byłby zbyt duży, to wskaźnik przyrostu jest dopasowywany do danych i cała pętla jest powtarzana od nowa.

Druga, zewnętrzna, pętla - to pętla kontroli zniekształceń. Rozpoczyna się ona od ustawienia indywidualnych współczynników kwantyzacji na 1, po czym obliczany jest błąd kwantyzacji. Jeśli błąd ten przekracza oszacowany przez model psychoakustyczny próg percepcji, to jest odpowiednio zmieniany współczynnik kwantyzacji i obliczenie błędu odbywa się ponownie. Gdy nie jest możliwe uzyskanie żądanej przepływności i spełnienie wymagań modelu psychoakustycznego, to dźwięk jest kodowany mimo niespełnienia wymagań.

Page 15: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

15Politechnika Warszawska

Instytut Elektrotechniki Teoretycznej i Systemów Informacyjno Pomiarowych

Rysunek 6. Kodowanie MP3

Po procesie kwantyzacji następuje proces kompresji algorytmem Huffmana. W celu

dopasowania procesu kompresji do fragmentu danych źródłowych wybierana jest najbardziej pasująca tablica kodów Huffmana z całego zestawu. W celu otrzymania lepszego dopasowania, różne tablice kodów Huffmana są wybieranie dla różnych części widma. Jest to proces usuwania nadmiarowych danych bez utraty informacji. Bazuje on na słowie kodowym – kluczu o zmiennej długości, w której klucze krótkie przypisane są do często występujących wzorców, a długie do rzadko występujących. Algorytm rozpoczyna działanie od utworzenia histogramu (tablicy częstości występowania danych w pliku). W drugim kroku tworzy listę drzew binarnych, które w węzłach przechowują symbol i częstość jego wystąpienia.

Końcowym etapem procesu kompresji jest formatowanie ramek wyjściowych i zapis do strumienia wyjściowego. Niektóre pliki MP3 dodatkowo zawierają sumy kontrolne. Suma kontrolna to 16 bitowa liczba, która jest zapisywana w każdej ramce oddzielnie i służy do weryfikacji poprawności strumienia MP3.

Page 16: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

16Politechnika Warszawska

Instytut Elektrotechniki Teoretycznej i Systemów Informacyjno Pomiarowych

III. Przetwarzanie sygnałów dźwiękowych

opracował Marcin Kołodziej

Wykonując poniższe ćwiczenia dowiesz się w jaki sposób dodać proste efekty z

wykorzystaniem programu Audacity oraz oprogramowania Matlab. W szczególności nauczysz się:

projektować i wykorzystać filtry dolno, górno i pasmowo przepustowe, zrealizujesz efekty takie jak: echo, pogłos, phaser i flanger.

1. Zastosowanie filtrów górno, dolno i pasmowo przepustowych

Program Audacity jest darmowym programem, który można wykorzystać do edycji dźwięku. Aby załadować, plik dźwiękowy wybierz Plik->Otwórz. Zobacz jakie podstawowe możliwości daje Ci program Audacity. Możesz wycinać wybrane fragmenty, przenoscić je w inne miejsce.

Aby stworzyć filtr górnoprzepustowy zaznacz fragment dźwięku a następnie wybierz z menu Efekty->Filtr FFT.

Pojawi się okno, w którym za pomocą myszki, możesz zaprojektować charakterystykę filtru. Dla przykładu został pokazany kształt filtru górnoprzepustowego, taki który przepuszcza górne częstotliwości. Teraz obniż charakterystykę i odcinaj częstotliwości na różnych poziomach dB. W podobny sposób zaprojektuj filtr dolno i pasmowo przepustowy. Poeksperymentuj z częstotliwościami i poziomami dB.

Page 17: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

17Politechnika Warszawska

Instytut Elektrotechniki Teoretycznej i Systemów Informacyjno Pomiarowych

2. Wykorzystanie pakiety Matlab do projektowania filtrów cyfrowych

Aby wykorzystać program Matlab do zaprojektowania filtru uruchom skrypt dz_filtr. Poniżej znajduje się listing programu. Przeanalizuj dokładnie skrypt.  clear all; close all; clc; fs=22050; %czestotliwosc probkowania sygnalu dzwiekowego % wczytanie pliku dzwiekowego disp(' 1 - sample1.wav (glos)'); disp(' 2 - sample2.wav (muzyka)'); opc = input('\n Wybierz plik dzwiekowy (1-2): '); if opc == 1 wav = wavread('sampl1.wav'); elseif opc == 2 wav = wavread('sampl2.wav'); else fprintf(' \n Blad: Wybierz liczbe z zakresu 1 - 2 ! \n\n'); break; end; wavsize = length(wav); fprintf('\n %i - ilosc probek sygnalu dzwiekowego\n',wavsize); % wybieramy rozmiar bufora fprintf('\n Rozmiar bufora [probki]'); fprintf('\n 1) 512 \t 2) 8192 \t 3) 16384 \n'); opc = input('\n Wybierz rozmiar bufora: '); if opc == 1 framesize = 512; elseif opc == 2 framesize = 16*512; elseif opc == 3 framesize = 32*512; else fprintf(' \n Blad: Wybierz liczbę z zakresu 1 - 3! \n\n'); break; end; % dzialimy wektor probek dzwieku na ramki data = buffer(wav,framesize); % wybieramy filtr fprintf('\n 1) pasmowo-przepustowy 1000Hz-3000Hz \n'); fprintf(' 2) pasmowo-przepustowy 50Hz-500Hz \n'); fprintf(' 3) pasmowo-przepustowy 4000Hz-8000Hz \n'); opc = input('\n Wybierz rodzaj filtru (NOI): ');

Page 18: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

18Politechnika Warszawska

Instytut Elektrotechniki Teoretycznej i Systemów Informacyjno Pomiarowych

if opc == 1 [b,a] = ellip(4,0.1,40,[1000 3000]*2/22050); elseif opc == 2 [b,a] = ellip(4,0.1,40,[50 500]*2/22050); elseif opc == 3 [b,a] = ellip(4,0.1,40,[4000 8000]*2/22050); else fprintf(' \n Blad: Wybierz liczbe z zakresu 1 do 3 !\n\n'); break; end; %charakterystyki amplitudowo-fazowe filtrow if ((opc >= 1) && (opc <= 3)) [H,w] = freqz(b,a,512); figure subplot(2,1,1); plot(w*22050/(2*pi),abs(H));grid; title('Filtr');xlabel('Czestotliwosc');ylabel('Amplituda'); subplot(2,1,2); plot(w*22050/(2*pi),angle(H));grid; title('Filtr');xlabel('Czestotliwosc');ylabel('Faza (rad)'); end; filtered = []; s = 1; buffsize = framesize; % dla każdej ramki for i=1:size(data,2) % pojedyncza ramka frame = data(:,i); % zastosuj filtr dla ramki if ((opc >= 1) && (opc <= 3)) frame = filter(b,a,frame); %ze znieksztalceniami fazowymi %frame = filtfilt(b,a,frame); %bez znieksztalcen fazowych end; % tablica z przetworzonym wektorem dzwieku filtered(s:buffsize,:) = frame; s = s + framesize; buffsize = buffsize + framesize; i = i + 1; end; %normalizacja poziomu sygnalu dzwiekowego do 99% coef = 0.99/max([abs(min(filtered)) max(filtered)]); filtered = coef*filtered; %rysujemy wykresy sygnalu dzwiekowego przed i po przetworzeniu figure

Page 19: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

19Politechnika Warszawska

Instytut Elektrotechniki Teoretycznej i Systemów Informacyjno Pomiarowych

subplot(2,1,1); plot(wav); title('Sygnal wejsciowy'); xlabel('Czas');ylabel('Amplituda'); grid on; subplot(2,1,2); plot(filtered); title('Sygnal przetworzony (znormalizowany)'); xlabel('Czas');ylabel('Amplituda'); grid on; figure pocz=1; koniec=100000; roz = wav(pocz:koniec) - filtered(pocz:koniec); subplot(211); hold on plot(wav(pocz:koniec),'r'); plot(filtered(pocz:koniec),'b') title('Sygnal wejsciowy i przetworzony'); xlabel('Czas');ylabel('Amplituda'); grid on; subplot(212); plot(roz); title('Roznica sygnalow'); xlabel('Czas');ylabel('Amplituda'); grid on; figure subplot(2,1,1); ff=linspace(0,fs,length(wav)); hold on %skala logarytmiczna plot(ff,20*log10(abs(fft(wav)/max(abs(fft(wav)))))); grid on title('Widmo - sygnal wejsciowy'); xlabel(''); ylabel('[ d B ]'); subplot(2,1,2); ff=linspace(0,fs,length(filtered)); hold on %skala logarytmiczna plot(ff,20*log10(abs(fft(filtered)/max(abs(fft(filtered)))))); grid on title('Widmo - sygnal przetworzony'); xlabel('Czestotliwosc [Hz]'); ylabel('[ d B ]'); %zapis pliku przetworzonego na dysk wavwrite(filtered,22050,16,'output.wav'); fprintf(' \n Wykonane! liczba ramek: %i\n', i-1); fprintf(' Komenda "wp1" pozwala odsluchac oryginalny sygnal.\n');

Page 20: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

20Politechnika Warszawska

Instytut Elektrotechniki Teoretycznej i Systemów Informacyjno Pomiarowych

fprintf(' Komenda "wp2" pozwala odsluchac przetworzony sygnal.\n');  Zwróć uwagę na działanie programu. Po pierwsze program wczytuje wybrany plik do bufora za pomocą funkcji waveread. Program umożliwia następnie zaprojektowanie filtra cyfrowego. Do zaprojektowania filtru służy polecenie:  

[b,a] = ellip(4,0.1,40,[1000 3000]*2/22050);

 Powyższa funkcja zwraca współczynniki filtru cyfrowego [b,a]. Aby zaprojektować filtr o wybranych parametrach możliwe jest wywołanie funkcji z różnymi parametrami. W celu zapoznania się z wszystkimi opcjami wykonaj polecenie help ellip. Aby wykreślić charakterystykę zaprojektowanego filtru wykonywana jest funkcja:  

[H,w] = freqz(b,a,512); Poniżej zaprezentowane została charakterystyka filtru pasmowo-przepustowego.

 Do przefiltrowania sygnału służy polecenie filter:

 frame = filter(b,a,frame);

 

Poniżej przedstawiono sygnał przed filtracją oraz po filtracji sygnału. Ponieważ filtr może zmodyfikować amplitudy sygnału. Sygnał po przefiltrowaniu został znormalizowany, to znaczy wyskalowany aby wartość maksymalna amplitudy wynosiła jeden.

 

Page 21: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

21Politechnika Warszawska

Instytut Elektrotechniki Teoretycznej i Systemów Informacyjno Pomiarowych

 Końcowym etapem działania programu jest wyrysowanie widma sygnałów przed filtracją i po filtracji.

 

Powyższe widmo sygnału jednoznacznie wskazuje dominacje częstotliwości w paśmie.

Page 22: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

22Politechnika Warszawska

Instytut Elektrotechniki Teoretycznej i Systemów Informacyjno Pomiarowych

3. Efekt echa z zastosowaniem programu Matlab.

Poniżej znajduje się listing programu prezentującego wykonanie echa za pomocą poleceń pakietu Matlab.  clear all; close all; clc; fs=22050; %czestotliwosc probkowania sygnalu dzwiekowego % wczytanie pliku dzwiekowego disp(' 1 - sample1.wav (glos)'); disp(' 2 - sample2.wav (muzyka)'); opc = input('\n Wybierz plik dzwiekowy (1-2): '); if opc == 1 wav = wavread('sampl1.wav'); elseif opc == 2 wav = wavread('sampl2.wav'); else fprintf(' \n Blad: Wybierz liczbe z zakresu 1 - 2 ! \n\n'); break; end; wavsize = length(wav); fprintf('\n %i - ilosc probek sygnalu dzwiekowego\n',wavsize); % wybieramy rozmiar bufora fprintf('\n Rozmiar bufora [probki]'); fprintf('\n 1) 8192 \t 2) 16384 \n'); opc = input('\n Wybierz rozmiar bufora: '); if opc == 1 framesize = 16*512; elseif opc == 2 framesize = 32*512; else fprintf(' \n Blad: Wybierz liczbę z zakresu 1 - 2! \n\n'); break; end; % dzialimy wektor probek dzwieku na ramki data = buffer(wav,framesize); % generacja echa fprintf('\n Podaj parametry generowanego echa: '); %echo delay = input(' opoznienie echa [8000?]'); % opóźnienie echa

Page 23: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

23Politechnika Warszawska

Instytut Elektrotechniki Teoretycznej i Systemów Informacyjno Pomiarowych

if isempty (delay) delay=8000; disp(sprintf(' delay = %g', delay)); end amp = input (' glosnocs echa [0.5?]'); % głośność echa if isempty (amp) amp = 0.5; disp(sprintf(' amp = %g', amp)); end rest = zeros(delay,1); % bufor przeniesienia % sprawdzenie czy ramka jest większa niż opoznienie echa if (delay > framesize) fprintf(' \n Blad: Opoznienie echa musi miec mniejsza wartosc niz rozmiar ramki! \n\n'); break; end; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% filtered = []; s = 1; buffsize = framesize; % dla każdej ramki for i=1:size(data,2) % pojedyncza ramka frame = data(:,i); % zrob cos z ramka frame = frame + (-1)*amp*[rest ; frame(1:(size(frame,1)-delay))]; rest = amp*(frame((size(frame,1)-delay+1):(size(frame,1)))); % tablica z przetworzonym wektorem dzwieku filtered(s:buffsize,:) = frame; s = s + framesize; buffsize = buffsize + framesize; i = i + 1; end; %normalizacja do 99% coef = 0.99/max([abs(min(filtered)) max(filtered)]); filtered = coef*filtered; %rysujemy wykresy sygnalu dzwiekowego przed i po przetworzeniu figure subplot(2,1,1); plot(wav);

Page 24: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

24Politechnika Warszawska

Instytut Elektrotechniki Teoretycznej i Systemów Informacyjno Pomiarowych

title('Sygnal wejsciowy'); xlabel('Czas');ylabel('Amplituda'); grid on; subplot(2,1,2); plot(filtered); title('Sygnal przetworzony (znormalizowany)'); xlabel('Czas');ylabel('Amplituda'); grid on; figure pocz=1; koniec=100000; roz = wav(pocz:koniec) - filtered(pocz:koniec); subplot(211); hold on plot(wav(pocz:koniec),'r'); plot(filtered(pocz:koniec),'b') title('Sygnal wejsciowy i przetworzony'); xlabel('Czas');ylabel('Amplituda'); grid on; subplot(212); plot(roz); title('Roznica sygnalow'); xlabel('Czas');ylabel('Amplituda'); grid on; %zapis pliku przetworzonego na dysk wavwrite(filtered,22050,16,'echo.wav'); fprintf(' \n Wykonane! liczba ramek: %i\n', i-1); fprintf(' Komenda "wp1" pozwala odsluchac oryginalny sygnal.\n'); fprintf(' Komenda "wp2" pozwala odsluchac przetworzony sygnal.\n'); Przeanalizuj dokładnie listing programu. Zwróć uwagę na działanie programu. Efekt echa można wykonać w następujący sposób:

a) przesunięcie sygnału oryginalnego o pewien czas dT b) zmniejszenie amplitudy przesuniętego sygnału c) zasumowanie sygnału oryginalnego oraz przesuniętego z mniejsza amplitudę.

Page 25: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

25Politechnika Warszawska

Instytut Elektrotechniki Teoretycznej i Systemów Informacyjno Pomiarowych

Poniżej przedstawiono okna pojawiające się podczas wykonywania programu.  

  

4. Efekt flanger w programie Matlab

Flanger to efekt należący do grupy efektów modulacyjnych. Efekt ten można uzyskać poprzez nakładanie lekko zmodulowanego i opóźnionego sygnału na oryginalny sygnał. Efektem takiej modulacji jest uzyskanie charakterystycznego brzmienia chóralnego. Poniżej zaprezentowano listing funkcji wykonującej efekt.

function [y]=flanger(fs, y, wet) v = 0.002; r = 0.5; orig = y; %[y] = flange(fs, v, x, r) % md= ceil(v*fs); n=1:length(y)+md; v=round(v*fs); z=zeros(md,1); m=max(abs(y)); y=[z;y;z]; rr=2*pi/round(fs*r); b=round((v/2)*(1-cos(rr.*n))); y=y(n+md)+y(n+md-b); m=m/max(abs(y));

Page 26: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

26Politechnika Warszawska

Instytut Elektrotechniki Teoretycznej i Systemów Informacyjno Pomiarowych

y=m*y; y = y(1:length(orig)); y = wet * y + (1 - wet) * orig; Twoim zadaniem jest napisanie programu wykorzystującego daną funkcję i porównanie rezultatów działania funkcji dla różnych parametrów wejściowych funkcji.

Page 27: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

IV. Przetwarzanie grafiki rastrowej w obróbce zdjec cyfrowych

Opracował: Łukasz Makowski

Rys. 1. Ekran uruchomieniowy pro-gramu GIMP w wersji 2.6. Au-tor: Alexia Death, uzycie za zgodatwórcy.

Niniejsza instrukcja stanowi pomoc dla studentów Wydziału

Elektrycznego Politechniki Warszawskiej wszystkich lat i kierun-

ków, majacych zajecia z przedmiotu "Techniki multimedialne -

laboratorium".

Cwiczenie dotyczy przetwarzania obrazów rastrowych, czyli

zapisanych na siatce punktów zwanych pikselami. Piksel stanowi

najmniejsza logiczna czesc obrazu rastrowego. Przypisane sa mu

parametry koloru, którymi w zaleznosci od modelu moga byc:

• odcien, nasycenie i wartosc natezenia (HSV)

• natezenia składowych czerwonej, zielonej i niebieskiej

(RGB)

• natezenia przy podziale na cztery składowe: cyjan, magente,

zółty i czarny (CMYK)

• jasnosc i chrominancje (YUV)

• inne (CIELab, HSL, YQI)

W cwiczeniu beda wykorzystywane pierwsze dwa modele.

Projekt współfinansowany przez Unie Europejska w ramach Europejskiego Funduszu Społecznego 27

Politechnika WarszawskaInstytut Elektrotechniki Teoretycznej

i Systemów Informacyjno-Pomiarowych

Page 28: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

W cwiczeniu istotny jest aspekt twórczy, element scisle subiektywny, dlatego ocenie bedzie pod-

legało jedynie uzycie technik i dazenie do celu a nie efekt artystyczny. Dodatkowym aspektem cwi-

czenia jest uwrazliwienie studentów na prawne aspekty licencji materiałów chronionych prawem au-

torskim i uzywanie ich we własnych projektach.

Zadania beda realizowane w programie GIMP, darmowym, dostepnym na licencji GPL. Winieta

w jednej z wersji tego programu przedstawiona jest na rysunku 1.

1. Wstepne informacje o GIMP

GIMP czyli GNU Image Manipulation Program1 jest to oprogramowanie do przetwarzania obra-

zów rastrowych. Obrazy rastrowe czyli siatki pikseli sa zapisywane w wielu formatach takich jak

PNG (Portable Network Graphics), JPEG (Joint Photographic Experts Group) i TIFF (Tagged Image

File Format). GIMP obsługuje znacznie wiecej typów, jednak te trzy sa obecnie najpowszechniejsze.

Wewnetrznym formatem w jakim GIMP zachowuje pliki jest XCF (eXperimental Computing Faci-

lity). Ten format pozwala na zapisanie dodatkowych informacji niekoniecznie scisle zwiazanych z

grafika rastrowa ale przydatnych podczas pracy w programie GIMP.

GIMP jest dostepny za darmo, zarówno do zastosowan „domowych” jak tez do prac komercyj-

nych. Uzytkownik otrzymuje go bezterminowo na własnosc, wraz z kodem zródłowym na licencji

GPL.

Program powstawał poczatkowo dla dystrybucji systemu Linux, jednak pózniej dzieki otwartosci

kodu zródłowego pojawiły sie wersje miedzy innymi dla systemów z rodziny Windows i wielu innych,

równiez mniej znanych takich jak na przykład QNX. Podobnie wyglada sprawa tłumaczenia interfejsu

programu na jezyki narodowe.

1czasem przez fanów nazywany jest tez „Greatest Image Manipulation Program”

Projekt współfinansowany przez Unie Europejska w ramach Europejskiego Funduszu Społecznego 28

Politechnika WarszawskaInstytut Elektrotechniki Teoretycznej

i Systemów Informacyjno-Pomiarowych

Page 29: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

1.1. Modularnosc

Granice mozliwosci GIMPa wyznaczaja liczne tzw. „wtyczki”. Wtyczki moga byc pisane w róznych

popularnych, skryptowych jezykach programowania takich jak Scheme, Perl, Python.

Standardowo dostepne sa wtyczki filtrów obrazu rastrowego. Kolejne filtry mozna doinstalowac

samodzielnie, w miare potrzeby. Takim dodatkowym filtrem był, obecnie właczony do zestawu pod-

stawowego program The Unidentified Flying Raw (UFRaw), pozwalajacy na obróbke zdjec z apara-

tów cyfrowych zapisanych w trybie 16 bitów na kolor.

Z czasem, gdy program realizujacy zadanie wtyczki dojrzewa, i jest na niego duze zapotrzebowa-

nie, zostaje on właczony do podstawowego pakietu Gimpa. Tak było na przykład równiez z wtyczka

do usuwania „efektu czerwonych oczu”.

1.2. Pierwsze uruchomienie i konfiguracja

Instalacja GIMPa jest bardzo prosta, zwłaszcza w popularnych dystrybucjach Linuksa. Po uruchomie-

niu z uprawnieniami administratora programu do zarzadzania pakietami wystarczy myszka wskazac

GIMPa do instalacji. Alternatywnie mozna zrealizowac instalacje poprzez wydanie jednego polecenia

w konsoli. Uzytkownicy popularnych systemów Windows maja nieco gorzej, gdyz najpierw musza

sciagnac program instalacyjny ze strony internetowe 2 i nastepnie go uruchomic.

Pierwsze uruchomienie wyglada zasadniczo zawsze tak samo. GIMP tworzy katalog ustawien i

uruchamia sie z opcjami domyslnymi. Warto w „preferencjach” dostosowac ilosc uzywanej pamieci

RAM do mozliwosci uzywanego komputera, zmienic domyslne wymiary nowego obrazu i komentarz

zapisywany w plikach.

2http://www.gimp.org/downloads/

Projekt współfinansowany przez Unie Europejska w ramach Europejskiego Funduszu Społecznego 29

Politechnika WarszawskaInstytut Elektrotechniki Teoretycznej

i Systemów Informacyjno-Pomiarowych

Page 30: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

2. Wymagania do realizacji cwiczenia

Grafiki potrzebne do przeprowadzania cwiczenia mozna pobrac ze strony Wikimedia3. Mozna tam

znalezc interesujace fotografie, które ich autorzy udostepnili na licencjach pozwalajacych na wy-

konywanie własnych modyfikacji czyli utworów zaleznych. Prowadzacy zajecia powinien wskazac

pliki, z których nalezy skorzystac. Mimo, ze ten dokument bazuje na juz wybranych plikach, opisane

operacje mozna oczywiscie zrealizowac na innych obrazkach. Z pewnoscia w Internecie jest wiecej

miejsc, gdzie mozna znalezc grafiki dostepne na licencjach, pozwalajacych na wykorzystanie ich do

nauki i we własnych pracach4.

W ramach przygotowania do cwiczenia student musi zapoznac sie z niniejsza instrukcja. Wcze-

sniejsze poznanie przynajmniej podstaw GIMP lub innego programu do obróbki grafiki rastrowej

moze byc pomocne, jednak nie jest niezbedne.

3. Podstawy pracy w GIMP

3.1. Podstawowe narzedzia

Nalezy wczytac zdjecie muzeum w Sztokholmie, przedstawione na rysunku 2. Budynek ma lekko zie-

lony odcien. Chcemy, zeby był bardziej niebieski lub czerwonawy. Posługujac sie zaznaczeniem pro-

stokatnym okreslamy fragment budynku, który bedziemy zmieniac. Wybieramy „warstwa->kolory-

>odcien i nasycenie” i przekształcamy az do uzyskania zadowalajacego efektu. CTRL-Z cofnie zmiany.

Studenci powinni teraz zaznaczyc statek lassem (w miare swobodnie, bez szczegółów) i prze-

kształcic jego palete przy uzyciu „warstwa->kolory->barwienie”. Do istniejacego zaznaczenia mozna

dodac nowy fragment, jesli w czasie zaznaczania (na poczatku - pózniej nalezy klawisz puscic) trzy-

many jest klawisz SHIFT. CTRL to róznica, a SHIFT+CTRL to operacja logiczna „i”.

3http://commons.wikimedia.org/wiki/Strona_główna4Na przykład http://gimp-savvy.com/PHOTO-ARCHIVE/

Projekt współfinansowany przez Unie Europejska w ramach Europejskiego Funduszu Społecznego 30

Politechnika WarszawskaInstytut Elektrotechniki Teoretycznej

i Systemów Informacyjno-Pomiarowych

Page 31: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Rys. 2. Muzeum w Sztokholmie. Autor: Jonas Bergsten. Licencja: domena publiczna.

Na drugim statku niech wykonaja dowolna z tych dwóch operacji zmiany kolorów, ale przy wy-

łaczonym jednym z kanałów RGB. Nalezy zwrócic uwage, aby kanał był wyłaczony do edycji a nie

tylko jego podglad.

Mozna tez podejrzec histogram, wykonac operacje zmiany kolorystyki całego obrazka i ponownie

obejrzec histogram („warstwa->kolory->histogram”).

4. Zmiana kolorów

Jaszczurka z rysunku 3 powinna nabrac troche zywszych kolorów - cwiczenie dotyczy zaznaczania

przy uzyciu szybkiej maski i warstw.

Szybka maske przełacza sie przy uzyciu SHIFT-Q. Obraz poczerwienieje. Uzywajac pedzla mo-

dyfikujemy szybka maske. Wazny jest nie kolor, jakim to robimy, tylko natezenie sumy składowych

RGB - jaszczurka powinna byc „pomalowana” białym kolorem i tylko ona. Przechodzac do zakładki

Projekt współfinansowany przez Unie Europejska w ramach Europejskiego Funduszu Społecznego 31

Politechnika WarszawskaInstytut Elektrotechniki Teoretycznej

i Systemów Informacyjno-Pomiarowych

Page 32: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Rys. 3. Jaszczurka. Autor: Felicitee Lawrie. Licencja: Creative Commons Attribution ShareAlike 1.0.

„kanały” widzimy szybka maske. Klikajac prawym na „szybka maska” nalezy przekształcic ja na

zaznaczenie. Wracamy do warstw i dodajemy nowa przezroczysta warstwe. Teraz puszczajac wo-

dze fantazji mozna wewnatrz tego zaznaczenia ale na nowej pustej warstwie, malowac. Dobrze jesli

bedzie to kolorowe, z mocnym nasyceniem. Mozna posłuzyc sie wypełnieniem „deseniem”. Gdy

jaszczurka jest zamalowana, z menu warstw nalezy wybierac „tryby” i manipulowac „kryciem” az do

uzyskania zadowalajacego efektu.

Na koniec przy uzyciu ikony mozna właczyc/wyłaczyc nowa warstwe, aby zobaczyc stara i nowa

wersje jaszczurki.

Jesli zajecia beda szły sprawnie mozna spróbowac zmienic oko jaszczurki na bardziej „jadowite”

w taki sam sposób, jak zmieniana była cała jaszczurka. Jednak efektowna zmiana koloru oczu nie jest

taka prosta i nalezy potraktowac ja opcjonalnie.

Projekt współfinansowany przez Unie Europejska w ramach Europejskiego Funduszu Społecznego 32

Politechnika WarszawskaInstytut Elektrotechniki Teoretycznej

i Systemów Informacyjno-Pomiarowych

Page 33: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

4.1. Red-eye effect

Do obróbki bierzemy klasyczny przykład „efektu czerwonych oczu”5. Nalezy zrobic powiekszenie

fragmentu z okiem. Zajmijmy sie jednym (sugerowane lewe), aby miec porównanie. Zeby lepiej do-

strzec gdzie zaczyna sie teczówka, warto w zaleznosci od jej koloru, wyłaczyc z widoku kanał zielony

lub niebieski. Czerwona zrenica bedzie wyrazniejsza. Zaznaczamy oko w dowolny sposób. Najpro-

sciej uzyc rózdzki i metody prób-błedów. Kilka zaznaczonych niepotrzebnie pojedynczych pikseli

mozna usunac zaznaczeniem prostokatnym lub lassem (z CTRL). Lepiej jednak wyedytowac szybka

maske o nieostrych krawedziach.

W sposób prosty lecz dajacy słabe efekty bez zmudnych prób, mozna posłuzyc sie opcjami z menu

„warstwa->kolory”. Mozna a nawet nalezy pracowac tylko w przestrzeni koloru czerwonego, gdyz to

on daje niechciany efekt. Jeszcze lepiej jest jednak uzyc miksera kanałów.

Majac wybrane do edycji wszystkie trzy składowe koloru, wybieramy „filtry->kolory->mikser

kanałów”. Jako kanał docelowy wybieramy czerwony i zmniejszamy ilosc czerwieni. Uzywajac in-

nych kanałów jako celów, mozna zmienic zrenice na np.: zielona. Od jakosci zaznaczenia (gładkosci

przejscia) zalezy jakosc uzyskanego efektu. Lepsze efekty uzyskuje sie takze pracujac w wysokiej

rozdzielczosci.

5. Dzielenie i łaczenie

Obrazki z punktu 1 (muzeum) i 2 (jaszczurka) nalezy połaczyc. Nalezy zaznaczyc jaszczurke, sko-

piowac CTRL-C i przeniesc na zdjecie muzeum CTRL-V osadzajac ja w nowej warstwie. Uzywajac

maski warstwy nalezy doprowadzic do tego by albo mogła ona „wyskakiwac” z wody albo „wycho-

dzic” zza budynku.

5http://en.wikipedia.org/wiki/File:Redeyephotoimage.jpg

Projekt współfinansowany przez Unie Europejska w ramach Europejskiego Funduszu Społecznego 33

Politechnika WarszawskaInstytut Elektrotechniki Teoretycznej

i Systemów Informacyjno-Pomiarowych

Page 34: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Po osadzeniu rysunku nalezy ustawic je w wybranym miejscu narzedziem przesuwania - na dachu

budynku. Jesli ma wyskakiwac z wody, to klikajac prawym na warstwie, wybieramy „dodaj maske

warstwy (biała)”. Lewym przyciskiem z menu warstw wybieramy maske, bedziemy po niej rysowac

duzym pedzlem o łagodnych brzegach np.: „Circle Fuzzy (17)”. Pedzel powinien byc czarny, jed-

nak krycie ustawiamy na około 25%. Te czesci jaszczura, które sa głebiej, zamalowujemy bardziej.

Na koniec mozna zwrócic uwage, ze kazda z warstw moze miec inny rozmiar. Wybieramy „widok-

>wyswietl granice warstwy”, aby brzydkie zółte obramowanie warstwy znikneło.

6. Przekształcenia geometryczne

Ostatnim zadaniem jest poprawienie „przewracajacego sie” budynku uniwersytetu6. Linie pionowe

powinny byc pionowe, a nie sa - budynek przewraca sie do tyłu. Wybieramy zatem narzedzie „zmiana

perspektywy”. Proponuje ustawienia: naprzód (tradycyjny), interpolacja szescienna, nadpróbkowanie,

podglad obraz+siatka. Aby zmodyfikowac obrazek nalezy chwytac jego fragmenty i przesuwac w

pozadanym kierunku. Lewy górny róg przesuwamy w lewo a prawy górny - w prawo. Tak długo, az

kazda linia pionowa bedzie pionowa. Jako odniesienie powinny słuzyc lewa i prawa krawedz zdjecia.

Gdy podglad wyglada zadowalajaco, klikamy „przekształc”.

W wersji bardziej profesjonalnej, nalezałoby dół rysunku zwezac - u góry po jej rozciagnieciu

pojawiły sie przeciez nowe piksele - a niby skad?

Na koniec mozna nadac zdjeciu inna kolorystyke uzywajac „warstwa->kolory->poziomy”. Srod-

kowy suwak kanału „wartosc” przesunmy nieco w prawo. „Czerwonego” w lewo, „niebieskiego”

w prawo i „zielonego” nieco w prawo. W zaleznosci od modyfikacji uzyskamy efekt zachodzacego

słonca lub starej, kolorowej fotografii.

6http://commons.wikimedia.org/wiki/File:Universidade_Federal_do_Parana_4_Curitiba_Parana.jpg

Projekt współfinansowany przez Unie Europejska w ramach Europejskiego Funduszu Społecznego 34

Politechnika WarszawskaInstytut Elektrotechniki Teoretycznej

i Systemów Informacyjno-Pomiarowych

Page 35: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

7. Literatura

1. „GNU Image Manipulation Program - User Manual”, The GIMP Documentation Team, 2005

(tekst pomocy zwykle dostepny po nacisnieciu przyisku F1)

2. http://www.gimp.org/

3. http://www.gimpuj.info/indeks.html

4. „Po prostu GIMP”, Phyllis Davis, Helion, 2000

5. „GIMP 2.0 : edycja zdjec cyfrowych”, Paweł Bragoszewski, Helion,cop. 2005

Projekt współfinansowany przez Unie Europejska w ramach Europejskiego Funduszu Społecznego 35

Politechnika WarszawskaInstytut Elektrotechniki Teoretycznej

i Systemów Informacyjno-Pomiarowych

Page 36: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

V. Grafika wektorowa w generowaniu obrazów trójwymiarowych

Opracował: Łukasz Makowski

Niniejsza instrukcja stanowi pomoc dla studentów Wydziału Elektrycznego Politechniki War-

szawskiej wszystkich lat i kierunków, majacych zajecia z przedmiotu "Techniki multimedialne - la-

boratorium".

Cwiczenie dotyczy tworzenia grafiki z uzyciem metody sledzenia promieni. Celem cwiczenia jest

zapoznanie studentów z zasadniczymi elementami tworzenia komputerowej grafiki trójwymiarowej,

uzyciem swiateł i przestrzeni, podstawowych brył i CSG (ang. Constructive Solid Geometry). Nie

obejmuje zagadnien artystycznych takich jak modelowanie obiektów.

W cwiczeniu istotny jest aspekt twórczy, element scisle subiektywny, dlatego ocenie bedzie pod-

legało jedynie uzycie technik i dazenie do celu a nie efekt artystyczny. Zadania beda realizowane

w programie PovRay, darmowym, dostepnym na tzw. wolnej licencji.

Celem tej instrukcji nie jest tez nauczenie wszystkich mozliwosci PovRaya, gdyz na to potrzebny

byłby osobny kilkunastogodzinny kurs. Powinna ona jednak wprowadzic uczestników zajec w tema-

tyke cwiczenia i pozwolic im na szybsze zdobywanie poczatkowego doswiadczenia.

1. Wstepne informacje o PovRay

PovRay jest oprogramowaniem otwartozródłowym, rozpowszechnianym na własnej licencji pozwa-

lajacej na darmowy uzytek osobisty. Pozwala na tworzenie grafiki fotorealistycznej z uzyciem, oprócz

podstawowej metody sledzenia promieni, równiez takich algorytmów jak: radiosity, mapowanie fo-

tonowe i symulacja głebi ostrosci obiektywu optycznego. Jak widac mozliwosci sa całkiem spore

a efekty jakie mozna uzyskac z uzyciem PovRaya – imponujace.

Projekt współfinansowany przez Unie Europejska w ramach Europejskiego Funduszu Społecznego 36

Politechnika WarszawskaInstytut Elektrotechniki Teoretycznej

i Systemów Informacyjno-Pomiarowych

Page 37: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Na szczególna uwage zasługuja dwie strony internetowe poswiecone mozliwosciom Povraya.

Pierwsza to nieustajacy konkurs na najlepsze prace wyrenderowane w nim, dostepna pod adresem

http://hof.povray.org/. Druga to równiez konkurs na jak najkrótszy kod dla PovRaya a wciaz gene-

rujacy atrakcyjna grafike. Piata edycja odbyła sie w roku 2008 a prace mozna znalezc na stronie

internetowej, pod adresem: http://paulbourke.net/exhibition/scc5/final.html.

Warto tez zauwazyc, ze dostepnosc kodu zródłowego PovRaya jest istotnym atutem w srodowisku

akademickim, gdyz pozwala studentom na zapoznanie sie ze wspomnianymi algorytmami grafiki

trójwymiarowej i ich przykładowa realizacja praktyczna.

W celu przygotowania sie do zajec student powinien przypomniec sobie zasady korzystania z li-

nii polecen w systemach uniksopodobnych. W czasie cwiczen wykorzystywany jest system Linux.

Przypomnienia moze tez wymagac ogólna wiedza z grafiki komputerowej. Nie jest wymagana zna-

jomosc narzedzi do tworzenia komputerowej grafiki trójwymiarowej ani umiejetnosc programowania

na poziomie wyzszym niz szkoły sredniej.

Uruchomienie i konfiguracja programu PovRay sa bardzo proste. Jako argument programu poda-

wany jest plik tekstowy zawierajacy komendy zrozumiałe dla PovRaya. Plik zostanie przetworzony i

o ile nie zawiera błedów to po pewnym czasie, zaleznym od stopnia skomplikowania sceny, zostanie

wygenerowany rastrowy obraz wynikowy. Nazwa pliku zródłowego powinna byc zakonczona rozsze-

rzeniem .pov natomiast plik wynikowy przybierze nazwe zgodna z nazwa pliku zródłowego i bedzie

w formacie PNG.

W czasie uruchamiania mozna wskazac rozdzielczosc obrazu wynikowego, gdyz domyslna wiel-

kosc obrazu moze nie byc zadowalajaca. Wywołanie programu povray z linii polecen, w celu stworze-

nia pliku rastrowego w rozmiarze 1024 na 768 pikseli, na podstawie opisu sceny zawartego w pliku

nazwa.pov:

povray +W1024 +H768 nazwa.pov

Projekt współfinansowany przez Unie Europejska w ramach Europejskiego Funduszu Społecznego 37

Politechnika WarszawskaInstytut Elektrotechniki Teoretycznej

i Systemów Informacyjno-Pomiarowych

Page 38: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Nie ma istotnych ograniczen na rozdzielczosci plików wynikowych nalezy jednak przy jej ustala-

niu zwrócic uwage na proporcje obrazu. Ten problem jest omówiony dalej.

2. Podstawy jezyka opisu sceny (SDL)

W ramach pierwszej czesci cwiczenia realizowane sa cwiczenia z wykorzystaniem prymitywów geo-

metrycznych takich jak kula, szescian, walec, stozek, powierzchnia i płaszczyzna oraz operacje CSG

z ich uzyciem.

2.1. Pierwsza scena

Trójwymiarowa przestrzen wirtualna w której sa umieszczane obiekty a na która skierowana jest

kamera nazywana jest „scena”. PovRay uzywa współrzednych kartezjanskich. Najprostszy jej opis

przedstawia sie nastepujaco:

01.pov

1 camera{ l o c a t i o n <4 ,−4 ,4 >

2 l o o k _ a t <0 ,0 ,0 > }

3

4 sphere { <0 ,0 ,0 > , 3

5 pigment { c o l o r rgb <1 ,0 ,0 > } }

Nalezy zwrócic uwage na otwierajace i zamykajace nawiasy klamrowe oraz wartosci w nawiasach

trójkatnych. Kamera (camera)umieszczona w punkcie o współrzednych <4, -4, 4> skierowana jest

na punkt <0, 0, 0>, w którym umieszczono czerwona sfere (sphere) o promieniu 3.

Projekt współfinansowany przez Unie Europejska w ramach Europejskiego Funduszu Społecznego 38

Politechnika WarszawskaInstytut Elektrotechniki Teoretycznej

i Systemów Informacyjno-Pomiarowych

Page 39: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Rys. 1. Scena bez oswietlenia.

Niestety obraz wynikowy, przedstawiony na rysunku 1 jest tylko plama czerni poniewaz brakuje

oswietlenia obiektu. Brak, błedne lub niedostateczne oswietlenie jest czestym problemem poczatku-

jacych uzytkowników PovRaya.

2.2. Podstawy oswietlenia

Poprawnie umieszczone swiatło, tak jak w ponizszym kodzie, pozwala oswietlic kule i uzyskac pierw-

szy widoczny efekt.

02.pov

1 camera{ l o c a t i o n <4 ,−4 ,4 >

2 l o o k _ a t <0 ,0 ,0 > }

3

4 l i g h t _ s o u r c e { <100 ,−100 ,−100 > , rgb < . 8 , . 1 , . 8 > }

5

6 sphere { <0 ,0 ,0 > , 3

Projekt współfinansowany przez Unie Europejska w ramach Europejskiego Funduszu Społecznego 39

Politechnika WarszawskaInstytut Elektrotechniki Teoretycznej

i Systemów Informacyjno-Pomiarowych

Page 40: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

7 pigment { c o l o r rgb < . 9 , . 9 , . 1 > } }

Rys. 2. Oswietlona sfera.

Efekt przetworzenia tego kodu przedstawiony jest na rysunku 2.

Do ustawienia swiatła słuzy funkcja light_source, której podstawowymi parametrami sa: współ-

rzedne swiatła oraz jego barwa, w powyzszym przykładzie podana jako trójka RGB. Ponadto mozna

ustawic równiez kształt zródła swiatła wybierajac sposród domyslnego – punktowego (spotlight), nie

rzucajacego cieni (shadowless), cylindrycznego (cylinder) i rzucajacego promienie równoległe, co

najbardziej przypomina swiatło słoneczne (parallel). Mozna stworzyc równiez własny kształt zródła

swiatła, poprzez stworzenie obiektu i uzycie go przy definiowaniu swiatła poprzez podanie jego na-

zwy jako parametru zmiennej looks_like. Dla swiateł niepunktowych nalezy pamietac o parametrze

point_at, który działa tak samo, jak parametr look_at w przypadku kamery, kierujac zródło swiatła w

miejsce przestrzeni okreslone we współrzednych kartezjanskich.

Warto tez zauwazyc, jak wyrenderowane barwy brył zaleza od kolorów im przypisanych oraz od

padajacego na nie swiatła. W przykładzie swiatło jest koloru czerwono-niebieskiego (purpurowego),

Projekt współfinansowany przez Unie Europejska w ramach Europejskiego Funduszu Społecznego 40

Politechnika WarszawskaInstytut Elektrotechniki Teoretycznej

i Systemów Informacyjno-Pomiarowych

Page 41: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

sfera jest koloru czerwono-zielonego (zółty) ale po wyrenderowaniu mamy bryłe czerwona. Ten przy-

kład pokazuje zatem addytywna i subtraktywna analize koloru.

W kodzie widac tez, ze separatorem dziesietnym jest kropka.

2.3. Bryły podstawowe

W kolejnym przykładzie wykorzystamy wiecej brył podstawowych oraz informacje dotyczace oswie-

tlenia zebrane w poprzednim punkcie.

03.pov

1 camera{ l o c a t i o n <18 ,16 ,8 >

2 l o o k _ a t <0 ,1 ,0 > }

3

4 l i g h t _ s o u r c e { <3 ,6 ,−8 > , rgb < . 1 , . 1 , . 9 > }

5 / / s f e r a o z n a c z a j a c a p o l o z e n i e s w i a t l a

6 sphere { <3 ,6.2 ,−8 > , . 2

7 pigment { c o l o r rgb < . 9 , . 9 , . 9 > } }

8 l i g h t _ s o u r c e { <10 ,10 ,10 > , rgb < . 9 , . 9 , . 2 >

9 shadowless p a r a l l e l p o i n t _ a t <0 ,0 ,2 > }

10 / / s f e r a o z n a c z a j a c a p o l o z e n i e s w i a t l a

11 sphere { <10 ,10 .2 ,10 > , . 2

12 pigment { c o l o r rgb < . 9 , . 9 , . 9 > } }

13

14

15 sphere { <0 ,0 ,0 > , 3

16 pigment { c o l o r rgb < . 9 , . 9 , . 1 > } }

17

Projekt współfinansowany przez Unie Europejska w ramach Europejskiego Funduszu Społecznego 41

Politechnika WarszawskaInstytut Elektrotechniki Teoretycznej

i Systemów Informacyjno-Pomiarowych

Page 42: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

18 box{ <−2,−2,−2>, <2 ,2 ,2 >

19 t r a n s l a t e <3 ,1 ,0 >

20 pigment { c o l o r rgb < . 1 , . 1 , . 9 > } }

21

22 c y l i n d e r { <−3 ,0 ,0 > , <−3 ,4 ,0 > , 3

23 pigment { c o l o r rgb < . 1 , . 9 , . 9 > } }

24

25 cone { <3 ,0 ,0 > , 3 , <3 ,5 ,0 > , 1

26 pigment { c o l o r rgb < . 1 , . 9 , . 3 > } }

27

28 t o r u s { 5 ,1

29 pigment { c o l o r rgb < . 6 , . 7 , . 1 > } }

30

31 plane {y , 0

32 pigment { c o l o r rgb < . 8 , . 8 , . 8 > } }

Efekt przetworzenia tego kodu przedstawiony jest na rysunku 3.

W centralnej czesci sceny została umieszczona znana juz sfera oraz inne podstawowe bryły Po-

vRaya: prostopadłoscian, walec, stozek sciety, torus i płaszczyzna.

Prostopadłoscian (box) definiuje sie poprzez podanie połozenia dwóch przeciwległych wierzchoł-

ków. W przykładzie zastosowano jego przesuniecie (translate) z punktu poczatkowego. Translacja jest

jedna z podstawowych i bardzo powszechnie uzywanych operacji. Pozwala na definiowanie brył w po-

blizu srodka układu współrzednych, co jest znacznym ułatwieniem w przypadku bardziej złozonych

objektów, a nastepnie przemieszczanie ich w wybrane miejsce.

Stozek sciety (cone) definiuje sie przez współrzedne srodków i promienie obu podstaw. Jesli jedna

z podstaw ma promien równy 0, uzyskuje sie zwykły stozek.

Projekt współfinansowany przez Unie Europejska w ramach Europejskiego Funduszu Społecznego 42

Politechnika WarszawskaInstytut Elektrotechniki Teoretycznej

i Systemów Informacyjno-Pomiarowych

Page 43: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Rys. 3. Przenikajace sie bryły, z podwójnym oswietleniem.

Torus, czyli charakterystyczny „obwarzanek” to bryła powstała przez obrót okregu wokół prostej.

Definiujemy zatem dwa promienie: pierwszy jest promieniem po którym porusza sie okrag a drugi to

promien samego okregu. Mozna skorzystac ze wspomnianej translacji, by umiescic ta bryłe w poza-

danym miejscu.

Płaszczyzna (plane) przydaje sie w prostych scenach jako tło dla pozostałych brył. Połozenie

okreslamy wybierajac, do której z osi równoległy bedzie wektor do normalny do tej płaszczyzny.

W przykładzie jest to wektor y, a wiec okreslajacy przestrzen „góra-dół”. Tradycyjnie x to os „lewo-

prawo” a z to „przód-tył”. Opis podany w cudzysłowie traktujemy umownie, gdyz w przestrzeni

trójwymiarowej mozna dokonac przekształcen obrotowych i odwrócic te zaleznosci. Jednak takie

własnie sa „domyslne” kierunki w PovRayu, co jest zgodne z tradycja grafiki komputerowej.

Ta scene oswietlaja dwa swiatła. Po lewej stronie mamy niebieskie swiatło punktowe. Po prawej

jest swiatło zółte, o równoległych promieniach i nie rzucajace cieni. Widac, ze obiekty rzucaja cien

wyłacznie na prawo – tylko z powodu swiatła po lewej stronie.

Projekt współfinansowany przez Unie Europejska w ramach Europejskiego Funduszu Społecznego 43

Politechnika WarszawskaInstytut Elektrotechniki Teoretycznej

i Systemów Informacyjno-Pomiarowych

Page 44: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

2.4. Napisy

W trójwymiarowej przestrzeni mozna tez umieszczac napisy. Chociaz nie jest to główna funkcja

programów do grafiki trójwymiarowej, opcja przydaje sie na przykład przy tworzeniu atrakcyjnych

graficznie trójwymiarowych wykresów.

Modyfikujac przykład poprzedni dodajemy do niego tekst, za pomoca funkcji text.

04.pov

1 camera{ l o c a t i o n <18 ,16 ,8 >

2 l o o k _ a t <0 ,1 ,0 > }

3

4 l i g h t _ s o u r c e { <10 ,10 ,10 > , rgb < . 9 , . 9 , . 9 >

5 shadowless p a r a l l e l p o i n t _ a t <0 ,0 ,2 > }

6 / / s f e r a o z n a c z a j a c a p o l o z e n i e s w i a t l a

7 sphere { <10 ,10 .2 ,10 > , . 2

8 pigment { c o l o r rgb < . 9 , . 9 , . 9 > } }

9

10

11 sphere { <0 ,0 ,0 > , 3

12 pigment { c o l o r rgb < . 9 , . 1 , . 6 > } }

13

14 cone { <3 ,0 ,0 > , 3 , <3 ,5 ,0 > , 1

15 pigment { c o l o r rgb < . 5 , . 9 , . 3 > } }

16

17 t o r u s { 5 ,1

18 pigment { c o l o r rgb < . 6 , . 7 , . 9 > } }

19

Projekt współfinansowany przez Unie Europejska w ramach Europejskiego Funduszu Społecznego 44

Politechnika WarszawskaInstytut Elektrotechniki Teoretycznej

i Systemów Informacyjno-Pomiarowych

Page 45: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

20 plane {y , 0

21 pigment { c o l o r rgb < . 8 , . 8 , . 8 > } }

22

23 t e x t { t t f " timrom . t t f " " S a l u t , Mundi ! " . 2 , . 1

24 pigment { c o l o r rgb <1 ,0 ,0 >}

25 s c a l e 3

26 r o t a t e <0 ,−130 ,0 >

27 t r a n s l a t e <9 ,6 ,−5 >}

Rys. 4. Napis w trójwymiarze.

Jak widac, PovRay pozwala na korzystanie z popularnych czcionek typu TTF. Parametrami sa

grubosc napisu a takze odstep miedzy obiektami stworzonymi na podstawie kształtów liter. Zazwy-

czaj drugi parametr jest równy 0. Z obrazka na rysunku 4 widac, ze kazda z literek jest renderowana

osobne i stad efekt „schodkowosci”. Ujawnia sie on po zastosowaniu odstepu innego niz 0.

Ponadto pokazane jest tutaj zastosowanie trzech przekształcen: skalowania (scale), obrotu (rotate)

i poznanego juz – przesuniecia (translate). Skalowanie jest w przykładzie zrealizowane we wszystkich

Projekt współfinansowany przez Unie Europejska w ramach Europejskiego Funduszu Społecznego 45

Politechnika WarszawskaInstytut Elektrotechniki Teoretycznej

i Systemów Informacyjno-Pomiarowych

Page 46: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

osiach w takim samym stopniu. Nie trzeba, chociaz mozna, podawac wartosc dla kazdej osi. Jesli

podana zostanie wyłacznie jedna wartosc, PovRay zastosuje ja do wszystkich. Dotyczy to równiez

pozostałych przekształcen.

2.5. Składanie brył podstawowych

Z prostych brył mozna stworzyc ciekawsze obiekty po uzyciu algebry boolowskiej, zastosowanej do

obiektów trójwymiarowych. Znane jest to pod akronimem CSG (ang. Constructive solid geometry).

W ponizszym przykładzie przy okazji wprowadzilismy nowy parametr kamery – kat widzenia

(angle), co pozwala na symulowanie długosci ogniskowej.

05.pov

1 camera{ l o c a t i o n <4 ,10 ,−6 >

2 l o o k _ a t <4 ,2 ,2 >

3 ang le 70 }

4

5 l i g h t _ s o u r c e { <10 ,10 ,−10 > , rgb < . 9 , . 9 , . 9 >

6 p a r a l l e l p o i n t _ a t <0 ,0 ,2 > }

7

8 plane { y , −2

9 pigment { c o l o r rgb < 1 , . 9 , . 8 > }

10 }

11

12 # d e c l a r e pude lko = box{

13 <−2,−2,−2>, <2 ,2 ,2 >

14 pigment { c o l o r rgb < . 1 , . 1 , . 9 > }

15 }

Projekt współfinansowany przez Unie Europejska w ramach Europejskiego Funduszu Społecznego 46

Politechnika WarszawskaInstytut Elektrotechniki Teoretycznej

i Systemów Informacyjno-Pomiarowych

Page 47: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

16

17 # d e c l a r e s t o z e k = cone { <0 ,0 ,0 > , 3 , <0 ,5 ,0 > , 1

18 pigment { c o l o r rgb < . 1 , . 9 , . 3 > }

19 }

20

21 union { o b j e c t { pude lko }

22 o b j e c t { s t o z e k }

23 t r a n s l a t e <0 ,0 ,8 > }

24

25 i n t e r s e c t i o n { o b j e c t { pude lko }

26 o b j e c t { s t o z e k } }

27

28 d i f f e r e n c e { o b j e c t { pude lko }

29 o b j e c t { s t o z e k }

30 t r a n s l a t e <8 ,0 ,0 > }

31

32 d i f f e r e n c e { o b j e c t { s t o z e k }

33 o b j e c t { pude lko }

34 r o t a t e <90 ,15 ,−45 >

35 t r a n s l a t e <8 ,3 ,8 > }

W przykładzie deklarujemy dwie bryły nazwane „pudelko” i „stozek”. Mozna je traktowac jako

makrodefinicje i uzyc wielokrotnie. Sa one wykorzystane do zaprezentowania operacji CSG, co jest

pokazane na rysunku 5.

Projekt współfinansowany przez Unie Europejska w ramach Europejskiego Funduszu Społecznego 47

Politechnika WarszawskaInstytut Elektrotechniki Teoretycznej

i Systemów Informacyjno-Pomiarowych

Page 48: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Rys. 5. Przykład uzycia CSG.

Suma logiczna (union) to zespolenie dwóch obiektów. Tak stworzona nowa bryła moze otrzymac

jednolite parametry, takie jak na przykład kolor. Na rysunku ta bryła znajduje sie w lewym górnym

rogu.

Przeciecie (intersection) tworzy czesc wspólna brył uczestniczacych w operacji. Efekt znajduje

sie w lewej dolnej czesci rysunku.

Operacja róznicy (difference) daje rózne efekty w zaleznosci od kolejnosci brył. W jednym przy-

kładzie, widocznym w prawym dolnym rogu rysunku 5, odejmujemy stozek od szescianu a w drugim,

umieszczonym w prawym górnym rogu – szescian od stozka. Pierwsza bryła jest wiec odjemna.

We wszystkich przykładach warto zauwazyc jakie kolory przybrały poszczególne powierzchnie

powstałych brył. Chociaz podczas kazdej operacji posługiwalismy sie tylko dwoma bryłami, mozna

w jednej operacji uzyc ich wiecej.

Projekt współfinansowany przez Unie Europejska w ramach Europejskiego Funduszu Społecznego 48

Politechnika WarszawskaInstytut Elektrotechniki Teoretycznej

i Systemów Informacyjno-Pomiarowych

Page 49: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

2.6. Materiały obiektów

Obiekty staja sie interesujace po nadaniu im indywidualnych tekstur oraz wzorców nierównosci ich

powierzchni. W PovRayu sa to tak zwane tekstury generowane matematycznie i moga byc składane

(nakładane, sumowane) wielokrotnie, co wspomaga uzyskiwanie fotorealistycznych efektów.

Rys. 6. Ten sam obiekt z róznymi materiałami.

06.pov

1 camera{

2 l o c a t i o n <8 ,12 ,−8 >

3 l o o k _ a t <0 ,0 ,0 >

4 }

5

6 l i g h t _ s o u r c e { <10 ,10 ,−10 > , rgb < . 9 , . 9 , . 9 >

7 p a r a l l e l p o i n t _ a t <0 ,0 ,2 > }

8

9 plane { y , 0 pigment { c o l o r rgb < . 5 , . 5 , . 5 > } }

Projekt współfinansowany przez Unie Europejska w ramach Europejskiego Funduszu Społecznego 49

Politechnika WarszawskaInstytut Elektrotechniki Teoretycznej

i Systemów Informacyjno-Pomiarowych

Page 50: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

10 plane { z , 10 pigment { c o l o r rgb < . 8 , . 8 , . 8 > } }

11

12 # d e c l a r e b r y l k a = union {

13 box{ <−2 ,0 ,−2> , <2 ,2 ,2 > }

14 sphere { <0 ,4 ,0 > , 2 }

15 }

16

17 o b j e c t { b r y l k a t r a n s l a t e <−5 ,0 ,0 >

18 f i n i s h { s p e c u l a r 1 . 0 }

19 pigment { c o l o r rgb < . 5 , . 5 , . 9 > }

20 }

21 o b j e c t { b r y l k a t r a n s l a t e <0 ,0 ,0 >

22 f i n i s h {phong . 7 5 }

23 pigment { c o l o r rgb < . 5 , . 9 , . 5 > }

24 }

25 o b j e c t { b r y l k a t r a n s l a t e <5 ,0 ,0 >

26 f i n i s h { r e f l e c t i o n . 7 5 }

27 pigment { c o l o r rgb < . 9 , . 5 , . 5 > }

28 }

29

30 o b j e c t { b r y l k a t r a n s l a t e <−5,0,−5>

31 f i n i s h { m e t a l l i c . 7 5 }

32 pigment { c o l o r rgb < . 9 , . 9 , . 5 > }

33 }

34 o b j e c t { b r y l k a t r a n s l a t e <0 ,0 ,−5 >

35 f i n i s h { b r i l l i a n c e . 7 5 }

Projekt współfinansowany przez Unie Europejska w ramach Europejskiego Funduszu Społecznego 50

Politechnika WarszawskaInstytut Elektrotechniki Teoretycznej

i Systemów Informacyjno-Pomiarowych

Page 51: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

36 pigment { c o l o r rgb < . 9 , . 5 , . 9 > }

37 }

38 o b j e c t { b r y l k a t r a n s l a t e <5 ,0 ,−5 >

39 f i n i s h { roughness . 7 5 }

40 pigment { c o l o r rgb < . 5 , . 9 , . 9 > }

41 }

W powyzszym przykładzie umieszczamy dwie płaszczyzny – tło sceny. Na scenie znajduje sie

szesc obiektów powstałych przez zsumowanie szescianu i sfery, nazwane „brylka”. Szesc obiektów

prezentuje rózne parametry materiału wybrane wewnatrz finish. Trzeba pamietac, ze czesto wykorzy-

stanie jedynie jednego parametru nie daje zadnego widocznego efektu i dlatego zazwyczaj nalezy je

ze soba łaczyc.

W prawym-tylnym rzedzie mamy granatowa bryłe o parametrze specular (zwierciadło) równym

1,0. Widac, ze odbija sie w niej wiecej swiatła niz w innych, jednak nie odbijaja sie same obiekty.

Nastepnie bryła zielona ma ustawiony parametr phong na 0,75. Jest to parametr charakterystyczny

dla cieniowania Phonga.

Kolejna bryła wyraznie odbija sasiednie obiekty, dzieki ustawieniu jej parametru reflection na

0,75. Im wyzsza wartosc, tym wieksze odbicie ale zarazem – mniej widoczna sama bryła. Stad chociaz

natezenie koloru ma takie samo jak wyzej omówione bryły granatowa i zielona, jest wyraznie od nich

„bledsza”.

W lewym-przednim rzedzie stoja trzy mniej atrakcyjne bryły, majace jednak istotne parametry:

metallic (metalicznosc), brilliance (połysk), roughness (chropowatosc). Chociaz wyraznych efektów

nie widac, to łaczac je z innymi ustawieniami i teksturami mozna uzyskac ciekawe, fotorealistyczne

efekty.

Projekt współfinansowany przez Unie Europejska w ramach Europejskiego Funduszu Społecznego 51

Politechnika WarszawskaInstytut Elektrotechniki Teoretycznej

i Systemów Informacyjno-Pomiarowych

Page 52: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

3. Elementy zaawansowane

Ostatnie cwiczenia dotycza wykorzystania deklaracji zmiennych, wyrazen warunkowych i petle. Zo-

stana zaprezentowane i przetestowane podstawy tworzenia animacji z ich uzyciem. Pokazany nizej

przykład ilustrujacy kilka bardziej zaawansowanych funkcy PovRaya jest nieco bardziej złozony od

poprzednich.

07.pov

1 # i n c l u d e " c o l o r s . i n c "

2 # i n c l u d e " t e x t u r e s . i n c "

3 # i n c l u d e " s t o n e s 1 . i n c "

4 # d e c l a r e picX =16; / / f o r m a t 16:9

5 # d e c l a r e picY =9;

6 # d e c l a r e h i r e s =1;

7 # d e c l a r e fogon =1;

8

9 g l o b a l _ s e t t i n g s { a m b i e n t _ l i g h t <1 ,1 ,1 >}

10

11 # i f ( fogon =1)

12 fog { d i s t a n c e 99 c o l o r rgbf < 0 . 9 , 0 . 9 , 0 . 9 , 0 . 9 9 >

13 t u r b u l e n c e . 5 turb_depth . 9 }

14 #end

15

16 camera{

17 l o c a t i o n <0 ,12 ,−100 >

18 l o o k _ a t <0 ,11 ,−60 >

19 ang le 45

Projekt współfinansowany przez Unie Europejska w ramach Europejskiego Funduszu Społecznego 52

Politechnika WarszawskaInstytut Elektrotechniki Teoretycznej

i Systemów Informacyjno-Pomiarowych

Page 53: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

20 r i g h t <picX / picY ,0 ,0 >

21 # i f ( h i r e s )

22 f o c a l _ p o i n t <0 ,11 ,−60 >

23 aper ture . 5

24 blur_samples 100

25 #end

26 }

27

28 l i g h t _ s o u r c e { <100 ,100 ,−100 > , rgb < . 9 , . 9 , . 9 >

29 p a r a l l e l p o i n t _ a t <0 ,0 ,2 > }

30

31 plane { y , −1

32 pigment { image_map{png " f l o o r " }

33 r o t a t e <90 ,0 ,0 > s c a l e 60}}

34 plane { z , 0

35 t e x t u r e { T_Grnt29 s c a l e 20 r o t a t e z ∗56}

36 r o t a t e x∗180 t r a n s l a t e x∗10 }

37

38 # d e c l a r e k u l k a = sphere { <0 ,0 ,0 > , 1}

39

40 # d e c l a r e ZFINISH=−60;

41 # whi l e ( ZFINISH <0)

42 # d e c l a r e FINISH =40;

43 # d e c l a r e X=0;

44 # whi le (X <= 2∗FINISH )

45 # d e c l a r e COLOR=−ZFINISH /40∗X / 4 0 / 2 . 0 ;

Projekt współfinansowany przez Unie Europejska w ramach Europejskiego Funduszu Społecznego 53

Politechnika WarszawskaInstytut Elektrotechniki Teoretycznej

i Systemów Informacyjno-Pomiarowych

Page 54: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

46 # d e c l a r e RED=1−COLOR;

47 # d e c l a r e GREEN=.5+COLOR;

48 # d e c l a r e BLUE= cos ( ( c l o c k ∗4+COLOR/ 4 . 0 ) ∗ 3 . 1 4 ∗ 2 ) ;

49 # d e c l a r e XPOS=X−FINISH ;

50 # d e c l a r e YPOS=10+10∗ s i n ( ( c l o c k +COLOR) ∗ 3 . 1 4 ∗ 8 ) ;

51 # d e c l a r e ZPOS=ZFINISH∗ s i n (X/ 8 0 ∗ 3 . 1 4 ) ;

52 o b j e c t { k u l k a t r a n s l a t e <XPOS, YPOS, ZPOS>

53 pigment {

54 c o l o r rgb <RED, GREEN, BLUE>

55 f i l t e r −ZFINISH / 6 0 ∗ . 9 }

56 f i n i s h {

57 r e f l e c t i o n −ZFINISH / 4 0 / 2

58 phong . 7 5

59 }

60 i n t e r i o r { i o r 1 . 5 }

61 }

62 # d e c l a r e X=X+2;

63 #end

64 # d e c l a r e ZFINISH=ZFINISH +12;

65 #end

Dzieki liniom 1-3 do skryptu zostaja dołaczone predefiniowane kolory, tekstury i niektóre ma-

teriały – w tym przypadku zestaw okreslajacy wyglad powierzchni takich z grupy „kamien”. Nie

wszystkie sa uzyte w kodzie i nie wszystkie dostepne sa tez pokazane. Warto spojrzec do instrukcji i

poszukac przykładów, by odnalezc pozadany wyglad.

Projekt współfinansowany przez Unie Europejska w ramach Europejskiego Funduszu Społecznego 54

Politechnika WarszawskaInstytut Elektrotechniki Teoretycznej

i Systemów Informacyjno-Pomiarowych

Page 55: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Rys. 7. Scena generowana proceduralnie.

Nastepnie w liniach 4-7 ustalane sa pewne stałe, które pózniej sa uzyte w kodzie. Dzieki nim

łatwo manipulowac parametrami generowanego obrazu. Obraz dla wartosci hires=0 i fogon=0 przed-

stawiony jest na rysunku 7.

Linia 9 to rzecz nowa w stosunku do poprzednich przykładów. Ustalamy tutaj globalne oswietle-

nie, co moze nie jest najbardziej naturalne, ale ułatwia prace ze scena.

Rys. 8. Wykorzystanie mgły.

Linie 11-14 to wyrazenie warunkowe, które zostanie zrealizowane tylko wtedy, gdy wartosc

zmiennej fogon bedzie równa 1. Wówczas zostanie na obraz nałozona szara, bardzo przezroczysta

Projekt współfinansowany przez Unie Europejska w ramach Europejskiego Funduszu Społecznego 55

Politechnika WarszawskaInstytut Elektrotechniki Teoretycznej

i Systemów Informacyjno-Pomiarowych

Page 56: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

mgła, pozwalajaca na zobaczenie obiektów w odległosci 99 od kamery. Ma ona pewne turbulencje,

które moga dodatkowo urealnic uzyskiwany efekt, który jest pokazany na rysunku 8.

Nastepnie w liniach 16-26 ustawiana jest kamera. Z nowych parametrów pojawia sie right, które

okresla proporcje obrazu. Dla ułatwienia korzystamy ze zmiennych ustawionych na poczatku kodu.

Rys. 9. Zasymulowana głebia ostrosci.

Jesli wartosc zmiennej hires ustawimy na 1, na obraz zostanie nałozony efekt głebi ostrosci. Okre-

slamy tutaj współrzedne punktu, w którym obraz jest ostry. Aperture, kształtuje głebie ostrosci a wiec

rozmycie obrazu w zaleznosci od odległosci wzgledem punktu zogniskowania. Wartosc parametru

blur_samples okresla jakosc renderowania. Im wieksza, tym dokładniej głebia ostrosci jest symulo-

wana. Taka głebia ostrosci zastepuje podstawowy antyaliasing jednak wielokrotnie wydłuza oblicze-

nia. Efekt mozna zobaczyc na rysunku 9.

Linie 28-29 to ustawienie swiatła, znane z poprzednich przykładów.

W liniach 31-33 mamy przygotowana „podłoge”, tak jak miało to miejsce w poprzednich przykła-

dach. Tutaj jednak mapujemy 1 na nia obrazek floor.png, obrócony o 90 stopni aby jego płaszczyzna

1Wiele osób niepoprawnie nazywa teksturowaniem mapowanie grafiki rastrowej na obiekt trójwymiarowy.

Projekt współfinansowany przez Unie Europejska w ramach Europejskiego Funduszu Społecznego 56

Politechnika WarszawskaInstytut Elektrotechniki Teoretycznej

i Systemów Informacyjno-Pomiarowych

Page 57: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

była równoległa do płaszczyzny na która jest nakładany i powiekszony 60 razy. Poniewaz jest to gra-

fika rastrowa2, pojawiaja sie charakterystyczne artefakty (zwane tez „zabkami” lub niepoprawnie –

„pikselami”).

Problem z jakoscia płaszczyzny poziomej nie dotyczy płaszczyzny pionowej, która jest pokryta

tekstura obliczana matematycznie a wiec mozliwa do dowolnego skalowania, bez utraty jakosci. Ko-

rzystamy tutaj ze standardowo dostepnej w PovRayu tekstury T_Grnt29, czyli „granitu”, z wczesniej

załaczonej biblioteki „stones1”. Oczywiscie mozna takie tekstury tworzyc samemu, jesli komus bi-

blioteka podstawowa nie wystarcza. Tekstury mozna tez łaczyc, nakładajac na obiekt kilka jednocze-

snie.

W tym miejscu trzeba zwrócic uwage, ze PovRay ma trudnosci z renderowaniem mgły w sytuacji,

gdy kamera znajduje sie w zamknietym obiekcie. Poniewaz płaszczyzna zamyka przestrzen, trzeba

ja obrócic o 180 stopni, tak aby kamera znalazła sie po jej własciwej stronie. Warto tez zauwazyc, ze

najpierw realizowany jest obrót wokół osi X a dopiero pózniej przesuniecie o 10 w kierunku osi Z

a wiec „w głab” ekranu.

W linii 38 przygotowany jest prosty obiekt, zwyczajna sfera o promieniu 1, nazwana „kulka”. Jest

ona wykorzystywana w realizowanych dalej petli umieszczajacych ja na ekranie wielokrotnie, by dac

ciekawy efekt.

Petle w PovRayu otwiera słowo kluczowe: while a zamyka: end. Wszystko co znajduje sie pomie-

dzy nimi bedzie realizowane tak długo, jak długo warunek podany w nawiasie za while bedzie speł-

niony. W linii 41 testowana jest wartosc zmiennej ZFINISH, która w linii 40 jest ustawiana na wartosc

-60. Dopóki ZFINISH jest mniejsze od 0, PovRay bedzie renderował kod az do słowa kluczowego

end. Aby realizowac petle trzeba modyfikowac wartosc zmiennej, od której zalezy jej wykonywanie.

Dlatego w linii 64 ZFINISH jest zwiekszane o 12. Mozna wiec wyliczyc, ze ta petla wykona sie piec

razy.

2Stworzona w programie GIMP.

Projekt współfinansowany przez Unie Europejska w ramach Europejskiego Funduszu Społecznego 57

Politechnika WarszawskaInstytut Elektrotechniki Teoretycznej

i Systemów Informacyjno-Pomiarowych

Page 58: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Petle mozna umieszczac w innych petlach. Od linii 44 do 63 mamy wewnetrzna petle, oparta o

zmienna X.

Zmienne na których bazuja petle mozna wykorzystac w parametrach obiektów. Na przykład pod-

czas ustalania połozenia, koloru, parametrów odbicia i innych istotnych cech. To własnie jest realizo-

wane miedzy liniami 45 a 51. PovRay udostepnia podstawowe operacje matematyczne – mozna wiec

skorzystac z funkcji takich jak sinus, na przykład po to, by na scenie umiescic kulke wielokrotnie,

w róznych miejscach. W przykładzie do tego słuza zmienne XPOS, YPOS, ZPOS.

W linii 45 ustawiana jest zmienna COLOR, bedaca bazowa dla składowych koloru, zapisanych

w zmiennych RED, GREEN oraz BLUE, dla umieszczanych na scenie sfer, Zmienna COLOR jest

uzalezniona od zmiennej X na której bazuje petla a wiec kolejne sfery beda miały rózne kolory.

Poniewaz zmienna X równiez wpływa na połozenie obiektu, zatem połozenie i kolor beda ze soba

powiazane.

W opisie pigmentu obiektu wykorzystany jest atrybut filter. Obiekt z ustawiona ta wartoscia fil-

truje swiatło jedyne w pewnym stopniu a wiec staje sie czesciowo przezroczysty. W połaczeniu z

kolorem daje to pewien efekt. W ramach finish mozna spowodowac by obiekt równiez odbijał swiatło

(reflection) oraz by został wycieniowany metoda Phonga. To jednak wciaz za mało by uzyskac szkło.

Do tego potrzebne jest okreslenie współczynnika załamania swiatła w obiekcie. Dla szkła ta wartosc

wynosi 1,5 i jest okreslona w parametrze interior – ior.

Scena wykorzystujaca zarówno rozmycie symulowanej głebi ostrosci oraz mgłe jest pokazana na

rysunku 10.

3.1. Animacja

W powyzszym opisie została pominieta zmienna clock. Słuzy ona do realizowania renderingu serii

obrazów. Po stworzeniu pliku z rozszerzeniem ini oraz uruchomieniu PovRaya z podaniem nazwy

Projekt współfinansowany przez Unie Europejska w ramach Europejskiego Funduszu Społecznego 58

Politechnika WarszawskaInstytut Elektrotechniki Teoretycznej

i Systemów Informacyjno-Pomiarowych

Page 59: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Rys. 10. Pełna scena z głebia ostrosci i mgła.

tego pliku, mozna uruchomic rendering serii. Plik ini dla sceny z poprzedniego przykładu jest przed-

stawiony na ponizszym listingu.

07.ini

1 Inpu t_F i l e_Name =07 . pov

2

3 I n i t i a l _ C l o c k =0.000

4 Fina l_CLock =1.000

5

6 I n i t i a l _ F r a m e =1

7 Fina l_F rame =50

8

9 +KC ; c y c l i c a n i m a t i o n ON

10

11 J i t t e r = o f f

12

13 ; A n t i a l i a s =On

14 ; A n t i a l i a s _ T h r e s h o l d =0 .3

Projekt współfinansowany przez Unie Europejska w ramach Europejskiego Funduszu Społecznego 59

Politechnika WarszawskaInstytut Elektrotechniki Teoretycznej

i Systemów Informacyjno-Pomiarowych

Page 60: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

15 ; A n t i a l i a s _ D e p t h =3

16

17 Width =800 ; w i d e s c r e e n 16 :9

18 He ig h t =450

Na podstawie tego pliku PovRay bedzie renderował plik 07.pov 50 razy. Wartosc zmiennej clock

bedzie jednostajnie zwiekszana w kolejnych klatkach poczawszy od 0,0 dla klatki pierwszej az do

1,0 dla ostatniej. Obrazki beda miały rozdzielczosc 800 na 450 pikseli, czyli beda formatu 16:9, co

jest zgodne z ustawieniami kamery w pliku 07.pov. Opcje antyaliasingu sa zakomentowane, gdyz plik

07.pov moze korzystac z rozmycia symulowanej głebi ostrosci.

Wygenerowanie kilkudziesieciu klatek takiej animacji nawet na szybkim komputerze jest cza-

sochłonne. Nastepnie obrazki trzeba połaczyc w film na przykład z uzyciem programu ffmpeg. Po-

niewaz wykracza to poza zakres cwiczenia, temat pozostaje otwarty. Efekt w postaci własnorecznie

stworzonej tej lub podobnej animacji moze przyniesc wiele satysfakcji.

4. Przykładowe zadania

Prowadzacy w trakcie zajec moze przedstawic zadania do samodzielnego wykonania. Oto kilka pro-

ponowanych tematów:

• Ozdoby swiateczne – bombka choinkowa

• Wystrój mieszkania – drewniany zegar

• Narzedzia – klucz oczkowy

• Architektura – marmurowa kolumna

Projekt współfinansowany przez Unie Europejska w ramach Europejskiego Funduszu Społecznego 60

Politechnika WarszawskaInstytut Elektrotechniki Teoretycznej

i Systemów Informacyjno-Pomiarowych

Page 61: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

61Politechnika Warszawska

Instytut Elektrotechniki Teoretycznej i Systemów Informacyjno Pomiarowych

VI. Przetwarzanie obrazów ruchomych

opracował Andrzej Majkowski

Zakres ćwiczenia obejmuje: komputerowy, nieliniowy montaż filmów, efekty specjalne stosowane przy montażu filmów, przekodowywanie materiału wideo do różnych formatów, authoring DVD.

1. Pozyskiwanie materiału wideo

Celem tej części ćwiczenia jest zapoznanie studentów z technikami przygotowywania

materiału filmowego. Jest to jednocześnie pierwszy etap przygotowania własnego filmu.

Studenci w trakcie ćwiczenia zostaną zapoznani z możliwościami pakietu do nieliniowej edycji materiału wizyjnego Pinnacle Studio oraz Adobe Premiere Elements. Oba programy stanowią kompletny zestaw narzędzi do cięcia, edycji, miksowania materiałów audio i wideo. Pakiety te umożliwiają dodawanie różnorodnych efektów specjalnych i innych elementów umożliwiających zaawansowaną edycję i montaż materiału wizyjnego.

Pinnacle Studio to program komputerowy do domowej obróbki wideo wyprodukowany

przez Pinnacle Systems Inc. Posiada funkcję dodawania napisów, efektów dźwiękowych, komentarzy i efektów specjalnych. Obsługuje większość znanych formatów, wraz z HD. Ma funkcję przechwytywania filmów wideo ze źródeł cyfrowych (format miniDV, Digital8 lub MicroDV) - kamer HDV, telefonów komórkowych, ze źródeł analogowych (format VHS, SVHS, VHS-C lub SVHS-C). Po zainstalowaniu dodatkowej karty możliwe są import i edycja materiału wideo bezpośrednio w formacie MPEG-2 lub MPEG-4. Pinnacle Studio daje możliwość edycji poklatkowej oraz zapisu na płytach blue-ray.

Adobe Premiere Elements jest aplikacją do nieliniowej pracy nad materiałami wideo. Umożliwia montaż i obróbkę materiału audio-wideo, zarówno wysokiej, jak i niskiej rozdzielczości. Posiada typowe dla swojej klasy oprogramowania funkcje, takie jak: moduł do przechwytywania materiału wideo z kamer i magnetowidów, korektor koloru, mikser dźwięku surround, kluczowanie oraz zaawansowany moduł eksportu. Adobe Premiere Elements współpracuje z szeregiem kart wideo, które rozszerzają możliwości pracy programu w czasie rzeczywistym oraz sterownikami do kontroli funkcjami programu.

Mimo, że na rynku oprogramowania istnieje wiele programów dedykowanych do montażu

nieliniowego, wszystkie mają podobny charakter. Wyglądają one jak wirtualne studio montażowe, ze stołem montażowym, oknem z materiałami filmowymi oraz innymi elementami niezbędnymi w pracy montażysty. Cały proces wykonywany jest z wykorzystaniem technologii drag and drop, dzięki temu użytkownik w prosty sposób może "wyciągać" z wirtualnej biblioteki materiałów wizyjnych pliki wideo i układać je na wirtualnym stole montażowym. Pinnacle Studio, czy Adobe Premiere Elements oferują

Page 62: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

62Politechnika Warszawska

Instytut Elektrotechniki Teoretycznej i Systemów Informacyjno Pomiarowych

niemal wszystko to, co powinno być wykonywane przez program do cyfrowego montażu nieliniowego, czyli edycję obrazu wideo, obsługę kodów czasowych, synchronizację dźwięku i obrazu. W skład pakietów wchodzą również m.in. biblioteka efektów przejścia oraz biblioteka filtrów obrazu wideo. W zasadzie wszystkie zintegrowane pakiety programowe do nieliniowego montażu wideo oferują te same opcje. Różnice mogą pojawić się w interfejsie komunikacji z użytkownikiem, tzn. poszczególne programy mogą być trochę inaczej obsługiwane. Z dwóch wymienionych pakiet Pinnacle Studio może się wydawać początkującemu użytkownikowi łatwiejszy do opanowania.

Cyfrowa edycja materiału wideo kojarzy się zwykle z drogimi i skomplikowanymi

aplikacjami, wymagającymi potężnych komputerów. Warto tu wspomnieć, że istnieje edytor filmów Windows Movie Maker. Jest to bardzo prosty edytor o mocno ograniczonych możliwościach, ale za jest to program typu freeware, co oznacza, że można go darmowo pobrać z Internetu. Po raz pierwszy został on dołączony do systemu operacyjnego Windows ME. W wielu przypadkach opcje jakich dostarcza edytor są wystarczające. Należą do nich: dzielenie filmu na klipy czy dodawanie komentarza audio lub też łączenie obrazów tak aby były w jednym ciągu. Aplikacja pozwala na szybkie zmontowanie cyfrowego filmu, udźwiękowienie go i zapisanie na płycie DVD, taśmie wideo lub dysku twardym komputera. Pliki zapisywane są w formacie Windows Media Video (.wmv).

Na wstępie należy się zapoznać ze sprzętem. Szczególną uwagę należy zwrócić na sposób

obsługi i funkcje kamer cyfrowych. Na uwagę zasługuje system 3xCCD, czyli potrójna matryca CCD, pozwalającą na rejestrowanie najwyższej jakości obrazów w doskonałej rozdzielczości. Podstawą technologii zawartej w przetwornikach obrazu 3CCD jest pryzmat, który rozszczepia światło na trzy podstawowe kolory RGB (niebieski, czerwony i zielony). W ten sposób każdy z przetworników analizuje osobno odpowiednią barwę, wpływając na dokładność nagrywanego obrazu. Jest to więc analiza trójprzetwornikowa.

Na etapie przygotowania materiału filmowego gromadzimy różne media: pliki, które będą

później elementami montowanego filmu: grafiki, dźwięki i klipy filmowe. Na tym etapie najpierw należy przygotować własną koncepcją krótkiego filmu do montażu. Film będzie montowany z różnych elementów dlatego należy przygotować: materiał filmowy nagrany różnymi kamerami, własne komentarze nagrane przy użyciu oddzielnych mikrofonów, zdjęcia wykonane aparatem cyfrowym. Wszystkie te elementy mogą być zapisywane w różnych formatach. Później będą one łączone w jeden film.

Każdy zespół powinien na tym etapie mieć: • przygotowaną koncepcję własnego krótkiego filmu do montażu (bez użycia komputera

należy zastanowić się, zapisać co się chce przedstawić), • skompletowane klipy filmowe nagrane kamerami pracującymi w standardzie miniDV,

kamerami internetowymi i ewentualnie nagrane przy użyciu telefonu komórkowego z opcję rejestracji wideo,

• zdjęcia, które mają być później ilustracją do filmu (np. plansze tytułowe, przerywniki), • muzykę mogącą służyć za podkład do scen w filmie.

Page 63: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

63Politechnika Warszawska

Instytut Elektrotechniki Teoretycznej i Systemów Informacyjno Pomiarowych

2. Zgrywanie sekwencji wizyjnej

Pierwszą czynnością, od której rozpoczyna się każdy montaż nieliniowy, jest przeniesienie zapisanego materiału wideo z kasety na twardy dysk komputera określane potocznie przechwytywaniem. Celem tego ćwiczenia jest zapoznanie studentów z metodami zgrywania sekwencji wizyjnej na dysk komputera.

W przypadku kart analogowych proces przechwytywania materiału wideo często nazywany jest digitalizacją. Analogowy materiał wideo zostaje poddany skomplikowanemu procesowi, podczas którego zamieniany jest z postaci analogowej na cyfrową. Istotnym czynnikiem decydującym o jakości digitalizowanego materiału wideo jest rodzaj algorytmu oraz stopień kompresji, im wyższy, tym jakość obrazu jest gorsza. Najczęściej stosowanymi algorytmami kompresji w kartach analogowych są Motion JPEG, MPEG-2. Większość kart analogowych podczas przechwytywania umożliwia regulację podstawowych parametrów obrazu i dźwięku: jasności, kontrastu, nasycenia kolorów, ostrości oraz poziomu głośności dźwięku.

W przypadku kart cyfrowych podczas przechwytywania następuje jedynie cyfrowe kopiowanie skompresowanego materiału wideo z kasety na dysk. Warto dodać, że kamera cyfrowa już w trakcie filmowania, aby zmniejszyć strumień danych, kompresuje obraz. Przyjętym standardem jest DV. W tym przypadku, trakcie przechwytywania nie można regulować jakichkolwiek parametrów zarówno obrazu, jak i dźwięku. Niezaprzeczalną zaletą formatu DV jest zachowanie niezmiennie wysokiej jakości, począwszy od rejestracji, poprzez przechwytywanie, edycję, aż po końcowy zapis. Dla porównania - każde analogowe przechwytywanie, edycja, zapis i kopiowanie stale obniżają jakość.

Materiał wideo możemy przechwytywać jako duże partie materiału lub używając listy cięć wybranych przez nas ujęć. Rozwinięciem tej metody jest tzw. skanowanie taśmy, podczas którego automatycznie zostają wyszukane wszystkie zmiany kodu czasowego powstałe na taśmie w wyniku zatrzymania procesu nagrywania (przez naciśnięcie przycisku Stop lub Pause). W rezultacie uzyskujemy gotową listę cięć, według której można automatycznie przechwycić materiał wideo podzielony na poszczególne ujęcia. Taki sposób przechwytywania umożliwiają również pakiety Pinnacle Studio i Adobe Premiere Elements.

Pakiety Pinnacle Studio i Adobe Premiere Elements umożliwiają zgrywanie materiału filmowego zarówno bezpośrednio z cyfrowej kamery DV jak i ze źródła analogowego za pomocą analogowej karty przechwytującej. Ponieważ dysponujemy nagraniami cyfrowymi będziemy korzystać z pierwszej opcji. Zazwyczaj istnieje możliwość zapisania materiału w postaci pliku AVI (format DV) jak i zgranie materiału bezpośrednio do formatu MPEG lub WMV. W naszym przypadku zgrywamy materiał do pliku .avi z kompresją DV. Zwykle do zgrywania materiału lepiej jest wykorzystywać magistralę FireWire niż USB. FireWire jest powszechnie używany do łączenia kamer wideo i urządzeń pamięci masowej. Stosuje się go zamiast popularniejszego USB z powodu większej szybkości transmisji (prędkość nie zależy od wielkości plików jak przy USB). Nie ma również konieczności wysyłania sygnałów potwierdzających aktywność urządzenia po drugiej stronie (co czyni USB nieefektywnym dla profesjonalnej obróbki wideo).

Page 64: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

64Politechnika Warszawska

Instytut Elektrotechniki Teoretycznej i Systemów Informacyjno Pomiarowych

Problemem przy przechwytywaniu może być też duża wielkość plików. Pakiety programowe, jak Pinnacle Studio, nie zawsze dobrze radzą sobie z dużymi plikami. Dlatego wygodnie jest na etapie przechwytywania podzielić plik wideo na mniejsze części. Takie pliki jest dużo łatwiej przetwarzać i przechowywać.

Na etapie zgrywania sekwencji wizyjnej każdy zespół powinien:

• zapoznać się z metodami łączenia poszczególnych urządzeń (kamery, aparat fotograficzny, cyfrowy aparat fotograficzny, mikrofony i wzmacniacze mikrofonowe z komputerem,

• zapoznać się z metodami, magistralami umożliwiającymi skopiowanie materiałów multimedialnych na dysk komputera (FireWire i USB),

• zapoznać się z zasadą działania i podstawowymi funkcjami programu i pakietu oprogramowania Pinnacle Studio i Adobe Premiere Elements,

• przygotować materiały do montażu

‐ materiały własne przechwycone z kamery przy użyciu programu Pinnacle Studio,

‐ materiały własne przechwycone z kamery internetowej lub telefonu komórkowego,

‐ zdjęcia cyfrowe,

‐ gotowe przykładowe sekwencje wizyjne,

• przygotować dodatkowe materiały graficzne (np. plansze, napisy),

• jeszcze raz przemyśleć koncepcję własnego krótkiego filmu do montażu (bez użycia komputera, należy zastanowić się, co chcemy zamieścić w filmie, które materiały będą użyte, a które nie).

3. Edycja sekwencji wizyjnej oraz eksport materiału wideo do formatu MPEG-2 Edycja sekwencji wizyjnej jest bez wątpienia najważniejszym procesem każdego montażu

materiału wideo. To właśnie dzięki niej mamy możliwość uporządkowania często chaotycznie zarejestrowanych ujęć. Wykorzystując możliwości montażu nieliniowego, możemy znacznie uatrakcyjnić i ożywić niezbyt ciekawe nagrania. Podstawowymi zabiegami edycyjnymi są precyzyjne docinanie, kopiowanie i układanie poszczególnych ujęć w żądanej kolejności. Ponadto możliwe jest tworzenie stop-klatek, regulacja tempa oraz kierunku odtwarzania klipu wideo. Wszystkie programy edycyjne wyposażone są w ścieżki wideo i audio, oś lub linię czasu oraz podstawowe narzędzia edycyjne. Nasze edytowane ujęcia umieszczane są na poszczególnych ścieżkach wideo i audio. Podstawową operacją przeprowadzaną podczas edycji jest cięcie, które ma wyodrębnić poszczególne ujęcia z materiału wideo. Do tego celu używamy zazwyczaj wirtualnych "nożyczek". Precyzyjne dobieranie początku i końca ujęcia możliwe jest również dzięki zastosowaniu znaczników wejścia i wyjścia. W niektórych programach dostępna jest opcja trymowania, która w precyzyjny sposób kontroluje i jednocześnie obserwuje proces przycinania ujęcia. Stop-klatki w montowanym materiale wideo można uzyskać na dwa sposoby. Pierwszym z nich jest zaimportowanie do programu montażowego klatki w postaci pliku graficznego np. BMP, TIFF, JPEG, jak również ustawienie jej bezpośrednio z ujęcia umieszczonego na ścieżce

Page 65: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

65Politechnika Warszawska

Instytut Elektrotechniki Teoretycznej i Systemów Informacyjno Pomiarowych

wideo. Zmiana tempa odtwarzanego materiału wideo wpływa na zwolnienie lub przyśpieszenie akcji filmu, natomiast zmianę kierunku odtwarzania możemy zastosować w celu uzyskania efektu specjalnego. Oprócz możliwości odpowiedniego przycięcia sekwencji na tym etapie możemy rozjaśnić bądź przyciemnić sekwencję wideo lub też zastosować różnego rodzaju filtry.

Wszystkie programy do obróbki wideo, w tym Pinnacle Studio, na etapie edycji oferują dwa tryby pracy: Storyboard i Timeline. Tryb Storyboard jest najszybszą i najprostszą metodą dodawania klipów do tworzonego właśnie filmu, poprzez zastosowanie przenoszenia poszczególnych sekwencji. W trybie tym każdy obrazek reprezentuje pojedyncze zdarzenie w edytowanym filmie. Istnieje możliwość przenoszenia żądanych klipów filmowych i umieszczania ich w założonym miejscu. Dodatkowo pomiędzy klipami można dołączyć różne efekty przejścia. Tryb Timeline pozwala na dokładne dopasowywanie efektów i edycję materiału. W trybie tym pokazywane jest dokładnie chronologia pojawiania się poszczególnych elementów filmu na poszczególnych ścieżkach. Klipy filmowe w tym trybie są mogą być przenoszone z bibliotek na odpowiednie ścieżki i są wyświetlane jako krótkie sekwencje. Elementy edycji klipów filmowych obejmują:

• dodawanie klipu filmowego do ścieżki

• przycinanie klipu filmowego

• podział klipu filmowego na segmenty

• podział na sceny

• ekstrakcję materiału

• korzystanie z filtrów

3.1. Efekty specjalne

Obecnie każdy program edycyjny ma różnego rodzaju efekty specjalne, które możemy

podzielić na: efekty przejść (miksy), filtry obrazu, kluczowanie obrazu, nakładanie obrazu oraz wprowadzanie napisów. Z efektów przejść korzystamy w sytuacji, gdy zamierzamy w atrakcyjny sposób połączyć ze sobą dwa różne ujęcia. Generalnie, efekty przejść można podzielić na dwuwymiarowe (2D) i trójwymiarowe (3D). Najprostszymi efektami dwumiarowymi są przenikania obrazu (miksy) oraz tzw. kurtynki, natomiast efekty trójwymiarowe najczęściej kojarzone są z efektem odwijanej kartki lub transformacji obrazu w trójwymiarową bryłę. Rodzaj oraz liczba efektów przejść zależne są od klasy i typu programu edycyjnego.

Filtry obrazu mogą spełniać rozmaite funkcje. Pierwszą z nich jest korekcja parametrów

obrazu. Do tego celu przeznaczone są filtry regulujące balans kolorów (RGB), jasność, kontrast, nasycenie itp. Drugą z nich jest wprowadzanie prostych efektów, takich jak odwracanie obrazu w pionie i poziomie, docinanie itp. Natomiast trzecią z nich jest wprowadzanie efektów specjalnych: rozmycia, wyostrzenia, płaskorzeźby, kalejdoskopu, fali, deformacji, efektów świetlnych itp.

Page 66: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

66Politechnika Warszawska

Instytut Elektrotechniki Teoretycznej i Systemów Informacyjno Pomiarowych

Kolejny efekt kluczowania w uproszczeniu polega na usunięciu z obrazu wideo pewnych obszarów charakteryzujących się wspólnymi cechami (np. kolorem, jasnością itp.) i nadaniu im przezroczystości. Dzięki kluczowaniu uzyskujemy możliwość nakładania na siebie poszczególnych warstw z kolejnymi obrazami wideo lub grafiką. Najczęściej stosowanymi rodzajami kluczy są:

• color key - usuwanie obszarów o określonym kolorze,

• chroma key - usuwanie obszarów o określonym kolorze wraz z jego odcieniami (działa dużo precyzyjniej od color key, ponieważ uwzględnia poziom nasycenia koloru),

• luma key - usuwanie obszarów jedynie o określonym poziomie jasności,

• blue screen - usuwanie niebieskich obszarów (często zamiast koloru niebieskiego używa się koloru zielonego oraz klucza green screen) - są to najczęściej stosowane klucze używane do usunięcia tła za filmowaną postacią, np. spikerem w wiadomościach lub prognozie pogody,

• alpha channel - usuwanie obszarów zdefiniowanych specjalną maską zapisaną w dodatkowym kanale alfa.

Niestety często się zdarza, że efekty dalekie są od ideału. Wynika to z trudności w uzyskaniu jednolitych obszarów obrazu, które mogłyby być precyzyjnie usunięte. Profesjonalne rozwiązania posługują się specjalnie przygotowywanymi maskami umożliwiającymi bardzo precyzyjne kluczowanie.

3.2. Nakładanie scen

Kolejnym efektem jest nakładanie obrazu. Mamy tu do czynienia z efektami powstałymi w

wyniku nałożenia na obraz wideo jednego lub więcej często zmienionych cyfrowo obrazów pochodzących z plików wideo lub plików graficznych. Dobrym tego przykładem mogą być efekty typu obraz w obrazie (ang. PIP - Picture In Picture). Zmiany mogą dotyczyć zarówno wielkości, jak i kształtu nakładanego obrazu, który dodatkowo może być statyczny lub ruchomy. Wprowadzanie napisów jest efektem polegającym na nałożeniu na obraz wideo przede wszystkim napisów, ale również grafik lub małych animacji. Nakładanie napisów jest możliwe dzięki towarzyszącemu mu nieodłącznie efektowi kluczowania (najczęściej alpha channel). Napisy mogą być zarówno statyczne, jak i dynamiczne. Większość programów do montażu wideo ma wbudowane proste funkcje do tworzenia napisów, jednak oferują one jedynie podstawowe możliwości.

Bardzo ważnym elementem każdego filmu jest ekran tytułowy oraz ekran z napisami końcowymi. Aby stworzyć napisy, które mają być potem wykorzystane przy sekwencji początkowej lub końcowej, należy wybrać ramkę, do której dodawać chcemy napisy tytułowe. Następnie tworzymy napis tytułowy. Do tekstu można dodać efekty, np. napisy przewijane, napisy zanikające, inne efekty animacji.

Na etapie edycji wideo każdy zespół powinien:

• dokonać montażu wideo z zastosowaniem kroków przedstawionych w punkcie 3.1 i 3.2 niniejszej instrukcji.

Page 67: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

67Politechnika Warszawska

Instytut Elektrotechniki Teoretycznej i Systemów Informacyjno Pomiarowych

3.3. Dodawanie ścieżki dźwiękowej Produkcja materiału wizyjnego nie obędzie się bez dodatkowej ścieżki audio. W pakietach

Pinnacle Studio i Adobe Premiere Elements możliwe jest zarówno nagrywanie własnej narracji oraz zgrywanie muzyki z płyt CD do pliku typu wav. Istnieje również możliwość dodawania zewnętrznych plików dźwiękowych.

Podobnie jak obraz wideo, również dźwięk może być poddawany rozmaitym zabiegom edycyjnym. Podstawową operacją wykonywaną na ścieżkach audio jest ustawianie żądanego poziomu dźwięku. Ustawień dokonuje się za pomocą krzywych z obwiedniami opisującymi żądany poziom dźwięku. Warto tu zauważyć, że przy użyciu wspomnianych wcześniej efektów przejść również konieczna jest regulacja głośności zachodzących na siebie materiałów audio, co jest niezbędne do płynnego przejścia dźwięku z jednego materiału do drugiego. Do niedawna ustawiało się to ręcznie, natomiast obecnie większość dostępnych na rynku programów ma do tego specjalne narzędzia. Dodatkowo w zaawansowanych programach dostępna jest również regulacja panoramy dźwięku, umożliwiająca precyzyjne balansowanie i ustawianie dźwięku w kanałach.

Dodatkowe efekty dostępne są dzięki specjalnym filtrom dźwięku, które możemy podzielić na dwie grupy: do korekcji dźwięku (korekcja pasma, barwy itp.) oraz do tworzenia efektów specjalnych (pogłosu, echa itp.). Wiele programów ma rozbudowane korektory do precyzyjnego ustawienia żądanej barwy dźwięku. Na etapie dodawania dodatkowej ścieżki dźwiękowej do wideo (punkt 3.3) każdy zespół powinien wykonać następujące operacje:

• nagranie własnej narracji, • zgrywanie muzyki z płyty CD, • dodawanie zewnętrznych plików dźwiękowych, • przycinanie plików dźwiękowych, • dodawanie efektów wyciszania dźwięków.

4. Eksport materiału wideo do formatu MPEG-2

W tej części ćwiczenia studenci zostaną zapoznani z metodami przygotowywania

materiału do authoringu i nagrania płyty DVD. Program Pinnacle Studio i Adobe Premiere Elements stanowią kompletne zestawy narzędzi umożliwiających tworzenie własnych płyt DVD. Proces ten obejmuje następujące elementy, z którymi studenci zostaną zapoznani:

a) konwersja plików AVI do odpowiednich formatów zgodnych ze standardami zapisu płyt DVD

b) budowanie menu scen (authoring) c) nagrywanie przygotowanych materiałów na nośnik

Dodatkowo istnieje możliwość korzystania z wielu innych, dodatkowych możliwości oferowanych przez program, takich jak:

a) załączanie różnorodnych dodatkowych danych w różnych formatach, b) import gotowych materiałów w formacie VOB lub MPG,

Page 68: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

68Politechnika Warszawska

Instytut Elektrotechniki Teoretycznej i Systemów Informacyjno Pomiarowych

c) dodawanie pokazu slajdów, d) automatyczne transkodowanie (najpierw tworzenie menu, potem konwersja).

DVD authoring to tworzenie interfejsów płyt DVD, których zawartość można wyświetlać

w komputerze osobistym lub odbiorniku telewizyjnym. Opracowany w trakcie edycji interfejs jest narzędziem do sterowania zawartością płyty. Podczas authoring'u wykonywane są następujące czynności:

• zapisanie do postaci cyfrowej obrazu i dźwięku,

• zakodowanie do MPEG-2 obrazu,

• zakodowanie do Dolby Digital lub DTS lub MPEG Audio lub LPCM dźwięku,

• wykonanie projektu graficznego do interfejsu,

• połączenie wszystkich elementów audio-wideo odpowiednimi linkami w celu zapewnienia współpracy z użytkownikiem,

• sformatowanie obrazu płyty,

• zapisanie tego obrazu na odpowiednim nośniku (np. DVD, dysk twardy) .

Przygotowanie materiału wizyjnego do nagrania na płycie DVD składa się z kilku etapów. Pierwszy etap to zaplanowanie zawartości płyty. Konieczne jest zastanowienie się nad

ilością i standardem zapisu ścieżek dźwiękowych, stosowaniem elementów interaktywnych oraz różnymi wersjami językowymi. W etapie planowania konieczne jest również zaplanowanie elementów oraz formy menu. Etap tworzenia menu to wykorzystanie najczęściej gotowego szablonu, który można oczywiście modyfikować. Niektóre programy pozwalają całkowicie przemodelować szablon, zmieniając układ ikon dla rozdziałów, czcionkę w napisach czy tło. Kolejnym etapem jest odpowiedni montaż oraz kompresja wszystkich materiałów, które chcemy wykorzystać do nagrania płyty. Mowa tu przede wszystkim o materiale wizyjnym, ale również o przygotowaniu ścieżek dźwiękowych. Ostatnim etapem jest proces authoringu. Termin ten oznacza wszystkie procesy, jakie muszą być zrealizowane po zakodowaniu dźwięku i obrazu, a przed otrzymaniem końcowego produktu. Etap ten polega na połączeniu ze sobą obrazu i wszystkich ścieżek dźwiękowych, podpisów do dialogów, stworzeniu menu oraz podziału na sceny. Korzystając z programu Pinnacle Studio i Adobe Premiere Elements większość tych operacji wykowywane jest automatycznie.

Końcowy etap to etap generowania aplikacji - wypalanie płyty z gotową aplikacją. W

przypadku VCD i SVCD można od razu nagrać płytę albo tylko utworzyć obraz płyty na dysku twardym do późniejszego wypalenia. W przypadku DVD można dodatkowo utworzyć foldery DVD na dysku, które mogą być uruchamiane przez odtwarzacze DVD, jak np. PowerDVD czy WinDVD. W zależności od karty oraz sprzętu wideo możliwy jest zapis w wielu formatach i standardach. Najczęściej stosowanymi są Video-CD, Super Video-CD oraz DVD-Video. W tym przypadku podstawą jest eksport materiału wideo wykorzystujący kodery formatu MPEG (dla Video-CD jest to MPEG-1, natomiast dla Super Video-CD i DVD-Video jest to MPEG-2). Wiele programów edycyjnych standardowo zostało wyposażonych w obsługę tych formatów, a w przypadku ich braku zawsze istnieje możliwość zainstalowania wtyczek.

Page 69: Instrukcje do ćwiczeń

POLITECHNIKA WARSZAWSKA

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

69Politechnika Warszawska

Instytut Elektrotechniki Teoretycznej i Systemów Informacyjno Pomiarowych

Na etapie eksportu materiału wideo do formatu MPEG-2 każdy zespół powinien wykonać

następujące operacje: zapoznać się z zasadą działania i podstawowymi funkcjami programu Pinnacle Studio i

Adobe Premiere Elements dotyczącymi authoringu,

na podstawie założeń przedstawionych podczas ćwiczenia przez prowadzącego przygotować koncepcję tworzonej płyty,

przeprowadzić konwersję wykorzystywanych materiałów do formatu MPEG-2,

nagrać gotowy materiał filmowy na dysk komputera lub płytę DVD.

5. Opracowanie wyników pracy

Efektem pierwszego etapu pracy powinien być gotowy zmontowany film ze wszystkimi

niezbędnymi elementami. Do filmu należy dołączyć krótkie sprawozdanie, które powinno zawierać:

1. Krótką koncepcja filmu. 2. Spis wykorzystanych materiałów wizyjnych, dźwiękowych, graficznych, ... 3. Spis wykorzystanych efektów specjalnych. 4. Poszczególne wykonane kroki montażu materiału.

Efektem finalnym pracy powinna być przygotowana, a następnie wypalona płyta DVD z odpowiednim materiałem. W sprawozdaniu należy umieścić następujące informacje:

1. Sposób konwersji materiału wideo. 2. Sposób tworzenia menu (authoring). 3. Poszczególne kroki przygotowywania płyty DVD.