„ITMO Research_” podcast: hogyan közelítsük meg az AR-tartalom szinkronizálását egy egész stadion méretű műsorával

Ez a műsorunknak készült második interjú szöveges átiratának első része (Apple Podcastok, Yandex.Zene). Probléma vendég - Andrej Karszakov (kapc3d), Ph.D., a Nemzeti Kognitív Kutatási Központ tudományos főmunkatársa, a Digitális Transzformációk Karának docense.

2012 óta Andrey a Vizualizáció és számítógépes grafika kutatócsoportban dolgozik. Nagyszabású alkalmazott projektekben vesz részt állami és nemzetközi szinten. A beszélgetés ezen részében a nyilvános események AR-támogatásával kapcsolatos tapasztalatairól beszélünk.

„ITMO Research_” podcast: hogyan közelítsük meg az AR-tartalom szinkronizálását egy egész stadion méretű műsorával
fénykép Ez a tervezés RAEng (Unsplash.com)

A projekt kontextusa és céljai

Időkód (by audio verziók) – 00:41

Dmitrijkabanov: Az Európai Játékok projekttel szeretném kezdeni. Többkomponensű, a felkészülésben több csapat is részt vett, a kiterjesztett valóság biztosítása több ezer fős közönség számára közvetlenül a stadionban zajló rendezvény ideje alatt igen komoly feladat. Ami az Ön részvételét illeti, a szoftver volt az első?

kapc3d: Igen, mi csináltuk a programozási részt és támogatást nyújtottunk a műsor alatt. Mindent valós időben kellett nyomon követni, figyelni és elindítani, valamint együtt kellett működni a televíziós csoporttal. Ha ezt a projektet egészében tekintjük, akkor beszélhetünk a nyitó- és záróünnepségről Európai Játékok Minszkben, valamint a bajnokság megnyitójáról WorldSkills Kazanyban. Ugyanaz a munkaterv volt, de más események. Két hónap szünet volt köztük. A projektet a cég srácaival közösen készítettük el Sechenov.com.

Véletlenül találkoztunk velük Science Fest, amelyre 2018 őszén került sor. Mesterhallgatóink bemutatták kurzusprojektjüket a VR témájában. A srácok odajöttek hozzánk, és megkérdezték, mit csinálunk a laboratóriumunkban. Valahogy így nézett ki:

— Dolgozik VR-el, de dolgozhat-e a kiterjesztett valósággal?

- Nos, valahogy igen.

- Van ilyen feladat, ilyen bevezető jegyzetekkel. Meg tudod csinálni?

Kicsit megkarcolták a fehérrépát, úgy tűnik, nincs semmi irreális:

- Először próbáljunk meg mindent áttanulmányozni, aztán találjunk megoldást.

Dmitrij: Csak médiatámogatást nyújtanak?

Andrew: Teljes stacket készítenek. Vezetési és szervezési szempontból teljes mértékben részt vesznek a rendezésben, színrevitelben, díszletválasztásban, logisztikában és egyéb technikai támogatásban. De valami különlegeset szerettek volna tenni az Európa Játékokon. Ezeket a speciális effektusokat, akárcsak a kevert valóságot, már elég régóta televízióra készítik, de technikai kivitelezésben nem a legköltségvetés-barátabbak. Ezért a srácok alternatív lehetőségeket kerestek.

Dmitrij: Beszéljük meg részletesebben a problémát. miből állt?

Andrew: Van egy esemény. Másfél óráig tart. Gondoskodnunk kell arról, hogy az élőben néző közönség és a stadionban ülők az élő show-val teljes szinkronban láthassák a kiterjesztett valóság effektusait a helyszínen, időben és helyen egyaránt.

Számos technikai korlát volt. Interneten keresztül nem lehetett időszinkronizálást végezni, mert félő volt a teli lelátókkal járó hálózat túlterhelése és államfők részvétele a rendezvényen, ami zavarhatja a mobilhálózatokat.

Andrey Karsakov, fotó innen az ITMO Egyetem anyaga
„ITMO Research_” podcast: hogyan közelítsük meg az AR-tartalom szinkronizálását egy egész stadion méretű műsorávalEnnek a projektnek két kulcsfontosságú eleme volt: a személyes élmény, amelyet az emberek a mobil eszközökön keresztül szerezhetnek meg, és az, hogy mi kerül a televíziós adásba és a stadion információs képernyőjébe.

Ha egy személy hirtelen a kibővített valóság epizódjait nézi egy mobileszközön, és egyidejűleg a képernyőre kerül, ugyanazt a képet kell látnia.

Két gyakorlatilag különböző rendszerre volt szükségünk, hogy időben teljesen szinkronizálódjunk. De az ilyen műsorok sajátossága, hogy összetett eseményekről van szó, ahol nagyszámú műszaki szolgálat vesz részt, és minden műveletet időkódok szerint hajtanak végre. Az időkód egy adott pillanat az időben, amikor valami elkezdődik: fény, hang, emberek távoznak, színpadi szirmok nyílnak, és így tovább. Ehhez a rendszerhez kellett alkalmazkodnunk, hogy minden a megfelelő időben kezdődjön. Egy másik jellemző volt, hogy a kibővített valóságot tartalmazó jelenetek és epizódok forgatókönyvhöz kapcsolódnak.

Dmitrij: De úgy döntött, hogy elhagyja az időkódok használatát a vis maior magas kockázata miatt, vagy kezdetben kiszámított néhány teljesítményjellemzőt, és rájött, hogy az egész rendszer terhelése meglehetősen nagy lesz?

Andrew: Ha létrehoz egy szinkronizálási szolgáltatást egy ilyen közönség számára, akkor ez nem túl nehéz. Mindenesetre a kérések nem fognak egyik napról a másikra meghiúsulni. Igen, nagy a terhelés, de ez nem vészhelyzet. A kérdés az, hogy megéri-e erre erőforrást és időt költeni, ha hirtelen kialszik a hálózat. Nem voltunk benne biztosak, hogy ez nem fog megtörténni. Végül minden működött, a terhelés miatti megszakításokkal, de működött, és más séma szerint szinkronizáltunk az időkód szerint. Ez volt az egyik globális kihívás.

A megvalósítás nehézségei UX-szempontból

Időkód (by audio verziók) – 10:42

Andrew: Figyelembe kellett venni azt is, hogy a stadion nem egy klasszikus koncerthelyszín, és szinkronizálni kellett a rendszereket a mobil eszközökön keresztül. Szóval egy ideje vírusos lettem kiterjesztett valóság történet az Eminem koncerteken, akkor volt egy eset Lobodával.

fénykép Robert Viszlát (Unsplash.com)
„ITMO Research_” podcast: hogyan közelítsük meg az AR-tartalom szinkronizálását egy egész stadion méretű műsorávalDe ez mindig egy élmény előtted - az egész tömeg a színpad előtt áll, a szinkronizálás nagyon egyszerű. Stadion esetében meg kell érteni, hogy a kör melyik oldalán, a relatív pozícióban van, hogy a stadion illeszkedjen a virtuális környezetben létező térbe. Kemény kihívás volt. Különböző módszerekkel próbálták megoldani, és az eredmény a Loboda által megvalósítotthoz közel álló eset lett, de nem minden tekintetben.

Hagyjuk, hogy a felhasználó döntse el, hol van. A stadionra jelöléseket készítettünk, ahol szektort, sort, helyet választottak az emberek. Mindezt négy „kattintás” alatt. Ezután meg kellett határoznunk a színpad irányát. Ehhez mutattunk egy sziluettet, hogy nagyjából hogyan is kell kinéznie a jelenetnek egyéni szemszögből. Kombinált, koppintott és ennyi – leült a színpad. Igyekeztünk a lehető legnagyobb mértékben leegyszerűsíteni ezt a folyamatot. Ennek ellenére a nézők 90%-a nem olyan ember, aki meg akarta nézni a műsort, akinek van tapasztalata a kiterjesztett valósággal való kommunikációban.

Dmitrij: Volt külön pályázat erre a projektre?

Andrew: Igen, egy alkalmazás iOS-re és Androidra, amit betoltunk a boltba. Ennek külön promóciós kampánya volt. Korábban részletesen leírták, hogyan kell letölteni és így tovább.

Dmitrij: Meg kell értenie, hogy nincs helye egy személynek, hogy fizikailag tesztelje és megtanulja, hogyan kell használni egy ilyen alkalmazást. Ezért bonyolultabbá vált a közönség „nevelésének” feladata.

Andrew: Igen igen. Az UX-nél sok zökkenőt kaptunk, mert a felhasználó három kattintással akarja megszerezni az élményt: letöltve, telepítve, elindítva – működött. Sok ember túl lusta ahhoz, hogy kövesse az összetett oktatóanyagokat, olvasson oktatóanyagokat és így tovább. És nem próbáltunk mindent a lehető legrészletesebben elmagyarázni a felhasználónak az oktatóanyagban: itt megnyílik egy ablak, itt hozzáférhet a kamerához, különben nem működik, és így tovább. Akárhány magyarázatot írsz, akármilyen részletesen rágsz, hiába szúrsz be gifeket, az emberek nem olvassák el.

Minszkben rengeteg visszajelzést gyűjtöttünk össze erről a részről, és már sokat változtattunk a kazanyi alkalmazáson. Nem csak azokat a hangfelvételeket és időkódokat helyeztük be, amelyek a kiterjesztett valóság egy adott epizódjának felelnek meg, hanem az összes hangfelvételt és időkódot a maguk teljességében. Az alkalmazás tehát hallotta, hogy mi történik az indításkor, és – ha valaki rossz pillanatban jelentkezett be – ezt az információt adta ki: „Elvtárs, sajnálom, az Ön AR-epizódja 15 perc múlva lesz.”

Egy kicsit az architektúráról és a szinkronizálás megközelítéséről

Időkód (by audio verziók) – 16:37

Dmitrij: Úgy döntött, hogy hanggal szinkronizál?

Andrew: Igen, véletlenül történt. Átnéztük a lehetőségeket, és találkoztunk egy céggel Cifrasoft Izsevszkből. Nem különösebben kifinomult, de vaskos SDK-t készítenek, amivel szinkronizálható a hang az időzítéssel. A rendszert úgy pozícionálták, hogy TV-vel működjön együtt, amikor egy feltételes reklám hangja alapján lehet megjeleníteni valamit egy alkalmazásban, vagy a filmsáv alapján interaktív élményt nyújtani.

Dmitrij: De ez egy dolog - a nappalidban ülsz, és egy másik dolog - egy stadion több ezer emberrel. Hogyan alakultak a dolgok a hangfelvétel minőségével és annak későbbi felismerésével?

Andrew: Sok volt a félelem és a kétség, de a legtöbb esetben mindent jól felismertek. Ravasz algoritmusaikkal aláírásokat építenek a hangsávra – az eredmény kevesebb, mint az eredeti hangfájl. Amikor a mikrofon hallgatja a környező hangot, megpróbálja megtalálni ezeket a funkciókat, és ezek alapján felismeri a műsorszámot. Jó körülmények között a szinkronizálási pontosság 0,1-0,2 másodperc. Ez több mint elég volt. Rossz körülmények között az eltérés 0,5 másodpercig terjedhetett.

Sok múlik a készüléken. Hatalmas eszközparkkal dolgoztunk. Az iPhone-okhoz csak 10 modell létezik. Minőségben és egyéb tulajdonságokban is jól működtek. De az androidokkal az állatkert olyan, mint az anyám. Nem mindenhol derült ki, hogy működött a hangszinkronizálás. Voltak olyan esetek, amikor bizonyos sajátosságok miatt nem lehetett hallani különböző számokat különböző eszközökön. Valahol az alacsony frekvenciák eltűnnek, valahol a magas frekvenciák sípolni kezdenek. De ha az eszköznek volt normalizálója a mikrofonon, a szinkronizálás mindig működött.

Dmitrij: Kérem, meséljen az architektúráról – mit használtak a projektben?

Andrew: Az alkalmazást a Unity-ben készítettük el - ez a legegyszerűbb lehetőség a többplatformos és a grafikus munka szempontjából. Használt AR alapítvány. Azonnal közöltük, hogy nem akarjuk bonyolítani a rendszert, ezért az ARKit-et és az ARCore-t támogató eszközparkra szorítkoztunk, hogy legyen időnk mindent tesztelni. Készítettünk egy plugint a DigitalSoft SDK-hoz, azt található a GitHubon. Létrehoztunk egy tartalomkezelő rendszert, hogy a szkriptek az idővonalnak megfelelően fussanak.

Kicsit bütyköltünk a részecskerendszeren, mert a felhasználó bármikor beléphet egy adott epizódba, és szükségünk van rá, hogy a szinkronizálás pillanatától kezdve mindent lásson. Olyan rendszert bütyköltünk, amely lehetővé teszi a forgatókönyvek időben történő tisztán kijátszását, így a XNUMXD-s élményt ide-oda lehet görgetni, akár egy filmben. Míg a klasszikus animációkkal a dobozból működik, részecskerendszerekkel kellett bütykölnünk. Egy bizonyos ponton elkezdenek ívni, és ha valahol az ívási pont előtt találod magad, akkor még nem születtek meg, bár úgy tűnik, hogy meg kell születniük. De ez a probléma valójában meglehetősen könnyen megoldható.

A mobil rész felépítése meglehetősen egyszerű. A televíziós műsorszórásnál minden bonyolultabb. Hardveres korlátozások voltak. A megrendelő feltételt szabott: „Itt van ilyen-olyan hardverparkunk, durván szólva mindennek működnie kell rajta.” Azonnal arra koncentráltunk, hogy viszonylag olcsó videorögzítő kártyákkal fogunk dolgozni. De a költségvetés nem jelenti azt, hogy rosszak.

Korlátozások voltak a hardverre, a videórögzítő kártyákra és a munkakörülményekre vonatkozóan – hogyan fogadjuk a képet. Rögzítő kártyák - Blackmagic Design, belső kulcsozási séma szerint működik - ilyenkor egy videó képkocka érkezik a kamerából. A kártyának saját feldolgozó chipje van, ahová egy keret is bekerül, amit a bejövő tetejére kell helyezni. A kártya összekeveri őket - ott nem érintünk semmi mást, és nem befolyásoljuk a videokamera képét. Az eredményt a videokimeneten keresztül kiköpte a vezérlőterembe. Ez egy jó módszer a címek és más hasonló dolgok átfedésére, de kevert valóság effektusokra nem nagyon alkalmas, mert sok korlátozás van a renderelési folyamatra vonatkozóan.

Dmitrij: Valós idejű számítástechnika, objektum-kötés vagy valami más szempontjából?

Andrew: A minőség és a kívánt hatások elérése szempontjából. Mert nem tudjuk, mire rakjuk a képet. Egyszerűen szín- és átlátszósági információkat küldünk az eredeti adatfolyam tetejére. Egyes hatások, például fénytörés, megfelelő átlátszóság és további árnyékok nem érhetők el ezzel a sémával. Ehhez mindent együtt kell renderelni. Például nincs mód arra, hogy tűz vagy forró aszfalt miatt légtorzító hatást keltsen. Ugyanez vonatkozik az átlátszósági hatás átvitelére a törésmutató figyelembevételével. Kezdetben ezekre a korlátozásokra alapozva készítettünk tartalmat, és igyekeztünk megfelelő effektusokat használni.

Tekintse meg ezt a bejegyzést az Instagramban

A II. Európa Játékok zárása Minszkben.

Egy bejegyzés megosztva Alena Lanskaya (@alyonalanskaya) 30. június 2019-án, 3:19-kor PDT

Dmitrij: Volt már saját tartalmad az Európai Játékok első projektjében?

Andrew: Nem, a tartalomfejlesztés fő szakaszát a Sechenov.com srácai végezték. Grafikusaik animációkkal és egyéb dolgokkal rajzolták meg az alaptartalmat. És mindent integráltunk a motorba, további effektusokat adtunk hozzá, adaptáltuk úgy, hogy minden megfelelően működjön.

Ha már a csővezetékről beszélünk, akkor a televíziós közvetítéshez mindent az Unreal Engine 4-en szereltünk össze. Véletlenül éppen abban a pillanatban kezdték el fejleszteni a kevert valóság eszközeit. Kiderült, hogy nem minden olyan egyszerű. Még most is minden szerszám nyers, sokat kellett kézzel végeznünk. Minszkben a motor egyedi felépítésén dolgoztunk, vagyis átírtunk néhány dolgot a motor belsejében, hogy például árnyékokat tudjunk rajzolni valós tárgyak tetejére. A motor akkor aktuális verziója nem rendelkezett olyan funkciókkal, amelyek ezt szabványos eszközökkel lehetővé tennék. Emiatt srácaink saját egyedi összeszerelést készítettek, hogy mindent biztosítsanak, ami elengedhetetlenül szükséges.

Egyéb árnyalatok és a kazanyi WorldSkills-hez való alkalmazkodás

Időkód (by audio verziók) – 31:37

Dmitrij: De mindezt meglehetősen rövid időn belül?

Andrew: A határidők szorosak voltak Kazan projekt, Minszk szerint - normális. Körülbelül hat hónap a fejlesztésre, de figyelembe véve azt a tényt, hogy hat ember vett részt. Ezzel párhuzamosan a mobil rész készítése és a televíziós gyártáshoz szükséges eszközök fejlesztése zajlott. Nem csak képkimenet volt. Például egy optikával ellátott nyomkövető rendszer, ehhez saját eszközöket kellett készíteni.

Dmitrij: Volt-e adaptáció egyik projektről a másikra? Másfél hónap alatt ki kellett használni a fejlesztéseket, és új tartalommal át kellett vinni a projektet egy új oldalra?

Andrew: Igen, másfél hónapig volt. A minszki projekt után kéthetes nyaralást terveztünk az egész csapatnak. De azonnal zárás után a Sechenov.com srácai odajönnek, és azt mondják: "Nos, akkor csináljuk meg Kazanyt." Még sikerült egy kicsit pihennünk, de elég gyorsan átálltunk erre a projektre. Elvégeztünk néhány technikai munkát. A legtöbb időt a tartalomra fordítottuk, mert a WorldSkills esetében ezt teljes egészében mi csináltuk, csak egyeztettük a produkciós csapattal. Csak forgatókönyv volt a részükről. De könnyebb volt – nem volt szükség extra iterációkra. Ha saját maga hoz létre tartalmat, azonnal látja, hogyan működik a motorban, és gyorsan szerkesztheti és koordinálhatja.


A mobil rész tekintetében minden finomságot figyelembe vettünk, amivel Minszkben rendelkeztünk. Új alkalmazástervet készítettünk, kicsit átterveztük az architektúrát, oktatóanyagokat adtunk hozzá, de igyekeztünk a lehető legrövidebbre és áttekinthetőbbé tenni. Csökkentettük a felhasználói lépések számát az alkalmazás elindításától a tartalom megtekintéséig. Másfél hónap elég volt egy megfelelő projekt megvalósításához. Másfél hét alatt megérkeztünk a helyszínre. Könnyebb volt ott dolgozni, mert a projekt minden irányítása a szervezők kezében volt, nem kellett más bizottságokkal egyeztetni. Kazanyban egyszerűbb és könnyebb volt dolgozni, és teljesen normális volt, hogy kevesebb az idő.

Dmitrij: De úgy döntöttél, hogy a hangon alapuló szinkronizálási megközelítést hagyod?

Andrew: Igen, hangra hagytuk. Jól működött. Ahogy mondják, ha működik, ne nyúlj hozzá. Egyszerűen figyelembe vettük a hangsáv minőségének árnyalatait. Amikor megcsinálták a bevezetőt, volt egy képzési epizód, amelyet az emberek kipróbálhattak a műsor kezdete előtt. Meglepő volt, hogy amikor a stadionban a szám lejátszásának pillanatában viharos taps hallatszik, „élő”, a rendszer lehetővé teszi, hogy jól szinkronizáljunk ezzel a számmal, de ha ebben a pillanatban rögzített taps keveredik a számmal, akkor a pálya már nincs elkapva. Az ilyen nüanszokat figyelembe vették, és hangzás szempontjából minden elég jól szinkronizált.

PS A szám második részében a tudományos adatok vizualizálásáról, a folyamatmodellezésről más projektekben, a játékfejlesztésről és a mesterképzésről lesz szó.Számítógépes játékfejlesztési technológia" A következő cikkben a folytatást közöljük. Itt meghallgathatsz és támogathatsz minket:

PPS Eközben a Habr angol verziójában: az ITMO Egyetem közelebbi pillantása.

Forrás: will.com

Hozzászólás