119
Tajemnica sukcesu (kilkunastokrotne skrócenie czasu pracy) nic leży zwykle w nowym rewolucyjnym podejściu do tematu. O wiele istotniejsze jes1 sprytne rozdzielenie zmiennych, tak by wykorzystać możliwości wspomnianego przetwarzania równoległego.
Skuteczność działania rozkazów MMX na danych typu video można najłatwiej zademonstrować na przykładzie tzw. Chroma Keying. W telewizji stosowany jest często mikser trickowy zwany BIuc-Box, dzięki któremu prezenter przedstawiany jest na tle mapy pogody. W rzeczywistości postać prezentera występuje na tle jednorodnej planszy (najczęściej w kolorze niebieskim, stąd nazwa miksera).
Pierwszym zadaniem komputera jest wytworzenie maski stanowiącej obrys postaci pierwszoplanowej. Przy pomocy maski wycina się we właściwym tle pustą przestrzeń, w którą wklejany jest obraz prezentera (rysunek 2.4).
Otoekt na ile niebieskim
Tlo docelowe
i ■ 1 J |
. 1 . |
: |
III |
7T7 | |
1 1 J 1 L |
1 i 1 | |
t li |
1 . |
1 |
1 . 1 |
| | |
! 1 1 |
J | |
i i | ||
T-t-r- |
Obiekt na ile docelowym
Algorytm przetwarza po cztery' pikslc jednocześnie (przy kolorach 16-bitowych) Dla wymodelowania maski wystarczy pojedynczy rozkaz PCMPEQW, który porównuje kolejne punkty obrazu (postać na niebieskim tle) z wzorcem koloru niebieskiego. Produktem wyjściowym jest dwu wartościowa mapa bitowa: w punktach tła instrukcja porównania zwraca Oxffff a w pozostałych (postać) 0xU0U().
Tak uzyskana maska jest produktem pośrednim, i służy do dwóch kolejnych operacji: instrukcją pand wycina się otwór w obrazie drugoplanowym (w naszym przykładzie mapa pogody) a rozkaz pandn izoluje samą postać prezentera. Tc dwie części składowe montowane są w jedną całość pr/y pomocy instrukcji POR.