Pakatun videovuon purkaminen grafiikkaprosessorin avulla
Laatu, Ville (2019)
Laatu, Ville
2019
Tietotekniikka
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2019-03-07
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tty-201812192876
https://urn.fi/URN:NBN:fi:tty-201812192876
Tiivistelmä
Tämän diplomityön tarkoituksena on parantaa Liikenneviraston uuden integroidun tieliikenteen ohjausjärjestelmän suorituskykyä yhdessä sen osa-alueista. Järjestelmä on hyvin laaja ja sen kehittäminen on aloitettu jo vuonna 2013 moniasiakasprojektina. Järjestelmän tarkoituksena oli sulattaa aiemmin käytössä olevat yli 40 erilaista järjestelmää yhdeksi suureksi kokonaisuudeksi. Kyseinen järjestelmä on ollut tuotantokäytössä jo vuodesta 2015 lähtien, mutta laajuutensa myötä se on vieläkin aktiivisessa kehitysvaiheessa.
Työssä tarkasteltava kokonaisuus liittyy Suomen tieliikenteen keli- ja tiekameroihin, joista järjestelmään saadaan reaaliaikaista videokuvaa. Nykyään teknologian kehittyessä, myös näitä kameroita on alettu uusimaan, jolloin niistä saadaan entistäkin tarkempaa videokuvaa toistettavaksi. Tällä on haittapuolensa, sillä parempilaatuisen kuvan purkamisesta katsottavaan muotoon syntyy suurempi kuormitus.
Aiemmin näitä videovoita on toistettu VLC multimediasoittimen avulla, joka tarjoaa mahdollisuuden laitteistokiihdytyksen käyttämiseen, eli videovuon purkamiseen grafiikkaprosessoria hyväksikäyttäen. Ongelmana on kuitenkin se, että VLC ei mahdollista grafiikkaprosessorin valintaa itse, vaan oletuksena se valitsee aina purkamiseen sen grafiikkaprosessorin, joka on liitettynä näyttöpäätteeseen. Työn tarkoituksena onkin löytää keino, kuinka tätä kuormaa voitaisiin jatkossa jakaa usealle grafiikkaprosessorille suoritettavaksi.
Ratkaisu tähän ongelmaan löytyi DirectX ohjelmointirajapinnasta, jonka avulla Windows käyttöjärjestelmän alaisuudessa pyörivää laitteistoa voidaan käsitellä. Ohjelmointirajapinta mahdollistaa kaikkien grafiikkaprosessoreiden tunnistamisen sekä enumeroinnin, jotka ovat kytkettynä alla olevaan laitteistoon. Näiden toimintojen avulla voidaan aina valita haluttu grafiikkaprosessori, jolla videovuo tullaan purkamaan.
Työssä tarkasteltava kokonaisuus liittyy Suomen tieliikenteen keli- ja tiekameroihin, joista järjestelmään saadaan reaaliaikaista videokuvaa. Nykyään teknologian kehittyessä, myös näitä kameroita on alettu uusimaan, jolloin niistä saadaan entistäkin tarkempaa videokuvaa toistettavaksi. Tällä on haittapuolensa, sillä parempilaatuisen kuvan purkamisesta katsottavaan muotoon syntyy suurempi kuormitus.
Aiemmin näitä videovoita on toistettu VLC multimediasoittimen avulla, joka tarjoaa mahdollisuuden laitteistokiihdytyksen käyttämiseen, eli videovuon purkamiseen grafiikkaprosessoria hyväksikäyttäen. Ongelmana on kuitenkin se, että VLC ei mahdollista grafiikkaprosessorin valintaa itse, vaan oletuksena se valitsee aina purkamiseen sen grafiikkaprosessorin, joka on liitettynä näyttöpäätteeseen. Työn tarkoituksena onkin löytää keino, kuinka tätä kuormaa voitaisiin jatkossa jakaa usealle grafiikkaprosessorille suoritettavaksi.
Ratkaisu tähän ongelmaan löytyi DirectX ohjelmointirajapinnasta, jonka avulla Windows käyttöjärjestelmän alaisuudessa pyörivää laitteistoa voidaan käsitellä. Ohjelmointirajapinta mahdollistaa kaikkien grafiikkaprosessoreiden tunnistamisen sekä enumeroinnin, jotka ovat kytkettynä alla olevaan laitteistoon. Näiden toimintojen avulla voidaan aina valita haluttu grafiikkaprosessori, jolla videovuo tullaan purkamaan.