-
Die Erfindung betrifft ein System zum interaktiven Aufführen einer Darstellung auf einer virtuellen Bühne. Die Online-Zusammenarbeit oder das Online-Zusammenspielen mehrerer Akteure auf einer gemeinsamen elektronischen Plattform ist aus offenkundiger Vorbenutzung bekannt. Beispielsweise offenbart
WO/67759 A1 ein System, in dem verschiedene räumlich getrennte Benutzer in einem eigenen virtuellen Raum als Schauspieler bzw. Akteure handeln und die Art ihrer Darstellung unabhängig bestimmen können.
-
Es ist Aufgabe der vorliegenden Erfindung, ein System der eingangs genannten Art zu schaffen, das eine virtuelle Aufführung einer Darstellung wie beispielsweise einem Theaterstück mit mehreren räumlich voneinander entfernten Teilnehmern ermöglicht.
-
Gelöst wird diese Aufgabe durch ein System zum interaktiven Aufführen einer Darstellung auf einer virtuellen Bühne, das aufweist:
- a. betreiberseitig ein Datenverarbeitungssystem (Core) mit:
i. einem Medienserver, der die Mediendaten einer Aufführung enthält,
ii. einem Autorisierungsserver, der Teilnehmern anhand eines Zeitplans Mediendaten umfassend Szenenbilder, Ablaufsteuerungs- und Regieanweisungen übermittelt,
iii. einen Synchronisationsserver, der Mediendaten von dem Medienserver und von Teilnehmern zeitlich synchronisiert zusammenführt,
iv. einen Aufzeichnungsserver, der synchronisierte Mediendaten von dem Medienserver und von Teilnehmern aufzeichnet und Teilnehmern als Videostream und/oder Videodatei zugänglich macht,
- b. teilnehmerseitig ein Datenverarbeitungssystem (Client) mit:
i. Einrichtungen zur Aufzeichnung und Wiedergabe von Video- und Audiodaten,
ii. einem Streaming-Client, der zur Wiedergabe von Mediendaten umfassend Szenenbilder und Regieanweisungen des Autorisierungsservers ausgebildet ist,
iii. einem Media-Client, der zur Übermittlung von Video- und Audiodaten an den Synchronisationsserver ausgebildet ist.
-
Zunächst seien einige im Rahmen der Erfindung verwendete Begriffe erläutert. Eine Darstellung im Sinne der Erfindung ist beispielsweise ein Theaterstück, ein Rollenspiel (beispielsweise auch im Rahmen von Lernprogrammen) oder dergleichen. Eine interaktive Aufführung bedeutet, dass die Teilnehmer der Aufführung darauf innerhalb eines vorgegebenen Rahmens Einfluss nehmen können, dieser kann umfassend sein oder sich beispielsweise darauf beschränken, dass ein Teilnehmer durch den Abschluss eines bestimmten Beitrags bzw. einer Darbietung den Fortgang der Aufführung triggert bzw. die Darbietung eines weiteren Teilnehmers initiiert oder initialisiert.
-
Teilnehmer im Sinne der Erfindung sind passive Konsumenten bzw. bevorzugt aktiv Beitragende zu der Aufführung.
-
Eine virtuelle Bühne ist eine Bühne, auf der die Beiträge verschiedener Teilnehmer zusammengeführt und in einen Rahmen wie beispielsweise ein Bühnenbild oder dergleichen eingepasst werden. Die Darstellung bzw. Aufführung auf der virtuellen Bühne ist für Teilnehmer oder für Dritte sichtbar bzw. wahrnehmbar.
-
Der Betreiber stellt das erfindungsgemäße System Teilnehmern zur Verfügung. Er enthält ein als Core bezeichnetes Datenverarbeitungssystem, das vier unten erläuterte Server beinhaltet. Der Begriff Server ist in diesem Kontext funktional zu verstehen und bezeichnet Rechnereinheiten oder Rechnerteile, die die beschriebenen Funktionen auszuführen in der Lage sind.
-
Der Medienserver enthält die Mediendaten einer Aufführung. Es handelt sich um diejenigen Daten, die den vorgegebenen Rahmen beispielsweise eines Theaterstücks abstecken und definieren. Es handelt sich dabei um die Multimedia-Daten einer Inszenierung sowie Daten für deren zeitliche Steuerung. Darunter fallen beispielsweise Bühnenbilder, zugehörige Audio, Bild- und/oder Videodateien, Regieanweisungen für Teilnehmer, Einsatzsignale, die einzelnen Teilnehmern anzeigen, wann deren Beitrag bzw. Darstellung zu beginnen hat und dergleichen. Der Medienserver enthält somit diejenigen Daten, die Struktur und bestimmte Teile einer Aufführung wie insbesondere beispielsweise die Bühnengestaltung vorgeben.
-
Der Autorisierungsserver übermittelt Teilnehmern anhand eines Zeitplans (ein vom Medienserver stammender Zeitplan, der die Struktur bzw. Gestaltung der Aufführung vorgibt) Mediendaten umfassend Szenenbilder, Ablaufsteuerungs- und Regieanweisungen. Die Szenenbilder zeigen den Teilnehmern beispielsweise den Hintergrund oder das Bühnenbild, vor dem sie ihre Darstellung präsentieren sollen. Ablaufsteuerungssignale geben beispielsweise Beginn und vorgesehenes Ende einer Darstellung vor. Regieanweisungen können Anweisungen zum vorgegebenen Inhalt einer vom Teilnehmer geforderten Darstellung enthalten.
-
Der Synchronisationsserver führt Mediendaten von dem Medienserver und von Teilnehmern zeitlich synchronisiert zusammen. Zeitlich synchronisiert bedeutet, dass die Darstellungen der Teilnehmer und damit die entsprechenden Mediendaten so in die vorgegebenen Mediendaten des Medienservers (beispielsweise das Bühnenbild) eingefügt werden, dass ein kohärenter und in sich geschlossener Ablauf der Aufführung entsteht. Der Synchronisationsserver kann gemäß einem vorteilhaften Aspekt der Erfindung insbesondere den zeitlichen Ablauf der Aufführung (ggf. innerhalb vorgegebener Grenzen) an die Darstellung der Teilnehmer anpassen und somit dafür sorgen, dass beispielsweise ein neues Bühnen- bzw. Szenenbild erst dann beginnt, wenn ein Teilnehmer seine vorherige Darstellung tatsächlich abgeschlossen hat.
-
Der Aufzeichnungsserver zeichnet die synchronisierten Mediendaten vom Medienserver und den Teilnehmern auf und macht sie Teilnehmern und/oder ggf. unbeteiligten Dritten als Videostream (in der Regel inkl. Audio) oder Videodatei zugänglich.
-
Die Erfindung erlaubt es, dass eine Mehrzahl von räumlich entfernten Teilnehmern gemeinsam an einer Aufführung mitwirken und sich dabei auf einer gemeinsamen virtuellen Bühne befinden. Eine gemeinsame und kohärente Aufführung wird insbesondere durch den Synchronisationsserver gewährleistet, der dafür sorgt, dass die einzelnen Beiträge zu der Aufführung (die Mediendaten der Teilnehmer) zeitlich synchronisiert in die gesamte Aufführung eingepasst werden. Der Synchronisationsserver erlaubt dabei in gewissem Umfang eine zeittolerante Gestaltung dahingehend, dass beispielsweise mit dem Fortgang der Aufführung gewartet wird, bis ein bestimmter Teilnehmer seine Darstellung abgeschlossen hat.
-
Teilnehmerseitig enthält das erfindungsgemäße System ein als Client bezeichnetes Datenverarbeitungssystem mit Einrichtungen zur Aufzeichnung und Wiedergabe von Video- und Audiodaten (Kamera, Mikrofon, Bildschirm und Lautsprecher) sowie einem Streaming-Client, der zur Wiedergabe von Mediendaten ausgebildet ist. Es handelt sich dabei sowohl um Szenenbilder als auch (fakultativ) beispielsweise um Regieanweisungen oder andere Instruktionen, die den Teilnehmer beispielsweise beim Einsatz oder der Durchführung oder Gestaltung seiner Darstellung Hilfestellung leisten können. Ein weiterer Aspekt des Client ist ein Media-Client, der zur Echtzeitübermittlung von Video- und Audiodaten an den Synchronisationsserver ausgebildet ist. Dieser Media-Client übermittelt die Darstellung des Teilnehmers an das betreiberseitige Datenverarbeitungssystem, dort den Synchronisationsserver, der die verschiedenen Darstellungen der verschiedenen Teilnehmer dann zu einer Aufführung zusammenfügt.
-
Gemäß einem besonders vorteilhaften Aspekt der Erfindung sind das betreiberseitige Datenverarbeitungssystem und das teilnehmerseitige Datenverarbeitungssystem mittels einer nicht echtzeitfähigen Datenverbindung, vorzugsweise über das Internet, miteinander verbunden.
-
Gemäß diesem besonders vorteilhaften Aspekt der Erfindung ist es Teilnehmern möglich, auf einer virtuellen Bühne gemeinsam eine Aufführung zu gestalten, ohne dass zu diesem Zweck zwischen den Teilnehmern und dem betreiberseitigen Datenverarbeitungssystem aufwendige echtzeitfähige Datenverbindungen bestehen müssen. Der Synchronisationsserver erlaubt durch seine beschriebene, in gewissem Umfang bestehende Zeittoleranz auch, dass beispielsweise durch Latenzen bei der Internetübertragung verursachte Verzögerungen ausgeglichen werden.
-
Gemäß einem weiteren besonders vorteilhaften Aspekt der Erfindung überträgt der Autorisierungsserver einem Client Mediendaten umfassend beispielsweise Szenenbilder und Regieanweisungen mit einem zeitlichen Vorlauf, diese Daten werden auf dem Client gespeichert („precached“) vorgehalten. Diese Übermittlung mit zeitlichem Vorlauf und die Zwischenspeicherung auf dem Client erlaubt es, vorhandene Latenzen beispielsweise in einer nicht echtzeitfähigen Internetumgebung weitgehend bzw. vollständig auszugleichen.
-
Gemäß einer weiteren Ausführungsform der Erfindung sind Core und Client über zwei virtuelle Kanäle miteinander verbunden, von denen der erste Kanal zur Übermittlung zeitkritischer Information und der zweite Kanal zur weniger zeitkritischen Datenübertragung ausgebildet ist. Der erste Kanal kann erfindungsgemäß bevorzugt zur Übermittlung von Befehlen oder Handlungsaufforderungen („request“) vom Autorisierungsserver an den Client ausgebildet sein. Der Begriff Befehl oder Handlungsaufforderung ist im Rahmen der Erfindung weit zu verstehen und umfasst sowohl Anweisungen an den Client als auch konkrete Handlungsaufforderungen an den agierenden Teilnehmer. Interne Befehle oder Anweisungen an den Client können beispielsweise eine zeitliche Steuerung der Darstellung von vorgespeicherten (precached) Inhalten auf dem Bildschirm des Client sein. Gemäß diesem Aspekt der Erfindung können über den ersten Kanal insbesondere wenig datenintensive, aber dafür zeitkritische Daten übertragen werden. Die geschilderte Handlungsaufforderung („request“) ist beispielsweise eine solche zeitkritische Information. Kommt es beispielsweise durch Verzögerungen in den Darstellungen der Teilnehmer oder Latenzen bei der Datenübertragung zu einer zeitlichen Verzögerung im Ablauf der Aufführung, muss einem nachfolgenden Teilnehmer sein Signal zum Einsatz (Handlungsaufforderung) in Echtzeit oder ohne nachteilig auffallende Verzögerung übermittelt werden können, damit seine Darstellung nahtlos an das Ende einer vorlaufenden Darstellung anschließen kann. Eine solche Handlungsaufforderung kann nicht precached werden, da sie erst dann abgeschickt werden kann, wenn die vorlaufenden Teile der Aufführung abgeschlossen sind. Die erfindungsgemäße Gestaltung mit zwei virtuellen Kanälen erlaubt es, solche zeitkritischen, wenig datenintensiven Informationen wie beispielsweise die genannten Handlungsaufforderungen im Wesentlichen in Echtzeit zu übermitteln.
-
Bevorzugt wird zwischen dem teilnehmerseitigen System (Client) und dem betreiberseitigen System (Core) permanent eine Verbindung vorgehalten. Beispielsweise kann hierfür das Comet-Webapplikationsmodell verwendet werden (http://en.wikipedia.org/wiki/Comet_(programming)). Comet ist ein Webapplikationsverfahren, bei dem ein Webserver Daten zu einem Web-Browser pusht, ohne dass der Browser diese Daten explizit angefordert hat. Im Detail wird hierfür die Eigenheit des HTTP-Protokolls genutzt, Verbindungsanfragen bis zu einer gewissen Zeit aufrecht zu erhalten, bis sie automatisch geschlossen werden. Üblicherweise wird bei einer Anfrage erst die Verbindung aufgebaut und danach direkt die Daten versendet. Somit muss die für den Verbindungsaufbau benötigte Zeit stets mit einkalkuliert werden. Erfindungsgemäß wird der Verbindungsaufbau zu einem Zeitpunkt ausgeführt (beziehungsweise erneuert nach Ablauf der Verbindungszeit), an dem keine Daten zu senden sind. Das Senden eines Signals für das Ende der Darstellung eines Teilnehmers schließt diese offene Verbindung augenblicklich. Trifft dieses Signal beim Core ein, sendet dieser nun auf einer ebenfalls permanent offenen Verbindung das Signal für den nächsten Handlungseinsatz an den nächsten Teilnehmer, der nun an der Reihe ist. Das führt dazu, dass dieser schon zum tatsächlichen Ende des Einsatzes des zuvor agierenden Teilnehmers darüber informiert wird, dass er nun als nächstes „dran“ ist. Um für ein weiteres Signal empfangsbereit zu sein, wird nun sofort eine andere Verbindung zwischen Client und Core geöffnet. Durch dieses ständige Offenhalten einer Verbindung können zeitkritische Signale (Trigger, requests), die das Ende einer Darstellung signalisieren oder Handlungsaufforderungen für Teilnehmer sind, quasi in Echtzeit übermittelt werden. Erfindungsgemäß wird diese Form der Datenübertragung bevorzugt eingesetzt, sofern der Einsatz nicht ausgeschlossen ist, wie zum Beispiel bei der Videoübertragung selbst. In der Praxis führt das zu deutlich kürzeren menschlichen Reaktionszeiten, auch wenn die eigentliche Videoübertragung nicht beschleunigt wird. Außenstehende Zuschauer empfinden die Aufführung durch die Beschleunigung ebenfalls natürlicher. Eine weitere Maßnahme zur Unterbindung wahrnehmbarer Zeitverzögerungen auf Seite der Teilnehmer wird durch die getrennte Behandlung der eingehenden Videodaten der anderen Teilnehmer und den eigenen bereitgestellten Videodaten ergriffen. Während die Daten anderer Teilnehmer über das Netzwerk übertragen werden, erfolgt die Einblendung des vom Teilnehmer selbst erzeugten Videobildes direkt im Client. Die nötigen Rendering- und Bildkompositionsprozesse müssen dafür zumindest für die Bildbereiche des Teilnehmers auf dem Client durchgeführt werden. Hierdurch erhöht sich natürlich die Leistungsanforderung an das teilnehmerseitige System. Da bei einer räumlich verteilten Gesprächssituation kein Referenzpunkt zum tatsächlichen Verhalten der anderen Teilnehmer besteht, ist der Aufführungsverlauf nun auch visuell natürlich, man sieht sich selbst nicht um die Zeit der oben genannten Übertragungslatenzen verzögert dargestellt.
-
Bei einer virtuellen Aufführung mit einer Mehrzahl von Teilnehmern wird es nicht immer möglich sein, verlässlich für die Besetzung aller Rollen in der Aufführung durch Teilnehmer zu sorgen. Um dennoch den Ablauf der Aufführung auch mit einer Unterzahl von Teilnehmern zu ermöglichen, können erfindungsgemäß Avatare vorgesehen sein, die nicht durch Teilnehmer besetzte Rollen der Aufführung ausfüllen. Es kann erfindungsgemäß vorgesehen sein, dass der Autorisierungsserver innerhalb eines vorgegebenen Aktivierungszeitraums zur Entgegennahme einer Mehrzahl von Client-Ready-Signalen ausgebildet ist. Innerhalb dieses Aktivierungszeitraums können sich Teilnehmer für die verschiedenen Rollen der Aufführung anmelden. Nach Ablauf des Aktivierungszeitraums werden noch offene Rollen der Darstellung durch Avatare besetzt, so dass die Aufführung dann mit einer vollständigen Rollenbesetzung beginnen kann. Der Synchronisationsserver ist bevorzugt zum zeittoleranten Assembling und zur zeittoleranten Synchronisation der Mediendaten von dem Medienserver und von Teilnehmern ausgebildet. Dies erlaubt das Zusammenführen der genannten Daten zu einer geschlossenen Aufführung mit nahtlos aneinander schließenden Handlungen bzw. Darstellungen.
-
Der Synchronisationsserver ist dabei bevorzugt beim Assembling zur Reaktion auf ein Teilnehmerverhalten ausgebildet. Dieses zu analysierende Teilnehmerverhalten kann beispielsweise teilnehmerinitiierte Trigger (beispielsweise Beginn und Ende einer Darstellung oder dergleichen) Analyse des vom Client übermittelten Audio- und/oder Videosignals und/oder Worterkennung umfassen. Beispielsweise kann dann auch auf bestimmte erkannte Stichworte hin ein Zusammenführen mit anderen Mediendaten beginnen bzw. andere Mediendaten einsetzen.
-
Die Mediendaten enthalten bevorzugt einen Ablaufplan, die handelnden Personen und szenische Bestandteile, die mit elektronischen Attributen versehen sind.
-
Der Aufzeichnungsserver kann zum Zugänglichmachen der synchronisierten Mediendaten in Echtzeit ausgebildet sein, so dass Dritte die virtuelle Aufführung live verfolgen können. Er kann alternativ oder zusätzlich die virtuelle Aufführung speichern und für Teilnehmer oder Dritte als gespeicherte Audio- und/oder Videodatei zugänglich machen.
-
Die Ablaufsteuerung kann erfindungsgemäß in einem kompakten, maschinenlesbaren Format wie beispielsweise im JSON(Java Script Object Notation)-Format oder XML-Format programmiert sein.
-
Ein Ausführungsbeispiel der Erfindung wird nachfolgend anhand der Zeichnungen beschrieben. Es handelt sich um Ablaufschemen eines erfindungsgemäßen Systems, das der Übersichtlichkeit halber lediglich zwei Teilnehmer aufweist. In der Zeichnung zeigen:
-
1a–c: Schematisch den Ablauf einer interaktiven Aufführung unter Verwendung eines erfindungsgemäßen Systems;
-
2a–d: Schematisch die Initialisierung einer Aufführung;
-
3a und b: Schematisch die Vorgänge bei der Darstellung einer Szene;
-
4: Schematisch das Rendering von Audio- und Videodaten.
-
1 zeigt schematisch eine Abfolge von Ereignissen bei einer interaktiven Aufführung, an der ein betreiberseitiges Datenverarbeitungssystem (Core) und zwei Teilnehmer mit den jeweiligen Clients beteiligt sind. In der Figur verläuft die Zeitachse des Verlaufs der Aufführung von links nach rechts.
-
Zunächst erfolgt bei 4 eine Initialisierung der Aufführung, in deren Verlauf sich die beiden Teilnehmer am Core anmelden. Sobald die Anmeldung der Teilnehmer erfolgt ist, kann der Core bei 5 einen Einsatzbefehl an den Teilnehmer 1 senden, so dass dieser seinen ersten Part in der Aufführung beginnen kann. Um die Übermittlung dieses zeitkritischen Einsatzbefehls in Echtzeit oder wenigstens ohne maßgebliche Verzögerung zu ermöglichen, erfolgt dies in der geschilderten Weise über eine zuvor geöffnete und offen gehaltene Verbindung zwischen dem Core und dem Client 1 beispielsweise mittels des Comet-Webapplikationsmodells. Der Teilnehmer 1 spielt seine vorgegebene Rolle, wie bei 6 angedeutet. Der Teilnehmer 2 befindet sich gleichzeitig im Wartezustand. Der Core empfängt die Daten der vom Teilnehmer 1 gespielten Rolle über einen in der Figur nicht dargestellten Datenübertragungskanal (dieser umfasst Videodaten und arbeitet daher nicht notwendigerweise in Echtzeit) und fügt sie mit weiteren Daten vom in der Zeichnung ebenfalls nicht dargestellten Medienserver zu einer vollständigen Szene zusammen, wie bei 8 angedeutet. Sobald der Teilnehmer 1 den entsprechenden Part seiner Rolle beendet hat, kann dies der Client 1 entweder selbst ständig erkennen (beispielsweise durch Erkennung des akustischen Endes der Rolle), oder der Teilnehmer 1 übermittelt aktiv ein Signal, dass sein Part beendet ist. Dieses Signal über das Ende des Einsatzes wird, wie bei 7 angedeutet, vom Client 1 an den Core übermittelt. Nach Beendigung der Szene des Teilnehmers 1 sendet der Core einen Einsatzbefehl (angedeutet bei 9) an den Teilnehmer 2, der daraufhin in gleicher Art und Weise seine Rolle spielt, die der Core mit weiteren Mediendaten zu einer Szene zusammenfügt. Nach Beendigung des Einsatzes des Teilnehmers 2 wird das entsprechende Signal bei 10 an den Core übermittelt.
-
Im weiteren zeitlichen Ablauf dieser Figur wird eine Variante gezeigt, bei der der Teilnehmer 1 den Handlungsablauf beeinflussen kann. Zu diesem Zweck sendet der Core an den Teilnehmer 1 bei 11 eine Frage bzw. Aufforderung zu einer Entscheidung. Der Teilnehmer 1 trifft eine entsprechende Entscheidung und übermittelt diese bei 12 zurück an den Core. Abhängig von dieser Entscheidung trifft der Core bei 13 eine Auswahl aus zwei zur Verfügung stehenden Optionen für den weiteren Verlauf der Aufführung. In der ersten Variante wird bei 14 eine Aufforderung zur Darstellung einer Szene an den Teilnehmer 1 gesendet, in der zweiten Variante bei 15 eine entsprechende Handlungsaufforderung an den Teilnehmer 2.
-
Bei Abschluss einer Aufführung sendet der Core bei 17 ein entsprechendes Abschlusssignal an die Teilnehmer 1 und 2, die Aufführung ist daraufhin beendet. Die Aufführung kann im Rahmen der Erfindung live Dritten zur Verfügung gestellt werden, sie kann alternativ oder zusätzlich gespeichert und von den Teilnehmern oder Dritten zeitverzögert betrachtet werden.
-
2 zeigt schematisch die Vorgänge bei der Initialisierung einer Aufführung. Schematisch dargestellt sind hier die Abläufe im Core-System mit dem Medienserver 18, dem Autorisierungsserver 19, dem Synchronisationsserver 20 und dem Aufzeichnungsserver 21.
-
Zu Beginn einer Aufführung lädt der Autorisierungsserver 19 einen Ablauf der vorgesehenen Aufführung, im Ausführungsbeispiel ist dies eine XML-Datei. In der Figur ist dies bei 22 angedeutet. Die Datei enthält den Ablaufplan und die handelnden Personen sowie szenische Bestandteile elektronisch attributiert und strukturiert.
-
Im ersten Schritt eröffnet der Autorisierungsserver 19 den Zugang für die Anmeldung von Teilnehmern. Wie bei 23 angedeutet werden Anmeldungen von Teilnehmern entgegengenommen und die Teilnehmer werden bestimmten Rollen in der Aufführung zugeordnet. Sobald entweder alle Rollen mit Teilnehmern besetzt sind oder aber ein festgelegter Anmeldezeitraum verstrichen ist, wird der Anmeldevorgang beendet und gegebenenfalls nicht besetzte Rollen werden durch Avatare besetzt (angedeutet bei 24).
-
Bei 25 sendet der Autorisierungsserver 19 eine so genannte Assetbeschreibung an den Synchronisationsserver 20, diese Assetbeschreibung enthält Informationen über die Mediendaten, die für die vorgesehenen Zeiten der Aufführung benötigt werden. Der Synchronisationsserver 20 fordert anhand dieser Assetbeschreibung vom Medienserver 18 entsprechende Daten wie beispielsweise Szenenbilder an (angedeutet bei 26), empfängt diese aus dem Datenspeicher des Medienservers 18, wie bei 27 angedeutet und organisiert die Datenvorhaltung (siehe Bezugsziffer 28). Zur Datenvorhaltung gehört auch die Übermittlung beispielsweise von Mediendaten umfassend Szenenbilder, Ablaufsteuerungs- und Regieanweisungen an die Clients der Teilnehmer, die gegebenenfalls auf dem entsprechenden Client precached vorgehalten werden können, und entsprechend dem Ablauf der Aufführung zum Einsatz kommen können, ohne dass größere Datenmengen mit diesen Mediendaten in Echtzeit übermittelt werden müssen. Die Details der Organisation dieser Datenvorhaltung sind in der Figur nicht dargestellt.
-
Zu der Organisation der Datenvorhaltung gehört auch eine Umwandlung in für den schnellen Zugriff optimierte Dateiformate, beispielsweise können Bilder decodiert und im Speicher abgelegt werden.
-
Anschließend sendet der Synchronisationsserver 20 ein Signal an den Aufzeichnungsserver 21, der, wie bei 29 angedeutet, Livestreams mit den Teilnehmern aufbaut und anschließend deren Publikationsadressen an den Synchronisationsserver 20 sendet. Der Synchronisationsserver 20 baut bei 30 die Verbindung zu den Livestreams der Teilnehmer auf und organisiert einen für die Synchronisation optimierten Zugriff auf die Datenströme. Sobald die Datenvorhaltung organisiert und Verbindungen zu den Livestreams aufgebaut sind, signalisiert der Synchronisationsserver 20 dem Autorisierungsserver 19 bei 31, dass alle Daten bereitgestellt sind und mit der Synchronisation (Rendering) der ersten Szene begonnen werden kann. Der Autorisierungsserver 19 startet bei 32 die Aufführung und erstellt bei 33 die erste Regieanweisung für den ersten Teilnehmer. Der Aufzeichnungsserver stellt den Teilnehmern bei 34 auf dem jeweiligen Teilnehmer zugeschnittene Livestreams zur Verfügung, die sie für die Darstellung ihrer jeweiligen Szene benötigen.
-
3 zeigt schematisch die Vorgänge bei der Darstellung einer Szene. Dargestellt werden das Zusammenwirken von Autorisierungsserver 19 und Synchronisationsserver 20.
-
Der Autorisierungsserver 19 sendet bei 35 einen Einsatzbefehl, der bewirkt, dass bei 36 anhand der XML-Datei der Aufführung die zu dieser Szene gehörenden Elemente sowie der Szenenaufbau ermittelt und bereitgestellt werden. Die so erstellte Szenenbeschreibung wird bei 37 an den Synchronisationsserver 20 übermittelt. Der Synchronisationsserver 20 baut aus der übermittelten Beschreibung der Szene einen so genannten Szenengraph auf (Bezugsziffer 38) bzw. verändert einen bereits vorhandenen Szenengraph entsprechend. Aus diesem Szenengraph wird bei 39 mittels rekursivem Durchlauf über alle enthaltenen audiovisuellen Elemente ein Szenenbild erzeugt. Dieser Vorgang wird kontinuierlich bis zu 60-mal pro Sekunde wiederholt, um aus diesen Szenenbildern eine fortlaufende Szene einschließlich der zugehörigen Audiodatei sichtbar und hörbar zu machen.
-
Der Autorisierungsserver 19 wartet die im Ablauf der Aufführung definierte Länge einer Szene ab. In diesem Zeitraum können der oder die Teilnehmer die entsprechende Szene spielen. Der Synchronisationsserver 20 erzeugt daraus kontinuierlich die audiovisuellen Dateien zur Darstellung der Szene. Innerhalb des vorgegebenen Zeitraums wartet der Autorisierungsserver auf ein Signal bzw. Trigger vom jeweils agierenden Teilnehmer, dass er seine Szene bzw. seine Rolle innerhalb der Szene beendet hat. Wird dieses Signal bei 40 empfangen, übermittelt der Autorisierungsserver 19 dem Synchronisationsserver 20 ein entsprechendes Signal, das die Szene beendet. Dieses Signal kann entweder eine neue Szene oder das Ende der Aufführung ankündigen. Sobald der Synchronisationsserver 20 dieses Signal erhält, wird der rekursive Vorgang 39 des fortlaufenden Erstellens von Szenenbildern gestoppt. Lässt sich ein Teilnehmer mit seiner Rolle bzw. Darstellung zu viel Zeit und beendet diese nicht in einem vorgegebenen Zeitraum zuzüglich gegebenenfalls eines Toleranzzeitraums, wird bei 41 zwangsläufig ein Signal über das Ende der Szene ausgelöst und dem Synchronisationsserver 20 übermittelt. Der Fortgang der Aufführung innerhalb des vorgegebenen Zeitrahmens und einer gewissen Toleranz wird somit sichergestellt. Sobald eine Szene abgeschlossen ist, wartet der Synchronisationsserver 20 bei 42 auf die Übermittlung der Beschreibung der nächsten Szene.
-
4 zeigt schematisch den vorzugsweise im Synchronisationsserver 20 ablaufenden Vorgang des so genannten Renderns, bei dem die aus der Szenenbeschreibung erzeugten Szenengraphen in ein abspielbares audiovisuelles Datenformat überführt werden. Der Vorgang startet bei 43 mit der Aufforderung zur Erstellung eines Szenenbilds. In diesem Beispiel enthält der Szenengraph verschiedene Elemente, die im Ausführungsbeispiel Audiodaten, Bilddaten und Videodaten sind. Diese Elemente müssen zu einem Szenenbild zusammengefügt werden. Bei der Erstellung dieses Szenenbilds wird der Szenengraph iterativ solange durchlaufen, bis alle zugehörigen Elemente abgearbeitet worden sind. Bei 44 wird zunächst geprüft, ob der Szenengraph weitere Elemente aufweist. Ist dies der Fall, wird bei 45 je nach Typ des Elements verzweigt. Handelt es sich um ein Audioelement, wird es bei 46 weiter oder neu abgespielt. Es kann sich hierbei um einen komplexen Vorgang handeln, da verschiedene Audiodaten mittels eines so genannten Sequenzers gemischt bzw. vereint werden können. Gegebenenfalls können bei 47 Filter auf die Audiodaten angewendet werden, die beispielsweise einen Halleffekt oder einen sonstigen Effekt, der zu der Szene passt, hervorrufen können.
-
Handelt es sich bei dem Elementtyp um ein statisches Bild (Image), werden die zugehörigen Bilddaten decodiert und in Form einer Bitmap bereitgestellt. Dies ist bei 48 angedeutet. Gegebenenfalls können darauf (Bezugsziffer 49) Filter wie beispielsweise Farbveränderungen angewendet werden. Andere denkbare Varianten eines Filters sind beispielsweise Freistellungen von Bildinhalten eines Teilnehmers, um diese freigestellten Bilder in das Gesamtbild einer Szene einpassen zu können. Solche Filter zur Freistellung können Mustererkennung wie beispielsweise Gesichtserkennung beinhalten. Die erzeugten Daten der Bitmap werden in einer Matrix gespeichert (Bezugsziffer 50). Es handelt sich um eine dreidimensionale Matrix, in der die unterschiedlichen Bitmaps der übereinander zu legenden Bilder eines Szenenbildes gespeichert werden.
-
Handelt es sich bei dem Elementtyp um Videodaten, wird bei 51 der nächste Videoframe ermittelt und anschließend wie ein statisches Bild behandelt. Wenn alle Elemente eines Szenengraphs bearbeitet wurden, wird bei 44 verzweigt zu dem bei 52 dargestellten Vorgang, bei dem die dreidimensionale Matrix mit den Bilddaten in ein flaches Einzelbild gerendert wird. Dieses fertige Szenenbild wird zur Anzeige gebracht.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
-
Zitierte Nicht-Patentliteratur
-
- http://en.wikipedia.org/wiki/Comet_(programming) [0018]