Podcast „ITMO Research_“: Wie man die Synchronisierung von AR-Inhalten mit einer Show im Maßstab eines ganzen Stadions angeht

Dies ist der erste Teil des Texttranskripts des zweiten Interviews für unsere Sendung (Apple Podcasts, Yandex.Musik). Problemgast - Andrej Karsakow (kapc3d), Ph.D., leitender Forscher am National Center for Cognitive Research, außerordentlicher Professor an der Fakultät für digitale Transformationen.

Seit 2012 arbeitet Andrey in der Forschungsgruppe Visualisierung und Computergrafik. Engagiert in großen angewandten Projekten auf staatlicher und internationaler Ebene. In diesem Teil des Gesprächs sprechen wir über seine Erfahrungen in der AR-Unterstützung öffentlicher Veranstaltungen.

Podcast „ITMO Research_“: Wie man die Synchronisierung von AR-Inhalten mit einer Show im Maßstab eines ganzen Stadions angeht
Foto Dies istEngineering RAEng (Unsplash.com)

Projektkontext und Ziele

Timecode (von Audioversionen) – 00:41

Dmitrykabanow: Ich möchte mit dem European Games-Projekt beginnen. Es ist mehrkomponentig, mehrere Teams waren an der Vorbereitung beteiligt und die Bereitstellung von Augmented Reality für tausende Zuschauer direkt während einer Veranstaltung im Stadion ist eine ziemlich ernste Aufgabe. War es bei Ihrem Engagement „Software First“?

kapc3d: Ja, wir haben den Programmierteil übernommen und während der Show Unterstützung geleistet. Es war notwendig, alles in Echtzeit zu verfolgen, zu überwachen und zu starten und auch mit der Fernsehgruppe zusammenzuarbeiten. Wenn wir dieses Projekt als Ganzes betrachten, können wir über die Eröffnungs- und Abschlusszeremonien sprechen Europäische Spiele in Minsk sowie über die Eröffnungsfeier der Meisterschaft WorldSkills in Kasan. Es war das gleiche Arbeitsschema, aber unterschiedliche Ereignisse. Zwischen ihnen lag eine Lücke von zwei Monaten. Wir haben das Projekt gemeinsam mit den Jungs aus der Firma vorbereitet Sechenov.com.

Wir trafen sie zufällig Wissenschaftsfest, die im Herbst 2018 stattfand. Unsere Masterstudierenden stellten ihr Studienprojekt zum Thema VR vor. Die Jungs kamen auf uns zu und fragten, was wir in unserem Labor machten. Es sah ungefähr so ​​aus:

— Sie arbeiten mit VR, aber können Sie auch mit Augmented Reality arbeiten?

- Na ja, irgendwie ja.

- Es gibt eine solche Aufgabe mit solchen einleitenden Anmerkungen. Kannst du es machen?

Sie haben ein wenig an ihren Rüben gekratzt, es scheint nichts Unrealistisches zu geben:

- Versuchen wir zunächst, alles zu studieren und dann eine Lösung zu finden.

Dmitry: Bieten sie nur Medienunterstützung?

Andrew: Sie bilden einen vollen Stapel. Aus Sicht des Managements und der Organisation sind sie vollständig in die Regie, Inszenierung, Auswahl der Kulissen, Logistik und andere technische Unterstützung eingebunden. Aber sie wollten etwas Besonderes für die Europaspiele machen. Diese Spezialeffekte werden, ähnlich wie Mixed Reality, schon seit längerem für das Fernsehen produziert, sind aber hinsichtlich der technischen Umsetzung nicht gerade die budgetfreundlichsten. Deshalb suchten die Jungs nach alternativen Möglichkeiten.

Dmitry: Lassen Sie uns das Problem genauer besprechen. Woraus bestand es?

Andrew: Es gibt eine Veranstaltung. Es dauert anderthalb Stunden. Wir müssen sicherstellen, dass das Publikum, das es live sieht, und diejenigen, die im Stadion sitzen, die Augmented-Reality-Effekte zeitlich und örtlich auf dem Gelände vollständig mit der Live-Show synchronisieren können.

Es gab eine Reihe technischer Einschränkungen. Eine Zeitsynchronisierung über das Internet war nicht möglich, da eine Überlastung des Netzes bei vollen Ständen und der voraussichtlichen Anwesenheit von Staatsoberhäuptern bei der Veranstaltung befürchtet wurde, was zu einer Überlastung der Mobilfunknetze führen könnte.

Andrey Karsakov, Foto von Material von der ITMO-Universität
Podcast „ITMO Research_“: Wie man die Synchronisierung von AR-Inhalten mit einer Show im Maßstab eines ganzen Stadions angehtWir hatten bei diesem Projekt zwei Schlüsselkomponenten: die persönliche Erfahrung, die Menschen über mobile Geräte machen können, und das, was in die Fernsehübertragungen und Informationsbildschirme im Stadion selbst einfließt.

Wenn eine Person plötzlich Augmented-Reality-Episoden über ein mobiles Gerät ansieht und gleichzeitig auf den Bildschirm gelangt, sollte sie das gleiche Bild sehen.

Wir brauchten zwei nahezu unterschiedliche Systeme, die zeitlich vollständig synchronisiert waren. Die Besonderheit solcher Shows besteht jedoch darin, dass es sich um komplexe Veranstaltungen handelt, an denen eine große Anzahl technischer Dienste beteiligt ist und alle Vorgänge nach Zeitcodes durchgeführt werden. Der Timecode ist ein bestimmter Zeitpunkt, an dem etwas beginnt: Licht, Ton, Leute, die die Bühne verlassen, sich öffnende Bühnenblätter und so weiter. Wir mussten uns an dieses System anpassen, damit alles zum richtigen Zeitpunkt beginnen konnte. Ein weiteres Merkmal war, dass die Szenen und Episoden mit Augmented Reality drehbuchbezogen waren.

Dmitry: Aber haben Sie sich aufgrund des hohen Risikos höherer Gewalt entschieden, auf die Verwendung von Zeitcodes zu verzichten, oder haben Sie zunächst einige Leistungsmerkmale berechnet und festgestellt, dass die Belastung des gesamten Systems recht hoch sein würde?

Andrew: Wenn Sie für ein solches Publikum einen Synchronisierungsdienst erstellen, ist dies nicht sehr schwierig. Auf jeden Fall werden Anfragen nicht über Nacht scheitern. Ja, die Belastung ist hoch, aber es handelt sich nicht um einen Notfall. Die Frage ist, ob es sich lohnt, dafür Ressourcen und Zeit aufzuwenden, wenn das Netzwerk plötzlich ausfällt. Wir waren nicht sicher, ob das nicht passieren würde. Letztendlich hat alles funktioniert, mit Unterbrechungen aufgrund der Auslastung, aber es hat funktioniert, und wir haben nach einem anderen Schema nach dem Timecode synchronisiert. Dies war eine der globalen Herausforderungen.

Schwierigkeiten bei der Umsetzung aus UX-Sicht

Timecode (von Audioversionen) – 10:42

Andrew: Wir mussten auch berücksichtigen, dass es sich bei dem Stadion nicht um einen klassischen Konzertort handelt, und die Systeme flächendeckend für mobile Geräte synchronisieren. Vor einiger Zeit wurde ich viral Augmented-Reality-Geschichte Bei Eminem-Konzerten gab es dann einen Fall mit Loboda.

Foto Robert Tschüss (Unsplash.com)
Podcast „ITMO Research_“: Wie man die Synchronisierung von AR-Inhalten mit einer Show im Maßstab eines ganzen Stadions angehtAber das ist immer ein Erlebnis vor einem – die ganze Menge steht vor der Bühne, die Synchronisation ist ganz einfach. Im Falle eines Stadions müssen Sie verstehen, auf welcher Seite des Kreises Sie sich befinden, die relative Position, damit das Stadion in den Raum passt, der in der virtuellen Umgebung vorhanden ist. Es war eine bittere Herausforderung. Sie versuchten, das Problem auf verschiedene Weise zu lösen, und das Ergebnis war ein Fall, der dem von Loboda nahe kam, jedoch nicht in jeder Hinsicht.

Wir lassen den Benutzer entscheiden, wo er sich befindet. Wir machten Markierungen für das Stadion, wo die Leute einen Sektor, eine Reihe, einen Platz wählten. Und das alles mit vier „Klicks“. Als nächstes mussten wir die Richtung zur Bühne bestimmen. Dazu haben wir eine Silhouette gezeigt, wie die Szene aus einer benutzerdefinierten Perspektive ungefähr aussehen sollte. Er kombinierte es, tippte und das war’s – die Bühne setzte sich. Wir haben versucht, diesen Prozess so weit wie möglich zu vereinfachen. Dennoch sind 90 % der Zuschauer, die die Show sehen wollten, nicht diejenigen, die Erfahrung in der Kommunikation mit Augmented Reality haben.

Dmitry: Gab es für dieses Projekt einen gesonderten Antrag?

Andrew: Ja, eine Anwendung für iOS und Android, die wir in den Store gepusht haben. Dafür gab es eine eigene Werbekampagne. Es wurde zuvor ausführlich beschrieben, wie man herunterlädt und so weiter.

Dmitry: Sie müssen verstehen, dass es keinen Ort gibt, an dem eine Person den Umgang mit einer solchen Anwendung physisch testen und erlernen kann. Daher wurde die Aufgabe, das Publikum zu „erziehen“, komplizierter.

Andrew: Ja Ja. Bei UX sind wir auf viele Probleme gestoßen, weil der Benutzer die Erfahrung mit drei Klicks machen möchte: Herunterladen, Installieren, Starten – es hat funktioniert. Viele Menschen sind zu faul, komplexen Tutorials zu folgen, Tutorials zu lesen usw. Und wir haben im Tutorial auch nicht versucht, dem Benutzer alles so gut wie möglich zu erklären: Hier öffnet sich ein Fenster, hier der Zugriff auf die Kamera, sonst funktioniert es nicht und so weiter. Egal wie viele Erklärungen Sie schreiben, egal wie ausführlich Sie kauen, egal welche GIFs Sie einfügen, die Leute lesen es nicht.

In Minsk haben wir zu diesem Teil viel Feedback gesammelt und für die Anwendung in Kasan bereits einiges verändert. Wir haben dort nicht nur die Tonträger und Zeitcodes eingefügt, die einer bestimmten Episode der Augmented Reality entsprechen, sondern wir haben alle Tonträger und Zeitcodes in ihrer Gesamtheit übernommen. Die Anwendung hörte also, was zum Zeitpunkt des Starts geschah, und gab – wenn sich eine Person im falschen Moment anmeldete – die Information aus: „Genosse, es tut mir leid, Ihre AR-Folge wird in 15 Minuten verfügbar sein.“

Ein wenig über die Architektur und den Ansatz zur Synchronisierung

Timecode (von Audioversionen) – 16:37

Dmitry: Haben Sie sich für die Tonsynchronisierung entschieden?

Andrew: Ja, es ist zufällig passiert. Wir suchten Optionen und stießen auf ein Unternehmen cifrasoft aus Ischewsk. Sie stellen ein nicht besonders ausgefeiltes, aber eisenhartes SDK her, mit dem Sie den Sound mit dem Timing synchronisieren können. Das System wurde für die Zusammenarbeit mit dem Fernsehen konzipiert, wenn Sie etwas in einer Anwendung basierend auf dem Ton einer bedingten Werbung anzeigen oder ein interaktives Erlebnis basierend auf dem Filmtitel bieten können.

Dmitry: Aber es ist eine Sache – man sitzt in seinem Wohnzimmer und eine andere – ein Stadion mit Tausenden von Menschen. Wie lief es für Sie mit der Qualität der Tonaufnahme und der anschließenden Erkennung?

Andrew: Es gab viele Ängste und Zweifel, aber in den meisten Fällen wurde alles gut erkannt. Sie bauen mit ihren raffinierten Algorithmen Signaturen auf der Audiospur auf – das Ergebnis wiegt weniger als die Original-Audiodatei. Wenn das Mikrofon auf den Umgebungsklang hört, versucht es, diese Merkmale zu finden und den Titel anhand dieser Merkmale zu erkennen. Unter guten Bedingungen beträgt die Synchronisationsgenauigkeit 0,1–0,2 Sekunden. Das war mehr als genug. Bei schlechten Bedingungen betrug die Abweichung bis zu 0,5 Sekunden.

Viel hängt vom Gerät ab. Wir haben mit einer großen Geräteflotte gearbeitet. Für iPhones gibt es nur 10 Modelle. Sie haben hinsichtlich der Qualität und anderen Funktionen gut funktioniert. Aber mit Androiden ist der Zoo wie meine Mutter. Nicht überall stellte sich heraus, dass die Tonsynchronisation funktionierte. Es gab Fälle, in denen es aufgrund einiger Besonderheiten unmöglich war, unterschiedliche Titel auf verschiedenen Geräten zu hören. Irgendwo verschwinden die tiefen Frequenzen, irgendwo beginnen die hohen Frequenzen zu pfeifen. Hatte das Gerät aber einen Normalizer am Mikrofon, funktionierte die Synchronisation immer.

Dmitry: Erzählen Sie uns bitte etwas über die Architektur – was wurde im Projekt verwendet?

Andrew: Wir haben die Anwendung in Unity erstellt – die einfachste Option im Hinblick auf Multiplattform und die Arbeit mit Grafiken. Gebrauchte AR Foundation. Wir sagten sofort, dass wir das System nicht komplizieren wollten, also beschränkten wir uns auf eine Flotte von Geräten, die ARKit und ARCore unterstützen, um Zeit zu haben, alles zu testen. Wir haben ein Plugin für das DigitalSoft SDK erstellt ist auf unserem GitHub. Wir haben ein Content-Management-System erstellt, damit die Skripte entsprechend der Zeitachse ausgeführt werden können.

Wir haben ein wenig am Partikelsystem herumgebastelt, da der Benutzer jederzeit in eine bestimmte Episode eintreten kann und wir möchten, dass er von dem Moment an, in dem er synchronisiert hat, alles sieht. Wir haben an einem System herumgebastelt, das es ermöglicht, Szenarien zeitlich klar abzuspielen, sodass das XNUMXD-Erlebnis wie in einem Film hin und her gescrollt werden kann. Während es mit klassischen Animationen sofort funktioniert, mussten wir an Partikelsystemen herumbasteln. Irgendwann beginnen sie zu spawnen, und wenn Sie sich irgendwo vor dem Spawn-Punkt befinden, sind sie noch nicht geboren, obwohl es so aussieht, als ob sie es sein sollten. Aber dieses Problem ist eigentlich ganz einfach zu lösen.

Für den mobilen Teil ist die Architektur recht einfach. Bei Fernsehübertragungen ist alles komplizierter. Wir hatten Hardware-Einschränkungen. Der Kunde stellte eine Bedingung: „Hier haben wir so und so einen Hardwarepark, da muss grob gesagt alles daran arbeiten.“ Wir haben uns sofort darauf konzentriert, dass wir mit relativ preisgünstigen Videoaufnahmekarten arbeiten würden. Aber das Budget bedeutet nicht, dass sie schlecht sind.

Es gab Einschränkungen bei der Hardware, bei den Videoaufnahmekarten und bei den Arbeitsbedingungen – wie wir das Bild empfangen sollten. Aufnahmekarten – Blackmagic Design, nach dem internen Keying-Schema gearbeitet – in diesem Fall kommt ein Videobild von der Kamera zu Ihnen. Die Karte verfügt über einen eigenen Verarbeitungschip, in den auch ein Rahmen eingefügt ist, der über den eingehenden gelegt werden muss. Die Karte vermischt sie – wir berühren dort nichts anderes und haben keinen Einfluss auf das Bild der Videokamera. Das Ergebnis spuckt sie über den Videoausgang an die Leitwarte aus. Dies ist eine gute Methode zum Überlagern von Titeln und ähnlichen Dingen, aber für Mixed-Reality-Effekte ist sie nicht sehr geeignet, da es viele Einschränkungen bei der Render-Pipeline gibt.

Dmitry: In Bezug auf Echtzeit-Computing, Objektbindung oder etwas anderes?

Andrew: In Bezug auf Qualität und das Erreichen der gewünschten Effekte. Weil wir nicht wissen, worüber wir das Bild legen. Wir senden einfach Farb- und Transparenzinformationen zusätzlich zum Originalstream. Einige Effekte wie Brechungen, korrekte Transparenz und zusätzliche Schatten können mit diesem Schema nicht erzielt werden. Dazu müssen Sie alles zusammen rendern. Es gibt beispielsweise keine Möglichkeit, den Effekt einer Luftverzerrung durch ein Feuer oder heißen Asphalt zu erzeugen. Gleiches gilt für die Übertragung des Transparenzeffekts unter Berücksichtigung des Brechungsindex. Wir haben die Inhalte zunächst auf der Grundlage dieser Einschränkungen erstellt und versucht, entsprechende Effekte einzusetzen.

Sieh diesen Beitrag auf Instagram

Abschluss der II. Europaspiele in Minsk.

Ein Beitrag geteilt von Alena Lanskaya (@alyonalanskaya) am 30. Juni 2019 um 3:19 Uhr PDT

Dmitry: Hatten Sie bereits im ersten Projekt für die European Games eigene Inhalte?

Andrew: Nein, die Hauptphase der Inhaltsentwicklung wurde von den Jungs von Sechenov.com durchgeführt. Ihre Grafiker zeichneten den Grundinhalt mit Animationen und anderen Dingen. Und wir haben alles in die Engine integriert, zusätzliche Effekte hinzugefügt und so angepasst, dass alles richtig funktionierte.

Wenn wir über die Pipeline sprechen, dann haben wir für die Fernsehübertragung alles auf Unreal Engine 4 zusammengestellt. Zufälligerweise begannen sie gerade in diesem Moment, ihre Tools für Mixed Reality zu verbessern. Es stellte sich heraus, dass nicht alles so einfach ist. Selbst jetzt sind alle Werkzeuge roh, wir mussten viel von Hand nachbearbeiten. In Minsk haben wir an einem benutzerdefinierten Build der Engine gearbeitet, das heißt, wir haben einige Dinge innerhalb der Engine umgeschrieben, sodass wir beispielsweise Schatten auf reale Objekte zeichnen konnten. In der damals aktuellen Version der Engine gab es keine Funktionen, die dies mit Standardwerkzeugen ermöglichen würden. Aus diesem Grund haben unsere Jungs eine eigene maßgeschneiderte Baugruppe angefertigt, um alles bereitzustellen, was lebenswichtig ist.

Weitere Nuancen und Anpassung an WorldSkills in Kasan

Timecode (von Audioversionen) – 31:37

Dmitry: Aber das alles in relativ kurzer Zeit?

Andrew: Die Fristen waren knapp Kasaner Projekt, laut Minsk - normal. Ungefähr sechs Monate für die Entwicklung, allerdings unter Berücksichtigung der Tatsache, dass sechs Personen beteiligt waren. Gleichzeitig fertigten wir den mobilen Teil und entwickelten Werkzeuge für die Fernsehproduktion. Es gab nicht nur eine Bildausgabe. Zum Beispiel ein Trackingsystem mit Optik, dafür musste man eigene Werkzeuge erstellen.

Dmitry: Gab es Anpassungen von einem Projekt zum anderen? In anderthalb Monaten war es notwendig, die Entwicklungen zu nutzen und das Projekt mit neuen Inhalten auf eine neue Website zu übertragen?

Andrew: Ja, es dauerte anderthalb Monate. Wir hatten nach dem Minsk-Projekt einen zweiwöchigen Urlaub für das gesamte Team geplant. Aber gleich nach der Schließung kommen die Jungs von Sechenov.com und sagen: „Na, dann machen wir mal Kasan.“ Wir haben es noch geschafft, uns ein wenig auszuruhen, sind aber recht schnell auf dieses Projekt umgestiegen. Wir haben einige technische Arbeiten abgeschlossen. Die meiste Zeit wurde für den Inhalt aufgewendet, denn für WorldSkills haben wir alles komplett gemacht, wir haben es nur mit dem Produktionsteam abgestimmt. Es gab lediglich ein Drehbuch ihrerseits. Aber es war einfacher – es waren keine zusätzlichen Iterationen erforderlich. Wenn Sie Inhalte selbst erstellen, sehen Sie sofort, wie diese in der Engine funktionieren und können sie schnell bearbeiten und koordinieren.


Bezüglich des mobilen Teils haben wir alle Feinheiten berücksichtigt, die wir in Minsk hatten. Wir haben ein neues Anwendungsdesign erstellt, die Architektur ein wenig umgestaltet, Tutorials hinzugefügt, aber versucht, es so kurz und klar wie möglich zu gestalten. Wir haben die Anzahl der Benutzerschritte vom Starten der Anwendung bis zum Anzeigen des Inhalts reduziert. Eineinhalb Monate reichten aus, um ein angemessenes Projekt abzuschließen. In anderthalb Wochen erreichten wir die Baustelle. Die Arbeit dort war einfacher, da die gesamte Kontrolle über das Projekt in den Händen der Organisatoren lag und keine Abstimmung mit anderen Gremien erforderlich war. In Kasan war die Arbeit einfacher und einfacher und es war ganz normal, dass weniger Zeit zur Verfügung stand.

Dmitry: Aber haben Sie sich dafür entschieden, den Ansatz der Synchronisation so zu belassen, wie er war, nämlich auf dem Klang zu basieren?

Andrew: Ja, wir haben es beim Ton belassen. Es hat gut funktioniert. Wie sie sagen: Wenn es funktioniert, fassen Sie es nicht an. Wir haben lediglich die Nuancen der Qualität der Audiospur berücksichtigt. Als sie das Intro machten, gab es eine Trainingsepisode, die die Leute ausprobieren konnten, bevor die Show begann. Es war überraschend, dass das System eine gute Synchronisierung mit diesem Titel ermöglicht, wenn zum Zeitpunkt der Wiedergabe des Titels im Stadion stürmischer Applaus „live“ ertönt Spur wird nicht mehr erfasst. Solche Nuancen wurden berücksichtigt und alles war klanglich recht gut synchronisiert.

PS: Im zweiten Teil der Ausgabe sprechen wir über wissenschaftliche Datenvisualisierung, Prozessmodellierung in anderen Projekten, Spieleentwicklung und das Masterstudium.Technologie zur Entwicklung von Computerspielen" Eine Fortsetzung veröffentlichen wir im nächsten Artikel. Hier können Sie zuhören und uns unterstützen:

PPS In der Zwischenzeit zur englischen Version von Habr: Werfen Sie einen genaueren Blick auf die ITMO University.

Source: habr.com

Kommentar hinzufügen